cmat 0.0.13 → 0.0.14

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 (265) hide show
  1. package/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.d.ts +0 -1
  2. package/components/cascade/cascade-menu/cascade-menu.component.d.ts +0 -1
  3. package/components/chip-input/chip-input.component.d.ts +0 -1
  4. package/components/custom-formly/public-api.d.ts +1 -0
  5. package/components/custom-formly/types/quill/quill.component.d.ts +42 -0
  6. package/components/custom-formly/types/repeat/repeat.component.d.ts +0 -1
  7. package/components/custom-formly/types/select/select.component.d.ts +0 -1
  8. package/components/custom-formly/types/stepper/horizontal/stepper.component.d.ts +0 -1
  9. package/components/custom-formly/types/stepper/vertical/stepper.component.d.ts +0 -1
  10. package/components/custom-formly/types/table/table.component.d.ts +0 -1
  11. package/components/custom-formly/types/tabs/tab.component.d.ts +0 -1
  12. package/components/custom-formly/types/tags/tags.component.d.ts +0 -1
  13. package/components/material-color-picker/material-color-picker.component.d.ts +0 -1
  14. package/components/material-datetimepicker/calendar-body.d.ts +0 -1
  15. package/components/material-datetimepicker/calendar.d.ts +3 -4
  16. package/components/material-datetimepicker/clock.d.ts +0 -1
  17. package/components/material-datetimepicker/datetimepicker.d.ts +3 -4
  18. package/components/material-datetimepicker/month-view.d.ts +0 -1
  19. package/components/pagination/pagination.component.d.ts +0 -1
  20. package/components/popover/popover.component.d.ts +3 -4
  21. package/components/popover/popover.interfaces.d.ts +1 -2
  22. package/components/select-tree/select-tree.component.d.ts +0 -1
  23. package/components/timeline/timeline.component.d.ts +3 -5
  24. package/components/transfer-picker/filter/filter.component.d.ts +0 -1
  25. package/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.d.ts +0 -1
  26. package/esm2022/components/adapter/datetime-adapter.mjs +1 -1
  27. package/esm2022/components/adapter/dayjs-date-adapter.mjs +4 -4
  28. package/esm2022/components/adapter/dayjs-datetime-adapter.mjs +4 -4
  29. package/esm2022/components/adapter/native-datetime-adapter.mjs +4 -4
  30. package/esm2022/components/breadcrumb/breadcrumb-item.directive.mjs +3 -3
  31. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +5 -5
  32. package/esm2022/components/breadcrumb/breadcrumb.service.mjs +4 -4
  33. package/esm2022/components/card/card.component.mjs +4 -4
  34. package/esm2022/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.mjs +5 -8
  35. package/esm2022/components/cascade/cascade-list/cascade-list.component.mjs +4 -4
  36. package/esm2022/components/cascade/cascade-menu/cascade-menu.component.mjs +5 -8
  37. package/esm2022/components/chip-input/chip-input.component.mjs +6 -9
  38. package/esm2022/components/custom-formly/extension/addons.extension.mjs +1 -1
  39. package/esm2022/components/custom-formly/public-api.mjs +2 -1
  40. package/esm2022/components/custom-formly/types/button/button.component.mjs +4 -4
  41. package/esm2022/components/custom-formly/types/cascade/cascade.component.mjs +4 -4
  42. package/esm2022/components/custom-formly/types/checklist/checklist.component.mjs +4 -4
  43. package/esm2022/components/custom-formly/types/chips/chips.component.mjs +4 -4
  44. package/esm2022/components/custom-formly/types/color-picker/color-picker.component.mjs +3 -3
  45. package/esm2022/components/custom-formly/types/date-range/date-range.component.mjs +3 -3
  46. package/esm2022/components/custom-formly/types/datepicker/datepicker.component.mjs +3 -3
  47. package/esm2022/components/custom-formly/types/multicheckbox/multicheckbox.component.mjs +4 -4
  48. package/esm2022/components/custom-formly/types/number/number.component.mjs +3 -3
  49. package/esm2022/components/custom-formly/types/quill/quill.component.mjs +171 -0
  50. package/esm2022/components/custom-formly/types/radio/radio.component.mjs +4 -4
  51. package/esm2022/components/custom-formly/types/rating/rating.component.mjs +3 -3
  52. package/esm2022/components/custom-formly/types/repeat/repeat.component.mjs +5 -8
  53. package/esm2022/components/custom-formly/types/select/select.component.mjs +5 -8
  54. package/esm2022/components/custom-formly/types/select-tree/select-tree.component.mjs +4 -4
  55. package/esm2022/components/custom-formly/types/stepper/horizontal/stepper.component.mjs +5 -8
  56. package/esm2022/components/custom-formly/types/stepper/vertical/stepper.component.mjs +5 -8
  57. package/esm2022/components/custom-formly/types/table/table.component.mjs +5 -8
  58. package/esm2022/components/custom-formly/types/tabs/tab.component.mjs +5 -8
  59. package/esm2022/components/custom-formly/types/tags/tags.component.mjs +5 -8
  60. package/esm2022/components/custom-formly/types/textarea/textarea.component.mjs +3 -3
  61. package/esm2022/components/custom-formly/types/upload/upload.component.mjs +4 -4
  62. package/esm2022/components/custom-formly/wrappers/addons/addons.component.mjs +4 -4
  63. package/esm2022/components/custom-formly/wrappers/card/card.component.mjs +3 -3
  64. package/esm2022/components/custom-formly/wrappers/expansion/expansion.component.mjs +3 -3
  65. package/esm2022/components/custom-formly/wrappers/panel/panel.component.mjs +3 -3
  66. package/esm2022/components/date-range/date-range.component.mjs +4 -4
  67. package/esm2022/components/drawer/drawer.component.mjs +4 -4
  68. package/esm2022/components/drawer/drawer.service.mjs +3 -3
  69. package/esm2022/components/fullscreen/fullscreen.component.mjs +4 -4
  70. package/esm2022/components/highlight/highlight.component.mjs +4 -4
  71. package/esm2022/components/highlight/highlight.service.mjs +4 -4
  72. package/esm2022/components/json-editor/json-editor.component.mjs +4 -4
  73. package/esm2022/components/masonry/masonry.component.mjs +4 -4
  74. package/esm2022/components/material-color-picker/material-color-picker.component.mjs +5 -8
  75. package/esm2022/components/material-datetimepicker/calendar-body.mjs +5 -8
  76. package/esm2022/components/material-datetimepicker/calendar.mjs +7 -13
  77. package/esm2022/components/material-datetimepicker/clock.mjs +5 -8
  78. package/esm2022/components/material-datetimepicker/datetimepicker-input.mjs +4 -4
  79. package/esm2022/components/material-datetimepicker/datetimepicker-intl.mjs +3 -3
  80. package/esm2022/components/material-datetimepicker/datetimepicker-toggle.mjs +7 -7
  81. package/esm2022/components/material-datetimepicker/datetimepicker.mjs +10 -11
  82. package/esm2022/components/material-datetimepicker/month-view.mjs +5 -8
  83. package/esm2022/components/material-datetimepicker/multi-year-view.mjs +4 -4
  84. package/esm2022/components/material-datetimepicker/time.mjs +7 -7
  85. package/esm2022/components/material-datetimepicker/year-view.mjs +4 -4
  86. package/esm2022/components/navigation/horizontal/components/basic/basic.component.mjs +3 -3
  87. package/esm2022/components/navigation/horizontal/components/branch/branch.component.mjs +5 -5
  88. package/esm2022/components/navigation/horizontal/components/divider/divider.component.mjs +3 -3
  89. package/esm2022/components/navigation/horizontal/components/spacer/spacer.component.mjs +3 -3
  90. package/esm2022/components/navigation/horizontal/horizontal.component.mjs +5 -5
  91. package/esm2022/components/navigation/navigation.service.mjs +4 -4
  92. package/esm2022/components/navigation/vertical/components/aside/aside.component.mjs +5 -5
  93. package/esm2022/components/navigation/vertical/components/basic/basic.component.mjs +3 -3
  94. package/esm2022/components/navigation/vertical/components/collapsable/collapsable.component.mjs +5 -5
  95. package/esm2022/components/navigation/vertical/components/divider/divider.component.mjs +3 -3
  96. package/esm2022/components/navigation/vertical/components/group/group.component.mjs +5 -5
  97. package/esm2022/components/navigation/vertical/components/spacer/spacer.component.mjs +3 -3
  98. package/esm2022/components/navigation/vertical/vertical.component.mjs +5 -5
  99. package/esm2022/components/pagination/pagination.component.mjs +5 -8
  100. package/esm2022/components/pagination/pagination.directive.mjs +4 -4
  101. package/esm2022/components/pagination/pagination.pipe.mjs +4 -4
  102. package/esm2022/components/pagination/pagination.service.mjs +4 -4
  103. package/esm2022/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.mjs +3 -3
  104. package/esm2022/components/password-strength/mat-password-strength/mat-password-strength.component.mjs +4 -4
  105. package/esm2022/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.mjs +4 -4
  106. package/esm2022/components/password-strength/mat-password-strength-validator.mjs +1 -1
  107. package/esm2022/components/popover/popover-trigger.mjs +6 -8
  108. package/esm2022/components/popover/popover.component.mjs +6 -7
  109. package/esm2022/components/popover/popover.interfaces.mjs +1 -1
  110. package/esm2022/components/popover/popover.target.mjs +3 -3
  111. package/esm2022/components/progress-bar/progress-bar.component.mjs +4 -4
  112. package/esm2022/components/rating/rating.component.mjs +5 -5
  113. package/esm2022/components/select-search/select-no-entries-found.directive.mjs +3 -3
  114. package/esm2022/components/select-search/select-search-clear.directive.mjs +3 -3
  115. package/esm2022/components/select-search/select-search.component.mjs +4 -4
  116. package/esm2022/components/select-tree/select-tree.component.mjs +5 -8
  117. package/esm2022/components/timeline/timeline-item/timeline-item.component.mjs +9 -9
  118. package/esm2022/components/timeline/timeline.component.mjs +7 -11
  119. package/esm2022/components/toast/toast-modal.component.mjs +4 -4
  120. package/esm2022/components/toast/toast.component.mjs +5 -5
  121. package/esm2022/components/toast/toast.service.mjs +4 -4
  122. package/esm2022/components/transfer-picker/filter/filter.component.mjs +5 -8
  123. package/esm2022/components/transfer-picker/search/search.component.mjs +3 -3
  124. package/esm2022/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.mjs +4 -4
  125. package/esm2022/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.mjs +5 -8
  126. package/esm2022/components/transfer-picker/transfer-picker.component.mjs +4 -4
  127. package/esm2022/components/transfer-picker/transfer-picker.service.mjs +4 -4
  128. package/esm2022/components/upload/files.util.service.mjs +4 -4
  129. package/esm2022/components/upload/upload-queue/upload-queue.component.mjs +4 -4
  130. package/esm2022/components/upload/upload.component.mjs +4 -4
  131. package/esm2022/directives/animate-on-scroll/animate-on-scroll.directive.mjs +4 -4
  132. package/esm2022/directives/animate-on-scroll/scroll.service.mjs +3 -3
  133. package/esm2022/directives/autofocus/autofocus.directive.mjs +3 -3
  134. package/esm2022/directives/debounce/abstract-debounce.directive.mjs +3 -3
  135. package/esm2022/directives/debounce/debounce-click.directive.mjs +3 -3
  136. package/esm2022/directives/debounce/debounce-keyup.directive.mjs +3 -3
  137. package/esm2022/directives/digit-only/digit-only.directive.mjs +4 -4
  138. package/esm2022/directives/digit-only/mask.directive.mjs +4 -4
  139. package/esm2022/directives/equal-validator/equal-validator.directive.mjs +4 -4
  140. package/esm2022/lib/mock-api/mock-api.interceptor.mjs +4 -4
  141. package/esm2022/lib/mock-api/mock-api.request-handler.mjs +1 -1
  142. package/esm2022/lib/mock-api/mock-api.service.mjs +4 -4
  143. package/esm2022/lib/mock-api/mock-api.utils.mjs +1 -1
  144. package/esm2022/pipes/bytes/bytes.pipe.mjs +4 -4
  145. package/esm2022/pipes/date-format/date-format.pipe.mjs +3 -3
  146. package/esm2022/pipes/find-by-key/find-by-key.pipe.mjs +4 -4
  147. package/esm2022/pipes/group-by/group-by.pipe.mjs +4 -4
  148. package/esm2022/pipes/keys/keys.pipe.mjs +4 -4
  149. package/esm2022/pipes/secure/secure-pipe.mjs +3 -3
  150. package/esm2022/pipes/uppercase/uppercase.pipe.mjs +3 -3
  151. package/esm2022/services/alert/alert.service.mjs +4 -4
  152. package/esm2022/services/config/config.service.mjs +3 -3
  153. package/esm2022/services/config/urlStateConfig.service.mjs +3 -3
  154. package/esm2022/services/confirmation/confirmation.service.mjs +3 -3
  155. package/esm2022/services/confirmation/dialog/dialog.component.mjs +3 -3
  156. package/esm2022/services/data/data.service.mjs +4 -4
  157. package/esm2022/services/loading/loading.interceptor.mjs +4 -4
  158. package/esm2022/services/loading/loading.service.mjs +4 -4
  159. package/esm2022/services/local-storage/local-storage.service.mjs +3 -3
  160. package/esm2022/services/media-watcher/media-watcher.service.mjs +4 -4
  161. package/esm2022/services/platform/platform.service.mjs +4 -4
  162. package/esm2022/services/splash-screen/splash-screen.service.mjs +3 -3
  163. package/esm2022/services/title/title.service.mjs +4 -4
  164. package/esm2022/services/translation/translation.service.mjs +4 -4
  165. package/esm2022/services/utils/utils.service.mjs +4 -4
  166. package/esm2022/validators/validators.mjs +1 -1
  167. package/fesm2022/cmat-animations.mjs +1 -1
  168. package/fesm2022/cmat-components-adapter.mjs +9 -9
  169. package/fesm2022/cmat-components-adapter.mjs.map +1 -1
  170. package/fesm2022/cmat-components-breadcrumb.mjs +10 -10
  171. package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
  172. package/fesm2022/cmat-components-card.mjs +3 -3
  173. package/fesm2022/cmat-components-card.mjs.map +1 -1
  174. package/fesm2022/cmat-components-cascade.mjs +11 -17
  175. package/fesm2022/cmat-components-cascade.mjs.map +1 -1
  176. package/fesm2022/cmat-components-chip-input.mjs +5 -8
  177. package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
  178. package/fesm2022/cmat-components-custom-formly.mjs +248 -104
  179. package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
  180. package/fesm2022/cmat-components-date-range.mjs +4 -4
  181. package/fesm2022/cmat-components-date-range.mjs.map +1 -1
  182. package/fesm2022/cmat-components-drawer.mjs +7 -7
  183. package/fesm2022/cmat-components-drawer.mjs.map +1 -1
  184. package/fesm2022/cmat-components-fullscreen.mjs +3 -3
  185. package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
  186. package/fesm2022/cmat-components-highlight.mjs +6 -6
  187. package/fesm2022/cmat-components-highlight.mjs.map +1 -1
  188. package/fesm2022/cmat-components-json-editor.mjs +3 -3
  189. package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
  190. package/fesm2022/cmat-components-masonry.mjs +3 -3
  191. package/fesm2022/cmat-components-masonry.mjs.map +1 -1
  192. package/fesm2022/cmat-components-material-color-picker.mjs +4 -7
  193. package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
  194. package/fesm2022/cmat-components-material-datetimepicker.mjs +53 -68
  195. package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
  196. package/fesm2022/cmat-components-navigation.mjs +46 -46
  197. package/fesm2022/cmat-components-navigation.mjs.map +1 -1
  198. package/fesm2022/cmat-components-pagination.mjs +13 -16
  199. package/fesm2022/cmat-components-pagination.mjs.map +1 -1
  200. package/fesm2022/cmat-components-password-strength.mjs +10 -10
  201. package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
  202. package/fesm2022/cmat-components-popover.mjs +13 -16
  203. package/fesm2022/cmat-components-popover.mjs.map +1 -1
  204. package/fesm2022/cmat-components-progress-bar.mjs +3 -3
  205. package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
  206. package/fesm2022/cmat-components-rating.mjs +4 -4
  207. package/fesm2022/cmat-components-rating.mjs.map +1 -1
  208. package/fesm2022/cmat-components-select-search.mjs +10 -10
  209. package/fesm2022/cmat-components-select-search.mjs.map +1 -1
  210. package/fesm2022/cmat-components-select-tree.mjs +4 -7
  211. package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
  212. package/fesm2022/cmat-components-timeline.mjs +15 -19
  213. package/fesm2022/cmat-components-timeline.mjs.map +1 -1
  214. package/fesm2022/cmat-components-toast.mjs +10 -10
  215. package/fesm2022/cmat-components-toast.mjs.map +1 -1
  216. package/fesm2022/cmat-components-transfer-picker.mjs +20 -26
  217. package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
  218. package/fesm2022/cmat-components-upload.mjs +9 -9
  219. package/fesm2022/cmat-components-upload.mjs.map +1 -1
  220. package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -6
  221. package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
  222. package/fesm2022/cmat-directives-autofocus.mjs +3 -3
  223. package/fesm2022/cmat-directives-debounce.mjs +9 -9
  224. package/fesm2022/cmat-directives-digit-only.mjs +6 -6
  225. package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
  226. package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
  227. package/fesm2022/cmat-directives-equal-validator.mjs.map +1 -1
  228. package/fesm2022/cmat-lib-mock-api.mjs +7 -7
  229. package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
  230. package/fesm2022/cmat-pipes-bytes.mjs +3 -3
  231. package/fesm2022/cmat-pipes-bytes.mjs.map +1 -1
  232. package/fesm2022/cmat-pipes-date-format.mjs +3 -3
  233. package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
  234. package/fesm2022/cmat-pipes-find-by-key.mjs.map +1 -1
  235. package/fesm2022/cmat-pipes-group-by.mjs +3 -3
  236. package/fesm2022/cmat-pipes-group-by.mjs.map +1 -1
  237. package/fesm2022/cmat-pipes-keys.mjs +3 -3
  238. package/fesm2022/cmat-pipes-keys.mjs.map +1 -1
  239. package/fesm2022/cmat-pipes-secure.mjs +3 -3
  240. package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
  241. package/fesm2022/cmat-services-alert.mjs +3 -3
  242. package/fesm2022/cmat-services-alert.mjs.map +1 -1
  243. package/fesm2022/cmat-services-config.mjs +6 -6
  244. package/fesm2022/cmat-services-confirmation.mjs +6 -6
  245. package/fesm2022/cmat-services-data.mjs +3 -3
  246. package/fesm2022/cmat-services-data.mjs.map +1 -1
  247. package/fesm2022/cmat-services-loading.mjs +6 -6
  248. package/fesm2022/cmat-services-loading.mjs.map +1 -1
  249. package/fesm2022/cmat-services-local-storage.mjs +3 -3
  250. package/fesm2022/cmat-services-media-watcher.mjs +3 -3
  251. package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
  252. package/fesm2022/cmat-services-platform.mjs +3 -3
  253. package/fesm2022/cmat-services-platform.mjs.map +1 -1
  254. package/fesm2022/cmat-services-splash-screen.mjs +3 -3
  255. package/fesm2022/cmat-services-title.mjs +3 -3
  256. package/fesm2022/cmat-services-title.mjs.map +1 -1
  257. package/fesm2022/cmat-services-translation.mjs +3 -3
  258. package/fesm2022/cmat-services-translation.mjs.map +1 -1
  259. package/fesm2022/cmat-services-utils.mjs +3 -3
  260. package/fesm2022/cmat-services-utils.mjs.map +1 -1
  261. package/fesm2022/cmat-validators.mjs.map +1 -1
  262. package/package.json +111 -102
  263. package/styles/overrides/angular-material.scss +0 -1
  264. package/styles/overrides/quill.scss +102 -0
  265. package/styles/themes.scss +19 -19
