@sapui5/sap.fe.macros 1.141.2 → 1.143.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.
- package/package.json +1 -1
- package/src/sap/fe/macros/.library +1 -1
- package/src/sap/fe/macros/Breadcrumbs.js +4 -10
- package/src/sap/fe/macros/Breadcrumbs.tsx +2 -8
- package/src/sap/fe/macros/Chart.js +34 -23
- package/src/sap/fe/macros/Chart.tsx +25 -11
- package/src/sap/fe/macros/CollaborativeDraftHandler.js +47 -36
- package/src/sap/fe/macros/CollaborativeDraftHandler.tsx +50 -31
- package/src/sap/fe/macros/CollectionBindingInfo.js +8 -2
- package/src/sap/fe/macros/CollectionBindingInfo.ts +11 -6
- package/src/sap/fe/macros/CommonHelper.js +14 -24
- package/src/sap/fe/macros/CommonHelper.ts +18 -25
- package/src/sap/fe/macros/ConditionalSwitch.js +1 -2
- package/src/sap/fe/macros/ConditionalSwitch.tsx +0 -1
- package/src/sap/fe/macros/ConditionalSwitchProperty.js +1 -3
- package/src/sap/fe/macros/ConditionalSwitchProperty.tsx +0 -2
- package/src/sap/fe/macros/Field.js +34 -17
- package/src/sap/fe/macros/Field.ts +64 -32
- package/src/sap/fe/macros/FooterContent.js +7 -3
- package/src/sap/fe/macros/FooterContent.tsx +8 -13
- package/src/sap/fe/macros/KPITag.js +6 -6
- package/src/sap/fe/macros/KPITag.tsx +8 -6
- package/src/sap/fe/macros/MacroAPI.js +4 -3
- package/src/sap/fe/macros/MacroAPI.ts +3 -3
- package/src/sap/fe/macros/MessageButton.js +4 -3
- package/src/sap/fe/macros/MessageButton.tsx +7 -3
- package/src/sap/fe/macros/MicroChart.js +12 -7
- package/src/sap/fe/macros/MicroChart.tsx +9 -3
- package/src/sap/fe/macros/MultiValueField.js +22 -36
- package/src/sap/fe/macros/MultiValueField.tsx +34 -66
- package/src/sap/fe/macros/RichTextEditor.js +3 -4
- package/src/sap/fe/macros/RichTextEditor.tsx +2 -3
- package/src/sap/fe/macros/Share.js +7 -7
- package/src/sap/fe/macros/Share.tsx +9 -6
- package/src/sap/fe/macros/Status.js +39 -11
- package/src/sap/fe/macros/Status.tsx +25 -5
- package/src/sap/fe/macros/ValueHelp.js +5 -2
- package/src/sap/fe/macros/ValueHelp.tsx +5 -0
- package/src/sap/fe/macros/ai/EasyFillDialog.js +2 -1
- package/src/sap/fe/macros/ai/EasyFillDialog.tsx +1 -0
- package/src/sap/fe/macros/ai/EasyFilterBar.js +7 -34
- package/src/sap/fe/macros/ai/EasyFilterBar.tsx +6 -35
- package/src/sap/fe/macros/ai/EasyFilterDataFetcher.js +31 -7
- package/src/sap/fe/macros/ai/EasyFilterDataFetcher.ts +33 -6
- package/src/sap/fe/macros/ai/SummarizationButton.js +6 -4
- package/src/sap/fe/macros/ai/SummarizationButton.tsx +5 -3
- package/src/sap/fe/macros/chart/Action.js +25 -2
- package/src/sap/fe/macros/chart/Action.ts +13 -0
- package/src/sap/fe/macros/chart/ActionGroup.js +25 -2
- package/src/sap/fe/macros/chart/ActionGroup.ts +13 -0
- package/src/sap/fe/macros/chart/ChartDelegate.js +29 -8
- package/src/sap/fe/macros/chart/ChartDelegate.ts +46 -14
- package/src/sap/fe/macros/chart/MdcChartTemplate.js +58 -12
- package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +75 -13
- package/src/sap/fe/macros/chart/OverflowGroup.js +62 -0
- package/src/sap/fe/macros/chart/OverflowGroup.ts +22 -0
- package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.js +7 -7
- package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.ts +3 -2
- package/src/sap/fe/macros/controls/FileWrapper.js +11 -5
- package/src/sap/fe/macros/controls/FileWrapper.ts +10 -4
- package/src/sap/fe/macros/controls/FilterBar.js +39 -3
- package/src/sap/fe/macros/controls/FilterBar.ts +42 -1
- package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.js +3 -1
- package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.tsx +2 -0
- package/src/sap/fe/macros/controls/RadioButtons.js +18 -5
- package/src/sap/fe/macros/controls/RadioButtons.tsx +10 -1
- package/src/sap/fe/macros/coreUI/CreateDialog.js +3 -3
- package/src/sap/fe/macros/coreUI/CreateDialog.tsx +2 -2
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +40 -12
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +48 -9
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.js +4 -2
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.tsx +3 -1
- package/src/sap/fe/macros/field/FieldFormatOptions.js +4 -4
- package/src/sap/fe/macros/field/FieldFormatOptions.ts +2 -2
- package/src/sap/fe/macros/field/FieldHelper.js +4 -3
- package/src/sap/fe/macros/field/FieldHelper.ts +7 -1
- package/src/sap/fe/macros/field/FieldRuntime.js +44 -9
- package/src/sap/fe/macros/field/FieldRuntime.ts +72 -8
- package/src/sap/fe/macros/field/FieldRuntimeHelper.js +3 -34
- package/src/sap/fe/macros/field/FieldRuntimeHelper.ts +28 -53
- package/src/sap/fe/macros/field/FieldTemplating.js +5 -4
- package/src/sap/fe/macros/field/FieldTemplating.ts +6 -4
- package/src/sap/fe/macros/filter/FilterFieldHelper.js +6 -4
- package/src/sap/fe/macros/filter/FilterFieldHelper.ts +7 -2
- package/src/sap/fe/macros/filter/FilterUtils.js +130 -40
- package/src/sap/fe/macros/filter/FilterUtils.ts +167 -45
- package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.js +2 -2
- package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.ts +1 -1
- package/src/sap/fe/macros/filterBar/FilterBar.block.js +4 -3
- package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +19 -8
- package/src/sap/fe/macros/filterBar/FilterBarAPI.js +15 -9
- package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +36 -17
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +21 -10
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +81 -63
- package/src/sap/fe/macros/filterBar/UOMValidationDelegate.js +376 -0
- package/src/sap/fe/macros/filterBar/UOMValidationDelegate.ts +463 -0
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +4 -3
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +3 -2
- package/src/sap/fe/macros/form/Form.block.js +27 -2
- package/src/sap/fe/macros/form/Form.block.ts +31 -11
- package/src/sap/fe/macros/form/FormActionButtons.fragment.xml +13 -3
- package/src/sap/fe/macros/form/FormContainer.block.js +110 -63
- package/src/sap/fe/macros/form/FormContainer.block.ts +121 -64
- package/src/sap/fe/macros/formatters/TableFormatter.js +13 -10
- package/src/sap/fe/macros/formatters/TableFormatter.ts +11 -9
- package/src/sap/fe/macros/formatters/VisualFilterFormatter.js +6 -4
- package/src/sap/fe/macros/formatters/VisualFilterFormatter.ts +5 -5
- package/src/sap/fe/macros/inlineEdit/InlineEdit.js +5 -5
- package/src/sap/fe/macros/inlineEdit/InlineEdit.ts +4 -4
- package/src/sap/fe/macros/insights/InsightsService.js +3 -2
- package/src/sap/fe/macros/insights/InsightsService.ts +2 -1
- package/src/sap/fe/macros/internal/DataPoint.js +7 -8
- package/src/sap/fe/macros/internal/DataPoint.tsx +6 -9
- package/src/sap/fe/macros/internal/field/DisplayStyle.js +8 -6
- package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +7 -8
- package/src/sap/fe/macros/internal/field/EditStyle.js +9 -20
- package/src/sap/fe/macros/internal/field/EditStyle.tsx +17 -41
- package/src/sap/fe/macros/internal/field/FieldBlockStructure.js +2 -2
- package/src/sap/fe/macros/internal/field/FieldBlockStructure.tsx +1 -1
- package/src/sap/fe/macros/internal/field/FieldStructure.js +1 -2
- package/src/sap/fe/macros/internal/field/FieldStructure.tsx +0 -2
- package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +7 -7
- package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +17 -11
- package/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +6 -2
- package/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +5 -1
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.js +9 -6
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.ts +7 -5
- package/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +4 -4
- package/src/sap/fe/macros/internal/valuehelp/TableDelegate.ts +6 -6
- package/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +5 -2
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +2 -2
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +2 -1
- package/src/sap/fe/macros/library.js +5 -6
- package/src/sap/fe/macros/{library.ts → library.tsx} +3 -1
- package/src/sap/fe/macros/mdc/adapter/StateHelper.js +15 -5
- package/src/sap/fe/macros/mdc/adapter/StateHelper.ts +21 -5
- package/src/sap/fe/macros/messagebundle.properties +13 -5
- package/src/sap/fe/macros/messagebundle_ar.properties +12 -3
- package/src/sap/fe/macros/messagebundle_bg.properties +13 -4
- package/src/sap/fe/macros/messagebundle_ca.properties +12 -3
- package/src/sap/fe/macros/messagebundle_cnr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_cs.properties +11 -2
- package/src/sap/fe/macros/messagebundle_cy.properties +12 -3
- package/src/sap/fe/macros/messagebundle_da.properties +12 -3
- package/src/sap/fe/macros/messagebundle_de.properties +16 -7
- package/src/sap/fe/macros/messagebundle_el.properties +13 -4
- package/src/sap/fe/macros/messagebundle_en.properties +13 -4
- package/src/sap/fe/macros/messagebundle_en_GB.properties +13 -4
- package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +13 -4
- package/src/sap/fe/macros/messagebundle_es.properties +12 -3
- package/src/sap/fe/macros/messagebundle_es_MX.properties +12 -3
- package/src/sap/fe/macros/messagebundle_et.properties +12 -3
- package/src/sap/fe/macros/messagebundle_fi.properties +12 -3
- package/src/sap/fe/macros/messagebundle_fr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_fr_CA.properties +12 -3
- package/src/sap/fe/macros/messagebundle_hi.properties +12 -3
- package/src/sap/fe/macros/messagebundle_hr.properties +13 -4
- package/src/sap/fe/macros/messagebundle_hu.properties +12 -3
- package/src/sap/fe/macros/messagebundle_id.properties +18 -9
- package/src/sap/fe/macros/messagebundle_it.properties +12 -3
- package/src/sap/fe/macros/messagebundle_iw.properties +12 -3
- package/src/sap/fe/macros/messagebundle_ja.properties +12 -3
- package/src/sap/fe/macros/messagebundle_kk.properties +11 -2
- package/src/sap/fe/macros/messagebundle_ko.properties +13 -4
- package/src/sap/fe/macros/messagebundle_lt.properties +12 -3
- package/src/sap/fe/macros/messagebundle_lv.properties +12 -3
- package/src/sap/fe/macros/messagebundle_mk.properties +12 -3
- package/src/sap/fe/macros/messagebundle_ms.properties +12 -3
- package/src/sap/fe/macros/messagebundle_nl.properties +12 -3
- package/src/sap/fe/macros/messagebundle_no.properties +12 -3
- package/src/sap/fe/macros/messagebundle_pl.properties +12 -3
- package/src/sap/fe/macros/messagebundle_pt.properties +12 -3
- package/src/sap/fe/macros/messagebundle_pt_PT.properties +12 -3
- package/src/sap/fe/macros/messagebundle_ro.properties +13 -4
- package/src/sap/fe/macros/messagebundle_ru.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sh.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sk.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sl.properties +13 -4
- package/src/sap/fe/macros/messagebundle_sr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sv.properties +12 -3
- package/src/sap/fe/macros/messagebundle_th.properties +11 -2
- package/src/sap/fe/macros/messagebundle_tr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_uk.properties +12 -3
- package/src/sap/fe/macros/messagebundle_vi.properties +13 -4
- package/src/sap/fe/macros/messagebundle_zh_CN.properties +12 -3
- package/src/sap/fe/macros/messagebundle_zh_TW.properties +12 -3
- package/src/sap/fe/macros/messages/MessageButton.js +21 -12
- package/src/sap/fe/macros/messages/MessageButton.ts +21 -11
- package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.js +7 -3
- package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.ts +8 -2
- package/src/sap/fe/macros/quickView/QuickView.js +5 -4
- package/src/sap/fe/macros/quickView/QuickView.tsx +10 -3
- package/src/sap/fe/macros/richtexteditor/ButtonGroup.js +2 -2
- package/src/sap/fe/macros/richtexteditor/ButtonGroup.ts +2 -2
- package/src/sap/fe/macros/table/Action.js +21 -5
- package/src/sap/fe/macros/table/Action.ts +14 -4
- package/src/sap/fe/macros/table/ActionGroup.js +15 -2
- package/src/sap/fe/macros/table/ActionGroup.ts +8 -0
- package/src/sap/fe/macros/table/ActionGroupOverride.js +14 -2
- package/src/sap/fe/macros/table/ActionGroupOverride.ts +7 -0
- package/src/sap/fe/macros/table/ActionOverride.js +14 -2
- package/src/sap/fe/macros/table/ActionOverride.ts +7 -0
- package/src/sap/fe/macros/table/ActionsTemplating.js +16 -2
- package/src/sap/fe/macros/table/ActionsTemplating.tsx +15 -0
- package/src/sap/fe/macros/table/Column.js +3 -2
- package/src/sap/fe/macros/table/Column.ts +1 -1
- package/src/sap/fe/macros/table/MdcTableTemplate.js +96 -18
- package/src/sap/fe/macros/table/MdcTableTemplate.tsx +136 -17
- package/src/sap/fe/macros/table/OverflowGroups.js +59 -0
- package/src/sap/fe/macros/table/OverflowGroups.ts +27 -0
- package/src/sap/fe/macros/table/Table.block.js +74 -30
- package/src/sap/fe/macros/table/Table.block.tsx +77 -14
- package/src/sap/fe/macros/table/TableAPI.js +175 -132
- package/src/sap/fe/macros/table/TableAPI.ts +67 -30
- package/src/sap/fe/macros/table/TableDefinition.js +20 -3
- package/src/sap/fe/macros/table/TableDefinition.ts +18 -2
- package/src/sap/fe/macros/table/TableEventHandlerProvider.js +6 -3
- package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +12 -9
- package/src/sap/fe/macros/table/TableHelper.js +5 -2
- package/src/sap/fe/macros/table/TableHelper.ts +5 -2
- package/src/sap/fe/macros/table/TableRuntime.js +25 -13
- package/src/sap/fe/macros/table/TableRuntime.ts +31 -17
- package/src/sap/fe/macros/table/TableSizeHelper.js +4 -4
- package/src/sap/fe/macros/table/TableSizeHelper.ts +6 -11
- package/src/sap/fe/macros/table/Utils.js +9 -3
- package/src/sap/fe/macros/table/Utils.ts +14 -8
- package/src/sap/fe/macros/table/delegates/TableDelegate.js +72 -29
- package/src/sap/fe/macros/table/delegates/TableDelegate.ts +114 -123
- package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +41 -15
- package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +41 -22
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +15 -6
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +14 -5
- package/src/sap/fe/macros/table/massEdit/MassEditField.js +1 -1
- package/src/sap/fe/macros/table/massEdit/MassEditField.tsx +3 -6
- package/src/sap/fe/macros/table/mixin/ContextMenuHandler.js +2 -3
- package/src/sap/fe/macros/table/mixin/ContextMenuHandler.ts +3 -2
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.js +42 -14
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +49 -19
- package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.js +7 -9
- package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.ts +7 -8
- package/src/sap/fe/macros/table/mixin/TableExport.js +1 -1
- package/src/sap/fe/macros/table/mixin/TableExport.ts +3 -3
- package/src/sap/fe/macros/table/mixin/TableHierarchy.js +3 -4
- package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +2 -3
- package/src/sap/fe/macros/table/uploadTable/UploadTableRuntime.js +5 -4
- package/src/sap/fe/macros/table/uploadTable/UploadTableRuntime.ts +6 -3
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +17 -10
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +24 -9
- package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.js +4 -4
- package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.ts +3 -3
- package/src/sap/fe/macros/visualfilters/VisualFilter.js +20 -2
- package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +28 -6
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +6 -3
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +4 -3
- package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.js +3 -3
- package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.tsx +10 -4
- package/src/sap/fe/macros/visualfilters/fragments/InteractiveDonutChart.fragment.xml +1 -1
|
@@ -88,16 +88,40 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConve
|
|
|
88
88
|
// The key query did not return any matches, but the search query found results. Use the search results instead.
|
|
89
89
|
|
|
90
90
|
let results = valueHelpSearchQuery.value.map(mapResult);
|
|
91
|
+
let filteredResults = [];
|
|
92
|
+
let hasPostProcessingResults = false;
|
|
91
93
|
if (cleanedOperator === FilterOperator.EQ) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
94
|
+
// for EQ we still want to display the results even if it is empty after filtering
|
|
95
|
+
hasPostProcessingResults = true;
|
|
96
|
+
filteredResults = results.filter(result => result.description.toString().toLowerCase() === valueToMatch.toString().toLowerCase());
|
|
97
|
+
if (filteredResults.length === 0) {
|
|
98
|
+
filteredResults = results;
|
|
96
99
|
}
|
|
100
|
+
} else if (cleanedOperator === FilterOperator.StartsWith) {
|
|
101
|
+
filteredResults = results.filter(result => result.description.toString().toLowerCase().startsWith(valueToMatch.toString().toLowerCase()));
|
|
102
|
+
hasPostProcessingResults = filteredResults.length > 0;
|
|
103
|
+
} else if (cleanedOperator === FilterOperator.EndsWith) {
|
|
104
|
+
filteredResults = results.filter(result => result.description.toString().toLowerCase().endsWith(valueToMatch.toString().toLowerCase()));
|
|
105
|
+
hasPostProcessingResults = filteredResults.length > 0;
|
|
106
|
+
} else if (cleanedOperator === FilterOperator.Contains) {
|
|
107
|
+
filteredResults = results.filter(result => result.description.toString().toLowerCase().includes(valueToMatch.toString().toLowerCase()));
|
|
108
|
+
hasPostProcessingResults = filteredResults.length > 0;
|
|
97
109
|
}
|
|
110
|
+
// If post-processing left no results, return user's original input
|
|
111
|
+
if (!hasPostProcessingResults) {
|
|
112
|
+
return {
|
|
113
|
+
operator,
|
|
114
|
+
selectedValues: [{
|
|
115
|
+
value: valueToMatch,
|
|
116
|
+
description: valueToMatch
|
|
117
|
+
}]
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
// If post-processing found results, return the filtered results
|
|
121
|
+
// Always set the operator to EQ/NE, as post-processing ensures an EQ/NE result.
|
|
98
122
|
return {
|
|
99
|
-
operator,
|
|
100
|
-
selectedValues:
|
|
123
|
+
operator: operator === cleanedOperator ? FilterOperator.EQ : FilterOperator.NE,
|
|
124
|
+
selectedValues: filteredResults
|
|
101
125
|
};
|
|
102
126
|
}
|
|
103
127
|
|
|
@@ -258,4 +282,4 @@ sap.ui.define(["sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConve
|
|
|
258
282
|
_exports.getPositiveOperator = getPositiveOperator;
|
|
259
283
|
return _exports;
|
|
260
284
|
}, false);
|
|
261
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRLZXlQcm9wZXJ0eUZpbHRlciIsInZhbHVlTGlzdCIsImtleVByb3BlcnR5Iiwib3BlcmF0b3IiLCJ2YWx1ZVRvTWF0Y2giLCJmaWx0ZXJWYWx1ZSIsImFubm90YXRpb25zIiwiQ29tbW9uIiwiSXNVcHBlckNhc2UiLCJ2YWx1ZU9mIiwidG9VcHBlckNhc2UiLCJGaWx0ZXIiLCJwYXRoIiwia2V5UGF0aCIsInZhbHVlMSIsInJlc29sdmVWYWx1ZVVzaW5nVmFsdWVMaXN0IiwibG9vc2VNYXRjaCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm1vZGVsIiwidmFsdWVMaXN0SW5mbyIsIiRtb2RlbCIsIkNvbGxlY3Rpb25QYXRoIiwiJHNlbGVjdCIsImdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyIiwiJHNlYXJjaCIsIkNvbW1vblV0aWxzIiwibm9ybWFsaXplU2VhcmNoVGVybSIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInRvU3RyaW5nIiwiaXNOZWdhdGlvbiIsImlzTmVnYXRpb25PcGVyYXRvciIsImNsZWFuZWRPcGVyYXRvciIsImdldFBvc2l0aXZlT3BlcmF0b3IiLCJrZXlQcm9wZXJ0eUZpbHRlciIsImNoYXJhY3RlckxpbWl0T3ZlcmZsb3ciLCJtYXhMZW5ndGgiLCJ2YWx1ZUhlbHBLZXlRdWVyeSIsInZhbHVlSGVscFNlYXJjaFF1ZXJ5IiwiUHJvbWlzZSIsImFsbFNldHRsZWQiLCJiaW5kTGlzdCIsInJlcXVlc3RDb250ZXh0cyIsIm1hcFJlc3VsdCIsIm1hcFZhbHVlTGlzdFRvQ29kZUxpc3QiLCJzdGF0dXMiLCJ2YWx1ZSIsIkZpbHRlck9wZXJhdG9yIiwiRVEiLCJzZWxlY3RlZFZhbHVlcyIsIm1hcCIsImRlc2NyaXB0aW9uIiwicmVzdWx0cyIsImZpbHRlcmVkUmVzdWx0cyIsImZpbHRlciIsInJlc3VsdCIsInRvTG93ZXJDYXNlIiwibm9NYXRjaCIsImVuc3VyZURlc2NyaXB0aW9uIiwiY29udGV4dCIsImRhdGEiLCJnZXRPYmplY3QiLCJkZXNjcmlwdGlvblBhdGgiLCJfZXhwb3J0cyIsImluY2x1ZGVzIiwiam9pbiIsInJlc29sdmVUb2tlblZhbHVlIiwic2V0Q29udGludWVPbkVycm9yIiwidmFsdWVMaXN0TWV0YW1vZGVsIiwiY29udmVydFR5cGVzIiwiZ2V0TWV0YU1vZGVsIiwicmVzb2x2ZVBhdGgiLCJ0YXJnZXQiLCJpc1Byb3BlcnR5IiwidW5yZXNvbHZlZFJlc3VsdCIsImlzQ29tcGFyaXNvbk9wZXJhdG9yIiwiQlQiLCJOQiIsImxvd2VyQm91bmQiLCJ1cHBlckJvdW5kIiwicmVzb2x2ZWRWYWx1ZXMiLCJhbGwiLCJzZWxlY3RlZFZhbHVlIiwiZmxhdCIsInZhbHVlcyIsIl9yZWYiLCJORSIsIk5vdENvbnRhaW5zIiwiTm90U3RhcnRzV2l0aCIsIk5vdEVuZHNXaXRoIiwiR1QiLCJHRSIsIkxUIiwiTEUiLCJuZWdhdGlvbk9wZXJhdG9yIiwiQ29udGFpbnMiLCJTdGFydHNXaXRoIiwiRW5kc1dpdGgiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkVhc3lGaWx0ZXJEYXRhRmV0Y2hlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7XG5cdENvZGVMaXN0VHlwZSxcblx0VG9rZW5TZWxlY3RlZFZhbHVlc0RlZmluaXRpb24sXG5cdFZhbHVlSGVscEJldHdlZW5TZWxlY3RlZFZhbHVlcyxcblx0VmFsdWVIZWxwU2VsZWN0ZWRWYWx1ZXNEZWZpbml0aW9uXG59IGZyb20gXCJzYXAvZmUvY29udHJvbHMvZWFzeUZpbHRlci9FYXN5RmlsdGVyQmFyQ29udGFpbmVyXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgeyBjb252ZXJ0VHlwZXMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB7IGlzUHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9UeXBlR3VhcmRzXCI7XG5pbXBvcnQgeyB0eXBlIFZhbHVlTGlzdEluZm8gfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC92YWx1ZWhlbHAvVmFsdWVMaXN0SGVscGVyXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IEZpbHRlciBmcm9tIFwic2FwL3VpL21vZGVsL0ZpbHRlclwiO1xuaW1wb3J0IEZpbHRlck9wZXJhdG9yIGZyb20gXCJzYXAvdWkvbW9kZWwvRmlsdGVyT3BlcmF0b3JcIjtcbmltcG9ydCB0eXBlIHsgQ29kZUxpc3RFbnRyeSB9IGZyb20gXCJ1eC9lbmcvZmlvcmlhaS9yZXVzZS9lYXN5ZmlsdGVyL0Vhc3lGaWx0ZXJcIjtcblxudHlwZSBTY2FsYXJPcGVyYXRvciA9IEV4Y2x1ZGU8RmlsdGVyT3BlcmF0b3IsIEZpbHRlck9wZXJhdG9yLkJUIHwgRmlsdGVyT3BlcmF0b3IuTkI+O1xudHlwZSBTY2FsYXJWYWx1ZSA9IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBEYXRlO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIGZpbHRlciBmb3IgdGhlIGtleSBwcm9wZXJ0eSBvZiBhIHZhbHVlIGxpc3QuXG4gKiBAcGFyYW0gdmFsdWVMaXN0IFRoZSB2YWx1ZSBsaXN0IGluZm9ybWF0aW9uLlxuICogQHBhcmFtIGtleVByb3BlcnR5IFRoZSBrZXkgcHJvcGVydHkgb2YgdGhlIHZhbHVlIGxpc3QuXG4gKiBAcGFyYW0gb3BlcmF0b3IgVGhlIGZpbHRlciBvcGVyYXRvci5cbiAqIEBwYXJhbSB2YWx1ZVRvTWF0Y2ggVGhlIHZhbHVlIHRvIG1hdGNoLlxuICogQHJldHVybnMgQSBmaWx0ZXIgZm9yIHRoZSBrZXkgcHJvcGVydHkuXG4gKi9cbmZ1bmN0aW9uIGdldEtleVByb3BlcnR5RmlsdGVyKFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdGtleVByb3BlcnR5OiBQcm9wZXJ0eSxcblx0b3BlcmF0b3I6IFNjYWxhck9wZXJhdG9yLFxuXHR2YWx1ZVRvTWF0Y2g6IFNjYWxhclZhbHVlXG4pOiBGaWx0ZXIge1xuXHRsZXQgZmlsdGVyVmFsdWUgPSB2YWx1ZVRvTWF0Y2g7XG5cblx0Ly8gSWYgdGhlIGtleSBwcm9wZXJ0eSBpcyBrbm93biB0byBjb250YWluIG9ubHkgdXBwZXJjYXNlIHZhbHVlcywgY29udmVydCB0aGUgZmlsdGVyIHZhbHVlIHRvIHVwcGVyY2FzZSBhcyB3ZWxsXG5cdGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09IFwic3RyaW5nXCIgJiYga2V5UHJvcGVydHkuYW5ub3RhdGlvbnMuQ29tbW9uPy5Jc1VwcGVyQ2FzZT8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0ZmlsdGVyVmFsdWUgPSBmaWx0ZXJWYWx1ZS50b1VwcGVyQ2FzZSgpO1xuXHR9XG5cblx0cmV0dXJuIG5ldyBGaWx0ZXIoeyBwYXRoOiB2YWx1ZUxpc3Qua2V5UGF0aCwgb3BlcmF0b3IsIHZhbHVlMTogZmlsdGVyVmFsdWUgfSk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgYSBzaW5nbGUgc2NhbGFyIHZhbHVlIHVzaW5nIGEgdmFsdWUgbGlzdC5cbiAqIEBwYXJhbSB2YWx1ZUxpc3QgVGhlIHZhbHVlIGxpc3QgaW5mb3JtYXRpb24uXG4gKiBAcGFyYW0ga2V5UHJvcGVydHkgVGhlIGtleSBwcm9wZXJ0eSBvZiB0aGUgdmFsdWUgbGlzdC5cbiAqIEBwYXJhbSBvcGVyYXRvciBUaGUgZmlsdGVyIG9wZXJhdG9yLlxuICogQHBhcmFtIHZhbHVlVG9NYXRjaCBUaGUgdmFsdWUgdG8gbWF0Y2guXG4gKiBAcGFyYW0gbG9vc2VNYXRjaCBXaGV0aGVyIHRvIGFwcGx5IGxvb3NlIG1hdGNoaW5nIG9yIG5vdFxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHNlbGVjdGVkIHZhbHVlcy5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVZhbHVlVXNpbmdWYWx1ZUxpc3QoXG5cdHZhbHVlTGlzdDogVmFsdWVMaXN0SW5mbyxcblx0a2V5UHJvcGVydHk6IFByb3BlcnR5LFxuXHRvcGVyYXRvcjogU2NhbGFyT3BlcmF0b3IsXG5cdHZhbHVlVG9NYXRjaDogU2NhbGFyVmFsdWUsXG5cdGxvb3NlTWF0Y2ggPSBmYWxzZVxuKTogUHJvbWlzZTxWYWx1ZUhlbHBTZWxlY3RlZFZhbHVlc0RlZmluaXRpb24+IHtcblx0Y29uc3QgbW9kZWwgPSB2YWx1ZUxpc3QudmFsdWVMaXN0SW5mby4kbW9kZWw7XG5cdGNvbnN0IHBhdGggPSBgLyR7dmFsdWVMaXN0LnZhbHVlTGlzdEluZm8uQ29sbGVjdGlvblBhdGh9YDtcblx0Y29uc3QgJHNlbGVjdCA9IGdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyKHZhbHVlTGlzdCk7XG5cdGxldCAkc2VhcmNoID0gQ29tbW9uVXRpbHMubm9ybWFsaXplU2VhcmNoVGVybSh2YWx1ZVRvTWF0Y2ggaW5zdGFuY2VvZiBEYXRlID8gdmFsdWVUb01hdGNoLnRvSVNPU3RyaW5nKCkgOiB2YWx1ZVRvTWF0Y2gudG9TdHJpbmcoKSk7XG5cblx0Ly8gSGFuZGxlIG5lZ2F0aW9uIG9wZXJhdG9ycyAoTkUsIE5vdENvbnRhaW5zLCBOb3RTdGFydHNXaXRoLCBOb3RFbmRzV2l0aClcblx0Ly8gU3RyYXRlZ3k6IFF1ZXJ5IGZvciBwb3NpdGl2ZSBjYXNlLCB0aGVuIGFwcGx5IG5lZ2F0aW9uIGNsaWVudC1zaWRlXG5cdGNvbnN0IGlzTmVnYXRpb24gPSBpc05lZ2F0aW9uT3BlcmF0b3Iob3BlcmF0b3IpO1xuXHQvLyBcImNsZWFuZWRcIiBvcGVyYXRvciBmb3IgcG9zc2libGUgbmVnYXRpb24gb3BlcmF0b3JzXG5cdGNvbnN0IGNsZWFuZWRPcGVyYXRvciA9IGlzTmVnYXRpb24gPyBnZXRQb3NpdGl2ZU9wZXJhdG9yKG9wZXJhdG9yKSA6IG9wZXJhdG9yO1xuXHRjb25zdCBrZXlQcm9wZXJ0eUZpbHRlciA9IGdldEtleVByb3BlcnR5RmlsdGVyKHZhbHVlTGlzdCwga2V5UHJvcGVydHksIGNsZWFuZWRPcGVyYXRvciwgdmFsdWVUb01hdGNoKTtcblxuXHQvLyBDaGVjayBpZiB0aGUgcXVlcnkgZXhjZWVkcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIGtleSBwcm9wZXJ0eVxuXHRjb25zdCBjaGFyYWN0ZXJMaW1pdE92ZXJmbG93ID0gISRzZWFyY2ggfHwgJHNlYXJjaC5sZW5ndGggPiAoa2V5UHJvcGVydHkubWF4TGVuZ3RoID8/ICRzZWFyY2gubGVuZ3RoKTtcblxuXHRpZiAoIWxvb3NlTWF0Y2gpIHtcblx0XHQkc2VhcmNoID0gYFwiJHskc2VhcmNofVwiYDsgLy8gRW5zdXJlIHRoZSBzZWFyY2ggdGVybSBpcyB0cmVhdGVkIGFzIGEgcGhyYXNlXG5cdH1cblx0Ly8gSWYgcXVlcnkgZXhjZWVkcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIGtleSBwcm9wZXJ0eSwgd2UgZG9uJ3QgZmlsdGVyIGF0IGFsbCwgYXMgaXQgd291bGQgZ2l2ZSBubyByZXN1bHQgYW55d2F5XG5cdGNvbnN0IFt2YWx1ZUhlbHBLZXlRdWVyeSwgdmFsdWVIZWxwU2VhcmNoUXVlcnldID0gYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFtcblx0XHQhY2hhcmFjdGVyTGltaXRPdmVyZmxvdyA/IG1vZGVsLmJpbmRMaXN0KHBhdGgsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBrZXlQcm9wZXJ0eUZpbHRlciwgeyAkc2VsZWN0IH0pLnJlcXVlc3RDb250ZXh0cygwLCAxKSA6IFtdLCAvLyAkZmlsdGVyIG9uIHRoZSBrZXkgcHJvcGVydHkgb2YgdGhlIHZhbHVlIGxpc3Rcblx0XHRtb2RlbC5iaW5kTGlzdChwYXRoLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB7ICRzZWFyY2g6ICRzZWFyY2gsICRzZWxlY3QgfSkucmVxdWVzdENvbnRleHRzKCkgLy8gJHNlYXJjaCBvbiB0aGUgdmFsdWUgbGlzdFxuXHRdKTtcblxuXHRjb25zdCBtYXBSZXN1bHQgPSBtYXBWYWx1ZUxpc3RUb0NvZGVMaXN0KHZhbHVlTGlzdCwgdHJ1ZSk7XG5cblx0aWYgKHZhbHVlSGVscEtleVF1ZXJ5LnN0YXR1cyA9PT0gXCJmdWxmaWxsZWRcIiAmJiB2YWx1ZUhlbHBLZXlRdWVyeS52YWx1ZS5sZW5ndGggPiAwKSB7XG5cdFx0Ly8gVGhlcmUgaXMgYXQgbGVhc3Qgb25lIG1hdGNoIGluIHRoZSBrZXkgY29sdW1uOlxuXHRcdC8vIC0gSWYgdGhlIG9wZXJhdG9yIGlzIEVROiBUaGlzIGluZGljYXRlcyBhbiBleGFjdCBrZXkgbWF0Y2gsIHNvIHRoZSByZXR1cm5lZCBkYXRhIHdpbGwgYmUgdXNlZC5cblx0XHQvLyAtIEZvciBvdGhlciBvcGVyYXRvcnM6IE9uZSBvciBtb3JlIGtleXMgbWF0Y2ggdGhlIHZhbHVlIGJhc2VkIG9uIHRoZSBvcGVyYXRvciwgc28gdGhlIG9yaWdpbmFsIGNvbmRpdGlvbiBpcyBwcmVzZXJ2ZWQuXG5cdFx0cmV0dXJuIGNsZWFuZWRPcGVyYXRvciA9PT0gRmlsdGVyT3BlcmF0b3IuRVFcblx0XHRcdD8geyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXM6IHZhbHVlSGVscEtleVF1ZXJ5LnZhbHVlLm1hcChtYXBSZXN1bHQpIH1cblx0XHRcdDoge1xuXHRcdFx0XHRcdG9wZXJhdG9yLFxuXHRcdFx0XHRcdHNlbGVjdGVkVmFsdWVzOiBbeyB2YWx1ZTogdmFsdWVUb01hdGNoLCBkZXNjcmlwdGlvbjogdmFsdWVUb01hdGNoIH1dXG5cdFx0XHQgIH07XG5cdH1cblxuXHRpZiAodmFsdWVIZWxwU2VhcmNoUXVlcnkuc3RhdHVzID09PSBcImZ1bGZpbGxlZFwiICYmIHZhbHVlSGVscFNlYXJjaFF1ZXJ5LnZhbHVlLmxlbmd0aCA+IDApIHtcblx0XHQvLyBUaGUga2V5IHF1ZXJ5IGRpZCBub3QgcmV0dXJuIGFueSBtYXRjaGVzLCBidXQgdGhlIHNlYXJjaCBxdWVyeSBmb3VuZCByZXN1bHRzLiBVc2UgdGhlIHNlYXJjaCByZXN1bHRzIGluc3RlYWQuXG5cblx0XHRsZXQgcmVzdWx0cyA9IHZhbHVlSGVscFNlYXJjaFF1ZXJ5LnZhbHVlLm1hcChtYXBSZXN1bHQpO1xuXG5cdFx0aWYgKGNsZWFuZWRPcGVyYXRvciA9PT0gRmlsdGVyT3BlcmF0b3IuRVEpIHtcblx0XHRcdGNvbnN0IGZpbHRlcmVkUmVzdWx0cyA9IHJlc3VsdHMuZmlsdGVyKFxuXHRcdFx0XHQocmVzdWx0KSA9PiByZXN1bHQuZGVzY3JpcHRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSB2YWx1ZVRvTWF0Y2gudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXG5cdFx0XHQpO1xuXHRcdFx0Ly8gSWYgdGhlIHNlYXJjaCBxdWVyeSBpcyBmb3VuZCBvbmNlL211bHRpcGxlIHRpbWVzIGluIHRoZSByZXN1bHQgKyBvcGVyYXRvciBpcyBFUSwgd2UgbmVlZCB0byByZXR1cm4gb25seSB0aG9zZSByZXN1bHRzXG5cdFx0XHRpZiAoZmlsdGVyZWRSZXN1bHRzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0cmVzdWx0cyA9IGZpbHRlcmVkUmVzdWx0cztcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4geyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXM6IHJlc3VsdHMgfTtcblx0fVxuXG5cdC8vIE5vIG1hdGNoZXMgd2VyZSBmb3VuZCBpbiBlaXRoZXIgcXVlcnk7IHRoZSBvcmlnaW5hbCB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgYSBmYWxsYmFjay5cblxuXHRyZXR1cm4ge1xuXHRcdG9wZXJhdG9yLFxuXHRcdHNlbGVjdGVkVmFsdWVzOiBbeyB2YWx1ZTogdmFsdWVUb01hdGNoLCBkZXNjcmlwdGlvbjogdmFsdWVUb01hdGNoIH1dLFxuXHRcdG5vTWF0Y2g6IHRydWVcblx0fTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBtYXBwaW5nIGZ1bmN0aW9uIGZvciBtYXBwaW5nIGEgdmFsdWUgbGlzdCBxdWVyeSByZXN1bHQgdG8gYSBjb2RlIGxpc3QuXG4gKiBAcGFyYW0gdmFsdWVMaXN0IFRoZSB2YWx1ZSBsaXN0IGluZm9ybWF0aW9uIHVzZWQgdG8gaWRlbnRpZnkgdGhlIGtleSBhbmQgZGVzY3JpcHRpb24gcHJvcGVydGllcy5cbiAqIEBwYXJhbSBlbnN1cmVEZXNjcmlwdGlvbiBXaGV0aGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBkZXNjcmlwdGlvbiBpcyBhbHdheXMgcmV0dXJuZWQuXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgbWFwcyBhIHNpbmdsZSB2YWx1ZSBsaXN0IHF1ZXJ5IHJlc3VsdCB0byBhIGNvZGUgbGlzdCBlbnRyeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcFZhbHVlTGlzdFRvQ29kZUxpc3QodmFsdWVMaXN0OiBWYWx1ZUxpc3RJbmZvLCBlbnN1cmVEZXNjcmlwdGlvbjogdHJ1ZSk6IChjb250ZXh0OiBDb250ZXh0KSA9PiBDb2RlTGlzdFR5cGU7XG5leHBvcnQgZnVuY3Rpb24gbWFwVmFsdWVMaXN0VG9Db2RlTGlzdCh2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sIGVuc3VyZURlc2NyaXB0aW9uPzogZmFsc2UpOiAoY29udGV4dDogQ29udGV4dCkgPT4gQ29kZUxpc3RFbnRyeTtcbmV4cG9ydCBmdW5jdGlvbiBtYXBWYWx1ZUxpc3RUb0NvZGVMaXN0KFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdGVuc3VyZURlc2NyaXB0aW9uID0gZmFsc2Vcbik6IChjb250ZXh0OiBDb250ZXh0KSA9PiBDb2RlTGlzdEVudHJ5IHwgQ29kZUxpc3RUeXBlIHtcblx0cmV0dXJuIChjb250ZXh0OiBDb250ZXh0KTogQ29kZUxpc3RFbnRyeSA9PiB7XG5cdFx0Y29uc3QgZGF0YSA9IGNvbnRleHQuZ2V0T2JqZWN0KCk7XG5cdFx0Y29uc3QgdmFsdWUgPSBkYXRhW3ZhbHVlTGlzdC5rZXlQYXRoXTtcblx0XHRjb25zdCBkZXNjcmlwdGlvbiA9IHZhbHVlTGlzdC5kZXNjcmlwdGlvblBhdGggPyBkYXRhW3ZhbHVlTGlzdC5kZXNjcmlwdGlvblBhdGhdIDogdW5kZWZpbmVkO1xuXHRcdHJldHVybiB7IHZhbHVlLCBkZXNjcmlwdGlvbjogZW5zdXJlRGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbiA/PyB2YWx1ZSA6IGRlc2NyaXB0aW9uIH07XG5cdH07XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIHRoZSAkc2VsZWN0IHBhcmFtZXRlciBmb3IgYSB2YWx1ZSBsaXN0IHF1ZXJ5LlxuICogQHBhcmFtIHZhbHVlTGlzdCBUaGUgdmFsdWUgbGlzdCBpbmZvcm1hdGlvbi5cbiAqIEByZXR1cm5zIFRoZSAkc2VsZWN0IHBhcmFtZXRlciBhcyBhIHN0cmluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyKHZhbHVlTGlzdDogVmFsdWVMaXN0SW5mbyk6IHN0cmluZyB7XG5cdHJldHVybiBbdmFsdWVMaXN0LmtleVBhdGgsIHZhbHVlTGlzdC5kZXNjcmlwdGlvblBhdGhdLmZpbHRlcigocGF0aCkgPT4gcGF0aCAmJiAhcGF0aC5pbmNsdWRlcyhcIi9cIikpLmpvaW4oXCIsXCIpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRva2VuLWJhc2VkIGZpbHRlciB2YWx1ZXMgdXNpbmcgYSB2YWx1ZSBsaXN0LlxuICogQHBhcmFtIHZhbHVlTGlzdCBUaGUgdmFsdWUgbGlzdCB1c2VkIGZvciByZXNvbHZpbmcgdmFsdWVzLlxuICogQHBhcmFtIHZhbHVlIFRoZSB0b2tlbi1iYXNlZCBmaWx0ZXIgdmFsdWVzIHRvIHJlc29sdmUuXG4gKiBAcGFyYW0gbG9vc2VNYXRjaCBXaGV0aGVyIHRvIHBlcmZvcm0gYSBsb29zZSBtYXRjaCBvbiB0aGUgdmFsdWVzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2YgcmVzb2x2ZWQgZmlsdGVyIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVUb2tlblZhbHVlKFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdHZhbHVlOiBUb2tlblNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbixcblx0bG9vc2VNYXRjaCA9IGZhbHNlXG4pOiBQcm9taXNlPFZhbHVlSGVscFNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdPiB7XG5cdGNvbnN0IHsgb3BlcmF0b3IsIHNlbGVjdGVkVmFsdWVzIH0gPSB2YWx1ZTtcblx0Y29uc3QgbW9kZWwgPSB2YWx1ZUxpc3QudmFsdWVMaXN0SW5mby4kbW9kZWw7XG5cblx0Ly8gTWFrZSBzdXJlIGFsbCB2YWx1ZXMgYXJlIHJlc29sdmVkLCBldmVuIGlmIHNvbWUgcmVxdWVzdHMgZmFpbC4gSXQgY2FuIGhhcHBlbiB0aGF0IHRoZSBiYWNrZW5kIGNhbm5vdCBwcm9jZXNzIHRoZSAkZmlsdGVyIHF1ZXJpZXMgd2Vcblx0Ly8gcnVuIG9uIHRoZSB2YWx1ZSBsaXN0LCBidXQgd2Ugc3RpbGwgd2FudCB0byBnZXQgdGhlIGZhbGxiYWNrICRzZWFyY2ggcmVzdWx0cy5cblx0bW9kZWwuc2V0Q29udGludWVPbkVycm9yKFwiJGF1dG9cIik7XG5cblx0Y29uc3QgdmFsdWVMaXN0TWV0YW1vZGVsID0gY29udmVydFR5cGVzKG1vZGVsLmdldE1ldGFNb2RlbCgpKTtcblx0Y29uc3Qga2V5UHJvcGVydHkgPSB2YWx1ZUxpc3RNZXRhbW9kZWwucmVzb2x2ZVBhdGgoYC8ke3ZhbHVlTGlzdC52YWx1ZUxpc3RJbmZvLkNvbGxlY3Rpb25QYXRofS8ke3ZhbHVlTGlzdC5rZXlQYXRofWApPy50YXJnZXQ7XG5cblx0aWYgKCFpc1Byb3BlcnR5KGtleVByb3BlcnR5KSkge1xuXHRcdC8vIHNvbWV0aGluZyB3ZW50IHdyb25nIC0gdGhlIGtleSBwcm9wZXJ0eSBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGUgdmFsdWUgbGlzdCBlbnRpdHlcblx0XHRyZXR1cm4gdW5yZXNvbHZlZFJlc3VsdChbdmFsdWVdKTtcblx0fVxuXG5cdC8vIEZvciBjb21wYXJpc29uIG9wZXJhdG9ycyAoR3JlYXRlclRoYW4sIExlc3NUaGFuLCBCZXR3ZWVuLCBldGMuKSwgc2tpcCBiYWNrZW5kIGNhbGxzXG5cdC8vIGFuZCByZXR1cm4gdXNlciBpbnB1dCBkaXJlY3RseSB0byBFYXN5RmlsdGVyXG5cdGlmIChpc0NvbXBhcmlzb25PcGVyYXRvcihvcGVyYXRvcikpIHtcblx0XHRpZiAob3BlcmF0b3IgPT09IEZpbHRlck9wZXJhdG9yLkJUIHx8IG9wZXJhdG9yID09PSBGaWx0ZXJPcGVyYXRvci5OQikge1xuXHRcdFx0Ly8gSGFuZGxlIEJldHdlZW4vTm90IEJldHdlZW4gb3BlcmF0b3JzIC0gdGhleSBleHBlY3QgZXhhY3RseSAyIHZhbHVlc1xuXHRcdFx0Y29uc3QgW2xvd2VyQm91bmQsIHVwcGVyQm91bmRdID0gc2VsZWN0ZWRWYWx1ZXM7XG5cdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0b3BlcmF0b3IsXG5cdFx0XHRcdFx0c2VsZWN0ZWRWYWx1ZXM6IFtcblx0XHRcdFx0XHRcdHsgdmFsdWU6IGxvd2VyQm91bmQsIGRlc2NyaXB0aW9uOiBsb3dlckJvdW5kIH0sXG5cdFx0XHRcdFx0XHR7IHZhbHVlOiB1cHBlckJvdW5kLCBkZXNjcmlwdGlvbjogdXBwZXJCb3VuZCB9XG5cdFx0XHRcdFx0XSBhcyBWYWx1ZUhlbHBCZXR3ZWVuU2VsZWN0ZWRWYWx1ZXNcblx0XHRcdFx0fVxuXHRcdFx0XTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gSGFuZGxlIG90aGVyIGNvbXBhcmlzb24gb3BlcmF0b3JzIChHVCwgR0UsIExULCBMRSlcblx0XHRcdHJldHVybiB1bnJlc29sdmVkUmVzdWx0KFt2YWx1ZV0pO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRjb25zdCByZXNvbHZlZFZhbHVlcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdFx0c2VsZWN0ZWRWYWx1ZXMubWFwKGFzeW5jIChzZWxlY3RlZFZhbHVlKSA9PlxuXHRcdFx0XHRyZXNvbHZlVmFsdWVVc2luZ1ZhbHVlTGlzdCh2YWx1ZUxpc3QsIGtleVByb3BlcnR5LCBvcGVyYXRvciBhcyBTY2FsYXJPcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZSwgbG9vc2VNYXRjaClcblx0XHRcdClcblx0XHQpO1xuXHRcdHJldHVybiByZXNvbHZlZFZhbHVlcy5mbGF0KCk7XG5cdH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB1bnJlc29sdmVkIHZhbHVlcyBpbiB0aGUgZm9ybWF0IGV4cGVjdGVkIGJ5IHRoZSBFYXN5IEZpbHRlciBCYXIuXG4gKiBAcGFyYW0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gYmUgcmVzb2x2ZWQuXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiB1bnJlc29sdmVkIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVucmVzb2x2ZWRSZXN1bHQodmFsdWVzOiBUb2tlblNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdKTogVmFsdWVIZWxwU2VsZWN0ZWRWYWx1ZXNEZWZpbml0aW9uW10ge1xuXHRyZXR1cm4gdmFsdWVzLm1hcCgoeyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXMgfSkgPT4gKHtcblx0XHRvcGVyYXRvcixcblx0XHRzZWxlY3RlZFZhbHVlczogc2VsZWN0ZWRWYWx1ZXMubWFwKCh2YWx1ZSkgPT4gKHsgdmFsdWUsIGRlc2NyaXB0aW9uOiB2YWx1ZSB9KSlcblx0fSkpIGFzIFZhbHVlSGVscFNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgb3BlcmF0b3IgaXMgYSBuZWdhdGlvbiBvcGVyYXRvciAoTkUsIE5vdENvbnRhaW5zLCBOb3RTdGFydHNXaXRoLCBOb3RFbmRzV2l0aCkuXG4gKiBAcGFyYW0gb3BlcmF0b3IgVGhlIGZpbHRlciBvcGVyYXRvciB0byBjaGVjay5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIG9wZXJhdG9yIGlzIGEgbmVnYXRpb24gb3BlcmF0b3IuXG4gKi9cbmZ1bmN0aW9uIGlzTmVnYXRpb25PcGVyYXRvcihvcGVyYXRvcjogRmlsdGVyT3BlcmF0b3IpOiBib29sZWFuIHtcblx0cmV0dXJuIFtGaWx0ZXJPcGVyYXRvci5ORSwgRmlsdGVyT3BlcmF0b3IuTm90Q29udGFpbnMsIEZpbHRlck9wZXJhdG9yLk5vdFN0YXJ0c1dpdGgsIEZpbHRlck9wZXJhdG9yLk5vdEVuZHNXaXRoXS5pbmNsdWRlcyhvcGVyYXRvcik7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBvcGVyYXRvciBpcyBhIGNvbXBhcmlzb24gb3BlcmF0b3IgKEdULCBHRSwgTFQsIExFLCBCVCwgTkIpLlxuICogQHBhcmFtIG9wZXJhdG9yIFRoZSBmaWx0ZXIgb3BlcmF0b3IgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBvcGVyYXRvciBpcyBhIGNvbXBhcmlzb24gb3BlcmF0b3IuXG4gKi9cbmZ1bmN0aW9uIGlzQ29tcGFyaXNvbk9wZXJhdG9yKG9wZXJhdG9yOiBGaWx0ZXJPcGVyYXRvcik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gW0ZpbHRlck9wZXJhdG9yLkdULCBGaWx0ZXJPcGVyYXRvci5HRSwgRmlsdGVyT3BlcmF0b3IuTFQsIEZpbHRlck9wZXJhdG9yLkxFLCBGaWx0ZXJPcGVyYXRvci5CVCwgRmlsdGVyT3BlcmF0b3IuTkJdLmluY2x1ZGVzKFxuXHRcdG9wZXJhdG9yXG5cdCk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBuZWdhdGlvbiBvcGVyYXRvciB0byBpdHMgcG9zaXRpdmUgZXF1aXZhbGVudCAoTkUgLT4gRVEsIE5vdENvbnRhaW5zIC0+IENvbnRhaW5zLCBldGMuKS5cbiAqIEBwYXJhbSBuZWdhdGlvbk9wZXJhdG9yIFRoZSBuZWdhdGlvbiBvcGVyYXRvciB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIGNvcnJlc3BvbmRpbmcgcG9zaXRpdmUgb3BlcmF0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQb3NpdGl2ZU9wZXJhdG9yKG5lZ2F0aW9uT3BlcmF0b3I6IEZpbHRlck9wZXJhdG9yKTogU2NhbGFyT3BlcmF0b3Ige1xuXHRzd2l0Y2ggKG5lZ2F0aW9uT3BlcmF0b3IpIHtcblx0XHRjYXNlIEZpbHRlck9wZXJhdG9yLk5FOlxuXHRcdFx0cmV0dXJuIEZpbHRlck9wZXJhdG9yLkVRO1xuXHRcdGNhc2UgRmlsdGVyT3BlcmF0b3IuTm90Q29udGFpbnM6XG5cdFx0XHRyZXR1cm4gRmlsdGVyT3BlcmF0b3IuQ29udGFpbnM7XG5cdFx0Y2FzZSBGaWx0ZXJPcGVyYXRvci5Ob3RTdGFydHNXaXRoOlxuXHRcdFx0cmV0dXJuIEZpbHRlck9wZXJhdG9yLlN0YXJ0c1dpdGg7XG5cdFx0Y2FzZSBGaWx0ZXJPcGVyYXRvci5Ob3RFbmRzV2l0aDpcblx0XHRcdHJldHVybiBGaWx0ZXJPcGVyYXRvci5FbmRzV2l0aDtcblx0XHRkZWZhdWx0OlxuXHRcdFx0cmV0dXJuIEZpbHRlck9wZXJhdG9yLkVRO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7RUFtQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNBLFNBQVNBLG9CQUFvQkEsQ0FDNUJDLFNBQXdCLEVBQ3hCQyxXQUFxQixFQUNyQkMsUUFBd0IsRUFDeEJDLFlBQXlCLEVBQ2hCO0lBQ1QsSUFBSUMsV0FBVyxHQUFHRCxZQUFZOztJQUU5QjtJQUNBLElBQUksT0FBT0MsV0FBVyxLQUFLLFFBQVEsSUFBSUgsV0FBVyxDQUFDSSxXQUFXLENBQUNDLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyxPQUFPLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtNQUN2R0osV0FBVyxHQUFHQSxXQUFXLENBQUNLLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDO0lBRUEsT0FBTyxJQUFJQyxNQUFNLENBQUM7TUFBRUMsSUFBSSxFQUFFWCxTQUFTLENBQUNZLE9BQU87TUFBRVYsUUFBUTtNQUFFVyxNQUFNLEVBQUVUO0lBQVksQ0FBQyxDQUFDO0VBQzlFOztFQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNBLGVBQWVVLDBCQUEwQkEsQ0FDeENkLFNBQXdCLEVBQ3hCQyxXQUFx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QUFPQSxNQUFNLENBQUNsQyxHQUFHLENBQUNtQyxJQUFBO01BQUEsSUFBQztRQUFFcEYsUUFBUTtRQUFFZ0Q7TUFBZSxDQUFDLEdBQUFvQyxJQUFBO01BQUEsT0FBTTtRQUNwRHBGLFFBQVE7UUFDUmdELGNBQWMsRUFBRUEsY0FBYyxDQUFDQyxHQUFHLENBQUVKLEtBQUssS0FBTTtVQUFFQSxLQUFLO1VBQUVLLFdBQVcsRUFBRUw7UUFBTSxDQUFDLENBQUM7TUFDOUUsQ0FBQztJQUFBLENBQUMsQ0FBQztFQUNKOztFQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFKQWlCLFFBQUEsQ0FBQVcsZ0JBQUEsR0FBQUEsZ0JBQUE7RUFLQSxTQUFTM0Msa0JBQWtCQSxDQUFDOUIsUUFBd0IsRUFBVztJQUM5RCxPQUFPLENBQUM4QyxjQUFjLENBQUN1QyxFQUFFLEVBQUV2QyxjQUFjLENBQUN3QyxXQUFXLEVBQUV4QyxjQUFjLENBQUN5QyxhQUFhLEVBQUV6QyxjQUFjLENBQUMwQyxXQUFXLENBQUMsQ0FBQ3pCLFFBQVEsQ0FBQy9ELFFBQVEsQ0FBQztFQUNwSTs7RUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0EsU0FBUzBFLG9CQUFvQkEsQ0FBQzFFLFFBQXdCLEVBQVc7SUFDaEUsT0FBTyxDQUFDOEMsY0FBYyxDQUFDMkMsRUFBRSxFQUFFM0MsY0FBYyxDQUFDNEMsRUFBRSxFQUFFNUMsY0FBYyxDQUFDNkMsRUFBRSxFQUFFN0MsY0FBYyxDQUFDOEMsRUFBRSxFQUFFOUMsY0FBYyxDQUFDNkIsRUFBRSxFQUFFN0IsY0FBYyxDQUFDOEIsRUFBRSxDQUFDLENBQUNiLFFBQVEsQ0FDakkvRCxRQUNELENBQUM7RUFDRjs7RUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ08sU0FBU2dDLG1CQUFtQkEsQ0FBQzZELGdCQUFnQyxFQUFrQjtJQUNyRixRQUFRQSxnQkFBZ0I7TUFDdkIsS0FBSy9DLGNBQWMsQ0FBQ3VDLEVBQUU7UUFDckIsT0FBT3ZDLGNBQWMsQ0FBQ0MsRUFBRTtNQUN6QixLQUFLRCxjQUFjLENBQUN3QyxXQUFXO1FBQzlCLE9BQU94QyxjQUFjLENBQUNnRCxRQUFRO01BQy9CLEtBQUtoRCxjQUFjLENBQUN5QyxhQUFhO1FBQ2hDLE9BQU96QyxjQUFjLENBQUNpRCxVQUFVO01BQ2pDLEtBQUtqRCxjQUFjLENBQUMwQyxXQUFXO1FBQzlCLE9BQU8xQyxjQUFjLENBQUNrRCxRQUFRO01BQy9CO1FBQ0MsT0FBT2xELGNBQWMsQ0FBQ0MsRUFBRTtJQUMxQjtFQUNEO0VBQUNlLFFBQUEsQ0FBQTlCLG1CQUFBLEdBQUFBLG1CQUFBO0VBQUEsT0FBQThCLFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
285
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRLZXlQcm9wZXJ0eUZpbHRlciIsInZhbHVlTGlzdCIsImtleVByb3BlcnR5Iiwib3BlcmF0b3IiLCJ2YWx1ZVRvTWF0Y2giLCJmaWx0ZXJWYWx1ZSIsImFubm90YXRpb25zIiwiQ29tbW9uIiwiSXNVcHBlckNhc2UiLCJ2YWx1ZU9mIiwidG9VcHBlckNhc2UiLCJGaWx0ZXIiLCJwYXRoIiwia2V5UGF0aCIsInZhbHVlMSIsInJlc29sdmVWYWx1ZVVzaW5nVmFsdWVMaXN0IiwibG9vc2VNYXRjaCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm1vZGVsIiwidmFsdWVMaXN0SW5mbyIsIiRtb2RlbCIsIkNvbGxlY3Rpb25QYXRoIiwiJHNlbGVjdCIsImdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyIiwiJHNlYXJjaCIsIkNvbW1vblV0aWxzIiwibm9ybWFsaXplU2VhcmNoVGVybSIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInRvU3RyaW5nIiwiaXNOZWdhdGlvbiIsImlzTmVnYXRpb25PcGVyYXRvciIsImNsZWFuZWRPcGVyYXRvciIsImdldFBvc2l0aXZlT3BlcmF0b3IiLCJrZXlQcm9wZXJ0eUZpbHRlciIsImNoYXJhY3RlckxpbWl0T3ZlcmZsb3ciLCJtYXhMZW5ndGgiLCJ2YWx1ZUhlbHBLZXlRdWVyeSIsInZhbHVlSGVscFNlYXJjaFF1ZXJ5IiwiUHJvbWlzZSIsImFsbFNldHRsZWQiLCJiaW5kTGlzdCIsInJlcXVlc3RDb250ZXh0cyIsIm1hcFJlc3VsdCIsIm1hcFZhbHVlTGlzdFRvQ29kZUxpc3QiLCJzdGF0dXMiLCJ2YWx1ZSIsIkZpbHRlck9wZXJhdG9yIiwiRVEiLCJzZWxlY3RlZFZhbHVlcyIsIm1hcCIsImRlc2NyaXB0aW9uIiwicmVzdWx0cyIsImZpbHRlcmVkUmVzdWx0cyIsImhhc1Bvc3RQcm9jZXNzaW5nUmVzdWx0cyIsImZpbHRlciIsInJlc3VsdCIsInRvTG93ZXJDYXNlIiwiU3RhcnRzV2l0aCIsInN0YXJ0c1dpdGgiLCJFbmRzV2l0aCIsImVuZHNXaXRoIiwiQ29udGFpbnMiLCJpbmNsdWRlcyIsIk5FIiwibm9NYXRjaCIsImVuc3VyZURlc2NyaXB0aW9uIiwiY29udGV4dCIsImRhdGEiLCJnZXRPYmplY3QiLCJkZXNjcmlwdGlvblBhdGgiLCJfZXhwb3J0cyIsImpvaW4iLCJyZXNvbHZlVG9rZW5WYWx1ZSIsInNldENvbnRpbnVlT25FcnJvciIsInZhbHVlTGlzdE1ldGFtb2RlbCIsImNvbnZlcnRUeXBlcyIsImdldE1ldGFNb2RlbCIsInJlc29sdmVQYXRoIiwidGFyZ2V0IiwiaXNQcm9wZXJ0eSIsInVucmVzb2x2ZWRSZXN1bHQiLCJpc0NvbXBhcmlzb25PcGVyYXRvciIsIkJUIiwiTkIiLCJsb3dlckJvdW5kIiwidXBwZXJCb3VuZCIsInJlc29sdmVkVmFsdWVzIiwiYWxsIiwic2VsZWN0ZWRWYWx1ZSIsImZsYXQiLCJ2YWx1ZXMiLCJfcmVmIiwiTm90Q29udGFpbnMiLCJOb3RTdGFydHNXaXRoIiwiTm90RW5kc1dpdGgiLCJHVCIsIkdFIiwiTFQiLCJMRSIsIm5lZ2F0aW9uT3BlcmF0b3IiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkVhc3lGaWx0ZXJEYXRhRmV0Y2hlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7XG5cdENvZGVMaXN0VHlwZSxcblx0VG9rZW5TZWxlY3RlZFZhbHVlc0RlZmluaXRpb24sXG5cdFZhbHVlSGVscEJldHdlZW5TZWxlY3RlZFZhbHVlcyxcblx0VmFsdWVIZWxwU2VsZWN0ZWRWYWx1ZXNEZWZpbml0aW9uXG59IGZyb20gXCJzYXAvZmUvY29udHJvbHMvZWFzeUZpbHRlci9FYXN5RmlsdGVyQmFyQ29udGFpbmVyXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgeyBjb252ZXJ0VHlwZXMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB7IGlzUHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9UeXBlR3VhcmRzXCI7XG5pbXBvcnQgeyB0eXBlIFZhbHVlTGlzdEluZm8gfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC92YWx1ZWhlbHAvVmFsdWVMaXN0SGVscGVyXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IEZpbHRlciBmcm9tIFwic2FwL3VpL21vZGVsL0ZpbHRlclwiO1xuaW1wb3J0IEZpbHRlck9wZXJhdG9yIGZyb20gXCJzYXAvdWkvbW9kZWwvRmlsdGVyT3BlcmF0b3JcIjtcbmltcG9ydCB0eXBlIHsgQ29kZUxpc3RFbnRyeSB9IGZyb20gXCJ1eC9lbmcvZmlvcmlhaS9yZXVzZS9lYXN5ZmlsdGVyL0Vhc3lGaWx0ZXJcIjtcblxudHlwZSBTY2FsYXJPcGVyYXRvciA9IEV4Y2x1ZGU8RmlsdGVyT3BlcmF0b3IsIEZpbHRlck9wZXJhdG9yLkJUIHwgRmlsdGVyT3BlcmF0b3IuTkI+O1xudHlwZSBTY2FsYXJWYWx1ZSA9IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBEYXRlO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIGZpbHRlciBmb3IgdGhlIGtleSBwcm9wZXJ0eSBvZiBhIHZhbHVlIGxpc3QuXG4gKiBAcGFyYW0gdmFsdWVMaXN0IFRoZSB2YWx1ZSBsaXN0IGluZm9ybWF0aW9uLlxuICogQHBhcmFtIGtleVByb3BlcnR5IFRoZSBrZXkgcHJvcGVydHkgb2YgdGhlIHZhbHVlIGxpc3QuXG4gKiBAcGFyYW0gb3BlcmF0b3IgVGhlIGZpbHRlciBvcGVyYXRvci5cbiAqIEBwYXJhbSB2YWx1ZVRvTWF0Y2ggVGhlIHZhbHVlIHRvIG1hdGNoLlxuICogQHJldHVybnMgQSBmaWx0ZXIgZm9yIHRoZSBrZXkgcHJvcGVydHkuXG4gKi9cbmZ1bmN0aW9uIGdldEtleVByb3BlcnR5RmlsdGVyKFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdGtleVByb3BlcnR5OiBQcm9wZXJ0eSxcblx0b3BlcmF0b3I6IFNjYWxhck9wZXJhdG9yLFxuXHR2YWx1ZVRvTWF0Y2g6IFNjYWxhclZhbHVlXG4pOiBGaWx0ZXIge1xuXHRsZXQgZmlsdGVyVmFsdWUgPSB2YWx1ZVRvTWF0Y2g7XG5cblx0Ly8gSWYgdGhlIGtleSBwcm9wZXJ0eSBpcyBrbm93biB0byBjb250YWluIG9ubHkgdXBwZXJjYXNlIHZhbHVlcywgY29udmVydCB0aGUgZmlsdGVyIHZhbHVlIHRvIHVwcGVyY2FzZSBhcyB3ZWxsXG5cdGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09IFwic3RyaW5nXCIgJiYga2V5UHJvcGVydHkuYW5ub3RhdGlvbnMuQ29tbW9uPy5Jc1VwcGVyQ2FzZT8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0ZmlsdGVyVmFsdWUgPSBmaWx0ZXJWYWx1ZS50b1VwcGVyQ2FzZSgpO1xuXHR9XG5cblx0cmV0dXJuIG5ldyBGaWx0ZXIoeyBwYXRoOiB2YWx1ZUxpc3Qua2V5UGF0aCwgb3BlcmF0b3IsIHZhbHVlMTogZmlsdGVyVmFsdWUgfSk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgYSBzaW5nbGUgc2NhbGFyIHZhbHVlIHVzaW5nIGEgdmFsdWUgbGlzdC5cbiAqIEBwYXJhbSB2YWx1ZUxpc3QgVGhlIHZhbHVlIGxpc3QgaW5mb3JtYXRpb24uXG4gKiBAcGFyYW0ga2V5UHJvcGVydHkgVGhlIGtleSBwcm9wZXJ0eSBvZiB0aGUgdmFsdWUgbGlzdC5cbiAqIEBwYXJhbSBvcGVyYXRvciBUaGUgZmlsdGVyIG9wZXJhdG9yLlxuICogQHBhcmFtIHZhbHVlVG9NYXRjaCBUaGUgdmFsdWUgdG8gbWF0Y2guXG4gKiBAcGFyYW0gbG9vc2VNYXRjaCBXaGV0aGVyIHRvIGFwcGx5IGxvb3NlIG1hdGNoaW5nIG9yIG5vdFxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHNlbGVjdGVkIHZhbHVlcy5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVZhbHVlVXNpbmdWYWx1ZUxpc3QoXG5cdHZhbHVlTGlzdDogVmFsdWVMaXN0SW5mbyxcblx0a2V5UHJvcGVydHk6IFByb3BlcnR5LFxuXHRvcGVyYXRvcjogU2NhbGFyT3BlcmF0b3IsXG5cdHZhbHVlVG9NYXRjaDogU2NhbGFyVmFsdWUsXG5cdGxvb3NlTWF0Y2ggPSBmYWxzZVxuKTogUHJvbWlzZTxWYWx1ZUhlbHBTZWxlY3RlZFZhbHVlc0RlZmluaXRpb24+IHtcblx0Y29uc3QgbW9kZWwgPSB2YWx1ZUxpc3QudmFsdWVMaXN0SW5mby4kbW9kZWw7XG5cdGNvbnN0IHBhdGggPSBgLyR7dmFsdWVMaXN0LnZhbHVlTGlzdEluZm8uQ29sbGVjdGlvblBhdGh9YDtcblx0Y29uc3QgJHNlbGVjdCA9IGdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyKHZhbHVlTGlzdCk7XG5cdGxldCAkc2VhcmNoID0gQ29tbW9uVXRpbHMubm9ybWFsaXplU2VhcmNoVGVybSh2YWx1ZVRvTWF0Y2ggaW5zdGFuY2VvZiBEYXRlID8gdmFsdWVUb01hdGNoLnRvSVNPU3RyaW5nKCkgOiB2YWx1ZVRvTWF0Y2gudG9TdHJpbmcoKSk7XG5cblx0Ly8gSGFuZGxlIG5lZ2F0aW9uIG9wZXJhdG9ycyAoTkUsIE5vdENvbnRhaW5zLCBOb3RTdGFydHNXaXRoLCBOb3RFbmRzV2l0aClcblx0Ly8gU3RyYXRlZ3k6IFF1ZXJ5IGZvciBwb3NpdGl2ZSBjYXNlLCB0aGVuIGFwcGx5IG5lZ2F0aW9uIGNsaWVudC1zaWRlXG5cdGNvbnN0IGlzTmVnYXRpb24gPSBpc05lZ2F0aW9uT3BlcmF0b3Iob3BlcmF0b3IpO1xuXHQvLyBcImNsZWFuZWRcIiBvcGVyYXRvciBmb3IgcG9zc2libGUgbmVnYXRpb24gb3BlcmF0b3JzXG5cdGNvbnN0IGNsZWFuZWRPcGVyYXRvciA9IGlzTmVnYXRpb24gPyBnZXRQb3NpdGl2ZU9wZXJhdG9yKG9wZXJhdG9yKSA6IG9wZXJhdG9yO1xuXHRjb25zdCBrZXlQcm9wZXJ0eUZpbHRlciA9IGdldEtleVByb3BlcnR5RmlsdGVyKHZhbHVlTGlzdCwga2V5UHJvcGVydHksIGNsZWFuZWRPcGVyYXRvciwgdmFsdWVUb01hdGNoKTtcblxuXHQvLyBDaGVjayBpZiB0aGUgcXVlcnkgZXhjZWVkcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIGtleSBwcm9wZXJ0eVxuXHRjb25zdCBjaGFyYWN0ZXJMaW1pdE92ZXJmbG93ID0gISRzZWFyY2ggfHwgJHNlYXJjaC5sZW5ndGggPiAoa2V5UHJvcGVydHkubWF4TGVuZ3RoID8/ICRzZWFyY2gubGVuZ3RoKTtcblxuXHRpZiAoIWxvb3NlTWF0Y2gpIHtcblx0XHQkc2VhcmNoID0gYFwiJHskc2VhcmNofVwiYDsgLy8gRW5zdXJlIHRoZSBzZWFyY2ggdGVybSBpcyB0cmVhdGVkIGFzIGEgcGhyYXNlXG5cdH1cblx0Ly8gSWYgcXVlcnkgZXhjZWVkcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIGtleSBwcm9wZXJ0eSwgd2UgZG9uJ3QgZmlsdGVyIGF0IGFsbCwgYXMgaXQgd291bGQgZ2l2ZSBubyByZXN1bHQgYW55d2F5XG5cdGNvbnN0IFt2YWx1ZUhlbHBLZXlRdWVyeSwgdmFsdWVIZWxwU2VhcmNoUXVlcnldID0gYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFtcblx0XHQhY2hhcmFjdGVyTGltaXRPdmVyZmxvdyA/IG1vZGVsLmJpbmRMaXN0KHBhdGgsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBrZXlQcm9wZXJ0eUZpbHRlciwgeyAkc2VsZWN0IH0pLnJlcXVlc3RDb250ZXh0cygwLCAxKSA6IFtdLCAvLyAkZmlsdGVyIG9uIHRoZSBrZXkgcHJvcGVydHkgb2YgdGhlIHZhbHVlIGxpc3Rcblx0XHRtb2RlbC5iaW5kTGlzdChwYXRoLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB7ICRzZWFyY2g6ICRzZWFyY2gsICRzZWxlY3QgfSkucmVxdWVzdENvbnRleHRzKCkgLy8gJHNlYXJjaCBvbiB0aGUgdmFsdWUgbGlzdFxuXHRdKTtcblxuXHRjb25zdCBtYXBSZXN1bHQgPSBtYXBWYWx1ZUxpc3RUb0NvZGVMaXN0KHZhbHVlTGlzdCwgdHJ1ZSk7XG5cblx0aWYgKHZhbHVlSGVscEtleVF1ZXJ5LnN0YXR1cyA9PT0gXCJmdWxmaWxsZWRcIiAmJiB2YWx1ZUhlbHBLZXlRdWVyeS52YWx1ZS5sZW5ndGggPiAwKSB7XG5cdFx0Ly8gVGhlcmUgaXMgYXQgbGVhc3Qgb25lIG1hdGNoIGluIHRoZSBrZXkgY29sdW1uOlxuXHRcdC8vIC0gSWYgdGhlIG9wZXJhdG9yIGlzIEVROiBUaGlzIGluZGljYXRlcyBhbiBleGFjdCBrZXkgbWF0Y2gsIHNvIHRoZSByZXR1cm5lZCBkYXRhIHdpbGwgYmUgdXNlZC5cblx0XHQvLyAtIEZvciBvdGhlciBvcGVyYXRvcnM6IE9uZSBvciBtb3JlIGtleXMgbWF0Y2ggdGhlIHZhbHVlIGJhc2VkIG9uIHRoZSBvcGVyYXRvciwgc28gdGhlIG9yaWdpbmFsIGNvbmRpdGlvbiBpcyBwcmVzZXJ2ZWQuXG5cdFx0cmV0dXJuIGNsZWFuZWRPcGVyYXRvciA9PT0gRmlsdGVyT3BlcmF0b3IuRVFcblx0XHRcdD8geyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXM6IHZhbHVlSGVscEtleVF1ZXJ5LnZhbHVlLm1hcChtYXBSZXN1bHQpIH1cblx0XHRcdDoge1xuXHRcdFx0XHRcdG9wZXJhdG9yLFxuXHRcdFx0XHRcdHNlbGVjdGVkVmFsdWVzOiBbeyB2YWx1ZTogdmFsdWVUb01hdGNoLCBkZXNjcmlwdGlvbjogdmFsdWVUb01hdGNoIH1dXG5cdFx0XHQgIH07XG5cdH1cblxuXHRpZiAodmFsdWVIZWxwU2VhcmNoUXVlcnkuc3RhdHVzID09PSBcImZ1bGZpbGxlZFwiICYmIHZhbHVlSGVscFNlYXJjaFF1ZXJ5LnZhbHVlLmxlbmd0aCA+IDApIHtcblx0XHQvLyBUaGUga2V5IHF1ZXJ5IGRpZCBub3QgcmV0dXJuIGFueSBtYXRjaGVzLCBidXQgdGhlIHNlYXJjaCBxdWVyeSBmb3VuZCByZXN1bHRzLiBVc2UgdGhlIHNlYXJjaCByZXN1bHRzIGluc3RlYWQuXG5cblx0XHRsZXQgcmVzdWx0cyA9IHZhbHVlSGVscFNlYXJjaFF1ZXJ5LnZhbHVlLm1hcChtYXBSZXN1bHQpO1xuXG5cdFx0bGV0IGZpbHRlcmVkUmVzdWx0czogQ29kZUxpc3RUeXBlW10gPSBbXTtcblx0XHRsZXQgaGFzUG9zdFByb2Nlc3NpbmdSZXN1bHRzID0gZmFsc2U7XG5cblx0XHRpZiAoY2xlYW5lZE9wZXJhdG9yID09PSBGaWx0ZXJPcGVyYXRvci5FUSkge1xuXHRcdFx0Ly8gZm9yIEVRIHdlIHN0aWxsIHdhbnQgdG8gZGlzcGxheSB0aGUgcmVzdWx0cyBldmVuIGlmIGl0IGlzIGVtcHR5IGFmdGVyIGZpbHRlcmluZ1xuXHRcdFx0aGFzUG9zdFByb2Nlc3NpbmdSZXN1bHRzID0gdHJ1ZTtcblx0XHRcdGZpbHRlcmVkUmVzdWx0cyA9IHJlc3VsdHMuZmlsdGVyKFxuXHRcdFx0XHQocmVzdWx0KSA9PiByZXN1bHQuZGVzY3JpcHRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSB2YWx1ZVRvTWF0Y2gudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXG5cdFx0XHQpO1xuXHRcdFx0aWYgKGZpbHRlcmVkUmVzdWx0cy5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0ZmlsdGVyZWRSZXN1bHRzID0gcmVzdWx0cztcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKGNsZWFuZWRPcGVyYXRvciA9PT0gRmlsdGVyT3BlcmF0b3IuU3RhcnRzV2l0aCkge1xuXHRcdFx0ZmlsdGVyZWRSZXN1bHRzID0gcmVzdWx0cy5maWx0ZXIoKHJlc3VsdCkgPT5cblx0XHRcdFx0cmVzdWx0LmRlc2NyaXB0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKHZhbHVlVG9NYXRjaC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkpXG5cdFx0XHQpO1xuXHRcdFx0aGFzUG9zdFByb2Nlc3NpbmdSZXN1bHRzID0gZmlsdGVyZWRSZXN1bHRzLmxlbmd0aCA+IDA7XG5cdFx0fSBlbHNlIGlmIChjbGVhbmVkT3BlcmF0b3IgPT09IEZpbHRlck9wZXJhdG9yLkVuZHNXaXRoKSB7XG5cdFx0XHRmaWx0ZXJlZFJlc3VsdHMgPSByZXN1bHRzLmZpbHRlcigocmVzdWx0KSA9PlxuXHRcdFx0XHRyZXN1bHQuZGVzY3JpcHRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHZhbHVlVG9NYXRjaC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkpXG5cdFx0XHQpO1xuXHRcdFx0aGFzUG9zdFByb2Nlc3NpbmdSZXN1bHRzID0gZmlsdGVyZWRSZXN1bHRzLmxlbmd0aCA+IDA7XG5cdFx0fSBlbHNlIGlmIChjbGVhbmVkT3BlcmF0b3IgPT09IEZpbHRlck9wZXJhdG9yLkNvbnRhaW5zKSB7XG5cdFx0XHRmaWx0ZXJlZFJlc3VsdHMgPSByZXN1bHRzLmZpbHRlcigocmVzdWx0KSA9PlxuXHRcdFx0XHRyZXN1bHQuZGVzY3JpcHRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbHVlVG9NYXRjaC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkpXG5cdFx0XHQpO1xuXHRcdFx0aGFzUG9zdFByb2Nlc3NpbmdSZXN1bHRzID0gZmlsdGVyZWRSZXN1bHRzLmxlbmd0aCA+IDA7XG5cdFx0fVxuXHRcdC8vIElmIHBvc3QtcHJvY2Vzc2luZyBsZWZ0IG5vIHJlc3VsdHMsIHJldHVybiB1c2VyJ3Mgb3JpZ2luYWwgaW5wdXRcblx0XHRpZiAoIWhhc1Bvc3RQcm9jZXNzaW5nUmVzdWx0cykge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0b3BlcmF0b3IsXG5cdFx0XHRcdHNlbGVjdGVkVmFsdWVzOiBbeyB2YWx1ZTogdmFsdWVUb01hdGNoLCBkZXNjcmlwdGlvbjogdmFsdWVUb01hdGNoIH1dXG5cdFx0XHR9O1xuXHRcdH1cblx0XHQvLyBJZiBwb3N0LXByb2Nlc3NpbmcgZm91bmQgcmVzdWx0cywgcmV0dXJuIHRoZSBmaWx0ZXJlZCByZXN1bHRzXG5cdFx0Ly8gQWx3YXlzIHNldCB0aGUgb3BlcmF0b3IgdG8gRVEvTkUsIGFzIHBvc3QtcHJvY2Vzc2luZyBlbnN1cmVzIGFuIEVRL05FIHJlc3VsdC5cblx0XHRyZXR1cm4geyBvcGVyYXRvcjogb3BlcmF0b3IgPT09IGNsZWFuZWRPcGVyYXRvciA/IEZpbHRlck9wZXJhdG9yLkVRIDogRmlsdGVyT3BlcmF0b3IuTkUsIHNlbGVjdGVkVmFsdWVzOiBmaWx0ZXJlZFJlc3VsdHMgfTtcblx0fVxuXG5cdC8vIE5vIG1hdGNoZXMgd2VyZSBmb3VuZCBpbiBlaXRoZXIgcXVlcnk7IHRoZSBvcmlnaW5hbCB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgYSBmYWxsYmFjay5cblxuXHRyZXR1cm4ge1xuXHRcdG9wZXJhdG9yLFxuXHRcdHNlbGVjdGVkVmFsdWVzOiBbeyB2YWx1ZTogdmFsdWVUb01hdGNoLCBkZXNjcmlwdGlvbjogdmFsdWVUb01hdGNoIH1dLFxuXHRcdG5vTWF0Y2g6IHRydWVcblx0fTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBtYXBwaW5nIGZ1bmN0aW9uIGZvciBtYXBwaW5nIGEgdmFsdWUgbGlzdCBxdWVyeSByZXN1bHQgdG8gYSBjb2RlIGxpc3QuXG4gKiBAcGFyYW0gdmFsdWVMaXN0IFRoZSB2YWx1ZSBsaXN0IGluZm9ybWF0aW9uIHVzZWQgdG8gaWRlbnRpZnkgdGhlIGtleSBhbmQgZGVzY3JpcHRpb24gcHJvcGVydGllcy5cbiAqIEBwYXJhbSBlbnN1cmVEZXNjcmlwdGlvbiBXaGV0aGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBkZXNjcmlwdGlvbiBpcyBhbHdheXMgcmV0dXJuZWQuXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgbWFwcyBhIHNpbmdsZSB2YWx1ZSBsaXN0IHF1ZXJ5IHJlc3VsdCB0byBhIGNvZGUgbGlzdCBlbnRyeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcFZhbHVlTGlzdFRvQ29kZUxpc3QodmFsdWVMaXN0OiBWYWx1ZUxpc3RJbmZvLCBlbnN1cmVEZXNjcmlwdGlvbjogdHJ1ZSk6IChjb250ZXh0OiBDb250ZXh0KSA9PiBDb2RlTGlzdFR5cGU7XG5leHBvcnQgZnVuY3Rpb24gbWFwVmFsdWVMaXN0VG9Db2RlTGlzdCh2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sIGVuc3VyZURlc2NyaXB0aW9uPzogZmFsc2UpOiAoY29udGV4dDogQ29udGV4dCkgPT4gQ29kZUxpc3RFbnRyeTtcbmV4cG9ydCBmdW5jdGlvbiBtYXBWYWx1ZUxpc3RUb0NvZGVMaXN0KFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdGVuc3VyZURlc2NyaXB0aW9uID0gZmFsc2Vcbik6IChjb250ZXh0OiBDb250ZXh0KSA9PiBDb2RlTGlzdEVudHJ5IHwgQ29kZUxpc3RUeXBlIHtcblx0cmV0dXJuIChjb250ZXh0OiBDb250ZXh0KTogQ29kZUxpc3RFbnRyeSA9PiB7XG5cdFx0Y29uc3QgZGF0YSA9IGNvbnRleHQuZ2V0T2JqZWN0KCk7XG5cdFx0Y29uc3QgdmFsdWUgPSBkYXRhW3ZhbHVlTGlzdC5rZXlQYXRoXTtcblx0XHRjb25zdCBkZXNjcmlwdGlvbiA9IHZhbHVlTGlzdC5kZXNjcmlwdGlvblBhdGggPyBkYXRhW3ZhbHVlTGlzdC5kZXNjcmlwdGlvblBhdGhdIDogdW5kZWZpbmVkO1xuXHRcdHJldHVybiB7IHZhbHVlLCBkZXNjcmlwdGlvbjogZW5zdXJlRGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbiA/PyB2YWx1ZSA6IGRlc2NyaXB0aW9uIH07XG5cdH07XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIHRoZSAkc2VsZWN0IHBhcmFtZXRlciBmb3IgYSB2YWx1ZSBsaXN0IHF1ZXJ5LlxuICogQHBhcmFtIHZhbHVlTGlzdCBUaGUgdmFsdWUgbGlzdCBpbmZvcm1hdGlvbi5cbiAqIEByZXR1cm5zIFRoZSAkc2VsZWN0IHBhcmFtZXRlciBhcyBhIHN0cmluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlU2VsZWN0UGFyYW1ldGVyKHZhbHVlTGlzdDogVmFsdWVMaXN0SW5mbyk6IHN0cmluZyB7XG5cdHJldHVybiBbdmFsdWVMaXN0LmtleVBhdGgsIHZhbHVlTGlzdC5kZXNjcmlwdGlvblBhdGhdLmZpbHRlcigocGF0aCkgPT4gcGF0aCAmJiAhcGF0aC5pbmNsdWRlcyhcIi9cIikpLmpvaW4oXCIsXCIpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRva2VuLWJhc2VkIGZpbHRlciB2YWx1ZXMgdXNpbmcgYSB2YWx1ZSBsaXN0LlxuICogQHBhcmFtIHZhbHVlTGlzdCBUaGUgdmFsdWUgbGlzdCB1c2VkIGZvciByZXNvbHZpbmcgdmFsdWVzLlxuICogQHBhcmFtIHZhbHVlIFRoZSB0b2tlbi1iYXNlZCBmaWx0ZXIgdmFsdWVzIHRvIHJlc29sdmUuXG4gKiBAcGFyYW0gbG9vc2VNYXRjaCBXaGV0aGVyIHRvIHBlcmZvcm0gYSBsb29zZSBtYXRjaCBvbiB0aGUgdmFsdWVzLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgb2YgcmVzb2x2ZWQgZmlsdGVyIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVUb2tlblZhbHVlKFxuXHR2YWx1ZUxpc3Q6IFZhbHVlTGlzdEluZm8sXG5cdHZhbHVlOiBUb2tlblNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbixcblx0bG9vc2VNYXRjaCA9IGZhbHNlXG4pOiBQcm9taXNlPFZhbHVlSGVscFNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdPiB7XG5cdGNvbnN0IHsgb3BlcmF0b3IsIHNlbGVjdGVkVmFsdWVzIH0gPSB2YWx1ZTtcblx0Y29uc3QgbW9kZWwgPSB2YWx1ZUxpc3QudmFsdWVMaXN0SW5mby4kbW9kZWw7XG5cblx0Ly8gTWFrZSBzdXJlIGFsbCB2YWx1ZXMgYXJlIHJlc29sdmVkLCBldmVuIGlmIHNvbWUgcmVxdWVzdHMgZmFpbC4gSXQgY2FuIGhhcHBlbiB0aGF0IHRoZSBiYWNrZW5kIGNhbm5vdCBwcm9jZXNzIHRoZSAkZmlsdGVyIHF1ZXJpZXMgd2Vcblx0Ly8gcnVuIG9uIHRoZSB2YWx1ZSBsaXN0LCBidXQgd2Ugc3RpbGwgd2FudCB0byBnZXQgdGhlIGZhbGxiYWNrICRzZWFyY2ggcmVzdWx0cy5cblx0bW9kZWwuc2V0Q29udGludWVPbkVycm9yKFwiJGF1dG9cIik7XG5cblx0Y29uc3QgdmFsdWVMaXN0TWV0YW1vZGVsID0gY29udmVydFR5cGVzKG1vZGVsLmdldE1ldGFNb2RlbCgpKTtcblx0Y29uc3Qga2V5UHJvcGVydHkgPSB2YWx1ZUxpc3RNZXRhbW9kZWwucmVzb2x2ZVBhdGgoYC8ke3ZhbHVlTGlzdC52YWx1ZUxpc3RJbmZvLkNvbGxlY3Rpb25QYXRofS8ke3ZhbHVlTGlzdC5rZXlQYXRofWApPy50YXJnZXQ7XG5cblx0aWYgKCFpc1Byb3BlcnR5KGtleVByb3BlcnR5KSkge1xuXHRcdC8vIHNvbWV0aGluZyB3ZW50IHdyb25nIC0gdGhlIGtleSBwcm9wZXJ0eSBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGUgdmFsdWUgbGlzdCBlbnRpdHlcblx0XHRyZXR1cm4gdW5yZXNvbHZlZFJlc3VsdChbdmFsdWVdKTtcblx0fVxuXG5cdC8vIEZvciBjb21wYXJpc29uIG9wZXJhdG9ycyAoR3JlYXRlclRoYW4sIExlc3NUaGFuLCBCZXR3ZWVuLCBldGMuKSwgc2tpcCBiYWNrZW5kIGNhbGxzXG5cdC8vIGFuZCByZXR1cm4gdXNlciBpbnB1dCBkaXJlY3RseSB0byBFYXN5RmlsdGVyXG5cdGlmIChpc0NvbXBhcmlzb25PcGVyYXRvcihvcGVyYXRvcikpIHtcblx0XHRpZiAob3BlcmF0b3IgPT09IEZpbHRlck9wZXJhdG9yLkJUIHx8IG9wZXJhdG9yID09PSBGaWx0ZXJPcGVyYXRvci5OQikge1xuXHRcdFx0Ly8gSGFuZGxlIEJldHdlZW4vTm90IEJldHdlZW4gb3BlcmF0b3JzIC0gdGhleSBleHBlY3QgZXhhY3RseSAyIHZhbHVlc1xuXHRcdFx0Y29uc3QgW2xvd2VyQm91bmQsIHVwcGVyQm91bmRdID0gc2VsZWN0ZWRWYWx1ZXM7XG5cdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0b3BlcmF0b3IsXG5cdFx0XHRcdFx0c2VsZWN0ZWRWYWx1ZXM6IFtcblx0XHRcdFx0XHRcdHsgdmFsdWU6IGxvd2VyQm91bmQsIGRlc2NyaXB0aW9uOiBsb3dlckJvdW5kIH0sXG5cdFx0XHRcdFx0XHR7IHZhbHVlOiB1cHBlckJvdW5kLCBkZXNjcmlwdGlvbjogdXBwZXJCb3VuZCB9XG5cdFx0XHRcdFx0XSBhcyBWYWx1ZUhlbHBCZXR3ZWVuU2VsZWN0ZWRWYWx1ZXNcblx0XHRcdFx0fVxuXHRcdFx0XTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gSGFuZGxlIG90aGVyIGNvbXBhcmlzb24gb3BlcmF0b3JzIChHVCwgR0UsIExULCBMRSlcblx0XHRcdHJldHVybiB1bnJlc29sdmVkUmVzdWx0KFt2YWx1ZV0pO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRjb25zdCByZXNvbHZlZFZhbHVlcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdFx0c2VsZWN0ZWRWYWx1ZXMubWFwKGFzeW5jIChzZWxlY3RlZFZhbHVlKSA9PlxuXHRcdFx0XHRyZXNvbHZlVmFsdWVVc2luZ1ZhbHVlTGlzdCh2YWx1ZUxpc3QsIGtleVByb3BlcnR5LCBvcGVyYXRvciBhcyBTY2FsYXJPcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZSwgbG9vc2VNYXRjaClcblx0XHRcdClcblx0XHQpO1xuXHRcdHJldHVybiByZXNvbHZlZFZhbHVlcy5mbGF0KCk7XG5cdH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB1bnJlc29sdmVkIHZhbHVlcyBpbiB0aGUgZm9ybWF0IGV4cGVjdGVkIGJ5IHRoZSBFYXN5IEZpbHRlciBCYXIuXG4gKiBAcGFyYW0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gYmUgcmVzb2x2ZWQuXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiB1bnJlc29sdmVkIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVucmVzb2x2ZWRSZXN1bHQodmFsdWVzOiBUb2tlblNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdKTogVmFsdWVIZWxwU2VsZWN0ZWRWYWx1ZXNEZWZpbml0aW9uW10ge1xuXHRyZXR1cm4gdmFsdWVzLm1hcCgoeyBvcGVyYXRvciwgc2VsZWN0ZWRWYWx1ZXMgfSkgPT4gKHtcblx0XHRvcGVyYXRvcixcblx0XHRzZWxlY3RlZFZhbHVlczogc2VsZWN0ZWRWYWx1ZXMubWFwKCh2YWx1ZSkgPT4gKHsgdmFsdWUsIGRlc2NyaXB0aW9uOiB2YWx1ZSB9KSlcblx0fSkpIGFzIFZhbHVlSGVscFNlbGVjdGVkVmFsdWVzRGVmaW5pdGlvbltdO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgb3BlcmF0b3IgaXMgYSBuZWdhdGlvbiBvcGVyYXRvciAoTkUsIE5vdENvbnRhaW5zLCBOb3RTdGFydHNXaXRoLCBOb3RFbmRzV2l0aCkuXG4gKiBAcGFyYW0gb3BlcmF0b3IgVGhlIGZpbHRlciBvcGVyYXRvciB0byBjaGVjay5cbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIG9wZXJhdG9yIGlzIGEgbmVnYXRpb24gb3BlcmF0b3IuXG4gKi9cbmZ1bmN0aW9uIGlzTmVnYXRpb25PcGVyYXRvcihvcGVyYXRvcjogRmlsdGVyT3BlcmF0b3IpOiBib29sZWFuIHtcblx0cmV0dXJuIFtGaWx0ZXJPcGVyYXRvci5ORSwgRmlsdGVyT3BlcmF0b3IuTm90Q29udGFpbnMsIEZpbHRlck9wZXJhdG9yLk5vdFN0YXJ0c1dpdGgsIEZpbHRlck9wZXJhdG9yLk5vdEVuZHNXaXRoXS5pbmNsdWRlcyhvcGVyYXRvcik7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBvcGVyYXRvciBpcyBhIGNvbXBhcmlzb24gb3BlcmF0b3IgKEdULCBHRSwgTFQsIExFLCBCVCwgTkIpLlxuICogQHBhcmFtIG9wZXJhdG9yIFRoZSBmaWx0ZXIgb3BlcmF0b3IgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBvcGVyYXRvciBpcyBhIGNvbXBhcmlzb24gb3BlcmF0b3IuXG4gKi9cbmZ1bmN0aW9uIGlzQ29tcGFyaXNvbk9wZXJhdG9yKG9wZXJhdG9yOiBGaWx0ZXJPcGVyYXRvcik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gW0ZpbHRlck9wZXJhdG9yLkdULCBGaWx0ZXJPcGVyYXRvci5HRSwgRmlsdGVyT3BlcmF0b3IuTFQsIEZpbHRlck9wZXJhdG9yLkxFLCBGaWx0ZXJPcGVyYXRvci5CVCwgRmlsdGVyT3BlcmF0b3IuTkJdLmluY2x1ZGVzKFxuXHRcdG9wZXJhdG9yXG5cdCk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBuZWdhdGlvbiBvcGVyYXRvciB0byBpdHMgcG9zaXRpdmUgZXF1aXZhbGVudCAoTkUgLT4gRVEsIE5vdENvbnRhaW5zIC0+IENvbnRhaW5zLCBldGMuKS5cbiAqIEBwYXJhbSBuZWdhdGlvbk9wZXJhdG9yIFRoZSBuZWdhdGlvbiBvcGVyYXRvciB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIGNvcnJlc3BvbmRpbmcgcG9zaXRpdmUgb3BlcmF0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQb3NpdGl2ZU9wZXJhdG9yKG5lZ2F0aW9uT3BlcmF0b3I6IEZpbHRlck9wZXJhdG9yKTogU2NhbGFyT3BlcmF0b3Ige1xuXHRzd2l0Y2ggKG5lZ2F0aW9uT3BlcmF0b3IpIHtcblx0XHRjYXNlIEZpbHRlck9wZXJhdG9yLk5FOlxuXHRcdFx0cmV0dXJuIEZpbHRlck9wZXJhdG9yLkVRO1xuXHRcdGNhc2UgRmlsdGVyT3BlcmF0b3IuTm90Q29udGFpbnM6XG5cdFx0XHRyZXR1cm4gRmlsdGVyT3BlcmF0b3IuQ29udGFpbnM7XG5cdFx0Y2FzZSBGaWx0ZXJPcGVyYXRvci5Ob3RTdGFydHNXaXRoOlxuXHRcdFx0cmV0dXJuIEZpbHRlck9wZXJhdG9yLlN0YXJ0c1dpdGg7XG5cdFx0Y2FzZSBGaWx0ZXJPcGVyYXRvci5Ob3RFbmRzV2l0aDpcblx0XHRcdHJldHVybiBGaWx0ZXJPcGVyYXRvci5FbmRzV2l0aDtcblx0XHRkZWZh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
|
|
@@ -100,17 +100,44 @@ async function resolveValueUsingValueList(
|
|
|
100
100
|
|
|
101
101
|
let results = valueHelpSearchQuery.value.map(mapResult);
|
|
102
102
|
|
|
103
|
+
let filteredResults: CodeListType[] = [];
|
|
104
|
+
let hasPostProcessingResults = false;
|
|
105
|
+
|
|
103
106
|
if (cleanedOperator === FilterOperator.EQ) {
|
|
104
|
-
|
|
107
|
+
// for EQ we still want to display the results even if it is empty after filtering
|
|
108
|
+
hasPostProcessingResults = true;
|
|
109
|
+
filteredResults = results.filter(
|
|
105
110
|
(result) => result.description.toString().toLowerCase() === valueToMatch.toString().toLowerCase()
|
|
106
111
|
);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
results = filteredResults;
|
|
112
|
+
if (filteredResults.length === 0) {
|
|
113
|
+
filteredResults = results;
|
|
110
114
|
}
|
|
115
|
+
} else if (cleanedOperator === FilterOperator.StartsWith) {
|
|
116
|
+
filteredResults = results.filter((result) =>
|
|
117
|
+
result.description.toString().toLowerCase().startsWith(valueToMatch.toString().toLowerCase())
|
|
118
|
+
);
|
|
119
|
+
hasPostProcessingResults = filteredResults.length > 0;
|
|
120
|
+
} else if (cleanedOperator === FilterOperator.EndsWith) {
|
|
121
|
+
filteredResults = results.filter((result) =>
|
|
122
|
+
result.description.toString().toLowerCase().endsWith(valueToMatch.toString().toLowerCase())
|
|
123
|
+
);
|
|
124
|
+
hasPostProcessingResults = filteredResults.length > 0;
|
|
125
|
+
} else if (cleanedOperator === FilterOperator.Contains) {
|
|
126
|
+
filteredResults = results.filter((result) =>
|
|
127
|
+
result.description.toString().toLowerCase().includes(valueToMatch.toString().toLowerCase())
|
|
128
|
+
);
|
|
129
|
+
hasPostProcessingResults = filteredResults.length > 0;
|
|
111
130
|
}
|
|
112
|
-
|
|
113
|
-
|
|
131
|
+
// If post-processing left no results, return user's original input
|
|
132
|
+
if (!hasPostProcessingResults) {
|
|
133
|
+
return {
|
|
134
|
+
operator,
|
|
135
|
+
selectedValues: [{ value: valueToMatch, description: valueToMatch }]
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
// If post-processing found results, return the filtered results
|
|
139
|
+
// Always set the operator to EQ/NE, as post-processing ensures an EQ/NE result.
|
|
140
|
+
return { operator: operator === cleanedOperator ? FilterOperator.EQ : FilterOperator.NE, selectedValues: filteredResults };
|
|
114
141
|
}
|
|
115
142
|
|
|
116
143
|
// No matches were found in either query; the original value will be used as a fallback.
|
|
@@ -78,12 +78,14 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/core/CommonUt
|
|
|
78
78
|
text: "{sap.fe.i18n>SUMMARIZE}",
|
|
79
79
|
icon: "sap-icon://ai",
|
|
80
80
|
type: ButtonType.Ghost,
|
|
81
|
-
press: async
|
|
81
|
+
press: async event => {
|
|
82
82
|
try {
|
|
83
|
-
await environmentService
|
|
83
|
+
await environmentService?.prepareFeature("SmartSummarize");
|
|
84
84
|
const library = await __ui5_require_async("ux/eng/fioriai/reuse/summary/SmartSummary");
|
|
85
|
+
const triggerButton = event.getSource();
|
|
85
86
|
await library.summarize({
|
|
86
|
-
view: CommonUtils.getTargetView(this)
|
|
87
|
+
view: CommonUtils.getTargetView(this),
|
|
88
|
+
triggerElement: triggerButton
|
|
87
89
|
});
|
|
88
90
|
} catch (error) {
|
|
89
91
|
Log.error("Summarization failed", error);
|
|
@@ -114,4 +116,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/core/CommonUt
|
|
|
114
116
|
_exports = SummarizationButton;
|
|
115
117
|
return _exports;
|
|
116
118
|
}, false);
|
|
117
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdW1tYXJpemF0aW9uQnV0dG9uIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJpbXBsZW1lbnRJbnRlcmZhY2UiLCJfZGVjMyIsInByb3BlcnR5IiwidHlwZSIsInJlcXVpcmVkIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrIiwiX3RoaXMiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiZmVzclN0ZXBOYW1lIiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsIm9uTWV0YWRhdGFBdmFpbGFibGUiLCJjb250ZW50IiwiY3JlYXRlQ29udGVudCIsImdldE92ZXJmbG93VG9vbGJhckNvbmZpZyIsImNhbk92ZXJmbG93IiwiZW52aXJvbm1lbnRTZXJ2aWNlIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMiLCJidXR0b24iLCJlbnZpcm9ubWVudENhcGFiaWxpdGllcyIsIlNtYXJ0U3VtbWFyaXplIiwiX2pzeCIsIkJ1dHRvbiIsImlkIiwiY3JlYXRlSWQiLCJ0ZXh0IiwiaWNvbiIsIkJ1dHRvblR5cGUiLCJHaG9zdCIsInByZXNzIiwiZXZlbnQiLCJwcmVwYXJlRmVhdHVyZSIsImxpYnJhcnkiLCJfX3VpNV9yZXF1aXJlX2FzeW5jIiwidHJpZ2dlckJ1dHRvbiIsImdldFNvdXJjZSIsInN1bW1hcml6ZSIsInZpZXciLCJDb21tb25VdGlscyIsImdldFRhcmdldFZpZXciLCJ0cmlnZ2VyRWxlbWVudCIsImVycm9yIiwiTG9nIiwic2V0TGF5b3V0RGF0YSIsIk92ZXJmbG93VG9vbGJhckxheW91dERhdGEiLCJwcmlvcml0eSIsIk92ZXJmbG93VG9vbGJhclByaW9yaXR5IiwiSGlnaCIsIkZFU1JIZWxwZXIiLCJzZXRTZW1hbnRpY1N0ZXBuYW1lIiwiQnVpbGRpbmdCbG9jayIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiU3VtbWFyaXphdGlvbkJ1dHRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgaW1wbGVtZW50SW50ZXJmYWNlLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCBCdWlsZGluZ0Jsb2NrIGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCBPdmVyZmxvd1Rvb2xiYXJMYXlvdXREYXRhIGZyb20gXCJzYXAvbS9PdmVyZmxvd1Rvb2xiYXJMYXlvdXREYXRhXCI7XG5pbXBvcnQgeyBCdXR0b25UeXBlLCBPdmVyZmxvd1Rvb2xiYXJQcmlvcml0eSB9IGZyb20gXCJzYXAvbS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBVSTVFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5pbXBvcnQgRkVTUkhlbHBlciBmcm9tIFwic2FwL3VpL3BlcmZvcm1hbmNlL3RyYWNlL0ZFU1JIZWxwZXJcIjtcblxuLyoqXG4gKiBTdW1tYXJpemF0aW9uIGJ1dHRvbiBidWlsZGluZyBibG9jay5cbiAqXG4gKiBJZiB0aGUgc3VtbWFyaXphdGlvbiBmZWF0dXJlIGlzIGF2YWlsYWJsZSwgdGhpcyBidWlsZGluZyBibG9jayB3aWxsIHJlbmRlciBhIGJ1dHRvbiB0aGF0IHRyaWdnZXJzIHRoZSBzdW1tYXJpemF0aW9uIGZlYXR1cmUuXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuYWkuU3VtbWFyaXphdGlvbkJ1dHRvblwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3VtbWFyaXphdGlvbkJ1dHRvbiBleHRlbmRzIEJ1aWxkaW5nQmxvY2sge1xuXHRAaW1wbGVtZW50SW50ZXJmYWNlKFwic2FwLm0uSU92ZXJmbG93VG9vbGJhckNvbnRlbnRcIilcblx0X19pbXBsZW1lbnRzX19zYXBfbV9JT3ZlcmZsb3dUb29sYmFyQ29udGVudCA9IHRydWU7XG5cdC8qKlxuXHQgKiBUaGUgSUQgb2YgdGhlIGJ1dHRvbi5cblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIsIHJlcXVpcmVkOiB0cnVlIH0pXG5cdHB1YmxpYyBpZCE6IHN0cmluZztcblxuXHRmZXNyU3RlcE5hbWUgPSBcImZlNDpzdW06c3VtbWFyaXplXCI7XG5cblx0b25NZXRhZGF0YUF2YWlsYWJsZSgpOiB2b2lkIHtcblx0XHR0aGlzLmNvbnRlbnQgPSB0aGlzLmNyZWF0ZUNvbnRlbnQoKTtcblx0fVxuXG5cdGdldE92ZXJmbG93VG9vbGJhckNvbmZpZygpOiBvYmplY3Qge1xuXHRcdHJldHVybiB7XG5cdFx0XHRjYW5PdmVyZmxvdzogdHJ1ZVxuXHRcdH07XG5cdH1cblxuXHRjcmVhdGVDb250ZW50KCk6IEJ1dHRvbiB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgZW52aXJvbm1lbnRTZXJ2aWNlID0gdGhpcy5nZXRBcHBDb21wb25lbnQoKT8uZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKTtcblx0XHRsZXQgYnV0dG9uO1xuXHRcdGlmIChlbnZpcm9ubWVudFNlcnZpY2U/LmVudmlyb25tZW50Q2FwYWJpbGl0aWVzLlNtYXJ0U3VtbWFyaXplID09PSB0cnVlKSB7XG5cdFx0XHRidXR0b24gPSAoXG5cdFx0XHRcdDxCdXR0b25cblx0XHRcdFx0XHRpZD17dGhpcy5jcmVhdGVJZChcImJ1dHRvblwiKX1cblx0XHRcdFx0XHRkdDpkZXNpZ250aW1lPVwibm90LWFkYXB0YWJsZVwiXG5cdFx0XHRcdFx0dGV4dD1cIntzYXAuZmUuaTE4bj5TVU1NQVJJWkV9XCJcblx0XHRcdFx0XHRpY29uPVwic2FwLWljb246Ly9haVwiXG5cdFx0XHRcdFx0dHlwZT17QnV0dG9uVHlwZS5HaG9zdH1cblx0XHRcdFx0XHRwcmVzcz17YXN5bmMgKGV2ZW50KTogUHJvbWlzZTx2b2lkPiA9PiB7XG5cdFx0XHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdFx0XHRhd2FpdCBlbnZpcm9ubWVudFNlcnZpY2U/LnByZXBhcmVGZWF0dXJlKFwiU21hcnRTdW1tYXJpemVcIik7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IGxpYnJhcnkgPSBhd2FpdCBpbXBvcnQoXCJ1eC9lbmcvZmlvcmlhaS9yZXVzZS9zdW1tYXJ5L1NtYXJ0U3VtbWFyeVwiKTtcblx0XHRcdFx0XHRcdFx0Y29uc3QgdHJpZ2dlckJ1dHRvbjogVUk1RWxlbWVudCA9IGV2ZW50LmdldFNvdXJjZSgpO1xuXHRcdFx0XHRcdFx0XHRhd2FpdCBsaWJyYXJ5LnN1bW1hcml6ZSh7IHZpZXc6IENvbW1vblV0aWxzLmdldFRhcmdldFZpZXcodGhpcyksIHRyaWdnZXJFbGVtZW50OiB0cmlnZ2VyQnV0dG9uIH0pO1xuXHRcdFx0XHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdFx0XHRcdFx0TG9nLmVycm9yKFwiU3VtbWFyaXphdGlvbiBmYWlsZWRcIiwgZXJyb3IgYXMgRXJyb3IpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH19XG5cdFx0XHRcdD48L0J1dHRvbj5cblx0XHRcdCk7XG5cdFx0XHR0aGlzLnNldExheW91dERhdGEoPE92ZXJmbG93VG9vbGJhckxheW91dERhdGEgcHJpb3JpdHk9e092ZXJmbG93VG9vbGJhclByaW9yaXR5LkhpZ2h9IC8+KTtcblx0XHRcdEZFU1JIZWxwZXIuc2V0U2VtYW50aWNTdGVwbmFtZShidXR0b24sIFwicHJlc3NcIiwgdGhpcy5mZXNyU3RlcE5hbWUpO1xuXHRcdH1cblx0XHRyZXR1cm4gYnV0dG9uO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFKQSxJQU1xQkEsbUJBQW1CLElBQUFDLElBQUEsR0FEdkNDLGNBQWMsQ0FBQyxzQ0FBc0MsQ0FBQyxFQUFBQyxLQUFBLEdBRXJEQyxrQkFBa0IsQ0FBQywrQkFBK0IsQ0FBQyxFQUFBQyxLQUFBLEdBS25EQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFLFFBQVE7SUFBRUMsUUFBUSxFQUFFO0VBQUssQ0FBQyxDQUFDLEVBQUFQLElBQUEsQ0FBQVEsTUFBQSxJQUFBQyxPQUFBLDBCQUFBQyxjQUFBO0lBQUEsU0FBQVgsb0JBQUE7TUFBQSxJQUFBWSxLQUFBO01BQUEsU0FBQUMsSUFBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFBQUMsSUFBQSxPQUFBQyxLQUFBLENBQUFKLElBQUEsR0FBQUssSUFBQSxNQUFBQSxJQUFBLEdBQUFMLElBQUEsRUFBQUssSUFBQTtRQUFBRixJQUFBLENBQUFFLElBQUEsSUFBQUosU0FBQSxDQUFBSSxJQUFBO01BQUE7TUFBQU4sS0FBQSxHQUFBRCxjQUFBLENBQUFRLElBQUEsVUFBQUgsSUFBQTtNQUFBSSwwQkFBQSxDQUFBUixLQUFBLGlEQUFBUyxXQUFBLEVBQUFULEtBQUE7TUFIN0M7QUFDRDtBQUNBO01BRkNRLDBCQUFBLENBQUFSLEtBQUEsUUFBQVUsWUFBQSxFQUFBVixLQUFBO01BQUFBLEtBQUEsQ0FNQVcsWUFBWSxHQUFHLG1CQUFtQjtNQUFBLE9BQUFYLEtBQUE7SUFBQTtJQUFBWSxRQUFBLEdBQUF4QixtQkFBQTtJQUFBeUIsY0FBQSxDQUFBekIsbUJBQUEsRUFBQVcsY0FBQTtJQUFBLElBQUFlLE1BQUEsR0FBQTFCLG1CQUFBLENBQUEyQixTQUFBO0lBQUFELE1BQUEsQ0FFbENFLG1CQUFtQixH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
|
|
@@ -5,6 +5,7 @@ import BuildingBlock from "sap/fe/core/buildingBlocks/BuildingBlock";
|
|
|
5
5
|
import Button from "sap/m/Button";
|
|
6
6
|
import OverflowToolbarLayoutData from "sap/m/OverflowToolbarLayoutData";
|
|
7
7
|
import { ButtonType, OverflowToolbarPriority } from "sap/m/library";
|
|
8
|
+
import type UI5Element from "sap/ui/core/Element";
|
|
8
9
|
import FESRHelper from "sap/ui/performance/trace/FESRHelper";
|
|
9
10
|
|
|
10
11
|
/**
|
|
@@ -45,11 +46,12 @@ export default class SummarizationButton extends BuildingBlock {
|
|
|
45
46
|
text="{sap.fe.i18n>SUMMARIZE}"
|
|
46
47
|
icon="sap-icon://ai"
|
|
47
48
|
type={ButtonType.Ghost}
|
|
48
|
-
press={async (): Promise<void> => {
|
|
49
|
+
press={async (event): Promise<void> => {
|
|
49
50
|
try {
|
|
50
|
-
await environmentService
|
|
51
|
+
await environmentService?.prepareFeature("SmartSummarize");
|
|
51
52
|
const library = await import("ux/eng/fioriai/reuse/summary/SmartSummary");
|
|
52
|
-
|
|
53
|
+
const triggerButton: UI5Element = event.getSource();
|
|
54
|
+
await library.summarize({ view: CommonUtils.getTargetView(this), triggerElement: triggerButton });
|
|
53
55
|
} catch (error) {
|
|
54
56
|
Log.error("Summarization failed", error as Error);
|
|
55
57
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlockObjectProperty"], function (ClassSupport, BuildingBlockObjectProperty) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7;
|
|
8
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9;
|
|
9
9
|
var _exports = {};
|
|
10
10
|
var property = ClassSupport.property;
|
|
11
11
|
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
@@ -32,6 +32,10 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
|
|
|
32
32
|
type: "string"
|
|
33
33
|
}), _dec8 = property({
|
|
34
34
|
type: "boolean"
|
|
35
|
+
}), _dec9 = property({
|
|
36
|
+
type: "int"
|
|
37
|
+
}), _dec10 = property({
|
|
38
|
+
type: "int"
|
|
35
39
|
}), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlockObjectP) {
|
|
36
40
|
function Action() {
|
|
37
41
|
var _this;
|
|
@@ -76,6 +80,15 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
|
|
|
76
80
|
* @public
|
|
77
81
|
*/
|
|
78
82
|
_initializerDefineProperty(_this, "enabled", _descriptor7, _this);
|
|
83
|
+
/**
|
|
84
|
+
* Defines the group of the action in the overflow toolbar.
|
|
85
|
+
*/
|
|
86
|
+
_initializerDefineProperty(_this, "group", _descriptor8, _this);
|
|
87
|
+
/**
|
|
88
|
+
* Defines the overflow group of the action in the overflow toolbar.
|
|
89
|
+
* @public
|
|
90
|
+
*/
|
|
91
|
+
_initializerDefineProperty(_this, "overflowGroup", _descriptor9, _this);
|
|
79
92
|
return _this;
|
|
80
93
|
}
|
|
81
94
|
_exports = Action;
|
|
@@ -116,8 +129,18 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
|
|
|
116
129
|
enumerable: true,
|
|
117
130
|
writable: true,
|
|
118
131
|
initializer: null
|
|
132
|
+
}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, "group", [_dec9], {
|
|
133
|
+
configurable: true,
|
|
134
|
+
enumerable: true,
|
|
135
|
+
writable: true,
|
|
136
|
+
initializer: null
|
|
137
|
+
}), _descriptor9 = _applyDecoratedDescriptor(_class2.prototype, "overflowGroup", [_dec10], {
|
|
138
|
+
configurable: true,
|
|
139
|
+
enumerable: true,
|
|
140
|
+
writable: true,
|
|
141
|
+
initializer: null
|
|
119
142
|
}), _class2)) || _class);
|
|
120
143
|
_exports = Action;
|
|
121
144
|
return _exports;
|
|
122
145
|
}, false);
|
|
123
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
146
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY3Rpb24iLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInByb3BlcnR5IiwidHlwZSIsIl9kZWMzIiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrT2JqZWN0UCIsIl90aGlzIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9kZXNjcmlwdG9yNCIsIl9kZXNjcmlwdG9yNSIsIl9kZXNjcmlwdG9yNiIsIl9kZXNjcmlwdG9yNyIsIl9kZXNjcmlwdG9yOCIsIl9kZXNjcmlwdG9yOSIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwicHJvdG90eXBlIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5IGZyb20gXCJzYXAvZmUvbWFjcm9zL2NvbnRyb2xzL0J1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiO1xuXG4vKipcbiAqIERlZmluaXRpb24gb2YgYSBjdXN0b20gYWN0aW9uIHRvIGJlIHVzZWQgaW4gdGhlIGNoYXJ0IHRvb2xiYXJcbiAqIEBwdWJsaWNcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jaGFydC5BY3Rpb25cIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFjdGlvbiBleHRlbmRzIEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSB7XG5cdC8qKlxuXHQgKiBVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgYWN0aW9uXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0a2V5ITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBUaGUgdGV4dCB0aGF0IHdpbGwgYmUgZGlzcGxheWVkIGZvciB0aGlzIGFjdGlvblxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHRleHQhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIFJlZmVyZW5jZSB0byB0aGUga2V5IG9mIGFub3RoZXIgYWN0aW9uIGFscmVhZHkgZGlzcGxheWVkIGluIHRoZSB0b29sYmFyIHRvIHByb3Blcmx5IHBsYWNlIHRoaXMgb25lXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0YW5jaG9yPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHdoZXJlIHRoaXMgYWN0aW9uIHNob3VsZCBiZSBwbGFjZWQgcmVsYXRpdmUgdG8gdGhlIGRlZmluZWQgYW5jaG9yXG5cdCAqXG5cdCAqIEFsbG93ZWQgdmFsdWVzIGFyZSBgQmVmb3JlYCBhbmQgYEFmdGVyYFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHBsYWNlbWVudD86IFwiQmVmb3JlXCIgfCBcIkFmdGVyXCI7XG5cblx0LyoqXG5cdCAqIERlZmluZXMgaWYgdGhlIGFjdGlvbiByZXF1aXJlcyBhIHNlbGVjdGlvbi5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cmVxdWlyZXNTZWxlY3Rpb24/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBFdmVudCBoYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGNob29zZXMgdGhlIGFjdGlvblxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHByZXNzITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBhY3Rpb25cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIGdyb3VwIG9mIHRoZSBhY3Rpb24gaW4gdGhlIG92ZXJmbG93IHRvb2xiYXIuXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImludFwiIH0pXG5cdGdyb3VwPzogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBvdmVyZmxvdyBncm91cCBvZiB0aGUgYWN0aW9uIGluIHRoZSBvdmVyZmxvdyB0b29sYmFyLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImludFwiIH0pXG5cdG92ZXJmbG93R3JvdXA/OiBudW1iZXI7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHQTtBQUNBO0FBQ0E7QUFDQTtFQUhBLElBS3FCQSxNQUFNLElBQUFDLElBQUEsR0FEMUJDLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFBQyxLQUFBLEdBTTNDQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FPNUJGLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUUsS0FBQSxHQU81QkgsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBRyxLQUFBLEdBUzVCSixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFJLEtBQUEsR0FPNUJMLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVSxDQUFDLENBQUMsRUFBQUssS0FBQSxHQU83Qk4sUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBTSxLQUFBLEdBTzVCUCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFPLEtBQUEsR0FNN0JSLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBTSxDQUFDLENBQUMsRUFBQVEsTUFBQSxHQU96QlQsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFNLENBQUMsQ0FBQyxFQUFBSixJQUFBLENBQUFhLE1BQUEsSUFBQUMsT0FBQSwwQkFBQUMscUJBQUE7SUFBQSxTQUFBaEIsT0FBQTtNQUFBLElBQUFpQixLQUFBO01BQUEsU0FBQUMsSUFBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFBQUMsSUFBQSxPQUFBQyxLQUFBLENBQUFKLElBQUEsR0FBQUssSUFBQSxNQUFBQSxJQUFBLEdBQUFMLElBQUEsRUFBQUssSUFBQTtRQUFBRixJQUFBLENBQUFFLElBQUEsSUFBQUosU0FBQSxDQUFBSSxJQUFBO01BQUE7TUFBQU4sS0FBQSxHQUFBRCxxQkFBQSxDQUFBUSxJQUFBLFVBQUFILElBQUE7TUE3RDFCO0FBQ0Q7QUFDQTtBQUNBO01BSENJLDBCQUFBLENBQUFSLEtBQUEsU0FBQVMsV0FBQSxFQUFBVCxLQUFBO01BT0E7QUFDRDtBQUNBO0FBQ0E7TUFIQ1EsMEJBQUEsQ0FBQVIsS0FBQSxVQUFBVSxZQUFBLEVBQUFWLEtBQUE7TUFPQTtBQUNEO0FBQ0E7QUFDQTtNQUhDUSwwQkFBQSxDQUFBUixLQUFBLFlBQUFXLFlBQUEsRUFBQVgsS0FBQTtNQU9BO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUxDUSwwQkFBQSxDQUFBUixLQUFBLGVBQUFZLFlBQUEsRUFBQVosS0FBQTtNQVNBO0FBQ0Q7QUFDQTtBQUNBO01BSENRLDBCQUFBLENBQUFSLEtBQUEsdUJBQUFhLFlBQUEsRUFBQWIsS0FBQTtNQU9BO0FBQ0Q7QUFDQTtBQUNBO01BSENRLDBCQUFBLENBQUFSLEtBQUEsV0FBQWMsWUFBQSxFQUFBZCxLQUFBO01BT0E7QUFDRDtBQUNBO0FBQ0E7TUFIQ1EsMEJBQUEsQ0FBQVIsS0FBQSxhQUFBZSxZQUFBLEVBQUFmLEtBQUE7TUFPQTtBQUNEO0FBQ0E7TUFGQ1EsMEJBQUEsQ0FBQVIsS0FBQSxXQUFBZ0IsWUFBQSxFQUFBaEIsS0FBQTtNQU1BO0FBQ0Q7QUFDQTtBQUNBO01BSENRLDBCQUFBLENBQUFSLEtBQUEsbUJBQUFpQixZQUFBLEVBQUFqQixLQUFBO01BQUEsT0FBQUEsS0FBQTtJQUFBO0lBQUFrQixRQUFBLEdBQUFuQyxNQUFBO0lBQUFvQyxjQUFBLENBQUFwQyxNQUFBLEVBQUFnQixxQkFBQTtJQUFBLE9BQUFoQixNQUFBO0VBQUEsRUExRG1DcUMsMkJBQTJCLEdBQUFYLFdBQUEsR0FBQVkseUJBQUEsQ0FBQXZCLE9BQUEsQ0FBQXdCLFNBQUEsVUFBQXBDLEtBQUE7SUFBQXFDLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBaEIsWUFBQSxHQUFBVyx5QkFBQSxDQUFBdkIsT0FBQSxDQUFBd0IsU0FBQSxXQUFBakMsS0FBQTtJQUFBa0MsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUFmLFlBQUEsR0FBQVUseUJBQUEsQ0FBQXZCLE9BQUEsQ0FBQXdCLFNBQUEsYUFBQWhDLEtBQUE7SUFBQWlDLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBZCxZQUFBLEdBQUFTLHlCQUFBLENBQUF2QixPQUFBLENBQUF3QixTQUFBLGdCQUFBL0IsS0FBQTtJQUFBZ0MsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUFiLFlBQUEsR0FBQVEseUJBQUEsQ0FBQXZCLE9BQUEsQ0FBQXdCLFNBQUEsd0JBQUE5QixLQUFBO0lBQUErQixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQVosWUFBQSxHQUFBTyx5QkFBQSxDQUFBdkIsT0FBQSxDQUFBd0IsU0FBQSxZQUFBN0IsS0FBQTtJQUFBOEIsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUFYLFlBQUEsR0FBQU0seUJBQUEsQ0FBQXZCLE9BQUEsQ0FBQXdCLFNBQUEsY0FBQTVCLEtBQUE7SUFBQTZCLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBVixZQUFBLEdBQUFLLHlCQUFBLENBQUF2QixPQUFBLENBQUF3QixTQUFBLFlBQUEzQixLQUFBO0lBQUE0QixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQVQsWUFBQSxHQUFBSSx5QkFBQSxDQUFBdkIsT0FBQSxDQUFBd0IsU0FBQSxvQkFBQTFCLE1BQUE7SUFBQTJCLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBNUIsT0FBQSxNQUFBRCxNQUFBO0VBQUFxQixRQUFBLEdBQUFuQyxNQUFBO0VBQUEsT0FBQW1DLFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -57,4 +57,17 @@ export default class Action extends BuildingBlockObjectProperty {
|
|
|
57
57
|
*/
|
|
58
58
|
@property({ type: "boolean" })
|
|
59
59
|
enabled?: boolean;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Defines the group of the action in the overflow toolbar.
|
|
63
|
+
*/
|
|
64
|
+
@property({ type: "int" })
|
|
65
|
+
group?: number;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Defines the overflow group of the action in the overflow toolbar.
|
|
69
|
+
* @public
|
|
70
|
+
*/
|
|
71
|
+
@property({ type: "int" })
|
|
72
|
+
overflowGroup?: number;
|
|
60
73
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/chart/Action"], function (ClassSupport, Action) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;
|
|
8
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7;
|
|
9
9
|
var _exports = {};
|
|
10
10
|
var property = ClassSupport.property;
|
|
11
11
|
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
@@ -32,6 +32,10 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/chart/Action"], functi
|
|
|
32
32
|
type: "string"
|
|
33
33
|
}), _dec6 = property({
|
|
34
34
|
type: "string"
|
|
35
|
+
}), _dec7 = property({
|
|
36
|
+
type: "int"
|
|
37
|
+
}), _dec8 = property({
|
|
38
|
+
type: "int"
|
|
35
39
|
}), _dec(_class = (_class2 = /*#__PURE__*/function (_Action) {
|
|
36
40
|
function ActionGroup() {
|
|
37
41
|
var _this;
|
|
@@ -66,6 +70,15 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/chart/Action"], functi
|
|
|
66
70
|
* @public
|
|
67
71
|
*/
|
|
68
72
|
_initializerDefineProperty(_this, "anchor", _descriptor5, _this);
|
|
73
|
+
/**
|
|
74
|
+
* Defines the group of the action in the overflow toolbar.
|
|
75
|
+
*/
|
|
76
|
+
_initializerDefineProperty(_this, "group", _descriptor6, _this);
|
|
77
|
+
/**
|
|
78
|
+
* Defines the overflow group of the action in the overflow toolbar.
|
|
79
|
+
* @public
|
|
80
|
+
*/
|
|
81
|
+
_initializerDefineProperty(_this, "overflowGroup", _descriptor7, _this);
|
|
69
82
|
return _this;
|
|
70
83
|
}
|
|
71
84
|
_exports = ActionGroup;
|
|
@@ -98,8 +111,18 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/chart/Action"], functi
|
|
|
98
111
|
enumerable: true,
|
|
99
112
|
writable: true,
|
|
100
113
|
initializer: null
|
|
114
|
+
}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, "group", [_dec7], {
|
|
115
|
+
configurable: true,
|
|
116
|
+
enumerable: true,
|
|
117
|
+
writable: true,
|
|
118
|
+
initializer: null
|
|
119
|
+
}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, "overflowGroup", [_dec8], {
|
|
120
|
+
configurable: true,
|
|
121
|
+
enumerable: true,
|
|
122
|
+
writable: true,
|
|
123
|
+
initializer: null
|
|
101
124
|
}), _class2)) || _class);
|
|
102
125
|
_exports = ActionGroup;
|
|
103
126
|
return _exports;
|
|
104
127
|
}, false);
|
|
105
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
128
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY3Rpb25Hcm91cCIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiZGVmYXVsdENsYXNzIiwiQWN0aW9uIiwiaXNEZWZhdWx0IiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQWN0aW9uIiwiX3RoaXMiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiX2Rlc2NyaXB0b3IzIiwiX2Rlc2NyaXB0b3I0IiwiX2Rlc2NyaXB0b3I1IiwiX2Rlc2NyaXB0b3I2IiwiX2Rlc2NyaXB0b3I3IiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJwcm90b3R5cGUiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQWN0aW9uR3JvdXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBBY3Rpb24gZnJvbSBcInNhcC9mZS9tYWNyb3MvY2hhcnQvQWN0aW9uXCI7XG4vKipcbiAqIERlZmluaXRpb24gb2YgYSBjdXN0b20gYWN0aW9uIGdyb3VwIHRvIGJlIHVzZWQgaW5zaWRlIHRoZSBjaGFydCB0b29sYmFyXG4gKiBAcHVibGljXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuY2hhcnQuQWN0aW9uR3JvdXBcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFjdGlvbkdyb3VwIGV4dGVuZHMgQWN0aW9uIHtcblx0LyoqXG5cdCAqIFVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBhY3Rpb25cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRrZXkhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIERlZmluZXMgbmVzdGVkIGFjdGlvbnNcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAuZmUubWFjcm9zLmNoYXJ0LkFjdGlvblwiLCBtdWx0aXBsZTogdHJ1ZSwgZGVmYXVsdENsYXNzOiBBY3Rpb24sIGlzRGVmYXVsdDogdHJ1ZSB9KVxuXHRhY3Rpb25zOiBBY3Rpb25bXSA9IFtdO1xuXG5cdC8qKlxuXHQgKiBUaGUgdGV4dCB0aGF0IHdpbGwgYmUgZGlzcGxheWVkIGZvciB0aGlzIGFjdGlvbiBncm91cFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHRleHQhOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIERlZmluZXMgd2hlcmUgdGhpcyBhY3Rpb24gZ3JvdXAgc2hvdWxkIGJlIHBsYWNlZCByZWxhdGl2ZSB0byB0aGUgZGVmaW5lZCBhbmNob3Jcblx0ICpcblx0ICogQWxsb3dlZCB2YWx1ZXMgYXJlIGBCZWZvcmVgIGFuZCBgQWZ0ZXJgXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0cGxhY2VtZW50PzogXCJCZWZvcmVcIiB8IFwiQWZ0ZXJcIjtcblxuXHQvKipcblx0ICogUmVmZXJlbmNlIHRvIHRoZSBrZXkgb2YgYW5vdGhlciBhY3Rpb24gb3IgYWN0aW9uIGdyb3VwIGFscmVhZHkgZGlzcGxheWVkIGluIHRoZSB0b29sYmFyIHRvIHByb3Blcmx5IHBsYWNlIHRoaXMgb25lXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0YW5jaG9yPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBncm91cCBvZiB0aGUgYWN0aW9uIGluIHRoZSBvdmVyZmxvdyB0b29sYmFyLlxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJpbnRcIiB9KVxuXHRncm91cD86IG51bWJlcjtcblxuXHQvKipcblx0ICogRGVmaW5lcyB0aGUgb3ZlcmZsb3cgZ3JvdXAgb2YgdGhlIGFjdGlvbiBpbiB0aGUgb3ZlcmZsb3cgdG9vbGJhci5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJpbnRcIiB9KVxuXHRvdmVyZmxvd0dyb3VwPzogbnVtYmVyO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztFQUVBO0FBQ0E7QUFDQTtBQUNBO0VBSEEsSUFLcUJBLFdBQVcsSUFBQUMsSUFBQSxHQUQvQkMsY0FBYyxDQUFDLGlDQUFpQyxDQUFDLEVBQUFDLEtBQUEsR0FNaERDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU81QkMsV0FBVyxDQUFDO0lBQUVGLElBQUksRUFBRSw0QkFBNEI7SUFBRUcsUUFBUSxFQUFFLElBQUk7SUFBRUMsWUFBWSxFQUFFQyxNQUFNO0lBQUVDLFNBQVMsRUFBRTtFQUFLLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBTzFHUixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFRLEtBQUEsR0FTNUJULFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQVMsS0FBQSxHQU81QlYsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBVSxLQUFBLEdBTTVCWCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQU0sQ0FBQyxDQUFDLEVBQUFXLEtBQUEsR0FPekJaLFFB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
|
|
@@ -42,4 +42,17 @@ export default class ActionGroup extends Action {
|
|
|
42
42
|
*/
|
|
43
43
|
@property({ type: "string" })
|
|
44
44
|
anchor?: string;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Defines the group of the action in the overflow toolbar.
|
|
48
|
+
*/
|
|
49
|
+
@property({ type: "int" })
|
|
50
|
+
group?: number;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Defines the overflow group of the action in the overflow toolbar.
|
|
54
|
+
* @public
|
|
55
|
+
*/
|
|
56
|
+
@property({ type: "int" })
|
|
57
|
+
overflowGroup?: number;
|
|
45
58
|
}
|