@smartbit4all/ng-client 4.3.7 → 4.3.8

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 (305) 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-error-catching.interceptor.mjs +1 -1
  24. package/esm2022/lib/session/smart-header-maintainer.interceptor.mjs +1 -1
  25. package/esm2022/lib/session/smart-session-handler.service.mjs +1 -1
  26. package/esm2022/lib/session/smart-session.module.mjs +1 -1
  27. package/esm2022/lib/session/smart-session.service.mjs +1 -1
  28. package/esm2022/lib/session/smart-timer/smart-session-timer.component.mjs +3 -3
  29. package/esm2022/lib/session/smart-timer/smart-session-timer.service.mjs +1 -1
  30. package/esm2022/lib/shared/projects.mjs +1 -1
  31. package/esm2022/lib/shared/shared.module.mjs +1 -1
  32. package/esm2022/lib/shared/smart-tooltip.directive.mjs +1 -1
  33. package/esm2022/lib/shared/smarttable.date-pipe.mjs +1 -1
  34. package/esm2022/lib/smart-client/projects.mjs +1 -1
  35. package/esm2022/lib/smart-client/smart-authentication.service.mjs +1 -1
  36. package/esm2022/lib/smart-client/smart-component-api-client.mjs +1 -1
  37. package/esm2022/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +3 -3
  38. package/esm2022/lib/smart-client/smart.component.mjs +1 -1
  39. package/esm2022/lib/smart-client/smart.service.mjs +1 -1
  40. package/esm2022/lib/smart-component-layout/api/model/componentWidgetType.mjs +1 -1
  41. package/esm2022/lib/smart-component-layout/projects.mjs +1 -1
  42. package/esm2022/lib/smart-component-layout/smart-component-layout-utility.mjs +1 -1
  43. package/esm2022/lib/smart-component-layout/smart-component-layout.component.mjs +3 -3
  44. package/esm2022/lib/smart-component-layout/smart-component-layout.module.mjs +1 -1
  45. package/esm2022/lib/smart-diagram/component/default-smart-diagram-options.provider.mjs +1 -1
  46. package/esm2022/lib/smart-diagram/component/smart-diagram.component.mjs +22 -22
  47. package/esm2022/lib/smart-diagram/component/smart-diagram.module.mjs +1 -1
  48. package/esm2022/lib/smart-diagram/component/smart-diagram.util.mjs +1 -1
  49. package/esm2022/lib/smart-diagram/projects.mjs +1 -1
  50. package/esm2022/lib/smart-dialog/projects.mjs +1 -1
  51. package/esm2022/lib/smart-dialog/smartdialog.component.mjs +3 -3
  52. package/esm2022/lib/smart-dialog/smartdialog.model.mjs +1 -1
  53. package/esm2022/lib/smart-dialog/smartdialog.module.mjs +1 -1
  54. package/esm2022/lib/smart-dialog/smartdialog.service.mjs +1 -1
  55. package/esm2022/lib/smart-expandable-section/expandable-section.component.mjs +3 -3
  56. package/esm2022/lib/smart-expandable-section/expandable-section.model.mjs +1 -1
  57. package/esm2022/lib/smart-expandable-section/projects.mjs +1 -1
  58. package/esm2022/lib/smart-expandable-section/smart-expandable-section.module.mjs +1 -1
  59. package/esm2022/lib/smart-expandable-section/smart-expandable-section.service.mjs +1 -1
  60. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.mjs +1 -1
  61. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderField.mjs +1 -1
  62. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.mjs +1 -1
  63. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.mjs +1 -1
  64. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionData.mjs +1 -1
  65. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionDataType.mjs +1 -1
  66. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionField.mjs +1 -1
  67. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldList.mjs +1 -1
  68. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.mjs +1 -1
  69. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionList.mjs +1 -1
  70. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperandData.mjs +1 -1
  71. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperation.mjs +1 -1
  72. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOrderBy.mjs +1 -1
  73. package/esm2022/lib/smart-filter/api/filter/model/model.mjs +1 -1
  74. package/esm2022/lib/smart-filter/api/filter/model/searchIndexObjectDefinitionData.mjs +1 -1
  75. package/esm2022/lib/smart-filter/api/filter/model/searchIndexPropertyDefinitionData.mjs +1 -1
  76. package/esm2022/lib/smart-filter/api/value/model/value.mjs +1 -1
  77. package/esm2022/lib/smart-filter/projects.mjs +1 -1
  78. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-expression-field/smart-filter-expression-field.component.mjs +1 -1
  79. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.mjs +3 -3
  80. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/smart-filter-simple.component.mjs +3 -3
  81. package/esm2022/lib/smart-filter/smart-filter/smart-filter.component.mjs +3 -3
  82. package/esm2022/lib/smart-filter/smart-filter/smart-filter.service.mjs +1 -1
  83. package/esm2022/lib/smart-filter/smart-filter.model.mjs +1 -1
  84. package/esm2022/lib/smart-filter/smart-filter.module.mjs +1 -1
  85. package/esm2022/lib/smart-filter-editor/api/api/filter.service.mjs +1 -1
  86. package/esm2022/lib/smart-filter-editor/api/configuration.mjs +1 -1
  87. package/esm2022/lib/smart-filter-editor/api/encoder.mjs +1 -1
  88. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +1 -1
  89. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.mjs +1 -1
  90. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +1 -1
  91. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +1 -1
  92. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.mjs +1 -1
  93. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +1 -1
  94. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionData.mjs +1 -1
  95. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionDataType.mjs +1 -1
  96. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionField.mjs +1 -1
  97. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +1 -1
  98. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +1 -1
  99. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.mjs +1 -1
  100. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionList.mjs +1 -1
  101. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +1 -1
  102. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperation.mjs +1 -1
  103. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOrderBy.mjs +1 -1
  104. package/esm2022/lib/smart-filter-editor/api/model/smartFilterType.mjs +1 -1
  105. package/esm2022/lib/smart-filter-editor/api/param.mjs +1 -1
  106. package/esm2022/lib/smart-filter-editor/api/variables.mjs +1 -1
  107. package/esm2022/lib/smart-filter-editor/filterExpressionBuilderApiActions.mjs +1 -1
  108. package/esm2022/lib/smart-filter-editor/project.mjs +1 -1
  109. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.mjs +3 -3
  110. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.mjs +3 -3
  111. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +3 -3
  112. package/esm2022/lib/smart-filter-editor/smart-filter-editor.model.mjs +1 -1
  113. package/esm2022/lib/smart-filter-editor/smart-filter-editor.module.mjs +1 -1
  114. package/esm2022/lib/smart-filter-editor/smart-filter-editor.service.mjs +1 -1
  115. package/esm2022/lib/smart-filter-editor/smart-filter-params/components/smart-filter-param/smart-filter-param.component.mjs +3 -3
  116. package/esm2022/lib/smart-filter-editor/smart-filter-params/smart-filter-params.component.mjs +3 -3
  117. package/esm2022/lib/smart-form/highlightMacthingString-pipe.mjs +1 -1
  118. package/esm2022/lib/smart-form/projects.mjs +1 -1
  119. package/esm2022/lib/smart-form/services/smartform.layout-definition.service.mjs +1 -1
  120. package/esm2022/lib/smart-form/services/smartform.service.mjs +1 -1
  121. package/esm2022/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.mjs +3 -3
  122. package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.component.mjs +3 -3
  123. package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.model.mjs +1 -1
  124. package/esm2022/lib/smart-form/smartform.component.mjs +3 -3
  125. package/esm2022/lib/smart-form/smartform.form-model.mjs +1 -1
  126. package/esm2022/lib/smart-form/smartform.model.mjs +1 -1
  127. package/esm2022/lib/smart-form/widgets/components/smart-file-editor/smart-file-editor.component.mjs +3 -3
  128. package/esm2022/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.mjs +3 -3
  129. package/esm2022/lib/smart-form/widgets/components/smart-multi-file-editor/smart-multi-file-editor.component.mjs +3 -3
  130. package/esm2022/lib/smart-form/widgets/directives/comparable-dropdown.directive.mjs +1 -1
  131. package/esm2022/lib/smart-form/widgets/directives/comparable-multiselect.directive.mjs +1 -1
  132. package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +3 -3
  133. package/esm2022/lib/smart-form/widgets/smartformwidget/sortable-widget/sortable-widget.component.mjs +3 -3
  134. package/esm2022/lib/smart-form/widgets/smartformwidget/trackCaps.directive.mjs +1 -1
  135. package/esm2022/lib/smart-grid/api/grid-api/api/api.mjs +1 -1
  136. package/esm2022/lib/smart-grid/api/grid-api/api/grid.service.mjs +1 -1
  137. package/esm2022/lib/smart-grid/api/grid-api/api.module.mjs +1 -1
  138. package/esm2022/lib/smart-grid/api/grid-api/configuration.mjs +1 -1
  139. package/esm2022/lib/smart-grid/api/grid-api/encoder.mjs +1 -1
  140. package/esm2022/lib/smart-grid/api/grid-api/index.mjs +1 -1
  141. package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +1 -1
  142. package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +1 -1
  143. package/esm2022/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +1 -1
  144. package/esm2022/lib/smart-grid/api/grid-api/model/gridExportDescriptor.mjs +1 -1
  145. package/esm2022/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
  146. package/esm2022/lib/smart-grid/api/grid-api/model/gridPage.mjs +1 -1
  147. package/esm2022/lib/smart-grid/api/grid-api/model/gridRow.mjs +1 -1
  148. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionChange.mjs +1 -1
  149. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +1 -1
  150. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +1 -1
  151. package/esm2022/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +1 -1
  152. package/esm2022/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +1 -1
  153. package/esm2022/lib/smart-grid/api/grid-api/model/gridView.mjs +1 -1
  154. package/esm2022/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +1 -1
  155. package/esm2022/lib/smart-grid/api/grid-api/model/models.mjs +1 -1
  156. package/esm2022/lib/smart-grid/api/grid-api/param.mjs +1 -1
  157. package/esm2022/lib/smart-grid/api/grid-api/variables.mjs +1 -1
  158. package/esm2022/lib/smart-grid/components/expandable-grid/expandable-grid.component.mjs +3 -3
  159. package/esm2022/lib/smart-grid/components/generic-component/expanded-row-renderer.component.mjs +3 -3
  160. package/esm2022/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.mjs +3 -3
  161. package/esm2022/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs +3 -3
  162. package/esm2022/lib/smart-grid/models/model.mjs +1 -1
  163. package/esm2022/lib/smart-grid/projects.mjs +1 -1
  164. package/esm2022/lib/smart-grid/smart-grid-toolbar-util.mjs +1 -1
  165. package/esm2022/lib/smart-grid/smart-grid.component.mjs +3 -3
  166. package/esm2022/lib/smart-grid/smart-grid.module.mjs +1 -1
  167. package/esm2022/lib/smart-grid/smart-grid.service.mjs +1 -1
  168. package/esm2022/lib/smart-icon/projects.mjs +1 -1
  169. package/esm2022/lib/smart-icon/smart-icon/smart-icon.component.mjs +3 -3
  170. package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.component.mjs +3 -3
  171. package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.directive.mjs +1 -1
  172. package/esm2022/lib/smart-icon/smart-icon.module.mjs +1 -1
  173. package/esm2022/lib/smart-icon/smart-icon.service.mjs +1 -1
  174. package/esm2022/lib/smart-map/abstract-map.mjs +1 -1
  175. package/esm2022/lib/smart-map/api-default/api-default.mjs +1 -1
  176. package/esm2022/lib/smart-map/impl/google-map.mjs +1 -1
  177. package/esm2022/lib/smart-map/impl/leaflet-map.mjs +1 -1
  178. package/esm2022/lib/smart-map/projects.mjs +1 -1
  179. package/esm2022/lib/smart-map/smart-map.component.mjs +3 -3
  180. package/esm2022/lib/smart-map/smart-map.module.mjs +1 -1
  181. package/esm2022/lib/smart-map/smart-map.types.mjs +1 -1
  182. package/esm2022/lib/smart-navbar/projects.mjs +1 -1
  183. package/esm2022/lib/smart-navbar/smart-navbar.component.mjs +3 -3
  184. package/esm2022/lib/smart-navbar/smart-navbar.model.mjs +1 -1
  185. package/esm2022/lib/smart-navbar/smart-navbar.module.mjs +1 -1
  186. package/esm2022/lib/smart-navbar/smart-navbar.service.mjs +1 -1
  187. package/esm2022/lib/smart-navigation/projects.mjs +1 -1
  188. package/esm2022/lib/smart-navigation/smart-navigation.interface.mjs +1 -1
  189. package/esm2022/lib/smart-navigation/smart-navigation.module.mjs +1 -1
  190. package/esm2022/lib/smart-navigation/smart-navigation.service.mjs +1 -1
  191. package/esm2022/lib/smart-ng-client.module.mjs +1 -1
  192. package/esm2022/lib/smart-ng-client.service.mjs +1 -1
  193. package/esm2022/lib/smart-subject/projects.mjs +1 -1
  194. package/esm2022/lib/smart-subject/smart-subject.mjs +1 -1
  195. package/esm2022/lib/smart-tab-group/projects.mjs +1 -1
  196. package/esm2022/lib/smart-tab-group/smart-tab-group.component.mjs +3 -3
  197. package/esm2022/lib/smart-tab-group/smart-tab-group.module.mjs +1 -1
  198. package/esm2022/lib/smart-tab-group/smart-tab-group.service.mjs +1 -1
  199. package/esm2022/lib/smart-tab-group/tab-content/tab-content.component.mjs +3 -3
  200. package/esm2022/lib/smart-tab-group/tab-group-simplified/tab-group.component.mjs +3 -3
  201. package/esm2022/lib/smart-tab-group/tabTile.model.mjs +1 -1
  202. package/esm2022/lib/smart-table/components/default-actions-popup/default-actions-popup.component.mjs +3 -3
  203. package/esm2022/lib/smart-table/components/loading/loading.component.mjs +3 -3
  204. package/esm2022/lib/smart-table/directives/mat-context-menu-trigger-for.directive.mjs +1 -1
  205. package/esm2022/lib/smart-table/projects.mjs +1 -1
  206. package/esm2022/lib/smart-table/smarttable.component.mjs +3 -3
  207. package/esm2022/lib/smart-table/smarttable.model.mjs +1 -1
  208. package/esm2022/lib/smart-table/smarttable.module.mjs +1 -1
  209. package/esm2022/lib/smart-table/smarttable.service.mjs +1 -1
  210. package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +3 -3
  211. package/esm2022/lib/smart-table/tables/mobile-table/mobile-table.component.mjs +3 -3
  212. package/esm2022/lib/smart-table/tables/table.mjs +1 -1
  213. package/esm2022/lib/smart-tree/projects.mjs +1 -1
  214. package/esm2022/lib/smart-tree/smarttree-generic.service.mjs +1 -1
  215. package/esm2022/lib/smart-tree/smarttree.component.mjs +3 -3
  216. package/esm2022/lib/smart-tree/smarttree.model.mjs +1 -1
  217. package/esm2022/lib/smart-tree/smarttree.module.mjs +1 -1
  218. package/esm2022/lib/smart-tree/smarttree.node.model.mjs +1 -1
  219. package/esm2022/lib/smart-tree/smarttree.service.interface.mjs +1 -1
  220. package/esm2022/lib/smart-tree/smarttree.service.mjs +1 -1
  221. package/esm2022/lib/smart-tree/tree-api/api/tree.service.mjs +1 -1
  222. package/esm2022/lib/smart-tree/tree-api/configuration.mjs +1 -1
  223. package/esm2022/lib/smart-tree/tree-api/encoder.mjs +1 -1
  224. package/esm2022/lib/smart-tree/tree-api/param.mjs +1 -1
  225. package/esm2022/lib/smart-tree/tree-api/variables.mjs +1 -1
  226. package/esm2022/lib/smart-validation/named-validator.service.mjs +1 -1
  227. package/esm2022/lib/smart-validation/projects.mjs +1 -1
  228. package/esm2022/lib/smart-validation/smart-validation.module.mjs +1 -1
  229. package/esm2022/lib/smart-validation/smart-validation.types.mjs +1 -1
  230. package/esm2022/lib/view-context/api/api/view.service.mjs +1 -1
  231. package/esm2022/lib/view-context/api/api-default/binaryData.mjs +1 -1
  232. package/esm2022/lib/view-context/api/api-default/invocationError.mjs +1 -1
  233. package/esm2022/lib/view-context/api/api-default/invocationRequest.mjs +1 -1
  234. package/esm2022/lib/view-context/api/model/models.mjs +1 -1
  235. package/esm2022/lib/view-context/api/model/smartLinkData.mjs +1 -1
  236. package/esm2022/lib/view-context/api/model/uiAction.mjs +1 -1
  237. package/esm2022/lib/view-context/api/model/uiActionDefinition.mjs +1 -1
  238. package/esm2022/lib/view-context/api/model/uiActionInputType.mjs +1 -1
  239. package/esm2022/lib/view-context/api/model/uiActionSchedule.mjs +1 -1
  240. package/esm2022/lib/view-context/api/model/uiActionUploadDescriptor.mjs +1 -1
  241. package/esm2022/lib/view-context/api/model/view.mjs +1 -1
  242. package/esm2022/lib/view-context/api/model/viewData.mjs +1 -1
  243. package/esm2022/lib/view-context/invalid-fields-snack-bar/invalid-fields-snack-bar.component.mjs +3 -3
  244. package/esm2022/lib/view-context/message-dialog/message-dialog.component.mjs +3 -3
  245. package/esm2022/lib/view-context/projects.mjs +1 -1
  246. package/esm2022/lib/view-context/property-definition-data.mjs +1 -1
  247. package/esm2022/lib/view-context/smart-embedded-slot.directive.mjs +1 -1
  248. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.component.mjs +3 -3
  249. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.constants.mjs +1 -1
  250. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.service.mjs +1 -1
  251. package/esm2022/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +3 -3
  252. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/photo-capture-widget/photo-capture-widget.component.mjs +3 -3
  253. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/prime-file-uploader/prime-file-uploader.component.mjs +3 -3
  254. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.component.mjs +3 -3
  255. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.utils.mjs +1 -1
  256. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/voice-record-widget/voice-record-widget.component.mjs +3 -3
  257. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +3 -3
  258. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +1 -1
  259. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-dialog-button/ui-action-dialog-button.component.mjs +3 -3
  260. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +3 -3
  261. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.mjs +1 -1
  262. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +3 -3
  263. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +1 -1
  264. package/esm2022/lib/view-context/smart-ui-action/file-editor-toolbar/file-editor-toolbar.component.mjs +3 -3
  265. package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +3 -3
  266. package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +3 -3
  267. package/esm2022/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +1 -1
  268. package/esm2022/lib/view-context/smart-ui-action/ui-action.model.mjs +1 -1
  269. package/esm2022/lib/view-context/smart-ui-action/ui-action.service.mjs +1 -1
  270. package/esm2022/lib/view-context/smart-view-context-dialog.service.mjs +1 -1
  271. package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +3 -3
  272. package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +1 -1
  273. package/esm2022/lib/view-context/smart-view-context.interceptor.mjs +1 -1
  274. package/esm2022/lib/view-context/smart-view-context.model.mjs +1 -1
  275. package/esm2022/lib/view-context/smart-view-context.module.mjs +1 -1
  276. package/esm2022/lib/view-context/smart-view-context.service.mjs +1 -1
  277. package/esm2022/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +1 -1
  278. package/esm2022/lib/view-context/utility/componentLibrary.mjs +1 -1
  279. package/esm2022/lib/view-context/utility/smart-object-utility.mjs +1 -1
  280. package/esm2022/lib/view-context/utility/smart-style-utility.mjs +1 -1
  281. package/esm2022/lib/view-context/value-api/api/api.mjs +1 -1
  282. package/esm2022/lib/view-context/value-api/api/value.service.mjs +1 -1
  283. package/esm2022/lib/view-context/value-api/api.module.mjs +1 -1
  284. package/esm2022/lib/view-context/value-api/configuration.mjs +1 -1
  285. package/esm2022/lib/view-context/value-api/encoder.mjs +1 -1
  286. package/esm2022/lib/view-context/value-api/index.mjs +1 -1
  287. package/esm2022/lib/view-context/value-api/model/genericValue.mjs +1 -1
  288. package/esm2022/lib/view-context/value-api/model/models.mjs +1 -1
  289. package/esm2022/lib/view-context/value-api/model/value.mjs +1 -1
  290. package/esm2022/lib/view-context/value-api/model/valueSetData.mjs +1 -1
  291. package/esm2022/lib/view-context/value-api/model/valueSetDefinition.mjs +1 -1
  292. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionData.mjs +1 -1
  293. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +1 -1
  294. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionKind.mjs +1 -1
  295. package/esm2022/lib/view-context/value-api/model/valueSetExpression.mjs +1 -1
  296. package/esm2022/lib/view-context/value-api/model/valueSetOperand.mjs +1 -1
  297. package/esm2022/lib/view-context/value-api/model/valueSetOperation.mjs +1 -1
  298. package/esm2022/lib/view-context/value-api/param.mjs +1 -1
  299. package/esm2022/lib/view-context/value-api/variables.mjs +1 -1
  300. package/esm2022/projects.mjs +1 -1
  301. package/fesm2022/smartbit4all-ng-client.mjs +131 -131
  302. package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
  303. package/package.json +1 -1
  304. package/smartbit4all-ng-client-4.3.8.tgz +0 -0
  305. package/smartbit4all-ng-client-4.3.7.tgz +0 -0
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
72
72
  type: ViewChildren,
73
73
  args: [UiActionToolbarComponent]
