@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
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Konfiguracija
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Promjena rasporeda teksta
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Preimenuj
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Promjena oznaka
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Konfigur\u00E1ci\u00F3
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Sz\u00F6vegelrendez\u00E9s m\u00F3dos\u00EDt\u00E1sa
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=\u00C1tnevez\u00E9s
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=C\u00EDmk\u00E9k m\u00F3dos\u00EDt\u00E1sa
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Konfigurasi
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Ubah Susunan Teks
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Ganti Nama
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Ubah Label
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Configurazione
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Modifica disposizione del testo
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Rinomina
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Modifica etichette
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=\u05EA\u05E6\u05D5\u05E8\u05D4
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=\u05E9\u05E0\u05D4 \u05E1\u05D9\u05D3\u05D5\u05E8 \u05D8\u05E7\u05E1\u05D8
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=\u05E9\u05E0\u05D4 \u05E9\u05DD
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=\u05E9\u05E0\u05D4 \u05EA\u05D5\u05D5\u05D9\u05D5\u05EA
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=\u8A2D\u5B9A
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=\u30C6\u30AD\u30B9\u30C8\u914D\u7F6E\u306E\u5909\u66F4
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=\u540D\u524D\u306E\u5909\u66F4
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=\u30E9\u30D9\u30EB\u306E\u5909\u66F4
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=\u041C\u04D9\u0442\u0456\u043D \u043E\u0440\u043D\u0430\u043B\u0430\u0441\u0443\u044B\u043D \u04E9\u0437\u0433\u0435\u0440\u0442\u0443
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=\u0410\u0442\u044B\u043D \u04E9\u0437\u0433\u0435\u0440\u0442\u0443
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=\u0417\u0430\u0442\u0431\u0435\u043B\u0433\u0456\u043B\u0435\u0440\u0434\u0456 \u04E9\u0437\u0433\u0435\u0440\u0442\u0443
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=\uAD6C\uC131
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=\uD14D\uC2A4\uD2B8 \uBC30\uCE58 \uBCC0\uACBD
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=\uC774\uB984 \uBC14\uAFB8\uAE30
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=\uB808\uC774\uBE14 \uBCC0\uACBD
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Konfig\u016Bracija
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Keisti teksto i\u0161d\u0117stym\u0105
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Pervardyti
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Keisti etiketes
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Konfigur\u0101cija
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Main\u012Bt teksta izk\u0101rtojumu
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=P\u0101rd\u0113v\u0113t
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Main\u012Bt eti\u0137etes
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0458\u0430
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=\u0418\u0437\u043C\u0435\u043D\u0438 \u0433\u043E \u043F\u043E\u0434\u0440\u0435\u0434\u0443\u0432\u0430\u045A\u0435\u0442\u043E \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u043E\u0442
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=\u041F\u0440\u0435\u0438\u043C\u0435\u043D\u0443\u0432\u0430\u0458
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=\u041F\u0440\u043E\u043C\u0435\u043D\u0430 \u043D\u0430 \u0435\u0442\u0438\u043A\u0435\u0442\u0430\u0442\u0430
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Konfigurasi
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Ubah Susunan Teks
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Namakan Semula
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Ubah Label
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Configuratie
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Tekstindeling wijzigen
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Hernoemen
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Labels wijzigen
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Konfigurasjon
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Endre tekstplassering
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Endre navn
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Endre etiketter
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Konfiguracja
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Zmie\u0144 rozmieszczenie tekstu
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Zmie\u0144 nazw\u0119
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Zmie\u0144 etykiety
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Configura\u00E7\u00E3o
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Modificar disposi\u00E7\u00E3o de texto
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Renomear
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Modificar etiquetas
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Configura\u00E7\u00E3o
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Alterar disposi\u00E7\u00E3o do texto
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Mudar o nome
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Alterar etiquetas
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Configurare
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Modificare organizare text
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Redenumire
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Modificare etichete
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0443\u043F\u043E\u0440\u044F\u0434\u043E\u0447\u0438\u0432\u0430\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0430
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043C\u0435\u0442\u043A\u0438
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Konfiguracija
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Promeni raspored teksta
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Preimenuj
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Promeni etikete
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Konfigur\u00E1cia
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Zmeni\u0165 usporiadanie textu
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Premenova\u0165
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Zmeni\u0165 ozna\u010Denia
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Konfiguracija
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Sprememba razporeditve besedila
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Preimenovanje
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Sprememba oznak
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0458\u0430
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=\u041F\u0440\u043E\u043C\u0435\u043D\u0438 \u0440\u0430\u0441\u043F\u043E\u0440\u0435\u0434 \u0442\u0435\u043A\u0441\u0442\u0430
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=\u041F\u0440\u0435\u0438\u043C\u0435\u043D\u0443\u0458
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=\u041F\u0440\u043E\u043C\u0435\u043D\u0438 \u0435\u0442\u0438\u043A\u0435\u0442\u0435
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Konfiguration
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=\u00C4ndra textarrangemang
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Byt namn
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=\u00C4ndra etiketter
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=\u0E01\u0E32\u0E23\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07\u0E01\u0E32\u0E23\u0E08\u0E31\u0E14\u0E40\u0E23\u0E35\u0E22\u0E07\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E0A\u0E37\u0E48\u0E2D
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E41\u0E1B\u0E25\u0E07\u0E1B\u0E49\u0E32\u0E22\u0E0A\u0E37\u0E48\u0E2D
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=Konfig\u00FCrasyon
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Metin d\u00FCzenlemelerini de\u011Fi\u015Ftir
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=Yeniden adland\u0131r
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Etiketleri de\u011Fi\u015Ftir
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=\u041A\u043E\u043D\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044F
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0449\u0435\u043D\u043D\u044F \u0442\u0435\u043A\u0441\u0442\u0443
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=\u041F\u0435\u0440\u0435\u0439\u043C\u0435\u043D\u0443\u0432\u0430\u0442\u0438
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u043D\u0430\u0434\u043F\u0438\u0441\u0438
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=C\u00E2\u0301u hi\u0300nh
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=Thay \u0111\u1ED5i s\u1EAFp x\u1EBFp v\u0103n b\u1EA3n
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=\u0110\u00F4\u0309i t\u00EAn
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=Thay \u0111\u1ED5i nh\u00E3n
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=\u914D\u7F6E
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=\u66F4\u6539\u6587\u672C\u6392\u5217
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=\u91CD\u547D\u540D
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=\u66F4\u6539\u6807\u7B7E
@@ -0,0 +1,7 @@
1
+ RTA_CONTEXT_ACTIONMENU_CONFIG=\u7D44\u614B
2
+
3
+ RTA_CONTEXT_ACTIONMENU_TEXTARRANGE=\u66F4\u6539\u5167\u6587\u6392\u5217
4
+
5
+ RTA_CONTEXT_ACTIONMENU_RENAME=\u91CD\u65B0\u547D\u540D
6
+
7
+ RTA_CONTEXT_ACTIONMENU_CHANGELABELS=\u66F4\u6539\u6A19\u7C64
@@ -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/base/util/ObjectPath", "sap/fe/core/controllerextensions/collaboration/CollaborationCommon", "sap/ui/core/Lib"], function (ObjectPath, CollaborationCommon, Library) {
6
6
  "use strict";
@@ -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/base/util/ObjectPath"], function (ObjectPath) {
6
6
  "use strict";
@@ -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/base/util/ObjectPath", "sap/fe/core/helpers/FPMHelper"], function (ObjectPath, FPMHelper) {
6
6
  "use strict";
@@ -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/base/i18n/Localization", "sap/ui/core/Locale", "sap/ui/core/LocaleData"], function (Localization, Locale, LocaleData) {
6
6
  "use strict";
@@ -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/base/util/ObjectPath", "sap/ui/core/Lib"], function (ObjectPath, Library) {
6
6
  "use strict";
@@ -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/base/strings/formatMessage", "sap/base/util/ObjectPath", "sap/fe/base/BindingToolkit", "sap/fe/core/controls/Any"], function (ui5FormatMessage, ObjectPath, BindingToolkit, Any) {
6
6
  "use strict";
@@ -1,12 +1,22 @@
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/base/Log", "sap/base/strings/whitespaceReplacer", "sap/base/util/ObjectPath", "sap/fe/core/templating/SemanticObjectHelper", "sap/ui/core/IconPool", "sap/ui/core/Lib", "sap/ui/core/date/UI5Date", "sap/ui/core/format/DateFormat", "sap/ui/core/format/NumberFormat"], function (Log, whitespaceReplacer, ObjectPath, SemanticObjectHelper, IconPool, Library, UI5Date, DateFormat, NumberFormat) {
6
6
  "use strict";
7
7
 
8
8
  var _exports = {};
9
9
  var getReachableSemanticObjectsSettings = SemanticObjectHelper.getReachableSemanticObjectsSettings;
10
+ const calendarPatternMap = {
11
+ yyyy: /[1-9]\d{3,}|0\d{3}/,
12
+ Q: /[1-4]/,
13
+ MM: /0[1-9]|1[0-2]/,
14
+ ww: /0[1-9]|[1-4]\d|5[0-3]/,
15
+ yyyyMMdd: /(?:[1-9]\d{3}|0\d{3})(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])/,
16
+ yyyyMM: /(?:[1-9]\d{3}|0\d{3})(0[1-9]|1[0-2])/,
17
+ "yyyy-MM-dd": /(?:[1-9]\d{3}|0\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])/
18
+ };
19
+
10
20
  /**
11
21
  * Collection of table formatters.
12
22
  * @param this The context
@@ -14,16 +24,6 @@ sap.ui.define(["sap/base/Log", "sap/base/strings/whitespaceReplacer", "sap/base/
14
24
  * @param oArgs The inner function parameters
15
25
  * @returns The value from the inner function
16
26
  */
