@acorex/platform 18.0.5 → 18.0.6

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 (593) hide show
  1. package/README.md +7 -7
  2. package/auth/README.md +3 -3
  3. package/common/README.md +3 -3
  4. package/common/lib/app/application.types.d.ts +10 -6
  5. package/esm2022/auth/index.mjs +1 -1
  6. package/esm2022/auth/lib/application/application.loader.mjs +1 -1
  7. package/esm2022/auth/lib/application/application.types.mjs +1 -1
  8. package/esm2022/auth/lib/auth-registry.service.mjs +1 -1
  9. package/esm2022/auth/lib/auth.guard.mjs +1 -1
  10. package/esm2022/auth/lib/auth.module.mjs +1 -1
  11. package/esm2022/auth/lib/auth.strategy.mjs +1 -1
  12. package/esm2022/auth/lib/errors.types.mjs +1 -1
  13. package/esm2022/auth/lib/feature/feature.directive.mjs +1 -1
  14. package/esm2022/auth/lib/feature/feature.guard.mjs +1 -1
  15. package/esm2022/auth/lib/feature/feature.loader.mjs +1 -1
  16. package/esm2022/auth/lib/feature/feature.types.mjs +1 -1
  17. package/esm2022/auth/lib/feature/index.mjs +1 -1
  18. package/esm2022/auth/lib/permission/index.mjs +1 -1
  19. package/esm2022/auth/lib/permission/permission.directive.mjs +1 -1
  20. package/esm2022/auth/lib/permission/permission.guard.mjs +1 -1
  21. package/esm2022/auth/lib/permission/permission.loader.mjs +1 -1
  22. package/esm2022/auth/lib/permission/permission.types.mjs +1 -1
  23. package/esm2022/auth/lib/session.service.mjs +1 -1
  24. package/esm2022/auth/lib/session.types.mjs +1 -1
  25. package/esm2022/auth/lib/tenant/tenant.loader.mjs +1 -1
  26. package/esm2022/auth/lib/tenant/tenant.types.mjs +1 -1
  27. package/esm2022/auth/lib/user/user.types.mjs +1 -1
  28. package/esm2022/common/index.mjs +1 -1
  29. package/esm2022/common/lib/app/application.types.mjs +5 -1
  30. package/esm2022/common/lib/app/index.mjs +1 -1
  31. package/esm2022/common/lib/app/operators.mjs +1 -1
  32. package/esm2022/common/lib/common.module.mjs +1 -1
  33. package/esm2022/common/lib/configs/app.config.mjs +1 -1
  34. package/esm2022/common/lib/configs/config.types.mjs +1 -1
  35. package/esm2022/common/lib/data/data-provider.types.mjs +1 -1
  36. package/esm2022/common/lib/data/dexie-storage.service.mjs +1 -1
  37. package/esm2022/common/lib/data/entity-data-provider.mjs +1 -1
  38. package/esm2022/common/lib/data/index.mjs +1 -1
  39. package/esm2022/common/lib/data/storage-service.mjs +1 -1
  40. package/esm2022/common/lib/errors/error-handler-registry.service.mjs +1 -1
  41. package/esm2022/common/lib/errors/error-handler.types.mjs +1 -1
  42. package/esm2022/common/lib/errors/global-error-handler.mjs +1 -1
  43. package/esm2022/common/lib/errors/index.mjs +1 -1
  44. package/esm2022/common/lib/layout/beardcrumb.type.mjs +1 -1
  45. package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +1 -1
  46. package/esm2022/common/lib/layout/component-slot/component-slot-registery.service.mjs +1 -1
  47. package/esm2022/common/lib/layout/component-slot/component-slot.directive.mjs +1 -1
  48. package/esm2022/common/lib/layout/component-slot/component-slot.module.mjs +1 -1
  49. package/esm2022/common/lib/layout/component-slot/component-slot.types.mjs +1 -1
  50. package/esm2022/common/lib/layout/component-slot/index.mjs +1 -1
  51. package/esm2022/common/lib/layout/grid-layout/grid-layout.directive.mjs +1 -1
  52. package/esm2022/common/lib/layout/grid-layout/grid-layout.types.mjs +1 -1
  53. package/esm2022/common/lib/layout/grid-layout/index.mjs +1 -1
  54. package/esm2022/common/lib/layout/index.mjs +1 -1
  55. package/esm2022/common/lib/layout/layout.service.mjs +1 -1
  56. package/esm2022/common/lib/layout/logo/index.mjs +1 -1
  57. package/esm2022/common/lib/layout/logo/logo.component.mjs +3 -3
  58. package/esm2022/common/lib/layout/logo/logo.types.mjs +1 -1
  59. package/esm2022/common/lib/layout/menu/index.mjs +1 -1
  60. package/esm2022/common/lib/layout/menu/menu.loader.mjs +1 -1
  61. package/esm2022/common/lib/layout/menu/menu.types.mjs +1 -1
  62. package/esm2022/common/lib/layout/sticky.directive.mjs +1 -1
  63. package/esm2022/common/lib/layout/theme/components/slots/footer-text-slot.component.mjs +5 -5
  64. package/esm2022/common/lib/layout/theme/components/slots/index.mjs +1 -1
  65. package/esm2022/common/lib/layout/theme/components/slots/navbar-slot.component.mjs +9 -9
  66. package/esm2022/common/lib/layout/theme/components/slots/theme-slot.component.mjs +16 -16
  67. package/esm2022/common/lib/layout/theme/store/admin-layout.actions.mjs +1 -1
  68. package/esm2022/common/lib/layout/theme/store/admin-layout.effects.mjs +1 -1
  69. package/esm2022/common/lib/layout/theme/store/admin-layout.reducers.mjs +1 -1
  70. package/esm2022/common/lib/layout/theme/store/admin-layout.selectors.mjs +1 -1
  71. package/esm2022/common/lib/layout/theme/store/admin-layout.state.mjs +1 -1
  72. package/esm2022/common/lib/layout/theme/store/index.mjs +1 -1
  73. package/esm2022/common/lib/schema/component-loader.mjs +1 -1
  74. package/esm2022/common/lib/schema/entity/entity-registery.service.mjs +1 -1
  75. package/esm2022/common/lib/schema/entity/entity.class.mjs +1 -1
  76. package/esm2022/common/lib/schema/entity/entity.loader.mjs +1 -1
  77. package/esm2022/common/lib/schema/entity/index.mjs +1 -1
  78. package/esm2022/common/lib/schema/formats.mjs +1 -1
  79. package/esm2022/common/lib/schema/index.mjs +1 -1
  80. package/esm2022/common/lib/schema/schema-registery.service.mjs +1 -1
  81. package/esm2022/common/lib/schema/schema.module.mjs +1 -1
  82. package/esm2022/common/lib/schema/schema.types.mjs +1 -1
  83. package/esm2022/common/lib/schema/widget/index.mjs +1 -1
  84. package/esm2022/common/lib/schema/widget/widget-base.mjs +1 -1
  85. package/esm2022/common/lib/schema/widget/widget-column-renderer.mjs +17 -17
  86. package/esm2022/common/lib/schema/widget/widget-filter-renderer.mjs +13 -13
  87. package/esm2022/common/lib/schema/widget/widget-renderer.mjs +13 -13
  88. package/esm2022/common/lib/schema/widget/widget-token.mjs +1 -1
  89. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-edit.component.mjs +67 -67
  90. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-view.component.mjs +15 -15
  91. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-column.component.mjs +31 -31
  92. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.mjs +1 -1
  93. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-view.component.mjs +25 -25
  94. package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +76 -76
  95. package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +86 -86
  96. package/esm2022/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.mjs +68 -68
  97. package/esm2022/common/lib/schema/widgets/common-widgets.module.mjs +1 -1
  98. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.mjs +1 -1
  99. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +100 -100
  100. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +59 -59
  101. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.mjs +21 -21
  102. package/esm2022/common/lib/schema/widgets/email/email-widget-column.component.mjs +23 -23
  103. package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +134 -134
  104. package/esm2022/common/lib/schema/widgets/email/email-widget-view.component.mjs +65 -65
  105. package/esm2022/common/lib/schema/widgets/file/file-widget-column.component.mjs +1 -1
  106. package/esm2022/common/lib/schema/widgets/file/file-widget-edit.component.mjs +116 -116
  107. package/esm2022/common/lib/schema/widgets/file/file-widget-filter.component.mjs +5 -5
  108. package/esm2022/common/lib/schema/widgets/file/file-widget-view.component.mjs +70 -70
  109. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-edit.component.mjs +125 -125
  110. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-filter.component.mjs +5 -5
  111. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-types.mjs +1 -1
  112. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-view.component.mjs +109 -109
  113. package/esm2022/common/lib/schema/widgets/index.mjs +1 -1
  114. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-column.component.mjs +1 -1
  115. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +27 -27
  116. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +66 -66
  117. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-view.component.mjs +1 -1
  118. package/esm2022/common/lib/schema/widgets/map/map-widget-edit.component.mjs +5 -5
  119. package/esm2022/common/lib/schema/widgets/map/map-widget-view.component.mjs +5 -5
  120. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-column.component.mjs +23 -23
  121. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-edit.component.mjs +88 -88
  122. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-view.component.mjs +67 -67
  123. package/esm2022/common/lib/schema/widgets/number/number-widget-edit.component.mjs +15 -15
  124. package/esm2022/common/lib/schema/widgets/number/number-widget-view.component.mjs +1 -1
  125. package/esm2022/common/lib/schema/widgets/password/change-password.component.mjs +100 -100
  126. package/esm2022/common/lib/schema/widgets/password/password-widget-column.component.mjs +37 -37
  127. package/esm2022/common/lib/schema/widgets/password/password-widget-edit.component.mjs +15 -15
  128. package/esm2022/common/lib/schema/widgets/password/password-widget-view.component.mjs +58 -58
  129. package/esm2022/common/lib/schema/widgets/phone/phone-widget-column.component.mjs +41 -41
  130. package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +140 -140
  131. package/esm2022/common/lib/schema/widgets/phone/phone-widget-view.component.mjs +69 -69
  132. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-column.component.mjs +23 -23
  133. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.mjs +9 -9
  134. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-view.component.mjs +9 -9
  135. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-column.component.mjs +17 -17
  136. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.mjs +29 -29
  137. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.mjs +19 -19
  138. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-view.component.mjs +9 -9
  139. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-edit.component.mjs +56 -56
  140. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-view.component.mjs +17 -17
  141. package/esm2022/common/lib/schema/widgets/text/largetext-widget-edit.component.mjs +13 -13
  142. package/esm2022/common/lib/schema/widgets/text/text-widget-column.component.mjs +1 -1
  143. package/esm2022/common/lib/schema/widgets/text/text-widget-edit.component.mjs +88 -88
  144. package/esm2022/common/lib/schema/widgets/text/text-widget-view.component.mjs +21 -21
  145. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-column.component.mjs +33 -33
  146. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-edit.component.mjs +1 -1
  147. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-view.component.mjs +25 -25
  148. package/esm2022/common/lib/settings/index.mjs +1 -1
  149. package/esm2022/common/lib/settings/settings.loader.mjs +1 -1
  150. package/esm2022/common/lib/settings/settings.service.mjs +1 -1
  151. package/esm2022/common/lib/settings/settings.types.mjs +1 -1
  152. package/esm2022/common/lib/store/common.actions.mjs +1 -1
  153. package/esm2022/common/lib/store/common.effects.mjs +1 -1
  154. package/esm2022/common/lib/store/index.mjs +1 -1
  155. package/esm2022/common/lib/utils/clipboard-service.mjs +1 -1
  156. package/esm2022/common/lib/utils/data-generator.mjs +1 -1
  157. package/esm2022/common/lib/utils/index.mjs +1 -1
  158. package/esm2022/common/lib/utils/pdf.service.mjs +1 -1
  159. package/esm2022/common/lib/utils/router-util.service.mjs +1 -1
  160. package/esm2022/common/lib/workflows/common.workflow.mjs +1 -1
  161. package/esm2022/common/lib/workflows/error-handler.mjs +1 -1
  162. package/esm2022/common/lib/workflows/index.mjs +1 -1
  163. package/esm2022/index.mjs +1 -1
  164. package/esm2022/layout/builder/index.mjs +1 -1
  165. package/esm2022/layout/builder/lib/builder/builder.module.mjs +1 -1
  166. package/esm2022/layout/builder/lib/builder/builder.service.mjs +1 -1
  167. package/esm2022/layout/builder/lib/builder/index.mjs +1 -1
  168. package/esm2022/layout/builder/lib/builder/layout.types.mjs +1 -1
  169. package/esm2022/layout/builder/lib/builder/widget-column-renderer.mjs +17 -17
  170. package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +1 -1
  171. package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +1 -1
  172. package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +19 -19
  173. package/esm2022/layout/builder/lib/builder/widget.types.mjs +1 -1
  174. package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +28 -13
  175. package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +1 -1
  176. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +19 -7
  177. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +1 -7
  178. package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +1 -1
  179. package/esm2022/layout/entity/lib/entity-registery.service.mjs +1 -1
  180. package/esm2022/layout/entity/lib/entity.config.mjs +1 -1
  181. package/esm2022/layout/entity/lib/entity.module.mjs +1 -1
  182. package/esm2022/layout/entity/lib/entity.viewmodel.mjs +1 -1
  183. package/esm2022/layout/entity/lib/index.mjs +1 -1
  184. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +44 -42
  185. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +72 -72
  186. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +1 -1
  187. package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +3 -2
  188. package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +3 -3
  189. package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +1 -1
  190. package/esm2022/layout/entity/lib/workflows/show-details.workflow.mjs +1 -2
  191. package/esm2022/layout/entity/lib/workflows/show-list.workflow.mjs +1 -1
  192. package/esm2022/layouts/index.mjs +1 -1
  193. package/esm2022/layouts/lib/admin/admin.module.mjs +1 -1
  194. package/esm2022/layouts/lib/admin/admin.routes.mjs +1 -1
  195. package/esm2022/layouts/lib/admin/custom-reuse.strategy.mjs +1 -1
  196. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +3 -3
  197. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +1 -1
  198. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +1 -1
  199. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +3 -3
  200. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/index.mjs +1 -1
  201. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +3 -3
  202. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/index.mjs +1 -1
  203. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +3 -3
  204. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +3 -3
  205. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +19 -19
  206. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +3 -3
  207. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +3 -3
  208. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/index.mjs +1 -1
  209. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +1 -1
  210. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +1 -1
  211. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +3 -3
  212. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +1 -1
  213. package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +3 -3
  214. package/esm2022/layouts/lib/admin/entity-layout/index.mjs +1 -1
  215. package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +1 -1
  216. package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +1 -1
  217. package/esm2022/layouts/lib/admin/entity-layout/workflows/index.mjs +1 -1
  218. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +1 -1
  219. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-section.workflow.mjs +1 -1
  220. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-details.workflow.mjs +1 -1
  221. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-list.workflow.mjs +1 -1
  222. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.mjs +1 -1
  223. package/esm2022/layouts/lib/admin/entity.resolver.mjs +1 -1
  224. package/esm2022/layouts/lib/admin/index.mjs +1 -1
  225. package/esm2022/layouts/lib/layout.module.mjs +1 -1
  226. package/esm2022/mocks/index.mjs +1 -1
  227. package/esm2022/mocks/lib/mocks.module.mjs +1 -1
  228. package/esm2022/mocks/lib/services/mocker.service.mjs +1 -1
  229. package/esm2022/mocks/lib/storage/storage.mock.service.mjs +1 -1
  230. package/esm2022/native/index.mjs +1 -1
  231. package/esm2022/native/lib/native.service.mjs +1 -1
  232. package/esm2022/themes/default/index.mjs +1 -1
  233. package/esm2022/themes/default/lib/default.module.mjs +1 -1
  234. package/esm2022/themes/default/lib/entity-reuse.strategy.mjs +1 -1
  235. package/esm2022/themes/default/lib/layout.routes.mjs +1 -1
  236. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +14 -21
  237. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +3 -3
  238. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +14 -21
  239. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +3 -3
  240. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.mjs +3 -3
  241. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +3 -3
  242. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +5 -5
  243. package/esm2022/themes/default/lib/layouts/root-layout/components/footer/footer.component.mjs +3 -3
  244. package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +3 -3
  245. package/esm2022/themes/default/lib/layouts/root-layout/index.mjs +1 -1
  246. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +3 -3
  247. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +1 -1
  248. package/esm2022/themes/default/lib/pages/errors/error-401/error-401.component.mjs +3 -3
  249. package/esm2022/themes/default/lib/pages/errors/error-404/error-404.component.mjs +3 -3
  250. package/esm2022/themes/default/lib/pages/errors/error-offline/error-offline.component.mjs +3 -3
  251. package/esm2022/widgets/index.mjs +1 -1
  252. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-column.component.mjs +25 -25
  253. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-edit.component.mjs +9 -9
  254. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-view.component.mjs +29 -29
  255. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget.config.mjs +1 -1
  256. package/esm2022/widgets/lib/editors/checkbox/index.mjs +1 -1
  257. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +1 -1
  258. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.mjs +1 -1
  259. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +54 -54
  260. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.mjs +1 -1
  261. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.mjs +1 -1
  262. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +17 -17
  263. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget.config.mjs +1 -1
  264. package/esm2022/widgets/lib/editors/date-time-box-widget/index.mjs +1 -1
  265. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-column.component.mjs +21 -21
  266. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.mjs +1 -1
  267. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.mjs +142 -142
  268. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.mjs +1 -1
  269. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-print.component.mjs +1 -1
  270. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-view.component.mjs +69 -69
  271. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget.config.mjs +1 -1
  272. package/esm2022/widgets/lib/editors/email-box-widget/index.mjs +1 -1
  273. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-column.component.mjs +1 -1
  274. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.mjs +1 -1
  275. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.mjs +112 -112
  276. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.mjs +1 -1
  277. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-print.component.mjs +1 -1
  278. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-view.component.mjs +64 -64
  279. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget.config.mjs +1 -1
  280. package/esm2022/widgets/lib/editors/file-box-widget/index.mjs +1 -1
  281. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-column.component.mjs +1 -1
  282. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.mjs +1 -1
  283. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.mjs +107 -107
  284. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.mjs +1 -1
  285. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-print.component.mjs +1 -1
  286. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-types.mjs +1 -1
  287. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-view.component.mjs +97 -97
  288. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget.config.mjs +1 -1
  289. package/esm2022/widgets/lib/editors/gallery-widget/index.mjs +1 -1
  290. package/esm2022/widgets/lib/editors/map-box-widget/index.mjs +1 -1
  291. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-column.component.mjs +1 -1
  292. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.mjs +1 -1
  293. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-edit.component.mjs +5 -5
  294. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.mjs +1 -1
  295. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-print.component.mjs +1 -1
  296. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-view.component.mjs +5 -5
  297. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget.config.mjs +1 -1
  298. package/esm2022/widgets/lib/editors/number-box-widget/index.mjs +1 -1
  299. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-column.component.mjs +1 -1
  300. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.mjs +1 -1
  301. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.mjs +68 -68
  302. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-filter.component.mjs +1 -1
  303. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-print.component.mjs +1 -1
  304. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-view.component.mjs +17 -17
  305. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget.config.mjs +1 -1
  306. package/esm2022/widgets/lib/editors/password-box-widget/index.mjs +1 -1
  307. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-column.component.mjs +1 -1
  308. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.mjs +1 -1
  309. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-edit.component.mjs +9 -9
  310. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.mjs +1 -1
  311. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-print.component.mjs +1 -1
  312. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-view.component.mjs +45 -45
  313. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget.config.mjs +1 -1
  314. package/esm2022/widgets/lib/editors/phone-box-widget/index.mjs +1 -1
  315. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.mjs +21 -21
  316. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.mjs +1 -1
  317. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.mjs +138 -138
  318. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.mjs +1 -1
  319. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.mjs +1 -1
  320. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.mjs +69 -69
  321. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget.config.mjs +1 -1
  322. package/esm2022/widgets/lib/editors/rich-text-widget/index.mjs +1 -1
  323. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-column.component.mjs +1 -1
  324. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.mjs +1 -1
  325. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.mjs +9 -9
  326. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.mjs +1 -1
  327. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.mjs +1 -1
  328. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.mjs +9 -9
  329. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget.config.mjs +1 -1
  330. package/esm2022/widgets/lib/editors/select-box-widget/index.mjs +1 -1
  331. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-column.component.mjs +1 -1
  332. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.mjs +1 -1
  333. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.mjs +25 -25
  334. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-filter.component.mjs +1 -1
  335. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-print.component.mjs +1 -1
  336. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-view.component.mjs +23 -23
  337. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget.config.mjs +1 -1
  338. package/esm2022/widgets/lib/editors/selection-list-widget/index.mjs +1 -1
  339. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.mjs +13 -13
  340. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.mjs +1 -1
  341. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-edit.component.mjs +31 -31
  342. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.mjs +1 -1
  343. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.mjs +1 -1
  344. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.mjs +9 -9
  345. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget.config.mjs +1 -1
  346. package/esm2022/widgets/lib/editors/signature-pad-widget/index.mjs +1 -1
  347. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-column.component.mjs +1 -1
  348. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.mjs +1 -1
  349. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +56 -56
  350. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.mjs +1 -1
  351. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.mjs +1 -1
  352. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +17 -17
  353. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget.config.mjs +1 -1
  354. package/esm2022/widgets/lib/editors/text-box-widget/index.mjs +1 -1
  355. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-column.component.mjs +1 -1
  356. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.mjs +1 -1
  357. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.mjs +62 -62
  358. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.mjs +1 -1
  359. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-print.component.mjs +1 -1
  360. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-view.component.mjs +17 -17
  361. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget.config.mjs +1 -1
  362. package/esm2022/widgets/lib/editors/toggle-widget/index.mjs +1 -1
  363. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-column.component.mjs +25 -25
  364. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-designer.component.mjs +1 -1
  365. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-edit.component.mjs +1 -1
  366. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-filter.component.mjs +1 -1
  367. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-print.component.mjs +1 -1
  368. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-view.component.mjs +25 -25
  369. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget.config.mjs +1 -1
  370. package/esm2022/widgets/lib/layout/block-widget/block-widget.component.mjs +11 -11
  371. package/esm2022/widgets/lib/layout/block-widget/block-widget.config.mjs +1 -1
  372. package/esm2022/widgets/lib/layout/block-widget/index.mjs +1 -1
  373. package/esm2022/widgets/lib/widgets.module.mjs +1 -1
  374. package/esm2022/workflow/index.mjs +1 -1
  375. package/esm2022/workflow/lib/actions/start-workflow.action.mjs +1 -1
  376. package/esm2022/workflow/lib/errors.types.mjs +1 -1
  377. package/esm2022/workflow/lib/workflow-event-dispatcher.service.mjs +1 -1
  378. package/esm2022/workflow/lib/workflow-registery.service.mjs +1 -1
  379. package/esm2022/workflow/lib/workflow.module.mjs +1 -1
  380. package/esm2022/workflow/lib/workflow.service.mjs +1 -1
  381. package/esm2022/workflow/lib/workflow.types.mjs +1 -1
  382. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  383. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-B-of5ssU.mjs → acorex-platform-common-avatar-widget-edit.component-B8txzrTw.mjs} +67 -67
  384. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-B8txzrTw.mjs.map +1 -0
  385. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-CJvrSkTv.mjs → acorex-platform-common-avatar-widget-view.component-B3Ubyw3X.mjs} +15 -15
  386. package/fesm2022/acorex-platform-common-avatar-widget-view.component-B3Ubyw3X.mjs.map +1 -0
  387. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-BTcOjuUm.mjs → acorex-platform-common-boolean-widget-filter.component-CcJ5Vj4q.mjs} +76 -76
  388. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-CcJ5Vj4q.mjs.map +1 -0
  389. package/fesm2022/{acorex-platform-common-change-password.component-NvrMMq9e.mjs → acorex-platform-common-change-password.component-CULJjn0l.mjs} +100 -100
  390. package/fesm2022/acorex-platform-common-change-password.component-CULJjn0l.mjs.map +1 -0
  391. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-X9d1iY_F.mjs → acorex-platform-common-checkbox-widget-column.component-C91gG8nm.mjs} +31 -31
  392. package/fesm2022/acorex-platform-common-checkbox-widget-column.component-C91gG8nm.mjs.map +1 -0
  393. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs.map +1 -1
  394. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-nYmtb8bK.mjs → acorex-platform-common-checkbox-widget-view.component-BDAtJB1B.mjs} +25 -25
  395. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-nYmtb8bK.mjs.map → acorex-platform-common-checkbox-widget-view.component-BDAtJB1B.mjs.map} +1 -1
  396. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-5ljYmtHI.mjs.map +1 -1
  397. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-D8FSiqAo.mjs → acorex-platform-common-dateTime-widget-edit.component-DRsoJMVG.mjs} +100 -100
  398. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-DRsoJMVG.mjs.map +1 -0
  399. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-Df0DuDtw.mjs → acorex-platform-common-dateTime-widget-filter.component-uB7iwji0.mjs} +59 -59
  400. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-uB7iwji0.mjs.map +1 -0
  401. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-CjVjQkPh.mjs → acorex-platform-common-dateTime-widget-view.component-Dxmnor_-.mjs} +21 -21
  402. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-Dxmnor_-.mjs.map +1 -0
  403. package/fesm2022/{acorex-platform-common-email-widget-column.component-BgNdL62k.mjs → acorex-platform-common-email-widget-column.component-DlPoexcx.mjs} +23 -23
  404. package/fesm2022/acorex-platform-common-email-widget-column.component-DlPoexcx.mjs.map +1 -0
  405. package/fesm2022/{acorex-platform-common-email-widget-edit.component-CgHPGccx.mjs → acorex-platform-common-email-widget-edit.component-CY-Nu0xD.mjs} +134 -134
  406. package/fesm2022/acorex-platform-common-email-widget-edit.component-CY-Nu0xD.mjs.map +1 -0
  407. package/fesm2022/{acorex-platform-common-email-widget-view.component-C2aQ14k-.mjs → acorex-platform-common-email-widget-view.component-C4M7KGUS.mjs} +65 -65
  408. package/fesm2022/acorex-platform-common-email-widget-view.component-C4M7KGUS.mjs.map +1 -0
  409. package/fesm2022/acorex-platform-common-file-widget-column.component-CwFzLLHt.mjs.map +1 -1
  410. package/fesm2022/{acorex-platform-common-file-widget-edit.component-DxoQR4CU.mjs → acorex-platform-common-file-widget-edit.component-ZXhaXwWN.mjs} +116 -116
  411. package/fesm2022/acorex-platform-common-file-widget-edit.component-ZXhaXwWN.mjs.map +1 -0
  412. package/fesm2022/{acorex-platform-common-file-widget-filter.component-BvG0iaKU.mjs → acorex-platform-common-file-widget-filter.component-qL-PznYm.mjs} +5 -5
  413. package/fesm2022/acorex-platform-common-file-widget-filter.component-qL-PznYm.mjs.map +1 -0
  414. package/fesm2022/{acorex-platform-common-file-widget-view.component-BC9l3YrO.mjs → acorex-platform-common-file-widget-view.component-B0C9oJLT.mjs} +70 -70
  415. package/fesm2022/acorex-platform-common-file-widget-view.component-B0C9oJLT.mjs.map +1 -0
  416. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-BihOIJ9T.mjs → acorex-platform-common-gallery-widget-edit.component-DB0-6pik.mjs} +125 -125
  417. package/fesm2022/acorex-platform-common-gallery-widget-edit.component-DB0-6pik.mjs.map +1 -0
  418. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-DS1PCIJp.mjs → acorex-platform-common-gallery-widget-filter.component-Bvy3nmy6.mjs} +5 -5
  419. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-Bvy3nmy6.mjs.map +1 -0
  420. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CnQONVdg.mjs → acorex-platform-common-gallery-widget-view.component-Bp5cEEiY.mjs} +109 -109
  421. package/fesm2022/acorex-platform-common-gallery-widget-view.component-Bp5cEEiY.mjs.map +1 -0
  422. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-BCtGkz1a.mjs → acorex-platform-common-largetext-widget-edit.component-DJhPlQ0G.mjs} +13 -13
  423. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DJhPlQ0G.mjs.map +1 -0
  424. package/fesm2022/acorex-platform-common-lookup-widget-column.component-Cl-vO5XW.mjs.map +1 -1
  425. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-Do_yV2hi.mjs → acorex-platform-common-lookup-widget-edit.component-CpzTuRyJ.mjs} +27 -27
  426. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-CpzTuRyJ.mjs.map +1 -0
  427. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-AKqbYe-l.mjs → acorex-platform-common-lookup-widget-filter.component-i8oRoMWh.mjs} +66 -66
  428. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-i8oRoMWh.mjs.map +1 -0
  429. package/fesm2022/acorex-platform-common-lookup-widget-view.component-BHqYDEuU.mjs.map +1 -1
  430. package/fesm2022/{acorex-platform-common-map-widget-edit.component-SSrR3xxv.mjs → acorex-platform-common-map-widget-edit.component-BjrRrklq.mjs} +5 -5
  431. package/fesm2022/acorex-platform-common-map-widget-edit.component-BjrRrklq.mjs.map +1 -0
  432. package/fesm2022/{acorex-platform-common-map-widget-view.component-DrGG3gzg.mjs → acorex-platform-common-map-widget-view.component-C5gL9-oB.mjs} +5 -5
  433. package/fesm2022/acorex-platform-common-map-widget-view.component-C5gL9-oB.mjs.map +1 -0
  434. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-BJ_XzNKc.mjs → acorex-platform-common-messenger-widget-column.component-BQSYcyso.mjs} +23 -23
  435. package/fesm2022/acorex-platform-common-messenger-widget-column.component-BQSYcyso.mjs.map +1 -0
  436. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-B_FG_n0O.mjs → acorex-platform-common-messenger-widget-edit.component-WHM8ANuQ.mjs} +88 -88
  437. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-WHM8ANuQ.mjs.map +1 -0
  438. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-EBiPO9ds.mjs → acorex-platform-common-messenger-widget-view.component-B4Yt68Vn.mjs} +67 -67
  439. package/fesm2022/acorex-platform-common-messenger-widget-view.component-B4Yt68Vn.mjs.map +1 -0
  440. package/fesm2022/{acorex-platform-common-number-widget-edit.component-B1XXga-9.mjs → acorex-platform-common-number-widget-edit.component-D9dC514F.mjs} +15 -15
  441. package/fesm2022/acorex-platform-common-number-widget-edit.component-D9dC514F.mjs.map +1 -0
  442. package/fesm2022/{acorex-platform-common-number-widget-filter.component-B2JCpDjU.mjs → acorex-platform-common-number-widget-filter.component-BkKeBL6p.mjs} +86 -86
  443. package/fesm2022/acorex-platform-common-number-widget-filter.component-BkKeBL6p.mjs.map +1 -0
  444. package/fesm2022/acorex-platform-common-number-widget-view.component-DD0tkoc4.mjs.map +1 -1
  445. package/fesm2022/{acorex-platform-common-password-widget-column.component-eyqgQlAt.mjs → acorex-platform-common-password-widget-column.component-C0-x1_Np.mjs} +37 -37
  446. package/fesm2022/acorex-platform-common-password-widget-column.component-C0-x1_Np.mjs.map +1 -0
  447. package/fesm2022/{acorex-platform-common-password-widget-edit.component-C2yNb9Pl.mjs → acorex-platform-common-password-widget-edit.component-BbYqIGEP.mjs} +15 -15
  448. package/fesm2022/acorex-platform-common-password-widget-edit.component-BbYqIGEP.mjs.map +1 -0
  449. package/fesm2022/{acorex-platform-common-password-widget-view.component-o9S7pwJW.mjs → acorex-platform-common-password-widget-view.component-B6vGWi9I.mjs} +59 -59
  450. package/fesm2022/acorex-platform-common-password-widget-view.component-B6vGWi9I.mjs.map +1 -0
  451. package/fesm2022/{acorex-platform-common-phone-widget-column.component-BL9Xl2XH.mjs → acorex-platform-common-phone-widget-column.component-uAeAPCog.mjs} +41 -41
  452. package/fesm2022/acorex-platform-common-phone-widget-column.component-uAeAPCog.mjs.map +1 -0
  453. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-DSh9zoZj.mjs → acorex-platform-common-phone-widget-edit.component-BdxXFoxc.mjs} +140 -140
  454. package/fesm2022/acorex-platform-common-phone-widget-edit.component-BdxXFoxc.mjs.map +1 -0
  455. package/fesm2022/{acorex-platform-common-phone-widget-view.component-Br3xbaDd.mjs → acorex-platform-common-phone-widget-view.component-D_A5NXzA.mjs} +69 -69
  456. package/fesm2022/acorex-platform-common-phone-widget-view.component-D_A5NXzA.mjs.map +1 -0
  457. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-DDT58tca.mjs → acorex-platform-common-rich-text-widget-column.component-DDJn1WqG.mjs} +23 -23
  458. package/fesm2022/acorex-platform-common-rich-text-widget-column.component-DDJn1WqG.mjs.map +1 -0
  459. 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
  460. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-f30-VPMJ.mjs.map +1 -0
  461. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-CxTPcEIQ.mjs → acorex-platform-common-rich-text-widget-view.component-Y214kMe4.mjs} +9 -9
  462. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-Y214kMe4.mjs.map +1 -0
  463. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-BCCmg8MI.mjs → acorex-platform-common-selection-list-widget-column.component-4uQzk7WQ.mjs} +17 -17
  464. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-4uQzk7WQ.mjs.map +1 -0
  465. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-B5eUdN2R.mjs → acorex-platform-common-selection-list-widget-edit.component-BY7A969M.mjs} +29 -29
  466. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-BY7A969M.mjs.map +1 -0
  467. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-DPpZq1TB.mjs → acorex-platform-common-selection-list-widget-filter.component-NDAFZhfE.mjs} +19 -19
  468. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-NDAFZhfE.mjs.map +1 -0
  469. 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
  470. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-HzxEiWgp.mjs.map +1 -0
  471. 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
  472. package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-C6VI3F_S.mjs.map +1 -0
  473. 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
  474. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CEiBtv9t.mjs.map +1 -0
  475. package/fesm2022/{acorex-platform-common-string-widget-filter.component-CrGt6Bov.mjs → acorex-platform-common-string-widget-filter.component-BZiyRHfg.mjs} +68 -68
  476. package/fesm2022/acorex-platform-common-string-widget-filter.component-BZiyRHfg.mjs.map +1 -0
  477. package/fesm2022/acorex-platform-common-text-widget-column.component-qXusAevm.mjs.map +1 -1
  478. package/fesm2022/{acorex-platform-common-text-widget-edit.component-ed0MUYnD.mjs → acorex-platform-common-text-widget-edit.component-DSwPteMX.mjs} +88 -88
  479. package/fesm2022/acorex-platform-common-text-widget-edit.component-DSwPteMX.mjs.map +1 -0
  480. package/fesm2022/{acorex-platform-common-text-widget-view.component-BpxTaeQW.mjs → acorex-platform-common-text-widget-view.component-CKg9nvbY.mjs} +21 -21
  481. package/fesm2022/acorex-platform-common-text-widget-view.component-CKg9nvbY.mjs.map +1 -0
  482. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BqiUQrmV.mjs → acorex-platform-common-toggle-widget-column.component-_IrciAj-.mjs} +33 -33
  483. package/fesm2022/acorex-platform-common-toggle-widget-column.component-_IrciAj-.mjs.map +1 -0
  484. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-CDG62BJN.mjs.map +1 -1
  485. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-DWYcIPTd.mjs → acorex-platform-common-toggle-widget-view.component-B5JwQ8X-.mjs} +25 -25
  486. package/fesm2022/acorex-platform-common-toggle-widget-view.component-B5JwQ8X-.mjs.map +1 -0
  487. package/fesm2022/acorex-platform-common.mjs +124 -120
  488. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  489. package/fesm2022/acorex-platform-layout-builder.mjs +34 -34
  490. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  491. package/fesm2022/acorex-platform-layout-entity.mjs +161 -139
  492. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  493. package/fesm2022/acorex-platform-layouts-entity-create-view.component-Bxkv579D.mjs +107 -0
  494. package/fesm2022/acorex-platform-layouts-entity-create-view.component-Bxkv579D.mjs.map +1 -0
  495. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-C-dS2HFl.mjs +88 -0
  496. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-C-dS2HFl.mjs.map +1 -0
  497. package/fesm2022/acorex-platform-layouts.mjs +35 -35
  498. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  499. package/fesm2022/acorex-platform-mocks.mjs.map +1 -1
  500. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  501. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CTlj-QBs.mjs +96 -0
  502. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CTlj-QBs.mjs.map +1 -0
  503. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DHmUvWx8.mjs +85 -0
  504. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DHmUvWx8.mjs.map +1 -0
  505. package/fesm2022/acorex-platform-themes-default-error-401.component-BeQ4_BgW.mjs +31 -0
  506. package/fesm2022/acorex-platform-themes-default-error-401.component-BeQ4_BgW.mjs.map +1 -0
  507. package/fesm2022/acorex-platform-themes-default-error-404.component-BYDiT6Ns.mjs +25 -0
  508. package/fesm2022/acorex-platform-themes-default-error-404.component-BYDiT6Ns.mjs.map +1 -0
  509. package/fesm2022/acorex-platform-themes-default-error-offline.component-DUtW3w_g.mjs +19 -0
  510. package/fesm2022/acorex-platform-themes-default-error-offline.component-DUtW3w_g.mjs.map +1 -0
  511. package/fesm2022/acorex-platform-themes-default.mjs +46 -60
  512. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  513. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-Cx6WLV3_.mjs → acorex-platform-widgets-checkbox-widget-column.component-CFCwedxX.mjs} +25 -25
  514. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CFCwedxX.mjs.map +1 -0
  515. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-C_68pr-9.mjs → acorex-platform-widgets-checkbox-widget-view.component-CCTIjDb0.mjs} +29 -29
  516. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-CCTIjDb0.mjs.map +1 -0
  517. package/fesm2022/acorex-platform-widgets.mjs +1370 -1370
  518. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  519. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  520. package/fesm2022/acorex-platform.mjs.map +1 -1
  521. package/layout/builder/README.md +3 -3
  522. package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +2 -1
  523. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +2 -1
  524. package/layouts/README.md +3 -3
  525. package/mocks/README.md +3 -3
  526. package/package.json +1 -1
  527. package/themes/default/README.md +3 -3
  528. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +1 -1
  529. package/widgets/README.md +3 -3
  530. package/workflow/README.md +3 -3
  531. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-B-of5ssU.mjs.map +0 -1
  532. package/fesm2022/acorex-platform-common-avatar-widget-view.component-CJvrSkTv.mjs.map +0 -1
  533. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-BTcOjuUm.mjs.map +0 -1
  534. package/fesm2022/acorex-platform-common-change-password.component-NvrMMq9e.mjs.map +0 -1
  535. package/fesm2022/acorex-platform-common-checkbox-widget-column.component-X9d1iY_F.mjs.map +0 -1
  536. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-D8FSiqAo.mjs.map +0 -1
  537. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-Df0DuDtw.mjs.map +0 -1
  538. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-CjVjQkPh.mjs.map +0 -1
  539. package/fesm2022/acorex-platform-common-email-widget-column.component-BgNdL62k.mjs.map +0 -1
  540. package/fesm2022/acorex-platform-common-email-widget-edit.component-CgHPGccx.mjs.map +0 -1
  541. package/fesm2022/acorex-platform-common-email-widget-view.component-C2aQ14k-.mjs.map +0 -1
  542. package/fesm2022/acorex-platform-common-file-widget-edit.component-DxoQR4CU.mjs.map +0 -1
  543. package/fesm2022/acorex-platform-common-file-widget-filter.component-BvG0iaKU.mjs.map +0 -1
  544. package/fesm2022/acorex-platform-common-file-widget-view.component-BC9l3YrO.mjs.map +0 -1
  545. package/fesm2022/acorex-platform-common-gallery-widget-edit.component-BihOIJ9T.mjs.map +0 -1
  546. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-DS1PCIJp.mjs.map +0 -1
  547. package/fesm2022/acorex-platform-common-gallery-widget-view.component-CnQONVdg.mjs.map +0 -1
  548. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-BCtGkz1a.mjs.map +0 -1
  549. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-Do_yV2hi.mjs.map +0 -1
  550. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-AKqbYe-l.mjs.map +0 -1
  551. package/fesm2022/acorex-platform-common-map-widget-edit.component-SSrR3xxv.mjs.map +0 -1
  552. package/fesm2022/acorex-platform-common-map-widget-view.component-DrGG3gzg.mjs.map +0 -1
  553. package/fesm2022/acorex-platform-common-messenger-widget-column.component-BJ_XzNKc.mjs.map +0 -1
  554. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-B_FG_n0O.mjs.map +0 -1
  555. package/fesm2022/acorex-platform-common-messenger-widget-view.component-EBiPO9ds.mjs.map +0 -1
  556. package/fesm2022/acorex-platform-common-number-widget-edit.component-B1XXga-9.mjs.map +0 -1
  557. package/fesm2022/acorex-platform-common-number-widget-filter.component-B2JCpDjU.mjs.map +0 -1
  558. package/fesm2022/acorex-platform-common-password-widget-column.component-eyqgQlAt.mjs.map +0 -1
  559. package/fesm2022/acorex-platform-common-password-widget-edit.component-C2yNb9Pl.mjs.map +0 -1
  560. package/fesm2022/acorex-platform-common-password-widget-view.component-o9S7pwJW.mjs.map +0 -1
  561. package/fesm2022/acorex-platform-common-phone-widget-column.component-BL9Xl2XH.mjs.map +0 -1
  562. package/fesm2022/acorex-platform-common-phone-widget-edit.component-DSh9zoZj.mjs.map +0 -1
  563. package/fesm2022/acorex-platform-common-phone-widget-view.component-Br3xbaDd.mjs.map +0 -1
  564. package/fesm2022/acorex-platform-common-rich-text-widget-column.component-DDT58tca.mjs.map +0 -1
  565. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-Dz1toc21.mjs.map +0 -1
  566. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-CxTPcEIQ.mjs.map +0 -1
  567. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-BCCmg8MI.mjs.map +0 -1
  568. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-B5eUdN2R.mjs.map +0 -1
  569. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DPpZq1TB.mjs.map +0 -1
  570. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-Bxvd_AKZ.mjs.map +0 -1
  571. package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-CNjYCEi6.mjs.map +0 -1
  572. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CsiBv_7i.mjs.map +0 -1
  573. package/fesm2022/acorex-platform-common-string-widget-filter.component-CrGt6Bov.mjs.map +0 -1
  574. package/fesm2022/acorex-platform-common-text-widget-edit.component-ed0MUYnD.mjs.map +0 -1
  575. package/fesm2022/acorex-platform-common-text-widget-view.component-BpxTaeQW.mjs.map +0 -1
  576. package/fesm2022/acorex-platform-common-toggle-widget-column.component-BqiUQrmV.mjs.map +0 -1
  577. package/fesm2022/acorex-platform-common-toggle-widget-view.component-DWYcIPTd.mjs.map +0 -1
  578. package/fesm2022/acorex-platform-layouts-entity-create-view.component-fkKPKxlb.mjs +0 -107
  579. package/fesm2022/acorex-platform-layouts-entity-create-view.component-fkKPKxlb.mjs.map +0 -1
  580. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-D1h1xORH.mjs +0 -88
  581. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-D1h1xORH.mjs.map +0 -1
  582. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BxYT9KhH.mjs +0 -96
  583. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BxYT9KhH.mjs.map +0 -1
  584. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-F7dr-osu.mjs +0 -85
  585. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-F7dr-osu.mjs.map +0 -1
  586. package/fesm2022/acorex-platform-themes-default-error-401.component-Djuin07Z.mjs +0 -31
  587. package/fesm2022/acorex-platform-themes-default-error-401.component-Djuin07Z.mjs.map +0 -1
  588. package/fesm2022/acorex-platform-themes-default-error-404.component-C-RyiLkk.mjs +0 -25
  589. package/fesm2022/acorex-platform-themes-default-error-404.component-C-RyiLkk.mjs.map +0 -1
  590. package/fesm2022/acorex-platform-themes-default-error-offline.component-WCfy9-cr.mjs +0 -19
  591. package/fesm2022/acorex-platform-themes-default-error-offline.component-WCfy9-cr.mjs.map +0 -1
  592. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-Cx6WLV3_.mjs.map +0 -1
  593. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C_68pr-9.mjs.map +0 -1
