ontimize-web-ngx 15.7.0 → 15.8.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 (402) hide show
  1. package/esm2020/lib/components/app-header/o-app-header.component.mjs +4 -4
  2. package/esm2020/lib/components/app-header/o-app-header.module.mjs +5 -5
  3. package/esm2020/lib/components/app-sidenav/image/o-app-sidenav-image.component.mjs +4 -4
  4. package/esm2020/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.mjs +4 -4
  5. package/esm2020/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.mjs +4 -4
  6. package/esm2020/lib/components/app-sidenav/o-app-sidenav.component.mjs +4 -4
  7. package/esm2020/lib/components/app-sidenav/o-app-sidenav.module.mjs +5 -5
  8. package/esm2020/lib/components/bar-menu/locale-menu-item/o-locale-bar-menu-item.component.mjs +4 -4
  9. package/esm2020/lib/components/bar-menu/menu-group/o-bar-menu-group.component.mjs +4 -4
  10. package/esm2020/lib/components/bar-menu/menu-item/o-bar-menu-item.component.mjs +4 -4
  11. package/esm2020/lib/components/bar-menu/menu-nested/o-bar-menu-nested.component.mjs +4 -4
  12. package/esm2020/lib/components/bar-menu/menu-separator/o-bar-menu-separator.component.mjs +4 -4
  13. package/esm2020/lib/components/bar-menu/o-bar-menu-base.class.mjs +4 -4
  14. package/esm2020/lib/components/bar-menu/o-bar-menu.component.mjs +4 -4
  15. package/esm2020/lib/components/bar-menu/o-bar-menu.module.mjs +5 -5
  16. package/esm2020/lib/components/bar-menu/o-base-menu-item.class.mjs +4 -4
  17. package/esm2020/lib/components/breadcrumb/o-breadcrumb.component.mjs +4 -4
  18. package/esm2020/lib/components/breadcrumb/o-breadcrumb.module.mjs +5 -5
  19. package/esm2020/lib/components/button/o-button.component.mjs +4 -4
  20. package/esm2020/lib/components/button/o-button.module.mjs +5 -5
  21. package/esm2020/lib/components/button-toggle/o-button-toggle-group/o-button-toggle-group.component.mjs +4 -4
  22. package/esm2020/lib/components/button-toggle/o-button-toggle.component.mjs +4 -4
  23. package/esm2020/lib/components/button-toggle/o-button-toggle.module.mjs +5 -5
  24. package/esm2020/lib/components/card-menu-item/o-card-menu-item.component.mjs +4 -4
  25. package/esm2020/lib/components/card-menu-item/o-card-menu-item.module.mjs +5 -5
  26. package/esm2020/lib/components/container/column/o-column.component.mjs +4 -4
  27. package/esm2020/lib/components/container/column/o-column.module.mjs +5 -5
  28. package/esm2020/lib/components/container/column-collapsible/o-column-collapsible.component.mjs +4 -4
  29. package/esm2020/lib/components/container/column-collapsible/o-column-collapsible.module.mjs +5 -5
  30. package/esm2020/lib/components/container/o-container-collapsible-component.class.mjs +4 -4
  31. package/esm2020/lib/components/container/o-container-component.class.mjs +4 -4
  32. package/esm2020/lib/components/container/row/o-row.component.mjs +4 -4
  33. package/esm2020/lib/components/container/row/o-row.module.mjs +5 -5
  34. package/esm2020/lib/components/container/row-collapsible/o-row-collapsible.component.mjs +4 -4
  35. package/esm2020/lib/components/container/row-collapsible/o-row-collapsible.module.mjs +5 -5
  36. package/esm2020/lib/components/contextmenu/context-menu/o-context-menu-content.component.mjs +4 -4
  37. package/esm2020/lib/components/contextmenu/context-menu/o-wrapper-content-menu/o-wrapper-content-menu.component.mjs +4 -4
  38. package/esm2020/lib/components/contextmenu/context-menu-group/o-context-menu-group.component.mjs +4 -4
  39. package/esm2020/lib/components/contextmenu/context-menu-item/o-context-menu-item.component.mjs +4 -4
  40. package/esm2020/lib/components/contextmenu/context-menu-separator/o-context-menu-separator.component.mjs +4 -4
  41. package/esm2020/lib/components/contextmenu/o-content-menu-base-item.class.mjs +4 -4
  42. package/esm2020/lib/components/contextmenu/o-context-menu-overlay.service.mjs +4 -4
  43. package/esm2020/lib/components/contextmenu/o-context-menu.component.mjs +4 -4
  44. package/esm2020/lib/components/contextmenu/o-context-menu.directive.mjs +4 -4
  45. package/esm2020/lib/components/contextmenu/o-context-menu.module.mjs +5 -5
  46. package/esm2020/lib/components/contextmenu/o-context-menu.service.mjs +4 -4
  47. package/esm2020/lib/components/dual-list-selector/dual-list-selector-item/date/o-dual-list-selector-date-item.component.mjs +4 -4
  48. package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.component.mjs +4 -4
  49. package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.module.mjs +5 -5
  50. package/esm2020/lib/components/expandable-container/o-expandable-container.component.mjs +4 -4
  51. package/esm2020/lib/components/expandable-container/o-expandable-container.module.mjs +5 -5
  52. package/esm2020/lib/components/filter-builder/filter-builder-menu/filter-builder-menu.component.mjs +4 -4
  53. package/esm2020/lib/components/filter-builder/o-filter-builder-clear.directive.mjs +4 -4
  54. package/esm2020/lib/components/filter-builder/o-filter-builder-query.directive.mjs +4 -4
  55. package/esm2020/lib/components/filter-builder/o-filter-builder.component.mjs +4 -4
  56. package/esm2020/lib/components/filter-builder/o-filter-builder.module.mjs +5 -5
  57. package/esm2020/lib/components/form/guards/o-form-can-deactivate.guard.mjs +4 -4
  58. package/esm2020/lib/components/form/navigation/o-form-confirm-exit.service.mjs +4 -4
  59. package/esm2020/lib/components/form/navigation/o-form-navigation.component.mjs +4 -4
  60. package/esm2020/lib/components/form/o-form.component.mjs +4 -4
  61. package/esm2020/lib/components/form/o-form.module.mjs +5 -5
  62. package/esm2020/lib/components/form/services/o-form-message.service.mjs +4 -4
  63. package/esm2020/lib/components/form/toolbar/o-form-toolbar.component.mjs +4 -4
  64. package/esm2020/lib/components/form/toolbar/o-form-toolbar.module.mjs +5 -5
  65. package/esm2020/lib/components/form-container/o-form-container.component.mjs +4 -4
  66. package/esm2020/lib/components/form-container/o-form-container.module.mjs +5 -5
  67. package/esm2020/lib/components/grid/grid-item/o-grid-item.component.mjs +4 -4
  68. package/esm2020/lib/components/grid/grid-item/o-grid-item.directive.mjs +4 -4
  69. package/esm2020/lib/components/grid/o-grid.component.mjs +4 -4
  70. package/esm2020/lib/components/grid/o-grid.module.mjs +5 -5
  71. package/esm2020/lib/components/grid/skeketon/o-grid-skeleton.component.mjs +4 -4
  72. package/esm2020/lib/components/image/fullscreen/fullscreen-dialog.component.mjs +4 -4
  73. package/esm2020/lib/components/image/o-image.component.mjs +4 -4
  74. package/esm2020/lib/components/image/o-image.module.mjs +5 -5
  75. package/esm2020/lib/components/input/checkbox/o-checkbox.component.mjs +4 -4
  76. package/esm2020/lib/components/input/checkbox/o-checkbox.module.mjs +5 -5
  77. package/esm2020/lib/components/input/combo/combo-renderer/boolean/o-combo-renderer-boolean.component.mjs +4 -4
  78. package/esm2020/lib/components/input/combo/combo-renderer/currency/o-combo-renderer-currency.component.mjs +4 -4
  79. package/esm2020/lib/components/input/combo/combo-renderer/date/o-combo-renderer-date.component.mjs +4 -4
  80. package/esm2020/lib/components/input/combo/combo-renderer/icon/o-combo-renderer-icon.component.mjs +4 -4
  81. package/esm2020/lib/components/input/combo/combo-renderer/integer/o-combo-renderer-integer.component.mjs +4 -4
  82. package/esm2020/lib/components/input/combo/combo-renderer/o-combo-renderer.class.mjs +4 -4
  83. package/esm2020/lib/components/input/combo/combo-renderer/percentage/o-combo-renderer-percentage.component.mjs +4 -4
  84. package/esm2020/lib/components/input/combo/combo-renderer/real/o-combo-renderer-real.component.mjs +4 -4
  85. package/esm2020/lib/components/input/combo/combo-search/o-combo-search.component.mjs +4 -4
  86. package/esm2020/lib/components/input/combo/o-combo.component.mjs +4 -4
  87. package/esm2020/lib/components/input/combo/o-combo.module.mjs +5 -5
  88. package/esm2020/lib/components/input/currency-input/o-currency-input.component.mjs +4 -4
  89. package/esm2020/lib/components/input/currency-input/o-currency-input.module.mjs +5 -5
  90. package/esm2020/lib/components/input/date-input/o-date-input.component.mjs +4 -4
  91. package/esm2020/lib/components/input/date-input/o-date-input.module.mjs +5 -5
  92. package/esm2020/lib/components/input/date-range/o-daterange-input.component.mjs +4 -4
  93. package/esm2020/lib/components/input/date-range/o-daterange-input.module.mjs +5 -5
  94. package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.component.mjs +4 -4
  95. package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.directive.mjs +4 -4
  96. package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.module.mjs +5 -5
  97. package/esm2020/lib/components/input/date-range-legacy/o-daterange-picker.component.mjs +4 -4
  98. package/esm2020/lib/components/input/email-input/o-email-input.component.mjs +4 -4
  99. package/esm2020/lib/components/input/email-input/o-email-input.module.mjs +5 -5
  100. package/esm2020/lib/components/input/file-input/o-file-input.component.mjs +4 -4
  101. package/esm2020/lib/components/input/file-input/o-file-input.module.mjs +5 -5
  102. package/esm2020/lib/components/input/hour-input/index.mjs +4 -0
  103. package/esm2020/lib/components/input/hour-input/o-hour-input.component.mjs +38 -9
  104. package/esm2020/lib/components/input/hour-input/o-hour-input.directive.mjs +46 -0
  105. package/esm2020/lib/components/input/hour-input/o-hour-input.module.mjs +8 -7
  106. package/esm2020/lib/components/input/html-input/o-html-input.component.mjs +4 -4
  107. package/esm2020/lib/components/input/html-input/o-html-input.module.mjs +5 -5
  108. package/esm2020/lib/components/input/index.mjs +2 -3
  109. package/esm2020/lib/components/input/integer-input/o-integer-input.component.mjs +4 -4
  110. package/esm2020/lib/components/input/integer-input/o-integer-input.module.mjs +5 -5
  111. package/esm2020/lib/components/input/listpicker/listpicker-renderer/currency/o-list-picker-renderer-currency.component.mjs +4 -4
  112. package/esm2020/lib/components/input/listpicker/listpicker-renderer/date/o-list-picker-renderer-date.component.mjs +4 -4
  113. package/esm2020/lib/components/input/listpicker/listpicker-renderer/integer/o-list-picker-renderer-integer.component.mjs +4 -4
  114. package/esm2020/lib/components/input/listpicker/listpicker-renderer/o-list-picker-renderer.class.mjs +4 -4
  115. package/esm2020/lib/components/input/listpicker/listpicker-renderer/percentage/o-list-picker-renderer-percentage.component.mjs +4 -4
  116. package/esm2020/lib/components/input/listpicker/listpicker-renderer/real/o-list-picker-renderer-real.component.mjs +4 -4
  117. package/esm2020/lib/components/input/listpicker/o-list-picker-dialog.component.mjs +4 -4
  118. package/esm2020/lib/components/input/listpicker/o-list-picker.component.mjs +4 -4
  119. package/esm2020/lib/components/input/listpicker/o-list-picker.module.mjs +5 -5
  120. package/esm2020/lib/components/input/nif-input/o-nif-input.component.mjs +4 -4
  121. package/esm2020/lib/components/input/nif-input/o-nif-input.module.mjs +5 -5
  122. package/esm2020/lib/components/input/o-boolean-form-data-component.class.mjs +4 -4
  123. package/esm2020/lib/components/input/o-form-service-component.class.mjs +4 -4
  124. package/esm2020/lib/components/input/password-input/o-password-input.component.mjs +4 -4
  125. package/esm2020/lib/components/input/password-input/o-password-input.module.mjs +5 -5
  126. package/esm2020/lib/components/input/percent-input/o-percent-input.component.mjs +4 -4
  127. package/esm2020/lib/components/input/percent-input/o-percent-input.module.mjs +5 -5
  128. package/esm2020/lib/components/input/phone-input/data/country-code.mjs +4 -4
  129. package/esm2020/lib/components/input/phone-input/o-phone-input.component.mjs +4 -4
  130. package/esm2020/lib/components/input/phone-input/o-phone-input.module.mjs +5 -5
  131. package/esm2020/lib/components/input/radio/o-radio.component.mjs +4 -4
  132. package/esm2020/lib/components/input/radio/o-radio.module.mjs +5 -5
  133. package/esm2020/lib/components/input/real-input/o-real-input.component.mjs +4 -4
  134. package/esm2020/lib/components/input/real-input/o-real-input.module.mjs +5 -5
  135. package/esm2020/lib/components/input/search-input/o-search-input.component.mjs +4 -4
  136. package/esm2020/lib/components/input/search-input/o-search-input.module.mjs +5 -5
  137. package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.component.mjs +4 -4
  138. package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.module.mjs +5 -5
  139. package/esm2020/lib/components/input/slider/o-slider.component.mjs +4 -4
  140. package/esm2020/lib/components/input/slider/o-slider.module.mjs +5 -5
  141. package/esm2020/lib/components/input/text-input/o-text-input.component.mjs +4 -4
  142. package/esm2020/lib/components/input/text-input/o-text-input.module.mjs +5 -5
  143. package/esm2020/lib/components/input/textarea-input/o-textarea-input.component.mjs +4 -4
  144. package/esm2020/lib/components/input/textarea-input/o-textarea-input.module.mjs +5 -5
  145. package/esm2020/lib/components/input/time-input/o-time-input.component.mjs +4 -4
  146. package/esm2020/lib/components/input/time-input/o-time-input.module.mjs +5 -5
  147. package/esm2020/lib/components/language-selector/o-language-selector.component.mjs +4 -4
  148. package/esm2020/lib/components/language-selector/o-language-selector.module.mjs +5 -5
  149. package/esm2020/lib/components/list/list-item/o-list-item.component.mjs +4 -4
  150. package/esm2020/lib/components/list/list-item/o-list-item.directive.mjs +4 -4
  151. package/esm2020/lib/components/list/o-list.component.mjs +4 -4
  152. package/esm2020/lib/components/list/o-list.module.mjs +5 -5
  153. package/esm2020/lib/components/list/renderers/avatar/o-list-item-avatar.component.mjs +4 -4
  154. package/esm2020/lib/components/list/renderers/card/o-list-item-card.component.mjs +4 -4
  155. package/esm2020/lib/components/list/renderers/card-image/o-list-item-card-image.component.mjs +4 -4
  156. package/esm2020/lib/components/list/renderers/o-list-item-card-renderer.class.mjs +4 -4
  157. package/esm2020/lib/components/list/renderers/o-list-item-text-renderer.class.mjs +4 -4
  158. package/esm2020/lib/components/list/renderers/text/o-list-item-text.component.mjs +4 -4
  159. package/esm2020/lib/components/list/skeleton/o-list-skeleton.component.mjs +4 -4
  160. package/esm2020/lib/components/material/ckeditor/ck-editor.component.mjs +4 -4
  161. package/esm2020/lib/components/material/ckeditor/ck-editor.module.mjs +5 -5
  162. package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.component.mjs +4 -4
  163. package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.module.mjs +5 -5
  164. package/esm2020/lib/components/o-form-data-component.class.mjs +4 -4
  165. package/esm2020/lib/components/o-repeatable-skeleton.component.mjs +4 -4
  166. package/esm2020/lib/components/o-service-base-component.class.mjs +15 -10
  167. package/esm2020/lib/components/o-service-component.class.mjs +7 -7
  168. package/esm2020/lib/components/o-skeleton.component.mjs +4 -4
  169. package/esm2020/lib/components/table/column/calculated/o-table-column-calculated.component.mjs +4 -4
  170. package/esm2020/lib/components/table/column/cell-editor/boolean/o-table-cell-editor-boolean.component.mjs +4 -4
  171. package/esm2020/lib/components/table/column/cell-editor/date/o-table-cell-editor-date.component.mjs +4 -4
  172. package/esm2020/lib/components/table/column/cell-editor/email/o-table-cell-editor-email.component.mjs +4 -4
  173. package/esm2020/lib/components/table/column/cell-editor/integer/o-table-cell-editor-integer.component.mjs +4 -4
  174. package/esm2020/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.mjs +10 -4
  175. package/esm2020/lib/components/table/column/cell-editor/real/o-table-cell-editor-real.component.mjs +4 -4
  176. package/esm2020/lib/components/table/column/cell-editor/text/o-table-cell-editor-text.component.mjs +4 -4
  177. package/esm2020/lib/components/table/column/cell-editor/time/o-table-cell-editor-time.component.mjs +26 -12
  178. package/esm2020/lib/components/table/column/cell-renderer/action/o-table-cell-renderer-action.component.mjs +4 -4
  179. package/esm2020/lib/components/table/column/cell-renderer/boolean/o-table-cell-renderer-boolean.component.mjs +4 -4
  180. package/esm2020/lib/components/table/column/cell-renderer/cell-renderer.mjs +11 -4
  181. package/esm2020/lib/components/table/column/cell-renderer/chip/o-table-cell-renderer-chip.component.mjs +65 -0
  182. package/esm2020/lib/components/table/column/cell-renderer/currency/o-table-cell-renderer-currency.component.mjs +4 -4
  183. package/esm2020/lib/components/table/column/cell-renderer/date/o-table-cell-renderer-date.component.mjs +4 -4
  184. package/esm2020/lib/components/table/column/cell-renderer/image/o-table-cell-renderer-image.component.mjs +4 -4
  185. package/esm2020/lib/components/table/column/cell-renderer/index.mjs +3 -1
  186. package/esm2020/lib/components/table/column/cell-renderer/integer/o-table-cell-renderer-integer.component.mjs +4 -4
  187. package/esm2020/lib/components/table/column/cell-renderer/list/o-table-cell-renderer-list.component.mjs +41 -0
  188. package/esm2020/lib/components/table/column/cell-renderer/o-base-table-cell-renderer.class.mjs +4 -4
  189. package/esm2020/lib/components/table/column/cell-renderer/percentage/o-table-cell-renderer-percentage.component.mjs +4 -4
  190. package/esm2020/lib/components/table/column/cell-renderer/real/o-table-cell-renderer-real.component.mjs +4 -4
  191. package/esm2020/lib/components/table/column/cell-renderer/service/o-table-cell-renderer-service.component.mjs +4 -4
  192. package/esm2020/lib/components/table/column/cell-renderer/time/o-table-cell-renderer-time.component.mjs +4 -4
  193. package/esm2020/lib/components/table/column/cell-renderer/translate/o-table-cell-renderer-translate.component.mjs +4 -4
  194. package/esm2020/lib/components/table/column/o-table-column.component.mjs +10 -4
  195. package/esm2020/lib/components/table/extensions/contextmenu/o-table-context-menu.component.mjs +4 -4
  196. package/esm2020/lib/components/table/extensions/default-o-table.datasource.mjs +137 -66
  197. package/esm2020/lib/components/table/extensions/dialog/apply-configuration/o-table-apply-configuration-dialog.component.mjs +4 -4
  198. package/esm2020/lib/components/table/extensions/dialog/export/o-table-export-dialog.component.mjs +4 -4
  199. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +5 -5
  200. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.mjs +4 -4
  201. package/esm2020/lib/components/table/extensions/dialog/group-by-columns/o-table-group-by-columns-dialog.component.mjs +4 -4
  202. package/esm2020/lib/components/table/extensions/dialog/o-table-base-dialog.class.mjs +4 -4
  203. package/esm2020/lib/components/table/extensions/dialog/store-configuration/o-table-store-configuration-dialog.component.mjs +4 -4
  204. package/esm2020/lib/components/table/extensions/dialog/visible-columns/o-table-visible-columns-dialog.component.mjs +4 -4
  205. package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.component.mjs +4 -4
  206. package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.service.mjs +4 -4
  207. package/esm2020/lib/components/table/extensions/footer/aggregate/o-table-column-aggregate.component.mjs +6 -6
  208. package/esm2020/lib/components/table/extensions/footer/expanded/o-table-expanded-footer.directive.mjs +11 -14
  209. package/esm2020/lib/components/table/extensions/footer/paginator/o-table-mat-paginator-intl.mjs +4 -4
  210. package/esm2020/lib/components/table/extensions/footer/paginator/o-table-paginator.component.mjs +4 -4
  211. package/esm2020/lib/components/table/extensions/header/table-button/o-table-button.component.mjs +4 -4
  212. package/esm2020/lib/components/table/extensions/header/table-buttons/o-table-buttons.component.mjs +4 -4
  213. package/esm2020/lib/components/table/extensions/header/table-column-resizer/o-table-column-resizer.component.mjs +4 -4
  214. package/esm2020/lib/components/table/extensions/header/table-column-select-all/o-table-column-select-all.directive.mjs +4 -4
  215. package/esm2020/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.mjs +4 -4
  216. package/esm2020/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.mjs +4 -4
  217. package/esm2020/lib/components/table/extensions/header/table-columns-grouping/columns/o-table-columns-grouping-column.component.mjs +4 -4
  218. package/esm2020/lib/components/table/extensions/header/table-columns-grouping/o-table-columns-grouping.component.mjs +4 -4
  219. package/esm2020/lib/components/table/extensions/header/table-header/o-table-header.component.mjs +4 -4
  220. package/esm2020/lib/components/table/extensions/header/table-header-column-filter-icon/o-table-header-column-filter-icon.component.mjs +5 -5
  221. package/esm2020/lib/components/table/extensions/header/table-header-select-all/o-table-header-select-all.component.mjs +6 -4
  222. package/esm2020/lib/components/table/extensions/header/table-insertable-row/o-table-insertable-row.component.mjs +4 -4
  223. package/esm2020/lib/components/table/extensions/header/table-menu/o-table-menu.component.mjs +4 -4
  224. package/esm2020/lib/components/table/extensions/header/table-option/o-table-option.component.mjs +4 -4
  225. package/esm2020/lib/components/table/extensions/header/table-quickfilter/o-table-quickfilter.component.mjs +4 -4
  226. package/esm2020/lib/components/table/extensions/o-table-datasource.service.mjs +4 -4
  227. package/esm2020/lib/components/table/extensions/o-table-strategy.service.mjs +10 -4
  228. package/esm2020/lib/components/table/extensions/pipes/o-table-row-class.pipe.mjs +4 -4
  229. package/esm2020/lib/components/table/extensions/row/o-table-row.directive.mjs +4 -4
  230. package/esm2020/lib/components/table/extensions/row/table-row-expandable/o-table-row-expandable.component.mjs +4 -4
  231. package/esm2020/lib/components/table/extensions/skeleton/o-table-skeleton.component.mjs +19 -19
  232. package/esm2020/lib/components/table/extensions/sort/o-mat-sort-header.mjs +14 -7
  233. package/esm2020/lib/components/table/extensions/sort/o-mat-sort-module.mjs +5 -5
  234. package/esm2020/lib/components/table/extensions/sort/o-mat-sort.mjs +4 -4
  235. package/esm2020/lib/components/table/index.mjs +2 -1
  236. package/esm2020/lib/components/table/o-table-base.class.mjs +1 -1
  237. package/esm2020/lib/components/table/o-table-loading.service.mjs +113 -0
  238. package/esm2020/lib/components/table/o-table.component.mjs +317 -121
  239. package/esm2020/lib/components/table/o-table.module.mjs +46 -40
  240. package/esm2020/lib/components/tree/header/tree-menu/o-tree-menu.component.mjs +4 -4
  241. package/esm2020/lib/components/tree/o-tree-dao.service.mjs +4 -4
  242. package/esm2020/lib/components/tree/o-tree.component.mjs +4 -4
  243. package/esm2020/lib/components/tree/o-tree.module.mjs +5 -5
  244. package/esm2020/lib/components/tree/tree-node/tree-node.component.mjs +4 -4
  245. package/esm2020/lib/components/user-info/o-user-info.component.mjs +4 -4
  246. package/esm2020/lib/components/user-info/o-user-info.module.mjs +5 -5
  247. package/esm2020/lib/components/user-info/user-info-configuration/o-user-info-configuration.directive.mjs +4 -4
  248. package/esm2020/lib/components/user-info/user-info-configuration-item/o-user-info-configuration-item.directive.mjs +4 -4
  249. package/esm2020/lib/config/o-modules.mjs +5 -5
  250. package/esm2020/lib/directives/input-regulate.directive.mjs +4 -4
  251. package/esm2020/lib/directives/keyboard-listener.directive.mjs +4 -4
  252. package/esm2020/lib/directives/locker.directive.mjs +4 -4
  253. package/esm2020/lib/directives/o-file-drag-and-drop.directive.mjs +4 -4
  254. package/esm2020/lib/directives/o-hidden.directive.mjs +4 -4
  255. package/esm2020/lib/directives/o-mat-error.directive.mjs +4 -4
  256. package/esm2020/lib/directives/o-mat-prefix.directive.mjs +4 -4
  257. package/esm2020/lib/directives/o-mat-suffix.directive.mjs +4 -4
  258. package/esm2020/lib/directives/o-tab-group.directive.mjs +4 -4
  259. package/esm2020/lib/interfaces/column-filter-change-event.interface.mjs +2 -0
  260. package/esm2020/lib/interfaces/index.mjs +2 -1
  261. package/esm2020/lib/layouts/app-layout/app-layout-header/o-app-layout-header.component.mjs +4 -4
  262. package/esm2020/lib/layouts/app-layout/app-layout-sidenav/o-app-layout-sidenav.component.mjs +4 -4
  263. package/esm2020/lib/layouts/app-layout/o-app-layout.component.mjs +4 -4
  264. package/esm2020/lib/layouts/app-layout/o-app-layout.module.mjs +5 -5
  265. package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.component.mjs +4 -4
  266. package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.module.mjs +5 -5
  267. package/esm2020/lib/layouts/form-layout/dialog/o-form-layout-dialog.component.mjs +4 -4
  268. package/esm2020/lib/layouts/form-layout/dialog/options/o-form-layout-dialog-options.directive.mjs +4 -4
  269. package/esm2020/lib/layouts/form-layout/directives/o-form-layout-manager-content.directive.mjs +4 -4
  270. package/esm2020/lib/layouts/form-layout/guards/o-form-layout-can-activate-child.guard.mjs +4 -4
  271. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.component.mjs +4 -4
  272. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.module.mjs +5 -5
  273. package/esm2020/lib/layouts/form-layout/split-pane/o-form-layout-split-pane.component.mjs +4 -4
  274. package/esm2020/lib/layouts/form-layout/split-pane/options/o-form-layout-split-pane-options.directive.mjs +4 -4
  275. package/esm2020/lib/layouts/form-layout/tabgroup/o-form-layout-tabgroup.component.mjs +4 -4
  276. package/esm2020/lib/layouts/form-layout/tabgroup/options/o-form-layout-tabgroup-options.directive.mjs +4 -4
  277. package/esm2020/lib/ontimize-web-ngx.module.mjs +5 -5
  278. package/esm2020/lib/pipes/columns-filter.pipe.mjs +4 -4
  279. package/esm2020/lib/pipes/is-empty-value.pipe.mjs +4 -4
  280. package/esm2020/lib/pipes/o-currency.pipe.mjs +4 -4
  281. package/esm2020/lib/pipes/o-icon.pipe.mjs +4 -4
  282. package/esm2020/lib/pipes/o-integer.pipe.mjs +4 -4
  283. package/esm2020/lib/pipes/o-moment.pipe.mjs +4 -4
  284. package/esm2020/lib/pipes/o-percentage.pipe.mjs +4 -4
  285. package/esm2020/lib/pipes/o-real.pipe.mjs +4 -4
  286. package/esm2020/lib/pipes/o-safe.pipe.mjs +4 -4
  287. package/esm2020/lib/pipes/o-translate.pipe.mjs +8 -8
  288. package/esm2020/lib/pipes/order-by.pipe.mjs +4 -4
  289. package/esm2020/lib/services/app-menu.service.mjs +4 -4
  290. package/esm2020/lib/services/appearance.service.mjs +4 -4
  291. package/esm2020/lib/services/auth-guard.service.mjs +4 -4
  292. package/esm2020/lib/services/auth.service.mjs +4 -4
  293. package/esm2020/lib/services/base-service-response.adapter.mjs +4 -4
  294. package/esm2020/lib/services/base-service.class.mjs +4 -4
  295. package/esm2020/lib/services/currency.service.mjs +4 -4
  296. package/esm2020/lib/services/dialog.service.mjs +4 -4
  297. package/esm2020/lib/services/icon.service.mjs +4 -4
  298. package/esm2020/lib/services/jsonapi/jsonapi-preferences.service.mjs +4 -4
  299. package/esm2020/lib/services/jsonapi/jsonapi-service-response.adapter.mjs +4 -4
  300. package/esm2020/lib/services/jsonapi/jsonapi.service.mjs +4 -4
  301. package/esm2020/lib/services/local-storage.service.mjs +4 -4
  302. package/esm2020/lib/services/login-storage.service.mjs +4 -4
  303. package/esm2020/lib/services/moment.service.mjs +4 -4
  304. package/esm2020/lib/services/navigation.service.mjs +4 -4
  305. package/esm2020/lib/services/number.service.mjs +4 -4
  306. package/esm2020/lib/services/o-auth.service.mjs +4 -4
  307. package/esm2020/lib/services/o-breadcrumb.service.mjs +4 -4
  308. package/esm2020/lib/services/o-error-dialog-manager.service.mjs +4 -4
  309. package/esm2020/lib/services/o-form-layout-manager.service.mjs +4 -4
  310. package/esm2020/lib/services/o-modules-info.service.mjs +4 -4
  311. package/esm2020/lib/services/o-user-info.service.mjs +4 -4
  312. package/esm2020/lib/services/ontimize/o-preference-response.adapter.mjs +4 -4
  313. package/esm2020/lib/services/ontimize/ontimize-base-service.class.mjs +4 -4
  314. package/esm2020/lib/services/ontimize/ontimize-ee.service.mjs +4 -4
  315. package/esm2020/lib/services/ontimize/ontimize-export-3xx.service.mjs +4 -4
  316. package/esm2020/lib/services/ontimize/ontimize-export.service.mjs +4 -4
  317. package/esm2020/lib/services/ontimize/ontimize-file.service.mjs +4 -4
  318. package/esm2020/lib/services/ontimize/ontimize-preferences.service.mjs +4 -4
  319. package/esm2020/lib/services/ontimize/ontimize-service-response.adapter.mjs +4 -4
  320. package/esm2020/lib/services/ontimize/ontimize.service.mjs +4 -4
  321. package/esm2020/lib/services/ontimize-export-data-base-provider.service.mjs +4 -4
  322. package/esm2020/lib/services/ontimize-export-data-provider-3x.service.mjs +4 -4
  323. package/esm2020/lib/services/ontimize-export-data-provider.service.mjs +4 -4
  324. package/esm2020/lib/services/ontimize-icon-registry.service.mjs +4 -4
  325. package/esm2020/lib/services/pagination-context.service.mjs +4 -4
  326. package/esm2020/lib/services/parser/o-service-response.parser.mjs +4 -4
  327. package/esm2020/lib/services/permissions/o-permissions.module.mjs +5 -5
  328. package/esm2020/lib/services/permissions/ontimize-ee-permissions.service.mjs +4 -4
  329. package/esm2020/lib/services/permissions/ontimize-permissions.service.mjs +4 -4
  330. package/esm2020/lib/services/permissions/permissions-can-activate.guard.mjs +4 -4
  331. package/esm2020/lib/services/permissions/permissions.service.mjs +4 -4
  332. package/esm2020/lib/services/remote-config.service.mjs +5 -5
  333. package/esm2020/lib/services/request-adapter/jsonapi-request-arguments.adapter.mjs +4 -4
  334. package/esm2020/lib/services/request-adapter/ontimize-request-arguments.adapter.mjs +4 -4
  335. package/esm2020/lib/services/share-can-activate-child.service.mjs +4 -4
  336. package/esm2020/lib/services/snackbar.service.mjs +4 -4
  337. package/esm2020/lib/services/state/o-app-menu-component-state.service.mjs +4 -4
  338. package/esm2020/lib/services/state/o-component-state.service.mjs +10 -10
  339. package/esm2020/lib/services/state/o-filter-builder-component-state.service.mjs +4 -4
  340. package/esm2020/lib/services/state/o-form-layout-manager-component-state.service.mjs +4 -4
  341. package/esm2020/lib/services/state/o-grid-component-state.service.mjs +4 -4
  342. package/esm2020/lib/services/state/o-list-component-state.service.mjs +4 -4
  343. package/esm2020/lib/services/state/o-table-component-state.class.mjs +1 -1
  344. package/esm2020/lib/services/state/o-table-component-state.service.mjs +4 -4
  345. package/esm2020/lib/services/state/o-tree-component-state.service.mjs +4 -4
  346. package/esm2020/lib/services/translate/o-translate.parser.mjs +4 -4
  347. package/esm2020/lib/services/translate/o-translate.service.mjs +4 -4
  348. package/esm2020/lib/shared/components/dialog/o-dialog-internal.component.mjs +4 -4
  349. package/esm2020/lib/shared/components/dialog/o-dialog.component.mjs +4 -4
  350. package/esm2020/lib/shared/components/error403/o-error-403.component.mjs +4 -4
  351. package/esm2020/lib/shared/components/filter/load-filter/o-load-filter-dialog.component.mjs +4 -4
  352. package/esm2020/lib/shared/components/filter/store-filter/o-store-filter-dialog.component.mjs +4 -4
  353. package/esm2020/lib/shared/components/snackbar/o-snackbar-base.class.mjs +4 -4
  354. package/esm2020/lib/shared/components/snackbar/o-snackbar.component.mjs +4 -4
  355. package/esm2020/lib/shared/components/validation/o-error.component.mjs +4 -4
  356. package/esm2020/lib/shared/components/validation/o-validator.component.mjs +4 -4
  357. package/esm2020/lib/shared/material/custom.material.module.mjs +5 -5
  358. package/esm2020/lib/shared/material/date/ontimize-moment-date-adapter.mjs +4 -4
  359. package/esm2020/lib/shared/shared.module.mjs +5 -5
  360. package/esm2020/lib/types/aggregate-function.type.mjs +1 -1
  361. package/esm2020/lib/types/table/o-table-global-config.type.mjs +1 -1
  362. package/fesm2015/ontimize-web-ngx.mjs +1945 -1348
  363. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  364. package/fesm2020/ontimize-web-ngx.mjs +1928 -1345
  365. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  366. package/lib/components/app-sidenav/o-app-sidenav.component.d.ts +1 -1
  367. package/lib/components/dual-list-selector/o-dual-list-selector.component.d.ts +1 -1
  368. package/lib/components/filter-builder/o-filter-builder.component.d.ts +1 -1
  369. package/lib/components/input/hour-input/index.d.ts +3 -0
  370. package/lib/components/input/hour-input/o-hour-input.component.d.ts +6 -2
  371. package/lib/components/input/hour-input/o-hour-input.directive.d.ts +8 -0
  372. package/lib/components/input/hour-input/o-hour-input.module.d.ts +5 -4
  373. package/lib/components/input/index.d.ts +1 -2
  374. package/lib/components/o-service-base-component.class.d.ts +2 -1
  375. package/lib/components/o-service-component.class.d.ts +1 -1
  376. package/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.d.ts +5 -3
  377. package/lib/components/table/column/cell-editor/time/o-table-cell-editor-time.component.d.ts +2 -2
  378. package/lib/components/table/column/cell-renderer/cell-renderer.d.ts +5 -1
  379. package/lib/components/table/column/cell-renderer/chip/o-table-cell-renderer-chip.component.d.ts +23 -0
  380. package/lib/components/table/column/cell-renderer/index.d.ts +2 -0
  381. package/lib/components/table/column/cell-renderer/list/o-table-cell-renderer-list.component.d.ts +14 -0
  382. package/lib/components/table/column/o-table-column.component.d.ts +2 -1
  383. package/lib/components/table/extensions/default-o-table.datasource.d.ts +6 -1
  384. package/lib/components/table/extensions/dialog/group-by-columns/o-table-group-by-columns-dialog.component.d.ts +1 -1
  385. package/lib/components/table/extensions/footer/aggregate/o-table-column-aggregate.component.d.ts +1 -1
  386. package/lib/components/table/extensions/footer/expanded/o-table-expanded-footer.directive.d.ts +1 -2
  387. package/lib/components/table/extensions/header/table-header-select-all/o-table-header-select-all.component.d.ts +2 -1
  388. package/lib/components/table/extensions/o-table-strategy.service.d.ts +2 -1
  389. package/lib/components/table/extensions/skeleton/o-table-skeleton.component.d.ts +1 -0
  390. package/lib/components/table/extensions/sort/o-mat-sort-header.d.ts +5 -3
  391. package/lib/components/table/index.d.ts +1 -0
  392. package/lib/components/table/o-table-base.class.d.ts +3 -1
  393. package/lib/components/table/o-table-loading.service.d.ts +28 -0
  394. package/lib/components/table/o-table.component.d.ts +25 -4
  395. package/lib/components/table/o-table.module.d.ts +48 -45
  396. package/lib/interfaces/column-filter-change-event.interface.d.ts +6 -0
  397. package/lib/interfaces/index.d.ts +1 -0
  398. package/lib/services/state/o-table-component-state.class.d.ts +1 -1
  399. package/lib/types/aggregate-function.type.d.ts +2 -1
  400. package/lib/types/table/o-table-global-config.type.d.ts +6 -0
  401. package/package.json +2 -2
  402. package/theme.scss +0 -2
