@sapui5/sap.fe.core 1.124.2 → 1.126.0

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 (300) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +5 -1
  3. package/src/sap/fe/core/ActionRuntime.js +2 -2
  4. package/src/sap/fe/core/ActionRuntime.ts +4 -4
  5. package/src/sap/fe/core/AppComponent.js +2 -2
  6. package/src/sap/fe/core/AppComponent.ts +1 -1
  7. package/src/sap/fe/core/AppStateHandler.js +2 -2
  8. package/src/sap/fe/core/AppStateHandler.ts +1 -1
  9. package/src/sap/fe/core/BaseController.js +2 -2
  10. package/src/sap/fe/core/BaseController.ts +1 -1
  11. package/src/sap/fe/core/CommonUtils.js +3 -3
  12. package/src/sap/fe/core/CommonUtils.ts +12 -15
  13. package/src/sap/fe/core/ExtensionAPI.js +2 -2
  14. package/src/sap/fe/core/ExtensionAPI.ts +4 -3
  15. package/src/sap/fe/core/PageController.js +2 -2
  16. package/src/sap/fe/core/PageController.ts +1 -1
  17. package/src/sap/fe/core/ResourceModel.js +2 -2
  18. package/src/sap/fe/core/ResourceModel.ts +1 -1
  19. package/src/sap/fe/core/ReuseComponent.js +172 -0
  20. package/src/sap/fe/core/ReuseComponent.ts +165 -0
  21. package/src/sap/fe/core/TemplateComponent.js +2 -2
  22. package/src/sap/fe/core/TemplateComponent.ts +5 -1
  23. package/src/sap/fe/core/TemplateModel.js +2 -2
  24. package/src/sap/fe/core/TemplateModel.ts +1 -1
  25. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +92 -6
  26. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +90 -10
  27. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.js +1 -1
  28. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.ts +1 -1
  29. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.js +30 -3
  30. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.ts +28 -4
  31. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.js +10 -16
  32. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.ts +19 -16
  33. package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlockFragment.js +3 -3
  34. package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlockFragment.ts +5 -5
  35. package/src/sap/fe/core/controllerextensions/BaseControllerExtension.js +2 -2
  36. package/src/sap/fe/core/controllerextensions/BaseControllerExtension.ts +1 -1
  37. package/src/sap/fe/core/controllerextensions/CollaborativeDraft.js +17 -5
  38. package/src/sap/fe/core/controllerextensions/CollaborativeDraft.ts +14 -6
  39. package/src/sap/fe/core/controllerextensions/ContextSharing.js +2 -2
  40. package/src/sap/fe/core/controllerextensions/ContextSharing.ts +1 -1
  41. package/src/sap/fe/core/controllerextensions/EditFlow.js +57 -43
  42. package/src/sap/fe/core/controllerextensions/EditFlow.ts +61 -46
  43. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +2 -2
  44. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +1 -1
  45. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +8 -11
  46. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +8 -16
  47. package/src/sap/fe/core/controllerextensions/InternalRouting.js +10 -7
  48. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +5 -5
  49. package/src/sap/fe/core/controllerextensions/KPIManagement.js +22 -18
  50. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +28 -23
  51. package/src/sap/fe/core/controllerextensions/MessageHandler.js +4 -4
  52. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +4 -1
  53. package/src/sap/fe/core/controllerextensions/PageReady.js +21 -15
  54. package/src/sap/fe/core/controllerextensions/PageReady.ts +29 -20
  55. package/src/sap/fe/core/controllerextensions/Paginator.js +2 -2
  56. package/src/sap/fe/core/controllerextensions/Paginator.ts +1 -1
  57. package/src/sap/fe/core/controllerextensions/Placeholder.js +12 -6
  58. package/src/sap/fe/core/controllerextensions/Placeholder.ts +15 -1
  59. package/src/sap/fe/core/controllerextensions/Recommendations.js +26 -8
  60. package/src/sap/fe/core/controllerextensions/Recommendations.ts +29 -3
  61. package/src/sap/fe/core/controllerextensions/Routing.js +5 -7
  62. package/src/sap/fe/core/controllerextensions/Routing.ts +4 -4
  63. package/src/sap/fe/core/controllerextensions/Share.js +4 -4
  64. package/src/sap/fe/core/controllerextensions/Share.ts +10 -6
  65. package/src/sap/fe/core/controllerextensions/SideEffects.js +20 -5
  66. package/src/sap/fe/core/controllerextensions/SideEffects.ts +22 -2
  67. package/src/sap/fe/core/controllerextensions/Telemetry.js +2 -2
  68. package/src/sap/fe/core/controllerextensions/Telemetry.ts +1 -1
  69. package/src/sap/fe/core/controllerextensions/ViewState.js +79 -81
  70. package/src/sap/fe/core/controllerextensions/ViewState.ts +117 -105
  71. package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.js +3 -3
  72. package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.ts +1 -1
  73. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +2 -2
  74. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +2 -2
  75. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +17 -8
  76. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +8 -2
  77. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +1 -1
  78. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +10 -9
  79. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +15 -10
  80. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +2 -2
  81. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +1 -1
  82. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +130 -158
  83. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +240 -275
  84. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +2 -2
  85. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +1 -1
  86. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +46 -28
  87. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +60 -32
  88. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +2 -2
  89. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +1 -1
  90. package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributor.js +2 -2
  91. package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributor.ts +27 -3
  92. package/src/sap/fe/core/controls/CommandExecution.js +2 -2
  93. package/src/sap/fe/core/controls/CommandExecution.ts +2 -2
  94. package/src/sap/fe/core/controls/ComponentLoader.js +3 -3
  95. package/src/sap/fe/core/controls/ComponentLoader.ts +2 -2
  96. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js +3 -3
  97. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.tsx +2 -2
  98. package/src/sap/fe/core/controls/EventDelegateHook.js +2 -2
  99. package/src/sap/fe/core/controls/EventDelegateHook.ts +2 -2
  100. package/src/sap/fe/core/controls/FormElementWrapper.js +51 -6
  101. package/src/sap/fe/core/controls/FormElementWrapper.ts +43 -2
  102. package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.js +3 -3
  103. package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.tsx +3 -3
  104. package/src/sap/fe/core/converters/ConverterContext.js +4 -2
  105. package/src/sap/fe/core/converters/ConverterContext.ts +5 -2
  106. package/src/sap/fe/core/converters/ManifestSettings.js +8 -2
  107. package/src/sap/fe/core/converters/ManifestSettings.ts +25 -3
  108. package/src/sap/fe/core/converters/ManifestWrapper.js +12 -3
  109. package/src/sap/fe/core/converters/ManifestWrapper.ts +11 -1
  110. package/src/sap/fe/core/converters/MetaModelConverter.js +7 -6
  111. package/src/sap/fe/core/converters/MetaModelConverter.ts +6 -2
  112. package/src/sap/fe/core/converters/annotations/DataField.js +56 -16
  113. package/src/sap/fe/core/converters/annotations/DataField.ts +74 -25
  114. package/src/sap/fe/core/converters/common/AnnotationConverter.js +19 -18
  115. package/src/sap/fe/core/converters/controls/Common/Action.js +5 -5
  116. package/src/sap/fe/core/converters/controls/Common/Action.ts +14 -14
  117. package/src/sap/fe/core/converters/controls/Common/Chart.js +40 -7
  118. package/src/sap/fe/core/converters/controls/Common/Chart.ts +56 -20
  119. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +8 -11
  120. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +23 -27
  121. package/src/sap/fe/core/converters/controls/Common/Form.js +10 -3
  122. package/src/sap/fe/core/converters/controls/Common/Form.ts +13 -4
  123. package/src/sap/fe/core/converters/controls/Common/KPI.js +3 -2
  124. package/src/sap/fe/core/converters/controls/Common/KPI.ts +6 -2
  125. package/src/sap/fe/core/converters/controls/Common/Table.js +137 -48
  126. package/src/sap/fe/core/converters/controls/Common/Table.ts +174 -52
  127. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +73 -21
  128. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +91 -20
  129. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +4 -4
  130. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +2 -2
  131. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +2 -2
  132. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +2 -2
  133. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +3 -3
  134. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +1 -1
  135. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +17 -16
  136. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +18 -17
  137. package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +2 -2
  138. package/src/sap/fe/core/converters/helpers/InsightsHelpers.ts +1 -1
  139. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +9 -9
  140. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +12 -12
  141. package/src/sap/fe/core/converters/templates/ListReportConverter.js +13 -7
  142. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +12 -5
  143. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +9 -73
  144. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +4 -74
  145. package/src/sap/fe/core/designtime/AppComponent.designtime.js +5 -10
  146. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +3 -12
  147. package/src/sap/fe/core/formatters/CriticalityFormatter.js +4 -7
  148. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +3 -3
  149. package/src/sap/fe/core/formatters/FiscalFormat.js +5 -3
  150. package/src/sap/fe/core/formatters/FiscalFormat.ts +4 -2
  151. package/src/sap/fe/core/formatters/StandardFormatter.js +2 -2
  152. package/src/sap/fe/core/formatters/StandardFormatter.ts +3 -3
  153. package/src/sap/fe/core/fpm/Component.js +3 -3
  154. package/src/sap/fe/core/fpm/Component.ts +3 -3
  155. package/src/sap/fe/core/fpm/manifest.json +1 -1
  156. package/src/sap/fe/core/helpers/AdaptiveCardExpressionCompiler.js +2 -2
  157. package/src/sap/fe/core/helpers/AdaptiveCardExpressionCompiler.ts +1 -1
  158. package/src/sap/fe/core/helpers/BindingHelper.js +2 -2
  159. package/src/sap/fe/core/helpers/BindingHelper.ts +2 -2
  160. package/src/sap/fe/core/helpers/BindingToolkitEvaluator.js +2 -2
  161. package/src/sap/fe/core/helpers/BindingToolkitEvaluator.ts +2 -2
  162. package/src/sap/fe/core/helpers/DeleteHelper.js +7 -4
  163. package/src/sap/fe/core/helpers/DeleteHelper.ts +9 -3
  164. package/src/sap/fe/core/helpers/MetaModelFunction.js +5 -5
  165. package/src/sap/fe/core/helpers/MetaModelFunction.ts +2 -2
  166. package/src/sap/fe/core/helpers/MetaPath.js +9 -3
  167. package/src/sap/fe/core/helpers/MetaPath.ts +8 -2
  168. package/src/sap/fe/core/helpers/ModelHelper.js +149 -3
  169. package/src/sap/fe/core/helpers/ModelHelper.ts +202 -6
  170. package/src/sap/fe/core/helpers/StandardRecommendationHelper.js +3 -3
  171. package/src/sap/fe/core/helpers/StandardRecommendationHelper.ts +2 -2
  172. package/src/sap/fe/core/helpers/TitleHelper.js +4 -4
  173. package/src/sap/fe/core/helpers/TitleHelper.ts +4 -4
  174. package/src/sap/fe/core/library.js +4 -4
  175. package/src/sap/fe/core/library.ts +2 -1
  176. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +11 -3
  177. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +10 -2
  178. package/src/sap/fe/core/messagebundle.properties +8 -57
  179. package/src/sap/fe/core/messagebundle_ar.properties +2 -0
  180. package/src/sap/fe/core/messagebundle_bg.properties +2 -0
  181. package/src/sap/fe/core/messagebundle_ca.properties +2 -0
  182. package/src/sap/fe/core/messagebundle_cnr.properties +2 -0
  183. package/src/sap/fe/core/messagebundle_cs.properties +2 -0
  184. package/src/sap/fe/core/messagebundle_cy.properties +4 -2
  185. package/src/sap/fe/core/messagebundle_da.properties +2 -0
  186. package/src/sap/fe/core/messagebundle_de.properties +2 -0
  187. package/src/sap/fe/core/messagebundle_el.properties +2 -0
  188. package/src/sap/fe/core/messagebundle_en.properties +6 -57
  189. package/src/sap/fe/core/messagebundle_en_GB.properties +2 -0
  190. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +3 -36
  191. package/src/sap/fe/core/messagebundle_es.properties +2 -0
  192. package/src/sap/fe/core/messagebundle_es_MX.properties +2 -0
  193. package/src/sap/fe/core/messagebundle_et.properties +2 -0
  194. package/src/sap/fe/core/messagebundle_fi.properties +2 -0
  195. package/src/sap/fe/core/messagebundle_fr.properties +2 -0
  196. package/src/sap/fe/core/messagebundle_fr_CA.properties +3 -1
  197. package/src/sap/fe/core/messagebundle_hi.properties +2 -0
  198. package/src/sap/fe/core/messagebundle_hr.properties +2 -0
  199. package/src/sap/fe/core/messagebundle_hu.properties +3 -1
  200. package/src/sap/fe/core/messagebundle_id.properties +2 -0
  201. package/src/sap/fe/core/messagebundle_it.properties +2 -0
  202. package/src/sap/fe/core/messagebundle_iw.properties +3 -1
  203. package/src/sap/fe/core/messagebundle_ja.properties +2 -0
  204. package/src/sap/fe/core/messagebundle_kk.properties +2 -0
  205. package/src/sap/fe/core/messagebundle_ko.properties +2 -0
  206. package/src/sap/fe/core/messagebundle_lt.properties +2 -0
  207. package/src/sap/fe/core/messagebundle_lv.properties +2 -0
  208. package/src/sap/fe/core/messagebundle_mk.properties +2 -0
  209. package/src/sap/fe/core/messagebundle_ms.properties +2 -0
  210. package/src/sap/fe/core/messagebundle_nl.properties +2 -0
  211. package/src/sap/fe/core/messagebundle_no.properties +2 -0
  212. package/src/sap/fe/core/messagebundle_pl.properties +2 -0
  213. package/src/sap/fe/core/messagebundle_pt.properties +2 -0
  214. package/src/sap/fe/core/messagebundle_pt_PT.properties +2 -0
  215. package/src/sap/fe/core/messagebundle_ro.properties +2 -0
  216. package/src/sap/fe/core/messagebundle_ru.properties +2 -0
  217. package/src/sap/fe/core/messagebundle_sh.properties +64 -62
  218. package/src/sap/fe/core/messagebundle_sk.properties +2 -0
  219. package/src/sap/fe/core/messagebundle_sl.properties +2 -0
  220. package/src/sap/fe/core/messagebundle_sr.properties +2 -0
  221. package/src/sap/fe/core/messagebundle_sv.properties +2 -0
  222. package/src/sap/fe/core/messagebundle_th.properties +2 -0
  223. package/src/sap/fe/core/messagebundle_tr.properties +2 -0
  224. package/src/sap/fe/core/messagebundle_uk.properties +3 -1
  225. package/src/sap/fe/core/messagebundle_vi.properties +2 -0
  226. package/src/sap/fe/core/messagebundle_zh_CN.properties +2 -0
  227. package/src/sap/fe/core/messagebundle_zh_TW.properties +2 -0
  228. package/src/sap/fe/core/operationsHelper.js +3 -3
  229. package/src/sap/fe/core/operationsHelper.ts +2 -2
  230. package/src/sap/fe/core/rootView/Fcl.controller.js +3 -3
  231. package/src/sap/fe/core/rootView/Fcl.controller.ts +2 -2
  232. package/src/sap/fe/core/rootView/NavContainer.controller.js +2 -2
  233. package/src/sap/fe/core/rootView/NavContainer.controller.ts +1 -1
  234. package/src/sap/fe/core/rootView/RootViewBaseController.js +114 -92
  235. package/src/sap/fe/core/rootView/RootViewBaseController.ts +120 -106
  236. package/src/sap/fe/core/services/CollaborativeToolsServiceFactory.js +2 -2
  237. package/src/sap/fe/core/services/CollaborativeToolsServiceFactory.ts +1 -1
  238. package/src/sap/fe/core/services/NavigationServiceFactory.js +6 -4
  239. package/src/sap/fe/core/services/NavigationServiceFactory.ts +4 -3
  240. package/src/sap/fe/core/services/RoutingServiceFactory.js +2 -2
  241. package/src/sap/fe/core/services/RoutingServiceFactory.ts +1 -1
  242. package/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
  243. package/src/sap/fe/core/services/ShellServicesFactory.ts +12 -2
  244. package/src/sap/fe/core/services/TelemetryServiceFactory.js +8 -2
  245. package/src/sap/fe/core/services/TelemetryServiceFactory.ts +7 -1
  246. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +16 -9
  247. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +22 -11
  248. package/src/sap/fe/core/services/ValueHelpHistoryServiceFactory.js +2 -2
  249. package/src/sap/fe/core/services/ValueHelpHistoryServiceFactory.ts +1 -1
  250. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +2 -2
  251. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +1 -1
  252. package/src/sap/fe/core/templating/ActionHelper.js +2 -2
  253. package/src/sap/fe/core/templating/ActionHelper.ts +2 -2
  254. package/src/sap/fe/core/templating/CommonFormatters.js +2 -2
  255. package/src/sap/fe/core/templating/CommonFormatters.ts +3 -3
  256. package/src/sap/fe/core/templating/CriticalityFormatters.js +2 -2
  257. package/src/sap/fe/core/templating/CriticalityFormatters.ts +2 -2
  258. package/src/sap/fe/core/templating/DataFieldFormatters.js +4 -4
  259. package/src/sap/fe/core/templating/DataFieldFormatters.ts +2 -2
  260. package/src/sap/fe/core/templating/DataModelPathHelper.js +2 -2
  261. package/src/sap/fe/core/templating/DataModelPathHelper.ts +2 -2
  262. package/src/sap/fe/core/templating/EntityTypeHelper.js +2 -2
  263. package/src/sap/fe/core/templating/EntityTypeHelper.ts +2 -2
  264. package/src/sap/fe/core/templating/FieldControlHelper.js +2 -2
  265. package/src/sap/fe/core/templating/FieldControlHelper.ts +2 -2
  266. package/src/sap/fe/core/templating/SemanticObjectHelper.js +2 -2
  267. package/src/sap/fe/core/templating/SemanticObjectHelper.ts +2 -2
  268. package/src/sap/fe/core/templating/UIFormatters.js +7 -7
  269. package/src/sap/fe/core/templating/UIFormatters.ts +6 -6
  270. package/src/sap/fe/core/type/DateTimeWithTimezone.js +2 -2
  271. package/src/sap/fe/core/type/DateTimeWithTimezone.ts +1 -1
  272. package/src/sap/fe/core/type/Email.js +2 -2
  273. package/src/sap/fe/core/type/Email.ts +1 -1
  274. package/src/sap/fe/core/type/FiscalDate.js +2 -2
  275. package/src/sap/fe/core/type/FiscalDate.ts +1 -1
  276. package/src/sap/fe/core/type/InputMask.js +124 -0
  277. package/src/sap/fe/core/type/InputMask.ts +131 -0
  278. package/ui5.yaml +19 -0
  279. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +0 -81
  280. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +0 -117
  281. package/src/sap/fe/core/helpers/AnnotationEnum.js +0 -33
  282. package/src/sap/fe/core/helpers/AnnotationEnum.ts +0 -21
  283. package/src/sap/fe/core/helpers/BindingToolkit.js +0 -1813
  284. package/src/sap/fe/core/helpers/BindingToolkit.ts +0 -2450
  285. package/src/sap/fe/core/helpers/ClassSupport.js +0 -584
  286. package/src/sap/fe/core/helpers/ClassSupport.ts +0 -697
  287. package/src/sap/fe/core/jsx-runtime/Fragment.js +0 -14
  288. package/src/sap/fe/core/jsx-runtime/Fragment.ts +0 -3
  289. package/src/sap/fe/core/jsx-runtime/ViewLoader.js +0 -93
  290. package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +0 -86
  291. package/src/sap/fe/core/jsx-runtime/jsx-control.js +0 -177
  292. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +0 -197
  293. package/src/sap/fe/core/jsx-runtime/jsx-xml.js +0 -237
  294. package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +0 -246
  295. package/src/sap/fe/core/jsx-runtime/jsx.js +0 -47
  296. package/src/sap/fe/core/jsx-runtime/jsx.ts +0 -71
  297. package/src/sap/fe/core/jsx-runtime/jsxs.js +0 -10
  298. package/src/sap/fe/core/jsx-runtime/jsxs.ts +0 -3
  299. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +0 -172
  300. package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +0 -194
