desy-angular 13.0.1 → 14.0.0

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 (203) hide show
  1. package/README.md +2 -2
  2. package/esm2022/lib/desy-angular.module.mjs +4 -4
  3. package/esm2022/lib/desy-buttons/components/button/button.component.mjs +4 -4
  4. package/esm2022/lib/desy-buttons/components/button-loader/button-loader.component.mjs +4 -4
  5. package/esm2022/lib/desy-buttons/components/dropdown/dropdown.component.mjs +4 -4
  6. package/esm2022/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +3 -3
  7. package/esm2022/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.mjs +3 -3
  8. package/esm2022/lib/desy-buttons/components/listbox/listbox.component.mjs +5 -5
  9. package/esm2022/lib/desy-buttons/components/pill/pill.component.mjs +4 -4
  10. package/esm2022/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.mjs +3 -3
  11. package/esm2022/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.mjs +3 -3
  12. package/esm2022/lib/desy-buttons/components/toggle/toggle.component.mjs +4 -4
  13. package/esm2022/lib/desy-buttons/desy-buttons.module.mjs +4 -4
  14. package/esm2022/lib/desy-commons/components/content/content.component.mjs +3 -3
  15. package/esm2022/lib/desy-commons/components/description/description.component.mjs +3 -3
  16. package/esm2022/lib/desy-commons/components/divider/divider.component.mjs +3 -3
  17. package/esm2022/lib/desy-commons/components/icon/icon.component.mjs +3 -3
  18. package/esm2022/lib/desy-commons/components/title/title.component.mjs +3 -3
  19. package/esm2022/lib/desy-commons/desy-commons.module.mjs +4 -4
  20. package/esm2022/lib/desy-forms/components/character-count/character-count.component.mjs +4 -4
  21. package/esm2022/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +5 -5
  22. package/esm2022/lib/desy-forms/components/checkboxes/checkboxes-parent.component.mjs +3 -3
  23. package/esm2022/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +4 -4
  24. package/esm2022/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +4 -4
  25. package/esm2022/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +3 -3
  26. package/esm2022/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.mjs +3 -3
  27. package/esm2022/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +4 -4
  28. package/esm2022/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +4 -4
  29. package/esm2022/lib/desy-forms/components/date-input/date-input.component.mjs +6 -6
  30. package/esm2022/lib/desy-forms/components/datepicker/datepicker.component.mjs +5 -5
  31. package/esm2022/lib/desy-forms/components/datepicker/datepicker.pipe.mjs +4 -4
  32. package/esm2022/lib/desy-forms/components/error-message/error-message.component.mjs +5 -5
  33. package/esm2022/lib/desy-forms/components/fieldset/fieldset.component.mjs +5 -5
  34. package/esm2022/lib/desy-forms/components/fieldset/legend/legend.component.mjs +5 -5
  35. package/esm2022/lib/desy-forms/components/file-upload/file-upload.component.mjs +5 -5
  36. package/esm2022/lib/desy-forms/components/form-field/form-field.component.mjs +4 -4
  37. package/esm2022/lib/desy-forms/components/hint/hint.component.mjs +5 -5
  38. package/esm2022/lib/desy-forms/components/input/input.component.mjs +5 -5
  39. package/esm2022/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +3 -3
  40. package/esm2022/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +4 -4
  41. package/esm2022/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.mjs +3 -3
  42. package/esm2022/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +4 -4
  43. package/esm2022/lib/desy-forms/components/input-group/input-group.component.mjs +6 -6
  44. package/esm2022/lib/desy-forms/components/label/label.component.mjs +5 -5
  45. package/esm2022/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +5 -5
  46. package/esm2022/lib/desy-forms/components/radios/radios-parent.component.mjs +3 -3
  47. package/esm2022/lib/desy-forms/components/radios/radios.component.mjs +4 -4
  48. package/esm2022/lib/desy-forms/components/search-bar/search-bar.component.mjs +4 -4
  49. package/esm2022/lib/desy-forms/components/select/option/option.component.mjs +3 -3
  50. package/esm2022/lib/desy-forms/components/select/option-group/option-group.component.mjs +3 -3
  51. package/esm2022/lib/desy-forms/components/select/select-item/select-item.component.mjs +3 -3
  52. package/esm2022/lib/desy-forms/components/select/select.component.mjs +4 -4
  53. package/esm2022/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.mjs +3 -3
  54. package/esm2022/lib/desy-forms/components/textarea/textarea.component.mjs +5 -5
  55. package/esm2022/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +5 -5
  56. package/esm2022/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +5 -5
  57. package/esm2022/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +5 -5
  58. package/esm2022/lib/desy-forms/components/tree/tree-sub/tree-sub.component.mjs +3 -3
  59. package/esm2022/lib/desy-forms/components/tree/tree.component.mjs +5 -5
  60. package/esm2022/lib/desy-forms/desy-forms.module.mjs +4 -4
  61. package/esm2022/lib/desy-forms/directives/condition.directive.mjs +5 -5
  62. package/esm2022/lib/desy-modals/components/dialog/dialog.component.mjs +5 -5
  63. package/esm2022/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +3 -3
  64. package/esm2022/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +3 -3
  65. package/esm2022/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +3 -3
  66. package/esm2022/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +3 -3
  67. package/esm2022/lib/desy-modals/components/modal/modal.component.mjs +5 -5
  68. package/esm2022/lib/desy-modals/desy-modals.module.mjs +4 -4
  69. package/esm2022/lib/desy-modals/services/dialog.service.mjs +5 -5
  70. package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.mjs +3 -3
  71. package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +5 -5
  72. package/esm2022/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.mjs +3 -3
  73. package/esm2022/lib/desy-nav/components/error-summary/error-summary.component.mjs +4 -4
  74. package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.mjs +3 -3
  75. package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +4 -4
  76. package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.mjs +3 -3
  77. package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +3 -3
  78. package/esm2022/lib/desy-nav/components/footer/footer.component.mjs +4 -4
  79. package/esm2022/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.mjs +3 -3
  80. package/esm2022/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +4 -4
  81. package/esm2022/lib/desy-nav/components/header/header-mobileText/header-mobile-text.component.mjs +4 -4
  82. package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +3 -3
  83. package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +3 -3
  84. package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.mjs +3 -3
  85. package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.mjs +3 -3
  86. package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +5 -5
  87. package/esm2022/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +4 -4
  88. package/esm2022/lib/desy-nav/components/header/header.component.mjs +4 -4
  89. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-custom-navigation/header-custom-navigation.component.mjs +3 -3
  90. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-dropdown/header-advanced-dropdown.component.mjs +4 -4
  91. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-logo/header-advanced-logo.component.mjs +3 -3
  92. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-sub/header-advanced-sub.component.mjs +3 -3
  93. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-subtitle/header-advanced-subtitle.component.mjs +3 -3
  94. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-super/header-advanced-super.component.mjs +3 -3
  95. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-title/header-advanced-title.component.mjs +3 -3
  96. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced-title-container/header-advanced-title-container.component.mjs +3 -3
  97. package/esm2022/lib/desy-nav/components/header-advanced/header-advanced.component.mjs +4 -4
  98. package/esm2022/lib/desy-nav/components/header-mini/header-mini.component.mjs +3 -3
  99. package/esm2022/lib/desy-nav/components/links-list/links-list-icon-right/links-list-icon-right.component.mjs +3 -3
  100. package/esm2022/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.mjs +3 -3
  101. package/esm2022/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.mjs +3 -3
  102. package/esm2022/lib/desy-nav/components/links-list/links-list.component.mjs +5 -5
  103. package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.mjs +3 -3
  104. package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +4 -4
  105. package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +3 -3
  106. package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.mjs +3 -3
  107. package/esm2022/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +5 -5
  108. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +4 -4
  109. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +3 -3
  110. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.mjs +3 -3
  111. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +4 -4
  112. package/esm2022/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +3 -3
  113. package/esm2022/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.mjs +3 -3
  114. package/esm2022/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +3 -3
  115. package/esm2022/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.mjs +3 -3
  116. package/esm2022/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +5 -5
  117. package/esm2022/lib/desy-nav/components/menubar/menubar.component.mjs +5 -5
  118. package/esm2022/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +3 -3
  119. package/esm2022/lib/desy-nav/components/nav/nav.component.mjs +4 -4
  120. package/esm2022/lib/desy-nav/components/notification/notification-item/notification-item.component.mjs +3 -3
  121. package/esm2022/lib/desy-nav/components/notification/notification.component.mjs +5 -5
  122. package/esm2022/lib/desy-nav/components/skip-link/skip-link.component.mjs +5 -5
  123. package/esm2022/lib/desy-nav/desy-nav.module.mjs +4 -4
  124. package/esm2022/lib/desy-nav/directives/dynamic-heading.directive.mjs +5 -5
  125. package/esm2022/lib/desy-pagination/components/pagination/pagination.component.mjs +6 -6
  126. package/esm2022/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.mjs +3 -3
  127. package/esm2022/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.mjs +3 -3
  128. package/esm2022/lib/desy-pagination/desy-pagination.module.mjs +4 -4
  129. package/esm2022/lib/desy-tables/components/table/components/table-caption.component.mjs +3 -3
  130. package/esm2022/lib/desy-tables/components/table/components/table-cell.component.mjs +3 -3
  131. package/esm2022/lib/desy-tables/components/table/components/table-footer.component.mjs +3 -3
  132. package/esm2022/lib/desy-tables/components/table/components/table-header.component.mjs +3 -3
  133. package/esm2022/lib/desy-tables/components/table/components/table-row.component.mjs +3 -3
  134. package/esm2022/lib/desy-tables/components/table/table.component.mjs +4 -4
  135. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-footer-cell.component.mjs +3 -3
  136. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-footer.component.mjs +3 -3
  137. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +4 -4
  138. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +3 -3
  139. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.mjs +3 -3
  140. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +3 -3
  141. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +3 -3
  142. package/esm2022/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +5 -5
  143. package/esm2022/lib/desy-tables/desy-tables.module.mjs +4 -4
  144. package/esm2022/lib/desy-tables/directives/cell.directive.mjs +5 -5
  145. package/esm2022/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +5 -5
  146. package/esm2022/lib/desy-tables/directives/row.directive.mjs +3 -3
  147. package/esm2022/lib/desy-views/components/accordion/accordion-header/accordion-header.component.mjs +3 -3
  148. package/esm2022/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +4 -4
  149. package/esm2022/lib/desy-views/components/accordion/accordion.component.mjs +4 -4
  150. package/esm2022/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +4 -4
  151. package/esm2022/lib/desy-views/components/accordion-history/accordion-history.component.mjs +3 -3
  152. package/esm2022/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.mjs +3 -3
  153. package/esm2022/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.mjs +3 -3
  154. package/esm2022/lib/desy-views/components/alert/alert.component.mjs +5 -5
  155. package/esm2022/lib/desy-views/components/card/card-sectors/card-left.component.mjs +3 -3
  156. package/esm2022/lib/desy-views/components/card/card-sectors/card-right.component.mjs +3 -3
  157. package/esm2022/lib/desy-views/components/card/card-sectors/card-sub.component.mjs +3 -3
  158. package/esm2022/lib/desy-views/components/card/card-sectors/card-super.component.mjs +3 -3
  159. package/esm2022/lib/desy-views/components/card/card.component.mjs +5 -5
  160. package/esm2022/lib/desy-views/components/collapsible/collapsible.component.mjs +4 -4
  161. package/esm2022/lib/desy-views/components/description-list/definition/definition.component.mjs +3 -3
  162. package/esm2022/lib/desy-views/components/description-list/description-item/description-item.component.mjs +4 -4
  163. package/esm2022/lib/desy-views/components/description-list/description-list.component.mjs +3 -3
  164. package/esm2022/lib/desy-views/components/description-list/term/term.component.mjs +3 -3
  165. package/esm2022/lib/desy-views/components/details/details.component.mjs +4 -4
  166. package/esm2022/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.mjs +3 -3
  167. package/esm2022/lib/desy-views/components/item/item-content-right/item-content-right.component.mjs +3 -3
  168. package/esm2022/lib/desy-views/components/item/item-item/item-item.component.mjs +3 -3
  169. package/esm2022/lib/desy-views/components/item/item.component.mjs +5 -5
  170. package/esm2022/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.mjs +3 -3
  171. package/esm2022/lib/desy-views/components/media-object/media-object.component.mjs +4 -4
  172. package/esm2022/lib/desy-views/components/status/status.component.mjs +4 -4
  173. package/esm2022/lib/desy-views/components/status-item/status-item.component.mjs +4 -4
  174. package/esm2022/lib/desy-views/components/tabs/panel/panel.component.mjs +3 -3
  175. package/esm2022/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +4 -4
  176. package/esm2022/lib/desy-views/components/tabs/tabs.component.mjs +5 -5
  177. package/esm2022/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.mjs +3 -3
  178. package/esm2022/lib/desy-views/components/tooltip/tooltip.component.mjs +5 -5
  179. package/esm2022/lib/desy-views/desy-views.module.mjs +4 -4
  180. package/esm2022/lib/desy-views/services/alert.service.mjs +5 -5
  181. package/esm2022/lib/shared/components/accessibility/accessibility.component.mjs +3 -3
  182. package/esm2022/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.mjs +3 -3
  183. package/esm2022/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.mjs +3 -3
  184. package/esm2022/lib/shared/components/content-base/content-base.component.mjs +3 -3
  185. package/esm2022/lib/shared/components/spinner/spinner.component.mjs +3 -3
  186. package/esm2022/lib/shared/components/text-or-html-required/text-or-html-required.component.mjs +3 -3
  187. package/esm2022/lib/shared/decorators/desy-content-child.decorator.mjs +1 -1
  188. package/esm2022/lib/shared/directives/accessibility-directive.mjs +5 -5
  189. package/esm2022/lib/shared/directives/attribute-change.directive.mjs +5 -5
  190. package/esm2022/lib/shared/directives/click-outside.directive.mjs +5 -5
  191. package/esm2022/lib/shared/directives/content-change.directive.mjs +5 -5
  192. package/esm2022/lib/shared/directives/custom-inner-content.directive.mjs +5 -5
  193. package/esm2022/lib/shared/directives/inner-content.directive.mjs +5 -5
  194. package/esm2022/lib/shared/pipes/external-href.pipe.mjs +4 -4
  195. package/esm2022/lib/shared/pipes/inner-html.pipe.mjs +4 -4
  196. package/esm2022/lib/shared/pipes/make-html-list.pipe.mjs +4 -4
  197. package/esm2022/lib/shared/shared.module.mjs +4 -4
  198. package/esm2022/lib/shared/sharedExternal.module.mjs +4 -4
  199. package/esm2022/lib/shared/utils/focus-utils.mjs +1 -1
  200. package/esm2022/lib/shared/utils/search-utils.mjs +1 -1
  201. package/fesm2022/desy-angular.mjs +650 -650
  202. package/fesm2022/desy-angular.mjs.map +1 -1
  203. package/package.json +13 -13
@@ -165,17 +165,17 @@ export class PaginationComponent extends AccessibilityComponent {
165
165
  this.changeDetector.detectChanges();
166
166
  }
167
167
  }
