@wizishop/angular-components 15.1.6 → 15.1.8

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 (232) hide show
  1. package/angular-components.scss +10 -11
  2. package/esm2020/lib/components/alert/alert.component.mjs +3 -3
  3. package/esm2020/lib/components/alert-popup/alert-popup-module.mjs +4 -4
  4. package/esm2020/lib/components/alert-popup/alert-popup.component.mjs +3 -3
  5. package/esm2020/lib/components/alert-popup/alert-popup.service.mjs +3 -3
  6. package/esm2020/lib/components/back/back.component.mjs +3 -3
  7. package/esm2020/lib/components/block/block-title-legacy/block-title-legacy.component.mjs +3 -3
  8. package/esm2020/lib/components/block/block.component.mjs +7 -7
  9. package/esm2020/lib/components/block/separator/block-separator.component.mjs +3 -3
  10. package/esm2020/lib/components/block-with-checkbox/block-with-checkbox.component.mjs +3 -3
  11. package/esm2020/lib/components/breadcrumbs/breadcrumbs.component.mjs +3 -3
  12. package/esm2020/lib/components/button/button.component.mjs +12 -12
  13. package/esm2020/lib/components/calendar/calendar.component.mjs +26 -26
  14. package/esm2020/lib/components/card-price/card-price.component.mjs +3 -3
  15. package/esm2020/lib/components/charging-bar/charging-bar.component.mjs +3 -3
  16. package/esm2020/lib/components/checkbox/checkbox.component.mjs +12 -12
  17. package/esm2020/lib/components/checkbox/checkbox.module.mjs +4 -4
  18. package/esm2020/lib/components/common/label/label.component.mjs +3 -3
  19. package/esm2020/lib/components/common/placeholder/placeholder.component.mjs +3 -3
  20. package/esm2020/lib/components/confirm-delete/confirm-delete.component.mjs +3 -3
  21. package/esm2020/lib/components/content-with-buttons/content-with-buttons.component.mjs +3 -3
  22. package/esm2020/lib/components/delete/delete.component.mjs +3 -3
  23. package/esm2020/lib/components/draganddrop-list/draganddrop-list.component.mjs +3 -3
  24. package/esm2020/lib/components/dropdown/dropdown.component.mjs +3 -3
  25. package/esm2020/lib/components/edit-in-place/edit-in-place.component.mjs +3 -3
  26. package/esm2020/lib/components/expanded-panel/expanded-panel.component.mjs +3 -3
  27. package/esm2020/lib/components/expansion/accordion/accordion.component.mjs +3 -3
  28. package/esm2020/lib/components/expansion/expansion-panel/expansion-panel.component.mjs +7 -7
  29. package/esm2020/lib/components/expansion/expansion-panel/expansion-panel.directive.mjs +12 -12
  30. package/esm2020/lib/components/expansion/expansion-panel-header/expansion-panel-header.component.mjs +7 -7
  31. package/esm2020/lib/components/expansion/expansion-panel-header/expansion-panel-header.directive.mjs +7 -7
  32. package/esm2020/lib/components/expansion/expansion.module.mjs +4 -4
  33. package/esm2020/lib/components/filters/filters.component.mjs +3 -3
  34. package/esm2020/lib/components/free-popin/free-popin.component.mjs +3 -3
  35. package/esm2020/lib/components/google-preview/google-preview.component.mjs +3 -3
  36. package/esm2020/lib/components/header-page/header-page.component.mjs +3 -3
  37. package/esm2020/lib/components/hn/h1/h1.component.mjs +3 -3
  38. package/esm2020/lib/components/hn/h2/h2.component.mjs +3 -3
  39. package/esm2020/lib/components/hn/h3/h3.component.mjs +3 -3
  40. package/esm2020/lib/components/hn/h4/h4.component.mjs +3 -3
  41. package/esm2020/lib/components/image/image.component.mjs +3 -3
  42. package/esm2020/lib/components/info/info.component.mjs +3 -3
  43. package/esm2020/lib/components/inputs/input/input.component.mjs +3 -3
  44. package/esm2020/lib/components/inputs/input/input.module.mjs +4 -4
  45. package/esm2020/lib/components/inputs/input-search/input-search.component.mjs +3 -3
  46. package/esm2020/lib/components/inputs/input-search/input-search.module.mjs +4 -4
  47. package/esm2020/lib/components/inputs/input-with-select/input-with-select.component.mjs +3 -3
  48. package/esm2020/lib/components/link/link.component.mjs +9 -9
  49. package/esm2020/lib/components/loader/loader.component.mjs +3 -3
  50. package/esm2020/lib/components/loader/loader.module.mjs +4 -4
  51. package/esm2020/lib/components/logo/logo.component.mjs +3 -3
  52. package/esm2020/lib/components/mosaic/mosaic.component.mjs +3 -3
  53. package/esm2020/lib/components/multiple-search/multiple-search.component.mjs +3 -3
  54. package/esm2020/lib/components/multiple-search-plus/multiple-search-plus.component.mjs +3 -3
  55. package/esm2020/lib/components/optional-disable-container/optional-disable-container.component.mjs +3 -3
  56. package/esm2020/lib/components/pagination/pagination.component.mjs +7 -7
  57. package/esm2020/lib/components/pagination/pagination.module.mjs +4 -4
  58. package/esm2020/lib/components/pagination/pipes/array-pages.pipe.mjs +3 -3
  59. package/esm2020/lib/components/pagination/pipes/custom-text.pipe.mjs +3 -3
  60. package/esm2020/lib/components/pagination/pipes/is-last-page.pipe.mjs +3 -3
  61. package/esm2020/lib/components/popin/popin.component.mjs +3 -3
  62. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +3 -3
  63. package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +4 -4
  64. package/esm2020/lib/components/radio/radio-directive.mjs +3 -3
  65. package/esm2020/lib/components/radio/radio-group.directive.mjs +8 -8
  66. package/esm2020/lib/components/radio/radio.component.mjs +3 -3
  67. package/esm2020/lib/components/search/search.component.mjs +3 -3
  68. package/esm2020/lib/components/select/option/option.component.mjs +3 -3
  69. package/esm2020/lib/components/select/option/select-option.directive.mjs +14 -14
  70. package/esm2020/lib/components/select/option-call-to-action/option-call-to-action.component.mjs +3 -3
  71. package/esm2020/lib/components/select/select/select.component.mjs +24 -24
  72. package/esm2020/lib/components/select/select/select.directive.mjs +15 -15
  73. package/esm2020/lib/components/select/select/value-change.service.mjs +12 -12
  74. package/esm2020/lib/components/select/select-search-trigger/select-search-trigger.component.mjs +3 -3
  75. package/esm2020/lib/components/select-in-text/select-in-text.component.mjs +11 -11
  76. package/esm2020/lib/components/selected-list/selected-list.component.mjs +3 -3
  77. package/esm2020/lib/components/separator/separator.component.mjs +3 -3
  78. package/esm2020/lib/components/settings/settings.component.mjs +3 -3
  79. package/esm2020/lib/components/shared-components.module.mjs +4 -4
  80. package/esm2020/lib/components/snackbar/snackbar.component.mjs +3 -3
  81. package/esm2020/lib/components/state/state.component.mjs +3 -3
  82. package/esm2020/lib/components/summary/summary.component.mjs +8 -8
  83. package/esm2020/lib/components/switch/switch.component.mjs +3 -3
  84. package/esm2020/lib/components/tab/tab.component.mjs +3 -3
  85. package/esm2020/lib/components/table/directives/checkBoxRow.directive.mjs +13 -13
  86. package/esm2020/lib/components/table/directives/column.directive.mjs +3 -3
  87. package/esm2020/lib/components/table/directives/columnHeader.directive.mjs +11 -11
  88. package/esm2020/lib/components/table/directives/raw.directive.mjs +3 -3
  89. package/esm2020/lib/components/table/shared/filters-table.service.mjs +3 -3
  90. package/esm2020/lib/components/table/shared/table-checkbox-id.service.mjs +3 -3
  91. package/esm2020/lib/components/table/table.component.mjs +3 -3
  92. package/esm2020/lib/components/table/table.module.mjs +4 -4
  93. package/esm2020/lib/components/tag/tag.component.mjs +3 -3
  94. package/esm2020/lib/components/tag-label/tag-label.component.mjs +3 -3
  95. package/esm2020/lib/components/text/text.component.mjs +3 -3
  96. package/esm2020/lib/components/text-area/text-area.component.mjs +3 -3
  97. package/esm2020/lib/components/token-check/token-check.component.mjs +3 -3
  98. package/esm2020/lib/components/tooltip/tooltip.component.mjs +3 -3
  99. package/esm2020/lib/components/tooltip/tooltip.module.mjs +4 -4
  100. package/esm2020/lib/components/tree/tree.component.mjs +3 -3
  101. package/esm2020/lib/components/tree/tree.module.mjs +4 -4
  102. package/esm2020/lib/components/upload/upload.component.mjs +3 -3
  103. package/esm2020/lib/components/wrapper/wrapper.component.mjs +3 -3
  104. package/esm2020/lib/components/wrapper-blocs/wrapper-blocs.component.mjs +3 -3
  105. package/esm2020/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.mjs +3 -3
  106. package/esm2020/lib/components/wrapper-sidebar/wrapper-sidebar.component.mjs +3 -3
  107. package/esm2020/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +3 -3
  108. package/esm2020/lib/directives/abstract-debounce/debounce-keyup.directive.mjs +3 -3
  109. package/esm2020/lib/directives/auto-hide/auto-hide.directive.mjs +3 -3
  110. package/esm2020/lib/directives/copy-to-clipboard/copy-to-clipboard.directive.mjs +3 -3
  111. package/esm2020/lib/directives/keyboard-events/keypress-enter.directive.mjs +8 -8
  112. package/esm2020/lib/directives/keyboard-events/only-numbers.directive.mjs +3 -3
  113. package/esm2020/lib/directives/keyboard-events/two-digital-decimal-number.directive.mjs +3 -3
  114. package/esm2020/lib/directives/ng-var.directive.mjs +12 -12
  115. package/esm2020/lib/directives/shared-directives.module.mjs +4 -4
  116. package/esm2020/lib/directives/zindex-toggle/zindex-toggle.directive.mjs +9 -9
  117. package/esm2020/lib/pipes/call-component-function.pipe.mjs +3 -3
  118. package/esm2020/lib/pipes/find-option-selected-field.pipe.mjs +3 -3
  119. package/esm2020/lib/pipes/select/filter-options.pipe.mjs +3 -3
  120. package/esm2020/lib/pipes/select/select-filters.pipe.mjs +3 -3
  121. package/esm2020/lib/pipes/selected-list/are-all-options-selected.pipe.mjs +3 -3
  122. package/esm2020/lib/pipes/shared-pipes.module.mjs +4 -4
  123. package/esm2020/lib/pipes/tree/format-object-to-recursif-tree.pipe.mjs +3 -3
  124. package/esm2020/lib/pipes/tree/format-object-to-simple-tree.pipe.mjs +3 -3
  125. package/esm2020/lib/services/dom.service.mjs +3 -3
  126. package/esm2020/lib/services/history.service.mjs +3 -3
  127. package/esm2020/lib/services/multiple-selection.service.mjs +3 -3
  128. package/esm2020/lib/wizi-components.module.mjs +4 -4
  129. package/fesm2015/wizishop-angular-components.mjs +559 -559
  130. package/fesm2015/wizishop-angular-components.mjs.map +1 -1
  131. package/fesm2020/wizishop-angular-components.mjs +559 -559
  132. package/fesm2020/wizishop-angular-components.mjs.map +1 -1
  133. package/lib/components/alert/alert.component.d.ts +1 -1
  134. package/lib/components/alert-popup/alert-popup.component.d.ts +1 -1
  135. package/lib/components/back/back.component.d.ts +1 -1
  136. package/lib/components/block/block-title-legacy/block-title-legacy.component.d.ts +1 -1
  137. package/lib/components/block/block.component.d.ts +2 -2
  138. package/lib/components/block/separator/block-separator.component.d.ts +1 -1
  139. package/lib/components/block-with-checkbox/block-with-checkbox.component.d.ts +1 -1
  140. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  141. package/lib/components/button/button.component.d.ts +1 -1
  142. package/lib/components/calendar/calendar.component.d.ts +1 -1
  143. package/lib/components/card-price/card-price.component.d.ts +1 -1
  144. package/lib/components/charging-bar/charging-bar.component.d.ts +1 -1
  145. package/lib/components/checkbox/checkbox.component.d.ts +1 -1
  146. package/lib/components/common/label/label.component.d.ts +1 -1
  147. package/lib/components/common/placeholder/placeholder.component.d.ts +1 -1
  148. package/lib/components/confirm-delete/confirm-delete.component.d.ts +1 -1
  149. package/lib/components/content-with-buttons/content-with-buttons.component.d.ts +1 -1
  150. package/lib/components/delete/delete.component.d.ts +1 -1
  151. package/lib/components/draganddrop-list/draganddrop-list.component.d.ts +1 -1
  152. package/lib/components/dropdown/dropdown.component.d.ts +1 -1
  153. package/lib/components/edit-in-place/edit-in-place.component.d.ts +1 -1
  154. package/lib/components/expanded-panel/expanded-panel.component.d.ts +1 -1
  155. package/lib/components/expansion/accordion/accordion.component.d.ts +1 -1
  156. package/lib/components/expansion/expansion-panel/expansion-panel.component.d.ts +1 -1
  157. package/lib/components/expansion/expansion-panel/expansion-panel.directive.d.ts +1 -1
  158. package/lib/components/expansion/expansion-panel-header/expansion-panel-header.component.d.ts +1 -1
  159. package/lib/components/expansion/expansion-panel-header/expansion-panel-header.directive.d.ts +1 -1
  160. package/lib/components/filters/filters.component.d.ts +1 -1
  161. package/lib/components/free-popin/free-popin.component.d.ts +1 -1
  162. package/lib/components/google-preview/google-preview.component.d.ts +1 -1
  163. package/lib/components/header-page/header-page.component.d.ts +1 -1
  164. package/lib/components/hn/h1/h1.component.d.ts +1 -1
  165. package/lib/components/hn/h2/h2.component.d.ts +1 -1
  166. package/lib/components/hn/h3/h3.component.d.ts +1 -1
  167. package/lib/components/hn/h4/h4.component.d.ts +1 -1
  168. package/lib/components/image/image.component.d.ts +1 -1
  169. package/lib/components/info/info.component.d.ts +1 -1
  170. package/lib/components/inputs/input/input.component.d.ts +1 -1
  171. package/lib/components/inputs/input-search/input-search.component.d.ts +1 -1
  172. package/lib/components/inputs/input-with-select/input-with-select.component.d.ts +1 -1
  173. package/lib/components/inputs/input-with-select/option-item.dto.d.ts +1 -1
  174. package/lib/components/link/link.component.d.ts +1 -1
  175. package/lib/components/loader/loader.component.d.ts +1 -1
  176. package/lib/components/logo/logo.component.d.ts +1 -1
  177. package/lib/components/mosaic/mosaic.component.d.ts +5 -5
  178. package/lib/components/multiple-search/multiple-search.component.d.ts +1 -1
  179. package/lib/components/multiple-search-plus/multiple-search-plus.component.d.ts +1 -1
  180. package/lib/components/optional-disable-container/optional-disable-container.component.d.ts +1 -1
  181. package/lib/components/pagination/pagination.component.d.ts +1 -1
  182. package/lib/components/popin/popin.component.d.ts +1 -1
  183. package/lib/components/progress-bar/progress-bar.component.d.ts +1 -1
  184. package/lib/components/radio/radio-directive.d.ts +1 -1
  185. package/lib/components/radio/radio-group.directive.d.ts +1 -1
  186. package/lib/components/radio/radio.component.d.ts +1 -1
  187. package/lib/components/search/search.component.d.ts +1 -1
  188. package/lib/components/select/option/option.component.d.ts +1 -1
  189. package/lib/components/select/option/select-option.directive.d.ts +1 -1
  190. package/lib/components/select/option-call-to-action/option-call-to-action.component.d.ts +1 -1
  191. package/lib/components/select/select/select.component.d.ts +1 -1
  192. package/lib/components/select/select/select.directive.d.ts +1 -1
  193. package/lib/components/select/select-search-trigger/select-search-trigger.component.d.ts +1 -1
  194. package/lib/components/select-in-text/select-in-text.component.d.ts +1 -1
  195. package/lib/components/selected-list/selected-list.component.d.ts +1 -1
  196. package/lib/components/separator/separator.component.d.ts +1 -1
  197. package/lib/components/settings/settings.component.d.ts +1 -1
  198. package/lib/components/snackbar/snackbar.component.d.ts +1 -1
  199. package/lib/components/state/state.component.d.ts +1 -1
  200. package/lib/components/summary/summary.component.d.ts +1 -1
  201. package/lib/components/switch/switch.component.d.ts +1 -1
  202. package/lib/components/tab/tab.component.d.ts +2 -2
  203. package/lib/components/table/directives/checkBoxRow.directive.d.ts +1 -1
  204. package/lib/components/table/directives/column.directive.d.ts +1 -1
  205. package/lib/components/table/directives/columnHeader.directive.d.ts +1 -1
  206. package/lib/components/table/directives/raw.directive.d.ts +1 -1
  207. package/lib/components/table/table.component.d.ts +1 -1
  208. package/lib/components/tag/tag.component.d.ts +1 -1
  209. package/lib/components/tag-label/tag-label.component.d.ts +1 -1
  210. package/lib/components/text/text.component.d.ts +1 -1
  211. package/lib/components/text-area/text-area.component.d.ts +1 -1
  212. package/lib/components/token-check/token-check.component.d.ts +1 -1
  213. package/lib/components/tooltip/tooltip.component.d.ts +1 -1
  214. package/lib/components/tree/tree.component.d.ts +1 -1
  215. package/lib/components/upload/upload.component.d.ts +1 -1
  216. package/lib/components/wrapper/wrapper.component.d.ts +1 -1
  217. package/lib/components/wrapper-blocs/wrapper-blocs.component.d.ts +1 -1
  218. package/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.d.ts +1 -1
  219. package/lib/components/wrapper-sidebar/wrapper-sidebar.component.d.ts +1 -1
  220. package/lib/directives/abstract-debounce/abstract-debounce.directive.d.ts +1 -1
  221. package/lib/directives/abstract-debounce/debounce-keyup.directive.d.ts +1 -1
  222. package/lib/directives/auto-hide/auto-hide.directive.d.ts +1 -1
  223. package/lib/directives/copy-to-clipboard/copy-to-clipboard.directive.d.ts +1 -1
  224. package/lib/directives/keyboard-events/keypress-enter.directive.d.ts +1 -1
  225. package/lib/directives/keyboard-events/only-numbers.directive.d.ts +1 -1
  226. package/lib/directives/keyboard-events/two-digital-decimal-number.directive.d.ts +1 -1
  227. package/lib/directives/ng-var.directive.d.ts +1 -1
  228. package/lib/directives/zindex-toggle/zindex-toggle.directive.d.ts +1 -1
  229. package/lib/pipes/call-component-function.pipe.d.ts +1 -1
  230. package/package.json +1 -1
  231. package/wizishop-angular-components-15.1.8.tgz +0 -0
  232. package/wizishop-angular-components-15.1.6.tgz +0 -0