@@ -270,8 +270,8 @@ export class OImageComponent extends OFormDataComponent {
270
270
  return this.getFormControl() && this.getFormControl().touched && this.getFormControl().invalid && !this.hasControls() && this.enabled && !this.isReadOnly;
271
271
  }
272
272
  }
273
- OImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OImageComponent, deps: [{ token: forwardRef(() => OFormComponent), optional: true }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
274
- OImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OImageComponent, selector: "o-image", inputs: { emptyimage: ["empty-image", "emptyimage"], notfoundimage: ["not-found-image", "notfoundimage"], emptyicon: ["empty-icon", "emptyicon"], showControls: ["show-controls", "showControls"], height: "height", autoFit: ["auto-fit", "autoFit"], fullScreenButton: ["full-screen-button", "fullScreenButton"], acceptFileType: ["accept-file-type", "acceptFileType"], maxFileSize: ["max-file-size", "maxFileSize"] }, host: { properties: { "class.o-image": "true", "style.height": "this.hostHeight" } }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"column\" [formGroup]=\"getFormGroup()\" [class.o-image-auto-fit]=\"autoFit\" class=\"o-image-content\" fxFill>\n\n <input #input type=\"file\" [disabled]=\"!enabled\" [accept]=\"acceptFileType ? acceptFileType.replace(';',',') : 'image/*'\" readonly\n (change)=\"fileChange(input)\" class=\"o-image-form-field-hidden\" />\n\n <mat-form-field *ngIf=\"hasControls()\" class=\"o-image-form-field\" [matTooltip]=\"tooltip\" [matTooltipClass]=\"tooltipClass\"\n [matTooltipPosition]=\"tooltipPosition\" [matTooltipShowDelay]=\"tooltipShowDelay\" [matTooltipHideDelay]=\"tooltipHideDelay\"\n [subscriptSizing]=\"subscriptSizing\">\n <input type=\"text\" [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" [placeholder]=\"olabel | oTranslate\" [required]=\"isRequired\" readonly\n (click)=\"input.click()\" (change)=\"onChangeEvent($event)\" class=\"o-image-form-field-input\">\n <input matInput readonly (click)=\"input.click()\" [placeholder]=\"olabel | oTranslate\" [required]=\"isRequired\" [formControl]=\"stateCtrl\" />\n\n <button type=\"button\" *ngIf=\"fullScreenButton\" [disabled]=\"!enabled\" matSuffix mat-icon-button (click)=\"openFullScreen($event)\">\n <mat-icon svgIcon=\"ontimize:fullscreen\"></mat-icon>\n </button>\n <button type=\"button\" [disabled]=\"!enabled\" matSuffix mat-icon-button (click)=\"input.click()\">\n <mat-icon svgIcon=\"ontimize:folder_open\"></mat-icon>\n </button>\n <button type=\"button\" [disabled]=\"!enabled\" matSuffix mat-icon-button (click)=\"onClickClearValue($event)\">\n <mat-icon svgIcon=\"ontimize:close\"></mat-icon>\n </button>\n <ng-container *ngTemplateOutlet=\"errorsTemplate\"></ng-container>\n </mat-form-field>\n\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"o-image-display-container\"\n [ngClass]=\"{'o-image-drag-and-drop': this.getValue()?.length === 0 , 'o-image-drag-and-drop-required': hasErrorInDragAndDrop() }\" fxLayoutGap=\"15px\" oFileDragAndDrop\n (onFileDropped)=\"onFileDropped($event)\" [matTooltip]=\"tooltip\" [matTooltipClass]=\"tooltipClass\" [matTooltipPosition]=\"tooltipPosition\"\n [matTooltipShowDelay]=\"tooltipShowDelay\" [matTooltipHideDelay]=\"tooltipHideDelay\" [matTooltipDisabled]=\"hasControls()\">\n\n <button mat-icon-button *ngIf=\"this.getValue()?.length !== 0 && !hasControls() && enabled && !isReadOnly\" (click)=\"onClickClearValue($event)\"\n class=\"o-image-button-remove\">\n <mat-icon>close</mat-icon>\n </button>\n\n <img *ngIf=\"this.getValue()?.length !== 0\" [src]=\"src\" alt=\"\" (click)=\"openFileSelector()\" (error)=\"notFoundImageUrl($event)\"\n [ngClass]=\"{'o-image-cursor': !isReadOnly}\" (keyDown)=\"openFileSelector()\"/>\n\n <mat-icon class=\"empty-icon\" [class.mat-disabled]=\"!enabled\" aria-label=\"empty image\" *ngIf=\"useEmptyIcon()\">\n {{ emptyicon }}\n </mat-icon>\n\n <img [src]=\"src\" alt=\"empty image\" *ngIf=\"useEmptyImage()\" />\n\n <span class=\"mat-subtitle-2\" *ngIf=\"this.getValue()?.length === 0\">{{ 'OIMAGE.TEXT.DROP&DRAG' | oTranslate }}</span>\n\n <button mat-button color=\"primary\" (click)=\"openFileSelector()\" *ngIf=\"!hasControls() && this.getValue()?.length === 0\" ()>\n {{ 'OIMAGE.BUTTON.BROWSEFILE' | oTranslate }}\n </button>\n\n <ng-container *ngIf=\"!hasControls() && enabled && !isReadOnly\">\n <ng-container *ngTemplateOutlet=\"errorsTemplate\"> </ng-container>\n </ng-container>\n </div>\n <div *ngIf=\"isReadOnly\" fxFill class=\"read-only-blocker\" (click)=\"onClickBlocker($event)\"></div>\n</div>\n\n<ng-template #errorsTemplate>\n <mat-error *oMatError=\"hasError('required')\">\n {{ 'FORM_VALIDATION.REQUIRED' | oTranslate }}\n </mat-error>\n <mat-error *oMatError=\"hasError('fileSize')\">\n {{ 'FORM_VALIDATION.FILE_MAXSIZE' | oTranslate }}: {{ getErrorValue('fileSize', 'maxFileSize') }} bytes\n </mat-error>\n</ng-template>\n", styles: [".o-image{display:flex;height:inherit}.o-image .o-image-content{position:relative;width:100%}.o-image .o-image-content .o-image-form-field-hidden{display:none}.o-image .o-image-content .o-image-form-field{width:100%}.o-image .o-image-content .o-image-form-field .o-image-form-field-input{display:none;height:0;opacity:0;outline:none;width:0}.o-image .o-image-content .o-image-display-container{margin:16px;text-align:center;padding:1px;border-color:transparent;height:calc(100% - 32px)}.o-image .o-image-content .o-image-display-container.o-image-drag-and-drop-required:not(.o-file-dragging){border-style:solid;border-width:1px}.o-image .o-image-content .o-image-display-container.o-image-drag-and-drop{padding:40px}.o-image .o-image-content .o-image-display-container .o-image-button-remove{position:absolute;right:24px;top:24px;border-radius:50%;width:16px;height:16px;line-height:16px}.o-image .o-image-content .o-image-display-container .o-image-button-remove .mat-icon{width:14px;height:14px;line-height:14px;font-size:14px}.o-image .o-image-content .o-image-display-container .empty-icon.mat-icon{width:42px;height:42px;font-size:42px;display:flex;align-items:center;place-content:center}.o-image .o-image-content .o-image-display-container>img{height:100%;width:100%}.o-image .o-image-content .o-image-display-container>img.o-image-cursor{cursor:pointer}.o-image .o-image-content.o-image-auto-fit .o-image-display-container>img{height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.o-image .o-image-content .read-only-blocker{left:0;right:0;position:absolute;top:0;z-index:2}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i3.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.OMatErrorDirective, selector: "[oMatError]", inputs: ["oMatError"] }, { kind: "directive", type: i6.OFileDragAndDropDirective, selector: "[oFileDragAndDrop]", outputs: ["onFileDropped"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i10.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i12.OTranslatePipe, name: "oTranslate" }], encapsulation: i0.ViewEncapsulation.None });
273
+ OImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OImageComponent, deps: [{ token: forwardRef(() => OFormComponent), optional: true }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
274
+ OImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OImageComponent, selector: "o-image", inputs: { emptyimage: ["empty-image", "emptyimage"], notfoundimage: ["not-found-image", "notfoundimage"], emptyicon: ["empty-icon", "emptyicon"], showControls: ["show-controls", "showControls"], height: "height", autoFit: ["auto-fit", "autoFit"], fullScreenButton: ["full-screen-button", "fullScreenButton"], acceptFileType: ["accept-file-type", "acceptFileType"], maxFileSize: ["max-file-size", "maxFileSize"] }, host: { properties: { "class.o-image": "true", "style.height": "this.hostHeight" } }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"column\" [formGroup]=\"getFormGroup()\" [class.o-image-auto-fit]=\"autoFit\" class=\"o-image-content\" fxFill>\n\n <input #input type=\"file\" [disabled]=\"!enabled\" [accept]=\"acceptFileType ? acceptFileType.replace(';',',') : 'image/*'\" readonly\n (change)=\"fileChange(input)\" class=\"o-image-form-field-hidden\" />\n\n <mat-form-field *ngIf=\"hasControls()\" class=\"o-image-form-field\" [matTooltip]=\"tooltip\" [matTooltipClass]=\"tooltipClass\"\n [matTooltipPosition]=\"tooltipPosition\" [matTooltipShowDelay]=\"tooltipShowDelay\" [matTooltipHideDelay]=\"tooltipHideDelay\"\n [subscriptSizing]=\"subscriptSizing\">\n <input type=\"text\" [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" [placeholder]=\"olabel | oTranslate\" [required]=\"isRequired\" readonly\n (click)=\"input.click()\" (change)=\"onChangeEvent($event)\" class=\"o-image-form-field-input\">\n <input matInput readonly (click)=\"input.click()\" [placeholder]=\"olabel | oTranslate\" [required]=\"isRequired\" [formControl]=\"stateCtrl\" />\n\n <button type=\"button\" *ngIf=\"fullScreenButton\" [disabled]=\"!enabled\" matSuffix mat-icon-button (click)=\"openFullScreen($event)\">\n <mat-icon svgIcon=\"ontimize:fullscreen\"></mat-icon>\n </button>\n <button type=\"button\" [disabled]=\"!enabled\" matSuffix mat-icon-button (click)=\"input.click()\">\n <mat-icon svgIcon=\"ontimize:folder_open\"></mat-icon>\n </button>\n <button type=\"button\" [disabled]=\"!enabled\" matSuffix mat-icon-button (click)=\"onClickClearValue($event)\">\n <mat-icon svgIcon=\"ontimize:close\"></mat-icon>\n </button>\n <ng-container *ngTemplateOutlet=\"errorsTemplate\"></ng-container>\n </mat-form-field>\n\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"o-image-display-container\"\n [ngClass]=\"{'o-image-drag-and-drop': this.getValue()?.length === 0 , 'o-image-drag-and-drop-required': hasErrorInDragAndDrop() }\" fxLayoutGap=\"15px\" oFileDragAndDrop\n (onFileDropped)=\"onFileDropped($event)\" [matTooltip]=\"tooltip\" [matTooltipClass]=\"tooltipClass\" [matTooltipPosition]=\"tooltipPosition\"\n [matTooltipShowDelay]=\"tooltipShowDelay\" [matTooltipHideDelay]=\"tooltipHideDelay\" [matTooltipDisabled]=\"hasControls()\">\n\n <button mat-icon-button *ngIf=\"this.getValue()?.length !== 0 && !hasControls() && enabled && !isReadOnly\" (click)=\"onClickClearValue($event)\"\n class=\"o-image-button-remove\">\n <mat-icon>close</mat-icon>\n </button>\n\n <img *ngIf=\"this.getValue()?.length !== 0\" [src]=\"src\" alt=\"\" (click)=\"openFileSelector()\" (error)=\"notFoundImageUrl($event)\"\n [ngClass]=\"{'o-image-cursor': !isReadOnly}\" (keyDown)=\"openFileSelector()\"/>\n\n <mat-icon class=\"empty-icon\" [class.mat-disabled]=\"!enabled\" aria-label=\"empty image\" *ngIf=\"useEmptyIcon()\">\n {{ emptyicon }}\n </mat-icon>\n\n <img [src]=\"src\" alt=\"empty image\" *ngIf=\"useEmptyImage()\" />\n\n <span class=\"mat-subtitle-2\" *ngIf=\"this.getValue()?.length === 0\">{{ 'OIMAGE.TEXT.DROP&DRAG' | oTranslate }}</span>\n\n <button mat-button color=\"primary\" (click)=\"openFileSelector()\" *ngIf=\"!hasControls() && this.getValue()?.length === 0\" ()>\n {{ 'OIMAGE.BUTTON.BROWSEFILE' | oTranslate }}\n </button>\n\n <ng-container *ngIf=\"!hasControls() && enabled && !isReadOnly\">\n <ng-container *ngTemplateOutlet=\"errorsTemplate\"> </ng-container>\n </ng-container>\n </div>\n <div *ngIf=\"isReadOnly\" fxFill class=\"read-only-blocker\" (click)=\"onClickBlocker($event)\"></div>\n</div>\n\n<ng-template #errorsTemplate>\n <mat-error *oMatError=\"hasError('required')\">\n {{ 'FORM_VALIDATION.REQUIRED' | oTranslate }}\n </mat-error>\n <mat-error *oMatError=\"hasError('fileSize')\">\n {{ 'FORM_VALIDATION.FILE_MAXSIZE' | oTranslate }}: {{ getErrorValue('fileSize', 'maxFileSize') }} bytes\n </mat-error>\n</ng-template>\n", styles: [".o-image{display:flex;height:inherit}.o-image .o-image-content{position:relative;width:100%}.o-image .o-image-content .o-image-form-field-hidden{display:none}.o-image .o-image-content .o-image-form-field{width:100%}.o-image .o-image-content .o-image-form-field .o-image-form-field-input{display:none;height:0;opacity:0;outline:none;width:0}.o-image .o-image-content .o-image-display-container{margin:16px;text-align:center;padding:1px;border-color:transparent;height:calc(100% - 32px)}.o-image .o-image-content .o-image-display-container.o-image-drag-and-drop-required:not(.o-file-dragging){border-style:solid;border-width:1px}.o-image .o-image-content .o-image-display-container.o-image-drag-and-drop{padding:40px}.o-image .o-image-content .o-image-display-container .o-image-button-remove{position:absolute;right:24px;top:24px;border-radius:50%;width:16px;height:16px;line-height:16px}.o-image .o-image-content .o-image-display-container .o-image-button-remove .mat-icon{width:14px;height:14px;line-height:14px;font-size:14px}.o-image .o-image-content .o-image-display-container .empty-icon.mat-icon{width:42px;height:42px;font-size:42px;display:flex;align-items:center;place-content:center}.o-image .o-image-content .o-image-display-container>img{height:100%;width:100%}.o-image .o-image-content .o-image-display-container>img.o-image-cursor{cursor:pointer}.o-image .o-image-content.o-image-auto-fit .o-image-display-container>img{height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.o-image .o-image-content .read-only-blocker{left:0;right:0;position:absolute;top:0;z-index:2}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i3.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.OMatErrorDirective, selector: "[oMatError]", inputs: ["oMatError"] }, { kind: "directive", type: i6.OFileDragAndDropDirective, selector: "[oFileDragAndDrop]", outputs: ["onFileDropped"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i10.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i12.OTranslatePipe, name: "oTranslate" }], encapsulation: i0.ViewEncapsulation.None });
275
275
  __decorate([
276
276
  NumberInputConverter(),
277
277
  __metadata("design:type", Number)
@@ -284,7 +284,7 @@ __decorate([
284
284
  BooleanInputConverter(),
285
285
  __metadata("design:type", Boolean)
286
286
  ], OImageComponent.prototype, "showControls", void 0);
287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OImageComponent, decorators: [{
287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OImageComponent, decorators: [{
288
288
  type: Component,
289
289
  args: [{ selector: 'o-image', inputs: DEFAULT_INPUTS_O_IMAGE, encapsulation: ViewEncapsulation.None, host: {
290
290
  '[class.o-image]': 'true'
@@ -301,4 +301,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
301
301
  type: HostBinding,
302
302
  args: ['style.height']
303
303
  }] } });
304
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbWFnZS9vLWltYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL28taW1hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBcUIsUUFBUSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQWlDLE1BQU0sZ0JBQWdCLENBQUM7QUFDckcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBR3RGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHO0lBQ3BDLHlCQUF5QjtJQUV6QixnQ0FBZ0M7SUFFaEMsdUJB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dFJlZiwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IEJvb2xlYW5JbnB1dENvbnZlcnRlciwgTnVtYmVySW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5pbXBvcnQgeyBPU2FmZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9vLXNhZmUucGlwZSc7XG5pbXBvcnQgeyBGb3JtVmFsdWVPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBPRm9ybVZhbHVlIH0gZnJvbSAnLi4vZm9ybS9vLWZvcm0tdmFsdWUnO1xuaW1wb3J0IHsgT0Zvcm1Db21wb25lbnQgfSBmcm9tICcuLi9mb3JtL28tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT0Zvcm1Db250cm9sIH0gZnJvbSAnLi4vaW5wdXQvby1mb3JtLWNvbnRyb2wuY2xhc3MnO1xuaW1wb3J0IHsgT0Zvcm1EYXRhQ29tcG9uZW50IH0gZnJvbSAnLi4vby1mb3JtLWRhdGEtY29tcG9uZW50LmNsYXNzJztcbmltcG9ydCB7IE9GdWxsU2NyZWVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9mdWxsc2NyZWVuL2Z1bGxzY3JlZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5QVVRTX09fSU1BR0UgPSBbXG4gICdlbXB0eWltYWdlOiBlbXB0eS1pbWFnZScsXG4gIC8vIG5vdC1mb3VuZC1pbWFnZSBbc3RyaW5nXTogRGVmYXVsdCBpbWFnZSBmb3IgNDA0IGVycm9yLlxuICAnbm90Zm91bmRpbWFnZTogbm90LWZvdW5kLWltYWdlJyxcbiAgLy8gZW1wdHktaWNvbiBbc3RyaW5nXTogbWF0ZXJpYWwgaWNvbi4gRGVmYXVsdDogcGhvdG8uXG4gICdlbXB0eWljb246IGVtcHR5LWljb24nLFxuICAvLyBzaG93LWNvbnRyb2xzIFt5ZXN8bm8gdHJ1ZXxmYWxzZV06IFNob3dzIG9yIGhpZGVzIHNlbGVjdGlvbiBjb250cm9scy4gRGVmYXVsdDogdHJ1ZS5cbiAgJ3Nob3dDb250cm9sczogc2hvdy1jb250cm9scycsXG4gIC8vIGhlaWdodCBbJSB8IHB4XTogU2V0IHRoZSBoZWlnaHQgb2YgdGhlIGltYWdlLlxuICAnaGVpZ2h0JyxcbiAgLy8gYXV0by1maXQgW3llc3xubyB0cnVlfGZhbHNlXTogQWRqdXN0cyB0aGUgaW1hZ2UgdG8gdGhlIGNvbnRlbnQgb3Igbm90LiBEZWZhdWx0OiB0cnVlLlxuICAnYXV0b0ZpdDogYXV0by1maXQnLFxuICAnZnVsbFNjcmVlbkJ1dHRvbjogZnVsbC1zY3JlZW4tYnV0dG9uJyxcbiAgLy8gYWNjZXB0LWZpbGUtdHlwZSBbc3RyaW5nXTogZmlsZSB0eXBlcyBhbGxvd2VkIG9uIHRoZSBmaWxlIGlucHV0LCBzZXBhcmF0ZWQgYnkgJzsnLiBEZWZhdWx0OiBpbWFnZS8qLlxuICAvLyBmaWxlX2V4dGVuc2lvbiwgaW1hZ2UvKiwgbWVkaWFfdHlwZS4gU2VlIGh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vdGFncy9hdHRfaW5wdXRfYWNjZXB0LmFzcFxuICAnYWNjZXB0RmlsZVR5cGU6IGFjY2VwdC1maWxlLXR5cGUnLFxuICAvLyBtYXgtZmlsZS1zaXplIFtudW1iZXJdOiBtYXhpbXVtIGZpbGUgc2l6ZSBhbGxvd2VkLCBpbiBieXRlcy4gRGVmYXVsdDogbm8gdmFsdWUuXG4gICdtYXhGaWxlU2l6ZTogbWF4LWZpbGUtc2l6ZSdcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28taW1hZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vby1pbWFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL28taW1hZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgaW5wdXRzOiBERUZBVUxUX0lOUFVUU19PX0lNQUdFLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5vLWltYWdlXSc6ICd0cnVlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE9JbWFnZUNvbXBvbmVudCBleHRlbmRzIE9Gb3JtRGF0YUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgYWNjZXB0RmlsZVR5cGU6IHN0cmluZyA9ICdpbWFnZS8qJztcbiAgQE51bWJlcklucHV0Q29udmVydGVyKClcbiAgcHVibGljIG1heEZpbGVTaXplOiBudW1iZXI7XG4gIHB1YmxpYyBlbXB0eWltYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBub3Rmb3VuZGltYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBlbXB0eWljb246IHN0cmluZztcbiAgcHVibGljIGhlaWdodDogc3RyaW5nO1xuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgcHVibGljIGF1dG9GaXQ6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgY3VycmVudEZpbGVOYW1lOiBzdHJpbmcgPSAnJztcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHByb3RlY3RlZCBzaG93Q29udHJvbHM6IGJvb2xlYW4gPSB0cnVlO1xuICBzZXQgZnVsbFNjcmVlbkJ1dHRvbih2YWw6IGJvb2xlYW4pIHtcbiAgICB2YWwgPSBVdGlsLnBhcnNlQm9vbGVhbihTdHJpbmcodmFsKSk7XG4gICAgdGhpcy5fZnVsbFNjcmVlbkJ1dHRvbiA9IHZhbDtcbiAgfVxuICBnZXQgZnVsbFNjcmVlbkJ1dHRvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZnVsbFNjcmVlbkJ1dHRvbjtcbiAgfVxuICBwcm90ZWN0ZWQgX2Z1bGxTY3JlZW5CdXR0b24gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcpXG4gIHByb3RlY3RlZCBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XG4gIHByb3RlY3RlZCBfdXNlRW1wdHlJY29uOiBib29sZWFuID0gdHJ1ZTtcbiAgcHJvdGVjdGVkIF91c2VFbXB0eUltYWdlOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBvU2FmZTogT1NhZmVQaXBlO1xuICBwcm90ZWN0ZWQgZGlhbG9nOiBNYXREaWFsb2c7XG4gIHB1YmxpYyBzdGF0ZUN0cmw6IFVudHlwZWRGb3JtQ29udHJvbDtcbiAgcHVibGljIHNyYyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBPRm9ybUNvbXBvbmVudCkpIGZvcm06IE9Gb3JtQ29tcG9uZW50LFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtLCBlbFJlZiwgaW5qZWN0b3IpO1xuICAgIHRoaXMub1NhZmUgPSBuZXcgT1NhZmVQaXBlKGluamVjdG9yKTtcbiAgICB0aGlzLl9kZWZhdWx0U1FMVHlwZUtleSA9ICdCQVNFNjQnO1xuICAgIHRoaXMuZGlhbG9nID0gdGhpcy5pbmplY3Rvci5nZXQoTWF0RGlhbG9nKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgaWYgKHRoaXMuZW1wdHlpbWFnZSAmJiB0aGlzLmVtcHR5aW1hZ2UubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fdXNlRW1wdHlJY29uID0gZmFsc2U7XG4gICAgICB0aGlzLl91c2VFbXB0eUltYWdlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lbXB0eWljb24gPT09IHVuZGVmaW5lZCAmJiAhdGhpcy5fdXNlRW1wdHlJbWFnZSkge1xuICAgICAgdGhpcy5lbXB0eWljb24gPSAncGhvdG8nO1xuICAgICAgdGhpcy5fdXNlRW1wdHlJY29uID0gdHJ1ZTtcbiAgICAgIHRoaXMuX3VzZUVtcHR5SW1hZ2UgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgfVxuXG4gIHB1YmxpYyBlbnN1cmVPRm9ybVZhbHVlKHZhbDogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbCBpbnN0YW5jZW9mIE9Gb3JtVmFsdWUpIHtcbiAgICAgIGlmICh2YWwudmFsdWUgJiYgdmFsLnZhbHVlLmJ5dGVzKSB7XG4gICAgICAgIHZhbCA9IHZhbC52YWx1ZS5ieXRlcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbCA9IHZhbC52YWx1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHZhbCkge1xuICAgICAgaWYgKHZhbC5ieXRlcykge1xuICAgICAgICB2YWwgPSB2YWwuYnl0ZXM7XG4gICAgICB9IGVsc2UgaWYgKFV0aWwuaXNCYXNlNjQodmFsKSAmJiB2YWwuc3Vic3RyaW5nKDAsIDQpID09PSAnZGF0YScpIHtcbiAgICAgICAgLy8gUmVtb3ZpbmcgXCJkYXRhOmltYWdlLyo7YmFzZTY0LFwiXG4gICAgICAgIHZhbCA9IHZhbC5zdWJzdHJpbmcodmFsLmluZGV4T2YoJ2Jhc2U2NCcpICsgNyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IG5ldyBPRm9ybVZhbHVlKHZhbCk7XG5cbiAgICB0aGlzLnNyYyA9IHRoaXMuZ2V0U3JjVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldFZhbHVlKCk/Lmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVGb3JtQ29udHJvbChjZmc/OiB7IHZhbHVlOiBhbnksIGRpc2FibGVkOiBib29sZWFuIH0sIHZhbGlkYXRvcnM/OiBWYWxpZGF0b3JGbltdKTogT0Zvcm1Db250cm9sIHtcbiAgICB0aGlzLl9mQ29udHJvbCA9IHN1cGVyLmNyZWF0ZUZvcm1Db250cm9sKGNmZywgdmFsaWRhdG9ycyk7XG4gICAgdGhpcy5zdGF0ZUN0cmwgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHZvaWQgMCwgdGhpcy5yZXNvbHZlVmFsaWRhdG9ycygpKTtcbiAgICB0aGlzLl9mQ29udHJvbC5mQ29udHJvbENoaWxkcmVuID0gW3RoaXMuc3RhdGVDdHJsXTtcbiAgICByZXR1cm4gdGhpcy5fZkNvbnRyb2w7XG4gIH1cblxuICBwdWJsaWMgZmlsZUNoYW5nZShpbnB1dCk6IHZvaWQge1xuICAgIGlmIChpbnB1dC5maWxlc1swXSkge1xuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZXZlbnQgPT4ge1xuICAgICAgICBsZXQgcmVzdWx0ID0gZXZlbnQudGFyZ2V0WydyZXN1bHQnXTtcbiAgICAgICAgaWYgKHJlc3VsdCAmJiB0eXBlb2YgKHJlc3VsdCkgPT09ICdzdHJpbmcnICYmIFV0aWwuaXNCYXNlNjQocmVzdWx0KSkge1xuICAgICAgICAgIC8vIFJlbW92aW5nIFwiZGF0YTppbWFnZS8qO2Jhc2U2NCxcIlxuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5zdWJzdHJpbmcocmVzdWx0LmluZGV4T2YoJ2Jhc2U2NCcpICsgNyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRWYWx1ZShyZXN1bHQpO1xuICAgICAgICBpZiAodGhpcy5fZkNvbnRyb2wpIHtcbiAgICAgICAgICB0aGlzLl9mQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9LCBmYWxzZSk7XG4gICAgICBpZiAoaW5wdXQuZmlsZXNbMF0pIHtcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoaW5wdXQuZmlsZXNbMF0pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmN1cnJlbnRGaWxlTmFtZSA9IGlucHV0LmZpbGVzWzBdLm5hbWU7XG4gICAgICB0aGlzLnN0YXRlQ3RybC5zZXRWYWx1ZSh0aGlzLmN1cnJlbnRGaWxlTmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5vdEZvdW5kSW1hZ2VVcmwoZXZlbnQpOiBhbnkge1xuICAgIGV2ZW50LnRhcmdldC5zcmMgPSBVdGlsLmlzRGVmaW5lZCh0aGlzLm5vdGZvdW5kaW1hZ2UpID8gdGhpcy5ub3Rmb3VuZGltYWdlIDogJyc7XG4gIH1cblxuICBwcml2YXRlIGdldFNyY1ZhbHVlKCk6IGFueSB7XG5cbiAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlLnZhbHVlKSB7XG4gICAgICBpZiAodGhpcy52YWx1ZS52YWx1ZSBpbnN0YW5jZW9mIE9iamVjdCAmJiB0aGlzLnZhbHVlLnZhbHVlLmJ5dGVzKSB7XG4gICAgICAgIGxldCBzcmM6IHN0cmluZyA9ICcnO1xuICAgICAgICBpZiAodGhpcy52YWx1ZS52YWx1ZS5ieXRlcy5zdWJzdHJpbmcoMCwgNCkgPT09ICdkYXRhJykge1xuICAgICAgICAgIHNyYyA9ICdkYXRhOmltYWdlLyo7YmFzZTY0LCcgKyB0aGlzLnZhbHVlLnZhbHVlLmJ5dGVzLnN1YnN0cmluZyh0aGlzLnZhbHVlLnZhbHVlLmJ5dGVzLmluZGV4T2YoJ2Jhc2U2NCcpICsgNyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3JjID0gJ2RhdGE6aW1hZ2UvKjtiYXNlNjQsJyArIHRoaXMudmFsdWUudmFsdWUuYnl0ZXM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMub1NhZmUudHJhbnNmb3JtKHNyYywgJ3VybCcpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy52YWx1ZS52YWx1ZSA9PT0gJ3N0cmluZycgJiYgVXRpbC5pc0Jhc2U2NCh0aGlzLnZhbHVlLnZhbHVlKSkge1xuICAgICAgICBsZXQgc3JjOiBzdHJpbmcgPSAnJztcbiAgICAgICAgaWYgKHRoaXMudmFsdWUudmFsdWUuc3Vic3RyaW5nKDAsIDQpID09PSAnZGF0YScpIHtcbiAgICAgICAgICBzcmMgPSAnZGF0YTppbWFnZS8qO2Jhc2U2NCwnICsgdGhpcy52YWx1ZS52YWx1ZS5zdWJzdHJpbmcodGhpcy52YWx1ZS52YWx1ZS5pbmRleE9mKCdiYXNlNjQnKSArIDcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNyYyA9ICdkYXRhOmltYWdlLyo7YmFzZTY0LCcgKyB0aGlzLnZhbHVlLnZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLm9TYWZlLnRyYW5zZm9ybShzcmMsICd1cmwnKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnZhbHVlLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW1wdHlpbWFnZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuZW1wdHlpbWFnZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZW1wdHlpbWFnZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DbGlja0Jsb2NrZXIoZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrQ2xlYXJWYWx1ZShlOiBFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1JlYWRPbmx5ICYmIHRoaXMuZW5hYmxlZCkge1xuICAgICAgc3VwZXIub25DbGlja0NsZWFyVmFsdWUoZSk7XG4gICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICB0aGlzLnN0YXRlQ3RybC5yZXNldCgpO1xuICAgICAgdGhpcy5jdXJyZW50RmlsZU5hbWUgPSAnJztcbiAgICB9XG4gICAgaWYgKHRoaXMuX2ZDb250cm9sKSB7XG4gICAgICB0aGlzLl9mQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhc0NvbnRyb2xzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNob3dDb250cm9scztcbiAgfVxuXG4gIHB1YmxpYyB1c2VFbXB0eUljb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZUVtcHR5SWNvbiAmJiB0aGlzLmlzRW1wdHkoKTtcbiAgfVxuXG4gIHB1YmxpYyB1c2VFbXB0eUltYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl91c2VFbXB0eUltYWdlICYmIHRoaXMuaXNFbXB0eSgpO1xuICB9XG5cbiAgcHVibGljIGdldEZvcm1Hcm91cCgpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICBsZXQgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwID0gc3VwZXIuZ2V0Rm9ybUdyb3VwKCk7XG4gICAgaWYgKCFmb3JtR3JvdXApIHtcbiAgICAgIGZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcbiAgICAgIGZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuZ2V0QXR0cmlidXRlKCksIHRoaXMuZ2V0Q29udHJvbCgpKTtcbiAgICB9XG4gICAgcmV0dXJuIGZvcm1Hcm91cDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JylcbiAgZ2V0IGhvc3RIZWlnaHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5oZWlnaHQ7XG4gIH1cblxuICBwdWJsaWMgb3BlbkZ1bGxTY3JlZW4oZT86IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2cub3BlbihPRnVsbFNjcmVlbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc5MCUnLFxuICAgICAgaGVpZ2h0OiAnOTAlJyxcbiAgICAgIHJvbGU6ICdkaWFsb2cnLFxuICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgIHBhbmVsQ2xhc3M6ICdvLWltYWdlLWZ1bGxzY3JlZW4tZGlhbG9nLWNkay1vdmVybGF5JyxcbiAgICAgIGRhdGE6IHRoaXMuZ2V0U3JjVmFsdWUoKVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9wZW5GaWxlU2VsZWN0b3IoZT86IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuZmlsZUlucHV0KSkge1xuICAgICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbnRlcm5hbEZvcm1Db250cm9sKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCkgKyAnX3ZhbHVlJztcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlVmFsaWRhdG9ycygpOiBWYWxpZGF0b3JGbltdIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gc3VwZXIucmVzb2x2ZVZhbGlkYXRvcnMoKTtcbiAgICBpZiAoVXRpbC5pc0RlZmluZWQodGhpcy5tYXhGaWxlU2l6ZSkpIHtcbiAgICAgIHZhbGlkYXRvcnMucHVzaCh0aGlzLm1heEZpbGVTaXplVmFsaWRhdG9yLmJpbmQodGhpcykpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsaWRhdG9ycztcbiAgfVxuXG4gIHB1YmxpYyBzZXRWYWx1ZSh2YWw6IGFueSwgb3B0aW9uczogRm9ybVZhbHVlT3B0aW9ucyA9IHt9LCBzZXREaXJ0eTogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0VmFsdWUodmFsLCBvcHRpb25zLCBzZXREaXJ0eSk7XG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZCh0aGlzLmdldFZhbHVlKCkpIHx8ICF0aGlzLmN1cnJlbnRGaWxlTmFtZSkge1xuICAgICAgdGhpcy5zdGF0ZUN0cmwucmVzZXQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgbWF4RmlsZVNpemVWYWxpZGF0b3IoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUgJiYgY29udHJvbC52YWx1ZS5sZW5ndGggPiAwICYmIFV0aWwuaXNEZWZpbmVkKHRoaXMubWF4RmlsZVNpemUpKSB7XG4gICAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuZmlsZXMpKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmZpbGVzICYmICFBcnJheS5mcm9tPEZpbGU+KHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuZmlsZXMpLmV2ZXJ5KGZpbGUgPT4gZmlsZS5zaXplIDwgdGhpcy5tYXhGaWxlU2l6ZSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBmaWxlU2l6ZToge1xuICAgICAgICAgICAgbWF4RmlsZVNpemU6IHRoaXMubWF4RmlsZVNpemVcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qIFRoaXMgbWV0aG9kIGJlIHRyaWdnZXJlZCB3aGVuIGEgaW1hZ2UgaXMgZHJvcHBlZCBvbiBvdXIgaG9zdCBET00gZWxlbWVudCAuKi9cbiAgb25GaWxlRHJvcHBlZChwRmlsZUxpc3Q6IEZpbGVbXSkge1xuICAgIGNvbnN0IGZpbGVzID0gT2JqZWN0LmtleXMocEZpbGVMaXN0KS5tYXAoa2V5ID0+IHBGaWxlTGlzdFtrZXldKTtcbiAgICBjb25zdCBmaWxlTGlzdCA9IHRoaXMuY3JlYXRlRmlsZUxpc3RJdGVtcyhmaWxlcyk7XG5cblxuICAgIGNvbnN0IHZhbGlkID0gdGhpcy5hY2NlcHRGaWxlVHlwZS5yZXBsYWNlKC9cXHMvZywgJycpLnNwbGl0KCcsJykuZmlsdGVyKGFjY2VwdCA9PiBuZXcgUmVnRXhwKGFjY2VwdC5yZXBsYWNlKC9cXCovZywgJy5cXConKS5yZXBsYWNlKC9cXCwvZywgJ3wnKSkudGVzdChmaWxlTGlzdFswXS50eXBlKSkubGVuZ3RoID4gMFxuXG4gICAgaWYgKHZhbGlkKSB7XG4gICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmZpbGVzID0gZmlsZUxpc3Q7XG4gICAgICB0aGlzLmZpbGVDaGFuZ2UodGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgY3JlYXRlRmlsZUxpc3RJdGVtcyhmaWxlcykge1xuICAgIGNvbnN0IGIgPSBuZXcgQ2xpcGJvYXJkRXZlbnQoXCJcIikuY2xpcGJvYXJkRGF0YSB8fCBuZXcgRGF0YVRyYW5zZmVyKClcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gZmlsZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIGIuaXRlbXMuYWRkKGZpbGVzW2ldKVxuICAgIHJldHVybiBiLmZpbGVzXG4gIH1cblxuICBnZXRGaWxlTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRGaWxlTmFtZTtcbiAgfVxuXG4gIGdldEltYWdlRmlsZSgpOiBGaWxlIHtcbiAgICBpZiAodGhpcy5maWxlSW5wdXQgJiYgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5maWxlc1swXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZvaWQgKDApO1xuICAgIH1cbiAgfVxuXG4gIGhhc0Vycm9ySW5EcmFnQW5kRHJvcCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGb3JtQ29udHJvbCgpICYmIHRoaXMuZ2V0Rm9ybUNvbnRyb2woKS50b3VjaGVkICYmIHRoaXMuZ2V0Rm9ybUNvbnRyb2woKS5pbnZhbGlkICYmICF0aGlzLmhhc0NvbnRyb2xzKCkgJiYgdGhpcy5lbmFibGVkICYmICF0aGlzLmlzUmVhZE9ubHk7XG5cbiAgfVxuXG59XG4iLCI8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgW2Zvcm1Hcm91cF09XCJnZXRGb3JtR3JvdXAoKVwiIFtjbGFzcy5vLWltYWdlLWF1dG8tZml0XT1cImF1dG9GaXRcIiBjbGFzcz1cIm8taW1hZ2UtY29udGVudFwiIGZ4RmlsbD5cblxuICA8aW5wdXQgI2lucHV0IHR5cGU9XCJmaWxlXCIgW2Rpc2FibGVkXT1cIiFlbmFibGVkXCIgW2FjY2VwdF09XCJhY2NlcHRGaWxlVHlwZSA/IGFjY2VwdEZpbGVUeXBlLnJlcGxhY2UoJzsnLCcsJykgOiAnaW1hZ2UvKidcIiByZWFkb25seVxuICAgIChjaGFuZ2UpPVwiZmlsZUNoYW5nZShpbnB1dClcIiBjbGFzcz1cIm8taW1hZ2UtZm9ybS1maWVsZC1oaWRkZW5cIiAvPlxuXG4gIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImhhc0NvbnRyb2xzKClcIiBjbGFzcz1cIm8taW1hZ2UtZm9ybS1maWVsZFwiIFttYXRUb29sdGlwXT1cInRvb2x0aXBcIiBbbWF0VG9vbHRpcENsYXNzXT1cInRvb2x0aXBDbGFzc1wiXG4gICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb25cIiBbbWF0VG9vbHRpcFNob3dEZWxheV09XCJ0b29sdGlwU2hvd0RlbGF5XCIgW21hdFRvb2x0aXBIaWRlRGVsYXldPVwidG9vbHRpcEhpZGVEZWxheVwiXG4gICAgW3N1YnNjcmlwdFNpemluZ109XCJzdWJzY3JpcHRTaXppbmdcIj5cbiAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbaWRdPVwiZ2V0QXR0cmlidXRlKClcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImdldEF0dHJpYnV0ZSgpXCIgW3BsYWNlaG9sZGVyXT1cIm9sYWJlbCB8IG9UcmFuc2xhdGVcIiBbcmVxdWlyZWRdPVwiaXNSZXF1aXJlZFwiIHJlYWRvbmx5XG4gICAgICAoY2xpY2spPVwiaW5wdXQuY2xpY2soKVwiIChjaGFuZ2UpPVwib25DaGFuZ2VFdmVudCgkZXZlbnQpXCIgY2xhc3M9XCJvLWltYWdlLWZvcm0tZmllbGQtaW5wdXRcIj5cbiAgICA8aW5wdXQgbWF0SW5wdXQgcmVhZG9ubHkgKGNsaWNrKT1cImlucHV0LmNsaWNrKClcIiBbcGxhY2Vob2xkZXJdPVwib2xhYmVsIHwgb1RyYW5zbGF0ZVwiIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkXCIgW2Zvcm1Db250cm9sXT1cInN0YXRlQ3RybFwiIC8+XG5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cImZ1bGxTY3JlZW5CdXR0b25cIiBbZGlzYWJsZWRdPVwiIWVuYWJsZWRcIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuRnVsbFNjcmVlbigkZXZlbnQpXCI+XG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm9udGltaXplOmZ1bGxzY3JlZW5cIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtkaXNhYmxlZF09XCIhZW5hYmxlZFwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImlucHV0LmNsaWNrKClcIj5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwib250aW1pemU6Zm9sZGVyX29wZW5cIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtkaXNhYmxlZF09XCIhZW5hYmxlZFwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uQ2xpY2tDbGVhclZhbHVlKCRldmVudClcIj5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwib250aW1pemU6Y2xvc2VcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlcnJvcnNUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwiby1pbWFnZS1kaXNwbGF5LWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwieydvLWltYWdlLWRyYWctYW5kLWRyb3AnOiB0aGlzLmdldFZhbHVlKCk/Lmxlbmd0aCA9PT0gMCAsICdvLWltYWdlLWRyYWctYW5kLWRyb3AtcmVxdWlyZWQnOiBoYXNFcnJvckluRHJhZ0FuZERyb3AoKSB9XCIgZnhMYXlvdXRHYXA9XCIxNXB4XCIgb0ZpbGVEcmFnQW5kRHJvcFxuICAgIChvbkZpbGVEcm9wcGVkKT1cIm9uRmlsZURyb3BwZWQoJGV2ZW50KVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXBcIiBbbWF0VG9vbHRpcENsYXNzXT1cInRvb2x0aXBDbGFzc1wiIFttYXRUb29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uXCJcbiAgICBbbWF0VG9vbHRpcFNob3dEZWxheV09XCJ0b29sdGlwU2hvd0RlbGF5XCIgW21hdFRvb2x0aXBIaWRlRGVsYXldPVwidG9vbHRpcEhpZGVEZWxheVwiIFttYXRUb29sdGlwRGlzYWJsZWRdPVwiaGFzQ29udHJvbHMoKVwiPlxuXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCJ0aGlzLmdldFZhbHVlKCk/Lmxlbmd0aCAhPT0gMCAmJiAhaGFzQ29udHJvbHMoKSAmJiBlbmFibGVkICYmICFpc1JlYWRPbmx5XCIgKGNsaWNrKT1cIm9uQ2xpY2tDbGVhclZhbHVlKCRldmVudClcIlxuICAgICAgY2xhc3M9XCJvLWltYWdlLWJ1dHRvbi1yZW1vdmVcIj5cbiAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8aW1nICpuZ0lmPVwidGhpcy5nZXRWYWx1ZSgpPy5sZW5ndGggIT09IDBcIiBbc3JjXT1cInNyY1wiIGFsdD1cIlwiIChjbGljayk9XCJvcGVuRmlsZVNlbGVjdG9yKClcIiAoZXJyb3IpPVwibm90Rm91bmRJbWFnZVVybCgkZXZlbnQpXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsnby1pbWFnZS1jdXJzb3InOiAhaXNSZWFkT25seX1cIiAgKGtleURvd24pPVwib3BlbkZpbGVTZWxlY3RvcigpXCIvPlxuXG4gICAgPG1hdC1pY29uIGNsYXNzPVwiZW1wdHktaWNvblwiIFtjbGFzcy5tYXQtZGlzYWJsZWRdPVwiIWVuYWJsZWRcIiBhcmlhLWxhYmVsPVwiZW1wdHkgaW1hZ2VcIiAqbmdJZj1cInVzZUVtcHR5SWNvbigpXCI+XG4gICAgICB7eyBlbXB0eWljb24gfX1cbiAgICA8L21hdC1pY29uPlxuXG4gICAgPGltZyBbc3JjXT1cInNyY1wiIGFsdD1cImVtcHR5IGltYWdlXCIgKm5nSWY9XCJ1c2VFbXB0eUltYWdlKClcIiAvPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJtYXQtc3VidGl0bGUtMlwiICpuZ0lmPVwidGhpcy5nZXRWYWx1ZSgpPy5sZW5ndGggPT09IDBcIj57eyAnT0lNQUdFLlRFWFQuRFJPUCZEUkFHJyB8IG9UcmFuc2xhdGUgfX08L3NwYW4+XG5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9wZW5GaWxlU2VsZWN0b3IoKVwiICpuZ0lmPVwiIWhhc0NvbnRyb2xzKCkgJiYgdGhpcy5nZXRWYWx1ZSgpPy5sZW5ndGggPT09IDBcIiAoKT5cbiAgICAgIHt7ICdPSU1BR0UuQlVUVE9OLkJST1dTRUZJTEUnIHwgb1RyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNDb250cm9scygpICYmIGVuYWJsZWQgJiYgIWlzUmVhZE9ubHlcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlcnJvcnNUZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJpc1JlYWRPbmx5XCIgZnhGaWxsIGNsYXNzPVwicmVhZC1vbmx5LWJsb2NrZXJcIiAoY2xpY2spPVwib25DbGlja0Jsb2NrZXIoJGV2ZW50KVwiPjwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZXJyb3JzVGVtcGxhdGU+XG4gIDxtYXQtZXJyb3IgKm9NYXRFcnJvcj1cImhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XG4gICAge3sgJ0ZPUk1fVkFMSURBVElPTi5SRVFVSVJFRCcgfCBvVHJhbnNsYXRlIH19XG4gIDwvbWF0LWVycm9yPlxuICA8bWF0LWVycm9yICpvTWF0RXJyb3I9XCJoYXNFcnJvcignZmlsZVNpemUnKVwiPlxuICAgIHt7ICdGT1JNX1ZBTElEQVRJT04uRklMRV9NQVhTSVpFJyB8IG9UcmFuc2xhdGUgfX06IHt7IGdldEVycm9yVmFsdWUoJ2ZpbGVTaXplJywgJ21heEZpbGVTaXplJykgfX0gYnl0ZXNcbiAgPC9tYXQtZXJyb3I+XG48L25nLXRlbXBsYXRlPlxuIl19
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbWFnZS9vLWltYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL28taW1hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBcUIsUUFBUSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQWlDLE1BQU0sZ0JBQWdCLENBQUM7QUFDckcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBR3RGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHO0lBQ3BDLHlCQUF5QjtJQUV6QixnQ0FBZ0M7SUFFaEMsdUJB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dFJlZiwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IEJvb2xlYW5JbnB1dENvbnZlcnRlciwgTnVtYmVySW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5pbXBvcnQgeyBPU2FmZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9vLXNhZmUucGlwZSc7XG5pbXBvcnQgeyBGb3JtVmFsdWVPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBPRm9ybVZhbHVlIH0gZnJvbSAnLi4vZm9ybS9vLWZvcm0tdmFsdWUnO1xuaW1wb3J0IHsgT0Zvcm1Db21wb25lbnQgfSBmcm9tICcuLi9mb3JtL28tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT0Zvcm1Db250cm9sIH0gZnJvbSAnLi4vaW5wdXQvby1mb3JtLWNvbnRyb2wuY2xhc3MnO1xuaW1wb3J0IHsgT0Zvcm1EYXRhQ29tcG9uZW50IH0gZnJvbSAnLi4vby1mb3JtLWRhdGEtY29tcG9uZW50LmNsYXNzJztcbmltcG9ydCB7IE9GdWxsU2NyZWVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9mdWxsc2NyZWVuL2Z1bGxzY3JlZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5QVVRTX09fSU1BR0UgPSBbXG4gICdlbXB0eWltYWdlOiBlbXB0eS1pbWFnZScsXG4gIC8vIG5vdC1mb3VuZC1pbWFnZSBbc3RyaW5nXTogRGVmYXVsdCBpbWFnZSBmb3IgNDA0IGVycm9yLlxuICAnbm90Zm91bmRpbWFnZTogbm90LWZvdW5kLWltYWdlJyxcbiAgLy8gZW1wdHktaWNvbiBbc3RyaW5nXTogbWF0ZXJpYWwgaWNvbi4gRGVmYXVsdDogcGhvdG8uXG4gICdlbXB0eWljb246IGVtcHR5LWljb24nLFxuICAvLyBzaG93LWNvbnRyb2xzIFt5ZXN8bm8gdHJ1ZXxmYWxzZV06IFNob3dzIG9yIGhpZGVzIHNlbGVjdGlvbiBjb250cm9scy4gRGVmYXVsdDogdHJ1ZS5cbiAgJ3Nob3dDb250cm9sczogc2hvdy1jb250cm9scycsXG4gIC8vIGhlaWdodCBbJSB8IHB4XTogU2V0IHRoZSBoZWlnaHQgb2YgdGhlIGltYWdlLlxuICAnaGVpZ2h0JyxcbiAgLy8gYXV0by1maXQgW3llc3xubyB0cnVlfGZhbHNlXTogQWRqdXN0cyB0aGUgaW1hZ2UgdG8gdGhlIGNvbnRlbnQgb3Igbm90LiBEZWZhdWx0OiB0cnVlLlxuICAnYXV0b0ZpdDogYXV0by1maXQnLFxuICAnZnVsbFNjcmVlbkJ1dHRvbjogZnVsbC1zY3JlZW4tYnV0dG9uJyxcbiAgLy8gYWNjZXB0LWZpbGUtdHlwZSBbc3RyaW5nXTogZmlsZSB0eXBlcyBhbGxvd2VkIG9uIHRoZSBmaWxlIGlucHV0LCBzZXBhcmF0ZWQgYnkgJzsnLiBEZWZhdWx0OiBpbWFnZS8qLlxuICAvLyBmaWxlX2V4dGVuc2lvbiwgaW1hZ2UvKiwgbWVkaWFfdHlwZS4gU2VlIGh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vdGFncy9hdHRfaW5wdXRfYWNjZXB0LmFzcFxuICAnYWNjZXB0RmlsZVR5cGU6IGFjY2VwdC1maWxlLXR5cGUnLFxuICAvLyBtYXgtZmlsZS1zaXplIFtudW1iZXJdOiBtYXhpbXVtIGZpbGUgc2l6ZSBhbGxvd2VkLCBpbiBieXRlcy4gRGVmYXVsdDogbm8gdmFsdWUuXG4gICdtYXhGaWxlU2l6ZTogbWF4LWZpbGUtc2l6ZSdcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28taW1hZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vby1pbWFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL28taW1hZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgaW5wdXRzOiBERUZBVUxUX0lOUFVUU19PX0lNQUdFLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5vLWltYWdlXSc6ICd0cnVlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE9JbWFnZUNvbXBvbmVudCBleHRlbmRzIE9Gb3JtRGF0YUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgYWNjZXB0RmlsZVR5cGU6IHN0cmluZyA9ICdpbWFnZS8qJztcbiAgQE51bWJlcklucHV0Q29udmVydGVyKClcbiAgcHVibGljIG1heEZpbGVTaXplOiBudW1iZXI7XG4gIHB1YmxpYyBlbXB0eWltYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBub3Rmb3VuZGltYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBlbXB0eWljb246IHN0cmluZztcbiAgcHVibGljIGhlaWdodDogc3RyaW5nO1xuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgcHVibGljIGF1dG9GaXQ6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgY3VycmVudEZpbGVOYW1lOiBzdHJpbmcgPSAnJztcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHByb3RlY3RlZCBzaG93Q29udHJvbHM6IGJvb2xlYW4gPSB0cnVlO1xuICBzZXQgZnVsbFNjcmVlbkJ1dHRvbih2YWw6IGJvb2xlYW4pIHtcbiAgICB2YWwgPSBVdGlsLnBhcnNlQm9vbGVhbihTdHJpbmcodmFsKSk7XG4gICAgdGhpcy5fZnVsbFNjcmVlbkJ1dHRvbiA9IHZhbDtcbiAgfVxuICBnZXQgZnVsbFNjcmVlbkJ1dHRvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZnVsbFNjcmVlbkJ1dHRvbjtcbiAgfVxuICBwcm90ZWN0ZWQgX2Z1bGxTY3JlZW5CdXR0b24gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcpXG4gIHByb3RlY3RlZCBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XG4gIHByb3RlY3RlZCBfdXNlRW1wdHlJY29uOiBib29sZWFuID0gdHJ1ZTtcbiAgcHJvdGVjdGVkIF91c2VFbXB0eUltYWdlOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBvU2FmZTogT1NhZmVQaXBlO1xuICBwcm90ZWN0ZWQgZGlhbG9nOiBNYXREaWFsb2c7XG4gIHB1YmxpYyBzdGF0ZUN0cmw6IFVudHlwZWRGb3JtQ29udHJvbDtcbiAgcHVibGljIHNyYyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBPRm9ybUNvbXBvbmVudCkpIGZvcm06IE9Gb3JtQ29tcG9uZW50LFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtLCBlbFJlZiwgaW5qZWN0b3IpO1xuICAgIHRoaXMub1NhZmUgPSBuZXcgT1NhZmVQaXBlKGluamVjdG9yKTtcbiAgICB0aGlzLl9kZWZhdWx0U1FMVHlwZUtleSA9ICdCQVNFNjQnO1xuICAgIHRoaXMuZGlhbG9nID0gdGhpcy5pbmplY3Rvci5nZXQoTWF0RGlhbG9nKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgaWYgKHRoaXMuZW1wdHlpbWFnZSAmJiB0aGlzLmVtcHR5aW1hZ2UubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fdXNlRW1wdHlJY29uID0gZmFsc2U7XG4gICAgICB0aGlzLl91c2VFbXB0eUltYWdlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lbXB0eWljb24gPT09IHVuZGVmaW5lZCAmJiAhdGhpcy5fdXNlRW1wdHlJbWFnZSkge1xuICAgICAgdGhpcy5lbXB0eWljb24gPSAncGhvdG8nO1xuICAgICAgdGhpcy5fdXNlRW1wdHlJY29uID0gdHJ1ZTtcbiAgICAgIHRoaXMuX3VzZUVtcHR5SW1hZ2UgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgfVxuXG4gIHB1YmxpYyBlbnN1cmVPRm9ybVZhbHVlKHZhbDogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbCBpbnN0YW5jZW9mIE9Gb3JtVmFsdWUpIHtcbiAgICAgIGlmICh2YWwudmFsdWUgJiYgdmFsLnZhbHVlLmJ5dGVzKSB7XG4gICAgICAgIHZhbCA9IHZhbC52YWx1ZS5ieXRlcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbCA9IHZhbC52YWx1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHZhbCkge1xuICAgICAgaWYgKHZhbC5ieXRlcykge1xuICAgICAgICB2YWwgPSB2YWwuYnl0ZXM7XG4gICAgICB9IGVsc2UgaWYgKFV0aWwuaXNCYXNlNjQodmFsKSAmJiB2YWwuc3Vic3RyaW5nKDAsIDQpID09PSAnZGF0YScpIHtcbiAgICAgICAgLy8gUmVtb3ZpbmcgXCJkYXRhOmltYWdlLyo7YmFzZTY0LFwiXG4gICAgICAgIHZhbCA9IHZhbC5zdWJzdHJpbmcodmFsLmluZGV4T2YoJ2Jhc2U2NCcpICsgNyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IG5ldyBPRm9ybVZhbHVlKHZhbCk7XG5cbiAgICB0aGlzLnNyYyA9IHRoaXMuZ2V0U3JjVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldFZhbHVlKCk/Lmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVGb3JtQ29udHJvbChjZmc/OiB7IHZhbHVlOiBhbnksIGRpc2FibGVkOiBib29sZWFuIH0sIHZhbGlkYXRvcnM/OiBWYWxpZGF0b3JGbltdKTogT0Zvcm1Db250cm9sIHtcbiAgICB0aGlzLl9mQ29udHJvbCA9IHN1cGVyLmNyZWF0ZUZvcm1Db250cm9sKGNmZywgdmFsaWRhdG9ycyk7XG4gICAgdGhpcy5zdGF0ZUN0cmwgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHZvaWQgMCwgdGhpcy5yZXNvbHZlVmFsaWRhdG9ycygpKTtcbiAgICB0aGlzLl9mQ29udHJvbC5mQ29udHJvbENoaWxkcmVuID0gW3RoaXMuc3RhdGVDdHJsXTtcbiAgICByZXR1cm4gdGhpcy5fZkNvbnRyb2w7XG4gIH1cblxuICBwdWJsaWMgZmlsZUNoYW5nZShpbnB1dCk6IHZvaWQge1xuICAgIGlmIChpbnB1dC5maWxlc1swXSkge1xuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZXZlbnQgPT4ge1xuICAgICAgICBsZXQgcmVzdWx0ID0gZXZlbnQudGFyZ2V0WydyZXN1bHQnXTtcbiAgICAgICAgaWYgKHJlc3VsdCAmJiB0eXBlb2YgKHJlc3VsdCkgPT09ICdzdHJpbmcnICYmIFV0aWwuaXNCYXNlNjQocmVzdWx0KSkge1xuICAgICAgICAgIC8vIFJlbW92aW5nIFwiZGF0YTppbWFnZS8qO2Jhc2U2NCxcIlxuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5zdWJzdHJpbmcocmVzdWx0LmluZGV4T2YoJ2Jhc2U2NCcpICsgNyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRWYWx1ZShyZXN1bHQpO1xuICAgICAgICBpZiAodGhpcy5fZkNvbnRyb2wpIHtcbiAgICAgICAgICB0aGlzLl9mQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9LCBmYWxzZSk7XG4gICAgICBpZiAoaW5wdXQuZmlsZXNbMF0pIHtcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoaW5wdXQuZmlsZXNbMF0pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmN1cnJlbnRGaWxlTmFtZSA9IGlucHV0LmZpbGVzWzBdLm5hbWU7XG4gICAgICB0aGlzLnN0YXRlQ3RybC5zZXRWYWx1ZSh0aGlzLmN1cnJlbnRGaWxlTmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5vdEZvdW5kSW1hZ2VVcmwoZXZlbnQpOiBhbnkge1xuICAgIGV2ZW50LnRhcmdldC5zcmMgPSBVdGlsLmlzRGVmaW5lZCh0aGlzLm5vdGZvdW5kaW1hZ2UpID8gdGhpcy5ub3Rmb3VuZGltYWdlIDogJyc7XG4gIH1cblxuICBwcml2YXRlIGdldFNyY1ZhbHVlKCk6IGFueSB7XG5cbiAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlLnZhbHVlKSB7XG4gICAgICBpZiAodGhpcy52YWx1ZS52YWx1ZSBpbnN0YW5jZW9mIE9iamVjdCAmJiB0aGlzLnZhbHVlLnZhbHVlLmJ5dGVzKSB7XG4gICAgICAgIGxldCBzcmM6IHN0cmluZyA9ICcnO1xuICAgICAgICBpZiAodGhpcy52YWx1ZS52YWx1ZS5ieXRlcy5zdWJzdHJpbmcoMCwgNCkgPT09ICdkYXRhJykge1xuICAgICAgICAgIHNyYyA9ICdkYXRhOmltYWdlLyo7YmFzZTY0LCcgKyB0aGlzLnZhbHVlLnZhbHVlLmJ5dGVzLnN1YnN0cmluZyh0aGlzLnZhbHVlLnZhbHVlLmJ5dGVzLmluZGV4T2YoJ2Jhc2U2NCcpICsgNyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3JjID0gJ2RhdGE6aW1hZ2UvKjtiYXNlNjQsJyArIHRoaXMudmFsdWUudmFsdWUuYnl0ZXM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMub1NhZmUudHJhbnNmb3JtKHNyYywgJ3VybCcpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy52YWx1ZS52YWx1ZSA9PT0gJ3N0cmluZycgJiYgVXRpbC5pc0Jhc2U2NCh0aGlzLnZhbHVlLnZhbHVlKSkge1xuICAgICAgICBsZXQgc3JjOiBzdHJpbmcgPSAnJztcbiAgICAgICAgaWYgKHRoaXMudmFsdWUudmFsdWUuc3Vic3RyaW5nKDAsIDQpID09PSAnZGF0YScpIHtcbiAgICAgICAgICBzcmMgPSAnZGF0YTppbWFnZS8qO2Jhc2U2NCwnICsgdGhpcy52YWx1ZS52YWx1ZS5zdWJzdHJpbmcodGhpcy52YWx1ZS52YWx1ZS5pbmRleE9mKCdiYXNlNjQnKSArIDcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNyYyA9ICdkYXRhOmltYWdlLyo7YmFzZTY0LCcgKyB0aGlzLnZhbHVlLnZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLm9TYWZlLnRyYW5zZm9ybShzcmMsICd1cmwnKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnZhbHVlLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW1wdHlpbWFnZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuZW1wdHlpbWFnZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZW1wdHlpbWFnZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DbGlja0Jsb2NrZXIoZXZ0OiBFdmVudCk6IHZvaWQge1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrQ2xlYXJWYWx1ZShlOiBFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1JlYWRPbmx5ICYmIHRoaXMuZW5hYmxlZCkge1xuICAgICAgc3VwZXIub25DbGlja0NsZWFyVmFsdWUoZSk7XG4gICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICB0aGlzLnN0YXRlQ3RybC5yZXNldCgpO1xuICAgICAgdGhpcy5jdXJyZW50RmlsZU5hbWUgPSAnJztcbiAgICB9XG4gICAgaWYgKHRoaXMuX2ZDb250cm9sKSB7XG4gICAgICB0aGlzLl9mQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhc0NvbnRyb2xzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNob3dDb250cm9scztcbiAgfVxuXG4gIHB1YmxpYyB1c2VFbXB0eUljb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZUVtcHR5SWNvbiAmJiB0aGlzLmlzRW1wdHkoKTtcbiAgfVxuXG4gIHB1YmxpYyB1c2VFbXB0eUltYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl91c2VFbXB0eUltYWdlICYmIHRoaXMuaXNFbXB0eSgpO1xuICB9XG5cbiAgcHVibGljIGdldEZvcm1Hcm91cCgpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICBsZXQgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwID0gc3VwZXIuZ2V0Rm9ybUdyb3VwKCk7XG4gICAgaWYgKCFmb3JtR3JvdXApIHtcbiAgICAgIGZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcbiAgICAgIGZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuZ2V0QXR0cmlidXRlKCksIHRoaXMuZ2V0Q29udHJvbCgpKTtcbiAgICB9XG4gICAgcmV0dXJuIGZvcm1Hcm91cDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JylcbiAgZ2V0IGhvc3RIZWlnaHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5oZWlnaHQ7XG4gIH1cblxuICBwdWJsaWMgb3BlbkZ1bGxTY3JlZW4oZT86IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2cub3BlbihPRnVsbFNjcmVlbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc5MCUnLFxuICAgICAgaGVpZ2h0OiAnOTAlJyxcbiAgICAgIHJvbGU6ICdkaWFsb2cnLFxuICAgICAgZGlzYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgIHBhbmVsQ2xhc3M6ICdvLWltYWdlLWZ1bGxzY3JlZW4tZGlhbG9nLWNkay1vdmVybGF5JyxcbiAgICAgIGRhdGE6IHRoaXMuZ2V0U3JjVmFsdWUoKVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9wZW5GaWxlU2VsZWN0b3IoZT86IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuZmlsZUlucHV0KSkge1xuICAgICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbnRlcm5hbEZvcm1Db250cm9sKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCkgKyAnX3ZhbHVlJztcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlVmFsaWRhdG9ycygpOiBWYWxpZGF0b3JGbltdIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gc3VwZXIucmVzb2x2ZVZhbGlkYXRvcnMoKTtcbiAgICBpZiAoVXRpbC5pc0RlZmluZWQodGhpcy5tYXhGaWxlU2l6ZSkpIHtcbiAgICAgIHZhbGlkYXRvcnMucHVzaCh0aGlzLm1heEZpbGVTaXplVmFsaWRhdG9yLmJpbmQodGhpcykpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsaWRhdG9ycztcbiAgfVxuXG4gIHB1YmxpYyBzZXRWYWx1ZSh2YWw6IGFueSwgb3B0aW9uczogRm9ybVZhbHVlT3B0aW9ucyA9IHt9LCBzZXREaXJ0eTogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0VmFsdWUodmFsLCBvcHRpb25zLCBzZXREaXJ0eSk7XG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZCh0aGlzLmdldFZhbHVlKCkpIHx8ICF0aGlzLmN1cnJlbnRGaWxlTmFtZSkge1xuICAgICAgdGhpcy5zdGF0ZUN0cmwucmVzZXQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgbWF4RmlsZVNpemVWYWxpZGF0b3IoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUgJiYgY29udHJvbC52YWx1ZS5sZW5ndGggPiAwICYmIFV0aWwuaXNEZWZpbmVkKHRoaXMubWF4RmlsZVNpemUpKSB7XG4gICAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuZmlsZXMpKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmZpbGVzICYmICFBcnJheS5mcm9tPEZpbGU+KHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuZmlsZXMpLmV2ZXJ5KGZpbGUgPT4gZmlsZS5zaXplIDwgdGhpcy5tYXhGaWxlU2l6ZSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBmaWxlU2l6ZToge1xuICAgICAgICAgICAgbWF4RmlsZVNpemU6IHRoaXMubWF4RmlsZVNpemVcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qIFRoaXMgbWV0aG9kIGJlIHRyaWdnZXJlZCB3aGVuIGEgaW1hZ2UgaXMgZHJvcHBlZCBvbiBvdXIgaG9zdCBET00gZWxlbWVudCAuKi9cbiAgb25GaWxlRHJvcHBlZChwRmlsZUxpc3Q6IEZpbGVbXSkge1xuICAgIGNvbnN0IGZpbGVzID0gT2JqZWN0LmtleXMocEZpbGVMaXN0KS5tYXAoa2V5ID0+IHBGaWxlTGlzdFtrZXldKTtcbiAgICBjb25zdCBmaWxlTGlzdCA9IHRoaXMuY3JlYXRlRmlsZUxpc3RJdGVtcyhmaWxlcyk7XG5cblxuICAgIGNvbnN0IHZhbGlkID0gdGhpcy5hY2NlcHRGaWxlVHlwZS5yZXBsYWNlKC9cXHMvZywgJycpLnNwbGl0KCcsJykuZmlsdGVyKGFjY2VwdCA9PiBuZXcgUmVnRXhwKGFjY2VwdC5yZXBsYWNlKC9cXCovZywgJy5cXConKS5yZXBsYWNlKC9cXCwvZywgJ3wnKSkudGVzdChmaWxlTGlzdFswXS50eXBlKSkubGVuZ3RoID4gMFxuXG4gICAgaWYgKHZhbGlkKSB7XG4gICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmZpbGVzID0gZmlsZUxpc3Q7XG4gICAgICB0aGlzLmZpbGVDaGFuZ2UodGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgY3JlYXRlRmlsZUxpc3RJdGVtcyhmaWxlcykge1xuICAgIGNvbnN0IGIgPSBuZXcgQ2xpcGJvYXJkRXZlbnQoXCJcIikuY2xpcGJvYXJkRGF0YSB8fCBuZXcgRGF0YVRyYW5zZmVyKClcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gZmlsZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIGIuaXRlbXMuYWRkKGZpbGVzW2ldKVxuICAgIHJldHVybiBiLmZpbGVzXG4gIH1cblxuICBnZXRGaWxlTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRGaWxlTmFtZTtcbiAgfVxuXG4gIGdldEltYWdlRmlsZSgpOiBGaWxlIHtcbiAgICBpZiAodGhpcy5maWxlSW5wdXQgJiYgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5maWxlc1swXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZvaWQgKDApO1xuICAgIH1cbiAgfVxuXG4gIGhhc0Vycm9ySW5EcmFnQW5kRHJvcCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRGb3JtQ29udHJvbCgpICYmIHRoaXMuZ2V0Rm9ybUNvbnRyb2woKS50b3VjaGVkICYmIHRoaXMuZ2V0Rm9ybUNvbnRyb2woKS5pbnZhbGlkICYmICF0aGlzLmhhc0NvbnRyb2xzKCkgJiYgdGhpcy5lbmFibGVkICYmICF0aGlzLmlzUmVhZE9ubHk7XG5cbiAgfVxuXG59XG4iLCI8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgW2Zvcm1Hcm91cF09XCJnZXRGb3JtR3JvdXAoKVwiIFtjbGFzcy5vLWltYWdlLWF1dG8tZml0XT1cImF1dG9GaXRcIiBjbGFzcz1cIm8taW1hZ2UtY29udGVudFwiIGZ4RmlsbD5cblxuICA8aW5wdXQgI2lucHV0IHR5cGU9XCJmaWxlXCIgW2Rpc2FibGVkXT1cIiFlbmFibGVkXCIgW2FjY2VwdF09XCJhY2NlcHRGaWxlVHlwZSA/IGFjY2VwdEZpbGVUeXBlLnJlcGxhY2UoJzsnLCcsJykgOiAnaW1hZ2UvKidcIiByZWFkb25seVxuICAgIChjaGFuZ2UpPVwiZmlsZUNoYW5nZShpbnB1dClcIiBjbGFzcz1cIm8taW1hZ2UtZm9ybS1maWVsZC1oaWRkZW5cIiAvPlxuXG4gIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImhhc0NvbnRyb2xzKClcIiBjbGFzcz1cIm8taW1hZ2UtZm9ybS1maWVsZFwiIFttYXRUb29sdGlwXT1cInRvb2x0aXBcIiBbbWF0VG9vbHRpcENsYXNzXT1cInRvb2x0aXBDbGFzc1wiXG4gICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb25cIiBbbWF0VG9vbHRpcFNob3dEZWxheV09XCJ0b29sdGlwU2hvd0RlbGF5XCIgW21hdFRvb2x0aXBIaWRlRGVsYXldPVwidG9vbHRpcEhpZGVEZWxheVwiXG4gICAgW3N1YnNjcmlwdFNpemluZ109XCJzdWJzY3JpcHRTaXppbmdcIj5cbiAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbaWRdPVwiZ2V0QXR0cmlidXRlKClcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImdldEF0dHJpYnV0ZSgpXCIgW3BsYWNlaG9sZGVyXT1cIm9sYWJlbCB8IG9UcmFuc2xhdGVcIiBbcmVxdWlyZWRdPVwiaXNSZXF1aXJlZFwiIHJlYWRvbmx5XG4gICAgICAoY2xpY2spPVwiaW5wdXQuY2xpY2soKVwiIChjaGFuZ2UpPVwib25DaGFuZ2VFdmVudCgkZXZlbnQpXCIgY2xhc3M9XCJvLWltYWdlLWZvcm0tZmllbGQtaW5wdXRcIj5cbiAgICA8aW5wdXQgbWF0SW5wdXQgcmVhZG9ubHkgKGNsaWNrKT1cImlucHV0LmNsaWNrKClcIiBbcGxhY2Vob2xkZXJdPVwib2xhYmVsIHwgb1RyYW5zbGF0ZVwiIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkXCIgW2Zvcm1Db250cm9sXT1cInN0YXRlQ3RybFwiIC8+XG5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cImZ1bGxTY3JlZW5CdXR0b25cIiBbZGlzYWJsZWRdPVwiIWVuYWJsZWRcIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvcGVuRnVsbFNjcmVlbigkZXZlbnQpXCI+XG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm9udGltaXplOmZ1bGxzY3JlZW5cIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtkaXNhYmxlZF09XCIhZW5hYmxlZFwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImlucHV0LmNsaWNrKClcIj5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwib250aW1pemU6Zm9sZGVyX29wZW5cIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtkaXNhYmxlZF09XCIhZW5hYmxlZFwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uQ2xpY2tDbGVhclZhbHVlKCRldmVudClcIj5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwib250aW1pemU6Y2xvc2VcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlcnJvcnNUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwiby1pbWFnZS1kaXNwbGF5LWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwieydvLWltYWdlLWRyYWctYW5kLWRyb3AnOiB0aGlzLmdldFZhbHVlKCk/Lmxlbmd0aCA9PT0gMCAsICdvLWltYWdlLWRyYWctYW5kLWRyb3AtcmVxdWlyZWQnOiBoYXNFcnJvckluRHJhZ0FuZERyb3AoKSB9XCIgZnhMYXlvdXRHYXA9XCIxNXB4XCIgb0ZpbGVEcmFnQW5kRHJvcFxuICAgIChvbkZpbGVEcm9wcGVkKT1cIm9uRmlsZURyb3BwZWQoJGV2ZW50KVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXBcIiBbbWF0VG9vbHRpcENsYXNzXT1cInRvb2x0aXBDbGFzc1wiIFttYXRUb29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uXCJcbiAgICBbbWF0VG9vbHRpcFNob3dEZWxheV09XCJ0b29sdGlwU2hvd0RlbGF5XCIgW21hdFRvb2x0aXBIaWRlRGVsYXldPVwidG9vbHRpcEhpZGVEZWxheVwiIFttYXRUb29sdGlwRGlzYWJsZWRdPVwiaGFzQ29udHJvbHMoKVwiPlxuXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCJ0aGlzLmdldFZhbHVlKCk/Lmxlbmd0aCAhPT0gMCAmJiAhaGFzQ29udHJvbHMoKSAmJiBlbmFibGVkICYmICFpc1JlYWRPbmx5XCIgKGNsaWNrKT1cIm9uQ2xpY2tDbGVhclZhbHVlKCRldmVudClcIlxuICAgICAgY2xhc3M9XCJvLWltYWdlLWJ1dHRvbi1yZW1vdmVcIj5cbiAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8aW1nICpuZ0lmPVwidGhpcy5nZXRWYWx1ZSgpPy5sZW5ndGggIT09IDBcIiBbc3JjXT1cInNyY1wiIGFsdD1cIlwiIChjbGljayk9XCJvcGVuRmlsZVNlbGVjdG9yKClcIiAoZXJyb3IpPVwibm90Rm91bmRJbWFnZVVybCgkZXZlbnQpXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsnby1pbWFnZS1jdXJzb3InOiAhaXNSZWFkT25seX1cIiAgKGtleURvd24pPVwib3BlbkZpbGVTZWxlY3RvcigpXCIvPlxuXG4gICAgPG1hdC1pY29uIGNsYXNzPVwiZW1wdHktaWNvblwiIFtjbGFzcy5tYXQtZGlzYWJsZWRdPVwiIWVuYWJsZWRcIiBhcmlhLWxhYmVsPVwiZW1wdHkgaW1hZ2VcIiAqbmdJZj1cInVzZUVtcHR5SWNvbigpXCI+XG4gICAgICB7eyBlbXB0eWljb24gfX1cbiAgICA8L21hdC1pY29uPlxuXG4gICAgPGltZyBbc3JjXT1cInNyY1wiIGFsdD1cImVtcHR5IGltYWdlXCIgKm5nSWY9XCJ1c2VFbXB0eUltYWdlKClcIiAvPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJtYXQtc3VidGl0bGUtMlwiICpuZ0lmPVwidGhpcy5nZXRWYWx1ZSgpPy5sZW5ndGggPT09IDBcIj57eyAnT0lNQUdFLlRFWFQuRFJPUCZEUkFHJyB8IG9UcmFuc2xhdGUgfX08L3NwYW4+XG5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9wZW5GaWxlU2VsZWN0b3IoKVwiICpuZ0lmPVwiIWhhc0NvbnRyb2xzKCkgJiYgdGhpcy5nZXRWYWx1ZSgpPy5sZW5ndGggPT09IDBcIiAoKT5cbiAgICAgIHt7ICdPSU1BR0UuQlVUVE9OLkJST1dTRUZJTEUnIHwgb1RyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNDb250cm9scygpICYmIGVuYWJsZWQgJiYgIWlzUmVhZE9ubHlcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlcnJvcnNUZW1wbGF0ZVwiPiA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJpc1JlYWRPbmx5XCIgZnhGaWxsIGNsYXNzPVwicmVhZC1vbmx5LWJsb2NrZXJcIiAoY2xpY2spPVwib25DbGlja0Jsb2NrZXIoJGV2ZW50KVwiPjwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZXJyb3JzVGVtcGxhdGU+XG4gIDxtYXQtZXJyb3IgKm9NYXRFcnJvcj1cImhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XG4gICAge3sgJ0ZPUk1fVkFMSURBVElPTi5SRVFVSVJFRCcgfCBvVHJhbnNsYXRlIH19XG4gIDwvbWF0LWVycm9yPlxuICA8bWF0LWVycm9yICpvTWF0RXJyb3I9XCJoYXNFcnJvcignZmlsZVNpemUnKVwiPlxuICAgIHt7ICdGT1JNX1ZBTElEQVRJT04uRklMRV9NQVhTSVpFJyB8IG9UcmFuc2xhdGUgfX06IHt7IGdldEVycm9yVmFsdWUoJ2ZpbGVTaXplJywgJ21heEZpbGVTaXplJykgfX0gYnl0ZXNcbiAgPC9tYXQtZXJyb3I+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -6,10 +6,10 @@ import { OImageComponent } from './o-image.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export class OImageModule {
8
8
  }
9
- OImageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- OImageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: OImageModule, declarations: [OImageComponent, OFullScreenDialogComponent], imports: [CommonModule, OSharedModule], exports: [OImageComponent, OFullScreenDialogComponent] });
11
- OImageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OImageModule, imports: [CommonModule, OSharedModule] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OImageModule, decorators: [{
9
+ OImageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ OImageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: OImageModule, declarations: [OImageComponent, OFullScreenDialogComponent], imports: [CommonModule, OSharedModule], exports: [OImageComponent, OFullScreenDialogComponent] });
11
+ OImageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OImageModule, imports: [CommonModule, OSharedModule] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OImageModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [OImageComponent, OFullScreenDialogComponent],
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
17
17
  exports: [OImageComponent, OFullScreenDialogComponent]
18
18
  }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1pbWFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbWFnZS9vLWltYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU90RCxNQUFNLE9BQU8sWUFBWTs7eUdBQVosWUFBWTswR0FBWixZQUFZLGlCQUpOLGVBQWUsRUFBRSwwQkFBMEIsYUFDaEQsWUFBWSxFQUFFLGFBQWEsYUFDM0IsZUFBZSxFQUFFLDBCQUEwQjswR0FFNUMsWUFBWSxZQUhYLFlBQVksRUFBRSxhQUFhOzJGQUc1QixZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSwwQkFBMEIsQ0FBQztvQkFDM0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLDBCQUEwQixDQUFDO2lCQUN6RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgT0Z1bGxTY3JlZW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2Z1bGxzY3JlZW4vZnVsbHNjcmVlbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IE9JbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vby1pbWFnZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW09JbWFnZUNvbXBvbmVudCwgT0Z1bGxTY3JlZW5EaWFsb2dDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE9TaGFyZWRNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtPSW1hZ2VDb21wb25lbnQsIE9GdWxsU2NyZWVuRGlhbG9nQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBPSW1hZ2VNb2R1bGUgeyB9XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1pbWFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbWFnZS9vLWltYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU90RCxNQUFNLE9BQU8sWUFBWTs7MEdBQVosWUFBWTsyR0FBWixZQUFZLGlCQUpOLGVBQWUsRUFBRSwwQkFBMEIsYUFDaEQsWUFBWSxFQUFFLGFBQWEsYUFDM0IsZUFBZSxFQUFFLDBCQUEwQjsyR0FFNUMsWUFBWSxZQUhYLFlBQVksRUFBRSxhQUFhOzRGQUc1QixZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSwwQkFBMEIsQ0FBQztvQkFDM0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLDBCQUEwQixDQUFDO2lCQUN6RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgT0Z1bGxTY3JlZW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2Z1bGxzY3JlZW4vZnVsbHNjcmVlbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IE9JbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vby1pbWFnZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW09JbWFnZUNvbXBvbmVudCwgT0Z1bGxTY3JlZW5EaWFsb2dDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE9TaGFyZWRNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtPSW1hZ2VDb21wb25lbnQsIE9GdWxsU2NyZWVuRGlhbG9nQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBPSW1hZ2VNb2R1bGUgeyB9XG4iXX0=
@@ -28,9 +28,9 @@ export class OCheckboxComponent extends OBooleanFormDataComponent {
28
28
  };
29
29
  }
30
30
  }
31
- OCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OCheckboxComponent, deps: [{ token: forwardRef(() => OFormComponent), optional: true }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
32
- OCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OCheckboxComponent, selector: "o-checkbox", inputs: { color: "color", labelPosition: ["label-position", "labelPosition"] }, host: { properties: { "class.o-checkbox": "true" } }, usesInheritance: true, ngImport: i0, template: "<div [class.custom-width]=\"hasCustomWidth\" [formGroup]=\"getFormGroup()\" class=\"relative\" [matTooltip]=\"tooltip\"\n [matTooltipClass]=\"tooltipClass\" [matTooltipPosition]=\"tooltipPosition\" [matTooltipShowDelay]=\"tooltipShowDelay\"\n [matTooltipHideDelay]=\"tooltipHideDelay\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFill>\n <mat-checkbox [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" (change)=\"onChangeEvent($event)\"\n [labelPosition]=\"labelPosition\" [color]=\"color\">\n {{ olabel | oTranslate }}\n <mat-error *oMatError=\"hasError('required')\">\n {{ 'FORM_VALIDATION.REQUIRED' | oTranslate }}\n </mat-error>\n <mat-error *ngFor=\"let oError of getActiveOErrors()\">\n {{ oError.text | oTranslate }}\n </mat-error>\n </mat-checkbox>\n <div *ngIf=\"isReadOnly\" (click)=\"onClickBlocker($event)\" class=\"read-only-blocker\" fxFill></div>\n</div>", styles: [".o-checkbox mat-checkbox{z-index:1}.o-checkbox .custom-width{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-checkbox .read-only-blocker{z-index:2;position:absolute;top:0;left:0;right:0}\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: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.OMatErrorDirective, selector: "[oMatError]", inputs: ["oMatError"] }, { kind: "component", type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i8.OTranslatePipe, name: "oTranslate" }], encapsulation: i0.ViewEncapsulation.None });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OCheckboxComponent, decorators: [{
31
+ OCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OCheckboxComponent, deps: [{ token: forwardRef(() => OFormComponent), optional: true }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
32
+ OCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OCheckboxComponent, selector: "o-checkbox", inputs: { color: "color", labelPosition: ["label-position", "labelPosition"] }, host: { properties: { "class.o-checkbox": "true" } }, usesInheritance: true, ngImport: i0, template: "<div [class.custom-width]=\"hasCustomWidth\" [formGroup]=\"getFormGroup()\" class=\"relative\" [matTooltip]=\"tooltip\"\n [matTooltipClass]=\"tooltipClass\" [matTooltipPosition]=\"tooltipPosition\" [matTooltipShowDelay]=\"tooltipShowDelay\"\n [matTooltipHideDelay]=\"tooltipHideDelay\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFill>\n <mat-checkbox [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" (change)=\"onChangeEvent($event)\"\n [labelPosition]=\"labelPosition\" [color]=\"color\">\n {{ olabel | oTranslate }}\n <mat-error *oMatError=\"hasError('required')\">\n {{ 'FORM_VALIDATION.REQUIRED' | oTranslate }}\n </mat-error>\n <mat-error *ngFor=\"let oError of getActiveOErrors()\">\n {{ oError.text | oTranslate }}\n </mat-error>\n </mat-checkbox>\n <div *ngIf=\"isReadOnly\" (click)=\"onClickBlocker($event)\" class=\"read-only-blocker\" fxFill></div>\n</div>", styles: [".o-checkbox mat-checkbox{z-index:1}.o-checkbox .custom-width{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-checkbox .read-only-blocker{z-index:2;position:absolute;top:0;left:0;right:0}\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: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.OMatErrorDirective, selector: "[oMatError]", inputs: ["oMatError"] }, { kind: "component", type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i8.OTranslatePipe, name: "oTranslate" }], encapsulation: i0.ViewEncapsulation.None });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OCheckboxComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{ selector: 'o-checkbox', inputs: DEFAULT_INPUTS_O_CHECKBOX, encapsulation: ViewEncapsulation.None, host: {
36
36
  '[class.o-checkbox]': 'true'
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
41
41
  type: Inject,
42
42
  args: [forwardRef(() => OFormComponent)]
43
43
  }] }, { type: i0.ElementRef }, { type: i0.Injector }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9jaGVja2JveC9vLWNoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NoZWNrYm94L28tY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFHbkYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUc7SUFFdkMsT0FBTztJQUVQLCtCQUErQjtDQUNoQyxDQUFDO0FBYUYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHlCQUF5QjtJQUsvRCxZQUN3RCxJQUFvQixFQUMxRSxLQUFpQixFQUNqQixRQUFrQjtRQUVsQixLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQVB4QixrQkFBYSxHQUF1QixPQUFPLENBQUM7SUFRbkQsQ0FBQztJQUVELFVBQVU7UUFDUixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFHbkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEVBQW1CLENBQUMsUUFBUSxHQUFHO1lBQ2pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUNyRSxDQUFDLENBQUM7SUFDSixDQUFDOzsrR0FyQlUsa0JBQWtCLGtCQU1QLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7bUdBTjNDLGtCQUFrQiwrTUN6Qi9CLHk1QkFjTTsyRkRXTyxrQkFBa0I7a0JBVjlCLFNBQVM7K0JBQ0UsWUFBWSxVQUNkLHlCQUF5QixpQkFHbEIsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixvQkFBb0IsRUFBRSxNQUFNO3FCQUM3Qjs7MEJBUUUsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5pbXBvcnQgeyBPRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvcm0vby1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPQm9vbGVhbkZvcm1EYXRhQ29tcG9uZW50IH0gZnJvbSAnLi4vby1ib29sZWFuLWZvcm0tZGF0YS1jb21wb25lbnQuY2xhc3MnO1xuaW1wb3J0IHsgT0Zvcm1Db250cm9sIH0gZnJvbSAnLi4vby1mb3JtLWNvbnRyb2wuY2xhc3MnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlBVVFNfT19DSEVDS0JPWCA9IFtcbiAgLy8gY29sb3I6IFRoZW1lIGNvbG9yIHBhbGV0dGUgZm9yIHRoZSBjb21wb25lbnQuXG4gICdjb2xvcicsXG4gIC8vIGxhYmVsLXBvc2l0aW9uOiBXaGV0aGVyIHRoZSBsYWJlbCBzaG91bGQgYXBwZWFyIGFmdGVyIG9yIGJlZm9yZSB0aGUgc2xpZGUtdG9nZ2xlLiBEZWZhdWx0cyB0byAnYWZ0ZXInXG4gICdsYWJlbFBvc2l0aW9uOiBsYWJlbC1wb3NpdGlvbidcbl07XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby1jaGVja2JveCcsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19DSEVDS0JPWCxcbiAgdGVtcGxhdGVVcmw6ICcuL28tY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vLWNoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm8tY2hlY2tib3hdJzogJ3RydWUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgT0NoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgT0Jvb2xlYW5Gb3JtRGF0YUNvbXBvbmVudCB7XG5cbiAgcHVibGljIGNvbG9yOiBUaGVtZVBhbGV0dGU7XG4gIHB1YmxpYyBsYWJlbFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgPSAnYWZ0ZXInO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBPRm9ybUNvbXBvbmVudCkpIGZvcm06IE9Gb3JtQ29tcG9uZW50LFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtLCBlbFJlZiwgaW5qZWN0b3IpO1xuICB9XG5cbiAgaW5pdGlhbGl6ZSgpIHtcbiAgICBzdXBlci5pbml0aWFsaXplKCk7XG5cbiAgICAvLyBPdmVycmlkZSBGb3JtQ29udHJvbCBnZXRWYWx1ZSBpbiBvcmRlciB0byByZXR1cm4gdGhlIGFwcHJvcHJpYXRlIHZhbHVlIGluc3RlYWQgb2YgdGhlIGNoZWNrYm94IGludGVybmFsIGJvb2xlYW4gdmFsdWVcbiAgICBjb25zdCBjaGVja2JveEN0eCA9IHRoaXM7XG4gICAgKHRoaXMuZ2V0Rm9ybUNvbnRyb2woKSBhcyBPRm9ybUNvbnRyb2wpLmdldFZhbHVlID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPyBjaGVja2JveEN0eC50cnVlVmFsdWUgOiBjaGVja2JveEN0eC5mYWxzZVZhbHVlO1xuICAgIH07XG4gIH1cblxufVxuIiwiPGRpdiBbY2xhc3MuY3VzdG9tLXdpZHRoXT1cImhhc0N1c3RvbVdpZHRoXCIgW2Zvcm1Hcm91cF09XCJnZXRGb3JtR3JvdXAoKVwiIGNsYXNzPVwicmVsYXRpdmVcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwXCJcbiAgW21hdFRvb2x0aXBDbGFzc109XCJ0b29sdGlwQ2xhc3NcIiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvblwiIFttYXRUb29sdGlwU2hvd0RlbGF5XT1cInRvb2x0aXBTaG93RGVsYXlcIlxuICBbbWF0VG9vbHRpcEhpZGVEZWxheV09XCJ0b29sdGlwSGlkZURlbGF5XCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsPlxuICA8bWF0LWNoZWNrYm94IFtpZF09XCJnZXRBdHRyaWJ1dGUoKVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZ2V0QXR0cmlidXRlKClcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlRXZlbnQoJGV2ZW50KVwiXG4gICAgW2xhYmVsUG9zaXRpb25dPVwibGFiZWxQb3NpdGlvblwiIFtjb2xvcl09XCJjb2xvclwiPlxuICAgIHt7IG9sYWJlbCB8IG9UcmFuc2xhdGUgfX1cbiAgICA8bWF0LWVycm9yICpvTWF0RXJyb3I9XCJoYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAge3sgJ0ZPUk1fVkFMSURBVElPTi5SRVFVSVJFRCcgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPG1hdC1lcnJvciAqbmdGb3I9XCJsZXQgb0Vycm9yIG9mIGdldEFjdGl2ZU9FcnJvcnMoKVwiPlxuICAgICAge3sgb0Vycm9yLnRleHQgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWNoZWNrYm94PlxuICA8ZGl2ICpuZ0lmPVwiaXNSZWFkT25seVwiIChjbGljayk9XCJvbkNsaWNrQmxvY2tlcigkZXZlbnQpXCIgY2xhc3M9XCJyZWFkLW9ubHktYmxvY2tlclwiIGZ4RmlsbD48L2Rpdj5cbjwvZGl2PiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9jaGVja2JveC9vLWNoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NoZWNrYm94L28tY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFHbkYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUc7SUFFdkMsT0FBTztJQUVQLCtCQUErQjtDQUNoQyxDQUFDO0FBYUYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHlCQUF5QjtJQUsvRCxZQUN3RCxJQUFvQixFQUMxRSxLQUFpQixFQUNqQixRQUFrQjtRQUVsQixLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQVB4QixrQkFBYSxHQUF1QixPQUFPLENBQUM7SUFRbkQsQ0FBQztJQUVELFVBQVU7UUFDUixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFHbkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEVBQW1CLENBQUMsUUFBUSxHQUFHO1lBQ2pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUNyRSxDQUFDLENBQUM7SUFDSixDQUFDOztnSEFyQlUsa0JBQWtCLGtCQU1QLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0dBTjNDLGtCQUFrQiwrTUN6Qi9CLHk1QkFjTTs0RkRXTyxrQkFBa0I7a0JBVjlCLFNBQVM7K0JBQ0UsWUFBWSxVQUNkLHlCQUF5QixpQkFHbEIsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixvQkFBb0IsRUFBRSxNQUFNO3FCQUM3Qjs7MEJBUUUsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5pbXBvcnQgeyBPRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvcm0vby1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPQm9vbGVhbkZvcm1EYXRhQ29tcG9uZW50IH0gZnJvbSAnLi4vby1ib29sZWFuLWZvcm0tZGF0YS1jb21wb25lbnQuY2xhc3MnO1xuaW1wb3J0IHsgT0Zvcm1Db250cm9sIH0gZnJvbSAnLi4vby1mb3JtLWNvbnRyb2wuY2xhc3MnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlBVVFNfT19DSEVDS0JPWCA9IFtcbiAgLy8gY29sb3I6IFRoZW1lIGNvbG9yIHBhbGV0dGUgZm9yIHRoZSBjb21wb25lbnQuXG4gICdjb2xvcicsXG4gIC8vIGxhYmVsLXBvc2l0aW9uOiBXaGV0aGVyIHRoZSBsYWJlbCBzaG91bGQgYXBwZWFyIGFmdGVyIG9yIGJlZm9yZSB0aGUgc2xpZGUtdG9nZ2xlLiBEZWZhdWx0cyB0byAnYWZ0ZXInXG4gICdsYWJlbFBvc2l0aW9uOiBsYWJlbC1wb3NpdGlvbidcbl07XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby1jaGVja2JveCcsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19DSEVDS0JPWCxcbiAgdGVtcGxhdGVVcmw6ICcuL28tY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vLWNoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm8tY2hlY2tib3hdJzogJ3RydWUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgT0NoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgT0Jvb2xlYW5Gb3JtRGF0YUNvbXBvbmVudCB7XG5cbiAgcHVibGljIGNvbG9yOiBUaGVtZVBhbGV0dGU7XG4gIHB1YmxpYyBsYWJlbFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgPSAnYWZ0ZXInO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBPRm9ybUNvbXBvbmVudCkpIGZvcm06IE9Gb3JtQ29tcG9uZW50LFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtLCBlbFJlZiwgaW5qZWN0b3IpO1xuICB9XG5cbiAgaW5pdGlhbGl6ZSgpIHtcbiAgICBzdXBlci5pbml0aWFsaXplKCk7XG5cbiAgICAvLyBPdmVycmlkZSBGb3JtQ29udHJvbCBnZXRWYWx1ZSBpbiBvcmRlciB0byByZXR1cm4gdGhlIGFwcHJvcHJpYXRlIHZhbHVlIGluc3RlYWQgb2YgdGhlIGNoZWNrYm94IGludGVybmFsIGJvb2xlYW4gdmFsdWVcbiAgICBjb25zdCBjaGVja2JveEN0eCA9IHRoaXM7XG4gICAgKHRoaXMuZ2V0Rm9ybUNvbnRyb2woKSBhcyBPRm9ybUNvbnRyb2wpLmdldFZhbHVlID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPyBjaGVja2JveEN0eC50cnVlVmFsdWUgOiBjaGVja2JveEN0eC5mYWxzZVZhbHVlO1xuICAgIH07XG4gIH1cblxufVxuIiwiPGRpdiBbY2xhc3MuY3VzdG9tLXdpZHRoXT1cImhhc0N1c3RvbVdpZHRoXCIgW2Zvcm1Hcm91cF09XCJnZXRGb3JtR3JvdXAoKVwiIGNsYXNzPVwicmVsYXRpdmVcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwXCJcbiAgW21hdFRvb2x0aXBDbGFzc109XCJ0b29sdGlwQ2xhc3NcIiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvblwiIFttYXRUb29sdGlwU2hvd0RlbGF5XT1cInRvb2x0aXBTaG93RGVsYXlcIlxuICBbbWF0VG9vbHRpcEhpZGVEZWxheV09XCJ0b29sdGlwSGlkZURlbGF5XCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsPlxuICA8bWF0LWNoZWNrYm94IFtpZF09XCJnZXRBdHRyaWJ1dGUoKVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZ2V0QXR0cmlidXRlKClcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlRXZlbnQoJGV2ZW50KVwiXG4gICAgW2xhYmVsUG9zaXRpb25dPVwibGFiZWxQb3NpdGlvblwiIFtjb2xvcl09XCJjb2xvclwiPlxuICAgIHt7IG9sYWJlbCB8IG9UcmFuc2xhdGUgfX1cbiAgICA8bWF0LWVycm9yICpvTWF0RXJyb3I9XCJoYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAge3sgJ0ZPUk1fVkFMSURBVElPTi5SRVFVSVJFRCcgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPG1hdC1lcnJvciAqbmdGb3I9XCJsZXQgb0Vycm9yIG9mIGdldEFjdGl2ZU9FcnJvcnMoKVwiPlxuICAgICAge3sgb0Vycm9yLnRleHQgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWNoZWNrYm94PlxuICA8ZGl2ICpuZ0lmPVwiaXNSZWFkT25seVwiIChjbGljayk9XCJvbkNsaWNrQmxvY2tlcigkZXZlbnQpXCIgY2xhc3M9XCJyZWFkLW9ubHktYmxvY2tlclwiIGZ4RmlsbD48L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -5,10 +5,10 @@ import { OCheckboxComponent } from './o-checkbox.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class OCheckboxModule {
7
7
  }
8
- OCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- OCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: OCheckboxModule, declarations: [OCheckboxComponent], imports: [CommonModule, OSharedModule], exports: [OCheckboxComponent] });
10
- OCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OCheckboxModule, imports: [CommonModule, OSharedModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OCheckboxModule, decorators: [{
8
+ OCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ OCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: OCheckboxModule, declarations: [OCheckboxComponent], imports: [CommonModule, OSharedModule], exports: [OCheckboxComponent] });
10
+ OCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OCheckboxModule, imports: [CommonModule, OSharedModule] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OCheckboxModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [OCheckboxComponent],
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
16
16
  exports: [OCheckboxComponent]
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jaGVja2JveC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9jaGVja2JveC9vLWNoZWNrYm94Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBTzVELE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBSlgsa0JBQWtCLGFBQ3ZCLFlBQVksRUFBRSxhQUFhLGFBQzNCLGtCQUFrQjs2R0FFakIsZUFBZSxZQUhoQixZQUFZLEVBQUUsYUFBYTsyRkFHMUIsZUFBZTtrQkFMM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9TaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBPQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL28tY2hlY2tib3guY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbT0NoZWNrYm94Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgT1NoYXJlZE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtPQ2hlY2tib3hDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE9DaGVja2JveE1vZHVsZSB7IH1cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jaGVja2JveC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9jaGVja2JveC9vLWNoZWNrYm94Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBTzVELE1BQU0sT0FBTyxlQUFlOzs2R0FBZixlQUFlOzhHQUFmLGVBQWUsaUJBSlgsa0JBQWtCLGFBQ3ZCLFlBQVksRUFBRSxhQUFhLGFBQzNCLGtCQUFrQjs4R0FFakIsZUFBZSxZQUhoQixZQUFZLEVBQUUsYUFBYTs0RkFHMUIsZUFBZTtrQkFMM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9TaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBPQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL28tY2hlY2tib3guY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbT0NoZWNrYm94Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgT1NoYXJlZE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtPQ2hlY2tib3hDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE9DaGVja2JveE1vZHVsZSB7IH1cbiJdfQ==
@@ -101,13 +101,13 @@ export class OComboRendererBooleanComponent extends OComboCustomRenderer {
101
101
  this._renderFalseValue = arg;
102
102
  }
103
103
  }
104
- OComboRendererBooleanComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OComboRendererBooleanComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
105
- OComboRendererBooleanComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OComboRendererBooleanComponent, selector: "o-combo-renderer-boolean", inputs: { trueValue: ["true-value", "trueValue"], falseValue: ["false-value", "falseValue"], booleanType: ["boolean-type", "booleanType"], renderTrueValue: ["render-true-value", "renderTrueValue"], renderFalseValue: ["render-false-value", "renderFalseValue"], renderType: ["render-type", "renderType"] }, viewQueries: [{ propertyName: "templateref", first: true, predicate: ["templateref"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #templateref let-value=\"value\">\n <ng-container *ngIf=\"hasComboTrueValue(value);else falseValue\">\n <ng-container [ngSwitch]=\"renderType\">\n <ng-container *ngSwitchCase=\"'number'\">{{ renderTrueValue }}</ng-container>\n <span *ngSwitchDefault>{{ renderTrueValue | oTranslate }}</span>\n </ng-container>\n </ng-container>\n <ng-template #falseValue>\n <ng-container [ngSwitch]=\"renderType\">\n <ng-container *ngSwitchCase=\"'number'\">{{ renderFalseValue }}</ng-container>\n <ng-container *ngSwitchDefault>{{ renderFalseValue | oTranslate}}</ng-container>\n </ng-container>\n </ng-template>\n</ng-template>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i2.OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OComboRendererBooleanComponent, decorators: [{
104
+ OComboRendererBooleanComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OComboRendererBooleanComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
105
+ OComboRendererBooleanComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OComboRendererBooleanComponent, selector: "o-combo-renderer-boolean", inputs: { trueValue: ["true-value", "trueValue"], falseValue: ["false-value", "falseValue"], booleanType: ["boolean-type", "booleanType"], renderTrueValue: ["render-true-value", "renderTrueValue"], renderFalseValue: ["render-false-value", "renderFalseValue"], renderType: ["render-type", "renderType"] }, viewQueries: [{ propertyName: "templateref", first: true, predicate: ["templateref"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #templateref let-value=\"value\">\n <ng-container *ngIf=\"hasComboTrueValue(value);else falseValue\">\n <ng-container [ngSwitch]=\"renderType\">\n <ng-container *ngSwitchCase=\"'number'\">{{ renderTrueValue }}</ng-container>\n <span *ngSwitchDefault>{{ renderTrueValue | oTranslate }}</span>\n </ng-container>\n </ng-container>\n <ng-template #falseValue>\n <ng-container [ngSwitch]=\"renderType\">\n <ng-container *ngSwitchCase=\"'number'\">{{ renderFalseValue }}</ng-container>\n <ng-container *ngSwitchDefault>{{ renderFalseValue | oTranslate}}</ng-container>\n </ng-container>\n </ng-template>\n</ng-template>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i2.OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OComboRendererBooleanComponent, decorators: [{
107
107
  type: Component,
108
108
  args: [{ selector: 'o-combo-renderer-boolean', changeDetection: ChangeDetectionStrategy.OnPush, inputs: DEFAULT_INPUTS_O_COMBO_RENDERER_BOOLEAN, template: "<ng-template #templateref let-value=\"value\">\n <ng-container *ngIf=\"hasComboTrueValue(value);else falseValue\">\n <ng-container [ngSwitch]=\"renderType\">\n <ng-container *ngSwitchCase=\"'number'\">{{ renderTrueValue }}</ng-container>\n <span *ngSwitchDefault>{{ renderTrueValue | oTranslate }}</span>\n </ng-container>\n </ng-container>\n <ng-template #falseValue>\n <ng-container [ngSwitch]=\"renderType\">\n <ng-container *ngSwitchCase=\"'number'\">{{ renderFalseValue }}</ng-container>\n <ng-container *ngSwitchDefault>{{ renderFalseValue | oTranslate}}</ng-container>\n </ng-container>\n </ng-template>\n</ng-template>" }]
109
109
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { templateref: [{
110
110
  type: ViewChild,
111
111
  args: ['templateref', { read: TemplateRef, static: true }]
112
112
  }] } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jb21iby1yZW5kZXJlci1ib29sZWFuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NvbWJvL2NvbWJvLXJlbmRlcmVyL2Jvb2xlYW4vby1jb21iby1yZW5kZXJlci1ib29sZWFuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NvbWJvL2NvbWJvLXJlbmRlcmVyL2Jvb2xlYW4vby1jb21iby1yZW5kZXJlci1ib29sZWFuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDMUYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBRWpFLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHO0lBRXJELHVCQUF1QjtJQUV2Qix5QkFBeUI7SUFFekIsMkJBQTJCO0lBRTNCLG9DQUFvQztJQUNwQyxzQ0FBc0M7SUFFdEMseUJBQXlCO0NBQzFCLENBQUM7QUFRRixNQUFNLE9BQU8sOEJBQStCLFNBQVEsb0JBQW9CO0lBY3RFLFlBQXNCLFFBQWtCO1FBQ3RDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURJLGFBQVEsR0FBUixRQUFRLENBQVU7UUFQOUIsZ0JBQVcsR0FBVyxRQUFRLENBQUM7UUFDL0IsaUJBQVksR0FBVyxTQUFTLENB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IEluamVjdG9yLCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT1RyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUvby10cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IE9Db21ib0N1c3RvbVJlbmRlcmVyIH0gZnJvbSAnLi4vby1jb21iby1yZW5kZXJlci5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX0NPTUJPX1JFTkRFUkVSX0JPT0xFQU4gPSBbXG4gIC8vIHRydWUtdmFsdWUgW3N0cmluZ106IHRydWUgdmFsdWUuIERlZmF1bHQ6IG5vIHZhbHVlLlxuICAndHJ1ZVZhbHVlOiB0cnVlLXZhbHVlJyxcbiAgLy8gZmFsc2UtdmFsdWUgW3N0cmluZ106IGZhbHNlIHZhbHVlLiBEZWZhdWx0OiBubyB2YWx1ZS5cbiAgJ2ZhbHNlVmFsdWU6IGZhbHNlLXZhbHVlJyxcbiAgLy8gZmFsc2UtdmFsdWUgW251bWJlcnxzdHJpbmddOiBjb21ibyB2YWx1ZSB0eXBlLiBEZWZhdWx0OiBzdHJpbmdcbiAgJ2Jvb2xlYW5UeXBlOiBib29sZWFuLXR5cGUnLFxuXG4gICdyZW5kZXJUcnVlVmFsdWU6IHJlbmRlci10cnVlLXZhbHVlJyxcbiAgJ3JlbmRlckZhbHNlVmFsdWU6IHJlbmRlci1mYWxzZS12YWx1ZScsXG4gIC8vIFtzdHJpbmd8bnVtYmVyXVxuICAncmVuZGVyVHlwZTogcmVuZGVyLXR5cGUnXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLWNvbWJvLXJlbmRlcmVyLWJvb2xlYW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vby1jb21iby1yZW5kZXJlci1ib29sZWFuLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19DT01CT19SRU5ERVJFUl9CT09MRUFOXG59KVxuZXhwb3J0IGNsYXNzIE9Db21ib1JlbmRlcmVyQm9vbGVhbkNvbXBvbmVudCBleHRlbmRzIE9Db21ib0N1c3RvbVJlbmRlcmVyIGltcGxlbWVudHMgT25Jbml0IHtcblxuICB0cnVlVmFsdWU6IGFueTtcbiAgZmFsc2VWYWx1ZTogYW55O1xuICBwcm90ZWN0ZWQgX3JlbmRlclRydWVWYWx1ZTogYW55O1xuICBwcm90ZWN0ZWQgX3JlbmRlckZhbHNlVmFsdWU6IGFueTtcblxuICBwcm90ZWN0ZWQgX3JlbmRlclR5cGU6IHN0cmluZyA9ICdzdHJpbmcnO1xuICBwcm90ZWN0ZWQgX2Jvb2xlYW5UeXBlOiBzdHJpbmcgPSAnYm9vbGVhbic7XG4gIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBPVHJhbnNsYXRlU2VydmljZTtcblxuICBAVmlld0NoaWxkKCd0ZW1wbGF0ZXJlZicsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICB0ZW1wbGF0ZXJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KE9UcmFuc2xhdGVTZXJ2aWNlKTtcbiAgfVxuXG4gIGluaXRpYWxpemUoKSB7XG4gICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgIHRoaXMucGFyc2VJbnB1dHMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUlucHV0cygpIHtcbiAgICBzd2l0Y2ggKHRoaXMuYm9vbGVhblR5cGUpIHtcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgIHRoaXMucGFyc2VTdHJpbmdJbnB1dHMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICB0aGlzLnBhcnNlTnVtYmVySW5wdXRzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy50cnVlVmFsdWUgPSB0cnVlO1xuICAgICAgICB0aGlzLmZhbHNlVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlU3RyaW5nSW5wdXRzKCkge1xuICAgIGlmICgodGhpcy50cnVlVmFsdWUgfHwgJycpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy50cnVlVmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICgodGhpcy5mYWxzZVZhbHVlIHx8ICcnKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZmFsc2VWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VOdW1iZXJJbnB1dHMoKSB7XG4gICAgdGhpcy50cnVlVmFsdWUgPSBwYXJzZUludCh0aGlzLnRydWVWYWx1ZSwgMTApO1xuICAgIGlmIChpc05hTih0aGlzLnRydWVWYWx1ZSkpIHtcbiAgICAgIHRoaXMudHJ1ZVZhbHVlID0gMTtcbiAgICB9XG4gICAgdGhpcy5mYWxzZVZhbHVlID0gcGFyc2VJbnQodGhpcy5mYWxzZVZhbHVlLCAxMCk7XG4gICAgaWYgKGlzTmFOKHRoaXMuZmFsc2VWYWx1ZSkpIHtcbiAgICAgIHRoaXMuZmFsc2VWYWx1ZSA9IDA7XG4gICAgfVxuICB9XG5cbiAgaGFzQ29tYm9UcnVlVmFsdWUocmVjb3JkOiBhbnkpOiBib29sZWFuIHtcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuO1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZChyZWNvcmQpICYmIFV0aWwuaXNEZWZpbmVkKHJlY29yZFt0aGlzLmNvbWJvQ29tcG9uZW50LnZhbHVlQ29sdW1uXSkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcmVjb3JkW3RoaXMuY29tYm9Db21wb25lbnQudmFsdWVDb2x1bW5dO1xuICAgICAgcmVzdWx0ID0gKHZhbHVlID09PSB0aGlzLnRydWVWYWx1ZSk7XG4gICAgICBpZiAodGhpcy5ib29sZWFuVHlwZSA9PT0gJ3N0cmluZycgJiYgIVV0aWwuaXNEZWZpbmVkKHRoaXMudHJ1ZVZhbHVlKSkge1xuICAgICAgICByZXN1bHQgPSBVdGlsLnBhcnNlQm9vbGVhbih2YWx1ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0IGJvb2xlYW5UeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Jvb2xlYW5UeXBlO1xuICB9XG5cbiAgc2V0IGJvb2xlYW5UeXBlKGFyZzogc3RyaW5nKSB7XG4gICAgYXJnID0gKGFyZyB8fCAnJykudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoWydudW1iZXInLCAnYm9vbGVhbicsICdzdHJpbmcnXS5pbmRleE9mKGFyZykgPT09IC0xKSB7XG4gICAgICBhcmcgPSAnYm9vbGVhbic7XG4gICAgfVxuICAgIHRoaXMuX2Jvb2xlYW5UeXBlID0gYXJnO1xuICB9XG5cbiAgZ2V0IHJlbmRlclR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcmVuZGVyVHlwZTtcbiAgfVxuXG4gIHNldCByZW5kZXJUeXBlKGFyZzogc3RyaW5nKSB7XG4gICAgYXJnID0gKGFyZyB8fCAnJykudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoWydzdHJpbmcnLCAnbnVtYmVyJ10uaW5kZXhPZihhcmcpID09PSAtMSkge1xuICAgICAgYXJnID0gJ3N0cmluZyc7XG4gICAgfVxuICAgIHRoaXMuX3JlbmRlclR5cGUgPSBhcmc7XG4gIH1cblxuICBnZXQgcmVuZGVyVHJ1ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbmRlclRydWVWYWx1ZSB8fCB0aGlzLnRydWVWYWx1ZTtcbiAgfVxuXG4gIHNldCByZW5kZXJUcnVlVmFsdWUoYXJnOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yZW5kZXJUcnVlVmFsdWUgPSBhcmc7XG4gIH1cblxuICBnZXQgcmVuZGVyRmFsc2VWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9yZW5kZXJGYWxzZVZhbHVlIHx8IHRoaXMuZmFsc2VWYWx1ZTtcbiAgfVxuXG4gIHNldCByZW5kZXJGYWxzZVZhbHVlKGFyZzogc3RyaW5nKSB7XG4gICAgdGhpcy5fcmVuZGVyRmFsc2VWYWx1ZSA9IGFyZztcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZXJlZiBsZXQtdmFsdWU9XCJ2YWx1ZVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzQ29tYm9UcnVlVmFsdWUodmFsdWUpO2Vsc2UgZmFsc2VWYWx1ZVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInJlbmRlclR5cGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCI+e3sgcmVuZGVyVHJ1ZVZhbHVlIH19PC9uZy1jb250YWluZXI+XG4gICAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0Pnt7IHJlbmRlclRydWVWYWx1ZSB8IG9UcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2ZhbHNlVmFsdWU+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwicmVuZGVyVHlwZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIj57eyByZW5kZXJGYWxzZVZhbHVlIH19PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+e3sgcmVuZGVyRmFsc2VWYWx1ZSB8IG9UcmFuc2xhdGV9fTwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jb21iby1yZW5kZXJlci1ib29sZWFuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NvbWJvL2NvbWJvLXJlbmRlcmVyL2Jvb2xlYW4vby1jb21iby1yZW5kZXJlci1ib29sZWFuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NvbWJvL2NvbWJvLXJlbmRlcmVyL2Jvb2xlYW4vby1jb21iby1yZW5kZXJlci1ib29sZWFuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDMUYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBRWpFLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHO0lBRXJELHVCQUF1QjtJQUV2Qix5QkFBeUI7SUFFekIsMkJBQTJCO0lBRTNCLG9DQUFvQztJQUNwQyxzQ0FBc0M7SUFFdEMseUJBQXlCO0NBQzFCLENBQUM7QUFRRixNQUFNLE9BQU8sOEJBQStCLFNBQVEsb0JBQW9CO0lBY3RFLFlBQXNCLFFBQWtCO1FBQ3RDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURJLGFBQVEsR0FBUixRQUFRLENBQVU7UUFQOUIsZ0JBQVcsR0FBVyxRQUFRLENBQUM7UUFDL0IsaUJBQVksR0FBVyxTQUFTLENBQUM7UUFRekMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFVBQVU7UUFDUixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFUyxXQUFXO1FBQ25CLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN4QixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3pCLE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3pCLE1BQU07WUFDUjtnQkFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLE1BQU07U0FDVDtJQUNILENBQUM7SUFFUyxpQkFBaUI7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztTQUM1QjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRVMsaUJBQWlCO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNoRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBVztRQUMzQixJQUFJLE1BQWUsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFO1lBQ3JGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3RELE1BQU0sR0FBRyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEMsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNwRSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDMUM7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLEdBQVc7UUFDekIsR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUN2RCxHQUFHLEdBQUcsU0FBUyxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsR0FBVztRQUN4QixHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDNUMsR0FBRyxHQUFHLFFBQVEsQ0FBQztTQUNoQjtRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsR0FBVztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLGdCQUFnQixDQUFDLEdBQVc7UUFDOUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztJQUMvQixDQUFDOzs0SEE3R1UsOEJBQThCO2dIQUE5Qiw4QkFBOEIsd2NBV1AsV0FBVyxrRUNyQy9DLHdwQkFhYzs0RkRhRCw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUVuQix1QkFBdUIsQ0FBQyxNQUFNLFVBQ3ZDLHVDQUF1QzsrRkFjL0MsV0FBVztzQkFEVixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT1RyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUvby10cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IE9Db21ib0N1c3RvbVJlbmRlcmVyIH0gZnJvbSAnLi4vby1jb21iby1yZW5kZXJlci5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX0NPTUJPX1JFTkRFUkVSX0JPT0xFQU4gPSBbXG4gIC8vIHRydWUtdmFsdWUgW3N0cmluZ106IHRydWUgdmFsdWUuIERlZmF1bHQ6IG5vIHZhbHVlLlxuICAndHJ1ZVZhbHVlOiB0cnVlLXZhbHVlJyxcbiAgLy8gZmFsc2UtdmFsdWUgW3N0cmluZ106IGZhbHNlIHZhbHVlLiBEZWZhdWx0OiBubyB2YWx1ZS5cbiAgJ2ZhbHNlVmFsdWU6IGZhbHNlLXZhbHVlJyxcbiAgLy8gZmFsc2UtdmFsdWUgW251bWJlcnxzdHJpbmddOiBjb21ibyB2YWx1ZSB0eXBlLiBEZWZhdWx0OiBzdHJpbmdcbiAgJ2Jvb2xlYW5UeXBlOiBib29sZWFuLXR5cGUnLFxuXG4gICdyZW5kZXJUcnVlVmFsdWU6IHJlbmRlci10cnVlLXZhbHVlJyxcbiAgJ3JlbmRlckZhbHNlVmFsdWU6IHJlbmRlci1mYWxzZS12YWx1ZScsXG4gIC8vIFtzdHJpbmd8bnVtYmVyXVxuICAncmVuZGVyVHlwZTogcmVuZGVyLXR5cGUnXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLWNvbWJvLXJlbmRlcmVyLWJvb2xlYW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vby1jb21iby1yZW5kZXJlci1ib29sZWFuLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19DT01CT19SRU5ERVJFUl9CT09MRUFOXG59KVxuZXhwb3J0IGNsYXNzIE9Db21ib1JlbmRlcmVyQm9vbGVhbkNvbXBvbmVudCBleHRlbmRzIE9Db21ib0N1c3RvbVJlbmRlcmVyIGltcGxlbWVudHMgT25Jbml0IHtcblxuICB0cnVlVmFsdWU6IGFueTtcbiAgZmFsc2VWYWx1ZTogYW55O1xuICBwcm90ZWN0ZWQgX3JlbmRlclRydWVWYWx1ZTogYW55O1xuICBwcm90ZWN0ZWQgX3JlbmRlckZhbHNlVmFsdWU6IGFueTtcblxuICBwcm90ZWN0ZWQgX3JlbmRlclR5cGU6IHN0cmluZyA9ICdzdHJpbmcnO1xuICBwcm90ZWN0ZWQgX2Jvb2xlYW5UeXBlOiBzdHJpbmcgPSAnYm9vbGVhbic7XG4gIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBPVHJhbnNsYXRlU2VydmljZTtcblxuICBAVmlld0NoaWxkKCd0ZW1wbGF0ZXJlZicsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICB0ZW1wbGF0ZXJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KE9UcmFuc2xhdGVTZXJ2aWNlKTtcbiAgfVxuXG4gIGluaXRpYWxpemUoKSB7XG4gICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgIHRoaXMucGFyc2VJbnB1dHMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUlucHV0cygpIHtcbiAgICBzd2l0Y2ggKHRoaXMuYm9vbGVhblR5cGUpIHtcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgIHRoaXMucGFyc2VTdHJpbmdJbnB1dHMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICB0aGlzLnBhcnNlTnVtYmVySW5wdXRzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy50cnVlVmFsdWUgPSB0cnVlO1xuICAgICAgICB0aGlzLmZhbHNlVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlU3RyaW5nSW5wdXRzKCkge1xuICAgIGlmICgodGhpcy50cnVlVmFsdWUgfHwgJycpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy50cnVlVmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICgodGhpcy5mYWxzZVZhbHVlIHx8ICcnKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZmFsc2VWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VOdW1iZXJJbnB1dHMoKSB7XG4gICAgdGhpcy50cnVlVmFsdWUgPSBwYXJzZUludCh0aGlzLnRydWVWYWx1ZSwgMTApO1xuICAgIGlmIChpc05hTih0aGlzLnRydWVWYWx1ZSkpIHtcbiAgICAgIHRoaXMudHJ1ZVZhbHVlID0gMTtcbiAgICB9XG4gICAgdGhpcy5mYWxzZVZhbHVlID0gcGFyc2VJbnQodGhpcy5mYWxzZVZhbHVlLCAxMCk7XG4gICAgaWYgKGlzTmFOKHRoaXMuZmFsc2VWYWx1ZSkpIHtcbiAgICAgIHRoaXMuZmFsc2VWYWx1ZSA9IDA7XG4gICAgfVxuICB9XG5cbiAgaGFzQ29tYm9UcnVlVmFsdWUocmVjb3JkOiBhbnkpOiBib29sZWFuIHtcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuO1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZChyZWNvcmQpICYmIFV0aWwuaXNEZWZpbmVkKHJlY29yZFt0aGlzLmNvbWJvQ29tcG9uZW50LnZhbHVlQ29sdW1uXSkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcmVjb3JkW3RoaXMuY29tYm9Db21wb25lbnQudmFsdWVDb2x1bW5dO1xuICAgICAgcmVzdWx0ID0gKHZhbHVlID09PSB0aGlzLnRydWVWYWx1ZSk7XG4gICAgICBpZiAodGhpcy5ib29sZWFuVHlwZSA9PT0gJ3N0cmluZycgJiYgIVV0aWwuaXNEZWZpbmVkKHRoaXMudHJ1ZVZhbHVlKSkge1xuICAgICAgICByZXN1bHQgPSBVdGlsLnBhcnNlQm9vbGVhbih2YWx1ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0IGJvb2xlYW5UeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Jvb2xlYW5UeXBlO1xuICB9XG5cbiAgc2V0IGJvb2xlYW5UeXBlKGFyZzogc3RyaW5nKSB7XG4gICAgYXJnID0gKGFyZyB8fCAnJykudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoWydudW1iZXInLCAnYm9vbGVhbicsICdzdHJpbmcnXS5pbmRleE9mKGFyZykgPT09IC0xKSB7XG4gICAgICBhcmcgPSAnYm9vbGVhbic7XG4gICAgfVxuICAgIHRoaXMuX2Jvb2xlYW5UeXBlID0gYXJnO1xuICB9XG5cbiAgZ2V0IHJlbmRlclR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcmVuZGVyVHlwZTtcbiAgfVxuXG4gIHNldCByZW5kZXJUeXBlKGFyZzogc3RyaW5nKSB7XG4gICAgYXJnID0gKGFyZyB8fCAnJykudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoWydzdHJpbmcnLCAnbnVtYmVyJ10uaW5kZXhPZihhcmcpID09PSAtMSkge1xuICAgICAgYXJnID0gJ3N0cmluZyc7XG4gICAgfVxuICAgIHRoaXMuX3JlbmRlclR5cGUgPSBhcmc7XG4gIH1cblxuICBnZXQgcmVuZGVyVHJ1ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbmRlclRydWVWYWx1ZSB8fCB0aGlzLnRydWVWYWx1ZTtcbiAgfVxuXG4gIHNldCByZW5kZXJUcnVlVmFsdWUoYXJnOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yZW5kZXJUcnVlVmFsdWUgPSBhcmc7XG4gIH1cblxuICBnZXQgcmVuZGVyRmFsc2VWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9yZW5kZXJGYWxzZVZhbHVlIHx8IHRoaXMuZmFsc2VWYWx1ZTtcbiAgfVxuXG4gIHNldCByZW5kZXJGYWxzZVZhbHVlKGFyZzogc3RyaW5nKSB7XG4gICAgdGhpcy5fcmVuZGVyRmFsc2VWYWx1ZSA9IGFyZztcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZXJlZiBsZXQtdmFsdWU9XCJ2YWx1ZVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzQ29tYm9UcnVlVmFsdWUodmFsdWUpO2Vsc2UgZmFsc2VWYWx1ZVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInJlbmRlclR5cGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCI+e3sgcmVuZGVyVHJ1ZVZhbHVlIH19PC9uZy1jb250YWluZXI+XG4gICAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0Pnt7IHJlbmRlclRydWVWYWx1ZSB8IG9UcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2ZhbHNlVmFsdWU+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwicmVuZGVyVHlwZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIj57eyByZW5kZXJGYWxzZVZhbHVlIH19PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+e3sgcmVuZGVyRmFsc2VWYWx1ZSB8IG9UcmFuc2xhdGV9fTwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -43,8 +43,8 @@ export class OComboRendererCurrencyComponent extends OComboRendererRealComponent
43
43
  };
44
44
  }
45
45
  }
46
- OComboRendererCurrencyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OComboRendererCurrencyComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
47
- OComboRendererCurrencyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OComboRendererCurrencyComponent, selector: "o-combo-renderer-currency", inputs: { currencySymbol: ["currency-symbol", "currencySymbol"], currencySymbolPosition: ["currency-symbol-position", "currencySymbolPosition"] }, viewQueries: [{ propertyName: "templateref", first: true, predicate: ["templateref"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #templateref let-value=\"value\">\n {{getComboData(value)}}\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
46
+ OComboRendererCurrencyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OComboRendererCurrencyComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
47
+ OComboRendererCurrencyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OComboRendererCurrencyComponent, selector: "o-combo-renderer-currency", inputs: { currencySymbol: ["currency-symbol", "currencySymbol"], currencySymbolPosition: ["currency-symbol-position", "currencySymbolPosition"] }, viewQueries: [{ propertyName: "templateref", first: true, predicate: ["templateref"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #templateref let-value=\"value\">\n {{getComboData(value)}}\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
48
  __decorate([
49
49
  NumberInputConverter(),
50
50
  __metadata("design:type", Number)
@@ -53,11 +53,11 @@ __decorate([
53
53
  NumberInputConverter(),
54
54
  __metadata("design:type", Number)
55
55
  ], OComboRendererCurrencyComponent.prototype, "maxDecimalDigits", void 0);
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OComboRendererCurrencyComponent, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OComboRendererCurrencyComponent, decorators: [{
57
57
  type: Component,
58
58
  args: [{ selector: 'o-combo-renderer-currency', changeDetection: ChangeDetectionStrategy.OnPush, inputs: DEFAULT_INPUTS_O_COMBO_RENDERER_CURRENCY, template: "<ng-template #templateref let-value=\"value\">\n {{getComboData(value)}}\n</ng-template>\n" }]
59
59
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { minDecimalDigits: [], maxDecimalDigits: [], templateref: [{
60
60
  type: ViewChild,
61
61
  args: ['templateref', { read: TemplateRef, static: true }]
62
62
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jb21iby1yZW5kZXJlci1jdXJyZW5jeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9jb21iby9jb21iby1yZW5kZXJlci9jdXJyZW5jeS9vLWNvbWJvLXJlbmRlcmVyLWN1cnJlbmN5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NvbWJvL2NvbWJvLXJlbmRlcmVyL2N1cnJlbmN5L28tY29tYm8tcmVuZGVyZXItY3VycmVuY3kuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUF5QixhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUNBQXlDLENBQUM7O0FBRXRGLE1BQU0sQ0FBQyxNQUFNLHdDQUF3QyxHQUFHO0lBR3RELGlDQUFpQztJQUdqQyxrREFBa0Q7Q0FDbkQsQ0FBQztBQVFGLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSwyQkFBMkI7SUFvQjlFLFlBQXNCLFFBQWtCO1FBQ3RDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURJLGFBQVEsR0FBUixRQUFRLENBQVU7UUFqQnhDLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUU3QixxQkFBZ0IsR0FBVyxDQUFDLENBQUM7UUFJbkIscUJBQWdCLEdBQVcsR0FBRyxDQUFDO1FBRS9CLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsc0JBQWlCLEdBQVcsR0FBRyxDQUFDO1FBVXhDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxVQUFVO1FBQ1IsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25CLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFdBQVcsRUFBRTtZQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxXQUFXLEVBQUU7WUFDdEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQjtZQUNuRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3ZDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtTQUMxQyxDQUFDO0lBRUosQ0FBQzs7NEhBakRVLCtCQUErQjtnSEFBL0IsK0JBQStCLDJTQWtCUixXQUFXLGtFQ3hDL0MsNkZBR0E7QURxQkU7SUFBQyxvQkFBb0IsRUFBRTs7eUVBQ007QUFDN0I7SUFBQyxvQkFBb0IsRUFBRTs7eUVBQ007MkZBTGxCLCtCQUErQjtrQkFOM0MsU0FBUzsrQkFDRSwyQkFBMkIsbUJBRXBCLHVCQUF1QixDQUFDLE1BQU0sVUFDdkMsd0NBQXdDOytGQUtoRCxnQkFBZ0IsTUFFaEIsZ0JBQWdCLE1BYXNELFdBQVc7c0JBQWhGLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOdW1iZXJJbnB1dENvbnZlcnRlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RlY29yYXRvcnMvaW5wdXQtY29udmVydGVyJztcbmltcG9ydCB7IElDdXJyZW5jeVBpcGVBcmd1bWVudCwgT0N1cnJlbmN5UGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3BpcGVzL28tY3VycmVuY3kucGlwZSc7XG5pbXBvcnQgeyBDdXJyZW5jeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9jdXJyZW5jeS5zZXJ2aWNlJztcbmltcG9ydCB7IE9Db21ib1JlbmRlcmVyUmVhbENvbXBvbmVudCB9IGZyb20gJy4uL3JlYWwvby1jb21iby1yZW5kZXJlci1yZWFsLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX0NPTUJPX1JFTkRFUkVSX0NVUlJFTkNZID0gW1xuXG4gIC8vIGN1cnJlbmN5LXN5bWJvbCBbc3RyaW5nXTogY3VycmVuY3kgc3ltYm9sLiBEZWZhdWx0OiBkb2xsYXIgKCQpLlxuICAnY3VycmVuY3lTeW1ib2w6IGN1cnJlbmN5LXN5bWJvbCcsXG5cbiAgLy8gY3VycmVuY3ktc3ltYm9sLXBvc2l0aW9uIFtsZWZ0fHJpZ2h0XTogcG9zaXRpb24gb2YgdGhlIGN1cnJlbmN5IHN5bWJvbC4gRGVmYXVsdDogbGVmdC5cbiAgJ2N1cnJlbmN5U3ltYm9sUG9zaXRpb246IGN1cnJlbmN5LXN5bWJvbC1wb3NpdGlvbidcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tY29tYm8tcmVuZGVyZXItY3VycmVuY3knLFxuICB0ZW1wbGF0ZVVybDogJy4vby1jb21iby1yZW5kZXJlci1jdXJyZW5jeS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fQ09NQk9fUkVOREVSRVJfQ1VSUkVOQ1lcbn0pXG5leHBvcnQgY2xhc3MgT0NvbWJvUmVuZGVyZXJDdXJyZW5jeUNvbXBvbmVudCBleHRlbmRzIE9Db21ib1JlbmRlcmVyUmVhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQE51bWJlcklucHV0Q29udmVydGVyKClcbiAgbWluRGVjaW1hbERpZ2l0czogbnVtYmVyID0gMjtcbiAgQE51bWJlcklucHV0Q29udmVydGVyKClcbiAgbWF4RGVjaW1hbERpZ2l0czogbnVtYmVyID0gMjtcblxuICBwcm90ZWN0ZWQgY3VycmVuY3lTeW1ib2w6IHN0cmluZztcbiAgcHJvdGVjdGVkIGN1cnJlbmN5U3ltYm9sUG9zaXRpb246IHN0cmluZztcbiAgcHJvdGVjdGVkIGRlY2ltYWxTZXBhcmF0b3I6IHN0cmluZyA9ICcuJztcblxuICBwcm90ZWN0ZWQgZ3JvdXBpbmc6IGJvb2xlYW4gPSB0cnVlO1xuICBwcm90ZWN0ZWQgdGhvdXNhbmRTZXBhcmF0b3I6IHN0cmluZyA9ICcsJztcblxuICBwcm90ZWN0ZWQgY3VycmVuY3lTZXJ2aWNlOiBDdXJyZW5jeVNlcnZpY2U7XG5cbiAgcHJvdGVjdGVkIGNvbXBvbmVudFBpcGU6IE9DdXJyZW5jeVBpcGU7XG4gIHByb3RlY3RlZCBwaXBlQXJndW1lbnRzOiBJQ3VycmVuY3lQaXBlQXJndW1lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlcmVmJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyB0ZW1wbGF0ZXJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIHRoaXMuY3VycmVuY3lTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQ3VycmVuY3lTZXJ2aWNlKTtcbiAgICB0aGlzLnNldENvbXBvbmVudFBpcGUoKTtcbiAgfVxuXG4gIHNldENvbXBvbmVudFBpcGUoKSB7XG4gICAgdGhpcy5jb21wb25lbnRQaXBlID0gbmV3IE9DdXJyZW5jeVBpcGUodGhpcy5pbmplY3Rvcik7XG4gIH1cblxuICBpbml0aWFsaXplKCkge1xuICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICBpZiAodHlwZW9mIHRoaXMuY3VycmVuY3lTeW1ib2wgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLmN1cnJlbmN5U3ltYm9sID0gdGhpcy5jdXJyZW5jeVNlcnZpY2Uuc3ltYm9sO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHRoaXMuY3VycmVuY3lTeW1ib2xQb3NpdGlvbiA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuY3VycmVuY3lTeW1ib2xQb3NpdGlvbiA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLnN5bWJvbFBvc2l0aW9uO1xuICAgIH1cblxuICAgIHRoaXMucGlwZUFyZ3VtZW50cyA9IHtcbiAgICAgIGN1cnJlbmN5U2ltYm9sOiB0aGlzLmN1cnJlbmN5U3ltYm9sLFxuICAgICAgY3VycmVuY3lTeW1ib2xQb3NpdGlvbjogdGhpcy5jdXJyZW5jeVN5bWJvbFBvc2l0aW9uLFxuICAgICAgbWluRGVjaW1hbERpZ2l0czogdGhpcy5taW5EZWNpbWFsRGlnaXRzLFxuICAgICAgbWF4RGVjaW1hbERpZ2l0czogdGhpcy5tYXhEZWNpbWFsRGlnaXRzLFxuICAgICAgZGVjaW1hbFNlcGFyYXRvcjogdGhpcy5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgZ3JvdXBpbmc6IHRoaXMuZ3JvdXBpbmcsXG4gICAgICB0aG91c2FuZFNlcGFyYXRvcjogdGhpcy50aG91c2FuZFNlcGFyYXRvclxuICAgIH07XG5cbiAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlcmVmIGxldC12YWx1ZT1cInZhbHVlXCI+XG4gIHt7Z2V0Q29tYm9EYXRhKHZhbHVlKX19XG48L25nLXRlbXBsYXRlPlxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jb21iby1yZW5kZXJlci1jdXJyZW5jeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9jb21iby9jb21iby1yZW5kZXJlci9jdXJyZW5jeS9vLWNvbWJvLXJlbmRlcmVyLWN1cnJlbmN5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NvbWJvL2NvbWJvLXJlbmRlcmVyL2N1cnJlbmN5L28tY29tYm8tcmVuZGVyZXItY3VycmVuY3kuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUF5QixhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUNBQXlDLENBQUM7O0FBRXRGLE1BQU0sQ0FBQyxNQUFNLHdDQUF3QyxHQUFHO0lBR3RELGlDQUFpQztJQUdqQyxrREFBa0Q7Q0FDbkQsQ0FBQztBQVFGLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSwyQkFBMkI7SUFvQjlFLFlBQXNCLFFBQWtCO1FBQ3RDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURJLGFBQVEsR0FBUixRQUFRLENBQVU7UUFqQnhDLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUU3QixxQkFBZ0IsR0FBVyxDQUFDLENBQUM7UUFJbkIscUJBQWdCLEdBQVcsR0FBRyxDQUFDO1FBRS9CLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsc0JBQWlCLEdBQVcsR0FBRyxDQUFDO1FBVXhDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxVQUFVO1FBQ1IsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25CLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFdBQVcsRUFBRTtZQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxXQUFXLEVBQUU7WUFDdEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQjtZQUNuRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3ZDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtTQUMxQyxDQUFDO0lBRUosQ0FBQzs7NkhBakRVLCtCQUErQjtpSEFBL0IsK0JBQStCLDJTQWtCUixXQUFXLGtFQ3hDL0MsNkZBR0E7QURxQkU7SUFBQyxvQkFBb0IsRUFBRTs7eUVBQ007QUFDN0I7SUFBQyxvQkFBb0IsRUFBRTs7eUVBQ007NEZBTGxCLCtCQUErQjtrQkFOM0MsU0FBUzsrQkFDRSwyQkFBMkIsbUJBRXBCLHVCQUF1QixDQUFDLE1BQU0sVUFDdkMsd0NBQXdDOytGQUtoRCxnQkFBZ0IsTUFFaEIsZ0JBQWdCLE1BYXNELFdBQVc7c0JBQWhGLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOdW1iZXJJbnB1dENvbnZlcnRlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RlY29yYXRvcnMvaW5wdXQtY29udmVydGVyJztcbmltcG9ydCB7IElDdXJyZW5jeVBpcGVBcmd1bWVudCwgT0N1cnJlbmN5UGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3BpcGVzL28tY3VycmVuY3kucGlwZSc7XG5pbXBvcnQgeyBDdXJyZW5jeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9jdXJyZW5jeS5zZXJ2aWNlJztcbmltcG9ydCB7IE9Db21ib1JlbmRlcmVyUmVhbENvbXBvbmVudCB9IGZyb20gJy4uL3JlYWwvby1jb21iby1yZW5kZXJlci1yZWFsLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX0NPTUJPX1JFTkRFUkVSX0NVUlJFTkNZID0gW1xuXG4gIC8vIGN1cnJlbmN5LXN5bWJvbCBbc3RyaW5nXTogY3VycmVuY3kgc3ltYm9sLiBEZWZhdWx0OiBkb2xsYXIgKCQpLlxuICAnY3VycmVuY3lTeW1ib2w6IGN1cnJlbmN5LXN5bWJvbCcsXG5cbiAgLy8gY3VycmVuY3ktc3ltYm9sLXBvc2l0aW9uIFtsZWZ0fHJpZ2h0XTogcG9zaXRpb24gb2YgdGhlIGN1cnJlbmN5IHN5bWJvbC4gRGVmYXVsdDogbGVmdC5cbiAgJ2N1cnJlbmN5U3ltYm9sUG9zaXRpb246IGN1cnJlbmN5LXN5bWJvbC1wb3NpdGlvbidcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tY29tYm8tcmVuZGVyZXItY3VycmVuY3knLFxuICB0ZW1wbGF0ZVVybDogJy4vby1jb21iby1yZW5kZXJlci1jdXJyZW5jeS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fQ09NQk9fUkVOREVSRVJfQ1VSUkVOQ1lcbn0pXG5leHBvcnQgY2xhc3MgT0NvbWJvUmVuZGVyZXJDdXJyZW5jeUNvbXBvbmVudCBleHRlbmRzIE9Db21ib1JlbmRlcmVyUmVhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQE51bWJlcklucHV0Q29udmVydGVyKClcbiAgbWluRGVjaW1hbERpZ2l0czogbnVtYmVyID0gMjtcbiAgQE51bWJlcklucHV0Q29udmVydGVyKClcbiAgbWF4RGVjaW1hbERpZ2l0czogbnVtYmVyID0gMjtcblxuICBwcm90ZWN0ZWQgY3VycmVuY3lTeW1ib2w6IHN0cmluZztcbiAgcHJvdGVjdGVkIGN1cnJlbmN5U3ltYm9sUG9zaXRpb246IHN0cmluZztcbiAgcHJvdGVjdGVkIGRlY2ltYWxTZXBhcmF0b3I6IHN0cmluZyA9ICcuJztcblxuICBwcm90ZWN0ZWQgZ3JvdXBpbmc6IGJvb2xlYW4gPSB0cnVlO1xuICBwcm90ZWN0ZWQgdGhvdXNhbmRTZXBhcmF0b3I6IHN0cmluZyA9ICcsJztcblxuICBwcm90ZWN0ZWQgY3VycmVuY3lTZXJ2aWNlOiBDdXJyZW5jeVNlcnZpY2U7XG5cbiAgcHJvdGVjdGVkIGNvbXBvbmVudFBpcGU6IE9DdXJyZW5jeVBpcGU7XG4gIHByb3RlY3RlZCBwaXBlQXJndW1lbnRzOiBJQ3VycmVuY3lQaXBlQXJndW1lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlcmVmJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyB0ZW1wbGF0ZXJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIHRoaXMuY3VycmVuY3lTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQ3VycmVuY3lTZXJ2aWNlKTtcbiAgICB0aGlzLnNldENvbXBvbmVudFBpcGUoKTtcbiAgfVxuXG4gIHNldENvbXBvbmVudFBpcGUoKSB7XG4gICAgdGhpcy5jb21wb25lbnRQaXBlID0gbmV3IE9DdXJyZW5jeVBpcGUodGhpcy5pbmplY3Rvcik7XG4gIH1cblxuICBpbml0aWFsaXplKCkge1xuICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICBpZiAodHlwZW9mIHRoaXMuY3VycmVuY3lTeW1ib2wgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLmN1cnJlbmN5U3ltYm9sID0gdGhpcy5jdXJyZW5jeVNlcnZpY2Uuc3ltYm9sO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHRoaXMuY3VycmVuY3lTeW1ib2xQb3NpdGlvbiA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuY3VycmVuY3lTeW1ib2xQb3NpdGlvbiA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLnN5bWJvbFBvc2l0aW9uO1xuICAgIH1cblxuICAgIHRoaXMucGlwZUFyZ3VtZW50cyA9IHtcbiAgICAgIGN1cnJlbmN5U2ltYm9sOiB0aGlzLmN1cnJlbmN5U3ltYm9sLFxuICAgICAgY3VycmVuY3lTeW1ib2xQb3NpdGlvbjogdGhpcy5jdXJyZW5jeVN5bWJvbFBvc2l0aW9uLFxuICAgICAgbWluRGVjaW1hbERpZ2l0czogdGhpcy5taW5EZWNpbWFsRGlnaXRzLFxuICAgICAgbWF4RGVjaW1hbERpZ2l0czogdGhpcy5tYXhEZWNpbWFsRGlnaXRzLFxuICAgICAgZGVjaW1hbFNlcGFyYXRvcjogdGhpcy5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgZ3JvdXBpbmc6IHRoaXMuZ3JvdXBpbmcsXG4gICAgICB0aG91c2FuZFNlcGFyYXRvcjogdGhpcy50aG91c2FuZFNlcGFyYXRvclxuICAgIH07XG5cbiAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlcmVmIGxldC12YWx1ZT1cInZhbHVlXCI+XG4gIHt7Z2V0Q29tYm9EYXRhKHZhbHVlKX19XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -21,13 +21,13 @@ export class OComboRendererDateComponent extends OComboCustomRenderer {
21
21
  };
22
22
  }
23
23
  }
24
- OComboRendererDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OComboRendererDateComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
25
- OComboRendererDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OComboRendererDateComponent, selector: "o-combo-renderer-date", inputs: { format: "format" }, viewQueries: [{ propertyName: "templateref", first: true, predicate: ["templateref"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #templateref let-value=\"value\">\n {{getComboData(value)}}\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OComboRendererDateComponent, decorators: [{
24
+ OComboRendererDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OComboRendererDateComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
25
+ OComboRendererDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OComboRendererDateComponent, selector: "o-combo-renderer-date", inputs: { format: "format" }, viewQueries: [{ propertyName: "templateref", first: true, predicate: ["templateref"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #templateref let-value=\"value\">\n {{getComboData(value)}}\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OComboRendererDateComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{ selector: 'o-combo-renderer-date', changeDetection: ChangeDetectionStrategy.OnPush, inputs: DEFAULT_INPUTS_O_COMBO_RENDERER_DATE, template: "<ng-template #templateref let-value=\"value\">\n {{getComboData(value)}}\n</ng-template>\n" }]
29
29
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { templateref: [{
30
30
  type: ViewChild,
31
31
  args: ['templateref', { read: TemplateRef, static: true }]
32
32
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jb21iby1yZW5kZXJlci1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NvbWJvL2NvbWJvLXJlbmRlcmVyL2RhdGUvby1jb21iby1yZW5kZXJlci1kYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NvbWJvL2NvbWJvLXJlbmRlcmVyL2RhdGUvby1jb21iby1yZW5kZXJlci1kYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0csT0FBTyxFQUF1QixXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFakUsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUc7SUFFbEQsUUFBUTtDQUNULENBQUM7QUFRRixNQUFNLE9BQU8sMkJBQTRCLFNBQVEsb0JBQW9CO0lBU25FLFlBQXNCLFFBQWtCO1FBQ3RDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURJLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFdEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxVQUFVO1FBQ1IsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRW5CLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7SUFDSixDQUFDOzt3SEF4QlUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsa0xBT0osV0FBVyxrRUN2Qi9DLDZGQUdBOzJGRGFhLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDRSx1QkFBdUIsbUJBRWhCLHVCQUF1QixDQUFDLE1BQU0sVUFDdkMsb0NBQW9DOytGQVMwQixXQUFXO3NCQUFoRixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSU1vbWVudFBpcGVBcmd1bWVudCwgT01vbWVudFBpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9waXBlcy9vLW1vbWVudC5waXBlJztcbmltcG9ydCB7IE9Db21ib0N1c3RvbVJlbmRlcmVyIH0gZnJvbSAnLi4vby1jb21iby1yZW5kZXJlci5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX0NPTUJPX1JFTkRFUkVSX0RBVEUgPSBbXG4gIC8vIGZvcm1hdCBbc3RyaW5nXTogZGF0ZSBmb3JtYXQuIFNlZSBNb21lbnRKUyAoaHR0cDovL21vbWVudGpzLmNvbS8pLlxuICAnZm9ybWF0J1xuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby1jb21iby1yZW5kZXJlci1kYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL28tY29tYm8tcmVuZGVyZXItZGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fQ09NQk9fUkVOREVSRVJfREFURVxufSlcbmV4cG9ydCBjbGFzcyBPQ29tYm9SZW5kZXJlckRhdGVDb21wb25lbnQgZXh0ZW5kcyBPQ29tYm9DdXN0b21SZW5kZXJlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHJvdGVjdGVkIGNvbXBvbmVudFBpcGU6IE9Nb21lbnRQaXBlO1xuICBwcm90ZWN0ZWQgcGlwZUFyZ3VtZW50czogSU1vbWVudFBpcGVBcmd1bWVudDtcblxuICBwcm90ZWN0ZWQgZm9ybWF0OiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgndGVtcGxhdGVyZWYnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSkgcHVibGljIHRlbXBsYXRlcmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgdGhpcy5zZXRDb21wb25lbnRQaXBlKCk7XG4gIH1cblxuICBzZXRDb21wb25lbnRQaXBlKCkge1xuICAgIHRoaXMuY29tcG9uZW50UGlwZSA9IG5ldyBPTW9tZW50UGlwZSh0aGlzLmluamVjdG9yKTtcbiAgfVxuXG4gIGluaXRpYWxpemUoKSB7XG4gICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgIC8vIENhbGxlZCBhZnRlciB0aGUgY29uc3RydWN0b3IsIGluaXRpYWxpemluZyBpbnB1dCBwcm9wZXJ0aWVzLCBhbmQgdGhlIGZpcnN0IGNhbGwgdG8gbmdPbkNoYW5nZXMuXG4gICAgdGhpcy5waXBlQXJndW1lbnRzID0ge1xuICAgICAgZm9ybWF0OiB0aGlzLmZvcm1hdFxuICAgIH07XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVyZWYgbGV0LXZhbHVlPVwidmFsdWVcIj5cbiAge3tnZXRDb21ib0RhdGEodmFsdWUpfX1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jb21iby1yZW5kZXJlci1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NvbWJvL2NvbWJvLXJlbmRlcmVyL2RhdGUvby1jb21iby1yZW5kZXJlci1kYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NvbWJvL2NvbWJvLXJlbmRlcmVyL2RhdGUvby1jb21iby1yZW5kZXJlci1kYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0csT0FBTyxFQUF1QixXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFakUsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUc7SUFFbEQsUUFBUTtDQUNULENBQUM7QUFRRixNQUFNLE9BQU8sMkJBQTRCLFNBQVEsb0JBQW9CO0lBU25FLFlBQXNCLFFBQWtCO1FBQ3RDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURJLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFdEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxVQUFVO1FBQ1IsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRW5CLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7SUFDSixDQUFDOzt5SEF4QlUsMkJBQTJCOzZHQUEzQiwyQkFBMkIsa0xBT0osV0FBVyxrRUN2Qi9DLDZGQUdBOzRGRGFhLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDRSx1QkFBdUIsbUJBRWhCLHVCQUF1QixDQUFDLE1BQU0sVUFDdkMsb0NBQW9DOytGQVMwQixXQUFXO3NCQUFoRixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSU1vbWVudFBpcGVBcmd1bWVudCwgT01vbWVudFBpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9waXBlcy9vLW1vbWVudC5waXBlJztcbmltcG9ydCB7IE9Db21ib0N1c3RvbVJlbmRlcmVyIH0gZnJvbSAnLi4vby1jb21iby1yZW5kZXJlci5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX0NPTUJPX1JFTkRFUkVSX0RBVEUgPSBbXG4gIC8vIGZvcm1hdCBbc3RyaW5nXTogZGF0ZSBmb3JtYXQuIFNlZSBNb21lbnRKUyAoaHR0cDovL21vbWVudGpzLmNvbS8pLlxuICAnZm9ybWF0J1xuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby1jb21iby1yZW5kZXJlci1kYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL28tY29tYm8tcmVuZGVyZXItZGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fQ09NQk9fUkVOREVSRVJfREFURVxufSlcbmV4cG9ydCBjbGFzcyBPQ29tYm9SZW5kZXJlckRhdGVDb21wb25lbnQgZXh0ZW5kcyBPQ29tYm9DdXN0b21SZW5kZXJlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHJvdGVjdGVkIGNvbXBvbmVudFBpcGU6IE9Nb21lbnRQaXBlO1xuICBwcm90ZWN0ZWQgcGlwZUFyZ3VtZW50czogSU1vbWVudFBpcGVBcmd1bWVudDtcblxuICBwcm90ZWN0ZWQgZm9ybWF0OiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgndGVtcGxhdGVyZWYnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSkgcHVibGljIHRlbXBsYXRlcmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgdGhpcy5zZXRDb21wb25lbnRQaXBlKCk7XG4gIH1cblxuICBzZXRDb21wb25lbnRQaXBlKCkge1xuICAgIHRoaXMuY29tcG9uZW50UGlwZSA9IG5ldyBPTW9tZW50UGlwZSh0aGlzLmluamVjdG9yKTtcbiAgfVxuXG4gIGluaXRpYWxpemUoKSB7XG4gICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgIC8vIENhbGxlZCBhZnRlciB0aGUgY29uc3RydWN0b3IsIGluaXRpYWxpemluZyBpbnB1dCBwcm9wZXJ0aWVzLCBhbmQgdGhlIGZpcnN0IGNhbGwgdG8gbmdPbkNoYW5nZXMuXG4gICAgdGhpcy5waXBlQXJndW1lbnRzID0ge1xuICAgICAgZm9ybWF0OiB0aGlzLmZvcm1hdFxuICAgIH07XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVyZWYgbGV0LXZhbHVlPVwidmFsdWVcIj5cbiAge3tnZXRDb21ib0RhdGEodmFsdWUpfX1cbjwvbmctdGVtcGxhdGU+XG4iXX0=