@smartbit4all/ng-client 4.5.24 → 4.5.25

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 (318) hide show
  1. package/README.md +386 -386
  2. package/esm2022/lib/component-factory-service/component-factory-service.module.mjs +1 -1
  3. package/esm2022/lib/component-factory-service/component-factory-service.service.mjs +1 -1
  4. package/esm2022/lib/component-factory-service/projects.mjs +1 -1
  5. package/esm2022/lib/session/api/api/api.mjs +1 -1
  6. package/esm2022/lib/session/api/api/session.service.mjs +1 -1
  7. package/esm2022/lib/session/api/configuration.mjs +1 -1
  8. package/esm2022/lib/session/api/encoder.mjs +1 -1
  9. package/esm2022/lib/session/api/index.mjs +1 -1
  10. package/esm2022/lib/session/api/model/accountInfo.mjs +1 -1
  11. package/esm2022/lib/session/api/model/apiError.mjs +1 -1
  12. package/esm2022/lib/session/api/model/authenticationProviderData.mjs +1 -1
  13. package/esm2022/lib/session/api/model/getAuthenticationProvidersResponse.mjs +1 -1
  14. package/esm2022/lib/session/api/model/models.mjs +1 -1
  15. package/esm2022/lib/session/api/model/refreshSessionRequest.mjs +1 -1
  16. package/esm2022/lib/session/api/model/session.mjs +1 -1
  17. package/esm2022/lib/session/api/model/sessionInfoData.mjs +1 -1
  18. package/esm2022/lib/session/api/model/userActivityLog.mjs +1 -1
  19. package/esm2022/lib/session/api/param.mjs +1 -1
  20. package/esm2022/lib/session/api/variables.mjs +1 -1
  21. package/esm2022/lib/session/cookie-service/smart-cookie.service.mjs +1 -1
  22. package/esm2022/lib/session/projects.mjs +1 -1
  23. package/esm2022/lib/session/smart-backend-bootstrap.config.mjs +1 -1
  24. package/esm2022/lib/session/smart-backend-bootstrap.service.mjs +33 -12
  25. package/esm2022/lib/session/smart-default-error-ui.service.mjs +1 -1
  26. package/esm2022/lib/session/smart-error-catching.interceptor.mjs +1 -1
  27. package/esm2022/lib/session/smart-header-maintainer.interceptor.mjs +1 -1
  28. package/esm2022/lib/session/smart-session-handler.service.mjs +1 -1
  29. package/esm2022/lib/session/smart-session.module.mjs +1 -1
  30. package/esm2022/lib/session/smart-session.service.mjs +29 -17
  31. package/esm2022/lib/session/smart-timer/smart-session-timer.component.mjs +3 -3
  32. package/esm2022/lib/session/smart-timer/smart-session-timer.service.mjs +1 -1
  33. package/esm2022/lib/shared/projects.mjs +1 -1
  34. package/esm2022/lib/shared/shared.module.mjs +1 -1
  35. package/esm2022/lib/shared/smart-tooltip.directive.mjs +1 -1
  36. package/esm2022/lib/shared/smarttable.date-pipe.mjs +1 -1
  37. package/esm2022/lib/smart-client/projects.mjs +1 -1
  38. package/esm2022/lib/smart-client/smart-component-api-client.mjs +1 -1
  39. package/esm2022/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +3 -3
  40. package/esm2022/lib/smart-client/smart.component.mjs +1 -1
  41. package/esm2022/lib/smart-client/smart.service.mjs +1 -1
  42. package/esm2022/lib/smart-component-layout/api/model/componentWidgetType.mjs +1 -1
  43. package/esm2022/lib/smart-component-layout/api/model/models.mjs +1 -1
  44. package/esm2022/lib/smart-component-layout/api/model/toolbarDirection.mjs +1 -1
  45. package/esm2022/lib/smart-component-layout/api/model/toolbarProperties.mjs +1 -1
  46. package/esm2022/lib/smart-component-layout/projects.mjs +1 -1
  47. package/esm2022/lib/smart-component-layout/smart-component-layout-utility.mjs +1 -1
  48. package/esm2022/lib/smart-component-layout/smart-component-layout.component.mjs +3 -3
  49. package/esm2022/lib/smart-component-layout/smart-component-layout.module.mjs +1 -1
  50. package/esm2022/lib/smart-diagram/component/default-smart-diagram-options.provider.mjs +1 -1
  51. package/esm2022/lib/smart-diagram/component/smart-diagram.component.mjs +22 -22
  52. package/esm2022/lib/smart-diagram/component/smart-diagram.module.mjs +1 -1
  53. package/esm2022/lib/smart-diagram/component/smart-diagram.util.mjs +1 -1
  54. package/esm2022/lib/smart-diagram/projects.mjs +1 -1
  55. package/esm2022/lib/smart-dialog/projects.mjs +1 -1
  56. package/esm2022/lib/smart-dialog/smartdialog.component.mjs +3 -3
  57. package/esm2022/lib/smart-dialog/smartdialog.model.mjs +1 -1
  58. package/esm2022/lib/smart-dialog/smartdialog.module.mjs +1 -1
  59. package/esm2022/lib/smart-dialog/smartdialog.service.mjs +1 -1
  60. package/esm2022/lib/smart-expandable-section/expandable-section.component.mjs +3 -3
  61. package/esm2022/lib/smart-expandable-section/expandable-section.model.mjs +1 -1
  62. package/esm2022/lib/smart-expandable-section/projects.mjs +1 -1
  63. package/esm2022/lib/smart-expandable-section/smart-expandable-section.module.mjs +1 -1
  64. package/esm2022/lib/smart-expandable-section/smart-expandable-section.service.mjs +1 -1
  65. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.mjs +1 -1
  66. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderField.mjs +1 -1
  67. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.mjs +1 -1
  68. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.mjs +1 -1
  69. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionData.mjs +1 -1
  70. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionDataType.mjs +1 -1
  71. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionField.mjs +1 -1
  72. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldList.mjs +1 -1
  73. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.mjs +1 -1
  74. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionList.mjs +1 -1
  75. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperandData.mjs +1 -1
  76. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperation.mjs +1 -1
  77. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOrderBy.mjs +1 -1
  78. package/esm2022/lib/smart-filter/api/filter/model/model.mjs +1 -1
  79. package/esm2022/lib/smart-filter/api/filter/model/searchIndexObjectDefinitionData.mjs +1 -1
  80. package/esm2022/lib/smart-filter/api/filter/model/searchIndexPropertyDefinitionData.mjs +1 -1
  81. package/esm2022/lib/smart-filter/api/value/model/value.mjs +1 -1
  82. package/esm2022/lib/smart-filter/projects.mjs +1 -1
  83. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-expression-field/smart-filter-expression-field.component.mjs +1 -1
  84. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.mjs +3 -3
  85. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/smart-filter-simple.component.mjs +3 -3
  86. package/esm2022/lib/smart-filter/smart-filter/smart-filter.component.mjs +3 -3
  87. package/esm2022/lib/smart-filter/smart-filter/smart-filter.service.mjs +1 -1
  88. package/esm2022/lib/smart-filter/smart-filter.model.mjs +1 -1
  89. package/esm2022/lib/smart-filter/smart-filter.module.mjs +1 -1
  90. package/esm2022/lib/smart-filter-editor/api/api/filter.service.mjs +1 -1
  91. package/esm2022/lib/smart-filter-editor/api/configuration.mjs +1 -1
  92. package/esm2022/lib/smart-filter-editor/api/encoder.mjs +1 -1
  93. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +1 -1
  94. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.mjs +1 -1
  95. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +1 -1
  96. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +1 -1
  97. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.mjs +1 -1
  98. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +1 -1
  99. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionData.mjs +1 -1
  100. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionDataType.mjs +1 -1
  101. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionField.mjs +1 -1
  102. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +1 -1
  103. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +1 -1
  104. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.mjs +1 -1
  105. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionList.mjs +1 -1
  106. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +1 -1
  107. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperation.mjs +1 -1
  108. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOrderBy.mjs +1 -1
  109. package/esm2022/lib/smart-filter-editor/api/model/smartFilterType.mjs +1 -1
  110. package/esm2022/lib/smart-filter-editor/api/param.mjs +1 -1
  111. package/esm2022/lib/smart-filter-editor/api/variables.mjs +1 -1
  112. package/esm2022/lib/smart-filter-editor/filterExpressionBuilderApiActions.mjs +1 -1
  113. package/esm2022/lib/smart-filter-editor/project.mjs +1 -1
  114. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.mjs +3 -3
  115. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.mjs +3 -3
  116. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +3 -3
  117. package/esm2022/lib/smart-filter-editor/smart-filter-editor.model.mjs +1 -1
  118. package/esm2022/lib/smart-filter-editor/smart-filter-editor.module.mjs +1 -1
  119. package/esm2022/lib/smart-filter-editor/smart-filter-editor.service.mjs +1 -1
  120. package/esm2022/lib/smart-filter-editor/smart-filter-params/components/smart-filter-param/smart-filter-param.component.mjs +3 -3
  121. package/esm2022/lib/smart-filter-editor/smart-filter-params/smart-filter-params.component.mjs +3 -3
  122. package/esm2022/lib/smart-form/highlightMacthingString-pipe.mjs +1 -1
  123. package/esm2022/lib/smart-form/projects.mjs +1 -1
  124. package/esm2022/lib/smart-form/services/smartform.layout-definition.service.mjs +1 -1
  125. package/esm2022/lib/smart-form/services/smartform.service.mjs +1 -1
  126. package/esm2022/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.mjs +3 -3
  127. package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.component.mjs +3 -3
  128. package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.model.mjs +1 -1
  129. package/esm2022/lib/smart-form/smartform.component.mjs +3 -3
  130. package/esm2022/lib/smart-form/smartform.form-model.mjs +1 -1
  131. package/esm2022/lib/smart-form/smartform.model.mjs +1 -1
  132. package/esm2022/lib/smart-form/widgets/components/smart-file-editor/smart-file-editor.component.mjs +3 -3
  133. package/esm2022/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.mjs +3 -3
  134. package/esm2022/lib/smart-form/widgets/components/smart-multi-file-editor/smart-multi-file-editor.component.mjs +3 -3
  135. package/esm2022/lib/smart-form/widgets/components/smart-voice-recorder/smart-voice-recorder.component.mjs +3 -3
  136. package/esm2022/lib/smart-form/widgets/directives/comparable-dropdown.directive.mjs +1 -1
  137. package/esm2022/lib/smart-form/widgets/directives/comparable-multiselect.directive.mjs +1 -1
  138. package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +3 -3
  139. package/esm2022/lib/smart-form/widgets/smartformwidget/sortable-widget/sortable-widget.component.mjs +3 -3
  140. package/esm2022/lib/smart-form/widgets/smartformwidget/trackCaps.directive.mjs +1 -1
  141. package/esm2022/lib/smart-grid/api/grid-api/api/api.mjs +1 -1
  142. package/esm2022/lib/smart-grid/api/grid-api/api/grid.service.mjs +1 -1
  143. package/esm2022/lib/smart-grid/api/grid-api/api.module.mjs +1 -1
  144. package/esm2022/lib/smart-grid/api/grid-api/configuration.mjs +1 -1
  145. package/esm2022/lib/smart-grid/api/grid-api/encoder.mjs +1 -1
  146. package/esm2022/lib/smart-grid/api/grid-api/index.mjs +1 -1
  147. package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +1 -1
  148. package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +1 -1
  149. package/esm2022/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +1 -1
  150. package/esm2022/lib/smart-grid/api/grid-api/model/gridExportDescriptor.mjs +1 -1
  151. package/esm2022/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
  152. package/esm2022/lib/smart-grid/api/grid-api/model/gridPage.mjs +1 -1
  153. package/esm2022/lib/smart-grid/api/grid-api/model/gridRow.mjs +1 -1
  154. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionChange.mjs +1 -1
  155. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +1 -1
  156. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +1 -1
  157. package/esm2022/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +1 -1
  158. package/esm2022/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +1 -1
  159. package/esm2022/lib/smart-grid/api/grid-api/model/gridView.mjs +1 -1
  160. package/esm2022/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +1 -1
  161. package/esm2022/lib/smart-grid/api/grid-api/model/models.mjs +1 -1
  162. package/esm2022/lib/smart-grid/api/grid-api/param.mjs +1 -1
  163. package/esm2022/lib/smart-grid/api/grid-api/variables.mjs +1 -1
  164. package/esm2022/lib/smart-grid/components/expandable-grid/expandable-grid.component.mjs +3 -3
  165. package/esm2022/lib/smart-grid/components/generic-component/expanded-row-renderer.component.mjs +3 -3
  166. package/esm2022/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.mjs +3 -3
  167. package/esm2022/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs +3 -3
  168. package/esm2022/lib/smart-grid/models/model.mjs +1 -1
  169. package/esm2022/lib/smart-grid/projects.mjs +1 -1
  170. package/esm2022/lib/smart-grid/smart-grid-toolbar-util.mjs +1 -1
  171. package/esm2022/lib/smart-grid/smart-grid.component.mjs +3 -3
  172. package/esm2022/lib/smart-grid/smart-grid.module.mjs +1 -1
  173. package/esm2022/lib/smart-grid/smart-grid.service.mjs +1 -1
  174. package/esm2022/lib/smart-icon/projects.mjs +1 -1
  175. package/esm2022/lib/smart-icon/smart-icon/smart-icon.component.mjs +3 -3
  176. package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.component.mjs +3 -3
  177. package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.directive.mjs +1 -1
  178. package/esm2022/lib/smart-icon/smart-icon.module.mjs +1 -1
  179. package/esm2022/lib/smart-icon/smart-icon.service.mjs +1 -1
  180. package/esm2022/lib/smart-map/abstract-map.mjs +1 -1
  181. package/esm2022/lib/smart-map/api-default/api-default.mjs +1 -1
  182. package/esm2022/lib/smart-map/impl/google-map.mjs +1 -1
  183. package/esm2022/lib/smart-map/impl/leaflet-map.mjs +1 -1
  184. package/esm2022/lib/smart-map/projects.mjs +1 -1
  185. package/esm2022/lib/smart-map/smart-map.component.mjs +3 -3
  186. package/esm2022/lib/smart-map/smart-map.module.mjs +1 -1
  187. package/esm2022/lib/smart-map/smart-map.types.mjs +1 -1
  188. package/esm2022/lib/smart-navbar/projects.mjs +1 -1
  189. package/esm2022/lib/smart-navbar/smart-navbar.component.mjs +3 -3
  190. package/esm2022/lib/smart-navbar/smart-navbar.model.mjs +1 -1
  191. package/esm2022/lib/smart-navbar/smart-navbar.module.mjs +1 -1
  192. package/esm2022/lib/smart-navbar/smart-navbar.service.mjs +1 -1
  193. package/esm2022/lib/smart-navigation/projects.mjs +1 -1
  194. package/esm2022/lib/smart-navigation/smart-navigation.interface.mjs +1 -1
  195. package/esm2022/lib/smart-navigation/smart-navigation.module.mjs +1 -1
  196. package/esm2022/lib/smart-navigation/smart-navigation.service.mjs +1 -1
  197. package/esm2022/lib/smart-ng-client.module.mjs +1 -1
  198. package/esm2022/lib/smart-ng-client.service.mjs +1 -1
  199. package/esm2022/lib/smart-subject/projects.mjs +1 -1
  200. package/esm2022/lib/smart-subject/smart-subject.mjs +1 -1
  201. package/esm2022/lib/smart-tab-group/projects.mjs +1 -1
  202. package/esm2022/lib/smart-tab-group/smart-tab-group.component.mjs +3 -3
  203. package/esm2022/lib/smart-tab-group/smart-tab-group.module.mjs +1 -1
  204. package/esm2022/lib/smart-tab-group/smart-tab-group.service.mjs +1 -1
  205. package/esm2022/lib/smart-tab-group/tab-content/tab-content.component.mjs +3 -3
  206. package/esm2022/lib/smart-tab-group/tab-group-simplified/tab-group.component.mjs +3 -3
  207. package/esm2022/lib/smart-tab-group/tabTile.model.mjs +1 -1
  208. package/esm2022/lib/smart-table/components/default-actions-popup/default-actions-popup.component.mjs +3 -3
  209. package/esm2022/lib/smart-table/components/loading/loading.component.mjs +3 -3
  210. package/esm2022/lib/smart-table/directives/mat-context-menu-trigger-for.directive.mjs +1 -1
  211. package/esm2022/lib/smart-table/projects.mjs +1 -1
  212. package/esm2022/lib/smart-table/smarttable.component.mjs +3 -3
  213. package/esm2022/lib/smart-table/smarttable.model.mjs +1 -1
  214. package/esm2022/lib/smart-table/smarttable.module.mjs +1 -1
  215. package/esm2022/lib/smart-table/smarttable.service.mjs +1 -1
  216. package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +3 -3
  217. package/esm2022/lib/smart-table/tables/mobile-table/mobile-table.component.mjs +3 -3
  218. package/esm2022/lib/smart-table/tables/table.mjs +1 -1
  219. package/esm2022/lib/smart-tree/projects.mjs +1 -1
  220. package/esm2022/lib/smart-tree/smarttree-generic.service.mjs +1 -1
  221. package/esm2022/lib/smart-tree/smarttree.component.mjs +3 -3
  222. package/esm2022/lib/smart-tree/smarttree.model.mjs +1 -1
  223. package/esm2022/lib/smart-tree/smarttree.module.mjs +1 -1
  224. package/esm2022/lib/smart-tree/smarttree.node.model.mjs +1 -1
  225. package/esm2022/lib/smart-tree/smarttree.service.interface.mjs +1 -1
  226. package/esm2022/lib/smart-tree/smarttree.service.mjs +1 -1
  227. package/esm2022/lib/smart-tree/tree-api/api/tree.service.mjs +1 -1
  228. package/esm2022/lib/smart-tree/tree-api/configuration.mjs +1 -1
  229. package/esm2022/lib/smart-tree/tree-api/encoder.mjs +1 -1
  230. package/esm2022/lib/smart-tree/tree-api/param.mjs +1 -1
  231. package/esm2022/lib/smart-tree/tree-api/variables.mjs +1 -1
  232. package/esm2022/lib/smart-validation/named-validator.service.mjs +1 -1
  233. package/esm2022/lib/smart-validation/projects.mjs +1 -1
  234. package/esm2022/lib/smart-validation/smart-validation.module.mjs +1 -1
  235. package/esm2022/lib/smart-validation/smart-validation.types.mjs +1 -1
  236. package/esm2022/lib/view-context/api/api/view.service.mjs +1 -1
  237. package/esm2022/lib/view-context/api/api-default/binaryData.mjs +1 -1
  238. package/esm2022/lib/view-context/api/api-default/invocationError.mjs +1 -1
  239. package/esm2022/lib/view-context/api/api-default/invocationRequest.mjs +1 -1
  240. package/esm2022/lib/view-context/api/api-default/invocationRun.mjs +1 -1
  241. package/esm2022/lib/view-context/api/model/iconPosition.mjs +1 -1
  242. package/esm2022/lib/view-context/api/model/models.mjs +1 -1
  243. package/esm2022/lib/view-context/api/model/namedValidator.mjs +1 -1
  244. package/esm2022/lib/view-context/api/model/smartLinkData.mjs +1 -1
  245. package/esm2022/lib/view-context/api/model/uiAction.mjs +1 -1
  246. package/esm2022/lib/view-context/api/model/uiActionDefinition.mjs +1 -1
  247. package/esm2022/lib/view-context/api/model/uiActionDefinitionEntry.mjs +1 -1
  248. package/esm2022/lib/view-context/api/model/uiActionInputType.mjs +1 -1
  249. package/esm2022/lib/view-context/api/model/uiActionSchedule.mjs +1 -1
  250. package/esm2022/lib/view-context/api/model/uiActionUploadDescriptor.mjs +1 -1
  251. package/esm2022/lib/view-context/api/model/view.mjs +1 -1
  252. package/esm2022/lib/view-context/api/model/viewData.mjs +1 -1
  253. package/esm2022/lib/view-context/api/model/viewEventHandler.mjs +1 -1
  254. package/esm2022/lib/view-context/invalid-fields-snack-bar/invalid-fields-snack-bar.component.mjs +3 -3
  255. package/esm2022/lib/view-context/message-dialog/message-dialog.component.mjs +3 -3
  256. package/esm2022/lib/view-context/projects.mjs +1 -1
  257. package/esm2022/lib/view-context/property-definition-data.mjs +1 -1
  258. package/esm2022/lib/view-context/smart-embedded-slot.directive.mjs +1 -1
  259. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.component.mjs +3 -3
  260. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.constants.mjs +1 -1
  261. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.service.mjs +1 -1
  262. package/esm2022/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +3 -3
  263. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/photo-capture-widget/photo-capture-widget.component.mjs +3 -3
  264. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/prime-file-uploader/prime-file-uploader.component.mjs +3 -3
  265. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.component.mjs +3 -3
  266. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.utils.mjs +1 -1
  267. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/voice-record-widget/voice-record-widget.component.mjs +3 -3
  268. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +3 -3
  269. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +1 -1
  270. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-dialog-button/ui-action-dialog-button.component.mjs +3 -3
  271. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +3 -3
  272. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.mjs +1 -1
  273. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +3 -3
  274. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +1 -1
  275. package/esm2022/lib/view-context/smart-ui-action/file-editor-toolbar/file-editor-toolbar.component.mjs +3 -3
  276. package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +3 -3
  277. package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +3 -3
  278. package/esm2022/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +1 -1
  279. package/esm2022/lib/view-context/smart-ui-action/ui-action.model.mjs +1 -1
  280. package/esm2022/lib/view-context/smart-ui-action/ui-action.service.mjs +1 -1
  281. package/esm2022/lib/view-context/smart-view-context-dialog.service.mjs +1 -1
  282. package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +3 -3
  283. package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +1 -1
  284. package/esm2022/lib/view-context/smart-view-context.interceptor.mjs +1 -1
  285. package/esm2022/lib/view-context/smart-view-context.model.mjs +1 -1
  286. package/esm2022/lib/view-context/smart-view-context.module.mjs +1 -1
  287. package/esm2022/lib/view-context/smart-view-context.service.mjs +1 -1
  288. package/esm2022/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +1 -1
  289. package/esm2022/lib/view-context/utility/componentLibrary.mjs +1 -1
  290. package/esm2022/lib/view-context/utility/smart-object-utility.mjs +1 -1
  291. package/esm2022/lib/view-context/utility/smart-style-utility.mjs +1 -1
  292. package/esm2022/lib/view-context/value-api/api/api.mjs +1 -1
  293. package/esm2022/lib/view-context/value-api/api/value.service.mjs +1 -1
  294. package/esm2022/lib/view-context/value-api/api.module.mjs +1 -1
  295. package/esm2022/lib/view-context/value-api/configuration.mjs +1 -1
  296. package/esm2022/lib/view-context/value-api/encoder.mjs +1 -1
  297. package/esm2022/lib/view-context/value-api/index.mjs +1 -1
  298. package/esm2022/lib/view-context/value-api/model/genericValue.mjs +1 -1
  299. package/esm2022/lib/view-context/value-api/model/models.mjs +1 -1
  300. package/esm2022/lib/view-context/value-api/model/value.mjs +1 -1
  301. package/esm2022/lib/view-context/value-api/model/valueSetData.mjs +1 -1
  302. package/esm2022/lib/view-context/value-api/model/valueSetDefinition.mjs +1 -1
  303. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionData.mjs +1 -1
  304. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +1 -1
  305. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionKind.mjs +1 -1
  306. package/esm2022/lib/view-context/value-api/model/valueSetExpression.mjs +1 -1
  307. package/esm2022/lib/view-context/value-api/model/valueSetOperand.mjs +1 -1
  308. package/esm2022/lib/view-context/value-api/model/valueSetOperation.mjs +1 -1
  309. package/esm2022/lib/view-context/value-api/param.mjs +1 -1
  310. package/esm2022/lib/view-context/value-api/variables.mjs +1 -1
  311. package/esm2022/projects.mjs +1 -1
  312. package/fesm2022/smartbit4all-ng-client.mjs +193 -160
  313. package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
  314. package/lib/session/smart-backend-bootstrap.service.d.ts +2 -0
  315. package/lib/session/smart-session.service.d.ts +2 -0
  316. package/package.json +1 -1
  317. package/smartbit4all-ng-client-4.5.25.tgz +0 -0
  318. package/smartbit4all-ng-client-4.5.24.tgz +0 -0
