ontimize-web-ngx 15.5.0 → 15.6.0-next.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 (458) 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 +6 -5
  60. package/esm2020/lib/components/form/o-form.component.mjs +27 -13
  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 +5 -5
  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 +6 -6
  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 +5 -5
  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 +9 -5
  101. package/esm2020/lib/components/input/file-input/o-file-input.module.mjs +5 -5
  102. package/esm2020/lib/components/input/hour-input/o-hour-input.component.mjs +4 -4
  103. package/esm2020/lib/components/input/hour-input/o-hour-input.module.mjs +5 -5
  104. package/esm2020/lib/components/input/html-input/o-html-input.component.mjs +4 -4
  105. package/esm2020/lib/components/input/html-input/o-html-input.module.mjs +5 -5
  106. package/esm2020/lib/components/input/integer-input/o-integer-input.component.mjs +4 -4
  107. package/esm2020/lib/components/input/integer-input/o-integer-input.module.mjs +5 -5
  108. package/esm2020/lib/components/input/listpicker/listpicker-renderer/currency/o-list-picker-renderer-currency.component.mjs +4 -4
  109. package/esm2020/lib/components/input/listpicker/listpicker-renderer/date/o-list-picker-renderer-date.component.mjs +4 -4
  110. package/esm2020/lib/components/input/listpicker/listpicker-renderer/integer/o-list-picker-renderer-integer.component.mjs +4 -4
  111. package/esm2020/lib/components/input/listpicker/listpicker-renderer/o-list-picker-renderer.class.mjs +4 -4
  112. package/esm2020/lib/components/input/listpicker/listpicker-renderer/percentage/o-list-picker-renderer-percentage.component.mjs +4 -4
  113. package/esm2020/lib/components/input/listpicker/listpicker-renderer/real/o-list-picker-renderer-real.component.mjs +4 -4
  114. package/esm2020/lib/components/input/listpicker/o-list-picker-dialog.component.mjs +4 -4
  115. package/esm2020/lib/components/input/listpicker/o-list-picker.component.mjs +4 -4
  116. package/esm2020/lib/components/input/listpicker/o-list-picker.module.mjs +5 -5
  117. package/esm2020/lib/components/input/nif-input/o-nif-input.component.mjs +4 -4
  118. package/esm2020/lib/components/input/nif-input/o-nif-input.module.mjs +5 -5
  119. package/esm2020/lib/components/input/o-boolean-form-data-component.class.mjs +4 -4
  120. package/esm2020/lib/components/input/o-form-service-component.class.mjs +20 -11
  121. package/esm2020/lib/components/input/password-input/o-password-input.component.mjs +4 -4
  122. package/esm2020/lib/components/input/password-input/o-password-input.module.mjs +5 -5
  123. package/esm2020/lib/components/input/percent-input/o-percent-input.component.mjs +4 -4
  124. package/esm2020/lib/components/input/percent-input/o-percent-input.module.mjs +5 -5
  125. package/esm2020/lib/components/input/phone-input/data/country-code.mjs +4 -4
  126. package/esm2020/lib/components/input/phone-input/o-phone-input.component.mjs +4 -4
  127. package/esm2020/lib/components/input/phone-input/o-phone-input.module.mjs +5 -5
  128. package/esm2020/lib/components/input/radio/o-radio.component.mjs +4 -4
  129. package/esm2020/lib/components/input/radio/o-radio.module.mjs +5 -5
  130. package/esm2020/lib/components/input/real-input/o-real-input.component.mjs +4 -4
  131. package/esm2020/lib/components/input/real-input/o-real-input.module.mjs +5 -5
  132. package/esm2020/lib/components/input/search-input/o-search-input.component.mjs +4 -4
  133. package/esm2020/lib/components/input/search-input/o-search-input.module.mjs +5 -5
  134. package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.component.mjs +4 -4
  135. package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.module.mjs +5 -5
  136. package/esm2020/lib/components/input/slider/o-slider.component.mjs +4 -4
  137. package/esm2020/lib/components/input/slider/o-slider.module.mjs +5 -5
  138. package/esm2020/lib/components/input/text-input/o-text-input.component.mjs +4 -4
  139. package/esm2020/lib/components/input/text-input/o-text-input.module.mjs +5 -5
  140. package/esm2020/lib/components/input/textarea-input/o-textarea-input.component.mjs +4 -4
  141. package/esm2020/lib/components/input/textarea-input/o-textarea-input.module.mjs +5 -5
  142. package/esm2020/lib/components/input/time-input/o-time-input.component.mjs +4 -4
  143. package/esm2020/lib/components/input/time-input/o-time-input.module.mjs +5 -5
  144. package/esm2020/lib/components/language-selector/o-language-selector.component.mjs +4 -4
  145. package/esm2020/lib/components/language-selector/o-language-selector.module.mjs +5 -5
  146. package/esm2020/lib/components/list/list-item/o-list-item.component.mjs +4 -4
  147. package/esm2020/lib/components/list/list-item/o-list-item.directive.mjs +4 -4
  148. package/esm2020/lib/components/list/o-list.component.mjs +5 -5
  149. package/esm2020/lib/components/list/o-list.module.mjs +5 -5
  150. package/esm2020/lib/components/list/renderers/avatar/o-list-item-avatar.component.mjs +4 -4
  151. package/esm2020/lib/components/list/renderers/card/o-list-item-card.component.mjs +4 -4
  152. package/esm2020/lib/components/list/renderers/card-image/o-list-item-card-image.component.mjs +4 -4
  153. package/esm2020/lib/components/list/renderers/o-list-item-card-renderer.class.mjs +4 -4
  154. package/esm2020/lib/components/list/renderers/o-list-item-text-renderer.class.mjs +4 -4
  155. package/esm2020/lib/components/list/renderers/text/o-list-item-text.component.mjs +4 -4
  156. package/esm2020/lib/components/list/skeleton/o-list-skeleton.component.mjs +4 -4
  157. package/esm2020/lib/components/material/ckeditor/ck-editor.component.mjs +4 -4
  158. package/esm2020/lib/components/material/ckeditor/ck-editor.module.mjs +5 -5
  159. package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.component.mjs +4 -4
  160. package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.module.mjs +5 -5
  161. package/esm2020/lib/components/o-form-data-component.class.mjs +4 -4
  162. package/esm2020/lib/components/o-service-base-component.class.mjs +35 -24
  163. package/esm2020/lib/components/o-service-component.class.mjs +8 -8
  164. package/esm2020/lib/components/o-skeleton.component.mjs +4 -4
  165. package/esm2020/lib/components/table/column/calculated/o-table-column-calculated.component.mjs +4 -4
  166. package/esm2020/lib/components/table/column/cell-editor/boolean/o-table-cell-editor-boolean.component.mjs +4 -4
  167. package/esm2020/lib/components/table/column/cell-editor/date/o-table-cell-editor-date.component.mjs +4 -4
  168. package/esm2020/lib/components/table/column/cell-editor/email/o-table-cell-editor-email.component.mjs +4 -4
  169. package/esm2020/lib/components/table/column/cell-editor/integer/o-table-cell-editor-integer.component.mjs +4 -4
  170. package/esm2020/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.mjs +4 -4
  171. package/esm2020/lib/components/table/column/cell-editor/real/o-table-cell-editor-real.component.mjs +4 -4
  172. package/esm2020/lib/components/table/column/cell-editor/text/o-table-cell-editor-text.component.mjs +4 -4
  173. package/esm2020/lib/components/table/column/cell-editor/time/o-table-cell-editor-time.component.mjs +4 -4
  174. package/esm2020/lib/components/table/column/cell-renderer/action/o-table-cell-renderer-action.component.mjs +4 -4
  175. package/esm2020/lib/components/table/column/cell-renderer/boolean/o-table-cell-renderer-boolean.component.mjs +4 -4
  176. package/esm2020/lib/components/table/column/cell-renderer/currency/o-table-cell-renderer-currency.component.mjs +4 -4
  177. package/esm2020/lib/components/table/column/cell-renderer/date/o-table-cell-renderer-date.component.mjs +4 -4
  178. package/esm2020/lib/components/table/column/cell-renderer/image/o-table-cell-renderer-image.component.mjs +4 -4
  179. package/esm2020/lib/components/table/column/cell-renderer/integer/o-table-cell-renderer-integer.component.mjs +4 -4
  180. package/esm2020/lib/components/table/column/cell-renderer/o-base-table-cell-renderer.class.mjs +4 -4
  181. package/esm2020/lib/components/table/column/cell-renderer/percentage/o-table-cell-renderer-percentage.component.mjs +4 -4
  182. package/esm2020/lib/components/table/column/cell-renderer/real/o-table-cell-renderer-real.component.mjs +4 -4
  183. package/esm2020/lib/components/table/column/cell-renderer/service/o-table-cell-renderer-service.component.mjs +23 -9
  184. package/esm2020/lib/components/table/column/cell-renderer/time/o-table-cell-renderer-time.component.mjs +4 -4
  185. package/esm2020/lib/components/table/column/cell-renderer/translate/o-table-cell-renderer-translate.component.mjs +4 -4
  186. package/esm2020/lib/components/table/column/o-table-column.component.mjs +4 -4
  187. package/esm2020/lib/components/table/extensions/contextmenu/o-table-context-menu.component.mjs +4 -4
  188. package/esm2020/lib/components/table/extensions/dialog/apply-configuration/o-table-apply-configuration-dialog.component.mjs +4 -4
  189. package/esm2020/lib/components/table/extensions/dialog/export/o-table-export-dialog.component.mjs +4 -4
  190. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +4 -4
  191. package/esm2020/lib/components/table/extensions/dialog/group-by-columns/o-table-group-by-columns-dialog.component.mjs +4 -4
  192. package/esm2020/lib/components/table/extensions/dialog/o-table-base-dialog.class.mjs +4 -4
  193. package/esm2020/lib/components/table/extensions/dialog/store-configuration/o-table-store-configuration-dialog.component.mjs +4 -4
  194. package/esm2020/lib/components/table/extensions/dialog/visible-columns/o-table-visible-columns-dialog.component.mjs +4 -4
  195. package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.component.mjs +4 -4
  196. package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.service.mjs +4 -4
  197. package/esm2020/lib/components/table/extensions/footer/aggregate/o-table-column-aggregate.component.mjs +4 -4
  198. package/esm2020/lib/components/table/extensions/footer/expanded/o-table-expanded-footer.directive.mjs +4 -4
  199. package/esm2020/lib/components/table/extensions/footer/paginator/o-table-mat-paginator-intl.mjs +4 -4
  200. package/esm2020/lib/components/table/extensions/footer/paginator/o-table-paginator.component.mjs +4 -4
  201. package/esm2020/lib/components/table/extensions/header/o-table-header-components.mjs +3 -2
  202. package/esm2020/lib/components/table/extensions/header/table-button/o-table-button.component.mjs +4 -4
  203. package/esm2020/lib/components/table/extensions/header/table-buttons/o-table-buttons.component.mjs +4 -4
  204. package/esm2020/lib/components/table/extensions/header/table-column-resizer/o-table-column-resizer.component.mjs +4 -4
  205. package/esm2020/lib/components/table/extensions/header/table-column-select-all/o-table-column-select-all.directive.mjs +4 -4
  206. package/esm2020/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.mjs +4 -4
  207. package/esm2020/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.mjs +4 -4
  208. package/esm2020/lib/components/table/extensions/header/table-columns-grouping/columns/o-table-columns-grouping-column.component.mjs +4 -4
  209. package/esm2020/lib/components/table/extensions/header/table-columns-grouping/o-table-columns-grouping.component.mjs +4 -4
  210. package/esm2020/lib/components/table/extensions/header/table-header/o-table-header.component.mjs +4 -4
  211. package/esm2020/lib/components/table/extensions/header/table-header-column-filter-icon/o-table-header-column-filter-icon.component.mjs +4 -4
  212. package/esm2020/lib/components/table/extensions/header/table-header-select-all/o-table-header-select-all.component.mjs +4 -4
  213. package/esm2020/lib/components/table/extensions/header/table-insertable-row/o-table-insertable-row.component.mjs +4 -4
  214. package/esm2020/lib/components/table/extensions/header/table-menu/o-table-menu.component.mjs +4 -4
  215. package/esm2020/lib/components/table/extensions/header/table-option/o-table-option.component.mjs +4 -4
  216. package/esm2020/lib/components/table/extensions/header/table-quickfilter/o-table-quickfilter.component.mjs +4 -4
  217. package/esm2020/lib/components/table/extensions/o-table-datasource.service.mjs +4 -4
  218. package/esm2020/lib/components/table/extensions/o-table-strategy.service.mjs +4 -4
  219. package/esm2020/lib/components/table/extensions/o-table.dao.mjs +2 -2
  220. package/esm2020/lib/components/table/extensions/pipes/o-table-row-class.pipe.mjs +4 -4
  221. package/esm2020/lib/components/table/extensions/row/o-table-row.directive.mjs +4 -4
  222. package/esm2020/lib/components/table/extensions/row/table-row-expandable/o-table-row-expandable.component.mjs +4 -4
  223. package/esm2020/lib/components/table/extensions/skeleton/o-table-skeleton.component.mjs +4 -4
  224. package/esm2020/lib/components/table/extensions/sort/o-mat-sort-header.mjs +4 -4
  225. package/esm2020/lib/components/table/extensions/sort/o-mat-sort-module.mjs +5 -5
  226. package/esm2020/lib/components/table/extensions/sort/o-mat-sort.mjs +4 -4
  227. package/esm2020/lib/components/table/o-table.component.mjs +21 -16
  228. package/esm2020/lib/components/table/o-table.module.mjs +6 -6
  229. package/esm2020/lib/components/tree/header/tree-menu/o-tree-menu.component.mjs +4 -4
  230. package/esm2020/lib/components/tree/o-tree-dao.service.mjs +4 -4
  231. package/esm2020/lib/components/tree/o-tree.component.mjs +6 -6
  232. package/esm2020/lib/components/tree/o-tree.module.mjs +5 -5
  233. package/esm2020/lib/components/tree/tree-node/tree-node.component.mjs +4 -4
  234. package/esm2020/lib/components/user-info/o-user-info.component.mjs +4 -4
  235. package/esm2020/lib/components/user-info/o-user-info.module.mjs +5 -5
  236. package/esm2020/lib/components/user-info/user-info-configuration/o-user-info-configuration.directive.mjs +4 -4
  237. package/esm2020/lib/components/user-info/user-info-configuration-item/o-user-info-configuration-item.directive.mjs +4 -4
  238. package/esm2020/lib/config/app-config.mjs +4 -1
  239. package/esm2020/lib/config/o-modules.mjs +5 -5
  240. package/esm2020/lib/config/o-providers.mjs +9 -4
  241. package/esm2020/lib/directives/input-regulate.directive.mjs +4 -4
  242. package/esm2020/lib/directives/keyboard-listener.directive.mjs +4 -4
  243. package/esm2020/lib/directives/locker.directive.mjs +4 -4
  244. package/esm2020/lib/directives/o-file-drag-and-drop.directive.mjs +4 -4
  245. package/esm2020/lib/directives/o-hidden.directive.mjs +4 -4
  246. package/esm2020/lib/directives/o-mat-error.directive.mjs +4 -4
  247. package/esm2020/lib/directives/o-mat-prefix.directive.mjs +4 -4
  248. package/esm2020/lib/directives/o-mat-suffix.directive.mjs +4 -4
  249. package/esm2020/lib/directives/o-tab-group.directive.mjs +4 -4
  250. package/esm2020/lib/interfaces/base-response.interface.mjs +2 -0
  251. package/esm2020/lib/interfaces/data-service.interface.mjs +1 -1
  252. package/esm2020/lib/interfaces/form-data-component.interface.mjs +1 -1
  253. package/esm2020/lib/interfaces/index.mjs +4 -1
  254. package/esm2020/lib/interfaces/jsonapi-response.interface.mjs +2 -0
  255. package/esm2020/lib/interfaces/name-convention.interface.mjs +2 -0
  256. package/esm2020/lib/interfaces/prefereces-service.interface.mjs +2 -0
  257. package/esm2020/lib/interfaces/service-response-adapter.interface.mjs +1 -1
  258. package/esm2020/lib/interfaces/service-response.interface.mjs +1 -1
  259. package/esm2020/lib/layouts/app-layout/app-layout-header/o-app-layout-header.component.mjs +4 -4
  260. package/esm2020/lib/layouts/app-layout/app-layout-sidenav/o-app-layout-sidenav.component.mjs +4 -4
  261. package/esm2020/lib/layouts/app-layout/o-app-layout.component.mjs +4 -4
  262. package/esm2020/lib/layouts/app-layout/o-app-layout.module.mjs +5 -5
  263. package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.component.mjs +4 -4
  264. package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.module.mjs +5 -5
  265. package/esm2020/lib/layouts/form-layout/dialog/o-form-layout-dialog.component.mjs +4 -4
  266. package/esm2020/lib/layouts/form-layout/dialog/options/o-form-layout-dialog-options.directive.mjs +4 -4
  267. package/esm2020/lib/layouts/form-layout/directives/o-form-layout-manager-content.directive.mjs +4 -4
  268. package/esm2020/lib/layouts/form-layout/guards/o-form-layout-can-activate-child.guard.mjs +4 -4
  269. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.component.mjs +4 -4
  270. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.module.mjs +5 -5
  271. package/esm2020/lib/layouts/form-layout/split-pane/o-form-layout-split-pane.component.mjs +4 -4
  272. package/esm2020/lib/layouts/form-layout/split-pane/options/o-form-layout-split-pane-options.directive.mjs +4 -4
  273. package/esm2020/lib/layouts/form-layout/tabgroup/o-form-layout-tabgroup.component.mjs +4 -4
  274. package/esm2020/lib/layouts/form-layout/tabgroup/options/o-form-layout-tabgroup-options.directive.mjs +4 -4
  275. package/esm2020/lib/ontimize-web-ngx.module.mjs +5 -5
  276. package/esm2020/lib/pipes/columns-filter.pipe.mjs +4 -4
  277. package/esm2020/lib/pipes/is-empty-value.pipe.mjs +4 -4
  278. package/esm2020/lib/pipes/o-currency.pipe.mjs +4 -4
  279. package/esm2020/lib/pipes/o-icon.pipe.mjs +4 -4
  280. package/esm2020/lib/pipes/o-integer.pipe.mjs +4 -4
  281. package/esm2020/lib/pipes/o-moment.pipe.mjs +4 -4
  282. package/esm2020/lib/pipes/o-percentage.pipe.mjs +4 -4
  283. package/esm2020/lib/pipes/o-real.pipe.mjs +4 -4
  284. package/esm2020/lib/pipes/o-safe.pipe.mjs +4 -4
  285. package/esm2020/lib/pipes/o-translate.pipe.mjs +8 -8
  286. package/esm2020/lib/pipes/order-by.pipe.mjs +4 -4
  287. package/esm2020/lib/services/app-menu.service.mjs +4 -4
  288. package/esm2020/lib/services/appearance.service.mjs +4 -4
  289. package/esm2020/lib/services/auth-guard.service.mjs +4 -4
  290. package/esm2020/lib/services/auth.service.mjs +4 -4
  291. package/esm2020/lib/services/base-data-service.class.mjs +19 -0
  292. package/esm2020/lib/services/base-service.class.mjs +36 -9
  293. package/esm2020/lib/services/currency.service.mjs +4 -4
  294. package/esm2020/lib/services/dialog.service.mjs +4 -4
  295. package/esm2020/lib/services/factories.mjs +73 -4
  296. package/esm2020/lib/services/icon.service.mjs +4 -4
  297. package/esm2020/lib/services/index.mjs +4 -1
  298. package/esm2020/lib/services/jsonapi/index.mjs +5 -0
  299. package/esm2020/lib/services/jsonapi/jsonapi-preferences.service.mjs +45 -0
  300. package/esm2020/lib/services/jsonapi/jsonapi-service-response.adapter.mjs +31 -0
  301. package/esm2020/lib/services/jsonapi/jsonapi-service-response.class.mjs +45 -0
  302. package/esm2020/lib/services/jsonapi/jsonapi.service.mjs +166 -0
  303. package/esm2020/lib/services/local-storage.service.mjs +4 -4
  304. package/esm2020/lib/services/login-storage.service.mjs +4 -4
  305. package/esm2020/lib/services/moment.service.mjs +4 -4
  306. package/esm2020/lib/services/name-convention/base-name-convention.service.mjs +59 -0
  307. package/esm2020/lib/services/name-convention/index.mjs +4 -0
  308. package/esm2020/lib/services/name-convention/name-convention-lower.service.mjs +11 -0
  309. package/esm2020/lib/services/name-convention/name-convention-upper.service.mjs +11 -0
  310. package/esm2020/lib/services/name-convention/name-convention.service.mjs +24 -0
  311. package/esm2020/lib/services/navigation.service.mjs +4 -4
  312. package/esm2020/lib/services/number.service.mjs +4 -4
  313. package/esm2020/lib/services/o-auth.service.mjs +4 -4
  314. package/esm2020/lib/services/o-breadcrumb.service.mjs +4 -4
  315. package/esm2020/lib/services/o-error-dialog-manager.service.mjs +4 -4
  316. package/esm2020/lib/services/o-form-layout-manager.service.mjs +4 -4
  317. package/esm2020/lib/services/o-modules-info.service.mjs +4 -4
  318. package/esm2020/lib/services/o-user-info.service.mjs +4 -4
  319. package/esm2020/lib/services/ontimize/index.mjs +4 -1
  320. package/esm2020/lib/services/ontimize/o-preference-query-argument.adapter.mjs +17 -0
  321. package/esm2020/lib/services/ontimize/o-preference-response.adapter.mjs +22 -0
  322. package/esm2020/lib/services/ontimize/ontimize-base-service.class.mjs +7 -12
  323. package/esm2020/lib/services/ontimize/ontimize-ee.service.mjs +33 -12
  324. package/esm2020/lib/services/ontimize/ontimize-export-3xx.service.mjs +6 -6
  325. package/esm2020/lib/services/ontimize/ontimize-export.service.mjs +6 -6
  326. package/esm2020/lib/services/ontimize/ontimize-file.service.mjs +6 -6
  327. package/esm2020/lib/services/ontimize/ontimize-preferences.service.mjs +58 -0
  328. package/esm2020/lib/services/ontimize/ontimize-service-response.adapter.mjs +7 -4
  329. package/esm2020/lib/services/ontimize/ontimize.service.mjs +32 -23
  330. package/esm2020/lib/services/ontimize-export-data-base-provider.service.mjs +4 -4
  331. package/esm2020/lib/services/ontimize-export-data-provider-3x.service.mjs +4 -4
  332. package/esm2020/lib/services/ontimize-export-data-provider.service.mjs +4 -4
  333. package/esm2020/lib/services/ontimize-icon-registry.service.mjs +4 -4
  334. package/esm2020/lib/services/pagination-context.service.mjs +4 -4
  335. package/esm2020/lib/services/parser/o-service-response.parser.mjs +21 -4
  336. package/esm2020/lib/services/permissions/o-permissions.module.mjs +5 -5
  337. package/esm2020/lib/services/permissions/ontimize-ee-permissions.service.mjs +4 -4
  338. package/esm2020/lib/services/permissions/ontimize-permissions.service.mjs +4 -4
  339. package/esm2020/lib/services/permissions/permissions-can-activate.guard.mjs +4 -4
  340. package/esm2020/lib/services/permissions/permissions.service.mjs +4 -4
  341. package/esm2020/lib/services/query-arguments/base-query-argument.adapter.mjs +9 -0
  342. package/esm2020/lib/services/query-arguments/base-query-argument.interface.mjs +2 -0
  343. package/esm2020/lib/services/query-arguments/index.mjs +5 -0
  344. package/esm2020/lib/services/query-arguments/jsonapi-query-arguments.adapter.mjs +63 -0
  345. package/esm2020/lib/services/query-arguments/ontimize-query-arguments.adapter.mjs +19 -0
  346. package/esm2020/lib/services/remote-config.service.mjs +5 -5
  347. package/esm2020/lib/services/share-can-activate-child.service.mjs +4 -4
  348. package/esm2020/lib/services/snackbar.service.mjs +4 -4
  349. package/esm2020/lib/services/state/o-app-menu-component-state.service.mjs +4 -4
  350. package/esm2020/lib/services/state/o-component-state.service.mjs +10 -10
  351. package/esm2020/lib/services/state/o-filter-builder-component-state.service.mjs +4 -4
  352. package/esm2020/lib/services/state/o-form-layout-manager-component-state.service.mjs +4 -4
  353. package/esm2020/lib/services/state/o-grid-component-state.service.mjs +4 -4
  354. package/esm2020/lib/services/state/o-list-component-state.service.mjs +4 -4
  355. package/esm2020/lib/services/state/o-table-component-state.service.mjs +4 -4
  356. package/esm2020/lib/services/state/o-tree-component-state.service.mjs +4 -4
  357. package/esm2020/lib/services/translate/o-translate.parser.mjs +4 -4
  358. package/esm2020/lib/services/translate/o-translate.service.mjs +4 -4
  359. package/esm2020/lib/shared/components/dialog/o-dialog-internal.component.mjs +4 -4
  360. package/esm2020/lib/shared/components/dialog/o-dialog.component.mjs +4 -4
  361. package/esm2020/lib/shared/components/error403/o-error-403.component.mjs +4 -4
  362. package/esm2020/lib/shared/components/filter/load-filter/o-load-filter-dialog.component.mjs +4 -4
  363. package/esm2020/lib/shared/components/filter/store-filter/o-store-filter-dialog.component.mjs +4 -4
  364. package/esm2020/lib/shared/components/snackbar/o-snackbar-base.class.mjs +4 -4
  365. package/esm2020/lib/shared/components/snackbar/o-snackbar.component.mjs +4 -4
  366. package/esm2020/lib/shared/components/validation/o-error.component.mjs +4 -4
  367. package/esm2020/lib/shared/components/validation/o-validator.component.mjs +4 -4
  368. package/esm2020/lib/shared/material/custom.material.module.mjs +5 -5
  369. package/esm2020/lib/shared/material/date/ontimize-moment-date-adapter.mjs +4 -4
  370. package/esm2020/lib/shared/shared.module.mjs +5 -5
  371. package/esm2020/lib/types/config.type.mjs +1 -1
  372. package/esm2020/lib/types/configure-service-args.type.mjs +1 -1
  373. package/esm2020/lib/types/index.mjs +5 -1
  374. package/esm2020/lib/types/json-query-parameter.type.mjs +2 -0
  375. package/esm2020/lib/types/preferences.type.mjs +2 -0
  376. package/esm2020/lib/types/query-params.type.mjs +2 -0
  377. package/esm2020/lib/types/service-configuration.type.mjs +2 -0
  378. package/esm2020/lib/types/service-request-param.type.mjs +1 -1
  379. package/esm2020/lib/types/service-type.type.mjs +8 -0
  380. package/esm2020/lib/util/codes.mjs +2 -1
  381. package/esm2020/lib/util/index.mjs +2 -1
  382. package/esm2020/lib/util/preference-mapping-util.mjs +80 -0
  383. package/esm2020/lib/util/sqltypes.mjs +5 -1
  384. package/esm2020/lib/util/util.mjs +103 -12
  385. package/fesm2015/ontimize-web-ngx.mjs +3565 -2638
  386. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  387. package/fesm2020/ontimize-web-ngx.mjs +3561 -2637
  388. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  389. package/lib/components/form/navigation/o-form-navigation.component.d.ts +3 -1
  390. package/lib/components/form/o-form.component.d.ts +12 -7
  391. package/lib/components/grid/o-grid.component.d.ts +2 -1
  392. package/lib/components/input/file-input/o-file-input.component.d.ts +3 -1
  393. package/lib/components/input/o-form-service-component.class.d.ts +11 -4
  394. package/lib/components/list/o-list.component.d.ts +2 -1
  395. package/lib/components/o-service-base-component.class.d.ts +8 -4
  396. package/lib/components/o-service-component.class.d.ts +1 -1
  397. package/lib/components/table/column/cell-renderer/service/o-table-cell-renderer-service.component.d.ts +7 -2
  398. package/lib/components/table/column/o-table-column.component.d.ts +1 -1
  399. package/lib/components/table/extensions/o-table.dao.d.ts +4 -2
  400. package/lib/components/table/o-table.component.d.ts +4 -2
  401. package/lib/components/table/o-table.module.d.ts +1 -1
  402. package/lib/config/app-config.d.ts +1 -0
  403. package/lib/config/o-directives.d.ts +1 -1
  404. package/lib/interfaces/base-response.interface.d.ts +7 -0
  405. package/lib/interfaces/data-service.interface.d.ts +1 -0
  406. package/lib/interfaces/form-data-component.interface.d.ts +1 -0
  407. package/lib/interfaces/index.d.ts +3 -0
  408. package/lib/interfaces/jsonapi-response.interface.d.ts +9 -0
  409. package/lib/interfaces/name-convention.interface.d.ts +9 -0
  410. package/lib/interfaces/prefereces-service.interface.d.ts +7 -0
  411. package/lib/interfaces/service-response-adapter.interface.d.ts +4 -2
  412. package/lib/interfaces/service-response.interface.d.ts +2 -6
  413. package/lib/services/base-data-service.class.d.ts +17 -0
  414. package/lib/services/base-service.class.d.ts +27 -20
  415. package/lib/services/factories.d.ts +30 -0
  416. package/lib/services/index.d.ts +3 -0
  417. package/lib/services/jsonapi/index.d.ts +4 -0
  418. package/lib/services/jsonapi/jsonapi-preferences.service.d.ts +13 -0
  419. package/lib/services/jsonapi/jsonapi-service-response.adapter.d.ts +12 -0
  420. package/lib/services/jsonapi/jsonapi-service-response.class.d.ts +23 -0
  421. package/lib/services/jsonapi/jsonapi.service.d.ts +31 -0
  422. package/lib/services/name-convention/base-name-convention.service.d.ts +12 -0
  423. package/lib/services/name-convention/index.d.ts +3 -0
  424. package/lib/services/name-convention/name-convention-lower.service.d.ts +5 -0
  425. package/lib/services/name-convention/name-convention-upper.service.d.ts +5 -0
  426. package/lib/services/name-convention/name-convention.service.d.ts +10 -0
  427. package/lib/services/ontimize/index.d.ts +3 -0
  428. package/lib/services/ontimize/o-preference-query-argument.adapter.d.ts +7 -0
  429. package/lib/services/ontimize/o-preference-response.adapter.d.ts +9 -0
  430. package/lib/services/ontimize/ontimize-base-service.class.d.ts +3 -3
  431. package/lib/services/ontimize/ontimize-ee.service.d.ts +1 -0
  432. package/lib/services/ontimize/ontimize-export-3xx.service.d.ts +3 -2
  433. package/lib/services/ontimize/ontimize-export.service.d.ts +2 -2
  434. package/lib/services/ontimize/ontimize-file.service.d.ts +3 -2
  435. package/lib/services/ontimize/ontimize-preferences.service.d.ts +16 -0
  436. package/lib/services/ontimize/ontimize-service-response.adapter.d.ts +6 -5
  437. package/lib/services/ontimize/ontimize.service.d.ts +2 -0
  438. package/lib/services/parser/o-service-response.parser.d.ts +11 -5
  439. package/lib/services/query-arguments/base-query-argument.adapter.d.ts +6 -0
  440. package/lib/services/query-arguments/base-query-argument.interface.d.ts +3 -0
  441. package/lib/services/query-arguments/index.d.ts +4 -0
  442. package/lib/services/query-arguments/jsonapi-query-arguments.adapter.d.ts +12 -0
  443. package/lib/services/query-arguments/ontimize-query-arguments.adapter.d.ts +8 -0
  444. package/lib/types/config.type.d.ts +3 -1
  445. package/lib/types/configure-service-args.type.d.ts +5 -5
  446. package/lib/types/index.d.ts +4 -0
  447. package/lib/types/json-query-parameter.type.d.ts +15 -0
  448. package/lib/types/preferences.type.d.ts +7 -0
  449. package/lib/types/query-params.type.d.ts +11 -0
  450. package/lib/types/service-configuration.type.d.ts +7 -0
  451. package/lib/types/service-request-param.type.d.ts +5 -5
  452. package/lib/types/service-type.type.d.ts +5 -0
  453. package/lib/util/codes.d.ts +6 -5
  454. package/lib/util/index.d.ts +1 -0
  455. package/lib/util/preference-mapping-util.d.ts +74 -0
  456. package/lib/util/util.d.ts +10 -2
  457. package/package.json +1 -1
  458. package/theme.scss +69 -69
