@bizdoc/core 2.1.5 → 2.1.9

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 (379) hide show
  1. package/esm2022/lib/admin/admin-dismiss.service.mjs +3 -3
  2. package/esm2022/lib/admin/admin-menu.component.mjs +3 -3
  3. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +3 -3
  4. package/esm2022/lib/admin/architecture/designer-element.component.mjs +15 -15
  5. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +3 -3
  6. package/esm2022/lib/admin/architecture/designer.base.mjs +9 -9
  7. package/esm2022/lib/admin/architecture/designer.component.mjs +3 -3
  8. package/esm2022/lib/admin/architecture/elements/action.component.mjs +3 -3
  9. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +3 -3
  10. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +3 -3
  11. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +3 -3
  12. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +3 -3
  13. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +3 -3
  14. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +3 -3
  15. package/esm2022/lib/admin/architecture/elements/control.component.mjs +3 -3
  16. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +3 -3
  17. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +3 -3
  18. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +3 -3
  19. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +3 -3
  20. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +3 -3
  21. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +3 -3
  22. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +3 -3
  23. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +3 -3
  24. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +3 -3
  25. package/esm2022/lib/admin/architecture/elements/form.component.mjs +3 -3
  26. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +3 -3
  27. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +3 -3
  28. package/esm2022/lib/admin/architecture/elements/node.component.mjs +3 -3
  29. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +3 -3
  30. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +3 -3
  31. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +3 -3
  32. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +3 -3
  33. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +3 -3
  34. package/esm2022/lib/admin/architecture/elements/report.component.mjs +3 -3
  35. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +3 -3
  36. package/esm2022/lib/admin/architecture/elements/role.component.mjs +3 -3
  37. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +3 -3
  38. package/esm2022/lib/admin/architecture/elements/state.component.mjs +3 -3
  39. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +3 -3
  40. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +3 -3
  41. package/esm2022/lib/admin/architecture/elements/type.component.mjs +3 -3
  42. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +3 -3
  43. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +3 -3
  44. package/esm2022/lib/admin/architecture/elements/view.component.mjs +3 -3
  45. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +3 -3
  46. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +3 -3
  47. package/esm2022/lib/admin/core/ace.input.mjs +3 -3
  48. package/esm2022/lib/admin/core/color-picker.input.mjs +3 -3
  49. package/esm2022/lib/admin/core/localized-string.component.mjs +3 -3
  50. package/esm2022/lib/admin/core/search.input.mjs +3 -3
  51. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +3 -3
  52. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +3 -3
  53. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +3 -3
  54. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +3 -3
  55. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +6 -6
  56. package/esm2022/lib/admin/form/designer/properties.component.mjs +3 -3
  57. package/esm2022/lib/admin/form/designer/section.component.mjs +3 -3
  58. package/esm2022/lib/admin/form/designer/settings.component.mjs +3 -3
  59. package/esm2022/lib/admin/form/form.resolve.service.mjs +3 -3
  60. package/esm2022/lib/admin/form/workflow/node.component.mjs +4 -4
  61. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +5 -5
  62. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +3 -3
  63. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +3 -3
  64. package/esm2022/lib/admin/patterns/patterns.component.mjs +3 -3
  65. package/esm2022/lib/admin/permissions/permissions.component.mjs +3 -3
  66. package/esm2022/lib/admin/positions/positions-popup.component.mjs +3 -3
  67. package/esm2022/lib/admin/positions/positions.component.mjs +3 -3
  68. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +3 -3
  69. package/esm2022/lib/admin/profiler/profiler.component.mjs +3 -3
  70. package/esm2022/lib/admin/system.service.mjs +3 -3
  71. package/esm2022/lib/admin/utility-wrapper.component.mjs +3 -3
  72. package/esm2022/lib/admin/utility.pane.component.mjs +3 -3
  73. package/esm2022/lib/app.component.mjs +6 -6
  74. package/esm2022/lib/bizdoc.module.mjs +4 -4
  75. package/esm2022/lib/browse/browse-items.component.mjs +3 -3
  76. package/esm2022/lib/browse/browse.mobile.component.mjs +3 -3
  77. package/esm2022/lib/browse/browse.pane.component.mjs +3 -3
  78. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
  79. package/esm2022/lib/browse/filter/filter.component.mjs +3 -3
  80. package/esm2022/lib/browse/folders-menu.component.mjs +3 -3
  81. package/esm2022/lib/chat/chat-info.mjs +3 -3
  82. package/esm2022/lib/chat/chat.mobile.component.mjs +3 -3
  83. package/esm2022/lib/chat/chat.service.mjs +3 -3
  84. package/esm2022/lib/chat/contacts.component.mjs +6 -6
  85. package/esm2022/lib/chat/contacts.pane.component.mjs +3 -3
  86. package/esm2022/lib/chat/conversation.component.mjs +3 -3
  87. package/esm2022/lib/chat/conversation.pane.component.mjs +3 -3
  88. package/esm2022/lib/compose/action/action-picker.component.mjs +3 -3
  89. package/esm2022/lib/compose/action/action.dialog.mjs +3 -3
  90. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +3 -3
  91. package/esm2022/lib/compose/action/assign-action.component.mjs +3 -3
  92. package/esm2022/lib/compose/action/moveto-action.component.mjs +3 -3
  93. package/esm2022/lib/compose/action/return-action.component.mjs +3 -3
  94. package/esm2022/lib/compose/attachments/attachments.component.mjs +3 -3
  95. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +3 -3
  96. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +3 -3
  97. package/esm2022/lib/compose/box/box.component.mjs +3 -3
  98. package/esm2022/lib/compose/box/control.component.mjs +3 -3
  99. package/esm2022/lib/compose/box/row.component.mjs +3 -3
  100. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +3 -3
  101. package/esm2022/lib/compose/comments/comment.component.mjs +3 -3
  102. package/esm2022/lib/compose/comments/comments.component.mjs +3 -3
  103. package/esm2022/lib/compose/comments/comments.pane.component.mjs +3 -3
  104. package/esm2022/lib/compose/comments/edit-comment.component.mjs +3 -3
  105. package/esm2022/lib/compose/comments/edits.component.mjs +3 -3
  106. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
  107. package/esm2022/lib/compose/comments/votes.component.mjs +3 -3
  108. package/esm2022/lib/compose/compose-resolve.service.mjs +6 -6
  109. package/esm2022/lib/compose/compose.mobile.component.mjs +3 -3
  110. package/esm2022/lib/compose/compose.pane.component.mjs +3 -3
  111. package/esm2022/lib/compose/copy/copy.dialog.mjs +3 -3
  112. package/esm2022/lib/compose/dismiss.service.mjs +3 -3
  113. package/esm2022/lib/compose/document-resolver.service.mjs +3 -3
  114. package/esm2022/lib/compose/document.component.mjs +6 -7
  115. package/esm2022/lib/compose/document.mobile.component.mjs +3 -3
  116. package/esm2022/lib/compose/document.pane.component.mjs +3 -3
  117. package/esm2022/lib/compose/events/events.component.mjs +3 -3
  118. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  119. package/esm2022/lib/compose/form.component.mjs +6 -7
  120. package/esm2022/lib/compose/new-menu.component.mjs +3 -3
  121. package/esm2022/lib/compose/privilage.directive.mjs +6 -6
  122. package/esm2022/lib/compose/recipient-resolver.service.mjs +3 -3
  123. package/esm2022/lib/compose/state.component.mjs +3 -3
  124. package/esm2022/lib/compose/tag/tags.component.mjs +3 -3
  125. package/esm2022/lib/compose/trace/flow.component.mjs +3 -3
  126. package/esm2022/lib/compose/trace/people.component.mjs +3 -3
  127. package/esm2022/lib/compose/trace/trace.base.mjs +3 -3
  128. package/esm2022/lib/compose/trace/trace.component.mjs +3 -3
  129. package/esm2022/lib/compose/trace/trace.pane.component.mjs +3 -3
  130. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +3 -3
  131. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  132. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +3 -3
  133. package/esm2022/lib/core/account.service.mjs +3 -3
  134. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  135. package/esm2022/lib/core/avatar/avatar.component.mjs +3 -3
  136. package/esm2022/lib/core/checkbox.mjs +3 -3
  137. package/esm2022/lib/core/component-factory-resolver.mjs +3 -3
  138. package/esm2022/lib/core/datasource.service.mjs +3 -3
  139. package/esm2022/lib/core/fields/address.designer.mjs +3 -3
  140. package/esm2022/lib/core/fields/address.field.mjs +3 -3
  141. package/esm2022/lib/core/fields/autocomplete.field.mjs +6 -6
  142. package/esm2022/lib/core/fields/checkbox.designer.mjs +3 -3
  143. package/esm2022/lib/core/fields/checkbox.field.mjs +3 -3
  144. package/esm2022/lib/core/fields/checklist.designer.mjs +3 -3
  145. package/esm2022/lib/core/fields/checklist.field.mjs +3 -3
  146. package/esm2022/lib/core/fields/date-range.designer.mjs +3 -3
  147. package/esm2022/lib/core/fields/date-range.field.mjs +3 -3
  148. package/esm2022/lib/core/fields/date.designer.mjs +3 -3
  149. package/esm2022/lib/core/fields/date.field.mjs +3 -3
  150. package/esm2022/lib/core/fields/expression.field.mjs +6 -6
  151. package/esm2022/lib/core/fields/file.designer.mjs +3 -3
  152. package/esm2022/lib/core/fields/file.field.mjs +3 -3
  153. package/esm2022/lib/core/fields/html.designer.mjs +3 -3
  154. package/esm2022/lib/core/fields/html.field.mjs +3 -3
  155. package/esm2022/lib/core/fields/input.designer.mjs +3 -3
  156. package/esm2022/lib/core/fields/input.field.mjs +3 -3
  157. package/esm2022/lib/core/fields/localized-string.field.mjs +6 -6
  158. package/esm2022/lib/core/fields/numeric.designer.mjs +3 -3
  159. package/esm2022/lib/core/fields/numeric.field.mjs +3 -3
  160. package/esm2022/lib/core/fields/options.base.mjs +6 -6
  161. package/esm2022/lib/core/fields/options.component.mjs +3 -3
  162. package/esm2022/lib/core/fields/radio-button.designer.mjs +3 -3
  163. package/esm2022/lib/core/fields/radio-button.field.mjs +3 -3
  164. package/esm2022/lib/core/fields/select.designer.mjs +3 -3
  165. package/esm2022/lib/core/fields/select.field.mjs +3 -3
  166. package/esm2022/lib/core/fields/signature.designer.mjs +3 -3
  167. package/esm2022/lib/core/fields/signature.field.mjs +3 -3
  168. package/esm2022/lib/core/fields/switch.field.mjs +3 -3
  169. package/esm2022/lib/core/fields/textarea.designer.mjs +3 -3
  170. package/esm2022/lib/core/fields/textarea.field.mjs +3 -3
  171. package/esm2022/lib/core/fields/time.designer.mjs +3 -3
  172. package/esm2022/lib/core/fields/time.field.mjs +3 -3
  173. package/esm2022/lib/core/fields/timespan.field.mjs +6 -6
  174. package/esm2022/lib/core/fields/yesno.designer.mjs +3 -3
  175. package/esm2022/lib/core/fields/yesno.field.mjs +3 -3
  176. package/esm2022/lib/core/guide/guide.component.mjs +3 -3
  177. package/esm2022/lib/core/guide/guide.service.mjs +3 -3
  178. package/esm2022/lib/core/guide/help-tip.component.mjs +3 -3
  179. package/esm2022/lib/core/http.interceptor.mjs +3 -3
  180. package/esm2022/lib/core/hub.service.mjs +3 -3
  181. package/esm2022/lib/core/identity/identity.component.mjs +3 -3
  182. package/esm2022/lib/core/info/attachment-info.service.mjs +3 -3
  183. package/esm2022/lib/core/info/document-info.service.mjs +3 -3
  184. package/esm2022/lib/core/info/location-info.component.mjs +3 -3
  185. package/esm2022/lib/core/info/map-info.mjs +3 -3
  186. package/esm2022/lib/core/inputs/address.input.mjs +3 -3
  187. package/esm2022/lib/core/inputs/auto-complete.input.mjs +6 -6
  188. package/esm2022/lib/core/inputs/combination-picker-body.mjs +3 -3
  189. package/esm2022/lib/core/inputs/combination-picker.mjs +3 -3
  190. package/esm2022/lib/core/inputs/combination-pool.mjs +3 -3
  191. package/esm2022/lib/core/inputs/file.input.mjs +3 -3
  192. package/esm2022/lib/core/inputs/select.input.mjs +6 -6
  193. package/esm2022/lib/core/inputs/signature.input.mjs +3 -3
  194. package/esm2022/lib/core/inputs/time-picker.mjs +3 -3
  195. package/esm2022/lib/core/inputs/timespan.input.mjs +3 -3
  196. package/esm2022/lib/core/layout.component.mjs +5 -5
  197. package/esm2022/lib/core/lottie-animation.mjs +3 -3
  198. package/esm2022/lib/core/mailbox.service.mjs +3 -3
  199. package/esm2022/lib/core/none.component.mjs +3 -3
  200. package/esm2022/lib/core/pipes/action.pipe.mjs +3 -3
  201. package/esm2022/lib/core/pipes/calendar.pipe.mjs +3 -3
  202. package/esm2022/lib/core/pipes/date-format.pipe.mjs +3 -3
  203. package/esm2022/lib/core/pipes/daterange.pipe.mjs +6 -6
  204. package/esm2022/lib/core/pipes/difference.pipe.mjs +3 -3
  205. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +3 -3
  206. package/esm2022/lib/core/pipes/duration.pipe.mjs +3 -3
  207. package/esm2022/lib/core/pipes/form.pipe.mjs +3 -3
  208. package/esm2022/lib/core/pipes/join.pipe.mjs +3 -3
  209. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +3 -3
  210. package/esm2022/lib/core/pipes/role.pipe.mjs +3 -3
  211. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  212. package/esm2022/lib/core/pipes/sort.pipe.mjs +6 -6
  213. package/esm2022/lib/core/pipes/state.pipe.mjs +3 -3
  214. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +6 -6
  215. package/esm2022/lib/core/pipes/translate.pipe.mjs +9 -9
  216. package/esm2022/lib/core/pipes/type-value.pipe.mjs +3 -3
  217. package/esm2022/lib/core/pipes/user-name.pipe.mjs +3 -3
  218. package/esm2022/lib/core/popup/popup.component.mjs +3 -3
  219. package/esm2022/lib/core/popup/popup.service.mjs +3 -3
  220. package/esm2022/lib/core/popup/tooltip.directive.mjs +6 -6
  221. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  222. package/esm2022/lib/core/prompt/mask/mask.component.mjs +3 -3
  223. package/esm2022/lib/core/prompt.service.mjs +3 -3
  224. package/esm2022/lib/core/router.mjs +6 -6
  225. package/esm2022/lib/core/save-changes.dialog.mjs +3 -3
  226. package/esm2022/lib/core/session.service.mjs +3 -3
  227. package/esm2022/lib/core/slots/router.directive.mjs +3 -3
  228. package/esm2022/lib/core/slots/router.service.mjs +3 -3
  229. package/esm2022/lib/core/slots/slots.component.mjs +3 -3
  230. package/esm2022/lib/core/tagging/documents.component.mjs +3 -3
  231. package/esm2022/lib/core/tagging/edit-input.component.mjs +3 -3
  232. package/esm2022/lib/core/tagging/emoji.component.mjs +3 -3
  233. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +3 -3
  234. package/esm2022/lib/core/tagging/tagging.component-base.mjs +3 -3
  235. package/esm2022/lib/core/tagging/tagging.directive.mjs +3 -3
  236. package/esm2022/lib/core/tagging/tagging.pipe.mjs +3 -3
  237. package/esm2022/lib/core/tagging/users.component.mjs +3 -3
  238. package/esm2022/lib/core/translate.service.mjs +3 -3
  239. package/esm2022/lib/core/translations.mjs +5 -3
  240. package/esm2022/lib/core/window-title.service.mjs +3 -3
  241. package/esm2022/lib/cube/accum/accum.component.mjs +3 -3
  242. package/esm2022/lib/cube/chart/chart.component.mjs +5 -5
  243. package/esm2022/lib/cube/cube-info.service.mjs +3 -3
  244. package/esm2022/lib/cube/cube-menu.component.mjs +3 -3
  245. package/esm2022/lib/cube/cube-view.component.mjs +3 -3
  246. package/esm2022/lib/cube/cube.service.mjs +4 -6
  247. package/esm2022/lib/cube/explore/document-item.component.mjs +3 -3
  248. package/esm2022/lib/cube/explore/explore-item.component.mjs +3 -3
  249. package/esm2022/lib/cube/explore/explore-items.component.mjs +3 -3
  250. package/esm2022/lib/cube/explore/explore.pane.component.mjs +6 -8
  251. package/esm2022/lib/cube/explore/item-resolver.service.mjs +7 -8
  252. package/esm2022/lib/cube/explore/item.pane.component.mjs +3 -3
  253. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  254. package/esm2022/lib/cube/filter/filter.component.mjs +4 -4
  255. package/esm2022/lib/cube/grid/grid.component.mjs +4 -5
  256. package/esm2022/lib/cube/grid/spreadsheet.component.mjs +5 -5
  257. package/esm2022/lib/cube/matrix/matrix.base.mjs +4 -4
  258. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  259. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  260. package/esm2022/lib/cube/matrix/popup.component.mjs +3 -3
  261. package/esm2022/lib/cube/matrix/table.component.mjs +5 -6
  262. package/esm2022/lib/cube/parallel/parallel.component.mjs +3 -3
  263. package/esm2022/lib/cube/pivot/pivot.component.mjs +4 -4
  264. package/esm2022/lib/cube/sum/sum.component.mjs +4 -7
  265. package/esm2022/lib/cube/view-base.mjs +3 -3
  266. package/esm2022/lib/cube/view.mobile.component.mjs +13 -11
  267. package/esm2022/lib/cube/view.pane.component.mjs +3 -3
  268. package/esm2022/lib/dashboard/actions/actions.widget.mjs +3 -3
  269. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
  270. package/esm2022/lib/dashboard/cube/compare.widget.mjs +3 -3
  271. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
  272. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
  273. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +3 -3
  274. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +3 -3
  275. package/esm2022/lib/dashboard/cube/documents.widget.mjs +3 -3
  276. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +3 -3
  277. package/esm2022/lib/dashboard/dashboard.component.mjs +3 -3
  278. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +3 -3
  279. package/esm2022/lib/dashboard/recents/recents.widget.mjs +3 -3
  280. package/esm2022/lib/dashboard/score/activity.widget.mjs +3 -3
  281. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +3 -3
  282. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +3 -3
  283. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +3 -3
  284. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +3 -3
  285. package/esm2022/lib/dashboard/widget-item.component.mjs +3 -3
  286. package/esm2022/lib/designer.module.mjs +4 -4
  287. package/esm2022/lib/desktop.module.mjs +4 -4
  288. package/esm2022/lib/home/about/about.dialog.mjs +3 -3
  289. package/esm2022/lib/home/home-base.component.mjs +3 -3
  290. package/esm2022/lib/home/home.desktop.component.mjs +5 -5
  291. package/esm2022/lib/home/home.mobile.component.mjs +3 -3
  292. package/esm2022/lib/home/notifications/notifications.component.mjs +3 -3
  293. package/esm2022/lib/home/options/options.component.mjs +3 -3
  294. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  295. package/esm2022/lib/home/sign/sign.component.mjs +3 -3
  296. package/esm2022/lib/home/tools.component.mjs +3 -3
  297. package/esm2022/lib/impersonate/impersonate.component.mjs +3 -3
  298. package/esm2022/lib/mobile.module.mjs +4 -4
  299. package/esm2022/lib/modules/chart.module.mjs +4 -4
  300. package/esm2022/lib/modules/circular-gauge.module.mjs +4 -4
  301. package/esm2022/lib/modules/datepicker.intl.mjs +3 -3
  302. package/esm2022/lib/modules/dayjs.module.mjs +4 -4
  303. package/esm2022/lib/modules/diagram.module.mjs +4 -4
  304. package/esm2022/lib/modules/gantt.module.mjs +4 -4
  305. package/esm2022/lib/modules/grid.module.mjs +4 -4
  306. package/esm2022/lib/modules/linear-gauge.module.mjs +4 -4
  307. package/esm2022/lib/modules/material.module.mjs +4 -4
  308. package/esm2022/lib/modules/paginator.intl.mjs +3 -3
  309. package/esm2022/lib/modules/pivot.module.mjs +4 -4
  310. package/esm2022/lib/modules/schedule.module.mjs +4 -4
  311. package/esm2022/lib/modules/spreadsheet.module.mjs +4 -4
  312. package/esm2022/lib/modules/stepper.intl.mjs +3 -3
  313. package/esm2022/lib/modules/texteditor.module.mjs +4 -4
  314. package/esm2022/lib/notifications/filter.component.mjs +3 -3
  315. package/esm2022/lib/notifications/notifications-table.component.mjs +3 -3
  316. package/esm2022/lib/notifications/notifications.mobile.component.mjs +3 -3
  317. package/esm2022/lib/notifications/notifications.pane.component.mjs +3 -3
  318. package/esm2022/lib/notifications/notifications.service.mjs +3 -3
  319. package/esm2022/lib/notifications/types/commented.notification.mjs +3 -3
  320. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  321. package/esm2022/lib/notifications/types/escalated.notification.mjs +3 -3
  322. package/esm2022/lib/notifications/types/invite.notification.mjs +3 -3
  323. package/esm2022/lib/notifications/types/liked.notification.mjs +3 -3
  324. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +3 -3
  325. package/esm2022/lib/notifications/types/notification-base.mjs +3 -3
  326. package/esm2022/lib/notifications/types/nudge.notification.mjs +3 -3
  327. package/esm2022/lib/notifications/types/state-changed.notification.mjs +3 -3
  328. package/esm2022/lib/notifications/types/tagged.notification.mjs +3 -3
  329. package/esm2022/lib/notifications/types/text.notification.mjs +3 -3
  330. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +3 -3
  331. package/esm2022/lib/options/options.component.mjs +3 -3
  332. package/esm2022/lib/options/options.service.mjs +3 -3
  333. package/esm2022/lib/reports/arguments-component.mjs +3 -3
  334. package/esm2022/lib/reports/cube/documents.component.mjs +3 -3
  335. package/esm2022/lib/reports/cube/grid-documents.component.mjs +3 -3
  336. package/esm2022/lib/reports/cube/role-performance.component.mjs +3 -3
  337. package/esm2022/lib/reports/cube/table-documents.component.mjs +3 -3
  338. package/esm2022/lib/reports/cube/usage-args.component.mjs +3 -3
  339. package/esm2022/lib/reports/cube/usage-base.mjs +3 -3
  340. package/esm2022/lib/reports/cube/usage-chart.component.mjs +3 -3
  341. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +3 -3
  342. package/esm2022/lib/reports/cube/usage.component.mjs +3 -3
  343. package/esm2022/lib/reports/report-viewer.component.mjs +3 -3
  344. package/esm2022/lib/reports/report.mobile.component.mjs +3 -3
  345. package/esm2022/lib/reports/report.pane.component.mjs +3 -3
  346. package/esm2022/lib/reports/reports-menu.component.mjs +3 -3
  347. package/esm2022/lib/reports/substitution/substitution.component.mjs +3 -3
  348. package/esm2022/lib/reports/table/table-view.component.mjs +3 -3
  349. package/esm2022/lib/reports/tasks/tasks.component.mjs +3 -3
  350. package/esm2022/lib/scheduler/schedule.component.mjs +3 -3
  351. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +3 -3
  352. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +3 -3
  353. package/esm2022/lib/search/cube.component.mjs +3 -3
  354. package/esm2022/lib/search/document.component.mjs +3 -3
  355. package/esm2022/lib/search/guide.component.mjs +3 -3
  356. package/esm2022/lib/search/path.component.mjs +3 -3
  357. package/esm2022/lib/search/search.service.mjs +3 -3
  358. package/esm2022/lib/shared.module.mjs +4 -4
  359. package/esm2022/lib/system.module.mjs +4 -4
  360. package/esm2022/lib/views/cube/chart.component.mjs +3 -3
  361. package/esm2022/lib/views/cube/cube-base.mjs +3 -3
  362. package/esm2022/lib/views/cube/explore.component.mjs +3 -3
  363. package/esm2022/lib/views/cube/matrix.component.mjs +3 -3
  364. package/esm2022/lib/views/cube/parallel.component.mjs +4 -4
  365. package/esm2022/lib/views/cube/pivot.component.mjs +3 -3
  366. package/esm2022/lib/views/cube/sum.component.mjs +3 -3
  367. package/esm2022/lib/views/cube/view.component.mjs +3 -3
  368. package/esm2022/lib/views/timeline/timeline.component.exp.mjs +3 -3
  369. package/esm2022/lib/views/view-item.component.mjs +3 -3
  370. package/esm2022/lib/views/views.component.mjs +3 -3
  371. package/esm2022/lib/views/views.mobile.component.mjs +3 -3
  372. package/esm2022/lib/views/views.pane.component.mjs +5 -6
  373. package/fesm2022/bizdoc-core.mjs +1350 -1356
  374. package/fesm2022/bizdoc-core.mjs.map +1 -1
  375. package/lib/core/translations.d.ts +2 -0
  376. package/lib/cube/filter/filter.component.d.ts +1 -1
  377. package/lib/cube/pivot/pivot.component.d.ts +1 -2
  378. package/lib/views/cube/parallel.component.d.ts +1 -1
  379. package/package.json +17 -17
