aril 1.1.73 → 1.1.75

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 (1353) hide show
  1. package/README.md +62 -62
  2. package/boot/config/api/src/api.service.d.ts +12 -0
  3. package/boot/config/api/src/interfaces.d.ts +39 -0
  4. package/boot/config/api.sample.json +8 -0
  5. package/boot/config/apps/src/apps.service.d.ts +13 -0
  6. package/boot/config/apps/src/auth.guard.d.ts +9 -0
  7. package/boot/config/apps/src/interfaces.d.ts +50 -0
  8. package/boot/config/apps/src/reuse-strategy.d.ts +4 -0
  9. package/boot/config/apps/src/showdowDOMWrapper.d.ts +10 -0
  10. package/boot/config/plugins/src/getNgZone.d.ts +5 -0
  11. package/boot/config/plugins/src/interfaces.d.ts +55 -0
  12. package/boot/config/plugins/src/plugins.service.d.ts +5 -0
  13. package/boot/config/translate/constants.d.ts +4 -0
  14. package/boot/config/translate/primeng/i18n/tr.d.ts +46 -0
  15. package/boot/host/src/app.component.d.ts +10 -0
  16. package/boot/host/src/bootstrap.d.ts +4 -0
  17. package/boot/index.d.ts +1 -0
  18. package/boot/mfe/src/app.component.d.ts +17 -0
  19. package/boot/mfe/src/appComponentLoader.d.ts +1 -0
  20. package/boot/mfe/src/bootstrap.d.ts +5 -0
  21. package/boot/mfe/src/loadStyles.d.ts +3 -0
  22. package/boot/mfe/src/monaco.config.d.ts +7 -0
  23. package/esm2022/aril.mjs +5 -0
  24. package/esm2022/boot/aril-boot.mjs +5 -0
  25. package/esm2022/boot/config/api/aril-boot-config-api.mjs +5 -0
  26. package/esm2022/boot/config/api/index.mjs +2 -0
  27. package/esm2022/boot/config/api/src/api.service.mjs +59 -0
  28. package/esm2022/boot/config/api/src/interfaces.mjs +61 -0
  29. package/esm2022/boot/config/apps/aril-boot-config-apps.mjs +5 -0
  30. package/esm2022/boot/config/apps/index.mjs +4 -0
  31. package/esm2022/boot/config/apps/src/apps.service.mjs +53 -0
  32. package/esm2022/boot/config/apps/src/auth.guard.mjs +22 -0
  33. package/esm2022/boot/config/apps/src/interfaces.mjs +21 -0
  34. package/esm2022/boot/config/apps/src/reuse-strategy.mjs +9 -0
  35. package/esm2022/boot/config/apps/src/showdowDOMWrapper.mjs +35 -0
  36. package/esm2022/boot/config/plugins/aril-boot-config-plugins.mjs +5 -0
  37. package/esm2022/boot/config/plugins/index.mjs +3 -0
  38. package/esm2022/boot/config/plugins/src/getNgZone.mjs +9 -0
  39. package/esm2022/boot/config/plugins/src/interfaces.mjs +62 -0
  40. package/esm2022/boot/config/plugins/src/plugins.service.mjs +84 -0
  41. package/esm2022/boot/config/translate/aril-boot-config-translate.mjs +5 -0
  42. package/esm2022/boot/config/translate/constants.mjs +6 -0
  43. package/esm2022/boot/config/translate/index.mjs +3 -0
  44. package/esm2022/boot/config/translate/primeng/i18n/tr.mjs +60 -0
  45. package/esm2022/boot/host/aril-boot-host.mjs +5 -0
  46. package/esm2022/boot/host/index.mjs +2 -0
  47. package/esm2022/boot/host/src/app.component.mjs +49 -0
  48. package/esm2022/boot/host/src/bootstrap.mjs +55 -0
  49. package/esm2022/boot/index.mjs +2 -0
  50. package/esm2022/boot/mfe/aril-boot-mfe.mjs +5 -0
  51. package/esm2022/boot/mfe/index.mjs +2 -0
  52. package/esm2022/boot/mfe/src/app.component.mjs +63 -0
  53. package/esm2022/boot/mfe/src/appComponentLoader.mjs +5 -0
  54. package/esm2022/boot/mfe/src/bootstrap.mjs +76 -0
  55. package/esm2022/boot/mfe/src/loadStyles.mjs +37 -0
  56. package/esm2022/boot/mfe/src/monaco.config.mjs +247 -0
  57. package/esm2022/http/aril-http.mjs +5 -0
  58. package/esm2022/http/index.mjs +12 -0
  59. package/esm2022/http/lib/enums.mjs +35 -0
  60. package/esm2022/http/lib/interfaces.mjs +16 -0
  61. package/esm2022/http/src/httpBackend.mjs +17 -0
  62. package/esm2022/http/src/httpClient.mjs +16 -0
  63. package/esm2022/http/src/interceptor/accept-language.interceptor.mjs +21 -0
  64. package/esm2022/http/src/serviceBase.mjs +140 -0
  65. package/esm2022/http/src/serviceMockBase.mjs +4 -0
  66. package/esm2022/http/src/serviceRequest.mjs +23 -0
  67. package/esm2022/http/src/serviceStateMethods.mjs +167 -0
  68. package/esm2022/i18n/aril-i18n.mjs +5 -0
  69. package/esm2022/i18n/index.mjs +6 -0
  70. package/esm2022/i18n/src/folder-name-token.mjs +3 -0
  71. package/esm2022/i18n/src/i18n.module.mjs +17 -0
  72. package/esm2022/i18n/src/loader.mjs +18 -0
  73. package/esm2022/i18n/src/provideI18n.mjs +16 -0
  74. package/esm2022/i18n/src/provideScope.mjs +18 -0
  75. package/esm2022/keycloak/aril-keycloak.mjs +5 -0
  76. package/esm2022/keycloak/index.mjs +2 -0
  77. package/esm2022/keycloak/src/auth.interceptor.mjs +92 -0
  78. package/esm2022/provider/aril-provider.mjs +5 -0
  79. package/esm2022/provider/index.mjs +2 -0
  80. package/esm2022/provider/src/index.mjs +5 -0
  81. package/esm2022/provider/src/prodiveHost.mjs +9 -0
  82. package/esm2022/provider/src/prodiveHostRouter.mjs +12 -0
  83. package/esm2022/provider/src/provideHostKeycloak.mjs +28 -0
  84. package/esm2022/provider/src/provideLocaleId.mjs +20 -0
  85. package/esm2022/public-api.mjs +3 -0
  86. package/esm2022/theme/aril-theme.mjs +5 -0
  87. package/esm2022/theme/index.mjs +2 -0
  88. package/esm2022/theme/layout/app/breadcrumb/app.breadcrumb.component.mjs +106 -0
  89. package/esm2022/theme/layout/app/chatbot/app.chatbot.component.mjs +140 -0
  90. package/esm2022/theme/layout/app/expandableMenu/expandable-menu.component.mjs +250 -0
  91. package/esm2022/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.mjs +217 -0
  92. package/esm2022/theme/layout/app/favorite-pages/favorite-pages.service.mjs +60 -0
  93. package/esm2022/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.mjs +129 -0
  94. package/esm2022/theme/layout/app/general-search/general-search.component.mjs +75 -0
  95. package/esm2022/theme/layout/app/general-search/helpers.mjs +92 -0
  96. package/esm2022/theme/layout/app/general-search/models.mjs +50 -0
  97. package/esm2022/theme/layout/app/history/history-sidebar.component.mjs +133 -0
  98. package/esm2022/theme/layout/app/history/history.service.mjs +131 -0
  99. package/esm2022/theme/layout/app/layout/app.layout.component.mjs +160 -0
  100. package/esm2022/theme/layout/app/layout/mfe.layout.component.mjs +64 -0
  101. package/esm2022/theme/layout/app/notifications/notifications-sidebar.component.mjs +191 -0
  102. package/esm2022/theme/layout/app/profileSidebar/app.profilesidebar.component.mjs +122 -0
  103. package/esm2022/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.mjs +142 -0
  104. package/esm2022/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.mjs +202 -0
  105. package/esm2022/theme/layout/app/profileSidebar/profile.service.mjs +66 -0
  106. package/esm2022/theme/layout/app/site-map/site-map-sidebar.component.mjs +166 -0
  107. package/esm2022/theme/layout/app/static-sidebar/static-sidebar.component.mjs +228 -0
  108. package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +155 -0
  109. package/esm2022/theme/layout/aril-theme-layout.mjs +5 -0
  110. package/esm2022/theme/layout/index.mjs +8 -0
  111. package/esm2022/theme/layout/service/app.layout.service.mjs +231 -0
  112. package/esm2022/theme/layout/service/app.menu.service.mjs +46 -0
  113. package/esm2022/theme/layout/service/breadcrumb.service.mjs +20 -0
  114. package/esm2022/theme/layout/service/interfaces/enum.mjs +16 -0
  115. package/esm2022/theme/layout/service/interfaces/interfaces.mjs +2 -0
  116. package/esm2022/theme/layout/service/menuchangeevent.mjs +2 -0
  117. package/esm2022/theme/layout/service/notifications.service.mjs +30 -0
  118. package/esm2022/theme/layout/service/search.service.mjs +25 -0
  119. package/esm2022/theme/layout/service/selection-group.service.mjs +65 -0
  120. package/esm2022/ui/aril-ui.mjs +5 -0
  121. package/esm2022/ui/autoComplete/aril-ui-autoComplete.mjs +5 -0
  122. package/esm2022/ui/autoComplete/index.mjs +2 -0
  123. package/esm2022/ui/autoComplete/src/auto-complete.component.mjs +109 -0
  124. package/esm2022/ui/autoComplete/src/interfaces.mjs +2 -0
  125. package/esm2022/ui/badge/aril-ui-badge.mjs +5 -0
  126. package/esm2022/ui/badge/index.mjs +2 -0
  127. package/esm2022/ui/badge/src/badge.component.mjs +59 -0
  128. package/esm2022/ui/button/aril-ui-button.mjs +5 -0
  129. package/esm2022/ui/button/index.mjs +3 -0
  130. package/esm2022/ui/button/src/button.component.mjs +40 -0
  131. package/esm2022/ui/button/src/split-button.component.mjs +18 -0
  132. package/esm2022/ui/calendar/aril-ui-calendar.mjs +5 -0
  133. package/esm2022/ui/calendar/index.mjs +2 -0
  134. package/esm2022/ui/calendar/src/calendar.component.mjs +224 -0
  135. package/esm2022/ui/charts/aril-ui-charts.mjs +5 -0
  136. package/esm2022/ui/charts/index.mjs +13 -0
  137. package/esm2022/ui/charts/src/amCharts/column/column-chart.component.mjs +124 -0
  138. package/esm2022/ui/charts/src/amCharts/line/line-chart.component.mjs +164 -0
  139. package/esm2022/ui/charts/src/amCharts/pie/pie-chart.component.mjs +116 -0
  140. package/esm2022/ui/charts/src/highCharts/area/area-chart.component.mjs +114 -0
  141. package/esm2022/ui/charts/src/highCharts/bar/bar-chart.component.mjs +100 -0
  142. package/esm2022/ui/charts/src/highCharts/column/column-chart.component.mjs +117 -0
  143. package/esm2022/ui/charts/src/highCharts/gauge/solid-gauge.component.mjs +180 -0
  144. package/esm2022/ui/charts/src/highCharts/heatmap/heatMap-chart.component.mjs +252 -0
  145. package/esm2022/ui/charts/src/highCharts/line/line-chart-datetime-axis.component.mjs +187 -0
  146. package/esm2022/ui/charts/src/highCharts/line/line-chart-series.component.mjs +89 -0
  147. package/esm2022/ui/charts/src/highCharts/line/line-chart.component.mjs +82 -0
  148. package/esm2022/ui/charts/src/highCharts/pie/pie-chart.component.mjs +137 -0
  149. package/esm2022/ui/charts/src/theme/theme.mjs +54 -0
  150. package/esm2022/ui/checkbox/aril-ui-checkbox.mjs +5 -0
  151. package/esm2022/ui/checkbox/index.mjs +3 -0
  152. package/esm2022/ui/checkbox/src/check-box.component.mjs +27 -0
  153. package/esm2022/ui/checkbox/src/tri-state-checkbox.component.mjs +24 -0
  154. package/esm2022/ui/chip/aril-ui-chip.mjs +5 -0
  155. package/esm2022/ui/chip/index.mjs +2 -0
  156. package/esm2022/ui/chip/src/chip.component.mjs +129 -0
  157. package/esm2022/ui/collapse-reorder-list/aril-ui-collapse-reorder-list.mjs +5 -0
  158. package/esm2022/ui/collapse-reorder-list/index.mjs +2 -0
  159. package/esm2022/ui/collapse-reorder-list/src/collapse-reorder-list.component.mjs +53 -0
  160. package/esm2022/ui/dxEditor/aril-ui-dxEditor.mjs +5 -0
  161. package/esm2022/ui/dxEditor/index.mjs +2 -0
  162. package/esm2022/ui/dxEditor/src/dx-editor.component.mjs +26 -0
  163. package/esm2022/ui/dxField/aril-ui-dxField.mjs +5 -0
  164. package/esm2022/ui/dxField/index.mjs +2 -0
  165. package/esm2022/ui/dxField/src/dx-field.component.mjs +19 -0
  166. package/esm2022/ui/editor/aril-ui-editor.mjs +5 -0
  167. package/esm2022/ui/editor/index.mjs +3 -0
  168. package/esm2022/ui/editor/src/aril-editor.component.mjs +171 -0
  169. package/esm2022/ui/editor/src/types.mjs +26 -0
  170. package/esm2022/ui/field/aril-ui-field.mjs +5 -0
  171. package/esm2022/ui/field/index.mjs +2 -0
  172. package/esm2022/ui/field/src/field.component.mjs +45 -0
  173. package/esm2022/ui/fileUpload/aril-ui-fileUpload.mjs +5 -0
  174. package/esm2022/ui/fileUpload/index.mjs +2 -0
  175. package/esm2022/ui/fileUpload/src/file-upload.component.mjs +73 -0
  176. package/esm2022/ui/form/aril-ui-form.mjs +5 -0
  177. package/esm2022/ui/form/index.mjs +22 -0
  178. package/esm2022/ui/form/src/form-submit-button.component.mjs +40 -0
  179. package/esm2022/ui/form/src/form.component.mjs +27 -0
  180. package/esm2022/ui/img-viewer/aril-ui-img-viewer.mjs +5 -0
  181. package/esm2022/ui/img-viewer/index.mjs +2 -0
  182. package/esm2022/ui/img-viewer/src/img-viewer.component.mjs +57 -0
  183. package/esm2022/ui/index.mjs +2 -0
  184. package/esm2022/ui/json-diff-comparison/aril-ui-json-diff-comparison.mjs +5 -0
  185. package/esm2022/ui/json-diff-comparison/index.mjs +2 -0
  186. package/esm2022/ui/json-diff-comparison/src/json-diff.component.mjs +49 -0
  187. package/esm2022/ui/lib/aril-ui-lib.mjs +5 -0
  188. package/esm2022/ui/lib/index.mjs +16 -0
  189. package/esm2022/ui/lib/src/form/form-error-message.component.mjs +33 -0
  190. package/esm2022/ui/lib/src/form/form-error-message.directive.mjs +34 -0
  191. package/esm2022/ui/lib/src/form/form-field-builder.mjs +23 -0
  192. package/esm2022/ui/lib/src/form/form-validation.mjs +14 -0
  193. package/esm2022/ui/lib/src/grid/enum-color-picker.pipe.mjs +35 -0
  194. package/esm2022/ui/lib/src/grid/flex-grid.directive.mjs +21 -0
  195. package/esm2022/ui/lib/src/input/baseInput.mjs +24 -0
  196. package/esm2022/ui/lib/src/input/common-input-validators.service.mjs +49 -0
  197. package/esm2022/ui/lib/src/input/dx-input-error-message.pipe.mjs +22 -0
  198. package/esm2022/ui/lib/src/input/input-disabled.directive.mjs +25 -0
  199. package/esm2022/ui/lib/src/input/input-error-message.pipe.mjs +69 -0
  200. package/esm2022/ui/lib/src/input/input-transforms.mjs +8 -0
  201. package/esm2022/ui/lib/src/input/value-accessor.directive.mjs +38 -0
  202. package/esm2022/ui/loader/aril-ui-loader.mjs +5 -0
  203. package/esm2022/ui/loader/index.mjs +2 -0
  204. package/esm2022/ui/loader/src/loader.component.mjs +14 -0
  205. package/esm2022/ui/mask/aril-ui-mask.mjs +5 -0
  206. package/esm2022/ui/mask/index.mjs +2 -0
  207. package/esm2022/ui/mask/src/mask.component.mjs +35 -0
  208. package/esm2022/ui/multiSelect/aril-ui-multiSelect.mjs +5 -0
  209. package/esm2022/ui/multiSelect/index.mjs +2 -0
  210. package/esm2022/ui/multiSelect/src/interfaces.mjs +2 -0
  211. package/esm2022/ui/multiSelect/src/multi-select.component.mjs +57 -0
  212. package/esm2022/ui/number/aril-ui-number.mjs +5 -0
  213. package/esm2022/ui/number/index.mjs +2 -0
  214. package/esm2022/ui/number/src/number.component.mjs +38 -0
  215. package/esm2022/ui/operation-types-dialog/aril-ui-operation-types-dialog.mjs +5 -0
  216. package/esm2022/ui/operation-types-dialog/index.mjs +2 -0
  217. package/esm2022/ui/operation-types-dialog/src/operation-types-dialog.component.mjs +91 -0
  218. package/esm2022/ui/overlayPanel/aril-ui-overlayPanel.mjs +5 -0
  219. package/esm2022/ui/overlayPanel/index.mjs +2 -0
  220. package/esm2022/ui/overlayPanel/src/overlay-panel.component.mjs +20 -0
  221. package/esm2022/ui/panel/aril-ui-panel.mjs +5 -0
  222. package/esm2022/ui/panel/index.mjs +2 -0
  223. package/esm2022/ui/panel/src/panel.component.mjs +33 -0
  224. package/esm2022/ui/password/aril-ui-password.mjs +5 -0
  225. package/esm2022/ui/password/index.mjs +2 -0
  226. package/esm2022/ui/password/src/password.component.mjs +29 -0
  227. package/esm2022/ui/pdf-viewer/aril-ui-pdf-viewer.mjs +5 -0
  228. package/esm2022/ui/pdf-viewer/index.mjs +2 -0
  229. package/esm2022/ui/pdf-viewer/src/pdf-viewer.component.mjs +27 -0
  230. package/esm2022/ui/progressbar/aril-ui-progressbar.mjs +5 -0
  231. package/esm2022/ui/progressbar/index.mjs +2 -0
  232. package/esm2022/ui/progressbar/src/progressbar.component.mjs +18 -0
  233. package/esm2022/ui/radioButton/aril-ui-radioButton.mjs +5 -0
  234. package/esm2022/ui/radioButton/index.mjs +2 -0
  235. package/esm2022/ui/radioButton/src/radio-button.component.mjs +30 -0
  236. package/esm2022/ui/relativeDateSelector/aril-ui-relativeDateSelector.mjs +5 -0
  237. package/esm2022/ui/relativeDateSelector/index.mjs +2 -0
  238. package/esm2022/ui/relativeDateSelector/src/enum.mjs +31 -0
  239. package/esm2022/ui/relativeDateSelector/src/relative-date-selector.component.mjs +248 -0
  240. package/esm2022/ui/selectBox/aril-ui-selectBox.mjs +5 -0
  241. package/esm2022/ui/selectBox/index.mjs +2 -0
  242. package/esm2022/ui/selectBox/src/interfaces.mjs +2 -0
  243. package/esm2022/ui/selectBox/src/select-box.component.mjs +67 -0
  244. package/esm2022/ui/switch/aril-ui-switch.mjs +5 -0
  245. package/esm2022/ui/switch/index.mjs +2 -0
  246. package/esm2022/ui/switch/src/switch.component.mjs +23 -0
  247. package/esm2022/ui/table/aril-ui-table.mjs +5 -0
  248. package/esm2022/ui/table/index.mjs +131 -0
  249. package/esm2022/ui/table/src/export-overlay-panel.component.mjs +321 -0
  250. package/esm2022/ui/table/src/interfaces.mjs +44 -0
  251. package/esm2022/ui/table/src/table-column.component.mjs +31 -0
  252. package/esm2022/ui/table/src/table.component.mjs +334 -0
  253. package/esm2022/ui/table-expand/aril-ui-table-expand.mjs +5 -0
  254. package/esm2022/ui/table-expand/index.mjs +61 -0
  255. package/esm2022/ui/table-expand/src/table-column.component.mjs +25 -0
  256. package/esm2022/ui/table-expand/src/table-expand-area.component.mjs +17 -0
  257. package/esm2022/ui/table-expand/src/table.component.mjs +99 -0
  258. package/esm2022/ui/tag/aril-ui-tag.mjs +5 -0
  259. package/esm2022/ui/tag/index.mjs +2 -0
  260. package/esm2022/ui/tag/src/interface.mjs +2 -0
  261. package/esm2022/ui/tag/src/tag.component.mjs +20 -0
  262. package/esm2022/ui/tagBox/aril-ui-tagBox.mjs +5 -0
  263. package/esm2022/ui/tagBox/index.mjs +2 -0
  264. package/esm2022/ui/tagBox/src/tag-box.component.mjs +55 -0
  265. package/esm2022/ui/text/aril-ui-text.mjs +5 -0
  266. package/esm2022/ui/text/index.mjs +2 -0
  267. package/esm2022/ui/text/src/text.component.mjs +47 -0
  268. package/esm2022/ui/textArea/aril-ui-textArea.mjs +5 -0
  269. package/esm2022/ui/textArea/index.mjs +2 -0
  270. package/esm2022/ui/textArea/src/text-area.component.mjs +27 -0
  271. package/esm2022/ui/toggle-button/aril-ui-toggle-button.mjs +5 -0
  272. package/esm2022/ui/toggle-button/index.mjs +2 -0
  273. package/esm2022/ui/toggle-button/src/toggle-button.component.mjs +25 -0
  274. package/esm2022/ui/tooltip/aril-ui-tooltip.mjs +5 -0
  275. package/esm2022/ui/tooltip/index.mjs +2 -0
  276. package/esm2022/ui/tooltip/src/tooltip-component.mjs +23 -0
  277. package/esm2022/ui/translate-input/aril-ui-translate-input.mjs +5 -0
  278. package/esm2022/ui/translate-input/index.mjs +2 -0
  279. package/esm2022/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.mjs +64 -0
  280. package/esm2022/ui/translate-input/src/aril-lang-modal/constants.mjs +15 -0
  281. package/esm2022/ui/translate-input/src/aril-translate-input.component.mjs +128 -0
  282. package/esm2022/ui/translate-input/src/interface.mjs +2 -0
  283. package/esm2022/ui/tree/aril-ui-tree.mjs +5 -0
  284. package/esm2022/ui/tree/index.mjs +2 -0
  285. package/esm2022/ui/tree/src/tree.component.mjs +53 -0
  286. package/esm2022/ui/treeSelect/aril-ui-treeSelect.mjs +5 -0
  287. package/esm2022/ui/treeSelect/index.mjs +2 -0
  288. package/esm2022/ui/treeSelect/src/treeSelect.component.mjs +41 -0
  289. package/esm2022/ui/treeTable/aril-ui-treeTable.mjs +5 -0
  290. package/esm2022/ui/treeTable/index.mjs +2 -0
  291. package/esm2022/ui/treeTable/src/tree-table.component.mjs +55 -0
  292. package/esm2022/ui/value/aril-ui-value.mjs +5 -0
  293. package/esm2022/ui/value/index.mjs +2 -0
  294. package/esm2022/ui/value/src/value.component.mjs +207 -0
  295. package/esm2022/ui-business/aril-ui-business.mjs +5 -0
  296. package/esm2022/ui-business/assetPicker/aril-ui-business-assetPicker.mjs +5 -0
  297. package/esm2022/ui-business/assetPicker/index.mjs +2 -0
  298. package/esm2022/ui-business/assetPicker/src/asset-picker.component.mjs +182 -0
  299. package/esm2022/ui-business/assetPicker/src/interface.mjs +2 -0
  300. package/esm2022/ui-business/detailed-overlay-panel/aril-ui-business-detailed-overlay-panel.mjs +5 -0
  301. package/esm2022/ui-business/detailed-overlay-panel/index.mjs +2 -0
  302. package/esm2022/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.mjs +61 -0
  303. package/esm2022/ui-business/detailed-overlay-panel/src/interface.mjs +19 -0
  304. package/esm2022/ui-business/enumPicker/aril-ui-business-enumPicker.mjs +5 -0
  305. package/esm2022/ui-business/enumPicker/index.mjs +2 -0
  306. package/esm2022/ui-business/enumPicker/src/enum-picker.component.mjs +124 -0
  307. package/esm2022/ui-business/enumPicker/src/interface.mjs +2 -0
  308. package/esm2022/ui-business/image-viewer/aril-ui-business-image-viewer.mjs +5 -0
  309. package/esm2022/ui-business/image-viewer/index.mjs +2 -0
  310. package/esm2022/ui-business/image-viewer/src/aril-image-viewer.component.mjs +111 -0
  311. package/esm2022/ui-business/index.mjs +2 -0
  312. package/esm2022/ui-business/multiple-ref-value/aril-ui-business-multiple-ref-value.mjs +5 -0
  313. package/esm2022/ui-business/multiple-ref-value/index.mjs +2 -0
  314. package/esm2022/ui-business/multiple-ref-value/src/multiple-ref-value.component.mjs +23 -0
  315. package/esm2022/ui-business/notification-templates-dialog/aril-ui-business-notification-templates-dialog.mjs +5 -0
  316. package/esm2022/ui-business/notification-templates-dialog/index.mjs +2 -0
  317. package/esm2022/ui-business/notification-templates-dialog/src/interface.mjs +8 -0
  318. package/esm2022/ui-business/notification-templates-dialog/src/notification-templates-dialog.component.mjs +56 -0
  319. package/esm2022/ui-business/operation-types-dialog/aril-ui-business-operation-types-dialog.mjs +5 -0
  320. package/esm2022/ui-business/operation-types-dialog/index.mjs +2 -0
  321. package/esm2022/ui-business/operation-types-dialog/src/operation-types-dialog.component.mjs +76 -0
  322. package/esm2022/ui-business/ref-value/aril-ui-business-ref-value.mjs +5 -0
  323. package/esm2022/ui-business/ref-value/index.mjs +2 -0
  324. package/esm2022/ui-business/ref-value/src/ref-value.component.mjs +39 -0
  325. package/esm2022/ui-business/rolePicker/aril-ui-business-rolePicker.mjs +5 -0
  326. package/esm2022/ui-business/rolePicker/index.mjs +2 -0
  327. package/esm2022/ui-business/rolePicker/src/interface.mjs +2 -0
  328. package/esm2022/ui-business/rolePicker/src/role-picker.component.mjs +71 -0
  329. package/esm2022/ui-business/userPicker/aril-ui-business-userPicker.mjs +5 -0
  330. package/esm2022/ui-business/userPicker/index.mjs +2 -0
  331. package/esm2022/ui-business/userPicker/src/interface.mjs +2 -0
  332. package/esm2022/ui-business/userPicker/src/user-picker.component.mjs +43 -0
  333. package/esm2022/util/aril-util.mjs +5 -0
  334. package/esm2022/util/block/aril-util-block.mjs +5 -0
  335. package/esm2022/util/block/index.mjs +2 -0
  336. package/esm2022/util/block/src/block.mjs +64 -0
  337. package/esm2022/util/custom_pages/aril-util-custom_pages.mjs +5 -0
  338. package/esm2022/util/custom_pages/index.mjs +2 -0
  339. package/esm2022/util/custom_pages/src/notFound.component.mjs +65 -0
  340. package/esm2022/util/directives/aril-util-directives.mjs +5 -0
  341. package/esm2022/util/directives/index.mjs +4 -0
  342. package/esm2022/util/directives/src/detail-page-customization/detail-page-customization.directive.mjs +298 -0
  343. package/esm2022/util/directives/src/detail-page-customization/index.mjs +3 -0
  344. package/esm2022/util/directives/src/detail-page-customization/models.mjs +4 -0
  345. package/esm2022/util/directives/src/dialog-component/plugin-dialog.component.mjs +26 -0
  346. package/esm2022/util/directives/src/dialog-service/plugin-dialog.service.mjs +16 -0
  347. package/esm2022/util/index.mjs +2 -0
  348. package/esm2022/util/lib/aril-util-lib.mjs +5 -0
  349. package/esm2022/util/lib/index.mjs +6 -0
  350. package/esm2022/util/lib/src/interfaces.mjs +4 -0
  351. package/esm2022/util/lib/src/module-router.mjs +16 -0
  352. package/esm2022/util/lib/src/types.mjs +6 -0
  353. package/esm2022/util/lib/src/validators/iban.validator.mjs +189 -0
  354. package/esm2022/util/lib/src/validators/identity.validator.mjs +91 -0
  355. package/esm2022/util/lib/src/validators/index.mjs +6 -0
  356. package/esm2022/util/lib/src/validators/max-array-length.validator.mjs +16 -0
  357. package/esm2022/util/lib/src/validators/min-array-length.validator.mjs +16 -0
  358. package/esm2022/util/lib/src/validators/tckn.validator.mjs +39 -0
  359. package/esm2022/util/lib/src/validators/validators.mjs +31 -0
  360. package/esm2022/util/loaders/aril-util-loaders.mjs +5 -0
  361. package/esm2022/util/loaders/index.mjs +2 -0
  362. package/esm2022/util/loaders/style/style.loader.service.mjs +61 -0
  363. package/esm2022/util/pipes/aril-util-pipes.mjs +5 -0
  364. package/esm2022/util/pipes/index.mjs +7 -0
  365. package/esm2022/util/pipes/src/distance-to-now.pipe.mjs +38 -0
  366. package/esm2022/util/pipes/src/get-column-by-field.pipe.mjs +17 -0
  367. package/esm2022/util/pipes/src/parse.pipe.mjs +22 -0
  368. package/esm2022/util/pipes/src/round-number.pipe.mjs +65 -0
  369. package/esm2022/util/pipes/src/safe.pipe.mjs +34 -0
  370. package/esm2022/util/pipes/src/translate-json/index.mjs +2 -0
  371. package/esm2022/util/pipes/src/translate-json/translate-json.pipe.mjs +41 -0
  372. package/esm2022/util/primitive-extensions/aril-util-primitive-extensions.mjs +5 -0
  373. package/esm2022/util/primitive-extensions/index.mjs +5 -0
  374. package/esm2022/util/primitive-extensions/src/boolean.extensions.mjs +2 -0
  375. package/esm2022/util/primitive-extensions/src/date.extensions.mjs +116 -0
  376. package/esm2022/util/primitive-extensions/src/number.extensions.mjs +39 -0
  377. package/esm2022/util/primitive-extensions/src/string.extensions.mjs +23 -0
  378. package/esm2022/util/pub-sub/aril-util-pub-sub.mjs +5 -0
  379. package/esm2022/util/pub-sub/index.mjs +2 -0
  380. package/esm2022/util/pub-sub/src/pub-sub.service.mjs +30 -0
  381. package/esm2022/util/sync-active-tab-route/aril-util-sync-active-tab-route.mjs +5 -0
  382. package/esm2022/util/sync-active-tab-route/index.mjs +2 -0
  383. package/esm2022/util/sync-active-tab-route/src/sync-active-tab-route.directive.mjs +45 -0
  384. package/esm2022/util/unwrap/aril-util-unwrap.mjs +5 -0
  385. package/esm2022/util/unwrap/index.mjs +2 -0
  386. package/esm2022/util/unwrap/src/unwrap-tag.directive.mjs +24 -0
  387. package/fesm2022/aril-app.component-hxaLgwmC.mjs +81 -0
  388. package/fesm2022/aril-app.component-hxaLgwmC.mjs.map +1 -0
  389. package/fesm2022/aril-boot-config-api.mjs +126 -0
  390. package/fesm2022/aril-boot-config-api.mjs.map +1 -0
  391. package/fesm2022/aril-boot-config-apps.mjs +138 -0
  392. package/fesm2022/aril-boot-config-apps.mjs.map +1 -0
  393. package/fesm2022/aril-boot-config-plugins.mjs +159 -0
  394. package/fesm2022/aril-boot-config-plugins.mjs.map +1 -0
  395. package/fesm2022/aril-boot-config-translate.mjs +72 -0
  396. package/fesm2022/aril-boot-config-translate.mjs.map +1 -0
  397. package/fesm2022/aril-boot-host.mjs +108 -0
  398. package/fesm2022/aril-boot-host.mjs.map +1 -0
  399. package/fesm2022/aril-boot-mfe-app.component-s1a-tkOD.mjs +80 -0
  400. package/fesm2022/aril-boot-mfe-app.component-s1a-tkOD.mjs.map +1 -0
  401. package/fesm2022/aril-boot-mfe-aril-boot-mfe-wLTqwDtz.mjs +369 -0
  402. package/fesm2022/aril-boot-mfe-aril-boot-mfe-wLTqwDtz.mjs.map +1 -0
  403. package/fesm2022/aril-boot-mfe.mjs +19 -0
  404. package/fesm2022/aril-boot-mfe.mjs.map +1 -0
  405. package/fesm2022/aril-boot.mjs +8 -0
  406. package/fesm2022/aril-boot.mjs.map +1 -0
  407. package/fesm2022/aril-http.mjs +437 -0
  408. package/fesm2022/aril-http.mjs.map +1 -0
  409. package/fesm2022/aril-i18n.mjs +71 -0
  410. package/fesm2022/aril-i18n.mjs.map +1 -0
  411. package/fesm2022/aril-keycloak.mjs +99 -0
  412. package/fesm2022/aril-keycloak.mjs.map +1 -0
  413. package/fesm2022/aril-provider.mjs +74 -0
  414. package/fesm2022/aril-provider.mjs.map +1 -0
  415. package/fesm2022/aril-theme-layout.mjs +3015 -0
  416. package/fesm2022/aril-theme-layout.mjs.map +1 -0
  417. package/fesm2022/aril-theme.mjs +8 -0
  418. package/fesm2022/aril-theme.mjs.map +1 -0
  419. package/fesm2022/aril-ui-autoComplete.mjs +116 -0
  420. package/fesm2022/aril-ui-autoComplete.mjs.map +1 -0
  421. package/fesm2022/aril-ui-badge.mjs +66 -0
  422. package/fesm2022/aril-ui-badge.mjs.map +1 -0
  423. package/fesm2022/aril-ui-business-assetPicker.mjs +189 -0
  424. package/fesm2022/aril-ui-business-assetPicker.mjs.map +1 -0
  425. package/fesm2022/aril-ui-business-detailed-overlay-panel.mjs +68 -0
  426. package/fesm2022/aril-ui-business-detailed-overlay-panel.mjs.map +1 -0
  427. package/fesm2022/aril-ui-business-enumPicker.mjs +131 -0
  428. package/fesm2022/aril-ui-business-enumPicker.mjs.map +1 -0
  429. package/fesm2022/aril-ui-business-image-viewer.mjs +118 -0
  430. package/fesm2022/aril-ui-business-image-viewer.mjs.map +1 -0
  431. package/fesm2022/aril-ui-business-multiple-ref-value.mjs +30 -0
  432. package/fesm2022/aril-ui-business-multiple-ref-value.mjs.map +1 -0
  433. package/fesm2022/aril-ui-business-notification-templates-dialog.mjs +70 -0
  434. package/fesm2022/aril-ui-business-notification-templates-dialog.mjs.map +1 -0
  435. package/fesm2022/aril-ui-business-operation-types-dialog.mjs +83 -0
  436. package/fesm2022/aril-ui-business-operation-types-dialog.mjs.map +1 -0
  437. package/fesm2022/aril-ui-business-ref-value.mjs +46 -0
  438. package/fesm2022/aril-ui-business-ref-value.mjs.map +1 -0
  439. package/fesm2022/aril-ui-business-rolePicker.mjs +78 -0
  440. package/fesm2022/aril-ui-business-rolePicker.mjs.map +1 -0
  441. package/fesm2022/aril-ui-business-userPicker.mjs +50 -0
  442. package/fesm2022/aril-ui-business-userPicker.mjs.map +1 -0
  443. package/fesm2022/aril-ui-business.mjs +8 -0
  444. package/fesm2022/aril-ui-business.mjs.map +1 -0
  445. package/fesm2022/aril-ui-button.mjs +62 -0
  446. package/fesm2022/aril-ui-button.mjs.map +1 -0
  447. package/fesm2022/aril-ui-calendar.mjs +231 -0
  448. package/fesm2022/aril-ui-calendar.mjs.map +1 -0
  449. package/fesm2022/aril-ui-charts.mjs +1666 -0
  450. package/fesm2022/aril-ui-charts.mjs.map +1 -0
  451. package/fesm2022/aril-ui-checkbox.mjs +50 -0
  452. package/fesm2022/aril-ui-checkbox.mjs.map +1 -0
  453. package/fesm2022/aril-ui-chip.mjs +136 -0
  454. package/fesm2022/aril-ui-chip.mjs.map +1 -0
  455. package/fesm2022/aril-ui-collapse-reorder-list.mjs +60 -0
  456. package/fesm2022/aril-ui-collapse-reorder-list.mjs.map +1 -0
  457. package/fesm2022/aril-ui-dxEditor.mjs +33 -0
  458. package/fesm2022/aril-ui-dxEditor.mjs.map +1 -0
  459. package/fesm2022/aril-ui-dxField.mjs +26 -0
  460. package/fesm2022/aril-ui-dxField.mjs.map +1 -0
  461. package/fesm2022/aril-ui-editor.mjs +203 -0
  462. package/fesm2022/aril-ui-editor.mjs.map +1 -0
  463. package/fesm2022/aril-ui-field.mjs +52 -0
  464. package/fesm2022/aril-ui-field.mjs.map +1 -0
  465. package/fesm2022/aril-ui-fileUpload.mjs +80 -0
  466. package/fesm2022/aril-ui-fileUpload.mjs.map +1 -0
  467. package/fesm2022/aril-ui-form.mjs +86 -0
  468. package/fesm2022/aril-ui-form.mjs.map +1 -0
  469. package/fesm2022/aril-ui-img-viewer.mjs +64 -0
  470. package/fesm2022/aril-ui-img-viewer.mjs.map +1 -0
  471. package/fesm2022/aril-ui-json-diff-comparison.mjs +56 -0
  472. package/fesm2022/aril-ui-json-diff-comparison.mjs.map +1 -0
  473. package/fesm2022/aril-ui-lib.mjs +382 -0
  474. package/fesm2022/aril-ui-lib.mjs.map +1 -0
  475. package/fesm2022/aril-ui-loader.mjs +21 -0
  476. package/fesm2022/aril-ui-loader.mjs.map +1 -0
  477. package/fesm2022/aril-ui-mask.mjs +42 -0
  478. package/fesm2022/aril-ui-mask.mjs.map +1 -0
  479. package/fesm2022/aril-ui-multiSelect.mjs +64 -0
  480. package/fesm2022/aril-ui-multiSelect.mjs.map +1 -0
  481. package/fesm2022/aril-ui-number.mjs +45 -0
  482. package/fesm2022/aril-ui-number.mjs.map +1 -0
  483. package/fesm2022/aril-ui-operation-types-dialog.mjs +98 -0
  484. package/fesm2022/aril-ui-operation-types-dialog.mjs.map +1 -0
  485. package/fesm2022/aril-ui-overlayPanel.mjs +27 -0
  486. package/fesm2022/aril-ui-overlayPanel.mjs.map +1 -0
  487. package/fesm2022/aril-ui-panel.mjs +40 -0
  488. package/fesm2022/aril-ui-panel.mjs.map +1 -0
  489. package/fesm2022/aril-ui-password.mjs +36 -0
  490. package/fesm2022/aril-ui-password.mjs.map +1 -0
  491. package/fesm2022/aril-ui-pdf-viewer.mjs +34 -0
  492. package/fesm2022/aril-ui-pdf-viewer.mjs.map +1 -0
  493. package/fesm2022/aril-ui-progressbar.mjs +25 -0
  494. package/fesm2022/aril-ui-progressbar.mjs.map +1 -0
  495. package/fesm2022/aril-ui-radioButton.mjs +37 -0
  496. package/fesm2022/aril-ui-radioButton.mjs.map +1 -0
  497. package/fesm2022/aril-ui-relativeDateSelector.mjs +285 -0
  498. package/fesm2022/aril-ui-relativeDateSelector.mjs.map +1 -0
  499. package/fesm2022/aril-ui-selectBox.mjs +74 -0
  500. package/fesm2022/aril-ui-selectBox.mjs.map +1 -0
  501. package/fesm2022/aril-ui-switch.mjs +30 -0
  502. package/fesm2022/aril-ui-switch.mjs.map +1 -0
  503. package/fesm2022/aril-ui-table-expand.mjs +194 -0
  504. package/fesm2022/aril-ui-table-expand.mjs.map +1 -0
  505. package/fesm2022/aril-ui-table.mjs +833 -0
  506. package/fesm2022/aril-ui-table.mjs.map +1 -0
  507. package/fesm2022/aril-ui-tag.mjs +27 -0
  508. package/fesm2022/aril-ui-tag.mjs.map +1 -0
  509. package/fesm2022/aril-ui-tagBox.mjs +62 -0
  510. package/fesm2022/aril-ui-tagBox.mjs.map +1 -0
  511. package/fesm2022/aril-ui-text.mjs +54 -0
  512. package/fesm2022/aril-ui-text.mjs.map +1 -0
  513. package/fesm2022/aril-ui-textArea.mjs +34 -0
  514. package/fesm2022/aril-ui-textArea.mjs.map +1 -0
  515. package/fesm2022/aril-ui-toggle-button.mjs +32 -0
  516. package/fesm2022/aril-ui-toggle-button.mjs.map +1 -0
  517. package/fesm2022/aril-ui-tooltip.mjs +30 -0
  518. package/fesm2022/aril-ui-tooltip.mjs.map +1 -0
  519. package/fesm2022/aril-ui-translate-input.mjs +207 -0
  520. package/fesm2022/aril-ui-translate-input.mjs.map +1 -0
  521. package/fesm2022/aril-ui-tree.mjs +60 -0
  522. package/fesm2022/aril-ui-tree.mjs.map +1 -0
  523. package/fesm2022/aril-ui-treeSelect.mjs +48 -0
  524. package/fesm2022/aril-ui-treeSelect.mjs.map +1 -0
  525. package/fesm2022/aril-ui-treeTable.mjs +62 -0
  526. package/fesm2022/aril-ui-treeTable.mjs.map +1 -0
  527. package/fesm2022/aril-ui-value.mjs +214 -0
  528. package/fesm2022/aril-ui-value.mjs.map +1 -0
  529. package/fesm2022/aril-ui.mjs +8 -0
  530. package/fesm2022/aril-ui.mjs.map +1 -0
  531. package/fesm2022/aril-util-block.mjs +71 -0
  532. package/fesm2022/aril-util-block.mjs.map +1 -0
  533. package/fesm2022/aril-util-custom_pages.mjs +72 -0
  534. package/fesm2022/aril-util-custom_pages.mjs.map +1 -0
  535. package/fesm2022/aril-util-directives.mjs +344 -0
  536. package/fesm2022/aril-util-directives.mjs.map +1 -0
  537. package/fesm2022/aril-util-lib.mjs +413 -0
  538. package/fesm2022/aril-util-lib.mjs.map +1 -0
  539. package/fesm2022/aril-util-loaders.mjs +68 -0
  540. package/fesm2022/aril-util-loaders.mjs.map +1 -0
  541. package/fesm2022/aril-util-pipes.mjs +213 -0
  542. package/fesm2022/aril-util-pipes.mjs.map +1 -0
  543. package/fesm2022/aril-util-primitive-extensions.mjs +179 -0
  544. package/fesm2022/aril-util-primitive-extensions.mjs.map +1 -0
  545. package/fesm2022/aril-util-pub-sub.mjs +37 -0
  546. package/fesm2022/aril-util-pub-sub.mjs.map +1 -0
  547. package/fesm2022/aril-util-sync-active-tab-route.mjs +52 -0
  548. package/fesm2022/aril-util-sync-active-tab-route.mjs.map +1 -0
  549. package/fesm2022/aril-util-unwrap.mjs +31 -0
  550. package/fesm2022/aril-util-unwrap.mjs.map +1 -0
  551. package/fesm2022/aril-util.mjs +8 -0
  552. package/fesm2022/aril-util.mjs.map +1 -0
  553. package/fesm2022/aril.mjs +456 -0
  554. package/fesm2022/aril.mjs.map +1 -0
  555. package/http/index.d.ts +8 -0
  556. package/http/lib/enums.d.ts +31 -0
  557. package/http/lib/interfaces.d.ts +27 -0
  558. package/http/src/httpBackend.d.ts +8 -0
  559. package/http/src/httpClient.d.ts +9 -0
  560. package/http/src/interceptor/accept-language.interceptor.d.ts +2 -0
  561. package/http/src/serviceBase.d.ts +8 -0
  562. package/http/src/serviceMockBase.d.ts +6 -0
  563. package/http/src/serviceRequest.d.ts +4 -0
  564. package/http/src/serviceStateMethods.d.ts +17 -0
  565. package/i18n/src/folder-name-token.d.ts +2 -0
  566. package/i18n/src/i18n.module.d.ts +7 -0
  567. package/i18n/src/loader.d.ts +8 -0
  568. package/i18n/src/provideI18n.d.ts +2 -0
  569. package/i18n/src/provideScope.d.ts +5 -0
  570. package/index.d.ts +5 -0
  571. package/keycloak/index.d.ts +1 -0
  572. package/keycloak/src/auth.interceptor.d.ts +3 -0
  573. package/package.json +528 -43
  574. package/provider/src/index.d.ts +4 -0
  575. package/provider/src/prodiveHost.d.ts +3 -0
  576. package/provider/src/prodiveHostRouter.d.ts +2 -0
  577. package/provider/src/provideHostKeycloak.d.ts +5 -0
  578. package/provider/src/provideLocaleId.d.ts +2 -0
  579. package/scripts/util/blockui.min.js +7 -0
  580. package/styles/ui/ui.common.scss +42 -0
  581. package/styles/util/blockui.css +56 -0
  582. package/theme/index.d.ts +1 -0
  583. package/theme/index.ts +1 -1
  584. package/theme/layout/app/breadcrumb/app.breadcrumb.component.d.ts +25 -0
  585. package/theme/layout/app/breadcrumb/app.breadcrumb.component.html +8 -8
  586. package/theme/layout/app/breadcrumb/app.breadcrumb.component.ts +126 -126
  587. package/theme/layout/app/chatbot/app.chatbot.component.d.ts +35 -0
  588. package/theme/layout/app/chatbot/app.chatbot.component.html +108 -108
  589. package/theme/layout/app/chatbot/app.chatbot.component.scss +34 -34
  590. package/theme/layout/app/chatbot/app.chatbot.component.ts +151 -151
  591. package/theme/layout/app/config/app.config.component.html +146 -146
  592. package/theme/layout/app/config/app.config.component.ts +143 -143
  593. package/theme/layout/app/expandableMenu/expandable-menu.component.d.ts +72 -0
  594. package/theme/layout/app/expandableMenu/expandable-menu.component.html +89 -89
  595. package/theme/layout/app/expandableMenu/expandable-menu.component.ts +295 -295
  596. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.d.ts +2031 -0
  597. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.html +110 -110
  598. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.scss +181 -181
  599. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.ts +260 -260
  600. package/theme/layout/app/favorite-pages/favorite-pages.service.d.ts +56 -0
  601. package/theme/layout/app/favorite-pages/favorite-pages.service.ts +95 -95
  602. package/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.d.ts +36 -0
  603. package/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.html +27 -27
  604. package/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.ts +165 -165
  605. package/theme/layout/app/general-search/general-search.component.d.ts +22 -0
  606. package/theme/layout/app/general-search/general-search.component.html +57 -57
  607. package/theme/layout/app/general-search/general-search.component.scss +27 -27
  608. package/theme/layout/app/general-search/general-search.component.ts +93 -93
  609. package/theme/layout/app/general-search/helpers.d.ts +7 -0
  610. package/theme/layout/app/general-search/helpers.spec.ts +527 -527
  611. package/theme/layout/app/general-search/helpers.ts +106 -106
  612. package/theme/layout/app/general-search/models.d.ts +131 -0
  613. package/theme/layout/app/general-search/models.ts +142 -142
  614. package/theme/layout/app/history/history-sidebar.component.d.ts +2018 -0
  615. package/theme/layout/app/history/history-sidebar.component.html +87 -87
  616. package/theme/layout/app/history/history-sidebar.component.scss +182 -182
  617. package/theme/layout/app/history/history-sidebar.component.ts +143 -143
  618. package/theme/layout/app/history/history.service.d.ts +36 -0
  619. package/theme/layout/app/history/history.service.ts +154 -154
  620. package/theme/layout/app/layout/app.layout.component.d.ts +47 -0
  621. package/theme/layout/app/layout/app.layout.component.html +27 -27
  622. package/theme/layout/app/layout/app.layout.component.ts +171 -171
  623. package/theme/layout/app/layout/mfe.layout.component.d.ts +10 -0
  624. package/theme/layout/app/layout/mfe.layout.component.ts +59 -59
  625. package/theme/layout/app/notifications/notifications-sidebar.component.d.ts +2306 -0
  626. package/theme/layout/app/notifications/notifications-sidebar.component.html +104 -104
  627. package/theme/layout/app/notifications/notifications-sidebar.component.scss +237 -237
  628. package/theme/layout/app/notifications/notifications-sidebar.component.ts +221 -221
  629. package/theme/layout/app/profileSidebar/app.profilesidebar.component.d.ts +29 -0
  630. package/theme/layout/app/profileSidebar/app.profilesidebar.component.html +122 -122
  631. package/theme/layout/app/profileSidebar/app.profilesidebar.component.scss +151 -151
  632. package/theme/layout/app/profileSidebar/app.profilesidebar.component.ts +141 -141
  633. package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.d.ts +30 -0
  634. package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.html +48 -48
  635. package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.scss +27 -27
  636. package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.ts +178 -178
  637. package/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.d.ts +52 -0
  638. package/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.html +71 -71
  639. package/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.ts +251 -251
  640. package/theme/layout/app/profileSidebar/profile.service.d.ts +72 -0
  641. package/theme/layout/app/profileSidebar/profile.service.ts +116 -116
  642. package/theme/layout/app/site-map/site-map-sidebar.component.d.ts +2025 -0
  643. package/theme/layout/app/site-map/site-map-sidebar.component.html +121 -121
  644. package/theme/layout/app/site-map/site-map-sidebar.component.scss +178 -178
  645. package/theme/layout/app/site-map/site-map-sidebar.component.ts +193 -193
  646. package/theme/layout/app/static-sidebar/static-sidebar.component.d.ts +57 -0
  647. package/theme/layout/app/static-sidebar/static-sidebar.component.html +123 -123
  648. package/theme/layout/app/static-sidebar/static-sidebar.component.scss +411 -411
  649. package/theme/layout/app/static-sidebar/static-sidebar.component.ts +276 -276
  650. package/theme/layout/app/topbar/app.topbar.component.d.ts +35 -0
  651. package/theme/layout/app/topbar/app.topbar.component.html +85 -85
  652. package/theme/layout/app/topbar/app.topbar.component.scss +193 -193
  653. package/theme/layout/app/topbar/app.topbar.component.ts +172 -172
  654. package/theme/layout/index.d.ts +7 -0
  655. package/theme/layout/index.ts +7 -7
  656. package/theme/layout/ng-package.json +6 -6
  657. package/theme/layout/service/app.layout.service.d.ts +69 -0
  658. package/theme/layout/service/app.layout.service.ts +307 -307
  659. package/theme/layout/service/app.menu.service.d.ts +22 -0
  660. package/theme/layout/service/app.menu.service.ts +53 -53
  661. package/theme/layout/service/breadcrumb.service.d.ts +10 -0
  662. package/theme/layout/service/breadcrumb.service.ts +14 -14
  663. package/theme/layout/service/interfaces/enum.d.ts +12 -0
  664. package/theme/layout/service/interfaces/enum.ts +13 -13
  665. package/theme/layout/service/interfaces/interfaces.d.ts +131 -0
  666. package/theme/layout/service/interfaces/interfaces.ts +150 -150
  667. package/theme/layout/service/menuchangeevent.d.ts +4 -0
  668. package/theme/layout/service/menuchangeevent.ts +4 -4
  669. package/theme/layout/service/notifications.service.d.ts +12 -0
  670. package/theme/layout/service/notifications.service.ts +26 -26
  671. package/theme/layout/service/search.service.d.ts +11 -0
  672. package/theme/layout/service/search.service.ts +22 -22
  673. package/theme/layout/service/selection-group.service.d.ts +17 -0
  674. package/theme/layout/service/selection-group.service.ts +73 -73
  675. package/theme/ng-package.json +6 -6
  676. package/theme/styles/layout/_animation.scss +53 -53
  677. package/theme/styles/layout/_breadcrumb.scss +31 -31
  678. package/theme/styles/layout/_config.scss +42 -42
  679. package/theme/styles/layout/_content.scss +61 -61
  680. package/theme/styles/layout/_expanded_sidebar.scss +486 -486
  681. package/theme/styles/layout/_fonts.scss +93 -93
  682. package/theme/styles/layout/_layout_dark.scss +5 -5
  683. package/theme/styles/layout/_layout_dim.scss +5 -5
  684. package/theme/styles/layout/_layout_light.scss +5 -5
  685. package/theme/styles/layout/_main.scss +28 -28
  686. package/theme/styles/layout/_profile.scss +10 -10
  687. package/theme/styles/layout/_responsive.scss +153 -153
  688. package/theme/styles/layout/_sidebar_drawer.scss +234 -234
  689. package/theme/styles/layout/_sidebar_horizontal.scss +163 -163
  690. package/theme/styles/layout/_sidebar_reveal.scss +201 -201
  691. package/theme/styles/layout/_sidebar_slim.scss +144 -144
  692. package/theme/styles/layout/_sidebar_slim_plus.scss +168 -168
  693. package/theme/styles/layout/_sidebar_vertical.scss +156 -156
  694. package/theme/styles/layout/_topbar.scss +140 -140
  695. package/theme/styles/layout/_typography.scss +68 -68
  696. package/theme/styles/layout/_utils.scss +24 -24
  697. package/theme/styles/layout/layout.scss +25 -25
  698. package/theme/styles/layout/menutheme/_colorscheme.scss +11 -11
  699. package/theme/styles/layout/menutheme/_menutheme.scss +3 -3
  700. package/theme/styles/layout/menutheme/_primarycolor.scss +16 -16
  701. package/theme/styles/layout/menutheme/_transparent.scss +26 -26
  702. package/theme/styles/layout/preloading.scss +84 -84
  703. package/theme/styles/theme/base/_colors.scss +17 -17
  704. package/theme/styles/theme/base/_common.scss +89 -89
  705. package/theme/styles/theme/base/_components.scss +108 -108
  706. package/theme/styles/theme/base/_mixins.scss +337 -337
  707. package/theme/styles/theme/base/components/button/_button.scss +576 -576
  708. package/theme/styles/theme/base/components/button/_speeddial.scss +96 -96
  709. package/theme/styles/theme/base/components/button/_splitbutton.scss +348 -348
  710. package/theme/styles/theme/base/components/data/_carousel.scss +37 -37
  711. package/theme/styles/theme/base/components/data/_datatable.scss +338 -338
  712. package/theme/styles/theme/base/components/data/_dataview.scss +46 -46
  713. package/theme/styles/theme/base/components/data/_filter.scss +137 -137
  714. package/theme/styles/theme/base/components/data/_orderlist.scss +114 -114
  715. package/theme/styles/theme/base/components/data/_organizationchart.scss +50 -50
  716. package/theme/styles/theme/base/components/data/_paginator.scss +92 -92
  717. package/theme/styles/theme/base/components/data/_picklist.scss +114 -114
  718. package/theme/styles/theme/base/components/data/_table.scss +16 -16
  719. package/theme/styles/theme/base/components/data/_timeline.scss +35 -35
  720. package/theme/styles/theme/base/components/data/_tree.scss +150 -150
  721. package/theme/styles/theme/base/components/data/_treetable.scss +255 -255
  722. package/theme/styles/theme/base/components/data/_virtualscroller.scss +28 -28
  723. package/theme/styles/theme/base/components/file/_fileupload.scss +64 -64
  724. package/theme/styles/theme/base/components/input/_autocomplete.scss +141 -141
  725. package/theme/styles/theme/base/components/input/_calendar.scss +267 -267
  726. package/theme/styles/theme/base/components/input/_cascadeselect.scss +135 -135
  727. package/theme/styles/theme/base/components/input/_checkbox.scss +99 -99
  728. package/theme/styles/theme/base/components/input/_chips.scss +67 -67
  729. package/theme/styles/theme/base/components/input/_colorpicker.scss +19 -19
  730. package/theme/styles/theme/base/components/input/_dropdown.scss +151 -151
  731. package/theme/styles/theme/base/components/input/_editor.scss +122 -122
  732. package/theme/styles/theme/base/components/input/_inputgroup.scss +75 -75
  733. package/theme/styles/theme/base/components/input/_inputmask.scss +16 -16
  734. package/theme/styles/theme/base/components/input/_inputnumber.scss +28 -28
  735. package/theme/styles/theme/base/components/input/_inputswitch.scss +60 -60
  736. package/theme/styles/theme/base/components/input/_inputtext.scss +100 -100
  737. package/theme/styles/theme/base/components/input/_listbox.scss +97 -97
  738. package/theme/styles/theme/base/components/input/_multiselect.scss +177 -177
  739. package/theme/styles/theme/base/components/input/_password.scss +52 -52
  740. package/theme/styles/theme/base/components/input/_radiobutton.scss +78 -78
  741. package/theme/styles/theme/base/components/input/_rating.scss +60 -60
  742. package/theme/styles/theme/base/components/input/_selectbutton.scss +50 -50
  743. package/theme/styles/theme/base/components/input/_slider.scss +75 -75
  744. package/theme/styles/theme/base/components/input/_togglebutton.scss +48 -48
  745. package/theme/styles/theme/base/components/input/_treeselect.scss +139 -139
  746. package/theme/styles/theme/base/components/menu/_breadcrumb.scss +43 -43
  747. package/theme/styles/theme/base/components/menu/_contextmenu.scss +39 -39
  748. package/theme/styles/theme/base/components/menu/_dock.scss +95 -95
  749. package/theme/styles/theme/base/components/menu/_megamenu.scss +55 -55
  750. package/theme/styles/theme/base/components/menu/_menu.scss +37 -37
  751. package/theme/styles/theme/base/components/menu/_menubar.scss +140 -140
  752. package/theme/styles/theme/base/components/menu/_panelmenu.scss +153 -153
  753. package/theme/styles/theme/base/components/menu/_slidemenu.scss +59 -59
  754. package/theme/styles/theme/base/components/menu/_steps.scss +56 -56
  755. package/theme/styles/theme/base/components/menu/_tabmenu.scss +73 -73
  756. package/theme/styles/theme/base/components/menu/_tieredmenu.scss +43 -43
  757. package/theme/styles/theme/base/components/messages/_inlinemessage.scss +69 -69
  758. package/theme/styles/theme/base/components/messages/_message.scss +107 -107
  759. package/theme/styles/theme/base/components/messages/_toast.scss +99 -99
  760. package/theme/styles/theme/base/components/misc/_avatar.scss +30 -30
  761. package/theme/styles/theme/base/components/misc/_badge.scss +48 -48
  762. package/theme/styles/theme/base/components/misc/_chip.scss +42 -42
  763. package/theme/styles/theme/base/components/misc/_inplace.scss +16 -16
  764. package/theme/styles/theme/base/components/misc/_progressbar.scss +17 -17
  765. package/theme/styles/theme/base/components/misc/_scrolltop.scss +25 -25
  766. package/theme/styles/theme/base/components/misc/_skeleton.scss +8 -8
  767. package/theme/styles/theme/base/components/misc/_tag.scss +45 -45
  768. package/theme/styles/theme/base/components/misc/_terminal.scss +12 -12
  769. package/theme/styles/theme/base/components/multimedia/_galleria.scss +155 -155
  770. package/theme/styles/theme/base/components/multimedia/_image.scss +49 -49
  771. package/theme/styles/theme/base/components/overlay/_confirmpopup.scss +70 -70
  772. package/theme/styles/theme/base/components/overlay/_dialog.scss +69 -69
  773. package/theme/styles/theme/base/components/overlay/_overlaypanel.scss +62 -62
  774. package/theme/styles/theme/base/components/overlay/_sidebar.scss +28 -28
  775. package/theme/styles/theme/base/components/overlay/_tooltip.scss +33 -33
  776. package/theme/styles/theme/base/components/panel/_accordion.scss +119 -119
  777. package/theme/styles/theme/base/components/panel/_card.scss +30 -30
  778. package/theme/styles/theme/base/components/panel/_divider.scss +31 -31
  779. package/theme/styles/theme/base/components/panel/_fieldset.scss +47 -47
  780. package/theme/styles/theme/base/components/panel/_panel.scss +77 -77
  781. package/theme/styles/theme/base/components/panel/_scrollpanel.scss +6 -6
  782. package/theme/styles/theme/base/components/panel/_splitter.scss +19 -19
  783. package/theme/styles/theme/base/components/panel/_stepper.scss +200 -200
  784. package/theme/styles/theme/base/components/panel/_tabview.scss +91 -91
  785. package/theme/styles/theme/base/components/panel/_toolbar.scss +11 -11
  786. package/theme/styles/theme/dark/_extensions.scss +134 -134
  787. package/theme/styles/theme/dark/_variables.scss +933 -933
  788. package/theme/styles/theme/dark/indigo/theme.scss +14 -14
  789. package/theme/styles/theme/light/_extensions.scss +116 -116
  790. package/theme/styles/theme/light/_variables.scss +940 -940
  791. package/theme/styles/theme/light/custom/theme.scss +16 -16
  792. package/theme/styles/theme/light/indigo/theme.scss +14 -14
  793. package/ui/autoComplete/src/auto-complete.component.d.ts +31 -0
  794. package/ui/autoComplete/src/interfaces.d.ts +28 -0
  795. package/ui/badge/src/badge.component.d.ts +32 -0
  796. package/ui/button/src/button.component.d.ts +28 -0
  797. package/ui/button/src/split-button.component.d.ts +8 -0
  798. package/ui/calendar/src/calendar.component.d.ts +63 -0
  799. package/ui/charts/index.d.ts +12 -0
  800. package/ui/charts/src/amCharts/column/column-chart.component.d.ts +25 -0
  801. package/ui/charts/src/amCharts/line/line-chart.component.d.ts +26 -0
  802. package/ui/charts/src/amCharts/pie/pie-chart.component.d.ts +24 -0
  803. package/ui/charts/src/highCharts/area/area-chart.component.d.ts +20 -0
  804. package/ui/charts/src/highCharts/bar/bar-chart.component.d.ts +26 -0
  805. package/ui/charts/src/highCharts/column/column-chart.component.d.ts +28 -0
  806. package/ui/charts/src/highCharts/gauge/solid-gauge.component.d.ts +38 -0
  807. package/ui/charts/src/highCharts/heatmap/heatMap-chart.component.d.ts +32 -0
  808. package/ui/charts/src/highCharts/line/line-chart-datetime-axis.component.d.ts +24 -0
  809. package/ui/charts/src/highCharts/line/line-chart-series.component.d.ts +21 -0
  810. package/ui/charts/src/highCharts/line/line-chart.component.d.ts +21 -0
  811. package/ui/charts/src/highCharts/pie/pie-chart.component.d.ts +27 -0
  812. package/ui/charts/src/theme/theme.d.ts +5 -0
  813. package/ui/checkbox/src/check-box.component.d.ts +12 -0
  814. package/ui/checkbox/src/tri-state-checkbox.component.d.ts +9 -0
  815. package/ui/chip/index.d.ts +1 -0
  816. package/ui/chip/src/chip.component.d.ts +34 -0
  817. package/ui/collapse-reorder-list/index.d.ts +1 -0
  818. package/ui/collapse-reorder-list/src/collapse-reorder-list.component.d.ts +21 -0
  819. package/ui/dxEditor/src/dx-editor.component.d.ts +11 -0
  820. package/ui/dxField/src/dx-field.component.d.ts +10 -0
  821. package/ui/editor/src/aril-editor.component.d.ts +28 -0
  822. package/ui/editor/src/types.d.ts +23 -0
  823. package/ui/field/src/field.component.d.ts +30 -0
  824. package/ui/fileUpload/src/file-upload.component.d.ts +49 -0
  825. package/ui/form/index.d.ts +11 -0
  826. package/ui/form/src/form-submit-button.component.d.ts +14 -0
  827. package/ui/form/src/form.component.d.ts +8 -0
  828. package/ui/img-viewer/index.d.ts +1 -0
  829. package/ui/img-viewer/src/img-viewer.component.d.ts +13 -0
  830. package/ui/index.d.ts +1 -0
  831. package/ui/json-diff-comparison/src/json-diff.component.d.ts +13 -0
  832. package/ui/lib/index.d.ts +12 -0
  833. package/ui/lib/src/form/form-error-message.component.d.ts +9 -0
  834. package/ui/lib/src/form/form-error-message.directive.d.ts +14 -0
  835. package/ui/lib/src/form/form-field-builder.d.ts +8 -0
  836. package/ui/lib/src/form/form-validation.d.ts +2 -0
  837. package/ui/lib/src/grid/enum-color-picker.pipe.d.ts +9 -0
  838. package/ui/lib/src/grid/flex-grid.directive.d.ts +6 -0
  839. package/ui/lib/src/input/baseInput.d.ts +7 -0
  840. package/ui/lib/src/input/common-input-validators.service.d.ts +20 -0
  841. package/ui/lib/src/input/dx-input-error-message.pipe.d.ts +11 -0
  842. package/ui/lib/src/input/input-disabled.directive.d.ts +9 -0
  843. package/ui/lib/src/input/input-error-message.pipe.d.ts +10 -0
  844. package/ui/lib/src/input/input-transforms.d.ts +5 -0
  845. package/ui/lib/src/input/value-accessor.directive.d.ts +9 -0
  846. package/ui/loader/src/loader.component.d.ts +5 -0
  847. package/ui/mask/src/mask.component.d.ts +21 -0
  848. package/ui/multiSelect/src/interfaces.d.ts +32 -0
  849. package/ui/multiSelect/src/multi-select.component.d.ts +28 -0
  850. package/ui/number/src/number.component.d.ts +29 -0
  851. package/ui/operation-types-dialog/src/operation-types-dialog.component.d.ts +33 -0
  852. package/ui/overlayPanel/src/overlay-panel.component.d.ts +8 -0
  853. package/ui/panel/src/panel.component.d.ts +14 -0
  854. package/ui/password/src/password.component.d.ts +11 -0
  855. package/ui/pdf-viewer/src/pdf-viewer.component.d.ts +19 -0
  856. package/ui/progressbar/src/progressbar.component.d.ts +8 -0
  857. package/ui/radioButton/src/radio-button.component.d.ts +22 -0
  858. package/ui/relativeDateSelector/index.d.ts +1 -0
  859. package/ui/relativeDateSelector/src/enum.d.ts +26 -0
  860. package/ui/relativeDateSelector/src/relative-date-selector.component.d.ts +61 -0
  861. package/ui/selectBox/src/interfaces.d.ts +32 -0
  862. package/ui/selectBox/src/select-box.component.d.ts +30 -0
  863. package/ui/switch/src/switch.component.d.ts +8 -0
  864. package/ui/table/index.d.ts +35 -0
  865. package/ui/table/src/export-overlay-panel.component.d.ts +39 -0
  866. package/ui/table/src/interfaces.d.ts +145 -0
  867. package/ui/table/src/table-column.component.d.ts +19 -0
  868. package/ui/table/src/table.component.d.ts +107 -0
  869. package/ui/table-expand/index.d.ts +20 -0
  870. package/ui/table-expand/src/table-column.component.d.ts +28 -0
  871. package/ui/table-expand/src/table-expand-area.component.d.ts +14 -0
  872. package/ui/table-expand/src/table.component.d.ts +47 -0
  873. package/ui/tag/index.d.ts +1 -0
  874. package/ui/tag/src/interface.d.ts +1 -0
  875. package/ui/tag/src/tag.component.d.ts +15 -0
  876. package/ui/tagBox/src/tag-box.component.d.ts +17 -0
  877. package/ui/text/src/text.component.d.ts +18 -0
  878. package/ui/textArea/src/text-area.component.d.ts +12 -0
  879. package/ui/toggle-button/index.d.ts +1 -0
  880. package/ui/toggle-button/src/toggle-button.component.d.ts +10 -0
  881. package/ui/tooltip/src/tooltip-component.d.ts +14 -0
  882. package/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.d.ts +21 -0
  883. package/ui/translate-input/src/aril-lang-modal/constants.d.ts +2 -0
  884. package/ui/translate-input/src/aril-translate-input.component.d.ts +26 -0
  885. package/ui/translate-input/src/interface.d.ts +12 -0
  886. package/ui/tree/src/tree.component.d.ts +23 -0
  887. package/ui/treeSelect/src/treeSelect.component.d.ts +23 -0
  888. package/ui/treeTable/src/tree-table.component.d.ts +21 -0
  889. package/ui/value/src/value.component.d.ts +43 -0
  890. package/ui-business/assetPicker/index.d.ts +1 -0
  891. package/ui-business/assetPicker/src/asset-picker.component.d.ts +48 -0
  892. package/ui-business/assetPicker/src/interface.d.ts +74 -0
  893. package/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.d.ts +31 -0
  894. package/ui-business/detailed-overlay-panel/src/interface.d.ts +54 -0
  895. package/ui-business/enumPicker/index.d.ts +1 -0
  896. package/ui-business/enumPicker/src/enum-picker.component.d.ts +47 -0
  897. package/ui-business/enumPicker/src/interface.d.ts +34 -0
  898. package/ui-business/image-viewer/index.d.ts +1 -0
  899. package/ui-business/image-viewer/src/aril-image-viewer.component.d.ts +20 -0
  900. package/ui-business/index.d.ts +1 -0
  901. package/ui-business/multiple-ref-value/src/multiple-ref-value.component.d.ts +16 -0
  902. package/ui-business/notification-templates-dialog/src/interface.d.ts +17 -0
  903. package/ui-business/notification-templates-dialog/src/notification-templates-dialog.component.d.ts +18 -0
  904. package/ui-business/operation-types-dialog/src/operation-types-dialog.component.d.ts +28 -0
  905. package/ui-business/ref-value/src/ref-value.component.d.ts +20 -0
  906. package/ui-business/rolePicker/src/interface.d.ts +44 -0
  907. package/ui-business/rolePicker/src/role-picker.component.d.ts +25 -0
  908. package/ui-business/userPicker/index.d.ts +1 -0
  909. package/ui-business/userPicker/src/interface.d.ts +25 -0
  910. package/ui-business/userPicker/src/user-picker.component.d.ts +18 -0
  911. package/util/block/src/block.d.ts +28 -0
  912. package/util/custom_pages/src/notFound.component.d.ts +5 -0
  913. package/util/directives/src/detail-page-customization/detail-page-customization.directive.d.ts +26 -0
  914. package/util/directives/src/detail-page-customization/index.d.ts +2 -0
  915. package/util/directives/src/detail-page-customization/models.d.ts +53 -0
  916. package/util/directives/src/dialog-component/plugin-dialog.component.d.ts +11 -0
  917. package/util/directives/src/dialog-service/plugin-dialog.service.d.ts +7 -0
  918. package/util/index.d.ts +1 -0
  919. package/util/lib/index.d.ts +5 -0
  920. package/util/lib/src/interfaces.d.ts +41 -0
  921. package/util/lib/src/module-router.d.ts +5 -0
  922. package/util/lib/src/types.d.ts +2290 -0
  923. package/util/lib/src/validators/iban.validator.d.ts +7 -0
  924. package/util/lib/src/validators/identity.validator.d.ts +33 -0
  925. package/util/lib/src/validators/index.d.ts +5 -0
  926. package/util/lib/src/validators/max-array-length.validator.d.ts +7 -0
  927. package/util/lib/src/validators/min-array-length.validator.d.ts +7 -0
  928. package/util/lib/src/validators/tckn.validator.d.ts +7 -0
  929. package/util/lib/src/validators/validators.d.ts +12 -0
  930. package/util/loaders/index.d.ts +1 -0
  931. package/util/loaders/style/style.loader.service.d.ts +13 -0
  932. package/util/pipes/src/distance-to-now.pipe.d.ts +11 -0
  933. package/util/pipes/src/get-column-by-field.pipe.d.ts +11 -0
  934. package/util/pipes/src/parse.pipe.d.ts +7 -0
  935. package/util/pipes/src/round-number.pipe.d.ts +11 -0
  936. package/util/pipes/src/safe.pipe.d.ts +10 -0
  937. package/util/pipes/src/translate-json/index.d.ts +1 -0
  938. package/util/pipes/src/translate-json/translate-json.pipe.d.ts +10 -0
  939. package/util/primitive-extensions/src/date.extensions.d.ts +8 -0
  940. package/util/primitive-extensions/src/number.extensions.d.ts +12 -0
  941. package/util/primitive-extensions/src/string.extensions.d.ts +11 -0
  942. package/util/pub-sub/src/pub-sub.service.d.ts +21 -0
  943. package/util/sync-active-tab-route/src/sync-active-tab-route.directive.d.ts +17 -0
  944. package/util/unwrap/src/unwrap-tag.directive.d.ts +9 -0
  945. package/.eslintrc.json +0 -41
  946. package/boot/config/api/ng-package.json +0 -6
  947. package/boot/config/api/src/api.sample.json +0 -8
  948. package/boot/config/api/src/api.service.ts +0 -91
  949. package/boot/config/api/src/interfaces.ts +0 -65
  950. package/boot/config/apps/ng-package.json +0 -6
  951. package/boot/config/apps/src/apps.service.ts +0 -62
  952. package/boot/config/apps/src/auth.guard.ts +0 -22
  953. package/boot/config/apps/src/interfaces.ts +0 -58
  954. package/boot/config/apps/src/reuse-strategy.ts +0 -10
  955. package/boot/config/apps/src/showdowDOMWrapper.ts +0 -28
  956. package/boot/config/plugins/ng-package.json +0 -6
  957. package/boot/config/plugins/src/getNgZone.ts +0 -7
  958. package/boot/config/plugins/src/interfaces.ts +0 -75
  959. package/boot/config/plugins/src/plugins.service.ts +0 -110
  960. package/boot/config/translate/constants.ts +0 -4
  961. package/boot/config/translate/ng-package.json +0 -6
  962. package/boot/config/translate/primeng/i18n/tr.ts +0 -59
  963. package/boot/host/ng-package.json +0 -6
  964. package/boot/host/src/app.component.ts +0 -51
  965. package/boot/host/src/bootstrap.ts +0 -87
  966. package/boot/index.ts +0 -1
  967. package/boot/mfe/ng-package.json +0 -6
  968. package/boot/mfe/src/app.component.ts +0 -63
  969. package/boot/mfe/src/appComponentLoader.ts +0 -4
  970. package/boot/mfe/src/bootstrap.ts +0 -97
  971. package/boot/mfe/src/loadStyles.ts +0 -42
  972. package/boot/mfe/src/monaco.config.ts +0 -266
  973. package/boot/ng-package.json +0 -6
  974. package/http/index.ts +0 -13
  975. package/http/lib/enums.ts +0 -31
  976. package/http/lib/interfaces.ts +0 -46
  977. package/http/ng-package.json +0 -6
  978. package/http/src/httpBackend.ts +0 -12
  979. package/http/src/httpClient.ts +0 -20
  980. package/http/src/interceptor/accept-language.interceptor.ts +0 -32
  981. package/http/src/serviceBase.ts +0 -175
  982. package/http/src/serviceMockBase.ts +0 -12
  983. package/http/src/serviceRequest.ts +0 -28
  984. package/http/src/serviceStateMethods.ts +0 -211
  985. package/i18n/ng-package.json +0 -6
  986. package/i18n/src/folder-name-token.ts +0 -3
  987. package/i18n/src/i18n.module.ts +0 -11
  988. package/i18n/src/loader.ts +0 -13
  989. package/i18n/src/provideI18n.ts +0 -18
  990. package/i18n/src/provideScope.ts +0 -20
  991. package/keycloak/index.ts +0 -1
  992. package/keycloak/ng-package.json +0 -6
  993. package/keycloak/src/auth.interceptor.ts +0 -103
  994. package/ng-package.json +0 -16
  995. package/project.json +0 -39
  996. package/provider/ng-package.json +0 -6
  997. package/provider/src/index.ts +0 -5
  998. package/provider/src/prodiveHost.ts +0 -15
  999. package/provider/src/prodiveHostRouter.ts +0 -21
  1000. package/provider/src/provideHostKeycloak.ts +0 -34
  1001. package/provider/src/provideLocaleId.ts +0 -22
  1002. package/tsconfig.lib.json +0 -12
  1003. package/tsconfig.lib.prod.json +0 -10
  1004. package/tsconfig.spec.json +0 -9
  1005. package/ui/autoComplete/ng-package.json +0 -6
  1006. package/ui/autoComplete/src/auto-complete.component.html +0 -14
  1007. package/ui/autoComplete/src/auto-complete.component.ts +0 -130
  1008. package/ui/autoComplete/src/interfaces.ts +0 -35
  1009. package/ui/badge/ng-package.json +0 -6
  1010. package/ui/badge/src/badge.component.html +0 -11
  1011. package/ui/badge/src/badge.component.ts +0 -63
  1012. package/ui/button/ng-package.json +0 -6
  1013. package/ui/button/src/button.component.html +0 -12
  1014. package/ui/button/src/button.component.ts +0 -47
  1015. package/ui/button/src/split-button.component.html +0 -2
  1016. package/ui/button/src/split-button.component.ts +0 -17
  1017. package/ui/calendar/ng-package.json +0 -6
  1018. package/ui/calendar/src/calendar.component.html +0 -48
  1019. package/ui/calendar/src/calendar.component.ts +0 -257
  1020. package/ui/charts/index.ts +0 -13
  1021. package/ui/charts/ng-package.json +0 -6
  1022. package/ui/charts/src/amCharts/column/column-chart.component.ts +0 -144
  1023. package/ui/charts/src/amCharts/line/line-chart.component.ts +0 -194
  1024. package/ui/charts/src/amCharts/pie/pie-chart.component.ts +0 -132
  1025. package/ui/charts/src/highCharts/area/area-chart.component.ts +0 -112
  1026. package/ui/charts/src/highCharts/bar/bar-chart.component.ts +0 -100
  1027. package/ui/charts/src/highCharts/bar/bar-chart.components.scss +0 -50
  1028. package/ui/charts/src/highCharts/column/column-chart.component copy.ts +0 -50
  1029. package/ui/charts/src/highCharts/column/column-chart.component.ts +0 -125
  1030. package/ui/charts/src/highCharts/column/column-chart.components.scss +0 -50
  1031. package/ui/charts/src/highCharts/gauge/solid-gauge.component.ts +0 -199
  1032. package/ui/charts/src/highCharts/heatmap/heatMap-chart.component.ts +0 -279
  1033. package/ui/charts/src/highCharts/line/line-chart-datetime-axis.component.ts +0 -185
  1034. package/ui/charts/src/highCharts/line/line-chart-series.component.ts +0 -92
  1035. package/ui/charts/src/highCharts/line/line-chart.component.ts +0 -85
  1036. package/ui/charts/src/highCharts/pie/pie-chart.component.ts +0 -139
  1037. package/ui/charts/src/theme/theme.ts +0 -55
  1038. package/ui/checkbox/ng-package.json +0 -6
  1039. package/ui/checkbox/src/check-box.component.html +0 -15
  1040. package/ui/checkbox/src/check-box.component.ts +0 -24
  1041. package/ui/checkbox/src/tri-state-checkbox.component.html +0 -7
  1042. package/ui/checkbox/src/tri-state-checkbox.component.ts +0 -20
  1043. package/ui/chip/index.ts +0 -1
  1044. package/ui/chip/ng-package.json +0 -6
  1045. package/ui/chip/src/chip.component.html +0 -33
  1046. package/ui/chip/src/chip.component.ts +0 -144
  1047. package/ui/collapse-reorder-list/index.ts +0 -1
  1048. package/ui/collapse-reorder-list/ng-package.json +0 -6
  1049. package/ui/collapse-reorder-list/src/collapse-reorder-list.component.html +0 -42
  1050. package/ui/collapse-reorder-list/src/collapse-reorder-list.component.scss +0 -24
  1051. package/ui/collapse-reorder-list/src/collapse-reorder-list.component.ts +0 -56
  1052. package/ui/dxEditor/ng-package.json +0 -6
  1053. package/ui/dxEditor/src/dx-editor.component.html +0 -67
  1054. package/ui/dxEditor/src/dx-editor.component.ts +0 -19
  1055. package/ui/dxField/ng-package.json +0 -6
  1056. package/ui/dxField/src/dx-field.component.html +0 -15
  1057. package/ui/dxField/src/dx-field.component.ts +0 -17
  1058. package/ui/editor/ng-package.json +0 -6
  1059. package/ui/editor/src/aril-editor.component.html +0 -16
  1060. package/ui/editor/src/aril-editor.component.scss +0 -18
  1061. package/ui/editor/src/aril-editor.component.ts +0 -176
  1062. package/ui/editor/src/types.ts +0 -24
  1063. package/ui/field/ng-package.json +0 -6
  1064. package/ui/field/src/field.component.html +0 -27
  1065. package/ui/field/src/field.component.ts +0 -53
  1066. package/ui/fileUpload/ng-package.json +0 -6
  1067. package/ui/fileUpload/src/file-upload.component.html +0 -76
  1068. package/ui/fileUpload/src/file-upload.component.ts +0 -90
  1069. package/ui/form/index.ts +0 -18
  1070. package/ui/form/ng-package.json +0 -6
  1071. package/ui/form/src/form-submit-button.component.html +0 -12
  1072. package/ui/form/src/form-submit-button.component.ts +0 -36
  1073. package/ui/form/src/form.component.ts +0 -20
  1074. package/ui/img-viewer/index.ts +0 -2
  1075. package/ui/img-viewer/ng-package.json +0 -6
  1076. package/ui/img-viewer/src/img-viewer.component.html +0 -12
  1077. package/ui/img-viewer/src/img-viewer.component.scss +0 -8
  1078. package/ui/img-viewer/src/img-viewer.component.ts +0 -59
  1079. package/ui/index.ts +0 -1
  1080. package/ui/json-diff-comparison/ng-package.json +0 -6
  1081. package/ui/json-diff-comparison/src/json-diff.component.html +0 -5
  1082. package/ui/json-diff-comparison/src/json-diff.component.ts +0 -45
  1083. package/ui/lib/index.ts +0 -17
  1084. package/ui/lib/ng-package.json +0 -6
  1085. package/ui/lib/src/form/form-error-message.component.ts +0 -25
  1086. package/ui/lib/src/form/form-error-message.directive.ts +0 -32
  1087. package/ui/lib/src/form/form-field-builder.ts +0 -31
  1088. package/ui/lib/src/form/form-validation.ts +0 -14
  1089. package/ui/lib/src/grid/enum-color-picker.pipe.ts +0 -33
  1090. package/ui/lib/src/grid/flex-grid.directive.ts +0 -10
  1091. package/ui/lib/src/input/baseInput.ts +0 -30
  1092. package/ui/lib/src/input/common-input-validators.service.ts +0 -57
  1093. package/ui/lib/src/input/dx-input-error-message.pipe.ts +0 -16
  1094. package/ui/lib/src/input/input-disabled.directive.ts +0 -15
  1095. package/ui/lib/src/input/input-error-message.pipe.ts +0 -71
  1096. package/ui/lib/src/input/input-transforms.ts +0 -11
  1097. package/ui/lib/src/input/value-accessor.directive.ts +0 -31
  1098. package/ui/loader/ng-package.json +0 -6
  1099. package/ui/loader/src/loader.component.html +0 -7
  1100. package/ui/loader/src/loader.component.scss +0 -6
  1101. package/ui/loader/src/loader.component.ts +0 -14
  1102. package/ui/mask/ng-package.json +0 -6
  1103. package/ui/mask/src/mask.component.css +0 -23
  1104. package/ui/mask/src/mask.component.html +0 -17
  1105. package/ui/mask/src/mask.component.ts +0 -34
  1106. package/ui/multiSelect/ng-package.json +0 -6
  1107. package/ui/multiSelect/src/interfaces.ts +0 -41
  1108. package/ui/multiSelect/src/multi-select.component.html +0 -14
  1109. package/ui/multiSelect/src/multi-select.component.ts +0 -66
  1110. package/ui/ng-package.json +0 -6
  1111. package/ui/number/ng-package.json +0 -6
  1112. package/ui/number/src/number.component.html +0 -26
  1113. package/ui/number/src/number.component.ts +0 -36
  1114. package/ui/operation-types-dialog/ng-package.json +0 -6
  1115. package/ui/operation-types-dialog/src/operation-types-dialog.component.ts +0 -98
  1116. package/ui/overlayPanel/ng-package.json +0 -6
  1117. package/ui/overlayPanel/src/overlay-panel.component.html +0 -5
  1118. package/ui/overlayPanel/src/overlay-panel.component.ts +0 -16
  1119. package/ui/panel/ng-package.json +0 -6
  1120. package/ui/panel/src/panel.component.css +0 -38
  1121. package/ui/panel/src/panel.component.html +0 -44
  1122. package/ui/panel/src/panel.component.ts +0 -31
  1123. package/ui/password/ng-package.json +0 -6
  1124. package/ui/password/src/password.component.html +0 -25
  1125. package/ui/password/src/password.component.ts +0 -22
  1126. package/ui/pdf-viewer/ng-package.json +0 -6
  1127. package/ui/pdf-viewer/src/pdf-viewer.component.html +0 -16
  1128. package/ui/pdf-viewer/src/pdf-viewer.component.scss +0 -8
  1129. package/ui/pdf-viewer/src/pdf-viewer.component.ts +0 -28
  1130. package/ui/progressbar/dist/index.js +0 -13
  1131. package/ui/progressbar/ng-package.json +0 -6
  1132. package/ui/progressbar/src/dist/progressbar.component.js +0 -28
  1133. package/ui/progressbar/src/progressbar.component.html +0 -1
  1134. package/ui/progressbar/src/progressbar.component.ts +0 -18
  1135. package/ui/radioButton/ng-package.json +0 -6
  1136. package/ui/radioButton/src/radio-button.component.html +0 -23
  1137. package/ui/radioButton/src/radio-button.component.scss +0 -17
  1138. package/ui/radioButton/src/radio-button.component.ts +0 -39
  1139. package/ui/relativeDateSelector/index.ts +0 -1
  1140. package/ui/relativeDateSelector/ng-package.json +0 -6
  1141. package/ui/relativeDateSelector/src/enum.ts +0 -29
  1142. package/ui/relativeDateSelector/src/relative-date-selector.component.html +0 -118
  1143. package/ui/relativeDateSelector/src/relative-date-selector.component.scss +0 -154
  1144. package/ui/relativeDateSelector/src/relative-date-selector.component.ts +0 -291
  1145. package/ui/selectBox/ng-package.json +0 -6
  1146. package/ui/selectBox/src/interfaces.ts +0 -41
  1147. package/ui/selectBox/src/select-box.component.html +0 -19
  1148. package/ui/selectBox/src/select-box.component.ts +0 -79
  1149. package/ui/styles/ui.common.scss +0 -42
  1150. package/ui/switch/ng-package.json +0 -6
  1151. package/ui/switch/src/switch.component.html +0 -7
  1152. package/ui/switch/src/switch.component.ts +0 -18
  1153. package/ui/table/index.ts +0 -76
  1154. package/ui/table/ng-package.json +0 -6
  1155. package/ui/table/src/export-overlay-panel.component.ts +0 -330
  1156. package/ui/table/src/interfaces.ts +0 -162
  1157. package/ui/table/src/table-column.component.ts +0 -22
  1158. package/ui/table/src/table.component.html +0 -404
  1159. package/ui/table/src/table.component.scss +0 -15
  1160. package/ui/table/src/table.component.ts +0 -368
  1161. package/ui/table-expand/index.ts +0 -41
  1162. package/ui/table-expand/ng-package.json +0 -6
  1163. package/ui/table-expand/src/table-column.component.ts +0 -32
  1164. package/ui/table-expand/src/table-expand-area.component.ts +0 -18
  1165. package/ui/table-expand/src/table.component.html +0 -101
  1166. package/ui/table-expand/src/table.component.ts +0 -92
  1167. package/ui/tag/index.ts +0 -1
  1168. package/ui/tag/ng-package.json +0 -6
  1169. package/ui/tag/src/interface.ts +0 -1
  1170. package/ui/tag/src/tag.component.html +0 -9
  1171. package/ui/tag/src/tag.component.ts +0 -17
  1172. package/ui/tagBox/ng-package.json +0 -6
  1173. package/ui/tagBox/src/tag-box.component.html +0 -26
  1174. package/ui/tagBox/src/tag-box.component.ts +0 -56
  1175. package/ui/text/ng-package.json +0 -6
  1176. package/ui/text/src/text.component.html +0 -21
  1177. package/ui/text/src/text.component.ts +0 -55
  1178. package/ui/textArea/ng-package.json +0 -6
  1179. package/ui/textArea/src/text-area.component.html +0 -12
  1180. package/ui/textArea/src/text-area.component.ts +0 -22
  1181. package/ui/toggle-button/index.ts +0 -1
  1182. package/ui/toggle-button/ng-package.json +0 -6
  1183. package/ui/toggle-button/src/toggle-button.component.html +0 -13
  1184. package/ui/toggle-button/src/toggle-button.component.scss +0 -19
  1185. package/ui/toggle-button/src/toggle-button.component.ts +0 -22
  1186. package/ui/tooltip/ng-package.json +0 -6
  1187. package/ui/tooltip/src/tooltip-component.html +0 -10
  1188. package/ui/tooltip/src/tooltip-component.ts +0 -20
  1189. package/ui/translate-input/ng-package.json +0 -6
  1190. package/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.html +0 -46
  1191. package/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.scss +0 -9
  1192. package/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.ts +0 -74
  1193. package/ui/translate-input/src/aril-lang-modal/constants.ts +0 -16
  1194. package/ui/translate-input/src/aril-translate-input.component.ts +0 -152
  1195. package/ui/translate-input/src/interface.ts +0 -14
  1196. package/ui/tree/ng-package.json +0 -6
  1197. package/ui/tree/src/tree.component.html +0 -17
  1198. package/ui/tree/src/tree.component.ts +0 -65
  1199. package/ui/treeSelect/ng-package.json +0 -6
  1200. package/ui/treeSelect/src/treeSelect.component.html +0 -18
  1201. package/ui/treeSelect/src/treeSelect.component.ts +0 -43
  1202. package/ui/treeTable/ng-package.json +0 -6
  1203. package/ui/treeTable/src/tree-table.component.html +0 -88
  1204. package/ui/treeTable/src/tree-table.component.ts +0 -57
  1205. package/ui/value/ng-package.json +0 -6
  1206. package/ui/value/src/value.component.html +0 -94
  1207. package/ui/value/src/value.component.scss +0 -6
  1208. package/ui/value/src/value.component.ts +0 -268
  1209. package/ui-business/assetPicker/index.ts +0 -1
  1210. package/ui-business/assetPicker/ng-package.json +0 -6
  1211. package/ui-business/assetPicker/src/asset-picker.component.html +0 -29
  1212. package/ui-business/assetPicker/src/asset-picker.component.ts +0 -259
  1213. package/ui-business/assetPicker/src/interface.ts +0 -83
  1214. package/ui-business/detailed-overlay-panel/ng-package.json +0 -6
  1215. package/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.html +0 -52
  1216. package/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.scss +0 -19
  1217. package/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.ts +0 -66
  1218. package/ui-business/detailed-overlay-panel/src/interface.ts +0 -62
  1219. package/ui-business/enumPicker/index.ts +0 -1
  1220. package/ui-business/enumPicker/ng-package.json +0 -6
  1221. package/ui-business/enumPicker/src/enum-picker.component.html +0 -39
  1222. package/ui-business/enumPicker/src/enum-picker.component.ts +0 -147
  1223. package/ui-business/enumPicker/src/interface.ts +0 -44
  1224. package/ui-business/image-viewer/index.ts +0 -1
  1225. package/ui-business/image-viewer/ng-package.json +0 -6
  1226. package/ui-business/image-viewer/src/aril-image-viewer.component.ts +0 -92
  1227. package/ui-business/index.ts +0 -1
  1228. package/ui-business/multiple-ref-value/ng-package.json +0 -6
  1229. package/ui-business/multiple-ref-value/src/multiple-ref-value.component.html +0 -26
  1230. package/ui-business/multiple-ref-value/src/multiple-ref-value.component.ts +0 -21
  1231. package/ui-business/ng-package.json +0 -6
  1232. package/ui-business/notification-templates-dialog/ng-package.json +0 -6
  1233. package/ui-business/notification-templates-dialog/src/interface.ts +0 -18
  1234. package/ui-business/notification-templates-dialog/src/notification-templates-dialog.component.html +0 -31
  1235. package/ui-business/notification-templates-dialog/src/notification-templates-dialog.component.ts +0 -69
  1236. package/ui-business/operation-types-dialog/ng-package.json +0 -6
  1237. package/ui-business/operation-types-dialog/src/operation-types-dialog.component.ts +0 -78
  1238. package/ui-business/ref-value/ng-package.json +0 -6
  1239. package/ui-business/ref-value/src/ref-value.component.html +0 -29
  1240. package/ui-business/ref-value/src/ref-value.component.ts +0 -41
  1241. package/ui-business/rolePicker/ng-package.json +0 -6
  1242. package/ui-business/rolePicker/src/interface.ts +0 -56
  1243. package/ui-business/rolePicker/src/role-picker.component.html +0 -21
  1244. package/ui-business/rolePicker/src/role-picker.component.ts +0 -88
  1245. package/ui-business/userPicker/index.ts +0 -1
  1246. package/ui-business/userPicker/ng-package.json +0 -6
  1247. package/ui-business/userPicker/src/interface.ts +0 -27
  1248. package/ui-business/userPicker/src/user-picker.component.html +0 -20
  1249. package/ui-business/userPicker/src/user-picker.component.ts +0 -52
  1250. package/util/block/ng-package.json +0 -6
  1251. package/util/block/src/block.ts +0 -65
  1252. package/util/block/src/blockui.css +0 -56
  1253. package/util/block/src/blockui.min.js +0 -7
  1254. package/util/custom_pages/ng-package.json +0 -6
  1255. package/util/custom_pages/src/notFound.component.ts +0 -34
  1256. package/util/directives/ng-package.json +0 -6
  1257. package/util/directives/src/detail-page-customization/detail-page-customization.directive.md +0 -199
  1258. package/util/directives/src/detail-page-customization/detail-page-customization.directive.ts +0 -343
  1259. package/util/directives/src/detail-page-customization/index.ts +0 -2
  1260. package/util/directives/src/detail-page-customization/models.ts +0 -61
  1261. package/util/directives/src/dialog-component/plugin-dialog.component.ts +0 -22
  1262. package/util/directives/src/dialog-service/plugin-dialog.service.ts +0 -12
  1263. package/util/index.ts +0 -1
  1264. package/util/lib/index.ts +0 -4
  1265. package/util/lib/ng-package.json +0 -6
  1266. package/util/lib/src/interfaces.ts +0 -44
  1267. package/util/lib/src/module-router.ts +0 -9
  1268. package/util/lib/src/types.ts +0 -61
  1269. package/util/lib/src/validators/iban.validator.ts +0 -202
  1270. package/util/lib/src/validators/index.ts +0 -4
  1271. package/util/lib/src/validators/max-array-length.validator.ts +0 -18
  1272. package/util/lib/src/validators/min-array-length.validator.ts +0 -18
  1273. package/util/lib/src/validators/tckn.validator.ts +0 -55
  1274. package/util/lib/src/validators/validators.ts +0 -21
  1275. package/util/loaders/index.ts +0 -1
  1276. package/util/loaders/ng-package.json +0 -6
  1277. package/util/loaders/style/style.loader.service.ts +0 -69
  1278. package/util/ng-package.json +0 -6
  1279. package/util/pipes/ng-package.json +0 -6
  1280. package/util/pipes/src/distance-to-now.pipe.ts +0 -37
  1281. package/util/pipes/src/get-column-by-field.pipe.ts +0 -11
  1282. package/util/pipes/src/parse.pipe.ts +0 -15
  1283. package/util/pipes/src/round-number.pipe.ts +0 -75
  1284. package/util/pipes/src/safe.pipe.ts +0 -27
  1285. package/util/pipes/src/translate-json/index.ts +0 -1
  1286. package/util/pipes/src/translate-json/translate-json.pipe.ts +0 -34
  1287. package/util/primitive-extensions/ng-package.json +0 -6
  1288. package/util/primitive-extensions/src/date.extensions.ts +0 -135
  1289. package/util/primitive-extensions/src/number.extensions.ts +0 -57
  1290. package/util/primitive-extensions/src/string.extensions.ts +0 -39
  1291. package/util/pub-sub/ng-package.json +0 -6
  1292. package/util/pub-sub/src/pub-sub.service.ts +0 -35
  1293. package/util/sync-active-tab-route/ng-package.json +0 -6
  1294. package/util/sync-active-tab-route/src/sync-active-tab-route.directive.ts +0 -47
  1295. package/util/unwrap/ng-package.json +0 -6
  1296. package/util/unwrap/src/unwrap-tag.directive.ts +0 -18
  1297. /package/boot/config/api/{index.ts → index.d.ts} +0 -0
  1298. /package/boot/config/apps/{index.ts → index.d.ts} +0 -0
  1299. /package/boot/config/plugins/{index.ts → index.d.ts} +0 -0
  1300. /package/boot/config/translate/{index.ts → index.d.ts} +0 -0
  1301. /package/boot/host/{index.ts → index.d.ts} +0 -0
  1302. /package/boot/mfe/{index.ts → index.d.ts} +0 -0
  1303. /package/i18n/{index.ts → index.d.ts} +0 -0
  1304. /package/provider/{index.ts → index.d.ts} +0 -0
  1305. /package/{public-api.ts → public-api.d.ts} +0 -0
  1306. /package/ui/autoComplete/{index.ts → index.d.ts} +0 -0
  1307. /package/ui/badge/{index.ts → index.d.ts} +0 -0
  1308. /package/ui/button/{index.ts → index.d.ts} +0 -0
  1309. /package/ui/calendar/{index.ts → index.d.ts} +0 -0
  1310. /package/ui/checkbox/{index.ts → index.d.ts} +0 -0
  1311. /package/ui/dxEditor/{index.ts → index.d.ts} +0 -0
  1312. /package/ui/dxField/{index.ts → index.d.ts} +0 -0
  1313. /package/ui/editor/{index.ts → index.d.ts} +0 -0
  1314. /package/ui/field/{index.ts → index.d.ts} +0 -0
  1315. /package/ui/fileUpload/{index.ts → index.d.ts} +0 -0
  1316. /package/ui/json-diff-comparison/{index.ts → index.d.ts} +0 -0
  1317. /package/ui/loader/{index.ts → index.d.ts} +0 -0
  1318. /package/ui/mask/{index.ts → index.d.ts} +0 -0
  1319. /package/ui/multiSelect/{index.ts → index.d.ts} +0 -0
  1320. /package/ui/number/{index.ts → index.d.ts} +0 -0
  1321. /package/ui/operation-types-dialog/{index.ts → index.d.ts} +0 -0
  1322. /package/ui/overlayPanel/{index.ts → index.d.ts} +0 -0
  1323. /package/ui/panel/{index.ts → index.d.ts} +0 -0
  1324. /package/ui/password/{index.ts → index.d.ts} +0 -0
  1325. /package/ui/pdf-viewer/{index.ts → index.d.ts} +0 -0
  1326. /package/ui/progressbar/{index.ts → index.d.ts} +0 -0
  1327. /package/ui/radioButton/{index.ts → index.d.ts} +0 -0
  1328. /package/ui/selectBox/{index.ts → index.d.ts} +0 -0
  1329. /package/ui/switch/{index.ts → index.d.ts} +0 -0
  1330. /package/ui/tagBox/{index.ts → index.d.ts} +0 -0
  1331. /package/ui/text/{index.ts → index.d.ts} +0 -0
  1332. /package/ui/textArea/{index.ts → index.d.ts} +0 -0
  1333. /package/ui/tooltip/{index.ts → index.d.ts} +0 -0
  1334. /package/ui/translate-input/{index.ts → index.d.ts} +0 -0
  1335. /package/ui/tree/{index.ts → index.d.ts} +0 -0
  1336. /package/ui/treeSelect/{index.ts → index.d.ts} +0 -0
  1337. /package/ui/treeTable/{index.ts → index.d.ts} +0 -0
  1338. /package/ui/value/{index.ts → index.d.ts} +0 -0
  1339. /package/ui-business/detailed-overlay-panel/{index.ts → index.d.ts} +0 -0
  1340. /package/ui-business/multiple-ref-value/{index.ts → index.d.ts} +0 -0
  1341. /package/ui-business/notification-templates-dialog/{index.ts → index.d.ts} +0 -0
  1342. /package/ui-business/operation-types-dialog/{index.ts → index.d.ts} +0 -0
  1343. /package/ui-business/ref-value/{index.ts → index.d.ts} +0 -0
  1344. /package/ui-business/rolePicker/{index.ts → index.d.ts} +0 -0
  1345. /package/util/block/{index.ts → index.d.ts} +0 -0
  1346. /package/util/custom_pages/{index.ts → index.d.ts} +0 -0
  1347. /package/util/directives/{index.ts → index.d.ts} +0 -0
  1348. /package/util/pipes/{index.ts → index.d.ts} +0 -0
  1349. /package/util/primitive-extensions/{index.ts → index.d.ts} +0 -0
  1350. /package/util/primitive-extensions/src/{boolean.extensions.ts → boolean.extensions.d.ts} +0 -0
  1351. /package/util/pub-sub/{index.ts → index.d.ts} +0 -0
  1352. /package/util/sync-active-tab-route/{index.ts → index.d.ts} +0 -0
  1353. /package/util/unwrap/{index.ts → index.d.ts} +0 -0
