@sapui5/sap.fe.core 1.111.1 → 1.112.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 (524) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/ActionRuntime-dbg.js +4 -4
  4. package/src/sap/fe/core/ActionRuntime.js +1 -1
  5. package/src/sap/fe/core/ActionRuntime.js.map +1 -1
  6. package/src/sap/fe/core/ActionRuntime.ts +11 -11
  7. package/src/sap/fe/core/AppComponent-dbg.js +27 -5
  8. package/src/sap/fe/core/AppComponent.js +1 -1
  9. package/src/sap/fe/core/AppComponent.js.map +1 -1
  10. package/src/sap/fe/core/AppComponent.ts +58 -3
  11. package/src/sap/fe/core/AppStateHandler-dbg.js +5 -2
  12. package/src/sap/fe/core/AppStateHandler.js +1 -1
  13. package/src/sap/fe/core/AppStateHandler.js.map +1 -1
  14. package/src/sap/fe/core/AppStateHandler.ts +10 -1
  15. package/src/sap/fe/core/BaseController-dbg.js +1 -1
  16. package/src/sap/fe/core/BaseController.ts +2 -1
  17. package/src/sap/fe/core/CommonUtils-dbg.js +152 -365
  18. package/src/sap/fe/core/CommonUtils.js +1 -1
  19. package/src/sap/fe/core/CommonUtils.js.map +1 -1
  20. package/src/sap/fe/core/CommonUtils.ts +201 -478
  21. package/src/sap/fe/core/ExtensionAPI-dbg.js +2 -1
  22. package/src/sap/fe/core/ExtensionAPI.js +1 -1
  23. package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
  24. package/src/sap/fe/core/ExtensionAPI.ts +9 -1
  25. package/src/sap/fe/core/PageController-dbg.js +26 -31
  26. package/src/sap/fe/core/PageController.js +1 -1
  27. package/src/sap/fe/core/PageController.js.map +1 -1
  28. package/src/sap/fe/core/PageController.ts +17 -3
  29. package/src/sap/fe/core/ResourceModel-dbg.js +71 -0
  30. package/src/sap/fe/core/ResourceModel.js +6 -0
  31. package/src/sap/fe/core/ResourceModel.js.map +1 -0
  32. package/src/sap/fe/core/ResourceModel.ts +67 -0
  33. package/src/sap/fe/core/TemplateComponent-dbg.js +1 -1
  34. package/src/sap/fe/core/TemplateComponent.ts +1 -0
  35. package/src/sap/fe/core/TemplateModel-dbg.js +1 -1
  36. package/src/sap/fe/core/TemplateModel.ts +6 -1
  37. package/src/sap/fe/core/buildingBlocks/AttributeModel-dbg.js +5 -7
  38. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
  39. package/src/sap/fe/core/buildingBlocks/AttributeModel.js.map +1 -1
  40. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +6 -5
  41. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +163 -0
  42. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +6 -0
  43. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -0
  44. package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +169 -0
  45. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +88 -0
  46. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js +6 -0
  47. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js.map +1 -0
  48. package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +147 -0
  49. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +905 -0
  50. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js +21 -0
  51. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -0
  52. package/src/sap/fe/core/buildingBlocks/{BuildingBlockRuntime.ts → BuildingBlockTemplateProcessor.ts} +290 -362
  53. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock-dbg.js +79 -0
  54. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js +15 -0
  55. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js.map +1 -0
  56. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.ts +68 -0
  57. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +162 -0
  58. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js +6 -0
  59. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js.map +1 -0
  60. package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +181 -0
  61. package/src/sap/fe/core/buildingBlocks/TraceInfo-dbg.js +4 -2
  62. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +1 -1
  63. package/src/sap/fe/core/buildingBlocks/TraceInfo.js.map +1 -1
  64. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +5 -3
  65. package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +890 -220
  66. package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
  67. package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
  68. package/src/sap/fe/core/controllerextensions/EditFlow.ts +974 -239
  69. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +24 -34
  70. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
  71. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -1
  72. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +71 -61
  73. package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +14 -17
  74. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
  75. package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
  76. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +23 -17
  77. package/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +1 -1
  78. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -0
  79. package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +3 -3
  80. package/src/sap/fe/core/controllerextensions/MassEdit.js +1 -1
  81. package/src/sap/fe/core/controllerextensions/MassEdit.js.map +1 -1
  82. package/src/sap/fe/core/controllerextensions/MassEdit.ts +2 -2
  83. package/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +2 -1
  84. package/src/sap/fe/core/controllerextensions/MessageHandler.js.map +1 -1
  85. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +2 -0
  86. package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +1 -1
  87. package/src/sap/fe/core/controllerextensions/PageReady.ts +24 -0
  88. package/src/sap/fe/core/controllerextensions/Paginator-dbg.js +2 -1
  89. package/src/sap/fe/core/controllerextensions/Paginator.js.map +1 -1
  90. package/src/sap/fe/core/controllerextensions/Paginator.ts +7 -0
  91. package/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +1 -1
  92. package/src/sap/fe/core/controllerextensions/Placeholder.ts +8 -0
  93. package/src/sap/fe/core/controllerextensions/Share-dbg.js +8 -1
  94. package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
  95. package/src/sap/fe/core/controllerextensions/Share.ts +11 -0
  96. package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +14 -13
  97. package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
  98. package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -1
  99. package/src/sap/fe/core/controllerextensions/SideEffects.ts +27 -27
  100. package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +17 -8
  101. package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
  102. package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -1
  103. package/src/sap/fe/core/controllerextensions/ViewState.ts +35 -14
  104. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase-dbg.js +6 -5
  105. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +1 -1
  106. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js.map +1 -1
  107. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +7 -4
  108. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +285 -82
  109. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +1 -1
  110. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -1
  111. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +326 -89
  112. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +23 -2
  113. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +1 -1
  114. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -1
  115. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +32 -3
  116. package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +1 -1
  117. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -1
  118. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +2 -3
  119. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +17 -3
  120. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block-dbg.js +65 -34
  121. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +1 -1
  122. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js.map +1 -1
  123. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +33 -18
  124. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +45 -31
  125. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
  126. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
  127. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +52 -42
  128. package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +44 -49
  129. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +1 -1
  130. package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -1
  131. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +43 -63
  132. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
  133. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +77 -0
  134. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +6 -0
  135. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js.map +1 -0
  136. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +114 -0
  137. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +1505 -0
  138. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +6 -0
  139. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -0
  140. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +1985 -0
  141. package/src/sap/fe/core/controllerextensions/editFlow/operations-dbg.js +3 -1415
  142. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1 -1
  143. package/src/sap/fe/core/controllerextensions/editFlow/operations.js.map +1 -1
  144. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +2 -1921
  145. package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +10 -11
  146. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
  147. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
  148. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +9 -13
  149. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +43 -41
  150. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
  151. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
  152. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +44 -47
  153. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher-dbg.js +12 -1
  154. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js.map +1 -1
  155. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.ts +19 -0
  156. package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +12 -13
  157. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +1 -1
  158. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +1 -1
  159. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +32 -13
  160. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +4 -1
  161. package/src/sap/fe/core/controls/CommandExecution-dbg.js +16 -5
  162. package/src/sap/fe/core/controls/CommandExecution.js +1 -1
  163. package/src/sap/fe/core/controls/CommandExecution.js.map +1 -1
  164. package/src/sap/fe/core/controls/CommandExecution.ts +15 -3
  165. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +3 -2
  166. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
  167. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +1 -1
  168. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +4 -1
  169. package/src/sap/fe/core/controls/FilterBar-dbg.js +1 -1
  170. package/src/sap/fe/core/controls/FilterBar.ts +5 -0
  171. package/src/sap/fe/core/controls/FormElementWrapper-dbg.js +1 -1
  172. package/src/sap/fe/core/controls/FormElementWrapper.ts +3 -0
  173. package/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +1 -1
  174. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +7 -0
  175. package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +1 -1
  176. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +4 -0
  177. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +1 -1
  178. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +10 -0
  179. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +4 -3
  180. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +1 -1
  181. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -1
  182. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +3 -2
  183. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +0 -1
  184. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +2 -0
  185. package/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +6 -1
  186. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +1 -1
  187. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js.map +1 -1
  188. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +5 -0
  189. package/src/sap/fe/core/converters/ConverterContext-dbg.js +1 -1
  190. package/src/sap/fe/core/converters/ConverterContext.ts +2 -1
  191. package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -8
  192. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  193. package/src/sap/fe/core/converters/ManifestSettings.js.map +1 -1
  194. package/src/sap/fe/core/converters/ManifestSettings.ts +15 -6
  195. package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +17 -1
  196. package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
  197. package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -1
  198. package/src/sap/fe/core/converters/ManifestWrapper.ts +16 -0
  199. package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +61 -49
  200. package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  201. package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -1
  202. package/src/sap/fe/core/converters/MetaModelConverter.ts +65 -51
  203. package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -1
  204. package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
  205. package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
  206. package/src/sap/fe/core/converters/annotations/DataField-dbg.js +65 -16
  207. package/src/sap/fe/core/converters/annotations/DataField.js +1 -1
  208. package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -1
  209. package/src/sap/fe/core/converters/annotations/DataField.ts +62 -18
  210. package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1010 -957
  211. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
  212. package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
  213. package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +8 -8
  214. package/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
  215. package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -1
  216. package/src/sap/fe/core/converters/controls/Common/Action.ts +28 -26
  217. package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +95 -33
  218. package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
  219. package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
  220. package/src/sap/fe/core/converters/controls/Common/Chart.ts +133 -49
  221. package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +99 -62
  222. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
  223. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
  224. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +140 -75
  225. package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +1 -1
  226. package/src/sap/fe/core/converters/controls/Common/Form.ts +3 -3
  227. package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +6 -6
  228. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  229. package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -1
  230. package/src/sap/fe/core/converters/controls/Common/KPI.ts +15 -15
  231. package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +97 -69
  232. package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
  233. package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
  234. package/src/sap/fe/core/converters/controls/Common/Table.ts +161 -137
  235. package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +3 -3
  236. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
  237. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
  238. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +10 -9
  239. package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +48 -44
  240. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
  241. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -1
  242. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +130 -86
  243. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +34 -26
  244. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
  245. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -1
  246. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +62 -45
  247. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar-dbg.js +1 -1
  248. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +1 -1
  249. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +6 -6
  250. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +1 -1
  251. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js.map +1 -1
  252. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +5 -8
  253. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +34 -13
  254. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
  255. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -1
  256. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +54 -20
  257. package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +3 -1
  258. package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
  259. package/src/sap/fe/core/converters/helpers/Aggregation.ts +8 -0
  260. package/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +7 -6
  261. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +1 -1
  262. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js.map +1 -1
  263. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +19 -10
  264. package/src/sap/fe/core/converters/helpers/DataFieldHelper-dbg.js +1 -1
  265. package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +7 -2
  266. package/src/sap/fe/core/converters/helpers/ID-dbg.js +1 -1
  267. package/src/sap/fe/core/converters/helpers/ID.ts +2 -1
  268. package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +9 -8
  269. package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
  270. package/src/sap/fe/core/converters/helpers/IssueManager.js.map +1 -1
  271. package/src/sap/fe/core/converters/helpers/IssueManager.ts +8 -7
  272. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +8 -7
  273. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
  274. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -1
  275. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +9 -6
  276. package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +25 -33
  277. package/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
  278. package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -1
  279. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +35 -35
  280. package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +11 -4
  281. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
  282. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -1
  283. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +7 -1
  284. package/src/sap/fe/core/formatters/FPMFormatter-dbg.js +1 -1
  285. package/src/sap/fe/core/formatters/FPMFormatter.ts +1 -1
  286. package/src/sap/fe/core/formatters/FiscalFormat-dbg.js +2 -2
  287. package/src/sap/fe/core/formatters/FiscalFormat.ts +6 -1
  288. package/src/sap/fe/core/formatters/TableFormatter-dbg.js +2 -2
  289. package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
  290. package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -1
  291. package/src/sap/fe/core/formatters/TableFormatter.ts +1 -1
  292. package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +5 -5
  293. package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
  294. package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -1
  295. package/src/sap/fe/core/formatters/ValueFormatter.ts +6 -4
  296. package/src/sap/fe/core/fpm/Component-dbg.js +1 -1
  297. package/src/sap/fe/core/fpm/Component.ts +1 -0
  298. package/src/sap/fe/core/fpm/manifest.json +1 -1
  299. package/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +2 -2
  300. package/src/sap/fe/core/helpers/AppStartupHelper.js +1 -1
  301. package/src/sap/fe/core/helpers/AppStartupHelper.js.map +1 -1
  302. package/src/sap/fe/core/helpers/AppStartupHelper.ts +1 -1
  303. package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +6 -6
  304. package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
  305. package/src/sap/fe/core/helpers/BindingToolkit.ts +8 -8
  306. package/src/sap/fe/core/helpers/ClassSupport-dbg.js +1 -1
  307. package/src/sap/fe/core/helpers/ClassSupport.js.map +1 -1
  308. package/src/sap/fe/core/helpers/ClassSupport.ts +1 -0
  309. package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +93 -62
  310. package/src/sap/fe/core/helpers/DeleteHelper.js +1 -1
  311. package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -1
  312. package/src/sap/fe/core/helpers/DeleteHelper.ts +140 -185
  313. package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +20 -18
  314. package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
  315. package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
  316. package/src/sap/fe/core/helpers/MassEditHelper.ts +22 -23
  317. package/src/sap/fe/core/helpers/MessageStrip-dbg.js +4 -5
  318. package/src/sap/fe/core/helpers/MessageStrip.js +1 -1
  319. package/src/sap/fe/core/helpers/MessageStrip.js.map +1 -1
  320. package/src/sap/fe/core/helpers/MessageStrip.ts +4 -4
  321. package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +354 -0
  322. package/src/sap/fe/core/helpers/MetaModelFunction.js +6 -0
  323. package/src/sap/fe/core/helpers/MetaModelFunction.js.map +1 -0
  324. package/src/sap/fe/core/helpers/MetaModelFunction.ts +408 -0
  325. package/src/sap/fe/core/helpers/ModelHelper-dbg.js +13 -13
  326. package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
  327. package/src/sap/fe/core/helpers/ModelHelper.ts +13 -13
  328. package/src/sap/fe/core/helpers/PasteHelper-dbg.js +5 -5
  329. package/src/sap/fe/core/helpers/PasteHelper.js +1 -1
  330. package/src/sap/fe/core/helpers/PasteHelper.js.map +1 -1
  331. package/src/sap/fe/core/helpers/PasteHelper.ts +6 -10
  332. package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +26 -0
  333. package/src/sap/fe/core/helpers/ResourceModelHelper.js +6 -0
  334. package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -0
  335. package/src/sap/fe/core/helpers/ResourceModelHelper.ts +19 -0
  336. package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +93 -18
  337. package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  338. package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -1
  339. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +70 -17
  340. package/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +2 -2
  341. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
  342. package/src/sap/fe/core/helpers/SemanticKeyHelper.js.map +1 -1
  343. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
  344. package/src/sap/fe/core/helpers/Synchronization-dbg.js +1 -1
  345. package/src/sap/fe/core/helpers/Synchronization.ts +2 -0
  346. package/src/sap/fe/core/helpers/TypeGuards-dbg.js +5 -1
  347. package/src/sap/fe/core/helpers/TypeGuards.js +1 -1
  348. package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -1
  349. package/src/sap/fe/core/helpers/TypeGuards.ts +12 -1
  350. package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +2 -1
  351. package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +1 -1
  352. package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +6 -2
  353. package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +1 -1
  354. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +3 -1
  355. package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +3 -3
  356. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +1 -1
  357. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +1 -1
  358. package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +1 -1
  359. package/src/sap/fe/core/library-dbg.js +2 -2
  360. package/src/sap/fe/core/library-preload.js +127 -125
  361. package/src/sap/fe/core/library-preload.js.map +1 -1
  362. package/src/sap/fe/core/library.js +1 -1
  363. package/src/sap/fe/core/library.ts +7 -0
  364. package/src/sap/fe/core/manifest.json +1 -1
  365. package/src/sap/fe/core/messagebundle.properties +33 -0
  366. package/src/sap/fe/core/messagebundle_ar.properties +12 -10
  367. package/src/sap/fe/core/messagebundle_bg.properties +11 -9
  368. package/src/sap/fe/core/messagebundle_ca.properties +11 -9
  369. package/src/sap/fe/core/messagebundle_cs.properties +11 -9
  370. package/src/sap/fe/core/messagebundle_cy.properties +11 -9
  371. package/src/sap/fe/core/messagebundle_da.properties +11 -9
  372. package/src/sap/fe/core/messagebundle_de.properties +3 -1
  373. package/src/sap/fe/core/messagebundle_el.properties +11 -9
  374. package/src/sap/fe/core/messagebundle_en.properties +3 -1
  375. package/src/sap/fe/core/messagebundle_en_GB.properties +2 -0
  376. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +2 -0
  377. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +20 -0
  378. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +21 -3
  379. package/src/sap/fe/core/messagebundle_es.properties +11 -9
  380. package/src/sap/fe/core/messagebundle_es_MX.properties +11 -9
  381. package/src/sap/fe/core/messagebundle_et.properties +11 -9
  382. package/src/sap/fe/core/messagebundle_fi.properties +11 -9
  383. package/src/sap/fe/core/messagebundle_fr.properties +11 -9
  384. package/src/sap/fe/core/messagebundle_fr_CA.properties +3 -1
  385. package/src/sap/fe/core/messagebundle_hi.properties +2 -0
  386. package/src/sap/fe/core/messagebundle_hr.properties +11 -9
  387. package/src/sap/fe/core/messagebundle_hu.properties +11 -9
  388. package/src/sap/fe/core/messagebundle_id.properties +3 -1
  389. package/src/sap/fe/core/messagebundle_it.properties +11 -9
  390. package/src/sap/fe/core/messagebundle_iw.properties +11 -9
  391. package/src/sap/fe/core/messagebundle_ja.properties +11 -9
  392. package/src/sap/fe/core/messagebundle_kk.properties +11 -9
  393. package/src/sap/fe/core/messagebundle_ko.properties +2 -0
  394. package/src/sap/fe/core/messagebundle_lt.properties +11 -9
  395. package/src/sap/fe/core/messagebundle_lv.properties +2 -0
  396. package/src/sap/fe/core/messagebundle_ms.properties +12 -10
  397. package/src/sap/fe/core/messagebundle_nl.properties +12 -10
  398. package/src/sap/fe/core/messagebundle_no.properties +11 -9
  399. package/src/sap/fe/core/messagebundle_pl.properties +2 -0
  400. package/src/sap/fe/core/messagebundle_pt.properties +11 -9
  401. package/src/sap/fe/core/messagebundle_pt_PT.properties +11 -9
  402. package/src/sap/fe/core/messagebundle_ro.properties +3 -1
  403. package/src/sap/fe/core/messagebundle_ru.properties +3 -1
  404. package/src/sap/fe/core/messagebundle_sh.properties +11 -9
  405. package/src/sap/fe/core/messagebundle_sk.properties +11 -9
  406. package/src/sap/fe/core/messagebundle_sl.properties +11 -9
  407. package/src/sap/fe/core/messagebundle_sv.properties +2 -0
  408. package/src/sap/fe/core/messagebundle_th.properties +11 -9
  409. package/src/sap/fe/core/messagebundle_tr.properties +11 -9
  410. package/src/sap/fe/core/messagebundle_uk.properties +11 -9
  411. package/src/sap/fe/core/messagebundle_vi.properties +12 -10
  412. package/src/sap/fe/core/messagebundle_zh_CN.properties +2 -0
  413. package/src/sap/fe/core/messagebundle_zh_TW.properties +2 -0
  414. package/src/sap/fe/core/operationsHelper-dbg.js +70 -44
  415. package/src/sap/fe/core/operationsHelper.js +1 -1
  416. package/src/sap/fe/core/operationsHelper.js.map +1 -1
  417. package/src/sap/fe/core/operationsHelper.ts +88 -63
  418. package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +1 -1
  419. package/src/sap/fe/core/rootView/Fcl.controller.ts +10 -0
  420. package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +2 -2
  421. package/src/sap/fe/core/rootView/NavContainer.controller.js +1 -1
  422. package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -1
  423. package/src/sap/fe/core/rootView/NavContainer.controller.ts +5 -3
  424. package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +4 -3
  425. package/src/sap/fe/core/rootView/RootViewBaseController.js +1 -1
  426. package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -1
  427. package/src/sap/fe/core/rootView/RootViewBaseController.ts +15 -5
  428. package/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +1 -1
  429. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
  430. package/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +1 -1
  431. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js.map +1 -1
  432. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +15 -1
  433. package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +1 -1
  434. package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
  435. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +4 -1
  436. package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +9 -1
  437. package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
  438. package/src/sap/fe/core/services/NavigationServiceFactory.ts +19 -1
  439. package/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +2 -2
  440. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +1 -1
  441. package/src/sap/fe/core/services/ResourceModelServiceFactory.js.map +1 -1
  442. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +10 -3
  443. package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +3 -3
  444. package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
  445. package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
  446. package/src/sap/fe/core/services/RoutingServiceFactory.ts +29 -3
  447. package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +1 -1
  448. package/src/sap/fe/core/services/ShellServicesFactory.ts +14 -2
  449. package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +448 -279
  450. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
  451. package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -1
  452. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +502 -333
  453. package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +18 -5
  454. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
  455. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
  456. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +41 -12
  457. package/src/sap/fe/core/support/Diagnostics-dbg.js +1 -1
  458. package/src/sap/fe/core/support/Diagnostics.ts +5 -0
  459. package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +185 -86
  460. package/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
  461. package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -1
  462. package/src/sap/fe/core/templating/DataModelPathHelper.ts +190 -82
  463. package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +1 -1
  464. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +1 -1
  465. package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +2 -3
  466. package/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
  467. package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -1
  468. package/src/sap/fe/core/templating/EntitySetHelper.ts +1 -3
  469. package/src/sap/fe/core/templating/FilterHelper-dbg.js +3 -3
  470. package/src/sap/fe/core/templating/FilterHelper.js +1 -1
  471. package/src/sap/fe/core/templating/FilterHelper.js.map +1 -1
  472. package/src/sap/fe/core/templating/FilterHelper.ts +5 -3
  473. package/src/sap/fe/core/templating/PropertyHelper-dbg.js +1 -1
  474. package/src/sap/fe/core/templating/PropertyHelper.ts +2 -2
  475. package/src/sap/fe/core/templating/UIFormatters-dbg.js +1 -1
  476. package/src/sap/fe/core/templating/UIFormatters.ts +4 -0
  477. package/src/sap/fe/core/type/DateTimeWithTimezone-dbg.js +1 -1
  478. package/src/sap/fe/core/type/DateTimeWithTimezone.ts +2 -0
  479. package/src/sap/fe/core/type/FiscalDate-dbg.js +2 -2
  480. package/src/sap/fe/core/type/FiscalDate.js.map +1 -1
  481. package/src/sap/fe/core/type/FiscalDate.ts +2 -1
  482. package/src/sap/fe/core/type/TypeUtil-dbg.js +5 -10
  483. package/src/sap/fe/core/type/TypeUtil.js +1 -1
  484. package/src/sap/fe/core/type/TypeUtil.js.map +1 -1
  485. package/src/sap/fe/core/type/TypeUtil.ts +3 -6
  486. package/src/sap/fe/core/buildingBlocks/BuildingBlock-dbg.js +0 -410
  487. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +0 -15
  488. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js.map +0 -1
  489. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +0 -536
  490. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment-dbg.js +0 -44
  491. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js +0 -6
  492. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js.map +0 -1
  493. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.ts +0 -14
  494. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime-dbg.js +0 -948
  495. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +0 -19
  496. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js.map +0 -1
  497. package/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +0 -711
  498. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +0 -6
  499. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js.map +0 -1
  500. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +0 -863
  501. package/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +0 -151
  502. package/src/sap/fe/core/controls/ConditionalWrapper.js +0 -6
  503. package/src/sap/fe/core/controls/ConditionalWrapper.js.map +0 -1
  504. package/src/sap/fe/core/controls/ConditionalWrapper.ts +0 -88
  505. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper-dbg.js +0 -330
  506. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +0 -6
  507. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js.map +0 -1
  508. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +0 -292
  509. package/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +0 -126
  510. package/src/sap/fe/core/controls/CustomQuickViewPage.js +0 -6
  511. package/src/sap/fe/core/controls/CustomQuickViewPage.js.map +0 -1
  512. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +0 -105
  513. package/src/sap/fe/core/controls/FieldWrapper-dbg.js +0 -194
  514. package/src/sap/fe/core/controls/FieldWrapper.js +0 -6
  515. package/src/sap/fe/core/controls/FieldWrapper.js.map +0 -1
  516. package/src/sap/fe/core/controls/FieldWrapper.ts +0 -121
  517. package/src/sap/fe/core/controls/FileWrapper-dbg.js +0 -280
  518. package/src/sap/fe/core/controls/FileWrapper.js +0 -6
  519. package/src/sap/fe/core/controls/FileWrapper.js.map +0 -1
  520. package/src/sap/fe/core/controls/FileWrapper.ts +0 -202
  521. package/src/sap/fe/core/helpers/SideEffectsHelper-dbg.js +0 -141
  522. package/src/sap/fe/core/helpers/SideEffectsHelper.js +0 -6
  523. package/src/sap/fe/core/helpers/SideEffectsHelper.js.map +0 -1
  524. package/src/sap/fe/core/helpers/SideEffectsHelper.ts +0 -129
@@ -68,7 +68,9 @@ class NavContainerController extends BaseController {
68
68
  })
69
69
  )
70
70
  viewState!: ViewState;
71
+
71
72
  oPage?: Page;
73
+
72
74
  oIllustratedMessage?: IllustratedMessage;
73
75
 