@@ -23,8 +23,7 @@ import * as i12 from "../core/hub.service";
23
23
  import * as i13 from "@angular/common";
24
24
  import * as i14 from "@angular/forms";
25
25
  import * as i15 from "@angular/material/icon";
26
- import * as i16 from "./trace/people.component";
27
- import * as i17 from "./attachments/attachments.component";
26
+ import * as i16 from "./attachments/attachments.component";
28
27
  export const REPORT_EDITING_DELAY = 2000,
29
28
  /** save draft ms */
30
29
  AUTO_SAVE_DELAY = 5000, EDITING_MESSAGE_DELAY = 3000;
@@ -428,14 +427,14 @@ export class ComposeFormComponent {
428
427
  this._destroy.next();
429
428
  this._destroy.complete();
430
429
  }
431
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ComposeFormComponent, deps: [{ token: i1.Popup }, { token: i2.MailboxService }, { token: i3.AccountService }, { token: i4.RouterImpl }, { token: i5.MatDialog }, { token: i6.PromptService }, { token: i7.SessionService }, { token: i0.Injector }, { token: i8.MatSnackBar }, { token: i9.BizDocComponentFactoryResolver }, { token: i10.GuideService }, { token: i11.TranslateService }, { token: i12.HubService }], target: i0.ɵɵFactoryTarget.Component }); }
432
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: ComposeFormComponent, selector: "bizdoc-form", inputs: { model: "model", working: "working", dirty: "dirty", valid: "valid", mode: "mode", contacts: "contacts" }, outputs: { modelChange: "modelChange", workingChange: "workingChange", dirtyChange: "dirtyChange", validChange: "validChange", saved: "saved" }, host: { classAttribute: "form-container bizdoc-compose" }, viewQueries: [{ propertyName: "_fileElement", first: true, predicate: ["file"], descendants: true, static: true }, { propertyName: "attachments", first: true, predicate: AttachmentsComponent, descendants: true, static: true }, { propertyName: "_container", first: true, predicate: ["component"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"form-header\">\r\n <bizdoc-people [model]=\"model\" *ngIf=\"mode !== 'compose' && contacts\"></bizdoc-people>\r\n <bizdoc-attachments [model]=\"model\" [includeDeleted]=\"true\" [viewedIndicator]=\"false\"></bizdoc-attachments>\r\n <div *ngIf=\"!model.replied && mode !== 'compose' && model.note\" class=\"compose-note\">\r\n <mat-icon color=\"primary\">info</mat-icon> <span class=\"mat-body-2\">{{model.note}}</span>\r\n </div>\r\n <div *ngIf=\"model.tags\">\r\n <span *ngFor=\"let tag of model.tags\" class=\"mat-chip mat-standard-chip small-chip\">{{tag}}</span>\r\n </div>\r\n</div>\r\n<ng-container #component></ng-container>\r\n<div *ngIf=\"editing\">{{ editing }}</div>\r\n<form style=\"display:none\"><input type=\"file\" #file multiple /></form>\r\n", dependencies: [{ kind: "directive", type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i14.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i14.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i15.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i16.PeopleComponent, selector: "bizdoc-people", inputs: ["model"] }, { kind: "component", type: i17.AttachmentsComponent, selector: "bizdoc-attachments", inputs: ["model", "viewedIndicator", "includeDeleted"] }] }); }
430
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ComposeFormComponent, deps: [{ token: i1.Popup }, { token: i2.MailboxService }, { token: i3.AccountService }, { token: i4.RouterImpl }, { token: i5.MatDialog }, { token: i6.PromptService }, { token: i7.SessionService }, { token: i0.Injector }, { token: i8.MatSnackBar }, { token: i9.BizDocComponentFactoryResolver }, { token: i10.GuideService }, { token: i11.TranslateService }, { token: i12.HubService }], target: i0.ɵɵFactoryTarget.Component }); }
431
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ComposeFormComponent, selector: "bizdoc-form", inputs: { model: "model", working: "working", dirty: "dirty", valid: "valid", mode: "mode", contacts: "contacts" }, outputs: { modelChange: "modelChange", workingChange: "workingChange", dirtyChange: "dirtyChange", validChange: "validChange", saved: "saved" }, host: { classAttribute: "form-container bizdoc-compose" }, viewQueries: [{ propertyName: "_fileElement", first: true, predicate: ["file"], descendants: true, static: true }, { propertyName: "attachments", first: true, predicate: AttachmentsComponent, descendants: true, static: true }, { propertyName: "_container", first: true, predicate: ["component"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"form-header\">\r\n <!--<bizdoc-people [model]=\"model\" *ngIf=\"mode !== 'compose' && contacts\"></bizdoc-people>-->\r\n <bizdoc-attachments [model]=\"model\" [includeDeleted]=\"true\" [viewedIndicator]=\"false\"></bizdoc-attachments>\r\n <div *ngIf=\"!model.replied && mode !== 'compose' && model.note\" class=\"compose-note\">\r\n <mat-icon color=\"primary\">info</mat-icon> <span class=\"mat-body-2\">{{model.note}}</span>\r\n </div>\r\n <div *ngIf=\"model.tags\">\r\n <span *ngFor=\"let tag of model.tags\" class=\"mat-chip mat-standard-chip small-chip\">{{tag}}</span>\r\n </div>\r\n</div>\r\n<ng-container #component></ng-container>\r\n<div *ngIf=\"editing\">{{ editing }}</div>\r\n<form style=\"display:none\"><input type=\"file\" #file multiple /></form>\r\n", dependencies: [{ kind: "directive", type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i14.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i14.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i15.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i16.AttachmentsComponent, selector: "bizdoc-attachments", inputs: ["model", "viewedIndicator", "includeDeleted"] }] }); }
433
432
  }
434
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ComposeFormComponent, decorators: [{
433
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ComposeFormComponent, decorators: [{
435
434
  type: Component,
436
435
  args: [{ selector: 'bizdoc-form', host: {
437
436
  class: 'form-container bizdoc-compose'
438
- }, template: "<div class=\"form-header\">\r\n <bizdoc-people [model]=\"model\" *ngIf=\"mode !== 'compose' && contacts\"></bizdoc-people>\r\n <bizdoc-attachments [model]=\"model\" [includeDeleted]=\"true\" [viewedIndicator]=\"false\"></bizdoc-attachments>\r\n <div *ngIf=\"!model.replied && mode !== 'compose' && model.note\" class=\"compose-note\">\r\n <mat-icon color=\"primary\">info</mat-icon> <span class=\"mat-body-2\">{{model.note}}</span>\r\n </div>\r\n <div *ngIf=\"model.tags\">\r\n <span *ngFor=\"let tag of model.tags\" class=\"mat-chip mat-standard-chip small-chip\">{{tag}}</span>\r\n </div>\r\n</div>\r\n<ng-container #component></ng-container>\r\n<div *ngIf=\"editing\">{{ editing }}</div>\r\n<form style=\"display:none\"><input type=\"file\" #file multiple /></form>\r\n" }]
437
+ }, template: "<div class=\"form-header\">\r\n <!--<bizdoc-people [model]=\"model\" *ngIf=\"mode !== 'compose' && contacts\"></bizdoc-people>-->\r\n <bizdoc-attachments [model]=\"model\" [includeDeleted]=\"true\" [viewedIndicator]=\"false\"></bizdoc-attachments>\r\n <div *ngIf=\"!model.replied && mode !== 'compose' && model.note\" class=\"compose-note\">\r\n <mat-icon color=\"primary\">info</mat-icon> <span class=\"mat-body-2\">{{model.note}}</span>\r\n </div>\r\n <div *ngIf=\"model.tags\">\r\n <span *ngFor=\"let tag of model.tags\" class=\"mat-chip mat-standard-chip small-chip\">{{tag}}</span>\r\n </div>\r\n</div>\r\n<ng-container #component></ng-container>\r\n<div *ngIf=\"editing\">{{ editing }}</div>\r\n<form style=\"display:none\"><input type=\"file\" #file multiple /></form>\r\n" }]
439
438
  }], ctorParameters: function () { return [{ type: i1.Popup }, { type: i2.MailboxService }, { type: i3.AccountService }, { type: i4.RouterImpl }, { type: i5.MatDialog }, { type: i6.PromptService }, { type: i7.SessionService }, { type: i0.Injector }, { type: i8.MatSnackBar }, { type: i9.BizDocComponentFactoryResolver }, { type: i10.GuideService }, { type: i11.TranslateService }, { type: i12.HubService }]; }, propDecorators: { model: [{
440
439
  type: Input
441
440
  }], modelChange: [{
@@ -468,4 +467,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
468
467
  type: ViewChild,
469
468
  args: ['component', { read: ViewContainerRef, static: true }]
470
469
  }] } });