@@ -8,7 +8,6 @@ export declare class CmatCascadeBottomSheetComponent {
8
8
  constructor(root: CmatCascadeListComponent);
9
9
  clickHandle(event: Event): void;
10
10
  select(disabled: boolean, label: string): void;
11
- trackByFn(index: number, item: any): any;
12
11
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatCascadeBottomSheetComponent, never>;
13
12
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatCascadeBottomSheetComponent, "cmat-cascade-bottom-sheet", ["cmatCascadeBottomSheet"], {}, {}, never, never, true, never>;
14
13
  }
@@ -3,7 +3,6 @@ import * as i0 from "@angular/core";
3
3
  export declare class CmatCascadeMenuComponent {
4
4
  root: CmatCascadeListComponent;
5
5
  constructor(root: CmatCascadeListComponent);
6
- trackByFn(index: number, item: any): any;
7
6
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatCascadeMenuComponent, [{ optional: true; }]>;
8
7
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatCascadeMenuComponent, "cmat-cascade-menu", ["cmatCascadeMenu"], {}, {}, never, never, true, never>;
9
8
  }
@@ -51,7 +51,6 @@ export declare class CmatChipInputComponent implements MatFormFieldControl<any>,
51
51
  onAdd(event: MatChipInputEvent): void;
52
52
  onRemove(option: string): void;
53
53
  onSelected(event: MatAutocompleteSelectedEvent): void;
54
- trackByFn(index: number): any;
55
54
  onFocusIn(): void;
56
55
  onFocusOut(event: FocusEvent): void;
57
56
  onActivated(event: MatAutocompleteActivatedEvent): void;
@@ -24,3 +24,4 @@ export * from './types/tabs/tab.component';
24
24
  export * from './types/tags/tags.component';
25
25
  export * from './types/textarea/textarea.component';
26
26
  export * from './types/upload/upload.component';
27
+ export * from './types/quill/quill.component';
@@ -0,0 +1,42 @@
1
+ import { ChangeDetectorRef, OnDestroy } from '@angular/core';
2
+ import { FieldTypeConfig } from '@ngx-formly/core';
3
+ import { FieldType, FormlyFieldProps } from '@ngx-formly/material/form-field';
4
+ import { QuillModules } from 'ngx-quill';
5
+ import { CmatFilesUtilService } from 'cmat/components/upload';
6
+ import { CmatUrlStateConfigService } from 'cmat/services/config';
7
+ import * as i0 from "@angular/core";
8
+ interface QuillProps extends FormlyFieldProps {
9
+ fileAlias: string;
10
+ filePath: string;
11
+ }
12
+ export declare class CmatQuillTypeComponent extends FieldType<FieldTypeConfig<QuillProps>> implements OnDestroy {
13
+ private _fileService;
14
+ private _urlStateConfigService;
15
+ private _changeDetectorRef;
16
+ private imgInput;
17
+ private videoInput;
18
+ quillModules: QuillModules;
19
+ defaultOptions: {
20
+ props: {
21
+ fileAlias: string;
22
+ filePath: string;
23
+ };
24
+ };
25
+ private _editorInstance;
26
+ private _imgIds;
27
+ private _config;
28
+ private _unsubscribeAll;
29
+ constructor(_fileService: CmatFilesUtilService, _urlStateConfigService: CmatUrlStateConfigService, _changeDetectorRef: ChangeDetectorRef);
30
+ ngOnDestroy(): void;
31
+ fileChangeEvent(file: any): void;
32
+ editorCreated(editorInstance: any): void;
33
+ contentChanged(editorInstance: any): void;
34
+ private _imgFileHandler;
35
+ private _videoFileHandler;
36
+ private _dropFileHandler;
37
+ private _upload;
38
+ private _getMediaType;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<CmatQuillTypeComponent, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<CmatQuillTypeComponent, "cmat-quill-type", never, {}, {}, never, never, true, never>;
41
+ }
42
+ export {};
@@ -9,7 +9,6 @@ export declare class CmatRepeatTypeComponent extends FieldArrayType<FieldTypeCon
9
9
  addText: string;
10
10
  };
11
11
  };
12
- trackByFn(index: number): any;
13
12
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatRepeatTypeComponent, never>;
14
13
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatRepeatTypeComponent, "cmat-repeat-type", never, {}, {}, never, never, true, never>;
15
14
  }
@@ -46,7 +46,6 @@ export declare class CmatSelectTypeComponent extends FieldType<FieldTypeConfig<S
46
46
  toggleSelectAll(selectAllValue: boolean): void;
47
47
  filterMulti(): void;
48
48
  setToggleAllCheckboxState(): void;
49
- trackByFn(index: number): any;
50
49
  compareWithFn(o1: any, o2: any): boolean;
51
50
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatSelectTypeComponent, never>;
52
51
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatSelectTypeComponent, "cmat-select-search-type", never, {}, {}, never, never, true, never>;
@@ -3,7 +3,6 @@ import { StepperProps } from '../stepper.type';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class CmatStepperHorizontalTypeComponent extends FieldType<FieldTypeConfig<StepperProps>> {
5
5
  isValid(field: FormlyFieldConfig): boolean;
6
- trackByFn(index: number): any;
7
6
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatStepperHorizontalTypeComponent, never>;
8
7
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatStepperHorizontalTypeComponent, "cmat-stepper-horizontal-type", never, {}, {}, never, never, true, never>;
9
8
  }
@@ -3,7 +3,6 @@ import { StepperProps } from '../stepper.type';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class CmatStepperVerticalTypeComponent extends FieldType<FieldTypeConfig<StepperProps>> {
5
5
  isValid(field: FormlyFieldConfig): boolean;
6
- trackByFn(index: number): any;
7
6
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatStepperVerticalTypeComponent, never>;
8
7
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatStepperVerticalTypeComponent, "cmat-stepper-vertical-type", never, {}, {}, never, never, true, never>;
9
8
  }
@@ -36,7 +36,6 @@ export declare class CmatTableTypeComponent extends FieldArrayType<FieldTypeConf
36
36
  editRow(item: any, index: number): void;
37
37
  deleteRow(id: number): void;
38
38
  confirm(): void;
39
- trackByFn(index: number): any;
40
39
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatTableTypeComponent, never>;
41
40
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatTableTypeComponent, "cmat-table-type", never, {}, {}, never, never, true, never>;
42
41
  }
@@ -2,7 +2,6 @@ import { FieldTypeConfig } from '@ngx-formly/core';
2
2
  import { FieldType } from '@ngx-formly/material';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class CmatTabTypeComponent extends FieldType<FieldTypeConfig> {
5
- trackByFn(index: number): any;
6
5
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatTabTypeComponent, never>;
7
6
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatTabTypeComponent, "cmat-tab-type", never, {}, {}, never, never, true, never>;
8
7
  }