74
74
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWNsaWVudC9zbWFydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxNQUFNLEVBQ04sVUFBVSxFQUtWLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZ0JBQWdCLEdBRWpCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUNMLGlDQUFpQyxHQUVsQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUtwRSxNQUFNLE9BQWdCLFlBQ3BCLFNBQVEsdUJBQTBCO0lBcUJsQyxZQUNFLE1BQWdCLEVBQ1UsSUFBeUMsRUFDL0MsUUFBZ0I7UUFFcEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRVEsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVRLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFUSxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRVEsMEJBQTBCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RDLENBQUM7SUFFUSx1Q0FBdUM7UUFHOUMsT0FBTyxJQUFJLENBQUMsb0NBQW9DLENBQUM7SUFDbkQsQ0FBQztJQUVRLDBCQUEwQjtRQUNqQyxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUN0QyxDQUFDOytHQWxFbUIsWUFBWSwwQ0F3QnRCLGdCQUFnQixhQUNoQixVQUFVO21IQXpCQSxZQUFZLGNBRnBCLE1BQU07OzRGQUVFLFlBQVk7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkF5QkksTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUN2QixNQUFNOzJCQUFDLFVBQVU7eUNBcEJwQixZQUFZO3NCQURYLFlBQVk7dUJBQUMsa0JBQWtCO2dCQUloQyxZQUFZO3NCQURYLFlBQVk7dUJBQUMsa0JBQWtCO2dCQUloQyxZQUFZO3NCQURYLFlBQVk7dUJBQUMsdUJBQXVCO2dCQUlyQyx1QkFBdUI7c0JBRHRCLFlBQVk7dUJBQUMsNkJBQTZCO2dCQUkzQyxvQ0FBb0M7c0JBRG5DLFlBQVk7dUJBQUMsaUNBQWlDO2dCQUkvQyx1QkFBdUI7c0JBRHRCLFlBQVk7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgSW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBJbmplY3RvcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNtYXJ0QXV0aFNlcnZpY2UsXG4gIFNtYXJ0QXV0aGVudGljYXRpb25TZXJ2aWNlSW50ZXJmYWNlLFxufSBmcm9tICcuL3NtYXJ0LWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU21hcnRDb21wb25lbnRBcGlDbGllbnQgfSBmcm9tICcuL3NtYXJ0LWNvbXBvbmVudC1hcGktY2xpZW50JztcbmltcG9ydCB7IFNtYXJ0Zm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xuaW1wb3J0IHsgU21hcnRHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZ3JpZC9wcm9qZWN0cyc7XG5pbXBvcnQgeyBTbWFydHRyZWVHZW5lcmljU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXRyZWUvcHJvamVjdHMnO1xuaW1wb3J0IHsgU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1jb21wb25lbnQtbGF5b3V0L3Byb2plY3RzJztcbmltcG9ydCB7XG4gIFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudCxcbiAgU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlLFxufSBmcm9tICcuLi9zbWFydC1maWx0ZXItZWRpdG9yL3Byb2plY3QnO1xuaW1wb3J0IHsgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3Byb2plY3RzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNtYXJ0U2VydmljZTxUPlxuICBleHRlbmRzIFNtYXJ0Q29tcG9uZW50QXBpQ2xpZW50PFQ+XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXRcbntcbiAgQFZpZXdDaGlsZHJlbihTbWFydGZvcm1Db21wb25lbnQpXG4gIHNtYXJ0Rm9ybXNRTCE6IFF1ZXJ5TGlzdDxTbWFydGZvcm1Db21wb25lbnQ+O1xuXG4gIEBWaWV3Q2hpbGRyZW4oU21hcnRHcmlkQ29tcG9uZW50KVxuICBzbWFydEdyaWRzUUwhOiBRdWVyeUxpc3Q8U21hcnRHcmlkQ29tcG9uZW50PjtcblxuICBAVmlld0NoaWxkcmVuKFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlKVxuICBzbWFydFRyZWVzUUwhOiBRdWVyeUxpc3Q8U21hcnR0cmVlR2VuZXJpY1NlcnZpY2U+O1xuXG4gIEBWaWV3Q2hpbGRyZW4oU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpXG4gIHNtYXJ0Q29tcG9uZW50TGF5b3V0c1FMITogUXVlcnlMaXN0PFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50PjtcblxuICBAVmlld0NoaWxkcmVuKFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudClcbiAgc21hcnRGaWx0ZXJFZGl0b3JDb250ZW50Q29tcG9uZW50c1FMITogUXVlcnlMaXN0PFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudD47XG5cbiAgQFZpZXdDaGlsZHJlbihVaUFjdGlvblRvb2xiYXJDb21wb25lbnQpXG4gIHNtYXJ0VWlBY3Rpb25Ub29sYmFyc1FMITogUXVlcnlMaXN0PFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaW5qZWN0OiBJbmplY3RvcixcbiAgICBASW5qZWN0KFNtYXJ0QXV0aFNlcnZpY2UpIGF1dGg6IFNtYXJ0QXV0aGVudGljYXRpb25TZXJ2aWNlSW50ZXJmYWNlLFxuICAgIEBJbmplY3QoJ3BhZ2VOYW1lJykgcGFnZU5hbWU6IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcihpbmplY3QsIGF1dGgsIHBhZ2VOYW1lKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX25nT25Jbml0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9uZ09uRGVzdHJveSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX25nQWZ0ZXJWaWV3SW5pdCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0U21hcnRGb3Jtc1FMKCk6IFF1ZXJ5TGlzdDxTbWFydGZvcm1Db21wb25lbnQ+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zbWFydEZvcm1zUUw7XG4gIH1cblxuICBvdmVycmlkZSBnZXRTbWFydEdyaWRzUUwoKTogUXVlcnlMaXN0PFNtYXJ0R3JpZENvbXBvbmVudD4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNtYXJ0R3JpZHNRTDtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldFNtYXJ0VHJlZXNRTCgpOiBRdWVyeUxpc3Q8U21hcnR0cmVlR2VuZXJpY1NlcnZpY2U+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zbWFydFRyZWVzUUw7XG4gIH1cblxuICBvdmVycmlkZSBnZXRTbWFydENvbXBvbmVudExheW91dHNRTCgpOiBRdWVyeUxpc3Q8U21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQ+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zbWFydENvbXBvbmVudExheW91dHNRTDtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudHNRTCgpOlxuICAgIHwgUXVlcnlMaXN0PFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudD5cbiAgICB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuc21hcnRGaWx0ZXJFZGl0b3JDb250ZW50Q29tcG9uZW50c1FMO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0U21hcnRVaUFjdGlvblRvb2xiYXJzUUwoKTogUXVlcnlMaXN0PFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudD4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNtYXJ0VWlBY3Rpb25Ub29sYmFyc1FMO1xuICB9XG59XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWNsaWVudC9zbWFydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxNQUFNLEVBQ04sVUFBVSxFQUtWLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsZ0JBQWdCLEdBRWpCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUNMLGlDQUFpQyxHQUVsQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUtwRSxNQUFNLE9BQWdCLFlBQ3BCLFNBQVEsdUJBQTBCO0lBcUJsQyxZQUNFLE1BQWdCLEVBQ1UsSUFBeUMsRUFDL0MsUUFBZ0I7UUFFcEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRVEsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVRLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFUSxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRVEsMEJBQTBCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RDLENBQUM7SUFFUSx1Q0FBdUM7UUFHOUMsT0FBTyxJQUFJLENBQUMsb0NBQW9DLENBQUM7SUFDbkQsQ0FBQztJQUVRLDBCQUEwQjtRQUNqQyxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUN0QyxDQUFDOytHQWxFbUIsWUFBWSwwQ0F3QnRCLGdCQUFnQixhQUNoQixVQUFVO21IQXpCQSxZQUFZLGNBRnBCLE1BQU07OzRGQUVFLFlBQVk7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkF5QkksTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUN2QixNQUFNOzJCQUFDLFVBQVU7eUNBcEJwQixZQUFZO3NCQURYLFlBQVk7dUJBQUMsa0JBQWtCO2dCQUloQyxZQUFZO3NCQURYLFlBQVk7dUJBQUMsa0JBQWtCO2dCQUloQyxZQUFZO3NCQURYLFlBQVk7dUJBQUMsdUJBQXVCO2dCQUlyQyx1QkFBdUI7c0JBRHRCLFlBQVk7dUJBQUMsNkJBQTZCO2dCQUkzQyxvQ0FBb0M7c0JBRG5DLFlBQVk7dUJBQUMsaUNBQWlDO2dCQUkvQyx1QkFBdUI7c0JBRHRCLFlBQVk7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIEluamVjdCxcclxuICBJbmplY3RhYmxlLFxyXG4gIEluamVjdG9yLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFZpZXdDaGlsZHJlbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBTbWFydEF1dGhTZXJ2aWNlLFxyXG4gIFNtYXJ0QXV0aGVudGljYXRpb25TZXJ2aWNlSW50ZXJmYWNlLFxyXG59IGZyb20gJy4vc21hcnQtYXV0aGVudGljYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFNtYXJ0Q29tcG9uZW50QXBpQ2xpZW50IH0gZnJvbSAnLi9zbWFydC1jb21wb25lbnQtYXBpLWNsaWVudCc7XHJcbmltcG9ydCB7IFNtYXJ0Zm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydEdyaWRDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1ncmlkL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnR0cmVlR2VuZXJpY1NlcnZpY2UgfSBmcm9tICcuLi9zbWFydC10cmVlL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1jb21wb25lbnQtbGF5b3V0L3Byb2plY3RzJztcclxuaW1wb3J0IHtcclxuICBTbWFydEZpbHRlckVkaXRvckNvbnRlbnRDb21wb25lbnQsXHJcbiAgU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlLFxyXG59IGZyb20gJy4uL3NtYXJ0LWZpbHRlci1lZGl0b3IvcHJvamVjdCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9wcm9qZWN0cyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU21hcnRTZXJ2aWNlPFQ+XHJcbiAgZXh0ZW5kcyBTbWFydENvbXBvbmVudEFwaUNsaWVudDxUPlxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXRcclxue1xyXG4gIEBWaWV3Q2hpbGRyZW4oU21hcnRmb3JtQ29tcG9uZW50KVxyXG4gIHNtYXJ0Rm9ybXNRTCE6IFF1ZXJ5TGlzdDxTbWFydGZvcm1Db21wb25lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkcmVuKFNtYXJ0R3JpZENvbXBvbmVudClcclxuICBzbWFydEdyaWRzUUwhOiBRdWVyeUxpc3Q8U21hcnRHcmlkQ29tcG9uZW50PjtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbihTbWFydHRyZWVHZW5lcmljU2VydmljZSlcclxuICBzbWFydFRyZWVzUUwhOiBRdWVyeUxpc3Q8U21hcnR0cmVlR2VuZXJpY1NlcnZpY2U+O1xyXG5cclxuICBAVmlld0NoaWxkcmVuKFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KVxyXG4gIHNtYXJ0Q29tcG9uZW50TGF5b3V0c1FMITogUXVlcnlMaXN0PFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50PjtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbihTbWFydEZpbHRlckVkaXRvckNvbnRlbnRDb21wb25lbnQpXHJcbiAgc21hcnRGaWx0ZXJFZGl0b3JDb250ZW50Q29tcG9uZW50c1FMITogUXVlcnlMaXN0PFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudD47XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50KVxyXG4gIHNtYXJ0VWlBY3Rpb25Ub29sYmFyc1FMITogUXVlcnlMaXN0PFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudD47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgaW5qZWN0OiBJbmplY3RvcixcclxuICAgIEBJbmplY3QoU21hcnRBdXRoU2VydmljZSkgYXV0aDogU21hcnRBdXRoZW50aWNhdGlvblNlcnZpY2VJbnRlcmZhY2UsXHJcbiAgICBASW5qZWN0KCdwYWdlTmFtZScpIHBhZ2VOYW1lOiBzdHJpbmdcclxuICApIHtcclxuICAgIHN1cGVyKGluamVjdCwgYXV0aCwgcGFnZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9uZ09uSW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9uZ09uRGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbmdBZnRlclZpZXdJbml0KCk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBnZXRTbWFydEZvcm1zUUwoKTogUXVlcnlMaXN0PFNtYXJ0Zm9ybUNvbXBvbmVudD4gfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuc21hcnRGb3Jtc1FMO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgZ2V0U21hcnRHcmlkc1FMKCk6IFF1ZXJ5TGlzdDxTbWFydEdyaWRDb21wb25lbnQ+IHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLnNtYXJ0R3JpZHNRTDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGdldFNtYXJ0VHJlZXNRTCgpOiBRdWVyeUxpc3Q8U21hcnR0cmVlR2VuZXJpY1NlcnZpY2U+IHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLnNtYXJ0VHJlZXNRTDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGdldFNtYXJ0Q29tcG9uZW50TGF5b3V0c1FMKCk6IFF1ZXJ5TGlzdDxTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudD4gfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXRzUUw7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBnZXRTbWFydEZpbHRlckVkaXRvckNvbnRlbnRDb21wb25lbnRzUUwoKTpcclxuICAgIHwgUXVlcnlMaXN0PFNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudD5cclxuICAgIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLnNtYXJ0RmlsdGVyRWRpdG9yQ29udGVudENvbXBvbmVudHNRTDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGdldFNtYXJ0VWlBY3Rpb25Ub29sYmFyc1FMKCk6IFF1ZXJ5TGlzdDxVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ+IHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLnNtYXJ0VWlBY3Rpb25Ub29sYmFyc1FMO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -19,4 +19,4 @@ export var ComponentWidgetType;
19
19
  ComponentWidgetType["DIAGRAM"] = "diagram";
20
20
  ComponentWidgetType["EMBEDDED_SLOT"] = "embedded_slot";
21
21
  })(ComponentWidgetType || (ComponentWidgetType = {}));
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50V2lkZ2V0VHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQvYXBpL21vZGVsL2NvbXBvbmVudFdpZGdldFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUdILE1BQU0sQ0FBTixJQUFZLG1CQVFYO0FBUkQsV0FBWSxtQkFBbUI7SUFDM0Isb0NBQWEsQ0FBQTtJQUNiLHdDQUFpQixDQUFBO0lBQ2pCLG9DQUFhLENBQUE7SUFDYiwwQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBVyxDQUFBO0lBQ1gsMENBQW1CLENBQUE7SUFDbkIsc0RBQStCLENBQUE7QUFDbkMsQ0FBQyxFQVJXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFROUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZvcm0gbGF5b3V0IGRlZmluaXRpb25cbiAqIENvbnRhaW5zIGZvcm0gbGF5b3V0IGRlZmluaXRpb24gb2JqZWN0cy5cbiAqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMS4wLjBcbiAqIENvbnRhY3Q6IGluZm9AaXQ0YWxsLmh1XG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5cblxuZXhwb3J0IGVudW0gQ29tcG9uZW50V2lkZ2V0VHlwZSB7XG4gICAgR1JJRCA9ICdncmlkJyxcbiAgICBGSUxURVIgPSAnZmlsdGVyJyxcbiAgICBUUkVFID0gJ3RyZWUnLFxuICAgIFRPT0xCQVIgPSAndG9vbGJhcicsXG4gICAgTUFQID0gJ21hcCcsXG4gICAgRElBR1JBTSA9ICdkaWFncmFtJyxcbiAgICBFTUJFRERFRF9TTE9UID0gJ2VtYmVkZGVkX3Nsb3QnXG59XG5cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50V2lkZ2V0VHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQvYXBpL21vZGVsL2NvbXBvbmVudFdpZGdldFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUdILE1BQU0sQ0FBTixJQUFZLG1CQVFYO0FBUkQsV0FBWSxtQkFBbUI7SUFDM0Isb0NBQWEsQ0FBQTtJQUNiLHdDQUFpQixDQUFBO0lBQ2pCLG9DQUFhLENBQUE7SUFDYiwwQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBVyxDQUFBO0lBQ1gsMENBQW1CLENBQUE7SUFDbkIsc0RBQStCLENBQUE7QUFDbkMsQ0FBQyxFQVJXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFROUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogRm9ybSBsYXlvdXQgZGVmaW5pdGlvblxyXG4gKiBDb250YWlucyBmb3JtIGxheW91dCBkZWZpbml0aW9uIG9iamVjdHMuXHJcbiAqXHJcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiAxLjAuMFxyXG4gKiBDb250YWN0OiBpbmZvQGl0NGFsbC5odVxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxyXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcclxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxyXG4gKi9cclxuXHJcblxyXG5leHBvcnQgZW51bSBDb21wb25lbnRXaWRnZXRUeXBlIHtcclxuICAgIEdSSUQgPSAnZ3JpZCcsXHJcbiAgICBGSUxURVIgPSAnZmlsdGVyJyxcclxuICAgIFRSRUUgPSAndHJlZScsXHJcbiAgICBUT09MQkFSID0gJ3Rvb2xiYXInLFxyXG4gICAgTUFQID0gJ21hcCcsXHJcbiAgICBESUFHUkFNID0gJ2RpYWdyYW0nLFxyXG4gICAgRU1CRURERURfU0xPVCA9ICdlbWJlZGRlZF9zbG90J1xyXG59XHJcblxyXG4iXX0=
@@ -5,4 +5,4 @@ export * from './smart-component-layout.module';
5
5
  export * from './smart-component-layout.component';
6
6
  export * from './smart-component-layout-utility';
7
7
  export * from './api/model/models';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jb21wb25lbnQtbGF5b3V0L3Byb2plY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygc21hcnQtY29tcG9uZW50LWxheW91dFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQtdXRpbGl0eSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS9tb2RlbC9tb2RlbHMnO1xuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jb21wb25lbnQtbGF5b3V0L3Byb2plY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzbWFydC1jb21wb25lbnQtbGF5b3V0XHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1jb21wb25lbnQtbGF5b3V0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQtdXRpbGl0eSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYXBpL21vZGVsL21vZGVscyc7XHJcbiJdfQ==
@@ -146,4 +146,4 @@ export class SmartComponentLayoutUtility {
146
146
  comp.components?.forEach((child) => this.setUuid(child, uuid));
147
147
  }