@@ -76,6 +76,7 @@ export class SmartBackendBootstrapService {
76
76
  this.lastInitFailed = false;
77
77
  this.mode = undefined;
78
78
  this.runningViewContextLost = undefined;
79
+ this.runningSessionError = undefined;
79
80
  return this.start();
80
81
  }
81
82
  /**
@@ -95,11 +96,16 @@ export class SmartBackendBootstrapService {
95
96
  return this.runningViewContextLost;
96
97
  }
97
98
  async runViewContextLost(err) {
98
- if (this.config?.onViewContextLost) {
99
- await this.config.onViewContextLost(err);
100
- return;
99
+ try {
100
+ if (this.config?.onViewContextLost) {
101
+ await this.config.onViewContextLost(err);
102
+ return;
103
+ }
104
+ await this.viewContext.initNewViewContext();
105
+ }
106
+ finally {
107
+ this.runningViewContextLost = undefined;
101
108
  }
102
- await this.viewContext.initNewViewContext();
103
109
  }
104
110
  /**
105
111
  * Called by `SmartErrorCatchingInterceptor` for transport-level failures
@@ -147,14 +153,29 @@ export class SmartBackendBootstrapService {
147
153
  }
148
154
  }
149
155
  }
150
- async handleSessionError(err) {
151
- if (this.config?.onSessionError) {
152
- await this.config.onSessionError(err);
153
- return;
156
+ handleSessionError(err) {
157
+ if (!this.config) {
158
+ return Promise.reject(new Error('SmartBackendBootstrapService.configure() must be called before handleSessionError().'));
159
+ }
160
+ if (this.runningSessionError) {
161
+ return this.runningSessionError;
162
+ }
163
+ this.runningSessionError = this.runSessionError(err);
164
+ return this.runningSessionError;
165
+ }
166
+ async runSessionError(err) {
167
+ try {
168
+ if (this.config?.onSessionError) {
169
+ await this.config.onSessionError(err);
170
+ return;
171
+ }
172
+ // Default: clear the session and let the backend rebuild via RESTART_VIEWCONTEXT.
173
+ // No router navigation here — the new viewcontext drives navigation server-side.
174
+ await this.session.clearAndStartNewSession();
175
+ }
176
+ finally {
177
+ this.runningSessionError = undefined;
154
178
  }
155
- // Default: clear the session and let the backend rebuild via RESTART_VIEWCONTEXT.
156
- // No router navigation here — the new viewcontext drives navigation server-side.
157
- await this.session.clearAndStartNewSession();
158
179
  }
159
180
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartBackendBootstrapService, deps: [{ token: i1.SmartSessionService }, { token: i2.SmartViewContextService }], target: i0.ɵɵFactoryTarget.Injectable }); }
160
181
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartBackendBootstrapService, providedIn: 'root' }); }
@@ -163,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
163
184
  type: Injectable,
164
185
  args: [{ providedIn: 'root' }]
165
186
  }], ctorParameters: () => [{ type: i1.SmartSessionService }, { type: i2.SmartViewContextService }] });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3Nlc3Npb24vc21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBWTNDLE1BQU0sT0FBTyw0QkFBNEI7SUFPdkMsWUFDVSxPQUE0QixFQUM1QixXQUFvQztRQURwQyxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFOdEMsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFPNUIsQ0FBQztJQUVKLFNBQVMsQ0FBQyxNQUFtQztRQUMzQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLHVGQUF1RixDQUFDLENBQUM7WUFDdEcsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVyQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLGlCQUFpQixJQUFJLGdCQUFnQixDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFN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QztZQUN0QyxDQUFDO1lBQUMsT0FBTyxXQUFXLEVBQUUsQ0FBQztnQkFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQywwREFBMEQsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN6RixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsR0FBaUI7UUFDeEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEMsT0FBTztRQUNULENBQUM7UUFDRCxrRkFBa0Y7UUFDbEYsaUZBQWlGO1FBQ2pGLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQy9DLENBQUM7K0dBbkxVLDRCQUE0QjttSEFBNUIsNEJBQTRCLGNBRGYsTUFBTTs7NEZBQ25CLDRCQUE0QjtrQkFEeEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTbWFydFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC1zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0U2VydmljZSB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9zbWFydC12aWV3LWNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25FcnJvciwgU21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWcsXHJcbiAgU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMsXHJcbn0gZnJvbSAnLi9zbWFydC1iYWNrZW5kLWJvb3RzdHJhcC5jb25maWcnO1xyXG5cclxudHlwZSBCb290c3RyYXBNb2RlID0gJ3N0YXJ0JyB8ICdib290c3RyYXBXaXRoJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlIGltcGxlbWVudHMgU21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgY29uZmlnPzogU21hcnRCYWNrZW5kQm9vdHN0cmFwQ29uZmlnO1xyXG4gIHByaXZhdGUgcnVubmluZ0luaXQ/OiBQcm9taXNlPHZvaWQ+O1xyXG4gIHByaXZhdGUgbGFzdEluaXRGYWlsZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIG1vZGU/OiBCb290c3RyYXBNb2RlO1xyXG4gIHByaXZhdGUgcnVubmluZ1ZpZXdDb250ZXh0TG9zdD86IFByb21pc2U8dm9pZD47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzZXNzaW9uOiBTbWFydFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGV4dDogU21hcnRWaWV3Q29udGV4dFNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBjb25maWd1cmUoY29uZmlnOiBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNvbmZpZykge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UgYWxyZWFkeSBjb25maWd1cmVkOyBpZ25vcmluZyBkdXBsaWNhdGUgY29uZmlndXJlKCkgY2FsbC4nKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XHJcblxyXG4gICAgdGhpcy5zZXNzaW9uLnNldFVybChjb25maWcudXJsKTtcclxuICAgIHRoaXMuc2Vzc2lvbi5zZXRDb29raWVOYW1lKGNvbmZpZy5jb29raWVOYW1lKTtcclxuICAgIHRoaXMuc2Vzc2lvbi5zZXRTZXNzaW9uSGFuZGxlclNlcnZpY2UodGhpcyk7XHJcblxyXG4gICAgdGhpcy52aWV3Q29udGV4dC5zZXRWaWV3SGFuZGxlcnMoY29uZmlnLnZpZXdIYW5kbGVycyk7XHJcbiAgICB0aGlzLnZpZXdDb250ZXh0LnNldE1lc3NhZ2VEaWFsb2dOYW1lKGNvbmZpZy5tZXNzYWdlRGlhbG9nTmFtZSA/PyAnbWVzc2FnZS1kaWFsb2cnKTtcclxuICAgIHRoaXMudmlld0NvbnRleHQuc2V0QWN0aW9uRGVzY3JpcHRvcnMoY29uZmlnLmFjdGlvbkRlc2NyaXB0b3JzKTtcclxuXHJcbiAgICB0aGlzLnZpZXdDb250ZXh0Lm9wZW5TbWFydExpbmsuc3Vic2NyaWJlKChjaGFubmVsOiBzdHJpbmcpID0+IHtcclxuICAgICAgdGhpcy5oYW5kbGVTbWFydExpbmsoY2hhbm5lbCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlU21hcnRMaW5rKGNoYW5uZWw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnPy5vblNtYXJ0TGluaykge1xyXG4gICAgICBhd2FpdCB0aGlzLmNvbmZpZy5vblNtYXJ0TGluayhjaGFubmVsKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy8gRGVmYXVsdDogc2ltcGx5IHVuYmxvY2sgc2hvd1B1Ymxpc2hlZFZpZXcncyBgYXdhaXQgb3BlblNtYXJ0TGluay50b1Byb21pc2UoKWAuXHJcbiAgICAvLyBUaGUgdmlld0NvbnRleHQgaXMgYWxyZWFkeSBpbml0aWFsaXplZCBieSBzdGFydCgpL2Jvb3RzdHJhcFdpdGgoKSDigJQgY2FsbGluZ1xyXG4gICAgLy8gaW5pdGlhbGl6ZSgpIGhlcmUgd2l0aG91dCBhIHV1aWQgd291bGQgYWx3YXlzIHRyaWdnZXIgc3RhcnRWaWV3Q29udGV4dCgpLFxyXG4gICAgLy8gY3JlYXRpbmcgYSBzZWNvbmQgdmlld2NvbnRleHQgYW5kIHByb2R1Y2luZyBkdXBsaWNhdGUgVUkgKGUuZy4gdHdvIGxvZ2luIHBhZ2VzKS5cclxuICAgIHRoaXMudmlld0NvbnRleHQub3BlblNtYXJ0TGluay5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgc3RhcnQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UuY29uZmlndXJlKCkgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIHN0YXJ0KCkuJykpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2Jvb3RzdHJhcFdpdGgnICYmICF0aGlzLmxhc3RJbml0RmFpbGVkKSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoXHJcbiAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UuYm9vdHN0cmFwV2l0aCgpIHdhcyBhbHJlYWR5IGNhbGxlZDsgc3RhcnQoKSBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBpdC4gQ2FsbCByZXNldCgpIGZpcnN0IHRvIHN3aXRjaCBlbnRyeSBwb2ludHMuJyxcclxuICAgICAgKSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ydW5uaW5nSW5pdCAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcclxuICAgIH1cclxuICAgIHRoaXMubW9kZSA9ICdzdGFydCc7XHJcbiAgICB0aGlzLmxhc3RJbml0RmFpbGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLnJ1bm5pbmdJbml0ID0gdGhpcy5ydW5Jbml0KCk7XHJcbiAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcclxuICB9XHJcblxyXG4gIGJvb3RzdHJhcFdpdGgoY3JlZHM6IFNtYXJ0QmFja2VuZEJvb3RzdHJhcENyZWRlbnRpYWxzKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UuY29uZmlndXJlKCkgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGJvb3RzdHJhcFdpdGgoKS4nKSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAnc3RhcnQnICYmICF0aGlzLmxhc3RJbml0RmFpbGVkKSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoXHJcbiAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2Uuc3RhcnQoKSB3YXMgYWxyZWFkeSBjYWxsZWQ7IGJvb3RzdHJhcFdpdGgoKSBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBpdC4gQ2FsbCByZXNldCgpIGZpcnN0IHRvIHN3aXRjaCBlbnRyeSBwb2ludHMuJyxcclxuICAgICAgKSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ydW5uaW5nSW5pdCAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcclxuICAgIH1cclxuICAgIHRoaXMubW9kZSA9ICdib290c3RyYXBXaXRoJztcclxuICAgIHRoaXMubGFzdEluaXRGYWlsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMucnVubmluZ0luaXQgPSB0aGlzLnJ1bkJvb3RzdHJhcFdpdGgoY3JlZHMpO1xyXG4gICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XHJcbiAgfVxyXG5cclxuICB3aGVuUmVhZHkoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMucnVubmluZ0luaXQpIHtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignQm9vdHN0cmFwTm90U3RhcnRlZCcpKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnJ1bm5pbmdJbml0O1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgcmVzZXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnJ1bm5pbmdJbml0ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5sYXN0SW5pdEZhaWxlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5tb2RlID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5ydW5uaW5nVmlld0NvbnRleHRMb3N0ID0gdW5kZWZpbmVkO1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhcnQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbGxlZCBieSBgU21hcnRFcnJvckNhdGNoaW5nSW50ZXJjZXB0b3JgIHdoZW4gdGhlIGJhY2tlbmQgcmVwb3J0c1xyXG4gICAqIGBzZXNzaW9uLnZpZXdjb250ZXh0Lm1pc3NpbmdgLiBJZGVtcG90ZW50IGFjcm9zcyBjb25jdXJyZW50IGFuZFxyXG4gICAqIHNlcXVlbnRpYWwgY2FsbHMgdW50aWwgdGhlIG5leHQgYHJlc2V0KClgIOKAlCBtdWx0aXBsZSByYWNpbmcgQkZGXHJcbiAgICogZmFpbHVyZXMgY29sbGFwc2UgaW50byBhIHNpbmdsZSByZWNvdmVyeSBhdHRlbXB0LlxyXG4gICAqL1xyXG4gIGhhbmRsZVZpZXdDb250ZXh0TG9zdChlcnI6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKFxyXG4gICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBoYW5kbGVWaWV3Q29udGV4dExvc3QoKS4nLFxyXG4gICAgICApKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3QpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdDtcclxuICAgIH1cclxuICAgIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdCA9IHRoaXMucnVuVmlld0NvbnRleHRMb3N0KGVycik7XHJcbiAgICByZXR1cm4gdGhpcy5ydW5uaW5nVmlld0NvbnRleHRMb3N0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBydW5WaWV3Q29udGV4dExvc3QoZXJyOiBTZXNzaW9uRXJyb3IpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmNvbmZpZz8ub25WaWV3Q29udGV4dExvc3QpIHtcclxuICAgICAgYXdhaXQgdGhpcy5jb25maWcub25WaWV3Q29udGV4dExvc3QoZXJyKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0TmV3Vmlld0NvbnRleHQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbGxlZCBieSBgU21hcnRFcnJvckNhdGNoaW5nSW50ZXJjZXB0b3JgIGZvciB0cmFuc3BvcnQtbGV2ZWwgZmFpbHVyZXNcclxuICAgKiAoc3RhdHVzIDAsIDV4eCkuIEZpcmUtYW5kLWZvcmdldDsgdGhlIHJlcXVlc3Qgc3RpbGwgcmVqZWN0cyB3aXRoIHRoZVxyXG4gICAqIG9yaWdpbmFsIGVycm9yIHNvIGNhbGxlcnMgY2FuIGRvIHBlci1jYWxsIGhhbmRsaW5nLlxyXG4gICAqL1xyXG4gIGFzeW5jIGhhbmRsZVRyYW5zcG9ydEVycm9yKGVycjogSHR0cEVycm9yUmVzcG9uc2UpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5jb25maWcpIHtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihcclxuICAgICAgICAnU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5jb25maWd1cmUoKSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgaGFuZGxlVHJhbnNwb3J0RXJyb3IoKS4nLFxyXG4gICAgICApKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmNvbmZpZy5vblRyYW5zcG9ydEVycm9yKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uVHJhbnNwb3J0RXJyb3IoZXJyKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS53YXJuKCdUcmFuc3BvcnQgZXJyb3Ig4oCUIHNlcnZlciB1bnJlYWNoYWJsZSBvciA1eHgnLCBlcnIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBydW5Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgYXdhaXQgdGhpcy5zZXNzaW9uLmluaXRpYWxpemUoKTtcclxuICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0Vmlld0NvbnRleHQoKTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICBhd2FpdCB0aGlzLmhhbmRsZUluaXRGYWlsdXJlKGVycik7XHJcbiAgICAgIHRocm93IGVycjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcnVuQm9vdHN0cmFwV2l0aChjcmVkczogU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuc2Vzc2lvbi5zZXRTZXNzaW9uVG9rZW4oY3JlZHMuc2Vzc2lvblRva2VuLCBjcmVkcy5yZWZyZXNoVG9rZW4pO1xyXG4gICAgICBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LmluaXRGcm9tRXhpc3RpbmdWaWV3Q29udGV4dChjcmVkcy52aWV3Q29udGV4dFV1aWQpO1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlSW5pdEZhaWx1cmUoZXJyKTtcclxuICAgICAgdGhyb3cgZXJyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVJbml0RmFpbHVyZShlcnI6IHVua25vd24pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMubGFzdEluaXRGYWlsZWQgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMuY29uZmlnPy5vblN0YXJ0RXJyb3IpIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBhd2FpdCB0aGlzLmNvbmZpZy5vblN0YXJ0RXJyb3IoZXJyKTtcclxuICAgICAgfSBjYXRjaCAoY2FsbGJhY2tFcnIpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLm9uU3RhcnRFcnJvciBjYWxsYmFjayB0aHJldycsIGNhbGxiYWNrRXJyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgaGFuZGxlU2Vzc2lvbkVycm9yKGVycjogU2Vzc2lvbkVycm9yKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5jb25maWc/Lm9uU2Vzc2lvbkVycm9yKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uU2Vzc2lvbkVycm9yKGVycik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIERlZmF1bHQ6IGNsZWFyIHRoZSBzZXNzaW9uIGFuZCBsZXQgdGhlIGJhY2tlbmQgcmVidWlsZCB2aWEgUkVTVEFSVF9WSUVXQ09OVEVYVC5cclxuICAgIC8vIE5vIHJvdXRlciBuYXZpZ2F0aW9uIGhlcmUg4oCUIHRoZSBuZXcgdmlld2NvbnRleHQgZHJpdmVzIG5hdmlnYXRpb24gc2VydmVyLXNpZGUuXHJcbiAgICBhd2FpdCB0aGlzLnNlc3Npb24uY2xlYXJBbmRTdGFydE5ld1Nlc3Npb24oKTtcclxuICB9XHJcbn1cclxuIl19
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3Nlc3Npb24vc21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBWTNDLE1BQU0sT0FBTyw0QkFBNEI7SUFRdkMsWUFDVSxPQUE0QixFQUM1QixXQUFvQztRQURwQyxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFQdEMsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFRNUIsQ0FBQztJQUVKLFNBQVMsQ0FBQyxNQUFtQztRQUMzQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLHVGQUF1RixDQUFDLENBQUM7WUFDdEcsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVyQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLGlCQUFpQixJQUFJLGdCQUFnQixDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFN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QzsrR0ExTVUsNEJBQTRCO21IQUE1Qiw0QkFBNEIsY0FEZixNQUFNOzs0RkFDbkIsNEJBQTRCO2tCQUR4QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU21hcnRTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc21hcnQtc2Vzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25FcnJvciwgU21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIFNtYXJ0QmFja2VuZEJvb3RzdHJhcENvbmZpZyxcbiAgU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMsXG59IGZyb20gJy4vc21hcnQtYmFja2VuZC1ib290c3RyYXAuY29uZmlnJztcblxudHlwZSBCb290c3RyYXBNb2RlID0gJ3N0YXJ0JyB8ICdib290c3RyYXBXaXRoJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlIGltcGxlbWVudHMgU21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZz86IFNtYXJ0QmFja2VuZEJvb3RzdHJhcENvbmZpZztcbiAgcHJpdmF0ZSBydW5uaW5nSW5pdD86IFByb21pc2U8dm9pZD47XG4gIHByaXZhdGUgbGFzdEluaXRGYWlsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBtb2RlPzogQm9vdHN0cmFwTW9kZTtcbiAgcHJpdmF0ZSBydW5uaW5nVmlld0NvbnRleHRMb3N0PzogUHJvbWlzZTx2b2lkPjtcbiAgcHJpdmF0ZSBydW5uaW5nU2Vzc2lvbkVycm9yPzogUHJvbWlzZTx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlc3Npb246IFNtYXJ0U2Vzc2lvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGV4dDogU21hcnRWaWV3Q29udGV4dFNlcnZpY2UsXG4gICkge31cblxuICBjb25maWd1cmUoY29uZmlnOiBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWcpIHtcbiAgICAgIGNvbnNvbGUud2FybignU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZSBhbHJlYWR5IGNvbmZpZ3VyZWQ7IGlnbm9yaW5nIGR1cGxpY2F0ZSBjb25maWd1cmUoKSBjYWxsLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcblxuICAgIHRoaXMuc2Vzc2lvbi5zZXRVcmwoY29uZmlnLnVybCk7XG4gICAgdGhpcy5zZXNzaW9uLnNldENvb2tpZU5hbWUoY29uZmlnLmNvb2tpZU5hbWUpO1xuICAgIHRoaXMuc2Vzc2lvbi5zZXRTZXNzaW9uSGFuZGxlclNlcnZpY2UodGhpcyk7XG5cbiAgICB0aGlzLnZpZXdDb250ZXh0LnNldFZpZXdIYW5kbGVycyhjb25maWcudmlld0hhbmRsZXJzKTtcbiAgICB0aGlzLnZpZXdDb250ZXh0LnNldE1lc3NhZ2VEaWFsb2dOYW1lKGNvbmZpZy5tZXNzYWdlRGlhbG9nTmFtZSA/PyAnbWVzc2FnZS1kaWFsb2cnKTtcbiAgICB0aGlzLnZpZXdDb250ZXh0LnNldEFjdGlvbkRlc2NyaXB0b3JzKGNvbmZpZy5hY3Rpb25EZXNjcmlwdG9ycyk7XG5cbiAgICB0aGlzLnZpZXdDb250ZXh0Lm9wZW5TbWFydExpbmsuc3Vic2NyaWJlKChjaGFubmVsOiBzdHJpbmcpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlU21hcnRMaW5rKGNoYW5uZWwpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVTbWFydExpbmsoY2hhbm5lbDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5vblNtYXJ0TGluaykge1xuICAgICAgYXdhaXQgdGhpcy5jb25maWcub25TbWFydExpbmsoY2hhbm5lbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIERlZmF1bHQ6IHNpbXBseSB1bmJsb2NrIHNob3dQdWJsaXNoZWRWaWV3J3MgYGF3YWl0IG9wZW5TbWFydExpbmsudG9Qcm9taXNlKClgLlxuICAgIC8vIFRoZSB2aWV3Q29udGV4dCBpcyBhbHJlYWR5IGluaXRpYWxpemVkIGJ5IHN0YXJ0KCkvYm9vdHN0cmFwV2l0aCgpIOKAlCBjYWxsaW5nXG4gICAgLy8gaW5pdGlhbGl6ZSgpIGhlcmUgd2l0aG91dCBhIHV1aWQgd291bGQgYWx3YXlzIHRyaWdnZXIgc3RhcnRWaWV3Q29udGV4dCgpLFxuICAgIC8vIGNyZWF0aW5nIGEgc2Vjb25kIHZpZXdjb250ZXh0IGFuZCBwcm9kdWNpbmcgZHVwbGljYXRlIFVJIChlLmcuIHR3byBsb2dpbiBwYWdlcykuXG4gICAgdGhpcy52aWV3Q29udGV4dC5vcGVuU21hcnRMaW5rLmNvbXBsZXRlKCk7XG4gIH1cblxuICBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBzdGFydCgpLicpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2Jvb3RzdHJhcFdpdGgnICYmICF0aGlzLmxhc3RJbml0RmFpbGVkKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKFxuICAgICAgICAnU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5ib290c3RyYXBXaXRoKCkgd2FzIGFscmVhZHkgY2FsbGVkOyBzdGFydCgpIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGl0LiBDYWxsIHJlc2V0KCkgZmlyc3QgdG8gc3dpdGNoIGVudHJ5IHBvaW50cy4nLFxuICAgICAgKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJ1bm5pbmdJbml0ICYmICF0aGlzLmxhc3RJbml0RmFpbGVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcbiAgICB9XG4gICAgdGhpcy5tb2RlID0gJ3N0YXJ0JztcbiAgICB0aGlzLmxhc3RJbml0RmFpbGVkID0gZmFsc2U7XG4gICAgdGhpcy5ydW5uaW5nSW5pdCA9IHRoaXMucnVuSW5pdCgpO1xuICAgIHJldHVybiB0aGlzLnJ1bm5pbmdJbml0O1xuICB9XG5cbiAgYm9vdHN0cmFwV2l0aChjcmVkczogU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBib290c3RyYXBXaXRoKCkuJykpO1xuICAgIH1cbiAgICBpZiAodGhpcy5tb2RlID09PSAnc3RhcnQnICYmICF0aGlzLmxhc3RJbml0RmFpbGVkKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKFxuICAgICAgICAnU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5zdGFydCgpIHdhcyBhbHJlYWR5IGNhbGxlZDsgYm9vdHN0cmFwV2l0aCgpIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGl0LiBDYWxsIHJlc2V0KCkgZmlyc3QgdG8gc3dpdGNoIGVudHJ5IHBvaW50cy4nLFxuICAgICAgKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJ1bm5pbmdJbml0ICYmICF0aGlzLmxhc3RJbml0RmFpbGVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcbiAgICB9XG4gICAgdGhpcy5tb2RlID0gJ2Jvb3RzdHJhcFdpdGgnO1xuICAgIHRoaXMubGFzdEluaXRGYWlsZWQgPSBmYWxzZTtcbiAgICB0aGlzLnJ1bm5pbmdJbml0ID0gdGhpcy5ydW5Cb290c3RyYXBXaXRoKGNyZWRzKTtcbiAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcbiAgfVxuXG4gIHdoZW5SZWFkeSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMucnVubmluZ0luaXQpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ0Jvb3RzdHJhcE5vdFN0YXJ0ZWQnKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJ1bm5pbmdJbml0O1xuICB9XG5cbiAgYXN5bmMgcmVzZXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5ydW5uaW5nSW5pdCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmxhc3RJbml0RmFpbGVkID0gZmFsc2U7XG4gICAgdGhpcy5tb2RlID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnJ1bm5pbmdTZXNzaW9uRXJyb3IgPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgYnkgYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYCB3aGVuIHRoZSBiYWNrZW5kIHJlcG9ydHNcbiAgICogYHNlc3Npb24udmlld2NvbnRleHQubWlzc2luZ2AuIElkZW1wb3RlbnQgYWNyb3NzIGNvbmN1cnJlbnQgYW5kXG4gICAqIHNlcXVlbnRpYWwgY2FsbHMgdW50aWwgdGhlIG5leHQgYHJlc2V0KClgIOKAlCBtdWx0aXBsZSByYWNpbmcgQkZGXG4gICAqIGZhaWx1cmVzIGNvbGxhcHNlIGludG8gYSBzaW5nbGUgcmVjb3ZlcnkgYXR0ZW1wdC5cbiAgICovXG4gIGhhbmRsZVZpZXdDb250ZXh0TG9zdChlcnI6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoXG4gICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBoYW5kbGVWaWV3Q29udGV4dExvc3QoKS4nLFxuICAgICAgKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3QpIHtcbiAgICAgIHJldHVybiB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3Q7XG4gICAgfVxuICAgIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdCA9IHRoaXMucnVuVmlld0NvbnRleHRMb3N0KGVycik7XG4gICAgcmV0dXJuIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuVmlld0NvbnRleHRMb3N0KGVycjogU2Vzc2lvbkVycm9yKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZz8ub25WaWV3Q29udGV4dExvc3QpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5jb25maWcub25WaWV3Q29udGV4dExvc3QoZXJyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0TmV3Vmlld0NvbnRleHQoKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5ydW5uaW5nVmlld0NvbnRleHRMb3N0ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgYnkgYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYCBmb3IgdHJhbnNwb3J0LWxldmVsIGZhaWx1cmVzXG4gICAqIChzdGF0dXMgMCwgNXh4KS4gRmlyZS1hbmQtZm9yZ2V0OyB0aGUgcmVxdWVzdCBzdGlsbCByZWplY3RzIHdpdGggdGhlXG4gICAqIG9yaWdpbmFsIGVycm9yIHNvIGNhbGxlcnMgY2FuIGRvIHBlci1jYWxsIGhhbmRsaW5nLlxuICAgKi9cbiAgYXN5bmMgaGFuZGxlVHJhbnNwb3J0RXJyb3IoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoXG4gICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBoYW5kbGVUcmFuc3BvcnRFcnJvcigpLicsXG4gICAgICApKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29uZmlnLm9uVHJhbnNwb3J0RXJyb3IpIHtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uVHJhbnNwb3J0RXJyb3IoZXJyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc29sZS53YXJuKCdUcmFuc3BvcnQgZXJyb3Ig4oCUIHNlcnZlciB1bnJlYWNoYWJsZSBvciA1eHgnLCBlcnIpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBydW5Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnNlc3Npb24uaW5pdGlhbGl6ZSgpO1xuICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0Vmlld0NvbnRleHQoKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlSW5pdEZhaWx1cmUoZXJyKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJ1bkJvb3RzdHJhcFdpdGgoY3JlZHM6IFNtYXJ0QmFja2VuZEJvb3RzdHJhcENyZWRlbnRpYWxzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc2Vzc2lvbi5zZXRTZXNzaW9uVG9rZW4oY3JlZHMuc2Vzc2lvblRva2VuLCBjcmVkcy5yZWZyZXNoVG9rZW4pO1xuICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0RnJvbUV4aXN0aW5nVmlld0NvbnRleHQoY3JlZHMudmlld0NvbnRleHRVdWlkKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlSW5pdEZhaWx1cmUoZXJyKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUluaXRGYWlsdXJlKGVycjogdW5rbm93bik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubGFzdEluaXRGYWlsZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLmNvbmZpZz8ub25TdGFydEVycm9yKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCB0aGlzLmNvbmZpZy5vblN0YXJ0RXJyb3IoZXJyKTtcbiAgICAgIH0gY2F0Y2ggKGNhbGxiYWNrRXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2Uub25TdGFydEVycm9yIGNhbGxiYWNrIHRocmV3JywgY2FsbGJhY2tFcnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVNlc3Npb25FcnJvcihlcnI6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoXG4gICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBoYW5kbGVTZXNzaW9uRXJyb3IoKS4nLFxuICAgICAgKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJ1bm5pbmdTZXNzaW9uRXJyb3IpIHtcbiAgICAgIHJldHVybiB0aGlzLnJ1bm5pbmdTZXNzaW9uRXJyb3I7XG4gICAgfVxuICAgIHRoaXMucnVubmluZ1Nlc3Npb25FcnJvciA9IHRoaXMucnVuU2Vzc2lvbkVycm9yKGVycik7XG4gICAgcmV0dXJuIHRoaXMucnVubmluZ1Nlc3Npb25FcnJvcjtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuU2Vzc2lvbkVycm9yKGVycjogU2Vzc2lvbkVycm9yKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZz8ub25TZXNzaW9uRXJyb3IpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5jb25maWcub25TZXNzaW9uRXJyb3IoZXJyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy8gRGVmYXVsdDogY2xlYXIgdGhlIHNlc3Npb24gYW5kIGxldCB0aGUgYmFja2VuZCByZWJ1aWxkIHZpYSBSRVNUQVJUX1ZJRVdDT05URVhULlxuICAgICAgLy8gTm8gcm91dGVyIG5hdmlnYXRpb24gaGVyZSDigJQgdGhlIG5ldyB2aWV3Y29udGV4dCBkcml2ZXMgbmF2aWdhdGlvbiBzZXJ2ZXItc2lkZS5cbiAgICAgIGF3YWl0IHRoaXMuc2Vzc2lvbi5jbGVhckFuZFN0YXJ0TmV3U2Vzc2lvbigpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnJ1bm5pbmdTZXNzaW9uRXJyb3IgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -131,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
131
131
  type: Injectable,
132
132
  args: [{ providedIn: 'root' }]
133
133
  }] });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZGVmYXVsdC1lcnJvci11aS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1kZWZhdWx0LWVycm9yLXVpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQW9DOUQsTUFBTSxVQUFVLEdBQTBCO0lBQ3hDLGlCQUFpQixFQUFFLHlCQUF5QjtJQUM1QyxlQUFlLEVBQUUsY0FBYztJQUMvQixxQkFBcUIsRUFBRSx5QkFBeUI7SUFDaEQsb0JBQW9CLEVBQUUsWUFBWTtJQUNsQyxtQkFBbUIsRUFBRSxtREFBbUQ7SUFDeEUsa0JBQWtCLEVBQUUsZUFBZTtDQUNwQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQTBCO0lBQ3hDLGlCQUFpQixFQUFFLDRCQUE0QjtJQUMvQyxlQUFlLEVBQUUsT0FBTztJQUN4QixxQkFBcUIsRUFBRSw0QkFBNEI7SUFDbkQsb0JBQW9CLEVBQUUsUUFBUTtJQUM5QixtQkFBbUIsRUFBRSxnREFBZ0Q7SUFDckUsa0JBQWtCLEVBQUUsUUFBUTtDQUM3QixDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsTUFBTSxPQUFPLDBCQUEwQjtJQUR2QztRQUVVLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0IsWUFBTyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0tBaUcvQztJQS9GQywyRUFBMkU7SUFDM0UsS0FBSyxDQUFDLFVBQWlDLEVBQUU7UUFLdkMsT0FBTztZQUNMLFlBQVksRUFBRSxDQUFD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QUE4QjtRQUNuRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUNyRCxPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQTZCO1FBQ25ELElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUUsQ0FBQzsrR0FsR1UsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FEYixNQUFNOzs0RkFDbkIsMEJBQTBCO2tCQUR0QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBTZXNzaW9uRXJyb3IgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc21hcnQtc2Vzc2lvbi5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIERlZmF1bHRFcnJvclVpTGFuZ3VhZ2UgPSAnaHUnIHwgJ2VuJyB8ICdhdXRvJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdEVycm9yVWlTdHJpbmdzIHtcclxuICBzdGFydEVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIHN0YXJ0RXJyb3JSZXRyeTogc3RyaW5nO1xyXG4gIHRyYW5zcG9ydEVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIHRyYW5zcG9ydEVycm9yUmVsb2FkOiBzdHJpbmc7XHJcbiAgc2Vzc2lvbkVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIHNlc3Npb25FcnJvckFjdGlvbjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERlZmF1bHRFcnJvclVpT3B0aW9ucyB7XHJcbiAgLyoqICdhdXRvJyAoZGVmYXVsdCkgcGlja3MgJ2h1JyBpZiBuYXZpZ2F0b3IubGFuZ3VhZ2Ugc3RhcnRzIHdpdGggJ2h1JywgZWxzZSAnZW4nLiAqL1xyXG4gIGxhbmd1YWdlPzogRGVmYXVsdEVycm9yVWlMYW5ndWFnZTtcclxuICAvKiogT3ZlcnJpZGUgaW5kaXZpZHVhbCBzdHJpbmdzOyBtaXNzaW5nIGtleXMgZmFsbCBiYWNrIHRvIHRoZSBsYW5ndWFnZSBkZWZhdWx0LiAqL1xyXG4gIHN0cmluZ3M/OiBQYXJ0aWFsPERlZmF1bHRFcnJvclVpU3RyaW5ncz47XHJcbiAgLyoqXHJcbiAgICogU25hY2tiYXIgYXV0by1kaXNtaXNzIGluIG1zIGZvciB0cmFuc3BvcnRFcnJvci4gRGVmYXVsdDogMCAoc3RpY2t5KS5cclxuICAgKlxyXG4gICAqIFN0aWNreSBkZWZhdWx0IHJhdGlvbmFsZTogYSB0cmFuc3BvcnQgZXJyb3IgY29tbW9ubHkgbGVhdmVzIHRoZSBzY3JlZW4gaW5cclxuICAgKiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUgKGZhaWxlZCBjb21wb25lbnQgbG9hZHMsIHN0dWNrIHNwaW5uZXJzKSB0aGF0IGRvZXNcclxuICAgKiBOT1Qgc2VsZi1yZWNvdmVyIHdoZW4gdGhlIHNlcnZlciByZXR1cm5zLiBBbiBhdXRvLWRpc21pc3Npbmcgc25hY2tiYXJcclxuICAgKiB3b3VsZCBoaWRlIHRoZSBub3RpZmljYXRpb24gYmVmb3JlIHRoZSB1c2VyIGNhbiBhY3QsIGxlYXZpbmcgdGhlbSB3aXRoIGFcclxuICAgKiBicm9rZW4gVUkgYW5kIG5vIHdheSBiYWNrLiBTdGlja3kgZm9yY2VzIHRoZSBSZWxvYWQgYWN0aW9uLlxyXG4gICAqXHJcbiAgICogU2V0IGEgcG9zaXRpdmUgbnVtYmVyIHRvIG9wdCBpbnRvIGF1dG8tZGlzbWlzcyAoZS5nLiBtb2JpbGUtc2hlbGwgZmxvd3NcclxuICAgKiB3aGVyZSB0aGUgc2hlbGwgdGVhcnMgZG93biB0aGUgd2VidmlldyBvbiB0cmFuc3BvcnQgZXJyb3IgYW55d2F5KS5cclxuICAgKlxyXG4gICAqIGBzdGFydEVycm9yYCBpcyBhbHdheXMgc3RpY2t5IHJlZ2FyZGxlc3Mg4oCUIHRoZSBhcHAgaXMgdW51c2FibGUgdW50aWwgdGhlXHJcbiAgICogdXNlciByZXRyaWVzLlxyXG4gICAqL1xyXG4gIHRyYW5zcG9ydEVycm9yRHVyYXRpb24/OiBudW1iZXI7XHJcbn1cclxuXHJcbmNvbnN0IFNUUklOR1NfSFU6IERlZmF1bHRFcnJvclVpU3RyaW5ncyA9IHtcclxuICBzdGFydEVycm9yTWVzc2FnZTogJ0Egc3plcnZlciBuZW0gZWzDqXJoZXTFkS4nLFxyXG4gIHN0YXJ0RXJyb3JSZXRyeTogJ8OaanJhcHLDs2LDoWzDoXMnLFxyXG4gIHRyYW5zcG9ydEVycm9yTWVzc2FnZTogJ0Egc3plcnZlciBuZW0gZWzDqXJoZXTFkS4nLFxyXG4gIHRyYW5zcG9ydEVycm9yUmVsb2FkOiAnw5pqcmF0w7ZsdMOpcycsXHJcbiAgc2Vzc2lvbkVycm9yTWVzc2FnZTogJ0EgbXVua2FtZW5ldCBsZWrDoXJ0LCBrw6lyasO8ayBqZWxlbnRrZXp6ZW4gYmUgw7pqcmEuJyxcclxuICBzZXNzaW9uRXJyb3JBY3Rpb246ICdCZWplbGVudGtlesOpcycsXHJcbn07XHJcblxyXG5jb25zdCBTVFJJTkdTX0VOOiBEZWZhdWx0RXJyb3JVaVN0cmluZ3MgPSB7XHJcbiAgc3RhcnRFcnJvck1lc3NhZ2U6ICdUaGUgc2VydmVyIGlzIHVuYXZhaWxhYmxlLicsXHJcbiAgc3RhcnRFcnJvclJldHJ5OiAnUmV0cnknLFxyXG4gIHRyYW5zcG9ydEVycm9yTWVzc2FnZTogJ1RoZSBzZXJ2ZXIgaXMgdW5hdmFpbGFibGUuJyxcclxuICB0cmFuc3BvcnRFcnJvclJlbG9hZDogJ1JlbG9hZCcsXHJcbiAgc2Vzc2lvbkVycm9yTWVzc2FnZTogJ1lvdXIgc2Vzc2lvbiBoYXMgZXhwaXJlZC4gUGxlYXNlIGxvZyBpbiBhZ2Fpbi4nLFxyXG4gIHNlc3Npb25FcnJvckFjdGlvbjogJ0xvZyBpbicsXHJcbn07XHJcblxyXG4vKipcclxuICogT3B0LWluIGRlZmF1bHQgVVggZm9yIGBTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlYCBlcnJvciBob29rcy5cclxuICpcclxuICogU3ByZWFkIHRoZSByZXN1bHQgb2YgYGhvb2tzKG9wdGlvbnMpYCBpbnRvIGBib290c3RyYXAuY29uZmlndXJlKClgIHRvIGdldCBhXHJcbiAqIE1hdFNuYWNrQmFyLWJhc2VkIFwiZXJyb3IgKyByZXRyeVwiIFVJIHdpdGhvdXQgd3JpdGluZyB0aGUgaG9zdCBnbHVlOlxyXG4gKlxyXG4gKiBgYGB0c1xyXG4gKiBib290c3RyYXAuY29uZmlndXJlKHtcclxuICogICAuLi5taW5pbWFsQ29uZmlnLFxyXG4gKiAgIC4uLmRlZmF1bHRFcnJvclVpLmhvb2tzKHsgbGFuZ3VhZ2U6ICdodScgfSksXHJcbiAqIH0pO1xyXG4gKiBgYGBcclxuICpcclxuICogSG9zdHMgdGhhdCB3YW50IGN1c3RvbSBsb2dpYyBjYW4gb21pdCB0aGlzIHNlcnZpY2UgYW5kIHdyaXRlIHRoZWlyIG93blxyXG4gKiBgb25TdGFydEVycm9yYCAvIGBvblRyYW5zcG9ydEVycm9yYCBjYWxsYmFja3MgZGlyZWN0bHkuXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgU21hcnREZWZhdWx0RXJyb3JVaVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgc25hY2tCYXIgPSBpbmplY3QoTWF0U25hY2tCYXIpO1xyXG4gIHByaXZhdGUgc2Vzc2lvbiA9IGluamVjdChTbWFydFNlc3Npb25TZXJ2aWNlKTtcclxuXHJcbiAgLyoqIFJldHVybnMgYSBob29rcyBidW5kbGUgcmVhZHkgdG8gc3ByZWFkIGludG8gYGJvb3RzdHJhcC5jb25maWd1cmUoKWAuICovXHJcbiAgaG9va3Mob3B0aW9uczogRGVmYXVsdEVycm9yVWlPcHRpb25zID0ge30pOiB7XHJcbiAgICBvblN0YXJ0RXJyb3I6IChlcnI6IHVua25vd24pID0+IHZvaWQ7XHJcbiAgICBvblRyYW5zcG9ydEVycm9yOiAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdm9pZDtcclxuICAgIG9uU2Vzc2lvbkVycm9yOiAoZXJyOiBTZXNzaW9uRXJyb3IpID0+IHZvaWQ7XHJcbiAgfSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBvblN0YXJ0RXJyb3I6IChlcnI6IHVua25vd24pID0+IHRoaXMuc2hvd1N0YXJ0RXJyb3IoZXJyLCBvcHRpb25zKSxcclxuICAgICAgb25UcmFuc3BvcnRFcnJvcjogKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHRoaXMuc2hvd1RyYW5zcG9ydEVycm9yKGVyciwgb3B0aW9ucyksXHJcbiAgICAgIG9uU2Vzc2lvbkVycm9yOiAoZXJyOiBTZXNzaW9uRXJyb3IpID0+IHRoaXMuc2hvd1Nlc3Npb25FcnJvcihlcnIsIG9wdGlvbnMpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNob3dTdGFydEVycm9yKF9lcnI6IHVua25vd24sIG9wdGlvbnM6IERlZmF1bHRFcnJvclVpT3B0aW9ucyA9IHt9KTogdm9pZCB7XHJcbiAgICBjb25zdCBzID0gdGhpcy5yZXNvbHZlU3RyaW5ncyhvcHRpb25zKTtcclxuICAgIGNvbnN0IHJlZiA9IHRoaXMuc25hY2tCYXIub3BlbihzLnN0YXJ0RXJyb3JNZXNzYWdlLCBzLnN0YXJ0RXJyb3JSZXRyeSwge1xyXG4gICAgICBkdXJhdGlvbjogMCwgLy8gc3RpY2t5IOKAlCBhcHAgaXMgbm90IHVzYWJsZSB1bnRpbCByZXRyeSBzdWNjZWVkc1xyXG4gICAgfSk7XHJcbiAgICAvLyBGdWxsIHJlbG9hZCwgbm90IGJvb3RzdHJhcC5zdGFydCgpLiBBIGJvb3RzdHJhcC5zdGFydCgpIHJldHJ5IG9ubHkgcmUtcnVuc1xyXG4gICAgLy8gdGhlIGluaXQgc2VxdWVuY2U7IGFueSBjb21wb25lbnRzIHRoYXQgYWxyZWFkeSBtb3VudGVkIGR1cmluZyB0aGUgZmFpbGVkXHJcbiAgICAvLyBhdHRlbXB0IGhhdmUgcmVqZWN0ZWQgYHdoZW5SZWFkeSgpYCBQcm9taXNlcyBhbmQgd29uJ3QgcmUtdHJpZ2dlciB0aGVpclxyXG4gICAgLy8gcnVuKCkgd2hlbiBib290c3RyYXAgZXZlbnR1YWxseSBzdWNjZWVkcy4gUmVsb2FkIGd1YXJhbnRlZXMgYSBjbGVhbiBtb3VudC5cclxuICAgIHJlZi5vbkFjdGlvbigpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnZlcmlmeVNlcnZlckFuZFJlbG9hZCgpKTtcclxuICB9XHJcblxyXG4gIHNob3dUcmFuc3BvcnRFcnJvcihfZXJyOiBIdHRwRXJyb3JSZXNwb25zZSwgb3B0aW9uczogRGVmYXVsdEVycm9yVWlPcHRpb25zID0ge30pOiB2b2lkIHtcclxuICAgIGNvbnN0IHMgPSB0aGlzLnJlc29sdmVTdHJpbmdzKG9wdGlvbnMpO1xyXG4gICAgY29uc3QgcmVmID0gdGhpcy5zbmFja0Jhci5vcGVuKHMudHJhbnNwb3J0RXJyb3JNZXNzYWdlLCBzLnRyYW5zcG9ydEVycm9yUmVsb2FkLCB7XHJcbiAgICAgIGR1cmF0aW9uOiBvcHRpb25zLnRyYW5zcG9ydEVycm9yRHVyYXRpb24gPz8gMCxcclxuICAgIH0pO1xyXG4gICAgcmVmLm9uQWN0aW9uKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMudmVyaWZ5U2VydmVyQW5kUmVsb2FkKCkpO1xyXG4gIH1cclxuXHJcbiAgc2hvd1Nlc3Npb25FcnJvcihfZXJyOiBTZXNzaW9uRXJyb3IsIG9wdGlvbnM6IERlZmF1bHRFcnJvclVpT3B0aW9ucyA9IHt9KTogdm9pZCB7XHJcbiAgICBjb25zdCBzID0gdGhpcy5yZXNvbHZlU3RyaW5ncyhvcHRpb25zKTtcclxuICAgIGNvbnN0IHJlZiA9IHRoaXMuc25hY2tCYXIub3BlbihzLnNlc3Npb25FcnJvck1lc3NhZ2UsIHMuc2Vzc2lvbkVycm9yQWN0aW9uLCB7XHJcbiAgICAgIGR1cmF0aW9uOiAwLCAvLyBzdGlja3kg4oCUIHNlc3Npb24gaXMgaW52YWxpZCB1bnRpbCB0aGUgdXNlciB0YWtlcyBhY3Rpb25cclxuICAgIH0pO1xyXG4gICAgcmVmLm9uQWN0aW9uKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVjb3ZlclNlc3Npb24oKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhcnMgdGhlIGRlYWQgc2Vzc2lvbiBhbmQgcmVsb2Fkcy4gVW5saWtlIGB2ZXJpZnlTZXJ2ZXJBbmRSZWxvYWRgLCB0aGlzXHJcbiAgICogZG9lcyBOT1QgcHJlLWNoZWNrIHZpYSBgZ2V0U2Vzc2lvbigpYCDigJQgdGhlIFNJRCBpcyBrbm93biB0byBiZSBpbnZhbGlkLFxyXG4gICAqIHNvIHRoZSBjaGVjayB3b3VsZCBmYWlsLiBXZSBiZXN0LWVmZm9ydCBgY2xlYXJBbmRTdGFydE5ld1Nlc3Npb24oKWBcclxuICAgKiAoY3JlYXRlcyBhIGZyZXNoIGFub255bW91cyBzZXNzaW9uKTsgcmVsb2FkIGhhcHBlbnMgcmVnYXJkbGVzcyBzbyB0aGVcclxuICAgKiB1c2VyIGlzIG5vdCBzdHVjayBpZiB0aGUgY2xlYXIgZmFpbHMgKGUuZy4sIHNlcnZlciBmbGFwcGluZykuXHJcbiAgICpcclxuICAgKiBPdmVycmlkYWJsZSBpbiB0ZXN0cy5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgYXN5bmMgcmVjb3ZlclNlc3Npb24oKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCB0aGlzLnNlc3Npb24uY2xlYXJBbmRTdGFydE5ld1Nlc3Npb24oKTtcclxuICAgIH0gY2F0Y2gge1xyXG4gICAgICAvLyBTZXJ2ZXIgbWF5IGFsc28gYmUgZG93bjsgcmVsb2FkIGFueXdheSBhbmQgbGV0IGJvb3RzdHJhcC5zdGFydCgpIHJldHJ5LlxyXG4gICAgfVxyXG4gICAgdGhpcy5yZWxvYWRQYWdlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQaW5ncyBgZ2V0U2Vzc2lvbigpYCBiZWZvcmUgcmVsb2FkaW5nOiBpZiB0aGUgc2VydmVyIGlzIHN0aWxsIGRvd24sIHRoZVxyXG4gICAqIHJlbG9hZCB3b3VsZCBqdXN0IHJlLXRyaWdnZXIgdGhlIGJyb2tlbi1zY3JlZW4gc3RhdGUuIFRoZSBmYWlsZWQgY2hlY2tcclxuICAgKiBnb2VzIHRocm91Z2ggYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYCBhbmQgcmUtZmlyZXMgYG9uVHJhbnNwb3J0RXJyb3JgLFxyXG4gICAqIHNvIHRoZSB1c2VyIHNlZXMgYSBmcmVzaCBzbmFja2JhciDigJQgdGhleSBnZXQgdmlzaWJsZSBmZWVkYmFjayB0aGF0IHRoZVxyXG4gICAqIHNlcnZlciBpcyBzdGlsbCB1bnJlYWNoYWJsZSwgd2l0aG91dCBwYXlpbmcgdGhlIGNvc3Qgb2YgYSBmdWxsIGJ1bmRsZVxyXG4gICAqIHJlbG9hZCB0aGF0IGxhbmRzIG9uIHRoZSBzYW1lIGJyb2tlbiBzdGF0ZS5cclxuICAgKlxyXG4gICAqIE92ZXJyaWRhYmxlIGluIHRlc3RzLlxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBhc3luYyB2ZXJpZnlTZXJ2ZXJBbmRSZWxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbigpO1xyXG4gICAgfSBjYXRjaCB7XHJcbiAgICAgIHJldHVybjsgLy8gc2VydmVyIHN0aWxsIHVucmVhY2hhYmxlIOKAlCBpbnRlcmNlcHRvciByZS1vcGVucyB0aGUgc25hY2tiYXJcclxuICAgIH1cclxuICAgIHRoaXMucmVsb2FkUGFnZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqIE92ZXJyaWRhYmxlIGluIHRlc3RzLiAqL1xyXG4gIHByb3RlY3RlZCByZWxvYWRQYWdlKCk6IHZvaWQge1xyXG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNvbHZlU3RyaW5ncyhvcHRpb25zOiBEZWZhdWx0RXJyb3JVaU9wdGlvbnMpOiBEZWZhdWx0RXJyb3JVaVN0cmluZ3Mge1xyXG4gICAgY29uc3QgbGFuZyA9IHRoaXMucmVzb2x2ZUxhbmd1YWdlKG9wdGlvbnMubGFuZ3VhZ2UpO1xyXG4gICAgY29uc3QgYmFzZSA9IGxhbmcgPT09ICdodScgPyBTVFJJTkdTX0hVIDogU1RSSU5HU19FTjtcclxuICAgIHJldHVybiB7IC4uLmJhc2UsIC4uLihvcHRpb25zLnN0cmluZ3MgPz8ge30pIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc29sdmVMYW5ndWFnZShsYW5nPzogRGVmYXVsdEVycm9yVWlMYW5ndWFnZSk6ICdodScgfCAnZW4nIHtcclxuICAgIGlmIChsYW5nID09PSAnaHUnIHx8IGxhbmcgPT09ICdlbicpIHtcclxuICAgICAgcmV0dXJuIGxhbmc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmF2aWdhdG9yLmxhbmd1YWdlPy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJ2h1JykgPyAnaHUnIDogJ2VuJztcclxuICB9XHJcbn1cclxuIl19
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZGVmYXVsdC1lcnJvci11aS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1kZWZhdWx0LWVycm9yLXVpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQW9DOUQsTUFBTSxVQUFVLEdBQTBCO0lBQ3hDLGlCQUFpQixFQUFFLHlCQUF5QjtJQUM1QyxlQUFlLEVBQUUsY0FBYztJQUMvQixxQkFBcUIsRUFBRSx5QkFBeUI7SUFDaEQsb0JBQW9CLEVBQUUsWUFBWTtJQUNsQyxtQkFBbUIsRUFBRSxtREFBbUQ7SUFDeEUsa0JBQWtCLEVBQUUsZUFBZTtDQUNwQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQTBCO0lBQ3hDLGlCQUFpQixFQUFFLDRCQUE0QjtJQUMvQyxlQUFlLEVBQUUsT0FBTztJQUN4QixxQkFBcUIsRUFBRSw0QkFBNEI7SUFDbkQsb0JBQW9CLEVBQUUsUUFBUTtJQUM5QixtQkFBbUIsRUFBRSxnREFBZ0Q7SUFDckUsa0JBQWtCLEVBQUUsUUFBUTtDQUM3QixDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsTUFBTSxPQUFPLDBCQUEwQjtJQUR2QztRQUVVLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0IsWUFBTyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0tBaUcvQztJQS9GQywyRUFBMkU7SUFDM0UsS0FBSyxDQUFDLFVBQWlDLEVBQUU7UUFLdkMsT0FBTztZQUNMLFlBQVksRUFBRSxDQUFD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QUE4QjtRQUNuRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUNyRCxPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQTZCO1FBQ25ELElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUUsQ0FBQzsrR0FsR1UsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FEYixNQUFNOzs0RkFDbkIsMEJBQTBCO2tCQUR0QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBTZXNzaW9uRXJyb3IgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNtYXJ0U2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24uc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIERlZmF1bHRFcnJvclVpTGFuZ3VhZ2UgPSAnaHUnIHwgJ2VuJyB8ICdhdXRvJztcblxuZXhwb3J0IGludGVyZmFjZSBEZWZhdWx0RXJyb3JVaVN0cmluZ3Mge1xuICBzdGFydEVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBzdGFydEVycm9yUmV0cnk6IHN0cmluZztcbiAgdHJhbnNwb3J0RXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHRyYW5zcG9ydEVycm9yUmVsb2FkOiBzdHJpbmc7XG4gIHNlc3Npb25FcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgc2Vzc2lvbkVycm9yQWN0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdEVycm9yVWlPcHRpb25zIHtcbiAgLyoqICdhdXRvJyAoZGVmYXVsdCkgcGlja3MgJ2h1JyBpZiBuYXZpZ2F0b3IubGFuZ3VhZ2Ugc3RhcnRzIHdpdGggJ2h1JywgZWxzZSAnZW4nLiAqL1xuICBsYW5ndWFnZT86IERlZmF1bHRFcnJvclVpTGFuZ3VhZ2U7XG4gIC8qKiBPdmVycmlkZSBpbmRpdmlkdWFsIHN0cmluZ3M7IG1pc3Npbmcga2V5cyBmYWxsIGJhY2sgdG8gdGhlIGxhbmd1YWdlIGRlZmF1bHQuICovXG4gIHN0cmluZ3M/OiBQYXJ0aWFsPERlZmF1bHRFcnJvclVpU3RyaW5ncz47XG4gIC8qKlxuICAgKiBTbmFja2JhciBhdXRvLWRpc21pc3MgaW4gbXMgZm9yIHRyYW5zcG9ydEVycm9yLiBEZWZhdWx0OiAwIChzdGlja3kpLlxuICAgKlxuICAgKiBTdGlja3kgZGVmYXVsdCByYXRpb25hbGU6IGEgdHJhbnNwb3J0IGVycm9yIGNvbW1vbmx5IGxlYXZlcyB0aGUgc2NyZWVuIGluXG4gICAqIGFuIGluY29uc2lzdGVudCBzdGF0ZSAoZmFpbGVkIGNvbXBvbmVudCBsb2Fkcywgc3R1Y2sgc3Bpbm5lcnMpIHRoYXQgZG9lc1xuICAgKiBOT1Qgc2VsZi1yZWNvdmVyIHdoZW4gdGhlIHNlcnZlciByZXR1cm5zLiBBbiBhdXRvLWRpc21pc3Npbmcgc25hY2tiYXJcbiAgICogd291bGQgaGlkZSB0aGUgbm90aWZpY2F0aW9uIGJlZm9yZSB0aGUgdXNlciBjYW4gYWN0LCBsZWF2aW5nIHRoZW0gd2l0aCBhXG4gICAqIGJyb2tlbiBVSSBhbmQgbm8gd2F5IGJhY2suIFN0aWNreSBmb3JjZXMgdGhlIFJlbG9hZCBhY3Rpb24uXG4gICAqXG4gICAqIFNldCBhIHBvc2l0aXZlIG51bWJlciB0byBvcHQgaW50byBhdXRvLWRpc21pc3MgKGUuZy4gbW9iaWxlLXNoZWxsIGZsb3dzXG4gICAqIHdoZXJlIHRoZSBzaGVsbCB0ZWFycyBkb3duIHRoZSB3ZWJ2aWV3IG9uIHRyYW5zcG9ydCBlcnJvciBhbnl3YXkpLlxuICAgKlxuICAgKiBgc3RhcnRFcnJvcmAgaXMgYWx3YXlzIHN0aWNreSByZWdhcmRsZXNzIOKAlCB0aGUgYXBwIGlzIHVudXNhYmxlIHVudGlsIHRoZVxuICAgKiB1c2VyIHJldHJpZXMuXG4gICAqL1xuICB0cmFuc3BvcnRFcnJvckR1cmF0aW9uPzogbnVtYmVyO1xufVxuXG5jb25zdCBTVFJJTkdTX0hVOiBEZWZhdWx0RXJyb3JVaVN0cmluZ3MgPSB7XG4gIHN0YXJ0RXJyb3JNZXNzYWdlOiAnQSBzemVydmVyIG5lbSBlbMOpcmhldMWRLicsXG4gIHN0YXJ0RXJyb3JSZXRyeTogJ8OaanJhcHLDs2LDoWzDoXMnLFxuICB0cmFuc3BvcnRFcnJvck1lc3NhZ2U6ICdBIHN6ZXJ2ZXIgbmVtIGVsw6lyaGV0xZEuJyxcbiAgdHJhbnNwb3J0RXJyb3JSZWxvYWQ6ICfDmmpyYXTDtmx0w6lzJyxcbiAgc2Vzc2lvbkVycm9yTWVzc2FnZTogJ0EgbXVua2FtZW5ldCBsZWrDoXJ0LCBrw6lyasO8ayBqZWxlbnRrZXp6ZW4gYmUgw7pqcmEuJyxcbiAgc2Vzc2lvbkVycm9yQWN0aW9uOiAnQmVqZWxlbnRrZXrDqXMnLFxufTtcblxuY29uc3QgU1RSSU5HU19FTjogRGVmYXVsdEVycm9yVWlTdHJpbmdzID0ge1xuICBzdGFydEVycm9yTWVzc2FnZTogJ1RoZSBzZXJ2ZXIgaXMgdW5hdmFpbGFibGUuJyxcbiAgc3RhcnRFcnJvclJldHJ5OiAnUmV0cnknLFxuICB0cmFuc3BvcnRFcnJvck1lc3NhZ2U6ICdUaGUgc2VydmVyIGlzIHVuYXZhaWxhYmxlLicsXG4gIHRyYW5zcG9ydEVycm9yUmVsb2FkOiAnUmVsb2FkJyxcbiAgc2Vzc2lvbkVycm9yTWVzc2FnZTogJ1lvdXIgc2Vzc2lvbiBoYXMgZXhwaXJlZC4gUGxlYXNlIGxvZyBpbiBhZ2Fpbi4nLFxuICBzZXNzaW9uRXJyb3JBY3Rpb246ICdMb2cgaW4nLFxufTtcblxuLyoqXG4gKiBPcHQtaW4gZGVmYXVsdCBVWCBmb3IgYFNtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2VgIGVycm9yIGhvb2tzLlxuICpcbiAqIFNwcmVhZCB0aGUgcmVzdWx0IG9mIGBob29rcyhvcHRpb25zKWAgaW50byBgYm9vdHN0cmFwLmNvbmZpZ3VyZSgpYCB0byBnZXQgYVxuICogTWF0U25hY2tCYXItYmFzZWQgXCJlcnJvciArIHJldHJ5XCIgVUkgd2l0aG91dCB3cml0aW5nIHRoZSBob3N0IGdsdWU6XG4gKlxuICogYGBgdHNcbiAqIGJvb3RzdHJhcC5jb25maWd1cmUoe1xuICogICAuLi5taW5pbWFsQ29uZmlnLFxuICogICAuLi5kZWZhdWx0RXJyb3JVaS5ob29rcyh7IGxhbmd1YWdlOiAnaHUnIH0pLFxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBIb3N0cyB0aGF0IHdhbnQgY3VzdG9tIGxvZ2ljIGNhbiBvbWl0IHRoaXMgc2VydmljZSBhbmQgd3JpdGUgdGhlaXIgb3duXG4gKiBgb25TdGFydEVycm9yYCAvIGBvblRyYW5zcG9ydEVycm9yYCBjYWxsYmFja3MgZGlyZWN0bHkuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU21hcnREZWZhdWx0RXJyb3JVaVNlcnZpY2Uge1xuICBwcml2YXRlIHNuYWNrQmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcbiAgcHJpdmF0ZSBzZXNzaW9uID0gaW5qZWN0KFNtYXJ0U2Vzc2lvblNlcnZpY2UpO1xuXG4gIC8qKiBSZXR1cm5zIGEgaG9va3MgYnVuZGxlIHJlYWR5IHRvIHNwcmVhZCBpbnRvIGBib290c3RyYXAuY29uZmlndXJlKClgLiAqL1xuICBob29rcyhvcHRpb25zOiBEZWZhdWx0RXJyb3JVaU9wdGlvbnMgPSB7fSk6IHtcbiAgICBvblN0YXJ0RXJyb3I6IChlcnI6IHVua25vd24pID0+IHZvaWQ7XG4gICAgb25UcmFuc3BvcnRFcnJvcjogKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQ7XG4gICAgb25TZXNzaW9uRXJyb3I6IChlcnI6IFNlc3Npb25FcnJvcikgPT4gdm9pZDtcbiAgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9uU3RhcnRFcnJvcjogKGVycjogdW5rbm93bikgPT4gdGhpcy5zaG93U3RhcnRFcnJvcihlcnIsIG9wdGlvbnMpLFxuICAgICAgb25UcmFuc3BvcnRFcnJvcjogKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHRoaXMuc2hvd1RyYW5zcG9ydEVycm9yKGVyciwgb3B0aW9ucyksXG4gICAgICBvblNlc3Npb25FcnJvcjogKGVycjogU2Vzc2lvbkVycm9yKSA9PiB0aGlzLnNob3dTZXNzaW9uRXJyb3IoZXJyLCBvcHRpb25zKSxcbiAgICB9O1xuICB9XG5cbiAgc2hvd1N0YXJ0RXJyb3IoX2VycjogdW5rbm93biwgb3B0aW9uczogRGVmYXVsdEVycm9yVWlPcHRpb25zID0ge30pOiB2b2lkIHtcbiAgICBjb25zdCBzID0gdGhpcy5yZXNvbHZlU3RyaW5ncyhvcHRpb25zKTtcbiAgICBjb25zdCByZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW4ocy5zdGFydEVycm9yTWVzc2FnZSwgcy5zdGFydEVycm9yUmV0cnksIHtcbiAgICAgIGR1cmF0aW9uOiAwLCAvLyBzdGlja3kg4oCUIGFwcCBpcyBub3QgdXNhYmxlIHVudGlsIHJldHJ5IHN1Y2NlZWRzXG4gICAgfSk7XG4gICAgLy8gRnVsbCByZWxvYWQsIG5vdCBib290c3RyYXAuc3RhcnQoKS4gQSBib290c3RyYXAuc3RhcnQoKSByZXRyeSBvbmx5IHJlLXJ1bnNcbiAgICAvLyB0aGUgaW5pdCBzZXF1ZW5jZTsgYW55IGNvbXBvbmVudHMgdGhhdCBhbHJlYWR5IG1vdW50ZWQgZHVyaW5nIHRoZSBmYWlsZWRcbiAgICAvLyBhdHRlbXB0IGhhdmUgcmVqZWN0ZWQgYHdoZW5SZWFkeSgpYCBQcm9taXNlcyBhbmQgd29uJ3QgcmUtdHJpZ2dlciB0aGVpclxuICAgIC8vIHJ1bigpIHdoZW4gYm9vdHN0cmFwIGV2ZW50dWFsbHkgc3VjY2VlZHMuIFJlbG9hZCBndWFyYW50ZWVzIGEgY2xlYW4gbW91bnQuXG4gICAgcmVmLm9uQWN0aW9uKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMudmVyaWZ5U2VydmVyQW5kUmVsb2FkKCkpO1xuICB9XG5cbiAgc2hvd1RyYW5zcG9ydEVycm9yKF9lcnI6IEh0dHBFcnJvclJlc3BvbnNlLCBvcHRpb25zOiBEZWZhdWx0RXJyb3JVaU9wdGlvbnMgPSB7fSk6IHZvaWQge1xuICAgIGNvbnN0IHMgPSB0aGlzLnJlc29sdmVTdHJpbmdzKG9wdGlvbnMpO1xuICAgIGNvbnN0IHJlZiA9IHRoaXMuc25hY2tCYXIub3BlbihzLnRyYW5zcG9ydEVycm9yTWVzc2FnZSwgcy50cmFuc3BvcnRFcnJvclJlbG9hZCwge1xuICAgICAgZHVyYXRpb246IG9wdGlvbnMudHJhbnNwb3J0RXJyb3JEdXJhdGlvbiA/PyAwLFxuICAgIH0pO1xuICAgIHJlZi5vbkFjdGlvbigpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnZlcmlmeVNlcnZlckFuZFJlbG9hZCgpKTtcbiAgfVxuXG4gIHNob3dTZXNzaW9uRXJyb3IoX2VycjogU2Vzc2lvbkVycm9yLCBvcHRpb25zOiBEZWZhdWx0RXJyb3JVaU9wdGlvbnMgPSB7fSk6IHZvaWQge1xuICAgIGNvbnN0IHMgPSB0aGlzLnJlc29sdmVTdHJpbmdzKG9wdGlvbnMpO1xuICAgIGNvbnN0IHJlZiA9IHRoaXMuc25hY2tCYXIub3BlbihzLnNlc3Npb25FcnJvck1lc3NhZ2UsIHMuc2Vzc2lvbkVycm9yQWN0aW9uLCB7XG4gICAgICBkdXJhdGlvbjogMCwgLy8gc3RpY2t5IOKAlCBzZXNzaW9uIGlzIGludmFsaWQgdW50aWwgdGhlIHVzZXIgdGFrZXMgYWN0aW9uXG4gICAgfSk7XG4gICAgcmVmLm9uQWN0aW9uKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVjb3ZlclNlc3Npb24oKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBkZWFkIHNlc3Npb24gYW5kIHJlbG9hZHMuIFVubGlrZSBgdmVyaWZ5U2VydmVyQW5kUmVsb2FkYCwgdGhpc1xuICAgKiBkb2VzIE5PVCBwcmUtY2hlY2sgdmlhIGBnZXRTZXNzaW9uKClgIOKAlCB0aGUgU0lEIGlzIGtub3duIHRvIGJlIGludmFsaWQsXG4gICAqIHNvIHRoZSBjaGVjayB3b3VsZCBmYWlsLiBXZSBiZXN0LWVmZm9ydCBgY2xlYXJBbmRTdGFydE5ld1Nlc3Npb24oKWBcbiAgICogKGNyZWF0ZXMgYSBmcmVzaCBhbm9ueW1vdXMgc2Vzc2lvbik7IHJlbG9hZCBoYXBwZW5zIHJlZ2FyZGxlc3Mgc28gdGhlXG4gICAqIHVzZXIgaXMgbm90IHN0dWNrIGlmIHRoZSBjbGVhciBmYWlscyAoZS5nLiwgc2VydmVyIGZsYXBwaW5nKS5cbiAgICpcbiAgICogT3ZlcnJpZGFibGUgaW4gdGVzdHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgcmVjb3ZlclNlc3Npb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuc2Vzc2lvbi5jbGVhckFuZFN0YXJ0TmV3U2Vzc2lvbigpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gU2VydmVyIG1heSBhbHNvIGJlIGRvd247IHJlbG9hZCBhbnl3YXkgYW5kIGxldCBib290c3RyYXAuc3RhcnQoKSByZXRyeS5cbiAgICB9XG4gICAgdGhpcy5yZWxvYWRQYWdlKCk7XG4gIH1cblxuICAvKipcbiAgICogUGluZ3MgYGdldFNlc3Npb24oKWAgYmVmb3JlIHJlbG9hZGluZzogaWYgdGhlIHNlcnZlciBpcyBzdGlsbCBkb3duLCB0aGVcbiAgICogcmVsb2FkIHdvdWxkIGp1c3QgcmUtdHJpZ2dlciB0aGUgYnJva2VuLXNjcmVlbiBzdGF0ZS4gVGhlIGZhaWxlZCBjaGVja1xuICAgKiBnb2VzIHRocm91Z2ggYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYCBhbmQgcmUtZmlyZXMgYG9uVHJhbnNwb3J0RXJyb3JgLFxuICAgKiBzbyB0aGUgdXNlciBzZWVzIGEgZnJlc2ggc25hY2tiYXIg4oCUIHRoZXkgZ2V0IHZpc2libGUgZmVlZGJhY2sgdGhhdCB0aGVcbiAgICogc2VydmVyIGlzIHN0aWxsIHVucmVhY2hhYmxlLCB3aXRob3V0IHBheWluZyB0aGUgY29zdCBvZiBhIGZ1bGwgYnVuZGxlXG4gICAqIHJlbG9hZCB0aGF0IGxhbmRzIG9uIHRoZSBzYW1lIGJyb2tlbiBzdGF0ZS5cbiAgICpcbiAgICogT3ZlcnJpZGFibGUgaW4gdGVzdHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgdmVyaWZ5U2VydmVyQW5kUmVsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbigpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuOyAvLyBzZXJ2ZXIgc3RpbGwgdW5yZWFjaGFibGUg4oCUIGludGVyY2VwdG9yIHJlLW9wZW5zIHRoZSBzbmFja2JhclxuICAgIH1cbiAgICB0aGlzLnJlbG9hZFBhZ2UoKTtcbiAgfVxuXG4gIC8qKiBPdmVycmlkYWJsZSBpbiB0ZXN0cy4gKi9cbiAgcHJvdGVjdGVkIHJlbG9hZFBhZ2UoKTogdm9pZCB7XG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlU3RyaW5ncyhvcHRpb25zOiBEZWZhdWx0RXJyb3JVaU9wdGlvbnMpOiBEZWZhdWx0RXJyb3JVaVN0cmluZ3Mge1xuICAgIGNvbnN0IGxhbmcgPSB0aGlzLnJlc29sdmVMYW5ndWFnZShvcHRpb25zLmxhbmd1YWdlKTtcbiAgICBjb25zdCBiYXNlID0gbGFuZyA9PT0gJ2h1JyA/IFNUUklOR1NfSFUgOiBTVFJJTkdTX0VOO1xuICAgIHJldHVybiB7IC4uLmJhc2UsIC4uLihvcHRpb25zLnN0cmluZ3MgPz8ge30pIH07XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVMYW5ndWFnZShsYW5nPzogRGVmYXVsdEVycm9yVWlMYW5ndWFnZSk6ICdodScgfCAnZW4nIHtcbiAgICBpZiAobGFuZyA9PT0gJ2h1JyB8fCBsYW5nID09PSAnZW4nKSB7XG4gICAgICByZXR1cm4gbGFuZztcbiAgICB9XG4gICAgcmV0dXJuIG5hdmlnYXRvci5sYW5ndWFnZT8udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCdodScpID8gJ2h1JyA6ICdlbic7XG4gIH1cbn1cbiJdfQ==
@@ -106,4 +106,4 @@ export class SmartErrorCatchingInterceptor {
106
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartErrorCatchingInterceptor, decorators: [{
107
107
  type: Injectable
108
108
  }], ctorParameters: () => [{ type: i1.SmartSessionService }, { type: i2.SmartBackendBootstrapService }] });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZXJyb3ItY2F0Y2hpbmcuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LWVycm9yLWNhdGNoaW5nLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBSUwscUJBQXFCLEdBRXRCLE1BQU0sWUFBWSxDQUFDOzs7O0FBSXBCLE1BQU0sT0FBTyw2QkFBNkI7SUFnQ3hDLFlBQ1UsT0FBNEIsRUFDNUIsU0FBdUM7UUFEdkMsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBOEI7UUFqQ2pELHNCQUFpQixHQUFtQjtZQUNsQztnQkFDRSxJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixTQUFTLEVBQUUscUJBQXFCLENBQUMsT0FBTzthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSw4QkFBOEI7Z0JBQ3BDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGlDQUFpQztnQkFDdkMsU0FBUyxFQUFFLHFCQUFxQixDQUFDLE9BQU87YUFDekM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsNEJBQTRCO2dCQUNsQyxTQUFTLEVBQUUscUJBQXFCLENBQUMsT0FBTzthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSwyQkFBMkI7Z0JBQ2pDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsU0FB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QUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxLQUFNLEtBQUssQ0FBQyxLQUFrQixDQUFDLElBQUksQ0FDckYsQ0FBQztJQUNKLENBQUM7SUFFTyxZQUFZLENBQUMsWUFBMEI7UUFDN0MsSUFBSSxZQUFZLENBQUMsU0FBUyxLQUFLLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsSUFBSSxZQUFZLENBQUMsU0FBUyxLQUFLLHFCQUFxQixDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDekUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLG9CQUFvQixDQUFDLE9BQTZCO1FBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRTtZQUM3RCxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQzthQUN4RSxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7K0dBL0dVLDZCQUE2QjttSEFBN0IsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBIdHRwRXJyb3JSZXNwb25zZSxcclxuICBIdHRwRXZlbnQsXHJcbiAgSHR0cEhhbmRsZXIsXHJcbiAgSHR0cEludGVyY2VwdG9yLFxyXG4gIEh0dHBSZXF1ZXN0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtcclxuICBBcGlFcnJvcixcclxuICBIZWFkZXJQYXJhbSxcclxuICBTZXNzaW9uRXJyb3IsXHJcbiAgU2Vzc2lvbkVycm9yQmVoYXZpb3VyLFxyXG4gIFNtYXJ0U2Vzc2lvblNlcnZpY2UsXHJcbn0gZnJvbSAnLi9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LWJhY2tlbmQtYm9vdHN0cmFwLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU21hcnRFcnJvckNhdGNoaW5nSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG4gIHNlc3Npb25FcnJvckNvZGVzOiBTZXNzaW9uRXJyb3JbXSA9IFtcclxuICAgIHtcclxuICAgICAgY29kZTogJ3Nlc3Npb24uZXhwaXJlZCcsXHJcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFRlJFU0gsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiAnc2Vzc2lvbi5yZWZyZXNodG9rZW4uaW52YWxpZCcsXHJcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiAnc2Vzc2lvbi5iYWRyZXF1ZXN0Lm1pc3Npbmd0b2tlbicsXHJcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiAnc2Vzc2lvbi5zZWN1cml0eS5ub2NvbnRleHQnLFxyXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJULFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogJ3Nlc3Npb24uaW52YWxpZHNlc3Npb251cmknLFxyXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJULFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogJ3Nlc3Npb24ubm90aW5pdGlhbGl6ZWQnLFxyXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJULFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29kZTogJ3Nlc3Npb24udmlld2NvbnRleHQubWlzc2luZycsXHJcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlRfVklFV0NPTlRFWFQsXHJcbiAgICB9LFxyXG4gIF07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzZXNzaW9uOiBTbWFydFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBib290c3RyYXA6IFNtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcclxuICAgIHJldHVybiBuZXh0XHJcbiAgICAgIC5oYW5kbGUocmVxdWVzdClcclxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aGlzLmhhbmRsZUVycm9yKGVycm9yLCByZXF1ZXN0LCBuZXh0KSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihcclxuICAgIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSxcclxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LFxyXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj4ge1xyXG4gICAgaWYgKHRoaXMuaXNTZXNzaW9uRXJyb3IoZXJyb3IpKSB7XHJcbiAgICAgIGNvbnN0IHNlc3Npb25FcnJvciA9IHRoaXMuZ2V0U2Vzc2lvbkVycm9yKGVycm9yKTtcclxuICAgICAgaWYgKHNlc3Npb25FcnJvcikge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVFcnJvcihzZXNzaW9uRXJyb3IpLnBpcGUoXHJcbiAgICAgICAgICBzd2l0Y2hNYXAoKHJlc29sdmVkKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXNvbHZlZCAmJiBzZXNzaW9uRXJyb3IuYmVoYXZpb3VyID09PSBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVGUkVTSCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZSh0aGlzLnVwZGF0ZVJlcXVlc3RIZWFkZXJzKHJlcXVlc3QpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKHJlc29sdmVFcnJvcikgPT4ge1xyXG4gICAgICAgICAgICAvLyB3aGVuIHRoZSByZXNvbHZlRXJyb3IgdGhyb3dzIGEgcmVzdGFydCBlcnJvciAoaW4gdGhlIHJlZnJlc2hTZXNzaW9uKSwgcmV0aHJvdyB0aGUgb3JpZ2luYWwgZXJyb3JcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNTZXNzaW9uRXJyb3IocmVzb2x2ZUVycm9yKSkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHJlc29sdmVTZXNzaW9uRXJyb3IgPSB0aGlzLmdldFNlc3Npb25FcnJvcihyZXNvbHZlRXJyb3IpO1xyXG4gICAgICAgICAgICAgIGlmIChyZXNvbHZlU2Vzc2lvbkVycm9yPy5iZWhhdmlvdXIgPT09IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJUKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHJlc29sdmVFcnJvcik7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmlzVHJhbnNwb3J0RXJyb3IoZXJyb3IpKSB7XHJcbiAgICAgIC8vIEZpcmUtYW5kLWZvcmdldDsgdGhlIHJlcXVlc3Qgc3RpbGwgcmVqZWN0cyBzbyBjYWxsZXJzIGNhbiByZWFjdCBwZXItY2FsbC5cclxuICAgICAgdGhpcy5ib290c3RyYXAuaGFuZGxlVHJhbnNwb3J0RXJyb3IoZXJyb3IpLmNhdGNoKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdoYW5kbGVUcmFuc3BvcnRFcnJvciBob29rIHRocmV3JywgZXJyKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzU2Vzc2lvbkVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGVycm9yLnN0YXR1cyA9PT0gNDAwICYmIChlcnJvci5lcnJvciBhcyBBcGlFcnJvcikuY29kZSAhPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1RyYW5zcG9ydEVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGVycm9yLnN0YXR1cyA9PT0gMCB8fCBlcnJvci5zdGF0dXMgPj0gNTAwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTZXNzaW9uRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogU2Vzc2lvbkVycm9yIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLnNlc3Npb25FcnJvckNvZGVzLmZpbmQoXHJcbiAgICAgIChzZXNzaW9uRXJyb3I6IFNlc3Npb25FcnJvcikgPT4gc2Vzc2lvbkVycm9yLmNvZGUgPT09IChlcnJvci5lcnJvciBhcyBBcGlFcnJvcikuY29kZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzb2x2ZUVycm9yKHNlc3Npb25FcnJvcjogU2Vzc2lvbkVycm9yKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmIChzZXNzaW9uRXJyb3IuYmVoYXZpb3VyID09PSBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCkge1xyXG4gICAgICByZXR1cm4gZnJvbSh0aGlzLnNlc3Npb24uaGFuZGxlU2Vzc2lvbkVycm9yKHNlc3Npb25FcnJvcikpO1xyXG4gICAgfVxyXG4gICAgaWYgKHNlc3Npb25FcnJvci5iZWhhdmlvdXIgPT09IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJUX1ZJRVdDT05URVhUKSB7XHJcbiAgICAgIHJldHVybiBmcm9tKHRoaXMuYm9vdHN0cmFwLmhhbmRsZVZpZXdDb250ZXh0TG9zdChzZXNzaW9uRXJyb3IpKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmcm9tKHRoaXMuc2Vzc2lvbi5yZWZyZXNoU2Vzc2lvbigpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlUmVxdWVzdEhlYWRlcnMocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4pOiBIdHRwUmVxdWVzdDx1bmtub3duPiB7XHJcbiAgICB0aGlzLnNlc3Npb24uaGVhZGVyUGFyYW1zLmZvckVhY2goKGhlYWRlclBhcmFtOiBIZWFkZXJQYXJhbSkgPT4ge1xyXG4gICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgICAgaGVhZGVyczogcmVxdWVzdC5oZWFkZXJzLnNldChoZWFkZXJQYXJhbS5oZWFkZXJOYW1lLCBoZWFkZXJQYXJhbS52YWx1ZSksXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcbn1cclxuIl19
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZXJyb3ItY2F0Y2hpbmcuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LWVycm9yLWNhdGNoaW5nLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBSUwscUJBQXFCLEdBRXRCLE1BQU0sWUFBWSxDQUFDOzs7O0FBSXBCLE1BQU0sT0FBTyw2QkFBNkI7SUFnQ3hDLFlBQ1UsT0FBNEIsRUFDNUIsU0FBdUM7UUFEdkMsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBOEI7UUFqQ2pELHNCQUFpQixHQUFtQjtZQUNsQztnQkFDRSxJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixTQUFTLEVBQUUscUJBQXFCLENBQUMsT0FBTzthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSw4QkFBOEI7Z0JBQ3BDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGlDQUFpQztnQkFDdkMsU0FBUyxFQUFFLHFCQUFxQixDQUFDLE9BQU87YUFDekM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsNEJBQTRCO2dCQUNsQyxTQUFTLEVBQUUscUJBQXFCLENBQUMsT0FBTzthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSwyQkFBMkI7Z0JBQ2pDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsU0FB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QUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxLQUFNLEtBQUssQ0FBQyxLQUFrQixDQUFDLElBQUksQ0FDckYsQ0FBQztJQUNKLENBQUM7SUFFTyxZQUFZLENBQUMsWUFBMEI7UUFDN0MsSUFBSSxZQUFZLENBQUMsU0FBUyxLQUFLLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsSUFBSSxZQUFZLENBQUMsU0FBUyxLQUFLLHFCQUFxQixDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDekUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLG9CQUFvQixDQUFDLE9BQTZCO1FBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRTtZQUM3RCxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQzthQUN4RSxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7K0dBL0dVLDZCQUE2QjttSEFBN0IsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSHR0cEVycm9yUmVzcG9uc2UsXG4gIEh0dHBFdmVudCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIEFwaUVycm9yLFxuICBIZWFkZXJQYXJhbSxcbiAgU2Vzc2lvbkVycm9yLFxuICBTZXNzaW9uRXJyb3JCZWhhdmlvdXIsXG4gIFNtYXJ0U2Vzc2lvblNlcnZpY2UsXG59IGZyb20gJy4vcHJvamVjdHMnO1xuaW1wb3J0IHsgU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZSB9IGZyb20gJy4vc21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTbWFydEVycm9yQ2F0Y2hpbmdJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIHNlc3Npb25FcnJvckNvZGVzOiBTZXNzaW9uRXJyb3JbXSA9IFtcbiAgICB7XG4gICAgICBjb2RlOiAnc2Vzc2lvbi5leHBpcmVkJyxcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFRlJFU0gsXG4gICAgfSxcbiAgICB7XG4gICAgICBjb2RlOiAnc2Vzc2lvbi5yZWZyZXNodG9rZW4uaW52YWxpZCcsXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJULFxuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJ3Nlc3Npb24uYmFkcmVxdWVzdC5taXNzaW5ndG9rZW4nLFxuICAgICAgYmVoYXZpb3VyOiBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvZGU6ICdzZXNzaW9uLnNlY3VyaXR5Lm5vY29udGV4dCcsXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJULFxuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJ3Nlc3Npb24uaW52YWxpZHNlc3Npb251cmknLFxuICAgICAgYmVoYXZpb3VyOiBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvZGU6ICdzZXNzaW9uLm5vdGluaXRpYWxpemVkJyxcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQsXG4gICAgfSxcbiAgICB7XG4gICAgICBjb2RlOiAnc2Vzc2lvbi52aWV3Y29udGV4dC5taXNzaW5nJyxcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlRfVklFV0NPTlRFWFQsXG4gICAgfSxcbiAgXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlc3Npb246IFNtYXJ0U2Vzc2lvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBib290c3RyYXA6IFNtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UsXG4gICkge31cblxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICByZXR1cm4gbmV4dFxuICAgICAgLmhhbmRsZShyZXF1ZXN0KVxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aGlzLmhhbmRsZUVycm9yKGVycm9yLCByZXF1ZXN0LCBuZXh0KSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihcbiAgICBlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UsXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICBpZiAodGhpcy5pc1Nlc3Npb25FcnJvcihlcnJvcikpIHtcbiAgICAgIGNvbnN0IHNlc3Npb25FcnJvciA9IHRoaXMuZ2V0U2Vzc2lvbkVycm9yKGVycm9yKTtcbiAgICAgIGlmIChzZXNzaW9uRXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZUVycm9yKHNlc3Npb25FcnJvcikucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKHJlc29sdmVkKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzb2x2ZWQgJiYgc2Vzc2lvbkVycm9yLmJlaGF2aW91ciA9PT0gU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFRlJFU0gpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMudXBkYXRlUmVxdWVzdEhlYWRlcnMocmVxdWVzdCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKHJlc29sdmVFcnJvcikgPT4ge1xuICAgICAgICAgICAgLy8gd2hlbiB0aGUgcmVzb2x2ZUVycm9yIHRocm93cyBhIHJlc3RhcnQgZXJyb3IgKGluIHRoZSByZWZyZXNoU2Vzc2lvbiksIHJldGhyb3cgdGhlIG9yaWdpbmFsIGVycm9yXG4gICAgICAgICAgICBpZiAodGhpcy5pc1Nlc3Npb25FcnJvcihyZXNvbHZlRXJyb3IpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlc29sdmVTZXNzaW9uRXJyb3IgPSB0aGlzLmdldFNlc3Npb25FcnJvcihyZXNvbHZlRXJyb3IpO1xuICAgICAgICAgICAgICBpZiAocmVzb2x2ZVNlc3Npb25FcnJvcj8uYmVoYXZpb3VyID09PSBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gcmVzb2x2ZUVycm9yKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5pc1RyYW5zcG9ydEVycm9yKGVycm9yKSkge1xuICAgICAgLy8gRmlyZS1hbmQtZm9yZ2V0OyB0aGUgcmVxdWVzdCBzdGlsbCByZWplY3RzIHNvIGNhbGxlcnMgY2FuIHJlYWN0IHBlci1jYWxsLlxuICAgICAgdGhpcy5ib290c3RyYXAuaGFuZGxlVHJhbnNwb3J0RXJyb3IoZXJyb3IpLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignaGFuZGxlVHJhbnNwb3J0RXJyb3IgaG9vayB0aHJldycsIGVycik7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Nlc3Npb25FcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID09PSA0MDAgJiYgKGVycm9yLmVycm9yIGFzIEFwaUVycm9yKS5jb2RlICE9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGlzVHJhbnNwb3J0RXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGVycm9yLnN0YXR1cyA9PT0gMCB8fCBlcnJvci5zdGF0dXMgPj0gNTAwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZXNzaW9uRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogU2Vzc2lvbkVycm9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uRXJyb3JDb2Rlcy5maW5kKFxuICAgICAgKHNlc3Npb25FcnJvcjogU2Vzc2lvbkVycm9yKSA9PiBzZXNzaW9uRXJyb3IuY29kZSA9PT0gKGVycm9yLmVycm9yIGFzIEFwaUVycm9yKS5jb2RlXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUVycm9yKHNlc3Npb25FcnJvcjogU2Vzc2lvbkVycm9yKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoc2Vzc2lvbkVycm9yLmJlaGF2aW91ciA9PT0gU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQpIHtcbiAgICAgIHJldHVybiBmcm9tKHRoaXMuc2Vzc2lvbi5oYW5kbGVTZXNzaW9uRXJyb3Ioc2Vzc2lvbkVycm9yKSk7XG4gICAgfVxuICAgIGlmIChzZXNzaW9uRXJyb3IuYmVoYXZpb3VyID09PSBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVF9WSUVXQ09OVEVYVCkge1xuICAgICAgcmV0dXJuIGZyb20odGhpcy5ib290c3RyYXAuaGFuZGxlVmlld0NvbnRleHRMb3N0KHNlc3Npb25FcnJvcikpO1xuICAgIH1cbiAgICByZXR1cm4gZnJvbSh0aGlzLnNlc3Npb24ucmVmcmVzaFNlc3Npb24oKSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVJlcXVlc3RIZWFkZXJzKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+KTogSHR0cFJlcXVlc3Q8dW5rbm93bj4ge1xuICAgIHRoaXMuc2Vzc2lvbi5oZWFkZXJQYXJhbXMuZm9yRWFjaCgoaGVhZGVyUGFyYW06IEhlYWRlclBhcmFtKSA9PiB7XG4gICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XG4gICAgICAgIGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVycy5zZXQoaGVhZGVyUGFyYW0uaGVhZGVyTmFtZSwgaGVhZGVyUGFyYW0udmFsdWUpLFxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cbn1cbiJdfQ==
@@ -41,4 +41,4 @@ export class SmartHeaderMaintainerInterceptor {
41
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartHeaderMaintainerInterceptor, decorators: [{
42
42
  type: Injectable
43
43
  }], ctorParameters: () => [{ type: i1.SmartSessionService }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtaGVhZGVyLW1haW50YWluZXIuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LWhlYWRlci1tYWludGFpbmVyLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sZ0NBQWdDO0lBQzNDLFlBQW9CLE9BQTRCO1FBQTVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO0lBQUcsQ0FBQztJQUVwRCxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNwRCxtQkFBbUI7UUFDbkIsY0FBYztRQUNkLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNoRDs7aUJBRUssQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksT0FBTyxHQUEwQyxFQUFFLENBQUM7UUFFeEQsdUJBQXVCO1FBQ3ZCLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakMsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILGtCQUFrQjtRQUNsQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDakYsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUM1QyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsZ0RBQWdEO1FBQ2hELE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ3RCLGlCQUFpQjtZQUNqQixVQUFVLEVBQUUsT0FBTztTQUNwQixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQzsrR0FyQ1UsZ0NBQWdDO21IQUFoQyxnQ0FBZ0M7OzRGQUFoQyxnQ0FBZ0M7a0JBRDVDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0LCBIdHRwSGFuZGxlciwgSHR0cEV2ZW50LCBIdHRwSW50ZXJjZXB0b3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU21hcnRTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc21hcnQtc2Vzc2lvbi5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNtYXJ0SGVhZGVyTWFpbnRhaW5lckludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlc3Npb246IFNtYXJ0U2Vzc2lvblNlcnZpY2UpIHt9XHJcblxyXG4gIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgIC8vIG5ldyByZXF1ZXN0IGRhdGFcclxuICAgIC8vIFRPRE8gZml4IG1lXHJcbiAgICBpZiAocmVxdWVzdC51cmxXaXRoUGFyYW1zLmluY2x1ZGVzKCcva2VyYi9zc28nKSkge1xyXG4gICAgICAvKiAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcclxuICAgICAgICB1cmw6IHVybCxcclxuICAgICAgfSkgKi8gcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBoZWFkZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB9ID0ge307XHJcblxyXG4gICAgLy8gY29weSBjdXJyZW50IGhlYWRlcnNcclxuICAgIHJlcXVlc3QuaGVhZGVycy5rZXlzKCkubWFwKChrZXkpID0+IHtcclxuICAgICAgbGV0IHZhbHVlID0gcmVxdWVzdC5oZWFkZXJzLmdldEFsbChrZXkpO1xyXG4gICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICBoZWFkZXJzW2tleV0gPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gYWRkIG93biBoZWFkZXJzXHJcbiAgICBjb25zdCBoYXNIZWFkZXJzID0gdGhpcy5zZXNzaW9uLmhlYWRlclBhcmFtcyAmJiB0aGlzLnNlc3Npb24uaGVhZGVyUGFyYW1zLmxlbmd0aDtcclxuICAgIGlmIChoYXNIZWFkZXJzKSB7XHJcbiAgICAgIHRoaXMuc2Vzc2lvbi5oZWFkZXJQYXJhbXMubWFwKChoZWFkZXJQYXJhbSkgPT4ge1xyXG4gICAgICAgIGhlYWRlcnNbaGVhZGVyUGFyYW0uaGVhZGVyTmFtZV0gPSBoZWFkZXJQYXJhbS52YWx1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gY3JlYXRlIG5ldyByZXF1ZXN0IChuZWNlc3NhcnkgdG8gcmV3cml0ZSB1cmwpXHJcbiAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgIC8qICAgdXJsOiB1cmwsICovXHJcbiAgICAgIHNldEhlYWRlcnM6IGhlYWRlcnMsXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtaGVhZGVyLW1haW50YWluZXIuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LWhlYWRlci1tYWludGFpbmVyLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sZ0NBQWdDO0lBQzNDLFlBQW9CLE9BQTRCO1FBQTVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO0lBQUcsQ0FBQztJQUVwRCxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNwRCxtQkFBbUI7UUFDbkIsY0FBYztRQUNkLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNoRDs7aUJBRUssQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksT0FBTyxHQUEwQyxFQUFFLENBQUM7UUFFeEQsdUJBQXVCO1FBQ3ZCLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakMsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILGtCQUFrQjtRQUNsQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDakYsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUM1QyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsZ0RBQWdEO1FBQ2hELE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ3RCLGlCQUFpQjtZQUNqQixVQUFVLEVBQUUsT0FBTztTQUNwQixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQzsrR0FyQ1UsZ0NBQWdDO21IQUFoQyxnQ0FBZ0M7OzRGQUFoQyxnQ0FBZ0M7a0JBRDVDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwUmVxdWVzdCwgSHR0cEhhbmRsZXIsIEh0dHBFdmVudCwgSHR0cEludGVyY2VwdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU21hcnRTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc21hcnQtc2Vzc2lvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNtYXJ0SGVhZGVyTWFpbnRhaW5lckludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXNzaW9uOiBTbWFydFNlc3Npb25TZXJ2aWNlKSB7fVxuXG4gIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAvLyBuZXcgcmVxdWVzdCBkYXRhXG4gICAgLy8gVE9ETyBmaXggbWVcbiAgICBpZiAocmVxdWVzdC51cmxXaXRoUGFyYW1zLmluY2x1ZGVzKCcva2VyYi9zc28nKSkge1xuICAgICAgLyogICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XG4gICAgICAgIHVybDogdXJsLFxuICAgICAgfSkgKi8gcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xuICAgIH1cblxuICAgIGxldCBoZWFkZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB9ID0ge307XG5cbiAgICAvLyBjb3B5IGN1cnJlbnQgaGVhZGVyc1xuICAgIHJlcXVlc3QuaGVhZGVycy5rZXlzKCkubWFwKChrZXkpID0+IHtcbiAgICAgIGxldCB2YWx1ZSA9IHJlcXVlc3QuaGVhZGVycy5nZXRBbGwoa2V5KTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBoZWFkZXJzW2tleV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIGFkZCBvd24gaGVhZGVyc1xuICAgIGNvbnN0IGhhc0hlYWRlcnMgPSB0aGlzLnNlc3Npb24uaGVhZGVyUGFyYW1zICYmIHRoaXMuc2Vzc2lvbi5oZWFkZXJQYXJhbXMubGVuZ3RoO1xuICAgIGlmIChoYXNIZWFkZXJzKSB7XG4gICAgICB0aGlzLnNlc3Npb24uaGVhZGVyUGFyYW1zLm1hcCgoaGVhZGVyUGFyYW0pID0+IHtcbiAgICAgICAgaGVhZGVyc1toZWFkZXJQYXJhbS5oZWFkZXJOYW1lXSA9IGhlYWRlclBhcmFtLnZhbHVlO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gY3JlYXRlIG5ldyByZXF1ZXN0IChuZWNlc3NhcnkgdG8gcmV3cml0ZSB1cmwpXG4gICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xuICAgICAgLyogICB1cmw6IHVybCwgKi9cbiAgICAgIHNldEhlYWRlcnM6IGhlYWRlcnMsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XG4gIH1cbn1cbiJdfQ==
@@ -4,4 +4,4 @@ export var SessionErrorBehaviour;
4
4
  SessionErrorBehaviour[SessionErrorBehaviour["RESTART"] = 1] = "RESTART";
5
5
  SessionErrorBehaviour[SessionErrorBehaviour["RESTART_VIEWCONTEXT"] = 2] = "RESTART_VIEWCONTEXT";
6
6
  })(SessionErrorBehaviour || (SessionErrorBehaviour = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi1oYW5kbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1CQSxNQUFNLENBQU4sSUFBWSxxQkFJWDtBQUpELFdBQVkscUJBQXFCO0lBQy9CLHVFQUFPLENBQUE7SUFDUCx1RUFBTyxDQUFBO0lBQ1AsK0ZBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUpXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFJaEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlIHtcclxuICAvKipcclxuICAgKiBIYW5kbGVzIFNlc3Npb25FcnJvcnMgd2l0aCBSRVNUQVJUIGJlaGF2aW91ci4gV2l0aCB0aGlzIG1ldGhvZCBpdCBpcyBwb3NzaWJsZSB0byBhZGQgYXBwbGljYXRpb25cclxuICAgKiBzcGVjaWZpYyBsb2dpYyB0byB0aGUgc2Vzc2lvbiByZXN0YXJ0IG1lY2hhbmlzbS5cclxuICAgKiBFLmcuOiBuYXZpZ2F0ZSB0byB0aGUgbG9naW4gcGFnZSB3aGVuIHRoZSBzZXNzaW9uIGNhbiBub3QgYmUgcmVmcmVzaGVkLlxyXG4gICAqXHJcbiAgICogQnkgZGVmYXVsdCB3aGVuIHRoZSBzZXNzaW9uIGNhbiBub3QgYmUgcmVmcmVzaGVkLCB0aGUgc21hcnQtc2Vzc2lvbi5zZXJ2aWNlIGNsZWFycyBhbmQgc3RhcnRzIGEgbmV3IHNlc3Npb24uXHJcbiAgICogQnkgdGhyb3dpbmcgYW4gZXhjZXB0aW9uIGluIHRoaXMgbWV0aG9kIGl0IGlzIHBvc3NpYmxlIHRvIGF2b2lkIHRoaXMgZGVmYXVsdCBmdW5jdGlvbmFsaXR5LFxyXG4gICAqIGFuZCBoYW5kbGUgdGhlIHNlc3Npb24gcmVjcmVhdGlvbiBjb21wbGV0ZWx5IGhlcmUgaW4gdGhlIGFwcGxpY2F0aW9uIGxldmVsLlxyXG4gICAqIEBwYXJhbSBzZXNzaW9uRXJyb3IgdGhlIFNlc3Npb25FcnJvciB3aXRoIFJFU1RBUlQgYmVoYXZpb3VyIGNhY2hlZCBpbiB0aGUgaHR0cCBpbnRlcmNlcHRvclxyXG4gICAqL1xyXG4gIGhhbmRsZVNlc3Npb25FcnJvcihzZXNzaW9uRXJyb3I6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2Vzc2lvbkVycm9yIHtcclxuICBjb2RlOiBzdHJpbmc7XHJcbiAgYmVoYXZpb3VyOiBTZXNzaW9uRXJyb3JCZWhhdmlvdXI7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFNlc3Npb25FcnJvckJlaGF2aW91ciB7XHJcbiAgUkVGUkVTSCxcclxuICBSRVNUQVJULFxyXG4gIFJFU1RBUlRfVklFV0NPTlRFWFQsXHJcbn1cclxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi1oYW5kbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1CQSxNQUFNLENBQU4sSUFBWSxxQkFJWDtBQUpELFdBQVkscUJBQXFCO0lBQy9CLHVFQUFPLENBQUE7SUFDUCx1RUFBTyxDQUFBO0lBQ1AsK0ZBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUpXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFJaEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEhhbmRsZXMgU2Vzc2lvbkVycm9ycyB3aXRoIFJFU1RBUlQgYmVoYXZpb3VyLiBXaXRoIHRoaXMgbWV0aG9kIGl0IGlzIHBvc3NpYmxlIHRvIGFkZCBhcHBsaWNhdGlvblxuICAgKiBzcGVjaWZpYyBsb2dpYyB0byB0aGUgc2Vzc2lvbiByZXN0YXJ0IG1lY2hhbmlzbS5cbiAgICogRS5nLjogbmF2aWdhdGUgdG8gdGhlIGxvZ2luIHBhZ2Ugd2hlbiB0aGUgc2Vzc2lvbiBjYW4gbm90IGJlIHJlZnJlc2hlZC5cbiAgICpcbiAgICogQnkgZGVmYXVsdCB3aGVuIHRoZSBzZXNzaW9uIGNhbiBub3QgYmUgcmVmcmVzaGVkLCB0aGUgc21hcnQtc2Vzc2lvbi5zZXJ2aWNlIGNsZWFycyBhbmQgc3RhcnRzIGEgbmV3IHNlc3Npb24uXG4gICAqIEJ5IHRocm93aW5nIGFuIGV4Y2VwdGlvbiBpbiB0aGlzIG1ldGhvZCBpdCBpcyBwb3NzaWJsZSB0byBhdm9pZCB0aGlzIGRlZmF1bHQgZnVuY3Rpb25hbGl0eSxcbiAgICogYW5kIGhhbmRsZSB0aGUgc2Vzc2lvbiByZWNyZWF0aW9uIGNvbXBsZXRlbHkgaGVyZSBpbiB0aGUgYXBwbGljYXRpb24gbGV2ZWwuXG4gICAqIEBwYXJhbSBzZXNzaW9uRXJyb3IgdGhlIFNlc3Npb25FcnJvciB3aXRoIFJFU1RBUlQgYmVoYXZpb3VyIGNhY2hlZCBpbiB0aGUgaHR0cCBpbnRlcmNlcHRvclxuICAgKi9cbiAgaGFuZGxlU2Vzc2lvbkVycm9yKHNlc3Npb25FcnJvcjogU2Vzc2lvbkVycm9yKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXNzaW9uRXJyb3Ige1xuICBjb2RlOiBzdHJpbmc7XG4gIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyO1xufVxuXG5leHBvcnQgZW51bSBTZXNzaW9uRXJyb3JCZWhhdmlvdXIge1xuICBSRUZSRVNILFxuICBSRVNUQVJULFxuICBSRVNUQVJUX1ZJRVdDT05URVhULFxufVxuIl19
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
55
55
  ],
56
56
  }]
57
57
  }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LXNlc3Npb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQXVCekYsTUFBTSxPQUFPLGtCQUFrQjsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBcEJkLDBCQUEwQixhQUMvQixhQUFhLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxlQUFlLGFBQ3BGLDBCQUEwQjtnSEFrQnpCLGtCQUFrQixhQWhCbEI7WUFDVCxrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQjtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixRQUFRLEVBQUUsNkJBQTZCO2dCQUN2QyxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsUUFBUSxFQUFFLGdDQUFnQztnQkFDMUMsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLFlBakJTLGFBQWEsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGVBQWU7OzRGQW1CbkYsa0JBQWtCO2tCQXJCOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDMUMsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDO29CQUMvRixPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLFNBQVMsRUFBRTt3QkFDVCxrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQjs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsNkJBQTZCOzRCQUN2QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsZ0NBQWdDOzRCQUMxQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBTbWFydGRpYWxvZ01vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LWRpYWxvZy9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0SWNvbk1vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LWljb24vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydENvb2tpZVNlcnZpY2UgfSBmcm9tICcuL2Nvb2tpZS1zZXJ2aWNlL3NtYXJ0LWNvb2tpZS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yIH0gZnJvbSAnLi9zbWFydC1lcnJvci1jYXRjaGluZy5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IFNtYXJ0SGVhZGVyTWFpbnRhaW5lckludGVyY2VwdG9yIH0gZnJvbSAnLi9zbWFydC1oZWFkZXItbWFpbnRhaW5lci5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IFNtYXJ0U2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFNtYXJ0U2Vzc2lvblRpbWVyQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC10aW1lci9zbWFydC1zZXNzaW9uLXRpbWVyLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1NtYXJ0U2Vzc2lvblRpbWVyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQnJvd3Nlck1vZHVsZSwgTWF0Q29tbW9uTW9kdWxlLCBNYXRFeHBhbnNpb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgU21hcnRJY29uTW9kdWxlXSxcclxuICBleHBvcnRzOiBbU21hcnRTZXNzaW9uVGltZXJDb21wb25lbnRdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFNtYXJ0Q29va2llU2VydmljZSxcclxuICAgIFNtYXJ0U2Vzc2lvblNlcnZpY2UsXHJcbiAgICBTbWFydGRpYWxvZ01vZHVsZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXHJcbiAgICAgIHVzZUNsYXNzOiBTbWFydEVycm9yQ2F0Y2hpbmdJbnRlcmNlcHRvcixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcclxuICAgICAgdXNlQ2xhc3M6IFNtYXJ0SGVhZGVyTWFpbnRhaW5lckludGVyY2VwdG9yLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0U2Vzc2lvbk1vZHVsZSB7fVxyXG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LXNlc3Npb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQXVCekYsTUFBTSxPQUFPLGtCQUFrQjsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBcEJkLDBCQUEwQixhQUMvQixhQUFhLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxlQUFlLGFBQ3BGLDBCQUEwQjtnSEFrQnpCLGtCQUFrQixhQWhCbEI7WUFDVCxrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQjtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixRQUFRLEVBQUUsNkJBQTZCO2dCQUN2QyxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsUUFBUSxFQUFFLGdDQUFnQztnQkFDMUMsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLFlBakJTLGFBQWEsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGVBQWU7OzRGQW1CbkYsa0JBQWtCO2tCQXJCOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDMUMsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDO29CQUMvRixPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLFNBQVMsRUFBRTt3QkFDVCxrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQjs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsNkJBQTZCOzRCQUN2QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsZ0NBQWdDOzRCQUMxQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTbWFydGRpYWxvZ01vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LWRpYWxvZy9wcm9qZWN0cyc7XG5pbXBvcnQgeyBTbWFydEljb25Nb2R1bGUgfSBmcm9tICcuLi9zbWFydC1pY29uL3Byb2plY3RzJztcbmltcG9ydCB7IFNtYXJ0Q29va2llU2VydmljZSB9IGZyb20gJy4vY29va2llLXNlcnZpY2Uvc21hcnQtY29va2llLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTbWFydEVycm9yQ2F0Y2hpbmdJbnRlcmNlcHRvciB9IGZyb20gJy4vc21hcnQtZXJyb3ItY2F0Y2hpbmcuaW50ZXJjZXB0b3InO1xuaW1wb3J0IHsgU21hcnRIZWFkZXJNYWludGFpbmVySW50ZXJjZXB0b3IgfSBmcm9tICcuL3NtYXJ0LWhlYWRlci1tYWludGFpbmVyLmludGVyY2VwdG9yJztcbmltcG9ydCB7IFNtYXJ0U2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBTbWFydFNlc3Npb25UaW1lckNvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtdGltZXIvc21hcnQtc2Vzc2lvbi10aW1lci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTbWFydFNlc3Npb25UaW1lckNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtCcm93c2VyTW9kdWxlLCBNYXRDb21tb25Nb2R1bGUsIE1hdEV4cGFuc2lvbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBTbWFydEljb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbU21hcnRTZXNzaW9uVGltZXJDb21wb25lbnRdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gIHByb3ZpZGVyczogW1xuICAgIFNtYXJ0Q29va2llU2VydmljZSxcbiAgICBTbWFydFNlc3Npb25TZXJ2aWNlLFxuICAgIFNtYXJ0ZGlhbG9nTW9kdWxlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxuICAgICAgdXNlQ2xhc3M6IFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgICAgIHVzZUNsYXNzOiBTbWFydEhlYWRlck1haW50YWluZXJJbnRlcmNlcHRvcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0U2Vzc2lvbk1vZHVsZSB7fVxuIl19
@@ -168,27 +168,39 @@ export class SmartSessionService {
168
168
  }
169
169
  return this.sessionInfoData;
170
170
  }
171
- async refreshSession() {
172
- let refreshToken = localStorage.getItem('refreshToken');
173
- if (!refreshToken) {
174
- return await this.startSession();
171
+ refreshSession() {
172
+ if (this.runningRefresh) {
173
+ return this.runningRefresh;
175
174
  }
175
+ this.runningRefresh = this.doRefreshSession();
176
+ return this.runningRefresh;
177
+ }
178
+ async doRefreshSession() {
176
179
  try {
177
- const sessionInfo = await lastValueFrom(this.apiService.refreshSession({ refreshToken }));
178
- if (sessionInfo) {
179
- this.updateSessionInfo(sessionInfo);
180
- return sessionInfo;
180
+ let refreshToken = localStorage.getItem('refreshToken');
181
+ if (!refreshToken) {
182
+ return await this.startSession();
181
183
  }
182
- }
183
- catch (error) {
184
- if (this.isInvalidRefreshTokenError(error)) {
185
- this.clearAndStartNewSession();
186
- // still throw the error, so the error can be handled in the caller
184
+ try {
185
+ const sessionInfo = await lastValueFrom(this.apiService.refreshSession({ refreshToken }));
186
+ if (sessionInfo) {
187
+ this.updateSessionInfo(sessionInfo);
188
+ return sessionInfo;
189
+ }
187
190
  }
188
- throw error;
191
+ catch (error) {
192
+ if (this.isInvalidRefreshTokenError(error)) {
193
+ await this.clearAndStartNewSession();
194
+ // still throw the error, so the error can be handled in the caller
195
+ }
196
+ throw error;
197
+ }
198
+ // no sessionInfo returned
199
+ throw new Error('Unable to refresh session');
200
+ }
201
+ finally {
202
+ this.runningRefresh = undefined;
189
203
  }
190
- // no sessionInfo returned
191
- throw new Error('Unable to refresh session');
192
204
  }
193
205
  updateSessionInfo(sessionInfo) {
194
206
  this.sessionInfoData = sessionInfo;
@@ -257,4 +269,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
257
269
  providedIn: 'root',
258
270
  }]
259
271
  }], ctorParameters: () => [{ type: i1.SessionService }, { type: i2.SmartCookieService }] });
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1zZXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFTekQsTUFBTSxPQUFPLG1CQUFtQjtJQU05QixJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQVksZUFBZSxDQUFDLGVBQTRDO1FBQ3RFLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsVUFBVSxLQUFLLGVBQWUsRUFBRSxVQUFVLENBQUM7UUFFdkYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUV4QyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQW1CRCxZQUNVLFVBQTBCLEVBQzFCLGFBQWlDO1FBRGpDLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQWxDbkMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBaUIxQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUVqQywrQkFBMEIsR0FBcUIsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWhGLGlCQUFZLEdBQXVCLElB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QUUsQ0FBQztZQUN4RCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdEYsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqRixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztRQUNyQyxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQWM7UUFDdEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzNFLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3hELFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQzsrR0F2U1UsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIEFwaUVycm9yLFxyXG4gIEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJEYXRhLFxyXG4gIEdldEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzUmVzcG9uc2UsXHJcbiAgU2Vzc2lvbkluZm9EYXRhLFxyXG4gIFNlc3Npb25TZXJ2aWNlLFxyXG59IGZyb20gJy4vYXBpJztcclxuaW1wb3J0IHsgU21hcnRDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi9jb29raWUtc2VydmljZS9zbWFydC1jb29raWUuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25FcnJvciwgU21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRTdWJqZWN0IH0gZnJvbSAnLi4vc21hcnQtc3ViamVjdC9wcm9qZWN0cyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlclBhcmFtIHtcclxuICBoZWFkZXJOYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxufVxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRTZXNzaW9uU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBiYXNlUGF0aD86IHN0cmluZztcclxuICBwcml2YXRlIHRva2VuPzogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3Nlc3Npb25JbmZvRGF0YT86IFNlc3Npb25JbmZvRGF0YTtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHB1YmxpYyBnZXQgc2Vzc2lvbkluZm9EYXRhKCk6IFNlc3Npb25JbmZvRGF0YSB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2Vzc2lvbkluZm9EYXRhO1xyXG4gIH1cclxuICBwcml2YXRlIHNldCBzZXNzaW9uSW5mb0RhdGEoc2Vzc2lvbkluZm9EYXRhOiBTZXNzaW9uSW5mb0RhdGEgfCB1bmRlZmluZWQpIHtcclxuICAgIGxldCBleHBpcmFjeUNoYW5nZWQgPSB0aGlzLnNlc3Npb25JbmZvRGF0YT8uZXhwaXJhdGlvbiAhPT0gc2Vzc2lvbkluZm9EYXRhPy5leHBpcmF0aW9uO1xyXG5cclxuICAgIHRoaXMuX3Nlc3Npb25JbmZvRGF0YSA9IHNlc3Npb25JbmZvRGF0YTtcclxuXHJcbiAgICBpZiAoZXhwaXJhY3lDaGFuZ2VkKSB7XHJcbiAgICAgIHRoaXMuc2Vzc2lvbkV4cGlyYWN5Q2hhbmdlZC5uZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByb3ZpZGVycz86IEFycmF5PEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJEYXRhPjtcclxuICBwcml2YXRlIGNvb2tpZU5hbWU/OiBzdHJpbmc7XHJcbiAgcHVibGljIGlzQXV0aGVudGljYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgYXV0aGVudGljYXRpb25TdGF0ZUNoYW5nZWQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuXHJcbiAgcHVibGljIGhlYWRlclBhcmFtczogQXJyYXk8SGVhZGVyUGFyYW0+ID0gbmV3IEFycmF5KCk7XHJcblxyXG4gIC8vIExvY2FsZVxyXG4gIHByaXZhdGUgbG9jYWxTdG9yYWdlTG9jYWxlTmFtZTogc3RyaW5nID0gJ2xvY2FsZSc7XHJcbiAgcHVibGljIGxvY2FsZUNoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuICBwcml2YXRlIGluaXRpYWxpemVSdW5uaW5nOiBTdWJqZWN0PHZvaWQ+IHwgdW5kZWZpbmVkO1xyXG5cclxuICBwdWJsaWMgc2Vzc2lvbkV4cGlyYWN5Q2hhbmdlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xyXG5cclxuICBwcml2YXRlIHNlc3Npb25IYW5kbGVyU2VydmljZT86IFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXBpU2VydmljZTogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvb2tpZVNlcnZpY2U6IFNtYXJ0Q29va2llU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFNlc3Npb25IYW5kbGVyU2VydmljZShzbWFydFNlc3Npb25IYW5kbGVyU2VydmljZTogU21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2UpOiB2b2lkIHtcclxuICAgIHRoaXMuc2Vzc2lvbkhhbmRsZXJTZXJ2aWNlID0gc21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2Vzc2lvbkVycm9yKHNlc3Npb25FcnJvcjogU2Vzc2lvbkVycm9yKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5zZXNzaW9uSGFuZGxlclNlcnZpY2UpIHtcclxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuc2Vzc2lvbkhhbmRsZXJTZXJ2aWNlLmhhbmRsZVNlc3Npb25FcnJvcihzZXNzaW9uRXJyb3IpO1xyXG4gICAgfVxyXG4gICAgdGhyb3cgbmV3IEVycm9yKGBzZXNzaW9uSGFuZGxlclNlcnZpY2Ugd2FzIG5vdCBpbml0aWFsaXplZC4gRXJyb3I6ICR7c2Vzc2lvbkVycm9yLmNvZGV9YCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkSGVhZGVyUGFyYW0oaGVhZGVyUGFyYW06IEhlYWRlclBhcmFtKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oZWFkZXJQYXJhbXMuZmluZCgoaDogSGVhZGVyUGFyYW0pID0+IGguaGVhZGVyTmFtZSA9PT0gaGVhZGVyUGFyYW0uaGVhZGVyTmFtZSkpIHtcclxuICAgICAgbGV0IGluZGV4ID0gdGhpcy5oZWFkZXJQYXJhbXMuZmluZEluZGV4KFxyXG4gICAgICAgIChoOiBIZWFkZXJQYXJhbSkgPT4gaC5oZWFkZXJOYW1lID09PSBoZWFkZXJQYXJhbS5oZWFkZXJOYW1lXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuaGVhZGVyUGFyYW1zW2luZGV4IV0udmFsdWUgPSBoZWFkZXJQYXJhbS52YWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaGVhZGVyUGFyYW1zLnB1c2goaGVhZGVyUGFyYW0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRVcFRva2VuRm9yU2Vzc2lvblNlcnZpY2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZEhlYWRlclBhcmFtKHtcclxuICAgICAgaGVhZGVyTmFtZTogJ0F1dGhvcml6YXRpb24nLFxyXG4gICAgICB2YWx1ZTogYEJlYXJlciAke3RoaXMudG9rZW4hfWAsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEh5ZHJhdGVzIHRoZSBzZXNzaW9uIHdpdGggYW4gZXh0ZXJuYWxseSBvYnRhaW5lZCBTSUQsIGJ5cGFzc2luZ1xyXG4gICAqIGBpbml0aWFsaXplKClgJ3MgYmFja2VuZCByb3VuZC10cmlwLiBVc2VkIGJ5IHRoZVxyXG4gICAqIGBTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmJvb3RzdHJhcFdpdGgoKWAgZmxvdyB3aGVuIGEgaG9zdFxyXG4gICAqIChlLmcuIG5hdGl2ZSBtb2JpbGUgc2hlbGwpIGhhbmRzIG92ZXIgYW4gYWxyZWFkeS1hdXRoZW50aWNhdGVkIHNlc3Npb24uXHJcbiAgICpcclxuICAgKiBQZXJzaXN0cyB0aGUgU0lEIHRvIGxvY2FsU3RvcmFnZSArIGNvb2tpZSBzbyB0aGF0IGEgcGFnZSByZWxvYWQgY2FuXHJcbiAgICogcmVoeWRyYXRlIHRoZSBzZXNzaW9uIHRocm91Z2ggYGluaXRpYWxpemUoKWAncyByZWd1bGFyXHJcbiAgICogYHRva2VuRnJvbUxvY2FsU3RvcmFnZSA9PT0gdG9rZW5Gcm9tQ29va2llc2AgcGF0aC4gVGhlIG9wdGlvbmFsXHJcbiAgICogcmVmcmVzaFRva2VuIGlzIHBlcnNpc3RlZCB0byBlbmFibGUgYXV0b25vbW91cyByZWZyZXNoIHZpYVxyXG4gICAqIGByZWZyZXNoU2Vzc2lvbigpYCB3aGVuIHRoZSBTSUQgZXhwaXJlcy5cclxuICAgKi9cclxuICBwdWJsaWMgc2V0U2Vzc2lvblRva2VuKHRva2VuOiBzdHJpbmcsIHJlZnJlc2hUb2tlbj86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy50b2tlbiA9IHRva2VuO1xyXG4gICAgdGhpcy5zZXRVcFRva2VuRm9yU2Vzc2lvblNlcnZpY2UoKTtcclxuICAgIGlmICh0aGlzLmNvb2tpZU5hbWUpIHtcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3Rva2VuJywgdG9rZW4pO1xyXG4gICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KHRoaXMuY29va2llTmFtZSwgdG9rZW4pO1xyXG4gICAgICBpZiAocmVmcmVzaFRva2VuKSB7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3JlZnJlc2hUb2tlbicsIHJlZnJlc2hUb2tlbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRVcmwodXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuYmFzZVBhdGggPSB1cmw7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXRCYXNlUGF0aCgpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLmJhc2VQYXRoKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignQmFzZVBhdGggaGFzIG5vdCBiZWVuIHNldCBpbiBTbWFydFNlc3Npb25TZXJ2aWNlIScpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuYmFzZVBhdGg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Q29va2llTmFtZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuY29va2llTmFtZSA9IG5hbWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhdmVUb2tlblRvTG9jYWxTdG9yYWdlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2Vzc2lvbkluZm9EYXRhICYmIHRoaXMuY29va2llTmFtZSkge1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCB0aGlzLnNlc3Npb25JbmZvRGF0YS5zaWQpO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5zZXNzaW9uSW5mb0RhdGEucmVmcmVzaFRva2VuICYmXHJcbiAgICAgICAgdGhpcy5zZXNzaW9uSW5mb0RhdGEucmVmcmVzaFRva2VuICE9PSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncmVmcmVzaFRva2VuJylcclxuICAgICAgKSB7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3JlZnJlc2hUb2tlbicsIHRoaXMuc2Vzc2lvbkluZm9EYXRhLnJlZnJlc2hUb2tlbik7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldCh0aGlzLmNvb2tpZU5hbWUsIHRoaXMudG9rZW4hKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QXV0aGVudGljYXRpb25TdGF0dXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZXNzaW9uSW5mb0RhdGEgJiYgdGhpcy5zZXNzaW9uSW5mb0RhdGEuYXV0aGVudGljYXRpb25zKSB7XHJcbiAgICAgIHRoaXMuaXNBdXRoZW50aWNhdGVkID0gdGhpcy5zZXNzaW9uSW5mb0RhdGEuYXV0aGVudGljYXRpb25zLmxlbmd0aCA+IDA7XHJcbiAgICB9XHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW9uU3RhdGVDaGFuZ2VkLm5leHQodGhpcy5pc0F1dGhlbnRpY2F0ZWQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja1N0YXRlbWVudHMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuYmFzZVBhdGgpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgdXJsIG9mIHRoZSBiYWNrZW5kIGFwaSBoYXMgbm90IGJlZW4gc2V0IScpO1xyXG4gICAgfSBlbHNlIGlmICghdGhpcy5jb29raWVOYW1lKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIG5hbWUgb2YgdGhlIGNvb2tpZSByZXF1aXJlZCBieSB0aGUgYmFja2VuZCBoYXMgbm90IGJlZW4gc2V0IScpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemUoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5pbml0aWFsaXplUnVubmluZykge1xyXG4gICAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplUnVubmluZy50b1Byb21pc2UoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVJ1bm5pbmcgPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLmNoZWNrU3RhdGVtZW50cygpO1xyXG5cclxuICAgICAgICBsZXQgdG9rZW5Gcm9tTG9jYWxTdG9yYWdlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJyk7XHJcbiAgICAgICAgbGV0IHRva2VuRnJvbUNvb2tpZXMgPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KHRoaXMuY29va2llTmFtZSEpO1xyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0b2tlbkZyb21Mb2NhbFN0b3JhZ2UgJiZcclxuICAgICAgICAgIHRva2VuRnJvbUNvb2tpZXMgJiZcclxuICAgICAgICAgIHRva2VuRnJvbUxvY2FsU3RvcmFnZSA9PT0gdG9rZW5Gcm9tQ29va2llc1xyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuRnJvbUxvY2FsU3RvcmFnZTtcclxuICAgICAgICAgIHRoaXMuc2V0VXBUb2tlbkZvclNlc3Npb25TZXJ2aWNlKCk7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmdldFNlc3Npb24oKTtcclxuICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0U2Vzc2lvbigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLmNsZWFyQW5kU3RhcnROZXdTZXNzaW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnNlc3Npb25JbmZvRGF0YSAmJiB0aGlzLnNlc3Npb25JbmZvRGF0YS5sb2NhbGUpIHtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMubG9jYWxTdG9yYWdlTG9jYWxlTmFtZSwgdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlKTtcclxuICAgICAgICAgIHRoaXMubG9jYWxlQ2hhbmdlZC5uZXh0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVJ1bm5pbmcuY29tcGxldGUoKTtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVSdW5uaW5nID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHN0YXJ0U2Vzc2lvbigpOiBQcm9taXNlPFNlc3Npb25JbmZvRGF0YT4ge1xyXG4gICAgbGV0IHNlc3Npb25JbmZvID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnN0YXJ0U2Vzc2lvbigpLnRvUHJvbWlzZSgpO1xyXG4gICAgaWYgKHNlc3Npb25JbmZvKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlU2Vzc2lvbkluZm8oc2Vzc2lvbkluZm8pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLnNlc3Npb25JbmZvRGF0YSE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2Vzc2lvbigpOiBQcm9taXNlPFNlc3Npb25JbmZvRGF0YT4ge1xyXG4gICAgbGV0IHNlc3Npb25JbmZvID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLmdldFNlc3Npb24oKS50b1Byb21pc2UoKTtcclxuICAgIGlmIChzZXNzaW9uSW5mbykge1xyXG4gICAgICB0aGlzLnNlc3Npb25JbmZvRGF0YSA9IHNlc3Npb25JbmZvO1xyXG4gICAgICB0aGlzLnRva2VuID0gc2Vzc2lvbkluZm8uc2lkO1xyXG4gICAgICB0aGlzLnNhdmVUb2tlblRvTG9jYWxTdG9yYWdlKCk7XHJcbiAgICAgIHRoaXMuc2V0QXV0aGVudGljYXRpb25TdGF0dXMoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uSW5mb0RhdGEhO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHJlZnJlc2hTZXNzaW9uKCk6IFByb21pc2U8U2Vzc2lvbkluZm9EYXRhPiB7XHJcbiAgICBsZXQgcmVmcmVzaFRva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3JlZnJlc2hUb2tlbicpO1xyXG4gICAgaWYgKCFyZWZyZXNoVG9rZW4pIHtcclxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuc3RhcnRTZXNzaW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3Qgc2Vzc2lvbkluZm8gPSBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuYXBpU2VydmljZS5yZWZyZXNoU2Vzc2lvbih7IHJlZnJlc2hUb2tlbiB9KSk7XHJcbiAgICAgIGlmIChzZXNzaW9uSW5mbykge1xyXG4gICAgICAgIHRoaXMudXBkYXRlU2Vzc2lvbkluZm8oc2Vzc2lvbkluZm8pO1xyXG4gICAgICAgIHJldHVybiBzZXNzaW9uSW5mbztcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgaWYgKHRoaXMuaXNJbnZhbGlkUmVmcmVzaFRva2VuRXJyb3IoZXJyb3IpKSB7XHJcbiAgICAgICAgdGhpcy5jbGVhckFuZFN0YXJ0TmV3U2Vzc2lvbigpO1xyXG4gICAgICAgIC8vIHN0aWxsIHRocm93IHRoZSBlcnJvciwgc28gdGhlIGVycm9yIGNhbiBiZSBoYW5kbGVkIGluIHRoZSBjYWxsZXJcclxuICAgICAgfVxyXG4gICAgICB0aHJvdyBlcnJvcjtcclxuICAgIH1cclxuICAgIC8vIG5vIHNlc3Npb25JbmZvIHJldHVybmVkXHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byByZWZyZXNoIHNlc3Npb24nKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlU2Vzc2lvbkluZm8oc2Vzc2lvbkluZm86IFNlc3Npb25JbmZvRGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXNzaW9uSW5mb0RhdGEgPSBzZXNzaW9uSW5mbztcclxuICAgIHRoaXMudG9rZW4gPSBzZXNzaW9uSW5mby5zaWQ7XHJcbiAgICB0aGlzLnNhdmVUb2tlblRvTG9jYWxTdG9yYWdlKCk7XHJcbiAgICB0aGlzLnNldEF1dGhlbnRpY2F0aW9uU3RhdHVzKCk7XHJcbiAgICB0aGlzLnNldFVwVG9rZW5Gb3JTZXNzaW9uU2VydmljZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0ludmFsaWRSZWZyZXNoVG9rZW5FcnJvcihlcnJvcjogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmXHJcbiAgICAgIGVycm9yLmVycm9yICYmXHJcbiAgICAgIChlcnJvci5lcnJvciBhcyBBcGlFcnJvcikuY29kZSA9PT0gJ3Nlc3Npb24ucmVmcmVzaHRva2VuLmludmFsaWQnXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzKCk6IFByb21pc2U8QXJyYXk8QXV0aGVudGljYXRpb25Qcm92aWRlckRhdGE+PiB7XHJcbiAgICBsZXQgcHJvdmlkZXJzOiBHZXRBdXRoZW50aWNhdGlvblByb3ZpZGVyc1Jlc3BvbnNlIHwgdW5kZWZpbmVkID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlXHJcbiAgICAgIC5nZXRBdXRoZW50aWNhdGlvblByb3ZpZGVycygpXHJcbiAgICAgIC50b1Byb21pc2UoKTtcclxuXHJcbiAgICB0aGlzLnByb3ZpZGVycyA9IHByb3ZpZGVycz8uYXV0aGVudGljYXRpb25Qcm92aWRlcnM7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucHJvdmlkZXJzITtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRJc0F1dGhlbnRpY2F0ZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBpZiAodGhpcy5zZXNzaW9uSW5mb0RhdGEpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaXNBdXRoZW50aWNhdGVkO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5nZXRTZXNzaW9uKCk7XHJcbiAgICByZXR1cm4gdGhpcy5pc0F1dGhlbnRpY2F0ZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaXMyRkFOZWNlc3NhcnkoKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBpZiAodGhpcy5zZXNzaW9uSW5mb0RhdGEpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICB0aGlzLnNlc3Npb25JbmZvRGF0YS5hdXRoZW50aWNhdGlvbnM/LnNvbWUoKGFjY291bnRJbmZvKSA9PiBhY2NvdW50SW5mby50d29GQSA9PT0gdHJ1ZSkgPz9cclxuICAgICAgICBmYWxzZVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5nZXRTZXNzaW9uKCk7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLnNlc3Npb25JbmZvRGF0YSEuYXV0aGVudGljYXRpb25zPy5zb21lKChhY2NvdW50SW5mbykgPT4gYWNjb3VudEluZm8udHdvRkEgPT09IHRydWUpID8/XHJcbiAgICAgIGZhbHNlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNsZWFyQW5kU3RhcnROZXdTZXNzaW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcclxuICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xyXG4gICAgdGhpcy5oZWFkZXJQYXJhbXMgPSBbXTtcclxuICAgIHRoaXMuY29va2llU2VydmljZS5kZWxldGUodGhpcy5jb29raWVOYW1lISk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5zdGFydFNlc3Npb24oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRMb2NhbGUoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLnNlc3Npb25JbmZvRGF0YSAmJiB0aGlzLnNlc3Npb25JbmZvRGF0YS5sb2NhbGUpIHtcclxuICAgICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMubG9jYWxTdG9yYWdlTG9jYWxlTmFtZSkgIT09IHRoaXMuc2Vzc2lvbkluZm9EYXRhLmxvY2FsZSkge1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMubG9jYWxTdG9yYWdlTG9jYWxlTmFtZSwgdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlO1xyXG4gICAgfVxyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdUaGVyZSBpcyBubyBTZXNzaW9uSW5mb0RhdGEgb3IgbG9jYWxlIGlzIHVuZGVmaW5lZC4nKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VMb2NhbGUobG9jYWxlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuc2Vzc2lvbkluZm9EYXRhID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnNldExvY2FsZShsb2NhbGUpLnRvUHJvbWlzZSgpO1xyXG4gICAgaWYgKHRoaXMuc2Vzc2lvbkluZm9EYXRhICYmIHRoaXMuc2Vzc2lvbkluZm9EYXRhLmxvY2FsZSkge1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmxvY2FsU3RvcmFnZUxvY2FsZU5hbWUsIHRoaXMuc2Vzc2lvbkluZm9EYXRhLmxvY2FsZSk7XHJcbiAgICAgIHRoaXMubG9jYWxlQ2hhbmdlZC5uZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
272
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1zZXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFTekQsTUFBTSxPQUFPLG1CQUFtQjtJQU05QixJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQVksZUFBZSxDQUFDLGVBQTRDO1FBQ3RFLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsVUFBVSxLQUFLLGVBQWUsRUFBRSxVQUFVLENBQUM7UUFFdkYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUV4QyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQW9CRCxZQUNVLFVBQTBCLEVBQzFCLGFBQWlDO1FBRGpDLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQW5DbkMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBaUIxQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUVqQywrQkFBMEIsR0FBcUIsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWhGLGlCQUFZLEdBQXVCLElB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SUFDSCxDQUFDOytHQXBUVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGxhc3RWYWx1ZUZyb20sIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFwaUVycm9yLFxuICBBdXRoZW50aWNhdGlvblByb3ZpZGVyRGF0YSxcbiAgR2V0QXV0aGVudGljYXRpb25Qcm92aWRlcnNSZXNwb25zZSxcbiAgU2Vzc2lvbkluZm9EYXRhLFxuICBTZXNzaW9uU2VydmljZSxcbn0gZnJvbSAnLi9hcGknO1xuaW1wb3J0IHsgU21hcnRDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi9jb29raWUtc2VydmljZS9zbWFydC1jb29raWUuc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uRXJyb3IsIFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC1zZXNzaW9uLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTbWFydFN1YmplY3QgfSBmcm9tICcuLi9zbWFydC1zdWJqZWN0L3Byb2plY3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJQYXJhbSB7XG4gIGhlYWRlck5hbWU6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydFNlc3Npb25TZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBiYXNlUGF0aD86IHN0cmluZztcbiAgcHJpdmF0ZSB0b2tlbj86IHN0cmluZztcbiAgcHJpdmF0ZSBfc2Vzc2lvbkluZm9EYXRhPzogU2Vzc2lvbkluZm9EYXRhO1xuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHVibGljIGdldCBzZXNzaW9uSW5mb0RhdGEoKTogU2Vzc2lvbkluZm9EYXRhIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fc2Vzc2lvbkluZm9EYXRhO1xuICB9XG4gIHByaXZhdGUgc2V0IHNlc3Npb25JbmZvRGF0YShzZXNzaW9uSW5mb0RhdGE6IFNlc3Npb25JbmZvRGF0YSB8IHVuZGVmaW5lZCkge1xuICAgIGxldCBleHBpcmFjeUNoYW5nZWQgPSB0aGlzLnNlc3Npb25JbmZvRGF0YT8uZXhwaXJhdGlvbiAhPT0gc2Vzc2lvbkluZm9EYXRhPy5leHBpcmF0aW9uO1xuXG4gICAgdGhpcy5fc2Vzc2lvbkluZm9EYXRhID0gc2Vzc2lvbkluZm9EYXRhO1xuXG4gICAgaWYgKGV4cGlyYWN5Q2hhbmdlZCkge1xuICAgICAgdGhpcy5zZXNzaW9uRXhwaXJhY3lDaGFuZ2VkLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHByb3ZpZGVycz86IEFycmF5PEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJEYXRhPjtcbiAgcHJpdmF0ZSBjb29raWVOYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgaXNBdXRoZW50aWNhdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGF1dGhlbnRpY2F0aW9uU3RhdGVDaGFuZ2VkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG5cbiAgcHVibGljIGhlYWRlclBhcmFtczogQXJyYXk8SGVhZGVyUGFyYW0+ID0gbmV3IEFycmF5KCk7XG5cbiAgLy8gTG9jYWxlXG4gIHByaXZhdGUgbG9jYWxTdG9yYWdlTG9jYWxlTmFtZTogc3RyaW5nID0gJ2xvY2FsZSc7XG4gIHB1YmxpYyBsb2NhbGVDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG4gIHByaXZhdGUgaW5pdGlhbGl6ZVJ1bm5pbmc6IFN1YmplY3Q8dm9pZD4gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcnVubmluZ1JlZnJlc2g/OiBQcm9taXNlPFNlc3Npb25JbmZvRGF0YT47XG5cbiAgcHVibGljIHNlc3Npb25FeHBpcmFjeUNoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcblxuICBwcml2YXRlIHNlc3Npb25IYW5kbGVyU2VydmljZT86IFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBpU2VydmljZTogU2Vzc2lvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBTbWFydENvb2tpZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldFNlc3Npb25IYW5kbGVyU2VydmljZShzbWFydFNlc3Npb25IYW5kbGVyU2VydmljZTogU21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2UpOiB2b2lkIHtcbiAgICB0aGlzLnNlc3Npb25IYW5kbGVyU2VydmljZSA9IHNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGhhbmRsZVNlc3Npb25FcnJvcihzZXNzaW9uRXJyb3I6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLnNlc3Npb25IYW5kbGVyU2VydmljZSkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuc2Vzc2lvbkhhbmRsZXJTZXJ2aWNlLmhhbmRsZVNlc3Npb25FcnJvcihzZXNzaW9uRXJyb3IpO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYHNlc3Npb25IYW5kbGVyU2VydmljZSB3YXMgbm90IGluaXRpYWxpemVkLiBFcnJvcjogJHtzZXNzaW9uRXJyb3IuY29kZX1gKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRIZWFkZXJQYXJhbShoZWFkZXJQYXJhbTogSGVhZGVyUGFyYW0pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oZWFkZXJQYXJhbXMuZmluZCgoaDogSGVhZGVyUGFyYW0pID0+IGguaGVhZGVyTmFtZSA9PT0gaGVhZGVyUGFyYW0uaGVhZGVyTmFtZSkpIHtcbiAgICAgIGxldCBpbmRleCA9IHRoaXMuaGVhZGVyUGFyYW1zLmZpbmRJbmRleChcbiAgICAgICAgKGg6IEhlYWRlclBhcmFtKSA9PiBoLmhlYWRlck5hbWUgPT09IGhlYWRlclBhcmFtLmhlYWRlck5hbWVcbiAgICAgICk7XG4gICAgICB0aGlzLmhlYWRlclBhcmFtc1tpbmRleCFdLnZhbHVlID0gaGVhZGVyUGFyYW0udmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGVhZGVyUGFyYW1zLnB1c2goaGVhZGVyUGFyYW0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0VXBUb2tlbkZvclNlc3Npb25TZXJ2aWNlKCk6IHZvaWQge1xuICAgIHRoaXMuYWRkSGVhZGVyUGFyYW0oe1xuICAgICAgaGVhZGVyTmFtZTogJ0F1dGhvcml6YXRpb24nLFxuICAgICAgdmFsdWU6IGBCZWFyZXIgJHt0aGlzLnRva2VuIX1gLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEh5ZHJhdGVzIHRoZSBzZXNzaW9uIHdpdGggYW4gZXh0ZXJuYWxseSBvYnRhaW5lZCBTSUQsIGJ5cGFzc2luZ1xuICAgKiBgaW5pdGlhbGl6ZSgpYCdzIGJhY2tlbmQgcm91bmQtdHJpcC4gVXNlZCBieSB0aGVcbiAgICogYFNtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UuYm9vdHN0cmFwV2l0aCgpYCBmbG93IHdoZW4gYSBob3N0XG4gICAqIChlLmcuIG5hdGl2ZSBtb2JpbGUgc2hlbGwpIGhhbmRzIG92ZXIgYW4gYWxyZWFkeS1hdXRoZW50aWNhdGVkIHNlc3Npb24uXG4gICAqXG4gICAqIFBlcnNpc3RzIHRoZSBTSUQgdG8gbG9jYWxTdG9yYWdlICsgY29va2llIHNvIHRoYXQgYSBwYWdlIHJlbG9hZCBjYW5cbiAgICogcmVoeWRyYXRlIHRoZSBzZXNzaW9uIHRocm91Z2ggYGluaXRpYWxpemUoKWAncyByZWd1bGFyXG4gICAqIGB0b2tlbkZyb21Mb2NhbFN0b3JhZ2UgPT09IHRva2VuRnJvbUNvb2tpZXNgIHBhdGguIFRoZSBvcHRpb25hbFxuICAgKiByZWZyZXNoVG9rZW4gaXMgcGVyc2lzdGVkIHRvIGVuYWJsZSBhdXRvbm9tb3VzIHJlZnJlc2ggdmlhXG4gICAqIGByZWZyZXNoU2Vzc2lvbigpYCB3aGVuIHRoZSBTSUQgZXhwaXJlcy5cbiAgICovXG4gIHB1YmxpYyBzZXRTZXNzaW9uVG9rZW4odG9rZW46IHN0cmluZywgcmVmcmVzaFRva2VuPzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50b2tlbiA9IHRva2VuO1xuICAgIHRoaXMuc2V0VXBUb2tlbkZvclNlc3Npb25TZXJ2aWNlKCk7XG4gICAgaWYgKHRoaXMuY29va2llTmFtZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3Rva2VuJywgdG9rZW4pO1xuICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldCh0aGlzLmNvb2tpZU5hbWUsIHRva2VuKTtcbiAgICAgIGlmIChyZWZyZXNoVG9rZW4pIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3JlZnJlc2hUb2tlbicsIHJlZnJlc2hUb2tlbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFVybCh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuYmFzZVBhdGggPSB1cmw7XG4gIH1cbiAgcHVibGljIGdldEJhc2VQYXRoKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmJhc2VQYXRoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Jhc2VQYXRoIGhhcyBub3QgYmVlbiBzZXQgaW4gU21hcnRTZXNzaW9uU2VydmljZSEnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYmFzZVBhdGg7XG4gIH1cblxuICBwdWJsaWMgc2V0Q29va2llTmFtZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNvb2tpZU5hbWUgPSBuYW1lO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlVG9rZW5Ub0xvY2FsU3RvcmFnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZXNzaW9uSW5mb0RhdGEgJiYgdGhpcy5jb29raWVOYW1lKSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCB0aGlzLnNlc3Npb25JbmZvRGF0YS5zaWQpO1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnNlc3Npb25JbmZvRGF0YS5yZWZyZXNoVG9rZW4gJiZcbiAgICAgICAgdGhpcy5zZXNzaW9uSW5mb0RhdGEucmVmcmVzaFRva2VuICE9PSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncmVmcmVzaFRva2VuJylcbiAgICAgICkge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgncmVmcmVzaFRva2VuJywgdGhpcy5zZXNzaW9uSW5mb0RhdGEucmVmcmVzaFRva2VuKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQodGhpcy5jb29raWVOYW1lLCB0aGlzLnRva2VuISk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRBdXRoZW50aWNhdGlvblN0YXR1cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZXNzaW9uSW5mb0RhdGEgJiYgdGhpcy5zZXNzaW9uSW5mb0RhdGEuYXV0aGVudGljYXRpb25zKSB7XG4gICAgICB0aGlzLmlzQXV0aGVudGljYXRlZCA9IHRoaXMuc2Vzc2lvbkluZm9EYXRhLmF1dGhlbnRpY2F0aW9ucy5sZW5ndGggPiAwO1xuICAgIH1cbiAgICB0aGlzLmF1dGhlbnRpY2F0aW9uU3RhdGVDaGFuZ2VkLm5leHQodGhpcy5pc0F1dGhlbnRpY2F0ZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1N0YXRlbWVudHMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmJhc2VQYXRoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSB1cmwgb2YgdGhlIGJhY2tlbmQgYXBpIGhhcyBub3QgYmVlbiBzZXQhJyk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5jb29raWVOYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBuYW1lIG9mIHRoZSBjb29raWUgcmVxdWlyZWQgYnkgdGhlIGJhY2tlbmQgaGFzIG5vdCBiZWVuIHNldCEnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5pbml0aWFsaXplUnVubmluZykge1xuICAgICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZVJ1bm5pbmcudG9Qcm9taXNlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVJ1bm5pbmcgPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuY2hlY2tTdGF0ZW1lbnRzKCk7XG5cbiAgICAgICAgbGV0IHRva2VuRnJvbUxvY2FsU3RvcmFnZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpO1xuICAgICAgICBsZXQgdG9rZW5Gcm9tQ29va2llcyA9IHRoaXMuY29va2llU2VydmljZS5nZXQodGhpcy5jb29raWVOYW1lISk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRva2VuRnJvbUxvY2FsU3RvcmFnZSAmJlxuICAgICAgICAgIHRva2VuRnJvbUNvb2tpZXMgJiZcbiAgICAgICAgICB0b2tlbkZyb21Mb2NhbFN0b3JhZ2UgPT09IHRva2VuRnJvbUNvb2tpZXNcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuRnJvbUxvY2FsU3RvcmFnZTtcbiAgICAgICAgICB0aGlzLnNldFVwVG9rZW5Gb3JTZXNzaW9uU2VydmljZSgpO1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmdldFNlc3Npb24oKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc3RhcnRTZXNzaW9uKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF3YWl0IHRoaXMuY2xlYXJBbmRTdGFydE5ld1Nlc3Npb24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zZXNzaW9uSW5mb0RhdGEgJiYgdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlKSB7XG4gICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5sb2NhbFN0b3JhZ2VMb2NhbGVOYW1lLCB0aGlzLnNlc3Npb25JbmZvRGF0YS5sb2NhbGUpO1xuICAgICAgICAgIHRoaXMubG9jYWxlQ2hhbmdlZC5uZXh0KCk7XG4gICAgICAgIH1cbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVJ1bm5pbmcuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplUnVubmluZyA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHN0YXJ0U2Vzc2lvbigpOiBQcm9taXNlPFNlc3Npb25JbmZvRGF0YT4ge1xuICAgIGxldCBzZXNzaW9uSW5mbyA9IGF3YWl0IHRoaXMuYXBpU2VydmljZS5zdGFydFNlc3Npb24oKS50b1Byb21pc2UoKTtcbiAgICBpZiAoc2Vzc2lvbkluZm8pIHtcbiAgICAgIHRoaXMudXBkYXRlU2Vzc2lvbkluZm8oc2Vzc2lvbkluZm8pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNlc3Npb25JbmZvRGF0YSE7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0U2Vzc2lvbigpOiBQcm9taXNlPFNlc3Npb25JbmZvRGF0YT4ge1xuICAgIGxldCBzZXNzaW9uSW5mbyA9IGF3YWl0IHRoaXMuYXBpU2VydmljZS5nZXRTZXNzaW9uKCkudG9Qcm9taXNlKCk7XG4gICAgaWYgKHNlc3Npb25JbmZvKSB7XG4gICAgICB0aGlzLnNlc3Npb25JbmZvRGF0YSA9IHNlc3Npb25JbmZvO1xuICAgICAgdGhpcy50b2tlbiA9IHNlc3Npb25JbmZvLnNpZDtcbiAgICAgIHRoaXMuc2F2ZVRva2VuVG9Mb2NhbFN0b3JhZ2UoKTtcbiAgICAgIHRoaXMuc2V0QXV0aGVudGljYXRpb25TdGF0dXMoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uSW5mb0RhdGEhO1xuICB9XG5cbiAgcHVibGljIHJlZnJlc2hTZXNzaW9uKCk6IFByb21pc2U8U2Vzc2lvbkluZm9EYXRhPiB7XG4gICAgaWYgKHRoaXMucnVubmluZ1JlZnJlc2gpIHtcbiAgICAgIHJldHVybiB0aGlzLnJ1bm5pbmdSZWZyZXNoO1xuICAgIH1cbiAgICB0aGlzLnJ1bm5pbmdSZWZyZXNoID0gdGhpcy5kb1JlZnJlc2hTZXNzaW9uKCk7XG4gICAgcmV0dXJuIHRoaXMucnVubmluZ1JlZnJlc2g7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGRvUmVmcmVzaFNlc3Npb24oKTogUHJvbWlzZTxTZXNzaW9uSW5mb0RhdGE+IHtcbiAgICB0cnkge1xuICAgICAgbGV0IHJlZnJlc2hUb2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdyZWZyZXNoVG9rZW4nKTtcbiAgICAgIGlmICghcmVmcmVzaFRva2VuKSB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnN0YXJ0U2Vzc2lvbigpO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBzZXNzaW9uSW5mbyA9IGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy5hcGlTZXJ2aWNlLnJlZnJlc2hTZXNzaW9uKHsgcmVmcmVzaFRva2VuIH0pKTtcbiAgICAgICAgaWYgKHNlc3Npb25JbmZvKSB7XG4gICAgICAgICAgdGhpcy51cGRhdGVTZXNzaW9uSW5mbyhzZXNzaW9uSW5mbyk7XG4gICAgICAgICAgcmV0dXJuIHNlc3Npb25JbmZvO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAodGhpcy5pc0ludmFsaWRSZWZyZXNoVG9rZW5FcnJvcihlcnJvcikpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmNsZWFyQW5kU3RhcnROZXdTZXNzaW9uKCk7XG4gICAgICAgICAgLy8gc3RpbGwgdGhyb3cgdGhlIGVycm9yLCBzbyB0aGUgZXJyb3IgY2FuIGJlIGhhbmRsZWQgaW4gdGhlIGNhbGxlclxuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfVxuICAgICAgLy8gbm8gc2Vzc2lvbkluZm8gcmV0dXJuZWRcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHJlZnJlc2ggc2Vzc2lvbicpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnJ1bm5pbmdSZWZyZXNoID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2Vzc2lvbkluZm8oc2Vzc2lvbkluZm86IFNlc3Npb25JbmZvRGF0YSk6IHZvaWQge1xuICAgIHRoaXMuc2Vzc2lvbkluZm9EYXRhID0gc2Vzc2lvbkluZm87XG4gICAgdGhpcy50b2tlbiA9IHNlc3Npb25JbmZvLnNpZDtcbiAgICB0aGlzLnNhdmVUb2tlblRvTG9jYWxTdG9yYWdlKCk7XG4gICAgdGhpcy5zZXRBdXRoZW50aWNhdGlvblN0YXR1cygpO1xuICAgIHRoaXMuc2V0VXBUb2tlbkZvclNlc3Npb25TZXJ2aWNlKCk7XG4gIH1cblxuICBwcml2YXRlIGlzSW52YWxpZFJlZnJlc2hUb2tlbkVycm9yKGVycm9yOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSAmJlxuICAgICAgZXJyb3IuZXJyb3IgJiZcbiAgICAgIChlcnJvci5lcnJvciBhcyBBcGlFcnJvcikuY29kZSA9PT0gJ3Nlc3Npb24ucmVmcmVzaHRva2VuLmludmFsaWQnXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRBdXRoZW50aWNhdGlvblByb3ZpZGVycygpOiBQcm9taXNlPEFycmF5PEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJEYXRhPj4ge1xuICAgIGxldCBwcm92aWRlcnM6IEdldEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzUmVzcG9uc2UgfCB1bmRlZmluZWQgPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRBdXRoZW50aWNhdGlvblByb3ZpZGVycygpXG4gICAgICAudG9Qcm9taXNlKCk7XG5cbiAgICB0aGlzLnByb3ZpZGVycyA9IHByb3ZpZGVycz8uYXV0aGVudGljYXRpb25Qcm92aWRlcnM7XG5cbiAgICByZXR1cm4gdGhpcy5wcm92aWRlcnMhO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldElzQXV0aGVudGljYXRlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5zZXNzaW9uSW5mb0RhdGEpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzQXV0aGVudGljYXRlZDtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5nZXRTZXNzaW9uKCk7XG4gICAgcmV0dXJuIHRoaXMuaXNBdXRoZW50aWNhdGVkO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGlzMkZBTmVjZXNzYXJ5KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLnNlc3Npb25JbmZvRGF0YSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgdGhpcy5zZXNzaW9uSW5mb0RhdGEuYXV0aGVudGljYXRpb25zPy5zb21lKChhY2NvdW50SW5mbykgPT4gYWNjb3VudEluZm8udHdvRkEgPT09IHRydWUpID8/XG4gICAgICAgIGZhbHNlXG4gICAgICApO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLmdldFNlc3Npb24oKTtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5zZXNzaW9uSW5mb0RhdGEhLmF1dGhlbnRpY2F0aW9ucz8uc29tZSgoYWNjb3VudEluZm8pID0+IGFjY291bnRJbmZvLnR3b0ZBID09PSB0cnVlKSA/P1xuICAgICAgZmFsc2VcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNsZWFyQW5kU3RhcnROZXdTZXNzaW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7XG4gICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XG4gICAgdGhpcy5oZWFkZXJQYXJhbXMgPSBbXTtcbiAgICB0aGlzLmNvb2tpZVNlcnZpY2UuZGVsZXRlKHRoaXMuY29va2llTmFtZSEpO1xuXG4gICAgYXdhaXQgdGhpcy5zdGFydFNlc3Npb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMb2NhbGUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zZXNzaW9uSW5mb0RhdGEgJiYgdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlKSB7XG4gICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5sb2NhbFN0b3JhZ2VMb2NhbGVOYW1lKSAhPT0gdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMubG9jYWxTdG9yYWdlTG9jYWxlTmFtZSwgdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLnNlc3Npb25JbmZvRGF0YS5sb2NhbGU7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignVGhlcmUgaXMgbm8gU2Vzc2lvbkluZm9EYXRhIG9yIGxvY2FsZSBpcyB1bmRlZmluZWQuJyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2hhbmdlTG9jYWxlKGxvY2FsZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5zZXNzaW9uSW5mb0RhdGEgPSBhd2FpdCB0aGlzLmFwaVNlcnZpY2Uuc2V0TG9jYWxlKGxvY2FsZSkudG9Qcm9taXNlKCk7XG4gICAgaWYgKHRoaXMuc2Vzc2lvbkluZm9EYXRhICYmIHRoaXMuc2Vzc2lvbkluZm9EYXRhLmxvY2FsZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5sb2NhbFN0b3JhZ2VMb2NhbGVOYW1lLCB0aGlzLnNlc3Npb25JbmZvRGF0YS5sb2NhbGUpO1xuICAgICAgdGhpcy5sb2NhbGVDaGFuZ2VkLm5leHQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -26,10 +26,10 @@ export class SmartSessionTimerComponent {
26
26
  return `${minutes}:${remainingSeconds < 10 ? '0' : ''}${remainingSeconds}`;
27
27
  }
28
28
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartSessionTimerComponent, deps: [{ token: i1.SmartSessionTimerService }], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartSessionTimerComponent, selector: "smart-session-timer", providers: [SmartSessionTimerService], ngImport: i0, template: "<div class=\"smart-session-timer-container\">\r\n <span class=\"smart-session-timer\" *ngIf=\"timeInSeconds\">\r\n {{ formatTime(timeInSeconds!) }}\r\n </span>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartSessionTimerComponent, selector: "smart-session-timer", providers: [SmartSessionTimerService], ngImport: i0, template: "<div class=\"smart-session-timer-container\">\n <span class=\"smart-session-timer\" *ngIf=\"timeInSeconds\">\n {{ formatTime(timeInSeconds!) }}\n </span>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
30
30
  }
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartSessionTimerComponent, decorators: [{
32
32
  type: Component,
33
- args: [{ selector: 'smart-session-timer', providers: [SmartSessionTimerService], template: "<div class=\"smart-session-timer-container\">\r\n <span class=\"smart-session-timer\" *ngIf=\"timeInSeconds\">\r\n {{ formatTime(timeInSeconds!) }}\r\n </span>\r\n</div>\r\n" }]
33
+ args: [{ selector: 'smart-session-timer', providers: [SmartSessionTimerService], template: "<div class=\"smart-session-timer-container\">\n <span class=\"smart-session-timer\" *ngIf=\"timeInSeconds\">\n {{ formatTime(timeInSeconds!) }}\n </span>\n</div>\n" }]
34
34
  }], ctorParameters: () => [{ type: i1.SmartSessionTimerService }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi10aW1lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LXRpbWVyL3NtYXJ0LXNlc3Npb24tdGltZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC10aW1lci9zbWFydC1zZXNzaW9uLXRpbWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7O0FBUXpFLE1BQU0sT0FBTywwQkFBMEI7SUFLckMsWUFBbUIsT0FBaUM7UUFBakMsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFKNUMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBSU0sQ0FBQztJQUV4RCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7UUFFcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixJQUFJLE9BQU8sR0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvQyxJQUFJLGdCQUFnQixHQUFXLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDNUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxnQkFBZ0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDN0UsQ0FBQzsrR0F6QlUsMEJBQTBCO21HQUExQiwwQkFBMEIsOENBRjFCLENBQUMsd0JBQXdCLENBQUMsMEJDVHZDLDRMQUtBOzs0RkRNYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0UscUJBQXFCLGFBR3BCLENBQUMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU21hcnRTZXNzaW9uVGltZXJTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC1zZXNzaW9uLXRpbWVyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC1zZXNzaW9uLXRpbWVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtc2Vzc2lvbi10aW1lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtc2Vzc2lvbi10aW1lci5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbU21hcnRTZXNzaW9uVGltZXJTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0U2Vzc2lvblRpbWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgdGltZUluU2Vjb25kcz86IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHNlcnZpY2U6IFNtYXJ0U2Vzc2lvblRpbWVyU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2Uuc3RhcnRUaW1lcigpO1xyXG4gICAgdGhpcy50aW1lSW5TZWNvbmRzID0gdGhpcy5zZXJ2aWNlLnRpbWVMZWZ0SW5TZWNvbmRzO1xyXG5cclxuICAgIHRoaXMuc2VydmljZS50aW1lQ2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMudGltZUluU2Vjb25kcyA9IHRoaXMuc2VydmljZS50aW1lTGVmdEluU2Vjb25kcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0VGltZShzZWNvbmRzOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IG1pbnV0ZXM6IG51bWJlciA9IE1hdGguZmxvb3Ioc2Vjb25kcyAvIDYwKTtcclxuICAgIGxldCByZW1haW5pbmdTZWNvbmRzOiBudW1iZXIgPSBzZWNvbmRzICUgNjA7XHJcbiAgICByZXR1cm4gYCR7bWludXRlc306JHtyZW1haW5pbmdTZWNvbmRzIDwgMTAgPyAnMCcgOiAnJ30ke3JlbWFpbmluZ1NlY29uZHN9YDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNtYXJ0LXNlc3Npb24tdGltZXItY29udGFpbmVyXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNtYXJ0LXNlc3Npb24tdGltZXJcIiAqbmdJZj1cInRpbWVJblNlY29uZHNcIj5cclxuICAgICAgICB7eyBmb3JtYXRUaW1lKHRpbWVJblNlY29uZHMhKSB9fVxyXG4gICAgPC9zcGFuPlxyXG48L2Rpdj5cclxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi10aW1lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LXRpbWVyL3NtYXJ0LXNlc3Npb24tdGltZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC10aW1lci9zbWFydC1zZXNzaW9uLXRpbWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7O0FBUXpFLE1BQU0sT0FBTywwQkFBMEI7SUFLckMsWUFBbUIsT0FBaUM7UUFBakMsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFKNUMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBSU0sQ0FBQztJQUV4RCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7UUFFcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixJQUFJLE9BQU8sR0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvQyxJQUFJLGdCQUFnQixHQUFXLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDNUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxnQkFBZ0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDN0UsQ0FBQzsrR0F6QlUsMEJBQTBCO21HQUExQiwwQkFBMEIsOENBRjFCLENBQUMsd0JBQXdCLENBQUMsMEJDVHZDLGtMQUtBOzs0RkRNYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0UscUJBQXFCLGFBR3BCLENBQUMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU21hcnRTZXNzaW9uVGltZXJTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC1zZXNzaW9uLXRpbWVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbWFydC1zZXNzaW9uLXRpbWVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LXNlc3Npb24tdGltZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbWFydC1zZXNzaW9uLXRpbWVyLmNvbXBvbmVudC5jc3MnXSxcbiAgcHJvdmlkZXJzOiBbU21hcnRTZXNzaW9uVGltZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU21hcnRTZXNzaW9uVGltZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICB0aW1lSW5TZWNvbmRzPzogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZXJ2aWNlOiBTbWFydFNlc3Npb25UaW1lclNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXJ2aWNlLnN0YXJ0VGltZXIoKTtcbiAgICB0aGlzLnRpbWVJblNlY29uZHMgPSB0aGlzLnNlcnZpY2UudGltZUxlZnRJblNlY29uZHM7XG5cbiAgICB0aGlzLnNlcnZpY2UudGltZUNoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy50aW1lSW5TZWNvbmRzID0gdGhpcy5zZXJ2aWNlLnRpbWVMZWZ0SW5TZWNvbmRzO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBmb3JtYXRUaW1lKHNlY29uZHM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgbGV0IG1pbnV0ZXM6IG51bWJlciA9IE1hdGguZmxvb3Ioc2Vjb25kcyAvIDYwKTtcbiAgICBsZXQgcmVtYWluaW5nU2Vjb25kczogbnVtYmVyID0gc2Vjb25kcyAlIDYwO1xuICAgIHJldHVybiBgJHttaW51dGVzfToke3JlbWFpbmluZ1NlY29uZHMgPCAxMCA/ICcwJyA6ICcnfSR7cmVtYWluaW5nU2Vjb25kc31gO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic21hcnQtc2Vzc2lvbi10aW1lci1jb250YWluZXJcIj5cbiAgICA8c3BhbiBjbGFzcz1cInNtYXJ0LXNlc3Npb24tdGltZXJcIiAqbmdJZj1cInRpbWVJblNlY29uZHNcIj5cbiAgICAgICAge3sgZm9ybWF0VGltZSh0aW1lSW5TZWNvbmRzISkgfX1cbiAgICA8L3NwYW4+XG48L2Rpdj5cbiJdfQ==
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
55
55
  providedIn: 'root',
56
56
  }]
57
57
  }], ctorParameters: () => [{ type: i1.SmartSessionService }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi10aW1lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC10aW1lci9zbWFydC1zZXNzaW9uLXRpbWVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQUs1RCxNQUFNLE9BQU8sd0JBQXdCO0lBY25DLFlBQW9CLE9BQTRCO1FBQTVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBYnhDLGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVqRCx1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFHdkIsc0JBQWlCLEdBQVcsaUJBQWlCLENBQUM7UUFFdkQsZ0JBQVcsR0FBa0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlELG1CQUFjLEdBQWtCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUsvRCxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVTtRQUNSLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO1FBQ3JELE1BQU0sZUFBZSxHQUFHLGVBQWUsRUFBRSxRQUFRLENBQUM7UUFDbEQsSUFBSSxlQUFlLElBQUksZUFBZSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxlQUFlLENBQUM7UUFDM0MsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLElBQUksQ0FBQyxlQUFnQixDQUFDLFVBQVcsQ0FBQyxDQUFDO1lBQzFELE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDckYsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUM1QixJQUFJLENBQUMsaUJBQWtCLEVBQUUsQ0FBQztZQUMxQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLENBQUM7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxPQUFPO1FBQ0wsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELE9BQU87UUFDTCxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzsrR0F0RFUsd0JBQXdCO21IQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTs7NEZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU21hcnRTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXNlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFNtYXJ0U3ViamVjdCB9IGZyb20gJy4uLy4uL3NtYXJ0LXN1YmplY3QvcHJvamVjdHMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0U2Vzc2lvblRpbWVyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICB0b3RhbFRpbWVJbk1pbnV0ZXM6IG51bWJlciA9IDMwO1xyXG4gIHRpbWVMZWZ0SW5TZWNvbmRzPzogbnVtYmVyO1xyXG5cclxuICByZWFkb25seSBzZXNzaW9uRXhwaXJhdGlvbjogc3RyaW5nID0gJ3Nlc3Npb25FeHBpcmFjeSc7XHJcblxyXG4gIHRpbWVDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XHJcblxyXG4gIG9uVGltZXJFeHBpcmVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XHJcblxyXG4gIHRpbWVyOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2Vzc2lvbjogU21hcnRTZXNzaW9uU2VydmljZSkge1xyXG4gICAgdGhpcy5zZXNzaW9uLnNlc3Npb25FeHBpcmFjeUNoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlc3RhcnQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBzdGFydFRpbWVyKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2Vzc2lvbkluZm9EYXRhID0gdGhpcy5zZXNzaW9uLnNlc3Npb25JbmZvRGF0YTtcclxuICAgIGNvbnN0IGxpZmV0aW1lU2Vjb25kcyA9IHNlc3Npb25JbmZvRGF0YT8uZHVyYXRpb247XHJcbiAgICBpZiAobGlmZXRpbWVTZWNvbmRzICYmIGxpZmV0aW1lU2Vjb25kcyAhPT0gMCkge1xyXG4gICAgICB0aGlzLnRpbWVMZWZ0SW5TZWNvbmRzID0gbGlmZXRpbWVTZWNvbmRzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZXhwaXJhdGlvbiA9IG5ldyBEYXRlKHNlc3Npb25JbmZvRGF0YSEuZXhwaXJhdGlvbiEpO1xyXG4gICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICB0aGlzLnRpbWVMZWZ0SW5TZWNvbmRzID0gTWF0aC5mbG9vcigoZXhwaXJhdGlvbi5nZXRUaW1lKCkgLSBub3cuZ2V0VGltZSgpKSAvIDEwMDApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudGltZUxlZnRJblNlY29uZHMhLS07XHJcbiAgICAgIGlmICh0aGlzLnRpbWVMZWZ0SW5TZWNvbmRzID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy50aW1lb3V0KCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50aW1lQ2hhbmdlZC5uZXh0KCk7XHJcbiAgICB9LCAxMDAwKTtcclxuICB9XHJcblxyXG4gIHJlc3RhcnQoKTogdm9pZCB7XHJcbiAgICBjbGVhckludGVydmFsKHRoaXMudGltZXIpO1xyXG5cclxuICAgIHRoaXMuc3RhcnRUaW1lcigpO1xyXG4gIH1cclxuXHJcbiAgdGltZW91dCgpOiB2b2lkIHtcclxuICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XHJcblxyXG4gICAgdGhpcy5vblRpbWVyRXhwaXJlZC5uZXh0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi10aW1lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC10aW1lci9zbWFydC1zZXNzaW9uLXRpbWVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQUs1RCxNQUFNLE9BQU8sd0JBQXdCO0lBY25DLFlBQW9CLE9BQTRCO1FBQTVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBYnhDLGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVqRCx1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFHdkIsc0JBQWlCLEdBQVcsaUJBQWlCLENBQUM7UUFFdkQsZ0JBQVcsR0FBa0IsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlELG1CQUFjLEdBQWtCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUsvRCxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVTtRQUNSLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO1FBQ3JELE1BQU0sZUFBZSxHQUFHLGVBQWUsRUFBRSxRQUFRLENBQUM7UUFDbEQsSUFBSSxlQUFlLElBQUksZUFBZSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxlQUFlLENBQUM7UUFDM0MsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLElBQUksQ0FBQyxlQUFnQixDQUFDLFVBQVcsQ0FBQyxDQUFDO1lBQzFELE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDckYsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUM1QixJQUFJLENBQUMsaUJBQWtCLEVBQUUsQ0FBQztZQUMxQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLENBQUM7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxPQUFPO1FBQ0wsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELE9BQU87UUFDTCxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzsrR0F0RFUsd0JBQXdCO21IQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTs7NEZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTbWFydFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtc2Vzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNtYXJ0U3ViamVjdCB9IGZyb20gJy4uLy4uL3NtYXJ0LXN1YmplY3QvcHJvamVjdHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU21hcnRTZXNzaW9uVGltZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHRvdGFsVGltZUluTWludXRlczogbnVtYmVyID0gMzA7XG4gIHRpbWVMZWZ0SW5TZWNvbmRzPzogbnVtYmVyO1xuXG4gIHJlYWRvbmx5IHNlc3Npb25FeHBpcmF0aW9uOiBzdHJpbmcgPSAnc2Vzc2lvbkV4cGlyYWN5JztcblxuICB0aW1lQ2hhbmdlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuXG4gIG9uVGltZXJFeHBpcmVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG5cbiAgdGltZXI6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlc3Npb246IFNtYXJ0U2Vzc2lvblNlcnZpY2UpIHtcbiAgICB0aGlzLnNlc3Npb24uc2Vzc2lvbkV4cGlyYWN5Q2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc3RhcnQoKTtcbiAgICB9KTtcbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHN0YXJ0VGltZXIoKTogdm9pZCB7XG4gICAgY29uc3Qgc2Vzc2lvbkluZm9EYXRhID0gdGhpcy5zZXNzaW9uLnNlc3Npb25JbmZvRGF0YTtcbiAgICBjb25zdCBsaWZldGltZVNlY29uZHMgPSBzZXNzaW9uSW5mb0RhdGE/LmR1cmF0aW9uO1xuICAgIGlmIChsaWZldGltZVNlY29uZHMgJiYgbGlmZXRpbWVTZWNvbmRzICE9PSAwKSB7XG4gICAgICB0aGlzLnRpbWVMZWZ0SW5TZWNvbmRzID0gbGlmZXRpbWVTZWNvbmRzO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBleHBpcmF0aW9uID0gbmV3IERhdGUoc2Vzc2lvbkluZm9EYXRhIS5leHBpcmF0aW9uISk7XG4gICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgICAgdGhpcy50aW1lTGVmdEluU2Vjb25kcyA9IE1hdGguZmxvb3IoKGV4cGlyYXRpb24uZ2V0VGltZSgpIC0gbm93LmdldFRpbWUoKSkgLyAxMDAwKTtcbiAgICB9XG5cbiAgICB0aGlzLnRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy50aW1lTGVmdEluU2Vjb25kcyEtLTtcbiAgICAgIGlmICh0aGlzLnRpbWVMZWZ0SW5TZWNvbmRzID09PSAwKSB7XG4gICAgICAgIHRoaXMudGltZW91dCgpO1xuICAgICAgfVxuICAgICAgdGhpcy50aW1lQ2hhbmdlZC5uZXh0KCk7XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICByZXN0YXJ0KCk6IHZvaWQge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG5cbiAgICB0aGlzLnN0YXJ0VGltZXIoKTtcbiAgfVxuXG4gIHRpbWVvdXQoKTogdm9pZCB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcblxuICAgIHRoaXMub25UaW1lckV4cGlyZWQubmV4dCgpO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
1
  export * from './shared.module';
2
2
  export * from './smart-tooltip.directive';
3
3
  export * from './smarttable.date-pipe';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zaGFyZWQvcHJvamVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0LXRvb2x0aXAuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zbWFydHRhYmxlLmRhdGUtcGlwZSc7XHJcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zaGFyZWQvcHJvamVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydC10b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0dGFibGUuZGF0ZS1waXBlJztcbiJdfQ==