74
76
  onContainerReady() {
@@ -111,7 +113,7 @@ class NavContainerController extends BaseController {
111
113
  */
112
114
 
113
115
  _getNavContainer() {
114
- return this.getView().getContent()[0];
116
+ return this.getAppContentContainer() as NavContainer;
115
117
  }
116
118
 
117
119
  /**
@@ -120,7 +122,7 @@ class NavContainerController extends BaseController {
120
122
  * @returns {Array} Return the views.
121
123
  */
122
124
  getInstancedViews(): XMLView[] {
123
- return ((this._getNavContainer() as NavContainer).getPages() as ComponentContainer[]).map((oPage) =>
125
+ return (this._getNavContainer().getPages() as ComponentContainer[]).map((oPage) =>
124
126
  (oPage as any).getComponentInstance().getRootControl()
125
127
  );
126
128
  }
@@ -155,7 +157,7 @@ class NavContainerController extends BaseController {
155
157
  displayErrorPage(sErrorMessage: string, mParameters: any): Promise<boolean> {
156
158
  return new Promise((resolve: any, reject: any) => {
157
159
  try {
158
- const oNavContainer = this._getNavContainer() as NavContainer;
160
+ const oNavContainer = this._getNavContainer();
159
161
 
160
162
  if (!this.oPage) {
161
163
  this.oPage = new Page({
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log", "sap/fe/core/BaseController", "sap/fe/core/CommonUtils", "sap/fe/core/controllerextensions/Placeholder", "sap/fe/core/controllerextensions/ViewState", "sap/fe/core/helpers/ClassSupport", "sap/fe/macros/table/TableSizeHelper", "sap/ui/base/BindingParser", "sap/ui/core/routing/HashChanger", "sap/ui/model/json/JSONModel", "sap/ui/model/odata/v4/AnnotationHelper", "sap/ui/thirdparty/URI"], function (Log, BaseController, CommonUtils, Placeholder, ViewState, ClassSupport, TableSizeHelper, BindingParser, HashChanger, JSONModel, AnnotationHelper, URI) {
5
+ sap.ui.define(["sap/base/Log", "sap/fe/core/BaseController", "sap/fe/core/CommonUtils", "sap/fe/core/controllerextensions/Placeholder", "sap/fe/core/controllerextensions/ViewState", "sap/fe/core/helpers/ClassSupport", "sap/fe/macros/table/TableSizeHelper", "sap/ui/base/BindingParser", "sap/ui/core/routing/HashChanger", "sap/ui/model/json/JSONModel", "sap/ui/model/odata/v4/AnnotationHelper"], function (Log, BaseController, CommonUtils, Placeholder, ViewState, ClassSupport, TableSizeHelper, BindingParser, HashChanger, JSONModel, AnnotationHelper) {
6
6
  "use strict";
7
7
 
8
8
  var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
@@ -49,6 +49,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/BaseController", "sap/fe/core/Common
49
49
  oModel.destroy();
50
50
  });
51
51
  }
52
+
52
53
  /**
53
54
  * Convenience method for getting the resource bundle.
54
55
  *
@@ -177,7 +178,6 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/BaseController", "sap/fe/core/Common
177
178
  _proto._computeTitleInfo = function _computeTitleInfo(title, subtitle, sIntent) {
178
179
  let icon = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
179
180
  const aParts = sIntent.split("/");
180
- sIntent = URI.decode(sIntent);
181
181
  if (aParts[aParts.length - 1].indexOf("?") === -1) {
182
182
  sIntent += "?restoreHistory=true";
183
183
  } else {
@@ -316,6 +316,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/BaseController", "sap/fe/core/Common
316
316
  return oTitleInfo;
317
317
  });
318
318
  }
319
+
319
320
  /**
320
321
  * Ensure that the ushell service receives all elements
321
322
  * (title, subtitle, intent, icon) as strings.
@@ -503,4 +504,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/BaseController", "sap/fe/core/Common
503
504
  })), _class2)) || _class);
504
505
  return RootViewBaseController;
505
506
  }, false);
506
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSb290Vmlld0Jhc2VDb250cm9sbGVyIiwiZGVmaW5lVUk1Q2xhc3MiLCJ1c2luZ0V4dGVuc2lvbiIsIlBsYWNlaG9sZGVyIiwiVmlld1N0YXRlIiwiYklzQ29tcHV0aW5nVGl0bGVIaWVyYWNoeSIsIm9uSW5pdCIsIlRhYmxlU2l6ZUhlbHBlciIsImluaXQiLCJfYUhlbHBlck1vZGVscyIsImdldFBsYWNlaG9sZGVyIiwib1BsYWNlaG9sZGVyIiwiYXR0YWNoUm91dGVNYXRjaGVycyIsImdldEFwcENvbXBvbmVudCIsImdldFJvdXRpbmdTZXJ2aWNlIiwiYXR0YWNoQWZ0ZXJSb3V0ZU1hdGNoZWQiLCJfb25BZnRlclJvdXRlTWF0Y2hlZCIsIm9uRXhpdCIsImRldGFjaEFmdGVyUm91dGVNYXRjaGVkIiwib1JvdXRlciIsInVuZGVmaW5lZCIsImV4aXQiLCJmb3JFYWNoIiwib01vZGVsIiwiZGVzdHJveSIsImdldFJlc291cmNlQnVuZGxlIiwiZ2V0T3duZXJDb21wb25lbnQiLCJnZXRNb2RlbCIsImdldFJvdXRlciIsIl9jcmVhdGVIZWxwZXJNb2RlbCIsIkpTT05Nb2RlbCIsInB1c2giLCJ3YWl0Rm9yUmlnaHRNb3N0Vmlld1JlYWR5Iiwib0V2ZW50IiwiUHJvbWlzZSIsInJlc29sdmUiLCJhQ29udGFpbmVycyIsImdldFBhcmFtZXRlciIsImFGRUNvbnRhaW5lcnMiLCJvQ29udGFpbmVyIiwib1ZpZXciLCJnZXRDb21wb25lbnRJbnN0YW5jZSIsIm9Db21wb25lbnRJbnN0YW5jZSIsImdldFJvb3RDb250cm9sIiwiZ2V0Q29udHJvbGxlciIsInBhZ2VSZWFkeSIsIm9SaWdodE1vc3RGRVZpZXciLCJsZW5ndGgiLCJpc1BhZ2VSZWFkeSIsImF0dGFjaEV2ZW50T25jZSIsIl9vUm91dGVNYXRjaGVkUHJvbWlzZSIsInRoZW4iLCJvUm9vdENvbnRyb2wiLCJnZXRWaWV3IiwiZ2V0Q29udGVudCIsImdldEF1dG9Gb2N1cyIsInNldFByb3BlcnR5Iiwib0FwcENvbXBvbmVudCIsIl9zY3JvbGxUYWJsZXNUb0xhc3ROYXZpZ2F0ZWRJdGVtcyIsImdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwiZ2V0Q2FwYWJpbGl0aWVzIiwiVVNoZWxsIiwiX2NvbXB1dGVUaXRsZUhpZXJhcmNoeSIsImJGb3JjZUZvY3VzIiwiZ2V0Um91dGVyUHJveHkiLCJpc0ZvY3VzRm9yY2VkIiwic2V0Rm9jdXNGb3JjZWQiLCJvblBhZ2VSZWFkeSIsImdldFBhcmVudCIsImZvcmNlRm9jdXMiLCJvbkNvbnRhaW5lclJlYWR5IiwiY2F0Y2giLCJvRXJyb3IiLCJMb2ciLCJlcnJvciIsImZpbmFsbHkiLCJfZ2V0VGl0bGVIaWVyYXJjaHlDYWNoZSIsIm9UaXRsZUhpZXJhcmNoeUNhY2hlIiwiX2NvbXB1dGVUaXRsZUluZm8iLCJ0aXRsZSIsInN1YnRpdGxlIiwic0ludGVudCIsImljb24iLCJhUGFydHMiLCJzcGxpdCIsIlVSSSIsImRlY29kZSIsImluZGV4T2YiLCJpbnRlbnQiLCJfZm9ybWF0VGl0bGUiLCJkaXNwbGF5TW9kZSIsInRpdGxlVmFsdWUiLCJ0aXRsZURlc2NyaXB0aW9uIiwiZm9ybWF0dGVkVGl0bGUiLCJfZmV0Y2hUaXRsZVZhbHVlIiwic1BhdGgiLCJvTWV0YU1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwic01ldGFQYXRoIiwiZ2V0TWV0YVBhdGgiLCJvQmluZGluZ1ZpZXdDb250ZXh0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJzVmFsdWVFeHByZXNzaW9uIiwiQW5ub3RhdGlvbkhlbHBlciIsImZvcm1hdCIsImdldE9iamVjdCIsImNvbnRleHQiLCJzVGV4dEV4cHJlc3Npb24iLCJvUHJvcGVydHlDb250ZXh0IiwiYVByb21pc2VzIiwib1ZhbHVlRXhwcmVzc2lvbiIsIkJpbmRpbmdQYXJzZXIiLCJjb21wbGV4UGFyc2VyIiwib1Byb21pc2VGb3JEaXNwbGF5TW9kZSIsIkNvbW1vblV0aWxzIiwiY29tcHV0ZURpc3BsYXlNb2RlIiwic1ZhbHVlUGF0aCIsInBhcnRzIiwicGF0aCIsImZuVmFsdWVGb3JtYXR0ZXIiLCJmb3JtYXR0ZXIiLCJvVmFsdWVCaW5kaW5nIiwiYmluZFByb3BlcnR5IiwiaW5pdGlhbGl6ZSIsIm9Qcm9taXNlRm9yVGl0bGVWYWx1ZSIsImZuQ2hhbmdlIiwic1RhcmdldFZhbHVlIiwiZ2V0U291cmNlIiwiZ2V0VmFsdWUiLCJkZXRhY2hDaGFuZ2UiLCJhdHRhY2hDaGFuZ2UiLCJvVGV4dEV4cHJlc3Npb24iLCJzVGV4dFBhdGgiLCJsYXN0SW5kZXhPZiIsInNsaWNlIiwiZm5UZXh0Rm9ybWF0dGVyIiwib1RleHRCaW5kaW5nIiwib1Byb21pc2VGb3JUaXRsZVRleHQiLCJzVGFyZ2V0VGV4dCIsInRpdGxlSW5mbyIsImFsbCIsIl9nZXRBcHBTcGVjaWZpY0hhc2giLCJoYXNoQ2hhbmdlciIsIkhhc2hDaGFuZ2VyIiwiZ2V0SW5zdGFuY2UiLCJocmVmRm9yQXBwU3BlY2lmaWNIYXNoIiwiX2dldEhhc2giLCJnZXRIYXNoIiwiZ2V0VGl0bGVJbmZvRnJvbVBhdGgiLCJzRW50aXR5UGF0aCIsInNUeXBlTmFtZSIsInNBcHBTcGVjaWZpY0hhc2giLCJzVGl0bGUiLCJvVGl0bGVJbmZvIiwiX2Vuc3VyZUhpZXJhcmNoeUVsZW1lbnRzQXJlU3RyaW5ncyIsImFIaWVyYXJjaHkiLCJhSGllcmFyY2h5U2hlbGwiLCJsZXZlbCIsIm9IaWVyYXJjaHkiLCJvU2hlbGxIaWVyYXJjaHkiLCJrZXkiLCJTdHJpbmciLCJfZ2V0VGFyZ2V0VHlwZUZyb21IYXNoIiwic0hhc2giLCJzVGFyZ2V0VHlwZSIsImFSb3V0ZXMiLCJnZXRNYW5pZmVzdEVudHJ5Iiwicm91dGluZyIsInJvdXRlcyIsInJvdXRlIiwib1JvdXRlIiwiZ2V0Um91dGUiLCJuYW1lIiwibWF0Y2giLCJzVGFyZ2V0IiwiQXJyYXkiLCJpc0FycmF5IiwidGFyZ2V0IiwiZ2V0VGFyZ2V0IiwiX29PcHRpb25zIiwib0NvbnRleHQiLCJnZXRCaW5kaW5nQ29udGV4dCIsIm9DdXJyZW50UGFnZSIsImFUaXRsZUluZm9ybWF0aW9uUHJvbWlzZXMiLCJtYW5pZmVzdEFwcFNldHRpbmdzIiwic0FwcFRpdGxlIiwic0FwcFN1YlRpdGxlIiwic3ViVGl0bGUiLCJhcHBJY29uIiwib1BhZ2VUaXRsZUluZm9ybWF0aW9uIiwic05ld1BhdGgiLCJfZ2V0UGFnZVRpdGxlSW5mb3JtYXRpb24iLCJnZXRQYXRoIiwiYVBhdGhQYXJ0cyIsInNoaWZ0IiwicG9wIiwic1BhdGhQYXJ0Iiwic1BhcmFtZXRlclBhdGgiLCJiSXNQYXJhbWV0ZXJpemVkIiwicmVqZWN0IiwiYVRpdGxlSW5mb0hpZXJhcmNoeSIsImFUaXRsZUluZm9IaWVyYXJjaHlTaGVsbCIsInJldmVyc2UiLCJnZXRTaGVsbFNlcnZpY2VzIiwic2V0SGllcmFyY2h5IiwiX3NldFNoZWxsTWVudVRpdGxlIiwic0Vycm9yTWVzc2FnZSIsImNhbGN1bGF0ZUxheW91dCIsImlOZXh0RkNMTGV2ZWwiLCJzUHJvcG9zZWRMYXlvdXQiLCJrZWVwQ3VycmVudExheW91dCIsIm9uQ29udGV4dEJvdW5kVG9WaWV3Iiwic0RlZXBlc3RQYXRoIiwiZ2V0UHJvcGVydHkiLCJzVmlld0NvbnRleHRQYXRoIiwiZGlzcGxheUVycm9yUGFnZSIsIm1QYXJhbWV0ZXJzIiwidXBkYXRlVUlTdGF0ZUZvclZpZXciLCJGQ0xMZXZlbCIsImdldEluc3RhbmNlZFZpZXdzIiwiaXNGY2xFbmFibGVkIiwic2V0VGl0bGUiLCJnZXRBcHBDb250ZW50Q29udGFpbmVyIiwiYXBwQ29udGVudElkIiwiY29uZmlnIiwiY29udHJvbElkIiwiYnlJZCIsIkJhc2VDb250cm9sbGVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJSb290Vmlld0Jhc2VDb250cm9sbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgRmxleGlibGVDb2x1bW5MYXlvdXQgZnJvbSBcInNhcC9mL0ZsZXhpYmxlQ29sdW1uTGF5b3V0XCI7XG5pbXBvcnQgQmFzZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL0Jhc2VDb250cm9sbGVyXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgUGxhY2Vob2xkZXIgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL1BsYWNlaG9sZGVyXCI7XG5pbXBvcnQgVmlld1N0YXRlIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9WaWV3U3RhdGVcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCB1c2luZ0V4dGVuc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgRmNsQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvcm9vdFZpZXcvRmNsLmNvbnRyb2xsZXJcIjtcbmltcG9ydCBUYWJsZVNpemVIZWxwZXIgZnJvbSBcInNhcC9mZS9tYWNyb3MvdGFibGUvVGFibGVTaXplSGVscGVyXCI7XG5pbXBvcnQgdHlwZSBOYXZDb250YWluZXIgZnJvbSBcInNhcC9tL05hdkNvbnRhaW5lclwiO1xuaW1wb3J0IEJpbmRpbmdQYXJzZXIgZnJvbSBcInNhcC91aS9iYXNlL0JpbmRpbmdQYXJzZXJcIjtcbmltcG9ydCB0eXBlIFhNTFZpZXcgZnJvbSBcInNhcC91aS9jb3JlL212Yy9YTUxWaWV3XCI7XG5pbXBvcnQgSGFzaENoYW5nZXIgZnJvbSBcInNhcC91aS9jb3JlL3JvdXRpbmcvSGFzaENoYW5nZXJcIjtcbmltcG9ydCB0eXBlIFJvdXRlciBmcm9tIFwic2FwL3VpL2NvcmUvcm91dGluZy9Sb3V0ZXJcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCBBbm5vdGF0aW9uSGVscGVyIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQW5ub3RhdGlvbkhlbHBlclwiO1xuaW1wb3J0IHR5cGUgUmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL3Jlc291cmNlL1Jlc291cmNlTW9kZWxcIjtcbmltcG9ydCBVUkkgZnJvbSBcInNhcC91aS90aGlyZHBhcnR5L1VSSVwiO1xuaW1wb3J0IHR5cGUgQXBwQ29tcG9uZW50IGZyb20gXCIuLi9BcHBDb21wb25lbnRcIjtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUucm9vdFZpZXcuUm9vdFZpZXdCYXNlQ29udHJvbGxlclwiKVxuY2xhc3MgUm9vdFZpZXdCYXNlQ29udHJvbGxlciBleHRlbmRzIEJhc2VDb250cm9sbGVyIHtcblx0QHVzaW5nRXh0ZW5zaW9uKFBsYWNlaG9sZGVyKVxuXHRvUGxhY2Vob2xkZXIhOiBQbGFjZWhvbGRlcjtcblxuXHRAdXNpbmdFeHRlbnNpb24oVmlld1N0YXRlKVxuXHR2aWV3U3RhdGUhOiBWaWV3U3RhdGU7XG5cdHByaXZhdGUgX2FIZWxwZXJNb2RlbHMhOiBhbnlbXTtcblx0cHJpdmF0ZSBvUm91dGVyPzogUm91dGVyO1xuXHRwcml2YXRlIF9vUm91dGVNYXRjaGVkUHJvbWlzZTogYW55O1xuXHRwcml2YXRlIG9UaXRsZUhpZXJhcmNoeUNhY2hlOiBhbnk7XG5cdHByaXZhdGUgYklzQ29tcHV0aW5nVGl0bGVIaWVyYWNoeSA9IGZhbHNlO1xuXG5cdG9uSW5pdCgpIHtcblx0XHRUYWJsZVNpemVIZWxwZXIuaW5pdCgpO1xuXG5cdFx0dGhpcy5fYUhlbHBlck1vZGVscyA9IFtdO1xuXHR9XG5cblx0Z2V0UGxhY2Vob2xkZXIoKSB7XG5cdFx0cmV0dXJuIHRoaXMub1BsYWNlaG9sZGVyO1xuXHR9XG5cdGF0dGFjaFJvdXRlTWF0Y2hlcnMoKSB7XG5cdFx0dGhpcy5vUGxhY2Vob2xkZXIuYXR0YWNoUm91dGVNYXRjaGVycygpO1xuXHRcdHRoaXMuZ2V0QXBwQ29tcG9uZW50KCkuZ2V0Um91dGluZ1NlcnZpY2UoKS5hdHRhY2hBZnRlclJvdXRlTWF0Y2hlZCh0aGlzLl9vbkFmdGVyUm91dGVNYXRjaGVkLCB0aGlzKTtcblx0fVxuXHRvbkV4aXQoKSB7XG5cdFx0dGhpcy5nZXRBcHBDb21wb25lbnQoKS5nZXRSb3V0aW5nU2VydmljZSgpLmRldGFjaEFmdGVyUm91dGVNYXRjaGVkKHRoaXMuX29uQWZ0ZXJSb3V0ZU1hdGNoZWQsIHRoaXMpO1xuXHRcdHRoaXMub1JvdXRlciA9IHVuZGVmaW5lZDtcblxuXHRcdFRhYmxlU2l6ZUhlbHBlci5leGl0KCk7XG5cblx0XHQvLyBEZXN0cm95IGFsbCBKU09OIG1vZGVscyBjcmVhdGVkIGR5bmFtaWNhbGx5IGZvciB0aGUgdmlld3Ncblx0XHR0aGlzLl9hSGVscGVyTW9kZWxzLmZvckVhY2goZnVuY3Rpb24gKG9Nb2RlbDogYW55KSB7XG5cdFx0XHRvTW9kZWwuZGVzdHJveSgpO1xuXHRcdH0pO1xuXHR9XG5cdC8qKlxuXHQgKiBDb252ZW5pZW5jZSBtZXRob2QgZm9yIGdldHRpbmcgdGhlIHJlc291cmNlIGJ1bmRsZS5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKiBAcmV0dXJucyBUaGUgcmVzb3VyY2VNb2RlbCBvZiB0aGUgY29tcG9uZW50XG5cdCAqL1xuXHRnZXRSZXNvdXJjZUJ1bmRsZSgpIHtcblx0XHRyZXR1cm4gKHRoaXMuZ2V0T3duZXJDb21wb25lbnQoKS5nZXRNb2RlbChcImkxOG5cIikgYXMgUmVzb3VyY2VNb2RlbCkuZ2V0UmVzb3VyY2VCdW5kbGUoKTtcblx0fVxuXHRnZXRSb3V0ZXIoKSB7XG5cdFx0aWYgKCF0aGlzLm9Sb3V0ZXIpIHtcblx0XHRcdHRoaXMub1JvdXRlciA9IHRoaXMuZ2V0QXBwQ29tcG9uZW50KCkuZ2V0Um91dGVyKCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMub1JvdXRlcjtcblx0fVxuXG5cdF9jcmVhdGVIZWxwZXJNb2RlbCgpIHtcblx0XHQvLyBXZSBrZWVwIGEgcmVmZXJlbmNlIG9uIHRoZSBtb2RlbHMgY3JlYXRlZCBkeW5hbWljYWxseSwgYXMgdGhleSBkb24ndCBnZXQgZGVzdHJveWVkXG5cdFx0Ly8gYXV0b21hdGljYWxseSB3aGVuIHRoZSB2aWV3IGlzIGRlc3Ryb3llZC5cblx0XHQvLyBUaGlzIGlzIGRvbmUgZHVyaW5nIG9uRXhpdFxuXHRcdGNvbnN0IG9Nb2RlbCA9IG5ldyBKU09OTW9kZWwoKTtcblx0XHR0aGlzLl9hSGVscGVyTW9kZWxzLnB1c2gob01vZGVsKTtcblxuXHRcdHJldHVybiBvTW9kZWw7XG5cdH1cblxuXHQvKipcblx0ICogRnVuY3Rpb24gd2FpdGluZyBmb3IgdGhlIFJpZ2h0IG1vc3QgdmlldyB0byBiZSByZWFkeS5cblx0ICpcblx0ICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLnJvb3RWaWV3LkJhc2VDb250cm9sbGVyXG5cdCAqIEBwYXJhbSBvRXZlbnQgUmVmZXJlbmNlIGFuIEV2ZW50IHBhcmFtZXRlciBjb21pbmcgZnJvbSByb3V0ZU1hdGNoZWQgZXZlbnRcblx0ICogQHJldHVybnMgQSBwcm9taXNlIGluZGljYXRpbmcgd2hlbiB0aGUgcmlnaHQgbW9zdCB2aWV3IGlzIHJlYWR5XG5cdCAqL1xuXHR3YWl0Rm9yUmlnaHRNb3N0Vmlld1JlYWR5KG9FdmVudDogYW55KSB7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xuXHRcdFx0Y29uc3QgYUNvbnRhaW5lcnMgPSBvRXZlbnQuZ2V0UGFyYW1ldGVyKFwidmlld3NcIiksXG5cdFx0XHRcdC8vIFRoZXJlIGNhbiBhbHNvIGJlIHJldXNlIGNvbXBvbmVudHMgaW4gdGhlIHZpZXcsIHJlbW92ZSB0aGVtIGJlZm9yZSBwcm9jZXNzaW5nLlxuXHRcdFx0XHRhRkVDb250YWluZXJzOiBhbnlbXSA9IFtdO1xuXHRcdFx0YUNvbnRhaW5lcnMuZm9yRWFjaChmdW5jdGlvbiAob0NvbnRhaW5lcjogYW55KSB7XG5cdFx0XHRcdGxldCBvVmlldyA9IG9Db250YWluZXI7XG5cdFx0XHRcdGlmIChvQ29udGFpbmVyICYmIG9Db250YWluZXIuZ2V0Q29tcG9uZW50SW5zdGFuY2UpIHtcblx0XHRcdFx0XHRjb25zdCBvQ29tcG9uZW50SW5zdGFuY2UgPSBvQ29udGFpbmVyLmdldENvbXBvbmVudEluc3RhbmNlKCk7XG5cdFx0XHRcdFx0b1ZpZXcgPSBvQ29tcG9uZW50SW5zdGFuY2UuZ2V0Um9vdENvbnRyb2woKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAob1ZpZXcgJiYgb1ZpZXcuZ2V0Q29udHJvbGxlcigpICYmIG9WaWV3LmdldENvbnRyb2xsZXIoKS5wYWdlUmVhZHkpIHtcblx0XHRcdFx0XHRhRkVDb250YWluZXJzLnB1c2gob1ZpZXcpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdGNvbnN0IG9SaWdodE1vc3RGRVZpZXcgPSBhRkVDb250YWluZXJzW2FGRUNvbnRhaW5lcnMubGVuZ3RoIC0gMV07XG5cdFx0XHRpZiAob1JpZ2h0TW9zdEZFVmlldyAmJiBvUmlnaHRNb3N0RkVWaWV3LmdldENvbnRyb2xsZXIoKS5wYWdlUmVhZHkuaXNQYWdlUmVhZHkoKSkge1xuXHRcdFx0XHRyZXNvbHZlKG9SaWdodE1vc3RGRVZpZXcpO1xuXHRcdFx0fSBlbHNlIGlmIChvUmlnaHRNb3N0RkVWaWV3KSB7XG5cdFx0XHRcdG9SaWdodE1vc3RGRVZpZXcuZ2V0Q29udHJvbGxlcigpLnBhZ2VSZWFkeS5hdHRhY2hFdmVudE9uY2UoXCJwYWdlUmVhZHlcIiwgZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdHJlc29sdmUob1JpZ2h0TW9zdEZFVmlldyk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIENhbGxiYWNrIHdoZW4gdGhlIG5hdmlnYXRpb24gaXMgZG9uZS5cblx0ICogIC0gdXBkYXRlIHRoZSBzaGVsbCB0aXRsZS5cblx0ICogIC0gdXBkYXRlIHRhYmxlIHNjcm9sbC5cblx0ICogIC0gY2FsbCBvblBhZ2VSZWFkeSBvbiB0aGUgcmlnaHRNb3N0Vmlldy5cblx0ICpcblx0ICogQHBhcmFtIG9FdmVudFxuXHQgKiBAbmFtZSBzYXAuZmUuY29yZS5yb290Vmlldy5CYXNlQ29udHJvbGxlciNfb25BZnRlclJvdXRlTWF0Y2hlZFxuXHQgKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUucm9vdFZpZXcuQmFzZUNvbnRyb2xsZXJcblx0ICovXG5cdF9vbkFmdGVyUm91dGVNYXRjaGVkKG9FdmVudDogYW55KSB7XG5cdFx0aWYgKCF0aGlzLl9vUm91dGVNYXRjaGVkUHJvbWlzZSkge1xuXHRcdFx0dGhpcy5fb1JvdXRlTWF0Y2hlZFByb21pc2UgPSB0aGlzLndhaXRGb3JSaWdodE1vc3RWaWV3UmVhZHkob0V2ZW50KVxuXHRcdFx0XHQudGhlbigob1ZpZXc6IGFueSkgPT4ge1xuXHRcdFx0XHRcdC8vIFRoZSBhdXRvRm9jdXMgaXMgaW5pdGlhbGx5IGRpc2FibGVkIG9uIHRoZSBuYXZDb250YWluZXIgb3IgdGhlIEZDTCwgc28gdGhhdCB0aGUgZm9jdXMgc3RheXMgb24gdGhlIFNoZWxsIG1lbnVcblx0XHRcdFx0XHQvLyBldmVuIGlmIHRoZSBhcHAgdGFrZXMgYSBsb25nIHRpbWUgdG8gbGF1bmNoXG5cdFx0XHRcdFx0Ly8gVGhlIGZpcnN0IHRpbWUgdGhlIHZpZXcgaXMgZGlzcGxheWVkLCB3ZSBuZWVkIHRvIGVuYWJsZSB0aGUgYXV0b2ZvY3VzIHNvIHRoYXQgaXQncyBtYW5hZ2VkIHByb3Blcmx5IGR1cmluZyBuYXZpZ2F0aW9uXG5cdFx0XHRcdFx0Y29uc3Qgb1Jvb3RDb250cm9sID0gdGhpcy5nZXRWaWV3KCkuZ2V0Q29udGVudCgpWzBdIGFzIGFueTtcblx0XHRcdFx0XHRpZiAob1Jvb3RDb250cm9sICYmIG9Sb290Q29udHJvbC5nZXRBdXRvRm9jdXMgJiYgIW9Sb290Q29udHJvbC5nZXRBdXRvRm9jdXMoKSkge1xuXHRcdFx0XHRcdFx0b1Jvb3RDb250cm9sLnNldFByb3BlcnR5KFwiYXV0b0ZvY3VzXCIsIHRydWUsIHRydWUpOyAvLyBEbyBub3QgbWFyayB0aGUgY29udGFpbmVyIGFzIGludmFsaWQsIG90aGVyd2lzZSBpdCdzIHJlLXJlbmRlcmVkXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Y29uc3Qgb0FwcENvbXBvbmVudCA9IHRoaXMuZ2V0QXBwQ29tcG9uZW50KCk7XG5cdFx0XHRcdFx0dGhpcy5fc2Nyb2xsVGFibGVzVG9MYXN0TmF2aWdhdGVkSXRlbXMoKTtcblx0XHRcdFx0XHRpZiAob0FwcENvbXBvbmVudC5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpLmdldENhcGFiaWxpdGllcygpLlVTaGVsbCkge1xuXHRcdFx0XHRcdFx0dGhpcy5fY29tcHV0ZVRpdGxlSGllcmFyY2h5KG9WaWV3KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Y29uc3QgYkZvcmNlRm9jdXMgPSBvQXBwQ29tcG9uZW50LmdldFJvdXRlclByb3h5KCkuaXNGb2N1c0ZvcmNlZCgpO1xuXHRcdFx0XHRcdG9BcHBDb21wb25lbnQuZ2V0Um91dGVyUHJveHkoKS5zZXRGb2N1c0ZvcmNlZChmYWxzZSk7IC8vIHJlc2V0XG5cdFx0XHRcdFx0aWYgKG9WaWV3LmdldENvbnRyb2xsZXIoKSAmJiBvVmlldy5nZXRDb250cm9sbGVyKCkub25QYWdlUmVhZHkgJiYgb1ZpZXcuZ2V0UGFyZW50KCkub25QYWdlUmVhZHkpIHtcblx0XHRcdFx0XHRcdG9WaWV3LmdldFBhcmVudCgpLm9uUGFnZVJlYWR5KHsgZm9yY2VGb2N1czogYkZvcmNlRm9jdXMgfSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmICh0aGlzLm9uQ29udGFpbmVyUmVhZHkpIHtcblx0XHRcdFx0XHRcdHRoaXMub25Db250YWluZXJSZWFkeSgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChvRXJyb3I6IGFueSkge1xuXHRcdFx0XHRcdExvZy5lcnJvcihcIkFuIGVycm9yIG9jY3VycyB3aGlsZSBjb21wdXRpbmcgdGhlIHRpdGxlIGhpZXJhcmNoeSBhbmQgY2FsbGluZyBmb2N1cyBtZXRob2RcIiwgb0Vycm9yKTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmZpbmFsbHkoKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuX29Sb3V0ZU1hdGNoZWRQcm9taXNlID0gbnVsbDtcblx0XHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgVGl0bGVIaWVyYXJjaHkgY2FjaGUgKCBvciBpbml0aWFsaXplcyBpdCBpZiB1bmRlZmluZWQpLlxuXHQgKlxuXHQgKiBAbmFtZSBzYXAuZmUuY29yZS5yb290Vmlldy5CYXNlQ29udHJvbGxlciNfZ2V0VGl0bGVIaWVyYXJjaHlDYWNoZVxuXHQgKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUucm9vdFZpZXcuQmFzZUNvbnRyb2xsZXJcblx0ICogQHJldHVybnMgIFRoZSBUaXRsZUhpZXJhcmNoeSBjYWNoZVxuXHQgKi9cblx0X2dldFRpdGxlSGllcmFyY2h5Q2FjaGUoKSB7XG5cdFx0aWYgKCF0aGlzLm9UaXRsZUhpZXJhcmNoeUNhY2hlKSB7XG5cdFx0XHR0aGlzLm9UaXRsZUhpZXJhcmNoeUNhY2hlID0ge307XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLm9UaXRsZUhpZXJhcmNoeUNhY2hlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIHRpdGxlSW5mbyBvYmplY3QuXG5cdCAqXG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5yb290Vmlldy5CYXNlQ29udHJvbGxlclxuXHQgKiBAcGFyYW0gdGl0bGUgVGhlIGFwcGxpY2F0aW9uJ3MgdGl0bGVcblx0ICogQHBhcmFtIHN1YnRpdGxlIFRoZSBhcHBsaWNhdGlvbidzIHN1YlRpdGxlXG5cdCAqIEBwYXJhbSBzSW50ZW50IFRoZSBpbnRlbnQgcGF0aCB0byBiZSByZWRpcmVjdGVkIHRvXG5cdCAqIEBwYXJhbSBpY29uIFRoZSBhcHBsaWNhdGlvbidzIGljb25cblx0ICogQHJldHVybnMgVGhlIHRpdGxlIGluZm9ybWF0aW9uXG5cdCAqL1xuXHRfY29tcHV0ZVRpdGxlSW5mbyh0aXRsZTogYW55LCBzdWJ0aXRsZTogYW55LCBzSW50ZW50OiBhbnksIGljb24gPSBcIlwiKSB7XG5cdFx0Y29uc3QgYVBhcnRzID0gc0ludGVudC5zcGxpdChcIi9cIik7XG5cdFx0c0ludGVudCA9IFVSSS5kZWNvZGUoc0ludGVudCk7XG5cdFx0aWYgKGFQYXJ0c1thUGFydHMubGVuZ3RoIC0gMV0uaW5kZXhPZihcIj9cIikgPT09IC0xKSB7XG5cdFx0XHRzSW50ZW50ICs9IFwiP3Jlc3RvcmVIaXN0b3J5PXRydWVcIjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c0ludGVudCArPSBcIiZyZXN0b3JlSGlzdG9yeT10cnVlXCI7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHR0aXRsZTogdGl0bGUsXG5cdFx0XHRzdWJ0aXRsZTogc3VidGl0bGUsXG5cdFx0XHRpbnRlbnQ6IHNJbnRlbnQsXG5cdFx0XHRpY29uOiBpY29uXG5cdFx0fTtcblx0fVxuXHRfZm9ybWF0VGl0bGUoZGlzcGxheU1vZGU6IHN0cmluZywgdGl0bGVWYWx1ZTogc3RyaW5nLCB0aXRsZURlc2NyaXB0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdGxldCBmb3JtYXR0ZWRUaXRsZSA9IFwiXCI7XG5cdFx0c3dpdGNoIChkaXNwbGF5TW9kZSkge1xuXHRcdFx0Y2FzZSBcIlZhbHVlXCI6XG5cdFx0XHRcdGZvcm1hdHRlZFRpdGxlID0gYCR7dGl0bGVWYWx1ZX1gO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJWYWx1ZURlc2NyaXB0aW9uXCI6XG5cdFx0XHRcdGZvcm1hdHRlZFRpdGxlID0gYCR7dGl0bGVWYWx1ZX0gKCR7dGl0bGVEZXNjcmlwdGlvbn0pYDtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiRGVzY3JpcHRpb25WYWx1ZVwiOlxuXHRcdFx0XHRmb3JtYXR0ZWRUaXRsZSA9IGAke3RpdGxlRGVzY3JpcHRpb259ICgke3RpdGxlVmFsdWV9KWA7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIkRlc2NyaXB0aW9uXCI6XG5cdFx0XHRcdGZvcm1hdHRlZFRpdGxlID0gYCR7dGl0bGVEZXNjcmlwdGlvbn1gO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0fVxuXHRcdHJldHVybiBmb3JtYXR0ZWRUaXRsZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBGZXRjaGVzIHRoZSB2YWx1ZSBvZiB0aGUgSGVhZGVySW5mbyB0aXRsZSBmb3IgYSBnaXZlbiBwYXRoLlxuXHQgKlxuXHQgKiBAcGFyYW0gc1BhdGggVGhlIHBhdGggdG8gdGhlIGVudGl0eVxuXHQgKiBAcmV0dXJucyBBIHByb21pc2UgY29udGFpbmluZyB0aGUgZm9ybWF0dGVkIHRpdGxlLCBvciBhbiBlbXB0eSBzdHJpbmcgaWYgbm8gSGVhZGVySW5mbyB0aXRsZSBhbm5vdGF0aW9uIGlzIGF2YWlsYWJsZVxuXHQgKi9cblx0YXN5bmMgX2ZldGNoVGl0bGVWYWx1ZShzUGF0aDogc3RyaW5nKSB7XG5cdFx0Y29uc3Qgb0FwcENvbXBvbmVudCA9IHRoaXMuZ2V0QXBwQ29tcG9uZW50KCksXG5cdFx0XHRvTW9kZWwgPSB0aGlzLmdldFZpZXcoKS5nZXRNb2RlbCgpLFxuXHRcdFx0b01ldGFNb2RlbCA9IG9BcHBDb21wb25lbnQuZ2V0TWV0YU1vZGVsKCksXG5cdFx0XHRzTWV0YVBhdGggPSBvTWV0YU1vZGVsLmdldE1ldGFQYXRoKHNQYXRoKSxcblx0XHRcdG9CaW5kaW5nVmlld0NvbnRleHQgPSBvTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoc1BhdGgpLFxuXHRcdFx0c1ZhbHVlRXhwcmVzc2lvbiA9IEFubm90YXRpb25IZWxwZXIuZm9ybWF0KFxuXHRcdFx0XHRvTWV0YU1vZGVsLmdldE9iamVjdChgJHtzTWV0YVBhdGh9L0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5IZWFkZXJJbmZvL1RpdGxlL1ZhbHVlYCksXG5cdFx0XHRcdHsgY29udGV4dDogb01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9cIikgYXMgQ29udGV4dCB9XG5cdFx0XHQpO1xuXHRcdGlmICghc1ZhbHVlRXhwcmVzc2lvbikge1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZShcIlwiKTtcblx0XHR9XG5cdFx0Y29uc3Qgc1RleHRFeHByZXNzaW9uID0gQW5ub3RhdGlvbkhlbHBlci5mb3JtYXQoXG5cdFx0XHRcdG9NZXRhTW9kZWwuZ2V0T2JqZWN0KFxuXHRcdFx0XHRcdGAke3NNZXRhUGF0aH0vQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkhlYWRlckluZm8vVGl0bGUvVmFsdWUvJFBhdGhAY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlRleHRgXG5cdFx0XHRcdCksXG5cdFx0XHRcdHsgY29udGV4dDogb01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9cIikgYXMgQ29udGV4dCB9XG5cdFx0XHQpLFxuXHRcdFx0b1Byb3BlcnR5Q29udGV4dCA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KGAke3NNZXRhUGF0aH0vQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkhlYWRlckluZm8vVGl0bGUvVmFsdWUvJFBhdGhAYCksXG5cdFx0XHRhUHJvbWlzZXM6IFByb21pc2U8dm9pZD5bXSA9IFtdLFxuXHRcdFx0b1ZhbHVlRXhwcmVzc2lvbiA9IEJpbmRpbmdQYXJzZXIuY29tcGxleFBhcnNlcihzVmFsdWVFeHByZXNzaW9uKSxcblx0XHRcdG9Qcm9taXNlRm9yRGlzcGxheU1vZGUgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZTogKHZhbHVlOiBhbnkpID0+IHZvaWQpIHtcblx0XHRcdFx0Y29uc3QgZGlzcGxheU1vZGUgPSBDb21tb25VdGlscy5jb21wdXRlRGlzcGxheU1vZGUob1Byb3BlcnR5Q29udGV4dCk7XG5cdFx0XHRcdHJlc29sdmUoZGlzcGxheU1vZGUpO1xuXHRcdFx0fSk7XG5cdFx0YVByb21pc2VzLnB1c2gob1Byb21pc2VGb3JEaXNwbGF5TW9kZSk7XG5cdFx0Y29uc3Qgc1ZhbHVlUGF0aCA9IG9WYWx1ZUV4cHJlc3Npb24ucGFydHMgPyBvVmFsdWVFeHByZXNzaW9uLnBhcnRzWzBdLnBhdGggOiBvVmFsdWVFeHByZXNzaW9uLnBhdGgsXG5cdFx0XHRmblZhbHVlRm9ybWF0dGVyID0gb1ZhbHVlRXhwcmVzc2lvbi5mb3JtYXR0ZXIsXG5cdFx0XHRvVmFsdWVCaW5kaW5nID0gb01vZGVsLmJpbmRQcm9wZXJ0eShzVmFsdWVQYXRoLCBvQmluZGluZ1ZpZXdDb250ZXh0KTtcblx0XHRvVmFsdWVCaW5kaW5nLmluaXRpYWxpemUoKTtcblx0XHRjb25zdCBvUHJvbWlzZUZvclRpdGxlVmFsdWUgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZTogKHZhbHVlOiBhbnkpID0+IHZvaWQpIHtcblx0XHRcdGNvbnN0IGZuQ2hhbmdlID0gZnVuY3Rpb24gKG9FdmVudDogYW55KSB7XG5cdFx0XHRcdGNvbnN0IHNUYXJnZXRWYWx1ZSA9IGZuVmFsdWVGb3JtYXR0ZXIgPyBmblZhbHVlRm9ybWF0dGVyKG9FdmVudC5nZXRTb3VyY2UoKS5nZXRWYWx1ZSgpKSA6IG9FdmVudC5nZXRTb3VyY2UoKS5nZXRWYWx1ZSgpO1xuXG5cdFx0XHRcdG9WYWx1ZUJpbmRpbmcuZGV0YWNoQ2hhbmdlKGZuQ2hhbmdlKTtcblx0XHRcdFx0cmVzb2x2ZShzVGFyZ2V0VmFsdWUpO1xuXHRcdFx0fTtcblx0XHRcdG9WYWx1ZUJpbmRpbmcuYXR0YWNoQ2hhbmdlKGZuQ2hhbmdlKTtcblx0XHR9KTtcblx0XHRhUHJvbWlzZXMucHVzaChvUHJvbWlzZUZvclRpdGxlVmFsdWUpO1xuXG5cdFx0aWYgKHNUZXh0RXhwcmVzc2lvbikge1xuXHRcdFx0Y29uc3Qgb1RleHRFeHByZXNzaW9uID0gQmluZGluZ1BhcnNlci5jb21wbGV4UGFyc2VyKHNUZXh0RXhwcmVzc2lvbik7XG5cdFx0XHRsZXQgc1RleHRQYXRoID0gb1RleHRFeHByZXNzaW9uLnBhcnRzID8gb1RleHRFeHByZXNzaW9uLnBhcnRzWzBdLnBhdGggOiBvVGV4dEV4cHJlc3Npb24ucGF0aDtcblx0XHRcdHNUZXh0UGF0aCA9IHNWYWx1ZVBhdGgubGFzdEluZGV4T2YoXCIvXCIpID4gLTEgPyBgJHtzVmFsdWVQYXRoLnNsaWNlKDAsIHNWYWx1ZVBhdGgubGFzdEluZGV4T2YoXCIvXCIpKX0vJHtzVGV4dFBhdGh9YCA6IHNUZXh0UGF0aDtcblxuXHRcdFx0Y29uc3QgZm5UZXh0Rm9ybWF0dGVyID0gb1RleHRFeHByZXNzaW9uLmZvcm1hdHRlcixcblx0XHRcdFx0b1RleHRCaW5kaW5nID0gb01vZGVsLmJpbmRQcm9wZXJ0eShzVGV4dFBhdGgsIG9CaW5kaW5nVmlld0NvbnRleHQpO1xuXHRcdFx0b1RleHRCaW5kaW5nLmluaXRpYWxpemUoKTtcblx0XHRcdGNvbnN0IG9Qcm9taXNlRm9yVGl0bGVUZXh0ID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmU6IChkZXNjcmlwdGlvbjogYW55KSA9PiB2b2lkKSB7XG5cdFx0XHRcdGNvbnN0IGZuQ2hhbmdlID0gZnVuY3Rpb24gKG9FdmVudDogYW55KSB7XG5cdFx0XHRcdFx0Y29uc3Qgc1RhcmdldFRleHQgPSBmblRleHRGb3JtYXR0ZXIgPyBmblRleHRGb3JtYXR0ZXIob0V2ZW50LmdldFNvdXJjZSgpLmdldFZhbHVlKCkpIDogb0V2ZW50LmdldFNvdXJjZSgpLmdldFZhbHVlKCk7XG5cblx0XHRcdFx0XHRvVGV4dEJpbmRpbmcuZGV0YWNoQ2hhbmdlKGZuQ2hhbmdlKTtcblx0XHRcdFx0XHRyZXNvbHZlKHNUYXJnZXRUZXh0KTtcblx0XHRcdFx0fTtcblxuXHRcdFx0XHRvVGV4dEJpbmRpbmcuYXR0YWNoQ2hhbmdlKGZuQ2hhbmdlKTtcblx0XHRcdH0pO1xuXHRcdFx0YVByb21pc2VzLnB1c2gob1Byb21pc2VGb3JUaXRsZVRleHQpO1xuXHRcdH1cblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgdGl0bGVJbmZvOiBhbnlbXSA9IGF3YWl0IFByb21pc2UuYWxsKGFQcm9taXNlcyk7XG5cdFx0XHRsZXQgZm9ybWF0dGVkVGl0bGUgPSBcIlwiO1xuXHRcdFx0aWYgKHR5cGVvZiB0aXRsZUluZm8gIT09IFwic3RyaW5nXCIpIHtcblx0XHRcdFx0Zm9ybWF0dGVkVGl0bGUgPSB0aGlzLl9mb3JtYXRUaXRsZSh0aXRsZUluZm9bMF0sIHRpdGxlSW5mb1sxXSwgdGl0bGVJbmZvWzJdKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBmb3JtYXR0ZWRUaXRsZTtcblx0XHR9IGNhdGNoIChlcnJvcjogYW55KSB7XG5cdFx0XHRMb2cuZXJyb3IoXCJFcnJvciB3aGlsZSBmZXRjaGluZyB0aGUgdGl0bGUgZnJvbSB0aGUgaGVhZGVyIGluZm8gOlwiICsgZXJyb3IpO1xuXHRcdH1cblx0XHRyZXR1cm4gXCJcIjtcblx0fVxuXG5cdF9nZXRBcHBTcGVjaWZpY0hhc2goKSB7XG5cdFx0Ly8gSGFzaENoYW5nZWQgaXNTaGVsbE5hdmlnYXRpb25IYXNoQ2hhbmdlclxuXHRcdGNvbnN0IGhhc2hDaGFuZ2VyID0gSGFzaENoYW5nZXIuZ2V0SW5zdGFuY2UoKSBhcyBIYXNoQ2hhbmdlciB8IChIYXNoQ2hhbmdlciAmIHsgaHJlZkZvckFwcFNwZWNpZmljSGFzaDogRnVuY3Rpb24gfSk7XG5cdFx0cmV0dXJuIFwiaHJlZkZvckFwcFNwZWNpZmljSGFzaFwiIGluIGhhc2hDaGFuZ2VyID8gaGFzaENoYW5nZXIuaHJlZkZvckFwcFNwZWNpZmljSGFzaChcIlwiKSA6IFwiIy9cIjtcblx0fVxuXG5cdF9nZXRIYXNoKCkge1xuXHRcdHJldHVybiBIYXNoQ2hhbmdlci5nZXRJbnN0YW5jZSgpLmdldEhhc2goKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGl0bGVJbmZvcm1hdGlvbiBmcm9tIGEgcGF0aC5cblx0ICogSXQgdXBkYXRlcyB0aGUgY2FjaGUgdG8gc3RvcmUgdGl0bGUgaW5mb3JtYXRpb24gaWYgbmVjZXNzYXJ5XG5cdCAqXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLnJvb3RWaWV3LkJhc2VDb250cm9sbGVyI2dldFRpdGxlSW5mb0Zyb21QYXRoXG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5yb290Vmlldy5CYXNlQ29udHJvbGxlclxuXHQgKiBAcGFyYW0geyp9IHNQYXRoIHBhdGggb2YgdGhlIGNvbnRleHQgdG8gcmV0cmlldmUgdGl0bGUgaW5mb3JtYXRpb24gZnJvbSBNZXRhTW9kZWxcblx0ICogQHJldHVybnMge1Byb21pc2V9ICBvVGl0bGVpbmZvcm1hdGlvbiByZXR1cm5lZCBhcyBwcm9taXNlXG5cdCAqL1xuXG5cdGdldFRpdGxlSW5mb0Zyb21QYXRoKHNQYXRoOiBhbnkpIHtcblx0XHRjb25zdCBvVGl0bGVIaWVyYXJjaHlDYWNoZSA9IHRoaXMuX2dldFRpdGxlSGllcmFyY2h5Q2FjaGUoKTtcblxuXHRcdGlmIChvVGl0bGVIaWVyYXJjaHlDYWNoZVtzUGF0aF0pIHtcblx0XHRcdC8vIFRoZSB0aXRsZSBpbmZvIGlzIGFscmVhZHkgc3RvcmVkIGluIHRoZSBjYWNoZVxuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZShvVGl0bGVIaWVyYXJjaHlDYWNoZVtzUGF0aF0pO1xuXHRcdH1cblxuXHRcdGNvbnN0IG9NZXRhTW9kZWwgPSB0aGlzLmdldEFwcENvbXBvbmVudCgpLmdldE1ldGFNb2RlbCgpO1xuXHRcdGNvbnN0IHNFbnRpdHlQYXRoID0gb01ldGFNb2RlbC5nZXRNZXRhUGF0aChzUGF0aCk7XG5cdFx0Y29uc3Qgc1R5cGVOYW1lID0gb01ldGFNb2RlbC5nZXRPYmplY3QoYCR7c0VudGl0eVBhdGh9L0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5IZWFkZXJJbmZvL1R5cGVOYW1lYCk7XG5cdFx0Y29uc3Qgc0FwcFNwZWNpZmljSGFzaCA9IHRoaXMuX2dldEFwcFNwZWNpZmljSGFzaCgpO1xuXHRcdGNvbnN0IHNJbnRlbnQgPSBzQXBwU3BlY2lmaWNIYXNoICsgc1BhdGguc2xpY2UoMSk7XG5cdFx0cmV0dXJuIHRoaXMuX2ZldGNoVGl0bGVWYWx1ZShzUGF0aCkudGhlbigoc1RpdGxlOiBhbnkpID0+IHtcblx0XHRcdGNvbnN0IG9UaXRsZUluZm8gPSB0aGlzLl9jb21wdXRlVGl0bGVJbmZvKHNUeXBlTmFtZSwgc1RpdGxlLCBzSW50ZW50KTtcblx0XHRcdG9UaXRsZUhpZXJhcmNoeUNhY2hlW3NQYXRoXSA9IG9UaXRsZUluZm87XG5cdFx0XHRyZXR1cm4gb1RpdGxlSW5mbztcblx0XHR9KTtcblx0fVxuXHQvKipcblx0ICogRW5zdXJlIHRoYXQgdGhlIHVzaGVsbCBzZXJ2aWNlIHJlY2VpdmVzIGFsbCBlbGVtZW50c1xuXHQgKiAodGl0bGUsIHN1YnRpdGxlLCBpbnRlbnQsIGljb24pIGFzIHN0cmluZ3MuXG5cdCAqXG5cdCAqIEFubm90YXRpb24gSGVhZGVySW5mbyBhbGxvd3MgZm9yIGJpbmRpbmcgb2YgdGl0bGUgYW5kIGRlc2NyaXB0aW9uXG5cdCAqICh3aGljaCBhcmUgdXNlZCBoZXJlIGFzIHRpdGxlIGFuZCBzdWJ0aXRsZSkgdG8gYW55IGVsZW1lbnQgaW4gdGhlIGVudGl0eVxuXHQgKiAoYmVpbmcgcG9zc2libHkgdHlwZXMgbGlrZSBib29sZWFuLCB0aW1lc3RhbXAsIGRvdWJsZSwgZXRjLilcblx0ICpcblx0ICogQ3JlYXRlcyBhIG5ldyBoaWVyYXJjaHkgYW5kIGNvbnZlcnRzIG5vbi1zdHJpbmcgdHlwZXMgdG8gc3RyaW5nLlxuXHQgKlxuXHQgKiBAcGFyYW0gYUhpZXJhcmNoeSBTaGVsbCB0aXRsZSBoaWVyYXJjaHlcblx0ICogQHJldHVybnMgQ29weSBvZiBzaGVsbCB0aXRsZSBoaWVyYXJjaHkgY29udGFpbmluZyBhbGwgZWxlbWVudHMgYXMgc3RyaW5nc1xuXHQgKi9cblx0X2Vuc3VyZUhpZXJhcmNoeUVsZW1lbnRzQXJlU3RyaW5ncyhhSGllcmFyY2h5OiBhbnkpIHtcblx0XHRjb25zdCBhSGllcmFyY2h5U2hlbGwgPSBbXTtcblx0XHRmb3IgKGNvbnN0IGxldmVsIGluIGFIaWVyYXJjaHkpIHtcblx0XHRcdGNvbnN0IG9IaWVyYXJjaHkgPSBhSGllcmFyY2h5W2xldmVsXTtcblx0XHRcdGNvbnN0IG9TaGVsbEhpZXJhcmNoeTogYW55ID0ge307XG5cdFx0XHRmb3IgKGNvbnN0IGtleSBpbiBvSGllcmFyY2h5KSB7XG5cdFx0XHRcdG9TaGVsbEhpZXJhcmNoeVtrZXldID0gdHlwZW9mIG9IaWVyYXJjaHlba2V5XSAhPT0gXCJzdHJpbmdcIiA/IFN0cmluZyhvSGllcmFyY2h5W2tleV0pIDogb0hpZXJhcmNoeVtrZXldO1xuXHRcdFx0fVxuXHRcdFx0YUhpZXJhcmNoeVNoZWxsLnB1c2gob1NoZWxsSGllcmFyY2h5KTtcblx0XHR9XG5cdFx0cmV0dXJuIGFIaWVyYXJjaHlTaGVsbDtcblx0fVxuXG5cdF9nZXRUYXJnZXRUeXBlRnJvbUhhc2goc0hhc2g6IGFueSkge1xuXHRcdGNvbnN0IG9BcHBDb21wb25lbnQgPSB0aGlzLmdldEFwcENvbXBvbmVudCgpO1xuXHRcdGxldCBzVGFyZ2V0VHlwZSA9IFwiXCI7XG5cblx0XHRjb25zdCBhUm91dGVzID0gb0FwcENvbXBvbmVudC5nZXRNYW5pZmVzdEVudHJ5KFwic2FwLnVpNVwiKS5yb3V0aW5nPy5yb3V0ZXMgPz8gW107XG5cdFx0Zm9yIChjb25zdCByb3V0ZSBvZiBhUm91dGVzKSB7XG5cdFx0XHRjb25zdCBvUm91dGUgPSBvQXBwQ29tcG9uZW50LmdldFJvdXRlcigpLmdldFJvdXRlKHJvdXRlLm5hbWUpO1xuXHRcdFx0aWYgKG9Sb3V0ZT8ubWF0Y2goc0hhc2gpKSB7XG5cdFx0XHRcdGNvbnN0IHNUYXJnZXQgPSBBcnJheS5pc0FycmF5KHJvdXRlLnRhcmdldCkgPyByb3V0ZS50YXJnZXRbMF0gOiByb3V0ZS50YXJnZXQ7XG5cdFx0XHRcdHNUYXJnZXRUeXBlID0gKG9BcHBDb21wb25lbnQuZ2V0Um91dGVyKCkuZ2V0VGFyZ2V0KHNUYXJnZXQpIGFzIGFueSkuX29PcHRpb25zLm5hbWU7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiBzVGFyZ2V0VHlwZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIHVwZGF0ZXMgdGhlIHNoZWxsIHRpdGxlIGFmdGVyIGVhY2ggbmF2aWdhdGlvbi5cblx0ICpcblx0ICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLnJvb3RWaWV3LkJhc2VDb250cm9sbGVyXG5cdCAqIEBwYXJhbSBvVmlldyBUaGUgY3VycmVudCB2aWV3XG5cdCAqIEByZXR1cm5zIEEgUHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdoZW4gdGhlIG1lbnUgaXMgZmlsbGVkIHByb3Blcmx5XG5cdCAqL1xuXHRfY29tcHV0ZVRpdGxlSGllcmFyY2h5KG9WaWV3OiBhbnkpIHtcblx0XHRjb25zdCBvQXBwQ29tcG9uZW50ID0gdGhpcy5nZXRBcHBDb21wb25lbnQoKSxcblx0XHRcdG9Db250ZXh0ID0gb1ZpZXcuZ2V0QmluZGluZ0NvbnRleHQoKSxcblx0XHRcdG9DdXJyZW50UGFnZSA9IG9WaWV3LmdldFBhcmVudCgpLFxuXHRcdFx0YVRpdGxlSW5mb3JtYXRpb25Qcm9taXNlcyA9IFtdLFxuXHRcdFx0c0FwcFNwZWNpZmljSGFzaCA9IHRoaXMuX2dldEFwcFNwZWNpZmljSGFzaCgpLFxuXHRcdFx0bWFuaWZlc3RBcHBTZXR0aW5ncyA9IG9BcHBDb21wb25lbnQuZ2V0TWFuaWZlc3RFbnRyeShcInNhcC5hcHBcIiksXG5cdFx0XHRzQXBwVGl0bGUgPSBtYW5pZmVzdEFwcFNldHRpbmdzLnRpdGxlIHx8IFwiXCIsXG5cdFx0XHRzQXBwU3ViVGl0bGUgPSBtYW5pZmVzdEFwcFNldHRpbmdzLnN1YlRpdGxlIHx8IFwiXCIsXG5cdFx0XHRhcHBJY29uID0gbWFuaWZlc3RBcHBTZXR0aW5ncy5pY29uIHx8IFwiXCI7XG5cdFx0bGV0IG9QYWdlVGl0bGVJbmZvcm1hdGlvbjogYW55LCBzTmV3UGF0aDtcblxuXHRcdGlmIChvQ3VycmVudFBhZ2UgJiYgb0N1cnJlbnRQYWdlLl9nZXRQYWdlVGl0bGVJbmZvcm1hdGlvbikge1xuXHRcdFx0aWYgKG9Db250ZXh0KSB7XG5cdFx0XHRcdC8vIElmIHRoZSBmaXJzdCBwYWdlIG9mIHRoZSBhcHBsaWNhdGlvbiBpcyBhIExSLCB1c2UgdGhlIHRpdGxlIGFuZCBzdWJ0aXRsZSBmcm9tIHRoZSBtYW5pZmVzdFxuXHRcdFx0XHRpZiAodGhpcy5fZ2V0VGFyZ2V0VHlwZUZyb21IYXNoKFwiXCIpID09PSBcInNhcC5mZS50ZW1wbGF0ZXMuTGlzdFJlcG9ydFwiKSB7XG5cdFx0XHRcdFx0YVRpdGxlSW5mb3JtYXRpb25Qcm9taXNlcy5wdXNoKFxuXHRcdFx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRoaXMuX2NvbXB1dGVUaXRsZUluZm8oc0FwcFRpdGxlLCBzQXBwU3ViVGl0bGUsIHNBcHBTcGVjaWZpY0hhc2gsIGFwcEljb24pKVxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBUaGVuIG1hbmFnZSBvdGhlciBwYWdlc1xuXHRcdFx0XHRzTmV3UGF0aCA9IG9Db250ZXh0LmdldFBhdGgoKTtcblx0XHRcdFx0Y29uc3QgYVBhdGhQYXJ0cyA9IHNOZXdQYXRoLnNwbGl0KFwiL1wiKTtcblx0XHRcdFx0bGV0IHNQYXRoID0gXCJcIjtcblxuXHRcdFx0XHRhUGF0aFBhcnRzLnNoaWZ0KCk7IC8vIFJlbW92ZSB0aGUgZmlyc3Qgc2VnbWVudCAoZW1wdHkgc3RyaW5nKSBhcyBpdCBoYXMgYmVlbiBtYW5hZ2VkIGFib3ZlXG5cdFx0XHRcdGFQYXRoUGFydHMucG9wKCk7IC8vIFJlbW92ZSB0aGUgbGFzdCBzZWdtZW50IGFzIGl0IGNvcnJlc3BvbmRzIHRvIHRoZSBjdXJyZW50IHBhZ2UgYW5kIHNob3VsZG4ndCBhcHBlYXIgaW4gdGhlIG1lbnVcblxuXHRcdFx0XHRhUGF0aFBhcnRzLmZvckVhY2goKHNQYXRoUGFydDogYW55KSA9PiB7XG5cdFx0XHRcdFx0c1BhdGggKz0gYC8ke3NQYXRoUGFydH1gO1xuXHRcdFx0XHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFNb2RlbCgpLFxuXHRcdFx0XHRcdFx0c1BhcmFtZXRlclBhdGggPSBvTWV0YU1vZGVsLmdldE1ldGFQYXRoKHNQYXRoKSxcblx0XHRcdFx0XHRcdGJJc1BhcmFtZXRlcml6ZWQgPSBvTWV0YU1vZGVsLmdldE9iamVjdChgJHtzUGFyYW1ldGVyUGF0aH0vQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5SZXN1bHRDb250ZXh0YCk7XG5cdFx0XHRcdFx0aWYgKCFiSXNQYXJhbWV0ZXJpemVkKSB7XG5cdFx0XHRcdFx0XHRhVGl0bGVJbmZvcm1hdGlvblByb21pc2VzLnB1c2godGhpcy5nZXRUaXRsZUluZm9Gcm9tUGF0aChzUGF0aCkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIEN1cnJlbnQgcGFnZVxuXHRcdFx0b1BhZ2VUaXRsZUluZm9ybWF0aW9uID0gb0N1cnJlbnRQYWdlLl9nZXRQYWdlVGl0bGVJbmZvcm1hdGlvbigpO1xuXHRcdFx0b1BhZ2VUaXRsZUluZm9ybWF0aW9uID0gdGhpcy5fY29tcHV0ZVRpdGxlSW5mbyhcblx0XHRcdFx0b1BhZ2VUaXRsZUluZm9ybWF0aW9uLnRpdGxlLFxuXHRcdFx0XHRvUGFnZVRpdGxlSW5mb3JtYXRpb24uc3VidGl0bGUsXG5cdFx0XHRcdHNBcHBTcGVjaWZpY0hhc2ggKyB0aGlzLl9nZXRIYXNoKClcblx0XHRcdCk7XG5cblx0XHRcdGlmIChvQ29udGV4dCkge1xuXHRcdFx0XHR0aGlzLl9nZXRUaXRsZUhpZXJhcmNoeUNhY2hlKClbc05ld1BhdGhdID0gb1BhZ2VUaXRsZUluZm9ybWF0aW9uO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5fZ2V0VGl0bGVIaWVyYXJjaHlDYWNoZSgpW3NBcHBTcGVjaWZpY0hhc2hdID0gb1BhZ2VUaXRsZUluZm9ybWF0aW9uO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRhVGl0bGVJbmZvcm1hdGlvblByb21pc2VzLnB1c2goUHJvbWlzZS5yZWplY3QoXCJUaXRsZSBpbmZvcm1hdGlvbiBtaXNzaW5nIGluIEhlYWRlckluZm9cIikpO1xuXHRcdH1cblx0XHRyZXR1cm4gUHJvbWlzZS5hbGwoYVRpdGxlSW5mb3JtYXRpb25Qcm9taXNlcylcblx0XHRcdC50aGVuKChhVGl0bGVJbmZvSGllcmFyY2h5OiBhbnlbXSkgPT4ge1xuXHRcdFx0XHQvLyB3b3JrYXJvdW5kIGZvciBzaGVsbCB3aGljaCBpcyBleHBlY3RpbmcgYWxsIGVsZW1lbnRzIGJlaW5nIG9mIHR5cGUgc3RyaW5nXG5cdFx0XHRcdGNvbnN0IGFUaXRsZUluZm9IaWVyYXJjaHlTaGVsbCA9IHRoaXMuX2Vuc3VyZUhpZXJhcmNoeUVsZW1lbnRzQXJlU3RyaW5ncyhhVGl0bGVJbmZvSGllcmFyY2h5KSxcblx0XHRcdFx0XHRzVGl0bGUgPSBvUGFnZVRpdGxlSW5mb3JtYXRpb24udGl0bGU7XG5cdFx0XHRcdGFUaXRsZUluZm9IaWVyYXJjaHlTaGVsbC5yZXZlcnNlKCk7XG5cdFx0XHRcdG9BcHBDb21wb25lbnQuZ2V0U2hlbGxTZXJ2aWNlcygpLnNldEhpZXJhcmNoeShhVGl0bGVJbmZvSGllcmFyY2h5U2hlbGwpO1xuXG5cdFx0XHRcdHRoaXMuX3NldFNoZWxsTWVudVRpdGxlKG9BcHBDb21wb25lbnQsIHNUaXRsZSwgc0FwcFRpdGxlKTtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKHNFcnJvck1lc3NhZ2U6IGFueSkge1xuXHRcdFx0XHRMb2cuZXJyb3Ioc0Vycm9yTWVzc2FnZSk7XG5cdFx0XHR9KVxuXHRcdFx0LmZpbmFsbHkoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmJJc0NvbXB1dGluZ1RpdGxlSGllcmFjaHkgPSBmYWxzZTtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKHNFcnJvck1lc3NhZ2U6IGFueSkge1xuXHRcdFx0XHRMb2cuZXJyb3Ioc0Vycm9yTWVzc2FnZSk7XG5cdFx0XHR9KTtcblx0fVxuXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0Y2FsY3VsYXRlTGF5b3V0KGlOZXh0RkNMTGV2ZWw6IG51bWJlciwgc0hhc2g6IHN0cmluZywgc1Byb3Bvc2VkTGF5b3V0OiBzdHJpbmcgfCB1bmRlZmluZWQsIGtlZXBDdXJyZW50TGF5b3V0ID0gZmFsc2UpIHtcblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBDYWxsYmFjayBhZnRlciBhIHZpZXcgaGFzIGJlZW4gYm91bmQgdG8gYSBjb250ZXh0LlxuXHQgKlxuXHQgKiBAcGFyYW0gb0NvbnRleHQgVGhlIGNvbnRleHQgdGhhdCBoYXMgYmVlbiBib3VuZCB0byBhIHZpZXdcblx0ICovXG5cdG9uQ29udGV4dEJvdW5kVG9WaWV3KG9Db250ZXh0OiBhbnkpIHtcblx0XHRpZiAob0NvbnRleHQpIHtcblx0XHRcdGNvbnN0IHNEZWVwZXN0UGF0aCA9IHRoaXMuZ2V0VmlldygpLmdldE1vZGVsKFwiaW50ZXJuYWxcIikuZ2V0UHJvcGVydHkoXCIvZGVlcGVzdFBhdGhcIiksXG5cdFx0XHRcdHNWaWV3Q29udGV4dFBhdGggPSBvQ29udGV4dC5nZXRQYXRoKCk7XG5cblx0XHRcdGlmICghc0RlZXBlc3RQYXRoIHx8IHNEZWVwZXN0UGF0aC5pbmRleE9mKHNWaWV3Q29udGV4dFBhdGgpICE9PSAwKSB7XG5cdFx0XHRcdC8vIFRoZXJlIHdhcyBubyBwcmV2aW91cyB2YWx1ZSBmb3IgdGhlIGRlZXBlc3QgcmVhY2hlZCBwYXRoLCBvciB0aGUgcGF0aFxuXHRcdFx0XHQvLyBmb3IgdGhlIHZpZXcgaXNuJ3QgYSBzdWJwYXRoIG9mIHRoZSBwcmV2aW91cyBkZWVwZXN0IHBhdGggLS0+IHVwZGF0ZVxuXHRcdFx0XHQodGhpcy5nZXRWaWV3KCkuZ2V0TW9kZWwoXCJpbnRlcm5hbFwiKSBhcyBKU09OTW9kZWwpLnNldFByb3BlcnR5KFwiL2RlZXBlc3RQYXRoXCIsIHNWaWV3Q29udGV4dFBhdGgsIHVuZGVmaW5lZCwgdHJ1ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHRkaXNwbGF5RXJyb3JQYWdlKHNFcnJvck1lc3NhZ2U6IGFueSwgbVBhcmFtZXRlcnM6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuXHRcdC8vIFRvIGJlIG92ZXJyaWRkZW5cblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRydWUpO1xuXHR9XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHR1cGRhdGVVSVN0YXRlRm9yVmlldyhvVmlldzogYW55LCBGQ0xMZXZlbDogYW55KSB7XG5cdFx0Ly8gVG8gYmUgb3ZlcnJpZGVuXG5cdH1cblxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdGdldEluc3RhbmNlZFZpZXdzKCk6IFhNTFZpZXdbXSB7XG5cdFx0cmV0dXJuIFtdO1xuXHRcdC8vIFRvIGJlIG92ZXJyaWRlblxuXHR9XG5cdF9zY3JvbGxUYWJsZXNUb0xhc3ROYXZpZ2F0ZWRJdGVtcygpOiB2b2lkIHtcblx0XHQvLyBUbyBiZSBvdmVycmlkZW5cblx0fVxuXHRpc0ZjbEVuYWJsZWQoKTogdGhpcyBpcyBGY2xDb250cm9sbGVyIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdF9zZXRTaGVsbE1lbnVUaXRsZShvQXBwQ29tcG9uZW50OiBBcHBDb21wb25lbnQsIHNUaXRsZTogc3RyaW5nLCBzQXBwVGl0bGU6IHN0cmluZyk6IHZvaWQge1xuXHRcdC8vIFRvIGJlIG92ZXJyaWRlbiBieSBGY2xDb250cm9sbGVyXG5cdFx0b0FwcENvbXBvbmVudC5nZXRTaGVsbFNlcnZpY2VzKCkuc2V0VGl0bGUoc1RpdGxlKTtcblx0fVxuXG5cdGdldEFwcENvbnRlbnRDb250YWluZXIoKTogTmF2Q29udGFpbmVyIHwgRmxleGlibGVDb2x1bW5MYXlvdXQge1xuXHRcdGNvbnN0IG9BcHBDb21wb25lbnQgPSB0aGlzLmdldEFwcENvbXBvbmVudCgpO1xuXHRcdGNvbnN0IGFwcENvbnRlbnRJZCA9IG9BcHBDb21wb25lbnQuZ2V0TWFuaWZlc3RFbnRyeShcInNhcC51aTVcIikucm91dGluZz8uY29uZmlnPy5jb250cm9sSWQgPz8gXCJhcHBDb250ZW50XCI7XG5cdFx0cmV0dXJuIHRoaXMuZ2V0VmlldygpLmJ5SWQoYXBwQ29udGVudElkKSBhcyBOYXZDb250YWluZXIgfCBGbGV4aWJsZUNvbHVtbkxheW91dDtcblx0fVxufVxuaW50ZXJmYWNlIFJvb3RWaWV3QmFzZUNvbnRyb2xsZXIge1xuXHRvbkNvbnRhaW5lclJlYWR5PygpOiB2b2lkO1xufVxuXG5leHBvcnQgZGVmYXVsdCBSb290Vmlld0Jhc2VDb250cm9sbGVyO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7O01Bc0JNQSxzQkFBc0IsV0FEM0JDLGNBQWMsQ0FBQyw2Q0FBNkMsQ0FBQyxVQUU1REMsY0FBYyxDQUFDQyxXQUFXLENBQUMsVUFHM0JELGNBQWMsQ0FBQ0UsU0FBUyxDQUFDO0lBQUE7SUFBQTtNQUFBO01BQUE7UUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUEsTUFNbEJDLHlCQUF5QixHQUFHLEtBQUs7TUFBQTtJQUFBO0lBQUE7SUFBQSxPQUV6Q0MsTUFBTSxHQUFOLGtCQUFTO01BQ1JDLGVBQWUsQ0FBQ0MsSUFBSSxFQUFFO01BRXRCLElBQUksQ0FBQ0MsY0FBYyxHQUFHLEVBQUU7SUFDekIsQ0FBQztJQUFBLE9BRURDLGNBQWMsR0FBZCwwQkFBaUI7TUFD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
507
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSb290Vmlld0Jhc2VDb250cm9sbGVyIiwiZGVmaW5lVUk1Q2xhc3MiLCJ1c2luZ0V4dGVuc2lvbiIsIlBsYWNlaG9sZGVyIiwiVmlld1N0YXRlIiwiYklzQ29tcHV0aW5nVGl0bGVIaWVyYWNoeSIsIm9uSW5pdCIsIlRhYmxlU2l6ZUhlbHBlciIsImluaXQiLCJfYUhlbHBlck1vZGVscyIsImdldFBsYWNlaG9sZGVyIiwib1BsYWNlaG9sZGVyIiwiYXR0YWNoUm91dGVNYXRjaGVycyIsImdldEFwcENvbXBvbmVudCIsImdldFJvdXRpbmdTZXJ2aWNlIiwiYXR0YWNoQWZ0ZXJSb3V0ZU1hdGNoZWQiLCJfb25BZnRlclJvdXRlTWF0Y2hlZCIsIm9uRXhpdCIsImRldGFjaEFmdGVyUm91dGVNYXRjaGVkIiwib1JvdXRlciIsInVuZGVmaW5lZCIsImV4aXQiLCJmb3JFYWNoIiwib01vZGVsIiwiZGVzdHJveSIsImdldFJlc291cmNlQnVuZGxlIiwiZ2V0T3duZXJDb21wb25lbnQiLCJnZXRNb2RlbCIsImdldFJvdXRlciIsIl9jcmVhdGVIZWxwZXJNb2RlbCIsIkpTT05Nb2RlbCIsInB1c2giLCJ3YWl0Rm9yUmlnaHRNb3N0Vmlld1JlYWR5Iiwib0V2ZW50IiwiUHJvbWlzZSIsInJlc29sdmUiLCJhQ29udGFpbmVycyIsImdldFBhcmFtZXRlciIsImFGRUNvbnRhaW5lcnMiLCJvQ29udGFpbmVyIiwib1ZpZXciLCJnZXRDb21wb25lbnRJbnN0YW5jZSIsIm9Db21wb25lbnRJbnN0YW5jZSIsImdldFJvb3RDb250cm9sIiwiZ2V0Q29udHJvbGxlciIsInBhZ2VSZWFkeSIsIm9SaWdodE1vc3RGRVZpZXciLCJsZW5ndGgiLCJpc1BhZ2VSZWFkeSIsImF0dGFjaEV2ZW50T25jZSIsIl9vUm91dGVNYXRjaGVkUHJvbWlzZSIsInRoZW4iLCJvUm9vdENvbnRyb2wiLCJnZXRWaWV3IiwiZ2V0Q29udGVudCIsImdldEF1dG9Gb2N1cyIsInNldFByb3BlcnR5Iiwib0FwcENvbXBvbmVudCIsIl9zY3JvbGxUYWJsZXNUb0xhc3ROYXZpZ2F0ZWRJdGVtcyIsImdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwiZ2V0Q2FwYWJpbGl0aWVzIiwiVVNoZWxsIiwiX2NvbXB1dGVUaXRsZUhpZXJhcmNoeSIsImJGb3JjZUZvY3VzIiwiZ2V0Um91dGVyUHJveHkiLCJpc0ZvY3VzRm9yY2VkIiwic2V0Rm9jdXNGb3JjZWQiLCJvblBhZ2VSZWFkeSIsImdldFBhcmVudCIsImZvcmNlRm9jdXMiLCJvbkNvbnRhaW5lclJlYWR5IiwiY2F0Y2giLCJvRXJyb3IiLCJMb2ciLCJlcnJvciIsImZpbmFsbHkiLCJfZ2V0VGl0bGVIaWVyYXJjaHlDYWNoZSIsIm9UaXRsZUhpZXJhcmNoeUNhY2hlIiwiX2NvbXB1dGVUaXRsZUluZm8iLCJ0aXRsZSIsInN1YnRpdGxlIiwic0ludGVudCIsImljb24iLCJhUGFydHMiLCJzcGxpdCIsImluZGV4T2YiLCJpbnRlbnQiLCJfZm9ybWF0VGl0bGUiLCJkaXNwbGF5TW9kZSIsInRpdGxlVmFsdWUiLCJ0aXRsZURlc2NyaXB0aW9uIiwiZm9ybWF0dGVkVGl0bGUiLCJfZmV0Y2hUaXRsZVZhbHVlIiwic1BhdGgiLCJvTWV0YU1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwic01ldGFQYXRoIiwiZ2V0TWV0YVBhdGgiLCJvQmluZGluZ1ZpZXdDb250ZXh0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJzVmFsdWVFeHByZXNzaW9uIiwiQW5ub3RhdGlvbkhlbHBlciIsImZvcm1hdCIsImdldE9iamVjdCIsImNvbnRleHQiLCJzVGV4dEV4cHJlc3Npb24iLCJvUHJvcGVydHlDb250ZXh0IiwiYVByb21pc2VzIiwib1ZhbHVlRXhwcmVzc2lvbiIsIkJpbmRpbmdQYXJzZXIiLCJjb21wbGV4UGFyc2VyIiwib1Byb21pc2VGb3JEaXNwbGF5TW9kZSIsIkNvbW1vblV0aWxzIiwiY29tcHV0ZURpc3BsYXlNb2RlIiwic1ZhbHVlUGF0aCIsInBhcnRzIiwicGF0aCIsImZuVmFsdWVGb3JtYXR0ZXIiLCJmb3JtYXR0ZXIiLCJvVmFsdWVCaW5kaW5nIiwiYmluZFByb3BlcnR5IiwiaW5pdGlhbGl6ZSIsIm9Qcm9taXNlRm9yVGl0bGVWYWx1ZSIsImZuQ2hhbmdlIiwic1RhcmdldFZhbHVlIiwiZ2V0U291cmNlIiwiZ2V0VmFsdWUiLCJkZXRhY2hDaGFuZ2UiLCJhdHRhY2hDaGFuZ2UiLCJvVGV4dEV4cHJlc3Npb24iLCJzVGV4dFBhdGgiLCJsYXN0SW5kZXhPZiIsInNsaWNlIiwiZm5UZXh0Rm9ybWF0dGVyIiwib1RleHRCaW5kaW5nIiwib1Byb21pc2VGb3JUaXRsZVRleHQiLCJzVGFyZ2V0VGV4dCIsInRpdGxlSW5mbyIsImFsbCIsIl9nZXRBcHBTcGVjaWZpY0hhc2giLCJoYXNoQ2hhbmdlciIsIkhhc2hDaGFuZ2VyIiwiZ2V0SW5zdGFuY2UiLCJocmVmRm9yQXBwU3BlY2lmaWNIYXNoIiwiX2dldEhhc2giLCJnZXRIYXNoIiwiZ2V0VGl0bGVJbmZvRnJvbVBhdGgiLCJzRW50aXR5UGF0aCIsInNUeXBlTmFtZSIsInNBcHBTcGVjaWZpY0hhc2giLCJzVGl0bGUiLCJvVGl0bGVJbmZvIiwiX2Vuc3VyZUhpZXJhcmNoeUVsZW1lbnRzQXJlU3RyaW5ncyIsImFIaWVyYXJjaHkiLCJhSGllcmFyY2h5U2hlbGwiLCJsZXZlbCIsIm9IaWVyYXJjaHkiLCJvU2hlbGxIaWVyYXJjaHkiLCJrZXkiLCJTdHJpbmciLCJfZ2V0VGFyZ2V0VHlwZUZyb21IYXNoIiwic0hhc2giLCJzVGFyZ2V0VHlwZSIsImFSb3V0ZXMiLCJnZXRNYW5pZmVzdEVudHJ5Iiwicm91dGluZyIsInJvdXRlcyIsInJvdXRlIiwib1JvdXRlIiwiZ2V0Um91dGUiLCJuYW1lIiwibWF0Y2giLCJzVGFyZ2V0IiwiQXJyYXkiLCJpc0FycmF5IiwidGFyZ2V0IiwiZ2V0VGFyZ2V0IiwiX29PcHRpb25zIiwib0NvbnRleHQiLCJnZXRCaW5kaW5nQ29udGV4dCIsIm9DdXJyZW50UGFnZSIsImFUaXRsZUluZm9ybWF0aW9uUHJvbWlzZXMiLCJtYW5pZmVzdEFwcFNldHRpbmdzIiwic0FwcFRpdGxlIiwic0FwcFN1YlRpdGxlIiwic3ViVGl0bGUiLCJhcHBJY29uIiwib1BhZ2VUaXRsZUluZm9ybWF0aW9uIiwic05ld1BhdGgiLCJfZ2V0UGFnZVRpdGxlSW5mb3JtYXRpb24iLCJnZXRQYXRoIiwiYVBhdGhQYXJ0cyIsInNoaWZ0IiwicG9wIiwic1BhdGhQYXJ0Iiwic1BhcmFtZXRlclBhdGgiLCJiSXNQYXJhbWV0ZXJpemVkIiwicmVqZWN0IiwiYVRpdGxlSW5mb0hpZXJhcmNoeSIsImFUaXRsZUluZm9IaWVyYXJjaHlTaGVsbCIsInJldmVyc2UiLCJnZXRTaGVsbFNlcnZpY2VzIiwic2V0SGllcmFyY2h5IiwiX3NldFNoZWxsTWVudVRpdGxlIiwic0Vycm9yTWVzc2FnZSIsImNhbGN1bGF0ZUxheW91dCIsImlOZXh0RkNMTGV2ZWwiLCJzUHJvcG9zZWRMYXlvdXQiLCJrZWVwQ3VycmVudExheW91dCIsIm9uQ29udGV4dEJvdW5kVG9WaWV3Iiwic0RlZXBlc3RQYXRoIiwiZ2V0UHJvcGVydHkiLCJzVmlld0NvbnRleHRQYXRoIiwiZGlzcGxheUVycm9yUGFnZSIsIm1QYXJhbWV0ZXJzIiwidXBkYXRlVUlTdGF0ZUZvclZpZXciLCJGQ0xMZXZlbCIsImdldEluc3RhbmNlZFZpZXdzIiwiaXNGY2xFbmFibGVkIiwic2V0VGl0bGUiLCJnZXRBcHBDb250ZW50Q29udGFpbmVyIiwiYXBwQ29udGVudElkIiwiY29uZmlnIiwiY29udHJvbElkIiwiYnlJZCIsIkJhc2VDb250cm9sbGVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJSb290Vmlld0Jhc2VDb250cm9sbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgRmxleGlibGVDb2x1bW5MYXlvdXQgZnJvbSBcInNhcC9mL0ZsZXhpYmxlQ29sdW1uTGF5b3V0XCI7XG5pbXBvcnQgQmFzZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL0Jhc2VDb250cm9sbGVyXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgUGxhY2Vob2xkZXIgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL1BsYWNlaG9sZGVyXCI7XG5pbXBvcnQgVmlld1N0YXRlIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9WaWV3U3RhdGVcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCB1c2luZ0V4dGVuc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgRmNsQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvcm9vdFZpZXcvRmNsLmNvbnRyb2xsZXJcIjtcbmltcG9ydCBUYWJsZVNpemVIZWxwZXIgZnJvbSBcInNhcC9mZS9tYWNyb3MvdGFibGUvVGFibGVTaXplSGVscGVyXCI7XG5pbXBvcnQgdHlwZSBOYXZDb250YWluZXIgZnJvbSBcInNhcC9tL05hdkNvbnRhaW5lclwiO1xuaW1wb3J0IEJpbmRpbmdQYXJzZXIgZnJvbSBcInNhcC91aS9iYXNlL0JpbmRpbmdQYXJzZXJcIjtcbmltcG9ydCB0eXBlIFhNTFZpZXcgZnJvbSBcInNhcC91aS9jb3JlL212Yy9YTUxWaWV3XCI7XG5pbXBvcnQgSGFzaENoYW5nZXIgZnJvbSBcInNhcC91aS9jb3JlL3JvdXRpbmcvSGFzaENoYW5nZXJcIjtcbmltcG9ydCB0eXBlIFJvdXRlciBmcm9tIFwic2FwL3VpL2NvcmUvcm91dGluZy9Sb3V0ZXJcIjtcbmltcG9ydCBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuaW1wb3J0IEFubm90YXRpb25IZWxwZXIgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Bbm5vdGF0aW9uSGVscGVyXCI7XG5pbXBvcnQgdHlwZSBSZXNvdXJjZU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvcmVzb3VyY2UvUmVzb3VyY2VNb2RlbFwiO1xuaW1wb3J0IHR5cGUgQXBwQ29tcG9uZW50IGZyb20gXCIuLi9BcHBDb21wb25lbnRcIjtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUucm9vdFZpZXcuUm9vdFZpZXdCYXNlQ29udHJvbGxlclwiKVxuY2xhc3MgUm9vdFZpZXdCYXNlQ29udHJvbGxlciBleHRlbmRzIEJhc2VDb250cm9sbGVyIHtcblx0QHVzaW5nRXh0ZW5zaW9uKFBsYWNlaG9sZGVyKVxuXHRvUGxhY2Vob2xkZXIhOiBQbGFjZWhvbGRlcjtcblxuXHRAdXNpbmdFeHRlbnNpb24oVmlld1N0YXRlKVxuXHR2aWV3U3RhdGUhOiBWaWV3U3RhdGU7XG5cblx0cHJpdmF0ZSBfYUhlbHBlck1vZGVscyE6IGFueVtdO1xuXG5cdHByaXZhdGUgb1JvdXRlcj86IFJvdXRlcjtcblxuXHRwcml2YXRlIF9vUm91dGVNYXRjaGVkUHJvbWlzZTogYW55O1xuXG5cdHByaXZhdGUgb1RpdGxlSGllcmFyY2h5Q2FjaGU6IGFueTtcblxuXHRwcml2YXRlIGJJc0NvbXB1dGluZ1RpdGxlSGllcmFjaHkgPSBmYWxzZTtcblxuXHRvbkluaXQoKSB7XG5cdFx0VGFibGVTaXplSGVscGVyLmluaXQoKTtcblxuXHRcdHRoaXMuX2FIZWxwZXJNb2RlbHMgPSBbXTtcblx0fVxuXG5cdGdldFBsYWNlaG9sZGVyKCkge1xuXHRcdHJldHVybiB0aGlzLm9QbGFjZWhvbGRlcjtcblx0fVxuXG5cdGF0dGFjaFJvdXRlTWF0Y2hlcnMoKSB7XG5cdFx0dGhpcy5vUGxhY2Vob2xkZXIuYXR0YWNoUm91dGVNYXRjaGVycygpO1xuXHRcdHRoaXMuZ2V0QXBwQ29tcG9uZW50KCkuZ2V0Um91dGluZ1NlcnZpY2UoKS5hdHRhY2hBZnRlclJvdXRlTWF0Y2hlZCh0aGlzLl9vbkFmdGVyUm91dGVNYXRjaGVkLCB0aGlzKTtcblx0fVxuXG5cdG9uRXhpdCgpIHtcblx0XHR0aGlzLmdldEFwcENvbXBvbmVudCgpLmdldFJvdXRpbmdTZXJ2aWNlKCkuZGV0YWNoQWZ0ZXJSb3V0ZU1hdGNoZWQodGhpcy5fb25BZnRlclJvdXRlTWF0Y2hlZCwgdGhpcyk7XG5cdFx0dGhpcy5vUm91dGVyID0gdW5kZWZpbmVkO1xuXG5cdFx0VGFibGVTaXplSGVscGVyLmV4aXQoKTtcblxuXHRcdC8vIERlc3Ryb3kgYWxsIEpTT04gbW9kZWxzIGNyZWF0ZWQgZHluYW1pY2FsbHkgZm9yIHRoZSB2aWV3c1xuXHRcdHRoaXMuX2FIZWxwZXJNb2RlbHMuZm9yRWFjaChmdW5jdGlvbiAob01vZGVsOiBhbnkpIHtcblx0XHRcdG9Nb2RlbC5kZXN0cm95KCk7XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogQ29udmVuaWVuY2UgbWV0aG9kIGZvciBnZXR0aW5nIHRoZSByZXNvdXJjZSBidW5kbGUuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICogQHJldHVybnMgVGhlIHJlc291cmNlTW9kZWwgb2YgdGhlIGNvbXBvbmVudFxuXHQgKi9cblx0Z2V0UmVzb3VyY2VCdW5kbGUoKSB7XG5cdFx0cmV0dXJuICh0aGlzLmdldE93bmVyQ29tcG9uZW50KCkuZ2V0TW9kZWwoXCJpMThuXCIpIGFzIFJlc291cmNlTW9kZWwpLmdldFJlc291cmNlQnVuZGxlKCk7XG5cdH1cblxuXHRnZXRSb3V0ZXIoKSB7XG5cdFx0aWYgKCF0aGlzLm9Sb3V0ZXIpIHtcblx0XHRcdHRoaXMub1JvdXRlciA9IHRoaXMuZ2V0QXBwQ29tcG9uZW50KCkuZ2V0Um91dGVyKCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMub1JvdXRlcjtcblx0fVxuXG5cdF9jcmVhdGVIZWxwZXJNb2RlbCgpIHtcblx0XHQvLyBXZSBrZWVwIGEgcmVmZXJlbmNlIG9uIHRoZSBtb2RlbHMgY3JlYXRlZCBkeW5hbWljYWxseSwgYXMgdGhleSBkb24ndCBnZXQgZGVzdHJveWVkXG5cdFx0Ly8gYXV0b21hdGljYWxseSB3aGVuIHRoZSB2aWV3IGlzIGRlc3Ryb3llZC5cblx0XHQvLyBUaGlzIGlzIGRvbmUgZHVyaW5nIG9uRXhpdFxuXHRcdGNvbnN0IG9Nb2RlbCA9IG5ldyBKU09OTW9kZWwoKTtcblx0XHR0aGlzLl9hSGVscGVyTW9kZWxzLnB1c2gob01vZGVsKTtcblxuXHRcdHJldHVybiBvTW9kZWw7XG5cdH1cblxuXHQvKipcblx0ICogRnVuY3Rpb24gd2FpdGluZyBmb3IgdGhlIFJpZ2h0IG1vc3QgdmlldyB0byBiZSByZWFkeS5cblx0ICpcblx0ICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLnJvb3RWaWV3LkJhc2VDb250cm9sbGVyXG5cdCAqIEBwYXJhbSBvRXZlbnQgUmVmZXJlbmNlIGFuIEV2ZW50IHBhcmFtZXRlciBjb21pbmcgZnJvbSByb3V0ZU1hdGNoZWQgZXZlbnRcblx0ICogQHJldHVybnMgQSBwcm9taXNlIGluZGljYXRpbmcgd2hlbiB0aGUgcmlnaHQgbW9zdCB2aWV3IGlzIHJlYWR5XG5cdCAqL1xuXHR3YWl0Rm9yUmlnaHRNb3N0Vmlld1JlYWR5KG9FdmVudDogYW55KSB7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xuXHRcdFx0Y29uc3QgYUNvbnRhaW5lcnMgPSBvRXZlbnQuZ2V0UGFyYW1ldGVyKFwidmlld3NcIiksXG5cdFx0XHRcdC8vIFRoZXJlIGNhbiBhbHNvIGJlIHJldXNlIGNvbXBvbmVudHMgaW4gdGhlIHZpZXcsIHJlbW92ZSB0aGVtIGJlZm9yZSBwcm9jZXNzaW5nLlxuXHRcdFx0XHRhRkVDb250YWluZXJzOiBhbnlbXSA9IFtdO1xuXHRcdFx0YUNvbnRhaW5lcnMuZm9yRWFjaChmdW5jdGlvbiAob0NvbnRhaW5lcjogYW55KSB7XG5cdFx0XHRcdGxldCBvVmlldyA9IG9Db250YWluZXI7XG5cdFx0XHRcdGlmIChvQ29udGFpbmVyICYmIG9Db250YWluZXIuZ2V0Q29tcG9uZW50SW5zdGFuY2UpIHtcblx0XHRcdFx0XHRjb25zdCBvQ29tcG9uZW50SW5zdGFuY2UgPSBvQ29udGFpbmVyLmdldENvbXBvbmVudEluc3RhbmNlKCk7XG5cdFx0XHRcdFx0b1ZpZXcgPSBvQ29tcG9uZW50SW5zdGFuY2UuZ2V0Um9vdENvbnRyb2woKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAob1ZpZXcgJiYgb1ZpZXcuZ2V0Q29udHJvbGxlcigpICYmIG9WaWV3LmdldENvbnRyb2xsZXIoKS5wYWdlUmVhZHkpIHtcblx0XHRcdFx0XHRhRkVDb250YWluZXJzLnB1c2gob1ZpZXcpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdGNvbnN0IG9SaWdodE1vc3RGRVZpZXcgPSBhRkVDb250YWluZXJzW2FGRUNvbnRhaW5lcnMubGVuZ3RoIC0gMV07XG5cdFx0XHRpZiAob1JpZ2h0TW9zdEZFVmlldyAmJiBvUmlnaHRNb3N0RkVWaWV3LmdldENvbnRyb2xsZXIoKS5wYWdlUmVhZHkuaXNQYWdlUmVhZHkoKSkge1xuXHRcdFx0XHRyZXNvbHZlKG9SaWdodE1vc3RGRVZpZXcpO1xuXHRcdFx0fSBlbHNlIGlmIChvUmlnaHRNb3N0RkVWaWV3KSB7XG5cdFx0XHRcdG9SaWdodE1vc3RGRVZpZXcuZ2V0Q29udHJvbGxlcigpLnBhZ2VSZWFkeS5hdHRhY2hFdmVudE9uY2UoXCJwYWdlUmVhZHlcIiwgZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdHJlc29sdmUob1JpZ2h0TW9zdEZFVmlldyk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIENhbGxiYWNrIHdoZW4gdGhlIG5hdmlnYXRpb24gaXMgZG9uZS5cblx0ICogIC0gdXBkYXRlIHRoZSBzaGVsbCB0aXRsZS5cblx0ICogIC0gdXBkYXRlIHRhYmxlIHNjcm9sbC5cblx0ICogIC0gY2FsbCBvblBhZ2VSZWFkeSBvbiB0aGUgcmlnaHRNb3N0Vmlldy5cblx0ICpcblx0ICogQHBhcmFtIG9FdmVudFxuXHQgKiBAbmFtZSBzYXAuZmUuY29yZS5yb290Vmlldy5CYXNlQ29udHJvbGxlciNfb25BZnRlclJvdXRlTWF0Y2hlZFxuXHQgKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUucm9vdFZpZXcuQmFzZUNvbnRyb2xsZXJcblx0ICovXG5cdF9vbkFmdGVyUm91dGVNYXRjaGVkKG9FdmVudDogYW55KSB7XG5cdFx0aWYgKCF0aGlzLl9vUm91dGVNYXRjaGVkUHJvbWlzZSkge1xuXHRcdFx0dGhpcy5fb1JvdXRlTWF0Y2hlZFByb21pc2UgPSB0aGlzLndhaXRGb3JSaWdodE1vc3RWaWV3UmVhZHkob0V2ZW50KVxuXHRcdFx0XHQudGhlbigob1ZpZXc6IGFueSkgPT4ge1xuXHRcdFx0XHRcdC8vIFRoZSBhdXRvRm9jdXMgaXMgaW5pdGlhbGx5IGRpc2FibGVkIG9uIHRoZSBuYXZDb250YWluZXIgb3IgdGhlIEZDTCwgc28gdGhhdCB0aGUgZm9jdXMgc3RheXMgb24gdGhlIFNoZWxsIG1lbnVcblx0XHRcdFx0XHQvLyBldmVuIGlmIHRoZSBhcHAgdGFrZXMgYSBsb25nIHRpbWUgdG8gbGF1bmNoXG5cdFx0XHRcdFx0Ly8gVGhlIGZpcnN0IHRpbWUgdGhlIHZpZXcgaXMgZGlzcGxheWVkLCB3ZSBuZWVkIHRvIGVuYWJsZSB0aGUgYXV0b2ZvY3VzIHNvIHRoYXQgaXQncyBtYW5hZ2VkIHByb3Blcmx5IGR1cmluZyBuYXZpZ2F0aW9uXG5cdFx0XHRcdFx0Y29uc3Qgb1Jvb3RDb250cm9sID0gdGhpcy5nZXRWaWV3KCkuZ2V0Q29udGVudCgpWzBdIGFzIGFueTtcblx0XHRcdFx0XHRpZiAob1Jvb3RDb250cm9sICYmIG9Sb290Q29udHJvbC5nZXRBdXRvRm9jdXMgJiYgIW9Sb290Q29udHJvbC5nZXRBdXRvRm9jdXMoKSkge1xuXHRcdFx0XHRcdFx0b1Jvb3RDb250cm9sLnNldFByb3BlcnR5KFwiYXV0b0ZvY3VzXCIsIHRydWUsIHRydWUpOyAvLyBEbyBub3QgbWFyayB0aGUgY29udGFpbmVyIGFzIGludmFsaWQsIG90aGVyd2lzZSBpdCdzIHJlLXJlbmRlcmVkXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Y29uc3Qgb0FwcENvbXBvbmVudCA9IHRoaXMuZ2V0QXBwQ29tcG9uZW50KCk7XG5cdFx0XHRcdFx0dGhpcy5fc2Nyb2xsVGFibGVzVG9MYXN0TmF2aWdhdGVkSXRlbXMoKTtcblx0XHRcdFx0XHRpZiAob0FwcENvbXBvbmVudC5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpLmdldENhcGFiaWxpdGllcygpLlVTaGVsbCkge1xuXHRcdFx0XHRcdFx0dGhpcy5fY29tcHV0ZVRpdGxlSGllcmFyY2h5KG9WaWV3KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Y29uc3QgYkZvcmNlRm9jdXMgPSBvQXBwQ29tcG9uZW50LmdldFJvdXRlclByb3h5KCkuaXNGb2N1c0ZvcmNlZCgpO1xuXHRcdFx0XHRcdG9BcHBDb21wb25lbnQuZ2V0Um91dGVyUHJveHkoKS5zZXRGb2N1c0ZvcmNlZChmYWxzZSk7IC8vIHJlc2V0XG5cdFx0XHRcdFx0aWYgKG9WaWV3LmdldENvbnRyb2xsZXIoKSAmJiBvVmlldy5nZXRDb250cm9sbGVyKCkub25QYWdlUmVhZHkgJiYgb1ZpZXcuZ2V0UGFyZW50KCkub25QYWdlUmVhZHkpIHtcblx0XHRcdFx0XHRcdG9WaWV3LmdldFBhcmVudCgpLm9uUGFnZVJlYWR5KHsgZm9yY2VGb2N1czogYkZvcmNlRm9jdXMgfSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmICh0aGlzLm9uQ29udGFpbmVyUmVhZHkpIHtcblx0XHRcdFx0XHRcdHRoaXMub25Db250YWluZXJSZWFkeSgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChvRXJyb3I6IGFueSkge1xuXHRcdFx0XHRcdExvZy5lcnJvcihcIkFuIGVycm9yIG9jY3VycyB3aGlsZSBjb21wdXRpbmcgdGhlIHRpdGxlIGhpZXJhcmNoeSBhbmQgY2FsbGluZyBmb2N1cyBtZXRob2RcIiwgb0Vycm9yKTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmZpbmFsbHkoKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuX29Sb3V0ZU1hdGNoZWRQcm9taXNlID0gbnVsbDtcblx0XHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgVGl0bGVIaWVyYXJjaHkgY2FjaGUgKCBvciBpbml0aWFsaXplcyBpdCBpZiB1bmRlZmluZWQpLlxuXHQgKlxuXHQgKiBAbmFtZSBzYXAuZmUuY29yZS5yb290Vmlldy5CYXNlQ29udHJvbGxlciNfZ2V0VGl0bGVIaWVyYXJjaHlDYWNoZVxuXHQgKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUucm9vdFZpZXcuQmFzZUNvbnRyb2xsZXJcblx0ICogQHJldHVybnMgIFRoZSBUaXRsZUhpZXJhcmNoeSBjYWNoZVxuXHQgKi9cblx0X2dldFRpdGxlSGllcmFyY2h5Q2FjaGUoKSB7XG5cdFx0aWYgKCF0aGlzLm9UaXRsZUhpZXJhcmNoeUNhY2hlKSB7XG5cdFx0XHR0aGlzLm9UaXRsZUhpZXJhcmNoeUNhY2hlID0ge307XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLm9UaXRsZUhpZXJhcmNoeUNhY2hlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIHRpdGxlSW5mbyBvYmplY3QuXG5cdCAqXG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5yb290Vmlldy5CYXNlQ29udHJvbGxlclxuXHQgKiBAcGFyYW0gdGl0bGUgVGhlIGFwcGxpY2F0aW9uJ3MgdGl0bGVcblx0ICogQHBhcmFtIHN1YnRpdGxlIFRoZSBhcHBsaWNhdGlvbidzIHN1YlRpdGxlXG5cdCAqIEBwYXJhbSBzSW50ZW50IFRoZSBpbnRlbnQgcGF0aCB0byBiZSByZWRpcmVjdGVkIHRvXG5cdCAqIEBwYXJhbSBpY29uIFRoZSBhcHBsaWNhdGlvbidzIGljb25cblx0ICogQHJldHVybnMgVGhlIHRpdGxlIGluZm9ybWF0aW9uXG5cdCAqL1xuXHRfY29tcHV0ZVRpdGxlSW5mbyh0aXRsZTogYW55LCBzdWJ0aXRsZTogYW55LCBzSW50ZW50OiBhbnksIGljb24gPSBcIlwiKSB7XG5cdFx0Y29uc3QgYVBhcnRzID0gc0ludGVudC5zcGxpdChcIi9cIik7XG5cdFx0aWYgKGFQYXJ0c1thUGFydHMubGVuZ3RoIC0gMV0uaW5kZXhPZihcIj9cIikgPT09IC0xKSB7XG5cdFx0XHRzSW50ZW50ICs9IFwiP3Jlc3RvcmVIaXN0b3J5PXRydWVcIjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c0ludGVudCArPSBcIiZyZXN0b3JlSGlzdG9yeT10cnVlXCI7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHR0aXRsZTogdGl0bGUsXG5cdFx0XHRzdWJ0aXRsZTogc3VidGl0bGUsXG5cdFx0XHRpbnRlbnQ6IHNJbnRlbnQsXG5cdFx0XHRpY29uOiBpY29uXG5cdFx0fTtcblx0fVxuXG5cdF9mb3JtYXRUaXRsZShkaXNwbGF5TW9kZTogc3RyaW5nLCB0aXRsZVZhbHVlOiBzdHJpbmcsIHRpdGxlRGVzY3JpcHRpb246IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0bGV0IGZvcm1hdHRlZFRpdGxlID0gXCJcIjtcblx0XHRzd2l0Y2ggKGRpc3BsYXlNb2RlKSB7XG5cdFx0XHRjYXNlIFwiVmFsdWVcIjpcblx0XHRcdFx0Zm9ybWF0dGVkVGl0bGUgPSBgJHt0aXRsZVZhbHVlfWA7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIlZhbHVlRGVzY3JpcHRpb25cIjpcblx0XHRcdFx0Zm9ybWF0dGVkVGl0bGUgPSBgJHt0aXRsZVZhbHVlfSAoJHt0aXRsZURlc2NyaXB0aW9ufSlgO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJEZXNjcmlwdGlvblZhbHVlXCI6XG5cdFx0XHRcdGZvcm1hdHRlZFRpdGxlID0gYCR7dGl0bGVEZXNjcmlwdGlvbn0gKCR7dGl0bGVWYWx1ZX0pYDtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiRGVzY3JpcHRpb25cIjpcblx0XHRcdFx0Zm9ybWF0dGVkVGl0bGUgPSBgJHt0aXRsZURlc2NyaXB0aW9ufWA7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHR9XG5cdFx0cmV0dXJuIGZvcm1hdHRlZFRpdGxlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEZldGNoZXMgdGhlIHZhbHVlIG9mIHRoZSBIZWFkZXJJbmZvIHRpdGxlIGZvciBhIGdpdmVuIHBhdGguXG5cdCAqXG5cdCAqIEBwYXJhbSBzUGF0aCBUaGUgcGF0aCB0byB0aGUgZW50aXR5XG5cdCAqIEByZXR1cm5zIEEgcHJvbWlzZSBjb250YWluaW5nIHRoZSBmb3JtYXR0ZWQgdGl0bGUsIG9yIGFuIGVtcHR5IHN0cmluZyBpZiBubyBIZWFkZXJJbmZvIHRpdGxlIGFubm90YXRpb24gaXMgYXZhaWxhYmxlXG5cdCAqL1xuXHRhc3luYyBfZmV0Y2hUaXRsZVZhbHVlKHNQYXRoOiBzdHJpbmcpIHtcblx0XHRjb25zdCBvQXBwQ29tcG9uZW50ID0gdGhpcy5nZXRBcHBDb21wb25lbnQoKSxcblx0XHRcdG9Nb2RlbCA9IHRoaXMuZ2V0VmlldygpLmdldE1vZGVsKCksXG5cdFx0XHRvTWV0YU1vZGVsID0gb0FwcENvbXBvbmVudC5nZXRNZXRhTW9kZWwoKSxcblx0XHRcdHNNZXRhUGF0aCA9IG9NZXRhTW9kZWwuZ2V0TWV0YVBhdGgoc1BhdGgpLFxuXHRcdFx0b0JpbmRpbmdWaWV3Q29udGV4dCA9IG9Nb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChzUGF0aCksXG5cdFx0XHRzVmFsdWVFeHByZXNzaW9uID0gQW5ub3RhdGlvbkhlbHBlci5mb3JtYXQoXG5cdFx0XHRcdG9NZXRhTW9kZWwuZ2V0T2JqZWN0KGAke3NNZXRhUGF0aH0vQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkhlYWRlckluZm8vVGl0bGUvVmFsdWVgKSxcblx0XHRcdFx0eyBjb250ZXh0OiBvTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL1wiKSB9XG5cdFx0XHQpO1xuXHRcdGlmICghc1ZhbHVlRXhwcmVzc2lvbikge1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZShcIlwiKTtcblx0XHR9XG5cdFx0Y29uc3Qgc1RleHRFeHByZXNzaW9uID0gQW5ub3RhdGlvbkhlbHBlci5mb3JtYXQoXG5cdFx0XHRcdG9NZXRhTW9kZWwuZ2V0T2JqZWN0KFxuXHRcdFx0XHRcdGAke3NNZXRhUGF0aH0vQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkhlYWRlckluZm8vVGl0bGUvVmFsdWUvJFBhdGhAY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlRleHRgXG5cdFx0XHRcdCksXG5cdFx0XHRcdHsgY29udGV4dDogb01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9cIikgfVxuXHRcdFx0KSxcblx0XHRcdG9Qcm9wZXJ0eUNvbnRleHQgPSBvTWV0YU1vZGVsLmdldE9iamVjdChgJHtzTWV0YVBhdGh9L0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5IZWFkZXJJbmZvL1RpdGxlL1ZhbHVlLyRQYXRoQGApLFxuXHRcdFx0YVByb21pc2VzOiBQcm9taXNlPHZvaWQ+W10gPSBbXSxcblx0XHRcdG9WYWx1ZUV4cHJlc3Npb24gPSBCaW5kaW5nUGFyc2VyLmNvbXBsZXhQYXJzZXIoc1ZhbHVlRXhwcmVzc2lvbiksXG5cdFx0XHRvUHJvbWlzZUZvckRpc3BsYXlNb2RlID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmU6ICh2YWx1ZTogYW55KSA9PiB2b2lkKSB7XG5cdFx0XHRcdGNvbnN0IGRpc3BsYXlNb2RlID0gQ29tbW9uVXRpbHMuY29tcHV0ZURpc3BsYXlNb2RlKG9Qcm9wZXJ0eUNvbnRleHQpO1xuXHRcdFx0XHRyZXNvbHZlKGRpc3BsYXlNb2RlKTtcblx0XHRcdH0pO1xuXHRcdGFQcm9taXNlcy5wdXNoKG9Qcm9taXNlRm9yRGlzcGxheU1vZGUpO1xuXHRcdGNvbnN0IHNWYWx1ZVBhdGggPSBvVmFsdWVFeHByZXNzaW9uLnBhcnRzID8gb1ZhbHVlRXhwcmVzc2lvbi5wYXJ0c1swXS5wYXRoIDogb1ZhbHVlRXhwcmVzc2lvbi5wYXRoLFxuXHRcdFx0Zm5WYWx1ZUZvcm1hdHRlciA9IG9WYWx1ZUV4cHJlc3Npb24uZm9ybWF0dGVyLFxuXHRcdFx0b1ZhbHVlQmluZGluZyA9IG9Nb2RlbC5iaW5kUHJvcGVydHkoc1ZhbHVlUGF0aCwgb0JpbmRpbmdWaWV3Q29udGV4dCk7XG5cdFx0b1ZhbHVlQmluZGluZy5pbml0aWFsaXplKCk7XG5cdFx0Y29uc3Qgb1Byb21pc2VGb3JUaXRsZVZhbHVlID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmU6ICh2YWx1ZTogYW55KSA9PiB2b2lkKSB7XG5cdFx0XHRjb25zdCBmbkNoYW5nZSA9IGZ1bmN0aW9uIChvRXZlbnQ6IGFueSkge1xuXHRcdFx0XHRjb25zdCBzVGFyZ2V0VmFsdWUgPSBmblZhbHVlRm9ybWF0dGVyID8gZm5WYWx1ZUZvcm1hdHRlcihvRXZlbnQuZ2V0U291cmNlKCkuZ2V0VmFsdWUoKSkgOiBvRXZlbnQuZ2V0U291cmNlKCkuZ2V0VmFsdWUoKTtcblxuXHRcdFx0XHRvVmFsdWVCaW5kaW5nLmRldGFjaENoYW5nZShmbkNoYW5nZSk7XG5cdFx0XHRcdHJlc29sdmUoc1RhcmdldFZhbHVlKTtcblx0XHRcdH07XG5cdFx0XHRvVmFsdWVCaW5kaW5nLmF0dGFjaENoYW5nZShmbkNoYW5nZSk7XG5cdFx0fSk7XG5cdFx0YVByb21pc2VzLnB1c2gob1Byb21pc2VGb3JUaXRsZVZhbHVlKTtcblxuXHRcdGlmIChzVGV4dEV4cHJlc3Npb24pIHtcblx0XHRcdGNvbnN0IG9UZXh0RXhwcmVzc2lvbiA9IEJpbmRpbmdQYXJzZXIuY29tcGxleFBhcnNlcihzVGV4dEV4cHJlc3Npb24pO1xuXHRcdFx0bGV0IHNUZXh0UGF0aCA9IG9UZXh0RXhwcmVzc2lvbi5wYXJ0cyA/IG9UZXh0RXhwcmVzc2lvbi5wYXJ0c1swXS5wYXRoIDogb1RleHRFeHByZXNzaW9uLnBhdGg7XG5cdFx0XHRzVGV4dFBhdGggPSBzVmFsdWVQYXRoLmxhc3RJbmRleE9mKFwiL1wiKSA+IC0xID8gYCR7c1ZhbHVlUGF0aC5zbGljZSgwLCBzVmFsdWVQYXRoLmxhc3RJbmRleE9mKFwiL1wiKSl9LyR7c1RleHRQYXRofWAgOiBzVGV4dFBhdGg7XG5cblx0XHRcdGNvbnN0IGZuVGV4dEZvcm1hdHRlciA9IG9UZXh0RXhwcmVzc2lvbi5mb3JtYXR0ZXIsXG5cdFx0XHRcdG9UZXh0QmluZGluZyA9IG9Nb2RlbC5iaW5kUHJvcGVydHkoc1RleHRQYXRoLCBvQmluZGluZ1ZpZXdDb250ZXh0KTtcblx0XHRcdG9UZXh0QmluZGluZy5pbml0aWFsaXplKCk7XG5cdFx0XHRjb25zdCBvUHJvbWlzZUZvclRpdGxlVGV4dCA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlOiAoZGVzY3JpcHRpb246IGFueSkgPT4gdm9pZCkge1xuXHRcdFx0XHRjb25zdCBmbkNoYW5nZSA9IGZ1bmN0aW9uIChvRXZlbnQ6IGFueSkge1xuXHRcdFx0XHRcdGNvbnN0IHNUYXJnZXRUZXh0ID0gZm5UZXh0Rm9ybWF0dGVyID8gZm5UZXh0Rm9ybWF0dGVyKG9FdmVudC5nZXRTb3VyY2UoKS5nZXRWYWx1ZSgpKSA6IG9FdmVudC5nZXRTb3VyY2UoKS5nZXRWYWx1ZSgpO1xuXG5cdFx0XHRcdFx0b1RleHRCaW5kaW5nLmRldGFjaENoYW5nZShmbkNoYW5nZSk7XG5cdFx0XHRcdFx0cmVzb2x2ZShzVGFyZ2V0VGV4dCk7XG5cdFx0XHRcdH07XG5cblx0XHRcdFx0b1RleHRCaW5kaW5nLmF0dGFjaENoYW5nZShmbkNoYW5nZSk7XG5cdFx0XHR9KTtcblx0XHRcdGFQcm9taXNlcy5wdXNoKG9Qcm9taXNlRm9yVGl0bGVUZXh0KTtcblx0XHR9XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IHRpdGxlSW5mbzogYW55W10gPSBhd2FpdCBQcm9taXNlLmFsbChhUHJvbWlzZXMpO1xuXHRcdFx0bGV0IGZvcm1hdHRlZFRpdGxlID0gXCJcIjtcblx0XHRcdGlmICh0eXBlb2YgdGl0bGVJbmZvICE9PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRcdGZvcm1hdHRlZFRpdGxlID0gdGhpcy5fZm9ybWF0VGl0bGUodGl0bGVJbmZvWzBdLCB0aXRsZUluZm9bMV0sIHRpdGxlSW5mb1syXSk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gZm9ybWF0dGVkVGl0bGU7XG5cdFx0fSBjYXRjaCAoZXJyb3I6IGFueSkge1xuXHRcdFx0TG9nLmVycm9yKFwiRXJyb3Igd2hpbGUgZmV0Y2hpbmcgdGhlIHRpdGxlIGZyb20gdGhlIGhlYWRlciBpbmZvIDpcIiArIGVycm9yKTtcblx0XHR9XG5cdFx0cmV0dXJuIFwiXCI7XG5cdH1cblxuXHRfZ2V0QXBwU3BlY2lmaWNIYXNoKCkge1xuXHRcdC8vIEhhc2hDaGFuZ2VkIGlzU2hlbGxOYXZpZ2F0aW9uSGFzaENoYW5nZXJcblx0XHRjb25zdCBoYXNoQ2hhbmdlciA9IEhhc2hDaGFuZ2VyLmdldEluc3RhbmNlKCkgYXMgSGFzaENoYW5nZXIgfCAoSGFzaENoYW5nZXIgJiB7IGhyZWZGb3JBcHBTcGVjaWZpY0hhc2g6IEZ1bmN0aW9uIH0pO1xuXHRcdHJldHVybiBcImhyZWZGb3JBcHBTcGVjaWZpY0hhc2hcIiBpbiBoYXNoQ2hhbmdlciA/IGhhc2hDaGFuZ2VyLmhyZWZGb3JBcHBTcGVjaWZpY0hhc2goXCJcIikgOiBcIiMvXCI7XG5cdH1cblxuXHRfZ2V0SGFzaCgpIHtcblx0XHRyZXR1cm4gSGFzaENoYW5nZXIuZ2V0SW5zdGFuY2UoKS5nZXRIYXNoKCk7XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRpdGxlSW5mb3JtYXRpb24gZnJvbSBhIHBhdGguXG5cdCAqIEl0IHVwZGF0ZXMgdGhlIGNhY2hlIHRvIHN0b3JlIHRpdGxlIGluZm9ybWF0aW9uIGlmIG5lY2Vzc2FyeVxuXHQgKlxuXHQgKiBAbmFtZSBzYXAuZmUuY29yZS5yb290Vmlldy5CYXNlQ29udHJvbGxlciNnZXRUaXRsZUluZm9Gcm9tUGF0aFxuXHQgKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUucm9vdFZpZXcuQmFzZUNvbnRyb2xsZXJcblx0ICogQHBhcmFtIHsqfSBzUGF0aCBwYXRoIG9mIHRoZSBjb250ZXh0IHRvIHJldHJpZXZlIHRpdGxlIGluZm9ybWF0aW9uIGZyb20gTWV0YU1vZGVsXG5cdCAqIEByZXR1cm5zIHtQcm9taXNlfSAgb1RpdGxlaW5mb3JtYXRpb24gcmV0dXJuZWQgYXMgcHJvbWlzZVxuXHQgKi9cblxuXHRnZXRUaXRsZUluZm9Gcm9tUGF0aChzUGF0aDogYW55KSB7XG5cdFx0Y29uc3Qgb1RpdGxlSGllcmFyY2h5Q2FjaGUgPSB0aGlzLl9nZXRUaXRsZUhpZXJhcmNoeUNhY2hlKCk7XG5cblx0XHRpZiAob1RpdGxlSGllcmFyY2h5Q2FjaGVbc1BhdGhdKSB7XG5cdFx0XHQvLyBUaGUgdGl0bGUgaW5mbyBpcyBhbHJlYWR5IHN0b3JlZCBpbiB0aGUgY2FjaGVcblx0XHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUob1RpdGxlSGllcmFyY2h5Q2FjaGVbc1BhdGhdKTtcblx0XHR9XG5cblx0XHRjb25zdCBvTWV0YU1vZGVsID0gdGhpcy5nZXRBcHBDb21wb25lbnQoKS5nZXRNZXRhTW9kZWwoKTtcblx0XHRjb25zdCBzRW50aXR5UGF0aCA9IG9NZXRhTW9kZWwuZ2V0TWV0YVBhdGgoc1BhdGgpO1xuXHRcdGNvbnN0IHNUeXBlTmFtZSA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KGAke3NFbnRpdHlQYXRofS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuSGVhZGVySW5mby9UeXBlTmFtZWApO1xuXHRcdGNvbnN0IHNBcHBTcGVjaWZpY0hhc2ggPSB0aGlzLl9nZXRBcHBTcGVjaWZpY0hhc2goKTtcblx0XHRjb25zdCBzSW50ZW50ID0gc0FwcFNwZWNpZmljSGFzaCArIHNQYXRoLnNsaWNlKDEpO1xuXHRcdHJldHVybiB0aGlzLl9mZXRjaFRpdGxlVmFsdWUoc1BhdGgpLnRoZW4oKHNUaXRsZTogYW55KSA9PiB7XG5cdFx0XHRjb25zdCBvVGl0bGVJbmZvID0gdGhpcy5fY29tcHV0ZVRpdGxlSW5mbyhzVHlwZU5hbWUsIHNUaXRsZSwgc0ludGVudCk7XG5cdFx0XHRvVGl0bGVIaWVyYXJjaHlDYWNoZVtzUGF0aF0gPSBvVGl0bGVJbmZvO1xuXHRcdFx0cmV0dXJuIG9UaXRsZUluZm87XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogRW5zdXJlIHRoYXQgdGhlIHVzaGVsbCBzZXJ2aWNlIHJlY2VpdmVzIGFsbCBlbGVtZW50c1xuXHQgKiAodGl0bGUsIHN1YnRpdGxlLCBpbnRlbnQsIGljb24pIGFzIHN0cmluZ3MuXG5cdCAqXG5cdCAqIEFubm90YXRpb24gSGVhZGVySW5mbyBhbGxvd3MgZm9yIGJpbmRpbmcgb2YgdGl0bGUgYW5kIGRlc2NyaXB0aW9uXG5cdCAqICh3aGljaCBhcmUgdXNlZCBoZXJlIGFzIHRpdGxlIGFuZCBzdWJ0aXRsZSkgdG8gYW55IGVsZW1lbnQgaW4gdGhlIGVudGl0eVxuXHQgKiAoYmVpbmcgcG9zc2libHkgdHlwZXMgbGlrZSBib29sZWFuLCB0aW1lc3RhbXAsIGRvdWJsZSwgZXRjLilcblx0ICpcblx0ICogQ3JlYXRlcyBhIG5ldyBoaWVyYXJjaHkgYW5kIGNvbnZlcnRzIG5vbi1zdHJpbmcgdHlwZXMgdG8gc3RyaW5nLlxuXHQgKlxuXHQgKiBAcGFyYW0gYUhpZXJhcmNoeSBTaGVsbCB0aXRsZSBoaWVyYXJjaHlcblx0ICogQHJldHVybnMgQ29weSBvZiBzaGVsbCB0aXRsZSBoaWVyYXJjaHkgY29udGFpbmluZyBhbGwgZWxlbWVudHMgYXMgc3RyaW5nc1xuXHQgKi9cblx0X2Vuc3VyZUhpZXJhcmNoeUVsZW1lbnRzQXJlU3RyaW5ncyhhSGllcmFyY2h5OiBhbnkpIHtcblx0XHRjb25zdCBhSGllcmFyY2h5U2hlbGwgPSBbXTtcblx0XHRmb3IgKGNvbnN0IGxldmVsIGluIGFIaWVyYXJjaHkpIHtcblx0XHRcdGNvbnN0IG9IaWVyYXJjaHkgPSBhSGllcmFyY2h5W2xldmVsXTtcblx0XHRcdGNvbnN0IG9TaGVsbEhpZXJhcmNoeTogYW55ID0ge307XG5cdFx0XHRmb3IgKGNvbnN0IGtleSBpbiBvSGllcmFyY2h5KSB7XG5cdFx0XHRcdG9TaGVsbEhpZXJhcmNoeVtrZXldID0gdHlwZW9mIG9IaWVyYXJjaHlba2V5XSAhPT0gXCJzdHJpbmdcIiA/IFN0cmluZyhvSGllcmFyY2h5W2tleV0pIDogb0hpZXJhcmNoeVtrZXldO1xuXHRcdFx0fVxuXHRcdFx0YUhpZXJhcmNoeVNoZWxsLnB1c2gob1NoZWxsSGllcmFyY2h5KTtcblx0XHR9XG5cdFx0cmV0dXJuIGFIaWVyYXJjaHlTaGVsbDtcblx0fVxuXG5cdF9nZXRUYXJnZXRUeXBlRnJvbUhhc2goc0hhc2g6IGFueSkge1xuXHRcdGNvbnN0IG9BcHBDb21wb25lbnQgPSB0aGlzLmdldEFwcENvbXBvbmVudCgpO1xuXHRcdGxldCBzVGFyZ2V0VHlwZSA9IFwiXCI7XG5cblx0XHRjb25zdCBhUm91dGVzID0gb0FwcENvbXBvbmVudC5nZXRNYW5pZmVzdEVudHJ5KFwic2FwLnVpNVwiKS5yb3V0aW5nPy5yb3V0ZXMgPz8gW107XG5cdFx0Zm9yIChjb25zdCByb3V0ZSBvZiBhUm91dGVzKSB7XG5cdFx0XHRjb25zdCBvUm91dGUgPSBvQXBwQ29tcG9uZW50LmdldFJvdXRlcigpLmdldFJvdXRlKHJvdXRlLm5hbWUpO1xuXHRcdFx0aWYgKG9Sb3V0ZT8ubWF0Y2goc0hhc2gpKSB7XG5cdFx0XHRcdGNvbnN0IHNUYXJnZXQgPSBBcnJheS5pc0FycmF5KHJvdXRlLnRhcmdldCkgPyByb3V0ZS50YXJnZXRbMF0gOiByb3V0ZS50YXJnZXQ7XG5cdFx0XHRcdHNUYXJnZXRUeXBlID0gKG9BcHBDb21wb25lbnQuZ2V0Um91dGVyKCkuZ2V0VGFyZ2V0KHNUYXJnZXQpIGFzIGFueSkuX29PcHRpb25zLm5hbWU7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiBzVGFyZ2V0VHlwZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIHVwZGF0ZXMgdGhlIHNoZWxsIHRpdGxlIGFmdGVyIGVhY2ggbmF2aWdhdGlvbi5cblx0ICpcblx0ICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLnJvb3RWaWV3LkJhc2VDb250cm9sbGVyXG5cdCAqIEBwYXJhbSBvVmlldyBUaGUgY3VycmVudCB2aWV3XG5cdCAqIEByZXR1cm5zIEEgUHJvbWlzZSB0aGF0IGlzIHJlc29sdmVkIHdoZW4gdGhlIG1lbnUgaXMgZmlsbGVkIHByb3Blcmx5XG5cdCAqL1xuXHRfY29tcHV0ZVRpdGxlSGllcmFyY2h5KG9WaWV3OiBhbnkpIHtcblx0XHRjb25zdCBvQXBwQ29tcG9uZW50ID0gdGhpcy5nZXRBcHBDb21wb25lbnQoKSxcblx0XHRcdG9Db250ZXh0ID0gb1ZpZXcuZ2V0QmluZGluZ0NvbnRleHQoKSxcblx0XHRcdG9DdXJyZW50UGFnZSA9IG9WaWV3LmdldFBhcmVudCgpLFxuXHRcdFx0YVRpdGxlSW5mb3JtYXRpb25Qcm9taXNlcyA9IFtdLFxuXHRcdFx0c0FwcFNwZWNpZmljSGFzaCA9IHRoaXMuX2dldEFwcFNwZWNpZmljSGFzaCgpLFxuXHRcdFx0bWFuaWZlc3RBcHBTZXR0aW5ncyA9IG9BcHBDb21wb25lbnQuZ2V0TWFuaWZlc3RFbnRyeShcInNhcC5hcHBcIiksXG5cdFx0XHRzQXBwVGl0bGUgPSBtYW5pZmVzdEFwcFNldHRpbmdzLnRpdGxlIHx8IFwiXCIsXG5cdFx0XHRzQXBwU3ViVGl0bGUgPSBtYW5pZmVzdEFwcFNldHRpbmdzLnN1YlRpdGxlIHx8IFwiXCIsXG5cdFx0XHRhcHBJY29uID0gbWFuaWZlc3RBcHBTZXR0aW5ncy5pY29uIHx8IFwiXCI7XG5cdFx0bGV0IG9QYWdlVGl0bGVJbmZvcm1hdGlvbjogYW55LCBzTmV3UGF0aDtcblxuXHRcdGlmIChvQ3VycmVudFBhZ2UgJiYgb0N1cnJlbnRQYWdlLl9nZXRQYWdlVGl0bGVJbmZvcm1hdGlvbikge1xuXHRcdFx0aWYgKG9Db250ZXh0KSB7XG5cdFx0XHRcdC8vIElmIHRoZSBmaXJzdCBwYWdlIG9mIHRoZSBhcHBsaWNhdGlvbiBpcyBhIExSLCB1c2UgdGhlIHRpdGxlIGFuZCBzdWJ0aXRsZSBmcm9tIHRoZSBtYW5pZmVzdFxuXHRcdFx0XHRpZiAodGhpcy5fZ2V0VGFyZ2V0VHlwZUZyb21IYXNoKFwiXCIpID09PSBcInNhcC5mZS50ZW1wbGF0ZXMuTGlzdFJlcG9ydFwiKSB7XG5cdFx0XHRcdFx0YVRpdGxlSW5mb3JtYXRpb25Qcm9taXNlcy5wdXNoKFxuXHRcdFx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHRoaXMuX2NvbXB1dGVUaXRsZUluZm8oc0FwcFRpdGxlLCBzQXBwU3ViVGl0bGUsIHNBcHBTcGVjaWZpY0hhc2gsIGFwcEljb24pKVxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBUaGVuIG1hbmFnZSBvdGhlciBwYWdlc1xuXHRcdFx0XHRzTmV3UGF0aCA9IG9Db250ZXh0LmdldFBhdGgoKTtcblx0XHRcdFx0Y29uc3QgYVBhdGhQYXJ0cyA9IHNOZXdQYXRoLnNwbGl0KFwiL1wiKTtcblx0XHRcdFx0bGV0IHNQYXRoID0gXCJcIjtcblxuXHRcdFx0XHRhUGF0aFBhcnRzLnNoaWZ0KCk7IC8vIFJlbW92ZSB0aGUgZmlyc3Qgc2VnbWVudCAoZW1wdHkgc3RyaW5nKSBhcyBpdCBoYXMgYmVlbiBtYW5hZ2VkIGFib3ZlXG5cdFx0XHRcdGFQYXRoUGFydHMucG9wKCk7IC8vIFJlbW92ZSB0aGUgbGFzdCBzZWdtZW50IGFzIGl0IGNvcnJlc3BvbmRzIHRvIHRoZSBjdXJyZW50IHBhZ2UgYW5kIHNob3VsZG4ndCBhcHBlYXIgaW4gdGhlIG1lbnVcblxuXHRcdFx0XHRhUGF0aFBhcnRzLmZvckVhY2goKHNQYXRoUGFydDogYW55KSA9PiB7XG5cdFx0XHRcdFx0c1BhdGggKz0gYC8ke3NQYXRoUGFydH1gO1xuXHRcdFx0XHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFNb2RlbCgpLFxuXHRcdFx0XHRcdFx0c1BhcmFtZXRlclBhdGggPSBvTWV0YU1vZGVsLmdldE1ldGFQYXRoKHNQYXRoKSxcblx0XHRcdFx0XHRcdGJJc1BhcmFtZXRlcml6ZWQgPSBvTWV0YU1vZGVsLmdldE9iamVjdChgJHtzUGFyYW1ldGVyUGF0aH0vQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5SZXN1bHRDb250ZXh0YCk7XG5cdFx0XHRcdFx0aWYgKCFiSXNQYXJhbWV0ZXJpemVkKSB7XG5cdFx0XHRcdFx0XHRhVGl0bGVJbmZvcm1hdGlvblByb21pc2VzLnB1c2godGhpcy5nZXRUaXRsZUluZm9Gcm9tUGF0aChzUGF0aCkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIEN1cnJlbnQgcGFnZVxuXHRcdFx0b1BhZ2VUaXRsZUluZm9ybWF0aW9uID0gb0N1cnJlbnRQYWdlLl9nZXRQYWdlVGl0bGVJbmZvcm1hdGlvbigpO1xuXHRcdFx0b1BhZ2VUaXRsZUluZm9ybWF0aW9uID0gdGhpcy5fY29tcHV0ZVRpdGxlSW5mbyhcblx0XHRcdFx0b1BhZ2VUaXRsZUluZm9ybWF0aW9uLnRpdGxlLFxuXHRcdFx0XHRvUGFnZVRpdGxlSW5mb3JtYXRpb24uc3VidGl0bGUsXG5cdFx0XHRcdHNBcHBTcGVjaWZpY0hhc2ggKyB0aGlzLl9nZXRIYXNoKClcblx0XHRcdCk7XG5cblx0XHRcdGlmIChvQ29udGV4dCkge1xuXHRcdFx0XHR0aGlzLl9nZXRUaXRsZUhpZXJhcmNoeUNhY2hlKClbc05ld1BhdGhdID0gb1BhZ2VUaXRsZUluZm9ybWF0aW9uO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5fZ2V0VGl0bGVIaWVyYXJjaHlDYWNoZSgpW3NBcHBTcGVjaWZpY0hhc2hdID0gb1BhZ2VUaXRsZUluZm9ybWF0aW9uO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRhVGl0bGVJbmZvcm1hdGlvblByb21pc2VzLnB1c2goUHJvbWlzZS5yZWplY3QoXCJUaXRsZSBpbmZvcm1hdGlvbiBtaXNzaW5nIGluIEhlYWRlckluZm9cIikpO1xuXHRcdH1cblx0XHRyZXR1cm4gUHJvbWlzZS5hbGwoYVRpdGxlSW5mb3JtYXRpb25Qcm9taXNlcylcblx0XHRcdC50aGVuKChhVGl0bGVJbmZvSGllcmFyY2h5OiBhbnlbXSkgPT4ge1xuXHRcdFx0XHQvLyB3b3JrYXJvdW5kIGZvciBzaGVsbCB3aGljaCBpcyBleHBlY3RpbmcgYWxsIGVsZW1lbnRzIGJlaW5nIG9mIHR5cGUgc3RyaW5nXG5cdFx0XHRcdGNvbnN0IGFUaXRsZUluZm9IaWVyYXJjaHlTaGVsbCA9IHRoaXMuX2Vuc3VyZUhpZXJhcmNoeUVsZW1lbnRzQXJlU3RyaW5ncyhhVGl0bGVJbmZvSGllcmFyY2h5KSxcblx0XHRcdFx0XHRzVGl0bGUgPSBvUGFnZVRpdGxlSW5mb3JtYXRpb24udGl0bGU7XG5cdFx0XHRcdGFUaXRsZUluZm9IaWVyYXJjaHlTaGVsbC5yZXZlcnNlKCk7XG5cdFx0XHRcdG9BcHBDb21wb25lbnQuZ2V0U2hlbGxTZXJ2aWNlcygpLnNldEhpZXJhcmNoeShhVGl0bGVJbmZvSGllcmFyY2h5U2hlbGwpO1xuXG5cdFx0XHRcdHRoaXMuX3NldFNoZWxsTWVudVRpdGxlKG9BcHBDb21wb25lbnQsIHNUaXRsZSwgc0FwcFRpdGxlKTtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKHNFcnJvck1lc3NhZ2U6IGFueSkge1xuXHRcdFx0XHRMb2cuZXJyb3Ioc0Vycm9yTWVzc2FnZSk7XG5cdFx0XHR9KVxuXHRcdFx0LmZpbmFsbHkoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmJJc0NvbXB1dGluZ1RpdGxlSGllcmFjaHkgPSBmYWxzZTtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKHNFcnJvck1lc3NhZ2U6IGFueSkge1xuXHRcdFx0XHRMb2cuZXJyb3Ioc0Vycm9yTWVzc2FnZSk7XG5cdFx0XHR9KTtcblx0fVxuXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0Y2FsY3VsYXRlTGF5b3V0KGlOZXh0RkNMTGV2ZWw6IG51bWJlciwgc0hhc2g6IHN0cmluZywgc1Byb3Bvc2VkTGF5b3V0OiBzdHJpbmcgfCB1bmRlZmluZWQsIGtlZXBDdXJyZW50TGF5b3V0ID0gZmFsc2UpIHtcblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBDYWxsYmFjayBhZnRlciBhIHZpZXcgaGFzIGJlZW4gYm91bmQgdG8gYSBjb250ZXh0LlxuXHQgKlxuXHQgKiBAcGFyYW0gb0NvbnRleHQgVGhlIGNvbnRleHQgdGhhdCBoYXMgYmVlbiBib3VuZCB0byBhIHZpZXdcblx0ICovXG5cdG9uQ29udGV4dEJvdW5kVG9WaWV3KG9Db250ZXh0OiBhbnkpIHtcblx0XHRpZiAob0NvbnRleHQpIHtcblx0XHRcdGNvbnN0IHNEZWVwZXN0UGF0aCA9IHRoaXMuZ2V0VmlldygpLmdldE1vZGVsKFwiaW50ZXJuYWxcIikuZ2V0UHJvcGVydHkoXCIvZGVlcGVzdFBhdGhcIiksXG5cdFx0XHRcdHNWaWV3Q29udGV4dFBhdGggPSBvQ29udGV4dC5nZXRQYXRoKCk7XG5cblx0XHRcdGlmICghc0RlZXBlc3RQYXRoIHx8IHNEZWVwZXN0UGF0aC5pbmRleE9mKHNWaWV3Q29udGV4dFBhdGgpICE9PSAwKSB7XG5cdFx0XHRcdC8vIFRoZXJlIHdhcyBubyBwcmV2aW91cyB2YWx1ZSBmb3IgdGhlIGRlZXBlc3QgcmVhY2hlZCBwYXRoLCBvciB0aGUgcGF0aFxuXHRcdFx0XHQvLyBmb3IgdGhlIHZpZXcgaXNuJ3QgYSBzdWJwYXRoIG9mIHRoZSBwcmV2aW91cyBkZWVwZXN0IHBhdGggLS0+IHVwZGF0ZVxuXHRcdFx0XHQodGhpcy5nZXRWaWV3KCkuZ2V0TW9kZWwoXCJpbnRlcm5hbFwiKSBhcyBKU09OTW9kZWwpLnNldFByb3BlcnR5KFwiL2RlZXBlc3RQYXRoXCIsIHNWaWV3Q29udGV4dFBhdGgsIHVuZGVmaW5lZCwgdHJ1ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHRkaXNwbGF5RXJyb3JQYWdlKHNFcnJvck1lc3NhZ2U6IGFueSwgbVBhcmFtZXRlcnM6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuXHRcdC8vIFRvIGJlIG92ZXJyaWRkZW5cblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRydWUpO1xuXHR9XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHR1cGRhdGVVSVN0YXRlRm9yVmlldyhvVmlldzogYW55LCBGQ0xMZXZlbDogYW55KSB7XG5cdFx0Ly8gVG8gYmUgb3ZlcnJpZGVuXG5cdH1cblxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdGdldEluc3RhbmNlZFZpZXdzKCk6IFhNTFZpZXdbXSB7XG5cdFx0cmV0dXJuIFtdO1xuXHRcdC8vIFRvIGJlIG92ZXJyaWRlblxuXHR9XG5cblx0X3Njcm9sbFRhYmxlc1RvTGFzdE5hdmlnYXRlZEl0ZW1zKCk6IHZvaWQge1xuXHRcdC8vIFRvIGJlIG92ZXJyaWRlblxuXHR9XG5cblx0aXNGY2xFbmFibGVkKCk6IHRoaXMgaXMgRmNsQ29udHJvbGxlciB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHRfc2V0U2hlbGxNZW51VGl0bGUob0FwcENvbXBvbmVudDogQXBwQ29tcG9uZW50LCBzVGl0bGU6IHN0cmluZywgc0FwcFRpdGxlOiBzdHJpbmcpOiB2b2lkIHtcblx0XHQvLyBUbyBiZSBvdmVycmlkZW4gYnkgRmNsQ29udHJvbGxlclxuXHRcdG9BcHBDb21wb25lbnQuZ2V0U2hlbGxTZXJ2aWNlcygpLnNldFRpdGxlKHNUaXRsZSk7XG5cdH1cblxuXHRnZXRBcHBDb250ZW50Q29udGFpbmVyKCk6IE5hdkNvbnRhaW5lciB8IEZsZXhpYmxlQ29sdW1uTGF5b3V0IHtcblx0XHRjb25zdCBvQXBwQ29tcG9uZW50ID0gdGhpcy5nZXRBcHBDb21wb25lbnQoKTtcblx0XHRjb25zdCBhcHBDb250ZW50SWQgPSBvQXBwQ29tcG9uZW50LmdldE1hbmlmZXN0RW50cnkoXCJzYXAudWk1XCIpLnJvdXRpbmc/LmNvbmZpZz8uY29udHJvbElkID8/IFwiYXBwQ29udGVudFwiO1xuXHRcdHJldHVybiB0aGlzLmdldFZpZXcoKS5ieUlkKGFwcENvbnRlbnRJZCkgYXMgTmF2Q29udGFpbmVyIHwgRmxleGlibGVDb2x1bW5MYXlvdXQ7XG5cdH1cbn1cbmludGVyZmFjZSBSb290Vmlld0Jhc2VDb250cm9sbGVyIHtcblx0b25Db250YWluZXJSZWFkeT8oKTogdm9pZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUm9vdFZpZXdCYXNlQ29udHJvbGxlcjtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7OztNQW9CTUEsc0JBQXNCLFdBRDNCQyxjQUFjLENBQUMsNkNBQTZDLENBQUMsVUFFNURDLGNBQWMsQ0FBQ0MsV0FBVyxDQUFDLFVBRzNCRCxjQUFjLENBQUNFLFNBQVMsQ0FBQztJQUFBO0lBQUE7TUFBQTtNQUFBO1FBQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBLE1BV2xCQyx5QkFBeUIsR0FBRyxLQUFLO01BQUE7SUFBQTtJQUFBO0lBQUEsT0FFekNDLE1BQU0sR0FBTixrQkFBUztNQUNSQyxlQUFlLENBQUNDLElBQUksRUFBRTtNQUV0QixJQUFJLENBQUNDLGNBQWMsR0FBRyxFQUFFO0lBQ3pCLENBQUM7SUFBQSxPQUVEQyxjQUFjLEdBQWQsMEJBQWlCO01BQ2hCLE9BQU8sSUFBSSxDQUFDQyxZQUFZO0lBQ3pCLENBQUM7SUFBQSxPQUVEQyxtQkFBbUIsR0FBbkIsK0JBQXNCO01BQ3JCLElBQUksQ0FBQ0QsWUFBWSxDQUFDQyxtQkFBbUIsRUFBRTtNQUN2QyxJQUFJLENBQUNDLGVBQWUsRUFBRSxDQUFDQyxpQkFB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
@@ -2,5 +2,5 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log","sap/fe/core/BaseController","sap/fe/core/CommonUtils","sap/fe/core/controllerextensions/Placeholder","sap/fe/core/controllerextensions/ViewState","sap/fe/core/helpers/ClassSupport","sap/fe/macros/table/TableSizeHelper","sap/ui/base/BindingParser","sap/ui/core/routing/HashChanger","sap/ui/model/json/JSONModel","sap/ui/model/odata/v4/AnnotationHelper","sap/ui/thirdparty/URI"],function(e,t,o,n,i,r,a,s,c,l,u,h){"use strict";var f,p,g,d,m,y,b;var P=r.usingExtension;var v=r.defineUI5Class;function C(e,t,o,n){if(!o)return;Object.defineProperty(e,t,{enumerable:o.enumerable,configurable:o.configurable,writable:o.writable,value:o.initializer?o.initializer.call(n):void 0})}function R(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function T(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;_(e,t)}function _(e,t){_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,o){t.__proto__=o;return t};return _(e,t)}function w(e,t,o,n,i){var r={};Object.keys(n).forEach(function(e){r[e]=n[e]});r.enumerable=!!r.enumerable;r.configurable=!!r.configurable;if("value"in r||r.initializer){r.writable=true}r=o.slice().reverse().reduce(function(o,n){return n(e,t,o)||o},r);if(i&&r.initializer!==void 0){r.value=r.initializer?r.initializer.call(i):void 0;r.initializer=undefined}if(r.initializer===void 0){Object.defineProperty(e,t,r);r=null}return r}function H(e,t){throw new Error("Decorating class property failed. Please ensure that "+"proposal-class-properties is enabled and runs after the decorators transform.")}let M=(f=v("sap.fe.core.rootView.RootViewBaseController"),p=P(n),g=P(i),f(d=(m=function(t){T(n,t);function n(){var e;for(var o=arguments.length,n=new Array(o),i=0;i<o;i++){n[i]=arguments[i]}e=t.call(this,...n)||this;C(e,"oPlaceholder",y,R(e));C(e,"viewState",b,R(e));e.bIsComputingTitleHierachy=false;return e}var i=n.prototype;i.onInit=function e(){a.init();this._aHelperModels=[]};i.getPlaceholder=function e(){return this.oPlaceholder};i.attachRouteMatchers=function e(){this.oPlaceholder.attachRouteMatchers();this.getAppComponent().getRoutingService().attachAfterRouteMatched(this._onAfterRouteMatched,this)};i.onExit=function e(){this.getAppComponent().getRoutingService().detachAfterRouteMatched(this._onAfterRouteMatched,this);this.oRouter=undefined;a.exit();this._aHelperModels.forEach(function(e){e.destroy()})};i.getResourceBundle=function e(){return this.getOwnerComponent().getModel("i18n").getResourceBundle()};i.getRouter=function e(){if(!this.oRouter){this.oRouter=this.getAppComponent().getRouter()}return this.oRouter};i._createHelperModel=function e(){const t=new l;this._aHelperModels.push(t);return t};i.waitForRightMostViewReady=function e(t){return new Promise(function(e){const o=t.getParameter("views"),n=[];o.forEach(function(e){let t=e;if(e&&e.getComponentInstance){const o=e.getComponentInstance();t=o.getRootControl()}if(t&&t.getController()&&t.getController().pageReady){n.push(t)}});const i=n[n.length-1];if(i&&i.getController().pageReady.isPageReady()){e(i)}else if(i){i.getController().pageReady.attachEventOnce("pageReady",function(){e(i)})}})};i._onAfterRouteMatched=function t(o){if(!this._oRouteMatchedPromise){this._oRouteMatchedPromise=this.waitForRightMostViewReady(o).then(e=>{const t=this.getView().getContent()[0];if(t&&t.getAutoFocus&&!t.getAutoFocus()){t.setProperty("autoFocus",true,true)}const o=this.getAppComponent();this._scrollTablesToLastNavigatedItems();if(o.getEnvironmentCapabilities().getCapabilities().UShell){this._computeTitleHierarchy(e)}const n=o.getRouterProxy().isFocusForced();o.getRouterProxy().setFocusForced(false);if(e.getController()&&e.getController().onPageReady&&e.getParent().onPageReady){e.getParent().onPageReady({forceFocus:n})}if(this.onContainerReady){this.onContainerReady()}}).catch(function(t){e.error("An error occurs while computing the title hierarchy and calling focus method",t)}).finally(()=>{this._oRouteMatchedPromise=null})}};i._getTitleHierarchyCache=function e(){if(!this.oTitleHierarchyCache){this.oTitleHierarchyCache={}}return this.oTitleHierarchyCache};i._computeTitleInfo=function e(t,o,n){let i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:"";const r=n.split("/");n=h.decode(n);if(r[r.length-1].indexOf("?")===-1){n+="?restoreHistory=true"}else{n+="&restoreHistory=true"}return{title:t,subtitle:o,intent:n,icon:i}};i._formatTitle=function e(t,o,n){let i="";switch(t){case"Value":i=`${o}`;break;case"ValueDescription":i=`${o} (${n})`;break;case"DescriptionValue":i=`${n} (${o})`;break;case"Description":i=`${n}`;break;default:}return i};i._fetchTitleValue=async function t(n){const i=this.getAppComponent(),r=this.getView().getModel(),a=i.getMetaModel(),c=a.getMetaPath(n),l=r.createBindingContext(n),h=u.format(a.getObject(`${c}/@com.sap.vocabularies.UI.v1.HeaderInfo/Title/Value`),{context:a.createBindingContext("/")});if(!h){return Promise.resolve("")}const f=u.format(a.getObject(`${c}/@com.sap.vocabularies.UI.v1.HeaderInfo/Title/Value/$Path@com.sap.vocabularies.Common.v1.Text`),{context:a.createBindingContext("/")}),p=a.getObject(`${c}/@com.sap.vocabularies.UI.v1.HeaderInfo/Title/Value/$Path@`),g=[],d=s.complexParser(h),m=new Promise(function(e){const t=o.computeDisplayMode(p);e(t)});g.push(m);const y=d.parts?d.parts[0].path:d.path,b=d.formatter,P=r.bindProperty(y,l);P.initialize();const v=new Promise(function(e){const t=function(o){const n=b?b(o.getSource().getValue()):o.getSource().getValue();P.detachChange(t);e(n)};P.attachChange(t)});g.push(v);if(f){const e=s.complexParser(f);let t=e.parts?e.parts[0].path:e.path;t=y.lastIndexOf("/")>-1?`${y.slice(0,y.lastIndexOf("/"))}/${t}`:t;const o=e.formatter,n=r.bindProperty(t,l);n.initialize();const i=new Promise(function(e){const t=function(i){const r=o?o(i.getSource().getValue()):i.getSource().getValue();n.detachChange(t);e(r)};n.attachChange(t)});g.push(i)}try{const e=await Promise.all(g);let t="";if(typeof e!=="string"){t=this._formatTitle(e[0],e[1],e[2])}return t}catch(t){e.error("Error while fetching the title from the header info :"+t)}return""};i._getAppSpecificHash=function e(){const t=c.getInstance();return"hrefForAppSpecificHash"in t?t.hrefForAppSpecificHash(""):"#/"};i._getHash=function e(){return c.getInstance().getHash()};i.getTitleInfoFromPath=function e(t){const o=this._getTitleHierarchyCache();if(o[t]){return Promise.resolve(o[t])}const n=this.getAppComponent().getMetaModel();const i=n.getMetaPath(t);const r=n.getObject(`${i}/@com.sap.vocabularies.UI.v1.HeaderInfo/TypeName`);const a=this._getAppSpecificHash();const s=a+t.slice(1);return this._fetchTitleValue(t).then(e=>{const n=this._computeTitleInfo(r,e,s);o[t]=n;return n})};i._ensureHierarchyElementsAreStrings=function e(t){const o=[];for(const e in t){const n=t[e];const i={};for(const e in n){i[e]=typeof n[e]!=="string"?String(n[e]):n[e]}o.push(i)}return o};i._getTargetTypeFromHash=function e(t){var o;const n=this.getAppComponent();let i="";const r=((o=n.getManifestEntry("sap.ui5").routing)===null||o===void 0?void 0:o.routes)??[];for(const e of r){const o=n.getRouter().getRoute(e.name);if(o!==null&&o!==void 0&&o.match(t)){const t=Array.isArray(e.target)?e.target[0]:e.target;i=n.getRouter().getTarget(t)._oOptions.name;break}}return i};i._computeTitleHierarchy=function t(o){const n=this.getAppComponent(),i=o.getBindingContext(),r=o.getParent(),a=[],s=this._getAppSpecificHash(),c=n.getManifestEntry("sap.app"),l=c.title||"",u=c.subTitle||"",h=c.icon||"";let f,p;if(r&&r._getPageTitleInformation){if(i){if(this._getTargetTypeFromHash("")==="sap.fe.templates.ListReport"){a.push(Promise.resolve(this._computeTitleInfo(l,u,s,h)))}p=i.getPath();const e=p.split("/");let t="";e.shift();e.pop();e.forEach(e=>{t+=`/${e}`;const o=n.getMetaModel(),i=o.getMetaPath(t),r=o.getObject(`${i}/@com.sap.vocabularies.Common.v1.ResultContext`);if(!r){a.push(this.getTitleInfoFromPath(t))}})}f=r._getPageTitleInformation();f=this._computeTitleInfo(f.title,f.subtitle,s+this._getHash());if(i){this._getTitleHierarchyCache()[p]=f}else{this._getTitleHierarchyCache()[s]=f}}else{a.push(Promise.reject("Title information missing in HeaderInfo"))}return Promise.all(a).then(e=>{const t=this._ensureHierarchyElementsAreStrings(e),o=f.title;t.reverse();n.getShellServices().setHierarchy(t);this._setShellMenuTitle(n,o,l)}).catch(function(t){e.error(t)}).finally(()=>{this.bIsComputingTitleHierachy=false}).catch(function(t){e.error(t)})};i.calculateLayout=function e(t,o,n){let i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;return null};i.onContextBoundToView=function e(t){if(t){const e=this.getView().getModel("internal").getProperty("/deepestPath"),o=t.getPath();if(!e||e.indexOf(o)!==0){this.getView().getModel("internal").setProperty("/deepestPath",o,undefined,true)}}};i.displayErrorPage=function e(t,o){return Promise.resolve(true)};i.updateUIStateForView=function e(t,o){};i.getInstancedViews=function e(){return[]};i._scrollTablesToLastNavigatedItems=function e(){};i.isFclEnabled=function e(){return false};i._setShellMenuTitle=function e(t,o,n){t.getShellServices().setTitle(o)};i.getAppContentContainer=function e(){var t,o;const n=this.getAppComponent();const i=((t=n.getManifestEntry("sap.ui5").routing)===null||t===void 0?void 0:(o=t.config)===null||o===void 0?void 0:o.controlId)??"appContent";return this.getView().byId(i)};return n}(t),y=w(m.prototype,"oPlaceholder",[p],{configurable:true,enumerable:true,writable:true,initializer:null}),b=w(m.prototype,"viewState",[g],{configurable:true,enumerable:true,writable:true,initializer:null}),m))||d);return M},false);
5
+ sap.ui.define(["sap/base/Log","sap/fe/core/BaseController","sap/fe/core/CommonUtils","sap/fe/core/controllerextensions/Placeholder","sap/fe/core/controllerextensions/ViewState","sap/fe/core/helpers/ClassSupport","sap/fe/macros/table/TableSizeHelper","sap/ui/base/BindingParser","sap/ui/core/routing/HashChanger","sap/ui/model/json/JSONModel","sap/ui/model/odata/v4/AnnotationHelper"],function(e,t,o,n,i,r,a,s,c,l,u){"use strict";var h,f,p,g,d,m,y;var b=r.usingExtension;var P=r.defineUI5Class;function v(e,t,o,n){if(!o)return;Object.defineProperty(e,t,{enumerable:o.enumerable,configurable:o.configurable,writable:o.writable,value:o.initializer?o.initializer.call(n):void 0})}function C(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function R(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;T(e,t)}function T(e,t){T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,o){t.__proto__=o;return t};return T(e,t)}function _(e,t,o,n,i){var r={};Object.keys(n).forEach(function(e){r[e]=n[e]});r.enumerable=!!r.enumerable;r.configurable=!!r.configurable;if("value"in r||r.initializer){r.writable=true}r=o.slice().reverse().reduce(function(o,n){return n(e,t,o)||o},r);if(i&&r.initializer!==void 0){r.value=r.initializer?r.initializer.call(i):void 0;r.initializer=undefined}if(r.initializer===void 0){Object.defineProperty(e,t,r);r=null}return r}function w(e,t){throw new Error("Decorating class property failed. Please ensure that "+"proposal-class-properties is enabled and runs after the decorators transform.")}let H=(h=P("sap.fe.core.rootView.RootViewBaseController"),f=b(n),p=b(i),h(g=(d=function(t){R(n,t);function n(){var e;for(var o=arguments.length,n=new Array(o),i=0;i<o;i++){n[i]=arguments[i]}e=t.call(this,...n)||this;v(e,"oPlaceholder",m,C(e));v(e,"viewState",y,C(e));e.bIsComputingTitleHierachy=false;return e}var i=n.prototype;i.onInit=function e(){a.init();this._aHelperModels=[]};i.getPlaceholder=function e(){return this.oPlaceholder};i.attachRouteMatchers=function e(){this.oPlaceholder.attachRouteMatchers();this.getAppComponent().getRoutingService().attachAfterRouteMatched(this._onAfterRouteMatched,this)};i.onExit=function e(){this.getAppComponent().getRoutingService().detachAfterRouteMatched(this._onAfterRouteMatched,this);this.oRouter=undefined;a.exit();this._aHelperModels.forEach(function(e){e.destroy()})};i.getResourceBundle=function e(){return this.getOwnerComponent().getModel("i18n").getResourceBundle()};i.getRouter=function e(){if(!this.oRouter){this.oRouter=this.getAppComponent().getRouter()}return this.oRouter};i._createHelperModel=function e(){const t=new l;this._aHelperModels.push(t);return t};i.waitForRightMostViewReady=function e(t){return new Promise(function(e){const o=t.getParameter("views"),n=[];o.forEach(function(e){let t=e;if(e&&e.getComponentInstance){const o=e.getComponentInstance();t=o.getRootControl()}if(t&&t.getController()&&t.getController().pageReady){n.push(t)}});const i=n[n.length-1];if(i&&i.getController().pageReady.isPageReady()){e(i)}else if(i){i.getController().pageReady.attachEventOnce("pageReady",function(){e(i)})}})};i._onAfterRouteMatched=function t(o){if(!this._oRouteMatchedPromise){this._oRouteMatchedPromise=this.waitForRightMostViewReady(o).then(e=>{const t=this.getView().getContent()[0];if(t&&t.getAutoFocus&&!t.getAutoFocus()){t.setProperty("autoFocus",true,true)}const o=this.getAppComponent();this._scrollTablesToLastNavigatedItems();if(o.getEnvironmentCapabilities().getCapabilities().UShell){this._computeTitleHierarchy(e)}const n=o.getRouterProxy().isFocusForced();o.getRouterProxy().setFocusForced(false);if(e.getController()&&e.getController().onPageReady&&e.getParent().onPageReady){e.getParent().onPageReady({forceFocus:n})}if(this.onContainerReady){this.onContainerReady()}}).catch(function(t){e.error("An error occurs while computing the title hierarchy and calling focus method",t)}).finally(()=>{this._oRouteMatchedPromise=null})}};i._getTitleHierarchyCache=function e(){if(!this.oTitleHierarchyCache){this.oTitleHierarchyCache={}}return this.oTitleHierarchyCache};i._computeTitleInfo=function e(t,o,n){let i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:"";const r=n.split("/");if(r[r.length-1].indexOf("?")===-1){n+="?restoreHistory=true"}else{n+="&restoreHistory=true"}return{title:t,subtitle:o,intent:n,icon:i}};i._formatTitle=function e(t,o,n){let i="";switch(t){case"Value":i=`${o}`;break;case"ValueDescription":i=`${o} (${n})`;break;case"DescriptionValue":i=`${n} (${o})`;break;case"Description":i=`${n}`;break;default:}return i};i._fetchTitleValue=async function t(n){const i=this.getAppComponent(),r=this.getView().getModel(),a=i.getMetaModel(),c=a.getMetaPath(n),l=r.createBindingContext(n),h=u.format(a.getObject(`${c}/@com.sap.vocabularies.UI.v1.HeaderInfo/Title/Value`),{context:a.createBindingContext("/")});if(!h){return Promise.resolve("")}const f=u.format(a.getObject(`${c}/@com.sap.vocabularies.UI.v1.HeaderInfo/Title/Value/$Path@com.sap.vocabularies.Common.v1.Text`),{context:a.createBindingContext("/")}),p=a.getObject(`${c}/@com.sap.vocabularies.UI.v1.HeaderInfo/Title/Value/$Path@`),g=[],d=s.complexParser(h),m=new Promise(function(e){const t=o.computeDisplayMode(p);e(t)});g.push(m);const y=d.parts?d.parts[0].path:d.path,b=d.formatter,P=r.bindProperty(y,l);P.initialize();const v=new Promise(function(e){const t=function(o){const n=b?b(o.getSource().getValue()):o.getSource().getValue();P.detachChange(t);e(n)};P.attachChange(t)});g.push(v);if(f){const e=s.complexParser(f);let t=e.parts?e.parts[0].path:e.path;t=y.lastIndexOf("/")>-1?`${y.slice(0,y.lastIndexOf("/"))}/${t}`:t;const o=e.formatter,n=r.bindProperty(t,l);n.initialize();const i=new Promise(function(e){const t=function(i){const r=o?o(i.getSource().getValue()):i.getSource().getValue();n.detachChange(t);e(r)};n.attachChange(t)});g.push(i)}try{const e=await Promise.all(g);let t="";if(typeof e!=="string"){t=this._formatTitle(e[0],e[1],e[2])}return t}catch(t){e.error("Error while fetching the title from the header info :"+t)}return""};i._getAppSpecificHash=function e(){const t=c.getInstance();return"hrefForAppSpecificHash"in t?t.hrefForAppSpecificHash(""):"#/"};i._getHash=function e(){return c.getInstance().getHash()};i.getTitleInfoFromPath=function e(t){const o=this._getTitleHierarchyCache();if(o[t]){return Promise.resolve(o[t])}const n=this.getAppComponent().getMetaModel();const i=n.getMetaPath(t);const r=n.getObject(`${i}/@com.sap.vocabularies.UI.v1.HeaderInfo/TypeName`);const a=this._getAppSpecificHash();const s=a+t.slice(1);return this._fetchTitleValue(t).then(e=>{const n=this._computeTitleInfo(r,e,s);o[t]=n;return n})};i._ensureHierarchyElementsAreStrings=function e(t){const o=[];for(const e in t){const n=t[e];const i={};for(const e in n){i[e]=typeof n[e]!=="string"?String(n[e]):n[e]}o.push(i)}return o};i._getTargetTypeFromHash=function e(t){var o;const n=this.getAppComponent();let i="";const r=((o=n.getManifestEntry("sap.ui5").routing)===null||o===void 0?void 0:o.routes)??[];for(const e of r){const o=n.getRouter().getRoute(e.name);if(o!==null&&o!==void 0&&o.match(t)){const t=Array.isArray(e.target)?e.target[0]:e.target;i=n.getRouter().getTarget(t)._oOptions.name;break}}return i};i._computeTitleHierarchy=function t(o){const n=this.getAppComponent(),i=o.getBindingContext(),r=o.getParent(),a=[],s=this._getAppSpecificHash(),c=n.getManifestEntry("sap.app"),l=c.title||"",u=c.subTitle||"",h=c.icon||"";let f,p;if(r&&r._getPageTitleInformation){if(i){if(this._getTargetTypeFromHash("")==="sap.fe.templates.ListReport"){a.push(Promise.resolve(this._computeTitleInfo(l,u,s,h)))}p=i.getPath();const e=p.split("/");let t="";e.shift();e.pop();e.forEach(e=>{t+=`/${e}`;const o=n.getMetaModel(),i=o.getMetaPath(t),r=o.getObject(`${i}/@com.sap.vocabularies.Common.v1.ResultContext`);if(!r){a.push(this.getTitleInfoFromPath(t))}})}f=r._getPageTitleInformation();f=this._computeTitleInfo(f.title,f.subtitle,s+this._getHash());if(i){this._getTitleHierarchyCache()[p]=f}else{this._getTitleHierarchyCache()[s]=f}}else{a.push(Promise.reject("Title information missing in HeaderInfo"))}return Promise.all(a).then(e=>{const t=this._ensureHierarchyElementsAreStrings(e),o=f.title;t.reverse();n.getShellServices().setHierarchy(t);this._setShellMenuTitle(n,o,l)}).catch(function(t){e.error(t)}).finally(()=>{this.bIsComputingTitleHierachy=false}).catch(function(t){e.error(t)})};i.calculateLayout=function e(t,o,n){let i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;return null};i.onContextBoundToView=function e(t){if(t){const e=this.getView().getModel("internal").getProperty("/deepestPath"),o=t.getPath();if(!e||e.indexOf(o)!==0){this.getView().getModel("internal").setProperty("/deepestPath",o,undefined,true)}}};i.displayErrorPage=function e(t,o){return Promise.resolve(true)};i.updateUIStateForView=function e(t,o){};i.getInstancedViews=function e(){return[]};i._scrollTablesToLastNavigatedItems=function e(){};i.isFclEnabled=function e(){return false};i._setShellMenuTitle=function e(t,o,n){t.getShellServices().setTitle(o)};i.getAppContentContainer=function e(){var t,o;const n=this.getAppComponent();const i=((t=n.getManifestEntry("sap.ui5").routing)===null||t===void 0?void 0:(o=t.config)===null||o===void 0?void 0:o.controlId)??"appContent";return this.getView().byId(i)};return n}(t),m=_(d.prototype,"oPlaceholder",[f],{configurable:true,enumerable:true,writable:true,initializer:null}),y=_(d.prototype,"viewState",[p],{configurable:true,enumerable:true,writable:true,initializer:null}),d))||g);return H},false);
6
6
  //# sourceMappingURL=RootViewBaseController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RootViewBaseController.js","names":["sap","ui","define","Log","BaseController","CommonUtils","Placeholder","ViewState","ClassSupport","TableSizeHelper","BindingParser","HashChanger","JSONModel","AnnotationHelper","URI","_dec","_dec2","_dec3","_class","_class2","_descriptor","_descriptor2","usingExtension","defineUI5Class","_initializerDefineProperty","target","property","descriptor","context","Object","defineProperty","enumerable","configurable","writable","value","initializer","call","_assertThisInitialized","self","ReferenceError","_inheritsLoose","subClass","superClass","prototype","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_applyDecoratedDescriptor","decorators","desc","keys","forEach","key","slice","reverse","reduce","decorator","undefined","_initializerWarningHelper","Error","RootViewBaseController","_BaseController","_this","_len","arguments","length","args","Array","_key","this","bIsComputingTitleHierachy","_proto","onInit","init","_aHelperModels","getPlaceholder","oPlaceholder","attachRouteMatchers","getAppComponent","getRoutingService","attachAfterRouteMatched","_onAfterRouteMatched","onExit","detachAfterRouteMatched","oRouter","exit","oModel","destroy","getResourceBundle","getOwnerComponent","getModel","getRouter","_createHelperModel","push","waitForRightMostViewReady","oEvent","Promise","resolve","aContainers","getParameter","aFEContainers","oContainer","oView","getComponentInstance","oComponentInstance","getRootControl","getController","pageReady","oRightMostFEView","isPageReady","attachEventOnce","_oRouteMatchedPromise","then","oRootControl","getView","getContent","getAutoFocus","setProperty","oAppComponent","_scrollTablesToLastNavigatedItems","getEnvironmentCapabilities","getCapabilities","UShell","_computeTitleHierarchy","bForceFocus","getRouterProxy","isFocusForced","setFocusForced","onPageReady","getParent","forceFocus","onContainerReady","catch","oError","error","finally","_getTitleHierarchyCache","oTitleHierarchyCache","_computeTitleInfo","title","subtitle","sIntent","icon","aParts","split","decode","indexOf","intent","_formatTitle","displayMode","titleValue","titleDescription","formattedTitle","_fetchTitleValue","async","sPath","oMetaModel","getMetaModel","sMetaPath","getMetaPath","oBindingViewContext","createBindingContext","sValueExpression","format","getObject","sTextExpression","oPropertyContext","aPromises","oValueExpression","complexParser","oPromiseForDisplayMode","computeDisplayMode","sValuePath","parts","path","fnValueFormatter","formatter","oValueBinding","bindProperty","initialize","oPromiseForTitleValue","fnChange","sTargetValue","getSource","getValue","detachChange","attachChange","oTextExpression","sTextPath","lastIndexOf","fnTextFormatter","oTextBinding","oPromiseForTitleText","sTargetText","titleInfo","all","_getAppSpecificHash","hashChanger","getInstance","hrefForAppSpecificHash","_getHash","getHash","getTitleInfoFromPath","sEntityPath","sTypeName","sAppSpecificHash","sTitle","oTitleInfo","_ensureHierarchyElementsAreStrings","aHierarchy","aHierarchyShell","level","oHierarchy","oShellHierarchy","String","_getTargetTypeFromHash","sHash","_oAppComponent$getMan","sTargetType","aRoutes","getManifestEntry","routing","routes","route","oRoute","getRoute","name","match","sTarget","isArray","getTarget","_oOptions","oContext","getBindingContext","oCurrentPage","aTitleInformationPromises","manifestAppSettings","sAppTitle","sAppSubTitle","subTitle","appIcon","oPageTitleInformation","sNewPath","_getPageTitleInformation","getPath","aPathParts","shift","pop","sPathPart","sParameterPath","bIsParameterized","reject","aTitleInfoHierarchy","aTitleInfoHierarchyShell","getShellServices","setHierarchy","_setShellMenuTitle","sErrorMessage","calculateLayout","iNextFCLLevel","sProposedLayout","keepCurrentLayout","onContextBoundToView","sDeepestPath","getProperty","sViewContextPath","displayErrorPage","mParameters","updateUIStateForView","FCLLevel","getInstancedViews","isFclEnabled","setTitle","getAppContentContainer","_oAppComponent$getMan2","_oAppComponent$getMan3","appContentId","config","controlId","byId"],"sources":["RootViewBaseController-dbg.js"],"mappings":"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"}
1
+ {"version":3,"file":"RootViewBaseController.js","names":["sap","ui","define","Log","BaseController","CommonUtils","Placeholder","ViewState","ClassSupport","TableSizeHelper","BindingParser","HashChanger","JSONModel","AnnotationHelper","_dec","_dec2","_dec3","_class","_class2","_descriptor","_descriptor2","usingExtension","defineUI5Class","_initializerDefineProperty","target","property","descriptor","context","Object","defineProperty","enumerable","configurable","writable","value","initializer","call","_assertThisInitialized","self","ReferenceError","_inheritsLoose","subClass","superClass","prototype","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_applyDecoratedDescriptor","decorators","desc","keys","forEach","key","slice","reverse","reduce","decorator","undefined","_initializerWarningHelper","Error","RootViewBaseController","_BaseController","_this","_len","arguments","length","args","Array","_key","this","bIsComputingTitleHierachy","_proto","onInit","init","_aHelperModels","getPlaceholder","oPlaceholder","attachRouteMatchers","getAppComponent","getRoutingService","attachAfterRouteMatched","_onAfterRouteMatched","onExit","detachAfterRouteMatched","oRouter","exit","oModel","destroy","getResourceBundle","getOwnerComponent","getModel","getRouter","_createHelperModel","push","waitForRightMostViewReady","oEvent","Promise","resolve","aContainers","getParameter","aFEContainers","oContainer","oView","getComponentInstance","oComponentInstance","getRootControl","getController","pageReady","oRightMostFEView","isPageReady","attachEventOnce","_oRouteMatchedPromise","then","oRootControl","getView","getContent","getAutoFocus","setProperty","oAppComponent","_scrollTablesToLastNavigatedItems","getEnvironmentCapabilities","getCapabilities","UShell","_computeTitleHierarchy","bForceFocus","getRouterProxy","isFocusForced","setFocusForced","onPageReady","getParent","forceFocus","onContainerReady","catch","oError","error","finally","_getTitleHierarchyCache","oTitleHierarchyCache","_computeTitleInfo","title","subtitle","sIntent","icon","aParts","split","indexOf","intent","_formatTitle","displayMode","titleValue","titleDescription","formattedTitle","_fetchTitleValue","async","sPath","oMetaModel","getMetaModel","sMetaPath","getMetaPath","oBindingViewContext","createBindingContext","sValueExpression","format","getObject","sTextExpression","oPropertyContext","aPromises","oValueExpression","complexParser","oPromiseForDisplayMode","computeDisplayMode","sValuePath","parts","path","fnValueFormatter","formatter","oValueBinding","bindProperty","initialize","oPromiseForTitleValue","fnChange","sTargetValue","getSource","getValue","detachChange","attachChange","oTextExpression","sTextPath","lastIndexOf","fnTextFormatter","oTextBinding","oPromiseForTitleText","sTargetText","titleInfo","all","_getAppSpecificHash","hashChanger","getInstance","hrefForAppSpecificHash","_getHash","getHash","getTitleInfoFromPath","sEntityPath","sTypeName","sAppSpecificHash","sTitle","oTitleInfo","_ensureHierarchyElementsAreStrings","aHierarchy","aHierarchyShell","level","oHierarchy","oShellHierarchy","String","_getTargetTypeFromHash","sHash","_oAppComponent$getMan","sTargetType","aRoutes","getManifestEntry","routing","routes","route","oRoute","getRoute","name","match","sTarget","isArray","getTarget","_oOptions","oContext","getBindingContext","oCurrentPage","aTitleInformationPromises","manifestAppSettings","sAppTitle","sAppSubTitle","subTitle","appIcon","oPageTitleInformation","sNewPath","_getPageTitleInformation","getPath","aPathParts","shift","pop","sPathPart","sParameterPath","bIsParameterized","reject","aTitleInfoHierarchy","aTitleInfoHierarchyShell","getShellServices","setHierarchy","_setShellMenuTitle","sErrorMessage","calculateLayout","iNextFCLLevel","sProposedLayout","keepCurrentLayout","onContextBoundToView","sDeepestPath","getProperty","sViewContextPath","displayErrorPage","mParameters","updateUIStateForView","FCLLevel","getInstancedViews","isFclEnabled","setTitle","getAppContentContainer","_oAppComponent$getMan2","_oAppComponent$getMan3","appContentId","config","controlId","byId"],"sources":["RootViewBaseController-dbg.js"],"mappings":"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"}
@@ -12,11 +12,9 @@ import BindingParser from "sap/ui/base/BindingParser";
12
12
  import type XMLView from "sap/ui/core/mvc/XMLView";
13
13
  import HashChanger from "sap/ui/core/routing/HashChanger";
14
14
  import type Router from "sap/ui/core/routing/Router";
15
- import type Context from "sap/ui/model/Context";
16
15
  import JSONModel from "sap/ui/model/json/JSONModel";
17
16
  import AnnotationHelper from "sap/ui/model/odata/v4/AnnotationHelper";
18
17
  import type ResourceModel from "sap/ui/model/resource/ResourceModel";
19
- import URI from "sap/ui/thirdparty/URI";
20
18
  import type AppComponent from "../AppComponent";
21
19
 
22
20
  @defineUI5Class("sap.fe.core.rootView.RootViewBaseController")
@@ -26,10 +24,15 @@ class RootViewBaseController extends BaseController {
26
24
 
27
25
  @usingExtension(ViewState)
28
26
  viewState!: ViewState;
27
+
29
28
  private _aHelperModels!: any[];
29
+
30
30
  private oRouter?: Router;
31
+
31
32
  private _oRouteMatchedPromise: any;
33
+
32
34
  private oTitleHierarchyCache: any;
35
+
33
36
  private bIsComputingTitleHierachy = false;
34
37
 
35
38
  onInit() {
@@ -41,10 +44,12 @@ class RootViewBaseController extends BaseController {
41
44
  getPlaceholder() {
42
45
  return this.oPlaceholder;
43
46
  }
47
+
44
48
  attachRouteMatchers() {
45
49
  this.oPlaceholder.attachRouteMatchers();
46
50
  this.getAppComponent().getRoutingService().attachAfterRouteMatched(this._onAfterRouteMatched, this);
47
51
  }
52
+
48
53
  onExit() {
49
54
  this.getAppComponent().getRoutingService().detachAfterRouteMatched(this._onAfterRouteMatched, this);
50
55
  this.oRouter = undefined;
@@ -56,6 +61,7 @@ class RootViewBaseController extends BaseController {
56
61
  oModel.destroy();
57
62
  });
58
63
  }
64
+
59
65
  /**
60
66
  * Convenience method for getting the resource bundle.
61
67
  *
@@ -65,6 +71,7 @@ class RootViewBaseController extends BaseController {
65
71
  getResourceBundle() {
66
72
  return (this.getOwnerComponent().getModel("i18n") as ResourceModel).getResourceBundle();
67
73
  }
74
+
68
75
  getRouter() {
69
76
  if (!this.oRouter) {
70
77
  this.oRouter = this.getAppComponent().getRouter();
@@ -187,7 +194,6 @@ class RootViewBaseController extends BaseController {
187
194
  */
188
195
  _computeTitleInfo(title: any, subtitle: any, sIntent: any, icon = "") {
189
196
  const aParts = sIntent.split("/");
190
- sIntent = URI.decode(sIntent);
191
197
  if (aParts[aParts.length - 1].indexOf("?") === -1) {
192
198
  sIntent += "?restoreHistory=true";
193
199
  } else {
@@ -200,6 +206,7 @@ class RootViewBaseController extends BaseController {
200
206
  icon: icon
201
207
  };
202
208
  }
209
+
203
210
  _formatTitle(displayMode: string, titleValue: string, titleDescription: string): string {
204
211
  let formattedTitle = "";
205
212
  switch (displayMode) {
@@ -234,7 +241,7 @@ class RootViewBaseController extends BaseController {
234
241
  oBindingViewContext = oModel.createBindingContext(sPath),
235
242
  sValueExpression = AnnotationHelper.format(
236
243
  oMetaModel.getObject(`${sMetaPath}/@com.sap.vocabularies.UI.v1.HeaderInfo/Title/Value`),
237
- { context: oMetaModel.createBindingContext("/") as Context }
244
+ { context: oMetaModel.createBindingContext("/") }
238
245
  );
239
246
  if (!sValueExpression) {
240
247
  return Promise.resolve("");
@@ -243,7 +250,7 @@ class RootViewBaseController extends BaseController {
243
250
  oMetaModel.getObject(
244
251
  `${sMetaPath}/@com.sap.vocabularies.UI.v1.HeaderInfo/Title/Value/$Path@com.sap.vocabularies.Common.v1.Text`
245
252
  ),
246
- { context: oMetaModel.createBindingContext("/") as Context }
253
+ { context: oMetaModel.createBindingContext("/") }
247
254
  ),
248
255
  oPropertyContext = oMetaModel.getObject(`${sMetaPath}/@com.sap.vocabularies.UI.v1.HeaderInfo/Title/Value/$Path@`),
249
256
  aPromises: Promise<void>[] = [],
@@ -340,6 +347,7 @@ class RootViewBaseController extends BaseController {
340
347
  return oTitleInfo;
341
348
  });
342
349
  }
350
+
343
351
  /**
344
352
  * Ensure that the ushell service receives all elements
345
353
  * (title, subtitle, intent, icon) as strings.
@@ -506,9 +514,11 @@ class RootViewBaseController extends BaseController {
506
514
  return [];
507
515
  // To be overriden
508
516
  }
517
+
509
518
  _scrollTablesToLastNavigatedItems(): void {
510
519
  // To be overriden
511
520
  }
521
+
512
522
  isFclEnabled(): this is FclController {
513
523
  return false;
514
524
  }
@@ -57,4 +57,4 @@ sap.ui.define(["sap/ui/core/service/Service", "sap/ui/core/service/ServiceFactor
57
57
  }(ServiceFactory);
58
58
  return AsyncComponentServiceFactory;
59
59
  }, false);
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBc3luY0NvbXBvbmVudFNlcnZpY2UiLCJpbml0IiwiaW5pdFByb21pc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInJlc29sdmVGbiIsInJlamVjdEZuIiwib0NvbnRleHQiLCJnZXRDb250ZXh0Iiwib0NvbXBvbmVudCIsInNjb3BlT2JqZWN0Iiwib1NlcnZpY2VzIiwiX2dldE1hbmlmZXN0RW50cnkiLCJhbGwiLCJPYmplY3QiLCJrZXlzIiwiZmlsdGVyIiwic1NlcnZpY2VLZXkiLCJzdGFydHVwIiwiZmFjdG9yeU5hbWUiLCJtYXAiLCJnZXRTZXJ2aWNlIiwidGhlbiIsIm9TZXJ2aWNlSW5zdGFuY2UiLCJzTWV0aG9kTmFtZSIsInRvVXBwZXJDYXNlIiwic3Vic3RyIiwiaGFzT3duUHJvcGVydHkiLCJwUm9vdENvbnRyb2xMb2FkZWQiLCJvblNlcnZpY2VzU3RhcnRlZCIsImNhdGNoIiwiU2VydmljZSIsIkFzeW5jQ29tcG9uZW50U2VydmljZUZhY3RvcnkiLCJjcmVhdGVJbnN0YW5jZSIsIm9TZXJ2aWNlQ29udGV4dCIsImFzeW5jQ29tcG9uZW50U2VydmljZSIsIlNlcnZpY2VGYWN0b3J5Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJBc3luY0NvbXBvbmVudFNlcnZpY2VGYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTZXJ2aWNlIGZyb20gXCJzYXAvdWkvY29yZS9zZXJ2aWNlL1NlcnZpY2VcIjtcbmltcG9ydCBTZXJ2aWNlRmFjdG9yeSBmcm9tIFwic2FwL3VpL2NvcmUvc2VydmljZS9TZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IHR5cGUgeyBTZXJ2aWNlQ29udGV4dCB9IGZyb20gXCJ0eXBlcy9leHRlbnNpb25fdHlwZXNcIjtcblxudHlwZSBBc3luY0NvbXBvbmVudFNldHRpbmdzID0ge307XG5cbmNsYXNzIEFzeW5jQ29tcG9uZW50U2VydmljZSBleHRlbmRzIFNlcnZpY2U8QXN5bmNDb21wb25lbnRTZXR0aW5ncz4ge1xuXHRyZXNvbHZlRm46IGFueTtcblx0cmVqZWN0Rm46IGFueTtcblx0aW5pdFByb21pc2UhOiBQcm9taXNlPGFueT47XG5cdC8vICE6IG1lYW5zIHRoYXQgd2Uga25vdyBpdCB3aWxsIGJlIGFzc2lnbmVkIGJlZm9yZSB1c2FnZVxuXG5cdGluaXQoKSB7XG5cdFx0dGhpcy5pbml0UHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcdHRoaXMucmVzb2x2ZUZuID0gcmVzb2x2ZTtcblx0XHRcdHRoaXMucmVqZWN0Rm4gPSByZWplY3Q7XG5cdFx0fSk7XG5cdFx0Y29uc3Qgb0NvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcblx0XHRjb25zdCBvQ29tcG9uZW50ID0gb0NvbnRleHQuc2NvcGVPYmplY3QgYXMgYW55O1xuXHRcdGNvbnN0IG9TZXJ2aWNlcyA9IG9Db21wb25lbnQuX2dldE1hbmlmZXN0RW50cnkoXCIvc2FwLnVpNS9zZXJ2aWNlc1wiLCB0cnVlKTtcblx0XHRQcm9taXNlLmFsbChcblx0XHRcdE9iamVjdC5rZXlzKG9TZXJ2aWNlcylcblx0XHRcdFx0LmZpbHRlcihcblx0XHRcdFx0XHQoc1NlcnZpY2VLZXkpID0+XG5cdFx0XHRcdFx0XHRvU2VydmljZXNbc1NlcnZpY2VLZXldLnN0YXJ0dXAgPT09IFwid2FpdEZvclwiICYmXG5cdFx0XHRcdFx0XHRvU2VydmljZXNbc1NlcnZpY2VLZXldLmZhY3RvcnlOYW1lICE9PSBcInNhcC5mZS5jb3JlLnNlcnZpY2VzLkFzeW5jQ29tcG9uZW50U2VydmljZVwiXG5cdFx0XHRcdClcblx0XHRcdFx0Lm1hcCgoc1NlcnZpY2VLZXkpID0+IHtcblx0XHRcdFx0XHRyZXR1cm4gb0NvbXBvbmVudC5nZXRTZXJ2aWNlKHNTZXJ2aWNlS2V5KS50aGVuKChvU2VydmljZUluc3RhbmNlOiBTZXJ2aWNlPGFueT4pID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IHNNZXRob2ROYW1lID0gYGdldCR7c1NlcnZpY2VLZXlbMF0udG9VcHBlckNhc2UoKX0ke3NTZXJ2aWNlS2V5LnN1YnN0cigxKX1gO1xuXHRcdFx0XHRcdFx0aWYgKCFvQ29tcG9uZW50Lmhhc093blByb3BlcnR5KHNNZXRob2ROYW1lKSkge1xuXHRcdFx0XHRcdFx0XHRvQ29tcG9uZW50W3NNZXRob2ROYW1lXSA9IGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gb1NlcnZpY2VJbnN0YW5jZTtcblx0XHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSlcblx0XHQpXG5cdFx0XHQudGhlbigoKSA9PiB7XG5cdFx0XHRcdHJldHVybiBvQ29tcG9uZW50LnBSb290Q29udHJvbExvYWRlZCB8fCBQcm9taXNlLnJlc29sdmUoKTtcblx0XHRcdH0pXG5cdFx0XHQudGhlbigoKSA9PiB7XG5cdFx0XHRcdC8vIG5vdGlmaXkgdGhlIGNvbXBvbmVudFxuXHRcdFx0XHRpZiAob0NvbXBvbmVudC5vblNlcnZpY2VzU3RhcnRlZCkge1xuXHRcdFx0XHRcdG9Db21wb25lbnQub25TZXJ2aWNlc1N0YXJ0ZWQoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLnJlc29sdmVGbih0aGlzKTtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2godGhpcy5yZWplY3RGbik7XG5cdH1cbn1cblxuY2xhc3MgQXN5bmNDb21wb25lbnRTZXJ2aWNlRmFjdG9yeSBleHRlbmRzIFNlcnZpY2VGYWN0b3J5PEFzeW5jQ29tcG9uZW50U2V0dGluZ3M+IHtcblx0Y3JlYXRlSW5zdGFuY2Uob1NlcnZpY2VDb250ZXh0OiBTZXJ2aWNlQ29udGV4dDxBc3luY0NvbXBvbmVudFNldHRpbmdzPikge1xuXHRcdGNvbnN0IGFzeW5jQ29tcG9uZW50U2VydmljZSA9IG5ldyBBc3luY0NvbXBvbmVudFNlcnZpY2Uob1NlcnZpY2VDb250ZXh0KTtcblx0XHRyZXR1cm4gYXN5bmNDb21wb25lbnRTZXJ2aWNlLmluaXRQcm9taXNl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
60
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBc3luY0NvbXBvbmVudFNlcnZpY2UiLCJpbml0IiwiaW5pdFByb21pc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInJlc29sdmVGbiIsInJlamVjdEZuIiwib0NvbnRleHQiLCJnZXRDb250ZXh0Iiwib0NvbXBvbmVudCIsInNjb3BlT2JqZWN0Iiwib1NlcnZpY2VzIiwiX2dldE1hbmlmZXN0RW50cnkiLCJhbGwiLCJPYmplY3QiLCJrZXlzIiwiZmlsdGVyIiwic1NlcnZpY2VLZXkiLCJzdGFydHVwIiwiZmFjdG9yeU5hbWUiLCJtYXAiLCJnZXRTZXJ2aWNlIiwidGhlbiIsIm9TZXJ2aWNlSW5zdGFuY2UiLCJzTWV0aG9kTmFtZSIsInRvVXBwZXJDYXNlIiwic3Vic3RyIiwiaGFzT3duUHJvcGVydHkiLCJwUm9vdENvbnRyb2xMb2FkZWQiLCJvblNlcnZpY2VzU3RhcnRlZCIsImNhdGNoIiwiU2VydmljZSIsIkFzeW5jQ29tcG9uZW50U2VydmljZUZhY3RvcnkiLCJjcmVhdGVJbnN0YW5jZSIsIm9TZXJ2aWNlQ29udGV4dCIsImFzeW5jQ29tcG9uZW50U2VydmljZSIsIlNlcnZpY2VGYWN0b3J5Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJBc3luY0NvbXBvbmVudFNlcnZpY2VGYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTZXJ2aWNlIGZyb20gXCJzYXAvdWkvY29yZS9zZXJ2aWNlL1NlcnZpY2VcIjtcbmltcG9ydCBTZXJ2aWNlRmFjdG9yeSBmcm9tIFwic2FwL3VpL2NvcmUvc2VydmljZS9TZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IHR5cGUgeyBTZXJ2aWNlQ29udGV4dCB9IGZyb20gXCJ0eXBlcy9tZXRhbW9kZWxfdHlwZXNcIjtcblxudHlwZSBBc3luY0NvbXBvbmVudFNldHRpbmdzID0ge307XG5cbmNsYXNzIEFzeW5jQ29tcG9uZW50U2VydmljZSBleHRlbmRzIFNlcnZpY2U8QXN5bmNDb21wb25lbnRTZXR0aW5ncz4ge1xuXHRyZXNvbHZlRm46IGFueTtcblxuXHRyZWplY3RGbjogYW55O1xuXG5cdGluaXRQcm9taXNlITogUHJvbWlzZTxhbnk+O1xuXHQvLyAhOiBtZWFucyB0aGF0IHdlIGtub3cgaXQgd2lsbCBiZSBhc3NpZ25lZCBiZWZvcmUgdXNhZ2VcblxuXHRpbml0KCkge1xuXHRcdHRoaXMuaW5pdFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHR0aGlzLnJlc29sdmVGbiA9IHJlc29sdmU7XG5cdFx0XHR0aGlzLnJlamVjdEZuID0gcmVqZWN0O1xuXHRcdH0pO1xuXHRcdGNvbnN0IG9Db250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cdFx0Y29uc3Qgb0NvbXBvbmVudCA9IG9Db250ZXh0LnNjb3BlT2JqZWN0IGFzIGFueTtcblx0XHRjb25zdCBvU2VydmljZXMgPSBvQ29tcG9uZW50Ll9nZXRNYW5pZmVzdEVudHJ5KFwiL3NhcC51aTUvc2VydmljZXNcIiwgdHJ1ZSk7XG5cdFx0UHJvbWlzZS5hbGwoXG5cdFx0XHRPYmplY3Qua2V5cyhvU2VydmljZXMpXG5cdFx0XHRcdC5maWx0ZXIoXG5cdFx0XHRcdFx0KHNTZXJ2aWNlS2V5KSA9PlxuXHRcdFx0XHRcdFx0b1NlcnZpY2VzW3NTZXJ2aWNlS2V5XS5zdGFydHVwID09PSBcIndhaXRGb3JcIiAmJlxuXHRcdFx0XHRcdFx0b1NlcnZpY2VzW3NTZXJ2aWNlS2V5XS5mYWN0b3J5TmFtZSAhPT0gXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5Bc3luY0NvbXBvbmVudFNlcnZpY2VcIlxuXHRcdFx0XHQpXG5cdFx0XHRcdC5tYXAoKHNTZXJ2aWNlS2V5KSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIG9Db21wb25lbnQuZ2V0U2VydmljZShzU2VydmljZUtleSkudGhlbigob1NlcnZpY2VJbnN0YW5jZTogU2VydmljZTxhbnk+KSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBzTWV0aG9kTmFtZSA9IGBnZXQke3NTZXJ2aWNlS2V5WzBdLnRvVXBwZXJDYXNlKCl9JHtzU2VydmljZUtleS5zdWJzdHIoMSl9YDtcblx0XHRcdFx0XHRcdGlmICghb0NvbXBvbmVudC5oYXNPd25Qcm9wZXJ0eShzTWV0aG9kTmFtZSkpIHtcblx0XHRcdFx0XHRcdFx0b0NvbXBvbmVudFtzTWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIG9TZXJ2aWNlSW5zdGFuY2U7XG5cdFx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0pXG5cdFx0KVxuXHRcdFx0LnRoZW4oKCkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gb0NvbXBvbmVudC5wUm9vdENvbnRyb2xMb2FkZWQgfHwgUHJvbWlzZS5yZXNvbHZlKCk7XG5cdFx0XHR9KVxuXHRcdFx0LnRoZW4oKCkgPT4ge1xuXHRcdFx0XHQvLyBub3RpZml5IHRoZSBjb21wb25lbnRcblx0XHRcdFx0aWYgKG9Db21wb25lbnQub25TZXJ2aWNlc1N0YXJ0ZWQpIHtcblx0XHRcdFx0XHRvQ29tcG9uZW50Lm9uU2VydmljZXNTdGFydGVkKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5yZXNvbHZlRm4odGhpcyk7XG5cdFx0XHR9KVxuXHRcdFx0LmNhdGNoKHRoaXMucmVqZWN0Rm4pO1xuXHR9XG59XG5cbmNsYXNzIEFzeW5jQ29tcG9uZW50U2VydmljZUZhY3RvcnkgZXh0ZW5kcyBTZXJ2aWNlRmFjdG9yeTxBc3luY0NvbXBvbmVudFNldHRpbmdzPiB7XG5cdGNyZWF0ZUluc3RhbmNlKG9TZXJ2aWNlQ29udGV4dDogU2VydmljZUNvbnRleHQ8QXN5bmNDb21wb25lbnRTZXR0aW5ncz4pIHtcblx0XHRjb25zdCBhc3luY0NvbXBvbmVudFNlcnZpY2UgPSBuZXcgQXN5bmNDb21wb25lbnRTZXJ2aWNlKG9TZXJ2aWNlQ29udGV4dCk7XG5cdFx0cmV0dXJuIGFzeW5jQ29tcG9uZW50U2VydmljZS5pbml0UHJv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
@@ -1,12 +1,14 @@
1
1
  import Service from "sap/ui/core/service/Service";
2
2
  import ServiceFactory from "sap/ui/core/service/ServiceFactory";
3
- import type { ServiceContext } from "types/extension_types";
3
+ import type { ServiceContext } from "types/metamodel_types";
4
4
 
5
5
  type AsyncComponentSettings = {};
6
6
 
7
7
  class AsyncComponentService extends Service<AsyncComponentSettings> {
8
8
  resolveFn: any;
9
+
9
10
  rejectFn: any;
11
+
10
12
  initPromise!: Promise<any>;
11
13
  // !: means that we know it will be assigned before usage
12
14