471
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF5QixnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE0QixLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUl2SyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckcsT0FBTyxFQUFXLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSTNGLE9BQU8sRUFBNkIsY0FBYyxFQUFtQixNQUFNLHlCQUF5QixDQUFDO0FBT3JHLE9BQU8sRUFBRSxPQUFPLEVBQWlCLE1BQU0sWUFBWSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdyRCxPQUFPLEVBQUUsWUFBWSxFQUFvQixNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXhFLE1BQU0sQ0FBQyxNQUNMLG9CQUFvQixHQUFHLElBQUk7QUFDM0Isb0JBQW9CO0FBQ3BCLGVBQWUsR0FBRyxJQUFJLEVBQ3RC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RSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFLK0IsWUFBWTtzQkFBaEQsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNnQixXQUFXO3NCQUE3RCxTQUFTO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDaUIsVUFBVTtzQkFBM0UsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBPbkRlc3Ryb3ksIEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYsIENvbXBvbmVudCwgVmlld0NoaWxkLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIElucHV0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUsIG9mLCBmcm9tLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCwgdGFwLCBzd2l0Y2hNYXAsIHN0YXJ0V2l0aCwgbWFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBjbGVhbnVwLCBkZWVwQXNzaWduLCBpc0Jvb2xlYW4sIGlzUHJvbWlzZSwgcXVlcnlQYXJhbXMgfSBmcm9tICcuLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IFJlY2lwaWVudE1vZGVsLCBGb3JtLCBBY3Rpb24sIEF0dGFjaG1lbnQgfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IEZvcm1Db21wb25lbnQsIFZpZXdNb2RlIH0gZnJvbSAnLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IE1haWxib3hTZXJ2aWNlLCBJdGVtRXh0cmEsIERPQ1VNRU5UX01PREVMLCBBdHRhY2htZW50RXh0cmEgfSBmcm9tICcuLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHdWlkZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2d1aWRlL2d1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfSBmcm9tICcuLi9jb3JlL2NvbXBvbmVudC1mYWN0b3J5LXJlc29sdmVyJztcclxuaW1wb3J0IHsgRm9ybVJlZiwgU2F2ZUV2ZW50QXJncyB9IGZyb20gJy4vZm9ybS1yZWYnO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50c0NvbXBvbmVudCB9IGZyb20gJy4vYXR0YWNobWVudHMvYXR0YWNobWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFnc0NvbXBvbmVudCB9IGZyb20gJy4vdGFnL3RhZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tICcuLi9jb3JlL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXJJbXBsIH0gZnJvbSBcIi4uL2NvcmUvcm91dGVyXCI7XHJcbmltcG9ydCB7IEFjdGlvbkRpYWxvZywgQWN0aW9uRGlhbG9nRGF0YSB9IGZyb20gJy4vYWN0aW9uL2FjdGlvbi5kaWFsb2cnO1xyXG5cclxuZXhwb3J0IGNvbnN0XHJcbiAgUkVQT1JUX0VESVRJTkdfREVMQVkgPSAyMDAwLFxyXG4gIC8qKiBzYXZlIGRyYWZ0IG1zICovXHJcbiAgQVVUT19TQVZFX0RFTEFZID0gNTAwMCxcclxuICBFRElUSU5HX01FU1NBR0VfREVMQVkgPSAzMDAwO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAnZm9ybS1jb250YWluZXIgYml6ZG9jLWNvbXBvc2UnXHJcbiAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tcG9zZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBtb2RlbDogUmVjaXBpZW50TW9kZWw8YW55PjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFJlY2lwaWVudE1vZGVsPGFueT4+KCk7XHJcbiAgZm9ybTogRm9ybTtcclxuICBASW5wdXQoKVxyXG4gIHdvcmtpbmcgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgd29ya2luZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBASW5wdXQoKVxyXG4gIGRpcnR5ID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGRpcnR5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBJbnB1dCgpXHJcbiAgdmFsaWQgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsaWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBJbnB1dCgpIG1vZGU6IFZpZXdNb2RlO1xyXG4gIEBJbnB1dCgpIGNvbnRhY3RzID0gdHJ1ZTtcclxuICBhY3Rpb25zOiBBY3Rpb25bXSA9IFtdO1xyXG4gIHBhZ2U6IHN0cmluZyB8IG51bWJlcjtcclxuICBoZWxwOiBzdHJpbmc7XHJcbiAgZWRpdGluZzogc3RyaW5nO1xyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBfZmlsZUVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChBdHRhY2htZW50c0NvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgYXR0YWNobWVudHM6IEF0dGFjaG1lbnRzQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbXBvbmVudCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIF9jb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgcHJpdmF0ZSBfZm9ybVJlZjogRm9ybVJlZjtcclxuICBwcml2YXRlIF9pbnN0YW5jZTogRm9ybUNvbXBvbmVudDxhbnk+O1xyXG4gIHByaXZhdGUgX2VkaXRpbmdUYXNrOiBOb2RlSlMuVGltZW91dDtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BvcHVwOiBQb3B1cCxcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfYWNjb3VudHM6IEFjY291bnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBfc25hY2tiYXI6IE1hdFNuYWNrQmFyLFxyXG4gICAgcHJpdmF0ZSBfY2Y6IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgX2d1aWRlOiBHdWlkZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9tZXNzYWdpbmc6IEh1YlNlcnZpY2VcclxuICApIHtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9maWxlRWxlbWVudC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuX2ZpbGVDaGFuZ2VMaXN0ZW5lci5iaW5kKHRoaXMpKTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jYWxsYmFjayQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+XHJcbiAgICAgIHRoaXMuX2luc3RhbmNlLm9uTWVzc2FnZVxyXG4gICAgICAmJiB0aGlzLl9pbnN0YW5jZS5vbk1lc3NhZ2UoZS5tZXNzYWdlKSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuZWRpdGluZyQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+XHJcbiAgICAgIGUuaWQgPT09IHRoaXMubW9kZWwuaWQgJiZcclxuICAgICAgdGhpcy5fZWRpdGluZyhlLnVzZXJJZCkpO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLnVwZGF0ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgaWYgKGUubW9kZWwuaWQgPT09IHRoaXMubW9kZWwuaWQpIHtcclxuICAgICAgICAoZS51c2VySWQgIT09IHRoaXMuX3Nlc3Npb24udXNlcklkKSAmJlxyXG4gICAgICAgICAgdGhpcy5fYWNjb3VudHMuZ2V0KGUudXNlcklkKS5zdWJzY3JpYmUodSA9PlxyXG4gICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuKHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ01haWxWZXJzaW9uVXBkYXRlJywgdGhpcy5tb2RlbC5udW1iZXIsIHUubmFtZSksXHJcbiAgICAgICAgICAgICAgdGhpcy5fdHJhbnNsYXRlLmdldCgnT0snKSwge1xyXG4gICAgICAgICAgICAgIGRpcmVjdGlvbjogdGhpcy5fc2Vzc2lvbi5kaXJlY3Rpb24sXHJcbiAgICAgICAgICAgIH0pLm9uQWN0aW9uKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLl9hc3NpZ24oZS5tb2RlbCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5fcmVzZXQoKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWFpbGJveC5jaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKGUgPT4gIXRoaXMud29ya2luZyAmJiBlLmlkID09PSB0aGlzLm1vZGVsLmlkICYmIHRoaXMuX2Fzc2lnbihlKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2VkaXRpbmcodXNlcklkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2FjY291bnRzLmdldCh1c2VySWQpLnN1YnNjcmliZSh1ID0+IHtcclxuICAgICAgdGhpcy5lZGl0aW5nID0gdGhpcy5fdHJhbnNsYXRlLnBlcnNvbmFsaXplKCdFZGl0aW5nJywgdS5nZW5kZXIsIHUubmFtZSk7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9lZGl0aW5nVGFzayk7XHJcbiAgICAgIHRoaXMuX2VkaXRpbmdUYXNrID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmVkaXRpbmcgPSBudWxsLCBFRElUSU5HX01FU1NBR0VfREVMQVkpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKF9jaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLl9mb3JtUmVmICYmIHRoaXMuX2Zvcm1SZWYuX2Rlc3Ryb3koKTtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb3Jtcy5maW5kKGYgPT4gZi5uYW1lID09PSB0aGlzLm1vZGVsLmZvcm1JZCk7XHJcbiAgICB0aGlzLmhlbHAgPSB0aGlzLmZvcm0uZ3VpZGU7XHJcbiAgICBpZiAoIXRoaXMuZm9ybS50ZW1wbGF0ZSlcclxuICAgICAgdGhyb3cgKGBGb3JtICcke3RoaXMuZm9ybS5uYW1lfScgbW9kZWwgbWlzc2luZyAnW1RlbXBsYXRlKCldJyBhdHRyaWJ1dGUuYCk7XHJcbiAgICBjb25zdCBjb21wID0gdGhpcy5fY2YuY29tcG9uZW50KHRoaXMuZm9ybS50ZW1wbGF0ZSk7XHJcbiAgICB0aGlzLl9mb3JtUmVmID0gbmV3IEZvcm1SZWYodGhpcy5mb3JtKTtcclxuICAgIHRoaXMuX2Zvcm1SZWYuX25hdmlnYXRpbmcuXHJcbiAgICAgIHN1YnNjcmliZShwID0+IHRoaXMucGFnZSA9IHApO1xyXG4gICAgdGhpcy5fZm9ybVJlZi5fc3RhdGVDaGFuZ2UucGlwZShzdGFydFdpdGgoKSkuXHJcbiAgICAgIHN1YnNjcmliZSgoKSA9PiB0aGlzLmhlbHAgPSB0aGlzLl9mb3JtUmVmLmhlbHApO1xyXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBGb3JtUmVmLCB1c2VWYWx1ZTogdGhpcy5fZm9ybVJlZlxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgIHByb3ZpZGU6IERPQ1VNRU5UX01PREVMLCB1c2VWYWx1ZTogdGhpcy5tb2RlbFxyXG4gICAgICAgIH1cclxuICAgICAgXSwgcGFyZW50OiB0aGlzLl9pbmplY3RvclxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9jb250YWluZXIuY2xlYXIoKTtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuX2NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcCwgeyBpbmplY3RvciB9KTtcclxuXHJcbiAgICB0aGlzLl9pbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBGb3JtQ29tcG9uZW50PGFueT47XHJcbiAgICB0aGlzLl9mb3JtUmVmLl9tb2RlID0gdGhpcy5faW5zdGFuY2UubW9kZSA9IHRoaXMubW9kZTtcclxuICAgIHRoaXMuX2luc3RhbmNlLmZvcm0uc3RhdHVzQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgY29uc3QgeyBkaXJ0eSwgdmFsaWQgfSA9IHRoaXMuX2luc3RhbmNlLmZvcm07XHJcbiAgICAgIHRoaXMuZGlydHkgPSBkaXJ0eTtcclxuICAgICAgdGhpcy5kaXJ0eUNoYW5nZS5lbWl0KGRpcnR5KTtcclxuICAgICAgdGhpcy52YWxpZCA9IHZhbGlkO1xyXG4gICAgICB0aGlzLnZhbGlkQ2hhbmdlLmVtaXQodmFsaWQpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm1vZGVsLmRyYWZ0ICYmIHRoaXMuX2luc3RhbmNlLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLFxyXG4gICAgICAvL2RlYm91bmNlVGltZShSRVBPUlRfRURJVElOR19ERUxBWSksXHJcbiAgICAgIC8vdGFwKCgpID0+ICF0aGlzLndvcmtpbmcgJiYgdGhpcy5fbWFpbGJveC5lZGl0aW5nKHRoaXMubW9kZWwuZG9jdW1lbnRJZCkpLFxyXG4gICAgICBkZWJvdW5jZVRpbWUoQVVUT19TQVZFX0RFTEFZKVxyXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4gIXRoaXMud29ya2luZyAmJiB0aGlzLmRpcnR5ICYmXHJcbiAgICAgIHRoaXMuc2F2ZShmYWxzZSkuc3Vic2NyaWJlKCkpO1xyXG4gICAgdGhpcy5faW5zdGFuY2Uub25CaW5kKHRoaXMubW9kZWwpO1xyXG4gICAgdGhpcy5fcmVzZXQoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZmlsZUNoYW5nZUxpc3RlbmVyKGV2OiBFdmVudCkge1xyXG4gICAgY29uc3QgeyBmaWxlcyB9ID0gZXYudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQsXHJcbiAgICAgIGFycjogRmlsZVtdID0gW107XHJcbiAgICBpZiAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoKSB7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgYXJyLnB1c2goZmlsZXNbaV0pO1xyXG4gICAgICB0aGlzLnVwbG9hZChhcnIpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fZmlsZUVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5hdHRhY2htZW50cy5uZ09uQ2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfYXBwbHkoKSB7XHJcbiAgICBkZWVwQXNzaWduKHRoaXMubW9kZWwubW9kZWwsIHRoaXMuX2luc3RhbmNlLmZvcm0udmFsdWUpO1xyXG4gIH1cclxuICBuYXZpZ2F0ZShwYWdlOiBhbnkpIHtcclxuICAgIGNvbnN0IHBhZ2VuID0gcGFyc2VJbnQocGFnZSk7XHJcbiAgICB0aGlzLl9mb3JtUmVmLl9uYXZpZ2F0aW5nLm5leHQoaXNOYU4ocGFnZW4pID8gcGFnZSA6IHBhZ2VuKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZ2V0QWN0aW9uQWRqZWN0aXZlKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBhY3Rpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5maW5kKGEgPT4gYS5uYW1lID09PSBuYW1lKTtcclxuICAgIHJldHVybiAoYWN0aW9uLmFkamVjdGl2ZSB8fCBhY3Rpb24ucGFzdCB8fCBhY3Rpb24udGl0bGUpLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBmZWVkYmFja1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX3NhdmUoZmVlZGJhY2s6IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIHRoaXMud29ya2luZyA9IHRydWU7XHJcbiAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdCh0cnVlKTtcclxuICAgIGNvbnN0IHsgaWQsIHZlcnNpb24sIGZvcm1JZCwgbW9kZWwsIGRyYWZ0IH0gPSB0aGlzLm1vZGVsO1xyXG4gICAgcmV0dXJuIHRoaXMuX21haWxib3guc2F2ZShpZCwgZm9ybUlkLCB2ZXJzaW9uLCBtb2RlbCkucGlwZShcclxuICAgICAgdGFwKHtcclxuICAgICAgICBuZXh0OiBtID0+IHtcclxuICAgICAgICAgIHRoaXMuX2Fzc2lnbihtLCBmYWxzZSk7XHJcbiAgICAgICAgICB0aGlzLl9yZXNldCgpO1xyXG4gICAgICAgICAgZmVlZGJhY2sgJiZcclxuICAgICAgICAgICAgdGhpcy5fc2IudG9hc3QoZHJhZnQgPyAnRHJhZnRTYXZlZCcgOiAnQ2hhbmdlc1NhdmVkJyk7XHJcbiAgICAgICAgICB0aGlzLnNhdmVkLmVtaXQoKTtcclxuICAgICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIH0sIGVycm9yOiBlID0+IHtcclxuICAgICAgICAgIGZlZWRiYWNrICYmXHJcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZUVycm9yKGUsICdTYXZlRXJyJyk7XHJcbiAgICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLCBtYXAoKCkgPT4gdHJ1ZSkpO1xyXG4gIH1cclxuICB1cGxvYWQoZmlsZXM6IEZpbGVbXSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICBsZXQgZXhpc3RzOiBib29sZWFuO1xyXG4gICAgY29uc3Qgb2JzZXJ2YWJsZXMgPSBbXSBhcyBPYnNlcnZhYmxlPGFueT5bXTtcclxuICAgIGZpbGVzLmZvckVhY2goZiA9PiB7XHJcbiAgICAgIGlmICghZXhpc3RzKVxyXG4gICAgICAgIGV4aXN0cyA9IHRoaXMubW9kZWwuYXR0YWNobWVudHMuc29tZShhID0+IGEuZmlsZU5hbWUgPT09IGYubmFtZSAmJiAhYS5kZWxldGVkICYmICEoYSBhcyBBdHRhY2htZW50RXh0cmEpLmZhaWxlZCk7XHJcbiAgICAgIGNvbnN0IHJldHJ5ID0gdGhpcy5tb2RlbC5hdHRhY2htZW50cy5maW5kSW5kZXgoYSA9PiBhLmZpbGVOYW1lID09PSBmLm5hbWUgJiYgKGEgYXMgQXR0YWNobWVudEV4dHJhKS5mYWlsZWQpO1xyXG4gICAgICBpZiAocmV0cnkgPiAtMSlcclxuICAgICAgICB0aGlzLm1vZGVsLmF0dGFjaG1lbnRzLnNwbGljZShyZXRyeSwgMSk7XHJcbiAgICAgIGNvbnN0IG1vZGVsID0gdGhpcy5fY29uc3RydWN0QXR0YWNobWVudChmKTtcclxuICAgICAgY29uc3Qgb2JzZXJ2YWJsZSA9IHRoaXMuX21haWxib3gudXBsb2FkKHRoaXMubW9kZWwuaWQsIHRoaXMubW9kZWwuZm9ybUlkLCB0aGlzLm1vZGVsLnZlcnNpb24sIGYpLlxyXG4gICAgICAgIHBpcGUodGFwKChyOiBBdHRhY2htZW50KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9zYi50b2FzdChcclxuICAgICAgICAgICAgIWV4aXN0cyA/ICdVcGxvYWRPaycgOiAnVXBsb2FkVmVyc2lvbk9rJywgZi5uYW1lKTtcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24obW9kZWwsIHIsIHsgcHJvZ3Jlc3M6IG51bGwsIH0pO1xyXG4gICAgICAgICAgdGhpcy5tb2RlbC5hdHRhY2htZW50cy5wdXNoKG1vZGVsKTtcclxuICAgICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIH0pLCBjYXRjaEVycm9yKGUgPT4ge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXJyb3IoZSwgJ1VwbG9hZEZhaWxlZCcsIGYubmFtZSk7XHJcbiAgICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICBvYnNlcnZhYmxlcy5wdXNoKG9ic2VydmFibGUpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZm9ya0pvaW4ob2JzZXJ2YWJsZXMpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb25zdHJ1Y3RBdHRhY2htZW50KGZpbGU6IEZpbGUpIHtcclxuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCksIHV0YyA9IG5ldyBEYXRlKG5vdy5nZXRUaW1lKCkgKyBub3cuZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDYwMDAwKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHVzZXJJZDogdGhpcy5fc2Vzc2lvbi5wcm9maWxlLnVzZXJJZCxcclxuICAgICAgYnlJZDogdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmJ5SWQsXHJcbiAgICAgIHRpbWU6IHV0Yy50b0pTT04oKSBhcyBhbnksXHJcbiAgICAgIGZpbGVOYW1lOiBmaWxlLm5hbWUsXHJcbiAgICAgIGNvbnRlbnRUeXBlOiBmaWxlLnR5cGVcclxuICAgIH0gYXMgQXR0YWNobWVudDtcclxuICB9XHJcbiAgdGFnKGV2dDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5fcG9wdXAub3BlbihUYWdzQ29tcG9uZW50LCAoZXZ0LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQpLCB7XHJcbiAgICAgIGRhdGE6IHRoaXMubW9kZWxcclxuICAgIH0pXHJcbiAgfVxyXG4gIHByaXZhdGUgX3Jlc2V0KCkge1xyXG4gICAgZnVuY3Rpb24gc29ydEFjdGlvbnMoYTogQWN0aW9uLCBiOiBBY3Rpb24pIHtcclxuICAgICAgaWYgKGEuZ3JvdXAgJiYgYi5ncm91cCAmJiBhLmdyb3VwICE9PSBiLmdyb3VwKVxyXG4gICAgICAgIHJldHVybiBhLmdyb3VwIDwgYi5ncm91cCA/IC0xIDogMTtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9pbnN0YW5jZS5mb3JtLnJlc2V0KHRoaXMubW9kZWwubW9kZWwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIHRoaXMudmFsaWQgPSB0aGlzLl9pbnN0YW5jZS5mb3JtLnZhbGlkO1xyXG4gICAgdGhpcy52YWxpZENoYW5nZS5lbWl0KHRoaXMudmFsaWQpO1xyXG4gICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgdGhpcy5kaXJ0eUNoYW5nZS5lbWl0KHRoaXMuZGlydHkpO1xyXG4gICAgdGhpcy5hY3Rpb25zID0gdGhpcy5tb2RlbC5hY3Rpb25zLmxlbmd0aCA/XHJcbiAgICAgIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5hY3Rpb25zLlxyXG4gICAgICAgIGZpbHRlcihhID0+IHRoaXMubW9kZWwuYWN0aW9ucy5pbmRleE9mKGEubmFtZSkgPiAtMSkuXHJcbiAgICAgICAgc29ydChzb3J0QWN0aW9ucykgOiBbXTtcclxuICB9XHJcblxyXG4gIGd1aWRlKG5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fZ3VpZGUuc3RhcnQobmFtZSk7XHJcbiAgfVxyXG4gIGF0dGFjaCgpIHtcclxuICAgIGNvbnN0IGVsZW0gPSB0aGlzLl9maWxlRWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBlbGVtLmNsaWNrKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGZlZWRiYWNrXHJcbiAgICovXHJcbiAgc2F2ZShmZWVkYmFjayA9IHRydWUpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIHRoaXMuX2FwcGx5KCk7XHJcbiAgICBjb25zdCBzYXZlQXJncyA9IHsgY2FuY2VsOiBmYWxzZSB9IGFzIFNhdmVFdmVudEFyZ3M7XHJcbiAgICB0aGlzLl9mb3JtUmVmLl9zYXZpbmcubmV4dChzYXZlQXJncyk7XHJcbiAgICBpZiAoc2F2ZUFyZ3MuY2FuY2VsKVxyXG4gICAgICByZXR1cm4gb2YoZmFsc2UpO1xyXG4gICAgaWYgKHRoaXMuX2luc3RhbmNlLm9uU2F2ZSkge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9pbnN0YW5jZS5vblNhdmUoKTtcclxuICAgICAgaWYgKGlzQm9vbGVhbihyZXN1bHQpKSB7XHJcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcclxuICAgICAgICAgIGZlZWRiYWNrICYmIHRoaXMuX3NiLnRvYXN0KCdWYWxpZGF0ZUVycicpO1xyXG4gICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoaXNQcm9taXNlKHJlc3VsdCkpXHJcbiAgICAgICAgcmV0dXJuIGZyb20ocmVzdWx0KS5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aGlzLl9zYXZlKGZlZWRiYWNrKSkpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aGlzLl9zYXZlKGZlZWRiYWNrKSkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX3NhdmUoZmVlZGJhY2spO1xyXG4gIH1cclxuICBmbGFnKCkge1xyXG4gICAgY29uc3QgZXh0cmEgPSB0aGlzLm1vZGVsIGFzIEl0ZW1FeHRyYSwgeyBmbGFnIH0gPSB0aGlzLm1vZGVsO1xyXG4gICAgZXh0cmEud29ya2luZyA9IHRydWU7XHJcbiAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5fbWFpbGJveC5mbGFnKHRoaXMubW9kZWwuaWQsICFmbGFnKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5mbGFnID0gIWZsYWc7XHJcbiAgICAgICAgZXh0cmEud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICB9LCBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgIGV4dHJhLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIHRoaXMuX2FwcGx5KCk7XHJcbiAgICBjb25zdCB7IGlkLCB2ZXJzaW9uLCBmb3JtSWQsIG1vZGVsLCBudW1iZXIgfSA9IHRoaXMubW9kZWw7XHJcbiAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICByZXR1cm4gdGhpcy5fbWFpbGJveC5zdWJtaXQoaWQsIHZlcnNpb24sIGZvcm1JZCwgbW9kZWwpLlxyXG4gICAgICBwaXBlKHRhcCh7XHJcbiAgICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fc2IudG9hc3QoJ1N1Ym1pdHRlZCcsIG51bWJlcik7XHJcbiAgICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICB9LCBlcnJvcjogZSA9PiB7XHJcbiAgICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUVycm9yKGUsICdTdWJtaXRFcnInKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pKTtcclxuICB9XHJcbiAgYmFjaygpIHtcclxuICAgIHRoaXMuX2Zvcm1SZWYubmF2aWdhdGUoKTtcclxuICB9XHJcbiAgZGlzY2FyZCgpIHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlID0+IHtcclxuICAgICAgdGhpcy5fc2IuYXNrKCdEaXNjYXJkQXNrJywgJ0Rpc2NhcmQnLCB7XHJcbiAgICAgICAgY29sb3I6ICd3YXJuJywgb2s6ICdEaXNjYXJkJ1xyXG4gICAgICB9KS5zdWJzY3JpYmUob2sgPT4ge1xyXG4gICAgICAgIGlmIChvaykge1xyXG4gICAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICAgICAgICB0aGlzLl9tYWlsYm94LmRlbGV0ZSh0aGlzLm1vZGVsLmlkKS5cclxuICAgICAgICAgICAgc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBvYnNlcnZlLm5leHQoKTtcclxuICAgICAgICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIGVycm9yOiBlID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlRXJyb3IoZSwgJ05ldHdvcmtFcnInKTtcclxuICAgICAgICAgICAgICAgIG9ic2VydmUuZXJyb3IoKTtcclxuICAgICAgICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNlbmQoYWN0aW9uOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlID0+IHtcclxuICAgICAgdGhpcy5fZGlhbG9nLm9wZW4oQWN0aW9uRGlhbG9nLCB7XHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgYWN0aW9uLFxyXG4gICAgICAgICAgaXRlbTogdGhpcy5tb2RlbFxyXG4gICAgICAgIH0gYXMgQWN0aW9uRGlhbG9nRGF0YSxcclxuICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZVxyXG4gICAgICB9KS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShhcmdzID0+IHtcclxuICAgICAgICBpZiAoYXJncykge1xyXG4gICAgICAgICAgdGhpcy5fYXBwbHkoKTtcclxuICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IHF1ZXJ5UGFyYW1zKGFyZ3MpO1xyXG4gICAgICAgICAgdGhpcy53b3JraW5nID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KHRydWUpO1xyXG4gICAgICAgICAgY29uc3QgeyBpZCwgdmVyc2lvbiwgbnVtYmVyLCBtb2RlbCwgZm9ybUlkIH0gPSB0aGlzLm1vZGVsO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuX21haWxib3guc2VuZChpZCwgdmVyc2lvbiwgZm9ybUlkLCBtb2RlbCwgYWN0aW9uLCBwYXJhbXMpLlxyXG4gICAgICAgICAgICBzdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICAgIG5leHQ6IHIgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luID0gci5yZWNpcGllbnRzLmZpbHRlcihyID0+IHIub3JpZ2luSWQgPT09IGlkKTtcclxuICAgICAgICAgICAgICAgIGlmIChvcmlnaW4ubGVuZ3RoKVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLl9hY2NvdW50cy5nZXRBbGwob3JpZ2luLm1hcChyID0+IHIudXNlcklkKSkuc3Vic2NyaWJlKHUgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zYi50b2FzdCgnU2VudFRvJywgbnVtYmVyLCB0aGlzLl9nZXRBY3Rpb25BZGplY3RpdmUoYWN0aW9uKSwgdGhpcy5fdHJhbnNsYXRlLmpvaW4odS5tYXAodSA9PiB1Lm5hbWUpKSkpO1xyXG4gICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLl9zYi50b2FzdCgnU2VudCcsIG51bWJlciwgdGhpcy5fZ2V0QWN0aW9uQWRqZWN0aXZlKGFjdGlvbikpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy53b3JraW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICBvYnNlcnZlLm5leHQoKTtcclxuICAgICAgICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICB9LGVycm9yOiBlID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5faGFuZGxlRXJyb3IoZSwgJ1NlbmRFcnInKTtcclxuICAgICAgICAgICAgICBvYnNlcnZlLmVycm9yKCk7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICB9fSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5lcnJvcigpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0pO1xyXG4gIH1cclxuICBjb3B5KCkge1xyXG4gICAgdGhpcy5fbWFpbGJveC5jb3B5KHRoaXMubW9kZWwuZG9jdW1lbnRJZCkuc3Vic2NyaWJlKHtuZXh0OiBpID0+IHtcclxuICAgICAgdGhpcy5fc2IudG9hc3QoJ0NvcGllZCcsIGkubnVtYmVyIHx8IHRoaXMuZm9ybS50aXRsZSk7XHJcbiAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ21haWxib3gvaScsIGkuaWQuZW5jb2RlSWQoKV0sIHtcclxuICAgICAgICBzdGF0ZTogeyBpdGVtOiBpIH1cclxuICAgICAgfSk7XHJcbiAgICB9LCBlcnJvcjogKCkgPT4gdGhpcy5fc2IuZXJyb3IoKX0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSByZXNwb25zZVxyXG4gICAqIEBwYXJhbSBpdGVtXHJcbiAgICogQHBhcmFtIG1lc3NhZ2UgcmVzb3VyY2VcclxuICAgKiBAcGFyYW0gYXJnc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2hhbmRsZUVycm9yKHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSwgbWVzc2FnZTogc3RyaW5nLCAuLi5hcmdzOiBzdHJpbmdbXSkge1xyXG4gICAgaWYgKHJlc3BvbnNlLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdQb3NpdGlvbkVycm9yJylcclxuICAgICAgc3dpdGNoIChyZXNwb25zZS5jb2RlKSB7XHJcbiAgICAgICAgY2FzZSAxOlxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ1VzZXJEZW5pZWRHZW9FcnInKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignR2VvRXJyJyk7XHJcbiAgICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgc3dpdGNoIChyZXNwb25zZS5zdGF0dXMpIHtcclxuICAgICAgICBjYXNlIDQwMTpcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdVbmF1dGhvcml6ZWQnKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgNDA5OiAvLyB2ZXJzaW9uIGNoYW5nZVxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBjb25zdCBvYmogPSByZXNwb25zZS5lcnJvciAvKiBzZXJpYWxpemVkIG1vZGVsICovIGFzIFJlY2lwaWVudE1vZGVsPGFueT47XHJcbiAgICAgICAgICAgIG9iaiAmJiB0aGlzLl9hc3NpZ24ob2JqKTtcclxuICAgICAgICAgICAgdGhpcy5fcmVzZXQoKTtcclxuICAgICAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ1ZlcnNpb25FcnInLCB0aGlzLm1vZGVsLm51bWJlcik7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgNDA2OiAvLyB2YWxpZGF0aW9uXHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvclN0cmluZyhyZXNwb25zZS5lcnJvcik7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIDQyNjogLy8gbGljZW5zZSBcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdMaWNlbnNlRXJyJyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3IobWVzc2FnZSwgLi4uYXJncyk7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfYXNzaWduKG1vZGVsOiBSZWNpcGllbnRNb2RlbCwgZW1pdEV2ZW50PzogYm9vbGVhbikge1xyXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLm1vZGVsLCBtb2RlbCwgeyAvLyBwcmVzZXJ2ZSBvYmplY3QgcmVmIGluIG1vZGVsXHJcbiAgICAgIG1vZGVsOiBkZWVwQXNzaWduKHRoaXMubW9kZWwubW9kZWwsIG1vZGVsLm1vZGVsKVxyXG4gICAgfSk7XHJcbiAgICBpZiAoZW1pdEV2ZW50ICE9PSBmYWxzZSkge1xyXG4gICAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICAgIHRoaXMuX2Zvcm1SZWYuX21vZGVsQ2hhbmdlLm5leHQodGhpcy5tb2RlbCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWhlYWRlclwiPlxyXG4gIDxiaXpkb2MtcGVvcGxlIFttb2RlbF09XCJtb2RlbFwiICpuZ0lmPVwibW9kZSAhPT0gJ2NvbXBvc2UnICYmIGNvbnRhY3RzXCI+PC9iaXpkb2MtcGVvcGxlPlxyXG4gIDxiaXpkb2MtYXR0YWNobWVudHMgW21vZGVsXT1cIm1vZGVsXCIgW2luY2x1ZGVEZWxldGVkXT1cInRydWVcIiBbdmlld2VkSW5kaWNhdG9yXT1cImZhbHNlXCI+PC9iaXpkb2MtYXR0YWNobWVudHM+XHJcbiAgPGRpdiAqbmdJZj1cIiFtb2RlbC5yZXBsaWVkICYmIG1vZGUgIT09ICdjb21wb3NlJyAmJiBtb2RlbC5ub3RlXCIgY2xhc3M9XCJjb21wb3NlLW5vdGVcIj5cclxuICAgIDxtYXQtaWNvbiBjb2xvcj1cInByaW1hcnlcIj5pbmZvPC9tYXQtaWNvbj4gPHNwYW4gY2xhc3M9XCJtYXQtYm9keS0yXCI+e3ttb2RlbC5ub3RlfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cIm1vZGVsLnRhZ3NcIj5cclxuICAgIDxzcGFuICpuZ0Zvcj1cImxldCB0YWcgb2YgbW9kZWwudGFnc1wiIGNsYXNzPVwibWF0LWNoaXAgbWF0LXN0YW5kYXJkLWNoaXAgc21hbGwtY2hpcFwiPnt7dGFnfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48bmctY29udGFpbmVyICNjb21wb25lbnQ+PC9uZy1jb250YWluZXI+XHJcbjxkaXYgKm5nSWY9XCJlZGl0aW5nXCI+e3sgZWRpdGluZyB9fTwvZGl2PlxyXG48Zm9ybSBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPjxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlIG11bHRpcGxlIC8+PC9mb3JtPlxyXG4iXX0=
470
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF5QixnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE0QixLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUl2SyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckcsT0FBTyxFQUFXLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSTNGLE9BQU8sRUFBNkIsY0FBYyxFQUFtQixNQUFNLHlCQUF5QixDQUFDO0FBT3JHLE9BQU8sRUFBRSxPQUFPLEVBQWlCLE1BQU0sWUFBWSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdyRCxPQUFPLEVBQUUsWUFBWSxFQUFvQixNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFeEUsTUFBTSxDQUFDLE1BQ0wsb0JBQW9CLEdBQUcsSUFBSTtBQUMzQixvQkFBb0I7QUFDcEIsZUFBZSxHQUFHLElBQUksRUFDdEIs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LElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUsrQixZQUFZO3NCQUFoRCxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ2dCLFdBQVc7c0JBQTdELFNBQVM7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNpQixVQUFVO3NCQUEzRSxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIE9uRGVzdHJveSwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YsIGZyb20sIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsLCB0YXAsIHN3aXRjaE1hcCwgc3RhcnRXaXRoLCBtYXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGNsZWFudXAsIGRlZXBBc3NpZ24sIGlzQm9vbGVhbiwgaXNQcm9taXNlLCBxdWVyeVBhcmFtcyB9IGZyb20gJy4uL2NvcmUvZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgUmVjaXBpZW50TW9kZWwsIEZvcm0sIEFjdGlvbiwgQXR0YWNobWVudCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCwgVmlld01vZGUgfSBmcm9tICcuLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UsIEl0ZW1FeHRyYSwgRE9DVU1FTlRfTU9ERUwsIEF0dGFjaG1lbnRFeHRyYSB9IGZyb20gJy4uL2NvcmUvbWFpbGJveC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEd1aWRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvZ3VpZGUvZ3VpZGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXInO1xyXG5pbXBvcnQgeyBGb3JtUmVmLCBTYXZlRXZlbnRBcmdzIH0gZnJvbSAnLi9mb3JtLXJlZic7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9hdHRhY2htZW50cy9hdHRhY2htZW50cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWdzQ29tcG9uZW50IH0gZnJvbSAnLi90YWcvdGFncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3B1cCB9IGZyb20gJy4uL2NvcmUvcG9wdXAvcG9wdXAuc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tIFwiLi4vY29yZS9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgQWN0aW9uRGlhbG9nLCBBY3Rpb25EaWFsb2dEYXRhIH0gZnJvbSAnLi9hY3Rpb24vYWN0aW9uLmRpYWxvZyc7XHJcblxyXG5leHBvcnQgY29uc3RcclxuICBSRVBPUlRfRURJVElOR19ERUxBWSA9IDIwMDAsXHJcbiAgLyoqIHNhdmUgZHJhZnQgbXMgKi9cclxuICBBVVRPX1NBVkVfREVMQVkgPSA1MDAwLFxyXG4gIEVESVRJTkdfTUVTU0FHRV9ERUxBWSA9IDMwMDA7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdmb3JtLWNvbnRhaW5lciBiaXpkb2MtY29tcG9zZSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21wb3NlRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIG1vZGVsOiBSZWNpcGllbnRNb2RlbDxhbnk+O1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjaXBpZW50TW9kZWw8YW55Pj4oKTtcclxuICBmb3JtOiBGb3JtO1xyXG4gIEBJbnB1dCgpXHJcbiAgd29ya2luZyA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSB3b3JraW5nQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBJbnB1dCgpXHJcbiAgZGlydHkgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgZGlydHlDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQElucHV0KClcclxuICB2YWxpZCA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSB2YWxpZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgc2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQElucHV0KCkgbW9kZTogVmlld01vZGU7XHJcbiAgQElucHV0KCkgY29udGFjdHMgPSB0cnVlO1xyXG4gIGFjdGlvbnM6IEFjdGlvbltdID0gW107XHJcbiAgcGFnZTogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIGhlbHA6IHN0cmluZztcclxuICBlZGl0aW5nOiBzdHJpbmc7XHJcbiAgQFZpZXdDaGlsZCgnZmlsZScsIHsgc3RhdGljOiB0cnVlIH0pIF9maWxlRWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKEF0dGFjaG1lbnRzQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBhdHRhY2htZW50czogQXR0YWNobWVudHNDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnY29tcG9uZW50JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSkgX2NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuICBwcml2YXRlIF9mb3JtUmVmOiBGb3JtUmVmO1xyXG4gIHByaXZhdGUgX2luc3RhbmNlOiBGb3JtQ29tcG9uZW50PGFueT47XHJcbiAgcHJpdmF0ZSBfZWRpdGluZ1Rhc2s6IE5vZGVKUy5UaW1lb3V0O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcG9wdXA6IFBvcHVwLFxyXG4gICAgcHJpdmF0ZSBfbWFpbGJveDogTWFpbGJveFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9hY2NvdW50czogQWNjb3VudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlckltcGwsXHJcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIF9zbmFja2JhcjogTWF0U25hY2tCYXIsXHJcbiAgICBwcml2YXRlIF9jZjogQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBfZ3VpZGU6IEd1aWRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX21lc3NhZ2luZzogSHViU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2ZpbGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5fZmlsZUNoYW5nZUxpc3RlbmVyLmJpbmQodGhpcykpO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLmNhbGxiYWNrJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT5cclxuICAgICAgdGhpcy5faW5zdGFuY2Uub25NZXNzYWdlXHJcbiAgICAgICYmIHRoaXMuX2luc3RhbmNlLm9uTWVzc2FnZShlLm1lc3NhZ2UpKTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5lZGl0aW5nJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT5cclxuICAgICAgZS5pZCA9PT0gdGhpcy5tb2RlbC5pZCAmJlxyXG4gICAgICB0aGlzLl9lZGl0aW5nKGUudXNlcklkKSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcudXBkYXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5tb2RlbC5pZCA9PT0gdGhpcy5tb2RlbC5pZCkge1xyXG4gICAgICAgIChlLnVzZXJJZCAhPT0gdGhpcy5fc2Vzc2lvbi51c2VySWQpICYmXHJcbiAgICAgICAgICB0aGlzLl9hY2NvdW50cy5nZXQoZS51c2VySWQpLnN1YnNjcmliZSh1ID0+XHJcbiAgICAgICAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW4odGhpcy5fdHJhbnNsYXRlLmdldCgnTWFpbFZlcnNpb25VcGRhdGUnLCB0aGlzLm1vZGVsLm51bWJlciwgdS5uYW1lKSxcclxuICAgICAgICAgICAgICB0aGlzLl90cmFuc2xhdGUuZ2V0KCdPSycpLCB7XHJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uOiB0aGlzLl9zZXNzaW9uLmRpcmVjdGlvbixcclxuICAgICAgICAgICAgfSkub25BY3Rpb24oKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2Fzc2lnbihlLm1vZGVsKTtcclxuICAgICAgICAgICAgICB0aGlzLl9yZXNldCgpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tYWlsYm94LmNoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUoZSA9PiAhdGhpcy53b3JraW5nICYmIGUuaWQgPT09IHRoaXMubW9kZWwuaWQgJiYgdGhpcy5fYXNzaWduKGUpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZWRpdGluZyh1c2VySWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5fYWNjb3VudHMuZ2V0KHVzZXJJZCkuc3Vic2NyaWJlKHUgPT4ge1xyXG4gICAgICB0aGlzLmVkaXRpbmcgPSB0aGlzLl90cmFuc2xhdGUucGVyc29uYWxpemUoJ0VkaXRpbmcnLCB1LmdlbmRlciwgdS5uYW1lKTtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2VkaXRpbmdUYXNrKTtcclxuICAgICAgdGhpcy5fZWRpdGluZ1Rhc2sgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZWRpdGluZyA9IG51bGwsIEVESVRJTkdfTUVTU0FHRV9ERUxBWSk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoX2NoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Zvcm1SZWYgJiYgdGhpcy5fZm9ybVJlZi5fZGVzdHJveSgpO1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmZvcm1zLmZpbmQoZiA9PiBmLm5hbWUgPT09IHRoaXMubW9kZWwuZm9ybUlkKTtcclxuICAgIHRoaXMuaGVscCA9IHRoaXMuZm9ybS5ndWlkZTtcclxuICAgIGlmICghdGhpcy5mb3JtLnRlbXBsYXRlKVxyXG4gICAgICB0aHJvdyAoYEZvcm0gJyR7dGhpcy5mb3JtLm5hbWV9JyBtb2RlbCBtaXNzaW5nICdbVGVtcGxhdGUoKV0nIGF0dHJpYnV0ZS5gKTtcclxuICAgIGNvbnN0IGNvbXAgPSB0aGlzLl9jZi5jb21wb25lbnQodGhpcy5mb3JtLnRlbXBsYXRlKTtcclxuICAgIHRoaXMuX2Zvcm1SZWYgPSBuZXcgRm9ybVJlZih0aGlzLmZvcm0pO1xyXG4gICAgdGhpcy5fZm9ybVJlZi5fbmF2aWdhdGluZy5cclxuICAgICAgc3Vic2NyaWJlKHAgPT4gdGhpcy5wYWdlID0gcCk7XHJcbiAgICB0aGlzLl9mb3JtUmVmLl9zdGF0ZUNoYW5nZS5waXBlKHN0YXJ0V2l0aCgpKS5cclxuICAgICAgc3Vic2NyaWJlKCgpID0+IHRoaXMuaGVscCA9IHRoaXMuX2Zvcm1SZWYuaGVscCk7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IEZvcm1SZWYsIHVzZVZhbHVlOiB0aGlzLl9mb3JtUmVmXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgcHJvdmlkZTogRE9DVU1FTlRfTU9ERUwsIHVzZVZhbHVlOiB0aGlzLm1vZGVsXHJcbiAgICAgICAgfVxyXG4gICAgICBdLCBwYXJlbnQ6IHRoaXMuX2luamVjdG9yXHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5fY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wLCB7IGluamVjdG9yIH0pO1xyXG5cclxuICAgIHRoaXMuX2luc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIEZvcm1Db21wb25lbnQ8YW55PjtcclxuICAgIHRoaXMuX2Zvcm1SZWYuX21vZGUgPSB0aGlzLl9pbnN0YW5jZS5tb2RlID0gdGhpcy5tb2RlO1xyXG4gICAgdGhpcy5faW5zdGFuY2UuZm9ybS5zdGF0dXNDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBjb25zdCB7IGRpcnR5LCB2YWxpZCB9ID0gdGhpcy5faW5zdGFuY2UuZm9ybTtcclxuICAgICAgdGhpcy5kaXJ0eSA9IGRpcnR5O1xyXG4gICAgICB0aGlzLmRpcnR5Q2hhbmdlLmVtaXQoZGlydHkpO1xyXG4gICAgICB0aGlzLnZhbGlkID0gdmFsaWQ7XHJcbiAgICAgIHRoaXMudmFsaWRDaGFuZ2UuZW1pdCh2YWxpZCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubW9kZWwuZHJhZnQgJiYgdGhpcy5faW5zdGFuY2UuZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSksXHJcbiAgICAgIC8vZGVib3VuY2VUaW1lKFJFUE9SVF9FRElUSU5HX0RFTEFZKSxcclxuICAgICAgLy90YXAoKCkgPT4gIXRoaXMud29ya2luZyAmJiB0aGlzLl9tYWlsYm94LmVkaXRpbmcodGhpcy5tb2RlbC5kb2N1bWVudElkKSksXHJcbiAgICAgIGRlYm91bmNlVGltZShBVVRPX1NBVkVfREVMQVkpXHJcbiAgICApLnN1YnNjcmliZSgoKSA9PiAhdGhpcy53b3JraW5nICYmIHRoaXMuZGlydHkgJiZcclxuICAgICAgdGhpcy5zYXZlKGZhbHNlKS5zdWJzY3JpYmUoKSk7XHJcbiAgICB0aGlzLl9pbnN0YW5jZS5vbkJpbmQodGhpcy5tb2RlbCk7XHJcbiAgICB0aGlzLl9yZXNldCgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9maWxlQ2hhbmdlTGlzdGVuZXIoZXY6IEV2ZW50KSB7XHJcbiAgICBjb25zdCB7IGZpbGVzIH0gPSBldi50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCxcclxuICAgICAgYXJyOiBGaWxlW10gPSBbXTtcclxuICAgIGlmIChmaWxlcyAmJiBmaWxlcy5sZW5ndGgpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhcnIucHVzaChmaWxlc1tpXSk7XHJcbiAgICAgIHRoaXMudXBsb2FkKGFycikuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLl9maWxlRWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcclxuICAgICAgICB0aGlzLmF0dGFjaG1lbnRzLm5nT25DaGFuZ2VzKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9hcHBseSgpIHtcclxuICAgIGRlZXBBc3NpZ24odGhpcy5tb2RlbC5tb2RlbCwgdGhpcy5faW5zdGFuY2UuZm9ybS52YWx1ZSk7XHJcbiAgfVxyXG4gIG5hdmlnYXRlKHBhZ2U6IGFueSkge1xyXG4gICAgY29uc3QgcGFnZW4gPSBwYXJzZUludChwYWdlKTtcclxuICAgIHRoaXMuX2Zvcm1SZWYuX25hdmlnYXRpbmcubmV4dChpc05hTihwYWdlbikgPyBwYWdlIDogcGFnZW4pO1xyXG4gIH1cclxuICBwcml2YXRlIF9nZXRBY3Rpb25BZGplY3RpdmUobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5hY3Rpb25zLmZpbmQoYSA9PiBhLm5hbWUgPT09IG5hbWUpO1xyXG4gICAgcmV0dXJuIChhY3Rpb24uYWRqZWN0aXZlIHx8IGFjdGlvbi5wYXN0IHx8IGFjdGlvbi50aXRsZSkudG9Mb3dlckNhc2UoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGZlZWRiYWNrXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfc2F2ZShmZWVkYmFjazogYm9vbGVhbik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgdGhpcy53b3JraW5nID0gdHJ1ZTtcclxuICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KHRydWUpO1xyXG4gICAgY29uc3QgeyBpZCwgdmVyc2lvbiwgZm9ybUlkLCBtb2RlbCwgZHJhZnQgfSA9IHRoaXMubW9kZWw7XHJcbiAgICByZXR1cm4gdGhpcy5fbWFpbGJveC5zYXZlKGlkLCBmb3JtSWQsIHZlcnNpb24sIG1vZGVsKS5waXBlKFxyXG4gICAgICB0YXAoe1xyXG4gICAgICAgIG5leHQ6IG0gPT4ge1xyXG4gICAgICAgICAgdGhpcy5fYXNzaWduKG0sIGZhbHNlKTtcclxuICAgICAgICAgIHRoaXMuX3Jlc2V0KCk7XHJcbiAgICAgICAgICBmZWVkYmFjayAmJlxyXG4gICAgICAgICAgICB0aGlzLl9zYi50b2FzdChkcmFmdCA/ICdEcmFmdFNhdmVkJyA6ICdDaGFuZ2VzU2F2ZWQnKTtcclxuICAgICAgICAgIHRoaXMuc2F2ZWQuZW1pdCgpO1xyXG4gICAgICAgICAgdGhpcy53b3JraW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfSwgZXJyb3I6IGUgPT4ge1xyXG4gICAgICAgICAgZmVlZGJhY2sgJiZcclxuICAgICAgICAgICAgdGhpcy5faGFuZGxlRXJyb3IoZSwgJ1NhdmVFcnInKTtcclxuICAgICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksIG1hcCgoKSA9PiB0cnVlKSk7XHJcbiAgfVxyXG4gIHVwbG9hZChmaWxlczogRmlsZVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHRoaXMud29ya2luZyA9IHRydWU7XHJcbiAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdCh0cnVlKTtcclxuICAgIGxldCBleGlzdHM6IGJvb2xlYW47XHJcbiAgICBjb25zdCBvYnNlcnZhYmxlcyA9IFtdIGFzIE9ic2VydmFibGU8YW55PltdO1xyXG4gICAgZmlsZXMuZm9yRWFjaChmID0+IHtcclxuICAgICAgaWYgKCFleGlzdHMpXHJcbiAgICAgICAgZXhpc3RzID0gdGhpcy5tb2RlbC5hdHRhY2htZW50cy5zb21lKGEgPT4gYS5maWxlTmFtZSA9PT0gZi5uYW1lICYmICFhLmRlbGV0ZWQgJiYgIShhIGFzIEF0dGFjaG1lbnRFeHRyYSkuZmFpbGVkKTtcclxuICAgICAgY29uc3QgcmV0cnkgPSB0aGlzLm1vZGVsLmF0dGFjaG1lbnRzLmZpbmRJbmRleChhID0+IGEuZmlsZU5hbWUgPT09IGYubmFtZSAmJiAoYSBhcyBBdHRhY2htZW50RXh0cmEpLmZhaWxlZCk7XHJcbiAgICAgIGlmIChyZXRyeSA+IC0xKVxyXG4gICAgICAgIHRoaXMubW9kZWwuYXR0YWNobWVudHMuc3BsaWNlKHJldHJ5LCAxKTtcclxuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLl9jb25zdHJ1Y3RBdHRhY2htZW50KGYpO1xyXG4gICAgICBjb25zdCBvYnNlcnZhYmxlID0gdGhpcy5fbWFpbGJveC51cGxvYWQodGhpcy5tb2RlbC5pZCwgdGhpcy5tb2RlbC5mb3JtSWQsIHRoaXMubW9kZWwudmVyc2lvbiwgZikuXHJcbiAgICAgICAgcGlwZSh0YXAoKHI6IEF0dGFjaG1lbnQpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KFxyXG4gICAgICAgICAgICAhZXhpc3RzID8gJ1VwbG9hZE9rJyA6ICdVcGxvYWRWZXJzaW9uT2snLCBmLm5hbWUpO1xyXG4gICAgICAgICAgT2JqZWN0LmFzc2lnbihtb2RlbCwgciwgeyBwcm9ncmVzczogbnVsbCwgfSk7XHJcbiAgICAgICAgICB0aGlzLm1vZGVsLmF0dGFjaG1lbnRzLnB1c2gobW9kZWwpO1xyXG4gICAgICAgICAgdGhpcy53b3JraW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfSksIGNhdGNoRXJyb3IoZSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFcnJvcihlLCAnVXBsb2FkRmFpbGVkJywgZi5uYW1lKTtcclxuICAgICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgICAgICB9KSk7XHJcbiAgICAgIG9ic2VydmFibGVzLnB1c2gob2JzZXJ2YWJsZSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBmb3JrSm9pbihvYnNlcnZhYmxlcyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NvbnN0cnVjdEF0dGFjaG1lbnQoZmlsZTogRmlsZSkge1xyXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKSwgdXRjID0gbmV3IERhdGUobm93LmdldFRpbWUoKSArIG5vdy5nZXRUaW1lem9uZU9mZnNldCgpICogNjAwMDApO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdXNlcklkOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUudXNlcklkLFxyXG4gICAgICBieUlkOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYnlJZCxcclxuICAgICAgdGltZTogdXRjLnRvSlNPTigpIGFzIGFueSxcclxuICAgICAgZmlsZU5hbWU6IGZpbGUubmFtZSxcclxuICAgICAgY29udGVudFR5cGU6IGZpbGUudHlwZVxyXG4gICAgfSBhcyBBdHRhY2htZW50O1xyXG4gIH1cclxuICB0YWcoZXZ0OiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLl9wb3B1cC5vcGVuKFRhZ3NDb21wb25lbnQsIChldnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCksIHtcclxuICAgICAgZGF0YTogdGhpcy5tb2RlbFxyXG4gICAgfSlcclxuICB9XHJcbiAgcHJpdmF0ZSBfcmVzZXQoKSB7XHJcbiAgICBmdW5jdGlvbiBzb3J0QWN0aW9ucyhhOiBBY3Rpb24sIGI6IEFjdGlvbikge1xyXG4gICAgICBpZiAoYS5ncm91cCAmJiBiLmdyb3VwICYmIGEuZ3JvdXAgIT09IGIuZ3JvdXApXHJcbiAgICAgICAgcmV0dXJuIGEuZ3JvdXAgPCBiLmdyb3VwID8gLTEgOiAxO1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuICAgIHRoaXMuX2luc3RhbmNlLmZvcm0ucmVzZXQodGhpcy5tb2RlbC5tb2RlbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgdGhpcy52YWxpZCA9IHRoaXMuX2luc3RhbmNlLmZvcm0udmFsaWQ7XHJcbiAgICB0aGlzLnZhbGlkQ2hhbmdlLmVtaXQodGhpcy52YWxpZCk7XHJcbiAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmRpcnR5Q2hhbmdlLmVtaXQodGhpcy5kaXJ0eSk7XHJcbiAgICB0aGlzLmFjdGlvbnMgPSB0aGlzLm1vZGVsLmFjdGlvbnMubGVuZ3RoID9cclxuICAgICAgdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuXHJcbiAgICAgICAgZmlsdGVyKGEgPT4gdGhpcy5tb2RlbC5hY3Rpb25zLmluZGV4T2YoYS5uYW1lKSA+IC0xKS5cclxuICAgICAgICBzb3J0KHNvcnRBY3Rpb25zKSA6IFtdO1xyXG4gIH1cclxuXHJcbiAgZ3VpZGUobmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9ndWlkZS5zdGFydChuYW1lKTtcclxuICB9XHJcbiAgYXR0YWNoKCkge1xyXG4gICAgY29uc3QgZWxlbSA9IHRoaXMuX2ZpbGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGVsZW0uY2xpY2soKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZmVlZGJhY2tcclxuICAgKi9cclxuICBzYXZlKGZlZWRiYWNrID0gdHJ1ZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgdGhpcy5fYXBwbHkoKTtcclxuICAgIGNvbnN0IHNhdmVBcmdzID0geyBjYW5jZWw6IGZhbHNlIH0gYXMgU2F2ZUV2ZW50QXJncztcclxuICAgIHRoaXMuX2Zvcm1SZWYuX3NhdmluZy5uZXh0KHNhdmVBcmdzKTtcclxuICAgIGlmIChzYXZlQXJncy5jYW5jZWwpXHJcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICBpZiAodGhpcy5faW5zdGFuY2Uub25TYXZlKSB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2luc3RhbmNlLm9uU2F2ZSgpO1xyXG4gICAgICBpZiAoaXNCb29sZWFuKHJlc3VsdCkpIHtcclxuICAgICAgICBpZiAoIXJlc3VsdCkge1xyXG4gICAgICAgICAgZmVlZGJhY2sgJiYgdGhpcy5fc2IudG9hc3QoJ1ZhbGlkYXRlRXJyJyk7XHJcbiAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChpc1Byb21pc2UocmVzdWx0KSlcclxuICAgICAgICByZXR1cm4gZnJvbShyZXN1bHQpLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuX3NhdmUoZmVlZGJhY2spKSk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICByZXR1cm4gcmVzdWx0LnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuX3NhdmUoZmVlZGJhY2spKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fc2F2ZShmZWVkYmFjayk7XHJcbiAgfVxyXG4gIGZsYWcoKSB7XHJcbiAgICBjb25zdCBleHRyYSA9IHRoaXMubW9kZWwgYXMgSXRlbUV4dHJhLCB7IGZsYWcgfSA9IHRoaXMubW9kZWw7XHJcbiAgICBleHRyYS53b3JraW5nID0gdHJ1ZTtcclxuICAgIHRoaXMud29ya2luZyA9IHRydWU7XHJcbiAgICB0aGlzLl9tYWlsYm94LmZsYWcodGhpcy5tb2RlbC5pZCwgIWZsYWcpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLm1vZGVsLmZsYWcgPSAhZmxhZztcclxuICAgICAgICBleHRyYS53b3JraW5nID0gZmFsc2U7XHJcbiAgICAgIH0sIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgZXh0cmEud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc3VibWl0KCkge1xyXG4gICAgdGhpcy5fYXBwbHkoKTtcclxuICAgIGNvbnN0IHsgaWQsIHZlcnNpb24sIGZvcm1JZCwgbW9kZWwsIG51bWJlciB9ID0gdGhpcy5tb2RlbDtcclxuICAgIHRoaXMud29ya2luZyA9IHRydWU7XHJcbiAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdCh0cnVlKTtcclxuICAgIHJldHVybiB0aGlzLl9tYWlsYm94LnN1Ym1pdChpZCwgdmVyc2lvbiwgZm9ybUlkLCBtb2RlbCkuXHJcbiAgICAgIHBpcGUodGFwKHtcclxuICAgICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9zYi50b2FzdCgnU3VibWl0dGVkJywgbnVtYmVyKTtcclxuICAgICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIH0sIGVycm9yOiBlID0+IHtcclxuICAgICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXJyb3IoZSwgJ1N1Ym1pdEVycicpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSkpO1xyXG4gIH1cclxuICBiYWNrKCkge1xyXG4gICAgdGhpcy5fZm9ybVJlZi5uYXZpZ2F0ZSgpO1xyXG4gIH1cclxuICBkaXNjYXJkKCkge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmUgPT4ge1xyXG4gICAgICB0aGlzLl9zYi5hc2soJ0Rpc2NhcmRBc2snLCAnRGlzY2FyZCcsIHtcclxuICAgICAgICBjb2xvcjogJ3dhcm4nLCBvazogJ0Rpc2NhcmQnXHJcbiAgICAgIH0pLnN1YnNjcmliZShvayA9PiB7XHJcbiAgICAgICAgaWYgKG9rKSB7XHJcbiAgICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdCh0cnVlKTtcclxuICAgICAgICAgIHRoaXMuX21haWxib3guZGVsZXRlKHRoaXMubW9kZWwuaWQpLlxyXG4gICAgICAgICAgICBzdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIG9ic2VydmUubmV4dCgpO1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgZXJyb3I6IGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy53b3JraW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVFcnJvcihlLCAnTmV0d29ya0VycicpO1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZS5lcnJvcigpO1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2VuZChhY3Rpb246IHN0cmluZykge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmUgPT4ge1xyXG4gICAgICB0aGlzLl9kaWFsb2cub3BlbihBY3Rpb25EaWFsb2csIHtcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBhY3Rpb24sXHJcbiAgICAgICAgICBpdGVtOiB0aGlzLm1vZGVsXHJcbiAgICAgICAgfSBhcyBBY3Rpb25EaWFsb2dEYXRhLFxyXG4gICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiB0cnVlXHJcbiAgICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGFyZ3MgPT4ge1xyXG4gICAgICAgIGlmIChhcmdzKSB7XHJcbiAgICAgICAgICB0aGlzLl9hcHBseSgpO1xyXG4gICAgICAgICAgY29uc3QgcGFyYW1zID0gcXVlcnlQYXJhbXMoYXJncyk7XHJcbiAgICAgICAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICAgICAgICBjb25zdCB7IGlkLCB2ZXJzaW9uLCBudW1iZXIsIG1vZGVsLCBmb3JtSWQgfSA9IHRoaXMubW9kZWw7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5fbWFpbGJveC5zZW5kKGlkLCB2ZXJzaW9uLCBmb3JtSWQsIG1vZGVsLCBhY3Rpb24sIHBhcmFtcykuXHJcbiAgICAgICAgICAgIHN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgICAgbmV4dDogciA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW4gPSByLnJlY2lwaWVudHMuZmlsdGVyKHIgPT4gci5vcmlnaW5JZCA9PT0gaWQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKG9yaWdpbi5sZW5ndGgpXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY291bnRzLmdldEFsbChvcmlnaW4ubWFwKHIgPT4gci51c2VySWQpKS5zdWJzY3JpYmUodSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KCdTZW50VG8nLCBudW1iZXIsIHRoaXMuX2dldEFjdGlvbkFkamVjdGl2ZShhY3Rpb24pLCB0aGlzLl90cmFuc2xhdGUuam9pbih1Lm1hcCh1ID0+IHUubmFtZSkpKSk7XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KCdTZW50JywgbnVtYmVyLCB0aGlzLl9nZXRBY3Rpb25BZGplY3RpdmUoYWN0aW9uKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIG9ic2VydmUubmV4dCgpO1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgIH0sZXJyb3I6IGUgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVFcnJvcihlLCAnU2VuZEVycicpO1xyXG4gICAgICAgICAgICAgIG9ic2VydmUuZXJyb3IoKTtcclxuICAgICAgICAgICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgIH19KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBvYnNlcnZlLmVycm9yKCk7XHJcbiAgICAgICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNvcHkoKSB7XHJcbiAgICB0aGlzLl9tYWlsYm94LmNvcHkodGhpcy5tb2RlbC5kb2N1bWVudElkKS5zdWJzY3JpYmUoe25leHQ6IGkgPT4ge1xyXG4gICAgICB0aGlzLl9zYi50b2FzdCgnQ29waWVkJywgaS5udW1iZXIgfHwgdGhpcy5mb3JtLnRpdGxlKTtcclxuICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnbWFpbGJveC9pJywgaS5pZC5lbmNvZGVJZCgpXSwge1xyXG4gICAgICAgIHN0YXRlOiB7IGl0ZW06IGkgfVxyXG4gICAgICB9KTtcclxuICAgIH0sIGVycm9yOiAoKSA9PiB0aGlzLl9zYi5lcnJvcigpfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHJlc3BvbnNlXHJcbiAgICogQHBhcmFtIGl0ZW1cclxuICAgKiBAcGFyYW0gbWVzc2FnZSByZXNvdXJjZVxyXG4gICAqIEBwYXJhbSBhcmdzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaGFuZGxlRXJyb3IocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55LCBtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IHN0cmluZ1tdKSB7XHJcbiAgICBpZiAocmVzcG9uc2UuY29uc3RydWN0b3IubmFtZSA9PT0gJ1Bvc2l0aW9uRXJyb3InKVxyXG4gICAgICBzd2l0Y2ggKHJlc3BvbnNlLmNvZGUpIHtcclxuICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignVXNlckRlbmllZEdlb0VycicpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdHZW9FcnInKTtcclxuICAgICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICBzd2l0Y2ggKHJlc3BvbnNlLnN0YXR1cykge1xyXG4gICAgICAgIGNhc2UgNDAxOlxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ1VuYXV0aG9yaXplZCcpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSA0MDk6IC8vIHZlcnNpb24gY2hhbmdlXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9iaiA9IHJlc3BvbnNlLmVycm9yIC8qIHNlcmlhbGl6ZWQgbW9kZWwgKi8gYXMgUmVjaXBpZW50TW9kZWw8YW55PjtcclxuICAgICAgICAgICAgb2JqICYmIHRoaXMuX2Fzc2lnbihvYmopO1xyXG4gICAgICAgICAgICB0aGlzLl9yZXNldCgpO1xyXG4gICAgICAgICAgICB0aGlzLl9zYi5lcnJvcignVmVyc2lvbkVycicsIHRoaXMubW9kZWwubnVtYmVyKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgY2FzZSA0MDY6IC8vIHZhbGlkYXRpb25cclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yU3RyaW5nKHJlc3BvbnNlLmVycm9yKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgNDI2OiAvLyBsaWNlbnNlIFxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ0xpY2Vuc2VFcnInKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcihtZXNzYWdlLCAuLi5hcmdzKTtcclxuICAgICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9hc3NpZ24obW9kZWw6IFJlY2lwaWVudE1vZGVsLCBlbWl0RXZlbnQ/OiBib29sZWFuKSB7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMubW9kZWwsIG1vZGVsLCB7IC8vIHByZXNlcnZlIG9iamVjdCByZWYgaW4gbW9kZWxcclxuICAgICAgbW9kZWw6IGRlZXBBc3NpZ24odGhpcy5tb2RlbC5tb2RlbCwgbW9kZWwubW9kZWwpXHJcbiAgICB9KTtcclxuICAgIGlmIChlbWl0RXZlbnQgIT09IGZhbHNlKSB7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh0aGlzLm1vZGVsKTtcclxuICAgICAgdGhpcy5fZm9ybVJlZi5fbW9kZWxDaGFuZ2UubmV4dCh0aGlzLm1vZGVsKTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZvcm0taGVhZGVyXCI+XHJcbiAgPCEtLTxiaXpkb2MtcGVvcGxlIFttb2RlbF09XCJtb2RlbFwiICpuZ0lmPVwibW9kZSAhPT0gJ2NvbXBvc2UnICYmIGNvbnRhY3RzXCI+PC9iaXpkb2MtcGVvcGxlPi0tPlxyXG4gIDxiaXpkb2MtYXR0YWNobWVudHMgW21vZGVsXT1cIm1vZGVsXCIgW2luY2x1ZGVEZWxldGVkXT1cInRydWVcIiBbdmlld2VkSW5kaWNhdG9yXT1cImZhbHNlXCI+PC9iaXpkb2MtYXR0YWNobWVudHM+XHJcbiAgPGRpdiAqbmdJZj1cIiFtb2RlbC5yZXBsaWVkICYmIG1vZGUgIT09ICdjb21wb3NlJyAmJiBtb2RlbC5ub3RlXCIgY2xhc3M9XCJjb21wb3NlLW5vdGVcIj5cclxuICAgIDxtYXQtaWNvbiBjb2xvcj1cInByaW1hcnlcIj5pbmZvPC9tYXQtaWNvbj4gPHNwYW4gY2xhc3M9XCJtYXQtYm9keS0yXCI+e3ttb2RlbC5ub3RlfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cIm1vZGVsLnRhZ3NcIj5cclxuICAgIDxzcGFuICpuZ0Zvcj1cImxldCB0YWcgb2YgbW9kZWwudGFnc1wiIGNsYXNzPVwibWF0LWNoaXAgbWF0LXN0YW5kYXJkLWNoaXAgc21hbGwtY2hpcFwiPnt7dGFnfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48bmctY29udGFpbmVyICNjb21wb25lbnQ+PC9uZy1jb250YWluZXI+XHJcbjxkaXYgKm5nSWY9XCJlZGl0aW5nXCI+e3sgZWRpdGluZyB9fTwvZGl2PlxyXG48Zm9ybSBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPjxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlIG11bHRpcGxlIC8+PC9mb3JtPlxyXG4iXX0=
@@ -113,10 +113,10 @@ export class ComposeMenuComponent {
113
113
  this._destroy.next();
114
114
  this._destroy.complete();
115
115
  }