@@ -0,0 +1,334 @@
1
+ import { Component, ContentChildren, EventEmitter, Input, Output, ViewChild, effect, input } from '@angular/core';
2
+ import { Table } from 'primeng/table';
3
+ import { ProxyTypes } from 'aril/http';
4
+ import { ExportOverlayPanelComponent } from './export-overlay-panel.component';
5
+ import { ColumnFilterTypeEnum, FilterOperand } from './interfaces';
6
+ import { TableColumnComponent } from './table-column.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ngneat/transloco";
9
+ import * as i2 from "aril/theme/layout";
10
+ import * as i3 from "aril/ui/button";
11
+ import * as i4 from "primeng/api";
12
+ import * as i5 from "aril/ui/calendar";
13
+ import * as i6 from "primeng/icons/check";
14
+ import * as i7 from "primeng/dropdown";
15
+ import * as i8 from "@angular/forms";
16
+ import * as i9 from "primeng/tooltip";
17
+ import * as i10 from "@angular/common";
18
+ import * as i11 from "aril/ui/number";
19
+ import * as i12 from "primeng/sidebar";
20
+ import * as i13 from "primeng/table";
21
+ import * as i14 from "primeng/toast";
22
+ import * as i15 from "aril/ui/value";
23
+ import * as i16 from "./export-overlay-panel.component";
24
+ import * as i17 from "aril/util/pipes";
25
+ /* TODO :
26
+ * server-side-proxy (ProxyTypes.ServerSide)
27
+ * search & colum filter & sort
28
+ * pagination operation
29
+ * Query Signals
30
+ */
31
+ const pageOptions = [5, 10, 20, 50, 100];
32
+ export class TableComponent {
33
+ constructor(translocoService, selectionGroupService) {
34
+ this.translocoService = translocoService;
35
+ this.selectionGroupService = selectionGroupService;
36
+ this.onPageEvent = new EventEmitter();
37
+ this.selectionEvent = new EventEmitter();
38
+ this.lazyLoadEvent = new EventEmitter();
39
+ this.rowReorderEvent = new EventEmitter();
40
+ this.kebabMenuItems = [];
41
+ this.data = input.required();
42
+ this.checkboxSelection = input();
43
+ this.radioButtonSelection = input();
44
+ this.headerCheckboxSelection = input();
45
+ this.pageSize = input(10);
46
+ this.proxy = input(ProxyTypes.Native);
47
+ this.showFooter = input(false);
48
+ this.tAlign = input('left');
49
+ this.selectionMode = input('single');
50
+ this.showSearchTool = input(true);
51
+ this.showExportTool = input(true);
52
+ this.exportFileName = input('');
53
+ this.noDataFoundLabel = input('No Data Found');
54
+ this.tableHeader = input('');
55
+ this.showTableHeader = input(false);
56
+ this.isFirstRowSelected = input(false);
57
+ this.dataKey = input('');
58
+ this.selectedRowsInput = input([]);
59
+ this.isLazy = input(true);
60
+ this.totalRecords = input(0);
61
+ this.paginator = input(true);
62
+ this.paginatorDropdownAppendTo = input('body'); // 'body'| 'myDiv'
63
+ this.isColumnExpandMode = input(false);
64
+ this.isResizableColumns = input(false);
65
+ this.isSortable = input(false);
66
+ this.handledSelectionMode = 'single';
67
+ this.scrollable = input(true);
68
+ this.scrollHeight = input('460px');
69
+ this.sortMode = input('multiple');
70
+ this.showFirstLastIcon = input(true);
71
+ this.rowSelectable = input(() => true);
72
+ this.isShowNoDataFoundMessage = input(true);
73
+ this.reorderableColumns = input(false);
74
+ this.reorderField = input();
75
+ this.showColumnFilters = input(false);
76
+ this.selectionPageOnly = input(false);
77
+ this.openSelectionOnSidebar = input(false);
78
+ // Keeps last clicked sort field and its cycles to enable ASC -> DESC -> NONE
79
+ this.lastSortedField = null;
80
+ this.lastSortOrder = 0; // 1: asc, -1: desc, 0: none / we send 2 for desc to backend but primeng keeps -1
81
+ /**
82
+ * @see {@link ExportOptions}
83
+ */
84
+ this.exportConfig = input();
85
+ this.isAllSelected = true;
86
+ this.pageOptions = pageOptions;
87
+ this.exportColumns = [];
88
+ this.filterValues = {};
89
+ this.requestedEnumKeys = new Set();
90
+ this.ColumnFilterTypeEnum = ColumnFilterTypeEnum;
91
+ this.sidebarVisible = false;
92
+ this.isInitialLoad = true;
93
+ this.toggleExport = (event) => this.exportOp.op.toggle(event);
94
+ effect(() => {
95
+ if (this.isFirstRowSelected() && this.data()) {
96
+ this.selectedRows = this.data()[0];
97
+ this.selectionEvent.emit(this.selectedRows);
98
+ }
99
+ });
100
+ effect(() => {
101
+ if (this.selectedRowsInput()) {
102
+ this.selectedRows = this.selectedRowsInput();
103
+ }
104
+ });
105
+ effect(() => {
106
+ if (this.checkboxSelection() || this.radioButtonSelection())
107
+ this.handledSelectionMode = null;
108
+ else
109
+ this.handledSelectionMode = this.selectionMode();
110
+ });
111
+ effect(() => {
112
+ if (this.data()?.length == 10)
113
+ this.tableRef.rows = 10;
114
+ });
115
+ }
116
+ ngOnChanges(changes) {
117
+ if (changes['data'] && changes['data'].currentValue !== changes['data'].previousValue) {
118
+ if (this.isInitialLoad) {
119
+ this.isInitialLoad = false;
120
+ return;
121
+ }
122
+ }
123
+ }
124
+ get currentPageReportText() {
125
+ const total = this.translocoService.translate('table.total');
126
+ const record = this.translocoService.translate('table.records');
127
+ const page = this.translocoService.translate('table.page');
128
+ return `${total} : {totalRecords} ${record} | ${page} : {currentPage} / {totalPages}`;
129
+ }
130
+ handleLazyLoadEvent(event) {
131
+ const sortField = event.multiSortMeta?.length ? event.multiSortMeta[0] : null;
132
+ const arilFilters = this.convertPrimeNgFiltersToStandard(event.filters);
133
+ const newEventData = {
134
+ pager: {
135
+ pageSize: event.rows,
136
+ pageNumber: event.first / event.rows + 1
137
+ },
138
+ sort: sortField?.field ?
139
+ {
140
+ fieldId: sortField?.field,
141
+ direction: sortField?.order === 1 ? 1 : 2 // 1 for asc, 2 for desc
142
+ }
143
+ : null,
144
+ filters: arilFilters
145
+ };
146
+ this.lazyLoadEvent.emit(newEventData);
147
+ }
148
+ clear() {
149
+ this.tableRef.value = [];
150
+ this.tableRef.clear();
151
+ this.exportOp.op?.hide();
152
+ }
153
+ rowReorder(event) {
154
+ if (!this.reorderField()) {
155
+ console.error('Reorder field is not defined. Please set the reorderField input.');
156
+ return;
157
+ }
158
+ else if (!(this.reorderField() in this.data()[0])) {
159
+ console.error(`Reorder field "${this.reorderField()}" does not exist in the data items.`);
160
+ return;
161
+ }
162
+ this.data().forEach((item, index) => {
163
+ item[this.reorderField()] = index + 1;
164
+ });
165
+ this.rowReorderEvent.emit(event);
166
+ }
167
+ getFilterValue(field) {
168
+ return this.filterValues[field] || null;
169
+ }
170
+ onFilterChange(value, _filterCallback, field) {
171
+ this.filterValues[field] = value;
172
+ }
173
+ applyFilter(filterCallback, field) {
174
+ const value = this.filterValues[field];
175
+ filterCallback(value);
176
+ }
177
+ clearFilter(filterCallback, field) {
178
+ this.filterValues[field] = null;
179
+ filterCallback(null);
180
+ }
181
+ getEnumOptions(groupName, parentSelectionKey = 'ALL') {
182
+ const key = `${groupName}~${parentSelectionKey}`;
183
+ const group = this.selectionGroupService.selectionGroups()[key];
184
+ if (!group && !this.selectionGroupService.isLoading(key) && !this.requestedEnumKeys.has(key)) {
185
+ this.requestedEnumKeys.add(key);
186
+ this.selectionGroupService.fetchEnum(groupName, parentSelectionKey);
187
+ }
188
+ return (group?.selectionItems?.map((item) => ({
189
+ label: item.selectionDisplay,
190
+ value: item.selectionKey
191
+ })) ?? []);
192
+ }
193
+ convertPrimeNgFiltersToStandard(primeNgFilters) {
194
+ const filters = [];
195
+ if (!primeNgFilters) {
196
+ return filters;
197
+ }
198
+ Object.keys(primeNgFilters).forEach((fieldId) => {
199
+ const fieldFilters = primeNgFilters[fieldId];
200
+ if (Array.isArray(fieldFilters) && fieldFilters.length > 0) {
201
+ fieldFilters.forEach((filter) => {
202
+ if (this.isValidFilterValue(filter.value)) {
203
+ const operand = this.mapMatchModeToOperand(filter.matchMode);
204
+ if (operand) {
205
+ // Handle multiple values for IN/NOT_IN operations
206
+ const processedValue = this.processFilterValue(filter.value, operand);
207
+ filters.push({
208
+ fieldId: isNaN(parseInt(fieldId)) ? fieldId : parseInt(fieldId),
209
+ operand: operand,
210
+ value: processedValue
211
+ });
212
+ }
213
+ }
214
+ });
215
+ }
216
+ });
217
+ return filters;
218
+ }
219
+ isValidFilterValue(value) {
220
+ if (value === null || value === undefined) {
221
+ return false;
222
+ }
223
+ if (Array.isArray(value)) {
224
+ return value.length > 0 && value.some((item) => item !== null && item !== undefined && item !== '');
225
+ }
226
+ if (typeof value === 'string') {
227
+ return value.trim() !== '';
228
+ }
229
+ return true;
230
+ }
231
+ mapMatchModeToOperand(matchMode) {
232
+ const modeMap = {
233
+ equals: FilterOperand.EQ,
234
+ notEquals: FilterOperand.NOT_EQ,
235
+ contains: FilterOperand.LIKE,
236
+ notContains: FilterOperand.NOT_LIKE,
237
+ startsWith: FilterOperand.STARTS,
238
+ endsWith: FilterOperand.ENDS,
239
+ lt: FilterOperand.LT,
240
+ lte: FilterOperand.LTE,
241
+ gt: FilterOperand.GT,
242
+ gte: FilterOperand.GTE,
243
+ in: FilterOperand.IN,
244
+ notIn: FilterOperand.NOT_IN,
245
+ is: FilterOperand.EQ,
246
+ isNot: FilterOperand.NOT_EQ,
247
+ before: FilterOperand.LT,
248
+ after: FilterOperand.GT,
249
+ dateIs: FilterOperand.EQ,
250
+ dateIsNot: FilterOperand.NOT_EQ,
251
+ dateBefore: FilterOperand.LT,
252
+ dateAfter: FilterOperand.GT
253
+ };
254
+ return modeMap[matchMode] || null;
255
+ }
256
+ processFilterValue(value, operand) {
257
+ if (operand === FilterOperand.IN || operand === FilterOperand.NOT_IN) {
258
+ if (!Array.isArray(value)) {
259
+ return [value];
260
+ }
261
+ return value;
262
+ }
263
+ return value;
264
+ }
265
+ onTableSort(event) {
266
+ const field = event?.field ?? event?.multisortmeta?.[0]?.field;
267
+ const order = event?.order ?? event?.multisortmeta?.[0]?.order;
268
+ if (!field || (order !== 1 && order !== -1))
269
+ return;
270
+ if (this.lastSortedField === field && this.lastSortOrder === -1 && order === 1) {
271
+ this.clearSort();
272
+ return;
273
+ }
274
+ this.lastSortedField = field;
275
+ this.lastSortOrder = order;
276
+ }
277
+ clearSort() {
278
+ if (!this.tableRef)
279
+ return;
280
+ this.tableRef.sortField = null;
281
+ this.tableRef.sortOrder = 1;
282
+ this.tableRef.multiSortMeta = [];
283
+ if (this.isLazy()) {
284
+ const meta = this.tableRef.createLazyLoadMetadata();
285
+ meta.multiSortMeta = [];
286
+ meta.sortField = null;
287
+ this.tableRef.onLazyLoad.emit(meta);
288
+ }
289
+ this.lastSortedField = null;
290
+ this.lastSortOrder = 0;
291
+ }
292
+ nextRecord() {
293
+ const idx = this.data().indexOf(this.selectedRows);
294
+ const nextRecord = this.data()[idx + 1];
295
+ if (nextRecord) {
296
+ this.selectedRows = nextRecord;
297
+ }
298
+ }
299
+ prevRecord() {
300
+ const idx = this.data().indexOf(this.selectedRows);
301
+ const prevRecord = this.data()[idx - 1];
302
+ if (prevRecord) {
303
+ this.selectedRows = prevRecord;
304
+ }
305
+ }
306
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TableComponent, deps: [{ token: i1.TranslocoService }, { token: i2.SelectionGroupService }], target: i0.ɵɵFactoryTarget.Component }); }
307
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: TableComponent, selector: "aril-table", inputs: { kebabMenuItems: { classPropertyName: "kebabMenuItems", publicName: "kebabMenuItems", isSignal: false, isRequired: false, transformFunction: null }, expandableFields: { classPropertyName: "expandableFields", publicName: "expandableFields", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, checkboxSelection: { classPropertyName: "checkboxSelection", publicName: "checkboxSelection", isSignal: true, isRequired: false, transformFunction: null }, radioButtonSelection: { classPropertyName: "radioButtonSelection", publicName: "radioButtonSelection", isSignal: true, isRequired: false, transformFunction: null }, headerCheckboxSelection: { classPropertyName: "headerCheckboxSelection", publicName: "headerCheckboxSelection", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, proxy: { classPropertyName: "proxy", publicName: "proxy", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, tAlign: { classPropertyName: "tAlign", publicName: "tAlign", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, showSearchTool: { classPropertyName: "showSearchTool", publicName: "showSearchTool", isSignal: true, isRequired: false, transformFunction: null }, showExportTool: { classPropertyName: "showExportTool", publicName: "showExportTool", isSignal: true, isRequired: false, transformFunction: null }, exportFileName: { classPropertyName: "exportFileName", publicName: "exportFileName", isSignal: true, isRequired: false, transformFunction: null }, noDataFoundLabel: { classPropertyName: "noDataFoundLabel", publicName: "noDataFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, tableHeader: { classPropertyName: "tableHeader", publicName: "tableHeader", isSignal: true, isRequired: false, transformFunction: null }, showTableHeader: { classPropertyName: "showTableHeader", publicName: "showTableHeader", isSignal: true, isRequired: false, transformFunction: null }, isFirstRowSelected: { classPropertyName: "isFirstRowSelected", publicName: "isFirstRowSelected", isSignal: true, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, selectedRowsInput: { classPropertyName: "selectedRowsInput", publicName: "selectedRowsInput", isSignal: true, isRequired: false, transformFunction: null }, isLazy: { classPropertyName: "isLazy", publicName: "isLazy", isSignal: true, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: true, isRequired: false, transformFunction: null }, paginatorDropdownAppendTo: { classPropertyName: "paginatorDropdownAppendTo", publicName: "paginatorDropdownAppendTo", isSignal: true, isRequired: false, transformFunction: null }, isColumnExpandMode: { classPropertyName: "isColumnExpandMode", publicName: "isColumnExpandMode", isSignal: true, isRequired: false, transformFunction: null }, isResizableColumns: { classPropertyName: "isResizableColumns", publicName: "isResizableColumns", isSignal: true, isRequired: false, transformFunction: null }, isSortable: { classPropertyName: "isSortable", publicName: "isSortable", isSignal: true, isRequired: false, transformFunction: null }, scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, sortMode: { classPropertyName: "sortMode", publicName: "sortMode", isSignal: true, isRequired: false, transformFunction: null }, showFirstLastIcon: { classPropertyName: "showFirstLastIcon", publicName: "showFirstLastIcon", isSignal: true, isRequired: false, transformFunction: null }, rowSelectable: { classPropertyName: "rowSelectable", publicName: "rowSelectable", isSignal: true, isRequired: false, transformFunction: null }, isShowNoDataFoundMessage: { classPropertyName: "isShowNoDataFoundMessage", publicName: "isShowNoDataFoundMessage", isSignal: true, isRequired: false, transformFunction: null }, reorderableColumns: { classPropertyName: "reorderableColumns", publicName: "reorderableColumns", isSignal: true, isRequired: false, transformFunction: null }, reorderField: { classPropertyName: "reorderField", publicName: "reorderField", isSignal: true, isRequired: false, transformFunction: null }, showColumnFilters: { classPropertyName: "showColumnFilters", publicName: "showColumnFilters", isSignal: true, isRequired: false, transformFunction: null }, selectionPageOnly: { classPropertyName: "selectionPageOnly", publicName: "selectionPageOnly", isSignal: true, isRequired: false, transformFunction: null }, openSelectionOnSidebar: { classPropertyName: "openSelectionOnSidebar", publicName: "openSelectionOnSidebar", isSignal: true, isRequired: false, transformFunction: null }, exportConfig: { classPropertyName: "exportConfig", publicName: "exportConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPageEvent: "onPageEvent", selectionEvent: "selectionEvent", lazyLoadEvent: "lazyLoadEvent", rowReorderEvent: "rowReorderEvent" }, queries: [{ propertyName: "columns", predicate: TableColumnComponent }], viewQueries: [{ propertyName: "exportOp", first: true, predicate: ExportOverlayPanelComponent, descendants: true }, { propertyName: "tableRef", first: true, predicate: Table, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[dataKey]=\"dataKey()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"!this.isLazy() || this.totalRecords() > 10 ? this.paginator() : false\"\r\n\t[lazy]=\"isLazy()\"\r\n\t[lazyLoadOnInit]=\"false\"\r\n\t[totalRecords]=\"totalRecords()\"\r\n\t[rowsPerPageOptions]=\"[5, 10, 20, 50, 100]\"\r\n\t[rowSelectable]=\"rowSelectable()\"\r\n\t[filterDelay]=\"0\"\r\n\t[sortMode]=\"sortMode()\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(onSort)=\"onTableSort($event)\"\r\n\t(onLazyLoad)=\"handleLazyLoadEvent($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t(onRowSelect)=\"sidebarVisible = true\"\r\n\t(onRowUnselect)=\"sidebarVisible = false\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\t[selectionPageOnly]=\"selectionPageOnly()\"\r\n\t[columnResizeMode]=\"isColumnExpandMode() ? 'expand' : ''\"\r\n\t[resizableColumns]=\"isResizableColumns()\"\r\n\t[currentPageReportTemplate]=\"currentPageReportText\"\r\n\tstyleClass=\"p-datatable-sm\"\r\n\t[paginatorDropdownAppendTo]=\"paginatorDropdownAppendTo()\"\r\n\t[scrollable]=\"scrollable()\"\r\n\t[scrollHeight]=\"scrollHeight()\"\r\n\t[showFirstLastIcon]=\"showFirstLastIcon()\"\r\n\t[reorderableColumns]=\"reorderableColumns()\"\r\n\t(onRowReorder)=\"rowReorder($event)\">\r\n\t<ng-template pTemplate=\"groupheader\" let-item let-rowIndex=\"rowIndex\" let-expanded=\"expanded\">\r\n\t\t<tr pRowGroupHeader style=\"background-color: #f8fafc\">\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">\r\n\t\t\t\t<span class=\"font-bold ml-2\" style=\"color: #6b7280\">{{ item.groupName }}</span>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (reorderableColumns() || radioButtonSelection()) {\r\n\t\t\t\t<th style=\"width: 3rem !important\"></th>\r\n\t\t\t}\r\n\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t@if (headerCheckboxSelection()) {\r\n\t\t\t\t\t\t<p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n\t\t\t\t\t}\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.type() === 'operations') {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">\u0130\u015Flemler</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t@if (isResizableColumns()) {\r\n\t\t\t\t\t\t<th [ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\" pResizableColumn>\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t<span \r\n\t\t\t\t\t\t\t\t\tclass=\"no-wrap-word\"\r\n\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.header().length > 50 ? column.header() : ''\"\r\n\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\">\r\n\t\t\t\t\t\t\t\t\t{{ column.header().length > 50 ? (column.header() | slice:0:50) + '...' : column.header() }}\r\n\t\t\t\t\t\t\t\t </span>\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t@if (isLazy() && isSortable()) {\r\n\t\t\t\t\t\t\t<th\r\n\t\t\t\t\t\t\t\t[pSortableColumn]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t[ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\"\r\n\t\t\t\t\t\t\t\tstyle=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t\t<span \r\n\t\t\t\t\t\t\t\t\t\tclass=\"no-wrap-word\"\r\n\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.header().length > 50 ? column.header() : ''\"\r\n\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\">\r\n\t\t\t\t\t\t\t\t\t\t{{ column.header().length > 50 ? (column.header() | slice:0:50) + '...' : column.header() }}\r\n\t\t\t\t\t\t\t\t </span>\r\n\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-center align-items-center\">\r\n\t\t\t\t\t\t\t\t\t\t@if (column.type() !== 'operations') {\r\n\t\t\t\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t@if (showColumnFilters() && column.showFilter() && column.type() !== 'operations') {\r\n\t\t\t\t\t\t\t\t\t\t\t@switch (column.filterType()) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.TEXT) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.NUMERIC) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"numeric\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showApplyButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClearButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\" let-value>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-number\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxDigits]=\"6\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ngModel]=\"getFilterValue(column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(ngModelChange)=\"onFilterChange($event, filter, column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"w-full\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-end mt-5\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Temizle'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"clearFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Uygula'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"applyFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.DATE) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t@if (column.showTimeInDateFilters()) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"date\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showApplyButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClearButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\" let-value>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-calendar\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ngModel]=\"getFilterValue(column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(ngModelChange)=\"onFilterChange($event, filter, column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"w-6\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showTime]=\"true\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[appendTo]=\"null\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-end mt-5\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Temizle'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"clearFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Uygula'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"applyFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"date\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-calendar [(ngModel)]=\"filter.value\" class=\"w-6\" [appendTo]=\"null\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.BOOLEAN) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter [field]=\"column.field()\" type=\"boolean\" display=\"menu\" class=\"mt-2\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.ENUM) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClearButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showApplyButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[matchModeOptions]=\"[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: 'E\u015Fittir', value: 'equals' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: 'E\u015Fit De\u011Fildir', value: 'notEquals' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: '\u0130\u00E7erir', value: 'contains' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: '\u0130\u00E7ermez', value: 'notContains' }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\" let-value>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p-dropdown\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[options]=\"getEnumOptions(column.enumGroupName(), 'ALL')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ngModel]=\"getFilterValue(column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(onChange)=\"onFilterChange($event.value, filter, column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tappendTo=\"self\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClear]=\"true\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyleClass=\"w-full\"></p-dropdown>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-end mt-5\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Temizle'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"clearFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Uygula'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"applyFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle mt-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</th>\r\n\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t<th [ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\" style=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t\t<span \r\n\t\t\t\t\t\t\t\t\t\tclass=\"no-wrap-word\"\r\n\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.header().length > 50 ? column.header() : ''\"\r\n\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\">\r\n\t\t\t\t\t\t\t\t\t\t{{ column.header().length > 50 ? (column.header() | slice:0:50) + '...' : column.header() }}\r\n\t\t\t\t\t\t\t\t </span>\r\n\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-center align-items-center\">\r\n\t\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle mt-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</th>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\" let-index=\"rowIndex\">\r\n\t\t@if (handledSelectionMode) {\r\n\t\t\t<tr\r\n\t\t\t\t[pSelectableRow]=\"item\"\r\n\t\t\t\t[ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\"\r\n\t\t\t\t[pReorderableRow]=\"index\">\r\n\t\t\t\t@if (reorderableColumns()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<span class=\"pi pi-bars\" pReorderableRowHandle></span>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@if (radioButtonSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t} @else {\r\n\t\t\t<tr [ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\" [pReorderableRow]=\"index\">\r\n\t\t\t\t@if (reorderableColumns()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<span class=\"pi pi-bars\" pReorderableRowHandle></span>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@if (radioButtonSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t}\r\n\t</ng-template>\r\n\r\n\t@if (showFooter()) {\r\n\t\t<ng-template pTemplate=\"summary\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t}\r\n\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">{{ noDataFoundLabel() }}</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n\r\n<aril-export-overlay-panel [exportConfig]=\"exportConfig()!\" [columns]=\"columns\" />\r\n\r\n<p-toast key=\"export-toast\">\r\n\t<ng-template let-message pTemplate=\"message\">\r\n\t\t<span class=\"p-toast-message-icon\">\r\n\t\t\t<CheckIcon />\r\n\t\t</span>\r\n\t\t<div class=\"p-toast-message-text\">\r\n\t\t\t<div class=\"p-toast-summary\">{{ message.summary }}</div>\r\n\t\t\t<div class=\"p-toast-detail\" [innerHTML]=\"message.detail | safe: 'html'\"></div>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-toast>\r\n\r\n@if (openSelectionOnSidebar() && selectionMode() === 'single') {\r\n\t<p-sidebar\r\n\t\t[(visible)]=\"sidebarVisible\"\r\n\t\tposition=\"right\"\r\n\t\t[style]=\"{ 'max-width': '800px', width: '100%' }\"\r\n\t\t(onHide)=\"selectedRows = undefined\"\r\n\t\t[modal]=\"false\">\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<span class=\"font-semibold text-xl\">{{ translocoService.translate('table.sidebarDetailHeader') }}</span>\r\n\t\t</ng-template>\r\n\r\n\t\t@if (sidebarVisible) {\r\n\t\t\t<p-table [value]=\"selectedRows | keyvalue\" [paginator]=\"false\" styleClass=\"p-datatable-sm\">\r\n\t\t\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<th>{{ translocoService.translate('table.field') }}</th>\r\n\t\t\t\t\t\t<th>{{ translocoService.translate('table.value') }}</th>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</ng-template>\r\n\r\n\t\t\t\t<ng-template pTemplate=\"body\" let-item let-index=\"rowIndex\">\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t@if (columns | getColumnByField: item.key; as column) {\r\n\t\t\t\t\t\t\t<td [width]=\"'120px'\">{{ column.header() }}</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t@if (column.type() === 'json' && item.value) {\r\n\t\t\t\t\t\t\t\t\t<div [ngStyle]=\"{ display: 'grid' }\">\r\n\t\t\t\t\t\t\t\t\t\t<pre\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"overflow-y-auto max-h-30rem border-300 border-1 border-round my-2 p-3\"><code>{{item.value | parse | json}}</code></pre>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t} @else if (column.type() === 'long-text' && item.value) {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" [model]=\"item.value\" />\r\n\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[selectedRows]\" [ngForTemplate]=\"column.template\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</p-table>\r\n\t\t}\r\n\r\n\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t<div class=\"flex align-items-center justify-content-between\">\r\n\t\t\t\t<aril-button\r\n\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\ticon=\"ARROW_LEFT\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t[label]=\"translocoService.translate('table.prevRecord')\"\r\n\t\t\t\t\t(clickEvent)=\"prevRecord()\" />\r\n\r\n\t\t\t\t<aril-button\r\n\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\ticon=\"ARROW_RIGHT\"\r\n\t\t\t\t\ticonPos=\"right\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t[label]=\"translocoService.translate('table.nextRecord')\"\r\n\t\t\t\t\t(clickEvent)=\"nextRecord()\" />\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</p-sidebar>\r\n}\r\n", styles: ["::ng-deep aril-table th{min-width:0px!important}::ng-deep .p-datatable .p-datatable-tbody>tr.p-highlight{background-color:#e3f2fd!important;color:#475569!important}.no-wrap-word{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "component", type: i3.ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i5.CalendarComponent, selector: "aril-calendar[ngModel], aril-calendar[formControl], aril-calendar[formControlName]", inputs: ["minDate", "maxDate", "inputStyle", "inputStyleClass", "autoZIndex", "inline", "showIcon", "showTime", "showWeek", "showSeconds", "disabledDates", "numberOfMonthToShow", "appendTo", "dataType", "placeholder", "view", "selectionMode", "rangeConfig", "tabindex", "showOnFocus", "timeOnly", "keepInvalid"] }, { kind: "component", type: i6.CheckIcon, selector: "CheckIcon" }, { kind: "component", type: i7.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i11.NumberComponent, selector: "aril-number[ngModel], aril-number[formControl], aril-number[formControlName]", inputs: ["min", "max", "showButtons", "placeholder", "prefix", "locale", "suffix", "maxlength", "showClear", "useGrouping", "maxDigits", "minDigits", "tabindex", "inputStyle", "buttonLayout"] }, { kind: "component", type: i12.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "component", type: i13.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i13.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i13.RowGroupHeader, selector: "[pRowGroupHeader]" }, { kind: "directive", type: i13.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "directive", type: i13.ResizableColumn, selector: "[pResizableColumn]", inputs: ["pResizableColumnDisabled"] }, { kind: "component", type: i13.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i13.TableRadioButton, selector: "p-tableRadioButton", inputs: ["disabled", "value", "index", "inputId", "name", "ariaLabel"] }, { kind: "component", type: i13.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i13.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "directive", type: i13.ReorderableRowHandle, selector: "[pReorderableRowHandle]" }, { kind: "directive", type: i13.ReorderableRow, selector: "[pReorderableRow]", inputs: ["pReorderableRow", "pReorderableRowDisabled"] }, { kind: "component", type: i13.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "showButtons", "ariaLabel"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i14.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: i15.ValueComponent, selector: "aril-value", inputs: ["model", "type", "format", "isClickable", "groupName", "parentSelectionKey", "isTextClamp", "textClampCharacters", "style", "copyable", "shouldShowCopyForClampedText", "arrayTypeDisplayName", "arrayTypeMaxBadgeCount", "bigDecimalRoundingMode", "bigDecimalScale"] }, { kind: "component", type: i16.ExportOverlayPanelComponent, selector: "aril-export-overlay-panel", inputs: ["exportConfig", "columns"] }, { kind: "pipe", type: i17.GetColumnByFieldPipe, name: "getColumnByField" }, { kind: "pipe", type: i10.JsonPipe, name: "json" }, { kind: "pipe", type: i10.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i17.ParsePipe, name: "parse" }, { kind: "pipe", type: i17.SafePipe, name: "safe" }, { kind: "pipe", type: i10.SlicePipe, name: "slice" }] }); }
308
+ }
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TableComponent, decorators: [{
310
+ type: Component,
311
+ args: [{ selector: 'aril-table', template: "<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[dataKey]=\"dataKey()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"!this.isLazy() || this.totalRecords() > 10 ? this.paginator() : false\"\r\n\t[lazy]=\"isLazy()\"\r\n\t[lazyLoadOnInit]=\"false\"\r\n\t[totalRecords]=\"totalRecords()\"\r\n\t[rowsPerPageOptions]=\"[5, 10, 20, 50, 100]\"\r\n\t[rowSelectable]=\"rowSelectable()\"\r\n\t[filterDelay]=\"0\"\r\n\t[sortMode]=\"sortMode()\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(onSort)=\"onTableSort($event)\"\r\n\t(onLazyLoad)=\"handleLazyLoadEvent($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t(onRowSelect)=\"sidebarVisible = true\"\r\n\t(onRowUnselect)=\"sidebarVisible = false\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\t[selectionPageOnly]=\"selectionPageOnly()\"\r\n\t[columnResizeMode]=\"isColumnExpandMode() ? 'expand' : ''\"\r\n\t[resizableColumns]=\"isResizableColumns()\"\r\n\t[currentPageReportTemplate]=\"currentPageReportText\"\r\n\tstyleClass=\"p-datatable-sm\"\r\n\t[paginatorDropdownAppendTo]=\"paginatorDropdownAppendTo()\"\r\n\t[scrollable]=\"scrollable()\"\r\n\t[scrollHeight]=\"scrollHeight()\"\r\n\t[showFirstLastIcon]=\"showFirstLastIcon()\"\r\n\t[reorderableColumns]=\"reorderableColumns()\"\r\n\t(onRowReorder)=\"rowReorder($event)\">\r\n\t<ng-template pTemplate=\"groupheader\" let-item let-rowIndex=\"rowIndex\" let-expanded=\"expanded\">\r\n\t\t<tr pRowGroupHeader style=\"background-color: #f8fafc\">\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">\r\n\t\t\t\t<span class=\"font-bold ml-2\" style=\"color: #6b7280\">{{ item.groupName }}</span>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (reorderableColumns() || radioButtonSelection()) {\r\n\t\t\t\t<th style=\"width: 3rem !important\"></th>\r\n\t\t\t}\r\n\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t@if (headerCheckboxSelection()) {\r\n\t\t\t\t\t\t<p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n\t\t\t\t\t}\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.type() === 'operations') {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">\u0130\u015Flemler</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t@if (isResizableColumns()) {\r\n\t\t\t\t\t\t<th [ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\" pResizableColumn>\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t<span \r\n\t\t\t\t\t\t\t\t\tclass=\"no-wrap-word\"\r\n\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.header().length > 50 ? column.header() : ''\"\r\n\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\">\r\n\t\t\t\t\t\t\t\t\t{{ column.header().length > 50 ? (column.header() | slice:0:50) + '...' : column.header() }}\r\n\t\t\t\t\t\t\t\t </span>\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t@if (isLazy() && isSortable()) {\r\n\t\t\t\t\t\t\t<th\r\n\t\t\t\t\t\t\t\t[pSortableColumn]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t[ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\"\r\n\t\t\t\t\t\t\t\tstyle=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t\t<span \r\n\t\t\t\t\t\t\t\t\t\tclass=\"no-wrap-word\"\r\n\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.header().length > 50 ? column.header() : ''\"\r\n\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\">\r\n\t\t\t\t\t\t\t\t\t\t{{ column.header().length > 50 ? (column.header() | slice:0:50) + '...' : column.header() }}\r\n\t\t\t\t\t\t\t\t </span>\r\n\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-center align-items-center\">\r\n\t\t\t\t\t\t\t\t\t\t@if (column.type() !== 'operations') {\r\n\t\t\t\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t@if (showColumnFilters() && column.showFilter() && column.type() !== 'operations') {\r\n\t\t\t\t\t\t\t\t\t\t\t@switch (column.filterType()) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.TEXT) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.NUMERIC) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"numeric\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showApplyButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClearButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\" let-value>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-number\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxDigits]=\"6\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ngModel]=\"getFilterValue(column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(ngModelChange)=\"onFilterChange($event, filter, column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"w-full\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-end mt-5\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Temizle'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"clearFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Uygula'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"applyFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.DATE) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t@if (column.showTimeInDateFilters()) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"date\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showApplyButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClearButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\" let-value>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-calendar\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ngModel]=\"getFilterValue(column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(ngModelChange)=\"onFilterChange($event, filter, column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"w-6\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showTime]=\"true\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[appendTo]=\"null\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-end mt-5\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Temizle'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"clearFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Uygula'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"applyFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"date\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-calendar [(ngModel)]=\"filter.value\" class=\"w-6\" [appendTo]=\"null\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.BOOLEAN) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter [field]=\"column.field()\" type=\"boolean\" display=\"menu\" class=\"mt-2\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.ENUM) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClearButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showApplyButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[matchModeOptions]=\"[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: 'E\u015Fittir', value: 'equals' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: 'E\u015Fit De\u011Fildir', value: 'notEquals' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: '\u0130\u00E7erir', value: 'contains' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: '\u0130\u00E7ermez', value: 'notContains' }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\" let-value>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p-dropdown\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[options]=\"getEnumOptions(column.enumGroupName(), 'ALL')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ngModel]=\"getFilterValue(column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(onChange)=\"onFilterChange($event.value, filter, column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tappendTo=\"self\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClear]=\"true\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyleClass=\"w-full\"></p-dropdown>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-end mt-5\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Temizle'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"clearFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Uygula'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"applyFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle mt-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</th>\r\n\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t<th [ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\" style=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t\t<span \r\n\t\t\t\t\t\t\t\t\t\tclass=\"no-wrap-word\"\r\n\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.header().length > 50 ? column.header() : ''\"\r\n\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\">\r\n\t\t\t\t\t\t\t\t\t\t{{ column.header().length > 50 ? (column.header() | slice:0:50) + '...' : column.header() }}\r\n\t\t\t\t\t\t\t\t </span>\r\n\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-center align-items-center\">\r\n\t\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle mt-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</th>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\" let-index=\"rowIndex\">\r\n\t\t@if (handledSelectionMode) {\r\n\t\t\t<tr\r\n\t\t\t\t[pSelectableRow]=\"item\"\r\n\t\t\t\t[ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\"\r\n\t\t\t\t[pReorderableRow]=\"index\">\r\n\t\t\t\t@if (reorderableColumns()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<span class=\"pi pi-bars\" pReorderableRowHandle></span>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@if (radioButtonSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t} @else {\r\n\t\t\t<tr [ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\" [pReorderableRow]=\"index\">\r\n\t\t\t\t@if (reorderableColumns()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<span class=\"pi pi-bars\" pReorderableRowHandle></span>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@if (radioButtonSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t}\r\n\t</ng-template>\r\n\r\n\t@if (showFooter()) {\r\n\t\t<ng-template pTemplate=\"summary\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t}\r\n\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">{{ noDataFoundLabel() }}</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n\r\n<aril-export-overlay-panel [exportConfig]=\"exportConfig()!\" [columns]=\"columns\" />\r\n\r\n<p-toast key=\"export-toast\">\r\n\t<ng-template let-message pTemplate=\"message\">\r\n\t\t<span class=\"p-toast-message-icon\">\r\n\t\t\t<CheckIcon />\r\n\t\t</span>\r\n\t\t<div class=\"p-toast-message-text\">\r\n\t\t\t<div class=\"p-toast-summary\">{{ message.summary }}</div>\r\n\t\t\t<div class=\"p-toast-detail\" [innerHTML]=\"message.detail | safe: 'html'\"></div>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-toast>\r\n\r\n@if (openSelectionOnSidebar() && selectionMode() === 'single') {\r\n\t<p-sidebar\r\n\t\t[(visible)]=\"sidebarVisible\"\r\n\t\tposition=\"right\"\r\n\t\t[style]=\"{ 'max-width': '800px', width: '100%' }\"\r\n\t\t(onHide)=\"selectedRows = undefined\"\r\n\t\t[modal]=\"false\">\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<span class=\"font-semibold text-xl\">{{ translocoService.translate('table.sidebarDetailHeader') }}</span>\r\n\t\t</ng-template>\r\n\r\n\t\t@if (sidebarVisible) {\r\n\t\t\t<p-table [value]=\"selectedRows | keyvalue\" [paginator]=\"false\" styleClass=\"p-datatable-sm\">\r\n\t\t\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<th>{{ translocoService.translate('table.field') }}</th>\r\n\t\t\t\t\t\t<th>{{ translocoService.translate('table.value') }}</th>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</ng-template>\r\n\r\n\t\t\t\t<ng-template pTemplate=\"body\" let-item let-index=\"rowIndex\">\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t@if (columns | getColumnByField: item.key; as column) {\r\n\t\t\t\t\t\t\t<td [width]=\"'120px'\">{{ column.header() }}</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t@if (column.type() === 'json' && item.value) {\r\n\t\t\t\t\t\t\t\t\t<div [ngStyle]=\"{ display: 'grid' }\">\r\n\t\t\t\t\t\t\t\t\t\t<pre\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"overflow-y-auto max-h-30rem border-300 border-1 border-round my-2 p-3\"><code>{{item.value | parse | json}}</code></pre>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t} @else if (column.type() === 'long-text' && item.value) {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" [model]=\"item.value\" />\r\n\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[selectedRows]\" [ngForTemplate]=\"column.template\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</p-table>\r\n\t\t}\r\n\r\n\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t<div class=\"flex align-items-center justify-content-between\">\r\n\t\t\t\t<aril-button\r\n\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\ticon=\"ARROW_LEFT\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t[label]=\"translocoService.translate('table.prevRecord')\"\r\n\t\t\t\t\t(clickEvent)=\"prevRecord()\" />\r\n\r\n\t\t\t\t<aril-button\r\n\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\ticon=\"ARROW_RIGHT\"\r\n\t\t\t\t\ticonPos=\"right\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t[label]=\"translocoService.translate('table.nextRecord')\"\r\n\t\t\t\t\t(clickEvent)=\"nextRecord()\" />\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</p-sidebar>\r\n}\r\n", styles: ["::ng-deep aril-table th{min-width:0px!important}::ng-deep .p-datatable .p-datatable-tbody>tr.p-highlight{background-color:#e3f2fd!important;color:#475569!important}.no-wrap-word{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
312
+ }], ctorParameters: () => [{ type: i1.TranslocoService }, { type: i2.SelectionGroupService }], propDecorators: { onPageEvent: [{
313
+ type: Output
314
+ }], selectionEvent: [{
315
+ type: Output
316
+ }], lazyLoadEvent: [{
317
+ type: Output
318
+ }], rowReorderEvent: [{
319
+ type: Output
320
+ }], columns: [{
321
+ type: ContentChildren,
322
+ args: [TableColumnComponent]
323
+ }], exportOp: [{
324
+ type: ViewChild,
325
+ args: [ExportOverlayPanelComponent]
326
+ }], tableRef: [{
327
+ type: ViewChild,
328
+ args: [Table]
329
+ }], kebabMenuItems: [{
330
+ type: Input
331
+ }], expandableFields: [{
332
+ type: Input
333
+ }] } });
334
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLEtBQUssRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFJNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUd2QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBR04sb0JBQW9CLEVBRXBCLGFBQWEsRUFFYixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVoRTs7Ozs7R0FLRztBQUNILE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBVSxDQUFDO0FBU2xELE1BQU0sT0FBTyxjQUFjO0lBb0UxQixZQUNRLGdCQUFrQyxFQUNqQyxxQkFBNEM7UUFEN0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBckUzQyxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3pELG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDNUQsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FB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dUJBQUMsMkJBQTJCO2dCQUNwQixRQUFRO3NCQUF6QixTQUFTO3VCQUFDLEtBQUs7Z0JBQ1AsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG5cdENvbXBvbmVudCxcclxuXHRDb250ZW50Q2hpbGRyZW4sXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdElucHV0LFxyXG5cdE91dHB1dCxcclxuXHRTaW1wbGVDaGFuZ2VzLFxyXG5cdFZpZXdDaGlsZCxcclxuXHRlZmZlY3QsXHJcblx0aW5wdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBUYWJsZSwgVGFibGVSb3dSZW9yZGVyRXZlbnQgfSBmcm9tICdwcmltZW5nL3RhYmxlJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAbmduZWF0L3RyYW5zbG9jbyc7XHJcblxyXG5pbXBvcnQgeyBQcm94eVR5cGVzIH0gZnJvbSAnYXJpbC9odHRwJztcclxuaW1wb3J0IHsgU2VsZWN0aW9uR3JvdXBTZXJ2aWNlIH0gZnJvbSAnYXJpbC90aGVtZS9sYXlvdXQnO1xyXG5cclxuaW1wb3J0IHsgRXhwb3J0T3ZlcmxheVBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9leHBvcnQtb3ZlcmxheS1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG5cdEFsaWduVHlwZXMsXHJcblx0QXJpbGZpZWxkRmlsdGVyLFxyXG5cdENvbHVtbkZpbHRlclR5cGVFbnVtLFxyXG5cdEV4cG9ydE9wdGlvbnMsXHJcblx0RmlsdGVyT3BlcmFuZCxcclxuXHRUYWJsZUNvbHVtbnNcclxufSBmcm9tICcuL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtY29sdW1uLmNvbXBvbmVudCc7XHJcblxyXG4vKiBUT0RPIDpcclxuICogc2VydmVyLXNpZGUtcHJveHkgKFByb3h5VHlwZXMuU2VydmVyU2lkZSlcclxuICogc2VhcmNoICYgY29sdW0gZmlsdGVyICYgc29ydFxyXG4gKiBwYWdpbmF0aW9uIG9wZXJhdGlvblxyXG4gKiBRdWVyeSBTaWduYWxzXHJcbiAqL1xyXG5jb25zdCBwYWdlT3B0aW9ucyA9IFs1LCAxMCwgMjAsIDUwLCAxMDBdIGFzIGNvbnN0O1xyXG5cclxudHlwZSBTZWxlY3Rpb25UeXBlcyA9ICdzaW5nbGUnIHwgJ211bHRpcGxlJyB8IG51bGw7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FyaWwtdGFibGUnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQge1xyXG5cdEBPdXRwdXQoKSBvblBhZ2VFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRAT3V0cHV0KCkgc2VsZWN0aW9uRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblx0QE91dHB1dCgpIGxhenlMb2FkRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblx0QE91dHB1dCgpIHJvd1Jlb3JkZXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVSb3dSZW9yZGVyRXZlbnQ+KCk7XHJcblx0QENvbnRlbnRDaGlsZHJlbihUYWJsZUNvbHVtbkNvbXBvbmVudCkgY29sdW1ucyE6IFRhYmxlQ29sdW1ucztcclxuXHRAVmlld0NoaWxkKEV4cG9ydE92ZXJsYXlQYW5lbENvbXBvbmVudCkgZXhwb3J0T3AhOiBFeHBvcnRPdmVybGF5UGFuZWxDb21wb25lbnQ7XHJcblx0QFZpZXdDaGlsZChUYWJsZSkgdGFibGVSZWYhOiBUYWJsZTtcclxuXHRASW5wdXQoKSBrZWJhYk1lbnVJdGVtczogTWVudUl0ZW1bXSA9IFtdO1xyXG5cdEBJbnB1dCgpIGV4cGFuZGFibGVGaWVsZHMhOiBzdHJpbmc7XHJcblxyXG5cdGRhdGEgPSBpbnB1dC5yZXF1aXJlZDxhbnlbXT4oKTtcclxuXHRjaGVja2JveFNlbGVjdGlvbiA9IGlucHV0PGJvb2xlYW4+KCk7XHJcblx0cmFkaW9CdXR0b25TZWxlY3Rpb24gPSBpbnB1dDxib29sZWFuPigpO1xyXG5cdGhlYWRlckNoZWNrYm94U2VsZWN0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oKTtcclxuXHRwYWdlU2l6ZSA9IGlucHV0PCh0eXBlb2YgcGFnZU9wdGlvbnMpW251bWJlcl0+KDEwKTtcclxuXHRwcm94eSA9IGlucHV0PFByb3h5VHlwZXM+KFByb3h5VHlwZXMuTmF0aXZlKTtcclxuXHRzaG93Rm9vdGVyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHRBbGlnbiA9IGlucHV0PEFsaWduVHlwZXM+KCdsZWZ0Jyk7XHJcblx0c2VsZWN0aW9uTW9kZSA9IGlucHV0PFNlbGVjdGlvblR5cGVzPignc2luZ2xlJyk7XHJcblx0c2hvd1NlYXJjaFRvb2wgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRzaG93RXhwb3J0VG9vbCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdGV4cG9ydEZpbGVOYW1lID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblx0bm9EYXRhRm91bmRMYWJlbCA9IGlucHV0PHN0cmluZz4oJ05vIERhdGEgRm91bmQnKTtcclxuXHR0YWJsZUhlYWRlciA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdHNob3dUYWJsZUhlYWRlciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRpc0ZpcnN0Um93U2VsZWN0ZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0ZGF0YUtleSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdHNlbGVjdGVkUm93c0lucHV0ID0gaW5wdXQ8YW55PihbXSk7XHJcblx0aXNMYXp5ID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0dG90YWxSZWNvcmRzID0gaW5wdXQ8bnVtYmVyPigwKTtcclxuXHRwYWdpbmF0b3IgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRwYWdpbmF0b3JEcm9wZG93bkFwcGVuZFRvID0gaW5wdXQ8c3RyaW5nPignYm9keScpOyAvLyAnYm9keSd8ICdteURpdidcclxuXHRpc0NvbHVtbkV4cGFuZE1vZGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0aXNSZXNpemFibGVDb2x1bW5zID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGlzU29ydGFibGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0aGFuZGxlZFNlbGVjdGlvbk1vZGU6IFNlbGVjdGlvblR5cGVzID0gJ3NpbmdsZSc7XHJcblx0c2Nyb2xsYWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdHNjcm9sbEhlaWdodCA9IGlucHV0PHN0cmluZz4oJzQ2MHB4Jyk7XHJcblx0c29ydE1vZGUgPSBpbnB1dDwnc2luZ2xlJyB8ICdtdWx0aXBsZSc+KCdtdWx0aXBsZScpO1xyXG5cdHNob3dGaXJzdExhc3RJY29uID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0cm93U2VsZWN0YWJsZSA9IGlucHV0PChyb3dEYXRhOiBhbnkpID0+IGJvb2xlYW4+KCgpID0+IHRydWUpO1xyXG5cdGlzU2hvd05vRGF0YUZvdW5kTWVzc2FnZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdHJlb3JkZXJhYmxlQ29sdW1ucyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRyZW9yZGVyRmllbGQgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblx0c2hvd0NvbHVtbkZpbHRlcnMgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0c2VsZWN0aW9uUGFnZU9ubHkgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0b3BlblNlbGVjdGlvbk9uU2lkZWJhciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcblx0Ly8gS2VlcHMgbGFzdCBjbGlja2VkIHNvcnQgZmllbGQgYW5kIGl0cyBjeWNsZXMgdG8gZW5hYmxlIEFTQyAtPiBERVNDIC0+IE5PTkVcclxuXHRwcml2YXRlIGxhc3RTb3J0ZWRGaWVsZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblx0cHJpdmF0ZSBsYXN0U29ydE9yZGVyOiAxIHwgLTEgfCAwID0gMDsgLy8gMTogYXNjLCAtMTogZGVzYywgMDogbm9uZSAvIHdlIHNlbmQgMiBmb3IgZGVzYyB0byBiYWNrZW5kIGJ1dCBwcmltZW5nIGtlZXBzIC0xXHJcblxyXG5cdC8qKlxyXG5cdCAqIEBzZWUge0BsaW5rIEV4cG9ydE9wdGlvbnN9XHJcblx0ICovXHJcblx0ZXhwb3J0Q29uZmlnID0gaW5wdXQ8RXhwb3J0T3B0aW9ucz4oKTtcclxuXHJcblx0ZmlsdGVyVGV4dCE6IHN0cmluZztcclxuXHRpc0FsbFNlbGVjdGVkID0gdHJ1ZTtcclxuXHRzZWxlY3RlZFJvd3M6IGFueTtcclxuXHRwYWdlT3B0aW9ucyA9IHBhZ2VPcHRpb25zO1xyXG5cdGV4cG9ydENvbHVtbnM6IEFycmF5PHsgdGl0bGU6IHN0cmluZzsgZGF0YUtleTogc3RyaW5nIH0+ID0gW107XHJcblx0ZmlsdGVyVmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IG9iamVjdCB8IG51bGwgfSA9IHt9O1xyXG5cdHByaXZhdGUgcmVxdWVzdGVkRW51bUtleXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcclxuXHRDb2x1bW5GaWx0ZXJUeXBlRW51bSA9IENvbHVtbkZpbHRlclR5cGVFbnVtO1xyXG5cdHNpZGViYXJWaXNpYmxlID0gZmFsc2U7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHVibGljIHRyYW5zbG9jb1NlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2UsXHJcblx0XHRwcml2YXRlIHNlbGVjdGlvbkdyb3VwU2VydmljZTogU2VsZWN0aW9uR3JvdXBTZXJ2aWNlXHJcblx0KSB7XHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5pc0ZpcnN0Um93U2VsZWN0ZWQoKSAmJiB0aGlzLmRhdGEoKSkge1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWRSb3dzID0gdGhpcy5kYXRhKClbMF07XHJcblx0XHRcdFx0dGhpcy5zZWxlY3Rpb25FdmVudC5lbWl0KHRoaXMuc2VsZWN0ZWRSb3dzKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWRSb3dzSW5wdXQoKSkge1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWRSb3dzID0gdGhpcy5zZWxlY3RlZFJvd3NJbnB1dCgpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5jaGVja2JveFNlbGVjdGlvbigpIHx8IHRoaXMucmFkaW9CdXR0b25TZWxlY3Rpb24oKSkgdGhpcy5oYW5kbGVkU2VsZWN0aW9uTW9kZSA9IG51bGw7XHJcblx0XHRcdGVsc2UgdGhpcy5oYW5kbGVkU2VsZWN0aW9uTW9kZSA9IHRoaXMuc2VsZWN0aW9uTW9kZSgpO1xyXG5cdFx0fSk7XHJcblxyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuZGF0YSgpPy5sZW5ndGggPT0gMTApIHRoaXMudGFibGVSZWYucm93cyA9IDEwO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGlzSW5pdGlhbExvYWQgPSB0cnVlO1xyXG5cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcblx0XHRpZiAoY2hhbmdlc1snZGF0YSddICYmIGNoYW5nZXNbJ2RhdGEnXS5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXNbJ2RhdGEnXS5wcmV2aW91c1ZhbHVlKSB7XHJcblx0XHRcdGlmICh0aGlzLmlzSW5pdGlhbExvYWQpIHtcclxuXHRcdFx0XHR0aGlzLmlzSW5pdGlhbExvYWQgPSBmYWxzZTtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGdldCBjdXJyZW50UGFnZVJlcG9ydFRleHQoKTogc3RyaW5nIHtcclxuXHRcdGNvbnN0IHRvdGFsID0gdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndGFibGUudG90YWwnKTtcclxuXHRcdGNvbnN0IHJlY29yZCA9IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3RhYmxlLnJlY29yZHMnKTtcclxuXHRcdGNvbnN0IHBhZ2UgPSB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCd0YWJsZS5wYWdlJyk7XHJcblx0XHRyZXR1cm4gYCR7dG90YWx9IDoge3RvdGFsUmVjb3Jkc30gJHtyZWNvcmR9IHwgJHtwYWdlfSA6IHtjdXJyZW50UGFnZX0gLyB7dG90YWxQYWdlc31gO1xyXG5cdH1cclxuXHJcblx0dG9nZ2xlRXhwb3J0ID0gKGV2ZW50OiBFdmVudCk6IHZvaWQgPT4gdGhpcy5leHBvcnRPcC5vcC50b2dnbGUoZXZlbnQpO1xyXG5cclxuXHRoYW5kbGVMYXp5TG9hZEV2ZW50KGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuXHRcdGNvbnN0IHNvcnRGaWVsZCA9IGV2ZW50Lm11bHRpU29ydE1ldGE/Lmxlbmd0aCA/IGV2ZW50Lm11bHRpU29ydE1ldGFbMF0gOiBudWxsO1xyXG5cdFx0Y29uc3QgYXJpbEZpbHRlcnMgPSB0aGlzLmNvbnZlcnRQcmltZU5nRmlsdGVyc1RvU3RhbmRhcmQoZXZlbnQuZmlsdGVycyk7XHJcblxyXG5cdFx0Y29uc3QgbmV3RXZlbnREYXRhID0ge1xyXG5cdFx0XHRwYWdlcjoge1xyXG5cdFx0XHRcdHBhZ2VTaXplOiBldmVudC5yb3dzLFxyXG5cdFx0XHRcdHBhZ2VOdW1iZXI6IGV2ZW50LmZpcnN0IC8gZXZlbnQucm93cyArIDFcclxuXHRcdFx0fSxcclxuXHRcdFx0c29ydDpcclxuXHRcdFx0XHRzb3J0RmllbGQ/LmZpZWxkID9cclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0ZmllbGRJZDogc29ydEZpZWxkPy5maWVsZCxcclxuXHRcdFx0XHRcdFx0ZGlyZWN0aW9uOiBzb3J0RmllbGQ/Lm9yZGVyID09PSAxID8gMSA6IDIgLy8gMSBmb3IgYXNjLCAyIGZvciBkZXNjXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0Olx0bnVsbCxcclxuXHRcdFx0ZmlsdGVyczogYXJpbEZpbHRlcnNcclxuXHRcdH07XHJcblx0XHR0aGlzLmxhenlMb2FkRXZlbnQuZW1pdChuZXdFdmVudERhdGEpO1xyXG5cdH1cclxuXHJcblx0Y2xlYXIoKTogdm9pZCB7XHJcblx0XHR0aGlzLnRhYmxlUmVmLnZhbHVlID0gW107XHJcblx0XHR0aGlzLnRhYmxlUmVmLmNsZWFyKCk7XHJcblx0XHR0aGlzLmV4cG9ydE9wLm9wPy5oaWRlKCk7XHJcblx0fVxyXG5cclxuXHRyb3dSZW9yZGVyKGV2ZW50OiBUYWJsZVJvd1Jlb3JkZXJFdmVudCk6IHZvaWQge1xyXG5cdFx0aWYgKCF0aGlzLnJlb3JkZXJGaWVsZCgpKSB7XHJcblx0XHRcdGNvbnNvbGUuZXJyb3IoJ1Jlb3JkZXIgZmllbGQgaXMgbm90IGRlZmluZWQuIFBsZWFzZSBzZXQgdGhlIHJlb3JkZXJGaWVsZCBpbnB1dC4nKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fSBlbHNlIGlmICghKCh0aGlzLnJlb3JkZXJGaWVsZCgpIGFzIHN0cmluZykgaW4gdGhpcy5kYXRhKClbMF0pKSB7XHJcblx0XHRcdGNvbnNvbGUuZXJyb3IoYFJlb3JkZXIgZmllbGQgXCIke3RoaXMucmVvcmRlckZpZWxkKCl9XCIgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGRhdGEgaXRlbXMuYCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmRhdGEoKS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG5cdFx0XHRpdGVtW3RoaXMucmVvcmRlckZpZWxkKCkgYXMgc3RyaW5nXSA9IGluZGV4ICsgMTtcclxuXHRcdH0pO1xyXG5cclxuXHRcdHRoaXMucm93UmVvcmRlckV2ZW50LmVtaXQoZXZlbnQpO1xyXG5cdH1cclxuXHJcblx0Z2V0RmlsdGVyVmFsdWUoZmllbGQ6IHN0cmluZyk6IGFueSB7XHJcblx0XHRyZXR1cm4gdGhpcy5maWx0ZXJWYWx1ZXNbZmllbGRdIHx8IG51bGw7XHJcblx0fVxyXG5cclxuXHRvbkZpbHRlckNoYW5nZSh2YWx1ZTogb2JqZWN0LCBfZmlsdGVyQ2FsbGJhY2s6IGFueSwgZmllbGQ6IHN0cmluZykge1xyXG5cdFx0dGhpcy5maWx0ZXJWYWx1ZXNbZmllbGRdID0gdmFsdWU7XHJcblx0fVxyXG5cclxuXHRhcHBseUZpbHRlcihmaWx0ZXJDYWxsYmFjazogKHZhbHVlOiBhbnkpID0+IHZvaWQsIGZpZWxkOiBzdHJpbmcpIHtcclxuXHRcdGNvbnN0IHZhbHVlID0gdGhpcy5maWx0ZXJWYWx1ZXNbZmllbGRdO1xyXG5cdFx0ZmlsdGVyQ2FsbGJhY2sodmFsdWUpO1xyXG5cdH1cclxuXHJcblx0Y2xlYXJGaWx0ZXIoZmlsdGVyQ2FsbGJhY2s6ICh2YWx1ZTogYW55KSA9PiB2b2lkLCBmaWVsZDogc3RyaW5nKSB7XHJcblx0XHR0aGlzLmZpbHRlclZhbHVlc1tmaWVsZF0gPSBudWxsO1xyXG5cdFx0ZmlsdGVyQ2FsbGJhY2sobnVsbCk7XHJcblx0fVxyXG5cclxuXHRnZXRFbnVtT3B0aW9ucyhncm91cE5hbWU6IHN0cmluZywgcGFyZW50U2VsZWN0aW9uS2V5ID0gJ0FMTCcpOiBBcnJheTx7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT4ge1xyXG5cdFx0Y29uc3Qga2V5ID0gYCR7Z3JvdXBOYW1lfX4ke3BhcmVudFNlbGVjdGlvbktleX1gO1xyXG5cdFx0Y29uc3QgZ3JvdXAgPSB0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5zZWxlY3Rpb25Hcm91cHMoKVtrZXldO1xyXG5cclxuXHRcdGlmICghZ3JvdXAgJiYgIXRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLmlzTG9hZGluZyhrZXkpICYmICF0aGlzLnJlcXVlc3RlZEVudW1LZXlzLmhhcyhrZXkpKSB7XHJcblx0XHRcdHRoaXMucmVxdWVzdGVkRW51bUtleXMuYWRkKGtleSk7XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLmZldGNoRW51bShncm91cE5hbWUsIHBhcmVudFNlbGVjdGlvbktleSk7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIChcclxuXHRcdFx0Z3JvdXA/LnNlbGVjdGlvbkl0ZW1zPy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcclxuXHRcdFx0XHRsYWJlbDogaXRlbS5zZWxlY3Rpb25EaXNwbGF5LFxyXG5cdFx0XHRcdHZhbHVlOiBpdGVtLnNlbGVjdGlvbktleVxyXG5cdFx0XHR9KSkgPz8gW11cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGNvbnZlcnRQcmltZU5nRmlsdGVyc1RvU3RhbmRhcmQocHJpbWVOZ0ZpbHRlcnM6IGFueSk6IEFyaWxmaWVsZEZpbHRlcltdIHtcclxuXHRcdGNvbnN0IGZpbHRlcnM6IEFyaWxmaWVsZEZpbHRlcltdID0gW107XHJcblxyXG5cdFx0aWYgKCFwcmltZU5nRmlsdGVycykge1xyXG5cdFx0XHRyZXR1cm4gZmlsdGVycztcclxuXHRcdH1cclxuXHJcblx0XHRPYmplY3Qua2V5cyhwcmltZU5nRmlsdGVycykuZm9yRWFjaCgoZmllbGRJZCkgPT4ge1xyXG5cdFx0XHRjb25zdCBmaWVsZEZpbHRlcnMgPSBwcmltZU5nRmlsdGVyc1tmaWVsZElkXTtcclxuXHJcblx0XHRcdGlmIChBcnJheS5pc0FycmF5KGZpZWxkRmlsdGVycykgJiYgZmllbGRGaWx0ZXJzLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRmaWVsZEZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XHJcblx0XHRcdFx0XHRpZiAodGhpcy5pc1ZhbGlkRmlsdGVyVmFsdWUoZmlsdGVyLnZhbHVlKSkge1xyXG5cdFx0XHRcdFx0XHRjb25zdCBvcGVyYW5kID0gdGhpcy5tYXBNYXRjaE1vZGVUb09wZXJhbmQoZmlsdGVyLm1hdGNoTW9kZSk7XHJcblx0XHRcdFx0XHRcdGlmIChvcGVyYW5kKSB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gSGFuZGxlIG11bHRpcGxlIHZhbHVlcyBmb3IgSU4vTk9UX0lOIG9wZXJhdGlvbnNcclxuXHRcdFx0XHRcdFx0XHRjb25zdCBwcm9jZXNzZWRWYWx1ZSA9IHRoaXMucHJvY2Vzc0ZpbHRlclZhbHVlKGZpbHRlci52YWx1ZSwgb3BlcmFuZCk7XHJcblxyXG5cdFx0XHRcdFx0XHRcdGZpbHRlcnMucHVzaCh7XHJcblx0XHRcdFx0XHRcdFx0XHRmaWVsZElkOiBpc05hTihwYXJzZUludChmaWVsZElkKSkgPyBmaWVsZElkIDogcGFyc2VJbnQoZmllbGRJZCksXHJcblx0XHRcdFx0XHRcdFx0XHRvcGVyYW5kOiBvcGVyYW5kLFxyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHByb2Nlc3NlZFZhbHVlXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0cmV0dXJuIGZpbHRlcnM7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGlzVmFsaWRGaWx0ZXJWYWx1ZSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XHJcblx0XHRpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcblx0XHRcdHJldHVybiB2YWx1ZS5sZW5ndGggPiAwICYmIHZhbHVlLnNvbWUoKGl0ZW0pID0+IGl0ZW0gIT09IG51bGwgJiYgaXRlbSAhPT0gdW5kZWZpbmVkICYmIGl0ZW0gIT09ICcnKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG5cdFx0XHRyZXR1cm4gdmFsdWUudHJpbSgpICE9PSAnJztcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gdHJ1ZTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgbWFwTWF0Y2hNb2RlVG9PcGVyYW5kKG1hdGNoTW9kZTogc3RyaW5nKTogRmlsdGVyT3BlcmFuZCB8IG51bGwge1xyXG5cdFx0Y29uc3QgbW9kZU1hcDogeyBba2V5OiBzdHJpbmddOiBGaWx0ZXJPcGVyYW5kIH0gPSB7XHJcblx0XHRcdGVxdWFsczogRmlsdGVyT3BlcmFuZC5FUSxcclxuXHRcdFx0bm90RXF1YWxzOiBGaWx0ZXJPcGVyYW5kLk5PVF9FUSxcclxuXHRcdFx0Y29udGFpbnM6IEZpbHRlck9wZXJhbmQuTElLRSxcclxuXHRcdFx0bm90Q29udGFpbnM6IEZpbHRlck9wZXJhbmQuTk9UX0xJS0UsXHJcblx0XHRcdHN0YXJ0c1dpdGg6IEZpbHRlck9wZXJhbmQuU1RBUlRTLFxyXG5cdFx0XHRlbmRzV2l0aDogRmlsdGVyT3BlcmFuZC5FTkRTLFxyXG5cdFx0XHRsdDogRmlsdGVyT3BlcmFuZC5MVCxcclxuXHRcdFx0bHRlOiBGaWx0ZXJPcGVyYW5kLkxURSxcclxuXHRcdFx0Z3Q6IEZpbHRlck9wZXJhbmQuR1QsXHJcblx0XHRcdGd0ZTogRmlsdGVyT3BlcmFuZC5HVEUsXHJcblx0XHRcdGluOiBGaWx0ZXJPcGVyYW5kLklOLFxyXG5cdFx0XHRub3RJbjogRmlsdGVyT3BlcmFuZC5OT1RfSU4sXHJcblx0XHRcdGlzOiBGaWx0ZXJPcGVyYW5kLkVRLFxyXG5cdFx0XHRpc05vdDogRmlsdGVyT3BlcmFuZC5OT1RfRVEsXHJcblx0XHRcdGJlZm9yZTogRmlsdGVyT3BlcmFuZC5MVCxcclxuXHRcdFx0YWZ0ZXI6IEZpbHRlck9wZXJhbmQuR1QsXHJcblx0XHRcdGRhdGVJczogRmlsdGVyT3BlcmFuZC5FUSxcclxuXHRcdFx0ZGF0ZUlzTm90OiBGaWx0ZXJPcGVyYW5kLk5PVF9FUSxcclxuXHRcdFx0ZGF0ZUJlZm9yZTogRmlsdGVyT3BlcmFuZC5MVCxcclxuXHRcdFx0ZGF0ZUFmdGVyOiBGaWx0ZXJPcGVyYW5kLkdUXHJcblx0XHR9O1xyXG5cclxuXHRcdHJldHVybiBtb2RlTWFwW21hdGNoTW9kZV0gfHwgbnVsbDtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgcHJvY2Vzc0ZpbHRlclZhbHVlKHZhbHVlOiBhbnksIG9wZXJhbmQ6IEZpbHRlck9wZXJhbmQpIHtcclxuXHRcdGlmIChvcGVyYW5kID09PSBGaWx0ZXJPcGVyYW5kLklOIHx8IG9wZXJhbmQgPT09IEZpbHRlck9wZXJhbmQuTk9UX0lOKSB7XHJcblx0XHRcdGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuXHRcdFx0XHRyZXR1cm4gW3ZhbHVlXTtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gdmFsdWU7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHZhbHVlO1xyXG5cdH1cclxuXHJcblx0b25UYWJsZVNvcnQoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG5cdFx0Y29uc3QgZmllbGQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGV2ZW50Py5maWVsZCA/PyBldmVudD8ubXVsdGlzb3J0bWV0YT8uWzBdPy5maWVsZDtcclxuXHRcdGNvbnN0IG9yZGVyOiAxIHwgLTEgfCB1bmRlZmluZWQgPSBldmVudD8ub3JkZXIgPz8gZXZlbnQ/Lm11bHRpc29ydG1ldGE/LlswXT8ub3JkZXI7XHJcblx0XHRpZiAoIWZpZWxkIHx8IChvcmRlciAhPT0gMSAmJiBvcmRlciAhPT0gLTEpKSByZXR1cm47XHJcblx0XHRpZiAodGhpcy5sYXN0U29ydGVkRmllbGQgPT09IGZpZWxkICYmIHRoaXMubGFzdFNvcnRPcmRlciA9PT0gLTEgJiYgb3JkZXIgPT09IDEpIHtcclxuXHRcdFx0dGhpcy5jbGVhclNvcnQoKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5sYXN0U29ydGVkRmllbGQgPSBmaWVsZDtcclxuXHRcdHRoaXMubGFzdFNvcnRPcmRlciA9IG9yZGVyO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBjbGVhclNvcnQoKTogdm9pZCB7XHJcblx0XHRpZiAoIXRoaXMudGFibGVSZWYpIHJldHVybjtcclxuXHRcdHRoaXMudGFibGVSZWYuc29ydEZpZWxkID0gbnVsbDtcclxuXHRcdHRoaXMudGFibGVSZWYuc29ydE9yZGVyID0gMTtcclxuXHRcdHRoaXMudGFibGVSZWYubXVsdGlTb3J0TWV0YSA9IFtdO1xyXG5cdFx0aWYgKHRoaXMuaXNMYXp5KCkpIHtcclxuXHRcdFx0Y29uc3QgbWV0YSA9IHRoaXMudGFibGVSZWYuY3JlYXRlTGF6eUxvYWRNZXRhZGF0YSgpO1xyXG5cdFx0XHRtZXRhLm11bHRpU29ydE1ldGEgPSBbXTtcclxuXHRcdFx0bWV0YS5zb3J0RmllbGQgPSBudWxsO1xyXG5cdFx0XHR0aGlzLnRhYmxlUmVmLm9uTGF6eUxvYWQuZW1pdChtZXRhKTtcclxuXHRcdH1cclxuXHRcdHRoaXMubGFzdFNvcnRlZEZpZWxkID0gbnVsbDtcclxuXHRcdHRoaXMubGFzdFNvcnRPcmRlciA9IDA7XHJcblx0fVxyXG5cclxuXHRuZXh0UmVjb3JkKCkge1xyXG5cdFx0Y29uc3QgaWR4ID0gdGhpcy5kYXRhKCkuaW5kZXhPZih0aGlzLnNlbGVjdGVkUm93cyk7XHJcblx0XHRjb25zdCBuZXh0UmVjb3JkID0gdGhpcy5kYXRhKClbaWR4ICsgMV07XHJcblx0XHRpZiAobmV4dFJlY29yZCkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGVkUm93cyA9IG5leHRSZWNvcmQ7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcmV2UmVjb3JkKCkge1xyXG5cdFx0Y29uc3QgaWR4ID0gdGhpcy5kYXRhKCkuaW5kZXhPZih0aGlzLnNlbGVjdGVkUm93cyk7XHJcblx0XHRjb25zdCBwcmV2UmVjb3JkID0gdGhpcy5kYXRhKClbaWR4IC0gMV07XHJcblx0XHRpZiAocHJldlJlY29yZCkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGVkUm93cyA9IHByZXZSZWNvcmQ7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIjxwLXRhYmxlXHJcblx0I3JlZlxyXG5cdFt2YWx1ZV09XCJkYXRhKClcIlxyXG5cdFtkYXRhS2V5XT1cImRhdGFLZXkoKVwiXHJcblx0W2NvbHVtbnNdPVwiY29sdW1ucy5fcmVzdWx0c1wiXHJcblx0W3Jvd3NdPVwicGFnZVNpemUoKVwiXHJcblx0W3Jvd0hvdmVyXT1cInRydWVcIlxyXG5cdFtwYWdpbmF0b3JdPVwiIXRoaXMuaXNMYXp5KCkgfHwgdGhpcy50b3RhbFJlY29yZHMoKSA+IDEwID8gdGhpcy5wYWdpbmF0b3IoKSA6IGZhbHNlXCJcclxuXHRbbGF6eV09XCJpc0xhenkoKVwiXHJcblx0W2xhenlMb2FkT25Jbml0XT1cImZhbHNlXCJcclxuXHRbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3JkcygpXCJcclxuXHRbcm93c1BlclBhZ2VPcHRpb25zXT1cIls1LCAxMCwgMjAsIDUwLCAxMDBdXCJcclxuXHRbcm93U2VsZWN0YWJsZV09XCJyb3dTZWxlY3RhYmxlKClcIlxyXG5cdFtmaWx0ZXJEZWxheV09XCIwXCJcclxuXHRbc29ydE1vZGVdPVwic29ydE1vZGUoKVwiXHJcblx0WyhzZWxlY3Rpb24pXT1cInNlbGVjdGVkUm93c1wiXHJcblx0KG9uUGFnZSk9XCJvblBhZ2VFdmVudC5lbWl0KCRldmVudClcIlxyXG5cdChvblNvcnQpPVwib25UYWJsZVNvcnQoJGV2ZW50KVwiXHJcblx0KG9uTGF6eUxvYWQpPVwiaGFuZGxlTGF6eUxvYWRFdmVudCgkZXZlbnQpXCJcclxuXHQoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGlvbkV2ZW50LmVtaXQoc2VsZWN0ZWRSb3dzKVwiXHJcblx0KG9uUm93U2VsZWN0KT1cInNpZGViYXJWaXNpYmxlID0gdHJ1ZVwiXHJcblx0KG9uUm93VW5zZWxlY3QpPVwic2lkZWJhclZpc2libGUgPSBmYWxzZVwiXHJcblx0W3Nob3dDdXJyZW50UGFnZVJlcG9ydF09XCJ0cnVlXCJcclxuXHRbc2VsZWN0aW9uTW9kZV09XCJzZWxlY3Rpb25Nb2RlKClcIlxyXG5cdFtzZWxlY3Rpb25QYWdlT25seV09XCJzZWxlY3Rpb25QYWdlT25seSgpXCJcclxuXHRbY29sdW1uUmVzaXplTW9kZV09XCJpc0NvbHVtbkV4cGFuZE1vZGUoKSA/ICdleHBhbmQnIDogJydcIlxyXG5cdFtyZXNpemFibGVDb2x1bW5zXT1cImlzUmVzaXphYmxlQ29sdW1ucygpXCJcclxuXHRbY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZV09XCJjdXJyZW50UGFnZVJlcG9ydFRleHRcIlxyXG5cdHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zbVwiXHJcblx0W3BhZ2luYXRvckRyb3Bkb3duQXBwZW5kVG9dPVwicGFnaW5hdG9yRHJvcGRvd25BcHBlbmRUbygpXCJcclxuXHRbc2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlKClcIlxyXG5cdFtzY3JvbGxIZWlnaHRdPVwic2Nyb2xsSGVpZ2h0KClcIlxyXG5cdFtzaG93Rmlyc3RMYXN0SWNvbl09XCJzaG93Rmlyc3RMYXN0SWNvbigpXCJcclxuXHRbcmVvcmRlcmFibGVDb2x1bW5zXT1cInJlb3JkZXJhYmxlQ29sdW1ucygpXCJcclxuXHQob25Sb3dSZW9yZGVyKT1cInJvd1Jlb3JkZXIoJGV2ZW50KVwiPlxyXG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJncm91cGhlYWRlclwiIGxldC1pdGVtIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCIgbGV0LWV4cGFuZGVkPVwiZXhwYW5kZWRcIj5cclxuXHRcdDx0ciBwUm93R3JvdXBIZWFkZXIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmYWZjXCI+XHJcblx0XHRcdDx0ZCBbYXR0ci5jb2xzcGFuXT1cImNvbHVtbnMuX3Jlc3VsdHMubGVuZ3RoXCI+XHJcblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJmb250LWJvbGQgbWwtMlwiIHN0eWxlPVwiY29sb3I6ICM2YjcyODBcIj57eyBpdGVtLmdyb3VwTmFtZSB9fTwvc3Bhbj5cclxuXHRcdFx0PC90ZD5cclxuXHRcdDwvdHI+XHJcblx0PC9uZy10ZW1wbGF0ZT5cclxuXHJcblx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHRAaWYgKHJlb3JkZXJhYmxlQ29sdW1ucygpIHx8IHJhZGlvQnV0dG9uU2VsZWN0aW9uKCkpIHtcclxuXHRcdFx0XHQ8dGggc3R5bGU9XCJ3aWR0aDogM3JlbSAhaW1wb3J0YW50XCI+PC90aD5cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGlmIChjaGVja2JveFNlbGVjdGlvbigpKSB7XHJcblx0XHRcdFx0PHRoPlxyXG5cdFx0XHRcdFx0QGlmIChoZWFkZXJDaGVja2JveFNlbGVjdGlvbigpKSB7XHJcblx0XHRcdFx0XHRcdDxwLXRhYmxlSGVhZGVyQ2hlY2tib3g+PC9wLXRhYmxlSGVhZGVyQ2hlY2tib3g+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0PC90aD5cclxuXHRcdFx0fVxyXG5cdFx0XHRAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgJGluZGV4KSB7XHJcblx0XHRcdFx0QGlmIChjb2x1bW4udHlwZSgpID09PSAnb3BlcmF0aW9ucycpIHtcclxuXHRcdFx0XHRcdDx0aD5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPsSwxZ9sZW1sZXI8L2Rpdj5cclxuXHRcdFx0XHRcdDwvdGg+XHJcblx0XHRcdFx0fSBAZWxzZSB7XHJcblx0XHRcdFx0XHRAaWYgKGlzUmVzaXphYmxlQ29sdW1ucygpKSB7XHJcblx0XHRcdFx0XHRcdDx0aCBbbmdTdHlsZV09XCJ7IHdpZHRoOiBjb2x1bW4ud2lkdGgoKSA/IGNvbHVtbi53aWR0aCgpIDogJ2F1dG8nIH1cIiBwUmVzaXphYmxlQ29sdW1uPlxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHNwYW4gXHJcblx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwibm8td3JhcC13b3JkXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0W3BUb29sdGlwXT1cImNvbHVtbi5oZWFkZXIoKS5sZW5ndGggPiA1MCA/IGNvbHVtbi5oZWFkZXIoKSA6ICcnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdHt7IGNvbHVtbi5oZWFkZXIoKS5sZW5ndGggPiA1MCA/IChjb2x1bW4uaGVhZGVyKCkgfCBzbGljZTowOjUwKSArICcuLi4nIDogY29sdW1uLmhlYWRlcigpIH19XHJcblx0XHRcdFx0XHRcdFx0XHQgIDwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdEBpZiAoY29sdW1uLmlzU2hvd0hlYWRlclRvb2x0aXAoKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiBncmVlbjsgcGFkZGluZy10b3A6IDRweDsgcGFkZGluZy1sZWZ0OiA0cHhcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJwaSBwaS1pbmZvLWNpcmNsZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbcFRvb2x0aXBdPVwiY29sdW1uLnRvb2x0aXBUZW1wbGF0ZSgpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiPjwvaT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdDwvdGg+XHJcblx0XHRcdFx0XHR9IEBlbHNlIHtcclxuXHRcdFx0XHRcdFx0QGlmIChpc0xhenkoKSAmJiBpc1NvcnRhYmxlKCkpIHtcclxuXHRcdFx0XHRcdFx0XHQ8dGhcclxuXHRcdFx0XHRcdFx0XHRcdFtwU29ydGFibGVDb2x1bW5dPVwiY29sdW1uLmZpZWxkKClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0W25nU3R5bGVdPVwieyB3aWR0aDogY29sdW1uLndpZHRoKCkgPyBjb2x1bW4ud2lkdGgoKSA6ICdhdXRvJyB9XCJcclxuXHRcdFx0XHRcdFx0XHRcdHN0eWxlPVwibWluLXdpZHRoOiAxNzBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxzcGFuIFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwibm8td3JhcC13b3JkXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRbcFRvb2x0aXBdPVwiY29sdW1uLmhlYWRlcigpLmxlbmd0aCA+IDUwID8gY29sdW1uLmhlYWRlcigpIDogJydcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7IGNvbHVtbi5oZWFkZXIoKS5sZW5ndGggPiA1MCA/IChjb2x1bW4uaGVhZGVyKCkgfCBzbGljZTowOjUwKSArICcuLi4nIDogY29sdW1uLmhlYWRlcigpIH19XHJcblx0XHRcdFx0XHRcdFx0XHQgIDwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRAaWYgKGNvbHVtbi50eXBlKCkgIT09ICdvcGVyYXRpb25zJykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHAtc29ydEljb24gW2ZpZWxkXT1cImNvbHVtbi5maWVsZCgpXCI+PC9wLXNvcnRJY29uPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRAaWYgKHNob3dDb2x1bW5GaWx0ZXJzKCkgJiYgY29sdW1uLnNob3dGaWx0ZXIoKSAmJiBjb2x1bW4udHlwZSgpICE9PSAnb3BlcmF0aW9ucycpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdEBzd2l0Y2ggKGNvbHVtbi5maWx0ZXJUeXBlKCkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGNhc2UgKENvbHVtbkZpbHRlclR5cGVFbnVtLlRFWFQpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8cC1jb2x1bW5GaWx0ZXJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFtmaWVsZF09XCJjb2x1bW4uZmllbGQoKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5PVwibWVudVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbbWF4Q29uc3RyYWludHNdPVwiMVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cIm10LTJcIiAvPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdEBjYXNlIChDb2x1bW5GaWx0ZXJUeXBlRW51bS5OVU1FUklDKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHAtY29sdW1uRmlsdGVyXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlPVwibnVtZXJpY1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbZmllbGRdPVwiY29sdW1uLmZpZWxkKClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheT1cIm1lbnVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0W3Nob3dBcHBseUJ1dHRvbl09XCJmYWxzZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbc2hvd0NsZWFyQnV0dG9uXT1cImZhbHNlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFttYXhDb25zdHJhaW50c109XCIxXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwibXQtMlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZpbHRlclwiIGxldC1maWx0ZXI9XCJmaWx0ZXJDYWxsYmFja1wiIGxldC12YWx1ZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGFyaWwtbnVtYmVyXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0W21heERpZ2l0c109XCI2XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbbmdNb2RlbF09XCJnZXRGaWx0ZXJWYWx1ZShjb2x1bW4uZmllbGQoKSlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdChuZ01vZGVsQ2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlKCRldmVudCwgZmlsdGVyLCBjb2x1bW4uZmllbGQoKSlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwidy1mdWxsXCIgLz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtZW5kIG10LTVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8YXJpbC1idXR0b25cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcj1cInNlY29uZGFyeVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbbGFiZWxdPVwiJ1RlbWl6bGUnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdChjbGlja0V2ZW50KT1cImNsZWFyRmlsdGVyKGZpbHRlciwgY29sdW1uLmZpZWxkKCkpXCIgLz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8YXJpbC1idXR0b25cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcj1cInByaW1hcnlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0W2xhYmVsXT1cIidVeWd1bGEnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdChjbGlja0V2ZW50KT1cImFwcGx5RmlsdGVyKGZpbHRlciwgY29sdW1uLmZpZWxkKCkpXCIgLz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvcC1jb2x1bW5GaWx0ZXI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGNhc2UgKENvbHVtbkZpbHRlclR5cGVFbnVtLkRBVEUpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRAaWYgKGNvbHVtbi5zaG93VGltZUluRGF0ZUZpbHRlcnMoKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHAtY29sdW1uRmlsdGVyXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFtmaWVsZF09XCJjb2x1bW4uZmllbGQoKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU9XCJkYXRlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheT1cIm1lbnVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbbWF4Q29uc3RyYWludHNdPVwiMVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFtzaG93QXBwbHlCdXR0b25dPVwiZmFsc2VcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbc2hvd0NsZWFyQnV0dG9uXT1cImZhbHNlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJtdC0yXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmaWx0ZXJcIiBsZXQtZmlsdGVyPVwiZmlsdGVyQ2FsbGJhY2tcIiBsZXQtdmFsdWU+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGFyaWwtY2FsZW5kYXJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFtuZ01vZGVsXT1cImdldEZpbHRlclZhbHVlKGNvbHVtbi5maWVsZCgpKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQobmdNb2RlbENoYW5nZSk9XCJvbkZpbHRlckNoYW5nZSgkZXZlbnQsIGZpbHRlciwgY29sdW1uLmZpZWxkKCkpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwidy02XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFtzaG93VGltZV09XCJ0cnVlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFthcHBlbmRUb109XCJudWxsXCIgLz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1lbmQgbXQtNVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yPVwic2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0W2xhYmVsXT1cIidUZW1pemxlJ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdChjbGlja0V2ZW50KT1cImNsZWFyRmlsdGVyKGZpbHRlciwgY29sdW1uLmZpZWxkKCkpXCIgLz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxhcmlsLWJ1dHRvblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcj1cInByaW1hcnlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbbGFiZWxdPVwiJ1V5Z3VsYSdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQoY2xpY2tFdmVudCk9XCJhcHBseUZpbHRlcihmaWx0ZXIsIGNvbHVtbi5maWVsZCgpKVwiIC8+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3AtY29sdW1uRmlsdGVyPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gQGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHAtY29sdW1uRmlsdGVyXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU9XCJkYXRlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0W2ZpZWxkXT1cImNvbHVtbi5maWVsZCgpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheT1cIm1lbnVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbbWF4Q29uc3RyYWludHNdPVwiMVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwibXQtMlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZmlsdGVyXCIgbGV0LWZpbHRlcj1cImZpbHRlckNhbGxiYWNrXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGFyaWwtY2FsZW5kYXIgWyhuZ01vZGVsKV09XCJmaWx0ZXIudmFsdWVcIiBjbGFzcz1cInctNlwiIFthcHBlbmRUb109XCJudWxsXCIgLz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvcC1jb2x1bW5GaWx0ZXI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdEBjYXNlIChDb2x1bW5GaWx0ZXJUeXBlRW51bS5CT09MRUFOKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHAtY29sdW1uRmlsdGVyIFtmaWVsZF09XCJjb2x1bW4uZmllbGQoKVwiIHR5cGU9XCJib29sZWFuXCIgZGlzcGxheT1cIm1lbnVcIiBjbGFzcz1cIm10LTJcIiAvPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdEBjYXNlIChDb2x1bW5GaWx0ZXJUeXBlRW51bS5FTlVNKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHAtY29sdW1uRmlsdGVyXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbZmllbGRdPVwiY29sdW1uLmZpZWxkKClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZT1cInRleHRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheT1cIm1lbnVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0W3Nob3dDbGVhckJ1dHRvbl09XCJmYWxzZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbc2hvd0FwcGx5QnV0dG9uXT1cImZhbHNlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFttYXhDb25zdHJhaW50c109XCIxXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFttYXRjaE1vZGVPcHRpb25zXT1cIltcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyBsYWJlbDogJ0XFn2l0dGlyJywgdmFsdWU6ICdlcXVhbHMnIH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHsgbGFiZWw6ICdFxZ9pdCBEZcSfaWxkaXInLCB2YWx1ZTogJ25vdEVxdWFscycgfSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyBsYWJlbDogJ8Sww6dlcmlyJywgdmFsdWU6ICdjb250YWlucycgfSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyBsYWJlbDogJ8Sww6dlcm1leicsIHZhbHVlOiAnbm90Q29udGFpbnMnIH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF1cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJtdC0yXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZmlsdGVyXCIgbGV0LWZpbHRlcj1cImZpbHRlckNhbGxiYWNrXCIgbGV0LXZhbHVlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8cC1kcm9wZG93blxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFtvcHRpb25zXT1cImdldEVudW1PcHRpb25zKGNvbHVtbi5lbnVtR3JvdXBOYW1lKCksICdBTEwnKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0W25nTW9kZWxdPVwiZ2V0RmlsdGVyVmFsdWUoY29sdW1uLmZpZWxkKCkpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQob25DaGFuZ2UpPVwib25GaWx0ZXJDaGFuZ2UoJGV2ZW50LnZhbHVlLCBmaWx0ZXIsIGNvbHVtbi5maWVsZCgpKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0YXBwZW5kVG89XCJzZWxmXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbc2hvd0NsZWFyXT1cInRydWVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIj48L3AtZHJvcGRvd24+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWVuZCBtdC01XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I9XCJzZWNvbmRhcnlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0W2xhYmVsXT1cIidUZW1pemxlJ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQoY2xpY2tFdmVudCk9XCJjbGVhckZpbHRlcihmaWx0ZXIsIGNvbHVtbi5maWVsZCgpKVwiIC8+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I9XCJwcmltYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFtsYWJlbF09XCInVXlndWxhJ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQoY2xpY2tFdmVudCk9XCJhcHBseUZpbHRlcihmaWx0ZXIsIGNvbHVtbi5maWVsZCgpKVwiIC8+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3AtY29sdW1uRmlsdGVyPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEBpZiAoY29sdW1uLmlzU2hvd0hlYWRlclRvb2x0aXAoKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGlcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJjb2xvcjogZ3JlZW5cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cInBpIHBpLWluZm8tY2lyY2xlIG10LTFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbcFRvb2x0aXBdPVwiY29sdW1uLnRvb2x0aXBUZW1wbGF0ZSgpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCI+PC9pPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHRcdFx0XHR9IEBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHQ8dGggW25nU3R5bGVdPVwieyB3aWR0aDogY29sdW1uLndpZHRoKCkgPyBjb2x1bW4ud2lkdGgoKSA6ICdhdXRvJyB9XCIgc3R5bGU9XCJtaW4td2lkdGg6IDE3MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHNwYW4gXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJuby13cmFwLXdvcmRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFtwVG9vbHRpcF09XCJjb2x1bW4uaGVhZGVyKCkubGVuZ3RoID4gNTAgPyBjb2x1bW4uaGVhZGVyKCkgOiAnJ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3sgY29sdW1uLmhlYWRlcigpLmxlbmd0aCA+IDUwID8gKGNvbHVtbi5oZWFkZXIoKSB8IHNsaWNlOjA6NTApICsgJy4uLicgOiBjb2x1bW4uaGVhZGVyKCkgfX1cclxuXHRcdFx0XHRcdFx0XHRcdCAgPC9zcGFuPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEBpZiAoY29sdW1uLmlzU2hvd0hlYWRlclRvb2x0aXAoKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGlcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJjb2xvcjogZ3JlZW5cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cInBpIHBpLWluZm8tY2lyY2xlIG10LTFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbcFRvb2x0aXBdPVwiY29sdW1uLnRvb2x0aXBUZW1wbGF0ZSgpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCI+PC9pPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHQ8L3RyPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWl0ZW0gbGV0LWNvbHVtbnM9XCJjb2x1bW5zXCIgbGV0LWluZGV4PVwicm93SW5kZXhcIj5cclxuXHRcdEBpZiAoaGFuZGxlZFNlbGVjdGlvbk1vZGUpIHtcclxuXHRcdFx0PHRyXHJcblx0XHRcdFx0W3BTZWxlY3RhYmxlUm93XT1cIml0ZW1cIlxyXG5cdFx0XHRcdFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiBpdGVtPy5yb3dDb2xvciA/IGl0ZW0/LnJvd0NvbG9yIDogbnVsbCB9XCJcclxuXHRcdFx0XHRbcFJlb3JkZXJhYmxlUm93XT1cImluZGV4XCI+XHJcblx0XHRcdFx0QGlmIChyZW9yZGVyYWJsZUNvbHVtbnMoKSkge1xyXG5cdFx0XHRcdFx0PHRkPlxyXG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cInBpIHBpLWJhcnNcIiBwUmVvcmRlcmFibGVSb3dIYW5kbGU+PC9zcGFuPlxyXG5cdFx0XHRcdFx0PC90ZD5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpZiAocmFkaW9CdXR0b25TZWxlY3Rpb24oKSkge1xyXG5cdFx0XHRcdFx0PHRkPlxyXG5cdFx0XHRcdFx0XHQ8cC10YWJsZVJhZGlvQnV0dG9uIFt2YWx1ZV09XCJpdGVtXCI+PC9wLXRhYmxlUmFkaW9CdXR0b24+XHJcblx0XHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrICRpbmRleCkge1xyXG5cdFx0XHRcdFx0PHRkIFtuZ1N0eWxlXT1cInsgJ3RleHQtYWxpZ24nOiBjb2x1bW4udHlwZSgpID09PSAnb3BlcmF0aW9ucycgPyAnY2VudGVyJyA6IGNvbHVtbi50QWxpZ24oKSB8fCB0QWxpZ24oKSB9XCI+XHJcblx0XHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBuZ0ZvciBbbmdGb3JPZl09XCJbaXRlbV1cIiBbbmdGb3JUZW1wbGF0ZV09XCJjb2x1bW4udGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG5cdFx0XHRcdFx0PC90ZD5cclxuXHRcdFx0XHR9XHJcblx0XHRcdDwvdHI+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PHRyIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiBpdGVtPy5yb3dDb2xvciA/IGl0ZW0/LnJvd0NvbG9yIDogbnVsbCB9XCIgW3BSZW9yZGVyYWJsZVJvd109XCJpbmRleFwiPlxyXG5cdFx0XHRcdEBpZiAocmVvcmRlcmFibGVDb2x1bW5zKCkpIHtcclxuXHRcdFx0XHRcdDx0ZD5cclxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJwaSBwaS1iYXJzXCIgcFJlb3JkZXJhYmxlUm93SGFuZGxlPjwvc3Bhbj5cclxuXHRcdFx0XHRcdDwvdGQ+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpZiAoY2hlY2tib3hTZWxlY3Rpb24oKSkge1xyXG5cdFx0XHRcdFx0PHRkPlxyXG5cdFx0XHRcdFx0XHQ8cC10YWJsZUNoZWNrYm94IFt2YWx1ZV09XCJpdGVtXCI+PC9wLXRhYmxlQ2hlY2tib3g+XHJcblx0XHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGlmIChyYWRpb0J1dHRvblNlbGVjdGlvbigpKSB7XHJcblx0XHRcdFx0XHQ8dGQ+XHJcblx0XHRcdFx0XHRcdDxwLXRhYmxlUmFkaW9CdXR0b24gW3ZhbHVlXT1cIml0ZW1cIj48L3AtdGFibGVSYWRpb0J1dHRvbj5cclxuXHRcdFx0XHRcdDwvdGQ+XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgJGluZGV4KSB7XHJcblx0XHRcdFx0XHQ8dGQgW25nU3R5bGVdPVwieyAndGV4dC1hbGlnbic6IGNvbHVtbi50eXBlKCkgPT09ICdvcGVyYXRpb25zJyA/ICdjZW50ZXInIDogY29sdW1uLnRBbGlnbigpIHx8IHRBbGlnbigpIH1cIj5cclxuXHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlIG5nRm9yIFtuZ0Zvck9mXT1cIltpdGVtXVwiIFtuZ0ZvclRlbXBsYXRlXT1cImNvbHVtbi50ZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0PC90cj5cclxuXHRcdH1cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG5cclxuXHRAaWYgKHNob3dGb290ZXIoKSkge1xyXG5cdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cInN1bW1hcnlcIj5cclxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdH1cclxuXHJcblx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImVtcHR5bWVzc2FnZVwiPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQgW2F0dHIuY29sc3Bhbl09XCJjb2x1bW5zLl9yZXN1bHRzLmxlbmd0aFwiPnt7IG5vRGF0YUZvdW5kTGFiZWwoKSB9fTwvdGQ+XHJcblx0XHQ8L3RyPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcbjwvcC10YWJsZT5cclxuXHJcbjxhcmlsLWV4cG9ydC1vdmVybGF5LXBhbmVsIFtleHBvcnRDb25maWddPVwiZXhwb3J0Q29uZmlnKCkhXCIgW2NvbHVtbnNdPVwiY29sdW1uc1wiIC8+XHJcblxyXG48cC10b2FzdCBrZXk9XCJleHBvcnQtdG9hc3RcIj5cclxuXHQ8bmctdGVtcGxhdGUgbGV0LW1lc3NhZ2UgcFRlbXBsYXRlPVwibWVzc2FnZVwiPlxyXG5cdFx0PHNwYW4gY2xhc3M9XCJwLXRvYXN0LW1lc3NhZ2UtaWNvblwiPlxyXG5cdFx0XHQ8Q2hlY2tJY29uIC8+XHJcblx0XHQ8L3NwYW4+XHJcblx0XHQ8ZGl2IGNsYXNzPVwicC10b2FzdC1tZXNzYWdlLXRleHRcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cInAtdG9hc3Qtc3VtbWFyeVwiPnt7IG1lc3NhZ2Uuc3VtbWFyeSB9fTwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwicC10b2FzdC1kZXRhaWxcIiBbaW5uZXJIVE1MXT1cIm1lc3NhZ2UuZGV0YWlsIHwgc2FmZTogJ2h0bWwnXCI+PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG48L3AtdG9hc3Q+XHJcblxyXG5AaWYgKG9wZW5TZWxlY3Rpb25PblNpZGViYXIoKSAmJiBzZWxlY3Rpb25Nb2RlKCkgPT09ICdzaW5nbGUnKSB7XHJcblx0PHAtc2lkZWJhclxyXG5cdFx0Wyh2aXNpYmxlKV09XCJzaWRlYmFyVmlzaWJsZVwiXHJcblx0XHRwb3NpdGlvbj1cInJpZ2h0XCJcclxuXHRcdFtzdHlsZV09XCJ7ICdtYXgtd2lkdGgnOiAnODAwcHgnLCB3aWR0aDogJzEwMCUnIH1cIlxyXG5cdFx0KG9uSGlkZSk9XCJzZWxlY3RlZFJvd3MgPSB1bmRlZmluZWRcIlxyXG5cdFx0W21vZGFsXT1cImZhbHNlXCI+XHJcblx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcblx0XHRcdDxzcGFuIGNsYXNzPVwiZm9udC1zZW1pYm9sZCB0ZXh0LXhsXCI+e3sgdHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3RhYmxlLnNpZGViYXJEZXRhaWxIZWFkZXInKSB9fTwvc3Bhbj5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdFx0QGlmIChzaWRlYmFyVmlzaWJsZSkge1xyXG5cdFx0XHQ8cC10YWJsZSBbdmFsdWVdPVwic2VsZWN0ZWRSb3dzIHwga2V5dmFsdWVcIiBbcGFnaW5hdG9yXT1cImZhbHNlXCIgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXNtXCI+XHJcblx0XHRcdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG5cdFx0XHRcdFx0PHRyPlxyXG5cdFx0XHRcdFx0XHQ8dGg+e3sgdHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3RhYmxlLmZpZWxkJykgfX08L3RoPlxyXG5cdFx0XHRcdFx0XHQ8dGg+e3sgdHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3RhYmxlLnZhbHVlJykgfX08L3RoPlxyXG5cdFx0XHRcdFx0PC90cj5cclxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cclxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1pdGVtIGxldC1pbmRleD1cInJvd0luZGV4XCI+XHJcblx0XHRcdFx0XHQ8dHI+XHJcblx0XHRcdFx0XHRcdEBpZiAoY29sdW1ucyB8IGdldENvbHVtbkJ5RmllbGQ6IGl0ZW0ua2V5OyBhcyBjb2x1bW4pIHtcclxuXHRcdFx0XHRcdFx0XHQ8dGQgW3dpZHRoXT1cIicxMjBweCdcIj57eyBjb2x1bW4uaGVhZGVyKCkgfX08L3RkPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZD5cclxuXHRcdFx0XHRcdFx0XHRcdEBpZiAoY29sdW1uLnR5cGUoKSA9PT0gJ2pzb24nICYmIGl0ZW0udmFsdWUpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0PGRpdiBbbmdTdHlsZV09XCJ7IGRpc3BsYXk6ICdncmlkJyB9XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHByZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJvdmVyZmxvdy15LWF1dG8gbWF4LWgtMzByZW0gYm9yZGVyLTMwMCBib3JkZXItMSBib3JkZXItcm91bmQgbXktMiBwLTNcIj48Y29kZT57e2l0ZW0udmFsdWUgfCBwYXJzZSB8IGpzb259fTwvY29kZT48L3ByZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0XHR9IEBlbHNlIGlmIChjb2x1bW4udHlwZSgpID09PSAnbG9uZy10ZXh0JyAmJiBpdGVtLnZhbHVlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxhcmlsLXZhbHVlIHR5cGU9XCJ0ZXh0XCIgW21vZGVsXT1cIml0ZW0udmFsdWVcIiAvPlxyXG5cdFx0XHRcdFx0XHRcdFx0fSBAZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBuZ0ZvciBbbmdGb3JPZl09XCJbc2VsZWN0ZWRSb3dzXVwiIFtuZ0ZvclRlbXBsYXRlXT1cImNvbHVtbi50ZW1wbGF0ZVwiIC8+XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0PC90ZD5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PC90cj5cclxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHQ8L3AtdGFibGU+XHJcblx0XHR9XHJcblxyXG5cdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuXHRcdFx0XHQ8YXJpbC1idXR0b25cclxuXHRcdFx0XHRcdHNpemU9XCJzbVwiXHJcblx0XHRcdFx0XHRpY29uPVwiQVJST1dfTEVGVFwiXHJcblx0XHRcdFx0XHRjb2xvcj1cInByaW1hcnlcIlxyXG5cdFx0XHRcdFx0W2xhYmVsXT1cInRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCd0YWJsZS5wcmV2UmVjb3JkJylcIlxyXG5cdFx0XHRcdFx0KGNsaWNrRXZlbnQpPVwicHJldlJlY29yZCgpXCIgLz5cclxuXHJcblx0XHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0XHRzaXplPVwic21cIlxyXG5cdFx0XHRcdFx0aWNvbj1cIkFSUk9XX1JJR0hUXCJcclxuXHRcdFx0XHRcdGljb25Qb3M9XCJyaWdodFwiXHJcblx0XHRcdFx0XHRjb2xvcj1cInByaW1hcnlcIlxyXG5cdFx0XHRcdFx0W2xhYmVsXT1cInRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCd0YWJsZS5uZXh0UmVjb3JkJylcIlxyXG5cdFx0XHRcdFx0KGNsaWNrRXZlbnQpPVwibmV4dFJlY29yZCgpXCIgLz5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdDwvcC1zaWRlYmFyPlxyXG59XHJcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpbC11aS10YWJsZS1leHBhbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpL3RhYmxlLWV4cGFuZC9hcmlsLXVpLXRhYmxlLWV4cGFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==