@@ -382,23 +382,22 @@ $wac-link-active: #38A3F1!default;
382
382
  }
383
383
  }
384
384
  }
385
- }
386
385
 
387
- &.no-duration {
388
- &.small {
389
- .wac-alert-popup {
390
- &__text {
391
- padding-right: 65px;
392
- }
393
- &__close {
394
- display: flex;
395
- margin: 0;
386
+ &.no-duration {
387
+ &.small {
388
+ .wac-alert-popup {
389
+ &__text {
390
+ padding-right: 65px;
391
+ }
392
+ &__close {
393
+ display: flex;
394
+ margin: 0;
395
+ }
396
396
  }
397
397
  }
398
398
  }
399
399
  }
400
400
 
401
-
402
401
  &__title {
403
402
  font-size: rem(24);
404
403
  line-height: 1.4;
@@ -11,9 +11,9 @@ export class AlertComponent {
11
11
  }
12
12
  ngOnInit() { }
13
13
  }
14
- AlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
- AlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: AlertComponent, selector: "wac-alert", inputs: { icon: "icon", warning: "warning", success: "success", alert: "alert", iconClass: "iconClass" }, ngImport: i0, template: "<div class=\"wac-alert\" [ngClass]=\"{ success: success, warning: warning, alert: alert }\">\n <i *ngIf=\"icon\" [ngClass]=\"iconClass\"></i>\n <p><ng-content></ng-content></p> <!-- ! Refacto : Remove p tag, attention \u00E0 wizi-admin -->\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AlertComponent, decorators: [{
14
+ AlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
+ AlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: AlertComponent, selector: "wac-alert", inputs: { icon: "icon", warning: "warning", success: "success", alert: "alert", iconClass: "iconClass" }, ngImport: i0, template: "<div class=\"wac-alert\" [ngClass]=\"{ success: success, warning: warning, alert: alert }\">\n <i *ngIf=\"icon\" [ngClass]=\"iconClass\"></i>\n <p><ng-content></ng-content></p> <!-- ! Refacto : Remove p tag, attention \u00E0 wizi-admin -->\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AlertComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ selector: 'wac-alert', template: "<div class=\"wac-alert\" [ngClass]=\"{ success: success, warning: warning, alert: alert }\">\n <i *ngIf=\"icon\" [ngClass]=\"iconClass\"></i>\n <p><ng-content></ng-content></p> <!-- ! Refacto : Remove p tag, attention \u00E0 wizi-admin -->\n</div>\n" }]
19
19
  }], ctorParameters: function () { return []; }, propDecorators: { icon: [{
@@ -5,10 +5,10 @@ import { AlertPopupComponent } from './alert-popup.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class AlertPopupModule {
7
7
  }
8
- AlertPopupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AlertPopupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- AlertPopupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: AlertPopupModule, declarations: [AlertPopupComponent], imports: [CommonModule], exports: [AlertPopupComponent] });
10
- AlertPopupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AlertPopupModule, providers: [AlertPopupService], imports: [CommonModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AlertPopupModule, decorators: [{
8
+ AlertPopupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AlertPopupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ AlertPopupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: AlertPopupModule, declarations: [AlertPopupComponent], imports: [CommonModule], exports: [AlertPopupComponent] });
10
+ AlertPopupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AlertPopupModule, providers: [AlertPopupService], imports: [CommonModule] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AlertPopupModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  imports: [CommonModule],
@@ -30,9 +30,9 @@ export class AlertPopupComponent {
30
30
  return this.afterClosedPopup.asObservable();
31
31
  }
32
32
  }
33
- AlertPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AlertPopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
- AlertPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: AlertPopupComponent, selector: "wac-alert-popup", host: { classAttribute: "wac-alert-popup" }, ngImport: i0, template: "<div\n [class]=\"'alert ' + ((config.color) ? config.color : ' is-primary') + ((config.extraClasses) ? ' ' + config.extraClasses : '') + ((config.position) ? ' ' + config.position : '') + ((config.fullsize) ? ' fullsize' : '') + ((config.opacity) ? ' opacity-active' : '') + ((config.small) ? ' small' : '') + ((config.icon) ? ' with-icon' : '') + ((config.duration) ? '' : ' no-duration')\"\n [ngClass]=\"{'is-active': open}\"\n>\n <div class=\"alert--message\">\n <span class=\"icon\" *ngIf=\"config.icon\">\n <i [class]=\"config.icon\"></i>\n </span>\n <span (click)=\"dismiss()\" class=\"wac-alert-popup__close\"><i class=\"fas fa-times\"></i></span>\n <p *ngIf=\"config.title\" class=\"wac-alert-popup__title\" [innerHTML]=\"config.title\"></p>\n <p *ngIf=\"config.message\" class=\"wac-alert-popup__text\" [innerHTML]=\"config.message\"></p>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AlertPopupComponent, decorators: [{
33
+ AlertPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AlertPopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
+ AlertPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: AlertPopupComponent, selector: "wac-alert-popup", host: { classAttribute: "wac-alert-popup" }, ngImport: i0, template: "<div\n [class]=\"'alert ' + ((config.color) ? config.color : ' is-primary') + ((config.extraClasses) ? ' ' + config.extraClasses : '') + ((config.position) ? ' ' + config.position : '') + ((config.fullsize) ? ' fullsize' : '') + ((config.opacity) ? ' opacity-active' : '') + ((config.small) ? ' small' : '') + ((config.icon) ? ' with-icon' : '') + ((config.duration) ? '' : ' no-duration')\"\n [ngClass]=\"{'is-active': open}\"\n>\n <div class=\"alert--message\">\n <span class=\"icon\" *ngIf=\"config.icon\">\n <i [class]=\"config.icon\"></i>\n </span>\n <span (click)=\"dismiss()\" class=\"wac-alert-popup__close\"><i class=\"fas fa-times\"></i></span>\n <p *ngIf=\"config.title\" class=\"wac-alert-popup__title\" [innerHTML]=\"config.title\"></p>\n <p *ngIf=\"config.message\" class=\"wac-alert-popup__text\" [innerHTML]=\"config.message\"></p>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AlertPopupComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'wac-alert-popup', host: {
38
38
  class: 'wac-alert-popup'
@@ -22,9 +22,9 @@ export class AlertPopupService {
22
22
  return componentRef;
23
23
  }
24
24
  }
25
- AlertPopupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AlertPopupService, deps: [{ token: i1.DomService }], target: i0.ɵɵFactoryTarget.Injectable });
26
- AlertPopupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AlertPopupService });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AlertPopupService, decorators: [{
25
+ AlertPopupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AlertPopupService, deps: [{ token: i1.DomService }], target: i0.ɵɵFactoryTarget.Injectable });
26
+ AlertPopupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AlertPopupService });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AlertPopupService, decorators: [{
28
28
  type: Injectable
29
29
  }], ctorParameters: function () { return [{ type: i1.DomService }]; } });
30
30
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtcG9wdXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYWxlcnQtcG9wdXAvYWxlcnQtcG9wdXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFJOUQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUU5QyxJQUFJLENBQUMsTUFBd0I7UUFDM0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsRCxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDL0IsQ0FBQztJQUVPLGVBQWUsQ0FBQyxNQUF3QjtRQUM5QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFaEYsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ3BCO1lBQ0UsUUFBUSxFQUFFLFFBQVE7U0FDbkIsRUFDRCxNQUFNLENBQ1AsQ0FBQztRQUVGLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUV0QyxZQUFZLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakQsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs7OEdBMUJVLGlCQUFpQjtrSEFBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbGVydFBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi9hbGVydC1wb3B1cC5jb21wb25lbnQnO1xuaW1wb3J0IHtEb21TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kb20uc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbGVydFBvcHVwU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZG9tU2VydmljZTogRG9tU2VydmljZSkge31cblxuICBvcGVuKGNvbmZpZzogQWxlcnRQb3B1cENvbmZpZyk6IEFsZXJ0UG9wdXBDb21wb25lbnQge1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuZ2V0Q29tcG9uZW50UmVmKGNvbmZpZyk7XG5cbiAgICByZXR1cm4gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb21wb25lbnRSZWYoY29uZmlnOiBBbGVydFBvcHVwQ29uZmlnKSB7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5kb21TZXJ2aWNlLmF0dGFjaENvbXBvbmVudFBvcnRhbChBbGVydFBvcHVwQ29tcG9uZW50KTtcblxuICAgIGNvbmZpZyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIHBvc2l0aW9uOiAnaXMtdG9wJ1xuICAgICAgfSxcbiAgICAgIGNvbmZpZ1xuICAgICk7XG5cbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29uZmlnID0gY29uZmlnO1xuXG4gICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxlcnRQb3B1cENvbmZpZyB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBwb3NpdGlvbj86IHN0cmluZztcbiAgZHVyYXRpb24/OiBudW1iZXI7XG4gIGV4dHJhQ2xhc3Nlcz86IHN0cmluZztcbiAgZnVsbHNpemU/OiBib29sZWFuO1xuICBvcGFjaXR5PzogYm9vbGVhbjtcbiAgc21hbGw/OiBib29sZWFuO1xufVxuIl19
@@ -3,9 +3,9 @@ import * as i0 from "@angular/core";
3
3
  export class BackComponent {
4
4
  constructor() { }
5
5
  }