148
148
  }
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC11dGlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LXV0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixtQkFBbUIsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFjN0YsTUFBTSxPQUFPLDJCQUEyQjtJQUMvQixNQUFNLENBQUMsUUFBUSxDQUFDLElBQW1DO1FBQ3hELElBQUksTUFBTSxHQUF5QixFQUFFLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVU7aUJBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDNUIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFtQztRQUN4RCxJQUFJLE1BQU0sR0FBeUIsRUFBRSxDQUFDO1FBQ3RDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVO2lCQUM3QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzVCLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDNUIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBbUM7UUFDdkQsTUFBTSxNQUFNLEdBQTZCLEVBQUUsQ0FBQztRQUM1QyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVTtpQkFDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2xELE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNNLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBbUM7UUFDM0QsTUFBTSxNQUFNLEdBQWlDLEVBQUUsQ0FBQztRQUNoRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVTtpQkFDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3RELE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBbUM7UUFDeEQsSUFBSSxNQUFNLEdBQThCLEVBQUUsQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVTtnQkFDOUIsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzdCLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFtQztRQUMzRCxJQUFJLE1BQU0sR0FBK0IsRUFBRSxDQUFDO1FBQzVDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVO2lCQUM3QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQy9CLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQW1DO1FBQ2hFLE1BQU0sTUFBTSxHQUF1QixFQUFFLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVU7aUJBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNwQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQzVELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUMzQixJQUFtQztRQUVuQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQztJQUNsRSxDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVUsQ0FDdEIsS0FBd0IsRUFDeEIsVUFBdUIsRUFDdkIsUUFBb0I7UUFFcEIsSUFBSSxLQUFLLElBQUksVUFBVSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLElBQUksT0FBTyxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7WUFDdkMsdUJBQXVCO1lBQ3ZCLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNoQixNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO29CQUNuRCxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN4RSxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxjQUFjO1lBQ2QsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3ZCLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7WUFDRCxpQkFBaUI7WUFDakIsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQzFCLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzNFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBbUMsRUFBRSxJQUFhO1FBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBSZW5kZXJlclN0eWxlRmxhZ3MyLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTbWFydGZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1mb3JtL3Byb2plY3RzJztcbmltcG9ydCB7IFNtYXJ0R3JpZENvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWdyaWQvcHJvamVjdHMnO1xuaW1wb3J0IHsgU21hcnRNYXBDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1tYXAvc21hcnQtbWFwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbWFydHRyZWVHZW5lcmljU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXRyZWUvcHJvamVjdHMnO1xuaW1wb3J0IHsgU3R5bGUsIFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9wcm9qZWN0cyc7XG5pbXBvcnQgeyBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU21hcnREaWFncmFtQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZGlhZ3JhbS9wcm9qZWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW1iZWRkZWRTbG90SW5mbyB7XG4gIGNvbnRhaW5lcklkOiBzdHJpbmc7XG4gIHZjUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xufVxuXG5leHBvcnQgY2xhc3MgU21hcnRDb21wb25lbnRMYXlvdXRVdGlsaXR5IHtcbiAgcHVibGljIHN0YXRpYyBnZXRGb3Jtcyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IFNtYXJ0Zm9ybUNvbXBvbmVudFtdIHtcbiAgICBsZXQgcmVzdWx0OiBTbWFydGZvcm1Db21wb25lbnRbXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0Rm9ybXMoYykpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XG4gICAgfVxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XG4gICAgaWYgKGV4cGFuZGFibGUpIHtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0Rm9ybXMoZXhwYW5kYWJsZSkpO1xuICAgIH1cbiAgICBpZiAoY29tcC5zbWFydEZvcm1Db21wb25lbnQpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGNvbXAuc21hcnRGb3JtQ29tcG9uZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0R3JpZHMoY29tcDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpOiBTbWFydEdyaWRDb21wb25lbnRbXSB7XG4gICAgbGV0IHJlc3VsdDogU21hcnRHcmlkQ29tcG9uZW50W10gPSBbXTtcbiAgICBpZiAoY29tcC5jb21wb25lbnRzKSB7XG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGNvbXAuY29tcG9uZW50c1xuICAgICAgICAubWFwKChjKSA9PiB0aGlzLmdldEdyaWRzKGMpKVxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xuICAgICAgcmVzdWx0LnB1c2goLi4uY2hpbGRyZW4pO1xuICAgIH1cbiAgICBjb25zdCBleHBhbmRhYmxlID0gdGhpcy5nZXRFeHBhbmRhYmxlQ29tcG9uZW50KGNvbXApO1xuICAgIGlmIChleHBhbmRhYmxlKSB7XG4gICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldEdyaWRzKGV4cGFuZGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGNvbXAuc21hcnRHcmlkQ29tcG9uZW50KSB7XG4gICAgICByZXN1bHQucHVzaChjb21wLnNtYXJ0R3JpZENvbXBvbmVudCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldE1hcHMoY29tcDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpOiBBcnJheTxTbWFydE1hcENvbXBvbmVudD4ge1xuICAgIGNvbnN0IHJlc3VsdDogQXJyYXk8U21hcnRNYXBDb21wb25lbnQ+ID0gW107XG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcbiAgICAgICAgLm1hcCgoYykgPT4gU21hcnRDb21wb25lbnRMYXlvdXRVdGlsaXR5LmdldE1hcHMoYykpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XG4gICAgfVxuXG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRNYXBzKGV4cGFuZGFibGUpKTtcbiAgICB9XG5cbiAgICBpZiAoY29tcC5zbWFydE1hcENvbXBvbmVudCkge1xuICAgICAgcmVzdWx0LnB1c2goY29tcC5zbWFydE1hcENvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGdldERpYWdyYW1zKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogQXJyYXk8U21hcnREaWFncmFtQ29tcG9uZW50PiB7XG4gICAgY29uc3QgcmVzdWx0OiBBcnJheTxTbWFydERpYWdyYW1Db21wb25lbnQ+ID0gW107XG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcbiAgICAgICAgLm1hcCgoYykgPT4gU21hcnRDb21wb25lbnRMYXlvdXRVdGlsaXR5LmdldERpYWdyYW1zKGMpKVxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xuICAgICAgcmVzdWx0LnB1c2goLi4uY2hpbGRyZW4pO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XG4gICAgaWYgKGV4cGFuZGFibGUpIHtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0RGlhZ3JhbXMoZXhwYW5kYWJsZSkpO1xuICAgIH1cblxuICAgIGlmIChjb21wLnNtYXJ0RGlhZ3JhbUNvbXBvbmVudCkge1xuICAgICAgcmVzdWx0LnB1c2goY29tcC5zbWFydERpYWdyYW1Db21wb25lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldFRyZWVzKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogU21hcnR0cmVlR2VuZXJpY1NlcnZpY2VbXSB7XG4gICAgbGV0IHJlc3VsdDogU21hcnR0cmVlR2VuZXJpY1NlcnZpY2VbXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgID8ubWFwKChjKSA9PiB0aGlzLmdldFRyZWVzKGMpKVxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xuICAgICAgcmVzdWx0LnB1c2goLi4uY2hpbGRyZW4pO1xuICAgIH1cbiAgICBjb25zdCBleHBhbmRhYmxlID0gdGhpcy5nZXRFeHBhbmRhYmxlQ29tcG9uZW50KGNvbXApO1xuICAgIGlmIChleHBhbmRhYmxlKSB7XG4gICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldFRyZWVzKGV4cGFuZGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGNvbXAudHJlZVNlcnZpY2UpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGNvbXAudHJlZVNlcnZpY2UpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRUb29sYmFycyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudFtdIHtcbiAgICBsZXQgcmVzdWx0OiBVaUFjdGlvblRvb2xiYXJDb21wb25lbnRbXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0VG9vbGJhcnMoYykpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XG4gICAgfVxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XG4gICAgaWYgKGV4cGFuZGFibGUpIHtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0VG9vbGJhcnMoZXhwYW5kYWJsZSkpO1xuICAgIH1cbiAgICBpZiAoY29tcC50b29sYmFyKSB7XG4gICAgICByZXN1bHQucHVzaChjb21wLnRvb2xiYXIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRFbWJlZGRlZFNsb3RzKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogRW1iZWRkZWRTbG90SW5mb1tdIHtcbiAgICBjb25zdCByZXN1bHQ6IEVtYmVkZGVkU2xvdEluZm9bXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0RW1iZWRkZWRTbG90cyhjKSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjLmNvbmNhdCh2YWx1ZSksIFtdKTtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcbiAgICB9XG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRFbWJlZGRlZFNsb3RzKGV4cGFuZGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGNvbXAuX2VtYmVkZGVkU2xvdFZjUmVmICYmIGNvbXAuZW1iZWRkZWRTbG90Q29udGFpbmVySWQpIHtcbiAgICAgIHJlc3VsdC5wdXNoKHsgY29udGFpbmVySWQ6IGNvbXAuZW1iZWRkZWRTbG90Q29udGFpbmVySWQsIHZjUmVmOiBjb21wLl9lbWJlZGRlZFNsb3RWY1JlZiB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRFeHBhbmRhYmxlQ29tcG9uZW50KFxuICAgIGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50XG4gICk6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50IHtcbiAgICByZXR1cm4gY29tcC5leHBhbmRhYmxlQ29tcG9uZW50cz8uZmlyc3Q/LmNvbXBvbmVudFJlZj8uaW5zdGFuY2U7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFwcGx5U3R5bGUoXG4gICAgc3R5bGU6IFN0eWxlIHwgdW5kZWZpbmVkLFxuICAgIGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmLFxuICAgIHJlbmRlcmVyPzogUmVuZGVyZXIyXG4gICkge1xuICAgIGlmIChzdHlsZSAmJiBlbGVtZW50UmVmICYmIHJlbmRlcmVyKSB7XG4gICAgICBsZXQgZWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgIC8vIGNzcyBzdHlsZSBwcm9wZXJ0aWVzXG4gICAgICBpZiAoc3R5bGUuc3R5bGUpIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoc3R5bGUuc3R5bGUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsIGtleSwgdmFsdWUsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICAvLyBhZGQgY2xhc3Nlc1xuICAgICAgaWYgKHN0eWxlLmNsYXNzZXNUb0FkZCkge1xuICAgICAgICBzdHlsZS5jbGFzc2VzVG9BZGQuZm9yRWFjaCgoY2wpID0+IHJlbmRlcmVyLmFkZENsYXNzKGVsZW1lbnQsIGNsKSk7XG4gICAgICB9XG4gICAgICAvLyByZW1vdmUgY2xhc3Nlc1xuICAgICAgaWYgKHN0eWxlLmNsYXNzZXNUb1JlbW92ZSkge1xuICAgICAgICBzdHlsZS5jbGFzc2VzVG9SZW1vdmUuZm9yRWFjaCgoY2wpID0+IHJlbmRlcmVyLnJlbW92ZUNsYXNzKGVsZW1lbnQsIGNsKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzZXRVdWlkKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50LCB1dWlkPzogc3RyaW5nKSB7XG4gICAgY29tcC51cGRhdGVVdWlkKHV1aWQpO1xuICAgIGNvbXAuY29tcG9uZW50cz8uZm9yRWFjaCgoY2hpbGQpID0+IHRoaXMuc2V0VXVpZChjaGlsZCwgdXVpZCkpO1xuICB9XG59XG4iXX0=
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC11dGlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LXV0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixtQkFBbUIsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFjN0YsTUFBTSxPQUFPLDJCQUEyQjtJQUMvQixNQUFNLENBQUMsUUFBUSxDQUFDLElBQW1DO1FBQ3hELElBQUksTUFBTSxHQUF5QixFQUFFLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVU7aUJBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDNUIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FB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QUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO29CQUNuRCxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN4RSxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxjQUFjO1lBQ2QsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3ZCLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7WUFDRCxpQkFBaUI7WUFDakIsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQzFCLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzNFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBbUMsRUFBRSxJQUFhO1FBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBSZW5kZXJlclN0eWxlRmxhZ3MyLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNtYXJ0Zm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydEdyaWRDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1ncmlkL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRNYXBDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1tYXAvc21hcnQtbWFwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtdHJlZS9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFN0eWxlLCBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydERpYWdyYW1Db21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1kaWFncmFtL3Byb2plY3RzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRW1iZWRkZWRTbG90SW5mbyB7XHJcbiAgY29udGFpbmVySWQ6IHN0cmluZztcclxuICB2Y1JlZjogVmlld0NvbnRhaW5lclJlZjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNtYXJ0Q29tcG9uZW50TGF5b3V0VXRpbGl0eSB7XHJcbiAgcHVibGljIHN0YXRpYyBnZXRGb3Jtcyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IFNtYXJ0Zm9ybUNvbXBvbmVudFtdIHtcclxuICAgIGxldCByZXN1bHQ6IFNtYXJ0Zm9ybUNvbXBvbmVudFtdID0gW107XHJcbiAgICBpZiAoY29tcC5jb21wb25lbnRzKSB7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXHJcbiAgICAgICAgLm1hcCgoYykgPT4gdGhpcy5nZXRGb3JtcyhjKSlcclxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xyXG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICBjb25zdCBleHBhbmRhYmxlID0gdGhpcy5nZXRFeHBhbmRhYmxlQ29tcG9uZW50KGNvbXApO1xyXG4gICAgaWYgKGV4cGFuZGFibGUpIHtcclxuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRGb3JtcyhleHBhbmRhYmxlKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoY29tcC5zbWFydEZvcm1Db21wb25lbnQpIHtcclxuICAgICAgcmVzdWx0LnB1c2goY29tcC5zbWFydEZvcm1Db21wb25lbnQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0R3JpZHMoY29tcDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpOiBTbWFydEdyaWRDb21wb25lbnRbXSB7XHJcbiAgICBsZXQgcmVzdWx0OiBTbWFydEdyaWRDb21wb25lbnRbXSA9IFtdO1xyXG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xyXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGNvbXAuY29tcG9uZW50c1xyXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0R3JpZHMoYykpXHJcbiAgICAgICAgLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjLmNvbmNhdCh2YWx1ZSksIFtdKTtcclxuICAgICAgcmVzdWx0LnB1c2goLi4uY2hpbGRyZW4pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcclxuICAgIGlmIChleHBhbmRhYmxlKSB7XHJcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0R3JpZHMoZXhwYW5kYWJsZSkpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNvbXAuc21hcnRHcmlkQ29tcG9uZW50KSB7XHJcbiAgICAgIHJlc3VsdC5wdXNoKGNvbXAuc21hcnRHcmlkQ29tcG9uZW50KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldE1hcHMoY29tcDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpOiBBcnJheTxTbWFydE1hcENvbXBvbmVudD4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBBcnJheTxTbWFydE1hcENvbXBvbmVudD4gPSBbXTtcclxuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcclxuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcclxuICAgICAgICAubWFwKChjKSA9PiBTbWFydENvbXBvbmVudExheW91dFV0aWxpdHkuZ2V0TWFwcyhjKSlcclxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xyXG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcclxuICAgIGlmIChleHBhbmRhYmxlKSB7XHJcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0TWFwcyhleHBhbmRhYmxlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbXAuc21hcnRNYXBDb21wb25lbnQpIHtcclxuICAgICAgcmVzdWx0LnB1c2goY29tcC5zbWFydE1hcENvbXBvbmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbiAgcHVibGljIHN0YXRpYyBnZXREaWFncmFtcyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IEFycmF5PFNtYXJ0RGlhZ3JhbUNvbXBvbmVudD4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBBcnJheTxTbWFydERpYWdyYW1Db21wb25lbnQ+ID0gW107XHJcbiAgICBpZiAoY29tcC5jb21wb25lbnRzKSB7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXHJcbiAgICAgICAgLm1hcCgoYykgPT4gU21hcnRDb21wb25lbnRMYXlvdXRVdGlsaXR5LmdldERpYWdyYW1zKGMpKVxyXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XHJcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBleHBhbmRhYmxlID0gdGhpcy5nZXRFeHBhbmRhYmxlQ29tcG9uZW50KGNvbXApO1xyXG4gICAgaWYgKGV4cGFuZGFibGUpIHtcclxuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXREaWFncmFtcyhleHBhbmRhYmxlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbXAuc21hcnREaWFncmFtQ29tcG9uZW50KSB7XHJcbiAgICAgIHJlc3VsdC5wdXNoKGNvbXAuc21hcnREaWFncmFtQ29tcG9uZW50KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRUcmVlcyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlW10ge1xyXG4gICAgbGV0IHJlc3VsdDogU21hcnR0cmVlR2VuZXJpY1NlcnZpY2VbXSA9IFtdO1xyXG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xyXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGNvbXAuY29tcG9uZW50c1xyXG4gICAgICAgID8ubWFwKChjKSA9PiB0aGlzLmdldFRyZWVzKGMpKVxyXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XHJcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XHJcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xyXG4gICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldFRyZWVzKGV4cGFuZGFibGUpKTtcclxuICAgIH1cclxuICAgIGlmIChjb21wLnRyZWVTZXJ2aWNlKSB7XHJcbiAgICAgIHJlc3VsdC5wdXNoKGNvbXAudHJlZVNlcnZpY2UpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0VG9vbGJhcnMoY29tcDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpOiBVaUFjdGlvblRvb2xiYXJDb21wb25lbnRbXSB7XHJcbiAgICBsZXQgcmVzdWx0OiBVaUFjdGlvblRvb2xiYXJDb21wb25lbnRbXSA9IFtdO1xyXG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xyXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGNvbXAuY29tcG9uZW50c1xyXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0VG9vbGJhcnMoYykpXHJcbiAgICAgICAgLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjLmNvbmNhdCh2YWx1ZSksIFtdKTtcclxuICAgICAgcmVzdWx0LnB1c2goLi4uY2hpbGRyZW4pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcclxuICAgIGlmIChleHBhbmRhYmxlKSB7XHJcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0VG9vbGJhcnMoZXhwYW5kYWJsZSkpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNvbXAudG9vbGJhcikge1xyXG4gICAgICByZXN1bHQucHVzaChjb21wLnRvb2xiYXIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0RW1iZWRkZWRTbG90cyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IEVtYmVkZGVkU2xvdEluZm9bXSB7XHJcbiAgICBjb25zdCByZXN1bHQ6IEVtYmVkZGVkU2xvdEluZm9bXSA9IFtdO1xyXG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xyXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGNvbXAuY29tcG9uZW50c1xyXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0RW1iZWRkZWRTbG90cyhjKSlcclxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xyXG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICBjb25zdCBleHBhbmRhYmxlID0gdGhpcy5nZXRFeHBhbmRhYmxlQ29tcG9uZW50KGNvbXApO1xyXG4gICAgaWYgKGV4cGFuZGFibGUpIHtcclxuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRFbWJlZGRlZFNsb3RzKGV4cGFuZGFibGUpKTtcclxuICAgIH1cclxuICAgIGlmIChjb21wLl9lbWJlZGRlZFNsb3RWY1JlZiAmJiBjb21wLmVtYmVkZGVkU2xvdENvbnRhaW5lcklkKSB7XHJcbiAgICAgIHJlc3VsdC5wdXNoKHsgY29udGFpbmVySWQ6IGNvbXAuZW1iZWRkZWRTbG90Q29udGFpbmVySWQsIHZjUmVmOiBjb21wLl9lbWJlZGRlZFNsb3RWY1JlZiB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChcclxuICAgIGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50XHJcbiAgKTogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQge1xyXG4gICAgcmV0dXJuIGNvbXAuZXhwYW5kYWJsZUNvbXBvbmVudHM/LmZpcnN0Py5jb21wb25lbnRSZWY/Lmluc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBhcHBseVN0eWxlKFxyXG4gICAgc3R5bGU6IFN0eWxlIHwgdW5kZWZpbmVkLFxyXG4gICAgZWxlbWVudFJlZj86IEVsZW1lbnRSZWYsXHJcbiAgICByZW5kZXJlcj86IFJlbmRlcmVyMlxyXG4gICkge1xyXG4gICAgaWYgKHN0eWxlICYmIGVsZW1lbnRSZWYgJiYgcmVuZGVyZXIpIHtcclxuICAgICAgbGV0IGVsZW1lbnQgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIC8vIGNzcyBzdHlsZSBwcm9wZXJ0aWVzXHJcbiAgICAgIGlmIChzdHlsZS5zdHlsZSkge1xyXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHN0eWxlLnN0eWxlKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsIGtleSwgdmFsdWUsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICAvLyBhZGQgY2xhc3Nlc1xyXG4gICAgICBpZiAoc3R5bGUuY2xhc3Nlc1RvQWRkKSB7XHJcbiAgICAgICAgc3R5bGUuY2xhc3Nlc1RvQWRkLmZvckVhY2goKGNsKSA9PiByZW5kZXJlci5hZGRDbGFzcyhlbGVtZW50LCBjbCkpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHJlbW92ZSBjbGFzc2VzXHJcbiAgICAgIGlmIChzdHlsZS5jbGFzc2VzVG9SZW1vdmUpIHtcclxuICAgICAgICBzdHlsZS5jbGFzc2VzVG9SZW1vdmUuZm9yRWFjaCgoY2wpID0+IHJlbmRlcmVyLnJlbW92ZUNsYXNzKGVsZW1lbnQsIGNsKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgc2V0VXVpZChjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCwgdXVpZD86IHN0cmluZykge1xyXG4gICAgY29tcC51cGRhdGVVdWlkKHV1aWQpO1xyXG4gICAgY29tcC5jb21wb25lbnRzPy5mb3JFYWNoKChjaGlsZCkgPT4gdGhpcy5zZXRVdWlkKGNoaWxkLCB1dWlkKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -340,11 +340,11 @@ export class SmartComponentLayoutComponent {
340
340
  }
341
341
  }
