@eo-sdk/client 10.0.0-beta.4 → 10.0.0-beta.5

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 (254) hide show
  1. package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
  2. package/app/eo-client/dashboard/dashboard.component.d.ts +6 -7
  3. package/app/eo-client/dashboard/dashboard.component.d.ts.map +1 -1
  4. package/app/eo-client/favorite-state/favorite-state.component.d.ts +7 -8
  5. package/app/eo-client/favorite-state/favorite-state.component.d.ts.map +1 -1
  6. package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts +8 -10
  7. package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts.map +1 -1
  8. package/app/eo-client/login/login.component.d.ts +4 -2
  9. package/app/eo-client/login/login.component.d.ts.map +1 -1
  10. package/app/eo-client/notifications-state/notifications-state.component.d.ts +9 -11
  11. package/app/eo-client/notifications-state/notifications-state.component.d.ts.map +1 -1
  12. package/app/eo-client/object-state/object-state/object-state.component.d.ts +10 -11
  13. package/app/eo-client/object-state/object-state/object-state.component.d.ts.map +1 -1
  14. package/app/eo-client/prepare-state/prepare-state/prepare-state.component.d.ts +8 -9
  15. package/app/eo-client/prepare-state/prepare-state/prepare-state.component.d.ts.map +1 -1
  16. package/app/eo-client/process-state/process-state.component.d.ts +8 -10
  17. package/app/eo-client/process-state/process-state.component.d.ts.map +1 -1
  18. package/app/eo-client/recyclebin-state/recyclebin-state.component.d.ts +5 -6
  19. package/app/eo-client/recyclebin-state/recyclebin-state.component.d.ts.map +1 -1
  20. package/app/eo-client/result-state/result-state.component.d.ts +3 -5
  21. package/app/eo-client/result-state/result-state.component.d.ts.map +1 -1
  22. package/app/eo-client/settings/settings.component.d.ts +6 -7
  23. package/app/eo-client/settings/settings.component.d.ts.map +1 -1
  24. package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts +8 -10
  25. package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts.map +1 -1
  26. package/app/eo-client/version-state/version-state.component.d.ts +5 -7
  27. package/app/eo-client/version-state/version-state.component.d.ts.map +1 -1
  28. package/app/eo-framework/accordion/accordion.module.d.ts +1 -2
  29. package/app/eo-framework/accordion/accordion.module.d.ts.map +1 -1
  30. package/app/eo-framework/actions/action-menu/action-menu.component.d.ts +4 -5
  31. package/app/eo-framework/actions/action-menu/action-menu.component.d.ts.map +1 -1
  32. package/app/eo-framework/actions/action.module.d.ts +11 -10
  33. package/app/eo-framework/actions/action.module.d.ts.map +1 -1
  34. package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts +3 -2
  35. package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts.map +1 -1
  36. package/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.d.ts +9 -13
  37. package/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.d.ts.map +1 -1
  38. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +3 -4
  39. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts.map +1 -1
  40. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
  41. package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts +1 -2
  42. package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts.map +1 -1
  43. package/app/eo-framework/app-shell/app-shell.module.d.ts +18 -20
  44. package/app/eo-framework/app-shell/app-shell.module.d.ts.map +1 -1
  45. package/app/eo-framework/app-shell/index.d.ts +0 -1
  46. package/app/eo-framework/app-shell/index.d.ts.map +1 -1
  47. package/app/eo-framework/eo-framework.module.d.ts +37 -38
  48. package/app/eo-framework/eo-framework.module.d.ts.map +1 -1
  49. package/app/eo-framework/form-elements/date/date.component.d.ts +0 -2
  50. package/app/eo-framework/form-elements/date/date.component.d.ts.map +1 -1
  51. package/app/eo-framework/form-elements/form-elements.module.d.ts +9 -18
  52. package/app/eo-framework/form-elements/form-elements.module.d.ts.map +1 -1
  53. package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts +1 -0
  54. package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts.map +1 -1
  55. package/app/eo-framework/grid/filters/datetime-filter.component.d.ts +0 -2
  56. package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
  57. package/app/eo-framework/grid/grid.component.d.ts +7 -8
  58. package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
  59. package/app/eo-framework/grid/grid.module.d.ts +7 -8
  60. package/app/eo-framework/grid/grid.module.d.ts.map +1 -1
  61. package/app/eo-framework/inbox-details/inbox-details.component.d.ts +1 -2
  62. package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
  63. package/app/eo-framework/index.d.ts +0 -4
  64. package/app/eo-framework/index.d.ts.map +1 -1
  65. package/app/eo-framework/media/media.component.d.ts +4 -3
  66. package/app/eo-framework/media/media.component.d.ts.map +1 -1
  67. package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts +2 -3
  68. package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts.map +1 -1
  69. package/app/eo-framework/object-details/object-details.component.d.ts +5 -4
  70. package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
  71. package/app/eo-framework/object-details/object-details.module.d.ts +2 -1
  72. package/app/eo-framework/object-details/object-details.module.d.ts.map +1 -1
  73. package/app/eo-framework/object-details/object-history/object-history.component.d.ts +2 -3
  74. package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
  75. package/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.d.ts +10 -0
  76. package/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.d.ts.map +1 -0
  77. package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts +8 -3
  78. package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts.map +1 -1
  79. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +1 -2
  80. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
  81. package/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.d.ts +7 -2
  82. package/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.d.ts.map +1 -1
  83. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts +28 -11
  84. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts.map +1 -1
  85. package/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.d.ts.map +1 -1
  86. package/app/eo-framework/object-form/object-form/object-form.component.d.ts +1 -2
  87. package/app/eo-framework/object-form/object-form/object-form.component.d.ts.map +1 -1
  88. package/app/eo-framework/object-form/object-form-helper.service.d.ts.map +1 -1
  89. package/app/eo-framework/object-form/object-form.module.d.ts +9 -9
  90. package/app/eo-framework/object-state-details/object-state-details.component.d.ts +1 -2
  91. package/app/eo-framework/object-state-details/object-state-details.component.d.ts.map +1 -1
  92. package/app/eo-framework/prepare-details/prepare-details.component.d.ts +8 -9
  93. package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
  94. package/app/eo-framework/process/details/process-details.component.d.ts +7 -8
  95. package/app/eo-framework/process/details/process-details.component.d.ts.map +1 -1
  96. package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts +9 -11
  97. package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts.map +1 -1
  98. package/app/eo-framework/result-list/result-list.component.d.ts +5 -6
  99. package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
  100. package/app/eo-framework/settings/settings.module.d.ts +3 -4
  101. package/app/eo-framework/settings/settings.module.d.ts.map +1 -1
  102. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts +4 -5
  103. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts.map +1 -1
  104. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +2 -3
  105. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts.map +1 -1
  106. package/app/eo-framework/ui/outside-click/outside-click.directive.d.ts +1 -2
  107. package/app/eo-framework/ui/outside-click/outside-click.directive.d.ts.map +1 -1
  108. package/app/eo-framework/ui/signature-tab/signature-tab.component.d.ts +0 -1
  109. package/app/eo-framework/ui/signature-tab/signature-tab.component.d.ts.map +1 -1
  110. package/app/eo-framework/util/index.d.ts +0 -1
  111. package/app/eo-framework/util/index.d.ts.map +1 -1
  112. package/app/eo-framework/util/util.module.d.ts +0 -1
  113. package/app/eo-framework/util/util.module.d.ts.map +1 -1
  114. package/app/eo-framework-core/layout/layout.service.d.ts +2 -26
  115. package/app/eo-framework-core/layout/layout.service.d.ts.map +1 -1
  116. package/app/eo-framework-core/pipes/locale-number.pipe.d.ts +2 -3
  117. package/app/eo-framework-core/pipes/locale-number.pipe.d.ts.map +1 -1
  118. package/assets/_default/i18n/de.json +2 -1
  119. package/assets/_default/i18n/en.json +7 -6
  120. package/assets/_default/svg/ic_add_document_file_as_new_version.svg +1 -0
  121. package/assets/_default/svg/ic_create_document.svg +1 -0
  122. package/assets/_default/svg/ic_create_document_in_folder.svg +1 -0
  123. package/esm2020/app/eo-client/about-state/about-state.component.mjs +5 -5
  124. package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +17 -14
  125. package/esm2020/app/eo-client/favorite-state/favorite-state.component.mjs +15 -14
  126. package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +14 -11
  127. package/esm2020/app/eo-client/login/login.component.mjs +3 -3
  128. package/esm2020/app/eo-client/notifications-state/notifications-state.component.mjs +16 -12
  129. package/esm2020/app/eo-client/object-state/object-state/object-state.component.mjs +27 -23
  130. package/esm2020/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +12 -9
  131. package/esm2020/app/eo-client/process-state/process-state.component.mjs +6 -9
  132. package/esm2020/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +14 -11
  133. package/esm2020/app/eo-client/result-state/result-state.component.mjs +11 -8
  134. package/esm2020/app/eo-client/settings/settings.component.mjs +16 -12
  135. package/esm2020/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +16 -13
  136. package/esm2020/app/eo-client/version-state/version-state.component.mjs +13 -10
  137. package/esm2020/app/eo-framework/accordion/accordion.module.mjs +3 -7
  138. package/esm2020/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +3 -3
  139. package/esm2020/app/eo-framework/actions/action-menu/action-menu.component.mjs +15 -11
  140. package/esm2020/app/eo-framework/actions/action.module.mjs +5 -2
  141. package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +5 -7
  142. package/esm2020/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +3 -3
  143. package/esm2020/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +2 -2
  144. package/esm2020/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +43 -48
  145. package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +2 -2
  146. package/esm2020/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +2 -2
  147. package/esm2020/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +16 -14
  148. package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +7 -3
  149. package/esm2020/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.mjs +3 -5
  150. package/esm2020/app/eo-framework/app-shell/app-shell.module.mjs +1 -8
  151. package/esm2020/app/eo-framework/app-shell/index.mjs +1 -2
  152. package/esm2020/app/eo-framework/eo-framework.module.mjs +35 -43
  153. package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +2 -12
  154. package/esm2020/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +3 -3
  155. package/esm2020/app/eo-framework/form-elements/form-elements.module.mjs +28 -37
  156. package/esm2020/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +10 -6
  157. package/esm2020/app/eo-framework/form-elements/organization/organization.component.mjs +3 -3
  158. package/esm2020/app/eo-framework/form-elements/reference/reference.component.mjs +4 -5
  159. package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +2 -6
  160. package/esm2020/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +3 -3
  161. package/esm2020/app/eo-framework/grid/filters/organization-filter.component.mjs +3 -3
  162. package/esm2020/app/eo-framework/grid/grid.component.mjs +16 -12
  163. package/esm2020/app/eo-framework/grid/grid.module.mjs +1 -5
  164. package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +16 -11
  165. package/esm2020/app/eo-framework/index.mjs +1 -5
  166. package/esm2020/app/eo-framework/media/media.component.mjs +31 -12
  167. package/esm2020/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +13 -10
  168. package/esm2020/app/eo-framework/object-details/object-details.component.mjs +42 -30
  169. package/esm2020/app/eo-framework/object-details/object-details.module.mjs +7 -3
  170. package/esm2020/app/eo-framework/object-details/object-history/object-history.component.mjs +13 -9
  171. package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.mjs +18 -0
  172. package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +20 -6
  173. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +21 -22
  174. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.mjs +1 -1
  175. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +94 -32
  176. package/esm2020/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +6 -4
  177. package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +2 -3
  178. package/esm2020/app/eo-framework/object-form/object-form/object-form.component.mjs +3 -5
  179. package/esm2020/app/eo-framework/object-form/object-form-helper.service.mjs +2 -2
  180. package/esm2020/app/eo-framework/object-form/object-form.module.mjs +9 -10
  181. package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +15 -13
  182. package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +16 -14
  183. package/esm2020/app/eo-framework/process/details/process-details.component.mjs +16 -12
  184. package/esm2020/app/eo-framework/process-form/process-form.component.mjs +2 -2
  185. package/esm2020/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +25 -17
  186. package/esm2020/app/eo-framework/result-list/result-list.component.mjs +18 -14
  187. package/esm2020/app/eo-framework/settings/settings.module.mjs +1 -5
  188. package/esm2020/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +17 -13
  189. package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +12 -8
  190. package/esm2020/app/eo-framework/ui/eo-icon/eo-icon.component.mjs +2 -2
  191. package/esm2020/app/eo-framework/ui/outside-click/outside-click.directive.mjs +11 -8
  192. package/esm2020/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +3 -6
  193. package/esm2020/app/eo-framework/upload-overlay/upload-overlay.component.mjs +3 -3
  194. package/esm2020/app/eo-framework/util/index.mjs +1 -2
  195. package/esm2020/app/eo-framework/util/util.module.mjs +2 -3
  196. package/esm2020/app/eo-framework-core/layout/layout.service.mjs +61 -63
  197. package/esm2020/app/eo-framework-core/pipes/locale-number.pipe.mjs +11 -8
  198. package/esm2020/projects/eo-sdk/core/lib/eo-core.module.mjs +8 -8
  199. package/esm2020/projects/eo-sdk/core/lib/model/inbox-item.model.mjs +2 -6
  200. package/esm2020/projects/eo-sdk/core/lib/service/dms/dms.service.mjs +14 -16
  201. package/esm2020/projects/eo-sdk/core/lib/service/prepare/prepare.service.mjs +15 -12
  202. package/esm2020/projects/eo-sdk/core/lib/service/system/system.service.mjs +2 -6
  203. package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +3 -3
  204. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +157 -165
  205. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  206. package/fesm2015/eo-sdk-client.mjs +15791 -16532
  207. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  208. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +157 -165
  209. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  210. package/fesm2020/eo-sdk-client.mjs +15665 -16407
  211. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  212. package/package.json +4 -5
  213. package/projects/eo-sdk/core/lib/eo-core.module.d.ts.map +1 -1
  214. package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts.map +1 -1
  215. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +10 -8
  216. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts.map +1 -1
  217. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts +1 -0
  218. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts.map +1 -1
  219. package/projects/eo-sdk/core/lib/service/system/system.service.d.ts.map +1 -1
  220. package/projects/eo-sdk/core/lib/util/utils.d.ts +3 -4
  221. package/projects/eo-sdk/core/lib/util/utils.d.ts.map +1 -1
  222. package/scss/_main.scss +1 -1
  223. package/scss/_mixins.scss +6 -6
  224. package/styles.css +1 -1
  225. package/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.d.ts +0 -24
  226. package/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.d.ts.map +0 -1
  227. package/app/eo-framework/split/index.d.ts +0 -5
  228. package/app/eo-framework/split/index.d.ts.map +0 -1
  229. package/app/eo-framework/split/split/split.component.d.ts +0 -83
  230. package/app/eo-framework/split/split/split.component.d.ts.map +0 -1
  231. package/app/eo-framework/split/split-area/split-area.component.d.ts +0 -37
  232. package/app/eo-framework/split/split-area/split-area.component.d.ts.map +0 -1
  233. package/app/eo-framework/split/split-gutter/split-gutter.directive.d.ts +0 -21
  234. package/app/eo-framework/split/split-gutter/split-gutter.directive.d.ts.map +0 -1
  235. package/app/eo-framework/split/split.module.d.ts +0 -12
  236. package/app/eo-framework/split/split.module.d.ts.map +0 -1
  237. package/app/eo-framework/undock-split/undock-split.component.d.ts +0 -28
  238. package/app/eo-framework/undock-split/undock-split.component.d.ts.map +0 -1
  239. package/app/eo-framework/undock-split/undock-split.service.d.ts +0 -43
  240. package/app/eo-framework/undock-split/undock-split.service.d.ts.map +0 -1
  241. package/app/eo-framework/undock-split/undock-state.interface.d.ts +0 -6
  242. package/app/eo-framework/undock-split/undock-state.interface.d.ts.map +0 -1
  243. package/app/eo-framework/util/unsubscribe/unsubscribe.component.d.ts +0 -11
  244. package/app/eo-framework/util/unsubscribe/unsubscribe.component.d.ts.map +0 -1
  245. package/esm2020/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.mjs +0 -67
  246. package/esm2020/app/eo-framework/split/index.mjs +0 -5
  247. package/esm2020/app/eo-framework/split/split/split.component.mjs +0 -373
  248. package/esm2020/app/eo-framework/split/split-area/split-area.component.mjs +0 -131
  249. package/esm2020/app/eo-framework/split/split-gutter/split-gutter.directive.mjs +0 -73
  250. package/esm2020/app/eo-framework/split/split.module.mjs +0 -28
  251. package/esm2020/app/eo-framework/undock-split/undock-split.component.mjs +0 -89
  252. package/esm2020/app/eo-framework/undock-split/undock-split.service.mjs +0 -135
  253. package/esm2020/app/eo-framework/undock-split/undock-state.interface.mjs +0 -2
  254. package/esm2020/app/eo-framework/util/unsubscribe/unsubscribe.component.mjs +0 -23
@@ -1,8 +1,8 @@
1
- import { takeUntil } from 'rxjs/operators';
1
+ import { __decorate } from "tslib";
2
2
  import { Component, ViewChild } from '@angular/core';
3
3
  import { Utils } from '@eo-sdk/core';
4
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
4
5
  import { CustomSortComponent } from '../../eo-framework/grid/extensions/custom-sort/custom-sort.component';
5
- import { UnsubscribeOnDestroy } from '../../eo-framework/util/unsubscribe/unsubscribe.component';
6
6
  import { SetFilterComponent } from '../../eo-framework/grid/extensions/filter/setFilters/set-filter.component';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "../../eo-framework-core/selection/selection.service";
@@ -23,14 +23,11 @@ import * as i15 from "../../eo-framework/grid/extensions/filter/custom/custom-fi
23
23
  import * as i16 from "../../eo-framework/grid/extensions/filter/text/text-filter.component";
24
24
  import * as i17 from "../../eo-framework/grid/extensions/filter/setFilters/set-filter.component";
25
25
  import * as i18 from "../../eo-framework/grid/extensions/reset-filter/reset-filter.component";