116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ComposeMenuComponent, deps: [{ token: i1.SessionService }, { token: i2.MailboxService }, { token: i3.PromptService }, { token: i4.PanesRouter }], target: i0.ɵɵFactoryTarget.Component }); }
117
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: { change: "change" }, ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <!--<span class=\"mat-subheader\">BizDoc</span>-->\r\n <h1 class=\"mat-display-1\">{{'New'|translate}}</h1>\r\n\r\n <mat-nav-list dense>\r\n <mat-list-item *ngFor=\"let f of defaultgroup.forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\r\n <span matListItemTitle>{{f.title}}</span>\r\n </mat-list-item>\r\n <ng-container *ngFor=\"let g of groups; index as index\">\r\n <mat-divider *ngIf=\"index\"></mat-divider>\r\n <h3 matSubheader>{{g.title}}</h3>\r\n <mat-list-item *ngFor=\"let f of g.forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\r\n <span matListItemTitle>{{f.title}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n</div>\r\n<!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\r\n", styles: ["h1{font-weight:500;margin:0 16px}form{padding:8px}hr{opacity:.4}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i7.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i7.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i7.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i7.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i7.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], animations: [] }); }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ComposeMenuComponent, deps: [{ token: i1.SessionService }, { token: i2.MailboxService }, { token: i3.PromptService }, { token: i4.PanesRouter }], target: i0.ɵɵFactoryTarget.Component }); }
117
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: { change: "change" }, ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <!--<span class=\"mat-subheader\">BizDoc</span>-->\r\n <h1 class=\"mat-display-1\">{{'New'|translate}}</h1>\r\n\r\n <mat-nav-list dense>\r\n <mat-list-item *ngFor=\"let f of defaultgroup.forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\r\n <span matListItemTitle>{{f.title}}</span>\r\n </mat-list-item>\r\n <ng-container *ngFor=\"let g of groups; index as index\">\r\n <mat-divider *ngIf=\"index\"></mat-divider>\r\n <h3 matSubheader>{{g.title}}</h3>\r\n <mat-list-item *ngFor=\"let f of g.forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\r\n <span matListItemTitle>{{f.title}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n</div>\r\n<!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\r\n", styles: ["h1{font-weight:500;margin:0 16px}form{padding:8px}hr{opacity:.4}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i7.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i7.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i7.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i7.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i7.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], animations: [] }); }
118
118
  }
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ComposeMenuComponent, decorators: [{
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ComposeMenuComponent, decorators: [{
120
120
  type: Component,
121
121
  args: [{ selector: 'bizdoc-new-menu', animations: [], template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <!--<span class=\"mat-subheader\">BizDoc</span>-->\r\n <h1 class=\"mat-display-1\">{{'New'|translate}}</h1>\r\n\r\n <mat-nav-list dense>\r\n <mat-list-item *ngFor=\"let f of defaultgroup.forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\r\n <span matListItemTitle>{{f.title}}</span>\r\n </mat-list-item>\r\n <ng-container *ngFor=\"let g of groups; index as index\">\r\n <mat-divider *ngIf=\"index\"></mat-divider>\r\n <h3 matSubheader>{{g.title}}</h3>\r\n <mat-list-item *ngFor=\"let f of g.forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListItemIcon>{{f.icon || 'description'}}</mat-icon>\r\n <span matListItemTitle>{{f.title}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n</div>\r\n<!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\r\n", styles: ["h1{font-weight:500;margin:0 16px}form{padding:8px}hr{opacity:.4}\n"] }]
122
122
  }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.MailboxService }, { type: i3.PromptService }, { type: i4.PanesRouter }]; }, propDecorators: { change: [{
@@ -20,10 +20,10 @@ export class PrivilegeHiddenDirective extends PrivilegeDirectiveBase {
20
20
  if (!this.can(this.name))
21
21
  this._element.nativeElement.style.display = 'none';
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: PrivilegeHiddenDirective, deps: [{ token: DOCUMENT_MODEL }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
24
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: PrivilegeHiddenDirective, selector: "[bizdocHidden]", inputs: { name: ["bizdocHidden", "name"] }, usesInheritance: true, ngImport: i0 }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PrivilegeHiddenDirective, deps: [{ token: DOCUMENT_MODEL }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
24
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: PrivilegeHiddenDirective, selector: "[bizdocHidden]", inputs: { name: ["bizdocHidden", "name"] }, usesInheritance: true, ngImport: i0 }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: PrivilegeHiddenDirective, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PrivilegeHiddenDirective, decorators: [{
27
27
  type: Directive,
28
28
  args: [{
29
29
  selector: '[bizdocHidden]'
@@ -44,10 +44,10 @@ export class PrivilegeDisabledDirective extends PrivilegeDirectiveBase {
44
44
  if (!this.can(this.name) && this.ngControl)
45
45
  this.ngControl.control.disable();
46
46
  }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: PrivilegeDisabledDirective, deps: [{ token: DOCUMENT_MODEL }, { token: i1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
48
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: PrivilegeDisabledDirective, selector: "[bizdocDisabled]", inputs: { name: ["bizdocDisabled", "name"] }, usesInheritance: true, ngImport: i0 }); }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PrivilegeDisabledDirective, deps: [{ token: DOCUMENT_MODEL }, { token: i1.NgControl, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
48
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: PrivilegeDisabledDirective, selector: "[bizdocDisabled]", inputs: { name: ["bizdocDisabled", "name"] }, usesInheritance: true, ngImport: i0 }); }
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: PrivilegeDisabledDirective, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PrivilegeDisabledDirective, decorators: [{
51
51
  type: Directive,
52
52
  args: [{
53
53
  selector: '[bizdocDisabled]'
@@ -9,10 +9,10 @@ export class RecipientResolver {
9
9
  const id = params['id'].decodeId();
10
10
  return this._mailbox.get(id);
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RecipientResolver, deps: [{ token: i1.MailboxService }], target: i0.ɵɵFactoryTarget.Injectable }); }
13
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RecipientResolver }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: RecipientResolver, deps: [{ token: i1.MailboxService }], target: i0.ɵɵFactoryTarget.Injectable }); }
13
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: RecipientResolver }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RecipientResolver, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: RecipientResolver, decorators: [{
16
16
  type: Injectable
17
17
  }], ctorParameters: function () { return [{ type: i1.MailboxService }]; } });
18
18
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50LXJlc29sdmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvcmVjaXBpZW50LXJlc29sdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTNDLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFBb0IsUUFBd0I7UUFBeEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7SUFBSSxDQUFDO0lBQ2pELFNBQVMsQ0FBQyxNQUFnQjtRQUN4QixNQUFNLEVBQUUsR0FBSSxNQUFNLENBQUMsSUFBSSxDQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQUxRLGlCQUFpQjtrSEFBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBSZWNpcGllbnRNb2RlbCB9IGZyb20gXCIuLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBNYWlsYm94U2VydmljZSB9IGZyb20gXCIuLi9jb3JlL21haWxib3guc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQYXJhbU1hcCwgUGFuZVJlc29sdmUgfSBmcm9tIFwiLi4vY29yZS9jb25maWd1cmF0aW9uXCI7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUmVjaXBpZW50UmVzb2x2ZXIgaW1wbGVtZW50cyBQYW5lUmVzb2x2ZTxSZWNpcGllbnRNb2RlbDxhbnk+PiB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9tYWlsYm94OiBNYWlsYm94U2VydmljZSkgeyB9XHJcbiAgICBvblJlc29sdmUocGFyYW1zOiBQYXJhbU1hcCk6IE9ic2VydmFibGU8UmVjaXBpZW50TW9kZWw8YW55Pj4ge1xyXG4gICAgICBjb25zdCBpZCA9IChwYXJhbXNbJ2lkJ10gYXMgc3RyaW5nKS5kZWNvZGVJZCgpO1xyXG4gICAgICByZXR1cm4gdGhpcy5fbWFpbGJveC5nZXQoaWQpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -25,10 +25,10 @@ export class StateDirective {
25
25
  else
26
26
  this._element.nativeElement.innerText = this.stateId;
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: StateDirective, deps: [{ token: i1.SessionService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
29
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: StateDirective, selector: "bizdoc-status", inputs: { stateId: "stateId" }, usesOnChanges: true, ngImport: i0 }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StateDirective, deps: [{ token: i1.SessionService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
29
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: StateDirective, selector: "bizdoc-status", inputs: { stateId: "stateId" }, usesOnChanges: true, ngImport: i0 }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: StateDirective, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: StateDirective, decorators: [{
32
32
  type: Directive,
33
33
  args: [{ selector: 'bizdoc-status' }]
34
34
  }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i0.ElementRef }]; }, propDecorators: { stateId: [{
@@ -70,10 +70,10 @@ export class TagsComponent {
70
70
  this._destroy.next();
71
71
  this._destroy.complete();
72
72
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TagsComponent, deps: [{ token: POPUP_DATA }, { token: i1.MailboxService }, { token: i2.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: TagsComponent, selector: "ng-component", viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "auto", first: true, predicate: ["auto"], descendants: true, static: true }], ngImport: i0, template: "<mat-form-field floatLabel=\"never\">\r\n <mat-chip-grid #chipList [attr.aria-label]=\"'Tags'|translate\">\r\n <mat-chip *ngFor=\"let item of tags\" [selectable]=\"true\"\r\n [removable]=\"true\" (removed)=\"remove(item)\">\r\n {{item}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-grid>\r\n <input [placeholder]=\"'TagsHint'|translate\"\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipList\"\r\n [formControl]=\"control\"\r\n #input autocomplete=\"off\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"add($event)\">\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\">\r\n <mat-option *ngFor=\"let item of options | async\" [value]=\"item\">\r\n {{item}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n", styles: [":host{padding:8px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "role", "id", "aria-label", "aria-description", "value", "removable", "highlighted"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i5.MatChipGrid, selector: "mat-chip-grid", inputs: ["tabIndex", "disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i5.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i5.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] }); }
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TagsComponent, deps: [{ token: POPUP_DATA }, { token: i1.MailboxService }, { token: i2.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TagsComponent, selector: "ng-component", viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "auto", first: true, predicate: ["auto"], descendants: true, static: true }], ngImport: i0, template: "<mat-form-field floatLabel=\"never\">\r\n <mat-chip-grid #chipList [attr.aria-label]=\"'Tags'|translate\">\r\n <mat-chip *ngFor=\"let item of tags\" [selectable]=\"true\"\r\n [removable]=\"true\" (removed)=\"remove(item)\">\r\n {{item}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-grid>\r\n <input [placeholder]=\"'TagsHint'|translate\"\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipList\"\r\n [formControl]=\"control\"\r\n #input autocomplete=\"off\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"add($event)\">\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\">\r\n <mat-option *ngFor=\"let item of options | async\" [value]=\"item\">\r\n {{item}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n", styles: [":host{padding:8px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "role", "id", "aria-label", "aria-description", "value", "removable", "highlighted"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i5.MatChipGrid, selector: "mat-chip-grid", inputs: ["tabIndex", "disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i5.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i5.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] }); }
75
75
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TagsComponent, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TagsComponent, decorators: [{
77
77
  type: Component,
78
78
  args: [{ template: "<mat-form-field floatLabel=\"never\">\r\n <mat-chip-grid #chipList [attr.aria-label]=\"'Tags'|translate\">\r\n <mat-chip *ngFor=\"let item of tags\" [selectable]=\"true\"\r\n [removable]=\"true\" (removed)=\"remove(item)\">\r\n {{item}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-grid>\r\n <input [placeholder]=\"'TagsHint'|translate\"\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipList\"\r\n [formControl]=\"control\"\r\n #input autocomplete=\"off\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"add($event)\">\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"selected($event)\">\r\n <mat-option *ngFor=\"let item of options | async\" [value]=\"item\">\r\n {{item}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n", styles: [":host{padding:8px}\n"] }]
79
79
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -666,10 +666,10 @@ export class FlowViewComponent extends TraceBase {
666
666
  this.diagram && this.diagram.destroy();
667
667
  super.ngOnDestroy();
668
668
  }
669
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: FlowViewComponent, deps: [{ token: i1.AccountService }, { token: i2.SessionService }, { token: i3.TranslateService }, { token: i4.DurationFormatPipe }, { token: i0.ElementRef }, { token: i5.HubService }], target: i0.ɵɵFactoryTarget.Component }); }
670
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: FlowViewComponent, selector: "bizdoc-flow", inputs: { model: "model", connectorType: "connectorType" }, host: { attributes: { "dir": "ltr" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [":host{background-color:transparent!important}\n"], viewProviders: [ComplexHierarchicalTreeService] }); }
669
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FlowViewComponent, deps: [{ token: i1.AccountService }, { token: i2.SessionService }, { token: i3.TranslateService }, { token: i4.DurationFormatPipe }, { token: i0.ElementRef }, { token: i5.HubService }], target: i0.ɵɵFactoryTarget.Component }); }
670
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: FlowViewComponent, selector: "bizdoc-flow", inputs: { model: "model", connectorType: "connectorType" }, host: { attributes: { "dir": "ltr" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [":host{background-color:transparent!important}\n"], viewProviders: [ComplexHierarchicalTreeService] }); }
671
671
  }
