@bizdoc/core 1.17.5 → 1.17.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/assets/themes/brown.min.css +1 -1
  2. package/assets/themes/dark.min.css +1 -1
  3. package/assets/themes/deep-purple-light-blue.min.css +1 -1
  4. package/assets/themes/deep-purple-teal.min.css +1 -1
  5. package/assets/themes/default.min.css +1 -1
  6. package/assets/themes/green.min.css +1 -1
  7. package/assets/themes/indigo.min.css +1 -1
  8. package/esm2020/lib/admin/admin-dismiss.service.mjs +3 -3
  9. package/esm2020/lib/admin/admin-menu.component.mjs +3 -3
  10. package/esm2020/lib/admin/architecture/cube-axes-filter.component.mjs +14 -15
  11. package/esm2020/lib/admin/architecture/designer-element.component.mjs +17 -17
  12. package/esm2020/lib/admin/architecture/designer-privileges.component.mjs +3 -3
  13. package/esm2020/lib/admin/architecture/designer.base.mjs +9 -9
  14. package/esm2020/lib/admin/architecture/designer.component.mjs +16 -17
  15. package/esm2020/lib/admin/architecture/elements/action.component.mjs +3 -3
  16. package/esm2020/lib/admin/architecture/elements/analysis-view.component.mjs +3 -3
  17. package/esm2020/lib/admin/architecture/elements/analysis-widget.component.mjs +3 -3
  18. package/esm2020/lib/admin/architecture/elements/anomaly-rule.component.mjs +3 -3
  19. package/esm2020/lib/admin/architecture/elements/attribute.component.mjs +3 -3
  20. package/esm2020/lib/admin/architecture/elements/box-form.component.mjs +3 -3
  21. package/esm2020/lib/admin/architecture/elements/configuration-datasource.component.mjs +3 -3
  22. package/esm2020/lib/admin/architecture/elements/control.component.mjs +3 -3
  23. package/esm2020/lib/admin/architecture/elements/cube-index-utility.component.mjs +3 -3
  24. package/esm2020/lib/admin/architecture/elements/cube-view.component.mjs +3 -3
  25. package/esm2020/lib/admin/architecture/elements/cube.component.mjs +24 -25
  26. package/esm2020/lib/admin/architecture/elements/documents-report.component.mjs +3 -3
  27. package/esm2020/lib/admin/architecture/elements/documents-widget.component.mjs +3 -3
  28. package/esm2020/lib/admin/architecture/elements/explore-view.component.mjs +3 -3
  29. package/esm2020/lib/admin/architecture/elements/feedback-widget.component.mjs +3 -3
  30. package/esm2020/lib/admin/architecture/elements/folder.component.mjs +3 -3
  31. package/esm2020/lib/admin/architecture/elements/form-invite.dialog.mjs +14 -14
  32. package/esm2020/lib/admin/architecture/elements/form.component.mjs +39 -27
  33. package/esm2020/lib/admin/architecture/elements/guide.component.mjs +3 -3
  34. package/esm2020/lib/admin/architecture/elements/matrix-view.component.mjs +3 -3
  35. package/esm2020/lib/admin/architecture/elements/node.component.mjs +3 -3
  36. package/esm2020/lib/admin/architecture/elements/parallel-view.component.mjs +3 -3
  37. package/esm2020/lib/admin/architecture/elements/performance-report.component.mjs +3 -3
  38. package/esm2020/lib/admin/architecture/elements/performance-widget.component.mjs +3 -3
  39. package/esm2020/lib/admin/architecture/elements/pivot-view.component.mjs +3 -3
  40. package/esm2020/lib/admin/architecture/elements/policy.component.mjs +3 -3
  41. package/esm2020/lib/admin/architecture/elements/report.component.mjs +3 -3
  42. package/esm2020/lib/admin/architecture/elements/return-to-role-action.component.mjs +3 -3
  43. package/esm2020/lib/admin/architecture/elements/role.component.mjs +3 -3
  44. package/esm2020/lib/admin/architecture/elements/rule.component.mjs +3 -3
  45. package/esm2020/lib/admin/architecture/elements/state.component.mjs +3 -3
  46. package/esm2020/lib/admin/architecture/elements/sum-view.component.mjs +3 -3
  47. package/esm2020/lib/admin/architecture/elements/tasks-report.component.mjs +3 -3
  48. package/esm2020/lib/admin/architecture/elements/type.component.mjs +3 -3
  49. package/esm2020/lib/admin/architecture/elements/usage-report.component.mjs +3 -3
  50. package/esm2020/lib/admin/architecture/elements/utility.component.mjs +3 -3
  51. package/esm2020/lib/admin/architecture/elements/view.component.mjs +3 -3
  52. package/esm2020/lib/admin/architecture/elements/widget.component.mjs +3 -3
  53. package/esm2020/lib/admin/architecture/icon-picker.component.mjs +3 -3
  54. package/esm2020/lib/admin/core/ace.input.mjs +3 -3
  55. package/esm2020/lib/admin/core/color-picker.input.mjs +3 -3
  56. package/esm2020/lib/admin/core/localized-string.component.mjs +7 -6
  57. package/esm2020/lib/admin/core/search.input.mjs +3 -3
  58. package/esm2020/lib/admin/diff/configuration-diff.component.mjs +19 -20
  59. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +24 -25
  60. package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +13 -14
  61. package/esm2020/lib/admin/document-trace/trace-element.component.mjs +14 -15
  62. package/esm2020/lib/admin/form/designer/box-designer.component.mjs +6 -6
  63. package/esm2020/lib/admin/form/designer/properties.component.mjs +3 -3
  64. package/esm2020/lib/admin/form/designer/section.component.mjs +3 -3
  65. package/esm2020/lib/admin/form/designer/settings.component.mjs +3 -3
  66. package/esm2020/lib/admin/form/form.resolve.service.mjs +3 -3
  67. package/esm2020/lib/admin/form/workflow/node.component.mjs +11 -12
  68. package/esm2020/lib/admin/form/workflow/role-node.component.mjs +17 -18
  69. package/esm2020/lib/admin/form/workflow/workflow.component.mjs +12 -14
  70. package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +3 -3
  71. package/esm2020/lib/admin/patterns/patterns.component.mjs +23 -24
  72. package/esm2020/lib/admin/permissions/permissions.component.mjs +3 -3
  73. package/esm2020/lib/admin/positions/positions-popup.component.mjs +3 -3
  74. package/esm2020/lib/admin/positions/positions.component.mjs +24 -25
  75. package/esm2020/lib/admin/profiler/outofoffice.component.mjs +16 -17
  76. package/esm2020/lib/admin/profiler/profiler.component.mjs +20 -21
  77. package/esm2020/lib/admin/system.service.mjs +3 -3
  78. package/esm2020/lib/admin/utility-wrapper.component.mjs +3 -3
  79. package/esm2020/lib/admin/utility.pane.component.mjs +3 -3
  80. package/esm2020/lib/app.component.mjs +6 -6
  81. package/esm2020/lib/bizdoc.module.mjs +4 -4
  82. package/esm2020/lib/browse/browse-items.component.mjs +24 -25
  83. package/esm2020/lib/browse/browse.mobile.component.mjs +17 -18
  84. package/esm2020/lib/browse/browse.pane.component.mjs +15 -16
  85. package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +15 -16
  86. package/esm2020/lib/browse/filter/filter.component.mjs +15 -16
  87. package/esm2020/lib/browse/folders-menu.component.mjs +3 -3
  88. package/esm2020/lib/chat/chat-info.mjs +3 -3
  89. package/esm2020/lib/chat/chat.mobile.component.mjs +7 -8
  90. package/esm2020/lib/chat/chat.service.mjs +3 -3
  91. package/esm2020/lib/chat/contacts.component.mjs +6 -6
  92. package/esm2020/lib/chat/contacts.pane.component.mjs +3 -3
  93. package/esm2020/lib/chat/conversation.component.mjs +3 -3
  94. package/esm2020/lib/chat/conversation.pane.component.mjs +3 -3
  95. package/esm2020/lib/compose/action/action-picker.component.mjs +3 -3
  96. package/esm2020/lib/compose/action/action.dialog.mjs +10 -11
  97. package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +3 -3
  98. package/esm2020/lib/compose/action/assign-action.component.mjs +12 -13
  99. package/esm2020/lib/compose/action/moveto-action.component.mjs +14 -15
  100. package/esm2020/lib/compose/action/return-action.component.mjs +12 -13
  101. package/esm2020/lib/compose/attachments/attachments.component.mjs +3 -3
  102. package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +10 -11
  103. package/esm2020/lib/compose/attachments/progress-button.directive.mjs +3 -3
  104. package/esm2020/lib/compose/box/box.component.mjs +9 -10
  105. package/esm2020/lib/compose/box/control.component.mjs +3 -3
  106. package/esm2020/lib/compose/box/row.component.mjs +3 -3
  107. package/esm2020/lib/compose/can-deactivate-changes.service.mjs +3 -3
  108. package/esm2020/lib/compose/comments/comment.component.mjs +16 -17
  109. package/esm2020/lib/compose/comments/comments.component.mjs +10 -11
  110. package/esm2020/lib/compose/comments/comments.pane.component.mjs +3 -3
  111. package/esm2020/lib/compose/comments/edit-comment.component.mjs +3 -3
  112. package/esm2020/lib/compose/comments/edits.component.mjs +3 -3
  113. package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
  114. package/esm2020/lib/compose/comments/votes.component.mjs +3 -3
  115. package/esm2020/lib/compose/compose-resolve.service.mjs +6 -6
  116. package/esm2020/lib/compose/compose.mobile.component.mjs +3 -3
  117. package/esm2020/lib/compose/compose.pane.component.mjs +3 -3
  118. package/esm2020/lib/compose/copy/copy.dialog.mjs +3 -3
  119. package/esm2020/lib/compose/dismiss.service.mjs +3 -3
  120. package/esm2020/lib/compose/document-resolver.service.mjs +3 -3
  121. package/esm2020/lib/compose/document.component.mjs +3 -3
  122. package/esm2020/lib/compose/document.mobile.component.mjs +3 -3
  123. package/esm2020/lib/compose/document.pane.component.mjs +3 -3
  124. package/esm2020/lib/compose/events/events.component.mjs +3 -3
  125. package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  126. package/esm2020/lib/compose/form.component.mjs +3 -3
  127. package/esm2020/lib/compose/new-menu.component.mjs +3 -3
  128. package/esm2020/lib/compose/privilage.directive.mjs +6 -6
  129. package/esm2020/lib/compose/recipient-resolver.service.mjs +3 -3
  130. package/esm2020/lib/compose/state.component.mjs +3 -3
  131. package/esm2020/lib/compose/tag/tags.component.mjs +3 -3
  132. package/esm2020/lib/compose/trace/flow.component.mjs +3 -3
  133. package/esm2020/lib/compose/trace/people.component.mjs +3 -3
  134. package/esm2020/lib/compose/trace/trace.base.mjs +3 -3
  135. package/esm2020/lib/compose/trace/trace.component.mjs +3 -3
  136. package/esm2020/lib/compose/trace/trace.pane.component.mjs +3 -3
  137. package/esm2020/lib/compose/version-compare/version-compare.component.mjs +3 -3
  138. package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  139. package/esm2020/lib/compose/version-compare/version.pane.component.mjs +3 -3
  140. package/esm2020/lib/core/NgComponentOutlet.mjs +3 -3
  141. package/esm2020/lib/core/account.service.mjs +3 -3
  142. package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  143. package/esm2020/lib/core/avatar/avatar.component.mjs +3 -3
  144. package/esm2020/lib/core/checkbox.mjs +3 -3
  145. package/esm2020/lib/core/component-factory-resolver.mjs +3 -3
  146. package/esm2020/lib/core/datasource.service.mjs +3 -3
  147. package/esm2020/lib/core/fields/address.designer.mjs +3 -3
  148. package/esm2020/lib/core/fields/address.field.mjs +3 -3
  149. package/esm2020/lib/core/fields/autocomplete.field.mjs +6 -6
  150. package/esm2020/lib/core/fields/checkbox.designer.mjs +3 -3
  151. package/esm2020/lib/core/fields/checkbox.field.mjs +3 -3
  152. package/esm2020/lib/core/fields/checklist.designer.mjs +3 -3
  153. package/esm2020/lib/core/fields/checklist.field.mjs +5 -5
  154. package/esm2020/lib/core/fields/date-range.designer.mjs +3 -3
  155. package/esm2020/lib/core/fields/date-range.field.mjs +3 -3
  156. package/esm2020/lib/core/fields/date.designer.mjs +3 -3
  157. package/esm2020/lib/core/fields/date.field.mjs +3 -3
  158. package/esm2020/lib/core/fields/expression.field.mjs +3 -3
  159. package/esm2020/lib/core/fields/file.designer.mjs +3 -3
  160. package/esm2020/lib/core/fields/file.field.mjs +3 -3
  161. package/esm2020/lib/core/fields/html.designer.mjs +3 -3
  162. package/esm2020/lib/core/fields/html.field.mjs +3 -3
  163. package/esm2020/lib/core/fields/input.designer.mjs +3 -3
  164. package/esm2020/lib/core/fields/input.field.mjs +3 -3
  165. package/esm2020/lib/core/fields/localized-string.field.mjs +5 -5
  166. package/esm2020/lib/core/fields/numeric.designer.mjs +3 -3
  167. package/esm2020/lib/core/fields/numeric.field.mjs +3 -3
  168. package/esm2020/lib/core/fields/options.base.mjs +6 -6
  169. package/esm2020/lib/core/fields/options.component.mjs +3 -3
  170. package/esm2020/lib/core/fields/radio-button.designer.mjs +3 -3
  171. package/esm2020/lib/core/fields/radio-button.field.mjs +3 -3
  172. package/esm2020/lib/core/fields/select.designer.mjs +3 -3
  173. package/esm2020/lib/core/fields/select.field.mjs +3 -3
  174. package/esm2020/lib/core/fields/signature.designer.mjs +3 -3
  175. package/esm2020/lib/core/fields/signature.field.mjs +3 -3
  176. package/esm2020/lib/core/fields/switch.field.mjs +3 -3
  177. package/esm2020/lib/core/fields/textarea.designer.mjs +3 -3
  178. package/esm2020/lib/core/fields/textarea.field.mjs +3 -3
  179. package/esm2020/lib/core/fields/timespan.field.mjs +3 -3
  180. package/esm2020/lib/core/fields/yesno.designer.mjs +3 -3
  181. package/esm2020/lib/core/fields/yesno.field.mjs +3 -3
  182. package/esm2020/lib/core/guide/guide.component.mjs +9 -10
  183. package/esm2020/lib/core/guide/guide.service.mjs +3 -3
  184. package/esm2020/lib/core/guide/help-tip.component.mjs +11 -12
  185. package/esm2020/lib/core/http.interceptor.mjs +3 -3
  186. package/esm2020/lib/core/hub.service.mjs +3 -3
  187. package/esm2020/lib/core/identity/identity.component.mjs +3 -3
  188. package/esm2020/lib/core/info/attachment-info.service.mjs +3 -3
  189. package/esm2020/lib/core/info/document-info.service.mjs +3 -3
  190. package/esm2020/lib/core/info/location-info.component.mjs +3 -3
  191. package/esm2020/lib/core/info/map-info.mjs +3 -3
  192. package/esm2020/lib/core/inputs/address.input.mjs +3 -3
  193. package/esm2020/lib/core/inputs/auto-complete.input.mjs +3 -3
  194. package/esm2020/lib/core/inputs/combination-picker-body.mjs +3 -3
  195. package/esm2020/lib/core/inputs/combination-picker.mjs +3 -3
  196. package/esm2020/lib/core/inputs/combination-pool.mjs +3 -3
  197. package/esm2020/lib/core/inputs/file.input.mjs +3 -3
  198. package/esm2020/lib/core/inputs/select.input.mjs +3 -3
  199. package/esm2020/lib/core/inputs/signature.input.mjs +3 -3
  200. package/esm2020/lib/core/inputs/time-picker.mjs +3 -3
  201. package/esm2020/lib/core/inputs/timespan.input.mjs +3 -3
  202. package/esm2020/lib/core/layout.component.mjs +4 -4
  203. package/esm2020/lib/core/lottie-animation.mjs +3 -3
  204. package/esm2020/lib/core/mailbox.service.mjs +3 -3
  205. package/esm2020/lib/core/none.component.mjs +3 -3
  206. package/esm2020/lib/core/pipes/action.pipe.mjs +3 -3
  207. package/esm2020/lib/core/pipes/calendar.pipe.mjs +3 -3
  208. package/esm2020/lib/core/pipes/date-format.pipe.mjs +3 -3
  209. package/esm2020/lib/core/pipes/daterange.pipe.mjs +6 -6
  210. package/esm2020/lib/core/pipes/difference.pipe.mjs +3 -3
  211. package/esm2020/lib/core/pipes/duration-format.pipe.mjs +3 -3
  212. package/esm2020/lib/core/pipes/duration.pipe.mjs +3 -3
  213. package/esm2020/lib/core/pipes/form.pipe.mjs +3 -3
  214. package/esm2020/lib/core/pipes/join.pipe.mjs +3 -3
  215. package/esm2020/lib/core/pipes/localized-string.pipe.mjs +3 -3
  216. package/esm2020/lib/core/pipes/role.pipe.mjs +3 -3
  217. package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  218. package/esm2020/lib/core/pipes/sort.pipe.mjs +6 -6
  219. package/esm2020/lib/core/pipes/state.pipe.mjs +3 -3
  220. package/esm2020/lib/core/pipes/time-ago.pipe.mjs +6 -6
  221. package/esm2020/lib/core/pipes/translate.pipe.mjs +9 -9
  222. package/esm2020/lib/core/pipes/type-value.pipe.mjs +3 -3
  223. package/esm2020/lib/core/pipes/user-name.pipe.mjs +3 -3
  224. package/esm2020/lib/core/popup/popup.component.mjs +3 -3
  225. package/esm2020/lib/core/popup/popup.service.mjs +3 -3
  226. package/esm2020/lib/core/popup/tooltip.directive.mjs +6 -6
  227. package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  228. package/esm2020/lib/core/prompt/mask/mask.component.mjs +3 -3
  229. package/esm2020/lib/core/prompt.service.mjs +3 -3
  230. package/esm2020/lib/core/router.mjs +6 -6
  231. package/esm2020/lib/core/save-changes.dialog.mjs +3 -3
  232. package/esm2020/lib/core/session.service.mjs +3 -3
  233. package/esm2020/lib/core/slots/router.directive.mjs +3 -3
  234. package/esm2020/lib/core/slots/router.service.mjs +3 -3
  235. package/esm2020/lib/core/slots/slots.component.mjs +5 -5
  236. package/esm2020/lib/core/tagging/documents.component.mjs +3 -3
  237. package/esm2020/lib/core/tagging/edit-input.component.mjs +14 -15
  238. package/esm2020/lib/core/tagging/emoji.component.mjs +3 -3
  239. package/esm2020/lib/core/tagging/tagging-item.directive.mjs +3 -3
  240. package/esm2020/lib/core/tagging/tagging.component-base.mjs +3 -3
  241. package/esm2020/lib/core/tagging/tagging.directive.mjs +3 -3
  242. package/esm2020/lib/core/tagging/tagging.pipe.mjs +3 -3
  243. package/esm2020/lib/core/tagging/users.component.mjs +3 -3
  244. package/esm2020/lib/core/translate.service.mjs +3 -3
  245. package/esm2020/lib/core/translations.mjs +2 -7
  246. package/esm2020/lib/core/window-title.service.mjs +3 -3
  247. package/esm2020/lib/cube/accum/accum.component.mjs +3 -3
  248. package/esm2020/lib/cube/chart/chart.component.mjs +3 -3
  249. package/esm2020/lib/cube/cube-info.service.mjs +3 -3
  250. package/esm2020/lib/cube/cube-menu.component.mjs +3 -3
  251. package/esm2020/lib/cube/cube-view.component.mjs +3 -3
  252. package/esm2020/lib/cube/cube.service.mjs +3 -3
  253. package/esm2020/lib/cube/explore/document-item.component.mjs +3 -3
  254. package/esm2020/lib/cube/explore/explore-item.component.mjs +3 -3
  255. package/esm2020/lib/cube/explore/explore-items.component.mjs +3 -3
  256. package/esm2020/lib/cube/explore/explore.pane.component.mjs +3 -3
  257. package/esm2020/lib/cube/explore/item-resolver.service.mjs +6 -6
  258. package/esm2020/lib/cube/explore/item.pane.component.mjs +3 -3
  259. package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  260. package/esm2020/lib/cube/filter/filter.component.mjs +14 -15
  261. package/esm2020/lib/cube/grid/grid.component.mjs +3 -3
  262. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +3 -3
  263. package/esm2020/lib/cube/matrix/matrix.base.mjs +3 -3
  264. package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  265. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  266. package/esm2020/lib/cube/matrix/popup.component.mjs +3 -3
  267. package/esm2020/lib/cube/matrix/table.component.mjs +3 -3
  268. package/esm2020/lib/cube/parallel/parallel.component.mjs +3 -3
  269. package/esm2020/lib/cube/pivot/pivot.component.mjs +3 -3
  270. package/esm2020/lib/cube/sum/sum.component.mjs +3 -3
  271. package/esm2020/lib/cube/view-base.mjs +3 -3
  272. package/esm2020/lib/cube/view.mobile.component.mjs +3 -3
  273. package/esm2020/lib/cube/view.pane.component.mjs +3 -3
  274. package/esm2020/lib/dashboard/actions/actions.widget.mjs +3 -3
  275. package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
  276. package/esm2020/lib/dashboard/cube/compare.widget.mjs +3 -3
  277. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +11 -9
  278. package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
  279. package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +6 -5
  280. package/esm2020/lib/dashboard/cube/document-state.widget.mjs +3 -3
  281. package/esm2020/lib/dashboard/cube/documents.widget.mjs +3 -3
  282. package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +3 -3
  283. package/esm2020/lib/dashboard/dashboard.component.mjs +14 -15
  284. package/esm2020/lib/dashboard/dashboard.pane.component.mjs +3 -3
  285. package/esm2020/lib/dashboard/recents/recents.widget.mjs +3 -3
  286. package/esm2020/lib/dashboard/score/activity.widget.mjs +3 -3
  287. package/esm2020/lib/dashboard/score/compare-groups.widget.mjs +3 -3
  288. package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +3 -3
  289. package/esm2020/lib/dashboard/score/pending-results.widget.mjs +3 -3
  290. package/esm2020/lib/dashboard/score/personal-score.widget.mjs +3 -3
  291. package/esm2020/lib/dashboard/widget-item.component.mjs +9 -9
  292. package/esm2020/lib/designer.module.mjs +5 -9
  293. package/esm2020/lib/desktop.module.mjs +5 -9
  294. package/esm2020/lib/home/about/about.dialog.mjs +3 -3
  295. package/esm2020/lib/home/home-base.component.mjs +3 -3
  296. package/esm2020/lib/home/home.desktop.component.mjs +19 -20
  297. package/esm2020/lib/home/home.mobile.component.mjs +3 -3
  298. package/esm2020/lib/home/notifications/notifications.component.mjs +3 -3
  299. package/esm2020/lib/home/options/options.component.mjs +13 -14
  300. package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  301. package/esm2020/lib/home/sign/sign.component.mjs +3 -3
  302. package/esm2020/lib/home/tools.component.mjs +3 -3
  303. package/esm2020/lib/impersonate/impersonate.component.mjs +3 -3
  304. package/esm2020/lib/mobile.module.mjs +5 -9
  305. package/esm2020/lib/modules/chart.module.mjs +4 -4
  306. package/esm2020/lib/modules/circular-gauge.module.mjs +4 -4
  307. package/esm2020/lib/modules/datepicker.intl.mjs +3 -3
  308. package/esm2020/lib/modules/dayjs.module.mjs +4 -4
  309. package/esm2020/lib/modules/diagram.module.mjs +4 -4
  310. package/esm2020/lib/modules/gantt.module.mjs +4 -4
  311. package/esm2020/lib/modules/grid.module.mjs +4 -4
  312. package/esm2020/lib/modules/material.module.mjs +8 -12
  313. package/esm2020/lib/modules/paginator.intl.mjs +3 -3
  314. package/esm2020/lib/modules/pivot.module.mjs +4 -4
  315. package/esm2020/lib/modules/schedule.module.mjs +4 -4
  316. package/esm2020/lib/modules/spreadsheet.module.mjs +4 -4
  317. package/esm2020/lib/modules/stepper.intl.mjs +3 -3
  318. package/esm2020/lib/modules/texteditor.module.mjs +4 -4
  319. package/esm2020/lib/notifications/filter.component.mjs +9 -10
  320. package/esm2020/lib/notifications/notifications-table.component.mjs +3 -3
  321. package/esm2020/lib/notifications/notifications.mobile.component.mjs +3 -3
  322. package/esm2020/lib/notifications/notifications.pane.component.mjs +3 -3
  323. package/esm2020/lib/notifications/notifications.service.mjs +3 -3
  324. package/esm2020/lib/notifications/types/commented.notification.mjs +3 -3
  325. package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  326. package/esm2020/lib/notifications/types/escalated.notification.mjs +3 -3
  327. package/esm2020/lib/notifications/types/invite.notification.mjs +3 -3
  328. package/esm2020/lib/notifications/types/liked.notification.mjs +3 -3
  329. package/esm2020/lib/notifications/types/long-running-task.notification.mjs +3 -3
  330. package/esm2020/lib/notifications/types/notification-base.mjs +3 -3
  331. package/esm2020/lib/notifications/types/nudge.notification.mjs +3 -3
  332. package/esm2020/lib/notifications/types/state-changed.notification.mjs +3 -3
  333. package/esm2020/lib/notifications/types/tagged.notification.mjs +3 -3
  334. package/esm2020/lib/notifications/types/text.notification.mjs +3 -3
  335. package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +3 -3
  336. package/esm2020/lib/options/options.component.mjs +18 -19
  337. package/esm2020/lib/options/options.service.mjs +3 -3
  338. package/esm2020/lib/reports/arguments-component.mjs +3 -3
  339. package/esm2020/lib/reports/cube/documents.component.mjs +3 -3
  340. package/esm2020/lib/reports/cube/grid-documents.component.mjs +3 -3
  341. package/esm2020/lib/reports/cube/role-performance.component.mjs +3 -3
  342. package/esm2020/lib/reports/cube/table-documents.component.mjs +3 -3
  343. package/esm2020/lib/reports/cube/usage-args.component.mjs +3 -3
  344. package/esm2020/lib/reports/cube/usage-base.mjs +3 -3
  345. package/esm2020/lib/reports/cube/usage-chart.component.mjs +3 -3
  346. package/esm2020/lib/reports/cube/usage-pivot.component.mjs +3 -3
  347. package/esm2020/lib/reports/cube/usage.component.mjs +3 -3
  348. package/esm2020/lib/reports/report-viewer.component.mjs +3 -3
  349. package/esm2020/lib/reports/report.mobile.component.mjs +3 -3
  350. package/esm2020/lib/reports/report.pane.component.mjs +12 -13
  351. package/esm2020/lib/reports/reports-menu.component.mjs +3 -3
  352. package/esm2020/lib/reports/substitution/substitution.component.mjs +3 -3
  353. package/esm2020/lib/reports/table/table-view.component.mjs +3 -3
  354. package/esm2020/lib/reports/tasks/tasks.component.mjs +3 -3
  355. package/esm2020/lib/scheduler/schedule.component.mjs +13 -14
  356. package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +3 -3
  357. package/esm2020/lib/scheduler/scheduler.pane.component.mjs +3 -3
  358. package/esm2020/lib/search/cube.component.mjs +3 -3
  359. package/esm2020/lib/search/document.component.mjs +3 -3
  360. package/esm2020/lib/search/guide.component.mjs +3 -3
  361. package/esm2020/lib/search/path.component.mjs +3 -3
  362. package/esm2020/lib/search/search.service.mjs +3 -3
  363. package/esm2020/lib/shared.module.mjs +5 -9
  364. package/esm2020/lib/system.module.mjs +25 -11
  365. package/esm2020/lib/views/cube/chart.component.mjs +3 -3
  366. package/esm2020/lib/views/cube/cube-base.mjs +3 -3
  367. package/esm2020/lib/views/cube/explore.component.mjs +3 -3
  368. package/esm2020/lib/views/cube/matrix.component.mjs +3 -3
  369. package/esm2020/lib/views/cube/parallel.component.mjs +3 -3
  370. package/esm2020/lib/views/cube/pivot.component.mjs +3 -3
  371. package/esm2020/lib/views/cube/sum.component.mjs +3 -3
  372. package/esm2020/lib/views/cube/view.component.mjs +3 -3
  373. package/esm2020/lib/views/timeline/timeline.component.exp.mjs +3 -3
  374. package/esm2020/lib/views/view-item.component.mjs +3 -3
  375. package/esm2020/lib/views/views.component.mjs +3 -3
  376. package/esm2020/lib/views/views.mobile.component.mjs +3 -3
  377. package/esm2020/lib/views/views.pane.component.mjs +3 -3
  378. package/fesm2015/bizdoc-core.mjs +1346 -1341
  379. package/fesm2015/bizdoc-core.mjs.map +1 -1
  380. package/fesm2020/bizdoc-core.mjs +1346 -1341
  381. package/fesm2020/bizdoc-core.mjs.map +1 -1
  382. package/lib/admin/architecture/elements/form.component.d.ts +4 -2
  383. package/lib/admin/core/localized-string.component.d.ts +1 -1
  384. package/lib/core/translations.d.ts +0 -5
  385. package/lib/dashboard/cube/cube-analysis.base.d.ts +4 -2
  386. package/lib/dashboard/dashboard.component.d.ts +6 -7
  387. package/lib/designer.module.d.ts +2 -3
  388. package/lib/desktop.module.d.ts +3 -4
  389. package/lib/mobile.module.d.ts +3 -4
  390. package/lib/modules/material.module.d.ts +38 -39
  391. package/lib/shared.module.d.ts +15 -16
  392. package/lib/system.module.d.ts +7 -8
  393. package/package.json +14 -15
@@ -15,21 +15,20 @@ import * as i6 from "../core/translate.service";
15
15
  import * as i7 from "../core/prompt.service";
16
16
  import * as i8 from "@angular/material/snack-bar";
17
17
  import * as i9 from "@angular/common";
18
- import * as i10 from "@angular/flex-layout/flex";
19
- import * as i11 from "@angular/material/badge";
20
- import * as i12 from "@angular/material/list";
21
- import * as i13 from "@angular/material/divider";
22
- import * as i14 from "@angular/material/button";
23
- import * as i15 from "@angular/material/icon";
24
- import * as i16 from "../core/animated-icon/animated-icon.directive";
25
- import * as i17 from "../core/popup/tooltip.directive";
26
- import * as i18 from "../admin/admin-menu.component";
27
- import * as i19 from "../core/slots/slots.component";
28
- import * as i20 from "../cube/cube-menu.component";
29
- import * as i21 from "../reports/reports-menu.component";
30
- import * as i22 from "../browse/folders-menu.component";
31
- import * as i23 from "../compose/new-menu.component";
32
- import * as i24 from "../core/pipes/translate.pipe";
18
+ import * as i10 from "@angular/material/badge";
19
+ import * as i11 from "@angular/material/list";
20
+ import * as i12 from "@angular/material/divider";
21
+ import * as i13 from "@angular/material/button";
22
+ import * as i14 from "@angular/material/icon";
23
+ import * as i15 from "../core/animated-icon/animated-icon.directive";
24
+ import * as i16 from "../core/popup/tooltip.directive";
25
+ import * as i17 from "../admin/admin-menu.component";
26
+ import * as i18 from "../core/slots/slots.component";
27
+ import * as i19 from "../cube/cube-menu.component";
28
+ import * as i20 from "../reports/reports-menu.component";
29
+ import * as i21 from "../browse/folders-menu.component";
30
+ import * as i22 from "../compose/new-menu.component";
31
+ import * as i23 from "../core/pipes/translate.pipe";
33
32
  /** desktop home comp */
34
33
  export class HomeComponent extends HomeBase {
35
34
  constructor(_router, _mailbox, injector, session, popup, messaging, translate, _sb, snackBar, config) {
@@ -203,11 +202,11 @@ export class HomeComponent extends HomeBase {
203
202
  }
204
203
  }
205
204
  }
206
- HomeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: HomeComponent, deps: [{ token: i1.PanesRouter }, { token: i2.MailboxService }, { token: i0.Injector }, { token: i3.SessionService }, { token: i4.Popup }, { token: i5.HubService }, { token: i6.TranslateService }, { token: i7.PromptService }, { token: i8.MatSnackBar }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
207
- HomeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: HomeComponent, selector: "bizdoc-home", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "mat-app-background" }, viewQueries: [{ propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\"\r\n [class.dialog]=\"dialog\"\r\n class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div fxLayout=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\"\r\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n (click)=\"opennew()\" [disabled]=\"creating\"\r\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\r\n <mat-icon>add</mat-icon>\r\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\r\n </button>\r\n </div>\r\n <mat-nav-list>\r\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\r\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\r\n data-help=\"dashboard\"\r\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon>apps</mat-icon><span class=\"nav-label\">{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n [class.active]=\"activeMenu === 'mailbox'\"\r\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-icon matListIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\">inbox</mat-icon>\r\n <span class=\"nav-label\">{{'Mailbox' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\" *ngIf=\"schedulerEnabled\"\r\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\r\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\">{{ 'Scheduler' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf='chatEnabled' data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\r\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\r\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon><span class=\"nav-label\">{{ 'Chat' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item *ngIf=\"enableAnalysis && profile.cubes.length\"\r\n (click)=\"opensubmenu('cube')\"\r\n [class.active]=\"activeMenu === 'cube'\"\r\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\r\n <mat-icon matListIcon>equalizer</mat-icon><span class=\"nav-label\">{{'Cube' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"profile.reports.length\"\r\n (click)=\"opensubmenu('reports')\"\r\n [class.active]=\"activeMenu === 'reports'\"\r\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-icon matListIcon>list_alt</mat-icon><span class=\"nav-label\">{{'Reports' | translate}}</span>\r\n </mat-list-item>\r\n <ng-container *ngIf=\"sysAdmin\">\r\n <mat-divider></mat-divider>\r\n <mat-list-item (click)=\"opensubmenu('admin')\"\r\n [class.active]=\"activeMenu === 'admin'\"\r\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" [attr.aria-label]=\"'System' | translate\">\r\n <mat-icon matListIcon>device_hub</mat-icon>\r\n <span class=\"nav-label\">{{'Workflow' | translate}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\r\n <!--@animate-->\r\n <div class=\"sign-in\">\r\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\"\r\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\r\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"submenu\" class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\r\n <div class=\"action\" *ngIf=\"submenu !== 'new'\">\r\n <button mat-icon-button (click)=\"togglePinned()\"><mat-icon class=\"mat-icon-rtl-mirror\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\" [inline]=\"true\">{{pinned ? 'keyboard_double_arrow_left' : 'keyboard_double_arrow_right'}}</mat-icon></button>\r\n </div>\r\n <ng-container [ngSwitch]=\"submenu\">\r\n <bizdoc-new-menu *ngSwitchCase=\"'new'\" (change)=\"closesubmenu()\"></bizdoc-new-menu>\r\n <bizdoc-folders-menu *ngSwitchCase=\"'mailbox'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\r\n <bizdoc-admin-menu *ngSwitchCase=\"'admin'\" [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\r\n <bizdoc-reports-menu *ngSwitchCase=\"'reports'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\r\n <bizdoc-cube-menu *ngSwitchCase=\"'cube'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"backdrop\" *ngIf=\"dialog\"></div>\r\n</div>\r\n<bizdoc-panes-outlet (dialogChange)=\"dialog = $event\"></bizdoc-panes-outlet>\r\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden}.nav-menu .sub-menu .action{display:flex;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0}.nav-menu .new-container button{min-width:35px;padding:0 10px;height:40px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;flex-direction:row;overflow:hidden;margin-bottom:5px}.backdrop{position:absolute;z-index:200;width:100%;height:100%;display:block;background:#424242;opacity:.8}\n"], dependencies: [{ kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i10.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i11.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i12.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i12.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i12.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { kind: "component", type: i13.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i14.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i15.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i16.MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: i17.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i18.AdminMenuComponent, selector: "bizdoc-admin-menu", inputs: ["collapsed"] }, { kind: "component", type: i19.SlotsComponent, selector: "bizdoc-panes-outlet", outputs: ["dialogChange"] }, { kind: "component", type: i20.CubeMenuComponent, selector: "bizdoc-cube-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: i21.ReportsMenuComponent, selector: "bizdoc-reports-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: i22.FoldersMenuComponent, selector: "bizdoc-folders-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: i23.ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: ["change"] }, { kind: "pipe", type: i24.TranslatePipe, name: "translate" }], animations: [submenuAnimation] });
208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: HomeComponent, decorators: [{
205
+ HomeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: HomeComponent, deps: [{ token: i1.PanesRouter }, { token: i2.MailboxService }, { token: i0.Injector }, { token: i3.SessionService }, { token: i4.Popup }, { token: i5.HubService }, { token: i6.TranslateService }, { token: i7.PromptService }, { token: i8.MatSnackBar }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
206
+ HomeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: HomeComponent, selector: "bizdoc-home", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "mat-app-background" }, viewQueries: [{ propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\"\r\n [class.dialog]=\"dialog\"\r\n class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div class=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\"\r\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n (click)=\"opennew()\" [disabled]=\"creating\"\r\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\r\n <mat-icon>add</mat-icon>\r\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\r\n </button>\r\n </div>\r\n <mat-nav-list>\r\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\r\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\r\n data-help=\"dashboard\"\r\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon>apps</mat-icon><span class=\"nav-label\">{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n [class.active]=\"activeMenu === 'mailbox'\"\r\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-icon matListIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\">inbox</mat-icon>\r\n <span class=\"nav-label\">{{'Mailbox' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\" *ngIf=\"schedulerEnabled\"\r\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\r\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\">{{ 'Scheduler' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf='chatEnabled' data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\r\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\r\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon><span class=\"nav-label\">{{ 'Chat' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item *ngIf=\"enableAnalysis && profile.cubes.length\"\r\n (click)=\"opensubmenu('cube')\"\r\n [class.active]=\"activeMenu === 'cube'\"\r\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\r\n <mat-icon matListIcon>equalizer</mat-icon><span class=\"nav-label\">{{'Cube' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"profile.reports.length\"\r\n (click)=\"opensubmenu('reports')\"\r\n [class.active]=\"activeMenu === 'reports'\"\r\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-icon matListIcon>list_alt</mat-icon><span class=\"nav-label\">{{'Reports' | translate}}</span>\r\n </mat-list-item>\r\n <ng-container *ngIf=\"sysAdmin\">\r\n <mat-divider></mat-divider>\r\n <mat-list-item (click)=\"opensubmenu('admin')\"\r\n [class.active]=\"activeMenu === 'admin'\"\r\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" [attr.aria-label]=\"'System' | translate\">\r\n <mat-icon matListIcon>device_hub</mat-icon>\r\n <span class=\"nav-label\">{{'Workflow' | translate}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\r\n <!--@animate-->\r\n <div class=\"sign-in\">\r\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\"\r\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\r\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"submenu\" class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\r\n <div class=\"action\" *ngIf=\"submenu !== 'new'\">\r\n <button mat-icon-button (click)=\"togglePinned()\"><mat-icon class=\"mat-icon-rtl-mirror\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\" [inline]=\"true\">{{pinned ? 'keyboard_double_arrow_left' : 'keyboard_double_arrow_right'}}</mat-icon></button>\r\n </div>\r\n <ng-container [ngSwitch]=\"submenu\">\r\n <bizdoc-new-menu *ngSwitchCase=\"'new'\" (change)=\"closesubmenu()\"></bizdoc-new-menu>\r\n <bizdoc-folders-menu *ngSwitchCase=\"'mailbox'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\r\n <bizdoc-admin-menu *ngSwitchCase=\"'admin'\" [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\r\n <bizdoc-reports-menu *ngSwitchCase=\"'reports'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\r\n <bizdoc-cube-menu *ngSwitchCase=\"'cube'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"backdrop\" *ngIf=\"dialog\"></div>\r\n</div>\r\n<bizdoc-panes-outlet (dialogChange)=\"dialog = $event\"></bizdoc-panes-outlet>\r\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden}.nav-menu .sub-menu .action{display:flex;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0}.nav-menu .new-container button{min-width:35px;padding:0 10px;height:40px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;flex-direction:row;overflow:hidden;margin-bottom:5px}.backdrop{position:absolute;z-index:200;width:100%;height:100%;display:block;background:#424242;opacity:.8}\n"], dependencies: [{ kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i10.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i11.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i11.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i11.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { kind: "component", type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i13.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i14.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i15.MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: i16.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i17.AdminMenuComponent, selector: "bizdoc-admin-menu", inputs: ["collapsed"] }, { kind: "component", type: i18.SlotsComponent, selector: "bizdoc-panes-outlet", outputs: ["dialogChange"] }, { kind: "component", type: i19.CubeMenuComponent, selector: "bizdoc-cube-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: i20.ReportsMenuComponent, selector: "bizdoc-reports-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: i21.FoldersMenuComponent, selector: "bizdoc-folders-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: i22.ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: ["change"] }, { kind: "pipe", type: i23.TranslatePipe, name: "translate" }], animations: [submenuAnimation] });
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: HomeComponent, decorators: [{
209
208
  type: Component,
210
- args: [{ selector: 'bizdoc-home', host: { class: 'mat-app-background' }, animations: [submenuAnimation], template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\"\r\n [class.dialog]=\"dialog\"\r\n class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div fxLayout=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\"\r\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n (click)=\"opennew()\" [disabled]=\"creating\"\r\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\r\n <mat-icon>add</mat-icon>\r\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\r\n </button>\r\n </div>\r\n <mat-nav-list>\r\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\r\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\r\n data-help=\"dashboard\"\r\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon>apps</mat-icon><span class=\"nav-label\">{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n [class.active]=\"activeMenu === 'mailbox'\"\r\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-icon matListIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\">inbox</mat-icon>\r\n <span class=\"nav-label\">{{'Mailbox' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\" *ngIf=\"schedulerEnabled\"\r\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\r\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\">{{ 'Scheduler' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf='chatEnabled' data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\r\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\r\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon><span class=\"nav-label\">{{ 'Chat' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item *ngIf=\"enableAnalysis && profile.cubes.length\"\r\n (click)=\"opensubmenu('cube')\"\r\n [class.active]=\"activeMenu === 'cube'\"\r\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\r\n <mat-icon matListIcon>equalizer</mat-icon><span class=\"nav-label\">{{'Cube' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"profile.reports.length\"\r\n (click)=\"opensubmenu('reports')\"\r\n [class.active]=\"activeMenu === 'reports'\"\r\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-icon matListIcon>list_alt</mat-icon><span class=\"nav-label\">{{'Reports' | translate}}</span>\r\n </mat-list-item>\r\n <ng-container *ngIf=\"sysAdmin\">\r\n <mat-divider></mat-divider>\r\n <mat-list-item (click)=\"opensubmenu('admin')\"\r\n [class.active]=\"activeMenu === 'admin'\"\r\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" [attr.aria-label]=\"'System' | translate\">\r\n <mat-icon matListIcon>device_hub</mat-icon>\r\n <span class=\"nav-label\">{{'Workflow' | translate}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\r\n <!--@animate-->\r\n <div class=\"sign-in\">\r\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\"\r\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\r\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"submenu\" class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\r\n <div class=\"action\" *ngIf=\"submenu !== 'new'\">\r\n <button mat-icon-button (click)=\"togglePinned()\"><mat-icon class=\"mat-icon-rtl-mirror\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\" [inline]=\"true\">{{pinned ? 'keyboard_double_arrow_left' : 'keyboard_double_arrow_right'}}</mat-icon></button>\r\n </div>\r\n <ng-container [ngSwitch]=\"submenu\">\r\n <bizdoc-new-menu *ngSwitchCase=\"'new'\" (change)=\"closesubmenu()\"></bizdoc-new-menu>\r\n <bizdoc-folders-menu *ngSwitchCase=\"'mailbox'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\r\n <bizdoc-admin-menu *ngSwitchCase=\"'admin'\" [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\r\n <bizdoc-reports-menu *ngSwitchCase=\"'reports'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\r\n <bizdoc-cube-menu *ngSwitchCase=\"'cube'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"backdrop\" *ngIf=\"dialog\"></div>\r\n</div>\r\n<bizdoc-panes-outlet (dialogChange)=\"dialog = $event\"></bizdoc-panes-outlet>\r\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden}.nav-menu .sub-menu .action{display:flex;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0}.nav-menu .new-container button{min-width:35px;padding:0 10px;height:40px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;flex-direction:row;overflow:hidden;margin-bottom:5px}.backdrop{position:absolute;z-index:200;width:100%;height:100%;display:block;background:#424242;opacity:.8}\n"] }]
209
+ args: [{ selector: 'bizdoc-home', host: { class: 'mat-app-background' }, animations: [submenuAnimation], template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\"\r\n [class.dialog]=\"dialog\"\r\n class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div class=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\"\r\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n (click)=\"opennew()\" [disabled]=\"creating\"\r\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\r\n <mat-icon>add</mat-icon>\r\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\r\n </button>\r\n </div>\r\n <mat-nav-list>\r\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\r\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\r\n data-help=\"dashboard\"\r\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon>apps</mat-icon><span class=\"nav-label\">{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n [class.active]=\"activeMenu === 'mailbox'\"\r\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-icon matListIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\">inbox</mat-icon>\r\n <span class=\"nav-label\">{{'Mailbox' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\" *ngIf=\"schedulerEnabled\"\r\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\r\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\">{{ 'Scheduler' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf='chatEnabled' data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\r\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\r\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon><span class=\"nav-label\">{{ 'Chat' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item *ngIf=\"enableAnalysis && profile.cubes.length\"\r\n (click)=\"opensubmenu('cube')\"\r\n [class.active]=\"activeMenu === 'cube'\"\r\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\r\n <mat-icon matListIcon>equalizer</mat-icon><span class=\"nav-label\">{{'Cube' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"profile.reports.length\"\r\n (click)=\"opensubmenu('reports')\"\r\n [class.active]=\"activeMenu === 'reports'\"\r\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-icon matListIcon>list_alt</mat-icon><span class=\"nav-label\">{{'Reports' | translate}}</span>\r\n </mat-list-item>\r\n <ng-container *ngIf=\"sysAdmin\">\r\n <mat-divider></mat-divider>\r\n <mat-list-item (click)=\"opensubmenu('admin')\"\r\n [class.active]=\"activeMenu === 'admin'\"\r\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" [attr.aria-label]=\"'System' | translate\">\r\n <mat-icon matListIcon>device_hub</mat-icon>\r\n <span class=\"nav-label\">{{'Workflow' | translate}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\r\n <!--@animate-->\r\n <div class=\"sign-in\">\r\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\"\r\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\r\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"submenu\" class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\r\n <div class=\"action\" *ngIf=\"submenu !== 'new'\">\r\n <button mat-icon-button (click)=\"togglePinned()\"><mat-icon class=\"mat-icon-rtl-mirror\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\" [inline]=\"true\">{{pinned ? 'keyboard_double_arrow_left' : 'keyboard_double_arrow_right'}}</mat-icon></button>\r\n </div>\r\n <ng-container [ngSwitch]=\"submenu\">\r\n <bizdoc-new-menu *ngSwitchCase=\"'new'\" (change)=\"closesubmenu()\"></bizdoc-new-menu>\r\n <bizdoc-folders-menu *ngSwitchCase=\"'mailbox'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\r\n <bizdoc-admin-menu *ngSwitchCase=\"'admin'\" [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\r\n <bizdoc-reports-menu *ngSwitchCase=\"'reports'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\r\n <bizdoc-cube-menu *ngSwitchCase=\"'cube'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"backdrop\" *ngIf=\"dialog\"></div>\r\n</div>\r\n<bizdoc-panes-outlet (dialogChange)=\"dialog = $event\"></bizdoc-panes-outlet>\r\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden}.nav-menu .sub-menu .action{display:flex;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0}.nav-menu .new-container button{min-width:35px;padding:0 10px;height:40px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;flex-direction:row;overflow:hidden;margin-bottom:5px}.backdrop{position:absolute;z-index:200;width:100%;height:100%;display:block;background:#424242;opacity:.8}\n"] }]
211
210
  }], ctorParameters: function () { return [{ type: i1.PanesRouter }, { type: i2.MailboxService }, { type: i0.Injector }, { type: i3.SessionService }, { type: i4.Popup }, { type: i5.HubService }, { type: i6.TranslateService }, { type: i7.PromptService }, { type: i8.MatSnackBar }, { type: undefined, decorators: [{
212
211
  type: Inject,
213
212
  args: [BIZDOC_CONFIG]
@@ -218,4 +217,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
218
217
  type: HostListener,
219
218
  args: ['document:keydown', ['$event']]
220
219
  }] } });
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5kZXNrdG9wLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvaG9tZS9ob21lLmRlc2t0b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9ob21lL2hvbWUuZGVza3RvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlCLE9BQU8sRUFBZ0IsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBT3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQXNCLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUs3RSx3QkFBd0I7QUFReEIsTUFBTSxPQUFPLGFBQWMsU0FBUSxRQUFRO0lBc0R6QyxZQUNVLE9BQW9CLEVBQ3BCLFFBQXdCLEVBQ2hDLFFBQWtCLEVBQ2xCLE9BQXVCLEVBQ3ZCLEtBQVksRUFDWixTQUFxQixFQUNyQixTQUEyQixFQUNuQixHQUFrQixFQUMxQixRQUFxQixFQUNFLE1BQW9CO1FBQzNDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQVZoRSxZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLGFB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QUFNO3NCQUE5QyxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBMEd2QyxtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgSW5qZWN0LCBIb3N0TGlzdGVuZXIsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQml6RG9jQ29uZmlnLCBCSVpET0NfQ09ORklHLCBPcGVuUG9saWN5IH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgc3VibWVudUFuaW1hdGlvbiB9IGZyb20gJy4uL2NvcmUvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFJlY2lwaWVudE1vZGVsIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tICcuLi9jb3JlL3Nsb3RzL3JvdXRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tICcuLi9jb3JlL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSG9tZUJhc2UgfSBmcm9tICcuL2hvbWUtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uUGFuZUJhc2UsIE5hdmlnYXRpb25TdGFydCB9IGZyb20gJy4uL2NvcmUvc2xvdHMvcGFuZS1yZWYnO1xyXG5pbXBvcnQgeyBNYWlsYm94U2VydmljZSB9IGZyb20gJy4uL2NvcmUvbWFpbGJveC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuXHJcbi8qKiBkZXNrdG9wIGhvbWUgY29tcCAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1ob21lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaG9tZS5kZXNrdG9wLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ob21lLmRlc2t0b3AuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7IGNsYXNzOiAnbWF0LWFwcC1iYWNrZ3JvdW5kJyB9LFxyXG4gIGFuaW1hdGlvbnM6IFtzdWJtZW51QW5pbWF0aW9uXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSG9tZUNvbXBvbmVudCBleHRlbmRzIEhvbWVCYXNlIHtcclxuICBkaWFsb2c6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgc3lzQWRtaW4gPSB0aGlzLl9zZXNzaW9uLmlzU3lzdGVtO1xyXG4gIHByaXZhdGUgX3N1Ym1lbnVNb2RlOiAnZnVsbCcgfCAnc2hyaW5rJyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdWJtZW51TW9kZScpIGFzIGFueSB8fCAnZnVsbCc7XHJcbiAgcmVhZG9ubHkgZm9ybXMgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmlsdGVyKGYgPT4gZi5jcmVhdGFibGUpO1xyXG4gIGNyZWF0aW5nOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX2NvbGxhcHNlVG9nZ2xlID0gZmFsc2U7XHJcbiAgcHVibGljIGdldCBzdWJtZW51TW9kZSgpOiAnZnVsbCcgfCAnc2hyaW5rJyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VibWVudU1vZGU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgc3VibWVudU1vZGUodmFsdWU6ICdmdWxsJyB8ICdzaHJpbmsnKSB7XHJcbiAgICB0aGlzLl9zdWJtZW51TW9kZSA9IHZhbHVlO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3N1Ym1lbnVNb2RlJywgdmFsdWUpXHJcbiAgfVxyXG4gIHByaXZhdGUgX3N1Ym1lbnU6IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdWJtZW51Jyk7XHJcbiAgcHJpdmF0ZSBfcGF0aDogc3RyaW5nO1xyXG4gIGdldCBhY3RpdmVNZW51KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N1Ym1lbnUgfHwgdGhpcy5fcGF0aDtcclxuICB9XHJcbiAgcHVibGljIGdldCBzdWJtZW51KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VibWVudTtcclxuICB9XHJcbiAgcHVibGljIHNldCBzdWJtZW51KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3N1Ym1lbnUgPSB2YWx1ZTtcclxuICAgIGlmICh2YWx1ZSkgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3N1Ym1lbnUnLCB2YWx1ZSk7XHJcbiAgICBlbHNlIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdzdWJtZW51Jyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lzKG5hbWUsIHZhbD86IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWwgPT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKG5hbWUpID09PSAnMSc7XHJcbiAgICBlbHNlXHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKG5hbWUsIHZhbCA/ICcxJyA6ICcwJyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lzT3JEZWZhdWx0KG5hbWUsICRkZWZhdWx0KSB7XHJcbiAgICBjb25zdCB2YWwgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShuYW1lKTtcclxuICAgIHJldHVybiB2YWwgPyB2YWwgPT09ICcxJyA6ICRkZWZhdWx0O1xyXG4gIH1cclxuICBwcml2YXRlIF9jb2xsYXBzZWQgPSB0aGlzLl9pc09yRGVmYXVsdCgnY29sbGFwc2VkJywgdHJ1ZSk7XHJcbiAgcHVibGljIGdldCBjb2xsYXBzZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VkO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGNvbGxhcHNlZCh2YWx1ZSkge1xyXG4gICAgdGhpcy5fY29sbGFwc2VkID0gdmFsdWU7XHJcbiAgICB0aGlzLl9pcygnY29sbGFwc2VkJywgdGhpcy5jb2xsYXBzZWQpO1xyXG4gIH1cclxuICBwcml2YXRlIF9waW5uZWQgPSB0aGlzLl9pc09yRGVmYXVsdCgncGlubmVkJywgdHJ1ZSk7XHJcbiAgcHVibGljIGdldCBwaW5uZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGlubmVkO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHBpbm5lZCh2YWx1ZSkge1xyXG4gICAgdGhpcy5fcGlubmVkID0gdmFsdWU7XHJcbiAgICB0aGlzLl9pcygncGlubmVkJywgdmFsdWUpXHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoTWF0U2lkZW5hdiwgeyBzdGF0aWM6IHRydWUgfSkgZHJhd2VyOiBNYXRTaWRlbmF2O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlcixcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwb3B1cDogUG9wdXAsXHJcbiAgICBtZXNzYWdpbmc6IEh1YlNlcnZpY2UsXHJcbiAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHNuYWNrQmFyOiBNYXRTbmFja0JhcixcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcpIHtcclxuICAgIHN1cGVyKHBvcHVwLCBzZXNzaW9uLCBtZXNzYWdpbmcsIHRyYW5zbGF0ZSwgc25hY2tCYXIsIGluamVjdG9yLCBjb25maWcpO1xyXG4gICAgX3JvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0ICYmIGUucGFuZS5wYXRoICYmIGUucGFuZS5tb2RlID09PSAncGFuZScpKS5cclxuICAgICAgc3Vic2NyaWJlKChlOiBOYXZpZ2F0aW9uUGFuZUJhc2UpID0+XHJcbiAgICAgICAgdGhpcy5fcGF0aCA9IGUucGFuZS5wYXRoLnNwbGl0KCcvJylbMF1cclxuICAgICAgKTtcclxuICB9XHJcbiAgbmF2KHBhdGgpIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbcGF0aF0pO1xyXG4gICAgdGhpcy5zdWJtZW51ID0gbnVsbDtcclxuICAgIHRoaXMuY29sbGFwc2VzdWJtZW51KCk7XHJcbiAgfVxyXG4gIG9uTmV3TWVzc2FnZShtb2RlbDogUmVjaXBpZW50TW9kZWwpIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ21haWxib3gvaScsIG1vZGVsLmlkLmVuY29kZUlkKCldLFxyXG4gICAgICB7XHJcbiAgICAgICAgc3RhdGU6IHsgaXRlbTogbW9kZWwgfSxcclxuICAgICAgICBwb2xpY3k6IE9wZW5Qb2xpY3kuQ2xlYXJcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGNsb3Nlc3VibWVudSgpIHtcclxuICAgIHRoaXMuc3VibWVudSA9IG51bGw7XHJcbiAgfVxyXG4gIG9wZW5uZXcoKSB7XHJcbiAgICBpZiAodGhpcy5mb3Jtcy5sZW5ndGggPiAxKSB7XHJcbiAgICAgIGlmICh0aGlzLnN1Ym1lbnUgPT09ICduZXcnKVxyXG4gICAgICAgIHRoaXMuY2xvc2VzdWJtZW51KCk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLm9wZW5zdWJtZW51KCduZXcnKTtcclxuICAgIH1cclxuICAgIGVsc2UgdGhpcy5fY3JlYXRlKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NyZWF0ZSgpIHtcclxuICAgIHRoaXMuY3JlYXRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5fbWFpbGJveC5jcmVhdGUodGhpcy5mb3Jtc1swXS5uYW1lKS5cclxuICAgICAgc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgIHRoaXMuY3JlYXRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2knLCByLmlkLmVuY29kZUlkKCldLFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBwb2xpY3k6IE9wZW5Qb2xpY3kuQ2xlYXIsXHJcbiAgICAgICAgICAgIHN0YXRlOiB7IGl0ZW06IHIgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0sIChlOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2hhbmRsZUVycihlKTtcclxuICAgICAgICB0aGlzLmNyZWF0aW5nID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGxlRXJyKHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSB8IEdlb2xvY2F0aW9uUG9zaXRpb25FcnJvcikge1xyXG4gICAgaWYgKHJlc3BvbnNlLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdQb3NpdGlvbkVycm9yJylcclxuICAgICAgc3dpdGNoICgocmVzcG9uc2UgYXMgR2VvbG9jYXRpb25Qb3NpdGlvbkVycm9yKS5jb2RlKSB7XHJcbiAgICAgICAgY2FzZSAxOlxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ1VzZXJEZW5pZWRHZW9FcnInKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignR2VvRXJyJyk7XHJcbiAgICAgIH1cclxuICAgIGVsc2Ugc3dpdGNoICgocmVzcG9uc2UgYXMgSHR0cEVycm9yUmVzcG9uc2UpLnN0YXR1cykge1xyXG4gICAgICBjYXNlIDQwMTpcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcignVW5hdXRob3JpemVkJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNDA2OlxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yU3RyaW5nKChyZXNwb25zZSBhcyBIdHRwRXJyb3JSZXNwb25zZSkuZXJyb3IpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDQyNjogLy8gbGljZW5zZVxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKCdMaWNlbnNlRXJyJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5zdWJtZW51KG1lbnU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuc3VibWVudSA9PT0gbWVudSlcclxuICAgICAgdGhpcy5zdWJtZW51TW9kZSA9IHRoaXMuc3VibWVudU1vZGUgPT09ICdmdWxsJyA/ICdzaHJpbmsnIDogJ2Z1bGwnO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc3VibWVudSA9IG1lbnU7XHJcbiAgICAgIHRoaXMuc3VibWVudU1vZGUgPSAnZnVsbCc7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbGxhcHNlc3VibWVudSgpIHtcclxuICAgIGlmICghdGhpcy5waW5uZWQgJiYgdGhpcy5zdWJtZW51ICE9PSAnbmV3JykgdGhpcy5zdWJtZW51TW9kZSA9ICdzaHJpbmsnO1xyXG4gIH1cclxuICB0b2dnbGVQaW5uZWQoKSB7XHJcbiAgICB0aGlzLnBpbm5lZCA9ICF0aGlzLnBpbm5lZDtcclxuICAgIHRoaXMuc3VibWVudU1vZGUgPSB0aGlzLnBpbm5lZCA/ICdmdWxsJyA6ICdzaHJpbmsnO1xyXG4gIH1cclxuICBvdmVycmlkZSBtYWlscygpIHtcclxuICAgIHN1cGVyLm1haWxzKCk7XHJcbiAgICB0aGlzLm9wZW5zdWJtZW51KCdtYWlsYm94Jyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEFsdCArIG4vTiwgQ3RybCArIC5cclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuYWx0S2V5ICYmIChldmVudC53aGljaCA9PT0gMTEwIHx8IGV2ZW50LndoaWNoID09PSA3OCkpIHtcclxuICAgICAgaWYgKHRoaXMuc3VibWVudSA9PT0gJ25ldycpXHJcbiAgICAgICAgdGhpcy5zdWJtZW51ID0gbnVsbDtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZm9ybXMubGVuZ3RoID09PSAxKVxyXG4gICAgICAgICAgdGhpcy5fY3JlYXRlKCk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN1Ym1lbnUgPSAnbmV3JztcclxuICAgICAgICAgIHRoaXMuc3VibWVudU1vZGUgPSAnZnVsbCc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChldmVudC5jdHJsS2V5ICYmIGV2ZW50LndoaWNoID09PSAxOTApIHtcclxuICAgICAgaWYgKHRoaXMuc3VibWVudSAmJiAhdGhpcy5fY29sbGFwc2VUb2dnbGUpIHtcclxuICAgICAgICB0aGlzLnN1Ym1lbnVNb2RlID0gdGhpcy5zdWJtZW51TW9kZSA9PT0gJ3NocmluaycgPyAnZnVsbCcgOiAnc2hyaW5rJztcclxuICAgICAgICB0aGlzLl9jb2xsYXBzZVRvZ2dsZSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jb2xsYXBzZWQgPSAhdGhpcy5jb2xsYXBzZWQ7XHJcbiAgICAgICAgdGhpcy5fY29sbGFwc2VUb2dnbGUgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtjbGFzcy5uYXYtY29sbGFwc2VkXT1cImNvbGxhcHNlZFwiIFtjbGFzcy5uYXYtb3Blbl09XCJzdWJtZW51XCJcclxuICAgICBbY2xhc3MuZGlhbG9nXT1cImRpYWxvZ1wiXHJcbiAgICAgY2xhc3M9XCJuYXYtbWVudSByb3dcIj5cclxuICA8IS0tW2NsYXNzLmxvYWRpbmddPVwibG9hZGluZ1wiLS0+XHJcbiAgPGRpdiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPGRpdiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICduZXcnXCIgY2xhc3M9XCJuZXctY29udGFpbmVyXCIgKm5nSWY9XCJmb3Jtcy5sZW5ndGhcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNsYXNzPVwiY29tcG9zZVwiXHJcbiAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInQ29tcG9zZSd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVubmV3KClcIiBbZGlzYWJsZWRdPVwiY3JlYXRpbmdcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQ29tcG9zZSd8IHRyYW5zbGF0ZVwiIGNvbG9yPVwicHJpbWFyeVwiIGRhdGEtaGVscD1cImNvbXBvc2VcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIj57eydDb21wb3NlJ3wgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bWF0LW5hdi1saXN0PlxyXG4gICAgICAgIDxtYXQtbGlzdC1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0Rhc2hib2FyZCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuYXYoJ2Rhc2hib2FyZCcpXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnZGFzaGJvYXJkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1oZWxwPVwiZGFzaGJvYXJkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInRGFzaGJvYXJkJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbj5hcHBzPC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J0Rhc2hib2FyZCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gKGNsaWNrKT1cIm1haWxzKClcIiBbYml6ZG9jVG9vbHRpcF09XCInTWFpbGJveCd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICdtYWlsYm94J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTWFpbGJveCcgfCB0cmFuc2xhdGVcIiBkYXRhLWhlbHA9XCJmb2xkZXJzXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEljb24gW21hdEJhZGdlXT1cInByb2ZpbGUuaW5ib3hDb3VudFwiIFttYXRCYWRnZUhpZGRlbl09XCJwcm9maWxlLmluYm94Q291bnQgPCAxXCIgbWF0QmFkZ2VDb2xvcj1cImFjY2VudFwiPmluYm94PC9tYXQtaWNvbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCI+e3snTWFpbGJveCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInU2NoZWR1bGVyJyB8IHRyYW5zbGF0ZVwiICpuZ0lmPVwic2NoZWR1bGVyRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdignc2NoZWR1bGUnKVwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ3NjaGVkdWxlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2JpemRvY1Rvb2x0aXBdPVwiJ1NjaGVkdWxlcid8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEljb24gY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+ZGF0ZV9yYW5nZTwvbWF0LWljb24+PHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIj57eyAnU2NoZWR1bGVyJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj0nY2hhdEVuYWJsZWQnIGRhdGEtaGVscD1cImNoYXRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidDaGF0JyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdignY29udGFjdHMnKVwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ2NvbnRhY3RzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2JpemRvY1Rvb2x0aXBdPVwiJ0NoYXQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uIFttYXRCYWRnZV09XCJwcm9maWxlLmNvbnZlcnNhdGlvbnNDb3VudFwiIFttYXRCYWRnZUhpZGRlbl09XCIhcHJvZmlsZS5jb252ZXJzYXRpb25zQ291bnRcIiBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCI+Y2hhdDwvbWF0LWljb24+PHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIj57eyAnQ2hhdCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nSWY9XCJlbmFibGVBbmFseXNpcyAmJiBwcm9maWxlLmN1YmVzLmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5zdWJtZW51KCdjdWJlJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ2N1YmUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInQ3ViZSd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWhlbHA9XCJjdWJlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQ3ViZScgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbj5lcXVhbGl6ZXI8L21hdC1pY29uPjxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCI+e3snQ3ViZScgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nSWY9XCJwcm9maWxlLnJlcG9ydHMubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbnN1Ym1lbnUoJ3JlcG9ydHMnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAncmVwb3J0cydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidSZXBvcnRzJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIiBkYXRhLWhlbHA9XCJyZXBvcnRzXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInUmVwb3J0cycgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbj5saXN0X2FsdDwvbWF0LWljb24+PHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIj57eydSZXBvcnRzJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3lzQWRtaW5cIj5cclxuICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgICAgPG1hdC1saXN0LWl0ZW0gKGNsaWNrKT1cIm9wZW5zdWJtZW51KCdhZG1pbicpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ2FkbWluJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInU3lzdGVtJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidTeXN0ZW0nIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbj5kZXZpY2VfaHViPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIj57eydXb3JrZmxvdycgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtbmF2LWxpc3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgIDwhLS08bG90dGllIG5hbWU9XCJsZjMwX2VkaXRvcl9xcjd6Z21jc1wiICpuZ0lmPVwibG9hZGluZ1wiPjwvbG90dGllPi0tPlxyXG4gICAgPCEtLUBhbmltYXRlLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2lnbi1pblwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkYXRhLWhlbHA9XCJzaWduLWluXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1NldHRpbmdzJyB8IHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCJcclxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTZXR0aW5ncycgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwib3B0aW9ucygkZXZlbnQpXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIG1hdEFuaW1hdGU9XCJyb3RhdGVcIj5zZXR0aW5nc29uPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCInUG93ZXInIHwgdHJhbnNsYXRlXCIgKGNsaWNrKT1cInNpZ25vdXQoJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidFeGl0J3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5sb2dvdXQ8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJzdWJtZW51XCIgY2xhc3M9XCJzdWItbWVudVwiIChtb3VzZWxlYXZlKT1cImNvbGxhcHNlc3VibWVudSgpXCIgW0BzdWJtZW51XT1cInN1Ym1lbnVNb2RlXCIgKEBzdWJtZW51LmRvbmUpPVwicmVzaXplKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25cIiAqbmdJZj1cInN1Ym1lbnUgIT09ICduZXcnXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVQaW5uZWQoKVwiPjxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIiBbYml6ZG9jVG9vbHRpcF09XCIocGlubmVkPydDb2xsYXBzZSc6J0V4cGFuZCcpfHRyYW5zbGF0ZVwiIFtpbmxpbmVdPVwidHJ1ZVwiPnt7cGlubmVkID8gJ2tleWJvYXJkX2RvdWJsZV9hcnJvd19sZWZ0JyA6ICdrZXlib2FyZF9kb3VibGVfYXJyb3dfcmlnaHQnfX08L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzdWJtZW51XCI+XHJcbiAgICAgIDxiaXpkb2MtbmV3LW1lbnUgKm5nU3dpdGNoQ2FzZT1cIiduZXcnXCIgKGNoYW5nZSk9XCJjbG9zZXN1Ym1lbnUoKVwiPjwvYml6ZG9jLW5ldy1tZW51PlxyXG4gICAgICA8Yml6ZG9jLWZvbGRlcnMtbWVudSAqbmdTd2l0Y2hDYXNlPVwiJ21haWxib3gnXCIgW2NvbGxhcHNlZF09XCJzdWJtZW51TW9kZSA9PT0gJ3NocmluaydcIiAoY2hhbmdlKT1cImNvbGxhcHNlc3VibWVudSgpXCI+PC9iaXpkb2MtZm9sZGVycy1tZW51PlxyXG4gICAgICA8Yml6ZG9jLWFkbWluLW1lbnUgKm5nU3dpdGNoQ2FzZT1cIidhZG1pbidcIiBbY29sbGFwc2VkXT1cInN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJ1wiPjwvYml6ZG9jLWFkbWluLW1lbnU+XHJcbiAgICAgIDxiaXpkb2MtcmVwb3J0cy1tZW51ICpuZ1N3aXRjaENhc2U9XCIncmVwb3J0cydcIiBbY29sbGFwc2VkXT1cInN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJ1wiIChjaGFuZ2UpPVwiY29sbGFwc2VzdWJtZW51KClcIj48L2JpemRvYy1yZXBvcnRzLW1lbnU+XHJcbiAgICAgIDxiaXpkb2MtY3ViZS1tZW51ICpuZ1N3aXRjaENhc2U9XCInY3ViZSdcIiBbY29sbGFwc2VkXT1cInN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJ1wiIChjaGFuZ2UpPVwiY29sbGFwc2VzdWJtZW51KClcIj48L2JpemRvYy1jdWJlLW1lbnU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiYmFja2Ryb3BcIiAqbmdJZj1cImRpYWxvZ1wiPjwvZGl2PlxyXG48L2Rpdj5cclxuPGJpemRvYy1wYW5lcy1vdXRsZXQgKGRpYWxvZ0NoYW5nZSk9XCJkaWFsb2cgPSAkZXZlbnRcIj48L2JpemRvYy1wYW5lcy1vdXRsZXQ+XHJcbiJdfQ==
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5kZXNrdG9wLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvaG9tZS9ob21lLmRlc2t0b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9ob21lL2hvbWUuZGVza3RvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlCLE9BQU8sRUFBZ0IsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBT3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQXNCLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSzdFLHdCQUF3QjtBQVF4QixNQUFNLE9BQU8sYUFBYyxTQUFRLFFBQVE7SUFzRHpDLFlBQ1UsT0FBb0IsRUFDcEIsUUFBd0IsRUFDaEMsUUFBa0IsRUFDbEIsT0FBdUIsRUFDdkIsS0FBWSxFQUNaLFNBQXFCLEVBQ3JCLFNBQTJCLEVBQ25CLEdBQWtCLEVBQzFCLFFBQXFCLEVBQ0UsTUFBb0I7UUFDM0MsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBVmhFLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDcEIsYUFB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QU07c0JBQTlDLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkEwR3ZDLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBJbmplY3QsIEhvc3RMaXN0ZW5lciwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U2lkZW5hdiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcsIE9wZW5Qb2xpY3kgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBzdWJtZW51QW5pbWF0aW9uIH0gZnJvbSAnLi4vY29yZS9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgUmVjaXBpZW50TW9kZWwgfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gJy4uL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQb3B1cCB9IGZyb20gJy4uL2NvcmUvcG9wdXAvcG9wdXAuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIb21lQmFzZSB9IGZyb20gJy4vaG9tZS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25QYW5lQmFzZSwgTmF2aWdhdGlvblN0YXJ0IH0gZnJvbSAnLi4vY29yZS9zbG90cy9wYW5lLXJlZic7XHJcbmltcG9ydCB7IE1haWxib3hTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9tYWlsYm94LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5cclxuLyoqIGRlc2t0b3AgaG9tZSBjb21wICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWhvbWUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ob21lLmRlc2t0b3AuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hvbWUuZGVza3RvcC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdtYXQtYXBwLWJhY2tncm91bmQnIH0sXHJcbiAgYW5pbWF0aW9uczogW3N1Ym1lbnVBbmltYXRpb25dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIb21lQ29tcG9uZW50IGV4dGVuZHMgSG9tZUJhc2Uge1xyXG4gIGRpYWxvZzogYm9vbGVhbjtcclxuICByZWFkb25seSBzeXNBZG1pbiA9IHRoaXMuX3Nlc3Npb24uaXNTeXN0ZW07XHJcbiAgcHJpdmF0ZSBfc3VibWVudU1vZGU6ICdmdWxsJyB8ICdzaHJpbmsnID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3N1Ym1lbnVNb2RlJykgYXMgYW55IHx8ICdmdWxsJztcclxuICByZWFkb25seSBmb3JtcyA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb3Jtcy5maWx0ZXIoZiA9PiBmLmNyZWF0YWJsZSk7XHJcbiAgY3JlYXRpbmc6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfY29sbGFwc2VUb2dnbGUgPSBmYWxzZTtcclxuICBwdWJsaWMgZ2V0IHN1Ym1lbnVNb2RlKCk6ICdmdWxsJyB8ICdzaHJpbmsnIHtcclxuICAgIHJldHVybiB0aGlzLl9zdWJtZW51TW9kZTtcclxuICB9XHJcbiAgcHVibGljIHNldCBzdWJtZW51TW9kZSh2YWx1ZTogJ2Z1bGwnIHwgJ3NocmluaycpIHtcclxuICAgIHRoaXMuX3N1Ym1lbnVNb2RlID0gdmFsdWU7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnc3VibWVudU1vZGUnLCB2YWx1ZSlcclxuICB9XHJcbiAgcHJpdmF0ZSBfc3VibWVudTogc3RyaW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3N1Ym1lbnUnKTtcclxuICBwcml2YXRlIF9wYXRoOiBzdHJpbmc7XHJcbiAgZ2V0IGFjdGl2ZU1lbnUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VibWVudSB8fCB0aGlzLl9wYXRoO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IHN1Ym1lbnUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zdWJtZW51O1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHN1Ym1lbnUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc3VibWVudSA9IHZhbHVlO1xyXG4gICAgaWYgKHZhbHVlKSBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnc3VibWVudScsIHZhbHVlKTtcclxuICAgIGVsc2UgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3N1Ym1lbnUnKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaXMobmFtZSwgdmFsPzogYm9vbGVhbikge1xyXG4gICAgaWYgKHZhbCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSkgPT09ICcxJztcclxuICAgIGVsc2VcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0obmFtZSwgdmFsID8gJzEnIDogJzAnKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaXNPckRlZmF1bHQobmFtZSwgJGRlZmF1bHQpIHtcclxuICAgIGNvbnN0IHZhbCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKG5hbWUpO1xyXG4gICAgcmV0dXJuIHZhbCA/IHZhbCA9PT0gJzEnIDogJGRlZmF1bHQ7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NvbGxhcHNlZCA9IHRoaXMuX2lzT3JEZWZhdWx0KCdjb2xsYXBzZWQnLCB0cnVlKTtcclxuICBwdWJsaWMgZ2V0IGNvbGxhcHNlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb2xsYXBzZWQ7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgY29sbGFwc2VkKHZhbHVlKSB7XHJcbiAgICB0aGlzLl9jb2xsYXBzZWQgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2lzKCdjb2xsYXBzZWQnLCB0aGlzLmNvbGxhcHNlZCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3Bpbm5lZCA9IHRoaXMuX2lzT3JEZWZhdWx0KCdwaW5uZWQnLCB0cnVlKTtcclxuICBwdWJsaWMgZ2V0IHBpbm5lZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9waW5uZWQ7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgcGlubmVkKHZhbHVlKSB7XHJcbiAgICB0aGlzLl9waW5uZWQgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2lzKCdwaW5uZWQnLCB2YWx1ZSlcclxuICB9XHJcbiAgQFZpZXdDaGlsZChNYXRTaWRlbmF2LCB7IHN0YXRpYzogdHJ1ZSB9KSBkcmF3ZXI6IE1hdFNpZGVuYXY7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFBhbmVzUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBfbWFpbGJveDogTWFpbGJveFNlcnZpY2UsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHBvcHVwOiBQb3B1cCxcclxuICAgIG1lc3NhZ2luZzogSHViU2VydmljZSxcclxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxyXG4gICAgQEluamVjdChCSVpET0NfQ09ORklHKSBjb25maWc6IEJpekRvY0NvbmZpZykge1xyXG4gICAgc3VwZXIocG9wdXAsIHNlc3Npb24sIG1lc3NhZ2luZywgdHJhbnNsYXRlLCBzbmFja0JhciwgaW5qZWN0b3IsIGNvbmZpZyk7XHJcbiAgICBfcm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgJiYgZS5wYW5lLnBhdGggJiYgZS5wYW5lLm1vZGUgPT09ICdwYW5lJykpLlxyXG4gICAgICBzdWJzY3JpYmUoKGU6IE5hdmlnYXRpb25QYW5lQmFzZSkgPT5cclxuICAgICAgICB0aGlzLl9wYXRoID0gZS5wYW5lLnBhdGguc3BsaXQoJy8nKVswXVxyXG4gICAgICApO1xyXG4gIH1cclxuICBuYXYocGF0aCkge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtwYXRoXSk7XHJcbiAgICB0aGlzLnN1Ym1lbnUgPSBudWxsO1xyXG4gICAgdGhpcy5jb2xsYXBzZXN1Ym1lbnUoKTtcclxuICB9XHJcbiAgb25OZXdNZXNzYWdlKG1vZGVsOiBSZWNpcGllbnRNb2RlbCkge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnbWFpbGJveC9pJywgbW9kZWwuaWQuZW5jb2RlSWQoKV0sXHJcbiAgICAgIHtcclxuICAgICAgICBzdGF0ZTogeyBpdGVtOiBtb2RlbCB9LFxyXG4gICAgICAgIHBvbGljeTogT3BlblBvbGljeS5DbGVhclxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgY2xvc2VzdWJtZW51KCkge1xyXG4gICAgdGhpcy5zdWJtZW51ID0gbnVsbDtcclxuICB9XHJcbiAgb3Blbm5ldygpIHtcclxuICAgIGlmICh0aGlzLmZvcm1zLmxlbmd0aCA+IDEpIHtcclxuICAgICAgaWYgKHRoaXMuc3VibWVudSA9PT0gJ25ldycpXHJcbiAgICAgICAgdGhpcy5jbG9zZXN1Ym1lbnUoKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMub3BlbnN1Ym1lbnUoJ25ldycpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB0aGlzLl9jcmVhdGUoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY3JlYXRlKCkge1xyXG4gICAgdGhpcy5jcmVhdGluZyA9IHRydWU7XHJcbiAgICB0aGlzLl9tYWlsYm94LmNyZWF0ZSh0aGlzLmZvcm1zWzBdLm5hbWUpLlxyXG4gICAgICBzdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgdGhpcy5jcmVhdGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ21haWxib3gvaScsIHIuaWQuZW5jb2RlSWQoKV0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHBvbGljeTogT3BlblBvbGljeS5DbGVhcixcclxuICAgICAgICAgICAgc3RhdGU6IHsgaXRlbTogciB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSwgKGU6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5faGFuZGxlRXJyKGUpO1xyXG4gICAgICAgIHRoaXMuY3JlYXRpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVFcnIocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlIHwgR2VvbG9jYXRpb25Qb3NpdGlvbkVycm9yKSB7XHJcbiAgICBpZiAocmVzcG9uc2UuY29uc3RydWN0b3IubmFtZSA9PT0gJ1Bvc2l0aW9uRXJyb3InKVxyXG4gICAgICBzd2l0Y2ggKChyZXNwb25zZSBhcyBHZW9sb2NhdGlvblBvc2l0aW9uRXJyb3IpLmNvZGUpIHtcclxuICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignVXNlckRlbmllZEdlb0VycicpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdHZW9FcnInKTtcclxuICAgICAgfVxyXG4gICAgZWxzZSBzd2l0Y2ggKChyZXNwb25zZSBhcyBIdHRwRXJyb3JSZXNwb25zZSkuc3RhdHVzKSB7XHJcbiAgICAgIGNhc2UgNDAxOlxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKCdVbmF1dGhvcml6ZWQnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSA0MDY6XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3JTdHJpbmcoKHJlc3BvbnNlIGFzIEh0dHBFcnJvclJlc3BvbnNlKS5lcnJvcik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNDI2OiAvLyBsaWNlbnNlXHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ0xpY2Vuc2VFcnInKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlbnN1Ym1lbnUobWVudTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5zdWJtZW51ID09PSBtZW51KVxyXG4gICAgICB0aGlzLnN1Ym1lbnVNb2RlID0gdGhpcy5zdWJtZW51TW9kZSA9PT0gJ2Z1bGwnID8gJ3NocmluaycgOiAnZnVsbCc7XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zdWJtZW51ID0gbWVudTtcclxuICAgICAgdGhpcy5zdWJtZW51TW9kZSA9ICdmdWxsJztcclxuICAgIH1cclxuICB9XHJcbiAgY29sbGFwc2VzdWJtZW51KCkge1xyXG4gICAgaWYgKCF0aGlzLnBpbm5lZCAmJiB0aGlzLnN1Ym1lbnUgIT09ICduZXcnKSB0aGlzLnN1Ym1lbnVNb2RlID0gJ3Nocmluayc7XHJcbiAgfVxyXG4gIHRvZ2dsZVBpbm5lZCgpIHtcclxuICAgIHRoaXMucGlubmVkID0gIXRoaXMucGlubmVkO1xyXG4gICAgdGhpcy5zdWJtZW51TW9kZSA9IHRoaXMucGlubmVkID8gJ2Z1bGwnIDogJ3Nocmluayc7XHJcbiAgfVxyXG4gIG92ZXJyaWRlIG1haWxzKCkge1xyXG4gICAgc3VwZXIubWFpbHMoKTtcclxuICAgIHRoaXMub3BlbnN1Ym1lbnUoJ21haWxib3gnKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQWx0ICsgbi9OLCBDdHJsICsgLlxyXG4gICAqIEBwYXJhbSBldmVudFxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5hbHRLZXkgJiYgKGV2ZW50LndoaWNoID09PSAxMTAgfHwgZXZlbnQud2hpY2ggPT09IDc4KSkge1xyXG4gICAgICBpZiAodGhpcy5zdWJtZW51ID09PSAnbmV3JylcclxuICAgICAgICB0aGlzLnN1Ym1lbnUgPSBudWxsO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5mb3Jtcy5sZW5ndGggPT09IDEpXHJcbiAgICAgICAgICB0aGlzLl9jcmVhdGUoKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3VibWVudSA9ICduZXcnO1xyXG4gICAgICAgICAgdGhpcy5zdWJtZW51TW9kZSA9ICdmdWxsJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQud2hpY2ggPT09IDE5MCkge1xyXG4gICAgICBpZiAodGhpcy5zdWJtZW51ICYmICF0aGlzLl9jb2xsYXBzZVRvZ2dsZSkge1xyXG4gICAgICAgIHRoaXMuc3VibWVudU1vZGUgPSB0aGlzLnN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJyA/ICdmdWxsJyA6ICdzaHJpbmsnO1xyXG4gICAgICAgIHRoaXMuX2NvbGxhcHNlVG9nZ2xlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcclxuICAgICAgICB0aGlzLl9jb2xsYXBzZVRvZ2dsZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW2NsYXNzLm5hdi1jb2xsYXBzZWRdPVwiY29sbGFwc2VkXCIgW2NsYXNzLm5hdi1vcGVuXT1cInN1Ym1lbnVcIlxyXG4gICAgIFtjbGFzcy5kaWFsb2ddPVwiZGlhbG9nXCJcclxuICAgICBjbGFzcz1cIm5hdi1tZW51IHJvd1wiPlxyXG4gIDwhLS1bY2xhc3MubG9hZGluZ109XCJsb2FkaW5nXCItLT5cclxuICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8ZGl2IFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ25ldydcIiBjbGFzcz1cIm5ldy1jb250YWluZXJcIiAqbmdJZj1cImZvcm1zLmxlbmd0aFwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJjb21wb3NlXCJcclxuICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidDb21wb3NlJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5uZXcoKVwiIFtkaXNhYmxlZF09XCJjcmVhdGluZ1wiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidDb21wb3NlJ3wgdHJhbnNsYXRlXCIgY29sb3I9XCJwcmltYXJ5XCIgZGF0YS1oZWxwPVwiY29tcG9zZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J0NvbXBvc2UnfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxtYXQtbmF2LWxpc3Q+XHJcbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInRGFzaGJvYXJkJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdignZGFzaGJvYXJkJylcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICdkYXNoYm9hcmQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWhlbHA9XCJkYXNoYm9hcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidEYXNoYm9hcmQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmFwcHM8L21hdC1pY29uPjxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCI+e3snRGFzaGJvYXJkJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAoY2xpY2spPVwibWFpbHMoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidNYWlsYm94J3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ21haWxib3gnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidNYWlsYm94JyB8IHRyYW5zbGF0ZVwiIGRhdGEtaGVscD1cImZvbGRlcnNcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbiBbbWF0QmFkZ2VdPVwicHJvZmlsZS5pbmJveENvdW50XCIgW21hdEJhZGdlSGlkZGVuXT1cInByb2ZpbGUuaW5ib3hDb3VudCA8IDFcIiBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCI+aW5ib3g8L21hdC1pY29uPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIj57eydNYWlsYm94JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidTY2hlZHVsZXInIHwgdHJhbnNsYXRlXCIgKm5nSWY9XCJzY2hlZHVsZXJFbmFibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2KCdzY2hlZHVsZScpXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnc2NoZWR1bGUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInU2NoZWR1bGVyJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5kYXRlX3JhbmdlPC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7ICdTY2hlZHVsZXInIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPSdjaGF0RW5hYmxlZCcgZGF0YS1oZWxwPVwiY2hhdFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0NoYXQnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2KCdjb250YWN0cycpXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnY29udGFjdHMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInQ2hhdCd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEljb24gW21hdEJhZGdlXT1cInByb2ZpbGUuY29udmVyc2F0aW9uc0NvdW50XCIgW21hdEJhZGdlSGlkZGVuXT1cIiFwcm9maWxlLmNvbnZlcnNhdGlvbnNDb3VudFwiIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIj5jaGF0PC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7ICdDaGF0JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cImVuYWJsZUFuYWx5c2lzICYmIHByb2ZpbGUuY3ViZXMubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbnN1Ym1lbnUoJ2N1YmUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnY3ViZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidDdWJlJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaGVscD1cImN1YmVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidDdWJlJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmVxdWFsaXplcjwvbWF0LWljb24+PHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIj57eydDdWJlJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cInByb2ZpbGUucmVwb3J0cy5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuc3VibWVudSgncmVwb3J0cycpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICdyZXBvcnRzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlcG9ydHMnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiIGRhdGEtaGVscD1cInJlcG9ydHNcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZXBvcnRzJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmxpc3RfYWx0PC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J1JlcG9ydHMnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzeXNBZG1pblwiPlxyXG4gICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICA8bWF0LWxpc3QtaXRlbSAoY2xpY2spPVwib3BlbnN1Ym1lbnUoJ2FkbWluJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnYWRtaW4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidTeXN0ZW0nfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1N5c3RlbScgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmRldmljZV9odWI8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J1dvcmtmbG93JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC1uYXYtbGlzdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgPCEtLTxsb3R0aWUgbmFtZT1cImxmMzBfZWRpdG9yX3FyN3pnbWNzXCIgKm5nSWY9XCJsb2FkaW5nXCI+PC9sb3R0aWU+LS0+XHJcbiAgICA8IS0tQGFuaW1hdGUtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJzaWduLWluXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRhdGEtaGVscD1cInNpZ24taW5cIiBbYml6ZG9jVG9vbHRpcF09XCInU2V0dGluZ3MnIHwgdHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxyXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NldHRpbmdzJyB8IHRyYW5zbGF0ZVwiIChjbGljayk9XCJvcHRpb25zKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LWljb24gbWF0QW5pbWF0ZT1cInJvdGF0ZVwiPnNldHRpbmdzb248L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbYXR0ci5hcmlhLWxhYmVsXT1cIidQb3dlcicgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwic2lnbm91dCgkZXZlbnQpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0V4aXQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPmxvZ291dDwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInN1Ym1lbnVcIiBjbGFzcz1cInN1Yi1tZW51XCIgKG1vdXNlbGVhdmUpPVwiY29sbGFwc2VzdWJtZW51KClcIiBbQHN1Ym1lbnVdPVwic3VibWVudU1vZGVcIiAoQHN1Ym1lbnUuZG9uZSk9XCJyZXNpemUoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFjdGlvblwiICpuZ0lmPVwic3VibWVudSAhPT0gJ25ldydcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRvZ2dsZVBpbm5lZCgpXCI+PG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiIFtiaXpkb2NUb29sdGlwXT1cIihwaW5uZWQ/J0NvbGxhcHNlJzonRXhwYW5kJyl8dHJhbnNsYXRlXCIgW2lubGluZV09XCJ0cnVlXCI+e3twaW5uZWQgPyAna2V5Ym9hcmRfZG91YmxlX2Fycm93X2xlZnQnIDogJ2tleWJvYXJkX2RvdWJsZV9hcnJvd19yaWdodCd9fTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInN1Ym1lbnVcIj5cclxuICAgICAgPGJpemRvYy1uZXctbWVudSAqbmdTd2l0Y2hDYXNlPVwiJ25ldydcIiAoY2hhbmdlKT1cImNsb3Nlc3VibWVudSgpXCI+PC9iaXpkb2MtbmV3LW1lbnU+XHJcbiAgICAgIDxiaXpkb2MtZm9sZGVycy1tZW51ICpuZ1N3aXRjaENhc2U9XCInbWFpbGJveCdcIiBbY29sbGFwc2VkXT1cInN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJ1wiIChjaGFuZ2UpPVwiY29sbGFwc2VzdWJtZW51KClcIj48L2JpemRvYy1mb2xkZXJzLW1lbnU+XHJcbiAgICAgIDxiaXpkb2MtYWRtaW4tbWVudSAqbmdTd2l0Y2hDYXNlPVwiJ2FkbWluJ1wiIFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCI+PC9iaXpkb2MtYWRtaW4tbWVudT5cclxuICAgICAgPGJpemRvYy1yZXBvcnRzLW1lbnUgKm5nU3dpdGNoQ2FzZT1cIidyZXBvcnRzJ1wiIFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCIgKGNoYW5nZSk9XCJjb2xsYXBzZXN1Ym1lbnUoKVwiPjwvYml6ZG9jLXJlcG9ydHMtbWVudT5cclxuICAgICAgPGJpemRvYy1jdWJlLW1lbnUgKm5nU3dpdGNoQ2FzZT1cIidjdWJlJ1wiIFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCIgKGNoYW5nZSk9XCJjb2xsYXBzZXN1Ym1lbnUoKVwiPjwvYml6ZG9jLWN1YmUtbWVudT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJiYWNrZHJvcFwiICpuZ0lmPVwiZGlhbG9nXCI+PC9kaXY+XHJcbjwvZGl2PlxyXG48Yml6ZG9jLXBhbmVzLW91dGxldCAoZGlhbG9nQ2hhbmdlKT1cImRpYWxvZyA9ICRldmVudFwiPjwvYml6ZG9jLXBhbmVzLW91dGxldD5cclxuIl19
@@ -104,9 +104,9 @@ export class HomeMobileComponent extends HomeBase {
104
104
  this.secondaryDrawer.toggle().then(this.resize);
105
105
  }
106
106
  }
107
- HomeMobileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: HomeMobileComponent, deps: [{ token: i0.Injector }, { token: i1.Router }, { token: i2.MatBottomSheet }, { token: i3.Directionality }, { token: i4.SessionService }, { token: i5.Popup }, { token: i6.HubService }, { token: i7.TranslateService }, { token: i8.MatSnackBar }, { token: i9.ChatInfo }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
108
- HomeMobileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: HomeMobileComponent, selector: "bizdoc-mobile-home", viewQueries: [{ propertyName: "menuDrawer", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "secondaryDrawer", first: true, predicate: ["secondaryDrawer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar color=\"primary\" [class.loading]=\"loading\">\r\n <button mat-icon-button (click)='menuDrawer.toggle()' [bizdocTooltip]=\"'Menu' | translate\" [attr.aria-label]=\"'Menu' | translate\"><mat-icon>menu</mat-icon></button>\r\n <div [routerLink]='[\"/dashboard\"]' matRipple [matRippleUnbounded]=\"true\" [matRippleRadius]=\"100\" [matRippleCentered]=\"true\" style=\"outline: none\">\r\n <img id=\"logo\" src=\"logo.svg\" alt=\"\" />\r\n </div>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"notifs()\" data-help=\"notifications\" [attr.aria-label]=\"'Notifications' | translate\" [bizdocTooltip]=\"'Notifications' | translate\"><mat-icon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\" matBadgeColor=\"accent\">notifications</mat-icon></button>\r\n <button mat-icon-button *ngIf='chatEnabled' (click)=\"chat()\" data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\" [bizdocTooltip]=\"'Chat' | translate\"><mat-icon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container autosize>\r\n <mat-sidenav #menuDrawer data-help=\"menu\" mode=\"over\" closed class=\"mat-elevation-z5\">\r\n <mat-nav-list>\r\n <mat-list-item [routerLink]='[\"/dashboard\"]' [attr.aria-label]=\"'Dashboard' | translate\" routerLinkActive=\"active\" data-help=\"dashboard\">\r\n <mat-icon matListIcon>apps</mat-icon><span>{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-expansion-panel class=\"mat-elevation-z0\" [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>inbox</mat-icon>\r\n <span>{{'Mailbox' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let f of profile.folders\" [routerLink]='[\"/mailbox/f\", f.name]' routerLinkActive=\"active\" [attr.data-help]=\"'folder-'+f.name\" [attr.aria-label]=\"f.title\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon><span>{{f.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-list-item [routerLink]='[\"/schedule\"]' routerLinkActive=\"active\" *ngIf=\"schedulerEnabled\" [attr.aria-label]=\"'Scheduler' | translate\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span>{{ 'Schedule' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <ng-container *ngIf=\"enableAnalysis\">\r\n <ng-container *ngFor=\"let c of profile.cubes\">\r\n <mat-expansion-panel class=\"mat-elevation-z0\" *ngIf=\"c.views.length\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>{{ c.icon || 'insert_chart_outlined'}}</mat-icon>\r\n <span>{{c.title}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let v of c.views\" [routerLink]='[\"/cube\", c.name, \"v\", v.name]' routerLinkActive=\"active\" [attr.data-help]=\"'cube-view-'+v.name\">\r\n <mat-icon matListIcon>{{v.icon || 'insights'}}</mat-icon><span>{{v.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n </ng-container>\r\n </ng-container>\r\n <mat-expansion-panel *ngIf=\"profile.reports.length\" class=\"mat-elevation-z0\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>list_alt</mat-icon>\r\n <span>{{'Reports' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let r of profile.reports\" [routerLink]='[\"/reports\", r.name]' routerLinkActive=\"active\"\r\n [attr.aria-label]=\"r.title\" [attr.data-help]=\"'report-'+r.name\">\r\n <mat-icon matListIcon>{{r.icon}}</mat-icon><span>{{r.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" data-help=\"options\"\r\n (click)=\"options($event)\">\r\n <mat-icon matListIcon>settingson</mat-icon>\r\n <span>{{'Settings' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"signout($event)\">\r\n <mat-icon matListIcon>logout</mat-icon>\r\n <span>{{'Power' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n </mat-sidenav>\r\n <mat-sidenav #secondaryDrawer position=\"end\" closed mode=\"over\" autoFocus=\"false\" class=\"mat-elevation-z3\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-chat [(contact)]=\"contact\" *ngSwitchCase=\"'chat'\"></bizdoc-chat>\r\n <bizdoc-notifications-table *ngSwitchCase=\"'notifications'\"></bizdoc-notifications-table>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content data-help=\"main\">\r\n <router-outlet></router-outlet>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n<button mat-fab [attr.aria-label]=\"'Compose'| translate\" [@fabFull]=\"composeState\" *ngIf=\"composeEnabled\" color=\"accent\" (click)=\"compose()\" data-help=\"compose\"><mat-icon>add</mat-icon></button>\r\n", styles: ["#logo{padding-left:12px;padding-right:12px;vertical-align:middle;width:120px;filter:invert(1)}:host ::ng-deep .mat-sidenav-container{height:calc(100% - 58px)}:host ::ng-deep .mat-sidenav-container .home-content{padding:unset}::ng-deep .mat-drawer-inner-container{height:auto}router-outlet~*{position:absolute;height:100%;width:100%}.mat-fab{z-index:1;position:absolute;bottom:30px;right:30px}::ng-deep [dir=rtl] .mat-fab{left:30px;right:unset}:host ::ng-deep .mat-expansion-panel-header{padding:0 18px}:host ::ng-deep .mat-expansion-panel-header .mat-expansion-panel-header-title .mat-icon{padding:0 3px}\n"], dependencies: [{ kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i11.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i12.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i12.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i12.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i14.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i14.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i14.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { kind: "component", type: i15.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i16.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i16.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i16.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i17.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i18.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i19.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i20.NotificationsTableComponent, selector: "bizdoc-notifications-table" }, { kind: "directive", type: i21.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i22.ChatComponent, selector: "bizdoc-chat", inputs: ["contact"], outputs: ["contactChange"] }, { kind: "pipe", type: i23.TranslatePipe, name: "translate" }], animations: [fabAnimation] });
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: HomeMobileComponent, decorators: [{
107
+ HomeMobileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: HomeMobileComponent, deps: [{ token: i0.Injector }, { token: i1.Router }, { token: i2.MatBottomSheet }, { token: i3.Directionality }, { token: i4.SessionService }, { token: i5.Popup }, { token: i6.HubService }, { token: i7.TranslateService }, { token: i8.MatSnackBar }, { token: i9.ChatInfo }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
108
+ HomeMobileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: HomeMobileComponent, selector: "bizdoc-mobile-home", viewQueries: [{ propertyName: "menuDrawer", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "secondaryDrawer", first: true, predicate: ["secondaryDrawer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar color=\"primary\" [class.loading]=\"loading\">\r\n <button mat-icon-button (click)='menuDrawer.toggle()' [bizdocTooltip]=\"'Menu' | translate\" [attr.aria-label]=\"'Menu' | translate\"><mat-icon>menu</mat-icon></button>\r\n <div [routerLink]='[\"/dashboard\"]' matRipple [matRippleUnbounded]=\"true\" [matRippleRadius]=\"100\" [matRippleCentered]=\"true\" style=\"outline: none\">\r\n <img id=\"logo\" src=\"logo.svg\" alt=\"\" />\r\n </div>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"notifs()\" data-help=\"notifications\" [attr.aria-label]=\"'Notifications' | translate\" [bizdocTooltip]=\"'Notifications' | translate\"><mat-icon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\" matBadgeColor=\"accent\">notifications</mat-icon></button>\r\n <button mat-icon-button *ngIf='chatEnabled' (click)=\"chat()\" data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\" [bizdocTooltip]=\"'Chat' | translate\"><mat-icon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container autosize>\r\n <mat-sidenav #menuDrawer data-help=\"menu\" mode=\"over\" closed class=\"mat-elevation-z5\">\r\n <mat-nav-list>\r\n <mat-list-item [routerLink]='[\"/dashboard\"]' [attr.aria-label]=\"'Dashboard' | translate\" routerLinkActive=\"active\" data-help=\"dashboard\">\r\n <mat-icon matListIcon>apps</mat-icon><span>{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-expansion-panel class=\"mat-elevation-z0\" [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>inbox</mat-icon>\r\n <span>{{'Mailbox' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let f of profile.folders\" [routerLink]='[\"/mailbox/f\", f.name]' routerLinkActive=\"active\" [attr.data-help]=\"'folder-'+f.name\" [attr.aria-label]=\"f.title\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon><span>{{f.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-list-item [routerLink]='[\"/schedule\"]' routerLinkActive=\"active\" *ngIf=\"schedulerEnabled\" [attr.aria-label]=\"'Scheduler' | translate\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span>{{ 'Schedule' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <ng-container *ngIf=\"enableAnalysis\">\r\n <ng-container *ngFor=\"let c of profile.cubes\">\r\n <mat-expansion-panel class=\"mat-elevation-z0\" *ngIf=\"c.views.length\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>{{ c.icon || 'insert_chart_outlined'}}</mat-icon>\r\n <span>{{c.title}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let v of c.views\" [routerLink]='[\"/cube\", c.name, \"v\", v.name]' routerLinkActive=\"active\" [attr.data-help]=\"'cube-view-'+v.name\">\r\n <mat-icon matListIcon>{{v.icon || 'insights'}}</mat-icon><span>{{v.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n </ng-container>\r\n </ng-container>\r\n <mat-expansion-panel *ngIf=\"profile.reports.length\" class=\"mat-elevation-z0\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>list_alt</mat-icon>\r\n <span>{{'Reports' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let r of profile.reports\" [routerLink]='[\"/reports\", r.name]' routerLinkActive=\"active\"\r\n [attr.aria-label]=\"r.title\" [attr.data-help]=\"'report-'+r.name\">\r\n <mat-icon matListIcon>{{r.icon}}</mat-icon><span>{{r.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" data-help=\"options\"\r\n (click)=\"options($event)\">\r\n <mat-icon matListIcon>settingson</mat-icon>\r\n <span>{{'Settings' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"signout($event)\">\r\n <mat-icon matListIcon>logout</mat-icon>\r\n <span>{{'Power' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n </mat-sidenav>\r\n <mat-sidenav #secondaryDrawer position=\"end\" closed mode=\"over\" autoFocus=\"false\" class=\"mat-elevation-z3\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-chat [(contact)]=\"contact\" *ngSwitchCase=\"'chat'\"></bizdoc-chat>\r\n <bizdoc-notifications-table *ngSwitchCase=\"'notifications'\"></bizdoc-notifications-table>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content data-help=\"main\">\r\n <router-outlet></router-outlet>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n<button mat-fab [attr.aria-label]=\"'Compose'| translate\" [@fabFull]=\"composeState\" *ngIf=\"composeEnabled\" color=\"accent\" (click)=\"compose()\" data-help=\"compose\"><mat-icon>add</mat-icon></button>\r\n", styles: ["#logo{padding-left:12px;padding-right:12px;vertical-align:middle;width:120px;filter:invert(1)}:host ::ng-deep .mat-sidenav-container{height:calc(100% - 58px)}:host ::ng-deep .mat-sidenav-container .home-content{padding:unset}::ng-deep .mat-drawer-inner-container{height:auto}router-outlet~*{position:absolute;height:100%;width:100%}.mat-fab{z-index:1;position:absolute;bottom:30px;right:30px}::ng-deep [dir=rtl] .mat-fab{left:30px;right:unset}:host ::ng-deep .mat-expansion-panel-header{padding:0 18px}:host ::ng-deep .mat-expansion-panel-header .mat-expansion-panel-header-title .mat-icon{padding:0 3px}\n"], dependencies: [{ kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i11.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i12.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i12.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i12.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i14.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i14.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i14.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { kind: "component", type: i15.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i16.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i16.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i16.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i17.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i18.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i19.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i20.NotificationsTableComponent, selector: "bizdoc-notifications-table" }, { kind: "directive", type: i21.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i22.ChatComponent, selector: "bizdoc-chat", inputs: ["contact"], outputs: ["contactChange"] }, { kind: "pipe", type: i23.TranslatePipe, name: "translate" }], animations: [fabAnimation] });
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: HomeMobileComponent, decorators: [{
110
110
  type: Component,
111
111
  args: [{ selector: 'bizdoc-mobile-home', animations: [fabAnimation], template: "<mat-toolbar color=\"primary\" [class.loading]=\"loading\">\r\n <button mat-icon-button (click)='menuDrawer.toggle()' [bizdocTooltip]=\"'Menu' | translate\" [attr.aria-label]=\"'Menu' | translate\"><mat-icon>menu</mat-icon></button>\r\n <div [routerLink]='[\"/dashboard\"]' matRipple [matRippleUnbounded]=\"true\" [matRippleRadius]=\"100\" [matRippleCentered]=\"true\" style=\"outline: none\">\r\n <img id=\"logo\" src=\"logo.svg\" alt=\"\" />\r\n </div>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"notifs()\" data-help=\"notifications\" [attr.aria-label]=\"'Notifications' | translate\" [bizdocTooltip]=\"'Notifications' | translate\"><mat-icon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\" matBadgeColor=\"accent\">notifications</mat-icon></button>\r\n <button mat-icon-button *ngIf='chatEnabled' (click)=\"chat()\" data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\" [bizdocTooltip]=\"'Chat' | translate\"><mat-icon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container autosize>\r\n <mat-sidenav #menuDrawer data-help=\"menu\" mode=\"over\" closed class=\"mat-elevation-z5\">\r\n <mat-nav-list>\r\n <mat-list-item [routerLink]='[\"/dashboard\"]' [attr.aria-label]=\"'Dashboard' | translate\" routerLinkActive=\"active\" data-help=\"dashboard\">\r\n <mat-icon matListIcon>apps</mat-icon><span>{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-expansion-panel class=\"mat-elevation-z0\" [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>inbox</mat-icon>\r\n <span>{{'Mailbox' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let f of profile.folders\" [routerLink]='[\"/mailbox/f\", f.name]' routerLinkActive=\"active\" [attr.data-help]=\"'folder-'+f.name\" [attr.aria-label]=\"f.title\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon><span>{{f.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-list-item [routerLink]='[\"/schedule\"]' routerLinkActive=\"active\" *ngIf=\"schedulerEnabled\" [attr.aria-label]=\"'Scheduler' | translate\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span>{{ 'Schedule' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <ng-container *ngIf=\"enableAnalysis\">\r\n <ng-container *ngFor=\"let c of profile.cubes\">\r\n <mat-expansion-panel class=\"mat-elevation-z0\" *ngIf=\"c.views.length\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>{{ c.icon || 'insert_chart_outlined'}}</mat-icon>\r\n <span>{{c.title}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let v of c.views\" [routerLink]='[\"/cube\", c.name, \"v\", v.name]' routerLinkActive=\"active\" [attr.data-help]=\"'cube-view-'+v.name\">\r\n <mat-icon matListIcon>{{v.icon || 'insights'}}</mat-icon><span>{{v.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n </ng-container>\r\n </ng-container>\r\n <mat-expansion-panel *ngIf=\"profile.reports.length\" class=\"mat-elevation-z0\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>list_alt</mat-icon>\r\n <span>{{'Reports' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let r of profile.reports\" [routerLink]='[\"/reports\", r.name]' routerLinkActive=\"active\"\r\n [attr.aria-label]=\"r.title\" [attr.data-help]=\"'report-'+r.name\">\r\n <mat-icon matListIcon>{{r.icon}}</mat-icon><span>{{r.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" data-help=\"options\"\r\n (click)=\"options($event)\">\r\n <mat-icon matListIcon>settingson</mat-icon>\r\n <span>{{'Settings' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"signout($event)\">\r\n <mat-icon matListIcon>logout</mat-icon>\r\n <span>{{'Power' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n </mat-sidenav>\r\n <mat-sidenav #secondaryDrawer position=\"end\" closed mode=\"over\" autoFocus=\"false\" class=\"mat-elevation-z3\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-chat [(contact)]=\"contact\" *ngSwitchCase=\"'chat'\"></bizdoc-chat>\r\n <bizdoc-notifications-table *ngSwitchCase=\"'notifications'\"></bizdoc-notifications-table>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content data-help=\"main\">\r\n <router-outlet></router-outlet>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n<button mat-fab [attr.aria-label]=\"'Compose'| translate\" [@fabFull]=\"composeState\" *ngIf=\"composeEnabled\" color=\"accent\" (click)=\"compose()\" data-help=\"compose\"><mat-icon>add</mat-icon></button>\r\n", styles: ["#logo{padding-left:12px;padding-right:12px;vertical-align:middle;width:120px;filter:invert(1)}:host ::ng-deep .mat-sidenav-container{height:calc(100% - 58px)}:host ::ng-deep .mat-sidenav-container .home-content{padding:unset}::ng-deep .mat-drawer-inner-container{height:auto}router-outlet~*{position:absolute;height:100%;width:100%}.mat-fab{z-index:1;position:absolute;bottom:30px;right:30px}::ng-deep [dir=rtl] .mat-fab{left:30px;right:unset}:host ::ng-deep .mat-expansion-panel-header{padding:0 18px}:host ::ng-deep .mat-expansion-panel-header .mat-expansion-panel-header-title .mat-icon{padding:0 3px}\n"] }]
112
112
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.Router }, { type: i2.MatBottomSheet }, { type: i3.Directionality }, { type: i4.SessionService }, { type: i5.Popup }, { type: i6.HubService }, { type: i7.TranslateService }, { type: i8.MatSnackBar }, { type: i9.ChatInfo }, { type: undefined, decorators: [{
@@ -58,9 +58,9 @@ export class QuickNotificationsComponent extends NotificationsComponentBase {
58
58
  this._service.mute(item.id, mute);
59
59
  }
60
60
  }
61
- QuickNotificationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: QuickNotificationsComponent, deps: [{ token: i1.PopupRef }, { token: i2.PanesRouter }, { token: i3.NotificationsService }, { token: i4.SessionService }, { token: i0.Injector }, { token: i5.OptionsService }], target: i0.ɵɵFactoryTarget.Component });
62
- QuickNotificationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: QuickNotificationsComponent, selector: "bizdoc-notifications", usesInheritance: true, ngImport: i0, template: "<mat-nav-list role=\"list\">\r\n <!--dense-->\r\n <mat-list-item role=\"listitem\" *ngFor=\"let n of notifications | sort: 'sent' : 'desc' | slice:0:9; let i=index\" class=\"item\" [class.read]=\"n.read\" (click)=\"open(n, $event)\">\r\n <h3 *ngComponentOutlet=\"n.comp; injector: n.injector\" matLine></h3>\r\n <p matLine><span [bizdocTooltip]=\"n.sent | amCalendar\">{{n.sent | amTimeAgo }}</span></p>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [matMenuTriggerData]=\"{muted: false}\" class=\"tool\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <ng-template matMenuContent let-muted=\"muted\">\r\n <button mat-menu-item (click)=\"mute(n, true)\">{{ (!(muted | async) ? 'Mute': 'Unmute') | translate}}</button>\r\n </ng-template>\r\n </mat-menu>\r\n </mat-list-item>\r\n</mat-nav-list>\r\n<div class=\"tools row\">\r\n <a (click)=\"all()\">{{'ShowAll'|translate}}</a>&nbsp;\r\n <span class=\"divider\"></span>\r\n <a (click)='options()'>{{'Options'|translate}}</a>\r\n</div>\r\n", styles: [".item .tool{opacity:.1}.item:hover .tool{opacity:1}.tools{font-feature-settings:\"smcp\",\"c2sc\";font-variant-caps:all-small-caps;font-size:medium;padding:8px}\n"], dependencies: [{ kind: "directive", type: i6.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.MatLine, selector: "[mat-line], [matLine]" }, { kind: "component", type: i8.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i8.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i11.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i12.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.SlicePipe, name: "slice" }, { kind: "pipe", type: i13.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i14.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: i15.ArraySortPipe, name: "sort" }, { kind: "pipe", type: i16.TranslatePipe, name: "translate" }] });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: QuickNotificationsComponent, decorators: [{
61
+ QuickNotificationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: QuickNotificationsComponent, deps: [{ token: i1.PopupRef }, { token: i2.PanesRouter }, { token: i3.NotificationsService }, { token: i4.SessionService }, { token: i0.Injector }, { token: i5.OptionsService }], target: i0.ɵɵFactoryTarget.Component });
62
+ QuickNotificationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: QuickNotificationsComponent, selector: "bizdoc-notifications", usesInheritance: true, ngImport: i0, template: "<mat-nav-list role=\"list\">\r\n <!--dense-->\r\n <mat-list-item role=\"listitem\" *ngFor=\"let n of notifications | sort: 'sent' : 'desc' | slice:0:9; let i=index\" class=\"item\" [class.read]=\"n.read\" (click)=\"open(n, $event)\">\r\n <h3 *ngComponentOutlet=\"n.comp; injector: n.injector\" matLine></h3>\r\n <p matLine><span [bizdocTooltip]=\"n.sent | amCalendar\">{{n.sent | amTimeAgo }}</span></p>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [matMenuTriggerData]=\"{muted: false}\" class=\"tool\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <ng-template matMenuContent let-muted=\"muted\">\r\n <button mat-menu-item (click)=\"mute(n, true)\">{{ (!(muted | async) ? 'Mute': 'Unmute') | translate}}</button>\r\n </ng-template>\r\n </mat-menu>\r\n </mat-list-item>\r\n</mat-nav-list>\r\n<div class=\"tools row\">\r\n <a (click)=\"all()\">{{'ShowAll'|translate}}</a>&nbsp;\r\n <span class=\"divider\"></span>\r\n <a (click)='options()'>{{'Options'|translate}}</a>\r\n</div>\r\n", styles: [".item .tool{opacity:.1}.item:hover .tool{opacity:1}.tools{font-feature-settings:\"smcp\",\"c2sc\";font-variant-caps:all-small-caps;font-size:medium;padding:8px}\n"], dependencies: [{ kind: "directive", type: i6.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.MatLine, selector: "[mat-line], [matLine]" }, { kind: "component", type: i8.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i8.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i11.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i12.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.SlicePipe, name: "slice" }, { kind: "pipe", type: i13.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i14.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: i15.ArraySortPipe, name: "sort" }, { kind: "pipe", type: i16.TranslatePipe, name: "translate" }] });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: QuickNotificationsComponent, decorators: [{
64
64
  type: Component,
65
65
  args: [{ selector: 'bizdoc-notifications', template: "<mat-nav-list role=\"list\">\r\n <!--dense-->\r\n <mat-list-item role=\"listitem\" *ngFor=\"let n of notifications | sort: 'sent' : 'desc' | slice:0:9; let i=index\" class=\"item\" [class.read]=\"n.read\" (click)=\"open(n, $event)\">\r\n <h3 *ngComponentOutlet=\"n.comp; injector: n.injector\" matLine></h3>\r\n <p matLine><span [bizdocTooltip]=\"n.sent | amCalendar\">{{n.sent | amTimeAgo }}</span></p>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [matMenuTriggerData]=\"{muted: false}\" class=\"tool\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <ng-template matMenuContent let-muted=\"muted\">\r\n <button mat-menu-item (click)=\"mute(n, true)\">{{ (!(muted | async) ? 'Mute': 'Unmute') | translate}}</button>\r\n </ng-template>\r\n </mat-menu>\r\n </mat-list-item>\r\n</mat-nav-list>\r\n<div class=\"tools row\">\r\n <a (click)=\"all()\">{{'ShowAll'|translate}}</a>&nbsp;\r\n <span class=\"divider\"></span>\r\n <a (click)='options()'>{{'Options'|translate}}</a>\r\n</div>\r\n", styles: [".item .tool{opacity:.1}.item:hover .tool{opacity:1}.tools{font-feature-settings:\"smcp\",\"c2sc\";font-variant-caps:all-small-caps;font-size:medium;padding:8px}\n"] }]
66
66
  }], ctorParameters: function () { return [{ type: i1.PopupRef }, { type: i2.PanesRouter }, { type: i3.NotificationsService }, { type: i4.SessionService }, { type: i0.Injector }, { type: i5.OptionsService }]; } });
@@ -12,15 +12,14 @@ import * as i5 from "../../core/hub.service";
12
12
  import * as i6 from "../../core/session.service";
13
13
  import * as i7 from "@angular/material/dialog";
14
14
  import * as i8 from "@angular/common";
15
- import * as i9 from "@angular/flex-layout/flex";
16
- import * as i10 from "@angular/material/badge";
17
- import * as i11 from "@angular/material/list";
18
- import * as i12 from "@angular/material/divider";
19
- import * as i13 from "@angular/material/button";
20
- import * as i14 from "@angular/material/icon";
21
- import * as i15 from "@angular/material/menu";
22
- import * as i16 from "../../core/popup/tooltip.directive";
23
- import * as i17 from "../../core/pipes/translate.pipe";
15
+ import * as i9 from "@angular/material/badge";
16
+ import * as i10 from "@angular/material/list";
17
+ import * as i11 from "@angular/material/divider";
18
+ import * as i12 from "@angular/material/button";
19
+ import * as i13 from "@angular/material/icon";
20
+ import * as i14 from "@angular/material/menu";
21
+ import * as i15 from "../../core/popup/tooltip.directive";
22
+ import * as i16 from "../../core/pipes/translate.pipe";
24
23
  /** options component*/
25
24
  export class QuickOptionsComponent {
26
25
  /** options ctor */
@@ -85,10 +84,10 @@ export class QuickOptionsComponent {
85
84
  this._destroy.complete();
86
85
  }
87
86
  }
88
- QuickOptionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: QuickOptionsComponent, deps: [{ token: i1.PromptService }, { token: i2.GuideService }, { token: i3.OptionsService }, { token: i4.PopupRef }, { token: i5.HubService }, { token: i6.SessionService }, { token: i7.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
89
- QuickOptionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: QuickOptionsComponent, selector: "bizdoc-quick-options", ngImport: i0, template: "<div fxLayout=\"column\">\r\n <div class=\"profile-name\">\r\n <span class=\"mat-title\">\r\n <ng-container *ngIf=\"by\">{{by}} \\ </ng-container>\r\n {{name}}</span>\r\n </div>\r\n <div fxLayoutAlign=\"center center\" *ngIf=\"themes.length > 1\">\r\n <button *ngFor=\"let t of themes\" (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\"></button>\r\n </div>\r\n</div>\r\n<mat-nav-list role=\"list\">\r\n <mat-list-item role=\"listitem\" *ngIf=\"!online\" (click)=\"revive()\">\r\n <mat-icon [bizdocTooltip]=\"'Connect'|translate\">wifi_off</mat-icon>\r\n </mat-list-item>\r\n <mat-list-item role=\"listitem\" *ngIf=\"online\" [matMenuTriggerFor]=\"availability\">\r\n {{'ShowAs' | translate : (available | translate | lowercase)}}\r\n </mat-list-item>\r\n <mat-menu #availability>\r\n <button mat-menu-item *ngFor=\"let m of modes\" (click)=\"setAvailable(m)\">{{m | translate}}</button>\r\n </mat-menu>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"options()\">\r\n {{'Options' | translate}}\r\n </mat-list-item>\r\n <mat-list-item role=\"listitem\" [matMenuTriggerFor]=\"language\">\r\n {{'ChangeLanguage' | translate}}\r\n </mat-list-item>\r\n <mat-menu #language>\r\n <button mat-menu-item *ngFor=\"let l of languages\" (click)=\"changeLanguage(l)\">{{l | translate}}</button>\r\n </mat-menu>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" [matMenuTriggerFor]=\"help\">\r\n {{'Help' | translate}}\r\n <span [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\"></span>\r\n </mat-list-item>\r\n <mat-menu #help>\r\n <button mat-menu-item *ngFor=\"let g of guides\" (click)=\"guide(g.name)\">{{g.title}}</button>\r\n </mat-menu>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</mat-list-item>\r\n</mat-nav-list>\r\n", styles: [".profile-name{margin:8px}.theme{height:22px;width:22px;border-radius:13px;margin:4px}.theme.active.dark{border:2px solid #f4f4f4}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i9.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i10.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i11.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i11.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "component", type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i13.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i14.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i15.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i15.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i15.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i16.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i8.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i17.TranslatePipe, name: "translate" }] });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: QuickOptionsComponent, decorators: [{
87
+ QuickOptionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: QuickOptionsComponent, deps: [{ token: i1.PromptService }, { token: i2.GuideService }, { token: i3.OptionsService }, { token: i4.PopupRef }, { token: i5.HubService }, { token: i6.SessionService }, { token: i7.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
88
+ QuickOptionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: QuickOptionsComponent, selector: "bizdoc-quick-options", ngImport: i0, template: "<div class=\"column\">\r\n <div class=\"profile-name\">\r\n <span class=\"mat-title\">\r\n <ng-container *ngIf=\"by\">{{by}} \\ </ng-container>\r\n {{name}}</span>\r\n </div>\r\n <div class=\"center center\" *ngIf=\"themes.length > 1\">\r\n <button *ngFor=\"let t of themes\" (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\"></button>\r\n </div>\r\n</div>\r\n<mat-nav-list role=\"list\">\r\n <mat-list-item role=\"listitem\" *ngIf=\"!online\" (click)=\"revive()\">\r\n <mat-icon [bizdocTooltip]=\"'Connect'|translate\">wifi_off</mat-icon>\r\n </mat-list-item>\r\n <mat-list-item role=\"listitem\" *ngIf=\"online\" [matMenuTriggerFor]=\"availability\">\r\n {{'ShowAs' | translate : (available | translate | lowercase)}}\r\n </mat-list-item>\r\n <mat-menu #availability>\r\n <button mat-menu-item *ngFor=\"let m of modes\" (click)=\"setAvailable(m)\">{{m | translate}}</button>\r\n </mat-menu>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"options()\">\r\n {{'Options' | translate}}\r\n </mat-list-item>\r\n <mat-list-item role=\"listitem\" [matMenuTriggerFor]=\"language\">\r\n {{'ChangeLanguage' | translate}}\r\n </mat-list-item>\r\n <mat-menu #language>\r\n <button mat-menu-item *ngFor=\"let l of languages\" (click)=\"changeLanguage(l)\">{{l | translate}}</button>\r\n </mat-menu>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" [matMenuTriggerFor]=\"help\">\r\n {{'Help' | translate}}\r\n <span [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\"></span>\r\n </mat-list-item>\r\n <mat-menu #help>\r\n <button mat-menu-item *ngFor=\"let g of guides\" (click)=\"guide(g.name)\">{{g.title}}</button>\r\n </mat-menu>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</mat-list-item>\r\n</mat-nav-list>\r\n", styles: [".profile-name{margin:8px}.theme{height:22px;width:22px;border-radius:13px;margin:4px}.theme.active.dark{border:2px solid #f4f4f4}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i10.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i10.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "component", type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i12.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i13.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i14.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i14.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i14.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i15.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i8.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i16.TranslatePipe, name: "translate" }] });
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: QuickOptionsComponent, decorators: [{
91
90
  type: Component,
92
- args: [{ selector: 'bizdoc-quick-options', template: "<div fxLayout=\"column\">\r\n <div class=\"profile-name\">\r\n <span class=\"mat-title\">\r\n <ng-container *ngIf=\"by\">{{by}} \\ </ng-container>\r\n {{name}}</span>\r\n </div>\r\n <div fxLayoutAlign=\"center center\" *ngIf=\"themes.length > 1\">\r\n <button *ngFor=\"let t of themes\" (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\"></button>\r\n </div>\r\n</div>\r\n<mat-nav-list role=\"list\">\r\n <mat-list-item role=\"listitem\" *ngIf=\"!online\" (click)=\"revive()\">\r\n <mat-icon [bizdocTooltip]=\"'Connect'|translate\">wifi_off</mat-icon>\r\n </mat-list-item>\r\n <mat-list-item role=\"listitem\" *ngIf=\"online\" [matMenuTriggerFor]=\"availability\">\r\n {{'ShowAs' | translate : (available | translate | lowercase)}}\r\n </mat-list-item>\r\n <mat-menu #availability>\r\n <button mat-menu-item *ngFor=\"let m of modes\" (click)=\"setAvailable(m)\">{{m | translate}}</button>\r\n </mat-menu>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"options()\">\r\n {{'Options' | translate}}\r\n </mat-list-item>\r\n <mat-list-item role=\"listitem\" [matMenuTriggerFor]=\"language\">\r\n {{'ChangeLanguage' | translate}}\r\n </mat-list-item>\r\n <mat-menu #language>\r\n <button mat-menu-item *ngFor=\"let l of languages\" (click)=\"changeLanguage(l)\">{{l | translate}}</button>\r\n </mat-menu>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" [matMenuTriggerFor]=\"help\">\r\n {{'Help' | translate}}\r\n <span [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\"></span>\r\n </mat-list-item>\r\n <mat-menu #help>\r\n <button mat-menu-item *ngFor=\"let g of guides\" (click)=\"guide(g.name)\">{{g.title}}</button>\r\n </mat-menu>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</mat-list-item>\r\n</mat-nav-list>\r\n", styles: [".profile-name{margin:8px}.theme{height:22px;width:22px;border-radius:13px;margin:4px}.theme.active.dark{border:2px solid #f4f4f4}\n"] }]
91
+ args: [{ selector: 'bizdoc-quick-options', template: "<div class=\"column\">\r\n <div class=\"profile-name\">\r\n <span class=\"mat-title\">\r\n <ng-container *ngIf=\"by\">{{by}} \\ </ng-container>\r\n {{name}}</span>\r\n </div>\r\n <div class=\"center center\" *ngIf=\"themes.length > 1\">\r\n <button *ngFor=\"let t of themes\" (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\"></button>\r\n </div>\r\n</div>\r\n<mat-nav-list role=\"list\">\r\n <mat-list-item role=\"listitem\" *ngIf=\"!online\" (click)=\"revive()\">\r\n <mat-icon [bizdocTooltip]=\"'Connect'|translate\">wifi_off</mat-icon>\r\n </mat-list-item>\r\n <mat-list-item role=\"listitem\" *ngIf=\"online\" [matMenuTriggerFor]=\"availability\">\r\n {{'ShowAs' | translate : (available | translate | lowercase)}}\r\n </mat-list-item>\r\n <mat-menu #availability>\r\n <button mat-menu-item *ngFor=\"let m of modes\" (click)=\"setAvailable(m)\">{{m | translate}}</button>\r\n </mat-menu>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"options()\">\r\n {{'Options' | translate}}\r\n </mat-list-item>\r\n <mat-list-item role=\"listitem\" [matMenuTriggerFor]=\"language\">\r\n {{'ChangeLanguage' | translate}}\r\n </mat-list-item>\r\n <mat-menu #language>\r\n <button mat-menu-item *ngFor=\"let l of languages\" (click)=\"changeLanguage(l)\">{{l | translate}}</button>\r\n </mat-menu>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" [matMenuTriggerFor]=\"help\">\r\n {{'Help' | translate}}\r\n <span [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\"></span>\r\n </mat-list-item>\r\n <mat-menu #help>\r\n <button mat-menu-item *ngFor=\"let g of guides\" (click)=\"guide(g.name)\">{{g.title}}</button>\r\n </mat-menu>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</mat-list-item>\r\n</mat-nav-list>\r\n", styles: [".profile-name{margin:8px}.theme{height:22px;width:22px;border-radius:13px;margin:4px}.theme.active.dark{border:2px solid #f4f4f4}\n"] }]
93
92
  }], ctorParameters: function () { return [{ type: i1.PromptService }, { type: i2.GuideService }, { type: i3.OptionsService }, { type: i4.PopupRef }, { type: i5.HubService }, { type: i6.SessionService }, { type: i7.MatDialog }]; } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2hvbWUvb3B0aW9ucy9vcHRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvaG9tZS9vcHRpb25zL29wdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBT3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNwRCx1QkFBdUI7QUFDdkIsTUFBTSxPQUFPLHFCQUFxQjtJQWFoQyxtQkFBbUI7SUFDbkIsWUFBb0IsR0FBa0IsRUFDNUIsTUFBb0IsRUFDcEIsUUFBd0IsRUFDeEIsU0FBMEMsRUFDMUMsSUFBZ0IsRUFDaEIsUUFBd0IsRUFDeEIsT0FBa0I7UUFOUixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQzVCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBaUM7UUFDMUMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFXO1FBYm5CLFdBQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUU5QixVQUFLLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFF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QVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7a0hBeEVVLHFCQUFxQjtzR0FBckIscUJBQXFCLDREQ3JCbEMsa2dFQXlDQTsyRkRwQmEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHViQ29ubmVjdGlvblN0YXRlIH0gZnJvbSAnQG1pY3Jvc29mdC9zaWduYWxyJztcclxuaW1wb3J0IHsgQXZhaWxhYmlsaXR5U3RhdGUsIEd1aWRlIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vb3B0aW9ucy9vcHRpb25zLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHdWlkZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2d1aWRlL2d1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFib3V0RGlhbG9nIH0gZnJvbSAnLi4vYWJvdXQvYWJvdXQuZGlhbG9nJztcclxuaW1wb3J0IHsgUG9wdXBSZWYgfSBmcm9tIFwiLi4vLi4vY29yZS9wb3B1cC9wb3B1cC1yZWZcIjtcclxuaW1wb3J0IHsgVGhlbWUgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtcXVpY2stb3B0aW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29wdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL29wdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuLyoqIG9wdGlvbnMgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIFF1aWNrT3B0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgYnk6IHN0cmluZztcclxuICBvbmxpbmU6IGJvb2xlYW47XHJcbiAgdGhlbWU6IHN0cmluZztcclxuICBhdmFpbGFibGU6IEF2YWlsYWJpbGl0eVN0YXRlO1xyXG4gIHJlYWRvbmx5IGxhbmd1YWdlczogc3RyaW5nW107XHJcbiAgcmVhZG9ubHkgdGhlbWVzID0gdGhpcy5fc2Vzc2lvbi5UaGVtZXM7XHJcbiAgcmVhZG9ubHkgZ3VpZGVzOiBHdWlkZVtdO1xyXG4gIHJlYWRvbmx5IG1vZGVzID0gWydPZmZsaW5lJywgJ09ubGluZScsICdPdXRPZk9mZmljZScsICdWYWNhdGlvbicsICdXb3JraW5nSG9tZSddIGFzIEF2YWlsYWJpbGl0eVN0YXRlW107XHJcbiAgZ3VpZGVzQ291bnQ6IG51bWJlcjtcclxuICBjdXJyZW50TGFuZ3VhZ2U6IHN0cmluZztcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAvKiogb3B0aW9ucyBjdG9yICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcHM6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9ndWlkZTogR3VpZGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfb3B0aW9uczogT3B0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wb3B1cFJlZjogUG9wdXBSZWY8UXVpY2tPcHRpb25zQ29tcG9uZW50PixcclxuICAgIHByaXZhdGUgX2h1YjogSHViU2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuICAgIHRoaXMuZ3VpZGVzID0gdGhpcy5fZ3VpZGUuZ3VpZGVzLmZpbHRlcihnID0+IGcubW9kZSAhPT0gJ1ByaXZhdGUnKTtcclxuICAgIHRoaXMubGFuZ3VhZ2VzID0gdGhpcy5fc2Vzc2lvbi5sYW5ndWFnZXM7XHJcbiAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZSA9IHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2U7XHJcbiAgICB0aGlzLmF2YWlsYWJsZSA9IHRoaXMuX3Nlc3Npb24uc3RhdGU7XHJcbiAgICB0aGlzLnRoZW1lID0gdGhpcy5fc2Vzc2lvbi50aGVtZS5uYW1lO1xyXG4gICAgdGhpcy5uYW1lID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLm5hbWU7XHJcbiAgICB0aGlzLmJ5ID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmJ5TmFtZTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9odWIuc3RhdGUkLnBpcGUoc3RhcnRXaXRoKHRoaXMuX2h1Yi5zdGF0ZSksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKHMgPT5cclxuICAgICAgdGhpcy5vbmxpbmUgPSBzID09PSBIdWJDb25uZWN0aW9uU3RhdGUuQ29ubmVjdGVkXHJcbiAgICApO1xyXG4gICAgaWYgKCF0aGlzLl9zZXNzaW9uLmlzSW1wZXJzb25hdGluZykge1xyXG4gICAgICB0aGlzLmd1aWRlc0NvdW50ID0gdGhpcy5ndWlkZXMuZmlsdGVyKHcgPT4gdy5tb2RlID09PSAnRWFnZXInKS5sZW5ndGggfHwgbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgcmV2aXZlKCkge1xyXG4gICAgdGhpcy5faHViLnN0YXJ0KCk7XHJcbiAgfVxyXG4gIGFib3V0KCkge1xyXG4gICAgdGhpcy5fY2xvc2UoKTtcclxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKEFib3V0RGlhbG9nKTtcclxuICB9XHJcbiAgZ3VpZGUoZ3VpZGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fY2xvc2UoKTtcclxuICAgIHRoaXMuX2d1aWRlLnN0YXJ0KGd1aWRlKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY2xvc2UoKSB7XHJcbiAgICB0aGlzLl9wb3B1cFJlZi5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0QXZhaWxhYmxlKHZhbDogQXZhaWxhYmlsaXR5U3RhdGUpIHtcclxuICAgIHRoaXMuX2Nsb3NlKCk7XHJcbiAgICB0aGlzLl9zZXNzaW9uLnN0YXRlID0gdmFsO1xyXG4gIH1cclxuICBjaGFuZ2VUaGVtZShuYW1lOiBUaGVtZSkge1xyXG4gICAgdGhpcy5fc2Vzc2lvbi50aGVtZSA9IG5hbWU7XHJcbiAgICB0aGlzLl9jbG9zZSgpO1xyXG4gIH1cclxuICBjaGFuZ2VMYW5ndWFnZShjb2RlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2UgPSBjb2RlO1xyXG4gICAgdGhpcy5fcHMubWFzaygnUmVmcmVzaGluZycpO1xyXG4gICAgbG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgfVxyXG4gIG9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLl9jbG9zZSgpO1xyXG4gICAgdGhpcy5fb3B0aW9ucy5vcGVuKCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cclxuICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1uYW1lXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm1hdC10aXRsZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJ5XCI+e3tieX19IFxcIDwvbmctY29udGFpbmVyPlxyXG4gICAge3tuYW1lfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiICpuZ0lmPVwidGhlbWVzLmxlbmd0aCA+IDFcIj5cclxuICAgIDxidXR0b24gKm5nRm9yPVwibGV0IHQgb2YgdGhlbWVzXCIgKGNsaWNrKT1cImNoYW5nZVRoZW1lKHQpXCIgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwidGhlbWVcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJ0LmNvbG9yXCIgW2NsYXNzLmFjdGl2ZV09XCJ0Lm5hbWUgPT09IHRoZW1lXCIgW2NsYXNzLmRhcmtdPVwidC5kYXJrXCI+PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48bWF0LW5hdi1saXN0IHJvbGU9XCJsaXN0XCI+XHJcbiAgPG1hdC1saXN0LWl0ZW0gcm9sZT1cImxpc3RpdGVtXCIgKm5nSWY9XCIhb25saW5lXCIgKGNsaWNrKT1cInJldml2ZSgpXCI+XHJcbiAgICA8bWF0LWljb24gW2JpemRvY1Rvb2x0aXBdPVwiJ0Nvbm5lY3QnfHRyYW5zbGF0ZVwiPndpZmlfb2ZmPC9tYXQtaWNvbj5cclxuICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgPG1hdC1saXN0LWl0ZW0gcm9sZT1cImxpc3RpdGVtXCIgKm5nSWY9XCJvbmxpbmVcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYXZhaWxhYmlsaXR5XCI+XHJcbiAgICB7eydTaG93QXMnIHwgdHJhbnNsYXRlIDogKGF2YWlsYWJsZSB8IHRyYW5zbGF0ZSB8IGxvd2VyY2FzZSl9fVxyXG4gIDwvbWF0LWxpc3QtaXRlbT5cclxuICA8bWF0LW1lbnUgI2F2YWlsYWJpbGl0eT5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgbSBvZiBtb2Rlc1wiIChjbGljayk9XCJzZXRBdmFpbGFibGUobSlcIj57e20gfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gIDwvbWF0LW1lbnU+XHJcbiAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgPG1hdC1saXN0LWl0ZW0gcm9sZT1cImxpc3RpdGVtXCIgKGNsaWNrKT1cIm9wdGlvbnMoKVwiPlxyXG4gICAge3snT3B0aW9ucycgfCB0cmFuc2xhdGV9fVxyXG4gIDwvbWF0LWxpc3QtaXRlbT5cclxuICA8bWF0LWxpc3QtaXRlbSByb2xlPVwibGlzdGl0ZW1cIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibGFuZ3VhZ2VcIj5cclxuICAgIHt7J0NoYW5nZUxhbmd1YWdlJyB8IHRyYW5zbGF0ZX19XHJcbiAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gIDxtYXQtbWVudSAjbGFuZ3VhZ2U+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IGwgb2YgbGFuZ3VhZ2VzXCIgKGNsaWNrKT1cImNoYW5nZUxhbmd1YWdlKGwpXCI+e3tsIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8L21hdC1tZW51PlxyXG4gIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gIDxtYXQtbGlzdC1pdGVtIHJvbGU9XCJsaXN0aXRlbVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJoZWxwXCI+XHJcbiAgICB7eydIZWxwJyB8IHRyYW5zbGF0ZX19XHJcbiAgICA8c3BhbiBbbWF0QmFkZ2VdPVwiZ3VpZGVzQ291bnRcIiBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCIgbWF0QmFkZ2VPdmVybGFwPVwiZmFsc2VcIiBtYXRCYWRnZVNpemU9XCJzbWFsbFwiPjwvc3Bhbj5cclxuICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgPG1hdC1tZW51ICNoZWxwPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBnIG9mIGd1aWRlc1wiIChjbGljayk9XCJndWlkZShnLm5hbWUpXCI+e3tnLnRpdGxlfX08L2J1dHRvbj5cclxuICA8L21hdC1tZW51PlxyXG4gIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gIDxtYXQtbGlzdC1pdGVtIHJvbGU9XCJsaXN0aXRlbVwiIChjbGljayk9XCJhYm91dCgpXCI+e3sgJ0Fib3V0JyB8IHRyYW5zbGF0ZX19PC9tYXQtbGlzdC1pdGVtPlxyXG48L21hdC1uYXYtbGlzdD5cclxuIl19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2hvbWUvb3B0aW9ucy9vcHRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvaG9tZS9vcHRpb25zL29wdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBT3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU3BELHVCQUF1QjtBQUN2QixNQUFNLE9BQU8scUJBQXFCO0lBYWhDLG1CQUFtQjtJQUNuQixZQUFvQixHQUFrQixFQUM1QixNQUFvQixFQUNwQixRQUF3QixFQUN4QixTQUEwQyxFQUMxQyxJQUFnQixFQUNoQixRQUF3QixFQUN4QixPQUFrQjtRQU5SLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDNUIsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFpQztRQUMxQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFibkIsV0FBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBRTlCLFVBQUssR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUs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VztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOztrSEF4RVUscUJBQXFCO3NHQUFyQixxQkFBcUIsNERDckJsQyx1L0RBeUNBOzJGRHBCYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0Usc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBIdWJDb25uZWN0aW9uU3RhdGUgfSBmcm9tICdAbWljcm9zb2Z0L3NpZ25hbHInO1xyXG5pbXBvcnQgeyBBdmFpbGFiaWxpdHlTdGF0ZSwgR3VpZGUgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gXCIuLi8uLi9vcHRpb25zL29wdGlvbnMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IEd1aWRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZ3VpZGUvZ3VpZGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWJvdXREaWFsb2cgfSBmcm9tICcuLi9hYm91dC9hYm91dC5kaWFsb2cnO1xyXG5pbXBvcnQgeyBQb3B1cFJlZiB9IGZyb20gXCIuLi8uLi9jb3JlL3BvcHVwL3BvcHVwLXJlZlwiO1xyXG5pbXBvcnQgeyBUaGVtZSB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1xdWljay1vcHRpb25zJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vb3B0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vb3B0aW9ucy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG4vKiogb3B0aW9ucyBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgUXVpY2tPcHRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuICByZWFkb25seSBieTogc3RyaW5nO1xyXG4gIG9ubGluZTogYm9vbGVhbjtcclxuICB0aGVtZTogc3RyaW5nO1xyXG4gIGF2YWlsYWJsZTogQXZhaWxhYmlsaXR5U3RhdGU7XHJcbiAgcmVhZG9ubHkgbGFuZ3VhZ2VzOiBzdHJpbmdbXTtcclxuICByZWFkb25seSB0aGVtZXMgPSB0aGlzLl9zZXNzaW9uLlRoZW1lcztcclxuICByZWFkb25seSBndWlkZXM6IEd1aWRlW107XHJcbiAgcmVhZG9ubHkgbW9kZXMgPSBbJ09mZmxpbmUnLCAnT25saW5lJywgJ091dE9mT2ZmaWNlJywgJ1ZhY2F0aW9uJywgJ1dvcmtpbmdIb21lJ10gYXMgQXZhaWxhYmlsaXR5U3RhdGVbXTtcclxuICBndWlkZXNDb3VudDogbnVtYmVyO1xyXG4gIGN1cnJlbnRMYW5ndWFnZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIC8qKiBvcHRpb25zIGN0b3IgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wczogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX2d1aWRlOiBHdWlkZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9vcHRpb25zOiBPcHRpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgX3BvcHVwUmVmOiBQb3B1cFJlZjxRdWlja09wdGlvbnNDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfaHViOiBIdWJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZykge1xyXG4gICAgdGhpcy5ndWlkZXMgPSB0aGlzLl9ndWlkZS5ndWlkZXMuZmlsdGVyKGcgPT4gZy5tb2RlICE9PSAnUHJpdmF0ZScpO1xyXG4gICAgdGhpcy5sYW5ndWFnZXMgPSB0aGlzLl9zZXNzaW9uLmxhbmd1YWdlcztcclxuICAgIHRoaXMuY3VycmVudExhbmd1YWdlID0gdGhpcy5fc2Vzc2lvbi5sYW5ndWFnZTtcclxuICAgIHRoaXMuYXZhaWxhYmxlID0gdGhpcy5fc2Vzc2lvbi5zdGF0ZTtcclxuICAgIHRoaXMudGhlbWUgPSB0aGlzLl9zZXNzaW9uLnRoZW1lLm5hbWU7XHJcbiAgICB0aGlzLm5hbWUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUubmFtZTtcclxuICAgIHRoaXMuYnkgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYnlOYW1lO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2h1Yi5zdGF0ZSQucGlwZShzdGFydFdpdGgodGhpcy5faHViLnN0YXRlKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUocyA9PlxyXG4gICAgICB0aGlzLm9ubGluZSA9IHMgPT09IEh1YkNvbm5lY3Rpb25TdGF0ZS5Db25uZWN0ZWRcclxuICAgICk7XHJcbiAgICBpZiAoIXRoaXMuX3Nlc3Npb24uaXNJbXBlcnNvbmF0aW5nKSB7XHJcbiAgICAgIHRoaXMuZ3VpZGVzQ291bnQgPSB0aGlzLmd1aWRlcy5maWx0ZXIodyA9PiB3Lm1vZGUgPT09ICdFYWdlcicpLmxlbmd0aCB8fCBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICByZXZpdmUoKSB7XHJcbiAgICB0aGlzLl9odWIuc3RhcnQoKTtcclxuICB9XHJcbiAgYWJvdXQoKSB7XHJcbiAgICB0aGlzLl9jbG9zZSgpO1xyXG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oQWJvdXREaWFsb2cpO1xyXG4gIH1cclxuICBndWlkZShndWlkZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jbG9zZSgpO1xyXG4gICAgdGhpcy5fZ3VpZGUuc3RhcnQoZ3VpZGUpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jbG9zZSgpIHtcclxuICAgIHRoaXMuX3BvcHVwUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRBdmFpbGFibGUodmFsOiBBdmFpbGFiaWxpdHlTdGF0ZSkge1xyXG4gICAgdGhpcy5fY2xvc2UoKTtcclxuICAgIHRoaXMuX3Nlc3Npb24uc3RhdGUgPSB2YWw7XHJcbiAgfVxyXG4gIGNoYW5nZVRoZW1lKG5hbWU6IFRoZW1lKSB7XHJcbiAgICB0aGlzLl9zZXNzaW9uLnRoZW1lID0gbmFtZTtcclxuICAgIHRoaXMuX2Nsb3NlKCk7XHJcbiAgfVxyXG4gIGNoYW5nZUxhbmd1YWdlKGNvZGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc2Vzc2lvbi5sYW5ndWFnZSA9IGNvZGU7XHJcbiAgICB0aGlzLl9wcy5tYXNrKCdSZWZyZXNoaW5nJyk7XHJcbiAgICBsb2NhdGlvbi5yZWxvYWQoKTtcclxuICB9XHJcbiAgb3B0aW9ucygpIHtcclxuICAgIHRoaXMuX2Nsb3NlKCk7XHJcbiAgICB0aGlzLl9vcHRpb25zLm9wZW4oKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbHVtblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJwcm9maWxlLW5hbWVcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwibWF0LXRpdGxlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYnlcIj57e2J5fX0gXFwgPC9uZy1jb250YWluZXI+XHJcbiAgICB7e25hbWV9fTwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY2VudGVyIGNlbnRlclwiICpuZ0lmPVwidGhlbWVzLmxlbmd0aCA+IDFcIj5cclxuICAgIDxidXR0b24gKm5nRm9yPVwibGV0IHQgb2YgdGhlbWVzXCIgKGNsaWNrKT1cImNoYW5nZVRoZW1lKHQpXCIgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwidGhlbWVcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJ0LmNvbG9yXCIgW2NsYXNzLmFjdGl2ZV09XCJ0Lm5hbWUgPT09IHRoZW1lXCIgW2NsYXNzLmRhcmtdPVwidC5kYXJrXCI+PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48bWF0LW5hdi1saXN0IHJvbGU9XCJsaXN0XCI+XHJcbiAgPG1hdC1saXN0LWl0ZW0gcm9sZT1cImxpc3RpdGVtXCIgKm5nSWY9XCIhb25saW5lXCIgKGNsaWNrKT1cInJldml2ZSgpXCI+XHJcbiAgICA8bWF0LWljb24gW2JpemRvY1Rvb2x0aXBdPVwiJ0Nvbm5lY3QnfHRyYW5zbGF0ZVwiPndpZmlfb2ZmPC9tYXQtaWNvbj5cclxuICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgPG1hdC1saXN0LWl0ZW0gcm9sZT1cImxpc3RpdGVtXCIgKm5nSWY9XCJvbmxpbmVcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYXZhaWxhYmlsaXR5XCI+XHJcbiAgICB7eydTaG93QXMnIHwgdHJhbnNsYXRlIDogKGF2YWlsYWJsZSB8IHRyYW5zbGF0ZSB8IGxvd2VyY2FzZSl9fVxyXG4gIDwvbWF0LWxpc3QtaXRlbT5cclxuICA8bWF0LW1lbnUgI2F2YWlsYWJpbGl0eT5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgbSBvZiBtb2Rlc1wiIChjbGljayk9XCJzZXRBdmFpbGFibGUobSlcIj57e20gfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gIDwvbWF0LW1lbnU+XHJcbiAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgPG1hdC1saXN0LWl0ZW0gcm9sZT1cImxpc3RpdGVtXCIgKGNsaWNrKT1cIm9wdGlvbnMoKVwiPlxyXG4gICAge3snT3B0aW9ucycgfCB0cmFuc2xhdGV9fVxyXG4gIDwvbWF0LWxpc3QtaXRlbT5cclxuICA8bWF0LWxpc3QtaXRlbSByb2xlPVwibGlzdGl0ZW1cIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibGFuZ3VhZ2VcIj5cclxuICAgIHt7J0NoYW5nZUxhbmd1YWdlJyB8IHRyYW5zbGF0ZX19XHJcbiAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gIDxtYXQtbWVudSAjbGFuZ3VhZ2U+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IGwgb2YgbGFuZ3VhZ2VzXCIgKGNsaWNrKT1cImNoYW5nZUxhbmd1YWdlKGwpXCI+e3tsIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8L21hdC1tZW51PlxyXG4gIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gIDxtYXQtbGlzdC1pdGVtIHJvbGU9XCJsaXN0aXRlbVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJoZWxwXCI+XHJcbiAgICB7eydIZWxwJyB8IHRyYW5zbGF0ZX19XHJcbiAgICA8c3BhbiBbbWF0QmFkZ2VdPVwiZ3VpZGVzQ291bnRcIiBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCIgbWF0QmFkZ2VPdmVybGFwPVwiZmFsc2VcIiBtYXRCYWRnZVNpemU9XCJzbWFsbFwiPjwvc3Bhbj5cclxuICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgPG1hdC1tZW51ICNoZWxwPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBnIG9mIGd1aWRlc1wiIChjbGljayk9XCJndWlkZShnLm5hbWUpXCI+e3tnLnRpdGxlfX08L2J1dHRvbj5cclxuICA8L21hdC1tZW51PlxyXG4gIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gIDxtYXQtbGlzdC1pdGVtIHJvbGU9XCJsaXN0aXRlbVwiIChjbGljayk9XCJhYm91dCgpXCI+e3sgJ0Fib3V0JyB8IHRyYW5zbGF0ZX19PC9tYXQtbGlzdC1pdGVtPlxyXG48L21hdC1uYXYtbGlzdD5cclxuIl19