@sapui5/sap.fe.core 1.134.0 → 1.136.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 (395) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/ActionRuntime.js +6 -62
  4. package/src/sap/fe/core/ActionRuntime.ts +14 -65
  5. package/src/sap/fe/core/AppComponent.js +10 -2
  6. package/src/sap/fe/core/AppComponent.ts +6 -0
  7. package/src/sap/fe/core/AppStateHandler.js +9 -7
  8. package/src/sap/fe/core/AppStateHandler.ts +7 -5
  9. package/src/sap/fe/core/BaseController.js +1 -1
  10. package/src/sap/fe/core/CommonUtils.js +8 -4
  11. package/src/sap/fe/core/CommonUtils.ts +19 -4
  12. package/src/sap/fe/core/ExtensionAPI.js +7 -5
  13. package/src/sap/fe/core/ExtensionAPI.ts +5 -3
  14. package/src/sap/fe/core/IRowBindingInterface.js +1 -1
  15. package/src/sap/fe/core/InsightsFormattersExtension.js +1 -1
  16. package/src/sap/fe/core/PageController.js +36 -6
  17. package/src/sap/fe/core/PageController.ts +30 -0
  18. package/src/sap/fe/core/ResourceModel.js +1 -1
  19. package/src/sap/fe/core/ReuseComponent.js +1 -1
  20. package/src/sap/fe/core/TemplateComponent.js +1 -1
  21. package/src/sap/fe/core/TemplateModel.js +1 -1
  22. package/src/sap/fe/core/UIProvider.js +2 -2
  23. package/src/sap/fe/core/UIProvider.ts +3 -32
  24. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +34 -16
  25. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +39 -18
  26. package/src/sap/fe/core/buildingBlocks/IBuildingBlockOwnerComponent.js +1 -1
  27. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +1 -1
  28. package/src/sap/fe/core/buildingBlocks/templating/AttributeModel.js +1 -1
  29. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockFormatter.js +1 -1
  30. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.js +2 -2
  31. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.ts +1 -0
  32. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.js +7 -7
  33. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.ts +9 -9
  34. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.js +1 -1
  35. package/src/sap/fe/core/controllerextensions/BaseControllerExtension.js +5 -3
  36. package/src/sap/fe/core/controllerextensions/BaseControllerExtension.ts +3 -1
  37. package/src/sap/fe/core/controllerextensions/BusyLocker.js +1 -1
  38. package/src/sap/fe/core/controllerextensions/CollaborativeDraft.js +15 -15
  39. package/src/sap/fe/core/controllerextensions/CollaborativeDraft.ts +19 -19
  40. package/src/sap/fe/core/controllerextensions/ContextSharing.js +1 -1
  41. package/src/sap/fe/core/controllerextensions/EditFlow.js +74 -93
  42. package/src/sap/fe/core/controllerextensions/EditFlow.ts +89 -108
  43. package/src/sap/fe/core/controllerextensions/Feedback.js +1 -1
  44. package/src/sap/fe/core/controllerextensions/InlineEditFlow.js +355 -0
  45. package/src/sap/fe/core/controllerextensions/InlineEditFlow.ts +387 -0
  46. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +1 -1
  47. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
  48. package/src/sap/fe/core/controllerextensions/InternalRouting.js +36 -11
  49. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +36 -10
  50. package/src/sap/fe/core/controllerextensions/KPIManagement.js +1 -1
  51. package/src/sap/fe/core/controllerextensions/MessageHandler.js +36 -6
  52. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +41 -1
  53. package/src/sap/fe/core/controllerextensions/PageReady.js +5 -2
  54. package/src/sap/fe/core/controllerextensions/PageReady.ts +3 -0
  55. package/src/sap/fe/core/controllerextensions/Paginator.js +1 -1
  56. package/src/sap/fe/core/controllerextensions/Placeholder.js +1 -1
  57. package/src/sap/fe/core/controllerextensions/Recommendations.js +1 -1
  58. package/src/sap/fe/core/controllerextensions/Routing.js +9 -9
  59. package/src/sap/fe/core/controllerextensions/Routing.ts +4 -4
  60. package/src/sap/fe/core/controllerextensions/RoutingListener.js +1 -1
  61. package/src/sap/fe/core/controllerextensions/Share.js +1 -1
  62. package/src/sap/fe/core/controllerextensions/SideEffects.js +13 -6
  63. package/src/sap/fe/core/controllerextensions/SideEffects.ts +13 -6
  64. package/src/sap/fe/core/controllerextensions/Telemetry.js +1 -1
  65. package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
  66. package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.js +14 -11
  67. package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.ts +20 -14
  68. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +4 -12
  69. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +2 -10
  70. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +12 -2
  71. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +12 -0
  72. package/src/sap/fe/core/controllerextensions/dialog/ODataStrictDialog.js +1 -1
  73. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +1 -1
  74. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +111 -89
  75. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +140 -105
  76. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +137 -79
  77. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +133 -120
  78. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +3 -3
  79. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +4 -1
  80. package/src/sap/fe/core/controllerextensions/editFlow/editFlowConstants.js +1 -1
  81. package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataOperation.js +26 -17
  82. package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataOperation.ts +32 -23
  83. package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataStrictHandling.js +3 -3
  84. package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataStrictHandling.ts +1 -1
  85. package/src/sap/fe/core/controllerextensions/editFlow/operations/Operation.js +103 -23
  86. package/src/sap/fe/core/controllerextensions/editFlow/operations/Operation.ts +144 -53
  87. package/src/sap/fe/core/controllerextensions/editFlow/operations/OperationMessage.js +29 -11
  88. package/src/sap/fe/core/controllerextensions/editFlow/operations/OperationMessage.ts +39 -15
  89. package/src/sap/fe/core/controllerextensions/editFlow/operations/OperationParameters.js +24 -22
  90. package/src/sap/fe/core/controllerextensions/editFlow/operations/OperationParameters.ts +28 -26
  91. package/src/sap/fe/core/controllerextensions/editFlow/operations/actionHelper.js +1 -1
  92. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +6 -572
  93. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +25 -873
  94. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1 -1
  95. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +98 -56
  96. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +102 -80
  97. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +5 -3
  98. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +7 -4
  99. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js +1 -1
  100. package/src/sap/fe/core/controllerextensions/recommendations/Telemetry.js +1 -1
  101. package/src/sap/fe/core/controllerextensions/routing/ContextPathHelper.js +1 -1
  102. package/src/sap/fe/core/controllerextensions/routing/NavigationReason.js +1 -1
  103. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +1 -1
  104. package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributor.js +1 -1
  105. package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributorMixin.js +1 -1
  106. package/src/sap/fe/core/controls/Any.js +1 -1
  107. package/src/sap/fe/core/controls/AnyElement.js +1 -1
  108. package/src/sap/fe/core/controls/CommandExecution.js +1 -1
  109. package/src/sap/fe/core/controls/ComponentLoader.js +1 -1
  110. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.js +3 -3
  111. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.tsx +8 -1
  112. package/src/sap/fe/core/controls/DataWatcher.js +4 -3
  113. package/src/sap/fe/core/controls/DataWatcher.tsx +4 -1
  114. package/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
  115. package/src/sap/fe/core/controls/HideFormGroupAutomatically.js +10 -4
  116. package/src/sap/fe/core/controls/HideFormGroupAutomatically.ts +13 -2
  117. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +1 -1
  118. package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.js +1 -1
  119. package/src/sap/fe/core/controls/inlineEditFlow/BeforeActionDialog.js +68 -0
  120. package/src/sap/fe/core/controls/inlineEditFlow/BeforeActionDialog.tsx +52 -0
  121. package/src/sap/fe/core/controls/inlineEditFlow/BeforeNavigationDialog.js +144 -0
  122. package/src/sap/fe/core/controls/inlineEditFlow/BeforeNavigationDialog.tsx +128 -0
  123. package/src/sap/fe/core/controls/inlineEditFlow/DraftExistsDialog.js +53 -0
  124. package/src/sap/fe/core/controls/inlineEditFlow/DraftExistsDialog.tsx +39 -0
  125. package/src/sap/fe/core/converters/ConverterContext.js +1 -1
  126. package/src/sap/fe/core/converters/ManifestSettings.js +3 -2
  127. package/src/sap/fe/core/converters/ManifestSettings.ts +42 -20
  128. package/src/sap/fe/core/converters/ManifestWrapper.js +8 -2
  129. package/src/sap/fe/core/converters/ManifestWrapper.ts +8 -0
  130. package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  131. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  132. package/src/sap/fe/core/converters/annotations/DataField.js +2 -2
  133. package/src/sap/fe/core/converters/annotations/DataField.ts +2 -1
  134. package/src/sap/fe/core/converters/controls/Common/Action.js +55 -6
  135. package/src/sap/fe/core/converters/controls/Common/Action.ts +59 -3
  136. package/src/sap/fe/core/converters/controls/Common/Chart.js +45 -6
  137. package/src/sap/fe/core/converters/controls/Common/Chart.ts +60 -9
  138. package/src/sap/fe/core/converters/controls/Common/Criticality.js +1 -1
  139. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
  140. package/src/sap/fe/core/converters/controls/Common/Form.js +21 -5
  141. package/src/sap/fe/core/converters/controls/Common/Form.ts +25 -5
  142. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  143. package/src/sap/fe/core/converters/controls/Common/Table.js +89 -1686
  144. package/src/sap/fe/core/converters/controls/Common/Table.ts +254 -2513
  145. package/src/sap/fe/core/converters/controls/Common/table/Columns.js +1701 -0
  146. package/src/sap/fe/core/converters/controls/Common/table/Columns.ts +2377 -0
  147. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +64 -15
  148. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +76 -14
  149. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +7 -36
  150. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +8 -46
  151. package/src/sap/fe/core/converters/controls/ListReport/FilterField.js +106 -0
  152. package/src/sap/fe/core/converters/controls/ListReport/FilterField.ts +129 -0
  153. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +10 -5
  154. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +8 -3
  155. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +1 -1
  156. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +5 -3
  157. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +11 -4
  158. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +7 -2
  159. package/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
  160. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +1 -1
  161. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +1 -1
  162. package/src/sap/fe/core/converters/helpers/ID.js +1 -1
  163. package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +1 -1
  164. package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
  165. package/src/sap/fe/core/converters/helpers/Key.js +1 -1
  166. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  167. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +1 -1
  168. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +30 -8
  169. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +40 -16
  170. package/src/sap/fe/core/converters/templates/ListReportConverter.js +5 -3
  171. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +5 -1
  172. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
  173. package/src/sap/fe/core/designtime/AnnotationBasedChanges.js +184 -0
  174. package/src/sap/fe/core/designtime/AnnotationBasedChanges.ts +240 -0
  175. package/src/sap/fe/core/designtime/AppComponent.designtime.js +1 -1
  176. package/src/sap/fe/core/designtime/messagebundle.properties +11 -0
  177. package/src/sap/fe/core/designtime/messagebundle_ar.properties +7 -0
  178. package/src/sap/fe/core/designtime/messagebundle_bg.properties +7 -0
  179. package/src/sap/fe/core/designtime/messagebundle_ca.properties +7 -0
  180. package/src/sap/fe/core/designtime/messagebundle_cnr.properties +7 -0
  181. package/src/sap/fe/core/designtime/messagebundle_cs.properties +7 -0
  182. package/src/sap/fe/core/designtime/messagebundle_cy.properties +7 -0
  183. package/src/sap/fe/core/designtime/messagebundle_da.properties +7 -0
  184. package/src/sap/fe/core/designtime/messagebundle_de.properties +7 -0
  185. package/src/sap/fe/core/designtime/messagebundle_el.properties +7 -0
  186. package/src/sap/fe/core/designtime/messagebundle_en.properties +7 -0
  187. package/src/sap/fe/core/designtime/messagebundle_en_GB.properties +7 -0
  188. package/src/sap/fe/core/designtime/messagebundle_es.properties +7 -0
  189. package/src/sap/fe/core/designtime/messagebundle_es_MX.properties +7 -0
  190. package/src/sap/fe/core/designtime/messagebundle_et.properties +7 -0
  191. package/src/sap/fe/core/designtime/messagebundle_fi.properties +7 -0
  192. package/src/sap/fe/core/designtime/messagebundle_fr.properties +7 -0
  193. package/src/sap/fe/core/designtime/messagebundle_fr_CA.properties +7 -0
  194. package/src/sap/fe/core/designtime/messagebundle_hi.properties +7 -0
  195. package/src/sap/fe/core/designtime/messagebundle_hr.properties +7 -0
  196. package/src/sap/fe/core/designtime/messagebundle_hu.properties +7 -0
  197. package/src/sap/fe/core/designtime/messagebundle_id.properties +7 -0
  198. package/src/sap/fe/core/designtime/messagebundle_it.properties +7 -0
  199. package/src/sap/fe/core/designtime/messagebundle_iw.properties +7 -0
  200. package/src/sap/fe/core/designtime/messagebundle_ja.properties +7 -0
  201. package/src/sap/fe/core/designtime/messagebundle_kk.properties +7 -0
  202. package/src/sap/fe/core/designtime/messagebundle_ko.properties +7 -0
  203. package/src/sap/fe/core/designtime/messagebundle_lt.properties +7 -0
  204. package/src/sap/fe/core/designtime/messagebundle_lv.properties +7 -0
  205. package/src/sap/fe/core/designtime/messagebundle_mk.properties +7 -0
  206. package/src/sap/fe/core/designtime/messagebundle_ms.properties +7 -0
  207. package/src/sap/fe/core/designtime/messagebundle_nl.properties +7 -0
  208. package/src/sap/fe/core/designtime/messagebundle_no.properties +7 -0
  209. package/src/sap/fe/core/designtime/messagebundle_pl.properties +7 -0
  210. package/src/sap/fe/core/designtime/messagebundle_pt.properties +7 -0
  211. package/src/sap/fe/core/designtime/messagebundle_pt_PT.properties +7 -0
  212. package/src/sap/fe/core/designtime/messagebundle_ro.properties +7 -0
  213. package/src/sap/fe/core/designtime/messagebundle_ru.properties +7 -0
  214. package/src/sap/fe/core/designtime/messagebundle_sh.properties +7 -0
  215. package/src/sap/fe/core/designtime/messagebundle_sk.properties +7 -0
  216. package/src/sap/fe/core/designtime/messagebundle_sl.properties +7 -0
  217. package/src/sap/fe/core/designtime/messagebundle_sr.properties +7 -0
  218. package/src/sap/fe/core/designtime/messagebundle_sv.properties +7 -0
  219. package/src/sap/fe/core/designtime/messagebundle_th.properties +7 -0
  220. package/src/sap/fe/core/designtime/messagebundle_tr.properties +7 -0
  221. package/src/sap/fe/core/designtime/messagebundle_uk.properties +7 -0
  222. package/src/sap/fe/core/designtime/messagebundle_vi.properties +7 -0
  223. package/src/sap/fe/core/designtime/messagebundle_zh_CN.properties +7 -0
  224. package/src/sap/fe/core/designtime/messagebundle_zh_TW.properties +7 -0
  225. package/src/sap/fe/core/formatters/CollaborationFormatter.js +1 -1
  226. package/src/sap/fe/core/formatters/CriticalityFormatter.js +1 -1
  227. package/src/sap/fe/core/formatters/FPMFormatter.js +1 -1
  228. package/src/sap/fe/core/formatters/FiscalFormat.js +1 -1
  229. package/src/sap/fe/core/formatters/KPIFormatter.js +1 -1
  230. package/src/sap/fe/core/formatters/StandardFormatter.js +1 -1
  231. package/src/sap/fe/core/formatters/ValueFormatter.js +27 -12
  232. package/src/sap/fe/core/formatters/ValueFormatter.ts +25 -11
  233. package/src/sap/fe/core/fpm/Component.js +1 -1
  234. package/src/sap/fe/core/fpm/manifest.json +1 -1
  235. package/src/sap/fe/core/helpers/AdaptiveCardExpressionCompiler.js +1 -1
  236. package/src/sap/fe/core/helpers/AppStartupHelper.js +25 -4
  237. package/src/sap/fe/core/helpers/AppStartupHelper.ts +28 -2
  238. package/src/sap/fe/core/helpers/BindingHelper.js +4 -3
  239. package/src/sap/fe/core/helpers/BindingHelper.ts +2 -1
  240. package/src/sap/fe/core/helpers/BindingToolkitEvaluator.js +1 -1
  241. package/src/sap/fe/core/helpers/DeleteHelper.js +6 -12
  242. package/src/sap/fe/core/helpers/DeleteHelper.ts +4 -9
  243. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +1 -1
  244. package/src/sap/fe/core/helpers/EditState.js +1 -1
  245. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +1 -1
  246. package/src/sap/fe/core/helpers/FPMHelper.js +9 -3
  247. package/src/sap/fe/core/helpers/FPMHelper.ts +13 -1
  248. package/src/sap/fe/core/helpers/HTTP503Handler.js +1 -1
  249. package/src/sap/fe/core/helpers/KeepAliveHelper.js +1 -1
  250. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +1 -1
  251. package/src/sap/fe/core/helpers/LoaderUtils.js +1 -1
  252. package/src/sap/fe/core/helpers/ManifestHelper.js +1 -1
  253. package/src/sap/fe/core/helpers/MessageStrip.js +1 -1
  254. package/src/sap/fe/core/helpers/MetaModelFunction.js +1 -1
  255. package/src/sap/fe/core/helpers/MetaPath.js +1 -1
  256. package/src/sap/fe/core/helpers/ModelHelper.js +15 -5
  257. package/src/sap/fe/core/helpers/ModelHelper.ts +15 -4
  258. package/src/sap/fe/core/helpers/PasteHelper.js +39 -40
  259. package/src/sap/fe/core/helpers/PasteHelper.ts +49 -51
  260. package/src/sap/fe/core/helpers/PromiseKeeper.js +1 -1
  261. package/src/sap/fe/core/helpers/RecommendationHelper.js +1 -1
  262. package/src/sap/fe/core/helpers/ResourceModelHelper.js +1 -1
  263. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
  264. package/src/sap/fe/core/helpers/SizeHelper.js +1 -1
  265. package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
  266. package/src/sap/fe/core/helpers/StandardRecommendationHelper.js +1 -1
  267. package/src/sap/fe/core/helpers/Synchronization.js +1 -1
  268. package/src/sap/fe/core/helpers/TitleHelper.js +1 -1
  269. package/src/sap/fe/core/helpers/ToES6Promise.js +1 -1
  270. package/src/sap/fe/core/helpers/TypeGuards.js +1 -1
  271. package/src/sap/fe/core/helpers/WebSocket.js +11 -2
  272. package/src/sap/fe/core/helpers/WebSocket.ts +8 -0
  273. package/src/sap/fe/core/library.js +16 -4
  274. package/src/sap/fe/core/library.support.js +1 -1
  275. package/src/sap/fe/core/library.ts +1 -0
  276. package/src/sap/fe/core/manifestMerger/AddNewPage.js +1 -1
  277. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  278. package/src/sap/fe/core/messagebundle.properties +41 -2
  279. package/src/sap/fe/core/messagebundle_ar.properties +25 -4
  280. package/src/sap/fe/core/messagebundle_bg.properties +25 -4
  281. package/src/sap/fe/core/messagebundle_ca.properties +24 -3
  282. package/src/sap/fe/core/messagebundle_cnr.properties +25 -4
  283. package/src/sap/fe/core/messagebundle_cs.properties +23 -2
  284. package/src/sap/fe/core/messagebundle_cy.properties +24 -3
  285. package/src/sap/fe/core/messagebundle_da.properties +25 -4
  286. package/src/sap/fe/core/messagebundle_de.properties +28 -7
  287. package/src/sap/fe/core/messagebundle_el.properties +23 -2
  288. package/src/sap/fe/core/messagebundle_en.properties +25 -4
  289. package/src/sap/fe/core/messagebundle_en_GB.properties +25 -4
  290. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +26 -5
  291. package/src/sap/fe/core/messagebundle_es.properties +23 -2
  292. package/src/sap/fe/core/messagebundle_es_MX.properties +23 -2
  293. package/src/sap/fe/core/messagebundle_et.properties +23 -2
  294. package/src/sap/fe/core/messagebundle_fi.properties +23 -2
  295. package/src/sap/fe/core/messagebundle_fr.properties +26 -5
  296. package/src/sap/fe/core/messagebundle_fr_CA.properties +23 -2
  297. package/src/sap/fe/core/messagebundle_hi.properties +24 -3
  298. package/src/sap/fe/core/messagebundle_hr.properties +27 -6
  299. package/src/sap/fe/core/messagebundle_hu.properties +23 -2
  300. package/src/sap/fe/core/messagebundle_id.properties +23 -2
  301. package/src/sap/fe/core/messagebundle_it.properties +25 -4
  302. package/src/sap/fe/core/messagebundle_iw.properties +24 -3
  303. package/src/sap/fe/core/messagebundle_ja.properties +24 -3
  304. package/src/sap/fe/core/messagebundle_kk.properties +23 -2
  305. package/src/sap/fe/core/messagebundle_ko.properties +25 -4
  306. package/src/sap/fe/core/messagebundle_lt.properties +23 -2
  307. package/src/sap/fe/core/messagebundle_lv.properties +25 -4
  308. package/src/sap/fe/core/messagebundle_mk.properties +23 -2
  309. package/src/sap/fe/core/messagebundle_ms.properties +24 -3
  310. package/src/sap/fe/core/messagebundle_nl.properties +23 -2
  311. package/src/sap/fe/core/messagebundle_no.properties +23 -2
  312. package/src/sap/fe/core/messagebundle_pl.properties +25 -4
  313. package/src/sap/fe/core/messagebundle_pt.properties +25 -4
  314. package/src/sap/fe/core/messagebundle_pt_PT.properties +24 -3
  315. package/src/sap/fe/core/messagebundle_ro.properties +25 -4
  316. package/src/sap/fe/core/messagebundle_ru.properties +24 -3
  317. package/src/sap/fe/core/messagebundle_sh.properties +25 -4
  318. package/src/sap/fe/core/messagebundle_sk.properties +24 -3
  319. package/src/sap/fe/core/messagebundle_sl.properties +28 -7
  320. package/src/sap/fe/core/messagebundle_sr.properties +25 -4
  321. package/src/sap/fe/core/messagebundle_sv.properties +23 -2
  322. package/src/sap/fe/core/messagebundle_th.properties +25 -4
  323. package/src/sap/fe/core/messagebundle_tr.properties +23 -2
  324. package/src/sap/fe/core/messagebundle_uk.properties +25 -4
  325. package/src/sap/fe/core/messagebundle_vi.properties +25 -4
  326. package/src/sap/fe/core/messagebundle_zh_CN.properties +26 -5
  327. package/src/sap/fe/core/messagebundle_zh_TW.properties +24 -3
  328. package/src/sap/fe/core/rootView/Fcl.controller.js +11 -7
  329. package/src/sap/fe/core/rootView/Fcl.controller.ts +16 -7
  330. package/src/sap/fe/core/rootView/NavContainer.controller.js +3 -3
  331. package/src/sap/fe/core/rootView/NavContainer.controller.ts +1 -1
  332. package/src/sap/fe/core/rootView/RootViewBaseController.js +87 -35
  333. package/src/sap/fe/core/rootView/RootViewBaseController.ts +113 -57
  334. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +1 -1
  335. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +1 -1
  336. package/src/sap/fe/core/services/CollaborationManagerServiceFactory.js +29 -13
  337. package/src/sap/fe/core/services/CollaborationManagerServiceFactory.ts +27 -13
  338. package/src/sap/fe/core/services/CollaborativeToolsServiceFactory.js +1 -1
  339. package/src/sap/fe/core/services/ContextSharingServiceFactory.js +1 -1
  340. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +8 -2
  341. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +6 -0
  342. package/src/sap/fe/core/services/InlineEditServiceFactory.js +11 -5
  343. package/src/sap/fe/core/services/InlineEditServiceFactory.ts +9 -3
  344. package/src/sap/fe/core/services/NavigationServiceFactory.js +1 -1
  345. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +1 -1
  346. package/src/sap/fe/core/services/RoutingServiceFactory.js +14 -7
  347. package/src/sap/fe/core/services/RoutingServiceFactory.ts +11 -5
  348. package/src/sap/fe/core/services/ShellServicesFactory.js +5 -4
  349. package/src/sap/fe/core/services/ShellServicesFactory.ts +5 -3
  350. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +28 -4
  351. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +32 -3
  352. package/src/sap/fe/core/services/TelemetryServiceFactory.js +1 -1
  353. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
  354. package/src/sap/fe/core/services/ValueHelpHistoryServiceFactory.js +1 -1
  355. package/src/sap/fe/core/services/collaborativeDraftServiceFactory.js +1 -1
  356. package/src/sap/fe/core/services/valueHelpService/HistoryOptOutProvider.js +1 -1
  357. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +1 -1
  358. package/src/sap/fe/core/services/view/TemplatingErrorPage.view.xml +1 -1
  359. package/src/sap/fe/core/support/AnnotationIssue.support.js +1 -1
  360. package/src/sap/fe/core/support/CollectionFacetMissingID.support.js +1 -1
  361. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +1 -1
  362. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  363. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  364. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +1 -1
  365. package/src/sap/fe/core/templating/ActionHelper.js +1 -1
  366. package/src/sap/fe/core/templating/CommonFormatters.js +1 -1
  367. package/src/sap/fe/core/templating/CriticalityFormatters.js +1 -1
  368. package/src/sap/fe/core/templating/DataFieldFormatters.js +1 -1
  369. package/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
  370. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  371. package/src/sap/fe/core/templating/EntitySetHelper.js +199 -59
  372. package/src/sap/fe/core/templating/EntitySetHelper.ts +221 -61
  373. package/src/sap/fe/core/templating/EntityTypeHelper.js +1 -1
  374. package/src/sap/fe/core/templating/FieldControlHelper.js +1 -1
  375. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  376. package/src/sap/fe/core/templating/PropertyFormatters.js +1 -1
  377. package/src/sap/fe/core/templating/PropertyHelper.js +1 -1
  378. package/src/sap/fe/core/templating/SemanticObjectHelper.js +8 -10
  379. package/src/sap/fe/core/templating/SemanticObjectHelper.ts +11 -10
  380. package/src/sap/fe/core/templating/UIFormatters.js +5 -2
  381. package/src/sap/fe/core/templating/UIFormatters.ts +3 -0
  382. package/src/sap/fe/core/type/Date.js +1 -1
  383. package/src/sap/fe/core/type/DateTimeWithTimezone.js +1 -1
  384. package/src/sap/fe/core/type/EDM.js +1 -1
  385. package/src/sap/fe/core/type/Email.js +1 -1
  386. package/src/sap/fe/core/type/FiscalDate.js +1 -1
  387. package/src/sap/fe/core/type/InputMask.js +1 -1
  388. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.js +0 -288
  389. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.tsx +0 -208
  390. package/src/sap/fe/core/controllerextensions/editFlow/ODataOperation.js +0 -404
  391. package/src/sap/fe/core/controllerextensions/editFlow/ODataOperation.ts +0 -502
  392. package/src/sap/fe/core/designtime/TextArrangementChangeAction.js +0 -100
  393. package/src/sap/fe/core/designtime/TextArrangementChangeAction.ts +0 -134
  394. package/src/sap/fe/core/operationsHelper.js +0 -192
  395. package/src/sap/fe/core/operationsHelper.ts +0 -277
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/fe/core/UIProvider", "./actionHelper"], function (UIProvider, actionHelper) {
6
6
  "use strict";
