@sapui5/sap.fe.core 1.111.1 → 1.113.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 (579) 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 +6 -5
  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 +12 -11
  7. package/src/sap/fe/core/AppComponent-dbg.js +35 -9
  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 +66 -9
  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 +202 -533
  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 +260 -681
  21. package/src/sap/fe/core/ExtensionAPI-dbg.js +4 -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 +11 -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 +164 -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 +170 -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 +142 -0
  49. package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +913 -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} +313 -373
  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 +183 -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 +936 -231
  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 +1023 -255
  69. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +48 -98
  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 +95 -129
  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 +3 -5
  87. package/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
  88. package/src/sap/fe/core/controllerextensions/PageReady.js.map +1 -1
  89. package/src/sap/fe/core/controllerextensions/PageReady.ts +26 -4
  90. package/src/sap/fe/core/controllerextensions/Paginator-dbg.js +2 -1
  91. package/src/sap/fe/core/controllerextensions/Paginator.js.map +1 -1
  92. package/src/sap/fe/core/controllerextensions/Paginator.ts +7 -0
  93. package/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +1 -1
  94. package/src/sap/fe/core/controllerextensions/Placeholder.ts +8 -0
  95. package/src/sap/fe/core/controllerextensions/Share-dbg.js +8 -1
  96. package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
  97. package/src/sap/fe/core/controllerextensions/Share.ts +11 -0
  98. package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +14 -13
  99. package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
  100. package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -1
  101. package/src/sap/fe/core/controllerextensions/SideEffects.ts +27 -27
  102. package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +17 -8
  103. package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
  104. package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -1
  105. package/src/sap/fe/core/controllerextensions/ViewState.ts +35 -14
  106. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase-dbg.js +6 -5
  107. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +1 -1
  108. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js.map +1 -1
  109. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +7 -4
  110. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +285 -82
  111. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +1 -1
  112. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -1
  113. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +326 -89
  114. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +23 -2
  115. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +1 -1
  116. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -1
  117. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +32 -3
  118. package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +4 -4
  119. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +1 -1
  120. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -1
  121. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +4 -5
  122. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +17 -3
  123. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block-dbg.js +65 -34
  124. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +1 -1
  125. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js.map +1 -1
  126. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +33 -18
  127. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog-dbg.js +103 -0
  128. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +6 -0
  129. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js.map +1 -0
  130. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.tsx +124 -0
  131. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +78 -149
  132. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
  133. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
  134. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +85 -160
  135. package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +49 -49
  136. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +1 -1
  137. package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -1
  138. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +52 -63
  139. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
  140. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +82 -0
  141. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +6 -0
  142. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js.map +1 -0
  143. package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +123 -0
  144. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +1508 -0
  145. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +6 -0
  146. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -0
  147. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +1993 -0
  148. package/src/sap/fe/core/controllerextensions/editFlow/operations-dbg.js +3 -1415
  149. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1 -1
  150. package/src/sap/fe/core/controllerextensions/editFlow/operations.js.map +1 -1
  151. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +2 -1921
  152. package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +10 -18
  153. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
  154. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
  155. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +9 -22
  156. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +53 -47
  157. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
  158. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
  159. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +55 -61
  160. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher-dbg.js +12 -1
  161. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js.map +1 -1
  162. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.ts +19 -0
  163. package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +78 -13
  164. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +1 -1
  165. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +1 -1
  166. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +100 -13
  167. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +4 -1
  168. package/src/sap/fe/core/controls/CommandExecution-dbg.js +16 -5
  169. package/src/sap/fe/core/controls/CommandExecution.js +1 -1
  170. package/src/sap/fe/core/controls/CommandExecution.js.map +1 -1
  171. package/src/sap/fe/core/controls/CommandExecution.ts +15 -3
  172. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +3 -2
  173. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
  174. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +1 -1
  175. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +4 -1
  176. package/src/sap/fe/core/controls/FilterBar-dbg.js +1 -1
  177. package/src/sap/fe/core/controls/FilterBar.ts +5 -0
  178. package/src/sap/fe/core/controls/FormElementWrapper-dbg.js +1 -1
  179. package/src/sap/fe/core/controls/FormElementWrapper.ts +3 -0
  180. package/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +1 -1
  181. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +7 -0
  182. package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +1 -1
  183. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +4 -0
  184. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +1 -1
  185. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +10 -0
  186. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +4 -3
  187. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +1 -1
  188. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -1
  189. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +3 -2
  190. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +0 -1
  191. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +2 -0
  192. package/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +6 -1
  193. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +1 -1
  194. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js.map +1 -1
  195. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +5 -0
  196. package/src/sap/fe/core/converters/ConverterContext-dbg.js +3 -5
  197. package/src/sap/fe/core/converters/ConverterContext.js +1 -1
  198. package/src/sap/fe/core/converters/ConverterContext.js.map +1 -1
  199. package/src/sap/fe/core/converters/ConverterContext.ts +4 -6
  200. package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -8
  201. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  202. package/src/sap/fe/core/converters/ManifestSettings.js.map +1 -1
  203. package/src/sap/fe/core/converters/ManifestSettings.ts +15 -6
  204. package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +21 -3
  205. package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
  206. package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -1
  207. package/src/sap/fe/core/converters/ManifestWrapper.ts +23 -1
  208. package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +67 -62
  209. package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  210. package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -1
  211. package/src/sap/fe/core/converters/MetaModelConverter.ts +75 -66
  212. package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -1
  213. package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
  214. package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
  215. package/src/sap/fe/core/converters/annotations/DataField-dbg.js +81 -20
  216. package/src/sap/fe/core/converters/annotations/DataField.js +1 -1
  217. package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -1
  218. package/src/sap/fe/core/converters/annotations/DataField.ts +76 -22
  219. package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1027 -956
  220. package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
  221. package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
  222. package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +13 -19
  223. package/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
  224. package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -1
  225. package/src/sap/fe/core/converters/controls/Common/Action.ts +37 -40
  226. package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +95 -33
  227. package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
  228. package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
  229. package/src/sap/fe/core/converters/controls/Common/Chart.ts +133 -49
  230. package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +99 -62
  231. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
  232. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
  233. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +140 -75
  234. package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +7 -6
  235. package/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
  236. package/src/sap/fe/core/converters/controls/Common/Form.js.map +1 -1
  237. package/src/sap/fe/core/converters/controls/Common/Form.ts +8 -14
  238. package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +9 -9
  239. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  240. package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -1
  241. package/src/sap/fe/core/converters/controls/Common/KPI.ts +17 -18
  242. package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +143 -93
  243. package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
  244. package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
  245. package/src/sap/fe/core/converters/controls/Common/Table.ts +221 -177
  246. package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +23 -16
  247. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
  248. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
  249. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +27 -23
  250. package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +138 -75
  251. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
  252. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -1
  253. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +223 -110
  254. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +38 -28
  255. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
  256. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -1
  257. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +67 -47
  258. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar-dbg.js +1 -1
  259. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +1 -1
  260. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +6 -6
  261. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +1 -1
  262. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js.map +1 -1
  263. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +5 -8
  264. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +54 -24
  265. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
  266. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -1
  267. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +84 -37
  268. package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +12 -14
  269. package/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
  270. package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
  271. package/src/sap/fe/core/converters/helpers/Aggregation.ts +16 -11
  272. package/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +8 -6
  273. package/src/sap/fe/core/converters/helpers/BindingHelper.js +1 -1
  274. package/src/sap/fe/core/converters/helpers/BindingHelper.js.map +1 -1
  275. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +8 -6
  276. package/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +7 -6
  277. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +1 -1
  278. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js.map +1 -1
  279. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +19 -10
  280. package/src/sap/fe/core/converters/helpers/DataFieldHelper-dbg.js +1 -1
  281. package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +7 -2
  282. package/src/sap/fe/core/converters/helpers/ID-dbg.js +1 -1
  283. package/src/sap/fe/core/converters/helpers/ID.ts +2 -1
  284. package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +11 -9
  285. package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
  286. package/src/sap/fe/core/converters/helpers/IssueManager.js.map +1 -1
  287. package/src/sap/fe/core/converters/helpers/IssueManager.ts +10 -8
  288. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +22 -20
  289. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
  290. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -1
  291. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +19 -16
  292. package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +32 -35
  293. package/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
  294. package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -1
  295. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +42 -37
  296. package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +12 -5
  297. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
  298. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -1
  299. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +8 -2
  300. package/src/sap/fe/core/formatters/FPMFormatter-dbg.js +1 -1
  301. package/src/sap/fe/core/formatters/FPMFormatter.ts +1 -1
  302. package/src/sap/fe/core/formatters/FiscalFormat-dbg.js +2 -2
  303. package/src/sap/fe/core/formatters/FiscalFormat.ts +6 -1
  304. package/src/sap/fe/core/formatters/TableFormatter-dbg.js +3 -7
  305. package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
  306. package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -1
  307. package/src/sap/fe/core/formatters/TableFormatter.ts +2 -6
  308. package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +9 -5
  309. package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
  310. package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -1
  311. package/src/sap/fe/core/formatters/ValueFormatter.ts +11 -4
  312. package/src/sap/fe/core/fpm/Component-dbg.js +1 -1
  313. package/src/sap/fe/core/fpm/Component.ts +1 -0
  314. package/src/sap/fe/core/fpm/manifest.json +1 -1
  315. package/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +2 -2
  316. package/src/sap/fe/core/helpers/AppStartupHelper.js +1 -1
  317. package/src/sap/fe/core/helpers/AppStartupHelper.js.map +1 -1
  318. package/src/sap/fe/core/helpers/AppStartupHelper.ts +1 -1
  319. package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +7 -6
  320. package/src/sap/fe/core/helpers/BindingToolkit.js +1 -1
  321. package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
  322. package/src/sap/fe/core/helpers/BindingToolkit.ts +9 -9
  323. package/src/sap/fe/core/helpers/ClassSupport-dbg.js +1 -1
  324. package/src/sap/fe/core/helpers/ClassSupport.js.map +1 -1
  325. package/src/sap/fe/core/helpers/ClassSupport.ts +1 -0
  326. package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +93 -62
  327. package/src/sap/fe/core/helpers/DeleteHelper.js +1 -1
  328. package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -1
  329. package/src/sap/fe/core/helpers/DeleteHelper.ts +140 -185
  330. package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +23 -20
  331. package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
  332. package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
  333. package/src/sap/fe/core/helpers/MassEditHelper.ts +26 -28
  334. package/src/sap/fe/core/helpers/MessageStrip-dbg.js +9 -9
  335. package/src/sap/fe/core/helpers/MessageStrip.js +1 -1
  336. package/src/sap/fe/core/helpers/MessageStrip.js.map +1 -1
  337. package/src/sap/fe/core/helpers/MessageStrip.ts +8 -8
  338. package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +517 -0
  339. package/src/sap/fe/core/helpers/MetaModelFunction.js +6 -0
  340. package/src/sap/fe/core/helpers/MetaModelFunction.js.map +1 -0
  341. package/src/sap/fe/core/helpers/MetaModelFunction.ts +610 -0
  342. package/src/sap/fe/core/helpers/ModelHelper-dbg.js +37 -73
  343. package/src/sap/fe/core/helpers/ModelHelper.js +1 -1
  344. package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
  345. package/src/sap/fe/core/helpers/ModelHelper.ts +47 -74
  346. package/src/sap/fe/core/helpers/PasteHelper-dbg.js +5 -5
  347. package/src/sap/fe/core/helpers/PasteHelper.js +1 -1
  348. package/src/sap/fe/core/helpers/PasteHelper.js.map +1 -1
  349. package/src/sap/fe/core/helpers/PasteHelper.ts +6 -10
  350. package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +39 -0
  351. package/src/sap/fe/core/helpers/ResourceModelHelper.js +6 -0
  352. package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -0
  353. package/src/sap/fe/core/helpers/ResourceModelHelper.ts +35 -0
  354. package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +132 -23
  355. package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
  356. package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -1
  357. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +109 -22
  358. package/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +2 -2
  359. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
  360. package/src/sap/fe/core/helpers/SemanticKeyHelper.js.map +1 -1
  361. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
  362. package/src/sap/fe/core/helpers/SizeHelper-dbg.js +53 -0
  363. package/src/sap/fe/core/helpers/SizeHelper.js +6 -0
  364. package/src/sap/fe/core/helpers/SizeHelper.js.map +1 -0
  365. package/src/sap/fe/core/helpers/SizeHelper.ts +51 -0
  366. package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +29 -25
  367. package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
  368. package/src/sap/fe/core/helpers/StableIdHelper.js.map +1 -1
  369. package/src/sap/fe/core/helpers/StableIdHelper.ts +26 -24
  370. package/src/sap/fe/core/helpers/Synchronization-dbg.js +1 -1
  371. package/src/sap/fe/core/helpers/Synchronization.ts +2 -0
  372. package/src/sap/fe/core/helpers/TypeGuards-dbg.js +151 -1
  373. package/src/sap/fe/core/helpers/TypeGuards.js +1 -1
  374. package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -1
  375. package/src/sap/fe/core/helpers/TypeGuards.ts +162 -1
  376. package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +2 -1
  377. package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +1 -1
  378. package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +6 -2
  379. package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +1 -1
  380. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +3 -1
  381. package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +3 -3
  382. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +1 -1
  383. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +1 -1
  384. package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +1 -1
  385. package/src/sap/fe/core/library-dbg.js +2 -2
  386. package/src/sap/fe/core/library-preload.js +156 -140
  387. package/src/sap/fe/core/library-preload.js.map +1 -1
  388. package/src/sap/fe/core/library.js +1 -1
  389. package/src/sap/fe/core/library.ts +7 -0
  390. package/src/sap/fe/core/manifest.json +1 -1
  391. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +67 -15
  392. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  393. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +1 -1
  394. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +66 -14
  395. package/src/sap/fe/core/messagebundle.properties +35 -0
  396. package/src/sap/fe/core/messagebundle_ar.properties +15 -12
  397. package/src/sap/fe/core/messagebundle_bg.properties +20 -17
  398. package/src/sap/fe/core/messagebundle_ca.properties +12 -9
  399. package/src/sap/fe/core/messagebundle_cs.properties +12 -9
  400. package/src/sap/fe/core/messagebundle_cy.properties +12 -9
  401. package/src/sap/fe/core/messagebundle_da.properties +12 -9
  402. package/src/sap/fe/core/messagebundle_de.properties +13 -10
  403. package/src/sap/fe/core/messagebundle_el.properties +14 -11
  404. package/src/sap/fe/core/messagebundle_en.properties +4 -1
  405. package/src/sap/fe/core/messagebundle_en_GB.properties +4 -1
  406. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +2 -0
  407. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +21 -0
  408. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +23 -3
  409. package/src/sap/fe/core/messagebundle_es.properties +12 -9
  410. package/src/sap/fe/core/messagebundle_es_MX.properties +12 -9
  411. package/src/sap/fe/core/messagebundle_et.properties +12 -9
  412. package/src/sap/fe/core/messagebundle_fi.properties +12 -9
  413. package/src/sap/fe/core/messagebundle_fr.properties +12 -9
  414. package/src/sap/fe/core/messagebundle_fr_CA.properties +13 -10
  415. package/src/sap/fe/core/messagebundle_hi.properties +12 -9
  416. package/src/sap/fe/core/messagebundle_hr.properties +12 -9
  417. package/src/sap/fe/core/messagebundle_hu.properties +12 -9
  418. package/src/sap/fe/core/messagebundle_id.properties +13 -10
  419. package/src/sap/fe/core/messagebundle_it.properties +12 -9
  420. package/src/sap/fe/core/messagebundle_iw.properties +12 -9
  421. package/src/sap/fe/core/messagebundle_ja.properties +13 -10
  422. package/src/sap/fe/core/messagebundle_kk.properties +12 -9
  423. package/src/sap/fe/core/messagebundle_ko.properties +12 -9
  424. package/src/sap/fe/core/messagebundle_lt.properties +12 -9
  425. package/src/sap/fe/core/messagebundle_lv.properties +12 -9
  426. package/src/sap/fe/core/messagebundle_ms.properties +13 -10
  427. package/src/sap/fe/core/messagebundle_nl.properties +13 -10
  428. package/src/sap/fe/core/messagebundle_no.properties +12 -9
  429. package/src/sap/fe/core/messagebundle_pl.properties +12 -9
  430. package/src/sap/fe/core/messagebundle_pt.properties +12 -9
  431. package/src/sap/fe/core/messagebundle_pt_PT.properties +12 -9
  432. package/src/sap/fe/core/messagebundle_ro.properties +16 -13
  433. package/src/sap/fe/core/messagebundle_ru.properties +13 -10
  434. package/src/sap/fe/core/messagebundle_sh.properties +12 -9
  435. package/src/sap/fe/core/messagebundle_sk.properties +12 -9
  436. package/src/sap/fe/core/messagebundle_sl.properties +12 -9
  437. package/src/sap/fe/core/messagebundle_sv.properties +12 -9
  438. package/src/sap/fe/core/messagebundle_th.properties +12 -9
  439. package/src/sap/fe/core/messagebundle_tr.properties +12 -9
  440. package/src/sap/fe/core/messagebundle_uk.properties +12 -9
  441. package/src/sap/fe/core/messagebundle_vi.properties +13 -10
  442. package/src/sap/fe/core/messagebundle_zh_CN.properties +12 -9
  443. package/src/sap/fe/core/messagebundle_zh_TW.properties +12 -9
  444. package/src/sap/fe/core/operationsHelper-dbg.js +70 -44
  445. package/src/sap/fe/core/operationsHelper.js +1 -1
  446. package/src/sap/fe/core/operationsHelper.js.map +1 -1
  447. package/src/sap/fe/core/operationsHelper.ts +88 -63
  448. package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +1 -1
  449. package/src/sap/fe/core/rootView/Fcl.controller.ts +10 -0
  450. package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +2 -2
  451. package/src/sap/fe/core/rootView/NavContainer.controller.js +1 -1
  452. package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -1
  453. package/src/sap/fe/core/rootView/NavContainer.controller.ts +5 -3
  454. package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +10 -5
  455. package/src/sap/fe/core/rootView/RootViewBaseController.js +1 -1
  456. package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -1
  457. package/src/sap/fe/core/rootView/RootViewBaseController.ts +22 -8
  458. package/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +1 -1
  459. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
  460. package/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +1 -1
  461. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js.map +1 -1
  462. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +15 -1
  463. package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +1 -1
  464. package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
  465. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +4 -1
  466. package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +9 -1
  467. package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
  468. package/src/sap/fe/core/services/NavigationServiceFactory.ts +19 -1
  469. package/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +2 -2
  470. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +1 -1
  471. package/src/sap/fe/core/services/ResourceModelServiceFactory.js.map +1 -1
  472. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +10 -3
  473. package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +9 -3
  474. package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
  475. package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
  476. package/src/sap/fe/core/services/RoutingServiceFactory.ts +35 -3
  477. package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +7 -1
  478. package/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
  479. package/src/sap/fe/core/services/ShellServicesFactory.js.map +1 -1
  480. package/src/sap/fe/core/services/ShellServicesFactory.ts +24 -2
  481. package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +448 -279
  482. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
  483. package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -1
  484. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +497 -333
  485. package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +26 -6
  486. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
  487. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
  488. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +54 -13
  489. package/src/sap/fe/core/support/Diagnostics-dbg.js +1 -1
  490. package/src/sap/fe/core/support/Diagnostics.ts +5 -0
  491. package/src/sap/fe/core/templating/CommonFormatters-dbg.js +4 -3
  492. package/src/sap/fe/core/templating/CommonFormatters.js +1 -1
  493. package/src/sap/fe/core/templating/CommonFormatters.js.map +1 -1
  494. package/src/sap/fe/core/templating/CommonFormatters.ts +2 -2
  495. package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +195 -95
  496. package/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
  497. package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -1
  498. package/src/sap/fe/core/templating/DataModelPathHelper.ts +210 -96
  499. package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +5 -5
  500. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  501. package/src/sap/fe/core/templating/DisplayModeFormatter.js.map +1 -1
  502. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -2
  503. package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +19 -29
  504. package/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
  505. package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -1
  506. package/src/sap/fe/core/templating/EntitySetHelper.ts +14 -26
  507. package/src/sap/fe/core/templating/EntityTypeHelper-dbg.js +48 -0
  508. package/src/sap/fe/core/templating/EntityTypeHelper.js +6 -0
  509. package/src/sap/fe/core/templating/EntityTypeHelper.js.map +1 -0
  510. package/src/sap/fe/core/templating/EntityTypeHelper.ts +37 -0
  511. package/src/sap/fe/core/templating/FilterHelper-dbg.js +3 -3
  512. package/src/sap/fe/core/templating/FilterHelper.js +1 -1
  513. package/src/sap/fe/core/templating/FilterHelper.js.map +1 -1
  514. package/src/sap/fe/core/templating/FilterHelper.ts +5 -3
  515. package/src/sap/fe/core/templating/FilterTemplating-dbg.js +7 -8
  516. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  517. package/src/sap/fe/core/templating/FilterTemplating.js.map +1 -1
  518. package/src/sap/fe/core/templating/FilterTemplating.ts +5 -8
  519. package/src/sap/fe/core/templating/PropertyFormatters-dbg.js +1 -6
  520. package/src/sap/fe/core/templating/PropertyFormatters.js +1 -1
  521. package/src/sap/fe/core/templating/PropertyFormatters.js.map +1 -1
  522. package/src/sap/fe/core/templating/PropertyFormatters.ts +0 -5
  523. package/src/sap/fe/core/templating/PropertyHelper-dbg.js +13 -46
  524. package/src/sap/fe/core/templating/PropertyHelper.js +1 -1
  525. package/src/sap/fe/core/templating/PropertyHelper.js.map +1 -1
  526. package/src/sap/fe/core/templating/PropertyHelper.ts +14 -43
  527. package/src/sap/fe/core/templating/UIFormatters-dbg.js +32 -26
  528. package/src/sap/fe/core/templating/UIFormatters.js +1 -1
  529. package/src/sap/fe/core/templating/UIFormatters.js.map +1 -1
  530. package/src/sap/fe/core/templating/UIFormatters.ts +47 -32
  531. package/src/sap/fe/core/type/DateTimeWithTimezone-dbg.js +1 -1
  532. package/src/sap/fe/core/type/DateTimeWithTimezone.ts +2 -0
  533. package/src/sap/fe/core/type/FiscalDate-dbg.js +2 -2
  534. package/src/sap/fe/core/type/FiscalDate.js.map +1 -1
  535. package/src/sap/fe/core/type/FiscalDate.ts +2 -1
  536. package/src/sap/fe/core/type/TypeUtil-dbg.js +5 -10
  537. package/src/sap/fe/core/type/TypeUtil.js +1 -1
  538. package/src/sap/fe/core/type/TypeUtil.js.map +1 -1
  539. package/src/sap/fe/core/type/TypeUtil.ts +3 -6
  540. package/src/sap/fe/core/buildingBlocks/BuildingBlock-dbg.js +0 -410
  541. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +0 -15
  542. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js.map +0 -1
  543. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +0 -536
  544. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment-dbg.js +0 -44
  545. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js +0 -6
  546. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js.map +0 -1
  547. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.ts +0 -14
  548. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime-dbg.js +0 -948
  549. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +0 -19
  550. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js.map +0 -1
  551. package/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +0 -711
  552. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +0 -6
  553. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js.map +0 -1
  554. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +0 -863
  555. package/src/sap/fe/core/controls/ActionPartial.fragment.xml +0 -91
  556. package/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +0 -151
  557. package/src/sap/fe/core/controls/ConditionalWrapper.js +0 -6
  558. package/src/sap/fe/core/controls/ConditionalWrapper.js.map +0 -1
  559. package/src/sap/fe/core/controls/ConditionalWrapper.ts +0 -88
  560. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper-dbg.js +0 -330
  561. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +0 -6
  562. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js.map +0 -1
  563. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +0 -292
  564. package/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +0 -126
  565. package/src/sap/fe/core/controls/CustomQuickViewPage.js +0 -6
  566. package/src/sap/fe/core/controls/CustomQuickViewPage.js.map +0 -1
  567. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +0 -105
  568. package/src/sap/fe/core/controls/FieldWrapper-dbg.js +0 -194
  569. package/src/sap/fe/core/controls/FieldWrapper.js +0 -6
  570. package/src/sap/fe/core/controls/FieldWrapper.js.map +0 -1
  571. package/src/sap/fe/core/controls/FieldWrapper.ts +0 -121
  572. package/src/sap/fe/core/controls/FileWrapper-dbg.js +0 -280
  573. package/src/sap/fe/core/controls/FileWrapper.js +0 -6
  574. package/src/sap/fe/core/controls/FileWrapper.js.map +0 -1
  575. package/src/sap/fe/core/controls/FileWrapper.ts +0 -202
  576. package/src/sap/fe/core/helpers/SideEffectsHelper-dbg.js +0 -141
  577. package/src/sap/fe/core/helpers/SideEffectsHelper.js +0 -6
  578. package/src/sap/fe/core/helpers/SideEffectsHelper.js.map +0 -1
  579. package/src/sap/fe/core/helpers/SideEffectsHelper.ts +0 -129