@@ -1,13 +1,10 @@
1
1
  import Log from "sap/base/Log";
2
2
  import mergeObjects from "sap/base/util/merge";
3
3
  import type DynamicPage from "sap/f/DynamicPage";
4
+ import { defineUI5Class, extensible, finalExtension, privateExtension, publicExtension } from "sap/fe/base/ClassSupport";
4
5
  import type { FEView } from "sap/fe/core/BaseController";
5
- import CommonUtils from "sap/fe/core/CommonUtils";
6
6
  import type PageController from "sap/fe/core/PageController";
7
7
  import type IViewStateContributor from "sap/fe/core/controllerextensions/viewState/IViewStateContributor";
8
- import { defineUI5Class, extensible, finalExtension, privateExtension, publicExtension } from "sap/fe/core/helpers/ClassSupport";
9
- import KeepAliveHelper from "sap/fe/core/helpers/KeepAliveHelper";
10
- import ModelHelper from "sap/fe/core/helpers/ModelHelper";
11
8
  import type FilterBarAPI from "sap/fe/macros/filterBar/FilterBarAPI";
12
9
  import type SelectionVariant from "sap/fe/navigation/SelectionVariant";
13
10
  import NavLibrary from "sap/fe/navigation/library";
@@ -30,9 +27,6 @@ import type FilterBarBase from "sap/ui/mdc/filterbar/FilterBarBase";
30
27
 
31
28
  import type StateUtil from "sap/ui/mdc/p13n/StateUtil";
32
29
  import type { PropertyInfo } from "sap/ui/mdc/util/PropertyHelper";
33
- import type ODataV4Context from "sap/ui/model/odata/v4/Context";
34
- import type ObjectPageLayout from "sap/uxap/ObjectPageLayout";
35
- import type { MetaModelNavProperty } from "types/metamodel_types";
36
30
  import type FclController from "../rootView/Fcl.controller";
37
31
  import type NavContainerController from "../rootView/NavContainer.controller";
38
32
 
@@ -86,6 +80,9 @@ export type ControlState =
86
80
  } & Record<string, unknown>)
87
81
  | undefined;
88
82
 
83
+ export type NavParameters = {
84
+ navigationType?: string;
85
+ };
89
86
  export type FilterBarState = {
90
87
  filter?: Record<string, Array<object>>;
91
88
  } & Record<string, unknown>;