17
-
18
- const calendarPatternMap = {
19
- yyyy: /[1-9][\d]{3,}|0[\d]{3}/,
20
- Q: /[1-4]/,
21
- MM: /0[1-9]|1[0-2]/,
22
- ww: /0[1-9]|[1-4][\d]|5[0-3]/,
23
- yyyyMMdd: /([1-9][\d]{3,}|0[\d]{3})(0[1-9]|1[0-2])(0[1-9]|[12][\d]|3[01])/,
24
- yyyyMM: /([1-9][\d]{3,}|0[\d]{3})(0[1-9]|1[0-2])/,
25
- "yyyy-MM-dd": /([1-9][\d]{3,}|0[\d]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][\d]|3[01])/
26
- };
27
27
  const valueFormatters = function (sName) {
28
28
  if (valueFormatters.hasOwnProperty(sName)) {
29
29
  for (var _len = arguments.length, oArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
@@ -185,7 +185,21 @@ sap.ui.define(["sap/base/Log", "sap/base/strings/whitespaceReplacer", "sap/base/
185
185
  }
186
186
  };
187
187
  formatProgressIndicatorText.__functionName = "sap.fe.core.formatters.ValueFormatter#formatProgressIndicatorText";
188
+
189
+ /**
190
+ * Formats the text by replacing each character with a *.
191
+ * @param value The current text entered in the field.
192
+ * @returns A string of * characters equal to the length of the entered value.
193
+ */
188
194
  _exports.formatProgressIndicatorText = formatProgressIndicatorText;
195
+ const formatPasswordText = value => {
196
+ if (value?.length) {
197
+ return "*".repeat(value.length);
198
+ }
199
+ return undefined;
200
+ };
201
+ formatPasswordText.__functionName = "sap.fe.core.formatters.ValueFormatter#formatPasswordText";
202
+ _exports.formatPasswordText = formatPasswordText;
189
203
  const formatToKeepWhitespace = value => {
190
204
  return value === null || value === undefined ? "" : whitespaceReplacer(value + "");
191
205
  };
@@ -250,6 +264,7 @@ sap.ui.define(["sap/base/Log", "sap/base/strings/whitespaceReplacer", "sap/base/
250
264
  valueFormatters.formatCriticalityButtonType = formatCriticalityButtonType;
251
265
  valueFormatters.formatCriticalityColorMicroChart = formatCriticalityColorMicroChart;
252
266
  valueFormatters.formatProgressIndicatorText = formatProgressIndicatorText;
267
+ valueFormatters.formatPasswordText = formatPasswordText;
253
268
  valueFormatters.formatToKeepWhitespace = formatToKeepWhitespace;
254
269
  valueFormatters.formatStringDimension = formatStringDimension;
255
270
  valueFormatters.getIconForMimeType = getIconForMimeType;
@@ -257,4 +272,4 @@ sap.ui.define(["sap/base/Log", "sap/base/strings/whitespaceReplacer", "sap/base/
257
272
  ObjectPath.set("sap.fe.core.formatters.ValueFormatter", valueFormatters);
258
273
  return valueFormatters;
259
274
  }, false);
260
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYWxlbmRhclBhdHRlcm5NYXAiLCJ5eXl5IiwiUSIsIk1NIiwid3ciLCJ5eXl5TU1kZCIsInl5eXlNTSIsInZhbHVlRm9ybWF0dGVycyIsInNOYW1lIiwiaGFzT3duUHJvcGVydHkiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwib0FyZ3MiLCJBcnJheSIsIl9rZXkiLCJhcHBseSIsImZvcm1hdFdpdGhCcmFja2V0cyIsImZpcnN0UGFydCIsInNlY29uZFBhcnQiLCJyZXNvdXJjZUJ1bmRsZSIsIkxpYnJhcnkiLCJnZXRSZXNvdXJjZUJ1bmRsZUZvciIsImdldFRleHQiLCJfX2Z1bmN0aW9uTmFtZSIsImZvcm1hdFN0cmluZ0RpbWVuc2lvbiIsInZhbHVlIiwicGF0dGVybiIsInByb3BlcnR5UGF0aCIsIm1hdGNoZWRWYWx1ZSIsInRvU3RyaW5nIiwibWF0Y2giLCJkYXRlIiwidmFsdWUxIiwiRGF0ZUZvcm1hdCIsImdldERhdGVJbnN0YW5jZSIsInBhcnNlIiwiRGF0ZSIsImdldFRpbWUiLCJMb2ciLCJ3YXJuaW5nIiwiZm9ybWF0VGl0bGUiLCJ3aGl0ZXNwYWNlUmVwbGFjZXIiLCJmb3JtYXRXaXRoUGVyY2VudGFnZSIsInNWYWx1ZSIsInVuZGVmaW5lZCIsImNvbXB1dGVQZXJjZW50YWdlIiwidGFyZ2V0Iiwic1VuaXQiLCJzUGVyY2VudFN0cmluZyIsImlWYWx1ZSIsInBhcnNlRmxvYXQiLCJpVGFyZ2V0IiwiZm9ybWF0Q3JpdGljYWxpdHlWYWx1ZVN0YXRlIiwidmFsIiwic1ZhbHVlU3RhdGUiLCJfZXhwb3J0cyIsImZvcm1hdENyaXRpY2FsaXR5QnV0dG9uVHlwZSIsInNUeXBlIiwiZm9ybWF0Q3JpdGljYWxpdHlDb2xvck1pY3JvQ2hhcnQiLCJzQ29sb3IiLCJmb3JtYXRQcm9ncmVzc0luZGljYXRvclRleHQiLCJ1bml0IiwiaXNDdXJyZW5jeSIsImN1c3RvbVVuaXRzIiwidW5pdFNwbGl0Iiwic3BsaXQiLCJzZWFyY2hVbml0IiwiZGF0ZUZvcm1hdCIsImxvY2FsZURhdGEiLCJvTG9jYWxlRGF0YSIsIm1EYXRhIiwib1Jlc291cmNlTW9kZWwiLCJ1bml0RGlzcGxheWVkIiwiZGF0ZUZpZWxkcyIsImRpc3BsYXlOYW1lIiwidW5pdHMiLCJzaG9ydCIsImZvcm1hdHRlciIsIk51bWJlckZvcm1hdCIsImdldEN1cnJlbmN5SW5zdGFuY2UiLCJjdXN0b21DdXJyZW5jaWVzIiwic2hvd01lYXN1cmUiLCJnZXRVbml0SW5zdGFuY2UiLCJkaXNwbGF5VmFsdWUiLCJmb3JtYXQiLCJkaXNwbGF5VGFyZ2V0IiwiZm9ybWF0VG9LZWVwV2hpdGVzcGFjZSIsInByb3ZpZGVEYXRlSW5zdGFuY2UiLCJpc0RhdGVWYWxpZCIsImlzTmFOIiwiVUk1RGF0ZSIsImdldEluc3RhbmNlIiwiaGFzU2VtYW50aWNPYmplY3RzIiwiX2xlbjIiLCJzZW1hbnRpY09iamVjdHMiLCJfa2V5MiIsImN1cnJlbnRVc2VyU2VtYW50aWNPYmplY3RzTGlzdCIsImR5bmFtaWNTZW1hbnRpY09iamVjdHNSZXNvbHZlZCIsImkiLCJwdXNoIiwiZ2V0UmVhY2hhYmxlU2VtYW50aWNPYmplY3RzU2V0dGluZ3MiLCJzZW1hbnRpY09iamVjdHNMaXN0Iiwic2VtYW50aWNPYmplY3RzRXhwcmVzc2lvbkxpc3QiLCJxdWFsaWZpZXJNYXAiLCJoYXNSZWFjaGFibGVTdGF0aWNTZW1hbnRpY09iamVjdCIsInJlcGxhY2VXaGl0ZXNwYWNlIiwiZ2V0SWNvbkZvck1pbWVUeXBlIiwibWltZVR5cGUiLCJJY29uUG9vbCIsIk9iamVjdFBhdGgiLCJzZXQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlZhbHVlRm9ybWF0dGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHdoaXRlc3BhY2VSZXBsYWNlciBmcm9tIFwic2FwL2Jhc2Uvc3RyaW5ncy93aGl0ZXNwYWNlUmVwbGFjZXJcIjtcbmltcG9ydCBPYmplY3RQYXRoIGZyb20gXCJzYXAvYmFzZS91dGlsL09iamVjdFBhdGhcIjtcbmltcG9ydCB7IGdldFJlYWNoYWJsZVNlbWFudGljT2JqZWN0c1NldHRpbmdzIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvU2VtYW50aWNPYmplY3RIZWxwZXJcIjtcbmltcG9ydCBJY29uUG9vbCBmcm9tIFwic2FwL3VpL2NvcmUvSWNvblBvb2xcIjtcbmltcG9ydCBMaWJyYXJ5IGZyb20gXCJzYXAvdWkvY29yZS9MaWJcIjtcbmltcG9ydCBVSTVEYXRlIGZyb20gXCJzYXAvdWkvY29yZS9kYXRlL1VJNURhdGVcIjtcbmltcG9ydCBEYXRlRm9ybWF0IGZyb20gXCJzYXAvdWkvY29yZS9mb3JtYXQvRGF0ZUZvcm1hdFwiO1xuaW1wb3J0IE51bWJlckZvcm1hdCBmcm9tIFwic2FwL3VpL2NvcmUvZm9ybWF0L051bWJlckZvcm1hdFwiO1xuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIHRhYmxlIGZvcm1hdHRlcnMuXG4gKiBAcGFyYW0gdGhpcyBUaGUgY29udGV4dFxuICogQHBhcmFtIHNOYW1lIFRoZSBpbm5lciBmdW5jdGlvbiBuYW1lXG4gKiBAcGFyYW0gb0FyZ3MgVGhlIGlubmVyIGZ1bmN0aW9uIHBhcmFtZXRlcnNcbiAqIEByZXR1cm5zIFRoZSB2YWx1ZSBmcm9tIHRoZSBpbm5lciBmdW5jdGlvblxuICovXG5cbmNvbnN0IGNhbGVuZGFyUGF0dGVybk1hcDogeyBba2V5OiBzdHJpbmddOiBSZWdFeHAgfSA9IHtcblx0eXl5eTogL1sxLTldW1xcZF17Myx9fDBbXFxkXXszfS8sXG5cdFE6IC9bMS00XS8sXG5cdE1NOiAvMFsxLTldfDFbMC0yXS8sXG5cdHd3OiAvMFsxLTldfFsxLTRdW1xcZF18NVswLTNdLyxcblx0eXl5eU1NZGQ6IC8oWzEtOV1bXFxkXXszLH18MFtcXGRdezN9KSgwWzEtOV18MVswLTJdKSgwWzEtOV18WzEyXVtcXGRdfDNbMDFdKS8sXG5cdHl5eXlNTTogLyhbMS05XVtcXGRdezMsfXwwW1xcZF17M30pKDBbMS05XXwxWzAtMl0pLyxcblx0XCJ5eXl5LU1NLWRkXCI6IC8oWzEtOV1bXFxkXXszLH18MFtcXGRdezN9KS0oMFsxLTldfDFbMC0yXSktKDBbMS05XXxbMTJdW1xcZF18M1swMV0pL1xufTtcbmNvbnN0IHZhbHVlRm9ybWF0dGVycyA9IGZ1bmN0aW9uICh0aGlzOiBvYmplY3QsIHNOYW1lOiBzdHJpbmcsIC4uLm9BcmdzOiB1bmtub3duW10pOiB1bmtub3duIHtcblx0aWYgKHZhbHVlRm9ybWF0dGVycy5oYXNPd25Qcm9wZXJ0eShzTmFtZSkpIHtcblx0XHRyZXR1cm4gKHZhbHVlRm9ybWF0dGVycyBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIEZ1bmN0aW9uPilbc05hbWVdLmFwcGx5KHRoaXMsIG9BcmdzKTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gXCJcIjtcblx0fVxufTtcblxuY29uc3QgZm9ybWF0V2l0aEJyYWNrZXRzID0gKGZpcnN0UGFydD86IHN0cmluZywgc2Vjb25kUGFydD86IHN0cmluZyk6IHN0cmluZyA9PiB7XG5cdGlmIChmaXJzdFBhcnQgJiYgc2Vjb25kUGFydCkge1xuXHRcdGNvbnN0IHJlc291cmNlQnVuZGxlID0gTGlicmFyeS5nZXRSZXNvdXJjZUJ1bmRsZUZvcihcInNhcC5mZS5jb3JlXCIpITtcblx0XHRyZXR1cm4gcmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIkNfRk9STUFUX0ZPUl9URVhUX0FSUkFOR0VNRU5UXCIsIFtmaXJzdFBhcnQsIHNlY29uZFBhcnRdKTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gZmlyc3RQYXJ0IHx8IHNlY29uZFBhcnQgfHwgXCJcIjtcblx0fVxufTtcbmZvcm1hdFdpdGhCcmFja2V0cy5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNmb3JtYXRXaXRoQnJhY2tldHNcIjtcblxuY29uc3QgZm9ybWF0U3RyaW5nRGltZW5zaW9uID0gKHZhbHVlOiB1bmtub3duLCBwYXR0ZXJuOiBzdHJpbmcsIHByb3BlcnR5UGF0aDogc3RyaW5nKTogbnVtYmVyID0+IHtcblx0aWYgKHBhdHRlcm4gaW4gY2FsZW5kYXJQYXR0ZXJuTWFwKSB7XG5cdFx0Y29uc3QgbWF0Y2hlZFZhbHVlID0gdmFsdWU/LnRvU3RyaW5nKCkubWF0Y2goY2FsZW5kYXJQYXR0ZXJuTWFwW3BhdHRlcm5dKTtcblx0XHRpZiAobWF0Y2hlZFZhbHVlICYmIG1hdGNoZWRWYWx1ZT8ubGVuZ3RoKSB7XG5cdFx0XHRjb25zdCBkYXRlID0gbWF0Y2hlZFZhbHVlWzBdO1xuXHRcdFx0Y29uc3QgdmFsdWUxID0gRGF0ZUZvcm1hdC5nZXREYXRlSW5zdGFuY2UoeyBwYXR0ZXJuIH0pLnBhcnNlKGRhdGUsIGZhbHNlLCB0cnVlKTtcblx0XHRcdGlmICh2YWx1ZTEgaW5zdGFuY2VvZiBEYXRlKSB7XG5cdFx0XHRcdHJldHVybiB2YWx1ZTEuZ2V0VGltZSgpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0TG9nLndhcm5pbmcoXCJEYXRlIHZhbHVlIGNvdWxkIG5vdCBiZSBkZXRlcm1pbmVkIGZvciBcIiArIHByb3BlcnR5UGF0aCk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gMDtcblx0XHR9XG5cdH1cblx0TG9nLndhcm5pbmcoXCJQYXR0ZXJuIG5vdCBzdXBwb3J0ZWQgZm9yIFwiICsgcHJvcGVydHlQYXRoKTtcblx0cmV0dXJuIDA7XG59O1xuZm9ybWF0U3RyaW5nRGltZW5zaW9uLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI2Zvcm1hdFN0cmluZ0RpbWVuc2lvblwiO1xuXG5jb25zdCBmb3JtYXRUaXRsZSA9IChmaXJzdFBhcnQ/OiBzdHJpbmcsIHNlY29uZFBhcnQ/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuXHRyZXR1cm4gc2Vjb25kUGFydCA/IGZvcm1hdFdpdGhCcmFja2V0cyh3aGl0ZXNwYWNlUmVwbGFjZXIoZmlyc3RQYXJ0KSwgd2hpdGVzcGFjZVJlcGxhY2VyKHNlY29uZFBhcnQpKSA6IHdoaXRlc3BhY2VSZXBsYWNlcihmaXJzdFBhcnQpO1xufTtcbmZvcm1hdFRpdGxlLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI2Zvcm1hdFRpdGxlXCI7XG5cbmNvbnN0IGZvcm1hdFdpdGhQZXJjZW50YWdlID0gKHNWYWx1ZT86IHN0cmluZyk6IHN0cmluZyA9PiB7XG5cdHJldHVybiBzVmFsdWUgIT09IG51bGwgJiYgc1ZhbHVlICE9PSB1bmRlZmluZWQgPyBgJHtzVmFsdWV9ICVgIDogXCJcIjtcbn07XG5mb3JtYXRXaXRoUGVyY2VudGFnZS5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNmb3JtYXRXaXRoUGVyY2VudGFnZVwiO1xuXG5jb25zdCBjb21wdXRlUGVyY2VudGFnZSA9ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyLCB0YXJnZXQ6IHN0cmluZyB8IG51bWJlciwgc1VuaXQ/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRsZXQgc1BlcmNlbnRTdHJpbmc6IHN0cmluZztcblx0Ly9CQ1A6IDIzNzAwMDg1NDggSWYgdGhlIGJhc2UgdmFsdWUgaXMgdW5kZWZpbmVkIHJldHVybiBcIjBcIiBieSBkZWZhdWx0XG5cdGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIFwiMFwiO1xuXHR9XG5cblx0Y29uc3QgaVZhbHVlOiBudW1iZXIgPSB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgPyBwYXJzZUZsb2F0KHZhbHVlKSA6IHZhbHVlO1xuXHRjb25zdCBpVGFyZ2V0OiBudW1iZXIgPSB0eXBlb2YgdGFyZ2V0ID09PSBcInN0cmluZ1wiID8gcGFyc2VGbG9hdCh0YXJnZXQpIDogdGFyZ2V0O1xuXG5cdGlmIChzVW5pdCA9PT0gXCIlXCIpIHtcblx0XHRpZiAoaVZhbHVlID4gMTAwKSB7XG5cdFx0XHRzUGVyY2VudFN0cmluZyA9IFwiMTAwXCI7XG5cdFx0fSBlbHNlIGlmIChpVmFsdWUgPD0gMCkge1xuXHRcdFx0c1BlcmNlbnRTdHJpbmcgPSBcIjBcIjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c1BlcmNlbnRTdHJpbmcgPSB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgPyB2YWx1ZSA6IHZhbHVlPy50b1N0cmluZygpO1xuXHRcdH1cblx0fSBlbHNlIGlmIChpVmFsdWUgPiBpVGFyZ2V0KSB7XG5cdFx0c1BlcmNlbnRTdHJpbmcgPSBcIjEwMFwiO1xuXHR9IGVsc2UgaWYgKGlWYWx1ZSA8PSAwKSB7XG5cdFx0c1BlcmNlbnRTdHJpbmcgPSBcIjBcIjtcblx0fSBlbHNlIHtcblx0XHRzUGVyY2VudFN0cmluZyA9IGlWYWx1ZSAmJiBpVGFyZ2V0ID8gKChpVmFsdWUgLyBpVGFyZ2V0KSAqIDEwMCkudG9TdHJpbmcoKSA6IFwiMFwiO1xuXHR9XG5cdHJldHVybiBzUGVyY2VudFN0cmluZztcbn07XG5jb21wdXRlUGVyY2VudGFnZS5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNjb21wdXRlUGVyY2VudGFnZVwiO1xuXG5leHBvcnQgY29uc3QgZm9ybWF0Q3JpdGljYWxpdHlWYWx1ZVN0YXRlID0gKHZhbD86IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGxldCBzVmFsdWVTdGF0ZTogc3RyaW5nO1xuXHRpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9OZWdhdGl2ZVwiIHx8IHZhbCA9PT0gXCIxXCIgfHwgdmFsID09PSAxKSB7XG5cdFx0c1ZhbHVlU3RhdGUgPSBcIkVycm9yXCI7XG5cdH0gZWxzZSBpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9Dcml0aWNhbFwiIHx8IHZhbCA9PT0gXCIyXCIgfHwgdmFsID09PSAyKSB7XG5cdFx0c1ZhbHVlU3RhdGUgPSBcIldhcm5pbmdcIjtcblx0fSBlbHNlIGlmICh2YWwgPT09IFwiVUkuQ3JpdGljYWxpdHlUeXBlL1Bvc2l0aXZlXCIgfHwgdmFsID09PSBcIjNcIiB8fCB2YWwgPT09IDMpIHtcblx0XHRzVmFsdWVTdGF0ZSA9IFwiU3VjY2Vzc1wiO1xuXHR9IGVsc2UgaWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvSW5mb3JtYXRpb25cIiB8fCB2YWwgPT09IFwiNVwiIHx8IHZhbCA9PT0gNSkge1xuXHRcdHNWYWx1ZVN0YXRlID0gXCJJbmZvcm1hdGlvblwiO1xuXHR9IGVsc2Uge1xuXHRcdHNWYWx1ZVN0YXRlID0gXCJOb25lXCI7XG5cdH1cblx0cmV0dXJuIHNWYWx1ZVN0YXRlO1xufTtcbmZvcm1hdENyaXRpY2FsaXR5VmFsdWVTdGF0ZS5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNmb3JtYXRDcml0aWNhbGl0eVZhbHVlU3RhdGVcIjtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdENyaXRpY2FsaXR5QnV0dG9uVHlwZSA9ICh2YWw/OiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRsZXQgc1R5cGU6IHN0cmluZztcblx0aWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvTmVnYXRpdmVcIiB8fCB2YWwgPT09IFwiMVwiIHx8IHZhbCA9PT0gMSkge1xuXHRcdHNUeXBlID0gXCJSZWplY3RcIjtcblx0fSBlbHNlIGlmICh2YWwgPT09IFwiVUkuQ3JpdGljYWxpdHlUeXBlL1Bvc2l0aXZlXCIgfHwgdmFsID09PSBcIjNcIiB8fCB2YWwgPT09IDMpIHtcblx0XHRzVHlwZSA9IFwiQWNjZXB0XCI7XG5cdH0gZWxzZSB7XG5cdFx0c1R5cGUgPSBcIkRlZmF1bHRcIjtcblx0fVxuXHRyZXR1cm4gc1R5cGU7XG59O1xuZm9ybWF0Q3JpdGljYWxpdHlCdXR0b25UeXBlLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI2Zvcm1hdENyaXRpY2FsaXR5QnV0dG9uVHlwZVwiO1xuXG5leHBvcnQgY29uc3QgZm9ybWF0Q3JpdGljYWxpdHlDb2xvck1pY3JvQ2hhcnQgPSAodmFsPzogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0bGV0IHNDb2xvcjogc3RyaW5nO1xuXHRpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9OZWdhdGl2ZVwiIHx8IHZhbCA9PT0gXCIxXCIgfHwgdmFsID09PSAxKSB7XG5cdFx0c0NvbG9yID0gXCJFcnJvclwiO1xuXHR9IGVsc2UgaWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvQ3JpdGljYWxcIiB8fCB2YWwgPT09IFwiMlwiIHx8IHZhbCA9PT0gMikge1xuXHRcdHNDb2xvciA9IFwiQ3JpdGljYWxcIjtcblx0fSBlbHNlIGlmICh2YWwgPT09IFwiVUkuQ3JpdGljYWxpdHlUeXBlL1Bvc2l0aXZlXCIgfHwgdmFsID09PSBcIjNcIiB8fCB2YWwgPT09IDMpIHtcblx0XHRzQ29sb3IgPSBcIkdvb2RcIjtcblx0fSBlbHNlIHtcblx0XHRzQ29sb3IgPSBcIk5ldXRyYWxcIjtcblx0fVxuXHRyZXR1cm4gc0NvbG9yO1xufTtcbmZvcm1hdENyaXRpY2FsaXR5Q29sb3JNaWNyb0NoYXJ0Ll9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI2Zvcm1hdENyaXRpY2FsaXR5Q29sb3JNaWNyb0NoYXJ0XCI7XG5cbi8qKlxuICogRm9ybWF0cyB0aGUgdGV4dCB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHByb2dyZXNzIGluZGljYXRvci4gVGFrZXMgaW50byBhY2NvdW50IHRoZSBkZWNpbWFscyBhbmQgcHJlY2lzaW9uIG9mIHRoZSB1bml0LlxuICogQHBhcmFtIHZhbHVlIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3JcbiAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldCB2YWx1ZSBmbyB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yXG4gKiBAcGFyYW0gdW5pdCBUaGUgdW5pdCBvZiB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yXG4gKiBAcGFyYW0gaXNDdXJyZW5jeSBXaGV0aGVyIHdlIGhhdmUgYSBjdXJyZW5jeSBvciBhIHVvbVxuICogQHBhcmFtIGN1c3RvbVVuaXRzIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBjdXN0b20gdW5pdHMgb2YgdGhlIGFwcGxpY2F0aW9uXG4gKiBAcGFyYW0gY3VzdG9tVW5pdHMuY3VzdG9tQ3VycmVuY2llc1xuICogQHBhcmFtIGN1c3RvbVVuaXRzLnNob3dNZWFzdXJlXG4gKiBAcmV0dXJucyBUaGUgdHJhbnNsYXRlZCBhbmQgZm9ybWF0dGVkIHRleHQgb2YgdGhlIHByb2dyZXNzIGluZGljYXRvclxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0ID0gKFxuXHR2YWx1ZTogc3RyaW5nIHwgbnVtYmVyLFxuXHR0YXJnZXQ6IHN0cmluZyB8IG51bWJlcixcblx0dW5pdDogc3RyaW5nLFxuXHRpc0N1cnJlbmN5OiBib29sZWFuLFxuXHRjdXN0b21Vbml0cz86IFJlY29yZDxzdHJpbmcsIG9iamVjdD5cbik6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGlmICh2YWx1ZSAmJiB0YXJnZXQgJiYgdW5pdCkge1xuXHRcdGNvbnN0IHVuaXRTcGxpdCA9IHVuaXQuc3BsaXQoXCItXCIpO1xuXHRcdGNvbnN0IHNlYXJjaFVuaXQgPSBgJHt1bml0U3BsaXRbMV0gPT09IHVuZGVmaW5lZCA/IHVuaXQgOiB1bml0U3BsaXRbMV19LW5hcnJvd2A7XG5cdFx0Y29uc3QgZGF0ZUZvcm1hdCA9IERhdGVGb3JtYXQuZ2V0RGF0ZUluc3RhbmNlKCk7XG5cdFx0Y29uc3QgbG9jYWxlRGF0YSA9IChcblx0XHRcdGRhdGVGb3JtYXQgYXMgRGF0ZUZvcm1hdCAmIHtcblx0XHRcdFx0b0xvY2FsZURhdGE6IHtcblx0XHRcdFx0XHRtRGF0YToge1xuXHRcdFx0XHRcdFx0dW5pdHM/OiB7IHNob3J0OiBSZWNvcmQ8c3RyaW5nLCB7IGRpc3BsYXlOYW1lPzogc3RyaW5nIH0+IH07XG5cdFx0XHRcdFx0XHRkYXRlRmllbGRzOiBSZWNvcmQ8c3RyaW5nLCB7IGRpc3BsYXlOYW1lPzogc3RyaW5nIH0+O1xuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH07XG5cdFx0XHR9XG5cdFx0KS5vTG9jYWxlRGF0YS5tRGF0YTtcblx0XHRjb25zdCBvUmVzb3VyY2VNb2RlbCA9IExpYnJhcnkuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUubWFjcm9zXCIpITtcblx0XHRsZXQgdW5pdERpc3BsYXllZCA9IHVuaXQ7XG5cdFx0aWYgKGxvY2FsZURhdGE/LmRhdGVGaWVsZHNbc2VhcmNoVW5pdF0/LmRpc3BsYXlOYW1lKSB7XG5cdFx0XHR1bml0RGlzcGxheWVkID0gbG9jYWxlRGF0YS5kYXRlRmllbGRzW3NlYXJjaFVuaXRdLmRpc3BsYXlOYW1lITtcblx0XHR9IGVsc2UgaWYgKGxvY2FsZURhdGE/LnVuaXRzPy5zaG9ydFt1bml0XT8uZGlzcGxheU5hbWUpIHtcblx0XHRcdHVuaXREaXNwbGF5ZWQgPSBsb2NhbGVEYXRhLnVuaXRzLnNob3J0W3VuaXRdLmRpc3BsYXlOYW1lITtcblx0XHR9XG5cblx0XHRsZXQgZm9ybWF0dGVyO1xuXHRcdGlmIChpc0N1cnJlbmN5KSB7XG5cdFx0XHRmb3JtYXR0ZXIgPSBOdW1iZXJGb3JtYXQuZ2V0Q3VycmVuY3lJbnN0YW5jZSh7XG5cdFx0XHRcdGN1c3RvbUN1cnJlbmNpZXM6IGN1c3RvbVVuaXRzLFxuXHRcdFx0XHRzaG93TWVhc3VyZTogZmFsc2Vcblx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRmb3JtYXR0ZXIgPSBOdW1iZXJGb3JtYXQuZ2V0VW5pdEluc3RhbmNlKHtcblx0XHRcdFx0Y3VzdG9tVW5pdHM6IGN1c3RvbVVuaXRzLFxuXHRcdFx0XHRzaG93TWVhc3VyZTogZmFsc2Vcblx0XHRcdH0pO1xuXHRcdH1cblx0XHRjb25zdCBkaXNwbGF5VmFsdWUgPSBmb3JtYXR0ZXIuZm9ybWF0KCt2YWx1ZSwgdW5pdERpc3BsYXllZCk7XG5cdFx0Y29uc3QgZGlzcGxheVRhcmdldCA9IGZvcm1hdHRlci5mb3JtYXQoK3RhcmdldCwgdW5pdERpc3BsYXllZCk7XG5cblx0XHRyZXR1cm4gb1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlRfQ09NTU9OX1BST0dSRVNTX0lORElDQVRPUl9ESVNQTEFZX1ZBTFVFX1dJVEhfVU9NXCIsIFtkaXNwbGF5VmFsdWUsIGRpc3BsYXlUYXJnZXQsIHVuaXREaXNwbGF5ZWRdKTtcblx0fVxufTtcbmZvcm1hdFByb2dyZXNzSW5kaWNhdG9yVGV4dC5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNmb3JtYXRQcm9ncmVzc0luZGljYXRvclRleHRcIjtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFRvS2VlcFdoaXRlc3BhY2UgPSAodmFsdWU6IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIpOiBzdHJpbmcgPT4ge1xuXHRyZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCA/IFwiXCIgOiB3aGl0ZXNwYWNlUmVwbGFjZXIodmFsdWUgKyBcIlwiKTtcbn07XG5mb3JtYXRUb0tlZXBXaGl0ZXNwYWNlLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI2Zvcm1hdFRvS2VlcFdoaXRlc3BhY2VcIjtcblxuZnVuY3Rpb24gcHJvdmlkZURhdGVJbnN0YW5jZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSk6IERhdGUgfCBudWxsIHtcblx0aWYgKHZhbHVlKSB7XG5cdFx0Y29uc3QgaXNEYXRlVmFsaWQgPSBuZXcgRGF0ZSh2YWx1ZSk7XG5cdFx0aWYgKCFpc05hTihEYXRlLnBhcnNlKGlzRGF0ZVZhbGlkIGFzIHVua25vd24gYXMgc3RyaW5nKSkpIHtcblx0XHRcdHJldHVybiBVSTVEYXRlLmdldEluc3RhbmNlKHZhbHVlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0TG9nLndhcm5pbmcoXCJXYXJuaW5nOiBWYWxpZCBkYXRlIGZvcm1hdCBoYXMgdG8gYmUgc2VudCB0byByZXRyaWV2ZSBVSTUgZGF0ZSBpbnN0YW5jZVwiKTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIG51bGw7XG59XG5wcm92aWRlRGF0ZUluc3RhbmNlLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI3Byb3ZpZGVEYXRlSW5zdGFuY2VcIjtcblxuLyoqXG4gKiBGb3JtYXQgdGhlIHNlbWFudGljIG9iamVjdHMgYXZhaWxhYmxlIHRvIHVzZXIuXG4gKiBAcGFyYW0gc2VtYW50aWNPYmplY3RzIFRoZSBzZW1hbnRpYyBvYmplY3RzIGZyb20gc2hlbGwgc2VydmljZXMgYW5kIHRoZSBkeW5hbWljIHNlbWFudGljIG9iamVjdHMgcmVzb2x2ZWRcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHVzZXIgaGFzIHNlbWFudGljIG9iamVjdHMgdG8gbmF2aWdhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1NlbWFudGljT2JqZWN0cyA9IGZ1bmN0aW9uICguLi5zZW1hbnRpY09iamVjdHM6IHVua25vd25bXSk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuXHRjb25zdCBjdXJyZW50VXNlclNlbWFudGljT2JqZWN0c0xpc3QgPSBzZW1hbnRpY09iamVjdHNbMF07XG5cdGNvbnN0IGR5bmFtaWNTZW1hbnRpY09iamVjdHNSZXNvbHZlZDogc3RyaW5nW10gPSBbXTtcblx0Zm9yIChsZXQgaSA9IDE7IGkgPCBzZW1hbnRpY09iamVjdHMubGVuZ3RoOyBpKyspIHtcblx0XHRpZiAoc2VtYW50aWNPYmplY3RzW2ldKSB7XG5cdFx0XHRkeW5hbWljU2VtYW50aWNPYmplY3RzUmVzb2x2ZWQucHVzaChzZW1hbnRpY09iamVjdHNbaV0gYXMgc3RyaW5nKTtcblx0XHR9XG5cdH1cblx0aWYgKGR5bmFtaWNTZW1hbnRpY09iamVjdHNSZXNvbHZlZC5sZW5ndGggPiAwKSB7XG5cdFx0cmV0dXJuIGdldFJlYWNoYWJsZVNlbWFudGljT2JqZWN0c1NldHRpbmdzKGN1cnJlbnRVc2VyU2VtYW50aWNPYmplY3RzTGlzdCBhcyBzdHJpbmdbXSwge1xuXHRcdFx0c2VtYW50aWNPYmplY3RzTGlzdDogZHluYW1pY1NlbWFudGljT2JqZWN0c1Jlc29sdmVkLFxuXHRcdFx0c2VtYW50aWNPYmplY3RzRXhwcmVzc2lvbkxpc3Q6IFtdLFxuXHRcdFx0cXVhbGlmaWVyTWFwOiB7fVxuXHRcdH0pLmhhc1JlYWNoYWJsZVN0YXRpY1NlbWFudGljT2JqZWN0O1xuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59O1xuaGFzU2VtYW50aWNPYmplY3RzLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI2hhc1NlbWFudGljT2JqZWN0c1wiO1xuZXhwb3J0IGNvbnN0IHJlcGxhY2VXaGl0ZXNwYWNlID0gZnVuY3Rpb24gKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRyZXR1cm4gd2hpdGVzcGFjZVJlcGxhY2VyKHZhbHVlKTtcbn07XG5yZXBsYWNlV2hpdGVzcGFjZS5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNyZXBsYWNlV2hpdGVzcGFjZVwiO1xuXG5jb25zdCBnZXRJY29uRm9yTWltZVR5cGUgPSBmdW5jdGlvbiAobWltZVR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG5cdHJldHVybiBJY29uUG9vbC5nZXRJY29uRm9yTWltZVR5cGUobWltZVR5cGUpO1xufTtcbmdldEljb25Gb3JNaW1lVHlwZS5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5TdGFuZGFyZEZvcm1hdHRlciNnZXRJY29uRm9yTWltZVR5cGVcIjtcblxuXG52YWx1ZUZvcm1hdHRlcnMuaGFzU2VtYW50aWNPYmplY3RzID0gaGFzU2VtYW50aWNPYmplY3RzO1xudmFsdWVGb3JtYXR0ZXJzLmZvcm1hdFdpdGhCcmFja2V0cyA9IGZvcm1hdFdpdGhCcmFja2V0cztcbnZhbHVlRm9ybWF0dGVycy5mb3JtYXRUaXRsZSA9IGZvcm1hdFRpdGxlO1xudmFsdWVGb3JtYXR0ZXJzLnByb3ZpZGVEYXRlSW5zdGFuY2UgPSBwcm92aWRlRGF0ZUluc3RhbmNlO1xudmFsdWVGb3JtYXR0ZXJzLmZvcm1hdFdpdGhQZXJjZW50YWdlID0gZm9ybWF0V2l0aFBlcmNlbnRhZ2U7XG52YWx1ZUZvcm1hdHRlcnMuY29tcHV0ZVBlcmNlbnRhZ2UgPSBjb21wdXRlUGVyY2VudGFnZTtcbnZhbHVlRm9ybWF0dGVycy5mb3JtYXRDcml0aWNhbGl0eVZhbHVlU3RhdGUgPSBmb3JtYXRDcml0aWNhbGl0eVZhbHVlU3RhdGU7XG52YWx1ZUZvcm1hdHRlcnMuZm9ybWF0Q3JpdGljYWxpdHlCdXR0b25UeXBlID0gZm9ybWF0Q3JpdGljYWxpdHlCdXR0b25UeXBlO1xudmFsdWVGb3JtYXR0ZXJzLmZvcm1hdENyaXRpY2FsaXR5Q29sb3JNaWNyb0NoYXJ0ID0gZm9ybWF0Q3JpdGljYWxpdHlDb2xvck1pY3JvQ2hhcnQ7XG52YWx1ZUZvcm1hdHRlcnMuZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0ID0gZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0O1xudmFsdWVGb3JtYXR0ZXJzLmZvcm1hdFRvS2VlcFdoaXRlc3BhY2UgPSBmb3JtYXRUb0tlZXBXaGl0ZXNwYWNlO1xudmFsdWVGb3JtYXR0ZXJzLmZvcm1hdFN0cmluZ0RpbWVuc2lvbiA9IGZvcm1hdFN0cmluZ0RpbWVuc2lvbjtcbnZhbHVlRm9ybWF0dGVycy5nZXRJY29uRm9yTWltZVR5cGUgPSBnZXRJY29uRm9yTWltZVR5cGU7XG52YWx1ZUZvcm1hdHRlcnMucmVwbGFjZVdoaXRlc3BhY2UgPSByZXBsYWNlV2hpdGVzcGFjZTtcblxuT2JqZWN0UGF0aC5zZXQoXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyXCIsIHZhbHVlRm9ybWF0dGVycyk7XG5cbmV4cG9ydCBkZWZhdWx0IHZhbHVlRm9ybWF0dGVycztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0VBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0VBRUEsTUFBTUEsa0JBQTZDLEdBQUc7SUFDckRDLElBQUksRUFBRSx3QkFBd0I7SUFDOUJDLENBQUMsRUFBRSxPQUFPO0lBQ1ZDLEVBQUUsRUFBRSxlQUFlO0lBQ25CQyxFQUFFLEVBQUUseUJBQXlCO0lBQzdCQyxRQUFRLEVBQUUsZ0VBQWdFO0lBQzFFQyxNQUFNLEVBQUUseUNBQXlDO0lBQ2pELFlBQVksRUFBRTtFQUNmLENBQUM7RUFDRCxNQUFNQyxlQUFlLEdBQUcsU0FBQUEsQ0FBd0JDLEtBQWEsRUFBZ0M7SUFDNUYsSUFBSUQsZUFBZSxDQUFDRSxjQUFjLENBQUNELEtBQUssQ0FBQyxFQUFFO01BQUEsU0FBQUUsSUFBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFEc0JDLEtBQUssT0FBQUMsS0FBQSxDQUFBSixJQUFBLE9BQUFBLElBQUEsV0FBQUssSUFBQSxNQUFBQSxJQUFBLEdBQUFMLElBQUEsRUFBQUssSUFBQTtRQUFMRixLQUFLLENBQUFFLElBQUEsUUFBQUosU0FBQSxDQUFBSSxJQUFBO01BQUE7TUFFckUsT0FBUVIsZUFBZSxDQUF5Q0MsS0FBSyxDQUFDLENBQUNRLEtBQUssQ0FBQyxJQUFJLEVBQUVILEtBQUssQ0FBQztJQUMxRixDQUFDLE1BQU07TUFDTixPQUFPLEVBQUU7SUFDVjtFQUNELENBQUM7RUFFRCxNQUFNSSxrQkFBa0IsR0FBR0EsQ0FBQ0MsU0FBa0IsRUFBRUMsVUFBbUIsS0FBYTtJQUMvRSxJQUFJRCxTQUFTLElBQUlDLFVBQVUsRUFBRTtNQUM1QixNQUFNQyxjQUFjLEdBQUdDLE9BQU8sQ0FBQ0Msb0JBQW9CLENBQUMsYUFBYSxDQUFFO01BQ25FLE9BQU9GLGNB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QUMsQ0FBQyxDQUFDQyxnQ0FBZ0M7SUFDcEM7SUFDQSxPQUFPNUQsU0FBUztFQUNqQixDQUFDO0VBQ0RnRCxrQkFBa0IsQ0FBQ3JFLGNBQWMsR0FBRywwREFBMEQ7RUFBQ2dDLFFBQUEsQ0FBQXFDLGtCQUFBLEdBQUFBLGtCQUFBO0VBQ3hGLE1BQU1hLGlCQUFpQixHQUFHLFNBQUFBLENBQVVoRixLQUFhLEVBQVU7SUFDakUsT0FBT2dCLGtCQUFrQixDQUFDaEIsS0FBSyxDQUFDO0VBQ2pDLENBQUM7RUFDRGdGLGlCQUFpQixDQUFDbEYsY0FBYyxHQUFHLHlEQUF5RDtFQUFDZ0MsUUFBQSxDQUFBa0QsaUJBQUEsR0FBQUEsaUJBQUE7RUFFN0YsTUFBTUMsa0JBQWtCLEdBQUcsU0FBQUEsQ0FBVUMsUUFBZ0IsRUFBVTtJQUM5RCxPQUFPQyxRQUFRLENBQUNGLGtCQUFrQixDQUFDQyxRQUFRLENBQUM7RUFDN0MsQ0FBQztFQUNERCxrQkFBa0IsQ0FBQ25GLGNBQWMsR0FBRyw2REFBNkQ7RUFHakdqQixlQUFlLENBQUNzRixrQkFBa0IsR0FBR0Esa0JBQWtCO0VBQ3ZEdEYsZUFBZSxDQUFDVSxrQkFBa0IsR0FBR0Esa0JBQWtCO0VBQ3ZEVixlQUFlLENBQUNrQyxXQUFXLEdBQUdBLFdBQVc7RUFDekNsQyxlQUFlLENBQUNpRixtQkFBbUIsR0FBR0EsbUJBQW1CO0VBQ3pEakYsZUFBZSxDQUFDb0Msb0JBQW9CLEdBQUdBLG9CQUFvQjtFQUMzRHBDLGVBQWUsQ0FBQ3VDLGlCQUFpQixHQUFHQSxpQkFBaUI7RUFDckR2QyxlQUFlLENBQUM4QywyQkFBMkIsR0FBR0EsMkJBQTJCO0VBQ3pFOUMsZUFBZSxDQUFDa0QsMkJBQTJCLEdBQUdBLDJCQUEyQjtFQUN6RWxELGVBQWUsQ0FBQ29ELGdDQUFnQyxHQUFHQSxnQ0FBZ0M7RUFDbkZwRCxlQUFlLENBQUNzRCwyQkFBMkIsR0FBR0EsMkJBQTJCO0VBQ3pFdEQsZUFBZSxDQUFDZ0Ysc0JBQXNCLEdBQUdBLHNCQUFzQjtFQUMvRGhGLGVBQWUsQ0FBQ2tCLHFCQUFxQixHQUFHQSxxQkFBcUI7RUFDN0RsQixlQUFlLENBQUNvRyxrQkFBa0IsR0FBR0Esa0JBQWtCO0VBQ3ZEcEcsZUFBZSxDQUFDbUcsaUJBQWlCLEdBQUdBLGlCQUFpQjtFQUVyREksVUFBVSxDQUFDQyxHQUFHLENBQUMsdUNBQXVDLEVBQUV4RyxlQUFlLENBQUM7RUFBQyxPQUUxREEsZUFBZTtBQUFBIiwiaWdub3JlTGlzdCI6W119
275
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYWxlbmRhclBhdHRlcm5NYXAiLCJ5eXl5IiwiUSIsIk1NIiwid3ciLCJ5eXl5TU1kZCIsInl5eXlNTSIsInZhbHVlRm9ybWF0dGVycyIsInNOYW1lIiwiaGFzT3duUHJvcGVydHkiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwib0FyZ3MiLCJBcnJheSIsIl9rZXkiLCJhcHBseSIsImZvcm1hdFdpdGhCcmFja2V0cyIsImZpcnN0UGFydCIsInNlY29uZFBhcnQiLCJyZXNvdXJjZUJ1bmRsZSIsIkxpYnJhcnkiLCJnZXRSZXNvdXJjZUJ1bmRsZUZvciIsImdldFRleHQiLCJfX2Z1bmN0aW9uTmFtZSIsImZvcm1hdFN0cmluZ0RpbWVuc2lvbiIsInZhbHVlIiwicGF0dGVybiIsInByb3BlcnR5UGF0aCIsIm1hdGNoZWRWYWx1ZSIsInRvU3RyaW5nIiwibWF0Y2giLCJkYXRlIiwidmFsdWUxIiwiRGF0ZUZvcm1hdCIsImdldERhdGVJbnN0YW5jZSIsInBhcnNlIiwiRGF0ZSIsImdldFRpbWUiLCJMb2ciLCJ3YXJuaW5nIiwiZm9ybWF0VGl0bGUiLCJ3aGl0ZXNwYWNlUmVwbGFjZXIiLCJmb3JtYXRXaXRoUGVyY2VudGFnZSIsInNWYWx1ZSIsInVuZGVmaW5lZCIsImNvbXB1dGVQZXJjZW50YWdlIiwidGFyZ2V0Iiwic1VuaXQiLCJzUGVyY2VudFN0cmluZyIsImlWYWx1ZSIsInBhcnNlRmxvYXQiLCJpVGFyZ2V0IiwiZm9ybWF0Q3JpdGljYWxpdHlWYWx1ZVN0YXRlIiwidmFsIiwic1ZhbHVlU3RhdGUiLCJfZXhwb3J0cyIsImZvcm1hdENyaXRpY2FsaXR5QnV0dG9uVHlwZSIsInNUeXBlIiwiZm9ybWF0Q3JpdGljYWxpdHlDb2xvck1pY3JvQ2hhcnQiLCJzQ29sb3IiLCJmb3JtYXRQcm9ncmVzc0luZGljYXRvclRleHQiLCJ1bml0IiwiaXNDdXJyZW5jeSIsImN1c3RvbVVuaXRzIiwidW5pdFNwbGl0Iiwic3BsaXQiLCJzZWFyY2hVbml0IiwiZGF0ZUZvcm1hdCIsImxvY2FsZURhdGEiLCJvTG9jYWxlRGF0YSIsIm1EYXRhIiwib1Jlc291cmNlTW9kZWwiLCJ1bml0RGlzcGxheWVkIiwiZGF0ZUZpZWxkcyIsImRpc3BsYXlOYW1lIiwidW5pdHMiLCJzaG9ydCIsImZvcm1hdHRlciIsIk51bWJlckZvcm1hdCIsImdldEN1cnJlbmN5SW5zdGFuY2UiLCJjdXN0b21DdXJyZW5jaWVzIiwic2hvd01lYXN1cmUiLCJnZXRVbml0SW5zdGFuY2UiLCJkaXNwbGF5VmFsdWUiLCJmb3JtYXQiLCJkaXNwbGF5VGFyZ2V0IiwiZm9ybWF0UGFzc3dvcmRUZXh0IiwicmVwZWF0IiwiZm9ybWF0VG9LZWVwV2hpdGVzcGFjZSIsInByb3ZpZGVEYXRlSW5zdGFuY2UiLCJpc0RhdGVWYWxpZCIsImlzTmFOIiwiVUk1RGF0ZSIsImdldEluc3RhbmNlIiwiaGFzU2VtYW50aWNPYmplY3RzIiwiX2xlbjIiLCJzZW1hbnRpY09iamVjdHMiLCJfa2V5MiIsImN1cnJlbnRVc2VyU2VtYW50aWNPYmplY3RzTGlzdCIsImR5bmFtaWNTZW1hbnRpY09iamVjdHNSZXNvbHZlZCIsImkiLCJwdXNoIiwiZ2V0UmVhY2hhYmxlU2VtYW50aWNPYmplY3RzU2V0dGluZ3MiLCJzZW1hbnRpY09iamVjdHNMaXN0Iiwic2VtYW50aWNPYmplY3RzRXhwcmVzc2lvbkxpc3QiLCJxdWFsaWZpZXJNYXAiLCJoYXNSZWFjaGFibGVTdGF0aWNTZW1hbnRpY09iamVjdCIsInJlcGxhY2VXaGl0ZXNwYWNlIiwiZ2V0SWNvbkZvck1pbWVUeXBlIiwibWltZVR5cGUiLCJJY29uUG9vbCIsIk9iamVjdFBhdGgiLCJzZXQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlZhbHVlRm9ybWF0dGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHdoaXRlc3BhY2VSZXBsYWNlciBmcm9tIFwic2FwL2Jhc2Uvc3RyaW5ncy93aGl0ZXNwYWNlUmVwbGFjZXJcIjtcbmltcG9ydCBPYmplY3RQYXRoIGZyb20gXCJzYXAvYmFzZS91dGlsL09iamVjdFBhdGhcIjtcbmltcG9ydCB7IGdldFJlYWNoYWJsZVNlbWFudGljT2JqZWN0c1NldHRpbmdzIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvU2VtYW50aWNPYmplY3RIZWxwZXJcIjtcbmltcG9ydCBJY29uUG9vbCBmcm9tIFwic2FwL3VpL2NvcmUvSWNvblBvb2xcIjtcbmltcG9ydCBMaWJyYXJ5IGZyb20gXCJzYXAvdWkvY29yZS9MaWJcIjtcbmltcG9ydCBVSTVEYXRlIGZyb20gXCJzYXAvdWkvY29yZS9kYXRlL1VJNURhdGVcIjtcbmltcG9ydCBEYXRlRm9ybWF0IGZyb20gXCJzYXAvdWkvY29yZS9mb3JtYXQvRGF0ZUZvcm1hdFwiO1xuaW1wb3J0IE51bWJlckZvcm1hdCBmcm9tIFwic2FwL3VpL2NvcmUvZm9ybWF0L051bWJlckZvcm1hdFwiO1xuXG5jb25zdCBjYWxlbmRhclBhdHRlcm5NYXA6IHsgW2tleTogc3RyaW5nXTogUmVnRXhwIH0gPSB7XG5cdHl5eXk6IC9bMS05XVxcZHszLH18MFxcZHszfS8sXG5cdFE6IC9bMS00XS8sXG5cdE1NOiAvMFsxLTldfDFbMC0yXS8sXG5cdHd3OiAvMFsxLTldfFsxLTRdXFxkfDVbMC0zXS8sXG5cdHl5eXlNTWRkOiAvKD86WzEtOV1cXGR7M318MFxcZHszfSkoMFsxLTldfDFbMC0yXSkoMFsxLTldfFsxMl1cXGR8M1swMV0pLyxcblx0eXl5eU1NOiAvKD86WzEtOV1cXGR7M318MFxcZHszfSkoMFsxLTldfDFbMC0yXSkvLFxuXHRcInl5eXktTU0tZGRcIjogLyg/OlsxLTldXFxkezN9fDBcXGR7M30pLSgwWzEtOV18MVswLTJdKS0oMFsxLTldfFsxMl1cXGR8M1swMV0pL1xufTtcblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIHRhYmxlIGZvcm1hdHRlcnMuXG4gKiBAcGFyYW0gdGhpcyBUaGUgY29udGV4dFxuICogQHBhcmFtIHNOYW1lIFRoZSBpbm5lciBmdW5jdGlvbiBuYW1lXG4gKiBAcGFyYW0gb0FyZ3MgVGhlIGlubmVyIGZ1bmN0aW9uIHBhcmFtZXRlcnNcbiAqIEByZXR1cm5zIFRoZSB2YWx1ZSBmcm9tIHRoZSBpbm5lciBmdW5jdGlvblxuICovXG5jb25zdCB2YWx1ZUZvcm1hdHRlcnMgPSBmdW5jdGlvbiAodGhpczogb2JqZWN0LCBzTmFtZTogc3RyaW5nLCAuLi5vQXJnczogdW5rbm93bltdKTogdW5rbm93biB7XG5cdGlmICh2YWx1ZUZvcm1hdHRlcnMuaGFzT3duUHJvcGVydHkoc05hbWUpKSB7XG5cdFx0cmV0dXJuICh2YWx1ZUZvcm1hdHRlcnMgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCBGdW5jdGlvbj4pW3NOYW1lXS5hcHBseSh0aGlzLCBvQXJncyk7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIFwiXCI7XG5cdH1cbn07XG5cbmNvbnN0IGZvcm1hdFdpdGhCcmFja2V0cyA9IChmaXJzdFBhcnQ/OiBzdHJpbmcsIHNlY29uZFBhcnQ/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuXHRpZiAoZmlyc3RQYXJ0ICYmIHNlY29uZFBhcnQpIHtcblx0XHRjb25zdCByZXNvdXJjZUJ1bmRsZSA9IExpYnJhcnkuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUuY29yZVwiKSE7XG5cdFx0cmV0dXJuIHJlc291cmNlQnVuZGxlLmdldFRleHQoXCJDX0ZPUk1BVF9GT1JfVEVYVF9BUlJBTkdFTUVOVFwiLCBbZmlyc3RQYXJ0LCBzZWNvbmRQYXJ0XSk7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIGZpcnN0UGFydCB8fCBzZWNvbmRQYXJ0IHx8IFwiXCI7XG5cdH1cbn07XG5mb3JtYXRXaXRoQnJhY2tldHMuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVmFsdWVGb3JtYXR0ZXIjZm9ybWF0V2l0aEJyYWNrZXRzXCI7XG5cbmNvbnN0IGZvcm1hdFN0cmluZ0RpbWVuc2lvbiA9ICh2YWx1ZTogdW5rbm93biwgcGF0dGVybjogc3RyaW5nLCBwcm9wZXJ0eVBhdGg6IHN0cmluZyk6IG51bWJlciA9PiB7XG5cdGlmIChwYXR0ZXJuIGluIGNhbGVuZGFyUGF0dGVybk1hcCkge1xuXHRcdGNvbnN0IG1hdGNoZWRWYWx1ZSA9IHZhbHVlPy50b1N0cmluZygpLm1hdGNoKGNhbGVuZGFyUGF0dGVybk1hcFtwYXR0ZXJuXSk7XG5cdFx0aWYgKG1hdGNoZWRWYWx1ZSAmJiBtYXRjaGVkVmFsdWU/Lmxlbmd0aCkge1xuXHRcdFx0Y29uc3QgZGF0ZSA9IG1hdGNoZWRWYWx1ZVswXTtcblx0XHRcdGNvbnN0IHZhbHVlMSA9IERhdGVGb3JtYXQuZ2V0RGF0ZUluc3RhbmNlKHsgcGF0dGVybiB9KS5wYXJzZShkYXRlLCBmYWxzZSwgdHJ1ZSk7XG5cdFx0XHRpZiAodmFsdWUxIGluc3RhbmNlb2YgRGF0ZSkge1xuXHRcdFx0XHRyZXR1cm4gdmFsdWUxLmdldFRpbWUoKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdExvZy53YXJuaW5nKFwiRGF0ZSB2YWx1ZSBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZCBmb3IgXCIgKyBwcm9wZXJ0eVBhdGgpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIDA7XG5cdFx0fVxuXHR9XG5cdExvZy53YXJuaW5nKFwiUGF0dGVybiBub3Qgc3VwcG9ydGVkIGZvciBcIiArIHByb3BlcnR5UGF0aCk7XG5cdHJldHVybiAwO1xufTtcbmZvcm1hdFN0cmluZ0RpbWVuc2lvbi5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNmb3JtYXRTdHJpbmdEaW1lbnNpb25cIjtcblxuY29uc3QgZm9ybWF0VGl0bGUgPSAoZmlyc3RQYXJ0Pzogc3RyaW5nLCBzZWNvbmRQYXJ0Pzogc3RyaW5nKTogc3RyaW5nID0+IHtcblx0cmV0dXJuIHNlY29uZFBhcnQgPyBmb3JtYXRXaXRoQnJhY2tldHMod2hpdGVzcGFjZVJlcGxhY2VyKGZpcnN0UGFydCksIHdoaXRlc3BhY2VSZXBsYWNlcihzZWNvbmRQYXJ0KSkgOiB3aGl0ZXNwYWNlUmVwbGFjZXIoZmlyc3RQYXJ0KTtcbn07XG5mb3JtYXRUaXRsZS5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNmb3JtYXRUaXRsZVwiO1xuXG5jb25zdCBmb3JtYXRXaXRoUGVyY2VudGFnZSA9IChzVmFsdWU/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuXHRyZXR1cm4gc1ZhbHVlICE9PSBudWxsICYmIHNWYWx1ZSAhPT0gdW5kZWZpbmVkID8gYCR7c1ZhbHVlfSAlYCA6IFwiXCI7XG59O1xuZm9ybWF0V2l0aFBlcmNlbnRhZ2UuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVmFsdWVGb3JtYXR0ZXIjZm9ybWF0V2l0aFBlcmNlbnRhZ2VcIjtcblxuY29uc3QgY29tcHV0ZVBlcmNlbnRhZ2UgPSAodmFsdWU6IHN0cmluZyB8IG51bWJlciwgdGFyZ2V0OiBzdHJpbmcgfCBudW1iZXIsIHNVbml0Pzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0bGV0IHNQZXJjZW50U3RyaW5nOiBzdHJpbmc7XG5cdC8vQkNQOiAyMzcwMDA4NTQ4IElmIHRoZSBiYXNlIHZhbHVlIGlzIHVuZGVmaW5lZCByZXR1cm4gXCIwXCIgYnkgZGVmYXVsdFxuXHRpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBcIjBcIjtcblx0fVxuXG5cdGNvbnN0IGlWYWx1ZTogbnVtYmVyID0gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiID8gcGFyc2VGbG9hdCh2YWx1ZSkgOiB2YWx1ZTtcblx0Y29uc3QgaVRhcmdldDogbnVtYmVyID0gdHlwZW9mIHRhcmdldCA9PT0gXCJzdHJpbmdcIiA/IHBhcnNlRmxvYXQodGFyZ2V0KSA6IHRhcmdldDtcblxuXHRpZiAoc1VuaXQgPT09IFwiJVwiKSB7XG5cdFx0aWYgKGlWYWx1ZSA+IDEwMCkge1xuXHRcdFx0c1BlcmNlbnRTdHJpbmcgPSBcIjEwMFwiO1xuXHRcdH0gZWxzZSBpZiAoaVZhbHVlIDw9IDApIHtcblx0XHRcdHNQZXJjZW50U3RyaW5nID0gXCIwXCI7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHNQZXJjZW50U3RyaW5nID0gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiID8gdmFsdWUgOiB2YWx1ZT8udG9TdHJpbmcoKTtcblx0XHR9XG5cdH0gZWxzZSBpZiAoaVZhbHVlID4gaVRhcmdldCkge1xuXHRcdHNQZXJjZW50U3RyaW5nID0gXCIxMDBcIjtcblx0fSBlbHNlIGlmIChpVmFsdWUgPD0gMCkge1xuXHRcdHNQZXJjZW50U3RyaW5nID0gXCIwXCI7XG5cdH0gZWxzZSB7XG5cdFx0c1BlcmNlbnRTdHJpbmcgPSBpVmFsdWUgJiYgaVRhcmdldCA/ICgoaVZhbHVlIC8gaVRhcmdldCkgKiAxMDApLnRvU3RyaW5nKCkgOiBcIjBcIjtcblx0fVxuXHRyZXR1cm4gc1BlcmNlbnRTdHJpbmc7XG59O1xuY29tcHV0ZVBlcmNlbnRhZ2UuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVmFsdWVGb3JtYXR0ZXIjY29tcHV0ZVBlcmNlbnRhZ2VcIjtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdENyaXRpY2FsaXR5VmFsdWVTdGF0ZSA9ICh2YWw/OiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRsZXQgc1ZhbHVlU3RhdGU6IHN0cmluZztcblx0aWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvTmVnYXRpdmVcIiB8fCB2YWwgPT09IFwiMVwiIHx8IHZhbCA9PT0gMSkge1xuXHRcdHNWYWx1ZVN0YXRlID0gXCJFcnJvclwiO1xuXHR9IGVsc2UgaWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvQ3JpdGljYWxcIiB8fCB2YWwgPT09IFwiMlwiIHx8IHZhbCA9PT0gMikge1xuXHRcdHNWYWx1ZVN0YXRlID0gXCJXYXJuaW5nXCI7XG5cdH0gZWxzZSBpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9Qb3NpdGl2ZVwiIHx8IHZhbCA9PT0gXCIzXCIgfHwgdmFsID09PSAzKSB7XG5cdFx0c1ZhbHVlU3RhdGUgPSBcIlN1Y2Nlc3NcIjtcblx0fSBlbHNlIGlmICh2YWwgPT09IFwiVUkuQ3JpdGljYWxpdHlUeXBlL0luZm9ybWF0aW9uXCIgfHwgdmFsID09PSBcIjVcIiB8fCB2YWwgPT09IDUpIHtcblx0XHRzVmFsdWVTdGF0ZSA9IFwiSW5mb3JtYXRpb25cIjtcblx0fSBlbHNlIHtcblx0XHRzVmFsdWVTdGF0ZSA9IFwiTm9uZVwiO1xuXHR9XG5cdHJldHVybiBzVmFsdWVTdGF0ZTtcbn07XG5mb3JtYXRDcml0aWNhbGl0eVZhbHVlU3RhdGUuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVmFsdWVGb3JtYXR0ZXIjZm9ybWF0Q3JpdGljYWxpdHlWYWx1ZVN0YXRlXCI7XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRDcml0aWNhbGl0eUJ1dHRvblR5cGUgPSAodmFsPzogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0bGV0IHNUeXBlOiBzdHJpbmc7XG5cdGlmICh2YWwgPT09IFwiVUkuQ3JpdGljYWxpdHlUeXBlL05lZ2F0aXZlXCIgfHwgdmFsID09PSBcIjFcIiB8fCB2YWwgPT09IDEpIHtcblx0XHRzVHlwZSA9IFwiUmVqZWN0XCI7XG5cdH0gZWxzZSBpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9Qb3NpdGl2ZVwiIHx8IHZhbCA9PT0gXCIzXCIgfHwgdmFsID09PSAzKSB7XG5cdFx0c1R5cGUgPSBcIkFjY2VwdFwiO1xuXHR9IGVsc2Uge1xuXHRcdHNUeXBlID0gXCJEZWZhdWx0XCI7XG5cdH1cblx0cmV0dXJuIHNUeXBlO1xufTtcbmZvcm1hdENyaXRpY2FsaXR5QnV0dG9uVHlwZS5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNmb3JtYXRDcml0aWNhbGl0eUJ1dHRvblR5cGVcIjtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdENyaXRpY2FsaXR5Q29sb3JNaWNyb0NoYXJ0ID0gKHZhbD86IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGxldCBzQ29sb3I6IHN0cmluZztcblx0aWYgKHZhbCA9PT0gXCJVSS5Dcml0aWNhbGl0eVR5cGUvTmVnYXRpdmVcIiB8fCB2YWwgPT09IFwiMVwiIHx8IHZhbCA9PT0gMSkge1xuXHRcdHNDb2xvciA9IFwiRXJyb3JcIjtcblx0fSBlbHNlIGlmICh2YWwgPT09IFwiVUkuQ3JpdGljYWxpdHlUeXBlL0NyaXRpY2FsXCIgfHwgdmFsID09PSBcIjJcIiB8fCB2YWwgPT09IDIpIHtcblx0XHRzQ29sb3IgPSBcIkNyaXRpY2FsXCI7XG5cdH0gZWxzZSBpZiAodmFsID09PSBcIlVJLkNyaXRpY2FsaXR5VHlwZS9Qb3NpdGl2ZVwiIHx8IHZhbCA9PT0gXCIzXCIgfHwgdmFsID09PSAzKSB7XG5cdFx0c0NvbG9yID0gXCJHb29kXCI7XG5cdH0gZWxzZSB7XG5cdFx0c0NvbG9yID0gXCJOZXV0cmFsXCI7XG5cdH1cblx0cmV0dXJuIHNDb2xvcjtcbn07XG5mb3JtYXRDcml0aWNhbGl0eUNvbG9yTWljcm9DaGFydC5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNmb3JtYXRDcml0aWNhbGl0eUNvbG9yTWljcm9DaGFydFwiO1xuXG4vKipcbiAqIEZvcm1hdHMgdGhlIHRleHQgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3IuIFRha2VzIGludG8gYWNjb3VudCB0aGUgZGVjaW1hbHMgYW5kIHByZWNpc2lvbiBvZiB0aGUgdW5pdC5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yXG4gKiBAcGFyYW0gdGFyZ2V0IFRoZSB0YXJnZXQgdmFsdWUgZm8gdGhlIHByb2dyZXNzIGluZGljYXRvclxuICogQHBhcmFtIHVuaXQgVGhlIHVuaXQgb2YgdGhlIHByb2dyZXNzIGluZGljYXRvclxuICogQHBhcmFtIGlzQ3VycmVuY3kgV2hldGhlciB3ZSBoYXZlIGEgY3VycmVuY3kgb3IgYSB1b21cbiAqIEBwYXJhbSBjdXN0b21Vbml0cyBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgY3VzdG9tIHVuaXRzIG9mIHRoZSBhcHBsaWNhdGlvblxuICogQHBhcmFtIGN1c3RvbVVuaXRzLmN1c3RvbUN1cnJlbmNpZXNcbiAqIEBwYXJhbSBjdXN0b21Vbml0cy5zaG93TWVhc3VyZVxuICogQHJldHVybnMgVGhlIHRyYW5zbGF0ZWQgYW5kIGZvcm1hdHRlZCB0ZXh0IG9mIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3JcbiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1hdFByb2dyZXNzSW5kaWNhdG9yVGV4dCA9IChcblx0dmFsdWU6IHN0cmluZyB8IG51bWJlcixcblx0dGFyZ2V0OiBzdHJpbmcgfCBudW1iZXIsXG5cdHVuaXQ6IHN0cmluZyxcblx0aXNDdXJyZW5jeTogYm9vbGVhbixcblx0Y3VzdG9tVW5pdHM/OiBSZWNvcmQ8c3RyaW5nLCBvYmplY3Q+XG4pOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRpZiAodmFsdWUgJiYgdGFyZ2V0ICYmIHVuaXQpIHtcblx0XHRjb25zdCB1bml0U3BsaXQgPSB1bml0LnNwbGl0KFwiLVwiKTtcblx0XHRjb25zdCBzZWFyY2hVbml0ID0gYCR7dW5pdFNwbGl0WzFdID09PSB1bmRlZmluZWQgPyB1bml0IDogdW5pdFNwbGl0WzFdfS1uYXJyb3dgO1xuXHRcdGNvbnN0IGRhdGVGb3JtYXQgPSBEYXRlRm9ybWF0LmdldERhdGVJbnN0YW5jZSgpO1xuXHRcdGNvbnN0IGxvY2FsZURhdGEgPSAoXG5cdFx0XHRkYXRlRm9ybWF0IGFzIERhdGVGb3JtYXQgJiB7XG5cdFx0XHRcdG9Mb2NhbGVEYXRhOiB7XG5cdFx0XHRcdFx0bURhdGE6IHtcblx0XHRcdFx0XHRcdHVuaXRzPzogeyBzaG9ydDogUmVjb3JkPHN0cmluZywgeyBkaXNwbGF5TmFtZT86IHN0cmluZyB9PiB9O1xuXHRcdFx0XHRcdFx0ZGF0ZUZpZWxkczogUmVjb3JkPHN0cmluZywgeyBkaXNwbGF5TmFtZT86IHN0cmluZyB9Pjtcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdCkub0xvY2FsZURhdGEubURhdGE7XG5cdFx0Y29uc3Qgb1Jlc291cmNlTW9kZWwgPSBMaWJyYXJ5LmdldFJlc291cmNlQnVuZGxlRm9yKFwic2FwLmZlLm1hY3Jvc1wiKSE7XG5cdFx0bGV0IHVuaXREaXNwbGF5ZWQgPSB1bml0O1xuXHRcdGlmIChsb2NhbGVEYXRhPy5kYXRlRmllbGRzW3NlYXJjaFVuaXRdPy5kaXNwbGF5TmFtZSkge1xuXHRcdFx0dW5pdERpc3BsYXllZCA9IGxvY2FsZURhdGEuZGF0ZUZpZWxkc1tzZWFyY2hVbml0XS5kaXNwbGF5TmFtZSE7XG5cdFx0fSBlbHNlIGlmIChsb2NhbGVEYXRhPy51bml0cz8uc2hvcnRbdW5pdF0/LmRpc3BsYXlOYW1lKSB7XG5cdFx0XHR1bml0RGlzcGxheWVkID0gbG9jYWxlRGF0YS51bml0cy5zaG9ydFt1bml0XS5kaXNwbGF5TmFtZSE7XG5cdFx0fVxuXG5cdFx0bGV0IGZvcm1hdHRlcjtcblx0XHRpZiAoaXNDdXJyZW5jeSkge1xuXHRcdFx0Zm9ybWF0dGVyID0gTnVtYmVyRm9ybWF0LmdldEN1cnJlbmN5SW5zdGFuY2Uoe1xuXHRcdFx0XHRjdXN0b21DdXJyZW5jaWVzOiBjdXN0b21Vbml0cyxcblx0XHRcdFx0c2hvd01lYXN1cmU6IGZhbHNlXG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Zm9ybWF0dGVyID0gTnVtYmVyRm9ybWF0LmdldFVuaXRJbnN0YW5jZSh7XG5cdFx0XHRcdGN1c3RvbVVuaXRzOiBjdXN0b21Vbml0cyxcblx0XHRcdFx0c2hvd01lYXN1cmU6IGZhbHNlXG5cdFx0XHR9KTtcblx0XHR9XG5cdFx0Y29uc3QgZGlzcGxheVZhbHVlID0gZm9ybWF0dGVyLmZvcm1hdCgrdmFsdWUsIHVuaXREaXNwbGF5ZWQpO1xuXHRcdGNvbnN0IGRpc3BsYXlUYXJnZXQgPSBmb3JtYXR0ZXIuZm9ybWF0KCt0YXJnZXQsIHVuaXREaXNwbGF5ZWQpO1xuXG5cdFx0cmV0dXJuIG9SZXNvdXJjZU1vZGVsLmdldFRleHQoXCJUX0NPTU1PTl9QUk9HUkVTU19JTkRJQ0FUT1JfRElTUExBWV9WQUxVRV9XSVRIX1VPTVwiLCBbZGlzcGxheVZhbHVlLCBkaXNwbGF5VGFyZ2V0LCB1bml0RGlzcGxheWVkXSk7XG5cdH1cbn07XG5mb3JtYXRQcm9ncmVzc0luZGljYXRvclRleHQuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVmFsdWVGb3JtYXR0ZXIjZm9ybWF0UHJvZ3Jlc3NJbmRpY2F0b3JUZXh0XCI7XG5cbi8qKlxuICogRm9ybWF0cyB0aGUgdGV4dCBieSByZXBsYWNpbmcgZWFjaCBjaGFyYWN0ZXIgd2l0aCBhICouXG4gKiBAcGFyYW0gdmFsdWUgVGhlIGN1cnJlbnQgdGV4dCBlbnRlcmVkIGluIHRoZSBmaWVsZC5cbiAqIEByZXR1cm5zIEEgc3RyaW5nIG9mICogY2hhcmFjdGVycyBlcXVhbCB0byB0aGUgbGVuZ3RoIG9mIHRoZSBlbnRlcmVkIHZhbHVlLlxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0UGFzc3dvcmRUZXh0ID0gKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRpZiAodmFsdWU/Lmxlbmd0aCkge1xuXHRcdHJldHVybiBcIipcIi5yZXBlYXQodmFsdWUubGVuZ3RoKTtcblx0fVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTtcbmZvcm1hdFBhc3N3b3JkVGV4dC5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNmb3JtYXRQYXNzd29yZFRleHRcIjtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFRvS2VlcFdoaXRlc3BhY2UgPSAodmFsdWU6IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIpOiBzdHJpbmcgPT4ge1xuXHRyZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCA/IFwiXCIgOiB3aGl0ZXNwYWNlUmVwbGFjZXIodmFsdWUgKyBcIlwiKTtcbn07XG5mb3JtYXRUb0tlZXBXaGl0ZXNwYWNlLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI2Zvcm1hdFRvS2VlcFdoaXRlc3BhY2VcIjtcblxuZnVuY3Rpb24gcHJvdmlkZURhdGVJbnN0YW5jZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSk6IERhdGUgfCBudWxsIHtcblx0aWYgKHZhbHVlKSB7XG5cdFx0Y29uc3QgaXNEYXRlVmFsaWQgPSBuZXcgRGF0ZSh2YWx1ZSk7XG5cdFx0aWYgKCFpc05hTihEYXRlLnBhcnNlKGlzRGF0ZVZhbGlkIGFzIHVua25vd24gYXMgc3RyaW5nKSkpIHtcblx0XHRcdHJldHVybiBVSTVEYXRlLmdldEluc3RhbmNlKHZhbHVlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0TG9nLndhcm5pbmcoXCJXYXJuaW5nOiBWYWxpZCBkYXRlIGZvcm1hdCBoYXMgdG8gYmUgc2VudCB0byByZXRyaWV2ZSBVSTUgZGF0ZSBpbnN0YW5jZVwiKTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIG51bGw7XG59XG5wcm92aWRlRGF0ZUluc3RhbmNlLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI3Byb3ZpZGVEYXRlSW5zdGFuY2VcIjtcblxuLyoqXG4gKiBGb3JtYXQgdGhlIHNlbWFudGljIG9iamVjdHMgYXZhaWxhYmxlIHRvIHVzZXIuXG4gKiBAcGFyYW0gc2VtYW50aWNPYmplY3RzIFRoZSBzZW1hbnRpYyBvYmplY3RzIGZyb20gc2hlbGwgc2VydmljZXMgYW5kIHRoZSBkeW5hbWljIHNlbWFudGljIG9iamVjdHMgcmVzb2x2ZWRcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHVzZXIgaGFzIHNlbWFudGljIG9iamVjdHMgdG8gbmF2aWdhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1NlbWFudGljT2JqZWN0cyA9IGZ1bmN0aW9uICguLi5zZW1hbnRpY09iamVjdHM6IHVua25vd25bXSk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuXHRjb25zdCBjdXJyZW50VXNlclNlbWFudGljT2JqZWN0c0xpc3QgPSBzZW1hbnRpY09iamVjdHNbMF07XG5cdGNvbnN0IGR5bmFtaWNTZW1hbnRpY09iamVjdHNSZXNvbHZlZDogc3RyaW5nW10gPSBbXTtcblx0Zm9yIChsZXQgaSA9IDE7IGkgPCBzZW1hbnRpY09iamVjdHMubGVuZ3RoOyBpKyspIHtcblx0XHRpZiAoc2VtYW50aWNPYmplY3RzW2ldKSB7XG5cdFx0XHRkeW5hbWljU2VtYW50aWNPYmplY3RzUmVzb2x2ZWQucHVzaChzZW1hbnRpY09iamVjdHNbaV0gYXMgc3RyaW5nKTtcblx0XHR9XG5cdH1cblx0aWYgKGR5bmFtaWNTZW1hbnRpY09iamVjdHNSZXNvbHZlZC5sZW5ndGggPiAwKSB7XG5cdFx0cmV0dXJuIGdldFJlYWNoYWJsZVNlbWFudGljT2JqZWN0c1NldHRpbmdzKGN1cnJlbnRVc2VyU2VtYW50aWNPYmplY3RzTGlzdCBhcyBzdHJpbmdbXSwge1xuXHRcdFx0c2VtYW50aWNPYmplY3RzTGlzdDogZHluYW1pY1NlbWFudGljT2JqZWN0c1Jlc29sdmVkLFxuXHRcdFx0c2VtYW50aWNPYmplY3RzRXhwcmVzc2lvbkxpc3Q6IFtdLFxuXHRcdFx0cXVhbGlmaWVyTWFwOiB7fVxuXHRcdH0pLmhhc1JlYWNoYWJsZVN0YXRpY1NlbWFudGljT2JqZWN0O1xuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59O1xuaGFzU2VtYW50aWNPYmplY3RzLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlZhbHVlRm9ybWF0dGVyI2hhc1NlbWFudGljT2JqZWN0c1wiO1xuZXhwb3J0IGNvbnN0IHJlcGxhY2VXaGl0ZXNwYWNlID0gZnVuY3Rpb24gKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRyZXR1cm4gd2hpdGVzcGFjZVJlcGxhY2VyKHZhbHVlKTtcbn07XG5yZXBsYWNlV2hpdGVzcGFjZS5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5WYWx1ZUZvcm1hdHRlciNyZXBsYWNlV2hpdGVzcGFjZVwiO1xuXG5jb25zdCBnZXRJY29uRm9yTWltZVR5cGUgPSBmdW5jdGlvbiAobWltZVR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG5cdHJldHVybiBJY29uUG9vbC5nZXRJY29uRm9yTWltZVR5cGUobWltZVR5cGUpO1xufTtcbmdldEljb25Gb3JNaW1lVHlwZS5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5TdGFuZGFyZEZvcm1hdHRlciNnZXRJY29uRm9yTWltZVR5cGVcIjtcblxudmFsdWVGb3JtYXR0ZXJzLmhhc1NlbWFudGljT2JqZWN0cyA9IGhhc1NlbWFudGljT2JqZWN0cztcbnZhbHVlRm9ybWF0dGVycy5mb3JtYXRXaXRoQnJhY2tldHMgPSBmb3JtYXRXaXRoQnJhY2tldHM7XG52YWx1ZUZvcm1hdHRlcnMuZm9ybWF0VGl0bGUgPSBmb3JtYXRUaXRsZTtcbnZhbHVlRm9ybWF0dGVycy5wcm92aWRlRGF0ZUluc3RhbmNlID0gcHJvdmlkZURhdGVJbnN0YW5jZTtcbnZhbHVlRm9ybWF0dGVycy5mb3JtYXRXaXRoUGVyY2VudGFnZSA9IGZvcm1hdFdpdGhQZXJjZW50YWdlO1xudmFsdWVGb3JtYXR0ZXJzLmNvbXB1dGVQZXJjZW50YWdlID0gY29tcHV0ZVBlcmNlbnRhZ2U7XG52YWx1ZUZvcm1hdHRlcnMuZm9ybWF0Q3JpdGljYWxpdHlWYWx1ZVN0YXRlID0gZm9ybWF0Q3JpdGljYWxpdHlWYWx1ZVN0YXRlO1xudmFsdWVGb3JtYXR0ZXJzLmZvcm1hdENyaXRpY2FsaXR5QnV0dG9uVHlwZSA9IGZvcm1hdENyaXRpY2FsaXR5QnV0dG9uVHlwZTtcbnZhbHVlRm9ybWF0dGVycy5mb3JtYXRDcml0aWNhbGl0eUNvbG9yTWljcm9DaGFydCA9IGZvcm1hdENyaXRpY2FsaXR5Q29sb3JNaWNyb0NoYXJ0O1xudmFsdWVGb3JtYXR0ZXJzLmZvcm1hdFByb2dyZXNzSW5kaWNhdG9yVGV4dCA9IGZvcm1hdFByb2dyZXNzSW5kaWNhdG9yVGV4dDtcbnZhbHVlRm9ybWF0dGVycy5mb3JtYXRQYXNzd29yZFRleHQgPSBmb3JtYXRQYXNzd29yZFRleHQ7XG52YWx1ZUZvcm1hdHRlcnMuZm9ybWF0VG9LZWVwV2hpdGVzcGFjZSA9IGZvcm1hdFRvS2VlcFdoaXRlc3BhY2U7XG52YWx1ZUZvcm1hdHRlcnMuZm9ybWF0U3RyaW5nRGltZW5zaW9uID0gZm9ybWF0U3RyaW5nRGltZW5zaW9uO1xudmFsdWVGb3JtYXR0ZXJzLmdldEljb25Gb3JNaW1lVHlwZSA9IGdldEljb25Gb3JNaW1lVHlwZTtcbnZhbHVlRm9ybWF0dGVycy5yZXBsYWNlV2hpdGVzcGFjZSA9IHJlcGxhY2VXaGl0ZXNwYWNlO1xuXG5PYmplY3RQYXRoLnNldChcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVmFsdWVGb3JtYXR0ZXJcIiwgdmFsdWVGb3JtYXR0ZXJzKTtcblxuZXhwb3J0IGRlZmF1bHQgdmFsdWVGb3JtYXR0ZXJzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7RUFVQSxNQUFNQSxrQkFBNkMsR0FBRztJQUNyREMsSUFBSSxFQUFFLG9CQUFvQjtJQUMxQkMsQ0FBQyxFQUFFLE9BQU87SUFDVkMsRUFBRSxFQUFFLGVBQWU7SUFDbkJDLEVBQUUsRUFBRSx1QkFBdUI7SUFDM0JDLFFBQVEsRUFBRSwyREFBMkQ7SUFDckVDLE1BQU0sRUFBRSxzQ0FBc0M7SUFDOUMsWUFBWSxFQUFFO0VBQ2YsQ0FBQzs7RUFFRDtBQUNBO0FBQ0E7QUFDQTtB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
@@ -7,6 +7,17 @@ import Library from "sap/ui/core/Lib";
7
7
  import UI5Date from "sap/ui/core/date/UI5Date";
8
8
  import DateFormat from "sap/ui/core/format/DateFormat";
9
9
  import NumberFormat from "sap/ui/core/format/NumberFormat";
10
+
11
+ const calendarPatternMap: { [key: string]: RegExp } = {
12
+ yyyy: /[1-9]\d{3,}|0\d{3}/,
13
+ Q: /[1-4]/,
14
+ MM: /0[1-9]|1[0-2]/,
15
+ ww: /0[1-9]|[1-4]\d|5[0-3]/,
16
+ yyyyMMdd: /(?:[1-9]\d{3}|0\d{3})(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])/,
17
+ yyyyMM: /(?:[1-9]\d{3}|0\d{3})(0[1-9]|1[0-2])/,
18
+ "yyyy-MM-dd": /(?:[1-9]\d{3}|0\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])/
19
+ };
20
+
10
21
  /**
11
22
  * Collection of table formatters.
12
23
  * @param this The context
@@ -14,16 +25,6 @@ import NumberFormat from "sap/ui/core/format/NumberFormat";
14
25
  * @param oArgs The inner function parameters
15
26
  * @returns The value from the inner function
16
27
  */
17
-
18
- const calendarPatternMap: { [key: string]: RegExp } = {
19
- yyyy: /[1-9][\d]{3,}|0[\d]{3}/,
20
- Q: /[1-4]/,
21
- MM: /0[1-9]|1[0-2]/,
22
- ww: /0[1-9]|[1-4][\d]|5[0-3]/,
23
- yyyyMMdd: /([1-9][\d]{3,}|0[\d]{3})(0[1-9]|1[0-2])(0[1-9]|[12][\d]|3[01])/,
24
- yyyyMM: /([1-9][\d]{3,}|0[\d]{3})(0[1-9]|1[0-2])/,
25
- "yyyy-MM-dd": /([1-9][\d]{3,}|0[\d]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][\d]|3[01])/
26
- };
27
28
  const valueFormatters = function (this: object, sName: string, ...oArgs: unknown[]): unknown {
28
29
  if (valueFormatters.hasOwnProperty(sName)) {
29
30
  return (valueFormatters as unknown as Record<string, Function>)[sName].apply(this, oArgs);
@@ -205,6 +206,19 @@ export const formatProgressIndicatorText = (
205
206
  };
206
207
  formatProgressIndicatorText.__functionName = "sap.fe.core.formatters.ValueFormatter#formatProgressIndicatorText";
207
208
 
209
+ /**
210
+ * Formats the text by replacing each character with a *.
211
+ * @param value The current text entered in the field.
212
+ * @returns A string of * characters equal to the length of the entered value.
213
+ */
214
+ export const formatPasswordText = (value: string | undefined): string | undefined => {
215
+ if (value?.length) {
216
+ return "*".repeat(value.length);
217
+ }
218
+ return undefined;
219
+ };
220
+ formatPasswordText.__functionName = "sap.fe.core.formatters.ValueFormatter#formatPasswordText";
221
+
208
222
  export const formatToKeepWhitespace = (value: string | boolean | number): string => {
209
223
  return value === null || value === undefined ? "" : whitespaceReplacer(value + "");
210
224
  };
@@ -256,7 +270,6 @@ const getIconForMimeType = function (mimeType: string): string {
256
270
  };
257
271
  getIconForMimeType.__functionName = "sap.fe.core.formatters.StandardFormatter#getIconForMimeType";
258
272
 
259
-
260
273
  valueFormatters.hasSemanticObjects = hasSemanticObjects;
261
274
  valueFormatters.formatWithBrackets = formatWithBrackets;
262
275
  valueFormatters.formatTitle = formatTitle;
@@ -267,6 +280,7 @@ valueFormatters.formatCriticalityValueState = formatCriticalityValueState;
267
280
  valueFormatters.formatCriticalityButtonType = formatCriticalityButtonType;
268
281
  valueFormatters.formatCriticalityColorMicroChart = formatCriticalityColorMicroChart;
269
282
  valueFormatters.formatProgressIndicatorText = formatProgressIndicatorText;
283
+ valueFormatters.formatPasswordText = formatPasswordText;
270
284
  valueFormatters.formatToKeepWhitespace = formatToKeepWhitespace;
271
285
  valueFormatters.formatStringDimension = formatStringDimension;
272
286
  valueFormatters.getIconForMimeType = getIconForMimeType;
@@ -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/base/ClassSupport", "sap/fe/core/TemplateComponent"], function (ClassSupport, TemplateComponent) {
6
6
  "use strict";
@@ -4,7 +4,7 @@
4
4
  "id": "sap.fe.core.fpm",
5
5
  "type": "component",
6
6
  "applicationVersion": {
7
- "version": "1.134.0"
7
+ "version": "1.136.0"
8
8
  },
9
9
  "title": "Object Page",
10
10
  "tags": {