@@ -181,7 +181,7 @@ export class AXPEntityCreateCustomViewComponent extends AXBasePageComponent {
181
181
  {
182
182
  provide: AXUnsubscriber,
183
183
  },
184
- ], usesInheritance: true, ngImport: i0, template: "<ax-header class=\"ax-p-4 ax-flex ax-justify-between ax-border-b\">\r\n <div class=\"ax-flex ax-items-center\">\r\n @if (showNameInput() && mode==='create') {\r\n <div class=\"ax-w-60\">\r\n <ax-text-box class=\"ax-sm\" [(ngModel)]=\"selectedView.title\">\r\n @if(showNameInput()){\r\n <ax-suffix>\r\n <ax-button (onClick)=\"changeViewNameToggle()\" look=\"default\">\r\n <ax-icon class=\"fa-sodild fas fa-check ax-text-sm\"> </ax-icon>\r\n </ax-button>\r\n </ax-suffix>\r\n }\r\n </ax-text-box>\r\n </div>\r\n }@else {\r\n <span class=\"ax-text-lg ax-font-semibold\">{{ selectedView.title }}</span>\r\n } @if (mode===\"create\") {\r\n <ax-button class=\"ax-xs\" (onClick)=\"changeViewNameToggle()\" color=\"default\">\r\n @if(!showNameInput() ){\r\n <ax-icon class=\"fa-regular fa-pen ax-text-sm ax-text-neutral-600\"> </ax-icon>\r\n }\r\n </ax-button>\r\n }\r\n </div>\r\n <ax-close-button></ax-close-button>\r\n</ax-header>\r\n<div class=\"ax-p-4\">\r\n <ax-tabs [content]=\"contents\" look=\"with-line\">\r\n <ax-tab-item text=\"Columns\">\r\n <ax-suffix>\r\n <ax-badge [text]=\"visibleColumns().length.toString()\" color=\"primary\"> </ax-badge>\r\n </ax-suffix>\r\n <ax-content>\r\n <div\r\n class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none ax-h-[400px]\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"drop('columns', $event)\"\r\n >\r\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-overflow-auto ax-pe-2\">\r\n <ng-container *ngFor=\"let item of columns()\">\r\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\r\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\r\n </div>\r\n <ax-switch\r\n class=\"ax-sm\"\r\n [(ngModel)]=\"item.visible\"\r\n (onValueChanged)=\"updateColumnItem($event, item.name)\"\r\n ></ax-switch>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ax-content>\r\n </ax-tab-item>\r\n <ax-tab-item text=\"Conditions\">\r\n <ax-suffix>\r\n <ax-badge [text]=\"conditions().length.toString()\" color=\"primary\"> </ax-badge>\r\n </ax-suffix>\r\n <ax-content>\r\n <div\r\n class=\"ax-flex ax-flex-col ax-justify-start ax-gap-4 ax-py-4 ax-select-none ax-h-[400px]\"\r\n [class.ax-justify-center]=\"!conditions().length\"\r\n >\r\n @if(!conditions().length){\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\r\n <ax-image src=\"assets/documents.svg\"></ax-image>\r\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\r\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\r\n >Please select field(s) that you want to filter</span\r\n >\r\n </div>\r\n } @else {\r\n <div class=\"ax-sorted-list ax-px-4 ax-py-1 ax-overflow-auto\">\r\n <div cdkDropList (cdkDropListDropped)=\"drop('conditions', $event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\r\n @for(item of conditions(); track item.name ){\r\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\r\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\r\n @if(getOperatorTitle(item.name,item.operator)){\r\n <ax-badge\r\n class=\"ax-text-xs\"\r\n color=\"primary\"\r\n [look]=\"'twotone'\"\r\n [text]=\"getOperatorTitle(item.name, item.operator)\"\r\n ></ax-badge>\r\n }\r\n </div>\r\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\r\n <div class=\"ax-w-full\">\r\n <axp-widget-filter-renderer\r\n [schema]=\"getSchema(item.name)\"\r\n [prop]=\"loader.getProp(item.name)\"\r\n [(value)]=\"item.value\"\r\n [(operator)]=\"item.operator\"\r\n >\r\n </axp-widget-filter-renderer>\r\n </div>\r\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"removeCondition(item)\">\r\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\r\n </ax-button>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n <div class=\"ax-flex ax-gap-2\">\r\n <div class=\"ax-w-full\" #addField>\r\n @if(conditions().length){\r\n <ax-button color=\"primary\" text=\"Add field\" look=\"blank\" class=\"ax-sm\"></ax-button>\r\n }@else {\r\n <div class=\"ax-flex ax-justify-center ax-w-full\">\r\n <ax-button color=\"primary\" text=\"Add field\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\r\n </div>\r\n }\r\n <ax-popover\r\n #conditionsPopover\r\n [target]=\"addField\"\r\n [placement]=\"conditions().length ? 'bottom-start' : 'bottom'\"\r\n [offsetY]=\"8\"\r\n [openOn]=\"'toggle'\"\r\n [closeOn]=\"'clickOut'\"\r\n [adaptivityEnabled]=\"true\"\r\n (onOpened)=\"resetSelectedFieldNames()\"\r\n >\r\n <div\r\n class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\"\r\n >\r\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\r\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\r\n </div>\r\n <div class=\"ax-max-h-48 ax-overflow-auto\">\r\n <ax-selection-list\r\n [valueField]=\"'name'\"\r\n [textField]=\"'title'\"\r\n [(ngModel)]=\"selectedConditionNames\"\r\n [direction]=\"'vertical'\"\r\n [items]=\"props()\"\r\n [multiple]=\"true\"\r\n ></ax-selection-list>\r\n </div>\r\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\r\n <ax-button\r\n (onClick)=\"addCondition(); conditionsPopover.close()\"\r\n class=\"ax-sm\"\r\n text=\"Confirm\"\r\n color=\"primary\"\r\n >\r\n </ax-button>\r\n </div>\r\n </div>\r\n </ax-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </ax-content>\r\n </ax-tab-item>\r\n <ax-tab-item text=\"Sorting\">\r\n <ax-suffix>\r\n <ax-badge [text]=\"sorts().length.toString()\" color=\"primary\"> </ax-badge>\r\n </ax-suffix>\r\n <ax-content>\r\n <div\r\n class=\"ax-flex ax-p-4 ax-flex-col ax-justify-start ax-gap-4 ax-select-none ax-overflow-auto ax-h-[400px]\"\r\n [class.ax-justify-center]=\"!sorts().length\"\r\n >\r\n @if(!sorts().length){\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\r\n <ax-image src=\"assets/documents.svg\"></ax-image>\r\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Sorts Selected</p>\r\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\r\n >Please select field(s) that you want to sort</span\r\n >\r\n </div>\r\n }@else {\r\n <div\r\n cdkDropList\r\n (cdkDropListDropped)=\"drop('sorts', $event)\"\r\n class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-py-1 ax-overflow-auto\"\r\n >\r\n <ng-container *ngFor=\"let item of sorts()\">\r\n <div class=\"ax-flex ax-gap-2 ax-items-center\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\r\n <ax-select-box [dataSource]=\"props()\" valueField=\"name\" textField=\"title\" [(ngModel)]=\"item.name\">\r\n </ax-select-box>\r\n <ax-button [color]=\"'default'\" class=\"ax-sm\" (click)=\"updateSortItem(item)\">\r\n <ax-icon\r\n [class.ax-text-primary]=\"item.dir == 'asc'\"\r\n class=\"fa-solid fa-arrow-up-long ax-text-neutral-400\"\r\n ></ax-icon>\r\n <ax-icon\r\n [class.ax-text-primary]=\"item.dir == 'desc'\"\r\n class=\"fa-solid fa-arrow-down-long ax-text-neutral-400\"\r\n ></ax-icon>\r\n </ax-button>\r\n\r\n <ax-button look=\"blank\" (onClick)=\"removeSortItem(item)\">\r\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\r\n </ax-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n }\r\n\r\n <div class=\"ax-flex ax-gap-2\">\r\n <div class=\"ax-w-full\" #addField>\r\n @if(sorts().length){\r\n <ax-button\r\n (onClick)=\"addSortItem()\"\r\n color=\"primary\"\r\n text=\"Add field\"\r\n look=\"blank\"\r\n class=\"ax-sm\"\r\n ></ax-button>\r\n }@else {\r\n <div class=\"ax-flex ax-justify-center ax-w-full\">\r\n <ax-button\r\n (onClick)=\"addSortItem()\"\r\n color=\"primary\"\r\n text=\"Add field\"\r\n look=\"outline\"\r\n class=\"ax-md ax-w-56\"\r\n ></ax-button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </ax-content>\r\n </ax-tab-item>\r\n </ax-tabs>\r\n <ng-template [axTabContent] #contents=\"axTabContent\"> </ng-template>\r\n</div>\r\n<ax-footer class=\"!ax-justify-end\">\r\n @if (mode===\"edit\") {\r\n <ax-dropdown-button text=\"Discard\" (onClick)=\"handleDiscardClick()\">\r\n <ax-button-item-list>\r\n <ax-button-item text=\"Reset\" (onClick)=\"handleResetClick()\">\r\n <ax-prefix>\r\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button-item>\r\n <ax-button-item class=\"ax-text-danger\" text=\"Delete\" (onClick)=\"handleDeleteClick()\">\r\n <ax-prefix> <ax-icon icon=\"fas fa-trash fa-flip-horizontal\"></ax-icon> </ax-prefix\r\n ></ax-button-item>\r\n </ax-button-item-list>\r\n </ax-dropdown-button>\r\n } @else {\r\n <ax-button text=\"Cancel\" look=\"outline\" (onClick)=\"handleCancelClick()\"></ax-button>\r\n }\r\n <ax-button\r\n [text]=\"mode === 'create' ? 'Save' : 'Save Changes'\"\r\n color=\"primary\"\r\n (onClick)=\"handleApplyClick()\"\r\n ></ax-button>\r\n</ax-footer>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "component", type: i3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i5.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: i6.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i7.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: i8.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "component", type: i9.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i9.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "directive", type: i9.AXTabContentDirective, selector: "[axTabContent]", inputs: ["axTabContent"], exportAs: ["axTabContent"] }, { kind: "component", type: i10.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "component", type: i11.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: i12.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: i13.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "hintField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: i14.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "directive", type: i15.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i15.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i15.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i16.AXPWidgetFilterRendererComponent, selector: "axp-widget-filter-renderer", inputs: ["value", "operator", "prop", "schema"], outputs: ["valueChange", "operatorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
184
+ ], usesInheritance: true, ngImport: i0, template: "<ax-header class=\"ax-p-4 ax-flex ax-justify-between ax-border-b\">\n <div class=\"ax-flex ax-items-center\">\n @if (showNameInput() && mode==='create') {\n <div class=\"ax-w-60\">\n <ax-text-box class=\"ax-sm\" [(ngModel)]=\"selectedView.title\">\n @if(showNameInput()){\n <ax-suffix>\n <ax-button (onClick)=\"changeViewNameToggle()\" look=\"default\">\n <ax-icon class=\"fa-sodild fas fa-check ax-text-sm\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n }\n </ax-text-box>\n </div>\n }@else {\n <span class=\"ax-text-lg ax-font-semibold\">{{ selectedView.title }}</span>\n } @if (mode===\"create\") {\n <ax-button class=\"ax-xs\" (onClick)=\"changeViewNameToggle()\" color=\"default\">\n @if(!showNameInput() ){\n <ax-icon class=\"fa-regular fa-pen ax-text-sm ax-text-neutral-600\"> </ax-icon>\n }\n </ax-button>\n }\n </div>\n <ax-close-button></ax-close-button>\n</ax-header>\n<div class=\"ax-p-4\">\n <ax-tabs [content]=\"contents\" look=\"with-line\">\n <ax-tab-item text=\"Columns\">\n <ax-suffix>\n <ax-badge [text]=\"visibleColumns().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none ax-h-[400px]\"\n cdkDropList\n (cdkDropListDropped)=\"drop('columns', $event)\"\n >\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-overflow-auto ax-pe-2\">\n <ng-container *ngFor=\"let item of columns()\">\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\n </div>\n <ax-switch\n class=\"ax-sm\"\n [(ngModel)]=\"item.visible\"\n (onValueChanged)=\"updateColumnItem($event, item.name)\"\n ></ax-switch>\n </div>\n </ng-container>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Conditions\">\n <ax-suffix>\n <ax-badge [text]=\"conditions().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-flex-col ax-justify-start ax-gap-4 ax-py-4 ax-select-none ax-h-[400px]\"\n [class.ax-justify-center]=\"!conditions().length\"\n >\n @if(!conditions().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\n >Please select field(s) that you want to filter</span\n >\n </div>\n } @else {\n <div class=\"ax-sorted-list ax-px-4 ax-py-1 ax-overflow-auto\">\n <div cdkDropList (cdkDropListDropped)=\"drop('conditions', $event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\n @for(item of conditions(); track item.name ){\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\n @if(getOperatorTitle(item.name,item.operator)){\n <ax-badge\n class=\"ax-text-xs\"\n color=\"primary\"\n [look]=\"'twotone'\"\n [text]=\"getOperatorTitle(item.name, item.operator)\"\n ></ax-badge>\n }\n </div>\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <div class=\"ax-w-full\">\n <axp-widget-filter-renderer\n [schema]=\"getSchema(item.name)\"\n [prop]=\"loader.getProp(item.name)\"\n [(value)]=\"item.value\"\n [(operator)]=\"item.operator\"\n >\n </axp-widget-filter-renderer>\n </div>\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"removeCondition(item)\">\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(conditions().length){\n <ax-button color=\"primary\" text=\"Add field\" look=\"blank\" class=\"ax-sm\"></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button color=\"primary\" text=\"Add field\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\n </div>\n }\n <ax-popover\n #conditionsPopover\n [target]=\"addField\"\n [placement]=\"conditions().length ? 'bottom-start' : 'bottom'\"\n [offsetY]=\"8\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"resetSelectedFieldNames()\"\n >\n <div\n class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\"\n >\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\n </div>\n <div class=\"ax-max-h-48 ax-overflow-auto\">\n <ax-selection-list\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedConditionNames\"\n [direction]=\"'vertical'\"\n [items]=\"props()\"\n [multiple]=\"true\"\n ></ax-selection-list>\n </div>\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\n <ax-button\n (onClick)=\"addCondition(); conditionsPopover.close()\"\n class=\"ax-sm\"\n text=\"Confirm\"\n color=\"primary\"\n >\n </ax-button>\n </div>\n </div>\n </ax-popover>\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Sorting\">\n <ax-suffix>\n <ax-badge [text]=\"sorts().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-p-4 ax-flex-col ax-justify-start ax-gap-4 ax-select-none ax-overflow-auto ax-h-[400px]\"\n [class.ax-justify-center]=\"!sorts().length\"\n >\n @if(!sorts().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Sorts Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\n >Please select field(s) that you want to sort</span\n >\n </div>\n }@else {\n <div\n cdkDropList\n (cdkDropListDropped)=\"drop('sorts', $event)\"\n class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-py-1 ax-overflow-auto\"\n >\n <ng-container *ngFor=\"let item of sorts()\">\n <div class=\"ax-flex ax-gap-2 ax-items-center\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <ax-select-box [dataSource]=\"props()\" valueField=\"name\" textField=\"title\" [(ngModel)]=\"item.name\">\n </ax-select-box>\n <ax-button [color]=\"'default'\" class=\"ax-sm\" (click)=\"updateSortItem(item)\">\n <ax-icon\n [class.ax-text-primary]=\"item.dir == 'asc'\"\n class=\"fa-solid fa-arrow-up-long ax-text-neutral-400\"\n ></ax-icon>\n <ax-icon\n [class.ax-text-primary]=\"item.dir == 'desc'\"\n class=\"fa-solid fa-arrow-down-long ax-text-neutral-400\"\n ></ax-icon>\n </ax-button>\n\n <ax-button look=\"blank\" (onClick)=\"removeSortItem(item)\">\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\n </ax-button>\n </div>\n </ng-container>\n </div>\n }\n\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(sorts().length){\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n text=\"Add field\"\n look=\"blank\"\n class=\"ax-sm\"\n ></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n text=\"Add field\"\n look=\"outline\"\n class=\"ax-md ax-w-56\"\n ></ax-button>\n </div>\n }\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n </ax-tabs>\n <ng-template [axTabContent] #contents=\"axTabContent\"> </ng-template>\n</div>\n<ax-footer class=\"!ax-justify-end\">\n @if (mode===\"edit\") {\n <ax-dropdown-button text=\"Discard\" (onClick)=\"handleDiscardClick()\">\n <ax-button-item-list>\n <ax-button-item text=\"Reset\" (onClick)=\"handleResetClick()\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item class=\"ax-text-danger\" text=\"Delete\" (onClick)=\"handleDeleteClick()\">\n <ax-prefix> <ax-icon icon=\"fas fa-trash fa-flip-horizontal\"></ax-icon> </ax-prefix\n ></ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button text=\"Cancel\" look=\"outline\" (onClick)=\"handleCancelClick()\"></ax-button>\n }\n <ax-button\n [text]=\"mode === 'create' ? 'Save' : 'Save Changes'\"\n color=\"primary\"\n (onClick)=\"handleApplyClick()\"\n ></ax-button>\n</ax-footer>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i5.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: i6.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i7.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: i8.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "component", type: i9.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i9.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "directive", type: i9.AXTabContentDirective, selector: "[axTabContent]", inputs: ["axTabContent"], exportAs: ["axTabContent"] }, { kind: "component", type: i10.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "component", type: i11.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: i12.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: i13.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "hintField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: i14.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "directive", type: i15.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i15.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i15.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i16.AXPWidgetFilterRendererComponent, selector: "axp-widget-filter-renderer", inputs: ["value", "operator", "prop", "schema"], outputs: ["valueChange", "operatorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
185
185
  }