@@ -68,7 +68,7 @@ sap.ui.define(["sap/fe/core/UIProvider", "./actionHelper"], function (UIProvider
68
68
  * @returns True if the parameter dialog is opened, otherwise false
69
69
  */;
70
70
  _proto.isParameterDialogOpened = function isParameterDialogOpened() {
71
- return this.parameterDialog?.getDialog()?.isOpen() ?? false;
71
+ return this.parameterDialog?.isOpen() ?? false;
72
72
  }
73
73
 
74
74
  /**
@@ -80,10 +80,10 @@ sap.ui.define(["sap/fe/core/UIProvider", "./actionHelper"], function (UIProvider
80
80
 
81
81
  /**
82
82
  * Closes the state of the parameter dialog.
83
+ * @returns Promise that resolves when the dialog is closed
83
84
  */;
84
- _proto.closeParameterDialog = function closeParameterDialog() {
85
- this.parameterDialog?.getDialog()?.close();
86
- this.parameterDialog?.getDialog()?.destroy();
85
+ _proto.closeParameterDialog = async function closeParameterDialog() {
86
+ return this.parameterDialog?.closeDialog();
87
87
  }
88
88
 
89
89
  /**
@@ -93,22 +93,24 @@ sap.ui.define(["sap/fe/core/UIProvider", "./actionHelper"], function (UIProvider
93
93
  _proto.getOperationParameters = async function getOperationParameters() {
94
94
  // In case an action parameter is needed, and we shall skip the dialog, check if values are provided for all parameters
95
95
  if (this.isParameterDialogNeeded && !(this.skipParametersDialog && this.isMandatoryValuesProvided())) {
96
- this.parameterDialog = getCoreUIFactory().newOperationParameterDialog(this.convertedAction, {
97
- appComponent: this.appComponent,
98
- model: this.model,
99
- contexts: this.parameters.contexts,
100
- parametersValues: {},
101
- defaultValuesExtensionFunction: this.parameters.defaultValuesExtensionFunction,
102
- isCreateAction: this.parameters.isCreateAction,
103
- label: this.parameters.label,
104
- view: this.parameters.view,
105
- events: {
106
- onParameterDialogOpened: this.parameters.events?.onParameterDialogOpened,
107
- onParameterDialogClosed: this.parameters.events?.onParameterDialogClosed
108
- }
109
- }, this.parameters.parameterValues, this.parameters.entitySetName, this.parameters.messageHandler);
110
- await this.parameterDialog.createDialog();
111
- this.parameterDialog.openDialog();
96
+ if (!this.parameterDialog) {
97
+ this.parameterDialog = getCoreUIFactory().newOperationParameterDialog(this.convertedAction, {
98
+ appComponent: this.appComponent,
99
+ model: this.model,
100
+ contexts: this.parameters.contexts,
101
+ parametersValues: {},
102
+ defaultValuesExtensionFunction: this.parameters.defaultValuesExtensionFunction,
103
+ isCreateAction: this.parameters.isCreateAction,
104
+ label: this.parameters.label,
105
+ view: this.parameters.view,
106
+ events: {
107
+ onParameterDialogOpened: this.parameters.events?.onParameterDialogOpened,
108
+ onParameterDialogClosed: this.parameters.events?.onParameterDialogClosed
109
+ }
110
+ }, this.parameters.parameterValues, this.parameters.entitySetName, this.parameters.messageHandler);
111
+ await this.parameterDialog.createDialog();
112
+ this.parameterDialog.openDialog();
113
+ }
112
114
  return this.parameterDialog.waitForParametersValues();
113
115
  }
114
116
  // If the dialog is skipped, we need to set the default values for the parameters
@@ -184,4 +186,4 @@ sap.ui.define(["sap/fe/core/UIProvider", "./actionHelper"], function (UIProvider
184
186
  _exports = OperationParameters;
185
187
  return _exports;
186
188
  }, false);
187
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPcGVyYXRpb25QYXJhbWV0ZXJzIiwiYXBwQ29tcG9uZW50IiwibW9kZWwiLCJjb252ZXJ0ZWRBY3Rpb24iLCJza2lwUGFyYW1ldGVyc0RpYWxvZyIsInBhcmFtZXRlcnMiLCJwYXJhbWV0ZXJEaWFsb2ciLCJ1bmRlZmluZWQiLCJwYXJhbWV0ZXJzVmFsdWVzIiwic3RhcnR1cFBhcmFtZXRlcnMiLCJhY3Rpb25QYXJhbWV0ZXJzIiwiYWN0aW9uSGVscGVyIiwiZ2V0QWN0aW9uUGFyYW1ldGVycyIsImlzUGFyYW1ldGVyRGlhbG9nTmVlZGVkIiwibGVuZ3RoIiwibmFtZSIsImZpbHRlciIsImFjdGlvblBhcmFtZXRlciIsImV2ZXJ5IiwicGFyYW1ldGVyIiwiYW5ub3RhdGlvbnMiLCJVSSIsIkhpZGRlbiIsInZhbHVlT2YiLCJzZXRTdGFydHVwUGFyYW1ldGVycyIsIl9leHBvcnRzIiwiX3Byb3RvIiwicHJvdG90eXBlIiwiY29tcG9uZW50RGF0YSIsImdldENvbXBvbmVudERhdGEiLCJpc1BhcmFtZXRlckRpYWxvZyIsImlzUGFyYW1ldGVyRGlhbG9nT3BlbmVkIiwiZ2V0RGlhbG9nIiwiaXNPcGVuIiwicmVzZXRQYXJhbWV0ZXJEaWFsb2dTdGF0ZSIsInJlc2V0U3RhdGUiLCJjbG9zZVBhcmFtZXRlckRpYWxvZyIsImNsb3NlIiwiZGVzdHJveSIsImdldE9wZXJhdGlvblBhcmFtZXRlcnMiLCJpc01hbmRhdG9yeVZhbHVlc1Byb3ZpZGVkIiwiZ2V0Q29yZVVJRmFjdG9yeSIsIm5ld09wZXJhdGlvblBhcmFtZXRlckRpYWxvZyIsImNvbnRleHRzIiwiZGVmYXVsdFZhbHVlc0V4dGVuc2lvbkZ1bmN0aW9uIiwiaXNDcmVhdGVBY3Rpb24iLCJsYWJlbCIsInZpZXciLCJldmVudHMiLCJvblBhcmFtZXRlckRpYWxvZ09wZW5lZCIsIm9uUGFyYW1ldGVyRGlhbG9nQ2xvc2VkIiwicGFyYW1ldGVyVmFsdWVzIiwiZW50aXR5U2V0TmFtZSIsIm1lc3NhZ2VIYW5kbGVyIiwiY3JlYXRlRGlhbG9nIiwib3BlbkRpYWxvZyIsIndhaXRGb3JQYXJhbWV0ZXJzVmFsdWVzIiwiaSIsImZpbmQiLCJlbGVtZW50IiwidmFsdWUiLCJjb252ZXJ0VmFsdWUiLCJQYXJhbWV0ZXJEZWZhdWx0VmFsdWUiLCJoaWRkZW5Bbm5vdGF0aW9uU2V0T25BbGxBY3Rpb25zIiwiT2JqZWN0Iiwia2V5cyIsImZpZWxkQ29udHJvbCIsIkNvbW1vbiIsIkZpZWxkQ29udHJvbCIsImlzTWFuZGF0b3J5IiwidG9TdHJpbmciLCJwYXJhbWV0ZXJWYWx1ZSIsIlR5cGVNYXAiLCJfX3VpNV9yZXF1aXJlX2FzeW5jIiwiZGVmYXVsdCIsInBhcmFtZXRlclR5cGUiLCJnZXRCYXNlVHlwZSIsInR5cGUiLCJ0eXBlSW5zdGFuY2UiLCJnZXREYXRhVHlwZUluc3RhbmNlIiwicGFyc2VWYWx1ZSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiT3BlcmF0aW9uUGFyYW1ldGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFjdGlvbiBhcyBFZG1BY3Rpb24sIEFjdGlvblBhcmFtZXRlciBhcyBFZG1BY3Rpb25QYXJhbWV0ZXIsIFByaW1pdGl2ZVR5cGUgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSB7IEZFVmlldyB9IGZyb20gXCJzYXAvZmUvY29yZS9CYXNlQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgZ2V0Q29yZVVJRmFjdG9yeSwgdHlwZSBTdGFuZGFyZE9wZXJhdGlvblBhcmFtZXRlckRpYWxvZyB9IGZyb20gXCJzYXAvZmUvY29yZS9VSVByb3ZpZGVyXCI7XG5pbXBvcnQgdHlwZSBNdWx0aVZhbHVlRmllbGRJdGVtIGZyb20gXCJzYXAvdWkvbWRjL2ZpZWxkL011bHRpVmFsdWVGaWVsZEl0ZW1cIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBTdGFydHVwUGFyYW1ldGVycyB9IGZyb20gXCIuLi8uLi8uLi9BcHBDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIE1lc3NhZ2VIYW5kbGVyIGZyb20gXCIuLi8uLi9NZXNzYWdlSGFuZGxlclwiO1xuaW1wb3J0IGFjdGlvbkhlbHBlciBmcm9tIFwiLi9hY3Rpb25IZWxwZXJcIjtcblxudHlwZSBCYXNlVHlwZVBhcmFtZXRlciA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE9wZXJhdGlvblBhcmFtZXRlcnMge1xuXHRwcml2YXRlIHJlYWRvbmx5IGlzUGFyYW1ldGVyRGlhbG9nTmVlZGVkOiBib29sZWFuO1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgYWN0aW9uUGFyYW1ldGVyczogRWRtQWN0aW9uUGFyYW1ldGVyW107XG5cblx0cHJpdmF0ZSBwYXJhbWV0ZXJEaWFsb2c6IFN0YW5kYXJkT3BlcmF0aW9uUGFyYW1ldGVyRGlhbG9nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG5cdHByaXZhdGUgcGFyYW1ldGVyc1ZhbHVlczogUmVjb3JkPHN0cmluZywgUHJpbWl0aXZlVHlwZT4gPSB7fTtcblxuXHRwcml2YXRlIHN0YXJ0dXBQYXJhbWV0ZXJzOiBTdGFydHVwUGFyYW1ldGVycyA9IHt9O1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgYXBwQ29tcG9uZW50OiBBcHBDb21wb25lbnQsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBtb2RlbDogT0RhdGFNb2RlbCxcblx0XHRwcml2YXRlIHJlYWRvbmx5IGNvbnZlcnRlZEFjdGlvbjogRWRtQWN0aW9uLFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgc2tpcFBhcmFtZXRlcnNEaWFsb2c6IGJvb2xlYW4gfCB1bmRlZmluZWQsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBwYXJhbWV0ZXJzOiB7XG5cdFx0XHRjb250ZXh0czogQ29udGV4dFtdO1xuXHRcdFx0ZGVmYXVsdFZhbHVlc0V4dGVuc2lvbkZ1bmN0aW9uPzogc3RyaW5nO1xuXHRcdFx0aXNDcmVhdGVBY3Rpb24/OiBib29sZWFuO1xuXHRcdFx0bGFiZWw/OiBzdHJpbmc7XG5cdFx0XHRwYXJhbWV0ZXJWYWx1ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgTXVsdGlWYWx1ZUZpZWxkSXRlbVtdPltdO1xuXHRcdFx0ZW50aXR5U2V0TmFtZT86IHN0cmluZztcblx0XHRcdHZpZXc/OiBGRVZpZXc7XG5cdFx0XHRtZXNzYWdlSGFuZGxlcjogTWVzc2FnZUhhbmRsZXI7XG5cdFx0XHRldmVudHM/OiB7XG5cdFx0XHRcdG9uUGFyYW1ldGVyRGlhbG9nT3BlbmVkPzogKCkgPT4gdm9pZDtcblx0XHRcdFx0b25QYXJhbWV0ZXJEaWFsb2dDbG9zZWQ/OiAoKSA9PiB2b2lkO1xuXHRcdFx0fTtcblx0XHR9XG5cdCkge1xuXHRcdC8vIENoZWNrIGlmIHRoZSBhY3Rpb24gaGFzIHBhcmFtZXRlcnMgYW5kIHdvdWxkIG5lZWQgYSBwYXJhbWV0ZXIgZGlhbG9nXG5cdFx0Ly8gVGhlIHBhcmFtZXRlciBSZXN1bHRJc0FjdGl2ZUVudGl0eSBpcyBhbHdheXMgaGlkZGVuIGluIHRoZSBkaWFsb2chIEhlbmNlIGlmXG5cdFx0Ly8gdGhpcyBpcyB0aGUgb25seSBwYXJhbWV0ZXIsIHRoaXMgaXMgdHJlYXRlZCBhcyBubyBwYXJhbWV0ZXIgaGVyZSBiZWNhdXNlIHRoZVxuXHRcdC8vIGRpYWxvZyB3b3VsZCBiZSBlbXB0eSFcblx0XHR0aGlzLmFjdGlvblBhcmFtZXRlcnMgPSBhY3Rpb25IZWxwZXIuZ2V0QWN0aW9uUGFyYW1ldGVycyh0aGlzLmNvbnZlcnRlZEFjdGlvbik7XG5cdFx0dGhpcy5pc1BhcmFtZXRlckRpYWxvZ05lZWRlZCA9XG5cdFx0XHR0aGlzLmFjdGlvblBhcmFtZXRlcnMubGVuZ3RoID4gMCAmJlxuXHRcdFx0ISh0aGlzLmFjdGlvblBhcmFtZXRlcnMubGVuZ3RoID09PSAxICYmIHRoaXMuYWN0aW9uUGFyYW1ldGVyc1swXS5uYW1lID09PSBcIlJlc3VsdElzQWN0aXZlRW50aXR5XCIpO1xuXG5cdFx0dGhpcy5za2lwUGFyYW1ldGVyc0RpYWxvZyA9XG5cdFx0XHQodGhpcy5hY3Rpb25QYXJhbWV0ZXJzLmxlbmd0aCAmJlxuXHRcdFx0dGhpcy5hY3Rpb25QYXJhbWV0ZXJzXG5cdFx0XHRcdC5maWx0ZXIoKGFjdGlvblBhcmFtZXRlcikgPT4gYWN0aW9uUGFyYW1ldGVyLm5hbWUgIT09IFwiUmVzdWx0SXNBY3RpdmVFbnRpdHlcIilcblx0XHRcdFx0LmV2ZXJ5KChwYXJhbWV0ZXIpID0+IHBhcmFtZXRlci5hbm5vdGF0aW9ucy5VST8uSGlkZGVuPy52YWx1ZU9mKCkgPT09IHRydWUpXG5cdFx0XHRcdD8gdHJ1ZVxuXHRcdFx0XHQ6IHRoaXMuc2tpcFBhcmFtZXRlcnNEaWFsb2cpID8/IGZhbHNlO1xuXG5cdFx0dGhpcy5zZXRTdGFydHVwUGFyYW1ldGVycygpO1xuXHR9XG5cblx0LyoqXG5cdCAqICBTZXRzIHRoZSBwYXJhbWV0ZXJzIHByb3ZpZGVkIG9uIHRoZSBzdGFydHVwLlxuXHQgKi9cblx0cHJpdmF0ZSBzZXRTdGFydHVwUGFyYW1ldGVycygpOiB2b2lkIHtcblx0XHQvLyBEZXRlcm1pbmUgc3RhcnR1cCBwYXJhbWV0ZXJzIGlmIHByb3ZpZGVkXG5cdFx0Y29uc3QgY29tcG9uZW50RGF0YSA9IHRoaXMuYXBwQ29tcG9uZW50LmdldENvbXBvbmVudERhdGEoKTtcblx0XHR0aGlzLnN0YXJ0dXBQYXJhbWV0ZXJzID0gY29tcG9uZW50RGF0YT8uc3RhcnR1cFBhcmFtZXRlcnMgPz8ge307XG5cdH1cblxuXHQvKipcblx0ICogIElzIHRoZSBwYXJhbWV0ZXIgZGlhbG9nIGluc3RhbmNlZC5cblx0ICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgcGFyYW1ldGVyIGRpYWxvZyBpcyBpbnN0YW5jZWQsIG90aGVyd2lzZSBmYWxzZVxuXHQgKi9cblx0cHVibGljIGlzUGFyYW1ldGVyRGlhbG9nKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiAhIXRoaXMucGFyYW1ldGVyRGlhbG9nO1xuXHR9XG5cblx0LyoqXG5cdCAqICBJcyB0aGUgcGFyYW1ldGVyIGRpYWxvZyBvcGVuZWQuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHBhcmFtZXRlciBkaWFsb2cgaXMgb3BlbmVkLCBvdGhlcndpc2UgZmFsc2Vcblx0ICovXG5cdHB1YmxpYyBpc1BhcmFtZXRlckRpYWxvZ09wZW5lZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5wYXJhbWV0ZXJEaWFsb2c/LmdldERpYWxvZygpPy5pc09wZW4oKSA/PyBmYWxzZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXNldHMgdGhlIHN0YXRlIG9mIHRoZSBwYXJhbWV0ZXIgZGlhbG9nLlxuXHQgKi9cblx0cHVibGljIHJlc2V0UGFyYW1ldGVyRGlhbG9nU3RhdGUoKTogdm9pZCB7XG5cdFx0dGhpcy5wYXJhbWV0ZXJEaWFsb2c/LnJlc2V0U3RhdGUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDbG9zZXMgdGhlIHN0YXRlIG9mIHRoZSBwYXJhbWV0ZXIgZGlhbG9nLlxuXHQgKi9cblx0cHVibGljIGNsb3NlUGFyYW1ldGVyRGlhbG9nKCk6IHZvaWQge1xuXHRcdHRoaXMucGFyYW1ldGVyRGlhbG9nPy5nZXREaWFsb2coKT8uY2xvc2UoKTtcblx0XHR0aGlzLnBhcmFtZXRlckRpYWxvZz8uZ2V0RGlhbG9nKCk/LmRlc3Ryb3koKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgcGFyYW1ldGVycy5cblx0ICogQHJldHVybnMgVGhlIHZhbHVlIG9mIHRoZSBwYXJhbWV0ZXJzXG5cdCAqL1xuXHRwdWJsaWMgYXN5bmMgZ2V0T3BlcmF0aW9uUGFyYW1ldGVycygpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIFByaW1pdGl2ZVR5cGU+PiB7XG5cdFx0Ly8gSW4gY2FzZSBhbiBhY3Rpb24gcGFyYW1ldGVyIGlzIG5lZWRlZCwgYW5kIHdlIHNoYWxsIHNraXAgdGhlIGRpYWxvZywgY2hlY2sgaWYgdmFsdWVzIGFyZSBwcm92aWRlZCBmb3IgYWxsIHBhcmFtZXRlcnNcblx0XHRpZiAodGhpcy5pc1BhcmFtZXRlckRpYWxvZ05lZWRlZCAmJiAhKHRoaXMuc2tpcFBhcmFtZXRlcnNEaWFsb2cgJiYgdGhpcy5pc01hbmRhdG9yeVZhbHVlc1Byb3ZpZGVkKCkpKSB7XG5cdFx0XHR0aGlzLnBhcmFtZXRlckRpYWxvZyA9IGdldENvcmVVSUZhY3RvcnkoKS5uZXdPcGVyYXRpb25QYXJhbWV0ZXJEaWFsb2coXG5cdFx0XHRcdHRoaXMuY29udmVydGVkQWN0aW9uLFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0YXBwQ29tcG9uZW50OiB0aGlzLmFwcENvbXBvbmVudCxcblx0XHRcdFx0XHRtb2RlbDogdGhpcy5tb2RlbCxcblx0XHRcdFx0XHRjb250ZXh0czogdGhpcy5wYXJhbWV0ZXJzLmNvbnRleHRzLFxuXHRcdFx0XHRcdHBhcmFtZXRlcnNWYWx1ZXM6IHt9LFxuXHRcdFx0XHRcdGRlZmF1bHRWYWx1ZXNFeHRlbnNpb25GdW5jdGlvbjogdGhpcy5wYXJhbWV0ZXJzLmRlZmF1bHRWYWx1ZXNFeHRlbnNpb25GdW5jdGlvbixcblx0XHRcdFx0XHRpc0NyZWF0ZUFjdGlvbjogdGhpcy5wYXJhbWV0ZXJzLmlzQ3JlYXRlQWN0aW9uLFxuXHRcdFx0XHRcdGxhYmVsOiB0aGlzLnBhcmFtZXRlcnMubGFiZWwsXG5cdFx0XHRcdFx0dmlldzogdGhpcy5wYXJhbWV0ZXJzLnZpZXcsXG5cdFx0XHRcdFx0ZXZlbnRzOiB7XG5cdFx0XHRcdFx0XHRvblBhcmFtZXRlckRpYWxvZ09wZW5lZDogdGhpcy5wYXJhbWV0ZXJzLmV2ZW50cz8ub25QYXJhbWV0ZXJEaWFsb2dPcGVuZWQsXG5cdFx0XHRcdFx0XHRvblBhcmFtZXRlckRpYWxvZ0Nsb3NlZDogdGhpcy5wYXJhbWV0ZXJzLmV2ZW50cz8ub25QYXJhbWV0ZXJEaWFsb2dDbG9zZWRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHRoaXMucGFyYW1ldGVycy5wYXJhbWV0ZXJWYWx1ZXMsXG5cdFx0XHRcdHRoaXMucGFyYW1ldGVycy5lbnRpdHlTZXROYW1lLFxuXHRcdFx0XHR0aGlzLnBhcmFtZXRlcnMubWVzc2FnZUhhbmRsZXJcblx0XHRcdCk7XG5cdFx0XHRhd2FpdCB0aGlzLnBhcmFtZXRlckRpYWxvZy5jcmVhdGVEaWFsb2coKTtcblx0XHRcdHRoaXMucGFyYW1ldGVyRGlhbG9nLm9wZW5EaWFsb2coKTtcblx0XHRcdHJldHVybiB0aGlzLnBhcmFtZXRlckRpYWxvZy53YWl0Rm9yUGFyYW1ldGVyc1ZhbHVlcygpO1xuXHRcdH1cblx0XHQvLyBJZiB0aGUgZGlhbG9nIGlzIHNraXBwZWQsIHdlIG5lZWQgdG8gc2V0IHRoZSBkZWZhdWx0IHZhbHVlcyBmb3IgdGhlIHBhcmFtZXRlcnNcblx0XHRpZiAodGhpcy5wYXJhbWV0ZXJzLnBhcmFtZXRlclZhbHVlcykge1xuXHRcdFx0Zm9yIChjb25zdCBpIGluIHRoaXMuYWN0aW9uUGFyYW1ldGVycykge1xuXHRcdFx0XHR0aGlzLnBhcmFtZXRlcnNWYWx1ZXNbdGhpcy5hY3Rpb25QYXJhbWV0ZXJzW2ldLm5hbWVdID0gdGhpcy5wYXJhbWV0ZXJzLnBhcmFtZXRlclZhbHVlcz8uZmluZChcblx0XHRcdFx0XHQoZWxlbWVudCkgPT4gZWxlbWVudC5uYW1lID09PSB0aGlzLmFjdGlvblBhcmFtZXRlcnNbaV0ubmFtZVxuXHRcdFx0XHQpPy52YWx1ZTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0bGV0IGFjdGlvblBhcmFtZXRlcjtcblx0XHRcdGZvciAoY29uc3QgaSBpbiB0aGlzLmFjdGlvblBhcmFtZXRlcnMpIHtcblx0XHRcdFx0YWN0aW9uUGFyYW1ldGVyID0gdGhpcy5hY3Rpb25QYXJhbWV0ZXJzW2ldO1xuXHRcdFx0XHR0aGlzLnBhcmFtZXRlcnNWYWx1ZXNbYWN0aW9uUGFyYW1ldGVyLm5hbWVdID0gYXdhaXQgdGhpcy5jb252ZXJ0VmFsdWUoXG5cdFx0XHRcdFx0YWN0aW9uUGFyYW1ldGVyLFxuXHRcdFx0XHRcdHRoaXMuc3RhcnR1cFBhcmFtZXRlcnNbYWN0aW9uUGFyYW1ldGVyLm5hbWVdPy5bMF0gPz8gYWN0aW9uUGFyYW1ldGVyLmFubm90YXRpb25zPy5VST8uUGFyYW1ldGVyRGVmYXVsdFZhbHVlPy52YWx1ZU9mKClcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMucGFyYW1ldGVyc1ZhbHVlcztcblx0fVxuXG5cdC8qKlxuXHQgKiAgQXJlIHZhbHVlcyBwcm92aWRlZCBmb3IgdGhlIG1hbmRhdG9yeSBwYXJhbWV0ZXJzLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBpbmZvcm1hdGlvbiBpcyBwcm92aWRlZCwgb3RoZXJ3aXNlIGZhbHNlXG5cdCAqL1xuXHRwcml2YXRlIGlzTWFuZGF0b3J5VmFsdWVzUHJvdmlkZWQoKTogYm9vbGVhbiB7XG5cdFx0Y29uc3QgaGlkZGVuQW5ub3RhdGlvblNldE9uQWxsQWN0aW9ucyA9IHRoaXMuYWN0aW9uUGFyYW1ldGVycy5ldmVyeShcblx0XHRcdChwYXJhbWV0ZXIpID0+IHBhcmFtZXRlcj8uYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW4/LnZhbHVlT2YoKSA9PT0gdHJ1ZVxuXHRcdCk7XG5cblx0XHRpZiAodGhpcy5wYXJhbWV0ZXJzLnBhcmFtZXRlclZhbHVlcz8ubGVuZ3RoICYmICFoaWRkZW5Bbm5vdGF0aW9uU2V0T25BbGxBY3Rpb25zKSB7XG5cdFx0XHQvLyBJZiBzaG93RGlhbG9nIGlzIGZhbHNlIGJ1dCB0aGVyZSBhcmUgcGFyYW1ldGVycyBmcm9tIHRoZSBpbnZva2VBY3Rpb24gY2FsbCB3aGljaCBuZWVkIHRvIGJlIGNoZWNrZWQgb24gZXhpc3RlbmNlXG5cdFx0XHRmb3IgKGNvbnN0IGFjdGlvblBhcmFtZXRlciBvZiB0aGlzLmFjdGlvblBhcmFtZXRlcnMpIHtcblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdGFjdGlvblBhcmFtZXRlci5uYW1lICE9PSBcIlJlc3VsdElzQWN0aXZlRW50aXR5XCIgJiZcblx0XHRcdFx0XHQhdGhpcy5wYXJhbWV0ZXJzLnBhcmFtZXRlclZhbHVlcz8uZmluZCgoZWxlbWVudCkgPT4gZWxlbWVudC5uYW1lID09PSBhY3Rpb25QYXJhbWV0ZXIubmFtZSlcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0Ly8gQXQgbGVhc3QgZm9yIG9uZSBwYXJhbWV0ZXIgbm8gdmFsdWUgaGFzIGJlZW4gcHJvdmlkZWQsIHNvIHdlIGNhbid0IHNraXAgdGhlIGRpYWxvZ1xuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmICh0aGlzLnBhcmFtZXRlcnMuaXNDcmVhdGVBY3Rpb24gPT09IHRydWUgJiYgT2JqZWN0LmtleXModGhpcy5zdGFydHVwUGFyYW1ldGVycykubGVuZ3RoICYmICFoaWRkZW5Bbm5vdGF0aW9uU2V0T25BbGxBY3Rpb25zKSB7XG5cdFx0XHQvLyBJZiBwYXJhbWV0ZXJzIGhhdmUgYmVlbiBwcm92aWRlZCBkdXJpbmcgYXBwbGljYXRpb24gbGF1bmNoLCB3ZSBuZWVkIHRvIGNoZWNrIGlmIHRoZSBzZXQgaXMgY29tcGxldGVcblx0XHRcdC8vIElmIG5vdCwgdGhlIHBhcmFtZXRlciBkaWFsb2cgc3RpbGwgbmVlZHMgdG8gYmUgc2hvd24uXG5cdFx0XHRmb3IgKGNvbnN0IGFjdGlvblBhcmFtZXRlciBvZiB0aGlzLmFjdGlvblBhcmFtZXRlcnMpIHtcblx0XHRcdFx0aWYgKCF0aGlzLnN0YXJ0dXBQYXJhbWV0ZXJzW2FjdGlvblBhcmFtZXRlci5uYW1lXSkge1xuXHRcdFx0XHRcdC8vIEF0IGxlYXN0IGZvciBvbmUgcGFyYW1ldGVyIG5vIHZhbHVlIGhhcyBiZWVuIHByb3ZpZGVkLCBzbyB3ZSBjYW4ndCBza2lwIHRoZSBkaWFsb2dcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAodGhpcy5hY3Rpb25QYXJhbWV0ZXJzLmxlbmd0aCAmJiBoaWRkZW5Bbm5vdGF0aW9uU2V0T25BbGxBY3Rpb25zKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5hY3Rpb25QYXJhbWV0ZXJzLmV2ZXJ5KChwYXJhbWV0ZXIpID0+IHtcblx0XHRcdFx0Y29uc3QgZmllbGRDb250cm9sID0gcGFyYW1ldGVyLmFubm90YXRpb25zPy5Db21tb24/LkZpZWxkQ29udHJvbDtcblx0XHRcdFx0Y29uc3QgaXNNYW5kYXRvcnkgPSBmaWVsZENvbnRyb2w/LnRvU3RyaW5nKCkgPT09IFwiQ29tbW9uLkZpZWxkQ29udHJvbFR5cGUvTWFuZGF0b3J5XCI7XG5cblx0XHRcdFx0Ly8gUG9zc2libGUgc291cmNlcyBtYXkgYmUgc3RhcnR1cFBhcmFtZXRlcnMsIHBhcmFtZXRlclZhbHVlcywgZGVmYXVsdFZhbHVlcyBwZXIgYW5ub3RhdGlvbiAoUGFyYW1ldGVyRGVmYXVsdFZhbHVlKVxuXHRcdFx0XHQvLyBJZiBub25lIGlzIGZvdW5kLCByZXR1cm4gZmFsc2Vcblx0XHRcdFx0cmV0dXJuIChcblx0XHRcdFx0XHQhaXNNYW5kYXRvcnkgfHxcblx0XHRcdFx0XHR0aGlzLnN0YXJ0dXBQYXJhbWV0ZXJzW3BhcmFtZXRlci5uYW1lXSB8fFxuXHRcdFx0XHRcdHRoaXMucGFyYW1ldGVycy5wYXJhbWV0ZXJWYWx1ZXM/LmZpbmQoKHBhcmFtZXRlclZhbHVlKSA9PiBwYXJhbWV0ZXJWYWx1ZS5uYW1lID09PSBwYXJhbWV0ZXIubmFtZSkgfHxcblx0XHRcdFx0XHRwYXJhbWV0ZXI/LmFubm90YXRpb25zPy5VST8uUGFyYW1ldGVyRGVmYXVsdFZhbHVlPy52YWx1ZU9mKClcblx0XHRcdFx0KTtcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdHJldHVybiB0cnVlO1xuXHR9XG5cblx0LyoqXG5cdCAqICBGb3JtYXRzIHRoZSB2YWx1ZSBwcm92aWRlZCB3aXRoIGEgbm9uIHJlbGV2YW50IHR5cGUuXG5cdCAqIEBwYXJhbSBwYXJhbWV0ZXIgVGhlIHBhcmFtZXRlclxuXHQgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnRcblx0ICogQHJldHVybnMgVGhlIGNvbnZlcnRlZCB2YWx1ZVxuXHQgKi9cblx0cHJpdmF0ZSBhc3luYyBjb252ZXJ0VmFsdWUoXG5cdFx0cGFyYW1ldGVyOiBFZG1BY3Rpb25QYXJhbWV0ZXIsXG5cdFx0dmFsdWU/OiBCYXNlVHlwZVBhcmFtZXRlciB8IG51bGxcblx0KTogUHJvbWlzZTxCYXNlVHlwZVBhcmFtZXRlciB8IHVuZGVmaW5lZCB8IG51bGw+IHtcblx0XHRpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIHZhbHVlO1xuXHRcdH1cblx0XHRjb25zdCBUeXBlTWFwID0gKGF3YWl0IGltcG9ydChcInNhcC91aS9tZGMvb2RhdGEvdjQvVHlwZU1hcFwiKSkuZGVmYXVsdDtcblx0XHRjb25zdCBwYXJhbWV0ZXJUeXBlID0gVHlwZU1hcC5nZXRCYXNlVHlwZShwYXJhbWV0ZXIudHlwZSk7XG5cdFx0Y29uc3QgdHlwZUluc3RhbmNlID0gVHlwZU1hcC5nZXREYXRhVHlwZUluc3RhbmNlKHBhcmFtZXRlclR5cGUpO1xuXHRcdHJldHVybiB0eXBlSW5zdGFuY2UucGFyc2VWYWx1ZSh2YWx1ZSwgXCJzdHJpbmdcIik7XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFhcUJBLG1CQUFtQjtJQVd2QyxTQUFBQSxvQkFDa0JDLFlBQTBCLEVBQzFCQyxLQUFpQixFQUNqQkMsZUFBMEIsRUFDMUJDLG9CQUF5QyxFQUN6Q0MsVUFhaEIsRUFDQTtNQUFBLEtBekJNQyxlQUFlLEdBQWlEQyxTQUFTO01BQUEsS0FFekVDLGdCQUFn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
189
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPcGVyYXRpb25QYXJhbWV0ZXJzIiwiYXBwQ29tcG9uZW50IiwibW9kZWwiLCJjb252ZXJ0ZWRBY3Rpb24iLCJza2lwUGFyYW1ldGVyc0RpYWxvZyIsInBhcmFtZXRlcnMiLCJwYXJhbWV0ZXJEaWFsb2ciLCJ1bmRlZmluZWQiLCJwYXJhbWV0ZXJzVmFsdWVzIiwic3RhcnR1cFBhcmFtZXRlcnMiLCJhY3Rpb25QYXJhbWV0ZXJzIiwiYWN0aW9uSGVscGVyIiwiZ2V0QWN0aW9uUGFyYW1ldGVycyIsImlzUGFyYW1ldGVyRGlhbG9nTmVlZGVkIiwibGVuZ3RoIiwibmFtZSIsImZpbHRlciIsImFjdGlvblBhcmFtZXRlciIsImV2ZXJ5IiwicGFyYW1ldGVyIiwiYW5ub3RhdGlvbnMiLCJVSSIsIkhpZGRlbiIsInZhbHVlT2YiLCJzZXRTdGFydHVwUGFyYW1ldGVycyIsIl9leHBvcnRzIiwiX3Byb3RvIiwicHJvdG90eXBlIiwiY29tcG9uZW50RGF0YSIsImdldENvbXBvbmVudERhdGEiLCJpc1BhcmFtZXRlckRpYWxvZyIsImlzUGFyYW1ldGVyRGlhbG9nT3BlbmVkIiwiaXNPcGVuIiwicmVzZXRQYXJhbWV0ZXJEaWFsb2dTdGF0ZSIsInJlc2V0U3RhdGUiLCJjbG9zZVBhcmFtZXRlckRpYWxvZyIsImNsb3NlRGlhbG9nIiwiZ2V0T3BlcmF0aW9uUGFyYW1ldGVycyIsImlzTWFuZGF0b3J5VmFsdWVzUHJvdmlkZWQiLCJnZXRDb3JlVUlGYWN0b3J5IiwibmV3T3BlcmF0aW9uUGFyYW1ldGVyRGlhbG9nIiwiY29udGV4dHMiLCJkZWZhdWx0VmFsdWVzRXh0ZW5zaW9uRnVuY3Rpb24iLCJpc0NyZWF0ZUFjdGlvbiIsImxhYmVsIiwidmlldyIsImV2ZW50cyIsIm9uUGFyYW1ldGVyRGlhbG9nT3BlbmVkIiwib25QYXJhbWV0ZXJEaWFsb2dDbG9zZWQiLCJwYXJhbWV0ZXJWYWx1ZXMiLCJlbnRpdHlTZXROYW1lIiwibWVzc2FnZUhhbmRsZXIiLCJjcmVhdGVEaWFsb2ciLCJvcGVuRGlhbG9nIiwid2FpdEZvclBhcmFtZXRlcnNWYWx1ZXMiLCJpIiwiZmluZCIsImVsZW1lbnQiLCJ2YWx1ZSIsImNvbnZlcnRWYWx1ZSIsIlBhcmFtZXRlckRlZmF1bHRWYWx1ZSIsImhpZGRlbkFubm90YXRpb25TZXRPbkFsbEFjdGlvbnMiLCJPYmplY3QiLCJrZXlzIiwiZmllbGRDb250cm9sIiwiQ29tbW9uIiwiRmllbGRDb250cm9sIiwiaXNNYW5kYXRvcnkiLCJ0b1N0cmluZyIsInBhcmFtZXRlclZhbHVlIiwiVHlwZU1hcCIsIl9fdWk1X3JlcXVpcmVfYXN5bmMiLCJkZWZhdWx0IiwicGFyYW1ldGVyVHlwZSIsImdldEJhc2VUeXBlIiwidHlwZSIsInR5cGVJbnN0YW5jZSIsImdldERhdGFUeXBlSW5zdGFuY2UiLCJwYXJzZVZhbHVlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJPcGVyYXRpb25QYXJhbWV0ZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQWN0aW9uIGFzIEVkbUFjdGlvbiwgQWN0aW9uUGFyYW1ldGVyIGFzIEVkbUFjdGlvblBhcmFtZXRlciwgUHJpbWl0aXZlVHlwZSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IHR5cGUgQXBwQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9BcHBDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgRkVWaWV3IH0gZnJvbSBcInNhcC9mZS9jb3JlL0Jhc2VDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBnZXRDb3JlVUlGYWN0b3J5LCB0eXBlIFN0YW5kYXJkT3BlcmF0aW9uUGFyYW1ldGVyRGlhbG9nIH0gZnJvbSBcInNhcC9mZS9jb3JlL1VJUHJvdmlkZXJcIjtcbmltcG9ydCB0eXBlIE11bHRpVmFsdWVGaWVsZEl0ZW0gZnJvbSBcInNhcC91aS9tZGMvZmllbGQvTXVsdGlWYWx1ZUZpZWxkSXRlbVwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCB0eXBlIE9EYXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1vZGVsXCI7XG5pbXBvcnQgdHlwZSB7IFN0YXJ0dXBQYXJhbWV0ZXJzIH0gZnJvbSBcIi4uLy4uLy4uL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgTWVzc2FnZUhhbmRsZXIgZnJvbSBcIi4uLy4uL01lc3NhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgYWN0aW9uSGVscGVyIGZyb20gXCIuL2FjdGlvbkhlbHBlclwiO1xuXG50eXBlIEJhc2VUeXBlUGFyYW1ldGVyID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgT3BlcmF0aW9uUGFyYW1ldGVycyB7XG5cdHByaXZhdGUgcmVhZG9ubHkgaXNQYXJhbWV0ZXJEaWFsb2dOZWVkZWQ6IGJvb2xlYW47XG5cblx0cHJpdmF0ZSByZWFkb25seSBhY3Rpb25QYXJhbWV0ZXJzOiBFZG1BY3Rpb25QYXJhbWV0ZXJbXTtcblxuXHRwcml2YXRlIHBhcmFtZXRlckRpYWxvZzogU3RhbmRhcmRPcGVyYXRpb25QYXJhbWV0ZXJEaWFsb2cgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cblx0cHJpdmF0ZSBwYXJhbWV0ZXJzVmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBQcmltaXRpdmVUeXBlPiA9IHt9O1xuXG5cdHByaXZhdGUgc3RhcnR1cFBhcmFtZXRlcnM6IFN0YXJ0dXBQYXJhbWV0ZXJzID0ge307XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSByZWFkb25seSBhcHBDb21wb25lbnQ6IEFwcENvbXBvbmVudCxcblx0XHRwcml2YXRlIHJlYWRvbmx5IG1vZGVsOiBPRGF0YU1vZGVsLFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgY29udmVydGVkQWN0aW9uOiBFZG1BY3Rpb24sXG5cdFx0cHJpdmF0ZSByZWFkb25seSBza2lwUGFyYW1ldGVyc0RpYWxvZzogYm9vbGVhbiB8IHVuZGVmaW5lZCxcblx0XHRwcml2YXRlIHJlYWRvbmx5IHBhcmFtZXRlcnM6IHtcblx0XHRcdGNvbnRleHRzOiBDb250ZXh0W107XG5cdFx0XHRkZWZhdWx0VmFsdWVzRXh0ZW5zaW9uRnVuY3Rpb24/OiBzdHJpbmc7XG5cdFx0XHRpc0NyZWF0ZUFjdGlvbj86IGJvb2xlYW47XG5cdFx0XHRsYWJlbD86IHN0cmluZztcblx0XHRcdHBhcmFtZXRlclZhbHVlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBNdWx0aVZhbHVlRmllbGRJdGVtW10+W107XG5cdFx0XHRlbnRpdHlTZXROYW1lPzogc3RyaW5nO1xuXHRcdFx0dmlldz86IEZFVmlldztcblx0XHRcdG1lc3NhZ2VIYW5kbGVyOiBNZXNzYWdlSGFuZGxlcjtcblx0XHRcdGV2ZW50cz86IHtcblx0XHRcdFx0b25QYXJhbWV0ZXJEaWFsb2dPcGVuZWQ/OiAoKSA9PiB2b2lkO1xuXHRcdFx0XHRvblBhcmFtZXRlckRpYWxvZ0Nsb3NlZD86ICgpID0+IHZvaWQ7XG5cdFx0XHR9O1xuXHRcdH1cblx0KSB7XG5cdFx0Ly8gQ2hlY2sgaWYgdGhlIGFjdGlvbiBoYXMgcGFyYW1ldGVycyBhbmQgd291bGQgbmVlZCBhIHBhcmFtZXRlciBkaWFsb2dcblx0XHQvLyBUaGUgcGFyYW1ldGVyIFJlc3VsdElzQWN0aXZlRW50aXR5IGlzIGFsd2F5cyBoaWRkZW4gaW4gdGhlIGRpYWxvZyEgSGVuY2UgaWZcblx0XHQvLyB0aGlzIGlzIHRoZSBvbmx5IHBhcmFtZXRlciwgdGhpcyBpcyB0cmVhdGVkIGFzIG5vIHBhcmFtZXRlciBoZXJlIGJlY2F1c2UgdGhlXG5cdFx0Ly8gZGlhbG9nIHdvdWxkIGJlIGVtcHR5IVxuXHRcdHRoaXMuYWN0aW9uUGFyYW1ldGVycyA9IGFjdGlvbkhlbHBlci5nZXRBY3Rpb25QYXJhbWV0ZXJzKHRoaXMuY29udmVydGVkQWN0aW9uKTtcblx0XHR0aGlzLmlzUGFyYW1ldGVyRGlhbG9nTmVlZGVkID1cblx0XHRcdHRoaXMuYWN0aW9uUGFyYW1ldGVycy5sZW5ndGggPiAwICYmXG5cdFx0XHQhKHRoaXMuYWN0aW9uUGFyYW1ldGVycy5sZW5ndGggPT09IDEgJiYgdGhpcy5hY3Rpb25QYXJhbWV0ZXJzWzBdLm5hbWUgPT09IFwiUmVzdWx0SXNBY3RpdmVFbnRpdHlcIik7XG5cblx0XHR0aGlzLnNraXBQYXJhbWV0ZXJzRGlhbG9nID1cblx0XHRcdCh0aGlzLmFjdGlvblBhcmFtZXRlcnMubGVuZ3RoICYmXG5cdFx0XHR0aGlzLmFjdGlvblBhcmFtZXRlcnNcblx0XHRcdFx0LmZpbHRlcigoYWN0aW9uUGFyYW1ldGVyKSA9PiBhY3Rpb25QYXJhbWV0ZXIubmFtZSAhPT0gXCJSZXN1bHRJc0FjdGl2ZUVudGl0eVwiKVxuXHRcdFx0XHQuZXZlcnkoKHBhcmFtZXRlcikgPT4gcGFyYW1ldGVyLmFubm90YXRpb25zLlVJPy5IaWRkZW4/LnZhbHVlT2YoKSA9PT0gdHJ1ZSlcblx0XHRcdFx0PyB0cnVlXG5cdFx0XHRcdDogdGhpcy5za2lwUGFyYW1ldGVyc0RpYWxvZykgPz8gZmFsc2U7XG5cblx0XHR0aGlzLnNldFN0YXJ0dXBQYXJhbWV0ZXJzKCk7XG5cdH1cblxuXHQvKipcblx0ICogIFNldHMgdGhlIHBhcmFtZXRlcnMgcHJvdmlkZWQgb24gdGhlIHN0YXJ0dXAuXG5cdCAqL1xuXHRwcml2YXRlIHNldFN0YXJ0dXBQYXJhbWV0ZXJzKCk6IHZvaWQge1xuXHRcdC8vIERldGVybWluZSBzdGFydHVwIHBhcmFtZXRlcnMgaWYgcHJvdmlkZWRcblx0XHRjb25zdCBjb21wb25lbnREYXRhID0gdGhpcy5hcHBDb21wb25lbnQuZ2V0Q29tcG9uZW50RGF0YSgpO1xuXHRcdHRoaXMuc3RhcnR1cFBhcmFtZXRlcnMgPSBjb21wb25lbnREYXRhPy5zdGFydHVwUGFyYW1ldGVycyA/PyB7fTtcblx0fVxuXG5cdC8qKlxuXHQgKiAgSXMgdGhlIHBhcmFtZXRlciBkaWFsb2cgaW5zdGFuY2VkLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBwYXJhbWV0ZXIgZGlhbG9nIGlzIGluc3RhbmNlZCwgb3RoZXJ3aXNlIGZhbHNlXG5cdCAqL1xuXHRwdWJsaWMgaXNQYXJhbWV0ZXJEaWFsb2coKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuICEhdGhpcy5wYXJhbWV0ZXJEaWFsb2c7XG5cdH1cblxuXHQvKipcblx0ICogIElzIHRoZSBwYXJhbWV0ZXIgZGlhbG9nIG9wZW5lZC5cblx0ICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgcGFyYW1ldGVyIGRpYWxvZyBpcyBvcGVuZWQsIG90aGVyd2lzZSBmYWxzZVxuXHQgKi9cblx0cHVibGljIGlzUGFyYW1ldGVyRGlhbG9nT3BlbmVkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLnBhcmFtZXRlckRpYWxvZz8uaXNPcGVuKCkgPz8gZmFsc2U7XG5cdH1cblxuXHQvKipcblx0ICogUmVzZXRzIHRoZSBzdGF0ZSBvZiB0aGUgcGFyYW1ldGVyIGRpYWxvZy5cblx0ICovXG5cdHB1YmxpYyByZXNldFBhcmFtZXRlckRpYWxvZ1N0YXRlKCk6IHZvaWQge1xuXHRcdHRoaXMucGFyYW1ldGVyRGlhbG9nPy5yZXNldFN0YXRlKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2xvc2VzIHRoZSBzdGF0ZSBvZiB0aGUgcGFyYW1ldGVyIGRpYWxvZy5cblx0ICogQHJldHVybnMgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGRpYWxvZyBpcyBjbG9zZWRcblx0ICovXG5cdHB1YmxpYyBhc3luYyBjbG9zZVBhcmFtZXRlckRpYWxvZygpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRyZXR1cm4gdGhpcy5wYXJhbWV0ZXJEaWFsb2c/LmNsb3NlRGlhbG9nKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIHBhcmFtZXRlcnMuXG5cdCAqIEByZXR1cm5zIFRoZSB2YWx1ZSBvZiB0aGUgcGFyYW1ldGVyc1xuXHQgKi9cblx0cHVibGljIGFzeW5jIGdldE9wZXJhdGlvblBhcmFtZXRlcnMoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBQcmltaXRpdmVUeXBlPj4ge1xuXHRcdC8vIEluIGNhc2UgYW4gYWN0aW9uIHBhcmFtZXRlciBpcyBuZWVkZWQsIGFuZCB3ZSBzaGFsbCBza2lwIHRoZSBkaWFsb2csIGNoZWNrIGlmIHZhbHVlcyBhcmUgcHJvdmlkZWQgZm9yIGFsbCBwYXJhbWV0ZXJzXG5cdFx0aWYgKHRoaXMuaXNQYXJhbWV0ZXJEaWFsb2dOZWVkZWQgJiYgISh0aGlzLnNraXBQYXJhbWV0ZXJzRGlhbG9nICYmIHRoaXMuaXNNYW5kYXRvcnlWYWx1ZXNQcm92aWRlZCgpKSkge1xuXHRcdFx0aWYgKCF0aGlzLnBhcmFtZXRlckRpYWxvZykge1xuXHRcdFx0XHR0aGlzLnBhcmFtZXRlckRpYWxvZyA9IGdldENvcmVVSUZhY3RvcnkoKS5uZXdPcGVyYXRpb25QYXJhbWV0ZXJEaWFsb2coXG5cdFx0XHRcdFx0dGhpcy5jb252ZXJ0ZWRBY3Rpb24sXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0YXBwQ29tcG9uZW50OiB0aGlzLmFwcENvbXBvbmVudCxcblx0XHRcdFx0XHRcdG1vZGVsOiB0aGlzLm1vZGVsLFxuXHRcdFx0XHRcdFx0Y29udGV4dHM6IHRoaXMucGFyYW1ldGVycy5jb250ZXh0cyxcblx0XHRcdFx0XHRcdHBhcmFtZXRlcnNWYWx1ZXM6IHt9LFxuXHRcdFx0XHRcdFx0ZGVmYXVsdFZhbHVlc0V4dGVuc2lvbkZ1bmN0aW9uOiB0aGlzLnBhcmFtZXRlcnMuZGVmYXVsdFZhbHVlc0V4dGVuc2lvbkZ1bmN0aW9uLFxuXHRcdFx0XHRcdFx0aXNDcmVhdGVBY3Rpb246IHRoaXMucGFyYW1ldGVycy5pc0NyZWF0ZUFjdGlvbixcblx0XHRcdFx0XHRcdGxhYmVsOiB0aGlzLnBhcmFtZXRlcnMubGFiZWwsXG5cdFx0XHRcdFx0XHR2aWV3OiB0aGlzLnBhcmFtZXRlcnMudmlldyxcblx0XHRcdFx0XHRcdGV2ZW50czoge1xuXHRcdFx0XHRcdFx0XHRvblBhcmFtZXRlckRpYWxvZ09wZW5lZDogdGhpcy5wYXJhbWV0ZXJzLmV2ZW50cz8ub25QYXJhbWV0ZXJEaWFsb2dPcGVuZWQsXG5cdFx0XHRcdFx0XHRcdG9uUGFyYW1ldGVyRGlhbG9nQ2xvc2VkOiB0aGlzLnBhcmFtZXRlcnMuZXZlbnRzPy5vblBhcmFtZXRlckRpYWxvZ0Nsb3NlZFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0dGhpcy5wYXJhbWV0ZXJzLnBhcmFtZXRlclZhbHVlcyxcblx0XHRcdFx0XHR0aGlzLnBhcmFtZXRlcnMuZW50aXR5U2V0TmFtZSxcblx0XHRcdFx0XHR0aGlzLnBhcmFtZXRlcnMubWVzc2FnZUhhbmRsZXJcblx0XHRcdFx0KTtcblx0XHRcdFx0YXdhaXQgdGhpcy5wYXJhbWV0ZXJEaWFsb2cuY3JlYXRlRGlhbG9nKCk7XG5cdFx0XHRcdHRoaXMucGFyYW1ldGVyRGlhbG9nLm9wZW5EaWFsb2coKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiB0aGlzLnBhcmFtZXRlckRpYWxvZy53YWl0Rm9yUGFyYW1ldGVyc1ZhbHVlcygpO1xuXHRcdH1cblx0XHQvLyBJZiB0aGUgZGlhbG9nIGlzIHNraXBwZWQsIHdlIG5lZWQgdG8gc2V0IHRoZSBkZWZhdWx0IHZhbHVlcyBmb3IgdGhlIHBhcmFtZXRlcnNcblx0XHRpZiAodGhpcy5wYXJhbWV0ZXJzLnBhcmFtZXRlclZhbHVlcykge1xuXHRcdFx0Zm9yIChjb25zdCBpIGluIHRoaXMuYWN0aW9uUGFyYW1ldGVycykge1xuXHRcdFx0XHR0aGlzLnBhcmFtZXRlcnNWYWx1ZXNbdGhpcy5hY3Rpb25QYXJhbWV0ZXJzW2ldLm5hbWVdID0gdGhpcy5wYXJhbWV0ZXJzLnBhcmFtZXRlclZhbHVlcz8uZmluZChcblx0XHRcdFx0XHQoZWxlbWVudCkgPT4gZWxlbWVudC5uYW1lID09PSB0aGlzLmFjdGlvblBhcmFtZXRlcnNbaV0ubmFtZVxuXHRcdFx0XHQpPy52YWx1ZTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0bGV0IGFjdGlvblBhcmFtZXRlcjtcblx0XHRcdGZvciAoY29uc3QgaSBpbiB0aGlzLmFjdGlvblBhcmFtZXRlcnMpIHtcblx0XHRcdFx0YWN0aW9uUGFyYW1ldGVyID0gdGhpcy5hY3Rpb25QYXJhbWV0ZXJzW2ldO1xuXHRcdFx0XHR0aGlzLnBhcmFtZXRlcnNWYWx1ZXNbYWN0aW9uUGFyYW1ldGVyLm5hbWVdID0gYXdhaXQgdGhpcy5jb252ZXJ0VmFsdWUoXG5cdFx0XHRcdFx0YWN0aW9uUGFyYW1ldGVyLFxuXHRcdFx0XHRcdHRoaXMuc3RhcnR1cFBhcmFtZXRlcnNbYWN0aW9uUGFyYW1ldGVyLm5hbWVdPy5bMF0gPz8gYWN0aW9uUGFyYW1ldGVyLmFubm90YXRpb25zPy5VST8uUGFyYW1ldGVyRGVmYXVsdFZhbHVlPy52YWx1ZU9mKClcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMucGFyYW1ldGVyc1ZhbHVlcztcblx0fVxuXG5cdC8qKlxuXHQgKiAgQXJlIHZhbHVlcyBwcm92aWRlZCBmb3IgdGhlIG1hbmRhdG9yeSBwYXJhbWV0ZXJzLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBpbmZvcm1hdGlvbiBpcyBwcm92aWRlZCwgb3RoZXJ3aXNlIGZhbHNlXG5cdCAqL1xuXHRwcml2YXRlIGlzTWFuZGF0b3J5VmFsdWVzUHJvdmlkZWQoKTogYm9vbGVhbiB7XG5cdFx0Y29uc3QgaGlkZGVuQW5ub3RhdGlvblNldE9uQWxsQWN0aW9ucyA9IHRoaXMuYWN0aW9uUGFyYW1ldGVycy5ldmVyeShcblx0XHRcdChwYXJhbWV0ZXIpID0+IHBhcmFtZXRlcj8uYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW4/LnZhbHVlT2YoKSA9PT0gdHJ1ZVxuXHRcdCk7XG5cblx0XHRpZiAodGhpcy5wYXJhbWV0ZXJzLnBhcmFtZXRlclZhbHVlcz8ubGVuZ3RoICYmICFoaWRkZW5Bbm5vdGF0aW9uU2V0T25BbGxBY3Rpb25zKSB7XG5cdFx0XHQvLyBJZiBzaG93RGlhbG9nIGlzIGZhbHNlIGJ1dCB0aGVyZSBhcmUgcGFyYW1ldGVycyBmcm9tIHRoZSBpbnZva2VBY3Rpb24gY2FsbCB3aGljaCBuZWVkIHRvIGJlIGNoZWNrZWQgb24gZXhpc3RlbmNlXG5cdFx0XHRmb3IgKGNvbnN0IGFjdGlvblBhcmFtZXRlciBvZiB0aGlzLmFjdGlvblBhcmFtZXRlcnMpIHtcblx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdGFjdGlvblBhcmFtZXRlci5uYW1lICE9PSBcIlJlc3VsdElzQWN0aXZlRW50aXR5XCIgJiZcblx0XHRcdFx0XHQhdGhpcy5wYXJhbWV0ZXJzLnBhcmFtZXRlclZhbHVlcz8uZmluZCgoZWxlbWVudCkgPT4gZWxlbWVudC5uYW1lID09PSBhY3Rpb25QYXJhbWV0ZXIubmFtZSlcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0Ly8gQXQgbGVhc3QgZm9yIG9uZSBwYXJhbWV0ZXIgbm8gdmFsdWUgaGFzIGJlZW4gcHJvdmlkZWQsIHNvIHdlIGNhbid0IHNraXAgdGhlIGRpYWxvZ1xuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmICh0aGlzLnBhcmFtZXRlcnMuaXNDcmVhdGVBY3Rpb24gPT09IHRydWUgJiYgT2JqZWN0LmtleXModGhpcy5zdGFydHVwUGFyYW1ldGVycykubGVuZ3RoICYmICFoaWRkZW5Bbm5vdGF0aW9uU2V0T25BbGxBY3Rpb25zKSB7XG5cdFx0XHQvLyBJZiBwYXJhbWV0ZXJzIGhhdmUgYmVlbiBwcm92aWRlZCBkdXJpbmcgYXBwbGljYXRpb24gbGF1bmNoLCB3ZSBuZWVkIHRvIGNoZWNrIGlmIHRoZSBzZXQgaXMgY29tcGxldGVcblx0XHRcdC8vIElmIG5vdCwgdGhlIHBhcmFtZXRlciBkaWFsb2cgc3RpbGwgbmVlZHMgdG8gYmUgc2hvd24uXG5cdFx0XHRmb3IgKGNvbnN0IGFjdGlvblBhcmFtZXRlciBvZiB0aGlzLmFjdGlvblBhcmFtZXRlcnMpIHtcblx0XHRcdFx0aWYgKCF0aGlzLnN0YXJ0dXBQYXJhbWV0ZXJzW2FjdGlvblBhcmFtZXRlci5uYW1lXSkge1xuXHRcdFx0XHRcdC8vIEF0IGxlYXN0IGZvciBvbmUgcGFyYW1ldGVyIG5vIHZhbHVlIGhhcyBiZWVuIHByb3ZpZGVkLCBzbyB3ZSBjYW4ndCBza2lwIHRoZSBkaWFsb2dcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAodGhpcy5hY3Rpb25QYXJhbWV0ZXJzLmxlbmd0aCAmJiBoaWRkZW5Bbm5vdGF0aW9uU2V0T25BbGxBY3Rpb25zKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5hY3Rpb25QYXJhbWV0ZXJzLmV2ZXJ5KChwYXJhbWV0ZXIpID0+IHtcblx0XHRcdFx0Y29uc3QgZmllbGRDb250cm9sID0gcGFyYW1ldGVyLmFubm90YXRpb25zPy5Db21tb24/LkZpZWxkQ29udHJvbDtcblx0XHRcdFx0Y29uc3QgaXNNYW5kYXRvcnkgPSBmaWVsZENvbnRyb2w/LnRvU3RyaW5nKCkgPT09IFwiQ29tbW9uLkZpZWxkQ29udHJvbFR5cGUvTWFuZGF0b3J5XCI7XG5cblx0XHRcdFx0Ly8gUG9zc2libGUgc291cmNlcyBtYXkgYmUgc3RhcnR1cFBhcmFtZXRlcnMsIHBhcmFtZXRlclZhbHVlcywgZGVmYXVsdFZhbHVlcyBwZXIgYW5ub3RhdGlvbiAoUGFyYW1ldGVyRGVmYXVsdFZhbHVlKVxuXHRcdFx0XHQvLyBJZiBub25lIGlzIGZvdW5kLCByZXR1cm4gZmFsc2Vcblx0XHRcdFx0cmV0dXJuIChcblx0XHRcdFx0XHQhaXNNYW5kYXRvcnkgfHxcblx0XHRcdFx0XHR0aGlzLnN0YXJ0dXBQYXJhbWV0ZXJzW3BhcmFtZXRlci5uYW1lXSB8fFxuXHRcdFx0XHRcdHRoaXMucGFyYW1ldGVycy5wYXJhbWV0ZXJWYWx1ZXM/LmZpbmQoKHBhcmFtZXRlclZhbHVlKSA9PiBwYXJhbWV0ZXJWYWx1ZS5uYW1lID09PSBwYXJhbWV0ZXIubmFtZSkgfHxcblx0XHRcdFx0XHRwYXJhbWV0ZXI/LmFubm90YXRpb25zPy5VST8uUGFyYW1ldGVyRGVmYXVsdFZhbHVlPy52YWx1ZU9mKClcblx0XHRcdFx0KTtcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdHJldHVybiB0cnVlO1xuXHR9XG5cblx0LyoqXG5cdCAqICBGb3JtYXRzIHRoZSB2YWx1ZSBwcm92aWRlZCB3aXRoIGEgbm9uIHJlbGV2YW50IHR5cGUuXG5cdCAqIEBwYXJhbSBwYXJhbWV0ZXIgVGhlIHBhcmFtZXRlclxuXHQgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnRcblx0ICogQHJldHVybnMgVGhlIGNvbnZlcnRlZCB2YWx1ZVxuXHQgKi9cblx0cHJpdmF0ZSBhc3luYyBjb252ZXJ0VmFsdWUoXG5cdFx0cGFyYW1ldGVyOiBFZG1BY3Rpb25QYXJhbWV0ZXIsXG5cdFx0dmFsdWU/OiBCYXNlVHlwZVBhcmFtZXRlciB8IG51bGxcblx0KTogUHJvbWlzZTxCYXNlVHlwZVBhcmFtZXRlciB8IHVuZGVmaW5lZCB8IG51bGw+IHtcblx0XHRpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIHZhbHVlO1xuXHRcdH1cblx0XHRjb25zdCBUeXBlTWFwID0gKGF3YWl0IGltcG9ydChcInNhcC91aS9tZGMvb2RhdGEvdjQvVHlwZU1hcFwiKSkuZGVmYXVsdDtcblx0XHRjb25zdCBwYXJhbWV0ZXJUeXBlID0gVHlwZU1hcC5nZXRCYXNlVHlwZShwYXJhbWV0ZXIudHlwZSk7XG5cdFx0Y29uc3QgdHlwZUluc3RhbmNlID0gVHlwZU1hcC5nZXREYXRhVHlwZUluc3RhbmNlKHBhcmFtZXRlclR5cGUpO1xuXHRcdHJldHVybiB0eXBlSW5zdGFuY2UucGFyc2VWYWx1ZSh2YWx1ZSwgXCJzdHJpbmdcIik7XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFhcUJBLG1CQUFtQjtJQVd2QyxTQUFBQSxvQkFDa0JDLFlBQTBCLEVBQzFCQyxLQUFpQixFQUNqQkMsZUFBMEIsRUFDMUJDLG9CQUF5QyxFQUN6Q0MsVUFhaEIsRUFDQTtNQUFBLEtBekJNQyxlQUFlLEdBQWlEQyxTQUFTO01BQUEsS0FFekVDLGdCQUFnQixHQUFrQyxDQUFDLENBQUM7TUFBQSxLQUVwREMsaUJBQWlCLEdBQXNCLENBQUMsQ0FBQztNQUFBLEtBRy9CUixZQUEwQixHQUExQkEsWUFBMEI7TUFBQSxLQUMxQkMsS0FBaUIsR0FBakJBLEtBQWlCO01BQUEsS0FDakJDLGVBQTBCLEdBQTFCQSxlQUEwQjtNQUFBLEtBQzFCQyxvQkFBeUMsR0FBekNBLG9CQUF5QztNQUFBLEtBQ3pDQyxVQWFoQixHQWJnQkEsVUFhaEI7TUFFRDtNQUNBO01BQ0E7TUFDQTtNQUNBLElBQUksQ0FBQ0ssZ0JBQWdCLEdBQUdDLFlBQVksQ0FBQ0MsbUJBQW1CLENBQUMsSUFBSSxDQUFDVCxlQUFlLENBQUM7TUFDOUUsSUFBSSxDQUFDVSx1QkFBdUIsR0FDM0IsSUFBSSxDQUFDSCxnQkFBZ0IsQ0FBQ0ksTUFBTSxHQUFHLENBQUMsSUFDaEMsRUFBRSxJQUFJLENBQUNKLGdCQUFnQixDQUFDSSxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQ0osZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUNLLElBQUksS0FBSyxzQkFBc0IsQ0FBQztNQUVsRyxJQUFJLENBQUNYLG9CQUFvQixHQUN4QixDQUFDLElBQUksQ0FBQ00sZ0JBQWdCLENBQUNJLE1BQU0sSUFDN0IsSUFBSSxDQUFDSixnQkFBZ0IsQ0FDbkJNLE1BQU0sQ0FBRUMsZUFBZSxJQUFLQSxlQUFlLENBQUNGLElBQUksS0FBSyxzQkFBc0IsQ0FBQyxDQUM1RUcsS0FBSyxDQUFFQyxTQUFTLElBQUtBLFNBQVMsQ0FBQ0MsV0FBVyxDQUFDQyxFQUFFLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsR0FDekUsSUFBSSxHQUNKLElBQUksQ0FBQ25CLG9CQUFvQixLQUFLLEtBQUs7TUFFdkMsSUFBSSxDQUFDb0Isb0JBQW9CLENBQUMsQ0FBQztJQUM1Qjs7SUFFQTtBQUNEO0FBQ0E7SUFGQ0MsUUFBQSxHQUFBekIsbUJBQUE7SUFBQSxJQUFBMEIsTUFBQSxHQUFBMUIsbUJBQUEsQ0FBQTJCLFNBQUE7SUFBQUQsTUFBQSxDQUdRRixvQkFBb0IsR0FBNUIsU0FBUUEsb0JBQW9CQSxDQUFBLEVBQVM7TUFDcEM7TUFDQSxNQUFNSSxhQUFhLEdBQUcsSUFBSSxDQUFDM0IsWUFBWSxDQUFDNEIsZ0JBQWdCLENBQUMsQ0FBQztNQUMxRCxJQUFJLENBQUNwQixpQkFBaUIsR0FBR21CLGFBQWEsRUFBRW5CLGlCQUFpQixJQUFJLENBQUMsQ0FBQztJQUNoRTs7SUFFQTtBQUNEO0FBQ0E7QUFDQSxPQUhDO0lBQUFpQixNQUFBLENBSU9JLGlCQUFpQixHQUF4QixTQUFPQSxpQkFBaUJBLENBQUEsRUFBWTtNQUNuQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUN4QixlQUFlO0lBQzlCOztJQUVBO0FBQ0Q7QUFDQTtBQUNBLE9BSEM7SUFBQW9CLE1BQUEsQ0FJT0ssdUJBQXVCLEdBQTlCLFNBQU9BLHVCQUF1QkEsQ0FBQSxFQUFZO01BQ3pDLE9BQU8sSUFBSSxDQUFDekIsZUFBZSxFQUFFMEIsTUFBTSxDQUFDLENBQUMsSUFBSSxLQUFLO0lBQy9DOztJQUVBO0FBQ0Q7QUFDQSxPQUZDO0lBQUFOLE1BQUEsQ0FHT08seUJBQXlCLEdBQWhDLFNBQU9BLHlCQUF5QkEsQ0FBQSxFQUFTO01BQ3hDLElBQUksQ0FBQzNCLGVBQWUsRUFBRTRCLFVBQVUsQ0FBQyxDQUFDO0lBQ25DOztJQUVBO0FBQ0Q7QUFDQTtBQUNBLE9BSEM7SUFBQVIsTUFBQSxDQUlhUyxvQkFBb0IsR0FBakMsZUFBYUEsb0JBQW9CQSxDQUFBLEVBQWtCO01BQ2xELE9BQU8sSUFBSSxDQUFDN0IsZUFBZSxFQUFFOEIsV0FBVyxDQUFDLENBQUM7SUFDM0M7O0lBRUE7QUFDRDtBQUNBO0FBQ0EsT0FIQztJQUFBVixNQUFBLENBSWFXLHNCQUFzQixHQUFuQyxlQUFhQSxzQkFBc0JBLENBQUEsRUFBMkM7TUFDN0U7TUFDQSxJQUFJLElBQUksQ0FBQ3hCLHVCQUF1QixJQUFJLEVBQUUsSUFBSSxDQUFDVCxvQkFBb0IsSUFBSSxJQUFJLENBQUNrQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNyRyxJQUFJLENBQUMsSUFBSSxDQUFDaEMsZUFBZSxFQUFFO1VBQzFCLElBQUksQ0FBQ0EsZUFBZSxHQUFHaUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDQywyQkFBMkIsQ0FDcEUsSUFBSSxDQUFDckMsZUFBZSxFQUNwQjtZQUNDRixZQUFZLEVBQUUsSUFBSSxDQUFDQSxZQUFZO1lBQy9CQyxLQUFLLEVBQUUsSUFBSSxDQUFDQSxLQUFLO1lBQ2pCdUMsUUFBUSxFQUFFLElBQUksQ0FBQ3BDLFVBQVUsQ0FBQ29DLFFBQVE7WUFDbENqQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7WUFDcEJrQyw4QkFBOEIsRUFBRSxJQUFJLENBQUNyQyxVQUFVLENBQUNxQyw4QkFBOEI7WUFDOUVDLGNBQWMsRUFBRSxJQUFJLENBQUN0QyxVQUFVLENBQUNzQyxjQUFjO1lBQzlDQyxLQUFLLEVBQUUsSUFBSSxDQUFDdkMsVUFBVSxDQUFDdUMsS0FBSztZQUM1QkMsSUFBSSxFQUFFLElBQUksQ0FBQ3hDLFVBQVUsQ0FBQ3dDLElBQUk7WUFDMUJDLE1BQU0sRUFBRTtjQUNQQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMxQyxVQUFVLENBQUN5QyxNQUFNLEVBQUVDLHVCQUF1QjtjQUN4RUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDM0MsVUFBVSxDQUFDeUMsTUFBTSxFQUFFRTtZQUNsRDtVQUNELENBQUMsRUFDRCxJQUFJLENBQUMzQyxVQUFVLENBQUM0QyxlQUFlLEVBQy9CLElBQUksQ0FBQzVDLFVBQVUsQ0FBQzZDLGFBQWEsRUFDN0IsSUFBSSxDQUFDN0MsVUFBVSxDQUFDOEMsY0FDakIsQ0FBQztVQUNELE1BQU0sSUFBSSxDQUFDN0MsZUFBZSxDQUFDOEMsWUFBWSxDQUFDLENBQUM7VUFDekMsSUFBSSxDQUFDOUMsZUFBZSxDQUFDK0MsVUFBVSxDQUFDLENBQUM7UUFDbEM7UUFDQSxPQUFPLElBQUksQ0FBQy9DLGVBQWUsQ0FBQ2dELHVCQUF1QixDQUFDLENBQUM7TUFDdEQ7TUFDQTtNQUNBLElBQUksSUFBSSxDQUFDakQsVUFBVSxDQUFDNEMsZUFBZSxFQUFFO1FBQ3BDLEtBQUssTUFBTU0sQ0FBQyxJQUFJLElBQUksQ0FBQzdDLGdCQUFnQixFQUFFO1VBQ3RDLElBQUksQ0FBQ0YsZ0JBQWdCLENBQUMsSUFBSSxDQUFDRSxnQkFBZ0IsQ0FBQzZDLENBQUMsQ0FBQyxDQUFDeEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDVixVQUFVLENBQUM0QyxlQUFlLEVBQUVPLElBQUksQ0FDMUZDLE9BQU8sSUFBS0EsT0FBTyxDQUFDMUMsSUFBSSxLQUFLLElBQUksQ0FBQ0wsZ0JBQWdCLENBQUM2QyxDQUFDLENBQUMsQ0FBQ3hDLElBQ3hELENBQUMsRUFBRTJDLEtBQUs7UUFDVDtNQUNELENBQUMsTUFBTTtRQUNOLElBQUl6QyxlQUFlO1FBQ25CLEtBQUssTUFBTXNDLENBQUMsSUFBSSxJQUFJLENBQUM3QyxnQkFBZ0IsRUFBRTtVQUN0Q08sZUFBZSxHQUFHLElBQUksQ0FBQ1AsZ0JBQWdCLENBQUM2QyxDQUFDLENBQUM7VUFDMUMsSUFBSSxDQUFDL0MsZ0JBQWdCLENBQUNTLGVBQWUsQ0FBQ0YsSUFBSSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUM0QyxZQUFZLENBQ3BFMUMsZUFBZSxFQUNmLElBQUksQ0FBQ1IsaUJBQWlCLENBQUNRLGVBQWUsQ0FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUlFLGVBQWUsQ0FBQ0csV0FBVyxFQUFFQyxFQUFFLEVBQUV1QyxxQkFBcUIsRUFBRXJDLE9BQU8sQ0FBQyxDQUN0SCxDQUFDO1FBQ0Y7TUFDRDtNQUNBLE9BQU8sSUFBSSxDQUFDZixnQkFBZ0I7SUFDN0I7O0lBRUE7QUFDRDtBQUNBO0FBQ0EsT0FIQztJQUFBa0IsTUFBQSxDQUlRWSx5QkFBeUIsR0FBakMsU0FBUUEseUJBQXlCQSxDQUFBLEVBQVk7TUFDNUMsTUFBTXVCLCtCQUErQixHQUFHLElBQUksQ0FBQ25ELGdCQUFnQixDQUFDUSxLQUFLLENBQ2pFQyxTQUFTLElBQUtBLFNBQVMsRUFBRUMsV0FBVyxFQUFFQyxFQUFFLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxDQUFDLENBQUMsS0FBSyxJQUNsRSxDQUFDO01BRUQsSUFBSSxJQUFJLENBQUNsQixVQUFVLENBQUM0QyxlQUFlLEVBQUVuQyxNQUFNLElBQUksQ0FBQytDLCtCQUErQixFQUFFO1FBQ2hGO1FBQ0EsS0FBSyxNQUFNNUMsZUFBZSxJQUFJLElBQUksQ0FBQ1AsZ0JBQWdCLEVBQUU7VUFDcEQsSUFDQ08sZUFBZSxDQUFDRixJQUFJLEtBQUssc0JBQXNCLElBQy9DLENBQUMsSUFBSSxDQUFDVixVQUFVLENBQUM0QyxlQUFlLEVBQUVPLElBQUksQ0FBRUMsT0FBTyxJQUFLQSxPQUFPLENBQUMxQyxJQUFJLEtBQUtFLGVBQWUsQ0FBQ0YsSUFBSSxDQUFDLEVBQ3pGO1lBQ0Q7WUFDQSxPQUFPLEtBQUs7VUFDYjtRQUNEO01BQ0Q7TUFFQSxJQUFJLElBQUksQ0FBQ1YsVUFBVSxDQUFDc0MsY0FBYyxLQUFLLElBQUksSUFBSW1CLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQ3RELGlCQUFpQixDQUFDLENBQUNLLE1BQU0sSUFBSSxDQUFDK0MsK0JBQStCLEVBQUU7UUFDOUg7UUFDQTtRQUNBLEtBQUssTUFBTTVDLGVBQWUsSUFBSSxJQUFJLENBQUNQLGdCQUFnQixFQUFFO1VBQ3BELElBQUksQ0FBQyxJQUFJLENBQUNELGlCQUFpQixDQUFDUSxlQUFlLENBQUNGLElBQUksQ0FBQyxFQUFFO1lBQ2xEO1lBQ0EsT0FBTyxLQUFLO1VBQ2I7UUFDRDtNQUNEO01BRUEsSUFBSSxJQUFJLENBQUNMLGdCQUFnQixDQUFDSSxNQUFNLElBQUkrQywrQkFBK0IsRUFBRTtRQUNwRSxPQUFPLElBQUksQ0FBQ25ELGdCQUFnQixDQUFDUSxLQUFLLENBQUVDLFNBQVMsSUFBSztVQUNqRCxNQUFNNkMsWUFBWSxHQUFHN0MsU0FBUyxDQUFDQyxXQUFXLEVBQUU2QyxNQUFNLEVBQUVDLFlBQVk7VUFDaEUsTUFBTUMsV0FBVyxHQUFHSCxZQUFZLEVBQUVJLFFBQVEsQ0FBQyxDQUFDLEtBQUssbUNBQW1DOztVQUVwRjtVQUNBO1VBQ0EsT0FDQyxDQUFDRCxXQUFXLElBQ1osSUFBSSxDQUFDMUQsaUJBQWlCLENBQUNVLFNBQVMsQ0FBQ0osSUFBSSxDQUFDLElBQ3RDLElBQUksQ0FBQ1YsVUFBVSxDQUFDNEMsZUFBZSxFQUFFTyxJQUFJLENBQUVhLGNBQWMsSUFBS0EsY0FBYyxDQUFDdEQsSUFBSSxLQUFLSSxTQUFTLENBQUNKLElBQUksQ0FBQyxJQUNqR0ksU0FBUyxFQUFFQyxXQUFXLEVBQUVDLEVBQUUsRUFBRXVDLHFCQUFxQixFQUFFckMsT0FBTyxDQUFDLENBQUM7UUFFOUQsQ0FBQyxDQUFDO01BQ0g7TUFFQSxPQUFPLElBQUk7SUFDWjs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FMQztJQUFBRyxNQUFBLENBTWNpQyxZQUFZLEdBQTFCLGVBQWNBLFlBQVlBLENBQ3pCeEMsU0FBNkIsRUFDN0J1QyxLQUFnQyxFQUNnQjtNQUNoRCxJQUFJQSxLQUFLLEtBQUtuRCxTQUFTLElBQUltRCxLQUFLLEtBQUssSUFBSSxFQUFFO1FBQzFDLE9BQU9BLEtBQUs7TUFDYjtNQUNBLE1BQU1ZLE9BQU8sR0FBRyxDQUFDLE1BQU1DLG1CQUFBLENBQU8sNkJBQTZCLENBQUMsRUFBRUMsT0FBTztNQUNyRSxNQUFNQyxhQUFhLEdBQUdILE9BQU8sQ0FBQ0ksV0FBVyxDQUFDdkQsU0FBUyxDQUFDd0QsSUFBSSxDQUFDO01BQ3pELE1BQU1DLFlBQVksR0FBR04sT0FBTyxDQUFDTyxtQkFBbUIsQ0FBQ0osYUFBYSxDQUFDO01BQy9ELE9BQU9HLFlBQVksQ0FBQ0UsVUFBVSxDQUFDcEIsS0FBSyxFQUFFLFFBQVEsQ0FBQztJQUNoRCxDQUFDO0lBQUEsT0FBQTFELG1CQUFBO0VBQUE7RUFBQXlCLFFBQUEsR0FBQXpCLG1CQUFBO0VBQUEsT0FBQXlCLFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -84,7 +84,7 @@ export default class OperationParameters {
84
84
  * @returns True if the parameter dialog is opened, otherwise false
85
85
  */
86
86
  public isParameterDialogOpened(): boolean {
87
- return this.parameterDialog?.getDialog()?.isOpen() ?? false;
87
+ return this.parameterDialog?.isOpen() ?? false;
88
88
  }
89
89
 
90
90
  /**
@@ -96,10 +96,10 @@ export default class OperationParameters {
96
96
 
97
97
  /**
98
98
  * Closes the state of the parameter dialog.
99
+ * @returns Promise that resolves when the dialog is closed
99
100
  */
100
- public closeParameterDialog(): void {
101
- this.parameterDialog?.getDialog()?.close();
102
- this.parameterDialog?.getDialog()?.destroy();
101
+ public async closeParameterDialog(): Promise<void> {
102
+ return this.parameterDialog?.closeDialog();
103
103
  }
104
104
 
105
105
  /**
@@ -109,28 +109,30 @@ export default class OperationParameters {
109
109
  public async getOperationParameters(): Promise<Record<string, PrimitiveType>> {
110
110
  // In case an action parameter is needed, and we shall skip the dialog, check if values are provided for all parameters
111
111
  if (this.isParameterDialogNeeded && !(this.skipParametersDialog && this.isMandatoryValuesProvided())) {
112
- this.parameterDialog = getCoreUIFactory().newOperationParameterDialog(
113
- this.convertedAction,
114
- {
115
- appComponent: this.appComponent,
116
- model: this.model,
117
- contexts: this.parameters.contexts,
118
- parametersValues: {},
119
- defaultValuesExtensionFunction: this.parameters.defaultValuesExtensionFunction,
120
- isCreateAction: this.parameters.isCreateAction,
121
- label: this.parameters.label,
122
- view: this.parameters.view,
123
- events: {
124
- onParameterDialogOpened: this.parameters.events?.onParameterDialogOpened,
125
- onParameterDialogClosed: this.parameters.events?.onParameterDialogClosed
126
- }
127
- },
128
- this.parameters.parameterValues,
129
- this.parameters.entitySetName,
130
- this.parameters.messageHandler
131
- );
132
- await this.parameterDialog.createDialog();
133
- this.parameterDialog.openDialog();
112
+ if (!this.parameterDialog) {
113
+ this.parameterDialog = getCoreUIFactory().newOperationParameterDialog(
114
+ this.convertedAction,
115
+ {
116
+ appComponent: this.appComponent,
117
+ model: this.model,
118
+ contexts: this.parameters.contexts,
119
+ parametersValues: {},
120
+ defaultValuesExtensionFunction: this.parameters.defaultValuesExtensionFunction,
121
+ isCreateAction: this.parameters.isCreateAction,
122
+ label: this.parameters.label,
123
+ view: this.parameters.view,
124
+ events: {
125
+ onParameterDialogOpened: this.parameters.events?.onParameterDialogOpened,
126
+ onParameterDialogClosed: this.parameters.events?.onParameterDialogClosed
127
+ }
128
+ },
129
+ this.parameters.parameterValues,
130
+ this.parameters.entitySetName,
131
+ this.parameters.messageHandler
132
+ );
133
+ await this.parameterDialog.createDialog();
134
+ this.parameterDialog.openDialog();
135
+ }
134
136
  return this.parameterDialog.waitForParametersValues();
135
137
  }
136
138
  // If the dialog is skipped, we need to set the default values for the parameters
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define([], function () {
6
6
  "use strict";