168
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
169
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PaginationComponent, selector: "desy-pagination", inputs: { hasSelect: "hasSelect", idPrefix: "idPrefix", totalItems: "totalItems", hasPrevious: "hasPrevious", hasNext: "hasNext", hasFirst: "hasFirst", hasLast: "hasLast", showPrevious: "showPrevious", showNext: "showNext", showFirst: "showFirst", showLast: "showLast", previousText: "previousText", nextText: "nextText", firstText: "firstText", lastText: "lastText", hasSelectItemsPerPage: "hasSelectItemsPerPage", classes: "classes", classesContainer: "classesContainer", id: "id", currentPage: "currentPage", itemsPerPage: "itemsPerPage" }, outputs: { currentPageChange: "currentPageChange", itemsPerPageChange: "itemsPerPageChange" }, host: { properties: { "class": "this.classesContainer", "attr.id": "this.id" } }, queries: [{ propertyName: "listboxLabel", predicate: PaginationListboxLabelComponent }, { propertyName: "listboxItemsPerPage", predicate: PaginationItemPerPageComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"hasSelect\">\n <p [attr.id]=\"id + '-label'\" class=\"w-full mb-xs text-sm text-neutral-dark\">\n Selecciona para cargar datos autom\u00E1ticamente\n </p>\n <nav [class]=\"['flex flex-wrap items-center flex-1 mb-base lg:mb-0 text-sm', classes] | makeHtmlList\"\n [desyAppAccessibility]=\"this\">\n <desy-button *ngIf=\"showFirst\" (clickEvent)=\"first()\" [id]=\"getIdPrefix() + '-first'\"\n [html]=\"firstIcon + prefix + firstText + getSuffix(currentPage - 2)\" [disabled]=\"currentPage === 1 || !hasFirst\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n <desy-button *ngIf=\"showPrevious\" (clickEvent)=\"previous()\" [id]=\"getIdPrefix() + '-previous'\"\n [html]=\"previousIcon + prefix + previousText + getSuffix(currentPage - 2)\" [disabled]=\"currentPage === 1 || !hasPrevious\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n <div class=\"flex flex-wrap items-center pl-sm\"\n [ngClass]=\"{'w-full lg:w-auto': showFirst || showLast}\">\n <p *ngIf=\"showFirst || showLast\" class=\"lg:hidden mr-xs text-sm text-neutral-dark\">P\u00E1gina actual:</p>\n <desy-select [classes]=\"'c-select--sm c-select--transparent'\" \n [formGroupClasses]=\"'-mt-sm mb-0 mr-xs'\" \n [id]=\"id + '-items-listbox-'\"\n [name]=\"id + 'items-listbox-'\"\n [describedBy]=\"id + '-label'\"\n [items]=\"items\"\n [ngModel]=\"value\"\n (ngModelChange)=\"handleActiveItemChange($event)\">\n <desy-label [classes]=\"'sr-only'\">\n Selecciona una p\u00E1gina\n </desy-label>\n </desy-select>\n </div>\n <desy-button *ngIf=\"showNext\" (clickEvent)=\"next()\" [id]=\"getIdPrefix() + '-next'\"\n [html]=\"prefix + nextText + getSuffix(currentPage) + nextIcon\" [disabled]=\"currentPage === nPages || !hasNext\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n <desy-button *ngIf=\"showLast\" (clickEvent)=\"last()\" [id]=\"getIdPrefix() + '-last'\"\n [html]=\"prefix + lastText + getSuffix(currentPage) + lastIcon\" [disabled]=\"currentPage === nPages || !hasLast\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n </nav>\n</ng-container>\n<ng-container *ngIf=\"!hasSelect\">\n <nav [class]=\"['flex flex-wrap items-center flex-1 mb-base lg:mb-0 text-sm', classes] | makeHtmlList\"\n [desyAppAccessibility]=\"this\">\n <ul class=\"flex flex-wrap\">\n <li *ngFor=\"let item of items; index as i\">\n <desy-button *ngIf=\"item.active\" [id]=\"getButtonId(i)\"\n [html]=\"'<strong>' + prefix + (i + 1) + getSuffix(i,true) + '</strong>'\"\n classes=\"c-button--primary c-button--disabled mb-sm mr-sm\"\n [disabled]=\"true\" ariaCurrent=\"page\" tabindex=\"-1\"></desy-button>\n <desy-button *ngIf=\"!item.active\" [id]=\"getButtonId(i)\"\n [html]=\"prefix + (i + 1) + getSuffix(i,true)\"\n (clickEvent)=\"changePage(i + 1)\"\n classes=\"mb-sm mr-sm\"></desy-button>\n </li>\n </ul>\n </nav>\n</ng-container>\n \n<div *ngIf=\"hasSelectItemsPerPage\" class=\"block relative -top-xs lg:ml-auto text-sm text-neutral-dark\">\n <desy-select [classes]=\"'c-select--sm c-select--transparent'\" \n [formGroupClasses]=\"'flex flex-wrap place-items-baseline gap-xs -mt-sm mb-0 mr-xs'\" \n [id]=\"'items-listbox-' + getIdPrefix()\"\n [name]=\"'items-listbox-' + getIdPrefix()\"\n [describedBy]=\"id + '-label'\"\n [items]=\"itemsPerPageList\"\n [ngModel]=\"valuePerPage\"\n (ngModelChange)=\"changeItemsPerPage($event)\">\n <desy-label [classes]=\"listboxLabel && listboxLabel.classes ? listboxLabel.classes : 'inline-block flex align-middle mb-[0]'\">\n <ng-container *ngIf=\"listboxLabel\">\n <ng-container *desyCustomInnerContent=\"{ component: listboxLabel }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!listboxLabel\">\n Items por p\u00E1gina\n </ng-container>\n </desy-label>\n </desy-select>\n</div>\n\n\n<p [attr.id]=\"idPrefix + '-status'\" role=\"status\" aria-live=\"polite\" class=\"block relative -top-xs lg:ml-auto text-sm text-neutral-dark\" *ngIf=\"totalItems && itemsPerPage\">\n <span class=\"sr-only\">Posici\u00F3n de paginaci\u00F3n: </span>{{(currentPage - 1) * itemsPerPage + 1}} - {{getLastItemNumber(currentPage - 1)}} de {{totalItems}}\n</p>\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"] }, { kind: "directive", type: i2.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "directive", type: i3.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }, { kind: "component", type: i4.ButtonComponent, selector: "desy-button", inputs: ["id", "classes", "html", "text", "element", "name", "type", "value", "disabled", "href", "target", "preventDoubleClick", "fragment", "routerLink", "routerLinkActiveClasses"], outputs: ["clickEvent"] }, { kind: "component", type: i5.LabelComponent, selector: "desy-label", inputs: ["id", "classes", "html", "text", "isPageHeading", "headingLevel", "for"] }, { kind: "component", type: i6.SelectComponent, selector: "desy-select", inputs: ["name", "items", "describedBy", "formGroupClasses", "classes"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i8.MakeHtmlListPipe, name: "makeHtmlList" }] }); }
168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PaginationComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
169
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: PaginationComponent, selector: "desy-pagination", inputs: { hasSelect: "hasSelect", idPrefix: "idPrefix", totalItems: "totalItems", hasPrevious: "hasPrevious", hasNext: "hasNext", hasFirst: "hasFirst", hasLast: "hasLast", showPrevious: "showPrevious", showNext: "showNext", showFirst: "showFirst", showLast: "showLast", previousText: "previousText", nextText: "nextText", firstText: "firstText", lastText: "lastText", hasSelectItemsPerPage: "hasSelectItemsPerPage", classes: "classes", classesContainer: "classesContainer", id: "id", currentPage: "currentPage", itemsPerPage: "itemsPerPage" }, outputs: { currentPageChange: "currentPageChange", itemsPerPageChange: "itemsPerPageChange" }, host: { properties: { "class": "this.classesContainer", "attr.id": "this.id" } }, queries: [{ propertyName: "listboxLabel", predicate: PaginationListboxLabelComponent }, { propertyName: "listboxItemsPerPage", predicate: PaginationItemPerPageComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"hasSelect\">\n <p [attr.id]=\"id + '-label'\" class=\"w-full mb-xs text-sm text-neutral-dark\">\n Selecciona para cargar datos autom\u00E1ticamente\n </p>\n <nav [class]=\"['flex flex-wrap items-center flex-1 mb-base lg:mb-0 text-sm', classes] | makeHtmlList\"\n [desyAppAccessibility]=\"this\">\n <desy-button *ngIf=\"showFirst\" (clickEvent)=\"first()\" [id]=\"getIdPrefix() + '-first'\"\n [html]=\"firstIcon + prefix + firstText + getSuffix(currentPage - 2)\" [disabled]=\"currentPage === 1 || !hasFirst\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n <desy-button *ngIf=\"showPrevious\" (clickEvent)=\"previous()\" [id]=\"getIdPrefix() + '-previous'\"\n [html]=\"previousIcon + prefix + previousText + getSuffix(currentPage - 2)\" [disabled]=\"currentPage === 1 || !hasPrevious\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n <div class=\"flex flex-wrap items-center pl-sm\"\n [ngClass]=\"{'w-full lg:w-auto': showFirst || showLast}\">\n <p *ngIf=\"showFirst || showLast\" class=\"lg:hidden mr-xs text-sm text-neutral-dark\">P\u00E1gina actual:</p>\n <desy-select [classes]=\"'c-select--sm c-select--transparent'\" \n [formGroupClasses]=\"'-mt-sm mb-0 mr-xs'\" \n [id]=\"id + '-items-listbox-'\"\n [name]=\"id + 'items-listbox-'\"\n [describedBy]=\"id + '-label'\"\n [items]=\"items\"\n [ngModel]=\"value\"\n (ngModelChange)=\"handleActiveItemChange($event)\">\n <desy-label [classes]=\"'sr-only'\">\n Selecciona una p\u00E1gina\n </desy-label>\n </desy-select>\n </div>\n <desy-button *ngIf=\"showNext\" (clickEvent)=\"next()\" [id]=\"getIdPrefix() + '-next'\"\n [html]=\"prefix + nextText + getSuffix(currentPage) + nextIcon\" [disabled]=\"currentPage === nPages || !hasNext\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n <desy-button *ngIf=\"showLast\" (clickEvent)=\"last()\" [id]=\"getIdPrefix() + '-last'\"\n [html]=\"prefix + lastText + getSuffix(currentPage) + lastIcon\" [disabled]=\"currentPage === nPages || !hasLast\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n </nav>\n</ng-container>\n<ng-container *ngIf=\"!hasSelect\">\n <nav [class]=\"['flex flex-wrap items-center flex-1 mb-base lg:mb-0 text-sm', classes] | makeHtmlList\"\n [desyAppAccessibility]=\"this\">\n <ul class=\"flex flex-wrap\">\n <li *ngFor=\"let item of items; index as i\">\n <desy-button *ngIf=\"item.selected\" [id]=\"getButtonId(i)\"\n [html]=\"'<strong>' + prefix + (i + 1) + getSuffix(i,true) + '</strong>'\"\n classes=\"c-button--primary c-button--disabled mb-sm mr-sm\"\n [disabled]=\"true\" ariaCurrent=\"page\" tabindex=\"-1\"></desy-button>\n <desy-button *ngIf=\"!item.selected\" [id]=\"getButtonId(i)\"\n [html]=\"prefix + (i + 1) + getSuffix(i,true)\"\n (clickEvent)=\"changePage(i + 1)\"\n classes=\"mb-sm mr-sm\"></desy-button>\n </li>\n </ul>\n </nav>\n</ng-container>\n \n<div *ngIf=\"hasSelectItemsPerPage\" class=\"block relative -top-xs lg:ml-auto text-sm text-neutral-dark\">\n <desy-select [classes]=\"'c-select--sm c-select--transparent'\" \n [formGroupClasses]=\"'flex flex-wrap place-items-baseline gap-xs -mt-sm mb-0 mr-xs'\" \n [id]=\"'items-listbox-' + getIdPrefix()\"\n [name]=\"'items-listbox-' + getIdPrefix()\"\n [describedBy]=\"id + '-label'\"\n [items]=\"itemsPerPageList\"\n [ngModel]=\"valuePerPage\"\n (ngModelChange)=\"changeItemsPerPage($event)\">\n <desy-label [classes]=\"listboxLabel && listboxLabel.classes ? listboxLabel.classes : 'inline-block flex align-middle mb-[0]'\">\n <ng-container *ngIf=\"listboxLabel\">\n <ng-container *desyCustomInnerContent=\"{ component: listboxLabel }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!listboxLabel\">\n Items por p\u00E1gina\n </ng-container>\n </desy-label>\n </desy-select>\n</div>\n\n\n<p [attr.id]=\"idPrefix + '-status'\" role=\"status\" aria-live=\"polite\" class=\"block relative -top-xs lg:ml-auto text-sm text-neutral-dark\" *ngIf=\"totalItems && itemsPerPage\">\n <span class=\"sr-only\">Posici\u00F3n de paginaci\u00F3n: </span>{{(currentPage - 1) * itemsPerPage + 1}} - {{getLastItemNumber(currentPage - 1)}} de {{totalItems}}\n</p>\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"] }, { kind: "directive", type: i2.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "directive", type: i3.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }, { kind: "component", type: i4.ButtonComponent, selector: "desy-button", inputs: ["id", "classes", "html", "text", "element", "name", "type", "value", "disabled", "href", "target", "preventDoubleClick", "fragment", "routerLink", "routerLinkActiveClasses"], outputs: ["clickEvent"] }, { kind: "component", type: i5.LabelComponent, selector: "desy-label", inputs: ["id", "classes", "html", "text", "isPageHeading", "headingLevel", "for"] }, { kind: "component", type: i6.SelectComponent, selector: "desy-select", inputs: ["name", "items", "describedBy", "formGroupClasses", "classes"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i8.MakeHtmlListPipe, name: "makeHtmlList" }] }); }
170
170
  }