186
186
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityCreateCustomViewComponent, decorators: [{
187
187
  type: Component,
@@ -189,7 +189,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
189
189
  {
190
190
  provide: AXUnsubscriber,
191
191
  },
192
- ], template: "<ax-header class=\"ax-p-4 ax-flex ax-justify-between ax-border-b\">\r\n <div class=\"ax-flex ax-items-center\">\r\n @if (showNameInput() && mode==='create') {\r\n <div class=\"ax-w-60\">\r\n <ax-text-box class=\"ax-sm\" [(ngModel)]=\"selectedView.title\">\r\n @if(showNameInput()){\r\n <ax-suffix>\r\n <ax-button (onClick)=\"changeViewNameToggle()\" look=\"default\">\r\n <ax-icon class=\"fa-sodild fas fa-check ax-text-sm\"> </ax-icon>\r\n </ax-button>\r\n </ax-suffix>\r\n }\r\n </ax-text-box>\r\n </div>\r\n }@else {\r\n <span class=\"ax-text-lg ax-font-semibold\">{{ selectedView.title }}</span>\r\n } @if (mode===\"create\") {\r\n <ax-button class=\"ax-xs\" (onClick)=\"changeViewNameToggle()\" color=\"default\">\r\n @if(!showNameInput() ){\r\n <ax-icon class=\"fa-regular fa-pen ax-text-sm ax-text-neutral-600\"> </ax-icon>\r\n }\r\n </ax-button>\r\n }\r\n </div>\r\n <ax-close-button></ax-close-button>\r\n</ax-header>\r\n<div class=\"ax-p-4\">\r\n <ax-tabs [content]=\"contents\" look=\"with-line\">\r\n <ax-tab-item text=\"Columns\">\r\n <ax-suffix>\r\n <ax-badge [text]=\"visibleColumns().length.toString()\" color=\"primary\"> </ax-badge>\r\n </ax-suffix>\r\n <ax-content>\r\n <div\r\n class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none ax-h-[400px]\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"drop('columns', $event)\"\r\n >\r\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-overflow-auto ax-pe-2\">\r\n <ng-container *ngFor=\"let item of columns()\">\r\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\r\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\r\n </div>\r\n <ax-switch\r\n class=\"ax-sm\"\r\n [(ngModel)]=\"item.visible\"\r\n (onValueChanged)=\"updateColumnItem($event, item.name)\"\r\n ></ax-switch>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ax-content>\r\n </ax-tab-item>\r\n <ax-tab-item text=\"Conditions\">\r\n <ax-suffix>\r\n <ax-badge [text]=\"conditions().length.toString()\" color=\"primary\"> </ax-badge>\r\n </ax-suffix>\r\n <ax-content>\r\n <div\r\n class=\"ax-flex ax-flex-col ax-justify-start ax-gap-4 ax-py-4 ax-select-none ax-h-[400px]\"\r\n [class.ax-justify-center]=\"!conditions().length\"\r\n >\r\n @if(!conditions().length){\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\r\n <ax-image src=\"assets/documents.svg\"></ax-image>\r\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\r\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\r\n >Please select field(s) that you want to filter</span\r\n >\r\n </div>\r\n } @else {\r\n <div class=\"ax-sorted-list ax-px-4 ax-py-1 ax-overflow-auto\">\r\n <div cdkDropList (cdkDropListDropped)=\"drop('conditions', $event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\r\n @for(item of conditions(); track item.name ){\r\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\r\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\r\n @if(getOperatorTitle(item.name,item.operator)){\r\n <ax-badge\r\n class=\"ax-text-xs\"\r\n color=\"primary\"\r\n [look]=\"'twotone'\"\r\n [text]=\"getOperatorTitle(item.name, item.operator)\"\r\n ></ax-badge>\r\n }\r\n </div>\r\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\r\n <div class=\"ax-w-full\">\r\n <axp-widget-filter-renderer\r\n [schema]=\"getSchema(item.name)\"\r\n [prop]=\"loader.getProp(item.name)\"\r\n [(value)]=\"item.value\"\r\n [(operator)]=\"item.operator\"\r\n >\r\n </axp-widget-filter-renderer>\r\n </div>\r\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"removeCondition(item)\">\r\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\r\n </ax-button>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n <div class=\"ax-flex ax-gap-2\">\r\n <div class=\"ax-w-full\" #addField>\r\n @if(conditions().length){\r\n <ax-button color=\"primary\" text=\"Add field\" look=\"blank\" class=\"ax-sm\"></ax-button>\r\n }@else {\r\n <div class=\"ax-flex ax-justify-center ax-w-full\">\r\n <ax-button color=\"primary\" text=\"Add field\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\r\n </div>\r\n }\r\n <ax-popover\r\n #conditionsPopover\r\n [target]=\"addField\"\r\n [placement]=\"conditions().length ? 'bottom-start' : 'bottom'\"\r\n [offsetY]=\"8\"\r\n [openOn]=\"'toggle'\"\r\n [closeOn]=\"'clickOut'\"\r\n [adaptivityEnabled]=\"true\"\r\n (onOpened)=\"resetSelectedFieldNames()\"\r\n >\r\n <div\r\n class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\"\r\n >\r\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\r\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\r\n </div>\r\n <div class=\"ax-max-h-48 ax-overflow-auto\">\r\n <ax-selection-list\r\n [valueField]=\"'name'\"\r\n [textField]=\"'title'\"\r\n [(ngModel)]=\"selectedConditionNames\"\r\n [direction]=\"'vertical'\"\r\n [items]=\"props()\"\r\n [multiple]=\"true\"\r\n ></ax-selection-list>\r\n </div>\r\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\r\n <ax-button\r\n (onClick)=\"addCondition(); conditionsPopover.close()\"\r\n class=\"ax-sm\"\r\n text=\"Confirm\"\r\n color=\"primary\"\r\n >\r\n </ax-button>\r\n </div>\r\n </div>\r\n </ax-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </ax-content>\r\n </ax-tab-item>\r\n <ax-tab-item text=\"Sorting\">\r\n <ax-suffix>\r\n <ax-badge [text]=\"sorts().length.toString()\" color=\"primary\"> </ax-badge>\r\n </ax-suffix>\r\n <ax-content>\r\n <div\r\n class=\"ax-flex ax-p-4 ax-flex-col ax-justify-start ax-gap-4 ax-select-none ax-overflow-auto ax-h-[400px]\"\r\n [class.ax-justify-center]=\"!sorts().length\"\r\n >\r\n @if(!sorts().length){\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\r\n <ax-image src=\"assets/documents.svg\"></ax-image>\r\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Sorts Selected</p>\r\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\r\n >Please select field(s) that you want to sort</span\r\n >\r\n </div>\r\n }@else {\r\n <div\r\n cdkDropList\r\n (cdkDropListDropped)=\"drop('sorts', $event)\"\r\n class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-py-1 ax-overflow-auto\"\r\n >\r\n <ng-container *ngFor=\"let item of sorts()\">\r\n <div class=\"ax-flex ax-gap-2 ax-items-center\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\r\n <ax-select-box [dataSource]=\"props()\" valueField=\"name\" textField=\"title\" [(ngModel)]=\"item.name\">\r\n </ax-select-box>\r\n <ax-button [color]=\"'default'\" class=\"ax-sm\" (click)=\"updateSortItem(item)\">\r\n <ax-icon\r\n [class.ax-text-primary]=\"item.dir == 'asc'\"\r\n class=\"fa-solid fa-arrow-up-long ax-text-neutral-400\"\r\n ></ax-icon>\r\n <ax-icon\r\n [class.ax-text-primary]=\"item.dir == 'desc'\"\r\n class=\"fa-solid fa-arrow-down-long ax-text-neutral-400\"\r\n ></ax-icon>\r\n </ax-button>\r\n\r\n <ax-button look=\"blank\" (onClick)=\"removeSortItem(item)\">\r\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\r\n </ax-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n }\r\n\r\n <div class=\"ax-flex ax-gap-2\">\r\n <div class=\"ax-w-full\" #addField>\r\n @if(sorts().length){\r\n <ax-button\r\n (onClick)=\"addSortItem()\"\r\n color=\"primary\"\r\n text=\"Add field\"\r\n look=\"blank\"\r\n class=\"ax-sm\"\r\n ></ax-button>\r\n }@else {\r\n <div class=\"ax-flex ax-justify-center ax-w-full\">\r\n <ax-button\r\n (onClick)=\"addSortItem()\"\r\n color=\"primary\"\r\n text=\"Add field\"\r\n look=\"outline\"\r\n class=\"ax-md ax-w-56\"\r\n ></ax-button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </ax-content>\r\n </ax-tab-item>\r\n </ax-tabs>\r\n <ng-template [axTabContent] #contents=\"axTabContent\"> </ng-template>\r\n</div>\r\n<ax-footer class=\"!ax-justify-end\">\r\n @if (mode===\"edit\") {\r\n <ax-dropdown-button text=\"Discard\" (onClick)=\"handleDiscardClick()\">\r\n <ax-button-item-list>\r\n <ax-button-item text=\"Reset\" (onClick)=\"handleResetClick()\">\r\n <ax-prefix>\r\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button-item>\r\n <ax-button-item class=\"ax-text-danger\" text=\"Delete\" (onClick)=\"handleDeleteClick()\">\r\n <ax-prefix> <ax-icon icon=\"fas fa-trash fa-flip-horizontal\"></ax-icon> </ax-prefix\r\n ></ax-button-item>\r\n </ax-button-item-list>\r\n </ax-dropdown-button>\r\n } @else {\r\n <ax-button text=\"Cancel\" look=\"outline\" (onClick)=\"handleCancelClick()\"></ax-button>\r\n }\r\n <ax-button\r\n [text]=\"mode === 'create' ? 'Save' : 'Save Changes'\"\r\n color=\"primary\"\r\n (onClick)=\"handleApplyClick()\"\r\n ></ax-button>\r\n</ax-footer>\r\n" }]
192
+ ], template: "<ax-header class=\"ax-p-4 ax-flex ax-justify-between ax-border-b\">\n <div class=\"ax-flex ax-items-center\">\n @if (showNameInput() && mode==='create') {\n <div class=\"ax-w-60\">\n <ax-text-box class=\"ax-sm\" [(ngModel)]=\"selectedView.title\">\n @if(showNameInput()){\n <ax-suffix>\n <ax-button (onClick)=\"changeViewNameToggle()\" look=\"default\">\n <ax-icon class=\"fa-sodild fas fa-check ax-text-sm\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n }\n </ax-text-box>\n </div>\n }@else {\n <span class=\"ax-text-lg ax-font-semibold\">{{ selectedView.title }}</span>\n } @if (mode===\"create\") {\n <ax-button class=\"ax-xs\" (onClick)=\"changeViewNameToggle()\" color=\"default\">\n @if(!showNameInput() ){\n <ax-icon class=\"fa-regular fa-pen ax-text-sm ax-text-neutral-600\"> </ax-icon>\n }\n </ax-button>\n }\n </div>\n <ax-close-button></ax-close-button>\n</ax-header>\n<div class=\"ax-p-4\">\n <ax-tabs [content]=\"contents\" look=\"with-line\">\n <ax-tab-item text=\"Columns\">\n <ax-suffix>\n <ax-badge [text]=\"visibleColumns().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none ax-h-[400px]\"\n cdkDropList\n (cdkDropListDropped)=\"drop('columns', $event)\"\n >\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-overflow-auto ax-pe-2\">\n <ng-container *ngFor=\"let item of columns()\">\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\n </div>\n <ax-switch\n class=\"ax-sm\"\n [(ngModel)]=\"item.visible\"\n (onValueChanged)=\"updateColumnItem($event, item.name)\"\n ></ax-switch>\n </div>\n </ng-container>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Conditions\">\n <ax-suffix>\n <ax-badge [text]=\"conditions().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-flex-col ax-justify-start ax-gap-4 ax-py-4 ax-select-none ax-h-[400px]\"\n [class.ax-justify-center]=\"!conditions().length\"\n >\n @if(!conditions().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\n >Please select field(s) that you want to filter</span\n >\n </div>\n } @else {\n <div class=\"ax-sorted-list ax-px-4 ax-py-1 ax-overflow-auto\">\n <div cdkDropList (cdkDropListDropped)=\"drop('conditions', $event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\n @for(item of conditions(); track item.name ){\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\n @if(getOperatorTitle(item.name,item.operator)){\n <ax-badge\n class=\"ax-text-xs\"\n color=\"primary\"\n [look]=\"'twotone'\"\n [text]=\"getOperatorTitle(item.name, item.operator)\"\n ></ax-badge>\n }\n </div>\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <div class=\"ax-w-full\">\n <axp-widget-filter-renderer\n [schema]=\"getSchema(item.name)\"\n [prop]=\"loader.getProp(item.name)\"\n [(value)]=\"item.value\"\n [(operator)]=\"item.operator\"\n >\n </axp-widget-filter-renderer>\n </div>\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"removeCondition(item)\">\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(conditions().length){\n <ax-button color=\"primary\" text=\"Add field\" look=\"blank\" class=\"ax-sm\"></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button color=\"primary\" text=\"Add field\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\n </div>\n }\n <ax-popover\n #conditionsPopover\n [target]=\"addField\"\n [placement]=\"conditions().length ? 'bottom-start' : 'bottom'\"\n [offsetY]=\"8\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"resetSelectedFieldNames()\"\n >\n <div\n class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\"\n >\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\n </div>\n <div class=\"ax-max-h-48 ax-overflow-auto\">\n <ax-selection-list\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedConditionNames\"\n [direction]=\"'vertical'\"\n [items]=\"props()\"\n [multiple]=\"true\"\n ></ax-selection-list>\n </div>\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\n <ax-button\n (onClick)=\"addCondition(); conditionsPopover.close()\"\n class=\"ax-sm\"\n text=\"Confirm\"\n color=\"primary\"\n >\n </ax-button>\n </div>\n </div>\n </ax-popover>\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Sorting\">\n <ax-suffix>\n <ax-badge [text]=\"sorts().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-p-4 ax-flex-col ax-justify-start ax-gap-4 ax-select-none ax-overflow-auto ax-h-[400px]\"\n [class.ax-justify-center]=\"!sorts().length\"\n >\n @if(!sorts().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Sorts Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\n >Please select field(s) that you want to sort</span\n >\n </div>\n }@else {\n <div\n cdkDropList\n (cdkDropListDropped)=\"drop('sorts', $event)\"\n class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-py-1 ax-overflow-auto\"\n >\n <ng-container *ngFor=\"let item of sorts()\">\n <div class=\"ax-flex ax-gap-2 ax-items-center\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <ax-select-box [dataSource]=\"props()\" valueField=\"name\" textField=\"title\" [(ngModel)]=\"item.name\">\n </ax-select-box>\n <ax-button [color]=\"'default'\" class=\"ax-sm\" (click)=\"updateSortItem(item)\">\n <ax-icon\n [class.ax-text-primary]=\"item.dir == 'asc'\"\n class=\"fa-solid fa-arrow-up-long ax-text-neutral-400\"\n ></ax-icon>\n <ax-icon\n [class.ax-text-primary]=\"item.dir == 'desc'\"\n class=\"fa-solid fa-arrow-down-long ax-text-neutral-400\"\n ></ax-icon>\n </ax-button>\n\n <ax-button look=\"blank\" (onClick)=\"removeSortItem(item)\">\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\n </ax-button>\n </div>\n </ng-container>\n </div>\n }\n\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(sorts().length){\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n text=\"Add field\"\n look=\"blank\"\n class=\"ax-sm\"\n ></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n text=\"Add field\"\n look=\"outline\"\n class=\"ax-md ax-w-56\"\n ></ax-button>\n </div>\n }\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n </ax-tabs>\n <ng-template [axTabContent] #contents=\"axTabContent\"> </ng-template>\n</div>\n<ax-footer class=\"!ax-justify-end\">\n @if (mode===\"edit\") {\n <ax-dropdown-button text=\"Discard\" (onClick)=\"handleDiscardClick()\">\n <ax-button-item-list>\n <ax-button-item text=\"Reset\" (onClick)=\"handleResetClick()\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item class=\"ax-text-danger\" text=\"Delete\" (onClick)=\"handleDeleteClick()\">\n <ax-prefix> <ax-icon icon=\"fas fa-trash fa-flip-horizontal\"></ax-icon> </ax-prefix\n ></ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button text=\"Cancel\" look=\"outline\" (onClick)=\"handleCancelClick()\"></ax-button>\n }\n <ax-button\n [text]=\"mode === 'create' ? 'Save' : 'Save Changes'\"\n color=\"primary\"\n (onClick)=\"handleApplyClick()\"\n ></ax-button>\n</ax-footer>\n" }]
193
193
  }], propDecorators: { loader: [{
194
194
  type: Input
195
195
  }], mode: [{
@@ -197,4 +197,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
197
197
  }], selectedView: [{
198
198
  type: Input
199
199
  }] } });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWN1c3RvbS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWxpc3Qtdmlldy9jb21wb25lbnRzL2VudGl0eS1jdXN0b20tdmlldy9lbnRpdHktY3VzdG9tLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vZW50aXR5LWxheW91dC9lbnRpdHktbGlzdC12aWV3L2NvbXBvbmVudHMvZW50aXR5LWN1c3RvbS12aWV3L2VudGl0eS1jdXN0b20tdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQXVJLHdCQUF3QixFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pOLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYXRDLE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSxtQkFBbUI7SUFUM0U7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QUNwRixJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNiLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBN0tVLGtDQUFrQztrR0FBbEMsa0NBQWtDLGlIQU5sQztZQUNUO2dCQUNFLE9BQU8sRUFBRSxjQUFjO2FBQ3hCO1NBQ0YsaURDNUJILGtyWEFtUUE7OzJGRHJPYSxrQ0FBa0M7a0JBVDlDLFNBQVM7c0NBRVMsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsY0FBYzt5QkFDeEI7cUJBQ0Y7OEJBUVEsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhMb2NhdGlvbiwgQVhTdHlsZUNvbG9yVHlwZSwgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcclxuaW1wb3J0IHsgQVhCYXNlUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcclxuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9hc3QnO1xyXG5pbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XHJcbmltcG9ydCB7IEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWcsIEFYUEVudGl0eUxpc3REaXNwbGF5Q29sdW1uQ29uZmlnLCBBWFBFbnRpdHlMaXN0U29ydENvbmZpZywgQVhQRW50aXR5UHJvcGVydHlDb25maWcsIEFYUEZpbHRlck9wZXJhdG9yLCBBWFBTY2hlbWFSZWdpc3RyeVNlcnZpY2UsIEVRX09QRVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XHJcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgU2lnbmFsLFxyXG4gIFdyaXRhYmxlU2lnbmFsLFxyXG4gIGNvbXB1dGVkLFxyXG4gIGluamVjdCxcclxuICBzaWduYWwsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcblxyXG5pbXBvcnQgeyBBWFBMaXN0Vmlld0xvYWRlciB9IGZyb20gJy4uLy4uL2xpc3Qtdmlldy5jb25maWcnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS1jdXN0b20tdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEFYVW5zdWJzY3JpYmVyLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5Q3JlYXRlQ3VzdG9tVmlld0NvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xyXG4gIHByaXZhdGUgc2NoZW1hUmVnaXN0cnkgPSBpbmplY3QoQVhQU2NoZW1hUmVnaXN0cnlTZXJ2aWNlKTtcclxuICBwcml2YXRlIHRvYXN0U2VydmljZSA9IGluamVjdChBWFRvYXN0U2VydmljZSk7XHJcbiAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVyID0gaW5qZWN0KEFYVW5zdWJzY3JpYmVyKTtcclxuXHJcbiAgQElucHV0KCkgbG9hZGVyITogQVhQTGlzdFZpZXdMb2FkZXI7XHJcbiAgQElucHV0KCkgbW9kZTogJ2VkaXQnIHwgJ2NyZWF0ZScgPSAnY3JlYXRlJztcclxuICBASW5wdXQoKSBzZWxlY3RlZFZpZXc6IGFueSA9IHt9O1xyXG5cclxuICBwcm90ZWN0ZWQgc2hvd05hbWVJbnB1dDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xyXG4gIHByb3RlY3RlZCBwcm9wczogV3JpdGFibGVTaWduYWw8QVhQRW50aXR5UHJvcGVydHlDb25maWdbXT4gPSBzaWduYWwoW10pO1xyXG5cclxuICBwcm90ZWN0ZWQgY29sdW1uczogV3JpdGFibGVTaWduYWw8QVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXT4gPSBzaWduYWwoW10pO1xyXG4gIHByb3RlY3RlZCB2aXNpYmxlQ29sdW1uczogU2lnbmFsPEFYUEVudGl0eUxpc3REaXNwbGF5Q29sdW1uQ29uZmlnW10+ID0gY29tcHV0ZWQoKCkgPT5cclxuICAgIHRoaXMuY29sdW1ucygpLmZpbHRlcigoYykgPT4gYy52aXNpYmxlKVxyXG4gICk7XHJcbiAgcHJvdGVjdGVkIGNvbmRpdGlvbnM6IFdyaXRhYmxlU2lnbmFsPEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWdbXT4gPSBzaWduYWwoW10pO1xyXG4gIHByb3RlY3RlZCBzb3J0czogV3JpdGFibGVTaWduYWw8QVhQRW50aXR5TGlzdFNvcnRDb25maWdbXT4gPSBzaWduYWwoW10pO1xyXG5cclxuICBwcm90ZWN0ZWQgc2VsZWN0ZWRDb25kaXRpb25OYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBwcm90ZWN0ZWQgdmlld05hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BzLnNldChjbG9uZURlZXAodGhpcy5sb2FkZXIuZW50aXR5LnByb3BlcnRpZXMpKTtcclxuICAgIHRoaXMuY29sdW1ucy5zZXQoY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRWaWV3LmNvbHVtbnMpKTtcclxuICAgIHRoaXMuY29uZGl0aW9ucy5zZXQoY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRWaWV3LmNvbmRpdGlvbnMpKTtcclxuICAgIHRoaXMuc29ydHMuc2V0KGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkVmlldy5zb3J0cykpO1xyXG4gICAgdGhpcy5sb2FkZXIudmlld3MkLnBpcGUodGhpcy5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgodmlld3MpID0+IHtcclxuICAgICAgdGhpcy52aWV3TmFtZXMgPSB2aWV3cy5tYXAoKHYpID0+IHYubmFtZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vKioqKioqKioqKioqKioqKioqIENvbHVtbnMgKioqKioqKioqKioqKioqKioqLy9cclxuICB1cGRhdGVDb2x1bW5JdGVtKGV2ZW50OiBBWFZhbHVlQ2hhbmdlZEV2ZW50LCBjb2xOYW1lOiBzdHJpbmcpIHtcclxuICAgIGlmIChldmVudC5pc1VzZXJJbnRlcmFjdGlvbikge1xyXG4gICAgICB0aGlzLmNvbHVtbnMudXBkYXRlKChwcmV2Q29scykgPT5cclxuICAgICAgICBwcmV2Q29scy5tYXAoKGNvbCkgPT4gKGNvbC5uYW1lID09PSBjb2xOYW1lID8geyAuLi5jb2wsIHZpc2libGU6IGV2ZW50LnZhbHVlIH0gOiBjb2wpKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8qKioqKioqKioqKioqKioqKiogU29ydHMgKioqKioqKioqKioqKioqKioqLy9cclxuICB1cGRhdGVTb3J0SXRlbShpdGVtOiBBWFBFbnRpdHlMaXN0U29ydENvbmZpZykge1xyXG4gICAgdGhpcy5zb3J0cy51cGRhdGUoKHByZXZTb3J0cykgPT5cclxuICAgICAgcHJldlNvcnRzLm1hcCgoc29ydCkgPT4gKHNvcnQubmFtZSA9PT0gaXRlbS5uYW1lID8geyAuLi5zb3J0LCBkaXI6IHNvcnQuZGlyID09ICdhc2MnID8gJ2Rlc2MnIDogJ2FzYycgfSA6IHNvcnQpKVxyXG4gICAgKTtcclxuICB9XHJcbiAgYWRkU29ydEl0ZW0oKSB7XHJcbiAgICBjb25zdCBzb3J0TmFtZXMgPSB0aGlzLnNvcnRzKCkubWFwKChwKSA9PiBwLm5hbWUpO1xyXG4gICAgY29uc29sZS5sb2codGhpcy5wcm9wcygpLCBzb3J0TmFtZXMpO1xyXG4gICAgY29uc3QgbmFtZSA9IHRoaXMucHJvcHMoKS5maW5kKChjKSA9PiAhc29ydE5hbWVzLmluY2x1ZGVzKGMubmFtZSkpPy5uYW1lIHx8IHRoaXMucHJvcHMoKVswXS5uYW1lO1xyXG4gICAgdGhpcy5zb3J0cy51cGRhdGUoKHByZXZTb3J0cykgPT4gWy4uLnByZXZTb3J0cywgeyBuYW1lLCBkaXI6ICdhc2MnIH0gYXMgQVhQRW50aXR5TGlzdFNvcnRDb25maWddKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZVNvcnRJdGVtKGl0ZW06IEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnKSB7XHJcbiAgICB0aGlzLnNvcnRzLnVwZGF0ZSgocHJldlNvcnRzKSA9PiBwcmV2U29ydHMuZmlsdGVyKChzb3J0KSA9PiBpdGVtLm5hbWUgIT0gc29ydC5uYW1lKSk7XHJcbiAgfVxyXG5cclxuICAvLyoqKioqKioqKioqKioqKioqKiBDb25kaXRpb25zICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgcHJvdGVjdGVkIGdldFNjaGVtYShuYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnByb3BzKCkuZmluZCgoYykgPT4gYy5uYW1lID09IG5hbWUpPy5zY2hlbWEgPz8gJyc7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0T3BlcmF0b3JzKG5hbWU6IHN0cmluZyk6IEFYUEZpbHRlck9wZXJhdG9yW10ge1xyXG4gICAgY29uc3Qgc2NoZW1hTmFtZSA9IHRoaXMucHJvcHMoKS5maW5kKChjKSA9PiBjLm5hbWUgPT0gbmFtZSk/LnNjaGVtYSA/PyAnJztcclxuICAgIHJldHVybiB0aGlzLnNjaGVtYVJlZ2lzdHJ5LnJlc29sdmUoc2NoZW1hTmFtZSk/LmZpbHRlck9wdGlvbnM/Lm9wZXJhdG9ycyA/PyBbXTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3BlcmF0b3IobmFtZTogc3RyaW5nKTogQVhQRmlsdGVyT3BlcmF0b3Ige1xyXG4gICAgY29uc3Qgc2NoZW1hTmFtZSA9IHRoaXMucHJvcHMoKS5maW5kKChjKSA9PiBjLm5hbWUgPT0gbmFtZSk/LnNjaGVtYSA/PyAnJztcclxuICAgIHJldHVybiB0aGlzLnNjaGVtYVJlZ2lzdHJ5LnJlc29sdmUoc2NoZW1hTmFtZSk/LmZpbHRlck9wdGlvbnM/LmRlZmF1bHQgPz8gRVFfT1BFUjtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRPcGVyYXRvclRpdGxlKHNjaGVtYU5hbWU6IHN0cmluZywgb3ByTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmdldE9wZXJhdG9ycyhzY2hlbWFOYW1lKS5maW5kKChjKSA9PiBjLm5hbWUgPT0gb3ByTmFtZSk/LnRpdGxlIHx8ICcnO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgcmVzZXRTZWxlY3RlZEZpZWxkTmFtZXMoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ29uZGl0aW9uTmFtZXMgPSB0aGlzLmNvbmRpdGlvbnMoKS5tYXAoKGMpID0+IGMubmFtZSk7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBhZGRDb25kaXRpb24oKSB7XHJcbiAgICBjb25zdCBjb25kaXRpb25zID0gdGhpcy5zZWxlY3RlZENvbmRpdGlvbk5hbWVzLm1hcCgoYykgPT4ge1xyXG4gICAgICBjb25zdCBvcHIgPSB0aGlzLmdldERlZmF1bHRPcGVyYXRvcihjKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOiBjLFxyXG4gICAgICAgIG9wZXJhdG9yOiBvcHIubmFtZSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jb25kaXRpb25zLnNldChjb25kaXRpb25zIGFzIGFueSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVDb25kaXRpb24oaXRlbTogQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZykge1xyXG4gICAgdGhpcy5jb25kaXRpb25zLnVwZGF0ZSgocHJldkNvbmRpdGlvbnMpID0+IHByZXZDb25kaXRpb25zLmZpbHRlcigoY29uKSA9PiBjb24ubmFtZSAhPSBpdGVtLm5hbWUpKTtcclxuICB9XHJcblxyXG4gIC8vKioqKioqKioqKioqKioqKioqIENvbW1vbiAqKioqKioqKioqKioqKioqKiovL1xyXG4gIHByb3RlY3RlZCBkcm9wKHR5cGU6ICdjb2x1bW5zJyB8ICdjb25kaXRpb25zJyB8ICdzb3J0cycsIGV2ZW50OiBDZGtEcmFnRHJvcDx1bmtub3duW10+KSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnY29sdW1ucyc6XHJcbiAgICAgICAgdGhpcy5jb2x1bW5zLnVwZGF0ZSgocHJldkNvbHMpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNvbHVtbnMgPSBwcmV2Q29scztcclxuICAgICAgICAgIG1vdmVJdGVtSW5BcnJheShjb2x1bW5zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgICAgICAgcmV0dXJuIGNvbHVtbnM7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3NvcnRzJzpcclxuICAgICAgICB0aGlzLnNvcnRzLnVwZGF0ZSgocHJldlNvcnRzKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBzb3J0cyA9IHByZXZTb3J0cztcclxuICAgICAgICAgIG1vdmVJdGVtSW5BcnJheShzb3J0cywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgICAgICAgIHJldHVybiBzb3J0cztcclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY29uZGl0aW9ucyc6XHJcbiAgICAgICAgdGhpcy5jb25kaXRpb25zLnVwZGF0ZSgocHJldkNvbmRpdGlvbnMpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNvbmRpdGlvbnMgPSBwcmV2Q29uZGl0aW9ucztcclxuICAgICAgICAgIG1vdmVJdGVtSW5BcnJheShjb25kaXRpb25zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgICAgICAgcmV0dXJuIGNvbmRpdGlvbnM7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VWaWV3TmFtZVRvZ2dsZSgpIHtcclxuICAgIHRoaXMuc2hvd05hbWVJbnB1dC51cGRhdGUoKHByZXYpID0+ICFwcmV2KTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlVmlld05hbWUodGl0bGU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRpdGxlLnJlcGxhY2UoL1xccysvZywgJy0nKS50b0xvd2VyQ2FzZSgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQXBwbHlDbGljaygpIHtcclxuICAgIGNvbnN0IHVwZGF0ZWRWaWV3ID0ge1xyXG4gICAgICAuLi50aGlzLnNlbGVjdGVkVmlldyxcclxuICAgICAgbmFtZTogdGhpcy5nZW5lcmF0ZVZpZXdOYW1lKHRoaXMuc2VsZWN0ZWRWaWV3LnRpdGxlKSxcclxuICAgICAgY29uZGl0aW9uczogdGhpcy5jb25kaXRpb25zKCksXHJcbiAgICAgIGNvbHVtbnM6IHRoaXMuY29sdW1ucygpLFxyXG4gICAgICBzb3J0czogdGhpcy5zb3J0cygpLFxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLnZpZXdOYW1lcy5pbmNsdWRlcyh1cGRhdGVkVmlldy5uYW1lKSAmJiB0aGlzLm1vZGUgPT0gJ2NyZWF0ZScpIHtcclxuICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7XHJcbiAgICAgICAgdGl0bGU6ICdJbnZhbGlkIFRpdGxlJyxcclxuICAgICAgICBjb250ZW50OiAnVGhlIHRpdGxlIHlvdSBoYXZlIGNob3NlbiBhbHJlYWR5IGV4aXN0cy4gUGxlYXNlIGNob29zZSBhIGRpZmZlcmVudCB0aXRsZSBmb3IgeW91ciBjdXN0b20gdmlldy4nLFxyXG4gICAgICAgIGNvbG9yOiAnZGFuZ2VyJyBhcyBBWFN0eWxlQ29sb3JUeXBlLFxyXG4gICAgICAgIGxvY2F0aW9uOiAnYm90dG9tLWNlbnRlcicgYXMgQVhMb2NhdGlvbixcclxuICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICB0aW1lT3V0OiAzMDAwLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2xvc2UoeyBzYXZlOiB0cnVlLCB1cGRhdGVkVmlldyB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZVJlc2V0Q2xpY2soKSB7XHJcbiAgICB0aGlzLmNvbmRpdGlvbnMuc2V0KGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkVmlldy5jb25kaXRpb25zKSk7XHJcbiAgICB0aGlzLmNvbHVtbnMuc2V0KGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkVmlldy5jb2x1bW5zKSk7XHJcbiAgICB0aGlzLnNvcnRzLnNldChjbG9uZURlZXAodGhpcy5zZWxlY3RlZFZpZXcuc29ydHMpKTtcclxuICB9XHJcbiAgaGFuZGxlRGlzY2FyZENsaWNrKCkge1xyXG4gICAgdGhpcy5jbG9zZSh7IHNhdmU6IGZhbHNlIH0pO1xyXG4gIH1cclxuICBoYW5kbGVDYW5jZWxDbGljaygpIHtcclxuICAgIHRoaXMuY2xvc2UoeyBzYXZlOiBmYWxzZSB9KTtcclxuICB9XHJcbiAgaGFuZGxlRGVsZXRlQ2xpY2soKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2VcclxuICAgICAgLmNvbmZpcm0oJ1dhcm5pbmcnLCAnQXJlIHlvdSBzdXJlIHdhbnQgdG8gZGVsZXRlIHRoaXMgdmlldz8nLCAnZGFuZ2VyJywgJ2hvcml6b250YWwnKVxyXG4gICAgICAudGhlbigoZGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhLnJlc3VsdCkge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZSh7IGRlbGV0ZTogdHJ1ZSwgdmlld05hbWU6IHRoaXMuc2VsZWN0ZWRWaWV3Lm5hbWUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGF4LWhlYWRlciBjbGFzcz1cImF4LXAtNCBheC1mbGV4IGF4LWp1c3RpZnktYmV0d2VlbiBheC1ib3JkZXItYlwiPlxyXG4gIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgQGlmIChzaG93TmFtZUlucHV0KCkgJiYgbW9kZT09PSdjcmVhdGUnKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtdy02MFwiPlxyXG4gICAgICA8YXgtdGV4dC1ib3ggY2xhc3M9XCJheC1zbVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRWaWV3LnRpdGxlXCI+XHJcbiAgICAgICAgQGlmKHNob3dOYW1lSW5wdXQoKSl7XHJcbiAgICAgICAgPGF4LXN1ZmZpeD5cclxuICAgICAgICAgIDxheC1idXR0b24gKG9uQ2xpY2spPVwiY2hhbmdlVmlld05hbWVUb2dnbGUoKVwiIGxvb2s9XCJkZWZhdWx0XCI+XHJcbiAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29kaWxkIGZhcyBmYS1jaGVjayBheC10ZXh0LXNtXCI+IDwvYXgtaWNvbj5cclxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgIDwvYXgtc3VmZml4PlxyXG4gICAgICAgIH1cclxuICAgICAgPC9heC10ZXh0LWJveD5cclxuICAgIDwvZGl2PlxyXG4gICAgfUBlbHNlIHtcclxuICAgIDxzcGFuIGNsYXNzPVwiYXgtdGV4dC1sZyBheC1mb250LXNlbWlib2xkXCI+e3sgc2VsZWN0ZWRWaWV3LnRpdGxlIH19PC9zcGFuPlxyXG4gICAgfSBAaWYgKG1vZGU9PT1cImNyZWF0ZVwiKSB7XHJcbiAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgteHNcIiAob25DbGljayk9XCJjaGFuZ2VWaWV3TmFtZVRvZ2dsZSgpXCIgY29sb3I9XCJkZWZhdWx0XCI+XHJcbiAgICAgIEBpZighc2hvd05hbWVJbnB1dCgpICl7XHJcbiAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtcmVndWxhciBmYS1wZW4gYXgtdGV4dC1zbSBheC10ZXh0LW5ldXRyYWwtNjAwXCI+IDwvYXgtaWNvbj5cclxuICAgICAgfVxyXG4gICAgPC9heC1idXR0b24+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbiAgPGF4LWNsb3NlLWJ1dHRvbj48L2F4LWNsb3NlLWJ1dHRvbj5cclxuPC9heC1oZWFkZXI+XHJcbjxkaXYgY2xhc3M9XCJheC1wLTRcIj5cclxuICA8YXgtdGFicyBbY29udGVudF09XCJjb250ZW50c1wiIGxvb2s9XCJ3aXRoLWxpbmVcIj5cclxuICAgIDxheC10YWItaXRlbSB0ZXh0PVwiQ29sdW1uc1wiPlxyXG4gICAgICA8YXgtc3VmZml4PlxyXG4gICAgICAgIDxheC1iYWRnZSBbdGV4dF09XCJ2aXNpYmxlQ29sdW1ucygpLmxlbmd0aC50b1N0cmluZygpXCIgY29sb3I9XCJwcmltYXJ5XCI+IDwvYXgtYmFkZ2U+XHJcbiAgICAgIDwvYXgtc3VmZml4PlxyXG4gICAgICA8YXgtY29udGVudD5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTQgYXgtcC00IGF4LXNlbGVjdC1ub25lIGF4LWgtWzQwMHB4XVwiXHJcbiAgICAgICAgICBjZGtEcm9wTGlzdFxyXG4gICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCdjb2x1bW5zJywgJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTMgYXgtdy1mdWxsIGF4LXNvcnRlZC1saXN0IGF4LW92ZXJmbG93LWF1dG8gYXgtcGUtMlwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbHVtbnMoKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LXB5LTEgYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlblwiIGNka0RyYWcgY2RrRHJhZ0JvdW5kYXJ5PVwiLmF4LXNvcnRlZC1saXN0XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTNcIiBjZGtEcmFnSGFuZGxlPlxyXG4gICAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWdyaXAtZG90cy12ZXJ0aWNhbCBheC1jdXJzb3ItbW92ZVwiPjwvYXgtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJheC1mb250LW1lZGl1bSBheC10ZXh0LXNtXCI+e3sgaXRlbS50aXRsZSB9fTwvcD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGF4LXN3aXRjaFxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtLnZpc2libGVcIlxyXG4gICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwidXBkYXRlQ29sdW1uSXRlbSgkZXZlbnQsIGl0ZW0ubmFtZSlcIlxyXG4gICAgICAgICAgICAgICAgPjwvYXgtc3dpdGNoPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2F4LWNvbnRlbnQ+XHJcbiAgICA8L2F4LXRhYi1pdGVtPlxyXG4gICAgPGF4LXRhYi1pdGVtIHRleHQ9XCJDb25kaXRpb25zXCI+XHJcbiAgICAgIDxheC1zdWZmaXg+XHJcbiAgICAgICAgPGF4LWJhZGdlIFt0ZXh0XT1cImNvbmRpdGlvbnMoKS5sZW5ndGgudG9TdHJpbmcoKVwiIGNvbG9yPVwicHJpbWFyeVwiPiA8L2F4LWJhZGdlPlxyXG4gICAgICA8L2F4LXN1ZmZpeD5cclxuICAgICAgPGF4LWNvbnRlbnQ+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWp1c3RpZnktc3RhcnQgYXgtZ2FwLTQgYXgtcHktNCBheC1zZWxlY3Qtbm9uZSBheC1oLVs0MDBweF1cIlxyXG4gICAgICAgICAgW2NsYXNzLmF4LWp1c3RpZnktY2VudGVyXT1cIiFjb25kaXRpb25zKCkubGVuZ3RoXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICBAaWYoIWNvbmRpdGlvbnMoKS5sZW5ndGgpe1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxheC1pbWFnZSBzcmM9XCJhc3NldHMvZG9jdW1lbnRzLnN2Z1wiPjwvYXgtaW1hZ2U+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtbXQtNiBheC1tYi0xIGF4LWZvbnQtYm9sZFwiPk5vIEZpbHRlcnMgU2VsZWN0ZWQ8L3A+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtdGV4dC1uZXV0cmFsLTQwMCBheC10ZXh0LXNtIG1kOmF4LXRleHQtbWRcIlxyXG4gICAgICAgICAgICAgID5QbGVhc2Ugc2VsZWN0IGZpZWxkKHMpIHRoYXQgeW91IHdhbnQgdG8gZmlsdGVyPC9zcGFuXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtc29ydGVkLWxpc3QgYXgtcHgtNCBheC1weS0xIGF4LW92ZXJmbG93LWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJ2NvbmRpdGlvbnMnLCAkZXZlbnQpXCIgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgQGZvcihpdGVtIG9mIGNvbmRpdGlvbnMoKTsgdHJhY2sgaXRlbS5uYW1lICl7XHJcbiAgICAgICAgICAgICAgPGRpdiBjZGtEcmFnIGNka0RyYWdCb3VuZGFyeT1cIi5heC1zb3J0ZWQtbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LW1zLTQgYXgtZmxleCBheC1pdGVtcy1zdGFydCBheC1nYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8YXgtbGFiZWw+e3sgbG9hZGVyLmdldFByb3AoaXRlbS5uYW1lKT8udGl0bGUgfX08L2F4LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICBAaWYoZ2V0T3BlcmF0b3JUaXRsZShpdGVtLm5hbWUsaXRlbS5vcGVyYXRvcikpe1xyXG4gICAgICAgICAgICAgICAgICA8YXgtYmFkZ2VcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LXRleHQteHNcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xvb2tdPVwiJ3R3b3RvbmUnXCJcclxuICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJnZXRPcGVyYXRvclRpdGxlKGl0ZW0ubmFtZSwgaXRlbS5vcGVyYXRvcilcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9heC1iYWRnZT5cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1ncm91cCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1ncmlwLWRvdHMtdmVydGljYWwgYXgtY3Vyc29yLW1vdmVcIiBjZGtEcmFnSGFuZGxlPjwvYXgtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXctZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheHAtd2lkZ2V0LWZpbHRlci1yZW5kZXJlclxyXG4gICAgICAgICAgICAgICAgICAgICAgW3NjaGVtYV09XCJnZXRTY2hlbWEoaXRlbS5uYW1lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbcHJvcF09XCJsb2FkZXIuZ2V0UHJvcChpdGVtLm5hbWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cIml0ZW0udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgWyhvcGVyYXRvcildPVwiaXRlbS5vcGVyYXRvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYXhwLXdpZGdldC1maWx0ZXItcmVuZGVyZXI+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGxvb2s9XCJibGFua1wiIGNvbG9yPVwiZGFuZ2VyXCIgY2xhc3M9XCJheC1zbVwiIChvbkNsaWNrKT1cInJlbW92ZUNvbmRpdGlvbihpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtdHJhc2gtY2FuXCI+PC9heC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWdhcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC13LWZ1bGxcIiAjYWRkRmllbGQ+XHJcbiAgICAgICAgICAgICAgQGlmKGNvbmRpdGlvbnMoKS5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgIDxheC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdGV4dD1cIkFkZCBmaWVsZFwiIGxvb2s9XCJibGFua1wiIGNsYXNzPVwiYXgtc21cIj48L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgICB9QGVsc2Uge1xyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWp1c3RpZnktY2VudGVyIGF4LXctZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0ZXh0PVwiQWRkIGZpZWxkXCIgbG9vaz1cIm91dGxpbmVcIiBjbGFzcz1cImF4LW1kIGF4LXctNTZcIj48L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPGF4LXBvcG92ZXJcclxuICAgICAgICAgICAgICAgICNjb25kaXRpb25zUG9wb3ZlclxyXG4gICAgICAgICAgICAgICAgW3RhcmdldF09XCJhZGRGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICBbcGxhY2VtZW50XT1cImNvbmRpdGlvbnMoKS5sZW5ndGggPyAnYm90dG9tLXN0YXJ0JyA6ICdib3R0b20nXCJcclxuICAgICAgICAgICAgICAgIFtvZmZzZXRZXT1cIjhcIlxyXG4gICAgICAgICAgICAgICAgW29wZW5Pbl09XCIndG9nZ2xlJ1wiXHJcbiAgICAgICAgICAgICAgICBbY2xvc2VPbl09XCInY2xpY2tPdXQnXCJcclxuICAgICAgICAgICAgICAgIFthZGFwdGl2aXR5RW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIChvbk9wZW5lZCk9XCJyZXNldFNlbGVjdGVkRmllbGROYW1lcygpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtYmctc3VyZmFjZSBheC1ib3JkZXIgYXgtYm9yZGVyLWRlZmF1bHQgYXgtcm91bmRlZC1tZCBheC1zaGFkb3ctbWQgYXgtdy1mdWxsIGF4LW1pbi13LVsyNTBweF1cIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtYm9yZGVyLWItWzFweF0gYXgtcGItMiBheC1tYi0yIGF4LXAtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC10aXRsZSBjbGFzcz1cImF4LWZvbnQtYm9sZFwiPkZpZWxkczwvYXgtdGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWF4LWgtNDggYXgtb3ZlcmZsb3ctYXV0b1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1zZWxlY3Rpb24tbGlzdFxyXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwiJ25hbWUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0RmllbGRdPVwiJ3RpdGxlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkQ29uZGl0aW9uTmFtZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2RpcmVjdGlvbl09XCIndmVydGljYWwnXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJwcm9wcygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9heC1zZWxlY3Rpb24tbGlzdD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWp1c3RpZnktZW5kIGF4LWJvcmRlci10LVsxcHhdIGF4LXAtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImFkZENvbmRpdGlvbigpOyBjb25kaXRpb25zUG9wb3Zlci5jbG9zZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dD1cIkNvbmZpcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9heC1wb3BvdmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2F4LWNvbnRlbnQ+XHJcbiAgICA8L2F4LXRhYi1pdGVtPlxyXG4gICAgPGF4LXRhYi1pdGVtIHRleHQ9XCJTb3J0aW5nXCI+XHJcbiAgICAgIDxheC1zdWZmaXg+XHJcbiAgICAgICAgPGF4LWJhZGdlIFt0ZXh0XT1cInNvcnRzKCkubGVuZ3RoLnRvU3RyaW5nKClcIiBjb2xvcj1cInByaW1hcnlcIj4gPC9heC1iYWRnZT5cclxuICAgICAgPC9heC1zdWZmaXg+XHJcbiAgICAgIDxheC1jb250ZW50PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiYXgtZmxleCBheC1wLTQgYXgtZmxleC1jb2wgYXgtanVzdGlmeS1zdGFydCBheC1nYXAtNCBheC1zZWxlY3Qtbm9uZSBheC1vdmVyZmxvdy1hdXRvIGF4LWgtWzQwMHB4XVwiXHJcbiAgICAgICAgICBbY2xhc3MuYXgtanVzdGlmeS1jZW50ZXJdPVwiIXNvcnRzKCkubGVuZ3RoXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICBAaWYoIXNvcnRzKCkubGVuZ3RoKXtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8YXgtaW1hZ2Ugc3JjPVwiYXNzZXRzL2RvY3VtZW50cy5zdmdcIj48L2F4LWltYWdlPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cImF4LW10LTYgYXgtbWItMSBheC1mb250LWJvbGRcIj5ObyBTb3J0cyBTZWxlY3RlZDwvcD5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LW5ldXRyYWwtNDAwIGF4LXRleHQtc20gbWQ6YXgtdGV4dC1tZFwiXHJcbiAgICAgICAgICAgICAgPlBsZWFzZSBzZWxlY3QgZmllbGQocykgdGhhdCB5b3Ugd2FudCB0byBzb3J0PC9zcGFuXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfUBlbHNlIHtcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2RrRHJvcExpc3RcclxuICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCdzb3J0cycsICRldmVudClcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTMgYXgtdy1mdWxsIGF4LXNvcnRlZC1saXN0IGF4LXB5LTEgYXgtb3ZlcmZsb3ctYXV0b1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc29ydHMoKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWdhcC0yIGF4LWl0ZW1zLWNlbnRlclwiIGNka0RyYWcgY2RrRHJhZ0JvdW5kYXJ5PVwiLmF4LXNvcnRlZC1saXN0XCI+XHJcbiAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWdyaXAtZG90cy12ZXJ0aWNhbCBheC1jdXJzb3ItbW92ZVwiIGNka0RyYWdIYW5kbGU+PC9heC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3ggW2RhdGFTb3VyY2VdPVwicHJvcHMoKVwiIHZhbHVlRmllbGQ9XCJuYW1lXCIgdGV4dEZpZWxkPVwidGl0bGVcIiBbKG5nTW9kZWwpXT1cIml0ZW0ubmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9heC1zZWxlY3QtYm94PlxyXG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBbY29sb3JdPVwiJ2RlZmF1bHQnXCIgY2xhc3M9XCJheC1zbVwiIChjbGljayk9XCJ1cGRhdGVTb3J0SXRlbShpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8YXgtaWNvblxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC10ZXh0LXByaW1hcnldPVwiaXRlbS5kaXIgPT0gJ2FzYydcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEtc29saWQgZmEtYXJyb3ctdXAtbG9uZyBheC10ZXh0LW5ldXRyYWwtNDAwXCJcclxuICAgICAgICAgICAgICAgICAgPjwvYXgtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgPGF4LWljb25cclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtdGV4dC1wcmltYXJ5XT1cIml0ZW0uZGlyID09ICdkZXNjJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYS1zb2xpZCBmYS1hcnJvdy1kb3duLWxvbmcgYXgtdGV4dC1uZXV0cmFsLTQwMFwiXHJcbiAgICAgICAgICAgICAgICAgID48L2F4LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cInJlbW92ZVNvcnRJdGVtKGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtdHJhc2gtY2FuIGF4LXRleHQtZGFuZ2VyLTUwMFwiPjwvYXgtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWdhcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC13LWZ1bGxcIiAjYWRkRmllbGQ+XHJcbiAgICAgICAgICAgICAgQGlmKHNvcnRzKCkubGVuZ3RoKXtcclxuICAgICAgICAgICAgICA8YXgtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAob25DbGljayk9XCJhZGRTb3J0SXRlbSgpXCJcclxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiQWRkIGZpZWxkXCJcclxuICAgICAgICAgICAgICAgIGxvb2s9XCJibGFua1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcclxuICAgICAgICAgICAgICA+PC9heC1idXR0b24+XHJcbiAgICAgICAgICAgICAgfUBlbHNlIHtcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1qdXN0aWZ5LWNlbnRlciBheC13LWZ1bGxcIj5cclxuICAgICAgICAgICAgICAgIDxheC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiYWRkU29ydEl0ZW0oKVwiXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgIHRleHQ9XCJBZGQgZmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICBsb29rPVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtbWQgYXgtdy01NlwiXHJcbiAgICAgICAgICAgICAgICA+PC9heC1idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2F4LWNvbnRlbnQ+XHJcbiAgICA8L2F4LXRhYi1pdGVtPlxyXG4gIDwvYXgtdGFicz5cclxuICA8bmctdGVtcGxhdGUgW2F4VGFiQ29udGVudF0gI2NvbnRlbnRzPVwiYXhUYWJDb250ZW50XCI+IDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG48YXgtZm9vdGVyIGNsYXNzPVwiIWF4LWp1c3RpZnktZW5kXCI+XHJcbiAgQGlmIChtb2RlPT09XCJlZGl0XCIpIHtcclxuICA8YXgtZHJvcGRvd24tYnV0dG9uIHRleHQ9XCJEaXNjYXJkXCIgKG9uQ2xpY2spPVwiaGFuZGxlRGlzY2FyZENsaWNrKClcIj5cclxuICAgIDxheC1idXR0b24taXRlbS1saXN0PlxyXG4gICAgICA8YXgtYnV0dG9uLWl0ZW0gdGV4dD1cIlJlc2V0XCIgKG9uQ2xpY2spPVwiaGFuZGxlUmVzZXRDbGljaygpXCI+XHJcbiAgICAgICAgPGF4LXByZWZpeD5cclxuICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1zb2xpZCBmYS1yb3RhdGUtbGVmdCBmYS1mbGlwLWhvcml6b250YWxcIj48L2F4LWljb24+XHJcbiAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XHJcbiAgICAgIDxheC1idXR0b24taXRlbSBjbGFzcz1cImF4LXRleHQtZGFuZ2VyXCIgdGV4dD1cIkRlbGV0ZVwiIChvbkNsaWNrKT1cImhhbmRsZURlbGV0ZUNsaWNrKClcIj5cclxuICAgICAgICA8YXgtcHJlZml4PiA8YXgtaWNvbiBpY29uPVwiZmFzIGZhLXRyYXNoIGZhLWZsaXAtaG9yaXpvbnRhbFwiPjwvYXgtaWNvbj4gPC9heC1wcmVmaXhcclxuICAgICAgPjwvYXgtYnV0dG9uLWl0ZW0+XHJcbiAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XHJcbiAgPC9heC1kcm9wZG93bi1idXR0b24+XHJcbiAgfSBAZWxzZSB7XHJcbiAgPGF4LWJ1dHRvbiB0ZXh0PVwiQ2FuY2VsXCIgbG9vaz1cIm91dGxpbmVcIiAob25DbGljayk9XCJoYW5kbGVDYW5jZWxDbGljaygpXCI+PC9heC1idXR0b24+XHJcbiAgfVxyXG4gIDxheC1idXR0b25cclxuICAgIFt0ZXh0XT1cIm1vZGUgPT09ICdjcmVhdGUnID8gJ1NhdmUnIDogJ1NhdmUgQ2hhbmdlcydcIlxyXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgIChvbkNsaWNrKT1cImhhbmRsZUFwcGx5Q2xpY2soKVwiXHJcbiAgPjwvYXgtYnV0dG9uPlxyXG48L2F4LWZvb3Rlcj5cclxuIl19
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWN1c3RvbS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWxpc3Qtdmlldy9jb21wb25lbnRzL2VudGl0eS1jdXN0b20tdmlldy9lbnRpdHktY3VzdG9tLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vZW50aXR5LWxheW91dC9lbnRpdHktbGlzdC12aWV3L2NvbXBvbmVudHMvZW50aXR5LWN1c3RvbS12aWV3L2VudGl0eS1jdXN0b20tdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQXVJLHdCQUF3QixFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pOLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYXRDLE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSxtQkFBbUI7SUFUM0U7O1FBVVUsbUJBQWMsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNsRCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4QyxlQUFVLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBR25DLFNBQUksR0FBc0IsUUFBUSxDQUFDO1FBQ25DLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBRXRCLGtCQUFhLEdBQTRCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RCxVQUFLLEdBQThDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU5RCxZQUFPLEdBQXVELE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6RSxtQkFBYyxHQUErQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ25GLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDeEMsQ0FBQztRQUNRLGVBQVUsR0FBbUQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLFVBQUssR0FBOEMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTlELDJCQUFzQixHQUFhLEVBQUUsQ0FBQztRQUN0QyxjQUFTLEdBQWEsRUFBRSxDQUFDO0tBeUpwQztJQXZKb0IsUUFBUTtRQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzVFLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlEQUFpRDtJQUNqRCxnQkFBZ0IsQ0FBQyxLQUEwQixFQUFFLE9BQWU7UUFDMUQsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQy9CLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDdkYsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsK0NBQStDO0lBQy9DLGNBQWMsQ0FBQyxJQUE2QjtRQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQzlCLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDakgsQ0FBQztJQUNKLENBQUM7SUFDRCxXQUFXO1FBQ1QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNqRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUE2QixDQUFDLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQTZCO1FBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxvREFBb0Q7SUFDMUMsU0FBUyxDQUFDLElBQVk7UUFDOUIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVTLFlBQVksQ0FBQyxJQUFZO1FBQ2pDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUMxRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLGFBQWEsRUFBRSxTQUFTLElBQUksRUFBRSxDQUFDO0lBQ2pGLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxJQUFZO1FBQ3ZDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUMxRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLGFBQWEsRUFBRSxPQUFPLElBQUksT0FBTyxDQUFDO0lBQ3BGLENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxVQUFrQixFQUFFLE9BQWU7UUFDNUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ25GLENBQUM7SUFDUyx1QkFBdUI7UUFDL0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ1MsWUFBWTtRQUNwQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdkQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsUUFBUSxFQUFFLEdBQUcsQ0FBQyxJQUFJO2FBQ25CLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQWlCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQWtDO1FBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFRCxnREFBZ0Q7SUFDdEMsSUFBSSxDQUFDLElBQXdDLEVBQUUsS0FBNkI7UUFDcEYsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssU0FBUztnQkFDWixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUMvQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUM7b0JBQ3pCLGVBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ2xFLE9BQU8sT0FBTyxDQUFDO2dCQUNqQixDQUFDLENBQUMsQ0FBQztnQkFDSCxNQUFNO1lBQ1IsS0FBSyxPQUFPO2dCQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7b0JBQzlCLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQztvQkFDeEIsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDaEUsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUNSLEtBQUssWUFBWTtnQkFDZixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO29CQUN4QyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUM7b0JBQ2xDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ3JFLE9BQU8sVUFBVSxDQUFDO2dCQUNwQixDQUFDLENBQUMsQ0FBQztnQkFDSCxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzVCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLEdBQUcsSUFBSSxDQUFDLFlBQVk7WUFDcEIsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUNwRCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUM3QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtTQUNwQixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUN2RSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDckIsS0FBSyxFQUFFLGVBQWU7Z0JBQ3RCLE9BQU8sRUFBRSxpR0FBaUc7Z0JBQzFHLEtBQUssRUFBRSxRQUE0QjtnQkFDbkMsUUFBUSxFQUFFLGVBQTZCO2dCQUN2QyxXQUFXLEVBQUUsSUFBSTtnQkFDakIsT0FBTyxFQUFFLElBQUk7YUFDZCxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBQ0Qsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsYUFBYTthQUNmLE9BQU8sQ0FBQyxTQUFTLEVBQUUsd0NBQXdDLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQzthQUNwRixJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNiLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBN0tVLGtDQUFrQztrR0FBbEMsa0NBQWtDLGlIQU5sQztZQUNUO2dCQUNFLE9BQU8sRUFBRSxjQUFjO2FBQ3hCO1NBQ0YsaURDNUJILDRxV0FtUUE7OzJGRHJPYSxrQ0FBa0M7a0JBVDlDLFNBQVM7c0NBRVMsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsY0FBYzt5QkFDeEI7cUJBQ0Y7OEJBUVEsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhMb2NhdGlvbiwgQVhTdHlsZUNvbG9yVHlwZSwgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWEJhc2VQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BhZ2UnO1xuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9hc3QnO1xuaW1wb3J0IHsgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZywgQVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWcsIEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnLCBBWFBFbnRpdHlQcm9wZXJ0eUNvbmZpZywgQVhQRmlsdGVyT3BlcmF0b3IsIEFYUFNjaGVtYVJlZ2lzdHJ5U2VydmljZSwgRVFfT1BFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBTaWduYWwsXG4gIFdyaXRhYmxlU2lnbmFsLFxuICBjb21wdXRlZCxcbiAgaW5qZWN0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgQVhQTGlzdFZpZXdMb2FkZXIgfSBmcm9tICcuLi8uLi9saXN0LXZpZXcuY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktY3VzdG9tLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhVbnN1YnNjcmliZXIsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5Q3JlYXRlQ3VzdG9tVmlld0NvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuICBwcml2YXRlIHNjaGVtYVJlZ2lzdHJ5ID0gaW5qZWN0KEFYUFNjaGVtYVJlZ2lzdHJ5U2VydmljZSk7XG4gIHByaXZhdGUgdG9hc3RTZXJ2aWNlID0gaW5qZWN0KEFYVG9hc3RTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG4gIHByaXZhdGUgc3Vic2NyaWJlciA9IGluamVjdChBWFVuc3Vic2NyaWJlcik7XG5cbiAgQElucHV0KCkgbG9hZGVyITogQVhQTGlzdFZpZXdMb2FkZXI7XG4gIEBJbnB1dCgpIG1vZGU6ICdlZGl0JyB8ICdjcmVhdGUnID0gJ2NyZWF0ZSc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkVmlldzogYW55ID0ge307XG5cbiAgcHJvdGVjdGVkIHNob3dOYW1lSW5wdXQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJvdGVjdGVkIHByb3BzOiBXcml0YWJsZVNpZ25hbDxBWFBFbnRpdHlQcm9wZXJ0eUNvbmZpZ1tdPiA9IHNpZ25hbChbXSk7XG5cbiAgcHJvdGVjdGVkIGNvbHVtbnM6IFdyaXRhYmxlU2lnbmFsPEFYUEVudGl0eUxpc3REaXNwbGF5Q29sdW1uQ29uZmlnW10+ID0gc2lnbmFsKFtdKTtcbiAgcHJvdGVjdGVkIHZpc2libGVDb2x1bW5zOiBTaWduYWw8QVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXT4gPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuY29sdW1ucygpLmZpbHRlcigoYykgPT4gYy52aXNpYmxlKVxuICApO1xuICBwcm90ZWN0ZWQgY29uZGl0aW9uczogV3JpdGFibGVTaWduYWw8QVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZ1tdPiA9IHNpZ25hbChbXSk7XG4gIHByb3RlY3RlZCBzb3J0czogV3JpdGFibGVTaWduYWw8QVhQRW50aXR5TGlzdFNvcnRDb25maWdbXT4gPSBzaWduYWwoW10pO1xuXG4gIHByb3RlY3RlZCBzZWxlY3RlZENvbmRpdGlvbk5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICBwcm90ZWN0ZWQgdmlld05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BzLnNldChjbG9uZURlZXAodGhpcy5sb2FkZXIuZW50aXR5LnByb3BlcnRpZXMpKTtcbiAgICB0aGlzLmNvbHVtbnMuc2V0KGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkVmlldy5jb2x1bW5zKSk7XG4gICAgdGhpcy5jb25kaXRpb25zLnNldChjbG9uZURlZXAodGhpcy5zZWxlY3RlZFZpZXcuY29uZGl0aW9ucykpO1xuICAgIHRoaXMuc29ydHMuc2V0KGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkVmlldy5zb3J0cykpO1xuICAgIHRoaXMubG9hZGVyLnZpZXdzJC5waXBlKHRoaXMuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKHZpZXdzKSA9PiB7XG4gICAgICB0aGlzLnZpZXdOYW1lcyA9IHZpZXdzLm1hcCgodikgPT4gdi5uYW1lKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIENvbHVtbnMgKioqKioqKioqKioqKioqKioqLy9cbiAgdXBkYXRlQ29sdW1uSXRlbShldmVudDogQVhWYWx1ZUNoYW5nZWRFdmVudCwgY29sTmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKGV2ZW50LmlzVXNlckludGVyYWN0aW9uKSB7XG4gICAgICB0aGlzLmNvbHVtbnMudXBkYXRlKChwcmV2Q29scykgPT5cbiAgICAgICAgcHJldkNvbHMubWFwKChjb2wpID0+IChjb2wubmFtZSA9PT0gY29sTmFtZSA/IHsgLi4uY29sLCB2aXNpYmxlOiBldmVudC52YWx1ZSB9IDogY29sKSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogU29ydHMgKioqKioqKioqKioqKioqKioqLy9cbiAgdXBkYXRlU29ydEl0ZW0oaXRlbTogQVhQRW50aXR5TGlzdFNvcnRDb25maWcpIHtcbiAgICB0aGlzLnNvcnRzLnVwZGF0ZSgocHJldlNvcnRzKSA9PlxuICAgICAgcHJldlNvcnRzLm1hcCgoc29ydCkgPT4gKHNvcnQubmFtZSA9PT0gaXRlbS5uYW1lID8geyAuLi5zb3J0LCBkaXI6IHNvcnQuZGlyID09ICdhc2MnID8gJ2Rlc2MnIDogJ2FzYycgfSA6IHNvcnQpKVxuICAgICk7XG4gIH1cbiAgYWRkU29ydEl0ZW0oKSB7XG4gICAgY29uc3Qgc29ydE5hbWVzID0gdGhpcy5zb3J0cygpLm1hcCgocCkgPT4gcC5uYW1lKTtcbiAgICBjb25zb2xlLmxvZyh0aGlzLnByb3BzKCksIHNvcnROYW1lcyk7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMucHJvcHMoKS5maW5kKChjKSA9PiAhc29ydE5hbWVzLmluY2x1ZGVzKGMubmFtZSkpPy5uYW1lIHx8IHRoaXMucHJvcHMoKVswXS5uYW1lO1xuICAgIHRoaXMuc29ydHMudXBkYXRlKChwcmV2U29ydHMpID0+IFsuLi5wcmV2U29ydHMsIHsgbmFtZSwgZGlyOiAnYXNjJyB9IGFzIEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnXSk7XG4gIH1cblxuICByZW1vdmVTb3J0SXRlbShpdGVtOiBBWFBFbnRpdHlMaXN0U29ydENvbmZpZykge1xuICAgIHRoaXMuc29ydHMudXBkYXRlKChwcmV2U29ydHMpID0+IHByZXZTb3J0cy5maWx0ZXIoKHNvcnQpID0+IGl0ZW0ubmFtZSAhPSBzb3J0Lm5hbWUpKTtcbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIENvbmRpdGlvbnMgKioqKioqKioqKioqKioqKioqLy9cbiAgcHJvdGVjdGVkIGdldFNjaGVtYShuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcygpLmZpbmQoKGMpID0+IGMubmFtZSA9PSBuYW1lKT8uc2NoZW1hID8/ICcnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldE9wZXJhdG9ycyhuYW1lOiBzdHJpbmcpOiBBWFBGaWx0ZXJPcGVyYXRvcltdIHtcbiAgICBjb25zdCBzY2hlbWFOYW1lID0gdGhpcy5wcm9wcygpLmZpbmQoKGMpID0+IGMubmFtZSA9PSBuYW1lKT8uc2NoZW1hID8/ICcnO1xuICAgIHJldHVybiB0aGlzLnNjaGVtYVJlZ2lzdHJ5LnJlc29sdmUoc2NoZW1hTmFtZSk/LmZpbHRlck9wdGlvbnM/Lm9wZXJhdG9ycyA/PyBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3BlcmF0b3IobmFtZTogc3RyaW5nKTogQVhQRmlsdGVyT3BlcmF0b3Ige1xuICAgIGNvbnN0IHNjaGVtYU5hbWUgPSB0aGlzLnByb3BzKCkuZmluZCgoYykgPT4gYy5uYW1lID09IG5hbWUpPy5zY2hlbWEgPz8gJyc7XG4gICAgcmV0dXJuIHRoaXMuc2NoZW1hUmVnaXN0cnkucmVzb2x2ZShzY2hlbWFOYW1lKT8uZmlsdGVyT3B0aW9ucz8uZGVmYXVsdCA/PyBFUV9PUEVSO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldE9wZXJhdG9yVGl0bGUoc2NoZW1hTmFtZTogc3RyaW5nLCBvcHJOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldE9wZXJhdG9ycyhzY2hlbWFOYW1lKS5maW5kKChjKSA9PiBjLm5hbWUgPT0gb3ByTmFtZSk/LnRpdGxlIHx8ICcnO1xuICB9XG4gIHByb3RlY3RlZCByZXNldFNlbGVjdGVkRmllbGROYW1lcygpIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29uZGl0aW9uTmFtZXMgPSB0aGlzLmNvbmRpdGlvbnMoKS5tYXAoKGMpID0+IGMubmFtZSk7XG4gIH1cbiAgcHJvdGVjdGVkIGFkZENvbmRpdGlvbigpIHtcbiAgICBjb25zdCBjb25kaXRpb25zID0gdGhpcy5zZWxlY3RlZENvbmRpdGlvbk5hbWVzLm1hcCgoYykgPT4ge1xuICAgICAgY29uc3Qgb3ByID0gdGhpcy5nZXREZWZhdWx0T3BlcmF0b3IoYyk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiBjLFxuICAgICAgICBvcGVyYXRvcjogb3ByLm5hbWUsXG4gICAgICB9O1xuICAgIH0pO1xuICAgIHRoaXMuY29uZGl0aW9ucy5zZXQoY29uZGl0aW9ucyBhcyBhbnkpO1xuICB9XG5cbiAgcmVtb3ZlQ29uZGl0aW9uKGl0ZW06IEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWcpIHtcbiAgICB0aGlzLmNvbmRpdGlvbnMudXBkYXRlKChwcmV2Q29uZGl0aW9ucykgPT4gcHJldkNvbmRpdGlvbnMuZmlsdGVyKChjb24pID0+IGNvbi5uYW1lICE9IGl0ZW0ubmFtZSkpO1xuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogQ29tbW9uICoqKioqKioqKioqKioqKioqKi8vXG4gIHByb3RlY3RlZCBkcm9wKHR5cGU6ICdjb2x1bW5zJyB8ICdjb25kaXRpb25zJyB8ICdzb3J0cycsIGV2ZW50OiBDZGtEcmFnRHJvcDx1bmtub3duW10+KSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdjb2x1bW5zJzpcbiAgICAgICAgdGhpcy5jb2x1bW5zLnVwZGF0ZSgocHJldkNvbHMpID0+IHtcbiAgICAgICAgICBjb25zdCBjb2x1bW5zID0gcHJldkNvbHM7XG4gICAgICAgICAgbW92ZUl0ZW1JbkFycmF5KGNvbHVtbnMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgICAgICAgcmV0dXJuIGNvbHVtbnM7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NvcnRzJzpcbiAgICAgICAgdGhpcy5zb3J0cy51cGRhdGUoKHByZXZTb3J0cykgPT4ge1xuICAgICAgICAgIGNvbnN0IHNvcnRzID0gcHJldlNvcnRzO1xuICAgICAgICAgIG1vdmVJdGVtSW5BcnJheShzb3J0cywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgICByZXR1cm4gc29ydHM7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NvbmRpdGlvbnMnOlxuICAgICAgICB0aGlzLmNvbmRpdGlvbnMudXBkYXRlKChwcmV2Q29uZGl0aW9ucykgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbmRpdGlvbnMgPSBwcmV2Q29uZGl0aW9ucztcbiAgICAgICAgICBtb3ZlSXRlbUluQXJyYXkoY29uZGl0aW9ucywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgICByZXR1cm4gY29uZGl0aW9ucztcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlVmlld05hbWVUb2dnbGUoKSB7XG4gICAgdGhpcy5zaG93TmFtZUlucHV0LnVwZGF0ZSgocHJldikgPT4gIXByZXYpO1xuICB9XG5cbiAgZ2VuZXJhdGVWaWV3TmFtZSh0aXRsZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRpdGxlLnJlcGxhY2UoL1xccysvZywgJy0nKS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgaGFuZGxlQXBwbHlDbGljaygpIHtcbiAgICBjb25zdCB1cGRhdGVkVmlldyA9IHtcbiAgICAgIC4uLnRoaXMuc2VsZWN0ZWRWaWV3LFxuICAgICAgbmFtZTogdGhpcy5nZW5lcmF0ZVZpZXdOYW1lKHRoaXMuc2VsZWN0ZWRWaWV3LnRpdGxlKSxcbiAgICAgIGNvbmRpdGlvbnM6IHRoaXMuY29uZGl0aW9ucygpLFxuICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zKCksXG4gICAgICBzb3J0czogdGhpcy5zb3J0cygpLFxuICAgIH07XG4gICAgaWYgKHRoaXMudmlld05hbWVzLmluY2x1ZGVzKHVwZGF0ZWRWaWV3Lm5hbWUpICYmIHRoaXMubW9kZSA9PSAnY3JlYXRlJykge1xuICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7XG4gICAgICAgIHRpdGxlOiAnSW52YWxpZCBUaXRsZScsXG4gICAgICAgIGNvbnRlbnQ6ICdUaGUgdGl0bGUgeW91IGhhdmUgY2hvc2VuIGFscmVhZHkgZXhpc3RzLiBQbGVhc2UgY2hvb3NlIGEgZGlmZmVyZW50IHRpdGxlIGZvciB5b3VyIGN1c3RvbSB2aWV3LicsXG4gICAgICAgIGNvbG9yOiAnZGFuZ2VyJyBhcyBBWFN0eWxlQ29sb3JUeXBlLFxuICAgICAgICBsb2NhdGlvbjogJ2JvdHRvbS1jZW50ZXInIGFzIEFYTG9jYXRpb24sXG4gICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgICB0aW1lT3V0OiAzMDAwLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xvc2UoeyBzYXZlOiB0cnVlLCB1cGRhdGVkVmlldyB9KTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVSZXNldENsaWNrKCkge1xuICAgIHRoaXMuY29uZGl0aW9ucy5zZXQoY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRWaWV3LmNvbmRpdGlvbnMpKTtcbiAgICB0aGlzLmNvbHVtbnMuc2V0KGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkVmlldy5jb2x1bW5zKSk7XG4gICAgdGhpcy5zb3J0cy5zZXQoY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRWaWV3LnNvcnRzKSk7XG4gIH1cbiAgaGFuZGxlRGlzY2FyZENsaWNrKCkge1xuICAgIHRoaXMuY2xvc2UoeyBzYXZlOiBmYWxzZSB9KTtcbiAgfVxuICBoYW5kbGVDYW5jZWxDbGljaygpIHtcbiAgICB0aGlzLmNsb3NlKHsgc2F2ZTogZmFsc2UgfSk7XG4gIH1cbiAgaGFuZGxlRGVsZXRlQ2xpY2soKSB7XG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlXG4gICAgICAuY29uZmlybSgnV2FybmluZycsICdBcmUgeW91IHN1cmUgd2FudCB0byBkZWxldGUgdGhpcyB2aWV3PycsICdkYW5nZXInLCAnaG9yaXpvbnRhbCcpXG4gICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICBpZiAoZGF0YS5yZXN1bHQpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlKHsgZGVsZXRlOiB0cnVlLCB2aWV3TmFtZTogdGhpcy5zZWxlY3RlZFZpZXcubmFtZSB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxheC1oZWFkZXIgY2xhc3M9XCJheC1wLTQgYXgtZmxleCBheC1qdXN0aWZ5LWJldHdlZW4gYXgtYm9yZGVyLWJcIj5cbiAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgQGlmIChzaG93TmFtZUlucHV0KCkgJiYgbW9kZT09PSdjcmVhdGUnKSB7XG4gICAgPGRpdiBjbGFzcz1cImF4LXctNjBcIj5cbiAgICAgIDxheC10ZXh0LWJveCBjbGFzcz1cImF4LXNtXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFZpZXcudGl0bGVcIj5cbiAgICAgICAgQGlmKHNob3dOYW1lSW5wdXQoKSl7XG4gICAgICAgIDxheC1zdWZmaXg+XG4gICAgICAgICAgPGF4LWJ1dHRvbiAob25DbGljayk9XCJjaGFuZ2VWaWV3TmFtZVRvZ2dsZSgpXCIgbG9vaz1cImRlZmF1bHRcIj5cbiAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29kaWxkIGZhcyBmYS1jaGVjayBheC10ZXh0LXNtXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPC9heC1zdWZmaXg+XG4gICAgICAgIH1cbiAgICAgIDwvYXgtdGV4dC1ib3g+XG4gICAgPC9kaXY+XG4gICAgfUBlbHNlIHtcbiAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQtbGcgYXgtZm9udC1zZW1pYm9sZFwiPnt7IHNlbGVjdGVkVmlldy50aXRsZSB9fTwvc3Bhbj5cbiAgICB9IEBpZiAobW9kZT09PVwiY3JlYXRlXCIpIHtcbiAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgteHNcIiAob25DbGljayk9XCJjaGFuZ2VWaWV3TmFtZVRvZ2dsZSgpXCIgY29sb3I9XCJkZWZhdWx0XCI+XG4gICAgICBAaWYoIXNob3dOYW1lSW5wdXQoKSApe1xuICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1yZWd1bGFyIGZhLXBlbiBheC10ZXh0LXNtIGF4LXRleHQtbmV1dHJhbC02MDBcIj4gPC9heC1pY29uPlxuICAgICAgfVxuICAgIDwvYXgtYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG4gIDxheC1jbG9zZS1idXR0b24+PC9heC1jbG9zZS1idXR0b24+XG48L2F4LWhlYWRlcj5cbjxkaXYgY2xhc3M9XCJheC1wLTRcIj5cbiAgPGF4LXRhYnMgW2NvbnRlbnRdPVwiY29udGVudHNcIiBsb29rPVwid2l0aC1saW5lXCI+XG4gICAgPGF4LXRhYi1pdGVtIHRleHQ9XCJDb2x1bW5zXCI+XG4gICAgICA8YXgtc3VmZml4PlxuICAgICAgICA8YXgtYmFkZ2UgW3RleHRdPVwidmlzaWJsZUNvbHVtbnMoKS5sZW5ndGgudG9TdHJpbmcoKVwiIGNvbG9yPVwicHJpbWFyeVwiPiA8L2F4LWJhZGdlPlxuICAgICAgPC9heC1zdWZmaXg+XG4gICAgICA8YXgtY29udGVudD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNCBheC1wLTQgYXgtc2VsZWN0LW5vbmUgYXgtaC1bNDAwcHhdXCJcbiAgICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgnY29sdW1ucycsICRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTMgYXgtdy1mdWxsIGF4LXNvcnRlZC1saXN0IGF4LW92ZXJmbG93LWF1dG8gYXgtcGUtMlwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2x1bW5zKClcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtcHktMSBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1iZXR3ZWVuXCIgY2RrRHJhZyBjZGtEcmFnQm91bmRhcnk9XCIuYXgtc29ydGVkLWxpc3RcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTNcIiBjZGtEcmFnSGFuZGxlPlxuICAgICAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1ncmlwLWRvdHMtdmVydGljYWwgYXgtY3Vyc29yLW1vdmVcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImF4LWZvbnQtbWVkaXVtIGF4LXRleHQtc21cIj57eyBpdGVtLnRpdGxlIH19PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxheC1zd2l0Y2hcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtLnZpc2libGVcIlxuICAgICAgICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cInVwZGF0ZUNvbHVtbkl0ZW0oJGV2ZW50LCBpdGVtLm5hbWUpXCJcbiAgICAgICAgICAgICAgICA+PC9heC1zd2l0Y2g+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9heC1jb250ZW50PlxuICAgIDwvYXgtdGFiLWl0ZW0+XG4gICAgPGF4LXRhYi1pdGVtIHRleHQ9XCJDb25kaXRpb25zXCI+XG4gICAgICA8YXgtc3VmZml4PlxuICAgICAgICA8YXgtYmFkZ2UgW3RleHRdPVwiY29uZGl0aW9ucygpLmxlbmd0aC50b1N0cmluZygpXCIgY29sb3I9XCJwcmltYXJ5XCI+IDwvYXgtYmFkZ2U+XG4gICAgICA8L2F4LXN1ZmZpeD5cbiAgICAgIDxheC1jb250ZW50PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWp1c3RpZnktc3RhcnQgYXgtZ2FwLTQgYXgtcHktNCBheC1zZWxlY3Qtbm9uZSBheC1oLVs0MDBweF1cIlxuICAgICAgICAgIFtjbGFzcy5heC1qdXN0aWZ5LWNlbnRlcl09XCIhY29uZGl0aW9ucygpLmxlbmd0aFwiXG4gICAgICAgID5cbiAgICAgICAgICBAaWYoIWNvbmRpdGlvbnMoKS5sZW5ndGgpe1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgPGF4LWltYWdlIHNyYz1cImFzc2V0cy9kb2N1bWVudHMuc3ZnXCI+PC9heC1pbWFnZT5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtbXQtNiBheC1tYi0xIGF4LWZvbnQtYm9sZFwiPk5vIEZpbHRlcnMgU2VsZWN0ZWQ8L3A+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQtbmV1dHJhbC00MDAgYXgtdGV4dC1zbSBtZDpheC10ZXh0LW1kXCJcbiAgICAgICAgICAgICAgPlBsZWFzZSBzZWxlY3QgZmllbGQocykgdGhhdCB5b3Ugd2FudCB0byBmaWx0ZXI8L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtc29ydGVkLWxpc3QgYXgtcHgtNCBheC1weS0xIGF4LW92ZXJmbG93LWF1dG9cIj5cbiAgICAgICAgICAgIDxkaXYgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCdjb25kaXRpb25zJywgJGV2ZW50KVwiIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMlwiPlxuICAgICAgICAgICAgICBAZm9yKGl0ZW0gb2YgY29uZGl0aW9ucygpOyB0cmFjayBpdGVtLm5hbWUgKXtcbiAgICAgICAgICAgICAgPGRpdiBjZGtEcmFnIGNka0RyYWdCb3VuZGFyeT1cIi5heC1zb3J0ZWQtbGlzdFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tcy00IGF4LWZsZXggYXgtaXRlbXMtc3RhcnQgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD57eyBsb2FkZXIuZ2V0UHJvcChpdGVtLm5hbWUpPy50aXRsZSB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgICAgICBAaWYoZ2V0T3BlcmF0b3JUaXRsZShpdGVtLm5hbWUsaXRlbS5vcGVyYXRvcikpe1xuICAgICAgICAgICAgICAgICAgPGF4LWJhZGdlXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtdGV4dC14c1wiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIFtsb29rXT1cIid0d290b25lJ1wiXG4gICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cImdldE9wZXJhdG9yVGl0bGUoaXRlbS5uYW1lLCBpdGVtLm9wZXJhdG9yKVwiXG4gICAgICAgICAgICAgICAgICA+PC9heC1iYWRnZT5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1ncm91cCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZ3JpcC1kb3RzLXZlcnRpY2FsIGF4LWN1cnNvci1tb3ZlXCIgY2RrRHJhZ0hhbmRsZT48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheHAtd2lkZ2V0LWZpbHRlci1yZW5kZXJlclxuICAgICAgICAgICAgICAgICAgICAgIFtzY2hlbWFdPVwiZ2V0U2NoZW1hKGl0ZW0ubmFtZSlcIlxuICAgICAgICAgICAgICAgICAgICAgIFtwcm9wXT1cImxvYWRlci5nZXRQcm9wKGl0ZW0ubmFtZSlcIlxuICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cIml0ZW0udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFsob3BlcmF0b3IpXT1cIml0ZW0ub3BlcmF0b3JcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvYXhwLXdpZGdldC1maWx0ZXItcmVuZGVyZXI+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxheC1idXR0b24gbG9vaz1cImJsYW5rXCIgY29sb3I9XCJkYW5nZXJcIiBjbGFzcz1cImF4LXNtXCIgKG9uQ2xpY2spPVwicmVtb3ZlQ29uZGl0aW9uKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtdHJhc2gtY2FuXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC13LWZ1bGxcIiAjYWRkRmllbGQ+XG4gICAgICAgICAgICAgIEBpZihjb25kaXRpb25zKCkubGVuZ3RoKXtcbiAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0ZXh0PVwiQWRkIGZpZWxkXCIgbG9vaz1cImJsYW5rXCIgY2xhc3M9XCJheC1zbVwiPjwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1qdXN0aWZ5LWNlbnRlciBheC13LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHRleHQ9XCJBZGQgZmllbGRcIiBsb29rPVwib3V0bGluZVwiIGNsYXNzPVwiYXgtbWQgYXgtdy01NlwiPjwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8YXgtcG9wb3ZlclxuICAgICAgICAgICAgICAgICNjb25kaXRpb25zUG9wb3ZlclxuICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwiYWRkRmllbGRcIlxuICAgICAgICAgICAgICAgIFtwbGFjZW1lbnRdPVwiY29uZGl0aW9ucygpLmxlbmd0aCA/ICdib3R0b20tc3RhcnQnIDogJ2JvdHRvbSdcIlxuICAgICAgICAgICAgICAgIFtvZmZzZXRZXT1cIjhcIlxuICAgICAgICAgICAgICAgIFtvcGVuT25dPVwiJ3RvZ2dsZSdcIlxuICAgICAgICAgICAgICAgIFtjbG9zZU9uXT1cIidjbGlja091dCdcIlxuICAgICAgICAgICAgICAgIFthZGFwdGl2aXR5RW5hYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAob25PcGVuZWQpPVwicmVzZXRTZWxlY3RlZEZpZWxkTmFtZXMoKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWJnLXN1cmZhY2UgYXgtYm9yZGVyIGF4LWJvcmRlci1kZWZhdWx0IGF4LXJvdW5kZWQtbWQgYXgtc2hhZG93LW1kIGF4LXctZnVsbCBheC1taW4tdy1bMjUwcHhdXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtYm9yZGVyLWItWzFweF0gYXgtcGItMiBheC1tYi0yIGF4LXAtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtdGl0bGUgY2xhc3M9XCJheC1mb250LWJvbGRcIj5GaWVsZHM8L2F4LXRpdGxlPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWF4LWgtNDggYXgtb3ZlcmZsb3ctYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtc2VsZWN0aW9uLWxpc3RcbiAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVGaWVsZF09XCInbmFtZSdcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0RmllbGRdPVwiJ3RpdGxlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZENvbmRpdGlvbk5hbWVzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZGlyZWN0aW9uXT1cIid2ZXJ0aWNhbCdcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJwcm9wcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2F4LXNlbGVjdGlvbi1saXN0PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1qdXN0aWZ5LWVuZCBheC1ib3JkZXItdC1bMXB4XSBheC1wLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImFkZENvbmRpdGlvbigpOyBjb25kaXRpb25zUG9wb3Zlci5jbG9zZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0PVwiQ29uZmlybVwiXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2F4LXBvcG92ZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2F4LWNvbnRlbnQ+XG4gICAgPC9heC10YWItaXRlbT5cbiAgICA8YXgtdGFiLWl0ZW0gdGV4dD1cIlNvcnRpbmdcIj5cbiAgICAgIDxheC1zdWZmaXg+XG4gICAgICAgIDxheC1iYWRnZSBbdGV4dF09XCJzb3J0cygpLmxlbmd0aC50b1N0cmluZygpXCIgY29sb3I9XCJwcmltYXJ5XCI+IDwvYXgtYmFkZ2U+XG4gICAgICA8L2F4LXN1ZmZpeD5cbiAgICAgIDxheC1jb250ZW50PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LXAtNCBheC1mbGV4LWNvbCBheC1qdXN0aWZ5LXN0YXJ0IGF4LWdhcC00IGF4LXNlbGVjdC1ub25lIGF4LW92ZXJmbG93LWF1dG8gYXgtaC1bNDAwcHhdXCJcbiAgICAgICAgICBbY2xhc3MuYXgtanVzdGlmeS1jZW50ZXJdPVwiIXNvcnRzKCkubGVuZ3RoXCJcbiAgICAgICAgPlxuICAgICAgICAgIEBpZighc29ydHMoKS5sZW5ndGgpe1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgPGF4LWltYWdlIHNyYz1cImFzc2V0cy9kb2N1bWVudHMuc3ZnXCI+PC9heC1pbWFnZT5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtbXQtNiBheC1tYi0xIGF4LWZvbnQtYm9sZFwiPk5vIFNvcnRzIFNlbGVjdGVkPC9wPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LW5ldXRyYWwtNDAwIGF4LXRleHQtc20gbWQ6YXgtdGV4dC1tZFwiXG4gICAgICAgICAgICAgID5QbGVhc2Ugc2VsZWN0IGZpZWxkKHMpIHRoYXQgeW91IHdhbnQgdG8gc29ydDwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgnc29ydHMnLCAkZXZlbnQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMyBheC13LWZ1bGwgYXgtc29ydGVkLWxpc3QgYXgtcHktMSBheC1vdmVyZmxvdy1hdXRvXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNvcnRzKClcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZ2FwLTIgYXgtaXRlbXMtY2VudGVyXCIgY2RrRHJhZyBjZGtEcmFnQm91bmRhcnk9XCIuYXgtc29ydGVkLWxpc3RcIj5cbiAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWdyaXAtZG90cy12ZXJ0aWNhbCBheC1jdXJzb3ItbW92ZVwiIGNka0RyYWdIYW5kbGU+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgIDxheC1zZWxlY3QtYm94IFtkYXRhU291cmNlXT1cInByb3BzKClcIiB2YWx1ZUZpZWxkPVwibmFtZVwiIHRleHRGaWVsZD1cInRpdGxlXCIgWyhuZ01vZGVsKV09XCJpdGVtLm5hbWVcIj5cbiAgICAgICAgICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBbY29sb3JdPVwiJ2RlZmF1bHQnXCIgY2xhc3M9XCJheC1zbVwiIChjbGljayk9XCJ1cGRhdGVTb3J0SXRlbShpdGVtKVwiPlxuICAgICAgICAgICAgICAgICAgPGF4LWljb25cbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LXRleHQtcHJpbWFyeV09XCJpdGVtLmRpciA9PSAnYXNjJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEtc29saWQgZmEtYXJyb3ctdXAtbG9uZyBheC10ZXh0LW5ldXRyYWwtNDAwXCJcbiAgICAgICAgICAgICAgICAgID48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICA8YXgtaWNvblxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtdGV4dC1wcmltYXJ5XT1cIml0ZW0uZGlyID09ICdkZXNjJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEtc29saWQgZmEtYXJyb3ctZG93bi1sb25nIGF4LXRleHQtbmV1dHJhbC00MDBcIlxuICAgICAgICAgICAgICAgICAgPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxheC1idXR0b24gbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwicmVtb3ZlU29ydEl0ZW0oaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtdHJhc2gtY2FuIGF4LXRleHQtZGFuZ2VyLTUwMFwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1nYXAtMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXctZnVsbFwiICNhZGRGaWVsZD5cbiAgICAgICAgICAgICAgQGlmKHNvcnRzKCkubGVuZ3RoKXtcbiAgICAgICAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImFkZFNvcnRJdGVtKClcIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkFkZCBmaWVsZFwiXG4gICAgICAgICAgICAgICAgbG9vaz1cImJsYW5rXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcbiAgICAgICAgICAgICAgPjwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1qdXN0aWZ5LWNlbnRlciBheC13LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAob25DbGljayk9XCJhZGRTb3J0SXRlbSgpXCJcbiAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICB0ZXh0PVwiQWRkIGZpZWxkXCJcbiAgICAgICAgICAgICAgICAgIGxvb2s9XCJvdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtbWQgYXgtdy01NlwiXG4gICAgICAgICAgICAgICAgPjwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9heC1jb250ZW50PlxuICAgIDwvYXgtdGFiLWl0ZW0+XG4gIDwvYXgtdGFicz5cbiAgPG5nLXRlbXBsYXRlIFtheFRhYkNvbnRlbnRdICNjb250ZW50cz1cImF4VGFiQ29udGVudFwiPiA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG48YXgtZm9vdGVyIGNsYXNzPVwiIWF4LWp1c3RpZnktZW5kXCI+XG4gIEBpZiAobW9kZT09PVwiZWRpdFwiKSB7XG4gIDxheC1kcm9wZG93bi1idXR0b24gdGV4dD1cIkRpc2NhcmRcIiAob25DbGljayk9XCJoYW5kbGVEaXNjYXJkQ2xpY2soKVwiPlxuICAgIDxheC1idXR0b24taXRlbS1saXN0PlxuICAgICAgPGF4LWJ1dHRvbi1pdGVtIHRleHQ9XCJSZXNldFwiIChvbkNsaWNrKT1cImhhbmRsZVJlc2V0Q2xpY2soKVwiPlxuICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1zb2xpZCBmYS1yb3RhdGUtbGVmdCBmYS1mbGlwLWhvcml6b250YWxcIj48L2F4LWljb24+XG4gICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgIDxheC1idXR0b24taXRlbSBjbGFzcz1cImF4LXRleHQtZGFuZ2VyXCIgdGV4dD1cIkRlbGV0ZVwiIChvbkNsaWNrKT1cImhhbmRsZURlbGV0ZUNsaWNrKClcIj5cbiAgICAgICAgPGF4LXByZWZpeD4gPGF4LWljb24gaWNvbj1cImZhcyBmYS10cmFzaCBmYS1mbGlwLWhvcml6b250YWxcIj48L2F4LWljb24+IDwvYXgtcHJlZml4XG4gICAgICA+PC9heC1idXR0b24taXRlbT5cbiAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gIDwvYXgtZHJvcGRvd24tYnV0dG9uPlxuICB9IEBlbHNlIHtcbiAgPGF4LWJ1dHRvbiB0ZXh0PVwiQ2FuY2VsXCIgbG9vaz1cIm91dGxpbmVcIiAob25DbGljayk9XCJoYW5kbGVDYW5jZWxDbGljaygpXCI+PC9heC1idXR0b24+XG4gIH1cbiAgPGF4LWJ1dHRvblxuICAgIFt0ZXh0XT1cIm1vZGUgPT09ICdjcmVhdGUnID8gJ1NhdmUnIDogJ1NhdmUgQ2hhbmdlcydcIlxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgKG9uQ2xpY2spPVwiaGFuZGxlQXBwbHlDbGljaygpXCJcbiAgPjwvYXgtYnV0dG9uPlxuPC9heC1mb290ZXI+XG4iXX0=
@@ -3,4 +3,4 @@ export * from './list-view-option-columns/list-view-option-columns.component';
3
3
  export * from './list-view-option-conditions/list-view-option-conditions.component';
