@sapui5/sap.fe.core 1.114.0 → 1.114.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/ActionRuntime-dbg.js +3 -2
- package/src/sap/fe/core/ActionRuntime.js +1 -1
- package/src/sap/fe/core/ActionRuntime.js.map +1 -1
- package/src/sap/fe/core/ActionRuntime.ts +2 -3
- package/src/sap/fe/core/AppStateHandler-dbg.js +4 -1
- package/src/sap/fe/core/AppStateHandler.js +1 -1
- package/src/sap/fe/core/AppStateHandler.js.map +1 -1
- package/src/sap/fe/core/AppStateHandler.ts +4 -1
- package/src/sap/fe/core/ExtensionAPI-dbg.js +3 -2
- package/src/sap/fe/core/ExtensionAPI.js +1 -1
- package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
- package/src/sap/fe/core/ExtensionAPI.ts +7 -4
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +10 -3
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +8 -1
- package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +5 -5
- package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +4 -4
- package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +17 -10
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +15 -8
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +14 -16
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +16 -16
- package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +2 -4
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +1 -3
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +5 -3
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +4 -2
- package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +1 -1
- package/src/sap/fe/core/converters/MetaModelConverter.ts +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +10 -6
- package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +18 -9
- package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +2 -2
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +0 -1
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +75 -45
- package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.ts +72 -43
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +29 -29
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +28 -34
- package/src/sap/fe/core/converters/helpers/InsightsHelpers-dbg.js +11 -3
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +1 -1
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.ts +13 -8
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +70 -22
- package/src/sap/fe/core/helpers/BindingToolkit.js +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.ts +107 -26
- package/src/sap/fe/core/helpers/RecommendationHelper-dbg.js +16 -1
- package/src/sap/fe/core/helpers/RecommendationHelper.js +1 -1
- package/src/sap/fe/core/helpers/RecommendationHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/RecommendationHelper.ts +20 -0
- package/src/sap/fe/core/library-dbg.js +4 -3
- package/src/sap/fe/core/library-preload.js +22 -22
- package/src/sap/fe/core/library-preload.js.map +1 -1
- package/src/sap/fe/core/library.js +1 -1
- package/src/sap/fe/core/library.js.map +1 -1
- package/src/sap/fe/core/library.ts +1 -1
- package/src/sap/fe/core/manifest.json +1 -1
- package/src/sap/fe/core/messagebundle.properties +6 -0
- package/src/sap/fe/core/messagebundle_ar.properties +5 -1
- package/src/sap/fe/core/messagebundle_bg.properties +9 -5
- package/src/sap/fe/core/messagebundle_ca.properties +5 -1
- package/src/sap/fe/core/messagebundle_cs.properties +7 -3
- package/src/sap/fe/core/messagebundle_cy.properties +7 -3
- package/src/sap/fe/core/messagebundle_da.properties +7 -3
- package/src/sap/fe/core/messagebundle_de.properties +7 -3
- package/src/sap/fe/core/messagebundle_el.properties +7 -3
- package/src/sap/fe/core/messagebundle_en.properties +7 -3
- package/src/sap/fe/core/messagebundle_en_GB.properties +5 -1
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +6 -2
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +6 -2
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +6 -2
- package/src/sap/fe/core/messagebundle_es.properties +5 -1
- package/src/sap/fe/core/messagebundle_es_MX.properties +5 -1
- package/src/sap/fe/core/messagebundle_et.properties +7 -3
- package/src/sap/fe/core/messagebundle_fi.properties +7 -3
- package/src/sap/fe/core/messagebundle_fr.properties +7 -3
- package/src/sap/fe/core/messagebundle_fr_CA.properties +10 -6
- package/src/sap/fe/core/messagebundle_hi.properties +7 -3
- package/src/sap/fe/core/messagebundle_hr.properties +7 -3
- package/src/sap/fe/core/messagebundle_hu.properties +7 -3
- package/src/sap/fe/core/messagebundle_id.properties +7 -3
- package/src/sap/fe/core/messagebundle_it.properties +13 -9
- package/src/sap/fe/core/messagebundle_iw.properties +7 -3
- package/src/sap/fe/core/messagebundle_ja.properties +13 -9
- package/src/sap/fe/core/messagebundle_kk.properties +7 -3
- package/src/sap/fe/core/messagebundle_ko.properties +7 -3
- package/src/sap/fe/core/messagebundle_lt.properties +7 -3
- package/src/sap/fe/core/messagebundle_lv.properties +5 -1
- package/src/sap/fe/core/messagebundle_ms.properties +5 -1
- package/src/sap/fe/core/messagebundle_nl.properties +7 -3
- package/src/sap/fe/core/messagebundle_no.properties +5 -1
- package/src/sap/fe/core/messagebundle_pl.properties +9 -5
- package/src/sap/fe/core/messagebundle_pt.properties +7 -3
- package/src/sap/fe/core/messagebundle_pt_PT.properties +7 -3
- package/src/sap/fe/core/messagebundle_ro.properties +5 -1
- package/src/sap/fe/core/messagebundle_ru.properties +7 -3
- package/src/sap/fe/core/messagebundle_sh.properties +7 -3
- package/src/sap/fe/core/messagebundle_sk.properties +7 -3
- package/src/sap/fe/core/messagebundle_sl.properties +5 -1
- package/src/sap/fe/core/messagebundle_sv.properties +5 -1
- package/src/sap/fe/core/messagebundle_th.properties +7 -3
- package/src/sap/fe/core/messagebundle_tr.properties +7 -3
- package/src/sap/fe/core/messagebundle_uk.properties +7 -3
- package/src/sap/fe/core/messagebundle_vi.properties +7 -3
- package/src/sap/fe/core/messagebundle_zh_CN.properties +5 -1
- package/src/sap/fe/core/messagebundle_zh_TW.properties +8 -4
- package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +8 -2
- package/src/sap/fe/core/rootView/Fcl.controller.js +1 -1
- package/src/sap/fe/core/rootView/Fcl.controller.js.map +1 -1
- package/src/sap/fe/core/rootView/Fcl.controller.ts +8 -1
- package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +8 -2
- package/src/sap/fe/core/rootView/NavContainer.controller.js +1 -1
- package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -1
- package/src/sap/fe/core/rootView/NavContainer.controller.ts +10 -3
- package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +30 -14
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +30 -20
|
@@ -187,7 +187,7 @@ sap.ui.define(["sap/fe/core/converters/helpers/IssueManager", "sap/fe/core/conve
|
|
|
187
187
|
} = visualizationAnnotation;
|
|
188
188
|
switch (visualization.term) {
|
|
189
189
|
case "com.sap.vocabularies.UI.v1.Chart":
|
|
190
|
-
chartVisualization = createChartVisualization(visualization, annotationPath, converterContext, doNotCheckApplySupported, viewConfiguration
|
|
190
|
+
chartVisualization = createChartVisualization(visualization, annotationPath, converterContext, doNotCheckApplySupported, viewConfiguration);
|
|
191
191
|
break;
|
|
192
192
|
case "com.sap.vocabularies.UI.v1.LineItem":
|
|
193
193
|
default:
|
|
@@ -280,4 +280,4 @@ sap.ui.define(["sap/fe/core/converters/helpers/IssueManager", "sap/fe/core/conve
|
|
|
280
280
|
_exports.isAlpAnnotation = isAlpAnnotation;
|
|
281
281
|
return _exports;
|
|
282
282
|
}, false);
|
|
283
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRWaXN1YWxpemF0aW9uc0Zyb21QcmVzZW50YXRpb25WYXJpYW50IiwicHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24iLCJ2aXN1YWxpemF0aW9uUGF0aCIsImNvbnZlcnRlckNvbnRleHQiLCJpc01hY3JvT3JNdWx0aXBsZVZpZXciLCJ2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnMiLCJpc0FMUCIsImlzQWxwQW5ub3RhdGlvbiIsImJhc2VWaXN1YWxpemF0aW9uUGF0aCIsInNwbGl0IiwiaXNQcmVzZW50YXRpb25Db21wbGlhbnQiLCJhbm5vdGF0aW9uRXhpc3RzSW5QcmVzZW50YXRpb25WYXJpYW50IiwiZGVmYXVsdExpbmVJdGVtQW5ub3RhdGlvbiIsInByZXBhcmVEZWZhdWx0VmlzdWFsaXphdGlvbiIsInB1c2giLCJkZWZhdWx0Q2hhcnRBbm5vdGF0aW9uIiwidmlzdWFsaXphdGlvbnMiLCJWaXN1YWxpemF0aW9ucyIsInB1c2hGaXJzdFZpek9mVHlwZSIsImFsbG93ZWRUZXJtcyIsImZpcnN0Vml6IiwiZmluZCIsInZpeiIsImluZGV4T2YiLCIkdGFyZ2V0IiwidGVybSIsInZpc3VhbGl6YXRpb24iLCJhbm5vdGF0aW9uUGF0aCIsInZhbHVlIiwiZ2V0U2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCIsImVudGl0eVR5cGUiLCJyZXNvbHZlZFRhcmdldCIsImdldEVudGl0eVR5cGVBbm5vdGF0aW9uIiwic2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCIsImFubm90YXRpb24iLCJFcnJvciIsImFubm90YXRpb25zIiwiVUkiLCJTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50IiwiaXNTZWxlY3Rpb25QcmVzZW50YXRpb25Db21wbGlhbnQiLCJwcmVzZW50YXRpb25WYXJpYW50IiwiUHJlc2VudGF0aW9uVmFyaWFudCIsImhhc1RhYmxlIiwiaGFzQ2hhcnQiLCJmb3JFYWNoIiwiZ2V0RGVmYXVsdExpbmVJdGVtIiwiTGluZUl0ZW0iLCJnZXREZWZhdWx0Q2hhcnQiLCJDaGFydCIsImdldERlZmF1bHRQcmVzZW50YXRpb25WYXJpYW50IiwiZ2V0RGVmYXVsdFNlbGVjdGlvblZhcmlhbnQiLCJTZWxlY3Rpb25WYXJpYW50IiwiZ2V0U2VsZWN0aW9uVmFyaWFudCIsImdldE1hbmlmZXN0V3JhcHBlciIsImdldERlZmF1bHRUZW1wbGF0ZUFubm90YXRpb25QYXRoIiwic2VsZWN0aW9uVmFyaWFudCIsImdldERhdGFWaXN1YWxpemF0aW9uQ29uZmlndXJhdGlvbiIsImlzQ29uZGVuc2VkVGFibGVMYXlvdXRDb21wbGlhbnQiLCJpbkNvbnZlcnRlckNvbnRleHQiLCJ2aWV3Q29uZmlndXJhdGlvbiIsImRvTm90Q2hlY2tBcHBseVN1cHBvcnRlZCIsImFzc29jaWF0ZWRQcmVzZW50YXRpb25WYXJpYW50UGF0aCIsImlzSW5zaWdodHNFbmFibGVkIiwidW5kZWZpbmVkIiwicmVzb2x2ZWRBc3NvY2lhdGVkUHJlc2VudGF0aW9uVmFyaWFudCIsInJlc29sdmVkVmlzdWFsaXphdGlvbiIsInByZXNlbnRhdGlvblBhdGgiLCJjaGFydFZpc3VhbGl6YXRpb24iLCJ0YWJsZVZpc3VhbGl6YXRpb24iLCJjb25jYXQiLCJmdWxseVF1YWxpZmllZE5hbWUiLCJ2aXN1YWxpemF0aW9uQW5ub3RhdGlvbiIsImNyZWF0ZUNoYXJ0VmlzdWFsaXphdGlvbiIsIlRhYmxlIiwiY3JlYXRlVGFibGVWaXN1YWxpemF0aW9uIiwicGF0aCIsImNyZWF0ZURlZmF1bHRUYWJsZVZpc3VhbGl6YXRpb24iLCJnZXREaWFnbm9zdGljcyIsImFkZElzc3VlIiwiSXNzdWVDYXRlZ29yeSIsIkFubm90YXRpb24iLCJJc3N1ZVNldmVyaXR5IiwiTWVkaXVtIiwiSXNzdWVUeXBlIiwiTUlTU0lOR19MSU5FSVRFTSIsImNyZWF0ZUJsYW5rQ2hhcnRWaXN1YWxpemF0aW9uIiwiTUlTU0lOR19DSEFSVCIsImdldEVudGl0eVNldEJhc2VkQW5ub3RhdGlvblBhdGgiLCJnZXRVaUNvbnRyb2wiLCJwcmVzZW50YXRpb25Db250ZXh0IiwiY29udHJvbFBhdGgiLCJDb21tb25IZWxwZXIiLCJ2YWxpZGF0ZVByZXNlbnRhdGlvbk1ldGFQYXRoIiwiZ2V0UGF0aCIsInByZXNlbnRhdGlvbiIsIk1ldGFNb2RlbENvbnZlcnRlciIsImNvbnZlcnRNZXRhTW9kZWxDb250ZXh0IiwicHJlc2VudGF0aW9uVmFyaWFudFBhdGgiLCJjcmVhdGVQcmVzZW50YXRpb25QYXRoQ29udGV4dCIsIm1vZGVsIiwiZ2V0TW9kZWwiLCJfaXNQcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbiIsIkFycmF5IiwiaXNBcnJheSIsInR5cGUiLCJnZXRNZXRhQ29udGV4dCIsImdldE9iamVjdCIsImFubm90YXRpb25UZXJtIiwic29tZSIsInZpc3VhbGl6YXRpb25UeXBlIiwiZ2V0RW50aXR5VHlwZSIsImRlZmF1bHRBbm5vdGF0aW9uIiwiZ2V0UmVsYXRpdmVBbm5vdGF0aW9uUGF0aCIsImhhc011bHRpcGxlVmlzdWFsaXphdGlvbnMiLCJnZXRUZW1wbGF0ZVR5cGUiLCJUZW1wbGF0ZVR5cGUiLCJBbmFseXRpY2FsTGlzdFBhZ2UiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkRhdGFWaXN1YWxpemF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5VHlwZSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IHR5cGUge1xuXHRDaGFydCxcblx0TGluZUl0ZW0sXG5cdFByZXNlbnRhdGlvblZhcmlhbnQsXG5cdFByZXNlbnRhdGlvblZhcmlhbnRUeXBlLFxuXHRTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50LFxuXHRTZWxlY3Rpb25WYXJpYW50LFxuXHRTZWxlY3Rpb25WYXJpYW50VHlwZVxufSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1VJXCI7XG5pbXBvcnQgeyBVSUFubm90YXRpb25UZXJtcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCB7IElzc3VlQ2F0ZWdvcnksIElzc3VlU2V2ZXJpdHksIElzc3VlVHlwZSB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2hlbHBlcnMvSXNzdWVNYW5hZ2VyXCI7XG5pbXBvcnQgKiBhcyBNZXRhTW9kZWxDb252ZXJ0ZXIgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5pbXBvcnQgQ29tbW9uSGVscGVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL0NvbW1vbkhlbHBlclwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcbmltcG9ydCB0eXBlIE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcbmltcG9ydCB0eXBlIENvbnZlcnRlckNvbnRleHQgZnJvbSBcIi4uLy4uL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB0eXBlIHsgVmlld1BhdGhDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4uLy4uL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCB7IFRlbXBsYXRlVHlwZSB9IGZyb20gXCIuLi8uLi9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgdHlwZSB7IENoYXJ0VmlzdWFsaXphdGlvbiB9IGZyb20gXCIuL0NoYXJ0XCI7XG5pbXBvcnQgeyBjcmVhdGVCbGFua0NoYXJ0VmlzdWFsaXphdGlvbiwgY3JlYXRlQ2hhcnRWaXN1YWxpemF0aW9uIH0gZnJvbSBcIi4vQ2hhcnRcIjtcbmltcG9ydCB0eXBlIHsgVGFibGVWaXN1YWxpemF0aW9uIH0gZnJvbSBcIi4vVGFibGVcIjtcbmltcG9ydCBUYWJsZSBmcm9tIFwiLi9UYWJsZVwiO1xuZXhwb3J0IHR5cGUgRGF0YVZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucyA9IExpbmVJdGVtIHwgQ2hhcnQgfCBQcmVzZW50YXRpb25WYXJpYW50IHwgU2VsZWN0aW9uVmFyaWFudCB8IFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5leHBvcnQgdHlwZSBBY3R1YWxWaXN1YWxpemF0aW9uQW5ub3RhdGlvbnMgPSBMaW5lSXRlbSB8IENoYXJ0O1xuZXhwb3J0IHR5cGUgUHJlc2VudGF0aW9uVmlzdWFsaXphdGlvbkFubm90YXRpb25zID0gVUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW0gfCBVSUFubm90YXRpb25UZXJtcy5DaGFydDtcbmV4cG9ydCB0eXBlIFZpc3VhbGl6YXRpb25BbmRQYXRoID0ge1xuXHR2aXN1YWxpemF0aW9uOiBBY3R1YWxWaXN1YWxpemF0aW9uQW5ub3RhdGlvbnM7XG5cdGFubm90YXRpb25QYXRoOiBzdHJpbmc7XG5cdHNlbGVjdGlvblZhcmlhbnRQYXRoPzogc3RyaW5nO1xuXHRjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0O1xufTtcbmV4cG9ydCB0eXBlIERhdGFWaXN1YWxpemF0aW9uRGVmaW5pdGlvbiA9IHtcblx0dmlzdWFsaXphdGlvbnM6IChUYWJsZVZpc3VhbGl6YXRpb24gfCBDaGFydFZpc3VhbGl6YXRpb24pW107XG5cdGFubm90YXRpb25QYXRoOiBzdHJpbmc7XG59O1xuZXhwb3J0IGNvbnN0IGdldFZpc3VhbGl6YXRpb25zRnJvbVByZXNlbnRhdGlvblZhcmlhbnQgPSBmdW5jdGlvbiAoXG5cdHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uOiBQcmVzZW50YXRpb25WYXJpYW50VHlwZSxcblx0dmlzdWFsaXphdGlvblBhdGg6IHN0cmluZyxcblx0Y29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCxcblx0aXNNYWNyb09yTXVsdGlwbGVWaWV3PzogYm9vbGVhblxuKTogVmlzdWFsaXphdGlvbkFuZFBhdGhbXSB7XG5cdGNvbnN0IHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9uczogVmlzdWFsaXphdGlvbkFuZFBhdGhbXSA9IFtdO1xuXHRjb25zdCBpc0FMUCA9IGlzQWxwQW5ub3RhdGlvbihjb252ZXJ0ZXJDb250ZXh0KTtcblx0Y29uc3QgYmFzZVZpc3VhbGl6YXRpb25QYXRoID0gdmlzdWFsaXphdGlvblBhdGguc3BsaXQoXCJAXCIpWzBdO1xuXHRpZiAoKGlzTWFjcm9Pck11bHRpcGxlVmlldyA9PT0gdHJ1ZSB8fCBpc0FMUCkgJiYgIWlzUHJlc2VudGF0aW9uQ29tcGxpYW50KHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uLCBpc0FMUCkpIHtcblx0XHRpZiAoIWFubm90YXRpb25FeGlzdHNJblByZXNlbnRhdGlvblZhcmlhbnQocHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24sIFVJQW5ub3RhdGlvblRlcm1zLkxpbmVJdGVtKSkge1xuXHRcdFx0Y29uc3QgZGVmYXVsdExpbmVJdGVtQW5ub3RhdGlvbiA9IHByZXBhcmVEZWZhdWx0VmlzdWFsaXphdGlvbihcblx0XHRcdFx0VUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW0sXG5cdFx0XHRcdGJhc2VWaXN1YWxpemF0aW9uUGF0aCxcblx0XHRcdFx0Y29udmVydGVyQ29udGV4dFxuXHRcdFx0KTtcblx0XHRcdGlmIChkZWZhdWx0TGluZUl0ZW1Bbm5vdGF0aW9uKSB7XG5cdFx0XHRcdHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucy5wdXNoKGRlZmF1bHRMaW5lSXRlbUFubm90YXRpb24pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAoIWFubm90YXRpb25FeGlzdHNJblByZXNlbnRhdGlvblZhcmlhbnQocHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24sIFVJQW5ub3RhdGlvblRlcm1zLkNoYXJ0KSkge1xuXHRcdFx0Y29uc3QgZGVmYXVsdENoYXJ0QW5ub3RhdGlvbiA9IHByZXBhcmVEZWZhdWx0VmlzdWFsaXphdGlvbihVSUFubm90YXRpb25UZXJtcy5DaGFydCwgYmFzZVZpc3VhbGl6YXRpb25QYXRoLCBjb252ZXJ0ZXJDb250ZXh0KTtcblx0XHRcdGlmIChkZWZhdWx0Q2hhcnRBbm5vdGF0aW9uKSB7XG5cdFx0XHRcdHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucy5wdXNoKGRlZmF1bHRDaGFydEFubm90YXRpb24pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRjb25zdCB2aXN1YWxpemF0aW9ucyA9IHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uLlZpc3VhbGl6YXRpb25zO1xuXHRjb25zdCBwdXNoRmlyc3RWaXpPZlR5cGUgPSBmdW5jdGlvbiAoYWxsb3dlZFRlcm1zOiBzdHJpbmdbXSkge1xuXHRcdGNvbnN0IGZpcnN0Vml6ID0gdmlzdWFsaXphdGlvbnM/LmZpbmQoKHZpeikgPT4ge1xuXHRcdFx0cmV0dXJuIGFsbG93ZWRUZXJtcy5pbmRleE9mKHZpei4kdGFyZ2V0Py50ZXJtKSA+PSAwO1xuXHRcdH0pO1xuXHRcdGlmIChmaXJzdFZpeikge1xuXHRcdFx0dmlzdWFsaXphdGlvbkFubm90YXRpb25zLnB1c2goe1xuXHRcdFx0XHR2aXN1YWxpemF0aW9uOiBmaXJzdFZpei4kdGFyZ2V0IGFzIEFjdHVhbFZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucyxcblx0XHRcdFx0YW5ub3RhdGlvblBhdGg6IGAke2Jhc2VWaXN1YWxpemF0aW9uUGF0aH0ke2ZpcnN0Vml6LnZhbHVlfWAsXG5cdFx0XHRcdGNvbnZlcnRlckNvbnRleHQ6IGNvbnZlcnRlckNvbnRleHRcblx0XHRcdH0pO1xuXHRcdH1cblx0fTtcblx0aWYgKGlzQUxQKSB7XG5cdFx0Ly8gSW4gY2FzZSBvZiBBTFAsIHdlIHVzZSB0aGUgZmlyc3QgTGluZUl0ZW0gYW5kIHRoZSBmaXJzdCBDaGFydFxuXHRcdHB1c2hGaXJzdFZpek9mVHlwZShbVUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW1dKTtcblx0XHRwdXNoRmlyc3RWaXpPZlR5cGUoW1VJQW5ub3RhdGlvblRlcm1zLkNoYXJ0XSk7XG5cdH0gZWxzZSB7XG5cdFx0Ly8gT3RoZXJ3aXNlLCB3ZSB1c2UgdGhlIGZpcnN0IHZpeiBvbmx5IChDaGFydCBvciBMaW5lSXRlbSlcblx0XHRwdXNoRmlyc3RWaXpPZlR5cGUoW1VJQW5ub3RhdGlvblRlcm1zLkxpbmVJdGVtLCBVSUFubm90YXRpb25UZXJtcy5DaGFydF0pO1xuXHR9XG5cdHJldHVybiB2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnM7XG59O1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQoXG5cdGVudGl0eVR5cGU6IEVudGl0eVR5cGUsXG5cdGFubm90YXRpb25QYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cdGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHRcbik6IFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQgfCB1bmRlZmluZWQge1xuXHRpZiAoYW5ub3RhdGlvblBhdGgpIHtcblx0XHRjb25zdCByZXNvbHZlZFRhcmdldCA9IGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZUFubm90YXRpb24oYW5ub3RhdGlvblBhdGgpO1xuXHRcdGNvbnN0IHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQgPSByZXNvbHZlZFRhcmdldC5hbm5vdGF0aW9uIGFzIFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdFx0aWYgKHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQpIHtcblx0XHRcdGlmIChzZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50LnRlcm0gPT09IFVJQW5ub3RhdGlvblRlcm1zLlNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQpIHtcblx0XHRcdFx0cmV0dXJuIHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIkFubm90YXRpb24gUGF0aCBmb3IgdGhlIFNQViBtZW50aW9uZWQgaW4gdGhlIG1hbmlmZXN0IGlzIG5vdCBmb3VuZCwgUGxlYXNlIGFkZCB0aGUgU1BWIGluIHRoZSBhbm5vdGF0aW9uXCIpO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gZW50aXR5VHlwZS5hbm5vdGF0aW9ucz8uVUk/LlNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1NlbGVjdGlvblByZXNlbnRhdGlvbkNvbXBsaWFudChcblx0c2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudDogU2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCxcblx0aXNBTFA6IGJvb2xlYW5cbik6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuXHRjb25zdCBwcmVzZW50YXRpb25WYXJpYW50ID0gc2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCAmJiBzZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50LlByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdGlmIChwcmVzZW50YXRpb25WYXJpYW50KSB7XG5cdFx0cmV0dXJuIGlzUHJlc2VudGF0aW9uQ29tcGxpYW50KHByZXNlbnRhdGlvblZhcmlhbnQsIGlzQUxQKTtcblx0fSBlbHNlIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJQcmVzZW50YXRpb24gVmFyaWFudCBpcyBub3QgcHJlc2VudCBpbiB0aGUgU1BWIGFubm90YXRpb25cIik7XG5cdH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1ByZXNlbnRhdGlvbkNvbXBsaWFudChwcmVzZW50YXRpb25WYXJpYW50OiBQcmVzZW50YXRpb25WYXJpYW50VHlwZSwgaXNBTFAgPSBmYWxzZSk6IGJvb2xlYW4ge1xuXHRsZXQgaGFzVGFibGUgPSBmYWxzZSxcblx0XHRoYXNDaGFydCA9IGZhbHNlO1xuXHRpZiAoaXNBTFApIHtcblx0XHRpZiAocHJlc2VudGF0aW9uVmFyaWFudD8uVmlzdWFsaXphdGlvbnMpIHtcblx0XHRcdGNvbnN0IHZpc3VhbGl6YXRpb25zID0gcHJlc2VudGF0aW9uVmFyaWFudC5WaXN1YWxpemF0aW9ucztcblx0XHRcdHZpc3VhbGl6YXRpb25zLmZvckVhY2goKHZpc3VhbGl6YXRpb24pID0+IHtcblx0XHRcdFx0aWYgKHZpc3VhbGl6YXRpb24uJHRhcmdldD8udGVybSA9PT0gVUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW0pIHtcblx0XHRcdFx0XHRoYXNUYWJsZSA9IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHZpc3VhbGl6YXRpb24uJHRhcmdldD8udGVybSA9PT0gVUlBbm5vdGF0aW9uVGVybXMuQ2hhcnQpIHtcblx0XHRcdFx0XHRoYXNDaGFydCA9IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblx0XHRyZXR1cm4gaGFzQ2hhcnQgJiYgaGFzVGFibGU7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdHByZXNlbnRhdGlvblZhcmlhbnQ/LlZpc3VhbGl6YXRpb25zICYmXG5cdFx0XHQhIXByZXNlbnRhdGlvblZhcmlhbnQuVmlzdWFsaXphdGlvbnMuZmluZCgodmlzdWFsaXphdGlvbikgPT4ge1xuXHRcdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRcdHZpc3VhbGl6YXRpb24uJHRhcmdldD8udGVybSA9PT0gVUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW0gfHwgdmlzdWFsaXphdGlvbi4kdGFyZ2V0Py50ZXJtID09PSBVSUFubm90YXRpb25UZXJtcy5DaGFydFxuXHRcdFx0XHQpO1xuXHRcdFx0fSlcblx0XHQpO1xuXHR9XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdExpbmVJdGVtKGVudGl0eVR5cGU6IEVudGl0eVR5cGUpOiBMaW5lSXRlbSB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBlbnRpdHlUeXBlLmFubm90YXRpb25zLlVJPy5MaW5lSXRlbTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0Q2hhcnQoZW50aXR5VHlwZTogRW50aXR5VHlwZSk6IENoYXJ0IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGVudGl0eVR5cGUuYW5ub3RhdGlvbnMuVUk/LkNoYXJ0O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRQcmVzZW50YXRpb25WYXJpYW50KGVudGl0eVR5cGU6IEVudGl0eVR5cGUpOiBQcmVzZW50YXRpb25WYXJpYW50IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGVudGl0eVR5cGUuYW5ub3RhdGlvbnM/LlVJPy5QcmVzZW50YXRpb25WYXJpYW50O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRTZWxlY3Rpb25WYXJpYW50KGVudGl0eVR5cGU6IEVudGl0eVR5cGUpOiBTZWxlY3Rpb25WYXJpYW50IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGVudGl0eVR5cGUuYW5ub3RhdGlvbnM/LlVJPy5TZWxlY3Rpb25WYXJpYW50O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlbGVjdGlvblZhcmlhbnQoZW50aXR5VHlwZTogRW50aXR5VHlwZSwgY29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCk6IFNlbGVjdGlvblZhcmlhbnRUeXBlIHwgdW5kZWZpbmVkIHtcblx0Y29uc3QgYW5ub3RhdGlvblBhdGggPSBjb252ZXJ0ZXJDb250ZXh0LmdldE1hbmlmZXN0V3JhcHBlcigpLmdldERlZmF1bHRUZW1wbGF0ZUFubm90YXRpb25QYXRoKCk7XG5cdGNvbnN0IHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQgPSBnZXRTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50KGVudGl0eVR5cGUsIGFubm90YXRpb25QYXRoLCBjb252ZXJ0ZXJDb250ZXh0KTtcblx0bGV0IHNlbGVjdGlvblZhcmlhbnQ7XG5cdGlmIChzZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50KSB7XG5cdFx0c2VsZWN0aW9uVmFyaWFudCA9IHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQuU2VsZWN0aW9uVmFyaWFudCBhcyBTZWxlY3Rpb25WYXJpYW50O1xuXHRcdGlmIChzZWxlY3Rpb25WYXJpYW50KSB7XG5cdFx0XHRyZXR1cm4gc2VsZWN0aW9uVmFyaWFudDtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0c2VsZWN0aW9uVmFyaWFudCA9IGdldERlZmF1bHRTZWxlY3Rpb25WYXJpYW50KGVudGl0eVR5cGUpO1xuXHRcdHJldHVybiBzZWxlY3Rpb25WYXJpYW50O1xuXHR9XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF0YVZpc3VhbGl6YXRpb25Db25maWd1cmF0aW9uKFxuXHR2aXN1YWxpemF0aW9uUGF0aDogc3RyaW5nLFxuXHRpc0NvbmRlbnNlZFRhYmxlTGF5b3V0Q29tcGxpYW50OiBib29sZWFuIHwgdW5kZWZpbmVkLFxuXHRpbkNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQsXG5cdHZpZXdDb25maWd1cmF0aW9uPzogVmlld1BhdGhDb25maWd1cmF0aW9uLFxuXHRkb05vdENoZWNrQXBwbHlTdXBwb3J0ZWQ/OiBib29sZWFuIHwgdW5kZWZpbmVkLFxuXHRhc3NvY2lhdGVkUHJlc2VudGF0aW9uVmFyaWFudFBhdGg/OiBzdHJpbmcsXG5cdGlzTWFjcm9Pck11bHRpcGxlVmlldz86IGJvb2xlYW4sXG5cdGlzSW5zaWdodHNFbmFibGVkPzogYm9vbGVhblxuKTogRGF0YVZpc3VhbGl6YXRpb25EZWZpbml0aW9uIHtcblx0Y29uc3QgcmVzb2x2ZWRUYXJnZXQgPVxuXHRcdHZpc3VhbGl6YXRpb25QYXRoICE9PSBcIlwiXG5cdFx0XHQ/IGluQ29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlQW5ub3RhdGlvbih2aXN1YWxpemF0aW9uUGF0aClcblx0XHRcdDogeyBhbm5vdGF0aW9uOiB1bmRlZmluZWQsIGNvbnZlcnRlckNvbnRleHQ6IGluQ29udmVydGVyQ29udGV4dCB9O1xuXHRjb25zdCByZXNvbHZlZEFzc29jaWF0ZWRQcmVzZW50YXRpb25WYXJpYW50ID0gYXNzb2NpYXRlZFByZXNlbnRhdGlvblZhcmlhbnRQYXRoXG5cdFx0PyBpbkNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZUFubm90YXRpb24oYXNzb2NpYXRlZFByZXNlbnRhdGlvblZhcmlhbnRQYXRoKVxuXHRcdDogbnVsbDtcblx0Y29uc3QgcmVzb2x2ZWRWaXN1YWxpemF0aW9uID0gcmVzb2x2ZWRUYXJnZXQuYW5ub3RhdGlvbiBhcyBEYXRhVmlzdWFsaXphdGlvbkFubm90YXRpb25zO1xuXHRpbkNvbnZlcnRlckNvbnRleHQgPSByZXNvbHZlZFRhcmdldC5jb252ZXJ0ZXJDb250ZXh0O1xuXHRsZXQgdmlzdWFsaXphdGlvbkFubm90YXRpb25zOiBWaXN1YWxpemF0aW9uQW5kUGF0aFtdID0gW107XG5cdGxldCBwcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbjogUHJlc2VudGF0aW9uVmFyaWFudFR5cGU7XG5cdGxldCBwcmVzZW50YXRpb25QYXRoID0gXCJcIjtcblx0bGV0IGNoYXJ0VmlzdWFsaXphdGlvbiwgdGFibGVWaXN1YWxpemF0aW9uO1xuXHRjb25zdCB0ZXJtID0gcmVzb2x2ZWRWaXN1YWxpemF0aW9uPy50ZXJtO1xuXHRpZiAodGVybSkge1xuXHRcdHN3aXRjaCAodGVybSkge1xuXHRcdFx0Y2FzZSBVSUFubm90YXRpb25UZXJtcy5MaW5lSXRlbTpcblx0XHRcdGNhc2UgVUlBbm5vdGF0aW9uVGVybXMuQ2hhcnQ6XG5cdFx0XHRcdHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uID0gcmVzb2x2ZWRBc3NvY2lhdGVkUHJlc2VudGF0aW9uVmFyaWFudD8uYW5ub3RhdGlvbjtcblx0XHRcdFx0dmlzdWFsaXphdGlvbkFubm90YXRpb25zLnB1c2goe1xuXHRcdFx0XHRcdHZpc3VhbGl6YXRpb246IHJlc29sdmVkVmlzdWFsaXphdGlvbiBhcyBBY3R1YWxWaXN1YWxpemF0aW9uQW5ub3RhdGlvbnMsXG5cdFx0XHRcdFx0YW5ub3RhdGlvblBhdGg6IHZpc3VhbGl6YXRpb25QYXRoLFxuXHRcdFx0XHRcdGNvbnZlcnRlckNvbnRleHQ6IGluQ29udmVydGVyQ29udGV4dFxuXHRcdFx0XHR9KTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFVJQW5ub3RhdGlvblRlcm1zLlByZXNlbnRhdGlvblZhcmlhbnQ6XG5cdFx0XHRcdHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uID0gcmVzb2x2ZWRWaXN1YWxpemF0aW9uO1xuXHRcdFx0XHR2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnMgPSB2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnMuY29uY2F0KFxuXHRcdFx0XHRcdGdldFZpc3VhbGl6YXRpb25zRnJvbVByZXNlbnRhdGlvblZhcmlhbnQoXG5cdFx0XHRcdFx0XHRyZXNvbHZlZFZpc3VhbGl6YXRpb24sXG5cdFx0XHRcdFx0XHR2aXN1YWxpemF0aW9uUGF0aCxcblx0XHRcdFx0XHRcdGluQ29udmVydGVyQ29udGV4dCxcblx0XHRcdFx0XHRcdGlzTWFjcm9Pck11bHRpcGxlVmlld1xuXHRcdFx0XHRcdClcblx0XHRcdFx0KTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFVJQW5ub3RhdGlvblRlcm1zLlNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ6XG5cdFx0XHRcdHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uID0gcmVzb2x2ZWRWaXN1YWxpemF0aW9uLlByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdFx0XHRcdC8vIFByZXNlbnRhdGlvbiBjYW4gYmUgaW5saW5lIG9yIG91dHNpZGUgdGhlIFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnRcblx0XHRcdFx0cHJlc2VudGF0aW9uUGF0aCA9IHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uLmZ1bGx5UXVhbGlmaWVkTmFtZTtcblx0XHRcdFx0dmlzdWFsaXphdGlvbkFubm90YXRpb25zID0gdmlzdWFsaXphdGlvbkFubm90YXRpb25zLmNvbmNhdChcblx0XHRcdFx0XHRnZXRWaXN1YWxpemF0aW9uc0Zyb21QcmVzZW50YXRpb25WYXJpYW50KFxuXHRcdFx0XHRcdFx0cHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24sXG5cdFx0XHRcdFx0XHR2aXN1YWxpemF0aW9uUGF0aCxcblx0XHRcdFx0XHRcdGluQ29udmVydGVyQ29udGV4dCxcblx0XHRcdFx0XHRcdGlzTWFjcm9Pck11bHRpcGxlVmlld1xuXHRcdFx0XHRcdClcblx0XHRcdFx0KTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cdFx0dmlzdWFsaXphdGlvbkFubm90YXRpb25zLmZvckVhY2goKHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9uKSA9PiB7XG5cdFx0XHRjb25zdCB7IHZpc3VhbGl6YXRpb24sIGFubm90YXRpb25QYXRoLCBjb252ZXJ0ZXJDb250ZXh0IH0gPSB2aXN1YWxpemF0aW9uQW5ub3RhdGlvbjtcblx0XHRcdHN3aXRjaCAodmlzdWFsaXphdGlvbi50ZXJtKSB7XG5cdFx0XHRcdGNhc2UgVUlBbm5vdGF0aW9uVGVybXMuQ2hhcnQ6XG5cdFx0XHRcdFx0Y2hhcnRWaXN1YWxpemF0aW9uID0gY3JlYXRlQ2hhcnRWaXN1YWxpemF0aW9uKFxuXHRcdFx0XHRcdFx0dmlzdWFsaXphdGlvbixcblx0XHRcdFx0XHRcdGFubm90YXRpb25QYXRoLFxuXHRcdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dCxcblx0XHRcdFx0XHRcdGRvTm90Q2hlY2tBcHBseVN1cHBvcnRlZCxcblx0XHRcdFx0XHRcdHZpZXdDb25maWd1cmF0aW9uLFxuXHRcdFx0XHRcdFx0aXNJbnNpZ2h0c0VuYWJsZWRcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRjYXNlIFVJQW5ub3RhdGlvblRlcm1zLkxpbmVJdGVtOlxuXHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdHRhYmxlVmlzdWFsaXphdGlvbiA9IFRhYmxlLmNyZWF0ZVRhYmxlVmlzdWFsaXphdGlvbihcblx0XHRcdFx0XHRcdHZpc3VhbGl6YXRpb24sXG5cdFx0XHRcdFx0XHRhbm5vdGF0aW9uUGF0aCxcblx0XHRcdFx0XHRcdGNvbnZlcnRlckNvbnRleHQsXG5cdFx0XHRcdFx0XHRwcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbixcblx0XHRcdFx0XHRcdGlzQ29uZGVuc2VkVGFibGVMYXlvdXRDb21wbGlhbnQsXG5cdFx0XHRcdFx0XHR2aWV3Q29uZmlndXJhdGlvbixcblx0XHRcdFx0XHRcdGlzSW5zaWdodHNFbmFibGVkXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXHRjb25zdCB2aXN1YWxpemF0aW9uczogYW55ID0gW107XG5cdGxldCBwYXRoID0gdGVybSA9PT0gVUlBbm5vdGF0aW9uVGVybXMuU2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCA/IHByZXNlbnRhdGlvblBhdGggOiByZXNvbHZlZFZpc3VhbGl6YXRpb24/LmZ1bGx5UXVhbGlmaWVkTmFtZTtcblx0aWYgKHBhdGggPT09IHVuZGVmaW5lZCkge1xuXHRcdHBhdGggPSBcIi9cIjtcblx0fVxuXHRjb25zdCBpc0FMUCA9IGlzQWxwQW5ub3RhdGlvbihpbkNvbnZlcnRlckNvbnRleHQpO1xuXHRpZiAoIXRlcm0gfHwgKGlzQUxQICYmIHRhYmxlVmlzdWFsaXphdGlvbiA9PT0gdW5kZWZpbmVkKSkge1xuXHRcdHRhYmxlVmlzdWFsaXphdGlvbiA9IFRhYmxlLmNyZWF0ZURlZmF1bHRUYWJsZVZpc3VhbGl6YXRpb24oaW5Db252ZXJ0ZXJDb250ZXh0LCBpc01hY3JvT3JNdWx0aXBsZVZpZXcgIT09IHRydWUpO1xuXHRcdGluQ29udmVydGVyQ29udGV4dC5nZXREaWFnbm9zdGljcygpLmFkZElzc3VlKElzc3VlQ2F0ZWdvcnkuQW5ub3RhdGlvbiwgSXNzdWVTZXZlcml0eS5NZWRpdW0sIElzc3VlVHlwZS5NSVNTSU5HX0xJTkVJVEVNKTtcblx0fVxuXHRpZiAoaXNBTFAgJiYgY2hhcnRWaXN1YWxpemF0aW9uID09PSB1bmRlZmluZWQpIHtcblx0XHRjaGFydFZpc3VhbGl6YXRpb24gPSBjcmVhdGVCbGFua0NoYXJ0VmlzdWFsaXphdGlvbihpbkNvbnZlcnRlckNvbnRleHQpO1xuXHRcdGluQ29udmVydGVyQ29udGV4dC5nZXREaWFnbm9zdGljcygpLmFkZElzc3VlKElzc3VlQ2F0ZWdvcnkuQW5ub3RhdGlvbiwgSXNzdWVTZXZlcml0eS5NZWRpdW0sIElzc3VlVHlwZS5NSVNTSU5HX0NIQVJUKTtcblx0fVxuXHRpZiAoY2hhcnRWaXN1YWxpemF0aW9uKSB7XG5cdFx0dmlzdWFsaXphdGlvbnMucHVzaChjaGFydFZpc3VhbGl6YXRpb24pO1xuXHR9XG5cdGlmICh0YWJsZVZpc3VhbGl6YXRpb24pIHtcblx0XHR2aXN1YWxpemF0aW9ucy5wdXNoKHRhYmxlVmlzdWFsaXphdGlvbik7XG5cdH1cblx0cmV0dXJuIHtcblx0XHR2aXN1YWxpemF0aW9uczogdmlzdWFsaXphdGlvbnMsXG5cdFx0YW5ub3RhdGlvblBhdGg6IGluQ29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlTZXRCYXNlZEFubm90YXRpb25QYXRoKHBhdGgpXG5cdH07XG59XG4vKipcbiAqIFJldHVybnMgdGhlIGNvbnRleHQgb2YgdGhlIFVJIGNvbnRyb2xzIChlaXRoZXIgYSBVSS5MaW5lSXRlbSwgb3IgYSBVSS5DaGFydCkuXG4gKlxuICogQGZ1bmN0aW9uXG4gKiBAbmFtZSBnZXRVaUNvbnRyb2xcbiAqIEBwYXJhbSBwcmVzZW50YXRpb25Db250ZXh0IE9iamVjdCBvZiB0aGUgcHJlc2VudGF0aW9uIGNvbnRleHQgKGVpdGhlciBhIHByZXNlbnRhdGlvbiB2YXJpYW50LCBvciBhIFVJLkxpbmVJdGVtLCBvciBhIFVJLkNoYXJ0KVxuICogQHBhcmFtIGNvbnRyb2xQYXRoIENvbnRyb2wgcGF0aFxuICogQHJldHVybnMgVGhlIGNvbnRleHQgb2YgdGhlIGNvbnRyb2wgKGVpdGhlciBhIFVJLkxpbmVJdGVtLCBvciBhIFVJLkNoYXJ0KVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VWlDb250cm9sKHByZXNlbnRhdGlvbkNvbnRleHQ6IENvbnRleHQsIGNvbnRyb2xQYXRoOiBzdHJpbmcpOiBDb250ZXh0IHtcblx0Q29tbW9uSGVscGVyLnZhbGlkYXRlUHJlc2VudGF0aW9uTWV0YVBhdGgocHJlc2VudGF0aW9uQ29udGV4dC5nZXRQYXRoKCksIGNvbnRyb2xQYXRoKTtcblx0Y29uc3QgcHJlc2VudGF0aW9uID0gTWV0YU1vZGVsQ29udmVydGVyLmNvbnZlcnRNZXRhTW9kZWxDb250ZXh0KHByZXNlbnRhdGlvbkNvbnRleHQpLFxuXHRcdHByZXNlbnRhdGlvblZhcmlhbnRQYXRoID0gQ29tbW9uSGVscGVyLmNyZWF0ZVByZXNlbnRhdGlvblBhdGhDb250ZXh0KHByZXNlbnRhdGlvbkNvbnRleHQpLFxuXHRcdG1vZGVsID0gcHJlc2VudGF0aW9uQ29udGV4dC5nZXRNb2RlbCgpIGFzIE9EYXRhTWV0YU1vZGVsO1xuXHRpZiAocHJlc2VudGF0aW9uKSB7XG5cdFx0aWYgKENvbW1vbkhlbHBlci5faXNQcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbihwcmVzZW50YXRpb25WYXJpYW50UGF0aC5nZXRQYXRoKCkpKSB7XG5cdFx0XHRjb25zdCB2aXN1YWxpemF0aW9ucyA9IHByZXNlbnRhdGlvbi5QcmVzZW50YXRpb25WYXJpYW50XG5cdFx0XHRcdD8gcHJlc2VudGF0aW9uLlByZXNlbnRhdGlvblZhcmlhbnQuVmlzdWFsaXphdGlvbnNcblx0XHRcdFx0OiBwcmVzZW50YXRpb24uVmlzdWFsaXphdGlvbnM7XG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheSh2aXN1YWxpemF0aW9ucykpIHtcblx0XHRcdFx0Zm9yIChjb25zdCB2aXN1YWxpemF0aW9uIG9mIHZpc3VhbGl6YXRpb25zKSB7XG5cdFx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdFx0dmlzdWFsaXphdGlvbi50eXBlID09IFwiQW5ub3RhdGlvblBhdGhcIiAmJlxuXHRcdFx0XHRcdFx0dmlzdWFsaXphdGlvbi52YWx1ZS5pbmRleE9mKGNvbnRyb2xQYXRoKSAhPT0gLTEgJiZcblx0XHRcdFx0XHRcdC8vIGNoZWNrIGlmIG9iamVjdCBleGlzdHMgZm9yIFByZXNlbnRhdGlvblZhcmlhbnQgdmlzdWFsaXphdGlvblxuXHRcdFx0XHRcdFx0ISFtb2RlbC5nZXRNZXRhQ29udGV4dChwcmVzZW50YXRpb25Db250ZXh0LmdldFBhdGgoKS5zcGxpdChcIkBcIilbMF0gKyB2aXN1YWxpemF0aW9uLnZhbHVlKS5nZXRPYmplY3QoKVxuXHRcdFx0XHRcdCkge1xuXHRcdFx0XHRcdFx0Y29udHJvbFBhdGggPSB2aXN1YWxpemF0aW9uLnZhbHVlO1xuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBwcmVzZW50YXRpb25Db250ZXh0O1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gbW9kZWwuZ2V0TWV0YUNvbnRleHQocHJlc2VudGF0aW9uQ29udGV4dC5nZXRQYXRoKCkuc3BsaXQoXCJAXCIpWzBdICsgY29udHJvbFBhdGgpO1xufVxuZXhwb3J0IGNvbnN0IGFubm90YXRpb25FeGlzdHNJblByZXNlbnRhdGlvblZhcmlhbnQgPSBmdW5jdGlvbiAoXG5cdHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uOiBQcmVzZW50YXRpb25WYXJpYW50VHlwZSxcblx0YW5ub3RhdGlvblRlcm06IFByZXNlbnRhdGlvblZpc3VhbGl6YXRpb25Bbm5vdGF0aW9uc1xuKTogYm9vbGVhbiB7XG5cdHJldHVybiBwcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbi5WaXN1YWxpemF0aW9ucz8uc29tZSgodmlzdWFsaXphdGlvbikgPT4gdmlzdWFsaXphdGlvbi52YWx1ZS5pbmRleE9mKGFubm90YXRpb25UZXJtKSA+IC0xKSA/PyBmYWxzZTtcbn07XG5leHBvcnQgY29uc3QgcHJlcGFyZURlZmF1bHRWaXN1YWxpemF0aW9uID0gZnVuY3Rpb24gKFxuXHR2aXN1YWxpemF0aW9uVHlwZTogUHJlc2VudGF0aW9uVmlzdWFsaXphdGlvbkFubm90YXRpb25zLFxuXHRiYXNlVmlzdWFsaXphdGlvblBhdGg6IHN0cmluZyxcblx0Y29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dFxuKTogVmlzdWFsaXphdGlvbkFuZFBhdGggfCB1bmRlZmluZWQge1xuXHRjb25zdCBlbnRpdHlUeXBlID0gY29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCk7XG5cdGNvbnN0IGRlZmF1bHRBbm5vdGF0aW9uID1cblx0XHR2aXN1YWxpemF0aW9uVHlwZSA9PT0gVUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW0gPyBnZXREZWZhdWx0TGluZUl0ZW0oZW50aXR5VHlwZSkgOiBnZXREZWZhdWx0Q2hhcnQoZW50aXR5VHlwZSk7XG5cdGlmIChkZWZhdWx0QW5ub3RhdGlvbikge1xuXHRcdHJldHVybiB7XG5cdFx0XHR2aXN1YWxpemF0aW9uOiBkZWZhdWx0QW5ub3RhdGlvbixcblx0XHRcdGFubm90YXRpb25QYXRoOiBgJHtiYXNlVmlzdWFsaXphdGlvblBhdGh9JHtjb252ZXJ0ZXJDb250ZXh0LmdldFJlbGF0aXZlQW5ub3RhdGlvblBhdGgoXG5cdFx0XHRcdGRlZmF1bHRBbm5vdGF0aW9uLmZ1bGx5UXVhbGlmaWVkTmFtZSxcblx0XHRcdFx0ZW50aXR5VHlwZVxuXHRcdFx0KX1gLFxuXHRcdFx0Y29udmVydGVyQ29udGV4dDogY29udmVydGVyQ29udGV4dFxuXHRcdH07XG5cdH1cblx0cmV0dXJuIHVuZGVmaW5lZDtcbn07XG5leHBvcnQgY29uc3QgaXNBbHBBbm5vdGF0aW9uID0gZnVuY3Rpb24gKGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQpOiBib29sZWFuIHtcblx0cmV0dXJuIChcblx0XHRjb252ZXJ0ZXJDb250ZXh0LmdldE1hbmlmZXN0V3JhcHBlcigpLmhhc011bHRpcGxlVmlzdWFsaXphdGlvbnMoKSB8fFxuXHRcdGNvbnZlcnRlckNvbnRleHQuZ2V0VGVtcGxhdGVUeXBlKCkgPT09IFRlbXBsYXRlVHlwZS5BbmFseXRpY2FsTGlzdFBhZ2Vcblx0KTtcbn07XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7O0VBb0NPLE1BQU1BLHdDQUF3QyxHQUFHLFVBQ3ZEQyw2QkFBc0QsRUFDdERDLGlCQUF5QixFQUN6QkMsZ0JBQWtDLEVBQ2xDQyxxQkFBK0IsRUFDTjtJQUN6QixNQUFNQyx3QkFBZ0QsR0FBRyxFQUFFO0lBQzNELE1BQU1DLEtBQUssR0FBR0MsZUFBZSxDQUFDSixnQkFBZ0IsQ0FBQztJQUMvQyxNQUFNSyxxQkFBcUIsR0FBR04saUJBQWlCLENBQUNPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0QsSUFBSSxDQUFDTCxxQkFBcUIsS0FBSyxJQUFJLElBQUlFLEtBQUssS0FBSyxDQUFDSSx1QkFBdUIsQ0FBQ1QsNkJBQTZCLEVBQUVLLEtBQUssQ0FBQyxFQUFFO01BQ2hILElBQUksQ0FBQ0sscUNBQXFDLENBQUNWLDZCQUE2Qix3Q0FBNkIsRUFBRTtRQUN0RyxNQUFNVyx5QkFBeUIsR0FBR0MsMkJBQTJCLHdDQUU1REwscUJBQXFCLEVBQ3JCTCxnQkFBZ0IsQ0FDaEI7UUFDRCxJQUFJUyx5QkFBeUIsRUFBRTtVQUM5QlAsd0JBQXdCLENBQUNTLElBQUksQ0FBQ0YseUJBQXlCLENBQUM7UUFDekQ7TUFDRDtNQUNBLElBQUksQ0FBQ0QscUNBQXFDLENBQUNWLDZCQUE2QixxQ0FBMEIsRUFBRTtRQUNuRyxNQUFNYyxzQkFBc0IsR0FBR0YsMkJBQTJCLHFDQUEwQkwscUJBQXFCLEVBQUVMLGdCQUFnQixDQUFDO1FBQzVILElBQUlZLHNCQUFzQixFQUFFO1VBQzNCVix3QkFBd0IsQ0FBQ1MsSUFBSSxDQUFDQyxzQkFBc0IsQ0FBQztRQUN0RDtNQUNEO0lBQ0Q7SUFDQSxNQUFNQyxjQUFjLEdBQUdmLDZCQUE2QixDQUFDZ0IsY0FBYztJQUNuRSxNQUFNQyxrQkFBa0IsR0FBRyxVQUFVQyxZQUFzQixFQUFFO01BQzVELE1BQU1DLFFBQVEsR0FBR0osY0FBYyxhQUFkQSxjQUFjLHVCQUFkQSxjQUFjLENBQUVLLElBQUksQ0FBRUMsR0FBRyxJQUFLO1FBQUE7UUFDOUMsT0FBT0gsWUFBWSxDQUFDSSxPQUFPLGlCQUFDRCxHQUFHLENBQUNFLE9BQU8saURBQVgsYUFBYUMsSUFBSSxDQUFDLElBQUksQ0FBQztNQUNwRCxDQUFDLENBQUM7TUFDRixJQUFJTCxRQUFRLEVBQUU7UUFDYmYsd0JBQXdCLENBQUNTLElBQUksQ0FBQztVQUM3QlksYUFBYSxFQUFFTixRQUFRLENBQUNJLE9BQXlDO1VBQ2pFRyxjQUFjLEVBQUcsR0FBRW5CLHFCQUFzQixHQUFFWSxRQUFRLENBQUNRLEtBQU0sRUFBQztVQUMzRHpCLGdCQUFnQixFQUFFQTtRQUNuQixDQUFDLENBQUM7TUFDSDtJQUNELENBQUM7SUFDRCxJQUFJRyxLQUFLLEVBQUU7TUFDVjtNQUNBWSxrQkFBa0IsQ0FBQyx1Q0FBNEIsQ0FBQztNQUNoREEsa0JBQWtCLENBQUMsb0NBQXlCLENBQUM7SUFDOUMsQ0FBQyxNQUFNO01BQ047TUFDQUEsa0JBQWtCLENBQUMsMkVBQXFELENBQUM7SUFDMUU7SUFDQSxPQUFPYix3QkFBd0I7RUFDaEMsQ0FBQztFQUFDO0VBQ0ssU0FBU3dCLCtCQUErQixDQUM5Q0MsVUFBc0IsRUFDdEJILGNBQWtDLEVBQ2xDeEIsZ0JBQWtDLEVBQ1M7SUFDM0MsSUFBSXdCLGNBQWMsRUFBRTtNQUNuQixNQUFNSSxjQUFjLEdBQUc1QixnQkFBZ0IsQ0FBQzZCLHVCQUF1QixDQUFDTCxjQUFjLENBQUM7TUFDL0UsTUFBTU0sNEJBQTRCLEdBQUdGLGNBQWMsQ0FBQ0csVUFBMEM7TUFDOUYsSUFBSUQsNEJBQTRCLEVBQUU7UUFDakMsSUFBSUEsNEJBQTRCLENBQUNSLElBQUksOERBQW1ELEVBQUU7VUFDekYsT0FBT1EsNEJBQTRCO1FBQ3BDO01BQ0QsQ0FBQyxNQUFNO1FBQ04sTUFBTSxJQUFJRSxLQUFLLENBQUMsMEdBQTBHLENBQUM7TUFDNUg7SUFDRCxDQUFDLE1BQU07TUFBQTtNQUNOLGdDQUFPTCxVQUFVLENBQUNNLFdBQVcsb0ZBQXRCLHNCQUF3QkMsRUFBRSwyREFBMUIsdUJBQTRCQyw0QkFBNEI7SUFDaEU7RUFDRDtFQUFDO0VBQ00sU0FBU0MsZ0NBQWdDLENBQy9DTiw0QkFBMEQsRUFDMUQzQixLQUFjLEVBQ1E7SUFDdEIsTUFBTWtDLG1CQUFtQixHQUFHUCw0QkFBNEIsSUFBSUEsNEJBQTRCLENBQUNRLG1CQUFtQjtJQUM1RyxJQUFJRCxtQkFBbUIsRUFBRTtNQUN4QixPQUFPOUIsdUJBQXVCLENBQUM4QixtQkFBbUIsRUFBRWxDLEtBQUssQ0FBQztJQUMzRCxDQUFDLE1BQU07TUFDTixNQUFNLElBQUk2QixLQUFLLENBQUMsMkRBQTJELENBQUM7SUFDN0U7RUFDRDtFQUFDO0VBQ00sU0FBU3pCLHVCQUF1QixDQUFDOEIsbUJBQTRDLEVBQTBCO0lBQUEsSUFBeEJsQyxLQUFLLHVFQUFHLEtBQUs7SUFDbEcsSUFBSW9DLFFBQVEsR0FBRyxLQUFLO01BQ25CQyxRQUFRLEdBQUcsS0FBSztJQUNqQixJQUFJckMsS0FBSyxFQUFFO01BQ1YsSUFBSWtDLG1CQUFtQixhQUFuQkEsbUJBQW1CLGVBQW5CQSxtQkFBbUIsQ0FBRXZCLGNBQWMsRUFBRTtRQUN4QyxNQUFNRCxjQUFjLEdBQUd3QixtQkFBbUIsQ0FBQ3ZCLGNBQWM7UUFDekRELGNBQWMsQ0FBQzRCLE9BQU8sQ0FBRWxCLGFBQWEsSUFBSztVQUFBO1VBQ3pDLElBQUksMEJBQUFBLGFBQWEsQ0FBQ0YsT0FBTywwREFBckIsc0JBQXVCQyxJQUFJLDJDQUErQixFQUFFO1lBQy9EaUIsUUFBUSxHQUFHLElBQUk7VUFDaEI7VUFDQSxJQUFJLDJCQUFBaEIsYUFBYSxDQUFDRixPQUFPLDJEQUFyQix1QkFBdUJDLElBQUksd0NBQTRCLEVBQUU7WUFDNURrQixRQUFRLEdBQUcsSUFBSTtVQUNoQjtRQUNELENBQUMsQ0FBQztNQUNIO01BQ0EsT0FBT0EsUUFBUSxJQUFJRCxRQUFRO0lBQzVCLENBQUMsTUFBTTtNQUNOLE9BQ0MsQ0FBQUYsbUJBQW1CLGFBQW5CQSxtQkFBbUIsdUJBQW5CQSxtQkFBbUIsQ0FBRXZCLGNBQWMsS0FDbkMsQ0FBQyxDQUFDdUIsbUJBQW1CLENBQUN2QixjQUFjLENBQUNJLElBQUksQ0FBRUssYUFBYSxJQUFLO1FBQUE7UUFDNUQsT0FDQywyQkFBQUEsYUFBYSxDQUFDRixPQUFPLDJEQUFyQix1QkFBdUJDLElBQUksMkNBQStCLElBQUksMkJBQUFDLGFBQWEsQ0FBQ0YsT0FBTywyREFBckIsdUJBQXVCQyxJQUFJLHdDQUE0QjtNQUV2SCxDQUFDLENBQUM7SUFFSjtFQUNEO0VBQUM7RUFDTSxTQUFTb0Isa0JBQWtCLENBQUNmLFVBQXNCLEVBQXdCO0lBQUE7SUFDaEYsaUNBQU9BLFVBQVUsQ0FBQ00sV0FBVyxDQUFDQyxFQUFFLDJEQUF6Qix1QkFBMkJTLFFBQVE7RUFDM0M7RUFBQztFQUNNLFNBQVNDLGVBQWUsQ0FBQ2pCLFVBQXNCLEVBQXFCO0lBQUE7SUFDMUUsaUNBQU9BLFVBQVUsQ0FBQ00sV0FBVyxDQUFDQyxFQUFFLDJEQUF6Qix1QkFBMkJXLEtBQUs7RUFDeEM7RUFBQztFQUNNLFNBQVNDLDZCQUE2QixDQUFDbkIsVUFBc0IsRUFBbUM7SUFBQTtJQUN0RyxpQ0FBT0EsVUFBVSxDQUFDTSxXQUFXLHFGQUF0Qix1QkFBd0JDLEVBQUUsMkRBQTFCLHVCQUE0QkksbUJBQW1CO0VBQ3ZEO0VBQUM7RUFDTSxTQUFTUywwQkFBMEIsQ0FBQ3BCLFVBQXNCLEVBQWdDO0lBQUE7SUFDaEcsaUNBQU9BLFVBQVUsQ0FBQ00sV0FBVyxxRkFBdEIsdUJBQXdCQyxFQUFFLDJEQUExQix1QkFBNEJjLGdCQUFnQjtFQUNwRDtFQUFDO0VBQ00sU0FBU0MsbUJBQW1CLENBQUN0QixVQUFzQixFQUFFM0IsZ0JBQWtDLEVBQW9DO0lBQ2pJLE1BQU13QixjQUFjLEdBQUd4QixnQkFBZ0IsQ0FBQ2tELGtCQUFrQixFQUFFLENBQUNDLGdDQUFnQyxFQUFFO0lBQy9GLE1BQU1yQiw0QkFBNEIsR0FBR0osK0JBQStCLENBQUNDLFVBQVUsRUFBRUgsY0FBYyxFQUFFeEIsZ0JBQWdCLENBQUM7SUFDbEgsSUFBSW9ELGdCQUFnQjtJQUNwQixJQUFJdEIsNEJBQTRCLEVBQUU7TUFDakNzQixnQkFBZ0IsR0FBR3RCLDRCQUE0QixDQUFDa0IsZ0JBQW9DO01BQ3BGLElBQUlJLGdCQUFnQixFQUFFO1FBQ3JCLE9BQU9BLGdCQUFnQjtNQUN4QjtJQUNELENBQUMsTUFBTTtNQUNOQSxnQkFBZ0IsR0FBR0wsMEJBQTBCLENBQUNwQixVQUFVLENBQUM7TUFDekQsT0FBT3lCLGdCQUFnQjtJQUN4QjtFQUNEO0VBQUM7RUFDTSxTQUFTQyxpQ0FBaUMsQ0FDaER0RCxpQkFBeUIsRUFDekJ1RCwrQkFBb0QsRUFDcERDLGtCQUFvQyxFQUNwQ0MsaUJBQXlDLEVBQ3pDQyx3QkFBOEMsRUFDOUNDLGlDQUEwQyxFQUMxQ3pELHFCQUErQixFQUMvQjBELGlCQUEyQixFQUNHO0lBQzlCLE1BQU0vQixjQUFjLEdBQ25CN0IsaUJBQWlCLEtBQUssRUFBRSxHQUNyQndELGtCQUFrQixDQUFDMUIsdUJBQXVCLENBQUM5QixpQkFBaUIsQ0FBQyxHQUM3RDtNQUFFZ0MsVUFBVSxFQUFFNkIsU0FBUztNQUFFNUQsZ0JBQWdCLEVBQUV1RDtJQUFtQixDQUFDO0lBQ25FLE1BQU1NLHFDQUFxQyxHQUFHSCxpQ0FBaUMsR0FDNUVILGtCQUFrQixDQUFDMUIsdUJBQXVCLENBQUM2QixpQ0FBaUMsQ0FBQyxHQUM3RSxJQUFJO0lBQ1AsTUFBTUkscUJBQXFCLEdBQUdsQyxjQUFjLENBQUNHLFVBQTBDO0lBQ3ZGd0Isa0JBQWtCLEdBQUczQixjQUFjLENBQUM1QixnQkFBZ0I7SUFDcEQsSUFBSUUsd0JBQWdELEdBQUcsRUFBRTtJQUN6RCxJQUFJSiw2QkFBc0Q7SUFDMUQsSUFBSWlFLGdCQUFnQixHQUFHLEVBQUU7SUFDekIsSUFBSUMsa0JBQWtCLEVBQUVDLGtCQUFrQjtJQUMxQyxNQUFNM0MsSUFBSSxHQUFHd0MscUJBQXFCLGFBQXJCQSxxQkFBcUIsdUJBQXJCQSxxQkFBcUIsQ0FBRXhDLElBQUk7SUFDeEMsSUFBSUEsSUFBSSxFQUFFO01BQ1QsUUFBUUEsSUFBSTtRQUNYO1FBQ0E7VUFDQ3hCLDZCQUE2QixHQUFHK0QscUNBQXFDLGFBQXJDQSxxQ0FBcUMsdUJBQXJDQSxxQ0FBcUMsQ0FBRTlCLFVBQVU7VUFDakY3Qix3QkFBd0IsQ0FBQ1MsSUFBSSxDQUFDO1lBQzdCWSxhQUFhLEVBQUV1QyxxQkFBdUQ7WUFDdEV0QyxjQUFjLEVBQUV6QixpQkFBaUI7WUFDakNDLGdCQUFnQixFQUFFdUQ7VUFDbkIsQ0FBQyxDQUFDO1VBQ0Y7UUFDRDtVQUNDekQsNkJBQTZCLEdBQUdnRSxxQkFBcUI7VUFDckQ1RCx3QkFBd0IsR0FBR0Esd0JBQXdCLENBQUNnRSxNQUFNLENBQ3pEckUsd0NBQXdDLENBQ3ZDaUUscUJBQXFCLEVBQ3JCL0QsaUJBQWlCLEVBQ2pCd0Qsa0JBQWtCLEVBQ2xCdEQscUJBQXFCLENBQ3JCLENBQ0Q7VUFDRDtRQUNEO1VBQ0NILDZCQUE2QixHQUFHZ0UscUJBQXFCLENBQUN4QixtQkFBbUI7VUFDekU7VUFDQXlCLGdCQUFnQixHQUFHakUsNkJBQTZCLENBQUNxRSxrQkFBa0I7VUFDbkVqRSx3QkFBd0IsR0FBR0Esd0JBQXdCLENBQUNnRSxNQUFNLENBQ3pEckUsd0NBQXdDLENBQ3ZDQyw2QkFBNkIsRUFDN0JDLGlCQUFpQixFQUNqQndELGtCQUFrQixFQUNsQnRELHFCQUFxQixDQUNyQixDQUNEO1VBQ0Q7UUFDRDtVQUNDO01BQU07TUFFUkMsd0JBQXdCLENBQUN1QyxPQUFPLENBQUUyQix1QkFBdUIsSUFBSztRQUM3RCxNQUFNO1VBQUU3QyxhQUFhO1VBQUVDLGNBQWM7VUFBRXhCO1FBQWlCLENBQUMsR0FBR29FLHVCQUF1QjtRQUNuRixRQUFRN0MsYUFBYSxDQUFDRCxJQUFJO1VBQ3pCO1lBQ0MwQyxrQkFBa0IsR0FBR0ssd0JBQXdCLENBQzVDOUMsYUFBYSxFQUNiQyxjQUFjLEVBQ2R4QixnQkFBZ0IsRUFDaEJ5RCx3QkFBd0IsRUFDeEJELGlCQUFpQixFQUNqQkcsaUJBQWlCLENBQ2pCO1lBQ0Q7VUFDRDtVQUNBO1lBQ0NNLGtCQUFrQixHQUFHSyxLQUFLLENBQUNDLHdCQUF3QixDQUNsRGhELGFBQWEsRUFDYkMsY0FBYyxFQUNkeEIsZ0JBQWdCLEVBQ2hCRiw2QkFBNkIsRUFDN0J3RCwrQkFBK0IsRUFDL0JFLGlCQUFpQixFQUNqQkcsaUJBQWlCLENBQ2pCO1lBQ0Q7UUFBTTtNQUVULENBQUMsQ0FBQztJQUNIO0lBQ0EsTUFBTTlDLGNBQW1CLEdBQUcsRUFBRTtJQUM5QixJQUFJMkQsSUFBSSxHQUFHbEQsSUFBSSw4REFBbUQsR0FBR3lDLGdCQUFnQixHQUFHRCxxQkFBcUIsYUFBckJBLHFCQUFxQix1QkFBckJBLHFCQUFxQixDQUFFSyxrQkFBa0I7SUFDakksSUFBSUssSUFBSSxLQUFLWixTQUFTLEVBQUU7TUFDdkJZLElBQUksR0FBRyxHQUFHO0lBQ1g7SUFDQSxNQUFNckUsS0FBSyxHQUFHQyxlQUFlLENBQUNtRCxrQkFBa0IsQ0FBQztJQUNqRCxJQUFJLENBQUNqQyxJQUFJLElBQUtuQixLQUFLLElBQUk4RCxrQkFBa0IsS0FBS0wsU0FBVSxFQUFFO01BQ3pESyxrQkFBa0IsR0FBR0ssS0FBSyxDQUFDRywrQkFBK0IsQ0FBQ2xCLGtCQUFrQixFQUFFdEQscUJBQXFCLEtBQUssSUFBSSxDQUFDO01BQzlHc0Qsa0JBQWtCLENBQUNtQixjQUFjLEVBQUUsQ0FBQ0MsUUFBUSxDQUFDQyxhQUFhLENBQUNDLFVBQVUsRUFBRUMsYUFBYSxDQUFDQyxNQUFNLEVBQUVDLFNBQVMsQ0FBQ0MsZ0JBQWdCLENBQUM7SUFDekg7SUFDQSxJQUFJOUUsS0FBSyxJQUFJNkQsa0JBQWtCLEtBQUtKLFNBQVMsRUFBRTtNQUM5Q0ksa0JBQWtCLEdBQUdrQiw2QkFBNkIsQ0FBQzNCLGtCQUFrQixDQUFDO01BQ3RFQSxrQkFBa0IsQ0FBQ21CLGNBQWMsRUFBRSxDQUFDQyxRQUFRLENBQUNDLGFBQWEsQ0FBQ0MsVUFBVSxFQUFFQyxhQUFhLENBQUNDLE1BQU0sRUFBRUMsU0FBUyxDQUFDRyxhQUFhLENBQUM7SUFDdEg7SUFDQSxJQUFJbkIsa0JBQWtCLEVBQUU7TUFDdkJuRCxjQUFjLENBQUNGLElBQUksQ0FBQ3FELGtCQUFrQixDQUFDO0lBQ3hDO0lBQ0EsSUFBSUMsa0JBQWtCLEVBQUU7TUFDdkJwRCxjQUFjLENBQUNGLElBQUksQ0FBQ3NELGtCQUFrQixDQUFDO0lBQ3hDO0lBQ0EsT0FBTztNQUNOcEQsY0FBYyxFQUFFQSxjQUFjO01BQzlCVyxjQUFjLEVBQUUrQixrQkFBa0IsQ0FBQzZCLCtCQUErQixDQUFDWixJQUFJO0lBQ3hFLENBQUM7RUFDRjtFQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQVJBO0VBU08sU0FBU2EsWUFBWSxDQUFDQyxtQkFBNEIsRUFBRUMsV0FBbUIsRUFBVztJQUN4RkMsWUFBWSxDQUFDQyw0QkFBNEIsQ0FBQ0gsbUJBQW1CLENBQUNJLE9BQU8sRUFBRSxFQUFFSCxXQUFXLENBQUM7SUFDckYsTUFBTUksWUFBWSxHQUFHQyxrQkFBa0IsQ0FBQ0MsdUJBQXVCLENBQUNQLG1CQUFtQixDQUFDO01BQ25GUSx1QkFBdUIsR0FBR04sWUFBWSxDQUFDTyw2QkFBNkIsQ0FBQ1QsbUJBQW1CLENBQUM7TUFDekZVLEtBQUssR0FBR1YsbUJBQW1CLENBQUNXLFFBQVEsRUFBb0I7SUFDekQsSUFBSU4sWUFBWSxFQUFFO01BQ2pCLElBQUlILFlBQVksQ0FBQ1UsZ0NBQWdDLENBQUNKLHVCQUF1QixDQUFDSixPQUFPLEVBQUUsQ0FBQyxFQUFFO1FBQ3JGLE1BQU03RSxjQUFjLEdBQUc4RSxZQUFZLENBQUNyRCxtQkFBbUIsR0FDcERxRCxZQUFZLENBQUNyRCxtQkFBbUIsQ0FBQ3hCLGNBQWMsR0FDL0M2RSxZQUFZLENBQUM3RSxjQUFjO1FBQzlCLElBQUlxRixLQUFLLENBQUNDLE9BQU8sQ0FBQ3ZGLGNBQWMsQ0FBQyxFQUFFO1VBQ2xDLEtBQUssTUFBTVUsYUFBYSxJQUFJVixjQUFjLEVBQUU7WUFDM0MsSUFDQ1UsYUFBYSxDQUFDOEUsSUFBSSxJQUFJLGdCQUFnQixJQUN0QzlFLGFBQWEsQ0FBQ0UsS0FBSyxDQUFDTCxPQUFPLENBQUNtRSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0M7WUFDQSxDQUFDLENBQUNTLEtBQUssQ0FBQ00sY0FBYyxDQUFDaEIsbUJBQW1CLENBQUNJLE9BQU8sRUFBRSxDQUFDcEYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHaUIsYUFBYSxDQUFDRSxLQUFLLENBQUMsQ0FBQzhFLFNBQVMsRUFBRSxFQUNwRztjQUNEaEIsV0FBVyxHQUFHaEUsYUFBYSxDQUFDRSxLQUFLO2NBQ2pDO1lBQ0Q7VUFDRDtRQUNEO01BQ0QsQ0FBQyxNQUFNO1FBQ04sT0FBTzZELG1CQUFtQjtNQUMzQjtJQUNEO0lBQ0EsT0FBT1UsS0FBSyxDQUFDTSxjQUFjLENBQUNoQixtQkFBbUIsQ0FBQ0ksT0FBTyxFQUFFLENBQUNwRixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdpRixXQUFXLENBQUM7RUFDdkY7RUFBQztFQUNNLE1BQU0vRSxxQ0FBcUMsR0FBRyxVQUNwRFYsNkJBQXNELEVBQ3REMEcsY0FBb0QsRUFDMUM7SUFBQTtJQUNWLE9BQU8sMEJBQUExRyw2QkFBNkIsQ0FBQ2dCLGNBQWMsMERBQTVDLHNCQUE4QzJGLElBQUksQ0FBRWxGLGFBQWEsSUFBS0EsYUFBYSxDQUFDRSxLQUFLLENBQUNMLE9BQU8sQ0FBQ29GLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUksS0FBSztFQUN4SSxDQUFDO0VBQUM7RUFDSyxNQUFNOUYsMkJBQTJCLEdBQUcsVUFDMUNnRyxpQkFBdUQsRUFDdkRyRyxxQkFBNkIsRUFDN0JMLGdCQUFrQyxFQUNDO0lBQ25DLE1BQU0yQixVQUFVLEdBQUczQixnQkFBZ0IsQ0FBQzJHLGFBQWEsRUFBRTtJQUNuRCxNQUFNQyxpQkFBaUIsR0FDdEJGLGlCQUFpQiwwQ0FBK0IsR0FBR2hFLGtCQUFrQixDQUFDZixVQUFVLENBQUMsR0FBR2lCLGVBQWUsQ0FBQ2pCLFVBQVUsQ0FBQztJQUNoSCxJQUFJaUYsaUJBQWlCLEVBQUU7TUFDdEIsT0FBTztRQUNOckYsYUFBYSxFQUFFcUYsaUJBQWlCO1FBQ2hDcEYsY0FBYyxFQUFHLEdBQUVuQixxQkFBc0IsR0FBRUwsZ0JBQWdCLENBQUM2Ryx5QkFBeUIsQ0FDcEZELGlCQUFpQixDQUFDekMsa0JBQWtCLEVBQ3BDeEMsVUFBVSxDQUNULEVBQUM7UUFDSDNCLGdCQUFnQixFQUFFQTtNQUNuQixDQUFDO0lBQ0Y7SUFDQSxPQUFPNEQsU0FBUztFQUNqQixDQUFDO0VBQUM7RUFDSyxNQUFNeEQsZUFBZSxHQUFHLFVBQVVKLGdCQUFrQyxFQUFXO0lBQ3JGLE9BQ0NBLGdCQUFnQixDQUFDa0Qsa0JBQWtCLEVBQUUsQ0FBQzRELHlCQUF5QixFQUFFLElBQ2pFOUcsZ0JBQWdCLENBQUMrRyxlQUFlLEVBQUUsS0FBS0MsWUFBWSxDQUFDQyxrQkFBa0I7RUFFeEUsQ0FBQztFQUFDO0VBQUE7QUFBQSJ9
|
|
283
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRWaXN1YWxpemF0aW9uc0Zyb21QcmVzZW50YXRpb25WYXJpYW50IiwicHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24iLCJ2aXN1YWxpemF0aW9uUGF0aCIsImNvbnZlcnRlckNvbnRleHQiLCJpc01hY3JvT3JNdWx0aXBsZVZpZXciLCJ2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnMiLCJpc0FMUCIsImlzQWxwQW5ub3RhdGlvbiIsImJhc2VWaXN1YWxpemF0aW9uUGF0aCIsInNwbGl0IiwiaXNQcmVzZW50YXRpb25Db21wbGlhbnQiLCJhbm5vdGF0aW9uRXhpc3RzSW5QcmVzZW50YXRpb25WYXJpYW50IiwiZGVmYXVsdExpbmVJdGVtQW5ub3RhdGlvbiIsInByZXBhcmVEZWZhdWx0VmlzdWFsaXphdGlvbiIsInB1c2giLCJkZWZhdWx0Q2hhcnRBbm5vdGF0aW9uIiwidmlzdWFsaXphdGlvbnMiLCJWaXN1YWxpemF0aW9ucyIsInB1c2hGaXJzdFZpek9mVHlwZSIsImFsbG93ZWRUZXJtcyIsImZpcnN0Vml6IiwiZmluZCIsInZpeiIsImluZGV4T2YiLCIkdGFyZ2V0IiwidGVybSIsInZpc3VhbGl6YXRpb24iLCJhbm5vdGF0aW9uUGF0aCIsInZhbHVlIiwiZ2V0U2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCIsImVudGl0eVR5cGUiLCJyZXNvbHZlZFRhcmdldCIsImdldEVudGl0eVR5cGVBbm5vdGF0aW9uIiwic2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCIsImFubm90YXRpb24iLCJFcnJvciIsImFubm90YXRpb25zIiwiVUkiLCJTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50IiwiaXNTZWxlY3Rpb25QcmVzZW50YXRpb25Db21wbGlhbnQiLCJwcmVzZW50YXRpb25WYXJpYW50IiwiUHJlc2VudGF0aW9uVmFyaWFudCIsImhhc1RhYmxlIiwiaGFzQ2hhcnQiLCJmb3JFYWNoIiwiZ2V0RGVmYXVsdExpbmVJdGVtIiwiTGluZUl0ZW0iLCJnZXREZWZhdWx0Q2hhcnQiLCJDaGFydCIsImdldERlZmF1bHRQcmVzZW50YXRpb25WYXJpYW50IiwiZ2V0RGVmYXVsdFNlbGVjdGlvblZhcmlhbnQiLCJTZWxlY3Rpb25WYXJpYW50IiwiZ2V0U2VsZWN0aW9uVmFyaWFudCIsImdldE1hbmlmZXN0V3JhcHBlciIsImdldERlZmF1bHRUZW1wbGF0ZUFubm90YXRpb25QYXRoIiwic2VsZWN0aW9uVmFyaWFudCIsImdldERhdGFWaXN1YWxpemF0aW9uQ29uZmlndXJhdGlvbiIsImlzQ29uZGVuc2VkVGFibGVMYXlvdXRDb21wbGlhbnQiLCJpbkNvbnZlcnRlckNvbnRleHQiLCJ2aWV3Q29uZmlndXJhdGlvbiIsImRvTm90Q2hlY2tBcHBseVN1cHBvcnRlZCIsImFzc29jaWF0ZWRQcmVzZW50YXRpb25WYXJpYW50UGF0aCIsImlzSW5zaWdodHNFbmFibGVkIiwidW5kZWZpbmVkIiwicmVzb2x2ZWRBc3NvY2lhdGVkUHJlc2VudGF0aW9uVmFyaWFudCIsInJlc29sdmVkVmlzdWFsaXphdGlvbiIsInByZXNlbnRhdGlvblBhdGgiLCJjaGFydFZpc3VhbGl6YXRpb24iLCJ0YWJsZVZpc3VhbGl6YXRpb24iLCJjb25jYXQiLCJmdWxseVF1YWxpZmllZE5hbWUiLCJ2aXN1YWxpemF0aW9uQW5ub3RhdGlvbiIsImNyZWF0ZUNoYXJ0VmlzdWFsaXphdGlvbiIsIlRhYmxlIiwiY3JlYXRlVGFibGVWaXN1YWxpemF0aW9uIiwicGF0aCIsImNyZWF0ZURlZmF1bHRUYWJsZVZpc3VhbGl6YXRpb24iLCJnZXREaWFnbm9zdGljcyIsImFkZElzc3VlIiwiSXNzdWVDYXRlZ29yeSIsIkFubm90YXRpb24iLCJJc3N1ZVNldmVyaXR5IiwiTWVkaXVtIiwiSXNzdWVUeXBlIiwiTUlTU0lOR19MSU5FSVRFTSIsImNyZWF0ZUJsYW5rQ2hhcnRWaXN1YWxpemF0aW9uIiwiTUlTU0lOR19DSEFSVCIsImdldEVudGl0eVNldEJhc2VkQW5ub3RhdGlvblBhdGgiLCJnZXRVaUNvbnRyb2wiLCJwcmVzZW50YXRpb25Db250ZXh0IiwiY29udHJvbFBhdGgiLCJDb21tb25IZWxwZXIiLCJ2YWxpZGF0ZVByZXNlbnRhdGlvbk1ldGFQYXRoIiwiZ2V0UGF0aCIsInByZXNlbnRhdGlvbiIsIk1ldGFNb2RlbENvbnZlcnRlciIsImNvbnZlcnRNZXRhTW9kZWxDb250ZXh0IiwicHJlc2VudGF0aW9uVmFyaWFudFBhdGgiLCJjcmVhdGVQcmVzZW50YXRpb25QYXRoQ29udGV4dCIsIm1vZGVsIiwiZ2V0TW9kZWwiLCJfaXNQcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbiIsIkFycmF5IiwiaXNBcnJheSIsInR5cGUiLCJnZXRNZXRhQ29udGV4dCIsImdldE9iamVjdCIsImFubm90YXRpb25UZXJtIiwic29tZSIsInZpc3VhbGl6YXRpb25UeXBlIiwiZ2V0RW50aXR5VHlwZSIsImRlZmF1bHRBbm5vdGF0aW9uIiwiZ2V0UmVsYXRpdmVBbm5vdGF0aW9uUGF0aCIsImhhc011bHRpcGxlVmlzdWFsaXphdGlvbnMiLCJnZXRUZW1wbGF0ZVR5cGUiLCJUZW1wbGF0ZVR5cGUiLCJBbmFseXRpY2FsTGlzdFBhZ2UiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkRhdGFWaXN1YWxpemF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5VHlwZSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IHR5cGUge1xuXHRDaGFydCxcblx0TGluZUl0ZW0sXG5cdFByZXNlbnRhdGlvblZhcmlhbnQsXG5cdFByZXNlbnRhdGlvblZhcmlhbnRUeXBlLFxuXHRTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50LFxuXHRTZWxlY3Rpb25WYXJpYW50LFxuXHRTZWxlY3Rpb25WYXJpYW50VHlwZVxufSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1VJXCI7XG5pbXBvcnQgeyBVSUFubm90YXRpb25UZXJtcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCB7IElzc3VlQ2F0ZWdvcnksIElzc3VlU2V2ZXJpdHksIElzc3VlVHlwZSB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2hlbHBlcnMvSXNzdWVNYW5hZ2VyXCI7XG5pbXBvcnQgKiBhcyBNZXRhTW9kZWxDb252ZXJ0ZXIgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5pbXBvcnQgQ29tbW9uSGVscGVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL0NvbW1vbkhlbHBlclwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcbmltcG9ydCB0eXBlIE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcbmltcG9ydCB0eXBlIENvbnZlcnRlckNvbnRleHQgZnJvbSBcIi4uLy4uL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB0eXBlIHsgVmlld1BhdGhDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4uLy4uL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCB7IFRlbXBsYXRlVHlwZSB9IGZyb20gXCIuLi8uLi9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgdHlwZSB7IENoYXJ0VmlzdWFsaXphdGlvbiB9IGZyb20gXCIuL0NoYXJ0XCI7XG5pbXBvcnQgeyBjcmVhdGVCbGFua0NoYXJ0VmlzdWFsaXphdGlvbiwgY3JlYXRlQ2hhcnRWaXN1YWxpemF0aW9uIH0gZnJvbSBcIi4vQ2hhcnRcIjtcbmltcG9ydCB0eXBlIHsgVGFibGVWaXN1YWxpemF0aW9uIH0gZnJvbSBcIi4vVGFibGVcIjtcbmltcG9ydCBUYWJsZSBmcm9tIFwiLi9UYWJsZVwiO1xuZXhwb3J0IHR5cGUgRGF0YVZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucyA9IExpbmVJdGVtIHwgQ2hhcnQgfCBQcmVzZW50YXRpb25WYXJpYW50IHwgU2VsZWN0aW9uVmFyaWFudCB8IFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5leHBvcnQgdHlwZSBBY3R1YWxWaXN1YWxpemF0aW9uQW5ub3RhdGlvbnMgPSBMaW5lSXRlbSB8IENoYXJ0O1xuZXhwb3J0IHR5cGUgUHJlc2VudGF0aW9uVmlzdWFsaXphdGlvbkFubm90YXRpb25zID0gVUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW0gfCBVSUFubm90YXRpb25UZXJtcy5DaGFydDtcbmV4cG9ydCB0eXBlIFZpc3VhbGl6YXRpb25BbmRQYXRoID0ge1xuXHR2aXN1YWxpemF0aW9uOiBBY3R1YWxWaXN1YWxpemF0aW9uQW5ub3RhdGlvbnM7XG5cdGFubm90YXRpb25QYXRoOiBzdHJpbmc7XG5cdHNlbGVjdGlvblZhcmlhbnRQYXRoPzogc3RyaW5nO1xuXHRjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0O1xufTtcbmV4cG9ydCB0eXBlIERhdGFWaXN1YWxpemF0aW9uRGVmaW5pdGlvbiA9IHtcblx0dmlzdWFsaXphdGlvbnM6IChUYWJsZVZpc3VhbGl6YXRpb24gfCBDaGFydFZpc3VhbGl6YXRpb24pW107XG5cdGFubm90YXRpb25QYXRoOiBzdHJpbmc7XG59O1xuZXhwb3J0IGNvbnN0IGdldFZpc3VhbGl6YXRpb25zRnJvbVByZXNlbnRhdGlvblZhcmlhbnQgPSBmdW5jdGlvbiAoXG5cdHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uOiBQcmVzZW50YXRpb25WYXJpYW50VHlwZSxcblx0dmlzdWFsaXphdGlvblBhdGg6IHN0cmluZyxcblx0Y29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCxcblx0aXNNYWNyb09yTXVsdGlwbGVWaWV3PzogYm9vbGVhblxuKTogVmlzdWFsaXphdGlvbkFuZFBhdGhbXSB7XG5cdGNvbnN0IHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9uczogVmlzdWFsaXphdGlvbkFuZFBhdGhbXSA9IFtdO1xuXHRjb25zdCBpc0FMUCA9IGlzQWxwQW5ub3RhdGlvbihjb252ZXJ0ZXJDb250ZXh0KTtcblx0Y29uc3QgYmFzZVZpc3VhbGl6YXRpb25QYXRoID0gdmlzdWFsaXphdGlvblBhdGguc3BsaXQoXCJAXCIpWzBdO1xuXHRpZiAoKGlzTWFjcm9Pck11bHRpcGxlVmlldyA9PT0gdHJ1ZSB8fCBpc0FMUCkgJiYgIWlzUHJlc2VudGF0aW9uQ29tcGxpYW50KHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uLCBpc0FMUCkpIHtcblx0XHRpZiAoIWFubm90YXRpb25FeGlzdHNJblByZXNlbnRhdGlvblZhcmlhbnQocHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24sIFVJQW5ub3RhdGlvblRlcm1zLkxpbmVJdGVtKSkge1xuXHRcdFx0Y29uc3QgZGVmYXVsdExpbmVJdGVtQW5ub3RhdGlvbiA9IHByZXBhcmVEZWZhdWx0VmlzdWFsaXphdGlvbihcblx0XHRcdFx0VUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW0sXG5cdFx0XHRcdGJhc2VWaXN1YWxpemF0aW9uUGF0aCxcblx0XHRcdFx0Y29udmVydGVyQ29udGV4dFxuXHRcdFx0KTtcblx0XHRcdGlmIChkZWZhdWx0TGluZUl0ZW1Bbm5vdGF0aW9uKSB7XG5cdFx0XHRcdHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucy5wdXNoKGRlZmF1bHRMaW5lSXRlbUFubm90YXRpb24pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAoIWFubm90YXRpb25FeGlzdHNJblByZXNlbnRhdGlvblZhcmlhbnQocHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24sIFVJQW5ub3RhdGlvblRlcm1zLkNoYXJ0KSkge1xuXHRcdFx0Y29uc3QgZGVmYXVsdENoYXJ0QW5ub3RhdGlvbiA9IHByZXBhcmVEZWZhdWx0VmlzdWFsaXphdGlvbihVSUFubm90YXRpb25UZXJtcy5DaGFydCwgYmFzZVZpc3VhbGl6YXRpb25QYXRoLCBjb252ZXJ0ZXJDb250ZXh0KTtcblx0XHRcdGlmIChkZWZhdWx0Q2hhcnRBbm5vdGF0aW9uKSB7XG5cdFx0XHRcdHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucy5wdXNoKGRlZmF1bHRDaGFydEFubm90YXRpb24pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRjb25zdCB2aXN1YWxpemF0aW9ucyA9IHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uLlZpc3VhbGl6YXRpb25zO1xuXHRjb25zdCBwdXNoRmlyc3RWaXpPZlR5cGUgPSBmdW5jdGlvbiAoYWxsb3dlZFRlcm1zOiBzdHJpbmdbXSkge1xuXHRcdGNvbnN0IGZpcnN0Vml6ID0gdmlzdWFsaXphdGlvbnM/LmZpbmQoKHZpeikgPT4ge1xuXHRcdFx0cmV0dXJuIGFsbG93ZWRUZXJtcy5pbmRleE9mKHZpei4kdGFyZ2V0Py50ZXJtKSA+PSAwO1xuXHRcdH0pO1xuXHRcdGlmIChmaXJzdFZpeikge1xuXHRcdFx0dmlzdWFsaXphdGlvbkFubm90YXRpb25zLnB1c2goe1xuXHRcdFx0XHR2aXN1YWxpemF0aW9uOiBmaXJzdFZpei4kdGFyZ2V0IGFzIEFjdHVhbFZpc3VhbGl6YXRpb25Bbm5vdGF0aW9ucyxcblx0XHRcdFx0YW5ub3RhdGlvblBhdGg6IGAke2Jhc2VWaXN1YWxpemF0aW9uUGF0aH0ke2ZpcnN0Vml6LnZhbHVlfWAsXG5cdFx0XHRcdGNvbnZlcnRlckNvbnRleHQ6IGNvbnZlcnRlckNvbnRleHRcblx0XHRcdH0pO1xuXHRcdH1cblx0fTtcblx0aWYgKGlzQUxQKSB7XG5cdFx0Ly8gSW4gY2FzZSBvZiBBTFAsIHdlIHVzZSB0aGUgZmlyc3QgTGluZUl0ZW0gYW5kIHRoZSBmaXJzdCBDaGFydFxuXHRcdHB1c2hGaXJzdFZpek9mVHlwZShbVUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW1dKTtcblx0XHRwdXNoRmlyc3RWaXpPZlR5cGUoW1VJQW5ub3RhdGlvblRlcm1zLkNoYXJ0XSk7XG5cdH0gZWxzZSB7XG5cdFx0Ly8gT3RoZXJ3aXNlLCB3ZSB1c2UgdGhlIGZpcnN0IHZpeiBvbmx5IChDaGFydCBvciBMaW5lSXRlbSlcblx0XHRwdXNoRmlyc3RWaXpPZlR5cGUoW1VJQW5ub3RhdGlvblRlcm1zLkxpbmVJdGVtLCBVSUFubm90YXRpb25UZXJtcy5DaGFydF0pO1xuXHR9XG5cdHJldHVybiB2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnM7XG59O1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQoXG5cdGVudGl0eVR5cGU6IEVudGl0eVR5cGUsXG5cdGFubm90YXRpb25QYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cdGNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHRcbik6IFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQgfCB1bmRlZmluZWQge1xuXHRpZiAoYW5ub3RhdGlvblBhdGgpIHtcblx0XHRjb25zdCByZXNvbHZlZFRhcmdldCA9IGNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZUFubm90YXRpb24oYW5ub3RhdGlvblBhdGgpO1xuXHRcdGNvbnN0IHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQgPSByZXNvbHZlZFRhcmdldC5hbm5vdGF0aW9uIGFzIFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdFx0aWYgKHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQpIHtcblx0XHRcdGlmIChzZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50LnRlcm0gPT09IFVJQW5ub3RhdGlvblRlcm1zLlNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQpIHtcblx0XHRcdFx0cmV0dXJuIHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIkFubm90YXRpb24gUGF0aCBmb3IgdGhlIFNQViBtZW50aW9uZWQgaW4gdGhlIG1hbmlmZXN0IGlzIG5vdCBmb3VuZCwgUGxlYXNlIGFkZCB0aGUgU1BWIGluIHRoZSBhbm5vdGF0aW9uXCIpO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gZW50aXR5VHlwZS5hbm5vdGF0aW9ucz8uVUk/LlNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1NlbGVjdGlvblByZXNlbnRhdGlvbkNvbXBsaWFudChcblx0c2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudDogU2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCxcblx0aXNBTFA6IGJvb2xlYW5cbik6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuXHRjb25zdCBwcmVzZW50YXRpb25WYXJpYW50ID0gc2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCAmJiBzZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50LlByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdGlmIChwcmVzZW50YXRpb25WYXJpYW50KSB7XG5cdFx0cmV0dXJuIGlzUHJlc2VudGF0aW9uQ29tcGxpYW50KHByZXNlbnRhdGlvblZhcmlhbnQsIGlzQUxQKTtcblx0fSBlbHNlIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJQcmVzZW50YXRpb24gVmFyaWFudCBpcyBub3QgcHJlc2VudCBpbiB0aGUgU1BWIGFubm90YXRpb25cIik7XG5cdH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1ByZXNlbnRhdGlvbkNvbXBsaWFudChwcmVzZW50YXRpb25WYXJpYW50OiBQcmVzZW50YXRpb25WYXJpYW50VHlwZSwgaXNBTFAgPSBmYWxzZSk6IGJvb2xlYW4ge1xuXHRsZXQgaGFzVGFibGUgPSBmYWxzZSxcblx0XHRoYXNDaGFydCA9IGZhbHNlO1xuXHRpZiAoaXNBTFApIHtcblx0XHRpZiAocHJlc2VudGF0aW9uVmFyaWFudD8uVmlzdWFsaXphdGlvbnMpIHtcblx0XHRcdGNvbnN0IHZpc3VhbGl6YXRpb25zID0gcHJlc2VudGF0aW9uVmFyaWFudC5WaXN1YWxpemF0aW9ucztcblx0XHRcdHZpc3VhbGl6YXRpb25zLmZvckVhY2goKHZpc3VhbGl6YXRpb24pID0+IHtcblx0XHRcdFx0aWYgKHZpc3VhbGl6YXRpb24uJHRhcmdldD8udGVybSA9PT0gVUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW0pIHtcblx0XHRcdFx0XHRoYXNUYWJsZSA9IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHZpc3VhbGl6YXRpb24uJHRhcmdldD8udGVybSA9PT0gVUlBbm5vdGF0aW9uVGVybXMuQ2hhcnQpIHtcblx0XHRcdFx0XHRoYXNDaGFydCA9IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblx0XHRyZXR1cm4gaGFzQ2hhcnQgJiYgaGFzVGFibGU7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdHByZXNlbnRhdGlvblZhcmlhbnQ/LlZpc3VhbGl6YXRpb25zICYmXG5cdFx0XHQhIXByZXNlbnRhdGlvblZhcmlhbnQuVmlzdWFsaXphdGlvbnMuZmluZCgodmlzdWFsaXphdGlvbikgPT4ge1xuXHRcdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRcdHZpc3VhbGl6YXRpb24uJHRhcmdldD8udGVybSA9PT0gVUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW0gfHwgdmlzdWFsaXphdGlvbi4kdGFyZ2V0Py50ZXJtID09PSBVSUFubm90YXRpb25UZXJtcy5DaGFydFxuXHRcdFx0XHQpO1xuXHRcdFx0fSlcblx0XHQpO1xuXHR9XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdExpbmVJdGVtKGVudGl0eVR5cGU6IEVudGl0eVR5cGUpOiBMaW5lSXRlbSB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiBlbnRpdHlUeXBlLmFubm90YXRpb25zLlVJPy5MaW5lSXRlbTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0Q2hhcnQoZW50aXR5VHlwZTogRW50aXR5VHlwZSk6IENoYXJ0IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGVudGl0eVR5cGUuYW5ub3RhdGlvbnMuVUk/LkNoYXJ0O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRQcmVzZW50YXRpb25WYXJpYW50KGVudGl0eVR5cGU6IEVudGl0eVR5cGUpOiBQcmVzZW50YXRpb25WYXJpYW50IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGVudGl0eVR5cGUuYW5ub3RhdGlvbnM/LlVJPy5QcmVzZW50YXRpb25WYXJpYW50O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRTZWxlY3Rpb25WYXJpYW50KGVudGl0eVR5cGU6IEVudGl0eVR5cGUpOiBTZWxlY3Rpb25WYXJpYW50IHwgdW5kZWZpbmVkIHtcblx0cmV0dXJuIGVudGl0eVR5cGUuYW5ub3RhdGlvbnM/LlVJPy5TZWxlY3Rpb25WYXJpYW50O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlbGVjdGlvblZhcmlhbnQoZW50aXR5VHlwZTogRW50aXR5VHlwZSwgY29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCk6IFNlbGVjdGlvblZhcmlhbnRUeXBlIHwgdW5kZWZpbmVkIHtcblx0Y29uc3QgYW5ub3RhdGlvblBhdGggPSBjb252ZXJ0ZXJDb250ZXh0LmdldE1hbmlmZXN0V3JhcHBlcigpLmdldERlZmF1bHRUZW1wbGF0ZUFubm90YXRpb25QYXRoKCk7XG5cdGNvbnN0IHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQgPSBnZXRTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50KGVudGl0eVR5cGUsIGFubm90YXRpb25QYXRoLCBjb252ZXJ0ZXJDb250ZXh0KTtcblx0bGV0IHNlbGVjdGlvblZhcmlhbnQ7XG5cdGlmIChzZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50KSB7XG5cdFx0c2VsZWN0aW9uVmFyaWFudCA9IHNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQuU2VsZWN0aW9uVmFyaWFudCBhcyBTZWxlY3Rpb25WYXJpYW50O1xuXHRcdGlmIChzZWxlY3Rpb25WYXJpYW50KSB7XG5cdFx0XHRyZXR1cm4gc2VsZWN0aW9uVmFyaWFudDtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0c2VsZWN0aW9uVmFyaWFudCA9IGdldERlZmF1bHRTZWxlY3Rpb25WYXJpYW50KGVudGl0eVR5cGUpO1xuXHRcdHJldHVybiBzZWxlY3Rpb25WYXJpYW50O1xuXHR9XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF0YVZpc3VhbGl6YXRpb25Db25maWd1cmF0aW9uKFxuXHR2aXN1YWxpemF0aW9uUGF0aDogc3RyaW5nLFxuXHRpc0NvbmRlbnNlZFRhYmxlTGF5b3V0Q29tcGxpYW50OiBib29sZWFuIHwgdW5kZWZpbmVkLFxuXHRpbkNvbnZlcnRlckNvbnRleHQ6IENvbnZlcnRlckNvbnRleHQsXG5cdHZpZXdDb25maWd1cmF0aW9uPzogVmlld1BhdGhDb25maWd1cmF0aW9uLFxuXHRkb05vdENoZWNrQXBwbHlTdXBwb3J0ZWQ/OiBib29sZWFuIHwgdW5kZWZpbmVkLFxuXHRhc3NvY2lhdGVkUHJlc2VudGF0aW9uVmFyaWFudFBhdGg/OiBzdHJpbmcsXG5cdGlzTWFjcm9Pck11bHRpcGxlVmlldz86IGJvb2xlYW4sXG5cdGlzSW5zaWdodHNFbmFibGVkPzogYm9vbGVhblxuKTogRGF0YVZpc3VhbGl6YXRpb25EZWZpbml0aW9uIHtcblx0Y29uc3QgcmVzb2x2ZWRUYXJnZXQgPVxuXHRcdHZpc3VhbGl6YXRpb25QYXRoICE9PSBcIlwiXG5cdFx0XHQ/IGluQ29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlQW5ub3RhdGlvbih2aXN1YWxpemF0aW9uUGF0aClcblx0XHRcdDogeyBhbm5vdGF0aW9uOiB1bmRlZmluZWQsIGNvbnZlcnRlckNvbnRleHQ6IGluQ29udmVydGVyQ29udGV4dCB9O1xuXHRjb25zdCByZXNvbHZlZEFzc29jaWF0ZWRQcmVzZW50YXRpb25WYXJpYW50ID0gYXNzb2NpYXRlZFByZXNlbnRhdGlvblZhcmlhbnRQYXRoXG5cdFx0PyBpbkNvbnZlcnRlckNvbnRleHQuZ2V0RW50aXR5VHlwZUFubm90YXRpb24oYXNzb2NpYXRlZFByZXNlbnRhdGlvblZhcmlhbnRQYXRoKVxuXHRcdDogbnVsbDtcblx0Y29uc3QgcmVzb2x2ZWRWaXN1YWxpemF0aW9uID0gcmVzb2x2ZWRUYXJnZXQuYW5ub3RhdGlvbiBhcyBEYXRhVmlzdWFsaXphdGlvbkFubm90YXRpb25zO1xuXHRpbkNvbnZlcnRlckNvbnRleHQgPSByZXNvbHZlZFRhcmdldC5jb252ZXJ0ZXJDb250ZXh0O1xuXHRsZXQgdmlzdWFsaXphdGlvbkFubm90YXRpb25zOiBWaXN1YWxpemF0aW9uQW5kUGF0aFtdID0gW107XG5cdGxldCBwcmVzZW50YXRpb25WYXJpYW50QW5ub3RhdGlvbjogUHJlc2VudGF0aW9uVmFyaWFudFR5cGU7XG5cdGxldCBwcmVzZW50YXRpb25QYXRoID0gXCJcIjtcblx0bGV0IGNoYXJ0VmlzdWFsaXphdGlvbiwgdGFibGVWaXN1YWxpemF0aW9uO1xuXHRjb25zdCB0ZXJtID0gcmVzb2x2ZWRWaXN1YWxpemF0aW9uPy50ZXJtO1xuXHRpZiAodGVybSkge1xuXHRcdHN3aXRjaCAodGVybSkge1xuXHRcdFx0Y2FzZSBVSUFubm90YXRpb25UZXJtcy5MaW5lSXRlbTpcblx0XHRcdGNhc2UgVUlBbm5vdGF0aW9uVGVybXMuQ2hhcnQ6XG5cdFx0XHRcdHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uID0gcmVzb2x2ZWRBc3NvY2lhdGVkUHJlc2VudGF0aW9uVmFyaWFudD8uYW5ub3RhdGlvbjtcblx0XHRcdFx0dmlzdWFsaXphdGlvbkFubm90YXRpb25zLnB1c2goe1xuXHRcdFx0XHRcdHZpc3VhbGl6YXRpb246IHJlc29sdmVkVmlzdWFsaXphdGlvbiBhcyBBY3R1YWxWaXN1YWxpemF0aW9uQW5ub3RhdGlvbnMsXG5cdFx0XHRcdFx0YW5ub3RhdGlvblBhdGg6IHZpc3VhbGl6YXRpb25QYXRoLFxuXHRcdFx0XHRcdGNvbnZlcnRlckNvbnRleHQ6IGluQ29udmVydGVyQ29udGV4dFxuXHRcdFx0XHR9KTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFVJQW5ub3RhdGlvblRlcm1zLlByZXNlbnRhdGlvblZhcmlhbnQ6XG5cdFx0XHRcdHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uID0gcmVzb2x2ZWRWaXN1YWxpemF0aW9uO1xuXHRcdFx0XHR2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnMgPSB2aXN1YWxpemF0aW9uQW5ub3RhdGlvbnMuY29uY2F0KFxuXHRcdFx0XHRcdGdldFZpc3VhbGl6YXRpb25zRnJvbVByZXNlbnRhdGlvblZhcmlhbnQoXG5cdFx0XHRcdFx0XHRyZXNvbHZlZFZpc3VhbGl6YXRpb24sXG5cdFx0XHRcdFx0XHR2aXN1YWxpemF0aW9uUGF0aCxcblx0XHRcdFx0XHRcdGluQ29udmVydGVyQ29udGV4dCxcblx0XHRcdFx0XHRcdGlzTWFjcm9Pck11bHRpcGxlVmlld1xuXHRcdFx0XHRcdClcblx0XHRcdFx0KTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFVJQW5ub3RhdGlvblRlcm1zLlNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQ6XG5cdFx0XHRcdHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uID0gcmVzb2x2ZWRWaXN1YWxpemF0aW9uLlByZXNlbnRhdGlvblZhcmlhbnQ7XG5cdFx0XHRcdC8vIFByZXNlbnRhdGlvbiBjYW4gYmUgaW5saW5lIG9yIG91dHNpZGUgdGhlIFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnRcblx0XHRcdFx0cHJlc2VudGF0aW9uUGF0aCA9IHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uLmZ1bGx5UXVhbGlmaWVkTmFtZTtcblx0XHRcdFx0dmlzdWFsaXphdGlvbkFubm90YXRpb25zID0gdmlzdWFsaXphdGlvbkFubm90YXRpb25zLmNvbmNhdChcblx0XHRcdFx0XHRnZXRWaXN1YWxpemF0aW9uc0Zyb21QcmVzZW50YXRpb25WYXJpYW50KFxuXHRcdFx0XHRcdFx0cHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb24sXG5cdFx0XHRcdFx0XHR2aXN1YWxpemF0aW9uUGF0aCxcblx0XHRcdFx0XHRcdGluQ29udmVydGVyQ29udGV4dCxcblx0XHRcdFx0XHRcdGlzTWFjcm9Pck11bHRpcGxlVmlld1xuXHRcdFx0XHRcdClcblx0XHRcdFx0KTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cdFx0dmlzdWFsaXphdGlvbkFubm90YXRpb25zLmZvckVhY2goKHZpc3VhbGl6YXRpb25Bbm5vdGF0aW9uKSA9PiB7XG5cdFx0XHRjb25zdCB7IHZpc3VhbGl6YXRpb24sIGFubm90YXRpb25QYXRoLCBjb252ZXJ0ZXJDb250ZXh0IH0gPSB2aXN1YWxpemF0aW9uQW5ub3RhdGlvbjtcblx0XHRcdHN3aXRjaCAodmlzdWFsaXphdGlvbi50ZXJtKSB7XG5cdFx0XHRcdGNhc2UgVUlBbm5vdGF0aW9uVGVybXMuQ2hhcnQ6XG5cdFx0XHRcdFx0Y2hhcnRWaXN1YWxpemF0aW9uID0gY3JlYXRlQ2hhcnRWaXN1YWxpemF0aW9uKFxuXHRcdFx0XHRcdFx0dmlzdWFsaXphdGlvbixcblx0XHRcdFx0XHRcdGFubm90YXRpb25QYXRoLFxuXHRcdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dCxcblx0XHRcdFx0XHRcdGRvTm90Q2hlY2tBcHBseVN1cHBvcnRlZCxcblx0XHRcdFx0XHRcdHZpZXdDb25maWd1cmF0aW9uLFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdGNhc2UgVUlBbm5vdGF0aW9uVGVybXMuTGluZUl0ZW06XG5cdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0dGFibGVWaXN1YWxpemF0aW9uID0gVGFibGUuY3JlYXRlVGFibGVWaXN1YWxpemF0aW9uKFxuXHRcdFx0XHRcdFx0dmlzdWFsaXphdGlvbixcblx0XHRcdFx0XHRcdGFubm90YXRpb25QYXRoLFxuXHRcdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dCxcblx0XHRcdFx0XHRcdHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uLFxuXHRcdFx0XHRcdFx0aXNDb25kZW5zZWRUYWJsZUxheW91dENvbXBsaWFudCxcblx0XHRcdFx0XHRcdHZpZXdDb25maWd1cmF0aW9uLFxuXHRcdFx0XHRcdFx0aXNJbnNpZ2h0c0VuYWJsZWRcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cdGNvbnN0IHZpc3VhbGl6YXRpb25zOiBhbnkgPSBbXTtcblx0bGV0IHBhdGggPSB0ZXJtID09PSBVSUFubm90YXRpb25UZXJtcy5TZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50ID8gcHJlc2VudGF0aW9uUGF0aCA6IHJlc29sdmVkVmlzdWFsaXphdGlvbj8uZnVsbHlRdWFsaWZpZWROYW1lO1xuXHRpZiAocGF0aCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0cGF0aCA9IFwiL1wiO1xuXHR9XG5cdGNvbnN0IGlzQUxQID0gaXNBbHBBbm5vdGF0aW9uKGluQ29udmVydGVyQ29udGV4dCk7XG5cdGlmICghdGVybSB8fCAoaXNBTFAgJiYgdGFibGVWaXN1YWxpemF0aW9uID09PSB1bmRlZmluZWQpKSB7XG5cdFx0dGFibGVWaXN1YWxpemF0aW9uID0gVGFibGUuY3JlYXRlRGVmYXVsdFRhYmxlVmlzdWFsaXphdGlvbihpbkNvbnZlcnRlckNvbnRleHQsIGlzTWFjcm9Pck11bHRpcGxlVmlldyAhPT0gdHJ1ZSk7XG5cdFx0aW5Db252ZXJ0ZXJDb250ZXh0LmdldERpYWdub3N0aWNzKCkuYWRkSXNzdWUoSXNzdWVDYXRlZ29yeS5Bbm5vdGF0aW9uLCBJc3N1ZVNldmVyaXR5Lk1lZGl1bSwgSXNzdWVUeXBlLk1JU1NJTkdfTElORUlURU0pO1xuXHR9XG5cdGlmIChpc0FMUCAmJiBjaGFydFZpc3VhbGl6YXRpb24gPT09IHVuZGVmaW5lZCkge1xuXHRcdGNoYXJ0VmlzdWFsaXphdGlvbiA9IGNyZWF0ZUJsYW5rQ2hhcnRWaXN1YWxpemF0aW9uKGluQ29udmVydGVyQ29udGV4dCk7XG5cdFx0aW5Db252ZXJ0ZXJDb250ZXh0LmdldERpYWdub3N0aWNzKCkuYWRkSXNzdWUoSXNzdWVDYXRlZ29yeS5Bbm5vdGF0aW9uLCBJc3N1ZVNldmVyaXR5Lk1lZGl1bSwgSXNzdWVUeXBlLk1JU1NJTkdfQ0hBUlQpO1xuXHR9XG5cdGlmIChjaGFydFZpc3VhbGl6YXRpb24pIHtcblx0XHR2aXN1YWxpemF0aW9ucy5wdXNoKGNoYXJ0VmlzdWFsaXphdGlvbik7XG5cdH1cblx0aWYgKHRhYmxlVmlzdWFsaXphdGlvbikge1xuXHRcdHZpc3VhbGl6YXRpb25zLnB1c2godGFibGVWaXN1YWxpemF0aW9uKTtcblx0fVxuXHRyZXR1cm4ge1xuXHRcdHZpc3VhbGl6YXRpb25zOiB2aXN1YWxpemF0aW9ucyxcblx0XHRhbm5vdGF0aW9uUGF0aDogaW5Db252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVNldEJhc2VkQW5ub3RhdGlvblBhdGgocGF0aClcblx0fTtcbn1cbi8qKlxuICogUmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgVUkgY29udHJvbHMgKGVpdGhlciBhIFVJLkxpbmVJdGVtLCBvciBhIFVJLkNoYXJ0KS5cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBuYW1lIGdldFVpQ29udHJvbFxuICogQHBhcmFtIHByZXNlbnRhdGlvbkNvbnRleHQgT2JqZWN0IG9mIHRoZSBwcmVzZW50YXRpb24gY29udGV4dCAoZWl0aGVyIGEgcHJlc2VudGF0aW9uIHZhcmlhbnQsIG9yIGEgVUkuTGluZUl0ZW0sIG9yIGEgVUkuQ2hhcnQpXG4gKiBAcGFyYW0gY29udHJvbFBhdGggQ29udHJvbCBwYXRoXG4gKiBAcmV0dXJucyBUaGUgY29udGV4dCBvZiB0aGUgY29udHJvbCAoZWl0aGVyIGEgVUkuTGluZUl0ZW0sIG9yIGEgVUkuQ2hhcnQpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRVaUNvbnRyb2wocHJlc2VudGF0aW9uQ29udGV4dDogQ29udGV4dCwgY29udHJvbFBhdGg6IHN0cmluZyk6IENvbnRleHQge1xuXHRDb21tb25IZWxwZXIudmFsaWRhdGVQcmVzZW50YXRpb25NZXRhUGF0aChwcmVzZW50YXRpb25Db250ZXh0LmdldFBhdGgoKSwgY29udHJvbFBhdGgpO1xuXHRjb25zdCBwcmVzZW50YXRpb24gPSBNZXRhTW9kZWxDb252ZXJ0ZXIuY29udmVydE1ldGFNb2RlbENvbnRleHQocHJlc2VudGF0aW9uQ29udGV4dCksXG5cdFx0cHJlc2VudGF0aW9uVmFyaWFudFBhdGggPSBDb21tb25IZWxwZXIuY3JlYXRlUHJlc2VudGF0aW9uUGF0aENvbnRleHQocHJlc2VudGF0aW9uQ29udGV4dCksXG5cdFx0bW9kZWwgPSBwcmVzZW50YXRpb25Db250ZXh0LmdldE1vZGVsKCkgYXMgT0RhdGFNZXRhTW9kZWw7XG5cdGlmIChwcmVzZW50YXRpb24pIHtcblx0XHRpZiAoQ29tbW9uSGVscGVyLl9pc1ByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uKHByZXNlbnRhdGlvblZhcmlhbnRQYXRoLmdldFBhdGgoKSkpIHtcblx0XHRcdGNvbnN0IHZpc3VhbGl6YXRpb25zID0gcHJlc2VudGF0aW9uLlByZXNlbnRhdGlvblZhcmlhbnRcblx0XHRcdFx0PyBwcmVzZW50YXRpb24uUHJlc2VudGF0aW9uVmFyaWFudC5WaXN1YWxpemF0aW9uc1xuXHRcdFx0XHQ6IHByZXNlbnRhdGlvbi5WaXN1YWxpemF0aW9ucztcblx0XHRcdGlmIChBcnJheS5pc0FycmF5KHZpc3VhbGl6YXRpb25zKSkge1xuXHRcdFx0XHRmb3IgKGNvbnN0IHZpc3VhbGl6YXRpb24gb2YgdmlzdWFsaXphdGlvbnMpIHtcblx0XHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0XHR2aXN1YWxpemF0aW9uLnR5cGUgPT0gXCJBbm5vdGF0aW9uUGF0aFwiICYmXG5cdFx0XHRcdFx0XHR2aXN1YWxpemF0aW9uLnZhbHVlLmluZGV4T2YoY29udHJvbFBhdGgpICE9PSAtMSAmJlxuXHRcdFx0XHRcdFx0Ly8gY2hlY2sgaWYgb2JqZWN0IGV4aXN0cyBmb3IgUHJlc2VudGF0aW9uVmFyaWFudCB2aXN1YWxpemF0aW9uXG5cdFx0XHRcdFx0XHQhIW1vZGVsLmdldE1ldGFDb250ZXh0KHByZXNlbnRhdGlvbkNvbnRleHQuZ2V0UGF0aCgpLnNwbGl0KFwiQFwiKVswXSArIHZpc3VhbGl6YXRpb24udmFsdWUpLmdldE9iamVjdCgpXG5cdFx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0XHRjb250cm9sUGF0aCA9IHZpc3VhbGl6YXRpb24udmFsdWU7XG5cdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHByZXNlbnRhdGlvbkNvbnRleHQ7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBtb2RlbC5nZXRNZXRhQ29udGV4dChwcmVzZW50YXRpb25Db250ZXh0LmdldFBhdGgoKS5zcGxpdChcIkBcIilbMF0gKyBjb250cm9sUGF0aCk7XG59XG5leHBvcnQgY29uc3QgYW5ub3RhdGlvbkV4aXN0c0luUHJlc2VudGF0aW9uVmFyaWFudCA9IGZ1bmN0aW9uIChcblx0cHJlc2VudGF0aW9uVmFyaWFudEFubm90YXRpb246IFByZXNlbnRhdGlvblZhcmlhbnRUeXBlLFxuXHRhbm5vdGF0aW9uVGVybTogUHJlc2VudGF0aW9uVmlzdWFsaXphdGlvbkFubm90YXRpb25zXG4pOiBib29sZWFuIHtcblx0cmV0dXJuIHByZXNlbnRhdGlvblZhcmlhbnRBbm5vdGF0aW9uLlZpc3VhbGl6YXRpb25zPy5zb21lKCh2aXN1YWxpemF0aW9uKSA9PiB2aXN1YWxpemF0aW9uLnZhbHVlLmluZGV4T2YoYW5ub3RhdGlvblRlcm0pID4gLTEpID8/IGZhbHNlO1xufTtcbmV4cG9ydCBjb25zdCBwcmVwYXJlRGVmYXVsdFZpc3VhbGl6YXRpb24gPSBmdW5jdGlvbiAoXG5cdHZpc3VhbGl6YXRpb25UeXBlOiBQcmVzZW50YXRpb25WaXN1YWxpemF0aW9uQW5ub3RhdGlvbnMsXG5cdGJhc2VWaXN1YWxpemF0aW9uUGF0aDogc3RyaW5nLFxuXHRjb252ZXJ0ZXJDb250ZXh0OiBDb252ZXJ0ZXJDb250ZXh0XG4pOiBWaXN1YWxpemF0aW9uQW5kUGF0aCB8IHVuZGVmaW5lZCB7XG5cdGNvbnN0IGVudGl0eVR5cGUgPSBjb252ZXJ0ZXJDb250ZXh0LmdldEVudGl0eVR5cGUoKTtcblx0Y29uc3QgZGVmYXVsdEFubm90YXRpb24gPVxuXHRcdHZpc3VhbGl6YXRpb25UeXBlID09PSBVSUFubm90YXRpb25UZXJtcy5MaW5lSXRlbSA/IGdldERlZmF1bHRMaW5lSXRlbShlbnRpdHlUeXBlKSA6IGdldERlZmF1bHRDaGFydChlbnRpdHlUeXBlKTtcblx0aWYgKGRlZmF1bHRBbm5vdGF0aW9uKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHZpc3VhbGl6YXRpb246IGRlZmF1bHRBbm5vdGF0aW9uLFxuXHRcdFx0YW5ub3RhdGlvblBhdGg6IGAke2Jhc2VWaXN1YWxpemF0aW9uUGF0aH0ke2NvbnZlcnRlckNvbnRleHQuZ2V0UmVsYXRpdmVBbm5vdGF0aW9uUGF0aChcblx0XHRcdFx0ZGVmYXVsdEFubm90YXRpb24uZnVsbHlRdWFsaWZpZWROYW1lLFxuXHRcdFx0XHRlbnRpdHlUeXBlXG5cdFx0XHQpfWAsXG5cdFx0XHRjb252ZXJ0ZXJDb250ZXh0OiBjb252ZXJ0ZXJDb250ZXh0XG5cdFx0fTtcblx0fVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTtcbmV4cG9ydCBjb25zdCBpc0FscEFubm90YXRpb24gPSBmdW5jdGlvbiAoY29udmVydGVyQ29udGV4dDogQ29udmVydGVyQ29udGV4dCk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gKFxuXHRcdGNvbnZlcnRlckNvbnRleHQuZ2V0TWFuaWZlc3RXcmFwcGVyKCkuaGFzTXVsdGlwbGVWaXN1YWxpemF0aW9ucygpIHx8XG5cdFx0Y29udmVydGVyQ29udGV4dC5nZXRUZW1wbGF0ZVR5cGUoKSA9PT0gVGVtcGxhdGVUeXBlLkFuYWx5dGljYWxMaXN0UGFnZVxuXHQpO1xufTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7RUFvQ08sTUFBTUEsd0NBQXdDLEdBQUcsVUFDdkRDLDZCQUFzRCxFQUN0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
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/fe/core/converters/helpers/IssueManager","sap/fe/core/converters/MetaModelConverter","sap/fe/macros/CommonHelper","../../ManifestSettings","./Chart","./Table"],function(t,n,e,a,i,o){"use strict";var r={};var s=i.createChartVisualization;var l=i.createBlankChartVisualization;var u=a.TemplateType;var c=t.IssueType;var v=t.IssueSeverity;var f=t.IssueCategory;const d=function(t,n,e,a){const i=[];const o=S(e);const r=n.split("@")[0];if((a===true||o)&&!I(t,o)){if(!y(t,"com.sap.vocabularies.UI.v1.LineItem")){const t=z("com.sap.vocabularies.UI.v1.LineItem",r,e);if(t){i.push(t)}}if(!y(t,"com.sap.vocabularies.UI.v1.Chart")){const t=z("com.sap.vocabularies.UI.v1.Chart",r,e);if(t){i.push(t)}}}const s=t.Visualizations;const l=function(t){const n=s===null||s===void 0?void 0:s.find(n=>{var e;return t.indexOf((e=n.$target)===null||e===void 0?void 0:e.term)>=0});if(n){i.push({visualization:n.$target,annotationPath:`${r}${n.value}`,converterContext:e})}};if(o){l(["com.sap.vocabularies.UI.v1.LineItem"]);l(["com.sap.vocabularies.UI.v1.Chart"])}else{l(["com.sap.vocabularies.UI.v1.LineItem","com.sap.vocabularies.UI.v1.Chart"])}return i};r.getVisualizationsFromPresentationVariant=d;function p(t,n,e){if(n){const t=e.getEntityTypeAnnotation(n);const a=t.annotation;if(a){if(a.term==="com.sap.vocabularies.UI.v1.SelectionPresentationVariant"){return a}}else{throw new Error("Annotation Path for the SPV mentioned in the manifest is not found, Please add the SPV in the annotation")}}else{var a,i;return(a=t.annotations)===null||a===void 0?void 0:(i=a.UI)===null||i===void 0?void 0:i.SelectionPresentationVariant}}r.getSelectionPresentationVariant=p;function m(t,n){const e=t&&t.PresentationVariant;if(e){return I(e,n)}else{throw new Error("Presentation Variant is not present in the SPV annotation")}}r.isSelectionPresentationCompliant=m;function I(t){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;let e=false,a=false;if(n){if(t!==null&&t!==void 0&&t.Visualizations){const n=t.Visualizations;n.forEach(t=>{var n,i;if(((n=t.$target)===null||n===void 0?void 0:n.term)==="com.sap.vocabularies.UI.v1.LineItem"){e=true}if(((i=t.$target)===null||i===void 0?void 0:i.term)==="com.sap.vocabularies.UI.v1.Chart"){a=true}})}return a&&e}else{return(t===null||t===void 0?void 0:t.Visualizations)&&!!t.Visualizations.find(t=>{var n,e;return((n=t.$target)===null||n===void 0?void 0:n.term)==="com.sap.vocabularies.UI.v1.LineItem"||((e=t.$target)===null||e===void 0?void 0:e.term)==="com.sap.vocabularies.UI.v1.Chart"})}}r.isPresentationCompliant=I;function h(t){var n;return(n=t.annotations.UI)===null||n===void 0?void 0:n.LineItem}r.getDefaultLineItem=h;function g(t){var n;return(n=t.annotations.UI)===null||n===void 0?void 0:n.Chart}r.getDefaultChart=g;function P(t){var n,e;return(n=t.annotations)===null||n===void 0?void 0:(e=n.UI)===null||e===void 0?void 0:e.PresentationVariant}r.getDefaultPresentationVariant=P;function V(t){var n,e;return(n=t.annotations)===null||n===void 0?void 0:(e=n.UI)===null||e===void 0?void 0:e.SelectionVariant}r.getDefaultSelectionVariant=V;function b(t,n){const e=n.getManifestWrapper().getDefaultTemplateAnnotationPath();const a=p(t,e,n);let i;if(a){i=a.SelectionVariant;if(i){return i}}else{i=V(t);return i}}r.getSelectionVariant=b;function C(t,n,e,a,i,r,u,p){const m=t!==""?e.getEntityTypeAnnotation(t):{annotation:undefined,converterContext:e};const I=r?e.getEntityTypeAnnotation(r):null;const h=m.annotation;e=m.converterContext;let g=[];let P;let V="";let b,C;const U=h===null||h===void 0?void 0:h.term;if(U){switch(U){case"com.sap.vocabularies.UI.v1.LineItem":case"com.sap.vocabularies.UI.v1.Chart":P=I===null||I===void 0?void 0:I.annotation;g.push({visualization:h,annotationPath:t,converterContext:e});break;case"com.sap.vocabularies.UI.v1.PresentationVariant":P=h;g=g.concat(d(h,t,e,u));break;case"com.sap.vocabularies.UI.v1.SelectionPresentationVariant":P=h.PresentationVariant;V=P.fullyQualifiedName;g=g.concat(d(P,t,e,u));break;default:break}g.forEach(t=>{const{visualization:e,annotationPath:r,converterContext:l}=t;switch(e.term){case"com.sap.vocabularies.UI.v1.Chart":b=s(e,r,l,i,a
|
|
5
|
+
sap.ui.define(["sap/fe/core/converters/helpers/IssueManager","sap/fe/core/converters/MetaModelConverter","sap/fe/macros/CommonHelper","../../ManifestSettings","./Chart","./Table"],function(t,n,e,a,i,o){"use strict";var r={};var s=i.createChartVisualization;var l=i.createBlankChartVisualization;var u=a.TemplateType;var c=t.IssueType;var v=t.IssueSeverity;var f=t.IssueCategory;const d=function(t,n,e,a){const i=[];const o=S(e);const r=n.split("@")[0];if((a===true||o)&&!I(t,o)){if(!y(t,"com.sap.vocabularies.UI.v1.LineItem")){const t=z("com.sap.vocabularies.UI.v1.LineItem",r,e);if(t){i.push(t)}}if(!y(t,"com.sap.vocabularies.UI.v1.Chart")){const t=z("com.sap.vocabularies.UI.v1.Chart",r,e);if(t){i.push(t)}}}const s=t.Visualizations;const l=function(t){const n=s===null||s===void 0?void 0:s.find(n=>{var e;return t.indexOf((e=n.$target)===null||e===void 0?void 0:e.term)>=0});if(n){i.push({visualization:n.$target,annotationPath:`${r}${n.value}`,converterContext:e})}};if(o){l(["com.sap.vocabularies.UI.v1.LineItem"]);l(["com.sap.vocabularies.UI.v1.Chart"])}else{l(["com.sap.vocabularies.UI.v1.LineItem","com.sap.vocabularies.UI.v1.Chart"])}return i};r.getVisualizationsFromPresentationVariant=d;function p(t,n,e){if(n){const t=e.getEntityTypeAnnotation(n);const a=t.annotation;if(a){if(a.term==="com.sap.vocabularies.UI.v1.SelectionPresentationVariant"){return a}}else{throw new Error("Annotation Path for the SPV mentioned in the manifest is not found, Please add the SPV in the annotation")}}else{var a,i;return(a=t.annotations)===null||a===void 0?void 0:(i=a.UI)===null||i===void 0?void 0:i.SelectionPresentationVariant}}r.getSelectionPresentationVariant=p;function m(t,n){const e=t&&t.PresentationVariant;if(e){return I(e,n)}else{throw new Error("Presentation Variant is not present in the SPV annotation")}}r.isSelectionPresentationCompliant=m;function I(t){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;let e=false,a=false;if(n){if(t!==null&&t!==void 0&&t.Visualizations){const n=t.Visualizations;n.forEach(t=>{var n,i;if(((n=t.$target)===null||n===void 0?void 0:n.term)==="com.sap.vocabularies.UI.v1.LineItem"){e=true}if(((i=t.$target)===null||i===void 0?void 0:i.term)==="com.sap.vocabularies.UI.v1.Chart"){a=true}})}return a&&e}else{return(t===null||t===void 0?void 0:t.Visualizations)&&!!t.Visualizations.find(t=>{var n,e;return((n=t.$target)===null||n===void 0?void 0:n.term)==="com.sap.vocabularies.UI.v1.LineItem"||((e=t.$target)===null||e===void 0?void 0:e.term)==="com.sap.vocabularies.UI.v1.Chart"})}}r.isPresentationCompliant=I;function h(t){var n;return(n=t.annotations.UI)===null||n===void 0?void 0:n.LineItem}r.getDefaultLineItem=h;function g(t){var n;return(n=t.annotations.UI)===null||n===void 0?void 0:n.Chart}r.getDefaultChart=g;function P(t){var n,e;return(n=t.annotations)===null||n===void 0?void 0:(e=n.UI)===null||e===void 0?void 0:e.PresentationVariant}r.getDefaultPresentationVariant=P;function V(t){var n,e;return(n=t.annotations)===null||n===void 0?void 0:(e=n.UI)===null||e===void 0?void 0:e.SelectionVariant}r.getDefaultSelectionVariant=V;function b(t,n){const e=n.getManifestWrapper().getDefaultTemplateAnnotationPath();const a=p(t,e,n);let i;if(a){i=a.SelectionVariant;if(i){return i}}else{i=V(t);return i}}r.getSelectionVariant=b;function C(t,n,e,a,i,r,u,p){const m=t!==""?e.getEntityTypeAnnotation(t):{annotation:undefined,converterContext:e};const I=r?e.getEntityTypeAnnotation(r):null;const h=m.annotation;e=m.converterContext;let g=[];let P;let V="";let b,C;const U=h===null||h===void 0?void 0:h.term;if(U){switch(U){case"com.sap.vocabularies.UI.v1.LineItem":case"com.sap.vocabularies.UI.v1.Chart":P=I===null||I===void 0?void 0:I.annotation;g.push({visualization:h,annotationPath:t,converterContext:e});break;case"com.sap.vocabularies.UI.v1.PresentationVariant":P=h;g=g.concat(d(h,t,e,u));break;case"com.sap.vocabularies.UI.v1.SelectionPresentationVariant":P=h.PresentationVariant;V=P.fullyQualifiedName;g=g.concat(d(P,t,e,u));break;default:break}g.forEach(t=>{const{visualization:e,annotationPath:r,converterContext:l}=t;switch(e.term){case"com.sap.vocabularies.UI.v1.Chart":b=s(e,r,l,i,a);break;case"com.sap.vocabularies.UI.v1.LineItem":default:C=o.createTableVisualization(e,r,l,P,n,a,p);break}})}const y=[];let z=U==="com.sap.vocabularies.UI.v1.SelectionPresentationVariant"?V:h===null||h===void 0?void 0:h.fullyQualifiedName;if(z===undefined){z="/"}const M=S(e);if(!U||M&&C===undefined){C=o.createDefaultTableVisualization(e,u!==true);e.getDiagnostics().addIssue(f.Annotation,v.Medium,c.MISSING_LINEITEM)}if(M&&b===undefined){b=l(e);e.getDiagnostics().addIssue(f.Annotation,v.Medium,c.MISSING_CHART)}if(b){y.push(b)}if(C){y.push(C)}return{visualizations:y,annotationPath:e.getEntitySetBasedAnnotationPath(z)}}r.getDataVisualizationConfiguration=C;function U(t,a){e.validatePresentationMetaPath(t.getPath(),a);const i=n.convertMetaModelContext(t),o=e.createPresentationPathContext(t),r=t.getModel();if(i){if(e._isPresentationVariantAnnotation(o.getPath())){const n=i.PresentationVariant?i.PresentationVariant.Visualizations:i.Visualizations;if(Array.isArray(n)){for(const e of n){if(e.type=="AnnotationPath"&&e.value.indexOf(a)!==-1&&!!r.getMetaContext(t.getPath().split("@")[0]+e.value).getObject()){a=e.value;break}}}}else{return t}}return r.getMetaContext(t.getPath().split("@")[0]+a)}r.getUiControl=U;const y=function(t,n){var e;return((e=t.Visualizations)===null||e===void 0?void 0:e.some(t=>t.value.indexOf(n)>-1))??false};r.annotationExistsInPresentationVariant=y;const z=function(t,n,e){const a=e.getEntityType();const i=t==="com.sap.vocabularies.UI.v1.LineItem"?h(a):g(a);if(i){return{visualization:i,annotationPath:`${n}${e.getRelativeAnnotationPath(i.fullyQualifiedName,a)}`,converterContext:e}}return undefined};r.prepareDefaultVisualization=z;const S=function(t){return t.getManifestWrapper().hasMultipleVisualizations()||t.getTemplateType()===u.AnalyticalListPage};r.isAlpAnnotation=S;return r},false);
|
|
6
6
|
//# sourceMappingURL=DataVisualization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataVisualization.js","names":["sap","ui","define","IssueManager","MetaModelConverter","CommonHelper","ManifestSettings","Chart","Table","_exports","createChartVisualization","createBlankChartVisualization","TemplateType","IssueType","IssueSeverity","IssueCategory","getVisualizationsFromPresentationVariant","presentationVariantAnnotation","visualizationPath","converterContext","isMacroOrMultipleView","visualizationAnnotations","isALP","isAlpAnnotation","baseVisualizationPath","split","isPresentationCompliant","annotationExistsInPresentationVariant","defaultLineItemAnnotation","prepareDefaultVisualization","push","defaultChartAnnotation","visualizations","Visualizations","pushFirstVizOfType","allowedTerms","firstViz","find","viz","_viz$$target","indexOf","$target","term","visualization","annotationPath","value","getSelectionPresentationVariant","entityType","resolvedTarget","getEntityTypeAnnotation","selectionPresentationVariant","annotation","Error","_entityType$annotatio","_entityType$annotatio2","annotations","UI","SelectionPresentationVariant","isSelectionPresentationCompliant","presentationVariant","PresentationVariant","arguments","length","undefined","hasTable","hasChart","forEach","_visualization$$targe","_visualization$$targe2","_visualization$$targe3","_visualization$$targe4","getDefaultLineItem","_entityType$annotatio3","LineItem","getDefaultChart","_entityType$annotatio4","getDefaultPresentationVariant","_entityType$annotatio5","_entityType$annotatio6","getDefaultSelectionVariant","_entityType$annotatio7","_entityType$annotatio8","SelectionVariant","getSelectionVariant","getManifestWrapper","getDefaultTemplateAnnotationPath","selectionVariant","getDataVisualizationConfiguration","isCondensedTableLayoutCompliant","inConverterContext","viewConfiguration","doNotCheckApplySupported","associatedPresentationVariantPath","isInsightsEnabled","resolvedAssociatedPresentationVariant","resolvedVisualization","presentationPath","chartVisualization","tableVisualization","concat","fullyQualifiedName","visualizationAnnotation","createTableVisualization","path","createDefaultTableVisualization","getDiagnostics","addIssue","Annotation","Medium","MISSING_LINEITEM","MISSING_CHART","getEntitySetBasedAnnotationPath","getUiControl","presentationContext","controlPath","validatePresentationMetaPath","getPath","presentation","convertMetaModelContext","presentationVariantPath","createPresentationPathContext","model","getModel","_isPresentationVariantAnnotation","Array","isArray","type","getMetaContext","getObject","annotationTerm","_presentationVariantA","some","visualizationType","getEntityType","defaultAnnotation","getRelativeAnnotationPath","hasMultipleVisualizations","getTemplateType","AnalyticalListPage"],"sources":["DataVisualization-dbg.js"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DataVisualization.js","names":["sap","ui","define","IssueManager","MetaModelConverter","CommonHelper","ManifestSettings","Chart","Table","_exports","createChartVisualization","createBlankChartVisualization","TemplateType","IssueType","IssueSeverity","IssueCategory","getVisualizationsFromPresentationVariant","presentationVariantAnnotation","visualizationPath","converterContext","isMacroOrMultipleView","visualizationAnnotations","isALP","isAlpAnnotation","baseVisualizationPath","split","isPresentationCompliant","annotationExistsInPresentationVariant","defaultLineItemAnnotation","prepareDefaultVisualization","push","defaultChartAnnotation","visualizations","Visualizations","pushFirstVizOfType","allowedTerms","firstViz","find","viz","_viz$$target","indexOf","$target","term","visualization","annotationPath","value","getSelectionPresentationVariant","entityType","resolvedTarget","getEntityTypeAnnotation","selectionPresentationVariant","annotation","Error","_entityType$annotatio","_entityType$annotatio2","annotations","UI","SelectionPresentationVariant","isSelectionPresentationCompliant","presentationVariant","PresentationVariant","arguments","length","undefined","hasTable","hasChart","forEach","_visualization$$targe","_visualization$$targe2","_visualization$$targe3","_visualization$$targe4","getDefaultLineItem","_entityType$annotatio3","LineItem","getDefaultChart","_entityType$annotatio4","getDefaultPresentationVariant","_entityType$annotatio5","_entityType$annotatio6","getDefaultSelectionVariant","_entityType$annotatio7","_entityType$annotatio8","SelectionVariant","getSelectionVariant","getManifestWrapper","getDefaultTemplateAnnotationPath","selectionVariant","getDataVisualizationConfiguration","isCondensedTableLayoutCompliant","inConverterContext","viewConfiguration","doNotCheckApplySupported","associatedPresentationVariantPath","isInsightsEnabled","resolvedAssociatedPresentationVariant","resolvedVisualization","presentationPath","chartVisualization","tableVisualization","concat","fullyQualifiedName","visualizationAnnotation","createTableVisualization","path","createDefaultTableVisualization","getDiagnostics","addIssue","Annotation","Medium","MISSING_LINEITEM","MISSING_CHART","getEntitySetBasedAnnotationPath","getUiControl","presentationContext","controlPath","validatePresentationMetaPath","getPath","presentation","convertMetaModelContext","presentationVariantPath","createPresentationPathContext","model","getModel","_isPresentationVariantAnnotation","Array","isArray","type","getMetaContext","getObject","annotationTerm","_presentationVariantA","some","visualizationType","getEntityType","defaultAnnotation","getRelativeAnnotationPath","hasMultipleVisualizations","getTemplateType","AnalyticalListPage"],"sources":["DataVisualization-dbg.js"],"mappings":"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"}
|