342
342
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartComponentLayoutComponent, deps: [{ token: i1.SmartformLayoutDefinitionService }, { token: i2.SmartViewContextService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
343
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: { smartComponentLayout: "smartComponentLayout", parentLayoutComponent: "parentLayoutComponent", parentSmartComponent: "parentSmartComponent", gridRow: "gridRow" }, viewQueries: [{ propertyName: "embeddedSlotVcRefSetter", first: true, predicate: ["embeddedSlot"], descendants: true, read: ViewContainerRef }, { propertyName: "smartFormList", predicate: ["form"], descendants: true }, { propertyName: "smartGridList", predicate: ["grid"], descendants: true }, { propertyName: "smartMapList", predicate: ["map"], descendants: true }, { propertyName: "smartDiagramList", predicate: ["diagram"], descendants: true }, { propertyName: "smartFilterList", predicate: ["filter"], descendants: true }, { propertyName: "toolbarList", predicate: ["toolbar"], descendants: true }, { propertyName: "expandableComponents", predicate: ExpandableSectionComponent, descendants: true }, { propertyName: "components", predicate: SmartComponentLayoutComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\n\n<ng-template #expandable>\n <smart-expandable-section\n *ngIf=\"expandableSection\"\n [data]=\"expandableSection\"\n ></smart-expandable-section>\n</ng-template>\n\n<ng-template #normal>\n <div\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\n >\n <smart-component-layout\n *ngFor=\"let layout of smartComponentLayout?.components\"\n [parentSmartComponent]=\"parentSmartComponent\"\n [parentLayoutComponent]=\"this\"\n [smartComponentLayout]=\"layout\"\n [gridRow]=\"gridRow\"\n ></smart-component-layout>\n </div>\n <smartform *ngIf=\"smartForm\" #form [smartForm]=\"smartForm\"></smartform>\n <smart-grid *ngIf=\"smartGrid\" #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\n <smart-map\n *ngIf=\"!!uuid && !!mapId\"\n #map\n [uuid]=\"uuid\"\n [identifier]=\"mapId\"\n [parent]=\"parentSmartComponent\"\n ></smart-map>\n <smart-diagram\n *ngIf=\"!!uuid && !!smartDiagramId\"\n #diagram\n [uuid]=\"uuid\"\n [identifier]=\"smartDiagramId\"\n [parent]=\"parentSmartComponent\"\n ></smart-diagram>\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\n <smart-ui-action-toolbar\n *ngIf=\"!!toolbarId\"\n #toolbar\n [id]=\"toolbarId\"\n [toolbarPropertes]=\"toolbarPropertes\"\n ></smart-ui-action-toolbar>\n <ng-container *ngIf=\"embeddedSlotActive\" #embeddedSlot></ng-container>\n</ng-template>\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SmartGridComponent, selector: "smart-grid", inputs: ["smartGrid", "uuid", "dev"] }, { kind: "component", type: i5.ExpandableSectionComponent, selector: "smart-expandable-section", inputs: ["data", "index"] }, { kind: "component", type: i6.SmartTreeComponent, selector: "smart-tree", inputs: ["treeStyle", "treeService"] }, { kind: "component", type: i7.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: i8.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { kind: "component", type: i9.SmartMapComponent, selector: "smart-map", inputs: ["uuid", "identifier", "parent"] }, { kind: "component", type: i10.SmartDiagramComponent, selector: "smart-diagram", inputs: ["uuid", "identifier", "parent", "diagramModel", "options", "plugins"], outputs: ["elementSelect", "canvasClick", "dataClick"] }, { kind: "component", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: ["smartComponentLayout", "parentLayoutComponent", "parentSmartComponent", "gridRow"] }] }); }
343
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: { smartComponentLayout: "smartComponentLayout", parentLayoutComponent: "parentLayoutComponent", parentSmartComponent: "parentSmartComponent", gridRow: "gridRow" }, viewQueries: [{ propertyName: "embeddedSlotVcRefSetter", first: true, predicate: ["embeddedSlot"], descendants: true, read: ViewContainerRef }, { propertyName: "smartFormList", predicate: ["form"], descendants: true }, { propertyName: "smartGridList", predicate: ["grid"], descendants: true }, { propertyName: "smartMapList", predicate: ["map"], descendants: true }, { propertyName: "smartDiagramList", predicate: ["diagram"], descendants: true }, { propertyName: "smartFilterList", predicate: ["filter"], descendants: true }, { propertyName: "toolbarList", predicate: ["toolbar"], descendants: true }, { propertyName: "expandableComponents", predicate: ExpandableSectionComponent, descendants: true }, { propertyName: "components", predicate: SmartComponentLayoutComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\r\n\r\n<ng-template #expandable>\r\n <smart-expandable-section\r\n *ngIf=\"expandableSection\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n</ng-template>\r\n\r\n<ng-template #normal>\r\n <div\r\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\r\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\r\n >\r\n <smart-component-layout\r\n *ngFor=\"let layout of smartComponentLayout?.components\"\r\n [parentSmartComponent]=\"parentSmartComponent\"\r\n [parentLayoutComponent]=\"this\"\r\n [smartComponentLayout]=\"layout\"\r\n [gridRow]=\"gridRow\"\r\n ></smart-component-layout>\r\n </div>\r\n <smartform *ngIf=\"smartForm\" #form [smartForm]=\"smartForm\"></smartform>\r\n <smart-grid *ngIf=\"smartGrid\" #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\r\n <smart-map\r\n *ngIf=\"!!uuid && !!mapId\"\r\n #map\r\n [uuid]=\"uuid\"\r\n [identifier]=\"mapId\"\r\n [parent]=\"parentSmartComponent\"\r\n ></smart-map>\r\n <smart-diagram\r\n *ngIf=\"!!uuid && !!smartDiagramId\"\r\n #diagram\r\n [uuid]=\"uuid\"\r\n [identifier]=\"smartDiagramId\"\r\n [parent]=\"parentSmartComponent\"\r\n ></smart-diagram>\r\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\r\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\r\n <smart-ui-action-toolbar\r\n *ngIf=\"!!toolbarId\"\r\n #toolbar\r\n [id]=\"toolbarId\"\r\n [toolbarPropertes]=\"toolbarPropertes\"\r\n ></smart-ui-action-toolbar>\r\n <ng-container *ngIf=\"embeddedSlotActive\" #embeddedSlot></ng-container>\r\n</ng-template>\r\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SmartGridComponent, selector: "smart-grid", inputs: ["smartGrid", "uuid", "dev"] }, { kind: "component", type: i5.ExpandableSectionComponent, selector: "smart-expandable-section", inputs: ["data", "index"] }, { kind: "component", type: i6.SmartTreeComponent, selector: "smart-tree", inputs: ["treeStyle", "treeService"] }, { kind: "component", type: i7.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: i8.SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { kind: "component", type: i9.SmartMapComponent, selector: "smart-map", inputs: ["uuid", "identifier", "parent"] }, { kind: "component", type: i10.SmartDiagramComponent, selector: "smart-diagram", inputs: ["uuid", "identifier", "parent", "diagramModel", "options", "plugins"], outputs: ["elementSelect", "canvasClick", "dataClick"] }, { kind: "component", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: ["smartComponentLayout", "parentLayoutComponent", "parentSmartComponent", "gridRow"] }] }); }
344
344
  }
345
345
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartComponentLayoutComponent, decorators: [{
346
346
  type: Component,
347
- args: [{ selector: 'smart-component-layout', template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\n\n<ng-template #expandable>\n <smart-expandable-section\n *ngIf=\"expandableSection\"\n [data]=\"expandableSection\"\n ></smart-expandable-section>\n</ng-template>\n\n<ng-template #normal>\n <div\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\n >\n <smart-component-layout\n *ngFor=\"let layout of smartComponentLayout?.components\"\n [parentSmartComponent]=\"parentSmartComponent\"\n [parentLayoutComponent]=\"this\"\n [smartComponentLayout]=\"layout\"\n [gridRow]=\"gridRow\"\n ></smart-component-layout>\n </div>\n <smartform *ngIf=\"smartForm\" #form [smartForm]=\"smartForm\"></smartform>\n <smart-grid *ngIf=\"smartGrid\" #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\n <smart-map\n *ngIf=\"!!uuid && !!mapId\"\n #map\n [uuid]=\"uuid\"\n [identifier]=\"mapId\"\n [parent]=\"parentSmartComponent\"\n ></smart-map>\n <smart-diagram\n *ngIf=\"!!uuid && !!smartDiagramId\"\n #diagram\n [uuid]=\"uuid\"\n [identifier]=\"smartDiagramId\"\n [parent]=\"parentSmartComponent\"\n ></smart-diagram>\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\n <smart-ui-action-toolbar\n *ngIf=\"!!toolbarId\"\n #toolbar\n [id]=\"toolbarId\"\n [toolbarPropertes]=\"toolbarPropertes\"\n ></smart-ui-action-toolbar>\n <ng-container *ngIf=\"embeddedSlotActive\" #embeddedSlot></ng-container>\n</ng-template>\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"] }]
347
+ args: [{ selector: 'smart-component-layout', template: "<div *ngIf=\"smartComponentLayout?.expandable; then expandable; else normal\"> </div>\r\n\r\n<ng-template #expandable>\r\n <smart-expandable-section\r\n *ngIf=\"expandableSection\"\r\n [data]=\"expandableSection\"\r\n ></smart-expandable-section>\r\n</ng-template>\r\n\r\n<ng-template #normal>\r\n <div\r\n *ngIf=\"smartComponentLayout?.type === type().CONTAINER\"\r\n [ngClass]=\"smartComponentLayout?.direction ?? 'vertical'\"\r\n >\r\n <smart-component-layout\r\n *ngFor=\"let layout of smartComponentLayout?.components\"\r\n [parentSmartComponent]=\"parentSmartComponent\"\r\n [parentLayoutComponent]=\"this\"\r\n [smartComponentLayout]=\"layout\"\r\n [gridRow]=\"gridRow\"\r\n ></smart-component-layout>\r\n </div>\r\n <smartform *ngIf=\"smartForm\" #form [smartForm]=\"smartForm\"></smartform>\r\n <smart-grid *ngIf=\"smartGrid\" #grid [smartGrid]=\"smartGrid\" [uuid]=\"uuid!\"></smart-grid>\r\n <smart-map\r\n *ngIf=\"!!uuid && !!mapId\"\r\n #map\r\n [uuid]=\"uuid\"\r\n [identifier]=\"mapId\"\r\n [parent]=\"parentSmartComponent\"\r\n ></smart-map>\r\n <smart-diagram\r\n *ngIf=\"!!uuid && !!smartDiagramId\"\r\n #diagram\r\n [uuid]=\"uuid\"\r\n [identifier]=\"smartDiagramId\"\r\n [parent]=\"parentSmartComponent\"\r\n ></smart-diagram>\r\n <!-- <smart-filter #filter [filter]=\"smartFilter\"></smart-filter> -->\r\n <smart-tree *ngIf=\"treeService\" [treeService]=\"treeService!\"></smart-tree>\r\n <smart-ui-action-toolbar\r\n *ngIf=\"!!toolbarId\"\r\n #toolbar\r\n [id]=\"toolbarId\"\r\n [toolbarPropertes]=\"toolbarPropertes\"\r\n ></smart-ui-action-toolbar>\r\n <ng-container *ngIf=\"embeddedSlotActive\" #embeddedSlot></ng-container>\r\n</ng-template>\r\n", styles: [".horizontal{display:flex;flex-direction:row}.vertical{display:flex;flex-direction:column}\n"] }]
348
348
  }], ctorParameters: () => [{ type: i1.SmartformLayoutDefinitionService }, { type: i2.SmartViewContextService }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { smartComponentLayout: [{
349
349
  type: Input
350
350
  }], parentLayoutComponent: [{
@@ -381,4 +381,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
381
381
  type: ViewChildren,
382
382
  args: [SmartComponentLayoutComponent]
383
383
  }] } });
384
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jb21wb25lbnQtbGF5b3V0L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQU9MLFNBQVMsRUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGVBQWUsR0FHaEIsTUFBTSxPQUFPLENBQUM7QUFDZixPQUFPLEVBRUwsd0JBQXdCLEdBR3pCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUNMLGdCQUFnQixFQUdoQixjQUFjLEdBQ2YsTUFBTSx3QkFBd0IsQ0FBQztBQUdoQyxPQUFPLEVBRUwsMEJBQTBCLEdBQzNCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7Ozs7O0FBVWhGLE1BQU0sT0FBTyw2QkFBNkI7SUFtRHhDLElBQ0ksdUJBQXVCLENBQUMsS0FBbUM7UUFDN0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxD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ZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50VHlwZSxcbiAgQ29tcG9uZW50V2lkZ2V0VHlwZSxcbiAgTGF5b3V0RGlyZWN0aW9uLFxuICBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24sXG4gIFRvb2xiYXJQcm9wZXJ0aWVzLFxufSBmcm9tICcuL2FwaSc7XG5pbXBvcnQge1xuICBTbWFydEZvcm0sXG4gIFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbixcbiAgU21hcnRmb3JtQ29tcG9uZW50LFxuICBTbWFydGZvcm1MYXlvdXREZWZpbml0aW9uU2VydmljZSxcbn0gZnJvbSAnLi4vc21hcnQtZm9ybS9wcm9qZWN0cyc7XG5pbXBvcnQge1xuICBHcmlkVWlBY3Rpb25UeXBlLFxuICBTbWFydEdyaWQsXG4gIFNtYXJ0R3JpZENvbXBvbmVudCxcbiAgU21hcnRMYXlvdXREZWYsXG59IGZyb20gJy4uL3NtYXJ0LWdyaWQvcHJvamVjdHMnO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXIsIFNtYXJ0RmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZmlsdGVyL3Byb2plY3RzJztcbmltcG9ydCB7IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtdHJlZS9wcm9qZWN0cyc7XG5pbXBvcnQge1xuICBFeHBhbmRhYmxlU2VjdGlvbixcbiAgRXhwYW5kYWJsZVNlY3Rpb25Db21wb25lbnQsXG59IGZyb20gJy4uL3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbi9wcm9qZWN0cyc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9wcm9qZWN0cyc7XG5pbXBvcnQgeyBkZWVwRXF1YWwgfSBmcm9tICdmYXN0LWVxdWFscyc7XG5pbXBvcnQgeyBTbWFydFN0eWxlVXRpbGl0eSB9IGZyb20gJy4uL3ZpZXctY29udGV4dC91dGlsaXR5L3NtYXJ0LXN0eWxlLXV0aWxpdHknO1xuaW1wb3J0IHsgU21hcnRWaWV3Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU21hcnRNYXBDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1tYXAvc21hcnQtbWFwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbWFydERpYWdyYW1Db21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1kaWFncmFtL3Byb2plY3RzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtY29tcG9uZW50LWxheW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBASW5wdXQoKSBzbWFydENvbXBvbmVudExheW91dD86IFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbjtcbiAgQElucHV0KCkgcGFyZW50TGF5b3V0Q29tcG9uZW50PzogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQ7XG4gIEBJbnB1dCgpIHBhcmVudFNtYXJ0Q29tcG9uZW50OiBhbnk7XG4gIEBJbnB1dCgpIGdyaWRSb3c6IGFueTtcblxuICBjdXJyZW50TGF5b3V0PzogU21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uO1xuXG4gIHV1aWQ/OiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZHJlbignZm9ybScpXG4gIHNtYXJ0Rm9ybUxpc3QhOiBRdWVyeUxpc3Q8U21hcnRmb3JtQ29tcG9uZW50PjtcbiAgc21hcnRGb3JtQ29tcG9uZW50PzogU21hcnRmb3JtQ29tcG9uZW50O1xuICBzbWFydEZvcm0/OiBTbWFydEZvcm07XG5cbiAgQFZpZXdDaGlsZHJlbignZ3JpZCcpXG4gIHNtYXJ0R3JpZExpc3QhOiBRdWVyeUxpc3Q8U21hcnRHcmlkQ29tcG9uZW50PjtcbiAgc21hcnRHcmlkQ29tcG9uZW50PzogU21hcnRHcmlkQ29tcG9uZW50O1xuICBzbWFydEdyaWQ/OiBTbWFydEdyaWQ7XG5cbiAgQFZpZXdDaGlsZHJlbignbWFwJylcbiAgc21hcnRNYXBMaXN0ITogUXVlcnlMaXN0PFNtYXJ0TWFwQ29tcG9uZW50PjtcbiAgc21hcnRNYXBDb21wb25lbnQ/OiBTbWFydE1hcENvbXBvbmVudDtcbiAgbWFwSWQ/OiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZHJlbignZGlhZ3JhbScpXG4gIHNtYXJ0RGlhZ3JhbUxpc3QhOiBRdWVyeUxpc3Q8U21hcnREaWFncmFtQ29tcG9uZW50PjtcbiAgc21hcnREaWFncmFtQ29tcG9uZW50PzogU21hcnREaWFncmFtQ29tcG9uZW50O1xuICBzbWFydERpYWdyYW1JZD86IHN0cmluZztcblxuICBAVmlld0NoaWxkcmVuKCdmaWx0ZXInKVxuICBzbWFydEZpbHRlckxpc3QhOiBRdWVyeUxpc3Q8U21hcnRGaWx0ZXJDb21wb25lbnQ+O1xuICBzbWFydEZpbHRlckNvbXBvbmVudD86IFNtYXJ0RmlsdGVyQ29tcG9uZW50O1xuICBzbWFydEZpbHRlcj86IFNtYXJ0RmlsdGVyO1xuXG4gIEBWaWV3Q2hpbGRyZW4oJ3Rvb2xiYXInKVxuICB0b29sYmFyTGlzdCE6IFF1ZXJ5TGlzdDxVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ+O1xuICB0b29sYmFyPzogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50O1xuICB0b29sYmFySWQ/OiBzdHJpbmc7XG4gIHRvb2xiYXJQcm9wZXJ0ZXM/OiBUb29sYmFyUHJvcGVydGllcztcblxuICB0cmVlU2VydmljZT86IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlO1xuXG4gIGV4cGFuZGFibGVTZWN0aW9uPzogRXhwYW5kYWJsZVNlY3Rpb248U21hcnRDb21wb25lbnRMYXlvdXREZWZpbml0aW9uPjtcblxuICBlbWJlZGRlZFNsb3RBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZW1iZWRkZWRTbG90Q29udGFpbmVySWQ/OiBzdHJpbmc7XG4gIF9lbWJlZGRlZFNsb3RWY1JlZj86IFZpZXdDb250YWluZXJSZWY7XG5cbiAgQFZpZXdDaGlsZCgnZW1iZWRkZWRTbG90JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gIHNldCBlbWJlZGRlZFNsb3RWY1JlZlNldHRlcih2Y1JlZjogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX2VtYmVkZGVkU2xvdFZjUmVmID0gdmNSZWY7XG4gICAgaWYgKHZjUmVmKSB7XG4gICAgICB0aGlzLnRyeVJlZ2lzdGVyRW1iZWRkZWRTbG90KCk7XG4gICAgfVxuICB9XG5cbiAgQFZpZXdDaGlsZHJlbihFeHBhbmRhYmxlU2VjdGlvbkNvbXBvbmVudClcbiAgZXhwYW5kYWJsZUNvbXBvbmVudHMhOiBRdWVyeUxpc3Q8RXhwYW5kYWJsZVNlY3Rpb25Db21wb25lbnQ+O1xuXG4gIEBWaWV3Q2hpbGRyZW4oU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpXG4gIGNvbXBvbmVudHMhOiBRdWVyeUxpc3Q8U21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbGF5b3V0U2VydmljZTogU21hcnRmb3JtTGF5b3V0RGVmaW5pdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGV4dDogU21hcnRWaWV3Q29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbGVtZW50PzogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyPzogUmVuZGVyZXIyXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc21hcnRGb3JtTGlzdD8uZmlyc3QpIHtcbiAgICAgIHRoaXMuc2V0Rm9ybUNvbXBvbmVudCh0aGlzLnNtYXJ0Rm9ybUxpc3Q/LmZpcnN0KTtcbiAgICB9XG4gICAgdGhpcy5zbWFydEZvcm1MaXN0LmNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBRdWVyeUxpc3Q8U21hcnRmb3JtQ29tcG9uZW50PikgPT4ge1xuICAgICAgICB0aGlzLnNldEZvcm1Db21wb25lbnQobGlzdC5maXJzdCk7XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLnNtYXJ0R3JpZExpc3Q/LmZpcnN0KSB7XG4gICAgICB0aGlzLnNldEdyaWRDb21wb25lbnQodGhpcy5zbWFydEdyaWRMaXN0Py5maXJzdCk7XG4gICAgfVxuICAgIHRoaXMuc21hcnRHcmlkTGlzdC5jaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgobGlzdDogUXVlcnlMaXN0PFNtYXJ0R3JpZENvbXBvbmVudD4pID0+IHtcbiAgICAgICAgdGhpcy5zZXRHcmlkQ29tcG9uZW50KGxpc3QuZmlyc3QpO1xuICAgICAgfSk7XG5cbiAgICBpZiAodGhpcy5zbWFydE1hcExpc3Q/LmZpcnN0KSB7XG4gICAgICB0aGlzLnNldE1hcENvbXBvbmVudCh0aGlzLnNtYXJ0TWFwTGlzdD8uZmlyc3QpO1xuICAgIH1cbiAgICB0aGlzLnNtYXJ0TWFwTGlzdC5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKChtYXBzKSA9PiB7XG4gICAgICB0aGlzLnNldE1hcENvbXBvbmVudChtYXBzLmZpcnN0KTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnNtYXJ0RGlhZ3JhbUxpc3Q/LmZpcnN0KSB7XG4gICAgICB0aGlzLnNldERpYWdyYW1Db21wb25lbnQodGhpcy5zbWFydERpYWdyYW1MaXN0Py5maXJzdCk7XG4gICAgfVxuICAgIHRoaXMuc21hcnREaWFncmFtTGlzdC5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKChkaWFncmFtcykgPT4ge1xuICAgICAgdGhpcy5zZXREaWFncmFtQ29tcG9uZW50KGRpYWdyYW1zLmZpcnN0KTtcbiAgICB9KTtcblxuICAgIHRoaXMuc21hcnRGaWx0ZXJMaXN0LmNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBRdWVyeUxpc3Q8U21hcnRGaWx0ZXJDb21wb25lbnQ+KSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5zbWFydEZpbHRlckNvbXBvbmVudCkge1xuICAgICAgICAgIHRoaXMuc21hcnRGaWx0ZXJDb21wb25lbnQgPSBsaXN0LmZpcnN0O1xuICAgICAgICAgIHRoaXMuYmluZEZpbHRlcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLnRvb2xiYXJMaXN0Py5maXJzdCkge1xuICAgICAgdGhpcy5zZXRUb29sYmFyQ29tcG9uZW50KHRoaXMudG9vbGJhckxpc3Q/LmZpcnN0KTtcbiAgICB9XG4gICAgdGhpcy50b29sYmFyTGlzdC5jaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgobGlzdDogUXVlcnlMaXN0PFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudD4pID0+IHtcbiAgICAgICAgdGhpcy5zZXRUb29sYmFyQ29tcG9uZW50KGxpc3QuZmlyc3QpO1xuICAgICAgfSk7XG4gICAgdGhpcy5zZXRVcCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZW1iZWRkZWRTbG90Q29udGFpbmVySWQgJiYgdGhpcy51dWlkKSB7XG4gICAgICB0aGlzLnZpZXdDb250ZXh0LnVucmVnaXN0ZXJFbWJlZGRlZFNsb3QodGhpcy51dWlkLCB0aGlzLmVtYmVkZGVkU2xvdENvbnRhaW5lcklkKTtcbiAgICB9XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5zZXRVcCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRVcCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucGFyZW50U21hcnRDb21wb25lbnQgfHwgIXRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGRlZXBFcXVhbCh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LCB0aGlzLmN1cnJlbnRMYXlvdXQpKSB7XG4gICAgICAvLyBubyBsYXlvdXQgY2hhbmdlLCBrZWVwIGN1cnJlbnQgc3RhdGVcbiAgICAgIHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQgPSB0aGlzLmN1cnJlbnRMYXlvdXQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGxheW91dCBjaGFuZ2VkLCByZW5kZXIsIGJ1dCBzYXZlIGN1cnJlbnRcbiAgICAvLyB0aGlzLmN1cnJlbnRMYXlvdXQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQpKTtcbiAgICB0aGlzLmN1cnJlbnRMYXlvdXQgPSB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0O1xuXG4gICAgdGhpcy51dWlkID0gdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudC51dWlkO1xuICAgIHRoaXMudHJlZVNlcnZpY2UgPSB0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50LnNtYXJ0VHJlZVNlcnZpY2U7XG5cbiAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5kaXJlY3Rpb247XG5cbiAgICAvLyB0aGUgbmF0dXJlIG9mIHRoZSBsYXlvdXQgbWlnaHQgaGF2ZSBjaGFuZ2VkIChlLmcuIGZyb20gR1JJRCB0byBGT1JNKSwgd2UgbnVsbCBvdXQgZXZlcnlcbiAgICAvLyB0ZW1wbGF0ZS1yZWxhdGVkIGVsZW1lbnQsIHNvIG5vIHN0YWxlIGRhdGEgaXMgbGVmdCBvbiBzY3JlZW46XG4gICAgdGhpcy5leHBhbmRhYmxlU2VjdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNtYXJ0Rm9ybSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNtYXJ0Rm9ybUNvbXBvbmVudCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNtYXJ0R3JpZCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNtYXJ0R3JpZENvbXBvbmVudCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNtYXJ0RmlsdGVyID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuc21hcnRGaWx0ZXJDb21wb25lbnQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zbWFydEdyaWQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy50b29sYmFySWQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy50b29sYmFyID0gdW5kZWZpbmVkO1xuICAgIC8vIG51bGwgb3V0IHRvb2xiYXI/XG4gICAgdGhpcy5tYXBJZCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNtYXJ0RGlhZ3JhbUlkID0gdW5kZWZpbmVkO1xuICAgIGlmICh0aGlzLmVtYmVkZGVkU2xvdENvbnRhaW5lcklkICYmIHRoaXMudXVpZCkge1xuICAgICAgdGhpcy52aWV3Q29udGV4dC51bnJlZ2lzdGVyRW1iZWRkZWRTbG90KHRoaXMudXVpZCwgdGhpcy5lbWJlZGRlZFNsb3RDb250YWluZXJJZCk7XG4gICAgfVxuICAgIHRoaXMuZW1iZWRkZWRTbG90QWN0aXZlID0gZmFsc2U7XG4gICAgdGhpcy5lbWJlZGRlZFNsb3RDb250YWluZXJJZCA9IHVuZGVmaW5lZDtcblxuICAgIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5leHBhbmRhYmxlKSB7XG4gICAgICB0aGlzLmNvbnN0cnVjdEV4cGFuZGFibGVTZWN0aW9uKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py50eXBlID09PSBDb21wb25lbnRUeXBlLkZPUk0pIHtcbiAgICAgIHRoaXMuY29uc3RydWN0Rm9ybSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dD8udHlwZSA9PT0gQ29tcG9uZW50VHlwZS5XSURHRVQpIHtcbiAgICAgIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5HUklEKSB7XG4gICAgICAgIHRoaXMuY29uc3RydWN0R3JpZCgpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5GSUxURVIpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdDb21wb25lbnRXaWRnZXRUeXBlLkZJTFRFUiBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gICAgICAgIC8vIHRoaXMuY29uc3RydWN0RmlsdGVyKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQud2lkZ2V0Py50eXBlID09PSBDb21wb25lbnRXaWRnZXRUeXBlLlRSRUUpIHtcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RUcmVlKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQud2lkZ2V0Py50eXBlID09PSBDb21wb25lbnRXaWRnZXRUeXBlLlRPT0xCQVIpIHtcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RUb29sYmFyKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQud2lkZ2V0Py50eXBlID09PSBDb21wb25lbnRXaWRnZXRUeXBlLk1BUCkge1xuICAgICAgICB0aGlzLmNvbnN0cnVjdE1hcCgpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5ESUFHUkFNKSB7XG4gICAgICAgIHRoaXMuY29uc3RydWNEaWFncmFtKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQud2lkZ2V0Py50eXBlID09PSBDb21wb25lbnRXaWRnZXRUeXBlLkVNQkVEREVEX1NMT1QpIHtcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RFbWJlZGRlZFNsb3QoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLnBhcmVudExheW91dENvbXBvbmVudCkge1xuICAgICAgICAvLyBvbmx5IHRvcCBsZXZlbCBjb21wb25lbnQgc2hvdWxkIGNhbGwgaW5pdCBhY3Rpb25zXG4gICAgICAgIHRoaXMucGFyZW50U21hcnRDb21wb25lbnQuaW5pdEFjdGlvbnMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBTbWFydFN0eWxlVXRpbGl0eS5hcHBseVN0eWxlKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQuc3R5bGUsIHRoaXMuZWxlbWVudCwgdGhpcy5yZW5kZXJlcik7XG4gIH1cblxuICB0eXBlKCk6IHR5cGVvZiBDb21wb25lbnRUeXBlIHtcbiAgICByZXR1cm4gQ29tcG9uZW50VHlwZTtcbiAgfVxuXG4gIGNvbnN0cnVjdEV4cGFuZGFibGVTZWN0aW9uKCk6IHZvaWQge1xuICAgIGxldCBkYXRhOiBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb24gPSB7IC4uLnRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQhIH07XG4gICAgZGF0YS5leHBhbmRhYmxlID0gZmFsc2U7XG5cbiAgICB0aGlzLmV4cGFuZGFibGVTZWN0aW9uID0ge1xuICAgICAgdGl0bGU6IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LmV4cGFuZGFibGVTZWN0aW9uTGFiZWwgPz8gJycsXG4gICAgICBpbnB1dHM6IG5ldyBNYXA8c3RyaW5nLCBhbnk+KFtcbiAgICAgICAgWydzbWFydENvbXBvbmVudExheW91dCcsIGRhdGFdLFxuICAgICAgICBbJ3BhcmVudFNtYXJ0Q29tcG9uZW50JywgdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudF0sXG4gICAgICAgIFsncGFyZW50TGF5b3V0Q29tcG9uZW50JywgdGhpcy5wYXJlbnRMYXlvdXRDb21wb25lbnRdLFxuICAgICAgXSksXG4gICAgICBjdXN0b21Db21wb25lbnQ6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50LFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RGb3JtKCk6IHZvaWQge1xuICAgIGNvbnN0IHdpZGdldHMgPSB0aGlzLmxheW91dFNlcnZpY2UucmVuZGVyKHtcbiAgICAgIGxheW91dERlZmluaXRpb25zOiB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5mb3JtLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZ3JpZFJvdyAmJiAhdGhpcy5ncmlkUm93LnZhbHVlU2V0KSB7XG4gICAgICB0aGlzLmdyaWRSb3cudmFsdWVTZXRzID0gdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudC5tb2RlbC52YWx1ZVNldHM7XG4gICAgfVxuICAgIHRoaXMuc21hcnRGb3JtID0ge1xuICAgICAgZGlyZWN0aW9uOiB0aGlzLmdldEZvcm1MYXlvdXQoKSxcbiAgICAgIGNvbXBvbmVudE1vZGVsOiB0aGlzLmdyaWRSb3cgPyB0aGlzLmdyaWRSb3cgOiB0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50Py5tb2RlbCxcbiAgICAgIHdpZGdldHMsXG4gICAgfTtcblxuICAgIHRoaXMuYmluZEZvcm0oKTtcbiAgfVxuXG4gIGdldEZvcm1MYXlvdXQoKTogU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uIHtcbiAgICBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dD8uZGlyZWN0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5zbWFydENvbXBvbmVudExheW91dD8uZGlyZWN0aW9uID09PSBMYXlvdXREaXJlY3Rpb24uSE9SSVpPTlRBTFxuICAgICAgICA/IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbi5ST1dcbiAgICAgICAgOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uQ09MO1xuICAgIH1cbiAgICByZXR1cm4gU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLkNPTDtcbiAgfVxuXG4gIHNldEZvcm1Db21wb25lbnQoY29tcDogU21hcnRmb3JtQ29tcG9uZW50KSB7XG4gICAgaWYgKCF0aGlzLnNtYXJ0Rm9ybUNvbXBvbmVudCkge1xuICAgICAgdGhpcy5zbWFydEZvcm1Db21wb25lbnQgPSBjb21wO1xuICAgICAgdGhpcy5iaW5kRm9ybSgpO1xuICAgIH1cbiAgfVxuXG4gIGJpbmRGb3JtKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50Py51c2VRdWVyeUxpc3RzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnNtYXJ0Rm9ybSAmJiB0aGlzLnNtYXJ0Rm9ybUNvbXBvbmVudCkge1xuICAgICAgdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudD8uYWRkRm9ybShcbiAgICAgICAgLy8gdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBmb3JtXG4gICAgICAgIGBmb3JtXyR7dGhpcy5tYWtlaWQoNSl9YCxcbiAgICAgICAgdGhpcy5zbWFydEZvcm0sXG4gICAgICAgIHRoaXMuc21hcnRGb3JtQ29tcG9uZW50XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIG1ha2VpZChsZW5ndGg6IG51bWJlcikge1xuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBjb25zdCBjaGFyYWN0ZXJzID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5JztcbiAgICBjb25zdCBjaGFyYWN0ZXJzTGVuZ3RoID0gY2hhcmFjdGVycy5sZW5ndGg7XG4gICAgbGV0IGNvdW50ZXIgPSAwO1xuICAgIHdoaWxlIChjb3VudGVyIDwgbGVuZ3RoKSB7XG4gICAgICByZXN1bHQgKz0gY2hhcmFjdGVycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcmFjdGVyc0xlbmd0aCkpO1xuICAgICAgY291bnRlciArPSAxO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgY29uc3RydWN0R3JpZCgpOiB2b2lkIHtcbiAgICB0aGlzLnNtYXJ0R3JpZCA9IHtcbiAgICAgIGdyaWRJZGVudGlmaWVyOiB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmlkZW50aWZpZXIhLFxuICAgICAgZ3JpZE1vZGVsOiB7XG4gICAgICAgIHBhZ2U6IHt9LFxuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgcm93VWlBY3Rpb25UeXBlOiBHcmlkVWlBY3Rpb25UeXBlLlBPUFVQX01FTlUsXG4gICAgICB9LFxuICAgICAgbGF5b3V0RGVmOiBTbWFydExheW91dERlZi5UQUJMRSxcbiAgICAgIHBhZ2luYXRvcjogdHJ1ZSxcbiAgICB9O1xuXG4gICAgdGhpcy5iaW5kR3JpZCgpO1xuICB9XG5cbiAgc2V0R3JpZENvbXBvbmVudChjb21wOiBTbWFydEdyaWRDb21wb25lbnQpIHtcbiAgICBpZiAoIXRoaXMuc21hcnRHcmlkQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLnNtYXJ0R3JpZENvbXBvbmVudCA9IGNvbXA7XG4gICAgICB0aGlzLmJpbmRHcmlkKCk7XG4gICAgfVxuICB9XG5cbiAgYmluZEdyaWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFyZW50U21hcnRDb21wb25lbnQ/LnVzZVF1ZXJ5TGlzdHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuc21hcnRHcmlkICYmIHRoaXMuc21hcnRHcmlkQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLnNtYXJ0R3JpZCA9IHRoaXMucGFyZW50U21hcnRDb21wb25lbnQ/LmFkZEdyaWQoXG4gICAgICAgIHRoaXMuc21hcnRHcmlkLFxuICAgICAgICB7XG4gICAgICAgICAgcm93VWlBY3Rpb25UeXBlOiBHcmlkVWlBY3Rpb25UeXBlLlBPUFVQX01FTlUsXG4gICAgICAgIH0sXG4gICAgICAgIGZhbHNlLFxuICAgICAgICB0aGlzLnNtYXJ0R3JpZENvbXBvbmVudFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RNYXAoKSB7XG4gICAgdGhpcy5tYXBJZCA9IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uaWRlbnRpZmllcjtcbiAgICB0aGlzLmJpbmRNYXAoKTtcbiAgfVxuXG4gIGNvbnN0cnVjRGlhZ3JhbSgpIHtcbiAgICB0aGlzLnNtYXJ0RGlhZ3JhbUlkID0gdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ud2lkZ2V0Py5pZGVudGlmaWVyO1xuICAgIHRoaXMuYmluZERpYWdyYW0oKTtcbiAgfVxuXG4gIHNldE1hcENvbXBvbmVudChjb21wOiBTbWFydE1hcENvbXBvbmVudCkge1xuICAgIGlmICghdGhpcy5zbWFydE1hcENvbXBvbmVudCkge1xuICAgICAgdGhpcy5zbWFydE1hcENvbXBvbmVudCA9IGNvbXA7XG4gICAgICB0aGlzLmJpbmRNYXAoKTtcbiAgICB9XG4gIH1cblxuICBzZXREaWFncmFtQ29tcG9uZW50KGNvbXA6IFNtYXJ0RGlhZ3JhbUNvbXBvbmVudCkge1xuICAgIGlmICghdGhpcy5zbWFydERpYWdyYW1Db21wb25lbnQpIHtcbiAgICAgIHRoaXMuc21hcnREaWFncmFtQ29tcG9uZW50ID0gY29tcDtcbiAgICAgIHRoaXMuYmluZERpYWdyYW0oKTtcbiAgICB9XG4gIH1cblxuICBiaW5kTWFwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50LnVzZVF1ZXJ5TGlzdHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zb2xlLndhcm4oJ01hcCBjb21wb25lbnRzIGFyZSBvbmx5IHN1cHBvcnRlZCB0aHJvdWdoIFF1ZXJ5TGlzdHMhJyk7XG4gIH1cblxuICBiaW5kRGlhZ3JhbSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYXJlbnRTbWFydENvbXBvbmVudC51c2VRdWVyeUxpc3RzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc29sZS53YXJuKCdEaWFncmFtIGNvbXBvbmVudHMgYXJlIG9ubHkgc3VwcG9ydGVkIHRocm91Z2ggUXVlcnlMaXN0cyEnKTtcbiAgfVxuXG4gIHNldFRvb2xiYXJDb21wb25lbnQoY29tcDogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50KSB7XG4gICAgdGhpcy50b29sYmFyID0gY29tcDtcbiAgfVxuXG4gIC8vIE5PVCBVU0VELCBET0VTTidUIFdPUktcbiAgLy8gY29uc3RydWN0RmlsdGVyKCk6IHZvaWQge1xuICAvLyAgIHRoaXMuc21hcnRGaWx0ZXIgPSAodGhpcy5zbWFydENvbXBvbmVudExheW91dCEucGFyZW50Q29tcG9uZW50IGFzIGFueSkuYWRkRmlsdGVyKFxuICAvLyAgICAgYGZpbHRlcl8ke3RoaXMubWFrZWlkKDUpfWAsXG4gIC8vICAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmZpbHRlckV4cHJlc3Npb25GaWVsZExpc3QsXG4gIC8vICAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmZpbHRlclR5cGUsXG4gIC8vICAgICB0aGlzLnNtYXJ0RmlsdGVyQ29tcG9uZW50XG4gIC8vICAgKTtcbiAgLy8gfVxuXG4gIGJpbmRGaWx0ZXIoKTogdm9pZCB7XG4gICAgLy8gVE9ET1xuICB9XG5cbiAgY29uc3RydWN0VHJlZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYXJlbnRTbWFydENvbXBvbmVudD8udXNlUXVlcnlMaXN0cykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50LnNldFVwRGVmYXVsdFRyZWUodGhpcy5zbWFydENvbXBvbmVudExheW91dD8ud2lkZ2V0Py5pZGVudGlmaWVyKTtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlPy5pbml0aWFsaXplKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RUb29sYmFyKCk6IHZvaWQge1xuICAgIGxldCB0b29sYmFySWQgPSB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmlkZW50aWZpZXI7XG4gICAgaWYgKHRoaXMudG9vbGJhcklkICE9PSB0b29sYmFySWQpIHtcbiAgICAgIHRoaXMudG9vbGJhcklkID0gdG9vbGJhcklkO1xuICAgIH1cbiAgICBsZXQgcHJvcGVydGllcyA9IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8ucHJvcGVydGllcztcbiAgICBpZiAocHJvcGVydGllcyAmJiBwcm9wZXJ0aWVzWyd0b29sYmFyX3Byb3BlcnRpZXMnXSkge1xuICAgICAgdGhpcy50b29sYmFyUHJvcGVydGVzID0gcHJvcGVydGllc1sndG9vbGJhcl9wcm9wZXJ0aWVzJ107XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0RW1iZWRkZWRTbG90KCk6IHZvaWQge1xuICAgIHRoaXMuZW1iZWRkZWRTbG90Q29udGFpbmVySWQgPSB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmlkZW50aWZpZXI7XG4gICAgdGhpcy5lbWJlZGRlZFNsb3RBY3RpdmUgPSB0cnVlO1xuICAgIHRoaXMudHJ5UmVnaXN0ZXJFbWJlZGRlZFNsb3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJ5UmVnaXN0ZXJFbWJlZGRlZFNsb3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZW1iZWRkZWRTbG90Q29udGFpbmVySWQgJiYgdGhpcy51dWlkICYmIHRoaXMuX2VtYmVkZGVkU2xvdFZjUmVmKSB7XG4gICAgICB0aGlzLnZpZXdDb250ZXh0LnJlZ2lzdGVyRW1iZWRkZWRTbG90KHRoaXMudXVpZCwgdGhpcy5lbWJlZGRlZFNsb3RDb250YWluZXJJZCwgdGhpcy5fZW1iZWRkZWRTbG90VmNSZWYpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVV1aWQobmV3VXVpZD86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG9sZFV1aWQgPSB0aGlzLnV1aWQ7XG4gICAgdGhpcy51dWlkID0gbmV3VXVpZDtcbiAgICBpZiAob2xkVXVpZCAhPT0gbmV3VXVpZCAmJiB0aGlzLmVtYmVkZGVkU2xvdENvbnRhaW5lcklkKSB7XG4gICAgICBpZiAob2xkVXVpZCkge1xuICAgICAgICB0aGlzLnZpZXdDb250ZXh0LnVucmVnaXN0ZXJFbWJlZGRlZFNsb3Qob2xkVXVpZCwgdGhpcy5lbWJlZGRlZFNsb3RDb250YWluZXJJZCk7XG4gICAgICB9XG4gICAgICB0aGlzLnRyeVJlZ2lzdGVyRW1iZWRkZWRTbG90KCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwic21hcnRDb21wb25lbnRMYXlvdXQ/LmV4cGFuZGFibGU7IHRoZW4gZXhwYW5kYWJsZTsgZWxzZSBub3JtYWxcIj4gPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZXhwYW5kYWJsZT5cbiAgPHNtYXJ0LWV4cGFuZGFibGUtc2VjdGlvblxuICAgICpuZ0lmPVwiZXhwYW5kYWJsZVNlY3Rpb25cIlxuICAgIFtkYXRhXT1cImV4cGFuZGFibGVTZWN0aW9uXCJcbiAgPjwvc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNub3JtYWw+XG4gIDxkaXZcbiAgICAqbmdJZj1cInNtYXJ0Q29tcG9uZW50TGF5b3V0Py50eXBlID09PSB0eXBlKCkuQ09OVEFJTkVSXCJcbiAgICBbbmdDbGFzc109XCJzbWFydENvbXBvbmVudExheW91dD8uZGlyZWN0aW9uID8/ICd2ZXJ0aWNhbCdcIlxuICA+XG4gICAgPHNtYXJ0LWNvbXBvbmVudC1sYXlvdXRcbiAgICAgICpuZ0Zvcj1cImxldCBsYXlvdXQgb2Ygc21hcnRDb21wb25lbnRMYXlvdXQ/LmNvbXBvbmVudHNcIlxuICAgICAgW3BhcmVudFNtYXJ0Q29tcG9uZW50XT1cInBhcmVudFNtYXJ0Q29tcG9uZW50XCJcbiAgICAgIFtwYXJlbnRMYXlvdXRDb21wb25lbnRdPVwidGhpc1wiXG4gICAgICBbc21hcnRDb21wb25lbnRMYXlvdXRdPVwibGF5b3V0XCJcbiAgICAgIFtncmlkUm93XT1cImdyaWRSb3dcIlxuICAgID48L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQ+XG4gIDwvZGl2PlxuICA8c21hcnRmb3JtICpuZ0lmPVwic21hcnRGb3JtXCIgI2Zvcm0gW3NtYXJ0Rm9ybV09XCJzbWFydEZvcm1cIj48L3NtYXJ0Zm9ybT5cbiAgPHNtYXJ0LWdyaWQgKm5nSWY9XCJzbWFydEdyaWRcIiAjZ3JpZCBbc21hcnRHcmlkXT1cInNtYXJ0R3JpZFwiIFt1dWlkXT1cInV1aWQhXCI+PC9zbWFydC1ncmlkPlxuICA8c21hcnQtbWFwXG4gICAgKm5nSWY9XCIhIXV1aWQgJiYgISFtYXBJZFwiXG4gICAgI21hcFxuICAgIFt1dWlkXT1cInV1aWRcIlxuICAgIFtpZGVudGlmaWVyXT1cIm1hcElkXCJcbiAgICBbcGFyZW50XT1cInBhcmVudFNtYXJ0Q29tcG9uZW50XCJcbiAgPjwvc21hcnQtbWFwPlxuICA8c21hcnQtZGlhZ3JhbVxuICAgICpuZ0lmPVwiISF1dWlkICYmICEhc21hcnREaWFncmFtSWRcIlxuICAgICNkaWFncmFtXG4gICAgW3V1aWRdPVwidXVpZFwiXG4gICAgW2lkZW50aWZpZXJdPVwic21hcnREaWFncmFtSWRcIlxuICAgIFtwYXJlbnRdPVwicGFyZW50U21hcnRDb21wb25lbnRcIlxuICA+PC9zbWFydC1kaWFncmFtPlxuICA8IS0tIDxzbWFydC1maWx0ZXIgI2ZpbHRlciBbZmlsdGVyXT1cInNtYXJ0RmlsdGVyXCI+PC9zbWFydC1maWx0ZXI+IC0tPlxuICA8c21hcnQtdHJlZSAqbmdJZj1cInRyZWVTZXJ2aWNlXCIgW3RyZWVTZXJ2aWNlXT1cInRyZWVTZXJ2aWNlIVwiPjwvc21hcnQtdHJlZT5cbiAgPHNtYXJ0LXVpLWFjdGlvbi10b29sYmFyXG4gICAgKm5nSWY9XCIhIXRvb2xiYXJJZFwiXG4gICAgI3Rvb2xiYXJcbiAgICBbaWRdPVwidG9vbGJhcklkXCJcbiAgICBbdG9vbGJhclByb3BlcnRlc109XCJ0b29sYmFyUHJvcGVydGVzXCJcbiAgPjwvc21hcnQtdWktYWN0aW9uLXRvb2xiYXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbWJlZGRlZFNsb3RBY3RpdmVcIiAjZW1iZWRkZWRTbG90PjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
384
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jb21wb25lbnQtbGF5b3V0L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQU9MLFNBQVMsRUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGVBQWUsR0FHaEIsTUFBTSxPQUFPLENBQUM7QUFDZixPQUFPLEVBRUwsd0JBQXdCLEdBR3pCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUNMLGdCQUFnQixFQUdoQixjQUFjLEdBQ2YsTUFBTSx3QkFBd0IsQ0FBQztBQUdoQyxPQUFPLEVBRUwsMEJBQTBCLEdBQzNCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7Ozs7O0FBVWhGLE1BQU0sT0FBTyw2QkFBNkI7SUFtRHhDLElBQ0ksdUJBQXVCLENBQUMsS0FBbUM7UUFDN0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxD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XG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnRUeXBlLFxyXG4gIENvbXBvbmVudFdpZGdldFR5cGUsXHJcbiAgTGF5b3V0RGlyZWN0aW9uLFxyXG4gIFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbixcclxuICBUb29sYmFyUHJvcGVydGllcyxcclxufSBmcm9tICcuL2FwaSc7XHJcbmltcG9ydCB7XHJcbiAgU21hcnRGb3JtLFxyXG4gIFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbixcclxuICBTbWFydGZvcm1Db21wb25lbnQsXHJcbiAgU21hcnRmb3JtTGF5b3V0RGVmaW5pdGlvblNlcnZpY2UsXHJcbn0gZnJvbSAnLi4vc21hcnQtZm9ybS9wcm9qZWN0cyc7XHJcbmltcG9ydCB7XHJcbiAgR3JpZFVpQWN0aW9uVHlwZSxcclxuICBTbWFydEdyaWQsXHJcbiAgU21hcnRHcmlkQ29tcG9uZW50LFxyXG4gIFNtYXJ0TGF5b3V0RGVmLFxyXG59IGZyb20gJy4uL3NtYXJ0LWdyaWQvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydEZpbHRlciwgU21hcnRGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1maWx0ZXIvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBTbWFydHRyZWVHZW5lcmljU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXRyZWUvcHJvamVjdHMnO1xyXG5pbXBvcnQge1xyXG4gIEV4cGFuZGFibGVTZWN0aW9uLFxyXG4gIEV4cGFuZGFibGVTZWN0aW9uQ29tcG9uZW50LFxyXG59IGZyb20gJy4uL3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbi9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBkZWVwRXF1YWwgfSBmcm9tICdmYXN0LWVxdWFscyc7XHJcbmltcG9ydCB7IFNtYXJ0U3R5bGVVdGlsaXR5IH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3V0aWxpdHkvc21hcnQtc3R5bGUtdXRpbGl0eSc7XHJcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRNYXBDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1tYXAvc21hcnQtbWFwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtYXJ0RGlhZ3JhbUNvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWRpYWdyYW0vcHJvamVjdHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC1jb21wb25lbnQtbGF5b3V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICBwcm90ZWN0ZWQgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgQElucHV0KCkgc21hcnRDb21wb25lbnRMYXlvdXQ/OiBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb247XHJcbiAgQElucHV0KCkgcGFyZW50TGF5b3V0Q29tcG9uZW50PzogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQ7XHJcbiAgQElucHV0KCkgcGFyZW50U21hcnRDb21wb25lbnQ6IGFueTtcclxuICBASW5wdXQoKSBncmlkUm93OiBhbnk7XHJcblxyXG4gIGN1cnJlbnRMYXlvdXQ/OiBTbWFydENvbXBvbmVudExheW91dERlZmluaXRpb247XHJcblxyXG4gIHV1aWQ/OiBzdHJpbmc7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2Zvcm0nKVxyXG4gIHNtYXJ0Rm9ybUxpc3QhOiBRdWVyeUxpc3Q8U21hcnRmb3JtQ29tcG9uZW50PjtcclxuICBzbWFydEZvcm1Db21wb25lbnQ/OiBTbWFydGZvcm1Db21wb25lbnQ7XHJcbiAgc21hcnRGb3JtPzogU21hcnRGb3JtO1xyXG5cclxuICBAVmlld0NoaWxkcmVuKCdncmlkJylcclxuICBzbWFydEdyaWRMaXN0ITogUXVlcnlMaXN0PFNtYXJ0R3JpZENvbXBvbmVudD47XHJcbiAgc21hcnRHcmlkQ29tcG9uZW50PzogU21hcnRHcmlkQ29tcG9uZW50O1xyXG4gIHNtYXJ0R3JpZD86IFNtYXJ0R3JpZDtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbignbWFwJylcclxuICBzbWFydE1hcExpc3QhOiBRdWVyeUxpc3Q8U21hcnRNYXBDb21wb25lbnQ+O1xyXG4gIHNtYXJ0TWFwQ29tcG9uZW50PzogU21hcnRNYXBDb21wb25lbnQ7XHJcbiAgbWFwSWQ/OiBzdHJpbmc7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2RpYWdyYW0nKVxyXG4gIHNtYXJ0RGlhZ3JhbUxpc3QhOiBRdWVyeUxpc3Q8U21hcnREaWFncmFtQ29tcG9uZW50PjtcclxuICBzbWFydERpYWdyYW1Db21wb25lbnQ/OiBTbWFydERpYWdyYW1Db21wb25lbnQ7XHJcbiAgc21hcnREaWFncmFtSWQ/OiBzdHJpbmc7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2ZpbHRlcicpXHJcbiAgc21hcnRGaWx0ZXJMaXN0ITogUXVlcnlMaXN0PFNtYXJ0RmlsdGVyQ29tcG9uZW50PjtcclxuICBzbWFydEZpbHRlckNvbXBvbmVudD86IFNtYXJ0RmlsdGVyQ29tcG9uZW50O1xyXG4gIHNtYXJ0RmlsdGVyPzogU21hcnRGaWx0ZXI7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ3Rvb2xiYXInKVxyXG4gIHRvb2xiYXJMaXN0ITogUXVlcnlMaXN0PFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudD47XHJcbiAgdG9vbGJhcj86IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudDtcclxuICB0b29sYmFySWQ/OiBzdHJpbmc7XHJcbiAgdG9vbGJhclByb3BlcnRlcz86IFRvb2xiYXJQcm9wZXJ0aWVzO1xyXG5cclxuICB0cmVlU2VydmljZT86IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlO1xyXG5cclxuICBleHBhbmRhYmxlU2VjdGlvbj86IEV4cGFuZGFibGVTZWN0aW9uPFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbj47XHJcblxyXG4gIGVtYmVkZGVkU2xvdEFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGVtYmVkZGVkU2xvdENvbnRhaW5lcklkPzogc3RyaW5nO1xyXG4gIF9lbWJlZGRlZFNsb3RWY1JlZj86IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VtYmVkZGVkU2xvdCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHNldCBlbWJlZGRlZFNsb3RWY1JlZlNldHRlcih2Y1JlZjogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fZW1iZWRkZWRTbG90VmNSZWYgPSB2Y1JlZjtcclxuICAgIGlmICh2Y1JlZikge1xyXG4gICAgICB0aGlzLnRyeVJlZ2lzdGVyRW1iZWRkZWRTbG90KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkcmVuKEV4cGFuZGFibGVTZWN0aW9uQ29tcG9uZW50KVxyXG4gIGV4cGFuZGFibGVDb21wb25lbnRzITogUXVlcnlMaXN0PEV4cGFuZGFibGVTZWN0aW9uQ29tcG9uZW50PjtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbihTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudClcclxuICBjb21wb25lbnRzITogUXVlcnlMaXN0PFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50PjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGxheW91dFNlcnZpY2U6IFNtYXJ0Zm9ybUxheW91dERlZmluaXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGV4dDogU21hcnRWaWV3Q29udGV4dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGVsZW1lbnQ/OiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcj86IFJlbmRlcmVyMlxyXG4gICkge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc21hcnRGb3JtTGlzdD8uZmlyc3QpIHtcclxuICAgICAgdGhpcy5zZXRGb3JtQ29tcG9uZW50KHRoaXMuc21hcnRGb3JtTGlzdD8uZmlyc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zbWFydEZvcm1MaXN0LmNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgobGlzdDogUXVlcnlMaXN0PFNtYXJ0Zm9ybUNvbXBvbmVudD4pID0+IHtcclxuICAgICAgICB0aGlzLnNldEZvcm1Db21wb25lbnQobGlzdC5maXJzdCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLnNtYXJ0R3JpZExpc3Q/LmZpcnN0KSB7XHJcbiAgICAgIHRoaXMuc2V0R3JpZENvbXBvbmVudCh0aGlzLnNtYXJ0R3JpZExpc3Q/LmZpcnN0KTtcclxuICAgIH1cclxuICAgIHRoaXMuc21hcnRHcmlkTGlzdC5jaGFuZ2VzXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IFF1ZXJ5TGlzdDxTbWFydEdyaWRDb21wb25lbnQ+KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRHcmlkQ29tcG9uZW50KGxpc3QuZmlyc3QpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5zbWFydE1hcExpc3Q/LmZpcnN0KSB7XHJcbiAgICAgIHRoaXMuc2V0TWFwQ29tcG9uZW50KHRoaXMuc21hcnRNYXBMaXN0Py5maXJzdCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNtYXJ0TWFwTGlzdC5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKChtYXBzKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0TWFwQ29tcG9uZW50KG1hcHMuZmlyc3QpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnREaWFncmFtTGlzdD8uZmlyc3QpIHtcclxuICAgICAgdGhpcy5zZXREaWFncmFtQ29tcG9uZW50KHRoaXMuc21hcnREaWFncmFtTGlzdD8uZmlyc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zbWFydERpYWdyYW1MaXN0LmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKGRpYWdyYW1zKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0RGlhZ3JhbUNvbXBvbmVudChkaWFncmFtcy5maXJzdCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnNtYXJ0RmlsdGVyTGlzdC5jaGFuZ2VzXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IFF1ZXJ5TGlzdDxTbWFydEZpbHRlckNvbXBvbmVudD4pID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuc21hcnRGaWx0ZXJDb21wb25lbnQpIHtcclxuICAgICAgICAgIHRoaXMuc21hcnRGaWx0ZXJDb21wb25lbnQgPSBsaXN0LmZpcnN0O1xyXG4gICAgICAgICAgdGhpcy5iaW5kRmlsdGVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy50b29sYmFyTGlzdD8uZmlyc3QpIHtcclxuICAgICAgdGhpcy5zZXRUb29sYmFyQ29tcG9uZW50KHRoaXMudG9vbGJhckxpc3Q/LmZpcnN0KTtcclxuICAgIH1cclxuICAgIHRoaXMudG9vbGJhckxpc3QuY2hhbmdlc1xyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBRdWVyeUxpc3Q8VWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0VG9vbGJhckNvbXBvbmVudChsaXN0LmZpcnN0KTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnNldFVwKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmVtYmVkZGVkU2xvdENvbnRhaW5lcklkICYmIHRoaXMudXVpZCkge1xyXG4gICAgICB0aGlzLnZpZXdDb250ZXh0LnVucmVnaXN0ZXJFbWJlZGRlZFNsb3QodGhpcy51dWlkLCB0aGlzLmVtYmVkZGVkU2xvdENvbnRhaW5lcklkKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldFVwKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFVwKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50IHx8ICF0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChkZWVwRXF1YWwodGhpcy5zbWFydENvbXBvbmVudExheW91dCwgdGhpcy5jdXJyZW50TGF5b3V0KSkge1xyXG4gICAgICAvLyBubyBsYXlvdXQgY2hhbmdlLCBrZWVwIGN1cnJlbnQgc3RhdGVcclxuICAgICAgdGhpcy5zbWFydENvbXBvbmVudExheW91dCA9IHRoaXMuY3VycmVudExheW91dDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy8gbGF5b3V0IGNoYW5nZWQsIHJlbmRlciwgYnV0IHNhdmUgY3VycmVudFxyXG4gICAgLy8gdGhpcy5jdXJyZW50TGF5b3V0ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0KSk7XHJcbiAgICB0aGlzLmN1cnJlbnRMYXlvdXQgPSB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0O1xyXG5cclxuICAgIHRoaXMudXVpZCA9IHRoaXMucGFyZW50U21hcnRDb21wb25lbnQudXVpZDtcclxuICAgIHRoaXMudHJlZVNlcnZpY2UgPSB0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50LnNtYXJ0VHJlZVNlcnZpY2U7XHJcblxyXG4gICAgdGhpcy5zbWFydENvbXBvbmVudExheW91dD8uZGlyZWN0aW9uO1xyXG5cclxuICAgIC8vIHRoZSBuYXR1cmUgb2YgdGhlIGxheW91dCBtaWdodCBoYXZlIGNoYW5nZWQgKGUuZy4gZnJvbSBHUklEIHRvIEZPUk0pLCB3ZSBudWxsIG91dCBldmVyeVxyXG4gICAgLy8gdGVtcGxhdGUtcmVsYXRlZCBlbGVtZW50LCBzbyBubyBzdGFsZSBkYXRhIGlzIGxlZnQgb24gc2NyZWVuOlxyXG4gICAgdGhpcy5leHBhbmRhYmxlU2VjdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc21hcnRGb3JtID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zbWFydEZvcm1Db21wb25lbnQgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNtYXJ0R3JpZCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc21hcnRHcmlkQ29tcG9uZW50ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zbWFydEZpbHRlciA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc21hcnRGaWx0ZXJDb21wb25lbnQgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNtYXJ0R3JpZCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudG9vbGJhcklkID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50b29sYmFyID0gdW5kZWZpbmVkO1xyXG4gICAgLy8gbnVsbCBvdXQgdG9vbGJhcj9cclxuICAgIHRoaXMubWFwSWQgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNtYXJ0RGlhZ3JhbUlkID0gdW5kZWZpbmVkO1xyXG4gICAgaWYgKHRoaXMuZW1iZWRkZWRTbG90Q29udGFpbmVySWQgJiYgdGhpcy51dWlkKSB7XHJcbiAgICAgIHRoaXMudmlld0NvbnRleHQudW5yZWdpc3RlckVtYmVkZGVkU2xvdCh0aGlzLnV1aWQsIHRoaXMuZW1iZWRkZWRTbG90Q29udGFpbmVySWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lbWJlZGRlZFNsb3RBY3RpdmUgPSBmYWxzZTtcclxuICAgIHRoaXMuZW1iZWRkZWRTbG90Q29udGFpbmVySWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LmV4cGFuZGFibGUpIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3RFeHBhbmRhYmxlU2VjdGlvbigpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py50eXBlID09PSBDb21wb25lbnRUeXBlLkZPUk0pIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LnR5cGUgPT09IENvbXBvbmVudFR5cGUuV0lER0VUKSB7XHJcbiAgICAgIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5HUklEKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RHcmlkKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dC53aWRnZXQ/LnR5cGUgPT09IENvbXBvbmVudFdpZGdldFR5cGUuRklMVEVSKSB7XHJcbiAgICAgICAgY29uc29sZS53YXJuKCdDb21wb25lbnRXaWRnZXRUeXBlLkZJTFRFUiBpcyBub3Qgc3VwcG9ydGVkJyk7XHJcbiAgICAgICAgLy8gdGhpcy5jb25zdHJ1Y3RGaWx0ZXIoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LndpZGdldD8udHlwZSA9PT0gQ29tcG9uZW50V2lkZ2V0VHlwZS5UUkVFKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3RUcmVlKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dC53aWRnZXQ/LnR5cGUgPT09IENvbXBvbmVudFdpZGdldFR5cGUuVE9PTEJBUikge1xyXG4gICAgICAgIHRoaXMuY29uc3RydWN0VG9vbGJhcigpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQud2lkZ2V0Py50eXBlID09PSBDb21wb25lbnRXaWRnZXRUeXBlLk1BUCkge1xyXG4gICAgICAgIHRoaXMuY29uc3RydWN0TWFwKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dC53aWRnZXQ/LnR5cGUgPT09IENvbXBvbmVudFdpZGdldFR5cGUuRElBR1JBTSkge1xyXG4gICAgICAgIHRoaXMuY29uc3RydWNEaWFncmFtKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dC53aWRnZXQ/LnR5cGUgPT09IENvbXBvbmVudFdpZGdldFR5cGUuRU1CRURERURfU0xPVCkge1xyXG4gICAgICAgIHRoaXMuY29uc3RydWN0RW1iZWRkZWRTbG90KCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghdGhpcy5wYXJlbnRMYXlvdXRDb21wb25lbnQpIHtcclxuICAgICAgICAvLyBvbmx5IHRvcCBsZXZlbCBjb21wb25lbnQgc2hvdWxkIGNhbGwgaW5pdCBhY3Rpb25zXHJcbiAgICAgICAgdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudC5pbml0QWN0aW9ucygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgU21hcnRTdHlsZVV0aWxpdHkuYXBwbHlTdHlsZSh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0LnN0eWxlLCB0aGlzLmVsZW1lbnQsIHRoaXMucmVuZGVyZXIpO1xyXG4gIH1cclxuXHJcbiAgdHlwZSgpOiB0eXBlb2YgQ29tcG9uZW50VHlwZSB7XHJcbiAgICByZXR1cm4gQ29tcG9uZW50VHlwZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdEV4cGFuZGFibGVTZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgbGV0IGRhdGE6IFNtYXJ0Q29tcG9uZW50TGF5b3V0RGVmaW5pdGlvbiA9IHsgLi4udGhpcy5zbWFydENvbXBvbmVudExheW91dCEgfTtcclxuICAgIGRhdGEuZXhwYW5kYWJsZSA9IGZhbHNlO1xyXG5cclxuICAgIHRoaXMuZXhwYW5kYWJsZVNlY3Rpb24gPSB7XHJcbiAgICAgIHRpdGxlOiB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5leHBhbmRhYmxlU2VjdGlvbkxhYmVsID8/ICcnLFxyXG4gICAgICBpbnB1dHM6IG5ldyBNYXA8c3RyaW5nLCBhbnk+KFtcclxuICAgICAgICBbJ3NtYXJ0Q29tcG9uZW50TGF5b3V0JywgZGF0YV0sXHJcbiAgICAgICAgWydwYXJlbnRTbWFydENvbXBvbmVudCcsIHRoaXMucGFyZW50U21hcnRDb21wb25lbnRdLFxyXG4gICAgICAgIFsncGFyZW50TGF5b3V0Q29tcG9uZW50JywgdGhpcy5wYXJlbnRMYXlvdXRDb21wb25lbnRdLFxyXG4gICAgICBdKSxcclxuICAgICAgY3VzdG9tQ29tcG9uZW50OiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RGb3JtKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgd2lkZ2V0cyA9IHRoaXMubGF5b3V0U2VydmljZS5yZW5kZXIoe1xyXG4gICAgICBsYXlvdXREZWZpbml0aW9uczogdGhpcy5zbWFydENvbXBvbmVudExheW91dD8uZm9ybSxcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLmdyaWRSb3cgJiYgIXRoaXMuZ3JpZFJvdy52YWx1ZVNldCkge1xyXG4gICAgICB0aGlzLmdyaWRSb3cudmFsdWVTZXRzID0gdGhpcy5wYXJlbnRTbWFydENvbXBvbmVudC5tb2RlbC52YWx1ZVNldHM7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNtYXJ0Rm9ybSA9IHtcclxuICAgICAgZGlyZWN0aW9uOiB0aGlzLmdldEZvcm1MYXlvdXQoKSxcclxuICAgICAgY29tcG9uZW50TW9kZWw6IHRoaXMuZ3JpZFJvdyA/IHRoaXMuZ3JpZFJvdyA6IHRoaXMucGFyZW50U21hcnRDb21wb25lbnQ/Lm1vZGVsLFxyXG4gICAgICB3aWRnZXRzLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmJpbmRGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBnZXRGb3JtTGF5b3V0KCk6IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbiB7XHJcbiAgICBpZiAodGhpcy5zbWFydENvbXBvbmVudExheW91dD8uZGlyZWN0aW9uKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py5kaXJlY3Rpb24gPT09IExheW91dERpcmVjdGlvbi5IT1JJWk9OVEFMXHJcbiAgICAgICAgPyBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uUk9XXHJcbiAgICAgICAgOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24uQ09MO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbi5DT0w7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtQ29tcG9uZW50KGNvbXA6IFNtYXJ0Zm9ybUNvbXBvbmVudCkge1xyXG4gICAgaWYgKCF0aGlzLnNtYXJ0Rm9ybUNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnNtYXJ0Rm9ybUNvbXBvbmVudCA9IGNvbXA7XHJcbiAgICAgIHRoaXMuYmluZEZvcm0oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJpbmRGb3JtKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGFyZW50U21hcnRDb21wb25lbnQ/LnVzZVF1ZXJ5TGlzdHMpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc21hcnRGb3JtICYmIHRoaXMuc21hcnRGb3JtQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMucGFyZW50U21hcnRDb21wb25lbnQ/LmFkZEZvcm0oXHJcbiAgICAgICAgLy8gdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBmb3JtXHJcbiAgICAgICAgYGZvcm1fJHt0aGlzLm1ha2VpZCg1KX1gLFxyXG4gICAgICAgIHRoaXMuc21hcnRGb3JtLFxyXG4gICAgICAgIHRoaXMuc21hcnRGb3JtQ29tcG9uZW50XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtYWtlaWQobGVuZ3RoOiBudW1iZXIpIHtcclxuICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xyXG4gICAgY29uc3QgY2hhcmFjdGVyc0xlbmd0aCA9IGNoYXJhY3RlcnMubGVuZ3RoO1xyXG4gICAgbGV0IGNvdW50ZXIgPSAwO1xyXG4gICAgd2hpbGUgKGNvdW50ZXIgPCBsZW5ndGgpIHtcclxuICAgICAgcmVzdWx0ICs9IGNoYXJhY3RlcnMuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnNMZW5ndGgpKTtcclxuICAgICAgY291bnRlciArPSAxO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdEdyaWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNtYXJ0R3JpZCA9IHtcclxuICAgICAgZ3JpZElkZW50aWZpZXI6IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uaWRlbnRpZmllciEsXHJcbiAgICAgIGdyaWRNb2RlbDoge1xyXG4gICAgICAgIHBhZ2U6IHt9LFxyXG4gICAgICB9LFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgcm93VWlBY3Rpb25UeXBlOiBHcmlkVWlBY3Rpb25UeXBlLlBPUFVQX01FTlUsXHJcbiAgICAgIH0sXHJcbiAgICAgIGxheW91dERlZjogU21hcnRMYXlvdXREZWYuVEFCTEUsXHJcbiAgICAgIHBhZ2luYXRvcjogdHJ1ZSxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5iaW5kR3JpZCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0R3JpZENvbXBvbmVudChjb21wOiBTbWFydEdyaWRDb21wb25lbnQpIHtcclxuICAgIGlmICghdGhpcy5zbWFydEdyaWRDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5zbWFydEdyaWRDb21wb25lbnQgPSBjb21wO1xyXG4gICAgICB0aGlzLmJpbmRHcmlkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBiaW5kR3JpZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50Py51c2VRdWVyeUxpc3RzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNtYXJ0R3JpZCAmJiB0aGlzLnNtYXJ0R3JpZENvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnNtYXJ0R3JpZCA9IHRoaXMucGFyZW50U21hcnRDb21wb25lbnQ/LmFkZEdyaWQoXHJcbiAgICAgICAgdGhpcy5zbWFydEdyaWQsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcm93VWlBY3Rpb25UeXBlOiBHcmlkVWlBY3Rpb25UeXBlLlBPUFVQX01FTlUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBmYWxzZSxcclxuICAgICAgICB0aGlzLnNtYXJ0R3JpZENvbXBvbmVudFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0TWFwKCkge1xyXG4gICAgdGhpcy5tYXBJZCA9IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uaWRlbnRpZmllcjtcclxuICAgIHRoaXMuYmluZE1hcCgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWNEaWFncmFtKCkge1xyXG4gICAgdGhpcy5zbWFydERpYWdyYW1JZCA9IHRoaXMuc21hcnRDb21wb25lbnRMYXlvdXQ/LndpZGdldD8uaWRlbnRpZmllcjtcclxuICAgIHRoaXMuYmluZERpYWdyYW0oKTtcclxuICB9XHJcblxyXG4gIHNldE1hcENvbXBvbmVudChjb21wOiBTbWFydE1hcENvbXBvbmVudCkge1xyXG4gICAgaWYgKCF0aGlzLnNtYXJ0TWFwQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMuc21hcnRNYXBDb21wb25lbnQgPSBjb21wO1xyXG4gICAgICB0aGlzLmJpbmRNYXAoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldERpYWdyYW1Db21wb25lbnQoY29tcDogU21hcnREaWFncmFtQ29tcG9uZW50KSB7XHJcbiAgICBpZiAoIXRoaXMuc21hcnREaWFncmFtQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMuc21hcnREaWFncmFtQ29tcG9uZW50ID0gY29tcDtcclxuICAgICAgdGhpcy5iaW5kRGlhZ3JhbSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYmluZE1hcCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50LnVzZVF1ZXJ5TGlzdHMpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnNvbGUud2FybignTWFwIGNvbXBvbmVudHMgYXJlIG9ubHkgc3VwcG9ydGVkIHRocm91Z2ggUXVlcnlMaXN0cyEnKTtcclxuICB9XHJcblxyXG4gIGJpbmREaWFncmFtKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGFyZW50U21hcnRDb21wb25lbnQudXNlUXVlcnlMaXN0cykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc29sZS53YXJuKCdEaWFncmFtIGNvbXBvbmVudHMgYXJlIG9ubHkgc3VwcG9ydGVkIHRocm91Z2ggUXVlcnlMaXN0cyEnKTtcclxuICB9XHJcblxyXG4gIHNldFRvb2xiYXJDb21wb25lbnQoY29tcDogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50KSB7XHJcbiAgICB0aGlzLnRvb2xiYXIgPSBjb21wO1xyXG4gIH1cclxuXHJcbiAgLy8gTk9UIFVTRUQsIERPRVNOJ1QgV09SS1xyXG4gIC8vIGNvbnN0cnVjdEZpbHRlcigpOiB2b2lkIHtcclxuICAvLyAgIHRoaXMuc21hcnRGaWx0ZXIgPSAodGhpcy5zbWFydENvbXBvbmVudExheW91dCEucGFyZW50Q29tcG9uZW50IGFzIGFueSkuYWRkRmlsdGVyKFxyXG4gIC8vICAgICBgZmlsdGVyXyR7dGhpcy5tYWtlaWQoNSl9YCxcclxuICAvLyAgICAgdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ud2lkZ2V0Py5maWx0ZXJFeHByZXNzaW9uRmllbGRMaXN0LFxyXG4gIC8vICAgICB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmZpbHRlclR5cGUsXHJcbiAgLy8gICAgIHRoaXMuc21hcnRGaWx0ZXJDb21wb25lbnRcclxuICAvLyAgICk7XHJcbiAgLy8gfVxyXG5cclxuICBiaW5kRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgLy8gVE9ET1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0VHJlZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBhcmVudFNtYXJ0Q29tcG9uZW50Py51c2VRdWVyeUxpc3RzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMucGFyZW50U21hcnRDb21wb25lbnQuc2V0VXBEZWZhdWx0VHJlZSh0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmlkZW50aWZpZXIpO1xyXG4gICAgdGhpcy50cmVlU2VydmljZT8uaW5pdGlhbGl6ZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0VG9vbGJhcigpOiB2b2lkIHtcclxuICAgIGxldCB0b29sYmFySWQgPSB0aGlzLnNtYXJ0Q29tcG9uZW50TGF5b3V0Py53aWRnZXQ/LmlkZW50aWZpZXI7XHJcbiAgICBpZiAodGhpcy50b29sYmFySWQgIT09IHRvb2xiYXJJZCkge1xyXG4gICAgICB0aGlzLnRvb2xiYXJJZCA9IHRvb2xiYXJJZDtcclxuICAgIH1cclxuICAgIGxldCBwcm9wZXJ0aWVzID0gdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ud2lkZ2V0Py5wcm9wZXJ0aWVzO1xyXG4gICAgaWYgKHByb3BlcnRpZXMgJiYgcHJvcGVydGllc1sndG9vbGJhcl9wcm9wZXJ0aWVzJ10pIHtcclxuICAgICAgdGhpcy50b29sYmFyUHJvcGVydGVzID0gcHJvcGVydGllc1sndG9vbGJhcl9wcm9wZXJ0aWVzJ107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RFbWJlZGRlZFNsb3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVtYmVkZGVkU2xvdENvbnRhaW5lcklkID0gdGhpcy5zbWFydENvbXBvbmVudExheW91dD8ud2lkZ2V0Py5pZGVudGlmaWVyO1xyXG4gICAgdGhpcy5lbWJlZGRlZFNsb3RBY3RpdmUgPSB0cnVlO1xyXG4gICAgdGhpcy50cnlSZWdpc3RlckVtYmVkZGVkU2xvdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0cnlSZWdpc3RlckVtYmVkZGVkU2xvdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmVtYmVkZGVkU2xvdENvbnRhaW5lcklkICYmIHRoaXMudXVpZCAmJiB0aGlzLl9lbWJlZGRlZFNsb3RWY1JlZikge1xyXG4gICAgICB0aGlzLnZpZXdDb250ZXh0LnJlZ2lzdGVyRW1iZWRkZWRTbG90KHRoaXMudXVpZCwgdGhpcy5lbWJlZGRlZFNsb3RDb250YWluZXJJZCwgdGhpcy5fZW1iZWRkZWRTbG90VmNSZWYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlVXVpZChuZXdVdWlkPzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBvbGRVdWlkID0gdGhpcy51dWlkO1xyXG4gICAgdGhpcy51dWlkID0gbmV3VXVpZDtcclxuICAgIGlmIChvbGRVdWlkICE9PSBuZXdVdWlkICYmIHRoaXMuZW1iZWRkZWRTbG90Q29udGFpbmVySWQpIHtcclxuICAgICAgaWYgKG9sZFV1aWQpIHtcclxuICAgICAgICB0aGlzLnZpZXdDb250ZXh0LnVucmVnaXN0ZXJFbWJlZGRlZFNsb3Qob2xkVXVpZCwgdGhpcy5lbWJlZGRlZFNsb3RDb250YWluZXJJZCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50cnlSZWdpc3RlckVtYmVkZGVkU2xvdCgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwic21hcnRDb21wb25lbnRMYXlvdXQ/LmV4cGFuZGFibGU7IHRoZW4gZXhwYW5kYWJsZTsgZWxzZSBub3JtYWxcIj4gPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2V4cGFuZGFibGU+XHJcbiAgPHNtYXJ0LWV4cGFuZGFibGUtc2VjdGlvblxyXG4gICAgKm5nSWY9XCJleHBhbmRhYmxlU2VjdGlvblwiXHJcbiAgICBbZGF0YV09XCJleHBhbmRhYmxlU2VjdGlvblwiXHJcbiAgPjwvc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNub3JtYWw+XHJcbiAgPGRpdlxyXG4gICAgKm5nSWY9XCJzbWFydENvbXBvbmVudExheW91dD8udHlwZSA9PT0gdHlwZSgpLkNPTlRBSU5FUlwiXHJcbiAgICBbbmdDbGFzc109XCJzbWFydENvbXBvbmVudExheW91dD8uZGlyZWN0aW9uID8/ICd2ZXJ0aWNhbCdcIlxyXG4gID5cclxuICAgIDxzbWFydC1jb21wb25lbnQtbGF5b3V0XHJcbiAgICAgICpuZ0Zvcj1cImxldCBsYXlvdXQgb2Ygc21hcnRDb21wb25lbnRMYXlvdXQ/LmNvbXBvbmVudHNcIlxyXG4gICAgICBbcGFyZW50U21hcnRDb21wb25lbnRdPVwicGFyZW50U21hcnRDb21wb25lbnRcIlxyXG4gICAgICBbcGFyZW50TGF5b3V0Q29tcG9uZW50XT1cInRoaXNcIlxyXG4gICAgICBbc21hcnRDb21wb25lbnRMYXlvdXRdPVwibGF5b3V0XCJcclxuICAgICAgW2dyaWRSb3ddPVwiZ3JpZFJvd1wiXHJcbiAgICA+PC9zbWFydC1jb21wb25lbnQtbGF5b3V0PlxyXG4gIDwvZGl2PlxyXG4gIDxzbWFydGZvcm0gKm5nSWY9XCJzbWFydEZvcm1cIiAjZm9ybSBbc21hcnRGb3JtXT1cInNtYXJ0Rm9ybVwiPjwvc21hcnRmb3JtPlxyXG4gIDxzbWFydC1ncmlkICpuZ0lmPVwic21hcnRHcmlkXCIgI2dyaWQgW3NtYXJ0R3JpZF09XCJzbWFydEdyaWRcIiBbdXVpZF09XCJ1dWlkIVwiPjwvc21hcnQtZ3JpZD5cclxuICA8c21hcnQtbWFwXHJcbiAgICAqbmdJZj1cIiEhdXVpZCAmJiAhIW1hcElkXCJcclxuICAgICNtYXBcclxuICAgIFt1dWlkXT1cInV1aWRcIlxyXG4gICAgW2lkZW50aWZpZXJdPVwibWFwSWRcIlxyXG4gICAgW3BhcmVudF09XCJwYXJlbnRTbWFydENvbXBvbmVudFwiXHJcbiAgPjwvc21hcnQtbWFwPlxyXG4gIDxzbWFydC1kaWFncmFtXHJcbiAgICAqbmdJZj1cIiEhdXVpZCAmJiAhIXNtYXJ0RGlhZ3JhbUlkXCJcclxuICAgICNkaWFncmFtXHJcbiAgICBbdXVpZF09XCJ1dWlkXCJcclxuICAgIFtpZGVudGlmaWVyXT1cInNtYXJ0RGlhZ3JhbUlkXCJcclxuICAgIFtwYXJlbnRdPVwicGFyZW50U21hcnRDb21wb25lbnRcIlxyXG4gID48L3NtYXJ0LWRpYWdyYW0+XHJcbiAgPCEtLSA8c21hcnQtZmlsdGVyICNmaWx0ZXIgW2ZpbHRlcl09XCJzbWFydEZpbHRlclwiPjwvc21hcnQtZmlsdGVyPiAtLT5cclxuICA8c21hcnQtdHJlZSAqbmdJZj1cInRyZWVTZXJ2aWNlXCIgW3RyZWVTZXJ2aWNlXT1cInRyZWVTZXJ2aWNlIVwiPjwvc21hcnQtdHJlZT5cclxuICA8c21hcnQtdWktYWN0aW9uLXRvb2xiYXJcclxuICAgICpuZ0lmPVwiISF0b29sYmFySWRcIlxyXG4gICAgI3Rvb2xiYXJcclxuICAgIFtpZF09XCJ0b29sYmFySWRcIlxyXG4gICAgW3Rvb2xiYXJQcm9wZXJ0ZXNdPVwidG9vbGJhclByb3BlcnRlc1wiXHJcbiAgPjwvc21hcnQtdWktYWN0aW9uLXRvb2xiYXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVtYmVkZGVkU2xvdEFjdGl2ZVwiICNlbWJlZGRlZFNsb3Q+PC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
54
54
  providers: [],
55
55
  }]
56
56
  }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jb21wb25lbnQtbGF5b3V0L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDM0csT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFtQmhFLE1BQU0sT0FBTywwQkFBMEI7K0dBQTFCLDBCQUEwQjtnSEFBMUIsMEJBQTBCLGlCQWhCdEIsNkJBQTZCLGFBRTFDLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLDRCQUE0QjtZQUM1QixlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHFCQUFxQixhQUViLDZCQUE2QjtnSEFHNUIsMEJBQTBCLFlBZG5DLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLDRCQUE0QjtZQUM1QixlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHFCQUFxQjs7NEZBS1osMEJBQTBCO2tCQWpCdEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDN0MsT0FBTyxFQUFFO3dCQUNQLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixlQUFlO3dCQUNmLDRCQUE0Qjt3QkFDNUIsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQ3hDLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU21hcnRHcmlkTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtZ3JpZC9zbWFydC1ncmlkLm1vZHVsZSc7XG5pbXBvcnQgeyBTbWFydEV4cGFuZGFibGVTZWN0aW9uTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uL3NtYXJ0LWV4cGFuZGFibGUtc2VjdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgU21hcnR0cmVlTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtdHJlZS9zbWFydHRyZWUubW9kdWxlJztcbmltcG9ydCB7IFNtYXJ0TWFwTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtbWFwL3NtYXJ0LW1hcC5tb2R1bGUnO1xuaW1wb3J0IHsgU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRNb2R1bGUgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0Lm1vZHVsZSc7XG5pbXBvcnQgeyBTbWFydERpYWdyYW1Nb2R1bGUgfSBmcm9tICcuLi9zbWFydC1kaWFncmFtL3Byb2plY3RzJztcbmltcG9ydCB7IElucHV0R3JvdXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0Z3JvdXAnO1xuaW1wb3J0IHsgSW5wdXRHcm91cEFkZG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dGdyb3VwYWRkb24nO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBCcm93c2VyTW9kdWxlLFxuICAgIE1hdENvbW1vbk1vZHVsZSxcbiAgICBTbWFydEdyaWRNb2R1bGUsXG4gICAgU21hcnRFeHBhbmRhYmxlU2VjdGlvbk1vZHVsZSxcbiAgICBTbWFydHRyZWVNb2R1bGUsXG4gICAgU21hcnRWaWV3Q29udGV4dE1vZHVsZSxcbiAgICBTbWFydE1hcE1vZHVsZSxcbiAgICBTbWFydERpYWdyYW1Nb2R1bGUsXG4gICAgSW5wdXRHcm91cE1vZHVsZSxcbiAgICBJbnB1dEdyb3VwQWRkb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0Q29tcG9uZW50TGF5b3V0TW9kdWxlIHt9XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1jb21wb25lbnQtbGF5b3V0L3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDM0csT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFtQmhFLE1BQU0sT0FBTywwQkFBMEI7K0dBQTFCLDBCQUEwQjtnSEFBMUIsMEJBQTBCLGlCQWhCdEIsNkJBQTZCLGFBRTFDLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLDRCQUE0QjtZQUM1QixlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHFCQUFxQixhQUViLDZCQUE2QjtnSEFHNUIsMEJBQTBCLFlBZG5DLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLDRCQUE0QjtZQUM1QixlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHFCQUFxQjs7NEZBS1osMEJBQTBCO2tCQWpCdEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDN0MsT0FBTyxFQUFFO3dCQUNQLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixlQUFlO3dCQUNmLDRCQUE0Qjt3QkFDNUIsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQ3hDLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0Q29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgU21hcnRHcmlkTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtZ3JpZC9zbWFydC1ncmlkLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNtYXJ0RXhwYW5kYWJsZVNlY3Rpb25Nb2R1bGUgfSBmcm9tICcuLi9zbWFydC1leHBhbmRhYmxlLXNlY3Rpb24vc21hcnQtZXhwYW5kYWJsZS1zZWN0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNtYXJ0dHJlZU1vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LXRyZWUvc21hcnR0cmVlLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNtYXJ0TWFwTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtbWFwL3NtYXJ0LW1hcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0TW9kdWxlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTbWFydERpYWdyYW1Nb2R1bGUgfSBmcm9tICcuLi9zbWFydC1kaWFncmFtL3Byb2plY3RzJztcclxuaW1wb3J0IHsgSW5wdXRHcm91cE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRncm91cCc7XHJcbmltcG9ydCB7IElucHV0R3JvdXBBZGRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRncm91cGFkZG9uJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBNYXRDb21tb25Nb2R1bGUsXHJcbiAgICBTbWFydEdyaWRNb2R1bGUsXHJcbiAgICBTbWFydEV4cGFuZGFibGVTZWN0aW9uTW9kdWxlLFxyXG4gICAgU21hcnR0cmVlTW9kdWxlLFxyXG4gICAgU21hcnRWaWV3Q29udGV4dE1vZHVsZSxcclxuICAgIFNtYXJ0TWFwTW9kdWxlLFxyXG4gICAgU21hcnREaWFncmFtTW9kdWxlLFxyXG4gICAgSW5wdXRHcm91cE1vZHVsZSxcclxuICAgIElucHV0R3JvdXBBZGRvbk1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0Q29tcG9uZW50TGF5b3V0TW9kdWxlIHt9XHJcbiJdfQ==
@@ -309,4 +309,4 @@ function generateRandomColor() {
309
309
  const random = Math.floor(Math.random() * 16777215).toString(16);
310
310
  return `#${'000000'.substring(0, 6 - random.length) + random}`;
311
311
  }
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zbWFydC1kaWFncmFtLW9wdGlvbnMucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1kaWFncmFtL2NvbXBvbmVudC9kZWZhdWx0LXNtYXJ0LWRpYWdyYW0tb3B0aW9ucy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFJakQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQWlCLHdCQUF3QixDQUFDLENBQUM7QUFTbkcsTUFBTSxVQUFVLDRCQUE0QixDQUFDLFNBQStCO0lBQzFFLE9BQU87UUFDTCxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDeEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDeEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3JELE9BQU87Z0JBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUM5QyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7Z0JBQ3BCLGVBQWUsRUFBRSxLQUFLO2dCQUN0QixXQUFXLEVBQUUsS0FBSzthQUNuQixDQUFDO1FBQ0osQ0FBQyxDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsNkJBQTZCLENBQUMsU0FBK0I7SUFDM0UsT0FBTztRQUNMLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN4QixRQUFRLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN4QyxPQUFPO2dCQUNMLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDOUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUNwQixlQUFlLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksbUJBQW1CLEVBQUUsQ0FBQztnQkFDckYsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLG1CQUFtQixFQUFFLENBQUM7YUFDbEYsQ0FBQztRQUNKLENBQUMsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFNBQStCO0lBQ3BFLE9BQU87UUFDTCxRQUFRLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN4QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLG1CQUFtQixFQUFFLENBQUM7WUFDckQsT0FBTztnQkFDTCxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7Z0JBQ3BCLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDakMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNO29CQUNkLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTTtpQkFDZixDQUFDLENBQUM7Z0JBQ0gsZUFBZSxFQUFFLEtBQUs7Z0JBQ3RCLFdBQVcsRUFBRSxLQUFLO2FBQ25CLENBQUM7UUFDSixDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxTQUErQjtJQUNuRSxPQUFPO1FBQ0wsUUFBUSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDeEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3JELE9BQU87Z0JBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUNwQixJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ2pDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDZCxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ2QsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQztpQkFDcEIsQ0FBQyxDQUFDO2dCQUNILGVBQWUsRUFBRSxLQUFLO2dCQUN0QixXQUFXLEVBQUUsS0FBSzthQUNuQixDQUFDO1FBQ0osQ0FBQyxDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFDRCxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE9BQU87UUFDTCxNQUFNLEVBQUU7WUFDTixDQUFDLEVBQUU7Z0JBQ0QsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjtRQUNELGdCQUFnQixFQUFFLENBQUM7UUFDbkIsV0FBVyxFQUFFLElBQUk7UUFDakIsVUFBVSxFQUFFLElBQUk7S0FDakIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQW1CO0lBQ3RDLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLGFBQWEsRUFBRSxrQkFBa0I7SUFDakMsYUFBYSxFQUFFLDZCQUE2QjtDQUM3QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQW1CO0lBQ2hELFNBQVMsRUFBRSxlQUFlO0lBQzFCLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsU0FBUyxDQUFDLGtCQUFrQixFQUFFLEVBQUU7UUFDOUIsU0FBUyxFQUFFLEdBQUc7UUFDZCxNQUFNLEVBQUU7WUFDTixPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLENBQUM7YUFDVDtTQUNGO0tBQ0YsQ0FBQztJQUNKLGFBQWEsRUFBRSw2QkFBNkI7Q0FDN0MsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBbUI7SUFDN0MsU0FBUyxFQUFFLFlBQVk7SUFDdkIsV0FBVyxFQUFFLEtBQUs7SUFDbEIsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUNsQixTQUFTLENBQUMsa0JBQWtCLEVBQUUsRUFBRTtRQUM5QixNQUFNLEVBQUU7WUFDTixDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ3BCLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7U0FDckI7S0FDRixDQUFDO0lBQ0osYUFBYSxFQUFFLDRCQUE0QjtDQUM1QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQW1CO0lBQ3ZELFNBQVMsRUFBRSxzQkFBc0I7SUFDakMsV0FBVyxFQUFFLEtBQUs7SUFDbEIsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUNsQixTQUFTLENBQUMsa0JBQWtCLEVBQUUsRUFBRTtRQUM5QixTQUFTLEVBQUUsR0FBRztRQUNkLE1BQU0sRUFBRTtZQUNOLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDcEIsQ0FBQyxFQUFFO2dCQUNELE9BQU8sRUFBRSxJQUFJO2dCQUNiLEtBQUssRUFBRTtvQkFDTCxRQUFRLEVBQUUsS0FBSztvQkFDZixRQUFRLEVBQUUsVUFBVSxLQUFVLEVBQUUsS0FBVSxFQUFFLEtBQVU7d0JBQ3BELE1BQU0sS0FBSyxHQUFJLElBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDcEQsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO3dCQUNmLElBQUksQ0FBQyxLQUFLOzRCQUFFLE9BQU8sRUFBRSxDQUFDO3dCQUN0QixJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRzs0QkFBRSxPQUFPLEtBQUssQ0FBQzt3QkFDdEMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUMxQixDQUFDO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtLQUNsQyxDQUFDO0lBQ0osYUFBYSxFQUFFLDRCQUE0QjtDQUM1QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFtQjtJQUN0QyxTQUFTLEVBQUUsS0FBSztJQUNoQixXQUFXLEVBQUUsS0FBSztJQUNsQixhQUFhLEVBQUUsR0FBRyxFQUFFO1FBQ2xCLE9BQU87WUFDTCxNQUFNLEVBQUUsS0FBSztZQUNiLE1BQU0sRUFBRTtnQkFDTixPQUFPLEVBQUUsQ0FBQzthQUNYO1lBQ0QsV0FBVyxFQUFFLENBQUM7WUFDZCxVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDO0lBQ0osQ0FBQztJQUNELGFBQWEsRUFBRSw2QkFBNkI7Q0FDN0MsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBbUI7SUFDM0MsU0FBUyxFQUFFLFVBQVU7SUFDckIsV0FBVyxFQUFFLFVBQVU7SUFDdkIsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUNsQixPQUFPO1lBQ0wsTUFBTSxFQUFFLEtBQUs7WUFDYixNQUFNLEVBQUU7Z0JBQ04sT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNELFdBQVcsRUFBRSxDQUFDO1lBQ2QsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQztJQUNKLENBQUM7SUFDRCxhQUFhLEVBQUUsNkJBQTZCO0NBQzdDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQW1CO0lBQzVDLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLGFBQWEsRUFBRSxHQUFHLEVBQUU7UUFDbEIsT0FBTztZQUNMLE1BQU0sRUFBRSxLQUFLO1lBQ2IsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxDQUFDO2FBQ1g7WUFDRCxXQUFXLEVBQUUsQ0FBQztZQUNkLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUM7SUFDSixDQUFDO0lBQ0QsYUFBYSxFQUFFLENBQUMsU0FBK0IsRUFBTyxFQUFFO1FBQ3RELE9BQU87WUFDTCxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDeEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzlDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztnQkFDcEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUN4RCxlQUFlLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDN0QsQ0FBQyxDQUFDO1NBQ0osQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFtQjtJQUN4QyxTQUFTLEVBQUUsT0FBTztJQUNsQixXQUFXLEVBQUUsT0FBTztJQUNwQixhQUFhLEVBQUUsR0FBRyxFQUFFO1FBQ2xCLE9BQU87WUFDTCxXQUFXLEVBQUUsQ0FBQztZQUNkLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUM7SUFDSixDQUFDO0lBQ0QsYUFBYSxFQUFFLENBQUMsU0FBK0IsRUFBTyxFQUFFO1FBQ3RELE9BQU87WUFDTCxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDeEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzlDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztnQkFDcEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUMxQixvQkFBb0IsRUFBRSxPQUFPLENBQUMsS0FBSztnQkFDbkMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLEtBQUs7Z0JBQy9CLHlCQUF5QixFQUFFLFNBQVM7Z0JBQ3BDLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxLQUFLO2FBQ3JDLENBQUMsQ0FBQztTQUNKLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBbUI7SUFDMUMsU0FBUyxFQUFFLFNBQVM7SUFDcEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUNsQixTQUFTLENBQUMsa0JBQWtCLEVBQUUsRUFBRTtRQUM5QixNQUFNLEVBQUU7WUFDTixDQUFDLEVBQUU7Z0JBQ0QsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRCxDQUFDLEVBQUU7Z0JBQ0QsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjtLQUNGLENBQUM7SUFDSixhQUFhLEVBQUUsc0JBQXNCO0NBQ3RDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQW1CO0lBQ3pDLFNBQVMsRUFBRSxRQUFRO0lBQ25CLFdBQVcsRUFBRSxRQUFRO0lBQ3JCLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsU0FBUyxDQUFDLGtCQUFrQixFQUFFLEVBQUU7UUFDOUIsTUFBTSxFQUFFO1lBQ04sQ0FBQyxFQUFFO2dCQUNELFdBQVcsRUFBRSxJQUFJO2dCQUNqQixLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0QsQ0FBQyxFQUFFO2dCQUNELFdBQVcsRUFBRSxJQUFJO2dCQUNqQixLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7S0FDRixDQUFDO0lBQ0osYUFBYSxFQUFFLHFCQUFxQjtDQUNyQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQW1CO0lBQ2hELFNBQVMsRUFBRSxlQUFlO0lBQzFCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGFBQWEsRUFBRSxDQUFDLFNBQStCLEVBQU8sRUFBRTtRQUN0RCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckQsRUFBRSxFQUFFLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDakMsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTztTQUM3QyxDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU87WUFDTCxNQUFNLEVBQUU7Z0JBQ04sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBUSxFQUFFLElBQUksRUFBRSxFQUFFO29CQUNqQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztvQkFDcEIsT0FBTyxHQUFHLENBQUM7Z0JBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQzthQUNQO1lBQ0QsV0FBVyxFQUFFLElBQUk7WUFDakIsVUFBVSxFQUFFLElBQUk7WUFDaEIsbUJBQW1CLEVBQUUsSUFBSTtTQUMxQixDQUFDO0lBQ0osQ0FBQztJQUNELGFBQWEsRUFBRSxDQUFDLFNBQStCLEVBQU8sRUFBRTtRQUN0RCxPQUFPO1lBQ0wsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1lBQ3hCLFFBQVEsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDOUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUNwQixPQUFPLEVBQUUsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDdEMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxLQUFLO2dCQUM5QixXQUFXLEVBQUUsT0FBTyxDQUFDLEtBQUs7YUFDM0IsQ0FBQyxDQUFDO1NBQ0osQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDO0FBS0YsTUFBTSxPQUFPLDJCQUEyQjtJQUV0QyxZQUdFLFNBQXVDO1FBRXZDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELFVBQVUsQ0FBQyxTQUFpQjtRQUMxQixPQUFPLENBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUk7WUFDckMsU0FBUyxFQUFFLFNBQVM7WUFDcEIsV0FBVyxFQUFFLFNBQVM7WUFDdEIsYUFBYSxFQUFFLDRCQUE0QjtZQUMzQyxhQUFhLEVBQUUsa0JBQWtCO1NBQ2xDLENBQ0YsQ0FBQztJQUNKLENBQUM7K0dBbkJVLDJCQUEyQixrQkFHNUIsc0JBQXNCO21IQUhyQiwyQkFBMkIsY0FGMUIsTUFBTTs7NEZBRVAsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBSUksTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUM3QixRQUFROztBQWtCYixTQUFTLG1CQUFtQjtJQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakUsT0FBTyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFncmFtRGF0YUNvbnRhaW5lciB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICcuL3NtYXJ0LWRpYWdyYW0udXRpbCc7XG5pbXBvcnQgeyBYIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IGxheW91dHMgfSBmcm9tICdjaGFydC5qcyc7XG5cbmV4cG9ydCBjb25zdCBDVVNUT01fRElBR1JBTV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPERpYWdyYW1GYWN0b3J5PignQ1VTVE9NX0RJQUdSQU1fT1BUSU9OUycpO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpYWdyYW1GYWN0b3J5IHtcbiAgcmVhZG9ubHkgY2hhcnRUeXBlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNoYXJ0SnNUeXBlOiBzdHJpbmc7XG4gIGNyZWF0ZU9wdGlvbnMoY2hhcnREYXRhOiBEaWFncmFtRGF0YUNvbnRhaW5lcik6IGFueTtcbiAgdHJhbnNmb3JtRGF0YShjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtRGF0YVRvQmFzaWNEYXRhU2V0cyhjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55IHtcbiAgcmV0dXJuIHtcbiAgICBsYWJlbHM6IGNoYXJ0RGF0YS5sYWJlbHMsXG4gICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+IHtcbiAgICAgIGNvbnN0IGNvbG9yID0gZGF0YXNldC5jb2xvciB8fCBnZW5lcmF0ZVJhbmRvbUNvbG9yKCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcixcbiAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9yLFxuICAgICAgfTtcbiAgICB9KSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybURhdGFUb0Jhckxpa2VEYXRhU2V0KGNoYXJ0RGF0YTogRGlhZ3JhbURhdGFDb250YWluZXIpOiBhbnkge1xuICByZXR1cm4ge1xuICAgIGxhYmVsczogY2hhcnREYXRhLmxhYmVscyxcbiAgICBkYXRhc2V0czogY2hhcnREYXRhLml0ZW1zLm1hcCgoZGF0YXNldCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGF0YTogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0ueFZhbHVlKSxcbiAgICAgICAgbGFiZWw6IGRhdGFzZXQubGFiZWwsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaXRlbUNvbG9yIHx8IGdlbmVyYXRlUmFuZG9tQ29sb3IoKSksXG4gICAgICAgIGJvcmRlckNvbG9yOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5pdGVtQ29sb3IgfHwgZ2VuZXJhdGVSYW5kb21Db2xvcigpKSxcbiAgICAgIH07XG4gICAgfSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRhVG9TY2F0dGVyKGNoYXJ0RGF0YTogRGlhZ3JhbURhdGFDb250YWluZXIpOiBhbnkge1xuICByZXR1cm4ge1xuICAgIGRhdGFzZXRzOiBjaGFydERhdGEuaXRlbXMubWFwKChkYXRhc2V0KSA9PiB7XG4gICAgICBjb25zdCBjb2xvciA9IGRhdGFzZXQuY29sb3IgfHwgZ2VuZXJhdGVSYW5kb21Db2xvcigpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbGFiZWw6IGRhdGFzZXQubGFiZWwsXG4gICAgICAgIGRhdGE6IGRhdGFzZXQuaXRlbXMubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgIHg6IGl0ZW0ueFZhbHVlLFxuICAgICAgICAgIHk6IGl0ZW0ueVZhbHVlLFxuICAgICAgICB9KSksXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IsXG4gICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcixcbiAgICAgIH07XG4gICAgfSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRhVG9CdWJibGUoY2hhcnREYXRhOiBEaWFncmFtRGF0YUNvbnRhaW5lcik6IGFueSB7XG4gIHJldHVybiB7XG4gICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+IHtcbiAgICAgIGNvbnN0IGNvbG9yID0gZGF0YXNldC5jb2xvciB8fCBnZW5lcmF0ZVJhbmRvbUNvbG9yKCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcbiAgICAgICAgZGF0YTogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgeDogaXRlbS54VmFsdWUsXG4gICAgICAgICAgeTogaXRlbS55VmFsdWUsXG4gICAgICAgICAgcjogaXRlbS5yVmFsdWUgPz8gNSxcbiAgICAgICAgfSkpLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLFxuICAgICAgICBib3JkZXJDb2xvcjogY29sb3IsXG4gICAgICB9O1xuICAgIH0pLFxuICB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJhc2ljT3B0aW9ucygpOiBhbnkge1xuICByZXR1cm4ge1xuICAgIHNjYWxlczoge1xuICAgICAgeToge1xuICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSxcbiAgICAgICAgZ3JhY2U6ICc1JScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGV2aWNlUGl4ZWxSYXRpbzogMixcbiAgICBhc3BlY3RSYXRpbzogMS43OCxcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgYmFyQ2hhcnQ6IERpYWdyYW1GYWN0b3J5ID0ge1xuICBjaGFydFR5cGU6ICdiYXInLFxuICBjaGFydEpzVHlwZTogJ2JhcicsXG4gIGNyZWF0ZU9wdGlvbnM6IGNyZWF0ZUJhc2ljT3B0aW9ucyxcbiAgdHJhbnNmb3JtRGF0YTogdHJhbnNmb3JtRGF0YVRvQmFyTGlrZURhdGFTZXQsXG59O1xuXG5leHBvcnQgY29uc3QgaG9yaXpvbnRhbEJhckNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcbiAgY2hhcnRUeXBlOiAnaG9yaXpvbnRhbEJhcicsXG4gIGNoYXJ0SnNUeXBlOiAnYmFyJyxcbiAgY3JlYXRlT3B0aW9uczogKCkgPT5cbiAgICBkZWVwTWVyZ2UoY3JlYXRlQmFzaWNPcHRpb25zKCksIHtcbiAgICAgIGluZGV4QXhpczogJ3knLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgICByaWdodDogNSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSksXG4gIHRyYW5zZm9ybURhdGE6IHRyYW5zZm9ybURhdGFUb0Jhckxpa2VEYXRhU2V0LFxufTtcblxuZXhwb3J0IGNvbnN0IHN0YWNrZWRCYXJDaGFydDogRGlhZ3JhbUZhY3RvcnkgPSB7XG4gIGNoYXJ0VHlwZTogJ3N0YWNrZWRCYXInLFxuICBjaGFydEpzVHlwZTogJ2JhcicsXG4gIGNyZWF0ZU9wdGlvbnM6ICgpID0+XG4gICAgZGVlcE1lcmdlKGNyZWF0ZUJhc2ljT3B0aW9ucygpLCB7XG4gICAgICBzY2FsZXM6IHtcbiAgICAgICAgeDogeyBzdGFja2VkOiB0cnVlIH0sXG4gICAgICAgIHk6IHsgc3RhY2tlZDogdHJ1ZSB9LFxuICAgICAgfSxcbiAgICB9KSxcbiAgdHJhbnNmb3JtRGF0YTogdHJhbnNmb3JtRGF0YVRvQmFzaWNEYXRhU2V0cyxcbn07XG5cbmV4cG9ydCBjb25zdCBob3Jpem9udGFsU3RhY2tlZEJhckNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcbiAgY2hhcnRUeXBlOiAnaG9yaXpvbnRhbFN0YWNrZWRCYXInLFxuICBjaGFydEpzVHlwZTogJ2JhcicsXG4gIGNyZWF0ZU9wdGlvbnM6ICgpID0+XG4gICAgZGVlcE1lcmdlKGNyZWF0ZUJhc2ljT3B0aW9ucygpLCB7XG4gICAgICBpbmRleEF4aXM6ICd5JyxcbiAgICAgIHNjYWxlczoge1xuICAgICAgICB4OiB7IHN0YWNrZWQ6IHRydWUgfSxcbiAgICAgICAgeToge1xuICAgICAgICAgIHN0YWNrZWQ6IHRydWUsXG4gICAgICAgICAgdGlja3M6IHtcbiAgICAgICAgICAgIGF1dG9Ta2lwOiBmYWxzZSxcbiAgICAgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiAodmFsdWU6IGFueSwgaW5kZXg6IGFueSwgdGlja3M6IGFueSkge1xuICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9ICh0aGlzIGFzIGFueSkuZ2V0TGFiZWxGb3JWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgIGNvbnN0IG1heCA9IDEwO1xuICAgICAgICAgICAgICBpZiAoIWxhYmVsKSByZXR1cm4gJyc7XG4gICAgICAgICAgICAgIGlmIChsYWJlbC5sZW5ndGggPD0gbWF4KSByZXR1cm4gbGFiZWw7XG4gICAgICAgICAgICAgIHJldHVybiBsYWJlbC5zcGxpdCgnICcpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGxheW91dDogeyBwYWRkaW5nOiB7IHJpZ2h0OiA1IH0gfSxcbiAgICB9KSxcbiAgdHJhbnNmb3JtRGF0YTogdHJhbnNmb3JtRGF0YVRvQmFzaWNEYXRhU2V0cyxcbn07XG5cbmV4cG9ydCBjb25zdCBwaWVDaGFydDogRGlhZ3JhbUZhY3RvcnkgPSB7XG4gIGNoYXJ0VHlwZTogJ3BpZScsXG4gIGNoYXJ0SnNUeXBlOiAncGllJyxcbiAgY3JlYXRlT3B0aW9uczogKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICByYWRpdXM6ICc5NSUnLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICB9LFxuICAgICAgYXNwZWN0UmF0aW86IDEsXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIH07XG4gIH0sXG4gIHRyYW5zZm9ybURhdGE6IHRyYW5zZm9ybURhdGFUb0Jhckxpa2VEYXRhU2V0LFxufTtcblxuZXhwb3J0IGNvbnN0IGRvdWdobnV0Q2hhcnQ6IERpYWdyYW1GYWN0b3J5ID0ge1xuICBjaGFydFR5cGU6ICdkb3VnaG51dCcsXG4gIGNoYXJ0SnNUeXBlOiAnZG91Z2hudXQnLFxuICBjcmVhdGVPcHRpb25zOiAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJhZGl1czogJzk1JScsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgcGFkZGluZzogMCxcbiAgICAgIH0sXG4gICAgICBhc3BlY3RSYXRpbzogMSxcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgfTtcbiAgfSxcbiAgdHJhbnNmb3JtRGF0YTogdHJhbnNmb3JtRGF0YVRvQmFyTGlrZURhdGFTZXQsXG59O1xuXG5leHBvcnQgY29uc3QgcG9sYXJBcmVhQ2hhcnQ6IERpYWdyYW1GYWN0b3J5ID0ge1xuICBjaGFydFR5cGU6ICdwb2xhckFyZWEnLFxuICBjaGFydEpzVHlwZTogJ3BvbGFyQXJlYScsXG4gIGNyZWF0ZU9wdGlvbnM6ICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgcmFkaXVzOiAnOTUlJyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgfSxcbiAgICAgIGFzcGVjdFJhdGlvOiAxLFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICB9O1xuICB9LFxuICB0cmFuc2Zvcm1EYXRhOiAoY2hhcnREYXRhOiBEaWFncmFtRGF0YUNvbnRhaW5lcik6IGFueSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsczogY2hhcnREYXRhLmxhYmVscyxcbiAgICAgIGRhdGFzZXRzOiBjaGFydERhdGEuaXRlbXMubWFwKChkYXRhc2V0KSA9PiAoe1xuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcbiAgICAgICAgYm9yZGVyQ29sb3I6IGRhdGFzZXQuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLml0ZW1Db2xvciksXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaXRlbUNvbG9yKSxcbiAgICAgIH0pKSxcbiAgICB9O1xuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IHJhZGFyQ2hhcnQ6IERpYWdyYW1GYWN0b3J5ID0ge1xuICBjaGFydFR5cGU6ICdyYWRhcicsXG4gIGNoYXJ0SnNUeXBlOiAncmFkYXInLFxuICBjcmVhdGVPcHRpb25zOiAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFzcGVjdFJhdGlvOiAxLFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICB9O1xuICB9LFxuICB0cmFuc2Zvcm1EYXRhOiAoY2hhcnREYXRhOiBEaWFncmFtRGF0YUNvbnRhaW5lcik6IGFueSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsczogY2hhcnREYXRhLmxhYmVscyxcbiAgICAgIGRhdGFzZXRzOiBjaGFydERhdGEuaXRlbXMubWFwKChkYXRhc2V0KSA9PiAoe1xuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcbiAgICAgICAgYm9yZGVyQ29sb3I6IGRhdGFzZXQuY29sb3IsXG4gICAgICAgIHBvaW50QmFja2dyb3VuZENvbG9yOiBkYXRhc2V0LmNvbG9yLFxuICAgICAgICBwb2ludEJvcmRlckNvbG9yOiBkYXRhc2V0LmNvbG9yLFxuICAgICAgICBwb2ludEhvdmVyQmFja2dyb3VuZENvbG9yOiAnIzAwMDAwMCcsXG4gICAgICAgIHBvaW50SG92ZXJCb3JkZXJDb2xvcjogZGF0YXNldC5jb2xvcixcbiAgICAgIH0pKSxcbiAgICB9O1xuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IHNjYXR0ZXJDaGFydDogRGlhZ3JhbUZhY3RvcnkgPSB7XG4gIGNoYXJ0VHlwZTogJ3NjYXR0ZXInLFxuICBjaGFydEpzVHlwZTogJ3NjYXR0ZXInLFxuICBjcmVhdGVPcHRpb25zOiAoKSA9PlxuICAgIGRlZXBNZXJnZShjcmVhdGVCYXNpY09wdGlvbnMoKSwge1xuICAgICAgc2NhbGVzOiB7XG4gICAgICAgIHk6IHtcbiAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSxcbiAgICAgICAgICBncmFjZTogJzUlJyxcbiAgICAgICAgfSxcbiAgICAgICAgeDoge1xuICAgICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLFxuICAgICAgICAgIGdyYWNlOiAnNSUnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KSxcbiAgdHJhbnNmb3JtRGF0YTogdHJhbnNmb3JtRGF0YVRvU2NhdHRlcixcbn07XG5cbmV4cG9ydCBjb25zdCBidWJibGVDaGFydDogRGlhZ3JhbUZhY3RvcnkgPSB7XG4gIGNoYXJ0VHlwZTogJ2J1YmJsZScsXG4gIGNoYXJ0SnNUeXBlOiAnYnViYmxlJyxcbiAgY3JlYXRlT3B0aW9uczogKCkgPT5cbiAgICBkZWVwTWVyZ2UoY3JlYXRlQmFzaWNPcHRpb25zKCksIHtcbiAgICAgIHNjYWxlczoge1xuICAgICAgICB5OiB7XG4gICAgICAgICAgYmVnaW5BdFplcm86IHRydWUsXG4gICAgICAgICAgZ3JhY2U6ICc1JScsXG4gICAgICAgIH0sXG4gICAgICAgIHg6IHtcbiAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSxcbiAgICAgICAgICBncmFjZTogJzUlJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSksXG4gIHRyYW5zZm9ybURhdGE6IHRyYW5zZm9ybURhdGFUb0J1YmJsZSxcbn07XG5cbmV4cG9ydCBjb25zdCBtdWx0aUF4aXNMaW5lQ2hhcnQ6IERpYWdyYW1GYWN0b3J5ID0ge1xuICBjaGFydFR5cGU6ICdtdWx0aUF4aXNMaW5lJyxcbiAgY2hhcnRKc1R5cGU6ICdsaW5lJyxcbiAgY3JlYXRlT3B0aW9uczogKGNoYXJ0RGF0YTogRGlhZ3JhbURhdGFDb250YWluZXIpOiBhbnkgPT4ge1xuICAgIGNvbnN0IHlBeGVzID0gY2hhcnREYXRhLml0ZW1zLm1hcCgoZGF0YXNldCwgaW5kZXgpID0+ICh7XG4gICAgICBpZDogYHkke2luZGV4ID09IDEgPyAnJyA6IGluZGV4fWAsXG4gICAgICB0eXBlOiAnbGluZWFyJyxcbiAgICAgIHBvc2l0aW9uOiBpbmRleCAlIDIgPT09IDAgPyAnbGVmdCcgOiAncmlnaHQnLFxuICAgIH0pKTtcbiAgICByZXR1cm4ge1xuICAgICAgc2NhbGVzOiB7XG4gICAgICAgIC4uLnlBeGVzLnJlZHVjZSgoYWNjOiBhbnksIGF4aXMpID0+IHtcbiAgICAgICAgICBhY2NbYXhpcy5pZF0gPSBheGlzO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIH0sXG4gICAgICBhc3BlY3RSYXRpbzogMS43OCxcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiB0cnVlLFxuICAgIH07XG4gIH0sXG4gIHRyYW5zZm9ybURhdGE6IChjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55ID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWxzOiBjaGFydERhdGEubGFiZWxzLFxuICAgICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQsIGluZGV4KSA9PiAoe1xuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcbiAgICAgICAgeUF4aXNJRDogYHkke2luZGV4ID09IDEgPyAnJyA6IGluZGV4fWAsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogZGF0YXNldC5jb2xvcixcbiAgICAgICAgYm9yZGVyQ29sb3I6IGRhdGFzZXQuY29sb3IsXG4gICAgICB9KSksXG4gICAgfTtcbiAgfSxcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdWx0Q2hhcnRPcHRpb25zUHJvdmlkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IGZhY3Rvcmllc0J5VHlwZTogTWFwPHN0cmluZywgRGlhZ3JhbUZhY3Rvcnk+O1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENVU1RPTV9ESUFHUkFNX09QVElPTlMpXG4gICAgQE9wdGlvbmFsKClcbiAgICBmYWN0b3JpZXM6IERpYWdyYW1GYWN0b3J5W10gfCB1bmRlZmluZWRcbiAgKSB7XG4gICAgdGhpcy5mYWN0b3JpZXNCeVR5cGUgPSBuZXcgTWFwKGZhY3Rvcmllcz8ubWFwKChmKSA9PiBbZi5jaGFydFR5cGUsIGZdKSA/PyBbXSk7XG4gIH1cblxuICBnZXRGYWN0b3J5KGNoYXJ0VHlwZTogc3RyaW5nKTogRGlhZ3JhbUZhY3Rvcnkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmZhY3Rvcmllc0J5VHlwZS5nZXQoY2hhcnRUeXBlKSA/PyB7XG4gICAgICAgIGNoYXJ0VHlwZTogY2hhcnRUeXBlLFxuICAgICAgICBjaGFydEpzVHlwZTogY2hhcnRUeXBlLFxuICAgICAgICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CYXNpY0RhdGFTZXRzLFxuICAgICAgICBjcmVhdGVPcHRpb25zOiBjcmVhdGVCYXNpY09wdGlvbnMsXG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZVJhbmRvbUNvbG9yKCk6IHN0cmluZyB7XG4gIGNvbnN0IHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDE2Nzc3MjE1KS50b1N0cmluZygxNik7XG4gIHJldHVybiBgIyR7JzAwMDAwMCcuc3Vic3RyaW5nKDAsIDYgLSByYW5kb20ubGVuZ3RoKSArIHJhbmRvbX1gO1xufVxuIl19
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zbWFydC1kaWFncmFtLW9wdGlvbnMucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1kaWFncmFtL2NvbXBvbmVudC9kZWZhdWx0LXNtYXJ0LWRpYWdyYW0tb3B0aW9ucy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFJakQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQWlCLHdCQUF3QixDQUFDLENBQUM7QUFTbkcsTUFBTSxVQUFVLDRCQUE0QixDQUFDLFNBQStCO0lBQzFFLE9BQU87UUFDTCxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDeEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDeEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3JELE9BQU87Z0JBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUM5QyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7Z0JBQ3BCLGVBQWUsRUFBRSxLQUFLO2dCQUN0QixXQUFXLEVBQUUsS0FBSzthQUNuQixDQUFDO1FBQ0osQ0FBQyxDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsNkJBQTZCLENBQUMsU0FBK0I7SUFDM0UsT0FBTztRQUNMLE1BQU0sRUFBRSxTQUFT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QUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBSUksTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUM3QixRQUFROztBQWtCYixTQUFTLG1CQUFtQjtJQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakUsT0FBTyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpYWdyYW1EYXRhQ29udGFpbmVyIH0gZnJvbSAnLi4vYXBpJztcclxuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSAnLi9zbWFydC1kaWFncmFtLnV0aWwnO1xyXG5pbXBvcnQgeyBYIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgbGF5b3V0cyB9IGZyb20gJ2NoYXJ0LmpzJztcclxuXHJcbmV4cG9ydCBjb25zdCBDVVNUT01fRElBR1JBTV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPERpYWdyYW1GYWN0b3J5PignQ1VTVE9NX0RJQUdSQU1fT1BUSU9OUycpO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWFncmFtRmFjdG9yeSB7XHJcbiAgcmVhZG9ubHkgY2hhcnRUeXBlOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgY2hhcnRKc1R5cGU6IHN0cmluZztcclxuICBjcmVhdGVPcHRpb25zKGNoYXJ0RGF0YTogRGlhZ3JhbURhdGFDb250YWluZXIpOiBhbnk7XHJcbiAgdHJhbnNmb3JtRGF0YShjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtRGF0YVRvQmFzaWNEYXRhU2V0cyhjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55IHtcclxuICByZXR1cm4ge1xyXG4gICAgbGFiZWxzOiBjaGFydERhdGEubGFiZWxzLFxyXG4gICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+IHtcclxuICAgICAgY29uc3QgY29sb3IgPSBkYXRhc2V0LmNvbG9yIHx8IGdlbmVyYXRlUmFuZG9tQ29sb3IoKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxyXG4gICAgICAgIGxhYmVsOiBkYXRhc2V0LmxhYmVsLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IsXHJcbiAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9yLFxyXG4gICAgICB9O1xyXG4gICAgfSksXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybURhdGFUb0Jhckxpa2VEYXRhU2V0KGNoYXJ0RGF0YTogRGlhZ3JhbURhdGFDb250YWluZXIpOiBhbnkge1xyXG4gIHJldHVybiB7XHJcbiAgICBsYWJlbHM6IGNoYXJ0RGF0YS5sYWJlbHMsXHJcbiAgICBkYXRhc2V0czogY2hhcnREYXRhLml0ZW1zLm1hcCgoZGF0YXNldCkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGRhdGE6IGRhdGFzZXQuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLnhWYWx1ZSksXHJcbiAgICAgICAgbGFiZWw6IGRhdGFzZXQubGFiZWwsXHJcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5pdGVtQ29sb3IgfHwgZ2VuZXJhdGVSYW5kb21Db2xvcigpKSxcclxuICAgICAgICBib3JkZXJDb2xvcjogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaXRlbUNvbG9yIHx8IGdlbmVyYXRlUmFuZG9tQ29sb3IoKSksXHJcbiAgICAgIH07XHJcbiAgICB9KSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtRGF0YVRvU2NhdHRlcihjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55IHtcclxuICByZXR1cm4ge1xyXG4gICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+IHtcclxuICAgICAgY29uc3QgY29sb3IgPSBkYXRhc2V0LmNvbG9yIHx8IGdlbmVyYXRlUmFuZG9tQ29sb3IoKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgIHg6IGl0ZW0ueFZhbHVlLFxyXG4gICAgICAgICAgeTogaXRlbS55VmFsdWUsXHJcbiAgICAgICAgfSkpLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IsXHJcbiAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9yLFxyXG4gICAgICB9O1xyXG4gICAgfSksXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybURhdGFUb0J1YmJsZShjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55IHtcclxuICByZXR1cm4ge1xyXG4gICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+IHtcclxuICAgICAgY29uc3QgY29sb3IgPSBkYXRhc2V0LmNvbG9yIHx8IGdlbmVyYXRlUmFuZG9tQ29sb3IoKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgIHg6IGl0ZW0ueFZhbHVlLFxyXG4gICAgICAgICAgeTogaXRlbS55VmFsdWUsXHJcbiAgICAgICAgICByOiBpdGVtLnJWYWx1ZSA/PyA1LFxyXG4gICAgICAgIH0pKSxcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLFxyXG4gICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcixcclxuICAgICAgfTtcclxuICAgIH0pLFxyXG4gIH07XHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJhc2ljT3B0aW9ucygpOiBhbnkge1xyXG4gIHJldHVybiB7XHJcbiAgICBzY2FsZXM6IHtcclxuICAgICAgeToge1xyXG4gICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLFxyXG4gICAgICAgIGdyYWNlOiAnNSUnLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIGRldmljZVBpeGVsUmF0aW86IDIsXHJcbiAgICBhc3BlY3RSYXRpbzogMS43OCxcclxuICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGJhckNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdiYXInLFxyXG4gIGNoYXJ0SnNUeXBlOiAnYmFyJyxcclxuICBjcmVhdGVPcHRpb25zOiBjcmVhdGVCYXNpY09wdGlvbnMsXHJcbiAgdHJhbnNmb3JtRGF0YTogdHJhbnNmb3JtRGF0YVRvQmFyTGlrZURhdGFTZXQsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaG9yaXpvbnRhbEJhckNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdob3Jpem9udGFsQmFyJyxcclxuICBjaGFydEpzVHlwZTogJ2JhcicsXHJcbiAgY3JlYXRlT3B0aW9uczogKCkgPT5cclxuICAgIGRlZXBNZXJnZShjcmVhdGVCYXNpY09wdGlvbnMoKSwge1xyXG4gICAgICBpbmRleEF4aXM6ICd5JyxcclxuICAgICAgbGF5b3V0OiB7XHJcbiAgICAgICAgcGFkZGluZzoge1xyXG4gICAgICAgICAgcmlnaHQ6IDUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0pLFxyXG4gIHRyYW5zZm9ybURhdGE6IHRyYW5zZm9ybURhdGFUb0Jhckxpa2VEYXRhU2V0LFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHN0YWNrZWRCYXJDaGFydDogRGlhZ3JhbUZhY3RvcnkgPSB7XHJcbiAgY2hhcnRUeXBlOiAnc3RhY2tlZEJhcicsXHJcbiAgY2hhcnRKc1R5cGU6ICdiYXInLFxyXG4gIGNyZWF0ZU9wdGlvbnM6ICgpID0+XHJcbiAgICBkZWVwTWVyZ2UoY3JlYXRlQmFzaWNPcHRpb25zKCksIHtcclxuICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgeDogeyBzdGFja2VkOiB0cnVlIH0sXHJcbiAgICAgICAgeTogeyBzdGFja2VkOiB0cnVlIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CYXNpY0RhdGFTZXRzLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGhvcml6b250YWxTdGFja2VkQmFyQ2hhcnQ6IERpYWdyYW1GYWN0b3J5ID0ge1xyXG4gIGNoYXJ0VHlwZTogJ2hvcml6b250YWxTdGFja2VkQmFyJyxcclxuICBjaGFydEpzVHlwZTogJ2JhcicsXHJcbiAgY3JlYXRlT3B0aW9uczogKCkgPT5cclxuICAgIGRlZXBNZXJnZShjcmVhdGVCYXNpY09wdGlvbnMoKSwge1xyXG4gICAgICBpbmRleEF4aXM6ICd5JyxcclxuICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgeDogeyBzdGFja2VkOiB0cnVlIH0sXHJcbiAgICAgICAgeToge1xyXG4gICAgICAgICAgc3RhY2tlZDogdHJ1ZSxcclxuICAgICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICAgIGF1dG9Ta2lwOiBmYWxzZSxcclxuICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uICh2YWx1ZTogYW55LCBpbmRleDogYW55LCB0aWNrczogYW55KSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSAodGhpcyBhcyBhbnkpLmdldExhYmVsRm9yVmFsdWUodmFsdWUpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IG1heCA9IDEwO1xyXG4gICAgICAgICAgICAgIGlmICghbGFiZWwpIHJldHVybiAnJztcclxuICAgICAgICAgICAgICBpZiAobGFiZWwubGVuZ3RoIDw9IG1heCkgcmV0dXJuIGxhYmVsO1xyXG4gICAgICAgICAgICAgIHJldHVybiBsYWJlbC5zcGxpdCgnICcpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBsYXlvdXQ6IHsgcGFkZGluZzogeyByaWdodDogNSB9IH0sXHJcbiAgICB9KSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CYXNpY0RhdGFTZXRzLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHBpZUNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdwaWUnLFxyXG4gIGNoYXJ0SnNUeXBlOiAncGllJyxcclxuICBjcmVhdGVPcHRpb25zOiAoKSA9PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICByYWRpdXM6ICc5NSUnLFxyXG4gICAgICBsYXlvdXQ6IHtcclxuICAgICAgICBwYWRkaW5nOiAwLFxyXG4gICAgICB9LFxyXG4gICAgICBhc3BlY3RSYXRpbzogMSxcclxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcclxuICAgIH07XHJcbiAgfSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CYXJMaWtlRGF0YVNldCxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBkb3VnaG51dENoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdkb3VnaG51dCcsXHJcbiAgY2hhcnRKc1R5cGU6ICdkb3VnaG51dCcsXHJcbiAgY3JlYXRlT3B0aW9uczogKCkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcmFkaXVzOiAnOTUlJyxcclxuICAgICAgbGF5b3V0OiB7XHJcbiAgICAgICAgcGFkZGluZzogMCxcclxuICAgICAgfSxcclxuICAgICAgYXNwZWN0UmF0aW86IDEsXHJcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgdHJhbnNmb3JtRGF0YTogdHJhbnNmb3JtRGF0YVRvQmFyTGlrZURhdGFTZXQsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcG9sYXJBcmVhQ2hhcnQ6IERpYWdyYW1GYWN0b3J5ID0ge1xyXG4gIGNoYXJ0VHlwZTogJ3BvbGFyQXJlYScsXHJcbiAgY2hhcnRKc1R5cGU6ICdwb2xhckFyZWEnLFxyXG4gIGNyZWF0ZU9wdGlvbnM6ICgpID0+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHJhZGl1czogJzk1JScsXHJcbiAgICAgIGxheW91dDoge1xyXG4gICAgICAgIHBhZGRpbmc6IDAsXHJcbiAgICAgIH0sXHJcbiAgICAgIGFzcGVjdFJhdGlvOiAxLFxyXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxyXG4gICAgfTtcclxuICB9LFxyXG4gIHRyYW5zZm9ybURhdGE6IChjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55ID0+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGxhYmVsczogY2hhcnREYXRhLmxhYmVscyxcclxuICAgICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+ICh7XHJcbiAgICAgICAgZGF0YTogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0ueFZhbHVlKSxcclxuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcclxuICAgICAgICBib3JkZXJDb2xvcjogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaXRlbUNvbG9yKSxcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGRhdGFzZXQuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLml0ZW1Db2xvciksXHJcbiAgICAgIH0pKSxcclxuICAgIH07XHJcbiAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCByYWRhckNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdyYWRhcicsXHJcbiAgY2hhcnRKc1R5cGU6ICdyYWRhcicsXHJcbiAgY3JlYXRlT3B0aW9uczogKCkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYXNwZWN0UmF0aW86IDEsXHJcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgdHJhbnNmb3JtRGF0YTogKGNoYXJ0RGF0YTogRGlhZ3JhbURhdGFDb250YWluZXIpOiBhbnkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbGFiZWxzOiBjaGFydERhdGEubGFiZWxzLFxyXG4gICAgICBkYXRhc2V0czogY2hhcnREYXRhLml0ZW1zLm1hcCgoZGF0YXNldCkgPT4gKHtcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxyXG4gICAgICAgIGxhYmVsOiBkYXRhc2V0LmxhYmVsLFxyXG4gICAgICAgIGJvcmRlckNvbG9yOiBkYXRhc2V0LmNvbG9yLFxyXG4gICAgICAgIHBvaW50QmFja2dyb3VuZENvbG9yOiBkYXRhc2V0LmNvbG9yLFxyXG4gICAgICAgIHBvaW50Qm9yZGVyQ29sb3I6IGRhdGFzZXQuY29sb3IsXHJcbiAgICAgICAgcG9pbnRIb3ZlckJhY2tncm91bmRDb2xvcjogJyMwMDAwMDAnLFxyXG4gICAgICAgIHBvaW50SG92ZXJCb3JkZXJDb2xvcjogZGF0YXNldC5jb2xvcixcclxuICAgICAgfSkpLFxyXG4gICAgfTtcclxuICB9LFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNjYXR0ZXJDaGFydDogRGlhZ3JhbUZhY3RvcnkgPSB7XHJcbiAgY2hhcnRUeXBlOiAnc2NhdHRlcicsXHJcbiAgY2hhcnRKc1R5cGU6ICdzY2F0dGVyJyxcclxuICBjcmVhdGVPcHRpb25zOiAoKSA9PlxyXG4gICAgZGVlcE1lcmdlKGNyZWF0ZUJhc2ljT3B0aW9ucygpLCB7XHJcbiAgICAgIHNjYWxlczoge1xyXG4gICAgICAgIHk6IHtcclxuICAgICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLFxyXG4gICAgICAgICAgZ3JhY2U6ICc1JScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB4OiB7XHJcbiAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSxcclxuICAgICAgICAgIGdyYWNlOiAnNSUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9TY2F0dGVyLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGJ1YmJsZUNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdidWJibGUnLFxyXG4gIGNoYXJ0SnNUeXBlOiAnYnViYmxlJyxcclxuICBjcmVhdGVPcHRpb25zOiAoKSA9PlxyXG4gICAgZGVlcE1lcmdlKGNyZWF0ZUJhc2ljT3B0aW9ucygpLCB7XHJcbiAgICAgIHNjYWxlczoge1xyXG4gICAgICAgIHk6IHtcclxuICAgICAgICAgIGJlZ2luQXRaZXJvOiB0cnVlLFxyXG4gICAgICAgICAgZ3JhY2U6ICc1JScsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB4OiB7XHJcbiAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSxcclxuICAgICAgICAgIGdyYWNlOiAnNSUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CdWJibGUsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbXVsdGlBeGlzTGluZUNoYXJ0OiBEaWFncmFtRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6ICdtdWx0aUF4aXNMaW5lJyxcclxuICBjaGFydEpzVHlwZTogJ2xpbmUnLFxyXG4gIGNyZWF0ZU9wdGlvbnM6IChjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55ID0+IHtcclxuICAgIGNvbnN0IHlBeGVzID0gY2hhcnREYXRhLml0ZW1zLm1hcCgoZGF0YXNldCwgaW5kZXgpID0+ICh7XHJcbiAgICAgIGlkOiBgeSR7aW5kZXggPT0gMSA/ICcnIDogaW5kZXh9YCxcclxuICAgICAgdHlwZTogJ2xpbmVhcicsXHJcbiAgICAgIHBvc2l0aW9uOiBpbmRleCAlIDIgPT09IDAgPyAnbGVmdCcgOiAncmlnaHQnLFxyXG4gICAgfSkpO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgLi4ueUF4ZXMucmVkdWNlKChhY2M6IGFueSwgYXhpcykgPT4ge1xyXG4gICAgICAgICAgYWNjW2F4aXMuaWRdID0gYXhpcztcclxuICAgICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgICAgfSwge30pLFxyXG4gICAgICB9LFxyXG4gICAgICBhc3BlY3RSYXRpbzogMS43OCxcclxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcclxuICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogdHJ1ZSxcclxuICAgIH07XHJcbiAgfSxcclxuICB0cmFuc2Zvcm1EYXRhOiAoY2hhcnREYXRhOiBEaWFncmFtRGF0YUNvbnRhaW5lcik6IGFueSA9PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBsYWJlbHM6IGNoYXJ0RGF0YS5sYWJlbHMsXHJcbiAgICAgIGRhdGFzZXRzOiBjaGFydERhdGEuaXRlbXMubWFwKChkYXRhc2V0LCBpbmRleCkgPT4gKHtcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxyXG4gICAgICAgIGxhYmVsOiBkYXRhc2V0LmxhYmVsLFxyXG4gICAgICAgIHlBeGlzSUQ6IGB5JHtpbmRleCA9PSAxID8gJycgOiBpbmRleH1gLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogZGF0YXNldC5jb2xvcixcclxuICAgICAgICBib3JkZXJDb2xvcjogZGF0YXNldC5jb2xvcixcclxuICAgICAgfSkpLFxyXG4gICAgfTtcclxuICB9LFxyXG59O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERlZmF1bHRDaGFydE9wdGlvbnNQcm92aWRlciB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBmYWN0b3JpZXNCeVR5cGU6IE1hcDxzdHJpbmcsIERpYWdyYW1GYWN0b3J5PjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQ1VTVE9NX0RJQUdSQU1fT1BUSU9OUylcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBmYWN0b3JpZXM6IERpYWdyYW1GYWN0b3J5W10gfCB1bmRlZmluZWRcclxuICApIHtcclxuICAgIHRoaXMuZmFjdG9yaWVzQnlUeXBlID0gbmV3IE1hcChmYWN0b3JpZXM/Lm1hcCgoZikgPT4gW2YuY2hhcnRUeXBlLCBmXSkgPz8gW10pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmFjdG9yeShjaGFydFR5cGU6IHN0cmluZyk6IERpYWdyYW1GYWN0b3J5IHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuZmFjdG9yaWVzQnlUeXBlLmdldChjaGFydFR5cGUpID8/IHtcclxuICAgICAgICBjaGFydFR5cGU6IGNoYXJ0VHlwZSxcclxuICAgICAgICBjaGFydEpzVHlwZTogY2hhcnRUeXBlLFxyXG4gICAgICAgIHRyYW5zZm9ybURhdGE6IHRyYW5zZm9ybURhdGFUb0Jhc2ljRGF0YVNldHMsXHJcbiAgICAgICAgY3JlYXRlT3B0aW9uczogY3JlYXRlQmFzaWNPcHRpb25zLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZ2VuZXJhdGVSYW5kb21Db2xvcigpOiBzdHJpbmcge1xyXG4gIGNvbnN0IHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDE2Nzc3MjE1KS50b1N0cmluZygxNik7XHJcbiAgcmV0dXJuIGAjJHsnMDAwMDAwJy5zdWJzdHJpbmcoMCwgNiAtIHJhbmRvbS5sZW5ndGgpICsgcmFuZG9tfWA7XHJcbn1cclxuIl19