keevo-components 2.0.296 → 2.0.297

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 (181) hide show
  1. package/esm2022/lib/api/base-components/base-component-button.mjs +4 -4
  2. package/esm2022/lib/api/base-components/base-component-chart.mjs +4 -4
  3. package/esm2022/lib/api/base-components/base-component-crud-form.mjs +4 -4
  4. package/esm2022/lib/api/base-components/base-component-crud-list.mjs +4 -4
  5. package/esm2022/lib/api/base-components/base-component-crud.mjs +4 -4
  6. package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +4 -4
  7. package/esm2022/lib/api/base-components/base-component-dropdown.mjs +4 -4
  8. package/esm2022/lib/api/base-components/base-component-input.mjs +4 -4
  9. package/esm2022/lib/api/base-components/base-component-multi-select.mjs +4 -4
  10. package/esm2022/lib/api/base-components/base-component-table.mjs +4 -4
  11. package/esm2022/lib/api/base-components/base-component.mjs +4 -4
  12. package/esm2022/lib/api/directives/directives.module.mjs +5 -5
  13. package/esm2022/lib/api/directives/drag/drag.directive.mjs +4 -4
  14. package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +4 -4
  15. package/esm2022/lib/api/directives/template/template.directive.mjs +4 -4
  16. package/esm2022/lib/api/modules/primeng.module.mjs +5 -5
  17. package/esm2022/lib/api/pipes/capitalize.pipe.mjs +4 -4
  18. package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +4 -4
  19. package/esm2022/lib/api/pipes/mask.pipe.mjs +4 -4
  20. package/esm2022/lib/api/pipes/pipes.module.mjs +5 -5
  21. package/esm2022/lib/api/pipes/telefone.pipe.mjs +4 -4
  22. package/esm2022/lib/api/services/base.api.service.mjs +4 -4
  23. package/esm2022/lib/api/services/breadcrumbs.service.mjs +4 -4
  24. package/esm2022/lib/api/services/chat.service.mjs +4 -4
  25. package/esm2022/lib/api/services/component.service.mjs +4 -4
  26. package/esm2022/lib/api/services/docs.service.mjs +4 -4
  27. package/esm2022/lib/api/services/form.service.mjs +4 -4
  28. package/esm2022/lib/api/services/image.cutter.service.mjs +7 -7
  29. package/esm2022/lib/api/services/imagens.service.mjs +4 -4
  30. package/esm2022/lib/api/services/notification.service.mjs +4 -4
  31. package/esm2022/lib/api/services/object.service.mjs +4 -4
  32. package/esm2022/lib/api/services/orgchart.service.mjs +4 -4
  33. package/esm2022/lib/api/services/pdf.service.mjs +4 -4
  34. package/esm2022/lib/components/keevo-components.module.mjs +5 -5
  35. package/esm2022/lib/components/kv-accordion/kv-accordion.component.mjs +4 -4
  36. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +5 -5
  37. package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +5 -5
  38. package/esm2022/lib/components/kv-button/kv-button.component.mjs +5 -5
  39. package/esm2022/lib/components/kv-button/kv-button.module.mjs +5 -5
  40. package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +4 -4
  41. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +5 -5
  42. package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +4 -4
  43. package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +4 -4
  44. package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +5 -5
  45. package/esm2022/lib/components/kv-card-color/kv-card-color.component.mjs +4 -4
  46. package/esm2022/lib/components/kv-card-message/kv-card-message.component.mjs +4 -4
  47. package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +4 -4
  48. package/esm2022/lib/components/kv-card-selection/kv-card-selection.module.mjs +5 -5
  49. package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +4 -4
  50. package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +5 -5
  51. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +5 -5
  52. package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +5 -5
  53. package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.mjs +4 -4
  54. package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.mjs +5 -5
  55. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +4 -4
  56. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +5 -5
  57. package/esm2022/lib/components/kv-detailed-list/kv-detailed-list.component.mjs +4 -4
  58. package/esm2022/lib/components/kv-error/kv-error.component.mjs +4 -4
  59. package/esm2022/lib/components/kv-error/kv-error.module.mjs +5 -5
  60. package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +4 -4
  61. package/esm2022/lib/components/kv-file-upload/kv-file-upload.module.mjs +5 -5
  62. package/esm2022/lib/components/kv-file-upload-new/kv-file-upload-new.component.mjs +4 -4
  63. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +4 -4
  64. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +5 -5
  65. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +4 -4
  66. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +5 -5
  67. package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +4 -4
  68. package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +5 -5
  69. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.component.mjs +4 -4
  70. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.module.mjs +5 -5
  71. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.pipe.mjs +4 -4
  72. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +4 -4
  73. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +5 -5
  74. package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +4 -4
  75. package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +5 -5
  76. package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +4 -4
  77. package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +5 -5
  78. package/esm2022/lib/components/kv-icon/kv-icon.component.mjs +5 -5
  79. package/esm2022/lib/components/kv-icon/kv-icon.module.mjs +5 -5
  80. package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +4 -4
  81. package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +5 -5
  82. package/esm2022/lib/components/kv-image-upload-new/kv-image-upload-new.component.mjs +4 -4
  83. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +5 -5
  84. package/esm2022/lib/components/kv-inputs/kv-chips/kv-chips.component.mjs +4 -4
  85. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +5 -5
  86. package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.mjs +4 -4
  87. package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.mjs +4 -4
  88. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +33 -9
  89. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.mjs +31 -5
  90. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.mjs +5 -5
  91. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.mjs +4 -4
  92. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.mjs +22 -7
  93. package/esm2022/lib/components/kv-inputs/kv-editor/types/kv-editor.types.mjs +1 -1
  94. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +5 -5
  95. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +5 -5
  96. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +5 -5
  97. package/esm2022/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.mjs +5 -5
  98. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +5 -5
  99. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +5 -5
  100. package/esm2022/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.mjs +5 -5
  101. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +5 -5
  102. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +5 -5
  103. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +5 -5
  104. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +5 -5
  105. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +5 -5
  106. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +5 -5
  107. package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +4 -4
  108. package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +4 -4
  109. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +5 -5
  110. package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +5 -5
  111. package/esm2022/lib/components/kv-instruction-page/components/cards-instruction/kv-cards-instruction.component.mjs +4 -4
  112. package/esm2022/lib/components/kv-instruction-page/kv-instruction-page.component.mjs +4 -4
  113. package/esm2022/lib/components/kv-kanban/kv-kanban.component.mjs +4 -4
  114. package/esm2022/lib/components/kv-label/kv-label.component.mjs +4 -4
  115. package/esm2022/lib/components/kv-label/kv-label.module.mjs +5 -5
  116. package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +4 -4
  117. package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +5 -5
  118. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +5 -5
  119. package/esm2022/lib/components/kv-layout/top-icons/top-icons.component.mjs +4 -4
  120. package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +4 -4
  121. package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +5 -5
  122. package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +4 -4
  123. package/esm2022/lib/components/kv-login/kv-login.component.mjs +4 -4
  124. package/esm2022/lib/components/kv-login/kv-login.module.mjs +5 -5
  125. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +4 -4
  126. package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +5 -5
  127. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +4 -4
  128. package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +5 -5
  129. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +4 -4
  130. package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +5 -5
  131. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +5 -5
  132. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +5 -5
  133. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +5 -5
  134. package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +5 -5
  135. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +4 -4
  136. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +5 -5
  137. package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.mjs +4 -4
  138. package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.mjs +5 -5
  139. package/esm2022/lib/components/kv-progress-bar-new/kv-progress-bar-new.component.mjs +4 -4
  140. package/esm2022/lib/components/kv-report/kv-report.component.mjs +4 -4
  141. package/esm2022/lib/components/kv-report/kv-report.module.mjs +5 -5
  142. package/esm2022/lib/components/kv-select-cards/kv-select-cards.component.mjs +4 -4
  143. package/esm2022/lib/components/kv-stacked-bar-chart/kv-stacked-bar-chart.component.mjs +4 -4
  144. package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +5 -5
  145. package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +5 -5
  146. package/esm2022/lib/components/kv-steps/kv-steps.component.mjs +4 -4
  147. package/esm2022/lib/components/kv-table/kv-table.component.mjs +5 -5
  148. package/esm2022/lib/components/kv-table/kv-table.module.mjs +5 -5
  149. package/esm2022/lib/components/kv-table-draggable/kv-table-draggable.component.mjs +4 -4
  150. package/esm2022/lib/components/kv-table-draggable/kv-table-draggable.module.mjs +5 -5
  151. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +4 -4
  152. package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +5 -5
  153. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +4 -4
  154. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +5 -5
  155. package/esm2022/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.mjs +4 -4
  156. package/esm2022/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.mjs +4 -4
  157. package/esm2022/lib/components/kv-table-viewer/kv-table-viewer.component.mjs +4 -4
  158. package/esm2022/lib/components/kv-tag/kv-tag.component.mjs +4 -4
  159. package/esm2022/lib/components/kv-tag/kv-tag.module.mjs +5 -5
  160. package/esm2022/lib/components/kv-tags/kv-tags.component.mjs +4 -4
  161. package/esm2022/lib/components/kv-tags/kv-tags.module.mjs +5 -5
  162. package/esm2022/lib/components/kv-timeline/kv-timeline.component.mjs +4 -4
  163. package/esm2022/lib/components/kv-tree-environment/components/kv-tree-environment/kv-tree-environment.component.mjs +4 -4
  164. package/esm2022/lib/components/kv-tree-environment/components/no-arvore/no-arvore.component.mjs +4 -4
  165. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +4 -4
  166. package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +5 -5
  167. package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +4 -4
  168. package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +5 -5
  169. package/esm2022/lib/components/kv-widget-card/kv-widget-card.component.mjs +5 -5
  170. package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +4 -4
  171. package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +5 -5
  172. package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +4 -4
  173. package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +4 -4
  174. package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +4 -4
  175. package/fesm2022/keevo-components.mjs +671 -606
  176. package/fesm2022/keevo-components.mjs.map +1 -1
  177. package/lib/components/kv-inputs/kv-editor/kv-editor.component.d.ts +1 -0
  178. package/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.d.ts +4 -0
  179. package/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.d.ts +4 -0
  180. package/lib/components/kv-inputs/kv-editor/types/kv-editor.types.d.ts +4 -2
  181. package/package.json +1 -1
