@acorex/platform 18.0.5 → 18.0.7

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 (635) hide show
  1. package/README.md +7 -7
  2. package/auth/README.md +3 -3
  3. package/auth/lib/auth.strategy.d.ts +1 -1
  4. package/auth/lib/session.service.d.ts +0 -1
  5. package/common/README.md +3 -3
  6. package/common/lib/app/application.types.d.ts +10 -6
  7. package/common/lib/data/data-provider.types.d.ts +1 -1
  8. package/common/lib/schema/entity/entity.class.d.ts +1 -0
  9. package/common/lib/schema/widgets/lookup/lookup-widget-column.component.d.ts +1 -1
  10. package/common/lib/schema/widgets/lookup/lookup-widget-edit.component.d.ts +3 -1
  11. package/common/lib/schema/widgets/phone/phone-widget-edit.component.d.ts +3 -1
  12. package/esm2022/auth/index.mjs +1 -1
  13. package/esm2022/auth/lib/application/application.loader.mjs +1 -1
  14. package/esm2022/auth/lib/application/application.types.mjs +1 -1
  15. package/esm2022/auth/lib/auth-registry.service.mjs +1 -1
  16. package/esm2022/auth/lib/auth.guard.mjs +4 -4
  17. package/esm2022/auth/lib/auth.module.mjs +1 -1
  18. package/esm2022/auth/lib/auth.strategy.mjs +1 -1
  19. package/esm2022/auth/lib/errors.types.mjs +1 -1
  20. package/esm2022/auth/lib/feature/feature.directive.mjs +1 -1
  21. package/esm2022/auth/lib/feature/feature.guard.mjs +1 -1
  22. package/esm2022/auth/lib/feature/feature.loader.mjs +1 -1
  23. package/esm2022/auth/lib/feature/feature.types.mjs +1 -1
  24. package/esm2022/auth/lib/feature/index.mjs +1 -1
  25. package/esm2022/auth/lib/permission/index.mjs +1 -1
  26. package/esm2022/auth/lib/permission/permission.directive.mjs +1 -1
  27. package/esm2022/auth/lib/permission/permission.guard.mjs +1 -1
  28. package/esm2022/auth/lib/permission/permission.loader.mjs +1 -1
  29. package/esm2022/auth/lib/permission/permission.types.mjs +1 -1
  30. package/esm2022/auth/lib/session.service.mjs +14 -15
  31. package/esm2022/auth/lib/session.types.mjs +1 -1
  32. package/esm2022/auth/lib/tenant/tenant.loader.mjs +1 -1
  33. package/esm2022/auth/lib/tenant/tenant.types.mjs +1 -1
  34. package/esm2022/auth/lib/user/user.types.mjs +1 -1
  35. package/esm2022/common/index.mjs +1 -1
  36. package/esm2022/common/lib/app/application.types.mjs +5 -1
  37. package/esm2022/common/lib/app/index.mjs +1 -1
  38. package/esm2022/common/lib/app/operators.mjs +1 -1
  39. package/esm2022/common/lib/common.module.mjs +1 -1
  40. package/esm2022/common/lib/configs/app.config.mjs +1 -1
  41. package/esm2022/common/lib/configs/config.types.mjs +1 -1
  42. package/esm2022/common/lib/data/data-provider.types.mjs +1 -1
  43. package/esm2022/common/lib/data/dexie-storage.service.mjs +1 -1
  44. package/esm2022/common/lib/data/entity-data-provider.mjs +1 -1
  45. package/esm2022/common/lib/data/index.mjs +1 -1
  46. package/esm2022/common/lib/data/storage-service.mjs +1 -1
  47. package/esm2022/common/lib/errors/error-handler-registry.service.mjs +1 -1
  48. package/esm2022/common/lib/errors/error-handler.types.mjs +1 -1
  49. package/esm2022/common/lib/errors/global-error-handler.mjs +1 -1
  50. package/esm2022/common/lib/errors/index.mjs +1 -1
  51. package/esm2022/common/lib/layout/beardcrumb.type.mjs +1 -1
  52. package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +1 -1
  53. package/esm2022/common/lib/layout/component-slot/component-slot-registery.service.mjs +1 -1
  54. package/esm2022/common/lib/layout/component-slot/component-slot.directive.mjs +1 -1
  55. package/esm2022/common/lib/layout/component-slot/component-slot.module.mjs +1 -1
  56. package/esm2022/common/lib/layout/component-slot/component-slot.types.mjs +1 -1
  57. package/esm2022/common/lib/layout/component-slot/index.mjs +1 -1
  58. package/esm2022/common/lib/layout/grid-layout/grid-layout.directive.mjs +1 -1
  59. package/esm2022/common/lib/layout/grid-layout/grid-layout.types.mjs +1 -1
  60. package/esm2022/common/lib/layout/grid-layout/index.mjs +1 -1
  61. package/esm2022/common/lib/layout/index.mjs +1 -1
  62. package/esm2022/common/lib/layout/layout.service.mjs +1 -1
  63. package/esm2022/common/lib/layout/logo/index.mjs +1 -1
  64. package/esm2022/common/lib/layout/logo/logo.component.mjs +3 -3
  65. package/esm2022/common/lib/layout/logo/logo.types.mjs +1 -1
  66. package/esm2022/common/lib/layout/menu/index.mjs +1 -1
  67. package/esm2022/common/lib/layout/menu/menu.loader.mjs +1 -1
  68. package/esm2022/common/lib/layout/menu/menu.types.mjs +1 -1
  69. package/esm2022/common/lib/layout/sticky.directive.mjs +1 -1
  70. package/esm2022/common/lib/layout/theme/components/slots/footer-text-slot.component.mjs +5 -5
  71. package/esm2022/common/lib/layout/theme/components/slots/index.mjs +1 -1
  72. package/esm2022/common/lib/layout/theme/components/slots/navbar-slot.component.mjs +9 -9
  73. package/esm2022/common/lib/layout/theme/components/slots/theme-slot.component.mjs +16 -16
  74. package/esm2022/common/lib/layout/theme/store/admin-layout.actions.mjs +1 -1
  75. package/esm2022/common/lib/layout/theme/store/admin-layout.effects.mjs +1 -1
  76. package/esm2022/common/lib/layout/theme/store/admin-layout.reducers.mjs +1 -1
  77. package/esm2022/common/lib/layout/theme/store/admin-layout.selectors.mjs +1 -1
  78. package/esm2022/common/lib/layout/theme/store/admin-layout.state.mjs +1 -1
  79. package/esm2022/common/lib/layout/theme/store/index.mjs +1 -1
  80. package/esm2022/common/lib/schema/component-loader.mjs +1 -1
  81. package/esm2022/common/lib/schema/entity/entity-registery.service.mjs +1 -1
  82. package/esm2022/common/lib/schema/entity/entity.class.mjs +1 -1
  83. package/esm2022/common/lib/schema/entity/entity.loader.mjs +1 -1
  84. package/esm2022/common/lib/schema/entity/index.mjs +1 -1
  85. package/esm2022/common/lib/schema/formats.mjs +1 -1
  86. package/esm2022/common/lib/schema/index.mjs +1 -1
  87. package/esm2022/common/lib/schema/schema-registery.service.mjs +1 -1
  88. package/esm2022/common/lib/schema/schema.module.mjs +1 -1
  89. package/esm2022/common/lib/schema/schema.types.mjs +1 -1
  90. package/esm2022/common/lib/schema/widget/index.mjs +1 -1
  91. package/esm2022/common/lib/schema/widget/widget-base.mjs +1 -1
  92. package/esm2022/common/lib/schema/widget/widget-column-renderer.mjs +17 -17
  93. package/esm2022/common/lib/schema/widget/widget-filter-renderer.mjs +13 -13
  94. package/esm2022/common/lib/schema/widget/widget-renderer.mjs +13 -13
  95. package/esm2022/common/lib/schema/widget/widget-token.mjs +1 -1
  96. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-edit.component.mjs +68 -68
  97. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-view.component.mjs +16 -16
  98. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-column.component.mjs +31 -31
  99. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.mjs +1 -1
  100. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-view.component.mjs +25 -25
  101. package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +76 -76
  102. package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +86 -86
  103. package/esm2022/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.mjs +68 -68
  104. package/esm2022/common/lib/schema/widgets/common-widgets.module.mjs +1 -1
  105. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.mjs +1 -1
  106. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +100 -100
  107. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +60 -60
  108. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.mjs +21 -21
  109. package/esm2022/common/lib/schema/widgets/email/email-widget-column.component.mjs +23 -23
  110. package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +134 -134
  111. package/esm2022/common/lib/schema/widgets/email/email-widget-view.component.mjs +65 -65
  112. package/esm2022/common/lib/schema/widgets/file/file-widget-column.component.mjs +1 -1
  113. package/esm2022/common/lib/schema/widgets/file/file-widget-edit.component.mjs +116 -116
  114. package/esm2022/common/lib/schema/widgets/file/file-widget-filter.component.mjs +6 -6
  115. package/esm2022/common/lib/schema/widgets/file/file-widget-view.component.mjs +70 -70
  116. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-edit.component.mjs +125 -125
  117. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-filter.component.mjs +6 -6
  118. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-types.mjs +1 -1
  119. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-view.component.mjs +109 -109
  120. package/esm2022/common/lib/schema/widgets/index.mjs +1 -1
  121. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-column.component.mjs +3 -3
  122. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +48 -44
  123. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +66 -66
  124. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-view.component.mjs +1 -1
  125. package/esm2022/common/lib/schema/widgets/map/map-widget-edit.component.mjs +5 -5
  126. package/esm2022/common/lib/schema/widgets/map/map-widget-view.component.mjs +5 -5
  127. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-column.component.mjs +23 -23
  128. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-edit.component.mjs +88 -88
  129. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-view.component.mjs +67 -67
  130. package/esm2022/common/lib/schema/widgets/number/number-widget-edit.component.mjs +15 -15
  131. package/esm2022/common/lib/schema/widgets/number/number-widget-view.component.mjs +1 -1
  132. package/esm2022/common/lib/schema/widgets/password/change-password.component.mjs +100 -100
  133. package/esm2022/common/lib/schema/widgets/password/password-widget-column.component.mjs +37 -37
  134. package/esm2022/common/lib/schema/widgets/password/password-widget-edit.component.mjs +15 -15
  135. package/esm2022/common/lib/schema/widgets/password/password-widget-view.component.mjs +58 -58
  136. package/esm2022/common/lib/schema/widgets/phone/phone-widget-column.component.mjs +41 -41
  137. package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +146 -142
  138. package/esm2022/common/lib/schema/widgets/phone/phone-widget-view.component.mjs +69 -69
  139. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-column.component.mjs +23 -23
  140. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.mjs +9 -9
  141. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-view.component.mjs +9 -9
  142. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-column.component.mjs +17 -17
  143. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.mjs +29 -29
  144. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.mjs +20 -20
  145. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-view.component.mjs +9 -9
  146. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-edit.component.mjs +56 -56
  147. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-view.component.mjs +17 -17
  148. package/esm2022/common/lib/schema/widgets/text/largetext-widget-edit.component.mjs +13 -13
  149. package/esm2022/common/lib/schema/widgets/text/text-widget-column.component.mjs +1 -1
  150. package/esm2022/common/lib/schema/widgets/text/text-widget-edit.component.mjs +88 -88
  151. package/esm2022/common/lib/schema/widgets/text/text-widget-view.component.mjs +21 -21
  152. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-column.component.mjs +33 -33
  153. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-edit.component.mjs +1 -1
  154. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-view.component.mjs +25 -25
  155. package/esm2022/common/lib/settings/index.mjs +1 -1
  156. package/esm2022/common/lib/settings/settings.loader.mjs +1 -1
  157. package/esm2022/common/lib/settings/settings.service.mjs +1 -1
  158. package/esm2022/common/lib/settings/settings.types.mjs +1 -1
  159. package/esm2022/common/lib/store/common.actions.mjs +1 -1
  160. package/esm2022/common/lib/store/common.effects.mjs +1 -1
  161. package/esm2022/common/lib/store/index.mjs +1 -1
  162. package/esm2022/common/lib/utils/clipboard-service.mjs +1 -1
  163. package/esm2022/common/lib/utils/data-generator.mjs +1 -1
  164. package/esm2022/common/lib/utils/index.mjs +1 -1
  165. package/esm2022/common/lib/utils/pdf.service.mjs +1 -1
  166. package/esm2022/common/lib/utils/router-util.service.mjs +1 -1
  167. package/esm2022/common/lib/workflows/common.workflow.mjs +1 -1
  168. package/esm2022/common/lib/workflows/error-handler.mjs +1 -1
  169. package/esm2022/common/lib/workflows/index.mjs +1 -1
  170. package/esm2022/index.mjs +1 -1
  171. package/esm2022/layout/builder/index.mjs +1 -1
  172. package/esm2022/layout/builder/lib/builder/builder.module.mjs +1 -1
  173. package/esm2022/layout/builder/lib/builder/builder.service.mjs +1 -1
  174. package/esm2022/layout/builder/lib/builder/index.mjs +1 -1
  175. package/esm2022/layout/builder/lib/builder/layout.types.mjs +1 -1
  176. package/esm2022/layout/builder/lib/builder/widget-column-renderer.mjs +17 -17
  177. package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +1 -1
  178. package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +1 -1
  179. package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +19 -19
  180. package/esm2022/layout/builder/lib/builder/widget.types.mjs +1 -1
  181. package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +28 -13
  182. package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +1 -1
  183. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +64 -57
  184. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +4 -8
  185. package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +1 -1
  186. package/esm2022/layout/entity/lib/entity-registery.service.mjs +1 -1
  187. package/esm2022/layout/entity/lib/entity.config.mjs +1 -1
  188. package/esm2022/layout/entity/lib/entity.module.mjs +16 -19
  189. package/esm2022/layout/entity/lib/entity.viewmodel.mjs +1 -1
  190. package/esm2022/layout/entity/lib/index.mjs +1 -1
  191. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +81 -72
  192. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +105 -83
  193. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +1 -1
  194. package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +11 -8
  195. package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +3 -3
  196. package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +1 -1
  197. package/esm2022/layout/entity/lib/workflows/show-details.workflow.mjs +1 -2
  198. package/esm2022/layout/entity/lib/workflows/show-list.workflow.mjs +1 -1
  199. package/esm2022/layouts/index.mjs +1 -1
  200. package/esm2022/layouts/lib/admin/admin.module.mjs +9 -2
  201. package/esm2022/layouts/lib/admin/admin.routes.mjs +1 -1
  202. package/esm2022/layouts/lib/admin/custom-reuse.strategy.mjs +1 -1
  203. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +6 -3
  204. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +1 -1
  205. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +1 -1
  206. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +7 -5
  207. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/index.mjs +1 -1
  208. package/esm2022/layouts/lib/admin/entity-layout/entity-import-view/entity-import-view.component.mjs +91 -0
  209. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +4 -3
  210. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/index.mjs +1 -1
  211. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +4 -3
  212. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +4 -3
  213. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +20 -20
  214. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +4 -3
  215. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +18 -6
  216. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/index.mjs +1 -1
  217. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +1 -1
  218. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +9 -5
  219. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +6 -3
  220. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +1 -1
  221. package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +3 -3
  222. package/esm2022/layouts/lib/admin/entity-layout/index.mjs +1 -1
  223. package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +5 -3
  224. package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +1 -1
  225. package/esm2022/layouts/lib/admin/entity-layout/workflows/import-entity.workflow.mjs +77 -0
  226. package/esm2022/layouts/lib/admin/entity-layout/workflows/index.mjs +1 -1
  227. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +1 -1
  228. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-section.workflow.mjs +1 -1
  229. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-details.workflow.mjs +1 -1
  230. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-list.workflow.mjs +1 -1
  231. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.mjs +1 -1
  232. package/esm2022/layouts/lib/admin/entity.resolver.mjs +1 -1
  233. package/esm2022/layouts/lib/admin/index.mjs +1 -1
  234. package/esm2022/layouts/lib/layout.module.mjs +1 -1
  235. package/esm2022/mocks/index.mjs +1 -1
  236. package/esm2022/mocks/lib/mocks.module.mjs +1 -1
  237. package/esm2022/mocks/lib/services/mocker.service.mjs +1 -1
  238. package/esm2022/mocks/lib/storage/storage.mock.service.mjs +1 -1
  239. package/esm2022/native/index.mjs +1 -1
  240. package/esm2022/native/lib/native.service.mjs +1 -1
  241. package/esm2022/themes/default/index.mjs +1 -1
  242. package/esm2022/themes/default/lib/default.module.mjs +1 -1
  243. package/esm2022/themes/default/lib/entity-reuse.strategy.mjs +1 -1
  244. package/esm2022/themes/default/lib/layout.routes.mjs +1 -1
  245. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +14 -21
  246. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +8 -5
  247. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +38 -29
  248. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +17 -13
  249. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.mjs +13 -9
  250. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +8 -5
  251. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +10 -7
  252. package/esm2022/themes/default/lib/layouts/root-layout/components/footer/footer.component.mjs +3 -3
  253. package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +3 -3
  254. package/esm2022/themes/default/lib/layouts/root-layout/index.mjs +1 -1
  255. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +3 -3
  256. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +1 -1
  257. package/esm2022/themes/default/lib/pages/errors/error-401/error-401.component.mjs +3 -3
  258. package/esm2022/themes/default/lib/pages/errors/error-404/error-404.component.mjs +3 -3
  259. package/esm2022/themes/default/lib/pages/errors/error-offline/error-offline.component.mjs +3 -3
  260. package/esm2022/widgets/index.mjs +1 -1
  261. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-column.component.mjs +25 -25
  262. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-edit.component.mjs +9 -9
  263. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-view.component.mjs +29 -29
  264. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget.config.mjs +1 -1
  265. package/esm2022/widgets/lib/editors/checkbox/index.mjs +1 -1
  266. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +1 -1
  267. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.mjs +1 -1
  268. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +54 -54
  269. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.mjs +1 -1
  270. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.mjs +1 -1
  271. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +17 -17
  272. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget.config.mjs +1 -1
  273. package/esm2022/widgets/lib/editors/date-time-box-widget/index.mjs +1 -1
  274. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-column.component.mjs +21 -21
  275. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.mjs +1 -1
  276. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.mjs +142 -142
  277. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.mjs +1 -1
  278. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-print.component.mjs +1 -1
  279. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-view.component.mjs +69 -69
  280. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget.config.mjs +1 -1
  281. package/esm2022/widgets/lib/editors/email-box-widget/index.mjs +1 -1
  282. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-column.component.mjs +1 -1
  283. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.mjs +1 -1
  284. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.mjs +112 -112
  285. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.mjs +1 -1
  286. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-print.component.mjs +1 -1
  287. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-view.component.mjs +64 -64
  288. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget.config.mjs +1 -1
  289. package/esm2022/widgets/lib/editors/file-box-widget/index.mjs +1 -1
  290. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-column.component.mjs +1 -1
  291. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.mjs +1 -1
  292. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.mjs +107 -107
  293. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.mjs +1 -1
  294. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-print.component.mjs +1 -1
  295. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-types.mjs +1 -1
  296. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-view.component.mjs +97 -97
  297. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget.config.mjs +1 -1
  298. package/esm2022/widgets/lib/editors/gallery-widget/index.mjs +1 -1
  299. package/esm2022/widgets/lib/editors/link-widget/index.mjs +8 -0
  300. package/esm2022/widgets/lib/editors/link-widget/link-widget-column.component.mjs +19 -0
  301. package/esm2022/widgets/lib/editors/link-widget/link-widget-designer.component.mjs +19 -0
  302. package/esm2022/widgets/lib/editors/link-widget/link-widget-edit.component.mjs +391 -0
  303. package/esm2022/widgets/lib/editors/link-widget/link-widget-filter.component.mjs +20 -0
  304. package/esm2022/widgets/lib/editors/link-widget/link-widget-print.component.mjs +19 -0
  305. package/esm2022/widgets/lib/editors/link-widget/link-widget-view.component.mjs +120 -0
  306. package/esm2022/widgets/lib/editors/link-widget/link-widget.config.mjs +24 -0
  307. package/esm2022/widgets/lib/editors/map-box-widget/index.mjs +1 -1
  308. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-column.component.mjs +1 -1
  309. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.mjs +1 -1
  310. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-edit.component.mjs +5 -5
  311. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.mjs +1 -1
  312. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-print.component.mjs +1 -1
  313. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-view.component.mjs +5 -5
  314. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget.config.mjs +1 -1
  315. package/esm2022/widgets/lib/editors/number-box-widget/index.mjs +1 -1
  316. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-column.component.mjs +1 -1
  317. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.mjs +1 -1
  318. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.mjs +74 -71
  319. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-filter.component.mjs +1 -1
  320. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-print.component.mjs +1 -1
  321. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-view.component.mjs +17 -17
  322. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget.config.mjs +1 -1
  323. package/esm2022/widgets/lib/editors/password-box-widget/index.mjs +1 -1
  324. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-column.component.mjs +1 -1
  325. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.mjs +1 -1
  326. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-edit.component.mjs +9 -9
  327. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.mjs +1 -1
  328. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-print.component.mjs +1 -1
  329. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-view.component.mjs +45 -45
  330. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget.config.mjs +1 -1
  331. package/esm2022/widgets/lib/editors/phone-box-widget/index.mjs +1 -1
  332. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.mjs +21 -21
  333. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.mjs +1 -1
  334. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.mjs +141 -139
  335. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.mjs +1 -1
  336. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.mjs +1 -1
  337. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.mjs +69 -69
  338. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget.config.mjs +1 -1
  339. package/esm2022/widgets/lib/editors/rich-text-widget/index.mjs +1 -1
  340. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-column.component.mjs +1 -1
  341. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.mjs +1 -1
  342. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.mjs +9 -9
  343. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.mjs +1 -1
  344. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.mjs +1 -1
  345. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.mjs +9 -9
  346. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget.config.mjs +1 -1
  347. package/esm2022/widgets/lib/editors/select-box-widget/index.mjs +1 -1
  348. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-column.component.mjs +1 -1
  349. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.mjs +1 -1
  350. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.mjs +26 -26
  351. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-filter.component.mjs +1 -1
  352. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-print.component.mjs +1 -1
  353. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-view.component.mjs +23 -23
  354. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget.config.mjs +1 -1
  355. package/esm2022/widgets/lib/editors/selection-list-widget/index.mjs +1 -1
  356. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.mjs +13 -13
  357. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.mjs +1 -1
  358. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-edit.component.mjs +31 -31
  359. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.mjs +1 -1
  360. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.mjs +1 -1
  361. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.mjs +9 -9
  362. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget.config.mjs +1 -1
  363. package/esm2022/widgets/lib/editors/signature-pad-widget/index.mjs +1 -1
  364. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-column.component.mjs +1 -1
  365. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.mjs +1 -1
  366. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +68 -58
  367. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.mjs +1 -1
  368. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.mjs +1 -1
  369. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +17 -17
  370. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget.config.mjs +1 -1
  371. package/esm2022/widgets/lib/editors/text-box-widget/index.mjs +1 -1
  372. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-column.component.mjs +1 -1
  373. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.mjs +1 -1
  374. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.mjs +62 -62
  375. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.mjs +1 -1
  376. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-print.component.mjs +1 -1
  377. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-view.component.mjs +17 -17
  378. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget.config.mjs +1 -1
  379. package/esm2022/widgets/lib/editors/toggle-widget/index.mjs +1 -1
  380. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-column.component.mjs +25 -25
  381. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-designer.component.mjs +1 -1
  382. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-edit.component.mjs +1 -1
  383. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-filter.component.mjs +1 -1
  384. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-print.component.mjs +1 -1
  385. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-view.component.mjs +25 -25
  386. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget.config.mjs +1 -1
  387. package/esm2022/widgets/lib/layout/block-widget/block-widget.component.mjs +11 -11
  388. package/esm2022/widgets/lib/layout/block-widget/block-widget.config.mjs +1 -1
  389. package/esm2022/widgets/lib/layout/block-widget/index.mjs +1 -1
  390. package/esm2022/widgets/lib/widgets.module.mjs +4 -1
  391. package/esm2022/workflow/index.mjs +1 -1
  392. package/esm2022/workflow/lib/actions/start-workflow.action.mjs +1 -1
  393. package/esm2022/workflow/lib/errors.types.mjs +1 -1
  394. package/esm2022/workflow/lib/workflow-event-dispatcher.service.mjs +1 -1
  395. package/esm2022/workflow/lib/workflow-registery.service.mjs +1 -1
  396. package/esm2022/workflow/lib/workflow.module.mjs +1 -1
  397. package/esm2022/workflow/lib/workflow.service.mjs +1 -1
  398. package/esm2022/workflow/lib/workflow.types.mjs +1 -1
  399. package/fesm2022/acorex-platform-auth.mjs +14 -15
  400. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  401. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-B-of5ssU.mjs → acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs} +68 -68
  402. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs.map +1 -0
  403. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-CJvrSkTv.mjs → acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs} +16 -16
  404. package/fesm2022/acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs.map +1 -0
  405. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-BTcOjuUm.mjs → acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs} +76 -76
  406. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs.map +1 -0
  407. package/fesm2022/{acorex-platform-common-change-password.component-NvrMMq9e.mjs → acorex-platform-common-change-password.component-CULJjn0l.mjs} +100 -100
  408. package/fesm2022/acorex-platform-common-change-password.component-CULJjn0l.mjs.map +1 -0
  409. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-X9d1iY_F.mjs → acorex-platform-common-checkbox-widget-column.component-C91gG8nm.mjs} +31 -31
  410. package/fesm2022/acorex-platform-common-checkbox-widget-column.component-C91gG8nm.mjs.map +1 -0
  411. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs.map +1 -1
  412. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-nYmtb8bK.mjs → acorex-platform-common-checkbox-widget-view.component-BDAtJB1B.mjs} +25 -25
  413. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-nYmtb8bK.mjs.map → acorex-platform-common-checkbox-widget-view.component-BDAtJB1B.mjs.map} +1 -1
  414. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-5ljYmtHI.mjs.map +1 -1
  415. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-D8FSiqAo.mjs → acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs} +100 -100
  416. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs.map +1 -0
  417. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-Df0DuDtw.mjs → acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs} +60 -60
  418. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs.map +1 -0
  419. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-CjVjQkPh.mjs → acorex-platform-common-dateTime-widget-view.component-Dxmnor_-.mjs} +21 -21
  420. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-Dxmnor_-.mjs.map +1 -0
  421. package/fesm2022/{acorex-platform-common-email-widget-column.component-BgNdL62k.mjs → acorex-platform-common-email-widget-column.component-DlPoexcx.mjs} +23 -23
  422. package/fesm2022/acorex-platform-common-email-widget-column.component-DlPoexcx.mjs.map +1 -0
  423. package/fesm2022/{acorex-platform-common-email-widget-edit.component-CgHPGccx.mjs → acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs} +134 -134
  424. package/fesm2022/acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs.map +1 -0
  425. package/fesm2022/{acorex-platform-common-email-widget-view.component-C2aQ14k-.mjs → acorex-platform-common-email-widget-view.component-C4M7KGUS.mjs} +65 -65
  426. package/fesm2022/acorex-platform-common-email-widget-view.component-C4M7KGUS.mjs.map +1 -0
  427. package/fesm2022/acorex-platform-common-file-widget-column.component-CwFzLLHt.mjs.map +1 -1
  428. package/fesm2022/{acorex-platform-common-file-widget-edit.component-DxoQR4CU.mjs → acorex-platform-common-file-widget-edit.component-ZXhaXwWN.mjs} +116 -116
  429. package/fesm2022/acorex-platform-common-file-widget-edit.component-ZXhaXwWN.mjs.map +1 -0
  430. package/fesm2022/{acorex-platform-common-file-widget-filter.component-BvG0iaKU.mjs → acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs} +6 -6
  431. package/fesm2022/acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs.map +1 -0
  432. package/fesm2022/{acorex-platform-common-file-widget-view.component-BC9l3YrO.mjs → acorex-platform-common-file-widget-view.component-B0C9oJLT.mjs} +70 -70
  433. package/fesm2022/acorex-platform-common-file-widget-view.component-B0C9oJLT.mjs.map +1 -0
  434. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-BihOIJ9T.mjs → acorex-platform-common-gallery-widget-edit.component-DB0-6pik.mjs} +125 -125
  435. package/fesm2022/acorex-platform-common-gallery-widget-edit.component-DB0-6pik.mjs.map +1 -0
  436. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-DS1PCIJp.mjs → acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs} +6 -6
  437. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs.map +1 -0
  438. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CnQONVdg.mjs → acorex-platform-common-gallery-widget-view.component-Bp5cEEiY.mjs} +109 -109
  439. package/fesm2022/acorex-platform-common-gallery-widget-view.component-Bp5cEEiY.mjs.map +1 -0
  440. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-BCtGkz1a.mjs → acorex-platform-common-largetext-widget-edit.component-DJhPlQ0G.mjs} +13 -13
  441. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DJhPlQ0G.mjs.map +1 -0
  442. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-Cl-vO5XW.mjs → acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs} +3 -3
  443. package/fesm2022/acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs.map +1 -0
  444. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-Do_yV2hi.mjs → acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs} +48 -44
  445. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs.map +1 -0
  446. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-AKqbYe-l.mjs → acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs} +66 -66
  447. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs.map +1 -0
  448. package/fesm2022/acorex-platform-common-lookup-widget-view.component-BHqYDEuU.mjs.map +1 -1
  449. package/fesm2022/{acorex-platform-common-map-widget-edit.component-SSrR3xxv.mjs → acorex-platform-common-map-widget-edit.component-BjrRrklq.mjs} +5 -5
  450. package/fesm2022/acorex-platform-common-map-widget-edit.component-BjrRrklq.mjs.map +1 -0
  451. package/fesm2022/{acorex-platform-common-map-widget-view.component-DrGG3gzg.mjs → acorex-platform-common-map-widget-view.component-C5gL9-oB.mjs} +5 -5
  452. package/fesm2022/acorex-platform-common-map-widget-view.component-C5gL9-oB.mjs.map +1 -0
  453. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-BJ_XzNKc.mjs → acorex-platform-common-messenger-widget-column.component-BQSYcyso.mjs} +23 -23
  454. package/fesm2022/acorex-platform-common-messenger-widget-column.component-BQSYcyso.mjs.map +1 -0
  455. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-B_FG_n0O.mjs → acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs} +88 -88
  456. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs.map +1 -0
  457. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-EBiPO9ds.mjs → acorex-platform-common-messenger-widget-view.component-B4Yt68Vn.mjs} +67 -67
  458. package/fesm2022/acorex-platform-common-messenger-widget-view.component-B4Yt68Vn.mjs.map +1 -0
  459. package/fesm2022/{acorex-platform-common-number-widget-edit.component-B1XXga-9.mjs → acorex-platform-common-number-widget-edit.component-D9dC514F.mjs} +15 -15
  460. package/fesm2022/acorex-platform-common-number-widget-edit.component-D9dC514F.mjs.map +1 -0
  461. package/fesm2022/{acorex-platform-common-number-widget-filter.component-B2JCpDjU.mjs → acorex-platform-common-number-widget-filter.component-BkKeBL6p.mjs} +86 -86
  462. package/fesm2022/acorex-platform-common-number-widget-filter.component-BkKeBL6p.mjs.map +1 -0
  463. package/fesm2022/acorex-platform-common-number-widget-view.component-DD0tkoc4.mjs.map +1 -1
  464. package/fesm2022/{acorex-platform-common-password-widget-column.component-eyqgQlAt.mjs → acorex-platform-common-password-widget-column.component-C0-x1_Np.mjs} +37 -37
  465. package/fesm2022/acorex-platform-common-password-widget-column.component-C0-x1_Np.mjs.map +1 -0
  466. package/fesm2022/{acorex-platform-common-password-widget-edit.component-C2yNb9Pl.mjs → acorex-platform-common-password-widget-edit.component-BbYqIGEP.mjs} +15 -15
  467. package/fesm2022/acorex-platform-common-password-widget-edit.component-BbYqIGEP.mjs.map +1 -0
  468. package/fesm2022/{acorex-platform-common-password-widget-view.component-o9S7pwJW.mjs → acorex-platform-common-password-widget-view.component-B6vGWi9I.mjs} +59 -59
  469. package/fesm2022/acorex-platform-common-password-widget-view.component-B6vGWi9I.mjs.map +1 -0
  470. package/fesm2022/{acorex-platform-common-phone-widget-column.component-BL9Xl2XH.mjs → acorex-platform-common-phone-widget-column.component-uAeAPCog.mjs} +41 -41
  471. package/fesm2022/acorex-platform-common-phone-widget-column.component-uAeAPCog.mjs.map +1 -0
  472. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-DSh9zoZj.mjs → acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs} +146 -142
  473. package/fesm2022/acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs.map +1 -0
  474. package/fesm2022/{acorex-platform-common-phone-widget-view.component-Br3xbaDd.mjs → acorex-platform-common-phone-widget-view.component-D_A5NXzA.mjs} +69 -69
  475. package/fesm2022/acorex-platform-common-phone-widget-view.component-D_A5NXzA.mjs.map +1 -0
  476. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-DDT58tca.mjs → acorex-platform-common-rich-text-widget-column.component-DDJn1WqG.mjs} +23 -23
  477. package/fesm2022/acorex-platform-common-rich-text-widget-column.component-DDJn1WqG.mjs.map +1 -0
  478. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-Dz1toc21.mjs → acorex-platform-common-rich-text-widget-edit.component-f30-VPMJ.mjs} +9 -9
  479. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-f30-VPMJ.mjs.map +1 -0
  480. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-CxTPcEIQ.mjs → acorex-platform-common-rich-text-widget-view.component-Y214kMe4.mjs} +9 -9
  481. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-Y214kMe4.mjs.map +1 -0
  482. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-BCCmg8MI.mjs → acorex-platform-common-selection-list-widget-column.component-4uQzk7WQ.mjs} +17 -17
  483. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-4uQzk7WQ.mjs.map +1 -0
  484. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-B5eUdN2R.mjs → acorex-platform-common-selection-list-widget-edit.component-BY7A969M.mjs} +29 -29
  485. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-BY7A969M.mjs.map +1 -0
  486. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-DPpZq1TB.mjs → acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs} +20 -20
  487. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs.map +1 -0
  488. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-Bxvd_AKZ.mjs → acorex-platform-common-selection-list-widget-view.component-HzxEiWgp.mjs} +9 -9
  489. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-HzxEiWgp.mjs.map +1 -0
  490. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-CNjYCEi6.mjs → acorex-platform-common-signature-pad-widget-edit.component-C6VI3F_S.mjs} +56 -56
  491. package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-C6VI3F_S.mjs.map +1 -0
  492. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CsiBv_7i.mjs → acorex-platform-common-signature-pad-widget-view.component-CEiBtv9t.mjs} +17 -17
  493. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CEiBtv9t.mjs.map +1 -0
  494. package/fesm2022/{acorex-platform-common-string-widget-filter.component-CrGt6Bov.mjs → acorex-platform-common-string-widget-filter.component-BZiyRHfg.mjs} +68 -68
  495. package/fesm2022/acorex-platform-common-string-widget-filter.component-BZiyRHfg.mjs.map +1 -0
  496. package/fesm2022/acorex-platform-common-text-widget-column.component-qXusAevm.mjs.map +1 -1
  497. package/fesm2022/{acorex-platform-common-text-widget-edit.component-ed0MUYnD.mjs → acorex-platform-common-text-widget-edit.component-DSwPteMX.mjs} +88 -88
  498. package/fesm2022/acorex-platform-common-text-widget-edit.component-DSwPteMX.mjs.map +1 -0
  499. package/fesm2022/{acorex-platform-common-text-widget-view.component-BpxTaeQW.mjs → acorex-platform-common-text-widget-view.component-CKg9nvbY.mjs} +21 -21
  500. package/fesm2022/acorex-platform-common-text-widget-view.component-CKg9nvbY.mjs.map +1 -0
  501. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BqiUQrmV.mjs → acorex-platform-common-toggle-widget-column.component-_IrciAj-.mjs} +33 -33
  502. package/fesm2022/acorex-platform-common-toggle-widget-column.component-_IrciAj-.mjs.map +1 -0
  503. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-CDG62BJN.mjs.map +1 -1
  504. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-DWYcIPTd.mjs → acorex-platform-common-toggle-widget-view.component-B5JwQ8X-.mjs} +25 -25
  505. package/fesm2022/acorex-platform-common-toggle-widget-view.component-B5JwQ8X-.mjs.map +1 -0
  506. package/fesm2022/acorex-platform-common.mjs +125 -121
  507. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  508. package/fesm2022/acorex-platform-layout-builder.mjs +34 -34
  509. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  510. package/fesm2022/acorex-platform-layout-entity.mjs +384 -342
  511. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  512. package/fesm2022/acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs +110 -0
  513. package/fesm2022/acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs.map +1 -0
  514. package/fesm2022/acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs +93 -0
  515. package/fesm2022/acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs.map +1 -0
  516. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs +91 -0
  517. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs.map +1 -0
  518. package/fesm2022/acorex-platform-layouts.mjs +150 -55
  519. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  520. package/fesm2022/acorex-platform-mocks.mjs.map +1 -1
  521. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  522. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs +99 -0
  523. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs.map +1 -0
  524. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs +88 -0
  525. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs.map +1 -0
  526. package/fesm2022/acorex-platform-themes-default-error-401.component-BeQ4_BgW.mjs +31 -0
  527. package/fesm2022/acorex-platform-themes-default-error-401.component-BeQ4_BgW.mjs.map +1 -0
  528. package/fesm2022/acorex-platform-themes-default-error-404.component-BYDiT6Ns.mjs +25 -0
  529. package/fesm2022/acorex-platform-themes-default-error-404.component-BYDiT6Ns.mjs.map +1 -0
  530. package/fesm2022/acorex-platform-themes-default-error-offline.component-DUtW3w_g.mjs +19 -0
  531. package/fesm2022/acorex-platform-themes-default-error-offline.component-DUtW3w_g.mjs.map +1 -0
  532. package/fesm2022/acorex-platform-themes-default.mjs +83 -78
  533. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  534. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-Cx6WLV3_.mjs → acorex-platform-widgets-checkbox-widget-column.component-CFCwedxX.mjs} +25 -25
  535. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CFCwedxX.mjs.map +1 -0
  536. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-C_68pr-9.mjs → acorex-platform-widgets-checkbox-widget-view.component-CCTIjDb0.mjs} +29 -29
  537. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-CCTIjDb0.mjs.map +1 -0
  538. package/fesm2022/acorex-platform-widgets.mjs +1990 -1376
  539. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  540. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  541. package/fesm2022/acorex-platform.mjs.map +1 -1
  542. package/layout/builder/README.md +3 -3
  543. package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +2 -1
  544. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +9 -7
  545. package/layout/entity/lib/entity-master-single.viewmodel.d.ts +1 -0
  546. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +5 -4
  547. package/layout/entity/lib/workflows/create-entity.workflow.d.ts +1 -0
  548. package/layouts/README.md +3 -3
  549. package/layouts/lib/admin/entity-layout/entity-import-view/entity-import-view.component.d.ts +27 -0
  550. package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +2 -0
  551. package/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.d.ts +2 -1
  552. package/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.d.ts +1 -0
  553. package/layouts/lib/admin/entity-layout/workflows/import-entity.workflow.d.ts +27 -0
  554. package/mocks/README.md +3 -3
  555. package/package.json +4 -1
  556. package/themes/default/README.md +3 -3
  557. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +3 -0
  558. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.d.ts +1 -1
  559. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +1 -1
  560. package/widgets/README.md +3 -3
  561. package/widgets/lib/editors/link-widget/index.d.ts +7 -0
  562. package/widgets/lib/editors/link-widget/link-widget-column.component.d.ts +6 -0
  563. package/widgets/lib/editors/link-widget/link-widget-designer.component.d.ts +6 -0
  564. package/widgets/lib/editors/link-widget/link-widget-edit.component.d.ts +45 -0
  565. package/widgets/lib/editors/link-widget/link-widget-filter.component.d.ts +6 -0
  566. package/widgets/lib/editors/link-widget/link-widget-print.component.d.ts +6 -0
  567. package/widgets/lib/editors/link-widget/link-widget-view.component.d.ts +13 -0
  568. package/widgets/lib/editors/link-widget/link-widget.config.d.ts +2 -0
  569. package/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.d.ts +4 -1
  570. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.d.ts +2 -0
  571. package/workflow/README.md +3 -3
  572. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-B-of5ssU.mjs.map +0 -1
  573. package/fesm2022/acorex-platform-common-avatar-widget-view.component-CJvrSkTv.mjs.map +0 -1
  574. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-BTcOjuUm.mjs.map +0 -1
  575. package/fesm2022/acorex-platform-common-change-password.component-NvrMMq9e.mjs.map +0 -1
  576. package/fesm2022/acorex-platform-common-checkbox-widget-column.component-X9d1iY_F.mjs.map +0 -1
  577. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-D8FSiqAo.mjs.map +0 -1
  578. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-Df0DuDtw.mjs.map +0 -1
  579. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-CjVjQkPh.mjs.map +0 -1
  580. package/fesm2022/acorex-platform-common-email-widget-column.component-BgNdL62k.mjs.map +0 -1
  581. package/fesm2022/acorex-platform-common-email-widget-edit.component-CgHPGccx.mjs.map +0 -1
  582. package/fesm2022/acorex-platform-common-email-widget-view.component-C2aQ14k-.mjs.map +0 -1
  583. package/fesm2022/acorex-platform-common-file-widget-edit.component-DxoQR4CU.mjs.map +0 -1
  584. package/fesm2022/acorex-platform-common-file-widget-filter.component-BvG0iaKU.mjs.map +0 -1
  585. package/fesm2022/acorex-platform-common-file-widget-view.component-BC9l3YrO.mjs.map +0 -1
  586. package/fesm2022/acorex-platform-common-gallery-widget-edit.component-BihOIJ9T.mjs.map +0 -1
  587. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-DS1PCIJp.mjs.map +0 -1
  588. package/fesm2022/acorex-platform-common-gallery-widget-view.component-CnQONVdg.mjs.map +0 -1
  589. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-BCtGkz1a.mjs.map +0 -1
  590. package/fesm2022/acorex-platform-common-lookup-widget-column.component-Cl-vO5XW.mjs.map +0 -1
  591. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-Do_yV2hi.mjs.map +0 -1
  592. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-AKqbYe-l.mjs.map +0 -1
  593. package/fesm2022/acorex-platform-common-map-widget-edit.component-SSrR3xxv.mjs.map +0 -1
  594. package/fesm2022/acorex-platform-common-map-widget-view.component-DrGG3gzg.mjs.map +0 -1
  595. package/fesm2022/acorex-platform-common-messenger-widget-column.component-BJ_XzNKc.mjs.map +0 -1
  596. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-B_FG_n0O.mjs.map +0 -1
  597. package/fesm2022/acorex-platform-common-messenger-widget-view.component-EBiPO9ds.mjs.map +0 -1
  598. package/fesm2022/acorex-platform-common-number-widget-edit.component-B1XXga-9.mjs.map +0 -1
  599. package/fesm2022/acorex-platform-common-number-widget-filter.component-B2JCpDjU.mjs.map +0 -1
  600. package/fesm2022/acorex-platform-common-password-widget-column.component-eyqgQlAt.mjs.map +0 -1
  601. package/fesm2022/acorex-platform-common-password-widget-edit.component-C2yNb9Pl.mjs.map +0 -1
  602. package/fesm2022/acorex-platform-common-password-widget-view.component-o9S7pwJW.mjs.map +0 -1
  603. package/fesm2022/acorex-platform-common-phone-widget-column.component-BL9Xl2XH.mjs.map +0 -1
  604. package/fesm2022/acorex-platform-common-phone-widget-edit.component-DSh9zoZj.mjs.map +0 -1
  605. package/fesm2022/acorex-platform-common-phone-widget-view.component-Br3xbaDd.mjs.map +0 -1
  606. package/fesm2022/acorex-platform-common-rich-text-widget-column.component-DDT58tca.mjs.map +0 -1
  607. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-Dz1toc21.mjs.map +0 -1
  608. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-CxTPcEIQ.mjs.map +0 -1
  609. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-BCCmg8MI.mjs.map +0 -1
  610. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-B5eUdN2R.mjs.map +0 -1
  611. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DPpZq1TB.mjs.map +0 -1
  612. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-Bxvd_AKZ.mjs.map +0 -1
  613. package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-CNjYCEi6.mjs.map +0 -1
  614. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CsiBv_7i.mjs.map +0 -1
  615. package/fesm2022/acorex-platform-common-string-widget-filter.component-CrGt6Bov.mjs.map +0 -1
  616. package/fesm2022/acorex-platform-common-text-widget-edit.component-ed0MUYnD.mjs.map +0 -1
  617. package/fesm2022/acorex-platform-common-text-widget-view.component-BpxTaeQW.mjs.map +0 -1
  618. package/fesm2022/acorex-platform-common-toggle-widget-column.component-BqiUQrmV.mjs.map +0 -1
  619. package/fesm2022/acorex-platform-common-toggle-widget-view.component-DWYcIPTd.mjs.map +0 -1
  620. package/fesm2022/acorex-platform-layouts-entity-create-view.component-fkKPKxlb.mjs +0 -107
  621. package/fesm2022/acorex-platform-layouts-entity-create-view.component-fkKPKxlb.mjs.map +0 -1
  622. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-D1h1xORH.mjs +0 -88
  623. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-D1h1xORH.mjs.map +0 -1
  624. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BxYT9KhH.mjs +0 -96
  625. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BxYT9KhH.mjs.map +0 -1
  626. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-F7dr-osu.mjs +0 -85
  627. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-F7dr-osu.mjs.map +0 -1
  628. package/fesm2022/acorex-platform-themes-default-error-401.component-Djuin07Z.mjs +0 -31
  629. package/fesm2022/acorex-platform-themes-default-error-401.component-Djuin07Z.mjs.map +0 -1
  630. package/fesm2022/acorex-platform-themes-default-error-404.component-C-RyiLkk.mjs +0 -25
  631. package/fesm2022/acorex-platform-themes-default-error-404.component-C-RyiLkk.mjs.map +0 -1
  632. package/fesm2022/acorex-platform-themes-default-error-offline.component-WCfy9-cr.mjs +0 -19
  633. package/fesm2022/acorex-platform-themes-default-error-offline.component-WCfy9-cr.mjs.map +0 -1
  634. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-Cx6WLV3_.mjs.map +0 -1
  635. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C_68pr-9.mjs.map +0 -1
