@eo-sdk/client 10.7.0-rc.4 → 11.0.0-beta.1

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 (855) hide show
  1. package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
  2. package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts +1 -1
  3. package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts.map +1 -1
  4. package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts +1 -1
  5. package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.d.ts +1 -1
  6. package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.d.ts +1 -1
  7. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts +1 -1
  8. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts +1 -1
  9. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.d.ts +1 -1
  10. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.d.ts +1 -1
  11. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts +1 -1
  12. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.d.ts +1 -1
  13. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts +1 -1
  14. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.d.ts +1 -1
  15. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts +1 -1
  16. package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts +1 -1
  17. package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts.map +1 -1
  18. package/app/eo-framework/accordion/simple-accordion/simple-accordion.component.d.ts +1 -1
  19. package/app/eo-framework/actions/action.module.d.ts.map +1 -1
  20. package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts +1 -1
  21. package/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.d.ts +1 -1
  22. package/app/eo-framework/actions/actions/cancel-signing-action/cancel-signing/cancel-signing.component.d.ts +1 -1
  23. package/app/eo-framework/actions/actions/clipboard/clipboard-object-action/clipboard-object-action.component.d.ts +1 -1
  24. package/app/eo-framework/actions/actions/custom-actions/custom-actions.component.d.ts +1 -1
  25. package/app/eo-framework/actions/actions/delete-action/delete/delete.component.d.ts +1 -1
  26. package/app/eo-framework/actions/actions/delete-content-action/delete-content/delete-content.component.d.ts +1 -1
  27. package/app/eo-framework/actions/actions/download-action/download-object-action/download-object-action.component.d.ts +1 -1
  28. package/app/eo-framework/actions/actions/email/email/email.component.d.ts +1 -1
  29. package/app/eo-framework/actions/actions/finalize/finalize-object-action/finalize-object-action.component.d.ts +1 -1
  30. package/app/eo-framework/actions/actions/open-document-action/open-document-action.component.d.ts +1 -1
  31. package/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.d.ts +1 -1
  32. package/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.d.ts +1 -1
  33. package/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.d.ts +1 -1
  34. package/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.d.ts +1 -1
  35. package/app/eo-framework/actions/actions/workflow-action/workflow-action.component.d.ts +1 -1
  36. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +1 -1
  37. package/app/eo-framework/app-shell/app-bar/context-search/context-search.component.d.ts +1 -1
  38. package/app/eo-framework/app-shell/app-bar/user-avatar-overlay/user-avatar-overlay.component.d.ts +1 -1
  39. package/app/eo-framework/cta/component/cta.component.d.ts +1 -1
  40. package/app/eo-framework/form-elements/checkbox/checkbox.component.d.ts +1 -1
  41. package/app/eo-framework/form-elements/codesystem/codesystem.component.d.ts +1 -1
  42. package/app/eo-framework/form-elements/date/date.component.d.ts +1 -1
  43. package/app/eo-framework/form-elements/date/year-range/year-range.directive.d.ts +1 -1
  44. package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts +1 -1
  45. package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts +1 -1
  46. package/app/eo-framework/form-elements/form-input/form-input.component.d.ts +1 -1
  47. package/app/eo-framework/form-elements/form-input/input-focus/input-focus.directive.d.ts +1 -1
  48. package/app/eo-framework/form-elements/id-reference/id-reference.component.d.ts +1 -1
  49. package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts +1 -1
  50. package/app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component.d.ts +1 -1
  51. package/app/eo-framework/form-elements/number/number.component.d.ts +1 -1
  52. package/app/eo-framework/form-elements/number-range/number-range.component.d.ts +1 -1
  53. package/app/eo-framework/form-elements/organization/organization.component.d.ts +1 -1
  54. package/app/eo-framework/form-elements/password/password.component.d.ts +1 -1
  55. package/app/eo-framework/form-elements/reference/reference.component.d.ts +1 -1
  56. package/app/eo-framework/form-elements/string/string.component.d.ts +1 -1
  57. package/app/eo-framework/grid/column-configurator/column-configurator.component.d.ts +1 -1
  58. package/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.d.ts +1 -1
  59. package/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.d.ts.map +1 -1
  60. package/app/eo-framework/grid/extensions/filter/abstract-filter.component.d.ts +3 -3
  61. package/app/eo-framework/grid/extensions/filter/abstract-filter.component.d.ts.map +1 -1
  62. package/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.d.ts +1 -1
  63. package/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.d.ts +1 -1
  64. package/app/eo-framework/grid/extensions/filter/text/text-filter.component.d.ts +3 -3
  65. package/app/eo-framework/grid/extensions/filter/text/text-filter.component.d.ts.map +1 -1
  66. package/app/eo-framework/grid/extensions/pagination/pagination.component.d.ts +1 -1
  67. package/app/eo-framework/grid/extensions/quick-filter/quick-filter.component.d.ts +1 -1
  68. package/app/eo-framework/grid/extensions/reset-filter/reset-filter.component.d.ts +1 -1
  69. package/app/eo-framework/grid/extensions/total-count/total-count.component.d.ts +1 -1
  70. package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
  71. package/app/eo-framework/grid/grid.component.d.ts +6 -17
  72. package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
  73. package/app/eo-framework/grid/grid.module.d.ts +0 -3
  74. package/app/eo-framework/grid/grid.module.d.ts.map +1 -1
  75. package/app/eo-framework/grid/row-grouping/batchRemover.d.ts +13 -0
  76. package/app/eo-framework/grid/row-grouping/batchRemover.d.ts.map +1 -0
  77. package/app/eo-framework/grid/row-grouping/group-stage.d.ts +14 -14
  78. package/app/eo-framework/grid/row-grouping/group-stage.d.ts.map +1 -1
  79. package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts +1 -0
  80. package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts.map +1 -1
  81. package/app/eo-framework/inbox-details/duetimeInfo/duetimeInfo.component.d.ts +1 -1
  82. package/app/eo-framework/inbox-details/inbox-details.component.d.ts +1 -1
  83. package/app/eo-framework/list-container/list-container.component.d.ts +1 -1
  84. package/app/eo-framework/media/media.component.d.ts +1 -1
  85. package/app/eo-framework/object-details/edit-icon/edit-icon.component.d.ts +1 -1
  86. package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts +1 -1
  87. package/app/eo-framework/object-details/object-details.component.d.ts +1 -1
  88. package/app/eo-framework/object-details/object-history/history-filter/history-filter.component.d.ts +1 -1
  89. package/app/eo-framework/object-details/object-history/object-history.component.d.ts +1 -1
  90. package/app/eo-framework/object-details/object-links/object-links.component.d.ts +1 -1
  91. package/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.d.ts +1 -1
  92. package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts +1 -1
  93. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +4 -1
  94. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
  95. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts +1 -1
  96. package/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.d.ts +1 -1
  97. package/app/eo-framework/object-form/object-form/object-form.component.d.ts +1 -1
  98. package/app/eo-framework/object-form/object-form-edit/object-form-edit.component.d.ts +1 -1
  99. package/app/eo-framework/object-state-details/object-state-details.component.d.ts +1 -1
  100. package/app/eo-framework/plugins/plugin.component.d.ts +2 -2
  101. package/app/eo-framework/plugins/plugins.module.d.ts.map +1 -1
  102. package/app/eo-framework/prepare-details/prepare-content-exists-info/prepare-content-exists-info.component.d.ts +1 -1
  103. package/app/eo-framework/prepare-details/prepare-details.component.d.ts +1 -1
  104. package/app/eo-framework/process/details/process-details.component.d.ts +1 -1
  105. package/app/eo-framework/process/history/process-history.component.d.ts +1 -1
  106. package/app/eo-framework/process/process-file/process-file.component.d.ts +1 -1
  107. package/app/eo-framework/process-form/process-form.component.d.ts +1 -1
  108. package/app/eo-framework/quick-search/quick-search/quick-search.component.d.ts +1 -1
  109. package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts +1 -1
  110. package/app/eo-framework/result-list/result-list.component.d.ts +1 -1
  111. package/app/eo-framework/settings/change-password/change-password-form/change-password-form.component.d.ts +1 -1
  112. package/app/eo-framework/settings/permissions/permissions.component.d.ts +1 -1
  113. package/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts-section/global-shortcuts-section.component.d.ts +1 -1
  114. package/app/eo-framework/shortcuts/shortcuts.directive.d.ts +1 -1
  115. package/app/eo-framework/stored-query/stored-query/stored-query.component.d.ts +1 -1
  116. package/app/eo-framework/stored-query/stored-query-details/dynamic-property-switch/dynamic-property-switch.component.d.ts +1 -1
  117. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts +1 -1
  118. package/app/eo-framework/tree/tree-node/tree-node.component.d.ts +1 -1
  119. package/app/eo-framework/tree/tree.component.d.ts +1 -1
  120. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +1 -1
  121. package/app/eo-framework/ui/eo-icon/eo-icon.component.d.ts +1 -1
  122. package/app/eo-framework/ui/error-message/error-message.component.d.ts +1 -1
  123. package/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.d.ts +1 -1
  124. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +1 -1
  125. package/app/eo-framework/ui/loading-spinner/loading-spinner.component.d.ts +1 -1
  126. package/app/eo-framework/ui/overlay/overlay.component.d.ts +1 -1
  127. package/app/eo-framework/ui/query-scope-select/query-scope-select.component.d.ts +1 -1
  128. package/app/eo-framework/ui/rtl-aware/rtl-aware.directive.d.ts +1 -1
  129. package/app/eo-framework/ui/signature-tab/signature-tab.component.d.ts +1 -1
  130. package/app/eo-framework/ui/user-avatar/user-avatar.component.d.ts +1 -1
  131. package/app/eo-framework/upload-overlay/upload-overlay-guard.service.d.ts +2 -2
  132. package/app/eo-framework/upload-overlay/upload-overlay-guard.service.d.ts.map +1 -1
  133. package/app/eo-framework/util/directive/prevent-double-click.directive.d.ts +1 -1
  134. package/app/eo-framework-core/api/grid.service.d.ts +4 -3
  135. package/app/eo-framework-core/api/grid.service.d.ts.map +1 -1
  136. package/app/eo-framework-core/pending-changes/pending-changes-guard.service.d.ts +1 -2
  137. package/app/eo-framework-core/pending-changes/pending-changes-guard.service.d.ts.map +1 -1
  138. package/app/eo-framework-core/route-guards/auth/auth-guard.service.d.ts +2 -2
  139. package/app/eo-framework-core/route-guards/auth/auth-guard.service.d.ts.map +1 -1
  140. package/app/eo-framework-core/route-guards/capabilities/capabilities-guard.service.d.ts +2 -2
  141. package/app/eo-framework-core/route-guards/capabilities/capabilities-guard.service.d.ts.map +1 -1
  142. package/esm2022/app/eo-client/about-state/about-state.component.mjs +81 -0
  143. package/esm2022/app/eo-client/dashboard/dashboard.component.mjs +305 -0
  144. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +288 -0
  145. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +265 -0
  146. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.mjs +121 -0
  147. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +125 -0
  148. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +192 -0
  149. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +164 -0
  150. package/esm2022/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +59 -0
  151. package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.mjs +8 -8
  152. package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +60 -0
  153. package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.mjs +42 -0
  154. package/esm2022/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +69 -0
  155. package/esm2022/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.mjs +43 -0
  156. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +116 -0
  157. package/esm2022/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +123 -0
  158. package/{esm2020 → esm2022}/app/eo-client/eo-client-routing.module.mjs +5 -5
  159. package/esm2022/app/eo-client/eo-client.module.mjs +170 -0
  160. package/esm2022/app/eo-client/favorite-state/favorite-state.component.mjs +150 -0
  161. package/esm2022/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +218 -0
  162. package/{esm2020 → esm2022}/app/eo-client/inbox-state/inbox-state-routing.module.mjs +5 -5
  163. package/{esm2020 → esm2022}/app/eo-client/inbox-state/inbox-state.module.mjs +13 -13
  164. package/esm2022/app/eo-client/login/login.component.mjs +111 -0
  165. package/esm2022/app/eo-client/notifications-state/notifications-state.component.mjs +227 -0
  166. package/esm2022/app/eo-client/object-state/object-state/object-state.component.mjs +342 -0
  167. package/{esm2020 → esm2022}/app/eo-client/object-state/object-state-routing.module.mjs +5 -5
  168. package/esm2022/app/eo-client/object-state/object-state-service/object-state.service.mjs +134 -0
  169. package/{esm2020 → esm2022}/app/eo-client/object-state/object-state.module.mjs +11 -11
  170. package/esm2022/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +159 -0
  171. package/{esm2020 → esm2022}/app/eo-client/prepare-state/prepare-state-routing.module.mjs +5 -5
  172. package/{esm2020 → esm2022}/app/eo-client/prepare-state/prepare-state.module.mjs +15 -15
  173. package/esm2022/app/eo-client/process-state/process-state.component.mjs +330 -0
  174. package/esm2022/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +150 -0
  175. package/esm2022/app/eo-client/result-state/result-state.component.mjs +71 -0
  176. package/esm2022/app/eo-client/settings/settings.component.mjs +287 -0
  177. package/esm2022/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +209 -0
  178. package/esm2022/app/eo-client/version-state/version-state.component.mjs +142 -0
  179. package/{esm2020 → esm2022}/app/eo-framework/accordion/accordion.module.mjs +5 -5
  180. package/{esm2020 → esm2022}/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +4 -4
  181. package/{esm2020 → esm2022}/app/eo-framework/actions/action-menu/action-component-anchor/action-component-anchor.directive.mjs +5 -5
  182. package/esm2022/app/eo-framework/actions/action-menu/action-menu.component.mjs +208 -0
  183. package/esm2022/app/eo-framework/actions/action-service/action.service.mjs +185 -0
  184. package/esm2022/app/eo-framework/actions/action-target.mjs +28 -0
  185. package/esm2022/app/eo-framework/actions/action.module.mjs +269 -0
  186. package/esm2022/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +201 -0
  187. package/esm2022/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission-action.mjs +50 -0
  188. package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +134 -0
  189. package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription-action.mjs +50 -0
  190. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/cancel-signing-action/cancel-signing/cancel-signing.component.mjs +6 -6
  191. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/cancel-signing-action/cancel-signing-action.mjs +5 -5
  192. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/clipboard/clipboard-action.mjs +5 -5
  193. package/esm2022/app/eo-framework/actions/actions/clipboard/clipboard-object-action/clipboard-object-action.component.mjs +95 -0
  194. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/copy-action/copy-action.mjs +5 -5
  195. package/esm2022/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +88 -0
  196. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/cut-action/cut-action.mjs +5 -5
  197. package/esm2022/app/eo-framework/actions/actions/delete-action/delete/delete.component.mjs +111 -0
  198. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/delete-action/delete-action.mjs +5 -5
  199. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/delete-action/delete-prepared-action.mjs +5 -5
  200. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/delete-content-action/delete-content/delete-content.component.mjs +6 -6
  201. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/delete-content-action/delete-content-action.mjs +5 -5
  202. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/download-action/download-action.mjs +5 -5
  203. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/download-action/download-object-action/download-object-action.component.mjs +6 -6
  204. package/esm2022/app/eo-framework/actions/actions/email/email/email.component.mjs +97 -0
  205. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/email/email-action.mjs +5 -5
  206. package/esm2022/app/eo-framework/actions/actions/favorite-action/favorite-action.mjs +76 -0
  207. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/finalize/definalize-action.mjs +5 -5
  208. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/finalize/finalize-action.mjs +6 -6
  209. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/finalize/finalize-object-action/finalize-object-action.component.mjs +6 -6
  210. package/esm2022/app/eo-framework/actions/actions/open-context-action/open-context-action.mjs +56 -0
  211. package/esm2022/app/eo-framework/actions/actions/open-document-action/open-document-action.component.mjs +69 -0
  212. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/open-document-action/open-document-action.mjs +5 -5
  213. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/open-versions-action/open-versions-action.mjs +5 -5
  214. package/esm2022/app/eo-framework/actions/actions/remove-subscription-action/remove-subscription-action.mjs +45 -0
  215. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/restore-version-action/restore-version-action.mjs +5 -5
  216. package/esm2022/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +89 -0
  217. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/share-object-action/share-object-action.mjs +5 -5
  218. package/esm2022/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +184 -0
  219. package/esm2022/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.mjs +53 -0
  220. package/esm2022/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +146 -0
  221. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/signature-action/signature-action.component.mjs +5 -5
  222. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/unlock-action/unlock-action.mjs +5 -5
  223. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/update-resubmission-action/update-resubmission-action.mjs +5 -5
  224. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.mjs +5 -5
  225. package/esm2022/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +107 -0
  226. package/{esm2020 → esm2022}/app/eo-framework/actions/actions/workflow-action/workflow-action.component.mjs +5 -5
  227. package/esm2022/app/eo-framework/app-shell/app-bar/app-add/app-add-dialog/app-add-dialog.component.mjs +173 -0
  228. package/{esm2020 → esm2022}/app/eo-framework/app-shell/app-bar/app-add/app-add.component.mjs +5 -5
  229. package/esm2022/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +203 -0
  230. package/esm2022/app/eo-framework/app-shell/app-bar/app-process/app-process.component.mjs +112 -0
  231. package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +793 -0
  232. package/esm2022/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +46 -0
  233. package/{esm2020 → esm2022}/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.mjs +6 -6
  234. package/esm2022/app/eo-framework/app-shell/app-bar/user-avatar-overlay/user-avatar-overlay.component.mjs +42 -0
  235. package/{esm2020 → esm2022}/app/eo-framework/app-shell/app-shell-routing.module.mjs +5 -5
  236. package/{esm2020 → esm2022}/app/eo-framework/app-shell/app-shell.module.mjs +40 -40
  237. package/{esm2020 → esm2022}/app/eo-framework/cta/component/cta.component.mjs +4 -4
  238. package/{esm2020 → esm2022}/app/eo-framework/cta/cta.module.mjs +5 -5
  239. package/{esm2020 → esm2022}/app/eo-framework/eo-framework.module.mjs +110 -110
  240. package/{esm2020 → esm2022}/app/eo-framework/error/error.module.mjs +9 -9
  241. package/{esm2020 → esm2022}/app/eo-framework/error/error404/error404.component.mjs +4 -4
  242. package/{esm2020 → esm2022}/app/eo-framework/error/not-found/not-found.component.mjs +5 -5
  243. package/esm2022/app/eo-framework/form-elements/checkbox/checkbox.component.mjs +62 -0
  244. package/esm2022/app/eo-framework/form-elements/codesystem/codesystem.component.mjs +312 -0
  245. package/esm2022/app/eo-framework/form-elements/date/date.component.mjs +101 -0
  246. package/esm2022/app/eo-framework/form-elements/date/year-range/year-range.directive.mjs +44 -0
  247. package/esm2022/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +184 -0
  248. package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +303 -0
  249. package/{esm2020 → esm2022}/app/eo-framework/form-elements/form-elements.module.mjs +76 -76
  250. package/esm2022/app/eo-framework/form-elements/form-input/form-input.component.mjs +73 -0
  251. package/esm2022/app/eo-framework/form-elements/form-input/input-focus/input-focus.directive.mjs +35 -0
  252. package/esm2022/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +252 -0
  253. package/esm2022/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +253 -0
  254. package/esm2022/app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component.mjs +33 -0
  255. package/esm2022/app/eo-framework/form-elements/id-reference/service/reference-finder.service.mjs +106 -0
  256. package/esm2022/app/eo-framework/form-elements/number/number.component.mjs +171 -0
  257. package/esm2022/app/eo-framework/form-elements/number-range/number-range.component.mjs +138 -0
  258. package/esm2022/app/eo-framework/form-elements/organization/organization.component.mjs +216 -0
  259. package/{esm2020 → esm2022}/app/eo-framework/form-elements/password/password.component.mjs +4 -4
  260. package/esm2022/app/eo-framework/form-elements/reference/reference.component.mjs +223 -0
  261. package/esm2022/app/eo-framework/form-elements/string/string.component.mjs +254 -0
  262. package/{esm2020 → esm2022}/app/eo-framework/frame/frame.component.mjs +5 -5
  263. package/esm2022/app/eo-framework/grid/column-configurator/column-configurator.component.mjs +211 -0
  264. package/esm2022/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.mjs +83 -0
  265. package/{esm2020 → esm2022}/app/eo-framework/grid/extensions/empty/empty.component.mjs +4 -4
  266. package/esm2022/app/eo-framework/grid/extensions/filter/abstract-filter.component.mjs +65 -0
  267. package/esm2022/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +82 -0
  268. package/esm2022/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.mjs +85 -0
  269. package/esm2022/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +98 -0
  270. package/esm2022/app/eo-framework/grid/extensions/pagination/pagination.component.mjs +52 -0
  271. package/{esm2020 → esm2022}/app/eo-framework/grid/extensions/quick-filter/quick-filter.component.mjs +6 -6
  272. package/{esm2020 → esm2022}/app/eo-framework/grid/extensions/reset-filter/reset-filter.component.mjs +4 -4
  273. package/esm2022/app/eo-framework/grid/extensions/services/list-settings.service.mjs +42 -0
  274. package/esm2022/app/eo-framework/grid/extensions/total-count/total-count.component.mjs +36 -0
  275. package/esm2022/app/eo-framework/grid/filters/codesystem-filter.component.mjs +94 -0
  276. package/esm2022/app/eo-framework/grid/filters/datetime-filter.component.mjs +75 -0
  277. package/esm2022/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +96 -0
  278. package/esm2022/app/eo-framework/grid/filters/list-filter.component.mjs +54 -0
  279. package/esm2022/app/eo-framework/grid/filters/organization-filter.component.mjs +64 -0
  280. package/esm2022/app/eo-framework/grid/grid.component.mjs +420 -0
  281. package/esm2022/app/eo-framework/grid/grid.module.mjs +97 -0
  282. package/esm2022/app/eo-framework/grid/row-grouping/batchRemover.mjs +50 -0
  283. package/esm2022/app/eo-framework/grid/row-grouping/group-stage.mjs +623 -0
  284. package/{esm2020 → esm2022}/app/eo-framework/grid/row-grouping/row-grouping.module.mjs +2 -1
  285. package/{esm2020 → esm2022}/app/eo-framework/inbox-details/duetimeInfo/duetimeInfo.component.mjs +5 -5
  286. package/esm2022/app/eo-framework/inbox-details/inbox-details.component.mjs +457 -0
  287. package/esm2022/app/eo-framework/list-container/list-container.component.mjs +101 -0
  288. package/{esm2020 → esm2022}/app/eo-framework/list-container/list-container.module.mjs +7 -7
  289. package/esm2022/app/eo-framework/media/content-preview.service.mjs +42 -0
  290. package/esm2022/app/eo-framework/media/media.component.mjs +315 -0
  291. package/{esm2020 → esm2022}/app/eo-framework/media/media.module.mjs +13 -13
  292. package/{esm2020 → esm2022}/app/eo-framework/object-details/edit-icon/edit-icon.component.mjs +5 -5
  293. package/esm2022/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +104 -0
  294. package/esm2022/app/eo-framework/object-details/object-details.component.mjs +439 -0
  295. package/{esm2020 → esm2022}/app/eo-framework/object-details/object-details.module.mjs +42 -42
  296. package/esm2022/app/eo-framework/object-details/object-history/history-filter/history-filter-pipe/history-filter.pipe.mjs +32 -0
  297. package/{esm2020 → esm2022}/app/eo-framework/object-details/object-history/history-filter/history-filter.component.mjs +4 -4
  298. package/esm2022/app/eo-framework/object-details/object-history/object-history.component.mjs +82 -0
  299. package/esm2022/app/eo-framework/object-details/object-links/object-links.component.mjs +292 -0
  300. package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.mjs +5 -5
  301. package/esm2022/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +123 -0
  302. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +639 -0
  303. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +238 -0
  304. package/esm2022/app/eo-framework/object-form/object-form/form-validation/form-validation.mjs +40 -0
  305. package/esm2022/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +81 -0
  306. package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +113 -0
  307. package/esm2022/app/eo-framework/object-form/object-form/object-form-script/object-form-scripting-scope.mjs +267 -0
  308. package/esm2022/app/eo-framework/object-form/object-form/object-form.component.mjs +148 -0
  309. package/esm2022/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +216 -0
  310. package/esm2022/app/eo-framework/object-form/object-form-helper.service.mjs +717 -0
  311. package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form.module.mjs +37 -37
  312. package/esm2022/app/eo-framework/object-state-details/object-state-details.component.mjs +135 -0
  313. package/{esm2020 → esm2022}/app/eo-framework/plugins/plugin.component.mjs +16 -16
  314. package/{esm2020 → esm2022}/app/eo-framework/plugins/plugin.directive.mjs +5 -5
  315. package/{esm2020 → esm2022}/app/eo-framework/plugins/plugin.service.mjs +6 -6
  316. package/esm2022/app/eo-framework/plugins/plugins.module.mjs +55 -0
  317. package/{esm2020 → esm2022}/app/eo-framework/prepare-details/prepare-content-exists-info/prepare-content-exists-info.component.mjs +4 -4
  318. package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +557 -0
  319. package/esm2022/app/eo-framework/process/details/process-details.component.mjs +226 -0
  320. package/{esm2020 → esm2022}/app/eo-framework/process/history/process-history.component.mjs +4 -4
  321. package/{esm2020 → esm2022}/app/eo-framework/process/process-file/process-file.component.mjs +6 -6
  322. package/esm2022/app/eo-framework/process-form/process-form.component.mjs +50 -0
  323. package/{esm2020 → esm2022}/app/eo-framework/process-form/process-form.module.mjs +11 -11
  324. package/esm2022/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +220 -0
  325. package/{esm2020 → esm2022}/app/eo-framework/quick-search/quick-search.module.mjs +11 -11
  326. package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +271 -0
  327. package/esm2022/app/eo-framework/result-list/result-list.component.mjs +369 -0
  328. package/{esm2020 → esm2022}/app/eo-framework/result-list/result-list.module.mjs +11 -11
  329. package/esm2022/app/eo-framework/settings/change-password/change-password-form/change-password-form.component.mjs +125 -0
  330. package/{esm2020 → esm2022}/app/eo-framework/settings/permissions/permissions.component.mjs +4 -4
  331. package/{esm2020 → esm2022}/app/eo-framework/settings/settings.module.mjs +13 -13
  332. package/esm2022/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts-section/global-shortcuts-section.component.mjs +65 -0
  333. package/esm2022/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts.component.mjs +130 -0
  334. package/{esm2020 → esm2022}/app/eo-framework/shortcuts/shortcut.interface.mjs +1 -1
  335. package/{esm2020 → esm2022}/app/eo-framework/shortcuts/shortcuts.directive.mjs +5 -5
  336. package/{esm2020 → esm2022}/app/eo-framework/shortcuts/shortcuts.module.mjs +9 -9
  337. package/esm2022/app/eo-framework/shortcuts/shortcuts.service.mjs +45 -0
  338. package/esm2022/app/eo-framework/stored-query/stored-query/stored-query.component.mjs +225 -0
  339. package/esm2022/app/eo-framework/stored-query/stored-query-details/dynamic-property-switch/dynamic-property-switch.component.mjs +46 -0
  340. package/esm2022/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +501 -0
  341. package/{esm2020 → esm2022}/app/eo-framework/stored-query/stored-query.module.mjs +20 -20
  342. package/{esm2020 → esm2022}/app/eo-framework/tree/tree-node/tree-node.component.mjs +5 -5
  343. package/esm2022/app/eo-framework/tree/tree.component.mjs +281 -0
  344. package/{esm2020 → esm2022}/app/eo-framework/tree/tree.module.mjs +7 -7
  345. package/{esm2020 → esm2022}/app/eo-framework/ui/animations/panel-loading.animation.mjs +1 -1
  346. package/esm2022/app/eo-framework/ui/clipboard/clipboard.component.mjs +159 -0
  347. package/esm2022/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +130 -0
  348. package/esm2022/app/eo-framework/ui/eo-icon/eo-icon.component.mjs +119 -0
  349. package/esm2022/app/eo-framework/ui/error-message/error-message.component.mjs +33 -0
  350. package/{esm2020 → esm2022}/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +4 -4
  351. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +147 -0
  352. package/{esm2020 → esm2022}/app/eo-framework/ui/loading-spinner/loading-spinner.component.mjs +8 -8
  353. package/esm2022/app/eo-framework/ui/outside-click/outside-click.directive.mjs +60 -0
  354. package/esm2022/app/eo-framework/ui/overlay/overlay.component.mjs +71 -0
  355. package/{esm2020 → esm2022}/app/eo-framework/ui/query-scope-select/query-scope-select.component.mjs +5 -5
  356. package/esm2022/app/eo-framework/ui/router-link/router-link.directive.mjs +26 -0
  357. package/esm2022/app/eo-framework/ui/rtl-aware/rtl-aware.directive.mjs +57 -0
  358. package/esm2022/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +32 -0
  359. package/{esm2020 → esm2022}/app/eo-framework/ui/ui.module.mjs +59 -59
  360. package/esm2022/app/eo-framework/ui/user-avatar/user-avatar.component.mjs +54 -0
  361. package/esm2022/app/eo-framework/upload-overlay/upload-overlay-guard.service.mjs +17 -0
  362. package/esm2022/app/eo-framework/upload-overlay/upload-overlay.component.mjs +397 -0
  363. package/{esm2020 → esm2022}/app/eo-framework/util/directive/prevent-double-click.directive.mjs +5 -5
  364. package/esm2022/app/eo-framework/util/directive/trap-focus.directive.mjs +69 -0
  365. package/esm2022/app/eo-framework/util/services/utilities.service.mjs +25 -0
  366. package/esm2022/app/eo-framework/util/sortable/order-by.pipe.mjs +48 -0
  367. package/{esm2020 → esm2022}/app/eo-framework/util/util.module.mjs +5 -5
  368. package/esm2022/app/eo-framework-core/agent/agent.service.mjs +178 -0
  369. package/esm2022/app/eo-framework-core/api/grid.service.mjs +732 -0
  370. package/esm2022/app/eo-framework-core/api/plugins.service.mjs +258 -0
  371. package/esm2022/app/eo-framework-core/empty-state/empty-state.service.mjs +53 -0
  372. package/esm2022/app/eo-framework-core/eo-framework-core.module.mjs +105 -0
  373. package/esm2022/app/eo-framework-core/error-handler/error-handler.service.mjs +89 -0
  374. package/esm2022/app/eo-framework-core/layout/layout.service.mjs +106 -0
  375. package/esm2022/app/eo-framework-core/location/location.service.mjs +146 -0
  376. package/esm2022/app/eo-framework-core/pending-changes/pending-changes-guard.service.mjs +18 -0
  377. package/esm2022/app/eo-framework-core/pending-changes/pending-changes.service.mjs +112 -0
  378. package/esm2022/app/eo-framework-core/pipes/filesize.pipe.mjs +30 -0
  379. package/{esm2020 → esm2022}/app/eo-framework-core/pipes/keys.pipe.mjs +4 -4
  380. package/esm2022/app/eo-framework-core/pipes/locale-date.pipe.mjs +63 -0
  381. package/esm2022/app/eo-framework-core/pipes/locale-number.pipe.mjs +109 -0
  382. package/{esm2020 → esm2022}/app/eo-framework-core/pipes/pipes.module.mjs +19 -19
  383. package/{esm2020 → esm2022}/app/eo-framework-core/pipes/safe-html.pipe.mjs +5 -5
  384. package/esm2022/app/eo-framework-core/references/reference.service.mjs +266 -0
  385. package/esm2022/app/eo-framework-core/route-guards/auth/auth-guard.service.mjs +29 -0
  386. package/esm2022/app/eo-framework-core/route-guards/capabilities/capabilities-guard.service.mjs +55 -0
  387. package/esm2022/app/eo-framework-core/search/app-search.service.mjs +387 -0
  388. package/esm2022/app/eo-framework-core/selection/selection.service.mjs +63 -0
  389. package/esm2022/app/eo-framework-core/title/page-title.service.mjs +42 -0
  390. package/{fesm2020 → fesm2022}/eo-sdk-client.mjs +2280 -2154
  391. package/fesm2022/eo-sdk-client.mjs.map +1 -0
  392. package/misc/scripts/copy-client-assets.js +1 -1
  393. package/package.json +31 -44
  394. package/styles.css +725 -550
  395. package/styles.scss +3 -3
  396. package/esm2020/app/eo-client/about-state/about-state.component.mjs +0 -81
  397. package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +0 -305
  398. package/esm2020/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +0 -297
  399. package/esm2020/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +0 -265
  400. package/esm2020/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.mjs +0 -121
  401. package/esm2020/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +0 -125
  402. package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +0 -192
  403. package/esm2020/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +0 -164
  404. package/esm2020/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +0 -59
  405. package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +0 -60
  406. package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.mjs +0 -42
  407. package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +0 -69
  408. package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.mjs +0 -43
  409. package/esm2020/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +0 -116
  410. package/esm2020/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +0 -123
  411. package/esm2020/app/eo-client/eo-client.module.mjs +0 -170
  412. package/esm2020/app/eo-client/favorite-state/favorite-state.component.mjs +0 -150
  413. package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +0 -218
  414. package/esm2020/app/eo-client/login/login.component.mjs +0 -111
  415. package/esm2020/app/eo-client/notifications-state/notifications-state.component.mjs +0 -227
  416. package/esm2020/app/eo-client/object-state/object-state/object-state.component.mjs +0 -342
  417. package/esm2020/app/eo-client/object-state/object-state-service/object-state.service.mjs +0 -134
  418. package/esm2020/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +0 -159
  419. package/esm2020/app/eo-client/process-state/process-state.component.mjs +0 -330
  420. package/esm2020/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +0 -150
  421. package/esm2020/app/eo-client/result-state/result-state.component.mjs +0 -71
  422. package/esm2020/app/eo-client/settings/settings.component.mjs +0 -287
  423. package/esm2020/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +0 -209
  424. package/esm2020/app/eo-client/version-state/version-state.component.mjs +0 -142
  425. package/esm2020/app/eo-framework/actions/action-menu/action-menu.component.mjs +0 -208
  426. package/esm2020/app/eo-framework/actions/action-service/action.service.mjs +0 -185
  427. package/esm2020/app/eo-framework/actions/action-target.mjs +0 -28
  428. package/esm2020/app/eo-framework/actions/action.module.mjs +0 -274
  429. package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +0 -201
  430. package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission-action.mjs +0 -50
  431. package/esm2020/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +0 -134
  432. package/esm2020/app/eo-framework/actions/actions/add-subscription-action/add-subscription-action.mjs +0 -50
  433. package/esm2020/app/eo-framework/actions/actions/clipboard/clipboard-object-action/clipboard-object-action.component.mjs +0 -95
  434. package/esm2020/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +0 -88
  435. package/esm2020/app/eo-framework/actions/actions/delete-action/delete/delete.component.mjs +0 -111
  436. package/esm2020/app/eo-framework/actions/actions/email/email/email.component.mjs +0 -97
  437. package/esm2020/app/eo-framework/actions/actions/favorite-action/favorite-action.mjs +0 -76
  438. package/esm2020/app/eo-framework/actions/actions/open-context-action/open-context-action.mjs +0 -56
  439. package/esm2020/app/eo-framework/actions/actions/open-document-action/open-document-action.component.mjs +0 -69
  440. package/esm2020/app/eo-framework/actions/actions/remove-subscription-action/remove-subscription-action.mjs +0 -45
  441. package/esm2020/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +0 -89
  442. package/esm2020/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +0 -184
  443. package/esm2020/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.mjs +0 -53
  444. package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +0 -146
  445. package/esm2020/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +0 -107
  446. package/esm2020/app/eo-framework/app-shell/app-bar/app-add/app-add-dialog/app-add-dialog.component.mjs +0 -173
  447. package/esm2020/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +0 -203
  448. package/esm2020/app/eo-framework/app-shell/app-bar/app-process/app-process.component.mjs +0 -112
  449. package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +0 -793
  450. package/esm2020/app/eo-framework/app-shell/app-bar/context-search/context-search.component.mjs +0 -46
  451. package/esm2020/app/eo-framework/app-shell/app-bar/user-avatar-overlay/user-avatar-overlay.component.mjs +0 -42
  452. package/esm2020/app/eo-framework/form-elements/checkbox/checkbox.component.mjs +0 -62
  453. package/esm2020/app/eo-framework/form-elements/codesystem/codesystem.component.mjs +0 -312
  454. package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +0 -101
  455. package/esm2020/app/eo-framework/form-elements/date/year-range/year-range.directive.mjs +0 -44
  456. package/esm2020/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +0 -184
  457. package/esm2020/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +0 -303
  458. package/esm2020/app/eo-framework/form-elements/form-input/form-input.component.mjs +0 -73
  459. package/esm2020/app/eo-framework/form-elements/form-input/input-focus/input-focus.directive.mjs +0 -35
  460. package/esm2020/app/eo-framework/form-elements/id-reference/id-reference.component.mjs +0 -252
  461. package/esm2020/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +0 -253
  462. package/esm2020/app/eo-framework/form-elements/id-reference/reference-finder-entry/reference-finder-entry.component.mjs +0 -33
  463. package/esm2020/app/eo-framework/form-elements/id-reference/service/reference-finder.service.mjs +0 -106
  464. package/esm2020/app/eo-framework/form-elements/number/number.component.mjs +0 -171
  465. package/esm2020/app/eo-framework/form-elements/number-range/number-range.component.mjs +0 -138
  466. package/esm2020/app/eo-framework/form-elements/organization/organization.component.mjs +0 -216
  467. package/esm2020/app/eo-framework/form-elements/reference/reference.component.mjs +0 -223
  468. package/esm2020/app/eo-framework/form-elements/string/string.component.mjs +0 -254
  469. package/esm2020/app/eo-framework/grid/column-configurator/column-configurator.component.mjs +0 -211
  470. package/esm2020/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.mjs +0 -83
  471. package/esm2020/app/eo-framework/grid/extensions/filter/abstract-filter.component.mjs +0 -65
  472. package/esm2020/app/eo-framework/grid/extensions/filter/custom/custom-filter.component.mjs +0 -82
  473. package/esm2020/app/eo-framework/grid/extensions/filter/setFilters/set-filter.component.mjs +0 -85
  474. package/esm2020/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +0 -98
  475. package/esm2020/app/eo-framework/grid/extensions/pagination/pagination.component.mjs +0 -52
  476. package/esm2020/app/eo-framework/grid/extensions/services/list-settings.service.mjs +0 -42
  477. package/esm2020/app/eo-framework/grid/extensions/total-count/total-count.component.mjs +0 -36
  478. package/esm2020/app/eo-framework/grid/filters/codesystem-filter.component.mjs +0 -94
  479. package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +0 -75
  480. package/esm2020/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +0 -96
  481. package/esm2020/app/eo-framework/grid/filters/list-filter.component.mjs +0 -54
  482. package/esm2020/app/eo-framework/grid/filters/organization-filter.component.mjs +0 -64
  483. package/esm2020/app/eo-framework/grid/grid.component.mjs +0 -421
  484. package/esm2020/app/eo-framework/grid/grid.module.mjs +0 -107
  485. package/esm2020/app/eo-framework/grid/row-grouping/group-stage.mjs +0 -528
  486. package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +0 -457
  487. package/esm2020/app/eo-framework/list-container/list-container.component.mjs +0 -101
  488. package/esm2020/app/eo-framework/media/content-preview.service.mjs +0 -42
  489. package/esm2020/app/eo-framework/media/media.component.mjs +0 -314
  490. package/esm2020/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +0 -104
  491. package/esm2020/app/eo-framework/object-details/object-details.component.mjs +0 -439
  492. package/esm2020/app/eo-framework/object-details/object-history/history-filter/history-filter-pipe/history-filter.pipe.mjs +0 -32
  493. package/esm2020/app/eo-framework/object-details/object-history/object-history.component.mjs +0 -82
  494. package/esm2020/app/eo-framework/object-details/object-links/object-links.component.mjs +0 -292
  495. package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +0 -123
  496. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +0 -634
  497. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +0 -238
  498. package/esm2020/app/eo-framework/object-form/object-form/form-validation/form-validation.mjs +0 -40
  499. package/esm2020/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +0 -81
  500. package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +0 -113
  501. package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-scripting-scope.mjs +0 -267
  502. package/esm2020/app/eo-framework/object-form/object-form/object-form.component.mjs +0 -148
  503. package/esm2020/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +0 -216
  504. package/esm2020/app/eo-framework/object-form/object-form-helper.service.mjs +0 -717
  505. package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +0 -134
  506. package/esm2020/app/eo-framework/plugins/plugins.module.mjs +0 -59
  507. package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +0 -557
  508. package/esm2020/app/eo-framework/process/details/process-details.component.mjs +0 -226
  509. package/esm2020/app/eo-framework/process-form/process-form.component.mjs +0 -50
  510. package/esm2020/app/eo-framework/quick-search/quick-search/quick-search.component.mjs +0 -220
  511. package/esm2020/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +0 -271
  512. package/esm2020/app/eo-framework/result-list/result-list.component.mjs +0 -368
  513. package/esm2020/app/eo-framework/settings/change-password/change-password-form/change-password-form.component.mjs +0 -125
  514. package/esm2020/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts-section/global-shortcuts-section.component.mjs +0 -65
  515. package/esm2020/app/eo-framework/shortcuts/global-shortcuts/global-shortcuts.component.mjs +0 -130
  516. package/esm2020/app/eo-framework/shortcuts/shortcuts.service.mjs +0 -45
  517. package/esm2020/app/eo-framework/stored-query/stored-query/stored-query.component.mjs +0 -225
  518. package/esm2020/app/eo-framework/stored-query/stored-query-details/dynamic-property-switch/dynamic-property-switch.component.mjs +0 -46
  519. package/esm2020/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +0 -501
  520. package/esm2020/app/eo-framework/tree/tree.component.mjs +0 -281
  521. package/esm2020/app/eo-framework/ui/clipboard/clipboard.component.mjs +0 -159
  522. package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +0 -130
  523. package/esm2020/app/eo-framework/ui/eo-icon/eo-icon.component.mjs +0 -119
  524. package/esm2020/app/eo-framework/ui/error-message/error-message.component.mjs +0 -33
  525. package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +0 -146
  526. package/esm2020/app/eo-framework/ui/outside-click/outside-click.directive.mjs +0 -60
  527. package/esm2020/app/eo-framework/ui/overlay/overlay.component.mjs +0 -71
  528. package/esm2020/app/eo-framework/ui/router-link/router-link.directive.mjs +0 -26
  529. package/esm2020/app/eo-framework/ui/rtl-aware/rtl-aware.directive.mjs +0 -57
  530. package/esm2020/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +0 -32
  531. package/esm2020/app/eo-framework/ui/user-avatar/user-avatar.component.mjs +0 -54
  532. package/esm2020/app/eo-framework/upload-overlay/upload-overlay-guard.service.mjs +0 -17
  533. package/esm2020/app/eo-framework/upload-overlay/upload-overlay.component.mjs +0 -397
  534. package/esm2020/app/eo-framework/util/directive/trap-focus.directive.mjs +0 -69
  535. package/esm2020/app/eo-framework/util/services/utilities.service.mjs +0 -25
  536. package/esm2020/app/eo-framework/util/sortable/order-by.pipe.mjs +0 -48
  537. package/esm2020/app/eo-framework-core/agent/agent.service.mjs +0 -178
  538. package/esm2020/app/eo-framework-core/api/grid.service.mjs +0 -732
  539. package/esm2020/app/eo-framework-core/api/plugins.service.mjs +0 -258
  540. package/esm2020/app/eo-framework-core/empty-state/empty-state.service.mjs +0 -53
  541. package/esm2020/app/eo-framework-core/eo-framework-core.module.mjs +0 -105
  542. package/esm2020/app/eo-framework-core/error-handler/error-handler.service.mjs +0 -89
  543. package/esm2020/app/eo-framework-core/layout/layout.service.mjs +0 -106
  544. package/esm2020/app/eo-framework-core/location/location.service.mjs +0 -146
  545. package/esm2020/app/eo-framework-core/pending-changes/pending-changes-guard.service.mjs +0 -18
  546. package/esm2020/app/eo-framework-core/pending-changes/pending-changes.service.mjs +0 -112
  547. package/esm2020/app/eo-framework-core/pipes/filesize.pipe.mjs +0 -30
  548. package/esm2020/app/eo-framework-core/pipes/locale-date.pipe.mjs +0 -63
  549. package/esm2020/app/eo-framework-core/pipes/locale-number.pipe.mjs +0 -109
  550. package/esm2020/app/eo-framework-core/references/reference.service.mjs +0 -266
  551. package/esm2020/app/eo-framework-core/route-guards/auth/auth-guard.service.mjs +0 -29
  552. package/esm2020/app/eo-framework-core/route-guards/capabilities/capabilities-guard.service.mjs +0 -55
  553. package/esm2020/app/eo-framework-core/search/app-search.service.mjs +0 -387
  554. package/esm2020/app/eo-framework-core/selection/selection.service.mjs +0 -63
  555. package/esm2020/app/eo-framework-core/title/page-title.service.mjs +0 -42
  556. package/esm2020/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.mjs +0 -5
  557. package/esm2020/projects/eo-sdk/core/lib/config/core-config.mjs +0 -23
  558. package/esm2020/projects/eo-sdk/core/lib/config/core-init.service.mjs +0 -71
  559. package/esm2020/projects/eo-sdk/core/lib/config/core-init.tokens.mjs +0 -8
  560. package/esm2020/projects/eo-sdk/core/lib/config/initialize-module.mjs +0 -11
  561. package/esm2020/projects/eo-sdk/core/lib/config/missing-translation-handler.mjs +0 -15
  562. package/esm2020/projects/eo-sdk/core/lib/config/translate-json-loader.mjs +0 -130
  563. package/esm2020/projects/eo-sdk/core/lib/environment.enaio.mjs +0 -12
  564. package/esm2020/projects/eo-sdk/core/lib/eo-core-shared.module.mjs +0 -24
  565. package/esm2020/projects/eo-sdk/core/lib/eo-core.module.mjs +0 -117
  566. package/esm2020/projects/eo-sdk/core/lib/interface/change-password.interface.mjs +0 -2
  567. package/esm2020/projects/eo-sdk/core/lib/interface/event.interface.mjs +0 -2
  568. package/esm2020/projects/eo-sdk/core/lib/interface/http-options.interface.mjs +0 -2
  569. package/esm2020/projects/eo-sdk/core/lib/interface/logger.interface.mjs +0 -7
  570. package/esm2020/projects/eo-sdk/core/lib/interface/organization-objects.interface.mjs +0 -2
  571. package/esm2020/projects/eo-sdk/core/lib/interface/tree-node.interface.mjs +0 -2
  572. package/esm2020/projects/eo-sdk/core/lib/model/baseparams.model.mjs +0 -2
  573. package/esm2020/projects/eo-sdk/core/lib/model/bpm.model.mjs +0 -70
  574. package/esm2020/projects/eo-sdk/core/lib/model/custom-action.model.mjs +0 -2
  575. package/esm2020/projects/eo-sdk/core/lib/model/dms-object-history.model.mjs +0 -30
  576. package/esm2020/projects/eo-sdk/core/lib/model/dms-object.model.mjs +0 -140
  577. package/esm2020/projects/eo-sdk/core/lib/model/eo-error.model.mjs +0 -37
  578. package/esm2020/projects/eo-sdk/core/lib/model/eo-user.model.mjs +0 -86
  579. package/esm2020/projects/eo-sdk/core/lib/model/inbox-item.model.mjs +0 -36
  580. package/esm2020/projects/eo-sdk/core/lib/model/object-type.model.mjs +0 -39
  581. package/esm2020/projects/eo-sdk/core/lib/model/org.model.mjs +0 -2
  582. package/esm2020/projects/eo-sdk/core/lib/model/prepared-item.model.mjs +0 -35
  583. package/esm2020/projects/eo-sdk/core/lib/model/range-value.model.mjs +0 -45
  584. package/esm2020/projects/eo-sdk/core/lib/model/upload-file-item.model.mjs +0 -17
  585. package/esm2020/projects/eo-sdk/core/lib/model/upload-target.model.mjs +0 -50
  586. package/esm2020/projects/eo-sdk/core/lib/model/work-item-history.model.mjs +0 -54
  587. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth-interceptor.mjs +0 -29
  588. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.mjs +0 -2
  589. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth.service.mjs +0 -215
  590. package/esm2020/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.mjs +0 -2
  591. package/esm2020/projects/eo-sdk/core/lib/service/backend/backend.service.mjs +0 -358
  592. package/esm2020/projects/eo-sdk/core/lib/service/bpm/bpm.service.mjs +0 -286
  593. package/esm2020/projects/eo-sdk/core/lib/service/cache/app-cache.service.mjs +0 -117
  594. package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.mjs +0 -2
  595. package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.mjs +0 -60
  596. package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.mjs +0 -6
  597. package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.mjs +0 -2
  598. package/esm2020/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.mjs +0 -100
  599. package/esm2020/projects/eo-sdk/core/lib/service/config/config.enum.mjs +0 -6
  600. package/esm2020/projects/eo-sdk/core/lib/service/config/config.interface.mjs +0 -2
  601. package/esm2020/projects/eo-sdk/core/lib/service/config/config.service.mjs +0 -135
  602. package/esm2020/projects/eo-sdk/core/lib/service/dms/dms.service.mjs +0 -507
  603. package/esm2020/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.mjs +0 -2
  604. package/esm2020/projects/eo-sdk/core/lib/service/events/event.service.mjs +0 -44
  605. package/esm2020/projects/eo-sdk/core/lib/service/events/events.mjs +0 -27
  606. package/esm2020/projects/eo-sdk/core/lib/service/inbox/inbox.service.mjs +0 -111
  607. package/esm2020/projects/eo-sdk/core/lib/service/logger/console-log.service.mjs +0 -41
  608. package/esm2020/projects/eo-sdk/core/lib/service/logger/logger.mjs +0 -47
  609. package/esm2020/projects/eo-sdk/core/lib/service/notifications/notifications.service.mjs +0 -136
  610. package/esm2020/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.mjs +0 -2
  611. package/esm2020/projects/eo-sdk/core/lib/service/prepare/prepare.service.mjs +0 -305
  612. package/esm2020/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.mjs +0 -2
  613. package/esm2020/projects/eo-sdk/core/lib/service/search/search-query.model.mjs +0 -510
  614. package/esm2020/projects/eo-sdk/core/lib/service/search/search.service.mjs +0 -478
  615. package/esm2020/projects/eo-sdk/core/lib/service/signing/signing.service.mjs +0 -60
  616. package/esm2020/projects/eo-sdk/core/lib/service/storage/local-storage.service.mjs +0 -111
  617. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.mjs +0 -2
  618. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.mjs +0 -216
  619. package/esm2020/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.mjs +0 -98
  620. package/esm2020/projects/eo-sdk/core/lib/service/system/system.service.mjs +0 -345
  621. package/esm2020/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.mjs +0 -2
  622. package/esm2020/projects/eo-sdk/core/lib/service/system-status/system-status.service.mjs +0 -104
  623. package/esm2020/projects/eo-sdk/core/lib/service/system-status/system.status.enum.mjs +0 -9
  624. package/esm2020/projects/eo-sdk/core/lib/service/system-status/system.status.interface.mjs +0 -2
  625. package/esm2020/projects/eo-sdk/core/lib/service/upload/upload.service.mjs +0 -46
  626. package/esm2020/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.mjs +0 -83
  627. package/esm2020/projects/eo-sdk/core/lib/service/user/user.service.mjs +0 -399
  628. package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +0 -304
  629. package/esm2020/projects/eo-sdk/core/public_api.mjs +0 -85
  630. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +0 -6118
  631. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +0 -1
  632. package/fesm2015/eo-sdk-client.mjs +0 -27050
  633. package/fesm2015/eo-sdk-client.mjs.map +0 -1
  634. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +0 -6133
  635. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +0 -1
  636. package/fesm2020/eo-sdk-client.mjs.map +0 -1
  637. package/projects/eo-sdk/core/README.md +0 -113
  638. package/projects/eo-sdk/core/eo-sdk-client-projects-eo-sdk-core.d.ts.map +0 -1
  639. package/projects/eo-sdk/core/index.d.ts +0 -6
  640. package/projects/eo-sdk/core/lib/config/core-config.d.ts +0 -14
  641. package/projects/eo-sdk/core/lib/config/core-config.d.ts.map +0 -1
  642. package/projects/eo-sdk/core/lib/config/core-init.service.d.ts +0 -33
  643. package/projects/eo-sdk/core/lib/config/core-init.service.d.ts.map +0 -1
  644. package/projects/eo-sdk/core/lib/config/core-init.tokens.d.ts +0 -8
  645. package/projects/eo-sdk/core/lib/config/core-init.tokens.d.ts.map +0 -1
  646. package/projects/eo-sdk/core/lib/config/initialize-module.d.ts +0 -7
  647. package/projects/eo-sdk/core/lib/config/initialize-module.d.ts.map +0 -1
  648. package/projects/eo-sdk/core/lib/config/missing-translation-handler.d.ts +0 -14
  649. package/projects/eo-sdk/core/lib/config/missing-translation-handler.d.ts.map +0 -1
  650. package/projects/eo-sdk/core/lib/config/translate-json-loader.d.ts +0 -21
  651. package/projects/eo-sdk/core/lib/config/translate-json-loader.d.ts.map +0 -1
  652. package/projects/eo-sdk/core/lib/environment.enaio.d.ts +0 -6
  653. package/projects/eo-sdk/core/lib/environment.enaio.d.ts.map +0 -1
  654. package/projects/eo-sdk/core/lib/eo-core-shared.module.d.ts +0 -12
  655. package/projects/eo-sdk/core/lib/eo-core-shared.module.d.ts.map +0 -1
  656. package/projects/eo-sdk/core/lib/eo-core.module.d.ts +0 -46
  657. package/projects/eo-sdk/core/lib/eo-core.module.d.ts.map +0 -1
  658. package/projects/eo-sdk/core/lib/interface/change-password.interface.d.ts +0 -8
  659. package/projects/eo-sdk/core/lib/interface/change-password.interface.d.ts.map +0 -1
  660. package/projects/eo-sdk/core/lib/interface/event.interface.d.ts +0 -14
  661. package/projects/eo-sdk/core/lib/interface/event.interface.d.ts.map +0 -1
  662. package/projects/eo-sdk/core/lib/interface/http-options.interface.d.ts +0 -17
  663. package/projects/eo-sdk/core/lib/interface/http-options.interface.d.ts.map +0 -1
  664. package/projects/eo-sdk/core/lib/interface/logger.interface.d.ts +0 -20
  665. package/projects/eo-sdk/core/lib/interface/logger.interface.d.ts.map +0 -1
  666. package/projects/eo-sdk/core/lib/interface/organization-objects.interface.d.ts +0 -20
  667. package/projects/eo-sdk/core/lib/interface/organization-objects.interface.d.ts.map +0 -1
  668. package/projects/eo-sdk/core/lib/interface/tree-node.interface.d.ts +0 -24
  669. package/projects/eo-sdk/core/lib/interface/tree-node.interface.d.ts.map +0 -1
  670. package/projects/eo-sdk/core/lib/model/baseparams.model.d.ts +0 -58
  671. package/projects/eo-sdk/core/lib/model/baseparams.model.d.ts.map +0 -1
  672. package/projects/eo-sdk/core/lib/model/bpm.model.d.ts +0 -253
  673. package/projects/eo-sdk/core/lib/model/bpm.model.d.ts.map +0 -1
  674. package/projects/eo-sdk/core/lib/model/custom-action.model.d.ts +0 -34
  675. package/projects/eo-sdk/core/lib/model/custom-action.model.d.ts.map +0 -1
  676. package/projects/eo-sdk/core/lib/model/dms-object-history.model.d.ts +0 -59
  677. package/projects/eo-sdk/core/lib/model/dms-object-history.model.d.ts.map +0 -1
  678. package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts +0 -137
  679. package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts.map +0 -1
  680. package/projects/eo-sdk/core/lib/model/eo-error.model.d.ts +0 -19
  681. package/projects/eo-sdk/core/lib/model/eo-error.model.d.ts.map +0 -1
  682. package/projects/eo-sdk/core/lib/model/eo-user.model.d.ts +0 -107
  683. package/projects/eo-sdk/core/lib/model/eo-user.model.d.ts.map +0 -1
  684. package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts +0 -71
  685. package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts.map +0 -1
  686. package/projects/eo-sdk/core/lib/model/object-type.model.d.ts +0 -125
  687. package/projects/eo-sdk/core/lib/model/object-type.model.d.ts.map +0 -1
  688. package/projects/eo-sdk/core/lib/model/org.model.d.ts +0 -94
  689. package/projects/eo-sdk/core/lib/model/org.model.d.ts.map +0 -1
  690. package/projects/eo-sdk/core/lib/model/prepared-item.model.d.ts +0 -190
  691. package/projects/eo-sdk/core/lib/model/prepared-item.model.d.ts.map +0 -1
  692. package/projects/eo-sdk/core/lib/model/range-value.model.d.ts +0 -22
  693. package/projects/eo-sdk/core/lib/model/range-value.model.d.ts.map +0 -1
  694. package/projects/eo-sdk/core/lib/model/upload-file-item.model.d.ts +0 -30
  695. package/projects/eo-sdk/core/lib/model/upload-file-item.model.d.ts.map +0 -1
  696. package/projects/eo-sdk/core/lib/model/upload-target.model.d.ts +0 -60
  697. package/projects/eo-sdk/core/lib/model/upload-target.model.d.ts.map +0 -1
  698. package/projects/eo-sdk/core/lib/model/work-item-history.model.d.ts +0 -52
  699. package/projects/eo-sdk/core/lib/model/work-item-history.model.d.ts.map +0 -1
  700. package/projects/eo-sdk/core/lib/service/auth/auth-interceptor.d.ts +0 -12
  701. package/projects/eo-sdk/core/lib/service/auth/auth-interceptor.d.ts.map +0 -1
  702. package/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.d.ts +0 -23
  703. package/projects/eo-sdk/core/lib/service/auth/auth-profile.interface.d.ts.map +0 -1
  704. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts +0 -104
  705. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts.map +0 -1
  706. package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts +0 -18
  707. package/projects/eo-sdk/core/lib/service/auth/gateway-info.interface.d.ts.map +0 -1
  708. package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts +0 -209
  709. package/projects/eo-sdk/core/lib/service/backend/backend.service.d.ts.map +0 -1
  710. package/projects/eo-sdk/core/lib/service/bpm/bpm.service.d.ts +0 -150
  711. package/projects/eo-sdk/core/lib/service/bpm/bpm.service.d.ts.map +0 -1
  712. package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts +0 -59
  713. package/projects/eo-sdk/core/lib/service/cache/app-cache.service.d.ts.map +0 -1
  714. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts +0 -54
  715. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts.map +0 -1
  716. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts +0 -35
  717. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts.map +0 -1
  718. package/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.d.ts +0 -5
  719. package/projects/eo-sdk/core/lib/service/clipboard/clipboard-action.enum.d.ts.map +0 -1
  720. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.d.ts +0 -16
  721. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.interface.d.ts.map +0 -1
  722. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.d.ts +0 -49
  723. package/projects/eo-sdk/core/lib/service/clipboard/clipboard.service.d.ts.map +0 -1
  724. package/projects/eo-sdk/core/lib/service/config/config.enum.d.ts +0 -5
  725. package/projects/eo-sdk/core/lib/service/config/config.enum.d.ts.map +0 -1
  726. package/projects/eo-sdk/core/lib/service/config/config.interface.d.ts +0 -55
  727. package/projects/eo-sdk/core/lib/service/config/config.interface.d.ts.map +0 -1
  728. package/projects/eo-sdk/core/lib/service/config/config.service.d.ts +0 -80
  729. package/projects/eo-sdk/core/lib/service/config/config.service.d.ts.map +0 -1
  730. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +0 -286
  731. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts.map +0 -1
  732. package/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.d.ts +0 -13
  733. package/projects/eo-sdk/core/lib/service/dms/dmsParams.interface.d.ts.map +0 -1
  734. package/projects/eo-sdk/core/lib/service/events/event.service.d.ts +0 -31
  735. package/projects/eo-sdk/core/lib/service/events/event.service.d.ts.map +0 -1
  736. package/projects/eo-sdk/core/lib/service/events/events.d.ts +0 -27
  737. package/projects/eo-sdk/core/lib/service/events/events.d.ts.map +0 -1
  738. package/projects/eo-sdk/core/lib/service/inbox/inbox.service.d.ts +0 -66
  739. package/projects/eo-sdk/core/lib/service/inbox/inbox.service.d.ts.map +0 -1
  740. package/projects/eo-sdk/core/lib/service/logger/console-log.service.d.ts +0 -20
  741. package/projects/eo-sdk/core/lib/service/logger/console-log.service.d.ts.map +0 -1
  742. package/projects/eo-sdk/core/lib/service/logger/logger.d.ts +0 -25
  743. package/projects/eo-sdk/core/lib/service/logger/logger.d.ts.map +0 -1
  744. package/projects/eo-sdk/core/lib/service/notifications/notifications.service.d.ts +0 -78
  745. package/projects/eo-sdk/core/lib/service/notifications/notifications.service.d.ts.map +0 -1
  746. package/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.d.ts +0 -9
  747. package/projects/eo-sdk/core/lib/service/prepare/objectTypes.interface.d.ts.map +0 -1
  748. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts +0 -189
  749. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts.map +0 -1
  750. package/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.d.ts +0 -10
  751. package/projects/eo-sdk/core/lib/service/search/search-filter-type.interface.d.ts.map +0 -1
  752. package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts +0 -327
  753. package/projects/eo-sdk/core/lib/service/search/search-query.model.d.ts.map +0 -1
  754. package/projects/eo-sdk/core/lib/service/search/search.service.d.ts +0 -173
  755. package/projects/eo-sdk/core/lib/service/search/search.service.d.ts.map +0 -1
  756. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts +0 -52
  757. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts.map +0 -1
  758. package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts +0 -53
  759. package/projects/eo-sdk/core/lib/service/storage/local-storage.service.d.ts.map +0 -1
  760. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.d.ts +0 -15
  761. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries-subscription.interface.d.ts.map +0 -1
  762. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts +0 -108
  763. package/projects/eo-sdk/core/lib/service/stored-queries/stored-queries.service.d.ts.map +0 -1
  764. package/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.d.ts +0 -74
  765. package/projects/eo-sdk/core/lib/service/stored-queries/stored-query.model.d.ts.map +0 -1
  766. package/projects/eo-sdk/core/lib/service/system/system.service.d.ts +0 -125
  767. package/projects/eo-sdk/core/lib/service/system/system.service.d.ts.map +0 -1
  768. package/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.d.ts +0 -53
  769. package/projects/eo-sdk/core/lib/service/system/systemdefinition.interface.d.ts.map +0 -1
  770. package/projects/eo-sdk/core/lib/service/system-status/system-status.service.d.ts +0 -26
  771. package/projects/eo-sdk/core/lib/service/system-status/system-status.service.d.ts.map +0 -1
  772. package/projects/eo-sdk/core/lib/service/system-status/system.status.enum.d.ts +0 -8
  773. package/projects/eo-sdk/core/lib/service/system-status/system.status.enum.d.ts.map +0 -1
  774. package/projects/eo-sdk/core/lib/service/system-status/system.status.interface.d.ts +0 -8
  775. package/projects/eo-sdk/core/lib/service/system-status/system.status.interface.d.ts.map +0 -1
  776. package/projects/eo-sdk/core/lib/service/upload/upload.service.d.ts +0 -28
  777. package/projects/eo-sdk/core/lib/service/upload/upload.service.d.ts.map +0 -1
  778. package/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.d.ts +0 -50
  779. package/projects/eo-sdk/core/lib/service/upload-registry/upload-registry.service.d.ts.map +0 -1
  780. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts +0 -216
  781. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts.map +0 -1
  782. package/projects/eo-sdk/core/lib/util/utils.d.ts +0 -148
  783. package/projects/eo-sdk/core/lib/util/utils.d.ts.map +0 -1
  784. package/projects/eo-sdk/core/public_api.d.ts +0 -82
  785. package/projects/eo-sdk/core/public_api.d.ts.map +0 -1
  786. /package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/charts-widget/icharts.mjs +0 -0
  787. /package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/count-objects-widget/count-objects.model.mjs +0 -0
  788. /package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.mjs +0 -0
  789. /package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox.model.mjs +0 -0
  790. /package/{esm2020 → esm2022}/app/eo-client/dashboard/widgets/info-intray-widget/info-intray.model.mjs +0 -0
  791. /package/{esm2020 → esm2022}/app/eo-client/inbox-state/inbox-state/inbox.types.enum.mjs +0 -0
  792. /package/{esm2020 → esm2022}/app/eo-client/index.mjs +0 -0
  793. /package/{esm2020 → esm2022}/app/eo-client/notifications-state/notifications-state.interface.mjs +0 -0
  794. /package/{esm2020 → esm2022}/app/eo-client/object-state/object-state-service/object-state.interface.mjs +0 -0
  795. /package/{esm2020 → esm2022}/app/eo-client/settings/agent-lock-settings.enum.mjs +0 -0
  796. /package/{esm2020 → esm2022}/app/eo-framework/accordion/index.mjs +0 -0
  797. /package/{esm2020 → esm2022}/app/eo-framework/actions/actions/signature-action/signature.model.mjs +0 -0
  798. /package/{esm2020 → esm2022}/app/eo-framework/actions/index.mjs +0 -0
  799. /package/{esm2020 → esm2022}/app/eo-framework/actions/interfaces/action-component.interface.mjs +0 -0
  800. /package/{esm2020 → esm2022}/app/eo-framework/actions/interfaces/action-list-entry.mjs +0 -0
  801. /package/{esm2020 → esm2022}/app/eo-framework/actions/interfaces/action.interface.mjs +0 -0
  802. /package/{esm2020 → esm2022}/app/eo-framework/actions/selection-range.enum.mjs +0 -0
  803. /package/{esm2020 → esm2022}/app/eo-framework/animations/animations.mjs +0 -0
  804. /package/{esm2020 → esm2022}/app/eo-framework/app-shell/app-bar/app-search/app-search.interface.mjs +0 -0
  805. /package/{esm2020 → esm2022}/app/eo-framework/app-shell/index.mjs +0 -0
  806. /package/{esm2020 → esm2022}/app/eo-framework/cta/index.mjs +0 -0
  807. /package/{esm2020 → esm2022}/app/eo-framework/error/index.mjs +0 -0
  808. /package/{esm2020 → esm2022}/app/eo-framework/form-elements/id-reference/animation/reference-finder.animation.mjs +0 -0
  809. /package/{esm2020 → esm2022}/app/eo-framework/form-elements/id-reference/interface/reference-finder.interface.mjs +0 -0
  810. /package/{esm2020 → esm2022}/app/eo-framework/form-elements/index.mjs +0 -0
  811. /package/{esm2020 → esm2022}/app/eo-framework/grid/extensions/filter/setFilters/set-filters.interface.mjs +0 -0
  812. /package/{esm2020 → esm2022}/app/eo-framework/grid/filters/filesize-filter.component.mjs +0 -0
  813. /package/{esm2020 → esm2022}/app/eo-framework/grid/grid-filter.model.mjs +0 -0
  814. /package/{esm2020 → esm2022}/app/eo-framework/grid/index.mjs +0 -0
  815. /package/{esm2020 → esm2022}/app/eo-framework/grid/loader.interface.mjs +0 -0
  816. /package/{esm2020 → esm2022}/app/eo-framework/index.mjs +0 -0
  817. /package/{esm2020 → esm2022}/app/eo-framework/list-container/index.mjs +0 -0
  818. /package/{esm2020 → esm2022}/app/eo-framework/media/index.mjs +0 -0
  819. /package/{esm2020 → esm2022}/app/eo-framework/object-details/index.mjs +0 -0
  820. /package/{esm2020 → esm2022}/app/eo-framework/object-details/object-history/history-filter/history-filter.mjs +0 -0
  821. /package/{esm2020 → esm2022}/app/eo-framework/object-form/form-status-changed-event.interface.mjs +0 -0
  822. /package/{esm2020 → esm2022}/app/eo-framework/object-form/index.mjs +0 -0
  823. /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.mjs +0 -0
  824. /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/object-form-control-wrapper.mjs +0 -0
  825. /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/object-form-control.mjs +0 -0
  826. /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/object-form-group.model.mjs +0 -0
  827. /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/object-form-script/object-form-script.interface.mjs +0 -0
  828. /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form/object-form.model.mjs +0 -0
  829. /package/{esm2020 → esm2022}/app/eo-framework/object-form/object-form-options.interface.mjs +0 -0
  830. /package/{esm2020 → esm2022}/app/eo-framework/plugins/index.mjs +0 -0
  831. /package/{esm2020 → esm2022}/app/eo-framework/process/process-file/file-entry-permissions.interface.mjs +0 -0
  832. /package/{esm2020 → esm2022}/app/eo-framework/quick-search/index.mjs +0 -0
  833. /package/{esm2020 → esm2022}/app/eo-framework/quick-search/quick-search/quick-search-result.interface.mjs +0 -0
  834. /package/{esm2020 → esm2022}/app/eo-framework/result-list/index.mjs +0 -0
  835. /package/{esm2020 → esm2022}/app/eo-framework/settings/change-password/change-password.interface.mjs +0 -0
  836. /package/{esm2020 → esm2022}/app/eo-framework/settings/index.mjs +0 -0
  837. /package/{esm2020 → esm2022}/app/eo-framework/shortcuts/global-shortcut-action.interface.mjs +0 -0
  838. /package/{esm2020 → esm2022}/app/eo-framework/shortcuts/global-shortcut-component.interface.mjs +0 -0
  839. /package/{esm2020 → esm2022}/app/eo-framework/shortcuts/index.mjs +0 -0
  840. /package/{esm2020 → esm2022}/app/eo-framework/stored-query/index.mjs +0 -0
  841. /package/{esm2020 → esm2022}/app/eo-framework/stored-query/stored-query-type-filter.enum.mjs +0 -0
  842. /package/{esm2020 → esm2022}/app/eo-framework/stored-query/stored-query.interface.mjs +0 -0
  843. /package/{esm2020 → esm2022}/app/eo-framework/tree/index.mjs +0 -0
  844. /package/{esm2020 → esm2022}/app/eo-framework/tree/tree.component.interface.mjs +0 -0
  845. /package/{esm2020 → esm2022}/app/eo-framework/ui/index.mjs +0 -0
  846. /package/{esm2020 → esm2022}/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry.interface.mjs +0 -0
  847. /package/{esm2020 → esm2022}/app/eo-framework/util/index.mjs +0 -0
  848. /package/{esm2020 → esm2022}/app/eo-framework-core/agent/agent.interface.mjs +0 -0
  849. /package/{esm2020 → esm2022}/app/eo-framework-core/api/model/dms-object.api.interface.mjs +0 -0
  850. /package/{esm2020 → esm2022}/app/eo-framework-core/empty-state/empty-state.interface.mjs +0 -0
  851. /package/{esm2020 → esm2022}/app/eo-framework-core/error-handler/error-keys.mjs +0 -0
  852. /package/{esm2020 → esm2022}/app/eo-framework-core/index.mjs +0 -0
  853. /package/{esm2020 → esm2022}/app/eo-framework-core/pending-changes/pending-changes-component.interface.mjs +0 -0
  854. /package/{esm2020 → esm2022}/eo-sdk-client.mjs +0 -0
  855. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