6
- BackComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- BackComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: BackComponent, selector: "wac-back", ngImport: i0, template: "<div class=\"wac-back\">\n <div class=\"wac-back__wrapper\">\n <i class=\"fas fa-chevron-left\"></i>\n </div>\n</div>\n" });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BackComponent, decorators: [{
6
+ BackComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ BackComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: BackComponent, selector: "wac-back", ngImport: i0, template: "<div class=\"wac-back\">\n <div class=\"wac-back__wrapper\">\n <i class=\"fas fa-chevron-left\"></i>\n </div>\n</div>\n" });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BackComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'wac-back', template: "<div class=\"wac-back\">\n <div class=\"wac-back__wrapper\">\n <i class=\"fas fa-chevron-left\"></i>\n </div>\n</div>\n" }]
11
11
  }], ctorParameters: function () { return []; } });
@@ -7,9 +7,9 @@ export class BlockTitleLegacyComponent {
7
7
  this.icon = '';
8
8
  }
9
9
  }
10
- BlockTitleLegacyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BlockTitleLegacyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- BlockTitleLegacyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: BlockTitleLegacyComponent, selector: "wac-block-title-legacy", inputs: { simple: "simple", icon: "icon" }, ngImport: i0, template: "<h2 class=\"wac-block__title\" [ngClass]=\"{ 'is-simple': simple }\">\n <ng-content></ng-content> <i *ngIf=\"icon\" [ngClass]=\"icon\"></i>\n</h2>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BlockTitleLegacyComponent, decorators: [{
10
+ BlockTitleLegacyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BlockTitleLegacyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ BlockTitleLegacyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: BlockTitleLegacyComponent, selector: "wac-block-title-legacy", inputs: { simple: "simple", icon: "icon" }, ngImport: i0, template: "<h2 class=\"wac-block__title\" [ngClass]=\"{ 'is-simple': simple }\">\n <ng-content></ng-content> <i *ngIf=\"icon\" [ngClass]=\"icon\"></i>\n</h2>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BlockTitleLegacyComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'wac-block-title-legacy', encapsulation: ViewEncapsulation.None, template: "<h2 class=\"wac-block__title\" [ngClass]=\"{ 'is-simple': simple }\">\n <ng-content></ng-content> <i *ngIf=\"icon\" [ngClass]=\"icon\"></i>\n</h2>" }]
15
15
  }], ctorParameters: function () { return []; }, propDecorators: { simple: [{
@@ -3,6 +3,9 @@ import { Subject, takeUntil } from 'rxjs';
3
3
  import { BlockSeparatorComponent } from './separator/block-separator.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class BlockComponent {
6
+ get borderRadius() {
7
+ return `--wac-block-border-radius: ${this.config.borderRadius ? this.config.borderRadius : '3px'};`;
8
+ }
6
9
  constructor(renderer2, wacBlockElementRef) {
7
10
  this.renderer2 = renderer2;
8
11
  this.wacBlockElementRef = wacBlockElementRef;
@@ -11,9 +14,6 @@ export class BlockComponent {
11
14
  };
12
15
  this.destroy$ = new Subject();
13
16
  }
14
- get borderRadius() {
15
- return `--wac-block-border-radius: ${this.config.borderRadius ? this.config.borderRadius : '3px'};`;
16
- }
17
17
  ngAfterViewInit() {
18
18
  const groupedNodesList = this.getSeparatedGroupedOfNodes(this.wacBlockElementRef.nativeElement.childNodes);
19
19
  this.attachSeparatedBlocksToTheDom(groupedNodesList, this.wacBlockElementRef.nativeElement);
@@ -106,9 +106,9 @@ export class BlockComponent {
106
106
  this.destroy$.complete();
107
107
  }
108
108
  }
109
- BlockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BlockComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
110
- BlockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: BlockComponent, selector: "wac-block", inputs: { config: "config" }, host: { properties: { "style": "this.borderRadius" } }, queries: [{ propertyName: "blockSeparators", predicate: BlockSeparatorComponent }], ngImport: i0, template: "<ng-content></ng-content>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BlockComponent, decorators: [{
109
+ BlockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BlockComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
110
+ BlockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: BlockComponent, selector: "wac-block", inputs: { config: "config" }, host: { properties: { "style": "this.borderRadius" } }, queries: [{ propertyName: "blockSeparators", predicate: BlockSeparatorComponent }], ngImport: i0, template: "<ng-content></ng-content>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BlockComponent, decorators: [{
112
112
  type: Component,
113
113
  args: [{ selector: 'wac-block', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>" }]
114
114
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { blockSeparators: [{
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
120
120
  type: HostBinding,
121
121
  args: ['style']
122
122
  }] } });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9ibG9jay9ibG9jay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Jsb2NrL2Jsb2NrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFZaEYsTUFBTSxPQUFPLGNBQWM7SUFpQnpCLFlBQ1UsU0FBb0IsRUFDcEIsa0JBQThCO1FBRDlCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFZO1FBWnhDLFdBQU0sR0FBbUI7WUFDdkIsWUFBWSxFQUFFLEtBQUs7U0FDcEIsQ0FBQTtRQU1ELGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBSzFCLENBQUM7SUFUTixJQUEwQixZQUFZO1FBQ3BDLE9BQU8sOEJBQThCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUM7SUFDdEcsQ0FBQztJQVNELGVBQWU7UUFDYixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFB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QUNsRDtJQUNILENBQUM7SUFHTywwQkFBMEIsQ0FBQyxVQUFlO1FBQ2hELE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUV4QixLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsRUFBRTtZQUU3QixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUsscUJBQXFCLEVBQUU7Z0JBQzNDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsb0NBQW9DO2dCQUNuRixjQUFjLEdBQUcsRUFBRSxDQUFDO2dCQUNwQixTQUFTO2FBQ1Y7WUFFRCxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBRTNCO1FBRUQsSUFBSSxjQUFjLENBQUMsTUFBTSxFQUFFO1lBQ3pCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN2QztRQUNELE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7MkdBeElVLGNBQWM7K0ZBQWQsY0FBYyx1S0FJUix1QkFBdUIsNkJDbEIxQywyQkFBeUI7MkZEY1osY0FBYztrQkFOMUIsU0FBUzsrQkFDRSxXQUFXLGlCQUVOLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07eUhBTUwsZUFBZTtzQkFBeEQsZUFBZTt1QkFBQyx1QkFBdUI7Z0JBR3hDLE1BQU07c0JBREwsS0FBSztnQkFLb0IsWUFBWTtzQkFBckMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIFF1ZXJ5TGlzdCwgUmVuZGVyZXIyLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCbG9ja1NlcGFyYXRvckNvbXBvbmVudCB9IGZyb20gJy4vc2VwYXJhdG9yL2Jsb2NrLXNlcGFyYXRvci5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBXYWNCbG9ja0NvbmZpZyA9IFJlYWRvbmx5PHtcbiAgYm9yZGVyUmFkaXVzPzogc3RyaW5nO1xufT47XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhYy1ibG9jaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9ibG9jay5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJsb2NrQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgLy8gdG9kbyBvcHRpbWl6ZSByZW5kZXIsIGFkZCBhIGNhbGwgYnkgZGVmYXVsdCByZW1vdmUgYXQgdGhlIGVuZCwgYW5kIGFkZCBibG9jayBpbiBjb3JyZWN0IG9yZGVyLCB1c2UgZGVidWdnZXIgdG8gaGVscFxuXG4gIEBDb250ZW50Q2hpbGRyZW4oQmxvY2tTZXBhcmF0b3JDb21wb25lbnQpIGJsb2NrU2VwYXJhdG9yczogUXVlcnlMaXN0PEJsb2NrU2VwYXJhdG9yQ29tcG9uZW50PjtcblxuICBASW5wdXQoKVxuICBjb25maWc6IFdhY0Jsb2NrQ29uZmlnID0ge1xuICAgIGJvcmRlclJhZGl1czogJzNweCdcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBnZXQgYm9yZGVyUmFkaXVzKCkge1xuICAgIHJldHVybiBgLS13YWMtYmxvY2stYm9yZGVyLXJhZGl1czogJHt0aGlzLmNvbmZpZy5ib3JkZXJSYWRpdXMgPyB0aGlzLmNvbmZpZy5ib3JkZXJSYWRpdXMgOiAnM3B4J307YDtcbiAgfVxuXG4gIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlbmRlcmVyMjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgd2FjQmxvY2tFbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICAgKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBncm91cGVkTm9kZXNMaXN0ID0gdGhpcy5nZXRTZXBhcmF0ZWRHcm91cGVkT2ZOb2Rlcyh0aGlzLndhY0Jsb2NrRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMpO1xuICAgIHRoaXMuYXR0YWNoU2VwYXJhdGVkQmxvY2tzVG9UaGVEb20oZ3JvdXBlZE5vZGVzTGlzdCwgdGhpcy53YWNCbG9ja0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG5cbiAgICB0aGlzLmJsb2NrU2VwYXJhdG9yc1xuICAgICAgLmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVBZGRlZFNlcGFyYXRvcigpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgLy8gd2FpdCBuZXh0IHJlbmRlciwgYmVjYXVzZSwgQW5ndWxhciB3aWxsIHJlbW92ZSBjaGlsZCBzZXBhcmF0b3IgYWZ0ZXIgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWRcbiAgICAgICAgICB0aGlzLmhhbmRsZVJlbW92ZWRTZXBhcmF0b3IoKTtcbiAgICAgICAgfSwgMCk7XG5cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUmVtb3ZlZFNlcGFyYXRvcigpIHtcbiAgICAgIGNvbnN0IHdhY0Jsb2NrQ29tcG9uZW50Q2hpbGROb2RlcyA9IHRoaXMud2FjQmxvY2tFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2RlcztcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd2FjQmxvY2tDb21wb25lbnRDaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XG5cbiAgICAgICAgY29uc3QgY2hpbGROb2RlID0gd2FjQmxvY2tDb21wb25lbnRDaGlsZE5vZGVzW2ldO1xuICAgICAgICBjb25zdCBuZXh0Q2hpbGQgPSB3YWNCbG9ja0NvbXBvbmVudENoaWxkTm9kZXNbaSArIDFdO1xuICAgICAgICBjb25zdCBhcmVXYWNCbG9ja1NpZGVCeVNpZGUgPSBuZXh0Q2hpbGQgJiYgY2hpbGROb2RlLmNsYXNzTGlzdC5jb250YWlucygnd2FjLWJsb2NrJykgJiYgbmV4dENoaWxkLmNsYXNzTGlzdC5jb250YWlucygnd2FjLWJsb2NrJyk7XG5cbiAgICAgICAgaWYgKCFhcmVXYWNCbG9ja1NpZGVCeVNpZGUpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLndhY0Jsb2NrRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLmZ1c2lvbk5leHRCbG9ja1dpdGhDdXJyZW50QmxvY2socGFyZW50RWxlbWVudCwgbmV4dENoaWxkLCBjaGlsZE5vZGUpO1xuICAgICAgICBpLS07IC8vIHdlIHJlbW92ZSBhIGNoaWxkLCBzbyB3ZSBuZWVkIHRvIGdvIGJhY2sgdG8gdGhlIHByZXZpb3VzIGluZGV4XG5cbiAgICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZnVzaW9uTmV4dEJsb2NrV2l0aEN1cnJlbnRCbG9jayhwYXJlbnRFbGVtZW50OiBhbnksIG5leHRDaGlsZDogYW55LCBjaGlsZE5vZGU6IGFueSkge1xuICAgIHBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQobmV4dENoaWxkKTsgLy8gbm90IHdvcmtpbmcgd2l0aCByZW5kZXJlcjIsIGl0IGp1c3QgZnJlZXplIHRoZSBhcHBcbiAgICBjaGlsZE5vZGUuYXBwZW5kKC4uLm5leHRDaGlsZC5jaGlsZE5vZGVzKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQWRkZWRTZXBhcmF0b3IoKSB7XG4gICAgY29uc3Qgd2FjQmxvY2tDb21wb25lbnRDaGlsZE5vZGVzID0gWy4uLnRoaXMud2FjQmxvY2tFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlc107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHdhY0Jsb2NrQ29tcG9uZW50Q2hpbGROb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY2hpbGROb2RlID0gd2FjQmxvY2tDb21wb25lbnRDaGlsZE5vZGVzW2ldO1xuICAgICAgaWYgKGNoaWxkTm9kZS5ub2RlTmFtZSA9PT0gJ1dBQy1CTE9DSy1TRVBBUkFUT1InKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLmhhc0Jsb2NrU2VwYXJhdG9yKGNoaWxkTm9kZS5jaGlsZE5vZGVzKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZ3JvdXBlZE5vZGVzTGlzdCA9IHRoaXMuZ2V0U2VwYXJhdGVkR3JvdXBlZE9mTm9kZXMoY2hpbGROb2RlLmNoaWxkTm9kZXMpO1xuICAgICAgZ3JvdXBlZE5vZGVzTGlzdC5zaGlmdCgpOyAvLyByZW1vdmUgZmlyc3QgZ3JvdXAsIGl0J3MgdGhlIGN1cnJlbnQgYmxvY2tcblxuICAgICAgdGhpcy5hdHRhY2hTZXBhcmF0ZWRCbG9ja3NUb1RoZURvbShncm91cGVkTm9kZXNMaXN0LCB0aGlzLndhY0Jsb2NrRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB3YWNCbG9ja0NvbXBvbmVudENoaWxkTm9kZXNbaSArIDFdKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhc0Jsb2NrU2VwYXJhdG9yKGNoaWxkTm9kZXM6IGFueSkge1xuICAgIHJldHVybiBbLi4uY2hpbGROb2Rlc10uc29tZShncm91cGVkTm9kZXMgPT4gZ3JvdXBlZE5vZGVzPy5ub2RlTmFtZSA9PT0gJ1dBQy1CTE9DSy1TRVBBUkFUT1InKTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoU2VwYXJhdGVkQmxvY2tzVG9UaGVEb20oZ3JvdXBlZE5vZGVzTGlzdDogYW55W10sIHBhcmVudEVsZW1lbnQ6IGFueSwgbmV4dEVsZW1lbnQ/OiBhbnkpIHtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZ3JvdXBlZE5vZGVzTGlzdC5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGdyb3VwZWROb2RlcyA9IGdyb3VwZWROb2Rlc0xpc3RbaW5kZXhdO1xuXG4gICAgICBpZiAoZ3JvdXBlZE5vZGVzWzBdPy5ub2RlTmFtZSA9PT0gJ1dBQy1CTE9DSy1TRVBBUkFUT1InKSB7XG4gICAgICAgIHRoaXMuYXR0YWNoVG9UaGVEb20oZ3JvdXBlZE5vZGVzWzBdLCBwYXJlbnRFbGVtZW50LCBuZXh0RWxlbWVudCk7XG5cbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBzZXBhcmF0ZWRXYWNCbG9jayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgc2VwYXJhdGVkV2FjQmxvY2suY2xhc3NMaXN0LmFkZCgnd2FjLWJsb2NrJyk7XG4gICAgICBncm91cGVkTm9kZXMuZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgc2VwYXJhdGVkV2FjQmxvY2suYXBwZW5kQ2hpbGQobm9kZSk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXR0YWNoVG9UaGVEb20oc2VwYXJhdGVkV2FjQmxvY2ssIHBhcmVudEVsZW1lbnQsIG5leHRFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGF0dGFjaFRvVGhlRG9tKGNoaWxkOmFueSwgcGFyZW50RWxlbWVudDphbnksIG5leHRFbGVtZW50PzphbnkpIHtcbiAgICBpZiAobmV4dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIyLmluc2VydEJlZm9yZShwYXJlbnRFbGVtZW50LCBjaGlsZCwgbmV4dEVsZW1lbnQsIHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZChwYXJlbnRFbGVtZW50LCBjaGlsZCk7XG4gICAgfVxuICB9XG5cblxuICBwcml2YXRlIGdldFNlcGFyYXRlZEdyb3VwZWRPZk5vZGVzKGNoaWxkTm9kZXM6IGFueSkge1xuICAgIGNvbnN0IGdyb3VwZWROb2Rlc0xpc3QgPSBbXTtcbiAgICBsZXQgZm9sbG93aW5nTm9kZXMgPSBbXTtcblxuICAgIGZvciAoY29uc3Qgbm9kZSBvZiBjaGlsZE5vZGVzKSB7XG5cbiAgICAgIGlmIChub2RlLm5vZGVOYW1lID09PSAnV0FDLUJMT0NLLVNFUEFSQVRPUicpIHtcbiAgICAgICAgZ3JvdXBlZE5vZGVzTGlzdC5wdXNoKGZvbGxvd2luZ05vZGVzLCBbbm9kZV0pOyAvLyBjbG9zZSBhIGdyb3VwIGFuZCBzdGFydCBhIG5ldyBvbmVcbiAgICAgICAgZm9sbG93aW5nTm9kZXMgPSBbXTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGZvbGxvd2luZ05vZGVzLnB1c2gobm9kZSk7XG5cbiAgICB9XG5cbiAgICBpZiAoZm9sbG93aW5nTm9kZXMubGVuZ3RoKSB7XG4gICAgICBncm91cGVkTm9kZXNMaXN0LnB1c2goZm9sbG93aW5nTm9kZXMpO1xuICAgIH1cbiAgICByZXR1cm4gZ3JvdXBlZE5vZGVzTGlzdDtcbiAgfVxuXG4gIG5nT25EZXNUcm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuXG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+Il19
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9ibG9jay9ibG9jay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Jsb2NrL2Jsb2NrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFZaEYsTUFBTSxPQUFPLGNBQWM7SUFXekIsSUFBMEIsWUFBWTtRQUNwQyxPQUFPLDhCQUE4QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDO0lBQ3RHLENBQUM7SUFJRCxZQUNVLFNBQW9CLEVBQ3BCLGtCQUE4QjtRQUQ5QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBWTtRQVp4QyxXQUFNLEdBQW1CO1lBQ3ZCLFlBQVksRUFBRSxLQUFLO1NBQ3BCLENBQUE7UUFNRCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUsxQixDQUFDO0lBRU4sZUFBZTtRQUNiLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFh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Q2xEO0lBQ0gsQ0FBQztJQUdPLDBCQUEwQixDQUFDLFVBQWU7UUFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDNUIsSUFBSSxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBRXhCLEtBQUssTUFBTSxJQUFJLElBQUksVUFBVSxFQUFFO1lBRTdCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxxQkFBcUIsRUFBRTtnQkFDM0MsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQ0FBb0M7Z0JBQ25GLGNBQWMsR0FBRyxFQUFFLENBQUM7Z0JBQ3BCLFNBQVM7YUFDVjtZQUVELGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FFM0I7UUFFRCxJQUFJLGNBQWMsQ0FBQyxNQUFNLEVBQUU7WUFDekIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3ZDO1FBQ0QsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzsyR0F4SVUsY0FBYzsrRkFBZCxjQUFjLHVLQUlSLHVCQUF1Qiw2QkNsQjFDLDJCQUF5QjsyRkRjWixjQUFjO2tCQU4xQixTQUFTOytCQUNFLFdBQVcsaUJBRU4saUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTt5SEFNTCxlQUFlO3NCQUF4RCxlQUFlO3VCQUFDLHVCQUF1QjtnQkFHeEMsTUFBTTtzQkFETCxLQUFLO2dCQUtvQixZQUFZO3NCQUFyQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgUXVlcnlMaXN0LCBSZW5kZXJlcjIsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJsb2NrU2VwYXJhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9zZXBhcmF0b3IvYmxvY2stc2VwYXJhdG9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIFdhY0Jsb2NrQ29uZmlnID0gUmVhZG9ubHk8e1xuICBib3JkZXJSYWRpdXM/OiBzdHJpbmc7XG59PjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLWJsb2NrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Jsb2NrLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQmxvY2tDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICAvLyB0b2RvIG9wdGltaXplIHJlbmRlciwgYWRkIGEgY2FsbCBieSBkZWZhdWx0IHJlbW92ZSBhdCB0aGUgZW5kLCBhbmQgYWRkIGJsb2NrIGluIGNvcnJlY3Qgb3JkZXIsIHVzZSBkZWJ1Z2dlciB0byBoZWxwXG5cbiAgQENvbnRlbnRDaGlsZHJlbihCbG9ja1NlcGFyYXRvckNvbXBvbmVudCkgYmxvY2tTZXBhcmF0b3JzOiBRdWVyeUxpc3Q8QmxvY2tTZXBhcmF0b3JDb21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpXG4gIGNvbmZpZzogV2FjQmxvY2tDb25maWcgPSB7XG4gICAgYm9yZGVyUmFkaXVzOiAnM3B4J1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZScpIGdldCBib3JkZXJSYWRpdXMoKSB7XG4gICAgcmV0dXJuIGAtLXdhYy1ibG9jay1ib3JkZXItcmFkaXVzOiAke3RoaXMuY29uZmlnLmJvcmRlclJhZGl1cyA/IHRoaXMuY29uZmlnLmJvcmRlclJhZGl1cyA6ICczcHgnfTtgO1xuICB9XG5cbiAgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXIyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSB3YWNCbG9ja0VsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IGdyb3VwZWROb2Rlc0xpc3QgPSB0aGlzLmdldFNlcGFyYXRlZEdyb3VwZWRPZk5vZGVzKHRoaXMud2FjQmxvY2tFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcyk7XG4gICAgdGhpcy5hdHRhY2hTZXBhcmF0ZWRCbG9ja3NUb1RoZURvbShncm91cGVkTm9kZXNMaXN0LCB0aGlzLndhY0Jsb2NrRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgIHRoaXMuYmxvY2tTZXBhcmF0b3JzXG4gICAgICAuY2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUFkZGVkU2VwYXJhdG9yKCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyAvLyB3YWl0IG5leHQgcmVuZGVyLCBiZWNhdXNlLCBBbmd1bGFyIHdpbGwgcmVtb3ZlIGNoaWxkIHNlcGFyYXRvciBhZnRlciB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZFxuICAgICAgICAgIHRoaXMuaGFuZGxlUmVtb3ZlZFNlcGFyYXRvcigpO1xuICAgICAgICB9LCAwKTtcblxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVSZW1vdmVkU2VwYXJhdG9yKCkge1xuICAgICAgY29uc3Qgd2FjQmxvY2tDb21wb25lbnRDaGlsZE5vZGVzID0gdGhpcy53YWNCbG9ja0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZE5vZGVzO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB3YWNCbG9ja0NvbXBvbmVudENoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHtcblxuICAgICAgICBjb25zdCBjaGlsZE5vZGUgPSB3YWNCbG9ja0NvbXBvbmVudENoaWxkTm9kZXNbaV07XG4gICAgICAgIGNvbnN0IG5leHRDaGlsZCA9IHdhY0Jsb2NrQ29tcG9uZW50Q2hpbGROb2Rlc1tpICsgMV07XG4gICAgICAgIGNvbnN0IGFyZVdhY0Jsb2NrU2lkZUJ5U2lkZSA9IG5leHRDaGlsZCAmJiBjaGlsZE5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCd3YWMtYmxvY2snKSAmJiBuZXh0Q2hpbGQuY2xhc3NMaXN0LmNvbnRhaW5zKCd3YWMtYmxvY2snKTtcblxuICAgICAgICBpZiAoIWFyZVdhY0Jsb2NrU2lkZUJ5U2lkZSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMud2FjQmxvY2tFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMuZnVzaW9uTmV4dEJsb2NrV2l0aEN1cnJlbnRCbG9jayhwYXJlbnRFbGVtZW50LCBuZXh0Q2hpbGQsIGNoaWxkTm9kZSk7XG4gICAgICAgIGktLTsgLy8gd2UgcmVtb3ZlIGEgY2hpbGQsIHNvIHdlIG5lZWQgdG8gZ28gYmFjayB0byB0aGUgcHJldmlvdXMgaW5kZXhcblxuICAgICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmdXNpb25OZXh0QmxvY2tXaXRoQ3VycmVudEJsb2NrKHBhcmVudEVsZW1lbnQ6IGFueSwgbmV4dENoaWxkOiBhbnksIGNoaWxkTm9kZTogYW55KSB7XG4gICAgcGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChuZXh0Q2hpbGQpOyAvLyBub3Qgd29ya2luZyB3aXRoIHJlbmRlcmVyMiwgaXQganVzdCBmcmVlemUgdGhlIGFwcFxuICAgIGNoaWxkTm9kZS5hcHBlbmQoLi4ubmV4dENoaWxkLmNoaWxkTm9kZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVBZGRlZFNlcGFyYXRvcigpIHtcbiAgICBjb25zdCB3YWNCbG9ja0NvbXBvbmVudENoaWxkTm9kZXMgPSBbLi4udGhpcy53YWNCbG9ja0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGlsZE5vZGVzXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd2FjQmxvY2tDb21wb25lbnRDaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjaGlsZE5vZGUgPSB3YWNCbG9ja0NvbXBvbmVudENoaWxkTm9kZXNbaV07XG4gICAgICBpZiAoY2hpbGROb2RlLm5vZGVOYW1lID09PSAnV0FDLUJMT0NLLVNFUEFSQVRPUicpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMuaGFzQmxvY2tTZXBhcmF0b3IoY2hpbGROb2RlLmNoaWxkTm9kZXMpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBncm91cGVkTm9kZXNMaXN0ID0gdGhpcy5nZXRTZXBhcmF0ZWRHcm91cGVkT2ZOb2RlcyhjaGlsZE5vZGUuY2hpbGROb2Rlcyk7XG4gICAgICBncm91cGVkTm9kZXNMaXN0LnNoaWZ0KCk7IC8vIHJlbW92ZSBmaXJzdCBncm91cCwgaXQncyB0aGUgY3VycmVudCBibG9ja1xuXG4gICAgICB0aGlzLmF0dGFjaFNlcGFyYXRlZEJsb2Nrc1RvVGhlRG9tKGdyb3VwZWROb2Rlc0xpc3QsIHRoaXMud2FjQmxvY2tFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHdhY0Jsb2NrQ29tcG9uZW50Q2hpbGROb2Rlc1tpICsgMV0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFzQmxvY2tTZXBhcmF0b3IoY2hpbGROb2RlczogYW55KSB7XG4gICAgcmV0dXJuIFsuLi5jaGlsZE5vZGVzXS5zb21lKGdyb3VwZWROb2RlcyA9PiBncm91cGVkTm9kZXM/Lm5vZGVOYW1lID09PSAnV0FDLUJMT0NLLVNFUEFSQVRPUicpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2hTZXBhcmF0ZWRCbG9ja3NUb1RoZURvbShncm91cGVkTm9kZXNMaXN0OiBhbnlbXSwgcGFyZW50RWxlbWVudDogYW55LCBuZXh0RWxlbWVudD86IGFueSkge1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBncm91cGVkTm9kZXNMaXN0Lmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgY29uc3QgZ3JvdXBlZE5vZGVzID0gZ3JvdXBlZE5vZGVzTGlzdFtpbmRleF07XG5cbiAgICAgIGlmIChncm91cGVkTm9kZXNbMF0/Lm5vZGVOYW1lID09PSAnV0FDLUJMT0NLLVNFUEFSQVRPUicpIHtcbiAgICAgICAgdGhpcy5hdHRhY2hUb1RoZURvbShncm91cGVkTm9kZXNbMF0sIHBhcmVudEVsZW1lbnQsIG5leHRFbGVtZW50KTtcblxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNlcGFyYXRlZFdhY0Jsb2NrID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICBzZXBhcmF0ZWRXYWNCbG9jay5jbGFzc0xpc3QuYWRkKCd3YWMtYmxvY2snKTtcbiAgICAgIGdyb3VwZWROb2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICBzZXBhcmF0ZWRXYWNCbG9jay5hcHBlbmRDaGlsZChub2RlKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hdHRhY2hUb1RoZURvbShzZXBhcmF0ZWRXYWNCbG9jaywgcGFyZW50RWxlbWVudCwgbmV4dEVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoVG9UaGVEb20oY2hpbGQ6YW55LCBwYXJlbnRFbGVtZW50OmFueSwgbmV4dEVsZW1lbnQ/OmFueSkge1xuICAgIGlmIChuZXh0RWxlbWVudCkge1xuICAgICAgdGhpcy5yZW5kZXJlcjIuaW5zZXJ0QmVmb3JlKHBhcmVudEVsZW1lbnQsIGNoaWxkLCBuZXh0RWxlbWVudCwgdHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHBhcmVudEVsZW1lbnQsIGNoaWxkKTtcbiAgICB9XG4gIH1cblxuXG4gIHByaXZhdGUgZ2V0U2VwYXJhdGVkR3JvdXBlZE9mTm9kZXMoY2hpbGROb2RlczogYW55KSB7XG4gICAgY29uc3QgZ3JvdXBlZE5vZGVzTGlzdCA9IFtdO1xuICAgIGxldCBmb2xsb3dpbmdOb2RlcyA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBub2RlIG9mIGNoaWxkTm9kZXMpIHtcblxuICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT09ICdXQUMtQkxPQ0stU0VQQVJBVE9SJykge1xuICAgICAgICBncm91cGVkTm9kZXNMaXN0LnB1c2goZm9sbG93aW5nTm9kZXMsIFtub2RlXSk7IC8vIGNsb3NlIGEgZ3JvdXAgYW5kIHN0YXJ0IGEgbmV3IG9uZVxuICAgICAgICBmb2xsb3dpbmdOb2RlcyA9IFtdO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgZm9sbG93aW5nTm9kZXMucHVzaChub2RlKTtcblxuICAgIH1cblxuICAgIGlmIChmb2xsb3dpbmdOb2Rlcy5sZW5ndGgpIHtcbiAgICAgIGdyb3VwZWROb2Rlc0xpc3QucHVzaChmb2xsb3dpbmdOb2Rlcyk7XG4gICAgfVxuICAgIHJldHVybiBncm91cGVkTm9kZXNMaXN0O1xuICB9XG5cbiAgbmdPbkRlc1Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG5cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD4iXX0=
@@ -3,9 +3,9 @@ import * as i0 from "@angular/core";
3
3
  export class BlockSeparatorComponent {
4
4
  constructor() { }
5
5
  }
6
- BlockSeparatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BlockSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- BlockSeparatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: BlockSeparatorComponent, selector: "wac-block-separator", ngImport: i0, template: ``, isInline: true, encapsulation: i0.ViewEncapsulation.None });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BlockSeparatorComponent, decorators: [{
6
+ BlockSeparatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BlockSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ BlockSeparatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: BlockSeparatorComponent, selector: "wac-block-separator", ngImport: i0, template: ``, isInline: true, encapsulation: i0.ViewEncapsulation.None });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BlockSeparatorComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{
11
11
  selector: 'wac-block-separator',
@@ -26,9 +26,9 @@ export class BlockWithCheckboxComponent {
26
26
  }
27
27
  }
28
28
  }