@@ -1,21 +1,22 @@
1
+ import { AXButtonModule } from '@acorex/components/button';
2
+ import { AXDecoratorModule } from '@acorex/components/decorators';
3
+ import { AXFormModule } from '@acorex/components/form';
4
+ import { AXLoadingModule } from '@acorex/components/loading';
5
+ import { AXPopupService } from '@acorex/components/popup';
1
6
  import { AXSelectBoxModule } from '@acorex/components/select-box';
7
+ import { AXTextBoxComponent, AXTextBoxModule } from '@acorex/components/text-box';
8
+ import { AXFormatService } from '@acorex/core/format';
9
+ import { AXTranslationService } from '@acorex/core/translation';
10
+ import { AXValidationModule } from '@acorex/core/validation';
2
11
  import { AXPLayoutBuilderService, AXPWidgetBase } from '@acorex/platform/layout/builder';
3
12
  import { CommonModule } from '@angular/common';
4
- import { ChangeDetectionStrategy, Component, computed, DestroyRef, inject, Injector, signal, ViewChild } from '@angular/core';
13
+ import { ChangeDetectionStrategy, Component, DestroyRef, Injector, ViewChild, computed, inject, signal } from '@angular/core';
14
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
15
  import { FormsModule } from '@angular/forms';
16
+ import { get } from 'lodash-es';
6
17
  import { AXP_ENTITY_DEFINITION_LOADER } from '../../entity.config';
