@sapui5/sap.fe.macros 1.139.0 → 1.141.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 (254) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/macros/.library +1 -1
  3. package/src/sap/fe/macros/Chart.js +53 -2
  4. package/src/sap/fe/macros/Chart.tsx +55 -0
  5. package/src/sap/fe/macros/CollaborativeDraftHandler.js +230 -0
  6. package/src/sap/fe/macros/CollaborativeDraftHandler.tsx +218 -0
  7. package/src/sap/fe/macros/CommonHelper.js +59 -15
  8. package/src/sap/fe/macros/CommonHelper.ts +65 -14
  9. package/src/sap/fe/macros/ConditionalSwitch.js +174 -0
  10. package/src/sap/fe/macros/ConditionalSwitch.tsx +141 -0
  11. package/src/sap/fe/macros/ConditionalSwitchProperty.js +78 -0
  12. package/src/sap/fe/macros/ConditionalSwitchProperty.tsx +62 -0
  13. package/src/sap/fe/macros/Field.js +78 -64
  14. package/src/sap/fe/macros/Field.ts +97 -68
  15. package/src/sap/fe/macros/FooterContent.js +5 -2
  16. package/src/sap/fe/macros/FooterContent.tsx +4 -1
  17. package/src/sap/fe/macros/MacroAPI.js +9 -4
  18. package/src/sap/fe/macros/MacroAPI.ts +9 -4
  19. package/src/sap/fe/macros/MessageButton.js +1 -2
  20. package/src/sap/fe/macros/MessageButton.tsx +0 -1
  21. package/src/sap/fe/macros/MultiValueField.js +10 -7
  22. package/src/sap/fe/macros/MultiValueField.tsx +7 -3
  23. package/src/sap/fe/macros/Page.js +5 -7
  24. package/src/sap/fe/macros/Page.tsx +4 -6
  25. package/src/sap/fe/macros/Paginator.js +9 -4
  26. package/src/sap/fe/macros/Paginator.tsx +12 -3
  27. package/src/sap/fe/macros/RichTextEditor.js +3 -2
  28. package/src/sap/fe/macros/RichTextEditor.tsx +2 -1
  29. package/src/sap/fe/macros/Share.js +14 -2
  30. package/src/sap/fe/macros/Share.tsx +13 -0
  31. package/src/sap/fe/macros/Status.js +251 -0
  32. package/src/sap/fe/macros/Status.tsx +212 -0
  33. package/src/sap/fe/macros/ValueHelp.js +4 -28
  34. package/src/sap/fe/macros/ValueHelp.tsx +2 -42
  35. package/src/sap/fe/macros/ai/EasyFillDialog.js +11 -17
  36. package/src/sap/fe/macros/ai/EasyFillDialog.tsx +11 -16
  37. package/src/sap/fe/macros/ai/EasyFilterBar.js +246 -97
  38. package/src/sap/fe/macros/ai/EasyFilterBar.tsx +302 -106
  39. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.js +76 -33
  40. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.ts +89 -40
  41. package/src/sap/fe/macros/ai/SummarizationButton.js +2 -2
  42. package/src/sap/fe/macros/ai/SummarizationButton.tsx +1 -1
  43. package/src/sap/fe/macros/chart/Chart.js +2 -2
  44. package/src/sap/fe/macros/chart/Chart.tsx +1 -1
  45. package/src/sap/fe/macros/chart/ChartHelper.js +1 -2
  46. package/src/sap/fe/macros/chart/ChartHelper.ts +0 -1
  47. package/src/sap/fe/macros/chart/ChartRuntime.js +1 -2
  48. package/src/sap/fe/macros/chart/ChartRuntime.ts +0 -1
  49. package/src/sap/fe/macros/chart/MdcChartTemplate.js +5 -5
  50. package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +5 -5
  51. package/src/sap/fe/macros/contentSwitcher/ContentSwitcher.js +9 -2
  52. package/src/sap/fe/macros/contentSwitcher/ContentSwitcher.tsx +8 -0
  53. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.js +5 -1
  54. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.ts +4 -0
  55. package/src/sap/fe/macros/controls/BuildingBlockWithTemplating.js +4 -2
  56. package/src/sap/fe/macros/controls/BuildingBlockWithTemplating.ts +3 -1
  57. package/src/sap/fe/macros/controls/FilterBar.js +14 -5
  58. package/src/sap/fe/macros/controls/FilterBar.ts +3 -0
  59. package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.js +2 -2
  60. package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.tsx +2 -2
  61. package/src/sap/fe/macros/controls/RadioButtons.js +61 -38
  62. package/src/sap/fe/macros/controls/RadioButtons.tsx +39 -18
  63. package/src/sap/fe/macros/controls/Section.js +4 -3
  64. package/src/sap/fe/macros/controls/Section.ts +3 -2
  65. package/src/sap/fe/macros/controls/section/SubSection.js +63 -8
  66. package/src/sap/fe/macros/controls/section/SubSection.ts +67 -1
  67. package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +43 -4
  68. package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +48 -1
  69. package/src/sap/fe/macros/designtime/Designtime.helper.js +28 -1
  70. package/src/sap/fe/macros/designtime/Designtime.helper.ts +27 -0
  71. package/src/sap/fe/macros/field/Field.js +2 -2
  72. package/src/sap/fe/macros/field/Field.tsx +1 -1
  73. package/src/sap/fe/macros/field/FieldBaseDelegate.js +13 -7
  74. package/src/sap/fe/macros/field/FieldBaseDelegate.ts +12 -8
  75. package/src/sap/fe/macros/field/FieldFormatOptions.js +25 -2
  76. package/src/sap/fe/macros/field/FieldFormatOptions.ts +13 -0
  77. package/src/sap/fe/macros/field/FieldHelper.js +2 -2
  78. package/src/sap/fe/macros/field/FieldHelper.ts +1 -4
  79. package/src/sap/fe/macros/field/FieldRuntime.js +1 -2
  80. package/src/sap/fe/macros/field/FieldRuntime.ts +0 -1
  81. package/src/sap/fe/macros/field/FieldTemplating.js +3 -3
  82. package/src/sap/fe/macros/field/FieldTemplating.ts +4 -2
  83. package/src/sap/fe/macros/filter/FilterUtils.js +233 -5
  84. package/src/sap/fe/macros/filter/FilterUtils.ts +291 -7
  85. package/src/sap/fe/macros/filterBar/FilterBar.block.js +5 -3
  86. package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +4 -2
  87. package/src/sap/fe/macros/filterBar/FilterBar.js +2 -2
  88. package/src/sap/fe/macros/filterBar/FilterBar.tsx +1 -1
  89. package/src/sap/fe/macros/filterBar/FilterBarAPI.js +63 -27
  90. package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +49 -3
  91. package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +5 -3
  92. package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +5 -2
  93. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +7 -2
  94. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +6 -1
  95. package/src/sap/fe/macros/form/Form.block.js +7 -8
  96. package/src/sap/fe/macros/form/Form.block.ts +4 -6
  97. package/src/sap/fe/macros/form/Form.js +1 -4
  98. package/src/sap/fe/macros/form/Form.tsx +0 -3
  99. package/src/sap/fe/macros/form/FormContainer.block.js +555 -5
  100. package/src/sap/fe/macros/form/FormContainer.block.ts +665 -7
  101. package/src/sap/fe/macros/form/FormContainer.fragment.xml +1 -0
  102. package/src/sap/fe/macros/form/FormDelegate.js +24 -8
  103. package/src/sap/fe/macros/form/FormDelegate.ts +29 -7
  104. package/src/sap/fe/macros/form/FormHelper.js +1 -2
  105. package/src/sap/fe/macros/form/FormHelper.ts +0 -1
  106. package/src/sap/fe/macros/fpm/CustomFragment.block.js +1 -2
  107. package/src/sap/fe/macros/fpm/CustomFragment.block.ts +0 -1
  108. package/src/sap/fe/macros/internal/ActionCommand.block.js +1 -2
  109. package/src/sap/fe/macros/internal/ActionCommand.block.ts +0 -1
  110. package/src/sap/fe/macros/internal/DataPoint.js +3 -2
  111. package/src/sap/fe/macros/internal/DataPoint.tsx +10 -1
  112. package/src/sap/fe/macros/internal/FilterField.block.js +19 -5
  113. package/src/sap/fe/macros/internal/FilterField.block.ts +16 -4
  114. package/src/sap/fe/macros/internal/field/DisplayStyle.js +9 -3
  115. package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +10 -2
  116. package/src/sap/fe/macros/internal/field/EditStyle.js +21 -4
  117. package/src/sap/fe/macros/internal/field/EditStyle.tsx +18 -4
  118. package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +3 -2
  119. package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +5 -1
  120. package/src/sap/fe/macros/internal/filterField/FilterFieldTemplate.fragment.xml +1 -0
  121. package/src/sap/fe/macros/internal/helpers/ActionHelper.js +36 -5
  122. package/src/sap/fe/macros/internal/helpers/ActionHelper.ts +34 -4
  123. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.js +46 -8
  124. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.ts +60 -6
  125. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +38 -2
  126. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.ts +37 -2
  127. package/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +1 -1
  128. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +10 -3
  129. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +13 -2
  130. package/src/sap/fe/macros/library.js +1 -1
  131. package/src/sap/fe/macros/mdc/adapter/StateFilterToSelectionVariant.js +2 -1
  132. package/src/sap/fe/macros/mdc/adapter/StateFilterToSelectionVariant.ts +1 -0
  133. package/src/sap/fe/macros/messagebundle.properties +24 -4
  134. package/src/sap/fe/macros/messagebundle_ar.properties +8 -2
  135. package/src/sap/fe/macros/messagebundle_bg.properties +8 -2
  136. package/src/sap/fe/macros/messagebundle_ca.properties +11 -5
  137. package/src/sap/fe/macros/messagebundle_cnr.properties +8 -2
  138. package/src/sap/fe/macros/messagebundle_cs.properties +7 -1
  139. package/src/sap/fe/macros/messagebundle_cy.properties +9 -3
  140. package/src/sap/fe/macros/messagebundle_da.properties +8 -2
  141. package/src/sap/fe/macros/messagebundle_de.properties +13 -7
  142. package/src/sap/fe/macros/messagebundle_el.properties +7 -1
  143. package/src/sap/fe/macros/messagebundle_en.properties +11 -5
  144. package/src/sap/fe/macros/messagebundle_en_GB.properties +9 -3
  145. package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +11 -5
  146. package/src/sap/fe/macros/messagebundle_es.properties +10 -4
  147. package/src/sap/fe/macros/messagebundle_es_MX.properties +11 -5
  148. package/src/sap/fe/macros/messagebundle_et.properties +9 -3
  149. package/src/sap/fe/macros/messagebundle_fi.properties +7 -1
  150. package/src/sap/fe/macros/messagebundle_fr.properties +9 -3
  151. package/src/sap/fe/macros/messagebundle_fr_CA.properties +8 -2
  152. package/src/sap/fe/macros/messagebundle_hi.properties +8 -2
  153. package/src/sap/fe/macros/messagebundle_hr.properties +8 -2
  154. package/src/sap/fe/macros/messagebundle_hu.properties +7 -1
  155. package/src/sap/fe/macros/messagebundle_id.properties +15 -9
  156. package/src/sap/fe/macros/messagebundle_it.properties +7 -1
  157. package/src/sap/fe/macros/messagebundle_iw.properties +8 -2
  158. package/src/sap/fe/macros/messagebundle_ja.properties +13 -7
  159. package/src/sap/fe/macros/messagebundle_kk.properties +11 -5
  160. package/src/sap/fe/macros/messagebundle_ko.properties +8 -2
  161. package/src/sap/fe/macros/messagebundle_lt.properties +9 -3
  162. package/src/sap/fe/macros/messagebundle_lv.properties +8 -2
  163. package/src/sap/fe/macros/messagebundle_mk.properties +8 -2
  164. package/src/sap/fe/macros/messagebundle_ms.properties +7 -1
  165. package/src/sap/fe/macros/messagebundle_nl.properties +7 -1
  166. package/src/sap/fe/macros/messagebundle_no.properties +7 -1
  167. package/src/sap/fe/macros/messagebundle_pl.properties +8 -2
  168. package/src/sap/fe/macros/messagebundle_pt.properties +7 -1
  169. package/src/sap/fe/macros/messagebundle_pt_PT.properties +7 -1
  170. package/src/sap/fe/macros/messagebundle_ro.properties +8 -2
  171. package/src/sap/fe/macros/messagebundle_ru.properties +10 -4
  172. package/src/sap/fe/macros/messagebundle_sh.properties +8 -2
  173. package/src/sap/fe/macros/messagebundle_sk.properties +7 -1
  174. package/src/sap/fe/macros/messagebundle_sl.properties +7 -1
  175. package/src/sap/fe/macros/messagebundle_sr.properties +8 -2
  176. package/src/sap/fe/macros/messagebundle_sv.properties +7 -1
  177. package/src/sap/fe/macros/messagebundle_th.properties +8 -2
  178. package/src/sap/fe/macros/messagebundle_tr.properties +7 -1
  179. package/src/sap/fe/macros/messagebundle_uk.properties +10 -4
  180. package/src/sap/fe/macros/messagebundle_vi.properties +10 -4
  181. package/src/sap/fe/macros/messagebundle_zh_CN.properties +7 -1
  182. package/src/sap/fe/macros/messagebundle_zh_TW.properties +8 -2
  183. package/src/sap/fe/macros/messages/MessageButton.js +39 -18
  184. package/src/sap/fe/macros/messages/MessageButton.ts +42 -19
  185. package/src/sap/fe/macros/messages/MessagePopover.js +4 -2
  186. package/src/sap/fe/macros/messages/MessagePopover.ts +6 -4
  187. package/src/sap/fe/macros/microchart/MicroChart.js +2 -2
  188. package/src/sap/fe/macros/microchart/MicroChart.tsx +1 -1
  189. package/src/sap/fe/macros/microchart/MicroChartContainer.js +1 -2
  190. package/src/sap/fe/macros/microchart/MicroChartContainer.ts +1 -2
  191. package/src/sap/fe/macros/microchart/MicroChartHelper.js +2 -3
  192. package/src/sap/fe/macros/microchart/MicroChartHelper.tsx +1 -2
  193. package/src/sap/fe/macros/share/ShareAPI.js +4 -29
  194. package/src/sap/fe/macros/share/ShareAPI.ts +1 -32
  195. package/src/sap/fe/macros/situations/SituationsPopover.js +3 -1
  196. package/src/sap/fe/macros/situations/SituationsPopover.ts +2 -0
  197. package/src/sap/fe/macros/table/ActionsTemplating.js +4 -8
  198. package/src/sap/fe/macros/table/ActionsTemplating.tsx +5 -8
  199. package/src/sap/fe/macros/table/BasicSearch.js +1 -1
  200. package/src/sap/fe/macros/table/BasicSearch.ts +2 -1
  201. package/src/sap/fe/macros/table/Column.js +14 -2
  202. package/src/sap/fe/macros/table/Column.ts +7 -0
  203. package/src/sap/fe/macros/table/ColumnExportSettings.js +83 -15
  204. package/src/sap/fe/macros/table/ColumnExportSettings.ts +44 -0
  205. package/src/sap/fe/macros/table/ColumnOverride.js +14 -2
  206. package/src/sap/fe/macros/table/ColumnOverride.ts +7 -0
  207. package/src/sap/fe/macros/table/MdcTableTemplate.js +7 -5
  208. package/src/sap/fe/macros/table/MdcTableTemplate.tsx +21 -11
  209. package/src/sap/fe/macros/table/QuickFilterSelector.js +12 -3
  210. package/src/sap/fe/macros/table/QuickFilterSelector.tsx +15 -2
  211. package/src/sap/fe/macros/table/Table.block.js +188 -147
  212. package/src/sap/fe/macros/table/Table.block.tsx +41 -11
  213. package/src/sap/fe/macros/table/Table.js +16 -10
  214. package/src/sap/fe/macros/table/Table.tsx +16 -10
  215. package/src/sap/fe/macros/table/TableAPI.js +224 -184
  216. package/src/sap/fe/macros/table/TableAPI.ts +63 -19
  217. package/src/sap/fe/macros/table/TableEventHandlerProvider.js +6 -6
  218. package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +5 -4
  219. package/src/sap/fe/macros/table/TableHelper.js +2 -3
  220. package/src/sap/fe/macros/table/TableHelper.ts +1 -2
  221. package/src/sap/fe/macros/table/TableRuntime.js +24 -5
  222. package/src/sap/fe/macros/table/TableRuntime.ts +31 -3
  223. package/src/sap/fe/macros/table/TreeTable.js +16 -10
  224. package/src/sap/fe/macros/table/TreeTable.tsx +16 -10
  225. package/src/sap/fe/macros/table/Utils.js +8 -3
  226. package/src/sap/fe/macros/table/Utils.ts +12 -3
  227. package/src/sap/fe/macros/table/delegates/ALPTableDelegate.js +1 -2
  228. package/src/sap/fe/macros/table/delegates/ALPTableDelegate.ts +0 -1
  229. package/src/sap/fe/macros/table/delegates/TableDelegate.js +69 -34
  230. package/src/sap/fe/macros/table/delegates/TableDelegate.ts +75 -33
  231. package/src/sap/fe/macros/table/delegates/TreeTableDelegate.js +1 -2
  232. package/src/sap/fe/macros/table/delegates/TreeTableDelegate.ts +0 -1
  233. package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +10 -10
  234. package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +11 -9
  235. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +14 -12
  236. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +11 -10
  237. package/src/sap/fe/macros/table/mixin/ContextMenuHandler.js +34 -4
  238. package/src/sap/fe/macros/table/mixin/ContextMenuHandler.ts +45 -2
  239. package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.js +55 -12
  240. package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +71 -9
  241. package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.js +53 -2
  242. package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.ts +55 -0
  243. package/src/sap/fe/macros/table/mixin/TableExport.js +22 -3
  244. package/src/sap/fe/macros/table/mixin/TableExport.ts +25 -4
  245. package/src/sap/fe/macros/table/mixin/TableHierarchy.js +5 -1
  246. package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +7 -0
  247. package/src/sap/fe/macros/table/mixin/TableSharing.js +4 -2
  248. package/src/sap/fe/macros/table/mixin/TableSharing.ts +10 -1
  249. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +36 -10
  250. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +44 -9
  251. package/src/sap/fe/macros/visualfilters/VisualFilter.js +5 -4
  252. package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +3 -2
  253. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +2 -3
  254. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +1 -2