@@ -22,7 +22,8 @@ export class KvEditorMentionService {
22
22
  this.mentionStartIndex = lastHashIndex;
23
23
  this.mentionEndIndex = range.index;
24
24
  const searchTerm = text.substring(lastHashIndex + 1).toLowerCase();
25
- const filtered = variaveis.filter(v => v.descricao.toLowerCase().includes(searchTerm));
25
+ // Filtro recursivo para manter hierarquia
26
+ const filtered = this.filterRecursive(variaveis, searchTerm);
26
27
  this.filteredVariables.set(filtered);
27
28
  if (filtered.length > 0) {
28
29
  const bounds = this.calculateMentionBounds(quill, lastHashIndex);
@@ -36,6 +37,31 @@ export class KvEditorMentionService {
36
37
  this.closeMention();
37
38
  return { shouldShowPanel: false, filteredVariables: [] };
38
39
  }
40
+ /**
41
+ * Filtra recursivamente as variáveis mantendo a estrutura de grupos
42
+ */
43
+ filterRecursive(items, searchTerm) {
44
+ if (!searchTerm)
45
+ return items;
46
+ return items.reduce((acc, item) => {
47
+ const matchSelf = item.descricao.toLowerCase().includes(searchTerm);
48
+ if (matchSelf) {
49
+ // Se o próprio item coincide (seja grupo ou variável), inclui ele com todos os filhos
50
+ acc.push(item);
51
+ }
52
+ else if (item.filhos && item.filhos.length > 0) {
53
+ // Se não coincide mas tem filhos, tenta filtrar os filhos
54
+ const filteredChildren = this.filterRecursive(item.filhos, searchTerm);
55
+ if (filteredChildren.length > 0) {
56
+ acc.push({
57
+ ...item,
58
+ filhos: filteredChildren
59
+ });
60
+ }
61
+ }
62
+ return acc;
63
+ }, []);
64
+ }
39
65
  /**
40
66
  * Calcula a posição onde o painel de menções deve aparecer
41
67
  */
@@ -116,13 +142,13 @@ export class KvEditorMentionService {
116
142
  .join('(<[^>]*>)*');
117
143
  return new RegExp(pattern, 'gi');
118
144
  }
119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorMentionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
120
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorMentionService, providedIn: 'root' }); }
145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvEditorMentionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
146
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvEditorMentionService, providedIn: 'root' }); }
121
147
  }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorMentionService, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvEditorMentionService, decorators: [{
123
149
  type: Injectable,
124
150
  args: [{
125
151
  providedIn: 'root'
126
152
  }]
127
153
  }] });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLW1lbnRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1lZGl0b3Ivc2VydmljZXMva3YtZWRpdG9yLW1lbnRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7O0FBTTFCLE1BQU0sT0FBTyxzQkFBc0I7SUFIbkM7UUFLVSxzQkFBaUIsR0FBRyxNQUFNLENBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELHNCQUFpQixHQUFrQixJQUFJLENBQUM7UUFDeEMsb0JBQWUsR0FBa0IsSUFBSSxDQUFDO0tBOEkvQztJQTVJQzs7T0FFRztJQUNILGFBQWEsQ0FBQyxLQUFZLEVBQUUsU0FBNkI7UUFLdkQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUMzRCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFNUMsSUFBSSxhQUFhLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLENBQUMs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QyxNQUFNLE9BQU8sR0FBRyxJQUFJO2FBQ2pCLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDVCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQzthQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEIsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQzs4R0FqSlUsc0JBQXNCO2tIQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7MkZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEVsZW1lbnRSZWYsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgUXVpbGwgZnJvbSAncXVpbGwnO1xyXG5pbXBvcnQgeyBLdkVkaXRvclZhcmlhdmVsIH0gZnJvbSAnLi4vdHlwZXMva3YtZWRpdG9yLnR5cGVzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2RWRpdG9yTWVudGlvblNlcnZpY2Uge1xyXG4gIFxyXG4gIHByaXZhdGUgZmlsdGVyZWRWYXJpYWJsZXMgPSBzaWduYWw8S3ZFZGl0b3JWYXJpYXZlbFtdPihbXSk7XHJcbiAgcHJpdmF0ZSBtZW50aW9uU3RhcnRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBtZW50aW9uRW5kSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBQcm9jZXNzYSBvIHNpc3RlbWEgZGUgbWVuw6fDtWVzIGR1cmFudGUgYSBkaWdpdGHDp8Ojb1xyXG4gICAqL1xyXG4gIGhhbmRsZU1lbnRpb24ocXVpbGw6IFF1aWxsLCB2YXJpYXZlaXM6IEt2RWRpdG9yVmFyaWF2ZWxbXSk6IHtcclxuICAgIHNob3VsZFNob3dQYW5lbDogYm9vbGVhbjtcclxuICAgIGZpbHRlcmVkVmFyaWFibGVzOiBLdkVkaXRvclZhcmlhdmVsW107XHJcbiAgICBtZW50aW9uQm91bmRzPzogeyB0b3A6IG51bWJlcjsgbGVmdDogbnVtYmVyIH07XHJcbiAgfSB7XHJcbiAgICBjb25zdCByYW5nZSA9IHF1aWxsLmdldFNlbGVjdGlvbigpO1xyXG4gICAgaWYgKCFyYW5nZSkge1xyXG4gICAgICB0aGlzLmNsb3NlTWVudGlvbigpO1xyXG4gICAgICByZXR1cm4geyBzaG91bGRTaG93UGFuZWw6IGZhbHNlLCBmaWx0ZXJlZFZhcmlhYmxlczogW10gfTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB0ZXh0ID0gcXVpbGwuZ2V0VGV4dCgwLCByYW5nZS5pbmRleCk7XHJcbiAgICBjb25zdCBsYXN0SGFzaEluZGV4ID0gdGV4dC5sYXN0SW5kZXhPZignIycpO1xyXG5cclxuICAgIGlmIChsYXN0SGFzaEluZGV4ICE9PSAtMSAmJiAhL1xccy8udGVzdCh0ZXh0LnN1YnN0cmluZyhsYXN0SGFzaEluZGV4ICsgMSkpKSB7XHJcbiAgICAgIHRoaXMubWVudGlvblN0YXJ0SW5kZXggPSBsYXN0SGFzaEluZGV4O1xyXG4gICAgICB0aGlzLm1lbnRpb25FbmRJbmRleCA9IHJhbmdlLmluZGV4O1xyXG5cclxuICAgICAgY29uc3Qgc2VhcmNoVGVybSA9IHRleHQuc3Vic3RyaW5nKGxhc3RIYXNoSW5kZXggKyAxKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICBjb25zdCBmaWx0ZXJlZCA9IHZhcmlhdmVpcy5maWx0ZXIodiA9PiBcclxuICAgICAgICB2LmRlc2NyaWNhby50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLmZpbHRlcmVkVmFyaWFibGVzLnNldChmaWx0ZXJlZCk7XHJcblxyXG4gICAgICBpZiAoZmlsdGVyZWQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGNvbnN0IGJvdW5kcyA9IHRoaXMuY2FsY3VsYXRlTWVudGlvbkJvdW5kcyhxdWlsbCwgbGFzdEhhc2hJbmRleCk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHNob3VsZFNob3dQYW5lbDogdHJ1ZSxcclxuICAgICAgICAgIGZpbHRlcmVkVmFyaWFibGVzOiBmaWx0ZXJlZCxcclxuICAgICAgICAgIG1lbnRpb25Cb3VuZHM6IGJvdW5kc1xyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNsb3NlTWVudGlvbigpO1xyXG4gICAgcmV0dXJuIHsgc2hvdWxkU2hvd1BhbmVsOiBmYWxzZSwgZmlsdGVyZWRWYXJpYWJsZXM6IFtdIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxjdWxhIGEgcG9zacOnw6NvIG9uZGUgbyBwYWluZWwgZGUgbWVuw6fDtWVzIGRldmUgYXBhcmVjZXJcclxuICAgKi9cclxuICBwcml2YXRlIGNhbGN1bGF0ZU1lbnRpb25Cb3VuZHMocXVpbGw6IFF1aWxsLCBsYXN0SGFzaEluZGV4OiBudW1iZXIpOiB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSB7XHJcbiAgICBjb25zdCBlZGl0b3JFbCA9IChxdWlsbCBhcyBhbnkpLmNvbnRhaW5lciB8fCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcja3YtZWRpdG9yJyk7XHJcbiAgICBpZiAoIWVkaXRvckVsKSByZXR1cm4geyB0b3A6IDAsIGxlZnQ6IDAgfTtcclxuXHJcbiAgICBjb25zdCBlZGl0b3JSZWN0ID0gZWRpdG9yRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBcclxuICAgIC8vIFNpbXBsaWZpY2FkbyBwYXJhIHNlbXByZSB0ZW50YXIgdXNhciBnZXRCb3VuZHMoKVxyXG4gICAgY29uc3QgY3Vyc29yQm91bmRzID0gcXVpbGwuZ2V0Qm91bmRzKGxhc3RIYXNoSW5kZXgpO1xyXG4gICAgXHJcbiAgICBpZiAoY3Vyc29yQm91bmRzKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgdG9wOiBlZGl0b3JSZWN0LnRvcCArIGN1cnNvckJvdW5kcy5ib3R0b20sXHJcbiAgICAgICAgbGVmdDogZWRpdG9yUmVjdC5sZWZ0ICsgY3Vyc29yQm91bmRzLmxlZnRcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdG9wOiBlZGl0b3JSZWN0LnRvcCArIDUsXHJcbiAgICAgIGxlZnQ6IGVkaXRvclJlY3QubGVmdCArIDVcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnNlcmUgdW1hIHZhcmnDoXZlbCBzZWxlY2lvbmFkYSBubyBlZGl0b3JcclxuICAgKi9cclxuICBpbnNlcnRWYXJpYWJsZShxdWlsbDogUXVpbGwsIHZhcmlhYmxlOiBLdkVkaXRvclZhcmlhdmVsKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdGFydEluZGV4ID0gdGhpcy5tZW50aW9uU3RhcnRJbmRleDtcclxuICAgIGNvbnN0IGVuZEluZGV4ID0gdGhpcy5tZW50aW9uRW5kSW5kZXg7XHJcblxyXG4gICAgaWYgKHN0YXJ0SW5kZXggPT09IG51bGwgfHwgZW5kSW5kZXggPT09IG51bGwpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBsZW5ndGhUb0RlbGV0ZSA9IGVuZEluZGV4IC0gc3RhcnRJbmRleDtcclxuICAgIGNvbnN0IHZhcmlhYmxlSHRtbCA9IGA8c3BhbiBcclxuICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNlNmY3ZmY7IGNvbG9yOiAjMDA2NmNjOyBib3JkZXItcmFkaXVzOiAzcHg7IHBhZGRpbmc6IDJweCA0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhcmlhdmVsLWluc2VyaWRhXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCIke3ZhcmlhYmxlLmRlc2NyaWNhb31cIj4ke3ZhcmlhYmxlLmRlc2NyaWNhb308L3NwYW4+Jm5ic3A7YDtcclxuICAgIFxyXG4gICAgY29uc3QgaW5zZXJ0ZWRUZXh0TGVuZ3RoID0gdmFyaWFibGUuZGVzY3JpY2FvLmxlbmd0aCArIDE7XHJcbiAgICBcclxuICAgIC8vIE5vcm1hbGl6YcOnw6NvIHJvYnVzdGEgZG8gUXVpbGxcclxuICAgIGxldCBxdWlsbENsYXNzOiBhbnkgPSBRdWlsbDtcclxuICAgIGlmICh0eXBlb2YgKHF1aWxsQ2xhc3MgYXMgYW55KS5yZWdpc3RlciAhPT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBpZiAoKHF1aWxsQ2xhc3MgYXMgYW55KS5kZWZhdWx0ICYmIHR5cGVvZiAocXVpbGxDbGFzcyBhcyBhbnkpLmRlZmF1bHQucmVnaXN0ZXIgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICBxdWlsbENsYXNzID0gKHF1aWxsQ2xhc3MgYXMgYW55KS5kZWZhdWx0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGNvbnN0IERlbHRhID0gcXVpbGxDbGFzcy5pbXBvcnQoJ2RlbHRhJyk7XHJcbiAgICBjb25zdCBpbnNlcnRpb25EZWx0YSA9IHF1aWxsLmNsaXBib2FyZC5jb252ZXJ0KHsgaHRtbDogdmFyaWFibGVIdG1sIH0pO1xyXG5cclxuICAgIHF1aWxsLnVwZGF0ZUNvbnRlbnRzKFxyXG4gICAgICBuZXcgRGVsdGEoKVxyXG4gICAgICAgIC5yZXRhaW4oc3RhcnRJbmRleClcclxuICAgICAgICAuZGVsZXRlKGxlbmd0aFRvRGVsZXRlKVxyXG4gICAgICAgIC5jb25jYXQoaW5zZXJ0aW9uRGVsdGEpLFxyXG4gICAgICAndXNlcidcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgbmV3Q3Vyc29yUG9zaXRpb24gPSBzdGFydEluZGV4ICsgaW5zZXJ0ZWRUZXh0TGVuZ3RoO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHF1aWxsLnNldFNlbGVjdGlvbihuZXdDdXJzb3JQb3NpdGlvbiwgMCwgJ3VzZXInKTtcclxuICAgICAgcXVpbGwuZm9jdXMoKTtcclxuICAgIH0sIDApO1xyXG5cclxuICAgIHRoaXMuY2xvc2VNZW50aW9uKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZWNoYSBvIHNpc3RlbWEgZGUgbWVuw6fDtWVzXHJcbiAgICovXHJcbiAgY2xvc2VNZW50aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5tZW50aW9uU3RhcnRJbmRleCA9IG51bGw7XHJcbiAgICB0aGlzLm1lbnRpb25FbmRJbmRleCA9IG51bGw7XHJcbiAgICB0aGlzLmZpbHRlcmVkVmFyaWFibGVzLnNldChbXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnTDqW0gYXMgdmFyacOhdmVpcyBmaWx0cmFkYXNcclxuICAgKi9cclxuICBnZXRGaWx0ZXJlZFZhcmlhYmxlcygpOiBLdkVkaXRvclZhcmlhdmVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRWYXJpYWJsZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyaWEgdW1hIHJlZ2V4IGVzcGVjaWFsIHBhcmEgYnVzY2EgZW0gdGV4dG8gY29tIEhUTUxcclxuICAgKi9cclxuICBjcmVhdGVJbnRlcmxlYXZlZFJlZ2V4KHRleHQ6IHN0cmluZyk6IFJlZ0V4cCB7XHJcbiAgICBjb25zdCBzcGVjaWFsQ2hhcnMgPSAvWy1cXC9cXFxcXiQqKz8uKCl8W1xcXXt9XS9nO1xyXG4gICAgY29uc3QgcGF0dGVybiA9IHRleHRcclxuICAgICAgLnNwbGl0KCcnKVxyXG4gICAgICAubWFwKGNoYXIgPT4gY2hhci5yZXBsYWNlKHNwZWNpYWxDaGFycywgJ1xcXFwkJicpKVxyXG4gICAgICAuam9pbignKDxbXj5dKj4pKicpO1xyXG5cclxuICAgIHJldHVybiBuZXcgUmVnRXhwKHBhdHRlcm4sICdnaScpO1xyXG4gIH1cclxufVxyXG4iXX0=
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLW1lbnRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWlucHV0cy9rdi1lZGl0b3Ivc2VydmljZXMva3YtZWRpdG9yLW1lbnRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7O0FBTTFCLE1BQU0sT0FBTyxzQkFBc0I7SUFIbkM7UUFLVSxzQkFBaUIsR0FBRyxNQUFNLENBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELHNCQUFpQixHQUFrQixJQUFJLENBQUM7UUFDeEMsb0JBQWUsR0FBa0IsSUFBSSxDQUFDO0tBeUsvQztJQXZLQzs7T0FFRztJQUNILGFBQWEsQ0FBQyxLQUFZLEVBQUUsU0FBNkI7UUFLdkQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUMzRCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFNUMsSUFBSSxhQUFhLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLENBQUMs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QixjQUZyQixNQUFNOzs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgRWxlbWVudFJlZiwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBRdWlsbCBmcm9tICdxdWlsbCc7XHJcbmltcG9ydCB7IEt2RWRpdG9yVmFyaWF2ZWwgfSBmcm9tICcuLi90eXBlcy9rdi1lZGl0b3IudHlwZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZFZGl0b3JNZW50aW9uU2VydmljZSB7XHJcbiAgXHJcbiAgcHJpdmF0ZSBmaWx0ZXJlZFZhcmlhYmxlcyA9IHNpZ25hbDxLdkVkaXRvclZhcmlhdmVsW10+KFtdKTtcclxuICBwcml2YXRlIG1lbnRpb25TdGFydEluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIG1lbnRpb25FbmRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIFByb2Nlc3NhIG8gc2lzdGVtYSBkZSBtZW7Dp8O1ZXMgZHVyYW50ZSBhIGRpZ2l0YcOnw6NvXHJcbiAgICovXHJcbiAgaGFuZGxlTWVudGlvbihxdWlsbDogUXVpbGwsIHZhcmlhdmVpczogS3ZFZGl0b3JWYXJpYXZlbFtdKToge1xyXG4gICAgc2hvdWxkU2hvd1BhbmVsOiBib29sZWFuO1xyXG4gICAgZmlsdGVyZWRWYXJpYWJsZXM6IEt2RWRpdG9yVmFyaWF2ZWxbXTtcclxuICAgIG1lbnRpb25Cb3VuZHM/OiB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfTtcclxuICB9IHtcclxuICAgIGNvbnN0IHJhbmdlID0gcXVpbGwuZ2V0U2VsZWN0aW9uKCk7XHJcbiAgICBpZiAoIXJhbmdlKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VNZW50aW9uKCk7XHJcbiAgICAgIHJldHVybiB7IHNob3VsZFNob3dQYW5lbDogZmFsc2UsIGZpbHRlcmVkVmFyaWFibGVzOiBbXSB9O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHRleHQgPSBxdWlsbC5nZXRUZXh0KDAsIHJhbmdlLmluZGV4KTtcclxuICAgIGNvbnN0IGxhc3RIYXNoSW5kZXggPSB0ZXh0Lmxhc3RJbmRleE9mKCcjJyk7XHJcblxyXG4gICAgaWYgKGxhc3RIYXNoSW5kZXggIT09IC0xICYmICEvXFxzLy50ZXN0KHRleHQuc3Vic3RyaW5nKGxhc3RIYXNoSW5kZXggKyAxKSkpIHtcclxuICAgICAgdGhpcy5tZW50aW9uU3RhcnRJbmRleCA9IGxhc3RIYXNoSW5kZXg7XHJcbiAgICAgIHRoaXMubWVudGlvbkVuZEluZGV4ID0gcmFuZ2UuaW5kZXg7XHJcblxyXG4gICAgICBjb25zdCBzZWFyY2hUZXJtID0gdGV4dC5zdWJzdHJpbmcobGFzdEhhc2hJbmRleCArIDEpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIFxyXG4gICAgICAvLyBGaWx0cm8gcmVjdXJzaXZvIHBhcmEgbWFudGVyIGhpZXJhcnF1aWFcclxuICAgICAgY29uc3QgZmlsdGVyZWQgPSB0aGlzLmZpbHRlclJlY3Vyc2l2ZSh2YXJpYXZlaXMsIHNlYXJjaFRlcm0pO1xyXG5cclxuICAgICAgdGhpcy5maWx0ZXJlZFZhcmlhYmxlcy5zZXQoZmlsdGVyZWQpO1xyXG5cclxuICAgICAgaWYgKGZpbHRlcmVkLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBjb25zdCBib3VuZHMgPSB0aGlzLmNhbGN1bGF0ZU1lbnRpb25Cb3VuZHMocXVpbGwsIGxhc3RIYXNoSW5kZXgpO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBzaG91bGRTaG93UGFuZWw6IHRydWUsXHJcbiAgICAgICAgICBmaWx0ZXJlZFZhcmlhYmxlczogZmlsdGVyZWQsXHJcbiAgICAgICAgICBtZW50aW9uQm91bmRzOiBib3VuZHNcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jbG9zZU1lbnRpb24oKTtcclxuICAgIHJldHVybiB7IHNob3VsZFNob3dQYW5lbDogZmFsc2UsIGZpbHRlcmVkVmFyaWFibGVzOiBbXSB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmlsdHJhIHJlY3Vyc2l2YW1lbnRlIGFzIHZhcmnDoXZlaXMgbWFudGVuZG8gYSBlc3RydXR1cmEgZGUgZ3J1cG9zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmaWx0ZXJSZWN1cnNpdmUoaXRlbXM6IEt2RWRpdG9yVmFyaWF2ZWxbXSwgc2VhcmNoVGVybTogc3RyaW5nKTogS3ZFZGl0b3JWYXJpYXZlbFtdIHtcclxuICAgIGlmICghc2VhcmNoVGVybSkgcmV0dXJuIGl0ZW1zO1xyXG4gICAgXHJcbiAgICByZXR1cm4gaXRlbXMucmVkdWNlKChhY2M6IEt2RWRpdG9yVmFyaWF2ZWxbXSwgaXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCBtYXRjaFNlbGYgPSBpdGVtLmRlc2NyaWNhby50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pO1xyXG4gICAgICBcclxuICAgICAgaWYgKG1hdGNoU2VsZikge1xyXG4gICAgICAgIC8vIFNlIG8gcHLDs3ByaW8gaXRlbSBjb2luY2lkZSAoc2VqYSBncnVwbyBvdSB2YXJpw6F2ZWwpLCBpbmNsdWkgZWxlIGNvbSB0b2RvcyBvcyBmaWxob3NcclxuICAgICAgICBhY2MucHVzaChpdGVtKTtcclxuICAgICAgfSBlbHNlIGlmIChpdGVtLmZpbGhvcyAmJiBpdGVtLmZpbGhvcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgLy8gU2UgbsOjbyBjb2luY2lkZSBtYXMgdGVtIGZpbGhvcywgdGVudGEgZmlsdHJhciBvcyBmaWxob3NcclxuICAgICAgICBjb25zdCBmaWx0ZXJlZENoaWxkcmVuID0gdGhpcy5maWx0ZXJSZWN1cnNpdmUoaXRlbS5maWxob3MsIHNlYXJjaFRlcm0pO1xyXG4gICAgICAgIGlmIChmaWx0ZXJlZENoaWxkcmVuLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGFjYy5wdXNoKHtcclxuICAgICAgICAgICAgLi4uaXRlbSxcclxuICAgICAgICAgICAgZmlsaG9zOiBmaWx0ZXJlZENoaWxkcmVuXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIHJldHVybiBhY2M7XHJcbiAgICB9LCBbXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxjdWxhIGEgcG9zacOnw6NvIG9uZGUgbyBwYWluZWwgZGUgbWVuw6fDtWVzIGRldmUgYXBhcmVjZXJcclxuICAgKi9cclxuICBwcml2YXRlIGNhbGN1bGF0ZU1lbnRpb25Cb3VuZHMocXVpbGw6IFF1aWxsLCBsYXN0SGFzaEluZGV4OiBudW1iZXIpOiB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSB7XHJcbiAgICBjb25zdCBlZGl0b3JFbCA9IChxdWlsbCBhcyBhbnkpLmNvbnRhaW5lciB8fCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcja3YtZWRpdG9yJyk7XHJcbiAgICBpZiAoIWVkaXRvckVsKSByZXR1cm4geyB0b3A6IDAsIGxlZnQ6IDAgfTtcclxuXHJcbiAgICBjb25zdCBlZGl0b3JSZWN0ID0gZWRpdG9yRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBcclxuICAgIC8vIFNpbXBsaWZpY2FkbyBwYXJhIHNlbXByZSB0ZW50YXIgdXNhciBnZXRCb3VuZHMoKVxyXG4gICAgY29uc3QgY3Vyc29yQm91bmRzID0gcXVpbGwuZ2V0Qm91bmRzKGxhc3RIYXNoSW5kZXgpO1xyXG4gICAgXHJcbiAgICBpZiAoY3Vyc29yQm91bmRzKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgdG9wOiBlZGl0b3JSZWN0LnRvcCArIGN1cnNvckJvdW5kcy5ib3R0b20sXHJcbiAgICAgICAgbGVmdDogZWRpdG9yUmVjdC5sZWZ0ICsgY3Vyc29yQm91bmRzLmxlZnRcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdG9wOiBlZGl0b3JSZWN0LnRvcCArIDUsXHJcbiAgICAgIGxlZnQ6IGVkaXRvclJlY3QubGVmdCArIDVcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnNlcmUgdW1hIHZhcmnDoXZlbCBzZWxlY2lvbmFkYSBubyBlZGl0b3JcclxuICAgKi9cclxuICBpbnNlcnRWYXJpYWJsZShxdWlsbDogUXVpbGwsIHZhcmlhYmxlOiBLdkVkaXRvclZhcmlhdmVsKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdGFydEluZGV4ID0gdGhpcy5tZW50aW9uU3RhcnRJbmRleDtcclxuICAgIGNvbnN0IGVuZEluZGV4ID0gdGhpcy5tZW50aW9uRW5kSW5kZXg7XHJcblxyXG4gICAgaWYgKHN0YXJ0SW5kZXggPT09IG51bGwgfHwgZW5kSW5kZXggPT09IG51bGwpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBsZW5ndGhUb0RlbGV0ZSA9IGVuZEluZGV4IC0gc3RhcnRJbmRleDtcclxuICAgIGNvbnN0IHZhcmlhYmxlSHRtbCA9IGA8c3BhbiBcclxuICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNlNmY3ZmY7IGNvbG9yOiAjMDA2NmNjOyBib3JkZXItcmFkaXVzOiAzcHg7IHBhZGRpbmc6IDJweCA0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhcmlhdmVsLWluc2VyaWRhXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCIke3ZhcmlhYmxlLmRlc2NyaWNhb31cIj4ke3ZhcmlhYmxlLmRlc2NyaWNhb308L3NwYW4+Jm5ic3A7YDtcclxuICAgIFxyXG4gICAgY29uc3QgaW5zZXJ0ZWRUZXh0TGVuZ3RoID0gdmFyaWFibGUuZGVzY3JpY2FvLmxlbmd0aCArIDE7XHJcbiAgICBcclxuICAgIC8vIE5vcm1hbGl6YcOnw6NvIHJvYnVzdGEgZG8gUXVpbGxcclxuICAgIGxldCBxdWlsbENsYXNzOiBhbnkgPSBRdWlsbDtcclxuICAgIGlmICh0eXBlb2YgKHF1aWxsQ2xhc3MgYXMgYW55KS5yZWdpc3RlciAhPT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBpZiAoKHF1aWxsQ2xhc3MgYXMgYW55KS5kZWZhdWx0ICYmIHR5cGVvZiAocXVpbGxDbGFzcyBhcyBhbnkpLmRlZmF1bHQucmVnaXN0ZXIgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICBxdWlsbENsYXNzID0gKHF1aWxsQ2xhc3MgYXMgYW55KS5kZWZhdWx0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGNvbnN0IERlbHRhID0gcXVpbGxDbGFzcy5pbXBvcnQoJ2RlbHRhJyk7XHJcbiAgICBjb25zdCBpbnNlcnRpb25EZWx0YSA9IHF1aWxsLmNsaXBib2FyZC5jb252ZXJ0KHsgaHRtbDogdmFyaWFibGVIdG1sIH0pO1xyXG5cclxuICAgIHF1aWxsLnVwZGF0ZUNvbnRlbnRzKFxyXG4gICAgICBuZXcgRGVsdGEoKVxyXG4gICAgICAgIC5yZXRhaW4oc3RhcnRJbmRleClcclxuICAgICAgICAuZGVsZXRlKGxlbmd0aFRvRGVsZXRlKVxyXG4gICAgICAgIC5jb25jYXQoaW5zZXJ0aW9uRGVsdGEpLFxyXG4gICAgICAndXNlcidcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgbmV3Q3Vyc29yUG9zaXRpb24gPSBzdGFydEluZGV4ICsgaW5zZXJ0ZWRUZXh0TGVuZ3RoO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHF1aWxsLnNldFNlbGVjdGlvbihuZXdDdXJzb3JQb3NpdGlvbiwgMCwgJ3VzZXInKTtcclxuICAgICAgcXVpbGwuZm9jdXMoKTtcclxuICAgIH0sIDApO1xyXG5cclxuICAgIHRoaXMuY2xvc2VNZW50aW9uKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZWNoYSBvIHNpc3RlbWEgZGUgbWVuw6fDtWVzXHJcbiAgICovXHJcbiAgY2xvc2VNZW50aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5tZW50aW9uU3RhcnRJbmRleCA9IG51bGw7XHJcbiAgICB0aGlzLm1lbnRpb25FbmRJbmRleCA9IG51bGw7XHJcbiAgICB0aGlzLmZpbHRlcmVkVmFyaWFibGVzLnNldChbXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnTDqW0gYXMgdmFyacOhdmVpcyBmaWx0cmFkYXNcclxuICAgKi9cclxuICBnZXRGaWx0ZXJlZFZhcmlhYmxlcygpOiBLdkVkaXRvclZhcmlhdmVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRWYXJpYWJsZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyaWEgdW1hIHJlZ2V4IGVzcGVjaWFsIHBhcmEgYnVzY2EgZW0gdGV4dG8gY29tIEhUTUxcclxuICAgKi9cclxuICBjcmVhdGVJbnRlcmxlYXZlZFJlZ2V4KHRleHQ6IHN0cmluZyk6IFJlZ0V4cCB7XHJcbiAgICBjb25zdCBzcGVjaWFsQ2hhcnMgPSAvWy1cXC9cXFxcXiQqKz8uKCl8W1xcXXt9XS9nO1xyXG4gICAgY29uc3QgcGF0dGVybiA9IHRleHRcclxuICAgICAgLnNwbGl0KCcnKVxyXG4gICAgICAubWFwKGNoYXIgPT4gY2hhci5yZXBsYWNlKHNwZWNpYWxDaGFycywgJ1xcXFwkJicpKVxyXG4gICAgICAuam9pbignKDxbXj5dKj4pKicpO1xyXG5cclxuICAgIHJldHVybiBuZXcgUmVnRXhwKHBhdHRlcm4sICdnaScpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -58,7 +58,7 @@ export class KvEditorPdfService {
58
58
  return;
59
59
  }