7
- import { AXTextBoxComponent, AXTextBoxModule } from '@acorex/components/text-box';
8
- import { AXDecoratorModule } from '@acorex/components/decorators';
9
- import { AXButtonModule } from '@acorex/components/button';
10
- import { AXFormatService } from '@acorex/core/format';
11
- import { AXPopupService } from '@acorex/components/popup';
12
18
  import { AXPLookupWidgetSelectorComponent } from './lookup-widget-selector.component';
13
19
  import { AXPLookupWidgetSelectorViewModel } from './lookup-widget-selector.viewmodel';
14
- import { AXLoadingModule } from '@acorex/components/loading';
15
- import { get } from 'lodash-es';
16
- import { AXValidationModule } from '@acorex/core/validation';
17
- import { AXFormModule } from '@acorex/components/form';
18
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
19
20
  import * as i0 from "@angular/core";
20
21
  import * as i1 from "@angular/forms";
21
22
  import * as i2 from "@acorex/components/text-box";
@@ -26,7 +27,7 @@ import * as i6 from "@acorex/components/form";
26
27
  export class AXPLookupWidgetEditComponent extends AXPWidgetBase {
27
28
  constructor() {
28
29
  super(...arguments);
29
- this.textField = "title";
30
+ this.textField = 'title';
30
31
  this.validationRules = [];
31
32
  this.injector = inject(Injector);
32
33
  this.loader = inject(AXP_ENTITY_DEFINITION_LOADER);
@@ -34,14 +35,15 @@ export class AXPLookupWidgetEditComponent extends AXPWidgetBase {
34
35
  this.popupService = inject(AXPopupService);
35
36
  this.builderService = inject(AXPLayoutBuilderService);
36
37
  this.destroyRef = inject(DestroyRef);
37
- this.displayText = signal("");
38
+ this.translateService = inject(AXTranslationService);
39
+ this.displayText = signal('');
38
40
  this.selectedItem = signal(null);
39
41
  this.searchTerm = signal(null);
40
42
  this.isLoading = signal(false);
41
43
  this.isOpen = signal(false);
42
44
  this.vm = signal(null);
43
45
  this.placeholder = computed(() => {
44
- return 'Search on ' + this.vm()?.inlineFiltersPlaceholders().join(', ');
46
+ return this.translateService.translateSync('widget.lookup.search') + this.vm()?.inlineFiltersPlaceholders().join(', ');
45
47
  });
46
48
  }
47
49
  async ngOnInit() {
@@ -52,18 +54,15 @@ export class AXPLookupWidgetEditComponent extends AXPWidgetBase {
52
54
  //
53
55
  this.vm.set(new AXPLookupWidgetSelectorViewModel(this.injector, this.entityDef, this.filter));
54
56
  //
55
- this.textField = this.entityDef?.formats.lookup ?? this.entityDef?.properties.find(c => c.name != 'id')?.name ?? "title";
57
+ this.textField = this.entityDef?.formats.lookup ?? this.entityDef?.properties.find((c) => c.name != 'id')?.name ?? 'title';
56
58
  const value = this.getValue();
57
59
  if (typeof value == 'object')
58
- this.displayText.set(this.formatService.format(this.textField, "string", value));
60
+ this.displayText.set(this.formatService.format(this.textField, 'string', value));
59
61
  else if (value != null) {
60
62
  await this.findByValue();
61
63
  }
62
64
  //
63
- this.builderService
64
- .onChanged
65
- .pipe(takeUntilDestroyed(this.destroyRef))
66
- .subscribe(async (c) => {
65
+ this.builderService.onChanged.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(async (c) => {
67
66
  if (c.path == this.path) {
68
67
  if (this.getValue())
69
68
  await this.findByValue();
@@ -71,23 +70,27 @@ export class AXPLookupWidgetEditComponent extends AXPWidgetBase {
71
70
  });
72
71
  }
73
72
  async findByValue() {
73
+ this.isLoading.set(true);
74
74
  const byKey = this.entityDef?.queries.byKey?.execute;
75
75
  const item = await byKey(this.getValue());
76
76
  this.setItems(item);
77
+ this.isLoading.set(false);
77
78
  }
78
79
  handleOnClick(e) {
79
80
  this.showSelector();
80
81
  }
81
82
  showSelector() {
82
83
  this.isOpen.set(true);
83
- this.popupService.open(AXPLookupWidgetSelectorComponent, {
84
+ this.popupService
85
+ .open(AXPLookupWidgetSelectorComponent, {
84
86
  title: `${this.entityDef?.formats.plural} Lookup`,
85
87
  size: (this.vm()?.columns().length ?? 0) > 3 ? 'lg' : 'md',
86
88
  data: {
87
89
  vm: new AXPLookupWidgetSelectorViewModel(this.injector, this.entityDef, this.filter),
88
- searchTerm: this.searchTerm() == this.displayText() ? null : this.searchTerm()
89
- }
90
- }).then((e) => {
90
+ searchTerm: this.searchTerm() == this.displayText() ? null : this.searchTerm(),
91
+ },
92
+ })
93
+ .then((e) => {
91
94
  this.isOpen.set(false);
92
95
  this.textbox.focus();
93
96
  if (e.data?.items) {
@@ -116,7 +119,7 @@ export class AXPLookupWidgetEditComponent extends AXPWidgetBase {
116
119
  async handleKeyDown(e) {
117
120
  const keyEvent = e.nativeEvent;
118
121
  const value = this.searchTerm()?.trim();
119
- if ((keyEvent.code == "Enter" || keyEvent.code == "NumpadEnter") && value) {
122
+ if ((keyEvent.code == 'Enter' || keyEvent.code == 'NumpadEnter') && value) {
120
123
  this.isLoading.set(true);
121
124
  const result = await this.vm()?.find(value);
122
125
  if (result?.total == 1) {
@@ -132,7 +135,7 @@ export class AXPLookupWidgetEditComponent extends AXPWidgetBase {
132
135
  this.searchTerm.set(null);
133
136
  this.displayText.set('');
134
137
  this.selectedItem.set(item);
135
- const text = this.formatService.format(this.textField, "string", item);
138
+ const text = this.formatService.format(this.textField, 'string', item);
136
139
  this.displayText.set(text);
137
140
  this.setValue(item.id);
138
141
  if (this.expose) {
@@ -140,8 +143,8 @@ export class AXPLookupWidgetEditComponent extends AXPWidgetBase {
140
143
  this.builderService.setValue(this.expose, item);
141
144
  }
142
145
  else if (Array.isArray(this.expose)) {
143
- this.expose.forEach(i => {
144
- if (typeof i == "string") {
146
+ this.expose.forEach((i) => {
147
+ if (typeof i == 'string') {
145
148
  this.builderService.setValue(i, item);
146
149
  }
147
150
  else {
@@ -162,51 +165,57 @@ export class AXPLookupWidgetEditComponent extends AXPWidgetBase {
162
165
  this.selectedItem.set(null);
163
166
  }
164
167
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLookupWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
165
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPLookupWidgetEditComponent, isStandalone: true, selector: "ng-component", inputs: { entity: "entity", conditions: "conditions", expose: "expose" }, viewQueries: [{ propertyName: "textbox", first: true, predicate: AXTextBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
166
- <ax-text-box [ngModel]="displayText()" (onValueChanged)="handleValueChange($event)" [placeholder]="placeholder()" (onKeyUp)="handleKeyDown($event)" (onBlur)="handleOnBlur($event)">
167
- @for (validation of validationRules; track $index) {
168
- <ax-validation-rule [rule]="validation.rule" [message]="validation.options?.message" [options]="validation.options"></ax-validation-rule>
169
- }
170
- <ax-clear-button (click)="handleClearClick()"></ax-clear-button>
171
-
172
- <ax-suffix>
173
- <ax-button color="ghost" look="twotone" [disabled]="isLoading()" (onClick)="handleOnClick($event)">
174
- @if(isLoading())
175
- {
176
- <ax-loading></ax-loading>
177
- }
178
- @else {
179
- <ax-icon icon="far fa-search">
180
- </ax-icon>
181
- }
182
- </ax-button>
183
- </ax-suffix>
184
- </ax-text-box>
185
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i2.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i5.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i6.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
168
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPLookupWidgetEditComponent, isStandalone: true, selector: "ng-component", inputs: { entity: "entity", conditions: "conditions", expose: "expose" }, viewQueries: [{ propertyName: "textbox", first: true, predicate: AXTextBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: `
169
+ <ax-text-box
170
+ [ngModel]="displayText()"
171
+ (onValueChanged)="handleValueChange($event)"
172
+ [placeholder]="placeholder()"
173
+ (onKeyUp)="handleKeyDown($event)"
174
+ (onBlur)="handleOnBlur($event)"
175
+ >
176
+ @for (validation of validationRules; track $index) {
177
+ <ax-validation-rule [rule]="validation.rule" [message]="validation.options?.message" [options]="validation.options"></ax-validation-rule>
178
+ }
179
+ <ax-clear-button (click)="handleClearClick()"></ax-clear-button>
180
+
181
+ <ax-suffix>
182
+ <ax-button color="ghost" look="twotone" [disabled]="isLoading()" (onClick)="handleOnClick($event)">
183
+ @if(isLoading()) {
184
+ <ax-loading></ax-loading>
185
+ } @else {
186
+ <ax-icon icon="far fa-search"> </ax-icon>
187
+ }
188
+ </ax-button>
189
+ </ax-suffix>
190
+ </ax-text-box>
191
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i2.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i5.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXValidationModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i6.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
186
192
  }
187
193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLookupWidgetEditComponent, decorators: [{
188
194
  type: Component,
189
195
  args: [{
190
- template: `
191
- <ax-text-box [ngModel]="displayText()" (onValueChanged)="handleValueChange($event)" [placeholder]="placeholder()" (onKeyUp)="handleKeyDown($event)" (onBlur)="handleOnBlur($event)">
192
- @for (validation of validationRules; track $index) {
193
- <ax-validation-rule [rule]="validation.rule" [message]="validation.options?.message" [options]="validation.options"></ax-validation-rule>
194
- }
195
- <ax-clear-button (click)="handleClearClick()"></ax-clear-button>
196
-
197
- <ax-suffix>
198
- <ax-button color="ghost" look="twotone" [disabled]="isLoading()" (onClick)="handleOnClick($event)">
199
- @if(isLoading())
200
- {
201
- <ax-loading></ax-loading>
202
- }
203
- @else {
204
- <ax-icon icon="far fa-search">
205
- </ax-icon>
206
- }
207
- </ax-button>
208
- </ax-suffix>
209
- </ax-text-box>
196
+ template: `
197
+ <ax-text-box
198
+ [ngModel]="displayText()"
199
+ (onValueChanged)="handleValueChange($event)"
200
+ [placeholder]="placeholder()"
201
+ (onKeyUp)="handleKeyDown($event)"
202
+ (onBlur)="handleOnBlur($event)"
203
+ >
204
+ @for (validation of validationRules; track $index) {
205
+ <ax-validation-rule [rule]="validation.rule" [message]="validation.options?.message" [options]="validation.options"></ax-validation-rule>
206
+ }
207
+ <ax-clear-button (click)="handleClearClick()"></ax-clear-button>
208
+
209
+ <ax-suffix>
210
+ <ax-button color="ghost" look="twotone" [disabled]="isLoading()" (onClick)="handleOnClick($event)">
211
+ @if(isLoading()) {
212
+ <ax-loading></ax-loading>
213
+ } @else {
214
+ <ax-icon icon="far fa-search"> </ax-icon>
215
+ }
216
+ </ax-button>
217
+ </ax-suffix>
218
+ </ax-text-box>
210
219
  `,
211
220
  standalone: true,
212
221
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -219,12 +228,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
219
228
  AXDecoratorModule,
220
229
  AXLoadingModule,
221
230
  AXValidationModule,
222
- AXFormModule
231
+ AXFormModule,
223
232
  ],
224
- inputs: ["entity", "conditions", "expose"]
233
+ inputs: ['entity', 'conditions', 'expose'],
225
234
  }]
226
235
  }], propDecorators: { textbox: [{
227
236
  type: ViewChild,
228
237
  args: [AXTextBoxComponent]
229
238
  }] } });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXdpZGdldC1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2VudGl0eS9zcmMvbGliL3dpZGdldHMvbG9va3VwLXdpZGdldC9sb29rdXAtd2lkZ2V0LWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFjLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRGLE9BQU8sRUFB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QUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDOzhHQXBLVSw0QkFBNEI7a0dBQTVCLDRCQUE0QiwyTEF1QjVCLGtCQUFrQix1RUEzRG5COzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVCwyREFJQyxZQUFZLDhCQUNaLFdBQVcsOFZBQ1gsaUJBQWlCLDhCQUNqQixlQUFlLHFiQUNmLGNBQWMsNlVBQ2QsaUJBQWlCLHVjQUNqQixlQUFlLDhLQUNmLGtCQUFrQiw4QkFDbEIsWUFBWTs7MkZBSUgsNEJBQTRCO2tCQXJDeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixZQUFZO3FCQUNiO29CQUNELE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO2lCQUMzQzs4QkF5QkMsT0FBTztzQkFETixTQUFTO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ2xpY2tFdmVudCwgQVhEYXRhU291cmNlLCBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24sIEFYRXZlbnQsIEFYRm9jdXNFdmVudCwgQVhIdG1sRXZlbnQsIEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuaW1wb3J0IHsgQVhTZWxlY3RCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0LWJveCc7XHJcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJTZXJ2aWNlLCBBWFBXaWRnZXRCYXNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBEZXN0cm95UmVmLCBFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdG9yLCBzaWduYWwsIHZpZXdDaGlsZCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBWFBfRU5USVRZX0RFRklOSVRJT05fTE9BREVSIH0gZnJvbSAnLi4vLi4vZW50aXR5LmNvbmZpZyc7XHJcbmltcG9ydCB7IEFYVGV4dEJveENvbXBvbmVudCwgQVhUZXh0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RleHQtYm94JztcclxuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XHJcbmltcG9ydCB7IEFYRm9ybWF0U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9mb3JtYXQnO1xyXG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XHJcbmltcG9ydCB7IEFYUExvb2t1cFdpZGdldFNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9sb29rdXAtd2lkZ2V0LXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYUExvb2t1cFdpZGdldFNlbGVjdG9yVmlld01vZGVsIH0gZnJvbSAnLi9sb29rdXAtd2lkZ2V0LXNlbGVjdG9yLnZpZXdtb2RlbCc7XHJcbmltcG9ydCB7IEFYUEVudGl0eSwgQVhQUXVlcnlGaWx0ZXIsIEFYUFZhbGlkYXRpb25SdWxlcyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcclxuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xyXG5pbXBvcnQgeyBnZXQsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdmFsaWRhdGlvbic7XHJcbmltcG9ydCB7IEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxheC10ZXh0LWJveCBbbmdNb2RlbF09XCJkaXNwbGF5VGV4dCgpXCIgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZVZhbHVlQ2hhbmdlKCRldmVudClcIiAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCIgKG9uS2V5VXApPVwiaGFuZGxlS2V5RG93bigkZXZlbnQpXCIgKG9uQmx1cik9XCJoYW5kbGVPbkJsdXIoJGV2ZW50KVwiPlxyXG4gICAgICBAZm9yICh2YWxpZGF0aW9uIG9mIHZhbGlkYXRpb25SdWxlczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICA8YXgtdmFsaWRhdGlvbi1ydWxlIFtydWxlXT1cInZhbGlkYXRpb24ucnVsZVwiIFttZXNzYWdlXT1cInZhbGlkYXRpb24ub3B0aW9ucz8ubWVzc2FnZVwiIFtvcHRpb25zXT1cInZhbGlkYXRpb24ub3B0aW9uc1wiPjwvYXgtdmFsaWRhdGlvbi1ydWxlPlxyXG4gICAgICB9XHJcbiAgICAgIDxheC1jbGVhci1idXR0b24gKGNsaWNrKT1cImhhbmRsZUNsZWFyQ2xpY2soKVwiPjwvYXgtY2xlYXItYnV0dG9uPlxyXG5cclxuICAgICAgPGF4LXN1ZmZpeD5cclxuICAgICAgICAgIDxheC1idXR0b24gY29sb3I9XCJnaG9zdFwiIGxvb2s9XCJ0d290b25lXCIgIFtkaXNhYmxlZF09XCJpc0xvYWRpbmcoKVwiIChvbkNsaWNrKT1cImhhbmRsZU9uQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICBAaWYoaXNMb2FkaW5nKCkpXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICA8YXgtbG9hZGluZz48L2F4LWxvYWRpbmc+ICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhciBmYS1zZWFyY2hcIj5cclxuICAgICAgICAgICAgICA8L2F4LWljb24+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICA8L2F4LXN1ZmZpeD5cclxuICAgIDwvYXgtdGV4dC1ib3g+XHJcbiAgYCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgQVhTZWxlY3RCb3hNb2R1bGUsXHJcbiAgICBBWFRleHRCb3hNb2R1bGUsXHJcbiAgICBBWEJ1dHRvbk1vZHVsZSxcclxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxyXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxyXG4gICAgQVhWYWxpZGF0aW9uTW9kdWxlLFxyXG4gICAgQVhGb3JtTW9kdWxlXHJcbiAgXSxcclxuICBpbnB1dHM6IFtcImVudGl0eVwiLCBcImNvbmRpdGlvbnNcIiwgXCJleHBvc2VcIl1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUExvb2t1cFdpZGdldEVkaXRDb21wb25lbnQgZXh0ZW5kcyBBWFBXaWRnZXRCYXNlPGFueT4ge1xyXG5cclxuICBwcm90ZWN0ZWQgdGV4dEZpZWxkID0gXCJ0aXRsZVwiO1xyXG4gIHByb3RlY3RlZCBleHBvc2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBwcm90ZWN0ZWQgZW50aXR5OiBzdHJpbmc7XHJcbiAgcHJvdGVjdGVkIGZpbHRlcjogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uIHwgbnVsbDtcclxuXHJcbiAgcHJvdGVjdGVkIHZhbGlkYXRpb25SdWxlczogQVhQVmFsaWRhdGlvblJ1bGVzID0gW107XHJcblxyXG4gIHByb3RlY3RlZCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcbiAgcHJvdGVjdGVkIGxvYWRlciA9IGluamVjdChBWFBfRU5USVRZX0RFRklOSVRJT05fTE9BREVSKTtcclxuICBwcm90ZWN0ZWQgZm9ybWF0U2VydmljZSA9IGluamVjdChBWEZvcm1hdFNlcnZpY2UpO1xyXG4gIHByb3RlY3RlZCBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYnVpbGRlclNlcnZpY2UgPSBpbmplY3QoQVhQTGF5b3V0QnVpbGRlclNlcnZpY2UpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuICBwcml2YXRlIGVudGl0eURlZjogQVhQRW50aXR5IHwgbnVsbDtcclxuXHJcbiAgcHJvdGVjdGVkIGNvbmRpdGlvbnM/OiBBWFBRdWVyeUZpbHRlcltdO1xyXG5cclxuICBwcm90ZWN0ZWQgZGlzcGxheVRleHQgPSBzaWduYWwoXCJcIik7XHJcbiAgcHJvdGVjdGVkIHNlbGVjdGVkSXRlbSA9IHNpZ25hbDxhbnkgfCBudWxsPihudWxsKTtcclxuICBwcm90ZWN0ZWQgc2VhcmNoVGVybSA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcclxuXHJcbiAgQFZpZXdDaGlsZChBWFRleHRCb3hDb21wb25lbnQpXHJcbiAgdGV4dGJveDogQVhUZXh0Qm94Q29tcG9uZW50O1xyXG5cclxuICBwcm90ZWN0ZWQgaXNMb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcclxuXHJcbiAgcHJvdGVjdGVkIGlzT3BlbiA9IHNpZ25hbChmYWxzZSk7XHJcblxyXG4gIHByb3RlY3RlZCB2bSA9IHNpZ25hbDxBWFBMb29rdXBXaWRnZXRTZWxlY3RvclZpZXdNb2RlbCB8IG51bGw+KG51bGwpO1xyXG5cclxuICBwcm90ZWN0ZWQgcGxhY2Vob2xkZXIgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICByZXR1cm4gJ1NlYXJjaCBvbiAnICsgdGhpcy52bSgpPy5pbmxpbmVGaWx0ZXJzUGxhY2Vob2xkZXJzKCkuam9pbignLCAnKVxyXG4gIH0pXHJcblxyXG5cclxuICBvdmVycmlkZSBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAvL1xyXG4gICAgY29uc3QgW21vZHVsZSwgZW50aXR5XSA9IHRoaXMuZW50aXR5LnNwbGl0KCcuJyk7XHJcbiAgICB0aGlzLmVudGl0eURlZiA9IGF3YWl0IHRoaXMubG9hZGVyLmdldChtb2R1bGUsIGVudGl0eSk7XHJcbiAgICAvL1xyXG4gICAgdGhpcy52bS5zZXQobmV3IEFYUExvb2t1cFdpZGdldFNlbGVjdG9yVmlld01vZGVsKHRoaXMuaW5qZWN0b3IsIHRoaXMuZW50aXR5RGVmISwgdGhpcy5maWx0ZXIpKTtcclxuICAgIC8vXHJcbiAgICB0aGlzLnRleHRGaWVsZCA9IHRoaXMuZW50aXR5RGVmPy5mb3JtYXRzLmxvb2t1cCA/PyB0aGlzLmVudGl0eURlZj8ucHJvcGVydGllcy5maW5kKGMgPT4gYy5uYW1lICE9ICdpZCcpPy5uYW1lID8/IFwidGl0bGVcIjtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRWYWx1ZSgpXHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09ICdvYmplY3QnKVxyXG4gICAgICB0aGlzLmRpc3BsYXlUZXh0LnNldCh0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHRoaXMudGV4dEZpZWxkLCBcInN0cmluZ1wiLCB2YWx1ZSkpXHJcbiAgICBlbHNlIGlmICh2YWx1ZSAhPSBudWxsKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuZmluZEJ5VmFsdWUoKTtcclxuICAgIH1cclxuICAgIC8vXHJcbiAgICB0aGlzLmJ1aWxkZXJTZXJ2aWNlXHJcbiAgICAgIC5vbkNoYW5nZWRcclxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXHJcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgYyA9PiB7XHJcbiAgICAgICAgaWYgKGMucGF0aCA9PSB0aGlzLnBhdGgpIHtcclxuICAgICAgICAgIGlmICh0aGlzLmdldFZhbHVlKCkpXHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZmluZEJ5VmFsdWUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGZpbmRCeVZhbHVlKCkge1xyXG4gICAgY29uc3QgYnlLZXkgPSB0aGlzLmVudGl0eURlZj8ucXVlcmllcy5ieUtleT8uZXhlY3V0ZSBhcyBGdW5jdGlvbjtcclxuICAgIGNvbnN0IGl0ZW0gPSBhd2FpdCBieUtleSh0aGlzLmdldFZhbHVlKCkpO1xyXG4gICAgdGhpcy5zZXRJdGVtcyhpdGVtKTtcclxuICB9XHJcblxyXG5cclxuICBoYW5kbGVPbkNsaWNrKGU6IEFYQ2xpY2tFdmVudCkge1xyXG4gICAgdGhpcy5zaG93U2VsZWN0b3IoKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIHNob3dTZWxlY3RvcigpIHtcclxuICAgIHRoaXMuaXNPcGVuLnNldCh0cnVlKVxyXG4gICAgdGhpcy5wb3B1cFNlcnZpY2Uub3BlbihBWFBMb29rdXBXaWRnZXRTZWxlY3RvckNvbXBvbmVudCwge1xyXG4gICAgICB0aXRsZTogYCR7dGhpcy5lbnRpdHlEZWY/LmZvcm1hdHMucGx1cmFsfSBMb29rdXBgLFxyXG4gICAgICBzaXplOiAodGhpcy52bSgpPy5jb2x1bW5zKCkubGVuZ3RoID8/IDApID4gMyA/ICdsZycgOiAnbWQnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgdm06IG5ldyBBWFBMb29rdXBXaWRnZXRTZWxlY3RvclZpZXdNb2RlbCh0aGlzLmluamVjdG9yLCB0aGlzLmVudGl0eURlZiEsIHRoaXMuZmlsdGVyKSxcclxuICAgICAgICBzZWFyY2hUZXJtOiB0aGlzLnNlYXJjaFRlcm0oKSA9PSB0aGlzLmRpc3BsYXlUZXh0KCkgPyBudWxsIDogdGhpcy5zZWFyY2hUZXJtKClcclxuICAgICAgfVxyXG4gICAgfSkudGhlbigoZTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSlcclxuICAgICAgdGhpcy50ZXh0Ym94LmZvY3VzKCk7XHJcbiAgICAgIGlmIChlLmRhdGE/Lml0ZW1zKSB7XHJcbiAgICAgICAgdGhpcy5zZXRJdGVtcyhlLmRhdGE/Lml0ZW1zWzBdKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBoYW5kbGVWYWx1ZUNoYW5nZShlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50KSB7XHJcbiAgICB0aGlzLnNlYXJjaFRlcm0uc2V0KGUudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZU9uQmx1cihlOiBBWEZvY3VzRXZlbnQpIHtcclxuICAgIGNvbnN0IGNvbSA9IChlLmNvbXBvbmVudCBhcyBBWFRleHRCb3hDb21wb25lbnQpO1xyXG4gICAgY29uc3QgaW5wdXQgPSAoY29tWydpbnB1dCddIGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW0oKSkge1xyXG4gICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5kaXNwbGF5VGV4dCgpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGlmICghdGhpcy5pc09wZW4oKSkge1xyXG4gICAgICAgICAgaW5wdXQudmFsdWUgPSAnJztcclxuICAgICAgICAgIHRoaXMuc2VhcmNoVGVybS5zZXQobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LCAxMDApO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUtleURvd24oZTogQVhIdG1sRXZlbnQpIHtcclxuICAgIGNvbnN0IGtleUV2ZW50ID0gZS5uYXRpdmVFdmVudCBhcyBLZXlib2FyZEV2ZW50O1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnNlYXJjaFRlcm0oKT8udHJpbSgpO1xyXG4gICAgaWYgKChrZXlFdmVudC5jb2RlID09IFwiRW50ZXJcIiB8fCBrZXlFdmVudC5jb2RlID09IFwiTnVtcGFkRW50ZXJcIikgJiYgdmFsdWUpIHtcclxuICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnZtKCk/LmZpbmQodmFsdWUpO1xyXG4gICAgICBpZiAocmVzdWx0Py50b3RhbCA9PSAxKSB7XHJcbiAgICAgICAgdGhpcy5zZXRJdGVtcyhyZXN1bHQuaXRlbXNbMF0pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2hvd1NlbGVjdG9yKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0SXRlbXMoaXRlbTogYW55KSB7XHJcbiAgICB0aGlzLnNlYXJjaFRlcm0uc2V0KG51bGwpO1xyXG4gICAgdGhpcy5kaXNwbGF5VGV4dC5zZXQoJycpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0uc2V0KGl0ZW0pO1xyXG4gICAgY29uc3QgdGV4dCA9IHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQodGhpcy50ZXh0RmllbGQsIFwic3RyaW5nXCIsIGl0ZW0pO1xyXG4gICAgdGhpcy5kaXNwbGF5VGV4dC5zZXQodGV4dCk7XHJcbiAgICB0aGlzLnNldFZhbHVlKGl0ZW0uaWQpO1xyXG4gICAgaWYgKHRoaXMuZXhwb3NlKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5leHBvc2UgPT0gJ3N0cmluZycpIHtcclxuICAgICAgICB0aGlzLmJ1aWxkZXJTZXJ2aWNlLnNldFZhbHVlKHRoaXMuZXhwb3NlLCBpdGVtKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZXhwb3NlKSkge1xyXG4gICAgICAgICh0aGlzLmV4cG9zZSBhcyBhbnlbXSkuZm9yRWFjaChpID0+IHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgaSA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYnVpbGRlclNlcnZpY2Uuc2V0VmFsdWUoaSwgaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3Qga2V5ID0gZ2V0KGl0ZW0sIGkuc291cmNlKTtcclxuICAgICAgICAgICAgdGhpcy5idWlsZGVyU2VydmljZS5zZXRWYWx1ZShpLnRhcmdldCwga2V5KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xlYXJDbGljaygpIHtcclxuICAgIHRoaXMuY2xlYXIoKTtcclxuICAgIHRoaXMuc2V0VmFsdWUobnVsbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXIoKSB7XHJcbiAgICB0aGlzLnNlYXJjaFRlcm0uc2V0KCcnKTtcclxuICAgIHRoaXMuZGlzcGxheVRleHQuc2V0KCcnKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtLnNldChudWxsKTtcclxuICB9XHJcbn0iXX0=
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXdpZGdldC1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2VudGl0eS9zcmMvbGliL3dpZGdldHMvbG9va3VwLXdpZGdldC9sb29rdXAtd2lkZ2V0LWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQWMsUUFBUSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSSxPQUFPLEVBQUUs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TUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUM7aUJBQzNDOzhCQXlCQyxPQUFPO3NCQUROLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQ2xpY2tFdmVudCwgQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uLCBBWEZvY3VzRXZlbnQsIEFYSHRtbEV2ZW50LCBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYUG9wdXBTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcHVwJztcbmltcG9ydCB7IEFYU2VsZWN0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlbGVjdC1ib3gnO1xuaW1wb3J0IHsgQVhUZXh0Qm94Q29tcG9uZW50LCBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1ib3gnO1xuaW1wb3J0IHsgQVhGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2Zvcm1hdCc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBBWFBFbnRpdHksIEFYUFF1ZXJ5RmlsdGVyLCBBWFBWYWxpZGF0aW9uUnVsZXMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyU2VydmljZSwgQVhQV2lkZ2V0QmFzZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIERlc3Ryb3lSZWYsIEVsZW1lbnRSZWYsIEluamVjdG9yLCBWaWV3Q2hpbGQsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhQX0VOVElUWV9ERUZJTklUSU9OX0xPQURFUiB9IGZyb20gJy4uLy4uL2VudGl0eS5jb25maWcnO1xuaW1wb3J0IHsgQVhQTG9va3VwV2lkZ2V0U2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2xvb2t1cC13aWRnZXQtc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUExvb2t1cFdpZGdldFNlbGVjdG9yVmlld01vZGVsIH0gZnJvbSAnLi9sb29rdXAtd2lkZ2V0LXNlbGVjdG9yLnZpZXdtb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYFxuICAgIDxheC10ZXh0LWJveFxuICAgICAgW25nTW9kZWxdPVwiZGlzcGxheVRleHQoKVwiXG4gICAgICAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXG4gICAgICAob25LZXlVcCk9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgICAgKG9uQmx1cik9XCJoYW5kbGVPbkJsdXIoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgQGZvciAodmFsaWRhdGlvbiBvZiB2YWxpZGF0aW9uUnVsZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGF4LXZhbGlkYXRpb24tcnVsZSBbcnVsZV09XCJ2YWxpZGF0aW9uLnJ1bGVcIiBbbWVzc2FnZV09XCJ2YWxpZGF0aW9uLm9wdGlvbnM/Lm1lc3NhZ2VcIiBbb3B0aW9uc109XCJ2YWxpZGF0aW9uLm9wdGlvbnNcIj48L2F4LXZhbGlkYXRpb24tcnVsZT5cbiAgICAgIH1cbiAgICAgIDxheC1jbGVhci1idXR0b24gKGNsaWNrKT1cImhhbmRsZUNsZWFyQ2xpY2soKVwiPjwvYXgtY2xlYXItYnV0dG9uPlxuXG4gICAgICA8YXgtc3VmZml4PlxuICAgICAgICA8YXgtYnV0dG9uIGNvbG9yPVwiZ2hvc3RcIiBsb29rPVwidHdvdG9uZVwiIFtkaXNhYmxlZF09XCJpc0xvYWRpbmcoKVwiIChvbkNsaWNrKT1cImhhbmRsZU9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgIEBpZihpc0xvYWRpbmcoKSkge1xuICAgICAgICAgIDxheC1sb2FkaW5nPjwvYXgtbG9hZGluZz5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmFyIGZhLXNlYXJjaFwiPiA8L2F4LWljb24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgIDwvYXgtc3VmZml4PlxuICAgIDwvYXgtdGV4dC1ib3g+XG4gIGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFYU2VsZWN0Qm94TW9kdWxlLFxuICAgIEFYVGV4dEJveE1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWExvYWRpbmdNb2R1bGUsXG4gICAgQVhWYWxpZGF0aW9uTW9kdWxlLFxuICAgIEFYRm9ybU1vZHVsZSxcbiAgXSxcbiAgaW5wdXRzOiBbJ2VudGl0eScsICdjb25kaXRpb25zJywgJ2V4cG9zZSddLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBMb29rdXBXaWRnZXRFZGl0Q29tcG9uZW50IGV4dGVuZHMgQVhQV2lkZ2V0QmFzZTxhbnk+IHtcbiAgcHJvdGVjdGVkIHRleHRGaWVsZCA9ICd0aXRsZSc7XG4gIHByb3RlY3RlZCBleHBvc2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHJvdGVjdGVkIGVudGl0eTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgZmlsdGVyOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gfCBudWxsO1xuXG4gIHByb3RlY3RlZCB2YWxpZGF0aW9uUnVsZXM6IEFYUFZhbGlkYXRpb25SdWxlcyA9IFtdO1xuXG4gIHByb3RlY3RlZCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByb3RlY3RlZCBsb2FkZXIgPSBpbmplY3QoQVhQX0VOVElUWV9ERUZJTklUSU9OX0xPQURFUik7XG4gIHByb3RlY3RlZCBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG4gIHByb3RlY3RlZCBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGJ1aWxkZXJTZXJ2aWNlID0gaW5qZWN0KEFYUExheW91dEJ1aWxkZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIGVudGl0eURlZjogQVhQRW50aXR5IHwgbnVsbDtcblxuICBwcm90ZWN0ZWQgY29uZGl0aW9ucz86IEFYUFF1ZXJ5RmlsdGVyW107XG5cbiAgcHJvdGVjdGVkIGRpc3BsYXlUZXh0ID0gc2lnbmFsKCcnKTtcbiAgcHJvdGVjdGVkIHNlbGVjdGVkSXRlbSA9IHNpZ25hbDxhbnkgfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHNlYXJjaFRlcm0gPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgQFZpZXdDaGlsZChBWFRleHRCb3hDb21wb25lbnQpXG4gIHRleHRib3g6IEFYVGV4dEJveENvbXBvbmVudDtcblxuICBwcm90ZWN0ZWQgaXNMb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgaXNPcGVuID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgdm0gPSBzaWduYWw8QVhQTG9va3VwV2lkZ2V0U2VsZWN0b3JWaWV3TW9kZWwgfCBudWxsPihudWxsKTtcblxuICBwcm90ZWN0ZWQgcGxhY2Vob2xkZXIgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVTeW5jKCd3aWRnZXQubG9va3VwLnNlYXJjaCcpICsgdGhpcy52bSgpPy5pbmxpbmVGaWx0ZXJzUGxhY2Vob2xkZXJzKCkuam9pbignLCAnKTtcbiAgfSk7XG5cbiAgb3ZlcnJpZGUgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAvL1xuICAgIGNvbnN0IFttb2R1bGUsIGVudGl0eV0gPSB0aGlzLmVudGl0eS5zcGxpdCgnLicpO1xuICAgIHRoaXMuZW50aXR5RGVmID0gYXdhaXQgdGhpcy5sb2FkZXIuZ2V0KG1vZHVsZSwgZW50aXR5KTtcbiAgICAvL1xuICAgIHRoaXMudm0uc2V0KG5ldyBBWFBMb29rdXBXaWRnZXRTZWxlY3RvclZpZXdNb2RlbCh0aGlzLmluamVjdG9yLCB0aGlzLmVudGl0eURlZiEsIHRoaXMuZmlsdGVyKSk7XG4gICAgLy9cbiAgICB0aGlzLnRleHRGaWVsZCA9IHRoaXMuZW50aXR5RGVmPy5mb3JtYXRzLmxvb2t1cCA/PyB0aGlzLmVudGl0eURlZj8ucHJvcGVydGllcy5maW5kKChjKSA9PiBjLm5hbWUgIT0gJ2lkJyk/Lm5hbWUgPz8gJ3RpdGxlJztcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09ICdvYmplY3QnKSB0aGlzLmRpc3BsYXlUZXh0LnNldCh0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KHRoaXMudGV4dEZpZWxkLCAnc3RyaW5nJywgdmFsdWUpKTtcbiAgICBlbHNlIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICBhd2FpdCB0aGlzLmZpbmRCeVZhbHVlKCk7XG4gICAgfVxuICAgIC8vXG4gICAgdGhpcy5idWlsZGVyU2VydmljZS5vbkNoYW5nZWQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKGFzeW5jIChjKSA9PiB7XG4gICAgICBpZiAoYy5wYXRoID09IHRoaXMucGF0aCkge1xuICAgICAgICBpZiAodGhpcy5nZXRWYWx1ZSgpKSBhd2FpdCB0aGlzLmZpbmRCeVZhbHVlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZpbmRCeVZhbHVlKCkge1xuICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcbiAgICBjb25zdCBieUtleSA9IHRoaXMuZW50aXR5RGVmPy5xdWVyaWVzLmJ5S2V5Py5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgIGNvbnN0IGl0ZW0gPSBhd2FpdCBieUtleSh0aGlzLmdldFZhbHVlKCkpO1xuICAgIHRoaXMuc2V0SXRlbXMoaXRlbSk7XG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2soZTogQVhDbGlja0V2ZW50KSB7XG4gICAgdGhpcy5zaG93U2VsZWN0b3IoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd1NlbGVjdG9yKCkge1xuICAgIHRoaXMuaXNPcGVuLnNldCh0cnVlKTtcbiAgICB0aGlzLnBvcHVwU2VydmljZVxuICAgICAgLm9wZW4oQVhQTG9va3VwV2lkZ2V0U2VsZWN0b3JDb21wb25lbnQsIHtcbiAgICAgICAgdGl0bGU6IGAke3RoaXMuZW50aXR5RGVmPy5mb3JtYXRzLnBsdXJhbH0gTG9va3VwYCxcbiAgICAgICAgc2l6ZTogKHRoaXMudm0oKT8uY29sdW1ucygpLmxlbmd0aCA/PyAwKSA+IDMgPyAnbGcnIDogJ21kJyxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHZtOiBuZXcgQVhQTG9va3VwV2lkZ2V0U2VsZWN0b3JWaWV3TW9kZWwodGhpcy5pbmplY3RvciwgdGhpcy5lbnRpdHlEZWYhLCB0aGlzLmZpbHRlciksXG4gICAgICAgICAgc2VhcmNoVGVybTogdGhpcy5zZWFyY2hUZXJtKCkgPT0gdGhpcy5kaXNwbGF5VGV4dCgpID8gbnVsbCA6IHRoaXMuc2VhcmNoVGVybSgpLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIC50aGVuKChlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5pc09wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy50ZXh0Ym94LmZvY3VzKCk7XG4gICAgICAgIGlmIChlLmRhdGE/Lml0ZW1zKSB7XG4gICAgICAgICAgdGhpcy5zZXRJdGVtcyhlLmRhdGE/Lml0ZW1zWzBdKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlVmFsdWVDaGFuZ2UoZTogQVhWYWx1ZUNoYW5nZWRFdmVudCkge1xuICAgIHRoaXMuc2VhcmNoVGVybS5zZXQoZS52YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlT25CbHVyKGU6IEFYRm9jdXNFdmVudCkge1xuICAgIGNvbnN0IGNvbSA9IGUuY29tcG9uZW50IGFzIEFYVGV4dEJveENvbXBvbmVudDtcbiAgICBjb25zdCBpbnB1dCA9IChjb21bJ2lucHV0J10gYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtKCkpIHtcbiAgICAgICAgaW5wdXQudmFsdWUgPSB0aGlzLmRpc3BsYXlUZXh0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9ICcnO1xuICAgICAgICAgIHRoaXMuc2VhcmNoVGVybS5zZXQobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCAxMDApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUtleURvd24oZTogQVhIdG1sRXZlbnQpIHtcbiAgICBjb25zdCBrZXlFdmVudCA9IGUubmF0aXZlRXZlbnQgYXMgS2V5Ym9hcmRFdmVudDtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2VhcmNoVGVybSgpPy50cmltKCk7XG4gICAgaWYgKChrZXlFdmVudC5jb2RlID09ICdFbnRlcicgfHwga2V5RXZlbnQuY29kZSA9PSAnTnVtcGFkRW50ZXInKSAmJiB2YWx1ZSkge1xuICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy52bSgpPy5maW5kKHZhbHVlKTtcbiAgICAgIGlmIChyZXN1bHQ/LnRvdGFsID09IDEpIHtcbiAgICAgICAgdGhpcy5zZXRJdGVtcyhyZXN1bHQuaXRlbXNbMF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zaG93U2VsZWN0b3IoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRJdGVtcyhpdGVtOiBhbnkpIHtcbiAgICB0aGlzLnNlYXJjaFRlcm0uc2V0KG51bGwpO1xuICAgIHRoaXMuZGlzcGxheVRleHQuc2V0KCcnKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbS5zZXQoaXRlbSk7XG4gICAgY29uc3QgdGV4dCA9IHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQodGhpcy50ZXh0RmllbGQsICdzdHJpbmcnLCBpdGVtKTtcbiAgICB0aGlzLmRpc3BsYXlUZXh0LnNldCh0ZXh0KTtcbiAgICB0aGlzLnNldFZhbHVlKGl0ZW0uaWQpO1xuICAgIGlmICh0aGlzLmV4cG9zZSkge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLmV4cG9zZSA9PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLmJ1aWxkZXJTZXJ2aWNlLnNldFZhbHVlKHRoaXMuZXhwb3NlLCBpdGVtKTtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmV4cG9zZSkpIHtcbiAgICAgICAgKHRoaXMuZXhwb3NlIGFzIGFueVtdKS5mb3JFYWNoKChpKSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBpID09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aGlzLmJ1aWxkZXJTZXJ2aWNlLnNldFZhbHVlKGksIGl0ZW0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBnZXQoaXRlbSwgaS5zb3VyY2UpO1xuICAgICAgICAgICAgdGhpcy5idWlsZGVyU2VydmljZS5zZXRWYWx1ZShpLnRhcmdldCwga2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDbGVhckNsaWNrKCkge1xuICAgIHRoaXMuY2xlYXIoKTtcbiAgICB0aGlzLnNldFZhbHVlKG51bGwpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCkge1xuICAgIHRoaXMuc2VhcmNoVGVybS5zZXQoJycpO1xuICAgIHRoaXMuZGlzcGxheVRleHQuc2V0KCcnKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbS5zZXQobnVsbCk7XG4gIH1cbn1cbiJdfQ==