672
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: FlowViewComponent, decorators: [{
672
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: FlowViewComponent, decorators: [{
673
673
  type: Component,
674
674
  args: [{ selector: 'bizdoc-flow', template: '', viewProviders: [ComplexHierarchicalTreeService], host: {
675
675
  dir: 'ltr'
@@ -19,10 +19,10 @@ export class PeopleComponent {
19
19
  _push(...userId) {
20
20
  userId.forEach(u => u && this._userIds.indexOf(u) < 0 && u !== this._me && this._userIds.push(u));
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: PeopleComponent, deps: [{ token: i1.AccountService }, { token: i2.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: PeopleComponent, selector: "bizdoc-people", inputs: { model: "model" }, host: { classAttribute: "bizdoc-people" }, usesOnChanges: true, ngImport: i0, template: `<bizdoc-avatar *ngFor="let p of people" [person]="p"></bizdoc-avatar>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.AvatarComponent, selector: "bizdoc-avatar", inputs: ["person", "interactive", "dense"] }] }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PeopleComponent, deps: [{ token: i1.AccountService }, { token: i2.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PeopleComponent, selector: "bizdoc-people", inputs: { model: "model" }, host: { classAttribute: "bizdoc-people" }, usesOnChanges: true, ngImport: i0, template: `<bizdoc-avatar *ngFor="let p of people" [person]="p"></bizdoc-avatar>`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.AvatarComponent, selector: "bizdoc-avatar", inputs: ["person", "interactive", "dense"] }] }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: PeopleComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PeopleComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{
28
28
  selector: 'bizdoc-people',
@@ -71,10 +71,10 @@ export class TraceBase {
71
71
  ngOnDestroy() {
72
72
  this._destroy.next();
73
73
  }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TraceBase, deps: [{ token: i1.SessionService }, { token: i2.HubService }], target: i0.ɵɵFactoryTarget.Directive }); }
75
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: TraceBase, usesOnChanges: true, ngImport: i0 }); }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TraceBase, deps: [{ token: i1.SessionService }, { token: i2.HubService }], target: i0.ɵɵFactoryTarget.Directive }); }
75
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: TraceBase, usesOnChanges: true, ngImport: i0 }); }
76
76
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TraceBase, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TraceBase, decorators: [{
78
78
  type: Directive
79
79
  }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.HubService }]; } });
80
80
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2UuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS90cmFjZS90cmFjZS5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUszQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDO0FBRWxDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUM7QUFHekIsTUFBTSxPQUFnQixTQUFTO0lBSTdCLFlBQ1ksUUFBd0IsRUFDbEMsR0FBZTtRQURMLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBSDVCLGtCQUFhLEdBQXVELEVBQUUsQ0FBQztRQUNyRSxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUl2QyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNaLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FDdkQsQ0FBQTtJQUNMLENBQUM7SUFDRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ00sT0FBTztRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNTLFNBQVMsQ0FBQyxJQUFZO1FBQzlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxR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LFVBQVUsQ0FBQyxNQUFNO2dCQUFFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNqRSxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQzdCLFFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQzlFLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTt3QkFDaEQsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2lCQUNqQztpQkFDSSxJQUFJLElBQUksQ0FBQyxZQUFZO2dCQUN4QixHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztTQUN0RDtRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OEdBbEVtQixTQUFTO2tHQUFULFNBQVM7OzJGQUFULFNBQVM7a0JBRDlCLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgTm9kZUluZm8sIERvY3VtZW50TW9kZWwgfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2h1Yi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQgY29uc3QgU1RBUlRfTk9ERSA9ICdzdGFydCc7XHJcblxyXG5leHBvcnQgY29uc3QgWW91ID0gJ3lvdSc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYWNlQmFzZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgYWJzdHJhY3QgbW9kZWw6IERvY3VtZW50TW9kZWw8YW55PjtcclxuICBwcml2YXRlIF9zdGFuZGFyZFRpbWU6IHsgW25vZGVJZDogc3RyaW5nXTogeyBtaW46IG51bWJlcjsgbWF4OiBudW1iZXIgfSB9ID0ge307XHJcbiAgcHJvdGVjdGVkIF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBodWI6IEh1YlNlcnZpY2UpIHtcclxuICAgIGh1Yi51cGRhdGUkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKGUgPT4gXHJcbiAgICAgICAgZS5tb2RlbC5pZCA9PT0gdGhpcy5tb2RlbC5kb2N1bWVudElkICYmIHRoaXMucmVmcmVzaCgpXHJcbiAgICAgIClcclxuICB9XHJcbiAgb25Mb2FkKCk6IE9ic2VydmFibGU8YW55PiB8IG51bGwge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIHB1YmxpYyByZWZyZXNoKCkge1xyXG4gICAgdGhpcy5uZ09uQ2hhbmdlcyhudWxsKTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIF9yb2xlTmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgcm9sZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5yb2xlcy5maW5kKHIgPT4gci5uYW1lID09PSBuYW1lKTtcclxuICAgIHJldHVybiByb2xlID8gcm9sZS50aXRsZSA6IG5hbWU7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKF86IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuX2luaXRpYWxpemUoKTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IF9pbml0aWFsaXplKCk7XHJcbiAgcHJvdGVjdGVkIHJlc2V0RXN0aW1hdGVUaW1lKCkgeyB0aGlzLl9zdGFuZGFyZFRpbWUgPSB7fTsgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBub2RlSWRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgX2VzdGltYXRlVGltZShub2RlOiBOb2RlSW5mbyk6IHsgbWluOiBudW1iZXI7IG1heDogbnVtYmVyIH0ge1xyXG4gICAgaWYgKHRoaXMuX3N0YW5kYXJkVGltZVtub2RlLmlkXSlcclxuICAgICAgcmV0dXJuIHRoaXMuX3N0YW5kYXJkVGltZVtub2RlLmlkXTtcclxuICAgIHRoaXMuX3N0YW5kYXJkVGltZVtub2RlLmlkXSA9IHsgbWluOiAwLCBtYXg6IDAgfTsgLy8gcmVjdXJzaXZlIHNhZmVcclxuICAgIGxldCBtaW4gPSAwLCBtYXggPSAwO1xyXG4gICAgaWYgKG5vZGUuZXN0aW1hdGUpIHtcclxuICAgICAgY29uc3QgY29ubnMgPSB0aGlzLm1vZGVsLndvcmtmbG93LmNvbm5lY3RvcnMuZmlsdGVyKGMgPT4gYy50YXJnZXRJZCA9PT0gbm9kZS5pZCk7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29ubnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBjb25zdCB7IHNvdXJjZUlkIH0gPSBjb25uc1tpXTtcclxuICAgICAgICBjb25zdCBzb3VyY2UgPSB0aGlzLm1vZGVsLndvcmtmbG93Lm5vZGVzLmZpbmQobiA9PiBuLmlkID09PSBzb3VyY2VJZCk7XHJcbiAgICAgICAgaWYgKHNvdXJjZS50eXBlID09PSBTVEFSVF9OT0RFKSBjb250aW51ZTtcclxuICAgICAgICBpZiAoIXNvdXJjZS5lc3RpbWF0ZSAmJlxyXG4gICAgICAgICAgIXRoaXMubW9kZWwucmVjaXBpZW50cy5maW5kKHIgPT4gci5ub2RlSWQgPT09IHNvdXJjZUlkICYmIHIucGVuZGluZykpIGNvbnRpbnVlO1xyXG4gICAgICAgIGNvbnN0IHsgbWluOiBjbWluLCBtYXg6IGNtYXggfSA9IHRoaXMuX2VzdGltYXRlVGltZShzb3VyY2UpO1xyXG4gICAgICAgIG1pbiA9IG1pbiA+IDAgPyBNYXRoLm1pbihtaW4sIGNtaW4pIDogY21pbixcclxuICAgICAgICAgIG1heCA9IE1hdGgubWF4KG1heCwgY21heCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG5vZGUuc3RhbmRhcmRUaW1lKVxyXG4gICAgICAgIG1pbiArPSBub2RlLnN0YW5kYXJkVGltZSwgbWF4ICs9IG5vZGUuc3RhbmRhcmRUaW1lO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IHJlY2lwaWVudHMgPSB0aGlzLm1vZGVsLnJlY2lwaWVudHMuZmlsdGVyKHIgPT4gci5ub2RlSWQgPT09IG5vZGUuaWQgJiYgIXIuZXN0aW1hdGUgJiYgci5yZXBsaWVkKTtcclxuICAgICAgaWYgKHJlY2lwaWVudHMubGVuZ3RoKSBmb3IgKGxldCBpID0gMDsgaSA8IHJlY2lwaWVudHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBjb25zdCByZWNpcGllbnQgPSByZWNpcGllbnRzW2ldLFxyXG4gICAgICAgICAgZHVyYXRpb24gPSBkYXlqcyhyZWNpcGllbnQucmVwbGllZCkuZGlmZihuZXcgRGF0ZShyZWNpcGllbnQucmVjZWl2ZWQpLCAncycpO1xyXG4gICAgICAgIG1pbiA9IG1pbiA+IDAgPyBNYXRoLm1pbihtaW4sIGR1cmF0aW9uKSA6IGR1cmF0aW9uLFxyXG4gICAgICAgICAgbWF4ID0gTWF0aC5tYXgobWF4LCBkdXJhdGlvbik7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAobm9kZS5zdGFuZGFyZFRpbWUpXHJcbiAgICAgICAgbWluICs9IG5vZGUuc3RhbmRhcmRUaW1lLCBtYXggKz0gbm9kZS5zdGFuZGFyZFRpbWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fc3RhbmRhcmRUaW1lW25vZGUuaWRdID0geyBtaW4sIG1heCB9O1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -338,10 +338,10 @@ export class TraceViewComponent extends TraceBase {
338
338
  compare(log) {
339
339
  this.versionSelected.emit(log.time);
340
340
  }
341
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TraceViewComponent, deps: [{ token: i1.SessionService }, { token: i2.TranslateService }, { token: i3.AccountService }, { token: i4.ChatInfo }, { token: i5.HubService }], target: i0.ɵɵFactoryTarget.Component }); }
342
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: TraceViewComponent, selector: "bizdoc-trace", inputs: { model: "model" }, outputs: { versionSelected: "versionSelected" }, usesInheritance: true, ngImport: i0, template: "<div class=\"nav-toolbar row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'ShowAll'|translate\"><mat-icon>filter_list</mat-icon></button>\r\n <mat-menu #menu> \r\n <button mat-menu-item (click)=\"showMode='route'\">\r\n <mat-icon>{{ showMode === 'route' ? 'check':'' }}</mat-icon>\r\n <span>{{'Route' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='active'\">\r\n <mat-icon>{{ showMode === 'active' ? 'check':'' }}</mat-icon>\r\n <span>{{'ActiveRoute' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='everything'\">\r\n <mat-icon>{{ showMode === 'everything' ? 'check':'' }}</mat-icon>\r\n <span>{{'Everything' | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<table class=\"mat-table\" @list>\r\n <tbody role=\"rowgroup\">\r\n <tr class=\"mat-row\" *ngFor=\"let l of data\" @item>\r\n <td class=\"mat-cell\">\r\n <span [innerHTML]=\"l.name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n <span *ngIf=l.role>{{'JoinComma'|translate}}{{l.role}}</span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <ng-container [ngSwitch]=\"l.type\">\r\n <ng-container *ngSwitchCase=\"'ActionTaken'\">\r\n <span [innerHTML]=\"l.action | sanitizeHtml\" (click)=\"chat($event)\" class=\"to\"></span>\r\n </ng-container>\r\n <span *ngSwitchCase=\"'Submit'\">{{'Issued' | translate}}</span>\r\n <span *ngSwitchCase=\"'Pending'\">{{'IsPending' | translate}}</span>\r\n <span *ngSwitchCase=\"'CheckOut'\">{{'CheckedIn' | translate : l.fileName}}</span>\r\n <span *ngSwitchCase=\"'CheckIn'\">{{'CheckedOut' | translate : l.fileName}}</span>\r\n <span *ngSwitchCase=\"'Estimate'\">{{'Estimate' | translate}}</span>\r\n <span *ngSwitchCase=\"'ModelChange'\">{{'Changed' | translate}}</span>\r\n </ng-container>\r\n <span *ngIf=\"l.fyi\">&nbsp;{{'FYI'|translate}}</span>\r\n </td>\r\n <td class=\"mat-cell\" [ngSwitch]=\"l.estimate\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n <span *ngIf=\"l.durationMax && l.durationMax === l.durationMin\" [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTime'| translate : (l.durationMax | amDuration:'s')}}</span>\r\n <span *ngIf=\"l.durationMax && l.durationMax !== l.durationMin\"\r\n [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTimeRange'| translate : (l.durationMin | amDuration:'s') : (l.durationMax | amDuration:'s')}}</span>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <span>{{l.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n <span *ngIf=\"l.duration\" [bizdocTooltip]=\"l.duration|amDurationFormat\" class=\"duration\">&nbsp;({{l.duration | amDuration:'s'}})</span>\r\n </ng-container>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"l.note\">{{l.note}}</span>\r\n <button mat-icon-button *ngIf=\"l.type==='ModelChange'\" (click)=\"compare(l)\" [bizdocTooltip]=\"'Compare'|translate\" bizdocTooltipPosition=\"start\"><mat-icon>more_horiz</mat-icon></button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n", styles: [":host{width:100%}table{width:100%;background:transparent}table td{padding:0 4px}.duration{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i10.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i11.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i12.DurationPipe, name: "amDuration" }, { kind: "pipe", type: i13.DurationFormatPipe, name: "amDurationFormat" }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }, { kind: "pipe", type: i15.SanitizeHtmlPipe, name: "sanitizeHtml" }], animations: [listAnimation, itemAnimation] }); }
341
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TraceViewComponent, deps: [{ token: i1.SessionService }, { token: i2.TranslateService }, { token: i3.AccountService }, { token: i4.ChatInfo }, { token: i5.HubService }], target: i0.ɵɵFactoryTarget.Component }); }
342
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TraceViewComponent, selector: "bizdoc-trace", inputs: { model: "model" }, outputs: { versionSelected: "versionSelected" }, usesInheritance: true, ngImport: i0, template: "<div class=\"nav-toolbar row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'ShowAll'|translate\"><mat-icon>filter_list</mat-icon></button>\r\n <mat-menu #menu> \r\n <button mat-menu-item (click)=\"showMode='route'\">\r\n <mat-icon>{{ showMode === 'route' ? 'check':'' }}</mat-icon>\r\n <span>{{'Route' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='active'\">\r\n <mat-icon>{{ showMode === 'active' ? 'check':'' }}</mat-icon>\r\n <span>{{'ActiveRoute' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='everything'\">\r\n <mat-icon>{{ showMode === 'everything' ? 'check':'' }}</mat-icon>\r\n <span>{{'Everything' | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<table class=\"mat-table\" @list>\r\n <tbody role=\"rowgroup\">\r\n <tr class=\"mat-row\" *ngFor=\"let l of data\" @item>\r\n <td class=\"mat-cell\">\r\n <span [innerHTML]=\"l.name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n <span *ngIf=l.role>{{'JoinComma'|translate}}{{l.role}}</span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <ng-container [ngSwitch]=\"l.type\">\r\n <ng-container *ngSwitchCase=\"'ActionTaken'\">\r\n <span [innerHTML]=\"l.action | sanitizeHtml\" (click)=\"chat($event)\" class=\"to\"></span>\r\n </ng-container>\r\n <span *ngSwitchCase=\"'Submit'\">{{'Issued' | translate}}</span>\r\n <span *ngSwitchCase=\"'Pending'\">{{'IsPending' | translate}}</span>\r\n <span *ngSwitchCase=\"'CheckOut'\">{{'CheckedIn' | translate : l.fileName}}</span>\r\n <span *ngSwitchCase=\"'CheckIn'\">{{'CheckedOut' | translate : l.fileName}}</span>\r\n <span *ngSwitchCase=\"'Estimate'\">{{'Estimate' | translate}}</span>\r\n <span *ngSwitchCase=\"'ModelChange'\">{{'Changed' | translate}}</span>\r\n </ng-container>\r\n <span *ngIf=\"l.fyi\">&nbsp;{{'FYI'|translate}}</span>\r\n </td>\r\n <td class=\"mat-cell\" [ngSwitch]=\"l.estimate\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n <span *ngIf=\"l.durationMax && l.durationMax === l.durationMin\" [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTime'| translate : (l.durationMax | amDuration:'s')}}</span>\r\n <span *ngIf=\"l.durationMax && l.durationMax !== l.durationMin\"\r\n [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTimeRange'| translate : (l.durationMin | amDuration:'s') : (l.durationMax | amDuration:'s')}}</span>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <span>{{l.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n <span *ngIf=\"l.duration\" [bizdocTooltip]=\"l.duration|amDurationFormat\" class=\"duration\">&nbsp;({{l.duration | amDuration:'s'}})</span>\r\n </ng-container>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"l.note\">{{l.note}}</span>\r\n <button mat-icon-button *ngIf=\"l.type==='ModelChange'\" (click)=\"compare(l)\" [bizdocTooltip]=\"'Compare'|translate\" bizdocTooltipPosition=\"start\"><mat-icon>more_horiz</mat-icon></button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n", styles: [":host{width:100%}table{width:100%;background:transparent}table td{padding:0 4px}.duration{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i10.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i11.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i12.DurationPipe, name: "amDuration" }, { kind: "pipe", type: i13.DurationFormatPipe, name: "amDurationFormat" }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }, { kind: "pipe", type: i15.SanitizeHtmlPipe, name: "sanitizeHtml" }], animations: [listAnimation, itemAnimation] }); }
343
343
  }
344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TraceViewComponent, decorators: [{
344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TraceViewComponent, decorators: [{
345
345
  type: Component,
346
346
  args: [{ selector: 'bizdoc-trace', animations: [listAnimation, itemAnimation], template: "<div class=\"nav-toolbar row\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'ShowAll'|translate\"><mat-icon>filter_list</mat-icon></button>\r\n <mat-menu #menu> \r\n <button mat-menu-item (click)=\"showMode='route'\">\r\n <mat-icon>{{ showMode === 'route' ? 'check':'' }}</mat-icon>\r\n <span>{{'Route' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='active'\">\r\n <mat-icon>{{ showMode === 'active' ? 'check':'' }}</mat-icon>\r\n <span>{{'ActiveRoute' | translate }}</span>\r\n </button>\r\n <button mat-menu-item (click)=\"showMode='everything'\">\r\n <mat-icon>{{ showMode === 'everything' ? 'check':'' }}</mat-icon>\r\n <span>{{'Everything' | translate }}</span>\r\n </button>\r\n </mat-menu>\r\n</div>\r\n<table class=\"mat-table\" @list>\r\n <tbody role=\"rowgroup\">\r\n <tr class=\"mat-row\" *ngFor=\"let l of data\" @item>\r\n <td class=\"mat-cell\">\r\n <span [innerHTML]=\"l.name | sanitizeHtml\" (click)=\"chat($event)\"></span>\r\n <span *ngIf=l.role>{{'JoinComma'|translate}}{{l.role}}</span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <ng-container [ngSwitch]=\"l.type\">\r\n <ng-container *ngSwitchCase=\"'ActionTaken'\">\r\n <span [innerHTML]=\"l.action | sanitizeHtml\" (click)=\"chat($event)\" class=\"to\"></span>\r\n </ng-container>\r\n <span *ngSwitchCase=\"'Submit'\">{{'Issued' | translate}}</span>\r\n <span *ngSwitchCase=\"'Pending'\">{{'IsPending' | translate}}</span>\r\n <span *ngSwitchCase=\"'CheckOut'\">{{'CheckedIn' | translate : l.fileName}}</span>\r\n <span *ngSwitchCase=\"'CheckIn'\">{{'CheckedOut' | translate : l.fileName}}</span>\r\n <span *ngSwitchCase=\"'Estimate'\">{{'Estimate' | translate}}</span>\r\n <span *ngSwitchCase=\"'ModelChange'\">{{'Changed' | translate}}</span>\r\n </ng-container>\r\n <span *ngIf=\"l.fyi\">&nbsp;{{'FYI'|translate}}</span>\r\n </td>\r\n <td class=\"mat-cell\" [ngSwitch]=\"l.estimate\">\r\n <ng-container *ngSwitchCase=\"true\">\r\n <span *ngIf=\"l.durationMax && l.durationMax === l.durationMin\" [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTime'| translate : (l.durationMax | amDuration:'s')}}</span>\r\n <span *ngIf=\"l.durationMax && l.durationMax !== l.durationMin\"\r\n [bizdocTooltip]=\"l.durationMax|amDurationFormat\">{{'EstimateTimeRange'| translate : (l.durationMin | amDuration:'s') : (l.durationMax | amDuration:'s')}}</span>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <span>{{l.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n <span *ngIf=\"l.duration\" [bizdocTooltip]=\"l.duration|amDurationFormat\" class=\"duration\">&nbsp;({{l.duration | amDuration:'s'}})</span>\r\n </ng-container>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"l.note\">{{l.note}}</span>\r\n <button mat-icon-button *ngIf=\"l.type==='ModelChange'\" (click)=\"compare(l)\" [bizdocTooltip]=\"'Compare'|translate\" bizdocTooltipPosition=\"start\"><mat-icon>more_horiz</mat-icon></button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n", styles: [":host{width:100%}table{width:100%;background:transparent}table td{padding:0 4px}.duration{white-space:nowrap}\n"] }]
347
347
  }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.TranslateService }, { type: i3.AccountService }, { type: i4.ChatInfo }, { type: i5.HubService }]; }, propDecorators: { model: [{
@@ -34,10 +34,10 @@ export class TracePaneComponent {
34
34
  }
35
35
  });
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TracePaneComponent, deps: [{ token: i1.TranslateService }, { token: i2.PaneRef }, { token: i3.PanesRouter }], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: TracePaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, viewQueries: [{ propertyName: "trace", first: true, predicate: TraceViewComponent, descendants: true, static: true }, { propertyName: "flow", first: true, predicate: FlowViewComponent, descendants: true, static: true }], ngImport: i0, template: "<bizdoc-trace [model]=\"model\" (versionSelected)=\"version($event)\"></bizdoc-trace>\r\n\r\n<bizdoc-flow [model]=\"model\"></bizdoc-flow>\r\n", styles: [":host{padding:0 8px;display:block;min-width:400px}\n"], dependencies: [{ kind: "component", type: i4.TraceViewComponent, selector: "bizdoc-trace", inputs: ["model"], outputs: ["versionSelected"] }, { kind: "component", type: i5.FlowViewComponent, selector: "bizdoc-flow", inputs: ["model", "connectorType"] }] }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TracePaneComponent, deps: [{ token: i1.TranslateService }, { token: i2.PaneRef }, { token: i3.PanesRouter }], target: i0.ɵɵFactoryTarget.Component }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TracePaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, viewQueries: [{ propertyName: "trace", first: true, predicate: TraceViewComponent, descendants: true, static: true }, { propertyName: "flow", first: true, predicate: FlowViewComponent, descendants: true, static: true }], ngImport: i0, template: "<bizdoc-trace [model]=\"model\" (versionSelected)=\"version($event)\"></bizdoc-trace>\r\n\r\n<bizdoc-flow [model]=\"model\"></bizdoc-flow>\r\n", styles: [":host{padding:0 8px;display:block;min-width:400px}\n"], dependencies: [{ kind: "component", type: i4.TraceViewComponent, selector: "bizdoc-trace", inputs: ["model"], outputs: ["versionSelected"] }, { kind: "component", type: i5.FlowViewComponent, selector: "bizdoc-flow", inputs: ["model", "connectorType"] }] }); }
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: TracePaneComponent, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TracePaneComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ host: {
43
43
  class: 'pane'