@@ -33,7 +33,6 @@ export declare class CmatTagsTypeComponent extends FieldType<FieldTypeConfig<Tag
33
33
  openTagsPanel(): void;
34
34
  filterTags(event: any): void;
35
35
  toggleTag(tag: any): void;
36
- trackByFn(index: number): any;
37
36
  isCheck(tag: any): boolean;
38
37
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatTagsTypeComponent, never>;
39
38
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatTagsTypeComponent, "cmat-tags-type", never, {}, {}, never, never, true, never>;
@@ -33,7 +33,6 @@ export declare class CmatMaterialColorPickerComponent implements ControlValueAcc
33
33
  updateSelectedColor(): void;
34
34
  goToPalettesView(): void;
35
35
  onMenuOpen(opened: boolean): void;
36
- trackByFn(index: number, item: any): any;
37
36
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatMaterialColorPickerComponent, never>;
38
37
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatMaterialColorPickerComponent, "cmat-material-color-picker", ["cmatMaterialColorPicker"], { "color": { "alias": "color"; "required": false; }; "title": { "alias": "title"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; }, { "colorChanged": "colorChanged"; }, never, never, true, never>;
39
38
  }
@@ -37,7 +37,6 @@ export declare class CmatDatetimepickerCalendarBodyComponent {
37
37
  get _firstRowOffset(): number;
38
38
  cellClicked(cell: CmatDatetimepickerCalendarCellComponent): void;
39
39
  isActiveCell(rowIndex: number, colIndex: number): boolean;
40
- trackByFn(index: number, item: CmatDatetimepickerCalendarCellComponent): any;
41
40
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatDatetimepickerCalendarBodyComponent, never>;
42
41
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatDatetimepickerCalendarBodyComponent, "[cmat-datetimepicker-calendar-body]", ["cmatDatetimepickerCalendarBody"], { "label": { "alias": "label"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "todayValue": { "alias": "todayValue"; "required": false; }; "selectedValue": { "alias": "selectedValue"; "required": false; }; "labelMinRequiredCells": { "alias": "labelMinRequiredCells"; "required": false; }; "numCols": { "alias": "numCols"; "required": false; }; "allowDisabledSelection": { "alias": "allowDisabledSelection"; "required": false; }; "activeCell": { "alias": "activeCell"; "required": false; }; }, { "selectedValueChange": "selectedValueChange"; }, never, never, true, never>;
43
42
  }
@@ -1,4 +1,4 @@
1
- import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnDestroy } from '@angular/core';
1
+ import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
2
2
  import { CmatDatetimeFormats, DatetimeAdapter } from 'cmat/components/adapter';
3
3
  import { CmatDatetimepickerFilterType } from './datetimepicker-filtertype';
4
4
  import { CmatDatetimepickerIntl } from './datetimepicker-intl';