60
60
  const specialRegex = this.createInterleavedRegex(variavel.descricao);
61
- htmlProcessado = htmlProcessado.replace(specialRegex, variavel.value);
61
+ htmlProcessado = htmlProcessado.replace(specialRegex, variavel.value || '');
62
62
  });
63
63
  // Remove propriedades de estilo padrão
64
64
  htmlProcessado = htmlProcessado.replace(/background-color:\s*rgb\(\s*230,\s*247,\s*255\s*\);?/gi, '');
@@ -156,13 +156,13 @@ export class KvEditorPdfService {
156
156
  .join('(<[^>]*>)*');
157
157
  return new RegExp(pattern, 'gi');
158
158
  }
159
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorPdfService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
160
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorPdfService, providedIn: 'root' }); }
159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvEditorPdfService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
160
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvEditorPdfService, providedIn: 'root' }); }
161
161
  }
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorPdfService, decorators: [{
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvEditorPdfService, decorators: [{
163
163
  type: Injectable,
164
164
  args: [{
165
165
  providedIn: 'root'
166
166
  }]
167
167
  }] });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLXBkZi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWVkaXRvci9zZXJ2aWNlcy9rdi1lZGl0b3ItcGRmLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seURBQXlELENBQUM7O0FBS2pHLE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFLVSxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLGlCQUFZLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO0tBZ0wvQztJQTlLQzs7T0FFRztJQUNILGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlLENBQUMsT0FBZ0I7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FDakIsV0FBbUIsRUFDbkIsU0FBbUMsRUFDbkMsZ0JBQXVDO1FBRXZDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUFFLE9BQU87UUFFaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQixJQUFJLENB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LEtBQUs7WUFDWixNQUFNLEVBQUUsS0FBSztZQUNiLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUSxFQUFFLElBQUk7WUFDZCxJQUFJLEVBQUU7Z0JBQ0osT0FBTyxFQUFFLE9BQU87YUFDakI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxzQkFBc0IsQ0FBQyxJQUFZO1FBQ3pDLE1BQU0sWUFBWSxHQUFHLHdCQUF3QixDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUk7YUFDakIsS0FBSyxDQUFDLEVBQUUsQ0FBQzthQUNULEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQy9DLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV0QixPQUFPLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDOzhHQW5MVSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IFBkZlNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hcGkvc2VydmljZXMvcGRmLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBLdkVkaXRvclJlbGF0b3JpbywgS3ZFZGl0b3JWYXJpYXZlbCB9IGZyb20gJy4uL3R5cGVzL2t2LWVkaXRvci50eXBlcyc7XHJcbmltcG9ydCB7IEt2UmVwb3J0TW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2t2LXJlcG9ydC1tb2RhbC9rdi1yZXBvcnQtbW9kYWwuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2RWRpdG9yUGRmU2VydmljZSB7XHJcbiAgXHJcbiAgcHJpdmF0ZSBwZGZTZXJ2aWNlID0gaW5qZWN0KFBkZlNlcnZpY2UpO1xyXG4gIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChEaWFsb2dTZXJ2aWNlKTtcclxuICBwcml2YXRlIGlzTG9hZGluZ1BkZiA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIE9idMOpbSBvIGVzdGFkbyBkZSBjYXJyZWdhbWVudG8gZG8gUERGXHJcbiAgICovXHJcbiAgZ2V0SXNMb2FkaW5nUGRmKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNMb2FkaW5nUGRmKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgbyBlc3RhZG8gZGUgY2FycmVnYW1lbnRvIGRvIFBERlxyXG4gICAqL1xyXG4gIHNldElzTG9hZGluZ1BkZihsb2FkaW5nOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzTG9hZGluZ1BkZi5zZXQobG9hZGluZyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXJhIGUgYWJyZSBvIG1vZGFsIGRlIHJlbGF0w7NyaW9cclxuICAgKi9cclxuICBhc3luYyBvcGVuUmVsYXRvcmlvKFxyXG4gICAgaHRtbENvbnRlbnQ6IHN0cmluZywgXHJcbiAgICByZWxhdG9yaW86IEt2RWRpdG9yUmVsYXRvcmlvIHwgbnVsbCwgXHJcbiAgICB0aXBvVmlzdWFsaXphY2FvOiAndmFsb3InIHwgJ2Rlc2NyaWNhbydcclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmlzTG9hZGluZ1BkZigpKSByZXR1cm47XHJcbiAgICBcclxuICAgIHRoaXMuc2V0SXNMb2FkaW5nUGRmKHRydWUpO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCAyMDAwKSk7XHJcbiAgICAgIFxyXG4gICAgICBsZXQgaHRtbENvbVZhbG9yZXNSZWFpcyA9IGh0bWxDb250ZW50O1xyXG5cclxuICAgICAgaWYgKHJlbGF0b3Jpbykge1xyXG4gICAgICAgIGh0bWxDb21WYWxvcmVzUmVhaXMgPSB0aGlzLnByb2Nlc3Nhckh0bWxQYXJhUGRmKGh0bWxDb250ZW50LCByZWxhdG9yaW8sIHRpcG9WaXN1YWxpemFjYW8pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBodG1sRmluYWxQYXJhUGRmID0gdGhpcy5hZGljaW9uYXJFc3RpbG9zUGFyYVBkZihodG1sQ29tVmFsb3Jlc1JlYWlzKTtcclxuICAgICAgY29uc3QgcGRmQmxvYiA9IGF3YWl0IHRoaXMuZ2VyYXJQZGZCbG9iKGh0bWxGaW5hbFBhcmFQZGYpO1xyXG4gICAgICBcclxuICAgICAgdGhpcy5hYnJpck1vZGFsUmVsYXRvcmlvKHBkZkJsb2IpO1xyXG4gICAgICBcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhbGhhIGFvIGdlcmFyIG8gQmxvYiBkbyBQREY6JywgZXJyb3IpO1xyXG4gICAgICBhbGVydCgnT2NvcnJldSB1bSBlcnJvIGFvIGdlcmFyIG8gcmVsYXTDs3Jpby4nKTtcclxuICAgIH0gZmluYWxseSB7XHJcbiAgICAgIHRoaXMuc2V0SXNMb2FkaW5nUGRmKGZhbHNlKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScpKSwgMTAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFByb2Nlc3NhIG8gSFRNTCBzdWJzdGl0dWluZG8gdmFyacOhdmVpcyBlIGxpbXBhbmRvIGZvcm1hdGHDp8Ojb1xyXG4gICAqL1xyXG4gIHByaXZhdGUgcHJvY2Vzc2FySHRtbFBhcmFQZGYoXHJcbiAgICBodG1sQ29udGVudDogc3RyaW5nLCBcclxuICAgIHJlbGF0b3JpbzogS3ZFZGl0b3JSZWxhdG9yaW8sIFxyXG4gICAgdGlwb1Zpc3VhbGl6YWNhbzogJ3ZhbG9yJyB8ICdkZXNjcmljYW8nXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGxldCBodG1sUHJvY2Vzc2FkbyA9IGh0bWxDb250ZW50O1xyXG5cclxuICAgIC8vIFN1YnN0aXR1aSB2YWxvcmVzIGRhcyB2YXJpw6F2ZWlzXHJcbiAgICByZWxhdG9yaW8udmFyaWF2ZWlzLmZvckVhY2godmFyaWF2ZWwgPT4ge1xyXG4gICAgICBpZiAodHlwZW9mIHZhcmlhdmVsLmRlc2NyaWNhbyAhPT0gJ3N0cmluZycgfHwgdmFyaWF2ZWwuZGVzY3JpY2FvLnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIGNvbnN0IHNwZWNpYWxSZWdleCA9IHRoaXMuY3JlYXRlSW50ZXJsZWF2ZWRSZWdleCh2YXJpYXZlbC5kZXNjcmljYW8pO1xyXG4gICAgICBodG1sUHJvY2Vzc2FkbyA9IGh0bWxQcm9jZXNzYWRvLnJlcGxhY2Uoc3BlY2lhbFJlZ2V4LCB2YXJpYXZlbC52YWx1ZSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBSZW1vdmUgcHJvcHJpZWRhZGVzIGRlIGVzdGlsbyBwYWRyw6NvXHJcbiAgICBodG1sUHJvY2Vzc2FkbyA9IGh0bWxQcm9jZXNzYWRvLnJlcGxhY2UoL2JhY2tncm91bmQtY29sb3I6XFxzKnJnYlxcKFxccyoyMzAsXFxzKjI0NyxcXHMqMjU1XFxzKlxcKTs/L2dpLCAnJyk7XHJcbiAgICBodG1sUHJvY2Vzc2FkbyA9IGh0bWxQcm9jZXNzYWRvLnJlcGxhY2UoL2NvbG9yOlxccypyZ2JcXChcXHMqMCxcXHMqMTAyLFxccyoyMDRcXHMqXFwpOz8vZ2ksICcnKTtcclxuICAgIGh0bWxQcm9jZXNzYWRvID0gaHRtbFByb2Nlc3NhZG8ucmVwbGFjZSgvOyhcXHMqOykrL2csICc7Jyk7XHJcbiAgICBodG1sUHJvY2Vzc2FkbyA9IGh0bWxQcm9jZXNzYWRvLnJlcGxhY2UoL1xcc3N0eWxlPVwiW1xccztdKlwiL2dpLCAnJyk7XHJcblxyXG4gICAgLy8gUmVtb3ZlIHBhcsOhZ3JhZm9zIHZhemlvcyBlIHF1ZWJyYXMgZGUgbGluaGEgZHVwbGFzXHJcbiAgICBodG1sUHJvY2Vzc2FkbyA9IGh0bWxQcm9jZXNzYWRvLnJlcGxhY2UoLzxwPjxicj48XFwvcD4vZywgJycpO1xyXG4gICAgaHRtbFByb2Nlc3NhZG8gPSBodG1sUHJvY2Vzc2Fkby5yZXBsYWNlKC8oPGJyPlxccyopezIsfS9nLCAnPGJyPicpO1xyXG5cclxuICAgIHJldHVybiBodG1sUHJvY2Vzc2FkbztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkaWNpb25hIGVzdGlsb3MgQ1NTIGVzcGVjw61maWNvcyBwYXJhIFBERlxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRpY2lvbmFyRXN0aWxvc1BhcmFQZGYoaHRtbENvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBlc3RpbG9zUGFyYVBkZiA9IGBcclxuICAgICAgPHN0eWxlPlxyXG4gICAgICAgICN0ZW1wLXBkZi1yZW5kZXItYXJlYSB7IFxyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdTYW5zIFNlcmlmJywgQXJpYWwsIHNhbnMtc2VyaWY7IFxyXG4gICAgICAgICAgZm9udC1zaXplOiA5cHQ7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBwIHtcclxuICAgICAgICAgIG1pbi1oZWlnaHQ6IDEuMmVtO1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGgxLCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDIsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoMywgXHJcbiAgICAgICAgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGg0LCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDUsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoNiB7IFxyXG4gICAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IFxyXG4gICAgICAgIH1cclxuICAgICAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgW3N0eWxlKj1cInRleHQtYWxpZ246IGNlbnRlclwiXSB7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3RlbXAtcGRmLXJlbmRlci1hcmVhIHAsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoMSwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGgyLCBcclxuICAgICAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDMsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoNCwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGg1LCBcclxuICAgICAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDYsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBibG9ja3F1b3RlLCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgdWwsIFxyXG4gICAgICAgICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBvbCwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGxpLCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgdGFibGUsIFxyXG4gICAgICAgICN0ZW1wLXBkZi1yZW5kZXItYXJlYSB0ciwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGltZyB7IFxyXG4gICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyBcclxuICAgICAgICB9XHJcbiAgICAgIDwvc3R5bGU+XHJcbiAgICBgO1xyXG4gICAgXHJcbiAgICByZXR1cm4gZXN0aWxvc1BhcmFQZGYgKyBodG1sQ29udGVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdlcmEgbyBibG9iIGRvIFBERlxyXG4gICAqL1xyXG4gIHByaXZhdGUgYXN5bmMgZ2VyYXJQZGZCbG9iKGh0bWxDb250ZW50OiBzdHJpbmcpOiBQcm9taXNlPEJsb2I+IHtcclxuICAgIGNvbnN0IHJlbmRlckNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgcmVuZGVyQ29udGFpbmVyLmlkID0gJ3RlbXAtcGRmLXJlbmRlci1hcmVhJztcclxuICAgIHJlbmRlckNvbnRhaW5lci5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XHJcbiAgICByZW5kZXJDb250YWluZXIuc3R5bGUubGVmdCA9ICctOTk5OXB4JztcclxuICAgIHJlbmRlckNvbnRhaW5lci5zdHlsZS50b3AgPSAnMCc7XHJcbiAgICByZW5kZXJDb250YWluZXIuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3doaXRlJztcclxuICAgIHJlbmRlckNvbnRhaW5lci5zdHlsZS5wYWRkaW5nID0gJzEybW0nO1xyXG4gICAgcmVuZGVyQ29udGFpbmVyLnN0eWxlLndpZHRoID0gJzIxMG1tJztcclxuICAgIHJlbmRlckNvbnRhaW5lci5zdHlsZS5mb250U2l6ZSA9ICcxMnB4JztcclxuICAgIHJlbmRlckNvbnRhaW5lci5pbm5lckhUTUwgPSBodG1sQ29udGVudDtcclxuICAgIFxyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyZW5kZXJDb250YWluZXIpO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCAxMDApKTtcclxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucGRmU2VydmljZS5nZXJhclBkZkJsb2JQb3JFbGVtZW50b0lkKCd0ZW1wLXBkZi1yZW5kZXItYXJlYScpO1xyXG4gICAgfSBmaW5hbGx5IHtcclxuICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY29udGFpbnMocmVuZGVyQ29udGFpbmVyKSkge1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQocmVuZGVyQ29udGFpbmVyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWJyZSBvIG1vZGFsIGNvbSBvIFBERiBnZXJhZG9cclxuICAgKi9cclxuICBwcml2YXRlIGFicmlyTW9kYWxSZWxhdG9yaW8ocGRmQmxvYjogQmxvYik6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oS3ZSZXBvcnRNb2RhbENvbXBvbmVudCwge1xyXG4gICAgICBoZWFkZXI6ICdHZXJhciBSZWxhdMOzcmlvJyxcclxuICAgICAgd2lkdGg6ICc2MCUnLFxyXG4gICAgICBoZWlnaHQ6ICc5MCUnLFxyXG4gICAgICBtb2RhbDogdHJ1ZSxcclxuICAgICAgY2xvc2FibGU6IHRydWUsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBwZGZCbG9iOiBwZGZCbG9iXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JpYSB1bWEgcmVnZXggZXNwZWNpYWwgcGFyYSBidXNjYSBlbSB0ZXh0byBjb20gSFRNTFxyXG4gICAqL1xyXG4gIHByaXZhdGUgY3JlYXRlSW50ZXJsZWF2ZWRSZWdleCh0ZXh0OiBzdHJpbmcpOiBSZWdFeHAge1xyXG4gICAgY29uc3Qgc3BlY2lhbENoYXJzID0gL1stXFwvXFxcXF4kKis/LigpfFtcXF17fV0vZztcclxuICAgIGNvbnN0IHBhdHRlcm4gPSB0ZXh0XHJcbiAgICAgIC5zcGxpdCgnJylcclxuICAgICAgLm1hcChjaGFyID0+IGNoYXIucmVwbGFjZShzcGVjaWFsQ2hhcnMsICdcXFxcJCYnKSlcclxuICAgICAgLmpvaW4oJyg8W14+XSo+KSonKTtcclxuXHJcbiAgICByZXR1cm4gbmV3IFJlZ0V4cChwYXR0ZXJuLCAnZ2knKTtcclxuICB9XHJcbn1cclxuIl19
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLXBkZi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWVkaXRvci9zZXJ2aWNlcy9rdi1lZGl0b3ItcGRmLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seURBQXlELENBQUM7O0FBS2pHLE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFLVSxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLGlCQUFZLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO0tBZ0wvQztJQTlLQzs7T0FFRztJQUNILGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlLENBQUMsT0FBZ0I7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FDakIsV0FBbUIsRUFDbkIsU0FBbUMsRUFDbkMsZ0JBQXVDO1FBRXZDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUFFLE9BQU87UUFFaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQixJQUFJLENB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LEtBQUssRUFBRSxLQUFLO1lBQ1osTUFBTSxFQUFFLEtBQUs7WUFDYixLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVEsRUFBRSxJQUFJO1lBQ2QsSUFBSSxFQUFFO2dCQUNKLE9BQU8sRUFBRSxPQUFPO2FBQ2pCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssc0JBQXNCLENBQUMsSUFBWTtRQUN6QyxNQUFNLFlBQVksR0FBRyx3QkFBd0IsQ0FBQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJO2FBQ2pCLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDVCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQzthQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEIsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0FuTFUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBQZGZTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBpL3NlcnZpY2VzL3BkZi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgS3ZFZGl0b3JSZWxhdG9yaW8sIEt2RWRpdG9yVmFyaWF2ZWwgfSBmcm9tICcuLi90eXBlcy9rdi1lZGl0b3IudHlwZXMnO1xyXG5pbXBvcnQgeyBLdlJlcG9ydE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9rdi1yZXBvcnQtbW9kYWwva3YtcmVwb3J0LW1vZGFsLmNvbXBvbmVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkVkaXRvclBkZlNlcnZpY2Uge1xyXG4gIFxyXG4gIHByaXZhdGUgcGRmU2VydmljZSA9IGluamVjdChQZGZTZXJ2aWNlKTtcclxuICBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoRGlhbG9nU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBpc0xvYWRpbmdQZGYgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvKipcclxuICAgKiBPYnTDqW0gbyBlc3RhZG8gZGUgY2FycmVnYW1lbnRvIGRvIFBERlxyXG4gICAqL1xyXG4gIGdldElzTG9hZGluZ1BkZigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzTG9hZGluZ1BkZigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lIG8gZXN0YWRvIGRlIGNhcnJlZ2FtZW50byBkbyBQREZcclxuICAgKi9cclxuICBzZXRJc0xvYWRpbmdQZGYobG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pc0xvYWRpbmdQZGYuc2V0KGxvYWRpbmcpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2VyYSBlIGFicmUgbyBtb2RhbCBkZSByZWxhdMOzcmlvXHJcbiAgICovXHJcbiAgYXN5bmMgb3BlblJlbGF0b3JpbyhcclxuICAgIGh0bWxDb250ZW50OiBzdHJpbmcsIFxyXG4gICAgcmVsYXRvcmlvOiBLdkVkaXRvclJlbGF0b3JpbyB8IG51bGwsIFxyXG4gICAgdGlwb1Zpc3VhbGl6YWNhbzogJ3ZhbG9yJyB8ICdkZXNjcmljYW8nXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5pc0xvYWRpbmdQZGYoKSkgcmV0dXJuO1xyXG4gICAgXHJcbiAgICB0aGlzLnNldElzTG9hZGluZ1BkZih0cnVlKTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMjAwMCkpO1xyXG4gICAgICBcclxuICAgICAgbGV0IGh0bWxDb21WYWxvcmVzUmVhaXMgPSBodG1sQ29udGVudDtcclxuXHJcbiAgICAgIGlmIChyZWxhdG9yaW8pIHtcclxuICAgICAgICBodG1sQ29tVmFsb3Jlc1JlYWlzID0gdGhpcy5wcm9jZXNzYXJIdG1sUGFyYVBkZihodG1sQ29udGVudCwgcmVsYXRvcmlvLCB0aXBvVmlzdWFsaXphY2FvKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgaHRtbEZpbmFsUGFyYVBkZiA9IHRoaXMuYWRpY2lvbmFyRXN0aWxvc1BhcmFQZGYoaHRtbENvbVZhbG9yZXNSZWFpcyk7XHJcbiAgICAgIGNvbnN0IHBkZkJsb2IgPSBhd2FpdCB0aGlzLmdlcmFyUGRmQmxvYihodG1sRmluYWxQYXJhUGRmKTtcclxuICAgICAgXHJcbiAgICAgIHRoaXMuYWJyaXJNb2RhbFJlbGF0b3JpbyhwZGZCbG9iKTtcclxuICAgICAgXHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdGYWxoYSBhbyBnZXJhciBvIEJsb2IgZG8gUERGOicsIGVycm9yKTtcclxuICAgICAgYWxlcnQoJ09jb3JyZXUgdW0gZXJybyBhbyBnZXJhciBvIHJlbGF0w7NyaW8uJyk7XHJcbiAgICB9IGZpbmFsbHkge1xyXG4gICAgICB0aGlzLnNldElzTG9hZGluZ1BkZihmYWxzZSk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdyZXNpemUnKSksIDEwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcm9jZXNzYSBvIEhUTUwgc3Vic3RpdHVpbmRvIHZhcmnDoXZlaXMgZSBsaW1wYW5kbyBmb3JtYXRhw6fDo29cclxuICAgKi9cclxuICBwcml2YXRlIHByb2Nlc3Nhckh0bWxQYXJhUGRmKFxyXG4gICAgaHRtbENvbnRlbnQ6IHN0cmluZywgXHJcbiAgICByZWxhdG9yaW86IEt2RWRpdG9yUmVsYXRvcmlvLCBcclxuICAgIHRpcG9WaXN1YWxpemFjYW86ICd2YWxvcicgfCAnZGVzY3JpY2FvJ1xyXG4gICk6IHN0cmluZyB7XHJcbiAgICBsZXQgaHRtbFByb2Nlc3NhZG8gPSBodG1sQ29udGVudDtcclxuXHJcbiAgICAvLyBTdWJzdGl0dWkgdmFsb3JlcyBkYXMgdmFyacOhdmVpc1xyXG4gICAgcmVsYXRvcmlvLnZhcmlhdmVpcy5mb3JFYWNoKHZhcmlhdmVsID0+IHtcclxuICAgICAgaWYgKHR5cGVvZiB2YXJpYXZlbC5kZXNjcmljYW8gIT09ICdzdHJpbmcnIHx8IHZhcmlhdmVsLmRlc2NyaWNhby50cmltKCkgPT09ICcnKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBjb25zdCBzcGVjaWFsUmVnZXggPSB0aGlzLmNyZWF0ZUludGVybGVhdmVkUmVnZXgodmFyaWF2ZWwuZGVzY3JpY2FvKTtcclxuICAgICAgaHRtbFByb2Nlc3NhZG8gPSBodG1sUHJvY2Vzc2Fkby5yZXBsYWNlKHNwZWNpYWxSZWdleCwgdmFyaWF2ZWwudmFsdWUgfHwgJycpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gUmVtb3ZlIHByb3ByaWVkYWRlcyBkZSBlc3RpbG8gcGFkcsOjb1xyXG4gICAgaHRtbFByb2Nlc3NhZG8gPSBodG1sUHJvY2Vzc2Fkby5yZXBsYWNlKC9iYWNrZ3JvdW5kLWNvbG9yOlxccypyZ2JcXChcXHMqMjMwLFxccyoyNDcsXFxzKjI1NVxccypcXCk7Py9naSwgJycpO1xyXG4gICAgaHRtbFByb2Nlc3NhZG8gPSBodG1sUHJvY2Vzc2Fkby5yZXBsYWNlKC9jb2xvcjpcXHMqcmdiXFwoXFxzKjAsXFxzKjEwMixcXHMqMjA0XFxzKlxcKTs/L2dpLCAnJyk7XHJcbiAgICBodG1sUHJvY2Vzc2FkbyA9IGh0bWxQcm9jZXNzYWRvLnJlcGxhY2UoLzsoXFxzKjspKy9nLCAnOycpO1xyXG4gICAgaHRtbFByb2Nlc3NhZG8gPSBodG1sUHJvY2Vzc2Fkby5yZXBsYWNlKC9cXHNzdHlsZT1cIltcXHM7XSpcIi9naSwgJycpO1xyXG5cclxuICAgIC8vIFJlbW92ZSBwYXLDoWdyYWZvcyB2YXppb3MgZSBxdWVicmFzIGRlIGxpbmhhIGR1cGxhc1xyXG4gICAgaHRtbFByb2Nlc3NhZG8gPSBodG1sUHJvY2Vzc2Fkby5yZXBsYWNlKC88cD48YnI+PFxcL3A+L2csICcnKTtcclxuICAgIGh0bWxQcm9jZXNzYWRvID0gaHRtbFByb2Nlc3NhZG8ucmVwbGFjZSgvKDxicj5cXHMqKXsyLH0vZywgJzxicj4nKTtcclxuXHJcbiAgICByZXR1cm4gaHRtbFByb2Nlc3NhZG87XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGljaW9uYSBlc3RpbG9zIENTUyBlc3BlY8OtZmljb3MgcGFyYSBQREZcclxuICAgKi9cclxuICBwcml2YXRlIGFkaWNpb25hckVzdGlsb3NQYXJhUGRmKGh0bWxDb250ZW50OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgZXN0aWxvc1BhcmFQZGYgPSBgXHJcbiAgICAgIDxzdHlsZT5cclxuICAgICAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgeyBcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU2FucyBTZXJpZicsIEFyaWFsLCBzYW5zLXNlcmlmOyBcclxuICAgICAgICAgIGZvbnQtc2l6ZTogOXB0O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IFxyXG4gICAgICAgIH1cclxuICAgICAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgcCB7XHJcbiAgICAgICAgICBtaW4taGVpZ2h0OiAxLjJlbTtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoMSwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGgyLCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDMsIFxyXG4gICAgICAgICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoNCwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGg1LCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDYgeyBcclxuICAgICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgI3RlbXAtcGRmLXJlbmRlci1hcmVhIFtzdHlsZSo9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIl0ge1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBwLCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDEsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoMiwgXHJcbiAgICAgICAgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGgzLCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgaDQsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBoNSwgXHJcbiAgICAgICAgI3RlbXAtcGRmLXJlbmRlci1hcmVhIGg2LCAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgYmxvY2txdW90ZSwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIHVsLCBcclxuICAgICAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgb2wsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBsaSwgI3RlbXAtcGRmLXJlbmRlci1hcmVhIHRhYmxlLCBcclxuICAgICAgICAjdGVtcC1wZGYtcmVuZGVyLWFyZWEgdHIsICN0ZW1wLXBkZi1yZW5kZXItYXJlYSBpbWcgeyBcclxuICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgXHJcbiAgICAgICAgfVxyXG4gICAgICA8L3N0eWxlPlxyXG4gICAgYDtcclxuICAgIFxyXG4gICAgcmV0dXJuIGVzdGlsb3NQYXJhUGRmICsgaHRtbENvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXJhIG8gYmxvYiBkbyBQREZcclxuICAgKi9cclxuICBwcml2YXRlIGFzeW5jIGdlcmFyUGRmQmxvYihodG1sQ29udGVudDogc3RyaW5nKTogUHJvbWlzZTxCbG9iPiB7XHJcbiAgICBjb25zdCByZW5kZXJDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHJlbmRlckNvbnRhaW5lci5pZCA9ICd0ZW1wLXBkZi1yZW5kZXItYXJlYSc7XHJcbiAgICByZW5kZXJDb250YWluZXIuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xyXG4gICAgcmVuZGVyQ29udGFpbmVyLnN0eWxlLmxlZnQgPSAnLTk5OTlweCc7XHJcbiAgICByZW5kZXJDb250YWluZXIuc3R5bGUudG9wID0gJzAnO1xyXG4gICAgcmVuZGVyQ29udGFpbmVyLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICd3aGl0ZSc7XHJcbiAgICByZW5kZXJDb250YWluZXIuc3R5bGUucGFkZGluZyA9ICcxMm1tJztcclxuICAgIHJlbmRlckNvbnRhaW5lci5zdHlsZS53aWR0aCA9ICcyMTBtbSc7XHJcbiAgICByZW5kZXJDb250YWluZXIuc3R5bGUuZm9udFNpemUgPSAnMTJweCc7XHJcbiAgICByZW5kZXJDb250YWluZXIuaW5uZXJIVE1MID0gaHRtbENvbnRlbnQ7XHJcbiAgICBcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocmVuZGVyQ29udGFpbmVyKTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMTAwKSk7XHJcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnBkZlNlcnZpY2UuZ2VyYXJQZGZCbG9iUG9yRWxlbWVudG9JZCgndGVtcC1wZGYtcmVuZGVyLWFyZWEnKTtcclxuICAgIH0gZmluYWxseSB7XHJcbiAgICAgIGlmIChkb2N1bWVudC5ib2R5LmNvbnRhaW5zKHJlbmRlckNvbnRhaW5lcikpIHtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHJlbmRlckNvbnRhaW5lcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFicmUgbyBtb2RhbCBjb20gbyBQREYgZ2VyYWRvXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhYnJpck1vZGFsUmVsYXRvcmlvKHBkZkJsb2I6IEJsb2IpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKEt2UmVwb3J0TW9kYWxDb21wb25lbnQsIHtcclxuICAgICAgaGVhZGVyOiAnR2VyYXIgUmVsYXTDs3JpbycsXHJcbiAgICAgIHdpZHRoOiAnNjAlJyxcclxuICAgICAgaGVpZ2h0OiAnOTAlJyxcclxuICAgICAgbW9kYWw6IHRydWUsXHJcbiAgICAgIGNsb3NhYmxlOiB0cnVlLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgcGRmQmxvYjogcGRmQmxvYlxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyaWEgdW1hIHJlZ2V4IGVzcGVjaWFsIHBhcmEgYnVzY2EgZW0gdGV4dG8gY29tIEhUTUxcclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZUludGVybGVhdmVkUmVnZXgodGV4dDogc3RyaW5nKTogUmVnRXhwIHtcclxuICAgIGNvbnN0IHNwZWNpYWxDaGFycyA9IC9bLVxcL1xcXFxeJCorPy4oKXxbXFxde31dL2c7XHJcbiAgICBjb25zdCBwYXR0ZXJuID0gdGV4dFxyXG4gICAgICAuc3BsaXQoJycpXHJcbiAgICAgIC5tYXAoY2hhciA9PiBjaGFyLnJlcGxhY2Uoc3BlY2lhbENoYXJzLCAnXFxcXCQmJykpXHJcbiAgICAgIC5qb2luKCcoPFtePl0qPikqJyk7XHJcblxyXG4gICAgcmV0dXJuIG5ldyBSZWdFeHAocGF0dGVybiwgJ2dpJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -115,13 +115,13 @@ export class KvEditorQuillService {
115
115
  destroyQuillInstance() {
116
116
  this.quillInstance = null;
117
117
  }
118
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorQuillService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
119
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorQuillService, providedIn: 'root' }); }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvEditorQuillService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
119
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvEditorQuillService, providedIn: 'root' }); }
120
120
  }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorQuillService, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvEditorQuillService, decorators: [{
122
122
  type: Injectable,
123
123
  args: [{
124
124
  providedIn: 'root'
125
125
  }]
126
126
  }] });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLXF1aWxsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtZWRpdG9yL3NlcnZpY2VzL2t2LWVkaXRvci1xdWlsbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOztBQU0xQixNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBS1Usa0JBQWEsR0FBaUIsSUFBSSxDQUFDO0tBZ0k1QztJQTlIQzs7T0FFRztJQUNILE9BQU87UUFDTCxNQUFNLFFBQVEsR0FBRztZQUNmLDhEQUE4RDtZQUM5RCxnRUFBZ0U7WUFDaEUseUZBQXlGO1lBQ3pGLDhEQUE4RDtZQUM5RCxnREFBZ0Q7U0FDakQsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbEMsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNuQyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxZQUFZLEVBQUUsQ0FBQztvQkFDakIsT0FBTyxFQUFFLENBQUM7b0JBQ1YsT0FBTztnQkFDVCxDQUFDO2dCQUVELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2xELFVBQVUsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDO2dCQUM5QixVQUFVLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztnQkFDdEIsVUFBVSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUs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LGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQzs4R0FqSVUsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IFF1aWxsIGZyb20gJ3F1aWxsJztcclxuaW1wb3J0IHsgS3ZFZGl0b3JRdWlsbENvbmZpZyB9IGZyb20gJy4uL3R5cGVzL2t2LWVkaXRvci50eXBlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkVkaXRvclF1aWxsU2VydmljZSB7XHJcbiAgXHJcbiAgcHJpdmF0ZSBxdWlsbEluc3RhbmNlOiBRdWlsbCB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBDYXJyZWdhIG8gQ1NTIGRvIFF1aWxsIGRpbmFtaWNhbWVudGVcclxuICAgKi9cclxuICBsb2FkQ3NzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgY3NzRmlsZXMgPSBbXHJcbiAgICAgICdodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3F1aWxsQDIuMC4yL2Rpc3QvcXVpbGwuc25vdy5jc3MnLFxyXG4gICAgICAnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9xdWlsbEAyLjAuMi9kaXN0L3F1aWxsLmJ1YmJsZS5jc3MnLFxyXG4gICAgICAnaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvaGlnaGxpZ2h0LmpzLzExLjkuMC9zdHlsZXMvYXRvbS1vbmUtZGFyay5taW4uY3NzJyxcclxuICAgICAgJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0va2F0ZXhAMC4xNi45L2Rpc3Qva2F0ZXgubWluLmNzcycsXHJcbiAgICAgICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvJ1xyXG4gICAgXTtcclxuXHJcbiAgICBjb25zdCBwcm9taXNlcyA9IGNzc0ZpbGVzLm1hcCh1cmwgPT4ge1xyXG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcclxuICAgICAgICBjb25zdCBleGlzdGluZ0xpbmsgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBsaW5rW2hyZWY9XCIke3VybH1cIl1gKTtcclxuICAgICAgICBpZiAoZXhpc3RpbmdMaW5rKSB7XHJcbiAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBjc3NFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xyXG4gICAgICAgIGNzc0VsZW1lbnQucmVsID0gJ3N0eWxlc2hlZXQnO1xyXG4gICAgICAgIGNzc0VsZW1lbnQuaHJlZiA9IHVybDtcclxuICAgICAgICBjc3NFbGVtZW50Lm9ubG9hZCA9ICgpID0+IHJlc29sdmUoKTtcclxuICAgICAgICBjc3NFbGVtZW50Lm9uZXJyb3IgPSAoKSA9PiByZXNvbHZlKCk7IC8vIFJlc29sdmUgYW55d2F5IHRvIG5vdCBibG9ja1xyXG4gICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoY3NzRWxlbWVudCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKHByb21pc2VzKS50aGVuKCgpID0+IHt9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UXVpbGwoKTogYW55IHtcclxuICAgIC8vIFRlbnRhIGltcG9ydGHDp8OjbyBkaXJldGEgKENsYXNzZSBuYSBtYWlvcmlhIGRvcyBhbWJpZW50ZXMgRVNNKVxyXG4gICAgaWYgKHR5cGVvZiAoUXVpbGwgYXMgYW55KS5yZWdpc3RlciA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gUXVpbGw7XHJcbiAgICB9XHJcbiAgICAvLyBUZW50YSAuZGVmYXVsdCAoQ2xhc3NlIGVtIGFsZ3VucyBidW5kbGVzIFdlYnBhY2svQ29tbW9uSlMpXHJcbiAgICBpZiAoKFF1aWxsIGFzIGFueSkuZGVmYXVsdCAmJiB0eXBlb2YgKFF1aWxsIGFzIGFueSkuZGVmYXVsdC5yZWdpc3RlciA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gKFF1aWxsIGFzIGFueSkuZGVmYXVsdDtcclxuICAgIH1cclxuICAgIC8vIEZhbGxiYWNrIHBhcmEgbyBxdWUgZXN0aXZlciBkaXNwb27DrXZlbFxyXG4gICAgcmV0dXJuIChRdWlsbCBhcyBhbnkpLmRlZmF1bHQgfHwgUXVpbGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWdpc3RyYSBvcyBmb3JtYXRvcyBwZXJzb25hbGl6YWRvcyBkbyBRdWlsbFxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyQ3VzdG9tRm9ybWF0cygpOiB2b2lkIHtcclxuICAgIGNvbnN0IHF1aWxsQ2xhc3MgPSB0aGlzLmdldFF1aWxsKCk7XHJcbiAgICBjb25zdCBDb2xvclN0eWxlOiBhbnkgPSBxdWlsbENsYXNzLmltcG9ydCgnYXR0cmlidXRvcnMvc3R5bGUvY29sb3InKTtcclxuICAgIGNvbnN0IFNpemVTdHlsZTogYW55ID0gcXVpbGxDbGFzcy5pbXBvcnQoJ2F0dHJpYnV0b3JzL3N0eWxlL3NpemUnKTtcclxuICAgIGNvbnN0IEZvbnQ6IGFueSA9IHF1aWxsQ2xhc3MuaW1wb3J0KCdmb3JtYXRzL2ZvbnQnKTtcclxuICAgIGNvbnN0IFNpemU6IGFueSA9IHF1aWxsQ2xhc3MuaW1wb3J0KCdhdHRyaWJ1dG9ycy9zdHlsZS9zaXplJyk7XHJcbiAgICBjb25zdCBBbGlnblN0eWxlID0gcXVpbGxDbGFzcy5pbXBvcnQoJ2F0dHJpYnV0b3JzL3N0eWxlL2FsaWduJykgYXMgYW55O1xyXG5cclxuICAgIFNpemUud2hpdGVsaXN0ID0gWycxNXB4JywgJzIwcHgnLCAnMzBweCcsICc0MHB4JywgJzUwcHgnLCAnNzBweCcsICc5MHB4J107XHJcbiAgICBGb250LndoaXRlbGlzdCA9IFsnbW9ub3NwYWNlJywgJ3JvYm90bycsICdhcmlhbCcsICd0aW1lcy1uZXctcm9tYW4nLCAnc2VyaWYnLCAnaW50ZXInXTtcclxuXHJcbiAgICBxdWlsbENsYXNzLnJlZ2lzdGVyKENvbG9yU3R5bGUsIHRydWUpO1xyXG4gICAgcXVpbGxDbGFzcy5yZWdpc3RlcihTaXplU3R5bGUsIHRydWUpO1xyXG4gICAgcXVpbGxDbGFzcy5yZWdpc3RlcihGb250LCB0cnVlKTtcclxuICAgIHF1aWxsQ2xhc3MucmVnaXN0ZXIoU2l6ZSwgdHJ1ZSk7XHJcbiAgICBxdWlsbENsYXNzLnJlZ2lzdGVyKEFsaWduU3R5bGUsIHRydWUpO1xyXG5cclxuICAgIC8vIFJlZ2lzdHJhIGZvcm1hdG8gY3VzdG9taXphZG8gcGFyYSBhcyB2YXJpw6F2ZWlzIGluc2VyaWRhc1xyXG4gICAgY29uc3QgSW5saW5lID0gcXVpbGxDbGFzcy5pbXBvcnQoJ2Jsb3RzL2lubGluZScpIGFzIGFueTtcclxuICAgIGNsYXNzIFZhcmlhdmVsQmxvdCBleHRlbmRzIElubGluZSB7XHJcbiAgICAgIHN0YXRpYyBibG90TmFtZSA9ICd2YXJpYXZlbCc7XHJcbiAgICAgIHN0YXRpYyB0YWdOYW1lID0gJ3NwYW4nO1xyXG4gICAgICBzdGF0aWMgY2xhc3NOYW1lID0gJ3ZhcmlhdmVsLWluc2VyaWRhJztcclxuXHJcbiAgICAgIHN0YXRpYyBjcmVhdGUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGxldCBub2RlID0gc3VwZXIuY3JlYXRlKCk7XHJcbiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgJ3ZhcmlhdmVsLWluc2VyaWRhJyk7XHJcbiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ2JhY2tncm91bmQtY29sb3I6ICNlNmY3ZmY7IGNvbG9yOiAjMDA2NmNjOyBib3JkZXItcmFkaXVzOiAzcHg7IHBhZGRpbmc6IDJweCA0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7Jyk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUudGl0bGUpIHtcclxuICAgICAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywgdmFsdWUudGl0bGUpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgndGl0bGUnLCB2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHJldHVybiBub2RlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzdGF0aWMgZm9ybWF0cyhub2RlOiBIVE1MRWxlbWVudCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICB0aXRsZTogbm9kZS5nZXRBdHRyaWJ1dGUoJ3RpdGxlJykgfHwgJydcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBxdWlsbENsYXNzLnJlZ2lzdGVyKFZhcmlhdmVsQmxvdCwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmlhIHVtYSBpbnN0w6JuY2lhIGRvIFF1aWxsIGNvbSBhIGNvbmZpZ3VyYcOnw6NvIGZvcm5lY2lkYVxyXG4gICAqL1xyXG4gIGNyZWF0ZVF1aWxsSW5zdGFuY2Uoc2VsZWN0b3I6IHN0cmluZywgY29uZmlnOiBLdkVkaXRvclF1aWxsQ29uZmlnKTogUXVpbGwge1xyXG4gICAgdGhpcy5yZWdpc3RlckN1c3RvbUZvcm1hdHMoKTtcclxuICAgIFxyXG4gICAgY29uc3QgUXVpbGxDbGFzcyA9IHRoaXMuZ2V0UXVpbGwoKTtcclxuICAgIHRoaXMucXVpbGxJbnN0YW5jZSA9IG5ldyBRdWlsbENsYXNzKHNlbGVjdG9yLCB7XHJcbiAgICAgIHRoZW1lOiBjb25maWcudGhlbWUsXHJcbiAgICAgIG1vZHVsZXM6IGNvbmZpZy5tb2R1bGVzLFxyXG4gICAgICBwbGFjZWhvbGRlcjogY29uZmlnLnBsYWNlaG9sZGVyLFxyXG4gICAgICByZWFkT25seTogY29uZmlnLnJlYWRPbmx5LFxyXG4gICAgICBkZWJ1ZzogY29uZmlnLmRlYnVnLFxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucXVpbGxJbnN0YW5jZSE7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnTDqW0gYSBpbnN0w6JuY2lhIGF0dWFsIGRvIFF1aWxsXHJcbiAgICovXHJcbiAgZ2V0UXVpbGxJbnN0YW5jZSgpOiBRdWlsbCB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMucXVpbGxJbnN0YW5jZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExpbXBhIGEgaW5zdMOibmNpYSBkbyBRdWlsbFxyXG4gICAqL1xyXG4gIGRlc3Ryb3lRdWlsbEluc3RhbmNlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5xdWlsbEluc3RhbmNlID0gbnVsbDtcclxuICB9XHJcbn1cclxuIl19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLXF1aWxsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi1pbnB1dHMva3YtZWRpdG9yL3NlcnZpY2VzL2t2LWVkaXRvci1xdWlsbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOztBQU0xQixNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBS1Usa0JBQWEsR0FBaUIsSUFBSSxDQUFDO0tBZ0k1QztJQTlIQzs7T0FFRztJQUNILE9BQU87UUFDTCxNQUFNLFFBQVEsR0FBRztZQUNmLDhEQUE4RDtZQUM5RCxnRUFBZ0U7WUFDaEUseUZBQXlGO1lBQ3pGLDhEQUE4RDtZQUM5RCxnREFBZ0Q7U0FDakQsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbEMsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNuQyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxZQUFZLEVBQUUsQ0FBQztvQkFDakIsT0FBTyxFQUFFLENBQUM7b0JBQ1YsT0FBTztnQkFDVCxDQUFDO2dCQUVELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2xELFVBQVUsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDO2dCQUM5QixVQUFVLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztnQkFDdEIsVUFBVSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUs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LGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQzsrR0FqSVUsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IFF1aWxsIGZyb20gJ3F1aWxsJztcclxuaW1wb3J0IHsgS3ZFZGl0b3JRdWlsbENvbmZpZyB9IGZyb20gJy4uL3R5cGVzL2t2LWVkaXRvci50eXBlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkVkaXRvclF1aWxsU2VydmljZSB7XHJcbiAgXHJcbiAgcHJpdmF0ZSBxdWlsbEluc3RhbmNlOiBRdWlsbCB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBDYXJyZWdhIG8gQ1NTIGRvIFF1aWxsIGRpbmFtaWNhbWVudGVcclxuICAgKi9cclxuICBsb2FkQ3NzKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgY3NzRmlsZXMgPSBbXHJcbiAgICAgICdodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3F1aWxsQDIuMC4yL2Rpc3QvcXVpbGwuc25vdy5jc3MnLFxyXG4gICAgICAnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9xdWlsbEAyLjAuMi9kaXN0L3F1aWxsLmJ1YmJsZS5jc3MnLFxyXG4gICAgICAnaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvaGlnaGxpZ2h0LmpzLzExLjkuMC9zdHlsZXMvYXRvbS1vbmUtZGFyay5taW4uY3NzJyxcclxuICAgICAgJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0va2F0ZXhAMC4xNi45L2Rpc3Qva2F0ZXgubWluLmNzcycsXHJcbiAgICAgICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvJ1xyXG4gICAgXTtcclxuXHJcbiAgICBjb25zdCBwcm9taXNlcyA9IGNzc0ZpbGVzLm1hcCh1cmwgPT4ge1xyXG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcclxuICAgICAgICBjb25zdCBleGlzdGluZ0xpbmsgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBsaW5rW2hyZWY9XCIke3VybH1cIl1gKTtcclxuICAgICAgICBpZiAoZXhpc3RpbmdMaW5rKSB7XHJcbiAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBjc3NFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xyXG4gICAgICAgIGNzc0VsZW1lbnQucmVsID0gJ3N0eWxlc2hlZXQnO1xyXG4gICAgICAgIGNzc0VsZW1lbnQuaHJlZiA9IHVybDtcclxuICAgICAgICBjc3NFbGVtZW50Lm9ubG9hZCA9ICgpID0+IHJlc29sdmUoKTtcclxuICAgICAgICBjc3NFbGVtZW50Lm9uZXJyb3IgPSAoKSA9PiByZXNvbHZlKCk7IC8vIFJlc29sdmUgYW55d2F5IHRvIG5vdCBibG9ja1xyXG4gICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoY3NzRWxlbWVudCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKHByb21pc2VzKS50aGVuKCgpID0+IHt9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UXVpbGwoKTogYW55IHtcclxuICAgIC8vIFRlbnRhIGltcG9ydGHDp8OjbyBkaXJldGEgKENsYXNzZSBuYSBtYWlvcmlhIGRvcyBhbWJpZW50ZXMgRVNNKVxyXG4gICAgaWYgKHR5cGVvZiAoUXVpbGwgYXMgYW55KS5yZWdpc3RlciA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gUXVpbGw7XHJcbiAgICB9XHJcbiAgICAvLyBUZW50YSAuZGVmYXVsdCAoQ2xhc3NlIGVtIGFsZ3VucyBidW5kbGVzIFdlYnBhY2svQ29tbW9uSlMpXHJcbiAgICBpZiAoKFF1aWxsIGFzIGFueSkuZGVmYXVsdCAmJiB0eXBlb2YgKFF1aWxsIGFzIGFueSkuZGVmYXVsdC5yZWdpc3RlciA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gKFF1aWxsIGFzIGFueSkuZGVmYXVsdDtcclxuICAgIH1cclxuICAgIC8vIEZhbGxiYWNrIHBhcmEgbyBxdWUgZXN0aXZlciBkaXNwb27DrXZlbFxyXG4gICAgcmV0dXJuIChRdWlsbCBhcyBhbnkpLmRlZmF1bHQgfHwgUXVpbGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWdpc3RyYSBvcyBmb3JtYXRvcyBwZXJzb25hbGl6YWRvcyBkbyBRdWlsbFxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyQ3VzdG9tRm9ybWF0cygpOiB2b2lkIHtcclxuICAgIGNvbnN0IHF1aWxsQ2xhc3MgPSB0aGlzLmdldFF1aWxsKCk7XHJcbiAgICBjb25zdCBDb2xvclN0eWxlOiBhbnkgPSBxdWlsbENsYXNzLmltcG9ydCgnYXR0cmlidXRvcnMvc3R5bGUvY29sb3InKTtcclxuICAgIGNvbnN0IFNpemVTdHlsZTogYW55ID0gcXVpbGxDbGFzcy5pbXBvcnQoJ2F0dHJpYnV0b3JzL3N0eWxlL3NpemUnKTtcclxuICAgIGNvbnN0IEZvbnQ6IGFueSA9IHF1aWxsQ2xhc3MuaW1wb3J0KCdmb3JtYXRzL2ZvbnQnKTtcclxuICAgIGNvbnN0IFNpemU6IGFueSA9IHF1aWxsQ2xhc3MuaW1wb3J0KCdhdHRyaWJ1dG9ycy9zdHlsZS9zaXplJyk7XHJcbiAgICBjb25zdCBBbGlnblN0eWxlID0gcXVpbGxDbGFzcy5pbXBvcnQoJ2F0dHJpYnV0b3JzL3N0eWxlL2FsaWduJykgYXMgYW55O1xyXG5cclxuICAgIFNpemUud2hpdGVsaXN0ID0gWycxNXB4JywgJzIwcHgnLCAnMzBweCcsICc0MHB4JywgJzUwcHgnLCAnNzBweCcsICc5MHB4J107XHJcbiAgICBGb250LndoaXRlbGlzdCA9IFsnbW9ub3NwYWNlJywgJ3JvYm90bycsICdhcmlhbCcsICd0aW1lcy1uZXctcm9tYW4nLCAnc2VyaWYnLCAnaW50ZXInXTtcclxuXHJcbiAgICBxdWlsbENsYXNzLnJlZ2lzdGVyKENvbG9yU3R5bGUsIHRydWUpO1xyXG4gICAgcXVpbGxDbGFzcy5yZWdpc3RlcihTaXplU3R5bGUsIHRydWUpO1xyXG4gICAgcXVpbGxDbGFzcy5yZWdpc3RlcihGb250LCB0cnVlKTtcclxuICAgIHF1aWxsQ2xhc3MucmVnaXN0ZXIoU2l6ZSwgdHJ1ZSk7XHJcbiAgICBxdWlsbENsYXNzLnJlZ2lzdGVyKEFsaWduU3R5bGUsIHRydWUpO1xyXG5cclxuICAgIC8vIFJlZ2lzdHJhIGZvcm1hdG8gY3VzdG9taXphZG8gcGFyYSBhcyB2YXJpw6F2ZWlzIGluc2VyaWRhc1xyXG4gICAgY29uc3QgSW5saW5lID0gcXVpbGxDbGFzcy5pbXBvcnQoJ2Jsb3RzL2lubGluZScpIGFzIGFueTtcclxuICAgIGNsYXNzIFZhcmlhdmVsQmxvdCBleHRlbmRzIElubGluZSB7XHJcbiAgICAgIHN0YXRpYyBibG90TmFtZSA9ICd2YXJpYXZlbCc7XHJcbiAgICAgIHN0YXRpYyB0YWdOYW1lID0gJ3NwYW4nO1xyXG4gICAgICBzdGF0aWMgY2xhc3NOYW1lID0gJ3ZhcmlhdmVsLWluc2VyaWRhJztcclxuXHJcbiAgICAgIHN0YXRpYyBjcmVhdGUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGxldCBub2RlID0gc3VwZXIuY3JlYXRlKCk7XHJcbiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgJ3ZhcmlhdmVsLWluc2VyaWRhJyk7XHJcbiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ2JhY2tncm91bmQtY29sb3I6ICNlNmY3ZmY7IGNvbG9yOiAjMDA2NmNjOyBib3JkZXItcmFkaXVzOiAzcHg7IHBhZGRpbmc6IDJweCA0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7Jyk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUudGl0bGUpIHtcclxuICAgICAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywgdmFsdWUudGl0bGUpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgndGl0bGUnLCB2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHJldHVybiBub2RlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzdGF0aWMgZm9ybWF0cyhub2RlOiBIVE1MRWxlbWVudCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICB0aXRsZTogbm9kZS5nZXRBdHRyaWJ1dGUoJ3RpdGxlJykgfHwgJydcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBxdWlsbENsYXNzLnJlZ2lzdGVyKFZhcmlhdmVsQmxvdCwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmlhIHVtYSBpbnN0w6JuY2lhIGRvIFF1aWxsIGNvbSBhIGNvbmZpZ3VyYcOnw6NvIGZvcm5lY2lkYVxyXG4gICAqL1xyXG4gIGNyZWF0ZVF1aWxsSW5zdGFuY2Uoc2VsZWN0b3I6IHN0cmluZywgY29uZmlnOiBLdkVkaXRvclF1aWxsQ29uZmlnKTogUXVpbGwge1xyXG4gICAgdGhpcy5yZWdpc3RlckN1c3RvbUZvcm1hdHMoKTtcclxuICAgIFxyXG4gICAgY29uc3QgUXVpbGxDbGFzcyA9IHRoaXMuZ2V0UXVpbGwoKTtcclxuICAgIHRoaXMucXVpbGxJbnN0YW5jZSA9IG5ldyBRdWlsbENsYXNzKHNlbGVjdG9yLCB7XHJcbiAgICAgIHRoZW1lOiBjb25maWcudGhlbWUsXHJcbiAgICAgIG1vZHVsZXM6IGNvbmZpZy5tb2R1bGVzLFxyXG4gICAgICBwbGFjZWhvbGRlcjogY29uZmlnLnBsYWNlaG9sZGVyLFxyXG4gICAgICByZWFkT25seTogY29uZmlnLnJlYWRPbmx5LFxyXG4gICAgICBkZWJ1ZzogY29uZmlnLmRlYnVnLFxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucXVpbGxJbnN0YW5jZSE7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnTDqW0gYSBpbnN0w6JuY2lhIGF0dWFsIGRvIFF1aWxsXHJcbiAgICovXHJcbiAgZ2V0UXVpbGxJbnN0YW5jZSgpOiBRdWlsbCB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMucXVpbGxJbnN0YW5jZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExpbXBhIGEgaW5zdMOibmNpYSBkbyBRdWlsbFxyXG4gICAqL1xyXG4gIGRlc3Ryb3lRdWlsbEluc3RhbmNlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5xdWlsbEluc3RhbmNlID0gbnVsbDtcclxuICB9XHJcbn1cclxuIl19
