@sap/open.fe 1.96.0 → 1.97.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/.library +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/.theming +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton-dbg.js +57 -42
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/library-dbg.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js +2 -2
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +4 -4
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js.map +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/library.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/manifest.json +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/resources.json +4 -4
- package/packages/sap.fe.common/test/sap/fe/common/designtime/api.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/.library +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/.theming +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +59 -274
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +52 -64
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +18 -22
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +80 -4
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +42 -23
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +36 -21
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +9 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +20 -50
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +222 -102
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState-dbg.js +33 -6
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +109 -111
- package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d-dbg.js +8 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.ts +0 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +2 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +4 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +10 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.ts +9 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +67 -40
- package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action-dbg.js +6 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.ts +6 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +57 -18
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.ts +51 -13
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +130 -19
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.ts +139 -18
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID-dbg.js +9 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.ts +4 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +18 -7
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.ts +17 -12
- package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +2 -1
- package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js.map +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter-dbg.js +27 -4
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.ts +20 -3
- package/packages/sap.fe.core/src/sap/fe/core/fpm/manifest.json +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +211 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.ts +202 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes-dbg.js +32 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes.ts +36 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper-dbg.js +51 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +10 -9
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +232 -228
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +4 -4
- package/packages/sap.fe.core/src/sap/fe/core/library.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/manifest.json +10 -10
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +15 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +11 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +11 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +11 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +19 -9
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +11 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/resources.json +200 -121
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +30 -19
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper-dbg.js +80 -7
- package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.ts +42 -2
- package/packages/sap.fe.core/test/sap/fe/core/designtime/api.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/buildingBlockOverview.md +4 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.view.xml +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/manifest.json +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnAdaptation.fragment.xml +13 -10
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnButton.fragment.xml +7 -4
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/service.cds +1 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/manifest.json +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/CommonUtils.spec.js +119 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +285 -4
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.js +121 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.ts +79 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.js +147 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.ts +96 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +51 -18
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +109 -17
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/MetaModelConverter.spec.ts.snap +66 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/EntitySetHelper.cds +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/EntitySetHelperMainEntitySortableFalse.cds +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableGetSelectionMode.cds +8 -8
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.js +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.ts +38 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.js +483 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.ts +376 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlRefreshStrategyTests.js +101 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlRefreshStrategyTests.ts +105 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlsForRefreshTests.js +103 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlsForRefreshTests.ts +106 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/RefreshStrategyForIntentTests.js +118 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/RefreshStrategyForIntentTests.ts +118 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/StoreStrategyTests.js +101 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/StoreStrategyTests.ts +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ModelHelper.spec.js +118 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.js +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/EntitySetHelper.spec.js +89 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/EntitySetHelper.spec.ts +73 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/TemplatingExpressions.qunit.js +4 -2
- package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/.library +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/.theming +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +15 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper-dbg.js +9 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil-dbg.js +30 -11
- package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +3 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.ts +3 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate-dbg.js +17 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +1 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +4 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FlexibleColumnLayoutActions.fragment.xml +6 -15
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.fragment.xml +14 -12
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +2 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +12 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI-dbg.js +15 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +10 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +81 -9
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime-dbg.js +13 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating-dbg.js +5 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.ts +4 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkContactContent.fragment.xml +1 -7
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +5 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkForContact.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime-dbg.js +46 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +17 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +26 -16
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/File.fragment.xml +1 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +4 -13
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +10 -10
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate-dbg.js +5 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +72 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/library-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js +12 -11
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js +93 -91
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js.map +4 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/library.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/manifest.json +9 -9
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle.properties +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +3 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +3 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/MicroChartTitle.fragment.xml +21 -11
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/RadialMicroChart.fragment.xml +2 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +149 -110
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +3 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +70 -29
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +53 -36
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +3 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +2 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.js +844 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.ts +833 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.js +495 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.ts +440 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.js +469 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.ts +448 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.js +94 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.ts +70 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.js +12 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.ts +11 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DelegateUtil.spec.js +61 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldHelper.spec.js +46 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldHelper.spec.ts +30 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.js +13 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.ts +11 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormElement.spec.js +66 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormElement.spec.ts +35 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.js +48 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.ts +56 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.js +68 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.ts +65 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ChartDelegate.spec.ts.snap +82 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/DatapointMacro.spec.ts.snap +23 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldHelper.spec.ts.snap +47 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroDataFieldTypes.spec.ts.snap +52 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FormElement.spec.ts.snap +25 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +0 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/SimpleFieldMacro.spec.ts.snap +69 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/TableFieldLabel.spec.ts.snap +451 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldHelper.xml +68 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Table.cds +13 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/TableFieldLabel.cds +152 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.js +116 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.ts +115 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/FormElement.spec.js +86 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/FormElement.spec.ts +54 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/__snapshots__/FormElement.spec.ts.snap +33 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.js +154 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.ts +128 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.js +7 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.ts +23 -12
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/__snapshots__/TableDelegate.spec.ts.snap +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/index.json +0 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelperTemplate.qunit.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormElementTemplating.qunit.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelper.qunit.js +108 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.library +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.theming +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-dbg.js +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js +2 -2
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js +2 -2
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library.js +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/manifest.json +3 -3
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/api.json +1 -1
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.library +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.theming +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-dbg.js +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js +4 -4
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js.map +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library.js +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/manifest.json +3 -3
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/resources.json +3 -3
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderALP.fragment.html +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOVP.fragment.html +1 -1
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/api.json +1 -1
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/.library +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/.theming +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +91 -60
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +31 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/resources.json +5 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component-dbg.js +18 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +114 -85
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox-dbg.js +8 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState-dbg.js +23 -3
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +15 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating-dbg.js +6 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +6 -4
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPointTitle.fragment.xml +26 -16
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +5 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl-dbg.controller.js +63 -9
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer-dbg.controller.js +54 -32
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController-dbg.js +24 -21
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/Fcl.view.xml +2 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/NavContainer.view.xml +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/Table.fragment.xml +2 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/library-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js +8 -9
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js +23 -30
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js.map +4 -4
- package/packages/sap.fe.templates/src/sap/fe/templates/library.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/manifest.json +13 -13
- package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +51 -60
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/manifest.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/api.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.js +95 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.ts +66 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.js +134 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.ts +94 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/HeaderFacet.spec.ts.snap +61 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/ObjectPageHeaderForm.spec.ts.snap +53 -0
- package/packages/sap.fe.test/src/sap/fe/test/.library +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/.theming +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/FCLView-dbg.js +0 -6
- package/packages/sap.fe.test/src/sap/fe/test/FCLView.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/Flexibility-dbg.js +14 -3
- package/packages/sap.fe.test/src/sap/fe/test/Flexibility.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper-dbg.js +85 -8
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.ts +54 -2
- package/packages/sap.fe.test/src/sap/fe/test/ListReport-dbg.js +0 -11
- package/packages/sap.fe.test/src/sap/fe/test/ListReport.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage-dbg.js +0 -38
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/TemplatePage-dbg.js +0 -12
- package/packages/sap.fe.test/src/sap/fe/test/TemplatePage.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper-dbg.js +22 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.ts +14 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI-dbg.js +21 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI-dbg.js +9 -5
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions-dbg.js +18 -5
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions-dbg.js +25 -5
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/EditState-dbg.js +9 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/EditState.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions-dbg.js +38 -4
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions-dbg.js +33 -4
- package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/TableActions-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/library-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js +3 -3
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +23 -16
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +3 -3
- package/packages/sap.fe.test/src/sap/fe/test/library.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/manifest.json +3 -3
- package/packages/sap.fe.test/src/sap/fe/test/resources.json +36 -34
- package/packages/sap.fe.test/test/sap/fe/test/designtime/api.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.jsmeta.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.96.json +0 -49
- package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.96.json +0 -189
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldRuntime.qunit.js +0 -73
- package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.96.json +0 -160
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/relnote/changes-1.96.json +0 -17
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover-dbg.js +0 -26
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover.js +0 -6
- package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.96.json +0 -153
|
@@ -33,6 +33,7 @@ sap.ui.define(["sap/fe/test/JestTemplatingHelper", "sap/fe/macros/internal/DataP
|
|
|
33
33
|
dataPointCV: "/Items/$Type/@com.sap.vocabularies.UI.v1.DataPoint#criticalityValue",
|
|
34
34
|
dataPointP: "/Items/$Type/@com.sap.vocabularies.UI.v1.DataPoint#percent",
|
|
35
35
|
dataPointUnit: "/Items/$Type/@com.sap.vocabularies.UI.v1.DataPoint#unit",
|
|
36
|
+
dataPointDateTimeOffset: "/Items/$Type/@com.sap.vocabularies.UI.v1.DataPoint#DateTimeOffset",
|
|
36
37
|
dataPointONwC_NavPInFacetTarget: "/Items/$Type/@com.sap.vocabularies.UI.v1.HeaderFacets/0/Target/$AnnotationPath",
|
|
37
38
|
dataPointON_NavPInFacetTarget: "/Items/$Type/@com.sap.vocabularies.UI.v1.HeaderFacets/1/Target/$AnnotationPath",
|
|
38
39
|
dataPointR_NavPInFacetTarget: "/Items/$Type/@com.sap.vocabularies.UI.v1.HeaderFacets/2/Target/$AnnotationPath",
|
|
@@ -298,6 +299,16 @@ sap.ui.define(["sap/fe/test/JestTemplatingHelper", "sap/fe/macros/internal/DataP
|
|
|
298
299
|
return Promise.reject(e);
|
|
299
300
|
}
|
|
300
301
|
});
|
|
302
|
+
it("Header: DataPoint macro with ObjectNumber ( type DateTimeOffset )", function () {
|
|
303
|
+
try {
|
|
304
|
+
var xmlField = "<internalMacro:DataPoint xmlns:internalMacro=\"sap.fe.macros.internal\"\n metaPath=\"{dataPointDateTimeOffset>}\"\n\t\t\t\t\t\t\t\tcontextPath=\"{entitySet>}\">\n\t\t\t\t\t\t\t\t<internalMacro:formatOptions\n\t\t\t\t\t\t\t\t\tdefaultDataPointStyle=\"ObjectNumber\" />\n\t\t\t\t\t\t\t</internalMacro:DataPoint>";
|
|
305
|
+
return Promise.resolve(getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {})).then(function (templatedXML) {
|
|
306
|
+
expect(templatedXML).toMatchSnapshot();
|
|
307
|
+
});
|
|
308
|
+
} catch (e) {
|
|
309
|
+
return Promise.reject(e);
|
|
310
|
+
}
|
|
311
|
+
});
|
|
301
312
|
});
|
|
302
313
|
}, false);
|
|
303
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFwb2ludE1hY3JvLnNwZWMudHMiXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJiZWZvcmVBbGwiLCJyZWdpc3Rlck1hY3JvIiwiRGF0YVBvaW50TWV0YWRhdGEiLCJhZnRlckFsbCIsInVucmVnaXN0ZXJNYWNybyIsInNNZXRhZGF0YVVybCIsImNvbXBpbGVDRFMiLCJwYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsIm1CaW5kaW5nQ29udGV4dHMiLCJkYXRhUG9pbnRWRiIsImRhdGFQb2ludFBJIiwiZGF0YVBvaW50UElVIiwiZGF0YVBvaW50UElQVSIsImRhdGFQb2ludFIiLCJkYXRhUG9pbnRSc3MiLCJkYXRhUG9pbnRSRCIsImRhdGFQb2ludE4iLCJkYXRhUG9pbnREUyIsImRhdGFQb2ludFNWVCIsImRhdGFQb2ludENQIiwiZGF0YVBvaW50Q1YiLCJkYXRhUG9pbnRQIiwiZGF0YVBvaW50VW5pdCIsImRhdGFQb2ludE9Od0NfTmF2UEluRmFjZXRUYXJnZXQiLCJkYXRhUG9pbnRPTl9OYXZQSW5GYWNldFRhcmdldCIsImRhdGFQb2ludFJfTmF2UEluRmFjZXRUYXJnZXQiLCJkYXRhUG9pbnRQSV9OYXZQSW5GYWNldFRhcmdldCIsImRhdGFQb2ludE9OX05hdlBpblRhcmdldCIsImVudGl0eVNldCIsIml0IiwieG1sRmllbGQiLCJnZXRUZW1wbGF0ZWRYTUwiLCJ0ZW1wbGF0ZWRYTUwiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7OztBQUdBQSxFQUFBQSxRQUFRLENBQUMsdUJBQUQsRUFBMEIsWUFBTTtBQUN2Q0MsSUFBQUEsU0FBUyxDQUFDLFlBQU07QUFDZkMsTUFBQUEsYUFBYSxDQUFDQyxpQkFBRCxDQUFiO0FBQ0EsS0FGUSxDQUFUO0FBR0FDLElBQUFBLFFBQVEsQ0FBQyxZQUFNO0FBQ2RDLE1BQUFBLGVBQWUsQ0FBQ0YsaUJBQUQsQ0FBZjtBQUNBLEtBRk8sQ0FBUjtBQUdBLFFB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QSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFUeUY7QUFVekYsT0FWQztBQUFBO0FBQUE7QUFBQSxNQUFGO0FBV0FMLElBQUFBLEVBQUUsQ0FBQyx5RUFBRDtBQUFBLFVBQXdGO0FBQ3pGLFlBQU1DLFFBQVEsK1VBQWQ7QUFEeUYsK0JBTzlEQyxlQUFlLENBQUNELFFBQUQsRUFBVzNCLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQVArQyxpQkFPbkZ3QixZQVBtRjtBQVF6RkMsVUFBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBUnlGO0FBU3pGLE9BVEM7QUFBQTtBQUFBO0FBQUEsTUFBRjtBQVVBLEdBblJPLENBQVIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXBpbGVDRFMsIGdldFRlbXBsYXRlZFhNTCwgcmVnaXN0ZXJNYWNybywgdW5yZWdpc3Rlck1hY3JvIH0gZnJvbSBcInNhcC9mZS90ZXN0L0plc3RUZW1wbGF0aW5nSGVscGVyXCI7XG5pbXBvcnQgRGF0YVBvaW50TWV0YWRhdGEgZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvRGF0YVBvaW50Lm1ldGFkYXRhXCI7XG5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuZGVzY3JpYmUoXCJEYXRhUG9pbnQgbWFjcm8gdGVzdHNcIiwgKCkgPT4ge1xuXHRiZWZvcmVBbGwoKCkgPT4ge1xuXHRcdHJlZ2lzdGVyTWFjcm8oRGF0YVBvaW50TWV0YWRhdGEpO1xuXHR9KTtcblx0YWZ0ZXJBbGwoKCkgPT4ge1xuXHRcdHVucmVnaXN0ZXJNYWNybyhEYXRhUG9pbnRNZXRhZGF0YSk7XG5cdH0pO1xuXHRjb25zdCBzTWV0YWRhdGFVcmwgPSBjb21waWxlQ0RTKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi9kYXRhL0ZpZWxkTWFjcm9EYXRhRmllbGRUeXBlcy5jZHNcIikpO1xuXHRjb25zdCBtQmluZGluZ0NvbnRleHRzID0ge1xuXHRcdGRhdGFQb2ludFZGOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I3dpdGhWYWx1ZUZvcm1hdFwiLFxuXHRcdGRhdGFQb2ludFBJOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I1Byb2dyZXNzXCIsXG5cdFx0ZGF0YVBvaW50UElVOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I1Byb2dyZXNzV2l0aFVuaXRcIixcblx0XHRkYXRhUG9pbnRQSVBVOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I1Byb2dyZXNzV2l0aFBlcmNlbnRhZ2VVbml0XCIsXG5cdFx0ZGF0YVBvaW50UjogXCIvSXRlbXMvJFR5cGUvQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFQb2ludCNSYXRpbmdcIixcblx0XHRkYXRhUG9pbnRSc3M6IFwiL0l0ZW1zLyRUeXBlL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhUG9pbnQjUmF0aW5nU2FtcGxlU2l6ZVwiLFxuXHRcdGRhdGFQb2ludFJEOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I1JhdGluZ0R5bmFtaWNcIixcblx0XHRkYXRhUG9pbnROOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I251bWJlclwiLFxuXHRcdGRhdGFQb2ludERTOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I2Rlc2NyaXB0aW9uYW5kc3RyaW5nXCIsXG5cdFx0ZGF0YVBvaW50U1ZUOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I1N0YXRpY3ZhbHVldGFyZ2V0XCIsXG5cdFx0ZGF0YVBvaW50Q1A6IFwiL0l0ZW1zLyRUeXBlL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhUG9pbnQjY3JpdGljYWxpdHlQcm9wZXJ0eVwiLFxuXHRcdGRhdGFQb2ludENWOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I2NyaXRpY2FsaXR5VmFsdWVcIixcblx0XHRkYXRhUG9pbnRQOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I3BlcmNlbnRcIixcblx0XHRkYXRhUG9pbnRVbml0OiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I3VuaXRcIixcblx0XHRkYXRhUG9pbnRPTndDX05hdlBJbkZhY2V0VGFyZ2V0OiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuSGVhZGVyRmFjZXRzLzAvVGFyZ2V0LyRBbm5vdGF0aW9uUGF0aFwiLFxuXHRcdGRhdGFQb2ludE9OX05hdlBJbkZhY2V0VGFyZ2V0OiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuSGVhZGVyRmFjZXRzLzEvVGFyZ2V0LyRBbm5vdGF0aW9uUGF0aFwiLFxuXHRcdGRhdGFQb2ludFJfTmF2UEluRmFjZXRUYXJnZXQ6IFwiL0l0ZW1zLyRUeXBlL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5IZWFkZXJGYWNldHMvMi9UYXJnZXQvJEFubm90YXRpb25QYXRoXCIsXG5cdFx0ZGF0YVBvaW50UElfTmF2UEluRmFjZXRUYXJnZXQ6IFwiL0l0ZW1zLyRUeXBlL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5IZWFkZXJGYWNldHMvMy9UYXJnZXQvJEFubm90YXRpb25QYXRoXCIsXG5cdFx0ZGF0YVBvaW50T05fTmF2UGluVGFyZ2V0OiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuSGVhZGVyRmFjZXRzLzQvVGFyZ2V0LyRBbm5vdGF0aW9uUGF0aFwiLFxuXHRcdGVudGl0eVNldDogXCIvSXRlbXNcIlxuXHR9O1xuXG5cdC8qKlxuXHQgKiBUZXN0IGZvciB0aGUgRGF0YVBvaW50IGZyYWdtZW50IGFzIGEgbWFjcm9cblx0ICovXG5cblx0aXQoXCJEYXRhcG9pbnQgd2l0aCB2YWx1ZSBmb3JtYXQsIGRlZmF1bHREYXRhUG9pbnRTdHlsZVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50VkY+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIi8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkRhdGFQb2ludCBtYWNybyB3aXRoIFJhdGluZ0luZGljYXRvclwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50Uj59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiIC8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkRhdGFQb2ludCB3aXRoIE5hdiBQcm9wIGluIGl0cyB0YXJnZXRcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkRhdGFQb2ludCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFQYXRoPVwie2RhdGFQb2ludE9OX05hdlBpblRhcmdldD59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnNcblx0XHRcdFx0XHRcdFx0XHRcdGRlZmF1bHREYXRhUG9pbnRTdHlsZT1cIk9iamVjdE51bWJlclwiIC8+XG5cdFx0XHRcdFx0XHRcdDwvaW50ZXJuYWxNYWNybzpEYXRhUG9pbnQ+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkRhdGFQb2ludCBtYWNybyB3aXRoIFByb2dyZXNzSW5kaWNhdG9yXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhUGF0aD1cIntkYXRhUG9pbnRQST59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiIC8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkRhdGFQb2ludCBtYWNybyB3aXRoIFByb2dyZXNzSW5kaWNhdG9yV2l0aFVuaXRcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkRhdGFQb2ludCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFQYXRoPVwie2RhdGFQb2ludFBJVT59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiIC8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkRhdGFQb2ludCBtYWNybyB3aXRoIFByb2dyZXNzSW5kaWNhdG9yV2l0aFBlcmNlbnRhZ2VVbml0XCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhUGF0aD1cIntkYXRhUG9pbnRQSVBVPn1cIlxuXHRcdFx0XHRcdFx0XHRcdGNvbnRleHRQYXRoPVwie2VudGl0eVNldD59XCIgLz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiRGF0YVBvaW50IG1hY3JvIHdpdGggTnVtYmVyLCBkZWZhdWx0RGF0YVBvaW50U3R5bGVcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkRhdGFQb2ludCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFQYXRoPVwie2RhdGFQb2ludE4+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIiAvPmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJEYXRhUG9pbnQgZnJvbSBhIEhlYWRlciBGYWNldCByZWFjaGVkIHZpYSBhIG5hdmlnYXRpb24gcHJvcGVydHksIGZvcm1hdE9wdGlvbnMgZGVmYXVsdERhdGFQb2ludFN0eWxlPU9iamVjdE51bWJlciAod2l0aCBjdXJyZW5jeSlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkRhdGFQb2ludCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFQYXRoPVwie2RhdGFQb2ludE9Od0NfTmF2UEluRmFjZXRUYXJnZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIj5cblx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zXG5cdFx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0RGF0YVBvaW50U3R5bGU9XCJPYmplY3ROdW1iZXJcIiAvPlxuXHRcdFx0XHRcdFx0XHQ8L2ludGVybmFsTWFjcm86RGF0YVBvaW50PmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJEYXRhUG9pbnQgZnJvbSBhIEhlYWRlciBGYWNldCByZWFjaGVkIHZpYSBhIG5hdmlnYXRpb24gcHJvcGVydHksIGZvcm1hdE9wdGlvbnMgZGVmYXVsdERhdGFQb2ludFN0eWxlPU9iamVjdE51bWJlclwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50T05fTmF2UEluRmFjZXRUYXJnZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIj5cblx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zXG5cdFx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0RGF0YVBvaW50U3R5bGU9XCJPYmplY3ROdW1iZXJcIiAvPlxuXHRcdFx0XHRcdFx0XHQ8L2ludGVybmFsTWFjcm86RGF0YVBvaW50PmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJEYXRhUG9pbnQgbWFjcm8gd2l0aCBSYXRpbmdJbmRpY2F0b3IgZnJvbSBhIEhlYWRlciBGYWNldCByZWFjaGVkIHZpYSBhIG5hdmlnYXRpb24gcHJvcGVydHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkRhdGFQb2ludCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFQYXRoPVwie2RhdGFQb2ludFJfTmF2UEluRmFjZXRUYXJnZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIiAvPmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJEYXRhUG9pbnQgbWFjcm8gd2l0aCBQcm9ncmVzc0luZGljYXRvciBmcm9tIGEgSGVhZGVyIEZhY2V0IHJlYWNoZWQgdmlhIGEgbmF2aWdhdGlvbiBwcm9wZXJ0eVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50UElfTmF2UEluRmFjZXRUYXJnZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIiAvPmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJEYXRhUG9pbnQgbWFjcm8gd2l0aCBUZXh0IGRlc2NyaXB0aW9uIGFuZCBjcml0aWNhbGl0eSAsIGZvcm1hdE9wdGlvbnMgZGlzcGxheU1vZGU9VmFsdWVEZXNjcmlwdGlvblwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50RFM+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIj5cblx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5TW9kZT1cIlZhbHVlRGVzY3JpcHRpb25cIi8+XG5cdFx0XHRcdFx0XHRcdFx0PC9pbnRlcm5hbE1hY3JvOkRhdGFQb2ludD5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiRGF0YVBvaW50IG1hY3JvIHdpdGggVGV4dCBkZXNjcmlwdGlvbiAsIHN0YXRpYyB2YWx1ZSAmIHRhcmdldCwgZm9ybWF0T3B0aW9ucyBkaXNwbGF5TW9kZT1WYWx1ZURlc2NyaXB0aW9uXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhUGF0aD1cIntkYXRhUG9pbnRTVlQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIi8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkRhdGFQb2ludCBtYWNybyB3aXRoIFRleHQgZGVzY3JpcHRpb24gLCBmb3JtYXRPcHRpb25zIGRpc3BsYXlNb2RlPURlc2NyaXB0aW9uVmFsdWVcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkRhdGFQb2ludCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFQYXRoPVwie2RhdGFQb2ludERTPn1cIlxuXHRcdFx0XHRcdFx0XHRcdGNvbnRleHRQYXRoPVwie2VudGl0eVNldD59XCI+XG5cdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9uc1xuXHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheU1vZGU9XCJEZXNjcmlwdGlvblZhbHVlXCIvPlxuXHRcdFx0XHRcdFx0XHRcdDwvaW50ZXJuYWxNYWNybzpEYXRhUG9pbnQ+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkRhdGFQb2ludCBtYWNybyB3aXRoIFRleHQgZGVzY3JpcHRpb24gLCBVbml0ID0gJVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50UD59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiLz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXHRpdChcIkRhdGFQb2ludCBtYWNybyB3aXRoIENyaXRpY2FsaXR5IChwYXRoKVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50Q1A+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIi8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkRhdGFQb2ludCBtYWNybyB3aXRoIENyaXRpY2FsaXR5IChlbnVtKVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50Q1Y+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIi8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkRhdGFQb2ludCBtYWNybyB3aXRoIFJhdGluZ0luZGljYXRvciwgd2l0aCBzYW1wbGUgc2l6ZVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdG1ldGFQYXRoPVwie2RhdGFQb2ludFJzcz59XCJcblx0XHRcdGNvbnRleHRQYXRoPVwie2VudGl0eVNldD59XCIgPlxuXHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zXG5cdFx0XHRcdFx0c2hvd0xhYmVscz1cInRydWVcIi8+XG5cdFx0XHQ8L2ludGVybmFsTWFjcm86RGF0YVBvaW50PmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0LyoqXG5cdCAqIFRlc3QgZm9yIERhdGFQb2ludCBmcmFnbWVudCBmcm9tIGhlYWRlckNvbnRlbnRcblx0ICovXG5cblx0aXQoXCJIZWFkZXI6IERhdGFQb2ludCBtYWNybyB3aXRoIFJhdGluZ0luZGljYXRvclwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50Uj59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnNcblx0XHRcdFx0XHRcdFx0XHRcdHNob3dMYWJlbHM9XCJ0cnVlXCIvPlxuXHRcdFx0XHRcdFx0XHQ8L2ludGVybmFsTWFjcm86RGF0YVBvaW50PmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJEYXRhUG9pbnQgbWFjcm8gd2l0aCBSYXRpbmdJbmRpY2F0b3Igd2l0aCBEeW5hbWljIFZhbHVlXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRtZXRhUGF0aD1cIntkYXRhUG9pbnRSRD59XCJcblx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIiA+XG5cdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnNcblx0XHRcdFx0XHRzaG93TGFiZWxzPVwidHJ1ZVwiLz5cblx0XHRcdDwvaW50ZXJuYWxNYWNybzpEYXRhUG9pbnQ+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkhlYWRlcjogRGF0YVBvaW50IG1hY3JvIHdpdGggUHJvZ3Jlc3NJbmRpY2F0b3JcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkRhdGFQb2ludCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFQYXRoPVwie2RhdGFQb2ludFBJPn1cIlxuXHRcdFx0XHRcdFx0XHRcdGNvbnRleHRQYXRoPVwie2VudGl0eVNldD59XCI+XG5cdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9uc1xuXHRcdFx0XHRcdFx0XHRcdFx0c2hvd0xhYmVscz1cInRydWVcIi8+XG5cdFx0XHRcdFx0XHRcdDwvaW50ZXJuYWxNYWNybzpEYXRhUG9pbnQ+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblx0aXQoXCJIZWFkZXI6IERhdGFQb2ludCBtYWNybyB3aXRoIFNhbGVzT3JkZXJUeXBlQmlzXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhUGF0aD1cIntkYXRhUG9pbnROPn1cIlxuXHRcdFx0XHRcdFx0XHRcdGNvbnRleHRQYXRoPVwie2VudGl0eVNldD59XCI+XG5cdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9uc1xuXHRcdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdERhdGFQb2ludFN0eWxlPVwiT2JqZWN0TnVtYmVyXCIgLz5cblx0XHRcdFx0XHRcdFx0PC9pbnRlcm5hbE1hY3JvOkRhdGFQb2ludD5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiSGVhZGVyOiBEYXRhUG9pbnQgbWFjcm8gd2l0aCBPYmplY3ROdW1iZXIgKCBtZWFzdXJlRGlzcGxheU1vZGU6IFJlYWRPbmx5KVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50VW5pdD59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnNcblx0XHRcdFx0XHRcdFx0XHRcdG1lYXN1cmVEaXNwbGF5TW9kZT1cIlJlYWRPbmx5XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRlZmF1bHREYXRhUG9pbnRTdHlsZT1cIk9iamVjdE51bWJlclwiIC8+XG5cdFx0XHRcdFx0XHRcdDwvaW50ZXJuYWxNYWNybzpEYXRhUG9pbnQ+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblx0aXQoXCJIZWFkZXI6IERhdGFQb2ludCBtYWNybyB3aXRoIE9iamVjdE51bWJlciAoIG1lYXN1cmVEaXNwbGF5TW9kZTogSGlkZGVuKVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50VW5pdD59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnNcblx0XHRcdFx0XHRcdFx0XHRcdG1lYXN1cmVEaXNwbGF5TW9kZT1cIkhpZGRlblwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0RGF0YVBvaW50U3R5bGU9XCJPYmplY3ROdW1iZXJcIiAvPlxuXHRcdFx0XHRcdFx0XHQ8L2ludGVybmFsTWFjcm86RGF0YVBvaW50PmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cdGl0KFwiSGVhZGVyOiBEYXRhUG9pbnQgbWFjcm8gd2l0aCBPYmplY3ROdW1iZXIgKCBtZWFzdXJlRGlzcGxheU1vZGUgbm90IHNldClcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkRhdGFQb2ludCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFQYXRoPVwie2RhdGFQb2ludFVuaXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIj5cblx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zXG5cdFx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0RGF0YVBvaW50U3R5bGU9XCJPYmplY3ROdW1iZXJcIiAvPlxuXHRcdFx0XHRcdFx0XHQ8L2ludGVybmFsTWFjcm86RGF0YVBvaW50PmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG59KTtcbiJdfQ==
|
|
314
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFwb2ludE1hY3JvLnNwZWMudHMiXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJiZWZvcmVBbGwiLCJyZWdpc3Rlck1hY3JvIiwiRGF0YVBvaW50TWV0YWRhdGEiLCJhZnRlckFsbCIsInVucmVnaXN0ZXJNYWNybyIsInNNZXRhZGF0YVVybCIsImNvbXBpbGVDRFMiLCJwYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsIm1CaW5kaW5nQ29udGV4dHMiLCJkYXRhUG9pbnRWRiIsImRhdGFQb2ludFBJIiwiZGF0YVBvaW50UElVIiwiZGF0YVBvaW50UElQVSIsImRhdGFQb2ludFIiLCJkYXRhUG9pbnRSc3MiLCJkYXRhUG9pbnRSRCIsImRhdGFQb2ludE4iLCJkYXRhUG9pbnREUyIsImRhdGFQb2ludFNWVCIsImRhdGFQb2ludENQIiwiZGF0YVBvaW50Q1YiLCJkYXRhUG9pbnRQIiwiZGF0YVBvaW50VW5pdCIsImRhdGFQb2ludERhdGVUaW1lT2Zmc2V0IiwiZGF0YVBvaW50T053Q19OYXZQSW5GYWNldFRhcmdldCIsImRhdGFQb2ludE9OX05hdlBJbkZhY2V0VGFyZ2V0IiwiZGF0YVBvaW50Ul9OYXZQSW5GYWNldFRhcmdldCIsImRhdGFQb2ludFBJX05hdlBJbkZhY2V0VGFyZ2V0IiwiZGF0YVBvaW50T05fTmF2UGluVGFyZ2V0IiwiZW50aXR5U2V0IiwiaXQiLCJ4bWxGaWVsZCIsImdldFRlbXBsYXRlZFhNTCIsInRlbXBsYXRlZFhNTCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7O0FBR0FBLEVBQUFBLFFBQVEsQ0FBQyx1QkFBRCxFQUEwQixZQUFNO0FBQ3ZDQyxJQUFBQSxTQUFTLENBQUMsWUFBTTtBQUNmQyxNQUFBQSxhQUFhLENBQUNDLGlCQUFELENBQWI7QUFDQSxLQUZRLENBQVQ7QUFHQUMsSUFBQUEsUUFBUSxDQUFDLFlBQU07QUFDZEMsTUFBQUEsZUFBZSxDQUFDRixpQkFBRCxD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LEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FSK0MsaUJBUW5GeUIsWUFSbUY7QUFTekZDLFVBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQVR5RjtBQVV6RixPQVZDO0FBQUE7QUFBQTtBQUFBLE1BQUY7QUFXQUwsSUFBQUEsRUFBRSxDQUFDLHlFQUFEO0FBQUEsVUFBd0Y7QUFDekYsWUFBTUMsUUFBUSwrVUFBZDtBQUR5RiwrQkFPOURDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXNUIsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBUCtDLGlCQU9uRnlCLFlBUG1GO0FBUXpGQyxVQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFSeUY7QUFTekYsT0FUQztBQUFBO0FBQUE7QUFBQSxNQUFGO0FBVUFMLElBQUFBLEVBQUUsQ0FBQyxtRUFBRDtBQUFBLFVBQWtGO0FBQ25GLFlBQU1DLFFBQVEseVZBQWQ7QUFEbUYsK0JBT3hEQyxlQUFlLENBQUNELFFBQUQsRUFBVzVCLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQVB5QyxpQkFPN0V5QixZQVA2RTtBQVFuRkMsVUFBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBUm1GO0FBU25GLE9BVEM7QUFBQTtBQUFBO0FBQUEsTUFBRjtBQVVBLEdBOVJPLENBQVIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXBpbGVDRFMsIGdldFRlbXBsYXRlZFhNTCwgcmVnaXN0ZXJNYWNybywgdW5yZWdpc3Rlck1hY3JvIH0gZnJvbSBcInNhcC9mZS90ZXN0L0plc3RUZW1wbGF0aW5nSGVscGVyXCI7XG5pbXBvcnQgRGF0YVBvaW50TWV0YWRhdGEgZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvRGF0YVBvaW50Lm1ldGFkYXRhXCI7XG5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuZGVzY3JpYmUoXCJEYXRhUG9pbnQgbWFjcm8gdGVzdHNcIiwgKCkgPT4ge1xuXHRiZWZvcmVBbGwoKCkgPT4ge1xuXHRcdHJlZ2lzdGVyTWFjcm8oRGF0YVBvaW50TWV0YWRhdGEpO1xuXHR9KTtcblx0YWZ0ZXJBbGwoKCkgPT4ge1xuXHRcdHVucmVnaXN0ZXJNYWNybyhEYXRhUG9pbnRNZXRhZGF0YSk7XG5cdH0pO1xuXHRjb25zdCBzTWV0YWRhdGFVcmwgPSBjb21waWxlQ0RTKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi9kYXRhL0ZpZWxkTWFjcm9EYXRhRmllbGRUeXBlcy5jZHNcIikpO1xuXHRjb25zdCBtQmluZGluZ0NvbnRleHRzID0ge1xuXHRcdGRhdGFQb2ludFZGOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I3dpdGhWYWx1ZUZvcm1hdFwiLFxuXHRcdGRhdGFQb2ludFBJOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I1Byb2dyZXNzXCIsXG5cdFx0ZGF0YVBvaW50UElVOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I1Byb2dyZXNzV2l0aFVuaXRcIixcblx0XHRkYXRhUG9pbnRQSVBVOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I1Byb2dyZXNzV2l0aFBlcmNlbnRhZ2VVbml0XCIsXG5cdFx0ZGF0YVBvaW50UjogXCIvSXRlbXMvJFR5cGUvQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFQb2ludCNSYXRpbmdcIixcblx0XHRkYXRhUG9pbnRSc3M6IFwiL0l0ZW1zLyRUeXBlL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhUG9pbnQjUmF0aW5nU2FtcGxlU2l6ZVwiLFxuXHRcdGRhdGFQb2ludFJEOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I1JhdGluZ0R5bmFtaWNcIixcblx0XHRkYXRhUG9pbnROOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I251bWJlclwiLFxuXHRcdGRhdGFQb2ludERTOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I2Rlc2NyaXB0aW9uYW5kc3RyaW5nXCIsXG5cdFx0ZGF0YVBvaW50U1ZUOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I1N0YXRpY3ZhbHVldGFyZ2V0XCIsXG5cdFx0ZGF0YVBvaW50Q1A6IFwiL0l0ZW1zLyRUeXBlL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhUG9pbnQjY3JpdGljYWxpdHlQcm9wZXJ0eVwiLFxuXHRcdGRhdGFQb2ludENWOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I2NyaXRpY2FsaXR5VmFsdWVcIixcblx0XHRkYXRhUG9pbnRQOiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I3BlcmNlbnRcIixcblx0XHRkYXRhUG9pbnRVbml0OiBcIi9JdGVtcy8kVHlwZS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I3VuaXRcIixcblx0XHRkYXRhUG9pbnREYXRlVGltZU9mZnNldDogXCIvSXRlbXMvJFR5cGUvQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFQb2ludCNEYXRlVGltZU9mZnNldFwiLFxuXHRcdGRhdGFQb2ludE9Od0NfTmF2UEluRmFjZXRUYXJnZXQ6IFwiL0l0ZW1zLyRUeXBlL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5IZWFkZXJGYWNldHMvMC9UYXJnZXQvJEFubm90YXRpb25QYXRoXCIsXG5cdFx0ZGF0YVBvaW50T05fTmF2UEluRmFjZXRUYXJnZXQ6IFwiL0l0ZW1zLyRUeXBlL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5IZWFkZXJGYWNldHMvMS9UYXJnZXQvJEFubm90YXRpb25QYXRoXCIsXG5cdFx0ZGF0YVBvaW50Ul9OYXZQSW5GYWNldFRhcmdldDogXCIvSXRlbXMvJFR5cGUvQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkhlYWRlckZhY2V0cy8yL1RhcmdldC8kQW5ub3RhdGlvblBhdGhcIixcblx0XHRkYXRhUG9pbnRQSV9OYXZQSW5GYWNldFRhcmdldDogXCIvSXRlbXMvJFR5cGUvQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkhlYWRlckZhY2V0cy8zL1RhcmdldC8kQW5ub3RhdGlvblBhdGhcIixcblx0XHRkYXRhUG9pbnRPTl9OYXZQaW5UYXJnZXQ6IFwiL0l0ZW1zLyRUeXBlL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5IZWFkZXJGYWNldHMvNC9UYXJnZXQvJEFubm90YXRpb25QYXRoXCIsXG5cdFx0ZW50aXR5U2V0OiBcIi9JdGVtc1wiXG5cdH07XG5cblx0LyoqXG5cdCAqIFRlc3QgZm9yIHRoZSBEYXRhUG9pbnQgZnJhZ21lbnQgYXMgYSBtYWNyb1xuXHQgKi9cblxuXHRpdChcIkRhdGFwb2ludCB3aXRoIHZhbHVlIGZvcm1hdCwgZGVmYXVsdERhdGFQb2ludFN0eWxlXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhUGF0aD1cIntkYXRhUG9pbnRWRj59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiLz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiRGF0YVBvaW50IG1hY3JvIHdpdGggUmF0aW5nSW5kaWNhdG9yXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhUGF0aD1cIntkYXRhUG9pbnRSPn1cIlxuXHRcdFx0XHRcdFx0XHRcdGNvbnRleHRQYXRoPVwie2VudGl0eVNldD59XCIgLz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiRGF0YVBvaW50IHdpdGggTmF2IFByb3AgaW4gaXRzIHRhcmdldFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50T05fTmF2UGluVGFyZ2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdGNvbnRleHRQYXRoPVwie2VudGl0eVNldD59XCI+XG5cdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9uc1xuXHRcdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdERhdGFQb2ludFN0eWxlPVwiT2JqZWN0TnVtYmVyXCIgLz5cblx0XHRcdFx0XHRcdFx0PC9pbnRlcm5hbE1hY3JvOkRhdGFQb2ludD5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiRGF0YVBvaW50IG1hY3JvIHdpdGggUHJvZ3Jlc3NJbmRpY2F0b3JcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkRhdGFQb2ludCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFQYXRoPVwie2RhdGFQb2ludFBJPn1cIlxuXHRcdFx0XHRcdFx0XHRcdGNvbnRleHRQYXRoPVwie2VudGl0eVNldD59XCIgLz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiRGF0YVBvaW50IG1hY3JvIHdpdGggUHJvZ3Jlc3NJbmRpY2F0b3JXaXRoVW5pdFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50UElVPn1cIlxuXHRcdFx0XHRcdFx0XHRcdGNvbnRleHRQYXRoPVwie2VudGl0eVNldD59XCIgLz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiRGF0YVBvaW50IG1hY3JvIHdpdGggUHJvZ3Jlc3NJbmRpY2F0b3JXaXRoUGVyY2VudGFnZVVuaXRcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkRhdGFQb2ludCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFQYXRoPVwie2RhdGFQb2ludFBJUFU+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIiAvPmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJEYXRhUG9pbnQgbWFjcm8gd2l0aCBOdW1iZXIsIGRlZmF1bHREYXRhUG9pbnRTdHlsZVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50Tj59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiIC8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkRhdGFQb2ludCBmcm9tIGEgSGVhZGVyIEZhY2V0IHJlYWNoZWQgdmlhIGEgbmF2aWdhdGlvbiBwcm9wZXJ0eSwgZm9ybWF0T3B0aW9ucyBkZWZhdWx0RGF0YVBvaW50U3R5bGU9T2JqZWN0TnVtYmVyICh3aXRoIGN1cnJlbmN5KVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50T053Q19OYXZQSW5GYWNldFRhcmdldD59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnNcblx0XHRcdFx0XHRcdFx0XHRcdGRlZmF1bHREYXRhUG9pbnRTdHlsZT1cIk9iamVjdE51bWJlclwiIC8+XG5cdFx0XHRcdFx0XHRcdDwvaW50ZXJuYWxNYWNybzpEYXRhUG9pbnQ+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkRhdGFQb2ludCBmcm9tIGEgSGVhZGVyIEZhY2V0IHJlYWNoZWQgdmlhIGEgbmF2aWdhdGlvbiBwcm9wZXJ0eSwgZm9ybWF0T3B0aW9ucyBkZWZhdWx0RGF0YVBvaW50U3R5bGU9T2JqZWN0TnVtYmVyXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhUGF0aD1cIntkYXRhUG9pbnRPTl9OYXZQSW5GYWNldFRhcmdldD59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnNcblx0XHRcdFx0XHRcdFx0XHRcdGRlZmF1bHREYXRhUG9pbnRTdHlsZT1cIk9iamVjdE51bWJlclwiIC8+XG5cdFx0XHRcdFx0XHRcdDwvaW50ZXJuYWxNYWNybzpEYXRhUG9pbnQ+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkRhdGFQb2ludCBtYWNybyB3aXRoIFJhdGluZ0luZGljYXRvciBmcm9tIGEgSGVhZGVyIEZhY2V0IHJlYWNoZWQgdmlhIGEgbmF2aWdhdGlvbiBwcm9wZXJ0eVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50Ul9OYXZQSW5GYWNldFRhcmdldD59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiIC8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkRhdGFQb2ludCBtYWNybyB3aXRoIFByb2dyZXNzSW5kaWNhdG9yIGZyb20gYSBIZWFkZXIgRmFjZXQgcmVhY2hlZCB2aWEgYSBuYXZpZ2F0aW9uIHByb3BlcnR5XCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhUGF0aD1cIntkYXRhUG9pbnRQSV9OYXZQSW5GYWNldFRhcmdldD59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiIC8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkRhdGFQb2ludCBtYWNybyB3aXRoIFRleHQgZGVzY3JpcHRpb24gYW5kIGNyaXRpY2FsaXR5ICwgZm9ybWF0T3B0aW9ucyBkaXNwbGF5TW9kZT1WYWx1ZURlc2NyaXB0aW9uXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhUGF0aD1cIntkYXRhUG9pbnREUz59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnNcblx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXlNb2RlPVwiVmFsdWVEZXNjcmlwdGlvblwiLz5cblx0XHRcdFx0XHRcdFx0XHQ8L2ludGVybmFsTWFjcm86RGF0YVBvaW50PmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJEYXRhUG9pbnQgbWFjcm8gd2l0aCBUZXh0IGRlc2NyaXB0aW9uICwgc3RhdGljIHZhbHVlICYgdGFyZ2V0LCBmb3JtYXRPcHRpb25zIGRpc3BsYXlNb2RlPVZhbHVlRGVzY3JpcHRpb25cIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkRhdGFQb2ludCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFQYXRoPVwie2RhdGFQb2ludFNWVD59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiLz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiRGF0YVBvaW50IG1hY3JvIHdpdGggVGV4dCBkZXNjcmlwdGlvbiAsIGZvcm1hdE9wdGlvbnMgZGlzcGxheU1vZGU9RGVzY3JpcHRpb25WYWx1ZVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50RFM+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIj5cblx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5TW9kZT1cIkRlc2NyaXB0aW9uVmFsdWVcIi8+XG5cdFx0XHRcdFx0XHRcdFx0PC9pbnRlcm5hbE1hY3JvOkRhdGFQb2ludD5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiRGF0YVBvaW50IG1hY3JvIHdpdGggVGV4dCBkZXNjcmlwdGlvbiAsIFVuaXQgPSAlXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhUGF0aD1cIntkYXRhUG9pbnRQPn1cIlxuXHRcdFx0XHRcdFx0XHRcdGNvbnRleHRQYXRoPVwie2VudGl0eVNldD59XCIvPmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cdGl0KFwiRGF0YVBvaW50IG1hY3JvIHdpdGggQ3JpdGljYWxpdHkgKHBhdGgpXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhUGF0aD1cIntkYXRhUG9pbnRDUD59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiLz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiRGF0YVBvaW50IG1hY3JvIHdpdGggQ3JpdGljYWxpdHkgKGVudW0pXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhUGF0aD1cIntkYXRhUG9pbnRDVj59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiLz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiRGF0YVBvaW50IG1hY3JvIHdpdGggUmF0aW5nSW5kaWNhdG9yLCB3aXRoIHNhbXBsZSBzaXplXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0bWV0YVBhdGg9XCJ7ZGF0YVBvaW50UnNzPn1cIlxuXHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIiA+XG5cdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnNcblx0XHRcdFx0XHRzaG93TGFiZWxzPVwidHJ1ZVwiLz5cblx0XHRcdDwvaW50ZXJuYWxNYWNybzpEYXRhUG9pbnQ+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHQvKipcblx0ICogVGVzdCBmb3IgRGF0YVBvaW50IGZyYWdtZW50IGZyb20gaGVhZGVyQ29udGVudFxuXHQgKi9cblxuXHRpdChcIkhlYWRlcjogRGF0YVBvaW50IG1hY3JvIHdpdGggUmF0aW5nSW5kaWNhdG9yXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhUGF0aD1cIntkYXRhUG9pbnRSPn1cIlxuXHRcdFx0XHRcdFx0XHRcdGNvbnRleHRQYXRoPVwie2VudGl0eVNldD59XCI+XG5cdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9uc1xuXHRcdFx0XHRcdFx0XHRcdFx0c2hvd0xhYmVscz1cInRydWVcIi8+XG5cdFx0XHRcdFx0XHRcdDwvaW50ZXJuYWxNYWNybzpEYXRhUG9pbnQ+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIkRhdGFQb2ludCBtYWNybyB3aXRoIFJhdGluZ0luZGljYXRvciB3aXRoIER5bmFtaWMgVmFsdWVcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkRhdGFQb2ludCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdG1ldGFQYXRoPVwie2RhdGFQb2ludFJEPn1cIlxuXHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiID5cblx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9uc1xuXHRcdFx0XHRcdHNob3dMYWJlbHM9XCJ0cnVlXCIvPlxuXHRcdFx0PC9pbnRlcm5hbE1hY3JvOkRhdGFQb2ludD5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiSGVhZGVyOiBEYXRhUG9pbnQgbWFjcm8gd2l0aCBQcm9ncmVzc0luZGljYXRvclwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50UEk+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIj5cblx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zXG5cdFx0XHRcdFx0XHRcdFx0XHRzaG93TGFiZWxzPVwidHJ1ZVwiLz5cblx0XHRcdFx0XHRcdFx0PC9pbnRlcm5hbE1hY3JvOkRhdGFQb2ludD5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXHRpdChcIkhlYWRlcjogRGF0YVBvaW50IG1hY3JvIHdpdGggU2FsZXNPcmRlclR5cGVCaXNcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkRhdGFQb2ludCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFQYXRoPVwie2RhdGFQb2ludE4+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIj5cblx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zXG5cdFx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0RGF0YVBvaW50U3R5bGU9XCJPYmplY3ROdW1iZXJcIiAvPlxuXHRcdFx0XHRcdFx0XHQ8L2ludGVybmFsTWFjcm86RGF0YVBvaW50PmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJIZWFkZXI6IERhdGFQb2ludCBtYWNybyB3aXRoIE9iamVjdE51bWJlciAoIG1lYXN1cmVEaXNwbGF5TW9kZTogUmVhZE9ubHkpXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhUGF0aD1cIntkYXRhUG9pbnRVbml0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdGNvbnRleHRQYXRoPVwie2VudGl0eVNldD59XCI+XG5cdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9uc1xuXHRcdFx0XHRcdFx0XHRcdFx0bWVhc3VyZURpc3BsYXlNb2RlPVwiUmVhZE9ubHlcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdERhdGFQb2ludFN0eWxlPVwiT2JqZWN0TnVtYmVyXCIgLz5cblx0XHRcdFx0XHRcdFx0PC9pbnRlcm5hbE1hY3JvOkRhdGFQb2ludD5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXHRpdChcIkhlYWRlcjogRGF0YVBvaW50IG1hY3JvIHdpdGggT2JqZWN0TnVtYmVyICggbWVhc3VyZURpc3BsYXlNb2RlOiBIaWRkZW4pXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpEYXRhUG9pbnQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhUGF0aD1cIntkYXRhUG9pbnRVbml0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdGNvbnRleHRQYXRoPVwie2VudGl0eVNldD59XCI+XG5cdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9uc1xuXHRcdFx0XHRcdFx0XHRcdFx0bWVhc3VyZURpc3BsYXlNb2RlPVwiSGlkZGVuXCJcblx0XHRcdFx0XHRcdFx0XHRcdGRlZmF1bHREYXRhUG9pbnRTdHlsZT1cIk9iamVjdE51bWJlclwiIC8+XG5cdFx0XHRcdFx0XHRcdDwvaW50ZXJuYWxNYWNybzpEYXRhUG9pbnQ+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblx0aXQoXCJIZWFkZXI6IERhdGFQb2ludCBtYWNybyB3aXRoIE9iamVjdE51bWJlciAoIG1lYXN1cmVEaXNwbGF5TW9kZSBub3Qgc2V0KVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50VW5pdD59XCJcblx0XHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aD1cIntlbnRpdHlTZXQ+fVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnNcblx0XHRcdFx0XHRcdFx0XHRcdGRlZmF1bHREYXRhUG9pbnRTdHlsZT1cIk9iamVjdE51bWJlclwiIC8+XG5cdFx0XHRcdFx0XHRcdDwvaW50ZXJuYWxNYWNybzpEYXRhUG9pbnQ+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblx0aXQoXCJIZWFkZXI6IERhdGFQb2ludCBtYWNybyB3aXRoIE9iamVjdE51bWJlciAoIHR5cGUgRGF0ZVRpbWVPZmZzZXQgKVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RGF0YVBvaW50IHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVBhdGg9XCJ7ZGF0YVBvaW50RGF0ZVRpbWVPZmZzZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCJ7ZW50aXR5U2V0Pn1cIj5cblx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zXG5cdFx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0RGF0YVBvaW50U3R5bGU9XCJPYmplY3ROdW1iZXJcIiAvPlxuXHRcdFx0XHRcdFx0XHQ8L2ludGVybmFsTWFjcm86RGF0YVBvaW50PmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG59KTtcbiJdfQ==
|
|
@@ -26,6 +26,7 @@ describe("DataPoint macro tests", () => {
|
|
|
26
26
|
dataPointCV: "/Items/$Type/@com.sap.vocabularies.UI.v1.DataPoint#criticalityValue",
|
|
27
27
|
dataPointP: "/Items/$Type/@com.sap.vocabularies.UI.v1.DataPoint#percent",
|
|
28
28
|
dataPointUnit: "/Items/$Type/@com.sap.vocabularies.UI.v1.DataPoint#unit",
|
|
29
|
+
dataPointDateTimeOffset: "/Items/$Type/@com.sap.vocabularies.UI.v1.DataPoint#DateTimeOffset",
|
|
29
30
|
dataPointONwC_NavPInFacetTarget: "/Items/$Type/@com.sap.vocabularies.UI.v1.HeaderFacets/0/Target/$AnnotationPath",
|
|
30
31
|
dataPointON_NavPInFacetTarget: "/Items/$Type/@com.sap.vocabularies.UI.v1.HeaderFacets/1/Target/$AnnotationPath",
|
|
31
32
|
dataPointR_NavPInFacetTarget: "/Items/$Type/@com.sap.vocabularies.UI.v1.HeaderFacets/2/Target/$AnnotationPath",
|
|
@@ -278,4 +279,14 @@ describe("DataPoint macro tests", () => {
|
|
|
278
279
|
const templatedXML = await getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {});
|
|
279
280
|
expect(templatedXML).toMatchSnapshot();
|
|
280
281
|
});
|
|
282
|
+
it("Header: DataPoint macro with ObjectNumber ( type DateTimeOffset )", async () => {
|
|
283
|
+
const xmlField = `<internalMacro:DataPoint xmlns:internalMacro="sap.fe.macros.internal"
|
|
284
|
+
metaPath="{dataPointDateTimeOffset>}"
|
|
285
|
+
contextPath="{entitySet>}">
|
|
286
|
+
<internalMacro:formatOptions
|
|
287
|
+
defaultDataPointStyle="ObjectNumber" />
|
|
288
|
+
</internalMacro:DataPoint>`;
|
|
289
|
+
const templatedXML = await getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {});
|
|
290
|
+
expect(templatedXML).toMatchSnapshot();
|
|
291
|
+
});
|
|
281
292
|
});
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
sap.ui.define(["sap/fe/macros/DelegateUtil", "sap/fe/test/JestTemplatingHelper", "sap/fe/macros/field/FieldHelper"], function(
|
|
2
|
+
DelegateUtil,
|
|
3
|
+
JestTemplatingHelper,
|
|
4
|
+
FieldHelper
|
|
5
|
+
) {
|
|
6
|
+
"use strict";
|
|
7
|
+
describe("DelegateUtil isValueHelpRequired()", function() {
|
|
8
|
+
let oMetaModel, oMockValueHelpProperty, oMockGetCustomData, sMetadataUrl, oParameters;
|
|
9
|
+
const path = require("path");
|
|
10
|
+
|
|
11
|
+
beforeAll(function() {
|
|
12
|
+
sMetadataUrl = JestTemplatingHelper.compileCDS(path.join(__dirname, "./data/ValueHelpMacro.cds"));
|
|
13
|
+
oMockValueHelpProperty = jest.spyOn(FieldHelper, "valueHelpProperty");
|
|
14
|
+
oMockValueHelpProperty.mockReturnValue("/Items/quantityUnit");
|
|
15
|
+
oMockGetCustomData = jest.spyOn(DelegateUtil, "getCustomData");
|
|
16
|
+
return new Promise(function(resolve) {
|
|
17
|
+
JestTemplatingHelper.getMetaModel(sMetadataUrl).then(function(oServiceMetaModel) {
|
|
18
|
+
oMetaModel = oServiceMetaModel;
|
|
19
|
+
oParameters = {
|
|
20
|
+
sPropertyName: "quantityUnit",
|
|
21
|
+
oMetaModel: oMetaModel,
|
|
22
|
+
sBindingPath: "/Items"
|
|
23
|
+
};
|
|
24
|
+
resolve();
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it("is a read-only table", async function() {
|
|
30
|
+
// Table's custom data holds displayModePropertyBinding : true (Read only)
|
|
31
|
+
oMockGetCustomData.mockReturnValue(Promise.resolve("true"));
|
|
32
|
+
DelegateUtil.isValueHelpRequired(oParameters, false).then(function(bActual) {
|
|
33
|
+
// Table is read only. Value help not required.
|
|
34
|
+
expect(bActual).toBe(false);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it("is an editable table 1", async function() {
|
|
39
|
+
// Table's custom data holds displayModePropertyBinding : undefined (Editable)
|
|
40
|
+
oMockGetCustomData.mockReturnValue(Promise.resolve(undefined));
|
|
41
|
+
DelegateUtil.isValueHelpRequired(oParameters, false).then(function(bActual) {
|
|
42
|
+
// Table is editable. Value help required.
|
|
43
|
+
expect(bActual).toBe(true);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it("is an editable table 2", async function() {
|
|
48
|
+
// Table's custom data holds displayModePropertyBinding : false (Editable)
|
|
49
|
+
oMockGetCustomData.mockReturnValue(Promise.resolve("false"));
|
|
50
|
+
DelegateUtil.isValueHelpRequired(oParameters, false).then(function(bActual) {
|
|
51
|
+
// Table is editable. Value help required.
|
|
52
|
+
expect(bActual).toBe(true);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
afterAll(function() {
|
|
57
|
+
oMockValueHelpProperty.restore();
|
|
58
|
+
oMockGetCustomData.restore();
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
});
|
|
@@ -0,0 +1,46 @@
|
|
|
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/test/JestTemplatingHelper", "path", "sap/fe/macros/internal/Field.metadata"], function (JestTemplatingHelper, path, FieldMetadata) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var registerMacro = JestTemplatingHelper.registerMacro;
|
|
9
|
+
var getTemplatedXML = JestTemplatingHelper.getTemplatedXML;
|
|
10
|
+
|
|
11
|
+
describe("FieldHelper - ", function () {
|
|
12
|
+
var sMetadataUrl = path.join(__dirname, "./data/FieldHelper.xml");
|
|
13
|
+
var mBindingContexts = {
|
|
14
|
+
"entitySet": "/MainEntity"
|
|
15
|
+
};
|
|
16
|
+
beforeAll(function () {
|
|
17
|
+
try {
|
|
18
|
+
registerMacro(FieldMetadata);
|
|
19
|
+
return Promise.resolve();
|
|
20
|
+
} catch (e) {
|
|
21
|
+
return Promise.reject(e);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
it("getPressEventForDataFieldActionButton - normal string", function () {
|
|
25
|
+
try {
|
|
26
|
+
var xmlField = "<internalMacro:Field xmlns:internalMacro=\"sap.fe.macros.internal\"\n\t\t\t\t\t\t\t\t\tentitySet=\"{entitySet>}\"\n\t\t\t\t\t\t\t\t\tdataField=\"@com.sap.vocabularies.UI.v1.LineItem/0\"\n\t\t\t\t\t\t\t\t\t/>";
|
|
27
|
+
return Promise.resolve(getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {})).then(function (templatedXML) {
|
|
28
|
+
expect(templatedXML).toMatchSnapshot();
|
|
29
|
+
});
|
|
30
|
+
} catch (e) {
|
|
31
|
+
return Promise.reject(e);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
it("getPressEventForDataFieldActionButton - with single quote string", function () {
|
|
35
|
+
try {
|
|
36
|
+
var xmlField = "<internalMacro:Field xmlns:internalMacro=\"sap.fe.macros.internal\"\n\t\t\t\t\t\t\t\t\tentitySet=\"{entitySet>}\"\n\t\t\t\t\t\t\t\t\tdataField=\"@com.sap.vocabularies.UI.v1.LineItem/1\"\n\t\t\t\t\t\t\t\t\t/>";
|
|
37
|
+
return Promise.resolve(getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {})).then(function (templatedXML) {
|
|
38
|
+
expect(templatedXML).toMatchSnapshot();
|
|
39
|
+
});
|
|
40
|
+
} catch (e) {
|
|
41
|
+
return Promise.reject(e);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
}, false);
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpZWxkSGVscGVyLnNwZWMudHMiXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJzTWV0YWRhdGFVcmwiLCJwYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsIm1CaW5kaW5nQ29udGV4dHMiLCJiZWZvcmVBbGwiLCJyZWdpc3Rlck1hY3JvIiwiRmllbGRNZXRhZGF0YSIsIml0IiwieG1sRmllbGQiLCJnZXRUZW1wbGF0ZWRYTUwiLCJ0ZW1wbGF0ZWRYTUwiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7QUFFQUEsRUFBQUEsUUFBUSxDQUFDLGdCQUFELEVBQW1CLFlBQU07QUFDaEMsUUFBTUMsWUFBWSxHQUFHQyxJQUFJLENBQUNDLElBQUwsQ0FBVUMsU0FBVixFQUFxQix3QkFBckIsQ0FBckI7QUFDQSxRQUFNQyxnQkFBZ0IsR0FBRztBQUN4QixtQkFBYTtBQURXLEtBQXpCO0FBSUFDLElBQUFBLFNBQVM7QUFBQSxVQUFhO0FBQ3JCQyxRQUFBQSxhQUFhLENBQUNDLGFBQUQsQ0FBYjtBQURxQjtBQUVyQixPQUZRO0FBQUE7QUFBQTtBQUFBLE1BQVQ7QUFHQUMsSUFBQUEsRUFBRSxDQUFDLHVEQUFEO0FBQUEsVUFBc0U7QUFDdkUsWUFBTUMsUUFBUSxvTkFBZDtBQUR1RSwrQkFLNUNDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXVCxZQUFYLEVBQXlCSSxnQkFBekIsRUFBMkMsRUFBM0MsQ0FMNkIsaUJBS2pFTyxZQUxpRTtBQU12RUMsVUFBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBTnVFO0FBT3ZFLE9BUEM7QUFBQTtBQUFBO0FBQUEsTUFBRjtBQVFBTCxJQUFBQSxFQUFFLENBQUMsa0VBQUQ7QUFBQSxVQUFpRjtBQUNsRixZQUFNQyxRQUFRLG9OQUFkO0FBRGtGLCtCQUt2REMsZUFBZSxDQUFDRCxRQUFELEVBQVdULFlBQVgsRUFBeUJJLGdCQUF6QixFQUEyQyxFQUEzQyxDQUx3QyxpQkFLNUVPLFlBTDRFO0FBTWxGQyxVQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFOa0Y7QUFPbEYsT0FQQztBQUFBO0FBQUE7QUFBQSxNQUFGO0FBUUEsR0F6Qk8sQ0FBUiIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0VGVtcGxhdGVkWE1MLCByZWdpc3Rlck1hY3JvIH0gZnJvbSBcInNhcC9mZS90ZXN0L0plc3RUZW1wbGF0aW5nSGVscGVyXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IEZpZWxkTWV0YWRhdGEgZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvRmllbGQubWV0YWRhdGFcIjtcblxuZGVzY3JpYmUoXCJGaWVsZEhlbHBlciAtIFwiLCAoKSA9PiB7XG5cdGNvbnN0IHNNZXRhZGF0YVVybCA9IHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi9kYXRhL0ZpZWxkSGVscGVyLnhtbFwiKTtcblx0Y29uc3QgbUJpbmRpbmdDb250ZXh0cyA9IHtcblx0XHRcImVudGl0eVNldFwiOiBcIi9NYWluRW50aXR5XCJcblx0fTtcblxuXHRiZWZvcmVBbGwoYXN5bmMgKCkgPT4ge1xuXHRcdHJlZ2lzdGVyTWFjcm8oRmllbGRNZXRhZGF0YSk7XG5cdH0pO1xuXHRpdChcImdldFByZXNzRXZlbnRGb3JEYXRhRmllbGRBY3Rpb25CdXR0b24gLSBub3JtYWwgc3RyaW5nXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzBcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXHRpdChcImdldFByZXNzRXZlbnRGb3JEYXRhRmllbGRBY3Rpb25CdXR0b24gLSB3aXRoIHNpbmdsZSBxdW90ZSBzdHJpbmdcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMVwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { getTemplatedXML, registerMacro } from "sap/fe/test/JestTemplatingHelper";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import FieldMetadata from "sap/fe/macros/internal/Field.metadata";
|
|
4
|
+
|
|
5
|
+
describe("FieldHelper - ", () => {
|
|
6
|
+
const sMetadataUrl = path.join(__dirname, "./data/FieldHelper.xml");
|
|
7
|
+
const mBindingContexts = {
|
|
8
|
+
"entitySet": "/MainEntity"
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
beforeAll(async () => {
|
|
12
|
+
registerMacro(FieldMetadata);
|
|
13
|
+
});
|
|
14
|
+
it("getPressEventForDataFieldActionButton - normal string", async () => {
|
|
15
|
+
const xmlField = `<internalMacro:Field xmlns:internalMacro="sap.fe.macros.internal"
|
|
16
|
+
entitySet="{entitySet>}"
|
|
17
|
+
dataField="@com.sap.vocabularies.UI.v1.LineItem/0"
|
|
18
|
+
/>`;
|
|
19
|
+
const templatedXML = await getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {});
|
|
20
|
+
expect(templatedXML).toMatchSnapshot();
|
|
21
|
+
});
|
|
22
|
+
it("getPressEventForDataFieldActionButton - with single quote string", async () => {
|
|
23
|
+
const xmlField = `<internalMacro:Field xmlns:internalMacro="sap.fe.macros.internal"
|
|
24
|
+
entitySet="{entitySet>}"
|
|
25
|
+
dataField="@com.sap.vocabularies.UI.v1.LineItem/1"
|
|
26
|
+
/>`;
|
|
27
|
+
const templatedXML = await getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {});
|
|
28
|
+
expect(templatedXML).toMatchSnapshot();
|
|
29
|
+
});
|
|
30
|
+
});
|
|
@@ -103,6 +103,18 @@ sap.ui.define(["sap/fe/test/JestTemplatingHelper", "sap/fe/macros/Contact.metada
|
|
|
103
103
|
}
|
|
104
104
|
});
|
|
105
105
|
});
|
|
106
|
+
describe("DataFieldGroup - ", function () {
|
|
107
|
+
it("Rating Indicator", function () {
|
|
108
|
+
try {
|
|
109
|
+
var xmlField = "<internalMacro:Field xmlns:internalMacro=\"sap.fe.macros.internal\"\n\t\t\t\t\t\t\t\t\tentitySet=\"{entitySet>}\"\n\t\t\t\t\t\t\t\t\tdataField=\"@com.sap.vocabularies.UI.v1.LineItem#DataPoint/2\"\n\t\t\t\t\t\t\t\t\t/>";
|
|
110
|
+
return Promise.resolve(getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {})).then(function (templatedXML) {
|
|
111
|
+
expect(templatedXML).toMatchSnapshot();
|
|
112
|
+
});
|
|
113
|
+
} catch (e) {
|
|
114
|
+
return Promise.reject(e);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
});
|
|
106
118
|
describe("DataField - InputWithvalueHelp ", function () {
|
|
107
119
|
it("Datapoint visualization Integer - no measureDisplayMode", function () {
|
|
108
120
|
try {
|
|
@@ -245,4 +257,4 @@ sap.ui.define(["sap/fe/test/JestTemplatingHelper", "sap/fe/macros/Contact.metada
|
|
|
245
257
|
});
|
|
246
258
|
});
|
|
247
259
|
}, false);
|
|
248
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpZWxkTWFjcm9EYXRhRmllbGRUeXBlcy5zcGVjLnRzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiYmVmb3JlQWxsIiwicmVnaXN0ZXJNYWNybyIsIkNvbnRhY3RNZXRhZGF0YSIsIkZpZWxkTWV0YWRhdGEiLCJEYXRhUG9pbnQiLCJhZnRlckFsbCIsInVucmVnaXN0ZXJNYWNybyIsInNNZXRhZGF0YVVybCIsImNvbXBpbGVDRFMiLCJwYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsIm1CaW5kaW5nQ29udGV4dHMiLCJpdCIsInhtbEZpZWxkIiwiZ2V0VGVtcGxhdGVkWE1MIiwidGVtcGxhdGVkWE1MIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7QUFJQUEsRUFBQUEsUUFBUSxDQUFDLGlDQUFELEVBQW9DLFlBQU07QUFDakRDLElBQUFBLFNBQVMsQ0FBQyxZQUFNO0FBQ2ZDLE1BQUFBLGFBQWEsQ0FBQ0MsZUFBRCxDQUFiO0FBQ0FELE1BQUFBLGFBQWEsQ0FBQ0UsYUFBRCxDQUFiO0FBQ0FGLE1BQUFBLGFBQWEsQ0FBQ0csU0FBRCxDQUFiO0FBQ0EsS0FKUSxDQUFUO0FBS0FDLElBQUFBLFFBQVEsQ0FBQyxZQUFNO0FBQ2RDLE1BQUFBLGVBQWUsQ0FBQ0osZUFBRCxDQUFmO0FBQ0FJLE1BQUFBLGVBQWUsQ0FBQ0gsYUFBRCxDQUFmO0FBQ0FHLE1BQUFBLGVBQWUsQ0FBQ0YsU0FBRCxDQUFmO0FBQ0EsS0FKTyxDQUFSO0FBTUEsUUFBTUcsWUFBWSxHQUFHQyxVQUFVLENBQUNDLElBQUksQ0FBQ0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLHFDQUFyQixDQUFELENBQS9CO0FBQ0EsUUFBTUMsZ0JBQWdCLEdBQUc7QUFDeEIsbUJBQWE7QUFEVyxLQUF6QjtBQUdBYixJQUFBQSxRQUFRLENBQUMsMkJBQUQsRUFBOEIsWUFBTTtBQUMzQ2MsTUFBQUEsRUFBRSxDQUFDLGtCQUFEO0FBQUEsWUFBaUM7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QU5XO0FBT1gsU0FqQkE7QUFBQTtBQUFBO0FBQUEsUUFBRjtBQW1CQSxLQTFJTyxDQUFSO0FBMklBLEdBalFPLENBQVIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXBpbGVDRFMsIGdldFRlbXBsYXRlZFhNTCwgcmVnaXN0ZXJNYWNybywgdW5yZWdpc3Rlck1hY3JvIH0gZnJvbSBcInNhcC9mZS90ZXN0L0plc3RUZW1wbGF0aW5nSGVscGVyXCI7XG5pbXBvcnQgQ29udGFjdE1ldGFkYXRhIGZyb20gXCJzYXAvZmUvbWFjcm9zL0NvbnRhY3QubWV0YWRhdGFcIjtcbmltcG9ydCBGaWVsZE1ldGFkYXRhIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ludGVybmFsL0ZpZWxkLm1ldGFkYXRhXCI7XG5pbXBvcnQgRGF0YVBvaW50IGZyb20gXCJzYXAvZmUvbWFjcm9zL2ludGVybmFsL0RhdGFQb2ludC5tZXRhZGF0YVwiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5kZXNjcmliZShcIk1hY3JvRmllbGQgLSBEYXRhRmllbGQgVHlwZXMgLSBcIiwgKCkgPT4ge1xuXHRiZWZvcmVBbGwoKCkgPT4ge1xuXHRcdHJlZ2lzdGVyTWFjcm8oQ29udGFjdE1ldGFkYXRhKTtcblx0XHRyZWdpc3Rlck1hY3JvKEZpZWxkTWV0YWRhdGEpO1xuXHRcdHJlZ2lzdGVyTWFjcm8oRGF0YVBvaW50KTtcblx0fSk7XG5cdGFmdGVyQWxsKCgpID0+IHtcblx0XHR1bnJlZ2lzdGVyTWFjcm8oQ29udGFjdE1ldGFkYXRhKTtcblx0XHR1bnJlZ2lzdGVyTWFjcm8oRmllbGRNZXRhZGF0YSk7XG5cdFx0dW5yZWdpc3Rlck1hY3JvKERhdGFQb2ludCk7XG5cdH0pO1xuXG5cdGNvbnN0IHNNZXRhZGF0YVVybCA9IGNvbXBpbGVDRFMocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuL2RhdGEvRmllbGRNYWNyb0RhdGFGaWVsZFR5cGVzLmNkc1wiKSk7XG5cdGNvbnN0IG1CaW5kaW5nQ29udGV4dHMgPSB7XG5cdFx0XCJlbnRpdHlTZXRcIjogXCIvSXRlbXNcIlxuXHR9O1xuXHRkZXNjcmliZShcIkRhdGFGaWVsZEZvckFubm90YXRpb24gLSBcIiwgKCkgPT4ge1xuXHRcdGl0KFwiUmF0aW5nIEluZGljYXRvclwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtI0RhdGFQb2ludC8yXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblxuXHRcdGl0KFwiQW5hbHl0aWNhbCBEYXRhUG9pbnRcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbSNEYXRhUG9pbnQvNFwiXG5cdFx0XHRcdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zIGlzQW5hbHl0aWNzPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblxuXHRcdGl0KFwiSW5zdGFudGlhdGUgbWFjcm8gRGF0YVBvaW50IGluIHRoZSBGaWVsZFdyYXBwZXJcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbSNEYXRhUG9pbnQvMFwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0fSk7XG5cdFx0aXQoXCJDb250YWN0XCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jQ29udGFjdC8wXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0fSk7XG5cdGRlc2NyaWJlKFwiRGF0YUZpZWxkRm9yQWN0aW9uIC0gXCIsICgpID0+IHtcblx0XHRpdChcIkR1bW15IGRhdGFGaWVsZEZvckFjdGlvblwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtI0FjdGlvbi8wXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0fSk7XG5cblx0ZGVzY3JpYmUoXCJEYXRhRmllbGRXaXRoTmF2aWdhdGlvblBhdGggLSBcIiwgKCkgPT4ge1xuXHRcdGl0KFwic2ltcGxlIG9uZVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtI05hdmlnYXRpb25QYXRoLzBcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHR9KTtcblxuXHRkZXNjcmliZShcIkRhdGFGaWVsZEZvckludGVudEJhc2VkTmF2aWdhdGlvbiAtIFwiLCAoKSA9PiB7XG5cdFx0aXQoXCJzaW1wbGUgb25lXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jSW50ZW50QmFzZWROYXYvMFwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0fSk7XG5cdH0pO1xuXG5cdGRlc2NyaWJlKFwiRGF0YUZpZWxkIC0gSW5wdXRXaXRodmFsdWVIZWxwICBcIiwgKCkgPT4ge1xuXHRcdGl0KFwiRGF0YXBvaW50IHZpc3VhbGl6YXRpb24gSW50ZWdlciAtIG5vIG1lYXN1cmVEaXNwbGF5TW9kZVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFQb2ludCNJbnB1dFdpdGhWYWx1ZUhlbHBOdW1iZXJcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHRcdGl0KFxuXHRcdFx0XCJEYXRhcG9pbnQgdmlzdWFsaXphdGlvbiBJbnRlZ2VyIC0gbWVhc3VyZURpc3BsYXlNb2RlIEhpZGRlblwiLFxuXHRcdFx0e1xuXHRcdFx0XHRcInJlZmVyZW5jZXNcIjogW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFwidHlwZVwiOiBcIkpJUkFcIixcblx0XHRcdFx0XHRcdFwiSURcIjogXCJGSU9SSVRFQ0hQMS0yMTY1MFwiIC8vQWRkZWQgd2l0aCB0aGlzIG9uZSwgYnV0IG9ubHkgYW4gZW5oYW5jZW1lbnQgb2YgbWlzc2luZyB0ZXN0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRdXG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFQb2ludCNJbnB1dFdpdGhWYWx1ZUhlbHBOdW1iZXJIaWRkZW5cIlxuXHRcdFx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9ucyBtZWFzdXJlRGlzcGxheU1vZGU9XCJIaWRkZW5cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fVxuXHRcdCk7XG5cdH0pO1xuXHRkZXNjcmliZShcIkRhdGFGaWVsZCAtIENoZWNraW5nIEVkaXQgYW5kIERpc3BsYXkgbW9kZSBkaWZmZXJlbnQgb3V0cHV0IC0gXCIsICgpID0+IHtcblx0XHRpdChcblx0XHRcdFwiQ2hlY2tib3hcIixcblx0XHRcdHtcblx0XHRcdFx0XCJyZWZlcmVuY2VzXCI6IFtcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcInR5cGVcIjogXCJKSVJBXCIsXG5cdFx0XHRcdFx0XHRcIklEXCI6IFwiRklPUklURUNIUDEtMjE2NTBcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XVxuXHRcdFx0fSxcblx0XHRcdGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhUG9pbnQjQm9vbGVhblwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fVxuXHRcdCk7XG5cblx0XHRpdChcblx0XHRcdFwiQ2hlY2tib3ggd2l0aCB2YWx1ZSBoZWxwXCIsXG5cdFx0XHR7XG5cdFx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XCJ0eXBlXCI6IFwiSklSQVwiLFxuXHRcdFx0XHRcdFx0XCJJRFwiOiBcIkZJT1JJVEVDSFAxLTIxNjUwXCJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdF1cblx0XHRcdH0sXG5cdFx0XHRhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I0Jvb2xlYW5XaXRoVmFsdWVIZWxwTnVtYmVyXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9XG5cdFx0KTtcblxuXHRcdGl0KFxuXHRcdFx0XCJGaWxlIC0gTWVkaWFUeXBlIGlzIGEganBnXCIsXG5cdFx0XHR7XG5cdFx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XCJ0eXBlXCI6IFwiSklSQVwiLFxuXHRcdFx0XHRcdFx0XCJJRFwiOiBcIkZJT1JJVEVDSFAxLTIxNjUwXCIgLy9BZGRlZCB3aXRoIHRoaXMgb25lLCBidXQgb25seSBhbiBlbmhhbmNlbWVudCBvZiBtaXNzaW5nIHRlc3Rcblx0XHRcdFx0XHR9XG5cdFx0XHRcdF1cblx0XHRcdH0sXG5cdFx0XHRhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I0ZpbGVcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH1cblx0XHQpO1xuXG5cdFx0aXQoXG5cdFx0XHRcIlRleHRBcmVhXCIsXG5cdFx0XHR7XG5cdFx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XCJ0eXBlXCI6IFwiSklSQVwiLFxuXHRcdFx0XHRcdFx0XCJJRFwiOiBcIkZJT1JJVEVDSFAxLTIxNjUwXCIgLy9BZGRlZCB3aXRoIHRoaXMgb25lLCBidXQgb25seSBhbiBlbmhhbmNlbWVudCBvZiBtaXNzaW5nIHRlc3Rcblx0XHRcdFx0XHR9XG5cdFx0XHRcdF1cblx0XHRcdH0sXG5cdFx0XHRhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I1RleHRBcmVhXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9XG5cdFx0KTtcblx0XHRpdChcblx0XHRcdFwiRGF0ZVwiLFxuXHRcdFx0e1xuXHRcdFx0XHRcInJlZmVyZW5jZXNcIjogW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFwidHlwZVwiOiBcIkpJUkFcIixcblx0XHRcdFx0XHRcdFwiSURcIjogXCJGSU9SSVRFQ0hQMS0yMTY1MFwiIC8vQWRkZWQgd2l0aCB0aGlzIG9uZSwgYnV0IG9ubHkgYW4gZW5oYW5jZW1lbnQgb2YgbWlzc2luZyB0ZXN0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRdXG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFQb2ludCNEYXRlT25lXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9XG5cdFx0KTtcblx0XHRpdChcblx0XHRcdFwiVGltZSAoVGltZU9mRGF5KVwiLFxuXHRcdFx0e1xuXHRcdFx0XHRcInJlZmVyZW5jZXNcIjogW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFwidHlwZVwiOiBcIkpJUkFcIixcblx0XHRcdFx0XHRcdFwiSURcIjogXCJGSU9SSVRFQ0hQMS0yMTY1MFwiIC8vQWRkZWQgd2l0aCB0aGlzIG9uZSwgYnV0IG9ubHkgYW4gZW5oYW5jZW1lbnQgb2YgbWlzc2luZyB0ZXN0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRdXG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFQb2ludCNUaW1lT2ZEYXlcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH1cblx0XHQpO1xuXG5cdFx0aXQoXG5cdFx0XHRcIlRpbWVzdGFtcCAoRGF0ZVRpbWVPZmZzZXQpXCIsXG5cdFx0XHR7XG5cdFx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XCJ0eXBlXCI6IFwiSklSQVwiLFxuXHRcdFx0XHRcdFx0XCJJRFwiOiBcIkZJT1JJVEVDSFAxLTIxNjUwXCIgLy9BZGRlZCB3aXRoIHRoaXMgb25lLCBidXQgb25seSBhbiBlbmhhbmNlbWVudCBvZiBtaXNzaW5nIHRlc3Rcblx0XHRcdFx0XHR9XG5cdFx0XHRcdF1cblx0XHRcdH0sXG5cdFx0XHRhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I0RhdGVUaW1lT2Zmc2V0XCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9XG5cdFx0KTtcblx0fSk7XG59KTtcbiJdfQ==
|
|
260
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpZWxkTWFjcm9EYXRhRmllbGRUeXBlcy5zcGVjLnRzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiYmVmb3JlQWxsIiwicmVnaXN0ZXJNYWNybyIsIkNvbnRhY3RNZXRhZGF0YSIsIkZpZWxkTWV0YWRhdGEiLCJEYXRhUG9pbnQiLCJhZnRlckFsbCIsInVucmVnaXN0ZXJNYWNybyIsInNNZXRhZGF0YVVybCIsImNvbXBpbGVDRFMiLCJwYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsIm1CaW5kaW5nQ29udGV4dHMiLCJpdCIsInhtbEZpZWxkIiwiZ2V0VGVtcGxhdGVkWE1MIiwidGVtcGxhdGVkWE1MIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7QUFJQUEsRUFBQUEsUUFBUSxDQUFDLGlDQUFELEVBQW9DLFlBQU07QUFDakRDLElBQUFBLFNBQVMsQ0FBQyxZQUFNO0FBQ2ZDLE1BQUFBLGFBQWEsQ0FBQ0MsZUFBRCxDQUFiO0FBQ0FELE1BQUFBLGFBQWEsQ0FBQ0UsYUFBRCxDQUFiO0FBQ0FGLE1BQUFBLGFBQWEsQ0FBQ0csU0FBRCxDQUFiO0FBQ0EsS0FKUSxDQUFUO0FBS0FDLElBQUFBLFFBQVEsQ0FBQyxZQUFNO0FBQ2RDLE1BQUFBLGVBQWUsQ0FBQ0osZUFBRCxDQUFmO0FBQ0FJLE1BQUFBLGVBQWUsQ0FBQ0gsYUFBRCxDQUFmO0FBQ0FHLE1BQUFBLGVBQWUsQ0FBQ0YsU0FBRCxDQUFmO0FBQ0EsS0FKTyxDQUFSO0FBTUEsUUFBTUcsWUFBWSxHQUFHQyxVQUFVLENBQUNDLElBQUksQ0FBQ0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLHFDQUFyQixDQUFELENBQS9CO0FBQ0EsUUFBTUMsZ0JBQWdCLEdBQUc7QUFDeEIsbUJBQWE7QUFEVyxLQUF6QjtBQUdBYixJQUFBQSxRQUFRLENBQUMsMkJBQUQsRUFBOEIsWUFBTTtBQUMzQ2MsTUFBQUEsRUFBRSxDQUFDLGtCQUFEO0FBQUEsWUFBaUM7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QUE7QUFBQSxRQUFGO0FBb0JBTCxNQUFBQSxFQUFFLENBQ0QsNEJBREMsRUFFRDtBQUNDLHNCQUFjLENBQ2I7QUFDQyxrQkFBUSxNQURUO0FBRUMsZ0JBQU0sbUJBRlAsQ0FFMkI7O0FBRjNCLFNBRGE7QUFEZixPQUZDO0FBQUEsWUFVVztBQUNYLGNBQU1DLFFBQVEsa09BQWQ7QUFEVyxpQ0FLZ0JDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXUCxZQUFYLEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FML0IsaUJBS0xJLFlBTEs7QUFNWEMsWUFBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBTlc7QUFPWCxTQWpCQTtBQUFBO0FBQUE7QUFBQSxRQUFGO0FBbUJBLEtBMUlPLENBQVI7QUEySUEsR0E1UU8sQ0FBUiIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcGlsZUNEUywgZ2V0VGVtcGxhdGVkWE1MLCByZWdpc3Rlck1hY3JvLCB1bnJlZ2lzdGVyTWFjcm8gfSBmcm9tIFwic2FwL2ZlL3Rlc3QvSmVzdFRlbXBsYXRpbmdIZWxwZXJcIjtcbmltcG9ydCBDb250YWN0TWV0YWRhdGEgZnJvbSBcInNhcC9mZS9tYWNyb3MvQ29udGFjdC5tZXRhZGF0YVwiO1xuaW1wb3J0IEZpZWxkTWV0YWRhdGEgZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvRmllbGQubWV0YWRhdGFcIjtcbmltcG9ydCBEYXRhUG9pbnQgZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvRGF0YVBvaW50Lm1ldGFkYXRhXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmRlc2NyaWJlKFwiTWFjcm9GaWVsZCAtIERhdGFGaWVsZCBUeXBlcyAtIFwiLCAoKSA9PiB7XG5cdGJlZm9yZUFsbCgoKSA9PiB7XG5cdFx0cmVnaXN0ZXJNYWNybyhDb250YWN0TWV0YWRhdGEpO1xuXHRcdHJlZ2lzdGVyTWFjcm8oRmllbGRNZXRhZGF0YSk7XG5cdFx0cmVnaXN0ZXJNYWNybyhEYXRhUG9pbnQpO1xuXHR9KTtcblx0YWZ0ZXJBbGwoKCkgPT4ge1xuXHRcdHVucmVnaXN0ZXJNYWNybyhDb250YWN0TWV0YWRhdGEpO1xuXHRcdHVucmVnaXN0ZXJNYWNybyhGaWVsZE1ldGFkYXRhKTtcblx0XHR1bnJlZ2lzdGVyTWFjcm8oRGF0YVBvaW50KTtcblx0fSk7XG5cblx0Y29uc3Qgc01ldGFkYXRhVXJsID0gY29tcGlsZUNEUyhwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4vZGF0YS9GaWVsZE1hY3JvRGF0YUZpZWxkVHlwZXMuY2RzXCIpKTtcblx0Y29uc3QgbUJpbmRpbmdDb250ZXh0cyA9IHtcblx0XHRcImVudGl0eVNldFwiOiBcIi9JdGVtc1wiXG5cdH07XG5cdGRlc2NyaWJlKFwiRGF0YUZpZWxkRm9yQW5ub3RhdGlvbiAtIFwiLCAoKSA9PiB7XG5cdFx0aXQoXCJSYXRpbmcgSW5kaWNhdG9yXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jRGF0YVBvaW50LzJcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXG5cdFx0aXQoXCJBbmFseXRpY2FsIERhdGFQb2ludFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtI0RhdGFQb2ludC80XCJcblx0XHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnMgaXNBbmFseXRpY3M9XCJ0cnVlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW50ZXJuYWxNYWNybzpGaWVsZD5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXG5cdFx0aXQoXCJJbnN0YW50aWF0ZSBtYWNybyBEYXRhUG9pbnQgaW4gdGhlIEZpZWxkV3JhcHBlclwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtI0RhdGFQb2ludC8wXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0XHRpdChcIkNvbnRhY3RcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbSNDb250YWN0LzBcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHR9KTtcblx0ZGVzY3JpYmUoXCJEYXRhRmllbGRGb3JBY3Rpb24gLSBcIiwgKCkgPT4ge1xuXHRcdGl0KFwiRHVtbXkgZGF0YUZpZWxkRm9yQWN0aW9uXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jQWN0aW9uLzBcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHR9KTtcblxuXHRkZXNjcmliZShcIkRhdGFGaWVsZFdpdGhOYXZpZ2F0aW9uUGF0aCAtIFwiLCAoKSA9PiB7XG5cdFx0aXQoXCJzaW1wbGUgb25lXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jTmF2aWdhdGlvblBhdGgvMFwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0fSk7XG5cdH0pO1xuXG5cdGRlc2NyaWJlKFwiRGF0YUZpZWxkRm9ySW50ZW50QmFzZWROYXZpZ2F0aW9uIC0gXCIsICgpID0+IHtcblx0XHRpdChcInNpbXBsZSBvbmVcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbSNJbnRlbnRCYXNlZE5hdi8wXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0fSk7XG5cblx0ZGVzY3JpYmUoXCJEYXRhRmllbGRHcm91cCAtIFwiLCAoKSA9PiB7XG5cdFx0aXQoXCJSYXRpbmcgSW5kaWNhdG9yXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jRGF0YVBvaW50LzJcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHR9KTtcblxuXHRkZXNjcmliZShcIkRhdGFGaWVsZCAtIElucHV0V2l0aHZhbHVlSGVscCAgXCIsICgpID0+IHtcblx0XHRpdChcIkRhdGFwb2ludCB2aXN1YWxpemF0aW9uIEludGVnZXIgLSBubyBtZWFzdXJlRGlzcGxheU1vZGVcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhUG9pbnQjSW5wdXRXaXRoVmFsdWVIZWxwTnVtYmVyXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0XHRpdChcblx0XHRcdFwiRGF0YXBvaW50IHZpc3VhbGl6YXRpb24gSW50ZWdlciAtIG1lYXN1cmVEaXNwbGF5TW9kZSBIaWRkZW5cIixcblx0XHRcdHtcblx0XHRcdFx0XCJyZWZlcmVuY2VzXCI6IFtcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcInR5cGVcIjogXCJKSVJBXCIsXG5cdFx0XHRcdFx0XHRcIklEXCI6IFwiRklPUklURUNIUDEtMjE2NTBcIiAvL0FkZGVkIHdpdGggdGhpcyBvbmUsIGJ1dCBvbmx5IGFuIGVuaGFuY2VtZW50IG9mIG1pc3NpbmcgdGVzdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XVxuXHRcdFx0fSxcblx0XHRcdGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhUG9pbnQjSW5wdXRXaXRoVmFsdWVIZWxwTnVtYmVySGlkZGVuXCJcblx0XHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnMgbWVhc3VyZURpc3BsYXlNb2RlPVwiSGlkZGVuXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW50ZXJuYWxNYWNybzpGaWVsZD5gO1xuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH1cblx0XHQpO1xuXHR9KTtcblx0ZGVzY3JpYmUoXCJEYXRhRmllbGQgLSBDaGVja2luZyBFZGl0IGFuZCBEaXNwbGF5IG1vZGUgZGlmZmVyZW50IG91dHB1dCAtIFwiLCAoKSA9PiB7XG5cdFx0aXQoXG5cdFx0XHRcIkNoZWNrYm94XCIsXG5cdFx0XHR7XG5cdFx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XCJ0eXBlXCI6IFwiSklSQVwiLFxuXHRcdFx0XHRcdFx0XCJJRFwiOiBcIkZJT1JJVEVDSFAxLTIxNjUwXCJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdF1cblx0XHRcdH0sXG5cdFx0XHRhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YVBvaW50I0Jvb2xlYW5cIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH1cblx0XHQpO1xuXG5cdFx0aXQoXG5cdFx0XHRcIkNoZWNrYm94IHdpdGggdmFsdWUgaGVscFwiLFxuXHRcdFx0e1xuXHRcdFx0XHRcInJlZmVyZW5jZXNcIjogW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFwidHlwZVwiOiBcIkpJUkFcIixcblx0XHRcdFx0XHRcdFwiSURcIjogXCJGSU9SSVRFQ0hQMS0yMTY1MFwiXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRdXG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFQb2ludCNCb29sZWFuV2l0aFZhbHVlSGVscE51bWJlclwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fVxuXHRcdCk7XG5cblx0XHRpdChcblx0XHRcdFwiRmlsZSAtIE1lZGlhVHlwZSBpcyBhIGpwZ1wiLFxuXHRcdFx0e1xuXHRcdFx0XHRcInJlZmVyZW5jZXNcIjogW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFwidHlwZVwiOiBcIkpJUkFcIixcblx0XHRcdFx0XHRcdFwiSURcIjogXCJGSU9SSVRFQ0hQMS0yMTY1MFwiIC8vQWRkZWQgd2l0aCB0aGlzIG9uZSwgYnV0IG9ubHkgYW4gZW5oYW5jZW1lbnQgb2YgbWlzc2luZyB0ZXN0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRdXG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFQb2ludCNGaWxlXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9XG5cdFx0KTtcblxuXHRcdGl0KFxuXHRcdFx0XCJUZXh0QXJlYVwiLFxuXHRcdFx0e1xuXHRcdFx0XHRcInJlZmVyZW5jZXNcIjogW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFwidHlwZVwiOiBcIkpJUkFcIixcblx0XHRcdFx0XHRcdFwiSURcIjogXCJGSU9SSVRFQ0hQMS0yMTY1MFwiIC8vQWRkZWQgd2l0aCB0aGlzIG9uZSwgYnV0IG9ubHkgYW4gZW5oYW5jZW1lbnQgb2YgbWlzc2luZyB0ZXN0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRdXG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFQb2ludCNUZXh0QXJlYVwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fVxuXHRcdCk7XG5cdFx0aXQoXG5cdFx0XHRcIkRhdGVcIixcblx0XHRcdHtcblx0XHRcdFx0XCJyZWZlcmVuY2VzXCI6IFtcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcInR5cGVcIjogXCJKSVJBXCIsXG5cdFx0XHRcdFx0XHRcIklEXCI6IFwiRklPUklURUNIUDEtMjE2NTBcIiAvL0FkZGVkIHdpdGggdGhpcyBvbmUsIGJ1dCBvbmx5IGFuIGVuaGFuY2VtZW50IG9mIG1pc3NpbmcgdGVzdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XVxuXHRcdFx0fSxcblx0XHRcdGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhUG9pbnQjRGF0ZU9uZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fVxuXHRcdCk7XG5cdFx0aXQoXG5cdFx0XHRcIlRpbWUgKFRpbWVPZkRheSlcIixcblx0XHRcdHtcblx0XHRcdFx0XCJyZWZlcmVuY2VzXCI6IFtcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcInR5cGVcIjogXCJKSVJBXCIsXG5cdFx0XHRcdFx0XHRcIklEXCI6IFwiRklPUklURUNIUDEtMjE2NTBcIiAvL0FkZGVkIHdpdGggdGhpcyBvbmUsIGJ1dCBvbmx5IGFuIGVuaGFuY2VtZW50IG9mIG1pc3NpbmcgdGVzdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XVxuXHRcdFx0fSxcblx0XHRcdGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhUG9pbnQjVGltZU9mRGF5XCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9XG5cdFx0KTtcblxuXHRcdGl0KFxuXHRcdFx0XCJUaW1lc3RhbXAgKERhdGVUaW1lT2Zmc2V0KVwiLFxuXHRcdFx0e1xuXHRcdFx0XHRcInJlZmVyZW5jZXNcIjogW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFwidHlwZVwiOiBcIkpJUkFcIixcblx0XHRcdFx0XHRcdFwiSURcIjogXCJGSU9SSVRFQ0hQMS0yMTY1MFwiIC8vQWRkZWQgd2l0aCB0aGlzIG9uZSwgYnV0IG9ubHkgYW4gZW5oYW5jZW1lbnQgb2YgbWlzc2luZyB0ZXN0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRdXG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFQb2ludCNEYXRlVGltZU9mZnNldFwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fVxuXHRcdCk7XG5cdH0pO1xufSk7XG4iXX0=
|
|
@@ -91,6 +91,17 @@ describe("MacroField - DataField Types - ", () => {
|
|
|
91
91
|
});
|
|
92
92
|
});
|
|
93
93
|
|
|
94
|
+
describe("DataFieldGroup - ", () => {
|
|
95
|
+
it("Rating Indicator", async () => {
|
|
96
|
+
const xmlField = `<internalMacro:Field xmlns:internalMacro="sap.fe.macros.internal"
|
|
97
|
+
entitySet="{entitySet>}"
|
|
98
|
+
dataField="@com.sap.vocabularies.UI.v1.LineItem#DataPoint/2"
|
|
99
|
+
/>`;
|
|
100
|
+
const templatedXML = await getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {});
|
|
101
|
+
expect(templatedXML).toMatchSnapshot();
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
|
|
94
105
|
describe("DataField - InputWithvalueHelp ", () => {
|
|
95
106
|
it("Datapoint visualization Integer - no measureDisplayMode", async () => {
|
|
96
107
|
const xmlField = `<internalMacro:Field xmlns:internalMacro="sap.fe.macros.internal"
|
|
@@ -0,0 +1,66 @@
|
|
|
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/test/JestTemplatingHelper"], function (JestTemplatingHelper) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var processFragment = JestTemplatingHelper.processFragment;
|
|
9
|
+
|
|
10
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
11
|
+
|
|
12
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
13
|
+
|
|
14
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
+
|
|
16
|
+
describe("Fragment: FormElement", function () {
|
|
17
|
+
var thisRef = {
|
|
18
|
+
id: "~id",
|
|
19
|
+
label: "~label",
|
|
20
|
+
visible: true,
|
|
21
|
+
fieldsAvailable: false
|
|
22
|
+
};
|
|
23
|
+
var metaPath = {};
|
|
24
|
+
it("Field with standard properties", function () {
|
|
25
|
+
try {
|
|
26
|
+
return Promise.resolve(processFragment("sap.fe.macros.FormElement", {
|
|
27
|
+
this: thisRef,
|
|
28
|
+
metaPath: metaPath
|
|
29
|
+
})).then(function (xml) {
|
|
30
|
+
expect(xml).toMatchSnapshot();
|
|
31
|
+
});
|
|
32
|
+
} catch (e) {
|
|
33
|
+
return Promise.reject(e);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
it("Field not visible", function () {
|
|
37
|
+
try {
|
|
38
|
+
return Promise.resolve(processFragment("sap.fe.macros.FormElement", {
|
|
39
|
+
this: _objectSpread(_objectSpread({}, thisRef), {}, {
|
|
40
|
+
visible: false
|
|
41
|
+
}),
|
|
42
|
+
metaPath: metaPath
|
|
43
|
+
})).then(function (xml) {
|
|
44
|
+
expect(xml).toMatchSnapshot();
|
|
45
|
+
});
|
|
46
|
+
} catch (e) {
|
|
47
|
+
return Promise.reject(e);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
it("No field but add a slot", function () {
|
|
51
|
+
try {
|
|
52
|
+
return Promise.resolve(processFragment("sap.fe.macros.FormElement", {
|
|
53
|
+
this: _objectSpread(_objectSpread({}, thisRef), {}, {
|
|
54
|
+
fieldsAvailable: true
|
|
55
|
+
}),
|
|
56
|
+
metaPath: metaPath
|
|
57
|
+
})).then(function (xml) {
|
|
58
|
+
expect(xml).toMatchSnapshot();
|
|
59
|
+
});
|
|
60
|
+
} catch (e) {
|
|
61
|
+
return Promise.reject(e);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}, false);
|
|
66
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZvcm1FbGVtZW50LnNwZWMudHMiXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJ0aGlzUmVmIiwiaWQiLCJsYWJlbCIsInZpc2libGUiLCJmaWVsZHNBdmFpbGFibGUiLCJtZXRhUGF0aCIsIml0IiwicHJvY2Vzc0ZyYWdtZW50IiwidGhpcyIsInhtbCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FBQUFBLEVBQUFBLFFBQVEsQ0FBQyx1QkFBRCxFQUEwQixZQUFXO0FBQzVDLFFBQU1DLE9BQU8sR0FBRztBQUNmQyxNQUFBQSxFQUFFLEVBQUUsS0FEVztBQUVmQyxNQUFBQSxLQUFLLEVBQUUsUUFGUTtBQUdmQyxNQUFBQSxPQUFPLEVBQUUsSUFITTtBQUlmQyxNQUFBQSxlQUFlLEVBQUU7QUFKRixLQUFoQjtBQU1BLFFBQU1DLFFBQVEsR0FBRyxFQUFqQjtBQUVBQyxJQUFBQSxFQUFFLENBQUMsZ0NBQUQ7QUFBQSxVQUFvRDtBQUFBLCtCQUNuQ0MsZUFBZSxDQUFDLDJCQUFELEVBQThCO0FBQzlEQyxVQUFBQSxJQUFJLEVBQUVSLE9BRHdEO0FBRTlESyxVQUFBQSxRQUFRLEVBQVJBO0FBRjhELFNBQTlCLENBRG9CLGlCQUMvQ0ksR0FEK0M7QUFLckRDLFVBQUFBLE1BQU0sQ0FBQ0QsR0FBRCxDQUFOLENBQVlFLGVBQVo7QUFMcUQ7QUFNckQsT0FOQztBQUFBO0FBQUE7QUFBQSxNQUFGO0FBUUFMLElBQUFBLEVBQUUsQ0FBQyxtQkFBRDtBQUFBLFVBQXVDO0FBQUEsK0JBQ3RCQyxlQUFlLENBQUMsMkJBQUQsRUFBOEI7QUFDOURDLFVBQUFBLElBQUksa0NBQU9SLE9BQVA7QUFBZ0JHLFlBQUFBLE9BQU8sRUFBRTtBQUF6QixZQUQwRDtBQUU5REUsVUFBQUEsUUFBUSxFQUFSQTtBQUY4RCxTQUE5QixDQURPLGlCQUNsQ0ksR0FEa0M7QUFLeENDLFVBQUFBLE1BQU0sQ0FBQ0QsR0FBRCxDQUFOLENBQVlFLGVBQVo7QUFMd0M7QUFNeEMsT0FOQztBQUFBO0FBQUE7QUFBQSxNQUFGO0FBUUFMLElBQUFBLEVBQUUsQ0FBQyx5QkFBRDtBQUFBLFVBQTZDO0FBQUEsK0JBQzVCQyxlQUFlLENBQUMsMkJBQUQsRUFBOEI7QUFDOURDLFVBQUFBLElBQUksa0NBQU9SLE9BQVA7QUFBZ0JJLFlBQUFBLGVBQWUsRUFBRTtBQUFqQyxZQUQwRDtBQUU5REMsVUFBQUEsUUFBUSxFQUFSQTtBQUY4RCxTQUE5QixDQURhLGlCQUN4Q0ksR0FEd0M7QUFLOUNDLFVBQUFBLE1BQU0sQ0FBQ0QsR0FBRCxDQUFOLENBQVlFLGVBQVo7QUFMOEM7QUFNOUMsT0FOQztBQUFBO0FBQUE7QUFBQSxNQUFGO0FBT0EsR0FoQ08sQ0FBUiIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvY2Vzc0ZyYWdtZW50IH0gZnJvbSBcInNhcC9mZS90ZXN0L0plc3RUZW1wbGF0aW5nSGVscGVyXCI7XG5cbmRlc2NyaWJlKFwiRnJhZ21lbnQ6IEZvcm1FbGVtZW50XCIsIGZ1bmN0aW9uKCkge1xuXHRjb25zdCB0aGlzUmVmID0ge1xuXHRcdGlkOiBcIn5pZFwiLFxuXHRcdGxhYmVsOiBcIn5sYWJlbFwiLFxuXHRcdHZpc2libGU6IHRydWUsXG5cdFx0ZmllbGRzQXZhaWxhYmxlOiBmYWxzZVxuXHR9O1xuXHRjb25zdCBtZXRhUGF0aCA9IHt9O1xuXG5cdGl0KFwiRmllbGQgd2l0aCBzdGFuZGFyZCBwcm9wZXJ0aWVzXCIsIGFzeW5jIGZ1bmN0aW9uKCkge1xuXHRcdGNvbnN0IHhtbCA9IGF3YWl0IHByb2Nlc3NGcmFnbWVudChcInNhcC5mZS5tYWNyb3MuRm9ybUVsZW1lbnRcIiwge1xuXHRcdFx0dGhpczogdGhpc1JlZixcblx0XHRcdG1ldGFQYXRoXG5cdFx0fSk7XG5cdFx0ZXhwZWN0KHhtbCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiRmllbGQgbm90IHZpc2libGVcIiwgYXN5bmMgZnVuY3Rpb24oKSB7XG5cdFx0Y29uc3QgeG1sID0gYXdhaXQgcHJvY2Vzc0ZyYWdtZW50KFwic2FwLmZlLm1hY3Jvcy5Gb3JtRWxlbWVudFwiLCB7XG5cdFx0XHR0aGlzOiB7IC4uLnRoaXNSZWYsIHZpc2libGU6IGZhbHNlIH0sXG5cdFx0XHRtZXRhUGF0aFxuXHRcdH0pO1xuXHRcdGV4cGVjdCh4bWwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIk5vIGZpZWxkIGJ1dCBhZGQgYSBzbG90XCIsIGFzeW5jIGZ1bmN0aW9uKCkge1xuXHRcdGNvbnN0IHhtbCA9IGF3YWl0IHByb2Nlc3NGcmFnbWVudChcInNhcC5mZS5tYWNyb3MuRm9ybUVsZW1lbnRcIiwge1xuXHRcdFx0dGhpczogeyAuLi50aGlzUmVmLCBmaWVsZHNBdmFpbGFibGU6IHRydWUgfSxcblx0XHRcdG1ldGFQYXRoXG5cdFx0fSk7XG5cdFx0ZXhwZWN0KHhtbCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { processFragment } from "sap/fe/test/JestTemplatingHelper";
|
|
2
|
+
|
|
3
|
+
describe("Fragment: FormElement", function() {
|
|
4
|
+
const thisRef = {
|
|
5
|
+
id: "~id",
|
|
6
|
+
label: "~label",
|
|
7
|
+
visible: true,
|
|
8
|
+
fieldsAvailable: false
|
|
9
|
+
};
|
|
10
|
+
const metaPath = {};
|
|
11
|
+
|
|
12
|
+
it("Field with standard properties", async function() {
|
|
13
|
+
const xml = await processFragment("sap.fe.macros.FormElement", {
|
|
14
|
+
this: thisRef,
|
|
15
|
+
metaPath
|
|
16
|
+
});
|
|
17
|
+
expect(xml).toMatchSnapshot();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it("Field not visible", async function() {
|
|
21
|
+
const xml = await processFragment("sap.fe.macros.FormElement", {
|
|
22
|
+
this: { ...thisRef, visible: false },
|
|
23
|
+
metaPath
|
|
24
|
+
});
|
|
25
|
+
expect(xml).toMatchSnapshot();
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it("No field but add a slot", async function() {
|
|
29
|
+
const xml = await processFragment("sap.fe.macros.FormElement", {
|
|
30
|
+
this: { ...thisRef, fieldsAvailable: true },
|
|
31
|
+
metaPath
|
|
32
|
+
});
|
|
33
|
+
expect(xml).toMatchSnapshot();
|
|
34
|
+
});
|
|
35
|
+
});
|