@sapui5/sap.fe.core 1.102.3 → 1.105.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 +6 -6
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/ActionRuntime.js +120 -0
- package/src/sap/fe/core/ActionRuntime.ts +108 -0
- package/src/sap/fe/core/AppComponent.js +81 -35
- package/src/sap/fe/core/AppComponent.ts +68 -44
- package/src/sap/fe/core/AppStateHandler.js +82 -70
- package/src/sap/fe/core/AppStateHandler.ts +32 -37
- package/src/sap/fe/core/BaseController.js +12 -10
- package/src/sap/fe/core/BaseController.ts +15 -13
- package/src/sap/fe/core/CommonUtils.js +291 -218
- package/src/sap/fe/core/CommonUtils.ts +315 -251
- package/src/sap/fe/core/ExtensionAPI.js +25 -28
- package/src/sap/fe/core/ExtensionAPI.ts +36 -38
- package/src/sap/fe/core/PageController.js +5 -5
- package/src/sap/fe/core/PageController.ts +4 -5
- package/src/sap/fe/core/TemplateComponent.js +21 -10
- package/src/sap/fe/core/TemplateComponent.ts +9 -6
- package/src/sap/fe/core/TemplateModel.js +2 -2
- package/src/sap/fe/core/TemplateModel.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +11 -3
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +8 -2
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +197 -43
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +164 -24
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js +14 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.ts +5 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +609 -230
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +275 -128
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +30 -30
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +32 -29
- package/src/sap/fe/core/controllerextensions/BusyLocker.js +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.js +761 -700
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +478 -514
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +10 -10
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +10 -10
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +104 -75
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +71 -79
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +68 -68
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +76 -76
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +162 -102
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +177 -121
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +67 -69
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +106 -123
- package/src/sap/fe/core/controllerextensions/MassEdit.js +10 -10
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +20 -27
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +21 -13
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +21 -14
- package/src/sap/fe/core/controllerextensions/PageReady.js +98 -26
- package/src/sap/fe/core/controllerextensions/PageReady.ts +98 -34
- package/src/sap/fe/core/controllerextensions/Paginator.js +31 -32
- package/src/sap/fe/core/controllerextensions/Paginator.ts +33 -34
- package/src/sap/fe/core/controllerextensions/Placeholder.js +5 -7
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +12 -14
- package/src/sap/fe/core/controllerextensions/Routing.js +11 -12
- package/src/sap/fe/core/controllerextensions/Routing.ts +12 -13
- package/src/sap/fe/core/controllerextensions/RoutingListener.js +1 -1
- package/src/sap/fe/core/controllerextensions/Share.js +171 -140
- package/src/sap/fe/core/controllerextensions/Share.ts +117 -118
- package/src/sap/fe/core/controllerextensions/SideEffects.js +47 -51
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +56 -60
- package/src/sap/fe/core/controllerextensions/ViewState.js +201 -132
- package/src/sap/fe/core/controllerextensions/ViewState.ts +141 -148
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +8 -7
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +13 -12
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +17 -20
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +13 -12
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +15 -15
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +57 -18
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +60 -28
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +29 -21
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1424 -940
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +799 -836
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +410 -377
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +275 -358
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +309 -0
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +320 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +752 -579
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +631 -599
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +92 -74
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +49 -52
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +78 -41
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +110 -84
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +69 -81
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +64 -73
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +18 -2
- package/src/sap/fe/core/controls/ActionParameterDialogFieldValueHelp.fragment.xml +35 -0
- package/src/sap/fe/core/controls/ActionParameterDialogValueHelp.fragment.xml +25 -24
- package/src/sap/fe/core/controls/Any.js +9 -5
- package/src/sap/fe/core/controls/Any.ts +10 -4
- package/src/sap/fe/core/controls/CommandExecution.js +12 -26
- package/src/sap/fe/core/controls/CommandExecution.ts +11 -25
- package/src/sap/fe/core/controls/ConditionalWrapper.js +3 -3
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +3 -3
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +26 -26
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +25 -24
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +3 -3
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +2 -2
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -3
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +5 -5
- package/src/sap/fe/core/controls/FieldWrapper.js +3 -3
- package/src/sap/fe/core/controls/FieldWrapper.ts +3 -3
- package/src/sap/fe/core/controls/FileWrapper.js +9 -4
- package/src/sap/fe/core/controls/FileWrapper.ts +16 -12
- package/src/sap/fe/core/controls/FilterBar.js +7 -3
- package/src/sap/fe/core/controls/FilterBar.ts +13 -9
- package/src/sap/fe/core/controls/FormElementWrapper.js +2 -2
- package/src/sap/fe/core/controls/FormElementWrapper.ts +2 -2
- package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
- package/src/sap/fe/core/controls/MassEditSelect.ts +0 -4
- package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +1 -1
- package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +44 -19
- package/src/sap/fe/core/controls/filterbar/FilterContainer.js +2 -2
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +17 -13
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +20 -22
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +4 -4
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +8 -8
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +49 -49
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +54 -54
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +8 -2
- package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +22 -35
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +89 -88
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +107 -106
- package/src/sap/fe/core/converters/ConverterContext.js +48 -34
- package/src/sap/fe/core/converters/ConverterContext.ts +81 -67
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +18 -15
- package/src/sap/fe/core/converters/ManifestWrapper.js +59 -45
- package/src/sap/fe/core/converters/ManifestWrapper.ts +55 -45
- package/src/sap/fe/core/converters/MetaModelConverter.js +74 -40
- package/src/sap/fe/core/converters/MetaModelConverter.ts +176 -140
- package/src/sap/fe/core/converters/TemplateConverter.js +21 -20
- package/src/sap/fe/core/converters/TemplateConverter.ts +27 -24
- package/src/sap/fe/core/converters/annotations/DataField.js +58 -35
- package/src/sap/fe/core/converters/annotations/DataField.ts +102 -76
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +1956 -1494
- package/src/sap/fe/core/converters/controls/Common/Action.js +78 -51
- package/src/sap/fe/core/converters/controls/Common/Action.ts +87 -52
- package/src/sap/fe/core/converters/controls/Common/Chart.js +22 -16
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +42 -43
- package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -3
- package/src/sap/fe/core/converters/controls/Common/Criticality.ts +4 -4
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +65 -29
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +93 -62
- package/src/sap/fe/core/converters/controls/Common/Form.js +31 -31
- package/src/sap/fe/core/converters/controls/Common/Form.ts +46 -57
- package/src/sap/fe/core/converters/controls/Common/KPI.js +11 -11
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +49 -52
- package/src/sap/fe/core/converters/controls/Common/Table.js +251 -264
- package/src/sap/fe/core/converters/controls/Common/Table.ts +344 -370
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +119 -119
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +147 -144
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +89 -59
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +118 -71
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +28 -26
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +46 -43
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +9 -9
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +14 -13
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +131 -95
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +123 -87
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +98 -87
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +121 -117
- package/src/sap/fe/core/converters/helpers/Aggregation.js +2 -4
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +12 -15
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +31 -31
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +30 -29
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +8 -6
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +18 -10
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +136 -0
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +139 -0
- package/src/sap/fe/core/converters/helpers/ID.js +48 -46
- package/src/sap/fe/core/converters/helpers/ID.ts +26 -25
- package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
- package/src/sap/fe/core/converters/helpers/Key.js +7 -7
- package/src/sap/fe/core/converters/helpers/Key.ts +7 -7
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +4 -5
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +6 -6
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +10 -10
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +53 -75
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +59 -90
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +58 -57
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +93 -86
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +58 -44
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +87 -80
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +4 -4
- package/src/sap/fe/core/designtime/AppComponent.designtime.ts +4 -4
- package/src/sap/fe/core/formatters/CollaborationFormatter.js +2 -2
- package/src/sap/fe/core/formatters/CollaborationFormatter.ts +3 -3
- package/src/sap/fe/core/formatters/FPMFormatter.js +5 -5
- package/src/sap/fe/core/formatters/FPMFormatter.ts +10 -10
- package/src/sap/fe/core/formatters/KPIFormatter.js +7 -7
- package/src/sap/fe/core/formatters/KPIFormatter.ts +10 -10
- package/src/sap/fe/core/formatters/StandardFormatter.js +96 -0
- package/src/sap/fe/core/formatters/StandardFormatter.ts +70 -0
- package/src/sap/fe/core/formatters/TableFormatter.js +11 -11
- package/src/sap/fe/core/formatters/TableFormatter.ts +12 -12
- package/src/sap/fe/core/formatters/TableFormatterTypes.js +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.js +8 -8
- package/src/sap/fe/core/formatters/ValueFormatter.ts +9 -9
- package/src/sap/fe/core/fpm/Component.js +33 -7
- package/src/sap/fe/core/fpm/Component.ts +14 -0
- package/src/sap/fe/core/helpers/AnnotationEnum.js +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.js +19 -18
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +41 -43
- package/src/sap/fe/core/helpers/BindingToolkit.js +1836 -0
- package/src/sap/fe/core/helpers/{BindingExpression.ts → BindingToolkit.ts} +397 -270
- package/src/sap/fe/core/helpers/ClassSupport.js +49 -12
- package/src/sap/fe/core/helpers/ClassSupport.ts +37 -10
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -2
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -1
- package/src/sap/fe/core/helpers/EditState.js +1 -6
- package/src/sap/fe/core/helpers/EditState.ts +5 -10
- package/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -2
- package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +4 -4
- package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
- package/src/sap/fe/core/helpers/FPMHelper.ts +2 -2
- package/src/sap/fe/core/helpers/KeepAliveHelper.js +31 -31
- package/src/sap/fe/core/helpers/KeepAliveHelper.ts +52 -56
- package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.js +306 -280
- package/src/sap/fe/core/helpers/MassEditHelper.ts +380 -360
- package/src/sap/fe/core/helpers/MessageStrip.js +81 -0
- package/src/sap/fe/core/helpers/MessageStrip.ts +79 -0
- package/src/sap/fe/core/helpers/ModelHelper.js +25 -25
- package/src/sap/fe/core/helpers/ModelHelper.ts +34 -32
- package/src/sap/fe/core/helpers/PasteHelper.js +3 -10
- package/src/sap/fe/core/helpers/PasteHelper.ts +20 -25
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +11 -11
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -3
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +8 -8
- package/src/sap/fe/core/helpers/StableIdHelper.js +12 -12
- package/src/sap/fe/core/helpers/StableIdHelper.ts +12 -12
- package/src/sap/fe/core/helpers/Synchronization.js +1 -1
- package/src/sap/fe/core/helpers/ToES6Promise.js +32 -0
- package/src/sap/fe/core/helpers/ToES6Promise.ts +19 -0
- package/src/sap/fe/core/jsx-runtime/Fragment.js +16 -0
- package/src/sap/fe/core/jsx-runtime/Fragment.ts +3 -0
- package/src/sap/fe/core/jsx-runtime/ViewLoader.js +109 -0
- package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +47 -0
- package/src/sap/fe/core/jsx-runtime/jsx-control.js +110 -0
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +92 -0
- package/src/sap/fe/core/jsx-runtime/jsx-xml.js +105 -0
- package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +89 -0
- package/src/sap/fe/core/jsx-runtime/jsx.js +12 -90
- package/src/sap/fe/core/jsx-runtime/jsx.ts +24 -85
- package/src/sap/fe/core/jsx-runtime/jsxs.js +1 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +179 -0
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +150 -0
- package/src/sap/fe/core/library.js +42 -3
- package/src/sap/fe/core/library.support.js +1 -1
- package/src/sap/fe/core/library.ts +38 -0
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -3
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +2 -2
- package/src/sap/fe/core/messagebundle.properties +39 -67
- package/src/sap/fe/core/messagebundle_ar.properties +27 -44
- package/src/sap/fe/core/messagebundle_bg.properties +27 -44
- package/src/sap/fe/core/messagebundle_ca.properties +27 -44
- package/src/sap/fe/core/messagebundle_cs.properties +27 -44
- package/src/sap/fe/core/messagebundle_cy.properties +26 -43
- package/src/sap/fe/core/messagebundle_da.properties +27 -44
- package/src/sap/fe/core/messagebundle_de.properties +25 -42
- package/src/sap/fe/core/messagebundle_el.properties +28 -45
- package/src/sap/fe/core/messagebundle_en.properties +27 -44
- package/src/sap/fe/core/messagebundle_en_GB.properties +27 -44
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +25 -42
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +26 -40
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +25 -42
- package/src/sap/fe/core/messagebundle_es.properties +27 -44
- package/src/sap/fe/core/messagebundle_es_MX.properties +27 -44
- package/src/sap/fe/core/messagebundle_et.properties +27 -44
- package/src/sap/fe/core/messagebundle_fi.properties +27 -44
- package/src/sap/fe/core/messagebundle_fr.properties +26 -43
- package/src/sap/fe/core/messagebundle_fr_CA.properties +25 -42
- package/src/sap/fe/core/messagebundle_hi.properties +27 -44
- package/src/sap/fe/core/messagebundle_hr.properties +27 -44
- package/src/sap/fe/core/messagebundle_hu.properties +27 -44
- package/src/sap/fe/core/messagebundle_id.properties +27 -44
- package/src/sap/fe/core/messagebundle_it.properties +43 -60
- package/src/sap/fe/core/messagebundle_iw.properties +27 -44
- package/src/sap/fe/core/messagebundle_ja.properties +27 -44
- package/src/sap/fe/core/messagebundle_kk.properties +27 -44
- package/src/sap/fe/core/messagebundle_ko.properties +30 -47
- package/src/sap/fe/core/messagebundle_lt.properties +27 -44
- package/src/sap/fe/core/messagebundle_lv.properties +27 -44
- package/src/sap/fe/core/messagebundle_ms.properties +27 -44
- package/src/sap/fe/core/messagebundle_nl.properties +29 -46
- package/src/sap/fe/core/messagebundle_no.properties +27 -44
- package/src/sap/fe/core/messagebundle_pl.properties +28 -45
- package/src/sap/fe/core/messagebundle_pt.properties +28 -45
- package/src/sap/fe/core/messagebundle_pt_PT.properties +27 -44
- package/src/sap/fe/core/messagebundle_ro.properties +27 -44
- package/src/sap/fe/core/messagebundle_ru.properties +27 -44
- package/src/sap/fe/core/messagebundle_sh.properties +27 -44
- package/src/sap/fe/core/messagebundle_sk.properties +27 -44
- package/src/sap/fe/core/messagebundle_sl.properties +27 -44
- package/src/sap/fe/core/messagebundle_sv.properties +27 -44
- package/src/sap/fe/core/messagebundle_th.properties +25 -42
- package/src/sap/fe/core/messagebundle_tr.properties +27 -44
- package/src/sap/fe/core/messagebundle_uk.properties +27 -44
- package/src/sap/fe/core/messagebundle_vi.properties +27 -44
- package/src/sap/fe/core/messagebundle_zh_CN.properties +27 -44
- package/src/sap/fe/core/messagebundle_zh_TW.properties +27 -44
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +3 -3
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +5 -5
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +103 -75
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +72 -73
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +2 -2
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -2
- package/src/sap/fe/core/services/NavigationServiceFactory.js +62 -50
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +63 -52
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +3 -3
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +4 -4
- package/src/sap/fe/core/services/RoutingServiceFactory.js +56 -56
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +67 -65
- package/src/sap/fe/core/services/ShellServicesFactory.js +93 -77
- package/src/sap/fe/core/services/ShellServicesFactory.ts +95 -82
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +64 -64
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +102 -92
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +232 -200
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +145 -142
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +2 -2
- package/src/sap/fe/core/support/AnnotationIssue.support.js +1 -1
- package/src/sap/fe/core/support/CollectionFacetMissingID.support.js +1 -1
- package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +1 -1
- package/src/sap/fe/core/support/CommonHelper.js +3 -2
- package/src/sap/fe/core/support/CommonHelper.ts +9 -13
- package/src/sap/fe/core/support/Diagnostics.js +1 -1
- package/src/sap/fe/core/support/Diagnostics.ts +5 -5
- package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.js +85 -0
- package/src/sap/fe/core/templating/CommonFormatters.ts +90 -0
- package/src/sap/fe/core/templating/CriticalityFormatters.js +31 -31
- package/src/sap/fe/core/templating/CriticalityFormatters.ts +42 -40
- package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -8
- package/src/sap/fe/core/templating/DataFieldFormatters.ts +13 -10
- package/src/sap/fe/core/templating/DataModelPathHelper.js +23 -15
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +47 -34
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -3
- package/src/sap/fe/core/templating/EntitySetHelper.js +7 -7
- package/src/sap/fe/core/templating/EntitySetHelper.ts +6 -8
- package/src/sap/fe/core/templating/FieldControlHelper.js +35 -34
- package/src/sap/fe/core/templating/FieldControlHelper.ts +29 -46
- package/src/sap/fe/core/templating/FilterHelper.js +18 -17
- package/src/sap/fe/core/templating/FilterHelper.ts +18 -18
- package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.ts +3 -3
- package/src/sap/fe/core/templating/PropertyFormatters.js +7 -7
- package/src/sap/fe/core/templating/PropertyFormatters.ts +21 -19
- package/src/sap/fe/core/templating/PropertyHelper.js +25 -25
- package/src/sap/fe/core/templating/PropertyHelper.ts +25 -26
- package/src/sap/fe/core/templating/UIFormatters.js +152 -95
- package/src/sap/fe/core/templating/UIFormatters.ts +202 -128
- package/src/sap/fe/core/type/DateTimeWithTimezone.js +2 -2
- package/src/sap/fe/core/type/Email.js +3 -3
- package/src/sap/fe/core/type/Email.ts +2 -2
- package/src/sap/fe/core/helpers/BindingExpression.js +0 -1732
|
@@ -14,8 +14,8 @@ sap.ui.define([], function () {
|
|
|
14
14
|
/**
|
|
15
15
|
* Copy for the Core.isValid function to be independent.
|
|
16
16
|
*
|
|
17
|
-
* @param
|
|
18
|
-
* @returns
|
|
17
|
+
* @param vValue String to validate
|
|
18
|
+
* @returns Whether the value is valid or not
|
|
19
19
|
*/
|
|
20
20
|
function isValid(vValue) {
|
|
21
21
|
return /^([A-Za-z_][-A-Za-z0-9_.:]*)$/.test(vValue);
|
|
@@ -24,7 +24,7 @@ sap.ui.define([], function () {
|
|
|
24
24
|
function replaceSpecialChars(sId) {
|
|
25
25
|
if (sId.indexOf(" ") >= 0) {
|
|
26
26
|
// Log.error(sId + " - Spaces are not allowed in ID parts.");
|
|
27
|
-
throw sId
|
|
27
|
+
throw "".concat(sId, " - Spaces are not allowed in ID parts.");
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
sId = sId.replace(/^\/|^@|^#|^\*/, "") // remove special characters from the beginning of the string
|
|
@@ -102,8 +102,8 @@ sap.ui.define([], function () {
|
|
|
102
102
|
*
|
|
103
103
|
* Currently supported metadata context is Collection/Reference facet identified by 'Facet' key.
|
|
104
104
|
*
|
|
105
|
-
* @param
|
|
106
|
-
* @returns
|
|
105
|
+
* @param aStableIdParts Array of strings and objects
|
|
106
|
+
* @returns Stable Id constructed from the provided parameters
|
|
107
107
|
*/
|
|
108
108
|
|
|
109
109
|
|
|
@@ -173,9 +173,9 @@ sap.ui.define([], function () {
|
|
|
173
173
|
}
|
|
174
174
|
|
|
175
175
|
if (typeof oDataField.Action == "string") {
|
|
176
|
-
sIdPart += "::"
|
|
176
|
+
sIdPart += "::".concat(oDataField.Action);
|
|
177
177
|
} else if (oDataField.Action && oDataField.Action.$Path) {
|
|
178
|
-
sIdPart += "::"
|
|
178
|
+
sIdPart += "::".concat(oDataField.Action.$Path);
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
if (oDataField["RequiresContext"] && oDataField["RequiresContext"] == true) {
|
|
@@ -207,7 +207,7 @@ sap.ui.define([], function () {
|
|
|
207
207
|
sIdPart = "DataFieldWithAction::";
|
|
208
208
|
|
|
209
209
|
if (oDataField.Value) {
|
|
210
|
-
sIdPart += getStableIdPartFromValue(oDataField.Value)
|
|
210
|
+
sIdPart += "".concat(getStableIdPartFromValue(oDataField.Value), "::");
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
sIdPart += oDataField.Action;
|
|
@@ -218,7 +218,7 @@ sap.ui.define([], function () {
|
|
|
218
218
|
return prepareId(sIdPart);
|
|
219
219
|
} else if (oDataField.$Type && oDataField.$Type === "com.sap.vocabularies.UI.v1.DataFieldWithIntentBasedNavigation") {
|
|
220
220
|
sIdPart = "DataFieldWithIntentBasedNavigation::";
|
|
221
|
-
sIdPart += getStableIdPartFromValue(oDataField.Value)
|
|
221
|
+
sIdPart += "".concat(getStableIdPartFromValue(oDataField.Value), "::");
|
|
222
222
|
sIdPart += getStableIdPartFromSemanticObjectAndAction(oDataField);
|
|
223
223
|
return prepareId(sIdPart);
|
|
224
224
|
} else if (oDataField.$Type && oDataField.$Type === "com.sap.vocabularies.UI.v1.DataFieldWithNavigationPath") {
|
|
@@ -226,7 +226,7 @@ sap.ui.define([], function () {
|
|
|
226
226
|
sIdPart += getStableIdPartFromValue(oDataField.Value);
|
|
227
227
|
|
|
228
228
|
if (oDataField.Target && oDataField.Target["$NavigationPropertyPath"]) {
|
|
229
|
-
sIdPart += "::"
|
|
229
|
+
sIdPart += "::".concat(oDataField.Target["$NavigationPropertyPath"]);
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
return prepareId(sIdPart);
|
|
@@ -253,11 +253,11 @@ sap.ui.define([], function () {
|
|
|
253
253
|
return sId;
|
|
254
254
|
} else {
|
|
255
255
|
// Log.error(sId + " - Stable Id could not be generated due to insufficient information.");
|
|
256
|
-
throw sId
|
|
256
|
+
throw "".concat(sId, " - Stable Id could not be generated due to insufficient information.");
|
|
257
257
|
}
|
|
258
258
|
};
|
|
259
259
|
|
|
260
260
|
_exports.prepareId = prepareId;
|
|
261
261
|
return _exports;
|
|
262
262
|
}, false);
|
|
263
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN0YWJsZUlkSGVscGVyLnRzIl0sIm5hbWVzIjpbImlzVmFsaWQiLCJ2VmFsdWUiLCJ0ZXN0IiwicmVwbGFjZVNwZWNpYWxDaGFycyIsInNJZCIsImluZGV4T2YiLCJyZXBsYWNlIiwic2xpY2UiLCJyZW1vdmVOYW1lc3BhY2VzIiwiZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlIiwib1ZhbHVlIiwiJFBhdGgiLCJwYXRoIiwiJEFwcGx5IiwiJEZ1bmN0aW9uIiwic1BhdGhDb25jYXQiLCJpIiwibGVuZ3RoIiwiZ2VuZXJhdGUiLCJhU3RhYmxlSWRQYXJ0cyIsInNTdGFibGVJZCIsInZFbGVtZW50Iiwic0ZhY2V0SWQiLCJGYWNldCIsIiRUeXBlIiwiSUQiLCJUYXJnZXQiLCIkQW5ub3RhdGlvblBhdGgiLCJ2YWx1ZSIsIkxhYmVsIiwiZ2V0U3RhYmxlSWRQYXJ0RnJvbURhdGFGaWVsZCIsInByZXBhcmVJZCIsImdldFN0YWJsZUlkUGFydEZyb21TZW1hbnRpY09iamVjdEFuZEFjdGlvbiIsIm9EYXRhRmllbGQiLCJzSWRQYXJ0IiwiU2VtYW50aWNPYmplY3QiLCJBY3Rpb24iLCJtUGFyYW1ldGVyIiwiVmFsdWUiLCJjb250ZXh0IiwiZ2V0T2JqZWN0IiwidG9TdHJpbmciLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7OztBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFTQSxPQUFULENBQWlCQyxNQUFqQixFQUFpQztBQUNoQyxXQUFPLGdDQUFnQ0MsSUFBaEMsQ0FBcUNELE1BQXJDLENBQVA7QUFDQTs7QUFFTSxXQUFTRSxtQkFBVCxDQUE2QkMsR0FBN0IsRUFBMEM7QUFDaEQsUUFBSUEsR0FBRyxDQUFDQyxPQUFKLENBQVksR0FBWixLQUFvQixDQUF4QixFQUEyQjtBQUMxQjtBQUNBLFlBQU1ELEdBQUcsR0FBRyx3Q0FBWjtBQUNBOztBQUNEQSxJQUFBQSxHQUFHLEdBQUdBLEdBQUcsQ0FDUEUsT0FESSxDQUNJLGVBREosRUFDcUIsRUFEckIsRUFDeUI7QUFEekIsS0FFSkEsT0FGSSxDQUVJLGVBRkosRUFFcUIsRUFGckIsRUFFeUI7QUFGekIsS0FHSkEsT0FISSxDQUdJLGtCQUhKLEVBR3dCLElBSHhCLENBQU4sQ0FMZ0QsQ0FRWDtBQUVyQzs7QUFDQSxXQUFPRixHQUFHLENBQUNDLE9BQUosQ0FBWSxNQUFaLElBQXNCLENBQUMsQ0FBOUIsRUFBaUM7QUFDaENELE1BQUFBLEdBQUcsR0FBR0EsR0FBRyxDQUFDRSxPQUFKLENBQVksTUFBWixFQUFvQixJQUFwQixDQUFOO0FBQ0EsS0FiK0MsQ0FlaEQ7OztBQUNBLFFBQUlGLEdBQUcsQ0FBQ0csS0FBSixDQUFVLENBQUMsQ0FBWCxLQUFpQixJQUFyQixFQUEyQjtBQUMxQkgsTUFBQUEsR0FBRyxHQUFHQSxHQUFHLENBQUNHLEtBQUosQ0FBVSxDQUFWLEVBQWEsQ0FBQyxDQUFkLENBQU47QUFDQTs7QUFFRCxXQUFPSCxHQUFQO0FBQ0E7Ozs7QUFFRCxXQUFTSSxnQkFBVCxDQUEwQkosR0FBMUIsRUFBdUM7QUFDdENBLElBQUFBLEdBQUcsR0FBR0EsR0FBRyxDQUFDRSxPQUFKLENBQVksNkJBQVosRUFBMkMsRUFBM0MsQ0FBTjtBQUNBRixJQUFBQSxHQUFHLEdBQUdBLEdBQUcsQ0FBQ0UsT0FBSixDQUFZLHdDQUFaLEVBQXNELEVBQXRELENBQU47QUFDQSxXQUFPRixHQUFQO0FBQ0E7O0FBRUQsV0FBU0ssd0JBQVQsQ0FBa0NDLE1BQWxDLEVBQStDO0FBQzlDLFFBQUtBLE1BQU0sSUFBSUEsTUFBTSxDQUFDQyxLQUFsQixJQUE0QkQsTUFBTSxDQUFDRSxJQUF2QyxFQUE2QztBQUM1QyxhQUFPRixNQUFNLENBQUNDLEtBQVAsSUFBZ0JELE1BQU0sQ0FBQ0UsSUFBOUI7QUFDQTs7QUFFRCxRQUFJRixNQUFNLElBQUlBLE1BQU0sQ0FBQ0csTUFBakIsSUFBMkJILE1BQU0sQ0FBQ0ksU0FBUCxLQUFxQixjQUFwRCxFQUFvRTtBQUNuRSxVQUFJQyxXQUFXLEdBQUcsRUFBbEI7O0FBQ0EsV0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHTixNQUFNLENBQUNHLE1BQVAsQ0FBY0ksTUFBbEMsRUFBMENELENBQUMsRUFBM0MsRUFBK0M7QUFDOUMsWUFBSU4sTUFBTSxDQUFDRyxNQUFQLENBQWNHLENBQWQsRUFBaUJMLEtBQXJCLEVBQTRCO0FBQzNCLGNBQUlJLFdBQUosRUFBaUI7QUFDaEJBLFlBQUFBLFdBQVcsSUFBSSxJQUFmO0FBQ0E7O0FBQ0RBLFVBQUFBLFdBQVcsSUFBSUwsTUFBTSxDQUFDRyxNQUFQLENBQWNHLENBQWQsRUFBaUJMLEtBQWhDO0FBQ0E7QUFDRDs7QUFDRCxhQUFPSSxXQUFQO0FBQ0E7O0FBRUQsUUFBSUwsTUFBSixFQUFZO0FBQ1gsYUFBT1AsbUJBQW1CLENBQUNPLE1BQU0sQ0FBQ0osT0FBUCxDQUFlLElBQWYsRUFBcUIsR0FBckIsQ0FBRCxDQUExQjtBQUNBO0FBQ0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sTUFBTVksUUFBUSxHQUFHLFVBQVVDLGNBQVYsRUFBa0Q7QUFDekUsUUFBSUMsU0FBUyxHQUFHLEVBQWhCO0FBQUEsUUFDQ0MsUUFERDtBQUFBLFFBRUNDLFFBRkQ7O0FBSUEsU0FBSyxJQUFJTixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHRyxjQUFjLENBQUNGLE1BQW5DLEVBQTJDRCxDQUFDLEVBQTVDLEVBQWdEO0FBQy9DSyxNQUFBQSxRQUFRLEdBQUdGLGNBQWMsQ0FBQ0gsQ0FBRCxDQUF6Qjs7QUFDQSxVQUFJLENBQUNLLFFBQUwsRUFBZTtBQUNkO0FBQ0E7O0FBQ0RELE1BQUFBLFNBQVMsSUFBSUEsU0FBUyxLQUFLLEVBQWQsR0FBbUIsSUFBbkIsR0FBMEIsRUFBdkM7O0FBQ0EsVUFBSUMsUUFBUSxDQUFDLE9BQUQsQ0FBUixJQUFxQkEsUUFBUSxDQUFDLE9BQUQsQ0FBUixDQUFrQixPQUFsQixDQUFyQixJQUFtREEsUUFBUSxDQUFDLE9BQUQsQ0FBUixDQUFrQixPQUFsQixLQUE4Qiw0Q0FBckYsRUFBbUk7QUFDbElELFFBQUFBLFNBQVMsSUFBSUMsUUFBUSxDQUFDLE9BQUQsQ0FBUixDQUFrQixJQUFsQixDQUFiO0FBQ0EsT0FGRCxNQUVPLElBQUksT0FBT0EsUUFBUCxLQUFvQixRQUF4QixFQUFrQztBQUN4QyxZQUFJQSxRQUFKLEVBQWM7QUFDYkQsVUFBQUEsU0FBUyxJQUFJQyxRQUFiO0FBQ0E7QUFDRCxPQUpNLE1BSUEsSUFBSSxPQUFPQSxRQUFQLEtBQW9CLFFBQXhCLEVBQWtDO0FBQ3hDO0FBQ0EsWUFBSUEsUUFBUSxJQUFJQSxRQUFRLENBQUNFLEtBQXpCLEVBQWdDO0FBQy9CLGNBQUlGLFFBQVEsQ0FBQ0UsS0FBVCxDQUFlQyxLQUFmLElBQXdCSCxRQUFRLENBQUNFLEtBQVQsQ0FBZUMsS0FBZixLQUF5Qiw0Q0FBckQsRUFBbUc7QUFDbEcsZ0JBQUlILFFBQVEsQ0FBQ0UsS0FBVCxDQUFlRSxFQUFuQixFQUF1QjtBQUN0QkgsY0FBQUEsUUFBUSxHQUFHRCxRQUFRLENBQUNFLEtBQVQsQ0FBZUUsRUFBMUI7QUFDQTtBQUNELFdBSkQsTUFJTyxJQUFJSixRQUFRLENBQUNFLEtBQVQsQ0FBZUMsS0FBZixJQUF3QkgsUUFBUSxDQUFDRSxLQUFULENBQWVDLEtBQWYsS0FBeUIsMkNBQXJELEVBQWtHO0FBQ3hHLGdCQUFJSCxRQUFRLENBQUNFLEtBQVQsQ0FBZUUsRUFBbkIsRUFBdUI7QUFDdEJILGNBQUFBLFFBQVEsR0FBR0QsUUFBUSxDQUFDRSxLQUFULENBQWVFLEVBQTFCO0FBQ0EsYUFGRCxNQUVPO0FBQ05ILGNBQUFBLFFBQVEsR0FBR0QsUUFBUSxDQUFDRSxLQUFULENBQWVHLE1BQWYsQ0FBc0JDLGVBQXRCLElBQXlDTixRQUFRLENBQUNFLEtBQVQsQ0FBZUcsTUFBZixDQUFzQkUsS0FBMUUsQ0FETSxDQUMyRTtBQUNqRjtBQUNELFdBTk0sTUFNQSxJQUFJUCxRQUFRLENBQUNFLEtBQVQsQ0FBZUMsS0FBZixJQUF3QkgsUUFBUSxDQUFDRSxLQUFULENBQWVDLEtBQWYsS0FBeUIsMkNBQXJELEVBQWtHO0FBQ3hHLGdCQUFJSCxRQUFRLENBQUNFLEtBQVQsQ0FBZU0sS0FBbkIsRUFBMEI7QUFDekJQLGNBQUFBLFFBQVEsR0FBR0QsUUFBUSxDQUFDRSxLQUFULENBQWVNLEtBQTFCO0FBQ0E7QUFDRDs7QUFDRCxjQUFJUCxRQUFKLEVBQWM7QUFDYkYsWUFBQUEsU0FBUyxJQUFJRSxRQUFiO0FBQ0E7QUFDRDs7QUFDRCxZQUFJRCxRQUFRLElBQUlBLFFBQVEsQ0FBQyxPQUFELENBQXBCLElBQWlDQSxRQUFRLENBQUMsT0FBRCxDQUFSLENBQWtCaEIsT0FBbEIsQ0FBMEIsc0NBQTFCLElBQW9FLENBQUMsQ0FBMUcsRUFBNkc7QUFDNUdlLFVBQUFBLFNBQVMsSUFBSVUsNEJBQTRCLENBQUNULFFBQUQsQ0FBekM7QUFDQTtBQUNEO0FBQ0Q7O0FBQ0RELElBQUFBLFNBQVMsR0FBR1csU0FBUyxDQUFDWCxTQUFELENBQXJCO0FBQ0EsV0FBT0EsU0FBUDtBQUNBLEdBOUNNOzs7O0FBK0NBLE1BQU1ZLDBDQUEwQyxHQUFHLFVBQVVDLFVBQVYsRUFBbUM7QUFDNUYsUUFBSUMsT0FBTyxHQUFHLEVBQWQ7O0FBQ0EsUUFBSSxPQUFPRCxVQUFVLENBQUNFLGNBQWxCLElBQW9DLFFBQXhDLEVBQWtEO0FBQ2pERCxNQUFBQSxPQUFPLElBQUlELFVBQVUsQ0FBQ0UsY0FBdEI7QUFDQSxLQUZELE1BRU8sSUFBSUYsVUFBVSxDQUFDRSxjQUFYLENBQTBCeEIsS0FBOUIsRUFBcUM7QUFDM0N1QixNQUFBQSxPQUFPLElBQUlELFVBQVUsQ0FBQ0UsY0FBWCxDQUEwQnhCLEtBQXJDO0FBQ0E7O0FBQ0QsUUFBSSxPQUFPc0IsVUFBVSxDQUFDRyxNQUFsQixJQUE0QixRQUFoQyxFQUEwQztBQUN6Q0YsTUFBQUEsT0FBTyxJQUFJLE9BQU9ELFVBQVUsQ0FBQ0csTUFBN0I7QUFDQSxLQUZELE1BRU8sSUFBSUgsVUFBVSxDQUFDRyxNQUFYLElBQXFCSCxVQUFVLENBQUNHLE1BQVgsQ0FBa0J6QixLQUEzQyxFQUFrRDtBQUN4RHVCLE1BQUFBLE9BQU8sSUFBSSxPQUFPRCxVQUFVLENBQUNHLE1BQVgsQ0FBa0J6QixLQUFwQztBQUNBOztBQUNELFFBQUlzQixVQUFVLENBQUMsaUJBQUQsQ0FBVixJQUFpQ0EsVUFBVSxDQUFDLGlCQUFELENBQVYsSUFBaUMsSUFBdEUsRUFBNEU7QUFDM0VDLE1BQUFBLE9BQU8sSUFBSSxtQkFBWDtBQUNBOztBQUNELFdBQU9BLE9BQVA7QUFDQSxHQWhCTTs7OztBQWtCQSxNQUFNSiw0QkFBNEIsR0FBRyxVQUFVRyxVQUFWLEVBQXVGO0FBQUEsUUFBNURJLFVBQTRELHVFQUF4QixFQUF3QjtBQUNsSSxRQUFJSCxPQUFPLEdBQUcsRUFBZDs7QUFFQSxRQUFJRCxVQUFVLENBQUNULEtBQVgsSUFBb0JTLFVBQVUsQ0FBQ1QsS0FBWCxLQUFxQiwrQ0FBN0MsRUFBOEY7QUFDN0ZVLE1BQUFBLE9BQU8sR0FBRyxzQkFBVjtBQUNBQSxNQUFBQSxPQUFPLElBQUlELFVBQVUsQ0FBQ0csTUFBdEI7QUFDQSxhQUFPTCxTQUFTLENBQUNHLE9BQUQsQ0FBaEI7QUFDQSxLQUpELE1BSU8sSUFBSUQsVUFBVSxDQUFDVCxLQUFYLElBQW9CUyxVQUFVLENBQUNULEtBQVgsS0FBcUIsOERBQTdDLEVBQTZHO0FBQ25IVSxNQUFBQSxPQUFPLEdBQUcscUNBQVY7QUFDQUEsTUFBQUEsT0FBTyxJQUFJRiwwQ0FBMEMsQ0FBQ0MsVUFBRCxDQUFyRDtBQUNBLGFBQU9DLE9BQVA7QUFDQSxLQUpNLE1BSUEsSUFBSUQsVUFBVSxDQUFDVCxLQUFYLElBQW9CUyxVQUFVLENBQUNULEtBQVgsS0FBcUIsbURBQTdDLEVBQWtHO0FBQ3hHVSxNQUFBQSxPQUFPLEdBQUcsMEJBQVY7QUFDQUEsTUFBQUEsT0FBTyxJQUFJSCxTQUFTLENBQUNFLFVBQVUsQ0FBQ1AsTUFBWCxDQUFrQkMsZUFBbEIsSUFBcUNNLFVBQVUsQ0FBQ1AsTUFBWCxDQUFrQkUsS0FBeEQsQ0FBcEI7QUFDQSxhQUFPTSxPQUFQO0FBQ0EsS0FKTSxNQUlBLElBQUlELFVBQVUsQ0FBQ1QsS0FBWCxJQUFvQlMsVUFBVSxDQUFDVCxLQUFYLEtBQXFCLGdEQUE3QyxFQUErRjtBQUNyR1UsTUFBQUEsT0FBTyxHQUFHLHVCQUFWOztBQUNBLFVBQUlELFVBQVUsQ0FBQ0ssS0FBZixFQUFzQjtBQUNyQkosUUFBQUEsT0FBTyxJQUFJekIsd0JBQXdCLENBQUN3QixVQUFVLENBQUNLLEtBQVosQ0FBeEIsR0FBNkMsSUFBeEQ7QUFDQTs7QUFDREosTUFBQUEsT0FBTyxJQUFJRCxVQUFVLENBQUNHLE1BQXRCO0FBQ0EsYUFBT0wsU0FBUyxDQUFDRyxPQUFELENBQWhCO0FBQ0EsS0FQTSxNQU9BLElBQUlELFVBQVUsQ0FBQ1QsS0FBWCxJQUFvQlMsVUFBVSxDQUFDVCxLQUFYLEtBQXFCLHNDQUE3QyxFQUFxRjtBQUMzRlUsTUFBQUEsT0FBTyxHQUFHLGFBQVY7QUFDQUEsTUFBQUEsT0FBTyxJQUFJekIsd0JBQXdCLENBQUN3QixVQUFVLENBQUNLLEtBQVosQ0FBbkM7QUFDQSxhQUFPUCxTQUFTLENBQUNHLE9BQUQsQ0FBaEI7QUFDQSxLQUpNLE1BSUEsSUFBSUQsVUFBVSxDQUFDVCxLQUFYLElBQW9CUyxVQUFVLENBQUNULEtBQVgsS0FBcUIsK0RBQTdDLEVBQThHO0FBQ3BIVSxNQUFBQSxPQUFPLEdBQUcsc0NBQVY7QUFDQUEsTUFBQUEsT0FBTyxJQUFJekIsd0JBQXdCLENBQUN3QixVQUFVLENBQUNLLEtBQVosQ0FBeEIsR0FBNkMsSUFBeEQ7QUFDQUosTUFBQUEsT0FBTyxJQUFJRiwwQ0FBMEMsQ0FBQ0MsVUFBRCxDQUFyRDtBQUNBLGFBQU9GLFNBQVMsQ0FBQ0csT0FBRCxDQUFoQjtBQUNBLEtBTE0sTUFLQSxJQUFJRCxVQUFVLENBQUNULEtBQVgsSUFBb0JTLFVBQVUsQ0FBQ1QsS0FBWCxLQUFxQix3REFBN0MsRUFBdUc7QUFDN0dVLE1BQUFBLE9BQU8sR0FBRywrQkFBVjtBQUNBQSxNQUFBQSxPQUFPLElBQUl6Qix3QkFBd0IsQ0FBQ3dCLFVBQVUsQ0FBQ0ssS0FBWixDQUFuQzs7QUFDQSxVQUFJTCxVQUFVLENBQUNQLE1BQVgsSUFBcUJPLFVBQVUsQ0FBQ1AsTUFBWCxDQUFrQix5QkFBbEIsQ0FBekIsRUFBdUU7QUFDdEVRLFFBQUFBLE9BQU8sSUFBSSxPQUFPRCxVQUFVLENBQUNQLE1BQVgsQ0FBa0IseUJBQWxCLENBQWxCO0FBQ0E7O0FBQ0QsYUFBT0ssU0FBUyxDQUFDRyxPQUFELENBQWhCO0FBQ0EsS0FQTSxNQU9BLElBQUlELFVBQVUsQ0FBQ1QsS0FBWCxJQUFvQlMsVUFBVSxDQUFDVCxLQUFYLEtBQXFCLDZDQUE3QyxFQUE0RjtBQUNsR1UsTUFBQUEsT0FBTyxHQUFHLG9CQUFWO0FBQ0FBLE1BQUFBLE9BQU8sSUFBSXpCLHdCQUF3QixDQUFDd0IsVUFBVSxDQUFDSyxLQUFaLENBQW5DO0FBQ0EsYUFBT1AsU0FBUyxDQUFDRyxPQUFELENBQWhCO0FBQ0EsS0FKTSxNQUlBLElBQUlHLFVBQVUsSUFBSUEsVUFBVSxDQUFDRSxPQUF6QixJQUFvQ0YsVUFBVSxDQUFDRSxPQUFYLENBQW1CQyxTQUFuQixDQUE2QixhQUE3QixDQUF4QyxFQUFxRjtBQUMzRjtBQUNBLGFBQU9ULFNBQVMsQ0FBQ00sVUFBVSxDQUFDRSxPQUFYLENBQW1CQyxTQUFuQixDQUE2QixhQUE3QixFQUE0Q0MsUUFBNUMsRUFBRCxDQUFoQjtBQUNBLEtBSE0sTUFHQSxDQUNOO0FBQ0E7QUFDQTs7QUFDRCxXQUFPQyxTQUFQO0FBQ0EsR0FsRE07Ozs7QUFvREEsTUFBTVgsU0FBUyxHQUFHLFVBQVUzQixHQUFWLEVBQXVCO0FBQy9DQSxJQUFBQSxHQUFHLEdBQUdELG1CQUFtQixDQUFDSyxnQkFBZ0IsQ0FBQ0osR0FBRCxDQUFqQixDQUF6Qjs7QUFDQSxRQUFJSixPQUFPLENBQUNJLEdBQUQsQ0FBWCxFQUFrQjtBQUNqQixhQUFPQSxHQUFQO0FBQ0EsS0FGRCxNQUVPO0FBQ047QUFDQSxZQUFNQSxHQUFHLEdBQUcsc0VBQVo7QUFDQTtBQUNELEdBUk0iLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuXG4vKipcbiAqIFN0YWJsZSBJZCBoZWxwZXJcbiAqL1xuXG4vKipcbiAqIENvcHkgZm9yIHRoZSBDb3JlLmlzVmFsaWQgZnVuY3Rpb24gdG8gYmUgaW5kZXBlbmRlbnQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZWYWx1ZSBTdHJpbmcgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIHRoZSB2YWx1ZSBpcyB2YWxpZCBvciBub3RcbiAqL1xuZnVuY3Rpb24gaXNWYWxpZCh2VmFsdWU6IHN0cmluZykge1xuXHRyZXR1cm4gL14oW0EtWmEtel9dWy1BLVphLXowLTlfLjpdKikkLy50ZXN0KHZWYWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlU3BlY2lhbENoYXJzKHNJZDogc3RyaW5nKSB7XG5cdGlmIChzSWQuaW5kZXhPZihcIiBcIikgPj0gMCkge1xuXHRcdC8vIExvZy5lcnJvcihzSWQgKyBcIiAtIFNwYWNlcyBhcmUgbm90IGFsbG93ZWQgaW4gSUQgcGFydHMuXCIpO1xuXHRcdHRocm93IHNJZCArIFwiIC0gU3BhY2VzIGFyZSBub3QgYWxsb3dlZCBpbiBJRCBwYXJ0cy5cIjtcblx0fVxuXHRzSWQgPSBzSWRcblx0XHQucmVwbGFjZSgvXlxcL3xeQHxeI3xeXFwqLywgXCJcIikgLy8gcmVtb3ZlIHNwZWNpYWwgY2hhcmFjdGVycyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmluZ1xuXHRcdC5yZXBsYWNlKC9cXC8kfEAkfCMkfFxcKiQvLCBcIlwiKSAvLyByZW1vdmUgc3BlY2lhbCBjaGFyYWN0ZXJzIGZyb20gdGhlIGVuZCBvZiB0aGUgc3RyaW5nXG5cdFx0LnJlcGxhY2UoL1xcL3xAfFxcKHxcXCl8I3xcXCovZywgXCI6OlwiKTsgLy8gcmVwbGFjZSBzcGVjaWFsIGNoYXJhY3RlcnMgd2l0aCA6OlxuXG5cdC8vIFJlcGxhY2UgZG91YmxlIG9jY3VycmVuY2VzIG9mIHRoZSBzZXBhcmF0b3Igd2l0aCBhIHNpbmdsZSBzZXBhcmF0b3Jcblx0d2hpbGUgKHNJZC5pbmRleE9mKFwiOjo6OlwiKSA+IC0xKSB7XG5cdFx0c0lkID0gc0lkLnJlcGxhY2UoXCI6Ojo6XCIsIFwiOjpcIik7XG5cdH1cblxuXHQvLyBJZiB0aGVyZSBpcyBhIDo6IGF0IHRoZSBlbmQgb2YgdGhlIElEIHJlbW92ZSBpdFxuXHRpZiAoc0lkLnNsaWNlKC0yKSA9PSBcIjo6XCIpIHtcblx0XHRzSWQgPSBzSWQuc2xpY2UoMCwgLTIpO1xuXHR9XG5cblx0cmV0dXJuIHNJZDtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlTmFtZXNwYWNlcyhzSWQ6IHN0cmluZykge1xuXHRzSWQgPSBzSWQucmVwbGFjZShcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLlwiLCBcIlwiKTtcblx0c0lkID0gc0lkLnJlcGxhY2UoXCJjb20uc2FwLnZvY2FidWxhcmllcy5Db21tdW5pY2F0aW9uLnYxLlwiLCBcIlwiKTtcblx0cmV0dXJuIHNJZDtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlKG9WYWx1ZTogYW55KSB7XG5cdGlmICgob1ZhbHVlICYmIG9WYWx1ZS4kUGF0aCkgfHwgb1ZhbHVlLnBhdGgpIHtcblx0XHRyZXR1cm4gb1ZhbHVlLiRQYXRoIHx8IG9WYWx1ZS5wYXRoO1xuXHR9XG5cblx0aWYgKG9WYWx1ZSAmJiBvVmFsdWUuJEFwcGx5ICYmIG9WYWx1ZS4kRnVuY3Rpb24gPT09IFwib2RhdGEuY29uY2F0XCIpIHtcblx0XHRsZXQgc1BhdGhDb25jYXQgPSBcIlwiO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgb1ZhbHVlLiRBcHBseS5sZW5ndGg7IGkrKykge1xuXHRcdFx0aWYgKG9WYWx1ZS4kQXBwbHlbaV0uJFBhdGgpIHtcblx0XHRcdFx0aWYgKHNQYXRoQ29uY2F0KSB7XG5cdFx0XHRcdFx0c1BhdGhDb25jYXQgKz0gXCI6OlwiO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHNQYXRoQ29uY2F0ICs9IG9WYWx1ZS4kQXBwbHlbaV0uJFBhdGg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBzUGF0aENvbmNhdDtcblx0fVxuXG5cdGlmIChvVmFsdWUpIHtcblx0XHRyZXR1cm4gcmVwbGFjZVNwZWNpYWxDaGFycyhvVmFsdWUucmVwbGFjZSgvIC9nLCBcIl9cIikpO1xuXHR9XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIFN0YWJsZSBJZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gcGFyYW1ldGVyc1xuICpcbiAqIHBhcmFtZXRlcnMgYXJlIGNvbWJpbmVkIGluIHRoZSBzYW1lIG9yZGVyIHRoYXQgdGhleSBhcmUgcHJvdmlkZWQgYW5kIGFyZSBzZXBhcmF0ZWQgYnkgJzo6J1xuICogc3BlY2lhbCBjaGFyYWN0ZXJzIChALCAvLCAjKSBhcmUgcmVwbGFjZWQgYnkgJzo6JyBpZiB0aGV5IGFyZSBpbiB0aGUgbWlkZGxlIG9mIHRoZSBTdGFibGUgSWQgYW5kIHJlbW92ZWQgYWxsIHRvZ2V0aGVyIGlmIHRoZSBhcmUgcGFydCBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZFxuICogRXhhbXBsZTpcbiAqIC8vIEdldCBDb25zdGFudCBTdGFibGUgSWRcbiAqIGdlbmVyYXRlKFsnU3RhYmxlJywgJ0lkJ10pIHdvdWxkIHJlc3VsdCBpbiAnU3RhYmxlOjpJZCcgYXMgdGhlIFN0YWJsZSBJZFxuICpcbiAqIC8vIEdldCBQYXJhbWVydGVyaXplZCBTdGFibGUgSWQgZnJvbSBhIENvbGxlY3Rpb24gRmFjZXRcbiAqIHZhciBvUGFyYW1ldGVyID0ge1xuICogXHRcdEZhY2V0OiB7XG4gKiBcdFx0XHQkVHlwZTogXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5Db2xsZWN0aW9uRmFjZXRcIixcbiAqIFx0XHRcdExhYmVsOiBcIkdlbmVyYWwgSW5mbyBGYWNldCBMYWJlbFwiLFxuICogXHRcdFx0SUQ6ICdHZW5lcmFsSW5mb3JtYXRpb24nXG4gKiBcdFx0fVxuICogfTtcbiAqIGdlbmVyYXRlKFsnc2VjdGlvbicsIG9QYXJhbWV0ZXJdKSB3b3VsZCByZXN1bHQgaW4gJ3NlY3Rpb246OkdlbmVyYWxJbmZvcm1hdGlvbicgYXMgdGhlIFN0YWJsZSBJZFxuICpcbiAqIG9QYXJhbWV0ZXIgaXMgYW5kIG9iamVjdCBvZiBNZXRhZGF0YSBjb250ZXh0cyBhdmFpbGFibGUgd2hpbGUgdGVtcGxhdGluZyB3aGljaCB3aWxsIGJlIHVzZWQgdG8gZ2VuZXJhdGUgU3RhYmxlIElEcy5cbiAqIG9QYXJhbWV0ZXIgb2JqZWN0IGtleXMgZGVmaW5lIHRoZSB0eXBlIG9mIG1ldGFkYXRhIGNvbnRleHQuXG4gKiBGb3IgZXhhbXBsZSwgdGhlIGtleSAnRmFjZXQnaW4gdGhlIGFib3ZlIGV4YW1wbGUgdGVsbHMgdGhlIFN0YWJsZSBJZCBIZWxwZXIgdGhhdCB0aGUgY29udGV4dCBpcyBhIEZhY2V0IChjb3VsZCBiZSByZWZlcmVuY2Ugb3IgY29sbGVjdGlvbiBmYWNldClcbiAqXG4gKiBDdXJyZW50bHkgc3VwcG9ydGVkIG1ldGFkYXRhIGNvbnRleHQgaXMgQ29sbGVjdGlvbi9SZWZlcmVuY2UgZmFjZXQgaWRlbnRpZmllZCBieSAnRmFjZXQnIGtleS5cbiAqXG4gKiBAcGFyYW0ge0FycmF5PChzdHJpbmd8b2JqZWN0KT59IGFTdGFibGVJZFBhcnRzIEFycmF5IG9mIHN0cmluZ3MgYW5kIG9iamVjdHNcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFN0YWJsZSBJZCBjb25zdHJ1Y3RlZCBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZSA9IGZ1bmN0aW9uIChhU3RhYmxlSWRQYXJ0czogQXJyYXk8c3RyaW5nIHwgb2JqZWN0Pikge1xuXHRsZXQgc1N0YWJsZUlkID0gXCJcIixcblx0XHR2RWxlbWVudDogYW55LFxuXHRcdHNGYWNldElkO1xuXG5cdGZvciAobGV0IGkgPSAwOyBpIDwgYVN0YWJsZUlkUGFydHMubGVuZ3RoOyBpKyspIHtcblx0XHR2RWxlbWVudCA9IGFTdGFibGVJZFBhcnRzW2ldO1xuXHRcdGlmICghdkVsZW1lbnQpIHtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0XHRzU3RhYmxlSWQgKz0gc1N0YWJsZUlkICE9PSBcIlwiID8gXCI6OlwiIDogXCJcIjtcblx0XHRpZiAodkVsZW1lbnRbXCJGYWNldFwiXSAmJiB2RWxlbWVudFtcIkZhY2V0XCJdW1wiJFR5cGVcIl0gJiYgdkVsZW1lbnRbXCJGYWNldFwiXVtcIiRUeXBlXCJdID09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuQ29sbGVjdGlvbkZhY2V0XCIpIHtcblx0XHRcdHNTdGFibGVJZCArPSB2RWxlbWVudFtcIkZhY2V0XCJdW1wiSURcIl07XG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgdkVsZW1lbnQgPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdGlmICh2RWxlbWVudCkge1xuXHRcdFx0XHRzU3RhYmxlSWQgKz0gdkVsZW1lbnQ7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgdkVsZW1lbnQgPT09IFwib2JqZWN0XCIpIHtcblx0XHRcdC8vIGhhbmRsZSBwYXJhbWV0ZXJzXG5cdFx0XHRpZiAodkVsZW1lbnQgJiYgdkVsZW1lbnQuRmFjZXQpIHtcblx0XHRcdFx0aWYgKHZFbGVtZW50LkZhY2V0LiRUeXBlICYmIHZFbGVtZW50LkZhY2V0LiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkNvbGxlY3Rpb25GYWNldFwiKSB7XG5cdFx0XHRcdFx0aWYgKHZFbGVtZW50LkZhY2V0LklEKSB7XG5cdFx0XHRcdFx0XHRzRmFjZXRJZCA9IHZFbGVtZW50LkZhY2V0LklEO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIGlmICh2RWxlbWVudC5GYWNldC4kVHlwZSAmJiB2RWxlbWVudC5GYWNldC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5SZWZlcmVuY2VGYWNldFwiKSB7XG5cdFx0XHRcdFx0aWYgKHZFbGVtZW50LkZhY2V0LklEKSB7XG5cdFx0XHRcdFx0XHRzRmFjZXRJZCA9IHZFbGVtZW50LkZhY2V0LklEO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRzRmFjZXRJZCA9IHZFbGVtZW50LkZhY2V0LlRhcmdldC4kQW5ub3RhdGlvblBhdGggfHwgdkVsZW1lbnQuRmFjZXQuVGFyZ2V0LnZhbHVlOyAvLyBDb21wbGlhbnQgd2l0aCBDb252ZXJ0ZXJzXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGVsc2UgaWYgKHZFbGVtZW50LkZhY2V0LiRUeXBlICYmIHZFbGVtZW50LkZhY2V0LiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkZpZWxkR3JvdXBUeXBlXCIpIHtcblx0XHRcdFx0XHRpZiAodkVsZW1lbnQuRmFjZXQuTGFiZWwpIHtcblx0XHRcdFx0XHRcdHNGYWNldElkID0gdkVsZW1lbnQuRmFjZXQuTGFiZWw7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChzRmFjZXRJZCkge1xuXHRcdFx0XHRcdHNTdGFibGVJZCArPSBzRmFjZXRJZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKHZFbGVtZW50ICYmIHZFbGVtZW50W1wiJFR5cGVcIl0gJiYgdkVsZW1lbnRbXCIkVHlwZVwiXS5pbmRleE9mKFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkXCIpID4gLTEpIHtcblx0XHRcdFx0c1N0YWJsZUlkICs9IGdldFN0YWJsZUlkUGFydEZyb21EYXRhRmllbGQodkVsZW1lbnQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRzU3RhYmxlSWQgPSBwcmVwYXJlSWQoc1N0YWJsZUlkKTtcblx0cmV0dXJuIHNTdGFibGVJZDtcbn07XG5leHBvcnQgY29uc3QgZ2V0U3RhYmxlSWRQYXJ0RnJvbVNlbWFudGljT2JqZWN0QW5kQWN0aW9uID0gZnVuY3Rpb24gKG9EYXRhRmllbGQ6IGFueSk6IHN0cmluZyB7XG5cdGxldCBzSWRQYXJ0ID0gXCJcIjtcblx0aWYgKHR5cGVvZiBvRGF0YUZpZWxkLlNlbWFudGljT2JqZWN0ID09IFwic3RyaW5nXCIpIHtcblx0XHRzSWRQYXJ0ICs9IG9EYXRhRmllbGQuU2VtYW50aWNPYmplY3Q7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC5TZW1hbnRpY09iamVjdC4kUGF0aCkge1xuXHRcdHNJZFBhcnQgKz0gb0RhdGFGaWVsZC5TZW1hbnRpY09iamVjdC4kUGF0aDtcblx0fVxuXHRpZiAodHlwZW9mIG9EYXRhRmllbGQuQWN0aW9uID09IFwic3RyaW5nXCIpIHtcblx0XHRzSWRQYXJ0ICs9IFwiOjpcIiArIG9EYXRhRmllbGQuQWN0aW9uO1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuQWN0aW9uICYmIG9EYXRhRmllbGQuQWN0aW9uLiRQYXRoKSB7XG5cdFx0c0lkUGFydCArPSBcIjo6XCIgKyBvRGF0YUZpZWxkLkFjdGlvbi4kUGF0aDtcblx0fVxuXHRpZiAob0RhdGFGaWVsZFtcIlJlcXVpcmVzQ29udGV4dFwiXSAmJiBvRGF0YUZpZWxkW1wiUmVxdWlyZXNDb250ZXh0XCJdID09IHRydWUpIHtcblx0XHRzSWRQYXJ0ICs9IFwiOjpSZXF1aXJlc0NvbnRleHRcIjtcblx0fVxuXHRyZXR1cm4gc0lkUGFydDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTdGFibGVJZFBhcnRGcm9tRGF0YUZpZWxkID0gZnVuY3Rpb24gKG9EYXRhRmllbGQ6IGFueSwgbVBhcmFtZXRlcjogeyBjb250ZXh0PzogQ29udGV4dCB9ID0ge30pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRsZXQgc0lkUGFydCA9IFwiXCI7XG5cblx0aWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRGb3JBY3Rpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZEZvckFjdGlvbjo6XCI7XG5cdFx0c0lkUGFydCArPSBvRGF0YUZpZWxkLkFjdGlvbjtcblx0XHRyZXR1cm4gcHJlcGFyZUlkKHNJZFBhcnQpO1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZEZvckludGVudEJhc2VkTmF2aWdhdGlvbjo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24ob0RhdGFGaWVsZCk7XG5cdFx0cmV0dXJuIHNJZFBhcnQ7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZEZvckFubm90YXRpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZEZvckFubm90YXRpb246OlwiO1xuXHRcdHNJZFBhcnQgKz0gcHJlcGFyZUlkKG9EYXRhRmllbGQuVGFyZ2V0LiRBbm5vdGF0aW9uUGF0aCB8fCBvRGF0YUZpZWxkLlRhcmdldC52YWx1ZSk7XG5cdFx0cmV0dXJuIHNJZFBhcnQ7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZFdpdGhBY3Rpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZFdpdGhBY3Rpb246OlwiO1xuXHRcdGlmIChvRGF0YUZpZWxkLlZhbHVlKSB7XG5cdFx0XHRzSWRQYXJ0ICs9IGdldFN0YWJsZUlkUGFydEZyb21WYWx1ZShvRGF0YUZpZWxkLlZhbHVlKSArIFwiOjpcIjtcblx0XHR9XG5cdFx0c0lkUGFydCArPSBvRGF0YUZpZWxkLkFjdGlvbjtcblx0XHRyZXR1cm4gcHJlcGFyZUlkKHNJZFBhcnQpO1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRcIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZDo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tVmFsdWUob0RhdGFGaWVsZC5WYWx1ZSk7XG5cdFx0cmV0dXJuIHByZXBhcmVJZChzSWRQYXJ0KTtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLiRUeXBlICYmIG9EYXRhRmllbGQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkV2l0aEludGVudEJhc2VkTmF2aWdhdGlvblwiKSB7XG5cdFx0c0lkUGFydCA9IFwiRGF0YUZpZWxkV2l0aEludGVudEJhc2VkTmF2aWdhdGlvbjo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tVmFsdWUob0RhdGFGaWVsZC5WYWx1ZSkgKyBcIjo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24ob0RhdGFGaWVsZCk7XG5cdFx0cmV0dXJuIHByZXBhcmVJZChzSWRQYXJ0KTtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLiRUeXBlICYmIG9EYXRhRmllbGQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkV2l0aE5hdmlnYXRpb25QYXRoXCIpIHtcblx0XHRzSWRQYXJ0ID0gXCJEYXRhRmllbGRXaXRoTmF2aWdhdGlvblBhdGg6OlwiO1xuXHRcdHNJZFBhcnQgKz0gZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlKG9EYXRhRmllbGQuVmFsdWUpO1xuXHRcdGlmIChvRGF0YUZpZWxkLlRhcmdldCAmJiBvRGF0YUZpZWxkLlRhcmdldFtcIiROYXZpZ2F0aW9uUHJvcGVydHlQYXRoXCJdKSB7XG5cdFx0XHRzSWRQYXJ0ICs9IFwiOjpcIiArIG9EYXRhRmllbGQuVGFyZ2V0W1wiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGhcIl07XG5cdFx0fVxuXHRcdHJldHVybiBwcmVwYXJlSWQoc0lkUGFydCk7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZFdpdGhVcmxcIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZFdpdGhVcmw6OlwiO1xuXHRcdHNJZFBhcnQgKz0gZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlKG9EYXRhRmllbGQuVmFsdWUpO1xuXHRcdHJldHVybiBwcmVwYXJlSWQoc0lkUGFydCk7XG5cdH0gZWxzZSBpZiAobVBhcmFtZXRlciAmJiBtUGFyYW1ldGVyLmNvbnRleHQgJiYgbVBhcmFtZXRlci5jb250ZXh0LmdldE9iamVjdChcIkBzYXB1aS5uYW1lXCIpKSB7XG5cdFx0Ly8gdGhlIGNvbnRleHQgaXMgbm90IHJlZmVycmluZyB0byBkYSBkYXRhIGZpZWxkIGJ1dCBkaXJlY3RseSB0byBhIHByb3BlcnR5LCByZXR1cm4gdGhlIHByb3BlcnR5IG5hbWVcblx0XHRyZXR1cm4gcHJlcGFyZUlkKG1QYXJhbWV0ZXIuY29udGV4dC5nZXRPYmplY3QoXCJAc2FwdWkubmFtZVwiKS50b1N0cmluZygpKTtcblx0fSBlbHNlIHtcblx0XHQvLyBJbiBjYXNlIG9mIGEgc3RyaW5nIG9yIHVua25vd24gcHJvcGVydHlcblx0XHQvLyBMb2cuZXJyb3IoXCJTdGFibGUgSUQgSGVscGVyOiBVbmFibGUgdG8gY3JlYXRlIGEgc3RhYmxlIElELiBQbGVhc2UgY2hlY2sgdGhlIGFubm90YXRpb25zLlwiKTtcblx0fVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IHByZXBhcmVJZCA9IGZ1bmN0aW9uIChzSWQ6IHN0cmluZykge1xuXHRzSWQgPSByZXBsYWNlU3BlY2lhbENoYXJzKHJlbW92ZU5hbWVzcGFjZXMoc0lkKSk7XG5cdGlmIChpc1ZhbGlkKHNJZCkpIHtcblx0XHRyZXR1cm4gc0lkO1xuXHR9IGVsc2Uge1xuXHRcdC8vIExvZy5lcnJvcihzSWQgKyBcIiAtIFN0YWJsZSBJZCBjb3VsZCBub3QgYmUgZ2VuZXJhdGVkIGR1ZSB0byBpbnN1ZmZpY2llbnQgaW5mb3JtYXRpb24uXCIpO1xuXHRcdHRocm93IHNJZCArIFwiIC0gU3RhYmxlIElkIGNvdWxkIG5vdCBiZSBnZW5lcmF0ZWQgZHVlIHRvIGluc3VmZmljaWVudCBpbmZvcm1hdGlvbi5cIjtcblx0fVxufTtcbiJdfQ==
|
|
263
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc1ZhbGlkIiwidlZhbHVlIiwidGVzdCIsInJlcGxhY2VTcGVjaWFsQ2hhcnMiLCJzSWQiLCJpbmRleE9mIiwicmVwbGFjZSIsInNsaWNlIiwicmVtb3ZlTmFtZXNwYWNlcyIsImdldFN0YWJsZUlkUGFydEZyb21WYWx1ZSIsIm9WYWx1ZSIsIiRQYXRoIiwicGF0aCIsIiRBcHBseSIsIiRGdW5jdGlvbiIsInNQYXRoQ29uY2F0IiwiaSIsImxlbmd0aCIsImdlbmVyYXRlIiwiYVN0YWJsZUlkUGFydHMiLCJzU3RhYmxlSWQiLCJ2RWxlbWVudCIsInNGYWNldElkIiwiRmFjZXQiLCIkVHlwZSIsIklEIiwiVGFyZ2V0IiwiJEFubm90YXRpb25QYXRoIiwidmFsdWUiLCJMYWJlbCIsImdldFN0YWJsZUlkUGFydEZyb21EYXRhRmllbGQiLCJwcmVwYXJlSWQiLCJnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24iLCJvRGF0YUZpZWxkIiwic0lkUGFydCIsIlNlbWFudGljT2JqZWN0IiwiQWN0aW9uIiwibVBhcmFtZXRlciIsIlZhbHVlIiwiY29udGV4dCIsImdldE9iamVjdCIsInRvU3RyaW5nIiwidW5kZWZpbmVkIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJTdGFibGVJZEhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuXG4vKipcbiAqIFN0YWJsZSBJZCBoZWxwZXJcbiAqL1xuXG4vKipcbiAqIENvcHkgZm9yIHRoZSBDb3JlLmlzVmFsaWQgZnVuY3Rpb24gdG8gYmUgaW5kZXBlbmRlbnQuXG4gKlxuICogQHBhcmFtIHZWYWx1ZSBTdHJpbmcgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHZhbHVlIGlzIHZhbGlkIG9yIG5vdFxuICovXG5mdW5jdGlvbiBpc1ZhbGlkKHZWYWx1ZTogc3RyaW5nKSB7XG5cdHJldHVybiAvXihbQS1aYS16X11bLUEtWmEtejAtOV8uOl0qKSQvLnRlc3QodlZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VTcGVjaWFsQ2hhcnMoc0lkOiBzdHJpbmcpIHtcblx0aWYgKHNJZC5pbmRleE9mKFwiIFwiKSA+PSAwKSB7XG5cdFx0Ly8gTG9nLmVycm9yKHNJZCArIFwiIC0gU3BhY2VzIGFyZSBub3QgYWxsb3dlZCBpbiBJRCBwYXJ0cy5cIik7XG5cdFx0dGhyb3cgYCR7c0lkfSAtIFNwYWNlcyBhcmUgbm90IGFsbG93ZWQgaW4gSUQgcGFydHMuYDtcblx0fVxuXHRzSWQgPSBzSWRcblx0XHQucmVwbGFjZSgvXlxcL3xeQHxeI3xeXFwqLywgXCJcIikgLy8gcmVtb3ZlIHNwZWNpYWwgY2hhcmFjdGVycyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmluZ1xuXHRcdC5yZXBsYWNlKC9cXC8kfEAkfCMkfFxcKiQvLCBcIlwiKSAvLyByZW1vdmUgc3BlY2lhbCBjaGFyYWN0ZXJzIGZyb20gdGhlIGVuZCBvZiB0aGUgc3RyaW5nXG5cdFx0LnJlcGxhY2UoL1xcL3xAfFxcKHxcXCl8I3xcXCovZywgXCI6OlwiKTsgLy8gcmVwbGFjZSBzcGVjaWFsIGNoYXJhY3RlcnMgd2l0aCA6OlxuXG5cdC8vIFJlcGxhY2UgZG91YmxlIG9jY3VycmVuY2VzIG9mIHRoZSBzZXBhcmF0b3Igd2l0aCBhIHNpbmdsZSBzZXBhcmF0b3Jcblx0d2hpbGUgKHNJZC5pbmRleE9mKFwiOjo6OlwiKSA+IC0xKSB7XG5cdFx0c0lkID0gc0lkLnJlcGxhY2UoXCI6Ojo6XCIsIFwiOjpcIik7XG5cdH1cblxuXHQvLyBJZiB0aGVyZSBpcyBhIDo6IGF0IHRoZSBlbmQgb2YgdGhlIElEIHJlbW92ZSBpdFxuXHRpZiAoc0lkLnNsaWNlKC0yKSA9PSBcIjo6XCIpIHtcblx0XHRzSWQgPSBzSWQuc2xpY2UoMCwgLTIpO1xuXHR9XG5cblx0cmV0dXJuIHNJZDtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlTmFtZXNwYWNlcyhzSWQ6IHN0cmluZykge1xuXHRzSWQgPSBzSWQucmVwbGFjZShcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLlwiLCBcIlwiKTtcblx0c0lkID0gc0lkLnJlcGxhY2UoXCJjb20uc2FwLnZvY2FidWxhcmllcy5Db21tdW5pY2F0aW9uLnYxLlwiLCBcIlwiKTtcblx0cmV0dXJuIHNJZDtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlKG9WYWx1ZTogYW55KSB7XG5cdGlmICgob1ZhbHVlICYmIG9WYWx1ZS4kUGF0aCkgfHwgb1ZhbHVlLnBhdGgpIHtcblx0XHRyZXR1cm4gb1ZhbHVlLiRQYXRoIHx8IG9WYWx1ZS5wYXRoO1xuXHR9XG5cblx0aWYgKG9WYWx1ZSAmJiBvVmFsdWUuJEFwcGx5ICYmIG9WYWx1ZS4kRnVuY3Rpb24gPT09IFwib2RhdGEuY29uY2F0XCIpIHtcblx0XHRsZXQgc1BhdGhDb25jYXQgPSBcIlwiO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgb1ZhbHVlLiRBcHBseS5sZW5ndGg7IGkrKykge1xuXHRcdFx0aWYgKG9WYWx1ZS4kQXBwbHlbaV0uJFBhdGgpIHtcblx0XHRcdFx0aWYgKHNQYXRoQ29uY2F0KSB7XG5cdFx0XHRcdFx0c1BhdGhDb25jYXQgKz0gXCI6OlwiO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHNQYXRoQ29uY2F0ICs9IG9WYWx1ZS4kQXBwbHlbaV0uJFBhdGg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBzUGF0aENvbmNhdDtcblx0fVxuXG5cdGlmIChvVmFsdWUpIHtcblx0XHRyZXR1cm4gcmVwbGFjZVNwZWNpYWxDaGFycyhvVmFsdWUucmVwbGFjZSgvIC9nLCBcIl9cIikpO1xuXHR9XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIFN0YWJsZSBJZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gcGFyYW1ldGVyc1xuICpcbiAqIHBhcmFtZXRlcnMgYXJlIGNvbWJpbmVkIGluIHRoZSBzYW1lIG9yZGVyIHRoYXQgdGhleSBhcmUgcHJvdmlkZWQgYW5kIGFyZSBzZXBhcmF0ZWQgYnkgJzo6J1xuICogc3BlY2lhbCBjaGFyYWN0ZXJzIChALCAvLCAjKSBhcmUgcmVwbGFjZWQgYnkgJzo6JyBpZiB0aGV5IGFyZSBpbiB0aGUgbWlkZGxlIG9mIHRoZSBTdGFibGUgSWQgYW5kIHJlbW92ZWQgYWxsIHRvZ2V0aGVyIGlmIHRoZSBhcmUgcGFydCBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZFxuICogRXhhbXBsZTpcbiAqIC8vIEdldCBDb25zdGFudCBTdGFibGUgSWRcbiAqIGdlbmVyYXRlKFsnU3RhYmxlJywgJ0lkJ10pIHdvdWxkIHJlc3VsdCBpbiAnU3RhYmxlOjpJZCcgYXMgdGhlIFN0YWJsZSBJZFxuICpcbiAqIC8vIEdldCBQYXJhbWVydGVyaXplZCBTdGFibGUgSWQgZnJvbSBhIENvbGxlY3Rpb24gRmFjZXRcbiAqIHZhciBvUGFyYW1ldGVyID0ge1xuICogXHRcdEZhY2V0OiB7XG4gKiBcdFx0XHQkVHlwZTogXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5Db2xsZWN0aW9uRmFjZXRcIixcbiAqIFx0XHRcdExhYmVsOiBcIkdlbmVyYWwgSW5mbyBGYWNldCBMYWJlbFwiLFxuICogXHRcdFx0SUQ6ICdHZW5lcmFsSW5mb3JtYXRpb24nXG4gKiBcdFx0fVxuICogfTtcbiAqIGdlbmVyYXRlKFsnc2VjdGlvbicsIG9QYXJhbWV0ZXJdKSB3b3VsZCByZXN1bHQgaW4gJ3NlY3Rpb246OkdlbmVyYWxJbmZvcm1hdGlvbicgYXMgdGhlIFN0YWJsZSBJZFxuICpcbiAqIG9QYXJhbWV0ZXIgaXMgYW5kIG9iamVjdCBvZiBNZXRhZGF0YSBjb250ZXh0cyBhdmFpbGFibGUgd2hpbGUgdGVtcGxhdGluZyB3aGljaCB3aWxsIGJlIHVzZWQgdG8gZ2VuZXJhdGUgU3RhYmxlIElEcy5cbiAqIG9QYXJhbWV0ZXIgb2JqZWN0IGtleXMgZGVmaW5lIHRoZSB0eXBlIG9mIG1ldGFkYXRhIGNvbnRleHQuXG4gKiBGb3IgZXhhbXBsZSwgdGhlIGtleSAnRmFjZXQnaW4gdGhlIGFib3ZlIGV4YW1wbGUgdGVsbHMgdGhlIFN0YWJsZSBJZCBIZWxwZXIgdGhhdCB0aGUgY29udGV4dCBpcyBhIEZhY2V0IChjb3VsZCBiZSByZWZlcmVuY2Ugb3IgY29sbGVjdGlvbiBmYWNldClcbiAqXG4gKiBDdXJyZW50bHkgc3VwcG9ydGVkIG1ldGFkYXRhIGNvbnRleHQgaXMgQ29sbGVjdGlvbi9SZWZlcmVuY2UgZmFjZXQgaWRlbnRpZmllZCBieSAnRmFjZXQnIGtleS5cbiAqXG4gKiBAcGFyYW0gYVN0YWJsZUlkUGFydHMgQXJyYXkgb2Ygc3RyaW5ncyBhbmQgb2JqZWN0c1xuICogQHJldHVybnMgU3RhYmxlIElkIGNvbnN0cnVjdGVkIGZyb20gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnNcbiAqL1xuZXhwb3J0IGNvbnN0IGdlbmVyYXRlID0gZnVuY3Rpb24gKGFTdGFibGVJZFBhcnRzOiBBcnJheTxzdHJpbmcgfCBvYmplY3Q+KSB7XG5cdGxldCBzU3RhYmxlSWQgPSBcIlwiLFxuXHRcdHZFbGVtZW50OiBhbnksXG5cdFx0c0ZhY2V0SWQ7XG5cblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhU3RhYmxlSWRQYXJ0cy5sZW5ndGg7IGkrKykge1xuXHRcdHZFbGVtZW50ID0gYVN0YWJsZUlkUGFydHNbaV07XG5cdFx0aWYgKCF2RWxlbWVudCkge1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXHRcdHNTdGFibGVJZCArPSBzU3RhYmxlSWQgIT09IFwiXCIgPyBcIjo6XCIgOiBcIlwiO1xuXHRcdGlmICh2RWxlbWVudFtcIkZhY2V0XCJdICYmIHZFbGVtZW50W1wiRmFjZXRcIl1bXCIkVHlwZVwiXSAmJiB2RWxlbWVudFtcIkZhY2V0XCJdW1wiJFR5cGVcIl0gPT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5Db2xsZWN0aW9uRmFjZXRcIikge1xuXHRcdFx0c1N0YWJsZUlkICs9IHZFbGVtZW50W1wiRmFjZXRcIl1bXCJJRFwiXTtcblx0XHR9IGVsc2UgaWYgKHR5cGVvZiB2RWxlbWVudCA9PT0gXCJzdHJpbmdcIikge1xuXHRcdFx0aWYgKHZFbGVtZW50KSB7XG5cdFx0XHRcdHNTdGFibGVJZCArPSB2RWxlbWVudDtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKHR5cGVvZiB2RWxlbWVudCA9PT0gXCJvYmplY3RcIikge1xuXHRcdFx0Ly8gaGFuZGxlIHBhcmFtZXRlcnNcblx0XHRcdGlmICh2RWxlbWVudCAmJiB2RWxlbWVudC5GYWNldCkge1xuXHRcdFx0XHRpZiAodkVsZW1lbnQuRmFjZXQuJFR5cGUgJiYgdkVsZW1lbnQuRmFjZXQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuQ29sbGVjdGlvbkZhY2V0XCIpIHtcblx0XHRcdFx0XHRpZiAodkVsZW1lbnQuRmFjZXQuSUQpIHtcblx0XHRcdFx0XHRcdHNGYWNldElkID0gdkVsZW1lbnQuRmFjZXQuSUQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGVsc2UgaWYgKHZFbGVtZW50LkZhY2V0LiRUeXBlICYmIHZFbGVtZW50LkZhY2V0LiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLlJlZmVyZW5jZUZhY2V0XCIpIHtcblx0XHRcdFx0XHRpZiAodkVsZW1lbnQuRmFjZXQuSUQpIHtcblx0XHRcdFx0XHRcdHNGYWNldElkID0gdkVsZW1lbnQuRmFjZXQuSUQ7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHNGYWNldElkID0gdkVsZW1lbnQuRmFjZXQuVGFyZ2V0LiRBbm5vdGF0aW9uUGF0aCB8fCB2RWxlbWVudC5GYWNldC5UYXJnZXQudmFsdWU7IC8vIENvbXBsaWFudCB3aXRoIENvbnZlcnRlcnNcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gZWxzZSBpZiAodkVsZW1lbnQuRmFjZXQuJFR5cGUgJiYgdkVsZW1lbnQuRmFjZXQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRmllbGRHcm91cFR5cGVcIikge1xuXHRcdFx0XHRcdGlmICh2RWxlbWVudC5GYWNldC5MYWJlbCkge1xuXHRcdFx0XHRcdFx0c0ZhY2V0SWQgPSB2RWxlbWVudC5GYWNldC5MYWJlbDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHNGYWNldElkKSB7XG5cdFx0XHRcdFx0c1N0YWJsZUlkICs9IHNGYWNldElkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAodkVsZW1lbnQgJiYgdkVsZW1lbnRbXCIkVHlwZVwiXSAmJiB2RWxlbWVudFtcIiRUeXBlXCJdLmluZGV4T2YoXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRcIikgPiAtMSkge1xuXHRcdFx0XHRzU3RhYmxlSWQgKz0gZ2V0U3RhYmxlSWRQYXJ0RnJvbURhdGFGaWVsZCh2RWxlbWVudCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHNTdGFibGVJZCA9IHByZXBhcmVJZChzU3RhYmxlSWQpO1xuXHRyZXR1cm4gc1N0YWJsZUlkO1xufTtcbmV4cG9ydCBjb25zdCBnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24gPSBmdW5jdGlvbiAob0RhdGFGaWVsZDogYW55KTogc3RyaW5nIHtcblx0bGV0IHNJZFBhcnQgPSBcIlwiO1xuXHRpZiAodHlwZW9mIG9EYXRhRmllbGQuU2VtYW50aWNPYmplY3QgPT0gXCJzdHJpbmdcIikge1xuXHRcdHNJZFBhcnQgKz0gb0RhdGFGaWVsZC5TZW1hbnRpY09iamVjdDtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLlNlbWFudGljT2JqZWN0LiRQYXRoKSB7XG5cdFx0c0lkUGFydCArPSBvRGF0YUZpZWxkLlNlbWFudGljT2JqZWN0LiRQYXRoO1xuXHR9XG5cdGlmICh0eXBlb2Ygb0RhdGFGaWVsZC5BY3Rpb24gPT0gXCJzdHJpbmdcIikge1xuXHRcdHNJZFBhcnQgKz0gYDo6JHtvRGF0YUZpZWxkLkFjdGlvbn1gO1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuQWN0aW9uICYmIG9EYXRhRmllbGQuQWN0aW9uLiRQYXRoKSB7XG5cdFx0c0lkUGFydCArPSBgOjoke29EYXRhRmllbGQuQWN0aW9uLiRQYXRofWA7XG5cdH1cblx0aWYgKG9EYXRhRmllbGRbXCJSZXF1aXJlc0NvbnRleHRcIl0gJiYgb0RhdGFGaWVsZFtcIlJlcXVpcmVzQ29udGV4dFwiXSA9PSB0cnVlKSB7XG5cdFx0c0lkUGFydCArPSBcIjo6UmVxdWlyZXNDb250ZXh0XCI7XG5cdH1cblx0cmV0dXJuIHNJZFBhcnQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3RhYmxlSWRQYXJ0RnJvbURhdGFGaWVsZCA9IGZ1bmN0aW9uIChvRGF0YUZpZWxkOiBhbnksIG1QYXJhbWV0ZXI6IHsgY29udGV4dD86IENvbnRleHQgfSA9IHt9KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0bGV0IHNJZFBhcnQgPSBcIlwiO1xuXG5cdGlmIChvRGF0YUZpZWxkLiRUeXBlICYmIG9EYXRhRmllbGQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkRm9yQWN0aW9uXCIpIHtcblx0XHRzSWRQYXJ0ID0gXCJEYXRhRmllbGRGb3JBY3Rpb246OlwiO1xuXHRcdHNJZFBhcnQgKz0gb0RhdGFGaWVsZC5BY3Rpb247XG5cdFx0cmV0dXJuIHByZXBhcmVJZChzSWRQYXJ0KTtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLiRUeXBlICYmIG9EYXRhRmllbGQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkRm9ySW50ZW50QmFzZWROYXZpZ2F0aW9uXCIpIHtcblx0XHRzSWRQYXJ0ID0gXCJEYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb246OlwiO1xuXHRcdHNJZFBhcnQgKz0gZ2V0U3RhYmxlSWRQYXJ0RnJvbVNlbWFudGljT2JqZWN0QW5kQWN0aW9uKG9EYXRhRmllbGQpO1xuXHRcdHJldHVybiBzSWRQYXJ0O1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRGb3JBbm5vdGF0aW9uXCIpIHtcblx0XHRzSWRQYXJ0ID0gXCJEYXRhRmllbGRGb3JBbm5vdGF0aW9uOjpcIjtcblx0XHRzSWRQYXJ0ICs9IHByZXBhcmVJZChvRGF0YUZpZWxkLlRhcmdldC4kQW5ub3RhdGlvblBhdGggfHwgb0RhdGFGaWVsZC5UYXJnZXQudmFsdWUpO1xuXHRcdHJldHVybiBzSWRQYXJ0O1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRXaXRoQWN0aW9uXCIpIHtcblx0XHRzSWRQYXJ0ID0gXCJEYXRhRmllbGRXaXRoQWN0aW9uOjpcIjtcblx0XHRpZiAob0RhdGFGaWVsZC5WYWx1ZSkge1xuXHRcdFx0c0lkUGFydCArPSBgJHtnZXRTdGFibGVJZFBhcnRGcm9tVmFsdWUob0RhdGFGaWVsZC5WYWx1ZSl9OjpgO1xuXHRcdH1cblx0XHRzSWRQYXJ0ICs9IG9EYXRhRmllbGQuQWN0aW9uO1xuXHRcdHJldHVybiBwcmVwYXJlSWQoc0lkUGFydCk7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZFwiKSB7XG5cdFx0c0lkUGFydCA9IFwiRGF0YUZpZWxkOjpcIjtcblx0XHRzSWRQYXJ0ICs9IGdldFN0YWJsZUlkUGFydEZyb21WYWx1ZShvRGF0YUZpZWxkLlZhbHVlKTtcblx0XHRyZXR1cm4gcHJlcGFyZUlkKHNJZFBhcnQpO1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRXaXRoSW50ZW50QmFzZWROYXZpZ2F0aW9uXCIpIHtcblx0XHRzSWRQYXJ0ID0gXCJEYXRhRmllbGRXaXRoSW50ZW50QmFzZWROYXZpZ2F0aW9uOjpcIjtcblx0XHRzSWRQYXJ0ICs9IGAke2dldFN0YWJsZUlkUGFydEZyb21WYWx1ZShvRGF0YUZpZWxkLlZhbHVlKX06OmA7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24ob0RhdGFGaWVsZCk7XG5cdFx0cmV0dXJuIHByZXBhcmVJZChzSWRQYXJ0KTtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLiRUeXBlICYmIG9EYXRhRmllbGQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkV2l0aE5hdmlnYXRpb25QYXRoXCIpIHtcblx0XHRzSWRQYXJ0ID0gXCJEYXRhRmllbGRXaXRoTmF2aWdhdGlvblBhdGg6OlwiO1xuXHRcdHNJZFBhcnQgKz0gZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlKG9EYXRhRmllbGQuVmFsdWUpO1xuXHRcdGlmIChvRGF0YUZpZWxkLlRhcmdldCAmJiBvRGF0YUZpZWxkLlRhcmdldFtcIiROYXZpZ2F0aW9uUHJvcGVydHlQYXRoXCJdKSB7XG5cdFx0XHRzSWRQYXJ0ICs9IGA6OiR7b0RhdGFGaWVsZC5UYXJnZXRbXCIkTmF2aWdhdGlvblByb3BlcnR5UGF0aFwiXX1gO1xuXHRcdH1cblx0XHRyZXR1cm4gcHJlcGFyZUlkKHNJZFBhcnQpO1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRXaXRoVXJsXCIpIHtcblx0XHRzSWRQYXJ0ID0gXCJEYXRhRmllbGRXaXRoVXJsOjpcIjtcblx0XHRzSWRQYXJ0ICs9IGdldFN0YWJsZUlkUGFydEZyb21WYWx1ZShvRGF0YUZpZWxkLlZhbHVlKTtcblx0XHRyZXR1cm4gcHJlcGFyZUlkKHNJZFBhcnQpO1xuXHR9IGVsc2UgaWYgKG1QYXJhbWV0ZXIgJiYgbVBhcmFtZXRlci5jb250ZXh0ICYmIG1QYXJhbWV0ZXIuY29udGV4dC5nZXRPYmplY3QoXCJAc2FwdWkubmFtZVwiKSkge1xuXHRcdC8vIHRoZSBjb250ZXh0IGlzIG5vdCByZWZlcnJpbmcgdG8gZGEgZGF0YSBmaWVsZCBidXQgZGlyZWN0bHkgdG8gYSBwcm9wZXJ0eSwgcmV0dXJuIHRoZSBwcm9wZXJ0eSBuYW1lXG5cdFx0cmV0dXJuIHByZXBhcmVJZChtUGFyYW1ldGVyLmNvbnRleHQuZ2V0T2JqZWN0KFwiQHNhcHVpLm5hbWVcIikudG9TdHJpbmcoKSk7XG5cdH0gZWxzZSB7XG5cdFx0Ly8gSW4gY2FzZSBvZiBhIHN0cmluZyBvciB1bmtub3duIHByb3BlcnR5XG5cdFx0Ly8gTG9nLmVycm9yKFwiU3RhYmxlIElEIEhlbHBlcjogVW5hYmxlIHRvIGNyZWF0ZSBhIHN0YWJsZSBJRC4gUGxlYXNlIGNoZWNrIHRoZSBhbm5vdGF0aW9ucy5cIik7XG5cdH1cblx0cmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBwcmVwYXJlSWQgPSBmdW5jdGlvbiAoc0lkOiBzdHJpbmcpIHtcblx0c0lkID0gcmVwbGFjZVNwZWNpYWxDaGFycyhyZW1vdmVOYW1lc3BhY2VzKHNJZCkpO1xuXHRpZiAoaXNWYWxpZChzSWQpKSB7XG5cdFx0cmV0dXJuIHNJZDtcblx0fSBlbHNlIHtcblx0XHQvLyBMb2cuZXJyb3Ioc0lkICsgXCIgLSBTdGFibGUgSWQgY291bGQgbm90IGJlIGdlbmVyYXRlZCBkdWUgdG8gaW5zdWZmaWNpZW50IGluZm9ybWF0aW9uLlwiKTtcblx0XHR0aHJvdyBgJHtzSWR9IC0gU3RhYmxlIElkIGNvdWxkIG5vdCBiZSBnZW5lcmF0ZWQgZHVlIHRvIGluc3VmZmljaWVudCBpbmZvcm1hdGlvbi5gO1xuXHR9XG59O1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7RUFFQTtBQUNBO0FBQ0E7O0VBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Context from "sap/ui/model/Context";
|
|
1
|
+
import type Context from "sap/ui/model/Context";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Stable Id helper
|
|
@@ -7,8 +7,8 @@ import Context from "sap/ui/model/Context";
|
|
|
7
7
|
/**
|
|
8
8
|
* Copy for the Core.isValid function to be independent.
|
|
9
9
|
*
|
|
10
|
-
* @param
|
|
11
|
-
* @returns
|
|
10
|
+
* @param vValue String to validate
|
|
11
|
+
* @returns Whether the value is valid or not
|
|
12
12
|
*/
|
|
13
13
|
function isValid(vValue: string) {
|
|
14
14
|
return /^([A-Za-z_][-A-Za-z0-9_.:]*)$/.test(vValue);
|
|
@@ -17,7 +17,7 @@ function isValid(vValue: string) {
|
|
|
17
17
|
export function replaceSpecialChars(sId: string) {
|
|
18
18
|
if (sId.indexOf(" ") >= 0) {
|
|
19
19
|
// Log.error(sId + " - Spaces are not allowed in ID parts.");
|
|
20
|
-
throw sId
|
|
20
|
+
throw `${sId} - Spaces are not allowed in ID parts.`;
|
|
21
21
|
}
|
|
22
22
|
sId = sId
|
|
23
23
|
.replace(/^\/|^@|^#|^\*/, "") // remove special characters from the beginning of the string
|
|
@@ -91,8 +91,8 @@ function getStableIdPartFromValue(oValue: any) {
|
|
|
91
91
|
*
|
|
92
92
|
* Currently supported metadata context is Collection/Reference facet identified by 'Facet' key.
|
|
93
93
|
*
|
|
94
|
-
* @param
|
|
95
|
-
* @returns
|
|
94
|
+
* @param aStableIdParts Array of strings and objects
|
|
95
|
+
* @returns Stable Id constructed from the provided parameters
|
|
96
96
|
*/
|
|
97
97
|
export const generate = function (aStableIdParts: Array<string | object>) {
|
|
98
98
|
let sStableId = "",
|
|
@@ -149,9 +149,9 @@ export const getStableIdPartFromSemanticObjectAndAction = function (oDataField:
|
|
|
149
149
|
sIdPart += oDataField.SemanticObject.$Path;
|
|
150
150
|
}
|
|
151
151
|
if (typeof oDataField.Action == "string") {
|
|
152
|
-
sIdPart +=
|
|
152
|
+
sIdPart += `::${oDataField.Action}`;
|
|
153
153
|
} else if (oDataField.Action && oDataField.Action.$Path) {
|
|
154
|
-
sIdPart +=
|
|
154
|
+
sIdPart += `::${oDataField.Action.$Path}`;
|
|
155
155
|
}
|
|
156
156
|
if (oDataField["RequiresContext"] && oDataField["RequiresContext"] == true) {
|
|
157
157
|
sIdPart += "::RequiresContext";
|
|
@@ -177,7 +177,7 @@ export const getStableIdPartFromDataField = function (oDataField: any, mParamete
|
|
|
177
177
|
} else if (oDataField.$Type && oDataField.$Type === "com.sap.vocabularies.UI.v1.DataFieldWithAction") {
|
|
178
178
|
sIdPart = "DataFieldWithAction::";
|
|
179
179
|
if (oDataField.Value) {
|
|
180
|
-
sIdPart += getStableIdPartFromValue(oDataField.Value)
|
|
180
|
+
sIdPart += `${getStableIdPartFromValue(oDataField.Value)}::`;
|
|
181
181
|
}
|
|
182
182
|
sIdPart += oDataField.Action;
|
|
183
183
|
return prepareId(sIdPart);
|
|
@@ -187,14 +187,14 @@ export const getStableIdPartFromDataField = function (oDataField: any, mParamete
|
|
|
187
187
|
return prepareId(sIdPart);
|
|
188
188
|
} else if (oDataField.$Type && oDataField.$Type === "com.sap.vocabularies.UI.v1.DataFieldWithIntentBasedNavigation") {
|
|
189
189
|
sIdPart = "DataFieldWithIntentBasedNavigation::";
|
|
190
|
-
sIdPart += getStableIdPartFromValue(oDataField.Value)
|
|
190
|
+
sIdPart += `${getStableIdPartFromValue(oDataField.Value)}::`;
|
|
191
191
|
sIdPart += getStableIdPartFromSemanticObjectAndAction(oDataField);
|
|
192
192
|
return prepareId(sIdPart);
|
|
193
193
|
} else if (oDataField.$Type && oDataField.$Type === "com.sap.vocabularies.UI.v1.DataFieldWithNavigationPath") {
|
|
194
194
|
sIdPart = "DataFieldWithNavigationPath::";
|
|
195
195
|
sIdPart += getStableIdPartFromValue(oDataField.Value);
|
|
196
196
|
if (oDataField.Target && oDataField.Target["$NavigationPropertyPath"]) {
|
|
197
|
-
sIdPart +=
|
|
197
|
+
sIdPart += `::${oDataField.Target["$NavigationPropertyPath"]}`;
|
|
198
198
|
}
|
|
199
199
|
return prepareId(sIdPart);
|
|
200
200
|
} else if (oDataField.$Type && oDataField.$Type === "com.sap.vocabularies.UI.v1.DataFieldWithUrl") {
|
|
@@ -217,6 +217,6 @@ export const prepareId = function (sId: string) {
|
|
|
217
217
|
return sId;
|
|
218
218
|
} else {
|
|
219
219
|
// Log.error(sId + " - Stable Id could not be generated due to insufficient information.");
|
|
220
|
-
throw sId
|
|
220
|
+
throw `${sId} - Stable Id could not be generated due to insufficient information.`;
|
|
221
221
|
}
|
|
222
222
|
};
|
|
@@ -40,4 +40,4 @@ sap.ui.define([], function () {
|
|
|
40
40
|
|
|
41
41
|
return Synchronization;
|
|
42
42
|
}, false);
|
|
43
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTeW5jaHJvbml6YXRpb24iLCJfZm5SZXNvbHZlIiwiX2lzUmVzb2x2ZWQiLCJ3YWl0Rm9yIiwiUHJvbWlzZSIsInJlc29sdmUiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlN5bmNocm9uaXphdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjbGFzcyBTeW5jaHJvbml6YXRpb24ge1xuXHRwcml2YXRlIF9mblJlc29sdmU6IEZ1bmN0aW9uIHwgbnVsbDtcblx0cHJpdmF0ZSBfaXNSZXNvbHZlZDogYm9vbGVhbjtcblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5fZm5SZXNvbHZlID0gbnVsbDtcblx0XHR0aGlzLl9pc1Jlc29sdmVkID0gZmFsc2U7XG5cdH1cblxuXHR3YWl0Rm9yKCkge1xuXHRcdGlmICh0aGlzLl9pc1Jlc29sdmVkKSB7XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuXHRcdFx0XHR0aGlzLl9mblJlc29sdmUgPSByZXNvbHZlO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0cmVzb2x2ZSgpIHtcblx0XHRpZiAoIXRoaXMuX2lzUmVzb2x2ZWQpIHtcblx0XHRcdHRoaXMuX2lzUmVzb2x2ZWQgPSB0cnVlO1xuXHRcdFx0aWYgKHRoaXMuX2ZuUmVzb2x2ZSkge1xuXHRcdFx0XHR0aGlzLl9mblJlc29sdmUoKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgU3luY2hyb25pemF0aW9uO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7O01BQU1BLGU7SUFHTCwyQkFBYztNQUNiLEtBQUtDLFVBQUwsR0FBa0IsSUFBbEI7TUFDQSxLQUFLQyxXQUFMLEdBQW1CLEtBQW5CO0lBQ0E7Ozs7V0FFREMsTyxHQUFBLG1CQUFVO01BQUE7O01BQ1QsSUFBSSxLQUFLRCxXQUFULEVBQXNCO1FBQ3JCLE9BQU9FLE9BQU8sQ0FBQ0MsT0FBUixFQUFQO01BQ0EsQ0FGRCxNQUVPO1FBQ04sT0FBTyxJQUFJRCxPQUFKLENBQVksVUFBQ0MsT0FBRCxFQUFhO1VBQy9CLEtBQUksQ0FBQ0osVUFBTCxHQUFrQkksT0FBbEI7UUFDQSxDQUZNLENBQVA7TUFHQTtJQUNELEM7O1dBRURBLE8sR0FBQSxtQkFBVTtNQUNULElBQUksQ0FBQyxLQUFLSCxXQUFWLEVBQXVCO1FBQ3RCLEtBQUtBLFdBQUwsR0FBbUIsSUFBbkI7O1FBQ0EsSUFBSSxLQUFLRCxVQUFULEVBQXFCO1VBQ3BCLEtBQUtBLFVBQUw7UUFDQTtNQUNEO0lBQ0QsQzs7Ozs7U0FHYUQsZSJ9
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define([], function () {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Transforms a jQuery promise into a regular ES6/TS promise.
|
|
10
|
+
*
|
|
11
|
+
* @param oThenable The jQueryPromise
|
|
12
|
+
* @returns The corresponding ES6 Promise
|
|
13
|
+
*/
|
|
14
|
+
function toES6Promise(oThenable) {
|
|
15
|
+
return Promise.resolve(oThenable.then(function () {
|
|
16
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
17
|
+
args[_key] = arguments[_key];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return Array.prototype.slice.call(args);
|
|
21
|
+
}).catch(function () {
|
|
22
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
23
|
+
args[_key2] = arguments[_key2];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return Array.prototype.slice.call(args);
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return toES6Promise;
|
|
31
|
+
}, false);
|
|
32
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0b0VTNlByb21pc2UiLCJvVGhlbmFibGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJhcmdzIiwiQXJyYXkiLCJwcm90b3R5cGUiLCJzbGljZSIsImNhbGwiLCJjYXRjaCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiVG9FUzZQcm9taXNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVHJhbnNmb3JtcyBhIGpRdWVyeSBwcm9taXNlIGludG8gYSByZWd1bGFyIEVTNi9UUyBwcm9taXNlLlxuICpcbiAqIEBwYXJhbSBvVGhlbmFibGUgVGhlIGpRdWVyeVByb21pc2VcbiAqIEByZXR1cm5zIFRoZSBjb3JyZXNwb25kaW5nIEVTNiBQcm9taXNlXG4gKi9cbmZ1bmN0aW9uIHRvRVM2UHJvbWlzZShvVGhlbmFibGU6IGFueSk6IFByb21pc2U8YW55PiB7XG5cdHJldHVybiBQcm9taXNlLnJlc29sdmUoXG5cdFx0b1RoZW5hYmxlXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcblx0XHRcdFx0cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3MpO1xuXHRcdFx0fSlcblx0XHRcdC5jYXRjaChmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcblx0XHRcdFx0cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3MpO1xuXHRcdFx0fSlcblx0KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgdG9FUzZQcm9taXNlO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7O0VBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0EsU0FBU0EsWUFBVCxDQUFzQkMsU0FBdEIsRUFBb0Q7SUFDbkQsT0FBT0MsT0FBTyxDQUFDQyxPQUFSLENBQ05GLFNBQVMsQ0FDUEcsSUFERixDQUNPLFlBQTBCO01BQUEsa0NBQWJDLElBQWE7UUFBYkEsSUFBYTtNQUFBOztNQUMvQixPQUFPQyxLQUFLLENBQUNDLFNBQU4sQ0FBZ0JDLEtBQWhCLENBQXNCQyxJQUF0QixDQUEyQkosSUFBM0IsQ0FBUDtJQUNBLENBSEYsRUFJRUssS0FKRixDQUlRLFlBQTBCO01BQUEsbUNBQWJMLElBQWE7UUFBYkEsSUFBYTtNQUFBOztNQUNoQyxPQUFPQyxLQUFLLENBQUNDLFNBQU4sQ0FBZ0JDLEtBQWhCLENBQXNCQyxJQUF0QixDQUEyQkosSUFBM0IsQ0FBUDtJQUNBLENBTkYsQ0FETSxDQUFQO0VBU0E7O1NBRWNMLFkifQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transforms a jQuery promise into a regular ES6/TS promise.
|
|
3
|
+
*
|
|
4
|
+
* @param oThenable The jQueryPromise
|
|
5
|
+
* @returns The corresponding ES6 Promise
|
|
6
|
+
*/
|
|
7
|
+
function toES6Promise(oThenable: any): Promise<any> {
|
|
8
|
+
return Promise.resolve(
|
|
9
|
+
oThenable
|
|
10
|
+
.then(function (...args: any[]) {
|
|
11
|
+
return Array.prototype.slice.call(args);
|
|
12
|
+
})
|
|
13
|
+
.catch(function (...args: any[]) {
|
|
14
|
+
return Array.prototype.slice.call(args);
|
|
15
|
+
})
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default toES6Promise;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define([], function () {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var _exports = {};
|
|
9
|
+
|
|
10
|
+
var Fragment = function Fragment() {};
|
|
11
|
+
|
|
12
|
+
Fragment.isFragment = true;
|
|
13
|
+
_exports = Fragment;
|
|
14
|
+
return _exports;
|
|
15
|
+
}, false);
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGcmFnbWVudCIsImlzRnJhZ21lbnQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZyYWdtZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGNsYXNzIEZyYWdtZW50IHtcblx0c3RhdGljIGlzRnJhZ21lbnQ6IGJvb2xlYW4gPSB0cnVlO1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7TUFBcUJBLFE7O0VBQUFBLFEsQ0FDYkMsVSxHQUFzQixJIn0=
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/m/Page", "sap/ui/base/ManagedObject", "sap/ui/core/mvc/View", "sap/fe/core/jsx-runtime/jsx"], function (ClassSupport, Page, ManagedObject, View, _jsx) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var _dec, _dec2, _class, _class2, _descriptor;
|
|
9
|
+
|
|
10
|
+
var _exports = {};
|
|
11
|
+
var property = ClassSupport.property;
|
|
12
|
+
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
13
|
+
|
|
14
|
+
function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
|
|
15
|
+
|
|
16
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
17
|
+
|
|
18
|
+
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
|
|
19
|
+
|
|
20
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
21
|
+
|
|
22
|
+
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
|
|
23
|
+
|
|
24
|
+
function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }
|
|
25
|
+
|
|
26
|
+
var ViewLoader = (_dec = defineUI5Class("sap.fe.core.jsx-runtime.MDXViewLoader"), _dec2 = property({
|
|
27
|
+
type: "string"
|
|
28
|
+
}), _dec(_class = (_class2 = /*#__PURE__*/function (_View) {
|
|
29
|
+
_inheritsLoose(ViewLoader, _View);
|
|
30
|
+
|
|
31
|
+
function ViewLoader() {
|
|
32
|
+
var _this;
|
|
33
|
+
|
|
34
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
35
|
+
args[_key] = arguments[_key];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
_this = _View.call.apply(_View, [this].concat(args)) || this;
|
|
39
|
+
|
|
40
|
+
_initializerDefineProperty(_this, "viewName", _descriptor, _assertThisInitialized(_this));
|
|
41
|
+
|
|
42
|
+
return _this;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
_exports = ViewLoader;
|
|
46
|
+
var _proto = ViewLoader.prototype;
|
|
47
|
+
|
|
48
|
+
_proto.loadDependency = function loadDependency(name) {
|
|
49
|
+
return new Promise(function (resolve) {
|
|
50
|
+
sap.ui.require([name], function (MDXContent) {
|
|
51
|
+
try {
|
|
52
|
+
resolve(MDXContent);
|
|
53
|
+
return Promise.resolve();
|
|
54
|
+
} catch (e) {
|
|
55
|
+
return Promise.reject(e);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
_proto.getControllerName = function getControllerName() {
|
|
62
|
+
var viewData = this.getViewData();
|
|
63
|
+
return viewData.controllerName;
|
|
64
|
+
} // eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
65
|
+
// @ts-ignore
|
|
66
|
+
;
|
|
67
|
+
|
|
68
|
+
_proto.createContent = function createContent(oController) {
|
|
69
|
+
try {
|
|
70
|
+
var _this3 = this;
|
|
71
|
+
|
|
72
|
+
function _temp2(MDXContent) {
|
|
73
|
+
ViewLoader.preprocessorData = _this3.mPreprocessors.xml;
|
|
74
|
+
ViewLoader.controller = oController;
|
|
75
|
+
var mdxContent = ManagedObject.runWithPreprocessors(function () {
|
|
76
|
+
return MDXContent();
|
|
77
|
+
}, {
|
|
78
|
+
id: function (sId) {
|
|
79
|
+
return _this3.createId(sId);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
return _jsx(Page, {
|
|
83
|
+
class: "sapUiContentPadding",
|
|
84
|
+
children: {
|
|
85
|
+
content: mdxContent
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
var viewData = _this3.getViewData();
|
|
91
|
+
|
|
92
|
+
var _viewData$viewContent2 = viewData.viewContent;
|
|
93
|
+
return Promise.resolve(_viewData$viewContent2 ? _temp2(_viewData$viewContent2) : Promise.resolve(_this3.loadDependency(viewData._mdxViewName)).then(_temp2));
|
|
94
|
+
} catch (e) {
|
|
95
|
+
return Promise.reject(e);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
return ViewLoader;
|
|
100
|
+
}(View), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "viewName", [_dec2], {
|
|
101
|
+
configurable: true,
|
|
102
|
+
enumerable: true,
|
|
103
|
+
writable: true,
|
|
104
|
+
initializer: null
|
|
105
|
+
})), _class2)) || _class);
|
|
106
|
+
_exports = ViewLoader;
|
|
107
|
+
return _exports;
|
|
108
|
+
}, false);
|
|
109
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWaWV3TG9hZGVyIiwiZGVmaW5lVUk1Q2xhc3MiLCJwcm9wZXJ0eSIsInR5cGUiLCJsb2FkRGVwZW5kZW5jeSIsIm5hbWUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNhcCIsInVpIiwicmVxdWlyZSIsIk1EWENvbnRlbnQiLCJnZXRDb250cm9sbGVyTmFtZSIsInZpZXdEYXRhIiwiZ2V0Vmlld0RhdGEiLCJjb250cm9sbGVyTmFtZSIsImNyZWF0ZUNvbnRlbnQiLCJvQ29udHJvbGxlciIsInByZXByb2Nlc3NvckRhdGEiLCJtUHJlcHJvY2Vzc29ycyIsInhtbCIsImNvbnRyb2xsZXIiLCJtZHhDb250ZW50IiwiTWFuYWdlZE9iamVjdCIsInJ1bldpdGhQcmVwcm9jZXNzb3JzIiwiaWQiLCJzSWQiLCJjcmVhdGVJZCIsImNvbnRlbnQiLCJ2aWV3Q29udGVudCIsIl9tZHhWaWV3TmFtZSIsIlZpZXciXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlZpZXdMb2FkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IFBhZ2UgZnJvbSBcInNhcC9tL1BhZ2VcIjtcbmltcG9ydCBNYW5hZ2VkT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5cbmltcG9ydCBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5cbmltcG9ydCBWaWV3IGZyb20gXCJzYXAvdWkvY29yZS9tdmMvVmlld1wiO1xuaW1wb3J0IHsgTWFuYWdlZE9iamVjdEV4IH0gZnJvbSBcInR5cGVzL2V4dGVuc2lvbl90eXBlc1wiO1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5qc3gtcnVudGltZS5NRFhWaWV3TG9hZGVyXCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWaWV3TG9hZGVyIGV4dGVuZHMgVmlldyB7XG5cdHN0YXRpYyBwcmVwcm9jZXNzb3JEYXRhOiBhbnk7XG5cdHN0YXRpYyBjb250cm9sbGVyOiBhbnk7XG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0dmlld05hbWUhOiBzdHJpbmc7XG5cblx0bG9hZERlcGVuZGVuY3kobmFtZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcblx0XHRcdHNhcC51aS5yZXF1aXJlKFtuYW1lXSwgYXN5bmMgKE1EWENvbnRlbnQ6IEZ1bmN0aW9uKSA9PiB7XG5cdFx0XHRcdHJlc29sdmUoTURYQ29udGVudCk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXHRnZXRDb250cm9sbGVyTmFtZSgpIHtcblx0XHRjb25zdCB2aWV3RGF0YSA9IHRoaXMuZ2V0Vmlld0RhdGEoKSBhcyBhbnk7XG5cdFx0cmV0dXJuIHZpZXdEYXRhLmNvbnRyb2xsZXJOYW1lO1xuXHR9XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0Ly8gQHRzLWlnbm9yZVxuXHRhc3luYyBjcmVhdGVDb250ZW50KG9Db250cm9sbGVyOiBhbnkpOiBQcm9taXNlPENvbnRyb2w+IHtcblx0XHRjb25zdCB2aWV3RGF0YSA9IHRoaXMuZ2V0Vmlld0RhdGEoKSBhcyBhbnk7XG5cdFx0Y29uc3QgTURYQ29udGVudCA9IHZpZXdEYXRhLnZpZXdDb250ZW50IHx8IChhd2FpdCB0aGlzLmxvYWREZXBlbmRlbmN5KHZpZXdEYXRhLl9tZHhWaWV3TmFtZSkpO1xuXHRcdFZpZXdMb2FkZXIucHJlcHJvY2Vzc29yRGF0YSA9ICh0aGlzIGFzIGFueSkubVByZXByb2Nlc3NvcnMueG1sO1xuXHRcdFZpZXdMb2FkZXIuY29udHJvbGxlciA9IG9Db250cm9sbGVyO1xuXHRcdGNvbnN0IG1keENvbnRlbnQgPSAoTWFuYWdlZE9iamVjdCBhcyB1bmtub3duIGFzIE1hbmFnZWRPYmplY3RFeCkucnVuV2l0aFByZXByb2Nlc3NvcnMoXG5cdFx0XHQoKSA9PiB7XG5cdFx0XHRcdHJldHVybiBNRFhDb250ZW50KCk7XG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHRpZDogKHNJZDogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuY3JlYXRlSWQoc0lkKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdCk7XG5cdFx0cmV0dXJuIDxQYWdlIGNsYXNzPXtcInNhcFVpQ29udGVudFBhZGRpbmdcIn0+e3sgY29udGVudDogbWR4Q29udGVudCB9fTwvUGFnZT47XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQVVxQkEsVSxXQURwQkMsY0FBYyxDQUFDLHVDQUFELEMsVUFJYkMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFSLENBQUQsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7V0FHVEMsYyxHQUFBLHdCQUFlQyxJQUFmLEVBQTJDO01BQzFDLE9BQU8sSUFBSUMsT0FBSixDQUFZLFVBQUNDLE9BQUQsRUFBYTtRQUMvQkMsR0FBRyxDQUFDQyxFQUFKLENBQU9DLE9BQVAsQ0FBZSxDQUFDTCxJQUFELENBQWYsWUFBOEJNLFVBQTlCO1VBQUEsSUFBdUQ7WUFDdERKLE9BQU8sQ0FBQ0ksVUFBRCxDQUFQO1lBRHNEO1VBRXRELENBRkQ7WUFBQTtVQUFBO1FBQUE7TUFHQSxDQUpNLENBQVA7SUFLQSxDOztXQUNEQyxpQixHQUFBLDZCQUFvQjtNQUNuQixJQUFNQyxRQUFRLEdBQUcsS0FBS0MsV0FBTCxFQUFqQjtNQUNBLE9BQU9ELFFBQVEsQ0FBQ0UsY0FBaEI7SUFDQSxDLENBQ0Q7SUFDQTs7O1dBQ01DLGEsMEJBQWNDLFc7VUFBb0M7UUFBQSxhQUN0QyxJQURzQzs7UUFBQSxnQkFFakROLFVBRmlEO1VBR3ZEWCxVQUFVLENBQUNrQixnQkFBWCxHQUE4QixPQUFjQyxjQUFkLENBQTZCQyxHQUEzRDtVQUNBcEIsVUFBVSxDQUFDcUIsVUFBWCxHQUF3QkosV0FBeEI7VUFDQSxJQUFNSyxVQUFVLEdBQUlDLGFBQUQsQ0FBOENDLG9CQUE5QyxDQUNsQixZQUFNO1lBQ0wsT0FBT2IsVUFBVSxFQUFqQjtVQUNBLENBSGlCLEVBSWxCO1lBQ0NjLEVBQUUsRUFBRSxVQUFDQyxHQUFELEVBQWlCO2NBQ3BCLE9BQU8sT0FBS0MsUUFBTCxDQUFjRCxHQUFkLENBQVA7WUFDQTtVQUhGLENBSmtCLENBQW5CO1VBVUEsT0FBTyxLQUFDLElBQUQ7WUFBTSxLQUFLLEVBQUUscUJBQWI7WUFBQSxVQUFxQztjQUFFRSxPQUFPLEVBQUVOO1lBQVg7VUFBckMsRUFBUDtRQWZ1RDs7UUFDdkQsSUFBTVQsUUFBUSxHQUFHLE9BQUtDLFdBQUwsRUFBakI7O1FBRHVELDZCQUVwQ0QsUUFBUSxDQUFDZ0IsV0FGMkI7UUFBQSxpR0FFTCxPQUFLekIsY0FBTCxDQUFvQlMsUUFBUSxDQUFDaUIsWUFBN0IsQ0FGSztNQWdCdkQsQzs7Ozs7O0lBbkNzQ0MsSSJ9
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { defineUI5Class, property } from "sap/fe/core/helpers/ClassSupport";
|
|
2
|
+
import Page from "sap/m/Page";
|
|
3
|
+
import ManagedObject from "sap/ui/base/ManagedObject";
|
|
4
|
+
|
|
5
|
+
import Control from "sap/ui/core/Control";
|
|
6
|
+
|
|
7
|
+
import View from "sap/ui/core/mvc/View";
|
|
8
|
+
import { ManagedObjectEx } from "types/extension_types";
|
|
9
|
+
|
|
10
|
+
@defineUI5Class("sap.fe.core.jsx-runtime.MDXViewLoader")
|
|
11
|
+
export default class ViewLoader extends View {
|
|
12
|
+
static preprocessorData: any;
|
|
13
|
+
static controller: any;
|
|
14
|
+
@property({ type: "string" })
|
|
15
|
+
viewName!: string;
|
|
16
|
+
|
|
17
|
+
loadDependency(name: string): Promise<any> {
|
|
18
|
+
return new Promise((resolve) => {
|
|
19
|
+
sap.ui.require([name], async (MDXContent: Function) => {
|
|
20
|
+
resolve(MDXContent);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
getControllerName() {
|
|
25
|
+
const viewData = this.getViewData() as any;
|
|
26
|
+
return viewData.controllerName;
|
|
27
|
+
}
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
29
|
+
// @ts-ignore
|
|
30
|
+
async createContent(oController: any): Promise<Control> {
|
|
31
|
+
const viewData = this.getViewData() as any;
|
|
32
|
+
const MDXContent = viewData.viewContent || (await this.loadDependency(viewData._mdxViewName));
|
|
33
|
+
ViewLoader.preprocessorData = (this as any).mPreprocessors.xml;
|
|
34
|
+
ViewLoader.controller = oController;
|
|
35
|
+
const mdxContent = (ManagedObject as unknown as ManagedObjectEx).runWithPreprocessors(
|
|
36
|
+
() => {
|
|
37
|
+
return MDXContent();
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: (sId: string) => {
|
|
41
|
+
return this.createId(sId);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
return <Page class={"sapUiContentPadding"}>{{ content: mdxContent }}</Page>;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/fe/core/helpers/BindingToolkit", "sap/m/Text"], function (BindingToolkit, Text) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var compileExpression = BindingToolkit.compileExpression;
|
|
9
|
+
|
|
10
|
+
var addChildAggregation = function (aggregationChildren, aggregationName, child) {
|
|
11
|
+
if (child === undefined || typeof child === "string") {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if (!aggregationChildren[aggregationName]) {
|
|
16
|
+
aggregationChildren[aggregationName] = [];
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
if (isChildAnElement(child)) {
|
|
20
|
+
aggregationChildren[aggregationName].push(child);
|
|
21
|
+
} else if (Array.isArray(child)) {
|
|
22
|
+
child.forEach(function (subChild) {
|
|
23
|
+
addChildAggregation(aggregationChildren, aggregationName, subChild);
|
|
24
|
+
});
|
|
25
|
+
} else {
|
|
26
|
+
Object.keys(child).forEach(function (childKey) {
|
|
27
|
+
addChildAggregation(aggregationChildren, childKey, child[childKey]);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
var isChildAnElement = function (children) {
|
|
33
|
+
var _isA, _ref;
|
|
34
|
+
|
|
35
|
+
return children === null || children === void 0 ? void 0 : (_isA = (_ref = children).isA) === null || _isA === void 0 ? void 0 : _isA.call(_ref, "sap.ui.core.Element");
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
var isAControl = function (children) {
|
|
39
|
+
return !!(children !== null && children !== void 0 && children.getMetadata);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
function processAggregations(metadata, mSettings) {
|
|
43
|
+
var metadataAggregations = metadata.getAllAggregations();
|
|
44
|
+
var defaultAggregationName = metadata.getDefaultAggregationName();
|
|
45
|
+
var aggregationChildren = {};
|
|
46
|
+
addChildAggregation(aggregationChildren, defaultAggregationName, mSettings.children);
|
|
47
|
+
delete mSettings.children; // find out which aggregation are bound (both in children and directly under it)
|
|
48
|
+
|
|
49
|
+
Object.keys(metadataAggregations).forEach(function (aggregationName) {
|
|
50
|
+
if (mSettings.hasOwnProperty(aggregationName)) {
|
|
51
|
+
mSettings[aggregationName].factory = aggregationChildren[aggregationName];
|
|
52
|
+
} else {
|
|
53
|
+
mSettings[aggregationName] = aggregationChildren[aggregationName];
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
var jsxControl = function (ControlType, mSettings, key) {
|
|
59
|
+
if (ControlType.isFragment) {
|
|
60
|
+
return mSettings.children;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
var targetControl;
|
|
64
|
+
|
|
65
|
+
if (isAControl(ControlType)) {
|
|
66
|
+
var metadata = ControlType.getMetadata();
|
|
67
|
+
|
|
68
|
+
if (key !== undefined) {
|
|
69
|
+
mSettings["key"] = key;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
processAggregations(metadata, mSettings);
|
|
73
|
+
var classDef = mSettings.class;
|
|
74
|
+
var refDef = mSettings.ref;
|
|
75
|
+
delete mSettings.ref;
|
|
76
|
+
delete mSettings.class;
|
|
77
|
+
var settingsKey;
|
|
78
|
+
|
|
79
|
+
for (settingsKey in mSettings) {
|
|
80
|
+
var _mSettings$settingsKe;
|
|
81
|
+
|
|
82
|
+
if ((_mSettings$settingsKe = mSettings[settingsKey]) !== null && _mSettings$settingsKe !== void 0 && _mSettings$settingsKe._type) {
|
|
83
|
+
mSettings[settingsKey] = compileExpression(mSettings[settingsKey]);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
targetControl = new ControlType(mSettings);
|
|
88
|
+
|
|
89
|
+
if (classDef) {
|
|
90
|
+
targetControl.addStyleClass(classDef);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (refDef) {
|
|
94
|
+
refDef.setCurrent(targetControl);
|
|
95
|
+
}
|
|
96
|
+
} else if (typeof ControlType === "function") {
|
|
97
|
+
var controlTypeFn = ControlType;
|
|
98
|
+
targetControl = controlTypeFn(mSettings);
|
|
99
|
+
} else {
|
|
100
|
+
targetControl = new Text({
|
|
101
|
+
text: "Missing component " + ControlType
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
return targetControl;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
return jsxControl;
|
|
109
|
+
}, false);
|
|
110
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhZGRDaGlsZEFnZ3JlZ2F0aW9uIiwiYWdncmVnYXRpb25DaGlsZHJlbiIsImFnZ3JlZ2F0aW9uTmFtZSIsImNoaWxkIiwidW5kZWZpbmVkIiwiaXNDaGlsZEFuRWxlbWVudCIsInB1c2giLCJBcnJheSIsImlzQXJyYXkiLCJmb3JFYWNoIiwic3ViQ2hpbGQiLCJPYmplY3QiLCJrZXlzIiwiY2hpbGRLZXkiLCJjaGlsZHJlbiIsImlzQSIsImlzQUNvbnRyb2wiLCJnZXRNZXRhZGF0YSIsInByb2Nlc3NBZ2dyZWdhdGlvbnMiLCJtZXRhZGF0YSIsIm1TZXR0aW5ncyIsIm1ldGFkYXRhQWdncmVnYXRpb25zIiwiZ2V0QWxsQWdncmVnYXRpb25zIiwiZGVmYXVsdEFnZ3JlZ2F0aW9uTmFtZSIsImdldERlZmF1bHRBZ2dyZWdhdGlvbk5hbWUiLCJoYXNPd25Qcm9wZXJ0eSIsImZhY3RvcnkiLCJqc3hDb250cm9sIiwiQ29udHJvbFR5cGUiLCJrZXkiLCJpc0ZyYWdtZW50IiwidGFyZ2V0Q29udHJvbCIsImNsYXNzRGVmIiwiY2xhc3MiLCJyZWZEZWYiLCJyZWYiLCJzZXR0aW5nc0tleSIsIl90eXBlIiwiY29tcGlsZUV4cHJlc3Npb24iLCJhZGRTdHlsZUNsYXNzIiwic2V0Q3VycmVudCIsImNvbnRyb2xUeXBlRm4iLCJUZXh0IiwidGV4dCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsianN4LWNvbnRyb2wudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcGlsZUV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHR5cGUgeyBDb250cm9sUHJvcGVydGllcywgTm9uQ29udHJvbFByb3BlcnRpZXMsIFJlZiB9IGZyb20gXCJzYXAvZmUvY29yZS9qc3gtcnVudGltZS9qc3hcIjtcbmltcG9ydCBUZXh0IGZyb20gXCJzYXAvbS9UZXh0XCI7XG5pbXBvcnQgdHlwZSBNYW5hZ2VkT2JqZWN0TWV0YWRhdGEgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RNZXRhZGF0YVwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgeyAkQ29udHJvbFNldHRpbmdzIH0gZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIEVsZW1lbnQgZnJvbSBcInNhcC91aS9jb3JlL0VsZW1lbnRcIjtcbmNvbnN0IGFkZENoaWxkQWdncmVnYXRpb24gPSBmdW5jdGlvbiAoYWdncmVnYXRpb25DaGlsZHJlbjogYW55LCBhZ2dyZWdhdGlvbk5hbWU6IHN0cmluZywgY2hpbGQ6IGFueSkge1xuXHRpZiAoY2hpbGQgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgY2hpbGQgPT09IFwic3RyaW5nXCIpIHtcblx0XHRyZXR1cm47XG5cdH1cblx0aWYgKCFhZ2dyZWdhdGlvbkNoaWxkcmVuW2FnZ3JlZ2F0aW9uTmFtZV0pIHtcblx0XHRhZ2dyZWdhdGlvbkNoaWxkcmVuW2FnZ3JlZ2F0aW9uTmFtZV0gPSBbXTtcblx0fVxuXHRpZiAoaXNDaGlsZEFuRWxlbWVudChjaGlsZCkpIHtcblx0XHRhZ2dyZWdhdGlvbkNoaWxkcmVuW2FnZ3JlZ2F0aW9uTmFtZV0ucHVzaChjaGlsZCk7XG5cdH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjaGlsZCkpIHtcblx0XHRjaGlsZC5mb3JFYWNoKChzdWJDaGlsZCkgPT4ge1xuXHRcdFx0YWRkQ2hpbGRBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbkNoaWxkcmVuLCBhZ2dyZWdhdGlvbk5hbWUsIHN1YkNoaWxkKTtcblx0XHR9KTtcblx0fSBlbHNlIHtcblx0XHRPYmplY3Qua2V5cyhjaGlsZCkuZm9yRWFjaCgoY2hpbGRLZXkpID0+IHtcblx0XHRcdGFkZENoaWxkQWdncmVnYXRpb24oYWdncmVnYXRpb25DaGlsZHJlbiwgY2hpbGRLZXksIGNoaWxkW2NoaWxkS2V5XSk7XG5cdFx0fSk7XG5cdH1cbn07XG5jb25zdCBpc0NoaWxkQW5FbGVtZW50ID0gZnVuY3Rpb24gPFQ+KGNoaWxkcmVuPzogRWxlbWVudCB8IENvbnRyb2xQcm9wZXJ0aWVzPFQ+KTogY2hpbGRyZW4gaXMgRWxlbWVudCB7XG5cdHJldHVybiAoY2hpbGRyZW4gYXMgRWxlbWVudCk/LmlzQT8uKFwic2FwLnVpLmNvcmUuRWxlbWVudFwiKTtcbn07XG5jb25zdCBpc0FDb250cm9sID0gZnVuY3Rpb24gKGNoaWxkcmVuPzogdHlwZW9mIENvbnRyb2wgfCBGdW5jdGlvbik6IGNoaWxkcmVuIGlzIHR5cGVvZiBDb250cm9sIHtcblx0cmV0dXJuICEhKGNoaWxkcmVuIGFzIHR5cGVvZiBDb250cm9sKT8uZ2V0TWV0YWRhdGE7XG59O1xuXG5mdW5jdGlvbiBwcm9jZXNzQWdncmVnYXRpb25zKG1ldGFkYXRhOiBNYW5hZ2VkT2JqZWN0TWV0YWRhdGEsIG1TZXR0aW5nczogUmVjb3JkPHN0cmluZywgYW55Pikge1xuXHRjb25zdCBtZXRhZGF0YUFnZ3JlZ2F0aW9ucyA9IG1ldGFkYXRhLmdldEFsbEFnZ3JlZ2F0aW9ucygpIGFzIGFueTtcblx0Y29uc3QgZGVmYXVsdEFnZ3JlZ2F0aW9uTmFtZSA9IG1ldGFkYXRhLmdldERlZmF1bHRBZ2dyZWdhdGlvbk5hbWUoKTtcblx0Y29uc3QgYWdncmVnYXRpb25DaGlsZHJlbjogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge307XG5cdGFkZENoaWxkQWdncmVnYXRpb24oYWdncmVnYXRpb25DaGlsZHJlbiwgZGVmYXVsdEFnZ3JlZ2F0aW9uTmFtZSwgbVNldHRpbmdzLmNoaWxkcmVuKTtcblx0ZGVsZXRlIG1TZXR0aW5ncy5jaGlsZHJlbjtcblx0Ly8gZmluZCBvdXQgd2hpY2ggYWdncmVnYXRpb24gYXJlIGJvdW5kIChib3RoIGluIGNoaWxkcmVuIGFuZCBkaXJlY3RseSB1bmRlciBpdClcblx0T2JqZWN0LmtleXMobWV0YWRhdGFBZ2dyZWdhdGlvbnMpLmZvckVhY2goKGFnZ3JlZ2F0aW9uTmFtZSkgPT4ge1xuXHRcdGlmIChtU2V0dGluZ3MuaGFzT3duUHJvcGVydHkoYWdncmVnYXRpb25OYW1lKSkge1xuXHRcdFx0KG1TZXR0aW5ncyBhcyBhbnkpW2FnZ3JlZ2F0aW9uTmFtZV0uZmFjdG9yeSA9IGFnZ3JlZ2F0aW9uQ2hpbGRyZW5bYWdncmVnYXRpb25OYW1lXTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0KG1TZXR0aW5ncyBhcyBhbnkpW2FnZ3JlZ2F0aW9uTmFtZV0gPSBhZ2dyZWdhdGlvbkNoaWxkcmVuW2FnZ3JlZ2F0aW9uTmFtZV07XG5cdFx0fVxuXHR9KTtcbn1cblxuY29uc3QganN4Q29udHJvbCA9IGZ1bmN0aW9uIDxUIGV4dGVuZHMgRWxlbWVudD4oXG5cdENvbnRyb2xUeXBlOiB0eXBlb2YgQ29udHJvbCB8IEZ1bmN0aW9uLFxuXHRtU2V0dGluZ3M6IE5vbkNvbnRyb2xQcm9wZXJ0aWVzPFQ+ICYgeyBrZXk6IHN0cmluZzsgY2hpbGRyZW4/OiBFbGVtZW50IHwgQ29udHJvbFByb3BlcnRpZXM8VD47IHJlZj86IFJlZjxUPjsgY2xhc3M/OiBzdHJpbmcgfSxcblx0a2V5OiBzdHJpbmdcbik6IENvbnRyb2wgfCBDb250cm9sW10ge1xuXHRpZiAoKENvbnRyb2xUeXBlIGFzIGFueSkuaXNGcmFnbWVudCkge1xuXHRcdHJldHVybiBtU2V0dGluZ3MuY2hpbGRyZW4gYXMgYW55O1xuXHR9XG5cdGxldCB0YXJnZXRDb250cm9sO1xuXHRpZiAoaXNBQ29udHJvbChDb250cm9sVHlwZSkpIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IENvbnRyb2xUeXBlLmdldE1ldGFkYXRhKCk7XG5cdFx0aWYgKGtleSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRtU2V0dGluZ3NbXCJrZXlcIl0gPSBrZXk7XG5cdFx0fVxuXHRcdHByb2Nlc3NBZ2dyZWdhdGlvbnMobWV0YWRhdGEsIG1TZXR0aW5ncyk7XG5cdFx0Y29uc3QgY2xhc3NEZWYgPSBtU2V0dGluZ3MuY2xhc3M7XG5cdFx0Y29uc3QgcmVmRGVmID0gbVNldHRpbmdzLnJlZjtcblx0XHRkZWxldGUgbVNldHRpbmdzLnJlZjtcblx0XHRkZWxldGUgbVNldHRpbmdzLmNsYXNzO1xuXHRcdGxldCBzZXR0aW5nc0tleToga2V5b2YgdHlwZW9mIG1TZXR0aW5ncztcblx0XHRmb3IgKHNldHRpbmdzS2V5IGluIG1TZXR0aW5ncykge1xuXHRcdFx0aWYgKChtU2V0dGluZ3Nbc2V0dGluZ3NLZXldIGFzIGFueSk/Ll90eXBlKSB7XG5cdFx0XHRcdG1TZXR0aW5nc1tzZXR0aW5nc0tleV0gPSBjb21waWxlRXhwcmVzc2lvbihtU2V0dGluZ3Nbc2V0dGluZ3NLZXldIGFzIGFueSkgYXMgYW55O1xuXHRcdFx0fVxuXHRcdH1cblx0XHR0YXJnZXRDb250cm9sID0gbmV3IENvbnRyb2xUeXBlKG1TZXR0aW5ncyBhcyAkQ29udHJvbFNldHRpbmdzKTtcblx0XHRpZiAoY2xhc3NEZWYpIHtcblx0XHRcdHRhcmdldENvbnRyb2wuYWRkU3R5bGVDbGFzcyhjbGFzc0RlZik7XG5cdFx0fVxuXHRcdGlmIChyZWZEZWYpIHtcblx0XHRcdHJlZkRlZi5zZXRDdXJyZW50KHRhcmdldENvbnRyb2wgYXMgYW55KTtcblx0XHR9XG5cdH0gZWxzZSBpZiAodHlwZW9mIENvbnRyb2xUeXBlID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRjb25zdCBjb250cm9sVHlwZUZuID0gQ29udHJvbFR5cGU7XG5cdFx0dGFyZ2V0Q29udHJvbCA9IGNvbnRyb2xUeXBlRm4obVNldHRpbmdzIGFzICRDb250cm9sU2V0dGluZ3MpO1xuXHR9IGVsc2Uge1xuXHRcdHRhcmdldENvbnRyb2wgPSBuZXcgVGV4dCh7IHRleHQ6IFwiTWlzc2luZyBjb21wb25lbnQgXCIgKyAoQ29udHJvbFR5cGUgYXMgYW55KSB9KTtcblx0fVxuXG5cdHJldHVybiB0YXJnZXRDb250cm9sO1xufTtcblxuZXhwb3J0IGRlZmF1bHQganN4Q29udHJvbDtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7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
|