4
4
  export * from './list-view-option-conditions/list-view-option-filter-operator.component';
5
5
  export * from './list-view-option-sorting/list-view-option-sorting.component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1saXN0LXZpZXcvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsK0RBQStELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VudGl0eS1jdXN0b20tdmlldy9lbnRpdHktY3VzdG9tLXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saXN0LXZpZXctb3B0aW9uLWNvbHVtbnMvbGlzdC12aWV3LW9wdGlvbi1jb2x1bW5zLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC12aWV3LW9wdGlvbi1jb25kaXRpb25zL2xpc3Qtdmlldy1vcHRpb24tY29uZGl0aW9ucy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpc3Qtdmlldy1vcHRpb24tY29uZGl0aW9ucy9saXN0LXZpZXctb3B0aW9uLWZpbHRlci1vcGVyYXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpc3Qtdmlldy1vcHRpb24tc29ydGluZy9saXN0LXZpZXctb3B0aW9uLXNvcnRpbmcuY29tcG9uZW50JztcclxuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1saXN0LXZpZXcvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsK0RBQStELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VudGl0eS1jdXN0b20tdmlldy9lbnRpdHktY3VzdG9tLXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC12aWV3LW9wdGlvbi1jb2x1bW5zL2xpc3Qtdmlldy1vcHRpb24tY29sdW1ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LXZpZXctb3B0aW9uLWNvbmRpdGlvbnMvbGlzdC12aWV3LW9wdGlvbi1jb25kaXRpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qtdmlldy1vcHRpb24tY29uZGl0aW9ucy9saXN0LXZpZXctb3B0aW9uLWZpbHRlci1vcGVyYXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LXZpZXctb3B0aW9uLXNvcnRpbmcvbGlzdC12aWV3LW9wdGlvbi1zb3J0aW5nLmNvbXBvbmVudCc7XG4iXX0=