@@ -45,7 +45,13 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConve
45
45
  const path = `/${valueList.valueListInfo.CollectionPath}`;
46
46
  const $select = generateSelectParameter(valueList);
47
47
  let $search = CommonUtils.normalizeSearchTerm(valueToMatch instanceof Date ? valueToMatch.toISOString() : valueToMatch.toString());
48
- const keyPropertyFilter = getKeyPropertyFilter(valueList, keyProperty, operator, valueToMatch);
48
+
49
+ // Handle negation operators (NE, NotContains, NotStartsWith, NotEndsWith)
50
+ // Strategy: Query for positive case, then apply negation client-side
51
+ const isNegation = isNegationOperator(operator);
52
+ // "cleaned" operator for possible negation operators
53
+ const cleanedOperator = isNegation ? getPositiveOperator(operator) : operator;
54
+ const keyPropertyFilter = getKeyPropertyFilter(valueList, keyProperty, cleanedOperator, valueToMatch);
49
55
 
50
56
  // Check if the query exceeds the maximum length of the key property
51
57
  const characterLimitOverflow = !$search || $search.length > (keyProperty.maxLength ?? $search.length);
@@ -67,7 +73,7 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConve
67
73
  // There is at least one match in the key column:
68
74
  // - If the operator is EQ: This indicates an exact key match, so the returned data will be used.
69
75
  // - For other operators: One or more keys match the value based on the operator, so the original condition is preserved.