@@ -95,7 +95,7 @@ export class OImageComponent extends OFormDataComponent {
95
95
  this.src = this.getSrcValue();
96
96
  }
97
97
  isEmpty() {
98
- return !this.getValue() || this.getValue().length === 0;
98
+ return this.getValue()?.length === 0;
99
99
  }
100
100
  createFormControl(cfg, validators) {
101
101
  this._fControl = super.createFormControl(cfg, validators);
@@ -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.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': isEmpty() , '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=\"!isEmpty() && !hasControls() && enabled && !isReadOnly\" (click)=\"onClickClearValue($event)\"\n class=\"o-image-button-remove\">\n <mat-icon>close</mat-icon>\n </button>\n\n <img *ngIf=\"!(isEmpty())\" [src]=\"src\" alt=\"\" (click)=\"openFileSelector()\" (error)=\"notFoundImageUrl($event)\"\n [ngClass]=\"{'o-image-cursor': !isReadOnly}\" />\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=\"isEmpty()\">{{ 'OIMAGE.TEXT.DROP&DRAG' | oTranslate }}</span>\n\n <button mat-button color=\"primary\" (click)=\"openFileSelector()\" *ngIf=\"!hasControls() && isEmpty()\">\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.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 });
275
275
  __decorate([
276
276
  NumberInputConverter(),
277
277
  __metadata("design:type", Number)
@@ -284,11 +284,11 @@ __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.10", ngImport: i0, type: OImageComponent, decorators: [{
287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", 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'
291
- }, 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': isEmpty() , '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=\"!isEmpty() && !hasControls() && enabled && !isReadOnly\" (click)=\"onClickClearValue($event)\"\n class=\"o-image-button-remove\">\n <mat-icon>close</mat-icon>\n </button>\n\n <img *ngIf=\"!(isEmpty())\" [src]=\"src\" alt=\"\" (click)=\"openFileSelector()\" (error)=\"notFoundImageUrl($event)\"\n [ngClass]=\"{'o-image-cursor': !isReadOnly}\" />\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=\"isEmpty()\">{{ 'OIMAGE.TEXT.DROP&DRAG' | oTranslate }}</span>\n\n <button mat-button color=\"primary\" (click)=\"openFileSelector()\" *ngIf=\"!hasControls() && isEmpty()\">\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"] }]
291
+ }, 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"] }]
292
292
  }], ctorParameters: function () { return [{ type: i13.OFormComponent, decorators: [{
293
293
  type: Optional
294
294
  }, {
@@ -301,4 +301,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
301
301
  type: HostBinding,
302
302
  args: ['style.height']
303
303
  }] } });
304
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbWFnZS9vLWltYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL28taW1hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBcUIsUUFBUSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQWlDLE1BQU0sZ0JBQWdCLENBQUM7QUFDckcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBR3RGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHO0lBQ3BDLHlCQUF5QjtJQUV6QixnQ0FBZ0M7SUFFaEMsdUJB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IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IEJvb2xlYW5JbnB1dENvbnZlcnRlciwgTnVtYmVySW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5pbXBvcnQgeyBPU2FmZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9vLXNhZmUucGlwZSc7XG5pbXBvcnQgeyBGb3JtVmFsdWVPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBPRm9ybVZhbHVlIH0gZnJvbSAnLi4vZm9ybS9vLWZvcm0tdmFsdWUnO1xuaW1wb3J0IHsgT0Zvcm1Db21wb25lbnQgfSBmcm9tICcuLi9mb3JtL28tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT0Zvcm1Db250cm9sIH0gZnJvbSAnLi4vaW5wdXQvby1mb3JtLWNvbnRyb2wuY2xhc3MnO1xuaW1wb3J0IHsgT0Zvcm1EYXRhQ29tcG9uZW50IH0gZnJvbSAnLi4vby1mb3JtLWRhdGEtY29tcG9uZW50LmNsYXNzJztcbmltcG9ydCB7IE9GdWxsU2NyZWVuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9mdWxsc2NyZWVuL2Z1bGxzY3JlZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5QVVRTX09fSU1BR0UgPSBbXG4gICdlbXB0eWltYWdlOiBlbXB0eS1pbWFnZScsXG4gIC8vIG5vdC1mb3VuZC1pbWFnZSBbc3RyaW5nXTogRGVmYXVsdCBpbWFnZSBmb3IgNDA0IGVycm9yLlxuICAnbm90Zm91bmRpbWFnZTogbm90LWZvdW5kLWltYWdlJyxcbiAgLy8gZW1wdHktaWNvbiBbc3RyaW5nXTogbWF0ZXJpYWwgaWNvbi4gRGVmYXVsdDogcGhvdG8uXG4gICdlbXB0eWljb246IGVtcHR5LWljb24nLFxuICAvLyBzaG93LWNvbnRyb2xzIFt5ZXN8bm8gdHJ1ZXxmYWxzZV06IFNob3dzIG9yIGhpZGVzIHNlbGVjdGlvbiBjb250cm9scy4gRGVmYXVsdDogdHJ1ZS5cbiAgJ3Nob3dDb250cm9sczogc2hvdy1jb250cm9scycsXG4gIC8vIGhlaWdodCBbJSB8IHB4XTogU2V0IHRoZSBoZWlnaHQgb2YgdGhlIGltYWdlLlxuICAnaGVpZ2h0JyxcbiAgLy8gYXV0by1maXQgW3llc3xubyB0cnVlfGZhbHNlXTogQWRqdXN0cyB0aGUgaW1hZ2UgdG8gdGhlIGNvbnRlbnQgb3Igbm90LiBEZWZhdWx0OiB0cnVlLlxuICAnYXV0b0ZpdDogYXV0by1maXQnLFxuICAnZnVsbFNjcmVlbkJ1dHRvbjogZnVsbC1zY3JlZW4tYnV0dG9uJyxcbiAgLy8gYWNjZXB0LWZpbGUtdHlwZSBbc3RyaW5nXTogZmlsZSB0eXBlcyBhbGxvd2VkIG9uIHRoZSBmaWxlIGlucHV0LCBzZXBhcmF0ZWQgYnkgJzsnLiBEZWZhdWx0OiBpbWFnZS8qLlxuICAvLyBmaWxlX2V4dGVuc2lvbiwgaW1hZ2UvKiwgbWVkaWFfdHlwZS4gU2VlIGh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vdGFncy9hdHRfaW5wdXRfYWNjZXB0LmFzcFxuICAnYWNjZXB0RmlsZVR5cGU6IGFjY2VwdC1maWxlLXR5cGUnLFxuICAvLyBtYXgtZmlsZS1zaXplIFtudW1iZXJdOiBtYXhpbXVtIGZpbGUgc2l6ZSBhbGxvd2VkLCBpbiBieXRlcy4gRGVmYXVsdDogbm8gdmFsdWUuXG4gICdtYXhGaWxlU2l6ZTogbWF4LWZpbGUtc2l6ZSdcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28taW1hZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vby1pbWFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL28taW1hZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgaW5wdXRzOiBERUZBVUxUX0lOUFVUU19PX0lNQUdFLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5vLWltYWdlXSc6ICd0cnVlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE9JbWFnZUNvbXBvbmVudCBleHRlbmRzIE9Gb3JtRGF0YUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgYWNjZXB0RmlsZVR5cGU6IHN0cmluZyA9ICdpbWFnZS8qJztcbiAgQE51bWJlcklucHV0Q29udmVydGVyKClcbiAgcHVibGljIG1heEZpbGVTaXplOiBudW1iZXI7XG4gIHB1YmxpYyBlbXB0eWltYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBub3Rmb3VuZGltYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBlbXB0eWljb246IHN0cmluZztcbiAgcHVibGljIGhlaWdodDogc3RyaW5nO1xuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgcHVibGljIGF1dG9GaXQ6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgY3VycmVudEZpbGVOYW1lOiBzdHJpbmcgPSAnJztcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHByb3RlY3RlZCBzaG93Q29udHJvbHM6IGJvb2xlYW4gPSB0cnVlO1xuICBzZXQgZnVsbFNjcmVlbkJ1dHRvbih2YWw6IGJvb2xlYW4pIHtcbiAgICB2YWwgPSBVdGlsLnBhcnNlQm9vbGVhbihTdHJpbmcodmFsKSk7XG4gICAgdGhpcy5fZnVsbFNjcmVlbkJ1dHRvbiA9IHZhbDtcbiAgfVxuICBnZXQgZnVsbFNjcmVlbkJ1dHRvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZnVsbFNjcmVlbkJ1dHRvbjtcbiAgfVxuICBwcm90ZWN0ZWQgX2Z1bGxTY3JlZW5CdXR0b24gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcpXG4gIHByb3RlY3RlZCBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XG4gIHByb3RlY3RlZCBfdXNlRW1wdHlJY29uOiBib29sZWFuID0gdHJ1ZTtcbiAgcHJvdGVjdGVkIF91c2VFbXB0eUltYWdlOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBvU2FmZTogT1NhZmVQaXBlO1xuICBwcm90ZWN0ZWQgZGlhbG9nOiBNYXREaWFsb2c7XG4gIHB1YmxpYyBzdGF0ZUN0cmw6IFVudHlwZWRGb3JtQ29udHJvbDtcbiAgcHVibGljIHNyYyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBPRm9ybUNvbXBvbmVudCkpIGZvcm06IE9Gb3JtQ29tcG9uZW50LFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtLCBlbFJlZiwgaW5qZWN0b3IpO1xuICAgIHRoaXMub1NhZmUgPSBuZXcgT1NhZmVQaXBlKGluamVjdG9yKTtcbiAgICB0aGlzLl9kZWZhdWx0U1FMVHlwZUtleSA9ICdCQVNFNjQnO1xuICAgIHRoaXMuZGlhbG9nID0gdGhpcy5pbmplY3Rvci5nZXQoTWF0RGlhbG9nKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgaWYgKHRoaXMuZW1wdHlpbWFnZSAmJiB0aGlzLmVtcHR5aW1hZ2UubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fdXNlRW1wdHlJY29uID0gZmFsc2U7XG4gICAgICB0aGlzLl91c2VFbXB0eUltYWdlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lbXB0eWljb24gPT09IHVuZGVmaW5lZCAmJiAhdGhpcy5fdXNlRW1wdHlJbWFnZSkge1xuICAgICAgdGhpcy5lbXB0eWljb24gPSAncGhvdG8nO1xuICAgICAgdGhpcy5fdXNlRW1wdHlJY29uID0gdHJ1ZTtcbiAgICAgIHRoaXMuX3VzZUVtcHR5SW1hZ2UgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgfVxuXG4gIHB1YmxpYyBlbnN1cmVPRm9ybVZhbHVlKHZhbDogYW55KTogdm9pZCB7XG4gICAgaWYgKHZhbCBpbnN0YW5jZW9mIE9Gb3JtVmFsdWUpIHtcbiAgICAgIGlmICh2YWwudmFsdWUgJiYgdmFsLnZhbHVlLmJ5dGVzKSB7XG4gICAgICAgIHZhbCA9IHZhbC52YWx1ZS5ieXRlcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbCA9IHZhbC52YWx1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHZhbCkge1xuICAgICAgaWYgKHZhbC5ieXRlcykge1xuICAgICAgICB2YWwgPSB2YWwuYnl0ZXM7XG4gICAgICB9IGVsc2UgaWYgKFV0aWwuaXNCYXNlNjQodmFsKSAmJiB2YWwuc3Vic3RyaW5nKDAsIDQpID09PSAnZGF0YScpIHtcbiAgICAgICAgLy8gUmVtb3ZpbmcgXCJkYXRhOmltYWdlLyo7YmFzZTY0LFwiXG4gICAgICAgIHZhbCA9IHZhbC5zdWJzdHJpbmcodmFsLmluZGV4T2YoJ2Jhc2U2NCcpICsgNyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IG5ldyBPRm9ybVZhbHVlKHZhbCk7XG5cbiAgICB0aGlzLnNyYyA9IHRoaXMuZ2V0U3JjVmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5nZXRWYWx1ZSgpIHx8IHRoaXMuZ2V0VmFsdWUoKS5sZW5ndGggPT09IDA7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlRm9ybUNvbnRyb2woY2ZnPzogeyB2YWx1ZTogYW55LCBkaXNhYmxlZDogYm9vbGVhbiB9LCB2YWxpZGF0b3JzPzogVmFsaWRhdG9yRm5bXSk6IE9Gb3JtQ29udHJvbCB7XG4gICAgdGhpcy5fZkNvbnRyb2wgPSBzdXBlci5jcmVhdGVGb3JtQ29udHJvbChjZmcsIHZhbGlkYXRvcnMpO1xuICAgIHRoaXMuc3RhdGVDdHJsID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCh2b2lkIDAsIHRoaXMucmVzb2x2ZVZhbGlkYXRvcnMoKSk7XG4gICAgdGhpcy5fZkNvbnRyb2wuZkNvbnRyb2xDaGlsZHJlbiA9IFt0aGlzLnN0YXRlQ3RybF07XG4gICAgcmV0dXJuIHRoaXMuX2ZDb250cm9sO1xuICB9XG5cbiAgcHVibGljIGZpbGVDaGFuZ2UoaW5wdXQpOiB2b2lkIHtcbiAgICBpZiAoaW5wdXQuZmlsZXNbMF0pIHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGV2ZW50ID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IGV2ZW50LnRhcmdldFsncmVzdWx0J107XG4gICAgICAgIGlmIChyZXN1bHQgJiYgdHlwZW9mIChyZXN1bHQpID09PSAnc3RyaW5nJyAmJiBVdGlsLmlzQmFzZTY0KHJlc3VsdCkpIHtcbiAgICAgICAgICAvLyBSZW1vdmluZyBcImRhdGE6aW1hZ2UvKjtiYXNlNjQsXCJcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHQuc3Vic3RyaW5nKHJlc3VsdC5pbmRleE9mKCdiYXNlNjQnKSArIDcpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0VmFsdWUocmVzdWx0KTtcbiAgICAgICAgaWYgKHRoaXMuX2ZDb250cm9sKSB7XG4gICAgICAgICAgdGhpcy5fZkNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfSwgZmFsc2UpO1xuICAgICAgaWYgKGlucHV0LmZpbGVzWzBdKSB7XG4gICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGlucHV0LmZpbGVzWzBdKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jdXJyZW50RmlsZU5hbWUgPSBpbnB1dC5maWxlc1swXS5uYW1lO1xuICAgICAgdGhpcy5zdGF0ZUN0cmwuc2V0VmFsdWUodGhpcy5jdXJyZW50RmlsZU5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBub3RGb3VuZEltYWdlVXJsKGV2ZW50KTogYW55IHtcbiAgICBldmVudC50YXJnZXQuc3JjID0gVXRpbC5pc0RlZmluZWQodGhpcy5ub3Rmb3VuZGltYWdlKSA/IHRoaXMubm90Zm91bmRpbWFnZSA6ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTcmNWYWx1ZSgpOiBhbnkge1xuXG4gICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS52YWx1ZSkge1xuICAgICAgaWYgKHRoaXMudmFsdWUudmFsdWUgaW5zdGFuY2VvZiBPYmplY3QgJiYgdGhpcy52YWx1ZS52YWx1ZS5ieXRlcykge1xuICAgICAgICBsZXQgc3JjOiBzdHJpbmcgPSAnJztcbiAgICAgICAgaWYgKHRoaXMudmFsdWUudmFsdWUuYnl0ZXMuc3Vic3RyaW5nKDAsIDQpID09PSAnZGF0YScpIHtcbiAgICAgICAgICBzcmMgPSAnZGF0YTppbWFnZS8qO2Jhc2U2NCwnICsgdGhpcy52YWx1ZS52YWx1ZS5ieXRlcy5zdWJzdHJpbmcodGhpcy52YWx1ZS52YWx1ZS5ieXRlcy5pbmRleE9mKCdiYXNlNjQnKSArIDcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNyYyA9ICdkYXRhOmltYWdlLyo7YmFzZTY0LCcgKyB0aGlzLnZhbHVlLnZhbHVlLmJ5dGVzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLm9TYWZlLnRyYW5zZm9ybShzcmMsICd1cmwnKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMudmFsdWUudmFsdWUgPT09ICdzdHJpbmcnICYmIFV0aWwuaXNCYXNlNjQodGhpcy52YWx1ZS52YWx1ZSkpIHtcbiAgICAgICAgbGV0IHNyYzogc3RyaW5nID0gJyc7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlLnZhbHVlLnN1YnN0cmluZygwLCA0KSA9PT0gJ2RhdGEnKSB7XG4gICAgICAgICAgc3JjID0gJ2RhdGE6aW1hZ2UvKjtiYXNlNjQsJyArIHRoaXMudmFsdWUudmFsdWUuc3Vic3RyaW5nKHRoaXMudmFsdWUudmFsdWUuaW5kZXhPZignYmFzZTY0JykgKyA3KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzcmMgPSAnZGF0YTppbWFnZS8qO2Jhc2U2NCwnICsgdGhpcy52YWx1ZS52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5vU2FmZS50cmFuc2Zvcm0oc3JjLCAndXJsJyk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy52YWx1ZS52YWx1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS52YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVtcHR5aW1hZ2U7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmVtcHR5aW1hZ2UpIHtcbiAgICAgIHJldHVybiB0aGlzLmVtcHR5aW1hZ2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2xpY2tCbG9ja2VyKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgb25DbGlja0NsZWFyVmFsdWUoZTogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLmVuYWJsZWQpIHtcbiAgICAgIHN1cGVyLm9uQ2xpY2tDbGVhclZhbHVlKGUpO1xuICAgICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgdGhpcy5zdGF0ZUN0cmwucmVzZXQoKTtcbiAgICAgIHRoaXMuY3VycmVudEZpbGVOYW1lID0gJyc7XG4gICAgfVxuICAgIGlmICh0aGlzLl9mQ29udHJvbCkge1xuICAgICAgdGhpcy5fZkNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYXNDb250cm9scygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaG93Q29udHJvbHM7XG4gIH1cblxuICBwdWJsaWMgdXNlRW1wdHlJY29uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl91c2VFbXB0eUljb24gJiYgdGhpcy5pc0VtcHR5KCk7XG4gIH1cblxuICBwdWJsaWMgdXNlRW1wdHlJbWFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdXNlRW1wdHlJbWFnZSAmJiB0aGlzLmlzRW1wdHkoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGb3JtR3JvdXAoKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgbGV0IGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCA9IHN1cGVyLmdldEZvcm1Hcm91cCgpO1xuICAgIGlmICghZm9ybUdyb3VwKSB7XG4gICAgICBmb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XG4gICAgICBmb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLmdldEF0dHJpYnV0ZSgpLCB0aGlzLmdldENvbnRyb2woKSk7XG4gICAgfVxuICAgIHJldHVybiBmb3JtR3JvdXA7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpXG4gIGdldCBob3N0SGVpZ2h0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaGVpZ2h0O1xuICB9XG5cbiAgcHVibGljIG9wZW5GdWxsU2NyZWVuKGU/OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nLm9wZW4oT0Z1bGxTY3JlZW5EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnOTAlJyxcbiAgICAgIGhlaWdodDogJzkwJScsXG4gICAgICByb2xlOiAnZGlhbG9nJyxcbiAgICAgIGRpc2FibGVDbG9zZTogZmFsc2UsXG4gICAgICBwYW5lbENsYXNzOiAnby1pbWFnZS1mdWxsc2NyZWVuLWRpYWxvZy1jZGstb3ZlcmxheScsXG4gICAgICBkYXRhOiB0aGlzLmdldFNyY1ZhbHVlKClcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuRmlsZVNlbGVjdG9yKGU/OiBFdmVudCk6IHZvaWQge1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZCh0aGlzLmZpbGVJbnB1dCkpIHtcbiAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW50ZXJuYWxGb3JtQ29udHJvbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgpICsgJ192YWx1ZSc7XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZVZhbGlkYXRvcnMoKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IHN1cGVyLnJlc29sdmVWYWxpZGF0b3JzKCk7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMubWF4RmlsZVNpemUpKSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2godGhpcy5tYXhGaWxlU2l6ZVZhbGlkYXRvci5iaW5kKHRoaXMpKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbGlkYXRvcnM7XG4gIH1cblxuICBwdWJsaWMgc2V0VmFsdWUodmFsOiBhbnksIG9wdGlvbnM6IEZvcm1WYWx1ZU9wdGlvbnMgPSB7fSwgc2V0RGlydHk6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgIHN1cGVyLnNldFZhbHVlKHZhbCwgb3B0aW9ucywgc2V0RGlydHkpO1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5nZXRWYWx1ZSgpKSB8fCAhdGhpcy5jdXJyZW50RmlsZU5hbWUpIHtcbiAgICAgIHRoaXMuc3RhdGVDdHJsLnJlc2V0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG1heEZpbGVTaXplVmFsaWRhdG9yKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGlmIChjb250cm9sLnZhbHVlICYmIGNvbnRyb2wudmFsdWUubGVuZ3RoID4gMCAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLm1heEZpbGVTaXplKSkge1xuICAgICAgaWYgKCFVdGlsLmlzRGVmaW5lZCh0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmZpbGVzKSkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5maWxlcyAmJiAhQXJyYXkuZnJvbTxGaWxlPih0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmZpbGVzKS5ldmVyeShmaWxlID0+IGZpbGUuc2l6ZSA8IHRoaXMubWF4RmlsZVNpemUpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZmlsZVNpemU6IHtcbiAgICAgICAgICAgIG1heEZpbGVTaXplOiB0aGlzLm1heEZpbGVTaXplXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKiBUaGlzIG1ldGhvZCBiZSB0cmlnZ2VyZWQgd2hlbiBhIGltYWdlIGlzIGRyb3BwZWQgb24gb3VyIGhvc3QgRE9NIGVsZW1lbnQgLiovXG4gIG9uRmlsZURyb3BwZWQocEZpbGVMaXN0OiBGaWxlW10pIHtcbiAgICBjb25zdCBmaWxlcyA9IE9iamVjdC5rZXlzKHBGaWxlTGlzdCkubWFwKGtleSA9PiBwRmlsZUxpc3Rba2V5XSk7XG4gICAgY29uc3QgZmlsZUxpc3QgPSB0aGlzLmNyZWF0ZUZpbGVMaXN0SXRlbXMoZmlsZXMpO1xuXG5cbiAgICBjb25zdCB2YWxpZCA9IHRoaXMuYWNjZXB0RmlsZVR5cGUucmVwbGFjZSgvXFxzL2csICcnKS5zcGxpdCgnLCcpLmZpbHRlcihhY2NlcHQgPT4gbmV3IFJlZ0V4cChhY2NlcHQucmVwbGFjZSgvXFwqL2csICcuXFwqJykucmVwbGFjZSgvXFwsL2csICd8JykpLnRlc3QoZmlsZUxpc3RbMF0udHlwZSkpLmxlbmd0aCA+IDBcblxuICAgIGlmICh2YWxpZCkge1xuICAgICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5maWxlcyA9IGZpbGVMaXN0O1xuICAgICAgdGhpcy5maWxlQ2hhbmdlKHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZUZpbGVMaXN0SXRlbXMoZmlsZXMpIHtcbiAgICBjb25zdCBiID0gbmV3IENsaXBib2FyZEV2ZW50KFwiXCIpLmNsaXBib2FyZERhdGEgfHwgbmV3IERhdGFUcmFuc2ZlcigpXG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGZpbGVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSBiLml0ZW1zLmFkZChmaWxlc1tpXSlcbiAgICByZXR1cm4gYi5maWxlc1xuICB9XG5cbiAgZ2V0RmlsZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50RmlsZU5hbWU7XG4gIH1cblxuICBnZXRJbWFnZUZpbGUoKTogRmlsZSB7XG4gICAgaWYgKHRoaXMuZmlsZUlucHV0ICYmIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuZmlsZXNbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB2b2lkICgwKTtcbiAgICB9XG4gIH1cblxuICBoYXNFcnJvckluRHJhZ0FuZERyb3AoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Rm9ybUNvbnRyb2woKSAmJiB0aGlzLmdldEZvcm1Db250cm9sKCkudG91Y2hlZCAmJiB0aGlzLmdldEZvcm1Db250cm9sKCkuaW52YWxpZCAmJiAhdGhpcy5oYXNDb250cm9scygpICYmIHRoaXMuZW5hYmxlZCAmJiAhdGhpcy5pc1JlYWRPbmx5O1xuXG4gIH1cblxufVxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIFtmb3JtR3JvdXBdPVwiZ2V0Rm9ybUdyb3VwKClcIiBbY2xhc3Muby1pbWFnZS1hdXRvLWZpdF09XCJhdXRvRml0XCIgY2xhc3M9XCJvLWltYWdlLWNvbnRlbnRcIiBmeEZpbGw+XG5cbiAgPGlucHV0ICNpbnB1dCB0eXBlPVwiZmlsZVwiIFtkaXNhYmxlZF09XCIhZW5hYmxlZFwiIFthY2NlcHRdPVwiYWNjZXB0RmlsZVR5cGUgPyBhY2NlcHRGaWxlVHlwZS5yZXBsYWNlKCc7JywnLCcpIDogJ2ltYWdlLyonXCIgcmVhZG9ubHlcbiAgICAoY2hhbmdlKT1cImZpbGVDaGFuZ2UoaW5wdXQpXCIgY2xhc3M9XCJvLWltYWdlLWZvcm0tZmllbGQtaGlkZGVuXCIgLz5cblxuICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJoYXNDb250cm9scygpXCIgY2xhc3M9XCJvLWltYWdlLWZvcm0tZmllbGRcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwXCIgW21hdFRvb2x0aXBDbGFzc109XCJ0b29sdGlwQ2xhc3NcIlxuICAgIFttYXRUb29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uXCIgW21hdFRvb2x0aXBTaG93RGVsYXldPVwidG9vbHRpcFNob3dEZWxheVwiIFttYXRUb29sdGlwSGlkZURlbGF5XT1cInRvb2x0aXBIaWRlRGVsYXlcIlxuICAgIFtzdWJzY3JpcHRTaXppbmddPVwic3Vic2NyaXB0U2l6aW5nXCI+XG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2lkXT1cImdldEF0dHJpYnV0ZSgpXCIgW2Zvcm1Db250cm9sTmFtZV09XCJnZXRBdHRyaWJ1dGUoKVwiIFtwbGFjZWhvbGRlcl09XCJvbGFiZWwgfCBvVHJhbnNsYXRlXCIgW3JlcXVpcmVkXT1cImlzUmVxdWlyZWRcIiByZWFkb25seVxuICAgICAgKGNsaWNrKT1cImlucHV0LmNsaWNrKClcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlRXZlbnQoJGV2ZW50KVwiIGNsYXNzPVwiby1pbWFnZS1mb3JtLWZpZWxkLWlucHV0XCI+XG4gICAgPGlucHV0IG1hdElucHV0IHJlYWRvbmx5IChjbGljayk9XCJpbnB1dC5jbGljaygpXCIgW3BsYWNlaG9sZGVyXT1cIm9sYWJlbCB8IG9UcmFuc2xhdGVcIiBbcmVxdWlyZWRdPVwiaXNSZXF1aXJlZFwiIFtmb3JtQ29udHJvbF09XCJzdGF0ZUN0cmxcIiAvPlxuXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJmdWxsU2NyZWVuQnV0dG9uXCIgW2Rpc2FibGVkXT1cIiFlbmFibGVkXCIgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib3BlbkZ1bGxTY3JlZW4oJGV2ZW50KVwiPlxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJvbnRpbWl6ZTpmdWxsc2NyZWVuXCI+PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbZGlzYWJsZWRdPVwiIWVuYWJsZWRcIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJpbnB1dC5jbGljaygpXCI+XG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm9udGltaXplOmZvbGRlcl9vcGVuXCI+PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbZGlzYWJsZWRdPVwiIWVuYWJsZWRcIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkNsaWNrQ2xlYXJWYWx1ZSgkZXZlbnQpXCI+XG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm9udGltaXplOmNsb3NlXCI+PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZXJyb3JzVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cIm8taW1hZ2UtZGlzcGxheS1jb250YWluZXJcIlxuICAgIFtuZ0NsYXNzXT1cInsnby1pbWFnZS1kcmFnLWFuZC1kcm9wJzogaXNFbXB0eSgpICwgJ28taW1hZ2UtZHJhZy1hbmQtZHJvcC1yZXF1aXJlZCc6IGhhc0Vycm9ySW5EcmFnQW5kRHJvcCgpIH1cIiBmeExheW91dEdhcD1cIjE1cHhcIiBvRmlsZURyYWdBbmREcm9wXG4gICAgKG9uRmlsZURyb3BwZWQpPVwib25GaWxlRHJvcHBlZCgkZXZlbnQpXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcFwiIFttYXRUb29sdGlwQ2xhc3NdPVwidG9vbHRpcENsYXNzXCIgW21hdFRvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb25cIlxuICAgIFttYXRUb29sdGlwU2hvd0RlbGF5XT1cInRvb2x0aXBTaG93RGVsYXlcIiBbbWF0VG9vbHRpcEhpZGVEZWxheV09XCJ0b29sdGlwSGlkZURlbGF5XCIgW21hdFRvb2x0aXBEaXNhYmxlZF09XCJoYXNDb250cm9scygpXCI+XG5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cIiFpc0VtcHR5KCkgJiYgIWhhc0NvbnRyb2xzKCkgJiYgZW5hYmxlZCAmJiAhaXNSZWFkT25seVwiIChjbGljayk9XCJvbkNsaWNrQ2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgIGNsYXNzPVwiby1pbWFnZS1idXR0b24tcmVtb3ZlXCI+XG4gICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGltZyAqbmdJZj1cIiEoaXNFbXB0eSgpKVwiIFtzcmNdPVwic3JjXCIgYWx0PVwiXCIgKGNsaWNrKT1cIm9wZW5GaWxlU2VsZWN0b3IoKVwiIChlcnJvcik9XCJub3RGb3VuZEltYWdlVXJsKCRldmVudClcIlxuICAgICAgW25nQ2xhc3NdPVwieydvLWltYWdlLWN1cnNvcic6ICFpc1JlYWRPbmx5fVwiIC8+XG5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJlbXB0eS1pY29uXCIgW2NsYXNzLm1hdC1kaXNhYmxlZF09XCIhZW5hYmxlZFwiIGFyaWEtbGFiZWw9XCJlbXB0eSBpbWFnZVwiICpuZ0lmPVwidXNlRW1wdHlJY29uKClcIj5cbiAgICAgIHt7IGVtcHR5aWNvbiB9fVxuICAgIDwvbWF0LWljb24+XG5cbiAgICA8aW1nIFtzcmNdPVwic3JjXCIgYWx0PVwiZW1wdHkgaW1hZ2VcIiAqbmdJZj1cInVzZUVtcHR5SW1hZ2UoKVwiIC8+XG5cbiAgICA8c3BhbiBjbGFzcz1cIm1hdC1zdWJ0aXRsZS0yXCIgKm5nSWY9XCJpc0VtcHR5KClcIj57eyAnT0lNQUdFLlRFWFQuRFJPUCZEUkFHJyB8IG9UcmFuc2xhdGUgfX08L3NwYW4+XG5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9wZW5GaWxlU2VsZWN0b3IoKVwiICpuZ0lmPVwiIWhhc0NvbnRyb2xzKCkgJiYgaXNFbXB0eSgpXCI+XG4gICAgICB7eyAnT0lNQUdFLkJVVFRPTi5CUk9XU0VGSUxFJyB8IG9UcmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzQ29udHJvbHMoKSAmJiBlbmFibGVkICYmICFpc1JlYWRPbmx5XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZXJyb3JzVGVtcGxhdGVcIj4gPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiaXNSZWFkT25seVwiIGZ4RmlsbCBjbGFzcz1cInJlYWQtb25seS1ibG9ja2VyXCIgKGNsaWNrKT1cIm9uQ2xpY2tCbG9ja2VyKCRldmVudClcIj48L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2Vycm9yc1RlbXBsYXRlPlxuICA8bWF0LWVycm9yICpvTWF0RXJyb3I9XCJoYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgIHt7ICdGT1JNX1ZBTElEQVRJT04uUkVRVUlSRUQnIHwgb1RyYW5zbGF0ZSB9fVxuICA8L21hdC1lcnJvcj5cbiAgPG1hdC1lcnJvciAqb01hdEVycm9yPVwiaGFzRXJyb3IoJ2ZpbGVTaXplJylcIj5cbiAgICB7eyAnRk9STV9WQUxJREFUSU9OLkZJTEVfTUFYU0laRScgfCBvVHJhbnNsYXRlIH19OiB7eyBnZXRFcnJvclZhbHVlKCdmaWxlU2l6ZScsICdtYXhGaWxlU2l6ZScpIH19IGJ5dGVzXG4gIDwvbWF0LWVycm9yPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
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.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: [{
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: [{
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.10", ngImpo
17
17
  exports: [OImageComponent, OFullScreenDialogComponent]
18
18
  }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1pbWFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbWFnZS9vLWltYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU90RCxNQUFNLE9BQU8sWUFBWTs7MEdBQVosWUFBWTsyR0FBWixZQUFZLGlCQUpOLGVBQWUsRUFBRSwwQkFBMEIsYUFDaEQsWUFBWSxFQUFFLGFBQWEsYUFDM0IsZUFBZSxFQUFFLDBCQUEwQjsyR0FFNUMsWUFBWSxZQUhYLFlBQVksRUFBRSxhQUFhOzRGQUc1QixZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSwwQkFBMEIsQ0FBQztvQkFDM0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLDBCQUEwQixDQUFDO2lCQUN6RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgT0Z1bGxTY3JlZW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2Z1bGxzY3JlZW4vZnVsbHNjcmVlbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IE9JbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vby1pbWFnZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW09JbWFnZUNvbXBvbmVudCwgT0Z1bGxTY3JlZW5EaWFsb2dDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE9TaGFyZWRNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtPSW1hZ2VDb21wb25lbnQsIE9GdWxsU2NyZWVuRGlhbG9nQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBPSW1hZ2VNb2R1bGUgeyB9XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1pbWFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbWFnZS9vLWltYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU90RCxNQUFNLE9BQU8sWUFBWTs7eUdBQVosWUFBWTswR0FBWixZQUFZLGlCQUpOLGVBQWUsRUFBRSwwQkFBMEIsYUFDaEQsWUFBWSxFQUFFLGFBQWEsYUFDM0IsZUFBZSxFQUFFLDBCQUEwQjswR0FFNUMsWUFBWSxZQUhYLFlBQVksRUFBRSxhQUFhOzJGQUc1QixZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSwwQkFBMEIsQ0FBQztvQkFDM0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLDBCQUEwQixDQUFDO2lCQUN6RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgT0Z1bGxTY3JlZW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2Z1bGxzY3JlZW4vZnVsbHNjcmVlbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IE9JbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vby1pbWFnZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW09JbWFnZUNvbXBvbmVudCwgT0Z1bGxTY3JlZW5EaWFsb2dDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE9TaGFyZWRNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtPSW1hZ2VDb21wb25lbnQsIE9GdWxsU2NyZWVuRGlhbG9nQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBPSW1hZ2VNb2R1bGUgeyB9XG4iXX0=
@@ -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.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: [{
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: [{
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.10", ngImpo
41
41
  type: Inject,
42
42
  args: [forwardRef(() => OFormComponent)]
43
43
  }] }, { type: i0.ElementRef }, { type: i0.Injector }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9jaGVja2JveC9vLWNoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NoZWNrYm94L28tY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFHbkYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUc7SUFFdkMsT0FBTztJQUVQLCtCQUErQjtDQUNoQyxDQUFDO0FBYUYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHlCQUF5QjtJQUsvRCxZQUN3RCxJQUFvQixFQUMxRSxLQUFpQixFQUNqQixRQUFrQjtRQUVsQixLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQVB4QixrQkFBYSxHQUF1QixPQUFPLENBQUM7SUFRbkQsQ0FBQztJQUVELFVBQVU7UUFDUixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFHbkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEVBQW1CLENBQUMsUUFBUSxHQUFHO1lBQ2pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUNyRSxDQUFDLENBQUM7SUFDSixDQUFDOztnSEFyQlUsa0JBQWtCLGtCQU1QLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0dBTjNDLGtCQUFrQiwrTUN6Qi9CLHk1QkFjTTs0RkRXTyxrQkFBa0I7a0JBVjlCLFNBQVM7K0JBQ0UsWUFBWSxVQUNkLHlCQUF5QixpQkFHbEIsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixvQkFBb0IsRUFBRSxNQUFNO3FCQUM3Qjs7MEJBUUUsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5pbXBvcnQgeyBPRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvcm0vby1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPQm9vbGVhbkZvcm1EYXRhQ29tcG9uZW50IH0gZnJvbSAnLi4vby1ib29sZWFuLWZvcm0tZGF0YS1jb21wb25lbnQuY2xhc3MnO1xuaW1wb3J0IHsgT0Zvcm1Db250cm9sIH0gZnJvbSAnLi4vby1mb3JtLWNvbnRyb2wuY2xhc3MnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlBVVFNfT19DSEVDS0JPWCA9IFtcbiAgLy8gY29sb3I6IFRoZW1lIGNvbG9yIHBhbGV0dGUgZm9yIHRoZSBjb21wb25lbnQuXG4gICdjb2xvcicsXG4gIC8vIGxhYmVsLXBvc2l0aW9uOiBXaGV0aGVyIHRoZSBsYWJlbCBzaG91bGQgYXBwZWFyIGFmdGVyIG9yIGJlZm9yZSB0aGUgc2xpZGUtdG9nZ2xlLiBEZWZhdWx0cyB0byAnYWZ0ZXInXG4gICdsYWJlbFBvc2l0aW9uOiBsYWJlbC1wb3NpdGlvbidcbl07XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby1jaGVja2JveCcsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19DSEVDS0JPWCxcbiAgdGVtcGxhdGVVcmw6ICcuL28tY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vLWNoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm8tY2hlY2tib3hdJzogJ3RydWUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgT0NoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgT0Jvb2xlYW5Gb3JtRGF0YUNvbXBvbmVudCB7XG5cbiAgcHVibGljIGNvbG9yOiBUaGVtZVBhbGV0dGU7XG4gIHB1YmxpYyBsYWJlbFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgPSAnYWZ0ZXInO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBPRm9ybUNvbXBvbmVudCkpIGZvcm06IE9Gb3JtQ29tcG9uZW50LFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtLCBlbFJlZiwgaW5qZWN0b3IpO1xuICB9XG5cbiAgaW5pdGlhbGl6ZSgpIHtcbiAgICBzdXBlci5pbml0aWFsaXplKCk7XG5cbiAgICAvLyBPdmVycmlkZSBGb3JtQ29udHJvbCBnZXRWYWx1ZSBpbiBvcmRlciB0byByZXR1cm4gdGhlIGFwcHJvcHJpYXRlIHZhbHVlIGluc3RlYWQgb2YgdGhlIGNoZWNrYm94IGludGVybmFsIGJvb2xlYW4gdmFsdWVcbiAgICBjb25zdCBjaGVja2JveEN0eCA9IHRoaXM7XG4gICAgKHRoaXMuZ2V0Rm9ybUNvbnRyb2woKSBhcyBPRm9ybUNvbnRyb2wpLmdldFZhbHVlID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPyBjaGVja2JveEN0eC50cnVlVmFsdWUgOiBjaGVja2JveEN0eC5mYWxzZVZhbHVlO1xuICAgIH07XG4gIH1cblxufVxuIiwiPGRpdiBbY2xhc3MuY3VzdG9tLXdpZHRoXT1cImhhc0N1c3RvbVdpZHRoXCIgW2Zvcm1Hcm91cF09XCJnZXRGb3JtR3JvdXAoKVwiIGNsYXNzPVwicmVsYXRpdmVcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwXCJcbiAgW21hdFRvb2x0aXBDbGFzc109XCJ0b29sdGlwQ2xhc3NcIiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvblwiIFttYXRUb29sdGlwU2hvd0RlbGF5XT1cInRvb2x0aXBTaG93RGVsYXlcIlxuICBbbWF0VG9vbHRpcEhpZGVEZWxheV09XCJ0b29sdGlwSGlkZURlbGF5XCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsPlxuICA8bWF0LWNoZWNrYm94IFtpZF09XCJnZXRBdHRyaWJ1dGUoKVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZ2V0QXR0cmlidXRlKClcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlRXZlbnQoJGV2ZW50KVwiXG4gICAgW2xhYmVsUG9zaXRpb25dPVwibGFiZWxQb3NpdGlvblwiIFtjb2xvcl09XCJjb2xvclwiPlxuICAgIHt7IG9sYWJlbCB8IG9UcmFuc2xhdGUgfX1cbiAgICA8bWF0LWVycm9yICpvTWF0RXJyb3I9XCJoYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAge3sgJ0ZPUk1fVkFMSURBVElPTi5SRVFVSVJFRCcgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPG1hdC1lcnJvciAqbmdGb3I9XCJsZXQgb0Vycm9yIG9mIGdldEFjdGl2ZU9FcnJvcnMoKVwiPlxuICAgICAge3sgb0Vycm9yLnRleHQgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWNoZWNrYm94PlxuICA8ZGl2ICpuZ0lmPVwiaXNSZWFkT25seVwiIChjbGljayk9XCJvbkNsaWNrQmxvY2tlcigkZXZlbnQpXCIgY2xhc3M9XCJyZWFkLW9ubHktYmxvY2tlclwiIGZ4RmlsbD48L2Rpdj5cbjwvZGl2PiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9jaGVja2JveC9vLWNoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NoZWNrYm94L28tY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFHbkYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUc7SUFFdkMsT0FBTztJQUVQLCtCQUErQjtDQUNoQyxDQUFDO0FBYUYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHlCQUF5QjtJQUsvRCxZQUN3RCxJQUFvQixFQUMxRSxLQUFpQixFQUNqQixRQUFrQjtRQUVsQixLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQVB4QixrQkFBYSxHQUF1QixPQUFPLENBQUM7SUFRbkQsQ0FBQztJQUVELFVBQVU7UUFDUixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFHbkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEVBQW1CLENBQUMsUUFBUSxHQUFHO1lBQ2pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUNyRSxDQUFDLENBQUM7SUFDSixDQUFDOzsrR0FyQlUsa0JBQWtCLGtCQU1QLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7bUdBTjNDLGtCQUFrQiwrTUN6Qi9CLHk1QkFjTTsyRkRXTyxrQkFBa0I7a0JBVjlCLFNBQVM7K0JBQ0UsWUFBWSxVQUNkLHlCQUF5QixpQkFHbEIsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixvQkFBb0IsRUFBRSxNQUFNO3FCQUM3Qjs7MEJBUUUsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5pbXBvcnQgeyBPRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvcm0vby1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPQm9vbGVhbkZvcm1EYXRhQ29tcG9uZW50IH0gZnJvbSAnLi4vby1ib29sZWFuLWZvcm0tZGF0YS1jb21wb25lbnQuY2xhc3MnO1xuaW1wb3J0IHsgT0Zvcm1Db250cm9sIH0gZnJvbSAnLi4vby1mb3JtLWNvbnRyb2wuY2xhc3MnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlBVVFNfT19DSEVDS0JPWCA9IFtcbiAgLy8gY29sb3I6IFRoZW1lIGNvbG9yIHBhbGV0dGUgZm9yIHRoZSBjb21wb25lbnQuXG4gICdjb2xvcicsXG4gIC8vIGxhYmVsLXBvc2l0aW9uOiBXaGV0aGVyIHRoZSBsYWJlbCBzaG91bGQgYXBwZWFyIGFmdGVyIG9yIGJlZm9yZSB0aGUgc2xpZGUtdG9nZ2xlLiBEZWZhdWx0cyB0byAnYWZ0ZXInXG4gICdsYWJlbFBvc2l0aW9uOiBsYWJlbC1wb3NpdGlvbidcbl07XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby1jaGVja2JveCcsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19DSEVDS0JPWCxcbiAgdGVtcGxhdGVVcmw6ICcuL28tY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vLWNoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm8tY2hlY2tib3hdJzogJ3RydWUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgT0NoZWNrYm94Q29tcG9uZW50IGV4dGVuZHMgT0Jvb2xlYW5Gb3JtRGF0YUNvbXBvbmVudCB7XG5cbiAgcHVibGljIGNvbG9yOiBUaGVtZVBhbGV0dGU7XG4gIHB1YmxpYyBsYWJlbFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgPSAnYWZ0ZXInO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBPRm9ybUNvbXBvbmVudCkpIGZvcm06IE9Gb3JtQ29tcG9uZW50LFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtLCBlbFJlZiwgaW5qZWN0b3IpO1xuICB9XG5cbiAgaW5pdGlhbGl6ZSgpIHtcbiAgICBzdXBlci5pbml0aWFsaXplKCk7XG5cbiAgICAvLyBPdmVycmlkZSBGb3JtQ29udHJvbCBnZXRWYWx1ZSBpbiBvcmRlciB0byByZXR1cm4gdGhlIGFwcHJvcHJpYXRlIHZhbHVlIGluc3RlYWQgb2YgdGhlIGNoZWNrYm94IGludGVybmFsIGJvb2xlYW4gdmFsdWVcbiAgICBjb25zdCBjaGVja2JveEN0eCA9IHRoaXM7XG4gICAgKHRoaXMuZ2V0Rm9ybUNvbnRyb2woKSBhcyBPRm9ybUNvbnRyb2wpLmdldFZhbHVlID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPyBjaGVja2JveEN0eC50cnVlVmFsdWUgOiBjaGVja2JveEN0eC5mYWxzZVZhbHVlO1xuICAgIH07XG4gIH1cblxufVxuIiwiPGRpdiBbY2xhc3MuY3VzdG9tLXdpZHRoXT1cImhhc0N1c3RvbVdpZHRoXCIgW2Zvcm1Hcm91cF09XCJnZXRGb3JtR3JvdXAoKVwiIGNsYXNzPVwicmVsYXRpdmVcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwXCJcbiAgW21hdFRvb2x0aXBDbGFzc109XCJ0b29sdGlwQ2xhc3NcIiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvblwiIFttYXRUb29sdGlwU2hvd0RlbGF5XT1cInRvb2x0aXBTaG93RGVsYXlcIlxuICBbbWF0VG9vbHRpcEhpZGVEZWxheV09XCJ0b29sdGlwSGlkZURlbGF5XCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsPlxuICA8bWF0LWNoZWNrYm94IFtpZF09XCJnZXRBdHRyaWJ1dGUoKVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZ2V0QXR0cmlidXRlKClcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlRXZlbnQoJGV2ZW50KVwiXG4gICAgW2xhYmVsUG9zaXRpb25dPVwibGFiZWxQb3NpdGlvblwiIFtjb2xvcl09XCJjb2xvclwiPlxuICAgIHt7IG9sYWJlbCB8IG9UcmFuc2xhdGUgfX1cbiAgICA8bWF0LWVycm9yICpvTWF0RXJyb3I9XCJoYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAge3sgJ0ZPUk1fVkFMSURBVElPTi5SRVFVSVJFRCcgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+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.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: [{
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: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [OCheckboxComponent],
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
16
16
  exports: [OCheckboxComponent]
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jaGVja2JveC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9jaGVja2JveC9vLWNoZWNrYm94Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBTzVELE1BQU0sT0FBTyxlQUFlOzs2R0FBZixlQUFlOzhHQUFmLGVBQWUsaUJBSlgsa0JBQWtCLGFBQ3ZCLFlBQVksRUFBRSxhQUFhLGFBQzNCLGtCQUFrQjs4R0FFakIsZUFBZSxZQUhoQixZQUFZLEVBQUUsYUFBYTs0RkFHMUIsZUFBZTtrQkFMM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9TaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBPQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL28tY2hlY2tib3guY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbT0NoZWNrYm94Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgT1NoYXJlZE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtPQ2hlY2tib3hDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE9DaGVja2JveE1vZHVsZSB7IH1cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jaGVja2JveC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9jaGVja2JveC9vLWNoZWNrYm94Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBTzVELE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBSlgsa0JBQWtCLGFBQ3ZCLFlBQVksRUFBRSxhQUFhLGFBQzNCLGtCQUFrQjs2R0FFakIsZUFBZSxZQUhoQixZQUFZLEVBQUUsYUFBYTsyRkFHMUIsZUFBZTtrQkFMM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9TaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBPQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL28tY2hlY2tib3guY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbT0NoZWNrYm94Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgT1NoYXJlZE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtPQ2hlY2tib3hDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE9DaGVja2JveE1vZHVsZSB7IH1cbiJdfQ==
@@ -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.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: [{
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: [{
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jb21iby1yZW5kZXJlci1ib29sZWFuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NvbWJvL2NvbWJvLXJlbmRlcmVyL2Jvb2xlYW4vby1jb21iby1yZW5kZXJlci1ib29sZWFuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NvbWJvL2NvbWJvLXJlbmRlcmVyL2Jvb2xlYW4vby1jb21iby1yZW5kZXJlci1ib29sZWFuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDMUYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBRWpFLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHO0lBRXJELHVCQUF1QjtJQUV2Qix5QkFBeUI7SUFFekIsMkJBQTJCO0lBRTNCLG9DQUFvQztJQUNwQyxzQ0FBc0M7SUFFdEMseUJBQXlCO0NBQzFCLENBQUM7QUFRRixNQUFNLE9BQU8sOEJBQStCLFNBQVEsb0JBQW9CO0lBY3RFLFlBQXNCLFFBQWtCO1FBQ3RDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURJLGFBQVEsR0FBUixRQUFRLENBQVU7UUFQOUIsZ0JBQVcsR0FBVyxRQUFRLENBQUM7UUFDL0IsaUJBQVksR0FBVyxTQUFTLENB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IEluamVjdG9yLCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT1RyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUvby10cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IE9Db21ib0N1c3RvbVJlbmRlcmVyIH0gZnJvbSAnLi4vby1jb21iby1yZW5kZXJlci5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX0NPTUJPX1JFTkRFUkVSX0JPT0xFQU4gPSBbXG4gIC8vIHRydWUtdmFsdWUgW3N0cmluZ106IHRydWUgdmFsdWUuIERlZmF1bHQ6IG5vIHZhbHVlLlxuICAndHJ1ZVZhbHVlOiB0cnVlLXZhbHVlJyxcbiAgLy8gZmFsc2UtdmFsdWUgW3N0cmluZ106IGZhbHNlIHZhbHVlLiBEZWZhdWx0OiBubyB2YWx1ZS5cbiAgJ2ZhbHNlVmFsdWU6IGZhbHNlLXZhbHVlJyxcbiAgLy8gZmFsc2UtdmFsdWUgW251bWJlcnxzdHJpbmddOiBjb21ibyB2YWx1ZSB0eXBlLiBEZWZhdWx0OiBzdHJpbmdcbiAgJ2Jvb2xlYW5UeXBlOiBib29sZWFuLXR5cGUnLFxuXG4gICdyZW5kZXJUcnVlVmFsdWU6IHJlbmRlci10cnVlLXZhbHVlJyxcbiAgJ3JlbmRlckZhbHNlVmFsdWU6IHJlbmRlci1mYWxzZS12YWx1ZScsXG4gIC8vIFtzdHJpbmd8bnVtYmVyXVxuICAncmVuZGVyVHlwZTogcmVuZGVyLXR5cGUnXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLWNvbWJvLXJlbmRlcmVyLWJvb2xlYW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vby1jb21iby1yZW5kZXJlci1ib29sZWFuLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19DT01CT19SRU5ERVJFUl9CT09MRUFOXG59KVxuZXhwb3J0IGNsYXNzIE9Db21ib1JlbmRlcmVyQm9vbGVhbkNvbXBvbmVudCBleHRlbmRzIE9Db21ib0N1c3RvbVJlbmRlcmVyIGltcGxlbWVudHMgT25Jbml0IHtcblxuICB0cnVlVmFsdWU6IGFueTtcbiAgZmFsc2VWYWx1ZTogYW55O1xuICBwcm90ZWN0ZWQgX3JlbmRlclRydWVWYWx1ZTogYW55O1xuICBwcm90ZWN0ZWQgX3JlbmRlckZhbHNlVmFsdWU6IGFueTtcblxuICBwcm90ZWN0ZWQgX3JlbmRlclR5cGU6IHN0cmluZyA9ICdzdHJpbmcnO1xuICBwcm90ZWN0ZWQgX2Jvb2xlYW5UeXBlOiBzdHJpbmcgPSAnYm9vbGVhbic7XG4gIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBPVHJhbnNsYXRlU2VydmljZTtcblxuICBAVmlld0NoaWxkKCd0ZW1wbGF0ZXJlZicsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICB0ZW1wbGF0ZXJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KE9UcmFuc2xhdGVTZXJ2aWNlKTtcbiAgfVxuXG4gIGluaXRpYWxpemUoKSB7XG4gICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgIHRoaXMucGFyc2VJbnB1dHMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUlucHV0cygpIHtcbiAgICBzd2l0Y2ggKHRoaXMuYm9vbGVhblR5cGUpIHtcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgIHRoaXMucGFyc2VTdHJpbmdJbnB1dHMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICB0aGlzLnBhcnNlTnVtYmVySW5wdXRzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy50cnVlVmFsdWUgPSB0cnVlO1xuICAgICAgICB0aGlzLmZhbHNlVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlU3RyaW5nSW5wdXRzKCkge1xuICAgIGlmICgodGhpcy50cnVlVmFsdWUgfHwgJycpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy50cnVlVmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICgodGhpcy5mYWxzZVZhbHVlIHx8ICcnKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZmFsc2VWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VOdW1iZXJJbnB1dHMoKSB7XG4gICAgdGhpcy50cnVlVmFsdWUgPSBwYXJzZUludCh0aGlzLnRydWVWYWx1ZSwgMTApO1xuICAgIGlmIChpc05hTih0aGlzLnRydWVWYWx1ZSkpIHtcbiAgICAgIHRoaXMudHJ1ZVZhbHVlID0gMTtcbiAgICB9XG4gICAgdGhpcy5mYWxzZVZhbHVlID0gcGFyc2VJbnQodGhpcy5mYWxzZVZhbHVlLCAxMCk7XG4gICAgaWYgKGlzTmFOKHRoaXMuZmFsc2VWYWx1ZSkpIHtcbiAgICAgIHRoaXMuZmFsc2VWYWx1ZSA9IDA7XG4gICAgfVxuICB9XG5cbiAgaGFzQ29tYm9UcnVlVmFsdWUocmVjb3JkOiBhbnkpOiBib29sZWFuIHtcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuO1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZChyZWNvcmQpICYmIFV0aWwuaXNEZWZpbmVkKHJlY29yZFt0aGlzLmNvbWJvQ29tcG9uZW50LnZhbHVlQ29sdW1uXSkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcmVjb3JkW3RoaXMuY29tYm9Db21wb25lbnQudmFsdWVDb2x1bW5dO1xuICAgICAgcmVzdWx0ID0gKHZhbHVlID09PSB0aGlzLnRydWVWYWx1ZSk7XG4gICAgICBpZiAodGhpcy5ib29sZWFuVHlwZSA9PT0gJ3N0cmluZycgJiYgIVV0aWwuaXNEZWZpbmVkKHRoaXMudHJ1ZVZhbHVlKSkge1xuICAgICAgICByZXN1bHQgPSBVdGlsLnBhcnNlQm9vbGVhbih2YWx1ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0IGJvb2xlYW5UeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Jvb2xlYW5UeXBlO1xuICB9XG5cbiAgc2V0IGJvb2xlYW5UeXBlKGFyZzogc3RyaW5nKSB7XG4gICAgYXJnID0gKGFyZyB8fCAnJykudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoWydudW1iZXInLCAnYm9vbGVhbicsICdzdHJpbmcnXS5pbmRleE9mKGFyZykgPT09IC0xKSB7XG4gICAgICBhcmcgPSAnYm9vbGVhbic7XG4gICAgfVxuICAgIHRoaXMuX2Jvb2xlYW5UeXBlID0gYXJnO1xuICB9XG5cbiAgZ2V0IHJlbmRlclR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcmVuZGVyVHlwZTtcbiAgfVxuXG4gIHNldCByZW5kZXJUeXBlKGFyZzogc3RyaW5nKSB7XG4gICAgYXJnID0gKGFyZyB8fCAnJykudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoWydzdHJpbmcnLCAnbnVtYmVyJ10uaW5kZXhPZihhcmcpID09PSAtMSkge1xuICAgICAgYXJnID0gJ3N0cmluZyc7XG4gICAgfVxuICAgIHRoaXMuX3JlbmRlclR5cGUgPSBhcmc7XG4gIH1cblxuICBnZXQgcmVuZGVyVHJ1ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbmRlclRydWVWYWx1ZSB8fCB0aGlzLnRydWVWYWx1ZTtcbiAgfVxuXG4gIHNldCByZW5kZXJUcnVlVmFsdWUoYXJnOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yZW5kZXJUcnVlVmFsdWUgPSBhcmc7XG4gIH1cblxuICBnZXQgcmVuZGVyRmFsc2VWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9yZW5kZXJGYWxzZVZhbHVlIHx8IHRoaXMuZmFsc2VWYWx1ZTtcbiAgfVxuXG4gIHNldCByZW5kZXJGYWxzZVZhbHVlKGFyZzogc3RyaW5nKSB7XG4gICAgdGhpcy5fcmVuZGVyRmFsc2VWYWx1ZSA9IGFyZztcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZXJlZiBsZXQtdmFsdWU9XCJ2YWx1ZVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzQ29tYm9UcnVlVmFsdWUodmFsdWUpO2Vsc2UgZmFsc2VWYWx1ZVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInJlbmRlclR5cGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCI+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.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 });
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 });
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.10", ngImport: i0, type: OComboRendererCurrencyComponent, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jb21iby1yZW5kZXJlci1jdXJyZW5jeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9jb21iby9jb21iby1yZW5kZXJlci9jdXJyZW5jeS9vLWNvbWJvLXJlbmRlcmVyLWN1cnJlbmN5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NvbWJvL2NvbWJvLXJlbmRlcmVyL2N1cnJlbmN5L28tY29tYm8tcmVuZGVyZXItY3VycmVuY3kuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUF5QixhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUNBQXlDLENBQUM7O0FBRXRGLE1BQU0sQ0FBQyxNQUFNLHdDQUF3QyxHQUFHO0lBR3RELGlDQUFpQztJQUdqQyxrREFBa0Q7Q0FDbkQsQ0FBQztBQVFGLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSwyQkFBMkI7SUFvQjlFLFlBQXNCLFFBQWtCO1FBQ3RDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURJLGFBQVEsR0FBUixRQUFRLENBQVU7UUFqQnhDLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUU3QixxQkFBZ0IsR0FBVyxDQUFDLENBQUM7UUFJbkIscUJBQWdCLEdBQVcsR0FBRyxDQUFDO1FBRS9CLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsc0JBQWlCLEdBQVcsR0FBRyxDQUFDO1FBVXhDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxVQUFVO1FBQ1IsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25CLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFdBQVcsRUFBRTtZQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxXQUFXLEVBQUU7WUFDdEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQjtZQUNuRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3ZDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtTQUMxQyxDQUFDO0lBRUosQ0FBQzs7NkhBakRVLCtCQUErQjtpSEFBL0IsK0JBQStCLDJTQWtCUixXQUFXLGtFQ3hDL0MsNkZBR0E7QURxQkU7SUFBQyxvQkFBb0IsRUFBRTs7eUVBQ007QUFDN0I7SUFBQyxvQkFBb0IsRUFBRTs7eUVBQ007NEZBTGxCLCtCQUErQjtrQkFOM0MsU0FBUzsrQkFDRSwyQkFBMkIsbUJBRXBCLHVCQUF1QixDQUFDLE1BQU0sVUFDdkMsd0NBQXdDOytGQUtoRCxnQkFBZ0IsTUFFaEIsZ0JBQWdCLE1BYXNELFdBQVc7c0JBQWhGLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOdW1iZXJJbnB1dENvbnZlcnRlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RlY29yYXRvcnMvaW5wdXQtY29udmVydGVyJztcbmltcG9ydCB7IElDdXJyZW5jeVBpcGVBcmd1bWVudCwgT0N1cnJlbmN5UGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3BpcGVzL28tY3VycmVuY3kucGlwZSc7XG5pbXBvcnQgeyBDdXJyZW5jeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9jdXJyZW5jeS5zZXJ2aWNlJztcbmltcG9ydCB7IE9Db21ib1JlbmRlcmVyUmVhbENvbXBvbmVudCB9IGZyb20gJy4uL3JlYWwvby1jb21iby1yZW5kZXJlci1yZWFsLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX0NPTUJPX1JFTkRFUkVSX0NVUlJFTkNZID0gW1xuXG4gIC8vIGN1cnJlbmN5LXN5bWJvbCBbc3RyaW5nXTogY3VycmVuY3kgc3ltYm9sLiBEZWZhdWx0OiBkb2xsYXIgKCQpLlxuICAnY3VycmVuY3lTeW1ib2w6IGN1cnJlbmN5LXN5bWJvbCcsXG5cbiAgLy8gY3VycmVuY3ktc3ltYm9sLXBvc2l0aW9uIFtsZWZ0fHJpZ2h0XTogcG9zaXRpb24gb2YgdGhlIGN1cnJlbmN5IHN5bWJvbC4gRGVmYXVsdDogbGVmdC5cbiAgJ2N1cnJlbmN5U3ltYm9sUG9zaXRpb246IGN1cnJlbmN5LXN5bWJvbC1wb3NpdGlvbidcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tY29tYm8tcmVuZGVyZXItY3VycmVuY3knLFxuICB0ZW1wbGF0ZVVybDogJy4vby1jb21iby1yZW5kZXJlci1jdXJyZW5jeS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fQ09NQk9fUkVOREVSRVJfQ1VSUkVOQ1lcbn0pXG5leHBvcnQgY2xhc3MgT0NvbWJvUmVuZGVyZXJDdXJyZW5jeUNvbXBvbmVudCBleHRlbmRzIE9Db21ib1JlbmRlcmVyUmVhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQE51bWJlcklucHV0Q29udmVydGVyKClcbiAgbWluRGVjaW1hbERpZ2l0czogbnVtYmVyID0gMjtcbiAgQE51bWJlcklucHV0Q29udmVydGVyKClcbiAgbWF4RGVjaW1hbERpZ2l0czogbnVtYmVyID0gMjtcblxuICBwcm90ZWN0ZWQgY3VycmVuY3lTeW1ib2w6IHN0cmluZztcbiAgcHJvdGVjdGVkIGN1cnJlbmN5U3ltYm9sUG9zaXRpb246IHN0cmluZztcbiAgcHJvdGVjdGVkIGRlY2ltYWxTZXBhcmF0b3I6IHN0cmluZyA9ICcuJztcblxuICBwcm90ZWN0ZWQgZ3JvdXBpbmc6IGJvb2xlYW4gPSB0cnVlO1xuICBwcm90ZWN0ZWQgdGhvdXNhbmRTZXBhcmF0b3I6IHN0cmluZyA9ICcsJztcblxuICBwcm90ZWN0ZWQgY3VycmVuY3lTZXJ2aWNlOiBDdXJyZW5jeVNlcnZpY2U7XG5cbiAgcHJvdGVjdGVkIGNvbXBvbmVudFBpcGU6IE9DdXJyZW5jeVBpcGU7XG4gIHByb3RlY3RlZCBwaXBlQXJndW1lbnRzOiBJQ3VycmVuY3lQaXBlQXJndW1lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlcmVmJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyB0ZW1wbGF0ZXJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIHRoaXMuY3VycmVuY3lTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQ3VycmVuY3lTZXJ2aWNlKTtcbiAgICB0aGlzLnNldENvbXBvbmVudFBpcGUoKTtcbiAgfVxuXG4gIHNldENvbXBvbmVudFBpcGUoKSB7XG4gICAgdGhpcy5jb21wb25lbnRQaXBlID0gbmV3IE9DdXJyZW5jeVBpcGUodGhpcy5pbmplY3Rvcik7XG4gIH1cblxuICBpbml0aWFsaXplKCkge1xuICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICBpZiAodHlwZW9mIHRoaXMuY3VycmVuY3lTeW1ib2wgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLmN1cnJlbmN5U3ltYm9sID0gdGhpcy5jdXJyZW5jeVNlcnZpY2Uuc3ltYm9sO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHRoaXMuY3VycmVuY3lTeW1ib2xQb3NpdGlvbiA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuY3VycmVuY3lTeW1ib2xQb3NpdGlvbiA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLnN5bWJvbFBvc2l0aW9uO1xuICAgIH1cblxuICAgIHRoaXMucGlwZUFyZ3VtZW50cyA9IHtcbiAgICAgIGN1cnJlbmN5U2ltYm9sOiB0aGlzLmN1cnJlbmN5U3ltYm9sLFxuICAgICAgY3VycmVuY3lTeW1ib2xQb3NpdGlvbjogdGhpcy5jdXJyZW5jeVN5bWJvbFBvc2l0aW9uLFxuICAgICAgbWluRGVjaW1hbERpZ2l0czogdGhpcy5taW5EZWNpbWFsRGlnaXRzLFxuICAgICAgbWF4RGVjaW1hbERpZ2l0czogdGhpcy5tYXhEZWNpbWFsRGlnaXRzLFxuICAgICAgZGVjaW1hbFNlcGFyYXRvcjogdGhpcy5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgZ3JvdXBpbmc6IHRoaXMuZ3JvdXBpbmcsXG4gICAgICB0aG91c2FuZFNlcGFyYXRvcjogdGhpcy50aG91c2FuZFNlcGFyYXRvclxuICAgIH07XG5cbiAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlcmVmIGxldC12YWx1ZT1cInZhbHVlXCI+XG4gIHt7Z2V0Q29tYm9EYXRhKHZhbHVlKX19XG48L25nLXRlbXBsYXRlPlxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jb21iby1yZW5kZXJlci1jdXJyZW5jeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9jb21iby9jb21iby1yZW5kZXJlci9jdXJyZW5jeS9vLWNvbWJvLXJlbmRlcmVyLWN1cnJlbmN5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2NvbWJvL2NvbWJvLXJlbmRlcmVyL2N1cnJlbmN5L28tY29tYm8tcmVuZGVyZXItY3VycmVuY3kuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxFQUF5QixhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUNBQXlDLENBQUM7O0FBRXRGLE1BQU0sQ0FBQyxNQUFNLHdDQUF3QyxHQUFHO0lBR3RELGlDQUFpQztJQUdqQyxrREFBa0Q7Q0FDbkQsQ0FBQztBQVFGLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSwyQkFBMkI7SUFvQjlFLFlBQXNCLFFBQWtCO1FBQ3RDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURJLGFBQVEsR0FBUixRQUFRLENBQVU7UUFqQnhDLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUU3QixxQkFBZ0IsR0FBVyxDQUFDLENBQUM7UUFJbkIscUJBQWdCLEdBQVcsR0FBRyxDQUFDO1FBRS9CLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsc0JBQWlCLEdBQVcsR0FBRyxDQUFDO1FBVXhDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxVQUFVO1FBQ1IsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25CLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFdBQVcsRUFBRTtZQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxXQUFXLEVBQUU7WUFDdEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQjtZQUNuRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3ZDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtTQUMxQyxDQUFDO0lBRUosQ0FBQzs7NEhBakRVLCtCQUErQjtnSEFBL0IsK0JBQStCLDJTQWtCUixXQUFXLGtFQ3hDL0MsNkZBR0E7QURxQkU7SUFBQyxvQkFBb0IsRUFBRTs7eUVBQ007QUFDN0I7SUFBQyxvQkFBb0IsRUFBRTs7eUVBQ007MkZBTGxCLCtCQUErQjtrQkFOM0MsU0FBUzsrQkFDRSwyQkFBMkIsbUJBRXBCLHVCQUF1QixDQUFDLE1BQU0sVUFDdkMsd0NBQXdDOytGQUtoRCxnQkFBZ0IsTUFFaEIsZ0JBQWdCLE1BYXNELFdBQVc7c0JBQWhGLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOdW1iZXJJbnB1dENvbnZlcnRlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RlY29yYXRvcnMvaW5wdXQtY29udmVydGVyJztcbmltcG9ydCB7IElDdXJyZW5jeVBpcGVBcmd1bWVudCwgT0N1cnJlbmN5UGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3BpcGVzL28tY3VycmVuY3kucGlwZSc7XG5pbXBvcnQgeyBDdXJyZW5jeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9jdXJyZW5jeS5zZXJ2aWNlJztcbmltcG9ydCB7IE9Db21ib1JlbmRlcmVyUmVhbENvbXBvbmVudCB9IGZyb20gJy4uL3JlYWwvby1jb21iby1yZW5kZXJlci1yZWFsLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX0NPTUJPX1JFTkRFUkVSX0NVUlJFTkNZID0gW1xuXG4gIC8vIGN1cnJlbmN5LXN5bWJvbCBbc3RyaW5nXTogY3VycmVuY3kgc3ltYm9sLiBEZWZhdWx0OiBkb2xsYXIgKCQpLlxuICAnY3VycmVuY3lTeW1ib2w6IGN1cnJlbmN5LXN5bWJvbCcsXG5cbiAgLy8gY3VycmVuY3ktc3ltYm9sLXBvc2l0aW9uIFtsZWZ0fHJpZ2h0XTogcG9zaXRpb24gb2YgdGhlIGN1cnJlbmN5IHN5bWJvbC4gRGVmYXVsdDogbGVmdC5cbiAgJ2N1cnJlbmN5U3ltYm9sUG9zaXRpb246IGN1cnJlbmN5LXN5bWJvbC1wb3NpdGlvbidcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tY29tYm8tcmVuZGVyZXItY3VycmVuY3knLFxuICB0ZW1wbGF0ZVVybDogJy4vby1jb21iby1yZW5kZXJlci1jdXJyZW5jeS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fQ09NQk9fUkVOREVSRVJfQ1VSUkVOQ1lcbn0pXG5leHBvcnQgY2xhc3MgT0NvbWJvUmVuZGVyZXJDdXJyZW5jeUNvbXBvbmVudCBleHRlbmRzIE9Db21ib1JlbmRlcmVyUmVhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQE51bWJlcklucHV0Q29udmVydGVyKClcbiAgbWluRGVjaW1hbERpZ2l0czogbnVtYmVyID0gMjtcbiAgQE51bWJlcklucHV0Q29udmVydGVyKClcbiAgbWF4RGVjaW1hbERpZ2l0czogbnVtYmVyID0gMjtcblxuICBwcm90ZWN0ZWQgY3VycmVuY3lTeW1ib2w6IHN0cmluZztcbiAgcHJvdGVjdGVkIGN1cnJlbmN5U3ltYm9sUG9zaXRpb246IHN0cmluZztcbiAgcHJvdGVjdGVkIGRlY2ltYWxTZXBhcmF0b3I6IHN0cmluZyA9ICcuJztcblxuICBwcm90ZWN0ZWQgZ3JvdXBpbmc6IGJvb2xlYW4gPSB0cnVlO1xuICBwcm90ZWN0ZWQgdGhvdXNhbmRTZXBhcmF0b3I6IHN0cmluZyA9ICcsJztcblxuICBwcm90ZWN0ZWQgY3VycmVuY3lTZXJ2aWNlOiBDdXJyZW5jeVNlcnZpY2U7XG5cbiAgcHJvdGVjdGVkIGNvbXBvbmVudFBpcGU6IE9DdXJyZW5jeVBpcGU7XG4gIHByb3RlY3RlZCBwaXBlQXJndW1lbnRzOiBJQ3VycmVuY3lQaXBlQXJndW1lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlcmVmJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyB0ZW1wbGF0ZXJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIHRoaXMuY3VycmVuY3lTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQ3VycmVuY3lTZXJ2aWNlKTtcbiAgICB0aGlzLnNldENvbXBvbmVudFBpcGUoKTtcbiAgfVxuXG4gIHNldENvbXBvbmVudFBpcGUoKSB7XG4gICAgdGhpcy5jb21wb25lbnRQaXBlID0gbmV3IE9DdXJyZW5jeVBpcGUodGhpcy5pbmplY3Rvcik7XG4gIH1cblxuICBpbml0aWFsaXplKCkge1xuICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICBpZiAodHlwZW9mIHRoaXMuY3VycmVuY3lTeW1ib2wgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aGlzLmN1cnJlbmN5U3ltYm9sID0gdGhpcy5jdXJyZW5jeVNlcnZpY2Uuc3ltYm9sO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHRoaXMuY3VycmVuY3lTeW1ib2xQb3NpdGlvbiA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuY3VycmVuY3lTeW1ib2xQb3NpdGlvbiA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLnN5bWJvbFBvc2l0aW9uO1xuICAgIH1cblxuICAgIHRoaXMucGlwZUFyZ3VtZW50cyA9IHtcbiAgICAgIGN1cnJlbmN5U2ltYm9sOiB0aGlzLmN1cnJlbmN5U3ltYm9sLFxuICAgICAgY3VycmVuY3lTeW1ib2xQb3NpdGlvbjogdGhpcy5jdXJyZW5jeVN5bWJvbFBvc2l0aW9uLFxuICAgICAgbWluRGVjaW1hbERpZ2l0czogdGhpcy5taW5EZWNpbWFsRGlnaXRzLFxuICAgICAgbWF4RGVjaW1hbERpZ2l0czogdGhpcy5tYXhEZWNpbWFsRGlnaXRzLFxuICAgICAgZGVjaW1hbFNlcGFyYXRvcjogdGhpcy5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgZ3JvdXBpbmc6IHRoaXMuZ3JvdXBpbmcsXG4gICAgICB0aG91c2FuZFNlcGFyYXRvcjogdGhpcy50aG91c2FuZFNlcGFyYXRvclxuICAgIH07XG5cbiAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlcmVmIGxldC12YWx1ZT1cInZhbHVlXCI+XG4gIHt7Z2V0Q29tYm9EYXRhKHZhbHVlKX19XG48L25nLXRlbXBsYXRlPlxuIl19