@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,9 +1,10 @@
1
1
  import { computed, signal } from "@angular/core";
2
- import { AXPEntityListViewColumnViewModel } from "./entity.viewmodel";
2
+ import { AXPEntityCommandTriggerViewModel, AXPEntityListViewColumnViewModel } from "./entity.viewmodel";
3
3
  import { AXFormatService } from "@acorex/core/format";
4
4
  import { AXDataSource } from "@acorex/components/common";
5
5
  import { AXPWorkflowService } from "@acorex/platform/workflow";
6
6
  import { AXP_ENTITY_DEFINITION_LOADER } from "./entity.config";
7
+ import { AXPEntityCommandScope } from "@acorex/platform/common";
7
8
  export class AXPEntityDetailListViewModel {
8
9
  constructor(injector, detailEntityConfig, parent) {
9
10
  this.injector = injector;
@@ -41,21 +42,26 @@ export class AXPEntityDetailListViewModel {
41
42
  return this.inlineFiltersPlaceholders().length > 0;
42
43
  });
43
44
  //****************** Actions ******************//
44
- this.actions = computed(() => {
45
- // const list = this.detailEntity.interfaces?.master?.list?.actions ?? [];
46
- // return list
47
- // .filter(a =>
48
- // (a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||
49
- // (a.scope != AXPEntityCommandScope.Selected && !this.hasSelectedItems())
50
- // )
51
- // .map((tr) => new AXPEntityCommandTriggerViewModel(this.entityDef, tr)) ?? [];
52
- return [];
45
+ this.allActions = computed(() => {
46
+ const list = this.detailEntity()?.interfaces?.master?.list?.actions ?? [];
47
+ return list
48
+ .map((tr) => new AXPEntityCommandTriggerViewModel(this.detailEntity(), tr)) ?? [];
53
49
  });
54
50
  this.primaryActions = computed(() => {
55
- return this.actions().filter(c => c.priority == 'primary');
51
+ return this.allActions()
52
+ .filter(a => (a.priority == 'primary') &&
53
+ ((a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||
54
+ (a.scope == AXPEntityCommandScope.TypeLevel && !this.hasSelectedItems())));
56
55
  });
57
56
  this.secondaryActions = computed(() => {
58
- return this.actions().filter(c => c.priority == 'secondary');
57
+ return this.allActions()
58
+ .filter(a => (a.priority == 'secondary') &&
59
+ ((a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||
60
+ (a.scope == AXPEntityCommandScope.TypeLevel && !this.hasSelectedItems())));
61
+ });
62
+ this.rowActions = computed(() => {
63
+ return this.allActions()
64
+ .filter(a => (a.scope == AXPEntityCommandScope.Individual));
59
65
  });
60
66
  //****************** Filter ******************//
61
67
  this.inlineFilters = {
@@ -150,6 +156,15 @@ export class AXPEntityDetailListViewModel {
150
156
  }
151
157
  //****************** Commands ******************//
152
158
  async executeCommand(commandName, data = null) {
159
+ const action = this.allActions().find(c => c.name == commandName &&
160
+ ((this.selectedItems().length ?
161
+ c.scope == AXPEntityCommandScope.Selected :
162
+ c.scope == AXPEntityCommandScope.Individual) ||
163
+ c.scope == AXPEntityCommandScope.TypeLevel));
164
+ await this.workflow.execute(commandName, {
165
+ entity: this.detailEntity()?.source,
166
+ data: action?.scope == AXPEntityCommandScope.Selected ? this.selectedItems() : data
167
+ });
153
168
  }
154
169
  }
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWRldGFpbC1saXN0LnZpZXdtb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2VudGl0eS9zcmMvbGliL2VudGl0eS1kZXRhaWwtbGlzdC52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFvQyxnQ0FBZ0MsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFrRCxNQUFNLDJCQUEyQixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTS9ELE1BQU0sT0FBTyw0QkFBNEI7SUF1QnJDLFlBQ1ksUUFBa0IsRUFDbEIsa0JBQW9DLEVBQ3BDLE1BQXdDO1FBRnhDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFrQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFrQztRQXZCNUMsaUJBQVksR0FBRyxNQUFNLENBQW1CLElBQUksQ0FBQyxDQUFDO1FBQzlDLGtCQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDbEQsYUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFJekQsZUFBVSxHQUFHLElBQUksWUFBWSxDQUFDO1lBQzFCLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFB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bEIsS0FBSyxFQUFFLEtBQUs7WUFDWixRQUFRLEVBQUUsSUFBVztZQUNyQixPQUFPLEVBQUUsYUFBYTtTQUN6QixDQUFDO1FBQ0YsRUFBRTtRQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDdkQsTUFBTSxNQUFNLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDeEQsRUFBRTtRQUNGLElBQUksTUFBTSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0MsQ0FBQzthQUNJLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNoRCxDQUFDO2FBQ0ksSUFBSSxNQUFNLElBQUksTUFBTSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7Z0JBQ25CLEtBQUssRUFBRSxJQUFXO2dCQUNsQixLQUFLLEVBQUUsS0FBSztnQkFDWixRQUFRLEVBQUUsSUFBVztnQkFDckIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQzthQUNyRCxDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsRUFBRTtRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQXVCRCxtREFBbUQ7SUFDNUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFtQixFQUFFLE9BQVksSUFBSTtJQUNqRSxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgY29tcHV0ZWQsIHNpZ25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsLCBBWFBFbnRpdHlMaXN0Vmlld0NvbHVtblZpZXdNb2RlbCB9IGZyb20gXCIuL2VudGl0eS52aWV3bW9kZWxcIjtcclxuaW1wb3J0IHsgQVhGb3JtYXRTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvY29yZS9mb3JtYXRcIjtcclxuaW1wb3J0IHsgQVhEYXRhU291cmNlLCBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24sIEFYRGF0YVNvdXJjZU9wZXJhdG9yIH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9jb21tb25cIjtcclxuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3dcIjtcclxuaW1wb3J0IHsgQVhQX0VOVElUWV9ERUZJTklUSU9OX0xPQURFUiB9IGZyb20gXCIuL2VudGl0eS5jb25maWdcIjtcclxuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBSZWxhdGVkRW50aXR5IH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29tbW9uXCI7XHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5RGV0YWlsTGlzdFZpZXdNb2RlbCB7XHJcblxyXG5cclxuICAgIHByaXZhdGUgZGV0YWlsRW50aXR5ID0gc2lnbmFsPEFYUEVudGl0eSB8IG51bGw+KG51bGwpO1xyXG4gICAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhGb3JtYXRTZXJ2aWNlKVxyXG4gICAgcHJpdmF0ZSB3b3JrZmxvdyA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUFdvcmtmbG93U2VydmljZSk7XHJcblxyXG5cclxuXHJcbiAgICBkYXRhU291cmNlID0gbmV3IEFYRGF0YVNvdXJjZSh7XHJcbiAgICAgICAgYnlLZXk6IChrZXkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZnVuYyA9IHRoaXMuZGV0YWlsRW50aXR5KCk/LnF1ZXJpZXMuYnlLZXkuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcclxuICAgICAgICAgICAgcmV0dXJuIGZ1bmMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxvYWQ6IChlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSB0aGlzLmRldGFpbEVudGl0eSgpPy5xdWVyaWVzLmxpc3Q/LmV4ZWN1dGUgYXMgRnVuY3Rpb247XHJcbiAgICAgICAgICAgIHJldHVybiBmdW5jKGUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcGFnZVNpemU6IDUsXHJcbiAgICAgICAga2V5OiAnaWQnXHJcblxyXG4gICAgfSlcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwcml2YXRlIGRldGFpbEVudGl0eUNvbmZpZzogQVhQUmVsYXRlZEVudGl0eSxcclxuICAgICAgICBwcml2YXRlIHBhcmVudDogeyBlbnRpdHk6IEFYUEVudGl0eSwgZGF0YTogYW55IH0sXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBpbml0aWFsaXplKCkge1xyXG4gICAgICAgIGNvbnN0IGxvYWRlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUF9FTlRJVFlfREVGSU5JVElPTl9MT0FERVIpO1xyXG4gICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHRoaXMuZGV0YWlsRW50aXR5Q29uZmlnLmVudGl0eS5zcGxpdCgnLicpO1xyXG4gICAgICAgIGNvbnN0IGVudGl0eSA9IGF3YWl0IGxvYWRlci5nZXQobW9kdWxlTmFtZSwgZW50aXR5TmFtZSlcclxuICAgICAgICBpZiAoIWVudGl0eSkge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBlbml0aXR5IG5hbWU6ICR7dGhpcy5kZXRhaWxFbnRpdHlDb25maWcuZW50aXR5fWApXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGV0YWlsRW50aXR5LnNldChlbnRpdHkpO1xyXG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXJBbmRTb3J0KCk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZWxlY3RlZEl0ZW1zID0gc2lnbmFsPGFueVtdPihbXSk7XHJcblxyXG4gICAgcHVibGljIGhhc1NlbGVjdGVkSXRlbXMgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcygpLmxlbmd0aCA+IDBcclxuICAgIH0pO1xyXG5cclxuICAgIHB1YmxpYyBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuc2V0KFtdKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBUaXRsZSAqKioqKioqKioqKioqKioqKiovL1xyXG4gICAgcHVibGljIHRpdGxlID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGV0YWlsRW50aXR5Q29uZmlnLnRpdGxlID8/IHRoaXMuZGV0YWlsRW50aXR5KCk/LmludGVyZmFjZXM/LmRldGFpbD8ubGlzdD8udGl0bGUhID8/IHRoaXMuZGV0YWlsRW50aXR5KCk/LmZvcm1hdHMucGx1cmFsITtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqIElubGluZSBmaWx0ZXIgKioqKioqKioqKioqKioqKioqLy9cclxuICAgIHB1YmxpYyBpbmxpbmVGaWx0ZXJzUGxhY2Vob2xkZXJzID0gY29tcHV0ZWQ8c3RyaW5nW10+KCgpID0+IHtcclxuICAgICAgICAvL3JldHVybiB0aGlzLmVudGl0eURlZi5wcm9wZXJ0aWVzLmZpbHRlcihwID0+IHAub3B0aW9ucz8uZmlsdGVyPy5pbmxpbmU/LmVuYWJsZWQpLm1hcChjID0+IGMudGl0bGUpO1xyXG4gICAgICAgIHJldHVybiBbXTtcclxuICAgIH0pO1xyXG5cclxuICAgIHB1YmxpYyBoYXNJbmxpbmVGaWx0ZXJzID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlubGluZUZpbHRlcnNQbGFjZWhvbGRlcnMoKS5sZW5ndGggPiAwO1xyXG4gICAgfSk7XHJcblxyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqIEFjdGlvbnMgKioqKioqKioqKioqKioqKioqLy9cclxuICAgIHByaXZhdGUgYWN0aW9ucyA9IGNvbXB1dGVkPEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsW10+KCgpID0+IHtcclxuICAgICAgICAvLyBjb25zdCBsaXN0ID0gdGhpcy5kZXRhaWxFbnRpdHkuaW50ZXJmYWNlcz8ubWFzdGVyPy5saXN0Py5hY3Rpb25zID8/IFtdO1xyXG4gICAgICAgIC8vIHJldHVybiBsaXN0XHJcbiAgICAgICAgLy8gICAgIC5maWx0ZXIoYSA9PlxyXG4gICAgICAgIC8vICAgICAgICAgKGEuc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkICYmIHRoaXMuaGFzU2VsZWN0ZWRJdGVtcygpKSB8fFxyXG4gICAgICAgIC8vICAgICAgICAgKGEuc2NvcGUgIT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkICYmICF0aGlzLmhhc1NlbGVjdGVkSXRlbXMoKSlcclxuICAgICAgICAvLyAgICAgKVxyXG4gICAgICAgIC8vICAgICAubWFwKCh0cikgPT4gbmV3IEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsKHRoaXMuZW50aXR5RGVmLCB0cikpID8/IFtdO1xyXG4gICAgICAgIHJldHVybiBbXVxyXG4gICAgfSk7XHJcblxyXG4gICAgcHVibGljIHByaW1hcnlBY3Rpb25zID0gY29tcHV0ZWQ8QVhQRW50aXR5Q29tbWFuZFRyaWdnZXJWaWV3TW9kZWxbXT4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFjdGlvbnMoKS5maWx0ZXIoYyA9PiBjLnByaW9yaXR5ID09ICdwcmltYXJ5Jyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBwdWJsaWMgc2Vjb25kYXJ5QWN0aW9ucyA9IGNvbXB1dGVkPEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsW10+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25zKCkuZmlsdGVyKGMgPT4gYy5wcmlvcml0eSA9PSAnc2Vjb25kYXJ5Jyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBGaWx0ZXIgKioqKioqKioqKioqKioqKioqLy9cclxuXHJcbiAgICBwcml2YXRlIGlubGluZUZpbHRlcnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiA9IHtcclxuICAgICAgICBmaWVsZDogbnVsbCBhcyBhbnksXHJcbiAgICAgICAgbG9naWM6ICdvcicsXHJcbiAgICAgICAgb3BlcmF0b3I6IG51bGwgYXMgYW55LFxyXG4gICAgICAgIGZpbHRlcnM6IFtdXHJcbiAgICB9O1xyXG5cclxuICAgIGFwcGx5SW5saW5lRmlsdGVyKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICAvLyBjb25zdCBwcm9wcyA9IHRoaXMuZW50aXR5RGVmLnByb3BlcnRpZXMuZmlsdGVyKGMgPT4gYy5vcHRpb25zPy5maWx0ZXI/LmlubGluZT8uZW5hYmxlZCk7XHJcbiAgICAgICAgLy8gdGhpcy5pbmxpbmVGaWx0ZXJzLmZpbHRlcnMgPSBbXTtcclxuICAgICAgICAvLyBpZiAodmFsdWUpIHtcclxuICAgICAgICAvLyAgICAgcHJvcHMuZm9yRWFjaChwID0+IHtcclxuICAgICAgICAvLyAgICAgICAgIHRoaXMuaW5saW5lRmlsdGVycy5maWx0ZXJzPy5wdXNoKHtcclxuICAgICAgICAvLyAgICAgICAgICAgICBmaWVsZDogcC5uYW1lLFxyXG4gICAgICAgIC8vICAgICAgICAgICAgIG9wZXJhdG9yOiB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIHR5cGU6ICdjb250YWlucydcclxuICAgICAgICAvLyAgICAgICAgICAgICB9LFxyXG4gICAgICAgIC8vICAgICAgICAgICAgIHZhbHVlXHJcbiAgICAgICAgLy8gICAgICAgICB9KVxyXG4gICAgICAgIC8vICAgICB9KVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICB0aGlzLmFwcGx5RmlsdGVyQW5kU29ydCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFwcGx5RmlsdGVyQW5kU29ydCgpIHtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuY2xlYXJGaWx0ZXIoKTtcclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vdGhpcy5kYXRhU291cmNlLnNvcnQoLi4udGhpcy5kZXRhaWxFbnRpdHkuKCkubWFwKHMgPT4gKHsgZGlyOiBzLmRpciwgZmllbGQ6IHMubmFtZSB9IGFzIEFYRGF0YVNvdXJjZVNvcnRPcHRpb24pKSk7XHJcbiAgICAgICAgLy9cclxuXHJcbiAgICAgICAgY29uc3QgcGFyZW50RmlsdGVyczogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uW10gPSB0aGlzLmRldGFpbEVudGl0eUNvbmZpZy5jb25kaXRpb25zPy5tYXAoYyA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogYy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgb3BlcmF0b3I6IChjLm9wZXJhdG9yIGFzIHVua25vd24gYXMgQVhEYXRhU291cmNlT3BlcmF0b3IpLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMucGFyZW50LmRhdGE/LmlkXHJcbiAgICAgICAgICAgIH0gYXMgQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uO1xyXG4gICAgICAgIH0pID8/IFtdO1xyXG4gICAgICAgIGNvbnN0IHBhcmVudEZpbHRlcldyYXBwZXI6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiA9IHtcclxuICAgICAgICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxyXG4gICAgICAgICAgICBsb2dpYzogJ2FuZCcsXHJcbiAgICAgICAgICAgIG9wZXJhdG9yOiBudWxsIGFzIGFueSxcclxuICAgICAgICAgICAgZmlsdGVyczogcGFyZW50RmlsdGVyc1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgLy9cclxuICAgICAgICBjb25zdCBpbmxpbmUgPSB0aGlzLmlubGluZUZpbHRlcnMuZmlsdGVycz8ubGVuZ3RoID8/IDA7XHJcbiAgICAgICAgY29uc3QgcGFyZW50ID0gcGFyZW50RmlsdGVyV3JhcHBlci5maWx0ZXJzPy5sZW5ndGggPz8gMDtcclxuICAgICAgICAvL1xyXG4gICAgICAgIGlmIChpbmxpbmUpIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlcih0aGlzLmlubGluZUZpbHRlcnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICghaW5saW5lICYmIHBhcmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyKHBhcmVudEZpbHRlcldyYXBwZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbmxpbmUgJiYgcGFyZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxyXG4gICAgICAgICAgICAgICAgbG9naWM6ICdhbmQnLFxyXG4gICAgICAgICAgICAgICAgb3BlcmF0b3I6IG51bGwgYXMgYW55LFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyczogW3RoaXMuaW5saW5lRmlsdGVycywgcGFyZW50RmlsdGVyV3JhcHBlcl1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vXHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnJlZnJlc2goKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8qKioqKioqKioqKioqKioqKiogQ29sdW1ucyAqKioqKioqKioqKioqKioqKiovL1xyXG5cclxuICAgIGNvbHVtbnMgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGV0YWlsRW50aXR5KCkpIHtcclxuICAgICAgICAgICAgY29uc3QgZGV0YWlsQ29sdW1ucyA9IHRoaXMuZGV0YWlsRW50aXR5Q29uZmlnLmNvbHVtbnMgPz8gW11cclxuICAgICAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuZGV0YWlsRW50aXR5KCk/LmNvbHVtbnM/Lm1hcChjID0+IGMubmFtZSkgPz8gW107XHJcbiAgICAgICAgICAgIGNvbnN0IHByb3BzID0gdGhpcy5kZXRhaWxFbnRpdHkoKT8ucHJvcGVydGllcy5maWx0ZXIocCA9PlxyXG4gICAgICAgICAgICAgICAgcC5zY2hlbWEuaGlkZGVuICE9IHRydWUgJiZcclxuICAgICAgICAgICAgICAgIChkZXRhaWxDb2x1bW5zPy5sZW5ndGggPT0gMCB8fCBkZXRhaWxDb2x1bW5zPy5pbmNsdWRlcyhwLm5hbWUpKVxyXG4gICAgICAgICAgICApID8/IFtdXHJcbiAgICAgICAgICAgIGNvbnN0IGRpc3BsYXlDb2x1bW5zID0gcHJvcHMuZmlsdGVyKHAgPT4gY29sdW1ucy5zb21lKGMgPT4gYyA9PSBwLm5hbWUpKTtcclxuICAgICAgICAgICAgcmV0dXJuIGRpc3BsYXlDb2x1bW5zLm1hcChwID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQVhQRW50aXR5TGlzdFZpZXdDb2x1bW5WaWV3TW9kZWwocCwgdGhpcy5kZXRhaWxFbnRpdHkoKT8uY29sdW1ucz8uZmluZChjID0+IGMubmFtZSA9PSBwLm5hbWUpISk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBbXTtcclxuICAgIH0pO1xyXG5cclxuXHJcblxyXG4gICAgLy8qKioqKioqKioqKioqKioqKiogIENvbW1hbmRzICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgICBwdWJsaWMgYXN5bmMgZXhlY3V0ZUNvbW1hbmQoY29tbWFuZE5hbWU6IHN0cmluZywgZGF0YTogYW55ID0gbnVsbCkge1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbiJdfQ==
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWRldGFpbC1saXN0LnZpZXdtb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2VudGl0eS9zcmMvbGliL2VudGl0eS1kZXRhaWwtbGlzdC52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQWtELE1BQU0sMkJBQTJCLENBQUM7QUFDekcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFhLHFCQUFxQixFQUFvQixNQUFNLHlCQUF5QixDQUFDO0FBSzdGLE1BQU0sT0FBTyw0QkFBNEI7SUF1QnJDLFlBQ1ksUUFBa0IsRUFDbEIsa0JBQW9DLEVBQ3BDLE1BQXdDO1FBRnhDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFrQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFrQztRQXZCNUMsaUJBQVksR0FBRyxNQUFNLENBQW1CLElBQUksQ0FBQyxDQUFDO1FBQzlDLGtCQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDbEQsYUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFJekQsZUFBVSxHQUFHLElBQUksWUFBWSxDQUFDO1lBQzFCLEtBQUssRUFBRSxDQUFDLEdB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QVMsQ0FDN0MsQ0FDSixDQUFDO1FBQ0YsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDckMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNO1lBQ25DLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxJQUFJLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO1NBQ3RGLENBQUMsQ0FBQTtJQUNOLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBjb21wdXRlZCwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsLCBBWFBFbnRpdHlMaXN0Vmlld0NvbHVtblZpZXdNb2RlbCB9IGZyb20gXCIuL2VudGl0eS52aWV3bW9kZWxcIjtcbmltcG9ydCB7IEFYRm9ybWF0U2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvZm9ybWF0XCI7XG5pbXBvcnQgeyBBWERhdGFTb3VyY2UsIEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiwgQVhEYXRhU291cmNlT3BlcmF0b3IgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL2NvbW1vblwiO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3dcIjtcbmltcG9ydCB7IEFYUF9FTlRJVFlfREVGSU5JVElPTl9MT0FERVIgfSBmcm9tIFwiLi9lbnRpdHkuY29uZmlnXCI7XG5pbXBvcnQgeyBBWFBFbnRpdHksIEFYUEVudGl0eUNvbW1hbmRTY29wZSwgQVhQUmVsYXRlZEVudGl0eSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuXG5cblxuXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5RGV0YWlsTGlzdFZpZXdNb2RlbCB7XG5cblxuICAgIHByaXZhdGUgZGV0YWlsRW50aXR5ID0gc2lnbmFsPEFYUEVudGl0eSB8IG51bGw+KG51bGwpO1xuICAgIHByaXZhdGUgZm9ybWF0U2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYRm9ybWF0U2VydmljZSlcbiAgICBwcml2YXRlIHdvcmtmbG93ID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQV29ya2Zsb3dTZXJ2aWNlKTtcblxuXG5cbiAgICBkYXRhU291cmNlID0gbmV3IEFYRGF0YVNvdXJjZSh7XG4gICAgICAgIGJ5S2V5OiAoa2V5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmdW5jID0gdGhpcy5kZXRhaWxFbnRpdHkoKT8ucXVlcmllcy5ieUtleS5leGVjdXRlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgcmV0dXJuIGZ1bmMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgbG9hZDogKGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSB0aGlzLmRldGFpbEVudGl0eSgpPy5xdWVyaWVzLmxpc3Q/LmV4ZWN1dGUgYXMgRnVuY3Rpb247XG4gICAgICAgICAgICByZXR1cm4gZnVuYyhlKTtcbiAgICAgICAgfSxcbiAgICAgICAgcGFnZVNpemU6IDUsXG4gICAgICAgIGtleTogJ2lkJ1xuXG4gICAgfSlcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBkZXRhaWxFbnRpdHlDb25maWc6IEFYUFJlbGF0ZWRFbnRpdHksXG4gICAgICAgIHByaXZhdGUgcGFyZW50OiB7IGVudGl0eTogQVhQRW50aXR5LCBkYXRhOiBhbnkgfSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgY29uc3QgbG9hZGVyID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQX0VOVElUWV9ERUZJTklUSU9OX0xPQURFUik7XG4gICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHRoaXMuZGV0YWlsRW50aXR5Q29uZmlnLmVudGl0eS5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCBlbnRpdHkgPSBhd2FpdCBsb2FkZXIuZ2V0KG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpXG4gICAgICAgIGlmICghZW50aXR5KSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBlbml0aXR5IG5hbWU6ICR7dGhpcy5kZXRhaWxFbnRpdHlDb25maWcuZW50aXR5fWApXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZXRhaWxFbnRpdHkuc2V0KGVudGl0eSk7XG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXJBbmRTb3J0KCk7XG5cbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0ZWRJdGVtcyA9IHNpZ25hbDxhbnlbXT4oW10pO1xuXG4gICAgcHVibGljIGhhc1NlbGVjdGVkSXRlbXMgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMoKS5sZW5ndGggPiAwXG4gICAgfSk7XG5cbiAgICBwdWJsaWMgY2xlYXJTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5zZXQoW10pO1xuICAgIH1cblxuICAgIC8vKioqKioqKioqKioqKioqKioqIFRpdGxlICoqKioqKioqKioqKioqKioqKi8vXG4gICAgcHVibGljIHRpdGxlID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRldGFpbEVudGl0eUNvbmZpZy50aXRsZSA/PyB0aGlzLmRldGFpbEVudGl0eSgpPy5pbnRlcmZhY2VzPy5kZXRhaWw/Lmxpc3Q/LnRpdGxlISA/PyB0aGlzLmRldGFpbEVudGl0eSgpPy5mb3JtYXRzLnBsdXJhbCE7XG4gICAgfSk7XG5cbiAgICAvLyoqKioqKioqKioqKioqKioqKiBJbmxpbmUgZmlsdGVyICoqKioqKioqKioqKioqKioqKi8vXG4gICAgcHVibGljIGlubGluZUZpbHRlcnNQbGFjZWhvbGRlcnMgPSBjb21wdXRlZDxzdHJpbmdbXT4oKCkgPT4ge1xuICAgICAgICAvL3JldHVybiB0aGlzLmVudGl0eURlZi5wcm9wZXJ0aWVzLmZpbHRlcihwID0+IHAub3B0aW9ucz8uZmlsdGVyPy5pbmxpbmU/LmVuYWJsZWQpLm1hcChjID0+IGMudGl0bGUpO1xuICAgICAgICByZXR1cm4gW107XG4gICAgfSk7XG5cbiAgICBwdWJsaWMgaGFzSW5saW5lRmlsdGVycyA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5saW5lRmlsdGVyc1BsYWNlaG9sZGVycygpLmxlbmd0aCA+IDA7XG4gICAgfSk7XG5cblxuICAgIC8vKioqKioqKioqKioqKioqKioqIEFjdGlvbnMgKioqKioqKioqKioqKioqKioqLy9cbiAgICBwcml2YXRlIGFsbEFjdGlvbnMgPSBjb21wdXRlZDxBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbFtdPigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLmRldGFpbEVudGl0eSgpPy5pbnRlcmZhY2VzPy5tYXN0ZXI/Lmxpc3Q/LmFjdGlvbnMgPz8gW107XG4gICAgICAgIHJldHVybiBsaXN0XG4gICAgICAgICAgICAubWFwKCh0cikgPT4gbmV3IEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsKHRoaXMuZGV0YWlsRW50aXR5KCkhLCB0cikpID8/IFtdO1xuICAgIH0pO1xuXG4gICAgcHVibGljIHByaW1hcnlBY3Rpb25zID0gY29tcHV0ZWQ8QVhQRW50aXR5Q29tbWFuZFRyaWdnZXJWaWV3TW9kZWxbXT4oKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hbGxBY3Rpb25zKClcbiAgICAgICAgICAgIC5maWx0ZXIoYSA9PlxuICAgICAgICAgICAgICAgIChhLnByaW9yaXR5ID09ICdwcmltYXJ5JykgJiZcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgIChhLnNjb3BlID09IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCAmJiB0aGlzLmhhc1NlbGVjdGVkSXRlbXMoKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgKGEuc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLlR5cGVMZXZlbCAmJiAhdGhpcy5oYXNTZWxlY3RlZEl0ZW1zKCkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICB9KTtcblxuICAgIHB1YmxpYyBzZWNvbmRhcnlBY3Rpb25zID0gY29tcHV0ZWQ8QVhQRW50aXR5Q29tbWFuZFRyaWdnZXJWaWV3TW9kZWxbXT4oKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hbGxBY3Rpb25zKClcbiAgICAgICAgICAgIC5maWx0ZXIoYSA9PlxuICAgICAgICAgICAgICAgIChhLnByaW9yaXR5ID09ICdzZWNvbmRhcnknKSAmJlxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgKGEuc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkICYmIHRoaXMuaGFzU2VsZWN0ZWRJdGVtcygpKSB8fFxuICAgICAgICAgICAgICAgICAgICAoYS5zY29wZSA9PSBBWFBFbnRpdHlDb21tYW5kU2NvcGUuVHlwZUxldmVsICYmICF0aGlzLmhhc1NlbGVjdGVkSXRlbXMoKSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgIH0pO1xuXG4gICAgcHVibGljIHJvd0FjdGlvbnMgPSBjb21wdXRlZDxBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbFtdPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFsbEFjdGlvbnMoKVxuICAgICAgICAgICAgLmZpbHRlcihhID0+XG4gICAgICAgICAgICAgICAgKGEuc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwpXG4gICAgICAgICAgICApO1xuICAgIH0pO1xuXG4gICAgLy8qKioqKioqKioqKioqKioqKiogRmlsdGVyICoqKioqKioqKioqKioqKioqKi8vXG5cbiAgICBwcml2YXRlIGlubGluZUZpbHRlcnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiA9IHtcbiAgICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxuICAgICAgICBsb2dpYzogJ29yJyxcbiAgICAgICAgb3BlcmF0b3I6IG51bGwgYXMgYW55LFxuICAgICAgICBmaWx0ZXJzOiBbXVxuICAgIH07XG5cbiAgICBhcHBseUlubGluZUZpbHRlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIC8vIGNvbnN0IHByb3BzID0gdGhpcy5lbnRpdHlEZWYucHJvcGVydGllcy5maWx0ZXIoYyA9PiBjLm9wdGlvbnM/LmZpbHRlcj8uaW5saW5lPy5lbmFibGVkKTtcbiAgICAgICAgLy8gdGhpcy5pbmxpbmVGaWx0ZXJzLmZpbHRlcnMgPSBbXTtcbiAgICAgICAgLy8gaWYgKHZhbHVlKSB7XG4gICAgICAgIC8vICAgICBwcm9wcy5mb3JFYWNoKHAgPT4ge1xuICAgICAgICAvLyAgICAgICAgIHRoaXMuaW5saW5lRmlsdGVycy5maWx0ZXJzPy5wdXNoKHtcbiAgICAgICAgLy8gICAgICAgICAgICAgZmllbGQ6IHAubmFtZSxcbiAgICAgICAgLy8gICAgICAgICAgICAgb3BlcmF0b3I6IHtcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIHR5cGU6ICdjb250YWlucydcbiAgICAgICAgLy8gICAgICAgICAgICAgfSxcbiAgICAgICAgLy8gICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgLy8gICAgICAgICB9KVxuICAgICAgICAvLyAgICAgfSlcbiAgICAgICAgLy8gfVxuICAgICAgICB0aGlzLmFwcGx5RmlsdGVyQW5kU29ydCgpO1xuICAgIH1cblxuICAgIGFwcGx5RmlsdGVyQW5kU29ydCgpIHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmNsZWFyRmlsdGVyKCk7XG4gICAgICAgIC8vXG4gICAgICAgIC8vdGhpcy5kYXRhU291cmNlLnNvcnQoLi4udGhpcy5kZXRhaWxFbnRpdHkuKCkubWFwKHMgPT4gKHsgZGlyOiBzLmRpciwgZmllbGQ6IHMubmFtZSB9IGFzIEFYRGF0YVNvdXJjZVNvcnRPcHRpb24pKSk7XG4gICAgICAgIC8vXG5cbiAgICAgICAgY29uc3QgcGFyZW50RmlsdGVyczogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uW10gPSB0aGlzLmRldGFpbEVudGl0eUNvbmZpZy5jb25kaXRpb25zPy5tYXAoYyA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBjLm5hbWUsXG4gICAgICAgICAgICAgICAgb3BlcmF0b3I6IChjLm9wZXJhdG9yIGFzIHVua25vd24gYXMgQVhEYXRhU291cmNlT3BlcmF0b3IpLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnBhcmVudC5kYXRhPy5pZFxuICAgICAgICAgICAgfSBhcyBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb247XG4gICAgICAgIH0pID8/IFtdO1xuICAgICAgICBjb25zdCBwYXJlbnRGaWx0ZXJXcmFwcGVyOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gPSB7XG4gICAgICAgICAgICBmaWVsZDogbnVsbCBhcyBhbnksXG4gICAgICAgICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICAgICAgICBvcGVyYXRvcjogbnVsbCBhcyBhbnksXG4gICAgICAgICAgICBmaWx0ZXJzOiBwYXJlbnRGaWx0ZXJzXG4gICAgICAgIH07XG4gICAgICAgIC8vXG4gICAgICAgIGNvbnN0IGlubGluZSA9IHRoaXMuaW5saW5lRmlsdGVycy5maWx0ZXJzPy5sZW5ndGggPz8gMDtcbiAgICAgICAgY29uc3QgcGFyZW50ID0gcGFyZW50RmlsdGVyV3JhcHBlci5maWx0ZXJzPy5sZW5ndGggPz8gMDtcbiAgICAgICAgLy9cbiAgICAgICAgaWYgKGlubGluZSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlcih0aGlzLmlubGluZUZpbHRlcnMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCFpbmxpbmUgJiYgcGFyZW50KSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyKHBhcmVudEZpbHRlcldyYXBwZXIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlubGluZSAmJiBwYXJlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIoe1xuICAgICAgICAgICAgICAgIGZpZWxkOiBudWxsIGFzIGFueSxcbiAgICAgICAgICAgICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICAgICAgICAgICAgb3BlcmF0b3I6IG51bGwgYXMgYW55LFxuICAgICAgICAgICAgICAgIGZpbHRlcnM6IFt0aGlzLmlubGluZUZpbHRlcnMsIHBhcmVudEZpbHRlcldyYXBwZXJdXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICAvL1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UucmVmcmVzaCgpO1xuICAgIH1cblxuXG4gICAgLy8qKioqKioqKioqKioqKioqKiogQ29sdW1ucyAqKioqKioqKioqKioqKioqKiovL1xuXG4gICAgY29sdW1ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZGV0YWlsRW50aXR5KCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGRldGFpbENvbHVtbnMgPSB0aGlzLmRldGFpbEVudGl0eUNvbmZpZy5jb2x1bW5zID8/IFtdXG4gICAgICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5kZXRhaWxFbnRpdHkoKT8uY29sdW1ucz8ubWFwKGMgPT4gYy5uYW1lKSA/PyBbXTtcbiAgICAgICAgICAgIGNvbnN0IHByb3BzID0gdGhpcy5kZXRhaWxFbnRpdHkoKT8ucHJvcGVydGllcy5maWx0ZXIocCA9PlxuICAgICAgICAgICAgICAgIHAuc2NoZW1hLmhpZGRlbiAhPSB0cnVlICYmXG4gICAgICAgICAgICAgICAgKGRldGFpbENvbHVtbnM/Lmxlbmd0aCA9PSAwIHx8IGRldGFpbENvbHVtbnM/LmluY2x1ZGVzKHAubmFtZSkpXG4gICAgICAgICAgICApID8/IFtdXG4gICAgICAgICAgICBjb25zdCBkaXNwbGF5Q29sdW1ucyA9IHByb3BzLmZpbHRlcihwID0+IGNvbHVtbnMuc29tZShjID0+IGMgPT0gcC5uYW1lKSk7XG4gICAgICAgICAgICByZXR1cm4gZGlzcGxheUNvbHVtbnMubWFwKHAgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQVhQRW50aXR5TGlzdFZpZXdDb2x1bW5WaWV3TW9kZWwocCwgdGhpcy5kZXRhaWxFbnRpdHkoKT8uY29sdW1ucz8uZmluZChjID0+IGMubmFtZSA9PSBwLm5hbWUpISk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9KTtcblxuXG5cbiAgICAvLyoqKioqKioqKioqKioqKioqKiAgQ29tbWFuZHMgKioqKioqKioqKioqKioqKioqLy9cbiAgICBwdWJsaWMgYXN5bmMgZXhlY3V0ZUNvbW1hbmQoY29tbWFuZE5hbWU6IHN0cmluZywgZGF0YTogYW55ID0gbnVsbCkge1xuICAgICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmFsbEFjdGlvbnMoKS5maW5kKGMgPT5cbiAgICAgICAgICAgIGMubmFtZSA9PSBjb21tYW5kTmFtZSAmJlxuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICh0aGlzLnNlbGVjdGVkSXRlbXMoKS5sZW5ndGggP1xuICAgICAgICAgICAgICAgICAgICBjLnNjb3BlID09IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCA6XG4gICAgICAgICAgICAgICAgICAgIGMuc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWxcbiAgICAgICAgICAgICAgICApIHx8XG4gICAgICAgICAgICAgICAgYy5zY29wZSA9PSBBWFBFbnRpdHlDb21tYW5kU2NvcGUuVHlwZUxldmVsXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZShjb21tYW5kTmFtZSwge1xuICAgICAgICAgICAgZW50aXR5OiB0aGlzLmRldGFpbEVudGl0eSgpPy5zb3VyY2UsXG4gICAgICAgICAgICBkYXRhOiBhY3Rpb24/LnNjb3BlID09IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCA/IHRoaXMuc2VsZWN0ZWRJdGVtcygpIDogZGF0YVxuICAgICAgICB9KVxuICAgIH1cblxufVxuXG5cbiJdfQ==
@@ -142,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
142
142
  type: Injectable,
143
143
  args: [{ providedIn: 'root' }]
144
144
  }] });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1hc3Rlci1jcmVhdGUudmlld21vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5L3NyYy9saWIvZW50aXR5LW1hc3Rlci1jcmVhdGUudmlld21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVsRCxPQUFPLEVBQThFLGdCQUFnQixFQUFxRCxNQUFNLHlCQUF5QixDQUFDOztBQUUxTCxNQUFNLE9BQU8sbUNBQW1DO0lBRTVDLFlBQW9CLE1BQWlCLEVBQVUsT0FBNkI7UUFBeEQsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBSTVFLFVBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFFLENBQUM7UUFDaEUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTdCLFVBQUssR0FBRyxRQUFRLENBQVMsR0FBRyxFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENB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QUNqQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUssQ0FBQyxZQUFZO1FBQ3JCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFO1lBQ3pDLE9BQU8sRUFBRTtnQkFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNO2dCQUM3QixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJO2FBQzlCO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKO0FBR0QsTUFBTSxPQUFPLCtCQUErQjtJQUQ1QztRQUVZLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDM0QsV0FBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FRdkM7SUFOVSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQWtCLEVBQUUsVUFBa0IsRUFBRSxjQUFtQixJQUFJO1FBQy9FLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksOEJBQThCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEYsQ0FBQzs4R0FWUSwrQkFBK0I7a0hBQS9CLCtCQUErQixjQURsQixNQUFNOzsyRkFDbkIsK0JBQStCO2tCQUQzQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCwgSW5qZWN0b3IsIGNvbXB1dGVkLCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSBcIi4vZW50aXR5LXJlZ2lzdGVyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93XCI7XHJcbmltcG9ydCB7IGNsb25lRGVlcCwgbWVyZ2UsIHNldCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcclxuaW1wb3J0IHsgQVhQV2lkZ2V0Tm9kZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyXCI7XHJcbmltcG9ydCB7IEFYUEVudGl0eSwgQVhQRW50aXR5UHJvcGVydHlHcm91cCwgQVhQR3JpZExheW91dE9wdGlvbnMsIEFYUEVudGl0eVByb3BlcnR5LCBBWFBMYXlvdXRTZXJ2aWNlLCBBWFBFbnRpdHlQcm9wZXJ0eUNyZWF0ZVZpZXcsIEFYUEVudGl0eVNlY3Rpb25WaWV3IH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29tbW9uXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5Q3JlYXRlVmlld1NlY3Rpb25WaWV3TW9kZWwge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZW50aXR5OiBBWFBFbnRpdHksIHByaXZhdGUgc2VjdGlvbjogQVhQRW50aXR5U2VjdGlvblZpZXcpIHtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZ3JvdXAgPSB0aGlzLmVudGl0eS5ncm91cHM/LmZpbmQoYyA9PiBjLmlkID09IHRoaXMuc2VjdGlvbi5pZCkhO1xyXG4gICAgbmFtZSA9IHNpZ25hbCh0aGlzLmdyb3VwLmlkKTtcclxuXHJcbiAgICB0aXRsZSA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdyb3VwLnRpdGxlID8/IHRoaXMuZ3JvdXAuaWQ7XHJcbiAgICB9KTtcclxuXHJcbiAgICBkZXNjcmlwdGlvbiA9IGNvbXB1dGVkPHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5ncm91cC5kZXNjcmlwdGlvbjs7XHJcbiAgICB9KTtcclxuXHJcbiAgICBsYXlvdXQgPSBjb21wdXRlZDxBWFBHcmlkTGF5b3V0T3B0aW9ucz4oKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IGNsb25lRGVlcCh0aGlzLnNlY3Rpb24ubGF5b3V0ID8/IHt9KSBhcyBvYmplY3Q7XHJcbiAgICAgICAgc2V0KHNvdXJjZSwgXCJwb3NpdGlvbnMuZGVmYXVsdC5jb2xTcGFuXCIsIDEyKTtcclxuICAgICAgICByZXR1cm4gc291cmNlIGFzIEFYUEdyaWRMYXlvdXRPcHRpb25zO1xyXG4gICAgfSk7XHJcblxyXG5cclxuICAgIGVsZW1lbnRzID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHsgaW50ZXJmYWNlcywgcHJvcGVydGllcyB9ID0gdGhpcy5lbnRpdHk7XHJcbiAgICAgICAgY29uc3QgY3JlYXRlUHJvcHMgPSBpbnRlcmZhY2VzPy5tYXN0ZXI/LmNyZWF0ZT8ucHJvcGVydGllcyA/PyBbXTtcclxuICAgICAgICBjb25zdCBjcmVhdGVQcm9wTmFtZXMgPSBuZXcgU2V0KGNyZWF0ZVByb3BzLm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpKTtcclxuXHJcbiAgICAgICAgY29uc3QgZmlsdGVyZWRQcm9wZXJ0aWVzID0gcHJvcGVydGllcy5maWx0ZXIoKHsgZ3JvdXBJZCwgc2NoZW1hLCBuYW1lIH0pID0+XHJcbiAgICAgICAgICAgIGdyb3VwSWQgPT09IHRoaXMuZ3JvdXAuaWQgJiZcclxuICAgICAgICAgICAgIXNjaGVtYS5oaWRkZW4gJiZcclxuICAgICAgICAgICAgY3JlYXRlUHJvcE5hbWVzLmhhcyhuYW1lKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHJldHVybiBmaWx0ZXJlZFByb3BlcnRpZXMubWFwKHByb3BlcnR5ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY3JlYXRlUHJvcCA9IGNyZWF0ZVByb3BzLmZpbmQoKHsgbmFtZSB9KSA9PiBuYW1lID09PSBwcm9wZXJ0eS5uYW1lKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBBWFBFbnRpdHlDcmVhdGVWaWV3RWxlbWVudFZpZXdNb2RlbCh0aGlzLmVudGl0eSwgdGhpcywgcHJvcGVydHksIGNyZWF0ZVByb3AhKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5Q3JlYXRlVmlld0VsZW1lbnRWaWV3TW9kZWwge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZW50aXR5OiBBWFBFbnRpdHksIHByaXZhdGUgc2VjdGlvbjogQVhQRW50aXR5Q3JlYXRlVmlld1NlY3Rpb25WaWV3TW9kZWwsIHByaXZhdGUgcHJvcGVydHk6IEFYUEVudGl0eVByb3BlcnR5LCBwcml2YXRlIGNyZWF0ZVByb3A6IEFYUEVudGl0eVByb3BlcnR5Q3JlYXRlVmlldykge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuYW1lID0gc2lnbmFsKHRoaXMucHJvcGVydHkubmFtZSk7XHJcbiAgICB0aXRsZSA9IHNpZ25hbCh0aGlzLnByb3BlcnR5LnRpdGxlKTtcclxuICAgIGRlc2NyaXB0aW9uID0gc2lnbmFsKHRoaXMucHJvcGVydHkuZGVzY3JpcHRpb24pO1xyXG5cclxuICAgIGVkaXRhYmxlID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiAhKHRoaXMucHJvcGVydHkuc2NoZW1hLnJlYWRvbmx5ID8/IGZhbHNlKVxyXG4gICAgfSk7XHJcblxyXG4gICAgaXNSZXF1aXJlZCA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eS52YWxpZGF0aW9ucz8uc29tZShjID0+IGMucnVsZSA9PSAncmVxdWlyZWQnKSB8fCBmYWxzZVxyXG4gICAgfSk7XHJcblxyXG4gICAgbGF5b3V0ID0gY29tcHV0ZWQ8QVhQR3JpZExheW91dE9wdGlvbnM+KCgpID0+IHtcclxuICAgICAgICBjb25zdCBzb3VyY2UgPSBjbG9uZURlZXAodGhpcy5jcmVhdGVQcm9wLmxheW91dCA/PyB7fSkgYXMgb2JqZWN0O1xyXG4gICAgICAgIHNldChzb3VyY2UsIFwicG9zaXRpb25zLmRlZmF1bHQuY29sU3BhblwiLCAxMik7XHJcbiAgICAgICAgcmV0dXJuIHNvdXJjZSBhcyBBWFBHcmlkTGF5b3V0T3B0aW9ucztcclxuICAgIH0pO1xyXG5cclxuICAgIG5vZGUgPSBjb21wdXRlZDxBWFBXaWRnZXROb2RlPigoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc2NoZW1hID0gdGhpcy5wcm9wZXJ0eS5zY2hlbWEhO1xyXG4gICAgICAgIGNvbnN0IHdpZGdldCA9IHNjaGVtYS5pbnRlcmZhY2UhO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHR5cGU6IHdpZGdldC50eXBlLFxyXG4gICAgICAgICAgICBtb2RlOiB0aGlzLmVkaXRhYmxlKCkgPyAnZWRpdCcgOiAndmlldycsXHJcbiAgICAgICAgICAgIHBhdGg6IHRoaXMubmFtZSgpLFxyXG4gICAgICAgICAgICBjaGlsZHJlbjogd2lkZ2V0LmNoaWxkcmVuLFxyXG4gICAgICAgICAgICBmb3JtdWxhOiB3aWRnZXQuZm9ybXVsYSxcclxuICAgICAgICAgICAgdHJpZ2dlcnM6IHdpZGdldC50cmlnZ2VycyxcclxuICAgICAgICAgICAgb3B0aW9uczogbWVyZ2UoXHJcbiAgICAgICAgICAgICAgICBzY2hlbWEuaW50ZXJmYWNlPy5vcHRpb25zLFxyXG4gICAgICAgICAgICAgICAgLy90aGlzLnByb3BlcnR5Lm9wdGlvbnM/LmNyZWF0ZT8ud2lkZ2V0LFxyXG4gICAgICAgICAgICAgICAgeyB2YWxpZGF0aW9uUnVsZXM6IHRoaXMucHJvcGVydHkudmFsaWRhdGlvbnMgfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH0gYXMgQVhQV2lkZ2V0Tm9kZTtcclxuICAgIH0pXHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5TWFzdGVyQ3JlYXRlVmlld01vZGVsIHtcclxuXHJcbiAgICBwcml2YXRlIGVudGl0eURlZiA9IGNsb25lRGVlcCh0aGlzLmNvbmZpZykhO1xyXG5cclxuICAgIHByaXZhdGUgd29ya2Zsb3cgPSB0aGlzLmluamVjdG9yLmdldChBWFBXb3JrZmxvd1NlcnZpY2UpXHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByaXZhdGUgY29uZmlnOiBBWFBFbnRpdHksXHJcbiAgICAgICAgcHJpdmF0ZSBpbml0aWFsRGF0YTogYW55ID0ge30sXHJcbiAgICApIHtcclxuXHJcbiAgICAgICAgaWYgKCFpbml0aWFsRGF0YSlcclxuICAgICAgICAgICAgaW5pdGlhbERhdGEgPSB7fTtcclxuICAgICAgICB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgIC5maWx0ZXIoYyA9PiBjLnNjaGVtYS5kZWZhdWx0VmFsdWUgIT0gbnVsbClcclxuICAgICAgICAgICAgLmZvckVhY2gocCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHAuc2NoZW1hLmRlZmF1bHRWYWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSBwLnNjaGVtYS5kZWZhdWx0VmFsdWUgYXMgRnVuY3Rpb247XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0KGluaXRpYWxEYXRhLCBwLm5hbWUsIGZ1bmMoaW5pdGlhbERhdGEpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldChpbml0aWFsRGF0YSwgcC5uYW1lLCBwLnNjaGVtYS5kZWZhdWx0VmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbnRleHQuc2V0KGluaXRpYWxEYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY29udGV4dCA9IHNpZ25hbDxhbnk+KHRoaXMuaW5pdGlhbERhdGEgPz8ge30pO1xyXG5cclxuICAgIHB1YmxpYyBpc0luUHJvZ3Jlc3MgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAgIHB1YmxpYyBzZWN0aW9ucyA9IGNvbXB1dGVkPEFYUEVudGl0eUNyZWF0ZVZpZXdTZWN0aW9uVmlld01vZGVsW10+KCgpID0+IHtcclxuICAgICAgICBjb25zdCB7IGludGVyZmFjZXMsIHByb3BlcnRpZXMgfSA9IHRoaXMuZW50aXR5RGVmO1xyXG4gICAgICAgIGNvbnN0IGNyZWF0ZVByb3BzID0gaW50ZXJmYWNlcz8ubWFzdGVyPy5jcmVhdGU/LnByb3BlcnRpZXM/Lm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpID8/IFtdO1xyXG5cclxuICAgICAgICBjb25zdCB2aXNpYmxlUHJvcGVydGllcyA9IHByb3BlcnRpZXMuZmlsdGVyKCh7IGdyb3VwSWQsIHNjaGVtYSwgbmFtZSB9KSA9PlxyXG4gICAgICAgICAgICBncm91cElkICYmICFzY2hlbWEuaGlkZGVuICYmIGNyZWF0ZVByb3BzLmluY2x1ZGVzKG5hbWUpXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgY29uc3Qgc2VjdGlvbnMgPSBpbnRlcmZhY2VzPy5tYXN0ZXI/LmNyZWF0ZT8uc2VjdGlvbnM/LmZpbHRlcigoeyBpZCB9KSA9PlxyXG4gICAgICAgICAgICB2aXNpYmxlUHJvcGVydGllcy5zb21lKCh7IGdyb3VwSWQgfSkgPT4gZ3JvdXBJZCA9PT0gaWQpXHJcbiAgICAgICAgKSA/PyBbXTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHNlY3Rpb25zLm1hcChzZWN0aW9uID0+IG5ldyBBWFBFbnRpdHlDcmVhdGVWaWV3U2VjdGlvblZpZXdNb2RlbCh0aGlzLmVudGl0eURlZiwgc2VjdGlvbikpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcHVibGljIGFzeW5jIHNhdmUoKTogUHJvbWlzZTxhbnkgfCB2b2lkPiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgdGhpcy5pc0luUHJvZ3Jlc3Muc2V0KHRydWUpO1xyXG4gICAgICAgICAgICBjb25zdCBleGVjID0gdGhpcy5lbnRpdHlEZWYuY29tbWFuZHM/LmNyZWF0ZT8uZXhlY3V0ZSBhcyBGdW5jdGlvbjtcclxuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGV4ZWMoKHRoaXMuY29udGV4dCgpKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkge1xyXG4gICAgICAgICAgICB0aGlzLmlzSW5Qcm9ncmVzcy5zZXQoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgY3JlYXRlTmV3T25lKCkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnY3JlYXRlLWVudGl0eScsIHtcclxuICAgICAgICAgICAgcGF5bG9hZDoge1xyXG4gICAgICAgICAgICAgICAgbW9kdWxlOiB0aGlzLmVudGl0eURlZi5tb2R1bGUsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHk6IHRoaXMuZW50aXR5RGVmLm5hbWUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlDcmVhdGVWaWV3TW9kZWxGYWN0b3J5IHtcclxuICAgIHByaXZhdGUgZW50aXR5U2VydmljZSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgbGF5b3V0ID0gaW5qZWN0KEFYUExheW91dFNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGNyZWF0ZShtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZywgaW5pdGlhbERhdGE6IGFueSA9IG51bGwpOiBQcm9taXNlPEFYUEVudGl0eU1hc3RlckNyZWF0ZVZpZXdNb2RlbD4ge1xyXG4gICAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKHRydWUpO1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IHRoaXMuZW50aXR5U2VydmljZS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xyXG4gICAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICByZXR1cm4gbmV3IEFYUEVudGl0eU1hc3RlckNyZWF0ZVZpZXdNb2RlbCh0aGlzLmluamVjdG9yLCBjb25maWcsIGluaXRpYWxEYXRhKTtcclxuICAgIH1cclxufVxyXG5cclxuIl19
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1hc3Rlci1jcmVhdGUudmlld21vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5L3NyYy9saWIvZW50aXR5LW1hc3Rlci1jcmVhdGUudmlld21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVsRCxPQUFPLEVBQThFLGdCQUFnQixFQUFxRCxNQUFNLHlCQUF5QixDQUFDOztBQUUxTCxNQUFNLE9BQU8sbUNBQW1DO0lBRTVDLFlBQW9CLE1BQWlCLEVBQVUsT0FBNkI7UUFBeEQsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBSTVFLFVBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFFLENBQUM7UUFDaEUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTdCLFVBQUssR0FBRyxRQUFRLENBQVMsR0FBRyxFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENB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QUNqQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUssQ0FBQyxZQUFZO1FBQ3JCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFO1lBQ3pDLE9BQU8sRUFBRTtnQkFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNO2dCQUM3QixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJO2FBQzlCO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKO0FBR0QsTUFBTSxPQUFPLCtCQUErQjtJQUQ1QztRQUVZLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDM0QsV0FBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FRdkM7SUFOVSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQWtCLEVBQUUsVUFBa0IsRUFBRSxjQUFtQixJQUFJO1FBQy9FLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksOEJBQThCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEYsQ0FBQzs4R0FWUSwrQkFBK0I7a0hBQS9CLCtCQUErQixjQURsQixNQUFNOzsyRkFDbkIsK0JBQStCO2tCQUQzQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCwgSW5qZWN0b3IsIGNvbXB1dGVkLCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSB9IGZyb20gXCIuL2VudGl0eS1yZWdpc3Rlcnkuc2VydmljZVwiO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3dcIjtcbmltcG9ydCB7IGNsb25lRGVlcCwgbWVyZ2UsIHNldCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IEFYUFdpZGdldE5vZGUgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlclwiO1xuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBFbnRpdHlQcm9wZXJ0eUdyb3VwLCBBWFBHcmlkTGF5b3V0T3B0aW9ucywgQVhQRW50aXR5UHJvcGVydHksIEFYUExheW91dFNlcnZpY2UsIEFYUEVudGl0eVByb3BlcnR5Q3JlYXRlVmlldywgQVhQRW50aXR5U2VjdGlvblZpZXcgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb21tb25cIjtcblxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUNyZWF0ZVZpZXdTZWN0aW9uVmlld01vZGVsIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZW50aXR5OiBBWFBFbnRpdHksIHByaXZhdGUgc2VjdGlvbjogQVhQRW50aXR5U2VjdGlvblZpZXcpIHtcbiAgICB9XG5cblxuICAgIGdyb3VwID0gdGhpcy5lbnRpdHkuZ3JvdXBzPy5maW5kKGMgPT4gYy5pZCA9PSB0aGlzLnNlY3Rpb24uaWQpITtcbiAgICBuYW1lID0gc2lnbmFsKHRoaXMuZ3JvdXAuaWQpO1xuXG4gICAgdGl0bGUgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXAudGl0bGUgPz8gdGhpcy5ncm91cC5pZDtcbiAgICB9KTtcblxuICAgIGRlc2NyaXB0aW9uID0gY29tcHV0ZWQ8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD4oKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ncm91cC5kZXNjcmlwdGlvbjs7XG4gICAgfSk7XG5cbiAgICBsYXlvdXQgPSBjb21wdXRlZDxBWFBHcmlkTGF5b3V0T3B0aW9ucz4oKCkgPT4ge1xuICAgICAgICBjb25zdCBzb3VyY2UgPSBjbG9uZURlZXAodGhpcy5zZWN0aW9uLmxheW91dCA/PyB7fSkgYXMgb2JqZWN0O1xuICAgICAgICBzZXQoc291cmNlLCBcInBvc2l0aW9ucy5kZWZhdWx0LmNvbFNwYW5cIiwgMTIpO1xuICAgICAgICByZXR1cm4gc291cmNlIGFzIEFYUEdyaWRMYXlvdXRPcHRpb25zO1xuICAgIH0pO1xuXG5cbiAgICBlbGVtZW50cyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBpbnRlcmZhY2VzLCBwcm9wZXJ0aWVzIH0gPSB0aGlzLmVudGl0eTtcbiAgICAgICAgY29uc3QgY3JlYXRlUHJvcHMgPSBpbnRlcmZhY2VzPy5tYXN0ZXI/LmNyZWF0ZT8ucHJvcGVydGllcyA/PyBbXTtcbiAgICAgICAgY29uc3QgY3JlYXRlUHJvcE5hbWVzID0gbmV3IFNldChjcmVhdGVQcm9wcy5tYXAoKHsgbmFtZSB9KSA9PiBuYW1lKSk7XG5cbiAgICAgICAgY29uc3QgZmlsdGVyZWRQcm9wZXJ0aWVzID0gcHJvcGVydGllcy5maWx0ZXIoKHsgZ3JvdXBJZCwgc2NoZW1hLCBuYW1lIH0pID0+XG4gICAgICAgICAgICBncm91cElkID09PSB0aGlzLmdyb3VwLmlkICYmXG4gICAgICAgICAgICAhc2NoZW1hLmhpZGRlbiAmJlxuICAgICAgICAgICAgY3JlYXRlUHJvcE5hbWVzLmhhcyhuYW1lKVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBmaWx0ZXJlZFByb3BlcnRpZXMubWFwKHByb3BlcnR5ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNyZWF0ZVByb3AgPSBjcmVhdGVQcm9wcy5maW5kKCh7IG5hbWUgfSkgPT4gbmFtZSA9PT0gcHJvcGVydHkubmFtZSk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFYUEVudGl0eUNyZWF0ZVZpZXdFbGVtZW50Vmlld01vZGVsKHRoaXMuZW50aXR5LCB0aGlzLCBwcm9wZXJ0eSwgY3JlYXRlUHJvcCEpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUNyZWF0ZVZpZXdFbGVtZW50Vmlld01vZGVsIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZW50aXR5OiBBWFBFbnRpdHksIHByaXZhdGUgc2VjdGlvbjogQVhQRW50aXR5Q3JlYXRlVmlld1NlY3Rpb25WaWV3TW9kZWwsIHByaXZhdGUgcHJvcGVydHk6IEFYUEVudGl0eVByb3BlcnR5LCBwcml2YXRlIGNyZWF0ZVByb3A6IEFYUEVudGl0eVByb3BlcnR5Q3JlYXRlVmlldykge1xuXG4gICAgfVxuXG4gICAgbmFtZSA9IHNpZ25hbCh0aGlzLnByb3BlcnR5Lm5hbWUpO1xuICAgIHRpdGxlID0gc2lnbmFsKHRoaXMucHJvcGVydHkudGl0bGUpO1xuICAgIGRlc2NyaXB0aW9uID0gc2lnbmFsKHRoaXMucHJvcGVydHkuZGVzY3JpcHRpb24pO1xuXG4gICAgZWRpdGFibGUgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XG4gICAgICAgIHJldHVybiAhKHRoaXMucHJvcGVydHkuc2NoZW1hLnJlYWRvbmx5ID8/IGZhbHNlKVxuICAgIH0pO1xuXG4gICAgaXNSZXF1aXJlZCA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydHkudmFsaWRhdGlvbnM/LnNvbWUoYyA9PiBjLnJ1bGUgPT0gJ3JlcXVpcmVkJykgfHwgZmFsc2VcbiAgICB9KTtcblxuICAgIGxheW91dCA9IGNvbXB1dGVkPEFYUEdyaWRMYXlvdXRPcHRpb25zPigoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IGNsb25lRGVlcCh0aGlzLmNyZWF0ZVByb3AubGF5b3V0ID8/IHt9KSBhcyBvYmplY3Q7XG4gICAgICAgIHNldChzb3VyY2UsIFwicG9zaXRpb25zLmRlZmF1bHQuY29sU3BhblwiLCAxMik7XG4gICAgICAgIHJldHVybiBzb3VyY2UgYXMgQVhQR3JpZExheW91dE9wdGlvbnM7XG4gICAgfSk7XG5cbiAgICBub2RlID0gY29tcHV0ZWQ8QVhQV2lkZ2V0Tm9kZT4oKCkgPT4ge1xuICAgICAgICBjb25zdCBzY2hlbWEgPSB0aGlzLnByb3BlcnR5LnNjaGVtYSE7XG4gICAgICAgIGNvbnN0IHdpZGdldCA9IHNjaGVtYS5pbnRlcmZhY2UhO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogd2lkZ2V0LnR5cGUsXG4gICAgICAgICAgICBtb2RlOiB0aGlzLmVkaXRhYmxlKCkgPyAnZWRpdCcgOiAndmlldycsXG4gICAgICAgICAgICBwYXRoOiB0aGlzLm5hbWUoKSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiB3aWRnZXQuY2hpbGRyZW4sXG4gICAgICAgICAgICBmb3JtdWxhOiB3aWRnZXQuZm9ybXVsYSxcbiAgICAgICAgICAgIHRyaWdnZXJzOiB3aWRnZXQudHJpZ2dlcnMsXG4gICAgICAgICAgICBvcHRpb25zOiBtZXJnZShcbiAgICAgICAgICAgICAgICBzY2hlbWEuaW50ZXJmYWNlPy5vcHRpb25zLFxuICAgICAgICAgICAgICAgIC8vdGhpcy5wcm9wZXJ0eS5vcHRpb25zPy5jcmVhdGU/LndpZGdldCxcbiAgICAgICAgICAgICAgICB7IHZhbGlkYXRpb25SdWxlczogdGhpcy5wcm9wZXJ0eS52YWxpZGF0aW9ucyB9LFxuICAgICAgICAgICAgKVxuICAgICAgICB9IGFzIEFYUFdpZGdldE5vZGU7XG4gICAgfSlcbn1cblxuXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5TWFzdGVyQ3JlYXRlVmlld01vZGVsIHtcblxuICAgIHByaXZhdGUgZW50aXR5RGVmID0gY2xvbmVEZWVwKHRoaXMuY29uZmlnKSE7XG5cbiAgICBwcml2YXRlIHdvcmtmbG93ID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQV29ya2Zsb3dTZXJ2aWNlKVxuXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgY29uZmlnOiBBWFBFbnRpdHksXG4gICAgICAgIHByaXZhdGUgaW5pdGlhbERhdGE6IGFueSA9IHt9LFxuICAgICkge1xuXG4gICAgICAgIGlmICghaW5pdGlhbERhdGEpXG4gICAgICAgICAgICBpbml0aWFsRGF0YSA9IHt9O1xuICAgICAgICB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzXG4gICAgICAgICAgICAuZmlsdGVyKGMgPT4gYy5zY2hlbWEuZGVmYXVsdFZhbHVlICE9IG51bGwpXG4gICAgICAgICAgICAuZm9yRWFjaChwID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHAuc2NoZW1hLmRlZmF1bHRWYWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmdW5jID0gcC5zY2hlbWEuZGVmYXVsdFZhbHVlIGFzIEZ1bmN0aW9uO1xuICAgICAgICAgICAgICAgICAgICBzZXQoaW5pdGlhbERhdGEsIHAubmFtZSwgZnVuYyhpbml0aWFsRGF0YSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0KGluaXRpYWxEYXRhLCBwLm5hbWUsIHAuc2NoZW1hLmRlZmF1bHRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29udGV4dC5zZXQoaW5pdGlhbERhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb250ZXh0ID0gc2lnbmFsPGFueT4odGhpcy5pbml0aWFsRGF0YSA/PyB7fSk7XG5cbiAgICBwdWJsaWMgaXNJblByb2dyZXNzID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIHB1YmxpYyBzZWN0aW9ucyA9IGNvbXB1dGVkPEFYUEVudGl0eUNyZWF0ZVZpZXdTZWN0aW9uVmlld01vZGVsW10+KCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBpbnRlcmZhY2VzLCBwcm9wZXJ0aWVzIH0gPSB0aGlzLmVudGl0eURlZjtcbiAgICAgICAgY29uc3QgY3JlYXRlUHJvcHMgPSBpbnRlcmZhY2VzPy5tYXN0ZXI/LmNyZWF0ZT8ucHJvcGVydGllcz8ubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSkgPz8gW107XG5cbiAgICAgICAgY29uc3QgdmlzaWJsZVByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzLmZpbHRlcigoeyBncm91cElkLCBzY2hlbWEsIG5hbWUgfSkgPT5cbiAgICAgICAgICAgIGdyb3VwSWQgJiYgIXNjaGVtYS5oaWRkZW4gJiYgY3JlYXRlUHJvcHMuaW5jbHVkZXMobmFtZSlcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBzZWN0aW9ucyA9IGludGVyZmFjZXM/Lm1hc3Rlcj8uY3JlYXRlPy5zZWN0aW9ucz8uZmlsdGVyKCh7IGlkIH0pID0+XG4gICAgICAgICAgICB2aXNpYmxlUHJvcGVydGllcy5zb21lKCh7IGdyb3VwSWQgfSkgPT4gZ3JvdXBJZCA9PT0gaWQpXG4gICAgICAgICkgPz8gW107XG5cbiAgICAgICAgcmV0dXJuIHNlY3Rpb25zLm1hcChzZWN0aW9uID0+IG5ldyBBWFBFbnRpdHlDcmVhdGVWaWV3U2VjdGlvblZpZXdNb2RlbCh0aGlzLmVudGl0eURlZiwgc2VjdGlvbikpO1xuICAgIH0pO1xuXG4gICAgcHVibGljIGFzeW5jIHNhdmUoKTogUHJvbWlzZTxhbnkgfCB2b2lkPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmlzSW5Qcm9ncmVzcy5zZXQodHJ1ZSk7XG4gICAgICAgICAgICBjb25zdCBleGVjID0gdGhpcy5lbnRpdHlEZWYuY29tbWFuZHM/LmNyZWF0ZT8uZXhlY3V0ZSBhcyBGdW5jdGlvbjtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBleGVjKCh0aGlzLmNvbnRleHQoKSkpO1xuICAgICAgICB9XG4gICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy5pc0luUHJvZ3Jlc3Muc2V0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBjcmVhdGVOZXdPbmUoKSB7XG4gICAgICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnY3JlYXRlLWVudGl0eScsIHtcbiAgICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgICAgICBtb2R1bGU6IHRoaXMuZW50aXR5RGVmLm1vZHVsZSxcbiAgICAgICAgICAgICAgICBlbnRpdHk6IHRoaXMuZW50aXR5RGVmLm5hbWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5Q3JlYXRlVmlld01vZGVsRmFjdG9yeSB7XG4gICAgcHJpdmF0ZSBlbnRpdHlTZXJ2aWNlID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xuICAgIHByaXZhdGUgbGF5b3V0ID0gaW5qZWN0KEFYUExheW91dFNlcnZpY2UpO1xuICAgIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gICAgcHVibGljIGFzeW5jIGNyZWF0ZShtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZywgaW5pdGlhbERhdGE6IGFueSA9IG51bGwpOiBQcm9taXNlPEFYUEVudGl0eU1hc3RlckNyZWF0ZVZpZXdNb2RlbD4ge1xuICAgICAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyh0cnVlKTtcbiAgICAgICAgY29uc3QgY29uZmlnID0gYXdhaXQgdGhpcy5lbnRpdHlTZXJ2aWNlLnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG4gICAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBFbnRpdHlNYXN0ZXJDcmVhdGVWaWV3TW9kZWwodGhpcy5pbmplY3RvciwgY29uZmlnLCBpbml0aWFsRGF0YSk7XG4gICAgfVxufVxuXG4iXX0=