@sap/open.fe 1.97.0 → 1.98.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 +275 -62
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/MessagePopover-dbg.js +1 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessagePopover.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 +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +51 -46
- 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 +16 -8
- 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.common/test/sap/fe/common/relnotes/changes-1.98.json +18 -0
- 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/AppComponent-dbg.js +3 -1
- package/packages/sap.fe.core/src/sap/fe/core/AppComponent.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +35 -15
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI-dbg.js +13 -5
- package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/PageController-dbg.js +8 -2
- package/packages/sap.fe.core/src/sap/fe/core/PageController.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +26 -10
- 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 +13 -4
- 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 +124 -39
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft-dbg.js +49 -22
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +11 -8
- 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 +12 -8
- 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 +196 -70
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +9 -2
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +19 -17
- 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 +39 -8
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +114 -25
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.ts +112 -24
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +80 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +5 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator-dbg.js +34 -7
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +5 -2
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing-dbg.js +16 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share-dbg.js +19 -6
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +7 -7
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.ts +6 -5
- package/packages/sap.fe.core/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +6 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper-dbg.js +9 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper-dbg.js +0 -5
- package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -1
- package/packages/{sap.fe.macros/src/sap/fe/macros/massedit → sap.fe.core/src/sap/fe/core/controls/massEdit}/MassEditDialog.fragment.xml +6 -6
- package/packages/{sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime-dbg.js → sap.fe.core/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js} +2 -2
- package/packages/{sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime.js → sap.fe.core/src/sap/fe/core/controls/massEdit/MassEditHandlers.js} +0 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext-dbg.js +13 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.ts +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +3 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper-dbg.js +18 -7
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.ts +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +62 -4
- 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 +60 -4
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField-dbg.js +3 -3
- 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 +18 -10
- 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 +10 -1
- 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 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +17 -9
- 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 +9 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +69 -4
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.ts +72 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +172 -284
- 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 +228 -348
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +468 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +609 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +30 -13
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +31 -12
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +14 -6
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +26 -5
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +8 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.ts +9 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +4 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.ts +3 -0
- package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +8 -0
- 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 +3 -3
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter-dbg.js +30 -5
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.ts +25 -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/AppStartupHelper-dbg.js +359 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.ts +388 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression-dbg.js +199 -111
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.ts +193 -102
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper-dbg.js +679 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper.js +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +27 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +23 -14
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +477 -411
- 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-preload.support.js +47 -3
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js.map +3 -3
- package/packages/sap.fe.core/src/sap/fe/core/library.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library.support.js +9 -3
- package/packages/sap.fe.core/src/sap/fe/core/manifest.json +10 -10
- package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +62 -0
- package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +68 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +40 -5
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +25 -3
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +23 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +23 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +27 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +25 -3
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +25 -3
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +25 -3
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +26 -4
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +25 -3
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +25 -3
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +24 -2
- package/packages/sap.fe.core/src/sap/fe/core/resources.json +483 -235
- package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +4 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.ts +3 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +93 -346
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory-dbg.js +31 -2
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.ts +30 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +8 -5
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.ts +11 -6
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +12 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +38 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.ts +18 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +10 -48
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.ts +14 -46
- package/packages/sap.fe.core/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +114 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DisplayModeFormatter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/DisplayModeFormatter.ts +86 -0
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper-dbg.js +10 -7
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.ts +8 -6
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters-dbg.js +15 -110
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.ts +6 -73
- 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.jsmeta.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jstemplates.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/model/ControllerExtensionNavigationModel.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/CustomElementNavigationModel.js +105 -7
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/MacroNavigationModel.js +176 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/FCL/FclNavigationButtons/myViewTest.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.view.xml +0 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartQualifier/ChartQualifier.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartSelectionMode/ChartSelectionMode.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEdit/FieldEdit.controller.js +3 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldEvents/FieldEvents.controller.js +3 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/FieldFormatOptions.controller.js +3 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldNavProp/FieldNavProp.controller.js +3 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/FilterBarAnnotationDefaults.controller.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/FilterBarAnnotationDefaults.view.xml +58 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/localService/RootEntity.json +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/localService/service.cds +97 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarAnnotationDefaults/manifest.json +72 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomFilter.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomRatingFilter.fragment.xml +8 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomRatingFilterOperator.fragment.xml +17 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/CustomRatingRangeFilter.fragment.xml +8 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/FilterBarCustoms.controller.js +42 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/FilterBarCustoms.view.xml +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/localService/RootEntity.json +107 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/localService/service.cds +152 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarCustoms/manifest.json +72 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/FilterBarDefault.controller.js +13 -6
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/FilterBarDefault.view.xml +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/ChildEntity.json +15 -674
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/MultiChildEntity.json +92 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/RootEntity.json +10 -5
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/service.cds +72 -19
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/FilterBarSVandAnnotationDefaults.controller.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/FilterBarSVandAnnotationDefaults.view.xml +58 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/localService/RootEntity.json +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/localService/service.cds +115 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/manifest.json +72 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBarAnnotationDefaults.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBarCustoms.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBarSVandAnnotationDefaults.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/DetailPage.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/DetailPage.view.xml +15 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/EntryPage.controller.js +43 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/EntryPage.view.xml +79 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/ChildEntity.json +23 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/RootEntity.json +41 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/ValueHelpCurrencyEntity.json +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/localService/service.cds +144 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/manifest.json +96 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/template/Component.js +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/template/EntryPage.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/template/EntryPage.view.xml +14 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidanceFreestyle.html +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/i18n/i18n.properties +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDefault/MicroChartDefault.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartDynamicSize/MicroChartDynamicSize.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartHideOnNoData/MicroChartHideOnNoData.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/microchart/microChartShowOnlyChart/MicroChartShowOnlyChart.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.controller.js +4 -3
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.view.xml +36 -30
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableDefault/TableDefault.controller.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/TableEdit.controller.js +3 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableEdit/TableEdit.view.xml +30 -24
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/Component.js +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/OPExtend.controller.js +17 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/ChildEntity.json +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/service.cds +46 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/manifest.json +24 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility.html +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnAdaptation.fragment.xml +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnBuildingBlockField.fragment.xml +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnButton.fragment.xml +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/service.cds +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/manifest.json +7 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customElementsOverview.md +4 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/CustomFormElement1.fragment.xml +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/CustomFormElement2.fragment.xml +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/localService/RootEntity.json +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/localService/service.cds +136 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElement/customFormElementContent/manifest.json +90 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customFormElementContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/{CustomHeaderFacetFormElement.fragment.xml → CustomHeaderFacetBuildingBlockFormElement.fragment.xml} +0 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/{CustomHeaderFacetFormElementEdit.fragment.xml → CustomHeaderFacetBuildingBlockFormElementEdit.fragment.xml} +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetBuildingBlockMicroChart.fragment.xml +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetBuildingBlockMicroChartEdit.fragment.xml +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetDataPointEdit.fragment.xml +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/CustomHeaderFacetMicroChartEdit.fragment.xml +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/localService/RootEntity.json +6 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/localService/service.cds +30 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customHeaderFacet/customHeaderFacetContent/manifest.json +13 -3
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customPage/customPageContent/CustomPage.view.xml +1 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSection.fragment.xml +1 -7
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionFormElementAndTable.fragment.xml +0 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSection/customSectionContent/CustomSectionNavigation.fragment.xml +1 -7
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSectionContent.html +60 -27
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/Component.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/CustomSubSection1.fragment.xml +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/CustomSubSection2.fragment.xml +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/CustomSubSection3.fragment.xml +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/localService/ChildEntity.json +42 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/localService/RootEntity.json +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/localService/service.cds +139 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSection/customSubSectionContent/manifest.json +104 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customSubSectionContent.html +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/i18n/i18n.properties +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.js +20 -6
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.ts +22 -6
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.js +71 -23
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.ts +97 -24
- package/packages/sap.fe.core/test/sap/fe/core/jest/TransactionHelper.spec.js +624 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +449 -140
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.js +435 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.ts +385 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.js +229 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.ts +227 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.js +235 -63
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.ts +162 -40
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandling.spec.js +115 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandling.spec.ts +95 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.js +1 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.ts +0 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.ts +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.js +11 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.ts +9 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.js +18 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.ts +25 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/KPI.spec.js +64 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/KPI.spec.ts +66 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.js +261 -20
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.ts +329 -19
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.js +79 -8
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.ts +128 -8
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageConverter.spec.js +7 -7
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageConverter.spec.ts +6 -6
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/SubSection.spec.js +22 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/SubSection.spec.ts +26 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +136 -244
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +156 -376
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.js +1267 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.ts +2150 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/KPI.spec.ts.snap +306 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/MetaModelConverter.spec.ts.snap +57 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/Table.spec.ts.snap +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/AnalyticalService.cds +137 -5
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/BindingExpression-AnnotationExpression.xml +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/HeaderFacets.cds +28 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/KPI.cds +191 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/MetaModelConverterContext.cds +20 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/ObjectPageConverter.cds +69 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/RoutingServiceFactory.cds +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/SideEffects.cds +26 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/Table.cds +98 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableNewActionOperationAvailableSticky.cds +22 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableTooltips.cds +43 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/ValueFormatters.spec.js +10 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/ValueFormatters.spec.ts +20 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.js +912 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.ts +981 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/__snapshots__/AppStartupHelper.spec.ts.snap +358 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/ChangePageConfiguration.spec.js +242 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/ChangePageConfiguration.spec.ts +297 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/__snapshots__/ChangePageConfiguration.spec.ts.snap +289 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.js +292 -366
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.ts +247 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.js +14 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.ts +19 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +0 -12
- package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.98.json +363 -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/Chart.fragment.xml +5 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata-dbg.js +0 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +4 -4
- 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 +26 -24
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldBaseDelegate-dbg.js +90 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldBaseDelegate.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.fragment.xml +7 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata-dbg.js +63 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +42 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +76 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +49 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterField-dbg.designtime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.fragment.xml +21 -17
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata-dbg.js +8 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI-dbg.js +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata-dbg.js +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +8 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.metadata-dbg.js +2 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/QuickViewForm.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Share.metadata-dbg.js +11 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/Share.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/SizeHelper-dbg.js +168 -35
- package/packages/sap.fe.macros/src/sap/fe/macros/SizeHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +107 -109
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +51 -65
- 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 +9 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +5 -2
- 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/chart/ChartUtils-dbg.js +2 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartUtils.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +101 -16
- 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 +273 -71
- 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 +128 -32
- 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 +110 -16
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkContactContent.fragment.xml +11 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +65 -84
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/CustomFilter.fragment.xml +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils-dbg.js +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/form/DataFieldCollection.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/fpm/CustomFormElement.fragment.xml +5 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata-dbg.js +72 -12
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.ts +43 -14
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.fragment.xml +13 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata-dbg.js +55 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +1 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata-dbg.js +38 -65
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/{FilterField.fragment.xml → internal/FilterField.fragment.xml} +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/{FilterField.metadata-dbg.js → internal/FilterField.metadata-dbg.js} +5 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/FilterField.metadata.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator-dbg.js +96 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator.ts +116 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/collectionField/MultiValueFieldDelegate-dbg.js +7 -15
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/collectionField/MultiValueFieldDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +4 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/AmountWithCurrency.fragment.xml +5 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/DataPoint.fragment.xml +5 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ExpandableText.fragment.xml +1 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/File.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LabelSemanticKey.fragment.xml +5 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Link.fragment.xml +11 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWithQuickViewForm.fragment.xml +1 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWrapper.fragment.xml +5 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/MdcFieldWithValueHelp.fragment.xml +48 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectIdentifier.fragment.xml +140 -18
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectStatus.fragment.xml +1 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/SemanticKeyWithDraftIndicator.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Text.fragment.xml +6 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/CheckBox.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DatePicker.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DateTimePicker.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/File.fragment.xml +14 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/Input.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithUnit.fragment.xml +3 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithValueHelp.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TextArea.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TimePicker.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +25 -9
- 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 +30 -16
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter-dbg.js +154 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter.ts +146 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime-dbg.js +204 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.ts +215 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate-dbg.js +29 -8
- 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/ValueHelp-dbg.designtime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpContent.fragment.xml +0 -10
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +151 -131
- 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 +24 -23
- 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 +209 -188
- 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/macroLibrary-dbg.js +7 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/macroLibrary.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/messagebundle.properties +36 -10
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +13 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saptrc.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +14 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +13 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +13 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +13 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +12 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +496 -354
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +53 -57
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Column.fragment.xml +1 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +38 -32
- package/packages/sap.fe.macros/src/sap/fe/macros/table/QuickFilterContainer-dbg.js +12 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/table/QuickFilterContainer.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +17 -91
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime-dbg.js +4 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils-dbg.js +9 -4
- 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/ALPTableDelegateBaseMixin-dbg.js +3 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/ALPTableDelegateBaseMixin.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +198 -71
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.fragment.xml +4 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +58 -15
- 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.jsmeta.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 +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.ts +1 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.ts +0 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartMacro.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartMacro.spec.ts +0 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.ts +0 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.js +21 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.ts +20 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.ts +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.js +19 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.ts +12 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DelegateUtil.spec.js +2 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldBaseDelegate.spec.js +111 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.js +67 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.ts +81 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarDelegate.spec.js +4 -6
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarMacro.spec.js +52 -6
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarMacro.spec.ts +64 -7
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.js +34 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.ts +46 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.js +43 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.ts +62 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.js +31 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.ts +25 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.js +11 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.ts +9 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.js +40 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.ts +35 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ChartMacro.spec.ts.snap +42 -42
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/CollectionField.spec.ts.snap +49 -7
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/DatapointMacro.spec.ts.snap +27 -11
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroDataFieldTypes.spec.ts.snap +50 -44
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroWithSemanticKey.spec.ts.snap +146 -56
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroWithValueHelp.spec.ts.snap +16 -16
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterBarMacro.spec.ts.snap +774 -11
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterField.spec.ts.snap +70 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/MicroChart.spec.ts.snap +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/PhantomUtil.spec.ts.snap +70 -165
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +39 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/SimpleFieldMacro.spec.ts.snap +287 -170
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/TableFieldLabel.spec.ts.snap +369 -213
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/CollectionField.cds +11 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroDataFieldTypes.cds +5 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroWithSemanticKey.cds +17 -12
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterBarMacro.cds +18 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterBarMacroWithDefaultAnnotation.cds +155 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterBarMacroWithSVandAnnotation.cds +155 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FilterFieldMacro.cds +13 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/QuickViewForm.cds +36 -11
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/TableFieldLabel.cds +22 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/simpleFieldMacro.cds +8 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.js +252 -61
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.ts +277 -67
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.cds +93 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.js +118 -16
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.ts +143 -16
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/__snapshots__/FieldTemplating.spec.ts.snap +31 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/fragments/MyTestFragment.xml +3 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/fragments/MyTestSubFragment.xml +10 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.js +14 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.ts +13 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/__snapshots__/columnWidth.spec.ts.snap +131 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.js +264 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.ts +244 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/data/columnWidth.cds +238 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.js +33 -6
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.ts +40 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/ValueHelpTableDelegate.spec.js +61 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/ValueHelpTableDelegate.spec.ts +64 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/__snapshots__/TableDelegate.spec.ts.snap +1287 -32
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/data/tabledelegate.cds +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/CommonHelper.qunit.js +284 -159
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelper.qunit.js +9 -9
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelperTemplate.qunit.js +2 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormContainerTemplating.qunit.js +1 -0
- 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/FormTemplating.qunit.js +10 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplatingTs.qunit.js +2 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MacroMetadata.qunit.js +5 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MicroChartContainer.qunit.js +29 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelper.qunit.js +6 -26
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelperTemplate.qunit.js +3 -8
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueListHelper.qunit.js +402 -18
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/FilterFieldMacro.fragment.xml +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/FilterFieldMacroMissingID.fragment.xml +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/fragments/TableMacro.fragment.xml +0 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.98.json +210 -0
- 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/NavigationHandler-dbg.js +70 -29
- package/packages/sap.fe.navigation/src/sap/fe/navigation/NavigationHandler.js +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 +6 -5
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js.map +3 -3
- 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/src/sap/fe/navigation/resources.json +5 -5
- 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.navigation/test/sap/fe/navigation/qunit/navigation/NavigationHandlerTest.qunit.js +4 -12
- 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 +2 -2
- 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/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/chart/FEChartDelegate-dbg.js +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/chart/FEChartDelegate.js +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/AnalyticalListPage/resources.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/ExtensionAPI-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ExtensionAPI.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +2 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +85 -85
- 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/IntentBasedNavigation-dbg.js +6 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/MassEdit-dbg.js +96 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/MassEdit.js +6 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share-dbg.js +36 -21
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +53 -31
- 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 +20 -11
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +20 -0
- 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 +16 -14
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ExtensionAPI-dbg.js +15 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ExtensionAPI.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +103 -88
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +99 -72
- 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/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Paginator-dbg.js +12 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Paginator.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Share-dbg.js +47 -43
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/Share.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState-dbg.js +0 -20
- 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 +24 -24
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Actions.fragment.xml +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Section.fragment.xml +24 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionContent.fragment.xml +1 -4
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionContentLazyLoader.fragment.xml +181 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +1 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +1 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController-dbg.js +133 -123
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/Table.fragment.xml +1 -1
- 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 -7
- 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 +34 -32
- 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/messagebundle.properties +24 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es.properties +8 -8
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr.properties +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ja.properties +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_tr.properties +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +126 -66
- 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.jsmeta.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/ListReport/overrides/ViewState.spec.js +262 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.js +2 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.ts +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/Sections.spec.js +132 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/Sections.spec.ts +131 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/HeaderFacet.spec.ts.snap +1 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/Sections.spec.ts.snap +52 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.js +229 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.ts +157 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/__snapshots__/RootContainerBaseController.spec.ts.snap +218 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/data/RootContainerBaseController.cds +64 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.98.json +201 -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/JourneyRunner-dbg.js +8 -3
- package/packages/sap.fe.test/src/sap/fe/test/JourneyRunner.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/ListReport-dbg.js +8 -3
- 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 +19 -11
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/TemplatingTestUtils-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/TemplatingTestUtils.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper-dbg.js +211 -45
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.ts +103 -8
- package/packages/sap.fe.test/src/sap/fe/test/Utils-dbg.js +0 -12
- package/packages/sap.fe.test/src/sap/fe/test/Utils.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI-dbg.js +1 -7
- package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/ChartAssertions-dbg.js +4 -4
- package/packages/sap.fe.test/src/sap/fe/test/api/ChartAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/KPICardActions-dbg.js +43 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/KPICardActions.js +6 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/KPICardAssertions-dbg.js +19 -15
- package/packages/sap.fe.test/src/sap/fe/test/api/KPICardAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions-dbg.js +11 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/builder/KPIBuilder-dbg.js +11 -2
- package/packages/sap.fe.test/src/sap/fe/test/builder/KPIBuilder.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder-dbg.js +22 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder.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 +5 -4
- package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +37 -23
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +4 -4
- 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 +59 -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.xmlmeta.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/mockserver/MockServer.js +98965 -71474
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d-dbg.js +0 -8
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.js +0 -5
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.ts +0 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/CreditLimitDetails.json +0 -154
- package/packages/sap.fe.core/test/sap/fe/core/qunit/TransactionHelper.qunit.js +0 -77
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarHelper-dbg.js +0 -48
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarHelper.js +0 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterField.metadata.js +0 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/FormWrapper.fragment.xml +0 -26
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditHandler-dbg.js +0 -718
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditHandler.js +0 -6
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FilterBarHelper.qunit.js +0 -223
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderImage.fragment.xml +0 -24
|
@@ -8,12 +8,18 @@ sap.ui.define(["sap/fe/macros/field/FieldTemplating", "sap/fe/core/templating/UI
|
|
|
8
8
|
var ifElse = BindingExpression.ifElse;
|
|
9
9
|
var compileBinding = BindingExpression.compileBinding;
|
|
10
10
|
var bindingExpression = BindingExpression.bindingExpression;
|
|
11
|
+
var getInvolvedDataModelObjects = MetaModelConverter.getInvolvedDataModelObjects;
|
|
11
12
|
var convertTypes = MetaModelConverter.convertTypes;
|
|
12
13
|
var evaluateBindingWithModel = JestTemplatingHelper.evaluateBindingWithModel;
|
|
13
14
|
var getDataModelObjectPathForProperty = JestTemplatingHelper.getDataModelObjectPathForProperty;
|
|
14
15
|
var getMetaModel = JestTemplatingHelper.getMetaModel;
|
|
15
16
|
var compileCDS = JestTemplatingHelper.compileCDS;
|
|
16
17
|
var formatWithTypeInformation = UIFormatters.formatWithTypeInformation;
|
|
18
|
+
var isUsedInNavigationWithQuickViewFacets = FieldTemplating.isUsedInNavigationWithQuickViewFacets;
|
|
19
|
+
var getSemanticObjects = FieldTemplating.getSemanticObjects;
|
|
20
|
+
var getSemanticObjectExpressionToResolve = FieldTemplating.getSemanticObjectExpressionToResolve;
|
|
21
|
+
var getDataPointStyle = FieldTemplating.getDataPointStyle;
|
|
22
|
+
var getDisplayStyle = FieldTemplating.getDisplayStyle;
|
|
17
23
|
var getValueBinding = FieldTemplating.getValueBinding;
|
|
18
24
|
var getVisibleExpression = FieldTemplating.getVisibleExpression;
|
|
19
25
|
var addTextArrangementToBindingExpression = FieldTemplating.addTextArrangementToBindingExpression;
|
|
@@ -21,13 +27,15 @@ sap.ui.define(["sap/fe/macros/field/FieldTemplating", "sap/fe/core/templating/UI
|
|
|
21
27
|
|
|
22
28
|
describe("Field Templating Testing", function () {
|
|
23
29
|
var convertedTypes;
|
|
30
|
+
var metaModel;
|
|
24
31
|
var entitySet;
|
|
25
32
|
var entityType;
|
|
26
33
|
var properties = {};
|
|
27
34
|
beforeAll(function () {
|
|
28
35
|
try {
|
|
29
36
|
var sMetadataUrl = compileCDS(path.join(__dirname, "./FieldTemplating.cds"));
|
|
30
|
-
return Promise.resolve(getMetaModel(sMetadataUrl)).then(function (
|
|
37
|
+
return Promise.resolve(getMetaModel(sMetadataUrl)).then(function (_getMetaModel) {
|
|
38
|
+
metaModel = _getMetaModel;
|
|
31
39
|
convertedTypes = convertTypes(metaModel);
|
|
32
40
|
var maybeEntitySet = convertedTypes.entitySets.find(function (et) {
|
|
33
41
|
return et.name === "MainEntity";
|
|
@@ -47,6 +55,9 @@ sap.ui.define(["sap/fe/macros/field/FieldTemplating", "sap/fe/core/templating/UI
|
|
|
47
55
|
return Promise.reject(e);
|
|
48
56
|
}
|
|
49
57
|
});
|
|
58
|
+
beforeEach(function () {
|
|
59
|
+
jest.clearAllMocks();
|
|
60
|
+
});
|
|
50
61
|
it("#getValueBinding", {
|
|
51
62
|
"references": [{
|
|
52
63
|
"type": "BCP",
|
|
@@ -54,7 +65,7 @@ sap.ui.define(["sap/fe/macros/field/FieldTemplating", "sap/fe/core/templating/UI
|
|
|
54
65
|
}]
|
|
55
66
|
}, function () {
|
|
56
67
|
var textSimpleBinding = getValueBinding(getDataModelObjectPathForProperty(entitySet, properties["textBinding"]), {});
|
|
57
|
-
expect(textSimpleBinding).toEqual("{path:'textBinding', type: 'sap.ui.model.odata.type.String', formatOptions: {parseKeepsEmptyString: true}}");
|
|
68
|
+
expect(textSimpleBinding).toEqual("{path: 'textBinding', type: 'sap.ui.model.odata.type.String', formatOptions: {parseKeepsEmptyString: true}}");
|
|
58
69
|
var textDeleteFormatterBinding = getValueBinding(getDataModelObjectPathForProperty(entitySet, properties["textBinding"]), {
|
|
59
70
|
textMaxLines: "10"
|
|
60
71
|
}, true, //ignoreUnit, it doesn't have unit, so doesn't matter. Tested a few lines later.
|
|
@@ -65,18 +76,40 @@ sap.ui.define(["sap/fe/macros/field/FieldTemplating", "sap/fe/core/templating/UI
|
|
|
65
76
|
}, true, true, {
|
|
66
77
|
$$noPatch: true
|
|
67
78
|
});
|
|
68
|
-
expect(textBindingParametter).toEqual("{path:'textBinding', parameters: {$$noPatch: true}}");
|
|
79
|
+
expect(textBindingParametter).toEqual("{path: 'textBinding', parameters: {$$noPatch: true}}");
|
|
69
80
|
var textTypeAny = getValueBinding(getDataModelObjectPathForProperty(entitySet, properties["textBinding"]), {}, false, false, undefined, true);
|
|
70
|
-
expect(textTypeAny).toEqual("{path:'textBinding', type: 'sap.ui.model.odata.type.String', formatOptions: {parseKeepsEmptyString: true}
|
|
81
|
+
expect(textTypeAny).toEqual("{path: 'textBinding', type: 'sap.ui.model.odata.type.String', targetType: 'any', formatOptions: {parseKeepsEmptyString: true}}");
|
|
71
82
|
var emailSimpleBinding = getValueBinding(getDataModelObjectPathForProperty(entitySet, properties["emailBinding"]), {});
|
|
72
|
-
expect(emailSimpleBinding).toEqual("{path:'emailBinding', type: 'sap.fe.core.type.Email'}");
|
|
83
|
+
expect(emailSimpleBinding).toEqual("{path: 'emailBinding', type: 'sap.fe.core.type.Email'}");
|
|
73
84
|
var unitWithCurrencyBindingSimpleBinding = getValueBinding(getDataModelObjectPathForProperty(entitySet, properties["UnitWithCurrencyBinding"]), {});
|
|
74
85
|
expect(unitWithCurrencyBindingSimpleBinding).toEqual("{mode:'TwoWay', parts:[{path:'UnitWithCurrencyBinding', type : 'sap.ui.model.odata.type.Int32', formatOptions: {parseAsString: false, emptyString: ''}},{path:'currency', type : 'sap.ui.model.odata.type.String', formatOptions: {parseKeepsEmptyString: true}},{mode:'OneTime',path:'/##@@requestCurrencyCodes',targetType:'any'}],type:'sap.ui.model.odata.type.Currency', formatOptions: {parseAsString: false, emptyString: '', showMeasure: false}}");
|
|
75
86
|
var unitWithCurrencyBindingIgnoreUnit = getValueBinding(getDataModelObjectPathForProperty(entitySet, properties["UnitWithCurrencyBinding"]), {}, true);
|
|
76
|
-
expect(unitWithCurrencyBindingIgnoreUnit).toEqual("{path:'UnitWithCurrencyBinding', type: 'sap.ui.model.odata.type.Int32', formatOptions: {parseAsString: false, emptyString: ''}}");
|
|
87
|
+
expect(unitWithCurrencyBindingIgnoreUnit).toEqual("{path: 'UnitWithCurrencyBinding', type: 'sap.ui.model.odata.type.Int32', formatOptions: {parseAsString: false, emptyString: ''}}");
|
|
77
88
|
var unitWithCurrencyDescriptionBinding = getValueBinding(getDataModelObjectPathForProperty(entitySet, properties["UnitWithCurrencyBinding"]), {}, false, false, undefined, true, true);
|
|
78
89
|
expect(unitWithCurrencyDescriptionBinding).toEqual("{mode:'TwoWay', parts:[{path:'UnitWithCurrencyBinding', type : 'sap.ui.model.odata.type.Int32', formatOptions: {parseAsString: false, emptyString: ''}},{path:'currency', type : 'sap.ui.model.odata.type.String', formatOptions: {parseKeepsEmptyString: true}},{mode:'OneTime',path:'/##@@requestCurrencyCodes',targetType:'any'}],type:'sap.ui.model.odata.type.Currency', formatOptions: {parseAsString: false, emptyString: '', showNumber: false}}");
|
|
79
90
|
});
|
|
91
|
+
it("#getDisplayStyle", {
|
|
92
|
+
"references": [{
|
|
93
|
+
"type": "JIRA",
|
|
94
|
+
"ID": "FIORITECHP1-21176"
|
|
95
|
+
}]
|
|
96
|
+
}, function () {
|
|
97
|
+
var _entitySet$entityType;
|
|
98
|
+
|
|
99
|
+
var entitySetLineItem = (_entitySet$entityType = entitySet.entityType.annotations.UI) === null || _entitySet$entityType === void 0 ? void 0 : _entitySet$entityType.LineItem;
|
|
100
|
+
var dataModelObjectPathForProperty = getDataModelObjectPathForProperty(entitySet, entitySetLineItem[1]);
|
|
101
|
+
var semanticObject = "";
|
|
102
|
+
var formatOptions = {
|
|
103
|
+
valueFormat: "DescriptionValue",
|
|
104
|
+
textAlignMode: "Form",
|
|
105
|
+
retrieveTextFromValueList: true
|
|
106
|
+
};
|
|
107
|
+
var dataFieldConverted = getValueBinding(getDataModelObjectPathForProperty(entitySet, properties["propertyNoTextWithVH"]), {});
|
|
108
|
+
var displayStyle = getDisplayStyle(properties["propertyNoTextWithVH"], dataFieldConverted, dataModelObjectPathForProperty, formatOptions, semanticObject); // Fallback feature for retrieve the text annotation from the value lists:
|
|
109
|
+
// Property has value help, no Text annotation, has display format, used in Form and manifest-switch retrieveTextFromValueList is on
|
|
110
|
+
|
|
111
|
+
expect(displayStyle).toEqual("MdcFieldWithValueHelp");
|
|
112
|
+
});
|
|
80
113
|
it("#getBindingWithTextArrangement", function () {
|
|
81
114
|
// Cases to consider
|
|
82
115
|
// TextOnly
|
|
@@ -145,7 +178,7 @@ sap.ui.define(["sap/fe/macros/field/FieldTemplating", "sap/fe/core/templating/UI
|
|
|
145
178
|
_type: "Property",
|
|
146
179
|
type: "Edm.Int32"
|
|
147
180
|
};
|
|
148
|
-
return expect(compileBinding(formatWithTypeInformation(oPropertyType, bindingExpression("value")))).toEqual("{path:'value', type: 'sap.ui.model.odata.type.Int32', formatOptions: {parseAsString: false, emptyString: ''}}");
|
|
181
|
+
return expect(compileBinding(formatWithTypeInformation(oPropertyType, bindingExpression("value")))).toEqual("{path: 'value', type: 'sap.ui.model.odata.type.Int32', formatOptions: {parseAsString: false, emptyString: ''}}");
|
|
149
182
|
});
|
|
150
183
|
it("formatted Double type call", {
|
|
151
184
|
"references": [{
|
|
@@ -157,12 +190,12 @@ sap.ui.define(["sap/fe/macros/field/FieldTemplating", "sap/fe/core/templating/UI
|
|
|
157
190
|
_type: "Property",
|
|
158
191
|
type: "Edm.Double"
|
|
159
192
|
};
|
|
160
|
-
return expect(compileBinding(formatWithTypeInformation(oPropertyType, bindingExpression("value")))).toEqual("{path:'value', type: 'sap.ui.model.odata.type.Double', formatOptions: {parseAsString: false, emptyString: ''}}");
|
|
193
|
+
return expect(compileBinding(formatWithTypeInformation(oPropertyType, bindingExpression("value")))).toEqual("{path: 'value', type: 'sap.ui.model.odata.type.Double', formatOptions: {parseAsString: false, emptyString: ''}}");
|
|
161
194
|
});
|
|
162
195
|
it("can evaluate the visible parameter based on UI.Hidden", function () {
|
|
163
|
-
var _entitySet$
|
|
196
|
+
var _entitySet$entityType2;
|
|
164
197
|
|
|
165
|
-
var entitySetLineItem = (_entitySet$
|
|
198
|
+
var entitySetLineItem = (_entitySet$entityType2 = entitySet.entityType.annotations.UI) === null || _entitySet$entityType2 === void 0 ? void 0 : _entitySet$entityType2.LineItem;
|
|
166
199
|
var dataModelObjectPathForProperty = getDataModelObjectPathForProperty(entitySet, entitySetLineItem[1] // staticHiddenProp
|
|
167
200
|
);
|
|
168
201
|
expect(getVisibleExpression(dataModelObjectPathForProperty)).toEqual("false");
|
|
@@ -177,16 +210,16 @@ sap.ui.define(["sap/fe/macros/field/FieldTemplating", "sap/fe/core/templating/UI
|
|
|
177
210
|
expect(getVisibleExpression(dataModelObjectPathForProperty)).toEqual("{= %{isHidden} !== true}");
|
|
178
211
|
dataModelObjectPathForProperty = getDataModelObjectPathForProperty(entitySet, entitySetLineItem[5] // dynamicHiddenProp2 with dynamic datafield hidden
|
|
179
212
|
);
|
|
180
|
-
expect(getVisibleExpression(dataModelObjectPathForProperty)).toEqual("{=
|
|
213
|
+
expect(getVisibleExpression(dataModelObjectPathForProperty)).toEqual("{= %{isHidden2} !== true && %{isHidden} !== true}");
|
|
181
214
|
expect(getVisibleExpression(dataModelObjectPathForProperty, {
|
|
182
215
|
isAnalytics: true
|
|
183
|
-
})).toEqual("{=
|
|
216
|
+
})).toEqual("{= %{isHidden2} !== true && %{isHidden} !== true && (%{@$ui5.node.isExpanded} !== true || %{@$ui5.node.level} === 0)}");
|
|
184
217
|
dataModelObjectPathForProperty = getDataModelObjectPathForProperty(entitySet, entitySetLineItem[6] // hiddenWith11Nav with dynamic datafield hidden
|
|
185
218
|
);
|
|
186
|
-
expect(getVisibleExpression(dataModelObjectPathForProperty)).toEqual("{=
|
|
219
|
+
expect(getVisibleExpression(dataModelObjectPathForProperty)).toEqual("{= %{isHidden2} !== true && %{SpecialChild/isHidden} !== true}");
|
|
187
220
|
dataModelObjectPathForProperty = getDataModelObjectPathForProperty(entitySet, entitySetLineItem[7] // hiddenWith1NNav with dynamic datafield hidden -> Doesn't make sense and model will complain but heh :(
|
|
188
221
|
);
|
|
189
|
-
expect(getVisibleExpression(dataModelObjectPathForProperty)).toEqual("{=
|
|
222
|
+
expect(getVisibleExpression(dataModelObjectPathForProperty)).toEqual("{= %{isHidden2} !== true && %{_Elements/isHidden} !== true}");
|
|
190
223
|
dataModelObjectPathForProperty = getDataModelObjectPathForProperty(entitySet, entitySetLineItem[8] // Data Field For Action
|
|
191
224
|
);
|
|
192
225
|
expect(getVisibleExpression(dataModelObjectPathForProperty)).toEqual("true");
|
|
@@ -195,7 +228,7 @@ sap.ui.define(["sap/fe/macros/field/FieldTemplating", "sap/fe/core/templating/UI
|
|
|
195
228
|
expect(getVisibleExpression(dataModelObjectPathForProperty)).toEqual("true");
|
|
196
229
|
expect(getVisibleExpression(dataModelObjectPathForProperty, {
|
|
197
230
|
isAnalytics: true
|
|
198
|
-
})).toEqual("{=
|
|
231
|
+
})).toEqual("{= %{@$ui5.node.isExpanded} !== true || %{@$ui5.node.level} === 0}");
|
|
199
232
|
dataModelObjectPathForProperty = getDataModelObjectPathForProperty(entitySet, entitySetLineItem[10] // DataFieldForAnnotation -> data point dynamic visible
|
|
200
233
|
);
|
|
201
234
|
expect(getVisibleExpression(dataModelObjectPathForProperty)).toEqual("{= %{isHidden} !== true}");
|
|
@@ -206,6 +239,75 @@ sap.ui.define(["sap/fe/macros/field/FieldTemplating", "sap/fe/core/templating/UI
|
|
|
206
239
|
);
|
|
207
240
|
expect(getVisibleExpression(dataModelObjectPathForProperty)).toEqual("true");
|
|
208
241
|
});
|
|
242
|
+
it("getDataPointStyle with datapoint having Visualization", function () {
|
|
243
|
+
var oContextPath = metaModel.createBindingContext("/MainEntity");
|
|
244
|
+
var oMetaPath = metaModel.createBindingContext("/MainEntity/@com.sap.vocabularies.UI.v1.HeaderFacets/0/Target/$AnnotationPath/");
|
|
245
|
+
var oDataModelPath = getInvolvedDataModelObjects(oMetaPath, oContextPath);
|
|
246
|
+
expect(getDataPointStyle(oDataModelPath)).toEqual(undefined);
|
|
247
|
+
});
|
|
248
|
+
it("getDataPointStyle with datapoint having QuickViewFacets", function () {
|
|
249
|
+
var oContextPath = metaModel.createBindingContext("/MainEntity");
|
|
250
|
+
var oMetaPath = metaModel.createBindingContext("/MainEntity/@com.sap.vocabularies.UI.v1.HeaderFacets/2/Target/$AnnotationPath/");
|
|
251
|
+
var oDataModelPath = getInvolvedDataModelObjects(oMetaPath, oContextPath);
|
|
252
|
+
expect(getDataPointStyle(oDataModelPath)).toEqual("LinkWithQuickViewForm");
|
|
253
|
+
});
|
|
254
|
+
it("getDataPointStyle with datapoint having SemanticObjects", function () {
|
|
255
|
+
var oContextPath = metaModel.createBindingContext("/MainEntity");
|
|
256
|
+
var oMetaPath = metaModel.createBindingContext("/MainEntity/@com.sap.vocabularies.UI.v1.HeaderFacets/1/Target/$AnnotationPath/");
|
|
257
|
+
var oDataModelPath = getInvolvedDataModelObjects(oMetaPath, oContextPath);
|
|
258
|
+
expect(getDataPointStyle(oDataModelPath)).toEqual("LinkWrapper");
|
|
259
|
+
});
|
|
260
|
+
it("getDataPointStyle with datapoint not having Visualization, Quick View Facets, SemanticObjects", function () {
|
|
261
|
+
var oContextPath = metaModel.createBindingContext("/MainEntity");
|
|
262
|
+
var oMetaPath = metaModel.createBindingContext("/MainEntity/@com.sap.vocabularies.UI.v1.HeaderFacets/3/Target/$AnnotationPath/");
|
|
263
|
+
var oDataModelPath = getInvolvedDataModelObjects(oMetaPath, oContextPath);
|
|
264
|
+
expect(getDataPointStyle(oDataModelPath)).toEqual(undefined);
|
|
265
|
+
});
|
|
266
|
+
it("getSemanticObjectExpressionToResolve with annotations", function () {
|
|
267
|
+
var oAnnotations = {
|
|
268
|
+
Label: "Semantic Object Property",
|
|
269
|
+
SemanticObject: "v4-Freestyle"
|
|
270
|
+
};
|
|
271
|
+
expect(getSemanticObjectExpressionToResolve(oAnnotations)).toMatchSnapshot();
|
|
272
|
+
});
|
|
273
|
+
it("getSemanticObjectExpressionToResolve with annotations and semantic object qualifier", function () {
|
|
274
|
+
var oAnnotations = {
|
|
275
|
+
"Label": "Semantic Object Property",
|
|
276
|
+
"SemanticObject#Qualifier": "v4-Freestyle"
|
|
277
|
+
};
|
|
278
|
+
expect(getSemanticObjectExpressionToResolve(oAnnotations)).toMatchSnapshot();
|
|
279
|
+
});
|
|
280
|
+
it("getSemanticObjectExpressionToResolve without annotations", function () {
|
|
281
|
+
var oAnnotations = {};
|
|
282
|
+
expect(getSemanticObjectExpressionToResolve(oAnnotations)).toMatchSnapshot();
|
|
283
|
+
});
|
|
284
|
+
it("getSemanticObjects with aSemObjExprToResolve", function () {
|
|
285
|
+
var aSemObjExprToResolve = [{
|
|
286
|
+
key: "v4-Freestyle",
|
|
287
|
+
value: "v4-Freestyle"
|
|
288
|
+
}];
|
|
289
|
+
var oSemanticObjectContext = getSemanticObjects(aSemObjExprToResolve);
|
|
290
|
+
expect(oSemanticObjectContext.getObject()).toMatchSnapshot();
|
|
291
|
+
});
|
|
292
|
+
it("getSemanticObjects without aSemObjExprToResolve", function () {
|
|
293
|
+
var aSemObjExprToResolve = [];
|
|
294
|
+
var oSemanticObjectContext = getSemanticObjects(aSemObjExprToResolve);
|
|
295
|
+
expect(oSemanticObjectContext.getObject()).toMatchSnapshot();
|
|
296
|
+
});
|
|
297
|
+
it("isUsedInNavigationWithQuickViewFacets with datapoint having QuickViewFacets", function () {
|
|
298
|
+
var oContextPath = metaModel.createBindingContext("/MainEntity");
|
|
299
|
+
var oMetaPath = metaModel.createBindingContext("/MainEntity/@com.sap.vocabularies.UI.v1.HeaderFacets/2/Target/$AnnotationPath/");
|
|
300
|
+
var oDataModelPath = getInvolvedDataModelObjects(oMetaPath, oContextPath);
|
|
301
|
+
var oProperty = oDataModelPath === null || oDataModelPath === void 0 ? void 0 : oDataModelPath.targetObject.Value.$target;
|
|
302
|
+
expect(isUsedInNavigationWithQuickViewFacets(oDataModelPath, oProperty)).toEqual(true);
|
|
303
|
+
});
|
|
304
|
+
it("isUsedInNavigationWithQuickViewFacets with datapoint not having Quick View Facets", function () {
|
|
305
|
+
var oContextPath = metaModel.createBindingContext("/MainEntity");
|
|
306
|
+
var oMetaPath = metaModel.createBindingContext("/MainEntity/@com.sap.vocabularies.UI.v1.HeaderFacets/3/Target/$AnnotationPath/");
|
|
307
|
+
var oDataModelPath = getInvolvedDataModelObjects(oMetaPath, oContextPath);
|
|
308
|
+
var oProperty = oDataModelPath === null || oDataModelPath === void 0 ? void 0 : oDataModelPath.targetObject.Value.$target;
|
|
309
|
+
expect(isUsedInNavigationWithQuickViewFacets(oDataModelPath, oProperty)).toEqual(false);
|
|
310
|
+
});
|
|
209
311
|
});
|
|
210
312
|
}, false);
|
|
211
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpZWxkVGVtcGxhdGluZy5zcGVjLnRzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiY29udmVydGVkVHlwZXMiLCJlbnRpdHlTZXQiLCJlbnRpdHlUeXBlIiwicHJvcGVydGllcyIsImJlZm9yZUFsbCIsInNNZXRhZGF0YVVybCIsImNvbXBpbGVDRFMiLCJwYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsImdldE1ldGFNb2RlbCIsIm1ldGFNb2RlbCIsImNvbnZlcnRUeXBlcyIsIm1heWJlRW50aXR5U2V0IiwiZW50aXR5U2V0cyIsImZpbmQiLCJldCIsIm5hbWUiLCJlbnRpdHlQcm9wZXJ0aWVzIiwiZm9yRWFjaCIsInByb3AiLCJFcnJvciIsIml0IiwidGV4dFNpbXBsZUJpbmRpbmciLCJnZXRWYWx1ZUJpbmRpbmciLCJnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkiLCJleHBlY3QiLCJ0b0VxdWFsIiwidGV4dERlbGV0ZUZvcm1hdHRlckJpbmRpbmciLCJ0ZXh0TWF4TGluZXMiLCJ0ZXh0QmluZGluZ1BhcmFtZXR0ZXIiLCIkJG5vUGF0Y2giLCJ0ZXh0VHlwZUFueSIsInVuZGVmaW5lZCIsImVtYWlsU2ltcGxlQmluZGluZyIsInVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nU2ltcGxlQmluZGluZyIsInVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nSWdub3JlVW5pdCIsInVuaXRXaXRoQ3VycmVuY3lEZXNjcmlwdGlvbkJpbmRpbmciLCJ0ZXh0T25seUJpbmRpbmciLCJnZXRCaW5kaW5nV2l0aFRleHRBcnJhbmdlbWVudCIsImJpbmRpbmdFeHByZXNzaW9uIiwidG9NYXRjaFNuYXBzaG90IiwiY29tcGlsZUJpbmRpbmciLCJ0b0NvbnRhaW4iLCJldmFsdWF0ZUJpbmRpbmdXaXRoTW9kZWwiLCJ0YXJnZXRUZXh0Iiwibm9UZXh0QmluZGluZyIsIm5vVGV4dCIsInRleHRGaXJzdEJpbmRpbmciLCJ0ZXh0Rmlyc3QiLCJ0ZXh0TGFzdEJpbmRpbmciLCJ0ZXh0TGFzdCIsImZ1bGxDb250ZXh0Iiwib3RoZXJNb2RlbEJpbmRpbmciLCJhZGRUZXh0QXJyYW5nZW1lbnRUb0JpbmRpbmdFeHByZXNzaW9uIiwibm90IiwiYWRkVGV4dExhc3RCaW5kaW5nIiwiY29tcGxleFRleHRCaW5kaW5nIiwiaWZFbHNlIiwibW9kZWxDb250ZW50IiwidGVzdFByb3AiLCJvUHJvcGVydHlUeXBlIiwiX3R5cGUiLCJ0eXBlIiwiZm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvbiIsImVudGl0eVNldExpbmVJdGVtIiwiYW5ub3RhdGlvbnMiLCJVSSIsIkxpbmVJdGVtIiwiZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5IiwiZ2V0VmlzaWJsZUV4cHJlc3Npb24iLCJpc0FuYWx5dGljcyJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYUFBLEVBQUFBLFFBQVEsQ0FBQywwQkFBRCxFQUE2QixZQUFNO0FBQzFDLFFBQUlDLGNBQUo7QUFDQSxRQUFJQyxTQUFKO0FBQ0EsUUFBSUMsVUFBSjtBQUNBLFFBQU1DLFVBQW9DLEdBQUcsRUFBN0M7QUFDQUMsSUFBQUEsU0FBUztBQUFBLFVBQWE7QUFDckIsWUFBTUMsWUFBWSxHQUFHQyxVQUFVLENBQUNDLElBQUksQ0FBQ0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLHVCQUFyQixDQUFELENBQS9CO0FBRHFCLCtCQUVHQyxZQUFZLENBQUNMLFlBQUQsQ0FGZixpQkFFZk0sU0FGZTtBQUdyQlgsVUFBQUEsY0FBYyxHQUFHWSxZQUFZLENBQUNELFNBQUQsQ0FBN0I7QUFDQSxjQUFNRSxjQUFjLEdBQUdiLGNBQWMsQ0FBQ2MsVUFBZixDQUEwQkMsSUFBMUIsQ0FBK0IsVUFBQUMsRUFBRTtBQUFBLG1CQUFJQSxFQUFFLENBQUNDLElBQUgsS0FBWSxZQUFoQjtBQUFBLFdBQWpDLENBQXZCOztBQUpxQixjQUtqQkosY0FMaUI7QUFNcEJaLFlBQUFBLFNBQVMsR0FBR1ksY0FBWjtBQUNBWCxZQUFBQSxVQUFVLEdB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O0FBSUF2QyxNQUFBQSxNQUFNLENBQUM0QyxvQkFBb0IsQ0FBQ0QsOEJBQUQsQ0FBckIsQ0FBTixDQUE2RDFDLE9BQTdELENBQXFFLDBCQUFyRTtBQUNBMEMsTUFBQUEsOEJBQThCLEdBQUc1QyxpQ0FBaUMsQ0FDakV4QixTQURpRSxFQUVqRWdFLGlCQUFpQixDQUFDLEVBQUQsQ0FGZ0QsQ0FFMUI7QUFGMEIsT0FBbEU7QUFJQXZDLE1BQUFBLE1BQU0sQ0FBQzRDLG9CQUFvQixDQUFDRCw4QkFBRCxDQUFyQixDQUFOLENBQTZEMUMsT0FBN0QsQ0FBcUUsTUFBckU7QUFDQTBDLE1BQUFBLDhCQUE4QixHQUFHNUMsaUNBQWlDLENBQ2pFeEIsU0FEaUUsRUFFakVnRSxpQkFBaUIsQ0FBQyxFQUFELENBRmdELENBRTFCO0FBRjBCLE9BQWxFO0FBSUF2QyxNQUFBQSxNQUFNLENBQUM0QyxvQkFBb0IsQ0FBQ0QsOEJBQUQsQ0FBckIsQ0FBTixDQUE2RDFDLE9BQTdELENBQXFFLE1BQXJFO0FBQ0EsS0F4RUMsQ0FBRjtBQXlFQSxHQXhSTyxDQUFSIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRnZXRCaW5kaW5nV2l0aFRleHRBcnJhbmdlbWVudCxcblx0YWRkVGV4dEFycmFuZ2VtZW50VG9CaW5kaW5nRXhwcmVzc2lvbixcblx0Z2V0VmlzaWJsZUV4cHJlc3Npb24sXG5cdEZpZWxkRm9ybWF0T3B0aW9ucyxcblx0Z2V0VmFsdWVCaW5kaW5nXG59IGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpZWxkL0ZpZWxkVGVtcGxhdGluZ1wiO1xuaW1wb3J0IHsgZm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1VJRm9ybWF0dGVyc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IGNvbXBpbGVDRFMsIGdldE1ldGFNb2RlbCwgZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5LCBldmFsdWF0ZUJpbmRpbmdXaXRoTW9kZWwgfSBmcm9tIFwic2FwL2ZlL3Rlc3QvSmVzdFRlbXBsYXRpbmdIZWxwZXJcIjtcbmltcG9ydCB7IGNvbnZlcnRUeXBlcyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHsgQW55QW5ub3RhdGlvbiwgRW50aXR5U2V0LCBFbnRpdHlUeXBlLCBQcm9wZXJ0eSB9IGZyb20gXCJAc2FwLXV4L2Fubm90YXRpb24tY29udmVydGVyXCI7XG5pbXBvcnQgeyBiaW5kaW5nRXhwcmVzc2lvbiwgY29tcGlsZUJpbmRpbmcsIGlmRWxzZSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdFeHByZXNzaW9uXCI7XG5pbXBvcnQgeyBMaW5lSXRlbSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuXG5kZXNjcmliZShcIkZpZWxkIFRlbXBsYXRpbmcgVGVzdGluZ1wiLCAoKSA9PiB7XG5cdGxldCBjb252ZXJ0ZWRUeXBlcztcblx0bGV0IGVudGl0eVNldDogRW50aXR5U2V0O1xuXHRsZXQgZW50aXR5VHlwZTogRW50aXR5VHlwZTtcblx0Y29uc3QgcHJvcGVydGllczogUmVjb3JkPHN0cmluZywgUHJvcGVydHk+ID0ge307XG5cdGJlZm9yZUFsbChhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3Qgc01ldGFkYXRhVXJsID0gY29tcGlsZUNEUyhwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4vRmllbGRUZW1wbGF0aW5nLmNkc1wiKSk7XG5cdFx0Y29uc3QgbWV0YU1vZGVsID0gYXdhaXQgZ2V0TWV0YU1vZGVsKHNNZXRhZGF0YVVybCk7XG5cdFx0Y29udmVydGVkVHlwZXMgPSBjb252ZXJ0VHlwZXMobWV0YU1vZGVsKTtcblx0XHRjb25zdCBtYXliZUVudGl0eVNldCA9IGNvbnZlcnRlZFR5cGVzLmVudGl0eVNldHMuZmluZChldCA9PiBldC5uYW1lID09PSBcIk1haW5FbnRpdHlcIik7XG5cdFx0aWYgKG1heWJlRW50aXR5U2V0KSB7XG5cdFx0XHRlbnRpdHlTZXQgPSBtYXliZUVudGl0eVNldDtcblx0XHRcdGVudGl0eVR5cGUgPSBtYXliZUVudGl0eVNldC5lbnRpdHlUeXBlO1xuXHRcdFx0ZW50aXR5VHlwZS5lbnRpdHlQcm9wZXJ0aWVzLmZvckVhY2gocHJvcCA9PiB7XG5cdFx0XHRcdHByb3BlcnRpZXNbcHJvcC5uYW1lXSA9IHByb3A7XG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiRXJyb3IgaW4gdGVzdCBzZXR1cFwiKTtcblx0XHR9XG5cdH0pO1xuXG5cdGl0KFxuXHRcdFwiI2dldFZhbHVlQmluZGluZ1wiLFxuXHRcdHtcblx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRcInR5cGVcIjogXCJCQ1BcIixcblx0XHRcdFx0XHRcIklEXCI6IFwiMjE3MDIzNzE2NVwiXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHR9LFxuXHRcdCgpID0+IHtcblx0XHRcdGNvbnN0IHRleHRTaW1wbGVCaW5kaW5nID0gZ2V0VmFsdWVCaW5kaW5nKGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJ0ZXh0QmluZGluZ1wiXSksIHt9KTtcblx0XHRcdGV4cGVjdCh0ZXh0U2ltcGxlQmluZGluZykudG9FcXVhbChcblx0XHRcdFx0XCJ7cGF0aDondGV4dEJpbmRpbmcnLCB0eXBlOiAnc2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuU3RyaW5nJywgZm9ybWF0T3B0aW9uczoge3BhcnNlS2VlcHNFbXB0eVN0cmluZzogdHJ1ZX19XCJcblx0XHRcdCk7XG5cblx0XHRcdGNvbnN0IHRleHREZWxldGVGb3JtYXR0ZXJCaW5kaW5nID0gZ2V0VmFsdWVCaW5kaW5nKFxuXHRcdFx0XHRnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0LCBwcm9wZXJ0aWVzW1widGV4dEJpbmRpbmdcIl0pLFxuXHRcdFx0XHR7IHRleHRNYXhMaW5lczogXCIxMFwiIH0sXG5cdFx0XHRcdHRydWUsIC8vaWdub3JlVW5pdCwgaXQgZG9lc24ndCBoYXZlIHVuaXQsIHNvIGRvZXNuJ3QgbWF0dGVyLiBUZXN0ZWQgYSBmZXcgbGluZXMgbGF0ZXIuXG5cdFx0XHRcdHRydWVcblx0XHRcdCk7XG5cdFx0XHRleHBlY3QodGV4dERlbGV0ZUZvcm1hdHRlckJpbmRpbmcpLnRvRXF1YWwoXCJ7dGV4dEJpbmRpbmd9XCIpO1xuXG5cdFx0XHRjb25zdCB0ZXh0QmluZGluZ1BhcmFtZXR0ZXIgPSBnZXRWYWx1ZUJpbmRpbmcoXG5cdFx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJ0ZXh0QmluZGluZ1wiXSksXG5cdFx0XHRcdHsgdGV4dE1heExpbmVzOiBcIjEwXCIgfSxcblx0XHRcdFx0dHJ1ZSxcblx0XHRcdFx0dHJ1ZSxcblx0XHRcdFx0eyAkJG5vUGF0Y2g6IHRydWUgfVxuXHRcdFx0KTtcblx0XHRcdGV4cGVjdCh0ZXh0QmluZGluZ1BhcmFtZXR0ZXIpLnRvRXF1YWwoXCJ7cGF0aDondGV4dEJpbmRpbmcnLCBwYXJhbWV0ZXJzOiB7JCRub1BhdGNoOiB0cnVlfX1cIik7XG5cblx0XHRcdGNvbnN0IHRleHRUeXBlQW55ID0gZ2V0VmFsdWVCaW5kaW5nKFxuXHRcdFx0XHRnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0LCBwcm9wZXJ0aWVzW1widGV4dEJpbmRpbmdcIl0pLFxuXHRcdFx0XHR7fSxcblx0XHRcdFx0ZmFsc2UsXG5cdFx0XHRcdGZhbHNlLFxuXHRcdFx0XHR1bmRlZmluZWQsXG5cdFx0XHRcdHRydWVcblx0XHRcdCk7XG5cdFx0XHRleHBlY3QodGV4dFR5cGVBbnkpLnRvRXF1YWwoXG5cdFx0XHRcdFwie3BhdGg6J3RleHRCaW5kaW5nJywgdHlwZTogJ3NhcC51aS5tb2RlbC5vZGF0YS50eXBlLlN0cmluZycsIGZvcm1hdE9wdGlvbnM6IHtwYXJzZUtlZXBzRW1wdHlTdHJpbmc6IHRydWV9LCB0YXJnZXRUeXBlOiAnYW55J31cIlxuXHRcdFx0KTtcblxuXHRcdFx0Y29uc3QgZW1haWxTaW1wbGVCaW5kaW5nID0gZ2V0VmFsdWVCaW5kaW5nKGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJlbWFpbEJpbmRpbmdcIl0pLCB7fSk7XG5cdFx0XHRleHBlY3QoZW1haWxTaW1wbGVCaW5kaW5nKS50b0VxdWFsKFwie3BhdGg6J2VtYWlsQmluZGluZycsIHR5cGU6ICdzYXAuZmUuY29yZS50eXBlLkVtYWlsJ31cIik7XG5cblx0XHRcdGNvbnN0IHVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nU2ltcGxlQmluZGluZyA9IGdldFZhbHVlQmluZGluZyhcblx0XHRcdFx0Z2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KGVudGl0eVNldCwgcHJvcGVydGllc1tcIlVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nXCJdKSxcblx0XHRcdFx0e31cblx0XHRcdCk7XG5cdFx0XHRleHBlY3QodW5pdFdpdGhDdXJyZW5jeUJpbmRpbmdTaW1wbGVCaW5kaW5nKS50b0VxdWFsKFxuXHRcdFx0XHRcInttb2RlOidUd29XYXknLCBwYXJ0czpbe3BhdGg6J1VuaXRXaXRoQ3VycmVuY3lCaW5kaW5nJywgdHlwZSA6ICdzYXAudWkubW9kZWwub2RhdGEudHlwZS5JbnQzMicsIGZvcm1hdE9wdGlvbnM6IHtwYXJzZUFzU3RyaW5nOiBmYWxzZSwgZW1wdHlTdHJpbmc6ICcnfX0se3BhdGg6J2N1cnJlbmN5JywgdHlwZSA6ICdzYXAudWkubW9kZWwub2RhdGEudHlwZS5TdHJpbmcnLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VLZWVwc0VtcHR5U3RyaW5nOiB0cnVlfX0se21vZGU6J09uZVRpbWUnLHBhdGg6Jy8jI0BAcmVxdWVzdEN1cnJlbmN5Q29kZXMnLHRhcmdldFR5cGU6J2FueSd9XSx0eXBlOidzYXAudWkubW9kZWwub2RhdGEudHlwZS5DdXJyZW5jeScsIGZvcm1hdE9wdGlvbnM6IHtwYXJzZUFzU3RyaW5nOiBmYWxzZSwgZW1wdHlTdHJpbmc6ICcnLCBzaG93TWVhc3VyZTogZmFsc2V9fVwiXG5cdFx0XHQpO1xuXG5cdFx0XHRjb25zdCB1bml0V2l0aEN1cnJlbmN5QmluZGluZ0lnbm9yZVVuaXQgPSBnZXRWYWx1ZUJpbmRpbmcoXG5cdFx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJVbml0V2l0aEN1cnJlbmN5QmluZGluZ1wiXSksXG5cdFx0XHRcdHt9LFxuXHRcdFx0XHR0cnVlXG5cdFx0XHQpO1xuXHRcdFx0ZXhwZWN0KHVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nSWdub3JlVW5pdCkudG9FcXVhbChcblx0XHRcdFx0XCJ7cGF0aDonVW5pdFdpdGhDdXJyZW5jeUJpbmRpbmcnLCB0eXBlOiAnc2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuSW50MzInLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VBc1N0cmluZzogZmFsc2UsIGVtcHR5U3RyaW5nOiAnJ319XCJcblx0XHRcdCk7XG5cblx0XHRcdGNvbnN0IHVuaXRXaXRoQ3VycmVuY3lEZXNjcmlwdGlvbkJpbmRpbmcgPSBnZXRWYWx1ZUJpbmRpbmcoXG5cdFx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJVbml0V2l0aEN1cnJlbmN5QmluZGluZ1wiXSksXG5cdFx0XHRcdHt9LFxuXHRcdFx0XHRmYWxzZSxcblx0XHRcdFx0ZmFsc2UsXG5cdFx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdFx0dHJ1ZSxcblx0XHRcdFx0dHJ1ZVxuXHRcdFx0KTtcblx0XHRcdGV4cGVjdCh1bml0V2l0aEN1cnJlbmN5RGVzY3JpcHRpb25CaW5kaW5nKS50b0VxdWFsKFxuXHRcdFx0XHRcInttb2RlOidUd29XYXknLCBwYXJ0czpbe3BhdGg6J1VuaXRXaXRoQ3VycmVuY3lCaW5kaW5nJywgdHlwZSA6ICdzYXAudWkubW9kZWwub2RhdGEudHlwZS5JbnQzMicsIGZvcm1hdE9wdGlvbnM6IHtwYXJzZUFzU3RyaW5nOiBmYWxzZSwgZW1wdHlTdHJpbmc6ICcnfX0se3BhdGg6J2N1cnJlbmN5JywgdHlwZSA6ICdzYXAudWkubW9kZWwub2RhdGEudHlwZS5TdHJpbmcnLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VLZWVwc0VtcHR5U3RyaW5nOiB0cnVlfX0se21vZGU6J09uZVRpbWUnLHBhdGg6Jy8jI0BAcmVxdWVzdEN1cnJlbmN5Q29kZXMnLHRhcmdldFR5cGU6J2FueSd9XSx0eXBlOidzYXAudWkubW9kZWwub2RhdGEudHlwZS5DdXJyZW5jeScsIGZvcm1hdE9wdGlvbnM6IHtwYXJzZUFzU3RyaW5nOiBmYWxzZSwgZW1wdHlTdHJpbmc6ICcnLCBzaG93TnVtYmVyOiBmYWxzZX19XCJcblx0XHRcdCk7XG5cdFx0fVxuXHQpO1xuXG5cdGl0KFwiI2dldEJpbmRpbmdXaXRoVGV4dEFycmFuZ2VtZW50XCIsICgpID0+IHtcblx0XHQvLyBDYXNlcyB0byBjb25zaWRlclxuXG5cdFx0Ly8gVGV4dE9ubHlcblx0XHRjb25zdCB0ZXh0T25seUJpbmRpbmcgPSBnZXRCaW5kaW5nV2l0aFRleHRBcnJhbmdlbWVudChcblx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJ0ZXh0T25seVwiXSksXG5cdFx0XHRiaW5kaW5nRXhwcmVzc2lvbihcInRleHRPbmx5XCIpXG5cdFx0KTtcblx0XHRleHBlY3QodGV4dE9ubHlCaW5kaW5nKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcodGV4dE9ubHlCaW5kaW5nKSkudG9Db250YWluKFwidGFyZ2V0VGV4dFwiKTtcblx0XHRleHBlY3QoZXZhbHVhdGVCaW5kaW5nV2l0aE1vZGVsKGNvbXBpbGVCaW5kaW5nKHRleHRPbmx5QmluZGluZyksIHsgdGFyZ2V0VGV4dDogXCJZb2xvXCIgfSkpLnRvRXF1YWwoXCJZb2xvXCIpO1xuXG5cdFx0Ly8gTm8gdGV4dCBhcnJhbmdlbWVudFxuXHRcdGNvbnN0IG5vVGV4dEJpbmRpbmcgPSBnZXRCaW5kaW5nV2l0aFRleHRBcnJhbmdlbWVudChcblx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJub1RleHRcIl0pLFxuXHRcdFx0YmluZGluZ0V4cHJlc3Npb24oXCJub1RleHRcIilcblx0XHQpO1xuXHRcdGV4cGVjdChub1RleHRCaW5kaW5nKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcobm9UZXh0QmluZGluZykpLnRvQ29udGFpbihcIm5vVGV4dFwiKTtcblx0XHRleHBlY3QoZXZhbHVhdGVCaW5kaW5nV2l0aE1vZGVsKGNvbXBpbGVCaW5kaW5nKG5vVGV4dEJpbmRpbmcpLCB7IG5vVGV4dDogXCJZb2xvXCIgfSkpLnRvRXF1YWwoXCJZb2xvXCIpO1xuXG5cdFx0Ly8gVGV4dEZpcnN0XG5cdFx0Y29uc3QgdGV4dEZpcnN0QmluZGluZyA9IGdldEJpbmRpbmdXaXRoVGV4dEFycmFuZ2VtZW50KFxuXHRcdFx0Z2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KGVudGl0eVNldCwgcHJvcGVydGllc1tcInRleHRGaXJzdFwiXSksXG5cdFx0XHRiaW5kaW5nRXhwcmVzc2lvbihcInRleHRGaXJzdFwiKVxuXHRcdCk7XG5cdFx0ZXhwZWN0KHRleHRGaXJzdEJpbmRpbmcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyh0ZXh0Rmlyc3RCaW5kaW5nKSkudG9Db250YWluKFwidGV4dEZpcnN0XCIpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyh0ZXh0Rmlyc3RCaW5kaW5nKSkudG9Db250YWluKFwidGFyZ2V0VGV4dFwiKTtcblx0XHRleHBlY3QoXG5cdFx0XHRldmFsdWF0ZUJpbmRpbmdXaXRoTW9kZWwoY29tcGlsZUJpbmRpbmcodGV4dEZpcnN0QmluZGluZyksIHsgdGV4dEZpcnN0OiBcIllvbG8gTGFzdFwiLCB0YXJnZXRUZXh0OiBcIllvbG8gRGVzY3JpcHRpb25cIiB9KVxuXHRcdCkudG9FcXVhbChcIllvbG8gRGVzY3JpcHRpb24gKFlvbG8gTGFzdClcIik7XG5cblx0XHQvLyBUZXh0TGFzdFxuXHRcdGNvbnN0IHRleHRMYXN0QmluZGluZyA9IGdldEJpbmRpbmdXaXRoVGV4dEFycmFuZ2VtZW50KFxuXHRcdFx0Z2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KGVudGl0eVNldCwgcHJvcGVydGllc1tcInRleHRMYXN0XCJdKSxcblx0XHRcdGJpbmRpbmdFeHByZXNzaW9uKFwidGV4dExhc3RcIilcblx0XHQpO1xuXHRcdGV4cGVjdCh0ZXh0TGFzdEJpbmRpbmcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyh0ZXh0TGFzdEJpbmRpbmcpKS50b0NvbnRhaW4oXCJ0ZXh0TGFzdFwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcodGV4dExhc3RCaW5kaW5nKSkudG9Db250YWluKFwidGFyZ2V0VGV4dFwiKTtcblx0XHRleHBlY3QoXG5cdFx0XHRldmFsdWF0ZUJpbmRpbmdXaXRoTW9kZWwoY29tcGlsZUJpbmRpbmcodGV4dExhc3RCaW5kaW5nKSwgeyB0ZXh0TGFzdDogXCJZb2xvIEZpcnN0XCIsIHRhcmdldFRleHQ6IFwiWW9sbyBEZXNjcmlwdGlvblwiIH0pXG5cdFx0KS50b0VxdWFsKFwiWW9sbyBGaXJzdCAoWW9sbyBEZXNjcmlwdGlvbilcIik7XG5cdH0pO1xuXG5cdGl0KFwiI2FkZFRleHRBcnJhbmdlbWVudFRvQmluZGluZ0V4cHJlc3Npb25cIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGZ1bGxDb250ZXh0ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KGVudGl0eVNldCk7XG5cblx0XHRjb25zdCBvdGhlck1vZGVsQmluZGluZyA9IGFkZFRleHRBcnJhbmdlbWVudFRvQmluZGluZ0V4cHJlc3Npb24oYmluZGluZ0V4cHJlc3Npb24oXCJ0ZXh0TGFzdFwiLCBcIm90aGVyTW9kZWxcIiksIGZ1bGxDb250ZXh0KTtcblx0XHRleHBlY3Qob3RoZXJNb2RlbEJpbmRpbmcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhvdGhlck1vZGVsQmluZGluZykpLnRvQ29udGFpbihcInRleHRMYXN0XCIpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhvdGhlck1vZGVsQmluZGluZykpLm5vdC50b0NvbnRhaW4oXCJ0YXJnZXRUZXh0XCIpO1xuXG5cdFx0Y29uc3QgYWRkVGV4dExhc3RCaW5kaW5nID0gYWRkVGV4dEFycmFuZ2VtZW50VG9CaW5kaW5nRXhwcmVzc2lvbihiaW5kaW5nRXhwcmVzc2lvbihcInRleHRMYXN0XCIpLCBmdWxsQ29udGV4dCk7XG5cdFx0ZXhwZWN0KGFkZFRleHRMYXN0QmluZGluZykudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGFkZFRleHRMYXN0QmluZGluZykpLnRvQ29udGFpbihcInRleHRMYXN0XCIpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhhZGRUZXh0TGFzdEJpbmRpbmcpKS50b0NvbnRhaW4oXCJ0YXJnZXRUZXh0XCIpO1xuXHRcdGV4cGVjdChcblx0XHRcdGV2YWx1YXRlQmluZGluZ1dpdGhNb2RlbChjb21waWxlQmluZGluZyhhZGRUZXh0TGFzdEJpbmRpbmcpLCB7IHRleHRMYXN0OiBcIllvbG8gRmlyc3RcIiwgdGFyZ2V0VGV4dDogXCJZb2xvIERlc2NyaXB0aW9uXCIgfSlcblx0XHQpLnRvRXF1YWwoXCJZb2xvIEZpcnN0IChZb2xvIERlc2NyaXB0aW9uKVwiKTtcblxuXHRcdGNvbnN0IGNvbXBsZXhUZXh0QmluZGluZyA9IGFkZFRleHRBcnJhbmdlbWVudFRvQmluZGluZ0V4cHJlc3Npb24oXG5cdFx0XHRpZkVsc2UoYmluZGluZ0V4cHJlc3Npb24oXCJ0ZXN0UHJvcFwiKSwgYmluZGluZ0V4cHJlc3Npb24oXCJ0ZXh0TGFzdFwiKSwgYmluZGluZ0V4cHJlc3Npb24oXCJub1RleHRcIikpLFxuXHRcdFx0ZnVsbENvbnRleHRcblx0XHQpO1xuXHRcdGV4cGVjdChjb21wbGV4VGV4dEJpbmRpbmcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhjb21wbGV4VGV4dEJpbmRpbmcpKS50b0NvbnRhaW4oXCJ0ZXh0TGFzdFwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoY29tcGxleFRleHRCaW5kaW5nKSkudG9Db250YWluKFwidGFyZ2V0VGV4dFwiKTtcblx0XHRjb25zdCBtb2RlbENvbnRlbnQgPSB7XG5cdFx0XHR0ZXN0UHJvcDogdHJ1ZSxcblx0XHRcdHRleHRMYXN0OiBcIllvbG8gRmlyc3RcIixcblx0XHRcdHRhcmdldFRleHQ6IFwiWW9sbyBEZXNjcmlwdGlvblwiLFxuXHRcdFx0bm9UZXh0OiBcIk5vdCBZb2xvXCJcblx0XHR9O1xuXHRcdGV4cGVjdChldmFsdWF0ZUJpbmRpbmdXaXRoTW9kZWwoY29tcGlsZUJpbmRpbmcoY29tcGxleFRleHRCaW5kaW5nKSwgbW9kZWxDb250ZW50KSkudG9FcXVhbChcIllvbG8gRmlyc3QgKFlvbG8gRGVzY3JpcHRpb24pXCIpO1xuXG5cdFx0bW9kZWxDb250ZW50LnRlc3RQcm9wID0gZmFsc2U7XG5cdFx0ZXhwZWN0KGV2YWx1YXRlQmluZGluZ1dpdGhNb2RlbChjb21waWxlQmluZGluZyhjb21wbGV4VGV4dEJpbmRpbmcpLCBtb2RlbENvbnRlbnQpKS50b0VxdWFsKFwiTm90IFlvbG9cIik7XG5cdH0pO1xuXG5cdGl0KFwiZm9ybWF0dGVkIEludGVnZXIgdHlwZSBjYWxsXCIsICgpID0+IHtcblx0XHRjb25zdCBvUHJvcGVydHlUeXBlID0geyBfdHlwZTogXCJQcm9wZXJ0eVwiLCB0eXBlOiBcIkVkbS5JbnQzMlwiIH0gYXMgUHJvcGVydHk7XG5cdFx0cmV0dXJuIGV4cGVjdChjb21waWxlQmluZGluZyhmb3JtYXRXaXRoVHlwZUluZm9ybWF0aW9uKG9Qcm9wZXJ0eVR5cGUsIGJpbmRpbmdFeHByZXNzaW9uKFwidmFsdWVcIikpKSkudG9FcXVhbChcblx0XHRcdFwie3BhdGg6J3ZhbHVlJywgdHlwZTogJ3NhcC51aS5tb2RlbC5vZGF0YS50eXBlLkludDMyJywgZm9ybWF0T3B0aW9uczoge3BhcnNlQXNTdHJpbmc6IGZhbHNlLCBlbXB0eVN0cmluZzogJyd9fVwiXG5cdFx0KTtcblx0fSk7XG5cblx0aXQoXG5cdFx0XCJmb3JtYXR0ZWQgRG91YmxlIHR5cGUgY2FsbFwiLFxuXHRcdHtcblx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRcInR5cGVcIjogXCJCQ1BcIixcblx0XHRcdFx0XHRcIklEXCI6IFwiMjE4MDIxMjE0OFwiXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHR9LFxuXHRcdCgpID0+IHtcblx0XHRcdGNvbnN0IG9Qcm9wZXJ0eVR5cGUgPSB7IF90eXBlOiBcIlByb3BlcnR5XCIsIHR5cGU6IFwiRWRtLkRvdWJsZVwiIH0gYXMgUHJvcGVydHk7XG5cdFx0XHRyZXR1cm4gZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGZvcm1hdFdpdGhUeXBlSW5mb3JtYXRpb24ob1Byb3BlcnR5VHlwZSwgYmluZGluZ0V4cHJlc3Npb24oXCJ2YWx1ZVwiKSkpKS50b0VxdWFsKFxuXHRcdFx0XHRcIntwYXRoOid2YWx1ZScsIHR5cGU6ICdzYXAudWkubW9kZWwub2RhdGEudHlwZS5Eb3VibGUnLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VBc1N0cmluZzogZmFsc2UsIGVtcHR5U3RyaW5nOiAnJ319XCJcblx0XHRcdCk7XG5cdFx0fVxuXHQpO1xuXG5cdGl0KFwiY2FuIGV2YWx1YXRlIHRoZSB2aXNpYmxlIHBhcmFtZXRlciBiYXNlZCBvbiBVSS5IaWRkZW5cIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGVudGl0eVNldExpbmVJdGVtID0gZW50aXR5U2V0LmVudGl0eVR5cGUuYW5ub3RhdGlvbnMuVUk/LkxpbmVJdGVtIGFzIExpbmVJdGVtO1xuXHRcdGxldCBkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkgPSBnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoXG5cdFx0XHRlbnRpdHlTZXQsXG5cdFx0XHRlbnRpdHlTZXRMaW5lSXRlbVsxXSBhcyBBbnlBbm5vdGF0aW9uIC8vIHN0YXRpY0hpZGRlblByb3Bcblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwiZmFsc2VcIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bMl0gYXMgQW55QW5ub3RhdGlvbiAvLyBkeW5hbWljSGlkZGVuUHJvcFxuXHRcdCk7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSkpLnRvRXF1YWwoXCJ7PSAle2lzSGlkZGVufSAhPT0gdHJ1ZX1cIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bM10gYXMgQW55QW5ub3RhdGlvbiAvLyB0ZXh0Rmlyc3Qgd2l0aCBkYXRhRmllbGQgc3RhdGljYWxseSBoaWRkZW5cblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwiZmFsc2VcIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bNF0gYXMgQW55QW5ub3RhdGlvbiAvLyB0ZXh0T25seSB3aXRoIGRhdGFGaWVsZCBkeW5hbWljYWxseSBoaWRkZW5cblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwiez0gJXtpc0hpZGRlbn0gIT09IHRydWV9XCIpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzVdIGFzIEFueUFubm90YXRpb24gLy8gZHluYW1pY0hpZGRlblByb3AyIHdpdGggZHluYW1pYyBkYXRhZmllbGQgaGlkZGVuXG5cdFx0KTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KSkudG9FcXVhbChcIns9ICgle2lzSGlkZGVuMn0gIT09IHRydWUgJiYgJXtpc0hpZGRlbn0gIT09IHRydWUpfVwiKTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5LCB7IGlzQW5hbHl0aWNzOiB0cnVlIH0gYXMgRmllbGRGb3JtYXRPcHRpb25zKSkudG9FcXVhbChcblx0XHRcdFwiez0gKCV7aXNIaWRkZW4yfSAhPT0gdHJ1ZSAmJiAle2lzSGlkZGVufSAhPT0gdHJ1ZSAmJiAoJXtAJHVpNS5ub2RlLmlzRXhwYW5kZWR9ICE9PSB0cnVlIHx8ICV7QCR1aTUubm9kZS5sZXZlbH0gPT09IDApKX1cIlxuXHRcdCk7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bNl0gYXMgQW55QW5ub3RhdGlvbiAvLyBoaWRkZW5XaXRoMTFOYXYgd2l0aCBkeW5hbWljIGRhdGFmaWVsZCBoaWRkZW5cblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFxuXHRcdFx0XCJ7PSAoJXtpc0hpZGRlbjJ9ICE9PSB0cnVlICYmICV7U3BlY2lhbENoaWxkL2lzSGlkZGVufSAhPT0gdHJ1ZSl9XCJcblx0XHQpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzddIGFzIEFueUFubm90YXRpb24gLy8gaGlkZGVuV2l0aDFOTmF2IHdpdGggZHluYW1pYyBkYXRhZmllbGQgaGlkZGVuIC0+IERvZXNuJ3QgbWFrZSBzZW5zZSBhbmQgbW9kZWwgd2lsbCBjb21wbGFpbiBidXQgaGVoIDooXG5cdFx0KTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KSkudG9FcXVhbChcblx0XHRcdFwiez0gKCV7aXNIaWRkZW4yfSAhPT0gdHJ1ZSAmJiAle19FbGVtZW50cy9pc0hpZGRlbn0gIT09IHRydWUpfVwiXG5cdFx0KTtcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkgPSBnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoXG5cdFx0XHRlbnRpdHlTZXQsXG5cdFx0XHRlbnRpdHlTZXRMaW5lSXRlbVs4XSBhcyBBbnlBbm5vdGF0aW9uIC8vIERhdGEgRmllbGQgRm9yIEFjdGlvblxuXHRcdCk7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSkpLnRvRXF1YWwoXCJ0cnVlXCIpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzldIGFzIEFueUFubm90YXRpb24gLy8gRGF0YUZpZWxkRm9yQW5ub3RhdGlvbiAtPiBkYXRhIHBvaW50IHZpc2libGVcblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwidHJ1ZVwiKTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5LCB7IGlzQW5hbHl0aWNzOiB0cnVlIH0gYXMgRmllbGRGb3JtYXRPcHRpb25zKSkudG9FcXVhbChcblx0XHRcdFwiez0gKCV7QCR1aTUubm9kZS5pc0V4cGFuZGVkfSAhPT0gdHJ1ZSB8fCAle0AkdWk1Lm5vZGUubGV2ZWx9ID09PSAwKX1cIlxuXHRcdCk7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bMTBdIGFzIEFueUFubm90YXRpb24gLy8gRGF0YUZpZWxkRm9yQW5ub3RhdGlvbiAtPiBkYXRhIHBvaW50IGR5bmFtaWMgdmlzaWJsZVxuXHRcdCk7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSkpLnRvRXF1YWwoXCJ7PSAle2lzSGlkZGVufSAhPT0gdHJ1ZX1cIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bMTFdIGFzIEFueUFubm90YXRpb24gLy8gbm9IaWRkZW5Qcm9wXG5cdFx0KTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bMTJdIGFzIEFueUFubm90YXRpb24gLy8gRGF0YUZpZWxkRm9yQW5ub3RhdGlvbiAtPiBGaWVsZEdyb3VwIC0+IERhdGFcblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwidHJ1ZVwiKTtcblx0fSk7XG59KTtcbiJdfQ==
|
|
313
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpZWxkVGVtcGxhdGluZy5zcGVjLnRzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiY29udmVydGVkVHlwZXMiLCJtZXRhTW9kZWwiLCJlbnRpdHlTZXQiLCJlbnRpdHlUeXBlIiwicHJvcGVydGllcyIsImJlZm9yZUFsbCIsInNNZXRhZGF0YVVybCIsImNvbXBpbGVDRFMiLCJwYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsImdldE1ldGFNb2RlbCIsImNvbnZlcnRUeXBlcyIsIm1heWJlRW50aXR5U2V0IiwiZW50aXR5U2V0cyIsImZpbmQiLCJldCIsIm5hbWUiLCJlbnRpdHlQcm9wZXJ0aWVzIiwiZm9yRWFjaCIsInByb3AiLCJFcnJvciIsImJlZm9yZUVhY2giLCJqZXN0IiwiY2xlYXJBbGxNb2NrcyIsIml0IiwidGV4dFNpbXBsZUJpbmRpbmciLCJnZXRWYWx1ZUJpbmRpbmciLCJnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkiLCJleHBlY3QiLCJ0b0VxdWFsIiwidGV4dERlbGV0ZUZvcm1hdHRlckJpbmRpbmciLCJ0ZXh0TWF4TGluZXMiLCJ0ZXh0QmluZGluZ1BhcmFtZXR0ZXIiLCIkJG5vUGF0Y2giLCJ0ZXh0VHlwZUFueSIsInVuZGVmaW5lZCIsImVtYWlsU2ltcGxlQmluZGluZyIsInVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nU2ltcGxlQmluZGluZyIsInVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nSWdub3JlVW5pdCIsInVuaXRXaXRoQ3VycmVuY3lEZXNjcmlwdGlvbkJpbmRpbmciLCJlbnRpdHlTZXRMaW5lSXRlbSIsImFubm90YXRpb25zIiwiVUkiLCJMaW5lSXRlbSIsImRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSIsInNlbWFudGljT2JqZWN0IiwiZm9ybWF0T3B0aW9ucyIsInZhbHVlRm9ybWF0IiwidGV4dEFsaWduTW9kZSIsInJldHJpZXZlVGV4dEZyb21WYWx1ZUxpc3QiLCJkYXRhRmllbGRDb252ZXJ0ZWQiLCJkaXNwbGF5U3R5bGUiLCJnZXREaXNwbGF5U3R5bGUiLCJ0ZXh0T25seUJpbmRpbmciLCJnZXRCaW5kaW5nV2l0aFRleHRBcnJhbmdlbWVudCIsImJpbmRpbmdFeHByZXNzaW9uIiwidG9NYXRjaFNuYXBzaG90IiwiY29tcGlsZUJpbmRpbmciLCJ0b0NvbnRhaW4iLCJldmFsdWF0ZUJpbmRpbmdXaXRoTW9kZWwiLCJ0YXJnZXRUZXh0Iiwibm9UZXh0QmluZGluZyIsIm5vVGV4dCIsInRleHRGaXJzdEJpbmRpbmciLCJ0ZXh0Rmlyc3QiLCJ0ZXh0TGFzdEJpbmRpbmciLCJ0ZXh0TGFzdCIsImZ1bGxDb250ZXh0Iiwib3RoZXJNb2RlbEJpbmRpbmciLCJhZGRUZXh0QXJyYW5nZW1lbnRUb0JpbmRpbmdFeHByZXNzaW9uIiwibm90IiwiYWRkVGV4dExhc3RCaW5kaW5nIiwiY29tcGxleFRleHRCaW5kaW5nIiwiaWZFbHNlIiwibW9kZWxDb250ZW50IiwidGVzdFByb3AiLCJvUHJvcGVydHlUeXBlIiwiX3R5cGUiLCJ0eXBlIiwiZm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvbiIsImdldFZpc2libGVFeHByZXNzaW9uIiwiaXNBbmFseXRpY3MiLCJvQ29udGV4dFBhdGgiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsIm9NZXRhUGF0aCIsIm9EYXRhTW9kZWxQYXRoIiwiZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwiZ2V0RGF0YVBvaW50U3R5bGUiLCJvQW5ub3RhdGlvbnMiLCJMYWJlbCIsIlNlbWFudGljT2JqZWN0IiwiZ2V0U2VtYW50aWNPYmplY3RFeHByZXNzaW9uVG9SZXNvbHZlIiwiYVNlbU9iakV4cHJUb1Jlc29sdmUiLCJrZXkiLCJ2YWx1ZSIsIm9TZW1hbnRpY09iamVjdENvbnRleHQiLCJnZXRTZW1hbnRpY09iamVjdHMiLCJnZXRPYmplY3QiLCJvUHJvcGVydHkiLCJ0YXJnZXRPYmplY3QiLCJWYWx1ZSIsIiR0YXJnZXQiLCJpc1VzZWRJbk5hdmlnYXRpb25XaXRoUXVpY2tWaWV3RmFjZXRzIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkFBLEVBQUFBLFFBQVEsQ0FBQywwQkFBRCxFQUE2QixZQUFNO0FBQzFDLFFBQUlDLGNBQUo7QUFDQSxRQUFJQyxTQUFKO0FBQ0EsUUFBSUMsU0FBSjtBQUNBLFFBQUlDLFVBQUo7QUFDQSxRQUFNQyxVQUFvQyxHQUFHLEVBQTdDO0FBQ0FDLElBQUFBLFNBQVM7QUFBQSxVQUFhO0FBQ3JCLFlBQU1DLFlBQVksR0FBR0MsVUFBVSxDQUFDQyxJQUFJLENBQUNDLElBQUwsQ0FBVUMsU0FBVixFQUFxQix1QkFBckIsQ0FBRCxDQUEvQjtBQURxQiwrQkFFSEMsWUFBWSxDQUFDTCxZQUFELENBRlQ7QUFFckJMLFVBQUFBLFNBQVMsZ0JBQVQ7QUFDQUQsVUFBQUEsY0FBYyxHQUFHWSxZQUFZLENBQUNYLFNBQUQsQ0FBN0I7QUFDQSxjQUFNWSxjQUFjLEdBQUdiLGNBQWMsQ0FBQ2MsVUFBZixDQUEwQkMsSUFBMUIsQ0FBK0IsVUFBQUMsRUFBRTtBQUFBLG1CQUFJQSxFQUFFLENBQUNDLElBQUgsS0FBWSxZQUFoQjtBQUFBLFdBQWpDLENBQXZCOztBQUpxQixjQUtqQkosY0FMaUI7QUFNcEJYLFlBQUFBLFNBQVMsR0FBR1csY0FBWjtBQUNBVixZQUFBQSxVQUFVLEdBQUdVLGNBQWMsQ0FBQ1YsVUFBNUI7QUFDQUEsWUFBQUEsVUFBVSxDQUFDZSxnQkFBWCxDQUE0QkMsT0FBNUIsQ0FBb0MsVUFBQUMsSUFBSSxFQUFJO0FBQzNDaEIsY0FBQUEsVUFBVSxDQUFDZ0IsSUFBSSxDQUFDSCxJQUFOLENBQVYsR0FBd0JHLElBQXhCO0FBQ0EsYUFGRDtBQVJvQjtBQVlwQixrQkFBTSxJQUFJQyxLQUFKLENBQVUscUJBQVYsQ0FBTjtBQVpvQjtBQUFBO0FBY3JCLE9BZFE7QUFBQTtBQUFBO0FBQUEsTUFBVDtBQWVBQyxJQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNoQkMsTUFBQUEsSUFBSSxDQUFDQyxhQUFMO0FBQ0EsS0FGUyxDQUFWO0FBSUFDLElBQUFBLEVBQUUsQ0FDRCxrQkFEQyxFQUVEO0FBQ0Msb0JBQWMsQ0FDYjtBQUNDLGdCQUFRLEtBRFQ7QUFFQyxjQUFNO0FBRlAsT0FEYTtBQURmLEtBRkMsRUFVRCxZQUFNO0FBQ0wsVUFBTUMsaUJBQWlCLEdBQUdDLGVBQWUsQ0FBQ0MsaUNBQWlDLENBQUMxQixTQUFELEVBQVlFLFVBQVUsQ0FBQyxhQUFELENBQXRCLENBQWxDLEVBQTBFLEVBQTFFLENBQXpDO0FBQ0F5QixNQUFBQSxNQUFNLENBQUNILGlCQUFELENBQU4sQ0FBMEJJLE9BQTFCLENBQ0MsNkdBREQ7QUFJQSxVQUFNQywwQkFBMEIsR0FBR0osZUFBZSxDQUNqREMsaUNBQWlDLENBQUMxQixTQUFELEVBQVlFLFVBQVUsQ0FBQyxhQUFELENBQXRCLENBRGdCLEVBRWpEO0FBQUU0QixRQUFBQSxZQUFZLEVBQUU7QUFBaEIsT0FGaUQsRUFHakQsSUFIaUQsRUFHM0M7QUFDTixVQUppRCxDQUFsRDtBQU1BSCxNQUFBQSxNQUFNLENBQUNFLDBCQUFELENBQU4sQ0FBbUNELE9BQW5DLENBQTJDLGVBQTNDO0FBRUEsVUFBTUcscUJBQXFCLEdBQUdOLGVBQWUsQ0FDNUNDLGlDQUFpQyxDQUFDMUIsU0FBRCxFQUFZRSxVQUFVLENBQUMsYUFBRCxDQUF0QixDQURXLEVBRTVDO0FBQUU0QixRQUFBQSxZQUFZLEVBQUU7QUFBaEIsT0FGNEMsRUFHNUMsSUFINEMsRUFJNUMsSUFKNEMsRUFLNUM7QUFBRUUsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FMNEMsQ0FBN0M7QUFPQUwsTUFBQUEsTUFBTSxDQUFDSSxxQkFBRCxDQUFOLENBQThCSCxPQUE5QixDQUFzQyxzREFBdEM7QUFFQSxVQUFNSyxXQUFXLEdBQUdSLGVBQWUsQ0FDbENDLGlDQUFpQyxDQUFDMUIsU0FBRCxFQUFZRSxVQUFVLENBQUMsYUFBRCxDQUF0QixDQURDLEVBRWxDLEVBRmtDLEVBR2xDLEtBSGtDLEVBSWxDLEtBSmtDLEVBS2xDZ0MsU0FMa0MsRUFNbEMsSUFOa0MsQ0FBbkM7QUFRQVAsTUFBQUEsTUFBTSxDQUFDTSxXQUFELENBQU4sQ0FBb0JMLE9BQXBCLENBQ0MsZ0lBREQ7QUFJQSxVQUFNTyxrQkFBa0IsR0FBR1YsZUFBZSxDQUFDQyxpQ0FBaUMsQ0FBQzFCLFNBQUQsRUFBWUUsVUFBVSxDQUFDLGNBQUQsQ0FBdEIsQ0FBbEMsRUFBMkUsRUFBM0UsQ0FBMUM7QUFDQXlCLE1BQUFBLE1BQU0sQ0FBQ1Esa0JBQUQsQ0FBTixDQUEyQlAsT0FBM0IsQ0FBbUMsd0RBQW5DO0FBRUEsVUFBTVEsb0NBQW9DLEdBQUdYLGVBQWUsQ0FDM0RDLGlDQUFpQyxDQUFDMUIsU0FBRCxFQUFZRSxVQUFVLENBQUMseUJBQUQsQ0FBdEIsQ0FEMEIsRUFFM0QsRUFGMkQsQ0FBNUQ7QUFJQXlCLE1BQUFBLE1BQU0sQ0FBQ1Msb0NBQUQsQ0FBTixDQUE2Q1IsT0FBN0MsQ0FDQywyYkFERDtBQUlBLFVBQU1TLGlDQUFpQyxHQUFHWixlQUFlLENBQ3hEQyxpQ0FBaUMsQ0FBQzFCLFNBQUQsRUFBWUUsVUFBVSxDQUFDLHlCQUFELENBQXRCLENBRHVCLEVBRXhELEVBRndELEVBR3hELElBSHdELENBQXpEO0FBS0F5QixNQUFBQSxNQUFNLENBQUNVLGlDQUFELENBQU4sQ0FBMENULE9BQTFDLENBQ0Msa0lBREQ7QUFJQSxVQUFNVSxrQ0FBa0MsR0FBR2IsZUFBZSxDQUN6REMsaUNBQWlDLENBQUMxQixTQUFELEVBQVlFLFVBQVUsQ0FBQyx5QkFBRCxDQUF0QixDQUR3QixFQUV6RCxFQUZ5RCxFQUd6RCxLQUh5RCxFQUl6RCxLQUp5RCxFQUt6RGdDLFNBTHlELEVBTXpELElBTnlELEVBT3pELElBUHlELENBQTFEO0FBU0FQLE1BQUFBLE1BQU0sQ0FBQ1csa0NBQUQsQ0FBTixDQUEyQ1YsT0FBM0MsQ0FDQywwYkFERDtBQUdBLEtBN0VBLENBQUY7QUFnRkFMLElBQUFBLEVBQUUsQ0FDRCxrQkFEQyxFQUVEO0FBQ0Msb0JBQWMsQ0FDYjtBQUNDLGdCQUFRLE1BRFQ7QUFFQyxjQUFNO0FBRlAsT0FEYTtBQURmLEtBRkMsRUFVRCxZQUFNO0FBQUE7O0FBQ0wsVUFBTWdCLGlCQUFpQiw0QkFBR3ZDLFNBQVMsQ0FBQ0MsVUFBVixDQUFxQnVDLFdBQXJCLENBQWlDQyxFQUFwQywwREFBRyxzQkFBcUNDLFFBQS9EO0FBQ0EsVUFBTUMsOEJBQThCLEdBQUdqQixpQ0FBaUMsQ0FBQzFCLFNBQUQsRUFBWXVDLGlCQUFpQixDQUFDLENBQUQsQ0FBN0IsQ0FBeEU7QUFDQSxVQUFNSyxjQUFzQixHQUFHLEVBQS9CO0FBQ0EsVUFBTUMsYUFBYSxHQUFHO0FBQ3JCQyxRQUFBQSxXQUFXLEVBQUUsa0JBRFE7QUFFckJDLFFBQUFBLGFBQWEsRUFBRSxNQUZNO0FBR3JCQyxRQUFBQSx5QkFBeUIsRUFBRTtBQUhOLE9BQXRCO0FBTUEsVUFBTUMsa0JBQWtCLEdBQUd4QixlQUFlLENBQ3pDQyxpQ0FBaUMsQ0FBQzFCLFNBQUQsRUFBWUUsVUFBVSxDQUFDLHNCQUFELENBQXRCLENBRFEsRUFFekMsRUFGeUMsQ0FBMUM7QUFJQSxVQUFNZ0QsWUFBWSxHQUFHQyxlQUFlLENBQ25DakQsVUFBVSxDQUFDLHNCQUFELENBRHlCLEVBRW5DK0Msa0JBRm1DLEVBR25DTiw4QkFIbUMsRUFJbkNFLGFBSm1DLEVBS25DRCxjQUxtQyxDQUFwQyxDQWRLLENBcUJMO0FBQ0E7O0FBQ0FqQixNQUFBQSxNQUFNLENBQUN1QixZQUFELENBQU4sQ0FBcUJ0QixPQUFyQixDQUE2Qix1QkFBN0I7QUFDQSxLQWxDQSxDQUFGO0FBcUNBTCxJQUFBQSxFQUFFLENBQUMsZ0NBQUQsRUFBbUMsWUFBTTtBQUMxQztBQUVBO0FBQ0EsVUFBTTZCLGVBQWUsR0FBR0MsNkJBQTZCLENBQ3BEM0IsaUNBQWlDLENBQUMxQixTQUFELEVBQVlFLFVBQVUsQ0FBQyxVQUFELENBQXRCLENBRG1CLEVBRXBEb0QsaUJBQWlCLENBQUMsVUFBRCxDQUZtQyxDQUFyRDtBQUlBM0IsTUFBQUEsTUFBTSxDQUFDeUIsZUFBRCxDQUFOLENBQXdCRyxlQUF4QjtBQUNBNUIsTUFBQUEsTUFBTSxDQUFDNkIsY0FBYyxDQUFDSixlQUFELENBQWYsQ0FBTixDQUF3Q0ssU0FBeEMsQ0FBa0QsWUFBbEQ7QUFDQTlCLE1BQUFBLE1BQU0sQ0FBQytCLHdCQUF3QixDQUFDRixjQUFjLENBQUNKLGVBQUQsQ0FBZixFQUFrQztBQUFFTyxRQUFBQSxVQUFVLEVBQUU7QUFBZCxPQUFsQyxDQUF6QixDQUFOLENBQTBGL0IsT0FBMUYsQ0FBa0csTUFBbEcsRUFWMEMsQ0FZMUM7O0FBQ0EsVUFBTWdDLGFBQWEsR0FBR1AsNkJBQTZCLENBQ2xEM0IsaUNBQWlDLENBQUMxQixTQUFELEVBQVlFLFVBQVUsQ0FBQyxRQUFELENBQXRCLENBRGlCLEVBRWxEb0QsaUJBQWlCLENBQUMsUUFBRCxDQUZpQyxDQUFuRDtBQUlBM0IsTUFBQUEsTUFBTSxDQUFDaUMsYUFBRCxDQUFOLENBQXNCTCxlQUF0QjtBQUNBNUIsTUFBQUEsTUFBTSxDQUFDNkIsY0FBYyxDQUFDSSxhQUFELENBQWYsQ0FBTixDQUFzQ0gsU0FBdEMsQ0FBZ0QsUUFBaEQ7QUFDQTlCLE1BQUFBLE1BQU0sQ0FBQytCLHdCQUF3QixDQUFDRixjQUFjLENBQUNJLGFBQUQsQ0FBZixFQUFnQztBQUFFQyxRQUFBQSxNQUFNLEVBQUU7QUFBVixPQUFoQyxDQUF6QixDQUFOLENBQW9GakMsT0FBcEYsQ0FBNEYsTUFBNUYsRUFuQjBDLENBcUIxQzs7QUFDQSxVQUFNa0MsZ0JBQWdCLEdBQUdULDZCQUE2QixDQUNyRDNCLGlDQUFpQyxDQUFDMUIsU0FBRCxFQUFZRSxVQUFVLENBQUMsV0FBRCxDQUF0QixDQURvQixFQUVyRG9ELGlCQUFpQixDQUFDLFdBQUQsQ0FGb0MsQ0FBdEQ7QUFJQTNCLE1BQUFBLE1BQU0sQ0FBQ21DLGdCQUFELENBQU4sQ0FBeUJQLGVBQXpCO0FBQ0E1QixNQUFBQSxNQUFNLENBQUM2QixjQUFjLENBQUNNLGdCQUFELENBQWYsQ0FBTixDQUF5Q0wsU0FBekMsQ0FBbUQsV0FBbkQ7QUFDQTlCLE1BQUFBLE1BQU0sQ0FBQzZCLGNBQWMsQ0FBQ00sZ0JBQUQsQ0FBZixDQUFOLENBQXlDTCxTQUF6QyxDQUFtRCxZQUFuRDtBQUNBOUIsTUFBQUEsTUFBTSxDQUNMK0Isd0JBQXdCLENBQUNGLGNBQWMsQ0FBQ00sZ0JBQUQsQ0FBZixFQUFtQztBQUFFQyxRQUFBQSxTQUFTLEVBQUUsV0FBYjtBQUEwQkosUUFBQUEsVUFBVSxFQUFFO0FBQXRDLE9BQW5DLENBRG5CLENBQU4sQ0FFRS9CLE9BRkYsQ0FFVSw4QkFGVixFQTdCMEMsQ0FpQzFDOztBQUNBLFVBQU1vQyxlQUFlLEdBQUdYLDZCQUE2QixDQUNwRDNCLGlDQUFpQyxDQUFDMUIsU0FBRCxFQUFZRSxVQUFVLENBQUMsVUFBRCxDQUF0QixDQURtQixFQUVwRG9ELGlCQUFpQixDQUFDLFVBQUQsQ0FGbUMsQ0FBckQ7QUFJQTNCLE1BQUFBLE1BQU0sQ0FBQ3FDLGVBQUQsQ0FBTixDQUF3QlQsZUFBeEI7QUFDQTVCLE1BQUFBLE1BQU0sQ0FBQzZCLGNBQWMsQ0FBQ1EsZUFBRCxDQUFmLENBQU4sQ0FBd0NQLFNBQXhDLENBQWtELFVBQWxEO0FBQ0E5QixNQUFBQSxNQUFNLENBQUM2QixjQUFjLENBQUNRLGVBQUQsQ0FBZixDQUFOLENBQXdDUCxTQUF4QyxDQUFrRCxZQUFsRDtBQUNBOUIsTUFBQUEsTUFBTSxDQUNMK0Isd0JBQXdCLENBQUNGLGNBQWMsQ0FBQ1EsZUFBRCxDQUFmLEVBQWtDO0FBQUVDLFFBQUFBLFFBQVEsRUFBRSxZQUFaO0FBQTBCTixRQUFBQSxVQUFVLEVBQUU7QUFBdEMsT0FBbEMsQ0FEbkIsQ0FBTixDQUVFL0IsT0FGRixDQUVVLCtCQUZWO0FBR0EsS0E1Q0MsQ0FBRjtBQThDQUwsSUFBQUEsRUFBRSxDQUFDLHdDQUFELEVBQTJDLFlBQU07QUFDbEQsVUFBTTJDLFdBQVcsR0FBR3hDLGlDQUFpQyxDQUFDMUIsU0FBRCxDQUFyRDtBQUVBLFVBQU1tRSxpQkFBaUIsR0FBR0MscUNBQXFDLENBQUNkLGlCQUFpQixDQUFDLFVBQUQsRUFBYSxZQUFiLENBQWxCLEVBQThDWSxXQUE5QyxDQUEvRDtBQUNBdkMsTUFBQUEsTUFBTSxDQUFDd0MsaUJBQUQsQ0FBTixDQUEwQlosZUFBMUI7QUFDQTVCLE1BQUFBLE1BQU0sQ0FBQzZCLGNBQWMsQ0FBQ1csaUJBQUQsQ0FBZixDQUFOLENBQTBDVixTQUExQyxDQUFvRCxVQUFwRDtBQUNBOUIsTUFBQUEsTUFBTSxDQUFDNkIsY0FBYyxDQUFDVyxpQkFBRCxDQUFmLENBQU4sQ0FBMENFLEdBQTFDLENBQThDWixTQUE5QyxDQUF3RCxZQUF4RDtBQUVBLFVBQU1hLGtCQUFrQixHQUFHRixxQ0FBcUMsQ0FBQ2QsaUJBQWlCLENBQUMsVUFBRCxDQUFsQixFQUFnQ1ksV0FBaEMsQ0FBaEU7QUFDQXZDLE1BQUFBLE1BQU0sQ0FBQzJDLGtCQUFELENBQU4sQ0FBMkJmLGVBQTNCO0FBQ0E1QixNQUFBQSxNQUFNLENBQUM2QixjQUFjLENBQUNjLGtCQUFELENBQWYsQ0FBTixDQUEyQ2IsU0FBM0MsQ0FBcUQsVUFBckQ7QUFDQTlCLE1BQUFBLE1BQU0sQ0FBQzZCLGNBQWMsQ0FBQ2Msa0JBQUQsQ0FBZixDQUFOLENBQTJDYixTQUEzQyxDQUFxRCxZQUFyRDtBQUNBOUIsTUFBQUEsTUFBTSxDQUNMK0Isd0JBQXdCLENBQUNGLGNBQWMsQ0FBQ2Msa0JBQUQsQ0FBZixFQUFxQztBQUFFTCxRQUFBQSxRQUFRLEVBQUUsWUFBWjtBQUEwQk4sUUFBQUEsVUFBVSxFQUFFO0FBQXRDLE9BQXJDLENBRG5CLENBQU4sQ0FFRS9CLE9BRkYsQ0FFVSwrQkFGVjtBQUlBLFVBQU0yQyxrQkFBa0IsR0FBR0gscUNBQXFDLENBQy9ESSxNQUFNLENBQUNsQixpQkFBaUIsQ0FBQyxVQUFELENBQWxCLEVBQWdDQSxpQkFBaUIsQ0FBQyxVQUFELENBQWpELEVBQStEQSxpQkFBaUIsQ0FBQyxRQUFELENBQWhGLENBRHlELEVBRS9EWSxXQUYrRCxDQUFoRTtBQUlBdkMsTUFBQUEsTUFBTSxDQUFDNEMsa0JBQUQsQ0FBTixDQUEyQmhCLGVBQTNCO0FBQ0E1QixNQUFBQSxNQUFNLENBQUM2QixjQUFjLENBQUNlLGtCQUFELENBQWYsQ0FBTixDQUEyQ2QsU0FBM0MsQ0FBcUQsVUFBckQ7QUFDQTlCLE1BQUFBLE1BQU0sQ0FBQzZCLGNBQWMsQ0FBQ2Usa0JBQUQsQ0FBZixDQUFOLENBQTJDZCxTQUEzQyxDQUFxRCxZQUFyRDtBQUNBLFVBQU1nQixZQUFZLEdBQUc7QUFDcEJDLFFBQUFBLFFBQVEsRUFBRSxJQURVO0FBRXBCVCxRQUFBQSxRQUFRLEVBQUUsWUFGVTtBQUdwQk4sUUFBQUEsVUFBVSxFQUFFLGtCQUhRO0FBSXBCRSxRQUFBQSxNQUFNLEVBQUU7QUFKWSxPQUFyQjtBQU1BbEMsTUFBQUEsTUFBTSxDQUFDK0Isd0JBQXdCLENBQUNGLGNBQWMsQ0FBQ2Usa0JBQUQsQ0FBZixFQUFxQ0UsWUFBckMsQ0FBekIsQ0FBTixDQUFtRjdDLE9BQW5GLENBQTJGLCtCQUEzRjtBQUVBNkMsTUFBQUEsWUFBWSxDQUFDQyxRQUFiLEdBQXdCLEtBQXhCO0FBQ0EvQyxNQUFBQSxNQUFNLENBQUMrQix3QkFBd0IsQ0FBQ0YsY0FBYyxDQUFDZSxrQkFBRCxDQUFmLEVBQXFDRSxZQUFyQyxDQUF6QixDQUFOLENBQW1GN0MsT0FBbkYsQ0FBMkYsVUFBM0Y7QUFDQSxLQWpDQyxDQUFGO0FBbUNBTCxJQUFBQSxFQUFFLENBQUMsNkJBQUQsRUFBZ0MsWUFBTTtBQUN2QyxVQUFNb0QsYUFBYSxHQUFHO0FBQUVDLFFBQUFBLEtBQUssRUFBRSxVQUFUO0FBQXFCQyxRQUFBQSxJQUFJLEVBQUU7QUFBM0IsT0FBdEI7QUFDQSxhQUFPbEQsTUFBTSxDQUFDNkIsY0FBYyxDQUFDc0IseUJBQXlCLENBQUNILGFBQUQsRUFBZ0JyQixpQkFBaUIsQ0FBQyxPQUFELENBQWpDLENBQTFCLENBQWYsQ0FBTixDQUE2RjFCLE9BQTdGLENBQ04sZ0hBRE0sQ0FBUDtBQUdBLEtBTEMsQ0FBRjtBQU9BTCxJQUFBQSxFQUFFLENBQ0QsNEJBREMsRUFFRDtBQUNDLG9CQUFjLENBQ2I7QUFDQyxnQkFBUSxLQURUO0FBRUMsY0FBTTtBQUZQLE9BRGE7QUFEZixLQUZDLEVBVUQsWUFBTTtBQUNMLFVBQU1vRCxhQUFhLEdBQUc7QUFBRUMsUUFBQUEsS0FBSyxFQUFFLFVBQVQ7QUFBcUJDLFFBQUFBLElBQUksRUFBRTtBQUEzQixPQUF0QjtBQUNBLGFBQU9sRCxNQUFNLENBQUM2QixjQUFjLENBQUNzQix5QkFBeUIsQ0FBQ0gsYUFBRCxFQUFnQnJCLGlCQUFpQixDQUFDLE9BQUQsQ0FBakMsQ0FBMUIsQ0FBZixDQUFOLENBQTZGMUIsT0FBN0YsQ0FDTixpSEFETSxDQUFQO0FBR0EsS0FmQSxDQUFGO0FBa0JBTCxJQUFBQSxFQUFFLENBQUMsdURBQUQsRUFBMEQsWUFBTTtBQUFBOztBQUNqRSxVQUFNZ0IsaUJBQWlCLDZCQUFHdkMsU0FBUyxDQUFDQyxVQUFWLENBQXFCdUMsV0FBckIsQ0FBaUNDLEVBQXBDLDJEQUFHLHVCQUFxQ0MsUUFBL0Q7QUFDQSxVQUFJQyw4QkFBOEIsR0FBR2pCLGlDQUFpQyxDQUNyRTFCLFNBRHFFLEVBRXJFdUMsaUJBQWlCLENBQUMsQ0FBRCxDQUZvRCxDQUUvQjtBQUYrQixPQUF0RTtBQUlBWixNQUFBQSxNQUFNLENBQUNvRCxvQkFBb0IsQ0FBQ3BDLDhCQUFELENBQXJCLENBQU4sQ0FBNkRmLE9BQTdELENBQXFFLE9BQXJFO0FBQ0FlLE1BQUFBLDhCQUE4QixHQUFHakIsaUNBQWlDLENBQ2pFMUIsU0FEaUUsRUFFakV1QyxpQkFBaUIsQ0FBQyxDQUFELENBRmdELENBRTNCO0FBRjJCLE9BQWxFO0FBSUFaLE1BQUFBLE1BQU0sQ0FBQ29ELG9CQUFvQixDQUFDcEMsOEJBQUQsQ0FBckIsQ0FBTixDQUE2RGYsT0FBN0QsQ0FBcUUsMEJBQXJFO0FBQ0FlLE1BQUFBLDhCQUE4QixHQUFHakIsaUNBQWlDLENBQ2pFMUIsU0FEaUUsRUFFakV1QyxpQkFBaUIsQ0FBQyxDQUFELENBRmdELENBRTNCO0FBRjJCLE9BQWxFO0FBSUFaLE1BQUFBLE1BQU0sQ0FBQ29ELG9CQUFvQixDQUFDcEMsOEJBQUQsQ0FBckIsQ0FBTixDQUE2RGYsT0FBN0QsQ0FBcUUsT0FBckU7QUFDQWUsTUFBQUEsOEJBQThCLEdBQUdqQixpQ0FBaUMsQ0FDakUxQixTQURpRSxFQUVqRXVDLGlCQUFpQixDQUFDLENBQUQsQ0FGZ0QsQ0FFM0I7QUFGMkIsT0FBbEU7QUFJQVosTUFBQUEsTUFBTSxDQUFDb0Qsb0JBQW9CLENBQUNwQyw4QkFBRCxDQUFyQixDQUFOLENBQTZEZixPQUE3RCxDQUFxRSwwQkFBckU7QUFDQWUsTUFBQUEsOEJBQThCLEdBQUdqQixpQ0FBaUMsQ0FDakUxQixTQURpRSxFQUVqRXVDLGlCQUFpQixDQUFDLENBQUQsQ0FGZ0QsQ0FFM0I7QUFGMkIsT0FBbEU7QUFJQVosTUFBQUEsTUFBTSxDQUFDb0Qsb0JBQW9CLENBQUNwQyw4QkFBRCxDQUFyQixDQUFOLENBQTZEZixPQUE3RCxDQUFxRSxtREFBckU7QUFDQUQsTUFBQUEsTUFBTSxDQUFDb0Qsb0JBQW9CLENBQUNwQyw4QkFBRCxFQUFpQztBQUFFcUMsUUFBQUEsV0FBVyxFQUFFO0FBQWYsT0FBakMsQ0FBckIsQ0FBTixDQUEwR3BELE9BQTFHLENBQ0MsdUhBREQ7QUFHQWUsTUFBQUEsOEJBQThCLEdBQUdqQixpQ0FBaUMsQ0FDakUxQixTQURpRSxFQUVqRXVDLGlCQUFpQixDQUFDLENBQUQsQ0FGZ0QsQ0FFM0I7QUFGMkIsT0FBbEU7QUFJQVosTUFBQUEsTUFBTSxDQUFDb0Qsb0JBQW9CLENBQUNwQyw4QkFBRCxDQUFyQixDQUFOLENBQTZEZixPQUE3RCxDQUNDLGdFQUREO0FBR0FlLE1BQUFBLDhCQUE4QixHQUFHakIsaUNBQWlDLENBQ2pFMUIsU0FEaUUsRUFFakV1QyxpQkFBaUIsQ0FBQyxDQUFELENBRmdELENBRTNCO0FBRjJCLE9BQWxFO0FBSUFaLE1BQUFBLE1BQU0sQ0FBQ29ELG9CQUFvQixDQUFDcEMsOEJBQUQsQ0FBckIsQ0FBTixDQUE2RGYsT0FBN0QsQ0FBcUUsNkRBQXJFO0FBQ0FlLE1BQUFBLDhCQUE4QixHQUFHakIsaUNBQWlDLENBQ2pFMUIsU0FEaUUsRUFFakV1QyxpQkFBaUIsQ0FBQyxDQUFELENBRmdELENBRTNCO0FBRjJCLE9BQWxFO0FBSUFaLE1BQUFBLE1BQU0sQ0FBQ29ELG9CQUFvQixDQUFDcEMsOEJBQUQsQ0FBckIsQ0FBTixDQUE2RGYsT0FBN0QsQ0FBcUUsTUFBckU7QUFDQWUsTUFBQUEsOEJBQThCLEdBQUdqQixpQ0FBaUMsQ0FDakUxQixTQURpRSxFQUVqRXVDLGlCQUFpQixDQUFDLENBQUQsQ0FGZ0QsQ0FFM0I7QUFGMkIsT0FBbEU7QUFJQVosTUFBQUEsTUFBTSxDQUFDb0Qsb0JBQW9CLENBQUNwQyw4QkFBRCxDQUFyQixDQUFOLENBQTZEZixPQUE3RCxDQUFxRSxNQUFyRTtBQUNBRCxNQUFBQSxNQUFNLENBQUNvRCxvQkFBb0IsQ0FBQ3BDLDhCQUFELEVBQWlDO0FBQUVxQyxRQUFBQSxXQUFXLEVBQUU7QUFBZixPQUFqQyxDQUFyQixDQUFOLENBQTBHcEQsT0FBMUcsQ0FDQyxvRUFERDtBQUdBZSxNQUFBQSw4QkFBOEIsR0FBR2pCLGlDQUFpQyxDQUNqRTFCLFNBRGlFLEVBRWpFdUMsaUJBQWlCLENBQUMsRUFBRCxDQUZnRCxDQUUxQjtBQUYwQixPQUFsRTtBQUlBWixNQUFBQSxNQUFNLENBQUNvRCxvQkFBb0IsQ0FBQ3BDLDhCQUFELENBQXJCLENBQU4sQ0FBNkRmLE9BQTdELENBQXFFLDBCQUFyRTtBQUNBZSxNQUFBQSw4QkFBOEIsR0FBR2pCLGlDQUFpQyxDQUNqRTFCLFNBRGlFLEVBRWpFdUMsaUJBQWlCLENBQUMsRUFBRCxDQUZnRCxDQUUxQjtBQUYwQixPQUFsRTtBQUlBWixNQUFBQSxNQUFNLENBQUNvRCxvQkFBb0IsQ0FBQ3BDLDhCQUFELENBQXJCLENBQU4sQ0FBNkRmLE9BQTdELENBQXFFLE1BQXJFO0FBQ0FlLE1BQUFBLDhCQUE4QixHQUFHakIsaUNBQWlDLENBQ2pFMUIsU0FEaUUsRUFFakV1QyxpQkFBaUIsQ0FBQyxFQUFELENBRmdELENBRTFCO0FBRjBCLE9BQWxFO0FBSUFaLE1BQUFBLE1BQU0sQ0FBQ29ELG9CQUFvQixDQUFDcEMsOEJBQUQsQ0FBckIsQ0FBTixDQUE2RGYsT0FBN0QsQ0FBcUUsTUFBckU7QUFDQSxLQXRFQyxDQUFGO0FBd0VBTCxJQUFBQSxFQUFFLENBQUMsdURBQUQsRUFBMEQsWUFBTTtBQUNqRSxVQUFNMEQsWUFBWSxHQUFHbEYsU0FBUyxDQUFDbUYsb0JBQVYsQ0FBK0IsYUFBL0IsQ0FBckI7QUFDQSxVQUFNQyxTQUFTLEdBQUdwRixTQUFTLENBQUNtRixvQkFBVixDQUErQixnRkFBL0IsQ0FBbEI7QUFDQSxVQUFNRSxjQUFjLEdBQUdDLDJCQUEyQixDQUFDRixTQUFELEVBQVlGLFlBQVosQ0FBbEQ7QUFDQXRELE1BQUFBLE1BQU0sQ0FBQzJELGlCQUFpQixDQUFDRixjQUFELENBQWxCLENBQU4sQ0FBMEN4RCxPQUExQyxDQUFrRE0sU0FBbEQ7QUFDQSxLQUxDLENBQUY7QUFNQVgsSUFBQUEsRUFBRSxDQUFDLHlEQUFELEVBQTRELFlBQU07QUFDbkUsVUFBTTBELFlBQVksR0FBR2xGLFNBQVMsQ0FBQ21GLG9CQUFWLENBQStCLGFBQS9CLENBQXJCO0FBQ0EsVUFBTUMsU0FBUyxHQUFHcEYsU0FBUyxDQUFDbUYsb0JBQVYsQ0FBK0IsZ0ZBQS9CLENBQWxCO0FBQ0EsVUFBTUUsY0FBYyxHQUFHQywyQkFBMkIsQ0FBQ0YsU0FBRCxFQUFZRixZQUFaLENBQWxEO0FBQ0F0RCxNQUFBQSxNQUFNLENBQUMyRCxpQkFBaUIsQ0FBQ0YsY0FBRCxDQUFsQixDQUFOLENBQWlFeEQsT0FBakUsQ0FBeUUsdUJBQXpFO0FBQ0EsS0FMQyxDQUFGO0FBT0FMLElBQUFBLEVBQUUsQ0FBQyx5REFBRCxFQUE0RCxZQUFNO0FBQ25FLFVBQU0wRCxZQUFZLEdBQUdsRixTQUFTLENBQUNtRixvQkFBVixDQUErQixhQUEvQixDQUFyQjtBQUNBLFVBQU1DLFNBQVMsR0FBR3BGLFNBQVMsQ0FBQ21GLG9CQUFWLENBQStCLGdGQUEvQixDQUFsQjtBQUNBLFVBQU1FLGNBQWMsR0FBR0MsMkJBQTJCLENBQUNGLFNBQUQsRUFBWUYsWUFBWixDQUFsRDtBQUNBdEQsTUFBQUEsTUFBTSxDQUFDMkQsaUJBQWlCLENBQUNGLGNBQUQsQ0FBbEIsQ0FBTixDQUFpRXhELE9BQWpFLENBQXlFLGFBQXpFO0FBQ0EsS0FMQyxDQUFGO0FBT0FMLElBQUFBLEVBQUUsQ0FBQywrRkFBRCxFQUFrRyxZQUFNO0FBQ3pHLFVBQU0wRCxZQUFZLEdBQUdsRixTQUFTLENBQUNtRixvQkFBVixDQUErQixhQUEvQixDQUFyQjtBQUNBLFVBQU1DLFNBQVMsR0FBR3BGLFNBQVMsQ0FBQ21GLG9CQUFWLENBQStCLGdGQUEvQixDQUFsQjtBQUNBLFVBQU1FLGNBQWMsR0FBR0MsMkJBQTJCLENBQUNGLFNBQUQsRUFBWUYsWUFBWixDQUFsRDtBQUNBdEQsTUFBQUEsTUFBTSxDQUFDMkQsaUJBQWlCLENBQUNGLGNBQUQsQ0FBbEIsQ0FBTixDQUFpRXhELE9BQWpFLENBQXlFTSxTQUF6RTtBQUNBLEtBTEMsQ0FBRjtBQU9BWCxJQUFBQSxFQUFFLENBQUMsdURBQUQsRUFBMEQsWUFBTTtBQUNqRSxVQUFNZ0UsWUFBWSxHQUFHO0FBQ3BCQyxRQUFBQSxLQUFLLEVBQUUsMEJBRGE7QUFFcEJDLFFBQUFBLGNBQWMsRUFBRTtBQUZJLE9BQXJCO0FBSUE5RCxNQUFBQSxNQUFNLENBQUMrRCxvQ0FBb0MsQ0FBQ0gsWUFBRCxDQUFyQyxDQUFOLENBQTJEaEMsZUFBM0Q7QUFDQSxLQU5DLENBQUY7QUFRQWhDLElBQUFBLEVBQUUsQ0FBQyxxRkFBRCxFQUF3RixZQUFNO0FBQy9GLFVBQU1nRSxZQUFZLEdBQUc7QUFDcEIsaUJBQVMsMEJBRFc7QUFFcEIsb0NBQTRCO0FBRlIsT0FBckI7QUFJQTVELE1BQUFBLE1BQU0sQ0FBQytELG9DQUFvQyxDQUFDSCxZQUFELENBQXJDLENBQU4sQ0FBMkRoQyxlQUEzRDtBQUNBLEtBTkMsQ0FBRjtBQVFBaEMsSUFBQUEsRUFBRSxDQUFDLDBEQUFELEVBQTZELFlBQU07QUFDcEUsVUFBTWdFLFlBQVksR0FBRyxFQUFyQjtBQUNBNUQsTUFBQUEsTUFBTSxDQUFDK0Qsb0NBQW9DLENBQUNILFlBQUQsQ0FBckMsQ0FBTixDQUEyRGhDLGVBQTNEO0FBQ0EsS0FIQyxDQUFGO0FBS0FoQyxJQUFBQSxFQUFFLENBQUMsOENBQUQsRUFBaUQsWUFBTTtBQUN4RCxVQUFNb0Usb0JBQW9CLEdBQUcsQ0FDNUI7QUFDQ0MsUUFBQUEsR0FBRyxFQUFFLGNBRE47QUFFQ0MsUUFBQUEsS0FBSyxFQUFFO0FBRlIsT0FENEIsQ0FBN0I7QUFNQSxVQUFNQyxzQkFBc0IsR0FBR0Msa0JBQWtCLENBQUNKLG9CQUFELENBQWpEO0FBQ0FoRSxNQUFBQSxNQUFNLENBQUNtRSxzQkFBc0IsQ0FBQ0UsU0FBdkIsRUFBRCxDQUFOLENBQTJDekMsZUFBM0M7QUFDQSxLQVRDLENBQUY7QUFXQWhDLElBQUFBLEVBQUUsQ0FBQyxpREFBRCxFQUFvRCxZQUFNO0FBQzNELFVBQU1vRSxvQkFBeUIsR0FBRyxFQUFsQztBQUNBLFVBQU1HLHNCQUFzQixHQUFHQyxrQkFBa0IsQ0FBQ0osb0JBQUQsQ0FBakQ7QUFDQWhFLE1BQUFBLE1BQU0sQ0FBQ21FLHNCQUFzQixDQUFDRSxTQUF2QixFQUFELENBQU4sQ0FBMkN6QyxlQUEzQztBQUNBLEtBSkMsQ0FBRjtBQU1BaEMsSUFBQUEsRUFBRSxDQUFDLDZFQUFELEVBQWdGLFlBQU07QUFDdkYsVUFBTTBELFlBQVksR0FBR2xGLFNBQVMsQ0FBQ21GLG9CQUFWLENBQStCLGFBQS9CLENBQXJCO0FBQ0EsVUFBTUMsU0FBUyxHQUFHcEYsU0FBUyxDQUFDbUYsb0JBQVYsQ0FBK0IsZ0ZBQS9CLENBQWxCO0FBQ0EsVUFBTUUsY0FBYyxHQUFHQywyQkFBMkIsQ0FBQ0YsU0FBRCxFQUFZRixZQUFaLENBQWxEO0FBQ0EsVUFBTWdCLFNBQW1CLEdBQUdiLGNBQUgsYUFBR0EsY0FBSCx1QkFBR0EsY0FBYyxDQUFFYyxZQUFoQixDQUE2QkMsS0FBN0IsQ0FBbUNDLE9BQS9EO0FBQ0F6RSxNQUFBQSxNQUFNLENBQUMwRSxxQ0FBcUMsQ0FBQ2pCLGNBQUQsRUFBd0NhLFNBQXhDLENBQXRDLENBQU4sQ0FBNEdyRSxPQUE1RyxDQUFvSCxJQUFwSDtBQUNBLEtBTkMsQ0FBRjtBQVFBTCxJQUFBQSxFQUFFLENBQUMsbUZBQUQsRUFBc0YsWUFBTTtBQUM3RixVQUFNMEQsWUFBWSxHQUFHbEYsU0FBUyxDQUFDbUYsb0JBQVYsQ0FBK0IsYUFBL0IsQ0FBckI7QUFDQSxVQUFNQyxTQUFTLEdBQUdwRixTQUFTLENBQUNtRixvQkFBVixDQUErQixnRkFBL0IsQ0FBbEI7QUFDQSxVQUFNRSxjQUFjLEdBQUdDLDJCQUEyQixDQUFDRixTQUFELEVBQVlGLFlBQVosQ0FBbEQ7QUFDQSxVQUFNZ0IsU0FBbUIsR0FBR2IsY0FBSCxhQUFHQSxjQUFILHVCQUFHQSxjQUFjLENBQUVjLFlBQWhCLENBQTZCQyxLQUE3QixDQUFtQ0MsT0FBL0Q7QUFDQXpFLE1BQUFBLE1BQU0sQ0FBQzBFLHFDQUFxQyxDQUFDakIsY0FBRCxFQUF3Q2EsU0FBeEMsQ0FBdEMsQ0FBTixDQUE0R3JFLE9BQTVHLENBQW9ILEtBQXBIO0FBQ0EsS0FOQyxDQUFGO0FBT0EsR0FoWk8sQ0FBUiIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Z2V0QmluZGluZ1dpdGhUZXh0QXJyYW5nZW1lbnQsXG5cdGFkZFRleHRBcnJhbmdlbWVudFRvQmluZGluZ0V4cHJlc3Npb24sXG5cdGdldFZpc2libGVFeHByZXNzaW9uLFxuXHRGaWVsZEZvcm1hdE9wdGlvbnMsXG5cdGdldFZhbHVlQmluZGluZyxcblx0Z2V0RGlzcGxheVN0eWxlLFxuXHRnZXREYXRhUG9pbnRTdHlsZSxcblx0Z2V0U2VtYW50aWNPYmplY3RFeHByZXNzaW9uVG9SZXNvbHZlLFxuXHRnZXRTZW1hbnRpY09iamVjdHMsXG5cdGlzVXNlZEluTmF2aWdhdGlvbldpdGhRdWlja1ZpZXdGYWNldHNcbn0gZnJvbSBcInNhcC9mZS9tYWNyb3MvZmllbGQvRmllbGRUZW1wbGF0aW5nXCI7XG5pbXBvcnQgeyBmb3JtYXRXaXRoVHlwZUluZm9ybWF0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvVUlGb3JtYXR0ZXJzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgY29tcGlsZUNEUywgZ2V0TWV0YU1vZGVsLCBnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHksIGV2YWx1YXRlQmluZGluZ1dpdGhNb2RlbCB9IGZyb20gXCJzYXAvZmUvdGVzdC9KZXN0VGVtcGxhdGluZ0hlbHBlclwiO1xuaW1wb3J0IHsgY29udmVydFR5cGVzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5pbXBvcnQgeyBBbnlBbm5vdGF0aW9uLCBFbnRpdHlTZXQsIEVudGl0eVR5cGUsIFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvYW5ub3RhdGlvbi1jb252ZXJ0ZXJcIjtcbmltcG9ydCB7IGJpbmRpbmdFeHByZXNzaW9uLCBjb21waWxlQmluZGluZywgaWZFbHNlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ0V4cHJlc3Npb25cIjtcbmltcG9ydCB7IExpbmVJdGVtIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgeyBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHsgZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5cbmRlc2NyaWJlKFwiRmllbGQgVGVtcGxhdGluZyBUZXN0aW5nXCIsICgpID0+IHtcblx0bGV0IGNvbnZlcnRlZFR5cGVzO1xuXHRsZXQgbWV0YU1vZGVsOiBhbnk7XG5cdGxldCBlbnRpdHlTZXQ6IEVudGl0eVNldDtcblx0bGV0IGVudGl0eVR5cGU6IEVudGl0eVR5cGU7XG5cdGNvbnN0IHByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIFByb3BlcnR5PiA9IHt9O1xuXHRiZWZvcmVBbGwoYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHNNZXRhZGF0YVVybCA9IGNvbXBpbGVDRFMocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuL0ZpZWxkVGVtcGxhdGluZy5jZHNcIikpO1xuXHRcdG1ldGFNb2RlbCA9IGF3YWl0IGdldE1ldGFNb2RlbChzTWV0YWRhdGFVcmwpO1xuXHRcdGNvbnZlcnRlZFR5cGVzID0gY29udmVydFR5cGVzKG1ldGFNb2RlbCk7XG5cdFx0Y29uc3QgbWF5YmVFbnRpdHlTZXQgPSBjb252ZXJ0ZWRUeXBlcy5lbnRpdHlTZXRzLmZpbmQoZXQgPT4gZXQubmFtZSA9PT0gXCJNYWluRW50aXR5XCIpO1xuXHRcdGlmIChtYXliZUVudGl0eVNldCkge1xuXHRcdFx0ZW50aXR5U2V0ID0gbWF5YmVFbnRpdHlTZXQ7XG5cdFx0XHRlbnRpdHlUeXBlID0gbWF5YmVFbnRpdHlTZXQuZW50aXR5VHlwZTtcblx0XHRcdGVudGl0eVR5cGUuZW50aXR5UHJvcGVydGllcy5mb3JFYWNoKHByb3AgPT4ge1xuXHRcdFx0XHRwcm9wZXJ0aWVzW3Byb3AubmFtZV0gPSBwcm9wO1xuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIkVycm9yIGluIHRlc3Qgc2V0dXBcIik7XG5cdFx0fVxuXHR9KTtcblx0YmVmb3JlRWFjaCgoKSA9PiB7XG5cdFx0amVzdC5jbGVhckFsbE1vY2tzKCk7XG5cdH0pO1xuXG5cdGl0KFxuXHRcdFwiI2dldFZhbHVlQmluZGluZ1wiLFxuXHRcdHtcblx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRcInR5cGVcIjogXCJCQ1BcIixcblx0XHRcdFx0XHRcIklEXCI6IFwiMjE3MDIzNzE2NVwiXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHR9LFxuXHRcdCgpID0+IHtcblx0XHRcdGNvbnN0IHRleHRTaW1wbGVCaW5kaW5nID0gZ2V0VmFsdWVCaW5kaW5nKGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJ0ZXh0QmluZGluZ1wiXSksIHt9KTtcblx0XHRcdGV4cGVjdCh0ZXh0U2ltcGxlQmluZGluZykudG9FcXVhbChcblx0XHRcdFx0XCJ7cGF0aDogJ3RleHRCaW5kaW5nJywgdHlwZTogJ3NhcC51aS5tb2RlbC5vZGF0YS50eXBlLlN0cmluZycsIGZvcm1hdE9wdGlvbnM6IHtwYXJzZUtlZXBzRW1wdHlTdHJpbmc6IHRydWV9fVwiXG5cdFx0XHQpO1xuXG5cdFx0XHRjb25zdCB0ZXh0RGVsZXRlRm9ybWF0dGVyQmluZGluZyA9IGdldFZhbHVlQmluZGluZyhcblx0XHRcdFx0Z2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KGVudGl0eVNldCwgcHJvcGVydGllc1tcInRleHRCaW5kaW5nXCJdKSxcblx0XHRcdFx0eyB0ZXh0TWF4TGluZXM6IFwiMTBcIiB9LFxuXHRcdFx0XHR0cnVlLCAvL2lnbm9yZVVuaXQsIGl0IGRvZXNuJ3QgaGF2ZSB1bml0LCBzbyBkb2Vzbid0IG1hdHRlci4gVGVzdGVkIGEgZmV3IGxpbmVzIGxhdGVyLlxuXHRcdFx0XHR0cnVlXG5cdFx0XHQpO1xuXHRcdFx0ZXhwZWN0KHRleHREZWxldGVGb3JtYXR0ZXJCaW5kaW5nKS50b0VxdWFsKFwie3RleHRCaW5kaW5nfVwiKTtcblxuXHRcdFx0Y29uc3QgdGV4dEJpbmRpbmdQYXJhbWV0dGVyID0gZ2V0VmFsdWVCaW5kaW5nKFxuXHRcdFx0XHRnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0LCBwcm9wZXJ0aWVzW1widGV4dEJpbmRpbmdcIl0pLFxuXHRcdFx0XHR7IHRleHRNYXhMaW5lczogXCIxMFwiIH0sXG5cdFx0XHRcdHRydWUsXG5cdFx0XHRcdHRydWUsXG5cdFx0XHRcdHsgJCRub1BhdGNoOiB0cnVlIH1cblx0XHRcdCk7XG5cdFx0XHRleHBlY3QodGV4dEJpbmRpbmdQYXJhbWV0dGVyKS50b0VxdWFsKFwie3BhdGg6ICd0ZXh0QmluZGluZycsIHBhcmFtZXRlcnM6IHskJG5vUGF0Y2g6IHRydWV9fVwiKTtcblxuXHRcdFx0Y29uc3QgdGV4dFR5cGVBbnkgPSBnZXRWYWx1ZUJpbmRpbmcoXG5cdFx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJ0ZXh0QmluZGluZ1wiXSksXG5cdFx0XHRcdHt9LFxuXHRcdFx0XHRmYWxzZSxcblx0XHRcdFx0ZmFsc2UsXG5cdFx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdFx0dHJ1ZVxuXHRcdFx0KTtcblx0XHRcdGV4cGVjdCh0ZXh0VHlwZUFueSkudG9FcXVhbChcblx0XHRcdFx0XCJ7cGF0aDogJ3RleHRCaW5kaW5nJywgdHlwZTogJ3NhcC51aS5tb2RlbC5vZGF0YS50eXBlLlN0cmluZycsIHRhcmdldFR5cGU6ICdhbnknLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VLZWVwc0VtcHR5U3RyaW5nOiB0cnVlfX1cIlxuXHRcdFx0KTtcblxuXHRcdFx0Y29uc3QgZW1haWxTaW1wbGVCaW5kaW5nID0gZ2V0VmFsdWVCaW5kaW5nKGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJlbWFpbEJpbmRpbmdcIl0pLCB7fSk7XG5cdFx0XHRleHBlY3QoZW1haWxTaW1wbGVCaW5kaW5nKS50b0VxdWFsKFwie3BhdGg6ICdlbWFpbEJpbmRpbmcnLCB0eXBlOiAnc2FwLmZlLmNvcmUudHlwZS5FbWFpbCd9XCIpO1xuXG5cdFx0XHRjb25zdCB1bml0V2l0aEN1cnJlbmN5QmluZGluZ1NpbXBsZUJpbmRpbmcgPSBnZXRWYWx1ZUJpbmRpbmcoXG5cdFx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJVbml0V2l0aEN1cnJlbmN5QmluZGluZ1wiXSksXG5cdFx0XHRcdHt9XG5cdFx0XHQpO1xuXHRcdFx0ZXhwZWN0KHVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nU2ltcGxlQmluZGluZykudG9FcXVhbChcblx0XHRcdFx0XCJ7bW9kZTonVHdvV2F5JywgcGFydHM6W3twYXRoOidVbml0V2l0aEN1cnJlbmN5QmluZGluZycsIHR5cGUgOiAnc2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuSW50MzInLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VBc1N0cmluZzogZmFsc2UsIGVtcHR5U3RyaW5nOiAnJ319LHtwYXRoOidjdXJyZW5jeScsIHR5cGUgOiAnc2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuU3RyaW5nJywgZm9ybWF0T3B0aW9uczoge3BhcnNlS2VlcHNFbXB0eVN0cmluZzogdHJ1ZX19LHttb2RlOidPbmVUaW1lJyxwYXRoOicvIyNAQHJlcXVlc3RDdXJyZW5jeUNvZGVzJyx0YXJnZXRUeXBlOidhbnknfV0sdHlwZTonc2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuQ3VycmVuY3knLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VBc1N0cmluZzogZmFsc2UsIGVtcHR5U3RyaW5nOiAnJywgc2hvd01lYXN1cmU6IGZhbHNlfX1cIlxuXHRcdFx0KTtcblxuXHRcdFx0Y29uc3QgdW5pdFdpdGhDdXJyZW5jeUJpbmRpbmdJZ25vcmVVbml0ID0gZ2V0VmFsdWVCaW5kaW5nKFxuXHRcdFx0XHRnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0LCBwcm9wZXJ0aWVzW1wiVW5pdFdpdGhDdXJyZW5jeUJpbmRpbmdcIl0pLFxuXHRcdFx0XHR7fSxcblx0XHRcdFx0dHJ1ZVxuXHRcdFx0KTtcblx0XHRcdGV4cGVjdCh1bml0V2l0aEN1cnJlbmN5QmluZGluZ0lnbm9yZVVuaXQpLnRvRXF1YWwoXG5cdFx0XHRcdFwie3BhdGg6ICdVbml0V2l0aEN1cnJlbmN5QmluZGluZycsIHR5cGU6ICdzYXAudWkubW9kZWwub2RhdGEudHlwZS5JbnQzMicsIGZvcm1hdE9wdGlvbnM6IHtwYXJzZUFzU3RyaW5nOiBmYWxzZSwgZW1wdHlTdHJpbmc6ICcnfX1cIlxuXHRcdFx0KTtcblxuXHRcdFx0Y29uc3QgdW5pdFdpdGhDdXJyZW5jeURlc2NyaXB0aW9uQmluZGluZyA9IGdldFZhbHVlQmluZGluZyhcblx0XHRcdFx0Z2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KGVudGl0eVNldCwgcHJvcGVydGllc1tcIlVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nXCJdKSxcblx0XHRcdFx0e30sXG5cdFx0XHRcdGZhbHNlLFxuXHRcdFx0XHRmYWxzZSxcblx0XHRcdFx0dW5kZWZpbmVkLFxuXHRcdFx0XHR0cnVlLFxuXHRcdFx0XHR0cnVlXG5cdFx0XHQpO1xuXHRcdFx0ZXhwZWN0KHVuaXRXaXRoQ3VycmVuY3lEZXNjcmlwdGlvbkJpbmRpbmcpLnRvRXF1YWwoXG5cdFx0XHRcdFwie21vZGU6J1R3b1dheScsIHBhcnRzOlt7cGF0aDonVW5pdFdpdGhDdXJyZW5jeUJpbmRpbmcnLCB0eXBlIDogJ3NhcC51aS5tb2RlbC5vZGF0YS50eXBlLkludDMyJywgZm9ybWF0T3B0aW9uczoge3BhcnNlQXNTdHJpbmc6IGZhbHNlLCBlbXB0eVN0cmluZzogJyd9fSx7cGF0aDonY3VycmVuY3knLCB0eXBlIDogJ3NhcC51aS5tb2RlbC5vZGF0YS50eXBlLlN0cmluZycsIGZvcm1hdE9wdGlvbnM6IHtwYXJzZUtlZXBzRW1wdHlTdHJpbmc6IHRydWV9fSx7bW9kZTonT25lVGltZScscGF0aDonLyMjQEByZXF1ZXN0Q3VycmVuY3lDb2RlcycsdGFyZ2V0VHlwZTonYW55J31dLHR5cGU6J3NhcC51aS5tb2RlbC5vZGF0YS50eXBlLkN1cnJlbmN5JywgZm9ybWF0T3B0aW9uczoge3BhcnNlQXNTdHJpbmc6IGZhbHNlLCBlbXB0eVN0cmluZzogJycsIHNob3dOdW1iZXI6IGZhbHNlfX1cIlxuXHRcdFx0KTtcblx0XHR9XG5cdCk7XG5cblx0aXQoXG5cdFx0XCIjZ2V0RGlzcGxheVN0eWxlXCIsXG5cdFx0e1xuXHRcdFx0XCJyZWZlcmVuY2VzXCI6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdFwidHlwZVwiOiBcIkpJUkFcIixcblx0XHRcdFx0XHRcIklEXCI6IFwiRklPUklURUNIUDEtMjExNzZcIlxuXHRcdFx0XHR9XG5cdFx0XHRdXG5cdFx0fSxcblx0XHQoKSA9PiB7XG5cdFx0XHRjb25zdCBlbnRpdHlTZXRMaW5lSXRlbSA9IGVudGl0eVNldC5lbnRpdHlUeXBlLmFubm90YXRpb25zLlVJPy5MaW5lSXRlbSBhcyBMaW5lSXRlbTtcblx0XHRcdGNvbnN0IGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIGVudGl0eVNldExpbmVJdGVtWzFdIGFzIEFueUFubm90YXRpb24pO1xuXHRcdFx0Y29uc3Qgc2VtYW50aWNPYmplY3Q6IHN0cmluZyA9IFwiXCI7XG5cdFx0XHRjb25zdCBmb3JtYXRPcHRpb25zID0ge1xuXHRcdFx0XHR2YWx1ZUZvcm1hdDogXCJEZXNjcmlwdGlvblZhbHVlXCIsXG5cdFx0XHRcdHRleHRBbGlnbk1vZGU6IFwiRm9ybVwiLFxuXHRcdFx0XHRyZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0OiB0cnVlXG5cdFx0XHR9IGFzIEZpZWxkRm9ybWF0T3B0aW9ucztcblxuXHRcdFx0Y29uc3QgZGF0YUZpZWxkQ29udmVydGVkID0gZ2V0VmFsdWVCaW5kaW5nKFxuXHRcdFx0XHRnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0LCBwcm9wZXJ0aWVzW1wicHJvcGVydHlOb1RleHRXaXRoVkhcIl0pLFxuXHRcdFx0XHR7fVxuXHRcdFx0KTtcblx0XHRcdGNvbnN0IGRpc3BsYXlTdHlsZSA9IGdldERpc3BsYXlTdHlsZShcblx0XHRcdFx0cHJvcGVydGllc1tcInByb3BlcnR5Tm9UZXh0V2l0aFZIXCJdLFxuXHRcdFx0XHRkYXRhRmllbGRDb252ZXJ0ZWQsXG5cdFx0XHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSxcblx0XHRcdFx0Zm9ybWF0T3B0aW9ucyxcblx0XHRcdFx0c2VtYW50aWNPYmplY3Rcblx0XHRcdCk7XG5cdFx0XHQvLyBGYWxsYmFjayBmZWF0dXJlIGZvciByZXRyaWV2ZSB0aGUgdGV4dCBhbm5vdGF0aW9uIGZyb20gdGhlIHZhbHVlIGxpc3RzOlxuXHRcdFx0Ly8gUHJvcGVydHkgaGFzIHZhbHVlIGhlbHAsIG5vIFRleHQgYW5ub3RhdGlvbiwgaGFzIGRpc3BsYXkgZm9ybWF0LCB1c2VkIGluIEZvcm0gYW5kIG1hbmlmZXN0LXN3aXRjaCByZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0IGlzIG9uXG5cdFx0XHRleHBlY3QoZGlzcGxheVN0eWxlKS50b0VxdWFsKFwiTWRjRmllbGRXaXRoVmFsdWVIZWxwXCIpO1xuXHRcdH1cblx0KTtcblxuXHRpdChcIiNnZXRCaW5kaW5nV2l0aFRleHRBcnJhbmdlbWVudFwiLCAoKSA9PiB7XG5cdFx0Ly8gQ2FzZXMgdG8gY29uc2lkZXJcblxuXHRcdC8vIFRleHRPbmx5XG5cdFx0Y29uc3QgdGV4dE9ubHlCaW5kaW5nID0gZ2V0QmluZGluZ1dpdGhUZXh0QXJyYW5nZW1lbnQoXG5cdFx0XHRnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0LCBwcm9wZXJ0aWVzW1widGV4dE9ubHlcIl0pLFxuXHRcdFx0YmluZGluZ0V4cHJlc3Npb24oXCJ0ZXh0T25seVwiKVxuXHRcdCk7XG5cdFx0ZXhwZWN0KHRleHRPbmx5QmluZGluZykudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKHRleHRPbmx5QmluZGluZykpLnRvQ29udGFpbihcInRhcmdldFRleHRcIik7XG5cdFx0ZXhwZWN0KGV2YWx1YXRlQmluZGluZ1dpdGhNb2RlbChjb21waWxlQmluZGluZyh0ZXh0T25seUJpbmRpbmcpLCB7IHRhcmdldFRleHQ6IFwiWW9sb1wiIH0pKS50b0VxdWFsKFwiWW9sb1wiKTtcblxuXHRcdC8vIE5vIHRleHQgYXJyYW5nZW1lbnRcblx0XHRjb25zdCBub1RleHRCaW5kaW5nID0gZ2V0QmluZGluZ1dpdGhUZXh0QXJyYW5nZW1lbnQoXG5cdFx0XHRnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0LCBwcm9wZXJ0aWVzW1wibm9UZXh0XCJdKSxcblx0XHRcdGJpbmRpbmdFeHByZXNzaW9uKFwibm9UZXh0XCIpXG5cdFx0KTtcblx0XHRleHBlY3Qobm9UZXh0QmluZGluZykudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKG5vVGV4dEJpbmRpbmcpKS50b0NvbnRhaW4oXCJub1RleHRcIik7XG5cdFx0ZXhwZWN0KGV2YWx1YXRlQmluZGluZ1dpdGhNb2RlbChjb21waWxlQmluZGluZyhub1RleHRCaW5kaW5nKSwgeyBub1RleHQ6IFwiWW9sb1wiIH0pKS50b0VxdWFsKFwiWW9sb1wiKTtcblxuXHRcdC8vIFRleHRGaXJzdFxuXHRcdGNvbnN0IHRleHRGaXJzdEJpbmRpbmcgPSBnZXRCaW5kaW5nV2l0aFRleHRBcnJhbmdlbWVudChcblx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJ0ZXh0Rmlyc3RcIl0pLFxuXHRcdFx0YmluZGluZ0V4cHJlc3Npb24oXCJ0ZXh0Rmlyc3RcIilcblx0XHQpO1xuXHRcdGV4cGVjdCh0ZXh0Rmlyc3RCaW5kaW5nKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcodGV4dEZpcnN0QmluZGluZykpLnRvQ29udGFpbihcInRleHRGaXJzdFwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcodGV4dEZpcnN0QmluZGluZykpLnRvQ29udGFpbihcInRhcmdldFRleHRcIik7XG5cdFx0ZXhwZWN0KFxuXHRcdFx0ZXZhbHVhdGVCaW5kaW5nV2l0aE1vZGVsKGNvbXBpbGVCaW5kaW5nKHRleHRGaXJzdEJpbmRpbmcpLCB7IHRleHRGaXJzdDogXCJZb2xvIExhc3RcIiwgdGFyZ2V0VGV4dDogXCJZb2xvIERlc2NyaXB0aW9uXCIgfSlcblx0XHQpLnRvRXF1YWwoXCJZb2xvIERlc2NyaXB0aW9uIChZb2xvIExhc3QpXCIpO1xuXG5cdFx0Ly8gVGV4dExhc3Rcblx0XHRjb25zdCB0ZXh0TGFzdEJpbmRpbmcgPSBnZXRCaW5kaW5nV2l0aFRleHRBcnJhbmdlbWVudChcblx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJ0ZXh0TGFzdFwiXSksXG5cdFx0XHRiaW5kaW5nRXhwcmVzc2lvbihcInRleHRMYXN0XCIpXG5cdFx0KTtcblx0XHRleHBlY3QodGV4dExhc3RCaW5kaW5nKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcodGV4dExhc3RCaW5kaW5nKSkudG9Db250YWluKFwidGV4dExhc3RcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKHRleHRMYXN0QmluZGluZykpLnRvQ29udGFpbihcInRhcmdldFRleHRcIik7XG5cdFx0ZXhwZWN0KFxuXHRcdFx0ZXZhbHVhdGVCaW5kaW5nV2l0aE1vZGVsKGNvbXBpbGVCaW5kaW5nKHRleHRMYXN0QmluZGluZyksIHsgdGV4dExhc3Q6IFwiWW9sbyBGaXJzdFwiLCB0YXJnZXRUZXh0OiBcIllvbG8gRGVzY3JpcHRpb25cIiB9KVxuXHRcdCkudG9FcXVhbChcIllvbG8gRmlyc3QgKFlvbG8gRGVzY3JpcHRpb24pXCIpO1xuXHR9KTtcblxuXHRpdChcIiNhZGRUZXh0QXJyYW5nZW1lbnRUb0JpbmRpbmdFeHByZXNzaW9uXCIsICgpID0+IHtcblx0XHRjb25zdCBmdWxsQ29udGV4dCA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQpO1xuXG5cdFx0Y29uc3Qgb3RoZXJNb2RlbEJpbmRpbmcgPSBhZGRUZXh0QXJyYW5nZW1lbnRUb0JpbmRpbmdFeHByZXNzaW9uKGJpbmRpbmdFeHByZXNzaW9uKFwidGV4dExhc3RcIiwgXCJvdGhlck1vZGVsXCIpLCBmdWxsQ29udGV4dCk7XG5cdFx0ZXhwZWN0KG90aGVyTW9kZWxCaW5kaW5nKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcob3RoZXJNb2RlbEJpbmRpbmcpKS50b0NvbnRhaW4oXCJ0ZXh0TGFzdFwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcob3RoZXJNb2RlbEJpbmRpbmcpKS5ub3QudG9Db250YWluKFwidGFyZ2V0VGV4dFwiKTtcblxuXHRcdGNvbnN0IGFkZFRleHRMYXN0QmluZGluZyA9IGFkZFRleHRBcnJhbmdlbWVudFRvQmluZGluZ0V4cHJlc3Npb24oYmluZGluZ0V4cHJlc3Npb24oXCJ0ZXh0TGFzdFwiKSwgZnVsbENvbnRleHQpO1xuXHRcdGV4cGVjdChhZGRUZXh0TGFzdEJpbmRpbmcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhhZGRUZXh0TGFzdEJpbmRpbmcpKS50b0NvbnRhaW4oXCJ0ZXh0TGFzdFwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoYWRkVGV4dExhc3RCaW5kaW5nKSkudG9Db250YWluKFwidGFyZ2V0VGV4dFwiKTtcblx0XHRleHBlY3QoXG5cdFx0XHRldmFsdWF0ZUJpbmRpbmdXaXRoTW9kZWwoY29tcGlsZUJpbmRpbmcoYWRkVGV4dExhc3RCaW5kaW5nKSwgeyB0ZXh0TGFzdDogXCJZb2xvIEZpcnN0XCIsIHRhcmdldFRleHQ6IFwiWW9sbyBEZXNjcmlwdGlvblwiIH0pXG5cdFx0KS50b0VxdWFsKFwiWW9sbyBGaXJzdCAoWW9sbyBEZXNjcmlwdGlvbilcIik7XG5cblx0XHRjb25zdCBjb21wbGV4VGV4dEJpbmRpbmcgPSBhZGRUZXh0QXJyYW5nZW1lbnRUb0JpbmRpbmdFeHByZXNzaW9uKFxuXHRcdFx0aWZFbHNlKGJpbmRpbmdFeHByZXNzaW9uKFwidGVzdFByb3BcIiksIGJpbmRpbmdFeHByZXNzaW9uKFwidGV4dExhc3RcIiksIGJpbmRpbmdFeHByZXNzaW9uKFwibm9UZXh0XCIpKSxcblx0XHRcdGZ1bGxDb250ZXh0XG5cdFx0KTtcblx0XHRleHBlY3QoY29tcGxleFRleHRCaW5kaW5nKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoY29tcGxleFRleHRCaW5kaW5nKSkudG9Db250YWluKFwidGV4dExhc3RcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGNvbXBsZXhUZXh0QmluZGluZykpLnRvQ29udGFpbihcInRhcmdldFRleHRcIik7XG5cdFx0Y29uc3QgbW9kZWxDb250ZW50ID0ge1xuXHRcdFx0dGVzdFByb3A6IHRydWUsXG5cdFx0XHR0ZXh0TGFzdDogXCJZb2xvIEZpcnN0XCIsXG5cdFx0XHR0YXJnZXRUZXh0OiBcIllvbG8gRGVzY3JpcHRpb25cIixcblx0XHRcdG5vVGV4dDogXCJOb3QgWW9sb1wiXG5cdFx0fTtcblx0XHRleHBlY3QoZXZhbHVhdGVCaW5kaW5nV2l0aE1vZGVsKGNvbXBpbGVCaW5kaW5nKGNvbXBsZXhUZXh0QmluZGluZyksIG1vZGVsQ29udGVudCkpLnRvRXF1YWwoXCJZb2xvIEZpcnN0IChZb2xvIERlc2NyaXB0aW9uKVwiKTtcblxuXHRcdG1vZGVsQ29udGVudC50ZXN0UHJvcCA9IGZhbHNlO1xuXHRcdGV4cGVjdChldmFsdWF0ZUJpbmRpbmdXaXRoTW9kZWwoY29tcGlsZUJpbmRpbmcoY29tcGxleFRleHRCaW5kaW5nKSwgbW9kZWxDb250ZW50KSkudG9FcXVhbChcIk5vdCBZb2xvXCIpO1xuXHR9KTtcblxuXHRpdChcImZvcm1hdHRlZCBJbnRlZ2VyIHR5cGUgY2FsbFwiLCAoKSA9PiB7XG5cdFx0Y29uc3Qgb1Byb3BlcnR5VHlwZSA9IHsgX3R5cGU6IFwiUHJvcGVydHlcIiwgdHlwZTogXCJFZG0uSW50MzJcIiB9IGFzIFByb3BlcnR5O1xuXHRcdHJldHVybiBleHBlY3QoY29tcGlsZUJpbmRpbmcoZm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvbihvUHJvcGVydHlUeXBlLCBiaW5kaW5nRXhwcmVzc2lvbihcInZhbHVlXCIpKSkpLnRvRXF1YWwoXG5cdFx0XHRcIntwYXRoOiAndmFsdWUnLCB0eXBlOiAnc2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuSW50MzInLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VBc1N0cmluZzogZmFsc2UsIGVtcHR5U3RyaW5nOiAnJ319XCJcblx0XHQpO1xuXHR9KTtcblxuXHRpdChcblx0XHRcImZvcm1hdHRlZCBEb3VibGUgdHlwZSBjYWxsXCIsXG5cdFx0e1xuXHRcdFx0XCJyZWZlcmVuY2VzXCI6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdFwidHlwZVwiOiBcIkJDUFwiLFxuXHRcdFx0XHRcdFwiSURcIjogXCIyMTgwMjEyMTQ4XCJcblx0XHRcdFx0fVxuXHRcdFx0XVxuXHRcdH0sXG5cdFx0KCkgPT4ge1xuXHRcdFx0Y29uc3Qgb1Byb3BlcnR5VHlwZSA9IHsgX3R5cGU6IFwiUHJvcGVydHlcIiwgdHlwZTogXCJFZG0uRG91YmxlXCIgfSBhcyBQcm9wZXJ0eTtcblx0XHRcdHJldHVybiBleHBlY3QoY29tcGlsZUJpbmRpbmcoZm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvbihvUHJvcGVydHlUeXBlLCBiaW5kaW5nRXhwcmVzc2lvbihcInZhbHVlXCIpKSkpLnRvRXF1YWwoXG5cdFx0XHRcdFwie3BhdGg6ICd2YWx1ZScsIHR5cGU6ICdzYXAudWkubW9kZWwub2RhdGEudHlwZS5Eb3VibGUnLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VBc1N0cmluZzogZmFsc2UsIGVtcHR5U3RyaW5nOiAnJ319XCJcblx0XHRcdCk7XG5cdFx0fVxuXHQpO1xuXG5cdGl0KFwiY2FuIGV2YWx1YXRlIHRoZSB2aXNpYmxlIHBhcmFtZXRlciBiYXNlZCBvbiBVSS5IaWRkZW5cIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGVudGl0eVNldExpbmVJdGVtID0gZW50aXR5U2V0LmVudGl0eVR5cGUuYW5ub3RhdGlvbnMuVUk/LkxpbmVJdGVtIGFzIExpbmVJdGVtO1xuXHRcdGxldCBkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkgPSBnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoXG5cdFx0XHRlbnRpdHlTZXQsXG5cdFx0XHRlbnRpdHlTZXRMaW5lSXRlbVsxXSBhcyBBbnlBbm5vdGF0aW9uIC8vIHN0YXRpY0hpZGRlblByb3Bcblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwiZmFsc2VcIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bMl0gYXMgQW55QW5ub3RhdGlvbiAvLyBkeW5hbWljSGlkZGVuUHJvcFxuXHRcdCk7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSkpLnRvRXF1YWwoXCJ7PSAle2lzSGlkZGVufSAhPT0gdHJ1ZX1cIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bM10gYXMgQW55QW5ub3RhdGlvbiAvLyB0ZXh0Rmlyc3Qgd2l0aCBkYXRhRmllbGQgc3RhdGljYWxseSBoaWRkZW5cblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwiZmFsc2VcIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bNF0gYXMgQW55QW5ub3RhdGlvbiAvLyB0ZXh0T25seSB3aXRoIGRhdGFGaWVsZCBkeW5hbWljYWxseSBoaWRkZW5cblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwiez0gJXtpc0hpZGRlbn0gIT09IHRydWV9XCIpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzVdIGFzIEFueUFubm90YXRpb24gLy8gZHluYW1pY0hpZGRlblByb3AyIHdpdGggZHluYW1pYyBkYXRhZmllbGQgaGlkZGVuXG5cdFx0KTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KSkudG9FcXVhbChcIns9ICV7aXNIaWRkZW4yfSAhPT0gdHJ1ZSAmJiAle2lzSGlkZGVufSAhPT0gdHJ1ZX1cIik7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSwgeyBpc0FuYWx5dGljczogdHJ1ZSB9IGFzIEZpZWxkRm9ybWF0T3B0aW9ucykpLnRvRXF1YWwoXG5cdFx0XHRcIns9ICV7aXNIaWRkZW4yfSAhPT0gdHJ1ZSAmJiAle2lzSGlkZGVufSAhPT0gdHJ1ZSAmJiAoJXtAJHVpNS5ub2RlLmlzRXhwYW5kZWR9ICE9PSB0cnVlIHx8ICV7QCR1aTUubm9kZS5sZXZlbH0gPT09IDApfVwiXG5cdFx0KTtcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkgPSBnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoXG5cdFx0XHRlbnRpdHlTZXQsXG5cdFx0XHRlbnRpdHlTZXRMaW5lSXRlbVs2XSBhcyBBbnlBbm5vdGF0aW9uIC8vIGhpZGRlbldpdGgxMU5hdiB3aXRoIGR5bmFtaWMgZGF0YWZpZWxkIGhpZGRlblxuXHRcdCk7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSkpLnRvRXF1YWwoXG5cdFx0XHRcIns9ICV7aXNIaWRkZW4yfSAhPT0gdHJ1ZSAmJiAle1NwZWNpYWxDaGlsZC9pc0hpZGRlbn0gIT09IHRydWV9XCJcblx0XHQpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzddIGFzIEFueUFubm90YXRpb24gLy8gaGlkZGVuV2l0aDFOTmF2IHdpdGggZHluYW1pYyBkYXRhZmllbGQgaGlkZGVuIC0+IERvZXNuJ3QgbWFrZSBzZW5zZSBhbmQgbW9kZWwgd2lsbCBjb21wbGFpbiBidXQgaGVoIDooXG5cdFx0KTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KSkudG9FcXVhbChcIns9ICV7aXNIaWRkZW4yfSAhPT0gdHJ1ZSAmJiAle19FbGVtZW50cy9pc0hpZGRlbn0gIT09IHRydWV9XCIpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzhdIGFzIEFueUFubm90YXRpb24gLy8gRGF0YSBGaWVsZCBGb3IgQWN0aW9uXG5cdFx0KTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bOV0gYXMgQW55QW5ub3RhdGlvbiAvLyBEYXRhRmllbGRGb3JBbm5vdGF0aW9uIC0+IGRhdGEgcG9pbnQgdmlzaWJsZVxuXHRcdCk7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSkpLnRvRXF1YWwoXCJ0cnVlXCIpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHksIHsgaXNBbmFseXRpY3M6IHRydWUgfSBhcyBGaWVsZEZvcm1hdE9wdGlvbnMpKS50b0VxdWFsKFxuXHRcdFx0XCJ7PSAle0AkdWk1Lm5vZGUuaXNFeHBhbmRlZH0gIT09IHRydWUgfHwgJXtAJHVpNS5ub2RlLmxldmVsfSA9PT0gMH1cIlxuXHRcdCk7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bMTBdIGFzIEFueUFubm90YXRpb24gLy8gRGF0YUZpZWxkRm9yQW5ub3RhdGlvbiAtPiBkYXRhIHBvaW50IGR5bmFtaWMgdmlzaWJsZVxuXHRcdCk7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSkpLnRvRXF1YWwoXCJ7PSAle2lzSGlkZGVufSAhPT0gdHJ1ZX1cIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bMTFdIGFzIEFueUFubm90YXRpb24gLy8gbm9IaWRkZW5Qcm9wXG5cdFx0KTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bMTJdIGFzIEFueUFubm90YXRpb24gLy8gRGF0YUZpZWxkRm9yQW5ub3RhdGlvbiAtPiBGaWVsZEdyb3VwIC0+IERhdGFcblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwidHJ1ZVwiKTtcblx0fSk7XG5cblx0aXQoXCJnZXREYXRhUG9pbnRTdHlsZSB3aXRoIGRhdGFwb2ludCBoYXZpbmcgVmlzdWFsaXphdGlvblwiLCAoKSA9PiB7XG5cdFx0Y29uc3Qgb0NvbnRleHRQYXRoID0gbWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL01haW5FbnRpdHlcIik7XG5cdFx0Y29uc3Qgb01ldGFQYXRoID0gbWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL01haW5FbnRpdHkvQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkhlYWRlckZhY2V0cy8wL1RhcmdldC8kQW5ub3RhdGlvblBhdGgvXCIpO1xuXHRcdGNvbnN0IG9EYXRhTW9kZWxQYXRoID0gZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG9NZXRhUGF0aCwgb0NvbnRleHRQYXRoKTtcblx0XHRleHBlY3QoZ2V0RGF0YVBvaW50U3R5bGUob0RhdGFNb2RlbFBhdGgpKS50b0VxdWFsKHVuZGVmaW5lZCk7XG5cdH0pO1xuXHRpdChcImdldERhdGFQb2ludFN0eWxlIHdpdGggZGF0YXBvaW50IGhhdmluZyBRdWlja1ZpZXdGYWNldHNcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IG9Db250ZXh0UGF0aCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9NYWluRW50aXR5XCIpO1xuXHRcdGNvbnN0IG9NZXRhUGF0aCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9NYWluRW50aXR5L0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5IZWFkZXJGYWNldHMvMi9UYXJnZXQvJEFubm90YXRpb25QYXRoL1wiKTtcblx0XHRjb25zdCBvRGF0YU1vZGVsUGF0aCA9IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyhvTWV0YVBhdGgsIG9Db250ZXh0UGF0aCk7XG5cdFx0ZXhwZWN0KGdldERhdGFQb2ludFN0eWxlKG9EYXRhTW9kZWxQYXRoIGFzIERhdGFNb2RlbE9iamVjdFBhdGgpKS50b0VxdWFsKFwiTGlua1dpdGhRdWlja1ZpZXdGb3JtXCIpO1xuXHR9KTtcblxuXHRpdChcImdldERhdGFQb2ludFN0eWxlIHdpdGggZGF0YXBvaW50IGhhdmluZyBTZW1hbnRpY09iamVjdHNcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IG9Db250ZXh0UGF0aCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9NYWluRW50aXR5XCIpO1xuXHRcdGNvbnN0IG9NZXRhUGF0aCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9NYWluRW50aXR5L0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5IZWFkZXJGYWNldHMvMS9UYXJnZXQvJEFubm90YXRpb25QYXRoL1wiKTtcblx0XHRjb25zdCBvRGF0YU1vZGVsUGF0aCA9IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyhvTWV0YVBhdGgsIG9Db250ZXh0UGF0aCk7XG5cdFx0ZXhwZWN0KGdldERhdGFQb2ludFN0eWxlKG9EYXRhTW9kZWxQYXRoIGFzIERhdGFNb2RlbE9iamVjdFBhdGgpKS50b0VxdWFsKFwiTGlua1dyYXBwZXJcIik7XG5cdH0pO1xuXG5cdGl0KFwiZ2V0RGF0YVBvaW50U3R5bGUgd2l0aCBkYXRhcG9pbnQgbm90IGhhdmluZyBWaXN1YWxpemF0aW9uLCBRdWljayBWaWV3IEZhY2V0cywgU2VtYW50aWNPYmplY3RzXCIsICgpID0+IHtcblx0XHRjb25zdCBvQ29udGV4dFBhdGggPSBtZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvTWFpbkVudGl0eVwiKTtcblx0XHRjb25zdCBvTWV0YVBhdGggPSBtZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvTWFpbkVudGl0eS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuSGVhZGVyRmFjZXRzLzMvVGFyZ2V0LyRBbm5vdGF0aW9uUGF0aC9cIik7XG5cdFx0Y29uc3Qgb0RhdGFNb2RlbFBhdGggPSBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMob01ldGFQYXRoLCBvQ29udGV4dFBhdGgpO1xuXHRcdGV4cGVjdChnZXREYXRhUG9pbnRTdHlsZShvRGF0YU1vZGVsUGF0aCBhcyBEYXRhTW9kZWxPYmplY3RQYXRoKSkudG9FcXVhbCh1bmRlZmluZWQpO1xuXHR9KTtcblxuXHRpdChcImdldFNlbWFudGljT2JqZWN0RXhwcmVzc2lvblRvUmVzb2x2ZSB3aXRoIGFubm90YXRpb25zXCIsICgpID0+IHtcblx0XHRjb25zdCBvQW5ub3RhdGlvbnMgPSB7XG5cdFx0XHRMYWJlbDogXCJTZW1hbnRpYyBPYmplY3QgUHJvcGVydHlcIixcblx0XHRcdFNlbWFudGljT2JqZWN0OiBcInY0LUZyZWVzdHlsZVwiXG5cdFx0fTtcblx0XHRleHBlY3QoZ2V0U2VtYW50aWNPYmplY3RFeHByZXNzaW9uVG9SZXNvbHZlKG9Bbm5vdGF0aW9ucykpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcImdldFNlbWFudGljT2JqZWN0RXhwcmVzc2lvblRvUmVzb2x2ZSB3aXRoIGFubm90YXRpb25zIGFuZCBzZW1hbnRpYyBvYmplY3QgcXVhbGlmaWVyXCIsICgpID0+IHtcblx0XHRjb25zdCBvQW5ub3RhdGlvbnMgPSB7XG5cdFx0XHRcIkxhYmVsXCI6IFwiU2VtYW50aWMgT2JqZWN0IFByb3BlcnR5XCIsXG5cdFx0XHRcIlNlbWFudGljT2JqZWN0I1F1YWxpZmllclwiOiBcInY0LUZyZWVzdHlsZVwiXG5cdFx0fTtcblx0XHRleHBlY3QoZ2V0U2VtYW50aWNPYmplY3RFeHByZXNzaW9uVG9SZXNvbHZlKG9Bbm5vdGF0aW9ucykpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcImdldFNlbWFudGljT2JqZWN0RXhwcmVzc2lvblRvUmVzb2x2ZSB3aXRob3V0IGFubm90YXRpb25zXCIsICgpID0+IHtcblx0XHRjb25zdCBvQW5ub3RhdGlvbnMgPSB7fTtcblx0XHRleHBlY3QoZ2V0U2VtYW50aWNPYmplY3RFeHByZXNzaW9uVG9SZXNvbHZlKG9Bbm5vdGF0aW9ucykpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcImdldFNlbWFudGljT2JqZWN0cyB3aXRoIGFTZW1PYmpFeHByVG9SZXNvbHZlXCIsICgpID0+IHtcblx0XHRjb25zdCBhU2VtT2JqRXhwclRvUmVzb2x2ZSA9IFtcblx0XHRcdHtcblx0XHRcdFx0a2V5OiBcInY0LUZyZWVzdHlsZVwiLFxuXHRcdFx0XHR2YWx1ZTogXCJ2NC1GcmVlc3R5bGVcIlxuXHRcdFx0fVxuXHRcdF07XG5cdFx0Y29uc3Qgb1NlbWFudGljT2JqZWN0Q29udGV4dCA9IGdldFNlbWFudGljT2JqZWN0cyhhU2VtT2JqRXhwclRvUmVzb2x2ZSk7XG5cdFx0ZXhwZWN0KG9TZW1hbnRpY09iamVjdENvbnRleHQuZ2V0T2JqZWN0KCkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcImdldFNlbWFudGljT2JqZWN0cyB3aXRob3V0IGFTZW1PYmpFeHByVG9SZXNvbHZlXCIsICgpID0+IHtcblx0XHRjb25zdCBhU2VtT2JqRXhwclRvUmVzb2x2ZTogYW55ID0gW107XG5cdFx0Y29uc3Qgb1NlbWFudGljT2JqZWN0Q29udGV4dCA9IGdldFNlbWFudGljT2JqZWN0cyhhU2VtT2JqRXhwclRvUmVzb2x2ZSk7XG5cdFx0ZXhwZWN0KG9TZW1hbnRpY09iamVjdENvbnRleHQuZ2V0T2JqZWN0KCkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcImlzVXNlZEluTmF2aWdhdGlvbldpdGhRdWlja1ZpZXdGYWNldHMgd2l0aCBkYXRhcG9pbnQgaGF2aW5nIFF1aWNrVmlld0ZhY2V0c1wiLCAoKSA9PiB7XG5cdFx0Y29uc3Qgb0NvbnRleHRQYXRoID0gbWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL01haW5FbnRpdHlcIik7XG5cdFx0Y29uc3Qgb01ldGFQYXRoID0gbWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL01haW5FbnRpdHkvQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkhlYWRlckZhY2V0cy8yL1RhcmdldC8kQW5ub3RhdGlvblBhdGgvXCIpO1xuXHRcdGNvbnN0IG9EYXRhTW9kZWxQYXRoID0gZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG9NZXRhUGF0aCwgb0NvbnRleHRQYXRoKTtcblx0XHRjb25zdCBvUHJvcGVydHk6IFByb3BlcnR5ID0gb0RhdGFNb2RlbFBhdGg/LnRhcmdldE9iamVjdC5WYWx1ZS4kdGFyZ2V0O1xuXHRcdGV4cGVjdChpc1VzZWRJbk5hdmlnYXRpb25XaXRoUXVpY2tWaWV3RmFjZXRzKG9EYXRhTW9kZWxQYXRoIGFzIERhdGFNb2RlbE9iamVjdFBhdGgsIG9Qcm9wZXJ0eSBhcyBQcm9wZXJ0eSkpLnRvRXF1YWwodHJ1ZSk7XG5cdH0pO1xuXG5cdGl0KFwiaXNVc2VkSW5OYXZpZ2F0aW9uV2l0aFF1aWNrVmlld0ZhY2V0cyB3aXRoIGRhdGFwb2ludCBub3QgaGF2aW5nIFF1aWNrIFZpZXcgRmFjZXRzXCIsICgpID0+IHtcblx0XHRjb25zdCBvQ29udGV4dFBhdGggPSBtZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvTWFpbkVudGl0eVwiKTtcblx0XHRjb25zdCBvTWV0YVBhdGggPSBtZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvTWFpbkVudGl0eS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuSGVhZGVyRmFjZXRzLzMvVGFyZ2V0LyRBbm5vdGF0aW9uUGF0aC9cIik7XG5cdFx0Y29uc3Qgb0RhdGFNb2RlbFBhdGggPSBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMob01ldGFQYXRoLCBvQ29udGV4dFBhdGgpO1xuXHRcdGNvbnN0IG9Qcm9wZXJ0eTogUHJvcGVydHkgPSBvRGF0YU1vZGVsUGF0aD8udGFyZ2V0T2JqZWN0LlZhbHVlLiR0YXJnZXQ7XG5cdFx0ZXhwZWN0KGlzVXNlZEluTmF2aWdhdGlvbldpdGhRdWlja1ZpZXdGYWNldHMob0RhdGFNb2RlbFBhdGggYXMgRGF0YU1vZGVsT2JqZWN0UGF0aCwgb1Byb3BlcnR5IGFzIFByb3BlcnR5KSkudG9FcXVhbChmYWxzZSk7XG5cdH0pO1xufSk7XG4iXX0=
|