@sapui5/sap.fe.core 1.111.1 → 1.112.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/ActionRuntime-dbg.js +4 -4
- package/src/sap/fe/core/ActionRuntime.js +1 -1
- package/src/sap/fe/core/ActionRuntime.js.map +1 -1
- package/src/sap/fe/core/ActionRuntime.ts +11 -11
- package/src/sap/fe/core/AppComponent-dbg.js +27 -5
- package/src/sap/fe/core/AppComponent.js +1 -1
- package/src/sap/fe/core/AppComponent.js.map +1 -1
- package/src/sap/fe/core/AppComponent.ts +58 -3
- package/src/sap/fe/core/AppStateHandler-dbg.js +5 -2
- package/src/sap/fe/core/AppStateHandler.js +1 -1
- package/src/sap/fe/core/AppStateHandler.js.map +1 -1
- package/src/sap/fe/core/AppStateHandler.ts +10 -1
- package/src/sap/fe/core/BaseController-dbg.js +1 -1
- package/src/sap/fe/core/BaseController.ts +2 -1
- package/src/sap/fe/core/CommonUtils-dbg.js +152 -365
- package/src/sap/fe/core/CommonUtils.js +1 -1
- package/src/sap/fe/core/CommonUtils.js.map +1 -1
- package/src/sap/fe/core/CommonUtils.ts +201 -478
- package/src/sap/fe/core/ExtensionAPI-dbg.js +2 -1
- package/src/sap/fe/core/ExtensionAPI.js +1 -1
- package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
- package/src/sap/fe/core/ExtensionAPI.ts +9 -1
- package/src/sap/fe/core/PageController-dbg.js +26 -31
- package/src/sap/fe/core/PageController.js +1 -1
- package/src/sap/fe/core/PageController.js.map +1 -1
- package/src/sap/fe/core/PageController.ts +17 -3
- package/src/sap/fe/core/ResourceModel-dbg.js +71 -0
- package/src/sap/fe/core/ResourceModel.js +6 -0
- package/src/sap/fe/core/ResourceModel.js.map +1 -0
- package/src/sap/fe/core/ResourceModel.ts +67 -0
- package/src/sap/fe/core/TemplateComponent-dbg.js +1 -1
- package/src/sap/fe/core/TemplateComponent.ts +1 -0
- package/src/sap/fe/core/TemplateModel-dbg.js +1 -1
- package/src/sap/fe/core/TemplateModel.ts +6 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel-dbg.js +5 -7
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +6 -5
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +163 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +6 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +169 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +88 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js +6 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +147 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +905 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js +21 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/{BuildingBlockRuntime.ts → BuildingBlockTemplateProcessor.ts} +290 -362
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock-dbg.js +79 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js +15 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.ts +68 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +162 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js +6 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +181 -0
- package/src/sap/fe/core/buildingBlocks/TraceInfo-dbg.js +4 -2
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +1 -1
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +5 -3
- package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +890 -220
- package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +974 -239
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +24 -34
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +71 -61
- package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +14 -17
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +23 -17
- package/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -0
- package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +3 -3
- package/src/sap/fe/core/controllerextensions/MassEdit.js +1 -1
- package/src/sap/fe/core/controllerextensions/MassEdit.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +2 -2
- package/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +2 -1
- package/src/sap/fe/core/controllerextensions/MessageHandler.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +2 -0
- package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.ts +24 -0
- package/src/sap/fe/core/controllerextensions/Paginator-dbg.js +2 -1
- package/src/sap/fe/core/controllerextensions/Paginator.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/Paginator.ts +7 -0
- package/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +8 -0
- package/src/sap/fe/core/controllerextensions/Share-dbg.js +8 -1
- package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/Share.ts +11 -0
- package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +14 -13
- package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
- package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +27 -27
- package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +17 -8
- package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.ts +35 -14
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase-dbg.js +6 -5
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +7 -4
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +285 -82
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +326 -89
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +23 -2
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +32 -3
- package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +2 -3
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +17 -3
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block-dbg.js +65 -34
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +1 -1
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +33 -18
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +45 -31
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +52 -42
- package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +44 -49
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +43 -63
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +77 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +114 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +1505 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +1985 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations-dbg.js +3 -1415
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +2 -1921
- package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +10 -11
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +9 -13
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +43 -41
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +44 -47
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher-dbg.js +12 -1
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.ts +19 -0
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +12 -13
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +32 -13
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +4 -1
- package/src/sap/fe/core/controls/CommandExecution-dbg.js +16 -5
- package/src/sap/fe/core/controls/CommandExecution.js +1 -1
- package/src/sap/fe/core/controls/CommandExecution.js.map +1 -1
- package/src/sap/fe/core/controls/CommandExecution.ts +15 -3
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +3 -2
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +1 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +4 -1
- package/src/sap/fe/core/controls/FilterBar-dbg.js +1 -1
- package/src/sap/fe/core/controls/FilterBar.ts +5 -0
- package/src/sap/fe/core/controls/FormElementWrapper-dbg.js +1 -1
- package/src/sap/fe/core/controls/FormElementWrapper.ts +3 -0
- package/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +7 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +4 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +10 -0
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +4 -3
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +1 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +3 -2
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +0 -1
- package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +2 -0
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +6 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +1 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js.map +1 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +5 -0
- package/src/sap/fe/core/converters/ConverterContext-dbg.js +1 -1
- package/src/sap/fe/core/converters/ConverterContext.ts +2 -1
- package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -8
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.js.map +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +15 -6
- package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +17 -1
- package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.ts +16 -0
- package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +61 -49
- package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
- package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -1
- package/src/sap/fe/core/converters/MetaModelConverter.ts +65 -51
- package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -1
- package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
- package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
- package/src/sap/fe/core/converters/annotations/DataField-dbg.js +65 -16
- package/src/sap/fe/core/converters/annotations/DataField.js +1 -1
- package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -1
- package/src/sap/fe/core/converters/annotations/DataField.ts +62 -18
- package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1010 -957
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
- package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +8 -8
- package/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.ts +28 -26
- package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +95 -33
- package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +133 -49
- package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +99 -62
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +140 -75
- package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.ts +3 -3
- package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +6 -6
- package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +15 -15
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +97 -69
- package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.ts +161 -137
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +3 -3
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +10 -9
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +48 -44
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +130 -86
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +34 -26
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +62 -45
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar-dbg.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +6 -6
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +5 -8
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +34 -13
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +54 -20
- package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +3 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +8 -0
- package/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +7 -6
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +1 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +19 -10
- package/src/sap/fe/core/converters/helpers/DataFieldHelper-dbg.js +1 -1
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +7 -2
- package/src/sap/fe/core/converters/helpers/ID-dbg.js +1 -1
- package/src/sap/fe/core/converters/helpers/ID.ts +2 -1
- package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +9 -8
- package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.ts +8 -7
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +8 -7
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +9 -6
- package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +25 -33
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +35 -35
- package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +11 -4
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -1
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +7 -1
- package/src/sap/fe/core/formatters/FPMFormatter-dbg.js +1 -1
- package/src/sap/fe/core/formatters/FPMFormatter.ts +1 -1
- package/src/sap/fe/core/formatters/FiscalFormat-dbg.js +2 -2
- package/src/sap/fe/core/formatters/FiscalFormat.ts +6 -1
- package/src/sap/fe/core/formatters/TableFormatter-dbg.js +2 -2
- package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.ts +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +5 -5
- package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.ts +6 -4
- package/src/sap/fe/core/fpm/Component-dbg.js +1 -1
- package/src/sap/fe/core/fpm/Component.ts +1 -0
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +2 -2
- package/src/sap/fe/core/helpers/AppStartupHelper.js +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +6 -6
- package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.ts +8 -8
- package/src/sap/fe/core/helpers/ClassSupport-dbg.js +1 -1
- package/src/sap/fe/core/helpers/ClassSupport.js.map +1 -1
- package/src/sap/fe/core/helpers/ClassSupport.ts +1 -0
- package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +93 -62
- package/src/sap/fe/core/helpers/DeleteHelper.js +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper.ts +140 -185
- package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +20 -18
- package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.ts +22 -23
- package/src/sap/fe/core/helpers/MessageStrip-dbg.js +4 -5
- package/src/sap/fe/core/helpers/MessageStrip.js +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.js.map +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.ts +4 -4
- package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +354 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.js +6 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.js.map +1 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.ts +408 -0
- package/src/sap/fe/core/helpers/ModelHelper-dbg.js +13 -13
- package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.ts +13 -13
- package/src/sap/fe/core/helpers/PasteHelper-dbg.js +5 -5
- package/src/sap/fe/core/helpers/PasteHelper.js +1 -1
- package/src/sap/fe/core/helpers/PasteHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/PasteHelper.ts +6 -10
- package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +26 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.js +6 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.ts +19 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +93 -18
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +70 -17
- package/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +2 -2
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
- package/src/sap/fe/core/helpers/Synchronization-dbg.js +1 -1
- package/src/sap/fe/core/helpers/Synchronization.ts +2 -0
- package/src/sap/fe/core/helpers/TypeGuards-dbg.js +5 -1
- package/src/sap/fe/core/helpers/TypeGuards.js +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.ts +12 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +2 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +1 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +6 -2
- package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +3 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +3 -3
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +1 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +1 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +1 -1
- package/src/sap/fe/core/library-dbg.js +2 -2
- package/src/sap/fe/core/library-preload.js +127 -125
- package/src/sap/fe/core/library-preload.js.map +1 -1
- package/src/sap/fe/core/library.js +1 -1
- package/src/sap/fe/core/library.ts +7 -0
- package/src/sap/fe/core/manifest.json +1 -1
- package/src/sap/fe/core/messagebundle.properties +33 -0
- package/src/sap/fe/core/messagebundle_ar.properties +12 -10
- package/src/sap/fe/core/messagebundle_bg.properties +11 -9
- package/src/sap/fe/core/messagebundle_ca.properties +11 -9
- package/src/sap/fe/core/messagebundle_cs.properties +11 -9
- package/src/sap/fe/core/messagebundle_cy.properties +11 -9
- package/src/sap/fe/core/messagebundle_da.properties +11 -9
- package/src/sap/fe/core/messagebundle_de.properties +3 -1
- package/src/sap/fe/core/messagebundle_el.properties +11 -9
- package/src/sap/fe/core/messagebundle_en.properties +3 -1
- package/src/sap/fe/core/messagebundle_en_GB.properties +2 -0
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +20 -0
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +21 -3
- package/src/sap/fe/core/messagebundle_es.properties +11 -9
- package/src/sap/fe/core/messagebundle_es_MX.properties +11 -9
- package/src/sap/fe/core/messagebundle_et.properties +11 -9
- package/src/sap/fe/core/messagebundle_fi.properties +11 -9
- package/src/sap/fe/core/messagebundle_fr.properties +11 -9
- package/src/sap/fe/core/messagebundle_fr_CA.properties +3 -1
- package/src/sap/fe/core/messagebundle_hi.properties +2 -0
- package/src/sap/fe/core/messagebundle_hr.properties +11 -9
- package/src/sap/fe/core/messagebundle_hu.properties +11 -9
- package/src/sap/fe/core/messagebundle_id.properties +3 -1
- package/src/sap/fe/core/messagebundle_it.properties +11 -9
- package/src/sap/fe/core/messagebundle_iw.properties +11 -9
- package/src/sap/fe/core/messagebundle_ja.properties +11 -9
- package/src/sap/fe/core/messagebundle_kk.properties +11 -9
- package/src/sap/fe/core/messagebundle_ko.properties +2 -0
- package/src/sap/fe/core/messagebundle_lt.properties +11 -9
- package/src/sap/fe/core/messagebundle_lv.properties +2 -0
- package/src/sap/fe/core/messagebundle_ms.properties +12 -10
- package/src/sap/fe/core/messagebundle_nl.properties +12 -10
- package/src/sap/fe/core/messagebundle_no.properties +11 -9
- package/src/sap/fe/core/messagebundle_pl.properties +2 -0
- package/src/sap/fe/core/messagebundle_pt.properties +11 -9
- package/src/sap/fe/core/messagebundle_pt_PT.properties +11 -9
- package/src/sap/fe/core/messagebundle_ro.properties +3 -1
- package/src/sap/fe/core/messagebundle_ru.properties +3 -1
- package/src/sap/fe/core/messagebundle_sh.properties +11 -9
- package/src/sap/fe/core/messagebundle_sk.properties +11 -9
- package/src/sap/fe/core/messagebundle_sl.properties +11 -9
- package/src/sap/fe/core/messagebundle_sv.properties +2 -0
- package/src/sap/fe/core/messagebundle_th.properties +11 -9
- package/src/sap/fe/core/messagebundle_tr.properties +11 -9
- package/src/sap/fe/core/messagebundle_uk.properties +11 -9
- package/src/sap/fe/core/messagebundle_vi.properties +12 -10
- package/src/sap/fe/core/messagebundle_zh_CN.properties +2 -0
- package/src/sap/fe/core/messagebundle_zh_TW.properties +2 -0
- package/src/sap/fe/core/operationsHelper-dbg.js +70 -44
- package/src/sap/fe/core/operationsHelper.js +1 -1
- package/src/sap/fe/core/operationsHelper.js.map +1 -1
- package/src/sap/fe/core/operationsHelper.ts +88 -63
- package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +1 -1
- package/src/sap/fe/core/rootView/Fcl.controller.ts +10 -0
- package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +2 -2
- package/src/sap/fe/core/rootView/NavContainer.controller.js +1 -1
- package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -1
- package/src/sap/fe/core/rootView/NavContainer.controller.ts +5 -3
- package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +4 -3
- package/src/sap/fe/core/rootView/RootViewBaseController.js +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.ts +15 -5
- package/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +15 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +4 -1
- package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +9 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +19 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +2 -2
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +1 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +10 -3
- package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +3 -3
- package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +29 -3
- package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.ts +14 -2
- package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +448 -279
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +502 -333
- package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +18 -5
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +41 -12
- package/src/sap/fe/core/support/Diagnostics-dbg.js +1 -1
- package/src/sap/fe/core/support/Diagnostics.ts +5 -0
- package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +185 -86
- package/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +190 -82
- package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +2 -3
- package/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.ts +1 -3
- package/src/sap/fe/core/templating/FilterHelper-dbg.js +3 -3
- package/src/sap/fe/core/templating/FilterHelper.js +1 -1
- package/src/sap/fe/core/templating/FilterHelper.js.map +1 -1
- package/src/sap/fe/core/templating/FilterHelper.ts +5 -3
- package/src/sap/fe/core/templating/PropertyHelper-dbg.js +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.ts +2 -2
- package/src/sap/fe/core/templating/UIFormatters-dbg.js +1 -1
- package/src/sap/fe/core/templating/UIFormatters.ts +4 -0
- package/src/sap/fe/core/type/DateTimeWithTimezone-dbg.js +1 -1
- package/src/sap/fe/core/type/DateTimeWithTimezone.ts +2 -0
- package/src/sap/fe/core/type/FiscalDate-dbg.js +2 -2
- package/src/sap/fe/core/type/FiscalDate.js.map +1 -1
- package/src/sap/fe/core/type/FiscalDate.ts +2 -1
- package/src/sap/fe/core/type/TypeUtil-dbg.js +5 -10
- package/src/sap/fe/core/type/TypeUtil.js +1 -1
- package/src/sap/fe/core/type/TypeUtil.js.map +1 -1
- package/src/sap/fe/core/type/TypeUtil.ts +3 -6
- package/src/sap/fe/core/buildingBlocks/BuildingBlock-dbg.js +0 -410
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +0 -15
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +0 -536
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment-dbg.js +0 -44
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js +0 -6
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.ts +0 -14
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime-dbg.js +0 -948
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +0 -19
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +0 -711
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +0 -6
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +0 -863
- package/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +0 -151
- package/src/sap/fe/core/controls/ConditionalWrapper.js +0 -6
- package/src/sap/fe/core/controls/ConditionalWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +0 -88
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper-dbg.js +0 -330
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +0 -6
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +0 -292
- package/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +0 -126
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +0 -6
- package/src/sap/fe/core/controls/CustomQuickViewPage.js.map +0 -1
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +0 -105
- package/src/sap/fe/core/controls/FieldWrapper-dbg.js +0 -194
- package/src/sap/fe/core/controls/FieldWrapper.js +0 -6
- package/src/sap/fe/core/controls/FieldWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/FieldWrapper.ts +0 -121
- package/src/sap/fe/core/controls/FileWrapper-dbg.js +0 -280
- package/src/sap/fe/core/controls/FileWrapper.js +0 -6
- package/src/sap/fe/core/controls/FileWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/FileWrapper.ts +0 -202
- package/src/sap/fe/core/helpers/SideEffectsHelper-dbg.js +0 -141
- package/src/sap/fe/core/helpers/SideEffectsHelper.js +0 -6
- package/src/sap/fe/core/helpers/SideEffectsHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/SideEffectsHelper.ts +0 -129
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/fe/core/helpers/ModelHelper"],function(i){"use strict";var o={};const t=function(i){return i&&i.hasOwnProperty("_type")&&i._type==="EntitySet"};o.isEntitySet=t;const
|
|
5
|
+
sap.ui.define(["sap/fe/core/helpers/ModelHelper"],function(i){"use strict";var o={};const t=function(i){return i&&i.hasOwnProperty("_type")&&i._type==="EntitySet"};o.isEntitySet=t;const e=function(i){var o,t,e;return((o=i.annotations)===null||o===void 0?void 0:(t=o.Capabilities)===null||t===void 0?void 0:(e=t.FilterRestrictions)===null||e===void 0?void 0:e.FilterExpressionRestrictions)||[]};o.getFilterExpressionRestrictions=e;const n=function(o){var t,e,n,l,r,v,s;let d=[];if(i.isSingleton(o)){return[]}else if((o===null||o===void 0?void 0:(t=o.annotations)===null||t===void 0?void 0:(e=t.Capabilities)===null||e===void 0?void 0:(n=e.SortRestrictions)===null||n===void 0?void 0:n.Sortable)===false){d.push(...o.entityType.entityProperties.map(i=>i.name))}else{var a,u,p,c;d=(o===null||o===void 0?void 0:(a=o.annotations)===null||a===void 0?void 0:(u=a.Capabilities)===null||u===void 0?void 0:(p=u.SortRestrictions)===null||p===void 0?void 0:(c=p.NonSortableProperties)===null||c===void 0?void 0:c.map(i=>i.value))||[]}o===null||o===void 0?void 0:(l=o.annotations)===null||l===void 0?void 0:(r=l.Capabilities)===null||r===void 0?void 0:(v=r.NavigationRestrictions)===null||v===void 0?void 0:(s=v.RestrictedProperties)===null||s===void 0?void 0:s.forEach(i=>{var t;if((i===null||i===void 0?void 0:(t=i.SortRestrictions)===null||t===void 0?void 0:t.Sortable)===false){var e,n;const t=o===null||o===void 0?void 0:(e=o.entityType)===null||e===void 0?void 0:(n=e.navigationProperties)===null||n===void 0?void 0:n.filter(o=>{var t;return o.name===(i===null||i===void 0?void 0:(t=i.NavigationProperty)===null||t===void 0?void 0:t.value)});if(t[0]){d.push(...t[0].targetType.entityProperties.map(i=>`${t[0].name}/${i.name}`))}}else{var l,r;const o=i===null||i===void 0?void 0:(l=i.SortRestrictions)===null||l===void 0?void 0:(r=l.NonSortableProperties)===null||r===void 0?void 0:r.map(i=>i.value);if(o){d.push(...o)}}});return d};o.getNonSortablePropertiesRestrictions=n;return o},false);
|
|
6
6
|
//# sourceMappingURL=EntitySetHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntitySetHelper.js","names":["sap","ui","define","ModelHelper","_exports","isEntitySet","dataObject","hasOwnProperty","_type","getFilterExpressionRestrictions","entitySet","_entitySet$annotation","_entitySet$annotation2","_entitySet$annotation3","annotations","Capabilities","FilterRestrictions","FilterExpressionRestrictions","getNonSortablePropertiesRestrictions","_annotations","_annotations$Capabili","_annotations$Capabili2","_entitySet$annotation4","_entitySet$annotation5","_entitySet$annotation6","_entitySet$annotation7","nonSortableProperties","isSingleton","SortRestrictions","Sortable","push","entityType","entityProperties","map","property","name","_annotations2","_annotations2$Capabil","_annotations2$Capabil2","_annotations2$Capabil3","NonSortableProperties","value","NavigationRestrictions","RestrictedProperties","forEach","navigationRestriction","_navigationRestrictio","_entitySet$entityType","_entitySet$entityType2","navigationProperty","navigationProperties","filter","navProperty","_navigationRestrictio2","NavigationProperty","
|
|
1
|
+
{"version":3,"file":"EntitySetHelper.js","names":["sap","ui","define","ModelHelper","_exports","isEntitySet","dataObject","hasOwnProperty","_type","getFilterExpressionRestrictions","entitySet","_entitySet$annotation","_entitySet$annotation2","_entitySet$annotation3","annotations","Capabilities","FilterRestrictions","FilterExpressionRestrictions","getNonSortablePropertiesRestrictions","_annotations","_annotations$Capabili","_annotations$Capabili2","_entitySet$annotation4","_entitySet$annotation5","_entitySet$annotation6","_entitySet$annotation7","nonSortableProperties","isSingleton","SortRestrictions","Sortable","push","entityType","entityProperties","map","property","name","_annotations2","_annotations2$Capabil","_annotations2$Capabil2","_annotations2$Capabil3","NonSortableProperties","value","NavigationRestrictions","RestrictedProperties","forEach","navigationRestriction","_navigationRestrictio","_entitySet$entityType","_entitySet$entityType2","navigationProperty","navigationProperties","filter","navProperty","_navigationRestrictio2","NavigationProperty","targetType","_navigationRestrictio3","_navigationRestrictio4","nonSortableNavigationProperties"],"sources":["EntitySetHelper-dbg.js"],"mappings":"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"}
|
|
@@ -40,9 +40,7 @@ export const getNonSortablePropertiesRestrictions = function (entitySet: EntityS
|
|
|
40
40
|
if (navigationProperty[0]) {
|
|
41
41
|
// add all properties of the navigation property to the nonSortableProperties
|
|
42
42
|
nonSortableProperties.push(
|
|
43
|
-
...navigationProperty[0].targetType
|
|
44
|
-
(property) => `${navigationProperty[0].name}/${property.name}`
|
|
45
|
-
)
|
|
43
|
+
...navigationProperty[0].targetType.entityProperties.map((property) => `${navigationProperty[0].name}/${property.name}`)
|
|
46
44
|
);
|
|
47
45
|
}
|
|
48
46
|
} else {
|
|
@@ -310,7 +310,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/type/EDM", "sap/ui/mdc/condition/Con
|
|
|
310
310
|
oMetaModel = oContext.getInterface(1).getModel(),
|
|
311
311
|
entityTypeAnnotations = oMetaModel.getObject(`${entitySetPath}@`),
|
|
312
312
|
entityTypeProperties = oMetaModel.getObject(`${entitySetPath}/`);
|
|
313
|
-
if (entityTypeAnnotations["@com.sap.vocabularies.Common.v1.DraftRoot"] || entityTypeAnnotations["@com.sap.vocabularies.Common.v1.DraftNode"]) {
|
|
313
|
+
if (entityTypeAnnotations && (entityTypeAnnotations["@com.sap.vocabularies.Common.v1.DraftRoot"] || entityTypeAnnotations["@com.sap.vocabularies.Common.v1.DraftNode"])) {
|
|
314
314
|
editStateFilter = getEditStatusFilter();
|
|
315
315
|
}
|
|
316
316
|
const selectionVariant = (_filterConditions = filterConditions) === null || _filterConditions === void 0 ? void 0 : _filterConditions.selectionVariant;
|
|
@@ -337,10 +337,10 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/type/EDM", "sap/ui/mdc/condition/Con
|
|
|
337
337
|
...editStateFilter
|
|
338
338
|
};
|
|
339
339
|
}
|
|
340
|
-
return Object.keys(filterConditions).length > 0 ? JSON.stringify(filterConditions).replace(/([
|
|
340
|
+
return Object.keys(filterConditions).length > 0 ? JSON.stringify(filterConditions).replace(/([{}])/g, "\\$1") : undefined;
|
|
341
341
|
}
|
|
342
342
|
_exports.getFilterConditions = getFilterConditions;
|
|
343
343
|
getFilterConditions.requiresIContext = true;
|
|
344
344
|
return _exports;
|
|
345
345
|
}, false);
|
|
346
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvRXhjbHVkZU1hcCIsIkNvbnRhaW5zIiwiU3RhcnRzV2l0aCIsIkVuZHNXaXRoIiwiRW1wdHkiLCJOb3RFbXB0eSIsIkxFIiwiR0UiLCJMVCIsIkdUIiwiQlQiLCJORSIsIkVRIiwiX2dldERhdGVUaW1lT2Zmc2V0Q29tcGxpYW50VmFsdWUiLCJzVmFsdWUiLCJvVmFsdWUiLCJtYXRjaCIsImluZGV4T2YiLCJsZW5ndGgiLCJzcGxpdCIsInVuZGVmaW5lZCIsIl9nZXREYXRlQ29tcGxpYW50VmFsdWUiLCJnZXRUeXBlQ29tcGxpYW50VmFsdWUiLCJzVHlwZSIsImlzVHlwZUZpbHRlcmFibGUiLCJpc05hTiIsInBhcnNlRmxvYXQiLCJwYXJzZUludCIsInJlc29sdmVDb25kaXRpb25WYWx1ZXMiLCJzT3B0aW9uIiwib1YxIiwib1YyIiwic1NpZ24iLCJvVmFsdWUyIiwic0ludGVybmFsT3BlcmF0aW9uIiwib0NvbmRpdGlvbiIsInZhbHVlcyIsImlzRW1wdHkiLCJuSW5kZXhPZiIsIm5MYXN0SW5kZXgiLCJsYXN0SW5kZXhPZiIsInN1YnN0cmluZyIsIkxvZyIsIndhcm5pbmciLCJvcGVyYXRvciIsInB1c2giLCJnZXRSYW5nZVByb3BlcnR5Iiwic1Byb3BlcnR5IiwiX2J1aWxkQ29uZGl0aW9uc0Zyb21TZWxlY3Rpb25SYW5nZXMiLCJSYW5nZXMiLCJvUHJvcGVydHkiLCJzUHJvcGVydHlOYW1lIiwiZ2V0Q3VzdG9tQ29uZGl0aW9ucyIsImFDb25kaXRpb25zIiwiZm9yRWFjaCIsIlJhbmdlIiwiZ2V0Q29uZGl0aW9ucyIsIl9nZXRQcm9wZXJ0eSIsInByb3BlcnR5TmFtZSIsIm1ldGFNb2RlbCIsImVudGl0eVNldFBhdGgiLCJsYXN0U2xhc2hJbmRleCIsIm5hdmlnYXRpb25QYXRoIiwiY29sbGVjdGlvbiIsImdldE9iamVjdCIsInJlcGxhY2UiLCJfYnVpbGRGaWx0ZXJzQ29uZGl0aW9uc0Zyb21TZWxlY3RPcHRpb24iLCJzZWxlY3RPcHRpb24iLCJQcm9wZXJ0eU5hbWUiLCJmaWx0ZXJDb25kaXRpb25zIiwicHJvcGVydHlQYXRoIiwidmFsdWUiLCIkUHJvcGVydHlQYXRoIiwidGFyZ2V0UHJvcGVydHkiLCJjb25kaXRpb25zIiwiY29uY2F0IiwiZ2V0RmlsdGVyc0NvbmRpdGlvbnNGcm9tU2VsZWN0aW9uVmFyaWFudCIsInNFbnRpdHlTZXRQYXRoIiwib01ldGFNb2RlbCIsInNlbGVjdGlvblZhcmlhbnQiLCJvRmlsdGVyQ29uZGl0aW9ucyIsImFTZWxlY3RPcHRpb25zIiwiU2VsZWN0T3B0aW9ucyIsImFQYXJhbWV0ZXJzIiwiUGFyYW1ldGVycyIsIk9iamVjdCIsImtleXMiLCJpbmNsdWRlcyIsInBhcmFtZXRlciIsInNQcm9wZXJ0eVBhdGgiLCJ2YWx1ZTEiLCJQcm9wZXJ0eVZhbHVlIiwidmFsdWUyIiwicGF0aCIsImlzUGFyYW1ldGVyIiwidmFsaWRhdGVkIiwiQ29uZGl0aW9uVmFsaWRhdGVkIiwiVmFsaWRhdGVkIiwib1ZhbGlkUHJvcGVydHkiLCJzaWduIiwiU2lnbiIsIk9wdGlvbiIsIm9WYWx1ZTEiLCJMb3ciLCIkVHlwZSIsInR5cGUiLCJIaWdoIiwib0NvbmRpdGlvblZhbHVlcyIsIkNvbmRpdGlvbiIsImNyZWF0ZUNvbmRpdGlvbiIsImdldERlZmF1bHRWYWx1ZUZpbHRlcnMiLCJvQ29udGV4dCIsInByb3BlcnRpZXMiLCJnZXRJbnRlcmZhY2UiLCJnZXRQYXRoIiwiZ2V0TW9kZWwiLCJrZXkiLCJkZWZhdWx0RmlsdGVyVmFsdWUiLCJnZXREZWZhdWx0U2VtYW50aWNEYXRlRmlsdGVycyIsImRlZmF1bHRTZW1hbnRpY0RhdGVzIiwib0ludGVyZmFjZSIsInNFbnRpdHlUeXBlUGF0aCIsImFQcm9wZXJ0eVBhdGhQYXJ0cyIsInNQYXRoIiwiaVByb3BlcnR5UGF0aExlbmd0aCIsInNOYXZpZ2F0aW9uUGF0aCIsInNsaWNlIiwiam9pbiIsInZQcm9wZXJ0eSIsIiRraW5kIiwiJGlzQ29sbGVjdGlvbiIsIm9wZXJhdG9yUGFyYW1zQXJyIiwiZ2V0RWRpdFN0YXR1c0ZpbHRlciIsIm9maWx0ZXJDb25kaXRpb25zIiwiZ2V0RmlsdGVyQ29uZGl0aW9ucyIsImVkaXRTdGF0ZUZpbHRlciIsImVudGl0eVR5cGVBbm5vdGF0aW9ucyIsImVudGl0eVR5cGVQcm9wZXJ0aWVzIiwiZGVmYXVsdEZpbHRlcnMiLCJkZWZhdWx0U2VtYW50aWNEYXRlRmlsdGVycyIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZXF1aXJlc0lDb250ZXh0Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJGaWx0ZXJIZWxwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZWxlY3Rpb25SYW5nZVR5cGVUeXBlcywgU2VsZWN0aW9uVmFyaWFudFR5cGVUeXBlcywgU2VsZWN0T3B0aW9uVHlwZSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHsgRGVmYXVsdFR5cGVGb3JFZG1UeXBlLCBpc1R5cGVGaWx0ZXJhYmxlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3R5cGUvRURNXCI7XG5pbXBvcnQgdHlwZSB7IENvbmRpdGlvbk9iamVjdCB9IGZyb20gXCJzYXAvdWkvbWRjL2NvbmRpdGlvbi9Db25kaXRpb25cIjtcbmltcG9ydCBDb25kaXRpb24gZnJvbSBcInNhcC91aS9tZGMvY29uZGl0aW9uL0NvbmRpdGlvblwiO1xuaW1wb3J0IENvbmRpdGlvblZhbGlkYXRlZCBmcm9tIFwic2FwL3VpL21kYy9lbnVtL0NvbmRpdGlvblZhbGlkYXRlZFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1ldGFNb2RlbFwiO1xuZXhwb3J0IHR5cGUgRmlsdGVyQ29uZGl0aW9ucyA9IHtcblx0b3BlcmF0b3I6IHN0cmluZztcblx0dmFsdWVzOiBBcnJheTxzdHJpbmc+O1xuXHRpc0VtcHR5PzogYm9vbGVhbiB8IG51bGw7XG5cdHZhbGlkYXRlZD86IHN0cmluZztcbn07XG5cbmNvbnN0IG9FeGNsdWRlTWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge1xuXHRDb250YWluczogXCJOb3RDb250YWluc1wiLFxuXHRTdGFydHNXaXRoOiBcIk5vdFN0YXJ0c1dpdGhcIixcblx0RW5kc1dpdGg6IFwiTm90RW5kc1dpdGhcIixcblx0RW1wdHk6IFwiTm90RW1wdHlcIixcblx0Tm90RW1wdHk6IFwiRW1wdHlcIixcblx0TEU6IFwiTk9UTEVcIixcblx0R0U6IFwiTk9UR0VcIixcblx0TFQ6IFwiTk9UTFRcIixcblx0R1Q6IFwiTk9UR1RcIixcblx0QlQ6IFwiTk9UQlRcIixcblx0TkU6IFwiRVFcIixcblx0RVE6IFwiTkVcIlxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9nZXREYXRlVGltZU9mZnNldENvbXBsaWFudFZhbHVlKHNWYWx1ZTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0bGV0IG9WYWx1ZTtcblx0aWYgKHNWYWx1ZS5tYXRjaCgvXihcXGR7NH0pLShcXGR7MSwyfSktKFxcZHsxLDJ9KVQoXFxkezEsMn0pOihcXGR7MSwyfSk6KFxcZHsxLDJ9KVxcKyhcXGR7MSw0fSkvKSkge1xuXHRcdG9WYWx1ZSA9IHNWYWx1ZS5tYXRjaCgvXihcXGR7NH0pLShcXGR7MSwyfSktKFxcZHsxLDJ9KVQoXFxkezEsMn0pOihcXGR7MSwyfSk6KFxcZHsxLDJ9KVxcKyhcXGR7MSw0fSkvKVswXTtcblx0fSBlbHNlIGlmIChzVmFsdWUubWF0Y2goL14oXFxkezR9KS0oXFxkezEsMn0pLShcXGR7MSwyfSlUKFxcZHsxLDJ9KTooXFxkezEsMn0pOihcXGR7MSwyfSkvKSkge1xuXHRcdG9WYWx1ZSA9IGAke3NWYWx1ZS5tYXRjaCgvXihcXGR7NH0pLShcXGR7MSwyfSktKFxcZHsxLDJ9KVQoXFxkezEsMn0pOihcXGR7MSwyfSk6KFxcZHsxLDJ9KS8pWzBdfSswMDAwYDtcblx0fSBlbHNlIGlmIChzVmFsdWUubWF0Y2goL14oXFxkezR9KS0oXFxkezEsMn0pLShcXGR7MSwyfSkvKSkge1xuXHRcdG9WYWx1ZSA9IGAke3NWYWx1ZS5tYXRjaCgvXihcXGR7NH0pLShcXGR7MSwyfSktKFxcZHsxLDJ9KS8pWzBdfVQwMDowMDowMCswMDAwYDtcblx0fSBlbHNlIGlmIChzVmFsdWUuaW5kZXhPZihcIlpcIikgPT09IHNWYWx1ZS5sZW5ndGggLSAxKSB7XG5cdFx0b1ZhbHVlID0gYCR7c1ZhbHVlLnNwbGl0KFwiWlwiKVswXX0rMDEwMGA7XG5cdH0gZWxzZSB7XG5cdFx0b1ZhbHVlID0gdW5kZWZpbmVkO1xuXHR9XG5cdHJldHVybiBvVmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfZ2V0RGF0ZUNvbXBsaWFudFZhbHVlKHNWYWx1ZTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIHNWYWx1ZS5tYXRjaCgvXihcXGR7NH0pLShcXGR7MSwyfSktKFxcZHsxLDJ9KS8pXG5cdFx0PyBzVmFsdWUubWF0Y2goL14oXFxkezR9KS0oXFxkezEsMn0pLShcXGR7MSwyfSkvKVswXVxuXHRcdDogc1ZhbHVlLm1hdGNoKC9eKFxcZHs4fSkvKSAmJiBzVmFsdWUubWF0Y2goL14oXFxkezh9KS8pWzBdO1xufVxuXG4vKipcbiAqIE1ldGhvZCB0byBnZXQgdGhlIGNvbXBsaWFudCB2YWx1ZSB0eXBlIGJhc2VkIG9uIHRoZSBkYXRhIHR5cGUuXG4gKlxuICogQHBhcmFtICBzVmFsdWUgUmF3IHZhbHVlXG4gKiBAcGFyYW0gIHNUeXBlIFRoZSBwcm9wZXJ0eSB0eXBlXG4gKiBAcmV0dXJucyBWYWx1ZSB0byBiZSBwcm9wYWdhdGVkIHRvIHRoZSBjb25kaXRpb24uXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFR5cGVDb21wbGlhbnRWYWx1ZShzVmFsdWU6IGFueSwgc1R5cGU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGxldCBvVmFsdWU7XG5cdGlmICghaXNUeXBlRmlsdGVyYWJsZShzVHlwZSBhcyBrZXlvZiB0eXBlb2YgRGVmYXVsdFR5cGVGb3JFZG1UeXBlKSkge1xuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblx0b1ZhbHVlID0gc1ZhbHVlO1xuXHRzd2l0Y2ggKHNUeXBlKSB7XG5cdFx0Y2FzZSBcIkVkbS5Cb29sZWFuXCI6XG5cdFx0XHRpZiAodHlwZW9mIHNWYWx1ZSA9PT0gXCJib29sZWFuXCIpIHtcblx0XHRcdFx0b1ZhbHVlID0gc1ZhbHVlO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0b1ZhbHVlID0gc1ZhbHVlID09PSBcInRydWVcIiB8fCAoc1ZhbHVlID09PSBcImZhbHNlXCIgPyBmYWxzZSA6IHVuZGVmaW5lZCk7XG5cdFx0XHR9XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiRWRtLkRvdWJsZVwiOlxuXHRcdGNhc2UgXCJFZG0uU2luZ2xlXCI6XG5cdFx0XHRvVmFsdWUgPSBpc05hTihzVmFsdWUpID8gdW5kZWZpbmVkIDogcGFyc2VGbG9hdChzVmFsdWUpO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIkVkbS5CeXRlXCI6XG5cdFx0Y2FzZSBcIkVkbS5JbnQxNlwiOlxuXHRcdGNhc2UgXCJFZG0uSW50MzJcIjpcblx0XHRjYXNlIFwiRWRtLlNCeXRlXCI6XG5cdFx0XHRvVmFsdWUgPSBpc05hTihzVmFsdWUpID8gdW5kZWZpbmVkIDogcGFyc2VJbnQoc1ZhbHVlLCAxMCk7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiRWRtLkRhdGVcIjpcblx0XHRcdG9WYWx1ZSA9IF9nZXREYXRlQ29tcGxpYW50VmFsdWUoc1ZhbHVlKTtcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgXCJFZG0uRGF0ZVRpbWVPZmZzZXRcIjpcblx0XHRcdG9WYWx1ZSA9IF9nZXREYXRlVGltZU9mZnNldENvbXBsaWFudFZhbHVlKHNWYWx1ZSk7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiRWRtLlRpbWVPZkRheVwiOlxuXHRcdFx0b1ZhbHVlID0gc1ZhbHVlLm1hdGNoKC8oXFxkezEsMn0pOihcXGR7MSwyfSk6KFxcZHsxLDJ9KS8pID8gc1ZhbHVlLm1hdGNoKC8oXFxkezEsMn0pOihcXGR7MSwyfSk6KFxcZHsxLDJ9KS8pWzBdIDogdW5kZWZpbmVkO1xuXHRcdFx0YnJlYWs7XG5cdFx0ZGVmYXVsdDpcblx0fVxuXG5cdHJldHVybiBvVmFsdWUgPT09IG51bGwgPyB1bmRlZmluZWQgOiBvVmFsdWU7XG59XG5cbi8qKlxuICogTWV0aG9kIHRvIGNyZWF0ZSBhIGNvbmRpdGlvbi5cbiAqXG4gKiBAcGFyYW0gIHNPcHRpb24gT3BlcmF0b3IgdG8gYmUgdXNlZC5cbiAqIEBwYXJhbSAgb1YxIExvd2VyIHZhbHVlXG4gKiBAcGFyYW0gIG9WMiBIaWdoZXIgdmFsdWVcbiAqIEBwYXJhbSBzU2lnblxuICogQHJldHVybnMgQ29uZGl0aW9uIHRvIGJlIGNyZWF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVDb25kaXRpb25WYWx1ZXMoc09wdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkLCBvVjE6IGFueSwgb1YyOiBhbnksIHNTaWduOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcblx0bGV0IG9WYWx1ZSA9IG9WMSxcblx0XHRvVmFsdWUyLFxuXHRcdHNJbnRlcm5hbE9wZXJhdGlvbjogYW55O1xuXHRjb25zdCBvQ29uZGl0aW9uOiBSZWNvcmQ8c3RyaW5nLCBGaWx0ZXJDb25kaXRpb25zW10+ID0ge307XG5cdG9Db25kaXRpb24udmFsdWVzID0gW107XG5cdG9Db25kaXRpb24uaXNFbXB0eSA9IG51bGwgYXMgYW55O1xuXHRpZiAob1YxID09PSB1bmRlZmluZWQgfHwgb1YxID09PSBudWxsKSB7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXG5cdHN3aXRjaCAoc09wdGlvbikge1xuXHRcdGNhc2UgXCJDUFwiOlxuXHRcdFx0c0ludGVybmFsT3BlcmF0aW9uID0gXCJDb250YWluc1wiO1xuXHRcdFx0aWYgKG9WYWx1ZSkge1xuXHRcdFx0XHRjb25zdCBuSW5kZXhPZiA9IG9WYWx1ZS5pbmRleE9mKFwiKlwiKTtcblx0XHRcdFx0Y29uc3Qgbkxhc3RJbmRleCA9IG9WYWx1ZS5sYXN0SW5kZXhPZihcIipcIik7XG5cblx0XHRcdFx0Ly8gb25seSB3aGVuIHRoZXJlIGFyZSAnKicgYXQgYWxsXG5cdFx0XHRcdGlmIChuSW5kZXhPZiA+IC0xKSB7XG5cdFx0XHRcdFx0aWYgKG5JbmRleE9mID09PSAwICYmIG5MYXN0SW5kZXggIT09IG9WYWx1ZS5sZW5ndGggLSAxKSB7XG5cdFx0XHRcdFx0XHRzSW50ZXJuYWxPcGVyYXRpb24gPSBcIkVuZHNXaXRoXCI7XG5cdFx0XHRcdFx0XHRvVmFsdWUgPSBvVmFsdWUuc3Vic3RyaW5nKDEsIG9WYWx1ZS5sZW5ndGgpO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAobkluZGV4T2YgIT09IDAgJiYgbkxhc3RJbmRleCA9PT0gb1ZhbHVlLmxlbmd0aCAtIDEpIHtcblx0XHRcdFx0XHRcdHNJbnRlcm5hbE9wZXJhdGlvbiA9IFwiU3RhcnRzV2l0aFwiO1xuXHRcdFx0XHRcdFx0b1ZhbHVlID0gb1ZhbHVlLnN1YnN0cmluZygwLCBvVmFsdWUubGVuZ3RoIC0gMSk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdG9WYWx1ZSA9IG9WYWx1ZS5zdWJzdHJpbmcoMSwgb1ZhbHVlLmxlbmd0aCAtIDEpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRMb2cud2FybmluZyhcIkNvbnRhaW5zIE9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRob3V0ICcqJy5cIik7XG5cdFx0XHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIkVRXCI6XG5cdFx0XHRzSW50ZXJuYWxPcGVyYXRpb24gPSBvVjEgPT09IFwiXCIgPyBcIkVtcHR5XCIgOiBzT3B0aW9uO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIk5FXCI6XG5cdFx0XHRzSW50ZXJuYWxPcGVyYXRpb24gPSBvVjEgPT09IFwiXCIgPyBcIk5vdEVtcHR5XCIgOiBzT3B0aW9uO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIkJUXCI6XG5cdFx0XHRpZiAob1YyID09PSB1bmRlZmluZWQgfHwgb1YyID09PSBudWxsKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdG9WYWx1ZTIgPSBvVjI7XG5cdFx0XHRzSW50ZXJuYWxPcGVyYXRpb24gPSBzT3B0aW9uO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIkxFXCI6XG5cdFx0Y2FzZSBcIkdFXCI6XG5cdFx0Y2FzZSBcIkdUXCI6XG5cdFx0Y2FzZSBcIkxUXCI6XG5cdFx0XHRzSW50ZXJuYWxPcGVyYXRpb24gPSBzT3B0aW9uO1xuXHRcdFx0YnJlYWs7XG5cdFx0ZGVmYXVsdDpcblx0XHRcdExvZy53YXJuaW5nKGBTZWxlY3Rpb24gT3B0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgOiAnJHtzT3B0aW9ufSdgKTtcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblx0aWYgKHNTaWduID09PSBcIkVcIikge1xuXHRcdHNJbnRlcm5hbE9wZXJhdGlvbiA9IG9FeGNsdWRlTWFwW3NJbnRlcm5hbE9wZXJhdGlvbl07XG5cdH1cblx0b0NvbmRpdGlvbi5vcGVyYXRvciA9IHNJbnRlcm5hbE9wZXJhdGlvbjtcblx0aWYgKHNJbnRlcm5hbE9wZXJhdGlvbiAhPT0gXCJFbXB0eVwiKSB7XG5cdFx0b0NvbmRpdGlvbi52YWx1ZXMucHVzaChvVmFsdWUpO1xuXHRcdGlmIChvVmFsdWUyKSB7XG5cdFx0XHRvQ29uZGl0aW9uLnZhbHVlcy5wdXNoKG9WYWx1ZTIpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gb0NvbmRpdGlvbjtcbn1cblxuLyogTWV0aG9kIHRvIGdldCB0aGUgUmFuZ2UgcHJvcGVydHkgZnJvbSB0aGUgU2VsZWN0aW9uIE9wdGlvbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJhbmdlUHJvcGVydHkoc1Byb3BlcnR5OiBzdHJpbmcpOiBzdHJpbmcge1xuXHRyZXR1cm4gc1Byb3BlcnR5LmluZGV4T2YoXCIvXCIpID4gMCA/IHNQcm9wZXJ0eS5zcGxpdChcIi9cIilbMV0gOiBzUHJvcGVydHk7XG59XG5cbmZ1bmN0aW9uIF9idWlsZENvbmRpdGlvbnNGcm9tU2VsZWN0aW9uUmFuZ2VzKFxuXHRSYW5nZXM6IFNlbGVjdGlvblJhbmdlVHlwZVR5cGVzW10sXG5cdG9Qcm9wZXJ0eTogUmVjb3JkPHN0cmluZywgb2JqZWN0Pixcblx0c1Byb3BlcnR5TmFtZTogc3RyaW5nLFxuXHRnZXRDdXN0b21Db25kaXRpb25zPzogRnVuY3Rpb25cbik6IGFueVtdIHtcblx0Y29uc3QgYUNvbmRpdGlvbnM6IGFueVtdID0gW107XG5cdFJhbmdlcz8uZm9yRWFjaCgoUmFuZ2U6IGFueSkgPT4ge1xuXHRcdGNvbnN0IG9Db25kaXRpb24gPSBnZXRDdXN0b21Db25kaXRpb25zID8gZ2V0Q3VzdG9tQ29uZGl0aW9ucyhSYW5nZSwgb1Byb3BlcnR5LCBzUHJvcGVydHlOYW1lKSA6IGdldENvbmRpdGlvbnMoUmFuZ2UsIG9Qcm9wZXJ0eSk7XG5cdFx0aWYgKG9Db25kaXRpb24pIHtcblx0XHRcdGFDb25kaXRpb25zLnB1c2gob0NvbmRpdGlvbik7XG5cdFx0fVxuXHR9KTtcblx0cmV0dXJuIGFDb25kaXRpb25zO1xufVxuXG5mdW5jdGlvbiBfZ2V0UHJvcGVydHkocHJvcGVydHlOYW1lOiBzdHJpbmcsIG1ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwsIGVudGl0eVNldFBhdGg6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIG9iamVjdD4ge1xuXHRjb25zdCBsYXN0U2xhc2hJbmRleCA9IHByb3BlcnR5TmFtZS5sYXN0SW5kZXhPZihcIi9cIik7XG5cdGNvbnN0IG5hdmlnYXRpb25QYXRoID0gbGFzdFNsYXNoSW5kZXggPiAtMSA/IHByb3BlcnR5TmFtZS5zdWJzdHJpbmcoMCwgcHJvcGVydHlOYW1lLmxhc3RJbmRleE9mKFwiL1wiKSArIDEpIDogXCJcIjtcblx0Y29uc3QgY29sbGVjdGlvbiA9IG1ldGFNb2RlbC5nZXRPYmplY3QoYCR7ZW50aXR5U2V0UGF0aH0vJHtuYXZpZ2F0aW9uUGF0aH1gKTtcblx0cmV0dXJuIGNvbGxlY3Rpb24/Lltwcm9wZXJ0eU5hbWUucmVwbGFjZShuYXZpZ2F0aW9uUGF0aCwgXCJcIildO1xufVxuXG5mdW5jdGlvbiBfYnVpbGRGaWx0ZXJzQ29uZGl0aW9uc0Zyb21TZWxlY3RPcHRpb24oXG5cdHNlbGVjdE9wdGlvbjogU2VsZWN0T3B0aW9uVHlwZSxcblx0bWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbCxcblx0ZW50aXR5U2V0UGF0aDogc3RyaW5nLFxuXHRnZXRDdXN0b21Db25kaXRpb25zPzogRnVuY3Rpb25cbik6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4ge1xuXHRjb25zdCBwcm9wZXJ0eU5hbWU6IGFueSA9IHNlbGVjdE9wdGlvbi5Qcm9wZXJ0eU5hbWUsXG5cdFx0ZmlsdGVyQ29uZGl0aW9uczogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiA9IHt9LFxuXHRcdHByb3BlcnR5UGF0aDogc3RyaW5nID0gcHJvcGVydHlOYW1lLnZhbHVlIHx8IHByb3BlcnR5TmFtZS4kUHJvcGVydHlQYXRoLFxuXHRcdFJhbmdlczogU2VsZWN0aW9uUmFuZ2VUeXBlVHlwZXNbXSA9IHNlbGVjdE9wdGlvbi5SYW5nZXM7XG5cdGNvbnN0IHRhcmdldFByb3BlcnR5ID0gX2dldFByb3BlcnR5KHByb3BlcnR5UGF0aCwgbWV0YU1vZGVsLCBlbnRpdHlTZXRQYXRoKTtcblx0aWYgKHRhcmdldFByb3BlcnR5KSB7XG5cdFx0Y29uc3QgY29uZGl0aW9uczogYW55W10gPSBfYnVpbGRDb25kaXRpb25zRnJvbVNlbGVjdGlvblJhbmdlcyhSYW5nZXMsIHRhcmdldFByb3BlcnR5LCBwcm9wZXJ0eVBhdGgsIGdldEN1c3RvbUNvbmRpdGlvbnMpO1xuXHRcdGlmIChjb25kaXRpb25zLmxlbmd0aCkge1xuXHRcdFx0ZmlsdGVyQ29uZGl0aW9uc1twcm9wZXJ0eVBhdGhdID0gKGZpbHRlckNvbmRpdGlvbnNbcHJvcGVydHlQYXRoXSB8fCBbXSkuY29uY2F0KGNvbmRpdGlvbnMpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gZmlsdGVyQ29uZGl0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbHRlcnNDb25kaXRpb25zRnJvbVNlbGVjdGlvblZhcmlhbnQoXG5cdHNFbnRpdHlTZXRQYXRoOiBzdHJpbmcsXG5cdG9NZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsLFxuXHRzZWxlY3Rpb25WYXJpYW50OiBTZWxlY3Rpb25WYXJpYW50VHlwZVR5cGVzLFxuXHRnZXRDdXN0b21Db25kaXRpb25zPzogRnVuY3Rpb25cbik6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4ge1xuXHRsZXQgb0ZpbHRlckNvbmRpdGlvbnM6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4gPSB7fTtcblx0aWYgKCFzZWxlY3Rpb25WYXJpYW50KSB7XG5cdFx0cmV0dXJuIG9GaWx0ZXJDb25kaXRpb25zO1xuXHR9XG5cdGNvbnN0IGFTZWxlY3RPcHRpb25zID0gc2VsZWN0aW9uVmFyaWFudC5TZWxlY3RPcHRpb25zLFxuXHRcdGFQYXJhbWV0ZXJzID0gc2VsZWN0aW9uVmFyaWFudC5QYXJhbWV0ZXJzO1xuXHRhU2VsZWN0T3B0aW9ucz8uZm9yRWFjaCgoc2VsZWN0T3B0aW9uOiBTZWxlY3RPcHRpb25UeXBlKSA9PiB7XG5cdFx0Y29uc3QgcHJvcGVydHlOYW1lOiBhbnkgPSBzZWxlY3RPcHRpb24uUHJvcGVydHlOYW1lLFxuXHRcdFx0c1Byb3BlcnR5TmFtZTogc3RyaW5nID0gcHJvcGVydHlOYW1lLnZhbHVlIHx8IHByb3BlcnR5TmFtZS4kUHJvcGVydHlQYXRoO1xuXHRcdGlmIChPYmplY3Qua2V5cyhvRmlsdGVyQ29uZGl0aW9ucykuaW5jbHVkZXMoc1Byb3BlcnR5TmFtZSkpIHtcblx0XHRcdG9GaWx0ZXJDb25kaXRpb25zW3NQcm9wZXJ0eU5hbWVdID0gb0ZpbHRlckNvbmRpdGlvbnNbc1Byb3BlcnR5TmFtZV0uY29uY2F0KFxuXHRcdFx0XHRfYnVpbGRGaWx0ZXJzQ29uZGl0aW9uc0Zyb21TZWxlY3RPcHRpb24oc2VsZWN0T3B0aW9uLCBvTWV0YU1vZGVsLCBzRW50aXR5U2V0UGF0aCwgZ2V0Q3VzdG9tQ29uZGl0aW9ucylbc1Byb3BlcnR5TmFtZV1cblx0XHRcdCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdG9GaWx0ZXJDb25kaXRpb25zID0ge1xuXHRcdFx0XHQuLi5vRmlsdGVyQ29uZGl0aW9ucyxcblx0XHRcdFx0Li4uX2J1aWxkRmlsdGVyc0NvbmRpdGlvbnNGcm9tU2VsZWN0T3B0aW9uKHNlbGVjdE9wdGlvbiwgb01ldGFNb2RlbCwgc0VudGl0eVNldFBhdGgsIGdldEN1c3RvbUNvbmRpdGlvbnMpXG5cdFx0XHR9O1xuXHRcdH1cblx0fSk7XG5cdGFQYXJhbWV0ZXJzPy5mb3JFYWNoKChwYXJhbWV0ZXI6IGFueSkgPT4ge1xuXHRcdGNvbnN0IHNQcm9wZXJ0eVBhdGggPSBwYXJhbWV0ZXIuUHJvcGVydHlOYW1lLnZhbHVlIHx8IHBhcmFtZXRlci5Qcm9wZXJ0eU5hbWUuJFByb3BlcnR5UGF0aDtcblx0XHRjb25zdCBvQ29uZGl0aW9uOiBhbnkgPSBnZXRDdXN0b21Db25kaXRpb25zXG5cdFx0XHQ/IHsgb3BlcmF0b3I6IFwiRVFcIiwgdmFsdWUxOiBwYXJhbWV0ZXIuUHJvcGVydHlWYWx1ZSwgdmFsdWUyOiBudWxsLCBwYXRoOiBzUHJvcGVydHlQYXRoLCBpc1BhcmFtZXRlcjogdHJ1ZSB9XG5cdFx0XHQ6IHtcblx0XHRcdFx0XHRvcGVyYXRvcjogXCJFUVwiLFxuXHRcdFx0XHRcdHZhbHVlczogW3BhcmFtZXRlci5Qcm9wZXJ0eVZhbHVlXSxcblx0XHRcdFx0XHRpc0VtcHR5OiBudWxsLFxuXHRcdFx0XHRcdHZhbGlkYXRlZDogQ29uZGl0aW9uVmFsaWRhdGVkLlZhbGlkYXRlZCxcblx0XHRcdFx0XHRpc1BhcmFtZXRlcjogdHJ1ZVxuXHRcdFx0ICB9O1xuXHRcdG9GaWx0ZXJDb25kaXRpb25zW3NQcm9wZXJ0eVBhdGhdID0gW29Db25kaXRpb25dO1xuXHR9KTtcblxuXHRyZXR1cm4gb0ZpbHRlckNvbmRpdGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25kaXRpb25zKFJhbmdlOiBhbnksIG9WYWxpZFByb3BlcnR5OiBhbnkpOiBDb25kaXRpb25PYmplY3QgfCB1bmRlZmluZWQge1xuXHRsZXQgb0NvbmRpdGlvbjtcblx0Y29uc3Qgc2lnbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gUmFuZ2UuU2lnbiA/IGdldFJhbmdlUHJvcGVydHkoUmFuZ2UuU2lnbikgOiB1bmRlZmluZWQ7XG5cdGNvbnN0IHNPcHRpb246IHN0cmluZyB8IHVuZGVmaW5lZCA9IFJhbmdlLk9wdGlvbiA/IGdldFJhbmdlUHJvcGVydHkoUmFuZ2UuT3B0aW9uKSA6IHVuZGVmaW5lZDtcblx0Y29uc3Qgb1ZhbHVlMTogYW55ID0gZ2V0VHlwZUNvbXBsaWFudFZhbHVlKFJhbmdlLkxvdywgb1ZhbGlkUHJvcGVydHkuJFR5cGUgfHwgb1ZhbGlkUHJvcGVydHkudHlwZSk7XG5cdGNvbnN0IG9WYWx1ZTI6IGFueSA9IFJhbmdlLkhpZ2ggPyBnZXRUeXBlQ29tcGxpYW50VmFsdWUoUmFuZ2UuSGlnaCwgb1ZhbGlkUHJvcGVydHkuJFR5cGUgfHwgb1ZhbGlkUHJvcGVydHkudHlwZSkgOiB1bmRlZmluZWQ7XG5cdGNvbnN0IG9Db25kaXRpb25WYWx1ZXMgPSByZXNvbHZlQ29uZGl0aW9uVmFsdWVzKHNPcHRpb24sIG9WYWx1ZTEsIG9WYWx1ZTIsIHNpZ24pIGFzIGFueTtcblx0aWYgKG9Db25kaXRpb25WYWx1ZXMpIHtcblx0XHRvQ29uZGl0aW9uID0gQ29uZGl0aW9uLmNyZWF0ZUNvbmRpdGlvbihcblx0XHRcdG9Db25kaXRpb25WYWx1ZXMub3BlcmF0b3IsXG5cdFx0XHRvQ29uZGl0aW9uVmFsdWVzLnZhbHVlcyxcblx0XHRcdG51bGwsXG5cdFx0XHRudWxsLFxuXHRcdFx0Q29uZGl0aW9uVmFsaWRhdGVkLlZhbGlkYXRlZFxuXHRcdCk7XG5cdH1cblx0cmV0dXJuIG9Db25kaXRpb247XG59XG5cbmNvbnN0IGdldERlZmF1bHRWYWx1ZUZpbHRlcnMgPSBmdW5jdGlvbiAob0NvbnRleHQ6IGFueSwgcHJvcGVydGllczogYW55KTogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiB7XG5cdGNvbnN0IGZpbHRlckNvbmRpdGlvbnM6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4gPSB7fTtcblx0Y29uc3QgZW50aXR5U2V0UGF0aCA9IG9Db250ZXh0LmdldEludGVyZmFjZSgxKS5nZXRQYXRoKCksXG5cdFx0b01ldGFNb2RlbCA9IG9Db250ZXh0LmdldEludGVyZmFjZSgxKS5nZXRNb2RlbCgpO1xuXHRpZiAocHJvcGVydGllcykge1xuXHRcdGZvciAoY29uc3Qga2V5IGluIHByb3BlcnRpZXMpIHtcblx0XHRcdGNvbnN0IGRlZmF1bHRGaWx0ZXJWYWx1ZSA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KGAke2VudGl0eVNldFBhdGh9LyR7a2V5fUBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuRmlsdGVyRGVmYXVsdFZhbHVlYCk7XG5cdFx0XHRpZiAoZGVmYXVsdEZpbHRlclZhbHVlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0Y29uc3QgUHJvcGVydHlOYW1lID0ga2V5O1xuXHRcdFx0XHRmaWx0ZXJDb25kaXRpb25zW1Byb3BlcnR5TmFtZV0gPSBbXG5cdFx0XHRcdFx0Q29uZGl0aW9uLmNyZWF0ZUNvbmRpdGlvbihcIkVRXCIsIFtkZWZhdWx0RmlsdGVyVmFsdWVdLCBudWxsLCBudWxsLCBDb25kaXRpb25WYWxpZGF0ZWQuVmFsaWRhdGVkKSBhcyBGaWx0ZXJDb25kaXRpb25zXG5cdFx0XHRcdF07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHJldHVybiBmaWx0ZXJDb25kaXRpb25zO1xufTtcblxuY29uc3QgZ2V0RGVmYXVsdFNlbWFudGljRGF0ZUZpbHRlcnMgPSBmdW5jdGlvbiAoXG5cdG9Db250ZXh0OiBhbnksXG5cdHByb3BlcnRpZXM6IGFueSxcblx0ZGVmYXVsdFNlbWFudGljRGF0ZXM6IGFueVxuKTogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiB7XG5cdGNvbnN0IGZpbHRlckNvbmRpdGlvbnM6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4gPSB7fTtcblx0Y29uc3Qgb0ludGVyZmFjZSA9IG9Db250ZXh0LmdldEludGVyZmFjZSgxKTtcblx0Y29uc3Qgb01ldGFNb2RlbCA9IG9JbnRlcmZhY2UuZ2V0TW9kZWwoKTtcblx0Y29uc3Qgc0VudGl0eVR5cGVQYXRoID0gb0ludGVyZmFjZS5nZXRQYXRoKCk7XG5cdGZvciAoY29uc3Qga2V5IGluIGRlZmF1bHRTZW1hbnRpY0RhdGVzKSB7XG5cdFx0aWYgKGRlZmF1bHRTZW1hbnRpY0RhdGVzW2tleV1bMF0pIHtcblx0XHRcdGNvbnN0IGFQcm9wZXJ0eVBhdGhQYXJ0cyA9IGtleS5zcGxpdChcIjo6XCIpO1xuXHRcdFx0bGV0IHNQYXRoID0gXCJcIjtcblx0XHRcdGNvbnN0IGlQcm9wZXJ0eVBhdGhMZW5ndGggPSBhUHJvcGVydHlQYXRoUGFydHMubGVuZ3RoO1xuXHRcdFx0Y29uc3Qgc05hdmlnYXRpb25QYXRoID0gYVByb3BlcnR5UGF0aFBhcnRzLnNsaWNlKDAsIGFQcm9wZXJ0eVBhdGhQYXJ0cy5sZW5ndGggLSAxKS5qb2luKFwiL1wiKTtcblx0XHRcdGNvbnN0IHNQcm9wZXJ0eSA9IGFQcm9wZXJ0eVBhdGhQYXJ0c1tpUHJvcGVydHlQYXRoTGVuZ3RoIC0gMV07XG5cdFx0XHRpZiAoc05hdmlnYXRpb25QYXRoKSB7XG5cdFx0XHRcdC8vQ3JlYXRlIFByb3BlciBDb25kaXRpb24gUGF0aCBlLmcuIF9JdGVtKi9Qcm9wZXJ0eSBvciBfSXRlbS9Qcm9wZXJ0eVxuXHRcdFx0XHRjb25zdCB2UHJvcGVydHkgPSBvTWV0YU1vZGVsLmdldE9iamVjdChzRW50aXR5VHlwZVBhdGggKyBcIi9cIiArIHNOYXZpZ2F0aW9uUGF0aCk7XG5cdFx0XHRcdGlmICh2UHJvcGVydHkuJGtpbmQgPT09IFwiTmF2aWdhdGlvblByb3BlcnR5XCIgJiYgdlByb3BlcnR5LiRpc0NvbGxlY3Rpb24pIHtcblx0XHRcdFx0XHRzUGF0aCArPSBgJHtzTmF2aWdhdGlvblBhdGh9Ki9gO1xuXHRcdFx0XHR9IGVsc2UgaWYgKHZQcm9wZXJ0eS4ka2luZCA9PT0gXCJOYXZpZ2F0aW9uUHJvcGVydHlcIikge1xuXHRcdFx0XHRcdHNQYXRoICs9IGAke3NOYXZpZ2F0aW9uUGF0aH0vYDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0c1BhdGggKz0gc1Byb3BlcnR5O1xuXHRcdFx0Y29uc3Qgb3BlcmF0b3JQYXJhbXNBcnIgPSBcInZhbHVlc1wiIGluIGRlZmF1bHRTZW1hbnRpY0RhdGVzW2tleV1bMF0gPyBkZWZhdWx0U2VtYW50aWNEYXRlc1trZXldWzBdLnZhbHVlcyA6IFtdO1xuXHRcdFx0ZmlsdGVyQ29uZGl0aW9uc1tzUGF0aF0gPSBbXG5cdFx0XHRcdENvbmRpdGlvbi5jcmVhdGVDb25kaXRpb24oZGVmYXVsdFNlbWFudGljRGF0ZXNba2V5XVswXS5vcGVyYXRvciwgb3BlcmF0b3JQYXJhbXNBcnIsIG51bGwsIG51bGwsIG51bGwpIGFzIEZpbHRlckNvbmRpdGlvbnNcblx0XHRcdF07XG5cdFx0fVxuXHR9XG5cdHJldHVybiBmaWx0ZXJDb25kaXRpb25zO1xufTtcblxuZnVuY3Rpb24gZ2V0RWRpdFN0YXR1c0ZpbHRlcigpOiBSZWNvcmQ8c3RyaW5nLCBGaWx0ZXJDb25kaXRpb25zW10+IHtcblx0Y29uc3Qgb2ZpbHRlckNvbmRpdGlvbnM6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4gPSB7fTtcblx0b2ZpbHRlckNvbmRpdGlvbnNbXCIkZWRpdFN0YXRlXCJdID0gW1xuXHRcdENvbmRpdGlvbi5jcmVhdGVDb25kaXRpb24oXCJEUkFGVF9FRElUX1NUQVRFXCIsIFtcIkFMTFwiXSwgbnVsbCwgbnVsbCwgQ29uZGl0aW9uVmFsaWRhdGVkLlZhbGlkYXRlZCkgYXMgRmlsdGVyQ29uZGl0aW9uc1xuXHRdO1xuXHRyZXR1cm4gb2ZpbHRlckNvbmRpdGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWx0ZXJDb25kaXRpb25zKG9Db250ZXh0OiBhbnksIGZpbHRlckNvbmRpdGlvbnM6IGFueSk6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4ge1xuXHRsZXQgZWRpdFN0YXRlRmlsdGVyO1xuXHRjb25zdCBlbnRpdHlTZXRQYXRoID0gb0NvbnRleHQuZ2V0SW50ZXJmYWNlKDEpLmdldFBhdGgoKSxcblx0XHRvTWV0YU1vZGVsID0gb0NvbnRleHQuZ2V0SW50ZXJmYWNlKDEpLmdldE1vZGVsKCksXG5cdFx0ZW50aXR5VHlwZUFubm90YXRpb25zID0gb01ldGFNb2RlbC5nZXRPYmplY3QoYCR7ZW50aXR5U2V0UGF0aH1AYCksXG5cdFx0ZW50aXR5VHlwZVByb3BlcnRpZXMgPSBvTWV0YU1vZGVsLmdldE9iamVjdChgJHtlbnRpdHlTZXRQYXRofS9gKTtcblx0aWYgKFxuXHRcdGVudGl0eVR5cGVBbm5vdGF0aW9uc1tcIkBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuRHJhZnRSb290XCJdIHx8XG5cdFx0ZW50aXR5VHlwZUFubm90YXRpb25zW1wiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5EcmFmdE5vZGVcIl1cblx0KSB7XG5cdFx0ZWRpdFN0YXRlRmlsdGVyID0gZ2V0RWRpdFN0YXR1c0ZpbHRlcigpO1xuXHR9XG5cdGNvbnN0IHNlbGVjdGlvblZhcmlhbnQgPSBmaWx0ZXJDb25kaXRpb25zPy5zZWxlY3Rpb25WYXJpYW50O1xuXHRjb25zdCBkZWZhdWx0U2VtYW50aWNEYXRlcyA9IGZpbHRlckNvbmRpdGlvbnM/LmRlZmF1bHRTZW1hbnRpY0RhdGVzIHx8IHt9O1xuXHRjb25zdCBkZWZhdWx0RmlsdGVycyA9IGdldERlZmF1bHRWYWx1ZUZpbHRlcnMob0NvbnRleHQsIGVudGl0eVR5cGVQcm9wZXJ0aWVzKTtcblx0Y29uc3QgZGVmYXVsdFNlbWFudGljRGF0ZUZpbHRlcnMgPSBnZXREZWZhdWx0U2VtYW50aWNEYXRlRmlsdGVycyhvQ29udGV4dCwgZW50aXR5VHlwZVByb3BlcnRpZXMsIGRlZmF1bHRTZW1hbnRpY0RhdGVzKTtcblx0aWYgKHNlbGVjdGlvblZhcmlhbnQpIHtcblx0XHRmaWx0ZXJDb25kaXRpb25zID0gZ2V0RmlsdGVyc0NvbmRpdGlvbnNGcm9tU2VsZWN0aW9uVmFyaWFudChlbnRpdHlTZXRQYXRoLCBvTWV0YU1vZGVsLCBzZWxlY3Rpb25WYXJpYW50KTtcblx0fSBlbHNlIGlmIChkZWZhdWx0RmlsdGVycykge1xuXHRcdGZpbHRlckNvbmRpdGlvbnMgPSBkZWZhdWx0RmlsdGVycztcblx0fVxuXHRpZiAoZGVmYXVsdFNlbWFudGljRGF0ZUZpbHRlcnMpIHtcblx0XHQvLyBvbmx5IGZvciBzZW1hbnRpYyBkYXRlOlxuXHRcdC8vIDEuIHZhbHVlIGZyb20gbWFuaWZlc3QgZ2V0IG1lcmdlZCB3aXRoIFNWXG5cdFx0Ly8gMi4gbWFuaWZlc3QgdmFsdWUgaXMgZ2l2ZW4gcHJlZmVyZW5jZSB3aGVuIHRoZXJlIGlzIHNhbWUgc2VtYW50aWMgZGF0ZSBwcm9wZXJ0eSBpbiBTViBhbmQgbWFuaWZlc3Rcblx0XHRmaWx0ZXJDb25kaXRpb25zID0geyAuLi5maWx0ZXJDb25kaXRpb25zLCAuLi5kZWZhdWx0U2VtYW50aWNEYXRlRmlsdGVycyB9O1xuXHR9XG5cdGlmIChlZGl0U3RhdGVGaWx0ZXIpIHtcblx0XHRmaWx0ZXJDb25kaXRpb25zID0geyAuLi5maWx0ZXJDb25kaXRpb25zLCAuLi5lZGl0U3RhdGVGaWx0ZXIgfTtcblx0fVxuXHRyZXR1cm4gKE9iamVjdC5rZXlzKGZpbHRlckNvbmRpdGlvbnMpLmxlbmd0aCA+IDAgPyBKU09OLnN0cmluZ2lmeShmaWx0ZXJDb25kaXRpb25zKS5yZXBsYWNlKC8oW1xce1xcfV0pL2csIFwiXFxcXCQxXCIpIDogdW5kZWZpbmVkKSBhcyBhbnk7XG59XG5cbmdldEZpbHRlckNvbmRpdGlvbnMucmVxdWlyZXNJQ29udGV4dCA9IHRydWU7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7OztFQWNBLE1BQU1BLFdBQWdDLEdBQUc7SUFDeENDLFFBQVEsRUFBRSxhQUFhO0lBQ3ZCQyxVQUFVLEVBQUUsZUFBZTtJQUMzQkMsUUFBUSxFQUFFLGFBQWE7SUFDdkJDLEtBQUssRUFBRSxVQUFVO0lBQ2pCQyxRQUFRLEVBQUUsT0FBTztJQUNqQkMsRUFBRSxFQUFFLE9BQU87SUFDWEMsRUFBRSxFQUFFLE9BQU87SUFDWEMsRUFBRSxFQUFFLE9BQU87SUFDWEMsRUFBRSxFQUFFLE9BQU87SUFDWEMsRUFBRSxFQUFFLE9BQU87SUFDWEMsRUFBRSxFQUFFLElBQUk7SUFDUkMsRUFBRSxFQUFFO0VBQ0wsQ0FBQztFQUVNLFNBQVNDLGdDQUFnQyxDQUFDQyxNQUFXLEVBQXNCO0lBQ2pGLElBQUlDLE1BQU07SUFDVixJQUFJRCxNQUFNLENBQUNFLEtBQUssQ0FBQyx1RUFBdUUsQ0FBQyxFQUFFO01BQzFGRCxNQUFNLEdBQUdELE1BQU0sQ0FBQ0UsS0FBSyxDQUFDLHVFQUF1RSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUMsTUFBTSxJQUFJRixNQUFNLENBQUNFLEtBQUssQ0FBQyw0REFBNEQsQ0FBQyxFQUFFO01BQ3RGRCxNQUFNLEdBQUksR0FBRUQsTUFBTSxDQUFDRSxLQUFLLENBQUMsNERBQTRELENBQUMsQ0FBQyxDQUFDLENBQUUsT0FBTTtJQUNqRyxDQUFDLE1BQU0sSUFBSUYsTUFBTSxDQUFDRSxLQUFLLENBQUMsOEJBQThCLENBQUMsRUFBRTtNQUN4REQsTUFBTSxHQUFJLEdBQUVELE1BQU0sQ0FBQ0UsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxDQUFFLGdCQUFlO0lBQzVFLENBQUMsTUFB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
|
|
346
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvRXhjbHVkZU1hcCIsIkNvbnRhaW5zIiwiU3RhcnRzV2l0aCIsIkVuZHNXaXRoIiwiRW1wdHkiLCJOb3RFbXB0eSIsIkxFIiwiR0UiLCJMVCIsIkdUIiwiQlQiLCJORSIsIkVRIiwiX2dldERhdGVUaW1lT2Zmc2V0Q29tcGxpYW50VmFsdWUiLCJzVmFsdWUiLCJvVmFsdWUiLCJtYXRjaCIsImluZGV4T2YiLCJsZW5ndGgiLCJzcGxpdCIsInVuZGVmaW5lZCIsIl9nZXREYXRlQ29tcGxpYW50VmFsdWUiLCJnZXRUeXBlQ29tcGxpYW50VmFsdWUiLCJzVHlwZSIsImlzVHlwZUZpbHRlcmFibGUiLCJpc05hTiIsInBhcnNlRmxvYXQiLCJwYXJzZUludCIsInJlc29sdmVDb25kaXRpb25WYWx1ZXMiLCJzT3B0aW9uIiwib1YxIiwib1YyIiwic1NpZ24iLCJvVmFsdWUyIiwic0ludGVybmFsT3BlcmF0aW9uIiwib0NvbmRpdGlvbiIsInZhbHVlcyIsImlzRW1wdHkiLCJuSW5kZXhPZiIsIm5MYXN0SW5kZXgiLCJsYXN0SW5kZXhPZiIsInN1YnN0cmluZyIsIkxvZyIsIndhcm5pbmciLCJvcGVyYXRvciIsInB1c2giLCJnZXRSYW5nZVByb3BlcnR5Iiwic1Byb3BlcnR5IiwiX2J1aWxkQ29uZGl0aW9uc0Zyb21TZWxlY3Rpb25SYW5nZXMiLCJSYW5nZXMiLCJvUHJvcGVydHkiLCJzUHJvcGVydHlOYW1lIiwiZ2V0Q3VzdG9tQ29uZGl0aW9ucyIsImFDb25kaXRpb25zIiwiZm9yRWFjaCIsIlJhbmdlIiwiZ2V0Q29uZGl0aW9ucyIsIl9nZXRQcm9wZXJ0eSIsInByb3BlcnR5TmFtZSIsIm1ldGFNb2RlbCIsImVudGl0eVNldFBhdGgiLCJsYXN0U2xhc2hJbmRleCIsIm5hdmlnYXRpb25QYXRoIiwiY29sbGVjdGlvbiIsImdldE9iamVjdCIsInJlcGxhY2UiLCJfYnVpbGRGaWx0ZXJzQ29uZGl0aW9uc0Zyb21TZWxlY3RPcHRpb24iLCJzZWxlY3RPcHRpb24iLCJQcm9wZXJ0eU5hbWUiLCJmaWx0ZXJDb25kaXRpb25zIiwicHJvcGVydHlQYXRoIiwidmFsdWUiLCIkUHJvcGVydHlQYXRoIiwidGFyZ2V0UHJvcGVydHkiLCJjb25kaXRpb25zIiwiY29uY2F0IiwiZ2V0RmlsdGVyc0NvbmRpdGlvbnNGcm9tU2VsZWN0aW9uVmFyaWFudCIsInNFbnRpdHlTZXRQYXRoIiwib01ldGFNb2RlbCIsInNlbGVjdGlvblZhcmlhbnQiLCJvRmlsdGVyQ29uZGl0aW9ucyIsImFTZWxlY3RPcHRpb25zIiwiU2VsZWN0T3B0aW9ucyIsImFQYXJhbWV0ZXJzIiwiUGFyYW1ldGVycyIsIk9iamVjdCIsImtleXMiLCJpbmNsdWRlcyIsInBhcmFtZXRlciIsInNQcm9wZXJ0eVBhdGgiLCJ2YWx1ZTEiLCJQcm9wZXJ0eVZhbHVlIiwidmFsdWUyIiwicGF0aCIsImlzUGFyYW1ldGVyIiwidmFsaWRhdGVkIiwiQ29uZGl0aW9uVmFsaWRhdGVkIiwiVmFsaWRhdGVkIiwib1ZhbGlkUHJvcGVydHkiLCJzaWduIiwiU2lnbiIsIk9wdGlvbiIsIm9WYWx1ZTEiLCJMb3ciLCIkVHlwZSIsInR5cGUiLCJIaWdoIiwib0NvbmRpdGlvblZhbHVlcyIsIkNvbmRpdGlvbiIsImNyZWF0ZUNvbmRpdGlvbiIsImdldERlZmF1bHRWYWx1ZUZpbHRlcnMiLCJvQ29udGV4dCIsInByb3BlcnRpZXMiLCJnZXRJbnRlcmZhY2UiLCJnZXRQYXRoIiwiZ2V0TW9kZWwiLCJrZXkiLCJkZWZhdWx0RmlsdGVyVmFsdWUiLCJnZXREZWZhdWx0U2VtYW50aWNEYXRlRmlsdGVycyIsImRlZmF1bHRTZW1hbnRpY0RhdGVzIiwib0ludGVyZmFjZSIsInNFbnRpdHlUeXBlUGF0aCIsImFQcm9wZXJ0eVBhdGhQYXJ0cyIsInNQYXRoIiwiaVByb3BlcnR5UGF0aExlbmd0aCIsInNOYXZpZ2F0aW9uUGF0aCIsInNsaWNlIiwiam9pbiIsInZQcm9wZXJ0eSIsIiRraW5kIiwiJGlzQ29sbGVjdGlvbiIsIm9wZXJhdG9yUGFyYW1zQXJyIiwiZ2V0RWRpdFN0YXR1c0ZpbHRlciIsIm9maWx0ZXJDb25kaXRpb25zIiwiZ2V0RmlsdGVyQ29uZGl0aW9ucyIsImVkaXRTdGF0ZUZpbHRlciIsImVudGl0eVR5cGVBbm5vdGF0aW9ucyIsImVudGl0eVR5cGVQcm9wZXJ0aWVzIiwiZGVmYXVsdEZpbHRlcnMiLCJkZWZhdWx0U2VtYW50aWNEYXRlRmlsdGVycyIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZXF1aXJlc0lDb250ZXh0Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJGaWx0ZXJIZWxwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZWxlY3Rpb25SYW5nZVR5cGVUeXBlcywgU2VsZWN0aW9uVmFyaWFudFR5cGVUeXBlcywgU2VsZWN0T3B0aW9uVHlwZSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHsgRGVmYXVsdFR5cGVGb3JFZG1UeXBlLCBpc1R5cGVGaWx0ZXJhYmxlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3R5cGUvRURNXCI7XG5pbXBvcnQgdHlwZSB7IENvbmRpdGlvbk9iamVjdCB9IGZyb20gXCJzYXAvdWkvbWRjL2NvbmRpdGlvbi9Db25kaXRpb25cIjtcbmltcG9ydCBDb25kaXRpb24gZnJvbSBcInNhcC91aS9tZGMvY29uZGl0aW9uL0NvbmRpdGlvblwiO1xuaW1wb3J0IENvbmRpdGlvblZhbGlkYXRlZCBmcm9tIFwic2FwL3VpL21kYy9lbnVtL0NvbmRpdGlvblZhbGlkYXRlZFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1ldGFNb2RlbFwiO1xuZXhwb3J0IHR5cGUgRmlsdGVyQ29uZGl0aW9ucyA9IHtcblx0b3BlcmF0b3I6IHN0cmluZztcblx0dmFsdWVzOiBBcnJheTxzdHJpbmc+O1xuXHRpc0VtcHR5PzogYm9vbGVhbiB8IG51bGw7XG5cdHZhbGlkYXRlZD86IHN0cmluZztcblx0aXNQYXJhbWV0ZXI/OiBib29sZWFuO1xufTtcblxuY29uc3Qgb0V4Y2x1ZGVNYXA6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7XG5cdENvbnRhaW5zOiBcIk5vdENvbnRhaW5zXCIsXG5cdFN0YXJ0c1dpdGg6IFwiTm90U3RhcnRzV2l0aFwiLFxuXHRFbmRzV2l0aDogXCJOb3RFbmRzV2l0aFwiLFxuXHRFbXB0eTogXCJOb3RFbXB0eVwiLFxuXHROb3RFbXB0eTogXCJFbXB0eVwiLFxuXHRMRTogXCJOT1RMRVwiLFxuXHRHRTogXCJOT1RHRVwiLFxuXHRMVDogXCJOT1RMVFwiLFxuXHRHVDogXCJOT1RHVFwiLFxuXHRCVDogXCJOT1RCVFwiLFxuXHRORTogXCJFUVwiLFxuXHRFUTogXCJORVwiXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gX2dldERhdGVUaW1lT2Zmc2V0Q29tcGxpYW50VmFsdWUoc1ZhbHVlOiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRsZXQgb1ZhbHVlO1xuXHRpZiAoc1ZhbHVlLm1hdGNoKC9eKFxcZHs0fSktKFxcZHsxLDJ9KS0oXFxkezEsMn0pVChcXGR7MSwyfSk6KFxcZHsxLDJ9KTooXFxkezEsMn0pXFwrKFxcZHsxLDR9KS8pKSB7XG5cdFx0b1ZhbHVlID0gc1ZhbHVlLm1hdGNoKC9eKFxcZHs0fSktKFxcZHsxLDJ9KS0oXFxkezEsMn0pVChcXGR7MSwyfSk6KFxcZHsxLDJ9KTooXFxkezEsMn0pXFwrKFxcZHsxLDR9KS8pWzBdO1xuXHR9IGVsc2UgaWYgKHNWYWx1ZS5tYXRjaCgvXihcXGR7NH0pLShcXGR7MSwyfSktKFxcZHsxLDJ9KVQoXFxkezEsMn0pOihcXGR7MSwyfSk6KFxcZHsxLDJ9KS8pKSB7XG5cdFx0b1ZhbHVlID0gYCR7c1ZhbHVlLm1hdGNoKC9eKFxcZHs0fSktKFxcZHsxLDJ9KS0oXFxkezEsMn0pVChcXGR7MSwyfSk6KFxcZHsxLDJ9KTooXFxkezEsMn0pLylbMF19KzAwMDBgO1xuXHR9IGVsc2UgaWYgKHNWYWx1ZS5tYXRjaCgvXihcXGR7NH0pLShcXGR7MSwyfSktKFxcZHsxLDJ9KS8pKSB7XG5cdFx0b1ZhbHVlID0gYCR7c1ZhbHVlLm1hdGNoKC9eKFxcZHs0fSktKFxcZHsxLDJ9KS0oXFxkezEsMn0pLylbMF19VDAwOjAwOjAwKzAwMDBgO1xuXHR9IGVsc2UgaWYgKHNWYWx1ZS5pbmRleE9mKFwiWlwiKSA9PT0gc1ZhbHVlLmxlbmd0aCAtIDEpIHtcblx0XHRvVmFsdWUgPSBgJHtzVmFsdWUuc3BsaXQoXCJaXCIpWzBdfSswMTAwYDtcblx0fSBlbHNlIHtcblx0XHRvVmFsdWUgPSB1bmRlZmluZWQ7XG5cdH1cblx0cmV0dXJuIG9WYWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9nZXREYXRlQ29tcGxpYW50VmFsdWUoc1ZhbHVlOiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gc1ZhbHVlLm1hdGNoKC9eKFxcZHs0fSktKFxcZHsxLDJ9KS0oXFxkezEsMn0pLylcblx0XHQ/IHNWYWx1ZS5tYXRjaCgvXihcXGR7NH0pLShcXGR7MSwyfSktKFxcZHsxLDJ9KS8pWzBdXG5cdFx0OiBzVmFsdWUubWF0Y2goL14oXFxkezh9KS8pICYmIHNWYWx1ZS5tYXRjaCgvXihcXGR7OH0pLylbMF07XG59XG5cbi8qKlxuICogTWV0aG9kIHRvIGdldCB0aGUgY29tcGxpYW50IHZhbHVlIHR5cGUgYmFzZWQgb24gdGhlIGRhdGEgdHlwZS5cbiAqXG4gKiBAcGFyYW0gIHNWYWx1ZSBSYXcgdmFsdWVcbiAqIEBwYXJhbSAgc1R5cGUgVGhlIHByb3BlcnR5IHR5cGVcbiAqIEByZXR1cm5zIFZhbHVlIHRvIGJlIHByb3BhZ2F0ZWQgdG8gdGhlIGNvbmRpdGlvbi5cbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHlwZUNvbXBsaWFudFZhbHVlKHNWYWx1ZTogYW55LCBzVHlwZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0bGV0IG9WYWx1ZTtcblx0aWYgKCFpc1R5cGVGaWx0ZXJhYmxlKHNUeXBlIGFzIGtleW9mIHR5cGVvZiBEZWZhdWx0VHlwZUZvckVkbVR5cGUpKSB7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXHRvVmFsdWUgPSBzVmFsdWU7XG5cdHN3aXRjaCAoc1R5cGUpIHtcblx0XHRjYXNlIFwiRWRtLkJvb2xlYW5cIjpcblx0XHRcdGlmICh0eXBlb2Ygc1ZhbHVlID09PSBcImJvb2xlYW5cIikge1xuXHRcdFx0XHRvVmFsdWUgPSBzVmFsdWU7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRvVmFsdWUgPSBzVmFsdWUgPT09IFwidHJ1ZVwiIHx8IChzVmFsdWUgPT09IFwiZmFsc2VcIiA/IGZhbHNlIDogdW5kZWZpbmVkKTtcblx0XHRcdH1cblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgXCJFZG0uRG91YmxlXCI6XG5cdFx0Y2FzZSBcIkVkbS5TaW5nbGVcIjpcblx0XHRcdG9WYWx1ZSA9IGlzTmFOKHNWYWx1ZSkgPyB1bmRlZmluZWQgOiBwYXJzZUZsb2F0KHNWYWx1ZSk7XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiRWRtLkJ5dGVcIjpcblx0XHRjYXNlIFwiRWRtLkludDE2XCI6XG5cdFx0Y2FzZSBcIkVkbS5JbnQzMlwiOlxuXHRcdGNhc2UgXCJFZG0uU0J5dGVcIjpcblx0XHRcdG9WYWx1ZSA9IGlzTmFOKHNWYWx1ZSkgPyB1bmRlZmluZWQgOiBwYXJzZUludChzVmFsdWUsIDEwKTtcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgXCJFZG0uRGF0ZVwiOlxuXHRcdFx0b1ZhbHVlID0gX2dldERhdGVDb21wbGlhbnRWYWx1ZShzVmFsdWUpO1xuXHRcdFx0YnJlYWs7XG5cdFx0Y2FzZSBcIkVkbS5EYXRlVGltZU9mZnNldFwiOlxuXHRcdFx0b1ZhbHVlID0gX2dldERhdGVUaW1lT2Zmc2V0Q29tcGxpYW50VmFsdWUoc1ZhbHVlKTtcblx0XHRcdGJyZWFrO1xuXHRcdGNhc2UgXCJFZG0uVGltZU9mRGF5XCI6XG5cdFx0XHRvVmFsdWUgPSBzVmFsdWUubWF0Y2goLyhcXGR7MSwyfSk6KFxcZHsxLDJ9KTooXFxkezEsMn0pLykgPyBzVmFsdWUubWF0Y2goLyhcXGR7MSwyfSk6KFxcZHsxLDJ9KTooXFxkezEsMn0pLylbMF0gOiB1bmRlZmluZWQ7XG5cdFx0XHRicmVhaztcblx0XHRkZWZhdWx0OlxuXHR9XG5cblx0cmV0dXJuIG9WYWx1ZSA9PT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9WYWx1ZTtcbn1cblxuLyoqXG4gKiBNZXRob2QgdG8gY3JlYXRlIGEgY29uZGl0aW9uLlxuICpcbiAqIEBwYXJhbSAgc09wdGlvbiBPcGVyYXRvciB0byBiZSB1c2VkLlxuICogQHBhcmFtICBvVjEgTG93ZXIgdmFsdWVcbiAqIEBwYXJhbSAgb1YyIEhpZ2hlciB2YWx1ZVxuICogQHBhcmFtIHNTaWduXG4gKiBAcmV0dXJucyBDb25kaXRpb24gdG8gYmUgY3JlYXRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUNvbmRpdGlvblZhbHVlcyhzT3B0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsIG9WMTogYW55LCBvVjI6IGFueSwgc1NpZ246IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuXHRsZXQgb1ZhbHVlID0gb1YxLFxuXHRcdG9WYWx1ZTIsXG5cdFx0c0ludGVybmFsT3BlcmF0aW9uOiBhbnk7XG5cdGNvbnN0IG9Db25kaXRpb246IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4gPSB7fTtcblx0b0NvbmRpdGlvbi52YWx1ZXMgPSBbXTtcblx0b0NvbmRpdGlvbi5pc0VtcHR5ID0gbnVsbCBhcyBhbnk7XG5cdGlmIChvVjEgPT09IHVuZGVmaW5lZCB8fCBvVjEgPT09IG51bGwpIHtcblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG5cblx0c3dpdGNoIChzT3B0aW9uKSB7XG5cdFx0Y2FzZSBcIkNQXCI6XG5cdFx0XHRzSW50ZXJuYWxPcGVyYXRpb24gPSBcIkNvbnRhaW5zXCI7XG5cdFx0XHRpZiAob1ZhbHVlKSB7XG5cdFx0XHRcdGNvbnN0IG5JbmRleE9mID0gb1ZhbHVlLmluZGV4T2YoXCIqXCIpO1xuXHRcdFx0XHRjb25zdCBuTGFzdEluZGV4ID0gb1ZhbHVlLmxhc3RJbmRleE9mKFwiKlwiKTtcblxuXHRcdFx0XHQvLyBvbmx5IHdoZW4gdGhlcmUgYXJlICcqJyBhdCBhbGxcblx0XHRcdFx0aWYgKG5JbmRleE9mID4gLTEpIHtcblx0XHRcdFx0XHRpZiAobkluZGV4T2YgPT09IDAgJiYgbkxhc3RJbmRleCAhPT0gb1ZhbHVlLmxlbmd0aCAtIDEpIHtcblx0XHRcdFx0XHRcdHNJbnRlcm5hbE9wZXJhdGlvbiA9IFwiRW5kc1dpdGhcIjtcblx0XHRcdFx0XHRcdG9WYWx1ZSA9IG9WYWx1ZS5zdWJzdHJpbmcoMSwgb1ZhbHVlLmxlbmd0aCk7XG5cdFx0XHRcdFx0fSBlbHNlIGlmIChuSW5kZXhPZiAhPT0gMCAmJiBuTGFzdEluZGV4ID09PSBvVmFsdWUubGVuZ3RoIC0gMSkge1xuXHRcdFx0XHRcdFx0c0ludGVybmFsT3BlcmF0aW9uID0gXCJTdGFydHNXaXRoXCI7XG5cdFx0XHRcdFx0XHRvVmFsdWUgPSBvVmFsdWUuc3Vic3RyaW5nKDAsIG9WYWx1ZS5sZW5ndGggLSAxKTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0b1ZhbHVlID0gb1ZhbHVlLnN1YnN0cmluZygxLCBvVmFsdWUubGVuZ3RoIC0gMSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdExvZy53YXJuaW5nKFwiQ29udGFpbnMgT3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgJyonLlwiKTtcblx0XHRcdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiRVFcIjpcblx0XHRcdHNJbnRlcm5hbE9wZXJhdGlvbiA9IG9WMSA9PT0gXCJcIiA/IFwiRW1wdHlcIiA6IHNPcHRpb247XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiTkVcIjpcblx0XHRcdHNJbnRlcm5hbE9wZXJhdGlvbiA9IG9WMSA9PT0gXCJcIiA/IFwiTm90RW1wdHlcIiA6IHNPcHRpb247XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiQlRcIjpcblx0XHRcdGlmIChvVjIgPT09IHVuZGVmaW5lZCB8fCBvVjIgPT09IG51bGwpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0b1ZhbHVlMiA9IG9WMjtcblx0XHRcdHNJbnRlcm5hbE9wZXJhdGlvbiA9IHNPcHRpb247XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFwiTEVcIjpcblx0XHRjYXNlIFwiR0VcIjpcblx0XHRjYXNlIFwiR1RcIjpcblx0XHRjYXNlIFwiTFRcIjpcblx0XHRcdHNJbnRlcm5hbE9wZXJhdGlvbiA9IHNPcHRpb247XG5cdFx0XHRicmVhaztcblx0XHRkZWZhdWx0OlxuXHRcdFx0TG9nLndhcm5pbmcoYFNlbGVjdGlvbiBPcHRpb24gaXMgbm90IHN1cHBvcnRlZCA6ICcke3NPcHRpb259J2ApO1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXHRpZiAoc1NpZ24gPT09IFwiRVwiKSB7XG5cdFx0c0ludGVybmFsT3BlcmF0aW9uID0gb0V4Y2x1ZGVNYXBbc0ludGVybmFsT3BlcmF0aW9uXTtcblx0fVxuXHRvQ29uZGl0aW9uLm9wZXJhdG9yID0gc0ludGVybmFsT3BlcmF0aW9uO1xuXHRpZiAoc0ludGVybmFsT3BlcmF0aW9uICE9PSBcIkVtcHR5XCIpIHtcblx0XHRvQ29uZGl0aW9uLnZhbHVlcy5wdXNoKG9WYWx1ZSk7XG5cdFx0aWYgKG9WYWx1ZTIpIHtcblx0XHRcdG9Db25kaXRpb24udmFsdWVzLnB1c2gob1ZhbHVlMik7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBvQ29uZGl0aW9uO1xufVxuXG4vKiBNZXRob2QgdG8gZ2V0IHRoZSBSYW5nZSBwcm9wZXJ0eSBmcm9tIHRoZSBTZWxlY3Rpb24gT3B0aW9uICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmFuZ2VQcm9wZXJ0eShzUHJvcGVydHk6IHN0cmluZyk6IHN0cmluZyB7XG5cdHJldHVybiBzUHJvcGVydHkuaW5kZXhPZihcIi9cIikgPiAwID8gc1Byb3BlcnR5LnNwbGl0KFwiL1wiKVsxXSA6IHNQcm9wZXJ0eTtcbn1cblxuZnVuY3Rpb24gX2J1aWxkQ29uZGl0aW9uc0Zyb21TZWxlY3Rpb25SYW5nZXMoXG5cdFJhbmdlczogU2VsZWN0aW9uUmFuZ2VUeXBlVHlwZXNbXSxcblx0b1Byb3BlcnR5OiBSZWNvcmQ8c3RyaW5nLCBvYmplY3Q+LFxuXHRzUHJvcGVydHlOYW1lOiBzdHJpbmcsXG5cdGdldEN1c3RvbUNvbmRpdGlvbnM/OiBGdW5jdGlvblxuKTogYW55W10ge1xuXHRjb25zdCBhQ29uZGl0aW9uczogYW55W10gPSBbXTtcblx0UmFuZ2VzPy5mb3JFYWNoKChSYW5nZTogYW55KSA9PiB7XG5cdFx0Y29uc3Qgb0NvbmRpdGlvbiA9IGdldEN1c3RvbUNvbmRpdGlvbnMgPyBnZXRDdXN0b21Db25kaXRpb25zKFJhbmdlLCBvUHJvcGVydHksIHNQcm9wZXJ0eU5hbWUpIDogZ2V0Q29uZGl0aW9ucyhSYW5nZSwgb1Byb3BlcnR5KTtcblx0XHRpZiAob0NvbmRpdGlvbikge1xuXHRcdFx0YUNvbmRpdGlvbnMucHVzaChvQ29uZGl0aW9uKTtcblx0XHR9XG5cdH0pO1xuXHRyZXR1cm4gYUNvbmRpdGlvbnM7XG59XG5cbmZ1bmN0aW9uIF9nZXRQcm9wZXJ0eShwcm9wZXJ0eU5hbWU6IHN0cmluZywgbWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbCwgZW50aXR5U2V0UGF0aDogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgb2JqZWN0PiB7XG5cdGNvbnN0IGxhc3RTbGFzaEluZGV4ID0gcHJvcGVydHlOYW1lLmxhc3RJbmRleE9mKFwiL1wiKTtcblx0Y29uc3QgbmF2aWdhdGlvblBhdGggPSBsYXN0U2xhc2hJbmRleCA+IC0xID8gcHJvcGVydHlOYW1lLnN1YnN0cmluZygwLCBwcm9wZXJ0eU5hbWUubGFzdEluZGV4T2YoXCIvXCIpICsgMSkgOiBcIlwiO1xuXHRjb25zdCBjb2xsZWN0aW9uID0gbWV0YU1vZGVsLmdldE9iamVjdChgJHtlbnRpdHlTZXRQYXRofS8ke25hdmlnYXRpb25QYXRofWApO1xuXHRyZXR1cm4gY29sbGVjdGlvbj8uW3Byb3BlcnR5TmFtZS5yZXBsYWNlKG5hdmlnYXRpb25QYXRoLCBcIlwiKV07XG59XG5cbmZ1bmN0aW9uIF9idWlsZEZpbHRlcnNDb25kaXRpb25zRnJvbVNlbGVjdE9wdGlvbihcblx0c2VsZWN0T3B0aW9uOiBTZWxlY3RPcHRpb25UeXBlLFxuXHRtZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsLFxuXHRlbnRpdHlTZXRQYXRoOiBzdHJpbmcsXG5cdGdldEN1c3RvbUNvbmRpdGlvbnM/OiBGdW5jdGlvblxuKTogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiB7XG5cdGNvbnN0IHByb3BlcnR5TmFtZTogYW55ID0gc2VsZWN0T3B0aW9uLlByb3BlcnR5TmFtZSxcblx0XHRmaWx0ZXJDb25kaXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBGaWx0ZXJDb25kaXRpb25zW10+ID0ge30sXG5cdFx0cHJvcGVydHlQYXRoOiBzdHJpbmcgPSBwcm9wZXJ0eU5hbWUudmFsdWUgfHwgcHJvcGVydHlOYW1lLiRQcm9wZXJ0eVBhdGgsXG5cdFx0UmFuZ2VzOiBTZWxlY3Rpb25SYW5nZVR5cGVUeXBlc1tdID0gc2VsZWN0T3B0aW9uLlJhbmdlcztcblx0Y29uc3QgdGFyZ2V0UHJvcGVydHkgPSBfZ2V0UHJvcGVydHkocHJvcGVydHlQYXRoLCBtZXRhTW9kZWwsIGVudGl0eVNldFBhdGgpO1xuXHRpZiAodGFyZ2V0UHJvcGVydHkpIHtcblx0XHRjb25zdCBjb25kaXRpb25zOiBhbnlbXSA9IF9idWlsZENvbmRpdGlvbnNGcm9tU2VsZWN0aW9uUmFuZ2VzKFJhbmdlcywgdGFyZ2V0UHJvcGVydHksIHByb3BlcnR5UGF0aCwgZ2V0Q3VzdG9tQ29uZGl0aW9ucyk7XG5cdFx0aWYgKGNvbmRpdGlvbnMubGVuZ3RoKSB7XG5cdFx0XHRmaWx0ZXJDb25kaXRpb25zW3Byb3BlcnR5UGF0aF0gPSAoZmlsdGVyQ29uZGl0aW9uc1twcm9wZXJ0eVBhdGhdIHx8IFtdKS5jb25jYXQoY29uZGl0aW9ucyk7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBmaWx0ZXJDb25kaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsdGVyc0NvbmRpdGlvbnNGcm9tU2VsZWN0aW9uVmFyaWFudChcblx0c0VudGl0eVNldFBhdGg6IHN0cmluZyxcblx0b01ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwsXG5cdHNlbGVjdGlvblZhcmlhbnQ6IFNlbGVjdGlvblZhcmlhbnRUeXBlVHlwZXMsXG5cdGdldEN1c3RvbUNvbmRpdGlvbnM/OiBGdW5jdGlvblxuKTogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiB7XG5cdGxldCBvRmlsdGVyQ29uZGl0aW9uczogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiA9IHt9O1xuXHRpZiAoIXNlbGVjdGlvblZhcmlhbnQpIHtcblx0XHRyZXR1cm4gb0ZpbHRlckNvbmRpdGlvbnM7XG5cdH1cblx0Y29uc3QgYVNlbGVjdE9wdGlvbnMgPSBzZWxlY3Rpb25WYXJpYW50LlNlbGVjdE9wdGlvbnMsXG5cdFx0YVBhcmFtZXRlcnMgPSBzZWxlY3Rpb25WYXJpYW50LlBhcmFtZXRlcnM7XG5cdGFTZWxlY3RPcHRpb25zPy5mb3JFYWNoKChzZWxlY3RPcHRpb246IFNlbGVjdE9wdGlvblR5cGUpID0+IHtcblx0XHRjb25zdCBwcm9wZXJ0eU5hbWU6IGFueSA9IHNlbGVjdE9wdGlvbi5Qcm9wZXJ0eU5hbWUsXG5cdFx0XHRzUHJvcGVydHlOYW1lOiBzdHJpbmcgPSBwcm9wZXJ0eU5hbWUudmFsdWUgfHwgcHJvcGVydHlOYW1lLiRQcm9wZXJ0eVBhdGg7XG5cdFx0aWYgKE9iamVjdC5rZXlzKG9GaWx0ZXJDb25kaXRpb25zKS5pbmNsdWRlcyhzUHJvcGVydHlOYW1lKSkge1xuXHRcdFx0b0ZpbHRlckNvbmRpdGlvbnNbc1Byb3BlcnR5TmFtZV0gPSBvRmlsdGVyQ29uZGl0aW9uc1tzUHJvcGVydHlOYW1lXS5jb25jYXQoXG5cdFx0XHRcdF9idWlsZEZpbHRlcnNDb25kaXRpb25zRnJvbVNlbGVjdE9wdGlvbihzZWxlY3RPcHRpb24sIG9NZXRhTW9kZWwsIHNFbnRpdHlTZXRQYXRoLCBnZXRDdXN0b21Db25kaXRpb25zKVtzUHJvcGVydHlOYW1lXVxuXHRcdFx0KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0b0ZpbHRlckNvbmRpdGlvbnMgPSB7XG5cdFx0XHRcdC4uLm9GaWx0ZXJDb25kaXRpb25zLFxuXHRcdFx0XHQuLi5fYnVpbGRGaWx0ZXJzQ29uZGl0aW9uc0Zyb21TZWxlY3RPcHRpb24oc2VsZWN0T3B0aW9uLCBvTWV0YU1vZGVsLCBzRW50aXR5U2V0UGF0aCwgZ2V0Q3VzdG9tQ29uZGl0aW9ucylcblx0XHRcdH07XG5cdFx0fVxuXHR9KTtcblx0YVBhcmFtZXRlcnM/LmZvckVhY2goKHBhcmFtZXRlcjogYW55KSA9PiB7XG5cdFx0Y29uc3Qgc1Byb3BlcnR5UGF0aCA9IHBhcmFtZXRlci5Qcm9wZXJ0eU5hbWUudmFsdWUgfHwgcGFyYW1ldGVyLlByb3BlcnR5TmFtZS4kUHJvcGVydHlQYXRoO1xuXHRcdGNvbnN0IG9Db25kaXRpb246IGFueSA9IGdldEN1c3RvbUNvbmRpdGlvbnNcblx0XHRcdD8geyBvcGVyYXRvcjogXCJFUVwiLCB2YWx1ZTE6IHBhcmFtZXRlci5Qcm9wZXJ0eVZhbHVlLCB2YWx1ZTI6IG51bGwsIHBhdGg6IHNQcm9wZXJ0eVBhdGgsIGlzUGFyYW1ldGVyOiB0cnVlIH1cblx0XHRcdDoge1xuXHRcdFx0XHRcdG9wZXJhdG9yOiBcIkVRXCIsXG5cdFx0XHRcdFx0dmFsdWVzOiBbcGFyYW1ldGVyLlByb3BlcnR5VmFsdWVdLFxuXHRcdFx0XHRcdGlzRW1wdHk6IG51bGwsXG5cdFx0XHRcdFx0dmFsaWRhdGVkOiBDb25kaXRpb25WYWxpZGF0ZWQuVmFsaWRhdGVkLFxuXHRcdFx0XHRcdGlzUGFyYW1ldGVyOiB0cnVlXG5cdFx0XHQgIH07XG5cdFx0b0ZpbHRlckNvbmRpdGlvbnNbc1Byb3BlcnR5UGF0aF0gPSBbb0NvbmRpdGlvbl07XG5cdH0pO1xuXG5cdHJldHVybiBvRmlsdGVyQ29uZGl0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmRpdGlvbnMoUmFuZ2U6IGFueSwgb1ZhbGlkUHJvcGVydHk6IGFueSk6IENvbmRpdGlvbk9iamVjdCB8IHVuZGVmaW5lZCB7XG5cdGxldCBvQ29uZGl0aW9uO1xuXHRjb25zdCBzaWduOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBSYW5nZS5TaWduID8gZ2V0UmFuZ2VQcm9wZXJ0eShSYW5nZS5TaWduKSA6IHVuZGVmaW5lZDtcblx0Y29uc3Qgc09wdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gUmFuZ2UuT3B0aW9uID8gZ2V0UmFuZ2VQcm9wZXJ0eShSYW5nZS5PcHRpb24pIDogdW5kZWZpbmVkO1xuXHRjb25zdCBvVmFsdWUxOiBhbnkgPSBnZXRUeXBlQ29tcGxpYW50VmFsdWUoUmFuZ2UuTG93LCBvVmFsaWRQcm9wZXJ0eS4kVHlwZSB8fCBvVmFsaWRQcm9wZXJ0eS50eXBlKTtcblx0Y29uc3Qgb1ZhbHVlMjogYW55ID0gUmFuZ2UuSGlnaCA/IGdldFR5cGVDb21wbGlhbnRWYWx1ZShSYW5nZS5IaWdoLCBvVmFsaWRQcm9wZXJ0eS4kVHlwZSB8fCBvVmFsaWRQcm9wZXJ0eS50eXBlKSA6IHVuZGVmaW5lZDtcblx0Y29uc3Qgb0NvbmRpdGlvblZhbHVlcyA9IHJlc29sdmVDb25kaXRpb25WYWx1ZXMoc09wdGlvbiwgb1ZhbHVlMSwgb1ZhbHVlMiwgc2lnbikgYXMgYW55O1xuXHRpZiAob0NvbmRpdGlvblZhbHVlcykge1xuXHRcdG9Db25kaXRpb24gPSBDb25kaXRpb24uY3JlYXRlQ29uZGl0aW9uKFxuXHRcdFx0b0NvbmRpdGlvblZhbHVlcy5vcGVyYXRvcixcblx0XHRcdG9Db25kaXRpb25WYWx1ZXMudmFsdWVzLFxuXHRcdFx0bnVsbCxcblx0XHRcdG51bGwsXG5cdFx0XHRDb25kaXRpb25WYWxpZGF0ZWQuVmFsaWRhdGVkXG5cdFx0KTtcblx0fVxuXHRyZXR1cm4gb0NvbmRpdGlvbjtcbn1cblxuY29uc3QgZ2V0RGVmYXVsdFZhbHVlRmlsdGVycyA9IGZ1bmN0aW9uIChvQ29udGV4dDogYW55LCBwcm9wZXJ0aWVzOiBhbnkpOiBSZWNvcmQ8c3RyaW5nLCBGaWx0ZXJDb25kaXRpb25zW10+IHtcblx0Y29uc3QgZmlsdGVyQ29uZGl0aW9uczogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiA9IHt9O1xuXHRjb25zdCBlbnRpdHlTZXRQYXRoID0gb0NvbnRleHQuZ2V0SW50ZXJmYWNlKDEpLmdldFBhdGgoKSxcblx0XHRvTWV0YU1vZGVsID0gb0NvbnRleHQuZ2V0SW50ZXJmYWNlKDEpLmdldE1vZGVsKCk7XG5cdGlmIChwcm9wZXJ0aWVzKSB7XG5cdFx0Zm9yIChjb25zdCBrZXkgaW4gcHJvcGVydGllcykge1xuXHRcdFx0Y29uc3QgZGVmYXVsdEZpbHRlclZhbHVlID0gb01ldGFNb2RlbC5nZXRPYmplY3QoYCR7ZW50aXR5U2V0UGF0aH0vJHtrZXl9QGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5GaWx0ZXJEZWZhdWx0VmFsdWVgKTtcblx0XHRcdGlmIChkZWZhdWx0RmlsdGVyVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRjb25zdCBQcm9wZXJ0eU5hbWUgPSBrZXk7XG5cdFx0XHRcdGZpbHRlckNvbmRpdGlvbnNbUHJvcGVydHlOYW1lXSA9IFtcblx0XHRcdFx0XHRDb25kaXRpb24uY3JlYXRlQ29uZGl0aW9uKFwiRVFcIiwgW2RlZmF1bHRGaWx0ZXJWYWx1ZV0sIG51bGwsIG51bGwsIENvbmRpdGlvblZhbGlkYXRlZC5WYWxpZGF0ZWQpIGFzIEZpbHRlckNvbmRpdGlvbnNcblx0XHRcdFx0XTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0cmV0dXJuIGZpbHRlckNvbmRpdGlvbnM7XG59O1xuXG5jb25zdCBnZXREZWZhdWx0U2VtYW50aWNEYXRlRmlsdGVycyA9IGZ1bmN0aW9uIChcblx0b0NvbnRleHQ6IGFueSxcblx0cHJvcGVydGllczogYW55LFxuXHRkZWZhdWx0U2VtYW50aWNEYXRlczogYW55XG4pOiBSZWNvcmQ8c3RyaW5nLCBGaWx0ZXJDb25kaXRpb25zW10+IHtcblx0Y29uc3QgZmlsdGVyQ29uZGl0aW9uczogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiA9IHt9O1xuXHRjb25zdCBvSW50ZXJmYWNlID0gb0NvbnRleHQuZ2V0SW50ZXJmYWNlKDEpO1xuXHRjb25zdCBvTWV0YU1vZGVsID0gb0ludGVyZmFjZS5nZXRNb2RlbCgpO1xuXHRjb25zdCBzRW50aXR5VHlwZVBhdGggPSBvSW50ZXJmYWNlLmdldFBhdGgoKTtcblx0Zm9yIChjb25zdCBrZXkgaW4gZGVmYXVsdFNlbWFudGljRGF0ZXMpIHtcblx0XHRpZiAoZGVmYXVsdFNlbWFudGljRGF0ZXNba2V5XVswXSkge1xuXHRcdFx0Y29uc3QgYVByb3BlcnR5UGF0aFBhcnRzID0ga2V5LnNwbGl0KFwiOjpcIik7XG5cdFx0XHRsZXQgc1BhdGggPSBcIlwiO1xuXHRcdFx0Y29uc3QgaVByb3BlcnR5UGF0aExlbmd0aCA9IGFQcm9wZXJ0eVBhdGhQYXJ0cy5sZW5ndGg7XG5cdFx0XHRjb25zdCBzTmF2aWdhdGlvblBhdGggPSBhUHJvcGVydHlQYXRoUGFydHMuc2xpY2UoMCwgYVByb3BlcnR5UGF0aFBhcnRzLmxlbmd0aCAtIDEpLmpvaW4oXCIvXCIpO1xuXHRcdFx0Y29uc3Qgc1Byb3BlcnR5ID0gYVByb3BlcnR5UGF0aFBhcnRzW2lQcm9wZXJ0eVBhdGhMZW5ndGggLSAxXTtcblx0XHRcdGlmIChzTmF2aWdhdGlvblBhdGgpIHtcblx0XHRcdFx0Ly9DcmVhdGUgUHJvcGVyIENvbmRpdGlvbiBQYXRoIGUuZy4gX0l0ZW0qL1Byb3BlcnR5IG9yIF9JdGVtL1Byb3BlcnR5XG5cdFx0XHRcdGNvbnN0IHZQcm9wZXJ0eSA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KHNFbnRpdHlUeXBlUGF0aCArIFwiL1wiICsgc05hdmlnYXRpb25QYXRoKTtcblx0XHRcdFx0aWYgKHZQcm9wZXJ0eS4ka2luZCA9PT0gXCJOYXZpZ2F0aW9uUHJvcGVydHlcIiAmJiB2UHJvcGVydHkuJGlzQ29sbGVjdGlvbikge1xuXHRcdFx0XHRcdHNQYXRoICs9IGAke3NOYXZpZ2F0aW9uUGF0aH0qL2A7XG5cdFx0XHRcdH0gZWxzZSBpZiAodlByb3BlcnR5LiRraW5kID09PSBcIk5hdmlnYXRpb25Qcm9wZXJ0eVwiKSB7XG5cdFx0XHRcdFx0c1BhdGggKz0gYCR7c05hdmlnYXRpb25QYXRofS9gO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRzUGF0aCArPSBzUHJvcGVydHk7XG5cdFx0XHRjb25zdCBvcGVyYXRvclBhcmFtc0FyciA9IFwidmFsdWVzXCIgaW4gZGVmYXVsdFNlbWFudGljRGF0ZXNba2V5XVswXSA/IGRlZmF1bHRTZW1hbnRpY0RhdGVzW2tleV1bMF0udmFsdWVzIDogW107XG5cdFx0XHRmaWx0ZXJDb25kaXRpb25zW3NQYXRoXSA9IFtcblx0XHRcdFx0Q29uZGl0aW9uLmNyZWF0ZUNvbmRpdGlvbihkZWZhdWx0U2VtYW50aWNEYXRlc1trZXldWzBdLm9wZXJhdG9yLCBvcGVyYXRvclBhcmFtc0FyciwgbnVsbCwgbnVsbCwgbnVsbCkgYXMgRmlsdGVyQ29uZGl0aW9uc1xuXHRcdFx0XTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIGZpbHRlckNvbmRpdGlvbnM7XG59O1xuXG5mdW5jdGlvbiBnZXRFZGl0U3RhdHVzRmlsdGVyKCk6IFJlY29yZDxzdHJpbmcsIEZpbHRlckNvbmRpdGlvbnNbXT4ge1xuXHRjb25zdCBvZmlsdGVyQ29uZGl0aW9uczogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiA9IHt9O1xuXHRvZmlsdGVyQ29uZGl0aW9uc1tcIiRlZGl0U3RhdGVcIl0gPSBbXG5cdFx0Q29uZGl0aW9uLmNyZWF0ZUNvbmRpdGlvbihcIkRSQUZUX0VESVRfU1RBVEVcIiwgW1wiQUxMXCJdLCBudWxsLCBudWxsLCBDb25kaXRpb25WYWxpZGF0ZWQuVmFsaWRhdGVkKSBhcyBGaWx0ZXJDb25kaXRpb25zXG5cdF07XG5cdHJldHVybiBvZmlsdGVyQ29uZGl0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbHRlckNvbmRpdGlvbnMob0NvbnRleHQ6IGFueSwgZmlsdGVyQ29uZGl0aW9uczogYW55KTogUmVjb3JkPHN0cmluZywgRmlsdGVyQ29uZGl0aW9uc1tdPiB7XG5cdGxldCBlZGl0U3RhdGVGaWx0ZXI7XG5cdGNvbnN0IGVudGl0eVNldFBhdGggPSBvQ29udGV4dC5nZXRJbnRlcmZhY2UoMSkuZ2V0UGF0aCgpLFxuXHRcdG9NZXRhTW9kZWwgPSBvQ29udGV4dC5nZXRJbnRlcmZhY2UoMSkuZ2V0TW9kZWwoKSxcblx0XHRlbnRpdHlUeXBlQW5ub3RhdGlvbnMgPSBvTWV0YU1vZGVsLmdldE9iamVjdChgJHtlbnRpdHlTZXRQYXRofUBgKSxcblx0XHRlbnRpdHlUeXBlUHJvcGVydGllcyA9IG9NZXRhTW9kZWwuZ2V0T2JqZWN0KGAke2VudGl0eVNldFBhdGh9L2ApO1xuXHRpZiAoXG5cdFx0ZW50aXR5VHlwZUFubm90YXRpb25zICYmXG5cdFx0KGVudGl0eVR5cGVBbm5vdGF0aW9uc1tcIkBjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuRHJhZnRSb290XCJdIHx8XG5cdFx0XHRlbnRpdHlUeXBlQW5ub3RhdGlvbnNbXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLkRyYWZ0Tm9kZVwiXSlcblx0KSB7XG5cdFx0ZWRpdFN0YXRlRmlsdGVyID0gZ2V0RWRpdFN0YXR1c0ZpbHRlcigpO1xuXHR9XG5cdGNvbnN0IHNlbGVjdGlvblZhcmlhbnQgPSBmaWx0ZXJDb25kaXRpb25zPy5zZWxlY3Rpb25WYXJpYW50O1xuXHRjb25zdCBkZWZhdWx0U2VtYW50aWNEYXRlcyA9IGZpbHRlckNvbmRpdGlvbnM/LmRlZmF1bHRTZW1hbnRpY0RhdGVzIHx8IHt9O1xuXHRjb25zdCBkZWZhdWx0RmlsdGVycyA9IGdldERlZmF1bHRWYWx1ZUZpbHRlcnMob0NvbnRleHQsIGVudGl0eVR5cGVQcm9wZXJ0aWVzKTtcblx0Y29uc3QgZGVmYXVsdFNlbWFudGljRGF0ZUZpbHRlcnMgPSBnZXREZWZhdWx0U2VtYW50aWNEYXRlRmlsdGVycyhvQ29udGV4dCwgZW50aXR5VHlwZVByb3BlcnRpZXMsIGRlZmF1bHRTZW1hbnRpY0RhdGVzKTtcblx0aWYgKHNlbGVjdGlvblZhcmlhbnQpIHtcblx0XHRmaWx0ZXJDb25kaXRpb25zID0gZ2V0RmlsdGVyc0NvbmRpdGlvbnNGcm9tU2VsZWN0aW9uVmFyaWFudChlbnRpdHlTZXRQYXRoLCBvTWV0YU1vZGVsLCBzZWxlY3Rpb25WYXJpYW50KTtcblx0fSBlbHNlIGlmIChkZWZhdWx0RmlsdGVycykge1xuXHRcdGZpbHRlckNvbmRpdGlvbnMgPSBkZWZhdWx0RmlsdGVycztcblx0fVxuXHRpZiAoZGVmYXVsdFNlbWFudGljRGF0ZUZpbHRlcnMpIHtcblx0XHQvLyBvbmx5IGZvciBzZW1hbnRpYyBkYXRlOlxuXHRcdC8vIDEuIHZhbHVlIGZyb20gbWFuaWZlc3QgZ2V0IG1lcmdlZCB3aXRoIFNWXG5cdFx0Ly8gMi4gbWFuaWZlc3QgdmFsdWUgaXMgZ2l2ZW4gcHJlZmVyZW5jZSB3aGVuIHRoZXJlIGlzIHNhbWUgc2VtYW50aWMgZGF0ZSBwcm9wZXJ0eSBpbiBTViBhbmQgbWFuaWZlc3Rcblx0XHRmaWx0ZXJDb25kaXRpb25zID0geyAuLi5maWx0ZXJDb25kaXRpb25zLCAuLi5kZWZhdWx0U2VtYW50aWNEYXRlRmlsdGVycyB9O1xuXHR9XG5cdGlmIChlZGl0U3RhdGVGaWx0ZXIpIHtcblx0XHRmaWx0ZXJDb25kaXRpb25zID0geyAuLi5maWx0ZXJDb25kaXRpb25zLCAuLi5lZGl0U3RhdGVGaWx0ZXIgfTtcblx0fVxuXHRyZXR1cm4gKE9iamVjdC5rZXlzKGZpbHRlckNvbmRpdGlvbnMpLmxlbmd0aCA+IDAgPyBKU09OLnN0cmluZ2lmeShmaWx0ZXJDb25kaXRpb25zKS5yZXBsYWNlKC8oW3t9XSkvZywgXCJcXFxcJDFcIikgOiB1bmRlZmluZWQpIGFzIGFueTtcbn1cblxuZ2V0RmlsdGVyQ29uZGl0aW9ucy5yZXF1aXJlc0lDb250ZXh0ID0gdHJ1ZTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7O0VBZUEsTUFBTUEsV0FBZ0MsR0FBRztJQUN4Q0MsUUFBUSxFQUFFLGFBQWE7SUFDdkJDLFVBQVUsRUFBRSxlQUFlO0lBQzNCQyxRQUFRLEVBQUUsYUFBYTtJQUN2QkMsS0FBSyxFQUFFLFVBQVU7SUFDakJDLFFBQVEsRUFBRSxPQUFPO0lBQ2pCQyxFQUFFLEVBQUUsT0FBTztJQUNYQyxFQUFFLEVBQUUsT0FBTztJQUNYQyxFQUFFLEVBQUUsT0FBTztJQUNYQyxFQUFFLEVBQUUsT0FBTztJQUNYQyxFQUFFLEVBQUUsT0FBTztJQUNYQyxFQUFFLEVBQUUsSUFBSTtJQUNSQyxFQUFFLEVBQUU7RUFDTCxDQUFDO0VBRU0sU0FBU0MsZ0NBQWdDLENBQUNDLE1BQVcsRUFBc0I7SUFDakYsSUFBSUMsTUFBTTtJQUNWLElBQUlELE1BQU0sQ0FBQ0UsS0FBSyxDQUFDLHVFQUF1RSxDQUFDLEVBQUU7TUFDMUZELE1BQU0sR0FBR0QsTUFBTSxDQUFDRSxLQUFLLENBQUMsdUVBQXVFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQyxNQUFNLElBQUlGLE1BQU0sQ0FBQ0UsS0FBSyxDQUFDLDREQUE0RCxDQUFDLEVBQUU7TUFDdEZELE1BQU0sR0FBSSxHQUFFRCxNQUFNLENBQUNFLEtBQUssQ0FBQyw0REFBNEQsQ0FBQyxDQUFDLENBQUMsQ0FBRSxPQUFNO0lBQ2pHLENBQUMsTUFBTSxJQUFJRixNQUFNLENBQUNFLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFO01BQ3hERCxNQUFNLEdBQUksR0FBRUQsTUFBTSxDQUFDRSxL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
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/base/Log","sap/fe/core/type/EDM","sap/ui/mdc/condition/Condition","sap/ui/mdc/enum/ConditionValidated"],function(e,t,n,i){"use strict";var o={};var a=t.isTypeFilterable;const s={Contains:"NotContains",StartsWith:"NotStartsWith",EndsWith:"NotEndsWith",Empty:"NotEmpty",NotEmpty:"Empty",LE:"NOTLE",GE:"NOTGE",LT:"NOTLT",GT:"NOTGT",BT:"NOTBT",NE:"EQ",EQ:"NE"};function d(e){let t;if(e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})\+(\d{1,4})/)){t=e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})\+(\d{1,4})/)[0]}else if(e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})/)){t=`${e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})/)[0]}+0000`}else if(e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)){t=`${e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)[0]}T00:00:00+0000`}else if(e.indexOf("Z")===e.length-1){t=`${e.split("Z")[0]}+0100`}else{t=undefined}return t}o._getDateTimeOffsetCompliantValue=d;function r(e){return e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)?e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)[0]:e.match(/^(\d{8})/)&&e.match(/^(\d{8})/)[0]}o._getDateCompliantValue=r;function l(e,t){let n;if(!a(t)){return undefined}n=e;switch(t){case"Edm.Boolean":if(typeof e==="boolean"){n=e}else{n=e==="true"||(e==="false"?false:undefined)}break;case"Edm.Double":case"Edm.Single":n=isNaN(e)?undefined:parseFloat(e);break;case"Edm.Byte":case"Edm.Int16":case"Edm.Int32":case"Edm.SByte":n=isNaN(e)?undefined:parseInt(e,10);break;case"Edm.Date":n=r(e);break;case"Edm.DateTimeOffset":n=d(e);break;case"Edm.TimeOfDay":n=e.match(/(\d{1,2}):(\d{1,2}):(\d{1,2})/)?e.match(/(\d{1,2}):(\d{1,2}):(\d{1,2})/)[0]:undefined;break;default:}return n===null?undefined:n}o.getTypeCompliantValue=l;function c(t,n,i,o){let a=n,d,r;const l={};l.values=[];l.isEmpty=null;if(n===undefined||n===null){return undefined}switch(t){case"CP":r="Contains";if(a){const t=a.indexOf("*");const n=a.lastIndexOf("*");if(t>-1){if(t===0&&n!==a.length-1){r="EndsWith";a=a.substring(1,a.length)}else if(t!==0&&n===a.length-1){r="StartsWith";a=a.substring(0,a.length-1)}else{a=a.substring(1,a.length-1)}}else{e.warning("Contains Option cannot be used without '*'.");return undefined}}break;case"EQ":r=n===""?"Empty":t;break;case"NE":r=n===""?"NotEmpty":t;break;case"BT":if(i===undefined||i===null){return}d=i;r=t;break;case"LE":case"GE":case"GT":case"LT":r=t;break;default:e.warning(`Selection Option is not supported : '${t}'`);return undefined}if(o==="E"){r=s[r]}l.operator=r;if(r!=="Empty"){l.values.push(a);if(d){l.values.push(d)}}return l}o.resolveConditionValues=c;function u(e){return e.indexOf("/")>0?e.split("/")[1]:e}o.getRangeProperty=u;function f(e,t,n,i){const o=[];e===null||e===void 0?void 0:e.forEach(e=>{const a=i?i(e,t,n):h(e,t);if(a){o.push(a)}});return o}function p(e,t,n){const i=e.lastIndexOf("/");const o=i>-1?e.substring(0,e.lastIndexOf("/")+1):"";const a=t.getObject(`${n}/${o}`);return a===null||a===void 0?void 0:a[e.replace(o,"")]}function m(e,t,n,i){const o=e.PropertyName,a={},s=o.value||o.$PropertyPath,d=e.Ranges;const r=p(s,t,n);if(r){const e=f(d,r,s,i);if(e.length){a[s]=(a[s]||[]).concat(e)}}return a}function g(e,t,n,o){let a={};if(!n){return a}const s=n.SelectOptions,d=n.Parameters;s===null||s===void 0?void 0:s.forEach(n=>{const i=n.PropertyName,s=i.value||i.$PropertyPath;if(Object.keys(a).includes(s)){a[s]=a[s].concat(m(n,t,e,o)[s])}else{a={...a,...m(n,t,e,o)}}});d===null||d===void 0?void 0:d.forEach(e=>{const t=e.PropertyName.value||e.PropertyName.$PropertyPath;const n=o?{operator:"EQ",value1:e.PropertyValue,value2:null,path:t,isParameter:true}:{operator:"EQ",values:[e.PropertyValue],isEmpty:null,validated:i.Validated,isParameter:true};a[t]=[n]});return a}o.getFiltersConditionsFromSelectionVariant=g;function h(e,t){let o;const a=e.Sign?u(e.Sign):undefined;const s=e.Option?u(e.Option):undefined;const d=l(e.Low,t.$Type||t.type);const r=e.High?l(e.High,t.$Type||t.type):undefined;const f=c(s,d,r,a);if(f){o=n.createCondition(f.operator,f.values,null,null,i.Validated)}return o}o.getConditions=h;const E=function(e,t){const o={};const a=e.getInterface(1).getPath(),s=e.getInterface(1).getModel();if(t){for(const e in t){const t=s.getObject(`${a}/${e}@com.sap.vocabularies.Common.v1.FilterDefaultValue`);if(t!==undefined){const a=e;o[a]=[n.createCondition("EQ",[t],null,null,i.Validated)]}}}return o};const v=function(e,t,i){const o={};const a=e.getInterface(1);const s=a.getModel();const d=a.getPath();for(const e in i){if(i[e][0]){const t=e.split("::");let a="";const r=t.length;const l=t.slice(0,t.length-1).join("/");const c=t[r-1];if(l){const e=s.getObject(d+"/"+l);if(e.$kind==="NavigationProperty"&&e.$isCollection){a+=`${l}*/`}else if(e.$kind==="NavigationProperty"){a+=`${l}/`}}a+=c;const u="values"in i[e][0]?i[e][0].values:[];o[a]=[n.createCondition(i[e][0].operator,u,null,null,null)]}}return o};function y(){const e={};e["$editState"]=[n.createCondition("DRAFT_EDIT_STATE",["ALL"],null,null,i.Validated)];return e}function b(e,t){var n,i;let o;const a=e.getInterface(1).getPath(),s=e.getInterface(1).getModel(),d=s.getObject(`${a}@`),r=s.getObject(`${a}/`);if(d["@com.sap.vocabularies.Common.v1.DraftRoot"]||d["@com.sap.vocabularies.Common.v1.DraftNode"]){o=y()}const l=(n=t)===null||n===void 0?void 0:n.selectionVariant;const c=((i=t)===null||i===void 0?void 0:i.defaultSemanticDates)||{};const u=E(e,r);const f=v(e,r,c);if(l){t=g(a,s,l)}else if(u){t=u}if(f){t={...t,...f}}if(o){t={...t,...o}}return Object.keys(t).length>0?JSON.stringify(t).replace(/([
|
|
5
|
+
sap.ui.define(["sap/base/Log","sap/fe/core/type/EDM","sap/ui/mdc/condition/Condition","sap/ui/mdc/enum/ConditionValidated"],function(e,t,n,i){"use strict";var o={};var a=t.isTypeFilterable;const s={Contains:"NotContains",StartsWith:"NotStartsWith",EndsWith:"NotEndsWith",Empty:"NotEmpty",NotEmpty:"Empty",LE:"NOTLE",GE:"NOTGE",LT:"NOTLT",GT:"NOTGT",BT:"NOTBT",NE:"EQ",EQ:"NE"};function d(e){let t;if(e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})\+(\d{1,4})/)){t=e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})\+(\d{1,4})/)[0]}else if(e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})/)){t=`${e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})/)[0]}+0000`}else if(e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)){t=`${e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)[0]}T00:00:00+0000`}else if(e.indexOf("Z")===e.length-1){t=`${e.split("Z")[0]}+0100`}else{t=undefined}return t}o._getDateTimeOffsetCompliantValue=d;function r(e){return e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)?e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})/)[0]:e.match(/^(\d{8})/)&&e.match(/^(\d{8})/)[0]}o._getDateCompliantValue=r;function l(e,t){let n;if(!a(t)){return undefined}n=e;switch(t){case"Edm.Boolean":if(typeof e==="boolean"){n=e}else{n=e==="true"||(e==="false"?false:undefined)}break;case"Edm.Double":case"Edm.Single":n=isNaN(e)?undefined:parseFloat(e);break;case"Edm.Byte":case"Edm.Int16":case"Edm.Int32":case"Edm.SByte":n=isNaN(e)?undefined:parseInt(e,10);break;case"Edm.Date":n=r(e);break;case"Edm.DateTimeOffset":n=d(e);break;case"Edm.TimeOfDay":n=e.match(/(\d{1,2}):(\d{1,2}):(\d{1,2})/)?e.match(/(\d{1,2}):(\d{1,2}):(\d{1,2})/)[0]:undefined;break;default:}return n===null?undefined:n}o.getTypeCompliantValue=l;function c(t,n,i,o){let a=n,d,r;const l={};l.values=[];l.isEmpty=null;if(n===undefined||n===null){return undefined}switch(t){case"CP":r="Contains";if(a){const t=a.indexOf("*");const n=a.lastIndexOf("*");if(t>-1){if(t===0&&n!==a.length-1){r="EndsWith";a=a.substring(1,a.length)}else if(t!==0&&n===a.length-1){r="StartsWith";a=a.substring(0,a.length-1)}else{a=a.substring(1,a.length-1)}}else{e.warning("Contains Option cannot be used without '*'.");return undefined}}break;case"EQ":r=n===""?"Empty":t;break;case"NE":r=n===""?"NotEmpty":t;break;case"BT":if(i===undefined||i===null){return}d=i;r=t;break;case"LE":case"GE":case"GT":case"LT":r=t;break;default:e.warning(`Selection Option is not supported : '${t}'`);return undefined}if(o==="E"){r=s[r]}l.operator=r;if(r!=="Empty"){l.values.push(a);if(d){l.values.push(d)}}return l}o.resolveConditionValues=c;function u(e){return e.indexOf("/")>0?e.split("/")[1]:e}o.getRangeProperty=u;function f(e,t,n,i){const o=[];e===null||e===void 0?void 0:e.forEach(e=>{const a=i?i(e,t,n):h(e,t);if(a){o.push(a)}});return o}function p(e,t,n){const i=e.lastIndexOf("/");const o=i>-1?e.substring(0,e.lastIndexOf("/")+1):"";const a=t.getObject(`${n}/${o}`);return a===null||a===void 0?void 0:a[e.replace(o,"")]}function m(e,t,n,i){const o=e.PropertyName,a={},s=o.value||o.$PropertyPath,d=e.Ranges;const r=p(s,t,n);if(r){const e=f(d,r,s,i);if(e.length){a[s]=(a[s]||[]).concat(e)}}return a}function g(e,t,n,o){let a={};if(!n){return a}const s=n.SelectOptions,d=n.Parameters;s===null||s===void 0?void 0:s.forEach(n=>{const i=n.PropertyName,s=i.value||i.$PropertyPath;if(Object.keys(a).includes(s)){a[s]=a[s].concat(m(n,t,e,o)[s])}else{a={...a,...m(n,t,e,o)}}});d===null||d===void 0?void 0:d.forEach(e=>{const t=e.PropertyName.value||e.PropertyName.$PropertyPath;const n=o?{operator:"EQ",value1:e.PropertyValue,value2:null,path:t,isParameter:true}:{operator:"EQ",values:[e.PropertyValue],isEmpty:null,validated:i.Validated,isParameter:true};a[t]=[n]});return a}o.getFiltersConditionsFromSelectionVariant=g;function h(e,t){let o;const a=e.Sign?u(e.Sign):undefined;const s=e.Option?u(e.Option):undefined;const d=l(e.Low,t.$Type||t.type);const r=e.High?l(e.High,t.$Type||t.type):undefined;const f=c(s,d,r,a);if(f){o=n.createCondition(f.operator,f.values,null,null,i.Validated)}return o}o.getConditions=h;const E=function(e,t){const o={};const a=e.getInterface(1).getPath(),s=e.getInterface(1).getModel();if(t){for(const e in t){const t=s.getObject(`${a}/${e}@com.sap.vocabularies.Common.v1.FilterDefaultValue`);if(t!==undefined){const a=e;o[a]=[n.createCondition("EQ",[t],null,null,i.Validated)]}}}return o};const v=function(e,t,i){const o={};const a=e.getInterface(1);const s=a.getModel();const d=a.getPath();for(const e in i){if(i[e][0]){const t=e.split("::");let a="";const r=t.length;const l=t.slice(0,t.length-1).join("/");const c=t[r-1];if(l){const e=s.getObject(d+"/"+l);if(e.$kind==="NavigationProperty"&&e.$isCollection){a+=`${l}*/`}else if(e.$kind==="NavigationProperty"){a+=`${l}/`}}a+=c;const u="values"in i[e][0]?i[e][0].values:[];o[a]=[n.createCondition(i[e][0].operator,u,null,null,null)]}}return o};function y(){const e={};e["$editState"]=[n.createCondition("DRAFT_EDIT_STATE",["ALL"],null,null,i.Validated)];return e}function b(e,t){var n,i;let o;const a=e.getInterface(1).getPath(),s=e.getInterface(1).getModel(),d=s.getObject(`${a}@`),r=s.getObject(`${a}/`);if(d&&(d["@com.sap.vocabularies.Common.v1.DraftRoot"]||d["@com.sap.vocabularies.Common.v1.DraftNode"])){o=y()}const l=(n=t)===null||n===void 0?void 0:n.selectionVariant;const c=((i=t)===null||i===void 0?void 0:i.defaultSemanticDates)||{};const u=E(e,r);const f=v(e,r,c);if(l){t=g(a,s,l)}else if(u){t=u}if(f){t={...t,...f}}if(o){t={...t,...o}}return Object.keys(t).length>0?JSON.stringify(t).replace(/([{}])/g,"\\$1"):undefined}o.getFilterConditions=b;b.requiresIContext=true;return o},false);
|
|
6
6
|
//# sourceMappingURL=FilterHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterHelper.js","names":["sap","ui","define","Log","EDM","Condition","ConditionValidated","_exports","isTypeFilterable","oExcludeMap","Contains","StartsWith","EndsWith","Empty","NotEmpty","LE","GE","LT","GT","BT","NE","EQ","_getDateTimeOffsetCompliantValue","sValue","oValue","match","indexOf","length","split","undefined","_getDateCompliantValue","getTypeCompliantValue","sType","isNaN","parseFloat","parseInt","resolveConditionValues","sOption","oV1","oV2","sSign","oValue2","sInternalOperation","oCondition","values","isEmpty","nIndexOf","nLastIndex","lastIndexOf","substring","warning","operator","push","getRangeProperty","sProperty","_buildConditionsFromSelectionRanges","Ranges","oProperty","sPropertyName","getCustomConditions","aConditions","forEach","Range","getConditions","_getProperty","propertyName","metaModel","entitySetPath","lastSlashIndex","navigationPath","collection","getObject","replace","_buildFiltersConditionsFromSelectOption","selectOption","PropertyName","filterConditions","propertyPath","value","$PropertyPath","targetProperty","conditions","concat","getFiltersConditionsFromSelectionVariant","sEntitySetPath","oMetaModel","selectionVariant","oFilterConditions","aSelectOptions","SelectOptions","aParameters","Parameters","Object","keys","includes","parameter","sPropertyPath","value1","PropertyValue","value2","path","isParameter","validated","Validated","oValidProperty","sign","Sign","Option","oValue1","Low","$Type","type","High","oConditionValues","createCondition","getDefaultValueFilters","oContext","properties","getInterface","getPath","getModel","key","defaultFilterValue","getDefaultSemanticDateFilters","defaultSemanticDates","oInterface","sEntityTypePath","aPropertyPathParts","sPath","iPropertyPathLength","sNavigationPath","slice","join","vProperty","$kind","$isCollection","operatorParamsArr","getEditStatusFilter","ofilterConditions","getFilterConditions","_filterConditions","_filterConditions2","editStateFilter","entityTypeAnnotations","entityTypeProperties","defaultFilters","defaultSemanticDateFilters","JSON","stringify","requiresIContext"],"sources":["FilterHelper-dbg.js"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FilterHelper.js","names":["sap","ui","define","Log","EDM","Condition","ConditionValidated","_exports","isTypeFilterable","oExcludeMap","Contains","StartsWith","EndsWith","Empty","NotEmpty","LE","GE","LT","GT","BT","NE","EQ","_getDateTimeOffsetCompliantValue","sValue","oValue","match","indexOf","length","split","undefined","_getDateCompliantValue","getTypeCompliantValue","sType","isNaN","parseFloat","parseInt","resolveConditionValues","sOption","oV1","oV2","sSign","oValue2","sInternalOperation","oCondition","values","isEmpty","nIndexOf","nLastIndex","lastIndexOf","substring","warning","operator","push","getRangeProperty","sProperty","_buildConditionsFromSelectionRanges","Ranges","oProperty","sPropertyName","getCustomConditions","aConditions","forEach","Range","getConditions","_getProperty","propertyName","metaModel","entitySetPath","lastSlashIndex","navigationPath","collection","getObject","replace","_buildFiltersConditionsFromSelectOption","selectOption","PropertyName","filterConditions","propertyPath","value","$PropertyPath","targetProperty","conditions","concat","getFiltersConditionsFromSelectionVariant","sEntitySetPath","oMetaModel","selectionVariant","oFilterConditions","aSelectOptions","SelectOptions","aParameters","Parameters","Object","keys","includes","parameter","sPropertyPath","value1","PropertyValue","value2","path","isParameter","validated","Validated","oValidProperty","sign","Sign","Option","oValue1","Low","$Type","type","High","oConditionValues","createCondition","getDefaultValueFilters","oContext","properties","getInterface","getPath","getModel","key","defaultFilterValue","getDefaultSemanticDateFilters","defaultSemanticDates","oInterface","sEntityTypePath","aPropertyPathParts","sPath","iPropertyPathLength","sNavigationPath","slice","join","vProperty","$kind","$isCollection","operatorParamsArr","getEditStatusFilter","ofilterConditions","getFilterConditions","_filterConditions","_filterConditions2","editStateFilter","entityTypeAnnotations","entityTypeProperties","defaultFilters","defaultSemanticDateFilters","JSON","stringify","requiresIContext"],"sources":["FilterHelper-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,eAAgB,uBAAwB,iCAAkC,sCAAuC,SAAUC,EAAKC,EAAKC,EAAWC,GAC7J,aAEA,IAAIC,EAAW,CAAC,EAChB,IAAIC,EAAmBJ,EAAII,iBAC3B,MAAMC,EAAc,CAClBC,SAAU,cACVC,WAAY,gBACZC,SAAU,cACVC,MAAO,WACPC,SAAU,QACVC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,KACJC,GAAI,MAEN,SAASC,EAAiCC,GACxC,IAAIC,EACJ,GAAID,EAAOE,MAAM,yEAA0E,CACzFD,EAASD,EAAOE,MAAM,yEAAyE,EACjG,MAAO,GAAIF,EAAOE,MAAM,8DAA+D,CACrFD,EAAS,GAAGD,EAAOE,MAAM,8DAA8D,SACzF,MAAO,GAAIF,EAAOE,MAAM,gCAAiC,CACvDD,EAAS,GAAGD,EAAOE,MAAM,gCAAgC,kBAC3D,MAAO,GAAIF,EAAOG,QAAQ,OAASH,EAAOI,OAAS,EAAG,CACpDH,EAAS,GAAGD,EAAOK,MAAM,KAAK,SAChC,KAAO,CACLJ,EAASK,SACX,CACA,OAAOL,CACT,CACAjB,EAASe,iCAAmCA,EAC5C,SAASQ,EAAuBP,GAC9B,OAAOA,EAAOE,MAAM,gCAAkCF,EAAOE,MAAM,gCAAgC,GAAKF,EAAOE,MAAM,aAAeF,EAAOE,MAAM,YAAY,EAC/J,CASAlB,EAASuB,uBAAyBA,EAClC,SAASC,EAAsBR,EAAQS,GACrC,IAAIR,EACJ,IAAKhB,EAAiBwB,GAAQ,CAC5B,OAAOH,SACT,CACAL,EAASD,EACT,OAAQS,GACN,IAAK,cACH,UAAWT,IAAW,UAAW,CAC/BC,EAASD,CACX,KAAO,CACLC,EAASD,IAAW,SAAWA,IAAW,QAAU,MAAQM,UAC9D,CACA,MACF,IAAK,aACL,IAAK,aACHL,EAASS,MAAMV,GAAUM,UAAYK,WAAWX,GAChD,MACF,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,YACHC,EAASS,MAAMV,GAAUM,UAAYM,SAASZ,EAAQ,IACtD,MACF,IAAK,WACHC,EAASM,EAAuBP,GAChC,MACF,IAAK,qBACHC,EAASF,EAAiCC,GAC1C,MACF,IAAK,gBACHC,EAASD,EAAOE,MAAM,iCAAmCF,EAAOE,MAAM,iCAAiC,GAAKI,UAC5G,MACF,SAEF,OAAOL,IAAW,KAAOK,UAAYL,CACvC,CAWAjB,EAASwB,sBAAwBA,EACjC,SAASK,EAAuBC,EAASC,EAAKC,EAAKC,GACjD,IAAIhB,EAASc,EACXG,EACAC,EACF,MAAMC,EAAa,CAAC,EACpBA,EAAWC,OAAS,GACpBD,EAAWE,QAAU,KACrB,GAAIP,IAAQT,WAAaS,IAAQ,KAAM,CACrC,OAAOT,SACT,CACA,OAAQQ,GACN,IAAK,KACHK,EAAqB,WACrB,GAAIlB,EAAQ,CACV,MAAMsB,EAAWtB,EAAOE,QAAQ,KAChC,MAAMqB,EAAavB,EAAOwB,YAAY,KAGtC,GAAIF,GAAY,EAAG,CACjB,GAAIA,IAAa,GAAKC,IAAevB,EAAOG,OAAS,EAAG,CACtDe,EAAqB,WACrBlB,EAASA,EAAOyB,UAAU,EAAGzB,EAAOG,OACtC,MAAO,GAAImB,IAAa,GAAKC,IAAevB,EAAOG,OAAS,EAAG,CAC7De,EAAqB,aACrBlB,EAASA,EAAOyB,UAAU,EAAGzB,EAAOG,OAAS,EAC/C,KAAO,CACLH,EAASA,EAAOyB,UAAU,EAAGzB,EAAOG,OAAS,EAC/C,CACF,KAAO,CACLxB,EAAI+C,QAAQ,+CACZ,OAAOrB,SACT,CACF,CACA,MACF,IAAK,KACHa,EAAqBJ,IAAQ,GAAK,QAAUD,EAC5C,MACF,IAAK,KACHK,EAAqBJ,IAAQ,GAAK,WAAaD,EAC/C,MACF,IAAK,KACH,GAAIE,IAAQV,WAAaU,IAAQ,KAAM,CACrC,MACF,CACAE,EAAUF,EACVG,EAAqBL,EACrB,MACF,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACHK,EAAqBL,EACrB,MACF,QACElC,EAAI+C,QAAQ,wCAAwCb,MACpD,OAAOR,UAEX,GAAIW,IAAU,IAAK,CACjBE,EAAqBjC,EAAYiC,EACnC,CACAC,EAAWQ,SAAWT,EACtB,GAAIA,IAAuB,QAAS,CAClCC,EAAWC,OAAOQ,KAAK5B,GACvB,GAAIiB,EAAS,CACXE,EAAWC,OAAOQ,KAAKX,EACzB,CACF,CACA,OAAOE,CACT,CAGApC,EAAS6B,uBAAyBA,EAClC,SAASiB,EAAiBC,GACxB,OAAOA,EAAU5B,QAAQ,KAAO,EAAI4B,EAAU1B,MAAM,KAAK,GAAK0B,CAChE,CACA/C,EAAS8C,iBAAmBA,EAC5B,SAASE,EAAoCC,EAAQC,EAAWC,EAAeC,GAC7E,MAAMC,EAAc,GACpBJ,IAAW,MAAQA,SAAgB,OAAS,EAAIA,EAAOK,QAAQC,IAC7D,MAAMnB,EAAagB,EAAsBA,EAAoBG,EAAOL,EAAWC,GAAiBK,EAAcD,EAAOL,GACrH,GAAId,EAAY,CACdiB,EAAYR,KAAKT,EACnB,IAEF,OAAOiB,CACT,CACA,SAASI,EAAaC,EAAcC,EAAWC,GAC7C,MAAMC,EAAiBH,EAAajB,YAAY,KAChD,MAAMqB,EAAiBD,GAAkB,EAAIH,EAAahB,UAAU,EAAGgB,EAAajB,YAAY,KAAO,GAAK,GAC5G,MAAMsB,EAAaJ,EAAUK,UAAU,GAAGJ,KAAiBE,KAC3D,OAAOC,IAAe,MAAQA,SAAoB,OAAS,EAAIA,EAAWL,EAAaO,QAAQH,EAAgB,IACjH,CACA,SAASI,EAAwCC,EAAcR,EAAWC,EAAeR,GACvF,MAAMM,EAAeS,EAAaC,aAChCC,EAAmB,CAAC,EACpBC,EAAeZ,EAAaa,OAASb,EAAac,cAClDvB,EAASkB,EAAalB,OACxB,MAAMwB,EAAiBhB,EAAaa,EAAcX,EAAWC,GAC7D,GAAIa,EAAgB,CAClB,MAAMC,EAAa1B,EAAoCC,EAAQwB,EAAgBH,EAAclB,GAC7F,GAAIsB,EAAWtD,OAAQ,CACrBiD,EAAiBC,IAAiBD,EAAiBC,IAAiB,IAAIK,OAAOD,EACjF,CACF,CACA,OAAOL,CACT,CACA,SAASO,EAAyCC,EAAgBC,EAAYC,EAAkB3B,GAC9F,IAAI4B,EAAoB,CAAC,EACzB,IAAKD,EAAkB,CACrB,OAAOC,CACT,CACA,MAAMC,EAAiBF,EAAiBG,cACtCC,EAAcJ,EAAiBK,WACjCH,IAAmB,MAAQA,SAAwB,OAAS,EAAIA,EAAe3B,QAAQa,IACrF,MAAMT,EAAeS,EAAaC,aAChCjB,EAAgBO,EAAaa,OAASb,EAAac,cACrD,GAAIa,OAAOC,KAAKN,GAAmBO,SAASpC,GAAgB,CAC1D6B,EAAkB7B,GAAiB6B,EAAkB7B,GAAewB,OAAOT,EAAwCC,EAAcW,EAAYD,EAAgBzB,GAAqBD,GACpL,KAAO,CACL6B,EAAoB,IACfA,KACAd,EAAwCC,EAAcW,EAAYD,EAAgBzB,GAEzF,IAEF+B,IAAgB,MAAQA,SAAqB,OAAS,EAAIA,EAAY7B,QAAQkC,IAC5E,MAAMC,EAAgBD,EAAUpB,aAAaG,OAASiB,EAAUpB,aAAaI,cAC7E,MAAMpC,EAAagB,EAAsB,CACvCR,SAAU,KACV8C,OAAQF,EAAUG,cAClBC,OAAQ,KACRC,KAAMJ,EACNK,YAAa,MACX,CACFlD,SAAU,KACVP,OAAQ,CAACmD,EAAUG,eACnBrD,QAAS,KACTyD,UAAWhG,EAAmBiG,UAC9BF,YAAa,MAEfd,EAAkBS,GAAiB,CAACrD,EAAW,GAEjD,OAAO4C,CACT,CACAhF,EAAS4E,yCAA2CA,EACpD,SAASpB,EAAcD,EAAO0C,GAC5B,IAAI7D,EACJ,MAAM8D,EAAO3C,EAAM4C,KAAOrD,EAAiBS,EAAM4C,MAAQ7E,UACzD,MAAMQ,EAAUyB,EAAM6C,OAAStD,EAAiBS,EAAM6C,QAAU9E,UAChE,MAAM+E,EAAU7E,EAAsB+B,EAAM+C,IAAKL,EAAeM,OAASN,EAAeO,MACxF,MAAMtE,EAAUqB,EAAMkD,KAAOjF,EAAsB+B,EAAMkD,KAAMR,EAAeM,OAASN,EAAeO,MAAQlF,UAC9G,MAAMoF,EAAmB7E,EAAuBC,EAASuE,EAASnE,EAASgE,GAC3E,GAAIQ,EAAkB,CACpBtE,EAAatC,EAAU6G,gBAAgBD,EAAiB9D,SAAU8D,EAAiBrE,OAAQ,KAAM,KAAMtC,EAAmBiG,UAC5H,CACA,OAAO5D,CACT,CACApC,EAASwD,cAAgBA,EACzB,MAAMoD,EAAyB,SAAUC,EAAUC,GACjD,MAAMzC,EAAmB,CAAC,EAC1B,MAAMT,EAAgBiD,EAASE,aAAa,GAAGC,UAC7ClC,EAAa+B,EAASE,aAAa,GAAGE,WACxC,GAAIH,EAAY,CACd,IAAK,MAAMI,KAAOJ,EAAY,CAC5B,MAAMK,EAAqBrC,EAAWd,UAAU,GAAGJ,KAAiBsD,uDACpE,GAAIC,IAAuB7F,UAAW,CACpC,MAAM8C,EAAe8C,EACrB7C,EAAiBD,GAAgB,CAACtE,EAAU6G,gBAAgB,KAAM,CAACQ,GAAqB,KAAM,KAAMpH,EAAmBiG,WACzH,CACF,CACF,CACA,OAAO3B,CACT,EACA,MAAM+C,EAAgC,SAAUP,EAAUC,EAAYO,GACpE,MAAMhD,EAAmB,CAAC,EAC1B,MAAMiD,EAAaT,EAASE,aAAa,GACzC,MAAMjC,EAAawC,EAAWL,WAC9B,MAAMM,EAAkBD,EAAWN,UACnC,IAAK,MAAME,KAAOG,EAAsB,CACtC,GAAIA,EAAqBH,GAAK,GAAI,CAChC,MAAMM,EAAqBN,EAAI7F,MAAM,MACrC,IAAIoG,EAAQ,GACZ,MAAMC,EAAsBF,EAAmBpG,OAC/C,MAAMuG,EAAkBH,EAAmBI,MAAM,EAAGJ,EAAmBpG,OAAS,GAAGyG,KAAK,KACxF,MAAM9E,EAAYyE,EAAmBE,EAAsB,GAC3D,GAAIC,EAAiB,CAEnB,MAAMG,EAAYhD,EAAWd,UAAUuD,EAAkB,IAAMI,GAC/D,GAAIG,EAAUC,QAAU,sBAAwBD,EAAUE,cAAe,CACvEP,GAAS,GAAGE,KACd,MAAO,GAAIG,EAAUC,QAAU,qBAAsB,CACnDN,GAAS,GAAGE,IACd,CACF,CACAF,GAAS1E,EACT,MAAMkF,EAAoB,WAAYZ,EAAqBH,GAAK,GAAKG,EAAqBH,GAAK,GAAG7E,OAAS,GAC3GgC,EAAiBoD,GAAS,CAAC3H,EAAU6G,gBAAgBU,EAAqBH,GAAK,GAAGtE,SAAUqF,EAAmB,KAAM,KAAM,MAC7H,CACF,CACA,OAAO5D,CACT,EACA,SAAS6D,IACP,MAAMC,EAAoB,CAAC,EAC3BA,EAAkB,cAAgB,CAACrI,EAAU6G,gBAAgB,mBAAoB,CAAC,OAAQ,KAAM,KAAM5G,EAAmBiG,YACzH,OAAOmC,CACT,CACA,SAASC,EAAoBvB,EAAUxC,GACrC,IAAIgE,EAAmBC,EACvB,IAAIC,EACJ,MAAM3E,EAAgBiD,EAASE,aAAa,GAAGC,UAC7ClC,EAAa+B,EAASE,aAAa,GAAGE,WACtCuB,EAAwB1D,EAAWd,UAAU,GAAGJ,MAChD6E,EAAuB3D,EAAWd,UAAU,GAAGJ,MACjD,GAAI4E,IAA0BA,EAAsB,8CAAgDA,EAAsB,8CAA+C,CACvKD,EAAkBL,GACpB,CACA,MAAMnD,GAAoBsD,EAAoBhE,KAAsB,MAAQgE,SAA2B,OAAS,EAAIA,EAAkBtD,iBACtI,MAAMsC,IAAyBiB,EAAqBjE,KAAsB,MAAQiE,SAA4B,OAAS,EAAIA,EAAmBjB,uBAAyB,CAAC,EACxK,MAAMqB,EAAiB9B,EAAuBC,EAAU4B,GACxD,MAAME,EAA6BvB,EAA8BP,EAAU4B,EAAsBpB,GACjG,GAAItC,EAAkB,CACpBV,EAAmBO,EAAyChB,EAAekB,EAAYC,EACzF,MAAO,GAAI2D,EAAgB,CACzBrE,EAAmBqE,CACrB,CACA,GAAIC,EAA4B,CAI9BtE,EAAmB,IACdA,KACAsE,EAEP,CACA,GAAIJ,EAAiB,CACnBlE,EAAmB,IACdA,KACAkE,EAEP,CACA,OAAOlD,OAAOC,KAAKjB,GAAkBjD,OAAS,EAAIwH,KAAKC,UAAUxE,GAAkBJ,QAAQ,UAAW,QAAU3C,SAClH,CACAtB,EAASoI,oBAAsBA,EAC/BA,EAAoBU,iBAAmB,KACvC,OAAO9I,CACT,EAAG"}
|
|
@@ -10,6 +10,7 @@ export type FilterConditions = {
|
|
|
10
10
|
values: Array<string>;
|
|
11
11
|
isEmpty?: boolean | null;
|
|
12
12
|
validated?: string;
|
|
13
|
+
isParameter?: boolean;
|
|
13
14
|
};
|
|
14
15
|
|
|
15
16
|
const oExcludeMap: Record<string, any> = {
|
|
@@ -354,8 +355,9 @@ export function getFilterConditions(oContext: any, filterConditions: any): Recor
|
|
|
354
355
|
entityTypeAnnotations = oMetaModel.getObject(`${entitySetPath}@`),
|
|
355
356
|
entityTypeProperties = oMetaModel.getObject(`${entitySetPath}/`);
|
|
356
357
|
if (
|
|
357
|
-
entityTypeAnnotations
|
|
358
|
-
entityTypeAnnotations["@com.sap.vocabularies.Common.v1.
|
|
358
|
+
entityTypeAnnotations &&
|
|
359
|
+
(entityTypeAnnotations["@com.sap.vocabularies.Common.v1.DraftRoot"] ||
|
|
360
|
+
entityTypeAnnotations["@com.sap.vocabularies.Common.v1.DraftNode"])
|
|
359
361
|
) {
|
|
360
362
|
editStateFilter = getEditStatusFilter();
|
|
361
363
|
}
|
|
@@ -377,7 +379,7 @@ export function getFilterConditions(oContext: any, filterConditions: any): Recor
|
|
|
377
379
|
if (editStateFilter) {
|
|
378
380
|
filterConditions = { ...filterConditions, ...editStateFilter };
|
|
379
381
|
}
|
|
380
|
-
return (Object.keys(filterConditions).length > 0 ? JSON.stringify(filterConditions).replace(/([
|
|
382
|
+
return (Object.keys(filterConditions).length > 0 ? JSON.stringify(filterConditions).replace(/([{}])/g, "\\$1") : undefined) as any;
|
|
381
383
|
}
|
|
382
384
|
|
|
383
385
|
getFilterConditions.requiresIContext = true;
|
|
@@ -337,4 +337,4 @@ sap.ui.define(["sap/fe/core/templating/SemanticObjectHelper"], function (Semanti
|
|
|
337
337
|
_exports.hasStaticPercentUnit = hasStaticPercentUnit;
|
|
338
338
|
return _exports;
|
|
339
339
|
}, false);
|
|
340
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc1Byb3BlcnR5IiwicHJvcGVydHkiLCJoYXNPd25Qcm9wZXJ0eSIsIl90eXBlIiwiaXNDb21wdXRlZCIsIm9Qcm9wZXJ0eSIsImFubm90YXRpb25zIiwiQ29yZSIsIkNvbXB1dGVkIiwidmFsdWVPZiIsImlzTmF2aWdhdGlvblByb3BlcnR5IiwiaXNJbW11dGFibGUiLCJJbW11dGFibGUiLCJpc0tleSIsImlzU2VtYW50aWNLZXkiLCJjb250ZXh0RGF0YU1vZGVsT2JqZWN0Iiwic2VtYW50aWNLZXlzIiwiY29udGV4dExvY2F0aW9uIiwidGFyZ2V0RW50aXR5VHlwZSIsIkNvbW1vbiIsIlNlbWFudGljS2V5Iiwic29tZSIsImtleSIsIiR0YXJnZXQiLCJmdWxseVF1YWxpZmllZE5hbWUiLCJoYXNEYXRlVHlwZSIsImluZGV4T2YiLCJ0eXBlIiwiZ2V0TGFiZWwiLCJMYWJlbCIsInRvU3RyaW5nIiwiaGFzU2VtYW50aWNPYmplY3QiLCJTZW1hbnRpY09iamVjdEhlbHBlciIsImlzUGF0aEV4cHJlc3Npb24iLCJleHByZXNzaW9uIiwidW5kZWZpbmVkIiwiaXNQcm9wZXJ0eVBhdGhFeHByZXNzaW9uIiwiaXNBbm5vdGF0aW9uUGF0aEV4cHJlc3Npb24iLCJnZXRBc3NvY2lhdGVkVGltZXpvbmVQcm9wZXJ0eSIsIlRpbWV6b25lIiwiZ2V0QXNzb2NpYXRlZFRpbWV6b25lUHJvcGVydHlQYXRoIiwicGF0aCIsImdldEFzc29jaWF0ZWRUZXh0UHJvcGVydHkiLCJUZXh0IiwiZ2V0QXNzb2NpYXRlZFVuaXRQcm9wZXJ0eSIsIk1lYXN1cmVzIiwiVW5pdCIsImdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoIiwiZ2V0QXNzb2NpYXRlZEN1cnJlbmN5UHJvcGVydHkiLCJJU09DdXJyZW5jeSIsImdldEFzc29jaWF0ZWRDdXJyZW5jeVByb3BlcnR5UGF0aCIsImdldEFzc29jaWF0ZWRUZXh0UHJvcGVydHlQYXRoIiwiaGFzVmFsdWVIZWxwIiwiVmFsdWVMaXN0IiwiVmFsdWVMaXN0UmVmZXJlbmNlcyIsIlZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcyIsIlZhbHVlTGlzdE1hcHBpbmciLCJoYXNWYWx1ZUhlbHBXaXRoRml4ZWRWYWx1ZXMiLCJoYXNWYWx1ZUxpc3RGb3JWYWxpZGF0aW9uIiwiVmFsdWVMaXN0Rm9yVmFsaWRhdGlvbiIsImhhc1RpbWV6b25lIiwiaXNVbml0IiwiSXNVbml0IiwiaGFzVGV4dCIsImlzSW1hZ2VVUkwiLCJVSSIsIklzSW1hZ2VVUkwiLCJpc0N1cnJlbmN5IiwiSXNDdXJyZW5jeSIsImhhc0N1cnJlbmN5IiwiaGFzVW5pdCIsImlzR3VpZCIsImhhc1N0YXRpY1BlcmNlbnRVbml0Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJQcm9wZXJ0eUhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE5hdmlnYXRpb25Qcm9wZXJ0eSwgUGF0aEFubm90YXRpb25FeHByZXNzaW9uLCBQcm9wZXJ0eSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0ICogYXMgU2VtYW50aWNPYmplY3RIZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvU2VtYW50aWNPYmplY3RIZWxwZXJcIjtcblxuLyoqXG4gKiBJZGVudGlmeSBpZiB0aGUgZ2l2ZW4gcHJvcGVydHkgcGFzc2VkIGlzIGEgXCJQcm9wZXJ0eVwiIChoYXMgYSBfdHlwZSkuXG4gKlxuICogQHBhcmFtIHByb3BlcnR5IEEgdGFyZ2V0IHByb3BlcnR5IHRvIGV2YWx1YXRlXG4gKiBAcmV0dXJucyBWYWxpZGF0ZSB0aGF0IHByb3BlcnR5IGlzIGEgUHJvcGVydHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvcGVydHkocHJvcGVydHk6IGFueSk6IHByb3BlcnR5IGlzIFByb3BlcnR5IHtcblx0cmV0dXJuIHByb3BlcnR5ICYmIChwcm9wZXJ0eSBhcyBQcm9wZXJ0eSkuaGFzT3duUHJvcGVydHkoXCJfdHlwZVwiKSAmJiAocHJvcGVydHkgYXMgUHJvcGVydHkpLl90eXBlID09PSBcIlByb3BlcnR5XCI7XG59XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIHRoZSBDb3JlLkNvbXB1dGVkIGFubm90YXRpb24gb3Igbm90LlxuICpcbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBwcm9wZXJ0eSBpcyBjb21wdXRlZFxuICovXG5leHBvcnQgY29uc3QgaXNDb21wdXRlZCA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiAhIW9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29yZT8uQ29tcHV0ZWQ/LnZhbHVlT2YoKTtcbn07XG5cbi8qKlxuICogSWRlbnRpZnkgaWYgdGhlIGdpdmVuIHByb3BlcnR5IHBhc3NlZCBpcyBhIFwiTmF2aWdhdGlvblByb3BlcnR5XCIuXG4gKlxuICogQHBhcmFtIHByb3BlcnR5IEEgdGFyZ2V0IHByb3BlcnR5IHRvIGV2YWx1YXRlXG4gKiBAcmV0dXJucyBWYWxpZGF0ZSB0aGF0IHByb3BlcnR5IGlzIGEgTmF2aWdhdGlvblByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc05hdmlnYXRpb25Qcm9wZXJ0eShwcm9wZXJ0eTogYW55KTogcHJvcGVydHkgaXMgTmF2aWdhdGlvblByb3BlcnR5IHtcblx0cmV0dXJuIChcblx0XHRwcm9wZXJ0eSAmJlxuXHRcdChwcm9wZXJ0eSBhcyBOYXZpZ2F0aW9uUHJvcGVydHkpLmhhc093blByb3BlcnR5KFwiX3R5cGVcIikgJiZcblx0XHQocHJvcGVydHkgYXMgTmF2aWdhdGlvblByb3BlcnR5KS5fdHlwZSA9PT0gXCJOYXZpZ2F0aW9uUHJvcGVydHlcIlxuXHQpO1xufVxuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyB0aGUgQ29yZS5JbW11dGFibGUgYW5ub3RhdGlvbiBvciBub3QuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQncyBpbW11dGFibGVcbiAqL1xuZXhwb3J0IGNvbnN0IGlzSW1tdXRhYmxlID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuICEhb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db3JlPy5JbW11dGFibGU/LnZhbHVlT2YoKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgcHJvcGVydHkgaXMgYSBrZXkgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgYHRydWVgIGlmIGl0J3MgYSBrZXlcbiAqL1xuZXhwb3J0IGNvbnN0IGlzS2V5ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuICEhb1Byb3BlcnR5LmlzS2V5O1xufTtcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBpcyBhIHNlbWFudGljS2V5IGZvciB0aGUgY29udGV4dCBlbnRpdHkuXG4gKlxuICogQHBhcmFtIHByb3BlcnR5XG4gKiBAcGFyYW0gY29udGV4dERhdGFNb2RlbE9iamVjdCBUaGUgRGF0YU1vZGVsT2JqZWN0IHRoYXQgaG9sZHMgdGhlIGNvbnRleHRcbiAqIEByZXR1cm5zIGB0cnVlYGlmIGl0J3MgYSBzZW1hbnRpYyBrZXlcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU2VtYW50aWNLZXkgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5LCBjb250ZXh0RGF0YU1vZGVsT2JqZWN0OiBEYXRhTW9kZWxPYmplY3RQYXRoKSB7XG5cdGNvbnN0IHNlbWFudGljS2V5cyA9IGNvbnRleHREYXRhTW9kZWxPYmplY3QuY29udGV4dExvY2F0aW9uPy50YXJnZXRFbnRpdHlUeXBlPy5hbm5vdGF0aW9ucz8uQ29tbW9uPy5TZW1hbnRpY0tleTtcblx0cmV0dXJuIChcblx0XHRzZW1hbnRpY0tleXM/LnNvbWUoZnVuY3Rpb24gKGtleSkge1xuXHRcdFx0cmV0dXJuIGtleT8uJHRhcmdldD8uZnVsbHlRdWFsaWZpZWROYW1lID09PSBwcm9wZXJ0eS5mdWxseVF1YWxpZmllZE5hbWU7XG5cdFx0fSkgPz8gZmFsc2Vcblx0KTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIGRhdGUgdGltZSBvciBub3QuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eVxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGlzIG9mIHR5cGUgZGF0ZSAvIGRhdGV0aW1lIC8gZGF0ZXRpbWVvZmZzZXRcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc0RhdGVUeXBlID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIFtcIkVkbS5EYXRlXCIsIFwiRWRtLkRhdGVUaW1lXCIsIFwiRWRtLkRhdGVUaW1lT2Zmc2V0XCJdLmluZGV4T2Yob1Byb3BlcnR5LnR5cGUpICE9PSAtMTtcbn07XG5cbi8qKlxuICogUmV0cmlldmUgdGhlIGxhYmVsIGFubm90YXRpb24uXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBUaGUgbGFiZWwgc3RyaW5nXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRMYWJlbCA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogc3RyaW5nIHtcblx0cmV0dXJuIG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5MYWJlbD8udG9TdHJpbmcoKSB8fCBcIlwiO1xufTtcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgYSBzZW1hbnRpYyBvYmplY3QgZGVmaW5lZCBvciBub3QuXG4gKlxuICogQHBhcmFtIHByb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBoYXMgYSBzZW1hbnRpYyBvYmplY3RcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1NlbWFudGljT2JqZWN0ID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gU2VtYW50aWNPYmplY3RIZWxwZXIuaGFzU2VtYW50aWNPYmplY3QocHJvcGVydHkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzUGF0aEV4cHJlc3Npb24gPSBmdW5jdGlvbiA8VD4oZXhwcmVzc2lvbjogYW55KTogZXhwcmVzc2lvbiBpcyBQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb248VD4ge1xuXHRyZXR1cm4gISFleHByZXNzaW9uICYmIGV4cHJlc3Npb24udHlwZSAhPT0gdW5kZWZpbmVkICYmIGV4cHJlc3Npb24udHlwZSA9PT0gXCJQYXRoXCI7XG59O1xuZXhwb3J0IGNvbnN0IGlzUHJvcGVydHlQYXRoRXhwcmVzc2lvbiA9IGZ1bmN0aW9uIDxUPihleHByZXNzaW9uOiBhbnkpOiBleHByZXNzaW9uIGlzIFBhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbjxUPiB7XG5cdHJldHVybiAhIWV4cHJlc3Npb24gJiYgZXhwcmVzc2lvbi50eXBlICE9PSB1bmRlZmluZWQgJiYgZXhwcmVzc2lvbi50eXBlID09PSBcIlByb3BlcnR5UGF0aFwiO1xufTtcbmV4cG9ydCBjb25zdCBpc0Fubm90YXRpb25QYXRoRXhwcmVzc2lvbiA9IGZ1bmN0aW9uIDxUPihleHByZXNzaW9uOiBhbnkpOiBleHByZXNzaW9uIGlzIFBhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbjxUPiB7XG5cdHJldHVybiAhIWV4cHJlc3Npb24gJiYgZXhwcmVzc2lvbi50eXBlICE9PSB1bmRlZmluZWQgJiYgZXhwcmVzc2lvbi50eXBlID09PSBcIkFubm90YXRpb25QYXRoXCI7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgdGltZXpvbmUgcHJvcGVydHkgYXNzb2NpYXRlZCB0byB0aGUgcHJvcGVydHksIGlmIGFwcGxpY2FibGUuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBUaGUgdGltZXpvbmUgcHJvcGVydHksIGlmIGl0IGV4aXN0c1xuICovXG5leHBvcnQgY29uc3QgZ2V0QXNzb2NpYXRlZFRpbWV6b25lUHJvcGVydHkgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IFByb3BlcnR5IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGlzUGF0aEV4cHJlc3Npb24ob1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UaW1lem9uZSlcblx0XHQ/IChvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGltZXpvbmUuJHRhcmdldCBhcyB1bmtub3duIGFzIFByb3BlcnR5KVxuXHRcdDogdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHRpbWV6b25lIHByb3BlcnR5IHBhdGggYXNzb2NpYXRlZCB0byB0aGUgcHJvcGVydHksIGlmIGFwcGxpY2FibGUuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBUaGUgdGltZXpvbmUgcHJvcGVydHkgcGF0aCwgaWYgaXQgZXhpc3RzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBc3NvY2lhdGVkVGltZXpvbmVQcm9wZXJ0eVBhdGggPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBpc1BhdGhFeHByZXNzaW9uKG9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGltZXpvbmUpID8gb1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UaW1lem9uZT8ucGF0aCA6IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBhc3NvY2lhdGVkIHRleHQgcHJvcGVydHkgZm9yIHRoYXQgcHJvcGVydHksIGlmIGl0IGV4aXN0cy5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIFRoZSB0ZXh0IHByb3BlcnR5LCBpZiBpdCBleGlzdHNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRUZXh0UHJvcGVydHkgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IFByb3BlcnR5IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGlzUGF0aEV4cHJlc3Npb24ob1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UZXh0KVxuXHRcdD8gKG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UZXh0LiR0YXJnZXQgYXMgdW5rbm93biBhcyBQcm9wZXJ0eSlcblx0XHQ6IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSB1bml0IHByb3BlcnR5IGFzc29jaWF0ZWQgdG8gdGhlIHByb3BlcnR5LCBpZiBhcHBsaWNhYmxlLlxuICpcbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIHVuaXQgcHJvcGVydHksIGlmIGl0IGV4aXN0c1xuICovXG5leHBvcnQgY29uc3QgZ2V0QXNzb2NpYXRlZFVuaXRQcm9wZXJ0eSA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogUHJvcGVydHkgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoRXhwcmVzc2lvbihvUHJvcGVydHk/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdClcblx0XHQ/IChvUHJvcGVydHkuYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5Vbml0LiR0YXJnZXQgYXMgdW5rbm93biBhcyBQcm9wZXJ0eSlcblx0XHQ6IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBc3NvY2lhdGVkVW5pdFByb3BlcnR5UGF0aCA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGlzUGF0aEV4cHJlc3Npb24ob1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQpID8gb1Byb3BlcnR5LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdC5wYXRoIDogdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGFzc29jaWF0ZWQgY3VycmVuY3kgcHJvcGVydHkgZm9yIHRoYXQgcHJvcGVydHkgaWYgaXQgZXhpc3RzLlxuICpcbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIHVuaXQgcHJvcGVydHksIGlmIGl0IGV4aXN0c1xuICovXG5leHBvcnQgY29uc3QgZ2V0QXNzb2NpYXRlZEN1cnJlbmN5UHJvcGVydHkgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IFByb3BlcnR5IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGlzUGF0aEV4cHJlc3Npb24ob1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5KVxuXHRcdD8gKG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5LiR0YXJnZXQgYXMgdW5rbm93biBhcyBQcm9wZXJ0eSlcblx0XHQ6IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBc3NvY2lhdGVkQ3VycmVuY3lQcm9wZXJ0eVBhdGggPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBpc1BhdGhFeHByZXNzaW9uKG9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5JU09DdXJyZW5jeSkgPyBvUHJvcGVydHkuYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5JU09DdXJyZW5jeS5wYXRoIDogdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIENvbW1vbi5UZXh0IHByb3BlcnR5IHBhdGggaWYgaXQgZXhpc3RzLlxuICpcbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIENvbW1vbi5UZXh0IHByb3BlcnR5IHBhdGggb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXMgbm90IGV4aXN0XG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBc3NvY2lhdGVkVGV4dFByb3BlcnR5UGF0aCA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGlzUGF0aEV4cHJlc3Npb24ob1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlRleHQpID8gb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlRleHQucGF0aCA6IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGEgdmFsdWUgaGVscCBhbm5vdGF0aW9uIGRlZmluZWQgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5IHRvIGJlIGNoZWNrZWRcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBoYXMgYSB2YWx1ZSBoZWxwXG4gKi9cbmV4cG9ydCBjb25zdCBoYXNWYWx1ZUhlbHAgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiAoXG5cdFx0ISFwcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5WYWx1ZUxpc3QgfHxcblx0XHQhIXByb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlZhbHVlTGlzdFJlZmVyZW5jZXMgfHxcblx0XHQhIXByb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcyB8fFxuXHRcdCEhcHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0TWFwcGluZ1xuXHQpO1xufTtcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgYSB2YWx1ZSBoZWxwIHdpdGggZml4ZWQgdmFsdWUgYW5ub3RhdGlvbiBkZWZpbmVkIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBoYXMgYSB2YWx1ZSBoZWxwXG4gKi9cbmV4cG9ydCBjb25zdCBoYXNWYWx1ZUhlbHBXaXRoRml4ZWRWYWx1ZXMgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFvUHJvcGVydHk/LmFubm90YXRpb25zPy5Db21tb24/LlZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcz8udmFsdWVPZigpO1xufTtcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgYSB2YWx1ZSBoZWxwIGZvciB2YWxpZGF0aW9uIGFubm90YXRpb24gZGVmaW5lZCBvciBub3QuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaGFzIGEgdmFsdWUgaGVscFxuICovXG5leHBvcnQgY29uc3QgaGFzVmFsdWVMaXN0Rm9yVmFsaWRhdGlvbiA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiBvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0Rm9yVmFsaWRhdGlvbiAhPT0gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhc1RpbWV6b25lID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UaW1lem9uZSAhPT0gdW5kZWZpbmVkO1xufTtcbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIHByb3BlcnR5IGlzIGEgdW5pdCBwcm9wZXJ0eS5cbiAqXG4gKiBAcGFyYW0gcHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIGJlIGNoZWNrZWRcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBpcyBhIHVuaXRcbiAqL1xuZXhwb3J0IGNvbnN0IGlzVW5pdCA9IGZ1bmN0aW9uIChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuICEhcHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uSXNVbml0Py52YWx1ZU9mKCk7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgYSB0ZXh0IHByb3BlcnR5LlxuICpcbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gYmUgY2hlY2tlZFxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGlzIGEgVGV4dFxuICovXG5leHBvcnQgY29uc3QgaGFzVGV4dCA9IGZ1bmN0aW9uIChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuICEhcHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dD8udmFsdWVPZigpO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGFuIEltYWdlVVJMLlxuICpcbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gYmUgY2hlY2tlZFxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGlzIGFuIEltYWdlVVJMXG4gKi9cbmV4cG9ydCBjb25zdCBpc0ltYWdlVVJMID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFwcm9wZXJ0eS5hbm5vdGF0aW9ucz8uVUk/LklzSW1hZ2VVUkw/LnZhbHVlT2YoKTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIHByb3BlcnR5IGlzIGEgY3VycmVuY3kgcHJvcGVydHkuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gYmUgY2hlY2tlZFxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGlzIGEgY3VycmVuY3lcbiAqL1xuZXhwb3J0IGNvbnN0IGlzQ3VycmVuY3kgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uSXNDdXJyZW5jeT8udmFsdWVPZigpO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGEgY3VycmVuY3kgcHJvcGVydHkuXG4gKlxuICogQHBhcmFtIHByb3BlcnR5IFRoZSBwcm9wZXJ0eSB0byBiZSBjaGVja2VkXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaGFzIGEgY3VycmVuY3lcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc0N1cnJlbmN5ID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gcHJvcGVydHkuYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5JU09DdXJyZW5jeSAhPT0gdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGEgdW5pdCBwcm9wZXJ0eS5cbiAqXG4gKiBAcGFyYW0gcHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIGJlIGNoZWNrZWRcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBoYXMgYSB1bml0XG4gKi9cblxuZXhwb3J0IGNvbnN0IGhhc1VuaXQgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiBwcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQgIT09IHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIHByb3BlcnR5IHR5cGUgaGFzIEVkbS5HdWlkLlxuICpcbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gYmUgY2hlY2tlZFxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGlzIGEgR3VpZFxuICovXG5leHBvcnQgY29uc3QgaXNHdWlkID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gcHJvcGVydHkudHlwZSA9PT0gXCJFZG0uR3VpZFwiO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhc1N0YXRpY1BlcmNlbnRVbml0ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIG9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5Vbml0Py50b1N0cmluZygpID09PSBcIiVcIjtcbn07XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7O0VBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ08sU0FBU0EsVUFBVSxDQUFDQyxRQUFhLEVBQXdCO0lBQy9ELE9BQU9BLFFBQVEsSUFBS0EsUUFBUSxDQUFjQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUtELFFBQVEsQ0FBY0UsS0FBSyxLQUFLLFVBQVU7RUFDakg7O0VBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBTEE7RUFNTyxNQUFNQyxVQUFVLEdBQUcsVUFBVUMsU0FBbUIsRUFBVztJQUFBO0lBQ2pFLE9BQU8sQ0FBQywyQkFBQ0EsU0FBUyxDQUFDQyxXQUFXLDRFQUFyQixzQkFBdUJDLElBQUksNkVBQTNCLHVCQUE2QkMsUUFBUSxtREFBckMsdUJBQXVDQyxPQUFPLEVBQUU7RUFDMUQsQ0FBQzs7RUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFMQTtFQU1PLFNBQVNDLG9CQUFvQixDQUFDVCxRQUFhLEVBQWtDO0lBQ25GLE9BQ0NBLFFBQVEsSUFDUEEsUUFBUSxDQUF3QkMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUN2REQsUUFBUSxDQUF3QkUsS0FBSyxLQUFLLG9C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
|
|
340
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc1Byb3BlcnR5IiwicHJvcGVydHkiLCJoYXNPd25Qcm9wZXJ0eSIsIl90eXBlIiwiaXNDb21wdXRlZCIsIm9Qcm9wZXJ0eSIsImFubm90YXRpb25zIiwiQ29yZSIsIkNvbXB1dGVkIiwidmFsdWVPZiIsImlzTmF2aWdhdGlvblByb3BlcnR5IiwiaXNJbW11dGFibGUiLCJJbW11dGFibGUiLCJpc0tleSIsImlzU2VtYW50aWNLZXkiLCJjb250ZXh0RGF0YU1vZGVsT2JqZWN0Iiwic2VtYW50aWNLZXlzIiwiY29udGV4dExvY2F0aW9uIiwidGFyZ2V0RW50aXR5VHlwZSIsIkNvbW1vbiIsIlNlbWFudGljS2V5Iiwic29tZSIsImtleSIsIiR0YXJnZXQiLCJmdWxseVF1YWxpZmllZE5hbWUiLCJoYXNEYXRlVHlwZSIsImluZGV4T2YiLCJ0eXBlIiwiZ2V0TGFiZWwiLCJMYWJlbCIsInRvU3RyaW5nIiwiaGFzU2VtYW50aWNPYmplY3QiLCJTZW1hbnRpY09iamVjdEhlbHBlciIsImlzUGF0aEV4cHJlc3Npb24iLCJleHByZXNzaW9uIiwidW5kZWZpbmVkIiwiaXNQcm9wZXJ0eVBhdGhFeHByZXNzaW9uIiwiaXNBbm5vdGF0aW9uUGF0aEV4cHJlc3Npb24iLCJnZXRBc3NvY2lhdGVkVGltZXpvbmVQcm9wZXJ0eSIsIlRpbWV6b25lIiwiZ2V0QXNzb2NpYXRlZFRpbWV6b25lUHJvcGVydHlQYXRoIiwicGF0aCIsImdldEFzc29jaWF0ZWRUZXh0UHJvcGVydHkiLCJUZXh0IiwiZ2V0QXNzb2NpYXRlZFVuaXRQcm9wZXJ0eSIsIk1lYXN1cmVzIiwiVW5pdCIsImdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoIiwiZ2V0QXNzb2NpYXRlZEN1cnJlbmN5UHJvcGVydHkiLCJJU09DdXJyZW5jeSIsImdldEFzc29jaWF0ZWRDdXJyZW5jeVByb3BlcnR5UGF0aCIsImdldEFzc29jaWF0ZWRUZXh0UHJvcGVydHlQYXRoIiwiaGFzVmFsdWVIZWxwIiwiVmFsdWVMaXN0IiwiVmFsdWVMaXN0UmVmZXJlbmNlcyIsIlZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcyIsIlZhbHVlTGlzdE1hcHBpbmciLCJoYXNWYWx1ZUhlbHBXaXRoRml4ZWRWYWx1ZXMiLCJoYXNWYWx1ZUxpc3RGb3JWYWxpZGF0aW9uIiwiVmFsdWVMaXN0Rm9yVmFsaWRhdGlvbiIsImhhc1RpbWV6b25lIiwiaXNVbml0IiwiSXNVbml0IiwiaGFzVGV4dCIsImlzSW1hZ2VVUkwiLCJVSSIsIklzSW1hZ2VVUkwiLCJpc0N1cnJlbmN5IiwiSXNDdXJyZW5jeSIsImhhc0N1cnJlbmN5IiwiaGFzVW5pdCIsImlzR3VpZCIsImhhc1N0YXRpY1BlcmNlbnRVbml0Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJQcm9wZXJ0eUhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE5hdmlnYXRpb25Qcm9wZXJ0eSwgUGF0aEFubm90YXRpb25FeHByZXNzaW9uLCBQcm9wZXJ0eSwgUHJvcGVydHlQYXRoIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IERhdGFNb2RlbE9iamVjdFBhdGggfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9EYXRhTW9kZWxQYXRoSGVscGVyXCI7XG5pbXBvcnQgKiBhcyBTZW1hbnRpY09iamVjdEhlbHBlciBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9TZW1hbnRpY09iamVjdEhlbHBlclwiO1xuXG4vKipcbiAqIElkZW50aWZ5IGlmIHRoZSBnaXZlbiBwcm9wZXJ0eSBwYXNzZWQgaXMgYSBcIlByb3BlcnR5XCIgKGhhcyBhIF90eXBlKS5cbiAqXG4gKiBAcGFyYW0gcHJvcGVydHkgQSB0YXJnZXQgcHJvcGVydHkgdG8gZXZhbHVhdGVcbiAqIEByZXR1cm5zIFZhbGlkYXRlIHRoYXQgcHJvcGVydHkgaXMgYSBQcm9wZXJ0eVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQcm9wZXJ0eShwcm9wZXJ0eTogYW55KTogcHJvcGVydHkgaXMgUHJvcGVydHkge1xuXHRyZXR1cm4gcHJvcGVydHkgJiYgKHByb3BlcnR5IGFzIFByb3BlcnR5KS5oYXNPd25Qcm9wZXJ0eShcIl90eXBlXCIpICYmIChwcm9wZXJ0eSBhcyBQcm9wZXJ0eSkuX3R5cGUgPT09IFwiUHJvcGVydHlcIjtcbn1cblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgdGhlIENvcmUuQ29tcHV0ZWQgYW5ub3RhdGlvbiBvciBub3QuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHByb3BlcnR5IGlzIGNvbXB1dGVkXG4gKi9cbmV4cG9ydCBjb25zdCBpc0NvbXB1dGVkID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuICEhb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db3JlPy5Db21wdXRlZD8udmFsdWVPZigpO1xufTtcblxuLyoqXG4gKiBJZGVudGlmeSBpZiB0aGUgZ2l2ZW4gcHJvcGVydHkgcGFzc2VkIGlzIGEgXCJOYXZpZ2F0aW9uUHJvcGVydHlcIi5cbiAqXG4gKiBAcGFyYW0gcHJvcGVydHkgQSB0YXJnZXQgcHJvcGVydHkgdG8gZXZhbHVhdGVcbiAqIEByZXR1cm5zIFZhbGlkYXRlIHRoYXQgcHJvcGVydHkgaXMgYSBOYXZpZ2F0aW9uUHJvcGVydHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTmF2aWdhdGlvblByb3BlcnR5KHByb3BlcnR5OiBhbnkpOiBwcm9wZXJ0eSBpcyBOYXZpZ2F0aW9uUHJvcGVydHkge1xuXHRyZXR1cm4gKFxuXHRcdHByb3BlcnR5ICYmXG5cdFx0KHByb3BlcnR5IGFzIE5hdmlnYXRpb25Qcm9wZXJ0eSkuaGFzT3duUHJvcGVydHkoXCJfdHlwZVwiKSAmJlxuXHRcdChwcm9wZXJ0eSBhcyBOYXZpZ2F0aW9uUHJvcGVydHkpLl90eXBlID09PSBcIk5hdmlnYXRpb25Qcm9wZXJ0eVwiXG5cdCk7XG59XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIHRoZSBDb3JlLkltbXV0YWJsZSBhbm5vdGF0aW9uIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCdzIGltbXV0YWJsZVxuICovXG5leHBvcnQgY29uc3QgaXNJbW11dGFibGUgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvcmU/LkltbXV0YWJsZT8udmFsdWVPZigpO1xufTtcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBpcyBhIGtleSBvciBub3QuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQncyBhIGtleVxuICovXG5leHBvcnQgY29uc3QgaXNLZXkgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFvUHJvcGVydHkuaXNLZXk7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGlzIGEgc2VtYW50aWNLZXkgZm9yIHRoZSBjb250ZXh0IGVudGl0eS5cbiAqXG4gKiBAcGFyYW0gcHJvcGVydHlcbiAqIEBwYXJhbSBjb250ZXh0RGF0YU1vZGVsT2JqZWN0IFRoZSBEYXRhTW9kZWxPYmplY3QgdGhhdCBob2xkcyB0aGUgY29udGV4dFxuICogQHJldHVybnMgYHRydWVgaWYgaXQncyBhIHNlbWFudGljIGtleVxuICovXG5leHBvcnQgY29uc3QgaXNTZW1hbnRpY0tleSA9IGZ1bmN0aW9uIChwcm9wZXJ0eTogUHJvcGVydHksIGNvbnRleHREYXRhTW9kZWxPYmplY3Q6IERhdGFNb2RlbE9iamVjdFBhdGgpIHtcblx0Y29uc3Qgc2VtYW50aWNLZXlzID0gY29udGV4dERhdGFNb2RlbE9iamVjdC5jb250ZXh0TG9jYXRpb24/LnRhcmdldEVudGl0eVR5cGU/LmFubm90YXRpb25zPy5Db21tb24/LlNlbWFudGljS2V5O1xuXHRyZXR1cm4gKFxuXHRcdHNlbWFudGljS2V5cz8uc29tZShmdW5jdGlvbiAoa2V5KSB7XG5cdFx0XHRyZXR1cm4ga2V5Py4kdGFyZ2V0Py5mdWxseVF1YWxpZmllZE5hbWUgPT09IHByb3BlcnR5LmZ1bGx5UXVhbGlmaWVkTmFtZTtcblx0XHR9KSA/PyBmYWxzZVxuXHQpO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaGFzIGEgZGF0ZSB0aW1lIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5XG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaXMgb2YgdHlwZSBkYXRlIC8gZGF0ZXRpbWUgLyBkYXRldGltZW9mZnNldFxuICovXG5leHBvcnQgY29uc3QgaGFzRGF0ZVR5cGUgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gW1wiRWRtLkRhdGVcIiwgXCJFZG0uRGF0ZVRpbWVcIiwgXCJFZG0uRGF0ZVRpbWVPZmZzZXRcIl0uaW5kZXhPZihvUHJvcGVydHkudHlwZSkgIT09IC0xO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZSB0aGUgbGFiZWwgYW5ub3RhdGlvbi5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIFRoZSBsYWJlbCBzdHJpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IGdldExhYmVsID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBzdHJpbmcge1xuXHRyZXR1cm4gb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LkxhYmVsPy50b1N0cmluZygpIHx8IFwiXCI7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIHNlbWFudGljIG9iamVjdCBkZWZpbmVkIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gcHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGhhcyBhIHNlbWFudGljIG9iamVjdFxuICovXG5leHBvcnQgY29uc3QgaGFzU2VtYW50aWNPYmplY3QgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiBTZW1hbnRpY09iamVjdEhlbHBlci5oYXNTZW1hbnRpY09iamVjdChwcm9wZXJ0eSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNQYXRoRXhwcmVzc2lvbiA9IGZ1bmN0aW9uIDxUPihleHByZXNzaW9uOiBhbnkpOiBleHByZXNzaW9uIGlzIFBhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbjxUPiB7XG5cdHJldHVybiAhIWV4cHJlc3Npb24gJiYgZXhwcmVzc2lvbi50eXBlICE9PSB1bmRlZmluZWQgJiYgZXhwcmVzc2lvbi50eXBlID09PSBcIlBhdGhcIjtcbn07XG5leHBvcnQgY29uc3QgaXNQcm9wZXJ0eVBhdGhFeHByZXNzaW9uID0gZnVuY3Rpb24gKGV4cHJlc3Npb246IGFueSk6IGV4cHJlc3Npb24gaXMgUHJvcGVydHlQYXRoIHtcblx0cmV0dXJuICEhZXhwcmVzc2lvbiAmJiBleHByZXNzaW9uLnR5cGUgIT09IHVuZGVmaW5lZCAmJiBleHByZXNzaW9uLnR5cGUgPT09IFwiUHJvcGVydHlQYXRoXCI7XG59O1xuZXhwb3J0IGNvbnN0IGlzQW5ub3RhdGlvblBhdGhFeHByZXNzaW9uID0gZnVuY3Rpb24gPFQ+KGV4cHJlc3Npb246IGFueSk6IGV4cHJlc3Npb24gaXMgUGF0aEFubm90YXRpb25FeHByZXNzaW9uPFQ+IHtcblx0cmV0dXJuICEhZXhwcmVzc2lvbiAmJiBleHByZXNzaW9uLnR5cGUgIT09IHVuZGVmaW5lZCAmJiBleHByZXNzaW9uLnR5cGUgPT09IFwiQW5ub3RhdGlvblBhdGhcIjtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSB0aW1lem9uZSBwcm9wZXJ0eSBhc3NvY2lhdGVkIHRvIHRoZSBwcm9wZXJ0eSwgaWYgYXBwbGljYWJsZS5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIFRoZSB0aW1lem9uZSBwcm9wZXJ0eSwgaWYgaXQgZXhpc3RzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBc3NvY2lhdGVkVGltZXpvbmVQcm9wZXJ0eSA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogUHJvcGVydHkgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoRXhwcmVzc2lvbihvUHJvcGVydHk/LmFubm90YXRpb25zPy5Db21tb24/LlRpbWV6b25lKVxuXHRcdD8gKG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UaW1lem9uZS4kdGFyZ2V0IGFzIHVua25vd24gYXMgUHJvcGVydHkpXG5cdFx0OiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgdGltZXpvbmUgcHJvcGVydHkgcGF0aCBhc3NvY2lhdGVkIHRvIHRoZSBwcm9wZXJ0eSwgaWYgYXBwbGljYWJsZS5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIFRoZSB0aW1lem9uZSBwcm9wZXJ0eSBwYXRoLCBpZiBpdCBleGlzdHNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRUaW1lem9uZVByb3BlcnR5UGF0aCA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGlzUGF0aEV4cHJlc3Npb24ob1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UaW1lem9uZSkgPyBvUHJvcGVydHk/LmFubm90YXRpb25zPy5Db21tb24/LlRpbWV6b25lPy5wYXRoIDogdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGFzc29jaWF0ZWQgdGV4dCBwcm9wZXJ0eSBmb3IgdGhhdCBwcm9wZXJ0eSwgaWYgaXQgZXhpc3RzLlxuICpcbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIHRleHQgcHJvcGVydHksIGlmIGl0IGV4aXN0c1xuICovXG5leHBvcnQgY29uc3QgZ2V0QXNzb2NpYXRlZFRleHRQcm9wZXJ0eSA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogUHJvcGVydHkgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoRXhwcmVzc2lvbihvUHJvcGVydHk/LmFubm90YXRpb25zPy5Db21tb24/LlRleHQpXG5cdFx0PyAob1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlRleHQuJHRhcmdldCBhcyB1bmtub3duIGFzIFByb3BlcnR5KVxuXHRcdDogdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHVuaXQgcHJvcGVydHkgYXNzb2NpYXRlZCB0byB0aGUgcHJvcGVydHksIGlmIGFwcGxpY2FibGUuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBUaGUgdW5pdCBwcm9wZXJ0eSwgaWYgaXQgZXhpc3RzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBc3NvY2lhdGVkVW5pdFByb3BlcnR5ID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBQcm9wZXJ0eSB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBpc1BhdGhFeHByZXNzaW9uKG9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5Vbml0KVxuXHRcdD8gKG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQuJHRhcmdldCBhcyB1bmtub3duIGFzIFByb3BlcnR5KVxuXHRcdDogdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRVbml0UHJvcGVydHlQYXRoID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoRXhwcmVzc2lvbihvUHJvcGVydHk/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdCkgPyBvUHJvcGVydHkuYW5ub3RhdGlvbnM/Lk1lYXN1cmVzPy5Vbml0LnBhdGggOiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYXNzb2NpYXRlZCBjdXJyZW5jeSBwcm9wZXJ0eSBmb3IgdGhhdCBwcm9wZXJ0eSBpZiBpdCBleGlzdHMuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBUaGUgdW5pdCBwcm9wZXJ0eSwgaWYgaXQgZXhpc3RzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBc3NvY2lhdGVkQ3VycmVuY3lQcm9wZXJ0eSA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogUHJvcGVydHkgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoRXhwcmVzc2lvbihvUHJvcGVydHk/LmFubm90YXRpb25zPy5NZWFzdXJlcz8uSVNPQ3VycmVuY3kpXG5cdFx0PyAob1Byb3BlcnR5LmFubm90YXRpb25zPy5NZWFzdXJlcz8uSVNPQ3VycmVuY3kuJHRhcmdldCBhcyB1bmtub3duIGFzIFByb3BlcnR5KVxuXHRcdDogdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRDdXJyZW5jeVByb3BlcnR5UGF0aCA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGlzUGF0aEV4cHJlc3Npb24ob1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5KSA/IG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5LnBhdGggOiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgQ29tbW9uLlRleHQgcHJvcGVydHkgcGF0aCBpZiBpdCBleGlzdHMuXG4gKlxuICogQHBhcmFtIG9Qcm9wZXJ0eSBUaGUgdGFyZ2V0IHByb3BlcnR5XG4gKiBAcmV0dXJucyBUaGUgQ29tbW9uLlRleHQgcHJvcGVydHkgcGF0aCBvciB1bmRlZmluZWQgaWYgaXQgZG9lcyBub3QgZXhpc3RcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFzc29jaWF0ZWRUZXh0UHJvcGVydHlQYXRoID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gaXNQYXRoRXhwcmVzc2lvbihvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dCkgPyBvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dC5wYXRoIDogdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgYSB2YWx1ZSBoZWxwIGFubm90YXRpb24gZGVmaW5lZCBvciBub3QuXG4gKlxuICogQHBhcmFtIHByb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHkgdG8gYmUgY2hlY2tlZFxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGhhcyBhIHZhbHVlIGhlbHBcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1ZhbHVlSGVscCA9IGZ1bmN0aW9uIChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIChcblx0XHQhIXByb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlZhbHVlTGlzdCB8fFxuXHRcdCEhcHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0UmVmZXJlbmNlcyB8fFxuXHRcdCEhcHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzIHx8XG5cdFx0ISFwcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5WYWx1ZUxpc3RNYXBwaW5nXG5cdCk7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIHZhbHVlIGhlbHAgd2l0aCBmaXhlZCB2YWx1ZSBhbm5vdGF0aW9uIGRlZmluZWQgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBvUHJvcGVydHkgVGhlIHRhcmdldCBwcm9wZXJ0eVxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGhhcyBhIHZhbHVlIGhlbHBcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1ZhbHVlSGVscFdpdGhGaXhlZFZhbHVlcyA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiAhIW9Qcm9wZXJ0eT8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzPy52YWx1ZU9mKCk7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIHZhbHVlIGhlbHAgZm9yIHZhbGlkYXRpb24gYW5ub3RhdGlvbiBkZWZpbmVkIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSB0YXJnZXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBoYXMgYSB2YWx1ZSBoZWxwXG4gKi9cbmV4cG9ydCBjb25zdCBoYXNWYWx1ZUxpc3RGb3JWYWxpZGF0aW9uID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5WYWx1ZUxpc3RGb3JWYWxpZGF0aW9uICE9PSB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgaGFzVGltZXpvbmUgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gb1Byb3BlcnR5LmFubm90YXRpb25zPy5Db21tb24/LlRpbWV6b25lICE9PSB1bmRlZmluZWQ7XG59O1xuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaXMgYSB1bml0IHByb3BlcnR5LlxuICpcbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gYmUgY2hlY2tlZFxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGlzIGEgdW5pdFxuICovXG5leHBvcnQgY29uc3QgaXNVbml0ID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFwcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5Jc1VuaXQ/LnZhbHVlT2YoKTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIHByb3BlcnR5IGhhcyBhIHRleHQgcHJvcGVydHkuXG4gKlxuICogQHBhcmFtIHByb3BlcnR5IFRoZSBwcm9wZXJ0eSB0byBiZSBjaGVja2VkXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaXMgYSBUZXh0XG4gKi9cbmV4cG9ydCBjb25zdCBoYXNUZXh0ID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gISFwcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UZXh0Py52YWx1ZU9mKCk7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgYW4gSW1hZ2VVUkwuXG4gKlxuICogQHBhcmFtIHByb3BlcnR5IFRoZSBwcm9wZXJ0eSB0byBiZSBjaGVja2VkXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaXMgYW4gSW1hZ2VVUkxcbiAqL1xuZXhwb3J0IGNvbnN0IGlzSW1hZ2VVUkwgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiAhIXByb3BlcnR5LmFubm90YXRpb25zPy5VST8uSXNJbWFnZVVSTD8udmFsdWVPZigpO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgaXMgYSBjdXJyZW5jeSBwcm9wZXJ0eS5cbiAqXG4gKiBAcGFyYW0gb1Byb3BlcnR5IFRoZSBwcm9wZXJ0eSB0byBiZSBjaGVja2VkXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaXMgYSBjdXJyZW5jeVxuICovXG5leHBvcnQgY29uc3QgaXNDdXJyZW5jeSA9IGZ1bmN0aW9uIChvUHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiAhIW9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5Jc0N1cnJlbmN5Py52YWx1ZU9mKCk7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgYSBjdXJyZW5jeSBwcm9wZXJ0eS5cbiAqXG4gKiBAcGFyYW0gcHJvcGVydHkgVGhlIHByb3BlcnR5IHRvIGJlIGNoZWNrZWRcbiAqIEByZXR1cm5zIGB0cnVlYCBpZiBpdCBoYXMgYSBjdXJyZW5jeVxuICovXG5leHBvcnQgY29uc3QgaGFzQ3VycmVuY3kgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiBwcm9wZXJ0eS5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LklTT0N1cnJlbmN5ICE9PSB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBoYXMgYSB1bml0IHByb3BlcnR5LlxuICpcbiAqIEBwYXJhbSBwcm9wZXJ0eSBUaGUgcHJvcGVydHkgdG8gYmUgY2hlY2tlZFxuICogQHJldHVybnMgYHRydWVgIGlmIGl0IGhhcyBhIHVuaXRcbiAqL1xuXG5leHBvcnQgY29uc3QgaGFzVW5pdCA9IGZ1bmN0aW9uIChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuIHtcblx0cmV0dXJuIHByb3BlcnR5LmFubm90YXRpb25zPy5NZWFzdXJlcz8uVW5pdCAhPT0gdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcHJvcGVydHkgdHlwZSBoYXMgRWRtLkd1aWQuXG4gKlxuICogQHBhcmFtIHByb3BlcnR5IFRoZSBwcm9wZXJ0eSB0byBiZSBjaGVja2VkXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgaXQgaXMgYSBHdWlkXG4gKi9cbmV4cG9ydCBjb25zdCBpc0d1aWQgPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiBwcm9wZXJ0eS50eXBlID09PSBcIkVkbS5HdWlkXCI7XG59O1xuXG5leHBvcnQgY29uc3QgaGFzU3RhdGljUGVyY2VudFVuaXQgPSBmdW5jdGlvbiAob1Byb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gb1Byb3BlcnR5Py5hbm5vdGF0aW9ucz8uTWVhc3VyZXM/LlVuaXQ/LnRvU3RyaW5nKCkgPT09IFwiJVwiO1xufTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7RUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDTyxTQUFTQSxVQUFVLENBQUNDLFFBQWEsRUFBd0I7SUFDL0QsT0FBT0EsUUFBUSxJQUFLQSxRQUFRLENBQWNDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBS0QsUUFBUSxDQUFjRSxLQUFLLEtBQUssVUFBVTtFQUNqSDs7RUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFMQTtFQU1PLE1BQU1DLFVBQVUsR0FBRyxVQUFVQyxTQUFtQixFQUFXO0lBQUE7SUFDakUsT0FBTyxDQUFDLDJCQUFDQSxTQUFTLENBQUNDLFdBQVcsNEVBQXJCLHNCQUF1QkMsSUFBSSw2RUFBM0IsdUJBQTZCQyxRQUFRLG1EQUFyQyx1QkFBdUNDLE9BQU8sRUFBRTtFQUMxRCxDQUFDOztFQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUxBO0VBTU8sU0FBU0Msb0JBQW9CLENBQUNULFFBQWEsRUFBa0M7SUFDbkYsT0FDQ0EsUUFBUSxJQUNQQSxRQUFRLENBQXdCQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQ3ZERCxRQUFRLENBQXdCRSxLQUFLLEtBQUssb0JBQW9C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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NavigationProperty, PathAnnotationExpression, Property } from "@sap-ux/vocabularies-types";
|
|
1
|
+
import type { NavigationProperty, PathAnnotationExpression, Property, PropertyPath } from "@sap-ux/vocabularies-types";
|
|
2
2
|
import type { DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
|
|
3
3
|
import * as SemanticObjectHelper from "sap/fe/core/templating/SemanticObjectHelper";
|
|
4
4
|
|
|
@@ -105,7 +105,7 @@ export const hasSemanticObject = function (property: Property): boolean {
|
|
|
105
105
|
export const isPathExpression = function <T>(expression: any): expression is PathAnnotationExpression<T> {
|
|
106
106
|
return !!expression && expression.type !== undefined && expression.type === "Path";
|
|
107
107
|
};
|
|
108
|
-
export const isPropertyPathExpression = function
|
|
108
|
+
export const isPropertyPathExpression = function (expression: any): expression is PropertyPath {
|
|
109
109
|
return !!expression && expression.type !== undefined && expression.type === "PropertyPath";
|
|
110
110
|
};
|
|
111
111
|
export const isAnnotationPathExpression = function <T>(expression: any): expression is PathAnnotationExpression<T> {
|