29
- BlockWithCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BlockWithCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
- BlockWithCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: BlockWithCheckboxComponent, selector: "wac-block-with-checkbox", inputs: { selected: "selected", disabled: "disabled", nameRadio: "nameRadio", isFirst: "isFirst", opacity: "opacity" }, outputs: { checkboxAction: "checkboxAction" }, ngImport: i0, template: "<div class=\"block-with-checkbox\" (click)=\"disabled && $event.target['className'] !== 'wac-link' && $event.target['localName'] !== 'a' ? $event.preventDefault() : ''\" [ngClass]=\"{'selected': inputRadioA.checked || selected, 'firstWacRadioBLock': isFirst, 'disabled': disabled}\" [style.opacity]=\"opacity\" (mouseover)=\"removeFirstClass()\">\n <div class=\"block-with-checkbox__left\" (click)=\"inputRadioA.click()\">\n <div class=\"wac-radio-block\">\n <div class=\"wac-radio__row\">\n <input #inputRadioA [name]=\"nameRadio\" type=\"radio\" [checked]=\"selected\" [value]=\"selected\" (change)=\"eventSelected($event)\" [id]=\"randomLabelName\">\n <label [for]=\"randomLabelName\"></label>\n </div>\n </div>\n </div>\n <div class=\"block-with-checkbox__center\" (click)=\"$event.target['className'] !== 'wac-link' && $event.target['localName'] !== 'a' ? inputRadioA.click() : '';\">\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BlockWithCheckboxComponent, decorators: [{
29
+ BlockWithCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BlockWithCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
+ BlockWithCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: BlockWithCheckboxComponent, selector: "wac-block-with-checkbox", inputs: { selected: "selected", disabled: "disabled", nameRadio: "nameRadio", isFirst: "isFirst", opacity: "opacity" }, outputs: { checkboxAction: "checkboxAction" }, ngImport: i0, template: "<div class=\"block-with-checkbox\" (click)=\"disabled && $event.target['className'] !== 'wac-link' && $event.target['localName'] !== 'a' ? $event.preventDefault() : ''\" [ngClass]=\"{'selected': inputRadioA.checked || selected, 'firstWacRadioBLock': isFirst, 'disabled': disabled}\" [style.opacity]=\"opacity\" (mouseover)=\"removeFirstClass()\">\n <div class=\"block-with-checkbox__left\" (click)=\"inputRadioA.click()\">\n <div class=\"wac-radio-block\">\n <div class=\"wac-radio__row\">\n <input #inputRadioA [name]=\"nameRadio\" type=\"radio\" [checked]=\"selected\" [value]=\"selected\" (change)=\"eventSelected($event)\" [id]=\"randomLabelName\">\n <label [for]=\"randomLabelName\"></label>\n </div>\n </div>\n </div>\n <div class=\"block-with-checkbox__center\" (click)=\"$event.target['className'] !== 'wac-link' && $event.target['localName'] !== 'a' ? inputRadioA.click() : '';\">\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BlockWithCheckboxComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{ selector: 'wac-block-with-checkbox', template: "<div class=\"block-with-checkbox\" (click)=\"disabled && $event.target['className'] !== 'wac-link' && $event.target['localName'] !== 'a' ? $event.preventDefault() : ''\" [ngClass]=\"{'selected': inputRadioA.checked || selected, 'firstWacRadioBLock': isFirst, 'disabled': disabled}\" [style.opacity]=\"opacity\" (mouseover)=\"removeFirstClass()\">\n <div class=\"block-with-checkbox__left\" (click)=\"inputRadioA.click()\">\n <div class=\"wac-radio-block\">\n <div class=\"wac-radio__row\">\n <input #inputRadioA [name]=\"nameRadio\" type=\"radio\" [checked]=\"selected\" [value]=\"selected\" (change)=\"eventSelected($event)\" [id]=\"randomLabelName\">\n <label [for]=\"randomLabelName\"></label>\n </div>\n </div>\n </div>\n <div class=\"block-with-checkbox__center\" (click)=\"$event.target['className'] !== 'wac-link' && $event.target['localName'] !== 'a' ? inputRadioA.click() : '';\">\n <ng-content></ng-content>\n </div>\n</div>\n" }]
34
34
  }], ctorParameters: function () { return []; }, propDecorators: { selected: [{
@@ -12,9 +12,9 @@ export class BreadcrumbsComponent {
12
12
  this.indexChange.emit(this.index);
13
13
  }
14
14
  }
15
- BreadcrumbsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
- BreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: BreadcrumbsComponent, selector: "wac-breadcrumbs", inputs: { breadcrumbs: "breadcrumbs", noResponsive: "noResponsive" }, outputs: { indexChange: "indexChange" }, ngImport: i0, template: "<div class=\"wac-breadcrumbs\" [ngClass]=\"{'no-responsive': noResponsive}\">\n <div class=\"wac-breadcrumbs__wrapper\">\n <div class=\"wac-breadcrumbs__item\" *ngFor=\"let b of breadcrumbs; let i = index;\" [ngClass]=\"{'valid': b.valid, 'current': b['current']}\" (click)=\"valueChanged(i)\">\n <div class=\"round\" [ngClass]=\"{'valid': b.valid, 'current': b['current']}\"><span *ngIf=\"!b.valid\"><span *ngIf=\"i < 9\">0</span>{{ i + 1 }}</span><i class=\"fas fa-check\" *ngIf=\"b.valid\"></i></div>\n <div class=\"name\" [ngClass]=\"{'valid': b.valid, 'current': b['current']}\">{{ b.name }}</div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: BreadcrumbsComponent, decorators: [{
15
+ BreadcrumbsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ BreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: BreadcrumbsComponent, selector: "wac-breadcrumbs", inputs: { breadcrumbs: "breadcrumbs", noResponsive: "noResponsive" }, outputs: { indexChange: "indexChange" }, ngImport: i0, template: "<div class=\"wac-breadcrumbs\" [ngClass]=\"{'no-responsive': noResponsive}\">\n <div class=\"wac-breadcrumbs__wrapper\">\n <div class=\"wac-breadcrumbs__item\" *ngFor=\"let b of breadcrumbs; let i = index;\" [ngClass]=\"{'valid': b.valid, 'current': b['current']}\" (click)=\"valueChanged(i)\">\n <div class=\"round\" [ngClass]=\"{'valid': b.valid, 'current': b['current']}\"><span *ngIf=\"!b.valid\"><span *ngIf=\"i < 9\">0</span>{{ i + 1 }}</span><i class=\"fas fa-check\" *ngIf=\"b.valid\"></i></div>\n <div class=\"name\" [ngClass]=\"{'valid': b.valid, 'current': b['current']}\">{{ b.name }}</div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BreadcrumbsComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'wac-breadcrumbs', template: "<div class=\"wac-breadcrumbs\" [ngClass]=\"{'no-responsive': noResponsive}\">\n <div class=\"wac-breadcrumbs__wrapper\">\n <div class=\"wac-breadcrumbs__item\" *ngFor=\"let b of breadcrumbs; let i = index;\" [ngClass]=\"{'valid': b.valid, 'current': b['current']}\" (click)=\"valueChanged(i)\">\n <div class=\"round\" [ngClass]=\"{'valid': b.valid, 'current': b['current']}\"><span *ngIf=\"!b.valid\"><span *ngIf=\"i < 9\">0</span>{{ i + 1 }}</span><i class=\"fas fa-check\" *ngIf=\"b.valid\"></i></div>\n <div class=\"name\" [ngClass]=\"{'valid': b.valid, 'current': b['current']}\">{{ b.name }}</div>\n </div>\n </div>\n</div>\n" }]
20
20
  }], ctorParameters: function () { return []; }, propDecorators: { breadcrumbs: [{
@@ -7,6 +7,14 @@ import * as i1 from "@angular/common";
7
7
  import * as i2 from "../../directives/auto-hide/auto-hide.directive";
8
8
  import * as i3 from "@angular/forms";
9
9
  export class ButtonComponent {
10
+ set isLoading(isLoading) {
11
+ this._isLoading = isLoading;
12
+ this.isLoadingChange.next(isLoading);
13
+ this.toggleLoading();
14
+ }
15
+ get isLoading() {
16
+ return this._isLoading;
17
+ }
10
18
  constructor(type, formGroup) {
11
19
  this.type = type;
12
20
  this.formGroup = formGroup;
@@ -44,14 +52,6 @@ export class ButtonComponent {
44
52
  this.buttonWidthDelete = '0px';
45
53
  this.currentLoading = 0;
46
54
  }
47
- set isLoading(isLoading) {
48
- this._isLoading = isLoading;
49
- this.isLoadingChange.next(isLoading);
50
- this.toggleLoading();
51
- }
52
- get isLoading() {
53
- return this._isLoading;
54
- }
55
55
  ngOnInit() {
56
56
  if (this.confirmDelete) {
57
57
  this.waitForConfirmDelete = true;
@@ -113,9 +113,9 @@ export class ButtonComponent {
113
113
  }, 1000);
114
114
  }
115
115
  }
116
- ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ButtonComponent, deps: [{ token: 'type', attribute: true }, { token: FormGroupDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
117
- ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: ButtonComponent, selector: "wac-button", inputs: { extraClasses: "extraClasses", label: "label", icon: "icon", iconNext: "iconNext", textcolor: "textcolor", widthAuto: "widthAuto", contentHorizontalPosition: "contentHorizontalPosition", iconFontSize: "iconFontSize", hasLoader: "hasLoader", disabled: "disabled", whiteSpaceNowrap: "whiteSpaceNowrap", opacity: "opacity", animation: "animation", animationRight: "animationRight", animationText: "animationText", confirmDelete: "confirmDelete", confirmDeleteText: "confirmDeleteText", coin: "coin", tooltip: "tooltip", tooltipWidth: "tooltipWidth", noPadding: "noPadding", tooltipPosition: "tooltipPosition", tooltipOneline: "tooltipOneline", confirmDeletePosition: "confirmDeletePosition", isLoading: "isLoading" }, outputs: { click: "click", isLoadingChange: "isLoadingChange" }, viewQueries: [{ propertyName: "calculWidth", first: true, predicate: ["calculWidth"], descendants: true }, { propertyName: "calculWidthDelete", first: true, predicate: ["calculWidthDelete"], descendants: true }], ngImport: i0, template: "<a\n [class]=\"'wac-button ' + extraClasses\"\n (click)=\"confirmDelete && waitForConfirmDelete ? addMaxWidthDelete() : '';onButtonClick($event);\"\n (mouseleave)=\"animation ? resetMaxWidth() : '';\"\n (mouseenter)=\"animation ? addMaxWidth() : '';\"\n wzAutoHide (clickOutside)=\"confirmDelete && !waitForConfirmDelete ? resetMaxWidthDelete() : ''\"\n [ngClass]=\"[\n label === '' ? 'alone' : '',\n coin ? 'has-coin width-auto' : '',\n animationRight ? 'animation-right' : '',\n animation ? 'animationText' : '',\n isLoading ? 'is-loading' : '',\n opacity ? 'opacity' : '',\n disabled ? 'disabled' : '',\n widthAuto ? 'width-auto' : '',\n noPadding ? 'no-padding' : '',\n whiteSpaceNowrap ? 'white-space-no-wrap' : '',\n !waitForConfirmDelete && confirmDelete ? 'step-delete' : '',\n confirmDelete ? 'deletePosition-' + confirmDeletePosition : ''\n ]\"\n [ngStyle]=\"{\n 'text-align': contentHorizontalPosition\n }\"\n>\n <span class=\"wac-button__wrapper\" [style.color]=\"textcolor ? textcolor : ''\">\n <i *ngIf=\"icon\" [ngClass]=\"icon\" [style.font-size.px]=\"iconFontSize\"></i>\n {{ label }}\n <i *ngIf=\"iconNext\" [ngClass]=\"iconNext\" [style.font-size.px]=\"iconFontSize\"></i>\n </span>\n <span class=\"wac-button__animation\" [style.maxWidth]=\"buttonMaxWidth\" [style.width]=\"buttonWidth + 'px'\">\n <span #calculWidth class=\"wac-button__animation__text\" [innerHTML]=\"animationText\"></span>\n </span>\n <span class=\"wac-button__confirmDelete\" [style.maxWidth]=\"buttonMaxWidthDelete\" [style.width]=\"buttonWidthDelete + 'px'\">\n <span #calculWidthDelete class=\"wac-button__confirmDelete__text\" [innerHTML]=\"confirmDeleteText\"></span>\n </span>\n <span *ngIf=\"coin\" class=\"wac-button__coin\"><i class=\"fa-solid fa-coin-front\"></i><span [innerHTML]=\"coin\"></span></span>\n <span\n class=\"wac-button__loader\"\n [ngClass]=\"extraClasses.includes('is-outlined') ? 'outlined' : ''\"\n *ngIf=\"isLoading\"\n [style.width]=\"currentLoading + '%'\"\n >\n <span *ngIf=\"extraClasses.includes('is-outlined')\">\n <i *ngIf=\"icon !== ''\" [ngClass]=\"icon\" [style.font-size.px]=\"iconFontSize\"></i>\n {{ label }}\n <i *ngIf=\"iconNext !== ''\" [ngClass]=\"iconNext\" [style.font-size.px]=\"iconFontSize\"></i>\n </span>\n </span>\n <span class=\"wac-button__tooltips {{ tooltipPosition }}\" [ngClass]=\"{'oneline': tooltipOneline}\" [style.minWidth]=\"tooltipWidth\" *ngIf=\"tooltip\">\n {{ tooltip }}\n </span>\n</a>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }] });
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ButtonComponent, decorators: [{
116
+ ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ButtonComponent, deps: [{ token: 'type', attribute: true }, { token: FormGroupDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
117
+ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ButtonComponent, selector: "wac-button", inputs: { extraClasses: "extraClasses", label: "label", icon: "icon", iconNext: "iconNext", textcolor: "textcolor", widthAuto: "widthAuto", contentHorizontalPosition: "contentHorizontalPosition", iconFontSize: "iconFontSize", hasLoader: "hasLoader", disabled: "disabled", whiteSpaceNowrap: "whiteSpaceNowrap", opacity: "opacity", animation: "animation", animationRight: "animationRight", animationText: "animationText", confirmDelete: "confirmDelete", confirmDeleteText: "confirmDeleteText", coin: "coin", tooltip: "tooltip", tooltipWidth: "tooltipWidth", noPadding: "noPadding", tooltipPosition: "tooltipPosition", tooltipOneline: "tooltipOneline", confirmDeletePosition: "confirmDeletePosition", isLoading: "isLoading" }, outputs: { click: "click", isLoadingChange: "isLoadingChange" }, viewQueries: [{ propertyName: "calculWidth", first: true, predicate: ["calculWidth"], descendants: true }, { propertyName: "calculWidthDelete", first: true, predicate: ["calculWidthDelete"], descendants: true }], ngImport: i0, template: "<a\n [class]=\"'wac-button ' + extraClasses\"\n (click)=\"confirmDelete && waitForConfirmDelete ? addMaxWidthDelete() : '';onButtonClick($event);\"\n (mouseleave)=\"animation ? resetMaxWidth() : '';\"\n (mouseenter)=\"animation ? addMaxWidth() : '';\"\n wzAutoHide (clickOutside)=\"confirmDelete && !waitForConfirmDelete ? resetMaxWidthDelete() : ''\"\n [ngClass]=\"[\n label === '' ? 'alone' : '',\n coin ? 'has-coin width-auto' : '',\n animationRight ? 'animation-right' : '',\n animation ? 'animationText' : '',\n isLoading ? 'is-loading' : '',\n opacity ? 'opacity' : '',\n disabled ? 'disabled' : '',\n widthAuto ? 'width-auto' : '',\n noPadding ? 'no-padding' : '',\n whiteSpaceNowrap ? 'white-space-no-wrap' : '',\n !waitForConfirmDelete && confirmDelete ? 'step-delete' : '',\n confirmDelete ? 'deletePosition-' + confirmDeletePosition : ''\n ]\"\n [ngStyle]=\"{\n 'text-align': contentHorizontalPosition\n }\"\n>\n <span class=\"wac-button__wrapper\" [style.color]=\"textcolor ? textcolor : ''\">\n <i *ngIf=\"icon\" [ngClass]=\"icon\" [style.font-size.px]=\"iconFontSize\"></i>\n {{ label }}\n <i *ngIf=\"iconNext\" [ngClass]=\"iconNext\" [style.font-size.px]=\"iconFontSize\"></i>\n </span>\n <span class=\"wac-button__animation\" [style.maxWidth]=\"buttonMaxWidth\" [style.width]=\"buttonWidth + 'px'\">\n <span #calculWidth class=\"wac-button__animation__text\" [innerHTML]=\"animationText\"></span>\n </span>\n <span class=\"wac-button__confirmDelete\" [style.maxWidth]=\"buttonMaxWidthDelete\" [style.width]=\"buttonWidthDelete + 'px'\">\n <span #calculWidthDelete class=\"wac-button__confirmDelete__text\" [innerHTML]=\"confirmDeleteText\"></span>\n </span>\n <span *ngIf=\"coin\" class=\"wac-button__coin\"><i class=\"fa-solid fa-coin-front\"></i><span [innerHTML]=\"coin\"></span></span>\n <span\n class=\"wac-button__loader\"\n [ngClass]=\"extraClasses.includes('is-outlined') ? 'outlined' : ''\"\n *ngIf=\"isLoading\"\n [style.width]=\"currentLoading + '%'\"\n >\n <span *ngIf=\"extraClasses.includes('is-outlined')\">\n <i *ngIf=\"icon !== ''\" [ngClass]=\"icon\" [style.font-size.px]=\"iconFontSize\"></i>\n {{ label }}\n <i *ngIf=\"iconNext !== ''\" [ngClass]=\"iconNext\" [style.font-size.px]=\"iconFontSize\"></i>\n </span>\n </span>\n <span class=\"wac-button__tooltips {{ tooltipPosition }}\" [ngClass]=\"{'oneline': tooltipOneline}\" [style.minWidth]=\"tooltipWidth\" *ngIf=\"tooltip\">\n {{ tooltip }}\n </span>\n</a>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }] });
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ButtonComponent, decorators: [{
119
119
  type: Component,
120
120
  args: [{ selector: 'wac-button', template: "<a\n [class]=\"'wac-button ' + extraClasses\"\n (click)=\"confirmDelete && waitForConfirmDelete ? addMaxWidthDelete() : '';onButtonClick($event);\"\n (mouseleave)=\"animation ? resetMaxWidth() : '';\"\n (mouseenter)=\"animation ? addMaxWidth() : '';\"\n wzAutoHide (clickOutside)=\"confirmDelete && !waitForConfirmDelete ? resetMaxWidthDelete() : ''\"\n [ngClass]=\"[\n label === '' ? 'alone' : '',\n coin ? 'has-coin width-auto' : '',\n animationRight ? 'animation-right' : '',\n animation ? 'animationText' : '',\n isLoading ? 'is-loading' : '',\n opacity ? 'opacity' : '',\n disabled ? 'disabled' : '',\n widthAuto ? 'width-auto' : '',\n noPadding ? 'no-padding' : '',\n whiteSpaceNowrap ? 'white-space-no-wrap' : '',\n !waitForConfirmDelete && confirmDelete ? 'step-delete' : '',\n confirmDelete ? 'deletePosition-' + confirmDeletePosition : ''\n ]\"\n [ngStyle]=\"{\n 'text-align': contentHorizontalPosition\n }\"\n>\n <span class=\"wac-button__wrapper\" [style.color]=\"textcolor ? textcolor : ''\">\n <i *ngIf=\"icon\" [ngClass]=\"icon\" [style.font-size.px]=\"iconFontSize\"></i>\n {{ label }}\n <i *ngIf=\"iconNext\" [ngClass]=\"iconNext\" [style.font-size.px]=\"iconFontSize\"></i>\n </span>\n <span class=\"wac-button__animation\" [style.maxWidth]=\"buttonMaxWidth\" [style.width]=\"buttonWidth + 'px'\">\n <span #calculWidth class=\"wac-button__animation__text\" [innerHTML]=\"animationText\"></span>\n </span>\n <span class=\"wac-button__confirmDelete\" [style.maxWidth]=\"buttonMaxWidthDelete\" [style.width]=\"buttonWidthDelete + 'px'\">\n <span #calculWidthDelete class=\"wac-button__confirmDelete__text\" [innerHTML]=\"confirmDeleteText\"></span>\n </span>\n <span *ngIf=\"coin\" class=\"wac-button__coin\"><i class=\"fa-solid fa-coin-front\"></i><span [innerHTML]=\"coin\"></span></span>\n <span\n class=\"wac-button__loader\"\n [ngClass]=\"extraClasses.includes('is-outlined') ? 'outlined' : ''\"\n *ngIf=\"isLoading\"\n [style.width]=\"currentLoading + '%'\"\n >\n <span *ngIf=\"extraClasses.includes('is-outlined')\">\n <i *ngIf=\"icon !== ''\" [ngClass]=\"icon\" [style.font-size.px]=\"iconFontSize\"></i>\n {{ label }}\n <i *ngIf=\"iconNext !== ''\" [ngClass]=\"iconNext\" [style.font-size.px]=\"iconFontSize\"></i>\n </span>\n </span>\n <span class=\"wac-button__tooltips {{ tooltipPosition }}\" [ngClass]=\"{'oneline': tooltipOneline}\" [style.minWidth]=\"tooltipWidth\" *ngIf=\"tooltip\">\n {{ tooltip }}\n </span>\n</a>\n" }]
121
121
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -187,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
187
187
  type: ViewChild,
188
188
  args: ['calculWidthDelete']
189
189
  }] } });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hKLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQU0zQyxNQUFNLE9BQU8sZUFBZTtJQTZHMUIsWUFDNkIsSUFBWSxFQUNTLFNBQTZCO1FBRGxELFNBQUksR0FBSixJQUFJLENBQVE7UUFDUyxjQUFTLEdBQVQsU0FBUyxDQUFvQjtRQTlHL0UseUZBQXlGO1FBRXpGLGlCQUFZLEdBQUcsU0FBUyxDQUFDLENBQUMscUNBQXFDO1FBRy9ELFVBQUssR0FBRyxFQUFFLENBQUM7UUFHWCxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBTVYsY0FBUyxHQUFHLElBQUksQ0FBQztRQUVqQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBR2xCLDhCQUF5QixHQUFnQyxRQUFRLENBQUM7UUFHbEUsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFHbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUdsQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FB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a0JBQWtCOzRDQTVHeEMsWUFBWTtzQkFEWCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4seUJBQXlCO3NCQUR4QixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFJVyxLQUFLO3NCQUFyQixNQUFNO2dCQUVNLFNBQVM7c0JBQXJCLEtBQUs7Z0JBTUksZUFBZTtzQkFBeEIsTUFBTTtnQkFzQlAsV0FBVztzQkFEVixTQUFTO3VCQUFDLGFBQWE7Z0JBSXhCLGlCQUFpQjtzQkFEaEIsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIEF0dHJpYnV0ZSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhYy1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAvLyB0b2RvIGFkZCBidXR0b24gdHlwZSAoZXg6IGZvciBzdWJtaXQgYW5kIGNoZWNrIGlmIGl0IHdvcmtzIHdpdGggdGVtcGxhdGUgZHJpdmVuIGZvcm1zKVxuICBASW5wdXQoKVxuICBleHRyYUNsYXNzZXMgPSAnaXMtaW5mbyc7IC8vIHRvZG8gbWFrZSBhIGxpc3Qgb2YgZXhpc3RpbmcgY2xhc3NcblxuICBASW5wdXQoKVxuICBsYWJlbCA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGljb24gPSAnJztcblxuICBASW5wdXQoKVxuICBpY29uTmV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHRleHRjb2xvciA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIHdpZHRoQXV0byA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGNvbnRlbnRIb3Jpem9udGFsUG9zaXRpb246ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JyA9ICdjZW50ZXInO1xuXG4gIEBJbnB1dCgpXG4gIGljb25Gb250U2l6ZSA9IDEyO1xuXG4gIEBJbnB1dCgpXG4gIGhhc0xvYWRlciA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgd2hpdGVTcGFjZU5vd3JhcCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIG9wYWNpdHkgPSBmYWxzZTtcbiAgLy8gVE9ETyBNQUtFIEFOTklNQVRJT04gQVZBSUxBQkxFIEZPUiBNT0JJTEUgYXMgQ09ORklSTSBERUxFVEUgRE8gKGJlY2F1c2UsIGl0cyBkb2VhbnQgc2hvdyB0aGUgdGV4dCBhbmQgdHJpZ2dlciBjbGljaylcbiAgQElucHV0KClcbiAgYW5pbWF0aW9uID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgYW5pbWF0aW9uUmlnaHQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBhbmltYXRpb25UZXh0ID0gJyc7XG5cbiAgQElucHV0KClcbiAgY29uZmlybURlbGV0ZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGNvbmZpcm1EZWxldGVUZXh0ID0gJyc7XG5cbiAgQElucHV0KClcbiAgY29pbjogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHRvb2x0aXA6IHN0cmluZztcblxuICBASW5wdXQoKVxuICB0b29sdGlwV2lkdGg6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBub1BhZGRpbmcgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICB0b29sdGlwUG9zaXRpb246ICd0b3AtY2VudGVyJyB8ICd0b3AtcmlnaHQnIHwgJ3RvcC1sZWZ0JyB8ICdib3R0b20tY2VudGVyJyB8ICdib3R0b20tcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyB8ICdsZWZ0JyB8ICdyaWdodCcgPSAndG9wLWNlbnRlcic7XG5cbiAgQElucHV0KClcbiAgdG9vbHRpcE9uZWxpbmUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBjb25maXJtRGVsZXRlUG9zaXRpb24gPSAncmlnaHQnO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgcHVibGljIGNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCkgc2V0IGlzTG9hZGluZyhpc0xvYWRpbmcgOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNMb2FkaW5nID0gaXNMb2FkaW5nO1xuICAgIHRoaXMuaXNMb2FkaW5nQ2hhbmdlLm5leHQoaXNMb2FkaW5nKTtcbiAgICB0aGlzLnRvZ2dsZUxvYWRpbmcoKTtcbiAgfVxuXG4gIEBPdXRwdXQoKSBpc0xvYWRpbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgZ2V0IGlzTG9hZGluZygpIDogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzTG9hZGluZztcbiAgfVxuXG4gIHByaXZhdGUgX2lzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG5cbiAgaW50ZXJ2YWwgPSBudWxsO1xuXG4gIHdhaXRGb3JDb25maXJtRGVsZXRlID0gZmFsc2U7XG5cbiAgYnV0dG9uTWF4V2lkdGggPSAnMHB4JztcbiAgYnV0dG9uV2lkdGggPSAnMHB4JztcblxuICBidXR0b25NYXhXaWR0aERlbGV0ZSA9ICcwcHgnO1xuICBidXR0b25XaWR0aERlbGV0ZSA9ICcwcHgnO1xuXG4gIGN1cnJlbnRMb2FkaW5nID0gMDtcblxuICBAVmlld0NoaWxkKCdjYWxjdWxXaWR0aCcpXG4gIGNhbGN1bFdpZHRoOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ2NhbGN1bFdpZHRoRGVsZXRlJylcbiAgY2FsY3VsV2lkdGhEZWxldGU6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEF0dHJpYnV0ZSgndHlwZScpIHByaXZhdGUgdHlwZTogc3RyaW5nLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRm9ybUdyb3VwRGlyZWN0aXZlKSBwcml2YXRlIGZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlXG4gICAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5jb25maXJtRGVsZXRlKSB7XG4gICAgICB0aGlzLndhaXRGb3JDb25maXJtRGVsZXRlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVMb2FkaW5nKCkge1xuICAgIHRoaXMuY3VycmVudExvYWRpbmcgPSB0aGlzLmlzTG9hZGluZyA/IDEwIDogMTAwO1xuXG4gICAgaW50ZXJ2YWwoMjAwKS5waXBlKHRha2VXaGlsZSggdGltZT0+IHRoaXMuaXNMb2FkaW5nKSkuc3Vic2NyaWJlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50TG9hZGluZyA8IDg1KSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50TG9hZGluZyArPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgYWRkTWF4V2lkdGgoKSB7XG4gICAgdGhpcy5idXR0b25NYXhXaWR0aCA9IHRoaXMuYnV0dG9uV2lkdGggKyAncHgnO1xuICB9XG5cbiAgcmVzZXRNYXhXaWR0aCgpIHtcbiAgICB0aGlzLmJ1dHRvbk1heFdpZHRoID0gJzBweCc7XG4gIH1cblxuICBhZGRNYXhXaWR0aERlbGV0ZSgpIHtcbiAgICB0aGlzLmJ1dHRvbk1heFdpZHRoRGVsZXRlID0gdGhpcy5idXR0b25XaWR0aERlbGV0ZSArICdweCc7XG4gIH1cblxuICByZXNldE1heFdpZHRoRGVsZXRlKCkge1xuICAgIHRoaXMuYnV0dG9uTWF4V2lkdGhEZWxldGUgPSAnMHB4JztcbiAgICB0aGlzLndhaXRGb3JDb25maXJtRGVsZXRlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQnV0dG9uQ2xpY2soZXZlbnQpe1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdzdWJtaXQnICYmIHRoaXMuZm9ybUdyb3VwKSB7IC8vIE1heWJlIHRoZXJlIGlzIGEgYmV0dGVyIHdheSB0byBoYW5kbGUgc3VibWl0XG4gICAgICB0aGlzLmZvcm1Hcm91cC5vblN1Ym1pdCh0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmhhc0xvYWRlcikge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4geyAvLyB0cmljayB0byByZXNldCB0aGUgYW5pbWF0aW9uIGxvYWRpbmdcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLndhaXRGb3JDb25maXJtRGVsZXRlKSB7XG4gICAgICB0aGlzLmNsaWNrLmVtaXQoZXZlbnQpO1xuICAgICAgaWYgKHRoaXMuY29uZmlybURlbGV0ZSkge1xuICAgICAgICB0aGlzLnJlc2V0TWF4V2lkdGhEZWxldGUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53YWl0Rm9yQ29uZmlybURlbGV0ZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmFuaW1hdGlvbikge1xuICAgICAgICB0aGlzLmJ1dHRvbldpZHRoID0gdGhpcy5jYWxjdWxXaWR0aC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY29uZmlybURlbGV0ZSkge1xuICAgICAgICB0aGlzLmJ1dHRvbldpZHRoRGVsZXRlID0gdGhpcy5jYWxjdWxXaWR0aERlbGV0ZS5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgfVxuICAgIH0sIDEwMDApO1xuICB9XG59XG4iLCI8YVxuICBbY2xhc3NdPVwiJ3dhYy1idXR0b24gJyArIGV4dHJhQ2xhc3Nlc1wiXG4gIChjbGljayk9XCJjb25maXJtRGVsZXRlICYmIHdhaXRGb3JDb25maXJtRGVsZXRlID8gYWRkTWF4V2lkdGhEZWxldGUoKSA6ICcnO29uQnV0dG9uQ2xpY2soJGV2ZW50KTtcIlxuICAobW91c2VsZWF2ZSk9XCJhbmltYXRpb24gPyByZXNldE1heFdpZHRoKCkgOiAnJztcIlxuICAobW91c2VlbnRlcik9XCJhbmltYXRpb24gPyBhZGRNYXhXaWR0aCgpIDogJyc7XCJcbiAgd3pBdXRvSGlkZSAoY2xpY2tPdXRzaWRlKT1cImNvbmZpcm1EZWxldGUgJiYgIXdhaXRGb3JDb25maXJtRGVsZXRlID8gcmVzZXRNYXhXaWR0aERlbGV0ZSgpIDogJydcIlxuICBbbmdDbGFzc109XCJbXG4gICAgbGFiZWwgPT09ICcnID8gJ2Fsb25lJyA6ICcnLFxuICAgIGNvaW4gPyAnaGFzLWNvaW4gd2lkdGgtYXV0bycgOiAnJyxcbiAgICBhbmltYXRpb25SaWdodCA/ICdhbmltYXRpb24tcmlnaHQnIDogJycsXG4gICAgYW5pbWF0aW9uID8gJ2FuaW1hdGlvblRleHQnIDogJycsXG4gICAgaXNMb2FkaW5nID8gJ2lzLWxvYWRpbmcnIDogJycsXG4gICAgb3BhY2l0eSA/ICdvcGFjaXR5JyA6ICcnLFxuICAgIGRpc2FibGVkID8gJ2Rpc2FibGVkJyA6ICcnLFxuICAgIHdpZHRoQXV0byA/ICd3aWR0aC1hdXRvJyA6ICcnLFxuICAgIG5vUGFkZGluZyA/ICduby1wYWRkaW5nJyA6ICcnLFxuICAgIHdoaXRlU3BhY2VOb3dyYXAgPyAnd2hpdGUtc3BhY2Utbm8td3JhcCcgOiAnJyxcbiAgICAhd2FpdEZvckNvbmZpcm1EZWxldGUgJiYgY29uZmlybURlbGV0ZSA/ICdzdGVwLWRlbGV0ZScgOiAnJyxcbiAgICBjb25maXJtRGVsZXRlID8gJ2RlbGV0ZVBvc2l0aW9uLScgKyBjb25maXJtRGVsZXRlUG9zaXRpb24gOiAnJ1xuICAgIF1cIlxuICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICd0ZXh0LWFsaWduJzogY29udGVudEhvcml6b250YWxQb3NpdGlvblxuICAgIH1cIlxuPlxuICA8c3BhbiBjbGFzcz1cIndhYy1idXR0b25fX3dyYXBwZXJcIiBbc3R5bGUuY29sb3JdPVwidGV4dGNvbG9yID8gdGV4dGNvbG9yIDogJydcIj5cbiAgICA8aSAqbmdJZj1cImljb25cIiBbbmdDbGFzc109XCJpY29uXCIgW3N0eWxlLmZvbnQtc2l6ZS5weF09XCJpY29uRm9udFNpemVcIj48L2k+XG4gICAge3sgbGFiZWwgfX1cbiAgICA8aSAqbmdJZj1cImljb25OZXh0XCIgW25nQ2xhc3NdPVwiaWNvbk5leHRcIiBbc3R5bGUuZm9udC1zaXplLnB4XT1cImljb25Gb250U2l6ZVwiPjwvaT5cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cIndhYy1idXR0b25fX2FuaW1hdGlvblwiIFtzdHlsZS5tYXhXaWR0aF09XCJidXR0b25NYXhXaWR0aFwiIFtzdHlsZS53aWR0aF09XCJidXR0b25XaWR0aCArICdweCdcIj5cbiAgICA8c3BhbiAjY2FsY3VsV2lkdGggY2xhc3M9XCJ3YWMtYnV0dG9uX19hbmltYXRpb25fX3RleHRcIiBbaW5uZXJIVE1MXT1cImFuaW1hdGlvblRleHRcIj48L3NwYW4+XG4gIDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJ3YWMtYnV0dG9uX19jb25maXJtRGVsZXRlXCIgW3N0eWxlLm1heFdpZHRoXT1cImJ1dHRvbk1heFdpZHRoRGVsZXRlXCIgW3N0eWxlLndpZHRoXT1cImJ1dHRvbldpZHRoRGVsZXRlICsgJ3B4J1wiPlxuICAgIDxzcGFuICNjYWxjdWxXaWR0aERlbGV0ZSBjbGFzcz1cIndhYy1idXR0b25fX2NvbmZpcm1EZWxldGVfX3RleHRcIiBbaW5uZXJIVE1MXT1cImNvbmZpcm1EZWxldGVUZXh0XCI+PC9zcGFuPlxuICA8L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiY29pblwiIGNsYXNzPVwid2FjLWJ1dHRvbl9fY29pblwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtY29pbi1mcm9udFwiPjwvaT48c3BhbiBbaW5uZXJIVE1MXT1cImNvaW5cIj48L3NwYW4+PC9zcGFuPlxuICA8c3BhblxuICAgIGNsYXNzPVwid2FjLWJ1dHRvbl9fbG9hZGVyXCJcbiAgICBbbmdDbGFzc109XCJleHRyYUNsYXNzZXMuaW5jbHVkZXMoJ2lzLW91dGxpbmVkJykgPyAnb3V0bGluZWQnIDogJydcIlxuICAgICpuZ0lmPVwiaXNMb2FkaW5nXCJcbiAgICBbc3R5bGUud2lkdGhdPVwiY3VycmVudExvYWRpbmcgKyAnJSdcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJleHRyYUNsYXNzZXMuaW5jbHVkZXMoJ2lzLW91dGxpbmVkJylcIj5cbiAgICAgIDxpICpuZ0lmPVwiaWNvbiAhPT0gJydcIiBbbmdDbGFzc109XCJpY29uXCIgW3N0eWxlLmZvbnQtc2l6ZS5weF09XCJpY29uRm9udFNpemVcIj48L2k+XG4gICAgICB7eyBsYWJlbCB9fVxuICAgICAgPGkgKm5nSWY9XCJpY29uTmV4dCAhPT0gJydcIiBbbmdDbGFzc109XCJpY29uTmV4dFwiIFtzdHlsZS5mb250LXNpemUucHhdPVwiaWNvbkZvbnRTaXplXCI+PC9pPlxuICAgIDwvc3Bhbj5cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cIndhYy1idXR0b25fX3Rvb2x0aXBzIHt7IHRvb2x0aXBQb3NpdGlvbiB9fVwiIFtuZ0NsYXNzXT1cInsnb25lbGluZSc6IHRvb2x0aXBPbmVsaW5lfVwiIFtzdHlsZS5taW5XaWR0aF09XCJ0b29sdGlwV2lkdGhcIiAqbmdJZj1cInRvb2x0aXBcIj5cbiAgICB7eyB0b29sdGlwIH19XG4gIDwvc3Bhbj5cbjwvYT5cbiJdfQ==
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hKLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQU0zQyxNQUFNLE9BQU8sZUFBZTtJQTRFMUIsSUFBYSxTQUFTLENBQUMsU0FBbUI7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFJRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQXVCRCxZQUM2QixJQUFZLEVBQ1MsU0FBNkI7UUFEbEQsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNTLGNBQVMsR0FBVCxTQUFTLENBQW9CO1FBOUcvRSx5RkFBeUY7UUFFekYsaUJBQVksR0FBRyxTQUFTLENBQUMsQ0FBQyxxQ0FBcUM7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QkFBa0I7NENBNUd4QyxZQUFZO3NCQURYLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFJTix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4scUJBQXFCO3NCQURwQixLQUFLO2dCQUlXLEtBQUs7c0JBQXJCLE1BQU07Z0JBRU0sU0FBUztzQkFBckIsS0FBSztnQkFNSSxlQUFlO3NCQUF4QixNQUFNO2dCQXNCUCxXQUFXO3NCQURWLFNBQVM7dUJBQUMsYUFBYTtnQkFJeEIsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQXR0cmlidXRlLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8vIHRvZG8gYWRkIGJ1dHRvbiB0eXBlIChleDogZm9yIHN1Ym1pdCBhbmQgY2hlY2sgaWYgaXQgd29ya3Mgd2l0aCB0ZW1wbGF0ZSBkcml2ZW4gZm9ybXMpXG4gIEBJbnB1dCgpXG4gIGV4dHJhQ2xhc3NlcyA9ICdpcy1pbmZvJzsgLy8gdG9kbyBtYWtlIGEgbGlzdCBvZiBleGlzdGluZyBjbGFzc1xuXG4gIEBJbnB1dCgpXG4gIGxhYmVsID0gJyc7XG5cbiAgQElucHV0KClcbiAgaWNvbiA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGljb25OZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgdGV4dGNvbG9yID0gbnVsbDtcbiAgQElucHV0KClcbiAgd2lkdGhBdXRvID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgY29udGVudEhvcml6b250YWxQb3NpdGlvbjogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnID0gJ2NlbnRlcic7XG5cbiAgQElucHV0KClcbiAgaWNvbkZvbnRTaXplID0gMTI7XG5cbiAgQElucHV0KClcbiAgaGFzTG9hZGVyID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICB3aGl0ZVNwYWNlTm93cmFwID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgb3BhY2l0eSA9IGZhbHNlO1xuICAvLyBUT0RPIE1BS0UgQU5OSU1BVElPTiBBVkFJTEFCTEUgRk9SIE1PQklMRSBhcyBDT05GSVJNIERFTEVURSBETyAoYmVjYXVzZSwgaXRzIGRvZWFudCBzaG93IHRoZSB0ZXh0IGFuZCB0cmlnZ2VyIGNsaWNrKVxuICBASW5wdXQoKVxuICBhbmltYXRpb24gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBhbmltYXRpb25SaWdodCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGFuaW1hdGlvblRleHQgPSAnJztcblxuICBASW5wdXQoKVxuICBjb25maXJtRGVsZXRlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgY29uZmlybURlbGV0ZVRleHQgPSAnJztcblxuICBASW5wdXQoKVxuICBjb2luOiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgdG9vbHRpcDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHRvb2x0aXBXaWR0aDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIG5vUGFkZGluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHRvb2x0aXBQb3NpdGlvbjogJ3RvcC1jZW50ZXInIHwgJ3RvcC1yaWdodCcgfCAndG9wLWxlZnQnIHwgJ2JvdHRvbS1jZW50ZXInIHwgJ2JvdHRvbS1yaWdodCcgfCAnYm90dG9tLWxlZnQnIHwgJ2xlZnQnIHwgJ3JpZ2h0JyA9ICd0b3AtY2VudGVyJztcblxuICBASW5wdXQoKVxuICB0b29sdGlwT25lbGluZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGNvbmZpcm1EZWxldGVQb3NpdGlvbiA9ICdyaWdodCc7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoKSBzZXQgaXNMb2FkaW5nKGlzTG9hZGluZyA6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc0xvYWRpbmcgPSBpc0xvYWRpbmc7XG4gICAgdGhpcy5pc0xvYWRpbmdDaGFuZ2UubmV4dChpc0xvYWRpbmcpO1xuICAgIHRoaXMudG9nZ2xlTG9hZGluZygpO1xuICB9XG5cbiAgQE91dHB1dCgpIGlzTG9hZGluZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBnZXQgaXNMb2FkaW5nKCkgOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNMb2FkaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG5cblxuICBpbnRlcnZhbCA9IG51bGw7XG5cbiAgd2FpdEZvckNvbmZpcm1EZWxldGUgPSBmYWxzZTtcblxuICBidXR0b25NYXhXaWR0aCA9ICcwcHgnO1xuICBidXR0b25XaWR0aCA9ICcwcHgnO1xuXG4gIGJ1dHRvbk1heFdpZHRoRGVsZXRlID0gJzBweCc7XG4gIGJ1dHRvbldpZHRoRGVsZXRlID0gJzBweCc7XG5cbiAgY3VycmVudExvYWRpbmcgPSAwO1xuXG4gIEBWaWV3Q2hpbGQoJ2NhbGN1bFdpZHRoJylcbiAgY2FsY3VsV2lkdGg6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnY2FsY3VsV2lkdGhEZWxldGUnKVxuICBjYWxjdWxXaWR0aERlbGV0ZTogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAQXR0cmlidXRlKCd0eXBlJykgcHJpdmF0ZSB0eXBlOiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGb3JtR3JvdXBEaXJlY3RpdmUpIHByaXZhdGUgZm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmVcbiAgICApIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmNvbmZpcm1EZWxldGUpIHtcbiAgICAgIHRoaXMud2FpdEZvckNvbmZpcm1EZWxldGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUxvYWRpbmcoKSB7XG4gICAgdGhpcy5jdXJyZW50TG9hZGluZyA9IHRoaXMuaXNMb2FkaW5nID8gMTAgOiAxMDA7XG5cbiAgICBpbnRlcnZhbCgyMDApLnBpcGUodGFrZVdoaWxlKCB0aW1lPT4gdGhpcy5pc0xvYWRpbmcpKS5zdWJzY3JpYmUoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRMb2FkaW5nIDwgODUpIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRMb2FkaW5nICs9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDE1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBhZGRNYXhXaWR0aCgpIHtcbiAgICB0aGlzLmJ1dHRvbk1heFdpZHRoID0gdGhpcy5idXR0b25XaWR0aCArICdweCc7XG4gIH1cblxuICByZXNldE1heFdpZHRoKCkge1xuICAgIHRoaXMuYnV0dG9uTWF4V2lkdGggPSAnMHB4JztcbiAgfVxuXG4gIGFkZE1heFdpZHRoRGVsZXRlKCkge1xuICAgIHRoaXMuYnV0dG9uTWF4V2lkdGhEZWxldGUgPSB0aGlzLmJ1dHRvbldpZHRoRGVsZXRlICsgJ3B4JztcbiAgfVxuXG4gIHJlc2V0TWF4V2lkdGhEZWxldGUoKSB7XG4gICAgdGhpcy5idXR0b25NYXhXaWR0aERlbGV0ZSA9ICcwcHgnO1xuICAgIHRoaXMud2FpdEZvckNvbmZpcm1EZWxldGUgPSB0cnVlO1xuICB9XG5cbiAgb25CdXR0b25DbGljayhldmVudCl7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ3N1Ym1pdCcgJiYgdGhpcy5mb3JtR3JvdXApIHsgLy8gTWF5YmUgdGhlcmUgaXMgYSBiZXR0ZXIgd2F5IHRvIGhhbmRsZSBzdWJtaXRcbiAgICAgIHRoaXMuZm9ybUdyb3VwLm9uU3VibWl0KHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaGFzTG9hZGVyKSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7IC8vIHRyaWNrIHRvIHJlc2V0IHRoZSBhbmltYXRpb24gbG9hZGluZ1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMud2FpdEZvckNvbmZpcm1EZWxldGUpIHtcbiAgICAgIHRoaXMuY2xpY2suZW1pdChldmVudCk7XG4gICAgICBpZiAodGhpcy5jb25maXJtRGVsZXRlKSB7XG4gICAgICAgIHRoaXMucmVzZXRNYXhXaWR0aERlbGV0ZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndhaXRGb3JDb25maXJtRGVsZXRlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuYW5pbWF0aW9uKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uV2lkdGggPSB0aGlzLmNhbGN1bFdpZHRoLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5jb25maXJtRGVsZXRlKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uV2lkdGhEZWxldGUgPSB0aGlzLmNhbGN1bFdpZHRoRGVsZXRlLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICB9XG4gICAgfSwgMTAwMCk7XG4gIH1cbn1cbiIsIjxhXG4gIFtjbGFzc109XCInd2FjLWJ1dHRvbiAnICsgZXh0cmFDbGFzc2VzXCJcbiAgKGNsaWNrKT1cImNvbmZpcm1EZWxldGUgJiYgd2FpdEZvckNvbmZpcm1EZWxldGUgPyBhZGRNYXhXaWR0aERlbGV0ZSgpIDogJyc7b25CdXR0b25DbGljaygkZXZlbnQpO1wiXG4gIChtb3VzZWxlYXZlKT1cImFuaW1hdGlvbiA/IHJlc2V0TWF4V2lkdGgoKSA6ICcnO1wiXG4gIChtb3VzZWVudGVyKT1cImFuaW1hdGlvbiA/IGFkZE1heFdpZHRoKCkgOiAnJztcIlxuICB3ekF1dG9IaWRlIChjbGlja091dHNpZGUpPVwiY29uZmlybURlbGV0ZSAmJiAhd2FpdEZvckNvbmZpcm1EZWxldGUgPyByZXNldE1heFdpZHRoRGVsZXRlKCkgOiAnJ1wiXG4gIFtuZ0NsYXNzXT1cIltcbiAgICBsYWJlbCA9PT0gJycgPyAnYWxvbmUnIDogJycsXG4gICAgY29pbiA/ICdoYXMtY29pbiB3aWR0aC1hdXRvJyA6ICcnLFxuICAgIGFuaW1hdGlvblJpZ2h0ID8gJ2FuaW1hdGlvbi1yaWdodCcgOiAnJyxcbiAgICBhbmltYXRpb24gPyAnYW5pbWF0aW9uVGV4dCcgOiAnJyxcbiAgICBpc0xvYWRpbmcgPyAnaXMtbG9hZGluZycgOiAnJyxcbiAgICBvcGFjaXR5ID8gJ29wYWNpdHknIDogJycsXG4gICAgZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogJycsXG4gICAgd2lkdGhBdXRvID8gJ3dpZHRoLWF1dG8nIDogJycsXG4gICAgbm9QYWRkaW5nID8gJ25vLXBhZGRpbmcnIDogJycsXG4gICAgd2hpdGVTcGFjZU5vd3JhcCA/ICd3aGl0ZS1zcGFjZS1uby13cmFwJyA6ICcnLFxuICAgICF3YWl0Rm9yQ29uZmlybURlbGV0ZSAmJiBjb25maXJtRGVsZXRlID8gJ3N0ZXAtZGVsZXRlJyA6ICcnLFxuICAgIGNvbmZpcm1EZWxldGUgPyAnZGVsZXRlUG9zaXRpb24tJyArIGNvbmZpcm1EZWxldGVQb3NpdGlvbiA6ICcnXG4gICAgXVwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgJ3RleHQtYWxpZ24nOiBjb250ZW50SG9yaXpvbnRhbFBvc2l0aW9uXG4gICAgfVwiXG4+XG4gIDxzcGFuIGNsYXNzPVwid2FjLWJ1dHRvbl9fd3JhcHBlclwiIFtzdHlsZS5jb2xvcl09XCJ0ZXh0Y29sb3IgPyB0ZXh0Y29sb3IgOiAnJ1wiPlxuICAgIDxpICpuZ0lmPVwiaWNvblwiIFtuZ0NsYXNzXT1cImljb25cIiBbc3R5bGUuZm9udC1zaXplLnB4XT1cImljb25Gb250U2l6ZVwiPjwvaT5cbiAgICB7eyBsYWJlbCB9fVxuICAgIDxpICpuZ0lmPVwiaWNvbk5leHRcIiBbbmdDbGFzc109XCJpY29uTmV4dFwiIFtzdHlsZS5mb250LXNpemUucHhdPVwiaWNvbkZvbnRTaXplXCI+PC9pPlxuICA8L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwid2FjLWJ1dHRvbl9fYW5pbWF0aW9uXCIgW3N0eWxlLm1heFdpZHRoXT1cImJ1dHRvbk1heFdpZHRoXCIgW3N0eWxlLndpZHRoXT1cImJ1dHRvbldpZHRoICsgJ3B4J1wiPlxuICAgIDxzcGFuICNjYWxjdWxXaWR0aCBjbGFzcz1cIndhYy1idXR0b25fX2FuaW1hdGlvbl9fdGV4dFwiIFtpbm5lckhUTUxdPVwiYW5pbWF0aW9uVGV4dFwiPjwvc3Bhbj5cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cIndhYy1idXR0b25fX2NvbmZpcm1EZWxldGVcIiBbc3R5bGUubWF4V2lkdGhdPVwiYnV0dG9uTWF4V2lkdGhEZWxldGVcIiBbc3R5bGUud2lkdGhdPVwiYnV0dG9uV2lkdGhEZWxldGUgKyAncHgnXCI+XG4gICAgPHNwYW4gI2NhbGN1bFdpZHRoRGVsZXRlIGNsYXNzPVwid2FjLWJ1dHRvbl9fY29uZmlybURlbGV0ZV9fdGV4dFwiIFtpbm5lckhUTUxdPVwiY29uZmlybURlbGV0ZVRleHRcIj48L3NwYW4+XG4gIDwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJjb2luXCIgY2xhc3M9XCJ3YWMtYnV0dG9uX19jb2luXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1jb2luLWZyb250XCI+PC9pPjxzcGFuIFtpbm5lckhUTUxdPVwiY29pblwiPjwvc3Bhbj48L3NwYW4+XG4gIDxzcGFuXG4gICAgY2xhc3M9XCJ3YWMtYnV0dG9uX19sb2FkZXJcIlxuICAgIFtuZ0NsYXNzXT1cImV4dHJhQ2xhc3Nlcy5pbmNsdWRlcygnaXMtb3V0bGluZWQnKSA/ICdvdXRsaW5lZCcgOiAnJ1wiXG4gICAgKm5nSWY9XCJpc0xvYWRpbmdcIlxuICAgIFtzdHlsZS53aWR0aF09XCJjdXJyZW50TG9hZGluZyArICclJ1wiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cImV4dHJhQ2xhc3Nlcy5pbmNsdWRlcygnaXMtb3V0bGluZWQnKVwiPlxuICAgICAgPGkgKm5nSWY9XCJpY29uICE9PSAnJ1wiIFtuZ0NsYXNzXT1cImljb25cIiBbc3R5bGUuZm9udC1zaXplLnB4XT1cImljb25Gb250U2l6ZVwiPjwvaT5cbiAgICAgIHt7IGxhYmVsIH19XG4gICAgICA8aSAqbmdJZj1cImljb25OZXh0ICE9PSAnJ1wiIFtuZ0NsYXNzXT1cImljb25OZXh0XCIgW3N0eWxlLmZvbnQtc2l6ZS5weF09XCJpY29uRm9udFNpemVcIj48L2k+XG4gICAgPC9zcGFuPlxuICA8L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwid2FjLWJ1dHRvbl9fdG9vbHRpcHMge3sgdG9vbHRpcFBvc2l0aW9uIH19XCIgW25nQ2xhc3NdPVwieydvbmVsaW5lJzogdG9vbHRpcE9uZWxpbmV9XCIgW3N0eWxlLm1pbldpZHRoXT1cInRvb2x0aXBXaWR0aFwiICpuZ0lmPVwidG9vbHRpcFwiPlxuICAgIHt7IHRvb2x0aXAgfX1cbiAgPC9zcGFuPlxuPC9hPlxuIl19