@@ -2,10 +2,11 @@
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/base/util/UriParameters", "sap/fe/core/helpers/LoaderUtils", "sap/fe/core/TemplateModel", "sap/ui/core/Component", "sap/ui/core/mvc/View", "sap/ui/core/service/Service", "sap/ui/core/service/ServiceFactory", "sap/ui/core/service/ServiceFactoryRegistry", "sap/ui/Device", "sap/ui/model/base/ManagedObjectModel", "sap/ui/model/json/JSONModel", "sap/ui/VersionInfo", "../helpers/DynamicAnnotationPathHelper"], function (Log, UriParameters, LoaderUtils, TemplateModel, Component, View, Service, ServiceFactory, ServiceFactoryRegistry, Device, ManagedObjectModel, JSONModel, VersionInfo, DynamicAnnotationPathHelper) {
5
+ sap.ui.define(["sap/base/Log", "sap/fe/core/helpers/LoaderUtils", "sap/fe/core/manifestMerger/ChangePageConfiguration", "sap/fe/core/TemplateModel", "sap/ui/core/Component", "sap/ui/core/mvc/View", "sap/ui/core/service/Service", "sap/ui/core/service/ServiceFactory", "sap/ui/core/service/ServiceFactoryRegistry", "sap/ui/Device", "sap/ui/model/base/ManagedObjectModel", "sap/ui/model/json/JSONModel", "sap/ui/VersionInfo", "../helpers/DynamicAnnotationPathHelper"], function (Log, LoaderUtils, ChangePageConfiguration, TemplateModel, Component, View, Service, ServiceFactory, ServiceFactoryRegistry, Device, ManagedObjectModel, JSONModel, VersionInfo, DynamicAnnotationPathHelper) {
6
6
  "use strict";
7
7
 
8
8
  var resolveDynamicExpression = DynamicAnnotationPathHelper.resolveDynamicExpression;
9
+ var applyPageConfigurationChanges = ChangePageConfiguration.applyPageConfigurationChanges;
9
10
  var requireDependencies = LoaderUtils.requireDependencies;
10
11
  function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
11
12
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
@@ -21,7 +22,8 @@ sap.ui.define(["sap/base/Log", "sap/base/util/UriParameters", "sap/fe/core/helpe
21
22
  const oComponent = oContext.scopeObject;
22
23
  const oAppComponent = Component.getOwnerComponentFor(oComponent);
23
24
  const oMetaModel = oAppComponent.getMetaModel();
24
- const sStableId = `${oAppComponent.getMetadata().getComponentName()}::${oAppComponent.getLocalId(oComponent.getId())}`;
25
+ this.pageId = oAppComponent.getLocalId(oComponent.getId());
26
+ const sStableId = `${oAppComponent.getMetadata().getComponentName()}::${this.pageId}`;
25
27
  const aEnhanceI18n = oComponent.getEnhanceI18n() || [];
26
28
  let sAppNamespace;
27
29
  this.oFactory = oContext.factory;
@@ -111,7 +113,7 @@ sap.ui.define(["sap/base/Log", "sap/base/util/UriParameters", "sap/fe/core/helpe
111
113
  });
112
114
  };
113
115
  _proto.createView = async function createView(oResourceModel, sStableId, sCacheKey, TemplateConverter, MetaModelConverter) {
114
- this.resourceModel = oResourceModel;
116
+ this.resourceModel = oResourceModel; // TODO: get rid, kept it for the time being
115
117
  this.stableId = sStableId;
116
118
  this.TemplateConverter = TemplateConverter;
117
119
  this.MetaModelConverter = MetaModelConverter;
@@ -127,6 +129,7 @@ sap.ui.define(["sap/base/Log", "sap/base/util/UriParameters", "sap/fe/core/helpe
127
129
  const oManifestModel = new JSONModel(oManifestContent);
128
130
  const bError = false;
129
131
  let oPageModel, oViewDataModel, oViewSettings, mViewData;
132
+
130
133
  // Load the index for the additional building blocks which is responsible for initializing them
131
134
  function getViewSettings() {
132
135
  const aSplitPath = sFullContextPath.split("/");
@@ -240,22 +243,26 @@ sap.ui.define(["sap/base/Log", "sap/base/util/UriParameters", "sap/fe/core/helpe
240
243
  }
241
244
  });
242
245
  mViewData = {
246
+ appComponent: oAppComponent,
243
247
  navigation: mNavigation,
244
248
  viewLevel: oTargetInfo.viewLevel,
245
249
  stableId: sStableId,
246
250
  contentDensities: (_oManifestContent$sap = oManifestContent["sap.ui5"]) === null || _oManifestContent$sap === void 0 ? void 0 : _oManifestContent$sap.contentDensities,
247
- resourceBundle: oResourceModel.__bundle,
251
+ resourceModel: oResourceModel,
248
252
  fullContextPath: sFullContextPath,
249
253
  isDesktop: Device.system.desktop,
250
254
  isPhone: Device.system.phone
251
255
  };
252
256
  if (oComponent.getViewData) {
257
+ var _oManifestContent$sap2, _oManifestContent$sap3, _oManifestContent$sap4, _oManifestContent$sap5, _oManifestContent$sap6;
253
258
  Object.assign(mViewData, oComponent.getViewData());
259
+ const actualSettings = (oManifestContent === null || oManifestContent === void 0 ? void 0 : (_oManifestContent$sap2 = oManifestContent["sap.ui5"]) === null || _oManifestContent$sap2 === void 0 ? void 0 : (_oManifestContent$sap3 = _oManifestContent$sap2.routing) === null || _oManifestContent$sap3 === void 0 ? void 0 : (_oManifestContent$sap4 = _oManifestContent$sap3.targets) === null || _oManifestContent$sap4 === void 0 ? void 0 : (_oManifestContent$sap5 = _oManifestContent$sap4[this.pageId]) === null || _oManifestContent$sap5 === void 0 ? void 0 : (_oManifestContent$sap6 = _oManifestContent$sap5.options) === null || _oManifestContent$sap6 === void 0 ? void 0 : _oManifestContent$sap6.settings) || {};
260
+ mViewData = applyPageConfigurationChanges(actualSettings, mViewData, oAppComponent, this.pageId);
254
261
  }
262
+ mViewData.isShareButtonVisibleForMyInbox = TemplatedViewServiceFactory.getShareButtonVisibilityForMyInbox(oAppComponent);
255
263
  const oShellServices = oAppComponent.getShellServices();
256
264
  mViewData.converterType = sConverterType;
257
265
  mViewData.shellContentDensity = oShellServices.getContentDensity();
258
- mViewData.useNewLazyLoading = UriParameters.fromQuery(window.location.search).get("sap-fe-xx-lazyloadingtest") === "true";
259
266
  mViewData.retrieveTextFromValueList = oManifestContent["sap.fe"] && oManifestContent["sap.fe"].form ? oManifestContent["sap.fe"].form.retrieveTextFromValueList : undefined;
260
267
  oViewDataModel = new JSONModel(mViewData);
261
268
  if (mViewData.controlConfiguration) {
@@ -344,6 +351,19 @@ sap.ui.define(["sap/base/Log", "sap/base/util/UriParameters", "sap/fe/core/helpe
344
351
  };
345
352
  _proto2.removeGlobalInstance = function removeGlobalInstance() {
346
353
  this._oInstanceRegistry = {};
354
+ }
355
+
356
+ /**
357
+ * @description This function checks if the component data specifies the visibility of the 'Share' button and returns true or false based on the visibility
358
+ * @param appComponent Specifies the app component
359
+ * @returns Boolean value as true or false based whether the 'Share' button should be visible or not
360
+ */;
361
+ TemplatedViewServiceFactory.getShareButtonVisibilityForMyInbox = function getShareButtonVisibilityForMyInbox(appComponent) {
362
+ const componentData = appComponent.getComponentData();
363
+ if (componentData !== undefined && componentData.feEnvironment) {
364
+ return componentData.feEnvironment.getShareControlVisibility();
365
+ }
366
+ return undefined;
347
367
  };
348
368
  TemplatedViewServiceFactory.getNumberOfViewsInCreationState = function getNumberOfViewsInCreationState() {
349
369
  return TemplatedViewServiceFactory.iCreatingViews;
@@ -352,4 +372,4 @@ sap.ui.define(["sap/base/Log", "sap/base/util/UriParameters", "sap/fe/core/helpe
352
372
  }(ServiceFactory);
353
373
  return TemplatedViewServiceFactory;
354
374
  }, false);
355
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZWRWaWV3U2VydmljZSIsImluaXQiLCJhU2VydmljZURlcGVuZGVuY2llcyIsIm9Db250ZXh0IiwiZ2V0Q29udGV4dCIsIm9Db21wb25lbnQiLCJzY29wZU9iamVjdCIsIm9BcHBDb21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsIm9NZXRhTW9kZWwiLCJnZXRNZXRhTW9kZWwiLCJzU3RhYmxlSWQiLCJnZXRNZXRhZGF0YSIsImdldENvbXBvbmVudE5hbWUiLCJnZXRMb2NhbElkIiwiZ2V0SWQiLCJhRW5oYW5jZUkxOG4iLCJnZXRFbmhhbmNlSTE4biIsInNBcHBOYW1lc3BhY2UiLCJvRmFjdG9yeSIsImZhY3RvcnkiLCJpIiwibGVuZ3RoIiwib1Jlc291cmNlTW9kZWwiLCJnZXRNb2RlbCIsImlzQSIsInJlcGxhY2UiLCJzQ2FjaGVJZGVudGlmaWVyIiwiZ2V0TmFtZSIsInNhcCIsInVpIiwiZ2V0Q29yZSIsImdldENvbmZpZ3VyYXRpb24iLCJnZXRMYW5ndWFnZVRhZyIsInB1c2giLCJTZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5IiwiZ2V0IiwiY3JlYXRlSW5zdGFuY2UiLCJzY29wZVR5cGUiLCJzZXR0aW5ncyIsImJ1bmRsZXMiLCJlbmhhbmNlSTE4biIsIm1vZGVsTmFtZSIsInRoZW4iLCJvUmVzb3VyY2VNb2RlbFNlcnZpY2UiLCJnZXRSZXNvdXJjZU1vZGVsIiwibWV0YU1vZGVsIiwiYXBwQ29tcG9uZW50IiwiY29tcG9uZW50Iiwib0NhY2hlSGFuZGxlclNlcnZpY2UiLCJ2YWxpZGF0ZUNhY2hlS2V5IiwiVmVyc2lvbkluZm8iLCJsb2FkIiwib0luZm8iLCJzVGltZXN0YW1wIiwibGlicmFyaWVzIiwiYnVpbGRpbmZvIiwiYnVpbGR0aW1lIiwiZm9yRWFjaCIsIm9MaWJyYXJ5IiwiYnVpbGRUaW1lc3RhbXAiLCJjYXRjaCIsImluaXRQcm9taXNlIiwiUHJvbWlzZSIsImFsbCIsImFEZXBlbmRlbmNpZXNSZXN1bHQiLCJzQ2FjaGVLZXkiLCJvU2lkZUVmZmVjdHNTZXJ2aWNlcyIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsImluaXRpYWxpemVTaWRlRWZmZWN0cyIsImdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwiZ2V0Q2FwYWJpbGl0aWVzIiwiVGVtcGxhdGVDb252ZXJ0ZXIiLCJNZXRhTW9kZWxDb252ZXJ0ZXIiLCJyZXF1aXJlRGVwZW5kZW5jaWVzIiwiY3JlYXRlVmlldyIsImdldEluc3RhbmNlIiwiaW52YWxpZGF0ZUlmTmVlZGVkIiwicmVmcmVzaFZpZXciLCJvUm9vdFZpZXciLCJnZXRSb290Q29udHJvbCIsImRlc3Ryb3kiLCJvVmlldyIsInJlc291cmNlTW9kZWwiLCJzdGFibGVJZCIsIm9Db250YWluZXIiLCJpbnZhbGlkYXRlIiwib0Vycm9yIiwiTG9nIiwiZXJyb3IiLCJtU2VydmljZVNldHRpbmdzIiwic0NvbnZlcnRlclR5cGUiLCJjb252ZXJ0ZXJUeXBlIiwic0Z1bGxDb250ZXh0UGF0aCIsImdldFJvdXRpbmdTZXJ2aWNlIiwiZ2V0VGFyZ2V0SW5mb3JtYXRpb25Gb3IiLCJvcHRpb25zIiwiZnVsbENvbnRleHRQYXRoIiwib01hbmlmZXN0Q29udGVudCIsImdldE1hbmlmZXN0Iiwib0RldmljZU1vZGVsIiwiSlNPTk1vZGVsIiwiRGV2aWNlIiwic2V0RGVmYXVsdEJpbmRpbmdNb2RlIiwib01hbmlmZXN0TW9kZWwiLCJiRXJyb3IiLCJvUGFnZU1vZGVsIiwib1ZpZXdEYXRhTW9kZWwiLCJvVmlld1NldHRpbmdzIiwibVZpZXdEYXRhIiwiZ2V0Vmlld1NldHRpbmdzIiwiYVNwbGl0UGF0aCIsInNwbGl0Iiwic0VudGl0eVNldFBhdGgiLCJyZWR1Y2UiLCJzUGF0aFNvRmFyIiwic05leHRQYXRoUGFydCIsIm9UYXJnZXQiLCJnZXRPYmplY3QiLCJPYmplY3QiLCJrZXlzIiwidmlld1R5cGUiLCJnZXRWaWV3VHlwZSIsInVuZGVmaW5lZCIsInR5cGUiLCJwcmVwcm9jZXNzb3JzIiwieG1sIiwiYmluZGluZ0NvbnRleHRzIiwiZW50aXR5U2V0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJjb250ZXh0UGF0aCIsImNvbnZlcnRlckNvbnRleHQiLCJub1Jlc29sdmUiLCJ2aWV3RGF0YSIsIm1vZGVscyIsImRldmljZSIsIm1hbmlmZXN0IiwiaWQiLCJ2aWV3TmFtZSIsImdldFZpZXdOYW1lIiwiY2FjaGUiLCJhZGRpdGlvbmFsRGF0YSIsImdldEFkZGl0aW9uYWxDYWNoZURhdGEiLCJnZXREYXRhIiwic2V0QWRkaXRpb25hbENhY2hlRGF0YSIsInZhbHVlIiwic2V0RGF0YSIsImhlaWdodCIsImNyZWF0ZUVycm9yUGFnZSIsInJlYXNvbiIsIm1lc3NhZ2UiLCJlcnJvclZpZXdOYW1lIiwicnVuQXNPd25lciIsIlZpZXciLCJjcmVhdGUiLCJzZXRNb2RlbCIsIk1hbmFnZWRPYmplY3RNb2RlbCIsInNldEFnZ3JlZ2F0aW9uIiwib1JvdXRpbmdTZXJ2aWNlIiwiZ2V0U2VydmljZSIsIm9UYXJnZXRJbmZvIiwibU91dGJvdW5kcyIsImNyb3NzTmF2aWdhdGlvbiIsIm91dGJvdW5kcyIsIm1OYXZpZ2F0aW9uIiwiZ2V0TmF2aWdhdGlvbiIsIm5hdmlnYXRpb25PYmplY3RLZXkiLCJuYXZpZ2F0aW9uT2JqZWN0Iiwib3V0Ym91bmRDb25maWciLCJkZXRhaWwiLCJvdXRib3VuZCIsIm91dGJvdW5kRGV0YWlsIiwic2VtYW50aWNPYmplY3QiLCJhY3Rpb24iLCJwYXJhbWV0ZXJzIiwibmF2aWdhdGlvbiIsInZpZXdMZXZlbCIsImNvbnRlbnREZW5zaXRpZXMiLCJyZXNvdXJjZUJ1bmRsZSIsIl9fYnVuZGxlIiwiaXNEZXNrdG9wIiwic3lzdGVtIiwiZGVza3RvcCIsImlzUGhvbmUiLCJwaG9uZSIsImdldFZpZXdEYXRhIiwiYXNzaWduIiwib1NoZWxsU2VydmljZXMiLCJnZXRTaGVsbFNlcnZpY2VzIiwic2hlbGxDb250ZW50RGVuc2l0eSIsImdldENvbnRlbnREZW5zaXR5IiwidXNlTmV3TGF6eUxvYWRpbmciLCJVcmlQYXJhbWV0ZXJzIiwiZnJvbVF1ZXJ5Iiwid2luZG93IiwibG9jYXRpb24iLCJzZWFyY2giLCJyZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0IiwiZm9ybSIsImNvbnRyb2xDb25maWd1cmF0aW9uIiwic0Fubm90YXRpb25QYXRoIiwiaW5kZXhPZiIsInNUYXJnZXRBbm5vdGF0aW9uUGF0aCIsInJlc29sdmVEeW5hbWljRXhwcmVzc2lvbiIsImNvbnZlcnRUeXBlcyIsIlRlbXBsYXRlTW9kZWwiLCJvRGlhZ25vc3RpY3MiLCJnZXREaWFnbm9zdGljcyIsImlJc3N1ZUNvdW50IiwiZ2V0SXNzdWVzIiwib0NvbnZlcnRlclBhZ2VNb2RlbCIsImNvbnZlcnRQYWdlIiwiYUlzc3VlcyIsImFBZGRlZElzc3VlcyIsInNsaWNlIiwid2FybmluZyIsImUiLCJFcnJvciIsImdldFZpZXciLCJnZXRJbnRlcmZhY2UiLCJleGl0IiwicmVtb3ZlR2xvYmFsSW5zdGFuY2UiLCJTZXJ2aWNlIiwiVGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5IiwiX29JbnN0YW5jZVJlZ2lzdHJ5Iiwib1NlcnZpY2VDb250ZXh0IiwiaUNyZWF0aW5nVmlld3MiLCJvVGVtcGxhdGVkVmlld1NlcnZpY2UiLCJnZXROdW1iZXJPZlZpZXdzSW5DcmVhdGlvblN0YXRlIiwiU2VydmljZUZhY3RvcnkiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBSZXNvdXJjZUJ1bmRsZSBmcm9tIFwic2FwL2Jhc2UvaTE4bi9SZXNvdXJjZUJ1bmRsZVwiO1xuaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgVXJpUGFyYW1ldGVycyBmcm9tIFwic2FwL2Jhc2UvdXRpbC9VcmlQYXJhbWV0ZXJzXCI7XG5pbXBvcnQgdHlwZSBBcHBDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBNYW5pZmVzdENvbnRlbnQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSB7IENvbnRlbnREZW5zaXRpZXNUeXBlLCBDb250cm9sQ29uZmlndXJhdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCB7IHJlcXVpcmVEZXBlbmRlbmNpZXMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9Mb2FkZXJVdGlsc1wiO1xuaW1wb3J0IHR5cGUgeyBDYWNoZUhhbmRsZXJTZXJ2aWNlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL0NhY2hlSGFuZGxlclNlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgVGVtcGxhdGVNb2RlbCBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVNb2RlbFwiO1xuaW1wb3J0IHR5cGUgUmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL2ZlL21hY3Jvcy9SZXNvdXJjZU1vZGVsXCI7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9Db21wb25lbnRcIjtcbmltcG9ydCBWaWV3IGZyb20gXCJzYXAvdWkvY29yZS9tdmMvVmlld1wiO1xuaW1wb3J0IFNlcnZpY2UgZnJvbSBcInNhcC91aS9jb3JlL3NlcnZpY2UvU2VydmljZVwiO1xuaW1wb3J0IFNlcnZpY2VGYWN0b3J5IGZyb20gXCJzYXAvdWkvY29yZS9zZXJ2aWNlL1NlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgU2VydmljZUZhY3RvcnlSZWdpc3RyeSBmcm9tIFwic2FwL3VpL2NvcmUvc2VydmljZS9TZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5XCI7XG5pbXBvcnQgRGV2aWNlIGZyb20gXCJzYXAvdWkvRGV2aWNlXCI7XG5pbXBvcnQgTWFuYWdlZE9iamVjdE1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvYmFzZS9NYW5hZ2VkT2JqZWN0TW9kZWxcIjtcbmltcG9ydCBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuaW1wb3J0IHR5cGUgTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9Nb2RlbFwiO1xuaW1wb3J0IFZlcnNpb25JbmZvIGZyb20gXCJzYXAvdWkvVmVyc2lvbkluZm9cIjtcbmltcG9ydCB0eXBlIHsgU2VydmljZUNvbnRleHQgfSBmcm9tIFwidHlwZXMvZXh0ZW5zaW9uX3R5cGVzXCI7XG5pbXBvcnQgeyByZXNvbHZlRHluYW1pY0V4cHJlc3Npb24gfSBmcm9tIFwiLi4vaGVscGVycy9EeW5hbWljQW5ub3RhdGlvblBhdGhIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgUmVzb3VyY2VNb2RlbFNlcnZpY2UgfSBmcm9tIFwiLi9SZXNvdXJjZU1vZGVsU2VydmljZUZhY3RvcnlcIjtcblxudHlwZSBUZW1wbGF0ZWRWaWV3U2VydmljZVNldHRpbmdzID0ge307XG5leHBvcnQgdHlwZSBWaWV3RGF0YSA9IHtcblx0bmF2aWdhdGlvbjogb2JqZWN0O1xuXHR2aWV3TGV2ZWw6IG51bWJlcjtcblx0c3RhYmxlSWQ6IHN0cmluZztcblx0Y29udGVudERlbnNpdGllcz86IENvbnRlbnREZW5zaXRpZXNUeXBlO1xuXHRyZXNvdXJjZUJ1bmRsZTogUmVzb3VyY2VCdW5kbGU7XG5cdGZ1bGxDb250ZXh0UGF0aDogc3RyaW5nO1xuXHRpc0Rlc2t0b3A6IGJvb2xlYW47XG5cdGlzUGhvbmU6IGJvb2xlYW47XG5cdGNvbnZlcnRlclR5cGU/OiBzdHJpbmc7XG5cdHNoZWxsQ29udGVudERlbnNpdHk/OiBzdHJpbmc7XG5cdHVzZU5ld0xhenlMb2FkaW5nPzogYm9vbGVhbjtcblx0cmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdD86IGJvb2xlYW47XG5cdGNvbnRyb2xDb25maWd1cmF0aW9uPzogQ29udHJvbENvbmZpZ3VyYXRpb247XG59O1xuXG5jbGFzcyBUZW1wbGF0ZWRWaWV3U2VydmljZSBleHRlbmRzIFNlcnZpY2U8VGVtcGxhdGVkVmlld1NlcnZpY2VTZXR0aW5ncz4ge1xuXHRpbml0UHJvbWlzZSE6IFByb21pc2U8YW55Pjtcblx0b1ZpZXchOiBWaWV3O1xuXHRvUmVzb3VyY2VNb2RlbFNlcnZpY2UhOiBSZXNvdXJjZU1vZGVsU2VydmljZTtcblx0b0NhY2hlSGFuZGxlclNlcnZpY2UhOiBDYWNoZUhhbmRsZXJTZXJ2aWNlO1xuXHRvRmFjdG9yeSE6IFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeTtcblx0cmVzb3VyY2VNb2RlbCE6IHR5cGVvZiBSZXNvdXJjZU1vZGVsO1xuXHRzdGFibGVJZCE6IHN0cmluZztcblx0VGVtcGxhdGVDb252ZXJ0ZXI6IGFueTtcblx0TWV0YU1vZGVsQ29udmVydGVyOiBhbnk7XG5cblx0aW5pdCgpIHtcblx0XHRjb25zdCBhU2VydmljZURlcGVuZGVuY2llcyA9IFtdO1xuXHRcdGNvbnN0IG9Db250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cdFx0Y29uc3Qgb0NvbXBvbmVudCA9IG9Db250ZXh0LnNjb3BlT2JqZWN0O1xuXHRcdGNvbnN0IG9BcHBDb21wb25lbnQgPSBDb21wb25lbnQuZ2V0T3duZXJDb21wb25lbnRGb3Iob0NvbXBvbmVudCkgYXMgQXBwQ29tcG9uZW50O1xuXHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFNb2RlbCgpO1xuXHRcdGNvbnN0IHNTdGFibGVJZCA9IGAke29BcHBDb21wb25lbnQuZ2V0TWV0YWRhdGEoKS5nZXRDb21wb25lbnROYW1lKCl9Ojoke29BcHBDb21wb25lbnQuZ2V0TG9jYWxJZChvQ29tcG9uZW50LmdldElkKCkpfWA7XG5cdFx0Y29uc3QgYUVuaGFuY2VJMThuID0gb0NvbXBvbmVudC5nZXRFbmhhbmNlSTE4bigpIHx8IFtdO1xuXHRcdGxldCBzQXBwTmFtZXNwYWNlO1xuXHRcdHRoaXMub0ZhY3RvcnkgPSBvQ29udGV4dC5mYWN0b3J5O1xuXHRcdGlmIChhRW5oYW5jZUkxOG4pIHtcblx0XHRcdHNBcHBOYW1lc3BhY2UgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFkYXRhKCkuZ2V0Q29tcG9uZW50TmFtZSgpO1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhRW5oYW5jZUkxOG4ubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0Ly8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0ZXh0LXZlcnRpY2FsaXphdGlvbiBhcHBsaWNhdGlvbnMgY2FuIGFsc28gcGFzc3MgYSByZXNvdXJjZSBtb2RlbCBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdFxuXHRcdFx0XHQvLyBVSTUgdGFrZXMgY2FyZSBvZiB0ZXh0LXZlcnRpY2FsaXphdGlvbiBmb3IgcmVzb3VyY2UgbW9kZWxzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0XG5cdFx0XHRcdC8vIEhlbmNlIGNoZWNrIGlmIHRoZSBnaXZlbiBrZXkgaXMgYSByZXNvdXJjZSBtb2RlbCBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdFxuXHRcdFx0XHQvLyBpZiBzbyB0aGlzIG1vZGVsIHNob3VsZCBiZSB1c2VkIHRvIGVuaGFuY2UgdGhlIHNhcC5mZSByZXNvdXJjZSBtb2RlbCBzbyBwYXNzIGl0IGFzIGl0IGlzXG5cdFx0XHRcdGNvbnN0IG9SZXNvdXJjZU1vZGVsID0gb0FwcENvbXBvbmVudC5nZXRNb2RlbChhRW5oYW5jZUkxOG5baV0pO1xuXHRcdFx0XHRpZiAob1Jlc291cmNlTW9kZWwgJiYgb1Jlc291cmNlTW9kZWwuaXNBKFwic2FwLnVpLm1vZGVsLnJlc291cmNlLlJlc291cmNlTW9kZWxcIikpIHtcblx0XHRcdFx0XHRhRW5oYW5jZUkxOG5baV0gPSBvUmVzb3VyY2VNb2RlbDtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRhRW5oYW5jZUkxOG5baV0gPSBgJHtzQXBwTmFtZXNwYWNlfS4ke2FFbmhhbmNlSTE4bltpXS5yZXBsYWNlKFwiLnByb3BlcnRpZXNcIiwgXCJcIil9YDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbnN0IHNDYWNoZUlkZW50aWZpZXIgPSBgJHtvQXBwQ29tcG9uZW50LmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpfV8ke3NTdGFibGVJZH1fJHtzYXAudWlcblx0XHRcdC5nZXRDb3JlKClcblx0XHRcdC5nZXRDb25maWd1cmF0aW9uKClcblx0XHRcdC5nZXRMYW5ndWFnZVRhZygpfWA7XG5cdFx0YVNlcnZpY2VEZXBlbmRlbmNpZXMucHVzaChcblx0XHRcdFNlcnZpY2VGYWN0b3J5UmVnaXN0cnkuZ2V0KFwic2FwLmZlLmNvcmUuc2VydmljZXMuUmVzb3VyY2VNb2RlbFNlcnZpY2VcIilcblx0XHRcdFx0LmNyZWF0ZUluc3RhbmNlKHtcblx0XHRcdFx0XHRzY29wZVR5cGU6IFwiY29tcG9uZW50XCIsXG5cdFx0XHRcdFx0c2NvcGVPYmplY3Q6IG9Db21wb25lbnQsXG5cdFx0XHRcdFx0c2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGJ1bmRsZXM6IFtcInNhcC5mZS5jb3JlLm1lc3NhZ2VidW5kbGVcIiwgXCJzYXAuZmUubWFjcm9zLm1lc3NhZ2VidW5kbGVcIiwgXCJzYXAuZmUudGVtcGxhdGVzLm1lc3NhZ2VidW5kbGVcIl0sXG5cdFx0XHRcdFx0XHRlbmhhbmNlSTE4bjogYUVuaGFuY2VJMThuLFxuXHRcdFx0XHRcdFx0bW9kZWxOYW1lOiBcInNhcC5mZS5pMThuXCJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC50aGVuKChvUmVzb3VyY2VNb2RlbFNlcnZpY2U6IFJlc291cmNlTW9kZWxTZXJ2aWNlKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5vUmVzb3VyY2VNb2RlbFNlcnZpY2UgPSBvUmVzb3VyY2VNb2RlbFNlcnZpY2U7XG5cdFx0XHRcdFx0cmV0dXJuIG9SZXNvdXJjZU1vZGVsU2VydmljZS5nZXRSZXNvdXJjZU1vZGVsKCk7XG5cdFx0XHRcdH0pXG5cdFx0KTtcblxuXHRcdGFTZXJ2aWNlRGVwZW5kZW5jaWVzLnB1c2goXG5cdFx0XHRTZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LmdldChcInNhcC5mZS5jb3JlLnNlcnZpY2VzLkNhY2hlSGFuZGxlclNlcnZpY2VcIilcblx0XHRcdFx0LmNyZWF0ZUluc3RhbmNlKHtcblx0XHRcdFx0XHRzZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0bWV0YU1vZGVsOiBvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdFx0YXBwQ29tcG9uZW50OiBvQXBwQ29tcG9uZW50LFxuXHRcdFx0XHRcdFx0Y29tcG9uZW50OiBvQ29tcG9uZW50XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0XHQudGhlbigob0NhY2hlSGFuZGxlclNlcnZpY2U6IGFueSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMub0NhY2hlSGFuZGxlclNlcnZpY2UgPSBvQ2FjaGVIYW5kbGVyU2VydmljZTtcblx0XHRcdFx0XHRyZXR1cm4gb0NhY2hlSGFuZGxlclNlcnZpY2UudmFsaWRhdGVDYWNoZUtleShzQ2FjaGVJZGVudGlmaWVyLCBvQ29tcG9uZW50KTtcblx0XHRcdFx0fSlcblx0XHQpO1xuXHRcdGFTZXJ2aWNlRGVwZW5kZW5jaWVzLnB1c2goXG5cdFx0XHQoVmVyc2lvbkluZm8gYXMgYW55KVxuXHRcdFx0XHQubG9hZCgpXG5cdFx0XHRcdC50aGVuKGZ1bmN0aW9uIChvSW5mbzogYW55KSB7XG5cdFx0XHRcdFx0bGV0IHNUaW1lc3RhbXAgPSBcIlwiO1xuXHRcdFx0XHRcdGlmICghb0luZm8ubGlicmFyaWVzKSB7XG5cdFx0XHRcdFx0XHRzVGltZXN0YW1wID0gKHNhcC51aSBhcyBhbnkpLmJ1aWxkaW5mby5idWlsZHRpbWU7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdG9JbmZvLmxpYnJhcmllcy5mb3JFYWNoKGZ1bmN0aW9uIChvTGlicmFyeTogYW55KSB7XG5cdFx0XHRcdFx0XHRcdHNUaW1lc3RhbXAgKz0gb0xpYnJhcnkuYnVpbGRUaW1lc3RhbXA7XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIHNUaW1lc3RhbXA7XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5jYXRjaChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0cmV0dXJuIFwiPE5PVkFMVUU+XCI7XG5cdFx0XHRcdH0pXG5cdFx0KTtcblxuXHRcdHRoaXMuaW5pdFByb21pc2UgPSBQcm9taXNlLmFsbChhU2VydmljZURlcGVuZGVuY2llcylcblx0XHRcdC50aGVuKGFzeW5jIChhRGVwZW5kZW5jaWVzUmVzdWx0OiBhbnlbXSkgPT4ge1xuXHRcdFx0XHRjb25zdCBvUmVzb3VyY2VNb2RlbCA9IGFEZXBlbmRlbmNpZXNSZXN1bHRbMF07XG5cdFx0XHRcdGNvbnN0IHNDYWNoZUtleSA9IGFEZXBlbmRlbmNpZXNSZXN1bHRbMV07XG5cdFx0XHRcdGNvbnN0IG9TaWRlRWZmZWN0c1NlcnZpY2VzID0gb0FwcENvbXBvbmVudC5nZXRTaWRlRWZmZWN0c1NlcnZpY2UoKTtcblx0XHRcdFx0b1NpZGVFZmZlY3RzU2VydmljZXMuaW5pdGlhbGl6ZVNpZGVFZmZlY3RzKG9BcHBDb21wb25lbnQuZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKS5nZXRDYXBhYmlsaXRpZXMoKSk7XG5cblx0XHRcdFx0Y29uc3QgW1RlbXBsYXRlQ29udmVydGVyLCBNZXRhTW9kZWxDb252ZXJ0ZXJdID0gYXdhaXQgcmVxdWlyZURlcGVuZGVuY2llcyhbXG5cdFx0XHRcdFx0XCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL1RlbXBsYXRlQ29udmVydGVyXCIsXG5cdFx0XHRcdFx0XCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiXG5cdFx0XHRcdF0pO1xuXHRcdFx0XHRyZXR1cm4gdGhpcy5jcmVhdGVWaWV3KG9SZXNvdXJjZU1vZGVsLCBzU3RhYmxlSWQsIHNDYWNoZUtleSwgVGVtcGxhdGVDb252ZXJ0ZXIsIE1ldGFNb2RlbENvbnZlcnRlcik7XG5cdFx0XHR9KVxuXHRcdFx0LnRoZW4oZnVuY3Rpb24gKHNDYWNoZUtleTogYW55KSB7XG5cdFx0XHRcdGNvbnN0IG9DYWNoZUhhbmRsZXJTZXJ2aWNlID0gU2VydmljZUZhY3RvcnlSZWdpc3RyeS5nZXQoXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5DYWNoZUhhbmRsZXJTZXJ2aWNlXCIpLmdldEluc3RhbmNlKG9NZXRhTW9kZWwpO1xuXHRcdFx0XHRvQ2FjaGVIYW5kbGVyU2VydmljZS5pbnZhbGlkYXRlSWZOZWVkZWQoc0NhY2hlS2V5LCBzQ2FjaGVJZGVudGlmaWVyLCBvQ29tcG9uZW50KTtcblx0XHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlZnJlc2ggdGhlIGN1cnJlbnQgdmlldyB1c2luZyB0aGUgc2FtZSBjb25maWd1cmF0aW9uIGFzIGJlZm9yZS5cblx0ICpcblx0ICogQHBhcmFtIG9Db21wb25lbnRcblx0ICogQHJldHVybnMgQSBwcm9taXNlIGluZGljYXRpbmcgd2hlbiB0aGUgdmlldyBpcyByZWZyZXNoZWRcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHJlZnJlc2hWaWV3KG9Db21wb25lbnQ6IGFueSkge1xuXHRcdGNvbnN0IG9Sb290VmlldyA9IG9Db21wb25lbnQuZ2V0Um9vdENvbnRyb2woKTtcblx0XHRpZiAob1Jvb3RWaWV3KSB7XG5cdFx0XHRvUm9vdFZpZXcuZGVzdHJveSgpO1xuXHRcdH0gZWxzZSBpZiAodGhpcy5vVmlldykge1xuXHRcdFx0dGhpcy5vVmlldy5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLmNyZWF0ZVZpZXcodGhpcy5yZXNvdXJjZU1vZGVsLCB0aGlzLnN0YWJsZUlkLCBcIlwiLCB0aGlzLlRlbXBsYXRlQ29udmVydGVyLCB0aGlzLk1ldGFNb2RlbENvbnZlcnRlcilcblx0XHRcdC50aGVuKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0b0NvbXBvbmVudC5vQ29udGFpbmVyLmludmFsaWRhdGUoKTtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKG9FcnJvcjogYW55KSB7XG5cdFx0XHRcdG9Db21wb25lbnQub0NvbnRhaW5lci5pbnZhbGlkYXRlKCk7XG5cdFx0XHRcdExvZy5lcnJvcihvRXJyb3IpO1xuXHRcdFx0fSk7XG5cdH1cblx0YXN5bmMgY3JlYXRlVmlldyhcblx0XHRvUmVzb3VyY2VNb2RlbDogYW55LFxuXHRcdHNTdGFibGVJZDogYW55LFxuXHRcdHNDYWNoZUtleTogYW55LFxuXHRcdFRlbXBsYXRlQ29udmVydGVyOiBhbnksXG5cdFx0TWV0YU1vZGVsQ29udmVydGVyOiBhbnlcblx0KTogUHJvbWlzZTxhbnkgfCB2b2lkPiB7XG5cdFx0dGhpcy5yZXNvdXJjZU1vZGVsID0gb1Jlc291cmNlTW9kZWw7XG5cdFx0dGhpcy5zdGFibGVJZCA9IHNTdGFibGVJZDtcblx0XHR0aGlzLlRlbXBsYXRlQ29udmVydGVyID0gVGVtcGxhdGVDb252ZXJ0ZXI7XG5cdFx0dGhpcy5NZXRhTW9kZWxDb252ZXJ0ZXIgPSBNZXRhTW9kZWxDb252ZXJ0ZXI7XG5cdFx0Y29uc3Qgb0NvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcblx0XHRjb25zdCBtU2VydmljZVNldHRpbmdzID0gb0NvbnRleHQuc2V0dGluZ3M7XG5cdFx0Y29uc3Qgc0NvbnZlcnRlclR5cGUgPSBtU2VydmljZVNldHRpbmdzLmNvbnZlcnRlclR5cGU7XG5cdFx0Y29uc3Qgb0NvbXBvbmVudCA9IG9Db250ZXh0LnNjb3BlT2JqZWN0O1xuXHRcdGNvbnN0IG9BcHBDb21wb25lbnQ6IEFwcENvbXBvbmVudCA9IENvbXBvbmVudC5nZXRPd25lckNvbXBvbmVudEZvcihvQ29tcG9uZW50KSBhcyBBcHBDb21wb25lbnQ7XG5cdFx0Y29uc3Qgc0Z1bGxDb250ZXh0UGF0aCA9IG9BcHBDb21wb25lbnQuZ2V0Um91dGluZ1NlcnZpY2UoKS5nZXRUYXJnZXRJbmZvcm1hdGlvbkZvcihvQ29tcG9uZW50KS5vcHRpb25zLnNldHRpbmdzLmZ1bGxDb250ZXh0UGF0aDtcblx0XHRjb25zdCBvTWV0YU1vZGVsID0gb0FwcENvbXBvbmVudC5nZXRNZXRhTW9kZWwoKTtcblx0XHRjb25zdCBvTWFuaWZlc3RDb250ZW50OiBNYW5pZmVzdENvbnRlbnQgPSBvQXBwQ29tcG9uZW50LmdldE1hbmlmZXN0KCk7XG5cdFx0Y29uc3Qgb0RldmljZU1vZGVsID0gbmV3IEpTT05Nb2RlbChEZXZpY2UpLnNldERlZmF1bHRCaW5kaW5nTW9kZShcIk9uZVdheVwiKTtcblx0XHRjb25zdCBvTWFuaWZlc3RNb2RlbCA9IG5ldyBKU09OTW9kZWwob01hbmlmZXN0Q29udGVudCk7XG5cdFx0Y29uc3QgYkVycm9yID0gZmFsc2U7XG5cdFx0bGV0IG9QYWdlTW9kZWw6IFRlbXBsYXRlTW9kZWwsIG9WaWV3RGF0YU1vZGVsOiBNb2RlbCwgb1ZpZXdTZXR0aW5nczogYW55LCBtVmlld0RhdGE6IFZpZXdEYXRhO1xuXHRcdC8vIExvYWQgdGhlIGluZGV4IGZvciB0aGUgYWRkaXRpb25hbCBidWlsZGluZyBibG9ja3Mgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIGluaXRpYWxpemluZyB0aGVtXG5cdFx0ZnVuY3Rpb24gZ2V0Vmlld1NldHRpbmdzKCkge1xuXHRcdFx0Y29uc3QgYVNwbGl0UGF0aCA9IHNGdWxsQ29udGV4dFBhdGguc3BsaXQoXCIvXCIpO1xuXHRcdFx0Y29uc3Qgc0VudGl0eVNldFBhdGggPSBhU3BsaXRQYXRoLnJlZHVjZShmdW5jdGlvbiAoc1BhdGhTb0ZhcjogYW55LCBzTmV4dFBhdGhQYXJ0OiBhbnkpIHtcblx0XHRcdFx0aWYgKHNOZXh0UGF0aFBhcnQgPT09IFwiXCIpIHtcblx0XHRcdFx0XHRyZXR1cm4gc1BhdGhTb0Zhcjtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoc1BhdGhTb0ZhciA9PT0gXCJcIikge1xuXHRcdFx0XHRcdHNQYXRoU29GYXIgPSBgLyR7c05leHRQYXRoUGFydH1gO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGNvbnN0IG9UYXJnZXQgPSBvTWV0YU1vZGVsLmdldE9iamVjdChgJHtzUGF0aFNvRmFyfS8kTmF2aWdhdGlvblByb3BlcnR5QmluZGluZy8ke3NOZXh0UGF0aFBhcnR9YCk7XG5cdFx0XHRcdFx0aWYgKG9UYXJnZXQgJiYgT2JqZWN0LmtleXMob1RhcmdldCkubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdFx0c1BhdGhTb0ZhciArPSBcIi8kTmF2aWdhdGlvblByb3BlcnR5QmluZGluZ1wiO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRzUGF0aFNvRmFyICs9IGAvJHtzTmV4dFBhdGhQYXJ0fWA7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHNQYXRoU29GYXI7XG5cdFx0XHR9LCBcIlwiKTtcblx0XHRcdGxldCB2aWV3VHlwZSA9IG1TZXJ2aWNlU2V0dGluZ3Mudmlld1R5cGUgfHwgb0NvbXBvbmVudC5nZXRWaWV3VHlwZSgpIHx8IFwiWE1MXCI7XG5cdFx0XHRpZiAodmlld1R5cGUgIT09IFwiWE1MXCIpIHtcblx0XHRcdFx0dmlld1R5cGUgPSB1bmRlZmluZWQ7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHR0eXBlOiB2aWV3VHlwZSxcblx0XHRcdFx0cHJlcHJvY2Vzc29yczoge1xuXHRcdFx0XHRcdHhtbDoge1xuXHRcdFx0XHRcdFx0YmluZGluZ0NvbnRleHRzOiB7XG5cdFx0XHRcdFx0XHRcdGVudGl0eVNldDogc0VudGl0eVNldFBhdGggPyBvTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KHNFbnRpdHlTZXRQYXRoKSA6IG51bGwsXG5cdFx0XHRcdFx0XHRcdGZ1bGxDb250ZXh0UGF0aDogc0Z1bGxDb250ZXh0UGF0aCA/IG9NZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoc0Z1bGxDb250ZXh0UGF0aCkgOiBudWxsLFxuXHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aDogc0Z1bGxDb250ZXh0UGF0aCA/IG9NZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoc0Z1bGxDb250ZXh0UGF0aCkgOiBudWxsLFxuXHRcdFx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0OiBvUGFnZU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL1wiLCB1bmRlZmluZWQsIHsgbm9SZXNvbHZlOiB0cnVlIH0pLFxuXHRcdFx0XHRcdFx0XHR2aWV3RGF0YTogbVZpZXdEYXRhID8gb1ZpZXdEYXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvXCIpIDogbnVsbFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1vZGVsczoge1xuXHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRcdGZ1bGxDb250ZXh0UGF0aDogb01ldGFNb2RlbCxcblx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRcdFwic2FwLmZlLmkxOG5cIjogb1Jlc291cmNlTW9kZWwsXG5cdFx0XHRcdFx0XHRcdG1ldGFNb2RlbDogb01ldGFNb2RlbCxcblx0XHRcdFx0XHRcdFx0ZGV2aWNlOiBvRGV2aWNlTW9kZWwsXG5cdFx0XHRcdFx0XHRcdG1hbmlmZXN0OiBvTWFuaWZlc3RNb2RlbCxcblx0XHRcdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dDogb1BhZ2VNb2RlbCxcblx0XHRcdFx0XHRcdFx0dmlld0RhdGE6IG9WaWV3RGF0YU1vZGVsXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0YXBwQ29tcG9uZW50OiBvQXBwQ29tcG9uZW50XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRpZDogc1N0YWJsZUlkLFxuXHRcdFx0XHR2aWV3TmFtZTogbVNlcnZpY2VTZXR0aW5ncy52aWV3TmFtZSB8fCBvQ29tcG9uZW50LmdldFZpZXdOYW1lKCksXG5cdFx0XHRcdHZpZXdEYXRhOiBtVmlld0RhdGEsXG5cdFx0XHRcdGNhY2hlOiB7XG5cdFx0XHRcdFx0a2V5czogW3NDYWNoZUtleV0sXG5cdFx0XHRcdFx0YWRkaXRpb25hbERhdGE6IHtcblx0XHRcdFx0XHRcdC8vIFdlIHN0b3JlIHRoZSBwYWdlIG1vZGVsIGRhdGEgaW4gdGhlIGBhZGRpdGlvbmFsRGF0YWAgb2YgdGhlIHZpZXcgY2FjaGUsIHRoaXMgd2F5IGl0IGlzIGFsd2F5cyBpbiBzeW5jXG5cdFx0XHRcdFx0XHRnZXRBZGRpdGlvbmFsQ2FjaGVEYXRhOiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiAob1BhZ2VNb2RlbCBhcyB1bmtub3duIGFzIEpTT05Nb2RlbCkuZ2V0RGF0YSgpO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHNldEFkZGl0aW9uYWxDYWNoZURhdGE6ICh2YWx1ZTogb2JqZWN0KSA9PiB7XG5cdFx0XHRcdFx0XHRcdChvUGFnZU1vZGVsIGFzIHVua25vd24gYXMgSlNPTk1vZGVsKS5zZXREYXRhKHZhbHVlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdG1vZGVsczoge1xuXHRcdFx0XHRcdFwic2FwLmZlLmkxOG5cIjogb1Jlc291cmNlTW9kZWxcblx0XHRcdFx0fSxcblx0XHRcdFx0aGVpZ2h0OiBcIjEwMCVcIlxuXHRcdFx0fTtcblx0XHR9XG5cdFx0Y29uc3QgY3JlYXRlRXJyb3JQYWdlID0gKHJlYXNvbjogYW55KSA9PiB7XG5cdFx0XHQvLyBqdXN0IHJlcGxhY2UgdGhlIHZpZXcgbmFtZSBhbmQgYWRkIGFuIGFkZGl0aW9uYWwgbW9kZWwgY29udGFpbmluZyB0aGUgcmVhc29uLCBidXRcblx0XHRcdC8vIGtlZXAgdGhlIG90aGVyIHNldHRpbmdzXG5cdFx0XHRMb2cuZXJyb3IocmVhc29uLm1lc3NhZ2UsIHJlYXNvbik7XG5cdFx0XHRvVmlld1NldHRpbmdzLnZpZXdOYW1lID0gbVNlcnZpY2VTZXR0aW5ncy5lcnJvclZpZXdOYW1lIHx8IFwic2FwLmZlLmNvcmUuc2VydmljZXMudmlldy5UZW1wbGF0aW5nRXJyb3JQYWdlXCI7XG5cdFx0XHRvVmlld1NldHRpbmdzLnByZXByb2Nlc3NvcnMueG1sLm1vZGVsc1tcImVycm9yXCJdID0gbmV3IEpTT05Nb2RlbChyZWFzb24pO1xuXG5cdFx0XHRyZXR1cm4gb0NvbXBvbmVudC5ydW5Bc093bmVyKCgpID0+IHtcblx0XHRcdFx0cmV0dXJuIFZpZXcuY3JlYXRlKG9WaWV3U2V0dGluZ3MpLnRoZW4oKG9WaWV3OiBhbnkpID0+IHtcblx0XHRcdFx0XHR0aGlzLm9WaWV3ID0gb1ZpZXc7XG5cdFx0XHRcdFx0dGhpcy5vVmlldy5zZXRNb2RlbChuZXcgTWFuYWdlZE9iamVjdE1vZGVsKHRoaXMub1ZpZXcpLCBcIiR2aWV3XCIpO1xuXHRcdFx0XHRcdG9Db21wb25lbnQuc2V0QWdncmVnYXRpb24oXCJyb290Q29udHJvbFwiLCB0aGlzLm9WaWV3KTtcblx0XHRcdFx0XHRyZXR1cm4gc0NhY2hlS2V5O1xuXHRcdFx0XHR9KTtcblx0XHRcdH0pO1xuXHRcdH07XG5cblx0XHR0cnkge1xuXHRcdFx0Y29uc3Qgb1JvdXRpbmdTZXJ2aWNlID0gYXdhaXQgb0FwcENvbXBvbmVudC5nZXRTZXJ2aWNlKFwicm91dGluZ1NlcnZpY2VcIik7XG5cdFx0XHQvLyBSZXRyaWV2ZSB0aGUgdmlld0xldmVsIGZvciB0aGUgY29tcG9uZW50XG5cdFx0XHRjb25zdCBvVGFyZ2V0SW5mbyA9IG9Sb3V0aW5nU2VydmljZS5nZXRUYXJnZXRJbmZvcm1hdGlvbkZvcihvQ29tcG9uZW50KTtcblx0XHRcdGNvbnN0IG1PdXRib3VuZHMgPVxuXHRcdFx0XHQob01hbmlmZXN0Q29udGVudFtcInNhcC5hcHBcIl0gJiZcblx0XHRcdFx0XHRvTWFuaWZlc3RDb250ZW50W1wic2FwLmFwcFwiXS5jcm9zc05hdmlnYXRpb24gJiZcblx0XHRcdFx0XHRvTWFuaWZlc3RDb250ZW50W1wic2FwLmFwcFwiXS5jcm9zc05hdmlnYXRpb24ub3V0Ym91bmRzKSB8fFxuXHRcdFx0XHR7fTtcblx0XHRcdGNvbnN0IG1OYXZpZ2F0aW9uID0gb0NvbXBvbmVudC5nZXROYXZpZ2F0aW9uKCkgfHwge307XG5cdFx0XHRPYmplY3Qua2V5cyhtTmF2aWdhdGlvbikuZm9yRWFjaChmdW5jdGlvbiAobmF2aWdhdGlvbk9iamVjdEtleTogc3RyaW5nKSB7XG5cdFx0XHRcdGNvbnN0IG5hdmlnYXRpb25PYmplY3QgPSBtTmF2aWdhdGlvbltuYXZpZ2F0aW9uT2JqZWN0S2V5XTtcblx0XHRcdFx0bGV0IG91dGJvdW5kQ29uZmlnO1xuXHRcdFx0XHRpZiAobmF2aWdhdGlvbk9iamVjdC5kZXRhaWwgJiYgbmF2aWdhdGlvbk9iamVjdC5kZXRhaWwub3V0Ym91bmQgJiYgbU91dGJvdW5kc1tuYXZpZ2F0aW9uT2JqZWN0LmRldGFpbC5vdXRib3VuZF0pIHtcblx0XHRcdFx0XHRvdXRib3VuZENvbmZpZyA9IG1PdXRib3VuZHNbbmF2aWdhdGlvbk9iamVjdC5kZXRhaWwub3V0Ym91bmRdO1xuXHRcdFx0XHRcdG5hdmlnYXRpb25PYmplY3QuZGV0YWlsLm91dGJvdW5kRGV0YWlsID0ge1xuXHRcdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IG91dGJvdW5kQ29uZmlnLnNlbWFudGljT2JqZWN0LFxuXHRcdFx0XHRcdFx0YWN0aW9uOiBvdXRib3VuZENvbmZpZy5hY3Rpb24sXG5cdFx0XHRcdFx0XHRwYXJhbWV0ZXJzOiBvdXRib3VuZENvbmZpZy5wYXJhbWV0ZXJzXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAobmF2aWdhdGlvbk9iamVjdC5jcmVhdGUgJiYgbmF2aWdhdGlvbk9iamVjdC5jcmVhdGUub3V0Ym91bmQgJiYgbU91dGJvdW5kc1tuYXZpZ2F0aW9uT2JqZWN0LmNyZWF0ZS5vdXRib3VuZF0pIHtcblx0XHRcdFx0XHRvdXRib3VuZENvbmZpZyA9IG1PdXRib3VuZHNbbmF2aWdhdGlvbk9iamVjdC5jcmVhdGUub3V0Ym91bmRdO1xuXHRcdFx0XHRcdG5hdmlnYXRpb25PYmplY3QuY3JlYXRlLm91dGJvdW5kRGV0YWlsID0ge1xuXHRcdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IG91dGJvdW5kQ29uZmlnLnNlbWFudGljT2JqZWN0LFxuXHRcdFx0XHRcdFx0YWN0aW9uOiBvdXRib3VuZENvbmZpZy5hY3Rpb24sXG5cdFx0XHRcdFx0XHRwYXJhbWV0ZXJzOiBvdXRib3VuZENvbmZpZy5wYXJhbWV0ZXJzXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRtVmlld0RhdGEgPSB7XG5cdFx0XHRcdG5hdmlnYXRpb246IG1OYXZpZ2F0aW9uLFxuXHRcdFx0XHR2aWV3TGV2ZWw6IG9UYXJnZXRJbmZvLnZpZXdMZXZlbCxcblx0XHRcdFx0c3RhYmxlSWQ6IHNTdGFibGVJZCxcblx0XHRcdFx0Y29udGVudERlbnNpdGllczogb01hbmlmZXN0Q29udGVudFtcInNhcC51aTVcIl0/LmNvbnRlbnREZW5zaXRpZXMsXG5cdFx0XHRcdHJlc291cmNlQnVuZGxlOiBvUmVzb3VyY2VNb2RlbC5fX2J1bmRsZSxcblx0XHRcdFx0ZnVsbENvbnRleHRQYXRoOiBzRnVsbENvbnRleHRQYXRoLFxuXHRcdFx0XHRpc0Rlc2t0b3A6IChEZXZpY2UgYXMgYW55KS5zeXN0ZW0uZGVza3RvcCxcblx0XHRcdFx0aXNQaG9uZTogKERldmljZSBhcyBhbnkpLnN5c3RlbS5waG9uZVxuXHRcdFx0fTtcblxuXHRcdFx0aWYgKG9Db21wb25lbnQuZ2V0Vmlld0RhdGEpIHtcblx0XHRcdFx0T2JqZWN0LmFzc2lnbihtVmlld0RhdGEsIG9Db21wb25lbnQuZ2V0Vmlld0RhdGEoKSk7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IG9TaGVsbFNlcnZpY2VzID0gb0FwcENvbXBvbmVudC5nZXRTaGVsbFNlcnZpY2VzKCk7XG5cdFx0XHRtVmlld0RhdGEuY29udmVydGVyVHlwZSA9IHNDb252ZXJ0ZXJUeXBlO1xuXHRcdFx0bVZpZXdEYXRhLnNoZWxsQ29udGVudERlbnNpdHkgPSBvU2hlbGxTZXJ2aWNlcy5nZXRDb250ZW50RGVuc2l0eSgpO1xuXHRcdFx0bVZpZXdEYXRhLnVzZU5ld0xhenlMb2FkaW5nID0gVXJpUGFyYW1ldGVycy5mcm9tUXVlcnkod2luZG93LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KFwic2FwLWZlLXh4LWxhenlsb2FkaW5ndGVzdFwiKSA9PT0gXCJ0cnVlXCI7XG5cdFx0XHRtVmlld0RhdGEucmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdCA9XG5cdFx0XHRcdG9NYW5pZmVzdENvbnRlbnRbXCJzYXAuZmVcIl0gJiYgb01hbmlmZXN0Q29udGVudFtcInNhcC5mZVwiXS5mb3JtXG5cdFx0XHRcdFx0PyBvTWFuaWZlc3RDb250ZW50W1wic2FwLmZlXCJdLmZvcm0ucmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdFxuXHRcdFx0XHRcdDogdW5kZWZpbmVkO1xuXHRcdFx0b1ZpZXdEYXRhTW9kZWwgPSBuZXcgSlNPTk1vZGVsKG1WaWV3RGF0YSk7XG5cdFx0XHRpZiAobVZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uKSB7XG5cdFx0XHRcdGZvciAoY29uc3Qgc0Fubm90YXRpb25QYXRoIGluIG1WaWV3RGF0YS5jb250cm9sQ29uZmlndXJhdGlvbikge1xuXHRcdFx0XHRcdGlmIChzQW5ub3RhdGlvblBhdGguaW5kZXhPZihcIltcIikgIT09IC0xKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBzVGFyZ2V0QW5ub3RhdGlvblBhdGggPSByZXNvbHZlRHluYW1pY0V4cHJlc3Npb24oc0Fubm90YXRpb25QYXRoLCBvTWV0YU1vZGVsKTtcblx0XHRcdFx0XHRcdG1WaWV3RGF0YS5jb250cm9sQ29uZmlndXJhdGlvbltzVGFyZ2V0QW5ub3RhdGlvblBhdGhdID0gbVZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uW3NBbm5vdGF0aW9uUGF0aF07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRNZXRhTW9kZWxDb252ZXJ0ZXIuY29udmVydFR5cGVzKG9NZXRhTW9kZWwsIG9BcHBDb21wb25lbnQuZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKS5nZXRDYXBhYmlsaXRpZXMoKSk7XG5cdFx0XHRvUGFnZU1vZGVsID0gbmV3IFRlbXBsYXRlTW9kZWwoKCkgPT4ge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdGNvbnN0IG9EaWFnbm9zdGljcyA9IG9BcHBDb21wb25lbnQuZ2V0RGlhZ25vc3RpY3MoKTtcblx0XHRcdFx0XHRjb25zdCBpSXNzdWVDb3VudCA9IG9EaWFnbm9zdGljcy5nZXRJc3N1ZXMoKS5sZW5ndGg7XG5cdFx0XHRcdFx0Y29uc3Qgb0NvbnZlcnRlclBhZ2VNb2RlbCA9IFRlbXBsYXRlQ29udmVydGVyLmNvbnZlcnRQYWdlKFxuXHRcdFx0XHRcdFx0c0NvbnZlcnRlclR5cGUsXG5cdFx0XHRcdFx0XHRvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdFx0bVZpZXdEYXRhLFxuXHRcdFx0XHRcdFx0b0RpYWdub3N0aWNzLFxuXHRcdFx0XHRcdFx0c0Z1bGxDb250ZXh0UGF0aCxcblx0XHRcdFx0XHRcdG9BcHBDb21wb25lbnQuZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKS5nZXRDYXBhYmlsaXRpZXMoKSxcblx0XHRcdFx0XHRcdG9Db21wb25lbnRcblx0XHRcdFx0XHQpO1xuXG5cdFx0XHRcdFx0Y29uc3QgYUlzc3VlcyA9IG9EaWFnbm9zdGljcy5nZXRJc3N1ZXMoKTtcblx0XHRcdFx0XHRjb25zdCBhQWRkZWRJc3N1ZXMgPSBhSXNzdWVzLnNsaWNlKGlJc3N1ZUNvdW50KTtcblx0XHRcdFx0XHRpZiAoYUFkZGVkSXNzdWVzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFx0XHRcIlNvbWUgaXNzdWVzIGhhdmUgYmVlbiBkZXRlY3RlZCBpbiB5b3VyIHByb2plY3QsIHBsZWFzZSBjaGVjayB0aGUgVUk1IHN1cHBvcnQgYXNzaXN0YW50IHJ1bGUgZm9yIHNhcC5mZS5jb3JlXCJcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiBvQ29udmVydGVyUGFnZU1vZGVsO1xuXHRcdFx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0XHRcdExvZy5lcnJvcihlcnJvciBhcyBhbnksIGVycm9yIGFzIGFueSk7XG5cdFx0XHRcdFx0cmV0dXJuIHt9O1xuXHRcdFx0XHR9XG5cdFx0XHR9LCBvTWV0YU1vZGVsKTtcblxuXHRcdFx0aWYgKCFiRXJyb3IpIHtcblx0XHRcdFx0b1ZpZXdTZXR0aW5ncyA9IGdldFZpZXdTZXR0aW5ncygpO1xuXHRcdFx0XHQvLyBTZXR0aW5nIHRoZSBwYWdlTW9kZWwgb24gdGhlIGNvbXBvbmVudCBmb3IgcG90ZW50aWFsIHJldXNlXG5cdFx0XHRcdG9Db21wb25lbnQuc2V0TW9kZWwob1BhZ2VNb2RlbCwgXCJfcGFnZU1vZGVsXCIpO1xuXHRcdFx0XHRyZXR1cm4gb0NvbXBvbmVudC5ydW5Bc093bmVyKCgpID0+IHtcblx0XHRcdFx0XHRyZXR1cm4gVmlldy5jcmVhdGUob1ZpZXdTZXR0aW5ncylcblx0XHRcdFx0XHRcdC5jYXRjaChjcmVhdGVFcnJvclBhZ2UpXG5cdFx0XHRcdFx0XHQudGhlbigob1ZpZXc6IGFueSkgPT4ge1xuXHRcdFx0XHRcdFx0XHR0aGlzLm9WaWV3ID0gb1ZpZXc7XG5cdFx0XHRcdFx0XHRcdHRoaXMub1ZpZXcuc2V0TW9kZWwobmV3IE1hbmFnZWRPYmplY3RNb2RlbCh0aGlzLm9WaWV3KSwgXCIkdmlld1wiKTtcblx0XHRcdFx0XHRcdFx0dGhpcy5vVmlldy5zZXRNb2RlbChvVmlld0RhdGFNb2RlbCwgXCJ2aWV3RGF0YVwiKTtcblx0XHRcdFx0XHRcdFx0b0NvbXBvbmVudC5zZXRBZ2dyZWdhdGlvbihcInJvb3RDb250cm9sXCIsIHRoaXMub1ZpZXcpO1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gc0NhY2hlS2V5O1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdC5jYXRjaCgoZSkgPT4gTG9nLmVycm9yKGUubWVzc2FnZSwgZSkpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChlcnJvcjogYW55KSB7XG5cdFx0XHRMb2cuZXJyb3IoZXJyb3IubWVzc2FnZSwgZXJyb3IpO1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBFcnJvciB3aGlsZSBjcmVhdGluZyB2aWV3IDogJHtlcnJvcn1gKTtcblx0XHR9XG5cdH1cblx0Z2V0VmlldygpIHtcblx0XHRyZXR1cm4gdGhpcy5vVmlldztcblx0fVxuXHRnZXRJbnRlcmZhY2UoKTogYW55IHtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXHRleGl0KCkge1xuXHRcdC8vIERlcmVnaXN0ZXIgZ2xvYmFsIGluc3RhbmNlXG5cdFx0aWYgKHRoaXMub1Jlc291cmNlTW9kZWxTZXJ2aWNlKSB7XG5cdFx0XHR0aGlzLm9SZXNvdXJjZU1vZGVsU2VydmljZS5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLm9DYWNoZUhhbmRsZXJTZXJ2aWNlKSB7XG5cdFx0XHR0aGlzLm9DYWNoZUhhbmRsZXJTZXJ2aWNlLmRlc3Ryb3koKTtcblx0XHR9XG5cdFx0dGhpcy5vRmFjdG9yeS5yZW1vdmVHbG9iYWxJbnN0YW5jZSgpO1xuXHR9XG59XG5jbGFzcyBUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkgZXh0ZW5kcyBTZXJ2aWNlRmFjdG9yeTxUZW1wbGF0ZWRWaWV3U2VydmljZVNldHRpbmdzPiB7XG5cdF9vSW5zdGFuY2VSZWdpc3RyeTogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVkVmlld1NlcnZpY2U+ID0ge307XG5cdHN0YXRpYyBpQ3JlYXRpbmdWaWV3czogMDtcblx0Y3JlYXRlSW5zdGFuY2Uob1NlcnZpY2VDb250ZXh0OiBTZXJ2aWNlQ29udGV4dDxUZW1wbGF0ZWRWaWV3U2VydmljZVNldHRpbmdzPikge1xuXHRcdFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeS5pQ3JlYXRpbmdWaWV3cysrO1xuXG5cdFx0Y29uc3Qgb1RlbXBsYXRlZFZpZXdTZXJ2aWNlID0gbmV3IFRlbXBsYXRlZFZpZXdTZXJ2aWNlKE9iamVjdC5hc3NpZ24oeyBmYWN0b3J5OiB0aGlzIH0sIG9TZXJ2aWNlQ29udGV4dCkpO1xuXHRcdHJldHVybiBvVGVtcGxhdGVkVmlld1NlcnZpY2UuaW5pdFByb21pc2UudGhlbihmdW5jdGlvbiAoKSB7XG5cdFx0XHRUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkuaUNyZWF0aW5nVmlld3MtLTtcblx0XHRcdHJldHVybiBvVGVtcGxhdGVkVmlld1NlcnZpY2U7XG5cdFx0fSk7XG5cdH1cblx0cmVtb3ZlR2xvYmFsSW5zdGFuY2UoKSB7XG5cdFx0dGhpcy5fb0luc3RhbmNlUmVnaXN0cnkgPSB7fTtcblx0fVxuXHRzdGF0aWMgZ2V0TnVtYmVyT2ZWaWV3c0luQ3JlYXRpb25TdGF0ZSgpIHtcblx0XHRyZXR1cm4gVGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5LmlDcmVhdGluZ1ZpZXdzO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7TUF5Q01BLG9CQUFvQjtJQUFBO0lBQUE7TUFBQTtJQUFBO0lBQUE7SUFBQSxPQVd6QkMsSUFBSSxHQUFKLGdCQUFPO01BQ04sTUFBTUMsb0JBQW9CLEdBQUcsRUFBRTtNQUMvQixNQUFNQyxRQUFRLEdBQUcsSUFBSSxDQUFDQyxVQUFVLEVBQUU7TUFDbEMsTUFBTUMsVUFBVSxHQUFHRixRQUFRLENBQUNHLFdBQVc7TUFDdkMsTUFBTUMsYUFBYSxHQUFHQyxTQUFTLENBQUNDLG9CQUFvQixDQUFDSixVQUFVLENBQWlCO01BQ2hGLE1BQU1LLFVBQVUsR0FBR0gsYUFBYSxDQUFDSSxZQUFZLEVBQUU7TUFDL0MsTUFBTUMsU0FBUyxHQUFJLEdBQUVMLGFBQWEsQ0FBQ00sV0FBVyxFQUFFLENBQUNDLGdCQUFnQixFQUFHLEtBQUlQLGFBQWEsQ0FBQ1EsVUFBVSxDQUFDVixVQUFVLENBQUNXLEtBQUssRUFBRSxDQUFFLEVBQUM7TUFDdEgsTUFBTUMsWUFBWSxHQUFHWixVQUFVLENBQUNhLGNBQWMsRUFBRSxJQUFJLEVBQUU7TUFDdEQsSUFBSUMsYUFBYTtNQUNqQixJQUFJLENBQUNDLFFBQVEsR0FBR2pCLFFBQVEsQ0FBQ2tCLE9BQU87TUFDaEMsSUFBSUosWUFBWSxFQUFFO1FBQ2pCRSxhQUFhLEdBQUdaLGFB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
375
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZWRWaWV3U2VydmljZSIsImluaXQiLCJhU2VydmljZURlcGVuZGVuY2llcyIsIm9Db250ZXh0IiwiZ2V0Q29udGV4dCIsIm9Db21wb25lbnQiLCJzY29wZU9iamVjdCIsIm9BcHBDb21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsIm9NZXRhTW9kZWwiLCJnZXRNZXRhTW9kZWwiLCJwYWdlSWQiLCJnZXRMb2NhbElkIiwiZ2V0SWQiLCJzU3RhYmxlSWQiLCJnZXRNZXRhZGF0YSIsImdldENvbXBvbmVudE5hbWUiLCJhRW5oYW5jZUkxOG4iLCJnZXRFbmhhbmNlSTE4biIsInNBcHBOYW1lc3BhY2UiLCJvRmFjdG9yeSIsImZhY3RvcnkiLCJpIiwibGVuZ3RoIiwib1Jlc291cmNlTW9kZWwiLCJnZXRNb2RlbCIsImlzQSIsInJlcGxhY2UiLCJzQ2FjaGVJZGVudGlmaWVyIiwiZ2V0TmFtZSIsInNhcCIsInVpIiwiZ2V0Q29yZSIsImdldENvbmZpZ3VyYXRpb24iLCJnZXRMYW5ndWFnZVRhZyIsInB1c2giLCJTZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5IiwiZ2V0IiwiY3JlYXRlSW5zdGFuY2UiLCJzY29wZVR5cGUiLCJzZXR0aW5ncyIsImJ1bmRsZXMiLCJlbmhhbmNlSTE4biIsIm1vZGVsTmFtZSIsInRoZW4iLCJvUmVzb3VyY2VNb2RlbFNlcnZpY2UiLCJnZXRSZXNvdXJjZU1vZGVsIiwibWV0YU1vZGVsIiwiYXBwQ29tcG9uZW50IiwiY29tcG9uZW50Iiwib0NhY2hlSGFuZGxlclNlcnZpY2UiLCJ2YWxpZGF0ZUNhY2hlS2V5IiwiVmVyc2lvbkluZm8iLCJsb2FkIiwib0luZm8iLCJzVGltZXN0YW1wIiwibGlicmFyaWVzIiwiYnVpbGRpbmZvIiwiYnVpbGR0aW1lIiwiZm9yRWFjaCIsIm9MaWJyYXJ5IiwiYnVpbGRUaW1lc3RhbXAiLCJjYXRjaCIsImluaXRQcm9taXNlIiwiUHJvbWlzZSIsImFsbCIsImFEZXBlbmRlbmNpZXNSZXN1bHQiLCJzQ2FjaGVLZXkiLCJvU2lkZUVmZmVjdHNTZXJ2aWNlcyIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsImluaXRpYWxpemVTaWRlRWZmZWN0cyIsImdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwiZ2V0Q2FwYWJpbGl0aWVzIiwiVGVtcGxhdGVDb252ZXJ0ZXIiLCJNZXRhTW9kZWxDb252ZXJ0ZXIiLCJyZXF1aXJlRGVwZW5kZW5jaWVzIiwiY3JlYXRlVmlldyIsImdldEluc3RhbmNlIiwiaW52YWxpZGF0ZUlmTmVlZGVkIiwicmVmcmVzaFZpZXciLCJvUm9vdFZpZXciLCJnZXRSb290Q29udHJvbCIsImRlc3Ryb3kiLCJvVmlldyIsInJlc291cmNlTW9kZWwiLCJzdGFibGVJZCIsIm9Db250YWluZXIiLCJpbnZhbGlkYXRlIiwib0Vycm9yIiwiTG9nIiwiZXJyb3IiLCJtU2VydmljZVNldHRpbmdzIiwic0NvbnZlcnRlclR5cGUiLCJjb252ZXJ0ZXJUeXBlIiwic0Z1bGxDb250ZXh0UGF0aCIsImdldFJvdXRpbmdTZXJ2aWNlIiwiZ2V0VGFyZ2V0SW5mb3JtYXRpb25Gb3IiLCJvcHRpb25zIiwiZnVsbENvbnRleHRQYXRoIiwib01hbmlmZXN0Q29udGVudCIsImdldE1hbmlmZXN0Iiwib0RldmljZU1vZGVsIiwiSlNPTk1vZGVsIiwiRGV2aWNlIiwic2V0RGVmYXVsdEJpbmRpbmdNb2RlIiwib01hbmlmZXN0TW9kZWwiLCJiRXJyb3IiLCJvUGFnZU1vZGVsIiwib1ZpZXdEYXRhTW9kZWwiLCJvVmlld1NldHRpbmdzIiwibVZpZXdEYXRhIiwiZ2V0Vmlld1NldHRpbmdzIiwiYVNwbGl0UGF0aCIsInNwbGl0Iiwic0VudGl0eVNldFBhdGgiLCJyZWR1Y2UiLCJzUGF0aFNvRmFyIiwic05leHRQYXRoUGFydCIsIm9UYXJnZXQiLCJnZXRPYmplY3QiLCJPYmplY3QiLCJrZXlzIiwidmlld1R5cGUiLCJnZXRWaWV3VHlwZSIsInVuZGVmaW5lZCIsInR5cGUiLCJwcmVwcm9jZXNzb3JzIiwieG1sIiwiYmluZGluZ0NvbnRleHRzIiwiZW50aXR5U2V0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJjb250ZXh0UGF0aCIsImNvbnZlcnRlckNvbnRleHQiLCJub1Jlc29sdmUiLCJ2aWV3RGF0YSIsIm1vZGVscyIsImRldmljZSIsIm1hbmlmZXN0IiwiaWQiLCJ2aWV3TmFtZSIsImdldFZpZXdOYW1lIiwiY2FjaGUiLCJhZGRpdGlvbmFsRGF0YSIsImdldEFkZGl0aW9uYWxDYWNoZURhdGEiLCJnZXREYXRhIiwic2V0QWRkaXRpb25hbENhY2hlRGF0YSIsInZhbHVlIiwic2V0RGF0YSIsImhlaWdodCIsImNyZWF0ZUVycm9yUGFnZSIsInJlYXNvbiIsIm1lc3NhZ2UiLCJlcnJvclZpZXdOYW1lIiwicnVuQXNPd25lciIsIlZpZXciLCJjcmVhdGUiLCJzZXRNb2RlbCIsIk1hbmFnZWRPYmplY3RNb2RlbCIsInNldEFnZ3JlZ2F0aW9uIiwib1JvdXRpbmdTZXJ2aWNlIiwiZ2V0U2VydmljZSIsIm9UYXJnZXRJbmZvIiwibU91dGJvdW5kcyIsImNyb3NzTmF2aWdhdGlvbiIsIm91dGJvdW5kcyIsIm1OYXZpZ2F0aW9uIiwiZ2V0TmF2aWdhdGlvbiIsIm5hdmlnYXRpb25PYmplY3RLZXkiLCJuYXZpZ2F0aW9uT2JqZWN0Iiwib3V0Ym91bmRDb25maWciLCJkZXRhaWwiLCJvdXRib3VuZCIsIm91dGJvdW5kRGV0YWlsIiwic2VtYW50aWNPYmplY3QiLCJhY3Rpb24iLCJwYXJhbWV0ZXJzIiwibmF2aWdhdGlvbiIsInZpZXdMZXZlbCIsImNvbnRlbnREZW5zaXRpZXMiLCJpc0Rlc2t0b3AiLCJzeXN0ZW0iLCJkZXNrdG9wIiwiaXNQaG9uZSIsInBob25lIiwiZ2V0Vmlld0RhdGEiLCJhc3NpZ24iLCJhY3R1YWxTZXR0aW5ncyIsInJvdXRpbmciLCJ0YXJnZXRzIiwiYXBwbHlQYWdlQ29uZmlndXJhdGlvbkNoYW5nZXMiLCJpc1NoYXJlQnV0dG9uVmlzaWJsZUZvck15SW5ib3giLCJUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkiLCJnZXRTaGFyZUJ1dHRvblZpc2liaWxpdHlGb3JNeUluYm94Iiwib1NoZWxsU2VydmljZXMiLCJnZXRTaGVsbFNlcnZpY2VzIiwic2hlbGxDb250ZW50RGVuc2l0eSIsImdldENvbnRlbnREZW5zaXR5IiwicmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdCIsImZvcm0iLCJjb250cm9sQ29uZmlndXJhdGlvbiIsInNBbm5vdGF0aW9uUGF0aCIsImluZGV4T2YiLCJzVGFyZ2V0QW5ub3RhdGlvblBhdGgiLCJyZXNvbHZlRHluYW1pY0V4cHJlc3Npb24iLCJjb252ZXJ0VHlwZXMiLCJUZW1wbGF0ZU1vZGVsIiwib0RpYWdub3N0aWNzIiwiZ2V0RGlhZ25vc3RpY3MiLCJpSXNzdWVDb3VudCIsImdldElzc3VlcyIsIm9Db252ZXJ0ZXJQYWdlTW9kZWwiLCJjb252ZXJ0UGFnZSIsImFJc3N1ZXMiLCJhQWRkZWRJc3N1ZXMiLCJzbGljZSIsIndhcm5pbmciLCJlIiwiRXJyb3IiLCJnZXRWaWV3IiwiZ2V0SW50ZXJmYWNlIiwiZXhpdCIsInJlbW92ZUdsb2JhbEluc3RhbmNlIiwiU2VydmljZSIsIl9vSW5zdGFuY2VSZWdpc3RyeSIsIm9TZXJ2aWNlQ29udGV4dCIsImlDcmVhdGluZ1ZpZXdzIiwib1RlbXBsYXRlZFZpZXdTZXJ2aWNlIiwiY29tcG9uZW50RGF0YSIsImdldENvbXBvbmVudERhdGEiLCJmZUVudmlyb25tZW50IiwiZ2V0U2hhcmVDb250cm9sVmlzaWJpbGl0eSIsImdldE51bWJlck9mVmlld3NJbkNyZWF0aW9uU3RhdGUiLCJTZXJ2aWNlRmFjdG9yeSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiVGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgQXBwQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9BcHBDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50RGF0YSwgTWFuaWZlc3RDb250ZW50IH0gZnJvbSBcInNhcC9mZS9jb3JlL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBDb250ZW50RGVuc2l0aWVzVHlwZSwgQ29udHJvbENvbmZpZ3VyYXRpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyByZXF1aXJlRGVwZW5kZW5jaWVzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTG9hZGVyVXRpbHNcIjtcbmltcG9ydCB7IGFwcGx5UGFnZUNvbmZpZ3VyYXRpb25DaGFuZ2VzIH0gZnJvbSBcInNhcC9mZS9jb3JlL21hbmlmZXN0TWVyZ2VyL0NoYW5nZVBhZ2VDb25maWd1cmF0aW9uXCI7XG5pbXBvcnQgUmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL2ZlL2NvcmUvUmVzb3VyY2VNb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBDYWNoZUhhbmRsZXJTZXJ2aWNlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL0NhY2hlSGFuZGxlclNlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgVGVtcGxhdGVNb2RlbCBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVNb2RlbFwiO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50XCI7XG5pbXBvcnQgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCBTZXJ2aWNlIGZyb20gXCJzYXAvdWkvY29yZS9zZXJ2aWNlL1NlcnZpY2VcIjtcbmltcG9ydCBTZXJ2aWNlRmFjdG9yeSBmcm9tIFwic2FwL3VpL2NvcmUvc2VydmljZS9TZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IFNlcnZpY2VGYWN0b3J5UmVnaXN0cnkgZnJvbSBcInNhcC91aS9jb3JlL3NlcnZpY2UvU2VydmljZUZhY3RvcnlSZWdpc3RyeVwiO1xuaW1wb3J0IERldmljZSBmcm9tIFwic2FwL3VpL0RldmljZVwiO1xuaW1wb3J0IE1hbmFnZWRPYmplY3RNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2Jhc2UvTWFuYWdlZE9iamVjdE1vZGVsXCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvTW9kZWxcIjtcbmltcG9ydCBWZXJzaW9uSW5mbyBmcm9tIFwic2FwL3VpL1ZlcnNpb25JbmZvXCI7XG5pbXBvcnQgdHlwZSB7IFNlcnZpY2VDb250ZXh0IH0gZnJvbSBcInR5cGVzL21ldGFtb2RlbF90eXBlc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZUR5bmFtaWNFeHByZXNzaW9uIH0gZnJvbSBcIi4uL2hlbHBlcnMvRHluYW1pY0Fubm90YXRpb25QYXRoSGVscGVyXCI7XG5pbXBvcnQgdHlwZSB7IFJlc291cmNlTW9kZWxTZXJ2aWNlIH0gZnJvbSBcIi4vUmVzb3VyY2VNb2RlbFNlcnZpY2VGYWN0b3J5XCI7XG5cbnR5cGUgVGVtcGxhdGVkVmlld1NlcnZpY2VTZXR0aW5ncyA9IHt9O1xuZXhwb3J0IHR5cGUgVmlld0RhdGEgPSB7XG5cdGFwcENvbXBvbmVudDogQXBwQ29tcG9uZW50O1xuXHRuYXZpZ2F0aW9uOiBvYmplY3Q7XG5cdHZpZXdMZXZlbDogbnVtYmVyO1xuXHRzdGFibGVJZDogc3RyaW5nO1xuXHRjb250ZW50RGVuc2l0aWVzPzogQ29udGVudERlbnNpdGllc1R5cGU7XG5cdHJlc291cmNlTW9kZWw6IFJlc291cmNlTW9kZWw7XG5cdGZ1bGxDb250ZXh0UGF0aDogc3RyaW5nO1xuXHRpc0Rlc2t0b3A6IGJvb2xlYW47XG5cdGlzUGhvbmU6IGJvb2xlYW47XG5cdGNvbnZlcnRlclR5cGU/OiBzdHJpbmc7XG5cdHNoZWxsQ29udGVudERlbnNpdHk/OiBzdHJpbmc7XG5cdHVzZU5ld0xhenlMb2FkaW5nPzogYm9vbGVhbjtcblx0cmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdD86IGJvb2xlYW47XG5cdGNvbnRyb2xDb25maWd1cmF0aW9uPzogQ29udHJvbENvbmZpZ3VyYXRpb247XG5cdGVudGl0eVNldD86IHN0cmluZztcblx0aXNTaGFyZUJ1dHRvblZpc2libGVGb3JNeUluYm94PzogYm9vbGVhbjtcbn07XG5cbmNsYXNzIFRlbXBsYXRlZFZpZXdTZXJ2aWNlIGV4dGVuZHMgU2VydmljZTxUZW1wbGF0ZWRWaWV3U2VydmljZVNldHRpbmdzPiB7XG5cdGluaXRQcm9taXNlITogUHJvbWlzZTxhbnk+O1xuXG5cdG9WaWV3ITogVmlldztcblxuXHRvUmVzb3VyY2VNb2RlbFNlcnZpY2UhOiBSZXNvdXJjZU1vZGVsU2VydmljZTtcblxuXHRvQ2FjaGVIYW5kbGVyU2VydmljZSE6IENhY2hlSGFuZGxlclNlcnZpY2U7XG5cblx0b0ZhY3RvcnkhOiBUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3Rvcnk7XG5cblx0cmVzb3VyY2VNb2RlbCE6IFJlc291cmNlTW9kZWw7XG5cblx0c3RhYmxlSWQhOiBzdHJpbmc7XG5cblx0cGFnZUlkITogc3RyaW5nO1xuXG5cdFRlbXBsYXRlQ29udmVydGVyOiBhbnk7XG5cblx0TWV0YU1vZGVsQ29udmVydGVyOiBhbnk7XG5cblx0aW5pdCgpIHtcblx0XHRjb25zdCBhU2VydmljZURlcGVuZGVuY2llcyA9IFtdO1xuXHRcdGNvbnN0IG9Db250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cdFx0Y29uc3Qgb0NvbXBvbmVudCA9IG9Db250ZXh0LnNjb3BlT2JqZWN0O1xuXHRcdGNvbnN0IG9BcHBDb21wb25lbnQgPSBDb21wb25lbnQuZ2V0T3duZXJDb21wb25lbnRGb3Iob0NvbXBvbmVudCkgYXMgQXBwQ29tcG9uZW50O1xuXHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFNb2RlbCgpO1xuXHRcdHRoaXMucGFnZUlkID0gb0FwcENvbXBvbmVudC5nZXRMb2NhbElkKG9Db21wb25lbnQuZ2V0SWQoKSkgYXMgc3RyaW5nO1xuXHRcdGNvbnN0IHNTdGFibGVJZCA9IGAke29BcHBDb21wb25lbnQuZ2V0TWV0YWRhdGEoKS5nZXRDb21wb25lbnROYW1lKCl9Ojoke3RoaXMucGFnZUlkfWA7XG5cdFx0Y29uc3QgYUVuaGFuY2VJMThuID0gb0NvbXBvbmVudC5nZXRFbmhhbmNlSTE4bigpIHx8IFtdO1xuXHRcdGxldCBzQXBwTmFtZXNwYWNlO1xuXHRcdHRoaXMub0ZhY3RvcnkgPSBvQ29udGV4dC5mYWN0b3J5O1xuXHRcdGlmIChhRW5oYW5jZUkxOG4pIHtcblx0XHRcdHNBcHBOYW1lc3BhY2UgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFkYXRhKCkuZ2V0Q29tcG9uZW50TmFtZSgpO1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhRW5oYW5jZUkxOG4ubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0Ly8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0ZXh0LXZlcnRpY2FsaXphdGlvbiBhcHBsaWNhdGlvbnMgY2FuIGFsc28gcGFzc3MgYSByZXNvdXJjZSBtb2RlbCBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdFxuXHRcdFx0XHQvLyBVSTUgdGFrZXMgY2FyZSBvZiB0ZXh0LXZlcnRpY2FsaXphdGlvbiBmb3IgcmVzb3VyY2UgbW9kZWxzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0XG5cdFx0XHRcdC8vIEhlbmNlIGNoZWNrIGlmIHRoZSBnaXZlbiBrZXkgaXMgYSByZXNvdXJjZSBtb2RlbCBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdFxuXHRcdFx0XHQvLyBpZiBzbyB0aGlzIG1vZGVsIHNob3VsZCBiZSB1c2VkIHRvIGVuaGFuY2UgdGhlIHNhcC5mZSByZXNvdXJjZSBtb2RlbCBzbyBwYXNzIGl0IGFzIGl0IGlzXG5cdFx0XHRcdGNvbnN0IG9SZXNvdXJjZU1vZGVsID0gb0FwcENvbXBvbmVudC5nZXRNb2RlbChhRW5oYW5jZUkxOG5baV0pO1xuXHRcdFx0XHRpZiAob1Jlc291cmNlTW9kZWwgJiYgb1Jlc291cmNlTW9kZWwuaXNBKFwic2FwLnVpLm1vZGVsLnJlc291cmNlLlJlc291cmNlTW9kZWxcIikpIHtcblx0XHRcdFx0XHRhRW5oYW5jZUkxOG5baV0gPSBvUmVzb3VyY2VNb2RlbDtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRhRW5oYW5jZUkxOG5baV0gPSBgJHtzQXBwTmFtZXNwYWNlfS4ke2FFbmhhbmNlSTE4bltpXS5yZXBsYWNlKFwiLnByb3BlcnRpZXNcIiwgXCJcIil9YDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbnN0IHNDYWNoZUlkZW50aWZpZXIgPSBgJHtvQXBwQ29tcG9uZW50LmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpfV8ke3NTdGFibGVJZH1fJHtzYXAudWlcblx0XHRcdC5nZXRDb3JlKClcblx0XHRcdC5nZXRDb25maWd1cmF0aW9uKClcblx0XHRcdC5nZXRMYW5ndWFnZVRhZygpfWA7XG5cdFx0YVNlcnZpY2VEZXBlbmRlbmNpZXMucHVzaChcblx0XHRcdFNlcnZpY2VGYWN0b3J5UmVnaXN0cnkuZ2V0KFwic2FwLmZlLmNvcmUuc2VydmljZXMuUmVzb3VyY2VNb2RlbFNlcnZpY2VcIilcblx0XHRcdFx0LmNyZWF0ZUluc3RhbmNlKHtcblx0XHRcdFx0XHRzY29wZVR5cGU6IFwiY29tcG9uZW50XCIsXG5cdFx0XHRcdFx0c2NvcGVPYmplY3Q6IG9Db21wb25lbnQsXG5cdFx0XHRcdFx0c2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGJ1bmRsZXM6IFtcInNhcC5mZS5jb3JlLm1lc3NhZ2VidW5kbGVcIiwgXCJzYXAuZmUubWFjcm9zLm1lc3NhZ2VidW5kbGVcIiwgXCJzYXAuZmUudGVtcGxhdGVzLm1lc3NhZ2VidW5kbGVcIl0sXG5cdFx0XHRcdFx0XHRlbmhhbmNlSTE4bjogYUVuaGFuY2VJMThuLFxuXHRcdFx0XHRcdFx0bW9kZWxOYW1lOiBcInNhcC5mZS5pMThuXCJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC50aGVuKChvUmVzb3VyY2VNb2RlbFNlcnZpY2U6IFJlc291cmNlTW9kZWxTZXJ2aWNlKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5vUmVzb3VyY2VNb2RlbFNlcnZpY2UgPSBvUmVzb3VyY2VNb2RlbFNlcnZpY2U7XG5cdFx0XHRcdFx0cmV0dXJuIG9SZXNvdXJjZU1vZGVsU2VydmljZS5nZXRSZXNvdXJjZU1vZGVsKCk7XG5cdFx0XHRcdH0pXG5cdFx0KTtcblxuXHRcdGFTZXJ2aWNlRGVwZW5kZW5jaWVzLnB1c2goXG5cdFx0XHRTZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LmdldChcInNhcC5mZS5jb3JlLnNlcnZpY2VzLkNhY2hlSGFuZGxlclNlcnZpY2VcIilcblx0XHRcdFx0LmNyZWF0ZUluc3RhbmNlKHtcblx0XHRcdFx0XHRzZXR0aW5nczoge1xuXHRcdFx0XHRcdFx0bWV0YU1vZGVsOiBvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdFx0YXBwQ29tcG9uZW50OiBvQXBwQ29tcG9uZW50LFxuXHRcdFx0XHRcdFx0Y29tcG9uZW50OiBvQ29tcG9uZW50XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0XHQudGhlbigob0NhY2hlSGFuZGxlclNlcnZpY2U6IGFueSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMub0NhY2hlSGFuZGxlclNlcnZpY2UgPSBvQ2FjaGVIYW5kbGVyU2VydmljZTtcblx0XHRcdFx0XHRyZXR1cm4gb0NhY2hlSGFuZGxlclNlcnZpY2UudmFsaWRhdGVDYWNoZUtleShzQ2FjaGVJZGVudGlmaWVyLCBvQ29tcG9uZW50KTtcblx0XHRcdFx0fSlcblx0XHQpO1xuXHRcdGFTZXJ2aWNlRGVwZW5kZW5jaWVzLnB1c2goXG5cdFx0XHQoVmVyc2lvbkluZm8gYXMgYW55KVxuXHRcdFx0XHQubG9hZCgpXG5cdFx0XHRcdC50aGVuKGZ1bmN0aW9uIChvSW5mbzogYW55KSB7XG5cdFx0XHRcdFx0bGV0IHNUaW1lc3RhbXAgPSBcIlwiO1xuXHRcdFx0XHRcdGlmICghb0luZm8ubGlicmFyaWVzKSB7XG5cdFx0XHRcdFx0XHRzVGltZXN0YW1wID0gKHNhcC51aSBhcyBhbnkpLmJ1aWxkaW5mby5idWlsZHRpbWU7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdG9JbmZvLmxpYnJhcmllcy5mb3JFYWNoKGZ1bmN0aW9uIChvTGlicmFyeTogYW55KSB7XG5cdFx0XHRcdFx0XHRcdHNUaW1lc3RhbXAgKz0gb0xpYnJhcnkuYnVpbGRUaW1lc3RhbXA7XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIHNUaW1lc3RhbXA7XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5jYXRjaChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0cmV0dXJuIFwiPE5PVkFMVUU+XCI7XG5cdFx0XHRcdH0pXG5cdFx0KTtcblxuXHRcdHRoaXMuaW5pdFByb21pc2UgPSBQcm9taXNlLmFsbChhU2VydmljZURlcGVuZGVuY2llcylcblx0XHRcdC50aGVuKGFzeW5jIChhRGVwZW5kZW5jaWVzUmVzdWx0OiBhbnlbXSkgPT4ge1xuXHRcdFx0XHRjb25zdCBvUmVzb3VyY2VNb2RlbCA9IGFEZXBlbmRlbmNpZXNSZXN1bHRbMF0gYXMgUmVzb3VyY2VNb2RlbDtcblx0XHRcdFx0Y29uc3Qgc0NhY2hlS2V5ID0gYURlcGVuZGVuY2llc1Jlc3VsdFsxXTtcblx0XHRcdFx0Y29uc3Qgb1NpZGVFZmZlY3RzU2VydmljZXMgPSBvQXBwQ29tcG9uZW50LmdldFNpZGVFZmZlY3RzU2VydmljZSgpO1xuXHRcdFx0XHRvU2lkZUVmZmVjdHNTZXJ2aWNlcy5pbml0aWFsaXplU2lkZUVmZmVjdHMob0FwcENvbXBvbmVudC5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpLmdldENhcGFiaWxpdGllcygpKTtcblxuXHRcdFx0XHRjb25zdCBbVGVtcGxhdGVDb252ZXJ0ZXIsIE1ldGFNb2RlbENvbnZlcnRlcl0gPSBhd2FpdCByZXF1aXJlRGVwZW5kZW5jaWVzKFtcblx0XHRcdFx0XHRcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvVGVtcGxhdGVDb252ZXJ0ZXJcIixcblx0XHRcdFx0XHRcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCJcblx0XHRcdFx0XSk7XG5cdFx0XHRcdHJldHVybiB0aGlzLmNyZWF0ZVZpZXcob1Jlc291cmNlTW9kZWwsIHNTdGFibGVJZCwgc0NhY2hlS2V5LCBUZW1wbGF0ZUNvbnZlcnRlciwgTWV0YU1vZGVsQ29udmVydGVyKTtcblx0XHRcdH0pXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoc0NhY2hlS2V5OiBhbnkpIHtcblx0XHRcdFx0Y29uc3Qgb0NhY2hlSGFuZGxlclNlcnZpY2UgPSBTZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LmdldChcInNhcC5mZS5jb3JlLnNlcnZpY2VzLkNhY2hlSGFuZGxlclNlcnZpY2VcIikuZ2V0SW5zdGFuY2Uob01ldGFNb2RlbCk7XG5cdFx0XHRcdG9DYWNoZUhhbmRsZXJTZXJ2aWNlLmludmFsaWRhdGVJZk5lZWRlZChzQ2FjaGVLZXksIHNDYWNoZUlkZW50aWZpZXIsIG9Db21wb25lbnQpO1xuXHRcdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogUmVmcmVzaCB0aGUgY3VycmVudCB2aWV3IHVzaW5nIHRoZSBzYW1lIGNvbmZpZ3VyYXRpb24gYXMgYmVmb3JlLlxuXHQgKlxuXHQgKiBAcGFyYW0gb0NvbXBvbmVudFxuXHQgKiBAcmV0dXJucyBBIHByb21pc2UgaW5kaWNhdGluZyB3aGVuIHRoZSB2aWV3IGlzIHJlZnJlc2hlZFxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cmVmcmVzaFZpZXcob0NvbXBvbmVudDogYW55KSB7XG5cdFx0Y29uc3Qgb1Jvb3RWaWV3ID0gb0NvbXBvbmVudC5nZXRSb290Q29udHJvbCgpO1xuXHRcdGlmIChvUm9vdFZpZXcpIHtcblx0XHRcdG9Sb290Vmlldy5kZXN0cm95KCk7XG5cdFx0fSBlbHNlIGlmICh0aGlzLm9WaWV3KSB7XG5cdFx0XHR0aGlzLm9WaWV3LmRlc3Ryb3koKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuY3JlYXRlVmlldyh0aGlzLnJlc291cmNlTW9kZWwsIHRoaXMuc3RhYmxlSWQsIFwiXCIsIHRoaXMuVGVtcGxhdGVDb252ZXJ0ZXIsIHRoaXMuTWV0YU1vZGVsQ29udmVydGVyKVxuXHRcdFx0LnRoZW4oZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRvQ29tcG9uZW50Lm9Db250YWluZXIuaW52YWxpZGF0ZSgpO1xuXHRcdFx0fSlcblx0XHRcdC5jYXRjaChmdW5jdGlvbiAob0Vycm9yOiBhbnkpIHtcblx0XHRcdFx0b0NvbXBvbmVudC5vQ29udGFpbmVyLmludmFsaWRhdGUoKTtcblx0XHRcdFx0TG9nLmVycm9yKG9FcnJvcik7XG5cdFx0XHR9KTtcblx0fVxuXG5cdGFzeW5jIGNyZWF0ZVZpZXcoXG5cdFx0b1Jlc291cmNlTW9kZWw6IFJlc291cmNlTW9kZWwsXG5cdFx0c1N0YWJsZUlkOiBhbnksXG5cdFx0c0NhY2hlS2V5OiBhbnksXG5cdFx0VGVtcGxhdGVDb252ZXJ0ZXI6IGFueSxcblx0XHRNZXRhTW9kZWxDb252ZXJ0ZXI6IGFueVxuXHQpOiBQcm9taXNlPGFueSB8IHZvaWQ+IHtcblx0XHR0aGlzLnJlc291cmNlTW9kZWwgPSBvUmVzb3VyY2VNb2RlbDsgLy8gVE9ETzogZ2V0IHJpZCwga2VwdCBpdCBmb3IgdGhlIHRpbWUgYmVpbmdcblx0XHR0aGlzLnN0YWJsZUlkID0gc1N0YWJsZUlkO1xuXHRcdHRoaXMuVGVtcGxhdGVDb252ZXJ0ZXIgPSBUZW1wbGF0ZUNvbnZlcnRlcjtcblx0XHR0aGlzLk1ldGFNb2RlbENvbnZlcnRlciA9IE1ldGFNb2RlbENvbnZlcnRlcjtcblx0XHRjb25zdCBvQ29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpO1xuXHRcdGNvbnN0IG1TZXJ2aWNlU2V0dGluZ3MgPSBvQ29udGV4dC5zZXR0aW5ncztcblx0XHRjb25zdCBzQ29udmVydGVyVHlwZSA9IG1TZXJ2aWNlU2V0dGluZ3MuY29udmVydGVyVHlwZTtcblx0XHRjb25zdCBvQ29tcG9uZW50ID0gb0NvbnRleHQuc2NvcGVPYmplY3Q7XG5cdFx0Y29uc3Qgb0FwcENvbXBvbmVudDogQXBwQ29tcG9uZW50ID0gQ29tcG9uZW50LmdldE93bmVyQ29tcG9uZW50Rm9yKG9Db21wb25lbnQpIGFzIEFwcENvbXBvbmVudDtcblx0XHRjb25zdCBzRnVsbENvbnRleHRQYXRoID0gb0FwcENvbXBvbmVudC5nZXRSb3V0aW5nU2VydmljZSgpLmdldFRhcmdldEluZm9ybWF0aW9uRm9yKG9Db21wb25lbnQpLm9wdGlvbnMuc2V0dGluZ3MuZnVsbENvbnRleHRQYXRoO1xuXHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFNb2RlbCgpO1xuXHRcdGNvbnN0IG9NYW5pZmVzdENvbnRlbnQ6IE1hbmlmZXN0Q29udGVudCA9IG9BcHBDb21wb25lbnQuZ2V0TWFuaWZlc3QoKTtcblx0XHRjb25zdCBvRGV2aWNlTW9kZWwgPSBuZXcgSlNPTk1vZGVsKERldmljZSkuc2V0RGVmYXVsdEJpbmRpbmdNb2RlKFwiT25lV2F5XCIpO1xuXHRcdGNvbnN0IG9NYW5pZmVzdE1vZGVsID0gbmV3IEpTT05Nb2RlbChvTWFuaWZlc3RDb250ZW50KTtcblx0XHRjb25zdCBiRXJyb3IgPSBmYWxzZTtcblx0XHRsZXQgb1BhZ2VNb2RlbDogVGVtcGxhdGVNb2RlbCwgb1ZpZXdEYXRhTW9kZWw6IE1vZGVsLCBvVmlld1NldHRpbmdzOiBhbnksIG1WaWV3RGF0YTogVmlld0RhdGE7XG5cblx0XHQvLyBMb2FkIHRoZSBpbmRleCBmb3IgdGhlIGFkZGl0aW9uYWwgYnVpbGRpbmcgYmxvY2tzIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBpbml0aWFsaXppbmcgdGhlbVxuXHRcdGZ1bmN0aW9uIGdldFZpZXdTZXR0aW5ncygpIHtcblx0XHRcdGNvbnN0IGFTcGxpdFBhdGggPSBzRnVsbENvbnRleHRQYXRoLnNwbGl0KFwiL1wiKTtcblx0XHRcdGNvbnN0IHNFbnRpdHlTZXRQYXRoID0gYVNwbGl0UGF0aC5yZWR1Y2UoZnVuY3Rpb24gKHNQYXRoU29GYXI6IGFueSwgc05leHRQYXRoUGFydDogYW55KSB7XG5cdFx0XHRcdGlmIChzTmV4dFBhdGhQYXJ0ID09PSBcIlwiKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHNQYXRoU29GYXI7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHNQYXRoU29GYXIgPT09IFwiXCIpIHtcblx0XHRcdFx0XHRzUGF0aFNvRmFyID0gYC8ke3NOZXh0UGF0aFBhcnR9YDtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRjb25zdCBvVGFyZ2V0ID0gb01ldGFNb2RlbC5nZXRPYmplY3QoYCR7c1BhdGhTb0Zhcn0vJE5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmcvJHtzTmV4dFBhdGhQYXJ0fWApO1xuXHRcdFx0XHRcdGlmIChvVGFyZ2V0ICYmIE9iamVjdC5rZXlzKG9UYXJnZXQpLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdHNQYXRoU29GYXIgKz0gXCIvJE5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmdcIjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0c1BhdGhTb0ZhciArPSBgLyR7c05leHRQYXRoUGFydH1gO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBzUGF0aFNvRmFyO1xuXHRcdFx0fSwgXCJcIik7XG5cdFx0XHRsZXQgdmlld1R5cGUgPSBtU2VydmljZVNldHRpbmdzLnZpZXdUeXBlIHx8IG9Db21wb25lbnQuZ2V0Vmlld1R5cGUoKSB8fCBcIlhNTFwiO1xuXHRcdFx0aWYgKHZpZXdUeXBlICE9PSBcIlhNTFwiKSB7XG5cdFx0XHRcdHZpZXdUeXBlID0gdW5kZWZpbmVkO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0dHlwZTogdmlld1R5cGUsXG5cdFx0XHRcdHByZXByb2Nlc3NvcnM6IHtcblx0XHRcdFx0XHR4bWw6IHtcblx0XHRcdFx0XHRcdGJpbmRpbmdDb250ZXh0czoge1xuXHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ6IHNFbnRpdHlTZXRQYXRoID8gb01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChzRW50aXR5U2V0UGF0aCkgOiBudWxsLFxuXHRcdFx0XHRcdFx0XHRmdWxsQ29udGV4dFBhdGg6IHNGdWxsQ29udGV4dFBhdGggPyBvTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KHNGdWxsQ29udGV4dFBhdGgpIDogbnVsbCxcblx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg6IHNGdWxsQ29udGV4dFBhdGggPyBvTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KHNGdWxsQ29udGV4dFBhdGgpIDogbnVsbCxcblx0XHRcdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dDogb1BhZ2VNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9cIiwgdW5kZWZpbmVkLCB7IG5vUmVzb2x2ZTogdHJ1ZSB9KSxcblx0XHRcdFx0XHRcdFx0dmlld0RhdGE6IG1WaWV3RGF0YSA/IG9WaWV3RGF0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL1wiKSA6IG51bGxcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRtb2RlbHM6IHtcblx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0OiBvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdFx0XHRmdWxsQ29udGV4dFBhdGg6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRcdGNvbnRleHRQYXRoOiBvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdFx0XHRcInNhcC5mZS5pMThuXCI6IG9SZXNvdXJjZU1vZGVsLFxuXHRcdFx0XHRcdFx0XHRtZXRhTW9kZWw6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRcdGRldmljZTogb0RldmljZU1vZGVsLFxuXHRcdFx0XHRcdFx0XHRtYW5pZmVzdDogb01hbmlmZXN0TW9kZWwsXG5cdFx0XHRcdFx0XHRcdGNvbnZlcnRlckNvbnRleHQ6IG9QYWdlTW9kZWwsXG5cdFx0XHRcdFx0XHRcdHZpZXdEYXRhOiBvVmlld0RhdGFNb2RlbFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdGFwcENvbXBvbmVudDogb0FwcENvbXBvbmVudFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0aWQ6IHNTdGFibGVJZCxcblx0XHRcdFx0dmlld05hbWU6IG1TZXJ2aWNlU2V0dGluZ3Mudmlld05hbWUgfHwgb0NvbXBvbmVudC5nZXRWaWV3TmFtZSgpLFxuXHRcdFx0XHR2aWV3RGF0YTogbVZpZXdEYXRhLFxuXHRcdFx0XHRjYWNoZToge1xuXHRcdFx0XHRcdGtleXM6IFtzQ2FjaGVLZXldLFxuXHRcdFx0XHRcdGFkZGl0aW9uYWxEYXRhOiB7XG5cdFx0XHRcdFx0XHQvLyBXZSBzdG9yZSB0aGUgcGFnZSBtb2RlbCBkYXRhIGluIHRoZSBgYWRkaXRpb25hbERhdGFgIG9mIHRoZSB2aWV3IGNhY2hlLCB0aGlzIHdheSBpdCBpcyBhbHdheXMgaW4gc3luY1xuXHRcdFx0XHRcdFx0Z2V0QWRkaXRpb25hbENhY2hlRGF0YTogKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gKG9QYWdlTW9kZWwgYXMgdW5rbm93biBhcyBKU09OTW9kZWwpLmdldERhdGEoKTtcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRzZXRBZGRpdGlvbmFsQ2FjaGVEYXRhOiAodmFsdWU6IG9iamVjdCkgPT4ge1xuXHRcdFx0XHRcdFx0XHQob1BhZ2VNb2RlbCBhcyB1bmtub3duIGFzIEpTT05Nb2RlbCkuc2V0RGF0YSh2YWx1ZSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRtb2RlbHM6IHtcblx0XHRcdFx0XHRcInNhcC5mZS5pMThuXCI6IG9SZXNvdXJjZU1vZGVsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGhlaWdodDogXCIxMDAlXCJcblx0XHRcdH07XG5cdFx0fVxuXHRcdGNvbnN0IGNyZWF0ZUVycm9yUGFnZSA9IChyZWFzb246IGFueSkgPT4ge1xuXHRcdFx0Ly8ganVzdCByZXBsYWNlIHRoZSB2aWV3IG5hbWUgYW5kIGFkZCBhbiBhZGRpdGlvbmFsIG1vZGVsIGNvbnRhaW5pbmcgdGhlIHJlYXNvbiwgYnV0XG5cdFx0XHQvLyBrZWVwIHRoZSBvdGhlciBzZXR0aW5nc1xuXHRcdFx0TG9nLmVycm9yKHJlYXNvbi5tZXNzYWdlLCByZWFzb24pO1xuXHRcdFx0b1ZpZXdTZXR0aW5ncy52aWV3TmFtZSA9IG1TZXJ2aWNlU2V0dGluZ3MuZXJyb3JWaWV3TmFtZSB8fCBcInNhcC5mZS5jb3JlLnNlcnZpY2VzLnZpZXcuVGVtcGxhdGluZ0Vycm9yUGFnZVwiO1xuXHRcdFx0b1ZpZXdTZXR0aW5ncy5wcmVwcm9jZXNzb3JzLnhtbC5tb2RlbHNbXCJlcnJvclwiXSA9IG5ldyBKU09OTW9kZWwocmVhc29uKTtcblxuXHRcdFx0cmV0dXJuIG9Db21wb25lbnQucnVuQXNPd25lcigoKSA9PiB7XG5cdFx0XHRcdHJldHVybiBWaWV3LmNyZWF0ZShvVmlld1NldHRpbmdzKS50aGVuKChvVmlldzogYW55KSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5vVmlldyA9IG9WaWV3O1xuXHRcdFx0XHRcdHRoaXMub1ZpZXcuc2V0TW9kZWwobmV3IE1hbmFnZWRPYmplY3RNb2RlbCh0aGlzLm9WaWV3KSwgXCIkdmlld1wiKTtcblx0XHRcdFx0XHRvQ29tcG9uZW50LnNldEFnZ3JlZ2F0aW9uKFwicm9vdENvbnRyb2xcIiwgdGhpcy5vVmlldyk7XG5cdFx0XHRcdFx0cmV0dXJuIHNDYWNoZUtleTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9KTtcblx0XHR9O1xuXG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IG9Sb3V0aW5nU2VydmljZSA9IGF3YWl0IG9BcHBDb21wb25lbnQuZ2V0U2VydmljZShcInJvdXRpbmdTZXJ2aWNlXCIpO1xuXHRcdFx0Ly8gUmV0cmlldmUgdGhlIHZpZXdMZXZlbCBmb3IgdGhlIGNvbXBvbmVudFxuXHRcdFx0Y29uc3Qgb1RhcmdldEluZm8gPSBvUm91dGluZ1NlcnZpY2UuZ2V0VGFyZ2V0SW5mb3JtYXRpb25Gb3Iob0NvbXBvbmVudCk7XG5cdFx0XHRjb25zdCBtT3V0Ym91bmRzID1cblx0XHRcdFx0KG9NYW5pZmVzdENvbnRlbnRbXCJzYXAuYXBwXCJdICYmXG5cdFx0XHRcdFx0b01hbmlmZXN0Q29udGVudFtcInNhcC5hcHBcIl0uY3Jvc3NOYXZpZ2F0aW9uICYmXG5cdFx0XHRcdFx0b01hbmlmZXN0Q29udGVudFtcInNhcC5hcHBcIl0uY3Jvc3NOYXZpZ2F0aW9uLm91dGJvdW5kcykgfHxcblx0XHRcdFx0e307XG5cdFx0XHRjb25zdCBtTmF2aWdhdGlvbiA9IG9Db21wb25lbnQuZ2V0TmF2aWdhdGlvbigpIHx8IHt9O1xuXHRcdFx0T2JqZWN0LmtleXMobU5hdmlnYXRpb24pLmZvckVhY2goZnVuY3Rpb24gKG5hdmlnYXRpb25PYmplY3RLZXk6IHN0cmluZykge1xuXHRcdFx0XHRjb25zdCBuYXZpZ2F0aW9uT2JqZWN0ID0gbU5hdmlnYXRpb25bbmF2aWdhdGlvbk9iamVjdEtleV07XG5cdFx0XHRcdGxldCBvdXRib3VuZENvbmZpZztcblx0XHRcdFx0aWYgKG5hdmlnYXRpb25PYmplY3QuZGV0YWlsICYmIG5hdmlnYXRpb25PYmplY3QuZGV0YWlsLm91dGJvdW5kICYmIG1PdXRib3VuZHNbbmF2aWdhdGlvbk9iamVjdC5kZXRhaWwub3V0Ym91bmRdKSB7XG5cdFx0XHRcdFx0b3V0Ym91bmRDb25maWcgPSBtT3V0Ym91bmRzW25hdmlnYXRpb25PYmplY3QuZGV0YWlsLm91dGJvdW5kXTtcblx0XHRcdFx0XHRuYXZpZ2F0aW9uT2JqZWN0LmRldGFpbC5vdXRib3VuZERldGFpbCA9IHtcblx0XHRcdFx0XHRcdHNlbWFudGljT2JqZWN0OiBvdXRib3VuZENvbmZpZy5zZW1hbnRpY09iamVjdCxcblx0XHRcdFx0XHRcdGFjdGlvbjogb3V0Ym91bmRDb25maWcuYWN0aW9uLFxuXHRcdFx0XHRcdFx0cGFyYW1ldGVyczogb3V0Ym91bmRDb25maWcucGFyYW1ldGVyc1xuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKG5hdmlnYXRpb25PYmplY3QuY3JlYXRlICYmIG5hdmlnYXRpb25PYmplY3QuY3JlYXRlLm91dGJvdW5kICYmIG1PdXRib3VuZHNbbmF2aWdhdGlvbk9iamVjdC5jcmVhdGUub3V0Ym91bmRdKSB7XG5cdFx0XHRcdFx0b3V0Ym91bmRDb25maWcgPSBtT3V0Ym91bmRzW25hdmlnYXRpb25PYmplY3QuY3JlYXRlLm91dGJvdW5kXTtcblx0XHRcdFx0XHRuYXZpZ2F0aW9uT2JqZWN0LmNyZWF0ZS5vdXRib3VuZERldGFpbCA9IHtcblx0XHRcdFx0XHRcdHNlbWFudGljT2JqZWN0OiBvdXRib3VuZENvbmZpZy5zZW1hbnRpY09iamVjdCxcblx0XHRcdFx0XHRcdGFjdGlvbjogb3V0Ym91bmRDb25maWcuYWN0aW9uLFxuXHRcdFx0XHRcdFx0cGFyYW1ldGVyczogb3V0Ym91bmRDb25maWcucGFyYW1ldGVyc1xuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXG5cdFx0XHRtVmlld0RhdGEgPSB7XG5cdFx0XHRcdGFwcENvbXBvbmVudDogb0FwcENvbXBvbmVudCxcblx0XHRcdFx0bmF2aWdhdGlvbjogbU5hdmlnYXRpb24sXG5cdFx0XHRcdHZpZXdMZXZlbDogb1RhcmdldEluZm8udmlld0xldmVsLFxuXHRcdFx0XHRzdGFibGVJZDogc1N0YWJsZUlkLFxuXHRcdFx0XHRjb250ZW50RGVuc2l0aWVzOiBvTWFuaWZlc3RDb250ZW50W1wic2FwLnVpNVwiXT8uY29udGVudERlbnNpdGllcyxcblx0XHRcdFx0cmVzb3VyY2VNb2RlbDogb1Jlc291cmNlTW9kZWwsXG5cdFx0XHRcdGZ1bGxDb250ZXh0UGF0aDogc0Z1bGxDb250ZXh0UGF0aCxcblx0XHRcdFx0aXNEZXNrdG9wOiAoRGV2aWNlIGFzIGFueSkuc3lzdGVtLmRlc2t0b3AsXG5cdFx0XHRcdGlzUGhvbmU6IChEZXZpY2UgYXMgYW55KS5zeXN0ZW0ucGhvbmVcblx0XHRcdH07XG5cblx0XHRcdGlmIChvQ29tcG9uZW50LmdldFZpZXdEYXRhKSB7XG5cdFx0XHRcdE9iamVjdC5hc3NpZ24obVZpZXdEYXRhLCBvQ29tcG9uZW50LmdldFZpZXdEYXRhKCkpO1xuXG5cdFx0XHRcdGNvbnN0IGFjdHVhbFNldHRpbmdzID0gb01hbmlmZXN0Q29udGVudD8uW1wic2FwLnVpNVwiXT8ucm91dGluZz8udGFyZ2V0cz8uW3RoaXMucGFnZUlkXT8ub3B0aW9ucz8uc2V0dGluZ3MgfHwge307XG5cdFx0XHRcdG1WaWV3RGF0YSA9IGFwcGx5UGFnZUNvbmZpZ3VyYXRpb25DaGFuZ2VzKGFjdHVhbFNldHRpbmdzLCBtVmlld0RhdGEsIG9BcHBDb21wb25lbnQsIHRoaXMucGFnZUlkKTtcblx0XHRcdH1cblxuXHRcdFx0bVZpZXdEYXRhLmlzU2hhcmVCdXR0b25WaXNpYmxlRm9yTXlJbmJveCA9IFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeS5nZXRTaGFyZUJ1dHRvblZpc2liaWxpdHlGb3JNeUluYm94KG9BcHBDb21wb25lbnQpO1xuXHRcdFx0Y29uc3Qgb1NoZWxsU2VydmljZXMgPSBvQXBwQ29tcG9uZW50LmdldFNoZWxsU2VydmljZXMoKTtcblx0XHRcdG1WaWV3RGF0YS5jb252ZXJ0ZXJUeXBlID0gc0NvbnZlcnRlclR5cGU7XG5cdFx0XHRtVmlld0RhdGEuc2hlbGxDb250ZW50RGVuc2l0eSA9IG9TaGVsbFNlcnZpY2VzLmdldENvbnRlbnREZW5zaXR5KCk7XG5cdFx0XHRtVmlld0RhdGEucmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdCA9XG5cdFx0XHRcdG9NYW5pZmVzdENvbnRlbnRbXCJzYXAuZmVcIl0gJiYgb01hbmlmZXN0Q29udGVudFtcInNhcC5mZVwiXS5mb3JtXG5cdFx0XHRcdFx0PyBvTWFuaWZlc3RDb250ZW50W1wic2FwLmZlXCJdLmZvcm0ucmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdFxuXHRcdFx0XHRcdDogdW5kZWZpbmVkO1xuXHRcdFx0b1ZpZXdEYXRhTW9kZWwgPSBuZXcgSlNPTk1vZGVsKG1WaWV3RGF0YSk7XG5cdFx0XHRpZiAobVZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uKSB7XG5cdFx0XHRcdGZvciAoY29uc3Qgc0Fubm90YXRpb25QYXRoIGluIG1WaWV3RGF0YS5jb250cm9sQ29uZmlndXJhdGlvbikge1xuXHRcdFx0XHRcdGlmIChzQW5ub3RhdGlvblBhdGguaW5kZXhPZihcIltcIikgIT09IC0xKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBzVGFyZ2V0QW5ub3RhdGlvblBhdGggPSByZXNvbHZlRHluYW1pY0V4cHJlc3Npb24oc0Fubm90YXRpb25QYXRoLCBvTWV0YU1vZGVsKTtcblx0XHRcdFx0XHRcdG1WaWV3RGF0YS5jb250cm9sQ29uZmlndXJhdGlvbltzVGFyZ2V0QW5ub3RhdGlvblBhdGhdID0gbVZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uW3NBbm5vdGF0aW9uUGF0aF07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRNZXRhTW9kZWxDb252ZXJ0ZXIuY29udmVydFR5cGVzKG9NZXRhTW9kZWwsIG9BcHBDb21wb25lbnQuZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKS5nZXRDYXBhYmlsaXRpZXMoKSk7XG5cdFx0XHRvUGFnZU1vZGVsID0gbmV3IFRlbXBsYXRlTW9kZWwoKCkgPT4ge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdGNvbnN0IG9EaWFnbm9zdGljcyA9IG9BcHBDb21wb25lbnQuZ2V0RGlhZ25vc3RpY3MoKTtcblx0XHRcdFx0XHRjb25zdCBpSXNzdWVDb3VudCA9IG9EaWFnbm9zdGljcy5nZXRJc3N1ZXMoKS5sZW5ndGg7XG5cdFx0XHRcdFx0Y29uc3Qgb0NvbnZlcnRlclBhZ2VNb2RlbCA9IFRlbXBsYXRlQ29udmVydGVyLmNvbnZlcnRQYWdlKFxuXHRcdFx0XHRcdFx0c0NvbnZlcnRlclR5cGUsXG5cdFx0XHRcdFx0XHRvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdFx0bVZpZXdEYXRhLFxuXHRcdFx0XHRcdFx0b0RpYWdub3N0aWNzLFxuXHRcdFx0XHRcdFx0c0Z1bGxDb250ZXh0UGF0aCxcblx0XHRcdFx0XHRcdG9BcHBDb21wb25lbnQuZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKS5nZXRDYXBhYmlsaXRpZXMoKSxcblx0XHRcdFx0XHRcdG9Db21wb25lbnRcblx0XHRcdFx0XHQpO1xuXG5cdFx0XHRcdFx0Y29uc3QgYUlzc3VlcyA9IG9EaWFnbm9zdGljcy5nZXRJc3N1ZXMoKTtcblx0XHRcdFx0XHRjb25zdCBhQWRkZWRJc3N1ZXMgPSBhSXNzdWVzLnNsaWNlKGlJc3N1ZUNvdW50KTtcblx0XHRcdFx0XHRpZiAoYUFkZGVkSXNzdWVzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFx0XHRcIlNvbWUgaXNzdWVzIGhhdmUgYmVlbiBkZXRlY3RlZCBpbiB5b3VyIHByb2plY3QsIHBsZWFzZSBjaGVjayB0aGUgVUk1IHN1cHBvcnQgYXNzaXN0YW50IHJ1bGUgZm9yIHNhcC5mZS5jb3JlXCJcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiBvQ29udmVydGVyUGFnZU1vZGVsO1xuXHRcdFx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0XHRcdExvZy5lcnJvcihlcnJvciBhcyBhbnksIGVycm9yIGFzIGFueSk7XG5cdFx0XHRcdFx0cmV0dXJuIHt9O1xuXHRcdFx0XHR9XG5cdFx0XHR9LCBvTWV0YU1vZGVsKTtcblxuXHRcdFx0aWYgKCFiRXJyb3IpIHtcblx0XHRcdFx0b1ZpZXdTZXR0aW5ncyA9IGdldFZpZXdTZXR0aW5ncygpO1xuXHRcdFx0XHQvLyBTZXR0aW5nIHRoZSBwYWdlTW9kZWwgb24gdGhlIGNvbXBvbmVudCBmb3IgcG90ZW50aWFsIHJldXNlXG5cdFx0XHRcdG9Db21wb25lbnQuc2V0TW9kZWwob1BhZ2VNb2RlbCwgXCJfcGFnZU1vZGVsXCIpO1xuXHRcdFx0XHRyZXR1cm4gb0NvbXBvbmVudC5ydW5Bc093bmVyKCgpID0+IHtcblx0XHRcdFx0XHRyZXR1cm4gVmlldy5jcmVhdGUob1ZpZXdTZXR0aW5ncylcblx0XHRcdFx0XHRcdC5jYXRjaChjcmVhdGVFcnJvclBhZ2UpXG5cdFx0XHRcdFx0XHQudGhlbigob1ZpZXc6IGFueSkgPT4ge1xuXHRcdFx0XHRcdFx0XHR0aGlzLm9WaWV3ID0gb1ZpZXc7XG5cdFx0XHRcdFx0XHRcdHRoaXMub1ZpZXcuc2V0TW9kZWwobmV3IE1hbmFnZWRPYmplY3RNb2RlbCh0aGlzLm9WaWV3KSwgXCIkdmlld1wiKTtcblx0XHRcdFx0XHRcdFx0dGhpcy5vVmlldy5zZXRNb2RlbChvVmlld0RhdGFNb2RlbCwgXCJ2aWV3RGF0YVwiKTtcblx0XHRcdFx0XHRcdFx0b0NvbXBvbmVudC5zZXRBZ2dyZWdhdGlvbihcInJvb3RDb250cm9sXCIsIHRoaXMub1ZpZXcpO1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gc0NhY2hlS2V5O1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdC5jYXRjaCgoZSkgPT4gTG9nLmVycm9yKGUubWVzc2FnZSwgZSkpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChlcnJvcjogYW55KSB7XG5cdFx0XHRMb2cuZXJyb3IoZXJyb3IubWVzc2FnZSwgZXJyb3IpO1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBFcnJvciB3aGlsZSBjcmVhdGluZyB2aWV3IDogJHtlcnJvcn1gKTtcblx0XHR9XG5cdH1cblxuXHRnZXRWaWV3KCkge1xuXHRcdHJldHVybiB0aGlzLm9WaWV3O1xuXHR9XG5cblx0Z2V0SW50ZXJmYWNlKCk6IGFueSB7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRleGl0KCkge1xuXHRcdC8vIERlcmVnaXN0ZXIgZ2xvYmFsIGluc3RhbmNlXG5cdFx0aWYgKHRoaXMub1Jlc291cmNlTW9kZWxTZXJ2aWNlKSB7XG5cdFx0XHR0aGlzLm9SZXNvdXJjZU1vZGVsU2VydmljZS5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLm9DYWNoZUhhbmRsZXJTZXJ2aWNlKSB7XG5cdFx0XHR0aGlzLm9DYWNoZUhhbmRsZXJTZXJ2aWNlLmRlc3Ryb3koKTtcblx0XHR9XG5cdFx0dGhpcy5vRmFjdG9yeS5yZW1vdmVHbG9iYWxJbnN0YW5jZSgpO1xuXHR9XG59XG5cbmNsYXNzIFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeSBleHRlbmRzIFNlcnZpY2VGYWN0b3J5PFRlbXBsYXRlZFZpZXdTZXJ2aWNlU2V0dGluZ3M+IHtcblx0X29JbnN0YW5jZVJlZ2lzdHJ5OiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZWRWaWV3U2VydmljZT4gPSB7fTtcblxuXHRzdGF0aWMgaUNyZWF0aW5nVmlld3M6IDA7XG5cblx0Y3JlYXRlSW5zdGFuY2Uob1NlcnZpY2VDb250ZXh0OiBTZXJ2aWNlQ29udGV4dDxUZW1wbGF0ZWRWaWV3U2VydmljZVNldHRpbmdzPikge1xuXHRcdFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeS5pQ3JlYXRpbmdWaWV3cysrO1xuXG5cdFx0Y29uc3Qgb1RlbXBsYXRlZFZpZXdTZXJ2aWNlID0gbmV3IFRlbXBsYXRlZFZpZXdTZXJ2aWNlKE9iamVjdC5hc3NpZ24oeyBmYWN0b3J5OiB0aGlzIH0sIG9TZXJ2aWNlQ29udGV4dCkpO1xuXHRcdHJldHVybiBvVGVtcGxhdGVkVmlld1NlcnZpY2UuaW5pdFByb21pc2UudGhlbihmdW5jdGlvbiAoKSB7XG5cdFx0XHRUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkuaUNyZWF0aW5nVmlld3MtLTtcblx0XHRcdHJldHVybiBvVGVtcGxhdGVkVmlld1NlcnZpY2U7XG5cdFx0fSk7XG5cdH1cblxuXHRyZW1vdmVHbG9iYWxJbnN0YW5jZSgpIHtcblx0XHR0aGlzLl9vSW5zdGFuY2VSZWdpc3RyeSA9IHt9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiB0aGUgY29tcG9uZW50IGRhdGEgc3BlY2lmaWVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSAnU2hhcmUnIGJ1dHRvbiBhbmQgcmV0dXJucyB0cnVlIG9yIGZhbHNlIGJhc2VkIG9uIHRoZSB2aXNpYmlsaXR5XG5cdCAqIEBwYXJhbSBhcHBDb21wb25lbnQgU3BlY2lmaWVzIHRoZSBhcHAgY29tcG9uZW50XG5cdCAqIEByZXR1cm5zIEJvb2xlYW4gdmFsdWUgYXMgdHJ1ZSBvciBmYWxzZSBiYXNlZCB3aGV0aGVyIHRoZSAnU2hhcmUnIGJ1dHRvbiBzaG91bGQgYmUgdmlzaWJsZSBvciBub3Rcblx0ICovXG5cdHN0YXRpYyBnZXRTaGFyZUJ1dHRvblZpc2liaWxpdHlGb3JNeUluYm94KGFwcENvbXBvbmVudDogQXBwQ29tcG9uZW50KSB7XG5cdFx0Y29uc3QgY29tcG9uZW50RGF0YTogQ29tcG9uZW50RGF0YSA9IGFwcENvbXBvbmVudC5nZXRDb21wb25lbnREYXRhKCk7XG5cdFx0aWYgKGNvbXBvbmVudERhdGEgIT09IHVuZGVmaW5lZCAmJiBjb21wb25lbnREYXRhLmZlRW52aXJvbm1lbnQpIHtcblx0XHRcdHJldHVybiBjb21wb25lbnREYXRhLmZlRW52aXJvbm1lbnQuZ2V0U2hhcmVDb250cm9sVmlzaWJpbGl0eSgpO1xuXHRcdH1cblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG5cblx0c3RhdGljIGdldE51bWJlck9mVmlld3NJbkNyZWF0aW9uU3RhdGUoKSB7XG5cdFx0cmV0dXJuIFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeS5pQ3JlYXRpbmdWaWV3cztcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7OztNQTJDTUEsb0JBQW9CO0lBQUE7SUFBQTtNQUFBO0lBQUE7SUFBQTtJQUFBLE9BcUJ6QkMsSUFBSSxHQUFKLGdCQUFPO01BQ04sTUFBTUMsb0JBQW9CLEdBQUcsRUFBRTtNQUMvQixNQUFNQyxRQUFRLEdBQUcsSUFBSSxDQUFDQyxVQUFVLEVBQUU7TUFDbEMsTUFBTUMsVUFBVSxHQUFHRixRQUFRLENBQUNHLFdBQVc7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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/base/util/UriParameters","sap/fe/core/helpers/LoaderUtils","sap/fe/core/TemplateModel","sap/ui/core/Component","sap/ui/core/mvc/View","sap/ui/core/service/Service","sap/ui/core/service/ServiceFactory","sap/ui/core/service/ServiceFactoryRegistry","sap/ui/Device","sap/ui/model/base/ManagedObjectModel","sap/ui/model/json/JSONModel","sap/ui/VersionInfo","../helpers/DynamicAnnotationPathHelper"],function(e,t,n,o,i,r,s,a,c,l,u,p,g,d){"use strict";var f=d.resolveDynamicExpression;var h=n.requireDependencies;function v(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;m(e,t)}function m(e,t){m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,n){t.__proto__=n;return t};return m(e,t)}let w=function(n){v(s,n);function s(){return n.apply(this,arguments)||this}var a=s.prototype;a.init=function e(){const t=[];const n=this.getContext();const o=n.scopeObject;const r=i.getOwnerComponentFor(o);const s=r.getMetaModel();const a=`${r.getMetadata().getComponentName()}::${r.getLocalId(o.getId())}`;const l=o.getEnhanceI18n()||[];let u;this.oFactory=n.factory;if(l){u=r.getMetadata().getComponentName();for(let e=0;e<l.length;e++){const t=r.getModel(l[e]);if(t&&t.isA("sap.ui.model.resource.ResourceModel")){l[e]=t}else{l[e]=`${u}.${l[e].replace(".properties","")}`}}}const p=`${r.getMetadata().getName()}_${a}_${sap.ui.getCore().getConfiguration().getLanguageTag()}`;t.push(c.get("sap.fe.core.services.ResourceModelService").createInstance({scopeType:"component",scopeObject:o,settings:{bundles:["sap.fe.core.messagebundle","sap.fe.macros.messagebundle","sap.fe.templates.messagebundle"],enhanceI18n:l,modelName:"sap.fe.i18n"}}).then(e=>{this.oResourceModelService=e;return e.getResourceModel()}));t.push(c.get("sap.fe.core.services.CacheHandlerService").createInstance({settings:{metaModel:s,appComponent:r,component:o}}).then(e=>{this.oCacheHandlerService=e;return e.validateCacheKey(p,o)}));t.push(g.load().then(function(e){let t="";if(!e.libraries){t=sap.ui.buildinfo.buildtime}else{e.libraries.forEach(function(e){t+=e.buildTimestamp})}return t}).catch(function(){return"<NOVALUE>"}));this.initPromise=Promise.all(t).then(async e=>{const t=e[0];const n=e[1];const o=r.getSideEffectsService();o.initializeSideEffects(r.getEnvironmentCapabilities().getCapabilities());const[i,s]=await h(["sap/fe/core/converters/TemplateConverter","sap/fe/core/converters/MetaModelConverter"]);return this.createView(t,a,n,i,s)}).then(function(e){const t=c.get("sap.fe.core.services.CacheHandlerService").getInstance(s);t.invalidateIfNeeded(e,p,o)})};a.refreshView=function t(n){const o=n.getRootControl();if(o){o.destroy()}else if(this.oView){this.oView.destroy()}return this.createView(this.resourceModel,this.stableId,"",this.TemplateConverter,this.MetaModelConverter).then(function(){n.oContainer.invalidate()}).catch(function(t){n.oContainer.invalidate();e.error(t)})};a.createView=async function n(s,a,c,g,d){this.resourceModel=s;this.stableId=a;this.TemplateConverter=g;this.MetaModelConverter=d;const h=this.getContext();const v=h.settings;const m=v.converterType;const w=h.scopeObject;const C=i.getOwnerComponentFor(w);const b=C.getRoutingService().getTargetInformationFor(w).options.settings.fullContextPath;const y=C.getMetaModel();const M=C.getManifest();const V=new p(l).setDefaultBindingMode("OneWay");const O=new p(M);const x=false;let S,D,I,N;function j(){const e=b.split("/");const t=e.reduce(function(e,t){if(t===""){return e}if(e===""){e=`/${t}`}else{const n=y.getObject(`${e}/$NavigationPropertyBinding/${t}`);if(n&&Object.keys(n).length>0){e+="/$NavigationPropertyBinding"}e+=`/${t}`}return e},"");let n=v.viewType||w.getViewType()||"XML";if(n!=="XML"){n=undefined}return{type:n,preprocessors:{xml:{bindingContexts:{entitySet:t?y.createBindingContext(t):null,fullContextPath:b?y.createBindingContext(b):null,contextPath:b?y.createBindingContext(b):null,converterContext:S.createBindingContext("/",undefined,{noResolve:true}),viewData:N?D.createBindingContext("/"):null},models:{entitySet:y,fullContextPath:y,contextPath:y,"sap.fe.i18n":s,metaModel:y,device:V,manifest:O,converterContext:S,viewData:D},appComponent:C}},id:a,viewName:v.viewName||w.getViewName(),viewData:N,cache:{keys:[c],additionalData:{getAdditionalCacheData:()=>S.getData(),setAdditionalCacheData:e=>{S.setData(e)}}},models:{"sap.fe.i18n":s},height:"100%"}}const P=t=>{e.error(t.message,t);I.viewName=v.errorViewName||"sap.fe.core.services.view.TemplatingErrorPage";I.preprocessors.xml.models["error"]=new p(t);return w.runAsOwner(()=>r.create(I).then(e=>{this.oView=e;this.oView.setModel(new u(this.oView),"$view");w.setAggregation("rootControl",this.oView);return c}))};try{var T;const n=await C.getService("routingService");const i=n.getTargetInformationFor(w);const h=M["sap.app"]&&M["sap.app"].crossNavigation&&M["sap.app"].crossNavigation.outbounds||{};const v=w.getNavigation()||{};Object.keys(v).forEach(function(e){const t=v[e];let n;if(t.detail&&t.detail.outbound&&h[t.detail.outbound]){n=h[t.detail.outbound];t.detail.outboundDetail={semanticObject:n.semanticObject,action:n.action,parameters:n.parameters}}if(t.create&&t.create.outbound&&h[t.create.outbound]){n=h[t.create.outbound];t.create.outboundDetail={semanticObject:n.semanticObject,action:n.action,parameters:n.parameters}}});N={navigation:v,viewLevel:i.viewLevel,stableId:a,contentDensities:(T=M["sap.ui5"])===null||T===void 0?void 0:T.contentDensities,resourceBundle:s.__bundle,fullContextPath:b,isDesktop:l.system.desktop,isPhone:l.system.phone};if(w.getViewData){Object.assign(N,w.getViewData())}const V=C.getShellServices();N.converterType=m;N.shellContentDensity=V.getContentDensity();N.useNewLazyLoading=t.fromQuery(window.location.search).get("sap-fe-xx-lazyloadingtest")==="true";N.retrieveTextFromValueList=M["sap.fe"]&&M["sap.fe"].form?M["sap.fe"].form.retrieveTextFromValueList:undefined;D=new p(N);if(N.controlConfiguration){for(const e in N.controlConfiguration){if(e.indexOf("[")!==-1){const t=f(e,y);N.controlConfiguration[t]=N.controlConfiguration[e]}}}d.convertTypes(y,C.getEnvironmentCapabilities().getCapabilities());S=new o(()=>{try{const t=C.getDiagnostics();const n=t.getIssues().length;const o=g.convertPage(m,y,N,t,b,C.getEnvironmentCapabilities().getCapabilities(),w);const i=t.getIssues();const r=i.slice(n);if(r.length>0){e.warning("Some issues have been detected in your project, please check the UI5 support assistant rule for sap.fe.core")}return o}catch(t){e.error(t,t);return{}}},y);if(!x){I=j();w.setModel(S,"_pageModel");return w.runAsOwner(()=>r.create(I).catch(P).then(e=>{this.oView=e;this.oView.setModel(new u(this.oView),"$view");this.oView.setModel(D,"viewData");w.setAggregation("rootControl",this.oView);return c}).catch(t=>e.error(t.message,t)))}}catch(t){e.error(t.message,t);throw new Error(`Error while creating view : ${t}`)}};a.getView=function e(){return this.oView};a.getInterface=function e(){return this};a.exit=function e(){if(this.oResourceModelService){this.oResourceModelService.destroy()}if(this.oCacheHandlerService){this.oCacheHandlerService.destroy()}this.oFactory.removeGlobalInstance()};return s}(s);let C=function(e){v(t,e);function t(){var t;for(var n=arguments.length,o=new Array(n),i=0;i<n;i++){o[i]=arguments[i]}t=e.call(this,...o)||this;t._oInstanceRegistry={};return t}var n=t.prototype;n.createInstance=function e(n){t.iCreatingViews++;const o=new w(Object.assign({factory:this},n));return o.initPromise.then(function(){t.iCreatingViews--;return o})};n.removeGlobalInstance=function e(){this._oInstanceRegistry={}};t.getNumberOfViewsInCreationState=function e(){return t.iCreatingViews};return t}(a);return C},false);
5
+ sap.ui.define(["sap/base/Log","sap/fe/core/helpers/LoaderUtils","sap/fe/core/manifestMerger/ChangePageConfiguration","sap/fe/core/TemplateModel","sap/ui/core/Component","sap/ui/core/mvc/View","sap/ui/core/service/Service","sap/ui/core/service/ServiceFactory","sap/ui/core/service/ServiceFactoryRegistry","sap/ui/Device","sap/ui/model/base/ManagedObjectModel","sap/ui/model/json/JSONModel","sap/ui/VersionInfo","../helpers/DynamicAnnotationPathHelper"],function(e,t,n,o,i,r,s,a,c,l,u,p,g,d){"use strict";var f=d.resolveDynamicExpression;var h=n.applyPageConfigurationChanges;var v=t.requireDependencies;function m(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;C(e,t)}function C(e,t){C=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,n){t.__proto__=n;return t};return C(e,t)}let w=function(t){m(n,t);function n(){return t.apply(this,arguments)||this}var s=n.prototype;s.init=function e(){const t=[];const n=this.getContext();const o=n.scopeObject;const r=i.getOwnerComponentFor(o);const s=r.getMetaModel();this.pageId=r.getLocalId(o.getId());const a=`${r.getMetadata().getComponentName()}::${this.pageId}`;const l=o.getEnhanceI18n()||[];let u;this.oFactory=n.factory;if(l){u=r.getMetadata().getComponentName();for(let e=0;e<l.length;e++){const t=r.getModel(l[e]);if(t&&t.isA("sap.ui.model.resource.ResourceModel")){l[e]=t}else{l[e]=`${u}.${l[e].replace(".properties","")}`}}}const p=`${r.getMetadata().getName()}_${a}_${sap.ui.getCore().getConfiguration().getLanguageTag()}`;t.push(c.get("sap.fe.core.services.ResourceModelService").createInstance({scopeType:"component",scopeObject:o,settings:{bundles:["sap.fe.core.messagebundle","sap.fe.macros.messagebundle","sap.fe.templates.messagebundle"],enhanceI18n:l,modelName:"sap.fe.i18n"}}).then(e=>{this.oResourceModelService=e;return e.getResourceModel()}));t.push(c.get("sap.fe.core.services.CacheHandlerService").createInstance({settings:{metaModel:s,appComponent:r,component:o}}).then(e=>{this.oCacheHandlerService=e;return e.validateCacheKey(p,o)}));t.push(g.load().then(function(e){let t="";if(!e.libraries){t=sap.ui.buildinfo.buildtime}else{e.libraries.forEach(function(e){t+=e.buildTimestamp})}return t}).catch(function(){return"<NOVALUE>"}));this.initPromise=Promise.all(t).then(async e=>{const t=e[0];const n=e[1];const o=r.getSideEffectsService();o.initializeSideEffects(r.getEnvironmentCapabilities().getCapabilities());const[i,s]=await v(["sap/fe/core/converters/TemplateConverter","sap/fe/core/converters/MetaModelConverter"]);return this.createView(t,a,n,i,s)}).then(function(e){const t=c.get("sap.fe.core.services.CacheHandlerService").getInstance(s);t.invalidateIfNeeded(e,p,o)})};s.refreshView=function t(n){const o=n.getRootControl();if(o){o.destroy()}else if(this.oView){this.oView.destroy()}return this.createView(this.resourceModel,this.stableId,"",this.TemplateConverter,this.MetaModelConverter).then(function(){n.oContainer.invalidate()}).catch(function(t){n.oContainer.invalidate();e.error(t)})};s.createView=async function t(n,s,a,c,g){this.resourceModel=n;this.stableId=s;this.TemplateConverter=c;this.MetaModelConverter=g;const d=this.getContext();const v=d.settings;const m=v.converterType;const C=d.scopeObject;const w=i.getOwnerComponentFor(C);const y=w.getRoutingService().getTargetInformationFor(C).options.settings.fullContextPath;const M=w.getMetaModel();const V=w.getManifest();const I=new p(l).setDefaultBindingMode("OneWay");const S=new p(V);const O=false;let x,D,P,j;function N(){const e=y.split("/");const t=e.reduce(function(e,t){if(t===""){return e}if(e===""){e=`/${t}`}else{const n=M.getObject(`${e}/$NavigationPropertyBinding/${t}`);if(n&&Object.keys(n).length>0){e+="/$NavigationPropertyBinding"}e+=`/${t}`}return e},"");let o=v.viewType||C.getViewType()||"XML";if(o!=="XML"){o=undefined}return{type:o,preprocessors:{xml:{bindingContexts:{entitySet:t?M.createBindingContext(t):null,fullContextPath:y?M.createBindingContext(y):null,contextPath:y?M.createBindingContext(y):null,converterContext:x.createBindingContext("/",undefined,{noResolve:true}),viewData:j?D.createBindingContext("/"):null},models:{entitySet:M,fullContextPath:M,contextPath:M,"sap.fe.i18n":n,metaModel:M,device:I,manifest:S,converterContext:x,viewData:D},appComponent:w}},id:s,viewName:v.viewName||C.getViewName(),viewData:j,cache:{keys:[a],additionalData:{getAdditionalCacheData:()=>x.getData(),setAdditionalCacheData:e=>{x.setData(e)}}},models:{"sap.fe.i18n":n},height:"100%"}}const T=t=>{e.error(t.message,t);P.viewName=v.errorViewName||"sap.fe.core.services.view.TemplatingErrorPage";P.preprocessors.xml.models["error"]=new p(t);return C.runAsOwner(()=>r.create(P).then(e=>{this.oView=e;this.oView.setModel(new u(this.oView),"$view");C.setAggregation("rootControl",this.oView);return a}))};try{var $;const t=await w.getService("routingService");const i=t.getTargetInformationFor(C);const d=V["sap.app"]&&V["sap.app"].crossNavigation&&V["sap.app"].crossNavigation.outbounds||{};const v=C.getNavigation()||{};Object.keys(v).forEach(function(e){const t=v[e];let n;if(t.detail&&t.detail.outbound&&d[t.detail.outbound]){n=d[t.detail.outbound];t.detail.outboundDetail={semanticObject:n.semanticObject,action:n.action,parameters:n.parameters}}if(t.create&&t.create.outbound&&d[t.create.outbound]){n=d[t.create.outbound];t.create.outboundDetail={semanticObject:n.semanticObject,action:n.action,parameters:n.parameters}}});j={appComponent:w,navigation:v,viewLevel:i.viewLevel,stableId:s,contentDensities:($=V["sap.ui5"])===null||$===void 0?void 0:$.contentDensities,resourceModel:n,fullContextPath:y,isDesktop:l.system.desktop,isPhone:l.system.phone};if(C.getViewData){var E,F,R,B,L;Object.assign(j,C.getViewData());const e=(V===null||V===void 0?void 0:(E=V["sap.ui5"])===null||E===void 0?void 0:(F=E.routing)===null||F===void 0?void 0:(R=F.targets)===null||R===void 0?void 0:(B=R[this.pageId])===null||B===void 0?void 0:(L=B.options)===null||L===void 0?void 0:L.settings)||{};j=h(e,j,w,this.pageId)}j.isShareButtonVisibleForMyInbox=b.getShareButtonVisibilityForMyInbox(w);const I=w.getShellServices();j.converterType=m;j.shellContentDensity=I.getContentDensity();j.retrieveTextFromValueList=V["sap.fe"]&&V["sap.fe"].form?V["sap.fe"].form.retrieveTextFromValueList:undefined;D=new p(j);if(j.controlConfiguration){for(const e in j.controlConfiguration){if(e.indexOf("[")!==-1){const t=f(e,M);j.controlConfiguration[t]=j.controlConfiguration[e]}}}g.convertTypes(M,w.getEnvironmentCapabilities().getCapabilities());x=new o(()=>{try{const t=w.getDiagnostics();const n=t.getIssues().length;const o=c.convertPage(m,M,j,t,y,w.getEnvironmentCapabilities().getCapabilities(),C);const i=t.getIssues();const r=i.slice(n);if(r.length>0){e.warning("Some issues have been detected in your project, please check the UI5 support assistant rule for sap.fe.core")}return o}catch(t){e.error(t,t);return{}}},M);if(!O){P=N();C.setModel(x,"_pageModel");return C.runAsOwner(()=>r.create(P).catch(T).then(e=>{this.oView=e;this.oView.setModel(new u(this.oView),"$view");this.oView.setModel(D,"viewData");C.setAggregation("rootControl",this.oView);return a}).catch(t=>e.error(t.message,t)))}}catch(t){e.error(t.message,t);throw new Error(`Error while creating view : ${t}`)}};s.getView=function e(){return this.oView};s.getInterface=function e(){return this};s.exit=function e(){if(this.oResourceModelService){this.oResourceModelService.destroy()}if(this.oCacheHandlerService){this.oCacheHandlerService.destroy()}this.oFactory.removeGlobalInstance()};return n}(s);let b=function(e){m(t,e);function t(){var t;for(var n=arguments.length,o=new Array(n),i=0;i<n;i++){o[i]=arguments[i]}t=e.call(this,...o)||this;t._oInstanceRegistry={};return t}var n=t.prototype;n.createInstance=function e(n){t.iCreatingViews++;const o=new w(Object.assign({factory:this},n));return o.initPromise.then(function(){t.iCreatingViews--;return o})};n.removeGlobalInstance=function e(){this._oInstanceRegistry={}};t.getShareButtonVisibilityForMyInbox=function e(t){const n=t.getComponentData();if(n!==undefined&&n.feEnvironment){return n.feEnvironment.getShareControlVisibility()}return undefined};t.getNumberOfViewsInCreationState=function e(){return t.iCreatingViews};return t}(a);return b},false);
6
6
  //# sourceMappingURL=TemplatedViewServiceFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemplatedViewServiceFactory.js","names":["sap","ui","define","Log","UriParameters","LoaderUtils","TemplateModel","Component","View","Service","ServiceFactory","ServiceFactoryRegistry","Device","ManagedObjectModel","JSONModel","VersionInfo","DynamicAnnotationPathHelper","resolveDynamicExpression","requireDependencies","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","TemplatedViewService","_Service","apply","this","arguments","_proto","init","aServiceDependencies","oContext","getContext","oComponent","scopeObject","oAppComponent","getOwnerComponentFor","oMetaModel","getMetaModel","sStableId","getMetadata","getComponentName","getLocalId","getId","aEnhanceI18n","getEnhanceI18n","sAppNamespace","oFactory","factory","i","length","oResourceModel","getModel","isA","replace","sCacheIdentifier","getName","getCore","getConfiguration","getLanguageTag","push","get","createInstance","scopeType","settings","bundles","enhanceI18n","modelName","then","oResourceModelService","getResourceModel","metaModel","appComponent","component","oCacheHandlerService","validateCacheKey","load","oInfo","sTimestamp","libraries","buildinfo","buildtime","forEach","oLibrary","buildTimestamp","catch","initPromise","Promise","all","async","aDependenciesResult","sCacheKey","oSideEffectsServices","getSideEffectsService","initializeSideEffects","getEnvironmentCapabilities","getCapabilities","TemplateConverter","MetaModelConverter","createView","getInstance","invalidateIfNeeded","refreshView","oRootView","getRootControl","destroy","oView","resourceModel","stableId","oContainer","invalidate","oError","error","mServiceSettings","sConverterType","converterType","sFullContextPath","getRoutingService","getTargetInformationFor","options","fullContextPath","oManifestContent","getManifest","oDeviceModel","setDefaultBindingMode","oManifestModel","bError","oPageModel","oViewDataModel","oViewSettings","mViewData","getViewSettings","aSplitPath","split","sEntitySetPath","reduce","sPathSoFar","sNextPathPart","oTarget","getObject","keys","viewType","getViewType","undefined","type","preprocessors","xml","bindingContexts","entitySet","createBindingContext","contextPath","converterContext","noResolve","viewData","models","device","manifest","id","viewName","getViewName","cache","additionalData","getAdditionalCacheData","getData","setAdditionalCacheData","value","setData","height","createErrorPage","reason","message","errorViewName","runAsOwner","setModel","setAggregation","_oManifestContent$sap","oRoutingService","getService","oTargetInfo","mOutbounds","crossNavigation","outbounds","mNavigation","getNavigation","navigationObjectKey","navigationObject","outboundConfig","detail","outbound","outboundDetail","semanticObject","action","parameters","navigation","viewLevel","contentDensities","resourceBundle","__bundle","isDesktop","system","desktop","isPhone","phone","getViewData","assign","oShellServices","getShellServices","shellContentDensity","getContentDensity","useNewLazyLoading","fromQuery","window","location","search","retrieveTextFromValueList","form","controlConfiguration","sAnnotationPath","indexOf","sTargetAnnotationPath","convertTypes","oDiagnostics","getDiagnostics","iIssueCount","getIssues","oConverterPageModel","convertPage","aIssues","aAddedIssues","slice","warning","e","Error","getView","getInterface","exit","removeGlobalInstance","TemplatedViewServiceFactory","_ServiceFactory","_this","_len","args","Array","_key","call","_oInstanceRegistry","_proto2","oServiceContext","iCreatingViews","oTemplatedViewService","getNumberOfViewsInCreationState"],"sources":["TemplatedViewServiceFactory-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,eAAgB,8BAA+B,kCAAmC,4BAA6B,wBAAyB,uBAAwB,8BAA+B,qCAAsC,6CAA8C,gBAAiB,uCAAwC,8BAA+B,qBAAsB,0CAA2C,SAAUC,EAAKC,EAAeC,EAAaC,EAAeC,EAAWC,EAAMC,EAASC,EAAgBC,EAAwBC,EAAQC,EAAoBC,EAAWC,EAAaC,GACzmB,aAEA,IAAIC,EAA2BD,EAA4BC,yBAC3D,IAAIC,EAAsBb,EAAYa,oBACtC,SAASC,EAAeC,EAAUC,GAAcD,EAASE,UAAYC,OAAOC,OAAOH,EAAWC,WAAYF,EAASE,UAAUG,YAAcL,EAAUM,EAAgBN,EAAUC,EAAa,CAC5L,SAASK,EAAgBC,EAAGC,GAAKF,EAAkBH,OAAOM,eAAiBN,OAAOM,eAAeC,OAAS,SAASJ,EAAgBC,EAAGC,GAAKD,EAAEI,UAAYH,EAAG,OAAOD,CAAG,EAAG,OAAOD,EAAgBC,EAAGC,EAAI,CACvM,IAAII,EAAoC,SAAUC,GAChDd,EAAea,EAAsBC,GACrC,SAASD,IACP,OAAOC,EAASC,MAAMC,KAAMC,YAAcD,IAC5C,CACA,IAAIE,EAASL,EAAqBV,UAClCe,EAAOC,KAAO,SAASA,IACrB,MAAMC,EAAuB,GAC7B,MAAMC,EAAWL,KAAKM,aACtB,MAAMC,EAAaF,EAASG,YAC5B,MAAMC,EAAgBrC,EAAUsC,qBAAqBH,GACrD,MAAMI,EAAaF,EAAcG,eACjC,MAAMC,EAAY,GAAGJ,EAAcK,cAAcC,uBAAuBN,EAAcO,WAAWT,EAAWU,WAC5G,MAAMC,EAAeX,EAAWY,kBAAoB,GACpD,IAAIC,EACJpB,KAAKqB,SAAWhB,EAASiB,QACzB,GAAIJ,EAAc,CAChBE,EAAgBX,EAAcK,cAAcC,mBAC5C,IAAK,IAAIQ,EAAI,EAAGA,EAAIL,EAAaM,OAAQD,IAAK,CAK5C,MAAME,EAAiBhB,EAAciB,SAASR,EAAaK,IAC3D,GAAIE,GAAkBA,EAAeE,IAAI,uCAAwC,CAC/ET,EAAaK,GAAKE,CACpB,KAAO,CACLP,EAAaK,GAAK,GAAGH,KAAiBF,EAAaK,GAAGK,QAAQ,cAAe,KAC/E,CACF,CACF,CACA,MAAMC,EAAmB,GAAGpB,EAAcK,cAAcgB,aAAajB,KAAahD,IAAIC,GAAGiE,UAAUC,mBAAmBC,mBACtH7B,EAAqB8B,KAAK1D,EAAuB2D,IAAI,6CAA6CC,eAAe,CAC/GC,UAAW,YACX7B,YAAaD,EACb+B,SAAU,CACRC,QAAS,CAAC,4BAA6B,8BAA+B,kCACtEC,YAAatB,EACbuB,UAAW,iBAEZC,KAAKC,IACN3C,KAAK2C,sBAAwBA,EAC7B,OAAOA,EAAsBC,kBAAkB,IAEjDxC,EAAqB8B,KAAK1D,EAAuB2D,IAAI,4CAA4CC,eAAe,CAC9GE,SAAU,CACRO,UAAWlC,EACXmC,aAAcrC,EACdsC,UAAWxC,KAEZmC,KAAKM,IACNhD,KAAKgD,qBAAuBA,EAC5B,OAAOA,EAAqBC,iBAAiBpB,EAAkBtB,EAAW,IAE5EH,EAAqB8B,KAAKtD,EAAYsE,OAAOR,KAAK,SAAUS,GAC1D,IAAIC,EAAa,GACjB,IAAKD,EAAME,UAAW,CACpBD,EAAavF,IAAIC,GAAGwF,UAAUC,SAChC,KAAO,CACLJ,EAAME,UAAUG,QAAQ,SAAUC,GAChCL,GAAcK,EAASC,cACzB,EACF,CACA,OAAON,CACT,GAAGO,MAAM,WACP,MAAO,WACT,IACA3D,KAAK4D,YAAcC,QAAQC,IAAI1D,GAAsBsC,KAAKqB,UACxD,MAAMtC,EAAiBuC,EAAoB,GAC3C,MAAMC,EAAYD,EAAoB,GACtC,MAAME,EAAuBzD,EAAc0D,wBAC3CD,EAAqBE,sBAAsB3D,EAAc4D,6BAA6BC,mBACtF,MAAOC,EAAmBC,SAA4BzF,EAAoB,CAAC,2CAA4C,8CACvH,OAAOiB,KAAKyE,WAAWhD,EAAgBZ,EAAWoD,EAAWM,EAAmBC,EAAmB,GAClG9B,KAAK,SAAUuB,GAChB,MAAMjB,EAAuBxE,EAAuB2D,IAAI,4CAA4CuC,YAAY/D,GAChHqC,EAAqB2B,mBAAmBV,EAAWpC,EAAkBtB,EACvE,EACF,EASAL,EAAO0E,YAAc,SAASA,EAAYrE,GACxC,MAAMsE,EAAYtE,EAAWuE,iBAC7B,GAAID,EAAW,CACbA,EAAUE,SACZ,MAAO,GAAI/E,KAAKgF,MAAO,CACrBhF,KAAKgF,MAAMD,SACb,CACA,OAAO/E,KAAKyE,WAAWzE,KAAKiF,cAAejF,KAAKkF,SAAU,GAAIlF,KAAKuE,kBAAmBvE,KAAKwE,oBAAoB9B,KAAK,WAClHnC,EAAW4E,WAAWC,YACxB,GAAGzB,MAAM,SAAU0B,GACjB9E,EAAW4E,WAAWC,aACtBpH,EAAIsH,MAAMD,EACZ,EACF,EACAnF,EAAOuE,WAAaV,eAAeU,EAAWhD,EAAgBZ,EAAWoD,EAAWM,EAAmBC,GACrGxE,KAAKiF,cAAgBxD,EACrBzB,KAAKkF,SAAWrE,EAChBb,KAAKuE,kBAAoBA,EACzBvE,KAAKwE,mBAAqBA,EAC1B,MAAMnE,EAAWL,KAAKM,aACtB,MAAMiF,EAAmBlF,EAASiC,SAClC,MAAMkD,EAAiBD,EAAiBE,cACxC,MAAMlF,EAAaF,EAASG,YAC5B,MAAMC,EAAgBrC,EAAUsC,qBAAqBH,GACrD,MAAMmF,EAAmBjF,EAAckF,oBAAoBC,wBAAwBrF,GAAYsF,QAAQvD,SAASwD,gBAChH,MAAMnF,EAAaF,EAAcG,eACjC,MAAMmF,EAAmBtF,EAAcuF,cACvC,MAAMC,EAAe,IAAItH,EAAUF,GAAQyH,sBAAsB,UACjE,MAAMC,EAAiB,IAAIxH,EAAUoH,GACrC,MAAMK,EAAS,MACf,IAAIC,EAAYC,EAAgBC,EAAeC,EAE/C,SAASC,IACP,MAAMC,EAAahB,EAAiBiB,MAAM,KAC1C,MAAMC,EAAiBF,EAAWG,OAAO,SAAUC,EAAYC,GAC7D,GAAIA,IAAkB,GAAI,CACxB,OAAOD,CACT,CACA,GAAIA,IAAe,GAAI,CACrBA,EAAa,IAAIC,GACnB,KAAO,CACL,MAAMC,EAAUrG,EAAWsG,UAAU,GAAGH,gCAAyCC,KACjF,GAAIC,GAAW5H,OAAO8H,KAAKF,GAASxF,OAAS,EAAG,CAC9CsF,GAAc,6BAChB,CACAA,GAAc,IAAIC,GACpB,CACA,OAAOD,CACT,EAAG,IACH,IAAIK,EAAW5B,EAAiB4B,UAAY5G,EAAW6G,eAAiB,MACxE,GAAID,IAAa,MAAO,CACtBA,EAAWE,SACb,CACA,MAAO,CACLC,KAAMH,EACNI,cAAe,CACbC,IAAK,CACHC,gBAAiB,CACfC,UAAWd,EAAiBjG,EAAWgH,qBAAqBf,GAAkB,KAC9Ed,gBAAiBJ,EAAmB/E,EAAWgH,qBAAqBjC,GAAoB,KACxFkC,YAAalC,EAAmB/E,EAAWgH,qBAAqBjC,GAAoB,KACpFmC,iBAAkBxB,EAAWsB,qBAAqB,IAAKN,UAAW,CAChES,UAAW,OAEbC,SAAUvB,EAAYF,EAAeqB,qBAAqB,KAAO,MAEnEK,OAAQ,CACNN,UAAW/G,EACXmF,gBAAiBnF,EACjBiH,YAAajH,EACb,cAAec,EACfoB,UAAWlC,EACXsH,OAAQhC,EACRiC,SAAU/B,EACV0B,iBAAkBxB,EAClB0B,SAAUzB,GAEZxD,aAAcrC,IAGlB0H,GAAItH,EACJuH,SAAU7C,EAAiB6C,UAAY7H,EAAW8H,cAClDN,SAAUvB,EACV8B,MAAO,CACLpB,KAAM,CAACjD,GACPsE,eAAgB,CAEdC,uBAAwB,IACfnC,EAAWoC,UAEpBC,uBAAwBC,IACtBtC,EAAWuC,QAAQD,EAAM,IAI/BX,OAAQ,CACN,cAAevG,GAEjBoH,OAAQ,OAEZ,CACA,MAAMC,EAAkBC,IAGtB/K,EAAIsH,MAAMyD,EAAOC,QAASD,GAC1BxC,EAAc6B,SAAW7C,EAAiB0D,eAAiB,gDAC3D1C,EAAcgB,cAAcC,IAAIQ,OAAO,SAAW,IAAIrJ,EAAUoK,GAChE,OAAOxI,EAAW2I,WAAW,IACpB7K,EAAKgB,OAAOkH,GAAe7D,KAAKsC,IACrChF,KAAKgF,MAAQA,EACbhF,KAAKgF,MAAMmE,SAAS,IAAIzK,EAAmBsB,KAAKgF,OAAQ,SACxDzE,EAAW6I,eAAe,cAAepJ,KAAKgF,OAC9C,OAAOf,CAAS,GAElB,EAEJ,IACE,IAAIoF,EACJ,MAAMC,QAAwB7I,EAAc8I,WAAW,kBAEvD,MAAMC,EAAcF,EAAgB1D,wBAAwBrF,GAC5D,MAAMkJ,EAAa1D,EAAiB,YAAcA,EAAiB,WAAW2D,iBAAmB3D,EAAiB,WAAW2D,gBAAgBC,WAAa,CAAC,EAC3J,MAAMC,EAAcrJ,EAAWsJ,iBAAmB,CAAC,EACnDzK,OAAO8H,KAAK0C,GAAapG,QAAQ,SAAUsG,GACzC,MAAMC,EAAmBH,EAAYE,GACrC,IAAIE,EACJ,GAAID,EAAiBE,QAAUF,EAAiBE,OAAOC,UAAYT,EAAWM,EAAiBE,OAAOC,UAAW,CAC/GF,EAAiBP,EAAWM,EAAiBE,OAAOC,UACpDH,EAAiBE,OAAOE,eAAiB,CACvCC,eAAgBJ,EAAeI,eAC/BC,OAAQL,EAAeK,OACvBC,WAAYN,EAAeM,WAE/B,CACA,GAAIP,EAAiB1K,QAAU0K,EAAiB1K,OAAO6K,UAAYT,EAAWM,EAAiB1K,OAAO6K,UAAW,CAC/GF,EAAiBP,EAAWM,EAAiB1K,OAAO6K,UACpDH,EAAiB1K,OAAO8K,eAAiB,CACvCC,eAAgBJ,EAAeI,eAC/BC,OAAQL,EAAeK,OACvBC,WAAYN,EAAeM,WAE/B,CACF,GACA9D,EAAY,CACV+D,WAAYX,EACZY,UAAWhB,EAAYgB,UACvBtF,SAAUrE,EACV4J,kBAAmBpB,EAAwBtD,EAAiB,cAAgB,MAAQsD,SAA+B,OAAS,EAAIA,EAAsBoB,iBACtJC,eAAgBjJ,EAAekJ,SAC/B7E,gBAAiBJ,EACjBkF,UAAWnM,EAAOoM,OAAOC,QACzBC,QAAStM,EAAOoM,OAAOG,OAEzB,GAAIzK,EAAW0K,YAAa,CAC1B7L,OAAO8L,OAAO1E,EAAWjG,EAAW0K,cACtC,CACA,MAAME,EAAiB1K,EAAc2K,mBACrC5E,EAAUf,cAAgBD,EAC1BgB,EAAU6E,oBAAsBF,EAAeG,oBAC/C9E,EAAU+E,kBAAoBtN,EAAcuN,UAAUC,OAAOC,SAASC,QAAQxJ,IAAI,+BAAiC,OACnHqE,EAAUoF,0BAA4B7F,EAAiB,WAAaA,EAAiB,UAAU8F,KAAO9F,EAAiB,UAAU8F,KAAKD,0BAA4BvE,UAClKf,EAAiB,IAAI3H,EAAU6H,GAC/B,GAAIA,EAAUsF,qBAAsB,CAClC,IAAK,MAAMC,KAAmBvF,EAAUsF,qBAAsB,CAC5D,GAAIC,EAAgBC,QAAQ,QAAU,EAAG,CACvC,MAAMC,EAAwBnN,EAAyBiN,EAAiBpL,GACxE6F,EAAUsF,qBAAqBG,GAAyBzF,EAAUsF,qBAAqBC,EACzF,CACF,CACF,CACAvH,EAAmB0H,aAAavL,EAAYF,EAAc4D,6BAA6BC,mBACvF+B,EAAa,IAAIlI,EAAc,KAC7B,IACE,MAAMgO,EAAe1L,EAAc2L,iBACnC,MAAMC,EAAcF,EAAaG,YAAY9K,OAC7C,MAAM+K,EAAsBhI,EAAkBiI,YAAYhH,EAAgB7E,EAAY6F,EAAW2F,EAAczG,EAAkBjF,EAAc4D,6BAA6BC,kBAAmB/D,GAC/L,MAAMkM,EAAUN,EAAaG,YAC7B,MAAMI,EAAeD,EAAQE,MAAMN,GACnC,GAAIK,EAAalL,OAAS,EAAG,CAC3BxD,EAAI4O,QAAQ,8GACd,CACA,OAAOL,CAIT,CAHE,MAAOjH,GACPtH,EAAIsH,MAAMA,EAAOA,GACjB,MAAO,CAAC,CACV,GACC3E,GACH,IAAKyF,EAAQ,CACXG,EAAgBE,IAEhBlG,EAAW4I,SAAS9C,EAAY,cAChC,OAAO9F,EAAW2I,WAAW,IACpB7K,EAAKgB,OAAOkH,GAAe5C,MAAMmF,GAAiBpG,KAAKsC,IAC5DhF,KAAKgF,MAAQA,EACbhF,KAAKgF,MAAMmE,SAAS,IAAIzK,EAAmBsB,KAAKgF,OAAQ,SACxDhF,KAAKgF,MAAMmE,SAAS7C,EAAgB,YACpC/F,EAAW6I,eAAe,cAAepJ,KAAKgF,OAC9C,OAAOf,CAAS,GACfN,MAAMkJ,GAAK7O,EAAIsH,MAAMuH,EAAE7D,QAAS6D,IAEvC,CAIF,CAHE,MAAOvH,GACPtH,EAAIsH,MAAMA,EAAM0D,QAAS1D,GACzB,MAAM,IAAIwH,MAAM,+BAA+BxH,IACjD,CACF,EACApF,EAAO6M,QAAU,SAASA,IACxB,OAAO/M,KAAKgF,KACd,EACA9E,EAAO8M,aAAe,SAASA,IAC7B,OAAOhN,IACT,EACAE,EAAO+M,KAAO,SAASA,IAErB,GAAIjN,KAAK2C,sBAAuB,CAC9B3C,KAAK2C,sBAAsBoC,SAC7B,CACA,GAAI/E,KAAKgD,qBAAsB,CAC7BhD,KAAKgD,qBAAqB+B,SAC5B,CACA/E,KAAKqB,SAAS6L,sBAChB,EACA,OAAOrN,CACT,CAtTwC,CAsTtCvB,GACF,IAAI6O,EAA2C,SAAUC,GACvDpO,EAAemO,EAA6BC,GAC5C,SAASD,IACP,IAAIE,EACJ,IAAK,IAAIC,EAAOrN,UAAUuB,OAAQ+L,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAAQ,CACvFF,EAAKE,GAAQxN,UAAUwN,EACzB,CACAJ,EAAQD,EAAgBM,KAAK1N,QAASuN,IAASvN,KAC/CqN,EAAMM,mBAAqB,CAAC,EAC5B,OAAON,CACT,CACA,IAAIO,EAAUT,EAA4BhO,UAC1CyO,EAAQxL,eAAiB,SAASA,EAAeyL,GAC/CV,EAA4BW,iBAC5B,MAAMC,EAAwB,IAAIlO,EAAqBT,OAAO8L,OAAO,CACnE5J,QAAStB,MACR6N,IACH,OAAOE,EAAsBnK,YAAYlB,KAAK,WAC5CyK,EAA4BW,iBAC5B,OAAOC,CACT,EACF,EACAH,EAAQV,qBAAuB,SAASA,IACtClN,KAAK2N,mBAAqB,CAAC,CAC7B,EACAR,EAA4Ba,gCAAkC,SAASA,IACrE,OAAOb,EAA4BW,cACrC,EACA,OAAOX,CACT,CA7B+C,CA6B7C5O,GACF,OAAO4O,CACT,EAAG"}
1
+ {"version":3,"file":"TemplatedViewServiceFactory.js","names":["sap","ui","define","Log","LoaderUtils","ChangePageConfiguration","TemplateModel","Component","View","Service","ServiceFactory","ServiceFactoryRegistry","Device","ManagedObjectModel","JSONModel","VersionInfo","DynamicAnnotationPathHelper","resolveDynamicExpression","applyPageConfigurationChanges","requireDependencies","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","TemplatedViewService","_Service","apply","this","arguments","_proto","init","aServiceDependencies","oContext","getContext","oComponent","scopeObject","oAppComponent","getOwnerComponentFor","oMetaModel","getMetaModel","pageId","getLocalId","getId","sStableId","getMetadata","getComponentName","aEnhanceI18n","getEnhanceI18n","sAppNamespace","oFactory","factory","i","length","oResourceModel","getModel","isA","replace","sCacheIdentifier","getName","getCore","getConfiguration","getLanguageTag","push","get","createInstance","scopeType","settings","bundles","enhanceI18n","modelName","then","oResourceModelService","getResourceModel","metaModel","appComponent","component","oCacheHandlerService","validateCacheKey","load","oInfo","sTimestamp","libraries","buildinfo","buildtime","forEach","oLibrary","buildTimestamp","catch","initPromise","Promise","all","async","aDependenciesResult","sCacheKey","oSideEffectsServices","getSideEffectsService","initializeSideEffects","getEnvironmentCapabilities","getCapabilities","TemplateConverter","MetaModelConverter","createView","getInstance","invalidateIfNeeded","refreshView","oRootView","getRootControl","destroy","oView","resourceModel","stableId","oContainer","invalidate","oError","error","mServiceSettings","sConverterType","converterType","sFullContextPath","getRoutingService","getTargetInformationFor","options","fullContextPath","oManifestContent","getManifest","oDeviceModel","setDefaultBindingMode","oManifestModel","bError","oPageModel","oViewDataModel","oViewSettings","mViewData","getViewSettings","aSplitPath","split","sEntitySetPath","reduce","sPathSoFar","sNextPathPart","oTarget","getObject","keys","viewType","getViewType","undefined","type","preprocessors","xml","bindingContexts","entitySet","createBindingContext","contextPath","converterContext","noResolve","viewData","models","device","manifest","id","viewName","getViewName","cache","additionalData","getAdditionalCacheData","getData","setAdditionalCacheData","value","setData","height","createErrorPage","reason","message","errorViewName","runAsOwner","setModel","setAggregation","_oManifestContent$sap","oRoutingService","getService","oTargetInfo","mOutbounds","crossNavigation","outbounds","mNavigation","getNavigation","navigationObjectKey","navigationObject","outboundConfig","detail","outbound","outboundDetail","semanticObject","action","parameters","navigation","viewLevel","contentDensities","isDesktop","system","desktop","isPhone","phone","getViewData","_oManifestContent$sap2","_oManifestContent$sap3","_oManifestContent$sap4","_oManifestContent$sap5","_oManifestContent$sap6","assign","actualSettings","routing","targets","isShareButtonVisibleForMyInbox","TemplatedViewServiceFactory","getShareButtonVisibilityForMyInbox","oShellServices","getShellServices","shellContentDensity","getContentDensity","retrieveTextFromValueList","form","controlConfiguration","sAnnotationPath","indexOf","sTargetAnnotationPath","convertTypes","oDiagnostics","getDiagnostics","iIssueCount","getIssues","oConverterPageModel","convertPage","aIssues","aAddedIssues","slice","warning","e","Error","getView","getInterface","exit","removeGlobalInstance","_ServiceFactory","_this","_len","args","Array","_key","call","_oInstanceRegistry","_proto2","oServiceContext","iCreatingViews","oTemplatedViewService","componentData","getComponentData","feEnvironment","getShareControlVisibility","getNumberOfViewsInCreationState"],"sources":["TemplatedViewServiceFactory-dbg.js"],"mappings":"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"}