@@ -93,18 +90,17 @@ export type FilterBarState = {
93
90
  ///////////////////////////////////////////////////////////////////
94
91
  // methods to retrieve & apply states for the different controls //
95
92
  ///////////////////////////////////////////////////////////////////
96
- type ControlStateHandler<T extends ManagedObject, K extends unknown | undefined> = {
97
- retrieve: (oControl: T) => K | Promise<K>;
98
- apply: (oControl: T, controlState: K, navParameters?: NavigationParameter, skipMerge?: boolean) => Promise<void> | void;
93
+ export type ControlStateHandler<T extends ManagedObject, K extends unknown | undefined> = {
94
+ retrieve?: (oControl: T) => K | Promise<K>;
95
+ apply?: (oControl: T, controlState: K, navParameters?: NavigationParameter, skipMerge?: boolean) => Promise<void> | void;
99
96
  refreshBinding?: (oControl: T) => void;
100
97
  };
101
98
  type ControlStateMap = {
102
99
  "sap.ui.fl.variants.VariantManagement": ControlStateHandler<VariantManagement, { variantId: string | null }>;
103
100
  "sap.fe.templates.ListReport.controls.MultipleModeControl": ControlStateHandler<MultipleModeControl, { selectedKey: string }>;
104
- "sap.ui.mdc.FilterBar": ControlStateHandler<FilterBar, ControlState>;
105
101
  "sap.ui.mdc.Table": ControlStateHandler<MDCTable, ControlState>;
102
+ "sap.ui.mdc.FilterBar": ControlStateHandler<FilterBar, ControlState>;
106
103
  "sap.ui.mdc.Chart": ControlStateHandler<Chart, ControlState>;
107
- "sap.uxap.ObjectPageLayout": ControlStateHandler<ObjectPageLayout, { selectedSection: string }>;
108
104
  "sap.m.SegmentedButton": ControlStateHandler<SegmentedButton, { selectedKey: string }>;
109
105
  "sap.m.Select": ControlStateHandler<Select, { selectedKey: string }>;
110
106
  "sap.f.DynamicPage": ControlStateHandler<DynamicPage, { headerExpanded: boolean }>;
@@ -238,47 +234,6 @@ const _mControlStateHandlerMap: ControlStateMap = {
238
234
  }
239
235
  },
240
236
  "sap.ui.mdc.Table": {
241
- retrieve: async function (this: ViewState, table: MDCTable) {
242
- const controlStateKey = this.getStateKey(table);
243
- const tableState = await (await getStateUtil()).retrieveExternalState(table);
244
- return this._getControlState(controlStateKey, tableState);
245
- },
246
- apply: async function (
247
- this: ViewState,
248
- table: MDCTable,
249
- controlState: ControlState,
250
- navParameters?: NavigationParameter,
251
- skipMerge?: boolean
252
- ) {
253
- try {
254
- if (controlState) {
255
- // Extra condition added to apply the diff state logic for mdc control
256
- const isInitialStateApplicable = this._isInitialStatesApplicable(
257
- controlState?.initialState,
258
- table,
259
- skipMerge,
260
- navParameters?.navigationType !== NavType.hybrid
261
- );
262
-
263
- if (isInitialStateApplicable) {
264
- if (controlState.initialState && !controlState.initialState?.supplementaryConfig) {
265
- controlState.initialState.supplementaryConfig = {};
266
- }
267
- const oDiffState = await (
268
- await getStateUtil()
269
- ).diffState(table, controlState.initialState as object, controlState.fullState as object);
270
- return await (await getStateUtil()).applyExternalState(table, oDiffState);
271
- } else {
272
- if (!controlState.supplementaryConfig) {
273
- controlState.supplementaryConfig = {};
274
- }
275
- return await (await getStateUtil()).applyExternalState(table, controlState?.fullState ?? controlState);
276
- }
277
- }
278
- } catch (error) {
279
- Log.error(error as string);
280
- }
281
- },
282
237
  refreshBinding: function (oTable: MDCTable) {
283
238
  const oTableBinding = oTable.getRowBinding();
284
239
  if (oTableBinding) {
@@ -331,53 +286,6 @@ const _mControlStateHandlerMap: ControlStateMap = {
331
286
  }
332
287
  }
333
288
  },
334
- "sap.uxap.ObjectPageLayout": {
335
- retrieve: function (oOPLayout: ObjectPageLayout): { selectedSection: string } {
336
- return {
337
- selectedSection: oOPLayout.getSelectedSection()
338
- };
339
- },
340
- apply: function (this: ViewState, oOPLayout: ObjectPageLayout, oControlState?: { selectedSection: string }): void {
341
- if (oControlState) {
342
- oOPLayout.setSelectedSection(oControlState.selectedSection);
343
- }
344
- },
345
- refreshBinding: function (oOPLayout: ObjectPageLayout) {
346
- const oBindingContext = oOPLayout.getBindingContext() as ODataV4Context | undefined;
347
- const oBinding = oBindingContext && oBindingContext.getBinding();
348
- if (oBinding) {
349
- const sMetaPath = ModelHelper.getMetaPathForContext(oBindingContext);
350
- const sStrategy = KeepAliveHelper.getControlRefreshStrategyForContextPath(oOPLayout, sMetaPath);
351
- if (sStrategy === "self") {
352
- // Refresh main context and 1-1 navigation properties or OP
353
- const oModel = oBindingContext.getModel(),
354
- oMetaModel = oModel.getMetaModel(),
355
- oNavigationProperties: Record<string, MetaModelNavProperty> =
356
- (CommonUtils.getContextPathProperties(oMetaModel, sMetaPath, {
357
- $kind: "NavigationProperty"
358
- }) as Record<string, MetaModelNavProperty>) || {},
359
- aNavPropertiesToRequest = Object.keys(oNavigationProperties).reduce(function (
360
- aPrev: { $NavigationPropertyPath: string }[],
361
- sNavProp: string
362
- ) {
363
- if (oNavigationProperties[sNavProp].$isCollection !== true) {
364
- aPrev.push({ $NavigationPropertyPath: sNavProp });
365
- }
366
- return aPrev;
367
- }, []),
368
- aProperties: ({ $NavigationPropertyPath: string } | { $PropertyPath: string })[] = [{ $PropertyPath: "*" }],
369
- sGroupId = oBinding.getGroupId();
370
-
371
- oBindingContext.requestSideEffects(aProperties.concat(aNavPropertiesToRequest), sGroupId);
372
- } else if (sStrategy === "includingDependents") {
373
- // Complete refresh
374
- oBinding.refresh();
375
- }
376
- } else {
377
- Log.info(`ObjectPage: ${oOPLayout.getId()} was not refreshed. No binding found!`);
378
- }
379
- }
380
- },
381
289
  "sap.m.SegmentedButton": {
382
290
  retrieve: function (oSegmentedButton: SegmentedButton): { selectedKey: string } {
383
291
  return {
@@ -493,6 +401,12 @@ class ViewState extends ControllerExtension {
493
401
 
494
402
  _currentViewState?: Record<string, unknown>;
495
403
 
404
+ configOfStateApply?: {
405
+ skipMerge?: boolean | undefined;
406
+ navTypeParameters?: NavParameters;
407
+ state?: Record<string, unknown>;
408
+ };
409
+
496
410
  private updateAppStateTimer: number | undefined;
497
411
 
498
412
  /**
@@ -686,8 +600,33 @@ class ViewState extends ControllerExtension {
686
600
  oControl.applyState
687
601
  ) {
688
602
  aInternalControlStateHandler.push({
689
- retrieve: (_control) => oControl.retrieveState.bind(oControl)(),
690
- apply: (_control: ManagedObject, controlState: object) => oControl.applyState.bind(oControl)(controlState)
603
+ // eslint-disable-next-line @typescript-eslint/require-await
604
+ retrieve: async (_control) => oControl.retrieveState.bind(oControl)(),
605
+
606
+ apply: async (
607
+ _control: ManagedObject,
608
+ controlState: object,
609
+ oNavParameters: NavigationParameter | undefined,
610
+ skipMerge: boolean | undefined
611
+ // eslint-disable-next-line @typescript-eslint/require-await
612
+ ) => {
613
+ const shouldApplyDiffState =
614
+ !this.invalidateInitialStateForApply.includes(oControl.getId()) &&
615
+ !this.controlsVariantIdUnavailable.includes(oControl.getId()) &&
616
+ oNavParameters?.navigationType !== NavType.hybrid &&
617
+ skipMerge !== true;
618
+ if (!controlState) {
619
+ if (oControl.applyLegacyState) {
620
+ oControl.applyLegacyState.bind(oControl)(
621
+ this.getControlState.bind(this),
622
+ oNavParameters,
623
+ shouldApplyDiffState
624
+ );
625
+ }
626
+ } else {
627
+ oControl.applyState.bind(oControl)(controlState, oNavParameters, shouldApplyDiffState);
628
+ }
629
+ }
691
630
  });
692
631
  } else {
693
632
  for (const sType in _mControlStateHandlerMap) {
@@ -770,6 +709,10 @@ class ViewState extends ControllerExtension {
770
709
  oCurrentState[mState.key] = mState.value;
771
710
  return mergeObjects(oStates, oCurrentState);
772
711
  }, {});
712
+ const prevState = this._currentViewState;
713
+ if (prevState && Object.keys(prevState).length > 0) {
714
+ this._addMissingState(oViewState, prevState);
715
+ }
773
716
  const mAdditionalStates = await Promise.resolve(this._retrieveAdditionalStates());
774
717
  if (mAdditionalStates && Object.keys(mAdditionalStates).length) {
775
718
  oViewState[ADDITIONAL_STATES_KEY] = mAdditionalStates;
@@ -781,6 +724,19 @@ class ViewState extends ControllerExtension {
781
724
  return this._iRetrievingStateCounter === 0 ? oViewState : undefined;
782
725
  }
783
726
 
727
+ // To carry forward unapplied state lost due to lazy loading of controls.
728
+ //
729
+ // If user 1 changes a control's state in a lazy-loaded section and navigates away, then shares the URL with user 2,
730
+ // who doesn't visit the lazy-loaded section, the control's state is missed in the new app state.
731
+ // This ensures the full state from user 1 is preserved and transferred to user 3 when the URL is shared.
732
+ _addMissingState(oViewState: Record<string, unknown>, prevState: Record<string, unknown>): void {
733
+ for (const key in prevState) {
734
+ if (!(key in oViewState)) {
735
+ oViewState[key] = prevState[key];
736
+ }
737
+ }
738
+ }
739
+
784
740
  /**
785
741
  * Extend the map of additional states (not control bound) to be added to the current view state of the given view.
786
742
  *
@@ -851,6 +807,22 @@ class ViewState extends ControllerExtension {
851
807
  return true;
852
808
  }
853
809
 
810
+ /**
811
+ * Retrieves the state of a specific control.
812
+ *
813
+ * @param control The managed control object whose state is to be retrieved.
814
+ * @returns - The state of the specified control.
815
+ */
816
+ getControlState(control: ManagedObject): ControlState {
817
+ const oViewState = this._currentViewState;
818
+ let controlState: ControlState = {};
819
+ if (oViewState) {
820
+ const controlKey = this.getStateKey(control);
821
+ controlState = oViewState[controlKey] as Record<string, ControlState>;
822
+ }
823
+ return controlState;
824
+ }
825
+
854
826
  /**
855
827
  * Applies the given view state to this extensions view.
856
828
  *
@@ -886,8 +858,14 @@ class ViewState extends ControllerExtension {
886
858
  let oPromiseChain = Promise.resolve();
887
859
  let hasVariantManagement = false;
888
860
  this._currentViewState = oViewState;
861
+
862
+ this.configOfStateApply = this.configOfStateApply ?? {};
863
+ this.configOfStateApply.skipMerge = skipMerge;
864
+ this.configOfStateApply.navTypeParameters = oNavParameter;
865
+ this.configOfStateApply.state = oViewState;
866
+
889
867
  /**
890
- * this ensures that variantManagement control is applied first to calculate initial state for delta logic
868
+ * This ensures that variantManagement control is applied first to calculate the initial state for delta logic
891
869
  */
892
870
  const sortedAdaptStateControls = aControls.reduce((modifiedControls: ManagedObject[], control) => {
893
871
  if (!control) {
@@ -1120,8 +1098,17 @@ class ViewState extends ControllerExtension {
1120
1098
  if (this._currentViewState) {
1121
1099
  const controlKey = this.getStateKey(stateContributor);
1122
1100
  const controlState = this._currentViewState[controlKey];
1123
- if (controlState) {
1124
- stateContributor.applyState(controlState);
1101
+ const navigationType = this.configOfStateApply?.navTypeParameters?.navigationType;
1102
+ const skipMerge = this.configOfStateApply?.skipMerge;
1103
+ if (controlState && controlState === this.configOfStateApply?.state?.[controlKey]) {
1104
+ // To check whether diffstate shuold be called or not to applyExternalState
1105
+ const shouldApplyDiffState =
1106
+ !this.invalidateInitialStateForApply.includes(stateContributor.getId()) &&
1107
+ !this.controlsVariantIdUnavailable.includes(stateContributor.getId()) &&
1108
+ navigationType !== NavType.hybrid &&
1109
+ skipMerge !== true;
1110
+
1111
+ stateContributor.applyState(controlState, undefined, shouldApplyDiffState);
1125
1112
  } else {
1126
1113
  this.updateAppStateDebounced();
1127
1114
  }
@@ -1165,6 +1152,8 @@ class ViewState extends ControllerExtension {
1165
1152
  let initialControlStates: object[] = [];
1166
1153
  const variantControls: string[] = variantManagement?.getFor() ?? [];
1167
1154
 
1155
+ this.updateInitialState(variantControls);
1156
+
1168
1157
  await Promise.all(
1169
1158
  adaptControls
1170
1159
  .filter(function (control) {
@@ -1215,6 +1204,29 @@ class ViewState extends ControllerExtension {
1215
1204
  }
1216
1205
  }
1217
1206
  });
1207
+ this.updateInitialState(vmAssociatedControlsToReset);
1208
+ }
1209
+
1210
+ /**
1211
+ * Updates the initial state of the specified variant controls.
1212
+ *
1213
+ * @param variantControls An array of control IDs for which the initial state needs to be updated.
1214
+ * @returns A promise that resolves when the initial state update is complete.
1215
+ */
1216
+ async updateInitialState(variantControls: string[]): Promise<void> {
1217
+ const viewControls: (ManagedObject | undefined)[] = this.stateContributors;
1218
+ await Promise.all(
1219
+ viewControls.map(async (control) => {
1220
+ const controlId: string = control?.getId() as string;
1221
+ if (
1222
+ variantControls.includes(controlId) &&
1223
+ control?.isA<IViewStateContributor<object>>("sap.fe.core.controllerextensions.viewState.IViewStateContributor") &&
1224
+ control.setInitialState
1225
+ ) {
1226
+ await control.setInitialState();
1227
+ }
1228
+ })
1229
+ );
1218
1230
  }
1219
1231
 
1220
1232
  _isInitialStatesApplicable(
@@ -2,16 +2,16 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2024 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/controllerextensions/HookSupport", "sap/fe/core/helpers/ClassSupport", "sap/ui/core/mvc/ControllerExtension"], function (CommonUtils, HookSupport, ClassSupport, ControllerExtension) {
5
+ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/core/controllerextensions/HookSupport", "sap/ui/core/mvc/ControllerExtension"], function (ClassSupport, CommonUtils, HookSupport, ControllerExtension) {
6
6
  "use strict";
7
7
 
8
8
  var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _class2;
9
9
  var _exports = {};
10
+ var hookable = HookSupport.hookable;
10
11
  var publicExtension = ClassSupport.publicExtension;
11
12
  var methodOverride = ClassSupport.methodOverride;
12
13
  var extensible = ClassSupport.extensible;
13
14
  var defineUI5Class = ClassSupport.defineUI5Class;
14
- var hookable = HookSupport.hookable;
15
15
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16
16
  function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
17
17
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
@@ -77,4 +77,4 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/controllerextensions/Hook
77
77
  _exports = CollaborationManagerExtension;
78
78
  return _exports;
79
79
  }, false);
80
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2xsYWJvcmF0aW9uTWFuYWdlckV4dGVuc2lvbiIsImRlZmluZVVJNUNsYXNzIiwibWV0aG9kT3ZlcnJpZGUiLCJwdWJsaWNFeHRlbnNpb24iLCJleHRlbnNpYmxlIiwiaG9va2FibGUiLCJpbml0Iiwib25Jbml0IiwiZmVWaWV3IiwiYmFzZSIsImdldFZpZXciLCJhcHBDb21wb25lbnQiLCJDb21tb25VdGlscyIsImdldEFwcENvbXBvbmVudCIsImVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwiZ2V0U2VydmljZSIsInNlcnZpY2VFbmFibGVkIiwiZ2V0Q2FwYWJpbGl0aWVzIiwiSW5zaWdodHNTdXBwb3J0ZWQiLCJpc0luc2lnaHRzRW5hYmxlZCIsIm9uQWZ0ZXJCaW5kaW5nIiwiY29ubmVjdCIsImdldElkIiwiY2FyZHMiLCJjb2xsZWN0QXZhaWxhYmxlQ2FyZHMiLCJjYXJkT2JqZWN0IiwicmVkdWNlIiwiYWNjIiwiY3VyIiwiY2FyZCIsImlkIiwicGFyZW50QXBwSWQiLCJhZGRDYXJkc1RvQ29sbGFib3JhdGlvbk1hbmFnZXIiLCJvbkV4aXQiLCJ1bnJlZ2lzdGVyUHJvdmlkZXIiLCJnZXRDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkNvbnRyb2xsZXJFeHRlbnNpb24iXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbGxhYm9yYXRpb25NYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSB7IEZFVmlldyB9IGZyb20gXCJzYXAvZmUvY29yZS9CYXNlQ29udHJvbGxlclwiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IHR5cGUgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBob29rYWJsZSB9IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9Ib29rU3VwcG9ydFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIGV4dGVuc2libGUsIG1ldGhvZE92ZXJyaWRlLCBwdWJsaWNFeHRlbnNpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIHsgQ29sbGFib3JhdGlvbk1hbmFnZXJTZXJ2aWNlLCBXcmFwcGVkQ2FyZCB9IGZyb20gXCJzYXAvZmUvY29yZS9zZXJ2aWNlcy9Db2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgdHlwZSB7IEVudmlyb25tZW50Q2FwYWJpbGl0aWVzU2VydmljZSB9IGZyb20gXCJzYXAvZmUvY29yZS9zZXJ2aWNlcy9FbnZpcm9ubWVudFNlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgQ29udHJvbGxlckV4dGVuc2lvbiBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL0NvbnRyb2xsZXJFeHRlbnNpb25cIjtcbi8qKlxuICogQW4gaW1wbGVtZW50YXRpb24gZm9yIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIHVzZWQgaW50ZXJuYWxseSBpbiBzYXAuZmUgZm9yIGNlbnRyYWwgZnVuY3Rpb25hbGl0aWVzIHRvIHNlcnZlIGNvbGxhYm9yYXRpb24gbWFuYWdlciB1c2UgY2FzZXMuXG4gKlxuICogQHNpbmNlIDEuMTIwLjBcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMuY2FyZHMuQ29sbGFib3JhdGlvbk1hbmFnZXJcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbGxhYm9yYXRpb25NYW5hZ2VyRXh0ZW5zaW9uIGV4dGVuZHMgQ29udHJvbGxlckV4dGVuc2lvbiB7XG5cdHByb3RlY3RlZCBiYXNlITogUGFnZUNvbnRyb2xsZXI7XG5cblx0cHJvdGVjdGVkIGZlVmlldyE6IEZFVmlldztcblxuXHRwcml2YXRlIGFwcENvbXBvbmVudCE6IEFwcENvbXBvbmVudDtcblxuXHRwcml2YXRlIHNlcnZpY2VFbmFibGVkITogYm9vbGVhbjtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHRcdCh0aGlzIGFzIHVua25vd24gYXMgeyBpbml0OiBGdW5jdGlvbiB9KS5pbml0KCk7XG5cdH1cblxuXHRAbWV0aG9kT3ZlcnJpZGUoKVxuXHRhc3luYyBvbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0dGhpcy5mZVZpZXcgPSB0aGlzLmJhc2UuZ2V0VmlldygpO1xuXHRcdHRoaXMuYXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHRoaXMuZmVWaWV3KTtcblx0XHRjb25zdCBlbnZpcm9ubWVudENhcGFiaWxpdGllcyA9IChhd2FpdCB0aGlzLmFwcENvbXBvbmVudC5nZXRTZXJ2aWNlKFwiZW52aXJvbm1lbnRDYXBhYmlsaXRpZXNcIikpIGFzIEVudmlyb25tZW50Q2FwYWJpbGl0aWVzU2VydmljZTtcblxuXHRcdHRoaXMuc2VydmljZUVuYWJsZWQgPSB0cnVlO1xuXHRcdC8vIE9ubHkgY29ubmVjdCB0byB0aGUgQ29sbGFib3JhdGlvbiBNYW5hZ2VyIGlmIGl0IGlzIGV4cGxpY2l0bHkgZW5hYmxlZCBhbmQgdGhlIHNhcC5pbnNpZ2h0cyBsaWJyYXJ5IGlzIGxvYWRlZFxuXHRcdGlmIChcblx0XHRcdCF0aGlzLmFwcENvbXBvbmVudFtcImlzQ29sbGFib3JhdGlvbk1hbmFnZXJTZXJ2aWNlRW5hYmxlZFwiXSgpIHx8XG5cdFx0XHQhZW52aXJvbm1lbnRDYXBhYmlsaXRpZXMuZ2V0Q2FwYWJpbGl0aWVzKCkuSW5zaWdodHNTdXBwb3J0ZWQgfHxcblx0XHRcdCEoYXdhaXQgZW52aXJvbm1lbnRDYXBhYmlsaXRpZXMuaXNJbnNpZ2h0c0VuYWJsZWQoKSlcblx0XHQpIHtcblx0XHRcdHRoaXMuc2VydmljZUVuYWJsZWQgPSBmYWxzZTtcblx0XHR9XG5cdH1cblxuXHRAbWV0aG9kT3ZlcnJpZGUoXCJfcm91dGluZ1wiKVxuXHRhc3luYyBvbkFmdGVyQmluZGluZygpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRpZiAodGhpcy5zZXJ2aWNlRW5hYmxlZCA9PT0gZmFsc2UpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0YXdhaXQgdGhpcy5nZXRTZXJ2aWNlKCkuY29ubmVjdCh0aGlzLmFwcENvbXBvbmVudC5nZXRJZCgpLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCBjYXJkczogV3JhcHBlZENhcmRbXSA9IFtdO1xuXHRcdFx0YXdhaXQgdGhpcy5jb2xsZWN0QXZhaWxhYmxlQ2FyZHMoY2FyZHMpO1xuXHRcdFx0Y29uc3QgY2FyZE9iamVjdCA9IGNhcmRzLnJlZHVjZShcblx0XHRcdFx0KGFjYywgY3VyKSA9PiB7XG5cdFx0XHRcdFx0YWNjW2N1cj8uY2FyZFtcInNhcC5hcHBcIl0/LmlkXSA9IGN1cjtcblx0XHRcdFx0XHRyZXR1cm4gYWNjO1xuXHRcdFx0XHR9LFxuXHRcdFx0XHR7fSBhcyBSZWNvcmQ8c3RyaW5nLCBXcmFwcGVkQ2FyZD5cblx0XHRcdCk7XG5cblx0XHRcdGNvbnN0IHBhcmVudEFwcElkID0gdGhpcy5hcHBDb21wb25lbnQuZ2V0SWQoKTtcblx0XHRcdHRoaXMuZ2V0U2VydmljZSgpLmFkZENhcmRzVG9Db2xsYWJvcmF0aW9uTWFuYWdlcihjYXJkT2JqZWN0LCBwYXJlbnRBcHBJZCk7XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogQXV0b21hdGljIHVucmVnaXN0ZXJpbmcgb24gZXhpdCBvZiB0aGUgYXBwbGljYXRpb24uXG5cdCAqXG5cdCAqL1xuXHRAbWV0aG9kT3ZlcnJpZGUoKVxuXHRvbkV4aXQoKTogdm9pZCB7XG5cdFx0dGhpcy5nZXRTZXJ2aWNlKCkudW5yZWdpc3RlclByb3ZpZGVyKCk7XG5cdH1cblxuXHRnZXRTZXJ2aWNlKCk6IENvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZSB7XG5cdFx0cmV0dXJuIHRoaXMuYXBwQ29tcG9uZW50LmdldENvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZSgpO1xuXHR9XG5cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdEBleHRlbnNpYmxlKFwiQWZ0ZXJBc3luY1wiKVxuXHRAaG9va2FibGUoXCJhZnRlclwiLCB0cnVlKVxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdGFzeW5jIGNvbGxlY3RBdmFpbGFibGVDYXJkcyhjYXJkczogV3JhcHBlZENhcmRbXSk6IFByb21pc2U8dm9pZD4ge1xuXHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7TUFlcUJBLDZCQUE2QjtFQU5sRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBSkEsT0FLQ0MsY0FBYyxDQUFDLDZEQUE2RCxDQUFDLFVBZTVFQyxjQUFjLEVBQUUsVUFpQmhCQSxjQUFjLENBQUMsVUFBVSxDQUFDLFVBeUIxQkEsY0FBYyxFQUFFLFVBU2hCQyxlQUFlLEVBQUUsVUFDakJDLFVBQVUsQ0FBQyxZQUFZLENBQUMsVUFDeEJDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO0lBQUE7SUExRHhCLHlDQUFjO01BQUE7TUFDYix1Q0FBTztNQUNQLDhCQUF3Q0MsSUFBSSxFQUFFO01BQUM7SUFDaEQ7SUFBQztJQUFBO0lBQUEsT0FHS0MsTUFBTSxHQURaLHdCQUM4QjtNQUM3QixJQUFJLENBQUNDLE1BQU0sR0FBRyxJQUFJLENBQUNDLElBQUksQ0FBQ0MsT0FBTyxFQUFFO01BQ2pDLElBQUksQ0FBQ0MsWUFBWSxHQUFHQyxXQUFXLENBQUNDLGVBQWUsQ0FBQyxJQUFJLENBQUNMLE1BQU0sQ0FBQztNQUM1RCxNQUFNTSx1QkFBdUIsR0FBSSxNQUFNLElBQUksQ0FBQ0gsWUFBWSxDQUFDSSxVQUFVLENBQUMseUJBQXlCLENBQW9DO01BRWpJLElBQUksQ0FBQ0MsY0FBYyxHQUFHLElBQUk7TUFDMUI7TUFDQSxJQUNDLENBQUMsSUFBSSxDQUFDTCxZQUFZLENBQUMsc0NBQXNDLENBQUMsRUFBRSxJQUM1RCxDQUFDRyx1QkFBdUIsQ0FBQ0csZUFBZSxFQUFFLENBQUNDLGlCQUFpQixJQUM1RCxFQUFFLE1BQU1KLHVCQUF1QixDQUFDSyxpQkFBaUIsRUFBRSxDQUFDLEVBQ25EO1FBQ0QsSUFBSSxDQUFDSCxjQUFjLEdBQUcsS0FBSztNQUM1QjtJQUNELENBQUM7SUFBQSxPQUdLSSxjQUFjLEdBRHBCLGdDQUNzQztNQUNyQyxJQUFJLElBQUksQ0FBQ0osY0FBYyxLQUFLLEtBQUssRUFBRTtRQUNsQztNQUNEO01BQ0EsTUFBTSxJQUFJLENBQUNELFVBQVUsRUFBRSxDQUFDTSxPQUFPLENBQUMsSUFBSSxDQUFDVixZQUFZLENBQUNXLEtBQUssRUFBRSxFQUFFLFlBQVk7UUFDdEUsTUFBTUMsS0FBb0IsR0FBRyxFQUFFO1FBQy9CLE1BQU0sSUFBSSxDQUFDQyxxQkFBcUIsQ0FBQ0QsS0FBSyxDQUFDO1FBQ3ZDLE1BQU1FLFVBQVUsR0FBR0YsS0FBSyxDQUFDRyxNQUFNLENBQzlCLENBQUNDLEdBQUcsRUFBRUMsR0FBRyxLQUFLO1VBQUE7VUFDYkQsR0FBRyxDQUFDQyxHQUFHLGFBQUhBLEdBQUcsMkNBQUhBLEdBQUcsQ0FBRUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxREFBcEIsaUJBQXNCQyxFQUFFLENBQUMsR0FBR0YsR0FBRztVQUNuQyxPQUFPRCxHQUFHO1FBQ1gsQ0FBQyxFQUNELENBQUMsQ0FBQyxDQUNGO1FBRUQsTUFBTUksV0FBVyxHQUFHLElBQUksQ0FBQ3BCLFlBQVksQ0FBQ1csS0FBSyxFQUFFO1FBQzdDLElBQUksQ0FBQ1AsVUFBVSxFQUFFLENBQUNpQiw4QkFBOEIsQ0FBQ1AsVUFBVSxFQUFFTSxXQUFXLENBQUM7TUFDMUUsQ0FBQyxDQUFDO0lBQ0g7O0lBRUE7QUFDRDtBQUNBO0FBQ0EsT0FIQztJQUFBLE9BS0FFLE1BQU0sR0FETixrQkFDZTtNQUNkLElBQUksQ0FBQ2xCLFVBQVUsRUFBRSxDQUFDbUIsa0JBQWtCLEVBQUU7SUFDdkMsQ0FBQztJQUFBLE9BRURuQixVQUFVLEdBQVYsc0JBQTBDO01BQ3pDLE9BQU8sSUFBSSxDQUFDSixZQUFZLENBQUN3Qiw4QkFBOEIsRUFBRTtJQUMxRCxDQUFDO0lBQUEsT0FNS1gscUJBQXFCLEdBSjNCLHFDQUk0QkQsS0FBb0IsRUFBaUI7TUFDaEUsT0FBT2EsT0FBTyxDQUFDQyxPQUFPLEVBQUU7SUFDekIsQ0FBQztJQUFBO0VBQUEsRUF2RXlEQyxtQkFBbUI7RUFBQTtFQUFBO0FBQUEifQ==
80
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2xsYWJvcmF0aW9uTWFuYWdlckV4dGVuc2lvbiIsImRlZmluZVVJNUNsYXNzIiwibWV0aG9kT3ZlcnJpZGUiLCJwdWJsaWNFeHRlbnNpb24iLCJleHRlbnNpYmxlIiwiaG9va2FibGUiLCJpbml0Iiwib25Jbml0IiwiZmVWaWV3IiwiYmFzZSIsImdldFZpZXciLCJhcHBDb21wb25lbnQiLCJDb21tb25VdGlscyIsImdldEFwcENvbXBvbmVudCIsImVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwiZ2V0U2VydmljZSIsInNlcnZpY2VFbmFibGVkIiwiZ2V0Q2FwYWJpbGl0aWVzIiwiSW5zaWdodHNTdXBwb3J0ZWQiLCJpc0luc2lnaHRzRW5hYmxlZCIsIm9uQWZ0ZXJCaW5kaW5nIiwiY29ubmVjdCIsImdldElkIiwiY2FyZHMiLCJjb2xsZWN0QXZhaWxhYmxlQ2FyZHMiLCJjYXJkT2JqZWN0IiwicmVkdWNlIiwiYWNjIiwiY3VyIiwiY2FyZCIsImlkIiwicGFyZW50QXBwSWQiLCJhZGRDYXJkc1RvQ29sbGFib3JhdGlvbk1hbmFnZXIiLCJvbkV4aXQiLCJ1bnJlZ2lzdGVyUHJvdmlkZXIiLCJnZXRDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkNvbnRyb2xsZXJFeHRlbnNpb24iXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbGxhYm9yYXRpb25NYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBleHRlbnNpYmxlLCBtZXRob2RPdmVycmlkZSwgcHVibGljRXh0ZW5zaW9uIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgQXBwQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9BcHBDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgRkVWaWV3IH0gZnJvbSBcInNhcC9mZS9jb3JlL0Jhc2VDb250cm9sbGVyXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBQYWdlQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvUGFnZUNvbnRyb2xsZXJcIjtcbmltcG9ydCB7IGhvb2thYmxlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0hvb2tTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IENvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZSwgV3JhcHBlZENhcmQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvQ29sbGFib3JhdGlvbk1hbmFnZXJTZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IHR5cGUgeyBFbnZpcm9ubWVudENhcGFiaWxpdGllc1NlcnZpY2UgfSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvRW52aXJvbm1lbnRTZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IENvbnRyb2xsZXJFeHRlbnNpb24gZnJvbSBcInNhcC91aS9jb3JlL212Yy9Db250cm9sbGVyRXh0ZW5zaW9uXCI7XG4vKipcbiAqIEFuIGltcGxlbWVudGF0aW9uIGZvciBjb250cm9sbGVyIGV4dGVuc2lvbiB1c2VkIGludGVybmFsbHkgaW4gc2FwLmZlIGZvciBjZW50cmFsIGZ1bmN0aW9uYWxpdGllcyB0byBzZXJ2ZSBjb2xsYWJvcmF0aW9uIG1hbmFnZXIgdXNlIGNhc2VzLlxuICpcbiAqIEBzaW5jZSAxLjEyMC4wXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zLmNhcmRzLkNvbGxhYm9yYXRpb25NYW5hZ2VyXCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xsYWJvcmF0aW9uTWFuYWdlckV4dGVuc2lvbiBleHRlbmRzIENvbnRyb2xsZXJFeHRlbnNpb24ge1xuXHRwcm90ZWN0ZWQgYmFzZSE6IFBhZ2VDb250cm9sbGVyO1xuXG5cdHByb3RlY3RlZCBmZVZpZXchOiBGRVZpZXc7XG5cblx0cHJpdmF0ZSBhcHBDb21wb25lbnQhOiBBcHBDb21wb25lbnQ7XG5cblx0cHJpdmF0ZSBzZXJ2aWNlRW5hYmxlZCE6IGJvb2xlYW47XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0XHQodGhpcyBhcyB1bmtub3duIGFzIHsgaW5pdDogRnVuY3Rpb24gfSkuaW5pdCgpO1xuXHR9XG5cblx0QG1ldGhvZE92ZXJyaWRlKClcblx0YXN5bmMgb25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdHRoaXMuZmVWaWV3ID0gdGhpcy5iYXNlLmdldFZpZXcoKTtcblx0XHR0aGlzLmFwcENvbXBvbmVudCA9IENvbW1vblV0aWxzLmdldEFwcENvbXBvbmVudCh0aGlzLmZlVmlldyk7XG5cdFx0Y29uc3QgZW52aXJvbm1lbnRDYXBhYmlsaXRpZXMgPSAoYXdhaXQgdGhpcy5hcHBDb21wb25lbnQuZ2V0U2VydmljZShcImVudmlyb25tZW50Q2FwYWJpbGl0aWVzXCIpKSBhcyBFbnZpcm9ubWVudENhcGFiaWxpdGllc1NlcnZpY2U7XG5cblx0XHR0aGlzLnNlcnZpY2VFbmFibGVkID0gdHJ1ZTtcblx0XHQvLyBPbmx5IGNvbm5lY3QgdG8gdGhlIENvbGxhYm9yYXRpb24gTWFuYWdlciBpZiBpdCBpcyBleHBsaWNpdGx5IGVuYWJsZWQgYW5kIHRoZSBzYXAuaW5zaWdodHMgbGlicmFyeSBpcyBsb2FkZWRcblx0XHRpZiAoXG5cdFx0XHQhdGhpcy5hcHBDb21wb25lbnRbXCJpc0NvbGxhYm9yYXRpb25NYW5hZ2VyU2VydmljZUVuYWJsZWRcIl0oKSB8fFxuXHRcdFx0IWVudmlyb25tZW50Q2FwYWJpbGl0aWVzLmdldENhcGFiaWxpdGllcygpLkluc2lnaHRzU3VwcG9ydGVkIHx8XG5cdFx0XHQhKGF3YWl0IGVudmlyb25tZW50Q2FwYWJpbGl0aWVzLmlzSW5zaWdodHNFbmFibGVkKCkpXG5cdFx0KSB7XG5cdFx0XHR0aGlzLnNlcnZpY2VFbmFibGVkID0gZmFsc2U7XG5cdFx0fVxuXHR9XG5cblx0QG1ldGhvZE92ZXJyaWRlKFwiX3JvdXRpbmdcIilcblx0YXN5bmMgb25BZnRlckJpbmRpbmcoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKHRoaXMuc2VydmljZUVuYWJsZWQgPT09IGZhbHNlKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGF3YWl0IHRoaXMuZ2V0U2VydmljZSgpLmNvbm5lY3QodGhpcy5hcHBDb21wb25lbnQuZ2V0SWQoKSwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgY2FyZHM6IFdyYXBwZWRDYXJkW10gPSBbXTtcblx0XHRcdGF3YWl0IHRoaXMuY29sbGVjdEF2YWlsYWJsZUNhcmRzKGNhcmRzKTtcblx0XHRcdGNvbnN0IGNhcmRPYmplY3QgPSBjYXJkcy5yZWR1Y2UoXG5cdFx0XHRcdChhY2MsIGN1cikgPT4ge1xuXHRcdFx0XHRcdGFjY1tjdXI/LmNhcmRbXCJzYXAuYXBwXCJdPy5pZF0gPSBjdXI7XG5cdFx0XHRcdFx0cmV0dXJuIGFjYztcblx0XHRcdFx0fSxcblx0XHRcdFx0e30gYXMgUmVjb3JkPHN0cmluZywgV3JhcHBlZENhcmQ+XG5cdFx0XHQpO1xuXG5cdFx0XHRjb25zdCBwYXJlbnRBcHBJZCA9IHRoaXMuYXBwQ29tcG9uZW50LmdldElkKCk7XG5cdFx0XHR0aGlzLmdldFNlcnZpY2UoKS5hZGRDYXJkc1RvQ29sbGFib3JhdGlvbk1hbmFnZXIoY2FyZE9iamVjdCwgcGFyZW50QXBwSWQpO1xuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEF1dG9tYXRpYyB1bnJlZ2lzdGVyaW5nIG9uIGV4aXQgb2YgdGhlIGFwcGxpY2F0aW9uLlxuXHQgKlxuXHQgKi9cblx0QG1ldGhvZE92ZXJyaWRlKClcblx0b25FeGl0KCk6IHZvaWQge1xuXHRcdHRoaXMuZ2V0U2VydmljZSgpLnVucmVnaXN0ZXJQcm92aWRlcigpO1xuXHR9XG5cblx0Z2V0U2VydmljZSgpOiBDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2Uge1xuXHRcdHJldHVybiB0aGlzLmFwcENvbXBvbmVudC5nZXRDb2xsYWJvcmF0aW9uTWFuYWdlclNlcnZpY2UoKTtcblx0fVxuXG5cdEBwdWJsaWNFeHRlbnNpb24oKVxuXHRAZXh0ZW5zaWJsZShcIkFmdGVyQXN5bmNcIilcblx0QGhvb2thYmxlKFwiYWZ0ZXJcIiwgdHJ1ZSlcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHRhc3luYyBjb2xsZWN0QXZhaWxhYmxlQ2FyZHMoY2FyZHM6IFdyYXBwZWRDYXJkW10pOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O01BZXFCQSw2QkFBNkI7RUFObEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUpBLE9BS0NDLGNBQWMsQ0FBQyw2REFBNkQsQ0FBQyxVQWU1RUMsY0FBYyxFQUFFLFVBaUJoQkEsY0FBYyxDQUFDLFVBQVUsQ0FBQyxVQXlCMUJBLGNBQWMsRUFBRSxVQVNoQkMsZUFBZSxFQUFFLFVBQ2pCQyxVQUFVLENBQUMsWUFBWSxDQUFDLFVBQ3hCQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztJQUFBO0lBMUR4Qix5Q0FBYztNQUFBO01BQ2IsdUNBQU87TUFDUCw4QkFBd0NDLElBQUksRUFBRTtNQUFDO0lBQ2hEO0lBQUM7SUFBQTtJQUFBLE9BR0tDLE1BQU0sR0FEWix3QkFDOEI7TUFDN0IsSUFBSSxDQUFDQyxNQUFNLEdBQUcsSUFBSSxDQUFDQyxJQUFJLENBQUNDLE9BQU8sRUFBRTtNQUNqQyxJQUFJLENBQUNDLFlBQVksR0FBR0MsV0FBVyxDQUFDQyxlQUFlLENBQUMsSUFBSSxDQUFDTCxNQUFNLENBQUM7TUFDNUQsTUFBTU0sdUJBQXVCLEdBQUksTUFBTSxJQUFJLENBQUNILFlBQVksQ0FBQ0ksVUFBVSxDQUFDLHlCQUF5QixDQUFvQztNQUVqSSxJQUFJLENBQUNDLGNBQWMsR0FBRyxJQUFJO01BQzFCO01BQ0EsSUFDQyxDQUFDLElBQUksQ0FBQ0wsWUFBWSxDQUFDLHNDQUFzQyxDQUFDLEVBQUUsSUFDNUQsQ0FBQ0csdUJBQXVCLENBQUNHLGVBQWUsRUFBRSxDQUFDQyxpQkFBaUIsSUFDNUQsRUFBRSxNQUFNSix1QkFBdUIsQ0FBQ0ssaUJBQWlCLEVBQUUsQ0FBQyxFQUNuRDtRQUNELElBQUksQ0FBQ0gsY0FBYyxHQUFHLEtBQUs7TUFDNUI7SUFDRCxDQUFDO0lBQUEsT0FHS0ksY0FBYyxHQURwQixnQ0FDc0M7TUFDckMsSUFBSSxJQUFJLENBQUNKLGNBQWMsS0FBSyxLQUFLLEVBQUU7UUFDbEM7TUFDRDtNQUNBLE1BQU0sSUFBSSxDQUFDRCxVQUFVLEVBQUUsQ0FBQ00sT0FBTyxDQUFDLElBQUksQ0FBQ1YsWUFBWSxDQUFDVyxLQUFLLEVBQUUsRUFBRSxZQUFZO1FBQ3RFLE1BQU1DLEtBQW9CLEdBQUcsRUFBRTtRQUMvQixNQUFNLElBQUksQ0FBQ0MscUJBQXFCLENBQUNELEtBQUssQ0FBQztRQUN2QyxNQUFNRSxVQUFVLEdBQUdGLEtBQUssQ0FBQ0csTUFBTSxDQUM5QixDQUFDQyxHQUFHLEVBQUVDLEdBQUcsS0FBSztVQUFBO1VBQ2JELEdBQUcsQ0FBQ0MsR0FBRyxhQUFIQSxHQUFHLDJDQUFIQSxHQUFHLENBQUVDLElBQUksQ0FBQyxTQUFTLENBQUMscURBQXBCLGlCQUFzQkMsRUFBRSxDQUFDLEdBQUdGLEdBQUc7VUFDbkMsT0FBT0QsR0FBRztRQUNYLENBQUMsRUFDRCxDQUFDLENBQUMsQ0FDRjtRQUVELE1BQU1JLFdBQVcsR0FBRyxJQUFJLENBQUNwQixZQUFZLENBQUNXLEtBQUssRUFBRTtRQUM3QyxJQUFJLENBQUNQLFVBQVUsRUFBRSxDQUFDaUIsOEJBQThCLENBQUNQLFVBQVUsRUFBRU0sV0FBVyxDQUFDO01BQzFFLENBQUMsQ0FBQztJQUNIOztJQUVBO0FBQ0Q7QUFDQTtBQUNBLE9BSEM7SUFBQSxPQUtBRSxNQUFNLEdBRE4sa0JBQ2U7TUFDZCxJQUFJLENBQUNsQixVQUFVLEVBQUUsQ0FBQ21CLGtCQUFrQixFQUFFO0lBQ3ZDLENBQUM7SUFBQSxPQUVEbkIsVUFBVSxHQUFWLHNCQUEwQztNQUN6QyxPQUFPLElBQUksQ0FBQ0osWUFBWSxDQUFDd0IsOEJBQThCLEVBQUU7SUFDMUQsQ0FBQztJQUFBLE9BTUtYLHFCQUFxQixHQUozQixxQ0FJNEJELEtBQW9CLEVBQWlCO01BQ2hFLE9BQU9hLE9BQU8sQ0FBQ0MsT0FBTyxFQUFFO0lBQ3pCLENBQUM7SUFBQTtFQUFBLEVBdkV5REMsbUJBQW1CO0VBQUE7RUFBQTtBQUFBIn0=
@@ -1,9 +1,9 @@
1
+ import { defineUI5Class, extensible, methodOverride, publicExtension } from "sap/fe/base/ClassSupport";
1
2
  import type AppComponent from "sap/fe/core/AppComponent";
2
3
  import type { FEView } from "sap/fe/core/BaseController";
3
4
  import CommonUtils from "sap/fe/core/CommonUtils";
4
5
  import type PageController from "sap/fe/core/PageController";
5
6
  import { hookable } from "sap/fe/core/controllerextensions/HookSupport";
6
- import { defineUI5Class, extensible, methodOverride, publicExtension } from "sap/fe/core/helpers/ClassSupport";
7
7
  import type { CollaborationManagerService, WrappedCard } from "sap/fe/core/services/CollaborationManagerServiceFactory";
8
8
  import type { EnvironmentCapabilitiesService } from "sap/fe/core/services/EnvironmentServiceFactory";
9
9
  import ControllerExtension from "sap/ui/core/mvc/ControllerExtension";
@@ -133,7 +133,7 @@ sap.ui.define(["sap/ui/core/Component", "sap/ui/core/Lib"], function (Component,
133
133
  const shareAction = model.bindContext(`${shareActionName}(...)`, bindingContext);
134
134
  shareAction.setParameter("Users", users);
135
135
  shareAction.setParameter("ShareAll", true);
136
- await shareAction.execute("$auto.Heroes");
136
+ return shareAction.execute("$auto.Heroes");
137
137
  }
138
138
  _exports.shareObject = shareObject;
139
139
  function getActivityKeyFromPath(path) {
@@ -144,4 +144,4 @@ sap.ui.define(["sap/ui/core/Component", "sap/ui/core/Lib"], function (Component,
144
144
  _exports.CollaborationFieldGroupPrefix = CollaborationFieldGroupPrefix;
145
145
  return _exports;
146
146
  }, false);
147
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJVc2VyU3RhdHVzIiwiVXNlckVkaXRpbmdTdGF0ZSIsIkFjdGl2aXR5IiwiZm9ybWF0SW5pdGlhbHMiLCJmdWxsTmFtZSIsImFjYWRlbWljVGl0bGVzIiwiZm9yRWFjaCIsImFjYWRlbWljVGl0bGUiLCJyZXBsYWNlIiwiaW5pdGlhbHMiLCJwYXJ0cyIsInRyaW1TdGFydCIsInNwbGl0IiwibGVuZ3RoIiwic2hpZnQiLCJjaGFyQXQiLCJwb3AiLCJzdWJzdHJpbmciLCJ0b1VwcGVyQ2FzZSIsImdldFVzZXJDb2xvciIsIlVzZXJJRCIsImFjdGl2ZVVzZXJzIiwiaW52aXRlZFVzZXJzIiwidXNlciIsImZpbmQiLCJ1IiwiaWQiLCJjb2xvciIsImkiLCJmaW5kSW5kZXgiLCJnZXRBcHBDb21wb25lbnQiLCJvQ29udHJvbCIsImlzQSIsIm9Pd25lciIsIkNvbXBvbmVudCIsImdldE93bmVyQ29tcG9uZW50Rm9yIiwiZ2V0TWUiLCJ2aWV3Iiwic2hlbGxTZXJ2aWNlSGVscGVyIiwiZ2V0U2hlbGxTZXJ2aWNlcyIsIm5hbWUiLCJoYXNVU2hlbGwiLCJnZXRVc2VySW5pdGlhbHMiLCJnZXRVc2VyIiwiZ2V0SWQiLCJnZXRGdWxsTmFtZSIsIndpbmRvdyIsImFkdCIsInVzZXJJRCIsInVzZXJOYW1lIiwiZ2V0VGV4dCIsImluaXRpYWxOYW1lIiwibWUiLCJzdGF0dXMiLCJDdXJyZW50bHlFZGl0aW5nIiwidGV4dElkIiwib1Jlc291cmNlTW9kZWwiLCJMaWJyYXJ5IiwiZ2V0UmVzb3VyY2VCdW5kbGVGb3IiLCJhcmdzIiwiQ29sbGFib3JhdGlvblV0aWxzIiwic2hhcmVPYmplY3QiLCJiaW5kaW5nQ29udGV4dCIsInVzZXJzIiwibW9kZWwiLCJnZXRNb2RlbCIsIm1ldGFNb2RlbCIsImdldE1ldGFNb2RlbCIsImVudGl0eVNldCIsImdldE1ldGFQYXRoIiwiZ2V0UGF0aCIsInNoYXJlQWN0aW9uTmFtZSIsImdldE9iamVjdCIsInNoYXJlQWN0aW9uIiwiYmluZENvbnRleHQiLCJzZXRQYXJhbWV0ZXIiLCJleGVjdXRlIiwiZ2V0QWN0aXZpdHlLZXlGcm9tUGF0aCIsInBhdGgiLCJsYXN0SW5kZXhPZiIsIkNvbGxhYm9yYXRpb25GaWVsZEdyb3VwUHJlZml4Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJDb2xsYWJvcmF0aW9uQ29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9Db21wb25lbnRcIjtcblxuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IExpYnJhcnkgZnJvbSBcInNhcC91aS9jb3JlL0xpYlwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5cbi8vIEFEVCBQcmV2aWV3IHByb3ZpZGVzIHRoZSB1c2VyIG5hbWUgYW5kIGlkIGZvciBjb2xsYWJvcmF0aW9uIGRyYWZ0XG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBXaW5kb3cge1xuXHRcdGFkdDoge1xuXHRcdFx0dXNlck5hbWU6IHN0cmluZztcblx0XHRcdHVzZXJJRDogc3RyaW5nO1xuXHRcdH07XG5cdH1cbn1cblxuZXhwb3J0IGVudW0gVXNlclN0YXR1cyB7XG5cdE5vdFlldEludml0ZWQgPSAwLFxuXHROb0NoYW5nZXNNYWRlID0gMSxcblx0Q2hhbmdlc01hZGUgPSAyLFxuXHRDdXJyZW50bHlFZGl0aW5nID0gM1xufVxuXG5leHBvcnQgZW51bSBVc2VyRWRpdGluZ1N0YXRlIHtcblx0Tm9DaGFuZ2VzID0gXCJOXCIsXG5cdEluUHJvZ3Jlc3MgPSBcIlBcIlxufVxuXG5leHBvcnQgdHlwZSBVc2VyID0ge1xuXHRpZDogc3RyaW5nO1xuXHRpbml0aWFscz86IHN0cmluZztcblx0bmFtZTogc3RyaW5nO1xuXHRjb2xvcj86IHN0cmluZztcblx0dHJhbnNpZW50PzogYm9vbGVhbjtcblx0c3RhdHVzPzogVXNlclN0YXR1cztcblx0bWU/OiBib29sZWFuO1xuXHRpbml0aWFsTmFtZT86IHN0cmluZztcbn07XG5cbi8vIGJhY2tlbmQgcmVwcmVzZW50YXRpb24gb2YgYSB1c2VyIGFjY29yZGluZyB0byBjb2xsYWJvcmF0aW9uIGRyYWZ0IHNwZWNcbmV4cG9ydCB0eXBlIEJhY2tlbmRVc2VyID0ge1xuXHRVc2VySUQ6IHN0cmluZztcblx0VXNlckFjY2Vzc1JvbGU6IHN0cmluZztcblx0VXNlckVkaXRpbmdTdGF0ZT86IFVzZXJFZGl0aW5nU3RhdGU7XG5cdFVzZXJEZXNjcmlwdGlvbj86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJBY3Rpdml0eSA9IFVzZXIgJiB7XG5cdGtleT86IHN0cmluZztcbn07XG5cbmV4cG9ydCBlbnVtIEFjdGl2aXR5IHtcblx0Sm9pbiA9IFwiSk9JTlwiLFxuXHRKb2luRWNobyA9IFwiSk9JTkVDSE9cIixcblx0TGVhdmUgPSBcIkxFQVZFXCIsXG5cdENoYW5nZSA9IFwiQ0hBTkdFXCIsXG5cdENyZWF0ZSA9IFwiQ1JFQVRFXCIsXG5cdERlbGV0ZSA9IFwiREVMRVRFXCIsXG5cdEFjdGlvbiA9IFwiQUNUSU9OXCIsXG5cdExvY2sgPSBcIkxPQ0tcIixcblx0QWN0aXZhdGUgPSBcIkFDVElWQVRFXCIsXG5cdERpc2NhcmQgPSBcIkRJU0NBUkRcIixcblx0VW5sb2NrID0gXCJVTkxPQ0tcIlxufVxuXG5leHBvcnQgdHlwZSBNZXNzYWdlID0ge1xuXHR1c2VyRGVzY3JpcHRpb246IHN0cmluZztcblx0dXNlcklEOiBzdHJpbmc7XG5cdHVzZXJBY3Rpb246IHN0cmluZztcblx0Y2xpZW50QWN0aW9uOiBzdHJpbmc7XG5cdGNsaWVudFRyaWdnZXJlZEFjdGlvbk5hbWU/OiBzdHJpbmc7XG5cdGNsaWVudFJlZnJlc2hMaXN0QmluZGluZz86IHN0cmluZztcblx0Y2xpZW50UmVxdWVzdGVkUHJvcGVydGllcz86IHN0cmluZztcblx0Y2xpZW50Q29udGVudDogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gZm9ybWF0SW5pdGlhbHMoZnVsbE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdC8vIHJlbW92ZSB0aXRsZXMgLSB0aG9zZSBhcmUgdGhlIG9uZXMgZnJvbSBTLzQgdG8gYmUgY2hlY2tlZCBpZiB0aGVyZSBhcmUgb3RoZXJzXG5cdGNvbnN0IGFjYWRlbWljVGl0bGVzID0gW1wiRHIuXCIsIFwiUHJvZi5cIiwgXCJQcm9mLiBEci5cIiwgXCJCLkEuXCIsIFwiTUJBXCIsIFwiUGguRC5cIl07XG5cdGFjYWRlbWljVGl0bGVzLmZvckVhY2goZnVuY3Rpb24gKGFjYWRlbWljVGl0bGUpIHtcblx0XHRmdWxsTmFtZSA9IGZ1bGxOYW1lLnJlcGxhY2UoYWNhZGVtaWNUaXRsZSwgXCJcIik7XG5cdH0pO1xuXG5cdGxldCBpbml0aWFsczogc3RyaW5nO1xuXHRjb25zdCBwYXJ0cyA9IGZ1bGxOYW1lLnRyaW1TdGFydCgpLnNwbGl0KFwiIFwiKTtcblxuXHRpZiAocGFydHMubGVuZ3RoID4gMSkge1xuXHRcdGluaXRpYWxzID0gKHBhcnRzPy5zaGlmdCgpPy5jaGFyQXQoMCkgfHwgXCJcIikgKyBwYXJ0cy5wb3AoKT8uY2hhckF0KDApO1xuXHR9IGVsc2Uge1xuXHRcdGluaXRpYWxzID0gZnVsbE5hbWUuc3Vic3RyaW5nKDAsIDIpO1xuXHR9XG5cblx0cmV0dXJuIGluaXRpYWxzLnRvVXBwZXJDYXNlKCk7XG59XG5cbmZ1bmN0aW9uIGdldFVzZXJDb2xvcihVc2VySUQ6IHN0cmluZywgYWN0aXZlVXNlcnM6IFVzZXJbXSwgaW52aXRlZFVzZXJzOiBVc2VyW10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHQvLyBzZWFyY2ggaWYgdXNlciBpcyBrbm93blxuXHRjb25zdCB1c2VyID0gYWN0aXZlVXNlcnMuZmluZCgodSkgPT4gdS5pZCA9PT0gVXNlcklEKTtcblx0aWYgKHVzZXIpIHtcblx0XHRyZXR1cm4gdXNlci5jb2xvcjtcblx0fSBlbHNlIHtcblx0XHQvLyBzZWFyY2ggZm9yIG5leHQgZnJlZSBjb2xvclxuXHRcdGZvciAobGV0IGkgPSAxOyBpIDw9IDEwOyBpKyspIHtcblx0XHRcdGlmIChcblx0XHRcdFx0YWN0aXZlVXNlcnMuZmluZEluZGV4KCh1KSA9PiB1LmNvbG9yID09PSBgQWNjZW50JHtpfWApID09PSAtMSAmJlxuXHRcdFx0XHRpbnZpdGVkVXNlcnMuZmluZEluZGV4KCh1KSA9PiB1LmNvbG9yID09PSBgQWNjZW50JHtpfWApID09PSAtMVxuXHRcdFx0KSB7XG5cdFx0XHRcdHJldHVybiBgQWNjZW50JHtpfWA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC8vIHRoaXMgc2VlbXMgdG8gYmUgYSBwb3B1bGFyIG9iamVjdCA6KSBmb3Igbm93IGp1c3QgcmV0dXJuIDEwIGZvciBhbGwuXG5cdFx0Ly8gZm9yIGludml0ZWQgd2Ugc2hvdWxkIHN0YXJ0IGZyb20gMSBhZ2FpbiBzbyB0aGUgY29sb3JzIGFyZSBkaWZmZXJlbnRcblx0XHRyZXR1cm4gXCJBY2NlbnQxMFwiO1xuXHR9XG59XG5cbi8vIGNvcGllZCBmcm9tIENvbW1vblV0aWxzLiBEdWUgdG8gYSBjeWNsZSBkZXBlbmRlbmN5IEkgY2FuJ3QgdXNlIENvbW1vblV0aWxzIGhlcmUuXG4vLyBUaGF0J3MgdG8gYmUgZml4ZWQuIHRoZSBkaXNjYXJkIHBvcG92ZXIgdGhpbmd5IHNob3VsZG4ndCBiZSBpbiB0aGUgY29tbW9uIHV0aWxzIGF0IGFsbFxuZnVuY3Rpb24gZ2V0QXBwQ29tcG9uZW50KG9Db250cm9sOiBDb250cm9sIHwgQ29tcG9uZW50KTogQXBwQ29tcG9uZW50IHtcblx0aWYgKG9Db250cm9sLmlzQTxBcHBDb21wb25lbnQ+KFwic2FwLmZlLmNvcmUuQXBwQ29tcG9uZW50XCIpKSB7XG5cdFx0cmV0dXJuIG9Db250cm9sO1xuXHR9XG5cdGNvbnN0IG9Pd25lciA9IENvbXBvbmVudC5nZXRPd25lckNvbXBvbmVudEZvcihvQ29udHJvbCk7XG5cdGlmICghb093bmVyKSB7XG5cdFx0cmV0dXJuIG9Db250cm9sIGFzIEFwcENvbXBvbmVudDtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gZ2V0QXBwQ29tcG9uZW50KG9Pd25lcik7XG5cdH1cbn1cblxuZnVuY3Rpb24gZ2V0TWUodmlldzogVmlldyk6IFVzZXIge1xuXHRjb25zdCBzaGVsbFNlcnZpY2VIZWxwZXIgPSBnZXRBcHBDb21wb25lbnQodmlldykuZ2V0U2hlbGxTZXJ2aWNlcygpO1xuXHRsZXQgaW5pdGlhbHMsIGlkLCBuYW1lO1xuXHRpZiAoc2hlbGxTZXJ2aWNlSGVscGVyPy5oYXNVU2hlbGwoKSkge1xuXHRcdGluaXRpYWxzID0gc2hlbGxTZXJ2aWNlSGVscGVyLmdldFVzZXJJbml0aWFscygpO1xuXHRcdGlkID0gc2hlbGxTZXJ2aWNlSGVscGVyLmdldFVzZXIoKS5nZXRJZCgpO1xuXHRcdG5hbWUgPSBzaGVsbFNlcnZpY2VIZWxwZXIuZ2V0VXNlcigpLmdldEZ1bGxOYW1lKCk7XG5cdH0gZWxzZSBpZiAod2luZG93LmFkdCkge1xuXHRcdC8vIGNoZWNrIGlmIHdlIGFyZSBpbiBBRFQgcHJldmlldywgaWYgc28gdXNlIHRoZSB1c2VyIHByb3ZpZGVkIGJ5IEFEVFxuXHRcdGlkID0gd2luZG93LmFkdC51c2VySUQ7XG5cdFx0bmFtZSA9IHdpbmRvdy5hZHQudXNlck5hbWU7XG5cdFx0aW5pdGlhbHMgPSBmb3JtYXRJbml0aWFscyhuYW1lKTtcblx0fSBlbHNlIHtcblx0XHR0aHJvdyBcIk5vIFNoZWxsLi4uIE5vIFVzZXJcIjtcblx0fVxuXG5cdHJldHVybiB7XG5cdFx0aW5pdGlhbHM6IGluaXRpYWxzLFxuXHRcdGlkOiBpZCxcblx0XHRuYW1lOiBnZXRUZXh0KFwiQ19DT0xMQUJPUkFUSU9ORFJBRlRfTUVcIiwgbmFtZSksXG5cdFx0aW5pdGlhbE5hbWU6IG5hbWUsXG5cdFx0Y29sb3I6IFwiQWNjZW50NlwiLCAvLyAgc2FtZSBjb2xvciBhcyBGTFAuLi5cblx0XHRtZTogdHJ1ZSxcblx0XHRzdGF0dXM6IFVzZXJTdGF0dXMuQ3VycmVudGx5RWRpdGluZ1xuXHR9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGV4dCh0ZXh0SWQ6IHN0cmluZywgLi4uYXJnczogc3RyaW5nW10pOiBzdHJpbmcge1xuXHRjb25zdCBvUmVzb3VyY2VNb2RlbCA9IExpYnJhcnkuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUuY29yZVwiKSE7XG5cdHJldHVybiBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KHRleHRJZCwgYXJncyk7XG59XG5cbmV4cG9ydCBjb25zdCBDb2xsYWJvcmF0aW9uVXRpbHMgPSB7XG5cdGZvcm1hdEluaXRpYWxzOiBmb3JtYXRJbml0aWFscyxcblx0Z2V0VXNlckNvbG9yOiBnZXRVc2VyQ29sb3IsXG5cdGdldE1lOiBnZXRNZSxcblx0Z2V0QXBwQ29tcG9uZW50OiBnZXRBcHBDb21wb25lbnQsXG5cdGdldFRleHQ6IGdldFRleHRcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaGFyZU9iamVjdChiaW5kaW5nQ29udGV4dDogQ29udGV4dCwgdXNlcnM6IEJhY2tlbmRVc2VyW10gPSBbXSk6IFByb21pc2U8dm9pZD4ge1xuXHRjb25zdCBtb2RlbCA9IGJpbmRpbmdDb250ZXh0LmdldE1vZGVsKCk7XG5cdGNvbnN0IG1ldGFNb2RlbCA9IG1vZGVsLmdldE1ldGFNb2RlbCgpO1xuXHRjb25zdCBlbnRpdHlTZXQgPSBtZXRhTW9kZWwuZ2V0TWV0YVBhdGgoYmluZGluZ0NvbnRleHQuZ2V0UGF0aCgpKTtcblx0Y29uc3Qgc2hhcmVBY3Rpb25OYW1lID0gbWV0YU1vZGVsLmdldE9iamVjdChgJHtlbnRpdHlTZXR9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5EcmFmdFJvb3QvU2hhcmVBY3Rpb25gKTtcblx0Y29uc3Qgc2hhcmVBY3Rpb24gPSBtb2RlbC5iaW5kQ29udGV4dChgJHtzaGFyZUFjdGlvbk5hbWV9KC4uLilgLCBiaW5kaW5nQ29udGV4dCk7XG5cdHNoYXJlQWN0aW9uLnNldFBhcmFtZXRlcihcIlVzZXJzXCIsIHVzZXJzKTtcblx0c2hhcmVBY3Rpb24uc2V0UGFyYW1ldGVyKFwiU2hhcmVBbGxcIiwgdHJ1ZSk7XG5cdGF3YWl0IHNoYXJlQWN0aW9uLmV4ZWN1dGUoXCIkYXV0by5IZXJvZXNcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBY3Rpdml0eUtleUZyb21QYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG5cdHJldHVybiBwYXRoLnN1YnN0cmluZyhwYXRoLmxhc3RJbmRleE9mKFwiKFwiKSArIDEsIHBhdGgubGFzdEluZGV4T2YoXCIpXCIpKTtcbn1cblxuZXhwb3J0IGNvbnN0IENvbGxhYm9yYXRpb25GaWVsZEdyb3VwUHJlZml4ID0gXCJfQ29sbGFib3JhdGlvbkRyYWZ0X1wiO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7OztNQWtCWUEsVUFBVTtFQUFBLFdBQVZBLFVBQVU7SUFBVkEsVUFBVSxDQUFWQSxVQUFVO0lBQVZBLFVBQVUsQ0FBVkEsVUFBVTtJQUFWQSxVQUFVLENBQVZBLFVBQVU7SUFBVkEsVUFBVSxDQUFWQSxVQUFVO0VBQUEsR0FBVkEsVUFBVSxLQUFWQSxVQUFVO0VBQUE7RUFBQSxJQU9WQyxnQkFBZ0I7RUFBQSxXQUFoQkEsZ0JBQWdCO0lBQWhCQSxnQkFBZ0I7SUFBaEJBLGdCQUFnQjtFQUFBLEdBQWhCQSxnQkFBZ0IsS0FBaEJBLGdCQUFnQjtFQUFBO0VBQUEsSUE0QmhCQyxRQUFRO0VBQUEsV0FBUkEsUUFBUTtJQUFSQSxRQUFRO0lBQVJBLFFBQVE7SUFBUkEsUUFBUTtJQUFSQSxRQUFRO0lBQVJBLFFBQVE7SUFBUkEsUUFBUTtJQUFSQSxRQUFRO0lBQVJBLFFBQVE7SUFBUkEsUUFBUTtJQUFSQSxRQUFRO0lBQVJBLFFBQVE7RUFBQSxHQUFSQSxRQUFR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
147
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJVc2VyU3RhdHVzIiwiVXNlckVkaXRpbmdTdGF0ZSIsIkFjdGl2aXR5IiwiZm9ybWF0SW5pdGlhbHMiLCJmdWxsTmFtZSIsImFjYWRlbWljVGl0bGVzIiwiZm9yRWFjaCIsImFjYWRlbWljVGl0bGUiLCJyZXBsYWNlIiwiaW5pdGlhbHMiLCJwYXJ0cyIsInRyaW1TdGFydCIsInNwbGl0IiwibGVuZ3RoIiwic2hpZnQiLCJjaGFyQXQiLCJwb3AiLCJzdWJzdHJpbmciLCJ0b1VwcGVyQ2FzZSIsImdldFVzZXJDb2xvciIsIlVzZXJJRCIsImFjdGl2ZVVzZXJzIiwiaW52aXRlZFVzZXJzIiwidXNlciIsImZpbmQiLCJ1IiwiaWQiLCJjb2xvciIsImkiLCJmaW5kSW5kZXgiLCJnZXRBcHBDb21wb25lbnQiLCJvQ29udHJvbCIsImlzQSIsIm9Pd25lciIsIkNvbXBvbmVudCIsImdldE93bmVyQ29tcG9uZW50Rm9yIiwiZ2V0TWUiLCJ2aWV3Iiwic2hlbGxTZXJ2aWNlSGVscGVyIiwiZ2V0U2hlbGxTZXJ2aWNlcyIsIm5hbWUiLCJoYXNVU2hlbGwiLCJnZXRVc2VySW5pdGlhbHMiLCJnZXRVc2VyIiwiZ2V0SWQiLCJnZXRGdWxsTmFtZSIsIndpbmRvdyIsImFkdCIsInVzZXJJRCIsInVzZXJOYW1lIiwiZ2V0VGV4dCIsImluaXRpYWxOYW1lIiwibWUiLCJzdGF0dXMiLCJDdXJyZW50bHlFZGl0aW5nIiwidGV4dElkIiwib1Jlc291cmNlTW9kZWwiLCJMaWJyYXJ5IiwiZ2V0UmVzb3VyY2VCdW5kbGVGb3IiLCJhcmdzIiwiQ29sbGFib3JhdGlvblV0aWxzIiwic2hhcmVPYmplY3QiLCJiaW5kaW5nQ29udGV4dCIsInVzZXJzIiwibW9kZWwiLCJnZXRNb2RlbCIsIm1ldGFNb2RlbCIsImdldE1ldGFNb2RlbCIsImVudGl0eVNldCIsImdldE1ldGFQYXRoIiwiZ2V0UGF0aCIsInNoYXJlQWN0aW9uTmFtZSIsImdldE9iamVjdCIsInNoYXJlQWN0aW9uIiwiYmluZENvbnRleHQiLCJzZXRQYXJhbWV0ZXIiLCJleGVjdXRlIiwiZ2V0QWN0aXZpdHlLZXlGcm9tUGF0aCIsInBhdGgiLCJsYXN0SW5kZXhPZiIsIkNvbGxhYm9yYXRpb25GaWVsZEdyb3VwUHJlZml4Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJDb2xsYWJvcmF0aW9uQ29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9Db21wb25lbnRcIjtcblxuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IExpYnJhcnkgZnJvbSBcInNhcC91aS9jb3JlL0xpYlwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5cbi8vIEFEVCBQcmV2aWV3IHByb3ZpZGVzIHRoZSB1c2VyIG5hbWUgYW5kIGlkIGZvciBjb2xsYWJvcmF0aW9uIGRyYWZ0XG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBXaW5kb3cge1xuXHRcdGFkdDoge1xuXHRcdFx0dXNlck5hbWU6IHN0cmluZztcblx0XHRcdHVzZXJJRDogc3RyaW5nO1xuXHRcdH07XG5cdH1cbn1cblxuZXhwb3J0IGVudW0gVXNlclN0YXR1cyB7XG5cdE5vdFlldEludml0ZWQgPSAwLFxuXHROb0NoYW5nZXNNYWRlID0gMSxcblx0Q2hhbmdlc01hZGUgPSAyLFxuXHRDdXJyZW50bHlFZGl0aW5nID0gM1xufVxuXG5leHBvcnQgZW51bSBVc2VyRWRpdGluZ1N0YXRlIHtcblx0Tm9DaGFuZ2VzID0gXCJOXCIsXG5cdEluUHJvZ3Jlc3MgPSBcIlBcIlxufVxuXG5leHBvcnQgdHlwZSBVc2VyID0ge1xuXHRpZDogc3RyaW5nO1xuXHRpbml0aWFscz86IHN0cmluZztcblx0bmFtZTogc3RyaW5nO1xuXHRjb2xvcj86IHN0cmluZztcblx0dHJhbnNpZW50PzogYm9vbGVhbjtcblx0c3RhdHVzPzogVXNlclN0YXR1cztcblx0bWU/OiBib29sZWFuO1xuXHRpbml0aWFsTmFtZT86IHN0cmluZztcbn07XG5cbi8vIGJhY2tlbmQgcmVwcmVzZW50YXRpb24gb2YgYSB1c2VyIGFjY29yZGluZyB0byBjb2xsYWJvcmF0aW9uIGRyYWZ0IHNwZWNcbmV4cG9ydCB0eXBlIEJhY2tlbmRVc2VyID0ge1xuXHRVc2VySUQ6IHN0cmluZztcblx0VXNlckFjY2Vzc1JvbGU6IHN0cmluZztcblx0VXNlckVkaXRpbmdTdGF0ZT86IFVzZXJFZGl0aW5nU3RhdGU7XG5cdFVzZXJEZXNjcmlwdGlvbj86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJBY3Rpdml0eSA9IFVzZXIgJiB7XG5cdGtleT86IHN0cmluZztcbn07XG5cbmV4cG9ydCBlbnVtIEFjdGl2aXR5IHtcblx0Sm9pbiA9IFwiSk9JTlwiLFxuXHRKb2luRWNobyA9IFwiSk9JTkVDSE9cIixcblx0TGVhdmUgPSBcIkxFQVZFXCIsXG5cdENoYW5nZSA9IFwiQ0hBTkdFXCIsXG5cdENyZWF0ZSA9IFwiQ1JFQVRFXCIsXG5cdERlbGV0ZSA9IFwiREVMRVRFXCIsXG5cdEFjdGlvbiA9IFwiQUNUSU9OXCIsXG5cdExvY2sgPSBcIkxPQ0tcIixcblx0QWN0aXZhdGUgPSBcIkFDVElWQVRFXCIsXG5cdERpc2NhcmQgPSBcIkRJU0NBUkRcIixcblx0VW5sb2NrID0gXCJVTkxPQ0tcIlxufVxuXG5leHBvcnQgdHlwZSBNZXNzYWdlID0ge1xuXHR1c2VyRGVzY3JpcHRpb246IHN0cmluZztcblx0dXNlcklEOiBzdHJpbmc7XG5cdHVzZXJBY3Rpb246IHN0cmluZztcblx0Y2xpZW50QWN0aW9uOiBzdHJpbmc7XG5cdGNsaWVudFRyaWdnZXJlZEFjdGlvbk5hbWU/OiBzdHJpbmc7XG5cdGNsaWVudFJlZnJlc2hMaXN0QmluZGluZz86IHN0cmluZztcblx0Y2xpZW50UmVxdWVzdGVkUHJvcGVydGllcz86IHN0cmluZztcblx0Y2xpZW50Q29udGVudDogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gZm9ybWF0SW5pdGlhbHMoZnVsbE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdC8vIHJlbW92ZSB0aXRsZXMgLSB0aG9zZSBhcmUgdGhlIG9uZXMgZnJvbSBTLzQgdG8gYmUgY2hlY2tlZCBpZiB0aGVyZSBhcmUgb3RoZXJzXG5cdGNvbnN0IGFjYWRlbWljVGl0bGVzID0gW1wiRHIuXCIsIFwiUHJvZi5cIiwgXCJQcm9mLiBEci5cIiwgXCJCLkEuXCIsIFwiTUJBXCIsIFwiUGguRC5cIl07XG5cdGFjYWRlbWljVGl0bGVzLmZvckVhY2goZnVuY3Rpb24gKGFjYWRlbWljVGl0bGUpIHtcblx0XHRmdWxsTmFtZSA9IGZ1bGxOYW1lLnJlcGxhY2UoYWNhZGVtaWNUaXRsZSwgXCJcIik7XG5cdH0pO1xuXG5cdGxldCBpbml0aWFsczogc3RyaW5nO1xuXHRjb25zdCBwYXJ0cyA9IGZ1bGxOYW1lLnRyaW1TdGFydCgpLnNwbGl0KFwiIFwiKTtcblxuXHRpZiAocGFydHMubGVuZ3RoID4gMSkge1xuXHRcdGluaXRpYWxzID0gKHBhcnRzPy5zaGlmdCgpPy5jaGFyQXQoMCkgfHwgXCJcIikgKyBwYXJ0cy5wb3AoKT8uY2hhckF0KDApO1xuXHR9IGVsc2Uge1xuXHRcdGluaXRpYWxzID0gZnVsbE5hbWUuc3Vic3RyaW5nKDAsIDIpO1xuXHR9XG5cblx0cmV0dXJuIGluaXRpYWxzLnRvVXBwZXJDYXNlKCk7XG59XG5cbmZ1bmN0aW9uIGdldFVzZXJDb2xvcihVc2VySUQ6IHN0cmluZywgYWN0aXZlVXNlcnM6IFVzZXJbXSwgaW52aXRlZFVzZXJzOiBVc2VyW10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHQvLyBzZWFyY2ggaWYgdXNlciBpcyBrbm93blxuXHRjb25zdCB1c2VyID0gYWN0aXZlVXNlcnMuZmluZCgodSkgPT4gdS5pZCA9PT0gVXNlcklEKTtcblx0aWYgKHVzZXIpIHtcblx0XHRyZXR1cm4gdXNlci5jb2xvcjtcblx0fSBlbHNlIHtcblx0XHQvLyBzZWFyY2ggZm9yIG5leHQgZnJlZSBjb2xvclxuXHRcdGZvciAobGV0IGkgPSAxOyBpIDw9IDEwOyBpKyspIHtcblx0XHRcdGlmIChcblx0XHRcdFx0YWN0aXZlVXNlcnMuZmluZEluZGV4KCh1KSA9PiB1LmNvbG9yID09PSBgQWNjZW50JHtpfWApID09PSAtMSAmJlxuXHRcdFx0XHRpbnZpdGVkVXNlcnMuZmluZEluZGV4KCh1KSA9PiB1LmNvbG9yID09PSBgQWNjZW50JHtpfWApID09PSAtMVxuXHRcdFx0KSB7XG5cdFx0XHRcdHJldHVybiBgQWNjZW50JHtpfWA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC8vIHRoaXMgc2VlbXMgdG8gYmUgYSBwb3B1bGFyIG9iamVjdCA6KSBmb3Igbm93IGp1c3QgcmV0dXJuIDEwIGZvciBhbGwuXG5cdFx0Ly8gZm9yIGludml0ZWQgd2Ugc2hvdWxkIHN0YXJ0IGZyb20gMSBhZ2FpbiBzbyB0aGUgY29sb3JzIGFyZSBkaWZmZXJlbnRcblx0XHRyZXR1cm4gXCJBY2NlbnQxMFwiO1xuXHR9XG59XG5cbi8vIGNvcGllZCBmcm9tIENvbW1vblV0aWxzLiBEdWUgdG8gYSBjeWNsZSBkZXBlbmRlbmN5IEkgY2FuJ3QgdXNlIENvbW1vblV0aWxzIGhlcmUuXG4vLyBUaGF0J3MgdG8gYmUgZml4ZWQuIHRoZSBkaXNjYXJkIHBvcG92ZXIgdGhpbmd5IHNob3VsZG4ndCBiZSBpbiB0aGUgY29tbW9uIHV0aWxzIGF0IGFsbFxuZnVuY3Rpb24gZ2V0QXBwQ29tcG9uZW50KG9Db250cm9sOiBDb250cm9sIHwgQ29tcG9uZW50KTogQXBwQ29tcG9uZW50IHtcblx0aWYgKG9Db250cm9sLmlzQTxBcHBDb21wb25lbnQ+KFwic2FwLmZlLmNvcmUuQXBwQ29tcG9uZW50XCIpKSB7XG5cdFx0cmV0dXJuIG9Db250cm9sO1xuXHR9XG5cdGNvbnN0IG9Pd25lciA9IENvbXBvbmVudC5nZXRPd25lckNvbXBvbmVudEZvcihvQ29udHJvbCk7XG5cdGlmICghb093bmVyKSB7XG5cdFx0cmV0dXJuIG9Db250cm9sIGFzIEFwcENvbXBvbmVudDtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gZ2V0QXBwQ29tcG9uZW50KG9Pd25lcik7XG5cdH1cbn1cblxuZnVuY3Rpb24gZ2V0TWUodmlldzogVmlldyk6IFVzZXIge1xuXHRjb25zdCBzaGVsbFNlcnZpY2VIZWxwZXIgPSBnZXRBcHBDb21wb25lbnQodmlldykuZ2V0U2hlbGxTZXJ2aWNlcygpO1xuXHRsZXQgaW5pdGlhbHMsIGlkLCBuYW1lO1xuXHRpZiAoc2hlbGxTZXJ2aWNlSGVscGVyPy5oYXNVU2hlbGwoKSkge1xuXHRcdGluaXRpYWxzID0gc2hlbGxTZXJ2aWNlSGVscGVyLmdldFVzZXJJbml0aWFscygpO1xuXHRcdGlkID0gc2hlbGxTZXJ2aWNlSGVscGVyLmdldFVzZXIoKS5nZXRJZCgpO1xuXHRcdG5hbWUgPSBzaGVsbFNlcnZpY2VIZWxwZXIuZ2V0VXNlcigpLmdldEZ1bGxOYW1lKCk7XG5cdH0gZWxzZSBpZiAod2luZG93LmFkdCkge1xuXHRcdC8vIGNoZWNrIGlmIHdlIGFyZSBpbiBBRFQgcHJldmlldywgaWYgc28gdXNlIHRoZSB1c2VyIHByb3ZpZGVkIGJ5IEFEVFxuXHRcdGlkID0gd2luZG93LmFkdC51c2VySUQ7XG5cdFx0bmFtZSA9IHdpbmRvdy5hZHQudXNlck5hbWU7XG5cdFx0aW5pdGlhbHMgPSBmb3JtYXRJbml0aWFscyhuYW1lKTtcblx0fSBlbHNlIHtcblx0XHR0aHJvdyBcIk5vIFNoZWxsLi4uIE5vIFVzZXJcIjtcblx0fVxuXG5cdHJldHVybiB7XG5cdFx0aW5pdGlhbHM6IGluaXRpYWxzLFxuXHRcdGlkOiBpZCxcblx0XHRuYW1lOiBnZXRUZXh0KFwiQ19DT0xMQUJPUkFUSU9ORFJBRlRfTUVcIiwgbmFtZSksXG5cdFx0aW5pdGlhbE5hbWU6IG5hbWUsXG5cdFx0Y29sb3I6IFwiQWNjZW50NlwiLCAvLyAgc2FtZSBjb2xvciBhcyBGTFAuLi5cblx0XHRtZTogdHJ1ZSxcblx0XHRzdGF0dXM6IFVzZXJTdGF0dXMuQ3VycmVudGx5RWRpdGluZ1xuXHR9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGV4dCh0ZXh0SWQ6IHN0cmluZywgLi4uYXJnczogc3RyaW5nW10pOiBzdHJpbmcge1xuXHRjb25zdCBvUmVzb3VyY2VNb2RlbCA9IExpYnJhcnkuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUuY29yZVwiKSE7XG5cdHJldHVybiBvUmVzb3VyY2VNb2RlbC5nZXRUZXh0KHRleHRJZCwgYXJncyk7XG59XG5cbmV4cG9ydCBjb25zdCBDb2xsYWJvcmF0aW9uVXRpbHMgPSB7XG5cdGZvcm1hdEluaXRpYWxzOiBmb3JtYXRJbml0aWFscyxcblx0Z2V0VXNlckNvbG9yOiBnZXRVc2VyQ29sb3IsXG5cdGdldE1lOiBnZXRNZSxcblx0Z2V0QXBwQ29tcG9uZW50OiBnZXRBcHBDb21wb25lbnQsXG5cdGdldFRleHQ6IGdldFRleHRcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaGFyZU9iamVjdChiaW5kaW5nQ29udGV4dDogQ29udGV4dCwgdXNlcnM6IEJhY2tlbmRVc2VyW10gPSBbXSk6IFByb21pc2U8Q29udGV4dD4ge1xuXHRjb25zdCBtb2RlbCA9IGJpbmRpbmdDb250ZXh0LmdldE1vZGVsKCk7XG5cdGNvbnN0IG1ldGFNb2RlbCA9IG1vZGVsLmdldE1ldGFNb2RlbCgpO1xuXHRjb25zdCBlbnRpdHlTZXQgPSBtZXRhTW9kZWwuZ2V0TWV0YVBhdGgoYmluZGluZ0NvbnRleHQuZ2V0UGF0aCgpKTtcblx0Y29uc3Qgc2hhcmVBY3Rpb25OYW1lID0gbWV0YU1vZGVsLmdldE9iamVjdChgJHtlbnRpdHlTZXR9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5EcmFmdFJvb3QvU2hhcmVBY3Rpb25gKTtcblx0Y29uc3Qgc2hhcmVBY3Rpb24gPSBtb2RlbC5iaW5kQ29udGV4dChgJHtzaGFyZUFjdGlvbk5hbWV9KC4uLilgLCBiaW5kaW5nQ29udGV4dCk7XG5cdHNoYXJlQWN0aW9uLnNldFBhcmFtZXRlcihcIlVzZXJzXCIsIHVzZXJzKTtcblx0c2hhcmVBY3Rpb24uc2V0UGFyYW1ldGVyKFwiU2hhcmVBbGxcIiwgdHJ1ZSk7XG5cdHJldHVybiBzaGFyZUFjdGlvbi5leGVjdXRlKFwiJGF1dG8uSGVyb2VzXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWN0aXZpdHlLZXlGcm9tUGF0aChwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRyZXR1cm4gcGF0aC5zdWJzdHJpbmcocGF0aC5sYXN0SW5kZXhPZihcIihcIikgKyAxLCBwYXRoLmxhc3RJbmRleE9mKFwiKVwiKSk7XG59XG5cbmV4cG9ydCBjb25zdCBDb2xsYWJvcmF0aW9uRmllbGRHcm91cFByZWZpeCA9IFwiX0NvbGxhYm9yYXRpb25EcmFmdF9cIjtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7TUFrQllBLFVBQVU7RUFBQSxXQUFWQSxVQUFVO0lBQVZBLFVBQVUsQ0FBVkEsVUFBVTtJQUFWQSxVQUFVLENBQVZBLFVBQVU7SUFBVkEsVUFBVSxDQUFWQSxVQUFVO0lBQVZBLFVBQVUsQ0FBVkEsVUFBVTtFQUFBLEdBQVZBLFVBQVUsS0FBVkEsVUFBVTtFQUFBO0VBQUEsSUFPVkMsZ0JBQWdCO0VBQUEsV0FBaEJBLGdCQUFnQjtJQUFoQkEsZ0JBQWdCO0lBQWhCQSxnQkFBZ0I7RUFBQSxHQUFoQkEsZ0JBQWdCLEtBQWhCQSxnQkFBZ0I7RUFBQTtFQUFBLElBNEJoQkMsUUFBUTtFQUFBLFdBQVJBLFFBQVE7SUFBUkEsUUFBUTtJQUFSQSxRQUFRO0lBQVJBLFFBQVE7SUFBUkEsUUFBUTtJQUFSQSxRQUFRO0lBQVJBLFFBQVE7SUFBUkEsUUFBUTtJQUFSQSxRQUFRO0lBQVJBLFFBQVE7SUFBUkEsUUFBUTtJQUFSQSxRQUFRO0VBQUEsR0FBUkEs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
@@ -170,7 +170,7 @@ export const CollaborationUtils = {
170
170
  getText: getText
171
171
  };
172
172
 
173
- export async function shareObject(bindingContext: Context, users: BackendUser[] = []): Promise<void> {
173
+ export async function shareObject(bindingContext: Context, users: BackendUser[] = []): Promise<Context> {
174
174
  const model = bindingContext.getModel();
175
175
  const metaModel = model.getMetaModel();
176
176
  const entitySet = metaModel.getMetaPath(bindingContext.getPath());
@@ -178,7 +178,7 @@ export async function shareObject(bindingContext: Context, users: BackendUser[]
178
178
  const shareAction = model.bindContext(`${shareActionName}(...)`, bindingContext);
179
179
  shareAction.setParameter("Users", users);
180
180
  shareAction.setParameter("ShareAll", true);
181
- await shareAction.execute("$auto.Heroes");
181
+ return shareAction.execute("$auto.Heroes");
182
182
  }
183
183
 
184
184
  export function getActivityKeyFromPath(path: string): string {
@@ -2,14 +2,14 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2024 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/fe/core/buildingBlocks/templating/BuildingBlockSupport", "sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlock", "sap/fe/core/helpers/ClassSupport", "sap/m/Bar", "sap/m/Button", "sap/m/Dialog", "sap/m/Title", "sap/ui/core/Lib", "sap/fe/core/jsx-runtime/jsx"], function (BuildingBlockSupport, RuntimeBuildingBlock, ClassSupport, Bar, Button, Dialog, Title, Library, _jsx) {
5
+ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/templating/BuildingBlockSupport", "sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlock", "sap/m/Bar", "sap/m/Button", "sap/m/Dialog", "sap/m/Title", "sap/ui/core/Lib", "sap/fe/base/jsx-runtime/jsx"], function (ClassSupport, BuildingBlockSupport, RuntimeBuildingBlock, Bar, Button, Dialog, Title, Library, _jsx) {
6
6
  "use strict";
7
7
 
8
8
  var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17;
9
9
  var _exports = {};
10
- var defineReference = ClassSupport.defineReference;
11
10
  var defineBuildingBlock = BuildingBlockSupport.defineBuildingBlock;
12
11
  var blockAttribute = BuildingBlockSupport.blockAttribute;
12
+ var defineReference = ClassSupport.defineReference;
13
13
  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
14
14
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15
15
  function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
@@ -69,12 +69,21 @@ sap.ui.define(["sap/fe/core/buildingBlocks/templating/BuildingBlockSupport", "sa
69
69
  type: "function"
70
70
  }), _dec(_class = (_class2 = /*#__PURE__*/function (_RuntimeBuildingBlock) {
71
71
  _inheritsLoose(OperationsDialogBlock, _RuntimeBuildingBlock);
72
- function OperationsDialogBlock() {
72
+ /*
73
+ * The 'id' property of the dialog
74
+ */
75
+
76
+ /**
77
+ * The 'title' property of the Dialog;
78
+ */
79
+
80
+ /**
81
+ * The message object that is provided to this dialog
82
+ */
83
+
84
+ function OperationsDialogBlock(props, _controlConfiguration, _visitorSettings) {
73
85
  var _this;
74
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
75
- args[_key] = arguments[_key];
76
- }
77
- _this = _RuntimeBuildingBlock.call(this, ...args) || this;
86
+ _this = _RuntimeBuildingBlock.call(this, props, _controlConfiguration, _visitorSettings) || this;
78
87
  _initializerDefineProperty(_this, "id", _descriptor, _assertThisInitialized(_this));
79
88
  _initializerDefineProperty(_this, "title", _descriptor2, _assertThisInitialized(_this));
80
89
  _initializerDefineProperty(_this, "messageObject", _descriptor3, _assertThisInitialized(_this));
@@ -288,4 +297,4 @@ sap.ui.define(["sap/fe/core/buildingBlocks/templating/BuildingBlockSupport", "sa
288
297
  _exports = OperationsDialogBlock;
289
298
  return _exports;
290
299
  }, false);
291
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYWNyb1Jlc291cmNlQnVuZGxlIiwiTGlicmFyeSIsImdldFJlc291cmNlQnVuZGxlRm9yIiwiT3BlcmF0aW9uc0RpYWxvZ0Jsb2NrIiwiZGVmaW5lQnVpbGRpbmdCbG9jayIsIm5hbWUiLCJuYW1lc3BhY2UiLCJibG9ja0F0dHJpYnV0ZSIsInR5cGUiLCJpc1B1YmxpYyIsInJlcXVpcmVkIiwiZGVmaW5lUmVmZXJlbmNlIiwib3BlbiIsImdldENvbnRlbnQiLCJvcGVyYXRpb25zRGlhbG9nIiwiY3VycmVudCIsImdldEJlZ2luQnV0dG9uIiwiQnV0dG9uIiwicHJlc3MiLCJpc011bHRpQ29udGV4dDQxMiIsInJlc29sdmUiLCJtb2RlbCIsInN1Ym1pdEJhdGNoIiwiZ3JvdXBJZCIsInJlcXVlc3RTaWRlRWZmZWN0cyIsInN0cmljdEhhbmRsaW5nUHJvbWlzZXMiLCJmb3JFYWNoIiwic3RyaWN0SGFuZGxpbmdQcm9taXNlIiwic3RyaWN0SGFuZGxpbmdGYWlscyIsInN0cmljdEhhbmRsaW5nVXRpbGl0aWVzIiwic3RyaWN0SGFuZGxpbmdUcmFuc2l0aW9uRmFpbHMiLCJsZW5ndGgiLCJtZXNzYWdlSGFuZGxlciIsInJlbW92ZVRyYW5zaXRpb25NZXNzYWdlcyIsInN0cmljdEhhbmRsaW5nV2FybmluZ01lc3NhZ2VzIiwiaXM0MTJFeGVjdXRlZCIsIm1lc3NhZ2VEaWFsb2dNb2RlbCIsInNldERhdGEiLCJjbG9zZSIsInRleHQiLCJhY3Rpb25OYW1lIiwiZ2V0VGl0bGUiLCJzVGl0bGUiLCJnZXRUZXh0IiwiVGl0bGUiLCJnZXRFbmRCdXR0b24iLCJpc0dyb3VwZWQiLCJzaG93TWVzc2FnZUluZm8iLCJjYW5jZWxCdXR0b25UeHQiLCJpZCIsIm1lc3NhZ2VPYmplY3QiLCJvTWVzc2FnZVZpZXciLCJCYXIiLCJjb250ZW50TGVmdCIsIm9CYWNrQnV0dG9uIiwiY29udGVudE1pZGRsZSIsIlJ1bnRpbWVCdWlsZGluZ0Jsb2NrIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJPcGVyYXRpb25zRGlhbG9nLmJsb2NrLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBibG9ja0F0dHJpYnV0ZSwgZGVmaW5lQnVpbGRpbmdCbG9jayB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy90ZW1wbGF0aW5nL0J1aWxkaW5nQmxvY2tTdXBwb3J0XCI7XG5pbXBvcnQgUnVudGltZUJ1aWxkaW5nQmxvY2sgZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL3RlbXBsYXRpbmcvUnVudGltZUJ1aWxkaW5nQmxvY2tcIjtcbmltcG9ydCB7IGRlZmluZVJlZmVyZW5jZSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgeyBSZWYgfSBmcm9tIFwic2FwL2ZlL2NvcmUvanN4LXJ1bnRpbWUvanN4XCI7XG5pbXBvcnQgQmFyIGZyb20gXCJzYXAvbS9CYXJcIjtcbmltcG9ydCBCdXR0b24gZnJvbSBcInNhcC9tL0J1dHRvblwiO1xuaW1wb3J0IERpYWxvZyBmcm9tIFwic2FwL20vRGlhbG9nXCI7XG5pbXBvcnQgVGl0bGUgZnJvbSBcInNhcC9tL1RpdGxlXCI7XG5pbXBvcnQgdHlwZSBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgTGlicmFyeSBmcm9tIFwic2FwL3VpL2NvcmUvTGliXCI7XG5pbXBvcnQgdHlwZSBNZXNzYWdlIGZyb20gXCJzYXAvdWkvY29yZS9tZXNzYWdlL01lc3NhZ2VcIjtcbmltcG9ydCB0eXBlIEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNb2RlbFwiO1xuaW1wb3J0IHR5cGUgTWVzc2FnZUhhbmRsZXIgZnJvbSBcIi4uL01lc3NhZ2VIYW5kbGVyXCI7XG5cbnR5cGUgU3RyaWN0SGFuZGxpbmdQcm9taXNlID0ge1xuXHQvL1RPRE86IG1vdmUgdG8gc29tZXdoZXJlIGVsc2Vcblx0cmVzb2x2ZTogRnVuY3Rpb247XG5cdGdyb3VwSWQ6IHN0cmluZztcblx0cmVxdWVzdFNpZGVFZmZlY3RzPzogRnVuY3Rpb247XG59O1xuXG5leHBvcnQgdHlwZSBTdHJpY3RIYW5kbGluZ1V0aWxpdGllcyA9IHtcblx0Ly9UT0RPOiBtb3ZlIHRvIHNvbWV3aGVyZSBlbHNlXG5cdGlzNDEyRXhlY3V0ZWQ6IGJvb2xlYW47XG5cdHN0cmljdEhhbmRsaW5nVHJhbnNpdGlvbkZhaWxzOiBPYmplY3RbXTtcblx0c3RyaWN0SGFuZGxpbmdQcm9taXNlczogU3RyaWN0SGFuZGxpbmdQcm9taXNlW107XG5cdHN0cmljdEhhbmRsaW5nV2FybmluZ01lc3NhZ2VzOiBNZXNzYWdlW107XG5cdGRlbGF5U3VjY2Vzc01lc3NhZ2VzOiBNZXNzYWdlW107XG5cdHByb2Nlc3NlZE1lc3NhZ2VJZHM6IHN0cmluZ1tdO1xufTtcblxuY29uc3QgbWFjcm9SZXNvdXJjZUJ1bmRsZSA9IExpYnJhcnkuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUubWFjcm9zXCIpITtcbi8qKlxuICogS25vd24gbGltaXRhdGlvbnMgZm9yIHRoZSBmaXJzdCB0cnlvdXQgYXMgbWVudGlvbmVkIGluIGdpdCA1ODA2NDQyXG4gKiAgLSBmdW5jdGlvbmFsIGJsb2NrIGRlcGVuZGVuY3lcbiAqIFx0LSBxdWVzdGlvbmFibGUgcGFyYW1ldGVycyB3aWxsIGJlIHJlZmFjdG9yZWRcbiAqL1xuQGRlZmluZUJ1aWxkaW5nQmxvY2soe1xuXHRuYW1lOiBcIk9wZXJhdGlvbnNEaWFsb2dcIixcblx0bmFtZXNwYWNlOiBcInNhcC5mZS5jb3JlLmNvbnRyb2xsZXJleHRlbnNpb25zXCJcbn0pXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBPcGVyYXRpb25zRGlhbG9nQmxvY2sgZXh0ZW5kcyBSdW50aW1lQnVpbGRpbmdCbG9jayB7XG5cdC8qXG5cdCAqIFRoZSAnaWQnIHByb3BlcnR5IG9mIHRoZSBkaWFsb2dcblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwic3RyaW5nXCIsIGlzUHVibGljOiB0cnVlLCByZXF1aXJlZDogdHJ1ZSB9KVxuXHRwdWJsaWMgaWQhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIFRoZSAndGl0bGUnIHByb3BlcnR5IG9mIHRoZSBEaWFsb2c7XG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHB1YmxpYyB0aXRsZT86IHN0cmluZyA9IFwiRGlhbG9nIFN0YW5kYXJkIFRpdGxlXCI7XG5cblx0LyoqXG5cdCAqIFRoZSBtZXNzYWdlIG9iamVjdCB0aGF0IGlzIHByb3ZpZGVkIHRvIHRoaXMgZGlhbG9nXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoeyB0eXBlOiBcIm9iamVjdFwiLCByZXF1aXJlZDogdHJ1ZSB9KSAvL1RPRE86IGNyZWF0ZSB0aGUgdHlwZVxuXHRwdWJsaWMgbWVzc2FnZU9iamVjdCE6IHsgb01lc3NhZ2VWaWV3OiBDb250cm9sOyBvQmFja0J1dHRvbjogQnV0dG9uIH07XG5cblx0QGRlZmluZVJlZmVyZW5jZSgpXG5cdG9wZXJhdGlvbnNEaWFsb2chOiBSZWY8RGlhbG9nPjtcblxuXHRAYmxvY2tBdHRyaWJ1dGUoeyB0eXBlOiBcImJvb2xlYW5cIiwgcmVxdWlyZWQ6IHRydWUgfSlcblx0cHVibGljIGlzTXVsdGlDb250ZXh0NDEyPzogYm9vbGVhbjtcblxuXHRAYmxvY2tBdHRyaWJ1dGUoeyB0eXBlOiBcImZ1bmN0aW9uXCIgfSlcblx0cHVibGljIHJlcXVlc3RTaWRlRWZmZWN0cz86IEZ1bmN0aW9uO1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwiZnVuY3Rpb25cIiB9KVxuXHRwdWJsaWMgcmVzb2x2ZT86IEZ1bmN0aW9uO1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwib2JqZWN0XCIsIHJlcXVpcmVkOiB0cnVlIH0pXG5cdHB1YmxpYyBtb2RlbCE6IE9EYXRhTW9kZWw7XG5cblx0QGJsb2NrQXR0cmlidXRlKHsgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IHRydWUgfSlcblx0cHVibGljIGdyb3VwSWQhOiBzdHJpbmc7XG5cblx0QGJsb2NrQXR0cmlidXRlKHsgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IHRydWUgfSlcblx0cHVibGljIGFjdGlvbk5hbWUhOiBzdHJpbmc7XG5cblx0QGJsb2NrQXR0cmlidXRlKHsgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQ6IHRydWUgfSlcblx0cHVibGljIGNhbmNlbEJ1dHRvblR4dCE6IHN0cmluZztcblxuXHRAYmxvY2tBdHRyaWJ1dGUoeyB0eXBlOiBcIm9iamVjdFwiLCByZXF1aXJlZDogdHJ1ZSB9KVxuXHRwdWJsaWMgc3RyaWN0SGFuZGxpbmdQcm9taXNlcyE6IFN0cmljdEhhbmRsaW5nUHJvbWlzZVtdO1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwib2JqZWN0XCIgfSlcblx0cHVibGljIHN0cmljdEhhbmRsaW5nVXRpbGl0aWVzPzogU3RyaWN0SGFuZGxpbmdVdGlsaXRpZXM7XG5cblx0QGJsb2NrQXR0cmlidXRlKHsgdHlwZTogXCJvYmplY3RcIiB9KVxuXHRwdWJsaWMgbWVzc2FnZUhhbmRsZXI/OiBNZXNzYWdlSGFuZGxlcjtcblxuXHRAYmxvY2tBdHRyaWJ1dGUoeyB0eXBlOiBcIm9iamVjdFwiLCByZXF1aXJlZDogdHJ1ZSB9KVxuXHRwdWJsaWMgbWVzc2FnZURpYWxvZ01vZGVsITogSlNPTk1vZGVsO1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHB1YmxpYyBpc0dyb3VwZWQ/OiBib29sZWFuO1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwiZnVuY3Rpb25cIiB9KVxuXHRwdWJsaWMgc2hvd01lc3NhZ2VJbmZvPzogRnVuY3Rpb247XG5cblx0cHVibGljIG9wZW4oKTogdm9pZCB7XG5cdFx0dGhpcy5nZXRDb250ZW50KCk7XG5cdFx0dGhpcy5vcGVyYXRpb25zRGlhbG9nLmN1cnJlbnQ/Lm9wZW4oKTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0QmVnaW5CdXR0b24oKTogQnV0dG9uIHtcblx0XHRyZXR1cm4gbmV3IEJ1dHRvbih7XG5cdFx0XHRwcmVzczogKCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRpZiAoISh0aGlzLmlzTXVsdGlDb250ZXh0NDEyID8/IGZhbHNlKSkge1xuXHRcdFx0XHRcdHRoaXMucmVzb2x2ZT8uKHRydWUpO1xuXHRcdFx0XHRcdHRoaXMubW9kZWwuc3VibWl0QmF0Y2godGhpcy5ncm91cElkKTtcblx0XHRcdFx0XHRpZiAodGhpcy5yZXF1ZXN0U2lkZUVmZmVjdHMpIHtcblx0XHRcdFx0XHRcdHRoaXMucmVxdWVzdFNpZGVFZmZlY3RzKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMuc3RyaWN0SGFuZGxpbmdQcm9taXNlcy5mb3JFYWNoKChzdHJpY3RIYW5kbGluZ1Byb21pc2U6IFN0cmljdEhhbmRsaW5nUHJvbWlzZSkgPT4ge1xuXHRcdFx0XHRcdFx0c3RyaWN0SGFuZGxpbmdQcm9taXNlLnJlc29sdmUodHJ1ZSk7XG5cdFx0XHRcdFx0XHR0aGlzLm1vZGVsLnN1Ym1pdEJhdGNoKHN0cmljdEhhbmRsaW5nUHJvbWlzZS5ncm91cElkKTtcblx0XHRcdFx0XHRcdGlmIChzdHJpY3RIYW5kbGluZ1Byb21pc2UucmVxdWVzdFNpZGVFZmZlY3RzKSB7XG5cdFx0XHRcdFx0XHRcdHN0cmljdEhhbmRsaW5nUHJvbWlzZS5yZXF1ZXN0U2lkZUVmZmVjdHMoKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRjb25zdCBzdHJpY3RIYW5kbGluZ0ZhaWxzID0gdGhpcy5zdHJpY3RIYW5kbGluZ1V0aWxpdGllcz8uc3RyaWN0SGFuZGxpbmdUcmFuc2l0aW9uRmFpbHM7XG5cdFx0XHRcdFx0aWYgKHN0cmljdEhhbmRsaW5nRmFpbHMgJiYgc3RyaWN0SGFuZGxpbmdGYWlscy5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdFx0XHR0aGlzLm1lc3NhZ2VIYW5kbGVyPy5yZW1vdmVUcmFuc2l0aW9uTWVzc2FnZXMoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKHRoaXMuc3RyaWN0SGFuZGxpbmdVdGlsaXRpZXMpIHtcblx0XHRcdFx0XHRcdHRoaXMuc3RyaWN0SGFuZGxpbmdVdGlsaXRpZXMuc3RyaWN0SGFuZGxpbmdXYXJuaW5nTWVzc2FnZXMgPSBbXTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHRoaXMuc3RyaWN0SGFuZGxpbmdVdGlsaXRpZXMpIHtcblx0XHRcdFx0XHR0aGlzLnN0cmljdEhhbmRsaW5nVXRpbGl0aWVzLmlzNDEyRXhlY3V0ZWQgPSB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMubWVzc2FnZURpYWxvZ01vZGVsLnNldERhdGEoe30pO1xuXHRcdFx0XHR0aGlzLmNsb3NlKCk7XG5cdFx0XHR9LFxuXHRcdFx0dHlwZTogXCJFbXBoYXNpemVkXCIsXG5cdFx0XHR0ZXh0OiB0aGlzLmFjdGlvbk5hbWVcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgY2xvc2UoKTogdm9pZCB7XG5cdFx0dGhpcy5vcGVyYXRpb25zRGlhbG9nLmN1cnJlbnQ/LmNsb3NlKCk7XG5cdH1cblxuXHRwcml2YXRlIGdldFRpdGxlKCk6IFRpdGxlIHtcblx0XHRjb25zdCBzVGl0bGUgPSBtYWNyb1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX1dBUk5JTkdTXCIpO1xuXHRcdHJldHVybiBuZXcgVGl0bGUoeyB0ZXh0OiBzVGl0bGUgfSk7XG5cdH1cblxuXHRwcml2YXRlIGdldEVuZEJ1dHRvbigpOiBCdXR0b24ge1xuXHRcdHJldHVybiBuZXcgQnV0dG9uKHtcblx0XHRcdHByZXNzOiAoKTogdm9pZCA9PiB7XG5cdFx0XHRcdGlmICh0aGlzLnN0cmljdEhhbmRsaW5nVXRpbGl0aWVzKSB7XG5cdFx0XHRcdFx0dGhpcy5zdHJpY3RIYW5kbGluZ1V0aWxpdGllcy5zdHJpY3RIYW5kbGluZ1dhcm5pbmdNZXNzYWdlcyA9IFtdO1xuXHRcdFx0XHRcdHRoaXMuc3RyaWN0SGFuZGxpbmdVdGlsaXRpZXMuaXM0MTJFeGVjdXRlZCA9IGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICghKHRoaXMuaXNNdWx0aUNvbnRleHQ0MTIgPz8gZmFsc2UpKSB7XG5cdFx0XHRcdFx0dGhpcy5yZXNvbHZlIShmYWxzZSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy5zdHJpY3RIYW5kbGluZ1Byb21pc2VzLmZvckVhY2goZnVuY3Rpb24gKHN0cmljdEhhbmRsaW5nUHJvbWlzZTogU3RyaWN0SGFuZGxpbmdQcm9taXNlKSB7XG5cdFx0XHRcdFx0XHRzdHJpY3RIYW5kbGluZ1Byb21pc2UucmVzb2x2ZShmYWxzZSk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5tZXNzYWdlRGlhbG9nTW9kZWwuc2V0RGF0YSh7fSk7XG5cdFx0XHRcdHRoaXMuY2xvc2UoKTtcblx0XHRcdFx0aWYgKHRoaXMuaXNHcm91cGVkID8/IGZhbHNlKSB7XG5cdFx0XHRcdFx0dGhpcy5zaG93TWVzc2FnZUluZm8hKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHR0ZXh0OiB0aGlzLmNhbmNlbEJ1dHRvblR4dFxuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBidWlsZGluZyBibG9jayByZW5kZXIgZnVuY3Rpb24uXG5cdCAqXG5cdCAqIEByZXR1cm5zIEFuIFhNTC1iYXNlZCBzdHJpbmcgd2l0aCB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgZmllbGQgY29udHJvbFxuXHQgKi9cblx0Z2V0Q29udGVudCgpOiBEaWFsb2cge1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8RGlhbG9nXG5cdFx0XHRcdGlkPXt0aGlzLmlkfVxuXHRcdFx0XHRyZWY9e3RoaXMub3BlcmF0aW9uc0RpYWxvZ31cblx0XHRcdFx0cmVzaXphYmxlPXt0cnVlfVxuXHRcdFx0XHRjb250ZW50PXt0aGlzLm1lc3NhZ2VPYmplY3Qub01lc3NhZ2VWaWV3fVxuXHRcdFx0XHRzdGF0ZT17XCJXYXJuaW5nXCJ9XG5cdFx0XHRcdGN1c3RvbUhlYWRlcj17XG5cdFx0XHRcdFx0bmV3IEJhcih7XG5cdFx0XHRcdFx0XHRjb250ZW50TGVmdDogW3RoaXMubWVzc2FnZU9iamVjdC5vQmFja0J1dHRvbl0sXG5cdFx0XHRcdFx0XHRjb250ZW50TWlkZGxlOiBbdGhpcy5nZXRUaXRsZSgpXVxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdFx0Y29udGVudEhlaWdodD17XCI1MCVcIn1cblx0XHRcdFx0Y29udGVudFdpZHRoPXtcIjUwJVwifVxuXHRcdFx0XHR2ZXJ0aWNhbFNjcm9sbGluZz17ZmFsc2V9XG5cdFx0XHRcdGJlZ2luQnV0dG9uPXt0aGlzLmdldEJlZ2luQnV0dG9uKCl9XG5cdFx0XHRcdGVuZEJ1dHRvbj17dGhpcy5nZXRFbmRCdXR0b24oKX1cblx0XHRcdD48L0RpYWxvZz5cblx0XHQpIGFzIERpYWxvZztcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7RUFnQ0EsTUFBTUEsbUJBQW1CLEdBQUdDLE9BQU8sQ0FBQ0Msb0JBQW9CLENBQUMsZUFBZSxDQUFFO0VBQzFFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFKQSxJQVNxQkMscUJBQXFCLFdBSnpDQyxtQkFBbUIsQ0FBQztJQUNwQkMsSUFBSSxFQUFFLGtCQUFrQjtJQUN4QkMsU0FBUyxFQUFFO0VBQ1osQ0FBQyxDQUFDLFVBS0FDLGNBQWMsQ0FBQztJQUFFQyxJQUFJLEVBQUUsUUFBUTtJQUFFQyxRQUFRLEVBQUUsSUFBSTtJQUFFQyxRQUFRLEVBQUU7RUFBSyxDQUFDLENBQUMsVUFNbEVILGNBQWMsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsVUFNbENELGNBQWMsQ0FBQztJQUFFQyxJQUFJLEVBQUUsUUFBUTtJQUFFRSxRQUFRLEVBQUU7RUFBSyxDQUFDLENBQUMsVUFHbERDLGVBQWUsRUFBRSxVQUdqQkosY0FBYyxDQUFDO0lBQUVDLElBQUksRUFBRSxTQUFTO0lBQUVFLFFBQVEsRUFBRTtFQUFLLENBQUMsQ0FBQyxVQUduREgsY0FBYyxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFXLENBQUMsQ0FBQyxVQUdwQ0QsY0FBYyxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFXLENBQUMsQ0FBQyxVQUdwQ0QsY0FBYyxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVFLFFBQVEsRUFBRTtFQUFLLENBQUMsQ0FBQyxXQUdsREgsY0FBYyxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVFLFFBQVEsRUFBRTtFQUFLLENBQUMsQ0FBQyxXQUdsREgsY0FBYyxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVFLFFBQVEsRUFBRTtFQUFLLENBQUMsQ0FBQyxXQUdsREgsY0FBYyxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVFLFFBQVEsRUFBRTtFQUFLLENBQUMsQ0FBQyxXQUdsREgsY0FBYyxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVFLFFBQVEsRUFBRTtFQUFLLENBQUMsQ0FBQyxXQUdsREgsY0FBYyxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxXQUdsQ0QsY0FBYyxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxXQUdsQ0QsY0FBYyxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVFLFFBQVEsRUFBRTtFQUFLLENBQUMsQ0FBQyxXQUdsREgsY0FBYyxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxXQUduQ0QsY0FBYyxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFXLENBQUMsQ0FBQztJQUFBO0lBQUE7TUFBQTtNQUFBO1FBQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFB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UyxFQUFFLElBQUksQ0FBQzZCLFlBQVk7TUFBRyxFQUN0QjtJQUVaLENBQUM7SUFBQTtFQUFBLEVBaktpRFcsb0JBQW9CO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FXOUMsdUJBQXVCO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQSJ9
300
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYWNyb1Jlc291cmNlQnVuZGxlIiwiTGlicmFyeSIsImdldFJlc291cmNlQnVuZGxlRm9yIiwiT3BlcmF0aW9uc0RpYWxvZ0Jsb2NrIiwiZGVmaW5lQnVpbGRpbmdCbG9jayIsIm5hbWUiLCJuYW1lc3BhY2UiLCJibG9ja0F0dHJpYnV0ZSIsInR5cGUiLCJpc1B1YmxpYyIsInJlcXVpcmVkIiwiZGVmaW5lUmVmZXJlbmNlIiwicHJvcHMiLCJfY29udHJvbENvbmZpZ3VyYXRpb24iLCJfdmlzaXRvclNldHRpbmdzIiwib3BlbiIsImdldENvbnRlbnQiLCJvcGVyYXRpb25zRGlhbG9nIiwiY3VycmVudCIsImdldEJlZ2luQnV0dG9uIiwiQnV0dG9uIiwicHJlc3MiLCJpc011bHRpQ29udGV4dDQxMiIsInJlc29sdmUiLCJtb2RlbCIsInN1Ym1pdEJhdGNoIiwiZ3JvdXBJZCIsInJlcXVlc3RTaWRlRWZmZWN0cyIsInN0cmljdEhhbmRsaW5nUHJvbWlzZXMiLCJmb3JFYWNoIiwic3RyaWN0SGFuZGxpbmdQcm9taXNlIiwic3RyaWN0SGFuZGxpbmdGYWlscyIsInN0cmljdEhhbmRsaW5nVXRpbGl0aWVzIiwic3RyaWN0SGFuZGxpbmdUcmFuc2l0aW9uRmFpbHMiLCJsZW5ndGgiLCJtZXNzYWdlSGFuZGxlciIsInJlbW92ZVRyYW5zaXRpb25NZXNzYWdlcyIsInN0cmljdEhhbmRsaW5nV2FybmluZ01lc3NhZ2VzIiwiaXM0MTJFeGVjdXRlZCIsIm1lc3NhZ2VEaWFsb2dNb2RlbCIsInNldERhdGEiLCJjbG9zZSIsInRleHQiLCJhY3Rpb25OYW1lIiwiZ2V0VGl0bGUiLCJzVGl0bGUiLCJnZXRUZXh0IiwiVGl0bGUiLCJnZXRFbmRCdXR0b24iLCJpc0dyb3VwZWQiLCJzaG93TWVzc2FnZUluZm8iLCJjYW5jZWxCdXR0b25UeHQiLCJpZCIsIm1lc3NhZ2VPYmplY3QiLCJvTWVzc2FnZVZpZXciLCJCYXIiLCJjb250ZW50TGVmdCIsIm9CYWNrQnV0dG9uIiwiY29udGVudE1pZGRsZSIsIlJ1bnRpbWVCdWlsZGluZ0Jsb2NrIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJPcGVyYXRpb25zRGlhbG9nLmJsb2NrLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVJlZmVyZW5jZSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIHsgUmVmIH0gZnJvbSBcInNhcC9mZS9iYXNlL2pzeC1ydW50aW1lL2pzeFwiO1xuaW1wb3J0IHsgYmxvY2tBdHRyaWJ1dGUsIGRlZmluZUJ1aWxkaW5nQmxvY2sgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvdGVtcGxhdGluZy9CdWlsZGluZ0Jsb2NrU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZVByb2Nlc3NvclNldHRpbmdzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL3RlbXBsYXRpbmcvQnVpbGRpbmdCbG9ja1RlbXBsYXRlUHJvY2Vzc29yXCI7XG5pbXBvcnQgUnVudGltZUJ1aWxkaW5nQmxvY2sgZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL3RlbXBsYXRpbmcvUnVudGltZUJ1aWxkaW5nQmxvY2tcIjtcbmltcG9ydCBCYXIgZnJvbSBcInNhcC9tL0JhclwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwic2FwL20vQnV0dG9uXCI7XG5pbXBvcnQgRGlhbG9nIGZyb20gXCJzYXAvbS9EaWFsb2dcIjtcbmltcG9ydCBUaXRsZSBmcm9tIFwic2FwL20vVGl0bGVcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCBMaWJyYXJ5IGZyb20gXCJzYXAvdWkvY29yZS9MaWJcIjtcbmltcG9ydCB0eXBlIE1lc3NhZ2UgZnJvbSBcInNhcC91aS9jb3JlL21lc3NhZ2UvTWVzc2FnZVwiO1xuaW1wb3J0IHR5cGUgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE9EYXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1vZGVsXCI7XG5pbXBvcnQgdHlwZSBNZXNzYWdlSGFuZGxlciBmcm9tIFwiLi4vTWVzc2FnZUhhbmRsZXJcIjtcblxudHlwZSBTdHJpY3RIYW5kbGluZ1Byb21pc2UgPSB7XG5cdC8vVE9ETzogbW92ZSB0byBzb21ld2hlcmUgZWxzZVxuXHRyZXNvbHZlOiBGdW5jdGlvbjtcblx0Z3JvdXBJZDogc3RyaW5nO1xuXHRyZXF1ZXN0U2lkZUVmZmVjdHM/OiBGdW5jdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIFN0cmljdEhhbmRsaW5nVXRpbGl0aWVzID0ge1xuXHQvL1RPRE86IG1vdmUgdG8gc29tZXdoZXJlIGVsc2Vcblx0aXM0MTJFeGVjdXRlZDogYm9vbGVhbjtcblx0c3RyaWN0SGFuZGxpbmdUcmFuc2l0aW9uRmFpbHM6IE9iamVjdFtdO1xuXHRzdHJpY3RIYW5kbGluZ1Byb21pc2VzOiBTdHJpY3RIYW5kbGluZ1Byb21pc2VbXTtcblx0c3RyaWN0SGFuZGxpbmdXYXJuaW5nTWVzc2FnZXM6IE1lc3NhZ2VbXTtcblx0ZGVsYXlTdWNjZXNzTWVzc2FnZXM6IE1lc3NhZ2VbXTtcblx0cHJvY2Vzc2VkTWVzc2FnZUlkczogc3RyaW5nW107XG59O1xuXG5jb25zdCBtYWNyb1Jlc291cmNlQnVuZGxlID0gTGlicmFyeS5nZXRSZXNvdXJjZUJ1bmRsZUZvcihcInNhcC5mZS5tYWNyb3NcIikhO1xuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9ucyBmb3IgdGhlIGZpcnN0IHRyeW91dCBhcyBtZW50aW9uZWQgaW4gZ2l0IDU4MDY0NDJcbiAqICAtIGZ1bmN0aW9uYWwgYmxvY2sgZGVwZW5kZW5jeVxuICogXHQtIHF1ZXN0aW9uYWJsZSBwYXJhbWV0ZXJzIHdpbGwgYmUgcmVmYWN0b3JlZFxuICovXG5AZGVmaW5lQnVpbGRpbmdCbG9jayh7XG5cdG5hbWU6IFwiT3BlcmF0aW9uc0RpYWxvZ1wiLFxuXHRuYW1lc3BhY2U6IFwic2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnNcIlxufSlcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE9wZXJhdGlvbnNEaWFsb2dCbG9jayBleHRlbmRzIFJ1bnRpbWVCdWlsZGluZ0Jsb2NrIHtcblx0Lypcblx0ICogVGhlICdpZCcgcHJvcGVydHkgb2YgdGhlIGRpYWxvZ1xuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHsgdHlwZTogXCJzdHJpbmdcIiwgaXNQdWJsaWM6IHRydWUsIHJlcXVpcmVkOiB0cnVlIH0pXG5cdHB1YmxpYyBpZCE6IHN0cmluZztcblxuXHQvKipcblx0ICogVGhlICd0aXRsZScgcHJvcGVydHkgb2YgdGhlIERpYWxvZztcblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0cHVibGljIHRpdGxlPzogc3RyaW5nID0gXCJEaWFsb2cgU3RhbmRhcmQgVGl0bGVcIjtcblxuXHQvKipcblx0ICogVGhlIG1lc3NhZ2Ugb2JqZWN0IHRoYXQgaXMgcHJvdmlkZWQgdG8gdGhpcyBkaWFsb2dcblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwib2JqZWN0XCIsIHJlcXVpcmVkOiB0cnVlIH0pIC8vVE9ETzogY3JlYXRlIHRoZSB0eXBlXG5cdHB1YmxpYyBtZXNzYWdlT2JqZWN0ITogeyBvTWVzc2FnZVZpZXc6IENvbnRyb2w7IG9CYWNrQnV0dG9uOiBCdXR0b24gfTtcblxuXHRAZGVmaW5lUmVmZXJlbmNlKClcblx0b3BlcmF0aW9uc0RpYWxvZyE6IFJlZjxEaWFsb2c+O1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwiYm9vbGVhblwiLCByZXF1aXJlZDogdHJ1ZSB9KVxuXHRwdWJsaWMgaXNNdWx0aUNvbnRleHQ0MTI/OiBib29sZWFuO1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwiZnVuY3Rpb25cIiB9KVxuXHRwdWJsaWMgcmVxdWVzdFNpZGVFZmZlY3RzPzogRnVuY3Rpb247XG5cblx0QGJsb2NrQXR0cmlidXRlKHsgdHlwZTogXCJmdW5jdGlvblwiIH0pXG5cdHB1YmxpYyByZXNvbHZlPzogRnVuY3Rpb247XG5cblx0QGJsb2NrQXR0cmlidXRlKHsgdHlwZTogXCJvYmplY3RcIiwgcmVxdWlyZWQ6IHRydWUgfSlcblx0cHVibGljIG1vZGVsITogT0RhdGFNb2RlbDtcblxuXHRAYmxvY2tBdHRyaWJ1dGUoeyB0eXBlOiBcInN0cmluZ1wiLCByZXF1aXJlZDogdHJ1ZSB9KVxuXHRwdWJsaWMgZ3JvdXBJZCE6IHN0cmluZztcblxuXHRAYmxvY2tBdHRyaWJ1dGUoeyB0eXBlOiBcInN0cmluZ1wiLCByZXF1aXJlZDogdHJ1ZSB9KVxuXHRwdWJsaWMgYWN0aW9uTmFtZSE6IHN0cmluZztcblxuXHRAYmxvY2tBdHRyaWJ1dGUoeyB0eXBlOiBcInN0cmluZ1wiLCByZXF1aXJlZDogdHJ1ZSB9KVxuXHRwdWJsaWMgY2FuY2VsQnV0dG9uVHh0ITogc3RyaW5nO1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwib2JqZWN0XCIsIHJlcXVpcmVkOiB0cnVlIH0pXG5cdHB1YmxpYyBzdHJpY3RIYW5kbGluZ1Byb21pc2VzITogU3RyaWN0SGFuZGxpbmdQcm9taXNlW107XG5cblx0QGJsb2NrQXR0cmlidXRlKHsgdHlwZTogXCJvYmplY3RcIiB9KVxuXHRwdWJsaWMgc3RyaWN0SGFuZGxpbmdVdGlsaXRpZXM/OiBTdHJpY3RIYW5kbGluZ1V0aWxpdGllcztcblxuXHRAYmxvY2tBdHRyaWJ1dGUoeyB0eXBlOiBcIm9iamVjdFwiIH0pXG5cdHB1YmxpYyBtZXNzYWdlSGFuZGxlcj86IE1lc3NhZ2VIYW5kbGVyO1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwib2JqZWN0XCIsIHJlcXVpcmVkOiB0cnVlIH0pXG5cdHB1YmxpYyBtZXNzYWdlRGlhbG9nTW9kZWwhOiBKU09OTW9kZWw7XG5cblx0QGJsb2NrQXR0cmlidXRlKHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cHVibGljIGlzR3JvdXBlZD86IGJvb2xlYW47XG5cblx0QGJsb2NrQXR0cmlidXRlKHsgdHlwZTogXCJmdW5jdGlvblwiIH0pXG5cdHB1YmxpYyBzaG93TWVzc2FnZUluZm8/OiBGdW5jdGlvbjtcblxuXHRjb25zdHJ1Y3Rvcihwcm9wczogUHJvcGVydGllc09mPE9wZXJhdGlvbnNEaWFsb2dCbG9jaz4sIF9jb250cm9sQ29uZmlndXJhdGlvbj86IHVua25vd24sIF92aXNpdG9yU2V0dGluZ3M/OiBUZW1wbGF0ZVByb2Nlc3NvclNldHRpbmdzKSB7XG5cdFx0c3VwZXIocHJvcHMsIF9jb250cm9sQ29uZmlndXJhdGlvbiwgX3Zpc2l0b3JTZXR0aW5ncyk7XG5cdH1cblxuXHRwdWJsaWMgb3BlbigpOiB2b2lkIHtcblx0XHR0aGlzLmdldENvbnRlbnQoKTtcblx0XHR0aGlzLm9wZXJhdGlvbnNEaWFsb2cuY3VycmVudD8ub3BlbigpO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRCZWdpbkJ1dHRvbigpOiBCdXR0b24ge1xuXHRcdHJldHVybiBuZXcgQnV0dG9uKHtcblx0XHRcdHByZXNzOiAoKTogdm9pZCA9PiB7XG5cdFx0XHRcdGlmICghKHRoaXMuaXNNdWx0aUNvbnRleHQ0MTIgPz8gZmFsc2UpKSB7XG5cdFx0XHRcdFx0dGhpcy5yZXNvbHZlPy4odHJ1ZSk7XG5cdFx0XHRcdFx0dGhpcy5tb2RlbC5zdWJtaXRCYXRjaCh0aGlzLmdyb3VwSWQpO1xuXHRcdFx0XHRcdGlmICh0aGlzLnJlcXVlc3RTaWRlRWZmZWN0cykge1xuXHRcdFx0XHRcdFx0dGhpcy5yZXF1ZXN0U2lkZUVmZmVjdHMoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy5zdHJpY3RIYW5kbGluZ1Byb21pc2VzLmZvckVhY2goKHN0cmljdEhhbmRsaW5nUHJvbWlzZTogU3RyaWN0SGFuZGxpbmdQcm9taXNlKSA9PiB7XG5cdFx0XHRcdFx0XHRzdHJpY3RIYW5kbGluZ1Byb21pc2UucmVzb2x2ZSh0cnVlKTtcblx0XHRcdFx0XHRcdHRoaXMubW9kZWwuc3VibWl0QmF0Y2goc3RyaWN0SGFuZGxpbmdQcm9taXNlLmdyb3VwSWQpO1xuXHRcdFx0XHRcdFx0aWYgKHN0cmljdEhhbmRsaW5nUHJvbWlzZS5yZXF1ZXN0U2lkZUVmZmVjdHMpIHtcblx0XHRcdFx0XHRcdFx0c3RyaWN0SGFuZGxpbmdQcm9taXNlLnJlcXVlc3RTaWRlRWZmZWN0cygpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdGNvbnN0IHN0cmljdEhhbmRsaW5nRmFpbHMgPSB0aGlzLnN0cmljdEhhbmRsaW5nVXRpbGl0aWVzPy5zdHJpY3RIYW5kbGluZ1RyYW5zaXRpb25GYWlscztcblx0XHRcdFx0XHRpZiAoc3RyaWN0SGFuZGxpbmdGYWlscyAmJiBzdHJpY3RIYW5kbGluZ0ZhaWxzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdHRoaXMubWVzc2FnZUhhbmRsZXI/LnJlbW92ZVRyYW5zaXRpb25NZXNzYWdlcygpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAodGhpcy5zdHJpY3RIYW5kbGluZ1V0aWxpdGllcykge1xuXHRcdFx0XHRcdFx0dGhpcy5zdHJpY3RIYW5kbGluZ1V0aWxpdGllcy5zdHJpY3RIYW5kbGluZ1dhcm5pbmdNZXNzYWdlcyA9IFtdO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAodGhpcy5zdHJpY3RIYW5kbGluZ1V0aWxpdGllcykge1xuXHRcdFx0XHRcdHRoaXMuc3RyaWN0SGFuZGxpbmdVdGlsaXRpZXMuaXM0MTJFeGVjdXRlZCA9IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5tZXNzYWdlRGlhbG9nTW9kZWwuc2V0RGF0YSh7fSk7XG5cdFx0XHRcdHRoaXMuY2xvc2UoKTtcblx0XHRcdH0sXG5cdFx0XHR0eXBlOiBcIkVtcGhhc2l6ZWRcIixcblx0XHRcdHRleHQ6IHRoaXMuYWN0aW9uTmFtZVxuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBjbG9zZSgpOiB2b2lkIHtcblx0XHR0aGlzLm9wZXJhdGlvbnNEaWFsb2cuY3VycmVudD8uY2xvc2UoKTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0VGl0bGUoKTogVGl0bGUge1xuXHRcdGNvbnN0IHNUaXRsZSA9IG1hY3JvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fV0FSTklOR1NcIik7XG5cdFx0cmV0dXJuIG5ldyBUaXRsZSh7IHRleHQ6IHNUaXRsZSB9KTtcblx0fVxuXG5cdHByaXZhdGUgZ2V0RW5kQnV0dG9uKCk6IEJ1dHRvbiB7XG5cdFx0cmV0dXJuIG5ldyBCdXR0b24oe1xuXHRcdFx0cHJlc3M6ICgpOiB2b2lkID0+IHtcblx0XHRcdFx0aWYgKHRoaXMuc3RyaWN0SGFuZGxpbmdVdGlsaXRpZXMpIHtcblx0XHRcdFx0XHR0aGlzLnN0cmljdEhhbmRsaW5nVXRpbGl0aWVzLnN0cmljdEhhbmRsaW5nV2FybmluZ01lc3NhZ2VzID0gW107XG5cdFx0XHRcdFx0dGhpcy5zdHJpY3RIYW5kbGluZ1V0aWxpdGllcy5pczQxMkV4ZWN1dGVkID0gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKCEodGhpcy5pc011bHRpQ29udGV4dDQxMiA/PyBmYWxzZSkpIHtcblx0XHRcdFx0XHR0aGlzLnJlc29sdmUhKGZhbHNlKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLnN0cmljdEhhbmRsaW5nUHJvbWlzZXMuZm9yRWFjaChmdW5jdGlvbiAoc3RyaWN0SGFuZGxpbmdQcm9taXNlOiBTdHJpY3RIYW5kbGluZ1Byb21pc2UpIHtcblx0XHRcdFx0XHRcdHN0cmljdEhhbmRsaW5nUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLm1lc3NhZ2VEaWFsb2dNb2RlbC5zZXREYXRhKHt9KTtcblx0XHRcdFx0dGhpcy5jbG9zZSgpO1xuXHRcdFx0XHRpZiAodGhpcy5pc0dyb3VwZWQgPz8gZmFsc2UpIHtcblx0XHRcdFx0XHR0aGlzLnNob3dNZXNzYWdlSW5mbyEoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdHRleHQ6IHRoaXMuY2FuY2VsQnV0dG9uVHh0XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIGJ1aWxkaW5nIGJsb2NrIHJlbmRlciBmdW5jdGlvbi5cblx0ICpcblx0ICogQHJldHVybnMgQW4gWE1MLWJhc2VkIHN0cmluZyB3aXRoIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBmaWVsZCBjb250cm9sXG5cdCAqL1xuXHRnZXRDb250ZW50KCk6IERpYWxvZyB7XG5cdFx0cmV0dXJuIChcblx0XHRcdDxEaWFsb2dcblx0XHRcdFx0aWQ9e3RoaXMuaWR9XG5cdFx0XHRcdHJlZj17dGhpcy5vcGVyYXRpb25zRGlhbG9nfVxuXHRcdFx0XHRyZXNpemFibGU9e3RydWV9XG5cdFx0XHRcdGNvbnRlbnQ9e3RoaXMubWVzc2FnZU9iamVjdC5vTWVzc2FnZVZpZXd9XG5cdFx0XHRcdHN0YXRlPXtcIldhcm5pbmdcIn1cblx0XHRcdFx0Y3VzdG9tSGVhZGVyPXtcblx0XHRcdFx0XHRuZXcgQmFyKHtcblx0XHRcdFx0XHRcdGNvbnRlbnRMZWZ0OiBbdGhpcy5tZXNzYWdlT2JqZWN0Lm9CYWNrQnV0dG9uXSxcblx0XHRcdFx0XHRcdGNvbnRlbnRNaWRkbGU6IFt0aGlzLmdldFRpdGxlKCldXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0XHRjb250ZW50SGVpZ2h0PXtcIjUwJVwifVxuXHRcdFx0XHRjb250ZW50V2lkdGg9e1wiNTAlXCJ9XG5cdFx0XHRcdHZlcnRpY2FsU2Nyb2xsaW5nPXtmYWxzZX1cblx0XHRcdFx0YmVnaW5CdXR0b249e3RoaXMuZ2V0QmVnaW5CdXR0b24oKX1cblx0XHRcdFx0ZW5kQnV0dG9uPXt0aGlzLmdldEVuZEJ1dHRvbigpfVxuXHRc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ZUFBZSxFQUFHO1VBQ3hCO1FBQ0QsQ0FBQztRQUNEUixJQUFJLEVBQUUsSUFBSSxDQUFDUztNQUNaLENBQUMsQ0FBQztJQUNIOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsT0FKQztJQUFBLE9BS0FuQyxVQUFVLEdBQVYsc0JBQXFCO01BQ3BCLE9BQ0MsS0FBQyxNQUFNO1FBQ04sRUFBRSxFQUFFLElBQUksQ0FBQ29DLEVBQUc7UUFDWixHQUFHLEVBQUUsSUFBSSxDQUFDbkMsZ0JBQWlCO1FBQzNCLFNBQVMsRUFBRSxJQUFLO1FBQ2hCLE9BQU8sRUFBRSxJQUFJLENBQUNvQyxhQUFhLENBQUNDLFlBQWE7UUFDekMsS0FBSyxFQUFFLFNBQVU7UUFDakIsWUFBWSxFQUNYLElBQUlDLEdBQUcsQ0FBQztVQUNQQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUNILGFBQWEsQ0FBQ0ksV0FBVyxDQUFDO1VBQzdDQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUNkLFFBQVEsRUFBRTtRQUNoQyxDQUFDLENBQ0Q7UUFDRCxhQUFhLEVBQUUsS0FBTTtRQUNyQixZQUFZLEVBQUUsS0FBTTtRQUNwQixpQkFBaUIsRUFBRSxLQUFNO1FBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUN6QixjQUFjLEVBQUc7UUFDbkMsU0FBUyxFQUFFLElBQUksQ0FBQzZCLFlBQVk7TUFBRyxFQUN0QjtJQUVaLENBQUM7SUFBQTtFQUFBLEVBcktpRFcsb0JBQW9CO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FXOUMsdUJBQXVCO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQSJ9