@bizdoc/core 2.1.11 → 2.1.13

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 (375) hide show
  1. package/esm2022/lib/admin/admin-dismiss.service.mjs +4 -4
  2. package/esm2022/lib/admin/admin-menu.component.mjs +4 -4
  3. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +4 -4
  4. package/esm2022/lib/admin/architecture/designer-element.component.mjs +16 -16
  5. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +4 -4
  6. package/esm2022/lib/admin/architecture/designer.base.mjs +10 -10
  7. package/esm2022/lib/admin/architecture/designer.component.mjs +4 -4
  8. package/esm2022/lib/admin/architecture/elements/action.component.mjs +4 -4
  9. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +4 -4
  10. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +4 -4
  11. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +4 -4
  12. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +4 -4
  13. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +4 -4
  14. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +4 -4
  15. package/esm2022/lib/admin/architecture/elements/control.component.mjs +4 -4
  16. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +4 -4
  17. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +4 -4
  18. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +4 -4
  19. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +4 -4
  20. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +4 -4
  21. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +4 -4
  22. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +4 -4
  23. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +4 -4
  24. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +4 -4
  25. package/esm2022/lib/admin/architecture/elements/form.component.mjs +4 -4
  26. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +4 -4
  27. package/esm2022/lib/admin/architecture/elements/job.component.mjs +4 -4
  28. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +4 -4
  29. package/esm2022/lib/admin/architecture/elements/node.component.mjs +4 -4
  30. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +4 -4
  31. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +4 -4
  32. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +4 -4
  33. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +4 -4
  34. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +4 -4
  35. package/esm2022/lib/admin/architecture/elements/report.component.mjs +4 -4
  36. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +4 -4
  37. package/esm2022/lib/admin/architecture/elements/role.component.mjs +4 -4
  38. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +4 -4
  39. package/esm2022/lib/admin/architecture/elements/state.component.mjs +4 -4
  40. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +4 -4
  41. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +4 -4
  42. package/esm2022/lib/admin/architecture/elements/type.component.mjs +4 -4
  43. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +4 -4
  44. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +4 -4
  45. package/esm2022/lib/admin/architecture/elements/view.component.mjs +4 -4
  46. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +4 -4
  47. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +4 -4
  48. package/esm2022/lib/admin/core/ace.input.mjs +4 -4
  49. package/esm2022/lib/admin/core/color-picker.input.mjs +4 -4
  50. package/esm2022/lib/admin/core/localized-string.component.mjs +4 -4
  51. package/esm2022/lib/admin/core/search.input.mjs +4 -4
  52. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +4 -4
  53. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +4 -4
  54. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +4 -4
  55. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +4 -4
  56. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +7 -7
  57. package/esm2022/lib/admin/form/designer/properties.component.mjs +4 -4
  58. package/esm2022/lib/admin/form/designer/section.component.mjs +4 -4
  59. package/esm2022/lib/admin/form/designer/settings.component.mjs +4 -4
  60. package/esm2022/lib/admin/form/form.resolve.service.mjs +4 -4
  61. package/esm2022/lib/admin/form/workflow/node.component.mjs +4 -4
  62. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +4 -4
  63. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +4 -4
  64. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +4 -4
  65. package/esm2022/lib/admin/patterns/patterns.component.mjs +4 -4
  66. package/esm2022/lib/admin/permissions/permissions.component.mjs +4 -4
  67. package/esm2022/lib/admin/positions/positions-popup.component.mjs +4 -4
  68. package/esm2022/lib/admin/positions/positions.component.mjs +5 -5
  69. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +4 -4
  70. package/esm2022/lib/admin/profiler/profiler.component.mjs +4 -4
  71. package/esm2022/lib/admin/system.service.mjs +4 -4
  72. package/esm2022/lib/admin/utility-wrapper.component.mjs +4 -4
  73. package/esm2022/lib/admin/utility.pane.component.mjs +4 -4
  74. package/esm2022/lib/app.component.mjs +7 -7
  75. package/esm2022/lib/bizdoc.module.mjs +5 -5
  76. package/esm2022/lib/browse/browse-items.component.mjs +4 -4
  77. package/esm2022/lib/browse/browse.mobile.component.mjs +4 -4
  78. package/esm2022/lib/browse/browse.pane.component.mjs +4 -4
  79. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +4 -4
  80. package/esm2022/lib/browse/filter/filter.component.mjs +4 -4
  81. package/esm2022/lib/browse/folders-menu.component.mjs +4 -4
  82. package/esm2022/lib/chat/chat-info.mjs +4 -4
  83. package/esm2022/lib/chat/chat.mobile.component.mjs +4 -4
  84. package/esm2022/lib/chat/chat.service.mjs +4 -4
  85. package/esm2022/lib/chat/contacts.component.mjs +7 -7
  86. package/esm2022/lib/chat/contacts.pane.component.mjs +4 -4
  87. package/esm2022/lib/chat/conversation.component.mjs +4 -4
  88. package/esm2022/lib/chat/conversation.pane.component.mjs +4 -4
  89. package/esm2022/lib/compose/action/action-picker.component.mjs +4 -4
  90. package/esm2022/lib/compose/action/action.dialog.mjs +4 -4
  91. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +4 -4
  92. package/esm2022/lib/compose/action/assign-action.component.mjs +4 -4
  93. package/esm2022/lib/compose/action/moveto-action.component.mjs +4 -4
  94. package/esm2022/lib/compose/action/return-action.component.mjs +4 -4
  95. package/esm2022/lib/compose/attachments/attachments.component.mjs +4 -4
  96. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +4 -4
  97. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +4 -4
  98. package/esm2022/lib/compose/box/box.component.mjs +4 -4
  99. package/esm2022/lib/compose/box/control.component.mjs +4 -4
  100. package/esm2022/lib/compose/box/row.component.mjs +4 -4
  101. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +4 -4
  102. package/esm2022/lib/compose/comments/comment.component.mjs +4 -4
  103. package/esm2022/lib/compose/comments/comments.component.mjs +4 -4
  104. package/esm2022/lib/compose/comments/comments.pane.component.mjs +4 -4
  105. package/esm2022/lib/compose/comments/edit-comment.component.mjs +4 -4
  106. package/esm2022/lib/compose/comments/edits.component.mjs +4 -4
  107. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +4 -4
  108. package/esm2022/lib/compose/comments/votes.component.mjs +4 -4
  109. package/esm2022/lib/compose/compose-resolve.service.mjs +7 -7
  110. package/esm2022/lib/compose/compose.mobile.component.mjs +4 -4
  111. package/esm2022/lib/compose/compose.pane.component.mjs +4 -4
  112. package/esm2022/lib/compose/copy/copy.dialog.mjs +4 -4
  113. package/esm2022/lib/compose/dismiss.service.mjs +4 -4
  114. package/esm2022/lib/compose/document-resolver.service.mjs +4 -4
  115. package/esm2022/lib/compose/document.component.mjs +4 -4
  116. package/esm2022/lib/compose/document.mobile.component.mjs +4 -4
  117. package/esm2022/lib/compose/document.pane.component.mjs +4 -4
  118. package/esm2022/lib/compose/events/events.component.mjs +4 -4
  119. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +4 -4
  120. package/esm2022/lib/compose/form.component.mjs +4 -4
  121. package/esm2022/lib/compose/new-menu.component.mjs +4 -4
  122. package/esm2022/lib/compose/privilage.directive.mjs +7 -7
  123. package/esm2022/lib/compose/recipient-resolver.service.mjs +4 -4
  124. package/esm2022/lib/compose/state.component.mjs +4 -4
  125. package/esm2022/lib/compose/tag/tags.component.mjs +4 -4
  126. package/esm2022/lib/compose/trace/flow.component.mjs +4 -4
  127. package/esm2022/lib/compose/trace/people.component.mjs +4 -4
  128. package/esm2022/lib/compose/trace/trace.base.mjs +4 -4
  129. package/esm2022/lib/compose/trace/trace.component.mjs +4 -4
  130. package/esm2022/lib/compose/trace/trace.pane.component.mjs +4 -4
  131. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +4 -4
  132. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +10 -10
  133. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +4 -4
  134. package/esm2022/lib/core/account.service.mjs +4 -4
  135. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +4 -4
  136. package/esm2022/lib/core/avatar/avatar.component.mjs +4 -4
  137. package/esm2022/lib/core/checkbox.mjs +4 -4
  138. package/esm2022/lib/core/component-factory-resolver.mjs +4 -4
  139. package/esm2022/lib/core/datasource.service.mjs +4 -4
  140. package/esm2022/lib/core/fields/address.designer.mjs +4 -4
  141. package/esm2022/lib/core/fields/address.field.mjs +4 -4
  142. package/esm2022/lib/core/fields/autocomplete.field.mjs +7 -7
  143. package/esm2022/lib/core/fields/checkbox.designer.mjs +4 -4
  144. package/esm2022/lib/core/fields/checkbox.field.mjs +4 -4
  145. package/esm2022/lib/core/fields/checklist.designer.mjs +4 -4
  146. package/esm2022/lib/core/fields/checklist.field.mjs +4 -4
  147. package/esm2022/lib/core/fields/date-range.designer.mjs +4 -4
  148. package/esm2022/lib/core/fields/date-range.field.mjs +4 -4
  149. package/esm2022/lib/core/fields/date.designer.mjs +4 -4
  150. package/esm2022/lib/core/fields/date.field.mjs +4 -4
  151. package/esm2022/lib/core/fields/expression.field.mjs +7 -7
  152. package/esm2022/lib/core/fields/file.designer.mjs +4 -4
  153. package/esm2022/lib/core/fields/file.field.mjs +4 -4
  154. package/esm2022/lib/core/fields/html.designer.mjs +4 -4
  155. package/esm2022/lib/core/fields/html.field.mjs +4 -4
  156. package/esm2022/lib/core/fields/input.designer.mjs +4 -4
  157. package/esm2022/lib/core/fields/input.field.mjs +4 -4
  158. package/esm2022/lib/core/fields/localized-string.field.mjs +7 -7
  159. package/esm2022/lib/core/fields/numeric.designer.mjs +4 -4
  160. package/esm2022/lib/core/fields/numeric.field.mjs +4 -4
  161. package/esm2022/lib/core/fields/options.base.mjs +7 -7
  162. package/esm2022/lib/core/fields/options.component.mjs +4 -4
  163. package/esm2022/lib/core/fields/radio-button.designer.mjs +4 -4
  164. package/esm2022/lib/core/fields/radio-button.field.mjs +4 -4
  165. package/esm2022/lib/core/fields/select.designer.mjs +4 -4
  166. package/esm2022/lib/core/fields/select.field.mjs +4 -4
  167. package/esm2022/lib/core/fields/signature.designer.mjs +4 -4
  168. package/esm2022/lib/core/fields/signature.field.mjs +4 -4
  169. package/esm2022/lib/core/fields/switch.field.mjs +4 -4
  170. package/esm2022/lib/core/fields/textarea.designer.mjs +4 -4
  171. package/esm2022/lib/core/fields/textarea.field.mjs +4 -4
  172. package/esm2022/lib/core/fields/time.designer.mjs +4 -4
  173. package/esm2022/lib/core/fields/time.field.mjs +4 -4
  174. package/esm2022/lib/core/fields/timespan.field.mjs +7 -7
  175. package/esm2022/lib/core/fields/yesno.designer.mjs +4 -4
  176. package/esm2022/lib/core/fields/yesno.field.mjs +4 -4
  177. package/esm2022/lib/core/guide/guide.component.mjs +4 -4
  178. package/esm2022/lib/core/guide/guide.service.mjs +4 -4
  179. package/esm2022/lib/core/guide/help-tip.component.mjs +4 -4
  180. package/esm2022/lib/core/http.interceptor.mjs +4 -4
  181. package/esm2022/lib/core/hub.service.mjs +4 -4
  182. package/esm2022/lib/core/identity/identity.component.mjs +4 -4
  183. package/esm2022/lib/core/info/attachment-info.service.mjs +4 -4
  184. package/esm2022/lib/core/info/document-info.service.mjs +4 -4
  185. package/esm2022/lib/core/info/location-info.component.mjs +4 -4
  186. package/esm2022/lib/core/info/map-info.mjs +4 -4
  187. package/esm2022/lib/core/inputs/address.input.mjs +4 -4
  188. package/esm2022/lib/core/inputs/auto-complete.input.mjs +4 -4
  189. package/esm2022/lib/core/inputs/combination-picker-body.mjs +4 -4
  190. package/esm2022/lib/core/inputs/combination-picker.mjs +4 -4
  191. package/esm2022/lib/core/inputs/combination-pool.mjs +4 -4
  192. package/esm2022/lib/core/inputs/file.input.mjs +4 -4
  193. package/esm2022/lib/core/inputs/select.input.mjs +4 -4
  194. package/esm2022/lib/core/inputs/signature.input.mjs +4 -4
  195. package/esm2022/lib/core/inputs/time-picker.mjs +4 -4
  196. package/esm2022/lib/core/inputs/timespan.input.mjs +4 -4
  197. package/esm2022/lib/core/layout.component.mjs +4 -4
  198. package/esm2022/lib/core/lottie-animation.mjs +4 -4
  199. package/esm2022/lib/core/mailbox.service.mjs +4 -4
  200. package/esm2022/lib/core/none.component.mjs +4 -4
  201. package/esm2022/lib/core/pipes/action.pipe.mjs +4 -4
  202. package/esm2022/lib/core/pipes/calendar.pipe.mjs +4 -4
  203. package/esm2022/lib/core/pipes/date-format.pipe.mjs +4 -4
  204. package/esm2022/lib/core/pipes/daterange.pipe.mjs +7 -7
  205. package/esm2022/lib/core/pipes/difference.pipe.mjs +4 -4
  206. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +4 -4
  207. package/esm2022/lib/core/pipes/duration.pipe.mjs +4 -4
  208. package/esm2022/lib/core/pipes/form.pipe.mjs +4 -4
  209. package/esm2022/lib/core/pipes/join.pipe.mjs +4 -4
  210. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +4 -4
  211. package/esm2022/lib/core/pipes/role.pipe.mjs +4 -4
  212. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +4 -4
  213. package/esm2022/lib/core/pipes/sort.pipe.mjs +7 -7
  214. package/esm2022/lib/core/pipes/state.pipe.mjs +4 -4
  215. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +7 -7
  216. package/esm2022/lib/core/pipes/translate.pipe.mjs +10 -10
  217. package/esm2022/lib/core/pipes/type-value.pipe.mjs +4 -4
  218. package/esm2022/lib/core/pipes/user-name.pipe.mjs +4 -4
  219. package/esm2022/lib/core/popup/popup.component.mjs +4 -4
  220. package/esm2022/lib/core/popup/popup.service.mjs +4 -4
  221. package/esm2022/lib/core/popup/tooltip.directive.mjs +7 -7
  222. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +4 -4
  223. package/esm2022/lib/core/prompt/mask/mask.component.mjs +4 -4
  224. package/esm2022/lib/core/prompt.service.mjs +4 -4
  225. package/esm2022/lib/core/router.mjs +7 -7
  226. package/esm2022/lib/core/save-changes.dialog.mjs +4 -4
  227. package/esm2022/lib/core/session.service.mjs +4 -4
  228. package/esm2022/lib/core/slots/router.directive.mjs +4 -4
  229. package/esm2022/lib/core/slots/router.service.mjs +4 -4
  230. package/esm2022/lib/core/slots/slots.component.mjs +4 -4
  231. package/esm2022/lib/core/tagging/documents.component.mjs +4 -4
  232. package/esm2022/lib/core/tagging/edit-input.component.mjs +4 -4
  233. package/esm2022/lib/core/tagging/emoji.component.mjs +4 -4
  234. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +4 -4
  235. package/esm2022/lib/core/tagging/tagging.component-base.mjs +4 -4
  236. package/esm2022/lib/core/tagging/tagging.directive.mjs +4 -4
  237. package/esm2022/lib/core/tagging/tagging.pipe.mjs +4 -4
  238. package/esm2022/lib/core/tagging/users.component.mjs +4 -4
  239. package/esm2022/lib/core/translate.service.mjs +4 -4
  240. package/esm2022/lib/core/window-title.service.mjs +4 -4
  241. package/esm2022/lib/cube/accum/accum.component.mjs +4 -4
  242. package/esm2022/lib/cube/chart/chart.component.mjs +4 -4
  243. package/esm2022/lib/cube/cube-info.service.mjs +4 -4
  244. package/esm2022/lib/cube/cube-menu.component.mjs +4 -4
  245. package/esm2022/lib/cube/cube-view.component.mjs +4 -4
  246. package/esm2022/lib/cube/cube.service.mjs +4 -4
  247. package/esm2022/lib/cube/explore/document-item.component.mjs +4 -4
  248. package/esm2022/lib/cube/explore/explore-item.component.mjs +4 -4
  249. package/esm2022/lib/cube/explore/explore-items.component.mjs +4 -4
  250. package/esm2022/lib/cube/explore/explore.pane.component.mjs +4 -4
  251. package/esm2022/lib/cube/explore/item-resolver.service.mjs +7 -7
  252. package/esm2022/lib/cube/explore/item.pane.component.mjs +4 -4
  253. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +4 -4
  254. package/esm2022/lib/cube/filter/filter.component.mjs +4 -4
  255. package/esm2022/lib/cube/grid/grid.component.mjs +4 -4
  256. package/esm2022/lib/cube/grid/spreadsheet.component.mjs +4 -4
  257. package/esm2022/lib/cube/matrix/matrix.base.mjs +4 -4
  258. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +4 -4
  259. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +4 -4
  260. package/esm2022/lib/cube/matrix/popup.component.mjs +4 -4
  261. package/esm2022/lib/cube/matrix/table.component.mjs +4 -4
  262. package/esm2022/lib/cube/parallel/parallel.component.mjs +4 -4
  263. package/esm2022/lib/cube/pivot/pivot.component.mjs +4 -4
  264. package/esm2022/lib/cube/sum/sum.component.mjs +4 -4
  265. package/esm2022/lib/cube/view-base.mjs +4 -4
  266. package/esm2022/lib/cube/view.mobile.component.mjs +4 -4
  267. package/esm2022/lib/cube/view.pane.component.mjs +4 -4
  268. package/esm2022/lib/dashboard/actions/actions.widget.mjs +4 -4
  269. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +4 -4
  270. package/esm2022/lib/dashboard/cube/compare.widget.mjs +4 -4
  271. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +4 -4
  272. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +4 -4
  273. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +4 -4
  274. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +4 -4
  275. package/esm2022/lib/dashboard/cube/documents.widget.mjs +4 -4
  276. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +4 -4
  277. package/esm2022/lib/dashboard/dashboard.component.mjs +4 -4
  278. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +4 -4
  279. package/esm2022/lib/dashboard/recents/recents.widget.mjs +4 -4
  280. package/esm2022/lib/dashboard/score/activity.widget.mjs +4 -4
  281. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +4 -4
  282. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +4 -4
  283. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +4 -4
  284. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +4 -4
  285. package/esm2022/lib/dashboard/widget-item.component.mjs +4 -4
  286. package/esm2022/lib/designer.module.mjs +5 -5
  287. package/esm2022/lib/desktop.module.mjs +5 -5
  288. package/esm2022/lib/home/about/about.dialog.mjs +4 -4
  289. package/esm2022/lib/home/home-base.component.mjs +4 -4
  290. package/esm2022/lib/home/home.desktop.component.mjs +4 -4
  291. package/esm2022/lib/home/home.mobile.component.mjs +4 -4
  292. package/esm2022/lib/home/notifications/notifications.component.mjs +4 -4
  293. package/esm2022/lib/home/options/options.component.mjs +4 -4
  294. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +4 -4
  295. package/esm2022/lib/home/sign/sign.component.mjs +4 -4
  296. package/esm2022/lib/home/tools.component.mjs +4 -4
  297. package/esm2022/lib/impersonate/impersonate.component.mjs +4 -4
  298. package/esm2022/lib/mobile.module.mjs +5 -5
  299. package/esm2022/lib/modules/chart.module.mjs +5 -5
  300. package/esm2022/lib/modules/circular-gauge.module.mjs +5 -5
  301. package/esm2022/lib/modules/datepicker.intl.mjs +4 -4
  302. package/esm2022/lib/modules/dayjs.module.mjs +5 -5
  303. package/esm2022/lib/modules/diagram.module.mjs +5 -5
  304. package/esm2022/lib/modules/gantt.module.mjs +5 -5
  305. package/esm2022/lib/modules/grid.module.mjs +5 -5
  306. package/esm2022/lib/modules/linear-gauge.module.mjs +5 -5
  307. package/esm2022/lib/modules/material.module.mjs +5 -5
  308. package/esm2022/lib/modules/paginator.intl.mjs +4 -4
  309. package/esm2022/lib/modules/pivot.module.mjs +5 -5
  310. package/esm2022/lib/modules/schedule.module.mjs +5 -5
  311. package/esm2022/lib/modules/spreadsheet.module.mjs +5 -5
  312. package/esm2022/lib/modules/stepper.intl.mjs +4 -4
  313. package/esm2022/lib/modules/texteditor.module.mjs +5 -5
  314. package/esm2022/lib/notifications/filter.component.mjs +4 -4
  315. package/esm2022/lib/notifications/notifications-table.component.mjs +4 -4
  316. package/esm2022/lib/notifications/notifications.mobile.component.mjs +4 -4
  317. package/esm2022/lib/notifications/notifications.pane.component.mjs +4 -4
  318. package/esm2022/lib/notifications/notifications.service.mjs +4 -4
  319. package/esm2022/lib/notifications/types/commented.notification.mjs +4 -4
  320. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +4 -4
  321. package/esm2022/lib/notifications/types/escalated.notification.mjs +4 -4
  322. package/esm2022/lib/notifications/types/invite.notification.mjs +4 -4
  323. package/esm2022/lib/notifications/types/liked.notification.mjs +4 -4
  324. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +4 -4
  325. package/esm2022/lib/notifications/types/notification-base.mjs +4 -4
  326. package/esm2022/lib/notifications/types/nudge.notification.mjs +4 -4
  327. package/esm2022/lib/notifications/types/state-changed.notification.mjs +4 -4
  328. package/esm2022/lib/notifications/types/tagged.notification.mjs +4 -4
  329. package/esm2022/lib/notifications/types/text.notification.mjs +4 -4
  330. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +4 -4
  331. package/esm2022/lib/options/options.component.mjs +4 -4
  332. package/esm2022/lib/options/options.service.mjs +4 -4
  333. package/esm2022/lib/reports/arguments-component.mjs +4 -4
  334. package/esm2022/lib/reports/cube/documents.component.mjs +4 -4
  335. package/esm2022/lib/reports/cube/grid-documents.component.mjs +4 -4
  336. package/esm2022/lib/reports/cube/role-performance.component.mjs +4 -4
  337. package/esm2022/lib/reports/cube/table-documents.component.mjs +4 -4
  338. package/esm2022/lib/reports/cube/usage-args.component.mjs +4 -4
  339. package/esm2022/lib/reports/cube/usage-base.mjs +4 -4
  340. package/esm2022/lib/reports/cube/usage-chart.component.mjs +4 -4
  341. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +4 -4
  342. package/esm2022/lib/reports/cube/usage.component.mjs +4 -4
  343. package/esm2022/lib/reports/report-viewer.component.mjs +4 -4
  344. package/esm2022/lib/reports/report.mobile.component.mjs +4 -4
  345. package/esm2022/lib/reports/report.pane.component.mjs +4 -4
  346. package/esm2022/lib/reports/reports-menu.component.mjs +4 -4
  347. package/esm2022/lib/reports/substitution/substitution.component.mjs +4 -4
  348. package/esm2022/lib/reports/table/table-view.component.mjs +4 -4
  349. package/esm2022/lib/reports/tasks/tasks.component.mjs +4 -4
  350. package/esm2022/lib/scheduler/schedule.component.mjs +4 -4
  351. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +4 -4
  352. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +4 -4
  353. package/esm2022/lib/search/cube.component.mjs +4 -4
  354. package/esm2022/lib/search/document.component.mjs +4 -4
  355. package/esm2022/lib/search/guide.component.mjs +4 -4
  356. package/esm2022/lib/search/path.component.mjs +4 -4
  357. package/esm2022/lib/search/search.service.mjs +4 -4
  358. package/esm2022/lib/shared.module.mjs +5 -5
  359. package/esm2022/lib/system.module.mjs +5 -5
  360. package/esm2022/lib/views/cube/chart.component.mjs +4 -4
  361. package/esm2022/lib/views/cube/cube-base.mjs +4 -4
  362. package/esm2022/lib/views/cube/explore.component.mjs +4 -4
  363. package/esm2022/lib/views/cube/matrix.component.mjs +4 -4
  364. package/esm2022/lib/views/cube/parallel.component.mjs +4 -4
  365. package/esm2022/lib/views/cube/pivot.component.mjs +4 -4
  366. package/esm2022/lib/views/cube/sum.component.mjs +4 -4
  367. package/esm2022/lib/views/cube/view.component.mjs +4 -4
  368. package/esm2022/lib/views/timeline/timeline.component.exp.mjs +4 -4
  369. package/esm2022/lib/views/view-item.component.mjs +4 -4
  370. package/esm2022/lib/views/views.component.mjs +4 -4
  371. package/esm2022/lib/views/views.mobile.component.mjs +4 -4
  372. package/esm2022/lib/views/views.pane.component.mjs +4 -4
  373. package/fesm2022/bizdoc-core.mjs +1213 -1213
  374. package/fesm2022/bizdoc-core.mjs.map +1 -1
  375. package/package.json +11 -11