@@ -49,12 +49,27 @@ export class KvEditorRelatorioService {
49
49
  getIdRelatorioSelected() {
50
50
  return this.idRelatorioSelected();
51
51
  }
52
+ /**
53
+ * Procura uma variável recursivamente por ID
54
+ */
55
+ findVariableRecursive(variaveis, id) {
56
+ for (const v of variaveis) {
57
+ if (v.id === id)
58
+ return v;
59
+ if (v.filhos && v.filhos.length > 0) {
60
+ const found = this.findVariableRecursive(v.filhos, id);
61
+ if (found)
62
+ return found;
63
+ }
64
+ }
65
+ return undefined;
66
+ }
52
67
  /**
53
68
  * Renderiza o template do contrato com as variáveis
54
69
  */
55
70
  renderContrato(texto, variaveis) {
56
71
  return texto.replace(/\{(\d+)\}/g, (_, id) => {
57
- const v = variaveis.find(v => v.id === parseInt(id));
72
+ const v = this.findVariableRecursive(variaveis, parseInt(id));
58
73
  if (!v)
59
74
  return `{${id}}`;
60
75
  return `<span class="variavel-inserida"
@@ -67,10 +82,10 @@ export class KvEditorRelatorioService {
67
82
  */
68
83
  renderContratoParaPdf(texto, variaveis, tipoVisualizacao) {
69
84
  return texto.replace(/\{(\d+)\}/g, (_, id) => {
70
- const v = variaveis.find(v => v.id === parseInt(id));
85
+ const v = this.findVariableRecursive(variaveis, parseInt(id));
71
86
  if (!v)
72
87
  return `{${id}}`;
73
- const descricao = tipoVisualizacao === 'descricao' ? v.descricao : v.value;
88
+ const descricao = tipoVisualizacao === 'descricao' ? v.descricao : (v.value || '');
74
89
  return descricao || '';
75
90
  });
76
91
  }
@@ -83,13 +98,13 @@ export class KvEditorRelatorioService {
83
98
  return [];
84
99
  return relatorio.variaveis.filter(v => v.descricao.toLowerCase().includes(termo.toLowerCase()));
85
100
  }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorRelatorioService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
87
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorRelatorioService, providedIn: 'root' }); }
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvEditorRelatorioService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
102
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvEditorRelatorioService, providedIn: 'root' }); }
88
103
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorRelatorioService, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvEditorRelatorioService, decorators: [{
90
105
  type: Injectable,
91
106
  args: [{
92
107
  providedIn: 'root'
93
108
  }]
94
109
  }] });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLXJlbGF0b3Jpby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWVkaXRvci9zZXJ2aWNlcy9rdi1lZGl0b3ItcmVsYXRvcmlvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTW5ELE1BQU0sT0FBTyx3QkFBd0I7SUFIckM7UUFLVSxlQUFVLEdBQUcsTUFBTSxDQUFzQixFQUFFLENBQUMsQ0FBQztRQUM3QyxzQkFBaUIsR0FBRyxNQUFNLENBQTJCLElBQUksQ0FBQyxDQUFDO1FBQzNELHdCQUFtQixHQUFHLE1BQU0sQ0FBUyxDQUFDLENBQUMsQ0FBQztLQTBGakQ7SUF4RkM7O09BRUc7SUFDSCxhQUFhLENBQUMsVUFBK0I7UUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUUzRCxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0QyxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLENBQUMsU0FBNEI7UUFDdkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsS0FBYSxFQUFFLFNBQTZCO1FBQ3pELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDM0MsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLENBQUM7Z0JBQUUsT0FBTyxJQUFJLEVBQUUsR0FBRyxDQUFDO1lBRXpCLE9BQU87OzZCQUVnQixDQUFDLENBQUMsU0FBUyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsU0FBUyxTQUFTLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxxQkFBcUIsQ0FBQyxLQUFhLEVBQUUsU0FBNkIsRUFBRSxnQkFBdUM7UUFDekcsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUMzQyxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsQ0FBQztnQkFBRSxPQUFPLElBQUksRUFBRSxHQUFHLENBQUM7WUFDekIsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzNFLE9BQU8sU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLEtBQWE7UUFDNUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUUxQixPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ3BDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUN4RCxDQUFDO0lBQ0osQ0FBQzs4R0E3RlUsd0JBQXdCO2tIQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTs7MkZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBLdkVkaXRvclJlbGF0b3JpbywgS3ZFZGl0b3JWYXJpYXZlbCB9IGZyb20gJy4uL3R5cGVzL2t2LWVkaXRvci50eXBlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkVkaXRvclJlbGF0b3Jpb1NlcnZpY2Uge1xyXG4gIFxyXG4gIHByaXZhdGUgcmVsYXRvcmlvcyA9IHNpZ25hbDxLdkVkaXRvclJlbGF0b3Jpb1tdPihbXSk7XHJcbiAgcHJpdmF0ZSByZWxhdG9yaW9TZWxlY3RlZCA9IHNpZ25hbDxLdkVkaXRvclJlbGF0b3JpbyB8IG51bGw+KG51bGwpO1xyXG4gIHByaXZhdGUgaWRSZWxhdG9yaW9TZWxlY3RlZCA9IHNpZ25hbDxudW1iZXI+KDApO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgYSBsaXN0YSBkZSByZWxhdMOzcmlvcyBkaXNwb27DrXZlaXNcclxuICAgKi9cclxuICBzZXRSZWxhdG9yaW9zKHJlbGF0b3Jpb3M6IEt2RWRpdG9yUmVsYXRvcmlvW10pOiB2b2lkIHtcclxuICAgIHRoaXMucmVsYXRvcmlvcy5zZXQocmVsYXRvcmlvcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnTDqW0gYSBsaXN0YSBkZSByZWxhdMOzcmlvc1xyXG4gICAqL1xyXG4gIGdldFJlbGF0b3Jpb3MoKTogS3ZFZGl0b3JSZWxhdG9yaW9bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWxhdG9yaW9zKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWxlY2lvbmEgdW0gcmVsYXTDs3JpbyBwZWxvIElEXHJcbiAgICovXHJcbiAgc2V0UmVsYXRvcmlvUG9ySWQoaWQ6IGFueSk6IEt2RWRpdG9yUmVsYXRvcmlvIHwgbnVsbCB7XHJcbiAgICB0aGlzLmlkUmVsYXRvcmlvU2VsZWN0ZWQuc2V0KGlkKTtcclxuICAgIGNvbnN0IHJlbGF0b3JpbyA9IHRoaXMucmVsYXRvcmlvcygpLmZpbmQociA9PiByLmlkID09PSBpZCk7XHJcbiAgICBcclxuICAgIGlmIChyZWxhdG9yaW8pIHtcclxuICAgICAgdGhpcy5yZWxhdG9yaW9TZWxlY3RlZC5zZXQocmVsYXRvcmlvKTtcclxuICAgICAgcmV0dXJuIHJlbGF0b3JpbztcclxuICAgIH1cclxuICAgIFxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgbyByZWxhdMOzcmlvIHNlbGVjaW9uYWRvXHJcbiAgICovXHJcbiAgc2V0UmVsYXRvcmlvKHJlbGF0b3JpbzogS3ZFZGl0b3JSZWxhdG9yaW8pOiB2b2lkIHtcclxuICAgIHRoaXMuaWRSZWxhdG9yaW9TZWxlY3RlZC5zZXQocmVsYXRvcmlvLmlkKTtcclxuICAgIHRoaXMucmVsYXRvcmlvU2VsZWN0ZWQuc2V0KHJlbGF0b3Jpbyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnTDqW0gbyByZWxhdMOzcmlvIHNlbGVjaW9uYWRvXHJcbiAgICovXHJcbiAgZ2V0UmVsYXRvcmlvU2VsZWN0ZWQoKTogS3ZFZGl0b3JSZWxhdG9yaW8gfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLnJlbGF0b3Jpb1NlbGVjdGVkKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnTDqW0gbyBJRCBkbyByZWxhdMOzcmlvIHNlbGVjaW9uYWRvXHJcbiAgICovXHJcbiAgZ2V0SWRSZWxhdG9yaW9TZWxlY3RlZCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaWRSZWxhdG9yaW9TZWxlY3RlZCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVuZGVyaXphIG8gdGVtcGxhdGUgZG8gY29udHJhdG8gY29tIGFzIHZhcmnDoXZlaXNcclxuICAgKi9cclxuICByZW5kZXJDb250cmF0byh0ZXh0bzogc3RyaW5nLCB2YXJpYXZlaXM6IEt2RWRpdG9yVmFyaWF2ZWxbXSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGV4dG8ucmVwbGFjZSgvXFx7KFxcZCspXFx9L2csIChfLCBpZCkgPT4ge1xyXG4gICAgICBjb25zdCB2ID0gdmFyaWF2ZWlzLmZpbmQodiA9PiB2LmlkID09PSBwYXJzZUludChpZCkpO1xyXG4gICAgICBpZiAoIXYpIHJldHVybiBgeyR7aWR9fWA7XHJcblxyXG4gICAgICByZXR1cm4gYDxzcGFuIGNsYXNzPVwidmFyaWF2ZWwtaW5zZXJpZGFcIlxyXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZTZmN2ZmOyBjb2xvcjogIzAwNjZjYzsgYm9yZGVyLXJhZGl1czogM3B4OyBwYWRkaW5nOiAycHggNHB4OyBmb250LXdlaWdodDogNTAwO1wiXHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCIke3YuZGVzY3JpY2FvID8/ICcnfVwiPiR7di5kZXNjcmljYW99PC9zcGFuPmA7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbmRlcml6YSBvIGNvbnRyYXRvIHBhcmEgUERGIChzZW0gZm9ybWF0YcOnw6NvIEhUTUwpXHJcbiAgICovXHJcbiAgcmVuZGVyQ29udHJhdG9QYXJhUGRmKHRleHRvOiBzdHJpbmcsIHZhcmlhdmVpczogS3ZFZGl0b3JWYXJpYXZlbFtdLCB0aXBvVmlzdWFsaXphY2FvOiAndmFsb3InIHwgJ2Rlc2NyaWNhbycpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRleHRvLnJlcGxhY2UoL1xceyhcXGQrKVxcfS9nLCAoXywgaWQpID0+IHtcclxuICAgICAgY29uc3QgdiA9IHZhcmlhdmVpcy5maW5kKHYgPT4gdi5pZCA9PT0gcGFyc2VJbnQoaWQpKTtcclxuICAgICAgaWYgKCF2KSByZXR1cm4gYHske2lkfX1gO1xyXG4gICAgICBjb25zdCBkZXNjcmljYW8gPSB0aXBvVmlzdWFsaXphY2FvID09PSAnZGVzY3JpY2FvJyA/IHYuZGVzY3JpY2FvIDogdi52YWx1ZTtcclxuICAgICAgcmV0dXJuIGRlc2NyaWNhbyB8fCAnJztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmlsdHJhIHZhcmnDoXZlaXMgYmFzZWFkbyBubyB0ZXJtbyBkZSBidXNjYVxyXG4gICAqL1xyXG4gIGZpbHRyYXJWYXJpYXZlaXModGVybW86IHN0cmluZyk6IEt2RWRpdG9yVmFyaWF2ZWxbXSB7XHJcbiAgICBjb25zdCByZWxhdG9yaW8gPSB0aGlzLmdldFJlbGF0b3Jpb1NlbGVjdGVkKCk7XHJcbiAgICBpZiAoIXJlbGF0b3JpbykgcmV0dXJuIFtdO1xyXG5cclxuICAgIHJldHVybiByZWxhdG9yaW8udmFyaWF2ZWlzLmZpbHRlcih2ID0+IFxyXG4gICAgICB2LmRlc2NyaWNhby50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm1vLnRvTG93ZXJDYXNlKCkpXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLXJlbGF0b3Jpby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWVkaXRvci9zZXJ2aWNlcy9rdi1lZGl0b3ItcmVsYXRvcmlvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTW5ELE1BQU0sT0FBTyx3QkFBd0I7SUFIckM7UUFLVSxlQUFVLEdBQUcsTUFBTSxDQUFzQixFQUFFLENBQUMsQ0FBQztRQUM3QyxzQkFBaUIsR0FBRyxNQUFNLENBQTJCLElBQUksQ0FBQyxDQUFDO1FBQzNELHdCQUFtQixHQUFHLE1BQU0sQ0FBUyxDQUFDLENBQUMsQ0FBQztLQXdHakQ7SUF0R0M7O09BRUc7SUFDSCxhQUFhLENBQUMsVUFBK0I7UUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUUzRCxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0QyxPQUFPLFNB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QUFDO0lBQ0osQ0FBQzsrR0EzR1Usd0JBQXdCO21IQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTs7NEZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBLdkVkaXRvclJlbGF0b3JpbywgS3ZFZGl0b3JWYXJpYXZlbCB9IGZyb20gJy4uL3R5cGVzL2t2LWVkaXRvci50eXBlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkVkaXRvclJlbGF0b3Jpb1NlcnZpY2Uge1xyXG4gIFxyXG4gIHByaXZhdGUgcmVsYXRvcmlvcyA9IHNpZ25hbDxLdkVkaXRvclJlbGF0b3Jpb1tdPihbXSk7XHJcbiAgcHJpdmF0ZSByZWxhdG9yaW9TZWxlY3RlZCA9IHNpZ25hbDxLdkVkaXRvclJlbGF0b3JpbyB8IG51bGw+KG51bGwpO1xyXG4gIHByaXZhdGUgaWRSZWxhdG9yaW9TZWxlY3RlZCA9IHNpZ25hbDxudW1iZXI+KDApO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgYSBsaXN0YSBkZSByZWxhdMOzcmlvcyBkaXNwb27DrXZlaXNcclxuICAgKi9cclxuICBzZXRSZWxhdG9yaW9zKHJlbGF0b3Jpb3M6IEt2RWRpdG9yUmVsYXRvcmlvW10pOiB2b2lkIHtcclxuICAgIHRoaXMucmVsYXRvcmlvcy5zZXQocmVsYXRvcmlvcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnTDqW0gYSBsaXN0YSBkZSByZWxhdMOzcmlvc1xyXG4gICAqL1xyXG4gIGdldFJlbGF0b3Jpb3MoKTogS3ZFZGl0b3JSZWxhdG9yaW9bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWxhdG9yaW9zKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWxlY2lvbmEgdW0gcmVsYXTDs3JpbyBwZWxvIElEXHJcbiAgICovXHJcbiAgc2V0UmVsYXRvcmlvUG9ySWQoaWQ6IGFueSk6IEt2RWRpdG9yUmVsYXRvcmlvIHwgbnVsbCB7XHJcbiAgICB0aGlzLmlkUmVsYXRvcmlvU2VsZWN0ZWQuc2V0KGlkKTtcclxuICAgIGNvbnN0IHJlbGF0b3JpbyA9IHRoaXMucmVsYXRvcmlvcygpLmZpbmQociA9PiByLmlkID09PSBpZCk7XHJcbiAgICBcclxuICAgIGlmIChyZWxhdG9yaW8pIHtcclxuICAgICAgdGhpcy5yZWxhdG9yaW9TZWxlY3RlZC5zZXQocmVsYXRvcmlvKTtcclxuICAgICAgcmV0dXJuIHJlbGF0b3JpbztcclxuICAgIH1cclxuICAgIFxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmUgbyByZWxhdMOzcmlvIHNlbGVjaW9uYWRvXHJcbiAgICovXHJcbiAgc2V0UmVsYXRvcmlvKHJlbGF0b3JpbzogS3ZFZGl0b3JSZWxhdG9yaW8pOiB2b2lkIHtcclxuICAgIHRoaXMuaWRSZWxhdG9yaW9TZWxlY3RlZC5zZXQocmVsYXRvcmlvLmlkKTtcclxuICAgIHRoaXMucmVsYXRvcmlvU2VsZWN0ZWQuc2V0KHJlbGF0b3Jpbyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnTDqW0gbyByZWxhdMOzcmlvIHNlbGVjaW9uYWRvXHJcbiAgICovXHJcbiAgZ2V0UmVsYXRvcmlvU2VsZWN0ZWQoKTogS3ZFZGl0b3JSZWxhdG9yaW8gfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLnJlbGF0b3Jpb1NlbGVjdGVkKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPYnTDqW0gbyBJRCBkbyByZWxhdMOzcmlvIHNlbGVjaW9uYWRvXHJcbiAgICovXHJcbiAgZ2V0SWRSZWxhdG9yaW9TZWxlY3RlZCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaWRSZWxhdG9yaW9TZWxlY3RlZCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJvY3VyYSB1bWEgdmFyacOhdmVsIHJlY3Vyc2l2YW1lbnRlIHBvciBJRFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZmluZFZhcmlhYmxlUmVjdXJzaXZlKHZhcmlhdmVpczogS3ZFZGl0b3JWYXJpYXZlbFtdLCBpZDogbnVtYmVyKTogS3ZFZGl0b3JWYXJpYXZlbCB8IHVuZGVmaW5lZCB7XHJcbiAgICBmb3IgKGNvbnN0IHYgb2YgdmFyaWF2ZWlzKSB7XHJcbiAgICAgIGlmICh2LmlkID09PSBpZCkgcmV0dXJuIHY7XHJcbiAgICAgIGlmICh2LmZpbGhvcyAmJiB2LmZpbGhvcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLmZpbmRWYXJpYWJsZVJlY3Vyc2l2ZSh2LmZpbGhvcywgaWQpO1xyXG4gICAgICAgIGlmIChmb3VuZCkgcmV0dXJuIGZvdW5kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVuZGVyaXphIG8gdGVtcGxhdGUgZG8gY29udHJhdG8gY29tIGFzIHZhcmnDoXZlaXNcclxuICAgKi9cclxuICByZW5kZXJDb250cmF0byh0ZXh0bzogc3RyaW5nLCB2YXJpYXZlaXM6IEt2RWRpdG9yVmFyaWF2ZWxbXSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGV4dG8ucmVwbGFjZSgvXFx7KFxcZCspXFx9L2csIChfLCBpZCkgPT4ge1xyXG4gICAgICBjb25zdCB2ID0gdGhpcy5maW5kVmFyaWFibGVSZWN1cnNpdmUodmFyaWF2ZWlzLCBwYXJzZUludChpZCkpO1xyXG4gICAgICBpZiAoIXYpIHJldHVybiBgeyR7aWR9fWA7XHJcblxyXG4gICAgICByZXR1cm4gYDxzcGFuIGNsYXNzPVwidmFyaWF2ZWwtaW5zZXJpZGFcIlxyXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZTZmN2ZmOyBjb2xvcjogIzAwNjZjYzsgYm9yZGVyLXJhZGl1czogM3B4OyBwYWRkaW5nOiAycHggNHB4OyBmb250LXdlaWdodDogNTAwO1wiXHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCIke3YuZGVzY3JpY2FvID8/ICcnfVwiPiR7di5kZXNjcmljYW99PC9zcGFuPmA7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbmRlcml6YSBvIGNvbnRyYXRvIHBhcmEgUERGIChzZW0gZm9ybWF0YcOnw6NvIEhUTUwpXHJcbiAgICovXHJcbiAgcmVuZGVyQ29udHJhdG9QYXJhUGRmKHRleHRvOiBzdHJpbmcsIHZhcmlhdmVpczogS3ZFZGl0b3JWYXJpYXZlbFtdLCB0aXBvVmlzdWFsaXphY2FvOiAndmFsb3InIHwgJ2Rlc2NyaWNhbycpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRleHRvLnJlcGxhY2UoL1xceyhcXGQrKVxcfS9nLCAoXywgaWQpID0+IHtcclxuICAgICAgY29uc3QgdiA9IHRoaXMuZmluZFZhcmlhYmxlUmVjdXJzaXZlKHZhcmlhdmVpcywgcGFyc2VJbnQoaWQpKTtcclxuICAgICAgaWYgKCF2KSByZXR1cm4gYHske2lkfX1gO1xyXG4gICAgICBjb25zdCBkZXNjcmljYW8gPSB0aXBvVmlzdWFsaXphY2FvID09PSAnZGVzY3JpY2FvJyA/IHYuZGVzY3JpY2FvIDogKHYudmFsdWUgfHwgJycpO1xyXG4gICAgICByZXR1cm4gZGVzY3JpY2FvIHx8ICcnO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaWx0cmEgdmFyacOhdmVpcyBiYXNlYWRvIG5vIHRlcm1vIGRlIGJ1c2NhXHJcbiAgICovXHJcbiAgZmlsdHJhclZhcmlhdmVpcyh0ZXJtbzogc3RyaW5nKTogS3ZFZGl0b3JWYXJpYXZlbFtdIHtcclxuICAgIGNvbnN0IHJlbGF0b3JpbyA9IHRoaXMuZ2V0UmVsYXRvcmlvU2VsZWN0ZWQoKTtcclxuICAgIGlmICghcmVsYXRvcmlvKSByZXR1cm4gW107XHJcblxyXG4gICAgcmV0dXJuIHJlbGF0b3Jpby52YXJpYXZlaXMuZmlsdGVyKHYgPT4gXHJcbiAgICAgIHYuZGVzY3JpY2FvLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybW8udG9Mb3dlckNhc2UoKSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWVkaXRvci90eXBlcy9rdi1lZGl0b3IudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgS3ZFZGl0b3JSZWxhdG9yaW8ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBkZXNjcmljYW86IHN0cmluZztcclxuICBtb2RlbG9SZWxhdG9yaW86IHN0cmluZztcclxuICB2YXJpYXZlaXM6IEt2RWRpdG9yVmFyaWF2ZWxbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBLdkVkaXRvclZhcmlhdmVsIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIGRlc2NyaWNhbzogc3RyaW5nO1xyXG4gIHZhbHVlOiBzdHJpbmc7XHJcbiAgY29yPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEt2RWRpdG9yQ29uZmlnIHtcclxuICBjb250ZW50VHlwZTogJ2h0bWwnIHwgJ3RleHQnO1xyXG4gIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gIGRlYnVnOiBib29sZWFuO1xyXG4gIGNhbnZhSGVpZ3RoOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgS3ZFZGl0b3JFdmVudHMge1xyXG4gIG9uVGV4dENoYW5nZTogYW55O1xyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlOiBhbnk7XHJcbiAgb3V0cHV0UmF3OiBzdHJpbmc7XHJcbiAgb3V0cHV0SHRtbDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEt2RWRpdG9yUXVpbGxDb25maWcge1xyXG4gIHRoZW1lOiBzdHJpbmc7XHJcbiAgbW9kdWxlczogYW55O1xyXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgcmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgZGVidWc6IGJvb2xlYW47XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZWRpdG9yLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW5wdXRzL2t2LWVkaXRvci90eXBlcy9rdi1lZGl0b3IudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgS3ZFZGl0b3JSZWxhdG9yaW8ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBkZXNjcmljYW86IHN0cmluZztcclxuICBtb2RlbG9SZWxhdG9yaW86IHN0cmluZztcclxuICB2YXJpYXZlaXM6IEt2RWRpdG9yVmFyaWF2ZWxbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBLdkVkaXRvclZhcmlhdmVsIHtcclxuICBpZD86IG51bWJlcjtcclxuICBkZXNjcmljYW86IHN0cmluZztcclxuICB2YWx1ZT86IHN0cmluZztcclxuICBjb3I/OiBzdHJpbmc7XHJcbiAgZ3J1cG8/OiBzdHJpbmc7XHJcbiAgZmlsaG9zPzogS3ZFZGl0b3JWYXJpYXZlbFtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEt2RWRpdG9yQ29uZmlnIHtcclxuICBjb250ZW50VHlwZTogJ2h0bWwnIHwgJ3RleHQnO1xyXG4gIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gIGRlYnVnOiBib29sZWFuO1xyXG4gIGNhbnZhSGVpZ3RoOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgS3ZFZGl0b3JFdmVudHMge1xyXG4gIG9uVGV4dENoYW5nZTogYW55O1xyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlOiBhbnk7XHJcbiAgb3V0cHV0UmF3OiBzdHJpbmc7XHJcbiAgb3V0cHV0SHRtbDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEt2RWRpdG9yUXVpbGxDb25maWcge1xyXG4gIHRoZW1lOiBzdHJpbmc7XHJcbiAgbW9kdWxlczogYW55O1xyXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgcmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgZGVidWc6IGJvb2xlYW47XHJcbn1cclxuIl19