@@ -0,0 +1,639 @@
1
+ import { __decorate } from "tslib";
2
+ import { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';
3
+ import { CsvExportModule } from '@ag-grid-community/csv-export';
4
+ import { Component, HostListener, Input, ViewChild, forwardRef } from '@angular/core';
5
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
6
+ import { Utils } from '@eo-sdk/core';
7
+ import { firstValueFrom, forkJoin } from 'rxjs';
8
+ import { map } from 'rxjs/operators';
9
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
10
+ import { CellRenderer } from '../../../../eo-framework-core/api/grid.service';
11
+ import { LocaleNumberPipe } from "../../../../eo-framework-core";
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@eo-sdk/core";
14
+ import * as i2 from "./../../../../eo-framework-core/pending-changes/pending-changes.service";
15
+ import * as i3 from "../../../../eo-framework-core/api/grid.service";
16
+ import * as i4 from "@angular/common";
17
+ import * as i5 from "@ngx-translate/core";
18
+ import * as i6 from "../../../ui/eo-icon/eo-icon.component";
19
+ import * as i7 from "../../../ui/eo-dialog/eo-dialog.component";
20
+ import * as i8 from "@ag-grid-community/angular";
21
+ import * as i9 from "../../../media/media.component";
22
+ import * as i10 from "@yuuvis/components/split-view";
23
+ import * as i11 from "./row-edit/row-edit.component";
24
+ let FormElementTableComponent = class FormElementTableComponent {
25
+ set params(p) {
26
+ this.cacheLayoutKey = p ? `${this.BASE_CACHE_LAYOUT_KEY}.${p.element.name}` : this.BASE_CACHE_LAYOUT_KEY;
27
+ if (p) {
28
+ this._params = p;
29
+ this._cachedColumns = this.storageService.getItem(this.cacheLayoutKey + '.colDef') || [];
30
+ this._cachedColumnsOverlay = this.storageService.getItem(this.cacheLayoutKey + '.colDefOverlay') || [];
31
+ this.showPreview = this.storageService.getItem(this.cacheLayoutKey + '.showPreview');
32
+ CellRenderer.situation = this._params.situation;
33
+ if (this._params.situation === 'SEARCH') {
34
+ this._params.size = 'supersmall';
35
+ }
36
+ else if (!this._params.size) {
37
+ this._params.size = 'small';
38
+ }
39
+ this.gridReady = false;
40
+ this._elements = p.element.elements;
41
+ this.gridOptions.columnDefs = this.createColumnDefinition();
42
+ if (this._params.situation === 'SEARCH') {
43
+ this.gridOptions.columnDefs.push({ headerName: '', colId: 'actions', width: 34, minWidth: 34, pinned: 'right', cellRenderer: this.actionsCellRenderer });
44
+ }
45
+ else {
46
+ this.overlayGridOptions.columnDefs = this.createColumnDefinition(true);
47
+ }
48
+ this.gridReady = true;
49
+ }
50
+ }
51
+ get params() {
52
+ return this._params;
53
+ }
54
+ copyCellHandler(event) {
55
+ this.gridApi.copyToClipboard(event, this.agGrid, this.gridOptions);
56
+ }
57
+ constructor(storageService, systemService, pendingChanges, gridApi, toast, translate) {
58
+ this.storageService = storageService;
59
+ this.systemService = systemService;
60
+ this.pendingChanges = pendingChanges;
61
+ this.gridApi = gridApi;
62
+ this.toast = toast;
63
+ this.translate = translate;
64
+ this.modules = [ClientSideRowModelModule, CsvExportModule];
65
+ this.BASE_CACHE_LAYOUT_KEY = 'table.state';
66
+ this.cacheLayoutKey = this.BASE_CACHE_LAYOUT_KEY;
67
+ this.minWidth = '97vw';
68
+ this.height = '95vh';
69
+ this.gridReady = false;
70
+ this.showDialog = false;
71
+ this.showPreview = false;
72
+ this.showImportReportDialog = false;
73
+ this.mappedRows = [];
74
+ this.mappingErrorFields = [];
75
+ this.propagateChange = (_) => {
76
+ };
77
+ this.gridOptions = {
78
+ context: this.gridApi.getContext(),
79
+ headerHeight: 30,
80
+ rowHeight: 30,
81
+ rowBuffer: 20,
82
+ multiSortKey: 'ctrl',
83
+ accentedSort: true,
84
+ // suppressCellSelection: true,
85
+ rowSelection: 'single',
86
+ suppressMovableColumns: true,
87
+ enableFilter: false,
88
+ suppressNoRowsOverlay: true,
89
+ suppressLoadingOverlay: true,
90
+ suppressContextMenu: true
91
+ };
92
+ this.gridOptions.context.tableComponent = this;
93
+ this.overlayGridOptions = {
94
+ context: this.gridApi.getContext(),
95
+ headerHeight: 30,
96
+ rowHeight: 30,
97
+ rowBuffer: 20,
98
+ multiSortKey: 'ctrl',
99
+ accentedSort: true,
100
+ // suppressCellSelection: true,
101
+ rowSelection: 'single',
102
+ suppressMovableColumns: true,
103
+ enableFilter: false,
104
+ suppressNoRowsOverlay: true,
105
+ suppressLoadingOverlay: true,
106
+ suppressContextMenu: true
107
+ };
108
+ this.overlayGridOptions.context.tableComponent = this;
109
+ this.overlayGridOptions.rowClassRules = {
110
+ 'new-row': function (params) {
111
+ if (params.data.isNewRow) {
112
+ delete params.data.isNewRow;
113
+ delete params.context.tableComponent.innerValue[params.context.tableComponent.innerValue.length - 1].isNewRow;
114
+ return true;
115
+ }
116
+ else {
117
+ return false;
118
+ }
119
+ }
120
+ };
121
+ this.pendingChanges.tasks$
122
+ .pipe(untilDestroyed(this))
123
+ .subscribe(tasks => {
124
+ setTimeout(() => {
125
+ this.overlayGridOptions.suppressRowClickSelection = !!this.rowEdit && !!tasks.includes(this.rowEdit.pendingTaskId);
126
+ }, 0);
127
+ });
128
+ }
129
+ actionsCellRenderer(params) {
130
+ let div = document.createElement('div');
131
+ if (params.context.tableComponent.params.situation === 'SEARCH') {
132
+ div.innerHTML = `<div class="action-icon" id="actionIcon-${params.rowIndex}">
133
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
134
+ <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>
135
+ </svg>
136
+ </div>`;
137
+ let clearIcon = div.querySelectorAll(`#actionIcon-${params.rowIndex}`)[0];
138
+ clearIcon.addEventListener('click', () => params.context.tableComponent.clearRow(params.rowIndex));
139
+ }
140
+ else {
141
+ div.innerHTML = `<div class="action-icon" id="actionIcon-${params.rowIndex}">
142
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
143
+ <path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"/>
144
+ </svg>
145
+ </div>`;
146
+ let deleteIcon = div.querySelectorAll(`#actionIcon-${params.rowIndex}`)[0];
147
+ deleteIcon.addEventListener('click', () => params.context.tableComponent.deleteRow(params.rowIndex));
148
+ }
149
+ return div;
150
+ }
151
+ writeValue(value) {
152
+ if (!value && this._params.situation === 'SEARCH') {
153
+ // for search row data will always be one empty row
154
+ // todo: re-enable again when search in tables is supported
155
+ value = [{}];
156
+ }
157
+ this.value = value instanceof Array ? value : [];
158
+ // create a clone of the actual value for internal usage
159
+ this.innerValue = Utils.formDataParse(Utils.formDataStringify(this.value));
160
+ if (this.agGrid) {
161
+ this.agGrid.api.setGridOption('rowData', this.innerValue);
162
+ }
163
+ else {
164
+ this.gridOptions.rowData = this.innerValue;
165
+ }
166
+ if (this.overlayGrid) {
167
+ this.overlayGrid.api.setGridOption('rowData', this.innerValue);
168
+ setTimeout(() => this.selectEditRow(), 0);
169
+ }
170
+ else {
171
+ this.overlayGridOptions.rowData = this.innerValue;
172
+ }
173
+ }
174
+ registerOnChange(fn) {
175
+ this.propagateChange = fn;
176
+ }
177
+ registerOnTouched(fn) {
178
+ }
179
+ /**
180
+ * Create column definition from form element.
181
+ * @returns column definition to be added to the gridOptions
182
+ */
183
+ createColumnDefinition(overlay) {
184
+ return this._elements.map((el) => {
185
+ let col = this.gridApi.getColumnDefinition(el);
186
+ Object.assign(col, {
187
+ headerName: el.label,
188
+ suppressMenu: true,
189
+ filter: false,
190
+ sortable: true,
191
+ resizable: true,
192
+ field: el.name,
193
+ refData: {
194
+ ...col.refData,
195
+ _eoFormElement: el,
196
+ _situation: this._params.situation
197
+ }
198
+ });
199
+ let cachedColumns = this._cachedColumns;
200
+ if (overlay) {
201
+ cachedColumns = this._cachedColumnsOverlay;
202
+ }
203
+ let cachedColumn = cachedColumns.find(f => f.qname === el.qname);
204
+ if (cachedColumn) {
205
+ col.width = cachedColumn.width;
206
+ }
207
+ return col;
208
+ });
209
+ }
210
+ addRow() {
211
+ const rowData = {};
212
+ const asyncFetches = [];
213
+ this._elements
214
+ .forEach(el => {
215
+ if (el.defaultvalue !== undefined) {
216
+ rowData[el.name] = el.defaultvalue;
217
+ }
218
+ else if (el.defaultvaluefunction) {
219
+ rowData[el.name] = this.systemService.getDefaultValue(el.defaultvaluefunction);
220
+ if (el.defaultvaluefunction === 'CURRENT_USER') {
221
+ asyncFetches.push(this.resolveOrgDataMeta(el.name, rowData[el.name]));
222
+ }
223
+ }
224
+ });
225
+ if (asyncFetches.length > 0) {
226
+ forkJoin(asyncFetches).subscribe((res) => {
227
+ res.forEach(r => {
228
+ rowData[r.key] = r.value;
229
+ });
230
+ this.setEditRow(-1, rowData);
231
+ });
232
+ }
233
+ else {
234
+ this.setEditRow(-1, rowData);
235
+ }
236
+ }
237
+ resolveOrgDataMeta(elementName, value) {
238
+ return this.systemService.getOrganizationObject(value).pipe(map(res => ({
239
+ key: `${elementName}_meta`,
240
+ value: res
241
+ })));
242
+ }
243
+ editRow(event) {
244
+ this.setEditRow(event.node.id, event.node.data);
245
+ }
246
+ onEditComplete(event) {
247
+ //todo: is it obsolete?
248
+ }
249
+ setEditRow(index, data) {
250
+ // setup the row to be edited. Beside some properties, the
251
+ // row contains a form model and form data. If the parent form model
252
+ // provided a script, this will be added as well, so editing a row will
253
+ // respect the form script.
254
+ this.editingRow = {
255
+ situation: this._params.situation,
256
+ index: index,
257
+ tableElement: this._params.element,
258
+ form: {
259
+ elements: this._elements,
260
+ disabled: this._params.element.readonly,
261
+ data
262
+ }
263
+ };
264
+ // we need this line to reload the cached columns in case of reopening the dialog without refreshing the page
265
+ this.params = this._params;
266
+ this.showDialog = true;
267
+ setTimeout(() => this.selectEditRow(), 0);
268
+ }
269
+ selectEditRow() {
270
+ if (this.overlayGrid) {
271
+ this.overlayGrid.api.deselectAll();
272
+ if (this.editingRow && this.editingRow.index !== -1) {
273
+ let rowNode = this.overlayGrid.api.getRowNode('' + this.editingRow.index);
274
+ rowNode.setSelected(true, true);
275
+ this.overlayGrid.api.ensureNodeVisible(rowNode);
276
+ }
277
+ }
278
+ }
279
+ updateTableValue() {
280
+ this.agGrid.api.setGridOption('rowData', this.innerValue);
281
+ if (this.overlayGrid) {
282
+ this.overlayGrid.api.setGridOption('rowData', this.innerValue);
283
+ }
284
+ else {
285
+ this.overlayGridOptions.rowData = this.innerValue;
286
+ }
287
+ this.value = this.innerValue;
288
+ if (Object.keys(this.value.includes('isNewRow'))) {
289
+ delete this.value['isNewRow'];
290
+ }
291
+ this.propagateChange(this.value);
292
+ }
293
+ cancelRowEdit() {
294
+ if (this.rowEdit) {
295
+ this.rowEdit.finishPending();
296
+ }
297
+ this.editingRow = null;
298
+ if (this._params.situation === 'SEARCH') {
299
+ this.showDialog = false;
300
+ }
301
+ }
302
+ onClose() {
303
+ this.editingRow = null;
304
+ this.showDialog = false;
305
+ }
306
+ cancelImportReport() {
307
+ this.showImportReportDialog = false;
308
+ this.mappedRows = [];
309
+ this.mappingErrorFields = [];
310
+ }
311
+ updateRow(rowResult) {
312
+ const isNewRow = rowResult.index === -1;
313
+ if (isNewRow) {
314
+ this.innerValue.push({ ...rowResult.rowData, ...{ isNewRow: true } });
315
+ }
316
+ else {
317
+ this._elements.forEach(el => {
318
+ // this.innerValue[rowResult.index] = {...this.innerValue[rowResult.index], ...rowResult.rowData};
319
+ this.innerValue[rowResult.index][el.name] = rowResult.rowData[el.name];
320
+ if (rowResult.rowData[el.name + '_meta']) {
321
+ this.innerValue[rowResult.index][el.name + '_meta'] = rowResult.rowData[el.name + '_meta'];
322
+ }
323
+ });
324
+ }
325
+ this.updateTableValue();
326
+ if (this._params.situation === 'SEARCH') {
327
+ this.showDialog = false;
328
+ }
329
+ else if (isNewRow && !rowResult.createNewRow) {
330
+ this.setEditRow(this.innerValue.length - 1, this.innerValue[this.innerValue.length - 1]);
331
+ }
332
+ else if (rowResult.createNewRow) {
333
+ this.addRow();
334
+ let rowNode = this.overlayGrid.api.getRowNode('' + (this.innerValue.length - 1));
335
+ this.overlayGrid.api.ensureNodeVisible(rowNode);
336
+ }
337
+ else {
338
+ this.setEditRow(rowResult.index, this.innerValue[rowResult.index]);
339
+ }
340
+ }
341
+ copyRow(rowResult) {
342
+ rowResult.index = -1;
343
+ this.innerValue.push({ ...rowResult.rowData, ...{ isNewRow: true } });
344
+ this.updateTableValue();
345
+ if (rowResult.createNewRow) {
346
+ this.addRow();
347
+ }
348
+ else {
349
+ this.setEditRow(this.innerValue.length - 1, JSON.parse(JSON.stringify(rowResult.rowData)));
350
+ }
351
+ }
352
+ deleteRow(index) {
353
+ if (index > -1) {
354
+ this.innerValue.splice(index, 1);
355
+ this.updateTableValue();
356
+ if (this.innerValue.length) {
357
+ const nextIndex = index == this.innerValue.length ? this.innerValue.length - 1 : index;
358
+ this.setEditRow(nextIndex, this.innerValue[nextIndex]);
359
+ }
360
+ else {
361
+ this.cancelRowEdit();
362
+ }
363
+ }
364
+ }
365
+ clearRow(index) {
366
+ this.innerValue[index] = {};
367
+ this.updateTableValue();
368
+ }
369
+ exportCSV() {
370
+ this.agGrid.api.exportDataAsCsv({
371
+ ...this.gridApi.csvExportParams,
372
+ fileName: this._params.element.label
373
+ });
374
+ }
375
+ importCSV(event) {
376
+ const fields = this._params.element.elements;
377
+ const file = event.files[0];
378
+ const reader = new FileReader();
379
+ reader.addEventListener('load', async (e) => {
380
+ let parsedata = [];
381
+ if (typeof e.target.result === 'string') {
382
+ let newLineBreak = e.target.result.split('\n').filter(result => result !== '');
383
+ for (let i = 0; i < newLineBreak.length; i++) {
384
+ parsedata.push(newLineBreak[i].split(';'));
385
+ }
386
+ if (parsedata.length > 5000) {
387
+ this.toast.error(this.translate.instant('eo.form.table.options.btn.upload.error'));
388
+ return;
389
+ }
390
+ parsedata = parsedata.map(data => data.map(d => d.replace(/"/gi, '').replace('\n', '').replace(/[^-.:,a-zA-Z0-9() ]/g, '').trim()));
391
+ const columns = this.gridOptions.columnDefs.map(column => column['field']);
392
+ const columnsUploaded = parsedata[0];
393
+ parsedata.shift();
394
+ const rowsUploaded = parsedata;
395
+ const metaFields = [];
396
+ for (let rowIndex = 0; rowIndex < rowsUploaded.length; rowIndex++) {
397
+ const mappedRow = {};
398
+ let currentRow = rowsUploaded[rowIndex];
399
+ for (let i = 0; i < currentRow.length && i < columns.length; i++) {
400
+ if (currentRow[i] !== '') {
401
+ const currentField = fields.find(field => field.name === columns[i]);
402
+ if (currentField.type === 'ORGANIZATION') {
403
+ let orgObj = await firstValueFrom(this.systemService.getOrganizationObject(currentRow[i]));
404
+ if (orgObj.active) {
405
+ mappedRow[columns[i]] = currentRow[i];
406
+ metaFields.push({ column: columns[i], rowIndex: rowIndex, value: orgObj });
407
+ }
408
+ else {
409
+ mappedRow[columns[i]] = '';
410
+ this.mappingErrorFields.push({ technicalName: columns[i], uploadedName: columnsUploaded[i], row: rowIndex, value: currentRow[i] });
411
+ }
412
+ }
413
+ else if (currentField.type === 'CODESYSTEM') {
414
+ const codesystem = this.systemService.getCodesystem(currentField.codesystem.id);
415
+ const codesystemEntry = codesystem.entries.find(entry => entry.data === currentRow[i] || entry.defaultrepresentation === currentRow[i]);
416
+ if (codesystemEntry) {
417
+ mappedRow[columns[i]] = currentRow[i];
418
+ metaFields.push({
419
+ column: columns[i],
420
+ rowIndex: rowIndex,
421
+ value: { id: codesystemEntry.id, defaultrepresentation: codesystemEntry.defaultrepresentation, label: codesystemEntry.label
422
+ }
423
+ });
424
+ }
425
+ else {
426
+ mappedRow[columns[i]] = '';
427
+ this.mappingErrorFields.push({ technicalName: columns[i], uploadedName: columnsUploaded[i], row: rowIndex, value: currentRow[i] });
428
+ }
429
+ }
430
+ else if (currentField.type === 'REFERENCE') {
431
+ if (currentRow[i].length === 32) {
432
+ mappedRow[columns[i]] = currentRow[i];
433
+ }
434
+ else {
435
+ mappedRow[columns[i]] = '';
436
+ this.mappingErrorFields.push({ technicalName: columns[i], uploadedName: columnsUploaded[i], row: rowIndex, value: currentRow[i] });
437
+ }
438
+ }
439
+ else if (currentField.type === 'DATETIME') {
440
+ if (new Date(currentRow[i]).toString() === 'Invalid Date') {
441
+ mappedRow[columns[i]] = '';
442
+ this.mappingErrorFields.push({ technicalName: columns[i], uploadedName: columnsUploaded[i], row: rowIndex, value: currentRow[i] });
443
+ }
444
+ else {
445
+ mappedRow[columns[i]] = currentRow[i];
446
+ }
447
+ }
448
+ else if (currentField.type === 'NUMBER') {
449
+ mappedRow[columns[i]] = new LocaleNumberPipe(this.translate).stringToNumber(currentRow[i]);
450
+ if (isNaN(mappedRow[columns[i]])) {
451
+ mappedRow[columns[i]] = '';
452
+ this.mappingErrorFields.push({ technicalName: columns[i], uploadedName: columnsUploaded[i], row: rowIndex, value: currentRow[i] });
453
+ }
454
+ }
455
+ else {
456
+ mappedRow[columns[i]] = currentRow[i];
457
+ }
458
+ }
459
+ }
460
+ this.mappedRows.push(mappedRow);
461
+ }
462
+ metaFields.forEach(field => {
463
+ this.mappedRows[field.rowIndex][field.column + '_meta'] = field.value;
464
+ });
465
+ this.openImportReportDialog();
466
+ }
467
+ });
468
+ reader.readAsBinaryString(file);
469
+ }
470
+ addImportValuesToTable() {
471
+ this.showImportReportDialog = false;
472
+ this.openDialog();
473
+ this.innerValue = [...this.innerValue, ...this.mappedRows];
474
+ this.updateTableValue();
475
+ }
476
+ sizeToFit(overlay) {
477
+ if (overlay) {
478
+ this.overlayGrid.api.sizeColumnsToFit();
479
+ }
480
+ else {
481
+ this.agGrid.api.sizeColumnsToFit();
482
+ }
483
+ }
484
+ openDialog() {
485
+ // we need this line to reload the cached columns in case of reopening the dialog without refreshing the page
486
+ this.params = this._params;
487
+ this.showDialog = true;
488
+ }
489
+ openImportReportDialog() {
490
+ this.showImportReportDialog = true;
491
+ }
492
+ validateTableData() {
493
+ // todo: implement
494
+ return true;
495
+ }
496
+ validate(c) {
497
+ return this.validateTableData() ? null : {
498
+ table: {
499
+ valid: false
500
+ }
501
+ };
502
+ }
503
+ onMouseDown($event) {
504
+ if (this.overlayGridOptions.suppressRowClickSelection) {
505
+ if (!this.pendingChanges.checkForPendingTasks(this.rowEdit.pendingTaskId)) {
506
+ this.overlayGridOptions.suppressRowClickSelection = false;
507
+ this.rowEdit.finishPending();
508
+ let rowIndex = this.gridApi.getRowIndex($event.target, 'ag-body');
509
+ if (rowIndex !== null) {
510
+ this.overlayGrid.api.getRowNode('' + rowIndex).setSelected(true, true);
511
+ $event.target.click();
512
+ }
513
+ }
514
+ else {
515
+ $event.preventDefault();
516
+ $event.stopImmediatePropagation();
517
+ }
518
+ }
519
+ }
520
+ onSortChanged() {
521
+ let rowNode = this.overlayGrid.api.getRowNode('' + this.editingRow.index);
522
+ this.overlayGrid.api.ensureNodeVisible(rowNode);
523
+ }
524
+ onCellClicked($event) {
525
+ if ($event.colDef.cellClass === 'router-link-cell' && $event.rowIndex !== null && !this.pendingChanges.check()) {
526
+ if (!$event.node.group && $event.data) {
527
+ this.gridApi.openRouterLink($event.event, 'ag-row');
528
+ }
529
+ }
530
+ }
531
+ onCellClickedRowEdit($event) {
532
+ if ($event.rowIndex !== null && !this.pendingChanges.checkForPendingTasks(this.rowEdit ? this.rowEdit.pendingTaskId : undefined)) {
533
+ if (!$event.node.group && $event.data) {
534
+ if ($event.colDef.cellClass === 'router-link-cell') {
535
+ this.gridApi.openRouterLink($event.event, 'ag-row');
536
+ }
537
+ }
538
+ }
539
+ this.editRow($event);
540
+ }
541
+ onColumnResized(column, overlay) {
542
+ let columnsDefinition = this.cacheLayoutKey + '.colDef';
543
+ let cachedColumns = this._cachedColumns;
544
+ if (overlay) {
545
+ columnsDefinition = this.cacheLayoutKey + '.colDefOverlay';
546
+ cachedColumns = this._cachedColumnsOverlay;
547
+ }
548
+ let col = cachedColumns.find(c => c.qname === column.colDef.refData.qname);
549
+ if (col) {
550
+ col.width = column.actualWidth;
551
+ }
552
+ else {
553
+ cachedColumns.push({ qname: column.colDef.refData.qname, width: column.actualWidth });
554
+ }
555
+ this.storageService.setItem(columnsDefinition, cachedColumns);
556
+ }
557
+ // private _updateSplitViewLayoutCache() {
558
+ // setTimeout(() => {
559
+ // this.splitView?.updateLayoutCache();
560
+ // });
561
+ // }
562
+ togglePreview() {
563
+ this.showPreview = !this.showPreview;
564
+ // make sure that the layout of the split view is updated after the preview panels
565
+ // visibility changed
566
+ // this._updateSplitViewLayoutCache();
567
+ this.storageService.setItem(this.cacheLayoutKey + '.showPreview', this.showPreview);
568
+ }
569
+ // ngAfterViewInit(): void {
570
+ // this._updateSplitViewLayoutCache();
571
+ // }
572
+ ngOnInit() {
573
+ this.hasPreviewFile = this.hasPreviewFile !== undefined ? this.hasPreviewFile : !!this.params.object?.content;
574
+ }
575
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FormElementTableComponent, deps: [{ token: i1.LocalStorageService }, { token: i1.SystemService }, { token: i2.PendingChangesService }, { token: i3.GridService }, { token: i1.NotificationsService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
576
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: FormElementTableComponent, selector: "eo-table", inputs: { limit: "limit", hasPreviewFile: "hasPreviewFile", minWidth: "minWidth", height: "height", params: "params" }, host: { listeners: { "keydown.control.alt.shift.c": "copyCellHandler($event)", "keydown.control.shift.c": "copyCellHandler($event)", "keydown.control.alt.c": "copyCellHandler($event)", "keydown.control.c": "copyCellHandler($event)" } }, providers: [
577
+ {
578
+ provide: NG_VALUE_ACCESSOR,
579
+ useExisting: forwardRef(() => FormElementTableComponent),
580
+ multi: true
581
+ },
582
+ {
583
+ provide: NG_VALIDATORS,
584
+ useExisting: forwardRef(() => FormElementTableComponent),
585
+ multi: true,
586
+ }
587
+ ], viewQueries: [{ propertyName: "agGrid", first: true, predicate: ["agGrid"], descendants: true }, { propertyName: "overlayGrid", first: true, predicate: ["overlayGrid"], descendants: true }, { propertyName: "rowEdit", first: true, predicate: ["rowEdit"], descendants: true }], ngImport: i0, template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"object-form-table-header\">\n <span>{{_params.element.label}}</span>\n <ng-container *ngIf=\"_params.situation !== 'SEARCH'\">\n\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_expand.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.open'| translate)\" (click)=\"openDialog()\"></eo-icon>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit()\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData?.length\" [iconSrc]=\"'assets/_default/svg/ic_export.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon *ngIf=\"!_params.element.readonly\" class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_import.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.upload'| translate)\" (click)=\"file.click()\"></eo-icon>\n <input type=\"file\" accept=\".csv\" style=\"display:none;\" #file (change)=\"importCSV($event.target)\"\n (click)=\"$event.target.value = null\">\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n\n </ng-container>\n </div>\n <div class=\"grid-body size-{{ params.size }}\">\n <ag-grid-angular #agGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\" [gridOptions]=\"gridOptions\"\n (rowDoubleClicked)=\"editRow($event)\" (cellClicked)=\"onCellClicked($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column)\">\n </ag-grid-angular>\n </div>\n</div>\n\n\n<eo-dialog [title]=\"params.element.label\" [visible]=\"showDialog\" [dirtyCheck]=\"rowEdit?.pendingTaskId\"\n [minWidth]=\"_params.situation !== 'SEARCH' ? minWidth : 200\" [width]=\"_params.situation !== 'SEARCH' ? '95vw' : 500\"\n [height]=\"height\" [styleClass]=\"'object-form-table-dialog'\" (hide)=\"onClose()\" [isFormTable]=\"true\"\n [hasPreviewFile]=\"hasPreviewFile\" [showPreview]=\"showPreview\" (onTogglePreview)=\"togglePreview()\">\n\n <div class=\"body\" *ngIf=\"showDialog\">\n\n <!-- <yvc-split-view [layoutSettingsID]=\"cacheLayoutKey\"> -->\n <yvc-split-view>\n\n <!-- the table itself-->\n <ng-template yvcSplitArea [size]=\"40\" [visible]=\"_params.situation !== 'SEARCH'\">\n <div class=\"table-body\">\n <div class=\"object-form-table\">\n <div class=\"object-form-table-header\">\n <span></span>\n <ng-container>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit(true)\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n </ng-container>\n </div>\n <div class=\"grid-body\">\n <ag-grid-angular #overlayGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"overlayGridOptions\" (cellClicked)=\"onCellClickedRowEdit($event)\"\n (mousedown)=\"onMouseDown($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column, true)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- table edit component-->\n <ng-template yvcSplitArea [size]=\"20\" [visible]=\"!!editingRow\">\n <div class=\"edit-body\">\n <eo-row-edit [row]=\"editingRow\" [limitReached]=\"limit <= overlayGridOptions.rowData.length\" #rowEdit\n (onSave)=\"updateRow($event)\" (onSaveCopy)=\"copyRow($event)\" (onDelete)=\"deleteRow($event)\"\n (onCancel)=\"cancelRowEdit()\"></eo-row-edit>\n </div>\n </ng-template>\n\n <!-- viewer-->\n <ng-template yvcSplitArea [size]=\"40\" [visible]=\"showPreview && hasPreviewFile\">\n <eo-media *ngIf=\"hasPreviewFile\" [undockDisabled]=\"true\"\n [useVersion]=\"params.object?.id === params.object?.content?.id\" [dmsObject]=\"params.object\"></eo-media>\n </ng-template>\n\n </yvc-split-view>\n </div>\n</eo-dialog>\n\n<eo-dialog [title]=\"('eo.form.table.csv.import.report.title' | translate)\" [visible]=\"showImportReportDialog\"\n (hide)=\"cancelImportReport()\" [styleClass]=\"'import-report__dialog'\">\n <div class=\"body\">\n <h4 translate [translateParams]=\"{readRows: mappedRows.length}\">eo.form.table.csv.import.report.readRows</h4>\n <div *ngIf=\"mappingErrorFields.length !== 0\" class=\"flex-col\">\n <h4 translate>eo.form.table.csv.import.report.errors</h4>\n <table>\n <thead>\n <tr>\n <th translate>eo.form.table.csv.import.report.errors.row</th>\n <th translate>eo.form.table.csv.import.report.errors.csvColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.tableColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.value</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let error of mappingErrorFields; let i = index\">\n <tr>\n <td>{{error.row + 1}}</td>\n <td>{{error.uploadedName}}</td>\n <td>{{error.technicalName}}</td>\n <td>{{error.value}}</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </div>\n <div class=\"actions\">\n <button (click)=\"cancelImportReport()\" class=\"button-cancel\" translate>eo.resubmission.cancel</button>\n <button (click)=\"addImportValuesToTable()\" class=\"primary\" translate>eo.form.table.csv.import.report.import</button>\n </div>\n</eo-dialog>\n", styles: [":host-context(.dark) .label{color:var(--color-white);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-header-cell{color:rgba(var(--color-white-rgb),.7);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-root{background-color:transparent}:host ::ng-deep{--oft-row-height: 30px}:host ::ng-deep .ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box}:host ::ng-deep .ag-theme-balham .ag-root{background-color:var(--color-white)}:host ::ng-deep .ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}:host ::ng-deep .ag-theme-balham .ag-cell{display:flex;align-items:center;padding:0 calc(var(--app-pane-padding) / 4);font-size:var(--font-caption);line-height:var(--oft-row-height)}:host ::ng-deep .ag-theme-balham .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important;border-color:transparent!important}:host ::ng-deep .ag-theme-balham .ag-cell svg{pointer-events:none}:host ::ng-deep .ag-theme-balham .ag-cell.res-ico,:host ::ng-deep .ag-theme-balham .ag-cell.col-boolean{justify-content:center}:host ::ng-deep .ag-theme-balham .ag-cell.col-number{justify-content:flex-end}:host ::ng-deep .ag-theme-balham .ag-cell .no-value{border-radius:2px;font-size:var(--font-hint);background-color:var(--color-accent);padding:calc(var(--app-pane-padding) / 4);color:var(--color-white)}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon{display:flex;cursor:pointer}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon svg{fill:var(--text-color-caption)}:host ::ng-deep .ag-theme-balham .ag-header-cell{color:var(--text-color-caption);font-size:var(--font-caption);line-height:var(--oft-row-height);padding-left:calc(var(--app-pane-padding) / 2);padding-right:calc(var(--app-pane-padding) / 2);font-weight:400;border-bottom-color:var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-header-cell:after{opacity:0}:host ::ng-deep .ag-theme-balham .ag-ltr .ag-header-cell{border-right:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-rtl .ag-header-cell{border-left:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .chip{display:flex;align-items:center}:host ::ng-deep .ag-theme-balham .chip .link{display:flex;align-items:center}:host{width:100%;display:block;padding:0!important;background:rgba(var(--color-black-rgb),.02);border:1px solid var(--color-gainsboro)}:host.ng-invalid{border-color:var(--color-error);background:rgba(var(--color-error),.15)}:host .object-form-table .grid-body{width:100%;position:relative}:host .object-form-table .grid-body.size-supersmall{height:100px}:host .object-form-table .grid-body.size-small{height:200px}:host .object-form-table .grid-body.size-medium{height:300px}:host .object-form-table .grid-body.size-large{height:400px}:host .object-form-table .grid-body ag-grid-angular{width:100%;height:100%;background-color:transparent}:host .object-form-table.medium .body{height:300px}:host .object-form-table.large .body{height:500px}:host .object-form-table-header{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);border-bottom:0}:host .object-form-table-header span{display:block;flex:1 1 auto}:host .object-form-table-header eo-icon.stf{width:16px;height:16px;margin:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption);cursor:pointer}:host .object-form-table-header eo-icon.stf.add-row{width:24px;height:24px;background-color:var(--text-color-hint);color:#fff;border-radius:2px}:host .object-form-table-header button.add{border-radius:2px;padding:calc(var(--app-pane-padding) / 2)}:host .object-form-table-header button.export{border-radius:2px;border:1px solid black;color:#000;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 4);font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding) / 4)}::ng-deep .import-report__dialog{padding:8px;min-height:unset!important;overflow:hidden}::ng-deep .import-report__dialog .body{overflow:auto}::ng-deep .import-report__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .import-report__dialog td,::ng-deep .import-report__dialog th{border:1px solid #dddddd;text-align:left;padding:8px}::ng-deep .import-report__dialog .actions{display:flex;flex:0;flex-direction:row;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .import-report__dialog .actions button{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i7.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "component", type: i8.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "component", type: i9.MediaComponent, selector: "eo-media", inputs: ["undockDisabled", "enableCloseBtn", "useVersion", "attachments", "searchTerm", "previewUri", "previewFile", "dmsObject"] }, { kind: "component", type: i10.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i10.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: i11.RowEditComponent, selector: "eo-row-edit", inputs: ["limitReached", "row"], outputs: ["onCancel", "onSave", "onSaveCopy", "onDelete"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
588
+ };
589
+ FormElementTableComponent = __decorate([
590
+ UntilDestroy()
591
+ ], FormElementTableComponent);
592
+ export { FormElementTableComponent };
593
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FormElementTableComponent, decorators: [{
594
+ type: Component,
595
+ args: [{ selector: 'eo-table', providers: [
596
+ {
597
+ provide: NG_VALUE_ACCESSOR,
598
+ useExisting: forwardRef(() => FormElementTableComponent),
599
+ multi: true
600
+ },
601
+ {
602
+ provide: NG_VALIDATORS,
603
+ useExisting: forwardRef(() => FormElementTableComponent),
604
+ multi: true,
605
+ }
606
+ ], template: "<div class=\"object-form-table\" [ngClass]=\"{medium: _params.size === 'medium', large: _params.size === 'large'}\">\n <div class=\"object-form-table-header\">\n <span>{{_params.element.label}}</span>\n <ng-container *ngIf=\"_params.situation !== 'SEARCH'\">\n\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_expand.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.open'| translate)\" (click)=\"openDialog()\"></eo-icon>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit()\"></eo-icon>\n <eo-icon class=\"stf\" *ngIf=\"gridOptions.rowData?.length\" [iconSrc]=\"'assets/_default/svg/ic_export.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.csv'| translate)\" (click)=\"exportCSV()\"></eo-icon>\n <eo-icon *ngIf=\"!_params.element.readonly\" class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_import.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.upload'| translate)\" (click)=\"file.click()\"></eo-icon>\n <input type=\"file\" accept=\".csv\" style=\"display:none;\" #file (change)=\"importCSV($event.target)\"\n (click)=\"$event.target.value = null\">\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n\n </ng-container>\n </div>\n <div class=\"grid-body size-{{ params.size }}\">\n <ag-grid-angular #agGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\" [gridOptions]=\"gridOptions\"\n (rowDoubleClicked)=\"editRow($event)\" (cellClicked)=\"onCellClicked($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column)\">\n </ag-grid-angular>\n </div>\n</div>\n\n\n<eo-dialog [title]=\"params.element.label\" [visible]=\"showDialog\" [dirtyCheck]=\"rowEdit?.pendingTaskId\"\n [minWidth]=\"_params.situation !== 'SEARCH' ? minWidth : 200\" [width]=\"_params.situation !== 'SEARCH' ? '95vw' : 500\"\n [height]=\"height\" [styleClass]=\"'object-form-table-dialog'\" (hide)=\"onClose()\" [isFormTable]=\"true\"\n [hasPreviewFile]=\"hasPreviewFile\" [showPreview]=\"showPreview\" (onTogglePreview)=\"togglePreview()\">\n\n <div class=\"body\" *ngIf=\"showDialog\">\n\n <!-- <yvc-split-view [layoutSettingsID]=\"cacheLayoutKey\"> -->\n <yvc-split-view>\n\n <!-- the table itself-->\n <ng-template yvcSplitArea [size]=\"40\" [visible]=\"_params.situation !== 'SEARCH'\">\n <div class=\"table-body\">\n <div class=\"object-form-table\">\n <div class=\"object-form-table-header\">\n <span></span>\n <ng-container>\n <eo-icon class=\"stf\" [iconSrc]=\"'assets/_default/svg/ic_size_to_fit.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.fit'| translate)\" (click)=\"sizeToFit(true)\"></eo-icon>\n <eo-icon class=\"stf add-row\" *ngIf=\"!_params.element.readonly\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"\n [iconTitle]=\"('eo.form.table.options.btn.add'| translate)\" (click)=\"addRow()\"></eo-icon>\n </ng-container>\n </div>\n <div class=\"grid-body\">\n <ag-grid-angular #overlayGrid *ngIf=\"gridReady\" class=\"ag-theme-balham\" [modules]=\"modules\"\n [gridOptions]=\"overlayGridOptions\" (cellClicked)=\"onCellClickedRowEdit($event)\"\n (mousedown)=\"onMouseDown($event)\" (sortChanged)=\"onSortChanged()\"\n (cellValueChanged)=\"onEditComplete($event)\" (columnResized)=\"onColumnResized($event.column, true)\">\n </ag-grid-angular>\n </div>\n </div>\n </div>\n </ng-template>\n\n <!-- table edit component-->\n <ng-template yvcSplitArea [size]=\"20\" [visible]=\"!!editingRow\">\n <div class=\"edit-body\">\n <eo-row-edit [row]=\"editingRow\" [limitReached]=\"limit <= overlayGridOptions.rowData.length\" #rowEdit\n (onSave)=\"updateRow($event)\" (onSaveCopy)=\"copyRow($event)\" (onDelete)=\"deleteRow($event)\"\n (onCancel)=\"cancelRowEdit()\"></eo-row-edit>\n </div>\n </ng-template>\n\n <!-- viewer-->\n <ng-template yvcSplitArea [size]=\"40\" [visible]=\"showPreview && hasPreviewFile\">\n <eo-media *ngIf=\"hasPreviewFile\" [undockDisabled]=\"true\"\n [useVersion]=\"params.object?.id === params.object?.content?.id\" [dmsObject]=\"params.object\"></eo-media>\n </ng-template>\n\n </yvc-split-view>\n </div>\n</eo-dialog>\n\n<eo-dialog [title]=\"('eo.form.table.csv.import.report.title' | translate)\" [visible]=\"showImportReportDialog\"\n (hide)=\"cancelImportReport()\" [styleClass]=\"'import-report__dialog'\">\n <div class=\"body\">\n <h4 translate [translateParams]=\"{readRows: mappedRows.length}\">eo.form.table.csv.import.report.readRows</h4>\n <div *ngIf=\"mappingErrorFields.length !== 0\" class=\"flex-col\">\n <h4 translate>eo.form.table.csv.import.report.errors</h4>\n <table>\n <thead>\n <tr>\n <th translate>eo.form.table.csv.import.report.errors.row</th>\n <th translate>eo.form.table.csv.import.report.errors.csvColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.tableColumn</th>\n <th translate>eo.form.table.csv.import.report.errors.value</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let error of mappingErrorFields; let i = index\">\n <tr>\n <td>{{error.row + 1}}</td>\n <td>{{error.uploadedName}}</td>\n <td>{{error.technicalName}}</td>\n <td>{{error.value}}</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </div>\n <div class=\"actions\">\n <button (click)=\"cancelImportReport()\" class=\"button-cancel\" translate>eo.resubmission.cancel</button>\n <button (click)=\"addImportValuesToTable()\" class=\"primary\" translate>eo.form.table.csv.import.report.import</button>\n </div>\n</eo-dialog>\n", styles: [":host-context(.dark) .label{color:var(--color-white);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-header-cell{color:rgba(var(--color-white-rgb),.7);background-color:rgba(var(--color-white-rgb),.1)}:host-context(.dark) ::ng-deep .ag-theme-balham .ag-root{background-color:transparent}:host ::ng-deep{--oft-row-height: 30px}:host ::ng-deep .ag-theme-balham{position:absolute;top:0;bottom:0;width:100%;box-sizing:border-box}:host ::ng-deep .ag-theme-balham .ag-root{background-color:var(--color-white)}:host ::ng-deep .ag-theme-balham .copy-cell{animation-name:copy-cell;animation-duration:4s}@keyframes copy-cell{0%{background-color:var(--color-accent)}to{background-color:none}}:host ::ng-deep .ag-theme-balham .ag-cell{display:flex;align-items:center;padding:0 calc(var(--app-pane-padding) / 4);font-size:var(--font-caption);line-height:var(--oft-row-height)}:host ::ng-deep .ag-theme-balham .ag-cell.ag-cell-focus{background-color:var(--list-item-hover-background);outline:0!important;border-color:transparent!important}:host ::ng-deep .ag-theme-balham .ag-cell svg{pointer-events:none}:host ::ng-deep .ag-theme-balham .ag-cell.res-ico,:host ::ng-deep .ag-theme-balham .ag-cell.col-boolean{justify-content:center}:host ::ng-deep .ag-theme-balham .ag-cell.col-number{justify-content:flex-end}:host ::ng-deep .ag-theme-balham .ag-cell .no-value{border-radius:2px;font-size:var(--font-hint);background-color:var(--color-accent);padding:calc(var(--app-pane-padding) / 4);color:var(--color-white)}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon{display:flex;cursor:pointer}:host ::ng-deep .ag-theme-balham .ag-cell .action-icon svg{fill:var(--text-color-caption)}:host ::ng-deep .ag-theme-balham .ag-header-cell{color:var(--text-color-caption);font-size:var(--font-caption);line-height:var(--oft-row-height);padding-left:calc(var(--app-pane-padding) / 2);padding-right:calc(var(--app-pane-padding) / 2);font-weight:400;border-bottom-color:var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-header-cell:after{opacity:0}:host ::ng-deep .ag-theme-balham .ag-ltr .ag-header-cell{border-right:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .ag-rtl .ag-header-cell{border-left:1px solid var(--color-gainsboro)}:host ::ng-deep .ag-theme-balham .chip{display:flex;align-items:center}:host ::ng-deep .ag-theme-balham .chip .link{display:flex;align-items:center}:host{width:100%;display:block;padding:0!important;background:rgba(var(--color-black-rgb),.02);border:1px solid var(--color-gainsboro)}:host.ng-invalid{border-color:var(--color-error);background:rgba(var(--color-error),.15)}:host .object-form-table .grid-body{width:100%;position:relative}:host .object-form-table .grid-body.size-supersmall{height:100px}:host .object-form-table .grid-body.size-small{height:200px}:host .object-form-table .grid-body.size-medium{height:300px}:host .object-form-table .grid-body.size-large{height:400px}:host .object-form-table .grid-body ag-grid-angular{width:100%;height:100%;background-color:transparent}:host .object-form-table.medium .body{height:300px}:host .object-form-table.large .body{height:500px}:host .object-form-table-header{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);border-bottom:0}:host .object-form-table-header span{display:block;flex:1 1 auto}:host .object-form-table-header eo-icon.stf{width:16px;height:16px;margin:calc(var(--app-pane-padding) / 4);color:var(--text-color-caption);cursor:pointer}:host .object-form-table-header eo-icon.stf.add-row{width:24px;height:24px;background-color:var(--text-color-hint);color:#fff;border-radius:2px}:host .object-form-table-header button.add{border-radius:2px;padding:calc(var(--app-pane-padding) / 2)}:host .object-form-table-header button.export{border-radius:2px;border:1px solid black;color:#000;padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 4);font-size:var(--font-hint);margin:0 calc(var(--app-pane-padding) / 4)}::ng-deep .import-report__dialog{padding:8px;min-height:unset!important;overflow:hidden}::ng-deep .import-report__dialog .body{overflow:auto}::ng-deep .import-report__dialog--header{font-size:1.17em!important;font-weight:400!important;color:rgba(var(--color-black-rgb),.54)!important;padding:0 0 1em!important;margin:0;background:#fff!important}::ng-deep .import-report__dialog td,::ng-deep .import-report__dialog th{border:1px solid #dddddd;text-align:left;padding:8px}::ng-deep .import-report__dialog .actions{display:flex;flex:0;flex-direction:row;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .import-report__dialog .actions button{white-space:nowrap}\n"] }]
607
+ }], ctorParameters: () => [{ type: i1.LocalStorageService }, { type: i1.SystemService }, { type: i2.PendingChangesService }, { type: i3.GridService }, { type: i1.NotificationsService }, { type: i1.TranslateService }], propDecorators: { agGrid: [{
608
+ type: ViewChild,
609
+ args: ['agGrid']
610
+ }], overlayGrid: [{
611
+ type: ViewChild,
612
+ args: ['overlayGrid']
613
+ }], rowEdit: [{
614
+ type: ViewChild,
615
+ args: ['rowEdit']
616
+ }], limit: [{
617
+ type: Input
618
+ }], hasPreviewFile: [{
619
+ type: Input
620
+ }], minWidth: [{
621
+ type: Input
622
+ }], height: [{
623
+ type: Input
624
+ }], params: [{
625
+ type: Input
626
+ }], copyCellHandler: [{
627
+ type: HostListener,
628
+ args: ['keydown.control.alt.shift.c', ['$event']]
629
+ }, {
630
+ type: HostListener,
631
+ args: ['keydown.control.shift.c', ['$event']]
632
+ }, {
633
+ type: HostListener,
634
+ args: ['keydown.control.alt.c', ['$event']]
635
+ }, {
636
+ type: HostListener,
637
+ args: ['keydown.control.c', ['$event']]
638
+ }] } });
639
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lbGVtZW50LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL29iamVjdC1mb3JtL29iamVjdC1mb3JtL2Zvcm0tZWxlbWVudC10YWJsZS9mb3JtLWVsZW1lbnQtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWZvcm0vb2JqZWN0LWZvcm0vZm9ybS1lbGVtZW50LXRhYmxlL2Zvcm0tZWxlbWVudC10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFFbEYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBdUIsYUFBYSxFQUFFLGlCQUFpQixFQUFnQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JILE9BQU8sRUFBNkUsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQy9HLE9BQU8sRUFBQyxjQUFjLEVBQUUsUUFBUSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxZQUFZLEVBQWMsTUFBTSxnREFBZ0QsQ0FBQztBQUl6RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQXVCeEQsSUFBTSx5QkFBeUIsR0FBL0IsTUFB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QVM7dUJBQUMsYUFBYTtnQkFDRixPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBR1gsS0FBSztzQkFBYixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBaUJGLE1BQU07c0JBRFQsS0FBSztnQkFvQ04sZUFBZTtzQkFKZCxZQUFZO3VCQUFDLDZCQUE2QixFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDdEQsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ2xELFlBQVk7dUJBQUMsdUJBQXVCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNoRCxZQUFZO3VCQUFDLG1CQUFtQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGllbnRTaWRlUm93TW9kZWxNb2R1bGV9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jbGllbnQtc2lkZS1yb3ctbW9kZWwnO1xuaW1wb3J0IHtDb2xEZWYsIEdyaWRPcHRpb25zLCBNb2R1bGV9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7Q3N2RXhwb3J0TW9kdWxlfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY3N2LWV4cG9ydCc7XG5pbXBvcnQge0NvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIGZvcndhcmRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9yfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0xvY2FsU3RvcmFnZVNlcnZpY2UsIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLCBTeXN0ZW1TZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlLCBVdGlsc30gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7Zmlyc3RWYWx1ZUZyb20sIGZvcmtKb2lufSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7Q2VsbFJlbmRlcmVyLCBHcmlkU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvYXBpL2dyaWQuc2VydmljZSc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzU2VydmljZX0gZnJvbSAnLi8uLi8uLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHtFZGl0Um93LCBUYWJsZUNvbXBvbmVudFBhcmFtc30gZnJvbSAnLi9mb3JtLWVsZW1lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7Um93RWRpdENvbXBvbmVudH0gZnJvbSAnLi9yb3ctZWRpdC9yb3ctZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHtMb2NhbGVOdW1iZXJQaXBlfSBmcm9tIFwiLi4vLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmVcIjtcbmltcG9ydCB7QWdHcmlkQW5ndWxhcn0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2FuZ3VsYXInO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZWxlbWVudC10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW1xuICAgICcuL2Zvcm0tZWxlbWVudC10YWJsZS5jb21wb25lbnQuc2NzcydcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGb3JtRWxlbWVudFRhYmxlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm9ybUVsZW1lbnRUYWJsZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUVsZW1lbnRUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uSW5pdCB7XG5cbiAgcHJpdmF0ZSBfY2FjaGVkQ29sdW1uczogYW55W107XG4gIHByaXZhdGUgX2NhY2hlZENvbHVtbnNPdmVybGF5OiBhbnlbXTtcblxuICBwdWJsaWMgbW9kdWxlczogTW9kdWxlW10gPSBbQ2xpZW50U2lkZVJvd01vZGVsTW9kdWxlLCBDc3ZFeHBvcnRNb2R1bGVdO1xuXG4gIEJBU0VfQ0FDSEVfTEFZT1VUX0tFWSA9ICd0YWJsZS5zdGF0ZSc7XG4gIGNhY2hlTGF5b3V0S2V5ID0gdGhpcy5CQVNFX0NBQ0hFX0xBWU9VVF9LRVk7XG5cbiAgQFZpZXdDaGlsZCgnYWdHcmlkJykgYWdHcmlkITogQWdHcmlkQW5ndWxhcjtcbiAgQFZpZXdDaGlsZCgnb3ZlcmxheUdyaWQnKSBvdmVybGF5R3JpZCE6IEFnR3JpZEFuZ3VsYXI7XG4gIEBWaWV3Q2hpbGQoJ3Jvd0VkaXQnKSByb3dFZGl0OiBSb3dFZGl0Q29tcG9uZW50O1xuICAvLyBAVmlld0NoaWxkKCdzcGxpdFZpZXcnKSBzcGxpdFZpZXc6IFNwbGl0Q29tcG9uZW50O1xuXG4gIEBJbnB1dCgpIGxpbWl0OiBudW1iZXI7XG4gIEBJbnB1dCgpIGhhc1ByZXZpZXdGaWxlOiBib29sZWFuO1xuICBASW5wdXQoKSBtaW5XaWR0aCA9ICc5N3Z3JztcbiAgQElucHV0KCkgaGVpZ2h0ID0gJzk1dmgnO1xuXG4gIF9wYXJhbXM6IFRhYmxlQ29tcG9uZW50UGFyYW1zO1xuICBwcml2YXRlIF9lbGVtZW50czogYW55W107XG4gIGdyaWRSZWFkeSA9IGZhbHNlO1xuICB2YWx1ZTogYW55W107XG4gIGlubmVyVmFsdWU6IGFueVtdO1xuICBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIG92ZXJsYXlHcmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIGVkaXRpbmdSb3c6IEVkaXRSb3c7XG4gIHNob3dEaWFsb2cgPSBmYWxzZTtcbiAgc2hvd1ByZXZpZXcgPSBmYWxzZTtcbiAgc2hvd0ltcG9ydFJlcG9ydERpYWxvZyA9IGZhbHNlO1xuICBtYXBwZWRSb3dzID0gW107XG4gIG1hcHBpbmdFcnJvckZpZWxkcyA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBwYXJhbXMocDogVGFibGVDb21wb25lbnRQYXJhbXMpIHtcbiAgICB0aGlzLmNhY2hlTGF5b3V0S2V5ID0gcCA/IGAke3RoaXMuQkFTRV9DQUNIRV9MQVlPVVRfS0VZfS4ke3AuZWxlbWVudC5uYW1lfWAgOiB0aGlzLkJBU0VfQ0FDSEVfTEFZT1VUX0tFWTtcbiAgICBpZiAocCkge1xuICAgICAgdGhpcy5fcGFyYW1zID0gcDtcbiAgICAgIHRoaXMuX2NhY2hlZENvbHVtbnMgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0odGhpcy5jYWNoZUxheW91dEtleSArICcuY29sRGVmJykgfHwgW107XG4gICAgICB0aGlzLl9jYWNoZWRDb2x1bW5zT3ZlcmxheSA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSh0aGlzLmNhY2hlTGF5b3V0S2V5ICsgJy5jb2xEZWZPdmVybGF5JykgfHwgW107XG4gICAgICB0aGlzLnNob3dQcmV2aWV3ID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKHRoaXMuY2FjaGVMYXlvdXRLZXkgKyAnLnNob3dQcmV2aWV3Jyk7XG5cblxuICAgICAgQ2VsbFJlbmRlcmVyLnNpdHVhdGlvbiA9IHRoaXMuX3BhcmFtcy5zaXR1YXRpb247XG4gICAgICBpZiAodGhpcy5fcGFyYW1zLnNpdHVhdGlvbiA9PT0gJ1NFQVJDSCcpIHtcbiAgICAgICAgdGhpcy5fcGFyYW1zLnNpemUgPSAnc3VwZXJzbWFsbCc7XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLl9wYXJhbXMuc2l6ZSkge1xuICAgICAgICB0aGlzLl9wYXJhbXMuc2l6ZSA9ICdzbWFsbCc7XG4gICAgICB9XG4gICAgICB0aGlzLmdyaWRSZWFkeSA9IGZhbHNlO1xuICAgICAgdGhpcy5fZWxlbWVudHMgPSBwLmVsZW1lbnQuZWxlbWVudHM7XG4gICAgICB0aGlzLmdyaWRPcHRpb25zLmNvbHVtbkRlZnMgPSB0aGlzLmNyZWF0ZUNvbHVtbkRlZmluaXRpb24oKTtcbiAgICAgIGlmICh0aGlzLl9wYXJhbXMuc2l0dWF0aW9uID09PSAnU0VBUkNIJykge1xuICAgICAgICB0aGlzLmdyaWRPcHRpb25zLmNvbHVtbkRlZnMucHVzaCh7aGVhZGVyTmFtZTogJycsIGNvbElkOiAnYWN0aW9ucycsIHdpZHRoOiAzNCwgbWluV2lkdGg6IDM0LCBwaW5uZWQ6ICdyaWdodCcsIGNlbGxSZW5kZXJlcjogdGhpcy5hY3Rpb25zQ2VsbFJlbmRlcmVyfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm92ZXJsYXlHcmlkT3B0aW9ucy5jb2x1bW5EZWZzID0gdGhpcy5jcmVhdGVDb2x1bW5EZWZpbml0aW9uKHRydWUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmdyaWRSZWFkeSA9IHRydWU7XG4gICAgfVxuICB9XG4gIGdldCBwYXJhbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmFtcztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uY29udHJvbC5hbHQuc2hpZnQuYycsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uY29udHJvbC5zaGlmdC5jJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5jb250cm9sLmFsdC5jJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5jb250cm9sLmMnLCBbJyRldmVudCddKVxuICBjb3B5Q2VsbEhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLmdyaWRBcGkuY29weVRvQ2xpcGJvYXJkKGV2ZW50LCB0aGlzLmFnR3JpZCwgdGhpcy5ncmlkT3B0aW9ucyk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3lzdGVtU2VydmljZTogU3lzdGVtU2VydmljZSxcbiAgICBwcml2YXRlIHBlbmRpbmdDaGFuZ2VzOiBQZW5kaW5nQ2hhbmdlc1NlcnZpY2UsXG4gICAgcHVibGljIGdyaWRBcGk6IEdyaWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3Q6IE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IDxHcmlkT3B0aW9ucz57XG4gICAgICBjb250ZXh0OiB0aGlzLmdyaWRBcGkuZ2V0Q29udGV4dCgpLFxuICAgICAgaGVhZGVySGVpZ2h0OiAzMCxcbiAgICAgIHJvd0hlaWdodDogMzAsXG4gICAgICByb3dCdWZmZXI6IDIwLFxuICAgICAgbXVsdGlTb3J0S2V5OiAnY3RybCcsXG4gICAgICBhY2NlbnRlZFNvcnQ6IHRydWUsXG4gICAgICAvLyBzdXBwcmVzc0NlbGxTZWxlY3Rpb246IHRydWUsXG4gICAgICByb3dTZWxlY3Rpb246ICdzaW5nbGUnLFxuICAgICAgc3VwcHJlc3NNb3ZhYmxlQ29sdW1uczogdHJ1ZSxcbiAgICAgIGVuYWJsZUZpbHRlcjogZmFsc2UsXG4gICAgICBzdXBwcmVzc05vUm93c092ZXJsYXk6IHRydWUsXG4gICAgICBzdXBwcmVzc0xvYWRpbmdPdmVybGF5OiB0cnVlLFxuICAgICAgc3VwcHJlc3NDb250ZXh0TWVudTogdHJ1ZVxuICAgIH07XG4gICAgdGhpcy5ncmlkT3B0aW9ucy5jb250ZXh0LnRhYmxlQ29tcG9uZW50ID0gdGhpcztcblxuICAgIHRoaXMub3ZlcmxheUdyaWRPcHRpb25zID0gPEdyaWRPcHRpb25zPntcbiAgICAgIGNvbnRleHQ6IHRoaXMuZ3JpZEFwaS5nZXRDb250ZXh0KCksXG4gICAgICBoZWFkZXJIZWlnaHQ6IDMwLFxuICAgICAgcm93SGVpZ2h0OiAzMCxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICBtdWx0aVNvcnRLZXk6ICdjdHJsJyxcbiAgICAgIGFjY2VudGVkU29ydDogdHJ1ZSxcbiAgICAgIC8vIHN1cHByZXNzQ2VsbFNlbGVjdGlvbjogdHJ1ZSxcbiAgICAgIHJvd1NlbGVjdGlvbjogJ3NpbmdsZScsXG4gICAgICBzdXBwcmVzc01vdmFibGVDb2x1bW5zOiB0cnVlLFxuICAgICAgZW5hYmxlRmlsdGVyOiBmYWxzZSxcbiAgICAgIHN1cHByZXNzTm9Sb3dzT3ZlcmxheTogdHJ1ZSxcbiAgICAgIHN1cHByZXNzTG9hZGluZ092ZXJsYXk6IHRydWUsXG4gICAgICBzdXBwcmVzc0NvbnRleHRNZW51OiB0cnVlXG4gICAgfTtcbiAgICB0aGlzLm92ZXJsYXlHcmlkT3B0aW9ucy5jb250ZXh0LnRhYmxlQ29tcG9uZW50ID0gdGhpcztcbiAgICB0aGlzLm92ZXJsYXlHcmlkT3B0aW9ucy5yb3dDbGFzc1J1bGVzID0ge1xuICAgICAgJ25ldy1yb3cnOiBmdW5jdGlvbiAocGFyYW1zKSB7XG4gICAgICAgIGlmIChwYXJhbXMuZGF0YS5pc05ld1Jvdykge1xuICAgICAgICAgIGRlbGV0ZSBwYXJhbXMuZGF0YS5pc05ld1JvdztcbiAgICAgICAgICBkZWxldGUgcGFyYW1zLmNvbnRleHQudGFibGVDb21wb25lbnQuaW5uZXJWYWx1ZVtwYXJhbXMuY29udGV4dC50YWJsZUNvbXBvbmVudC5pbm5lclZhbHVlLmxlbmd0aCAtIDFdLmlzTmV3Um93O1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICB0aGlzLnBlbmRpbmdDaGFuZ2VzLnRhc2tzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRhc2tzID0+IHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5vdmVybGF5R3JpZE9wdGlvbnMuc3VwcHJlc3NSb3dDbGlja1NlbGVjdGlvbiA9ICEhdGhpcy5yb3dFZGl0ICYmICEhdGFza3MuaW5jbHVkZXModGhpcy5yb3dFZGl0LnBlbmRpbmdUYXNrSWQpO1xuICAgICAgICB9LCAwKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgYWN0aW9uc0NlbGxSZW5kZXJlcihwYXJhbXMpIHtcbiAgICBsZXQgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICBpZiAocGFyYW1zLmNvbnRleHQudGFibGVDb21wb25lbnQucGFyYW1zLnNpdHVhdGlvbiA9PT0gJ1NFQVJDSCcpIHtcbiAgICAgIGRpdi5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz1cImFjdGlvbi1pY29uXCIgaWQ9XCJhY3Rpb25JY29uLSR7cGFyYW1zLnJvd0luZGV4fVwiPlxuICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgPHBhdGggZD1cIk0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6XCIvPlxuICAgICAgPC9zdmc+XG4gICAgICA8L2Rpdj5gO1xuICAgICAgbGV0IGNsZWFySWNvbiA9IGRpdi5xdWVyeVNlbGVjdG9yQWxsKGAjYWN0aW9uSWNvbi0ke3BhcmFtcy5yb3dJbmRleH1gKVswXTtcbiAgICAgIGNsZWFySWNvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHBhcmFtcy5jb250ZXh0LnRhYmxlQ29tcG9uZW50LmNsZWFyUm93KHBhcmFtcy5yb3dJbmRleCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaXYuaW5uZXJIVE1MID0gYDxkaXYgY2xhc3M9XCJhY3Rpb24taWNvblwiIGlkPVwiYWN0aW9uSWNvbi0ke3BhcmFtcy5yb3dJbmRleH1cIj5cbiAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgIDxwYXRoIGQ9XCJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0elwiLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+YDtcbiAgICAgIGxldCBkZWxldGVJY29uID0gZGl2LnF1ZXJ5U2VsZWN0b3JBbGwoYCNhY3Rpb25JY29uLSR7cGFyYW1zLnJvd0luZGV4fWApWzBdO1xuICAgICAgZGVsZXRlSWNvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHBhcmFtcy5jb250ZXh0LnRhYmxlQ29tcG9uZW50LmRlbGV0ZVJvdyhwYXJhbXMucm93SW5kZXgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGl2O1xuICB9XG5cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55W10pOiB2b2lkIHtcblxuICAgIGlmICghdmFsdWUgJiYgdGhpcy5fcGFyYW1zLnNpdHVhdGlvbiA9PT0gJ1NFQVJDSCcpIHtcbiAgICAgIC8vIGZvciBzZWFyY2ggcm93IGRhdGEgd2lsbCBhbHdheXMgYmUgb25lIGVtcHR5IHJvd1xuICAgICAgLy8gdG9kbzogcmUtZW5hYmxlIGFnYWluIHdoZW4gc2VhcmNoIGluIHRhYmxlcyBpcyBzdXBwb3J0ZWRcbiAgICAgIHZhbHVlID0gW3t9XTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlIGluc3RhbmNlb2YgQXJyYXkgPyB2YWx1ZSA6IFtdO1xuICAgIC8vIGNyZWF0ZSBhIGNsb25lIG9mIHRoZSBhY3R1YWwgdmFsdWUgZm9yIGludGVybmFsIHVzYWdlXG4gICAgdGhpcy5pbm5lclZhbHVlID0gVXRpbHMuZm9ybURhdGFQYXJzZShVdGlscy5mb3JtRGF0YVN0cmluZ2lmeSh0aGlzLnZhbHVlKSk7XG5cbiAgICBpZiAodGhpcy5hZ0dyaWQpIHtcbiAgICAgIHRoaXMuYWdHcmlkLmFwaS5zZXRHcmlkT3B0aW9uKCdyb3dEYXRhJywgdGhpcy5pbm5lclZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ncmlkT3B0aW9ucy5yb3dEYXRhID0gdGhpcy5pbm5lclZhbHVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm92ZXJsYXlHcmlkKSB7XG4gICAgICB0aGlzLm92ZXJsYXlHcmlkLmFwaS5zZXRHcmlkT3B0aW9uKCdyb3dEYXRhJywgdGhpcy5pbm5lclZhbHVlKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZWxlY3RFZGl0Um93KCksIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm92ZXJsYXlHcmlkT3B0aW9ucy5yb3dEYXRhID0gdGhpcy5pbm5lclZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGNvbHVtbiBkZWZpbml0aW9uIGZyb20gZm9ybSBlbGVtZW50LlxuICAgKiBAcmV0dXJucyBjb2x1bW4gZGVmaW5pdGlvbiB0byBiZSBhZGRlZCB0byB0aGUgZ3JpZE9wdGlvbnNcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlQ29sdW1uRGVmaW5pdGlvbihvdmVybGF5PzogYm9vbGVhbik6IENvbERlZltdIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudHMubWFwKChlbCkgPT4ge1xuICAgICAgbGV0IGNvbDogQ29sRGVmID0gdGhpcy5ncmlkQXBpLmdldENvbHVtbkRlZmluaXRpb24oZWwpO1xuICAgICAgT2JqZWN0LmFzc2lnbihjb2wsIHtcbiAgICAgICAgaGVhZGVyTmFtZTogZWwubGFiZWwsXG4gICAgICAgIHN1cHByZXNzTWVudTogdHJ1ZSxcbiAgICAgICAgZmlsdGVyOiBmYWxzZSxcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgZmllbGQ6IGVsLm5hbWUsXG4gICAgICAgIHJlZkRhdGE6IHtcbiAgICAgICAgICAuLi5jb2wucmVmRGF0YSxcbiAgICAgICAgICBfZW9Gb3JtRWxlbWVudDogZWwsXG4gICAgICAgICAgX3NpdHVhdGlvbjogdGhpcy5fcGFyYW1zLnNpdHVhdGlvblxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGxldCBjYWNoZWRDb2x1bW5zID0gdGhpcy5fY2FjaGVkQ29sdW1ucztcbiAgICAgIGlmIChvdmVybGF5KSB7XG4gICAgICAgIGNhY2hlZENvbHVtbnMgPSB0aGlzLl9jYWNoZWRDb2x1bW5zT3ZlcmxheTtcbiAgICAgIH1cbiAgICAgIGxldCBjYWNoZWRDb2x1bW4gPSBjYWNoZWRDb2x1bW5zLmZpbmQoZiA9PiBmLnFuYW1lID09PSBlbC5xbmFtZSk7XG4gICAgICBpZiAoY2FjaGVkQ29sdW1uKSB7XG4gICAgICAgIGNvbC53aWR0aCA9IGNhY2hlZENvbHVtbi53aWR0aDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjb2w7XG4gICAgfSk7XG4gIH1cblxuICBhZGRSb3coKSB7XG4gICAgY29uc3Qgcm93RGF0YSA9IHt9O1xuICAgIGNvbnN0IGFzeW5jRmV0Y2hlcyA9IFtdO1xuICAgIHRoaXMuX2VsZW1lbnRzXG4gICAgICAuZm9yRWFjaChlbCA9PiB7XG4gICAgICAgIGlmIChlbC5kZWZhdWx0dmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJvd0RhdGFbZWwubmFtZV0gPSBlbC5kZWZhdWx0dmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAoZWwuZGVmYXVsdHZhbHVlZnVuY3Rpb24pIHtcbiAgICAgICAgICByb3dEYXRhW2VsLm5hbWVdID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldERlZmF1bHRWYWx1ZShlbC5kZWZhdWx0dmFsdWVmdW5jdGlvbik7XG4gICAgICAgICAgaWYgKGVsLmRlZmF1bHR2YWx1ZWZ1bmN0aW9uID09PSAnQ1VSUkVOVF9VU0VSJykge1xuICAgICAgICAgICAgYXN5bmNGZXRjaGVzLnB1c2godGhpcy5yZXNvbHZlT3JnRGF0YU1ldGEoZWwubmFtZSwgcm93RGF0YVtlbC5uYW1lXSkpO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICBpZiAoYXN5bmNGZXRjaGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvcmtKb2luKGFzeW5jRmV0Y2hlcykuc3Vic2NyaWJlKChyZXM6IHtrZXk6IHN0cmluZywgdmFsdWU6IGFueX1bXSkgPT4ge1xuICAgICAgICByZXMuZm9yRWFjaChyID0+IHtcbiAgICAgICAgICByb3dEYXRhW3Iua2V5XSA9IHIudmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNldEVkaXRSb3coLTEsIHJvd0RhdGEpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0RWRpdFJvdygtMSwgcm93RGF0YSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlT3JnRGF0YU1ldGEoZWxlbWVudE5hbWU6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIHJldHVybiB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uT2JqZWN0KHZhbHVlKS5waXBlKFxuICAgICAgbWFwKHJlcyA9PiAoe1xuICAgICAgICBrZXk6IGAke2VsZW1lbnROYW1lfV9tZXRhYCxcbiAgICAgICAgdmFsdWU6IHJlc1xuICAgICAgfSkpXG4gICAgKTtcbiAgfVxuXG4gIGVkaXRSb3coZXZlbnQpIHtcbiAgICB0aGlzLnNldEVkaXRSb3coZXZlbnQubm9kZS5pZCwgZXZlbnQubm9kZS5kYXRhKTtcbiAgfVxuXG4gIG9uRWRpdENvbXBsZXRlKGV2ZW50KSB7XG4gICAgLy90b2RvOiBpcyBpdCBvYnNvbGV0ZT9cbiAgfVxuXG4gIHByaXZhdGUgc2V0RWRpdFJvdyhpbmRleDogbnVtYmVyLCBkYXRhOiBhbnkpIHtcbiAgICAvLyBzZXR1cCB0aGUgcm93IHRvIGJlIGVkaXRlZC4gQmVzaWRlIHNvbWUgcHJvcGVydGllcywgdGhlXG4gICAgLy8gcm93IGNvbnRhaW5zIGEgZm9ybSBtb2RlbCBhbmQgZm9ybSBkYXRhLiBJZiB0aGUgcGFyZW50IGZvcm0gbW9kZWxcbiAgICAvLyBwcm92aWRlZCBhIHNjcmlwdCwgdGhpcyB3aWxsIGJlIGFkZGVkIGFzIHdlbGwsIHNvIGVkaXRpbmcgYSByb3cgd2lsbFxuICAgIC8vIHJlc3BlY3QgdGhlIGZvcm0gc2NyaXB0LlxuICAgIHRoaXMuZWRpdGluZ1JvdyA9IHtcbiAgICAgIHNpdHVhdGlvbjogdGhpcy5fcGFyYW1zLnNpdHVhdGlvbixcbiAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgIHRhYmxlRWxlbWVudDogdGhpcy5fcGFyYW1zLmVsZW1lbnQsXG4gICAgICBmb3JtOiB7XG4gICAgICAgIGVsZW1lbnRzOiB0aGlzLl9lbGVtZW50cyxcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMuX3BhcmFtcy5lbGVtZW50LnJlYWRvbmx5LFxuICAgICAgICBkYXRhXG4gICAgICB9XG4gICAgfTtcbiAgICAvLyB3ZSBuZWVkIHRoaXMgbGluZSB0byByZWxvYWQgdGhlIGNhY2hlZCBjb2x1bW5zIGluIGNhc2Ugb2YgcmVvcGVuaW5nIHRoZSBkaWFsb2cgd2l0aG91dCByZWZyZXNoaW5nIHRoZSBwYWdlXG4gICAgdGhpcy5wYXJhbXMgPSB0aGlzLl9wYXJhbXM7XG4gICAgdGhpcy5zaG93RGlhbG9nID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2VsZWN0RWRpdFJvdygpLCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0RWRpdFJvdygpIHtcbiAgICBpZiAodGhpcy5vdmVybGF5R3JpZCkge1xuICAgICAgdGhpcy5vdmVybGF5R3JpZC5hcGkuZGVzZWxlY3RBbGwoKTtcbiAgICAgIGlmICh0aGlzLmVkaXRpbmdSb3cgJiYgdGhpcy5lZGl0aW5nUm93LmluZGV4ICE9PSAtMSkge1xuICAgICAgICBsZXQgcm93Tm9kZSA9IHRoaXMub3ZlcmxheUdyaWQuYXBpLmdldFJvd05vZGUoJycgKyB0aGlzLmVkaXRpbmdSb3cuaW5kZXgpO1xuICAgICAgICByb3dOb2RlLnNldFNlbGVjdGVkKHRydWUsIHRydWUpO1xuICAgICAgICB0aGlzLm92ZXJsYXlHcmlkLmFwaS5lbnN1cmVOb2RlVmlzaWJsZShyb3dOb2RlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRhYmxlVmFsdWUoKSB7XG4gICAgdGhpcy5hZ0dyaWQuYXBpLnNldEdyaWRPcHRpb24oJ3Jvd0RhdGEnLCB0aGlzLmlubmVyVmFsdWUpO1xuICAgIGlmICh0aGlzLm92ZXJsYXlHcmlkKSB7XG4gICAgICB0aGlzLm92ZXJsYXlHcmlkLmFwaS5zZXRHcmlkT3B0aW9uKCdyb3dEYXRhJywgdGhpcy5pbm5lclZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vdmVybGF5R3JpZE9wdGlvbnMucm93RGF0YSA9IHRoaXMuaW5uZXJWYWx1ZTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZTtcbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy52YWx1ZS5pbmNsdWRlcygnaXNOZXdSb3cnKSkpIHtcbiAgICAgIGRlbGV0ZSB0aGlzLnZhbHVlWydpc05ld1JvdyddO1xuICAgIH1cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGNhbmNlbFJvd0VkaXQoKSB7XG4gICAgaWYgKHRoaXMucm93RWRpdCkge1xuICAgICAgdGhpcy5yb3dFZGl0LmZpbmlzaFBlbmRpbmcoKTtcbiAgICB9XG4gICAgdGhpcy5lZGl0aW5nUm93ID0gbnVsbDtcbiAgICBpZiAodGhpcy5fcGFyYW1zLnNpdHVhdGlvbiA9PT0gJ1NFQVJDSCcpIHtcbiAgICAgIHRoaXMuc2hvd0RpYWxvZyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5lZGl0aW5nUm93ID0gbnVsbDtcbiAgICB0aGlzLnNob3dEaWFsb2cgPSBmYWxzZTtcbiAgfVxuXG4gIGNhbmNlbEltcG9ydFJlcG9ydCgpIHtcbiAgICB0aGlzLnNob3dJbXBvcnRSZXBvcnREaWFsb2cgPSBmYWxzZTtcbiAgICB0aGlzLm1hcHBlZFJvd3MgPSBbXTtcbiAgICB0aGlzLm1hcHBpbmdFcnJvckZpZWxkcyA9IFtdO1xuICB9XG5cbiAgdXBkYXRlUm93KHJvd1Jlc3VsdDogYW55KSB7XG4gICAgY29uc3QgaXNOZXdSb3cgPSByb3dSZXN1bHQuaW5kZXggPT09IC0xO1xuICAgIGlmIChpc05ld1Jvdykge1xuICAgICAgdGhpcy5pbm5lclZhbHVlLnB1c2goey4uLnJvd1Jlc3VsdC5yb3dEYXRhLCAuLi57aXNOZXdSb3c6IHRydWV9fSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2VsZW1lbnRzLmZvckVhY2goZWwgPT4ge1xuICAgICAgICAvLyB0aGlzLmlubmVyVmFsdWVbcm93UmVzdWx0LmluZGV4XSA9IHsuLi50aGlzLmlubmVyVmFsdWVbcm93UmVzdWx0LmluZGV4XSwgLi4ucm93UmVzdWx0LnJvd0RhdGF9O1xuICAgICAgICB0aGlzLmlubmVyVmFsdWVbcm93UmVzdWx0LmluZGV4XVtlbC5uYW1lXSA9IHJvd1Jlc3VsdC5yb3dEYXRhW2VsLm5hbWVdO1xuICAgICAgICBpZiAocm93UmVzdWx0LnJvd0RhdGFbZWwubmFtZSArICdfbWV0YSddKSB7XG4gICAgICAgICAgdGhpcy5pbm5lclZhbHVlW3Jvd1Jlc3VsdC5pbmRleF1bZWwubmFtZSArICdfbWV0YSddID0gcm93UmVzdWx0LnJvd0RhdGFbZWwubmFtZSArICdfbWV0YSddO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVUYWJsZVZhbHVlKCk7XG4gICAgaWYgKHRoaXMuX3BhcmFtcy5zaXR1YXRpb24gPT09ICdTRUFSQ0gnKSB7XG4gICAgICB0aGlzLnNob3dEaWFsb2cgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKGlzTmV3Um93ICYmICFyb3dSZXN1bHQuY3JlYXRlTmV3Um93KSB7XG4gICAgICB0aGlzLnNldEVkaXRSb3codGhpcy5pbm5lclZhbHVlLmxlbmd0aCAtIDEsIHRoaXMuaW5uZXJWYWx1ZVt0aGlzLmlubmVyVmFsdWUubGVuZ3RoIC0gMV0pO1xuICAgIH0gZWxzZSBpZiAocm93UmVzdWx0LmNyZWF0ZU5ld1Jvdykge1xuICAgICAgdGhpcy5hZGRSb3coKTtcbiAgICAgIGxldCByb3dOb2RlID0gdGhpcy5vdmVybGF5R3JpZC5hcGkuZ2V0Um93Tm9kZSgnJyArICh0aGlzLmlubmVyVmFsdWUubGVuZ3RoIC0gMSkpO1xuICAgICAgdGhpcy5vdmVybGF5R3JpZC5hcGkuZW5zdXJlTm9kZVZpc2libGUocm93Tm9kZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0RWRpdFJvdyhyb3dSZXN1bHQuaW5kZXgsIHRoaXMuaW5uZXJWYWx1ZVtyb3dSZXN1bHQuaW5kZXhdKTtcbiAgICB9XG4gIH1cblxuICBjb3B5Um93KHJvd1Jlc3VsdDogYW55KSB7XG4gICAgcm93UmVzdWx0LmluZGV4ID0gLTE7XG4gICAgdGhpcy5pbm5lclZhbHVlLnB1c2goey4uLnJvd1Jlc3VsdC5yb3dEYXRhLCAuLi57aXNOZXdSb3c6IHRydWV9fSk7XG4gICAgdGhpcy51cGRhdGVUYWJsZVZhbHVlKCk7XG4gICAgaWYgKHJvd1Jlc3VsdC5jcmVhdGVOZXdSb3cpIHtcbiAgICAgIHRoaXMuYWRkUm93KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0RWRpdFJvdyh0aGlzLmlubmVyVmFsdWUubGVuZ3RoIC0gMSwgSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShyb3dSZXN1bHQucm93RGF0YSkpKTtcbiAgICB9XG4gIH1cblxuICBkZWxldGVSb3coaW5kZXg6IG51bWJlcikge1xuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICB0aGlzLmlubmVyVmFsdWUuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHRoaXMudXBkYXRlVGFibGVWYWx1ZSgpO1xuICAgICAgaWYgKHRoaXMuaW5uZXJWYWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgbmV4dEluZGV4ID0gaW5kZXggPT0gdGhpcy5pbm5lclZhbHVlLmxlbmd0aCA/IHRoaXMuaW5uZXJWYWx1ZS5sZW5ndGggLSAxIDogaW5kZXg7XG4gICAgICAgIHRoaXMuc2V0RWRpdFJvdyhuZXh0SW5kZXgsIHRoaXMuaW5uZXJWYWx1ZVtuZXh0SW5kZXhdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2FuY2VsUm93RWRpdCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNsZWFyUm93KGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmlubmVyVmFsdWVbaW5kZXhdID0ge307XG4gICAgdGhpcy51cGRhdGVUYWJsZVZhbHVlKCk7XG4gIH1cblxuICBleHBvcnRDU1YoKSB7XG4gICAgdGhpcy5hZ0dyaWQuYXBpLmV4cG9ydERhdGFBc0Nzdih7XG4gICAgICAuLi50aGlzLmdyaWRBcGkuY3N2RXhwb3J0UGFyYW1zLFxuICAgICAgZmlsZU5hbWU6IHRoaXMuX3BhcmFtcy5lbGVtZW50LmxhYmVsXG4gICAgfSk7XG4gIH1cblxuICBpbXBvcnRDU1YoZXZlbnQpIHtcbiAgICBjb25zdCBmaWVsZHMgPSB0aGlzLl9wYXJhbXMuZWxlbWVudC5lbGVtZW50cztcbiAgICBjb25zdCBmaWxlID0gZXZlbnQuZmlsZXNbMF07XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcblxuICAgIHJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgYXN5bmMgZSA9PiB7XG4gICAgICBsZXQgcGFyc2VkYXRhID0gW107XG4gICAgICBpZiAodHlwZW9mIGUudGFyZ2V0LnJlc3VsdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgbGV0IG5ld0xpbmVCcmVhayA9IGUudGFyZ2V0LnJlc3VsdC5zcGxpdCgnXFxuJykuZmlsdGVyKHJlc3VsdCA9PiByZXN1bHQgIT09ICcnKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuZXdMaW5lQnJlYWsubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBwYXJzZWRhdGEucHVzaChuZXdMaW5lQnJlYWtbaV0uc3BsaXQoJzsnKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFyc2VkYXRhLmxlbmd0aCA+IDUwMDApIHtcbiAgICAgICAgICB0aGlzLnRvYXN0LmVycm9yKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmZvcm0udGFibGUub3B0aW9ucy5idG4udXBsb2FkLmVycm9yJykpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBwYXJzZWRhdGEgPSBwYXJzZWRhdGEubWFwKGRhdGEgPT4gZGF0YS5tYXAoZCA9PiBkLnJlcGxhY2UoL1wiL2dpLCAnJykucmVwbGFjZSgnXFxuJywgJycpLnJlcGxhY2UoL1teLS46LGEtekEtWjAtOSgpIF0vZywgJycpLnRyaW0oKSkpO1xuXG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmdyaWRPcHRpb25zLmNvbHVtbkRlZnMubWFwKGNvbHVtbiA9PiBjb2x1bW5bJ2ZpZWxkJ10pO1xuICAgICAgICBjb25zdCBjb2x1bW5zVXBsb2FkZWQgPSBwYXJzZWRhdGFbMF07XG4gICAgICAgIHBhcnNlZGF0YS5zaGlmdCgpO1xuICAgICAgICBjb25zdCByb3dzVXBsb2FkZWQgPSBwYXJzZWRhdGE7XG5cbiAgICAgICAgY29uc3QgbWV0YUZpZWxkcyA9IFtdO1xuICAgICAgICBmb3IgKGxldCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgcm93c1VwbG9hZGVkLmxlbmd0aDsgcm93SW5kZXgrKykge1xuICAgICAgICAgIGNvbnN0IG1hcHBlZFJvdyA9IHt9O1xuICAgICAgICAgIGxldCBjdXJyZW50Um93ID0gcm93c1VwbG9hZGVkW3Jvd0luZGV4XTtcbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGN1cnJlbnRSb3cubGVuZ3RoICYmIGkgPCBjb2x1bW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudFJvd1tpXSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgY29uc3QgY3VycmVudEZpZWxkID0gZmllbGRzLmZpbmQoZmllbGQgPT4gZmllbGQubmFtZSA9PT0gY29sdW1uc1tpXSk7XG4gICAgICAgICAgICAgIGlmIChjdXJyZW50RmllbGQudHlwZSA9PT0gJ09SR0FOSVpBVElPTicpIHtcbiAgICAgICAgICAgICAgICBsZXQgb3JnT2JqID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9yZ2FuaXphdGlvbk9iamVjdChjdXJyZW50Um93W2ldKSk7XG4gICAgICAgICAgICAgICAgaWYgKG9yZ09iai5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgIG1hcHBlZFJvd1tjb2x1bW5zW2ldXSA9IGN1cnJlbnRSb3dbaV07XG4gICAgICAgICAgICAgICAgICBtZXRhRmllbGRzLnB1c2goe2NvbHVtbjogY29sdW1uc1tpXSwgcm93SW5kZXg6IHJvd0luZGV4LCB2YWx1ZTogb3JnT2JqfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIG1hcHBlZFJvd1tjb2x1bW5zW2ldXSA9ICcnO1xuICAgICAgICAgICAgICAgICAgdGhpcy5tYXBwaW5nRXJyb3JGaWVsZHMucHVzaCh7dGVjaG5pY2FsTmFtZTogY29sdW1uc1tpXSwgdXBsb2FkZWROYW1lOiBjb2x1bW5zVXBsb2FkZWRbaV0sIHJvdzogcm93SW5kZXgsIHZhbHVlOiBjdXJyZW50Um93W2ldfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRGaWVsZC50eXBlID09PSAnQ09ERVNZU1RFTScpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2Rlc3lzdGVtID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldENvZGVzeXN0ZW0oY3VycmVudEZpZWxkLmNvZGVzeXN0ZW0uaWQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvZGVzeXN0ZW1FbnRyeSA9IGNvZGVzeXN0ZW0uZW50cmllcy5maW5kKGVudHJ5ID0+IGVudHJ5LmRhdGEgPT09IGN1cnJlbnRSb3dbaV0gfHwgZW50cnkuZGVmYXVsdHJlcHJlc2VudGF0aW9uID09PSBjdXJyZW50Um93W2ldKTtcbiAgICAgICAgICAgICAgICBpZiAoY29kZXN5c3RlbUVudHJ5KSB7XG4gICAgICAgICAgICAgICAgICBtYXBwZWRSb3dbY29sdW1uc1tpXV0gPSBjdXJyZW50Um93W2ldO1xuICAgICAgICAgICAgICAgICAgbWV0YUZpZWxkcy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgY29sdW1uOiBjb2x1bW5zW2ldLFxuICAgICAgICAgICAgICAgICAgICAgIHJvd0luZGV4OiByb3dJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZToge2lkOiBjb2Rlc3lzdGVtRW50cnkuaWQsIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogY29kZXN5c3RlbUVudHJ5LmRlZmF1bHRyZXByZXNlbnRhdGlvbiwgbGFiZWw6IGNvZGVzeXN0ZW1FbnRyeS5sYWJlbFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgbWFwcGVkUm93W2NvbHVtbnNbaV1dID0gJyc7XG4gICAgICAgICAgICAgICAgICB0aGlzLm1hcHBpbmdFcnJvckZpZWxkcy5wdXNoKHt0ZWNobmljYWxOYW1lOiBjb2x1bW5zW2ldLCB1cGxvYWRlZE5hbWU6IGNvbHVtbnNVcGxvYWRlZFtpXSwgcm93OiByb3dJbmRleCwgdmFsdWU6IGN1cnJlbnRSb3dbaV19KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEZpZWxkLnR5cGUgPT09ICdSRUZFUkVOQ0UnKSB7XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRSb3dbaV0ubGVuZ3RoID09PSAzMikge1xuICAgICAgICAgICAgICAgICAgbWFwcGVkUm93W2NvbHVtbnNbaV1dID0gY3VycmVudFJvd1tpXTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgbWFwcGVkUm93W2NvbHVtbnNbaV1dID0gJyc7XG4gICAgICAgICAgICAgICAgICB0aGlzLm1hcHBpbmdFcnJvckZpZWxkcy5wdXNoKHt0ZWNobmljYWxOYW1lOiBjb2x1bW5zW2ldLCB1cGxvYWRlZE5hbWU6IGNvbHVtbnNVcGxvYWRlZFtpXSwgcm93OiByb3dJbmRleCwgdmFsdWU6IGN1cnJlbnRSb3dbaV19KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEZpZWxkLnR5cGUgPT09ICdEQVRFVElNRScpIHtcbiAgICAgICAgICAgICAgICBpZiAobmV3IERhdGUoY3VycmVudFJvd1tpXSkudG9TdHJpbmcoKSA9PT0gJ0ludmFsaWQgRGF0ZScpIHtcbiAgICAgICAgICAgICAgICAgIG1hcHBlZFJvd1tjb2x1bW5zW2ldXSA9ICcnO1xuICAgICAgICAgICAgICAgICAgdGhpcy5tYXBwaW5nRXJyb3JGaWVsZHMucHVzaCh7dGVjaG5pY2FsTmFtZTogY29sdW1uc1tpXSwgdXBsb2FkZWROYW1lOiBjb2x1bW5zVXBsb2FkZWRbaV0sIHJvdzogcm93SW5kZXgsIHZhbHVlOiBjdXJyZW50Um93W2ldfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIG1hcHBlZFJvd1tjb2x1bW5zW2ldXSA9IGN1cnJlbnRSb3dbaV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRGaWVsZC50eXBlID09PSAnTlVNQkVSJykge1xuICAgICAgICAgICAgICAgIG1hcHBlZFJvd1tjb2x1bW5zW2ldXSA9IG5ldyBMb2NhbGVOdW1iZXJQaXBlKHRoaXMudHJhbnNsYXRlKS5zdHJpbmdUb051bWJlcihjdXJyZW50Um93W2ldKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNOYU4obWFwcGVkUm93W2NvbHVtbnNbaV1dKSkge1xuICAgICAgICAgICAgICAgICAgbWFwcGVkUm93W2NvbHVtbnNbaV1dID0gJyc7XG4gICAgICAgICAgICAgICAgICB0aGlzLm1hcHBpbmdFcnJvckZpZWxkcy5wdXNoKHt0ZWNobmljYWxOYW1lOiBjb2x1bW5zW2ldLCB1cGxvYWRlZE5hbWU6IGNvbHVtbnNVcGxvYWRlZFtpXSwgcm93OiByb3dJbmRleCwgdmFsdWU6IGN1cnJlbnRSb3dbaV19KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbWFwcGVkUm93W2NvbHVtbnNbaV1dID0gY3VycmVudFJvd1tpXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLm1hcHBlZFJvd3MucHVzaChtYXBwZWRSb3cpO1xuICAgICAgICB9XG4gICAgICAgIG1ldGFGaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgdGhpcy5tYXBwZWRSb3dzW2ZpZWxkLnJvd0luZGV4XVtmaWVsZC5jb2x1bW4gKyAnX21ldGEnXSA9IGZpZWxkLnZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vcGVuSW1wb3J0UmVwb3J0RGlhbG9nKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZWFkZXIucmVhZEFzQmluYXJ5U3RyaW5nKGZpbGUpO1xuICB9XG5cbiAgYWRkSW1wb3J0VmFsdWVzVG9UYWJsZSgpIHtcbiAgICB0aGlzLnNob3dJbXBvcnRSZXBvcnREaWFsb2cgPSBmYWxzZTtcbiAgICB0aGlzLm9wZW5EaWFsb2coKTtcbiAgICB0aGlzLmlubmVyVmFsdWUgPSBbLi4udGhpcy5pbm5lclZhbHVlLCAuLi50aGlzLm1hcHBlZFJvd3NdO1xuICAgIHRoaXMudXBkYXRlVGFibGVWYWx1ZSgpO1xuICB9XG5cbiAgc2l6ZVRvRml0KG92ZXJsYXk/OiBib29sZWFuKSB7XG4gICAgaWYgKG92ZXJsYXkpIHtcbiAgICAgIHRoaXMub3ZlcmxheUdyaWQuYXBpLnNpemVDb2x1bW5zVG9GaXQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hZ0dyaWQuYXBpLnNpemVDb2x1bW5zVG9GaXQoKTtcbiAgICB9XG4gIH1cblxuICBvcGVuRGlhbG9nKCkge1xuICAgIC8vIHdlIG5lZWQgdGhpcyBsaW5lIHRvIHJlbG9hZCB0aGUgY2FjaGVkIGNvbHVtbnMgaW4gY2FzZSBvZiByZW9wZW5pbmcgdGhlIGRpYWxvZyB3aXRob3V0IHJlZnJlc2hpbmcgdGhlIHBhZ2VcbiAgICB0aGlzLnBhcmFtcyA9IHRoaXMuX3BhcmFtcztcbiAgICB0aGlzLnNob3dEaWFsb2cgPSB0cnVlO1xuICB9XG5cbiAgb3BlbkltcG9ydFJlcG9ydERpYWxvZygpIHtcbiAgICB0aGlzLnNob3dJbXBvcnRSZXBvcnREaWFsb2cgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVRhYmxlRGF0YSgpOiBib29sZWFuIHtcbiAgICAvLyB0b2RvOiBpbXBsZW1lbnRcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHZhbGlkYXRlKGM6IFVudHlwZWRGb3JtQ29udHJvbCkge1xuICAgIHJldHVybiB0aGlzLnZhbGlkYXRlVGFibGVEYXRhKCkgPyBudWxsIDoge1xuICAgICAgdGFibGU6IHtcbiAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIG9uTW91c2VEb3duKCRldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMub3ZlcmxheUdyaWRPcHRpb25zLnN1cHByZXNzUm93Q2xpY2tTZWxlY3Rpb24pIHtcbiAgICAgIGlmICghdGhpcy5wZW5kaW5nQ2hhbmdlcy5jaGVja0ZvclBlbmRpbmdUYXNrcyh0aGlzLnJvd0VkaXQucGVuZGluZ1Rhc2tJZCkpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5R3JpZE9wdGlvbnMuc3VwcHJlc3NSb3dDbGlja1NlbGVjdGlvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJvd0VkaXQuZmluaXNoUGVuZGluZygpO1xuICAgICAgICBsZXQgcm93SW5kZXggPSB0aGlzLmdyaWRBcGkuZ2V0Um93SW5kZXgoJGV2ZW50LnRhcmdldCwgJ2FnLWJvZHknKTtcbiAgICAgICAgaWYgKHJvd0luZGV4ICE9PSBudWxsKSB7XG4gICAgICAgICAgdGhpcy5vdmVybGF5R3JpZC5hcGkuZ2V0Um93Tm9kZSgnJyArIHJvd0luZGV4KS5zZXRTZWxlY3RlZCh0cnVlLCB0cnVlKTtcbiAgICAgICAgICAkZXZlbnQudGFyZ2V0LmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAkZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25Tb3J0Q2hhbmdlZCgpIHtcbiAgICBsZXQgcm93Tm9kZSA9IHRoaXMub3ZlcmxheUdyaWQuYXBpLmdldFJvd05vZGUoJycgKyB0aGlzLmVkaXRpbmdSb3cuaW5kZXgpO1xuICAgIHRoaXMub3ZlcmxheUdyaWQuYXBpLmVuc3VyZU5vZGVWaXNpYmxlKHJvd05vZGUpO1xuICB9XG5cbiAgb25DZWxsQ2xpY2tlZCgkZXZlbnQpIHtcbiAgICBpZiAoJGV2ZW50LmNvbERlZi5jZWxsQ2xhc3MgPT09ICdyb3V0ZXItbGluay1jZWxsJyAmJiAkZXZlbnQucm93SW5kZXggIT09IG51bGwgJiYgIXRoaXMucGVuZGluZ0NoYW5nZXMuY2hlY2soKSkge1xuICAgICAgaWYgKCEkZXZlbnQubm9kZS5ncm91cCAmJiAkZXZlbnQuZGF0YSkge1xuICAgICAgICB0aGlzLmdyaWRBcGkub3BlblJvdXRlckxpbmsoJGV2ZW50LmV2ZW50LCAnYWctcm93Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25DZWxsQ2xpY2tlZFJvd0VkaXQoJGV2ZW50KSB7XG4gICAgaWYgKCRldmVudC5yb3dJbmRleCAhPT0gbnVsbCAmJiAhdGhpcy5wZW5kaW5nQ2hhbmdlcy5jaGVja0ZvclBlbmRpbmdUYXNrcyh0aGlzLnJvd0VkaXQgPyB0aGlzLnJvd0VkaXQucGVuZGluZ1Rhc2tJZCA6IHVuZGVmaW5lZCkpIHtcbiAgICAgIGlmICghJGV2ZW50Lm5vZGUuZ3JvdXAgJiYgJGV2ZW50LmRhdGEpIHtcbiAgICAgICAgaWYgKCRldmVudC5jb2xEZWYuY2VsbENsYXNzID09PSAncm91dGVyLWxpbmstY2VsbCcpIHtcbiAgICAgICAgICB0aGlzLmdyaWRBcGkub3BlblJvdXRlckxpbmsoJGV2ZW50LmV2ZW50LCAnYWctcm93Jyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5lZGl0Um93KCRldmVudCk7XG4gIH1cblxuICBvbkNvbHVtblJlc2l6ZWQoY29sdW1uOiBhbnksIG92ZXJsYXk/OiBib29sZWFuKSB7XG4gICAgbGV0IGNvbHVtbnNEZWZpbml0aW9uID0gdGhpcy5jYWNoZUxheW91dEtleSArICcuY29sRGVmJztcbiAgICBsZXQgY2FjaGVkQ29sdW1ucyA9IHRoaXMuX2NhY2hlZENvbHVtbnM7XG4gICAgaWYgKG92ZXJsYXkpIHtcbiAgICAgIGNvbHVtbnNEZWZpbml0aW9uID0gdGhpcy5jYWNoZUxheW91dEtleSArICcuY29sRGVmT3ZlcmxheSc7XG4gICAgICBjYWNoZWRDb2x1bW5zID0gdGhpcy5fY2FjaGVkQ29sdW1uc092ZXJsYXk7XG4gICAgfVxuICAgIGxldCBjb2wgPSBjYWNoZWRDb2x1bW5zLmZpbmQoYyA9PiBjLnFuYW1lID09PSBjb2x1bW4uY29sRGVmLnJlZkRhdGEucW5hbWUpO1xuICAgIGlmIChjb2wpIHtcbiAgICAgIGNvbC53aWR0aCA9IGNvbHVtbi5hY3R1YWxXaWR0aDtcbiAgICB9IGVsc2Uge1xuICAgICAgY2FjaGVkQ29sdW1ucy5wdXNoKHtxbmFtZTogY29sdW1uLmNvbERlZi5yZWZEYXRhLnFuYW1lLCB3aWR0aDogY29sdW1uLmFjdHVhbFdpZHRofSk7XG4gICAgfVxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbShjb2x1bW5zRGVmaW5pdGlvbiwgY2FjaGVkQ29sdW1ucyk7XG4gIH1cblxuICAvLyBwcml2YXRlIF91cGRhdGVTcGxpdFZpZXdMYXlvdXRDYWNoZSgpIHtcbiAgLy8gICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgLy8gICAgIHRoaXMuc3BsaXRWaWV3Py51cGRhdGVMYXlvdXRDYWNoZSgpO1xuICAvLyAgIH0pO1xuICAvLyB9XG5cbiAgdG9nZ2xlUHJldmlldygpIHtcbiAgICB0aGlzLnNob3dQcmV2aWV3ID0gIXRoaXMuc2hvd1ByZXZpZXc7XG4gICAgLy8gbWFrZSBzdXJlIHRoYXQgdGhlIGxheW91dCBvZiB0aGUgc3BsaXQgdmlldyBpcyB1cGRhdGVkIGFmdGVyIHRoZSBwcmV2aWV3IHBhbmVsc1xuICAgIC8vIHZpc2liaWxpdHkgY2hhbmdlZFxuICAgIC8vIHRoaXMuX3VwZGF0ZVNwbGl0Vmlld0xheW91dENhY2hlKCk7XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKHRoaXMuY2FjaGVMYXlvdXRLZXkgKyAnLnNob3dQcmV2aWV3JywgdGhpcy5zaG93UHJldmlldyk7XG4gIH1cblxuICAvLyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gIC8vICAgdGhpcy5fdXBkYXRlU3BsaXRWaWV3TGF5b3V0Q2FjaGUoKTtcbiAgLy8gfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaGFzUHJldmlld0ZpbGUgPSB0aGlzLmhhc1ByZXZpZXdGaWxlICE9PSB1bmRlZmluZWQgPyB0aGlzLmhhc1ByZXZpZXdGaWxlIDogISF0aGlzLnBhcmFtcy5vYmplY3Q/LmNvbnRlbnQ7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvYmplY3QtZm9ybS10YWJsZVwiIFtuZ0NsYXNzXT1cInttZWRpdW06IF9wYXJhbXMuc2l6ZSA9PT0gJ21lZGl1bScsIGxhcmdlOiBfcGFyYW1zLnNpemUgPT09ICdsYXJnZSd9XCI+XG4gIDxkaXYgY2xhc3M9XCJvYmplY3QtZm9ybS10YWJsZS1oZWFkZXJcIj5cbiAgICA8c3Bhbj57e19wYXJhbXMuZWxlbWVudC5sYWJlbH19PC9zcGFuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfcGFyYW1zLnNpdHVhdGlvbiAhPT0gJ1NFQVJDSCdcIj5cblxuICAgICAgPGVvLWljb24gY2xhc3M9XCJzdGZcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19leHBhbmQuc3ZnJ1wiXG4gICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5mb3JtLnRhYmxlLm9wdGlvbnMuYnRuLm9wZW4nfCB0cmFuc2xhdGUpXCIgKGNsaWNrKT1cIm9wZW5EaWFsb2coKVwiPjwvZW8taWNvbj5cbiAgICAgIDxlby1pY29uIGNsYXNzPVwic3RmXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc2l6ZV90b19maXQuc3ZnJ1wiXG4gICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5mb3JtLnRhYmxlLm9wdGlvbnMuYnRuLmZpdCd8IHRyYW5zbGF0ZSlcIiAoY2xpY2spPVwic2l6ZVRvRml0KClcIj48L2VvLWljb24+XG4gICAgICA8ZW8taWNvbiBjbGFzcz1cInN0ZlwiICpuZ0lmPVwiZ3JpZE9wdGlvbnMucm93RGF0YT8ubGVuZ3RoXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZXhwb3J0LnN2ZydcIlxuICAgICAgICBbaWNvblRpdGxlXT1cIignZW8uZm9ybS50YWJsZS5vcHRpb25zLmJ0bi5jc3YnfCB0cmFuc2xhdGUpXCIgKGNsaWNrKT1cImV4cG9ydENTVigpXCI+PC9lby1pY29uPlxuICAgICAgPGVvLWljb24gKm5nSWY9XCIhX3BhcmFtcy5lbGVtZW50LnJlYWRvbmx5XCIgY2xhc3M9XCJzdGZcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19pbXBvcnQuc3ZnJ1wiXG4gICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5mb3JtLnRhYmxlLm9wdGlvbnMuYnRuLnVwbG9hZCd8IHRyYW5zbGF0ZSlcIiAoY2xpY2spPVwiZmlsZS5jbGljaygpXCI+PC9lby1pY29uPlxuICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgYWNjZXB0PVwiLmNzdlwiIHN0eWxlPVwiZGlzcGxheTpub25lO1wiICNmaWxlIChjaGFuZ2UpPVwiaW1wb3J0Q1NWKCRldmVudC50YXJnZXQpXCJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC50YXJnZXQudmFsdWUgPSBudWxsXCI+XG4gICAgICA8ZW8taWNvbiBjbGFzcz1cInN0ZiBhZGQtcm93XCIgKm5nSWY9XCIhX3BhcmFtcy5lbGVtZW50LnJlYWRvbmx5XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYWRkLnN2ZydcIlxuICAgICAgICBbaWNvblRpdGxlXT1cIignZW8uZm9ybS50YWJsZS5vcHRpb25zLmJ0bi5hZGQnfCB0cmFuc2xhdGUpXCIgKGNsaWNrKT1cImFkZFJvdygpXCI+PC9lby1pY29uPlxuXG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ3JpZC1ib2R5IHNpemUte3sgcGFyYW1zLnNpemUgfX1cIj5cbiAgICA8YWctZ3JpZC1hbmd1bGFyICNhZ0dyaWQgKm5nSWY9XCJncmlkUmVhZHlcIiBjbGFzcz1cImFnLXRoZW1lLWJhbGhhbVwiIFttb2R1bGVzXT1cIm1vZHVsZXNcIiBbZ3JpZE9wdGlvbnNdPVwiZ3JpZE9wdGlvbnNcIlxuICAgICAgKHJvd0RvdWJsZUNsaWNrZWQpPVwiZWRpdFJvdygkZXZlbnQpXCIgKGNlbGxDbGlja2VkKT1cIm9uQ2VsbENsaWNrZWQoJGV2ZW50KVwiIChzb3J0Q2hhbmdlZCk9XCJvblNvcnRDaGFuZ2VkKClcIlxuICAgICAgKGNlbGxWYWx1ZUNoYW5nZWQpPVwib25FZGl0Q29tcGxldGUoJGV2ZW50KVwiIChjb2x1bW5SZXNpemVkKT1cIm9uQ29sdW1uUmVzaXplZCgkZXZlbnQuY29sdW1uKVwiPlxuICAgIDwvYWctZ3JpZC1hbmd1bGFyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG5cbjxlby1kaWFsb2cgW3RpdGxlXT1cInBhcmFtcy5lbGVtZW50LmxhYmVsXCIgW3Zpc2libGVdPVwic2hvd0RpYWxvZ1wiIFtkaXJ0eUNoZWNrXT1cInJvd0VkaXQ/LnBlbmRpbmdUYXNrSWRcIlxuICBbbWluV2lkdGhdPVwiX3BhcmFtcy5zaXR1YXRpb24gIT09ICdTRUFSQ0gnID8gbWluV2lkdGggOiAyMDBcIiBbd2lkdGhdPVwiX3BhcmFtcy5zaXR1YXRpb24gIT09ICdTRUFSQ0gnID8gJzk1dncnIDogNTAwXCJcbiAgW2hlaWdodF09XCJoZWlnaHRcIiBbc3R5bGVDbGFzc109XCInb2JqZWN0LWZvcm0tdGFibGUtZGlhbG9nJ1wiIChoaWRlKT1cIm9uQ2xvc2UoKVwiIFtpc0Zvcm1UYWJsZV09XCJ0cnVlXCJcbiAgW2hhc1ByZXZpZXdGaWxlXT1cImhhc1ByZXZpZXdGaWxlXCIgW3Nob3dQcmV2aWV3XT1cInNob3dQcmV2aWV3XCIgKG9uVG9nZ2xlUHJldmlldyk9XCJ0b2dnbGVQcmV2aWV3KClcIj5cblxuICA8ZGl2IGNsYXNzPVwiYm9keVwiICpuZ0lmPVwic2hvd0RpYWxvZ1wiPlxuXG4gICAgPCEtLSA8eXZjLXNwbGl0LXZpZXcgW2xheW91dFNldHRpbmdzSURdPVwiY2FjaGVMYXlvdXRLZXlcIj4gLS0+XG4gICAgPHl2Yy1zcGxpdC12aWV3PlxuXG4gICAgICA8IS0tIHRoZSB0YWJsZSBpdHNlbGYtLT5cbiAgICAgIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiNDBcIiBbdmlzaWJsZV09XCJfcGFyYW1zLnNpdHVhdGlvbiAhPT0gJ1NFQVJDSCdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwib2JqZWN0LWZvcm0tdGFibGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvYmplY3QtZm9ybS10YWJsZS1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwic3RmXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc2l6ZV90b19maXQuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8uZm9ybS50YWJsZS5vcHRpb25zLmJ0bi5maXQnfCB0cmFuc2xhdGUpXCIgKGNsaWNrKT1cInNpemVUb0ZpdCh0cnVlKVwiPjwvZW8taWNvbj5cbiAgICAgICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cInN0ZiBhZGQtcm93XCIgKm5nSWY9XCIhX3BhcmFtcy5lbGVtZW50LnJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgICAgIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2FkZC5zdmcnXCJcbiAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5mb3JtLnRhYmxlLm9wdGlvbnMuYnRuLmFkZCd8IHRyYW5zbGF0ZSlcIiAoY2xpY2spPVwiYWRkUm93KClcIj48L2VvLWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1ib2R5XCI+XG4gICAgICAgICAgICAgIDxhZy1ncmlkLWFuZ3VsYXIgI292ZXJsYXlHcmlkICpuZ0lmPVwiZ3JpZFJlYWR5XCIgY2xhc3M9XCJhZy10aGVtZS1iYWxoYW1cIiBbbW9kdWxlc109XCJtb2R1bGVzXCJcbiAgICAgICAgICAgICAgICBbZ3JpZE9wdGlvbnNdPVwib3ZlcmxheUdyaWRPcHRpb25zXCIgKGNlbGxDbGlja2VkKT1cIm9uQ2VsbENsaWNrZWRSb3dFZGl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25Nb3VzZURvd24oJGV2ZW50KVwiIChzb3J0Q2hhbmdlZCk9XCJvblNvcnRDaGFuZ2VkKClcIlxuICAgICAgICAgICAgICAgIChjZWxsVmFsdWVDaGFuZ2VkKT1cIm9uRWRpdENvbXBsZXRlKCRldmVudClcIiAoY29sdW1uUmVzaXplZCk9XCJvbkNvbHVtblJlc2l6ZWQoJGV2ZW50LmNvbHVtbiwgdHJ1ZSlcIj5cbiAgICAgICAgICAgICAgPC9hZy1ncmlkLWFuZ3VsYXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8IS0tIHRhYmxlIGVkaXQgY29tcG9uZW50LS0+XG4gICAgICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjIwXCIgW3Zpc2libGVdPVwiISFlZGl0aW5nUm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlZGl0LWJvZHlcIj5cbiAgICAgICAgICA8ZW8tcm93LWVkaXQgW3Jvd109XCJlZGl0aW5nUm93XCIgW2xpbWl0UmVhY2hlZF09XCJsaW1pdCA8PSBvdmVybGF5R3JpZE9wdGlvbnMucm93RGF0YS5sZW5ndGhcIiAjcm93RWRpdFxuICAgICAgICAgICAgKG9uU2F2ZSk9XCJ1cGRhdGVSb3coJGV2ZW50KVwiIChvblNhdmVDb3B5KT1cImNvcHlSb3coJGV2ZW50KVwiIChvbkRlbGV0ZSk9XCJkZWxldGVSb3coJGV2ZW50KVwiXG4gICAgICAgICAgICAob25DYW5jZWwpPVwiY2FuY2VsUm93RWRpdCgpXCI+PC9lby1yb3ctZWRpdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8IS0tIHZpZXdlci0tPlxuICAgICAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCI0MFwiIFt2aXNpYmxlXT1cInNob3dQcmV2aWV3ICYmIGhhc1ByZXZpZXdGaWxlXCI+XG4gICAgICAgIDxlby1tZWRpYSAqbmdJZj1cImhhc1ByZXZpZXdGaWxlXCIgW3VuZG9ja0Rpc2FibGVkXT1cInRydWVcIlxuICAgICAgICAgIFt1c2VWZXJzaW9uXT1cInBhcmFtcy5vYmplY3Q/LmlkID09PSBwYXJhbXMub2JqZWN0Py5jb250ZW50Py5pZFwiIFtkbXNPYmplY3RdPVwicGFyYW1zLm9iamVjdFwiPjwvZW8tbWVkaWE+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPC95dmMtc3BsaXQtdmlldz5cbiAgPC9kaXY+XG48L2VvLWRpYWxvZz5cblxuPGVvLWRpYWxvZyBbdGl0bGVdPVwiKCdlby5mb3JtLnRhYmxlLmNzdi5pbXBvcnQucmVwb3J0LnRpdGxlJyB8IHRyYW5zbGF0ZSlcIiBbdmlzaWJsZV09XCJzaG93SW1wb3J0UmVwb3J0RGlhbG9nXCJcbiAgKGhpZGUpPVwiY2FuY2VsSW1wb3J0UmVwb3J0KClcIiBbc3R5bGVDbGFzc109XCInaW1wb3J0LXJlcG9ydF9fZGlhbG9nJ1wiPlxuICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxuICAgIDxoNCB0cmFuc2xhdGUgW3RyYW5zbGF0ZVBhcmFtc109XCJ7cmVhZFJvd3M6IG1hcHBlZFJvd3MubGVuZ3RofVwiPmVvLmZvcm0udGFibGUuY3N2LmltcG9ydC5yZXBvcnQucmVhZFJvd3M8L2g0PlxuICAgIDxkaXYgKm5nSWY9XCJtYXBwaW5nRXJyb3JGaWVsZHMubGVuZ3RoICE9PSAwXCIgY2xhc3M9XCJmbGV4LWNvbFwiPlxuICAgICAgPGg0IHRyYW5zbGF0ZT5lby5mb3JtLnRhYmxlLmNzdi5pbXBvcnQucmVwb3J0LmVycm9yczwvaDQ+XG4gICAgICA8dGFibGU+XG4gICAgICAgIDx0aGVhZD5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmZvcm0udGFibGUuY3N2LmltcG9ydC5yZXBvcnQuZXJyb3JzLnJvdzwvdGg+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmZvcm0udGFibGUuY3N2LmltcG9ydC5yZXBvcnQuZXJyb3JzLmNzdkNvbHVtbjwvdGg+XG4gICAgICAgICAgICA8dGggdHJhbnNsYXRlPmVvLmZvcm0udGFibGUuY3N2LmltcG9ydC5yZXBvcnQuZXJyb3JzLnRhYmxlQ29sdW1uPC90aD5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uZm9ybS50YWJsZS5jc3YuaW1wb3J0LnJlcG9ydC5lcnJvcnMudmFsdWU8L3RoPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGhlYWQ+XG4gICAgICAgIDx0Ym9keT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlcnJvciBvZiBtYXBwaW5nRXJyb3JGaWVsZHM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgPHRkPnt7ZXJyb3Iucm93ICsgMX19PC90ZD5cbiAgICAgICAgICAgICAgPHRkPnt7ZXJyb3IudXBsb2FkZWROYW1lfX08L3RkPlxuICAgICAgICAgICAgICA8dGQ+e3tlcnJvci50ZWNobmljYWxOYW1lfX08L3RkPlxuICAgICAgICAgICAgICA8dGQ+e3tlcnJvci52YWx1ZX19PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdGJvZHk+XG4gICAgICA8L3RhYmxlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFjdGlvbnNcIj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJjYW5jZWxJbXBvcnRSZXBvcnQoKVwiIGNsYXNzPVwiYnV0dG9uLWNhbmNlbFwiIHRyYW5zbGF0ZT5lby5yZXN1Ym1pc3Npb24uY2FuY2VsPC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwiYWRkSW1wb3J0VmFsdWVzVG9UYWJsZSgpXCIgY2xhc3M9XCJwcmltYXJ5XCIgdHJhbnNsYXRlPmVvLmZvcm0udGFibGUuY3N2LmltcG9ydC5yZXBvcnQuaW1wb3J0PC9idXR0b24+XG4gIDwvZGl2PlxuPC9lby1kaWFsb2c+XG4iXX0=