@@ -43,14 +43,14 @@ export class AXPListViewOptionsColumnsComponent {
43
43
  this.onClosed.emit();
44
44
  }
45
45
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPListViewOptionsColumnsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: AXPListViewOptionsColumnsComponent, selector: "axp-list-view-option-columns", inputs: { loader: "loader" }, outputs: { onClosed: "onClosed" }, ngImport: i0, template: "<ax-header class=\"ax-flex ax-items-center\">\r\n <h2 class=\"ax-text-xl ax-font-bold\">Columns</h2>\r\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\r\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\r\n </ax-button>\r\n</ax-header>\r\n<div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\">\r\n <ng-container *ngFor=\"let item of columns$ | async\">\r\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\r\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\r\n </div>\r\n <ax-switch\r\n class=\"ax-sm\"\r\n [ngModel]=\"item.visible\"\r\n (onValueChanged)=\"handleVisibilityChange($event, item.name)\"\r\n ></ax-switch>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\r\n <ax-button text=\"Apply\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\r\n <ax-button text=\"Reset\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\r\n</ax-footer>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i5.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: AXPListViewOptionsColumnsComponent, selector: "axp-list-view-option-columns", inputs: { loader: "loader" }, outputs: { onClosed: "onClosed" }, ngImport: i0, template: "<ax-header class=\"ax-flex ax-items-center\">\n <h2 class=\"ax-text-xl ax-font-bold\">Columns</h2>\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\n </ax-button>\n</ax-header>\n<div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\">\n <ng-container *ngFor=\"let item of columns$ | async\">\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\n </div>\n <ax-switch\n class=\"ax-sm\"\n [ngModel]=\"item.visible\"\n (onValueChanged)=\"handleVisibilityChange($event, item.name)\"\n ></ax-switch>\n </div>\n </ng-container>\n </div>\n</div>\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\n <ax-button text=\"Apply\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n <ax-button text=\"Reset\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\n</ax-footer>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i5.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
47
47
  }