@@ -10,7 +10,6 @@ import * as i0 from "@angular/core";
10
10
  export declare class CmatDatetimepickerCalendarComponent<D> implements AfterContentInit, OnDestroy {
11
11
  private _elementRef;
12
12
  private _intl;
13
- private _ngZone;
14
13
  private _adapter;
15
14
  private _dateFormats;
16
15
  userSelection: EventEmitter<void>;
@@ -45,7 +44,7 @@ export declare class CmatDatetimepickerCalendarComponent<D> implements AfterCont
45
44
  private _minDate;
46
45
  private _maxDate;
47
46
  private _timeInput;
48
- constructor(_elementRef: ElementRef, _intl: CmatDatetimepickerIntl, _ngZone: NgZone, _adapter: DatetimeAdapter<D>, _dateFormats: CmatDatetimeFormats, changeDetectorRef: ChangeDetectorRef);
47
+ constructor(_elementRef: ElementRef, _intl: CmatDatetimepickerIntl, _adapter: DatetimeAdapter<D>, _dateFormats: CmatDatetimeFormats, changeDetectorRef: ChangeDetectorRef);
49
48
  get type(): CmatDatetimepickerType;
50
49
  set type(value: CmatDatetimepickerType);
51
50
  /** A date representing the period (month or year) to start the calendar in. */
@@ -141,6 +140,6 @@ export declare class CmatDatetimepickerCalendarComponent<D> implements AfterCont
141
140
  private _nextMonthInSameCol;
142
141
  private _changeCalendarState;
143
142
  private _2digit;
144
- static ɵfac: i0.ɵɵFactoryDeclaration<CmatDatetimepickerCalendarComponent<any>, [null, null, null, { optional: true; }, { optional: true; }, null]>;
143
+ static ɵfac: i0.ɵɵFactoryDeclaration<CmatDatetimepickerCalendarComponent<any>, [null, null, { optional: true; }, { optional: true; }, null]>;
145
144
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatDatetimepickerCalendarComponent<any>, "cmat-datetimepicker-calendar", ["cmatDatetimepickerCalendar"], { "multiYearSelector": { "alias": "multiYearSelector"; "required": false; }; "startView": { "alias": "startView"; "required": false; }; "twelvehour": { "alias": "twelvehour"; "required": false; }; "timeInterval": { "alias": "timeInterval"; "required": false; }; "dateFilter": { "alias": "dateFilter"; "required": false; }; "preventSameDateTimeSelection": { "alias": "preventSameDateTimeSelection"; "required": false; }; "type": { "alias": "type"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "timeInput": { "alias": "timeInput"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; }, { "userSelection": "userSelection"; "selectedChange": "selectedChange"; "viewChanged": "viewChanged"; }, never, never, true, never>;
146
145
  }
@@ -60,7 +60,6 @@ export declare class CmatDatetimepickerClockComponent<D> implements AfterContent
60
60
  ngAfterContentInit(): void;
61
61
  handleMousemove(event: any): void;
62
62
  handleMouseup(): void;
63
- trackByFn(index: number, item: any): any;
64
63
  /** Initializes this clock view. */
65
64
  private _init;
66
65
  /**
@@ -1,6 +1,6 @@
1
1
  import { Directionality } from '@angular/cdk/bidi';
2
2
  import { Overlay, ScrollStrategy } from '@angular/cdk/overlay';
3
- import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, NgZone, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
3
+ import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
4
4
  import { ThemePalette } from '@angular/material/core';
5
5
  import { Subject } from 'rxjs';
6
6
  import { DatetimeAdapter } from 'cmat/components/adapter';
@@ -47,7 +47,6 @@ export declare class CmatDatetimepickerContentComponent<D> implements OnInit, Af
47
47
  }
48
48
  export declare class CmatDatetimepickerComponent<D> implements OnDestroy {
49
49
  private _overlay;
50
- private _ngZone;
51
50
  private _viewContainerRef;
52
51
  private _scrollStrategy;
53
52
  private _dateAdapter;
@@ -98,7 +97,7 @@ export declare class CmatDatetimepickerComponent<D> implements OnDestroy {
98
97
  private _disabled;
99
98
  private _timeInput;
100
99
  private _restoreFocus;
101
- constructor(_overlay: Overlay, _ngZone: NgZone, _viewContainerRef: ViewContainerRef, _scrollStrategy: any, _dateAdapter: DatetimeAdapter<D>, _dir: Directionality, _document: any);
100
+ constructor(_overlay: Overlay, _viewContainerRef: ViewContainerRef, _scrollStrategy: any, _dateAdapter: DatetimeAdapter<D>, _dir: Directionality, _document: any);
102
101
  /** Whether to show multi-year view. */
103
102
  get multiYearSelector(): boolean;
104
103
  set multiYearSelector(value: boolean);
@@ -185,6 +184,6 @@ export declare class CmatDatetimepickerComponent<D> implements OnDestroy {
185
184
  private _setConnectedPositions;
186
185
  /** Gets an observable that will emit when the overlay is supposed to be closed. */
187
186
  private _getCloseStream;
188
- static ɵfac: i0.ɵɵFactoryDeclaration<CmatDatetimepickerComponent<any>, [null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
187
+ static ɵfac: i0.ɵɵFactoryDeclaration<CmatDatetimepickerComponent<any>, [null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
189
188
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatDatetimepickerComponent<any>, "cmat-datetimepicker", ["cmatDatetimepicker"], { "startView": { "alias": "startView"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "timeInterval": { "alias": "timeInterval"; "required": false; }; "preventSameDateTimeSelection": { "alias": "preventSameDateTimeSelection"; "required": false; }; "xPosition": { "alias": "xPosition"; "required": false; }; "yPosition": { "alias": "yPosition"; "required": false; }; "multiYearSelector": { "alias": "multiYearSelector"; "required": false; }; "twelvehour": { "alias": "twelvehour"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "opened": { "alias": "opened"; "required": false; }; "color": { "alias": "color"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "type": { "alias": "type"; "required": false; }; "timeInput": { "alias": "timeInput"; "required": false; }; "touchUi": { "alias": "touchUi"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; }; }, { "selectedChanged": "selectedChanged"; "openedStream": "openedStream"; "closedStream": "closedStream"; "viewChanged": "viewChanged"; }, never, never, true, never>;
190
189
  }
@@ -47,7 +47,6 @@ export declare class CmatDatetimepickerMonthViewComponent<D> implements AfterCon
47
47
  /** Handles when a new date is selected. */
48
48
  dateSelected(date: number): void;
49
49
  calendarStateDone(): void;
50
- trackByFn(index: number, item: any): any;
51
50
  /** Initializes this month view. */
52
51
  private _init;
53
52
  /** Creates MdCalendarCells for the dates in this month. */
@@ -18,7 +18,6 @@ export declare class CmatPaginationComponent implements OnInit {
18
18
  get autoHide(): boolean;
19
19
  set autoHide(value: boolean);
20
20
  ngOnInit(): void;
21
- trackByIndex(index: number): number;
22
21
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatPaginationComponent, never>;
23
22
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatPaginationComponent, "cmat-pagination", ["cmatPagination"], { "id": { "alias": "id"; "required": false; }; "maxSize": { "alias": "maxSize"; "required": false; }; "itemsPerPages": { "alias": "itemsPerPages"; "required": false; }; "initPerPage": { "alias": "initPerPage"; "required": false; }; "autoHide": { "alias": "autoHide"; "required": false; }; }, { "pageChange": "pageChange"; "pageBoundsCorrection": "pageBoundsCorrection"; "perPageCountChange": "perPageCountChange"; }, never, never, true, never>;
24
23
  }
@@ -1,14 +1,13 @@
1
1
  import { AnimationEvent } from '@angular/animations';
2
2
  import { Directionality } from '@angular/cdk/bidi';
3
3
  import { BooleanInput } from '@angular/cdk/coercion';
4
- import { ElementRef, EventEmitter, NgZone, OnDestroy, TemplateRef } from '@angular/core';
4
+ import { ElementRef, EventEmitter, OnDestroy, TemplateRef } from '@angular/core';
5
5
  import { CmatPopoverPanel } from './popover.interfaces';
6
6
  import { CmatPopoverPosition, CmatPopoverScrollStrategy, CmatPopoverTriggerEvent } from './popover.type';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class CmatPopoverComponent implements CmatPopoverPanel, OnDestroy {
9
9
  private _dir;
10
10
  private _elementRef;
11
- zone: NgZone;
12
11
  static ngAcceptInputType_closeOnPanelClick: BooleanInput;
13
12
  static ngAcceptInputType_closeOnBackdropClick: BooleanInput;
14
13
  static ngAcceptInputType_disableAnimation: BooleanInput;
@@ -51,7 +50,7 @@ export declare class CmatPopoverComponent implements CmatPopoverPanel, OnDestroy
51
50
  private _arrowOffsetY;
52
51
  private _arrowWidth;
53
52
  private _arrowHeight;
54
- constructor(_dir: Directionality, _elementRef: ElementRef, zone: NgZone);
53
+ constructor(_dir: Directionality, _elementRef: ElementRef);
55
54
  get position(): CmatPopoverPosition;
56
55
  /** Position of the popover. */
57
56
  set position(value: CmatPopoverPosition);
@@ -134,6 +133,6 @@ export declare class CmatPopoverComponent implements CmatPopoverPanel, OnDestroy
134
133
  * folds out from the correct direction.
135
134
  */
136
135
  setPositionClasses(pos?: CmatPopoverPosition): void;
137
- static ɵfac: i0.ɵɵFactoryDeclaration<CmatPopoverComponent, [{ optional: true; }, null, null]>;
136
+ static ɵfac: i0.ɵɵFactoryDeclaration<CmatPopoverComponent, [{ optional: true; }, null]>;
138
137
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatPopoverComponent, "cmat-popover", ["cmatPopover"], { "popoverPanelStyles": { "alias": "popoverPanelStyles"; "required": false; }; "popoverArrowStyles": { "alias": "popoverArrowStyles"; "required": false; }; "popoverContentStyles": { "alias": "popoverContentStyles"; "required": false; }; "position": { "alias": "position"; "required": false; }; "triggerEvent": { "alias": "triggerEvent"; "required": false; }; "scrollStrategy": { "alias": "scrollStrategy"; "required": false; }; "enterDelay": { "alias": "enterDelay"; "required": false; }; "leaveDelay": { "alias": "leaveDelay"; "required": false; }; "xOffset": { "alias": "xOffset"; "required": false; }; "yOffset": { "alias": "yOffset"; "required": false; }; "arrowOffsetX": { "alias": "arrowOffsetX"; "required": false; }; "arrowOffsetY": { "alias": "arrowOffsetY"; "required": false; }; "arrowWidth": { "alias": "arrowWidth"; "required": false; }; "arrowHeight": { "alias": "arrowHeight"; "required": false; }; "closeOnPanelClick": { "alias": "closeOnPanelClick"; "required": false; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; }; "disableAnimation": { "alias": "disableAnimation"; "required": false; }; "focusTrapEnabled": { "alias": "focusTrapEnabled"; "required": false; }; "focusTrapAutoCaptureEnabled": { "alias": "focusTrapAutoCaptureEnabled"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; }, { "closed": "closed"; }, never, ["*"], true, never>;
139
138
  }
@@ -1,4 +1,4 @@
1
- import { ElementRef, EventEmitter, NgZone, TemplateRef } from '@angular/core';
1
+ import { ElementRef, EventEmitter, TemplateRef } from '@angular/core';
2
2
  import { CmatPopoverPosition, CmatPopoverScrollStrategy, CmatPopoverTriggerEvent } from './popover.type';
3
3
  export interface CmatPopoverPanel {
4
4
  triggerEvent: CmatPopoverTriggerEvent;
@@ -17,7 +17,6 @@ export interface CmatPopoverPanel {
17
17
  containerPositioning: boolean;
18
18
  closeDisabled: boolean;
19
19
  templateRef: TemplateRef<any>;
20
- zone: NgZone;
21
20
  closed: EventEmitter<void>;
22
21
  setCurrentStyles: (pos?: CmatPopoverPosition) => void;
23
22
  setPositionClasses: (pos?: CmatPopoverPosition) => void;
@@ -90,7 +90,6 @@ export declare class CmatSelectTreeComponent implements MatFormFieldControl<any>
90
90
  clearSelection(): void;
91
91
  toggleSelectAll(selectAllValue: boolean): void;
92
92
  compareObjects(o1: any, o2: any): boolean;
93
- trackByFn(index: number, item: any): any;
94
93
  private _onModelChange;
95
94
  private _onTouchedChange;
96
95
  private _init;
@@ -1,17 +1,16 @@
1
- import { ElementRef, NgZone, OnChanges, OnDestroy, OnInit, QueryList } from '@angular/core';
1
+ import { ElementRef, OnDestroy, OnInit, QueryList } from '@angular/core';
2
2
  import { CmatTimelineItemComponent } from './timeline-item/timeline-item.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export type CMAT_TIMELINE_POSITION = 'start' | 'end' | 'center' | 'center-alt';
5
5
  export type CMAT_TIMELINE_ORIENTATION = 'vertical' | 'horizontal';
6
- export declare class CmatTimelineComponent implements OnInit, OnDestroy, OnChanges {
6
+ export declare class CmatTimelineComponent implements OnInit, OnDestroy {
7
7
  private _host;
8
- private _ngZone;
9
8
  readonly items: QueryList<CmatTimelineItemComponent>;
10
9
  private _reverse;
11
10
  private _position;
12
11
  private _orientation;
13
12
  private _unsubscribeAll;
14
- constructor(_host: ElementRef, _ngZone: NgZone);
13
+ constructor(_host: ElementRef);
15
14
  get class(): string;
16
15
  get isStartPosition(): boolean;
17
16
  get isEndPosition(): boolean;
@@ -23,7 +22,6 @@ export declare class CmatTimelineComponent implements OnInit, OnDestroy, OnChang
23
22
  set position(position: CMAT_TIMELINE_POSITION);
24
23
  set orientation(orientation: CMAT_TIMELINE_ORIENTATION);
25
24
  set reverse(reverse: boolean);
26
- ngOnChanges(): void;
27
25
  ngOnInit(): void;
28
26
  ngOnDestroy(): void;
29
27
  updateLayout(): void;
@@ -18,7 +18,6 @@ export declare class CmatTransferPickerFilterComponent implements OnInit {
18
18
  onFilterClick(filter: CmatTransferFilterItem): void;
19
19
  onConditionChange(event: any): void;
20
20
  changeFilterData(): void;
21
- trackByFn(index: number, item: CmatTransferFilterItem): any;
22
21
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatTransferPickerFilterComponent, never>;
23
22
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatTransferPickerFilterComponent, "cmat-transfer-picker-filter", ["cmatTransferPickerFilter"], { "filters": { "alias": "filters"; "required": false; }; }, {}, never, never, true, never>;
24
23
  }
@@ -6,7 +6,6 @@ export declare class CmatTransferPickerTargetComponent {
6
6
  clearItemChange: EventEmitter<CmatTransferItemFlatNode>;
7
7
  constructor();
8
8
  clearItem(item: CmatTransferItemFlatNode): void;
9
- trackByFn(index: number, item: CmatTransferItemFlatNode): any;
10
9
  static ɵfac: i0.ɵɵFactoryDeclaration<CmatTransferPickerTargetComponent, never>;
11
10
  static ɵcmp: i0.ɵɵComponentDeclaration<CmatTransferPickerTargetComponent, "cmat-transfer-picker-target", ["cmatTransferPickerTarget"], { "selectedList": { "alias": "selectedList"; "required": false; }; }, { "clearItemChange": "clearItemChange"; }, never, never, true, never>;
12
11
  }
@@ -124,4 +124,4 @@ export class DatetimeAdapter extends DateAdapter {
124
124
  return date;
125
125
  }
126
126
  }
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9hZGFwdGVyL2RhdGV0aW1lLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE1BQU0sT0FBZ0IsZUFBbUIsU0FBUSxXQUFjO0lBRTdELFlBQXNCLFNBQXlCO1FBQzdDLEtBQUssRUFBRSxDQUFDO1FBRFksY0FBUyxHQUFULFNBQVMsQ0FBZ0I7SUFFL0MsQ0FBQztJQUVRLGtCQUFrQixDQUFDLEdBQVE7UUFDbEMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBUSxFQUFFLE1BQVMsRUFBRSxvQkFBNkIsSUFBSTtRQUNwRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztZQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQzFDLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFlLEVBQUUsTUFBZ0I7UUFDNUMsSUFBSSxLQUFLLElBQUksTUFBTSxFQUFFO1lBQ25CLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8s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UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FvQkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERhdGV0aW1lQWRhcHRlcjxEPiBleHRlbmRzIERhdGVBZGFwdGVyPEQ+IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9kZWxlZ2F0ZTogRGF0ZUFkYXB0ZXI8RD4pIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBnZXRWYWxpZERhdGVPck51bGwob2JqOiBhbnkpOiBEIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0RhdGVJbnN0YW5jZShvYmopICYmIHRoaXMuaXNWYWxpZChvYmopID8gb2JqIDogbnVsbDtcclxuICB9XHJcblxyXG4gIGNvbXBhcmVEYXRldGltZShmaXJzdDogRCwgc2Vjb25kOiBELCByZXNwZWN0TWludXRlUGFydDogYm9vbGVhbiA9IHRydWUpOiBudW1iZXIgfCBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBhcmVEYXRlKGZpcnN0LCBzZWNvbmQpIHx8XHJcbiAgICAgIHRoaXMuZ2V0SG91cihmaXJzdCkgLSB0aGlzLmdldEhvdXIoc2Vjb25kKSB8fFxyXG4gICAgICAocmVzcGVjdE1pbnV0ZVBhcnQgJiYgdGhpcy5nZXRNaW51dGUoZmlyc3QpIC0gdGhpcy5nZXRNaW51dGUoc2Vjb25kKSk7XHJcbiAgfVxyXG5cclxuICBzYW1lRGF0ZXRpbWUoZmlyc3Q6IEQgfCBudWxsLCBzZWNvbmQ6IEQgfCBudWxsKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoZmlyc3QgJiYgc2Vjb25kKSB7XHJcbiAgICAgIGNvbnN0IGZpcnN0VmFsaWQgPSB0aGlzLmlzVmFsaWQoZmlyc3QpO1xyXG4gICAgICBjb25zdCBzZWNvbmRWYWxpZCA9IHRoaXMuaXNWYWxpZChzZWNvbmQpO1xyXG4gICAgICBpZiAoZmlyc3RWYWxpZCAmJiBzZWNvbmRWYWxpZCkge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5jb21wYXJlRGF0ZXRpbWUoZmlyc3QsIHNlY29uZCk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZpcnN0VmFsaWQgPT09IHNlY29uZFZhbGlkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZpcnN0ID09PSBzZWNvbmQ7XHJcbiAgfVxyXG5cclxuICBzYW1lWWVhcihmaXJzdDogRCwgc2Vjb25kOiBEKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmlyc3QgJiYgc2Vjb25kICYmIHRoaXMuZ2V0WWVhcihmaXJzdCkgPT09IHRoaXMuZ2V0WWVhcihzZWNvbmQpO1xyXG4gIH1cclxuXHJcbiAgc2FtZURheShmaXJzdDogRCwgc2Vjb25kOiBEKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmlyc3QgJiYgc2Vjb25kICYmIHRoaXMuZ2V0RGF0ZShmaXJzdCkgPT09IHRoaXMuZ2V0RGF0ZShzZWNvbmQpICYmIHRoaXMuc2FtZU1vbnRoQW5kWWVhcihmaXJzdCwgc2Vjb25kKTtcclxuICB9XHJcblxyXG4gIHNhbWVIb3VyKGZpcnN0OiBELCBzZWNvbmQ6IEQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBmaXJzdCAmJiBzZWNvbmQgJiYgdGhpcy5nZXRIb3VyKGZpcnN0KSA9PT0gdGhpcy5nZXRIb3VyKHNlY29uZCkgJiYgdGhpcy5zYW1lRGF5KGZpcnN0LCBzZWNvbmQpO1xyXG4gIH1cclxuXHJcbiAgc2FtZU1pbnV0ZShmaXJzdDogRCwgc2Vjb25kOiBEKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmlyc3QgJiYgc2Vjb25kICYmIHRoaXMuZ2V0TWludXRlKGZpcnN0KSA9PT0gdGhpcy5nZXRNaW51dGUoc2Vjb25kKSAmJiB0aGlzLnNhbWVIb3VyKGZpcnN0LCBzZWNvbmQpO1xyXG4gIH1cclxuXHJcbiAgc2FtZU1vbnRoQW5kWWVhcihmaXJzdDogRCB8IG51bGwsIHNlY29uZDogRCB8IG51bGwpOiBib29sZWFuIHtcclxuICAgIGlmIChmaXJzdCAmJiBzZWNvbmQpIHtcclxuICAgICAgY29uc3QgZmlyc3RWYWxpZCA9IHRoaXMuaXNWYWxpZChmaXJzdCk7XHJcbiAgICAgIGNvbnN0IHNlY29uZFZhbGlkID0gdGhpcy5pc1ZhbGlkKHNlY29uZCk7XHJcbiAgICAgIGlmIChmaXJzdFZhbGlkICYmIHNlY29uZFZhbGlkKSB7XHJcbiAgICAgICAgcmV0dXJuICEodGhpcy5nZXRZZWFyKGZpcnN0KSAtIHRoaXMuZ2V0WWVhcihzZWNvbmQpIHx8XHJcbiAgICAgICAgICB0aGlzLmdldE1vbnRoKGZpcnN0KSAtIHRoaXMuZ2V0TW9udGgoc2Vjb25kKSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZpcnN0VmFsaWQgPT09IHNlY29uZFZhbGlkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZpcnN0ID09PSBzZWNvbmQ7XHJcbiAgfVxyXG5cclxuICAvLyBkZWxlZ2F0ZVxyXG4gIGNsb25lKGRhdGU6IEQpOiBEIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5jbG9uZShkYXRlKTtcclxuICB9XHJcblxyXG4gIGFkZENhbGVuZGFyWWVhcnMoZGF0ZTogRCwgeWVhcnM6IG51bWJlcik6IEQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmFkZENhbGVuZGFyWWVhcnMoZGF0ZSwgeWVhcnMpO1xyXG4gIH1cclxuXHJcbiAgYWRkQ2FsZW5kYXJNb250aHMoZGF0ZTogRCwgbW9udGhzOiBudW1iZXIpOiBEIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5hZGRDYWxlbmRhck1vbnRocyhkYXRlLCBtb250aHMpO1xyXG4gIH1cclxuXHJcbiAgYWRkQ2FsZW5kYXJEYXlzKGRhdGU6IEQsIGRheXM6IG51bWJlcik6IEQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmFkZENhbGVuZGFyRGF5cyhkYXRlLCBkYXlzKTtcclxuICB9XHJcblxyXG4gIGdldFllYXIoZGF0ZTogRCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuZ2V0WWVhcihkYXRlKTtcclxuICB9XHJcblxyXG4gIGdldE1vbnRoKGRhdGU6IEQpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmdldE1vbnRoKGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0ZShkYXRlOiBEKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5nZXREYXRlKGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF5T2ZXZWVrKGRhdGU6IEQpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmdldERheU9mV2VlayhkYXRlKTtcclxuICB9XHJcblxyXG4gIGdldE1vbnRoTmFtZXMoc3R5bGU6IGFueSk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5nZXRNb250aE5hbWVzKHN0eWxlKTtcclxuICB9XHJcblxyXG4gIGdldERhdGVOYW1lcygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuZ2V0RGF0ZU5hbWVzKCk7XHJcbiAgfVxyXG5cclxuICBnZXREYXlPZldlZWtOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmdldERheU9mV2Vla05hbWVzKHN0eWxlKTtcclxuICB9XHJcblxyXG4gIGdldFllYXJOYW1lKGRhdGU6IEQpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmdldFllYXJOYW1lKGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5nZXRGaXJzdERheU9mV2VlaygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TnVtRGF5c0luTW9udGgoZGF0ZTogRCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuZ2V0TnVtRGF5c0luTW9udGgoZGF0ZSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVEYXRlKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyKTogRCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuY3JlYXRlRGF0ZSh5ZWFyLCBtb250aCwgZGF0ZSk7XHJcbiAgfVxyXG5cclxuICB0b2RheSgpOiBEIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS50b2RheSgpO1xyXG4gIH1cclxuXHJcbiAgcGFyc2UodmFsdWU6IGFueSwgcGFyc2VGb3JtYXQ6IGFueSk6IEQgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5wYXJzZSh2YWx1ZSwgcGFyc2VGb3JtYXQpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0KGRhdGU6IEQsIGRpc3BsYXlGb3JtYXQ6IGFueSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuZm9ybWF0KGRhdGUsIGRpc3BsYXlGb3JtYXQpO1xyXG4gIH1cclxuXHJcbiAgdG9Jc284NjAxKGRhdGU6IEQpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnRvSXNvODYwMShkYXRlKTtcclxuICB9XHJcblxyXG4gIGlzRGF0ZUluc3RhbmNlKG9iajogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuaXNEYXRlSW5zdGFuY2Uob2JqKTtcclxuICB9XHJcblxyXG4gIGlzVmFsaWQoZGF0ZTogRCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmlzVmFsaWQoZGF0ZSk7XHJcbiAgfVxyXG5cclxuICBpbnZhbGlkKCk6IEQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmludmFsaWQoKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGNsYW1wRGF0ZShkYXRlOiBELCBtaW4/OiBEIHwgbnVsbCwgbWF4PzogRCB8IG51bGwpOiBEIHtcclxuICAgIGlmIChtaW4gJiYgKHRoaXMuY29tcGFyZURhdGV0aW1lKGRhdGUsIG1pbikgYXMgbnVtYmVyKSA8IDApIHtcclxuICAgICAgcmV0dXJuIG1pbjtcclxuICAgIH1cclxuICAgIGlmIChtYXggJiYgKHRoaXMuY29tcGFyZURhdGV0aW1lKGRhdGUsIG1heCkgYXMgbnVtYmVyKSA+IDApIHtcclxuICAgICAgcmV0dXJuIG1heDtcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRlO1xyXG4gIH1cclxuXHJcbiAgYWJzdHJhY3QgZ2V0SG91cihkYXRlOiBEKTogbnVtYmVyO1xyXG5cclxuICBhYnN0cmFjdCBnZXRNaW51dGUoZGF0ZTogRCk6IG51bWJlcjtcclxuXHJcbiAgYWJzdHJhY3QgZ2V0Rmlyc3REYXRlT2ZNb250aChkYXRlOiBEKTogRDtcclxuXHJcblxyXG4gIGFic3RyYWN0IGlzSW5OZXh0TW9udGgoc3RhcnREYXRlOiBELCBlbmREYXRlOiBEKTogYm9vbGVhbjtcclxuXHJcbiAgYWJzdHJhY3QgZ2V0SG91ck5hbWVzKCk6IHN0cmluZ1tdO1xyXG5cclxuICBhYnN0cmFjdCBnZXRNaW51dGVOYW1lcygpOiBzdHJpbmdbXTtcclxuXHJcbiAgYWJzdHJhY3QgYWRkQ2FsZW5kYXJIb3VycyhkYXRlOiBELCBtb250aHM6IG51bWJlcik6IEQ7XHJcblxyXG4gIGFic3RyYWN0IGFkZENhbGVuZGFyTWludXRlcyhkYXRlOiBELCBtb250aHM6IG51bWJlcik6IEQ7XHJcblxyXG4gIGFic3RyYWN0IGNyZWF0ZURhdGV0aW1lKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyLCBob3VyOiBudW1iZXIsIG1pbnV0ZTogbnVtYmVyKTogRDtcclxufVxyXG4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9hZGFwdGVyL2RhdGV0aW1lLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE1BQU0sT0FBZ0IsZUFBbUIsU0FBUSxXQUFjO0lBRTdELFlBQXNCLFNBQXlCO1FBQzdDLEtBQUssRUFBRSxDQUFDO1FBRFksY0FBUyxHQUFULFNBQVMsQ0FBZ0I7SUFFL0MsQ0FBQztJQUVRLGtCQUFrQixDQUFDLEdBQVE7UUFDbEMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBUSxFQUFFLE1BQVMsRUFBRSxvQkFBNkIsSUFBSTtRQUNwRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztZQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQzFDLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFlLEVBQUUsTUFBZ0I7UUFDNUMsSUFBSSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMs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QUFHLENBQVksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMzRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FvQkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERhdGV0aW1lQWRhcHRlcjxEPiBleHRlbmRzIERhdGVBZGFwdGVyPEQ+IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9kZWxlZ2F0ZTogRGF0ZUFkYXB0ZXI8RD4pIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBnZXRWYWxpZERhdGVPck51bGwob2JqOiBhbnkpOiBEIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0RhdGVJbnN0YW5jZShvYmopICYmIHRoaXMuaXNWYWxpZChvYmopID8gb2JqIDogbnVsbDtcclxuICB9XHJcblxyXG4gIGNvbXBhcmVEYXRldGltZShmaXJzdDogRCwgc2Vjb25kOiBELCByZXNwZWN0TWludXRlUGFydDogYm9vbGVhbiA9IHRydWUpOiBudW1iZXIgfCBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBhcmVEYXRlKGZpcnN0LCBzZWNvbmQpIHx8XHJcbiAgICAgIHRoaXMuZ2V0SG91cihmaXJzdCkgLSB0aGlzLmdldEhvdXIoc2Vjb25kKSB8fFxyXG4gICAgICAocmVzcGVjdE1pbnV0ZVBhcnQgJiYgdGhpcy5nZXRNaW51dGUoZmlyc3QpIC0gdGhpcy5nZXRNaW51dGUoc2Vjb25kKSk7XHJcbiAgfVxyXG5cclxuICBzYW1lRGF0ZXRpbWUoZmlyc3Q6IEQgfCBudWxsLCBzZWNvbmQ6IEQgfCBudWxsKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoZmlyc3QgJiYgc2Vjb25kKSB7XHJcbiAgICAgIGNvbnN0IGZpcnN0VmFsaWQgPSB0aGlzLmlzVmFsaWQoZmlyc3QpO1xyXG4gICAgICBjb25zdCBzZWNvbmRWYWxpZCA9IHRoaXMuaXNWYWxpZChzZWNvbmQpO1xyXG4gICAgICBpZiAoZmlyc3RWYWxpZCAmJiBzZWNvbmRWYWxpZCkge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5jb21wYXJlRGF0ZXRpbWUoZmlyc3QsIHNlY29uZCk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZpcnN0VmFsaWQgPT09IHNlY29uZFZhbGlkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZpcnN0ID09PSBzZWNvbmQ7XHJcbiAgfVxyXG5cclxuICBzYW1lWWVhcihmaXJzdDogRCwgc2Vjb25kOiBEKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmlyc3QgJiYgc2Vjb25kICYmIHRoaXMuZ2V0WWVhcihmaXJzdCkgPT09IHRoaXMuZ2V0WWVhcihzZWNvbmQpO1xyXG4gIH1cclxuXHJcbiAgc2FtZURheShmaXJzdDogRCwgc2Vjb25kOiBEKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmlyc3QgJiYgc2Vjb25kICYmIHRoaXMuZ2V0RGF0ZShmaXJzdCkgPT09IHRoaXMuZ2V0RGF0ZShzZWNvbmQpICYmIHRoaXMuc2FtZU1vbnRoQW5kWWVhcihmaXJzdCwgc2Vjb25kKTtcclxuICB9XHJcblxyXG4gIHNhbWVIb3VyKGZpcnN0OiBELCBzZWNvbmQ6IEQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBmaXJzdCAmJiBzZWNvbmQgJiYgdGhpcy5nZXRIb3VyKGZpcnN0KSA9PT0gdGhpcy5nZXRIb3VyKHNlY29uZCkgJiYgdGhpcy5zYW1lRGF5KGZpcnN0LCBzZWNvbmQpO1xyXG4gIH1cclxuXHJcbiAgc2FtZU1pbnV0ZShmaXJzdDogRCwgc2Vjb25kOiBEKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmlyc3QgJiYgc2Vjb25kICYmIHRoaXMuZ2V0TWludXRlKGZpcnN0KSA9PT0gdGhpcy5nZXRNaW51dGUoc2Vjb25kKSAmJiB0aGlzLnNhbWVIb3VyKGZpcnN0LCBzZWNvbmQpO1xyXG4gIH1cclxuXHJcbiAgc2FtZU1vbnRoQW5kWWVhcihmaXJzdDogRCB8IG51bGwsIHNlY29uZDogRCB8IG51bGwpOiBib29sZWFuIHtcclxuICAgIGlmIChmaXJzdCAmJiBzZWNvbmQpIHtcclxuICAgICAgY29uc3QgZmlyc3RWYWxpZCA9IHRoaXMuaXNWYWxpZChmaXJzdCk7XHJcbiAgICAgIGNvbnN0IHNlY29uZFZhbGlkID0gdGhpcy5pc1ZhbGlkKHNlY29uZCk7XHJcbiAgICAgIGlmIChmaXJzdFZhbGlkICYmIHNlY29uZFZhbGlkKSB7XHJcbiAgICAgICAgcmV0dXJuICEodGhpcy5nZXRZZWFyKGZpcnN0KSAtIHRoaXMuZ2V0WWVhcihzZWNvbmQpIHx8XHJcbiAgICAgICAgICB0aGlzLmdldE1vbnRoKGZpcnN0KSAtIHRoaXMuZ2V0TW9udGgoc2Vjb25kKSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZpcnN0VmFsaWQgPT09IHNlY29uZFZhbGlkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZpcnN0ID09PSBzZWNvbmQ7XHJcbiAgfVxyXG5cclxuICAvLyBkZWxlZ2F0ZVxyXG4gIGNsb25lKGRhdGU6IEQpOiBEIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5jbG9uZShkYXRlKTtcclxuICB9XHJcblxyXG4gIGFkZENhbGVuZGFyWWVhcnMoZGF0ZTogRCwgeWVhcnM6IG51bWJlcik6IEQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmFkZENhbGVuZGFyWWVhcnMoZGF0ZSwgeWVhcnMpO1xyXG4gIH1cclxuXHJcbiAgYWRkQ2FsZW5kYXJNb250aHMoZGF0ZTogRCwgbW9udGhzOiBudW1iZXIpOiBEIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5hZGRDYWxlbmRhck1vbnRocyhkYXRlLCBtb250aHMpO1xyXG4gIH1cclxuXHJcbiAgYWRkQ2FsZW5kYXJEYXlzKGRhdGU6IEQsIGRheXM6IG51bWJlcik6IEQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmFkZENhbGVuZGFyRGF5cyhkYXRlLCBkYXlzKTtcclxuICB9XHJcblxyXG4gIGdldFllYXIoZGF0ZTogRCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuZ2V0WWVhcihkYXRlKTtcclxuICB9XHJcblxyXG4gIGdldE1vbnRoKGRhdGU6IEQpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmdldE1vbnRoKGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0ZShkYXRlOiBEKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5nZXREYXRlKGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF5T2ZXZWVrKGRhdGU6IEQpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmdldERheU9mV2VlayhkYXRlKTtcclxuICB9XHJcblxyXG4gIGdldE1vbnRoTmFtZXMoc3R5bGU6IGFueSk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5nZXRNb250aE5hbWVzKHN0eWxlKTtcclxuICB9XHJcblxyXG4gIGdldERhdGVOYW1lcygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuZ2V0RGF0ZU5hbWVzKCk7XHJcbiAgfVxyXG5cclxuICBnZXREYXlPZldlZWtOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmdldERheU9mV2Vla05hbWVzKHN0eWxlKTtcclxuICB9XHJcblxyXG4gIGdldFllYXJOYW1lKGRhdGU6IEQpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmdldFllYXJOYW1lKGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5nZXRGaXJzdERheU9mV2VlaygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TnVtRGF5c0luTW9udGgoZGF0ZTogRCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuZ2V0TnVtRGF5c0luTW9udGgoZGF0ZSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVEYXRlKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyKTogRCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuY3JlYXRlRGF0ZSh5ZWFyLCBtb250aCwgZGF0ZSk7XHJcbiAgfVxyXG5cclxuICB0b2RheSgpOiBEIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS50b2RheSgpO1xyXG4gIH1cclxuXHJcbiAgcGFyc2UodmFsdWU6IGFueSwgcGFyc2VGb3JtYXQ6IGFueSk6IEQgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5wYXJzZSh2YWx1ZSwgcGFyc2VGb3JtYXQpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0KGRhdGU6IEQsIGRpc3BsYXlGb3JtYXQ6IGFueSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuZm9ybWF0KGRhdGUsIGRpc3BsYXlGb3JtYXQpO1xyXG4gIH1cclxuXHJcbiAgdG9Jc284NjAxKGRhdGU6IEQpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnRvSXNvODYwMShkYXRlKTtcclxuICB9XHJcblxyXG4gIGlzRGF0ZUluc3RhbmNlKG9iajogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuaXNEYXRlSW5zdGFuY2Uob2JqKTtcclxuICB9XHJcblxyXG4gIGlzVmFsaWQoZGF0ZTogRCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmlzVmFsaWQoZGF0ZSk7XHJcbiAgfVxyXG5cclxuICBpbnZhbGlkKCk6IEQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmludmFsaWQoKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGNsYW1wRGF0ZShkYXRlOiBELCBtaW4/OiBEIHwgbnVsbCwgbWF4PzogRCB8IG51bGwpOiBEIHtcclxuICAgIGlmIChtaW4gJiYgKHRoaXMuY29tcGFyZURhdGV0aW1lKGRhdGUsIG1pbikgYXMgbnVtYmVyKSA8IDApIHtcclxuICAgICAgcmV0dXJuIG1pbjtcclxuICAgIH1cclxuICAgIGlmIChtYXggJiYgKHRoaXMuY29tcGFyZURhdGV0aW1lKGRhdGUsIG1heCkgYXMgbnVtYmVyKSA+IDApIHtcclxuICAgICAgcmV0dXJuIG1heDtcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRlO1xyXG4gIH1cclxuXHJcbiAgYWJzdHJhY3QgZ2V0SG91cihkYXRlOiBEKTogbnVtYmVyO1xyXG5cclxuICBhYnN0cmFjdCBnZXRNaW51dGUoZGF0ZTogRCk6IG51bWJlcjtcclxuXHJcbiAgYWJzdHJhY3QgZ2V0Rmlyc3REYXRlT2ZNb250aChkYXRlOiBEKTogRDtcclxuXHJcblxyXG4gIGFic3RyYWN0IGlzSW5OZXh0TW9udGgoc3RhcnREYXRlOiBELCBlbmREYXRlOiBEKTogYm9vbGVhbjtcclxuXHJcbiAgYWJzdHJhY3QgZ2V0SG91ck5hbWVzKCk6IHN0cmluZ1tdO1xyXG5cclxuICBhYnN0cmFjdCBnZXRNaW51dGVOYW1lcygpOiBzdHJpbmdbXTtcclxuXHJcbiAgYWJzdHJhY3QgYWRkQ2FsZW5kYXJIb3VycyhkYXRlOiBELCBtb250aHM6IG51bWJlcik6IEQ7XHJcblxyXG4gIGFic3RyYWN0IGFkZENhbGVuZGFyTWludXRlcyhkYXRlOiBELCBtb250aHM6IG51bWJlcik6IEQ7XHJcblxyXG4gIGFic3RyYWN0IGNyZWF0ZURhdGV0aW1lKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyLCBob3VyOiBudW1iZXIsIG1pbnV0ZTogbnVtYmVyKTogRDtcclxufVxyXG4iXX0=
@@ -179,10 +179,10 @@ export class DayjsDateAdapter extends DateAdapter {
179
179
  dayjs.extend(localeData);
180
180
  this.setLocale(dateLocale);
181
181
  }
182
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: DayjsDateAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: CMAT_DAYJS_DATE_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
183
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: DayjsDateAdapter }); }
182
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DayjsDateAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: CMAT_DAYJS_DATE_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
183
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DayjsDateAdapter }); }
184
184
  }
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: DayjsDateAdapter, decorators: [{
185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DayjsDateAdapter, decorators: [{
186
186
  type: Injectable
187
187
  }], ctorParameters: () => [{ type: undefined, decorators: [{
188
188
  type: Optional
@@ -195,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
195
195
  type: Inject,
196
196
  args: [CMAT_DAYJS_DATE_ADAPTER_OPTIONS]
197
197
  }] }] });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2FkYXB0ZXIvZGF5anMtZGF0ZS1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBQ3JDLE9BQU8saUJBQWlCLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxVQUFVLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxlQUFlLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7O0FBWW5DLGtFQUFrRTtBQUNsRSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLGNBQWMsQ0FDN0QsaUNBQWlDLEVBQUU7SUFDbkMsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLHVDQUF1QztDQUNuRCxDQUFDLENBQUM7QUFFSCxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLHVDQUF1QztJQUNuRCxPQUFPO1FBQ0gsTUFBTSxFQUFFLEtBQUs7S0FDaEIsQ0FBQztBQUNOLENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBSSxNQUFjLEVBQUUsYUFBbUM7SUFDakUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDN0IsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNyQztJQUNELE9BQU8sV0FBVyxDQUFDO0FBQ3ZCLENBQUM7QUFHRCx3REFBd0Q7QUFDeEQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQWtCO0lBV3BELFlBQXdELFVBQWtCLEVBQ1QsUUFBa0M7UUFDL0YsS0FBSyxFQUFFLENBQUM7UUFGNEMsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNULGFBQVEsR0FBUixRQUFRLENBQTBCO1FBRy9GLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsSUFBWSxhQUFhO1FBQ3JCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBNEIsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDaEUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3BCLENBQUM7SUFFUSxTQUFTLENBQUMsTUFBYztRQUM3QixLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXhCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2YsY0FBYyxFQUFFLGVBQWUsQ0FBQyxjQUFjLEVBQUU7WUFDaEQsVUFBVSxFQUFFLGVBQWUsQ0FBQyxNQUFNLEVBQUU7WUFDcEMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxXQUFXLEVBQUU7WUFDMUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsRSxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6RSxlQUFlLEVBQUUsZUFBZSxDQUFDLGFBQWEsRUFBRTtZQUNoRCxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsV0FBVyxFQUFFO1NBQ2xELENBQUM7SUFDTixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQVc7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQVc7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWtDO1FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxZQUFZO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBa0M7UUFDaEQsSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7U0FDMUM7UUFDRCxJQUFJLEtBQUssS0FBSyxPQUFPLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQztTQUMzQztRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztJQUM3QyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVc7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBVztRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLElBQVk7UUFDaEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRTthQUM1QixHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQzthQUNqQixHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQzthQUNuQixHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFVLEVBQUUsV0FBbUI7UUFDakMsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN2RDtRQUNELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqRSxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVcsRUFBRSxhQUFxQjtRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNyQixNQUFNLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1NBQ2hFO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVcsRUFBRSxLQUFhO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVcsRUFBRSxNQUFjO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFXLEVBQUUsSUFBWTtRQUNyQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBVztRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ00sV0FBVyxDQUFDLEtBQVU7UUFDM0IsSUFBSSxJQUFTLENBQUM7UUFDZCxJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUU7WUFDdkIsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7YUFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkMsMkRBQTJEO1lBQzNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjtRQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzNCLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1IsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUNELElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzNDO1FBQ0QsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyx1RUFBdUU7U0FDcEc7UUFDRCxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFRO1FBQ25CLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQVc7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELE9BQU87UUFDSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFXLEVBQUUsTUFBZSxFQUFFLE1BQWU7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDckIsT0FBTyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ25EO1FBQ0QsT0FBTyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ25GLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxVQUFrQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNyQjtRQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDOUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQS9MUSxnQkFBZ0Isa0JBV08sZUFBZSw2QkFDdkIsK0JBQStCO2tIQVo5QyxnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRjVCLFVBQVU7OzBCQWFNLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs7MEJBQzFDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgZGF5anMsIHsgRGF5anMgfSBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCBjdXN0b21QYXJzZUZvcm1hdCBmcm9tICdkYXlqcy9wbHVnaW4vY3VzdG9tUGFyc2VGb3JtYXQnO1xyXG5pbXBvcnQgbG9jYWxlRGF0YSBmcm9tICdkYXlqcy9wbHVnaW4vbG9jYWxlRGF0YSc7XHJcbmltcG9ydCBMb2NhbGl6ZWRGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2xvY2FsaXplZEZvcm1hdCc7XHJcbmltcG9ydCB1dGMgZnJvbSAnZGF5anMvcGx1Z2luL3V0Yyc7XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXlKc0RhdGVBZGFwdGVyT3B0aW9ucyB7XHJcbiAgICAvKipcclxuICAgICAqIFR1cm5zIHRoZSB1c2Ugb2YgdXRjIGRhdGVzIG9uIG9yIG9mZi5cclxuICAgICAqIENoYW5naW5nIHRoaXMgd2lsbCBjaGFuZ2UgaG93IEFuZ3VsYXIgTWF0ZXJpYWwgY29tcG9uZW50cyBsaWtlIERhdGVQaWNrZXIgb3V0cHV0IGRhdGVzLlxyXG4gICAgICoge0BkZWZhdWx0IGZhbHNlfVxyXG4gICAgICovXHJcbiAgICB1c2VVdGM/OiBib29sZWFuO1xyXG59XHJcblxyXG4vKiogSW5qZWN0aW9uVG9rZW4gZm9yIERheWpzIGRhdGUgYWRhcHRlciB0byBjb25maWd1cmUgb3B0aW9ucy4gKi9cclxuZXhwb3J0IGNvbnN0IENNQVRfREFZSlNfREFURV9BREFQVEVSX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48RGF5SnNEYXRlQWRhcHRlck9wdGlvbnM+KFxyXG4gICAgJ0NNQVRfREFZSlNfREFURV9BREFQVEVSX09QVElPTlMnLCB7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbiAgICBmYWN0b3J5OiBDTUFUX0RBWUpTX0RBVEVfQURBUFRFUl9PUFRJT05TX0ZBQ1RPUllcclxufSk7XHJcblxyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXHJcbmV4cG9ydCBmdW5jdGlvbiBDTUFUX0RBWUpTX0RBVEVfQURBUFRFUl9PUFRJT05TX0ZBQ1RPUlkoKTogRGF5SnNEYXRlQWRhcHRlck9wdGlvbnMge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICB1c2VVdGM6IGZhbHNlXHJcbiAgICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiByYW5nZTxUPihsZW5ndGg6IG51bWJlciwgdmFsdWVGdW5jdGlvbjogKGluZGV4OiBudW1iZXIpID0+IFQpOiBUW10ge1xyXG4gICAgY29uc3QgdmFsdWVzQXJyYXkgPSBBcnJheShsZW5ndGgpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHZhbHVlc0FycmF5W2ldID0gdmFsdWVGdW5jdGlvbihpKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZXNBcnJheTtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG4vKiogQWRhcHRzIERheWpzIERhdGVzIGZvciB1c2Ugd2l0aCBBbmd1bGFyIE1hdGVyaWFsLiAqL1xyXG5leHBvcnQgY2xhc3MgRGF5anNEYXRlQWRhcHRlciBleHRlbmRzIERhdGVBZGFwdGVyPERheWpzPiB7XHJcbiAgICBwcml2YXRlIF9sb2NhbGVEYXRhOiB7XHJcbiAgICAgICAgZmlyc3REYXlPZldlZWs6IG51bWJlcjtcclxuICAgICAgICBsb25nTW9udGhzOiBzdHJpbmdbXTtcclxuICAgICAgICBzaG9ydE1vbnRoczogc3RyaW5nW107XHJcbiAgICAgICAgZGF0ZXM6IHN0cmluZ1tdO1xyXG4gICAgICAgIGxvbmdEYXlzT2ZXZWVrOiBzdHJpbmdbXTtcclxuICAgICAgICBzaG9ydERheXNPZldlZWs6IHN0cmluZ1tdO1xyXG4gICAgICAgIG5hcnJvd0RheXNPZldlZWs6IHN0cmluZ1tdO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9EQVRFX0xPQ0FMRSkgcHVibGljIGRhdGVMb2NhbGU6IHN0cmluZyxcclxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KENNQVRfREFZSlNfREFURV9BREFQVEVSX09QVElPTlMpIHByaXZhdGUgX29wdGlvbnM/OiBEYXlKc0RhdGVBZGFwdGVyT3B0aW9ucykge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcblxyXG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVQYXJzZXIoZGF0ZUxvY2FsZSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGdldCBfc2hvdWxkVXNlVXRjKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IHsgdXNlVXRjIH06IERheUpzRGF0ZUFkYXB0ZXJPcHRpb25zID0gdGhpcy5fb3B0aW9ucyB8fCB7fTtcclxuICAgICAgICByZXR1cm4gISF1c2VVdGM7XHJcbiAgICB9XHJcblxyXG4gICAgb3ZlcnJpZGUgc2V0TG9jYWxlKGxvY2FsZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIuc2V0TG9jYWxlKGxvY2FsZSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGRheUpzTG9jYWxlRGF0YSA9IHRoaXMuX2RheUpzKCkubG9jYWxlRGF0YSgpO1xyXG4gICAgICAgIHRoaXMuX2xvY2FsZURhdGEgPSB7XHJcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiBkYXlKc0xvY2FsZURhdGEuZmlyc3REYXlPZldlZWsoKSxcclxuICAgICAgICAgICAgbG9uZ01vbnRoczogZGF5SnNMb2NhbGVEYXRhLm1vbnRocygpLFxyXG4gICAgICAgICAgICBzaG9ydE1vbnRoczogZGF5SnNMb2NhbGVEYXRhLm1vbnRoc1Nob3J0KCksXHJcbiAgICAgICAgICAgIGRhdGVzOiByYW5nZSgzMSwgaSA9PiB0aGlzLmNyZWF0ZURhdGUoMjAxNywgMCwgaSArIDEpLmZvcm1hdCgnRCcpKSxcclxuICAgICAgICAgICAgbG9uZ0RheXNPZldlZWs6IHJhbmdlKDcsIGkgPT4gdGhpcy5fZGF5SnMoKS5zZXQoJ2RheScsIGkpLmZvcm1hdCgnZGRkZCcpKSxcclxuICAgICAgICAgICAgc2hvcnREYXlzT2ZXZWVrOiBkYXlKc0xvY2FsZURhdGEud2Vla2RheXNTaG9ydCgpLFxyXG4gICAgICAgICAgICBuYXJyb3dEYXlzT2ZXZWVrOiBkYXlKc0xvY2FsZURhdGEud2Vla2RheXNNaW4oKSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGdldFllYXIoZGF0ZTogRGF5anMpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kYXlKcyhkYXRlKS55ZWFyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TW9udGgoZGF0ZTogRGF5anMpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kYXlKcyhkYXRlKS5tb250aCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldERhdGUoZGF0ZTogRGF5anMpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kYXlKcyhkYXRlKS5kYXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RGF5T2ZXZWVrKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMoZGF0ZSkuZGF5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TW9udGhOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xyXG4gICAgICAgIHJldHVybiBzdHlsZSA9PT0gJ2xvbmcnID8gdGhpcy5fbG9jYWxlRGF0YS5sb25nTW9udGhzIDogdGhpcy5fbG9jYWxlRGF0YS5zaG9ydE1vbnRocztcclxuICAgIH1cclxuXHJcbiAgICBnZXREYXRlTmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGVEYXRhLmRhdGVzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldERheU9mV2Vla05hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgaWYgKHN0eWxlID09PSAnbG9uZycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZURhdGEubG9uZ0RheXNPZldlZWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzdHlsZSA9PT0gJ3Nob3J0Jykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5zaG9ydERheXNPZldlZWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGVEYXRhLm5hcnJvd0RheXNPZldlZWs7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0WWVhck5hbWUoZGF0ZTogRGF5anMpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kYXlKcyhkYXRlKS5mb3JtYXQoJ1lZWVknKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRGaXJzdERheU9mV2VlaygpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGVEYXRhLmZpcnN0RGF5T2ZXZWVrO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE51bURheXNJbk1vbnRoKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMoZGF0ZSkuZGF5c0luTW9udGgoKTtcclxuICAgIH1cclxuXHJcbiAgICBjbG9uZShkYXRlOiBEYXlqcyk6IERheWpzIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS5jbG9uZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZURhdGUoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXRlOiBudW1iZXIpOiBEYXlqcyB7XHJcbiAgICAgICAgY29uc3QgcmV0dXJuRGF5anMgPSB0aGlzLl9kYXlKcygpXHJcbiAgICAgICAgICAgIC5zZXQoJ3llYXInLCB5ZWFyKVxyXG4gICAgICAgICAgICAuc2V0KCdtb250aCcsIG1vbnRoKVxyXG4gICAgICAgICAgICAuc2V0KCdkYXRlJywgZGF0ZSk7XHJcbiAgICAgICAgcmV0dXJuIHJldHVybkRheWpzO1xyXG4gICAgfVxyXG5cclxuICAgIHRvZGF5KCk6IERheWpzIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwYXJzZSh2YWx1ZTogYW55LCBwYXJzZUZvcm1hdDogc3RyaW5nKTogRGF5anMgfCBudWxsIHtcclxuICAgICAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnModmFsdWUsIHBhcnNlRm9ybWF0LCB0aGlzLmxvY2FsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB2YWx1ZSA/IHRoaXMuX2RheUpzKHZhbHVlKS5sb2NhbGUodGhpcy5sb2NhbGUpIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtYXQoZGF0ZTogRGF5anMsIGRpc3BsYXlGb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzVmFsaWQoZGF0ZSkpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ0RheWpzRGF0ZUFkYXB0ZXI6IENhbm5vdCBmb3JtYXQgaW52YWxpZCBkYXRlLicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZGF0ZS5sb2NhbGUodGhpcy5sb2NhbGUpLmZvcm1hdChkaXNwbGF5Rm9ybWF0KTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRDYWxlbmRhclllYXJzKGRhdGU6IERheWpzLCB5ZWFyczogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmFkZCh5ZWFycywgJ3llYXInKTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRDYWxlbmRhck1vbnRocyhkYXRlOiBEYXlqcywgbW9udGhzOiBudW1iZXIpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGUuYWRkKG1vbnRocywgJ21vbnRoJyk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkQ2FsZW5kYXJEYXlzKGRhdGU6IERheWpzLCBkYXlzOiBudW1iZXIpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGUuYWRkKGRheXMsICdkYXknKTtcclxuICAgIH1cclxuXHJcbiAgICB0b0lzbzg2MDEoZGF0ZTogRGF5anMpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBdHRlbXB0cyB0byBkZXNlcmlhbGl6ZSBhIHZhbHVlIHRvIGEgdmFsaWQgZGF0ZSBvYmplY3QuIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gcGFyc2luZyBpbiB0aGF0XHJcbiAgICAgKiBkZXNlcmlhbGl6ZSBzaG91bGQgb25seSBhY2NlcHQgbm9uLWFtYmlndW91cywgbG9jYWxlLWluZGVwZW5kZW50IGZvcm1hdHMgKGUuZy4gYSBJU08gODYwMVxyXG4gICAgICogc3RyaW5nKS4gVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZG9lcyBub3QgYWxsb3cgYW55IGRlc2VyaWFsaXphdGlvbiwgaXQgc2ltcGx5IGNoZWNrcyB0aGF0XHJcbiAgICAgKiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYWxyZWFkeSBhIHZhbGlkIGRhdGUgb2JqZWN0IG9yIG51bGwuIFRoZSBgPG1hdC1kYXRlcGlja2VyPmAgd2lsbCBjYWxsIHRoaXNcclxuICAgICAqIG1ldGhvZCBvbiBhbGwgb2YgaXQncyBgQElucHV0KClgIHByb3BlcnRpZXMgdGhhdCBhY2NlcHQgZGF0ZXMuIEl0IGlzIHRoZXJlZm9yZSBwb3NzaWJsZSB0b1xyXG4gICAgICogc3VwcG9ydCBwYXNzaW5nIHZhbHVlcyBmcm9tIHlvdXIgYmFja2VuZCBkaXJlY3RseSB0byB0aGVzZSBwcm9wZXJ0aWVzIGJ5IG92ZXJyaWRpbmcgdGhpcyBtZXRob2RcclxuICAgICAqIHRvIGFsc28gZGVzZXJpYWxpemUgdGhlIGZvcm1hdCB1c2VkIGJ5IHlvdXIgYmFja2VuZC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGJlIGRlc2VyaWFsaXplZCBpbnRvIGEgZGF0ZSBvYmplY3QuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgZGVzZXJpYWxpemVkIGRhdGUgb2JqZWN0LCBlaXRoZXIgYSB2YWxpZCBkYXRlLCBudWxsIGlmIHRoZSB2YWx1ZSBjYW4gYmVcclxuICAgICAqICAgICBkZXNlcmlhbGl6ZWQgaW50byBhIG51bGwgZGF0ZSAoZS5nLiB0aGUgZW1wdHkgc3RyaW5nKSwgb3IgYW4gaW52YWxpZCBkYXRlLlxyXG4gICAgICovXHJcbiAgICBvdmVycmlkZSBkZXNlcmlhbGl6ZSh2YWx1ZTogYW55KTogRGF5anMgfCBudWxsIHtcclxuICAgICAgICBsZXQgZGF0ZTogYW55O1xyXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICAgICAgZGF0ZSA9IHRoaXMuX2RheUpzKHZhbHVlKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNEYXRlSW5zdGFuY2UodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIC8vIE5PVEU6IGFzc3VtZXMgdGhhdCBjbG9uaW5nIGFsc28gc2V0cyB0aGUgY29ycmVjdCBsb2NhbGUuXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNsb25lKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZGF0ZSA9IHRoaXMuX2RheUpzKHZhbHVlKS50b0lTT1N0cmluZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZGF0ZSAmJiB0aGlzLmlzVmFsaWQoZGF0ZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKGRhdGUpOyAvLyBOT1RFOiBJcyB0aGlzIG5lY2Vzc2FyeSBzaW5jZSBEYXlqcyBpcyBpbW11dGFibGUgYW5kIE1vbWVudCB3YXMgbm90P1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3VwZXIuZGVzZXJpYWxpemUodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlzRGF0ZUluc3RhbmNlKG9iajogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGRheWpzLmlzRGF5anMob2JqKTtcclxuICAgIH1cclxuXHJcbiAgICBpc1ZhbGlkKGRhdGU6IERheWpzKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKGRhdGUpLmlzVmFsaWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBpbnZhbGlkKCk6IERheWpzIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMobnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZGF5SnMoaW5wdXQ/OiBhbnksIGZvcm1hdD86IHN0cmluZywgbG9jYWxlPzogc3RyaW5nKTogRGF5anMge1xyXG4gICAgICAgIGlmICghdGhpcy5fc2hvdWxkVXNlVXRjKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBkYXlqcyhpbnB1dCwgeyBmb3JtYXQsIGxvY2FsZSB9LCBsb2NhbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZGF5anMoaW5wdXQsIHsgZm9ybWF0LCBsb2NhbGUsIHV0YzogdGhpcy5fc2hvdWxkVXNlVXRjIH0sIGxvY2FsZSkudXRjKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZVBhcnNlcihkYXRlTG9jYWxlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fc2hvdWxkVXNlVXRjKSB7XHJcbiAgICAgICAgICAgIGRheWpzLmV4dGVuZCh1dGMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKExvY2FsaXplZEZvcm1hdCk7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKGN1c3RvbVBhcnNlRm9ybWF0KTtcclxuICAgICAgICBkYXlqcy5leHRlbmQobG9jYWxlRGF0YSk7XHJcblxyXG4gICAgICAgIHRoaXMuc2V0TG9jYWxlKGRhdGVMb2NhbGUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2FkYXB0ZXIvZGF5anMtZGF0ZS1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBQ3JDLE9BQU8saUJBQWlCLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxVQUFVLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxlQUFlLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7O0FBWW5DLGtFQUFrRTtBQUNsRSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLGNBQWMsQ0FDN0QsaUNBQWlDLEVBQUU7SUFDbkMsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLHVDQUF1QztDQUNuRCxDQUFDLENBQUM7QUFFSCxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLHVDQUF1QztJQUNuRCxPQUFPO1FBQ0gsTUFBTSxFQUFFLEtBQUs7S0FDaEIsQ0FBQztBQUNOLENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBSSxNQUFjLEVBQUUsYUFBbUM7SUFDakUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM5QixXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENB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QyxVQUFrQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7UUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzlCLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs4R0EvTFEsZ0JBQWdCLGtCQVdPLGVBQWUsNkJBQ3ZCLCtCQUErQjtrSEFaOUMsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUY1QixVQUFVOzswQkFhTSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7OzBCQUMxQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgY3VzdG9tUGFyc2VGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2N1c3RvbVBhcnNlRm9ybWF0JztcclxuaW1wb3J0IGxvY2FsZURhdGEgZnJvbSAnZGF5anMvcGx1Z2luL2xvY2FsZURhdGEnO1xyXG5pbXBvcnQgTG9jYWxpemVkRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9sb2NhbGl6ZWRGb3JtYXQnO1xyXG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF5SnNEYXRlQWRhcHRlck9wdGlvbnMge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUdXJucyB0aGUgdXNlIG9mIHV0YyBkYXRlcyBvbiBvciBvZmYuXHJcbiAgICAgKiBDaGFuZ2luZyB0aGlzIHdpbGwgY2hhbmdlIGhvdyBBbmd1bGFyIE1hdGVyaWFsIGNvbXBvbmVudHMgbGlrZSBEYXRlUGlja2VyIG91dHB1dCBkYXRlcy5cclxuICAgICAqIHtAZGVmYXVsdCBmYWxzZX1cclxuICAgICAqL1xyXG4gICAgdXNlVXRjPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqIEluamVjdGlvblRva2VuIGZvciBEYXlqcyBkYXRlIGFkYXB0ZXIgdG8gY29uZmlndXJlIG9wdGlvbnMuICovXHJcbmV4cG9ydCBjb25zdCBDTUFUX0RBWUpTX0RBVEVfQURBUFRFUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPERheUpzRGF0ZUFkYXB0ZXJPcHRpb25zPihcclxuICAgICdDTUFUX0RBWUpTX0RBVEVfQURBUFRFUl9PUFRJT05TJywge1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG4gICAgZmFjdG9yeTogQ01BVF9EQVlKU19EQVRFX0FEQVBURVJfT1BUSU9OU19GQUNUT1JZXHJcbn0pO1xyXG5cclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxyXG5leHBvcnQgZnVuY3Rpb24gQ01BVF9EQVlKU19EQVRFX0FEQVBURVJfT1BUSU9OU19GQUNUT1JZKCk6IERheUpzRGF0ZUFkYXB0ZXJPcHRpb25zIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgdXNlVXRjOiBmYWxzZVxyXG4gICAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gcmFuZ2U8VD4obGVuZ3RoOiBudW1iZXIsIHZhbHVlRnVuY3Rpb246IChpbmRleDogbnVtYmVyKSA9PiBUKTogVFtdIHtcclxuICAgIGNvbnN0IHZhbHVlc0FycmF5ID0gQXJyYXkobGVuZ3RoKTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB2YWx1ZXNBcnJheVtpXSA9IHZhbHVlRnVuY3Rpb24oaSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWVzQXJyYXk7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuLyoqIEFkYXB0cyBEYXlqcyBEYXRlcyBmb3IgdXNlIHdpdGggQW5ndWxhciBNYXRlcmlhbC4gKi9cclxuZXhwb3J0IGNsYXNzIERheWpzRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBEYXRlQWRhcHRlcjxEYXlqcz4ge1xyXG4gICAgcHJpdmF0ZSBfbG9jYWxlRGF0YToge1xyXG4gICAgICAgIGZpcnN0RGF5T2ZXZWVrOiBudW1iZXI7XHJcbiAgICAgICAgbG9uZ01vbnRoczogc3RyaW5nW107XHJcbiAgICAgICAgc2hvcnRNb250aHM6IHN0cmluZ1tdO1xyXG4gICAgICAgIGRhdGVzOiBzdHJpbmdbXTtcclxuICAgICAgICBsb25nRGF5c09mV2Vlazogc3RyaW5nW107XHJcbiAgICAgICAgc2hvcnREYXlzT2ZXZWVrOiBzdHJpbmdbXTtcclxuICAgICAgICBuYXJyb3dEYXlzT2ZXZWVrOiBzdHJpbmdbXTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChNQVRfREFURV9MT0NBTEUpIHB1YmxpYyBkYXRlTG9jYWxlOiBzdHJpbmcsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChDTUFUX0RBWUpTX0RBVEVfQURBUFRFUl9PUFRJT05TKSBwcml2YXRlIF9vcHRpb25zPzogRGF5SnNEYXRlQWRhcHRlck9wdGlvbnMpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG5cclxuICAgICAgICB0aGlzLl9pbml0aWFsaXplUGFyc2VyKGRhdGVMb2NhbGUpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBnZXQgX3Nob3VsZFVzZVV0YygpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCB7IHVzZVV0YyB9OiBEYXlKc0RhdGVBZGFwdGVyT3B0aW9ucyA9IHRoaXMuX29wdGlvbnMgfHwge307XHJcbiAgICAgICAgcmV0dXJuICEhdXNlVXRjO1xyXG4gICAgfVxyXG5cclxuICAgIG92ZXJyaWRlIHNldExvY2FsZShsb2NhbGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLnNldExvY2FsZShsb2NhbGUpO1xyXG5cclxuICAgICAgICBjb25zdCBkYXlKc0xvY2FsZURhdGEgPSB0aGlzLl9kYXlKcygpLmxvY2FsZURhdGEoKTtcclxuICAgICAgICB0aGlzLl9sb2NhbGVEYXRhID0ge1xyXG4gICAgICAgICAgICBmaXJzdERheU9mV2VlazogZGF5SnNMb2NhbGVEYXRhLmZpcnN0RGF5T2ZXZWVrKCksXHJcbiAgICAgICAgICAgIGxvbmdNb250aHM6IGRheUpzTG9jYWxlRGF0YS5tb250aHMoKSxcclxuICAgICAgICAgICAgc2hvcnRNb250aHM6IGRheUpzTG9jYWxlRGF0YS5tb250aHNTaG9ydCgpLFxyXG4gICAgICAgICAgICBkYXRlczogcmFuZ2UoMzEsIGkgPT4gdGhpcy5jcmVhdGVEYXRlKDIwMTcsIDAsIGkgKyAxKS5mb3JtYXQoJ0QnKSksXHJcbiAgICAgICAgICAgIGxvbmdEYXlzT2ZXZWVrOiByYW5nZSg3LCBpID0+IHRoaXMuX2RheUpzKCkuc2V0KCdkYXknLCBpKS5mb3JtYXQoJ2RkZGQnKSksXHJcbiAgICAgICAgICAgIHNob3J0RGF5c09mV2VlazogZGF5SnNMb2NhbGVEYXRhLndlZWtkYXlzU2hvcnQoKSxcclxuICAgICAgICAgICAgbmFycm93RGF5c09mV2VlazogZGF5SnNMb2NhbGVEYXRhLndlZWtkYXlzTWluKCksXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRZZWFyKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMoZGF0ZSkueWVhcigpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE1vbnRoKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMoZGF0ZSkubW9udGgoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXREYXRlKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMoZGF0ZSkuZGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldERheU9mV2VlayhkYXRlOiBEYXlqcyk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKGRhdGUpLmRheSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gc3R5bGUgPT09ICdsb25nJyA/IHRoaXMuX2xvY2FsZURhdGEubG9uZ01vbnRocyA6IHRoaXMuX2xvY2FsZURhdGEuc2hvcnRNb250aHM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5kYXRlcztcclxuICAgIH1cclxuXHJcbiAgICBnZXREYXlPZldlZWtOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xyXG4gICAgICAgIGlmIChzdHlsZSA9PT0gJ2xvbmcnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGVEYXRhLmxvbmdEYXlzT2ZXZWVrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc3R5bGUgPT09ICdzaG9ydCcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZURhdGEuc2hvcnREYXlzT2ZXZWVrO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5uYXJyb3dEYXlzT2ZXZWVrO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFllYXJOYW1lKGRhdGU6IERheWpzKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF5SnMoZGF0ZSkuZm9ybWF0KCdZWVlZJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5maXJzdERheU9mV2VlaztcclxuICAgIH1cclxuXHJcbiAgICBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBEYXlqcyk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKGRhdGUpLmRheXNJbk1vbnRoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvbmUoZGF0ZTogRGF5anMpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGUuY2xvbmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVEYXRlKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIGNvbnN0IHJldHVybkRheWpzID0gdGhpcy5fZGF5SnMoKVxyXG4gICAgICAgICAgICAuc2V0KCd5ZWFyJywgeWVhcilcclxuICAgICAgICAgICAgLnNldCgnbW9udGgnLCBtb250aClcclxuICAgICAgICAgICAgLnNldCgnZGF0ZScsIGRhdGUpO1xyXG4gICAgICAgIHJldHVybiByZXR1cm5EYXlqcztcclxuICAgIH1cclxuXHJcbiAgICB0b2RheSgpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcGFyc2UodmFsdWU6IGFueSwgcGFyc2VGb3JtYXQ6IHN0cmluZyk6IERheWpzIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKHZhbHVlLCBwYXJzZUZvcm1hdCwgdGhpcy5sb2NhbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdmFsdWUgPyB0aGlzLl9kYXlKcyh2YWx1ZSkubG9jYWxlKHRoaXMubG9jYWxlKSA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgZm9ybWF0KGRhdGU6IERheWpzLCBkaXNwbGF5Rm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKGRhdGUpKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdEYXlqc0RhdGVBZGFwdGVyOiBDYW5ub3QgZm9ybWF0IGludmFsaWQgZGF0ZS4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGRhdGUubG9jYWxlKHRoaXMubG9jYWxlKS5mb3JtYXQoZGlzcGxheUZvcm1hdCk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBEYXlqcywgeWVhcnM6IG51bWJlcik6IERheWpzIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS5hZGQoeWVhcnMsICd5ZWFyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkQ2FsZW5kYXJNb250aHMoZGF0ZTogRGF5anMsIG1vbnRoczogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmFkZChtb250aHMsICdtb250aCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZENhbGVuZGFyRGF5cyhkYXRlOiBEYXlqcywgZGF5czogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmFkZChkYXlzLCAnZGF5Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgdG9Jc284NjAxKGRhdGU6IERheWpzKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXR0ZW1wdHMgdG8gZGVzZXJpYWxpemUgYSB2YWx1ZSB0byBhIHZhbGlkIGRhdGUgb2JqZWN0LiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHBhcnNpbmcgaW4gdGhhdFxyXG4gICAgICogZGVzZXJpYWxpemUgc2hvdWxkIG9ubHkgYWNjZXB0IG5vbi1hbWJpZ3VvdXMsIGxvY2FsZS1pbmRlcGVuZGVudCBmb3JtYXRzIChlLmcuIGEgSVNPIDg2MDFcclxuICAgICAqIHN0cmluZykuIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGRvZXMgbm90IGFsbG93IGFueSBkZXNlcmlhbGl6YXRpb24sIGl0IHNpbXBseSBjaGVja3MgdGhhdFxyXG4gICAgICogdGhlIGdpdmVuIHZhbHVlIGlzIGFscmVhZHkgYSB2YWxpZCBkYXRlIG9iamVjdCBvciBudWxsLiBUaGUgYDxtYXQtZGF0ZXBpY2tlcj5gIHdpbGwgY2FsbCB0aGlzXHJcbiAgICAgKiBtZXRob2Qgb24gYWxsIG9mIGl0J3MgYEBJbnB1dCgpYCBwcm9wZXJ0aWVzIHRoYXQgYWNjZXB0IGRhdGVzLiBJdCBpcyB0aGVyZWZvcmUgcG9zc2libGUgdG9cclxuICAgICAqIHN1cHBvcnQgcGFzc2luZyB2YWx1ZXMgZnJvbSB5b3VyIGJhY2tlbmQgZGlyZWN0bHkgdG8gdGhlc2UgcHJvcGVydGllcyBieSBvdmVycmlkaW5nIHRoaXMgbWV0aG9kXHJcbiAgICAgKiB0byBhbHNvIGRlc2VyaWFsaXplIHRoZSBmb3JtYXQgdXNlZCBieSB5b3VyIGJhY2tlbmQuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBiZSBkZXNlcmlhbGl6ZWQgaW50byBhIGRhdGUgb2JqZWN0LlxyXG4gICAgICogQHJldHVybnMgVGhlIGRlc2VyaWFsaXplZCBkYXRlIG9iamVjdCwgZWl0aGVyIGEgdmFsaWQgZGF0ZSwgbnVsbCBpZiB0aGUgdmFsdWUgY2FuIGJlXHJcbiAgICAgKiAgICAgZGVzZXJpYWxpemVkIGludG8gYSBudWxsIGRhdGUgKGUuZy4gdGhlIGVtcHR5IHN0cmluZyksIG9yIGFuIGludmFsaWQgZGF0ZS5cclxuICAgICAqL1xyXG4gICAgb3ZlcnJpZGUgZGVzZXJpYWxpemUodmFsdWU6IGFueSk6IERheWpzIHwgbnVsbCB7XHJcbiAgICAgICAgbGV0IGRhdGU6IGFueTtcclxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgICAgIGRhdGUgPSB0aGlzLl9kYXlKcyh2YWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRGF0ZUluc3RhbmNlKHZhbHVlKSkge1xyXG4gICAgICAgICAgICAvLyBOT1RFOiBhc3N1bWVzIHRoYXQgY2xvbmluZyBhbHNvIHNldHMgdGhlIGNvcnJlY3QgbG9jYWxlLlxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jbG9uZSh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGRhdGUgPSB0aGlzLl9kYXlKcyh2YWx1ZSkudG9JU09TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRhdGUgJiYgdGhpcy5pc1ZhbGlkKGRhdGUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9kYXlKcyhkYXRlKTsgLy8gTk9URTogSXMgdGhpcyBuZWNlc3Nhcnkgc2luY2UgRGF5anMgaXMgaW1tdXRhYmxlIGFuZCBNb21lbnQgd2FzIG5vdD9cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpc0RhdGVJbnN0YW5jZShvYmo6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBkYXlqcy5pc0RheWpzKG9iaik7XHJcbiAgICB9XHJcblxyXG4gICAgaXNWYWxpZChkYXRlOiBEYXlqcyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kYXlKcyhkYXRlKS5pc1ZhbGlkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW52YWxpZCgpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RheUpzKG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2RheUpzKGlucHV0PzogYW55LCBmb3JtYXQ/OiBzdHJpbmcsIGxvY2FsZT86IHN0cmluZyk6IERheWpzIHtcclxuICAgICAgICBpZiAoIXRoaXMuX3Nob3VsZFVzZVV0Yykge1xyXG4gICAgICAgICAgICByZXR1cm4gZGF5anMoaW5wdXQsIHsgZm9ybWF0LCBsb2NhbGUgfSwgbG9jYWxlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGRheWpzKGlucHV0LCB7IGZvcm1hdCwgbG9jYWxlLCB1dGM6IHRoaXMuX3Nob3VsZFVzZVV0YyB9LCBsb2NhbGUpLnV0YygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2luaXRpYWxpemVQYXJzZXIoZGF0ZUxvY2FsZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFVzZVV0Yykge1xyXG4gICAgICAgICAgICBkYXlqcy5leHRlbmQodXRjKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRheWpzLmV4dGVuZChMb2NhbGl6ZWRGb3JtYXQpO1xyXG4gICAgICAgIGRheWpzLmV4dGVuZChjdXN0b21QYXJzZUZvcm1hdCk7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKGxvY2FsZURhdGEpO1xyXG5cclxuICAgICAgICB0aGlzLnNldExvY2FsZShkYXRlTG9jYWxlKTtcclxuICAgIH1cclxufVxyXG4iXX0=