171
171
  __decorate([
172
172
  DesyContentChild(),
173
173
  __metadata("design:type", PaginationListboxLabelComponent)
174
174
  ], PaginationComponent.prototype, "listboxLabel", void 0);
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationComponent, decorators: [{
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PaginationComponent, decorators: [{
176
176
  type: Component,
177
- args: [{ selector: 'desy-pagination', template: "<ng-container *ngIf=\"hasSelect\">\n <p [attr.id]=\"id + '-label'\" class=\"w-full mb-xs text-sm text-neutral-dark\">\n Selecciona para cargar datos autom\u00E1ticamente\n </p>\n <nav [class]=\"['flex flex-wrap items-center flex-1 mb-base lg:mb-0 text-sm', classes] | makeHtmlList\"\n [desyAppAccessibility]=\"this\">\n <desy-button *ngIf=\"showFirst\" (clickEvent)=\"first()\" [id]=\"getIdPrefix() + '-first'\"\n [html]=\"firstIcon + prefix + firstText + getSuffix(currentPage - 2)\" [disabled]=\"currentPage === 1 || !hasFirst\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n <desy-button *ngIf=\"showPrevious\" (clickEvent)=\"previous()\" [id]=\"getIdPrefix() + '-previous'\"\n [html]=\"previousIcon + prefix + previousText + getSuffix(currentPage - 2)\" [disabled]=\"currentPage === 1 || !hasPrevious\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n <div class=\"flex flex-wrap items-center pl-sm\"\n [ngClass]=\"{'w-full lg:w-auto': showFirst || showLast}\">\n <p *ngIf=\"showFirst || showLast\" class=\"lg:hidden mr-xs text-sm text-neutral-dark\">P\u00E1gina actual:</p>\n <desy-select [classes]=\"'c-select--sm c-select--transparent'\" \n [formGroupClasses]=\"'-mt-sm mb-0 mr-xs'\" \n [id]=\"id + '-items-listbox-'\"\n [name]=\"id + 'items-listbox-'\"\n [describedBy]=\"id + '-label'\"\n [items]=\"items\"\n [ngModel]=\"value\"\n (ngModelChange)=\"handleActiveItemChange($event)\">\n <desy-label [classes]=\"'sr-only'\">\n Selecciona una p\u00E1gina\n </desy-label>\n </desy-select>\n </div>\n <desy-button *ngIf=\"showNext\" (clickEvent)=\"next()\" [id]=\"getIdPrefix() + '-next'\"\n [html]=\"prefix + nextText + getSuffix(currentPage) + nextIcon\" [disabled]=\"currentPage === nPages || !hasNext\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n <desy-button *ngIf=\"showLast\" (clickEvent)=\"last()\" [id]=\"getIdPrefix() + '-last'\"\n [html]=\"prefix + lastText + getSuffix(currentPage) + lastIcon\" [disabled]=\"currentPage === nPages || !hasLast\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n </nav>\n</ng-container>\n<ng-container *ngIf=\"!hasSelect\">\n <nav [class]=\"['flex flex-wrap items-center flex-1 mb-base lg:mb-0 text-sm', classes] | makeHtmlList\"\n [desyAppAccessibility]=\"this\">\n <ul class=\"flex flex-wrap\">\n <li *ngFor=\"let item of items; index as i\">\n <desy-button *ngIf=\"item.active\" [id]=\"getButtonId(i)\"\n [html]=\"'<strong>' + prefix + (i + 1) + getSuffix(i,true) + '</strong>'\"\n classes=\"c-button--primary c-button--disabled mb-sm mr-sm\"\n [disabled]=\"true\" ariaCurrent=\"page\" tabindex=\"-1\"></desy-button>\n <desy-button *ngIf=\"!item.active\" [id]=\"getButtonId(i)\"\n [html]=\"prefix + (i + 1) + getSuffix(i,true)\"\n (clickEvent)=\"changePage(i + 1)\"\n classes=\"mb-sm mr-sm\"></desy-button>\n </li>\n </ul>\n </nav>\n</ng-container>\n \n<div *ngIf=\"hasSelectItemsPerPage\" class=\"block relative -top-xs lg:ml-auto text-sm text-neutral-dark\">\n <desy-select [classes]=\"'c-select--sm c-select--transparent'\" \n [formGroupClasses]=\"'flex flex-wrap place-items-baseline gap-xs -mt-sm mb-0 mr-xs'\" \n [id]=\"'items-listbox-' + getIdPrefix()\"\n [name]=\"'items-listbox-' + getIdPrefix()\"\n [describedBy]=\"id + '-label'\"\n [items]=\"itemsPerPageList\"\n [ngModel]=\"valuePerPage\"\n (ngModelChange)=\"changeItemsPerPage($event)\">\n <desy-label [classes]=\"listboxLabel && listboxLabel.classes ? listboxLabel.classes : 'inline-block flex align-middle mb-[0]'\">\n <ng-container *ngIf=\"listboxLabel\">\n <ng-container *desyCustomInnerContent=\"{ component: listboxLabel }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!listboxLabel\">\n Items por p\u00E1gina\n </ng-container>\n </desy-label>\n </desy-select>\n</div>\n\n\n<p [attr.id]=\"idPrefix + '-status'\" role=\"status\" aria-live=\"polite\" class=\"block relative -top-xs lg:ml-auto text-sm text-neutral-dark\" *ngIf=\"totalItems && itemsPerPage\">\n <span class=\"sr-only\">Posici\u00F3n de paginaci\u00F3n: </span>{{(currentPage - 1) * itemsPerPage + 1}} - {{getLastItemNumber(currentPage - 1)}} de {{totalItems}}\n</p>\n" }]
178
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { hasSelect: [{
177
+ args: [{ selector: 'desy-pagination', template: "<ng-container *ngIf=\"hasSelect\">\n <p [attr.id]=\"id + '-label'\" class=\"w-full mb-xs text-sm text-neutral-dark\">\n Selecciona para cargar datos autom\u00E1ticamente\n </p>\n <nav [class]=\"['flex flex-wrap items-center flex-1 mb-base lg:mb-0 text-sm', classes] | makeHtmlList\"\n [desyAppAccessibility]=\"this\">\n <desy-button *ngIf=\"showFirst\" (clickEvent)=\"first()\" [id]=\"getIdPrefix() + '-first'\"\n [html]=\"firstIcon + prefix + firstText + getSuffix(currentPage - 2)\" [disabled]=\"currentPage === 1 || !hasFirst\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n <desy-button *ngIf=\"showPrevious\" (clickEvent)=\"previous()\" [id]=\"getIdPrefix() + '-previous'\"\n [html]=\"previousIcon + prefix + previousText + getSuffix(currentPage - 2)\" [disabled]=\"currentPage === 1 || !hasPrevious\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n <div class=\"flex flex-wrap items-center pl-sm\"\n [ngClass]=\"{'w-full lg:w-auto': showFirst || showLast}\">\n <p *ngIf=\"showFirst || showLast\" class=\"lg:hidden mr-xs text-sm text-neutral-dark\">P\u00E1gina actual:</p>\n <desy-select [classes]=\"'c-select--sm c-select--transparent'\" \n [formGroupClasses]=\"'-mt-sm mb-0 mr-xs'\" \n [id]=\"id + '-items-listbox-'\"\n [name]=\"id + 'items-listbox-'\"\n [describedBy]=\"id + '-label'\"\n [items]=\"items\"\n [ngModel]=\"value\"\n (ngModelChange)=\"handleActiveItemChange($event)\">\n <desy-label [classes]=\"'sr-only'\">\n Selecciona una p\u00E1gina\n </desy-label>\n </desy-select>\n </div>\n <desy-button *ngIf=\"showNext\" (clickEvent)=\"next()\" [id]=\"getIdPrefix() + '-next'\"\n [html]=\"prefix + nextText + getSuffix(currentPage) + nextIcon\" [disabled]=\"currentPage === nPages || !hasNext\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n <desy-button *ngIf=\"showLast\" (clickEvent)=\"last()\" [id]=\"getIdPrefix() + '-last'\"\n [html]=\"prefix + lastText + getSuffix(currentPage) + lastIcon\" [disabled]=\"currentPage === nPages || !hasLast\"\n classes=\"c-button--sm c-button--transparent mr-xs\"></desy-button>\n </nav>\n</ng-container>\n<ng-container *ngIf=\"!hasSelect\">\n <nav [class]=\"['flex flex-wrap items-center flex-1 mb-base lg:mb-0 text-sm', classes] | makeHtmlList\"\n [desyAppAccessibility]=\"this\">\n <ul class=\"flex flex-wrap\">\n <li *ngFor=\"let item of items; index as i\">\n <desy-button *ngIf=\"item.selected\" [id]=\"getButtonId(i)\"\n [html]=\"'<strong>' + prefix + (i + 1) + getSuffix(i,true) + '</strong>'\"\n classes=\"c-button--primary c-button--disabled mb-sm mr-sm\"\n [disabled]=\"true\" ariaCurrent=\"page\" tabindex=\"-1\"></desy-button>\n <desy-button *ngIf=\"!item.selected\" [id]=\"getButtonId(i)\"\n [html]=\"prefix + (i + 1) + getSuffix(i,true)\"\n (clickEvent)=\"changePage(i + 1)\"\n classes=\"mb-sm mr-sm\"></desy-button>\n </li>\n </ul>\n </nav>\n</ng-container>\n \n<div *ngIf=\"hasSelectItemsPerPage\" class=\"block relative -top-xs lg:ml-auto text-sm text-neutral-dark\">\n <desy-select [classes]=\"'c-select--sm c-select--transparent'\" \n [formGroupClasses]=\"'flex flex-wrap place-items-baseline gap-xs -mt-sm mb-0 mr-xs'\" \n [id]=\"'items-listbox-' + getIdPrefix()\"\n [name]=\"'items-listbox-' + getIdPrefix()\"\n [describedBy]=\"id + '-label'\"\n [items]=\"itemsPerPageList\"\n [ngModel]=\"valuePerPage\"\n (ngModelChange)=\"changeItemsPerPage($event)\">\n <desy-label [classes]=\"listboxLabel && listboxLabel.classes ? listboxLabel.classes : 'inline-block flex align-middle mb-[0]'\">\n <ng-container *ngIf=\"listboxLabel\">\n <ng-container *desyCustomInnerContent=\"{ component: listboxLabel }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!listboxLabel\">\n Items por p\u00E1gina\n </ng-container>\n </desy-label>\n </desy-select>\n</div>\n\n\n<p [attr.id]=\"idPrefix + '-status'\" role=\"status\" aria-live=\"polite\" class=\"block relative -top-xs lg:ml-auto text-sm text-neutral-dark\" *ngIf=\"totalItems && itemsPerPage\">\n <span class=\"sr-only\">Posici\u00F3n de paginaci\u00F3n: </span>{{(currentPage - 1) * itemsPerPage + 1}} - {{getLastItemNumber(currentPage - 1)}} de {{totalItems}}\n</p>\n" }]
178
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { hasSelect: [{
179
179
  type: Input
180
180
  }], idPrefix: [{
181
181
  type: Input
@@ -234,4 +234,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
234
234
  }], itemsPerPageChange: [{
235
235
  type: Output
236
236
  }] } });
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXBhZ2luYXRpb24vY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1wYWdpbmF0aW9uL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDL0ssT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDM0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDOUcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7Ozs7Ozs7QUFPakgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHNCQUFzQjtJQWtEN0QsWUFBb0IsY0FBaUM7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFEVSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUE3QzVDLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQzVCLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDeEIsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixZQUFPLEdBQVksSUFBSSxDQUFDO1FBQ3hCLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBQzdCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIs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RyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUV5QixnQkFBZ0I7c0JBQTlDLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsT0FBTztnQkFDSSxFQUFFO3NCQUFsQyxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLFNBQVM7Z0JBR21CLFlBQVk7c0JBQTdELGVBQWU7dUJBQUMsK0JBQStCO2dCQUVDLG1CQUFtQjtzQkFBbkUsZUFBZTt1QkFBQyw4QkFBOEI7Z0JBRXRDLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNO2dCQUdFLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgRGVzeUNvbnRlbnRDaGlsZCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkl0ZW1QZXJQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFnaW5hdGlvbi1pdGVtLXBlcnBhZ2UvcGFnaW5hdGlvbi1pdGVtLXBlcnBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2luYXRpb25MaXN0Ym94TGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi9wYWdpbmF0aW9uLWxpc3Rib3gtbGFiZWwvcGFnaW5hdGlvbi1saXN0Ym94LWxhYmVsLmNvbXBvbmVudCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS1wYWdpbmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRJbml0IHtcblxuICBASW5wdXQoKSBoYXNTZWxlY3Q6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlkUHJlZml4OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRvdGFsSXRlbXM6IG51bWJlcjtcbiAgQElucHV0KCkgaGFzUHJldmlvdXM6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBoYXNOZXh0OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgaGFzRmlyc3Q6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBoYXNMYXN0OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1ByZXZpb3VzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd05leHQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93Rmlyc3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd0xhc3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHJldmlvdXNUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5leHRUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZpcnN0VGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBsYXN0VGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBoYXNTZWxlY3RJdGVtc1BlclBhZ2U6IHN0cmluZyB8IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcblxuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3Nlc0NvbnRhaW5lcjogYW55O1xuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBpZDogYW55O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihQYWdpbmF0aW9uTGlzdGJveExhYmVsQ29tcG9uZW50KSBsaXN0Ym94TGFiZWw6IFBhZ2luYXRpb25MaXN0Ym94TGFiZWxDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihQYWdpbmF0aW9uSXRlbVBlclBhZ2VDb21wb25lbnQpIGxpc3Rib3hJdGVtc1BlclBhZ2U6IFF1ZXJ5TGlzdDxQYWdpbmF0aW9uSXRlbVBlclBhZ2VDb21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpIGN1cnJlbnRQYWdlID0gMTsgLy8gPT0gY3VycmVudFBhZ2VpbmRleCArIDFcbiAgQE91dHB1dCgpIGN1cnJlbnRQYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cblxuICBASW5wdXQoKSBpdGVtc1BlclBhZ2U6IG51bWJlcjtcbiAgQE91dHB1dCgpIGl0ZW1zUGVyUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIG5QYWdlczogbnVtYmVyO1xuICBpdGVtczogUGFnaW5hdGlvbkl0ZW1QZXJQYWdlQ29tcG9uZW50W107XG4gIHZhbHVlOiBudW1iZXI7XG4gIGl0ZW1zUGVyUGFnZUxpc3Q6IFBhZ2luYXRpb25JdGVtUGVyUGFnZUNvbXBvbmVudFtdO1xuICB2YWx1ZVBlclBhZ2U6IG51bWJlcjtcbiAgblBhZ2VzSGlzdG9yeSA9IDA7XG5cbiAgZGVmYXVsdFRleHQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICByZWFkb25seSBwcmV2aW91c0ljb24gPSAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNDAgMTQwXCIgIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJzZWxmLWNlbnRlciBoLTIuNSB3LTIuNSBtci0yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIj48cGF0aCBkPVwiTTU0Ljg3IDcxLjc3YTIuNSAyLjUgMCAwMTAtMy41NEwxMDYgMTcuMDdBMTAgMTAgMCAxMDkxLjg5IDIuOTNMMzUuNDMgNTkuMzlhMTUgMTUgMCAwMDAgMjEuMjJsNTYuNDYgNTYuNDZBMTAgMTAgMCAxMDEwNiAxMjIuOTN6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIC8+PC9zdmc+JztcbiAgcmVhZG9ubHkgbmV4dEljb24gPSAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNDAgMTQwXCIgd2lkdGg9XCIxZW1cIiBoZWlnaHQ9XCIxZW1cIiBjbGFzcz1cInNlbGYtY2VudGVyIGgtMi41IHctMi41IG1sLTJcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiPjxwYXRoIGQ9XCJNMzQgMTM3LjA3YTEwIDEwIDAgMDEwLTE0LjE0bDUxLjEzLTUxLjE2YTIuNSAyLjUgMCAwMDAtMy41NEwzNCAxNy4wN0ExMCAxMCAwIDAxNDguMTEgMi45M2w1Ni40NiA1Ni40NmExNSAxNSAwIDAxMCAyMS4yMmwtNTYuNDYgNTYuNDZhMTAgMTAgMCAwMS0xNC4xMSAwelwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiAvPjwvc3ZnPic7XG4gIHJlYWRvbmx5IGZpcnN0SWNvbiA9ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIxZW1cIiBoZWlnaHQ9XCIxZW1cIiBjbGFzcz1cInNlbGYtY2VudGVyIGgtMi41IHctMi41IG1yLTJcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiPjxnPjxwYXRoIGQ9XCJNMTAuNDIsMTJhMi42NCwyLjY0LDAsMCwxLC43Ny0xLjg4TDIwLjczLjU4YTEuNzcsMS43NywwLDAsMSwyLjUsMi41bC04Ljc0LDguNzRhLjI3LjI3LDAsMCwwLDAsLjM2bDguNzQsOC43NGExLjc3LDEuNzcsMCwwLDEtMi41LDIuNWwtOS41NC05LjU0QTIuNjQsMi42NCwwLDAsMSwxMC40MiwxMlpcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPjxwYXRoIGQ9XCJNLjI1LDEyQTIuNjUsMi42NSwwLDAsMSwxLDEwLjEyTDEwLjU3LjU4YTEuNzcsMS43NywwLDAsMSwyLjUsMi41TDQuMzMsMTEuODJhLjI1LjI1LDAsMCwwLDAsLjM2bDguNzQsOC43NGExLjc3LDEuNzcsMCwwLDEtMi41LDIuNUwxLDEzLjg4QTIuNjUsMi42NSwwLDAsMSwuMjUsMTJaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD48L2c+PC9zdmc+JztcbiAgcmVhZG9ubHkgbGFzdEljb24gPSAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJzZWxmLWNlbnRlciBoLTIuNSB3LTIuNSBtbC0yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIj48Zz48cGF0aCBkPVwiTTEzLjU4LDEyYTIuNjQsMi42NCwwLDAsMS0uNzcsMS44OEwzLjI3LDIzLjQyYTEuNzcsMS43NywwLDAsMS0yLjUtMi41bDguNzQtOC43NGEuMjcuMjcsMCwwLDAsMC0uMzZMLjc3LDMuMDhBMS43NywxLjc3LDAsMCwxLDMuMjcuNThsOS41NCw5LjU0QTIuNjQsMi42NCwwLDAsMSwxMy41OCwxMlpcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPjxwYXRoIGQ9XCJNMjMuNzUsMTJBMi42NSwyLjY1LDAsMCwxLDIzLDEzLjg4bC05LjU0LDkuNTRhMS43NywxLjc3LDAsMCwxLTIuNS0yLjVsOC43NC04Ljc0YS4yNS4yNSwwLDAsMCwwLS4zNkwxMC45MywzLjA4YTEuNzcsMS43NywwLDAsMSwyLjUtMi41TDIzLDEwLjEyQTIuNjUsMi42NSwwLDAsMSwyMy43NSwxMlpcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPjwvZz48L3N2Zz4nO1xuICByZWFkb25seSBwcmVmaXggPSAnPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+UMOhZ2luYSZuYnNwOzwvc3Bhbj4nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50UGFnZSA9PT0gbnVsbCB8fCB0aGlzLmN1cnJlbnRQYWdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xuICAgIH1cbiAgICB0aGlzLmNoZWNrQ2hhbmdlcygpO1xuICAgIHRoaXMuY2xhc3Nlc0NvbnRhaW5lciA9IHRoaXMuY2xhc3Nlc0NvbnRhaW5lciA/IHRoaXMuY2xhc3Nlc0NvbnRhaW5lciArPSAnIGxnOmZsZXggbGc6ZmxleC13cmFwIGxnOml0ZW1zLWNlbnRlciBsZzpnYXAtYmFzZScgOiAnbGc6ZmxleCBsZzpmbGV4LXdyYXAgbGc6aXRlbXMtY2VudGVyIGxnOmdhcC1iYXNlJ1xuICAgIHRoaXMuaWQgPSB0aGlzLmlkID8gdGhpcy5pZCA6IG51bGxcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5saXN0Ym94SXRlbXNQZXJQYWdlKSB7XG4gICAgICB0aGlzLnNldHVwSXRlbXNQZXJQYWdlKCk7XG4gICAgICB0aGlzLmxpc3Rib3hJdGVtc1BlclBhZ2UuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNldHVwSXRlbXNQZXJQYWdlKCk7XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGNoZWNrQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLm5QYWdlcyA9IE1hdGguY2VpbCh0aGlzLnRvdGFsSXRlbXMgLyB0aGlzLml0ZW1zUGVyUGFnZSk7XG5cbiAgICBpZiAoIXRoaXMuY3VycmVudFBhZ2UgfHwgdGhpcy5jdXJyZW50UGFnZSA8IDEgfHwgdGhpcy5jdXJyZW50UGFnZSA+IHRoaXMublBhZ2VzKSB7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2VDaGFuZ2UuZW1pdCh0aGlzLmN1cnJlbnRQYWdlKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmZpcnN0VGV4dCkge1xuICAgICAgdGhpcy5maXJzdFRleHQgPSAnUHJpbWVyYSc7XG4gICAgfVxuICAgIGlmICghdGhpcy5wcmV2aW91c1RleHQpIHtcbiAgICAgIHRoaXMucHJldmlvdXNUZXh0ID0gJ0FudGVyaW9yJztcbiAgICB9XG4gICAgaWYgKCF0aGlzLm5leHRUZXh0KSB7XG4gICAgICB0aGlzLm5leHRUZXh0ID0gJ1NpZ3VpZW50ZSc7XG4gICAgfVxuICAgIGlmICghdGhpcy5sYXN0VGV4dCkge1xuICAgICAgdGhpcy5sYXN0VGV4dCA9ICfDmmx0aW1hJztcbiAgICB9XG4gICAgdGhpcy5idWlsZFBhZ2VzKCk7XG4gIH1cblxuICBnZXRTdWZmaXgocGFnZTogbnVtYmVyLCBpc051bWJlciA9IGZhbHNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcGFnZSA+PSAwICYmIHBhZ2UgKiB0aGlzLml0ZW1zUGVyUGFnZSA8IHRoaXMudG90YWxJdGVtcyA/XG4gICAgICAoaXNOdW1iZXIgPyBgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+OiZuYnNwOyBjb24gbG9zIHJlc3VsdGFkb3MgZGVsICR7cGFnZSAqIHRoaXMuaXRlbXNQZXJQYWdlICsgMX0gYWwgJHt0aGlzLmdldExhc3RJdGVtTnVtYmVyKHBhZ2UpfTwvc3Bhbj5gIDogYDxzcGFuIGNsYXNzPVwic3Itb25seVwiPjombmJzcDtQw6FnaW5hICR7cGFnZSArIDF9IGNvbiBsb3MgcmVzdWx0YWRvcyBkZWwgJHtwYWdlICogdGhpcy5pdGVtc1BlclBhZ2UgKyAxfSBhbCAke3RoaXMuZ2V0TGFzdEl0ZW1OdW1iZXIocGFnZSl9PC9zcGFuPmApXG4gICAgICA6ICcnO1xuICB9XG5cbiAgZ2V0TGFzdEl0ZW1OdW1iZXIocGFnZUluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1pbigocGFnZUluZGV4ICsgMSkgKiB0aGlzLml0ZW1zUGVyUGFnZSwgdGhpcy50b3RhbEl0ZW1zKTtcbiAgfVxuXG4gIGJ1aWxkUGFnZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMublBhZ2VzSGlzdG9yeSAhPSB0aGlzLm5QYWdlcykge1xuICAgICAgdGhpcy5uUGFnZXNIaXN0b3J5ID0gdGhpcy5uUGFnZXNcbiAgICAgIGNvbnN0IGl0ZW1MaXN0ID0gW107XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMublBhZ2VzOyBpKyspIHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHtcbiAgICAgICAgICB2YWx1ZTogaSArIDEsXG4gICAgICAgICAgdGV4dDogaSArIDEsXG4gICAgICAgICAgc2VsZWN0ZWQ6ICgoaSArIDEpID09PSB0aGlzLmN1cnJlbnRQYWdlKVxuICAgICAgICB9O1xuICAgICAgICBpdGVtTGlzdC5wdXNoKGl0ZW0pO1xuICAgICAgfVxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuY3VycmVudFBhZ2VcbiAgICAgIHRoaXMuaXRlbXMgPSBpdGVtTGlzdDtcbiAgICB9XG4gIH1cblxuICBnZXRJZFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkUHJlZml4ID8gdGhpcy5pZFByZWZpeCA6ICdwYWdpbmF0aW9uLWl0ZW0nO1xuICB9XG5cbiAgZ2V0QnV0dG9uSWQoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SWRQcmVmaXgoKSArICctJyArICsraW5kZXg7XG4gIH1cblxuICBjaGFuZ2VQYWdlKGN1cnJlbnQ6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGhhc1BhZ2VDaGFuZ2UgPSBjdXJyZW50ICE9PSB0aGlzLmN1cnJlbnRQYWdlO1xuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBjdXJyZW50O1xuICAgIGlmIChoYXNQYWdlQ2hhbmdlKSB7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlQ2hhbmdlLmVtaXQodGhpcy5jdXJyZW50UGFnZSk7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXNbaV07XG4gICAgICBpdGVtLnNlbGVjdGVkID0gKChpICsgMSkgPT09IHRoaXMuY3VycmVudFBhZ2UpO1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuY3VycmVudFBhZ2VcbiAgICB9XG4gIH1cblxuICBwcmV2aW91cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50UGFnZSA+IDEpIHtcbiAgICAgIHRoaXMuY2hhbmdlUGFnZSh0aGlzLmN1cnJlbnRQYWdlIC0gMSk7XG4gICAgfVxuICB9XG5cbiAgbmV4dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50UGFnZSA8IHRoaXMublBhZ2VzKSB7XG4gICAgICB0aGlzLmNoYW5nZVBhZ2UodGhpcy5jdXJyZW50UGFnZSArIDEpO1xuICAgIH1cbiAgfVxuXG4gIGZpcnN0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlID4gMSkge1xuICAgICAgdGhpcy5jaGFuZ2VQYWdlKDEpO1xuICAgIH1cbiAgfVxuXG4gIGxhc3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPCB0aGlzLm5QYWdlcykge1xuICAgICAgdGhpcy5jaGFuZ2VQYWdlKHRoaXMublBhZ2VzKTtcbiAgICB9XG4gIH1cblxuICBnZXRMaXN0Ym94TGFiZWwoKTogUGFnaW5hdGlvbkxpc3Rib3hMYWJlbENvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMubGlzdGJveExhYmVsID8gdGhpcy5saXN0Ym94TGFiZWwgOiBudWxsO1xuICB9XG5cbiAgY2hhbmdlSXRlbXNQZXJQYWdlKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGxldCBuZXdWYWx1ZSA9IGV2ZW50O1xuICAgICAgdGhpcy5pdGVtc1BlclBhZ2UgPSBuZXdWYWx1ZTtcbiAgICAgIHRoaXMuY2hlY2tDaGFuZ2VzKCk7XG4gICAgICB0aGlzLml0ZW1zUGVyUGFnZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUFjdGl2ZUl0ZW1DaGFuZ2UoZXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQgIT09IG51bGwgJiYgZXZlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jaGFuZ2VQYWdlKGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBzZXR1cEl0ZW1zUGVyUGFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zUGVyUGFnZUxpc3QgPSB0aGlzLmxpc3Rib3hJdGVtc1BlclBhZ2UgJiYgdGhpcy5saXN0Ym94SXRlbXNQZXJQYWdlLmxlbmd0aCA+IDAgPyB0aGlzLmxpc3Rib3hJdGVtc1BlclBhZ2UudG9BcnJheSgpIDogbnVsbDtcbiAgICBpZiAodGhpcy5pdGVtc1BlclBhZ2VMaXN0KSB7XG4gICAgICBjb25zdCBjdXJyZW50SXRlbXNQZXJQYWdlSXRlbSA9IHRoaXMuaXRlbXNQZXJQYWdlTGlzdC5maW5kKGkgPT4gaS52YWx1ZSA9PT0gdGhpcy5pdGVtc1BlclBhZ2UpO1xuICAgICAgaWYgKGN1cnJlbnRJdGVtc1BlclBhZ2VJdGVtKSB7XG4gICAgICAgIGN1cnJlbnRJdGVtc1BlclBhZ2VJdGVtLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGhhc0FjdGl2ZSA9IHRoaXMuaXRlbXNQZXJQYWdlTGlzdC5maW5kKGkgPT4gaS5zZWxlY3RlZCk7XG4gICAgICBpZiAoIWhhc0FjdGl2ZSAmJiB0aGlzLml0ZW1zUGVyUGFnZUxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLml0ZW1zUGVyUGFnZUxpc3RbMF0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzU2VsZWN0XCI+XG4gIDxwIFthdHRyLmlkXT1cImlkICsgJy1sYWJlbCdcIiBjbGFzcz1cInctZnVsbCBtYi14cyB0ZXh0LXNtIHRleHQtbmV1dHJhbC1kYXJrXCI+XG4gICAgU2VsZWNjaW9uYSBwYXJhIGNhcmdhciBkYXRvcyBhdXRvbcOhdGljYW1lbnRlXG4gIDwvcD5cbiAgPG5hdiBbY2xhc3NdPVwiWydmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZmxleC0xIG1iLWJhc2UgbGc6bWItMCB0ZXh0LXNtJywgY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICBbZGVzeUFwcEFjY2Vzc2liaWxpdHldPVwidGhpc1wiPlxuICAgIDxkZXN5LWJ1dHRvbiAqbmdJZj1cInNob3dGaXJzdFwiIChjbGlja0V2ZW50KT1cImZpcnN0KClcIiBbaWRdPVwiZ2V0SWRQcmVmaXgoKSArICctZmlyc3QnXCJcbiAgICAgICAgICAgICAgICAgIFtodG1sXT1cImZpcnN0SWNvbiArIHByZWZpeCArIGZpcnN0VGV4dCArIGdldFN1ZmZpeChjdXJyZW50UGFnZSAtIDIpXCIgW2Rpc2FibGVkXT1cImN1cnJlbnRQYWdlID09PSAxIHx8ICFoYXNGaXJzdFwiXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPVwiYy1idXR0b24tLXNtIGMtYnV0dG9uLS10cmFuc3BhcmVudCBtci14c1wiPjwvZGVzeS1idXR0b24+XG4gICAgPGRlc3ktYnV0dG9uICpuZ0lmPVwic2hvd1ByZXZpb3VzXCIgKGNsaWNrRXZlbnQpPVwicHJldmlvdXMoKVwiIFtpZF09XCJnZXRJZFByZWZpeCgpICsgJy1wcmV2aW91cydcIlxuICAgICAgICAgICAgICAgICAgW2h0bWxdPVwicHJldmlvdXNJY29uICsgcHJlZml4ICsgcHJldmlvdXNUZXh0ICsgZ2V0U3VmZml4KGN1cnJlbnRQYWdlIC0gMilcIiBbZGlzYWJsZWRdPVwiY3VycmVudFBhZ2UgPT09IDEgfHwgIWhhc1ByZXZpb3VzXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXM9XCJjLWJ1dHRvbi0tc20gYy1idXR0b24tLXRyYW5zcGFyZW50IG1yLXhzXCI+PC9kZXN5LWJ1dHRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIHBsLXNtXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J3ctZnVsbCBsZzp3LWF1dG8nOiBzaG93Rmlyc3QgfHwgc2hvd0xhc3R9XCI+XG4gICAgICA8cCAqbmdJZj1cInNob3dGaXJzdCB8fCBzaG93TGFzdFwiIGNsYXNzPVwibGc6aGlkZGVuIG1yLXhzIHRleHQtc20gdGV4dC1uZXV0cmFsLWRhcmtcIj5Qw6FnaW5hIGFjdHVhbDo8L3A+XG4gICAgICAgICAgPGRlc3ktc2VsZWN0IFtjbGFzc2VzXT1cIidjLXNlbGVjdC0tc20gYy1zZWxlY3QtLXRyYW5zcGFyZW50J1wiIFxuICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwQ2xhc3Nlc109XCInLW10LXNtIG1iLTAgbXIteHMnXCIgXG4gICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctaXRlbXMtbGlzdGJveC0nXCJcbiAgICAgICAgICAgICAgICAgW25hbWVdPVwiaWQgKyAnaXRlbXMtbGlzdGJveC0nXCJcbiAgICAgICAgICAgICAgICAgW2Rlc2NyaWJlZEJ5XT1cImlkICsgJy1sYWJlbCdcIlxuICAgICAgICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXNcIlxuICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImhhbmRsZUFjdGl2ZUl0ZW1DaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgIDxkZXN5LWxhYmVsIFtjbGFzc2VzXT1cIidzci1vbmx5J1wiPlxuICAgICAgICAgICAgICAgIFNlbGVjY2lvbmEgdW5hIHDDoWdpbmFcbiAgICAgICAgICAgICA8L2Rlc3ktbGFiZWw+XG4gICAgICAgICAgPC9kZXN5LXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGVzeS1idXR0b24gKm5nSWY9XCJzaG93TmV4dFwiIChjbGlja0V2ZW50KT1cIm5leHQoKVwiIFtpZF09XCJnZXRJZFByZWZpeCgpICsgJy1uZXh0J1wiXG4gICAgICAgICAgICAgICAgICBbaHRtbF09XCJwcmVmaXggKyBuZXh0VGV4dCArIGdldFN1ZmZpeChjdXJyZW50UGFnZSkgKyBuZXh0SWNvblwiIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSA9PT0gblBhZ2VzIHx8ICFoYXNOZXh0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXM9XCJjLWJ1dHRvbi0tc20gYy1idXR0b24tLXRyYW5zcGFyZW50IG1yLXhzXCI+PC9kZXN5LWJ1dHRvbj5cbiAgICA8ZGVzeS1idXR0b24gKm5nSWY9XCJzaG93TGFzdFwiIChjbGlja0V2ZW50KT1cImxhc3QoKVwiIFtpZF09XCJnZXRJZFByZWZpeCgpICsgJy1sYXN0J1wiXG4gICAgICAgICAgICAgICAgICBbaHRtbF09XCJwcmVmaXggKyBsYXN0VGV4dCArIGdldFN1ZmZpeChjdXJyZW50UGFnZSkgKyBsYXN0SWNvblwiIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSA9PT0gblBhZ2VzIHx8ICFoYXNMYXN0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzZXM9XCJjLWJ1dHRvbi0tc20gYy1idXR0b24tLXRyYW5zcGFyZW50IG1yLXhzXCI+PC9kZXN5LWJ1dHRvbj5cbiAgPC9uYXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzU2VsZWN0XCI+XG4gIDxuYXYgW2NsYXNzXT1cIlsnZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGZsZXgtMSBtYi1iYXNlIGxnOm1iLTAgdGV4dC1zbScsIGNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cInRoaXNcIj5cbiAgICA8dWwgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcFwiPlxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBpbmRleCBhcyBpXCI+XG4gICAgICAgIDxkZXN5LWJ1dHRvbiAqbmdJZj1cIml0ZW0uYWN0aXZlXCIgW2lkXT1cImdldEJ1dHRvbklkKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaHRtbF09XCInPHN0cm9uZz4nICsgcHJlZml4ICsgKGkgKyAxKSArIGdldFN1ZmZpeChpLHRydWUpICsgJzwvc3Ryb25nPidcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXM9XCJjLWJ1dHRvbi0tcHJpbWFyeSBjLWJ1dHRvbi0tZGlzYWJsZWQgbWItc20gbXItc21cIlxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCIgYXJpYUN1cnJlbnQ9XCJwYWdlXCIgdGFiaW5kZXg9XCItMVwiPjwvZGVzeS1idXR0b24+XG4gICAgICAgIDxkZXN5LWJ1dHRvbiAqbmdJZj1cIiFpdGVtLmFjdGl2ZVwiIFtpZF09XCJnZXRCdXR0b25JZChpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2h0bWxdPVwicHJlZml4ICsgKGkgKyAxKSArIGdldFN1ZmZpeChpLHRydWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2tFdmVudCk9XCJjaGFuZ2VQYWdlKGkgKyAxKVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcz1cIm1iLXNtIG1yLXNtXCI+PC9kZXN5LWJ1dHRvbj5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9uYXY+XG48L25nLWNvbnRhaW5lcj5cbiAgXG48ZGl2ICpuZ0lmPVwiaGFzU2VsZWN0SXRlbXNQZXJQYWdlXCIgY2xhc3M9XCJibG9jayByZWxhdGl2ZSAtdG9wLXhzIGxnOm1sLWF1dG8gdGV4dC1zbSB0ZXh0LW5ldXRyYWwtZGFya1wiPlxuICAgIDxkZXN5LXNlbGVjdCBbY2xhc3Nlc109XCInYy1zZWxlY3QtLXNtIGMtc2VsZWN0LS10cmFuc3BhcmVudCdcIiBcbiAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cENsYXNzZXNdPVwiJ2ZsZXggZmxleC13cmFwIHBsYWNlLWl0ZW1zLWJhc2VsaW5lIGdhcC14cyAtbXQtc20gbWItMCBtci14cydcIiBcbiAgICAgICAgICAgICAgICAgW2lkXT1cIidpdGVtcy1saXN0Ym94LScgKyBnZXRJZFByZWZpeCgpXCJcbiAgICAgICAgICAgICAgICAgW25hbWVdPVwiJ2l0ZW1zLWxpc3Rib3gtJyArIGdldElkUHJlZml4KClcIlxuICAgICAgICAgICAgICAgICBbZGVzY3JpYmVkQnldPVwiaWQgKyAnLWxhYmVsJ1wiXG4gICAgICAgICAgICAgICAgIFtpdGVtc109XCJpdGVtc1BlclBhZ2VMaXN0XCJcbiAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwidmFsdWVQZXJQYWdlXCJcbiAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlSXRlbXNQZXJQYWdlKCRldmVudClcIj5cbiAgICAgIDxkZXN5LWxhYmVsIFtjbGFzc2VzXT1cImxpc3Rib3hMYWJlbCAmJiBsaXN0Ym94TGFiZWwuY2xhc3NlcyA/IGxpc3Rib3hMYWJlbC5jbGFzc2VzIDogJ2lubGluZS1ibG9jayBmbGV4IGFsaWduLW1pZGRsZSBtYi1bMF0nXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaXN0Ym94TGFiZWxcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGxpc3Rib3hMYWJlbCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxpc3Rib3hMYWJlbFwiPlxuICAgICAgICAgIEl0ZW1zIHBvciBww6FnaW5hXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kZXN5LWxhYmVsPlxuICAgPC9kZXN5LXNlbGVjdD5cbjwvZGl2PlxuXG5cbjxwIFthdHRyLmlkXT1cImlkUHJlZml4ICsgJy1zdGF0dXMnXCIgcm9sZT1cInN0YXR1c1wiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiIGNsYXNzPVwiYmxvY2sgcmVsYXRpdmUgLXRvcC14cyBsZzptbC1hdXRvIHRleHQtc20gdGV4dC1uZXV0cmFsLWRhcmtcIiAqbmdJZj1cInRvdGFsSXRlbXMgJiYgaXRlbXNQZXJQYWdlXCI+XG4gIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPlBvc2ljacOzbiBkZSBwYWdpbmFjacOzbjogPC9zcGFuPnt7KGN1cnJlbnRQYWdlIC0gMSkgKiBpdGVtc1BlclBhZ2UgKyAxfX0gLSB7e2dldExhc3RJdGVtTnVtYmVyKGN1cnJlbnRQYWdlIC0gMSl9fSBkZSB7e3RvdGFsSXRlbXN9fVxuPC9wPlxuIl19
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXBhZ2luYXRpb24vY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1wYWdpbmF0aW9uL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDL0ssT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDM0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDOUcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7Ozs7Ozs7QUFPakgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHNCQUFzQjtJQWtEN0QsWUFBb0IsY0FBaUM7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFEVSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUE3QzVDLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQzVCLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDeEIsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixZQUFPLEdBQVksSUFBSSxDQUFDO1FBQ3hCLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBQzdCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIs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QUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFeUIsZ0JBQWdCO3NCQUE5QyxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLE9BQU87Z0JBQ0ksRUFBRTtzQkFBbEMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxTQUFTO2dCQUdtQixZQUFZO3NCQUE3RCxlQUFlO3VCQUFDLCtCQUErQjtnQkFFQyxtQkFBbUI7c0JBQW5FLGVBQWU7dUJBQUMsOEJBQThCO2dCQUV0QyxXQUFXO3NCQUFuQixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFHRSxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcbmltcG9ydCB7IERlc3lDb250ZW50Q2hpbGQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcbmltcG9ydCB7IFBhZ2luYXRpb25JdGVtUGVyUGFnZUNvbXBvbmVudCB9IGZyb20gJy4uL3BhZ2luYXRpb24taXRlbS1wZXJwYWdlL3BhZ2luYXRpb24taXRlbS1wZXJwYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTGlzdGJveExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFnaW5hdGlvbi1saXN0Ym94LWxhYmVsL3BhZ2luYXRpb24tbGlzdGJveC1sYWJlbC5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgQElucHV0KCkgaGFzU2VsZWN0OiBib29sZWFuO1xuICBASW5wdXQoKSBpZFByZWZpeDogc3RyaW5nO1xuICBASW5wdXQoKSB0b3RhbEl0ZW1zOiBudW1iZXI7XG4gIEBJbnB1dCgpIGhhc1ByZXZpb3VzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgaGFzTmV4dDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGhhc0ZpcnN0OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgaGFzTGFzdDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dQcmV2aW91czogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dOZXh0OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0ZpcnN0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dMYXN0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHByZXZpb3VzVGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBuZXh0VGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBmaXJzdFRleHQ6IHN0cmluZztcbiAgQElucHV0KCkgbGFzdFRleHQ6IHN0cmluZztcbiAgQElucHV0KCkgaGFzU2VsZWN0SXRlbXNQZXJQYWdlOiBzdHJpbmcgfCBib29sZWFuO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzZXNDb250YWluZXI6IGFueTtcbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJykgaWQ6IGFueTtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oUGFnaW5hdGlvbkxpc3Rib3hMYWJlbENvbXBvbmVudCkgbGlzdGJveExhYmVsOiBQYWdpbmF0aW9uTGlzdGJveExhYmVsQ29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oUGFnaW5hdGlvbkl0ZW1QZXJQYWdlQ29tcG9uZW50KSBsaXN0Ym94SXRlbXNQZXJQYWdlOiBRdWVyeUxpc3Q8UGFnaW5hdGlvbkl0ZW1QZXJQYWdlQ29tcG9uZW50PjtcblxuICBASW5wdXQoKSBjdXJyZW50UGFnZSA9IDE7IC8vID09IGN1cnJlbnRQYWdlaW5kZXggKyAxXG4gIEBPdXRwdXQoKSBjdXJyZW50UGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG5cbiAgQElucHV0KCkgaXRlbXNQZXJQYWdlOiBudW1iZXI7XG4gIEBPdXRwdXQoKSBpdGVtc1BlclBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBuUGFnZXM6IG51bWJlcjtcbiAgaXRlbXM6IFBhZ2luYXRpb25JdGVtUGVyUGFnZUNvbXBvbmVudFtdO1xuICB2YWx1ZTogbnVtYmVyO1xuICBpdGVtc1BlclBhZ2VMaXN0OiBQYWdpbmF0aW9uSXRlbVBlclBhZ2VDb21wb25lbnRbXTtcbiAgdmFsdWVQZXJQYWdlOiBudW1iZXI7XG4gIG5QYWdlc0hpc3RvcnkgPSAwO1xuXG4gIGRlZmF1bHRUZXh0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcmVhZG9ubHkgcHJldmlvdXNJY29uID0gJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiICB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwic2VsZi1jZW50ZXIgaC0yLjUgdy0yLjUgbXItMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCI+PHBhdGggZD1cIk01NC44NyA3MS43N2EyLjUgMi41IDAgMDEwLTMuNTRMMTA2IDE3LjA3QTEwIDEwIDAgMTA5MS44OSAyLjkzTDM1LjQzIDU5LjM5YTE1IDE1IDAgMDAwIDIxLjIybDU2LjQ2IDU2LjQ2QTEwIDEwIDAgMTAxMDYgMTIyLjkzelwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiAvPjwvc3ZnPic7XG4gIHJlYWRvbmx5IG5leHRJY29uID0gJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJzZWxmLWNlbnRlciBoLTIuNSB3LTIuNSBtbC0yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIj48cGF0aCBkPVwiTTM0IDEzNy4wN2ExMCAxMCAwIDAxMC0xNC4xNGw1MS4xMy01MS4xNmEyLjUgMi41IDAgMDAwLTMuNTRMMzQgMTcuMDdBMTAgMTAgMCAwMTQ4LjExIDIuOTNsNTYuNDYgNTYuNDZhMTUgMTUgMCAwMTAgMjEuMjJsLTU2LjQ2IDU2LjQ2YTEwIDEwIDAgMDEtMTQuMTEgMHpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgLz48L3N2Zz4nO1xuICByZWFkb25seSBmaXJzdEljb24gPSAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJzZWxmLWNlbnRlciBoLTIuNSB3LTIuNSBtci0yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIj48Zz48cGF0aCBkPVwiTTEwLjQyLDEyYTIuNjQsMi42NCwwLDAsMSwuNzctMS44OEwyMC43My41OGExLjc3LDEuNzcsMCwwLDEsMi41LDIuNWwtOC43NCw4Ljc0YS4yNy4yNywwLDAsMCwwLC4zNmw4Ljc0LDguNzRhMS43NywxLjc3LDAsMCwxLTIuNSwyLjVsLTkuNTQtOS41NEEyLjY0LDIuNjQsMCwwLDEsMTAuNDIsMTJaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD48cGF0aCBkPVwiTS4yNSwxMkEyLjY1LDIuNjUsMCwwLDEsMSwxMC4xMkwxMC41Ny41OGExLjc3LDEuNzcsMCwwLDEsMi41LDIuNUw0LjMzLDExLjgyYS4yNS4yNSwwLDAsMCwwLC4zNmw4Ljc0LDguNzRhMS43NywxLjc3LDAsMCwxLTIuNSwyLjVMMSwxMy44OEEyLjY1LDIuNjUsMCwwLDEsLjI1LDEyWlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+PC9nPjwvc3ZnPic7XG4gIHJlYWRvbmx5IGxhc3RJY29uID0gJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwic2VsZi1jZW50ZXIgaC0yLjUgdy0yLjUgbWwtMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCI+PGc+PHBhdGggZD1cIk0xMy41OCwxMmEyLjY0LDIuNjQsMCwwLDEtLjc3LDEuODhMMy4yNywyMy40MmExLjc3LDEuNzcsMCwwLDEtMi41LTIuNWw4Ljc0LTguNzRhLjI3LjI3LDAsMCwwLDAtLjM2TC43NywzLjA4QTEuNzcsMS43NywwLDAsMSwzLjI3LjU4bDkuNTQsOS41NEEyLjY0LDIuNjQsMCwwLDEsMTMuNTgsMTJaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD48cGF0aCBkPVwiTTIzLjc1LDEyQTIuNjUsMi42NSwwLDAsMSwyMywxMy44OGwtOS41NCw5LjU0YTEuNzcsMS43NywwLDAsMS0yLjUtMi41bDguNzQtOC43NGEuMjUuMjUsMCwwLDAsMC0uMzZMMTAuOTMsMy4wOGExLjc3LDEuNzcsMCwwLDEsMi41LTIuNUwyMywxMC4xMkEyLjY1LDIuNjUsMCwwLDEsMjMuNzUsMTJaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD48L2c+PC9zdmc+JztcbiAgcmVhZG9ubHkgcHJlZml4ID0gJzxzcGFuIGNsYXNzPVwic3Itb25seVwiPlDDoWdpbmEmbmJzcDs8L3NwYW4+JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPT09IG51bGwgfHwgdGhpcy5jdXJyZW50UGFnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgICB9XG4gICAgdGhpcy5jaGVja0NoYW5nZXMoKTtcbiAgICB0aGlzLmNsYXNzZXNDb250YWluZXIgPSB0aGlzLmNsYXNzZXNDb250YWluZXIgPyB0aGlzLmNsYXNzZXNDb250YWluZXIgKz0gJyBsZzpmbGV4IGxnOmZsZXgtd3JhcCBsZzppdGVtcy1jZW50ZXIgbGc6Z2FwLWJhc2UnIDogJ2xnOmZsZXggbGc6ZmxleC13cmFwIGxnOml0ZW1zLWNlbnRlciBsZzpnYXAtYmFzZSdcbiAgICB0aGlzLmlkID0gdGhpcy5pZCA/IHRoaXMuaWQgOiBudWxsXG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGlzdGJveEl0ZW1zUGVyUGFnZSkge1xuICAgICAgdGhpcy5zZXR1cEl0ZW1zUGVyUGFnZSgpO1xuICAgICAgdGhpcy5saXN0Ym94SXRlbXNQZXJQYWdlLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXR1cEl0ZW1zUGVyUGFnZSgpO1xuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBjaGVja0NoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5uUGFnZXMgPSBNYXRoLmNlaWwodGhpcy50b3RhbEl0ZW1zIC8gdGhpcy5pdGVtc1BlclBhZ2UpO1xuXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRQYWdlIHx8IHRoaXMuY3VycmVudFBhZ2UgPCAxIHx8IHRoaXMuY3VycmVudFBhZ2UgPiB0aGlzLm5QYWdlcykge1xuICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XG4gICAgICB0aGlzLmN1cnJlbnRQYWdlQ2hhbmdlLmVtaXQodGhpcy5jdXJyZW50UGFnZSk7XG4gICAgfVxuICAgIGlmICghdGhpcy5maXJzdFRleHQpIHtcbiAgICAgIHRoaXMuZmlyc3RUZXh0ID0gJ1ByaW1lcmEnO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucHJldmlvdXNUZXh0KSB7XG4gICAgICB0aGlzLnByZXZpb3VzVGV4dCA9ICdBbnRlcmlvcic7XG4gICAgfVxuICAgIGlmICghdGhpcy5uZXh0VGV4dCkge1xuICAgICAgdGhpcy5uZXh0VGV4dCA9ICdTaWd1aWVudGUnO1xuICAgIH1cbiAgICBpZiAoIXRoaXMubGFzdFRleHQpIHtcbiAgICAgIHRoaXMubGFzdFRleHQgPSAnw5psdGltYSc7XG4gICAgfVxuICAgIHRoaXMuYnVpbGRQYWdlcygpO1xuICB9XG5cbiAgZ2V0U3VmZml4KHBhZ2U6IG51bWJlciwgaXNOdW1iZXIgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhZ2UgPj0gMCAmJiBwYWdlICogdGhpcy5pdGVtc1BlclBhZ2UgPCB0aGlzLnRvdGFsSXRlbXMgP1xuICAgICAgKGlzTnVtYmVyID8gYDxzcGFuIGNsYXNzPVwic3Itb25seVwiPjombmJzcDsgY29uIGxvcyByZXN1bHRhZG9zIGRlbCAke3BhZ2UgKiB0aGlzLml0ZW1zUGVyUGFnZSArIDF9IGFsICR7dGhpcy5nZXRMYXN0SXRlbU51bWJlcihwYWdlKX08L3NwYW4+YCA6IGA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj46Jm5ic3A7UMOhZ2luYSAke3BhZ2UgKyAxfSBjb24gbG9zIHJlc3VsdGFkb3MgZGVsICR7cGFnZSAqIHRoaXMuaXRlbXNQZXJQYWdlICsgMX0gYWwgJHt0aGlzLmdldExhc3RJdGVtTnVtYmVyKHBhZ2UpfTwvc3Bhbj5gKVxuICAgICAgOiAnJztcbiAgfVxuXG4gIGdldExhc3RJdGVtTnVtYmVyKHBhZ2VJbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5taW4oKHBhZ2VJbmRleCArIDEpICogdGhpcy5pdGVtc1BlclBhZ2UsIHRoaXMudG90YWxJdGVtcyk7XG4gIH1cblxuICBidWlsZFBhZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5QYWdlc0hpc3RvcnkgIT0gdGhpcy5uUGFnZXMpIHtcbiAgICAgIHRoaXMublBhZ2VzSGlzdG9yeSA9IHRoaXMublBhZ2VzXG4gICAgICBjb25zdCBpdGVtTGlzdCA9IFtdO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm5QYWdlczsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSB7XG4gICAgICAgICAgdmFsdWU6IGkgKyAxLFxuICAgICAgICAgIHRleHQ6IGkgKyAxLFxuICAgICAgICAgIHNlbGVjdGVkOiAoKGkgKyAxKSA9PT0gdGhpcy5jdXJyZW50UGFnZSlcbiAgICAgICAgfTtcbiAgICAgICAgaXRlbUxpc3QucHVzaChpdGVtKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmN1cnJlbnRQYWdlXG4gICAgICB0aGlzLml0ZW1zID0gaXRlbUxpc3Q7XG4gICAgfVxuICB9XG5cbiAgZ2V0SWRQcmVmaXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggOiAncGFnaW5hdGlvbi1pdGVtJztcbiAgfVxuXG4gIGdldEJ1dHRvbklkKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldElkUHJlZml4KCkgKyAnLScgKyArK2luZGV4O1xuICB9XG5cbiAgY2hhbmdlUGFnZShjdXJyZW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNQYWdlQ2hhbmdlID0gY3VycmVudCAhPT0gdGhpcy5jdXJyZW50UGFnZTtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gY3VycmVudDtcbiAgICBpZiAoaGFzUGFnZUNoYW5nZSkge1xuICAgICAgdGhpcy5jdXJyZW50UGFnZUNoYW5nZS5lbWl0KHRoaXMuY3VycmVudFBhZ2UpO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW1zW2ldO1xuICAgICAgaXRlbS5zZWxlY3RlZCA9ICgoaSArIDEpID09PSB0aGlzLmN1cnJlbnRQYWdlKTtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmN1cnJlbnRQYWdlXG4gICAgfVxuICB9XG5cbiAgcHJldmlvdXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPiAxKSB7XG4gICAgICB0aGlzLmNoYW5nZVBhZ2UodGhpcy5jdXJyZW50UGFnZSAtIDEpO1xuICAgIH1cbiAgfVxuXG4gIG5leHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPCB0aGlzLm5QYWdlcykge1xuICAgICAgdGhpcy5jaGFuZ2VQYWdlKHRoaXMuY3VycmVudFBhZ2UgKyAxKTtcbiAgICB9XG4gIH1cblxuICBmaXJzdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50UGFnZSA+IDEpIHtcbiAgICAgIHRoaXMuY2hhbmdlUGFnZSgxKTtcbiAgICB9XG4gIH1cblxuICBsYXN0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlIDwgdGhpcy5uUGFnZXMpIHtcbiAgICAgIHRoaXMuY2hhbmdlUGFnZSh0aGlzLm5QYWdlcyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0TGlzdGJveExhYmVsKCk6IFBhZ2luYXRpb25MaXN0Ym94TGFiZWxDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLmxpc3Rib3hMYWJlbCA/IHRoaXMubGlzdGJveExhYmVsIDogbnVsbDtcbiAgfVxuXG4gIGNoYW5nZUl0ZW1zUGVyUGFnZShldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBsZXQgbmV3VmFsdWUgPSBldmVudDtcbiAgICAgIHRoaXMuaXRlbXNQZXJQYWdlID0gbmV3VmFsdWU7XG4gICAgICB0aGlzLmNoZWNrQ2hhbmdlcygpO1xuICAgICAgdGhpcy5pdGVtc1BlclBhZ2VDaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVBY3RpdmVJdGVtQ2hhbmdlKGV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50ICE9PSBudWxsICYmIGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY2hhbmdlUGFnZShldmVudCk7XG4gICAgfVxuICB9XG5cbiAgc2V0dXBJdGVtc1BlclBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtc1BlclBhZ2VMaXN0ID0gdGhpcy5saXN0Ym94SXRlbXNQZXJQYWdlICYmIHRoaXMubGlzdGJveEl0ZW1zUGVyUGFnZS5sZW5ndGggPiAwID8gdGhpcy5saXN0Ym94SXRlbXNQZXJQYWdlLnRvQXJyYXkoKSA6IG51bGw7XG4gICAgaWYgKHRoaXMuaXRlbXNQZXJQYWdlTGlzdCkge1xuICAgICAgY29uc3QgY3VycmVudEl0ZW1zUGVyUGFnZUl0ZW0gPSB0aGlzLml0ZW1zUGVyUGFnZUxpc3QuZmluZChpID0+IGkudmFsdWUgPT09IHRoaXMuaXRlbXNQZXJQYWdlKTtcbiAgICAgIGlmIChjdXJyZW50SXRlbXNQZXJQYWdlSXRlbSkge1xuICAgICAgICBjdXJyZW50SXRlbXNQZXJQYWdlSXRlbS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgICBjb25zdCBoYXNBY3RpdmUgPSB0aGlzLml0ZW1zUGVyUGFnZUxpc3QuZmluZChpID0+IGkuc2VsZWN0ZWQpO1xuICAgICAgaWYgKCFoYXNBY3RpdmUgJiYgdGhpcy5pdGVtc1BlclBhZ2VMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5pdGVtc1BlclBhZ2VMaXN0WzBdLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1NlbGVjdFwiPlxuICA8cCBbYXR0ci5pZF09XCJpZCArICctbGFiZWwnXCIgY2xhc3M9XCJ3LWZ1bGwgbWIteHMgdGV4dC1zbSB0ZXh0LW5ldXRyYWwtZGFya1wiPlxuICAgIFNlbGVjY2lvbmEgcGFyYSBjYXJnYXIgZGF0b3MgYXV0b23DoXRpY2FtZW50ZVxuICA8L3A+XG4gIDxuYXYgW2NsYXNzXT1cIlsnZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGZsZXgtMSBtYi1iYXNlIGxnOm1iLTAgdGV4dC1zbScsIGNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cInRoaXNcIj5cbiAgICA8ZGVzeS1idXR0b24gKm5nSWY9XCJzaG93Rmlyc3RcIiAoY2xpY2tFdmVudCk9XCJmaXJzdCgpXCIgW2lkXT1cImdldElkUHJlZml4KCkgKyAnLWZpcnN0J1wiXG4gICAgICAgICAgICAgICAgICBbaHRtbF09XCJmaXJzdEljb24gKyBwcmVmaXggKyBmaXJzdFRleHQgKyBnZXRTdWZmaXgoY3VycmVudFBhZ2UgLSAyKVwiIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZSA9PT0gMSB8fCAhaGFzRmlyc3RcIlxuICAgICAgICAgICAgICAgICAgY2xhc3Nlcz1cImMtYnV0dG9uLS1zbSBjLWJ1dHRvbi0tdHJhbnNwYXJlbnQgbXIteHNcIj48L2Rlc3ktYnV0dG9uPlxuICAgIDxkZXN5LWJ1dHRvbiAqbmdJZj1cInNob3dQcmV2aW91c1wiIChjbGlja0V2ZW50KT1cInByZXZpb3VzKClcIiBbaWRdPVwiZ2V0SWRQcmVmaXgoKSArICctcHJldmlvdXMnXCJcbiAgICAgICAgICAgICAgICAgIFtodG1sXT1cInByZXZpb3VzSWNvbiArIHByZWZpeCArIHByZXZpb3VzVGV4dCArIGdldFN1ZmZpeChjdXJyZW50UGFnZSAtIDIpXCIgW2Rpc2FibGVkXT1cImN1cnJlbnRQYWdlID09PSAxIHx8ICFoYXNQcmV2aW91c1wiXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPVwiYy1idXR0b24tLXNtIGMtYnV0dG9uLS10cmFuc3BhcmVudCBtci14c1wiPjwvZGVzeS1idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBwbC1zbVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyd3LWZ1bGwgbGc6dy1hdXRvJzogc2hvd0ZpcnN0IHx8IHNob3dMYXN0fVwiPlxuICAgICAgPHAgKm5nSWY9XCJzaG93Rmlyc3QgfHwgc2hvd0xhc3RcIiBjbGFzcz1cImxnOmhpZGRlbiBtci14cyB0ZXh0LXNtIHRleHQtbmV1dHJhbC1kYXJrXCI+UMOhZ2luYSBhY3R1YWw6PC9wPlxuICAgICAgICAgIDxkZXN5LXNlbGVjdCBbY2xhc3Nlc109XCInYy1zZWxlY3QtLXNtIGMtc2VsZWN0LS10cmFuc3BhcmVudCdcIiBcbiAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cENsYXNzZXNdPVwiJy1tdC1zbSBtYi0wIG1yLXhzJ1wiIFxuICAgICAgICAgICAgICAgICBbaWRdPVwiaWQgKyAnLWl0ZW1zLWxpc3Rib3gtJ1wiXG4gICAgICAgICAgICAgICAgIFtuYW1lXT1cImlkICsgJ2l0ZW1zLWxpc3Rib3gtJ1wiXG4gICAgICAgICAgICAgICAgIFtkZXNjcmliZWRCeV09XCJpZCArICctbGFiZWwnXCJcbiAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJoYW5kbGVBY3RpdmVJdGVtQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgICA8ZGVzeS1sYWJlbCBbY2xhc3Nlc109XCInc3Itb25seSdcIj5cbiAgICAgICAgICAgICAgICBTZWxlY2Npb25hIHVuYSBww6FnaW5hXG4gICAgICAgICAgICAgPC9kZXN5LWxhYmVsPlxuICAgICAgICAgIDwvZGVzeS1zZWxlY3Q+XG4gICAgPC9kaXY+XG4gICAgPGRlc3ktYnV0dG9uICpuZ0lmPVwic2hvd05leHRcIiAoY2xpY2tFdmVudCk9XCJuZXh0KClcIiBbaWRdPVwiZ2V0SWRQcmVmaXgoKSArICctbmV4dCdcIlxuICAgICAgICAgICAgICAgICAgW2h0bWxdPVwicHJlZml4ICsgbmV4dFRleHQgKyBnZXRTdWZmaXgoY3VycmVudFBhZ2UpICsgbmV4dEljb25cIiBbZGlzYWJsZWRdPVwiY3VycmVudFBhZ2UgPT09IG5QYWdlcyB8fCAhaGFzTmV4dFwiXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPVwiYy1idXR0b24tLXNtIGMtYnV0dG9uLS10cmFuc3BhcmVudCBtci14c1wiPjwvZGVzeS1idXR0b24+XG4gICAgPGRlc3ktYnV0dG9uICpuZ0lmPVwic2hvd0xhc3RcIiAoY2xpY2tFdmVudCk9XCJsYXN0KClcIiBbaWRdPVwiZ2V0SWRQcmVmaXgoKSArICctbGFzdCdcIlxuICAgICAgICAgICAgICAgICAgW2h0bWxdPVwicHJlZml4ICsgbGFzdFRleHQgKyBnZXRTdWZmaXgoY3VycmVudFBhZ2UpICsgbGFzdEljb25cIiBbZGlzYWJsZWRdPVwiY3VycmVudFBhZ2UgPT09IG5QYWdlcyB8fCAhaGFzTGFzdFwiXG4gICAgICAgICAgICAgICAgICBjbGFzc2VzPVwiYy1idXR0b24tLXNtIGMtYnV0dG9uLS10cmFuc3BhcmVudCBtci14c1wiPjwvZGVzeS1idXR0b24+XG4gIDwvbmF2PlxuPC9uZy1jb250YWluZXI+XG48bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc1NlbGVjdFwiPlxuICA8bmF2IFtjbGFzc109XCJbJ2ZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBmbGV4LTEgbWItYmFzZSBsZzptYi0wIHRleHQtc20nLCBjbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJ0aGlzXCI+XG4gICAgPHVsIGNsYXNzPVwiZmxleCBmbGV4LXdyYXBcIj5cbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgaW5kZXggYXMgaVwiPlxuICAgICAgICA8ZGVzeS1idXR0b24gKm5nSWY9XCJpdGVtLnNlbGVjdGVkXCIgW2lkXT1cImdldEJ1dHRvbklkKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaHRtbF09XCInPHN0cm9uZz4nICsgcHJlZml4ICsgKGkgKyAxKSArIGdldFN1ZmZpeChpLHRydWUpICsgJzwvc3Ryb25nPidcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXM9XCJjLWJ1dHRvbi0tcHJpbWFyeSBjLWJ1dHRvbi0tZGlzYWJsZWQgbWItc20gbXItc21cIlxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCIgYXJpYUN1cnJlbnQ9XCJwYWdlXCIgdGFiaW5kZXg9XCItMVwiPjwvZGVzeS1idXR0b24+XG4gICAgICAgIDxkZXN5LWJ1dHRvbiAqbmdJZj1cIiFpdGVtLnNlbGVjdGVkXCIgW2lkXT1cImdldEJ1dHRvbklkKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaHRtbF09XCJwcmVmaXggKyAoaSArIDEpICsgZ2V0U3VmZml4KGksdHJ1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGlja0V2ZW50KT1cImNoYW5nZVBhZ2UoaSArIDEpXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzPVwibWItc20gbXItc21cIj48L2Rlc3ktYnV0dG9uPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L25hdj5cbjwvbmctY29udGFpbmVyPlxuICBcbjxkaXYgKm5nSWY9XCJoYXNTZWxlY3RJdGVtc1BlclBhZ2VcIiBjbGFzcz1cImJsb2NrIHJlbGF0aXZlIC10b3AteHMgbGc6bWwtYXV0byB0ZXh0LXNtIHRleHQtbmV1dHJhbC1kYXJrXCI+XG4gICAgPGRlc3ktc2VsZWN0IFtjbGFzc2VzXT1cIidjLXNlbGVjdC0tc20gYy1zZWxlY3QtLXRyYW5zcGFyZW50J1wiIFxuICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwQ2xhc3Nlc109XCInZmxleCBmbGV4LXdyYXAgcGxhY2UtaXRlbXMtYmFzZWxpbmUgZ2FwLXhzIC1tdC1zbSBtYi0wIG1yLXhzJ1wiIFxuICAgICAgICAgICAgICAgICBbaWRdPVwiJ2l0ZW1zLWxpc3Rib3gtJyArIGdldElkUHJlZml4KClcIlxuICAgICAgICAgICAgICAgICBbbmFtZV09XCInaXRlbXMtbGlzdGJveC0nICsgZ2V0SWRQcmVmaXgoKVwiXG4gICAgICAgICAgICAgICAgIFtkZXNjcmliZWRCeV09XCJpZCArICctbGFiZWwnXCJcbiAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIml0ZW1zUGVyUGFnZUxpc3RcIlxuICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVBlclBhZ2VcIlxuICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VJdGVtc1BlclBhZ2UoJGV2ZW50KVwiPlxuICAgICAgPGRlc3ktbGFiZWwgW2NsYXNzZXNdPVwibGlzdGJveExhYmVsICYmIGxpc3Rib3hMYWJlbC5jbGFzc2VzID8gbGlzdGJveExhYmVsLmNsYXNzZXMgOiAnaW5saW5lLWJsb2NrIGZsZXggYWxpZ24tbWlkZGxlIG1iLVswXSdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxpc3Rib3hMYWJlbFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogbGlzdGJveExhYmVsIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbGlzdGJveExhYmVsXCI+XG4gICAgICAgICAgSXRlbXMgcG9yIHDDoWdpbmFcbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rlc3ktbGFiZWw+XG4gICA8L2Rlc3ktc2VsZWN0PlxuPC9kaXY+XG5cblxuPHAgW2F0dHIuaWRdPVwiaWRQcmVmaXggKyAnLXN0YXR1cydcIiByb2xlPVwic3RhdHVzXCIgYXJpYS1saXZlPVwicG9saXRlXCIgY2xhc3M9XCJibG9jayByZWxhdGl2ZSAtdG9wLXhzIGxnOm1sLWF1dG8gdGV4dC1zbSB0ZXh0LW5ldXRyYWwtZGFya1wiICpuZ0lmPVwidG90YWxJdGVtcyAmJiBpdGVtc1BlclBhZ2VcIj5cbiAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+UG9zaWNpw7NuIGRlIHBhZ2luYWNpw7NuOiA8L3NwYW4+e3soY3VycmVudFBhZ2UgLSAxKSAqIGl0ZW1zUGVyUGFnZSArIDF9fSAtIHt7Z2V0TGFzdEl0ZW1OdW1iZXIoY3VycmVudFBhZ2UgLSAxKX19IGRlIHt7dG90YWxJdGVtc319XG48L3A+XG4iXX0=
@@ -2,10 +2,10 @@ import { Component, Input } from '@angular/core';
2
2
  import { ContentBaseComponent } from './../../../shared/components/content-base/content-base.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class PaginationItemPerPageComponent extends ContentBaseComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationItemPerPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PaginationItemPerPageComponent, selector: "desy-pagination-item-perpage", inputs: { classes: "classes", value: "value" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PaginationItemPerPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: PaginationItemPerPageComponent, selector: "desy-pagination-item-perpage", inputs: { classes: "classes", value: "value" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationItemPerPageComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PaginationItemPerPageComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{
11
11
  selector: 'desy-pagination-item-perpage',
@@ -2,10 +2,10 @@ import { ContentBaseComponent } from './../../../shared/components/content-base/
2
2
  import { Component, Input } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  export class PaginationListboxLabelComponent extends ContentBaseComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationListboxLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PaginationListboxLabelComponent, selector: "desy-pagination-listbox-label", inputs: { classes: "classes" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PaginationListboxLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: PaginationListboxLabelComponent, selector: "desy-pagination-listbox-label", inputs: { classes: "classes" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PaginationListboxLabelComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PaginationListboxLabelComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{
11
11
  selector: 'desy-pagination-listbox-label',
@@ -10,8 +10,8 @@ import { DesyFormsModule } from '../desy-forms/desy-forms.module';
10
10
  import { PaginationComponent } from './components/pagination/pagination.component';
11
11
  import * as i0 from "@angular/core";
12
12
  export class DesyPaginationModule {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DesyPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DesyPaginationModule, declarations: [PaginationComponent,
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DesyPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: DesyPaginationModule, declarations: [PaginationComponent,
15
15
  PaginationListboxLabelComponent,
16
16
  PaginationItemPerPageComponent], imports: [CommonModule,
17
17
  SharedModule,
@@ -21,14 +21,14 @@ export class DesyPaginationModule {
21
21
  FormsModule], exports: [PaginationComponent,
22
22
  PaginationListboxLabelComponent,
23
23
  PaginationItemPerPageComponent] }); }
24
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DesyPaginationModule, imports: [CommonModule,
24
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DesyPaginationModule, imports: [CommonModule,
25
25
  SharedModule,
26
26
  DesyNavModule,
27
27
  DesyButtonsModule,
28
28
  DesyFormsModule,
29
29
  FormsModule] }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DesyPaginationModule, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DesyPaginationModule, decorators: [{
32
32
  type: NgModule,
33
33
  args: [{
34
34
  declarations: [
@@ -2,10 +2,10 @@ import { Component, Input } from '@angular/core';
2
2
  import { ContentBaseComponent } from '../../../../shared/components';
3
3
  import * as i0 from "@angular/core";
4
4
  export class TableCaptionComponent extends ContentBaseComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableCaptionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableCaptionComponent, selector: "desy-table-caption", inputs: { classes: "classes" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableCaptionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: TableCaptionComponent, selector: "desy-table-caption", inputs: { classes: "classes" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableCaptionComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableCaptionComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{
11
11
  selector: 'desy-table-caption',
@@ -2,10 +2,10 @@ import { Component, Input } from '@angular/core';
2
2
  import { ContentBaseComponent } from '../../../../shared/components';
3
3
  import * as i0 from "@angular/core";
4
4
  export class TableCellComponent extends ContentBaseComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableCellComponent, selector: "desy-table-cell", inputs: { classes: "classes", id: "id", colspan: "colspan", rowspan: "rowspan" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: TableCellComponent, selector: "desy-table-cell", inputs: { classes: "classes", id: "id", colspan: "colspan", rowspan: "rowspan" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableCellComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableCellComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{
11
11
  selector: 'desy-table-cell',
@@ -2,10 +2,10 @@ import { Component, ContentChildren, QueryList } from '@angular/core';
2
2
  import { TableCellComponent } from './table-cell.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class TableFooterComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableFooterComponent, selector: "desy-table-footer", queries: [{ propertyName: "cells", predicate: TableCellComponent }], ngImport: i0, template: '', isInline: true }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: TableFooterComponent, selector: "desy-table-footer", queries: [{ propertyName: "cells", predicate: TableCellComponent }], ngImport: i0, template: '', isInline: true }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableFooterComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableFooterComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{
11
11
  selector: 'desy-table-footer',
@@ -2,10 +2,10 @@ import { Component, ContentChildren, QueryList } from '@angular/core';
2
2
  import { TableCellComponent } from './table-cell.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class TableHeaderComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableHeaderComponent, selector: "desy-table-header", queries: [{ propertyName: "cells", predicate: TableCellComponent }], ngImport: i0, template: '', isInline: true }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: TableHeaderComponent, selector: "desy-table-header", queries: [{ propertyName: "cells", predicate: TableCellComponent }], ngImport: i0, template: '', isInline: true }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableHeaderComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableHeaderComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{
11
11
  selector: 'desy-table-header',
@@ -2,10 +2,10 @@ import { Component, ContentChildren, QueryList } from '@angular/core';
2
2
  import { TableCellComponent } from './table-cell.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class TableRowComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableRowComponent, selector: "desy-table-row", queries: [{ propertyName: "cells", predicate: TableCellComponent }], ngImport: i0, template: '', isInline: true }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: TableRowComponent, selector: "desy-table-row", queries: [{ propertyName: "cells", predicate: TableCellComponent }], ngImport: i0, template: '', isInline: true }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableRowComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableRowComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{
11
11
  selector: 'desy-table-row',
@@ -68,8 +68,8 @@ export class TableComponent extends AccessibilityComponent {
68
68
  textIndex += colspan;
69
69
  });
70
70
  }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableComponent, selector: "desy-table", inputs: { rows: "rows", head: "head", foot: "foot", caption: "caption", captionClasses: "captionClasses", firstCellIsHeader: "firstCellIsHeader", classes: "classes", id: "id", wrapper: "wrapper" }, queries: [{ propertyName: "captionComponent", predicate: TableCaptionComponent }, { propertyName: "headerComponent", predicate: TableHeaderComponent }, { propertyName: "footerComponent", predicate: TableFooterComponent }, { propertyName: "rowComponentList", predicate: TableRowComponent }], usesInheritance: true, ngImport: i0, template: "<ng-template #tableContent>\n <table [class]=\"['c-table', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <caption *ngIf=\"caption || captionComponent\" [class]=\"getCaptionClass()\">\n <ng-container *desyCustomInnerContent=\"{ component: captionComponent, text: caption ? caption : null }\"></ng-container>\n </caption>\n <thead *ngIf=\"head || headerComponent\" class=\"sr-only lg:not-sr-only\">\n <tr class=\"border-t border-b border-neutral-base\">\n <ng-container *ngFor=\"let headerCell of getHeaderCells()\">\n <th scope=\"col\"\n [class]=\"['align-top px-base py-sm text-left font-normal text-sm text-neutral-dark', headerCell.classes] | makeHtmlList\"\n [attr.colspan]=\"(headerCell.colspan ? headerCell.colspan : null)\"\n [attr.rowspan]=\"(headerCell.rowspan ? headerCell.rowspan : null)\"\n [attr.id]=\"headerCell.id ? headerCell.id : null\"\n [desyAppAccessibility]=\"headerCell\">\n <ng-container *desyCustomInnerContent=\"{ component: headerCell, html: headerCell.html, text: headerCell.text, parentComponent: this }\"></ng-container>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of getRows(); index as rowIndex\" class=\"block lg:table-row -mb-px lg:mb-0 text-left border-t border-b border-neutral-base\">\n <ng-container *ngFor=\"let cell of getRowCells(row); first as isFirst; index as cellIndex\">\n <th *ngIf=\"firstCellIsHeader && isFirst; else elseTd\" scope=\"row\"\n [class]=\"['block lg:table-cell before:block before:text-neutral-dark before:lg:hidden before:content-[attr(data-label)] before:text-sm align-top px-base py-sm text-left font-normal text-sm text-neutral-dark', cell.classes] | makeHtmlList\"\n [attr.colspan]=\"cell.colspan ? cell.colspan : null\"\n [attr.rowspan]=\"cell.rowspan ? cell.rowspan : null\"\n [attr.id]=\"cell.id ? cell.id : null\"\n [attr.data-label]=\"cell.header\"\n [desyAppAccessibility]=\"cell\">\n <ng-container *desyCustomInnerContent=\"{ component: cell, html: cell.html, text: cell.text }\"></ng-container>\n </th>\n <ng-template #elseTd>\n <td [class]=\"['block lg:table-cell text-left before:block before:text-neutral-dark before:lg:hidden before:content-[attr(data-label)] before:text-sm px-base py-sm', cell.classes] | makeHtmlList\"\n [attr.colspan]=\"cell.colspan ? cell.colspan : null\"\n [attr.rowspan]=\"cell.rowspan ? cell.rowspan : null\"\n [attr.id]=\"cell.id ? cell.id : null\"\n [attr.data-label]=\"cell.header\"\n [desyAppAccessibility]=\"cell\">\n <ng-container *desyCustomInnerContent=\"{ component: cell, html: cell.html, text: cell.text }\"></ng-container>\n </td>\n </ng-template>\n </ng-container>\n </tr>\n </tbody>\n <tfoot *ngIf=\"foot || footerComponent\">\n <tr class=\"border-t-2 border-b border-neutral-base\">\n <ng-container *ngFor=\"let footCell of getFooterCells()\">\n <td scope=\"col\"\n [class]=\"['block lg:table-cell text-left before:block before:text-neutral-dark before:lg:hidden before:content-[attr(data-label)] before:text-sm px-base py-sm', footCell.classes] | makeHtmlList\"\n [attr.colspan]=\"(footCell.colspan ? footCell.colspan : null)\"\n [attr.rowspan]=\"(footCell.rowspan ? footCell.rowspan : null)\"\n [attr.id]=\"footCell.id ? footCell.id : null\"\n [attr.data-label]=\"footCell.header\"\n [desyAppAccessibility]=\"footCell\">\n <ng-container *desyCustomInnerContent=\"{ component: footCell, html: footCell.html, text: footCell.text }\"></ng-container>\n </td>\n </ng-container>\n </tr>\n </tfoot>\n </table>\n</ng-template>\n\n<div *ngIf=\"wrapper; else tableContent\" [class]=\"wrapper.classes\">\n <ng-container *ngTemplateOutlet=\"tableContent\"></ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "directive", type: i3.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }, { kind: "pipe", type: i4.MakeHtmlListPipe, name: "makeHtmlList" }] }); }
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: TableComponent, selector: "desy-table", inputs: { rows: "rows", head: "head", foot: "foot", caption: "caption", captionClasses: "captionClasses", firstCellIsHeader: "firstCellIsHeader", classes: "classes", id: "id", wrapper: "wrapper" }, queries: [{ propertyName: "captionComponent", predicate: TableCaptionComponent }, { propertyName: "headerComponent", predicate: TableHeaderComponent }, { propertyName: "footerComponent", predicate: TableFooterComponent }, { propertyName: "rowComponentList", predicate: TableRowComponent }], usesInheritance: true, ngImport: i0, template: "<ng-template #tableContent>\n <table [class]=\"['c-table', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <caption *ngIf=\"caption || captionComponent\" [class]=\"getCaptionClass()\">\n <ng-container *desyCustomInnerContent=\"{ component: captionComponent, text: caption ? caption : null }\"></ng-container>\n </caption>\n <thead *ngIf=\"head || headerComponent\" class=\"sr-only lg:not-sr-only\">\n <tr class=\"border-t border-b border-neutral-base\">\n <ng-container *ngFor=\"let headerCell of getHeaderCells()\">\n <th scope=\"col\"\n [class]=\"['align-top px-base py-sm text-left font-normal text-sm text-neutral-dark', headerCell.classes] | makeHtmlList\"\n [attr.colspan]=\"(headerCell.colspan ? headerCell.colspan : null)\"\n [attr.rowspan]=\"(headerCell.rowspan ? headerCell.rowspan : null)\"\n [attr.id]=\"headerCell.id ? headerCell.id : null\"\n [desyAppAccessibility]=\"headerCell\">\n <ng-container *desyCustomInnerContent=\"{ component: headerCell, html: headerCell.html, text: headerCell.text, parentComponent: this }\"></ng-container>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of getRows(); index as rowIndex\" class=\"block lg:table-row -mb-px lg:mb-0 text-left border-t border-b border-neutral-base\">\n <ng-container *ngFor=\"let cell of getRowCells(row); first as isFirst; index as cellIndex\">\n <th *ngIf=\"firstCellIsHeader && isFirst; else elseTd\" scope=\"row\"\n [class]=\"['block lg:table-cell before:block before:text-neutral-dark before:lg:hidden before:content-[attr(data-label)] before:text-sm align-top px-base py-sm text-left font-normal text-sm text-neutral-dark', cell.classes] | makeHtmlList\"\n [attr.colspan]=\"cell.colspan ? cell.colspan : null\"\n [attr.rowspan]=\"cell.rowspan ? cell.rowspan : null\"\n [attr.id]=\"cell.id ? cell.id : null\"\n [attr.data-label]=\"cell.header\"\n [desyAppAccessibility]=\"cell\">\n <ng-container *desyCustomInnerContent=\"{ component: cell, html: cell.html, text: cell.text }\"></ng-container>\n </th>\n <ng-template #elseTd>\n <td [class]=\"['block lg:table-cell text-left before:block before:text-neutral-dark before:lg:hidden before:content-[attr(data-label)] before:text-sm px-base py-sm', cell.classes] | makeHtmlList\"\n [attr.colspan]=\"cell.colspan ? cell.colspan : null\"\n [attr.rowspan]=\"cell.rowspan ? cell.rowspan : null\"\n [attr.id]=\"cell.id ? cell.id : null\"\n [attr.data-label]=\"cell.header\"\n [desyAppAccessibility]=\"cell\">\n <ng-container *desyCustomInnerContent=\"{ component: cell, html: cell.html, text: cell.text }\"></ng-container>\n </td>\n </ng-template>\n </ng-container>\n </tr>\n </tbody>\n <tfoot *ngIf=\"foot || footerComponent\">\n <tr class=\"border-t-2 border-b border-neutral-base\">\n <ng-container *ngFor=\"let footCell of getFooterCells()\">\n <td scope=\"col\"\n [class]=\"['block lg:table-cell text-left before:block before:text-neutral-dark before:lg:hidden before:content-[attr(data-label)] before:text-sm px-base py-sm', footCell.classes] | makeHtmlList\"\n [attr.colspan]=\"(footCell.colspan ? footCell.colspan : null)\"\n [attr.rowspan]=\"(footCell.rowspan ? footCell.rowspan : null)\"\n [attr.id]=\"footCell.id ? footCell.id : null\"\n [attr.data-label]=\"footCell.header\"\n [desyAppAccessibility]=\"footCell\">\n <ng-container *desyCustomInnerContent=\"{ component: footCell, html: footCell.html, text: footCell.text }\"></ng-container>\n </td>\n </ng-container>\n </tr>\n </tfoot>\n </table>\n</ng-template>\n\n<div *ngIf=\"wrapper; else tableContent\" [class]=\"wrapper.classes\">\n <ng-container *ngTemplateOutlet=\"tableContent\"></ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "directive", type: i3.AccessibilityDirective, selector: "[desyAppAccessibility]", inputs: ["desyAppAccessibility"] }, { kind: "pipe", type: i4.MakeHtmlListPipe, name: "makeHtmlList" }] }); }
73
73
  }
74
74
  __decorate([
75
75
  DesyContentChild(),
@@ -83,7 +83,7 @@ __decorate([
83
83
  DesyContentChild(),
84
84
  __metadata("design:type", TableFooterComponent)
85
85
  ], TableComponent.prototype, "footerComponent", void 0);
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableComponent, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableComponent, decorators: [{
87
87
  type: Component,
88
88
  args: [{ selector: 'desy-table', template: "<ng-template #tableContent>\n <table [class]=\"['c-table', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [desyAppAccessibility]=\"this\">\n <caption *ngIf=\"caption || captionComponent\" [class]=\"getCaptionClass()\">\n <ng-container *desyCustomInnerContent=\"{ component: captionComponent, text: caption ? caption : null }\"></ng-container>\n </caption>\n <thead *ngIf=\"head || headerComponent\" class=\"sr-only lg:not-sr-only\">\n <tr class=\"border-t border-b border-neutral-base\">\n <ng-container *ngFor=\"let headerCell of getHeaderCells()\">\n <th scope=\"col\"\n [class]=\"['align-top px-base py-sm text-left font-normal text-sm text-neutral-dark', headerCell.classes] | makeHtmlList\"\n [attr.colspan]=\"(headerCell.colspan ? headerCell.colspan : null)\"\n [attr.rowspan]=\"(headerCell.rowspan ? headerCell.rowspan : null)\"\n [attr.id]=\"headerCell.id ? headerCell.id : null\"\n [desyAppAccessibility]=\"headerCell\">\n <ng-container *desyCustomInnerContent=\"{ component: headerCell, html: headerCell.html, text: headerCell.text, parentComponent: this }\"></ng-container>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of getRows(); index as rowIndex\" class=\"block lg:table-row -mb-px lg:mb-0 text-left border-t border-b border-neutral-base\">\n <ng-container *ngFor=\"let cell of getRowCells(row); first as isFirst; index as cellIndex\">\n <th *ngIf=\"firstCellIsHeader && isFirst; else elseTd\" scope=\"row\"\n [class]=\"['block lg:table-cell before:block before:text-neutral-dark before:lg:hidden before:content-[attr(data-label)] before:text-sm align-top px-base py-sm text-left font-normal text-sm text-neutral-dark', cell.classes] | makeHtmlList\"\n [attr.colspan]=\"cell.colspan ? cell.colspan : null\"\n [attr.rowspan]=\"cell.rowspan ? cell.rowspan : null\"\n [attr.id]=\"cell.id ? cell.id : null\"\n [attr.data-label]=\"cell.header\"\n [desyAppAccessibility]=\"cell\">\n <ng-container *desyCustomInnerContent=\"{ component: cell, html: cell.html, text: cell.text }\"></ng-container>\n </th>\n <ng-template #elseTd>\n <td [class]=\"['block lg:table-cell text-left before:block before:text-neutral-dark before:lg:hidden before:content-[attr(data-label)] before:text-sm px-base py-sm', cell.classes] | makeHtmlList\"\n [attr.colspan]=\"cell.colspan ? cell.colspan : null\"\n [attr.rowspan]=\"cell.rowspan ? cell.rowspan : null\"\n [attr.id]=\"cell.id ? cell.id : null\"\n [attr.data-label]=\"cell.header\"\n [desyAppAccessibility]=\"cell\">\n <ng-container *desyCustomInnerContent=\"{ component: cell, html: cell.html, text: cell.text }\"></ng-container>\n </td>\n </ng-template>\n </ng-container>\n </tr>\n </tbody>\n <tfoot *ngIf=\"foot || footerComponent\">\n <tr class=\"border-t-2 border-b border-neutral-base\">\n <ng-container *ngFor=\"let footCell of getFooterCells()\">\n <td scope=\"col\"\n [class]=\"['block lg:table-cell text-left before:block before:text-neutral-dark before:lg:hidden before:content-[attr(data-label)] before:text-sm px-base py-sm', footCell.classes] | makeHtmlList\"\n [attr.colspan]=\"(footCell.colspan ? footCell.colspan : null)\"\n [attr.rowspan]=\"(footCell.rowspan ? footCell.rowspan : null)\"\n [attr.id]=\"footCell.id ? footCell.id : null\"\n [attr.data-label]=\"footCell.header\"\n [desyAppAccessibility]=\"footCell\">\n <ng-container *desyCustomInnerContent=\"{ component: footCell, html: footCell.html, text: footCell.text }\"></ng-container>\n </td>\n </ng-container>\n </tr>\n </tfoot>\n </table>\n</ng-template>\n\n<div *ngIf=\"wrapper; else tableContent\" [class]=\"wrapper.classes\">\n <ng-container *ngTemplateOutlet=\"tableContent\"></ng-container>\n</div>\n" }]
89
89
  }], propDecorators: { rows: [{
@@ -117,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
117
117
  type: ContentChildren,
118
118
  args: [TableRowComponent]
119
119
  }] } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS10YWJsZXMvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXRhYmxlcy9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRTNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7QUFPckUsTUFBTSxPQUFPLGNBQWUsU0FBUSxzQkFBc0I7SUFKMUQ7O1FBMkJFLG1CQUFjLEdBQWEsRUFBRSxDQUFDO0tBMEQvQjtJQXhEQyxzQkFBc0IsQ0FBQyxhQUFxQjtRQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJ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QUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUdrQyxnQkFBZ0I7c0JBQXZELGVBQWU7dUJBQUMscUJBQXFCO2dCQUdDLGVBQWU7c0JBQXJELGVBQWU7dUJBQUMsb0JBQW9CO2dCQUdFLGVBQWU7c0JBQXJELGVBQWU7dUJBQUMsb0JBQW9CO2dCQUVELGdCQUFnQjtzQkFBbkQsZUFBZTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSW5wdXQsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcbmltcG9ydCB7IERlc3lDb250ZW50Q2hpbGQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcbmltcG9ydCB7IENlbGxEYXRhLCBXcmFwcGVyRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVGFibGVDYXB0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWNhcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1mb290ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVSb3dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtcm93LmNvbXBvbmVudCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IHtcblxuICBASW5wdXQoKSByb3dzOiBBcnJheTxDZWxsRGF0YVtdPjtcbiAgQElucHV0KCkgaGVhZDogQ2VsbERhdGFbXTtcbiAgQElucHV0KCkgZm9vdDogQ2VsbERhdGFbXTtcbiAgQElucHV0KCkgY2FwdGlvbjogc3RyaW5nO1xuICBASW5wdXQoKSBjYXB0aW9uQ2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBmaXJzdENlbGxJc0hlYWRlcjogYm9vbGVhbjtcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSB3cmFwcGVyOiBXcmFwcGVyRGF0YTtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oVGFibGVDYXB0aW9uQ29tcG9uZW50KSBjYXB0aW9uQ29tcG9uZW50OiBUYWJsZUNhcHRpb25Db21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKFRhYmxlSGVhZGVyQ29tcG9uZW50KSBoZWFkZXJDb21wb25lbnQ6IFRhYmxlSGVhZGVyQ29tcG9uZW50O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihUYWJsZUZvb3RlckNvbXBvbmVudCkgZm9vdGVyQ29tcG9uZW50OiBUYWJsZUZvb3RlckNvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkcmVuKFRhYmxlUm93Q29tcG9uZW50KSByb3dDb21wb25lbnRMaXN0OiBRdWVyeUxpc3Q8VGFibGVSb3dDb21wb25lbnQ+O1xuXG4gIGV4dHJhY3RlZFRleHRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGhhbmRsZUNvbnRlbnRFeHRyYWN0ZWQoZXh0cmFjdGVkVGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5leHRyYWN0ZWRUZXh0cy5wdXNoKGV4dHJhY3RlZFRleHQpO1xuICB9XG5cbiAgZ2V0Q2FwdGlvbkNsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2FwdGlvbkNvbXBvbmVudCA/IHRoaXMuY2FwdGlvbkNvbXBvbmVudC5jbGFzc2VzIDogdGhpcy5jYXB0aW9uQ2xhc3NlcztcbiAgfVxuXG4gIGdldEhlYWRlckNlbGxzKCk6IFRhYmxlQ2VsbENvbXBvbmVudFtdIHwgQ2VsbERhdGFbXSB7XG4gICAgbGV0IGhlYWRlckNlbGxzID0gW107XG4gICAgaWYgKHRoaXMuaGVhZGVyQ29tcG9uZW50ICYmIHRoaXMuaGVhZGVyQ29tcG9uZW50LmNlbGxzKSB7XG4gICAgICBoZWFkZXJDZWxscyA9IHRoaXMuaGVhZGVyQ29tcG9uZW50LmNlbGxzLnRvQXJyYXkoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGVhZCkge1xuICAgICAgaGVhZGVyQ2VsbHMgPSB0aGlzLmhlYWQ7XG4gICAgfVxuICAgIHJldHVybiBoZWFkZXJDZWxscztcbiAgfVxuXG4gIGdldEZvb3RlckNlbGxzKCk6IFRhYmxlQ2VsbENvbXBvbmVudFtdIHwgQ2VsbERhdGFbXSB7XG4gICAgbGV0IGZvb3RDZWxscyA9IFtdO1xuICAgIGlmICh0aGlzLmZvb3RlckNvbXBvbmVudCAmJiB0aGlzLmZvb3RlckNvbXBvbmVudC5jZWxscykge1xuICAgICAgZm9vdENlbGxzID0gdGhpcy5mb290ZXJDb21wb25lbnQuY2VsbHMudG9BcnJheSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5mb290KSB7XG4gICAgICBmb290Q2VsbHMgPSB0aGlzLmZvb3Q7XG4gICAgfVxuICAgIHRoaXMuYXNzaWduRXh0cmFjdGVkVGV4dHNUb0NlbGxzKGZvb3RDZWxscyk7XG4gICAgcmV0dXJuIGZvb3RDZWxscztcbiAgfVxuXG4gIGdldFJvd3MoKSB7XG4gICAgbGV0IHJvd0xpc3QgPSBbXTtcbiAgICBpZiAodGhpcy5yb3dDb21wb25lbnRMaXN0ICYmIHRoaXMucm93Q29tcG9uZW50TGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICByb3dMaXN0ID0gdGhpcy5yb3dDb21wb25lbnRMaXN0LnRvQXJyYXkoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucm93cykge1xuICAgICAgcm93TGlzdCA9IHRoaXMucm93cztcbiAgICB9XG4gICAgcmV0dXJuIHJvd0xpc3Q7XG4gICAgLy90aGlzLnJvd0NvbXBvbmVudExpc3QgJiYgdGhpcy5yb3dDb21wb25lbnRMaXN0Lmxlbmd0aCA+IDAgPyB0aGlzLnJvd0NvbXBvbmVudExpc3QudG9BcnJheSgpIDogdGhpcy5yb3dzO1xuICB9XG5cbiAgZ2V0Um93Q2VsbHMocm93OiBUYWJsZVJvd0NvbXBvbmVudCB8IENlbGxEYXRhW10pOiBUYWJsZUNlbGxDb21wb25lbnRbXSB8IENlbGxEYXRhW10ge1xuICAgIGNvbnN0IGNlbGxzID0gcm93IGluc3RhbmNlb2YgVGFibGVSb3dDb21wb25lbnQgPyByb3cuY2VsbHMudG9BcnJheSgpIDogcm93O1xuICAgIHRoaXMuYXNzaWduRXh0cmFjdGVkVGV4dHNUb0NlbGxzKGNlbGxzKTtcbiAgICByZXR1cm4gY2VsbHM7XG4gIH1cblxuICBwcml2YXRlIGFzc2lnbkV4dHJhY3RlZFRleHRzVG9DZWxscyhjZWxsczogVGFibGVDZWxsQ29tcG9uZW50W10gfCBDZWxsRGF0YVtdKTogdm9pZCB7XG4gICAgbGV0IHRleHRJbmRleCA9IDA7XG4gICAgY2VsbHMuZm9yRWFjaChjZWxsID0+IHtcbiAgICAgIGlmICh0aGlzLmV4dHJhY3RlZFRleHRzW3RleHRJbmRleF0pIHtcbiAgICAgICAgY2VsbC5oZWFkZXIgPSB0aGlzLmV4dHJhY3RlZFRleHRzW3RleHRJbmRleF07XG4gICAgICB9XG4gICAgICBjb25zdCBjb2xzcGFuID0gY2VsbC5jb2xzcGFuIHx8IDE7XG4gICAgICB0ZXh0SW5kZXggKz0gY29sc3BhbjtcbiAgICB9KTtcbiAgfVxufVxuXG4iLCI8bmctdGVtcGxhdGUgI3RhYmxlQ29udGVudD5cbiAgPHRhYmxlIFtjbGFzc109XCJbJ2MtdGFibGUnLCBjbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICAgICAgICBbZGVzeUFwcEFjY2Vzc2liaWxpdHldPVwidGhpc1wiPlxuICAgIDxjYXB0aW9uICpuZ0lmPVwiY2FwdGlvbiB8fCBjYXB0aW9uQ29tcG9uZW50XCIgW2NsYXNzXT1cImdldENhcHRpb25DbGFzcygpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGNhcHRpb25Db21wb25lbnQsIHRleHQ6IGNhcHRpb24gPyBjYXB0aW9uIDogbnVsbCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9jYXB0aW9uPlxuICAgIDx0aGVhZCAqbmdJZj1cImhlYWQgfHwgaGVhZGVyQ29tcG9uZW50XCIgY2xhc3M9XCJzci1vbmx5IGxnOm5vdC1zci1vbmx5XCI+XG4gICAgICA8dHIgY2xhc3M9XCJib3JkZXItdCBib3JkZXItYiBib3JkZXItbmV1dHJhbC1iYXNlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGhlYWRlckNlbGwgb2YgZ2V0SGVhZGVyQ2VsbHMoKVwiPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiXG4gICAgICAgICAgICAgIFtjbGFzc109XCJbJ2FsaWduLXRvcCBweC1iYXNlIHB5LXNtIHRleHQtbGVmdCBmb250LW5vcm1hbCB0ZXh0LXNtIHRleHQtbmV1dHJhbC1kYXJrJywgaGVhZGVyQ2VsbC5jbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgICAgICAgIFthdHRyLmNvbHNwYW5dPVwiKGhlYWRlckNlbGwuY29sc3BhbiA/ICBoZWFkZXJDZWxsLmNvbHNwYW4gOiBudWxsKVwiXG4gICAgICAgICAgICAgIFthdHRyLnJvd3NwYW5dPVwiKGhlYWRlckNlbGwucm93c3BhbiA/IGhlYWRlckNlbGwucm93c3BhbiA6IG51bGwpXCJcbiAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiaGVhZGVyQ2VsbC5pZCA/IGhlYWRlckNlbGwuaWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cImhlYWRlckNlbGxcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBoZWFkZXJDZWxsLCBodG1sOiBoZWFkZXJDZWxsLmh0bWwsIHRleHQ6IGhlYWRlckNlbGwudGV4dCwgcGFyZW50Q29tcG9uZW50OiB0aGlzIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvdHI+XG4gICAgPC90aGVhZD5cbiAgICA8dGJvZHk+XG4gICAgICA8dHIgKm5nRm9yPVwibGV0IHJvdyBvZiBnZXRSb3dzKCk7IGluZGV4IGFzIHJvd0luZGV4XCIgY2xhc3M9XCJibG9jayBsZzp0YWJsZS1yb3cgLW1iLXB4IGxnOm1iLTAgdGV4dC1sZWZ0IGJvcmRlci10IGJvcmRlci1iIGJvcmRlci1uZXV0cmFsLWJhc2VcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjZWxsIG9mIGdldFJvd0NlbGxzKHJvdyk7IGZpcnN0IGFzIGlzRmlyc3Q7IGluZGV4IGFzIGNlbGxJbmRleFwiPlxuICAgICAgICAgICAgICA8dGggKm5nSWY9XCJmaXJzdENlbGxJc0hlYWRlciAmJiBpc0ZpcnN0OyBlbHNlIGVsc2VUZFwiIHNjb3BlPVwicm93XCJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJbJ2Jsb2NrIGxnOnRhYmxlLWNlbGwgYmVmb3JlOmJsb2NrIGJlZm9yZTp0ZXh0LW5ldXRyYWwtZGFyayBiZWZvcmU6bGc6aGlkZGVuIGJlZm9yZTpjb250ZW50LVthdHRyKGRhdGEtbGFiZWwpXSBiZWZvcmU6dGV4dC1zbSBhbGlnbi10b3AgcHgtYmFzZSBweS1zbSB0ZXh0LWxlZnQgZm9udC1ub3JtYWwgdGV4dC1zbSB0ZXh0LW5ldXRyYWwtZGFyaycsIGNlbGwuY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuY29sc3Bhbl09XCJjZWxsLmNvbHNwYW4gPyBjZWxsLmNvbHNwYW4gIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5yb3dzcGFuXT1cImNlbGwucm93c3BhbiA/IGNlbGwucm93c3BhbiAgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImNlbGwuaWQgPyBjZWxsLmlkIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWxhYmVsXT1cImNlbGwuaGVhZGVyXCJcbiAgICAgICAgICAgICAgICAgIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJjZWxsXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBjZWxsLCBodG1sOiBjZWxsLmh0bWwsIHRleHQ6IGNlbGwudGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZVRkPlxuICAgICAgICAgICAgICAgICAgPHRkIFtjbGFzc109XCJbJ2Jsb2NrIGxnOnRhYmxlLWNlbGwgdGV4dC1sZWZ0IGJlZm9yZTpibG9jayBiZWZvcmU6dGV4dC1uZXV0cmFsLWRhcmsgYmVmb3JlOmxnOmhpZGRlbiBiZWZvcmU6Y29udGVudC1bYXR0cihkYXRhLWxhYmVsKV0gYmVmb3JlOnRleHQtc20gcHgtYmFzZSBweS1zbScsIGNlbGwuY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmNvbHNwYW5dPVwiY2VsbC5jb2xzcGFuID8gY2VsbC5jb2xzcGFuICA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnJvd3NwYW5dPVwiY2VsbC5yb3dzcGFuID8gY2VsbC5yb3dzcGFuICA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImNlbGwuaWQgPyBjZWxsLmlkIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1sYWJlbF09XCJjZWxsLmhlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cImNlbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBjZWxsLCBodG1sOiBjZWxsLmh0bWwsIHRleHQ6IGNlbGwudGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC90cj5cbiAgICA8L3Rib2R5PlxuICAgIDx0Zm9vdCAqbmdJZj1cImZvb3QgfHwgZm9vdGVyQ29tcG9uZW50XCI+XG4gICAgICA8dHIgY2xhc3M9XCJib3JkZXItdC0yIGJvcmRlci1iIGJvcmRlci1uZXV0cmFsLWJhc2VcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZm9vdENlbGwgb2YgZ2V0Rm9vdGVyQ2VsbHMoKVwiPlxuICAgICAgICAgIDx0ZCBzY29wZT1cImNvbFwiXG4gICAgICAgICAgICAgIFtjbGFzc109XCJbJ2Jsb2NrIGxnOnRhYmxlLWNlbGwgdGV4dC1sZWZ0IGJlZm9yZTpibG9jayBiZWZvcmU6dGV4dC1uZXV0cmFsLWRhcmsgYmVmb3JlOmxnOmhpZGRlbiBiZWZvcmU6Y29udGVudC1bYXR0cihkYXRhLWxhYmVsKV0gYmVmb3JlOnRleHQtc20gcHgtYmFzZSBweS1zbScsIGZvb3RDZWxsLmNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgICAgICAgW2F0dHIuY29sc3Bhbl09XCIoZm9vdENlbGwuY29sc3BhbiA/ICBmb290Q2VsbC5jb2xzcGFuIDogbnVsbClcIlxuICAgICAgICAgICAgICBbYXR0ci5yb3dzcGFuXT1cIihmb290Q2VsbC5yb3dzcGFuID8gZm9vdENlbGwucm93c3BhbiA6IG51bGwpXCJcbiAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiZm9vdENlbGwuaWQgPyBmb290Q2VsbC5pZCA6IG51bGxcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLWxhYmVsXT1cImZvb3RDZWxsLmhlYWRlclwiXG4gICAgICAgICAgICAgIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJmb290Q2VsbFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBmb290Q2VsbCwgaHRtbDogZm9vdENlbGwuaHRtbCwgdGV4dDogZm9vdENlbGwudGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RyPlxuICAgIDwvdGZvb3Q+XG4gIDwvdGFibGU+XG48L25nLXRlbXBsYXRlPlxuXG48ZGl2ICpuZ0lmPVwid3JhcHBlcjsgZWxzZSB0YWJsZUNvbnRlbnRcIiBbY2xhc3NdPVwid3JhcHBlci5jbGFzc2VzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsZUNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS10YWJsZXMvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXRhYmxlcy9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRTNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7QUFPckUsTUFBTSxPQUFPLGNBQWUsU0FBUSxzQkFBc0I7SUFKMUQ7O1FBMkJFLG1CQUFjLEdBQWEsRUFBRSxDQUFDO0tBMEQvQjtJQXhEQyxzQkFBc0IsQ0FBQyxhQUFxQjtRQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJ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QVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR2tDLGdCQUFnQjtzQkFBdkQsZUFBZTt1QkFBQyxxQkFBcUI7Z0JBR0MsZUFBZTtzQkFBckQsZUFBZTt1QkFBQyxvQkFBb0I7Z0JBR0UsZUFBZTtzQkFBckQsZUFBZTt1QkFBQyxvQkFBb0I7Z0JBRUQsZ0JBQWdCO3NCQUFuRCxlQUFlO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbnB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgRGVzeUNvbnRlbnRDaGlsZCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ2VsbERhdGEsIFdyYXBwZXJEYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUYWJsZUNhcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtY2FwdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZVJvd0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1yb3cuY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHJvd3M6IEFycmF5PENlbGxEYXRhW10+O1xuICBASW5wdXQoKSBoZWFkOiBDZWxsRGF0YVtdO1xuICBASW5wdXQoKSBmb290OiBDZWxsRGF0YVtdO1xuICBASW5wdXQoKSBjYXB0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNhcHRpb25DbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZpcnN0Q2VsbElzSGVhZGVyOiBib29sZWFuO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHdyYXBwZXI6IFdyYXBwZXJEYXRhO1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihUYWJsZUNhcHRpb25Db21wb25lbnQpIGNhcHRpb25Db21wb25lbnQ6IFRhYmxlQ2FwdGlvbkNvbXBvbmVudDtcblxuICBARGVzeUNvbnRlbnRDaGlsZCgpXG4gIEBDb250ZW50Q2hpbGRyZW4oVGFibGVIZWFkZXJDb21wb25lbnQpIGhlYWRlckNvbXBvbmVudDogVGFibGVIZWFkZXJDb21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKFRhYmxlRm9vdGVyQ29tcG9uZW50KSBmb290ZXJDb21wb25lbnQ6IFRhYmxlRm9vdGVyQ29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oVGFibGVSb3dDb21wb25lbnQpIHJvd0NvbXBvbmVudExpc3Q6IFF1ZXJ5TGlzdDxUYWJsZVJvd0NvbXBvbmVudD47XG5cbiAgZXh0cmFjdGVkVGV4dHM6IHN0cmluZ1tdID0gW107XG5cbiAgaGFuZGxlQ29udGVudEV4dHJhY3RlZChleHRyYWN0ZWRUZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLmV4dHJhY3RlZFRleHRzLnB1c2goZXh0cmFjdGVkVGV4dCk7XG4gIH1cblxuICBnZXRDYXB0aW9uQ2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jYXB0aW9uQ29tcG9uZW50ID8gdGhpcy5jYXB0aW9uQ29tcG9uZW50LmNsYXNzZXMgOiB0aGlzLmNhcHRpb25DbGFzc2VzO1xuICB9XG5cbiAgZ2V0SGVhZGVyQ2VsbHMoKTogVGFibGVDZWxsQ29tcG9uZW50W10gfCBDZWxsRGF0YVtdIHtcbiAgICBsZXQgaGVhZGVyQ2VsbHMgPSBbXTtcbiAgICBpZiAodGhpcy5oZWFkZXJDb21wb25lbnQgJiYgdGhpcy5oZWFkZXJDb21wb25lbnQuY2VsbHMpIHtcbiAgICAgIGhlYWRlckNlbGxzID0gdGhpcy5oZWFkZXJDb21wb25lbnQuY2VsbHMudG9BcnJheSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5oZWFkKSB7XG4gICAgICBoZWFkZXJDZWxscyA9IHRoaXMuaGVhZDtcbiAgICB9XG4gICAgcmV0dXJuIGhlYWRlckNlbGxzO1xuICB9XG5cbiAgZ2V0Rm9vdGVyQ2VsbHMoKTogVGFibGVDZWxsQ29tcG9uZW50W10gfCBDZWxsRGF0YVtdIHtcbiAgICBsZXQgZm9vdENlbGxzID0gW107XG4gICAgaWYgKHRoaXMuZm9vdGVyQ29tcG9uZW50ICYmIHRoaXMuZm9vdGVyQ29tcG9uZW50LmNlbGxzKSB7XG4gICAgICBmb290Q2VsbHMgPSB0aGlzLmZvb3RlckNvbXBvbmVudC5jZWxscy50b0FycmF5KCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmZvb3QpIHtcbiAgICAgIGZvb3RDZWxscyA9IHRoaXMuZm9vdDtcbiAgICB9XG4gICAgdGhpcy5hc3NpZ25FeHRyYWN0ZWRUZXh0c1RvQ2VsbHMoZm9vdENlbGxzKTtcbiAgICByZXR1cm4gZm9vdENlbGxzO1xuICB9XG5cbiAgZ2V0Um93cygpIHtcbiAgICBsZXQgcm93TGlzdCA9IFtdO1xuICAgIGlmICh0aGlzLnJvd0NvbXBvbmVudExpc3QgJiYgdGhpcy5yb3dDb21wb25lbnRMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJvd0xpc3QgPSB0aGlzLnJvd0NvbXBvbmVudExpc3QudG9BcnJheSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yb3dzKSB7XG4gICAgICByb3dMaXN0ID0gdGhpcy5yb3dzO1xuICAgIH1cbiAgICByZXR1cm4gcm93TGlzdDtcbiAgICAvL3RoaXMucm93Q29tcG9uZW50TGlzdCAmJiB0aGlzLnJvd0NvbXBvbmVudExpc3QubGVuZ3RoID4gMCA/IHRoaXMucm93Q29tcG9uZW50TGlzdC50b0FycmF5KCkgOiB0aGlzLnJvd3M7XG4gIH1cblxuICBnZXRSb3dDZWxscyhyb3c6IFRhYmxlUm93Q29tcG9uZW50IHwgQ2VsbERhdGFbXSk6IFRhYmxlQ2VsbENvbXBvbmVudFtdIHwgQ2VsbERhdGFbXSB7XG4gICAgY29uc3QgY2VsbHMgPSByb3cgaW5zdGFuY2VvZiBUYWJsZVJvd0NvbXBvbmVudCA/IHJvdy5jZWxscy50b0FycmF5KCkgOiByb3c7XG4gICAgdGhpcy5hc3NpZ25FeHRyYWN0ZWRUZXh0c1RvQ2VsbHMoY2VsbHMpO1xuICAgIHJldHVybiBjZWxscztcbiAgfVxuXG4gIHByaXZhdGUgYXNzaWduRXh0cmFjdGVkVGV4dHNUb0NlbGxzKGNlbGxzOiBUYWJsZUNlbGxDb21wb25lbnRbXSB8IENlbGxEYXRhW10pOiB2b2lkIHtcbiAgICBsZXQgdGV4dEluZGV4ID0gMDtcbiAgICBjZWxscy5mb3JFYWNoKGNlbGwgPT4ge1xuICAgICAgaWYgKHRoaXMuZXh0cmFjdGVkVGV4dHNbdGV4dEluZGV4XSkge1xuICAgICAgICBjZWxsLmhlYWRlciA9IHRoaXMuZXh0cmFjdGVkVGV4dHNbdGV4dEluZGV4XTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNvbHNwYW4gPSBjZWxsLmNvbHNwYW4gfHwgMTtcbiAgICAgIHRleHRJbmRleCArPSBjb2xzcGFuO1xuICAgIH0pO1xuICB9XG59XG5cbiIsIjxuZy10ZW1wbGF0ZSAjdGFibGVDb250ZW50PlxuICA8dGFibGUgW2NsYXNzXT1cIlsnYy10YWJsZScsIGNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgIFthdHRyLmlkXT1cImlkID8gaWQgOiBudWxsXCJcbiAgICAgICAgIFtkZXN5QXBwQWNjZXNzaWJpbGl0eV09XCJ0aGlzXCI+XG4gICAgPGNhcHRpb24gKm5nSWY9XCJjYXB0aW9uIHx8IGNhcHRpb25Db21wb25lbnRcIiBbY2xhc3NdPVwiZ2V0Q2FwdGlvbkNsYXNzKClcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogY2FwdGlvbkNvbXBvbmVudCwgdGV4dDogY2FwdGlvbiA/IGNhcHRpb24gOiBudWxsIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2NhcHRpb24+XG4gICAgPHRoZWFkICpuZ0lmPVwiaGVhZCB8fCBoZWFkZXJDb21wb25lbnRcIiBjbGFzcz1cInNyLW9ubHkgbGc6bm90LXNyLW9ubHlcIj5cbiAgICAgIDx0ciBjbGFzcz1cImJvcmRlci10IGJvcmRlci1iIGJvcmRlci1uZXV0cmFsLWJhc2VcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaGVhZGVyQ2VsbCBvZiBnZXRIZWFkZXJDZWxscygpXCI+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cIlsnYWxpZ24tdG9wIHB4LWJhc2UgcHktc20gdGV4dC1sZWZ0IGZvbnQtbm9ybWFsIHRleHQtc20gdGV4dC1uZXV0cmFsLWRhcmsnLCBoZWFkZXJDZWxsLmNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgICAgICAgW2F0dHIuY29sc3Bhbl09XCIoaGVhZGVyQ2VsbC5jb2xzcGFuID8gIGhlYWRlckNlbGwuY29sc3BhbiA6IG51bGwpXCJcbiAgICAgICAgICAgICAgW2F0dHIucm93c3Bhbl09XCIoaGVhZGVyQ2VsbC5yb3dzcGFuID8gaGVhZGVyQ2VsbC5yb3dzcGFuIDogbnVsbClcIlxuICAgICAgICAgICAgICBbYXR0ci5pZF09XCJoZWFkZXJDZWxsLmlkID8gaGVhZGVyQ2VsbC5pZCA6IG51bGxcIlxuICAgICAgICAgICAgICBbZGVzeUFwcEFjY2Vzc2liaWxpdHldPVwiaGVhZGVyQ2VsbFwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGhlYWRlckNlbGwsIGh0bWw6IGhlYWRlckNlbGwuaHRtbCwgdGV4dDogaGVhZGVyQ2VsbC50ZXh0LCBwYXJlbnRDb21wb25lbnQ6IHRoaXMgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC90cj5cbiAgICA8L3RoZWFkPlxuICAgIDx0Ym9keT5cbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIGdldFJvd3MoKTsgaW5kZXggYXMgcm93SW5kZXhcIiBjbGFzcz1cImJsb2NrIGxnOnRhYmxlLXJvdyAtbWItcHggbGc6bWItMCB0ZXh0LWxlZnQgYm9yZGVyLXQgYm9yZGVyLWIgYm9yZGVyLW5ldXRyYWwtYmFzZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNlbGwgb2YgZ2V0Um93Q2VsbHMocm93KTsgZmlyc3QgYXMgaXNGaXJzdDsgaW5kZXggYXMgY2VsbEluZGV4XCI+XG4gICAgICAgICAgICAgIDx0aCAqbmdJZj1cImZpcnN0Q2VsbElzSGVhZGVyICYmIGlzRmlyc3Q7IGVsc2UgZWxzZVRkXCIgc2NvcGU9XCJyb3dcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIlsnYmxvY2sgbGc6dGFibGUtY2VsbCBiZWZvcmU6YmxvY2sgYmVmb3JlOnRleHQtbmV1dHJhbC1kYXJrIGJlZm9yZTpsZzpoaWRkZW4gYmVmb3JlOmNvbnRlbnQtW2F0dHIoZGF0YS1sYWJlbCldIGJlZm9yZTp0ZXh0LXNtIGFsaWduLXRvcCBweC1iYXNlIHB5LXNtIHRleHQtbGVmdCBmb250LW5vcm1hbCB0ZXh0LXNtIHRleHQtbmV1dHJhbC1kYXJrJywgY2VsbC5jbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5jb2xzcGFuXT1cImNlbGwuY29sc3BhbiA/IGNlbGwuY29sc3BhbiAgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLnJvd3NwYW5dPVwiY2VsbC5yb3dzcGFuID8gY2VsbC5yb3dzcGFuICA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiY2VsbC5pZCA/IGNlbGwuaWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtbGFiZWxdPVwiY2VsbC5oZWFkZXJcIlxuICAgICAgICAgICAgICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cImNlbGxcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGNlbGwsIGh0bWw6IGNlbGwuaHRtbCwgdGV4dDogY2VsbC50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlVGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgW2NsYXNzXT1cIlsnYmxvY2sgbGc6dGFibGUtY2VsbCB0ZXh0LWxlZnQgYmVmb3JlOmJsb2NrIGJlZm9yZTp0ZXh0LW5ldXRyYWwtZGFyayBiZWZvcmU6bGc6aGlkZGVuIGJlZm9yZTpjb250ZW50LVthdHRyKGRhdGEtbGFiZWwpXSBiZWZvcmU6dGV4dC1zbSBweC1iYXNlIHB5LXNtJywgY2VsbC5jbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuY29sc3Bhbl09XCJjZWxsLmNvbHNwYW4gPyBjZWxsLmNvbHNwYW4gIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIucm93c3Bhbl09XCJjZWxsLnJvd3NwYW4gPyBjZWxsLnJvd3NwYW4gIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiY2VsbC5pZCA/IGNlbGwuaWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWxhYmVsXT1cImNlbGwuaGVhZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZGVzeUFwcEFjY2Vzc2liaWxpdHldPVwiY2VsbFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGNlbGwsIGh0bWw6IGNlbGwuaHRtbCwgdGV4dDogY2VsbC50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RyPlxuICAgIDwvdGJvZHk+XG4gICAgPHRmb290ICpuZ0lmPVwiZm9vdCB8fCBmb290ZXJDb21wb25lbnRcIj5cbiAgICAgIDx0ciBjbGFzcz1cImJvcmRlci10LTIgYm9yZGVyLWIgYm9yZGVyLW5ldXRyYWwtYmFzZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmb290Q2VsbCBvZiBnZXRGb290ZXJDZWxscygpXCI+XG4gICAgICAgICAgPHRkIHNjb3BlPVwiY29sXCJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cIlsnYmxvY2sgbGc6dGFibGUtY2VsbCB0ZXh0LWxlZnQgYmVmb3JlOmJsb2NrIGJlZm9yZTp0ZXh0LW5ldXRyYWwtZGFyayBiZWZvcmU6bGc6aGlkZGVuIGJlZm9yZTpjb250ZW50LVthdHRyKGRhdGEtbGFiZWwpXSBiZWZvcmU6dGV4dC1zbSBweC1iYXNlIHB5LXNtJywgZm9vdENlbGwuY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICAgICAgICBbYXR0ci5jb2xzcGFuXT1cIihmb290Q2VsbC5jb2xzcGFuID8gIGZvb3RDZWxsLmNvbHNwYW4gOiBudWxsKVwiXG4gICAgICAgICAgICAgIFthdHRyLnJvd3NwYW5dPVwiKGZvb3RDZWxsLnJvd3NwYW4gPyBmb290Q2VsbC5yb3dzcGFuIDogbnVsbClcIlxuICAgICAgICAgICAgICBbYXR0ci5pZF09XCJmb290Q2VsbC5pZCA/IGZvb3RDZWxsLmlkIDogbnVsbFwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtbGFiZWxdPVwiZm9vdENlbGwuaGVhZGVyXCJcbiAgICAgICAgICAgICAgW2Rlc3lBcHBBY2Nlc3NpYmlsaXR5XT1cImZvb3RDZWxsXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGZvb3RDZWxsLCBodG1sOiBmb290Q2VsbC5odG1sLCB0ZXh0OiBmb290Q2VsbC50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvdHI+XG4gICAgPC90Zm9vdD5cbiAgPC90YWJsZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxkaXYgKm5nSWY9XCJ3cmFwcGVyOyBlbHNlIHRhYmxlQ29udGVudFwiIFtjbGFzc109XCJ3cmFwcGVyLmNsYXNzZXNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxlQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -2,10 +2,10 @@ import { Component, Input } from '@angular/core';
2
2
  import { ContentBaseComponent } from '../../../../shared/components';
3
3
  import * as i0 from "@angular/core";
4
4
  export class TableAdvancedFooterCellComponent extends ContentBaseComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableAdvancedFooterCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableAdvancedFooterCellComponent, selector: "desy-table-advanced-footer-cell", inputs: { classes: "classes", id: "id", colspan: "colspan", rowspan: "rowspan" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableAdvancedFooterCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: TableAdvancedFooterCellComponent, selector: "desy-table-advanced-footer-cell", inputs: { classes: "classes", id: "id", colspan: "colspan", rowspan: "rowspan" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true }); }
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableAdvancedFooterCellComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableAdvancedFooterCellComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{
11
11
  selector: 'desy-table-advanced-footer-cell',
@@ -5,10 +5,10 @@ export class TableAdvancedFooterComponent {
5
5
  constructor() {
6
6
  this.checkedChange = new EventEmitter();
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableAdvancedFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableAdvancedFooterComponent, selector: "desy-table-advanced-footer", inputs: { id: "id", checked: "checked" }, outputs: { checkedChange: "checkedChange" }, queries: [{ propertyName: "cellsList", predicate: TableAdvancedFooterCellComponent }], ngImport: i0, template: '', isInline: true }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableAdvancedFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: TableAdvancedFooterComponent, selector: "desy-table-advanced-footer", inputs: { id: "id", checked: "checked" }, outputs: { checkedChange: "checkedChange" }, queries: [{ propertyName: "cellsList", predicate: TableAdvancedFooterCellComponent }], ngImport: i0, template: '', isInline: true }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableAdvancedFooterComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableAdvancedFooterComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{
14
14
  selector: 'desy-table-advanced-footer',
@@ -7,8 +7,8 @@ import { OrderBy } from '../../../interfaces';
7
7
  import { ContentBaseComponent } from '../../../../shared/components';
8
8
  import * as i0 from "@angular/core";
9
9
  export class TableAdvancedHeaderCellComponent extends ContentBaseComponent {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableAdvancedHeaderCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableAdvancedHeaderCellComponent, selector: "desy-table-advanced-header-cell", inputs: { classes: "classes", id: "id", colspan: "colspan", rowspan: "rowspan", orderBy: "orderBy", hasFilter: "hasFilter", filterClasses: "filterClasses", hasSelect: "hasSelect", identifier: "identifier" }, queries: [{ propertyName: "selectComponent", predicate: TableAdvancedSelectComponent }, { propertyName: "contentComponent", predicate: ContentComponent }], usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableAdvancedHeaderCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: TableAdvancedHeaderCellComponent, selector: "desy-table-advanced-header-cell", inputs: { classes: "classes", id: "id", colspan: "colspan", rowspan: "rowspan", orderBy: "orderBy", hasFilter: "hasFilter", filterClasses: "filterClasses", hasSelect: "hasSelect", identifier: "identifier" }, queries: [{ propertyName: "selectComponent", predicate: TableAdvancedSelectComponent }, { propertyName: "contentComponent", predicate: ContentComponent }], usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true }); }
12
12
  }
13
13
  __decorate([
14
14
  DesyContentChild(),
@@ -18,7 +18,7 @@ __decorate([
18
18
  DesyContentChild(),
19
19
  __metadata("design:type", ContentComponent)
20
20
  ], TableAdvancedHeaderCellComponent.prototype, "contentComponent", void 0);
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableAdvancedHeaderCellComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TableAdvancedHeaderCellComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{
24
24
  selector: 'desy-table-advanced-header-cell',
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
49
49
  type: ContentChildren,
50
50
  args: [ContentComponent]
51
51
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWR2YW5jZWQtaGVhZGVyLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS10YWJsZXMvY29tcG9uZW50cy90YWJsZS1hZHZhbmNlZC9jb21wb25lbnRzL3RhYmxlLWFkdmFuY2VkLWhlYWRlci1jZWxsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDbkcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDOUYsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBb0IsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sK0JBQStCLENBQUM7O0FBTW5FLE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxvQkFBb0I7K0dBQTdELGdDQUFnQzttR0FBaEMsZ0NBQWdDLHVUQWdCMUIsNEJBQTRCLG1EQUc1QixnQkFBZ0Isb0RBckJ2Qix1RUFBdUU7O0FBaUJqRjtJQUFDLGdCQUFnQixFQUFFOzhCQUM4Qyw0QkFBNEI7eUVBQUM7QUFFOUY7SUFBQyxnQkFBZ0IsRUFBRTs4QkFDbUMsZ0JBQWdCOzBFQUFDOzRGQW5CNUQsZ0NBQWdDO2tCQUo1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLFFBQVEsRUFBRSx1RUFBdUU7aUJBQ2xGOzhCQUVVLE9BQU87c0JBQWYsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFPeUMsZUFBZTtzQkFBN0QsZUFBZTt1QkFBQyw0QkFBNEI7Z0JBR1YsZ0JBQWdCO3NCQUFsRCxlQUFlO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLy4uLy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2NvbnRlbnQvY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVBZHZhbmNlZFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtYWR2YW5jZWQtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXN5Q29udGVudENoaWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1jb250ZW50LWNoaWxkLmRlY29yYXRvcic7XG5pbXBvcnQge0NvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0hlYWRDZWxsTW9kZWxEYXRhLCBPcmRlckJ5fSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7Q29udGVudEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS10YWJsZS1hZHZhbmNlZC1oZWFkZXItY2VsbCcsXG4gIHRlbXBsYXRlOiAnPG5nLXRlbXBsYXRlICNjb250ZW50VGVtcGxhdGU+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvbmctdGVtcGxhdGU+J1xufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUFkdmFuY2VkSGVhZGVyQ2VsbENvbXBvbmVudCBleHRlbmRzIENvbnRlbnRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgSGVhZENlbGxNb2RlbERhdGEge1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbHNwYW46IG51bWJlcjtcbiAgQElucHV0KCkgcm93c3BhbjogbnVtYmVyO1xuICBASW5wdXQoKSBvcmRlckJ5OiBPcmRlckJ5OyAvLyBQb3NzaWJsZSB2YWx1ZXMgYG5vbmVgLCBgYXNjYCwgYGRlc2NgLlxuICBASW5wdXQoKSBoYXNGaWx0ZXI6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGZpbHRlckNsYXNzZXM6IHN0cmluZztcbiAgQElucHV0KCkgaGFzU2VsZWN0PzogYm9vbGVhbjtcbiAgQElucHV0KCkgaWRlbnRpZmllcj86IHN0cmluZztcbiAgdmFsdWVGaWx0ZXI/OiBzdHJpbmc7XG4gIGFjdGl2ZUZpbHRlcj86IGJvb2xlYW47XG4gIHZhbHVlU2VsZWN0Pzogc3RyaW5nO1xuICBhY3RpdmVTZWxlY3Q/OiBib29sZWFuO1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihUYWJsZUFkdmFuY2VkU2VsZWN0Q29tcG9uZW50KSBzZWxlY3RDb21wb25lbnQ/OiBUYWJsZUFkdmFuY2VkU2VsZWN0Q29tcG9uZW50O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihDb250ZW50Q29tcG9uZW50KSBjb250ZW50Q29tcG9uZW50PzogQ29udGVudENvbXBvbmVudDtcbn1cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWR2YW5jZWQtaGVhZGVyLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS10YWJsZXMvY29tcG9uZW50cy90YWJsZS1hZHZhbmNlZC9jb21wb25lbnRzL3RhYmxlLWFkdmFuY2VkLWhlYWRlci1jZWxsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDbkcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDOUYsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBb0IsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sK0JBQStCLENBQUM7O0FBTW5FLE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxvQkFBb0I7K0dBQTdELGdDQUFnQzttR0FBaEMsZ0NBQWdDLHVUQWdCMUIsNEJBQTRCLG1EQUc1QixnQkFBZ0Isb0RBckJ2Qix1RUFBdUU7O0FBa0JsQztJQUQ5QyxnQkFBZ0IsRUFBRTs4QkFDOEMsNEJBQTRCO3lFQUFDO0FBRzNEO0lBRGxDLGdCQUFnQixFQUFFOzhCQUNtQyxnQkFBZ0I7MEVBQUM7NEZBbkI1RCxnQ0FBZ0M7a0JBSjVDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsUUFBUSxFQUFFLHVFQUF1RTtpQkFDbEY7OEJBRVUsT0FBTztzQkFBZixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQU95QyxlQUFlO3NCQUE3RCxlQUFlO3VCQUFDLDRCQUE0QjtnQkFHVixnQkFBZ0I7c0JBQWxELGVBQWU7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vLi4vLi4vLi4vLi4vZGVzeS1jb21tb25zL2NvbXBvbmVudHMvY29udGVudC9jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUFkdmFuY2VkU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1hZHZhbmNlZC1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IERlc3lDb250ZW50Q2hpbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcbmltcG9ydCB7Q29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SGVhZENlbGxNb2RlbERhdGEsIE9yZGVyQnl9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtDb250ZW50QmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LXRhYmxlLWFkdmFuY2VkLWhlYWRlci1jZWxsJyxcbiAgdGVtcGxhdGU6ICc8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy10ZW1wbGF0ZT4nXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQWR2YW5jZWRIZWFkZXJDZWxsQ29tcG9uZW50IGV4dGVuZHMgQ29udGVudEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBIZWFkQ2VsbE1vZGVsRGF0YSB7XG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgY29sc3BhbjogbnVtYmVyO1xuICBASW5wdXQoKSByb3dzcGFuOiBudW1iZXI7XG4gIEBJbnB1dCgpIG9yZGVyQnk6IE9yZGVyQnk7IC8vIFBvc3NpYmxlIHZhbHVlcyBgbm9uZWAsIGBhc2NgLCBgZGVzY2AuXG4gIEBJbnB1dCgpIGhhc0ZpbHRlcjogYm9vbGVhbjtcbiAgQElucHV0KCkgZmlsdGVyQ2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBoYXNTZWxlY3Q/OiBib29sZWFuO1xuICBASW5wdXQoKSBpZGVudGlmaWVyPzogc3RyaW5nO1xuICB2YWx1ZUZpbHRlcj86IHN0cmluZztcbiAgYWN0aXZlRmlsdGVyPzogYm9vbGVhbjtcbiAgdmFsdWVTZWxlY3Q/OiBzdHJpbmc7XG4gIGFjdGl2ZVNlbGVjdD86IGJvb2xlYW47XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKFRhYmxlQWR2YW5jZWRTZWxlY3RDb21wb25lbnQpIHNlbGVjdENvbXBvbmVudD86IFRhYmxlQWR2YW5jZWRTZWxlY3RDb21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKENvbnRlbnRDb21wb25lbnQpIGNvbnRlbnRDb21wb25lbnQ/OiBDb250ZW50Q29tcG9uZW50O1xufVxuIl19