@@ -152,15 +152,15 @@ export let PatternsComponent = class PatternsComponent {
152
152
  this._destroy.next();
153
153
  this._destroy.complete();
154
154
  }
155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PatternsComponent, deps: [{ token: i1.SessionService }, { token: i2.Directionality }, { token: i3.FormBuilder }, { token: UtilityRef }, { token: i4.DatasourceService }, { token: i5.SystemService }, { token: i6.PromptService }, { token: i7.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PatternsComponent, selector: "ng-component", viewQueries: [{ propertyName: "properties", first: true, predicate: ["properties"], descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<mat-toolbar>\r\n <button mat-button color=\"primary\" (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"create()\" [bizdocTooltip]=\"'Add'|translate\" data-guide=\"create\"><mat-icon>add</mat-icon></button>\r\n</mat-toolbar>\r\n<table mat-table [dataSource]=\"dataSource\" matSort>\r\n <ng-container matColumnDef=\"title\" sticky>\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Title'|translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.title}} </td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let r of roles\" [matColumnDef]=\"r.name\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <mat-checkbox [checked]=\"element.roles && element.roles.indexOf(r.name) > -1\" (change)=\"toggle(element, r.name, $event)\"></mat-checkbox>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"options\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <button mat-menu-item (click)=\"edit(element)\">{{'Edit'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"delete(element)\">{{'Discard'|translate}}</button>\r\n </mat-menu>\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\"></tr>\r\n</table>\r\n<mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons *ngIf=\"paging\"></mat-paginator>\r\n<!-- dialog -->\r\n<ng-template #properties>\r\n <mat-dialog-content>\r\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'|translate\" required />\r\n </mat-form-field>\r\n <div formGroupName=\"axes\" *ngIf=\"cube\" class=\"row wrap sm-column\">\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-form-field *ngIf=\"include.indexOf(a.name)>-1\" class=\"flex\">\r\n <input matInput\r\n [matAutocomplete]=\"segment\" [pattern]=\"pattern\"\r\n [formControlName]=\"a.name\" [placeholder]=\"a.title\" />\r\n <mat-autocomplete #segment>\r\n <mat-option *ngFor=\"let o of segments[a.name] | async\" [value]=\"o.key\">{{o.value}}</mat-option>\r\n </mat-autocomplete>\r\n <mat-error *ngIf=\"axes.controls[a.name].invalid\">{{'SystemAxisPatternErr' |translate}}</mat-error>\r\n </mat-form-field>\r\n &nbsp;\r\n </ng-container>\r\n </div>\r\n <mat-form-field>\r\n <mat-select formControlName=\"roles\" [placeholder]=\"'Roles'|translate\" multiple required>\r\n <mat-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.controls.roles.hasError('required')\">{{'Required'|translate:('Roles'|translate)}}</mat-error>\r\n </mat-form-field>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"form.value\" [disabled]=\"!form.valid\">{{'OK'| translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel'| translate}}</button>\r\n </mat-dialog-actions>\r\n</ng-template>\r\n<style scoped>\r\n table {\r\n width: 100%\r\n }\r\n</style>\r\n", styles: ["\n table {\n width: 100%\n }\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: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i9.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i9.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i9.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i9.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i9.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i9.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i9.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i9.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i9.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i9.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i10.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i10.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i11.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "directive", type: i7.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i7.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i7.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i13.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i14.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i15.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i14.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i16.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i16.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i17.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i18.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i18.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i19.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i20.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i21.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i22.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i22.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i22.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i23.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i24.TranslatePipe, name: "translate" }] }); }
155
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PatternsComponent, deps: [{ token: i1.SessionService }, { token: i2.Directionality }, { token: i3.FormBuilder }, { token: UtilityRef }, { token: i4.DatasourceService }, { token: i5.SystemService }, { token: i6.PromptService }, { token: i7.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
156
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PatternsComponent, selector: "ng-component", viewQueries: [{ propertyName: "properties", first: true, predicate: ["properties"], descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<mat-toolbar>\r\n <button mat-button color=\"primary\" (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"create()\" [bizdocTooltip]=\"'Add'|translate\" data-guide=\"create\"><mat-icon>add</mat-icon></button>\r\n</mat-toolbar>\r\n<table mat-table [dataSource]=\"dataSource\" matSort>\r\n <ng-container matColumnDef=\"title\" sticky>\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Title'|translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.title}} </td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let r of roles\" [matColumnDef]=\"r.name\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <mat-checkbox [checked]=\"element.roles && element.roles.indexOf(r.name) > -1\" (change)=\"toggle(element, r.name, $event)\"></mat-checkbox>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"options\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <button mat-menu-item (click)=\"edit(element)\">{{'Edit'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"delete(element)\">{{'Discard'|translate}}</button>\r\n </mat-menu>\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\"></tr>\r\n</table>\r\n<mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons *ngIf=\"paging\"></mat-paginator>\r\n<!-- dialog -->\r\n<ng-template #properties>\r\n <mat-dialog-content>\r\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'|translate\" required />\r\n </mat-form-field>\r\n <div formGroupName=\"axes\" *ngIf=\"cube\" class=\"row wrap sm-column\">\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-form-field *ngIf=\"include.indexOf(a.name)>-1\" class=\"flex\">\r\n <input matInput\r\n [matAutocomplete]=\"segment\" [pattern]=\"pattern\"\r\n [formControlName]=\"a.name\" [placeholder]=\"a.title\" />\r\n <mat-autocomplete #segment>\r\n <mat-option *ngFor=\"let o of segments[a.name] | async\" [value]=\"o.key\">{{o.value}}</mat-option>\r\n </mat-autocomplete>\r\n <mat-error *ngIf=\"axes.controls[a.name].invalid\">{{'SystemAxisPatternErr' |translate}}</mat-error>\r\n </mat-form-field>\r\n &nbsp;\r\n </ng-container>\r\n </div>\r\n <mat-form-field>\r\n <mat-select formControlName=\"roles\" [placeholder]=\"'Roles'|translate\" multiple required>\r\n <mat-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.controls.roles.hasError('required')\">{{'Required'|translate:('Roles'|translate)}}</mat-error>\r\n </mat-form-field>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"form.value\" [disabled]=\"!form.valid\">{{'OK'| translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel'| translate}}</button>\r\n </mat-dialog-actions>\r\n</ng-template>\r\n<style scoped>\r\n table {\r\n width: 100%\r\n }\r\n</style>\r\n", styles: ["\n table {\n width: 100%\n }\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: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i9.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i9.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i9.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i9.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i9.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i9.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i9.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i9.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i9.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i9.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i10.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i10.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i11.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "directive", type: i7.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i7.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i7.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i13.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i14.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i15.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i14.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i16.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i16.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i17.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i18.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i18.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i19.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i20.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i21.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i22.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i22.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i22.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i23.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i24.TranslatePipe, name: "translate" }] }); }
157
157
  };
158
158
  PatternsComponent = __decorate([
159
159
  BizDoc({
160
160
  selector: 'bizdoc-patterns'
161
161
  })
162
162
  ], PatternsComponent);
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PatternsComponent, decorators: [{
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PatternsComponent, decorators: [{
164
164
  type: Component,
165
165
  args: [{ template: "<mat-toolbar>\r\n <button mat-button color=\"primary\" (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"create()\" [bizdocTooltip]=\"'Add'|translate\" data-guide=\"create\"><mat-icon>add</mat-icon></button>\r\n</mat-toolbar>\r\n<table mat-table [dataSource]=\"dataSource\" matSort>\r\n <ng-container matColumnDef=\"title\" sticky>\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Title'|translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.title}} </td>\r\n </ng-container>\r\n <ng-container *ngFor=\"let r of roles\" [matColumnDef]=\"r.name\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <mat-checkbox [checked]=\"element.roles && element.roles.indexOf(r.name) > -1\" (change)=\"toggle(element, r.name, $event)\"></mat-checkbox>\r\n </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"options\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <button mat-menu-item (click)=\"edit(element)\">{{'Edit'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"delete(element)\">{{'Discard'|translate}}</button>\r\n </mat-menu>\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\"></tr>\r\n</table>\r\n<mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons *ngIf=\"paging\"></mat-paginator>\r\n<!-- dialog -->\r\n<ng-template #properties>\r\n <mat-dialog-content>\r\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'|translate\" required />\r\n </mat-form-field>\r\n <div formGroupName=\"axes\" *ngIf=\"cube\" class=\"row wrap sm-column\">\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-form-field *ngIf=\"include.indexOf(a.name)>-1\" class=\"flex\">\r\n <input matInput\r\n [matAutocomplete]=\"segment\" [pattern]=\"pattern\"\r\n [formControlName]=\"a.name\" [placeholder]=\"a.title\" />\r\n <mat-autocomplete #segment>\r\n <mat-option *ngFor=\"let o of segments[a.name] | async\" [value]=\"o.key\">{{o.value}}</mat-option>\r\n </mat-autocomplete>\r\n <mat-error *ngIf=\"axes.controls[a.name].invalid\">{{'SystemAxisPatternErr' |translate}}</mat-error>\r\n </mat-form-field>\r\n &nbsp;\r\n </ng-container>\r\n </div>\r\n <mat-form-field>\r\n <mat-select formControlName=\"roles\" [placeholder]=\"'Roles'|translate\" multiple required>\r\n <mat-option *ngFor=\"let r of roles\" [value]=\"r.name\">{{r.title}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.controls.roles.hasError('required')\">{{'Required'|translate:('Roles'|translate)}}</mat-error>\r\n </mat-form-field>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"form.value\" [disabled]=\"!form.valid\">{{'OK'| translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel'| translate}}</button>\r\n </mat-dialog-actions>\r\n</ng-template>\r\n<style scoped>\r\n table {\r\n width: 100%\r\n }\r\n</style>\r\n" }]
166
166
  }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.Directionality }, { type: i3.FormBuilder }, { type: i25.UtilityRef, decorators: [{
@@ -176,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
176
176
  type: ViewChild,
177
177
  args: [MatPaginator]
178
178
  }] } });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9wYXR0ZXJucy9wYXR0ZXJucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3BhdHRlcm5zL3BhdHRlcm5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBYSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzNELE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztBQVFkLFdBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBcUI1QixZQUFvQixRQUF3QixFQUNsQyxJQUFvQixFQUNwQixHQUFnQixFQUNJLElBQTZELEVBQ2pGLEtBQXdCLEVBQ3hCLFFBQXVCLEVBQ3ZCLEdBQWtCLEVBQ2xCLE9BQWtC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Q25CO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2hELElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2pDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUU7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0EzSFUsaUJBQWlCLHlHQXdCbEIsVUFBVTtrR0F4QlQsaUJBQWlCLG1NQVFqQixPQUFPLDRFQUNQLFlBQVksZ0RDckN6Qiw0cEhBc0VBOztBRDFDYSxpQkFBaUI7SUFIN0IsTUFBTSxDQUFDO1FBQ04sUUFBUSxFQUFFLGlCQUFpQjtLQUM1QixDQUFDO0dBQ1csaUJBQWlCLENBNEg3QjsyRkE1SFksaUJBQWlCO2tCQU43QixTQUFTOzs7MEJBOEJMLE1BQU07MkJBQUMsVUFBVTs0SkFqQnVCLFVBQVU7c0JBQXBELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDckIsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPO2dCQUNPLFNBQVM7c0JBQWpDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEN1YmUsIEF4aXNWYWx1ZSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgVXRpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsaXR5UmVmIH0gZnJvbSBcIi4uL3V0aWxpdHktcmVmXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWElTX1ZBTFVFX1BBVFRFUk4gfSBmcm9tICcuLi8uLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgU3lzdGVtU2VydmljZSB9IGZyb20gJy4uL3N5c3RlbS5zZXJ2aWNlJztcclxuXHJcbmNvbnN0IFBBR0VfU0laRSA9IDIwO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhdHRlcm5zLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1wYXR0ZXJucydcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhdHRlcm5zQ29tcG9uZW50IGltcGxlbWVudHMgVXRpbGl0eUNvbXBvbmVudDxib29sZWFuLCBhbnk+LCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcmVhZG9ubHkgUEFHRV9TSVpFID0gUEFHRV9TSVpFO1xyXG4gIHJlYWRvbmx5IHBhdHRlcm4gPSBBWElTX1ZBTFVFX1BBVFRFUk47XHJcbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPFBhdHRlcm4+O1xyXG4gIGRpcnR5ID0gZmFsc2U7XHJcbiAgcmVhZG9ubHkgc2VnbWVudHM6IHsgW2tleTogc3RyaW5nXTogT2JzZXJ2YWJsZTxTb3VyY2VbXT4gfSA9IHt9O1xyXG4gIHJvbGVzOiBSb2xlW10gPSBbXTtcclxuICBAVmlld0NoaWxkKCdwcm9wZXJ0aWVzJywgeyBzdGF0aWM6IHRydWUgfSkgcHJvcGVydGllczogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQ6IE1hdFNvcnQ7XHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG4gIGluY2x1ZGU6IHN0cmluZ1tdO1xyXG4gIGN1YmU6IEN1YmU7XHJcbiAgcmVhZG9ubHkgZGlzcGxheWVkQ29sdW1ucyA9IFsndGl0bGUnXTtcclxuICByZWFkb25seSBheGVzID0gdGhpcy5fZmIuZ3JvdXAoe30pO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBheGVzOiB0aGlzLmF4ZXMsXHJcbiAgICB0aXRsZTogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIHJvbGVzOiB0aGlzLl9mYi5jb250cm9sKFtdLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gIH0pO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHBhZ2luZzogYm9vbGVhbjtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBASW5qZWN0KFV0aWxpdHlSZWYpIHByaXZhdGUgX3JlZjogVXRpbGl0eVJlZjxib29sZWFuLCBQYXR0ZXJuW10sIFBhdHRlcm5bXSwgYW55LCBPcHRpb25zPixcclxuICAgIHByaXZhdGUgX3R5cGU6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogU3lzdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuICAgIGNvbnN0IHsgY3ViZSwgYXhlcyB9ID0gdGhpcy5fcmVmLm9wdGlvbnM7XHJcbiAgICBjb25zdCBjY3ViZSA9IGN1YmUgPyB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gY3ViZSkgOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICBpZiAoIWNjdWJlKVxyXG4gICAgICB0aHJvdyAnY3ViZSBub3QgZm91bmQuJztcclxuICAgIHRoaXMuY3ViZSA9IGNjdWJlO1xyXG4gICAgdGhpcy5pbmNsdWRlID0gYXhlcyB8fCBjY3ViZS5heGVzLmZpbHRlcihhID0+IGEuc2VsZWN0aW9uTW9kZSAhPT0gJ05vbmUnICYmIGEuY29tYmluYXRpb24pLm1hcChhID0+IGEubmFtZSk7XHJcbiAgICB0aGlzLmN1YmUuYXhlcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICB0aGlzLmF4ZXMuYWRkQ29udHJvbChhLm5hbWUsIHRoaXMuX2ZiLmNvbnRyb2wobnVsbCkpO1xyXG4gICAgICB0aGlzLnNlZ21lbnRzW2EubmFtZV0gPSB0aGlzLl90eXBlLmFsbChhLmRhdGFUeXBlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRpcnR5ID0gdHJ1ZSk7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnJvbGVzKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICB0aGlzLl9yZWYucG9wdWxhdGUoKS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucyhyKTtcclxuICAgICAgICB0aGlzLl9kYXRhc291cmNlKHApO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9kYXRhc291cmNlKGRhdGE6IFBhdHRlcm5bXSkge1xyXG4gICAgLy8gcm9sZXMgc29ydGluZ1xyXG4gICAgZGF0YS5mb3JFYWNoKHAgPT4gcC5yb2xlcyAmJiBwLnJvbGVzLmZvckVhY2gociA9PiBwW3JdID0gdHJ1ZSkpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShkYXRhIHx8IFtdKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gICAgdGhpcy5wYWdpbmcgPSBkYXRhLmxlbmd0aCA+IFBBR0VfU0laRTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NvbHVtbnMocm9sZXM6IFJvbGVbXSkge1xyXG4gICAgdGhpcy5yb2xlcyA9IHJvbGVzO1xyXG4gICAgcm9sZXMuZm9yRWFjaChlID0+IHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKGUubmFtZSkpO1xyXG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goJ29wdGlvbnMnKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZShwYXR0ZXJuOiBQYXR0ZXJuLCByb2xlOiBzdHJpbmcsIGV2dDogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcclxuICAgIGlmICghcGF0dGVybi5yb2xlcykgcGF0dGVybi5yb2xlcyA9IFtdO1xyXG4gICAgaWYgKGV2dC5jaGVja2VkKSB7XHJcbiAgICAgIHBhdHRlcm4ucm9sZXMucHVzaChyb2xlKTtcclxuICAgICAgcGF0dGVybltyb2xlXSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcGF0dGVybi5yb2xlcy5yZW1vdmUocm9sZSk7XHJcbiAgICAgIHBhdHRlcm5bcm9sZV0gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gIH1cclxuICBjcmVhdGUoKSB7XHJcbiAgICB0aGlzLmZvcm0ucmVzZXQoeyBheGVzOiB7fSwgcm9sZXM6IFtdIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKHRoaXMucHJvcGVydGllcywge1xyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuX2Rpci52YWx1ZSxcclxuICAgICAgbWluV2lkdGg6ICc2NnZ3JyxcclxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWVcclxuICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChwYXR0ZXJuOiBQYXR0ZXJuKSA9PiB7XHJcbiAgICAgIGlmIChwYXR0ZXJuKSB7XHJcbiAgICAgICAgcGF0dGVybi5uYW1lID0gcGF0dGVybi50aXRsZS5ub3JtYWxpemUoKTtcclxuICAgICAgICB0aGlzLl9ub3JtYWxpemUocGF0dGVybik7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEucHVzaChwYXR0ZXJuKTtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJyc7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9ub3JtYWxpemUocGF0dGVybjogUGF0dGVybikge1xyXG4gICAgdGhpcy5yb2xlcy5mb3JFYWNoKHIgPT4gcGF0dGVybltyLm5hbWVdID0gcGF0dGVybi5yb2xlcy5pbmRleE9mKHIubmFtZSkgPiAtMSk7XHJcbiAgICBPYmplY3Qua2V5cyhwYXR0ZXJuLmF4ZXMpLmZvckVhY2goayA9PiB7XHJcbiAgICAgIGlmIChwYXR0ZXJuLmF4ZXNba10gPT09IG51bGwpXHJcbiAgICAgICAgZGVsZXRlIHBhdHRlcm4uYXhlc1trXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKHBhdHRlcm46IFBhdHRlcm4pIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLnJlbW92ZShwYXR0ZXJuKTtcclxuICB9XHJcbiAgZWRpdChwYXR0ZXJuOiBQYXR0ZXJuKSB7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZShwYXR0ZXJuLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB0aGlzLl9kaWFsb2cub3Blbih0aGlzLnByb3BlcnRpZXMpLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICBpZiAocikge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24ocGF0dGVybiwgcik7XHJcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplKHBhdHRlcm4pO1xyXG4gICAgICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuX3JlZi5leGVjdXRlKHRoaXMuZGF0YVNvdXJjZS5kYXRhKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3NiLnRvYXN0KCdDaGFuZ2VzU2F2ZWQnKTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+IHRoaXMuX3NiLmVycm9yKClcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgT3B0aW9ucyB7XHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIGF4ZXM6IHN0cmluZ1tdO1xyXG59XHJcbmludGVyZmFjZSBQYXR0ZXJuIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICByb2xlczogc3RyaW5nW107XHJcbiAgYXhlczoge1xyXG4gICAgW2F4aXM6IHN0cmluZ106IEF4aXNWYWx1ZTtcclxuICB9O1xyXG59XHJcbmludGVyZmFjZSBSb2xlIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxufVxyXG5pbnRlcmZhY2UgU291cmNlIHtcclxuICBrZXk6IGFueTtcclxuICB2YWx1ZTogYW55O1xyXG59XHJcbiIsIjxtYXQtdG9vbGJhcj5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInNhdmUoKVwiIFtkaXNhYmxlZF09XCIhZGlydHlcIj57eydTYXZlQ2hhbmdlcyd8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNyZWF0ZSgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0FkZCd8dHJhbnNsYXRlXCIgZGF0YS1ndWlkZT1cImNyZWF0ZVwiPjxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L21hdC10b29sYmFyPlxyXG48dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBtYXRTb3J0PlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidGl0bGVcIiBzdGlja3k+XHJcbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydUaXRsZSd8dHJhbnNsYXRlfX08L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50LnRpdGxlfX0gPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByIG9mIHJvbGVzXCIgW21hdENvbHVtbkRlZl09XCJyLm5hbWVcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7ci50aXRsZX19PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgIDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiZWxlbWVudC5yb2xlcyAmJiBlbGVtZW50LnJvbGVzLmluZGV4T2Yoci5uYW1lKSA+IC0xXCIgKGNoYW5nZSk9XCJ0b2dnbGUoZWxlbWVudCwgci5uYW1lLCAkZXZlbnQpXCI+PC9tYXQtY2hlY2tib3g+XHJcbiAgICA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwib3B0aW9uc1wiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm9wdGlvbnNcIj48bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPG1hdC1tZW51ICNvcHRpb25zPlxyXG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZWRpdChlbGVtZW50KVwiPnt7J0VkaXQnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJkZWxldGUoZWxlbWVudClcIj57eydEaXNjYXJkJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1tZW51PlxyXG4gICAgPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZVwiPjwvdHI+XHJcbiAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCBlbGVtZW50OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XHJcbjwvdGFibGU+XHJcbjxtYXQtcGFnaW5hdG9yIFtwYWdlU2l6ZV09XCJQQUdFX1NJWkVcIiBoaWRlUGFnZVNpemUgc2hvd0ZpcnN0TGFzdEJ1dHRvbnMgKm5nSWY9XCJwYWdpbmdcIj48L21hdC1wYWdpbmF0b3I+XHJcbjwhLS0gZGlhbG9nIC0tPlxyXG48bmctdGVtcGxhdGUgI3Byb3BlcnRpZXM+XHJcbiAgPG1hdC1kaWFsb2ctY29udGVudD5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiBbcGxhY2Vob2xkZXJdPVwiJ1RpdGxlJ3x0cmFuc2xhdGVcIiByZXF1aXJlZCAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJheGVzXCIgKm5nSWY9XCJjdWJlXCIgY2xhc3M9XCJyb3cgd3JhcCBzbS1jb2x1bW5cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhIG9mIGN1YmU/LmF4ZXNcIj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImluY2x1ZGUuaW5kZXhPZihhLm5hbWUpPi0xXCIgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJzZWdtZW50XCIgW3BhdHRlcm5dPVwicGF0dGVyblwiXHJcbiAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImEubmFtZVwiIFtwbGFjZWhvbGRlcl09XCJhLnRpdGxlXCIgLz5cclxuICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI3NlZ21lbnQ+XHJcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG8gb2Ygc2VnbWVudHNbYS5uYW1lXSB8IGFzeW5jXCIgW3ZhbHVlXT1cIm8ua2V5XCI+e3tvLnZhbHVlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImF4ZXMuY29udHJvbHNbYS5uYW1lXS5pbnZhbGlkXCI+e3snU3lzdGVtQXhpc1BhdHRlcm5FcnInIHx0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICZuYnNwO1xyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInJvbGVzXCIgW3BsYWNlaG9sZGVyXT1cIidSb2xlcyd8dHJhbnNsYXRlXCIgbXVsdGlwbGUgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgciBvZiByb2xlc1wiIFt2YWx1ZV09XCJyLm5hbWVcIj57e3IudGl0bGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMucm9sZXMuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57eydSZXF1aXJlZCd8dHJhbnNsYXRlOignUm9sZXMnfHRyYW5zbGF0ZSl9fTwvbWF0LWVycm9yPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwiZm9ybS52YWx1ZVwiIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiPnt7J09LJ3wgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlPnt7J0NhbmNlbCd8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgdGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCVcclxuICB9XHJcbjwvc3R5bGU+XHJcbiJdfQ==
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9wYXR0ZXJucy9wYXR0ZXJucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3BhdHRlcm5zL3BhdHRlcm5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBYSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzNELE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztBQVFkLFdBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBcUI1QixZQUFvQixRQUF3QixFQUNsQyxJQUFvQixFQUNwQixHQUFnQixFQUNJLElBQTZELEVBQ2pGLEtBQXdCLEVBQ3hCLFFBQXVCLEVBQ3ZCLEdBQWtCLEVBQ2xCLE9BQWtC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Q25CO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2hELElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2pDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUU7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0EzSFUsaUJBQWlCLHlHQXdCbEIsVUFBVTttR0F4QlQsaUJBQWlCLG1NQVFqQixPQUFPLDRFQUNQLFlBQVksZ0RDckN6Qiw0cEhBc0VBOztBRDFDYSxpQkFBaUI7SUFIN0IsTUFBTSxDQUFDO1FBQ04sUUFBUSxFQUFFLGlCQUFpQjtLQUM1QixDQUFDO0dBQ1csaUJBQWlCLENBNEg3Qjs0RkE1SFksaUJBQWlCO2tCQU43QixTQUFTOzs7MEJBOEJMLE1BQU07MkJBQUMsVUFBVTs0SkFqQnVCLFVBQVU7c0JBQXBELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDckIsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPO2dCQUNPLFNBQVM7c0JBQWpDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEN1YmUsIEF4aXNWYWx1ZSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgVXRpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsaXR5UmVmIH0gZnJvbSBcIi4uL3V0aWxpdHktcmVmXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWElTX1ZBTFVFX1BBVFRFUk4gfSBmcm9tICcuLi8uLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgU3lzdGVtU2VydmljZSB9IGZyb20gJy4uL3N5c3RlbS5zZXJ2aWNlJztcclxuXHJcbmNvbnN0IFBBR0VfU0laRSA9IDIwO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhdHRlcm5zLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1wYXR0ZXJucydcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhdHRlcm5zQ29tcG9uZW50IGltcGxlbWVudHMgVXRpbGl0eUNvbXBvbmVudDxib29sZWFuLCBhbnk+LCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcmVhZG9ubHkgUEFHRV9TSVpFID0gUEFHRV9TSVpFO1xyXG4gIHJlYWRvbmx5IHBhdHRlcm4gPSBBWElTX1ZBTFVFX1BBVFRFUk47XHJcbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPFBhdHRlcm4+O1xyXG4gIGRpcnR5ID0gZmFsc2U7XHJcbiAgcmVhZG9ubHkgc2VnbWVudHM6IHsgW2tleTogc3RyaW5nXTogT2JzZXJ2YWJsZTxTb3VyY2VbXT4gfSA9IHt9O1xyXG4gIHJvbGVzOiBSb2xlW10gPSBbXTtcclxuICBAVmlld0NoaWxkKCdwcm9wZXJ0aWVzJywgeyBzdGF0aWM6IHRydWUgfSkgcHJvcGVydGllczogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQ6IE1hdFNvcnQ7XHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG4gIGluY2x1ZGU6IHN0cmluZ1tdO1xyXG4gIGN1YmU6IEN1YmU7XHJcbiAgcmVhZG9ubHkgZGlzcGxheWVkQ29sdW1ucyA9IFsndGl0bGUnXTtcclxuICByZWFkb25seSBheGVzID0gdGhpcy5fZmIuZ3JvdXAoe30pO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBheGVzOiB0aGlzLmF4ZXMsXHJcbiAgICB0aXRsZTogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIHJvbGVzOiB0aGlzLl9mYi5jb250cm9sKFtdLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gIH0pO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHBhZ2luZzogYm9vbGVhbjtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBASW5qZWN0KFV0aWxpdHlSZWYpIHByaXZhdGUgX3JlZjogVXRpbGl0eVJlZjxib29sZWFuLCBQYXR0ZXJuW10sIFBhdHRlcm5bXSwgYW55LCBPcHRpb25zPixcclxuICAgIHByaXZhdGUgX3R5cGU6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogU3lzdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuICAgIGNvbnN0IHsgY3ViZSwgYXhlcyB9ID0gdGhpcy5fcmVmLm9wdGlvbnM7XHJcbiAgICBjb25zdCBjY3ViZSA9IGN1YmUgPyB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gY3ViZSkgOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICBpZiAoIWNjdWJlKVxyXG4gICAgICB0aHJvdyAnY3ViZSBub3QgZm91bmQuJztcclxuICAgIHRoaXMuY3ViZSA9IGNjdWJlO1xyXG4gICAgdGhpcy5pbmNsdWRlID0gYXhlcyB8fCBjY3ViZS5heGVzLmZpbHRlcihhID0+IGEuc2VsZWN0aW9uTW9kZSAhPT0gJ05vbmUnICYmIGEuY29tYmluYXRpb24pLm1hcChhID0+IGEubmFtZSk7XHJcbiAgICB0aGlzLmN1YmUuYXhlcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICB0aGlzLmF4ZXMuYWRkQ29udHJvbChhLm5hbWUsIHRoaXMuX2ZiLmNvbnRyb2wobnVsbCkpO1xyXG4gICAgICB0aGlzLnNlZ21lbnRzW2EubmFtZV0gPSB0aGlzLl90eXBlLmFsbChhLmRhdGFUeXBlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRpcnR5ID0gdHJ1ZSk7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnJvbGVzKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICB0aGlzLl9yZWYucG9wdWxhdGUoKS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucyhyKTtcclxuICAgICAgICB0aGlzLl9kYXRhc291cmNlKHApO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9kYXRhc291cmNlKGRhdGE6IFBhdHRlcm5bXSkge1xyXG4gICAgLy8gcm9sZXMgc29ydGluZ1xyXG4gICAgZGF0YS5mb3JFYWNoKHAgPT4gcC5yb2xlcyAmJiBwLnJvbGVzLmZvckVhY2gociA9PiBwW3JdID0gdHJ1ZSkpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShkYXRhIHx8IFtdKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gICAgdGhpcy5wYWdpbmcgPSBkYXRhLmxlbmd0aCA+IFBBR0VfU0laRTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NvbHVtbnMocm9sZXM6IFJvbGVbXSkge1xyXG4gICAgdGhpcy5yb2xlcyA9IHJvbGVzO1xyXG4gICAgcm9sZXMuZm9yRWFjaChlID0+IHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKGUubmFtZSkpO1xyXG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goJ29wdGlvbnMnKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZShwYXR0ZXJuOiBQYXR0ZXJuLCByb2xlOiBzdHJpbmcsIGV2dDogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcclxuICAgIGlmICghcGF0dGVybi5yb2xlcykgcGF0dGVybi5yb2xlcyA9IFtdO1xyXG4gICAgaWYgKGV2dC5jaGVja2VkKSB7XHJcbiAgICAgIHBhdHRlcm4ucm9sZXMucHVzaChyb2xlKTtcclxuICAgICAgcGF0dGVybltyb2xlXSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcGF0dGVybi5yb2xlcy5yZW1vdmUocm9sZSk7XHJcbiAgICAgIHBhdHRlcm5bcm9sZV0gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gIH1cclxuICBjcmVhdGUoKSB7XHJcbiAgICB0aGlzLmZvcm0ucmVzZXQoeyBheGVzOiB7fSwgcm9sZXM6IFtdIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKHRoaXMucHJvcGVydGllcywge1xyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuX2Rpci52YWx1ZSxcclxuICAgICAgbWluV2lkdGg6ICc2NnZ3JyxcclxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWVcclxuICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChwYXR0ZXJuOiBQYXR0ZXJuKSA9PiB7XHJcbiAgICAgIGlmIChwYXR0ZXJuKSB7XHJcbiAgICAgICAgcGF0dGVybi5uYW1lID0gcGF0dGVybi50aXRsZS5ub3JtYWxpemUoKTtcclxuICAgICAgICB0aGlzLl9ub3JtYWxpemUocGF0dGVybik7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEucHVzaChwYXR0ZXJuKTtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJyc7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9ub3JtYWxpemUocGF0dGVybjogUGF0dGVybikge1xyXG4gICAgdGhpcy5yb2xlcy5mb3JFYWNoKHIgPT4gcGF0dGVybltyLm5hbWVdID0gcGF0dGVybi5yb2xlcy5pbmRleE9mKHIubmFtZSkgPiAtMSk7XHJcbiAgICBPYmplY3Qua2V5cyhwYXR0ZXJuLmF4ZXMpLmZvckVhY2goayA9PiB7XHJcbiAgICAgIGlmIChwYXR0ZXJuLmF4ZXNba10gPT09IG51bGwpXHJcbiAgICAgICAgZGVsZXRlIHBhdHRlcm4uYXhlc1trXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKHBhdHRlcm46IFBhdHRlcm4pIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLnJlbW92ZShwYXR0ZXJuKTtcclxuICB9XHJcbiAgZWRpdChwYXR0ZXJuOiBQYXR0ZXJuKSB7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZShwYXR0ZXJuLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB0aGlzLl9kaWFsb2cub3Blbih0aGlzLnByb3BlcnRpZXMpLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICBpZiAocikge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24ocGF0dGVybiwgcik7XHJcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplKHBhdHRlcm4pO1xyXG4gICAgICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuX3JlZi5leGVjdXRlKHRoaXMuZGF0YVNvdXJjZS5kYXRhKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3NiLnRvYXN0KCdDaGFuZ2VzU2F2ZWQnKTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+IHRoaXMuX3NiLmVycm9yKClcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgT3B0aW9ucyB7XHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIGF4ZXM6IHN0cmluZ1tdO1xyXG59XHJcbmludGVyZmFjZSBQYXR0ZXJuIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICByb2xlczogc3RyaW5nW107XHJcbiAgYXhlczoge1xyXG4gICAgW2F4aXM6IHN0cmluZ106IEF4aXNWYWx1ZTtcclxuICB9O1xyXG59XHJcbmludGVyZmFjZSBSb2xlIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxufVxyXG5pbnRlcmZhY2UgU291cmNlIHtcclxuICBrZXk6IGFueTtcclxuICB2YWx1ZTogYW55O1xyXG59XHJcbiIsIjxtYXQtdG9vbGJhcj5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInNhdmUoKVwiIFtkaXNhYmxlZF09XCIhZGlydHlcIj57eydTYXZlQ2hhbmdlcyd8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNyZWF0ZSgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0FkZCd8dHJhbnNsYXRlXCIgZGF0YS1ndWlkZT1cImNyZWF0ZVwiPjxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L21hdC10b29sYmFyPlxyXG48dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBtYXRTb3J0PlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidGl0bGVcIiBzdGlja3k+XHJcbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydUaXRsZSd8dHJhbnNsYXRlfX08L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50LnRpdGxlfX0gPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByIG9mIHJvbGVzXCIgW21hdENvbHVtbkRlZl09XCJyLm5hbWVcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7ci50aXRsZX19PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgIDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiZWxlbWVudC5yb2xlcyAmJiBlbGVtZW50LnJvbGVzLmluZGV4T2Yoci5uYW1lKSA+IC0xXCIgKGNoYW5nZSk9XCJ0b2dnbGUoZWxlbWVudCwgci5uYW1lLCAkZXZlbnQpXCI+PC9tYXQtY2hlY2tib3g+XHJcbiAgICA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwib3B0aW9uc1wiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm9wdGlvbnNcIj48bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPG1hdC1tZW51ICNvcHRpb25zPlxyXG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZWRpdChlbGVtZW50KVwiPnt7J0VkaXQnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJkZWxldGUoZWxlbWVudClcIj57eydEaXNjYXJkJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1tZW51PlxyXG4gICAgPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZVwiPjwvdHI+XHJcbiAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCBlbGVtZW50OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XHJcbjwvdGFibGU+XHJcbjxtYXQtcGFnaW5hdG9yIFtwYWdlU2l6ZV09XCJQQUdFX1NJWkVcIiBoaWRlUGFnZVNpemUgc2hvd0ZpcnN0TGFzdEJ1dHRvbnMgKm5nSWY9XCJwYWdpbmdcIj48L21hdC1wYWdpbmF0b3I+XHJcbjwhLS0gZGlhbG9nIC0tPlxyXG48bmctdGVtcGxhdGUgI3Byb3BlcnRpZXM+XHJcbiAgPG1hdC1kaWFsb2ctY29udGVudD5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiBbcGxhY2Vob2xkZXJdPVwiJ1RpdGxlJ3x0cmFuc2xhdGVcIiByZXF1aXJlZCAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJheGVzXCIgKm5nSWY9XCJjdWJlXCIgY2xhc3M9XCJyb3cgd3JhcCBzbS1jb2x1bW5cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhIG9mIGN1YmU/LmF4ZXNcIj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImluY2x1ZGUuaW5kZXhPZihhLm5hbWUpPi0xXCIgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJzZWdtZW50XCIgW3BhdHRlcm5dPVwicGF0dGVyblwiXHJcbiAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImEubmFtZVwiIFtwbGFjZWhvbGRlcl09XCJhLnRpdGxlXCIgLz5cclxuICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI3NlZ21lbnQ+XHJcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG8gb2Ygc2VnbWVudHNbYS5uYW1lXSB8IGFzeW5jXCIgW3ZhbHVlXT1cIm8ua2V5XCI+e3tvLnZhbHVlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImF4ZXMuY29udHJvbHNbYS5uYW1lXS5pbnZhbGlkXCI+e3snU3lzdGVtQXhpc1BhdHRlcm5FcnInIHx0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICZuYnNwO1xyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInJvbGVzXCIgW3BsYWNlaG9sZGVyXT1cIidSb2xlcyd8dHJhbnNsYXRlXCIgbXVsdGlwbGUgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgciBvZiByb2xlc1wiIFt2YWx1ZV09XCJyLm5hbWVcIj57e3IudGl0bGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHMucm9sZXMuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57eydSZXF1aXJlZCd8dHJhbnNsYXRlOignUm9sZXMnfHRyYW5zbGF0ZSl9fTwvbWF0LWVycm9yPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwiZm9ybS52YWx1ZVwiIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiPnt7J09LJ3wgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlPnt7J0NhbmNlbCd8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxzdHlsZSBzY29wZWQ+XHJcbiAgdGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCVcclxuICB9XHJcbjwvc3R5bGU+XHJcbiJdfQ==
@@ -77,15 +77,15 @@ export let PermissionsUtility = class PermissionsUtility {
77
77
  }, error: () => this._sb.error()
78
78
  });
79
79
  }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PermissionsUtility, deps: [{ token: UtilityRef }, { token: i1.SessionService }, { token: i2.PromptService }, { token: i3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PermissionsUtility, selector: "ng-component", viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\r\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <bizdoc-search-input (valueChange)=\"search($event)\"></bizdoc-search-input>\r\n <button mat-button [matMenuTriggerFor]=\"formMenu\">{{form?.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #formMenu>\r\n <button mat-menu-item *ngFor=\"let f of forms\" (click)=\"formChange(f.name)\">{{f.title}}</button>\r\n </mat-menu>\r\n</mat-toolbar>\r\n<table mat-table matSort [dataSource]=\"dataSource\">\r\n <ng-container matColumnDef=\"title\" sticky>\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Permission' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let item\"> {{item.title || item.name}}</td>\r\n </ng-container>\r\n <ng-container [matColumnDef]=\"r.name\" *ngFor=\"let r of roles\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\r\n <td mat-cell *matCellDef=\"let item\"> <mat-checkbox [checked]=\"item[r.name]\" [value]=\"r.name\" (change)=\"change(item, $event)\"></mat-checkbox> </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let item; columns: displayColumns;\"></tr>\r\n</table>\r\n", styles: ["table{width:100%}::ng-deep .mat-mdc-row{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { 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: "component", type: i12.SearchInput, selector: "bizdoc-search-input", outputs: ["valueChange"] }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PermissionsUtility, deps: [{ token: UtilityRef }, { token: i1.SessionService }, { token: i2.PromptService }, { token: i3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PermissionsUtility, selector: "ng-component", viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\r\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <bizdoc-search-input (valueChange)=\"search($event)\"></bizdoc-search-input>\r\n <button mat-button [matMenuTriggerFor]=\"formMenu\">{{form?.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #formMenu>\r\n <button mat-menu-item *ngFor=\"let f of forms\" (click)=\"formChange(f.name)\">{{f.title}}</button>\r\n </mat-menu>\r\n</mat-toolbar>\r\n<table mat-table matSort [dataSource]=\"dataSource\">\r\n <ng-container matColumnDef=\"title\" sticky>\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Permission' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let item\"> {{item.title || item.name}}</td>\r\n </ng-container>\r\n <ng-container [matColumnDef]=\"r.name\" *ngFor=\"let r of roles\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\r\n <td mat-cell *matCellDef=\"let item\"> <mat-checkbox [checked]=\"item[r.name]\" [value]=\"r.name\" (change)=\"change(item, $event)\"></mat-checkbox> </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let item; columns: displayColumns;\"></tr>\r\n</table>\r\n", styles: ["table{width:100%}::ng-deep .mat-mdc-row{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { 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: "component", type: i12.SearchInput, selector: "bizdoc-search-input", outputs: ["valueChange"] }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] }); }
82
82
  };
83
83
  PermissionsUtility = __decorate([
84
84
  BizDoc({
85
85
  selector: 'bizdoc-permissions'
86
86
  })
87
87
  ], PermissionsUtility);
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PermissionsUtility, decorators: [{
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PermissionsUtility, decorators: [{
89
89
  type: Component,
90
90
  args: [{ template: "<mat-toolbar>\r\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <bizdoc-search-input (valueChange)=\"search($event)\"></bizdoc-search-input>\r\n <button mat-button [matMenuTriggerFor]=\"formMenu\">{{form?.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #formMenu>\r\n <button mat-menu-item *ngFor=\"let f of forms\" (click)=\"formChange(f.name)\">{{f.title}}</button>\r\n </mat-menu>\r\n</mat-toolbar>\r\n<table mat-table matSort [dataSource]=\"dataSource\">\r\n <ng-container matColumnDef=\"title\" sticky>\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Permission' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let item\"> {{item.title || item.name}}</td>\r\n </ng-container>\r\n <ng-container [matColumnDef]=\"r.name\" *ngFor=\"let r of roles\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\r\n <td mat-cell *matCellDef=\"let item\"> <mat-checkbox [checked]=\"item[r.name]\" [value]=\"r.name\" (change)=\"change(item, $event)\"></mat-checkbox> </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let item; columns: displayColumns;\"></tr>\r\n</table>\r\n", styles: ["table{width:100%}::ng-deep .mat-mdc-row{cursor:pointer}\n"] }]
91
91
  }], ctorParameters: function () { return [{ type: i14.UtilityRef, decorators: [{
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
95
95
  type: ViewChild,
96
96
  args: [MatSort, { static: true }]
97
97
  }] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVMUMsV0FBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFTN0IsWUFBd0MsV0FBd0QsRUFBVSxRQUF3QixFQUN4SCxHQUFrQixFQUFVLEdBQWdCO1FBRGQsZ0JBQVcsR0FBWCxXQUFXLENBQTZDO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEgsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFOdEQsVUFBSyxHQUFHLEtBQUssQ0FBQztRQU9aLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsTUFB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LENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0MsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRTtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQTNEVSxrQkFBa0Isa0JBU1QsVUFBVTtrR0FUbkIsa0JBQWtCLDBGQU9sQixPQUFPLDhEQzFCcEIsaTBDQXFCQTs7QURGYSxrQkFBa0I7SUFIOUIsTUFBTSxDQUFDO1FBQ04sUUFBUSxFQUFFLG9CQUFvQjtLQUMvQixDQUFDO0dBQ1csa0JBQWtCLENBNEQ5QjsyRkE1RFksa0JBQWtCO2tCQVA5QixTQUFTOzs7MEJBZ0JLLE1BQU07MkJBQUMsVUFBVTsrSEFGUSxJQUFJO3NCQUF6QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgT25Jbml0LCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBSb2xlLCBGb3JtIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgVXRpbGl0eUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb3JlL2Jhc2VcIjtcclxuaW1wb3J0IHsgVXRpbGl0eVJlZiB9IGZyb20gXCIuLi91dGlsaXR5LXJlZlwiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydFwiO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveENoYW5nZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Blcm1pc3Npb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wZXJtaXNzaW9ucy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbkBCaXpEb2Moe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXBlcm1pc3Npb25zJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNVdGlsaXR5IGltcGxlbWVudHMgT25Jbml0LCBVdGlsaXR5Q29tcG9uZW50PGJvb2xlYW4sIFBlcm1pc2lvbk1hcD4ge1xyXG4gIHJlYWRvbmx5IHJvbGVzOiBSb2xlW107XHJcbiAgcmVhZG9ubHkgZm9ybXM6IEZvcm1bXTtcclxuICByZWFkb25seSBkaXNwbGF5Q29sdW1uczogc3RyaW5nW107XHJcbiAgZGlydHkgPSBmYWxzZTtcclxuICBmb3JtOiBGb3JtO1xyXG4gIGRhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxNb2RlbD47XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0O1xyXG4gIHByaXZhdGUgX2RhdGE6IFBlcm1pc2lvbk1hcDtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFV0aWxpdHlSZWYpIHByaXZhdGUgX3V0aWxpdHlSZWY6IFV0aWxpdHlSZWY8Ym9vbGVhbiwgYW55LCBQZXJtaXNpb25NYXAsIGFueT4sIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcikge1xyXG4gICAgdGhpcy5yb2xlcyA9IF9zZXNzaW9uLnByb2ZpbGUucm9sZXM7XHJcbiAgICB0aGlzLmZvcm1zID0gX3Nlc3Npb24ucHJvZmlsZS5mb3JtcztcclxuICAgIHRoaXMuZGlzcGxheUNvbHVtbnMgPSBbJ3RpdGxlJ10uY29uY2F0KHRoaXMucm9sZXMubWFwKHIgPT4gci5uYW1lKSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdXRpbGl0eVJlZi5wb3B1bGF0ZSgpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgdGhpcy5fZGF0YSA9IHI7XHJcbiAgICAgIHRoaXMuX3BvcHVsYXRlKCh0aGlzLmZvcm1zLmZpbmQoZiA9PiByW2YubmFtZV0pIHx8IHRoaXMuZm9ybXNbMF0pLm5hbWUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gdmFsdWU7XHJcbiAgfVxyXG4gIGZvcm1DaGFuZ2UoZm9ybTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9wb3B1bGF0ZShmb3JtKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcG9wdWxhdGUoZm9ybTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmluZChmID0+IGYubmFtZSA9PT0gZm9ybSk7XHJcbiAgICBpZiAoIXRoaXMuX2RhdGFbZm9ybV0pIHRoaXMuX2RhdGFbZm9ybV0gPSB7fTtcclxuICAgIGNvbnN0IGRhdGEgPSBPYmplY3Qua2V5cyh0aGlzLl9kYXRhW2Zvcm1dKS5tYXAoayA9PiB7XHJcbiAgICAgIGNvbnN0IG9iaiA9IHRoaXMuX2RhdGFbZm9ybV1ba107XHJcbiAgICAgIGlmICghb2JqLnJvbGVzKVxyXG4gICAgICAgIG9iai5yb2xlcyA9IFtdO1xyXG4gICAgICBlbHNlIG9iai5yb2xlcy5mb3JFYWNoKHIgPT4gb2JqW3JdID0gdHJ1ZSk7XHJcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHsgbmFtZTogayB9LCBvYmopO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKGRhdGEpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XHJcbiAgfVxyXG4gIGNoYW5nZShpdGVtOiBNb2RlbCwgZTogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcclxuICAgIGNvbnN0IHsgdmFsdWU6IHJvbGUgfSA9IGUuc291cmNlO1xyXG4gICAgaWYgKGUuY2hlY2tlZCkge1xyXG4gICAgICBpdGVtLnJvbGVzLnB1c2gocm9sZSk7XHJcbiAgICAgIGl0ZW1bcm9sZV0gPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGl0ZW0ucm9sZXMucmVtb3ZlKHJvbGUpO1xyXG4gICAgICBpdGVtW3JvbGVdID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuX3V0aWxpdHlSZWYuZXhlY3V0ZSh0aGlzLl9kYXRhKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3NiLnRvYXN0KCdDaGFuZ2VzU2F2ZWQnKTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+IHRoaXMuX3NiLmVycm9yKClcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgTW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHJvbGVzOiBzdHJpbmdbXTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFBlcm1pc2lvbk1hcCB7XHJcbiAgW2Zvcm06IHN0cmluZ106IHtcclxuICAgIFtuYW1lOiBzdHJpbmddOiBNb2RlbDtcclxuICB9O1xyXG59XHJcbiIsIjxtYXQtdG9vbGJhcj5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInNhdmUoKVwiIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhZGlydHlcIj57eydTYXZlQ2hhbmdlcyd8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJpemRvYy1zZWFyY2gtaW5wdXQgKHZhbHVlQ2hhbmdlKT1cInNlYXJjaCgkZXZlbnQpXCI+PC9iaXpkb2Mtc2VhcmNoLWlucHV0PlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiZm9ybU1lbnVcIj57e2Zvcm0/LnRpdGxlfX0gPG1hdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPG1hdC1tZW51ICNmb3JtTWVudT5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgZiBvZiBmb3Jtc1wiIChjbGljayk9XCJmb3JtQ2hhbmdlKGYubmFtZSlcIj57e2YudGl0bGV9fTwvYnV0dG9uPlxyXG4gIDwvbWF0LW1lbnU+XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjx0YWJsZSBtYXQtdGFibGUgbWF0U29ydCBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCI+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0aXRsZVwiIHN0aWNreT5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J1Blcm1pc3Npb24nIHwgdHJhbnNsYXRlfX08L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj4ge3tpdGVtLnRpdGxlIHx8IGl0ZW0ubmFtZX19PC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwici5uYW1lXCIgKm5nRm9yPVwibGV0IHIgb2Ygcm9sZXNcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7ci50aXRsZX19PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+IDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiaXRlbVtyLm5hbWVdXCIgW3ZhbHVlXT1cInIubmFtZVwiIChjaGFuZ2UpPVwiY2hhbmdlKGl0ZW0sICRldmVudClcIj48L21hdC1jaGVja2JveD4gPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXlDb2x1bW5zOyBzdGlja3k6IHRydWVcIj48L3RyPlxyXG4gIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgaXRlbTsgY29sdW1uczogZGlzcGxheUNvbHVtbnM7XCI+PC90cj5cclxuPC90YWJsZT5cclxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVMUMsV0FBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFTN0IsWUFBd0MsV0FBd0QsRUFBVSxRQUF3QixFQUN4SCxHQUFrQixFQUFVLEdBQWdCO1FBRGQsZ0JBQVcsR0FBWCxXQUFXLENBQTZDO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEgsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFOdEQsVUFBSyxHQUFHLEtBQUssQ0FBQztRQU9aLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsTUFB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LENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0MsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRTtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQTNEVSxrQkFBa0Isa0JBU1QsVUFBVTttR0FUbkIsa0JBQWtCLDBGQU9sQixPQUFPLDhEQzFCcEIsaTBDQXFCQTs7QURGYSxrQkFBa0I7SUFIOUIsTUFBTSxDQUFDO1FBQ04sUUFBUSxFQUFFLG9CQUFvQjtLQUMvQixDQUFDO0dBQ1csa0JBQWtCLENBNEQ5Qjs0RkE1RFksa0JBQWtCO2tCQVA5QixTQUFTOzs7MEJBZ0JLLE1BQU07MkJBQUMsVUFBVTsrSEFGUSxJQUFJO3NCQUF6QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgT25Jbml0LCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBSb2xlLCBGb3JtIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgVXRpbGl0eUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb3JlL2Jhc2VcIjtcclxuaW1wb3J0IHsgVXRpbGl0eVJlZiB9IGZyb20gXCIuLi91dGlsaXR5LXJlZlwiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydFwiO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveENoYW5nZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Blcm1pc3Npb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wZXJtaXNzaW9ucy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbkBCaXpEb2Moe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXBlcm1pc3Npb25zJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNVdGlsaXR5IGltcGxlbWVudHMgT25Jbml0LCBVdGlsaXR5Q29tcG9uZW50PGJvb2xlYW4sIFBlcm1pc2lvbk1hcD4ge1xyXG4gIHJlYWRvbmx5IHJvbGVzOiBSb2xlW107XHJcbiAgcmVhZG9ubHkgZm9ybXM6IEZvcm1bXTtcclxuICByZWFkb25seSBkaXNwbGF5Q29sdW1uczogc3RyaW5nW107XHJcbiAgZGlydHkgPSBmYWxzZTtcclxuICBmb3JtOiBGb3JtO1xyXG4gIGRhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxNb2RlbD47XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0O1xyXG4gIHByaXZhdGUgX2RhdGE6IFBlcm1pc2lvbk1hcDtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFV0aWxpdHlSZWYpIHByaXZhdGUgX3V0aWxpdHlSZWY6IFV0aWxpdHlSZWY8Ym9vbGVhbiwgYW55LCBQZXJtaXNpb25NYXAsIGFueT4sIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcikge1xyXG4gICAgdGhpcy5yb2xlcyA9IF9zZXNzaW9uLnByb2ZpbGUucm9sZXM7XHJcbiAgICB0aGlzLmZvcm1zID0gX3Nlc3Npb24ucHJvZmlsZS5mb3JtcztcclxuICAgIHRoaXMuZGlzcGxheUNvbHVtbnMgPSBbJ3RpdGxlJ10uY29uY2F0KHRoaXMucm9sZXMubWFwKHIgPT4gci5uYW1lKSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdXRpbGl0eVJlZi5wb3B1bGF0ZSgpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgdGhpcy5fZGF0YSA9IHI7XHJcbiAgICAgIHRoaXMuX3BvcHVsYXRlKCh0aGlzLmZvcm1zLmZpbmQoZiA9PiByW2YubmFtZV0pIHx8IHRoaXMuZm9ybXNbMF0pLm5hbWUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gdmFsdWU7XHJcbiAgfVxyXG4gIGZvcm1DaGFuZ2UoZm9ybTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9wb3B1bGF0ZShmb3JtKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcG9wdWxhdGUoZm9ybTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmluZChmID0+IGYubmFtZSA9PT0gZm9ybSk7XHJcbiAgICBpZiAoIXRoaXMuX2RhdGFbZm9ybV0pIHRoaXMuX2RhdGFbZm9ybV0gPSB7fTtcclxuICAgIGNvbnN0IGRhdGEgPSBPYmplY3Qua2V5cyh0aGlzLl9kYXRhW2Zvcm1dKS5tYXAoayA9PiB7XHJcbiAgICAgIGNvbnN0IG9iaiA9IHRoaXMuX2RhdGFbZm9ybV1ba107XHJcbiAgICAgIGlmICghb2JqLnJvbGVzKVxyXG4gICAgICAgIG9iai5yb2xlcyA9IFtdO1xyXG4gICAgICBlbHNlIG9iai5yb2xlcy5mb3JFYWNoKHIgPT4gb2JqW3JdID0gdHJ1ZSk7XHJcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHsgbmFtZTogayB9LCBvYmopO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKGRhdGEpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XHJcbiAgfVxyXG4gIGNoYW5nZShpdGVtOiBNb2RlbCwgZTogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcclxuICAgIGNvbnN0IHsgdmFsdWU6IHJvbGUgfSA9IGUuc291cmNlO1xyXG4gICAgaWYgKGUuY2hlY2tlZCkge1xyXG4gICAgICBpdGVtLnJvbGVzLnB1c2gocm9sZSk7XHJcbiAgICAgIGl0ZW1bcm9sZV0gPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGl0ZW0ucm9sZXMucmVtb3ZlKHJvbGUpO1xyXG4gICAgICBpdGVtW3JvbGVdID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuX3V0aWxpdHlSZWYuZXhlY3V0ZSh0aGlzLl9kYXRhKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3NiLnRvYXN0KCdDaGFuZ2VzU2F2ZWQnKTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+IHRoaXMuX3NiLmVycm9yKClcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgTW9kZWwge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHJvbGVzOiBzdHJpbmdbXTtcclxufVxyXG5cclxuaW50ZXJmYWNlIFBlcm1pc2lvbk1hcCB7XHJcbiAgW2Zvcm06IHN0cmluZ106IHtcclxuICAgIFtuYW1lOiBzdHJpbmddOiBNb2RlbDtcclxuICB9O1xyXG59XHJcbiIsIjxtYXQtdG9vbGJhcj5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInNhdmUoKVwiIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhZGlydHlcIj57eydTYXZlQ2hhbmdlcyd8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJpemRvYy1zZWFyY2gtaW5wdXQgKHZhbHVlQ2hhbmdlKT1cInNlYXJjaCgkZXZlbnQpXCI+PC9iaXpkb2Mtc2VhcmNoLWlucHV0PlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiZm9ybU1lbnVcIj57e2Zvcm0/LnRpdGxlfX0gPG1hdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPG1hdC1tZW51ICNmb3JtTWVudT5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgZiBvZiBmb3Jtc1wiIChjbGljayk9XCJmb3JtQ2hhbmdlKGYubmFtZSlcIj57e2YudGl0bGV9fTwvYnV0dG9uPlxyXG4gIDwvbWF0LW1lbnU+XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjx0YWJsZSBtYXQtdGFibGUgbWF0U29ydCBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCI+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0aXRsZVwiIHN0aWNreT5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J1Blcm1pc3Npb24nIHwgdHJhbnNsYXRlfX08L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj4ge3tpdGVtLnRpdGxlIHx8IGl0ZW0ubmFtZX19PC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwici5uYW1lXCIgKm5nRm9yPVwibGV0IHIgb2Ygcm9sZXNcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7ci50aXRsZX19PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+IDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiaXRlbVtyLm5hbWVdXCIgW3ZhbHVlXT1cInIubmFtZVwiIChjaGFuZ2UpPVwiY2hhbmdlKGl0ZW0sICRldmVudClcIj48L21hdC1jaGVja2JveD4gPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXlDb2x1bW5zOyBzdGlja3k6IHRydWVcIj48L3RyPlxyXG4gIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgaXRlbTsgY29sdW1uczogZGlzcGxheUNvbHVtbnM7XCI+PC90cj5cclxuPC90YWJsZT5cclxuIl19
@@ -58,10 +58,10 @@ export class PositionsPopup {
58
58
  this._destroy.next();
59
59
  this._destroy.complete();
60
60
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PositionsPopup, deps: [{ token: POPUP_DATA }, { token: i0.ChangeDetectorRef }, { token: i1.AccountService }], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PositionsPopup, selector: "ng-component", viewQueries: [{ propertyName: "nameInput", first: true, predicate: ["nameInput"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<mat-form-field>\r\n <mat-chip-grid #chipList [attr.aria-label]=\"data.title\">\r\n <mat-chip-row *ngFor=\"let u of data.positions\"\r\n [selectable]=\"true\"\r\n [removable]=\"true\"\r\n (removed)=\"removed(u)\">\r\n <bizdoc-identity-name [identity]=u></bizdoc-identity-name>\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n </mat-chip-grid>\r\n <input [placeholder]=\"data.title\"\r\n [formControl]=control\r\n #nameInput\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"selected(nameInput, $event)\">\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u.id\">\r\n {{u.name}}\r\n <span *ngIf=\"u.email\">&nbsp; - {{u.email}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n", styles: [":host{padding:8px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatChipGrid, selector: "mat-chip-grid", inputs: ["tabIndex", "disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "editable"], outputs: ["edited"] }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PositionsPopup, deps: [{ token: POPUP_DATA }, { token: i0.ChangeDetectorRef }, { token: i1.AccountService }], target: i0.ɵɵFactoryTarget.Component }); }
62
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PositionsPopup, selector: "ng-component", viewQueries: [{ propertyName: "nameInput", first: true, predicate: ["nameInput"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<mat-form-field>\r\n <mat-chip-grid #chipList [attr.aria-label]=\"data.title\">\r\n <mat-chip-row *ngFor=\"let u of data.positions\"\r\n [selectable]=\"true\"\r\n [removable]=\"true\"\r\n (removed)=\"removed(u)\">\r\n <bizdoc-identity-name [identity]=u></bizdoc-identity-name>\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n </mat-chip-grid>\r\n <input [placeholder]=\"data.title\"\r\n [formControl]=control\r\n #nameInput\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"selected(nameInput, $event)\">\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u.id\">\r\n {{u.name}}\r\n <span *ngIf=\"u.email\">&nbsp; - {{u.email}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n", styles: [":host{padding:8px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatChipGrid, selector: "mat-chip-grid", inputs: ["tabIndex", "disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "editable"], outputs: ["edited"] }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PositionsPopup, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PositionsPopup, decorators: [{
65
65
  type: Component,
66
66
  args: [{ template: "<mat-form-field>\r\n <mat-chip-grid #chipList [attr.aria-label]=\"data.title\">\r\n <mat-chip-row *ngFor=\"let u of data.positions\"\r\n [selectable]=\"true\"\r\n [removable]=\"true\"\r\n (removed)=\"removed(u)\">\r\n <bizdoc-identity-name [identity]=u></bizdoc-identity-name>\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n </mat-chip-grid>\r\n <input [placeholder]=\"data.title\"\r\n [formControl]=control\r\n #nameInput\r\n [matAutocomplete]=\"auto\"\r\n [matChipInputFor]=\"chipList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"selected(nameInput, $event)\">\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u.id\">\r\n {{u.name}}\r\n <span *ngIf=\"u.email\">&nbsp; - {{u.email}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n", styles: [":host{padding:8px}\n"] }]
67
67
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
71
71
  type: ViewChild,
72
72
  args: ['nameInput', { static: true, read: ElementRef }]
73
73
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb25zLXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vcG9zaXRpb25zL3Bvc2l0aW9ucy1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3Bvc2l0aW9ucy9wb3NpdGlvbnMtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFXOUQsTUFBTSxPQUNFLGNBQWM7SUFPcEIsWUFDNkIsSUFBbUIsRUFDdEMsR0FBc0IsRUFDdEIsUUFBd0I7UUFGTCxTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ3RDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBVHpCLHVCQUFrQixHQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNsQyxZQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHeEIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFJVixDQUFDO0lBQ3ZDLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDdEYsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELGdEQUFnRDtRQUNoRCwyREFBMkQ7UUFDM0QsT0FBTztJQUNQLENBQUM7SUFDQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0g7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxHQUFxQixFQUFFLEtBQW1DO1FBQ2pFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLEVBQVU7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTlDLElBQUksS0FBSyxJQUFJLENBQUM7WUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0E5Q0ssY0FBYyxrQkFRVixVQUFVO2tHQVJkLGNBQWMsdUlBSTBCLFVBQVUsMkNDeEIxRCw2K0JBdUJBOzsyRkRIUSxjQUFjO2tCQUxyQixTQUFTOzs7MEJBYUwsTUFBTTsyQkFBQyxVQUFVO3lHQUp3QyxTQUFTO3NCQUFwRSxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIEluamVjdCwgQWZ0ZXJWaWV3SW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCwgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgQ09NTUEsIEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgVXNlckluZm8gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQT1BVUF9EQVRBIH0gZnJvbSAnLi4vLi4vY29yZS9wb3B1cC9wb3B1cC5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQb3NpdGlvbnNEYXRhIHtcclxuICB0aXRsZTogc3RyaW5nLFxyXG4gIHBvc2l0aW9uczogc3RyaW5nW11cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Bvc2l0aW9ucy1wb3B1cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVzOltgOmhvc3Qge3BhZGRpbmc6IDhweH1gXVxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBQb3NpdGlvbnNQb3B1cCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICByZWFkb25seSBzZXBhcmF0b3JLZXlzQ29kZXM6IG51bWJlcltdID0gW0VOVEVSLCBDT01NQV07XHJcbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBuZXcgU3ViamVjdDx2b2lkPigpOyBcclxuICByZWFkb25seSBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKG51bGwpO1xyXG4gIEBWaWV3Q2hpbGQoJ25hbWVJbnB1dCcsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pIG5hbWVJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuICB1c2VycyQ6IE9ic2VydmFibGU8VXNlckluZm9bXT47XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KFBPUFVQX0RBVEEpIHB1YmxpYyBkYXRhOiBQb3NpdGlvbnNEYXRhLFxyXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogQWNjb3VudFNlcnZpY2UpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy51c2VycyQgPSB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDIwMCksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSxcclxuICAgICAgc3dpdGNoTWFwKHYgPT4gdGhpcy5fc2VydmljZS5maW5kQWxsKHYsIHsgdGFrZTogMjAgfSkpKTtcclxuICAvLyAgdGhpcy5fcFJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAvLyAgICB0aGlzLl9wUmVmLmNsb3NlKHRoaXMuZGlydHkgPyB0aGlzLnBvc2l0aW9ucyA6IG51bGwpO1xyXG4gIC8vICB9KTtcclxuICB9XHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgIHRoaXMubmFtZUlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGlucFxyXG4gICAqIEBwYXJhbSBldmVudFxyXG4gICAqL1xyXG4gIHNlbGVjdGVkKGlucDogSFRNTElucHV0RWxlbWVudCwgZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0YS5wb3NpdGlvbnMucHVzaChldmVudC5vcHRpb24udmFsdWUpO1xyXG4gICAgaW5wLnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLm5leHQoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gaWRcclxuICAgKi9cclxuICByZW1vdmVkKGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhLnBvc2l0aW9ucy5pbmRleE9mKGlkKTtcclxuXHJcbiAgICBpZiAoaW5kZXggPj0gMClcclxuICAgICAgdGhpcy5kYXRhLnBvc2l0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtZm9ybS1maWVsZD5cclxuICA8bWF0LWNoaXAtZ3JpZCAjY2hpcExpc3QgW2F0dHIuYXJpYS1sYWJlbF09XCJkYXRhLnRpdGxlXCI+XHJcbiAgICA8bWF0LWNoaXAtcm93ICpuZ0Zvcj1cImxldCB1IG9mIGRhdGEucG9zaXRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgW3NlbGVjdGFibGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtyZW1vdmFibGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZWQodSlcIj5cclxuICAgICAgPGJpemRvYy1pZGVudGl0eS1uYW1lIFtpZGVudGl0eV09dT48L2JpemRvYy1pZGVudGl0eS1uYW1lPlxyXG4gICAgICA8bWF0LWljb24gbWF0Q2hpcFJlbW92ZT5jYW5jZWw8L21hdC1pY29uPlxyXG4gICAgPC9tYXQtY2hpcC1yb3c+XHJcbiAgPC9tYXQtY2hpcC1ncmlkPlxyXG4gIDxpbnB1dCBbcGxhY2Vob2xkZXJdPVwiZGF0YS50aXRsZVwiXHJcbiAgICAgICAgIFtmb3JtQ29udHJvbF09Y29udHJvbFxyXG4gICAgICAgICAjbmFtZUlucHV0XHJcbiAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXHJcbiAgICAgICAgIFttYXRDaGlwSW5wdXRGb3JdPVwiY2hpcExpc3RcIlxyXG4gICAgICAgICBbbWF0Q2hpcElucHV0U2VwYXJhdG9yS2V5Q29kZXNdPVwic2VwYXJhdG9yS2V5c0NvZGVzXCI+XHJcbiAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiAob3B0aW9uU2VsZWN0ZWQpPVwic2VsZWN0ZWQobmFtZUlucHV0LCAkZXZlbnQpXCI+XHJcbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdSBvZiB1c2VycyQgfCBhc3luY1wiIFt2YWx1ZV09XCJ1LmlkXCI+XHJcbiAgICAgIHt7dS5uYW1lfX1cclxuICAgICAgPHNwYW4gKm5nSWY9XCJ1LmVtYWlsXCI+Jm5ic3A7IC0ge3t1LmVtYWlsfX08L3NwYW4+XHJcbiAgICA8L21hdC1vcHRpb24+XHJcbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb25zLXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vcG9zaXRpb25zL3Bvc2l0aW9ucy1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3Bvc2l0aW9ucy9wb3NpdGlvbnMtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFXOUQsTUFBTSxPQUNFLGNBQWM7SUFPcEIsWUFDNkIsSUFBbUIsRUFDdEMsR0FBc0IsRUFDdEIsUUFBd0I7UUFGTCxTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ3RDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBVHpCLHVCQUFrQixHQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNsQyxZQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHeEIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFJVixDQUFDO0lBQ3ZDLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDdEYsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELGdEQUFnRDtRQUNoRCwyREFBMkQ7UUFDM0QsT0FBTztJQUNQLENBQUM7SUFDQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0g7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxHQUFxQixFQUFFLEtBQW1DO1FBQ2pFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLEVBQVU7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTlDLElBQUksS0FBSyxJQUFJLENBQUM7WUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0E5Q0ssY0FBYyxrQkFRVixVQUFVO21HQVJkLGNBQWMsdUlBSTBCLFVBQVUsMkNDeEIxRCw2K0JBdUJBOzs0RkRIUSxjQUFjO2tCQUxyQixTQUFTOzs7MEJBYUwsTUFBTTsyQkFBQyxVQUFVO3lHQUp3QyxTQUFTO3NCQUFwRSxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIEluamVjdCwgQWZ0ZXJWaWV3SW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCwgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgQ09NTUEsIEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgVXNlckluZm8gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQT1BVUF9EQVRBIH0gZnJvbSAnLi4vLi4vY29yZS9wb3B1cC9wb3B1cC5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQb3NpdGlvbnNEYXRhIHtcclxuICB0aXRsZTogc3RyaW5nLFxyXG4gIHBvc2l0aW9uczogc3RyaW5nW11cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Bvc2l0aW9ucy1wb3B1cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVzOltgOmhvc3Qge3BhZGRpbmc6IDhweH1gXVxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBQb3NpdGlvbnNQb3B1cCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICByZWFkb25seSBzZXBhcmF0b3JLZXlzQ29kZXM6IG51bWJlcltdID0gW0VOVEVSLCBDT01NQV07XHJcbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBuZXcgU3ViamVjdDx2b2lkPigpOyBcclxuICByZWFkb25seSBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKG51bGwpO1xyXG4gIEBWaWV3Q2hpbGQoJ25hbWVJbnB1dCcsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pIG5hbWVJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuICB1c2VycyQ6IE9ic2VydmFibGU8VXNlckluZm9bXT47XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KFBPUFVQX0RBVEEpIHB1YmxpYyBkYXRhOiBQb3NpdGlvbnNEYXRhLFxyXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogQWNjb3VudFNlcnZpY2UpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy51c2VycyQgPSB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDIwMCksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSxcclxuICAgICAgc3dpdGNoTWFwKHYgPT4gdGhpcy5fc2VydmljZS5maW5kQWxsKHYsIHsgdGFrZTogMjAgfSkpKTtcclxuICAvLyAgdGhpcy5fcFJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAvLyAgICB0aGlzLl9wUmVmLmNsb3NlKHRoaXMuZGlydHkgPyB0aGlzLnBvc2l0aW9ucyA6IG51bGwpO1xyXG4gIC8vICB9KTtcclxuICB9XHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgIHRoaXMubmFtZUlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGlucFxyXG4gICAqIEBwYXJhbSBldmVudFxyXG4gICAqL1xyXG4gIHNlbGVjdGVkKGlucDogSFRNTElucHV0RWxlbWVudCwgZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0YS5wb3NpdGlvbnMucHVzaChldmVudC5vcHRpb24udmFsdWUpO1xyXG4gICAgaW5wLnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLm5leHQoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gaWRcclxuICAgKi9cclxuICByZW1vdmVkKGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhLnBvc2l0aW9ucy5pbmRleE9mKGlkKTtcclxuXHJcbiAgICBpZiAoaW5kZXggPj0gMClcclxuICAgICAgdGhpcy5kYXRhLnBvc2l0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtZm9ybS1maWVsZD5cclxuICA8bWF0LWNoaXAtZ3JpZCAjY2hpcExpc3QgW2F0dHIuYXJpYS1sYWJlbF09XCJkYXRhLnRpdGxlXCI+XHJcbiAgICA8bWF0LWNoaXAtcm93ICpuZ0Zvcj1cImxldCB1IG9mIGRhdGEucG9zaXRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgW3NlbGVjdGFibGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtyZW1vdmFibGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZWQodSlcIj5cclxuICAgICAgPGJpemRvYy1pZGVudGl0eS1uYW1lIFtpZGVudGl0eV09dT48L2JpemRvYy1pZGVudGl0eS1uYW1lPlxyXG4gICAgICA8bWF0LWljb24gbWF0Q2hpcFJlbW92ZT5jYW5jZWw8L21hdC1pY29uPlxyXG4gICAgPC9tYXQtY2hpcC1yb3c+XHJcbiAgPC9tYXQtY2hpcC1ncmlkPlxyXG4gIDxpbnB1dCBbcGxhY2Vob2xkZXJdPVwiZGF0YS50aXRsZVwiXHJcbiAgICAgICAgIFtmb3JtQ29udHJvbF09Y29udHJvbFxyXG4gICAgICAgICAjbmFtZUlucHV0XHJcbiAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXHJcbiAgICAgICAgIFttYXRDaGlwSW5wdXRGb3JdPVwiY2hpcExpc3RcIlxyXG4gICAgICAgICBbbWF0Q2hpcElucHV0U2VwYXJhdG9yS2V5Q29kZXNdPVwic2VwYXJhdG9yS2V5c0NvZGVzXCI+XHJcbiAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiAob3B0aW9uU2VsZWN0ZWQpPVwic2VsZWN0ZWQobmFtZUlucHV0LCAkZXZlbnQpXCI+XHJcbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdSBvZiB1c2VycyQgfCBhc3luY1wiIFt2YWx1ZV09XCJ1LmlkXCI+XHJcbiAgICAgIHt7dS5uYW1lfX1cclxuICAgICAgPHNwYW4gKm5nSWY9XCJ1LmVtYWlsXCI+Jm5ic3A7IC0ge3t1LmVtYWlsfX08L3NwYW4+XHJcbiAgICA8L21hdC1vcHRpb24+XHJcbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG4iXX0=