48
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPListViewOptionsColumnsComponent, decorators: [{
49
49
  type: Component,
50
- args: [{ selector: 'axp-list-view-option-columns', template: "<ax-header class=\"ax-flex ax-items-center\">\r\n <h2 class=\"ax-text-xl ax-font-bold\">Columns</h2>\r\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\r\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\r\n </ax-button>\r\n</ax-header>\r\n<div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\">\r\n <ng-container *ngFor=\"let item of columns$ | async\">\r\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\r\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\r\n </div>\r\n <ax-switch\r\n class=\"ax-sm\"\r\n [ngModel]=\"item.visible\"\r\n (onValueChanged)=\"handleVisibilityChange($event, item.name)\"\r\n ></ax-switch>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\r\n <ax-button text=\"Apply\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\r\n <ax-button text=\"Reset\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\r\n</ax-footer>\r\n" }]
50
+ args: [{ selector: 'axp-list-view-option-columns', template: "<ax-header class=\"ax-flex ax-items-center\">\n <h2 class=\"ax-text-xl ax-font-bold\">Columns</h2>\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\n </ax-button>\n</ax-header>\n<div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\">\n <ng-container *ngFor=\"let item of columns$ | async\">\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\n </div>\n <ax-switch\n class=\"ax-sm\"\n [ngModel]=\"item.visible\"\n (onValueChanged)=\"handleVisibilityChange($event, item.name)\"\n ></ax-switch>\n </div>\n </ng-container>\n </div>\n</div>\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\n <ax-button text=\"Apply\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n <ax-button text=\"Reset\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\n</ax-footer>\n" }]
51
51
  }], propDecorators: { loader: [{
52
52
  type: Input
53
53
  }], onClosed: [{
54
54
  type: Output
55
55
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LW9wdGlvbi1jb2x1bW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWxpc3Qtdmlldy9jb21wb25lbnRzL2xpc3Qtdmlldy1vcHRpb24tY29sdW1ucy9saXN0LXZpZXctb3B0aW9uLWNvbHVtbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vZW50aXR5LWxheW91dC9lbnRpdHktbGlzdC12aWV3L2NvbXBvbmVudHMvbGlzdC12aWV3LW9wdGlvbi1jb2x1bW5zL2xpc3Qtdmlldy1vcHRpb24tY29sdW1ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQWMsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3QyxPQUFPLEVBQXlELGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQU0vRyxNQUFNLE9BQU8sa0NBQWtDO0lBSi9DO1FBS1UsVUFBSyxHQUFHLE1BQU0sQ0FBQyxDQUFBLEtBQTBCLENBQUEsQ0FBQyxDQUFDO1FBSXpDLFNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLGFBQVEsR0FBbUQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBR3JFLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBK0I1QztJQTdCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsQ0FBK0IsRUFBRSxJQUFZO1FBQ2xFLElBQUksQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQU0sQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDSCxDQUFDO0lBRVMsSUFBSSxDQUFDLEtBQTZCO1FBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEQsZUFBZSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxXQUFXO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNTLGdCQUFnQjtRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFUyxnQkFBZ0I7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs4R0F2Q1Usa0NBQWtDO2tHQUFsQyxrQ0FBa0MscUlDWi9DLCs5Q0EyQkE7OzJGRGZhLGtDQUFrQztrQkFKOUMsU0FBUzsrQkFDRSw4QkFBOEI7OEJBT2pDLE1BQU07c0JBRFosS0FBSztnQkFNQyxRQUFRO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaXJzdCwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVhQTGlzdFZpZXdMb2FkZXIgfSBmcm9tICcuLi8uLi9saXN0LXZpZXcuY29uZmlnJztcclxuaW1wb3J0IHsgQVhQQWRtaW5MYXlvdXRTdGF0ZSwgQVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWcsIGlzU21hbGxTY3JlZW4gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4cC1saXN0LXZpZXctb3B0aW9uLWNvbHVtbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LXZpZXctb3B0aW9uLWNvbHVtbnMuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhQTGlzdFZpZXdPcHRpb25zQ29sdW1uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBzdG9yZSA9IGluamVjdChTdG9yZTxBWFBBZG1pbkxheW91dFN0YXRlPik7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxvYWRlciE6IEFYUExpc3RWaWV3TG9hZGVyO1xyXG4gIHByb3RlY3RlZCBpc1NNID0gdGhpcy5zdG9yZS5zZWxlY3QoaXNTbWFsbFNjcmVlbigpKTtcclxuICBwcm90ZWN0ZWQgY29sdW1ucyQ6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXT4gPSBvZihbXSk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbHVtbnMkID0gdGhpcy5sb2FkZXIuZGlzcGxheUNvbHVtbnMkO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlVmlzaWJpbGl0eUNoYW5nZShlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50PGJvb2xlYW4+LCBuYW1lOiBzdHJpbmcpIHtcclxuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uKSB7XHJcbiAgICAgIHRoaXMubG9hZGVyLnNldENvbHVtblZpc2liaWxpdHkobmFtZSwgZS52YWx1ZSEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHVua25vd25bXT4pIHtcclxuICAgIHRoaXMuY29sdW1ucyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKGNvbHVtbnMpID0+IHtcclxuICAgICAgbW92ZUl0ZW1JbkFycmF5KGNvbHVtbnMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBoYW5kbGVDbG9zZSgpIHtcclxuICAgIHRoaXMub25DbG9zZWQuZW1pdCgpO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgaGFuZGxlUmVzZXRDbGljaygpIHtcclxuICAgIHRoaXMubG9hZGVyLnJlc2V0Q29sdW1ucygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZUFwcGx5Q2xpY2soKSB7XHJcbiAgICB0aGlzLmNvbHVtbnMkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgIHRoaXMubG9hZGVyLnVwZGF0ZUNvbHVtbnMoZGF0YSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMub25DbG9zZWQuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8YXgtaGVhZGVyIGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXJcIj5cclxuICA8aDIgY2xhc3M9XCJheC10ZXh0LXhsIGF4LWZvbnQtYm9sZFwiPkNvbHVtbnM8L2gyPlxyXG4gIDxheC1idXR0b24gKG9uQ2xpY2spPVwiaGFuZGxlQ2xvc2UoKVwiIFtsb29rXT1cIidibGFuaydcIj5cclxuICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtY2xvc2UgYXgtdGV4dC1uZXV0cmFsLTQwMCBheC10ZXh0LXhsXCI+IDwvYXgtaWNvbj5cclxuICA8L2F4LWJ1dHRvbj5cclxuPC9heC1oZWFkZXI+XHJcbjxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC00IGF4LXAtNCBheC1zZWxlY3Qtbm9uZVwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTMgYXgtdy1mdWxsIGF4LXNvcnRlZC1saXN0IGF4LW1heC1oLVtjYWxjKDEwMHZoLTI4MHB4KV0gYXgtb3ZlcmZsb3ctYXV0b1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2x1bW5zJCB8IGFzeW5jXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LXB5LTEgYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlblwiIGNka0RyYWcgY2RrRHJhZ0JvdW5kYXJ5PVwiLmF4LXNvcnRlZC1saXN0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0zXCIgY2RrRHJhZ0hhbmRsZT5cclxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZ3JpcC1kb3RzLXZlcnRpY2FsIGF4LWN1cnNvci1tb3ZlXCI+PC9heC1pY29uPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJheC1mb250LW1lZGl1bSBheC10ZXh0LXNtXCI+e3sgaXRlbS50aXRsZSB9fTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXgtc3dpdGNoXHJcbiAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcclxuICAgICAgICAgIFtuZ01vZGVsXT1cIml0ZW0udmlzaWJsZVwiXHJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlVmlzaWJpbGl0eUNoYW5nZSgkZXZlbnQsIGl0ZW0ubmFtZSlcIlxyXG4gICAgICAgID48L2F4LXN3aXRjaD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxheC1mb290ZXIgY2xhc3M9XCIhYXgtanVzdGlmeS1zdGFydCBheC1hYnNvbHV0ZSBheC1ib3R0b20tMCBheC13LWZ1bGxcIj5cclxuICA8YXgtYnV0dG9uIHRleHQ9XCJBcHBseVwiIGNvbG9yPVwicHJpbWFyeVwiIChvbkNsaWNrKT1cImhhbmRsZUFwcGx5Q2xpY2soKVwiPjwvYXgtYnV0dG9uPlxyXG4gIDxheC1idXR0b24gdGV4dD1cIlJlc2V0XCIgY29sb3I9XCJnaG9zdFwiIChvbkNsaWNrKT1cImhhbmRsZVJlc2V0Q2xpY2soKVwiPjwvYXgtYnV0dG9uPlxyXG48L2F4LWZvb3Rlcj5cclxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LW9wdGlvbi1jb2x1bW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWxpc3Qtdmlldy9jb21wb25lbnRzL2xpc3Qtdmlldy1vcHRpb24tY29sdW1ucy9saXN0LXZpZXctb3B0aW9uLWNvbHVtbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vZW50aXR5LWxheW91dC9lbnRpdHktbGlzdC12aWV3L2NvbXBvbmVudHMvbGlzdC12aWV3LW9wdGlvbi1jb2x1bW5zL2xpc3Qtdmlldy1vcHRpb24tY29sdW1ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQWMsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3QyxPQUFPLEVBQXlELGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQU0vRyxNQUFNLE9BQU8sa0NBQWtDO0lBSi9DO1FBS1UsVUFBSyxHQUFHLE1BQU0sQ0FBQyxDQUFBLEtBQTBCLENBQUEsQ0FBQyxDQUFDO1FBSXpDLFNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLGFBQVEsR0FBbUQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBR3JFLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBK0I1QztJQTdCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsQ0FBK0IsRUFBRSxJQUFZO1FBQ2xFLElBQUksQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQU0sQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDSCxDQUFDO0lBRVMsSUFBSSxDQUFDLEtBQTZCO1FBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEQsZUFBZSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxXQUFXO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNTLGdCQUFnQjtRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFUyxnQkFBZ0I7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs4R0F2Q1Usa0NBQWtDO2tHQUFsQyxrQ0FBa0MscUlDWi9DLHk2Q0EyQkE7OzJGRGZhLGtDQUFrQztrQkFKOUMsU0FBUzsrQkFDRSw4QkFBOEI7OEJBT2pDLE1BQU07c0JBRFosS0FBSztnQkFNQyxRQUFRO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlyc3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBMaXN0Vmlld0xvYWRlciB9IGZyb20gJy4uLy4uL2xpc3Qtdmlldy5jb25maWcnO1xuaW1wb3J0IHsgQVhQQWRtaW5MYXlvdXRTdGF0ZSwgQVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWcsIGlzU21hbGxTY3JlZW4gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1saXN0LXZpZXctb3B0aW9uLWNvbHVtbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC12aWV3LW9wdGlvbi1jb2x1bW5zLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTGlzdFZpZXdPcHRpb25zQ29sdW1uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgc3RvcmUgPSBpbmplY3QoU3RvcmU8QVhQQWRtaW5MYXlvdXRTdGF0ZT4pO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsb2FkZXIhOiBBWFBMaXN0Vmlld0xvYWRlcjtcbiAgcHJvdGVjdGVkIGlzU00gPSB0aGlzLnN0b3JlLnNlbGVjdChpc1NtYWxsU2NyZWVuKCkpO1xuICBwcm90ZWN0ZWQgY29sdW1ucyQ6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXT4gPSBvZihbXSk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtbnMkID0gdGhpcy5sb2FkZXIuZGlzcGxheUNvbHVtbnMkO1xuICB9XG5cbiAgaGFuZGxlVmlzaWJpbGl0eUNoYW5nZShlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50PGJvb2xlYW4+LCBuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoZS5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5sb2FkZXIuc2V0Q29sdW1uVmlzaWJpbGl0eShuYW1lLCBlLnZhbHVlISk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHVua25vd25bXT4pIHtcbiAgICB0aGlzLmNvbHVtbnMkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKChjb2x1bW5zKSA9PiB7XG4gICAgICBtb3ZlSXRlbUluQXJyYXkoY29sdW1ucywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDbG9zZSgpIHtcbiAgICB0aGlzLm9uQ2xvc2VkLmVtaXQoKTtcbiAgfVxuICBwcm90ZWN0ZWQgaGFuZGxlUmVzZXRDbGljaygpIHtcbiAgICB0aGlzLmxvYWRlci5yZXNldENvbHVtbnMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVBcHBseUNsaWNrKCkge1xuICAgIHRoaXMuY29sdW1ucyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMubG9hZGVyLnVwZGF0ZUNvbHVtbnMoZGF0YSk7XG4gICAgfSk7XG4gICAgdGhpcy5vbkNsb3NlZC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxheC1oZWFkZXIgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlclwiPlxuICA8aDIgY2xhc3M9XCJheC10ZXh0LXhsIGF4LWZvbnQtYm9sZFwiPkNvbHVtbnM8L2gyPlxuICA8YXgtYnV0dG9uIChvbkNsaWNrKT1cImhhbmRsZUNsb3NlKClcIiBbbG9va109XCInYmxhbmsnXCI+XG4gICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1jbG9zZSBheC10ZXh0LW5ldXRyYWwtNDAwIGF4LXRleHQteGxcIj4gPC9heC1pY29uPlxuICA8L2F4LWJ1dHRvbj5cbjwvYXgtaGVhZGVyPlxuPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTQgYXgtcC00IGF4LXNlbGVjdC1ub25lXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj5cbiAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTMgYXgtdy1mdWxsIGF4LXNvcnRlZC1saXN0IGF4LW1heC1oLVtjYWxjKDEwMHZoLTI4MHB4KV0gYXgtb3ZlcmZsb3ctYXV0b1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29sdW1ucyQgfCBhc3luY1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtcHktMSBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1iZXR3ZWVuXCIgY2RrRHJhZyBjZGtEcmFnQm91bmRhcnk9XCIuYXgtc29ydGVkLWxpc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0zXCIgY2RrRHJhZ0hhbmRsZT5cbiAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWdyaXAtZG90cy12ZXJ0aWNhbCBheC1jdXJzb3ItbW92ZVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICA8cCBjbGFzcz1cImF4LWZvbnQtbWVkaXVtIGF4LXRleHQtc21cIj57eyBpdGVtLnRpdGxlIH19PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGF4LXN3aXRjaFxuICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgIFtuZ01vZGVsXT1cIml0ZW0udmlzaWJsZVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZVZpc2liaWxpdHlDaGFuZ2UoJGV2ZW50LCBpdGVtLm5hbWUpXCJcbiAgICAgICAgPjwvYXgtc3dpdGNoPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG48YXgtZm9vdGVyIGNsYXNzPVwiIWF4LWp1c3RpZnktc3RhcnQgYXgtYWJzb2x1dGUgYXgtYm90dG9tLTAgYXgtdy1mdWxsXCI+XG4gIDxheC1idXR0b24gdGV4dD1cIkFwcGx5XCIgY29sb3I9XCJwcmltYXJ5XCIgKG9uQ2xpY2spPVwiaGFuZGxlQXBwbHlDbGljaygpXCI+PC9heC1idXR0b24+XG4gIDxheC1idXR0b24gdGV4dD1cIlJlc2V0XCIgY29sb3I9XCJnaG9zdFwiIChvbkNsaWNrKT1cImhhbmRsZVJlc2V0Q2xpY2soKVwiPjwvYXgtYnV0dG9uPlxuPC9heC1mb290ZXI+XG4iXX0=