70
- return operator === FilterOperator.EQ ? {
76
+ return cleanedOperator === FilterOperator.EQ ? {
71
77
  operator,
72
78
  selectedValues: valueHelpKeyQuery.value.map(mapResult)
73
79
  } : {
@@ -82,7 +88,7 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConve
82
88
  // The key query did not return any matches, but the search query found results. Use the search results instead.
83
89
 
84
90
  let results = valueHelpSearchQuery.value.map(mapResult);
85
- if (operator === FilterOperator.EQ) {
91
+ if (cleanedOperator === FilterOperator.EQ) {
86
92
  const filteredResults = results.filter(result => result.description.toString().toLowerCase() === valueToMatch.toString().toLowerCase());
87
93
  // If the search query is found once/multiple times in the result + operator is EQ, we need to return only those results
88
94
  if (filteredResults.length > 0) {
@@ -96,6 +102,7 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConve
96
102
  }
97
103
 
98
104
  // No matches were found in either query; the original value will be used as a fallback.
105
+
99
106
  return {
100
107
  operator,
101
108
  selectedValues: [{
@@ -135,32 +142,6 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConve
135
142
  function generateSelectParameter(valueList) {
136
143
  return [valueList.keyPath, valueList.descriptionPath].filter(path => path && !path.includes("/")).join(",");
137
144
  }
138
- _exports.generateSelectParameter = generateSelectParameter;
139
- function handleIntervals(operator, resolvedValues) {
140
- const [resolvedLowerBound, resolvedUpperBound] = resolvedValues;
141
- const result = [];
142
- for (const {
143
- value: lowerBound,
144
- description: lowerBoundText
145
- } of resolvedLowerBound.selectedValues) {
146
- for (const {
147
- value: upperBound,
148
- description: upperBoundText
149
- } of resolvedUpperBound.selectedValues) {
150
- result.push({
151
- operator,
152
- selectedValues: [{
153
- value: lowerBound,
154
- description: lowerBoundText ?? lowerBound
155
- }, {
156
- value: upperBound,
157
- description: upperBoundText ?? upperBound
158
- }]
159
- });
160
- }
161
- }
162
- return result;
163
- }
164
145
 
165
146
  /**
166
147
  * Resolves token-based filter values using a value list.
@@ -169,6 +150,7 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConve
169
150
  * @param looseMatch Whether to perform a loose match on the values.
170
151
  * @returns A promise that resolves to an array of resolved filter values.
171
152
  */
153
+ _exports.generateSelectParameter = generateSelectParameter;
172
154
  async function resolveTokenValue(valueList, value) {
173
155
  let looseMatch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
174
156
  const {
@@ -186,9 +168,31 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConve
186
168
  // something went wrong - the key property is not a property of the value list entity
187
169
  return unresolvedResult([value]);
188
170
  }
189
- const resolvedOperator = operator === FilterOperator.BT || operator === FilterOperator.NB ? FilterOperator.EQ : operator; // BT/NB: Use EQ for resolving the lower/upper bounds
190
- const resolvedValues = await Promise.all(selectedValues.map(async selectedValue => resolveValueUsingValueList(valueList, keyProperty, resolvedOperator, selectedValue, looseMatch)));
191
- return operator === FilterOperator.BT || operator === FilterOperator.NB ? handleIntervals(operator, resolvedValues) : resolvedValues.flat();
171
+
172
+ // For comparison operators (GreaterThan, LessThan, Between, etc.), skip backend calls
173
+ // and return user input directly to EasyFilter
174
+ if (isComparisonOperator(operator)) {
175
+ if (operator === FilterOperator.BT || operator === FilterOperator.NB) {
176
+ // Handle Between/Not Between operators - they expect exactly 2 values
177
+ const [lowerBound, upperBound] = selectedValues;
178
+ return [{
179
+ operator,
180
+ selectedValues: [{
181
+ value: lowerBound,
182
+ description: lowerBound
183
+ }, {
184
+ value: upperBound,
185
+ description: upperBound
186
+ }]
187
+ }];
188
+ } else {
189
+ // Handle other comparison operators (GT, GE, LT, LE)
190
+ return unresolvedResult([value]);
191
+ }
192
+ } else {
193
+ const resolvedValues = await Promise.all(selectedValues.map(async selectedValue => resolveValueUsingValueList(valueList, keyProperty, operator, selectedValue, looseMatch)));
194
+ return resolvedValues.flat();
195
+ }
192
196
  }
193
197
 
194
198
  /**
@@ -212,7 +216,46 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConve
212
216
  };
213
217
  });
214
218
  }
219
+
220
+ /**
221
+ * Checks if the operator is a negation operator (NE, NotContains, NotStartsWith, NotEndsWith).
222
+ * @param operator The filter operator to check.
223
+ * @returns True if the operator is a negation operator.
224
+ */
215
225
  _exports.unresolvedResult = unresolvedResult;
226
+ function isNegationOperator(operator) {
227
+ return [FilterOperator.NE, FilterOperator.NotContains, FilterOperator.NotStartsWith, FilterOperator.NotEndsWith].includes(operator);
228
+ }
229
+
230
+ /**
231
+ * Checks if the operator is a comparison operator (GT, GE, LT, LE, BT, NB).
232
+ * @param operator The filter operator to check.
233
+ * @returns True if the operator is a comparison operator.
234
+ */
235
+ function isComparisonOperator(operator) {
236
+ return [FilterOperator.GT, FilterOperator.GE, FilterOperator.LT, FilterOperator.LE, FilterOperator.BT, FilterOperator.NB].includes(operator);
237
+ }
238
+
239
+ /**
240
+ * Converts a negation operator to its positive equivalent (NE -> EQ, NotContains -> Contains, etc.).
241
+ * @param negationOperator The negation operator to convert.
242
+ * @returns The corresponding positive operator.
243
+ */
244
+ function getPositiveOperator(negationOperator) {
245
+ switch (negationOperator) {
246
+ case FilterOperator.NE:
247
+ return FilterOperator.EQ;
248
+ case FilterOperator.NotContains:
249
+ return FilterOperator.Contains;
250
+ case FilterOperator.NotStartsWith:
251
+ return FilterOperator.StartsWith;
252
+ case FilterOperator.NotEndsWith:
253
+ return FilterOperator.EndsWith;
254
+ default:
255
+ return FilterOperator.EQ;
256
+ }
257
+ }
258
+ _exports.getPositiveOperator = getPositiveOperator;
216
259
  return _exports;
217
260
  }, false);
218
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRLZXlQcm9wZXJ0eUZpbHRlciIsInZhbHVlTGlzdCIsImtleVByb3BlcnR5Iiwib3BlcmF0b3IiLCJ2YWx1ZVRvTWF0Y2giLCJmaWx0ZXJWYWx1ZSIsImFubm90YXRpb25zIiwiQ29tbW9uIiwiSXNVcHBlckNhc2UiLCJ2YWx1ZU9mIiwidG9VcHBlckNhc2UiLCJGaWx0ZXIiLCJwYXRoIiwia2V5UGF0aCIsInZhbHVlMSIsInJlc29sdmVWYWx1ZVVzaW5nVmFsdWVMaXN0IiwibG9vc2VNYXRjaCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm1vZGVsIiwidmFsdWVMaXN0SW5mbyIsIiRtb2RlbCIsIkNvbGxlY3Rpb25QYXRoIiwiJHNlbGVjdCIsImdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyIiwiJHNlYXJjaCIsIkNvbW1vblV0aWxzIiwibm9ybWFsaXplU2VhcmNoVGVybSIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInRvU3RyaW5nIiwia2V5UHJvcGVydHlGaWx0ZXIiLCJjaGFyYWN0ZXJMaW1pdE92ZXJmbG93IiwibWF4TGVuZ3RoIiwidmFsdWVIZWxwS2V5UXVlcnkiLCJ2YWx1ZUhlbHBTZWFyY2hRdWVyeSIsIlByb21pc2UiLCJhbGxTZXR0bGVkIiwiYmluZExpc3QiLCJyZXF1ZXN0Q29udGV4dHMiLCJtYXBSZXN1bHQiLCJtYXBWYWx1ZUxpc3RUb0NvZGVMaXN0Iiwic3RhdHVzIiwidmFsdWUiLCJGaWx0ZXJPcGVyYXRvciIsIkVRIiwic2VsZWN0ZWRWYWx1ZXMiLCJtYXAiLCJkZXNjcmlwdGlvbiIsInJlc3VsdHMiLCJmaWx0ZXJlZFJlc3VsdHMiLCJmaWx0ZXIiLCJyZXN1bHQiLCJ0b0xvd2VyQ2FzZSIsIm5vTWF0Y2giLCJlbnN1cmVEZXNjcmlwdGlvbiIsImNvbnRleHQiLCJkYXRhIiwiZ2V0T2JqZWN0IiwiZGVzY3JpcHRpb25QYXRoIiwiX2V4cG9ydHMiLCJpbmNsdWRlcyIsImpvaW4iLCJoYW5kbGVJbnRlcnZhbHMiLCJyZXNvbHZlZFZhbHVlcyIsInJlc29sdmVkTG93ZXJCb3VuZCIsInJlc29sdmVkVXBwZXJCb3VuZCIsImxvd2VyQm91bmQiLCJsb3dlckJvdW5kVGV4dCIsInVwcGVyQm91bmQiLCJ1cHBlckJvdW5kVGV4dCIsInB1c2giLCJyZXNvbHZlVG9rZW5WYWx1ZSIsInNldENvbnRpbnVlT25FcnJvciIsInZhbHVlTGlzdE1ldGFtb2RlbCIsImNvbnZlcnRUeXBlcyIsImdldE1ldGFNb2RlbCIsInJlc29sdmVQYXRoIiwidGFyZ2V0IiwiaXNQcm9wZXJ0eSIsInVucmVzb2x2ZWRSZXN1bHQiLCJyZXNvbHZlZE9wZXJhdG9yIiwiQlQiLCJOQiIsImFsbCIsInNlbGVjdGVkVmFsdWUiLCJmbGF0IiwidmFsdWVzIiwiX3JlZiJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRWFzeUZpbHRlckRhdGFGZXRjaGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHtcblx0Q29kZUxpc3RUeXBlLFxuXHRUb2tlblNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbixcblx0VmFsdWVIZWxwU2VsZWN0ZWRWYWx1ZXNEZWZpbml0aW9uXG59IGZyb20gXCJzYXAvZmUvY29udHJvbHMvZWFzeUZpbHRlci9FYXN5RmlsdGVyQmFyQ29udGFpbmVyXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgeyBjb252ZXJ0VHlwZXMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB7IGlzUHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9UeXBlR3VhcmRzXCI7XG5pbXBvcnQgeyB0eXBlIFZhbHVlTGlzdEluZm8gfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC92YWx1ZWhlbHAvVmFsdWVMaXN0SGVscGVyXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IEZpbHRlciBmcm9tIFwic2FwL3VpL21vZGVsL0ZpbHRlclwiO1xuaW1wb3J0IEZpbHRlck9wZXJhdG9yIGZyb20gXCJzYXAvdWkvbW9kZWwvRmlsdGVyT3BlcmF0b3JcIjtcbmltcG9ydCB0eXBlIHsgQ29kZUxpc3RFbnRyeSB9IGZyb20gXCJ1eC9lbmcvZmlvcmlhaS9yZXVzZS9lYXN5ZmlsdGVyL0Vhc3lGaWx0ZXJcIjtcblxudHlwZSBTY2FsYXJPcGVyYXRvciA9IEV4Y2x1ZGU8RmlsdGVyT3BlcmF0b3IsIEZpbHRlck9wZXJhdG9yLkJUIHwgRmlsdGVyT3BlcmF0b3IuTkI+O1xudHlwZSBTY2FsYXJWYWx1ZSA9IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBEYXRlO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIGZpbHRlciBmb3IgdGhlIGtleSBwcm9wZXJ0eSBvZiBhIHZhbHVlIGxpc3QuXG4gKiBAcGFyYW0gdmFsdWVMaXN0IFRoZSB2YWx1ZSBsaXN0IGluZm9ybWF0aW9uLlxuICogQHBhcmFtIGtleVByb3BlcnR5IFRoZSBrZXkgcHJvcGVydHkgb2YgdGhlIHZhbHVlIGxpc3QuXG4gKiBAcGFyYW0gb3BlcmF0b3IgVGhlIGZpbHRlciBvcGVyYXRvci5cbiAqIEBwYXJhbSB2YWx1ZVRvTWF0Y2ggVGhlIHZhbHVlIHRvIG1hdGNoLlxuICogQHJldHVybnMgQSBmaWx0ZXIgZm9yIHRoZSBrZXkgcHJvcGVydHkuXG4gKi9cbmZ1bmN0aW9uIGdldEtleVByb3BlcnR5RmlsdGVyKFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdGtleVByb3BlcnR5OiBQcm9wZXJ0eSxcblx0b3BlcmF0b3I6IFNjYWxhck9wZXJhdG9yLFxuXHR2YWx1ZVRvTWF0Y2g6IFNjYWxhclZhbHVlXG4pOiBGaWx0ZXIge1xuXHRsZXQgZmlsdGVyVmFsdWUgPSB2YWx1ZVRvTWF0Y2g7XG5cblx0Ly8gSWYgdGhlIGtleSBwcm9wZXJ0eSBpcyBrbm93biB0byBjb250YWluIG9ubHkgdXBwZXJjYXNlIHZhbHVlcywgY29udmVydCB0aGUgZmlsdGVyIHZhbHVlIHRvIHVwcGVyY2FzZSBhcyB3ZWxsXG5cdGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09IFwic3RyaW5nXCIgJiYga2V5UHJvcGVydHkuYW5ub3RhdGlvbnMuQ29tbW9uPy5Jc1VwcGVyQ2FzZT8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0ZmlsdGVyVmFsdWUgPSBmaWx0ZXJWYWx1ZS50b1VwcGVyQ2FzZSgpO1xuXHR9XG5cblx0cmV0dXJuIG5ldyBGaWx0ZXIoeyBwYXRoOiB2YWx1ZUxpc3Qua2V5UGF0aCwgb3BlcmF0b3IsIHZhbHVlMTogZmlsdGVyVmFsdWUgfSk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgYSBzaW5nbGUgc2NhbGFyIHZhbHVlIHVzaW5nIGEgdmFsdWUgbGlzdC5cbiAqIEBwYXJhbSB2YWx1ZUxpc3QgVGhlIHZhbHVlIGxpc3QgaW5mb3JtYXRpb24uXG4gKiBAcGFyYW0ga2V5UHJvcGVydHkgVGhlIGtleSBwcm9wZXJ0eSBvZiB0aGUgdmFsdWUgbGlzdC5cbiAqIEBwYXJhbSBvcGVyYXRvciBUaGUgZmlsdGVyIG9wZXJhdG9yLlxuICogQHBhcmFtIHZhbHVlVG9NYXRjaCBUaGUgdmFsdWUgdG8gbWF0Y2guXG4gKiBAcGFyYW0gbG9vc2VNYXRjaCBXaGV0aGVyIHRvIGFwcGx5IGxvb3NlIG1hdGNoaW5nIG9yIG5vdFxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHNlbGVjdGVkIHZhbHVlcy5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVZhbHVlVXNpbmdWYWx1ZUxpc3QoXG5cdHZhbHVlTGlzdDogVmFsdWVMaXN0SW5mbyxcblx0a2V5UHJvcGVydHk6IFByb3BlcnR5LFxuXHRvcGVyYXRvcjogU2NhbGFyT3BlcmF0b3IsXG5cdHZhbHVlVG9NYXRjaDogU2NhbGFyVmFsdWUsXG5cdGxvb3NlTWF0Y2ggPSBmYWxzZVxuKTogUHJvbWlzZTxWYWx1ZUhlbHBTZWxlY3RlZFZhbHVlc0RlZmluaXRpb24+IHtcblx0Y29uc3QgbW9kZWwgPSB2YWx1ZUxpc3QudmFsdWVMaXN0SW5mby4kbW9kZWw7XG5cdGNvbnN0IHBhdGggPSBgLyR7dmFsdWVMaXN0LnZhbHVlTGlzdEluZm8uQ29sbGVjdGlvblBhdGh9YDtcblx0Y29uc3QgJHNlbGVjdCA9IGdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyKHZhbHVlTGlzdCk7XG5cdGxldCAkc2VhcmNoID0gQ29tbW9uVXRpbHMubm9ybWFsaXplU2VhcmNoVGVybSh2YWx1ZVRvTWF0Y2ggaW5zdGFuY2VvZiBEYXRlID8gdmFsdWVUb01hdGNoLnRvSVNPU3RyaW5nKCkgOiB2YWx1ZVRvTWF0Y2gudG9TdHJpbmcoKSk7XG5cdGNvbnN0IGtleVByb3BlcnR5RmlsdGVyID0gZ2V0S2V5UHJvcGVydHlGaWx0ZXIodmFsdWVMaXN0LCBrZXlQcm9wZXJ0eSwgb3BlcmF0b3IsIHZhbHVlVG9NYXRjaCk7XG5cblx0Ly8gQ2hlY2sgaWYgdGhlIHF1ZXJ5IGV4Y2VlZHMgdGhlIG1heGltdW0gbGVuZ3RoIG9mIHRoZSBrZXkgcHJvcGVydHlcblx0Y29uc3QgY2hhcmFjdGVyTGltaXRPdmVyZmxvdyA9ICEkc2VhcmNoIHx8ICRzZWFyY2gubGVuZ3RoID4gKGtleVByb3BlcnR5Lm1heExlbmd0aCA/PyAkc2VhcmNoLmxlbmd0aCk7XG5cblx0aWYgKCFsb29zZU1hdGNoKSB7XG5cdFx0JHNlYXJjaCA9IGBcIiR7JHNlYXJjaH1cImA7IC8vIEVuc3VyZSB0aGUgc2VhcmNoIHRlcm0gaXMgdHJlYXRlZCBhcyBhIHBocmFzZVxuXHR9XG5cdC8vIElmIHF1ZXJ5IGV4Y2VlZHMgdGhlIG1heGltdW0gbGVuZ3RoIG9mIHRoZSBrZXkgcHJvcGVydHksIHdlIGRvbid0IGZpbHRlciBhdCBhbGwsIGFzIGl0IHdvdWxkIGdpdmUgbm8gcmVzdWx0IGFueXdheVxuXHRjb25zdCBbdmFsdWVIZWxwS2V5UXVlcnksIHZhbHVlSGVscFNlYXJjaFF1ZXJ5XSA9IGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChbXG5cdFx0IWNoYXJhY3RlckxpbWl0T3ZlcmZsb3cgPyBtb2RlbC5iaW5kTGlzdChwYXRoLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwga2V5UHJvcGVydHlGaWx0ZXIsIHsgJHNlbGVjdCB9KS5yZXF1ZXN0Q29udGV4dHMoMCwgMSkgOiBbXSwgLy8gJGZpbHRlciBvbiB0aGUga2V5IHByb3BlcnR5IG9mIHRoZSB2YWx1ZSBsaXN0XG5cdFx0bW9kZWwuYmluZExpc3QocGF0aCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgeyAkc2VhcmNoOiAkc2VhcmNoLCAkc2VsZWN0IH0pLnJlcXVlc3RDb250ZXh0cygpIC8vICRzZWFyY2ggb24gdGhlIHZhbHVlIGxpc3Rcblx0XSk7XG5cblx0Y29uc3QgbWFwUmVzdWx0ID0gbWFwVmFsdWVMaXN0VG9Db2RlTGlzdCh2YWx1ZUxpc3QsIHRydWUpO1xuXG5cdGlmICh2YWx1ZUhlbHBLZXlRdWVyeS5zdGF0dXMgPT09IFwiZnVsZmlsbGVkXCIgJiYgdmFsdWVIZWxwS2V5UXVlcnkudmFsdWUubGVuZ3RoID4gMCkge1xuXHRcdC8vIFRoZXJlIGlzIGF0IGxlYXN0IG9uZSBtYXRjaCBpbiB0aGUga2V5IGNvbHVtbjpcblx0XHQvLyAtIElmIHRoZSBvcGVyYXRvciBpcyBFUTogVGhpcyBpbmRpY2F0ZXMgYW4gZXhhY3Qga2V5IG1hdGNoLCBzbyB0aGUgcmV0dXJuZWQgZGF0YSB3aWxsIGJlIHVzZWQuXG5cdFx0Ly8gLSBGb3Igb3RoZXIgb3BlcmF0b3JzOiBPbmUgb3IgbW9yZSBrZXlzIG1hdGNoIHRoZSB2YWx1ZSBiYXNlZCBvbiB0aGUgb3BlcmF0b3IsIHNvIHRoZSBvcmlnaW5hbCBjb25kaXRpb24gaXMgcHJlc2VydmVkLlxuXHRcdHJldHVybiBvcGVyYXRvciA9PT0gRmlsdGVyT3BlcmF0b3IuRVFcblx0XHRcdD8geyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXM6IHZhbHVlSGVscEtleVF1ZXJ5LnZhbHVlLm1hcChtYXBSZXN1bHQpIH1cblx0XHRcdDogeyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXM6IFt7IHZhbHVlOiB2YWx1ZVRvTWF0Y2gsIGRlc2NyaXB0aW9uOiB2YWx1ZVRvTWF0Y2ggfV0gfTtcblx0fVxuXG5cdGlmICh2YWx1ZUhlbHBTZWFyY2hRdWVyeS5zdGF0dXMgPT09IFwiZnVsZmlsbGVkXCIgJiYgdmFsdWVIZWxwU2VhcmNoUXVlcnkudmFsdWUubGVuZ3RoID4gMCkge1xuXHRcdC8vIFRoZSBrZXkgcXVlcnkgZGlkIG5vdCByZXR1cm4gYW55IG1hdGNoZXMsIGJ1dCB0aGUgc2VhcmNoIHF1ZXJ5IGZvdW5kIHJlc3VsdHMuIFVzZSB0aGUgc2VhcmNoIHJlc3VsdHMgaW5zdGVhZC5cblxuXHRcdGxldCByZXN1bHRzID0gdmFsdWVIZWxwU2VhcmNoUXVlcnkudmFsdWUubWFwKG1hcFJlc3VsdCk7XG5cblx0XHRpZiAob3BlcmF0b3IgPT09IEZpbHRlck9wZXJhdG9yLkVRKSB7XG5cdFx0XHRjb25zdCBmaWx0ZXJlZFJlc3VsdHMgPSByZXN1bHRzLmZpbHRlcihcblx0XHRcdFx0KHJlc3VsdCkgPT4gcmVzdWx0LmRlc2NyaXB0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gdmFsdWVUb01hdGNoLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKVxuXHRcdFx0KTtcblx0XHRcdC8vIElmIHRoZSBzZWFyY2ggcXVlcnkgaXMgZm91bmQgb25jZS9tdWx0aXBsZSB0aW1lcyBpbiB0aGUgcmVzdWx0ICsgb3BlcmF0b3IgaXMgRVEsIHdlIG5lZWQgdG8gcmV0dXJuIG9ubHkgdGhvc2UgcmVzdWx0c1xuXHRcdFx0aWYgKGZpbHRlcmVkUmVzdWx0cy5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdHJlc3VsdHMgPSBmaWx0ZXJlZFJlc3VsdHM7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRvcGVyYXRvcixcblx0XHRcdHNlbGVjdGVkVmFsdWVzOiByZXN1bHRzXG5cdFx0fTtcblx0fVxuXG5cdC8vIE5vIG1hdGNoZXMgd2VyZSBmb3VuZCBpbiBlaXRoZXIgcXVlcnk7IHRoZSBvcmlnaW5hbCB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgYSBmYWxsYmFjay5cblx0cmV0dXJuIHsgb3BlcmF0b3IsIHNlbGVjdGVkVmFsdWVzOiBbeyB2YWx1ZTogdmFsdWVUb01hdGNoLCBkZXNjcmlwdGlvbjogdmFsdWVUb01hdGNoIH1dLCBub01hdGNoOiB0cnVlIH07XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgbWFwcGluZyBmdW5jdGlvbiBmb3IgbWFwcGluZyBhIHZhbHVlIGxpc3QgcXVlcnkgcmVzdWx0IHRvIGEgY29kZSBsaXN0LlxuICogQHBhcmFtIHZhbHVlTGlzdCBUaGUgdmFsdWUgbGlzdCBpbmZvcm1hdGlvbiB1c2VkIHRvIGlkZW50aWZ5IHRoZSBrZXkgYW5kIGRlc2NyaXB0aW9uIHByb3BlcnRpZXMuXG4gKiBAcGFyYW0gZW5zdXJlRGVzY3JpcHRpb24gV2hldGhlciB0byBlbnN1cmUgdGhhdCB0aGUgZGVzY3JpcHRpb24gaXMgYWx3YXlzIHJldHVybmVkLlxuICogQHJldHVybnMgQSBmdW5jdGlvbiB0aGF0IG1hcHMgYSBzaW5nbGUgdmFsdWUgbGlzdCBxdWVyeSByZXN1bHQgdG8gYSBjb2RlIGxpc3QgZW50cnkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXBWYWx1ZUxpc3RUb0NvZGVMaXN0KHZhbHVlTGlzdDogVmFsdWVMaXN0SW5mbywgZW5zdXJlRGVzY3JpcHRpb246IHRydWUpOiAoY29udGV4dDogQ29udGV4dCkgPT4gQ29kZUxpc3RUeXBlO1xuZXhwb3J0IGZ1bmN0aW9uIG1hcFZhbHVlTGlzdFRvQ29kZUxpc3QodmFsdWVMaXN0OiBWYWx1ZUxpc3RJbmZvLCBlbnN1cmVEZXNjcmlwdGlvbj86IGZhbHNlKTogKGNvbnRleHQ6IENvbnRleHQpID0+IENvZGVMaXN0RW50cnk7XG5leHBvcnQgZnVuY3Rpb24gbWFwVmFsdWVMaXN0VG9Db2RlTGlzdChcblx0dmFsdWVMaXN0OiBWYWx1ZUxpc3RJbmZvLFxuXHRlbnN1cmVEZXNjcmlwdGlvbiA9IGZhbHNlXG4pOiAoY29udGV4dDogQ29udGV4dCkgPT4gQ29kZUxpc3RFbnRyeSB8IENvZGVMaXN0VHlwZSB7XG5cdHJldHVybiAoY29udGV4dDogQ29udGV4dCk6IENvZGVMaXN0RW50cnkgPT4ge1xuXHRcdGNvbnN0IGRhdGEgPSBjb250ZXh0LmdldE9iamVjdCgpO1xuXHRcdGNvbnN0IHZhbHVlID0gZGF0YVt2YWx1ZUxpc3Qua2V5UGF0aF07XG5cdFx0Y29uc3QgZGVzY3JpcHRpb24gPSB2YWx1ZUxpc3QuZGVzY3JpcHRpb25QYXRoID8gZGF0YVt2YWx1ZUxpc3QuZGVzY3JpcHRpb25QYXRoXSA6IHVuZGVmaW5lZDtcblx0XHRyZXR1cm4geyB2YWx1ZSwgZGVzY3JpcHRpb246IGVuc3VyZURlc2NyaXB0aW9uID8gZGVzY3JpcHRpb24gPz8gdmFsdWUgOiBkZXNjcmlwdGlvbiB9O1xuXHR9O1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyB0aGUgJHNlbGVjdCBwYXJhbWV0ZXIgZm9yIGEgdmFsdWUgbGlzdCBxdWVyeS5cbiAqIEBwYXJhbSB2YWx1ZUxpc3QgVGhlIHZhbHVlIGxpc3QgaW5mb3JtYXRpb24uXG4gKiBAcmV0dXJucyBUaGUgJHNlbGVjdCBwYXJhbWV0ZXIgYXMgYSBzdHJpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVNlbGVjdFBhcmFtZXRlcih2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8pOiBzdHJpbmcge1xuXHRyZXR1cm4gW3ZhbHVlTGlzdC5rZXlQYXRoLCB2YWx1ZUxpc3QuZGVzY3JpcHRpb25QYXRoXS5maWx0ZXIoKHBhdGgpID0+IHBhdGggJiYgIXBhdGguaW5jbHVkZXMoXCIvXCIpKS5qb2luKFwiLFwiKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlSW50ZXJ2YWxzKFxuXHRvcGVyYXRvcjogRmlsdGVyT3BlcmF0b3IuQlQgfCBGaWx0ZXJPcGVyYXRvci5OQixcblx0cmVzb2x2ZWRWYWx1ZXM6IFZhbHVlSGVscFNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdXG4pOiBWYWx1ZUhlbHBTZWxlY3RlZFZhbHVlc0RlZmluaXRpb25bXSB7XG5cdGNvbnN0IFtyZXNvbHZlZExvd2VyQm91bmQsIHJlc29sdmVkVXBwZXJCb3VuZF0gPSByZXNvbHZlZFZhbHVlcztcblxuXHRjb25zdCByZXN1bHQ6IFZhbHVlSGVscFNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdID0gW107XG5cdGZvciAoY29uc3QgeyB2YWx1ZTogbG93ZXJCb3VuZCwgZGVzY3JpcHRpb246IGxvd2VyQm91bmRUZXh0IH0gb2YgcmVzb2x2ZWRMb3dlckJvdW5kLnNlbGVjdGVkVmFsdWVzKSB7XG5cdFx0Zm9yIChjb25zdCB7IHZhbHVlOiB1cHBlckJvdW5kLCBkZXNjcmlwdGlvbjogdXBwZXJCb3VuZFRleHQgfSBvZiByZXNvbHZlZFVwcGVyQm91bmQuc2VsZWN0ZWRWYWx1ZXMpIHtcblx0XHRcdHJlc3VsdC5wdXNoKHtcblx0XHRcdFx0b3BlcmF0b3IsXG5cdFx0XHRcdHNlbGVjdGVkVmFsdWVzOiBbXG5cdFx0XHRcdFx0eyB2YWx1ZTogbG93ZXJCb3VuZCwgZGVzY3JpcHRpb246IGxvd2VyQm91bmRUZXh0ID8/IGxvd2VyQm91bmQgfSxcblx0XHRcdFx0XHR7IHZhbHVlOiB1cHBlckJvdW5kLCBkZXNjcmlwdGlvbjogdXBwZXJCb3VuZFRleHQgPz8gdXBwZXJCb3VuZCB9XG5cdFx0XHRcdF1cblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRva2VuLWJhc2VkIGZpbHRlciB2YWx1ZXMgdXNpbmcgYSB2YWx1ZSBsaXN0LlxuICogQHBhcmFtIHZhbHVlTGlzdCBUaGUgdmFsdWUgbGlzdCB1c2VkIGZvciByZXNvbHZpbmcgdmFsdWVzLlxuICogQHBhcmFtIHZhbHVlIFRoZSB0b2tlbi1iYXNlZCBmaWx0ZXIgdmFsdWVzIHRvIHJlc29sdmUuXG4gKiBAcGFyYW0gbG9vc2VNYXRjaCBXaGV0aGVyIHRvIHBlcmZvcm0gYSBsb29zZSBtYXRjaCBvbiB0aGUgdmFsdWVzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2YgcmVzb2x2ZWQgZmlsdGVyIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVUb2tlblZhbHVlKFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdHZhbHVlOiBUb2tlblNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbixcblx0bG9vc2VNYXRjaCA9IGZhbHNlXG4pOiBQcm9taXNlPFZhbHVlSGVscFNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdPiB7XG5cdGNvbnN0IHsgb3BlcmF0b3IsIHNlbGVjdGVkVmFsdWVzIH0gPSB2YWx1ZTtcblx0Y29uc3QgbW9kZWwgPSB2YWx1ZUxpc3QudmFsdWVMaXN0SW5mby4kbW9kZWw7XG5cblx0Ly8gTWFrZSBzdXJlIGFsbCB2YWx1ZXMgYXJlIHJlc29sdmVkLCBldmVuIGlmIHNvbWUgcmVxdWVzdHMgZmFpbC4gSXQgY2FuIGhhcHBlbiB0aGF0IHRoZSBiYWNrZW5kIGNhbm5vdCBwcm9jZXNzIHRoZSAkZmlsdGVyIHF1ZXJpZXMgd2Vcblx0Ly8gcnVuIG9uIHRoZSB2YWx1ZSBsaXN0LCBidXQgd2Ugc3RpbGwgd2FudCB0byBnZXQgdGhlIGZhbGxiYWNrICRzZWFyY2ggcmVzdWx0cy5cblx0bW9kZWwuc2V0Q29udGludWVPbkVycm9yKFwiJGF1dG9cIik7XG5cblx0Y29uc3QgdmFsdWVMaXN0TWV0YW1vZGVsID0gY29udmVydFR5cGVzKG1vZGVsLmdldE1ldGFNb2RlbCgpKTtcblx0Y29uc3Qga2V5UHJvcGVydHkgPSB2YWx1ZUxpc3RNZXRhbW9kZWwucmVzb2x2ZVBhdGgoYC8ke3ZhbHVlTGlzdC52YWx1ZUxpc3RJbmZvLkNvbGxlY3Rpb25QYXRofS8ke3ZhbHVlTGlzdC5rZXlQYXRofWApPy50YXJnZXQ7XG5cblx0aWYgKCFpc1Byb3BlcnR5KGtleVByb3BlcnR5KSkge1xuXHRcdC8vIHNvbWV0aGluZyB3ZW50IHdyb25nIC0gdGhlIGtleSBwcm9wZXJ0eSBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGUgdmFsdWUgbGlzdCBlbnRpdHlcblx0XHRyZXR1cm4gdW5yZXNvbHZlZFJlc3VsdChbdmFsdWVdKTtcblx0fVxuXG5cdGNvbnN0IHJlc29sdmVkT3BlcmF0b3IgPSBvcGVyYXRvciA9PT0gRmlsdGVyT3BlcmF0b3IuQlQgfHwgb3BlcmF0b3IgPT09IEZpbHRlck9wZXJhdG9yLk5CID8gRmlsdGVyT3BlcmF0b3IuRVEgOiBvcGVyYXRvcjsgLy8gQlQvTkI6IFVzZSBFUSBmb3IgcmVzb2x2aW5nIHRoZSBsb3dlci91cHBlciBib3VuZHNcblx0Y29uc3QgcmVzb2x2ZWRWYWx1ZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRzZWxlY3RlZFZhbHVlcy5tYXAoYXN5bmMgKHNlbGVjdGVkVmFsdWUpID0+XG5cdFx0XHRyZXNvbHZlVmFsdWVVc2luZ1ZhbHVlTGlzdCh2YWx1ZUxpc3QsIGtleVByb3BlcnR5LCByZXNvbHZlZE9wZXJhdG9yLCBzZWxlY3RlZFZhbHVlLCBsb29zZU1hdGNoKVxuXHRcdClcblx0KTtcblxuXHRyZXR1cm4gb3BlcmF0b3IgPT09IEZpbHRlck9wZXJhdG9yLkJUIHx8IG9wZXJhdG9yID09PSBGaWx0ZXJPcGVyYXRvci5OQlxuXHRcdD8gaGFuZGxlSW50ZXJ2YWxzKG9wZXJhdG9yLCByZXNvbHZlZFZhbHVlcylcblx0XHQ6IHJlc29sdmVkVmFsdWVzLmZsYXQoKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB1bnJlc29sdmVkIHZhbHVlcyBpbiB0aGUgZm9ybWF0IGV4cGVjdGVkIGJ5IHRoZSBFYXN5IEZpbHRlciBCYXIuXG4gKiBAcGFyYW0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gYmUgcmVzb2x2ZWQuXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiB1bnJlc29sdmVkIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVucmVzb2x2ZWRSZXN1bHQodmFsdWVzOiBUb2tlblNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdKTogVmFsdWVIZWxwU2VsZWN0ZWRWYWx1ZXNEZWZpbml0aW9uW10ge1xuXHRyZXR1cm4gdmFsdWVzLm1hcCgoeyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXMgfSkgPT4gKHtcblx0XHRvcGVyYXRvcixcblx0XHRzZWxlY3RlZFZhbHVlczogc2VsZWN0ZWRWYWx1ZXMubWFwKCh2YWx1ZSkgPT4gKHsgdmFsdWUsIGRlc2NyaXB0aW9uOiB2YWx1ZSB9KSlcblx0fSkpIGFzIFZhbHVlSGVscFNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0VBa0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDQSxTQUFTQSxvQkFBb0JBLENBQzVCQyxTQUF3QixFQUN4QkMsV0FBcUIsRUFDckJDLFFBQXdCLEVBQ3hCQyxZQUF5QixFQUNoQjtJQUNULElBQUlDLFdBQVcsR0FBR0QsWUFBWTs7SUFFOUI7SUFDQSxJQUFJLE9BQU9DLFdBQVcsS0FBSyxRQUFRLElBQUlILFdBQVcsQ0FBQ0ksV0FBVyxDQUFDQyxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7TUFDdkdKLFdBQVcsR0FBR0EsV0FBVyxDQUFDSyxXQUFXLENBQUMsQ0FBQztJQUN4QztJQUVBLE9BQU8sSUFBSUMsTUFBTSxDQUFDO01BQUVDLElBQUksRUFBRVgsU0FBUyxDQUFDWSxPQUFPO01BQUVWLFFBQVE7TUFBRVcsTUFBTSxFQUFFVDtJQUFZLENBQUMsQ0FBQztFQUM5RTs7RUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDQSxlQUFlVSwwQkFBMEJBLENBQ3hDZCxTQUF3QixFQUN4QkMsV0FBcUIsRUFDckJD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
261
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRLZXlQcm9wZXJ0eUZpbHRlciIsInZhbHVlTGlzdCIsImtleVByb3BlcnR5Iiwib3BlcmF0b3IiLCJ2YWx1ZVRvTWF0Y2giLCJmaWx0ZXJWYWx1ZSIsImFubm90YXRpb25zIiwiQ29tbW9uIiwiSXNVcHBlckNhc2UiLCJ2YWx1ZU9mIiwidG9VcHBlckNhc2UiLCJGaWx0ZXIiLCJwYXRoIiwia2V5UGF0aCIsInZhbHVlMSIsInJlc29sdmVWYWx1ZVVzaW5nVmFsdWVMaXN0IiwibG9vc2VNYXRjaCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm1vZGVsIiwidmFsdWVMaXN0SW5mbyIsIiRtb2RlbCIsIkNvbGxlY3Rpb25QYXRoIiwiJHNlbGVjdCIsImdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyIiwiJHNlYXJjaCIsIkNvbW1vblV0aWxzIiwibm9ybWFsaXplU2VhcmNoVGVybSIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInRvU3RyaW5nIiwiaXNOZWdhdGlvbiIsImlzTmVnYXRpb25PcGVyYXRvciIsImNsZWFuZWRPcGVyYXRvciIsImdldFBvc2l0aXZlT3BlcmF0b3IiLCJrZXlQcm9wZXJ0eUZpbHRlciIsImNoYXJhY3RlckxpbWl0T3ZlcmZsb3ciLCJtYXhMZW5ndGgiLCJ2YWx1ZUhlbHBLZXlRdWVyeSIsInZhbHVlSGVscFNlYXJjaFF1ZXJ5IiwiUHJvbWlzZSIsImFsbFNldHRsZWQiLCJiaW5kTGlzdCIsInJlcXVlc3RDb250ZXh0cyIsIm1hcFJlc3VsdCIsIm1hcFZhbHVlTGlzdFRvQ29kZUxpc3QiLCJzdGF0dXMiLCJ2YWx1ZSIsIkZpbHRlck9wZXJhdG9yIiwiRVEiLCJzZWxlY3RlZFZhbHVlcyIsIm1hcCIsImRlc2NyaXB0aW9uIiwicmVzdWx0cyIsImZpbHRlcmVkUmVzdWx0cyIsImZpbHRlciIsInJlc3VsdCIsInRvTG93ZXJDYXNlIiwibm9NYXRjaCIsImVuc3VyZURlc2NyaXB0aW9uIiwiY29udGV4dCIsImRhdGEiLCJnZXRPYmplY3QiLCJkZXNjcmlwdGlvblBhdGgiLCJfZXhwb3J0cyIsImluY2x1ZGVzIiwiam9pbiIsInJlc29sdmVUb2tlblZhbHVlIiwic2V0Q29udGludWVPbkVycm9yIiwidmFsdWVMaXN0TWV0YW1vZGVsIiwiY29udmVydFR5cGVzIiwiZ2V0TWV0YU1vZGVsIiwicmVzb2x2ZVBhdGgiLCJ0YXJnZXQiLCJpc1Byb3BlcnR5IiwidW5yZXNvbHZlZFJlc3VsdCIsImlzQ29tcGFyaXNvbk9wZXJhdG9yIiwiQlQiLCJOQiIsImxvd2VyQm91bmQiLCJ1cHBlckJvdW5kIiwicmVzb2x2ZWRWYWx1ZXMiLCJhbGwiLCJzZWxlY3RlZFZhbHVlIiwiZmxhdCIsInZhbHVlcyIsIl9yZWYiLCJORSIsIk5vdENvbnRhaW5zIiwiTm90U3RhcnRzV2l0aCIsIk5vdEVuZHNXaXRoIiwiR1QiLCJHRSIsIkxUIiwiTEUiLCJuZWdhdGlvbk9wZXJhdG9yIiwiQ29udGFpbnMiLCJTdGFydHNXaXRoIiwiRW5kc1dpdGgiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkVhc3lGaWx0ZXJEYXRhRmV0Y2hlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7XG5cdENvZGVMaXN0VHlwZSxcblx0VG9rZW5TZWxlY3RlZFZhbHVlc0RlZmluaXRpb24sXG5cdFZhbHVlSGVscEJldHdlZW5TZWxlY3RlZFZhbHVlcyxcblx0VmFsdWVIZWxwU2VsZWN0ZWRWYWx1ZXNEZWZpbml0aW9uXG59IGZyb20gXCJzYXAvZmUvY29udHJvbHMvZWFzeUZpbHRlci9FYXN5RmlsdGVyQmFyQ29udGFpbmVyXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgeyBjb252ZXJ0VHlwZXMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB7IGlzUHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9UeXBlR3VhcmRzXCI7XG5pbXBvcnQgeyB0eXBlIFZhbHVlTGlzdEluZm8gfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC92YWx1ZWhlbHAvVmFsdWVMaXN0SGVscGVyXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IEZpbHRlciBmcm9tIFwic2FwL3VpL21vZGVsL0ZpbHRlclwiO1xuaW1wb3J0IEZpbHRlck9wZXJhdG9yIGZyb20gXCJzYXAvdWkvbW9kZWwvRmlsdGVyT3BlcmF0b3JcIjtcbmltcG9ydCB0eXBlIHsgQ29kZUxpc3RFbnRyeSB9IGZyb20gXCJ1eC9lbmcvZmlvcmlhaS9yZXVzZS9lYXN5ZmlsdGVyL0Vhc3lGaWx0ZXJcIjtcblxudHlwZSBTY2FsYXJPcGVyYXRvciA9IEV4Y2x1ZGU8RmlsdGVyT3BlcmF0b3IsIEZpbHRlck9wZXJhdG9yLkJUIHwgRmlsdGVyT3BlcmF0b3IuTkI+O1xudHlwZSBTY2FsYXJWYWx1ZSA9IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBEYXRlO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIGZpbHRlciBmb3IgdGhlIGtleSBwcm9wZXJ0eSBvZiBhIHZhbHVlIGxpc3QuXG4gKiBAcGFyYW0gdmFsdWVMaXN0IFRoZSB2YWx1ZSBsaXN0IGluZm9ybWF0aW9uLlxuICogQHBhcmFtIGtleVByb3BlcnR5IFRoZSBrZXkgcHJvcGVydHkgb2YgdGhlIHZhbHVlIGxpc3QuXG4gKiBAcGFyYW0gb3BlcmF0b3IgVGhlIGZpbHRlciBvcGVyYXRvci5cbiAqIEBwYXJhbSB2YWx1ZVRvTWF0Y2ggVGhlIHZhbHVlIHRvIG1hdGNoLlxuICogQHJldHVybnMgQSBmaWx0ZXIgZm9yIHRoZSBrZXkgcHJvcGVydHkuXG4gKi9cbmZ1bmN0aW9uIGdldEtleVByb3BlcnR5RmlsdGVyKFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdGtleVByb3BlcnR5OiBQcm9wZXJ0eSxcblx0b3BlcmF0b3I6IFNjYWxhck9wZXJhdG9yLFxuXHR2YWx1ZVRvTWF0Y2g6IFNjYWxhclZhbHVlXG4pOiBGaWx0ZXIge1xuXHRsZXQgZmlsdGVyVmFsdWUgPSB2YWx1ZVRvTWF0Y2g7XG5cblx0Ly8gSWYgdGhlIGtleSBwcm9wZXJ0eSBpcyBrbm93biB0byBjb250YWluIG9ubHkgdXBwZXJjYXNlIHZhbHVlcywgY29udmVydCB0aGUgZmlsdGVyIHZhbHVlIHRvIHVwcGVyY2FzZSBhcyB3ZWxsXG5cdGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09IFwic3RyaW5nXCIgJiYga2V5UHJvcGVydHkuYW5ub3RhdGlvbnMuQ29tbW9uPy5Jc1VwcGVyQ2FzZT8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0ZmlsdGVyVmFsdWUgPSBmaWx0ZXJWYWx1ZS50b1VwcGVyQ2FzZSgpO1xuXHR9XG5cblx0cmV0dXJuIG5ldyBGaWx0ZXIoeyBwYXRoOiB2YWx1ZUxpc3Qua2V5UGF0aCwgb3BlcmF0b3IsIHZhbHVlMTogZmlsdGVyVmFsdWUgfSk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgYSBzaW5nbGUgc2NhbGFyIHZhbHVlIHVzaW5nIGEgdmFsdWUgbGlzdC5cbiAqIEBwYXJhbSB2YWx1ZUxpc3QgVGhlIHZhbHVlIGxpc3QgaW5mb3JtYXRpb24uXG4gKiBAcGFyYW0ga2V5UHJvcGVydHkgVGhlIGtleSBwcm9wZXJ0eSBvZiB0aGUgdmFsdWUgbGlzdC5cbiAqIEBwYXJhbSBvcGVyYXRvciBUaGUgZmlsdGVyIG9wZXJhdG9yLlxuICogQHBhcmFtIHZhbHVlVG9NYXRjaCBUaGUgdmFsdWUgdG8gbWF0Y2guXG4gKiBAcGFyYW0gbG9vc2VNYXRjaCBXaGV0aGVyIHRvIGFwcGx5IGxvb3NlIG1hdGNoaW5nIG9yIG5vdFxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHNlbGVjdGVkIHZhbHVlcy5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVZhbHVlVXNpbmdWYWx1ZUxpc3QoXG5cdHZhbHVlTGlzdDogVmFsdWVMaXN0SW5mbyxcblx0a2V5UHJvcGVydHk6IFByb3BlcnR5LFxuXHRvcGVyYXRvcjogU2NhbGFyT3BlcmF0b3IsXG5cdHZhbHVlVG9NYXRjaDogU2NhbGFyVmFsdWUsXG5cdGxvb3NlTWF0Y2ggPSBmYWxzZVxuKTogUHJvbWlzZTxWYWx1ZUhlbHBTZWxlY3RlZFZhbHVlc0RlZmluaXRpb24+IHtcblx0Y29uc3QgbW9kZWwgPSB2YWx1ZUxpc3QudmFsdWVMaXN0SW5mby4kbW9kZWw7XG5cdGNvbnN0IHBhdGggPSBgLyR7dmFsdWVMaXN0LnZhbHVlTGlzdEluZm8uQ29sbGVjdGlvblBhdGh9YDtcblx0Y29uc3QgJHNlbGVjdCA9IGdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyKHZhbHVlTGlzdCk7XG5cdGxldCAkc2VhcmNoID0gQ29tbW9uVXRpbHMubm9ybWFsaXplU2VhcmNoVGVybSh2YWx1ZVRvTWF0Y2ggaW5zdGFuY2VvZiBEYXRlID8gdmFsdWVUb01hdGNoLnRvSVNPU3RyaW5nKCkgOiB2YWx1ZVRvTWF0Y2gudG9TdHJpbmcoKSk7XG5cblx0Ly8gSGFuZGxlIG5lZ2F0aW9uIG9wZXJhdG9ycyAoTkUsIE5vdENvbnRhaW5zLCBOb3RTdGFydHNXaXRoLCBOb3RFbmRzV2l0aClcblx0Ly8gU3RyYXRlZ3k6IFF1ZXJ5IGZvciBwb3NpdGl2ZSBjYXNlLCB0aGVuIGFwcGx5IG5lZ2F0aW9uIGNsaWVudC1zaWRlXG5cdGNvbnN0IGlzTmVnYXRpb24gPSBpc05lZ2F0aW9uT3BlcmF0b3Iob3BlcmF0b3IpO1xuXHQvLyBcImNsZWFuZWRcIiBvcGVyYXRvciBmb3IgcG9zc2libGUgbmVnYXRpb24gb3BlcmF0b3JzXG5cdGNvbnN0IGNsZWFuZWRPcGVyYXRvciA9IGlzTmVnYXRpb24gPyBnZXRQb3NpdGl2ZU9wZXJhdG9yKG9wZXJhdG9yKSA6IG9wZXJhdG9yO1xuXHRjb25zdCBrZXlQcm9wZXJ0eUZpbHRlciA9IGdldEtleVByb3BlcnR5RmlsdGVyKHZhbHVlTGlzdCwga2V5UHJvcGVydHksIGNsZWFuZWRPcGVyYXRvciwgdmFsdWVUb01hdGNoKTtcblxuXHQvLyBDaGVjayBpZiB0aGUgcXVlcnkgZXhjZWVkcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIGtleSBwcm9wZXJ0eVxuXHRjb25zdCBjaGFyYWN0ZXJMaW1pdE92ZXJmbG93ID0gISRzZWFyY2ggfHwgJHNlYXJjaC5sZW5ndGggPiAoa2V5UHJvcGVydHkubWF4TGVuZ3RoID8/ICRzZWFyY2gubGVuZ3RoKTtcblxuXHRpZiAoIWxvb3NlTWF0Y2gpIHtcblx0XHQkc2VhcmNoID0gYFwiJHskc2VhcmNofVwiYDsgLy8gRW5zdXJlIHRoZSBzZWFyY2ggdGVybSBpcyB0cmVhdGVkIGFzIGEgcGhyYXNlXG5cdH1cblx0Ly8gSWYgcXVlcnkgZXhjZWVkcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIGtleSBwcm9wZXJ0eSwgd2UgZG9uJ3QgZmlsdGVyIGF0IGFsbCwgYXMgaXQgd291bGQgZ2l2ZSBubyByZXN1bHQgYW55d2F5XG5cdGNvbnN0IFt2YWx1ZUhlbHBLZXlRdWVyeSwgdmFsdWVIZWxwU2VhcmNoUXVlcnldID0gYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFtcblx0XHQhY2hhcmFjdGVyTGltaXRPdmVyZmxvdyA/IG1vZGVsLmJpbmRMaXN0KHBhdGgsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBrZXlQcm9wZXJ0eUZpbHRlciwgeyAkc2VsZWN0IH0pLnJlcXVlc3RDb250ZXh0cygwLCAxKSA6IFtdLCAvLyAkZmlsdGVyIG9uIHRoZSBrZXkgcHJvcGVydHkgb2YgdGhlIHZhbHVlIGxpc3Rcblx0XHRtb2RlbC5iaW5kTGlzdChwYXRoLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB7ICRzZWFyY2g6ICRzZWFyY2gsICRzZWxlY3QgfSkucmVxdWVzdENvbnRleHRzKCkgLy8gJHNlYXJjaCBvbiB0aGUgdmFsdWUgbGlzdFxuXHRdKTtcblxuXHRjb25zdCBtYXBSZXN1bHQgPSBtYXBWYWx1ZUxpc3RUb0NvZGVMaXN0KHZhbHVlTGlzdCwgdHJ1ZSk7XG5cblx0aWYgKHZhbHVlSGVscEtleVF1ZXJ5LnN0YXR1cyA9PT0gXCJmdWxmaWxsZWRcIiAmJiB2YWx1ZUhlbHBLZXlRdWVyeS52YWx1ZS5sZW5ndGggPiAwKSB7XG5cdFx0Ly8gVGhlcmUgaXMgYXQgbGVhc3Qgb25lIG1hdGNoIGluIHRoZSBrZXkgY29sdW1uOlxuXHRcdC8vIC0gSWYgdGhlIG9wZXJhdG9yIGlzIEVROiBUaGlzIGluZGljYXRlcyBhbiBleGFjdCBrZXkgbWF0Y2gsIHNvIHRoZSByZXR1cm5lZCBkYXRhIHdpbGwgYmUgdXNlZC5cblx0XHQvLyAtIEZvciBvdGhlciBvcGVyYXRvcnM6IE9uZSBvciBtb3JlIGtleXMgbWF0Y2ggdGhlIHZhbHVlIGJhc2VkIG9uIHRoZSBvcGVyYXRvciwgc28gdGhlIG9yaWdpbmFsIGNvbmRpdGlvbiBpcyBwcmVzZXJ2ZWQuXG5cdFx0cmV0dXJuIGNsZWFuZWRPcGVyYXRvciA9PT0gRmlsdGVyT3BlcmF0b3IuRVFcblx0XHRcdD8geyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXM6IHZhbHVlSGVscEtleVF1ZXJ5LnZhbHVlLm1hcChtYXBSZXN1bHQpIH1cblx0XHRcdDoge1xuXHRcdFx0XHRcdG9wZXJhdG9yLFxuXHRcdFx0XHRcdHNlbGVjdGVkVmFsdWVzOiBbeyB2YWx1ZTogdmFsdWVUb01hdGNoLCBkZXNjcmlwdGlvbjogdmFsdWVUb01hdGNoIH1dXG5cdFx0XHQgIH07XG5cdH1cblxuXHRpZiAodmFsdWVIZWxwU2VhcmNoUXVlcnkuc3RhdHVzID09PSBcImZ1bGZpbGxlZFwiICYmIHZhbHVlSGVscFNlYXJjaFF1ZXJ5LnZhbHVlLmxlbmd0aCA+IDApIHtcblx0XHQvLyBUaGUga2V5IHF1ZXJ5IGRpZCBub3QgcmV0dXJuIGFueSBtYXRjaGVzLCBidXQgdGhlIHNlYXJjaCBxdWVyeSBmb3VuZCByZXN1bHRzLiBVc2UgdGhlIHNlYXJjaCByZXN1bHRzIGluc3RlYWQuXG5cblx0XHRsZXQgcmVzdWx0cyA9IHZhbHVlSGVscFNlYXJjaFF1ZXJ5LnZhbHVlLm1hcChtYXBSZXN1bHQpO1xuXG5cdFx0aWYgKGNsZWFuZWRPcGVyYXRvciA9PT0gRmlsdGVyT3BlcmF0b3IuRVEpIHtcblx0XHRcdGNvbnN0IGZpbHRlcmVkUmVzdWx0cyA9IHJlc3VsdHMuZmlsdGVyKFxuXHRcdFx0XHQocmVzdWx0KSA9PiByZXN1bHQuZGVzY3JpcHRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSB2YWx1ZVRvTWF0Y2gudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXG5cdFx0XHQpO1xuXHRcdFx0Ly8gSWYgdGhlIHNlYXJjaCBxdWVyeSBpcyBmb3VuZCBvbmNlL211bHRpcGxlIHRpbWVzIGluIHRoZSByZXN1bHQgKyBvcGVyYXRvciBpcyBFUSwgd2UgbmVlZCB0byByZXR1cm4gb25seSB0aG9zZSByZXN1bHRzXG5cdFx0XHRpZiAoZmlsdGVyZWRSZXN1bHRzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0cmVzdWx0cyA9IGZpbHRlcmVkUmVzdWx0cztcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4geyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXM6IHJlc3VsdHMgfTtcblx0fVxuXG5cdC8vIE5vIG1hdGNoZXMgd2VyZSBmb3VuZCBpbiBlaXRoZXIgcXVlcnk7IHRoZSBvcmlnaW5hbCB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgYSBmYWxsYmFjay5cblxuXHRyZXR1cm4ge1xuXHRcdG9wZXJhdG9yLFxuXHRcdHNlbGVjdGVkVmFsdWVzOiBbeyB2YWx1ZTogdmFsdWVUb01hdGNoLCBkZXNjcmlwdGlvbjogdmFsdWVUb01hdGNoIH1dLFxuXHRcdG5vTWF0Y2g6IHRydWVcblx0fTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBtYXBwaW5nIGZ1bmN0aW9uIGZvciBtYXBwaW5nIGEgdmFsdWUgbGlzdCBxdWVyeSByZXN1bHQgdG8gYSBjb2RlIGxpc3QuXG4gKiBAcGFyYW0gdmFsdWVMaXN0IFRoZSB2YWx1ZSBsaXN0IGluZm9ybWF0aW9uIHVzZWQgdG8gaWRlbnRpZnkgdGhlIGtleSBhbmQgZGVzY3JpcHRpb24gcHJvcGVydGllcy5cbiAqIEBwYXJhbSBlbnN1cmVEZXNjcmlwdGlvbiBXaGV0aGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBkZXNjcmlwdGlvbiBpcyBhbHdheXMgcmV0dXJuZWQuXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgbWFwcyBhIHNpbmdsZSB2YWx1ZSBsaXN0IHF1ZXJ5IHJlc3VsdCB0byBhIGNvZGUgbGlzdCBlbnRyeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcFZhbHVlTGlzdFRvQ29kZUxpc3QodmFsdWVMaXN0OiBWYWx1ZUxpc3RJbmZvLCBlbnN1cmVEZXNjcmlwdGlvbjogdHJ1ZSk6IChjb250ZXh0OiBDb250ZXh0KSA9PiBDb2RlTGlzdFR5cGU7XG5leHBvcnQgZnVuY3Rpb24gbWFwVmFsdWVMaXN0VG9Db2RlTGlzdCh2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sIGVuc3VyZURlc2NyaXB0aW9uPzogZmFsc2UpOiAoY29udGV4dDogQ29udGV4dCkgPT4gQ29kZUxpc3RFbnRyeTtcbmV4cG9ydCBmdW5jdGlvbiBtYXBWYWx1ZUxpc3RUb0NvZGVMaXN0KFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdGVuc3VyZURlc2NyaXB0aW9uID0gZmFsc2Vcbik6IChjb250ZXh0OiBDb250ZXh0KSA9PiBDb2RlTGlzdEVudHJ5IHwgQ29kZUxpc3RUeXBlIHtcblx0cmV0dXJuIChjb250ZXh0OiBDb250ZXh0KTogQ29kZUxpc3RFbnRyeSA9PiB7XG5cdFx0Y29uc3QgZGF0YSA9IGNvbnRleHQuZ2V0T2JqZWN0KCk7XG5cdFx0Y29uc3QgdmFsdWUgPSBkYXRhW3ZhbHVlTGlzdC5rZXlQYXRoXTtcblx0XHRjb25zdCBkZXNjcmlwdGlvbiA9IHZhbHVlTGlzdC5kZXNjcmlwdGlvblBhdGggPyBkYXRhW3ZhbHVlTGlzdC5kZXNjcmlwdGlvblBhdGhdIDogdW5kZWZpbmVkO1xuXHRcdHJldHVybiB7IHZhbHVlLCBkZXNjcmlwdGlvbjogZW5zdXJlRGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbiA/PyB2YWx1ZSA6IGRlc2NyaXB0aW9uIH07XG5cdH07XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIHRoZSAkc2VsZWN0IHBhcmFtZXRlciBmb3IgYSB2YWx1ZSBsaXN0IHF1ZXJ5LlxuICogQHBhcmFtIHZhbHVlTGlzdCBUaGUgdmFsdWUgbGlzdCBpbmZvcm1hdGlvbi5cbiAqIEByZXR1cm5zIFRoZSAkc2VsZWN0IHBhcmFtZXRlciBhcyBhIHN0cmluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyKHZhbHVlTGlzdDogVmFsdWVMaXN0SW5mbyk6IHN0cmluZyB7XG5cdHJldHVybiBbdmFsdWVMaXN0LmtleVBhdGgsIHZhbHVlTGlzdC5kZXNjcmlwdGlvblBhdGhdLmZpbHRlcigocGF0aCkgPT4gcGF0aCAmJiAhcGF0aC5pbmNsdWRlcyhcIi9cIikpLmpvaW4oXCIsXCIpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRva2VuLWJhc2VkIGZpbHRlciB2YWx1ZXMgdXNpbmcgYSB2YWx1ZSBsaXN0LlxuICogQHBhcmFtIHZhbHVlTGlzdCBUaGUgdmFsdWUgbGlzdCB1c2VkIGZvciByZXNvbHZpbmcgdmFsdWVzLlxuICogQHBhcmFtIHZhbHVlIFRoZSB0b2tlbi1iYXNlZCBmaWx0ZXIgdmFsdWVzIHRvIHJlc29sdmUuXG4gKiBAcGFyYW0gbG9vc2VNYXRjaCBXaGV0aGVyIHRvIHBlcmZvcm0gYSBsb29zZSBtYXRjaCBvbiB0aGUgdmFsdWVzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2YgcmVzb2x2ZWQgZmlsdGVyIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVUb2tlblZhbHVlKFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdHZhbHVlOiBUb2tlblNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbixcblx0bG9vc2VNYXRjaCA9IGZhbHNlXG4pOiBQcm9taXNlPFZhbHVlSGVscFNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdPiB7XG5cdGNvbnN0IHsgb3BlcmF0b3IsIHNlbGVjdGVkVmFsdWVzIH0gPSB2YWx1ZTtcblx0Y29uc3QgbW9kZWwgPSB2YWx1ZUxpc3QudmFsdWVMaXN0SW5mby4kbW9kZWw7XG5cblx0Ly8gTWFrZSBzdXJlIGFsbCB2YWx1ZXMgYXJlIHJlc29sdmVkLCBldmVuIGlmIHNvbWUgcmVxdWVzdHMgZmFpbC4gSXQgY2FuIGhhcHBlbiB0aGF0IHRoZSBiYWNrZW5kIGNhbm5vdCBwcm9jZXNzIHRoZSAkZmlsdGVyIHF1ZXJpZXMgd2Vcblx0Ly8gcnVuIG9uIHRoZSB2YWx1ZSBsaXN0LCBidXQgd2Ugc3RpbGwgd2FudCB0byBnZXQgdGhlIGZhbGxiYWNrICRzZWFyY2ggcmVzdWx0cy5cblx0bW9kZWwuc2V0Q29udGludWVPbkVycm9yKFwiJGF1dG9cIik7XG5cblx0Y29uc3QgdmFsdWVMaXN0TWV0YW1vZGVsID0gY29udmVydFR5cGVzKG1vZGVsLmdldE1ldGFNb2RlbCgpKTtcblx0Y29uc3Qga2V5UHJvcGVydHkgPSB2YWx1ZUxpc3RNZXRhbW9kZWwucmVzb2x2ZVBhdGgoYC8ke3ZhbHVlTGlzdC52YWx1ZUxpc3RJbmZvLkNvbGxlY3Rpb25QYXRofS8ke3ZhbHVlTGlzdC5rZXlQYXRofWApPy50YXJnZXQ7XG5cblx0aWYgKCFpc1Byb3BlcnR5KGtleVByb3BlcnR5KSkge1xuXHRcdC8vIHNvbWV0aGluZyB3ZW50IHdyb25nIC0gdGhlIGtleSBwcm9wZXJ0eSBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGUgdmFsdWUgbGlzdCBlbnRpdHlcblx0XHRyZXR1cm4gdW5yZXNvbHZlZFJlc3VsdChbdmFsdWVdKTtcblx0fVxuXG5cdC8vIEZvciBjb21wYXJpc29uIG9wZXJhdG9ycyAoR3JlYXRlclRoYW4sIExlc3NUaGFuLCBCZXR3ZWVuLCBldGMuKSwgc2tpcCBiYWNrZW5kIGNhbGxzXG5cdC8vIGFuZCByZXR1cm4gdXNlciBpbnB1dCBkaXJlY3RseSB0byBFYXN5RmlsdGVyXG5cdGlmIChpc0NvbXBhcmlzb25PcGVyYXRvcihvcGVyYXRvcikpIHtcblx0XHRpZiAob3BlcmF0b3IgPT09IEZpbHRlck9wZXJhdG9yLkJUIHx8IG9wZXJhdG9yID09PSBGaWx0ZXJPcGVyYXRvci5OQikge1xuXHRcdFx0Ly8gSGFuZGxlIEJldHdlZW4vTm90IEJldHdlZW4gb3BlcmF0b3JzIC0gdGhleSBleHBlY3QgZXhhY3RseSAyIHZhbHVlc1xuXHRcdFx0Y29uc3QgW2xvd2VyQm91bmQsIHVwcGVyQm91bmRdID0gc2VsZWN0ZWRWYWx1ZXM7XG5cdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0b3BlcmF0b3IsXG5cdFx0XHRcdFx0c2VsZWN0ZWRWYWx1ZXM6IFtcblx0XHRcdFx0XHRcdHsgdmFsdWU6IGxvd2VyQm91bmQsIGRlc2NyaXB0aW9uOiBsb3dlckJvdW5kIH0sXG5cdFx0XHRcdFx0XHR7IHZhbHVlOiB1cHBlckJvdW5kLCBkZXNjcmlwdGlvbjogdXBwZXJCb3VuZCB9XG5cdFx0XHRcdFx0XSBhcyBWYWx1ZUhlbHBCZXR3ZWVuU2VsZWN0ZWRWYWx1ZXNcblx0XHRcdFx0fVxuXHRcdFx0XTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gSGFuZGxlIG90aGVyIGNvbXBhcmlzb24gb3BlcmF0b3JzIChHVCwgR0UsIExULCBMRSlcblx0XHRcdHJldHVybiB1bnJlc29sdmVkUmVzdWx0KFt2YWx1ZV0pO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRjb25zdCByZXNvbHZlZFZhbHVlcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdFx0c2VsZWN0ZWRWYWx1ZXMubWFwKGFzeW5jIChzZWxlY3RlZFZhbHVlKSA9PlxuXHRcdFx0XHRyZXNvbHZlVmFsdWVVc2luZ1ZhbHVlTGlzdCh2YWx1ZUxpc3QsIGtleVByb3BlcnR5LCBvcGVyYXRvciBhcyBTY2FsYXJPcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZSwgbG9vc2VNYXRjaClcblx0XHRcdClcblx0XHQpO1xuXHRcdHJldHVybiByZXNvbHZlZFZhbHVlcy5mbGF0KCk7XG5cdH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB1bnJlc29sdmVkIHZhbHVlcyBpbiB0aGUgZm9ybWF0IGV4cGVjdGVkIGJ5IHRoZSBFYXN5IEZpbHRlciBCYXIuXG4gKiBAcGFyYW0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gYmUgcmVzb2x2ZWQuXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiB1bnJlc29sdmVkIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVucmVzb2x2ZWRSZXN1bHQodmFsdWVzOiBUb2tlblNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdKTogVmFsdWVIZWxwU2VsZWN0ZWRWYWx1ZXNEZWZpbml0aW9uW10ge1xuXHRyZXR1cm4gdmFsdWVzLm1hcCgoeyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXMgfSkgPT4gKHtcblx0XHRvcGVyYXRvcixcblx0XHRzZWxlY3RlZFZhbHVlczogc2VsZWN0ZWRWYWx1ZXMubWFwKCh2YWx1ZSkgPT4gKHsgdmFsdWUsIGRlc2NyaXB0aW9uOiB2YWx1ZSB9KSlcblx0fSkpIGFzIFZhbHVlSGVscFNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgb3BlcmF0b3IgaXMgYSBuZWdhdGlvbiBvcGVyYXRvciAoTkUsIE5vdENvbnRhaW5zLCBOb3RTdGFydHNXaXRoLCBOb3RFbmRzV2l0aCkuXG4gKiBAcGFyYW0gb3BlcmF0b3IgVGhlIGZpbHRlciBvcGVyYXRvciB0byBjaGVjay5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIG9wZXJhdG9yIGlzIGEgbmVnYXRpb24gb3BlcmF0b3IuXG4gKi9cbmZ1bmN0aW9uIGlzTmVnYXRpb25PcGVyYXRvcihvcGVyYXRvcjogRmlsdGVyT3BlcmF0b3IpOiBib29sZWFuIHtcblx0cmV0dXJuIFtGaWx0ZXJPcGVyYXRvci5ORSwgRmlsdGVyT3BlcmF0b3IuTm90Q29udGFpbnMsIEZpbHRlck9wZXJhdG9yLk5vdFN0YXJ0c1dpdGgsIEZpbHRlck9wZXJhdG9yLk5vdEVuZHNXaXRoXS5pbmNsdWRlcyhvcGVyYXRvcik7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBvcGVyYXRvciBpcyBhIGNvbXBhcmlzb24gb3BlcmF0b3IgKEdULCBHRSwgTFQsIExFLCBCVCwgTkIpLlxuICogQHBhcmFtIG9wZXJhdG9yIFRoZSBmaWx0ZXIgb3BlcmF0b3IgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBvcGVyYXRvciBpcyBhIGNvbXBhcmlzb24gb3BlcmF0b3IuXG4gKi9cbmZ1bmN0aW9uIGlzQ29tcGFyaXNvbk9wZXJhdG9yKG9wZXJhdG9yOiBGaWx0ZXJPcGVyYXRvcik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gW0ZpbHRlck9wZXJhdG9yLkdULCBGaWx0ZXJPcGVyYXRvci5HRSwgRmlsdGVyT3BlcmF0b3IuTFQsIEZpbHRlck9wZXJhdG9yLkxFLCBGaWx0ZXJPcGVyYXRvci5CVCwgRmlsdGVyT3BlcmF0b3IuTkJdLmluY2x1ZGVzKFxuXHRcdG9wZXJhdG9yXG5cdCk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBuZWdhdGlvbiBvcGVyYXRvciB0byBpdHMgcG9zaXRpdmUgZXF1aXZhbGVudCAoTkUgLT4gRVEsIE5vdENvbnRhaW5zIC0+IENvbnRhaW5zLCBldGMuKS5cbiAqIEBwYXJhbSBuZWdhdGlvbk9wZXJhdG9yIFRoZSBuZWdhdGlvbiBvcGVyYXRvciB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIGNvcnJlc3BvbmRpbmcgcG9zaXRpdmUgb3BlcmF0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQb3NpdGl2ZU9wZXJhdG9yKG5lZ2F0aW9uT3BlcmF0b3I6IEZpbHRlck9wZXJhdG9yKTogU2NhbGFyT3BlcmF0b3Ige1xuXHRzd2l0Y2ggKG5lZ2F0aW9uT3BlcmF0b3IpIHtcblx0XHRjYXNlIEZpbHRlck9wZXJhdG9yLk5FOlxuXHRcdFx0cmV0dXJuIEZpbHRlck9wZXJhdG9yLkVRO1xuXHRcdGNhc2UgRmlsdGVyT3BlcmF0b3IuTm90Q29udGFpbnM6XG5cdFx0XHRyZXR1cm4gRmlsdGVyT3BlcmF0b3IuQ29udGFpbnM7XG5cdFx0Y2FzZSBGaWx0ZXJPcGVyYXRvci5Ob3RTdGFydHNXaXRoOlxuXHRcdFx0cmV0dXJuIEZpbHRlck9wZXJhdG9yLlN0YXJ0c1dpdGg7XG5cdFx0Y2FzZSBGaWx0ZXJPcGVyYXRvci5Ob3RFbmRzV2l0aDpcblx0XHRcdHJldHVybiBGaWx0ZXJPcGVyYXRvci5FbmRzV2l0aDtcblx0XHRkZWZhdWx0OlxuXHRcdFx0cmV0dXJuIEZpbHRlck9wZXJhdG9yLkVRO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7RUFtQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNBLFNBQVNBLG9CQUFvQkEsQ0FDNUJDLFNBQXdCLEVBQ3hCQyxXQUFxQixFQUNyQkMsUUFBd0IsRUFDeEJDLFlBQXlCLEVBQ2hCO0lBQ1QsSUFBSUMsV0FBVyxHQUFHRCxZQUFZOztJQUU5QjtJQUNBLElBQUksT0FBT0MsV0FBVyxLQUFLLFFBQVEsSUFBSUgsV0FBVyxDQUFDSSxXQUFXLENBQUNDLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyxPQUFPLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtNQUN2R0osV0FBVyxHQUFHQSxXQUFXLENBQUNLLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDO0lBRUEsT0FBTyxJQUFJQyxNQUFNLENBQUM7TUFBRUMsSUFBSSxFQUFFWCxTQUFTLENBQUNZLE9BQU87TUFBRVYsUUFBUTtNQUFFVyxNQUFNLEVBQUVUO0lBQVksQ0FBQyxDQUFDO0VBQzlFOztFQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNBLGVBQWVVLDBCQUEwQkEsQ0FDeENkLFNBQXdCLEVBQ3hCQyxXQUFxQixFQUNyQkMsUUFBd0IsRUFDeEJDLFlBQXlCLEVBRW9CO0lBQUEsSUFEN0NZLFVBQVUsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsS0FBSztJQUVsQixNQUFNRyxLQUFLLEdBQUduQixTQUFTLENBQUNvQixhQUFhLENBQUNDLE1BQU07SUFDNUMsTUFBTVYsSUFBSSxHQUFHLElBQUlYLFNBQVMsQ0FBQ29CLGFBQWEsQ0FBQ0UsY0FBYyxFQUFFO0lBQ3pELE1BQU1DLE9BQU8sR0FBR0MsdUJBQXVCLENBQUN4QixTQUFTLENBQUM7SUFDbEQsSUFBSXlCLE9BQU8sR0FBR0MsV0FBVyxDQUFDQyxtQkFBbUIsQ0FBQ3hCLFlBQVksWUFBWXlCLElBQUksR0FBR3pCLFlBQVksQ0FBQzBCLFdBQVcsQ0FBQyxDQUFDLEdBQUcxQixZQUFZLENBQUMyQixRQUFRLENBQUMsQ0FBQyxDQUFDOztJQUVsSTtJQUNBO0lBQ0EsTUFBTUMsVUFBVSxHQUFHQyxrQkFBa0IsQ0FBQzlCLFFBQVEsQ0FBQztJQUMvQztJQUNBLE1BQU0rQixlQUFlLEdBQUdGLFVBQVUsR0FBR0csbUJBQW1CLENBQUNoQyxRQUFRLENBQUMsR0FBR0EsUUFBUTtJQUM3RSxNQUFNaUMsaUJBQWlCLEdBQUdwQyxvQkFBb0IsQ0FBQ0MsU0FBUyxFQUFFQyxXQUFXLEVBQUVnQyxlQUFlLEVBQUU5QixZQUFZLENBQUM7O0lBRXJHO0lBQ0EsTUFBTWlDLHNCQUFzQixHQUFHLENBQUNYLE9BQU8sSUFBSUEsT0FBTyxDQUFDUixNQUFNLElBQUloQixXQUFXLENBQUNvQyxTQUFTLElBQUlaLE9BQU8sQ0FBQ1IsTUFBTSxDQUFDO0lBRXJHLElBQUksQ0FBQ0YsVUFBVSxFQUFFO01BQ2hCVSxPQUFPLEdBQUcsSUFBSUEsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUMzQjtJQUNBO0lBQ0EsTUFBTSxDQUFDYSxpQkFBaUIsRUFBRUMsb0JBQW9CLENBQUMsR0FBRyxNQUFNQyxPQUFPLENBQUNDLFVBQVUsQ0FBQyxDQUMxRSxDQUFDTCxzQkFBc0IsR0FBR2pCLEtBQUssQ0FBQ3VCLFFBQVEsQ0FBQy9CLElBQUksRUFBRU8sU0FBUyxFQUFFQSxTQUFTLEVBQUVpQixpQkFBaUIsRUFBRTtNQUFFWjtJQUFRLENBQUMsQ0FBQyxDQUFDb0IsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFO0lBQUU7SUFDakl4QixLQUFLLENBQUN1QixRQUFRLENBQUMvQixJQUFJLEVBQUVPLFNBQVMsRUFBRUEsU0FBUyxFQUFFQSxTQUFTLEVBQUU7TUFBRU8sT0FBTyxFQUFFQSxPQUFPO01BQUVGO0lBQVEsQ0FBQyxDQUFDLENBQUNvQixlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FDdkcsQ0FBQztJQUVGLE1BQU1DLFNBQVMsR0FBR0Msc0JBQXNCLENBQUM3QyxTQUFTLEVBQUUsSUFBSSxDQUFDO0lBRXpELElBQUlzQyxpQkFBaUIsQ0FBQ1EsTUFBTSxLQUFLLFdBQVcsSUFBSVIsaUJBQWlCLENBQUNTLEtBQUssQ0FBQzlCLE1BQU0sR0FBRyxDQUFDLEVBQUU7TUFDbkY7TUFDQTtNQUNBO01BQ0EsT0FBT2dCLGVBQWUsS0FBS2UsY0FBYyxDQUFDQyxFQUFFLEdBQ3pDO1FBQUUvQyxRQUFRO1FBQUVnRCxjQUFjLEVBQUVaLGlCQUFpQixDQUFDUyxLQUFLLENBQUNJLEdBQUcsQ0FBQ1AsU0FBUztNQUFFLENBQUMsR0FDcEU7UUFDQTFDLFFBQVE7UUFDUmdELGNBQWMsRUFBRSxDQUFDO1VBQUVILEtBQUssRUFBRTVDLFlBQVk7VUFBRWlELFdBQVcsRUFBRWpEO1FBQWEsQ0FBQztNQUNuRSxDQUFDO0lBQ0w7SUFFQSxJQUFJb0Msb0JBQW9CLENBQUNPLE1BQU0sS0FBSyxXQUFXLElBQUlQLG9CQUFvQixDQUFDUSxLQUFLLENBQUM5QixNQUFNLEdBQUcsQ0FBQyxFQUFFO01BQ3pGOztNQUVBLElBQUlvQyxPQUFPLEdBQUdkLG9CQUFvQixDQUFDUSxLQUFLLENBQUNJLEdBQUcsQ0FBQ1AsU0FBUyxDQUFDO01BRXZELElBQUlYLGVBQWUsS0FBS2UsY0FBYyxDQUFDQyxFQUFFLEVBQUU7UUFDMUMsTUFBTUssZUFBZSxHQUFHRCxPQUFPLENBQUNFLE1BQU0sQ0FDcENDLE1BQU0sSUFBS0EsTUFBTSxDQUFDSixXQUFXLENBQUN0QixRQUFRLENBQUMsQ0FBQyxDQUFDMkIsV0FBVyxDQUFDLENBQUMsS0FBS3RELFlBQVksQ0FBQzJCLFFBQVEsQ0FBQyxDQUFDLENBQUMyQixXQUFXLENBQUMsQ0FDakcsQ0FBQztRQUNEO1FBQ0EsSUFBSUgsZUFBZSxDQUFDckMsTUFBTSxHQUFHLENBQUMsRUFBRTtVQUMvQm9DLE9BQU8sR0FBR0MsZUFBZTtRQUMxQjtNQUNEO01BRUEsT0FBTztRQUFFcEQsUUFBUTtRQUFFZ0QsY0FBYyxFQUFFRztNQUFRLENBQUM7SUFDN0M7O0lBRUE7O0lBRUEsT0FBTztNQUNObkQsUUFBUTtNQUNSZ0QsY0FBYyxFQUFFLENBQUM7UUFBRUgsS0FBSyxFQUFFNUMsWUFBWTtRQUFFaUQsV0FBVyxFQUFFakQ7TUFBYSxDQUFDLENBQUM7TUFDcEV1RCxPQUFPLEVBQUU7SUFDVixDQUFDO0VBQ0Y7O0VBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztFQUdPLFNBQVNiLHNCQUFzQkEsQ0FDckM3QyxTQUF3QixFQUU2QjtJQUFBLElBRHJEMkQsaUJBQWlCLEdBQUEzQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxLQUFLO0lBRXpCLE9BQVE0QyxPQUFnQixJQUFvQjtNQUMzQyxNQUFNQyxJQUFJLEdBQUdELE9BQU8sQ0FBQ0UsU0FBUyxDQUFDLENBQUM7TUFDaEMsTUFBTWYsS0FBSyxHQUFHYyxJQUFJLENBQUM3RCxTQUFTLENBQUNZLE9BQU8sQ0FBQztNQUNyQyxNQUFNd0MsV0FBVyxHQUFHcEQsU0FBUyxDQUFDK0QsZUFBZSxHQUFHRixJQUFJLENBQUM3RCxTQUFTLENBQUMrRCxlQUFlLENBQUMsR0FBRzdDLFNBQVM7TUFDM0YsT0FBTztRQUFFNkIsS0FBSztRQUFFSyxXQUFXLEVBQUVPLGlCQUFpQixHQUFHUCxXQUFXLElBQUlMLEtBQUssR0FBR0s7TUFBWSxDQUFDO0lBQ3RGLENBQUM7RUFDRjs7RUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBSkFZLFFBQUEsQ0FBQW5CLHNCQUFBLEdBQUFBLHNCQUFBO0VBS08sU0FBU3JCLHVCQUF1QkEsQ0FBQ3hCLFNBQXdCLEVBQVU7SUFDekUsT0FBTyxDQUFDQSxTQUFTLENBQUNZLE9BQU8sRUFBRVosU0FBUyxDQUFDK0QsZUFBZSxDQUFDLENBQUNSLE1BQU0sQ0FBRTVDLElBQUksSUFBS0EsSUFBSSxJQUFJLENBQUNBLElBQUksQ0FBQ3NELFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsR0FBRyxDQUFDO0VBQzlHOztFQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBTkFGLFFBQUEsQ0FBQXhDLHVCQUFBLEdBQUFBLHVCQUFBO0VBT08sZUFBZTJDLGlCQUFpQkEsQ0FDdENuRSxTQUF3QixFQUN4QitDLEtBQW9DLEVBRVc7SUFBQSxJQUQvQ2hDLFVBQVUsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsS0FBSztJQUVsQixNQUFNO01BQUVkLFFBQVE7TUFBRWdEO0lBQWUsQ0FBQyxHQUFHSCxLQUFLO0lBQzFDLE1BQU01QixLQUFLLEdBQUduQixTQUFTLENBQUNvQixhQUFhLENBQUNDLE1BQU07O0lBRTVDO0lBQ0E7SUFDQUYsS0FBSyxDQUFDaUQsa0JBQWtCLENBQUMsT0FBTyxDQUFDO0lBRWpDLE1BQU1DLGtCQUFrQixHQUFHQyxZQUFZLENBQUNuRCxLQUFLLENBQUNvRCxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzdELE1BQU10RSxXQUFXLEdBQUdvRSxrQkFBa0IsQ0FBQ0csV0FBVyxDQUFDLElBQUl4RSxTQUFTLENBQUNvQixhQUFhLENBQUNFLGNBQWMsSUFBSXRCLFNBQVMsQ0FBQ1ksT0FBTyxFQUFFLENBQUMsRUFBRTZELE1BQU07SUFFN0gsSUFBSSxDQUFDQyxVQUFVLENBQUN6RSxXQUFXLENBQUMsRUFBRTtNQUM3QjtNQUNBLE9BQU8wRSxnQkFBZ0IsQ0FBQyxDQUFDNUIsS0FBSyxDQUFDLENBQUM7SUFDakM7O0lBRUE7SUFDQTtJQUNBLElBQUk2QixvQkFBb0IsQ0FBQzFFLFFBQVEsQ0FBQyxFQUFFO01BQ25DLElBQUlBLFFBQVEsS0FBSzhDLGNBQWMsQ0FBQzZCLEVBQUUsSUFBSTNFLFFBQVEsS0FBSzhDLGNBQWMsQ0FBQzhCLEVBQUUsRUFBRTtRQUNyRTtRQUNBLE1BQU0sQ0FBQ0MsVUFBVSxFQUFFQyxVQUFVLENBQUMsR0FBRzlCLGNBQWM7UUFDL0MsT0FBTyxDQUNOO1VBQ0NoRCxRQUFRO1VBQ1JnRCxjQUFjLEVBQUUsQ0FDZjtZQUFFSCxLQUFLLEVBQUVnQyxVQUFVO1lBQUUzQixXQUFXLEVBQUUyQjtVQUFXLENBQUMsRUFDOUM7WUFBRWhDLEtBQUssRUFBRWlDLFVBQVU7WUFBRTVCLFdBQVcsRUFBRTRCO1VBQVcsQ0FBQztRQUVoRCxDQUFDLENBQ0Q7TUFDRixDQUFDLE1BQU07UUFDTjtRQUNBLE9BQU9MLGdCQUFnQixDQUFDLENBQUM1QixLQUFLLENBQUMsQ0FBQztNQUNqQztJQUNELENBQUMsTUFBTTtNQUNOLE1BQU1rQyxjQUFjLEdBQUcsTUFBTXpDLE9BQU8sQ0FBQzBDLEdBQUcsQ0FDdkNoQyxjQUFjLENBQUNDLEdBQUcsQ0FBQyxNQUFPZ0MsYUFBYSxJQUN0Q3JFLDBCQUEwQixDQUFDZCxTQUFTLEVBQUVDLFdBQVcsRUFBRUMsUUFBUSxFQUFvQmlGLGFBQWEsRUFBRXBFLFVBQVUsQ0FDekcsQ0FDRCxDQUFDO01BQ0QsT0FBT2tFLGNBQWMsQ0FBQ0csSUFBSSxDQUFDLENBQUM7SUFDN0I7RUFDRDs7RUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBSkFwQixRQUFBLENBQUFHLGlCQUFBLEdBQUFBLGlCQUFBO0VBS08sU0FBU1EsZ0JBQWdCQSxDQUFDVSxNQUF1QyxFQUF1QztJQUM5RyxPQUFPQSxNQUFNLENBQUNsQyxHQUFHLENBQUNtQyxJQUFBO01BQUEsSUFBQztRQUFFcEYsUUFBUTtRQUFFZ0Q7TUFBZSxDQUFDLEdBQUFvQyxJQUFBO01BQUEsT0FBTTtRQUNwRHBGLFFBQVE7UUFDUmdELGNBQWMsRUFBRUEsY0FBYyxDQUFDQyxHQUFHLENBQUVKLEtBQUssS0FBTTtVQUFFQSxLQUFLO1VBQUVLLFdBQVcsRUFBRUw7UUFBTSxDQUFDLENBQUM7TUFDOUUsQ0FBQztJQUFBLENBQUMsQ0FBQztFQUNKOztFQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFKQWlCLFFBQUEsQ0FBQVcsZ0JBQUEsR0FBQUEsZ0JBQUE7RUFLQSxTQUFTM0Msa0JBQWtCQSxDQUFDOUIsUUFBd0IsRUFBVztJQUM5RCxPQUFPLENBQUM4QyxjQUFjLENBQUN1QyxFQUFFLEVBQUV2QyxjQUFjLENBQUN3QyxXQUFXLEVBQUV4QyxjQUFjLENBQUN5QyxhQUFhLEVBQUV6QyxjQUFjLENBQUMwQyxXQUFXLENBQUMsQ0FBQ3pCLFFBQVEsQ0FBQy9ELFFBQVEsQ0FBQztFQUNwSTs7RUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0EsU0FBUzBFLG9CQUFvQkEsQ0FBQzFFLFFBQXdCLEVBQVc7SUFDaEUsT0FBTyxDQUFDOEMsY0FBYyxDQUFDMkMsRUFBRSxFQUFFM0MsY0FBYyxDQUFDNEMsRUFBRSxFQUFFNUMsY0FBYyxDQUFDNkMsRUFBRSxFQUFFN0MsY0FBYyxDQUFDOEMsRUFBRSxFQUFFOUMsY0FBYyxDQUFDNkIsRUFBRSxFQUFFN0IsY0FBYyxDQUFDOEIsRUFBRSxDQUFDLENBQUNiLFFBQVEsQ0FDakkvRCxRQUNELENBQUM7RUFDRjs7RUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ08sU0FBU2dDLG1CQUFtQkEsQ0FBQzZELGdCQUFnQyxFQUFrQjtJQUNyRixRQUFRQSxnQkFBZ0I7TUFDdkIsS0FBSy9DLGNBQWMsQ0FBQ3VDLEVBQUU7UUFDckIsT0FBT3ZDLGNBQWMsQ0FBQ0MsRUFBRTtNQUN6QixLQUFLRCxjQUFjLENBQUN3QyxXQUFXO1FBQzlCLE9BQU94QyxjQUFjLENBQUNnRCxRQUFRO01BQy9CLEtBQUtoRCxjQUFjLENBQUN5QyxhQUFhO1FBQ2hDLE9BQU96QyxjQUFjLENBQUNpRCxVQUFVO01BQ2pDLEtBQUtqRCxjQUFjLENBQUMwQyxXQUFXO1FBQzlCLE9BQU8xQyxjQUFjLENBQUNrRCxRQUFRO01BQy9CO1FBQ0MsT0FBT2xELGNBQWMsQ0FBQ0MsRUFBRTtJQUMxQjtFQUNEO0VBQUNlLFFBQUEsQ0FBQTlCLG1CQUFBLEdBQUFBLG1CQUFBO0VBQUEsT0FBQThCLFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -2,6 +2,7 @@ import type { Property } from "@sap-ux/vocabularies-types";
2
2
  import type {
3
3
  CodeListType,
4
4
  TokenSelectedValuesDefinition,
5
+ ValueHelpBetweenSelectedValues,
5
6
  ValueHelpSelectedValuesDefinition
6
7
  } from "sap/fe/controls/easyFilter/EasyFilterBarContainer";
7
8
  import CommonUtils from "sap/fe/core/CommonUtils";
@@ -60,7 +61,13 @@ async function resolveValueUsingValueList(
60
61
  const path = `/${valueList.valueListInfo.CollectionPath}`;
61
62
  const $select = generateSelectParameter(valueList);
62
63
  let $search = CommonUtils.normalizeSearchTerm(valueToMatch instanceof Date ? valueToMatch.toISOString() : valueToMatch.toString());
63
- const keyPropertyFilter = getKeyPropertyFilter(valueList, keyProperty, operator, valueToMatch);
64
+
65
+ // Handle negation operators (NE, NotContains, NotStartsWith, NotEndsWith)
66
+ // Strategy: Query for positive case, then apply negation client-side
67
+ const isNegation = isNegationOperator(operator);
68
+ // "cleaned" operator for possible negation operators
69
+ const cleanedOperator = isNegation ? getPositiveOperator(operator) : operator;
70
+ const keyPropertyFilter = getKeyPropertyFilter(valueList, keyProperty, cleanedOperator, valueToMatch);
64
71
 
65
72
  // Check if the query exceeds the maximum length of the key property
66
73
  const characterLimitOverflow = !$search || $search.length > (keyProperty.maxLength ?? $search.length);
@@ -80,9 +87,12 @@ async function resolveValueUsingValueList(
80
87
  // There is at least one match in the key column:
81
88
  // - If the operator is EQ: This indicates an exact key match, so the returned data will be used.
82
89
  // - For other operators: One or more keys match the value based on the operator, so the original condition is preserved.
83
- return operator === FilterOperator.EQ
90
+ return cleanedOperator === FilterOperator.EQ
84
91
  ? { operator, selectedValues: valueHelpKeyQuery.value.map(mapResult) }
85
- : { operator, selectedValues: [{ value: valueToMatch, description: valueToMatch }] };
92
+ : {
93
+ operator,
94
+ selectedValues: [{ value: valueToMatch, description: valueToMatch }]
95
+ };
86
96
  }
87
97
 
88
98
  if (valueHelpSearchQuery.status === "fulfilled" && valueHelpSearchQuery.value.length > 0) {
@@ -90,7 +100,7 @@ async function resolveValueUsingValueList(
90
100
 
91
101
  let results = valueHelpSearchQuery.value.map(mapResult);
92
102
 
93
- if (operator === FilterOperator.EQ) {
103
+ if (cleanedOperator === FilterOperator.EQ) {
94
104
  const filteredResults = results.filter(
95
105
  (result) => result.description.toString().toLowerCase() === valueToMatch.toString().toLowerCase()
96
106
  );
@@ -99,14 +109,17 @@ async function resolveValueUsingValueList(
99
109
  results = filteredResults;
100
110
  }
101
111
  }
102
- return {
103
- operator,
104
- selectedValues: results
105
- };
112
+
113
+ return { operator, selectedValues: results };
106
114
  }
107
115
 
108
116
  // No matches were found in either query; the original value will be used as a fallback.
109
- return { operator, selectedValues: [{ value: valueToMatch, description: valueToMatch }], noMatch: true };
117
+
118
+ return {
119
+ operator,
120
+ selectedValues: [{ value: valueToMatch, description: valueToMatch }],
121
+ noMatch: true
122
+ };
110
123
  }
111
124
 
112
125
  /**
@@ -138,27 +151,6 @@ export function generateSelectParameter(valueList: ValueListInfo): string {
138
151
  return [valueList.keyPath, valueList.descriptionPath].filter((path) => path && !path.includes("/")).join(",");
139
152
  }
140
153
 
141
- function handleIntervals(
142
- operator: FilterOperator.BT | FilterOperator.NB,
143
- resolvedValues: ValueHelpSelectedValuesDefinition[]
144
- ): ValueHelpSelectedValuesDefinition[] {
145
- const [resolvedLowerBound, resolvedUpperBound] = resolvedValues;
146
-
147
- const result: ValueHelpSelectedValuesDefinition[] = [];
148
- for (const { value: lowerBound, description: lowerBoundText } of resolvedLowerBound.selectedValues) {
149
- for (const { value: upperBound, description: upperBoundText } of resolvedUpperBound.selectedValues) {
150
- result.push({
151
- operator,
152
- selectedValues: [
153
- { value: lowerBound, description: lowerBoundText ?? lowerBound },
154
- { value: upperBound, description: upperBoundText ?? upperBound }
155
- ]
156
- });
157
- }
158
- }
159
- return result;
160
- }
161
-
162
154
  /**
163
155
  * Resolves token-based filter values using a value list.
164
156
  * @param valueList The value list used for resolving values.
@@ -186,16 +178,33 @@ export async function resolveTokenValue(
186
178
  return unresolvedResult([value]);
187
179
  }
188
180
 
189
- const resolvedOperator = operator === FilterOperator.BT || operator === FilterOperator.NB ? FilterOperator.EQ : operator; // BT/NB: Use EQ for resolving the lower/upper bounds
190
- const resolvedValues = await Promise.all(
191
- selectedValues.map(async (selectedValue) =>
192
- resolveValueUsingValueList(valueList, keyProperty, resolvedOperator, selectedValue, looseMatch)
193
- )
194
- );
195
-
196
- return operator === FilterOperator.BT || operator === FilterOperator.NB
197
- ? handleIntervals(operator, resolvedValues)
198
- : resolvedValues.flat();
181
+ // For comparison operators (GreaterThan, LessThan, Between, etc.), skip backend calls
182
+ // and return user input directly to EasyFilter
183
+ if (isComparisonOperator(operator)) {
184
+ if (operator === FilterOperator.BT || operator === FilterOperator.NB) {
185
+ // Handle Between/Not Between operators - they expect exactly 2 values
186
+ const [lowerBound, upperBound] = selectedValues;
187
+ return [
188
+ {
189
+ operator,
190
+ selectedValues: [
191
+ { value: lowerBound, description: lowerBound },
192
+ { value: upperBound, description: upperBound }
193
+ ] as ValueHelpBetweenSelectedValues
194
+ }
195
+ ];
196
+ } else {
197
+ // Handle other comparison operators (GT, GE, LT, LE)
198
+ return unresolvedResult([value]);
199
+ }
200
+ } else {
201
+ const resolvedValues = await Promise.all(
202
+ selectedValues.map(async (selectedValue) =>
203
+ resolveValueUsingValueList(valueList, keyProperty, operator as ScalarOperator, selectedValue, looseMatch)
204
+ )
205
+ );
206
+ return resolvedValues.flat();
207
+ }
199
208
  }
200
209
 
201
210
  /**
@@ -209,3 +218,43 @@ export function unresolvedResult(values: TokenSelectedValuesDefinition[]): Value
209
218
  selectedValues: selectedValues.map((value) => ({ value, description: value }))
210
219
  })) as ValueHelpSelectedValuesDefinition[];
211
220
  }
221
+
222
+ /**
223
+ * Checks if the operator is a negation operator (NE, NotContains, NotStartsWith, NotEndsWith).
224
+ * @param operator The filter operator to check.
225
+ * @returns True if the operator is a negation operator.
226
+ */
227
+ function isNegationOperator(operator: FilterOperator): boolean {
228
+ return [FilterOperator.NE, FilterOperator.NotContains, FilterOperator.NotStartsWith, FilterOperator.NotEndsWith].includes(operator);
229
+ }
230
+
231
+ /**
232
+ * Checks if the operator is a comparison operator (GT, GE, LT, LE, BT, NB).
233
+ * @param operator The filter operator to check.
234
+ * @returns True if the operator is a comparison operator.
235
+ */
236
+ function isComparisonOperator(operator: FilterOperator): boolean {
237
+ return [FilterOperator.GT, FilterOperator.GE, FilterOperator.LT, FilterOperator.LE, FilterOperator.BT, FilterOperator.NB].includes(
238
+ operator
239
+ );
240
+ }
241
+
242
+ /**
243
+ * Converts a negation operator to its positive equivalent (NE -> EQ, NotContains -> Contains, etc.).
244
+ * @param negationOperator The negation operator to convert.
245
+ * @returns The corresponding positive operator.
246
+ */
247
+ export function getPositiveOperator(negationOperator: FilterOperator): ScalarOperator {
248
+ switch (negationOperator) {
249
+ case FilterOperator.NE:
250
+ return FilterOperator.EQ;
251
+ case FilterOperator.NotContains:
252
+ return FilterOperator.Contains;
253
+ case FilterOperator.NotStartsWith:
254
+ return FilterOperator.StartsWith;
255
+ case FilterOperator.NotEndsWith:
256
+ return FilterOperator.EndsWith;
257
+ default:
258
+ return FilterOperator.EQ;
259
+ }
260
+ }
@@ -81,7 +81,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/core/CommonUt
81
81
  press: async () => {
82
82
  try {
83
83
  await environmentService.prepareFeature("SmartSummarize");
84
- const library = await __ui5_require_async("ux/eng/fioriai/reuse/library");
84
+ const library = await __ui5_require_async("ux/eng/fioriai/reuse/summary/SmartSummary");
85
85
  await library.summarize({
86
86
  view: CommonUtils.getTargetView(this)
87
87
  });
@@ -114,4 +114,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/core/CommonUt
114
114
  _exports = SummarizationButton;
115
115
  return _exports;
116
116
  }, false);
117
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdW1tYXJpemF0aW9uQnV0dG9uIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJpbXBsZW1lbnRJbnRlcmZhY2UiLCJfZGVjMyIsInByb3BlcnR5IiwidHlwZSIsInJlcXVpcmVkIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrIiwiX3RoaXMiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiZmVzclN0ZXBOYW1lIiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsIm9uTWV0YWRhdGFBdmFpbGFibGUiLCJjb250ZW50IiwiY3JlYXRlQ29udGVudCIsImdldE92ZXJmbG93VG9vbGJhckNvbmZpZyIsImNhbk92ZXJmbG93IiwiZW52aXJvbm1lbnRTZXJ2aWNlIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMiLCJidXR0b24iLCJlbnZpcm9ubWVudENhcGFiaWxpdGllcyIsIlNtYXJ0U3VtbWFyaXplIiwiX2pzeCIsIkJ1dHRvbiIsImlkIiwiY3JlYXRlSWQiLCJ0ZXh0IiwiaWNvbiIsIkJ1dHRvblR5cGUiLCJHaG9zdCIsInByZXNzIiwicHJlcGFyZUZlYXR1cmUiLCJsaWJyYXJ5IiwiX191aTVfcmVxdWlyZV9hc3luYyIsInN1bW1hcml6ZSIsInZpZXciLCJDb21tb25VdGlscyIsImdldFRhcmdldFZpZXciLCJlcnJvciIsIkxvZyIsInNldExheW91dERhdGEiLCJPdmVyZmxvd1Rvb2xiYXJMYXlvdXREYXRhIiwicHJpb3JpdHkiLCJPdmVyZmxvd1Rvb2xiYXJQcmlvcml0eSIsIkhpZ2giLCJGRVNSSGVscGVyIiwic2V0U2VtYW50aWNTdGVwbmFtZSIsIkJ1aWxkaW5nQmxvY2siLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlN1bW1hcml6YXRpb25CdXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIGltcGxlbWVudEludGVyZmFjZSwgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9jayBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1wiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwic2FwL20vQnV0dG9uXCI7XG5pbXBvcnQgT3ZlcmZsb3dUb29sYmFyTGF5b3V0RGF0YSBmcm9tIFwic2FwL20vT3ZlcmZsb3dUb29sYmFyTGF5b3V0RGF0YVwiO1xuaW1wb3J0IHsgQnV0dG9uVHlwZSwgT3ZlcmZsb3dUb29sYmFyUHJpb3JpdHkgfSBmcm9tIFwic2FwL20vbGlicmFyeVwiO1xuaW1wb3J0IEZFU1JIZWxwZXIgZnJvbSBcInNhcC91aS9wZXJmb3JtYW5jZS90cmFjZS9GRVNSSGVscGVyXCI7XG5cbi8qKlxuICogU3VtbWFyaXphdGlvbiBidXR0b24gYnVpbGRpbmcgYmxvY2suXG4gKlxuICogSWYgdGhlIHN1bW1hcml6YXRpb24gZmVhdHVyZSBpcyBhdmFpbGFibGUsIHRoaXMgYnVpbGRpbmcgYmxvY2sgd2lsbCByZW5kZXIgYSBidXR0b24gdGhhdCB0cmlnZ2VycyB0aGUgc3VtbWFyaXphdGlvbiBmZWF0dXJlLlxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLmFpLlN1bW1hcml6YXRpb25CdXR0b25cIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1bW1hcml6YXRpb25CdXR0b24gZXh0ZW5kcyBCdWlsZGluZ0Jsb2NrIHtcblx0QGltcGxlbWVudEludGVyZmFjZShcInNhcC5tLklPdmVyZmxvd1Rvb2xiYXJDb250ZW50XCIpXG5cdF9faW1wbGVtZW50c19fc2FwX21fSU92ZXJmbG93VG9vbGJhckNvbnRlbnQgPSB0cnVlO1xuXHQvKipcblx0ICogVGhlIElEIG9mIHRoZSBidXR0b24uXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCByZXF1aXJlZDogdHJ1ZSB9KVxuXHRwdWJsaWMgaWQhOiBzdHJpbmc7XG5cblx0ZmVzclN0ZXBOYW1lID0gXCJmZTQ6c3VtOnN1bW1hcml6ZVwiO1xuXG5cdG9uTWV0YWRhdGFBdmFpbGFibGUoKTogdm9pZCB7XG5cdFx0dGhpcy5jb250ZW50ID0gdGhpcy5jcmVhdGVDb250ZW50KCk7XG5cdH1cblxuXHRnZXRPdmVyZmxvd1Rvb2xiYXJDb25maWcoKTogb2JqZWN0IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Y2FuT3ZlcmZsb3c6IHRydWVcblx0XHR9O1xuXHR9XG5cblx0Y3JlYXRlQ29udGVudCgpOiBCdXR0b24gfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IGVudmlyb25tZW50U2VydmljZSA9IHRoaXMuZ2V0QXBwQ29tcG9uZW50KCk/LmdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzKCk7XG5cdFx0bGV0IGJ1dHRvbjtcblx0XHRpZiAoZW52aXJvbm1lbnRTZXJ2aWNlPy5lbnZpcm9ubWVudENhcGFiaWxpdGllcy5TbWFydFN1bW1hcml6ZSA9PT0gdHJ1ZSkge1xuXHRcdFx0YnV0dG9uID0gKFxuXHRcdFx0XHQ8QnV0dG9uXG5cdFx0XHRcdFx0aWQ9e3RoaXMuY3JlYXRlSWQoXCJidXR0b25cIil9XG5cdFx0XHRcdFx0ZHQ6ZGVzaWdudGltZT1cIm5vdC1hZGFwdGFibGVcIlxuXHRcdFx0XHRcdHRleHQ9XCJ7c2FwLmZlLmkxOG4+U1VNTUFSSVpFfVwiXG5cdFx0XHRcdFx0aWNvbj1cInNhcC1pY29uOi8vYWlcIlxuXHRcdFx0XHRcdHR5cGU9e0J1dHRvblR5cGUuR2hvc3R9XG5cdFx0XHRcdFx0cHJlc3M9e2FzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcblx0XHRcdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0XHRcdGF3YWl0IGVudmlyb25tZW50U2VydmljZS5wcmVwYXJlRmVhdHVyZShcIlNtYXJ0U3VtbWFyaXplXCIpO1xuXHRcdFx0XHRcdFx0XHRjb25zdCBsaWJyYXJ5ID0gYXdhaXQgaW1wb3J0KFwidXgvZW5nL2Zpb3JpYWkvcmV1c2UvbGlicmFyeVwiKTtcblx0XHRcdFx0XHRcdFx0YXdhaXQgbGlicmFyeS5zdW1tYXJpemUoeyB2aWV3OiBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KHRoaXMpIH0pO1xuXHRcdFx0XHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdFx0XHRcdFx0TG9nLmVycm9yKFwiU3VtbWFyaXphdGlvbiBmYWlsZWRcIiwgZXJyb3IgYXMgRXJyb3IpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH19XG5cdFx0XHRcdD48L0J1dHRvbj5cblx0XHRcdCk7XG5cdFx0XHR0aGlzLnNldExheW91dERhdGEoPE92ZXJmbG93VG9vbGJhckxheW91dERhdGEgcHJpb3JpdHk9e092ZXJmbG93VG9vbGJhclByaW9yaXR5LkhpZ2h9IC8+KTtcblx0XHRcdEZFU1JIZWxwZXIuc2V0U2VtYW50aWNTdGVwbmFtZShidXR0b24sIFwicHJlc3NcIiwgdGhpcy5mZXNyU3RlcE5hbWUpO1xuXHRcdH1cblx0XHRyZXR1cm4gYnV0dG9uO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFKQSxJQU1xQkEsbUJBQW1CLElBQUFDLElBQUEsR0FEdkNDLGNBQWMsQ0FBQyxzQ0FBc0MsQ0FBQyxFQUFBQyxLQUFBLEdBRXJEQyxrQkFB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
117
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdW1tYXJpemF0aW9uQnV0dG9uIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJpbXBsZW1lbnRJbnRlcmZhY2UiLCJfZGVjMyIsInByb3BlcnR5IiwidHlwZSIsInJlcXVpcmVkIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrIiwiX3RoaXMiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiZmVzclN0ZXBOYW1lIiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsIm9uTWV0YWRhdGFBdmFpbGFibGUiLCJjb250ZW50IiwiY3JlYXRlQ29udGVudCIsImdldE92ZXJmbG93VG9vbGJhckNvbmZpZyIsImNhbk92ZXJmbG93IiwiZW52aXJvbm1lbnRTZXJ2aWNlIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMiLCJidXR0b24iLCJlbnZpcm9ubWVudENhcGFiaWxpdGllcyIsIlNtYXJ0U3VtbWFyaXplIiwiX2pzeCIsIkJ1dHRvbiIsImlkIiwiY3JlYXRlSWQiLCJ0ZXh0IiwiaWNvbiIsIkJ1dHRvblR5cGUiLCJHaG9zdCIsInByZXNzIiwicHJlcGFyZUZlYXR1cmUiLCJsaWJyYXJ5IiwiX191aTVfcmVxdWlyZV9hc3luYyIsInN1bW1hcml6ZSIsInZpZXciLCJDb21tb25VdGlscyIsImdldFRhcmdldFZpZXciLCJlcnJvciIsIkxvZyIsInNldExheW91dERhdGEiLCJPdmVyZmxvd1Rvb2xiYXJMYXlvdXREYXRhIiwicHJpb3JpdHkiLCJPdmVyZmxvd1Rvb2xiYXJQcmlvcml0eSIsIkhpZ2giLCJGRVNSSGVscGVyIiwic2V0U2VtYW50aWNTdGVwbmFtZSIsIkJ1aWxkaW5nQmxvY2siLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlN1bW1hcml6YXRpb25CdXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIGltcGxlbWVudEludGVyZmFjZSwgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9jayBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1wiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwic2FwL20vQnV0dG9uXCI7XG5pbXBvcnQgT3ZlcmZsb3dUb29sYmFyTGF5b3V0RGF0YSBmcm9tIFwic2FwL20vT3ZlcmZsb3dUb29sYmFyTGF5b3V0RGF0YVwiO1xuaW1wb3J0IHsgQnV0dG9uVHlwZSwgT3ZlcmZsb3dUb29sYmFyUHJpb3JpdHkgfSBmcm9tIFwic2FwL20vbGlicmFyeVwiO1xuaW1wb3J0IEZFU1JIZWxwZXIgZnJvbSBcInNhcC91aS9wZXJmb3JtYW5jZS90cmFjZS9GRVNSSGVscGVyXCI7XG5cbi8qKlxuICogU3VtbWFyaXphdGlvbiBidXR0b24gYnVpbGRpbmcgYmxvY2suXG4gKlxuICogSWYgdGhlIHN1bW1hcml6YXRpb24gZmVhdHVyZSBpcyBhdmFpbGFibGUsIHRoaXMgYnVpbGRpbmcgYmxvY2sgd2lsbCByZW5kZXIgYSBidXR0b24gdGhhdCB0cmlnZ2VycyB0aGUgc3VtbWFyaXphdGlvbiBmZWF0dXJlLlxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLmFpLlN1bW1hcml6YXRpb25CdXR0b25cIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1bW1hcml6YXRpb25CdXR0b24gZXh0ZW5kcyBCdWlsZGluZ0Jsb2NrIHtcblx0QGltcGxlbWVudEludGVyZmFjZShcInNhcC5tLklPdmVyZmxvd1Rvb2xiYXJDb250ZW50XCIpXG5cdF9faW1wbGVtZW50c19fc2FwX21fSU92ZXJmbG93VG9vbGJhckNvbnRlbnQgPSB0cnVlO1xuXHQvKipcblx0ICogVGhlIElEIG9mIHRoZSBidXR0b24uXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCByZXF1aXJlZDogdHJ1ZSB9KVxuXHRwdWJsaWMgaWQhOiBzdHJpbmc7XG5cblx0ZmVzclN0ZXBOYW1lID0gXCJmZTQ6c3VtOnN1bW1hcml6ZVwiO1xuXG5cdG9uTWV0YWRhdGFBdmFpbGFibGUoKTogdm9pZCB7XG5cdFx0dGhpcy5jb250ZW50ID0gdGhpcy5jcmVhdGVDb250ZW50KCk7XG5cdH1cblxuXHRnZXRPdmVyZmxvd1Rvb2xiYXJDb25maWcoKTogb2JqZWN0IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Y2FuT3ZlcmZsb3c6IHRydWVcblx0XHR9O1xuXHR9XG5cblx0Y3JlYXRlQ29udGVudCgpOiBCdXR0b24gfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IGVudmlyb25tZW50U2VydmljZSA9IHRoaXMuZ2V0QXBwQ29tcG9uZW50KCk/LmdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzKCk7XG5cdFx0bGV0IGJ1dHRvbjtcblx0XHRpZiAoZW52aXJvbm1lbnRTZXJ2aWNlPy5lbnZpcm9ubWVudENhcGFiaWxpdGllcy5TbWFydFN1bW1hcml6ZSA9PT0gdHJ1ZSkge1xuXHRcdFx0YnV0dG9uID0gKFxuXHRcdFx0XHQ8QnV0dG9uXG5cdFx0XHRcdFx0aWQ9e3RoaXMuY3JlYXRlSWQoXCJidXR0b25cIil9XG5cdFx0XHRcdFx0ZHQ6ZGVzaWdudGltZT1cIm5vdC1hZGFwdGFibGVcIlxuXHRcdFx0XHRcdHRleHQ9XCJ7c2FwLmZlLmkxOG4+U1VNTUFSSVpFfVwiXG5cdFx0XHRcdFx0aWNvbj1cInNhcC1pY29uOi8vYWlcIlxuXHRcdFx0XHRcdHR5cGU9e0J1dHRvblR5cGUuR2hvc3R9XG5cdFx0XHRcdFx0cHJlc3M9e2FzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcblx0XHRcdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0XHRcdGF3YWl0IGVudmlyb25tZW50U2VydmljZS5wcmVwYXJlRmVhdHVyZShcIlNtYXJ0U3VtbWFyaXplXCIpO1xuXHRcdFx0XHRcdFx0XHRjb25zdCBsaWJyYXJ5ID0gYXdhaXQgaW1wb3J0KFwidXgvZW5nL2Zpb3JpYWkvcmV1c2Uvc3VtbWFyeS9TbWFydFN1bW1hcnlcIik7XG5cdFx0XHRcdFx0XHRcdGF3YWl0IGxpYnJhcnkuc3VtbWFyaXplKHsgdmlldzogQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzKSB9KTtcblx0XHRcdFx0XHRcdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0XHRcdFx0XHRcdExvZy5lcnJvcihcIlN1bW1hcml6YXRpb24gZmFpbGVkXCIsIGVycm9yIGFzIEVycm9yKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9fVxuXHRcdFx0XHQ+PC9CdXR0b24+XG5cdFx0XHQpO1xuXHRcdFx0dGhpcy5zZXRMYXlvdXREYXRhKDxPdmVyZmxvd1Rvb2xiYXJMYXlvdXREYXRhIHByaW9yaXR5PXtPdmVyZmxvd1Rvb2xiYXJQcmlvcml0eS5IaWdofSAvPik7XG5cdFx0XHRGRVNSSGVscGVyLnNldFNlbWFudGljU3RlcG5hbWUoYnV0dG9uLCBcInByZXNzXCIsIHRoaXMuZmVzclN0ZXBOYW1lKTtcblx0XHR9XG5cdFx0cmV0dXJuIGJ1dHRvbjtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBSkEsSUFNcUJBLG1CQUFtQixJQUFBQyxJQUFBLEdBRHZDQyxjQUFjLENBQUMsc0NBQXNDLENBQUMsRUFBQUMsS0FB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
@@ -48,7 +48,7 @@ export default class SummarizationButton extends BuildingBlock {
48
48
  press={async (): Promise<void> => {
49
49
  try {
50
50
  await environmentService.prepareFeature("SmartSummarize");
51
- const library = await import("ux/eng/fioriai/reuse/library");
51
+ const library = await import("ux/eng/fioriai/reuse/summary/SmartSummary");
52
52
  await library.summarize({ view: CommonUtils.getTargetView(this) });
53
53
  } catch (error) {
54
54
  Log.error("Summarization failed", error as Error);
@@ -26,7 +26,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "../Chart"], function
26
26
  * This is currently an experimental API because the structure of the generated content will change to come closer to the Chart that you get out of templates.
27
27
  * The public method and property will not change but the internal structure will so be careful on your usage.
28
28
  * @public
29
- * @experimental
29
+ * @ui5-experimental-since
30
30
  * @mixes sap.fe.macros.Chart
31
31
  * @augments sap.ui.core.Control
32
32
  * @deprecatedsince 1.130
@@ -44,4 +44,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "../Chart"], function
44
44
  _exports = Chart;
45
45
  return _exports;
46
46
  }, false);
47
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGFydCIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9jbGFzcyIsIl9DaGFydEJsb2NrIiwicHJvcHMiLCJvdGhlcnMiLCJMb2ciLCJ3YXJuaW5nIiwiY2FsbCIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJDaGFydEJsb2NrIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJDaGFydC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgdHlwZSBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7ICRDb250cm9sU2V0dGluZ3MgfSBmcm9tIFwic2FwL3VpL21kYy9Db250cm9sXCI7XG5pbXBvcnQgQ2hhcnRCbG9jayBmcm9tIFwiLi4vQ2hhcnRcIjtcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayB1c2VkIHRvIGNyZWF0ZSBhIGNoYXJ0IGJhc2VkIG9uIHRoZSBtZXRhZGF0YSBwcm92aWRlZCBieSBPRGF0YSBWNC5cbiAqIDxicj5cbiAqIFVzdWFsbHksIGEgY29udGV4dFBhdGggYW5kIG1ldGFQYXRoIGlzIGV4cGVjdGVkLlxuICpcbiAqIFVzYWdlIGV4YW1wbGU6XG4gKiA8cHJlPlxuICogc2FwLnVpLnJlcXVpcmUoW1wic2FwL2ZlL21hY3Jvcy9jaGFydC9DaGFydFwiXSwgZnVuY3Rpb24oQ2hhcnQpIHtcbiAqIFx0IC4uLlxuICogXHQgbmV3IENoYXJ0KFwibXlDaGFydFwiLCB7bWV0YVBhdGg6XCJNeUNoYXJ0XCJ9KVxuICogfSlcbiAqIDwvcHJlPlxuICpcbiAqIFRoaXMgaXMgY3VycmVudGx5IGFuIGV4cGVyaW1lbnRhbCBBUEkgYmVjYXVzZSB0aGUgc3RydWN0dXJlIG9mIHRoZSBnZW5lcmF0ZWQgY29udGVudCB3aWxsIGNoYW5nZSB0byBjb21lIGNsb3NlciB0byB0aGUgQ2hhcnQgdGhhdCB5b3UgZ2V0IG91dCBvZiB0ZW1wbGF0ZXMuXG4gKiBUaGUgcHVibGljIG1ldGhvZCBhbmQgcHJvcGVydHkgd2lsbCBub3QgY2hhbmdlIGJ1dCB0aGUgaW50ZXJuYWwgc3RydWN0dXJlIHdpbGwgc28gYmUgY2FyZWZ1bCBvbiB5b3VyIHVzYWdlLlxuICogQHB1YmxpY1xuICogQGV4cGVyaW1lbnRhbFxuICogQG1peGVzIHNhcC5mZS5tYWNyb3MuQ2hhcnRcbiAqIEBhdWdtZW50cyBzYXAudWkuY29yZS5Db250cm9sXG4gKiBAZGVwcmVjYXRlZHNpbmNlIDEuMTMwXG4gKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIHNhcC5mZS5tYWNyb3MuQ2hhcnR9IGluc3RlYWRcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jaGFydC5DaGFydFwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2hhcnQgZXh0ZW5kcyBDaGFydEJsb2NrIHtcblx0Y29uc3RydWN0b3IocHJvcHM/OiBQcm9wZXJ0aWVzT2Y8Q2hhcnRCbG9jaz4gJiAkQ29udHJvbFNldHRpbmdzLCBvdGhlcnM/OiAkQ29udHJvbFNldHRpbmdzKSB7XG5cdFx0TG9nLndhcm5pbmcoXCJZb3UndmUgY29uc3VtZWQgZGVwcmVjYXRlZCBDaGFydCBjbGFzcy4gVXNlIHNhcC5mZS5tYWNyb3MuQ2hhcnQgaW5zdGVhZFwiKTtcblx0XHRzdXBlcihwcm9wcywgb3RoZXJzKTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7RUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQXJCQSxJQXVCcUJBLEtBQUssSUFBQUMsSUFBQSxHQUR6QkMsY0FBYyxDQUFDLDJCQUEyQixDQUFDLEVBQUFELElBQUEsQ0FBQUUsTUFBQSwwQkFBQUMsV0FBQTtJQUUzQyxTQUFBSixNQUFZSyxLQUFtRCxFQUFFQyxNQUF5QixFQUFFO01BQzNGQyxHQUFHLENBQUNDLE9BQU8sQ0FBQyx5RUFBeUUsQ0FBQztNQUFDLE9BQ3ZGSixXQUFBLENBQUFLLElBQUEsT0FBTUosS0FBSyxFQUFFQyxNQUFNLENBQUM7SUFDckI7SUFBQ0ksUUFBQSxHQUFBVixLQUFBO0lBQUFXLGNBQUEsQ0FBQVgsS0FBQSxFQUFBSSxXQUFBO0lBQUEsT0FBQUosS0FBQTtFQUFBLEVBSmlDWSxVQUFVLE1BQUFULE1BQUE7RUFBQU8sUUFBQSxHQUFBVixLQUFBO0VBQUEsT0FBQVUsUUFBQTtBQUFBIiwiaWdub3JlTGlzdCI6W119
47
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGFydCIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9jbGFzcyIsIl9DaGFydEJsb2NrIiwicHJvcHMiLCJvdGhlcnMiLCJMb2ciLCJ3YXJuaW5nIiwiY2FsbCIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJDaGFydEJsb2NrIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJDaGFydC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgdHlwZSBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7ICRDb250cm9sU2V0dGluZ3MgfSBmcm9tIFwic2FwL3VpL21kYy9Db250cm9sXCI7XG5pbXBvcnQgQ2hhcnRCbG9jayBmcm9tIFwiLi4vQ2hhcnRcIjtcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayB1c2VkIHRvIGNyZWF0ZSBhIGNoYXJ0IGJhc2VkIG9uIHRoZSBtZXRhZGF0YSBwcm92aWRlZCBieSBPRGF0YSBWNC5cbiAqIDxicj5cbiAqIFVzdWFsbHksIGEgY29udGV4dFBhdGggYW5kIG1ldGFQYXRoIGlzIGV4cGVjdGVkLlxuICpcbiAqIFVzYWdlIGV4YW1wbGU6XG4gKiA8cHJlPlxuICogc2FwLnVpLnJlcXVpcmUoW1wic2FwL2ZlL21hY3Jvcy9jaGFydC9DaGFydFwiXSwgZnVuY3Rpb24oQ2hhcnQpIHtcbiAqIFx0IC4uLlxuICogXHQgbmV3IENoYXJ0KFwibXlDaGFydFwiLCB7bWV0YVBhdGg6XCJNeUNoYXJ0XCJ9KVxuICogfSlcbiAqIDwvcHJlPlxuICpcbiAqIFRoaXMgaXMgY3VycmVudGx5IGFuIGV4cGVyaW1lbnRhbCBBUEkgYmVjYXVzZSB0aGUgc3RydWN0dXJlIG9mIHRoZSBnZW5lcmF0ZWQgY29udGVudCB3aWxsIGNoYW5nZSB0byBjb21lIGNsb3NlciB0byB0aGUgQ2hhcnQgdGhhdCB5b3UgZ2V0IG91dCBvZiB0ZW1wbGF0ZXMuXG4gKiBUaGUgcHVibGljIG1ldGhvZCBhbmQgcHJvcGVydHkgd2lsbCBub3QgY2hhbmdlIGJ1dCB0aGUgaW50ZXJuYWwgc3RydWN0dXJlIHdpbGwgc28gYmUgY2FyZWZ1bCBvbiB5b3VyIHVzYWdlLlxuICogQHB1YmxpY1xuICogQHVpNS1leHBlcmltZW50YWwtc2luY2VcbiAqIEBtaXhlcyBzYXAuZmUubWFjcm9zLkNoYXJ0XG4gKiBAYXVnbWVudHMgc2FwLnVpLmNvcmUuQ29udHJvbFxuICogQGRlcHJlY2F0ZWRzaW5jZSAxLjEzMFxuICogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBzYXAuZmUubWFjcm9zLkNoYXJ0fSBpbnN0ZWFkXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuY2hhcnQuQ2hhcnRcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENoYXJ0IGV4dGVuZHMgQ2hhcnRCbG9jayB7XG5cdGNvbnN0cnVjdG9yKHByb3BzPzogUHJvcGVydGllc09mPENoYXJ0QmxvY2s+ICYgJENvbnRyb2xTZXR0aW5ncywgb3RoZXJzPzogJENvbnRyb2xTZXR0aW5ncykge1xuXHRcdExvZy53YXJuaW5nKFwiWW91J3ZlIGNvbnN1bWVkIGRlcHJlY2F0ZWQgQ2hhcnQgY2xhc3MuIFVzZSBzYXAuZmUubWFjcm9zLkNoYXJ0IGluc3RlYWRcIik7XG5cdFx0c3VwZXIocHJvcHMsIG90aGVycyk7XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0VBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFyQkEsSUF1QnFCQSxLQUFLLElBQUFDLElBQUEsR0FEekJDLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxFQUFBRCxJQUFBLENBQUFFLE1BQUEsMEJBQUFDLFdBQUE7SUFFM0MsU0FBQUosTUFBWUssS0FBbUQsRUFBRUMsTUFBeUIsRUFBRTtNQUMzRkMsR0FBRyxDQUFDQyxPQUFPLENBQUMseUVBQXlFLENBQUM7TUFBQyxPQUN2RkosV0FBQSxDQUFBSyxJQUFBLE9BQU1KLEtBQUssRUFBRUMsTUFBTSxDQUFDO0lBQ3JCO0lBQUNJLFFBQUEsR0FBQVYsS0FBQTtJQUFBVyxjQUFBLENBQUFYLEtBQUEsRUFBQUksV0FBQTtJQUFBLE9BQUFKLEtBQUE7RUFBQSxFQUppQ1ksVUFBVSxNQUFBVCxNQUFBO0VBQUFPLFFBQUEsR0FBQVYsS0FBQTtFQUFBLE9BQUFVLFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -19,7 +19,7 @@ import ChartBlock from "../Chart";
19
19
  * This is currently an experimental API because the structure of the generated content will change to come closer to the Chart that you get out of templates.
20
20
  * The public method and property will not change but the internal structure will so be careful on your usage.
21
21
  * @public
22
- * @experimental
22
+ * @ui5-experimental-since
23
23
  * @mixes sap.fe.macros.Chart
24
24
  * @augments sap.ui.core.Control
25
25
  * @deprecatedsince 1.130