26
- import * as i19 from "../../eo-framework/split/split/split.component";
27
- import * as i20 from "../../eo-framework/split/split-area/split-area.component";
28
- import * as i21 from "../../eo-framework/undock-split/undock-split.component";
29
- import * as i22 from "../../eo-framework/list-container/list-container.component";
30
- import * as i23 from "../../eo-framework/plugins/plugin.component";
31
- export class FavoriteStateComponent extends UnsubscribeOnDestroy {
26
+ import * as i19 from "../../eo-framework/list-container/list-container.component";
27
+ import * as i20 from "../../eo-framework/plugins/plugin.component";
28
+ import * as i21 from "@yuuvis/components/split-view";
29
+ let FavoriteStateComponent = class FavoriteStateComponent {
32
30
  constructor(selection, translate, system, empty, pendingChanges, titleService, userService) {
33
- super();
34
31
  this.selection = selection;
35
32
  this.translate = translate;
36
33
  this.system = system;
@@ -127,7 +124,7 @@ export class FavoriteStateComponent extends UnsubscribeOnDestroy {
127
124
  ngOnInit() {
128
125
  this.refreshGrid();
129
126
  this.userService.favoritesGridData$
130
- .pipe(takeUntil(this.componentDestroyed$))
127
+ .pipe(untilDestroyed(this))
131
128
  .subscribe(data => {
132
129
  this.gridData = data;
133
130
  this.updateGrid(this.gridData);
@@ -136,14 +133,18 @@ export class FavoriteStateComponent extends UnsubscribeOnDestroy {
136
133
  ngOnDestroy() {
137
134
  this.selection.clear();
138
135
  }
139
- }
136
+ };
140
137
  FavoriteStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: FavoriteStateComponent, deps: [{ token: i1.SelectionService }, { token: i2.TranslateService }, { token: i2.SystemService }, { token: i3.EmptyStateService }, { token: i4.PendingChangesService }, { token: i5.PageTitleService }, { token: i2.UserService }], target: i0.ɵɵFactoryTarget.Component });
141
- FavoriteStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: FavoriteStateComponent, selector: "eo-favorite-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<eo-undock-split>\n <eo-split [gutterSize]=\"16\" [visibleTransition]=\"true\" [cacheLayout]=\"'favorite.state'\">\n \n <eo-split-area [size]=\"25\" [minSizePixel]=\"300\">\n <!-- <ng-template pTemplate=\"content\"> -->\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.favorites.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\"\n [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter\n (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.favorites.filter.title' | translate\" [id]=\"'favorites.text'\"\n [matchFields]=\"['title']\"\n [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [id]=\"'favorites.set'\"\n [title]=\"'eo.favorites.filter.section.objecttype' | translate\"\n [options]=\"typeFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconClass]=\"'primary'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'favorites.sort'\"\n (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\"\n [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n <eo-icon class=\"button\"\n (click)=\"hasContent ? eoList.showActions() : false\"\n [ngClass]=\"{'disabled': !hasContent, 'actions-button': hasContent}\"\n [iconTitle]=\"'eo.object.actions.title' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridContextMenuClick)=\"eoList.onContextMenu($event, 'DMS_OBJECT')\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridDoubleClick)=\"eoList.onDoubleClick($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_favorite.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.favorites.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n <!-- </ng-template> -->\n </eo-split-area>\n <eo-split-area [size]=\"75\" [minSizePixel]=\"400\" [cache]=\"false\">\n <!-- <ng-template pTemplate=\"content\"> -->\n <eo-object-details [applySelection]=\"{}\"\n [parseDmsParams]=\"parseDmsParams\"\n [emptyState]=\"emptyState\"\n [cacheLayout]=\"'favorite.state.object-details'\"\n (hasContent)=\"hasContent = $event\">\n <eo-tab-plugin [type]=\"'object-details-tab.favorite'\"></eo-tab-plugin>\n\n <div class=\"error\" *ngIf=\"gridData?.length && !hasContent\">\n <button class=\"button primary\" (click)=\"remove()\" translate>eo.favorite.details.item.gone.remove</button>\n </div>\n </eo-object-details>\n <!-- </ng-template> -->\n </eo-split-area>\n </eo-split>\n</eo-undock-split>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em;background-color:#d3d3d3}:host eo-split-area{box-shadow:0 2px 5px #0003}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "styleClass", "active", "iconTitle"] }, { kind: "component", type: i10.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i11.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["reference", "searchTerm", "enableCompare", "recyclebinTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i12.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i13.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i14.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i15.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i16.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i17.SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options", "filterParams"] }, { kind: "component", type: i18.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i19.SplitComponent, selector: "eo-split", inputs: ["direction", "switchable", "width", "height", "gutterSize", "gutterColor", "disabled", "visibleTransition", "applyCacheLayout", "cacheLayout"], outputs: ["dragStart", "dragProgress", "dragEnd", "visibleTransitionEnd"] }, { kind: "component", type: i20.SplitAreaComponent, selector: "eo-split-area", inputs: ["cache", "height", "order", "size", "minSizePixel", "visible"] }, { kind: "component", type: i21.UndockSplitComponent, selector: "eo-undock-split", inputs: ["applySelection", "undockedDetailsData"], outputs: ["onUndockDataChanged", "onUndockedWindowClosed"] }, { kind: "component", type: i22.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i23.TabPluginComponent, selector: "eo-tab-plugin", inputs: ["type"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
138
+ FavoriteStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: FavoriteStateComponent, selector: "eo-favorite-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'favorite.state'\">\n\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.favorites.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.favorites.filter.title' | translate\" [id]=\"'favorites.text'\"\n [matchFields]=\"['title']\" [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [id]=\"'favorites.set'\"\n [title]=\"'eo.favorites.filter.section.objecttype' | translate\"\n [options]=\"typeFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'favorites.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n <eo-icon class=\"button\" (click)=\"hasContent ? eoList.showActions() : false\"\n [ngClass]=\"{'disabled': !hasContent, 'actions-button': hasContent}\"\n [iconTitle]=\"'eo.object.actions.title' | translate\" [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridContextMenuClick)=\"eoList.onContextMenu($event, 'DMS_OBJECT')\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridDoubleClick)=\"eoList.onDoubleClick($event)\" (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_favorite.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.favorites.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"70\">\n <eo-object-details [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\" [emptyState]=\"emptyState\"\n [cacheLayout]=\"'favorite.state.object-details'\" (hasContent)=\"hasContent = $event\">\n <eo-tab-plugin [type]=\"'object-details-tab.favorite'\"></eo-tab-plugin>\n\n <div class=\"error\" *ngIf=\"gridData?.length && !hasContent\">\n <button class=\"button\" (click)=\"remove()\" translate>eo.favorite.details.item.gone.remove</button>\n </div>\n </eo-object-details>\n </ng-template>\n</yvc-split-view>", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em;background-color:#d3d3d3}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i8.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i9.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "styleClass", "active", "iconTitle"] }, { kind: "component", type: i10.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i11.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["reference", "searchTerm", "enableCompare", "recyclebinTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i12.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i13.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i14.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i15.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i16.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i17.SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options", "filterParams"] }, { kind: "component", type: i18.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "component", type: i19.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i20.TabPluginComponent, selector: "eo-tab-plugin", inputs: ["type"] }, { kind: "component", type: i21.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i21.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
139
+ FavoriteStateComponent = __decorate([
140
+ UntilDestroy()
141
+ ], FavoriteStateComponent);
142
+ export { FavoriteStateComponent };
142
143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: FavoriteStateComponent, decorators: [{
143
144
  type: Component,
144
- args: [{ selector: 'eo-favorite-state', template: "<eo-undock-split>\n <eo-split [gutterSize]=\"16\" [visibleTransition]=\"true\" [cacheLayout]=\"'favorite.state'\">\n \n <eo-split-area [size]=\"25\" [minSizePixel]=\"300\">\n <!-- <ng-template pTemplate=\"content\"> -->\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.favorites.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\" (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\"\n [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter\n (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.favorites.filter.title' | translate\" [id]=\"'favorites.text'\"\n [matchFields]=\"['title']\"\n [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [id]=\"'favorites.set'\"\n [title]=\"'eo.favorites.filter.section.objecttype' | translate\"\n [options]=\"typeFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\"\n [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconClass]=\"'primary'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'favorites.sort'\"\n (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\"\n [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n <eo-icon class=\"button\"\n (click)=\"hasContent ? eoList.showActions() : false\"\n [ngClass]=\"{'disabled': !hasContent, 'actions-button': hasContent}\"\n [iconTitle]=\"'eo.object.actions.title' | translate\"\n [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\"\n [gridOptions]=\"gridOptions\"\n [fullWidth]=\"true\"\n [showHeader]=\"true\"\n [showFooter]=\"true\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridContextMenuClick)=\"eoList.onContextMenu($event, 'DMS_OBJECT')\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridDoubleClick)=\"eoList.onDoubleClick($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_favorite.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.favorites.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\" (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n <!-- </ng-template> -->\n </eo-split-area>\n <eo-split-area [size]=\"75\" [minSizePixel]=\"400\" [cache]=\"false\">\n <!-- <ng-template pTemplate=\"content\"> -->\n <eo-object-details [applySelection]=\"{}\"\n [parseDmsParams]=\"parseDmsParams\"\n [emptyState]=\"emptyState\"\n [cacheLayout]=\"'favorite.state.object-details'\"\n (hasContent)=\"hasContent = $event\">\n <eo-tab-plugin [type]=\"'object-details-tab.favorite'\"></eo-tab-plugin>\n\n <div class=\"error\" *ngIf=\"gridData?.length && !hasContent\">\n <button class=\"button primary\" (click)=\"remove()\" translate>eo.favorite.details.item.gone.remove</button>\n </div>\n </eo-object-details>\n <!-- </ng-template> -->\n </eo-split-area>\n </eo-split>\n</eo-undock-split>\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em;background-color:#d3d3d3}:host eo-split-area{box-shadow:0 2px 5px #0003}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}\n"] }]
145
+ args: [{ selector: 'eo-favorite-state', template: "<yvc-split-view [layoutSettingsID]=\"'favorite.state'\">\n\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\">\n <div class=\"eo-header\">\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.favorites.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.favorites.filter.title' | translate\" [id]=\"'favorites.text'\"\n [matchFields]=\"['title']\" [filterParams]=\"textFilterParams\">\n </eo-text-filter>\n <eo-set-filter [operator]=\"'OR'\" [id]=\"'favorites.set'\"\n [title]=\"'eo.favorites.filter.section.objecttype' | translate\"\n [options]=\"typeFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'favorites.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n <eo-icon class=\"button\" (click)=\"hasContent ? eoList.showActions() : false\"\n [ngClass]=\"{'disabled': !hasContent, 'actions-button': hasContent}\"\n [iconTitle]=\"'eo.object.actions.title' | translate\" [iconSrc]=\"'assets/_default/svg/ic_more.svg'\"></eo-icon>\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" (eoGridCountChanged)=\"eoList.onCountChanged($event)\"\n (eoGridContextMenuClick)=\"eoList.onContextMenu($event, 'DMS_OBJECT')\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridDoubleClick)=\"eoList.onDoubleClick($event)\" (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_favorite.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.favorites.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n\n <ng-template yvcSplitArea [size]=\"70\">\n <eo-object-details [applySelection]=\"{}\" [parseDmsParams]=\"parseDmsParams\" [emptyState]=\"emptyState\"\n [cacheLayout]=\"'favorite.state.object-details'\" (hasContent)=\"hasContent = $event\">\n <eo-tab-plugin [type]=\"'object-details-tab.favorite'\"></eo-tab-plugin>\n\n <div class=\"error\" *ngIf=\"gridData?.length && !hasContent\">\n <button class=\"button\" (click)=\"remove()\" translate>eo.favorite.details.item.gone.remove</button>\n </div>\n </eo-object-details>\n </ng-template>\n</yvc-split-view>", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host .error .button{margin:1em;background-color:#d3d3d3}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-medium);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption)}:host ::ng-deep .ag-cell .list-item .content .date{color:rgba(var(--color-black-rgb),.4)}\n"] }]
145
146
  }], ctorParameters: function () { return [{ type: i1.SelectionService }, { type: i2.TranslateService }, { type: i2.SystemService }, { type: i3.EmptyStateService }, { type: i4.PendingChangesService }, { type: i5.PageTitleService }, { type: i2.UserService }]; }, propDecorators: { eoGrid: [{
146
147
  type: ViewChild,
147
148
  args: ['eoGrid']
148
149
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmF2b3JpdGUtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZmF2b3JpdGUtc3RhdGUvZmF2b3JpdGUtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZmF2b3JpdGUtc3RhdGUvZmF2b3JpdGUtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQVUsU0FBUyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBR3RFLE9BQU8sRUFBYyxLQUFLLEVBQTZDLE1BQU0sY0FBYyxDQUFDO0FBRzVGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBTXpHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJFQUEyRSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUzdHLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxvQkFBb0I7SUFZOUQsWUFBbUIsU0FBMkIsRUFDM0IsU0FBMkIsRUFDMUIsTUFBcUIsRUFDckIsS0FBd0IsRUFDeEIsY0FBcUMsRUFDckMsWUFBOEIsRUFDOUIsV0FBd0I7UUFDMUMsS0FBSyxFQUFFLENBQUM7UUFQUyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7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QUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM3RCxJQUFJOztxQ0FFaUIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTs7b0JBRXhDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFOzs7Ozs7V0FNckYsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QyxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCO2FBQ2hDLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQ3BDO2FBQ0EsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7O21IQXRJVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixrTEN2Qm5DLGd3S0FnR0E7MkZEekVhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxtQkFBbUI7K1JBY1IsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtDb2xEZWYsIEdyaWRPcHRpb25zfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY29yZSc7XG5pbXBvcnQge1VzZXJTZXJ2aWNlLCBVdGlscywgU3lzdGVtU2VydmljZSwgRG1zUGFyYW1zLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtJU2V0RmlsdGVyfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9leHRlbnNpb25zL2ZpbHRlci9zZXRGaWx0ZXJzL3NldC1maWx0ZXJzLmludGVyZmFjZSc7XG5pbXBvcnQge0dyaWRDb21wb25lbnR9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7Q3VzdG9tU29ydENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZXh0ZW5zaW9ucy9jdXN0b20tc29ydC9jdXN0b20tc29ydC5jb21wb25lbnQnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHtFbXB0eVN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge0VtcHR5U3RhdGV9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQge1NlbGVjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlbGVjdGlvbi9zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge1Vuc3Vic2NyaWJlT25EZXN0cm95fSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvdXRpbC91bnN1YnNjcmliZS91bnN1YnNjcmliZS5jb21wb25lbnQnO1xuaW1wb3J0IHtTZXRGaWx0ZXJDb21wb25lbnR9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay9ncmlkL2V4dGVuc2lvbnMvZmlsdGVyL3NldEZpbHRlcnMvc2V0LWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtUaXRsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge1BhZ2VUaXRsZVNlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3RpdGxlL3BhZ2UtdGl0bGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWZhdm9yaXRlLXN0YXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zhdm9yaXRlLXN0YXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmF2b3JpdGUtc3RhdGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGYXZvcml0ZVN0YXRlQ29tcG9uZW50IGV4dGVuZHMgVW5zdWJzY3JpYmVPbkRlc3Ryb3kgaW1wbGVtZW50cyBPbkluaXQsIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50LCBPbkRlc3Ryb3kge1xuXG4gIGdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucztcbiAgc29ydEZpZWxkczogQ29sRGVmW107XG4gIHR5cGVGaWx0ZXJGaWVsZHM6IElTZXRGaWx0ZXJbXTtcbiAgZ3JpZERhdGE7XG4gIGVtcHR5U3RhdGU6IEVtcHR5U3RhdGUgPSB7aWNvbjogJycsIHRleHQ6ICcnLCBjbGFzc05hbWU6ICcnfTtcbiAgc2hvd0FjdGlvbnNNZW51ID0gdHJ1ZTtcbiAgdGV4dEZpbHRlclBhcmFtczogYW55ID0ge307XG5cbiAgQFZpZXdDaGlsZCgnZW9HcmlkJykgZW9HcmlkOiBHcmlkQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZWxlY3Rpb246IFNlbGVjdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgc3lzdGVtOiBTeXN0ZW1TZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGVtcHR5OiBFbXB0eVN0YXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldEJhc2VUaXRsZSh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5mYXZvcml0ZXMubGlzdC50aXRsZScpKTtcbiAgfVxuXG4gIHNldCBoYXNDb250ZW50KGhhc0NvbnRlbnQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNob3dBY3Rpb25zTWVudSA9IGhhc0NvbnRlbnQ7XG4gIH1cblxuICBnZXQgaGFzQ29udGVudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaG93QWN0aW9uc01lbnU7XG4gIH1cblxuICBoYXNQZW5kaW5nQ2hhbmdlcygpIHtcbiAgICByZXR1cm4gdGhpcy5wZW5kaW5nQ2hhbmdlcy5oYXNQZW5kaW5nVGFzaygpO1xuICB9XG5cbiAgcmVmcmVzaEdyaWQoKSB7XG4gICAgdGhpcy51c2VyU2VydmljZS5nZXRGYXZvcml0ZXMoKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHBhcnNlRG1zUGFyYW1zKGRhdGEpOiBEbXNQYXJhbXMge1xuICAgIHJldHVybiBkYXRhICYmIGRhdGEudGFyZ2V0ID8ge2lkOiBkYXRhLnRhcmdldC5pZCwgdHlwZTogZGF0YS50YXJnZXQudHlwZX0gOiBudWxsO1xuICB9XG5cbiAgdHlwZUZpbHRlcnMoKSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZ3JpZERhdGE7XG4gICAgbGV0IHVuaXF1ZUJ5VHlwZSA9IFNldEZpbHRlckNvbXBvbmVudC51bmlxQnkoZGF0YSwgJ3RhcmdldC50eXBlJywgdGhpcy5zeXN0ZW0uZ2V0T2JqZWN0VHlwZXMoKSk7XG4gICAgdGhpcy50eXBlRmlsdGVyRmllbGRzID0gdW5pcXVlQnlUeXBlLm1hcCh0ID0+IE9iamVjdC5hc3NpZ24oe1xuICAgICAgbGFiZWw6IHQubGFiZWwsXG4gICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgIGZpbHRlcjogKG5vZGUpID0+IG5vZGUuZGF0YS50YXJnZXQudHlwZSA9PT0gdC5xbmFtZSxcbiAgICAgIGlkOiB0LnFuYW1lXG4gICAgfSkpLnNvcnQoVXRpbHMuc29ydFZhbHVlcygnbGFiZWwnKSk7XG4gIH1cblxuICByZXNldEZpbHRlcnMoKSB7XG4gICAgdGhpcy50eXBlRmlsdGVycygpO1xuICB9XG5cbiAgdXBkYXRlR3JpZChkYXRhKSB7XG4gICAgdGhpcy5lbXB0eVN0YXRlID0gdGhpcy5lbXB0eS5nZXRFbXB0eVN0YXRlKGRhdGEgPyBkYXRhLmxlbmd0aCA6IC0xKTtcbiAgICBpZiAodGhpcy5lb0dyaWQgJiYgdGhpcy5lb0dyaWQuaXNSZWFkeSkge1xuICAgICAgdGhpcy5lb0dyaWQudXBkYXRlUm93RGF0YShkYXRhKTtcbiAgICAgIHJldHVybiB0aGlzLnJlc2V0RmlsdGVycygpO1xuICAgIH1cblxuICAgIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG5cbiAgICBsZXQgY29sRGVmczogQ29sRGVmW10gPSBbXG4gICAgICB7XG4gICAgICAgIGhlYWRlck5hbWU6ICcnLFxuICAgICAgICBmaWVsZDogJ19fY3VzdG9tJyxcbiAgICAgICAgY2VsbFJlbmRlcmVyOiB0aGlzLmNlbGxSZW5kZXJlcixcbiAgICAgICAgZmlsdGVyOiBmYWxzZVxuICAgICAgfVxuICAgIF07XG5cbiAgICB0aGlzLnRleHRGaWx0ZXJQYXJhbXMgPSB7Y29udGV4dDoge2RlZmF1bHRWYWx1ZTogJyd9fTtcbiAgICB0aGlzLnNvcnRGaWVsZHMgPSBbXG4gICAgICB7ZmllbGQ6ICdjcmVhdGVkJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3guc29ydC5kYXRlJyksIHNvcnQ6ICcnfSxcbiAgICAgIHtmaWVsZDogJ3RpdGxlJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3guc29ydC50aXRsZScpLCBzb3J0OiAnJ31cbiAgICBdO1xuXG4gICAgY29uc3Qgc29ydENvbERlZnMgPSBDdXN0b21Tb3J0Q29tcG9uZW50LnNvcnRDb2xEZWZzKHRoaXMuc29ydEZpZWxkcyk7XG5cbiAgICB0aGlzLmdyaWRPcHRpb25zID0ge1xuICAgICAgY29udGV4dDoge2NvdW50OiBkYXRhLmxlbmd0aH0sXG4gICAgICByb3dEYXRhOiBkYXRhLFxuICAgICAgY29sdW1uRGVmczogY29sRGVmcy5jb25jYXQoc29ydENvbERlZnMpLFxuICAgICAgcm93QnVmZmVyOiAyMCxcbiAgICAgIHJvd0hlaWdodDogODBcbiAgICB9O1xuICB9XG5cbiAgY2VsbFJlbmRlcmVyKHBhcmFtcykge1xuICAgIGxldCBpY29uID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKCd0eXBlJywgcGFyYW1zLCB7XG4gICAgICB2YWx1ZTogcGFyYW1zLmRhdGEudGFyZ2V0LnR5cGVcbiAgICB9KTtcbiAgICBsZXQgY3JlYXRlZFRpbWUgPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2RhdGVUaW1lJywgcGFyYW1zLCB7dmFsdWU6IHBhcmFtcy5kYXRhLmNyZWF0ZWR9KTtcblxuICAgIHJldHVybiBgPGRpdiBjbGFzcz1cImxpc3QtaXRlbSAke3BhcmFtcy5kYXRhLnRhcmdldC5mb2xkZXIgPyAnZm9sZGVyJyA6ICcnfVwiIHVuc2VsZWN0YWJsZT5cbiAgICAgICAgICAgICAgJHtpY29ufVxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdjb250ZW50Jz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSd0aXRsZSc+JHtwYXJhbXMuZGF0YS50aXRsZSB8fCAnJ308L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdkZXNjcmlwdGlvbiBkYXRlJz5cbiAgICAgICAgICAgICAgICAgICR7cGFyYW1zLmRhdGEuY3JlYXRlZCA/ICc8c3BhbiBjbGFzcz1cInBlcmlvZFwiPicgKyBjcmVhdGVkVGltZSArICc8L3NwYW4+JyA6ICcnfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGFcIj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIGA7XG4gIH1cblxuICByZW1vdmUoKSB7XG4gICAgbGV0IGZvY3VzZWQgPSB0aGlzLnNlbGVjdGlvbi5nZXRGb2N1cygpO1xuICAgIGlmIChmb2N1c2VkKSB7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnJlbW92ZUZhdm9yaXRlKGZvY3VzZWQuaWQpLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVmcmVzaEdyaWQoKTtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLmZhdm9yaXRlc0dyaWREYXRhJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICB0aGlzLmdyaWREYXRhID0gZGF0YTtcbiAgICAgICAgdGhpcy51cGRhdGVHcmlkKHRoaXMuZ3JpZERhdGEpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICB9XG59XG4iLCI8ZW8tdW5kb2NrLXNwbGl0PlxuICA8ZW8tc3BsaXQgW2d1dHRlclNpemVdPVwiMTZcIiBbdmlzaWJsZVRyYW5zaXRpb25dPVwidHJ1ZVwiIFtjYWNoZUxheW91dF09XCInZmF2b3JpdGUuc3RhdGUnXCI+XG4gICAgXG4gICAgPGVvLXNwbGl0LWFyZWEgW3NpemVdPVwiMjVcIiBbbWluU2l6ZVBpeGVsXT1cIjMwMFwiPlxuICAgICAgPCEtLSA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPiAtLT5cbiAgICAgICAgPGVvLWxpc3QtY29udGFpbmVyICNlb0xpc3QgW2FwcGx5U2VsZWN0aW9uXT1cInt9XCIgW3BhcnNlRG1zUGFyYW1zXT1cInBhcnNlRG1zUGFyYW1zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlclwiPlxuICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJlby1oZWFkZXItaWNvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2Zhdm9yaXRlLnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWluZm9cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5mYXZvcml0ZXMubGlzdC50aXRsZTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeSByZWZyZXNoLWJ1dHRvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiIChjbGljayk9XCJjRmlsdGVyLnJlc2V0RmlsdGVyKCk7Y1NvcnQucmVzZXQoKTtyZWZyZXNoR3JpZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCIoJ2VvLmxpc3QucmVmcmVzaCcgfCB0cmFuc2xhdGUpXCI+PC9lby1pY29uPlxuXG4gICAgICAgICAgICAgIDxlby1vdmVybGF5ICNvRmlsdGVyIGNsYXNzPVwib3ZlcmxheS1maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19maWx0ZXIuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ3ByaW1hcnknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCInZW8ubGlzdC5maWx0ZXInIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgICAgPGVvLWN1c3RvbS1maWx0ZXIgI2NGaWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cImNGaWx0ZXIudXBkYXRlR3JpZChlb0xpc3QuZW9HcmlkU3ViamVjdCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGl2ZSk9XCJvRmlsdGVyLm9uQWN0aXZlQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICA8ZW8tdGV4dC1maWx0ZXIgW3RpdGxlXT1cIidlby5mYXZvcml0ZXMuZmlsdGVyLnRpdGxlJyB8IHRyYW5zbGF0ZVwiIFtpZF09XCInZmF2b3JpdGVzLnRleHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0Y2hGaWVsZHNdPVwiWyd0aXRsZSddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyUGFyYW1zXT1cInRleHRGaWx0ZXJQYXJhbXNcIj5cbiAgICAgICAgICAgICAgICAgIDwvZW8tdGV4dC1maWx0ZXI+XG4gICAgICAgICAgICAgICAgICA8ZW8tc2V0LWZpbHRlciBbb3BlcmF0b3JdPVwiJ09SJ1wiIFtpZF09XCInZmF2b3JpdGVzLnNldCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidlby5mYXZvcml0ZXMuZmlsdGVyLnNlY3Rpb24ub2JqZWN0dHlwZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwidHlwZUZpbHRlckZpZWxkc1wiPjwvZW8tc2V0LWZpbHRlcj5cbiAgICAgICAgICAgICAgICA8L2VvLWN1c3RvbS1maWx0ZXI+XG4gICAgICAgICAgICAgIDwvZW8tb3ZlcmxheT5cblxuICAgICAgICAgICAgICA8ZW8tb3ZlcmxheSAjb1NvcnQgY2xhc3M9XCJvdmVybGF5LXNvcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19zb3J0LnN2ZydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkNsYXNzXT1cIidwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3Quc29ydCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgICA8ZW8tY3VzdG9tLXNvcnQgI2NTb3J0IFtpZF09XCInZmF2b3JpdGVzLnNvcnQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJjU29ydC51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYWN0aXZlKT1cIm9Tb3J0Lm9uQWN0aXZlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NvcnRGaWVsZHNdPVwic29ydEZpZWxkc1wiPjwvZW8tY3VzdG9tLXNvcnQ+XG4gICAgICAgICAgICAgIDwvZW8tb3ZlcmxheT5cblxuICAgICAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYXNDb250ZW50ID8gZW9MaXN0LnNob3dBY3Rpb25zKCkgOiBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOiAhaGFzQ29udGVudCwgJ2FjdGlvbnMtYnV0dG9uJzogaGFzQ29udGVudH1cIlxuICAgICAgICAgICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cIidlby5vYmplY3QuYWN0aW9ucy50aXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19tb3JlLnN2ZydcIj48L2VvLWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW8tYm9keVwiPlxuICAgICAgICAgICAgPGVvLWdyaWQgI2VvR3JpZCAqbmdJZj1cImdyaWRPcHRpb25zPy5yb3dEYXRhXCJcbiAgICAgICAgICAgICAgICAgICAgIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICBbc2hvd0Zvb3Rlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgIChlb0dyaWRDb3VudENoYW5nZWQpPVwiZW9MaXN0Lm9uQ291bnRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgKGVvR3JpZENvbnRleHRNZW51Q2xpY2spPVwiZW9MaXN0Lm9uQ29udGV4dE1lbnUoJGV2ZW50LCAnRE1TX09CSkVDVCcpXCJcbiAgICAgICAgICAgICAgICAgICAgIChlb0dyaWRTZWxlY3Rpb25DaGFuZ2VkKT1cImVvTGlzdC5vblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAoZW9HcmlkRG91YmxlQ2xpY2spPVwiZW9MaXN0Lm9uRG91YmxlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAoZW9HcmlkRm9jdXNDaGFuZ2VkKT1cImVvTGlzdC5vbkZvY3VzQ2hhbmdlZCgkZXZlbnQpXCI+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XG4gICAgICAgICAgICAgICAgPGVvLXRvdGFsLWNvdW50IFtncmlkQ291bnRdPVwiZW9MaXN0LmdyaWRDb3VudFwiIFtvdXRzaWRlR3JpZF09XCJmYWxzZVwiIGNsYXNzPVwiZmxleC1yb3dcIj48L2VvLXRvdGFsLWNvdW50PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgW2VtcHR5U3RhdGVdPVwie2ljb246ICdpY19mYXZvcml0ZS5zdmcnLCB0ZXh0OiBvRmlsdGVyLmFjdGl2ZSA/ICdlby5uby5maWx0ZXIucmVzdWx0JyA6ICdlby5mYXZvcml0ZXMubGlzdC5lbXB0eSd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICAgICAgICAgICAgICAgIDxlby1yZXNldC1maWx0ZXIgW2lzRmlsdGVyQWN0aXZlXT1cIm9GaWx0ZXIuYWN0aXZlXCIgKGNsaWNrKT1cImNGaWx0ZXIucmVzZXRGaWx0ZXIoKTtjU29ydC5yZXNldCgpO3JlZnJlc2hHcmlkKClcIj48L2VvLXJlc2V0LWZpbHRlcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZW8tZ3JpZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9lby1saXN0LWNvbnRhaW5lcj5cbiAgICAgIDwhLS0gPC9uZy10ZW1wbGF0ZT4gLS0+XG4gICAgPC9lby1zcGxpdC1hcmVhPlxuICAgIDxlby1zcGxpdC1hcmVhIFtzaXplXT1cIjc1XCIgW21pblNpemVQaXhlbF09XCI0MDBcIiBbY2FjaGVdPVwiZmFsc2VcIj5cbiAgICAgIDwhLS0gPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIj4gLS0+XG4gICAgICAgIDxlby1vYmplY3QtZGV0YWlscyBbYXBwbHlTZWxlY3Rpb25dPVwie31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhcnNlRG1zUGFyYW1zXT1cInBhcnNlRG1zUGFyYW1zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhY2hlTGF5b3V0XT1cIidmYXZvcml0ZS5zdGF0ZS5vYmplY3QtZGV0YWlscydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhhc0NvbnRlbnQpPVwiaGFzQ29udGVudCA9ICRldmVudFwiPlxuICAgICAgICAgIDxlby10YWItcGx1Z2luIFt0eXBlXT1cIidvYmplY3QtZGV0YWlscy10YWIuZmF2b3JpdGUnXCI+PC9lby10YWItcGx1Z2luPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yXCIgKm5nSWY9XCJncmlkRGF0YT8ubGVuZ3RoICYmICFoYXNDb250ZW50XCI+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIiAoY2xpY2spPVwicmVtb3ZlKClcIiB0cmFuc2xhdGU+ZW8uZmF2b3JpdGUuZGV0YWlscy5pdGVtLmdvbmUucmVtb3ZlPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZW8tb2JqZWN0LWRldGFpbHM+XG4gICAgICA8IS0tIDwvbmctdGVtcGxhdGU+IC0tPlxuICAgIDwvZW8tc3BsaXQtYXJlYT5cbiAgPC9lby1zcGxpdD5cbjwvZW8tdW5kb2NrLXNwbGl0PlxuIl19
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmF2b3JpdGUtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZmF2b3JpdGUtc3RhdGUvZmF2b3JpdGUtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZmF2b3JpdGUtc3RhdGUvZmF2b3JpdGUtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQTBELEtBQUssRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM1RixPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBT25FLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ3pHLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJFQUEyRSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVN0RyxJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUFzQjtJQVlqQyxZQUFtQixTQUEyQixFQUMzQixTQUEyQixFQUMxQixNQUFxQixFQUNyQixLQUF3QixFQUN4QixjQUFxQyxFQUNyQyxZQUE4QixFQUM5QixXQUF3QjtRQU56QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFaNUMsZUFBVSxHQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUMsQ0FBQztRQUM3RCxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixxQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFXekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxJQUFJLFVBQVUsQ0FBQyxVQUFtQjtRQUNoQyxJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBSTtRQUNqQixPQUFPLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ25GLENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMzQixJQUFJLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDaEcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzFELEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztZQUNkLEtBQUssRUFBRSxJQUFJO1lBQ1gsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLEtBQUs7WUFDbkQsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLO1NBQ1osQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQUk7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDNUI7UUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEIsSUFBSSxPQUFPLEdBQWE7WUFDdEI7Z0JBQ0UsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsTUFBTSxFQUFFLEtBQUs7YUFDZDtTQUNGLENBQUM7UUFFRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBQyxPQUFPLEVBQUUsRUFBQyxZQUFZLEVBQUUsRUFBRSxFQUFDLEVBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFDO1lBQ3RGLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFDO1NBQ3RGLENBQUM7UUFFRixNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXJFLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsT0FBTyxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUM7WUFDN0IsT0FBTyxFQUFFLElBQUk7WUFDYixVQUFVLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7WUFDdkMsU0FBUyxFQUFFLEVBQUU7WUFDYixTQUFTLEVBQUUsRUFBRTtTQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQU07UUFDakIsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUU7WUFDbEQsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7U0FDL0IsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsRUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO1FBRTdGLE9BQU8seUJBQXlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM3RCxJQUFJOztxQ0FFaUIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTs7b0JBRXhDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFOzs7Ozs7V0FNckYsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QyxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCO2FBQ2hDLElBQUksQ0FDSCxjQUFjLENBQUMsSUFBSSxDQUFDLENBQ3JCO2FBQ0EsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7O21IQXJJVSxzQkFBc0I7dUdBQXRCLHNCQUFzQiwySkNwQm5DLHVrSUEwRWlCO0FEdERKLHNCQUFzQjtJQU5sQyxZQUFZLEVBQUU7R0FNRixzQkFBc0IsQ0FzSWxDO1NBdElZLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG1CQUFtQjsrUkFjUixNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbERlZiwgR3JpZE9wdGlvbnN9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG1zUGFyYW1zLCBTeXN0ZW1TZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlLCBVc2VyU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge0VtcHR5U3RhdGV9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQge0VtcHR5U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNDb21wb25lbnR9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMtY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy5zZXJ2aWNlJztcbmltcG9ydCB7U2VsZWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvc2VsZWN0aW9uL3NlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7UGFnZVRpdGxlU2VydmljZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvdGl0bGUvcGFnZS10aXRsZS5zZXJ2aWNlJztcbmltcG9ydCB7Q3VzdG9tU29ydENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZXh0ZW5zaW9ucy9jdXN0b20tc29ydC9jdXN0b20tc29ydC5jb21wb25lbnQnO1xuaW1wb3J0IHtTZXRGaWx0ZXJDb21wb25lbnR9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay9ncmlkL2V4dGVuc2lvbnMvZmlsdGVyL3NldEZpbHRlcnMvc2V0LWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtJU2V0RmlsdGVyfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9leHRlbnNpb25zL2ZpbHRlci9zZXRGaWx0ZXJzL3NldC1maWx0ZXJzLmludGVyZmFjZSc7XG5pbXBvcnQge0dyaWRDb21wb25lbnR9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay9ncmlkL2dyaWQuY29tcG9uZW50JztcbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tZmF2b3JpdGUtc3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmF2b3JpdGUtc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mYXZvcml0ZS1zdGF0ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZhdm9yaXRlU3RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50LCBPbkRlc3Ryb3kge1xuXG4gIGdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucztcbiAgc29ydEZpZWxkczogQ29sRGVmW107XG4gIHR5cGVGaWx0ZXJGaWVsZHM6IElTZXRGaWx0ZXJbXTtcbiAgZ3JpZERhdGE7XG4gIGVtcHR5U3RhdGU6IEVtcHR5U3RhdGUgPSB7aWNvbjogJycsIHRleHQ6ICcnLCBjbGFzc05hbWU6ICcnfTtcbiAgc2hvd0FjdGlvbnNNZW51ID0gdHJ1ZTtcbiAgdGV4dEZpbHRlclBhcmFtczogYW55ID0ge307XG5cbiAgQFZpZXdDaGlsZCgnZW9HcmlkJykgZW9HcmlkOiBHcmlkQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZWxlY3Rpb246IFNlbGVjdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgc3lzdGVtOiBTeXN0ZW1TZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGVtcHR5OiBFbXB0eVN0YXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UpIHtcbiAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRCYXNlVGl0bGUodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZmF2b3JpdGVzLmxpc3QudGl0bGUnKSk7XG4gIH1cblxuICBzZXQgaGFzQ29udGVudChoYXNDb250ZW50OiBib29sZWFuKSB7XG4gICAgdGhpcy5zaG93QWN0aW9uc01lbnUgPSBoYXNDb250ZW50O1xuICB9XG5cbiAgZ2V0IGhhc0NvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0FjdGlvbnNNZW51O1xuICB9XG5cbiAgaGFzUGVuZGluZ0NoYW5nZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGVuZGluZ0NoYW5nZXMuaGFzUGVuZGluZ1Rhc2soKTtcbiAgfVxuXG4gIHJlZnJlc2hHcmlkKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2UuZ2V0RmF2b3JpdGVzKCkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwYXJzZURtc1BhcmFtcyhkYXRhKTogRG1zUGFyYW1zIHtcbiAgICByZXR1cm4gZGF0YSAmJiBkYXRhLnRhcmdldCA/IHtpZDogZGF0YS50YXJnZXQuaWQsIHR5cGU6IGRhdGEudGFyZ2V0LnR5cGV9IDogbnVsbDtcbiAgfVxuXG4gIHR5cGVGaWx0ZXJzKCkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdyaWREYXRhO1xuICAgIGxldCB1bmlxdWVCeVR5cGUgPSBTZXRGaWx0ZXJDb21wb25lbnQudW5pcUJ5KGRhdGEsICd0YXJnZXQudHlwZScsIHRoaXMuc3lzdGVtLmdldE9iamVjdFR5cGVzKCkpO1xuICAgIHRoaXMudHlwZUZpbHRlckZpZWxkcyA9IHVuaXF1ZUJ5VHlwZS5tYXAodCA9PiBPYmplY3QuYXNzaWduKHtcbiAgICAgIGxhYmVsOiB0LmxhYmVsLFxuICAgICAgdmFsdWU6IHRydWUsXG4gICAgICBmaWx0ZXI6IChub2RlKSA9PiBub2RlLmRhdGEudGFyZ2V0LnR5cGUgPT09IHQucW5hbWUsXG4gICAgICBpZDogdC5xbmFtZVxuICAgIH0pKS5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ2xhYmVsJykpO1xuICB9XG5cbiAgcmVzZXRGaWx0ZXJzKCkge1xuICAgIHRoaXMudHlwZUZpbHRlcnMoKTtcbiAgfVxuXG4gIHVwZGF0ZUdyaWQoZGF0YSkge1xuICAgIHRoaXMuZW1wdHlTdGF0ZSA9IHRoaXMuZW1wdHkuZ2V0RW1wdHlTdGF0ZShkYXRhID8gZGF0YS5sZW5ndGggOiAtMSk7XG4gICAgaWYgKHRoaXMuZW9HcmlkICYmIHRoaXMuZW9HcmlkLmlzUmVhZHkpIHtcbiAgICAgIHRoaXMuZW9HcmlkLnVwZGF0ZVJvd0RhdGEoZGF0YSk7XG4gICAgICByZXR1cm4gdGhpcy5yZXNldEZpbHRlcnMoKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc2V0RmlsdGVycygpO1xuXG4gICAgbGV0IGNvbERlZnM6IENvbERlZltdID0gW1xuICAgICAge1xuICAgICAgICBoZWFkZXJOYW1lOiAnJyxcbiAgICAgICAgZmllbGQ6ICdfX2N1c3RvbScsXG4gICAgICAgIGNlbGxSZW5kZXJlcjogdGhpcy5jZWxsUmVuZGVyZXIsXG4gICAgICAgIGZpbHRlcjogZmFsc2VcbiAgICAgIH1cbiAgICBdO1xuXG4gICAgdGhpcy50ZXh0RmlsdGVyUGFyYW1zID0ge2NvbnRleHQ6IHtkZWZhdWx0VmFsdWU6ICcnfX07XG4gICAgdGhpcy5zb3J0RmllbGRzID0gW1xuICAgICAge2ZpZWxkOiAnY3JlYXRlZCcsIGhlYWRlck5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmluYm94LnNvcnQuZGF0ZScpLCBzb3J0OiAnJ30sXG4gICAgICB7ZmllbGQ6ICd0aXRsZScsIGhlYWRlck5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmluYm94LnNvcnQudGl0bGUnKSwgc29ydDogJyd9XG4gICAgXTtcblxuICAgIGNvbnN0IHNvcnRDb2xEZWZzID0gQ3VzdG9tU29ydENvbXBvbmVudC5zb3J0Q29sRGVmcyh0aGlzLnNvcnRGaWVsZHMpO1xuXG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgIGNvbnRleHQ6IHtjb3VudDogZGF0YS5sZW5ndGh9LFxuICAgICAgcm93RGF0YTogZGF0YSxcbiAgICAgIGNvbHVtbkRlZnM6IGNvbERlZnMuY29uY2F0KHNvcnRDb2xEZWZzKSxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICByb3dIZWlnaHQ6IDgwXG4gICAgfTtcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcihwYXJhbXMpIHtcbiAgICBsZXQgaWNvbiA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcigndHlwZScsIHBhcmFtcywge1xuICAgICAgdmFsdWU6IHBhcmFtcy5kYXRhLnRhcmdldC50eXBlXG4gICAgfSk7XG4gICAgbGV0IGNyZWF0ZWRUaW1lID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKCdkYXRlVGltZScsIHBhcmFtcywge3ZhbHVlOiBwYXJhbXMuZGF0YS5jcmVhdGVkfSk7XG5cbiAgICByZXR1cm4gYDxkaXYgY2xhc3M9XCJsaXN0LWl0ZW0gJHtwYXJhbXMuZGF0YS50YXJnZXQuZm9sZGVyID8gJ2ZvbGRlcicgOiAnJ31cIiB1bnNlbGVjdGFibGU+XG4gICAgICAgICAgICAgICR7aWNvbn1cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nY29udGVudCc+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ndGl0bGUnPiR7cGFyYW1zLmRhdGEudGl0bGUgfHwgJyd9PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nZGVzY3JpcHRpb24gZGF0ZSc+XG4gICAgICAgICAgICAgICAgICAke3BhcmFtcy5kYXRhLmNyZWF0ZWQgPyAnPHNwYW4gY2xhc3M9XCJwZXJpb2RcIj4nICsgY3JlYXRlZFRpbWUgKyAnPC9zcGFuPicgOiAnJ31cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXRhXCI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgO1xuICB9XG5cbiAgcmVtb3ZlKCkge1xuICAgIGxldCBmb2N1c2VkID0gdGhpcy5zZWxlY3Rpb24uZ2V0Rm9jdXMoKTtcbiAgICBpZiAoZm9jdXNlZCkge1xuICAgICAgdGhpcy51c2VyU2VydmljZS5yZW1vdmVGYXZvcml0ZShmb2N1c2VkLmlkKS5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlZnJlc2hHcmlkKCk7XG4gICAgdGhpcy51c2VyU2VydmljZS5mYXZvcml0ZXNHcmlkRGF0YSRcbiAgICAgIC5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgdGhpcy5ncmlkRGF0YSA9IGRhdGE7XG4gICAgICAgIHRoaXMudXBkYXRlR3JpZCh0aGlzLmdyaWREYXRhKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtcbiAgfVxufVxuIiwiPHl2Yy1zcGxpdC12aWV3IFtsYXlvdXRTZXR0aW5nc0lEXT1cIidmYXZvcml0ZS5zdGF0ZSdcIj5cblxuICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjMwXCI+XG4gICAgPGVvLWxpc3QtY29udGFpbmVyICNlb0xpc3QgW2FwcGx5U2VsZWN0aW9uXT1cInt9XCIgW3BhcnNlRG1zUGFyYW1zXT1cInBhcnNlRG1zUGFyYW1zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyXCI+XG4gICAgICAgIDxlby1pY29uIGNsYXNzPVwiZW8taGVhZGVyLWljb25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19mYXZvcml0ZS5zdmcnXCI+PC9lby1pY29uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWluZm9cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLXRpdGxlXCIgdHJhbnNsYXRlPmVvLmZhdm9yaXRlcy5saXN0LnRpdGxlPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiByZWZyZXNoLWJ1dHRvblwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiY0ZpbHRlci5yZXNldEZpbHRlcigpO2NTb3J0LnJlc2V0KCk7cmVmcmVzaEdyaWQoKVwiXG4gICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ubGlzdC5yZWZyZXNoJyB8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG5cbiAgICAgICAgICA8ZW8tb3ZlcmxheSAjb0ZpbHRlciBjbGFzcz1cIm92ZXJsYXktZmlsdGVyXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZmlsdGVyLnN2ZydcIlxuICAgICAgICAgICAgW2ljb25UaXRsZV09XCInZW8ubGlzdC5maWx0ZXInIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICA8ZW8tY3VzdG9tLWZpbHRlciAjY0ZpbHRlciAoY2hhbmdlKT1cImNGaWx0ZXIudXBkYXRlR3JpZChlb0xpc3QuZW9HcmlkU3ViamVjdCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChhY3RpdmUpPVwib0ZpbHRlci5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8ZW8tdGV4dC1maWx0ZXIgW3RpdGxlXT1cIidlby5mYXZvcml0ZXMuZmlsdGVyLnRpdGxlJyB8IHRyYW5zbGF0ZVwiIFtpZF09XCInZmF2b3JpdGVzLnRleHQnXCJcbiAgICAgICAgICAgICAgICBbbWF0Y2hGaWVsZHNdPVwiWyd0aXRsZSddXCIgW2ZpbHRlclBhcmFtc109XCJ0ZXh0RmlsdGVyUGFyYW1zXCI+XG4gICAgICAgICAgICAgIDwvZW8tdGV4dC1maWx0ZXI+XG4gICAgICAgICAgICAgIDxlby1zZXQtZmlsdGVyIFtvcGVyYXRvcl09XCInT1InXCIgW2lkXT1cIidmYXZvcml0ZXMuc2V0J1wiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidlby5mYXZvcml0ZXMuZmlsdGVyLnNlY3Rpb24ub2JqZWN0dHlwZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cInR5cGVGaWx0ZXJGaWVsZHNcIj48L2VvLXNldC1maWx0ZXI+XG4gICAgICAgICAgICA8L2VvLWN1c3RvbS1maWx0ZXI+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgICAgPGVvLW92ZXJsYXkgI29Tb3J0IGNsYXNzPVwib3ZlcmxheS1zb3J0XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc29ydC5zdmcnXCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3Quc29ydCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxlby1jdXN0b20tc29ydCAjY1NvcnQgW2lkXT1cIidmYXZvcml0ZXMuc29ydCdcIiAoY2hhbmdlKT1cImNTb3J0LnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChhY3RpdmUpPVwib1NvcnQub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIiBbc29ydEZpZWxkc109XCJzb3J0RmllbGRzXCI+PC9lby1jdXN0b20tc29ydD5cbiAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvblwiIChjbGljayk9XCJoYXNDb250ZW50ID8gZW9MaXN0LnNob3dBY3Rpb25zKCkgOiBmYWxzZVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzogIWhhc0NvbnRlbnQsICdhY3Rpb25zLWJ1dHRvbic6IGhhc0NvbnRlbnR9XCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLm9iamVjdC5hY3Rpb25zLnRpdGxlJyB8IHRyYW5zbGF0ZVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX21vcmUuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDxlby1ncmlkICNlb0dyaWQgKm5nSWY9XCJncmlkT3B0aW9ucz8ucm93RGF0YVwiIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiIFtmdWxsV2lkdGhdPVwidHJ1ZVwiIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgIFtzaG93Rm9vdGVyXT1cInRydWVcIiAoZW9HcmlkQ291bnRDaGFuZ2VkKT1cImVvTGlzdC5vbkNvdW50Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAoZW9HcmlkQ29udGV4dE1lbnVDbGljayk9XCJlb0xpc3Qub25Db250ZXh0TWVudSgkZXZlbnQsICdETVNfT0JKRUNUJylcIlxuICAgICAgICAgIChlb0dyaWRTZWxlY3Rpb25DaGFuZ2VkKT1cImVvTGlzdC5vblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgKGVvR3JpZERvdWJsZUNsaWNrKT1cImVvTGlzdC5vbkRvdWJsZUNsaWNrKCRldmVudClcIiAoZW9HcmlkRm9jdXNDaGFuZ2VkKT1cImVvTGlzdC5vbkZvY3VzQ2hhbmdlZCgkZXZlbnQpXCI+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XG4gICAgICAgICAgICA8ZW8tdG90YWwtY291bnQgW2dyaWRDb3VudF09XCJlb0xpc3QuZ3JpZENvdW50XCIgW291dHNpZGVHcmlkXT1cImZhbHNlXCIgY2xhc3M9XCJmbGV4LXJvd1wiPjwvZW8tdG90YWwtY291bnQ+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgIDxlby1lcnJvci1tZXNzYWdlXG4gICAgICAgICAgICAgIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfZmF2b3JpdGUuc3ZnJywgdGV4dDogb0ZpbHRlci5hY3RpdmUgPyAnZW8ubm8uZmlsdGVyLnJlc3VsdCcgOiAnZW8uZmF2b3JpdGVzLmxpc3QuZW1wdHknfVwiPjwvZW8tZXJyb3ItbWVzc2FnZT5cbiAgICAgICAgICAgIDxlby1yZXNldC1maWx0ZXIgW2lzRmlsdGVyQWN0aXZlXT1cIm9GaWx0ZXIuYWN0aXZlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNGaWx0ZXIucmVzZXRGaWx0ZXIoKTtjU29ydC5yZXNldCgpO3JlZnJlc2hHcmlkKClcIj48L2VvLXJlc2V0LWZpbHRlcj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2VvLWdyaWQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2VvLWxpc3QtY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiNzBcIj5cbiAgICA8ZW8tb2JqZWN0LWRldGFpbHMgW2FwcGx5U2VsZWN0aW9uXT1cInt9XCIgW3BhcnNlRG1zUGFyYW1zXT1cInBhcnNlRG1zUGFyYW1zXCIgW2VtcHR5U3RhdGVdPVwiZW1wdHlTdGF0ZVwiXG4gICAgICBbY2FjaGVMYXlvdXRdPVwiJ2Zhdm9yaXRlLnN0YXRlLm9iamVjdC1kZXRhaWxzJ1wiIChoYXNDb250ZW50KT1cImhhc0NvbnRlbnQgPSAkZXZlbnRcIj5cbiAgICAgIDxlby10YWItcGx1Z2luIFt0eXBlXT1cIidvYmplY3QtZGV0YWlscy10YWIuZmF2b3JpdGUnXCI+PC9lby10YWItcGx1Z2luPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JcIiAqbmdJZj1cImdyaWREYXRhPy5sZW5ndGggJiYgIWhhc0NvbnRlbnRcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvblwiIChjbGljayk9XCJyZW1vdmUoKVwiIHRyYW5zbGF0ZT5lby5mYXZvcml0ZS5kZXRhaWxzLml0ZW0uZ29uZS5yZW1vdmU8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZW8tb2JqZWN0LWRldGFpbHM+XG4gIDwvbmctdGVtcGxhdGU+XG48L3l2Yy1zcGxpdC12aWV3PiJdfQ==
@@ -1,7 +1,7 @@
1
- import { takeUntil } from 'rxjs/operators';
1
+ import { __decorate } from "tslib";
2
2
  import { Component, ViewChild } from '@angular/core';
3
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
3
4
  import { CustomSortComponent } from '../../../eo-framework/grid/extensions/custom-sort/custom-sort.component';
4
- import { UnsubscribeOnDestroy } from '../../../eo-framework/util/unsubscribe/unsubscribe.component';
5
5
  import { InboxTypes, InboxTypesFilter } from './inbox.types.enum';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@eo-sdk/core";
@@ -27,9 +27,8 @@ import * as i20 from "../../../eo-framework/inbox-details/inbox-details.componen
27
27
  import * as i21 from "../../../eo-framework/list-container/list-container.component";
28
28
  import * as i22 from "../../../eo-framework/plugins/plugin.component";
29
29
  import * as i23 from "@yuuvis/components/split-view";
30
- export class InboxStateComponent extends UnsubscribeOnDestroy {
30
+ let InboxStateComponent = class InboxStateComponent {
31
31
  constructor(translate, selection, titleService, inboxService, pendingChanges, empty, eventService, route, storageService) {
32
- super();
33
32
  this.translate = translate;
34
33
  this.selection = selection;
35
34
  this.titleService = titleService;
@@ -54,12 +53,12 @@ export class InboxStateComponent extends UnsubscribeOnDestroy {
54
53
  this.inboxSelection = this.selection.createNew(this.inboxSelectionId);
55
54
  this.selection.createNew(this.inboxDmsObjectSelectionId);
56
55
  this.route.queryParams
57
- .pipe(takeUntil(this.componentDestroyed$))
56
+ .pipe(untilDestroyed(this))
58
57
  .subscribe((params) => {
59
58
  this.defaultFilterParams = { context: { defaultValue: params.id } };
60
59
  });
61
60
  this.inboxService.inboxState$
62
- .pipe(takeUntil(this.componentDestroyed$))
61
+ .pipe(untilDestroyed(this))
63
62
  .subscribe((state) => {
64
63
  if (this.eoGrid) {
65
64
  // todo: temporary fix until status service update
@@ -185,7 +184,7 @@ export class InboxStateComponent extends UnsubscribeOnDestroy {
185
184
  this.refreshGrid();
186
185
  this.inboxService
187
186
  .inboxItemsGridData$
188
- .pipe(takeUntil(this.componentDestroyed$))
187
+ .pipe(untilDestroyed(this))
189
188
  .subscribe((data) => {
190
189
  this.gridData = data;
191
190
  this.updateGrid(this.gridData);
@@ -202,14 +201,18 @@ export class InboxStateComponent extends UnsubscribeOnDestroy {
202
201
  ngOnDestroy() {
203
202
  this.selection.clear();
204
203
  }
205
- }
204
+ };
206
205
  InboxStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: InboxStateComponent, deps: [{ token: i1.TranslateService }, { token: i2.SelectionService }, { token: i3.PageTitleService }, { token: i1.InboxService }, { token: i4.PendingChangesService }, { token: i5.EmptyStateService }, { token: i1.EventService }, { token: i6.ActivatedRoute }, { token: i1.LocalStorageService }], target: i0.ɵɵFactoryTarget.Component });
207
- InboxStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: InboxStateComponent, selector: "eo-inbox-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\n <div class=\"eo-header\">\n\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\" [ngClass]=\"{inboxChanged: inboxChanged}\"\n (click)=\"cFilter.resetFilter(); refreshGrid()\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\" [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\" [filterParams]=\"defaultFilterParams\"\n [id]=\"'inbox.text'\" [matchFields]=\"['title','description','id']\" [enableSave]=\"true\"></eo-text-filter>\n <eo-set-filter class=\"type-filters\" [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"></eo-set-filter>\n <eo-set-filter class=\"inbox-filters\" [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\" [iconClass]=\"'primary'\">\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" [selectFirst]=\"selectFirst\" [options]=\"{filterActive: oFilter.active}\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n <!-- inbox details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\"\n [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\n </eo-inbox-details>\n </ng-template>\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\" [cacheLayout]=\"'inbox.state.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n\n\n<!-- <eo-undock-split>\n <eo-split [gutterSize]=\"16\" [visibleTransition]=\"true\" [cacheLayout]=\"'inbox.state'\">\n <eo-split-area [size]=\"30\" [minSizePixel]=\"300\">\n <ng-template pTemplate=\"content\">\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\n <div class=\"eo-header\">\n\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\"\n [ngClass]=\"{inboxChanged: inboxChanged}\"\n (click)=\"refreshGrid()\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\"\n [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter\n (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\"\n [filterParams]=\"defaultFilterParams\" [id]=\"'inbox.text'\"\n [matchFields]=\"['title','description','id']\" [enableSave]=\"true\"></eo-text-filter>\n <eo-set-filter class=\"type-filters\" [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"></eo-set-filter>\n <eo-set-filter class=\"inbox-filters\" [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\" [iconClass]=\"'primary'\">\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"selectFirst\"\n [options]=\"{filterActive: oFilter.active}\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n </eo-split-area>\n <eo-split-area [size]=\"30\" [minSizePixel]=\"400\">\n <ng-template pTemplate=\"content\">\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\"\n [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\n </eo-inbox-details>\n </ng-template>\n </eo-split-area>\n <eo-split-area [size]=\"40\" [minSizePixel]=\"400\" [cache]=\"false\">\n <ng-template pTemplate=\"content\">\n\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\"\n [cacheLayout]=\"'inbox.state.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n </eo-split-area>\n </eo-split>\n</eo-undock-split> -->\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host yvc-split-view{height:100%}:host .inboxChanged{background:var(--color-success);color:#fff}:host .inboxChanged:hover{background:var(--color-success);color:#fff}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .notes>span{border-radius:2px;-webkit-border-radius:2px;background-color:var(--color-primary-4);color:#fff;font-size:var(--font-hint);padding:1px calc(var(--app-pane-padding) / 4) 0 calc(var(--app-pane-padding) / 4)}:host ::ng-deep .ag-cell .list-item .content .notes.pastDue span.period{background-color:var(--color-error)}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-normal);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .title-bold{font-weight:var(--font-weight-bold);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption);color:var(--text-color-caption)}:host ::ng-deep .ag-cell .list-item.read .title{font-weight:var(--font-weight-normal)}:host ::ng-deep .ag-cell .list-item .meta{padding:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;align-items:flex-end}:host ::ng-deep .ag-cell .list-item .meta .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep .type-filters .option{margin:1.5em 0}:host ::ng-deep .inbox-filters{position:relative;bottom:15px;left:25px}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i9.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i10.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i11.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i12.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i13.SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options", "filterParams"] }, { kind: "component", type: i14.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "directive", type: i15.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i16.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i17.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "styleClass", "active", "iconTitle"] }, { kind: "component", type: i18.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i19.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["reference", "searchTerm", "enableCompare", "recyclebinTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i20.InboxDetailsComponent, selector: "eo-inbox-details", inputs: ["emptyState", "applySelection", "item"] }, { kind: "component", type: i21.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i22.TabPluginComponent, selector: "eo-tab-plugin", inputs: ["type"] }, { kind: "component", type: i23.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i23.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }] });
206
+ InboxStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: InboxStateComponent, selector: "eo-inbox-state", viewQueries: [{ propertyName: "eoGrid", first: true, predicate: ["eoGrid"], descendants: true }], ngImport: i0, template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\n <div class=\"eo-header\">\n\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [ngClass]=\"{inboxChanged: inboxChanged}\"\n (click)=\"cFilter.resetFilter(); refreshGrid()\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\" [filterParams]=\"defaultFilterParams\"\n [id]=\"'inbox.text'\" [matchFields]=\"['title','description','id']\" [enableSave]=\"true\"></eo-text-filter>\n <eo-set-filter class=\"type-filters\" [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"></eo-set-filter>\n <eo-set-filter class=\"inbox-filters\" [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" [selectFirst]=\"selectFirst\" [options]=\"{filterActive: oFilter.active}\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n <!-- inbox details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\"\n [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\n </eo-inbox-details>\n </ng-template>\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\" [cacheLayout]=\"'inbox.state.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n</yvc-split-view>", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host yvc-split-view{height:100%}:host .inboxChanged{background:var(--color-success);color:#fff}:host .inboxChanged:hover{background:var(--color-success);color:#fff}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .notes>span{border-radius:2px;-webkit-border-radius:2px;background-color:var(--color-primary-4);color:#fff;font-size:var(--font-hint);padding:1px calc(var(--app-pane-padding) / 4) 0 calc(var(--app-pane-padding) / 4)}:host ::ng-deep .ag-cell .list-item .content .notes.pastDue span.period{background-color:var(--color-error)}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-normal);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .title-bold{font-weight:var(--font-weight-bold);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption);color:var(--text-color-caption)}:host ::ng-deep .ag-cell .list-item.read .title{font-weight:var(--font-weight-normal)}:host ::ng-deep .ag-cell .list-item .meta{padding:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;align-items:flex-end}:host ::ng-deep .ag-cell .list-item .meta .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep .type-filters .option{margin:1.5em 0}:host ::ng-deep .inbox-filters{position:relative;bottom:15px;left:25px}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.GridComponent, selector: "eo-grid", inputs: ["selectFirst", "selectionLimit", "sizeToFit", "fullWidth", "showHeader", "showFooter", "loaderContent", "options", "gridOptions"], outputs: ["eoGridCountChanged", "eoGridSelectionChanged", "eoGridFocusChanged", "eoGridCellClick", "eoGridDoubleClick", "eoGridContextMenuClick", "eoGridColumnResized"] }, { kind: "component", type: i9.TotalCountComponent, selector: "eo-total-count", inputs: ["eoGrid", "outsideGrid", "gridCount"] }, { kind: "component", type: i10.CustomSortComponent, selector: "eo-custom-sort", inputs: ["eoGrid", "overlay", "id", "sortFields"], outputs: ["change", "active"] }, { kind: "component", type: i11.CustomFilterComponent, selector: "eo-custom-filter", inputs: ["overlay", "eoGrid", "activeFilter", "isFilterActive"], outputs: ["change", "active", "onResetFilters"] }, { kind: "component", type: i12.TextFilterComponent, selector: "eo-text-filter", inputs: ["title", "placeholder", "enableSave", "filterParams", "matchFields"] }, { kind: "component", type: i13.SetFilterComponent, selector: "eo-set-filter", inputs: ["title", "searchLimit", "operator", "options", "filterParams"] }, { kind: "component", type: i14.ResetFilterComponent, selector: "eo-reset-filter", inputs: ["isFilterActive"] }, { kind: "directive", type: i15.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i16.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i17.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "styleClass", "active", "iconTitle"] }, { kind: "component", type: i18.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i19.ObjectDetailsComponent, selector: "eo-object-details", inputs: ["reference", "searchTerm", "enableCompare", "recyclebinTabs", "enableDiff", "enableSync", "cacheLayout", "emptyState", "params", "params2", "item", "item2", "applySelection", "parseDmsParams"], outputs: ["hasContent"] }, { kind: "component", type: i20.InboxDetailsComponent, selector: "eo-inbox-details", inputs: ["emptyState", "applySelection", "item"] }, { kind: "component", type: i21.ListContainerComponent, selector: "eo-list-container", inputs: ["applySelection", "applyVersion", "loading", "tabs", "parseDmsParams"] }, { kind: "component", type: i22.TabPluginComponent, selector: "eo-tab-plugin", inputs: ["type"] }, { kind: "component", type: i23.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i23.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }] });
207
+ InboxStateComponent = __decorate([
208
+ UntilDestroy()
209
+ ], InboxStateComponent);
210
+ export { InboxStateComponent };
208
211
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: InboxStateComponent, decorators: [{
209
212
  type: Component,
210
- args: [{ selector: 'eo-inbox-state', template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\n <div class=\"eo-header\">\n\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\" [ngClass]=\"{inboxChanged: inboxChanged}\"\n (click)=\"cFilter.resetFilter(); refreshGrid()\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\" [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\" [filterParams]=\"defaultFilterParams\"\n [id]=\"'inbox.text'\" [matchFields]=\"['title','description','id']\" [enableSave]=\"true\"></eo-text-filter>\n <eo-set-filter class=\"type-filters\" [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"></eo-set-filter>\n <eo-set-filter class=\"inbox-filters\" [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\" [iconClass]=\"'primary'\">\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" [selectFirst]=\"selectFirst\" [options]=\"{filterActive: oFilter.active}\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n <!-- inbox details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\"\n [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\n </eo-inbox-details>\n </ng-template>\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\" [cacheLayout]=\"'inbox.state.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n</yvc-split-view>\n\n\n<!-- <eo-undock-split>\n <eo-split [gutterSize]=\"16\" [visibleTransition]=\"true\" [cacheLayout]=\"'inbox.state'\">\n <eo-split-area [size]=\"30\" [minSizePixel]=\"300\">\n <ng-template pTemplate=\"content\">\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\n <div class=\"eo-header\">\n\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button primary refresh-button\"\n [ngClass]=\"{inboxChanged: inboxChanged}\"\n (click)=\"refreshGrid()\"\n [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\"\n [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\"\n [iconClass]=\"'primary'\"\n [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter\n (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\"\n [filterParams]=\"defaultFilterParams\" [id]=\"'inbox.text'\"\n [matchFields]=\"['title','description','id']\" [enableSave]=\"true\"></eo-text-filter>\n <eo-set-filter class=\"type-filters\" [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"></eo-set-filter>\n <eo-set-filter class=\"inbox-filters\" [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\" [iconClass]=\"'primary'\">\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\"\n [showHeader]=\"true\" [showFooter]=\"true\" [selectFirst]=\"selectFirst\"\n [options]=\"{filterActive: oFilter.active}\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n </eo-split-area>\n <eo-split-area [size]=\"30\" [minSizePixel]=\"400\">\n <ng-template pTemplate=\"content\">\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\"\n [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\n </eo-inbox-details>\n </ng-template>\n </eo-split-area>\n <eo-split-area [size]=\"40\" [minSizePixel]=\"400\" [cache]=\"false\">\n <ng-template pTemplate=\"content\">\n\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\"\n [cacheLayout]=\"'inbox.state.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n </eo-split-area>\n </eo-split>\n</eo-undock-split> -->\n", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host yvc-split-view{height:100%}:host .inboxChanged{background:var(--color-success);color:#fff}:host .inboxChanged:hover{background:var(--color-success);color:#fff}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .notes>span{border-radius:2px;-webkit-border-radius:2px;background-color:var(--color-primary-4);color:#fff;font-size:var(--font-hint);padding:1px calc(var(--app-pane-padding) / 4) 0 calc(var(--app-pane-padding) / 4)}:host ::ng-deep .ag-cell .list-item .content .notes.pastDue span.period{background-color:var(--color-error)}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-normal);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .title-bold{font-weight:var(--font-weight-bold);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption);color:var(--text-color-caption)}:host ::ng-deep .ag-cell .list-item.read .title{font-weight:var(--font-weight-normal)}:host ::ng-deep .ag-cell .list-item .meta{padding:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;align-items:flex-end}:host ::ng-deep .ag-cell .list-item .meta .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep .type-filters .option{margin:1.5em 0}:host ::ng-deep .inbox-filters{position:relative;bottom:15px;left:25px}\n"] }]
213
+ args: [{ selector: 'eo-inbox-state', template: "<yvc-split-view [layoutSettingsID]=\"'inbox.state'\">\n <!-- list -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-list-container #eoList [applySelection]=\"{out: inboxSelectionId}\">\n <div class=\"eo-header\">\n\n <eo-icon class=\"eo-header-icon\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"eo-header-info\">\n <div class=\"eo-header-title\" translate>eo.inbox.list.title</div>\n </div>\n <div class=\"eo-header-actions\">\n <eo-icon class=\"button refresh-button\" [ngClass]=\"{inboxChanged: inboxChanged}\"\n (click)=\"cFilter.resetFilter(); refreshGrid()\" [iconSrc]=\"'assets/_default/svg/ic_refresh.svg'\"\n [iconTitle]=\"('eo.list.refresh' | translate)\"></eo-icon>\n\n <eo-overlay #oFilter class=\"overlay-filter\" [iconSrc]=\"'assets/_default/svg/ic_filter.svg'\" [iconTitle]=\"'eo.list.filter' | translate\">\n <eo-custom-filter #cFilter (change)=\"cFilter.updateGrid(eoList.eoGridSubject, $event)\"\n (active)=\"oFilter.onActiveChanged($event)\">\n <eo-text-filter [title]=\"'eo.inbox.filter.title' | translate\" [filterParams]=\"defaultFilterParams\"\n [id]=\"'inbox.text'\" [matchFields]=\"['title','description','id']\" [enableSave]=\"true\"></eo-text-filter>\n <eo-set-filter class=\"type-filters\" [operator]=\"'OR'\" [id]=\"'inbox.type'\" [filterParams]=\"defaultFilterParams\" [options]=\"typeFilterFields\"></eo-set-filter>\n <eo-set-filter class=\"inbox-filters\" [operator]=\"'AND'\" [id]=\"'inbox.set'\" [filterParams]=\"defaultFilterParams\" [options]=\"inboxFilterFields\"></eo-set-filter>\n </eo-custom-filter>\n </eo-overlay>\n\n <eo-overlay #oSort class=\"overlay-sort\" [iconSrc]=\"'assets/_default/svg/ic_sort.svg'\"\n [iconTitle]=\"'eo.list.sort' | translate\">\n <eo-custom-sort #cSort [id]=\"'inbox.sort'\" (change)=\"cSort.updateGrid(eoList.eoGrid, $event)\"\n (active)=\"oSort.onActiveChanged($event)\" [sortFields]=\"sortFields\"></eo-custom-sort>\n </eo-overlay>\n\n </div>\n </div>\n <div class=\"eo-body\">\n <eo-grid #eoGrid *ngIf=\"gridOptions?.rowData\" [gridOptions]=\"gridOptions\" [fullWidth]=\"true\" [showHeader]=\"true\"\n [showFooter]=\"true\" [selectFirst]=\"selectFirst\" [options]=\"{filterActive: oFilter.active}\"\n (eoGridCountChanged)=\"eoList.onCountChanged($event);onCountChanged($event)\"\n (eoGridSelectionChanged)=\"eoList.onSelectionChanged($event)\"\n (eoGridFocusChanged)=\"eoList.onFocusChanged($event)\">\n <div class=\"header\">\n </div>\n\n <div class=\"footer\">\n <eo-total-count [gridCount]=\"eoList.gridCount\" [outsideGrid]=\"false\" class=\"flex-row\"></eo-total-count>\n </div>\n\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_inbox.svg', text: oFilter.active ? 'eo.no.filter.result' : 'eo.inbox.list.empty'}\"></eo-error-message>\n <eo-reset-filter [isFilterActive]=\"oFilter.active\"\n (click)=\"cFilter.resetFilter();cSort.reset();refreshGrid()\"></eo-reset-filter>\n </div>\n\n </eo-grid>\n </div>\n </eo-list-container>\n </ng-template>\n <!-- inbox details -->\n <ng-template yvcSplitArea [size]=\"30\">\n <eo-inbox-details [applySelection]=\"{in: inboxSelectionId, out: inboxDmsObjectSelectionId}\"\n [emptyState]=\"emptyState\">\n <eo-tab-plugin [type]=\"'inbox-details-tab.inbox'\"></eo-tab-plugin>\n </eo-inbox-details>\n </ng-template>\n <!-- object details -->\n <ng-template yvcSplitArea [size]=\"40\">\n <eo-object-details [applySelection]=\"{in: inboxDmsObjectSelectionId}\" [cacheLayout]=\"'inbox.state.object-details'\">\n <eo-tab-plugin [type]=\"'object-details-tab.inbox'\"></eo-tab-plugin>\n </eo-object-details>\n </ng-template>\n</yvc-split-view>", styles: [":host{position:absolute;left:var(--app-pane-padding);right:var(--app-pane-padding);top:var(--app-pane-padding);bottom:var(--app-pane-padding);overflow:hidden}:host yvc-split-view{height:100%}:host .inboxChanged{background:var(--color-success);color:#fff}:host .inboxChanged:hover{background:var(--color-success);color:#fff}:host ::ng-deep .ag-cell .list-item{display:flex;flex:1;flex-direction:row;min-height:0;min-width:0;align-items:center;height:80px}:host ::ng-deep .ag-cell .list-item[unselectable]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host ::ng-deep .ag-cell .list-item .content{flex:1;padding:var(--app-pane-padding);display:inline-block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host ::ng-deep .ag-cell .list-item .content .notes>span{border-radius:2px;-webkit-border-radius:2px;background-color:var(--color-primary-4);color:#fff;font-size:var(--font-hint);padding:1px calc(var(--app-pane-padding) / 4) 0 calc(var(--app-pane-padding) / 4)}:host ::ng-deep .ag-cell .list-item .content .notes.pastDue span.period{background-color:var(--color-error)}:host ::ng-deep .ag-cell .list-item .content .title{font-weight:var(--font-weight-normal);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .title-bold{font-weight:var(--font-weight-bold);font-size:var(--font-body)}:host ::ng-deep .ag-cell .list-item .content .description{font-size:var(--font-caption);color:var(--text-color-caption)}:host ::ng-deep .ag-cell .list-item.read .title{font-weight:var(--font-weight-normal)}:host ::ng-deep .ag-cell .list-item .meta{padding:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;align-items:flex-end}:host ::ng-deep .ag-cell .list-item .meta .date{color:rgba(var(--color-black-rgb),.4)}:host ::ng-deep .type-filters .option{margin:1.5em 0}:host ::ng-deep .inbox-filters{position:relative;bottom:15px;left:25px}\n"] }]
211
214
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.SelectionService }, { type: i3.PageTitleService }, { type: i1.InboxService }, { type: i4.PendingChangesService }, { type: i5.EmptyStateService }, { type: i1.EventService }, { type: i6.ActivatedRoute }, { type: i1.LocalStorageService }]; }, propDecorators: { eoGrid: [{
212
215
  type: ViewChild,
213
216
  args: ['eoGrid']
214
217
  }] } });
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3gtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUt0RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUU1RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQU9sRyxPQUFPLEVBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRaEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG9CQUFvQjtJQW1CM0QsWUFBbUIsU0FBMkIsRUFDckMsU0FBMkIsRUFDMUIsWUFBOEIsRUFDL0IsWUFBMEIsRUFDekIsY0FBcUMsRUFDckMsS0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsS0FBcUIsRUFDckIsY0FBbUM7UUFDM0MsS0FBSyxFQUFFLENBQUM7UUFUUyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLGlCQUFZLEdBQVos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QXFCTCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFdmVudFNlcnZpY2UsIEluYm94U3RhdGUsIExvY2FsU3RvcmFnZVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0NvbERlZiwgR3JpZE9wdGlvbnN9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7SW5ib3hJdGVtLCBJbmJveFNlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtDdXN0b21Tb3J0Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9leHRlbnNpb25zL2N1c3RvbS1zb3J0L2N1c3RvbS1zb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQge1NlbGVjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3NlbGVjdGlvbi9zZWxlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge1Vuc3Vic2NyaWJlT25EZXN0cm95fSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmsvdXRpbC91bnN1YnNjcmliZS91bnN1YnNjcmliZS5jb21wb25lbnQnO1xuaW1wb3J0IHtHcmlkQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQge0VtcHR5U3RhdGV9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQge0VtcHR5U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7SVNldEZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZXh0ZW5zaW9ucy9maWx0ZXIvc2V0RmlsdGVycy9zZXQtZmlsdGVycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtJbmJveFR5cGVzLCBJbmJveFR5cGVzRmlsdGVyfSBmcm9tICcuL2luYm94LnR5cGVzLmVudW0nO1xuaW1wb3J0IHtQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS90aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1pbmJveC1zdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmJveC1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2luYm94LXN0YXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW5ib3hTdGF0ZUNvbXBvbmVudCBleHRlbmRzIFVuc3Vic2NyaWJlT25EZXN0cm95IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50IHtcblxuICBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG4gIHNvcnRGaWVsZHM6IENvbERlZltdO1xuICBpbmJveEZpbHRlckZpZWxkczogSVNldEZpbHRlcltdID0gW107XG4gIHR5cGVGaWx0ZXJGaWVsZHM6IElTZXRGaWx0ZXJbXSA9IFtdO1xuICBpbmJveFNlbGVjdGlvbklkID0gJ2luYm94JztcbiAgaW5ib3hEbXNPYmplY3RTZWxlY3Rpb25JZCA9ICdpbmJveF9kbXMnO1xuICBpbmJveFNlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZTtcbiAgc2VsZWN0Rmlyc3QgPSB0cnVlO1xuICBpZE1hdGNoID0gdHJ1ZTtcbiAgZ3JpZERhdGE7XG4gIGRlZmF1bHRGaWx0ZXJQYXJhbXM6IGFueSA9IHt9O1xuICBlbXB0eVN0YXRlOiBFbXB0eVN0YXRlID0ge2ljb246ICdpY19uby1maWxlLnN2ZycsIHRleHQ6ICcnLCBjbGFzc05hbWU6ICcnfTtcbiAgaW5ib3hDaGFuZ2VkID0gZmFsc2U7XG4gIHN0b3JhZ2VLZXlMYXN0SXRlbUlEID0gJ2VvLmluYm94Lmxhc3RJdGVtSUQnO1xuXG4gIEBWaWV3Q2hpbGQoJ2VvR3JpZCcpIGVvR3JpZDogR3JpZENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBzZWxlY3Rpb246IFNlbGVjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFBhZ2VUaXRsZVNlcnZpY2UsXG4gICAgcHVibGljIGluYm94U2VydmljZTogSW5ib3hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVuZGluZ0NoYW5nZXM6IFBlbmRpbmdDaGFuZ2VzU2VydmljZSxcbiAgICBwcml2YXRlIGVtcHR5OiBFbXB0eVN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldEJhc2VUaXRsZSh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5pbmJveC5saXN0LnRpdGxlJykpO1xuICAgIC8vc2Vjb25kYXJ5IHNlbGVjdGlvbiBpbnN0YW5jZSBmb3IgaW5ib3ggaXRlbXNcbiAgICB0aGlzLmluYm94U2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb24uY3JlYXRlTmV3KHRoaXMuaW5ib3hTZWxlY3Rpb25JZCk7XG4gICAgdGhpcy5zZWxlY3Rpb24uY3JlYXRlTmV3KHRoaXMuaW5ib3hEbXNPYmplY3RTZWxlY3Rpb25JZCk7XG5cbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHBhcmFtczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZGVmYXVsdEZpbHRlclBhcmFtcyA9IHtjb250ZXh0OiB7ZGVmYXVsdFZhbHVlOiBwYXJhbXMuaWR9fTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5pbmJveFNlcnZpY2UuaW5ib3hTdGF0ZSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IEluYm94U3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZW9HcmlkKSB7XG4gICAgICAgICAgLy8gdG9kbzogdGVtcG9yYXJ5IGZpeCB1bnRpbCBzdGF0dXMgc2VydmljZSB1cGRhdGVcbiAgICAgICAgICAvLyB0aGlzLmluYm94Q2hhbmdlZCA9IHRoaXMuZW9HcmlkLmNvbnRleHRDb3VudCAhPT0gc3RhdGUudG90YWxtZXNzYWdlcztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvbkNvdW50Q2hhbmdlZChldnQ6IGFueSkge1xuICAgIGlmICh0aGlzLmRlZmF1bHRGaWx0ZXJQYXJhbXMuY29udGV4dCAmJiB0aGlzLmRlZmF1bHRGaWx0ZXJQYXJhbXMuY29udGV4dC5kZWZhdWx0VmFsdWUpIHtcbiAgICAgIGlmIChldnQucm93Q291bnQgPT09IDApIHtcbiAgICAgICAgdGhpcy5pZE1hdGNoID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGVmYXVsdEZpbHRlclBhcmFtcy5jb250ZXh0LmRlZmF1bHRWYWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLmluYm94U2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuaW5ib3hTZWxlY3Rpb24uZGlzYWJsZSgpO1xuICAgICAgICB0aGlzLmVvR3JpZC5ncmlkT3B0aW9ucy5jb250ZXh0LmNvdW50ID0gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdEZpbHRlclBhcmFtcy5jb250ZXh0LmRlZmF1bHRWYWx1ZSA9ICcnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhc1BlbmRpbmdDaGFuZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKCk7XG4gIH1cblxuICByZWZyZXNoR3JpZCgpIHtcbiAgICB0aGlzLmluYm94Q2hhbmdlZCA9IGZhbHNlO1xuICAgIHRoaXMuaW5ib3hTZWxlY3Rpb24uZGlzYWJsZShmYWxzZSk7XG4gICAgdGhpcy5pbmJveFNlcnZpY2UuZ2V0SXRlbXMoKS5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmluYm94U2VydmljZS5yZWZyZXNoSW5ib3hTdGF0ZSgpO1xuICB9XG5cbiAgaXRlbUZpbHRlckZpZWxkcyhub2RlLCBpdGVtKSB7XG4gICAgY29uc3QgdmFsdWUgPSBub2RlLmRhdGFbSW5ib3hUeXBlc0ZpbHRlcltpdGVtXV07XG4gICAgY29uc3QgYWNjZXB0ZWRBbmRVbmFjY2VwdGVkQ29tYmluZWQgPSB0aGlzLmluYm94RmlsdGVyRmllbGRzLmZpbmQoZmlsdGVyID0+IGZpbHRlci5pZCA9PT0gJ2FjY2VwdGVkVGFza3MnKS52YWx1ZVxuICAgICAgJiYgdGhpcy5pbmJveEZpbHRlckZpZWxkcy5maW5kKGZpbHRlciA9PiBmaWx0ZXIuaWQgPT09ICd1bmFjY2VwdGVkVGFza3MnKS52YWx1ZTtcbiAgICBzd2l0Y2ggKEluYm94VHlwZXNGaWx0ZXJbaXRlbV0pIHtcbiAgICAgIGNhc2UgSW5ib3hUeXBlc0ZpbHRlci5vdmVyZHVlOlxuICAgICAgICByZXR1cm4gbm9kZS5kYXRhLmlzT3ZlcmR1ZSgpO1xuICAgICAgY2FzZSBJbmJveFR5cGVzRmlsdGVyLmFic2VudDpcbiAgICAgICAgcmV0dXJuICEhdmFsdWU7XG4gICAgICBjYXNlIEluYm94VHlwZXNGaWx0ZXIuYWNjZXB0ZWRUYXNrczpcbiAgICAgICAgcmV0dXJuIGFjY2VwdGVkQW5kVW5hY2NlcHRlZENvbWJpbmVkID8gbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nIDogbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nICYmICEhbm9kZS5kYXRhLmFjY2VwdGVkO1xuICAgICAgY2FzZSBJbmJveFR5cGVzRmlsdGVyLnVuYWNjZXB0ZWRUYXNrczpcbiAgICAgICAgcmV0dXJuIGFjY2VwdGVkQW5kVW5hY2NlcHRlZENvbWJpbmVkID8gbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nIDogbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nICYmICFub2RlLmRhdGEuYWNjZXB0ZWQ7XG4gICAgfVxuICB9XG5cbiAgZmllbGRGaWx0ZXJzKCkge1xuICAgIHRoaXMudHlwZUZpbHRlckZpZWxkcyA9IE9iamVjdC5rZXlzKEluYm94VHlwZXMpLm1hcChpdGVtID0+ICh7XG4gICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgZW8uaW5ib3guJHtpdGVtfWApLFxuICAgICAgZmlsdGVyOiAobm9kZSkgPT4gbm9kZS5kYXRhLnR5cGUgPT09IGl0ZW0sXG4gICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgIGlkOiBpdGVtXG4gICAgfSkpO1xuXG4gICAgdGhpcy5pbmJveEZpbHRlckZpZWxkcyA9IE9iamVjdC5rZXlzKEluYm94VHlwZXNGaWx0ZXIpLm1hcChpdGVtID0+ICh7XG4gICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgZW8uaW5ib3guZmlsdGVyLiR7aXRlbX1gKSxcbiAgICAgIGZpbHRlcjogKG5vZGUpID0+IHRoaXMuaXRlbUZpbHRlckZpZWxkcyhub2RlLCBpdGVtKSxcbiAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgIGlkOiBpdGVtXG4gICAgfSkpO1xuICB9XG5cbiAgcmVzZXRGaWx0ZXJzKCkge1xuICAgIHRoaXMuZmllbGRGaWx0ZXJzKCk7XG4gIH1cblxuICB1cGRhdGVHcmlkKGRhdGE6IEluYm94SXRlbVtdKTogdm9pZCB7XG4gICAgdGhpcy5lbXB0eVN0YXRlID0gdGhpcy5lbXB0eS5nZXRFbXB0eVN0YXRlKGRhdGEgPyBkYXRhLmxlbmd0aCA6IC0xLCB1bmRlZmluZWQsICdpY19uby1maWxlLnN2ZycpO1xuXG4gICAgaWYgKHRoaXMuZW9HcmlkICYmIHRoaXMuZW9HcmlkLmlzUmVhZHkpIHtcbiAgICAgIHJldHVybiB0aGlzLmVvR3JpZC51cGRhdGVSb3dEYXRhKGRhdGEpO1xuICAgIH1cblxuICAgIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG5cbiAgICBsZXQgY29sRGVmczogQ29sRGVmW10gPSBbe1xuICAgICAgaGVhZGVyTmFtZTogJycsXG4gICAgICBmaWVsZDogJ19fY3VzdG9tJyxcbiAgICAgIGNlbGxSZW5kZXJlcjogdGhpcy5jZWxsUmVuZGVyZXIsXG4gICAgICBmaWx0ZXI6IGZhbHNlXG4gICAgICAvLyBjZWxsUmVuZGVyZXJGcmFtZXdvcms6IEluYm94UmVuZGVyZXJDb21wb25lbnRcbiAgICB9XTtcblxuICAgIHRoaXMuc29ydEZpZWxkcyA9IFtcbiAgICAgIHtcbiAgICAgICAgZmllbGQ6ICdyZWNlaXZlZCcsIGhlYWRlck5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmluYm94LnNvcnQuZGF0ZScpLCBzb3J0OiAnJyxcbiAgICAgICAgdmFsdWVHZXR0ZXI6IChwKSA9PiAocC5kYXRhW3AuY29sRGVmLmZpZWxkXSB8fCAnJykubWF0Y2goL1xcK1xcZFxcZDpcXGRcXGQvKSA/IG5ldyBEYXRlKHAuZGF0YVtwLmNvbERlZi5maWVsZF0pLnRvSVNPU3RyaW5nKCkgOiBwLmRhdGFbcC5jb2xEZWYuZmllbGRdXG4gICAgICB9LFxuICAgICAge2ZpZWxkOiAndGl0bGUnLCBoZWFkZXJOYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5pbmJveC5zb3J0LnRpdGxlJyksIHNvcnQ6ICcnfSxcbiAgICAgIHtmaWVsZDogJ2Rlc2NyaXB0aW9uJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3guc29ydC5kZXNjcmlwdGlvbicpLCBzb3J0OiAnJ31cbiAgICBdO1xuXG4gICAgbGV0IHNvcnRDb2xEZWZzID0gQ3VzdG9tU29ydENvbXBvbmVudC5zb3J0Q29sRGVmcyh0aGlzLnNvcnRGaWVsZHMpO1xuXG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgIGNvbnRleHQ6IHtjb3VudDogZGF0YS5sZW5ndGh9LFxuICAgICAgcm93RGF0YTogZGF0YSxcbiAgICAgIGNvbHVtbkRlZnM6IGNvbERlZnMuY29uY2F0KHNvcnRDb2xEZWZzKSxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICByb3dIZWlnaHQ6IDgwLFxuICAgICAgcm93U2VsZWN0aW9uOiAnc2luZ2xlJ1xuICAgIH07XG4gIH1cblxuICBjZWxsUmVuZGVyZXIocGFyYW1zKSB7XG5cbiAgICBsZXQgbGFiZWwgPSAnJztcbiAgICBpZiAoT2JqZWN0LmtleXMoSW5ib3hUeXBlcykuaW5jbHVkZXMocGFyYW1zLmRhdGEudHlwZSkpIHtcbiAgICAgIGxhYmVsID0gcGFyYW1zLmNvbnRleHQudHJhbnNsYXRlLmluc3RhbnQoYGVvLmluYm94LiR7cGFyYW1zLmRhdGEudHlwZX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cmwgPSBgYXNzZXRzL19kZWZhdWx0L3N2Zy9pY18ke0luYm94VHlwZXNbcGFyYW1zLmRhdGEudHlwZV19LnN2Z2A7XG5cbiAgICBsZXQgaWNvbiA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcignaWNvbicsIHBhcmFtcywge3ZhbHVlOiB7dXJsLCBsYWJlbH19KTtcbiAgICBsZXQgc2hvcnREYXRlID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKCdkYXRlVGltZScsIHBhcmFtcywge3ZhbHVlOiBwYXJhbXMuZGF0YS5yZWNlaXZlZCwgcGF0dGVybjogJ2VvU2hvcnREYXRlJ30pO1xuICAgIGxldCBzaG9ydFRpbWUgPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2RhdGVUaW1lJywgcGFyYW1zLCB7dmFsdWU6IHBhcmFtcy5kYXRhLnJlY2VpdmVkLCBwYXR0ZXJuOiAnZW9TaG9ydFRpbWUnfSk7XG4gICAgbGV0IGR1ZXRpbWUgPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2RhdGVUaW1lJywgcGFyYW1zLCB7dmFsdWU6IHBhcmFtcy5kYXRhLmR1ZXRpbWV9KTtcbiAgICBjb25zdCB0aXRsZUNsYXNzID0gcGFyYW1zLmRhdGEuYWNjZXB0ZWQgPyAndGl0bGUnIDogJ3RpdGxlLWJvbGQnO1xuXG4gICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtJHtwYXJhbXMuZGF0YS5mb2xkZXIgPyAnIGZvbGRlcicgOiAnJ31cIiB1bnNlbGVjdGFibGU+XG4gICAgICAgICAgICAgICR7aWNvbn1cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nY29udGVudCc+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nJHt0aXRsZUNsYXNzfSc+JHtwYXJhbXMuZGF0YS50aXRsZSB8fCAnJ308L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdkZXNjcmlwdGlvbic+JHtwYXJhbXMuZGF0YS5kZXNjcmlwdGlvbiB8fCAnJ308L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdub3RlcyR7cGFyYW1zLmRhdGEuaXNPdmVyZHVlKCkgPyAnIHBhc3REdWUnIDogJyd9Jz5cbiAgICAgICAgICAgICAgICAgICR7cGFyYW1zLmRhdGEuZHVldGltZSA/ICc8c3BhbiBjbGFzcz1cInBlcmlvZFwiPicgKyBkdWV0aW1lICsgJzwvc3Bhbj4nIDogJyd9XG4gICAgICAgICAgICAgICAgICAke3BhcmFtcy5kYXRhLmlzZGVwdXR5ID8gJzxzcGFuPicgKyBwYXJhbXMuY29udGV4dC50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3guaXRlbS5ub3RlLmFic2VuY2UnKSArICc8L3NwYW4+JyA6ICcnfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiPiR7c2hvcnREYXRlfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCI+JHtzaG9ydFRpbWV9PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZWZyZXNoR3JpZCgpO1xuICAgIHRoaXMuaW5ib3hTZXJ2aWNlXG4gICAgICAuaW5ib3hJdGVtc0dyaWREYXRhJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJCkpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBJbmJveEl0ZW1bXSkgPT4ge1xuXG4gICAgICAgIHRoaXMuZ3JpZERhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLnVwZGF0ZUdyaWQodGhpcy5ncmlkRGF0YSk7XG5cbiAgICAgICAgY29uc3QgbGFzdEluYm94SXRlbUlEID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKHRoaXMuc3RvcmFnZUtleUxhc3RJdGVtSUQpO1xuICAgICAgICBpZiAobGFzdEluYm94SXRlbUlEKSB7XG4gICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZ3JpZERhdGEuZmluZChpID0+IGkuaWQgPT09IGxhc3RJbmJveEl0ZW1JRCk7XG4gICAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Rmlyc3QgPSBmYWxzZTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5lb0dyaWQuc2VsZWN0Um93KGl0ZW0pLCA1MDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICB9XG59XG4iLCI8eXZjLXNwbGl0LXZpZXcgW2xheW91dFNldHRpbmdzSURdPVwiJ2luYm94LnN0YXRlJ1wiPlxuICA8IS0tIGxpc3QgLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiMzBcIj5cbiAgICA8ZW8tbGlzdC1jb250YWluZXIgI2VvTGlzdCBbYXBwbHlTZWxlY3Rpb25dPVwie291dDogaW5ib3hTZWxlY3Rpb25JZH1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXJcIj5cblxuICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfaW5ib3guc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5pbmJveC5saXN0LnRpdGxlPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5IHJlZnJlc2gtYnV0dG9uXCIgW25nQ2xhc3NdPVwie2luYm94Q2hhbmdlZDogaW5ib3hDaGFuZ2VkfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY0ZpbHRlci5yZXNldEZpbHRlcigpOyByZWZyZXNoR3JpZCgpXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfcmVmcmVzaC5zdmcnXCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5saXN0LnJlZnJlc2gnIHwgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvRmlsdGVyIGNsYXNzPVwib3ZlcmxheS1maWx0ZXJcIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19maWx0ZXIuc3ZnJ1wiXG4gICAgICAgICAgICBbaWNvbkNsYXNzXT1cIidwcmltYXJ5J1wiIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3QuZmlsdGVyJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgPGVvLWN1c3RvbS1maWx0ZXIgI2NGaWx0ZXIgKGNoYW5nZSk9XCJjRmlsdGVyLnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZFN1YmplY3QsICRldmVudClcIlxuICAgICAgICAgICAgICAoYWN0aXZlKT1cIm9GaWx0ZXIub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgPGVvLXRleHQtZmlsdGVyIFt0aXRsZV09XCInZW8uaW5ib3guZmlsdGVyLnRpdGxlJyB8IHRyYW5zbGF0ZVwiIFtmaWx0ZXJQYXJhbXNdPVwiZGVmYXVsdEZpbHRlclBhcmFtc1wiXG4gICAgICAgICAgICAgICAgW2lkXT1cIidpbmJveC50ZXh0J1wiIFttYXRjaEZpZWxkc109XCJbJ3RpdGxlJywnZGVzY3JpcHRpb24nLCdpZCddXCIgW2VuYWJsZVNhdmVdPVwidHJ1ZVwiPjwvZW8tdGV4dC1maWx0ZXI+XG4gICAgICAgICAgICAgIDxlby1zZXQtZmlsdGVyIGNsYXNzPVwidHlwZS1maWx0ZXJzXCIgW29wZXJhdG9yXT1cIidPUidcIiBbaWRdPVwiJ2luYm94LnR5cGUnXCIgW2ZpbHRlclBhcmFtc109XCJkZWZhdWx0RmlsdGVyUGFyYW1zXCIgW29wdGlvbnNdPVwidHlwZUZpbHRlckZpZWxkc1wiPjwvZW8tc2V0LWZpbHRlcj5cbiAgICAgICAgICAgICAgPGVvLXNldC1maWx0ZXIgY2xhc3M9XCJpbmJveC1maWx0ZXJzXCIgW29wZXJhdG9yXT1cIidBTkQnXCIgW2lkXT1cIidpbmJveC5zZXQnXCIgW2ZpbHRlclBhcmFtc109XCJkZWZhdWx0RmlsdGVyUGFyYW1zXCIgW29wdGlvbnNdPVwiaW5ib3hGaWx0ZXJGaWVsZHNcIj48L2VvLXNldC1maWx0ZXI+XG4gICAgICAgICAgICA8L2VvLWN1c3RvbS1maWx0ZXI+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgICAgPGVvLW92ZXJsYXkgI29Tb3J0IGNsYXNzPVwib3ZlcmxheS1zb3J0XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc29ydC5zdmcnXCJcbiAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3Quc29ydCcgfCB0cmFuc2xhdGVcIiBbaWNvbkNsYXNzXT1cIidwcmltYXJ5J1wiPlxuICAgICAgICAgICAgPGVvLWN1c3RvbS1zb3J0ICNjU29ydCBbaWRdPVwiJ2luYm94LnNvcnQnXCIgKGNoYW5nZSk9XCJjU29ydC51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWQsICRldmVudClcIlxuICAgICAgICAgICAgICAoYWN0aXZlKT1cIm9Tb3J0Lm9uQWN0aXZlQ2hhbmdlZCgkZXZlbnQpXCIgW3NvcnRGaWVsZHNdPVwic29ydEZpZWxkc1wiPjwvZW8tY3VzdG9tLXNvcnQ+XG4gICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZW8tYm9keVwiPlxuICAgICAgICA8ZW8tZ3JpZCAjZW9HcmlkICpuZ0lmPVwiZ3JpZE9wdGlvbnM/LnJvd0RhdGFcIiBbZ3JpZE9wdGlvbnNdPVwiZ3JpZE9wdGlvbnNcIiBbZnVsbFdpZHRoXT1cInRydWVcIiBbc2hvd0hlYWRlcl09XCJ0cnVlXCJcbiAgICAgICAgICBbc2hvd0Zvb3Rlcl09XCJ0cnVlXCIgW3NlbGVjdEZpcnN0XT1cInNlbGVjdEZpcnN0XCIgW29wdGlvbnNdPVwie2ZpbHRlckFjdGl2ZTogb0ZpbHRlci5hY3RpdmV9XCJcbiAgICAgICAgICAoZW9HcmlkQ291bnRDaGFuZ2VkKT1cImVvTGlzdC5vbkNvdW50Q2hhbmdlZCgkZXZlbnQpO29uQ291bnRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIChlb0dyaWRTZWxlY3Rpb25DaGFuZ2VkKT1cImVvTGlzdC5vblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgKGVvR3JpZEZvY3VzQ2hhbmdlZCk9XCJlb0xpc3Qub25Gb2N1c0NoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgICAgICAgIDxlby10b3RhbC1jb3VudCBbZ3JpZENvdW50XT1cImVvTGlzdC5ncmlkQ291bnRcIiBbb3V0c2lkZUdyaWRdPVwiZmFsc2VcIiBjbGFzcz1cImZsZXgtcm93XCI+PC9lby10b3RhbC1jb3VudD5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgICAgICAgICAgPGVvLWVycm9yLW1lc3NhZ2VcbiAgICAgICAgICAgICAgW2VtcHR5U3RhdGVdPVwie2ljb246ICdpY19pbmJveC5zdmcnLCB0ZXh0OiBvRmlsdGVyLmFjdGl2ZSA/ICdlby5uby5maWx0ZXIucmVzdWx0JyA6ICdlby5pbmJveC5saXN0LmVtcHR5J31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gICAgICAgICAgICA8ZW8tcmVzZXQtZmlsdGVyIFtpc0ZpbHRlckFjdGl2ZV09XCJvRmlsdGVyLmFjdGl2ZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjRmlsdGVyLnJlc2V0RmlsdGVyKCk7Y1NvcnQucmVzZXQoKTtyZWZyZXNoR3JpZCgpXCI+PC9lby1yZXNldC1maWx0ZXI+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9lby1ncmlkPlxuICAgICAgPC9kaXY+XG4gICAgPC9lby1saXN0LWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPCEtLSBpbmJveCBkZXRhaWxzIC0tPlxuICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjMwXCI+XG4gICAgPGVvLWluYm94LWRldGFpbHMgW2FwcGx5U2VsZWN0aW9uXT1cIntpbjogaW5ib3hTZWxlY3Rpb25JZCwgb3V0OiBpbmJveERtc09iamVjdFNlbGVjdGlvbklkfVwiXG4gICAgICBbZW1wdHlTdGF0ZV09XCJlbXB0eVN0YXRlXCI+XG4gICAgICA8ZW8tdGFiLXBsdWdpbiBbdHlwZV09XCInaW5ib3gtZGV0YWlscy10YWIuaW5ib3gnXCI+PC9lby10YWItcGx1Z2luPlxuICAgIDwvZW8taW5ib3gtZGV0YWlscz5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPCEtLSBvYmplY3QgZGV0YWlscyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCI0MFwiPlxuICAgIDxlby1vYmplY3QtZGV0YWlscyBbYXBwbHlTZWxlY3Rpb25dPVwie2luOiBpbmJveERtc09iamVjdFNlbGVjdGlvbklkfVwiIFtjYWNoZUxheW91dF09XCInaW5ib3guc3RhdGUub2JqZWN0LWRldGFpbHMnXCI+XG4gICAgICA8ZW8tdGFiLXBsdWdpbiBbdHlwZV09XCInb2JqZWN0LWRldGFpbHMtdGFiLmluYm94J1wiPjwvZW8tdGFiLXBsdWdpbj5cbiAgICA8L2VvLW9iamVjdC1kZXRhaWxzPlxuICA8L25nLXRlbXBsYXRlPlxuPC95dmMtc3BsaXQtdmlldz5cblxuXG48IS0tIDxlby11bmRvY2stc3BsaXQ+XG4gIDxlby1zcGxpdCBbZ3V0dGVyU2l6ZV09XCIxNlwiIFt2aXNpYmxlVHJhbnNpdGlvbl09XCJ0cnVlXCIgW2NhY2hlTGF5b3V0XT1cIidpbmJveC5zdGF0ZSdcIj5cbiAgICA8ZW8tc3BsaXQtYXJlYSBbc2l6ZV09XCIzMFwiIFttaW5TaXplUGl4ZWxdPVwiMzAwXCI+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPlxuICAgICAgICA8ZW8tbGlzdC1jb250YWluZXIgI2VvTGlzdCBbYXBwbHlTZWxlY3Rpb25dPVwie291dDogaW5ib3hTZWxlY3Rpb25JZH1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyXCI+XG5cbiAgICAgICAgICAgIDxlby1pY29uIGNsYXNzPVwiZW8taGVhZGVyLWljb25cIiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19pbmJveC5zdmcnXCI+PC9lby1pY29uPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXItdGl0bGVcIiB0cmFuc2xhdGU+ZW8uaW5ib3gubGlzdC50aXRsZTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gcHJpbWFyeSByZWZyZXNoLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntpbmJveENoYW5nZWQ6IGluYm94Q2hhbmdlZH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVmcmVzaEdyaWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiKCdlby5saXN0LnJlZnJlc2gnIHwgdHJhbnNsYXRlKVwiPjwvZW8taWNvbj5cblxuICAgICAgICAgICAgICA8ZW8tb3ZlcmxheSAjb0ZpbHRlciBjbGFzcz1cIm92ZXJsYXktZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZmlsdGVyLnN2ZydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkNsYXNzXT1cIidwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiJ2VvLmxpc3QuZmlsdGVyJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxlby1jdXN0b20tZmlsdGVyICNjRmlsdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJjRmlsdGVyLnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZFN1YmplY3QsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3RpdmUpPVwib0ZpbHRlci5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgPGVvLXRleHQtZmlsdGVyIFt0aXRsZV09XCInZW8uaW5ib3guZmlsdGVyLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlclBhcmFtc109XCJkZWZhdWx0RmlsdGVyUGFyYW1zXCIgW2lkXT1cIidpbmJveC50ZXh0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdGNoRmllbGRzXT1cIlsndGl0bGUnLCdkZXNjcmlwdGlvbicsJ2lkJ11cIiBbZW5hYmxlU2F2ZV09XCJ0cnVlXCI+PC9lby10ZXh0LWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgIDxlby1zZXQtZmlsdGVyIGNsYXNzPVwidHlwZS1maWx0ZXJzXCIgW29wZXJhdG9yXT1cIidPUidcIiBbaWRdPVwiJ2luYm94LnR5cGUnXCIgW2ZpbHRlclBhcmFtc109XCJkZWZhdWx0RmlsdGVyUGFyYW1zXCIgW29wdGlvbnNdPVwidHlwZUZpbHRlckZpZWxkc1wiPjwvZW8tc2V0LWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgIDxlby1zZXQtZmlsdGVyIGNsYXNzPVwiaW5ib3gtZmlsdGVyc1wiIFtvcGVyYXRvcl09XCInQU5EJ1wiIFtpZF09XCInaW5ib3guc2V0J1wiIFtmaWx0ZXJQYXJhbXNdPVwiZGVmYXVsdEZpbHRlclBhcmFtc1wiIFtvcHRpb25zXT1cImluYm94RmlsdGVyRmllbGRzXCI+PC9lby1zZXQtZmlsdGVyPlxuICAgICAgICAgICAgICAgIDwvZW8tY3VzdG9tLWZpbHRlcj5cbiAgICAgICAgICAgICAgPC9lby1vdmVybGF5PlxuXG4gICAgICAgICAgICAgIDxlby1vdmVybGF5ICNvU29ydCBjbGFzcz1cIm92ZXJsYXktc29ydFwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NvcnQuc3ZnJ1wiXG4gICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCInZW8ubGlzdC5zb3J0JyB8IHRyYW5zbGF0ZVwiIFtpY29uQ2xhc3NdPVwiJ3ByaW1hcnknXCI+XG4gICAgICAgICAgICAgICAgPGVvLWN1c3RvbS1zb3J0ICNjU29ydCBbaWRdPVwiJ2luYm94LnNvcnQnXCIgKGNoYW5nZSk9XCJjU29ydC51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgKGFjdGl2ZSk9XCJvU29ydC5vbkFjdGl2ZUNoYW5nZWQoJGV2ZW50KVwiIFtzb3J0RmllbGRzXT1cInNvcnRGaWVsZHNcIj48L2VvLWN1c3RvbS1zb3J0PlxuICAgICAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgICAgICA8ZW8tZ3JpZCAjZW9HcmlkICpuZ0lmPVwiZ3JpZE9wdGlvbnM/LnJvd0RhdGFcIiBbZ3JpZE9wdGlvbnNdPVwiZ3JpZE9wdGlvbnNcIiBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgICAgICBbc2hvd0hlYWRlcl09XCJ0cnVlXCIgW3Nob3dGb290ZXJdPVwidHJ1ZVwiIFtzZWxlY3RGaXJzdF09XCJzZWxlY3RGaXJzdFwiXG4gICAgICAgICAgICAgIFtvcHRpb25zXT1cIntmaWx0ZXJBY3RpdmU6IG9GaWx0ZXIuYWN0aXZlfVwiXG4gICAgICAgICAgICAgIChlb0dyaWRDb3VudENoYW5nZWQpPVwiZW9MaXN0Lm9uQ291bnRDaGFuZ2VkKCRldmVudCk7b25Db3VudENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChlb0dyaWRTZWxlY3Rpb25DaGFuZ2VkKT1cImVvTGlzdC5vblNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChlb0dyaWRGb2N1c0NoYW5nZWQpPVwiZW9MaXN0Lm9uRm9jdXNDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XG4gICAgICAgICAgICAgICAgPGVvLXRvdGFsLWNvdW50IFtncmlkQ291bnRdPVwiZW9MaXN0LmdyaWRDb3VudFwiIFtvdXRzaWRlR3JpZF09XCJmYWxzZVwiIGNsYXNzPVwiZmxleC1yb3dcIj48L2VvLXRvdGFsLWNvdW50PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgW2VtcHR5U3RhdGVdPVwie2ljb246ICdpY19pbmJveC5zdmcnLCB0ZXh0OiBvRmlsdGVyLmFjdGl2ZSA/ICdlby5uby5maWx0ZXIucmVzdWx0JyA6ICdlby5pbmJveC5saXN0LmVtcHR5J31cIj48L2VvLWVycm9yLW1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgPGVvLXJlc2V0LWZpbHRlciBbaXNGaWx0ZXJBY3RpdmVdPVwib0ZpbHRlci5hY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNGaWx0ZXIucmVzZXRGaWx0ZXIoKTtjU29ydC5yZXNldCgpO3JlZnJlc2hHcmlkKClcIj48L2VvLXJlc2V0LWZpbHRlcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZW8tZ3JpZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9lby1saXN0LWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9lby1zcGxpdC1hcmVhPlxuICAgIDxlby1zcGxpdC1hcmVhIFtzaXplXT1cIjMwXCIgW21pblNpemVQaXhlbF09XCI0MDBcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCI+XG4gICAgICAgIDxlby1pbmJveC1kZXRhaWxzIFthcHBseVNlbGVjdGlvbl09XCJ7aW46IGluYm94U2VsZWN0aW9uSWQsIG91dDogaW5ib3hEbXNPYmplY3RTZWxlY3Rpb25JZH1cIlxuICAgICAgICAgIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGVcIj5cbiAgICAgICAgICA8ZW8tdGFiLXBsdWdpbiBbdHlwZV09XCInaW5ib3gtZGV0YWlscy10YWIuaW5ib3gnXCI+PC9lby10YWItcGx1Z2luPlxuICAgICAgICA8L2VvLWluYm94LWRldGFpbHM+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZW8tc3BsaXQtYXJlYT5cbiAgICA8ZW8tc3BsaXQtYXJlYSBbc2l6ZV09XCI0MFwiIFttaW5TaXplUGl4ZWxdPVwiNDAwXCIgW2NhY2hlXT1cImZhbHNlXCI+XG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPlxuXG4gICAgICAgIDxlby1vYmplY3QtZGV0YWlscyBbYXBwbHlTZWxlY3Rpb25dPVwie2luOiBpbmJveERtc09iamVjdFNlbGVjdGlvbklkfVwiXG4gICAgICAgICAgW2NhY2hlTGF5b3V0XT1cIidpbmJveC5zdGF0ZS5vYmplY3QtZGV0YWlscydcIj5cbiAgICAgICAgICA8ZW8tdGFiLXBsdWdpbiBbdHlwZV09XCInb2JqZWN0LWRldGFpbHMtdGFiLmluYm94J1wiPjwvZW8tdGFiLXBsdWdpbj5cbiAgICAgICAgPC9lby1vYmplY3QtZGV0YWlscz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9lby1zcGxpdC1hcmVhPlxuICA8L2VvLXNwbGl0PlxuPC9lby11bmRvY2stc3BsaXQ+IC0tPlxuIl19
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3gtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUvaW5ib3gtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd0RSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBT25FLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlFQUF5RSxDQUFDO0FBRzVHLE9BQU8sRUFBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU96RCxJQUFNLG1CQUFtQixHQUF6QixNQUFNLG1CQUFtQjtJQW1COUIsWUFBbUIsU0FBMkIsRUFDckMsU0FBMkIsRUFDMUIsWUFBOEIsRUFDL0IsWUFBMEIsRUFDekIsY0FBcUMsRUFDckMsS0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsS0FBcUIsRUFDckIsY0FBbUM7UUFSMUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDckMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixtQkFBYyxHQUFk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LFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbERlZiwgR3JpZE9wdGlvbnN9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0V2ZW50U2VydmljZSwgSW5ib3hJdGVtLCBJbmJveFNlcnZpY2UsIEluYm94U3RhdGUsIExvY2FsU3RvcmFnZVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge0VtcHR5U3RhdGV9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQge0VtcHR5U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZS9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7UGVuZGluZ0NoYW5nZXNDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMtY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGVuZGluZy1jaGFuZ2VzL3BlbmRpbmctY2hhbmdlcy5zZXJ2aWNlJztcbmltcG9ydCB7U2VsZWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvc2VsZWN0aW9uL3NlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7UGFnZVRpdGxlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvdGl0bGUvcGFnZS10aXRsZS5zZXJ2aWNlJztcbmltcG9ydCB7Q3VzdG9tU29ydENvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vZW8tZnJhbWV3b3JrL2dyaWQvZXh0ZW5zaW9ucy9jdXN0b20tc29ydC9jdXN0b20tc29ydC5jb21wb25lbnQnO1xuaW1wb3J0IHtJU2V0RmlsdGVyfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmsvZ3JpZC9leHRlbnNpb25zL2ZpbHRlci9zZXRGaWx0ZXJzL3NldC1maWx0ZXJzLmludGVyZmFjZSc7XG5pbXBvcnQge0dyaWRDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2VvLWZyYW1ld29yay9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7SW5ib3hUeXBlcywgSW5ib3hUeXBlc0ZpbHRlcn0gZnJvbSAnLi9pbmJveC50eXBlcy5lbnVtJztcbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8taW5ib3gtc3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5ib3gtc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbmJveC1zdGF0ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEluYm94U3RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgUGVuZGluZ0NoYW5nZXNDb21wb25lbnQge1xuXG4gIGdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucztcbiAgc29ydEZpZWxkczogQ29sRGVmW107XG4gIGluYm94RmlsdGVyRmllbGRzOiBJU2V0RmlsdGVyW10gPSBbXTtcbiAgdHlwZUZpbHRlckZpZWxkczogSVNldEZpbHRlcltdID0gW107XG4gIGluYm94U2VsZWN0aW9uSWQgPSAnaW5ib3gnO1xuICBpbmJveERtc09iamVjdFNlbGVjdGlvbklkID0gJ2luYm94X2Rtcyc7XG4gIGluYm94U2VsZWN0aW9uOiBTZWxlY3Rpb25TZXJ2aWNlO1xuICBzZWxlY3RGaXJzdCA9IHRydWU7XG4gIGlkTWF0Y2ggPSB0cnVlO1xuICBncmlkRGF0YTtcbiAgZGVmYXVsdEZpbHRlclBhcmFtczogYW55ID0ge307XG4gIGVtcHR5U3RhdGU6IEVtcHR5U3RhdGUgPSB7aWNvbjogJ2ljX25vLWZpbGUuc3ZnJywgdGV4dDogJycsIGNsYXNzTmFtZTogJyd9O1xuICBpbmJveENoYW5nZWQgPSBmYWxzZTtcbiAgc3RvcmFnZUtleUxhc3RJdGVtSUQgPSAnZW8uaW5ib3gubGFzdEl0ZW1JRCc7XG5cbiAgQFZpZXdDaGlsZCgnZW9HcmlkJykgZW9HcmlkOiBHcmlkQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIHNlbGVjdGlvbjogU2VsZWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogUGFnZVRpdGxlU2VydmljZSxcbiAgICBwdWJsaWMgaW5ib3hTZXJ2aWNlOiBJbmJveFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZW1wdHk6IEVtcHR5U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogTG9jYWxTdG9yYWdlU2VydmljZSkge1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldEJhc2VUaXRsZSh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5pbmJveC5saXN0LnRpdGxlJykpO1xuICAgIC8vc2Vjb25kYXJ5IHNlbGVjdGlvbiBpbnN0YW5jZSBmb3IgaW5ib3ggaXRlbXNcbiAgICB0aGlzLmluYm94U2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb24uY3JlYXRlTmV3KHRoaXMuaW5ib3hTZWxlY3Rpb25JZCk7XG4gICAgdGhpcy5zZWxlY3Rpb24uY3JlYXRlTmV3KHRoaXMuaW5ib3hEbXNPYmplY3RTZWxlY3Rpb25JZCk7XG5cbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKHBhcmFtczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZGVmYXVsdEZpbHRlclBhcmFtcyA9IHtjb250ZXh0OiB7ZGVmYXVsdFZhbHVlOiBwYXJhbXMuaWR9fTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5pbmJveFNlcnZpY2UuaW5ib3hTdGF0ZSRcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IEluYm94U3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZW9HcmlkKSB7XG4gICAgICAgICAgLy8gdG9kbzogdGVtcG9yYXJ5IGZpeCB1bnRpbCBzdGF0dXMgc2VydmljZSB1cGRhdGVcbiAgICAgICAgICAvLyB0aGlzLmluYm94Q2hhbmdlZCA9IHRoaXMuZW9HcmlkLmNvbnRleHRDb3VudCAhPT0gc3RhdGUudG90YWxtZXNzYWdlcztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvbkNvdW50Q2hhbmdlZChldnQ6IGFueSkge1xuICAgIGlmICh0aGlzLmRlZmF1bHRGaWx0ZXJQYXJhbXMuY29udGV4dCAmJiB0aGlzLmRlZmF1bHRGaWx0ZXJQYXJhbXMuY29udGV4dC5kZWZhdWx0VmFsdWUpIHtcbiAgICAgIGlmIChldnQucm93Q291bnQgPT09IDApIHtcbiAgICAgICAgdGhpcy5pZE1hdGNoID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGVmYXVsdEZpbHRlclBhcmFtcy5jb250ZXh0LmRlZmF1bHRWYWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLmluYm94U2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuaW5ib3hTZWxlY3Rpb24uZGlzYWJsZSgpO1xuICAgICAgICB0aGlzLmVvR3JpZC5ncmlkT3B0aW9ucy5jb250ZXh0LmNvdW50ID0gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdEZpbHRlclBhcmFtcy5jb250ZXh0LmRlZmF1bHRWYWx1ZSA9ICcnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhc1BlbmRpbmdDaGFuZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLnBlbmRpbmdDaGFuZ2VzLmhhc1BlbmRpbmdUYXNrKCk7XG4gIH1cblxuICByZWZyZXNoR3JpZCgpIHtcbiAgICB0aGlzLmluYm94Q2hhbmdlZCA9IGZhbHNlO1xuICAgIHRoaXMuaW5ib3hTZWxlY3Rpb24uZGlzYWJsZShmYWxzZSk7XG4gICAgdGhpcy5pbmJveFNlcnZpY2UuZ2V0SXRlbXMoKS5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmluYm94U2VydmljZS5yZWZyZXNoSW5ib3hTdGF0ZSgpO1xuICB9XG5cbiAgaXRlbUZpbHRlckZpZWxkcyhub2RlLCBpdGVtKSB7XG4gICAgY29uc3QgdmFsdWUgPSBub2RlLmRhdGFbSW5ib3hUeXBlc0ZpbHRlcltpdGVtXV07XG4gICAgY29uc3QgYWNjZXB0ZWRBbmRVbmFjY2VwdGVkQ29tYmluZWQgPSB0aGlzLmluYm94RmlsdGVyRmllbGRzLmZpbmQoZmlsdGVyID0+IGZpbHRlci5pZCA9PT0gJ2FjY2VwdGVkVGFza3MnKS52YWx1ZVxuICAgICAgJiYgdGhpcy5pbmJveEZpbHRlckZpZWxkcy5maW5kKGZpbHRlciA9PiBmaWx0ZXIuaWQgPT09ICd1bmFjY2VwdGVkVGFza3MnKS52YWx1ZTtcbiAgICBzd2l0Y2ggKEluYm94VHlwZXNGaWx0ZXJbaXRlbV0pIHtcbiAgICAgIGNhc2UgSW5ib3hUeXBlc0ZpbHRlci5vdmVyZHVlOlxuICAgICAgICByZXR1cm4gbm9kZS5kYXRhLmlzT3ZlcmR1ZSgpO1xuICAgICAgY2FzZSBJbmJveFR5cGVzRmlsdGVyLmFic2VudDpcbiAgICAgICAgcmV0dXJuICEhdmFsdWU7XG4gICAgICBjYXNlIEluYm94VHlwZXNGaWx0ZXIuYWNjZXB0ZWRUYXNrczpcbiAgICAgICAgcmV0dXJuIGFjY2VwdGVkQW5kVW5hY2NlcHRlZENvbWJpbmVkID8gbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nIDogbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nICYmICEhbm9kZS5kYXRhLmFjY2VwdGVkO1xuICAgICAgY2FzZSBJbmJveFR5cGVzRmlsdGVyLnVuYWNjZXB0ZWRUYXNrczpcbiAgICAgICAgcmV0dXJuIGFjY2VwdGVkQW5kVW5hY2NlcHRlZENvbWJpbmVkID8gbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nIDogbm9kZS5kYXRhLnR5cGUgPT09ICdCUE0nICYmICFub2RlLmRhdGEuYWNjZXB0ZWQ7XG4gICAgfVxuICB9XG5cbiAgZmllbGRGaWx0ZXJzKCkge1xuICAgIHRoaXMudHlwZUZpbHRlckZpZWxkcyA9IE9iamVjdC5rZXlzKEluYm94VHlwZXMpLm1hcChpdGVtID0+ICh7XG4gICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgZW8uaW5ib3guJHtpdGVtfWApLFxuICAgICAgZmlsdGVyOiAobm9kZSkgPT4gbm9kZS5kYXRhLnR5cGUgPT09IGl0ZW0sXG4gICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgIGlkOiBpdGVtXG4gICAgfSkpO1xuXG4gICAgdGhpcy5pbmJveEZpbHRlckZpZWxkcyA9IE9iamVjdC5rZXlzKEluYm94VHlwZXNGaWx0ZXIpLm1hcChpdGVtID0+ICh7XG4gICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgZW8uaW5ib3guZmlsdGVyLiR7aXRlbX1gKSxcbiAgICAgIGZpbHRlcjogKG5vZGUpID0+IHRoaXMuaXRlbUZpbHRlckZpZWxkcyhub2RlLCBpdGVtKSxcbiAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgIGlkOiBpdGVtXG4gICAgfSkpO1xuICB9XG5cbiAgcmVzZXRGaWx0ZXJzKCkge1xuICAgIHRoaXMuZmllbGRGaWx0ZXJzKCk7XG4gIH1cblxuICB1cGRhdGVHcmlkKGRhdGE6IEluYm94SXRlbVtdKTogdm9pZCB7XG4gICAgdGhpcy5lbXB0eVN0YXRlID0gdGhpcy5lbXB0eS5nZXRFbXB0eVN0YXRlKGRhdGEgPyBkYXRhLmxlbmd0aCA6IC0xLCB1bmRlZmluZWQsICdpY19uby1maWxlLnN2ZycpO1xuXG4gICAgaWYgKHRoaXMuZW9HcmlkICYmIHRoaXMuZW9HcmlkLmlzUmVhZHkpIHtcbiAgICAgIHJldHVybiB0aGlzLmVvR3JpZC51cGRhdGVSb3dEYXRhKGRhdGEpO1xuICAgIH1cblxuICAgIHRoaXMucmVzZXRGaWx0ZXJzKCk7XG5cbiAgICBsZXQgY29sRGVmczogQ29sRGVmW10gPSBbe1xuICAgICAgaGVhZGVyTmFtZTogJycsXG4gICAgICBmaWVsZDogJ19fY3VzdG9tJyxcbiAgICAgIGNlbGxSZW5kZXJlcjogdGhpcy5jZWxsUmVuZGVyZXIsXG4gICAgICBmaWx0ZXI6IGZhbHNlXG4gICAgICAvLyBjZWxsUmVuZGVyZXJGcmFtZXdvcms6IEluYm94UmVuZGVyZXJDb21wb25lbnRcbiAgICB9XTtcblxuICAgIHRoaXMuc29ydEZpZWxkcyA9IFtcbiAgICAgIHtcbiAgICAgICAgZmllbGQ6ICdyZWNlaXZlZCcsIGhlYWRlck5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmluYm94LnNvcnQuZGF0ZScpLCBzb3J0OiAnJyxcbiAgICAgICAgdmFsdWVHZXR0ZXI6IChwKSA9PiAocC5kYXRhW3AuY29sRGVmLmZpZWxkXSB8fCAnJykubWF0Y2goL1xcK1xcZFxcZDpcXGRcXGQvKSA/IG5ldyBEYXRlKHAuZGF0YVtwLmNvbERlZi5maWVsZF0pLnRvSVNPU3RyaW5nKCkgOiBwLmRhdGFbcC5jb2xEZWYuZmllbGRdXG4gICAgICB9LFxuICAgICAge2ZpZWxkOiAndGl0bGUnLCBoZWFkZXJOYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5pbmJveC5zb3J0LnRpdGxlJyksIHNvcnQ6ICcnfSxcbiAgICAgIHtmaWVsZDogJ2Rlc2NyaXB0aW9uJywgaGVhZGVyTmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3guc29ydC5kZXNjcmlwdGlvbicpLCBzb3J0OiAnJ31cbiAgICBdO1xuXG4gICAgbGV0IHNvcnRDb2xEZWZzID0gQ3VzdG9tU29ydENvbXBvbmVudC5zb3J0Q29sRGVmcyh0aGlzLnNvcnRGaWVsZHMpO1xuXG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgIGNvbnRleHQ6IHtjb3VudDogZGF0YS5sZW5ndGh9LFxuICAgICAgcm93RGF0YTogZGF0YSxcbiAgICAgIGNvbHVtbkRlZnM6IGNvbERlZnMuY29uY2F0KHNvcnRDb2xEZWZzKSxcbiAgICAgIHJvd0J1ZmZlcjogMjAsXG4gICAgICByb3dIZWlnaHQ6IDgwLFxuICAgICAgcm93U2VsZWN0aW9uOiAnc2luZ2xlJ1xuICAgIH07XG4gIH1cblxuICBjZWxsUmVuZGVyZXIocGFyYW1zKSB7XG5cbiAgICBsZXQgbGFiZWwgPSAnJztcbiAgICBpZiAoT2JqZWN0LmtleXMoSW5ib3hUeXBlcykuaW5jbHVkZXMocGFyYW1zLmRhdGEudHlwZSkpIHtcbiAgICAgIGxhYmVsID0gcGFyYW1zLmNvbnRleHQudHJhbnNsYXRlLmluc3RhbnQoYGVvLmluYm94LiR7cGFyYW1zLmRhdGEudHlwZX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cmwgPSBgYXNzZXRzL19kZWZhdWx0L3N2Zy9pY18ke0luYm94VHlwZXNbcGFyYW1zLmRhdGEudHlwZV19LnN2Z2A7XG5cbiAgICBsZXQgaWNvbiA9IHBhcmFtcy5jb250ZXh0LmNyLnJlbmRlcignaWNvbicsIHBhcmFtcywge3ZhbHVlOiB7dXJsLCBsYWJlbH19KTtcbiAgICBsZXQgc2hvcnREYXRlID0gcGFyYW1zLmNvbnRleHQuY3IucmVuZGVyKCdkYXRlVGltZScsIHBhcmFtcywge3ZhbHVlOiBwYXJhbXMuZGF0YS5yZWNlaXZlZCwgcGF0dGVybjogJ2VvU2hvcnREYXRlJ30pO1xuICAgIGxldCBzaG9ydFRpbWUgPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2RhdGVUaW1lJywgcGFyYW1zLCB7dmFsdWU6IHBhcmFtcy5kYXRhLnJlY2VpdmVkLCBwYXR0ZXJuOiAnZW9TaG9ydFRpbWUnfSk7XG4gICAgbGV0IGR1ZXRpbWUgPSBwYXJhbXMuY29udGV4dC5jci5yZW5kZXIoJ2RhdGVUaW1lJywgcGFyYW1zLCB7dmFsdWU6IHBhcmFtcy5kYXRhLmR1ZXRpbWV9KTtcbiAgICBjb25zdCB0aXRsZUNsYXNzID0gcGFyYW1zLmRhdGEuYWNjZXB0ZWQgPyAndGl0bGUnIDogJ3RpdGxlLWJvbGQnO1xuXG4gICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtJHtwYXJhbXMuZGF0YS5mb2xkZXIgPyAnIGZvbGRlcicgOiAnJ31cIiB1bnNlbGVjdGFibGU+XG4gICAgICAgICAgICAgICR7aWNvbn1cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nY29udGVudCc+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nJHt0aXRsZUNsYXNzfSc+JHtwYXJhbXMuZGF0YS50aXRsZSB8fCAnJ308L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdkZXNjcmlwdGlvbic+JHtwYXJhbXMuZGF0YS5kZXNjcmlwdGlvbiB8fCAnJ308L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdub3RlcyR7cGFyYW1zLmRhdGEuaXNPdmVyZHVlKCkgPyAnIHBhc3REdWUnIDogJyd9Jz5cbiAgICAgICAgICAgICAgICAgICR7cGFyYW1zLmRhdGEuZHVldGltZSA/ICc8c3BhbiBjbGFzcz1cInBlcmlvZFwiPicgKyBkdWV0aW1lICsgJzwvc3Bhbj4nIDogJyd9XG4gICAgICAgICAgICAgICAgICAke3BhcmFtcy5kYXRhLmlzZGVwdXR5ID8gJzxzcGFuPicgKyBwYXJhbXMuY29udGV4dC50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3guaXRlbS5ub3RlLmFic2VuY2UnKSArICc8L3NwYW4+JyA6ICcnfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1ldGFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiPiR7c2hvcnREYXRlfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCI+JHtzaG9ydFRpbWV9PC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZWZyZXNoR3JpZCgpO1xuICAgIHRoaXMuaW5ib3hTZXJ2aWNlXG4gICAgICAuaW5ib3hJdGVtc0dyaWREYXRhJFxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBJbmJveEl0ZW1bXSkgPT4ge1xuXG4gICAgICAgIHRoaXMuZ3JpZERhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLnVwZGF0ZUdyaWQodGhpcy5ncmlkRGF0YSk7XG5cbiAgICAgICAgY29uc3QgbGFzdEluYm94SXRlbUlEID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKHRoaXMuc3RvcmFnZUtleUxhc3RJdGVtSUQpO1xuICAgICAgICBpZiAobGFzdEluYm94SXRlbUlEKSB7XG4gICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZ3JpZERhdGEuZmluZChpID0+IGkuaWQgPT09IGxhc3RJbmJveEl0ZW1JRCk7XG4gICAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Rmlyc3QgPSBmYWxzZTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5lb0dyaWQuc2VsZWN0Um93KGl0ZW0pLCA1MDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICB9XG59XG4iLCI8eXZjLXNwbGl0LXZpZXcgW2xheW91dFNldHRpbmdzSURdPVwiJ2luYm94LnN0YXRlJ1wiPlxuICA8IS0tIGxpc3QgLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiMzBcIj5cbiAgICA8ZW8tbGlzdC1jb250YWluZXIgI2VvTGlzdCBbYXBwbHlTZWxlY3Rpb25dPVwie291dDogaW5ib3hTZWxlY3Rpb25JZH1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1oZWFkZXJcIj5cblxuICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImVvLWhlYWRlci1pY29uXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfaW5ib3guc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVvLWhlYWRlci10aXRsZVwiIHRyYW5zbGF0ZT5lby5pbmJveC5saXN0LnRpdGxlPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW8taGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiByZWZyZXNoLWJ1dHRvblwiIFtuZ0NsYXNzXT1cIntpbmJveENoYW5nZWQ6IGluYm94Q2hhbmdlZH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNGaWx0ZXIucmVzZXRGaWx0ZXIoKTsgcmVmcmVzaEdyaWQoKVwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3JlZnJlc2guc3ZnJ1wiXG4gICAgICAgICAgICBbaWNvblRpdGxlXT1cIignZW8ubGlzdC5yZWZyZXNoJyB8IHRyYW5zbGF0ZSlcIj48L2VvLWljb24+XG5cbiAgICAgICAgICA8ZW8tb3ZlcmxheSAjb0ZpbHRlciBjbGFzcz1cIm92ZXJsYXktZmlsdGVyXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZmlsdGVyLnN2ZydcIiBbaWNvblRpdGxlXT1cIidlby5saXN0LmZpbHRlcicgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxlby1jdXN0b20tZmlsdGVyICNjRmlsdGVyIChjaGFuZ2UpPVwiY0ZpbHRlci51cGRhdGVHcmlkKGVvTGlzdC5lb0dyaWRTdWJqZWN0LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGFjdGl2ZSk9XCJvRmlsdGVyLm9uQWN0aXZlQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgIDxlby10ZXh0LWZpbHRlciBbdGl0bGVdPVwiJ2VvLmluYm94LmZpbHRlci50aXRsZScgfCB0cmFuc2xhdGVcIiBbZmlsdGVyUGFyYW1zXT1cImRlZmF1bHRGaWx0ZXJQYXJhbXNcIlxuICAgICAgICAgICAgICAgIFtpZF09XCInaW5ib3gudGV4dCdcIiBbbWF0Y2hGaWVsZHNdPVwiWyd0aXRsZScsJ2Rlc2NyaXB0aW9uJywnaWQnXVwiIFtlbmFibGVTYXZlXT1cInRydWVcIj48L2VvLXRleHQtZmlsdGVyPlxuICAgICAgICAgICAgICA8ZW8tc2V0LWZpbHRlciBjbGFzcz1cInR5cGUtZmlsdGVyc1wiIFtvcGVyYXRvcl09XCInT1InXCIgW2lkXT1cIidpbmJveC50eXBlJ1wiIFtmaWx0ZXJQYXJhbXNdPVwiZGVmYXVsdEZpbHRlclBhcmFtc1wiIFtvcHRpb25zXT1cInR5cGVGaWx0ZXJGaWVsZHNcIj48L2VvLXNldC1maWx0ZXI+XG4gICAgICAgICAgICAgIDxlby1zZXQtZmlsdGVyIGNsYXNzPVwiaW5ib3gtZmlsdGVyc1wiIFtvcGVyYXRvcl09XCInQU5EJ1wiIFtpZF09XCInaW5ib3guc2V0J1wiIFtmaWx0ZXJQYXJhbXNdPVwiZGVmYXVsdEZpbHRlclBhcmFtc1wiIFtvcHRpb25zXT1cImluYm94RmlsdGVyRmllbGRzXCI+PC9lby1zZXQtZmlsdGVyPlxuICAgICAgICAgICAgPC9lby1jdXN0b20tZmlsdGVyPlxuICAgICAgICAgIDwvZW8tb3ZlcmxheT5cblxuICAgICAgICAgIDxlby1vdmVybGF5ICNvU29ydCBjbGFzcz1cIm92ZXJsYXktc29ydFwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NvcnQuc3ZnJ1wiXG4gICAgICAgICAgICBbaWNvblRpdGxlXT1cIidlby5saXN0LnNvcnQnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICA8ZW8tY3VzdG9tLXNvcnQgI2NTb3J0IFtpZF09XCInaW5ib3guc29ydCdcIiAoY2hhbmdlKT1cImNTb3J0LnVwZGF0ZUdyaWQoZW9MaXN0LmVvR3JpZCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChhY3RpdmUpPVwib1NvcnQub25BY3RpdmVDaGFuZ2VkKCRldmVudClcIiBbc29ydEZpZWxkc109XCJzb3J0RmllbGRzXCI+PC9lby1jdXN0b20tc29ydD5cbiAgICAgICAgICA8L2VvLW92ZXJsYXk+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlby1ib2R5XCI+XG4gICAgICAgIDxlby1ncmlkICNlb0dyaWQgKm5nSWY9XCJncmlkT3B0aW9ucz8ucm93RGF0YVwiIFtncmlkT3B0aW9uc109XCJncmlkT3B0aW9uc1wiIFtmdWxsV2lkdGhdPVwidHJ1ZVwiIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgIFtzaG93Rm9vdGVyXT1cInRydWVcIiBbc2VsZWN0Rmlyc3RdPVwic2VsZWN0Rmlyc3RcIiBbb3B0aW9uc109XCJ7ZmlsdGVyQWN0aXZlOiBvRmlsdGVyLmFjdGl2ZX1cIlxuICAgICAgICAgIChlb0dyaWRDb3VudENoYW5nZWQpPVwiZW9MaXN0Lm9uQ291bnRDaGFuZ2VkKCRldmVudCk7b25Db3VudENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgKGVvR3JpZFNlbGVjdGlvbkNoYW5nZWQpPVwiZW9MaXN0Lm9uU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAoZW9HcmlkRm9jdXNDaGFuZ2VkKT1cImVvTGlzdC5vbkZvY3VzQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxuICAgICAgICAgICAgPGVvLXRvdGFsLWNvdW50IFtncmlkQ291bnRdPVwiZW9MaXN0LmdyaWRDb3VudFwiIFtvdXRzaWRlR3JpZF09XCJmYWxzZVwiIGNsYXNzPVwiZmxleC1yb3dcIj48L2VvLXRvdGFsLWNvdW50PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgICAgICAgICA8ZW8tZXJyb3ItbWVzc2FnZVxuICAgICAgICAgICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX2luYm94LnN2ZycsIHRleHQ6IG9GaWx0ZXIuYWN0aXZlID8gJ2VvLm5vLmZpbHRlci5yZXN1bHQnIDogJ2VvLmluYm94Lmxpc3QuZW1wdHknfVwiPjwvZW8tZXJyb3ItbWVzc2FnZT5cbiAgICAgICAgICAgIDxlby1yZXNldC1maWx0ZXIgW2lzRmlsdGVyQWN0aXZlXT1cIm9GaWx0ZXIuYWN0aXZlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNGaWx0ZXIucmVzZXRGaWx0ZXIoKTtjU29ydC5yZXNldCgpO3JlZnJlc2hHcmlkKClcIj48L2VvLXJlc2V0LWZpbHRlcj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L2VvLWdyaWQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2VvLWxpc3QtY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8IS0tIGluYm94IGRldGFpbHMgLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiMzBcIj5cbiAgICA8ZW8taW5ib3gtZGV0YWlscyBbYXBwbHlTZWxlY3Rpb25dPVwie2luOiBpbmJveFNlbGVjdGlvbklkLCBvdXQ6IGluYm94RG1zT2JqZWN0U2VsZWN0aW9uSWR9XCJcbiAgICAgIFtlbXB0eVN0YXRlXT1cImVtcHR5U3RhdGVcIj5cbiAgICAgIDxlby10YWItcGx1Z2luIFt0eXBlXT1cIidpbmJveC1kZXRhaWxzLXRhYi5pbmJveCdcIj48L2VvLXRhYi1wbHVnaW4+XG4gICAgPC9lby1pbmJveC1kZXRhaWxzPlxuICA8L25nLXRlbXBsYXRlPlxuICA8IS0tIG9iamVjdCBkZXRhaWxzIC0tPlxuICA8bmctdGVtcGxhdGUgeXZjU3BsaXRBcmVhIFtzaXplXT1cIjQwXCI+XG4gICAgPGVvLW9iamVjdC1kZXRhaWxzIFthcHBseVNlbGVjdGlvbl09XCJ7aW46IGluYm94RG1zT2JqZWN0U2VsZWN0aW9uSWR9XCIgW2NhY2hlTGF5b3V0XT1cIidpbmJveC5zdGF0ZS5vYmplY3QtZGV0YWlscydcIj5cbiAgICAgIDxlby10YWItcGx1Z2luIFt0eXBlXT1cIidvYmplY3QtZGV0YWlscy10YWIuaW5ib3gnXCI+PC9lby10YWItcGx1Z2luPlxuICAgIDwvZW8tb2JqZWN0LWRldGFpbHM+XG4gIDwvbmctdGVtcGxhdGU+XG48L3l2Yy1zcGxpdC12aWV3PiJdfQ==