@sapui5/sap.fe.core 1.114.2 → 1.114.4
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/controllerextensions/EditFlow-dbg.js +28 -9
- 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 +29 -11
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.ts +1 -1
- package/src/sap/fe/core/formatters/StandardFormatter-dbg.js +14 -1
- package/src/sap/fe/core/formatters/StandardFormatter.js +1 -1
- package/src/sap/fe/core/formatters/StandardFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/StandardFormatter.ts +13 -0
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/library-dbg.js +1 -1
- package/src/sap/fe/core/library-preload.js +6 -6
- 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/manifest.json +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +3 -2
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +2 -1
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/base/Log","sap/fe/core/formatters/FPMFormatter","sap/fe/core/formatters/StandardFormatter","sap/fe/core/formatters/ValueFormatter","sap/fe/core/services/AsyncComponentServiceFactory","sap/fe/core/services/CacheHandlerServiceFactory","sap/fe/core/services/EnvironmentServiceFactory","sap/fe/core/services/NavigationServiceFactory","sap/fe/core/services/ResourceModelServiceFactory","sap/fe/core/services/RoutingServiceFactory","sap/fe/core/services/ShellServicesFactory","sap/fe/core/services/SideEffectsServiceFactory","sap/fe/core/services/TemplatedViewServiceFactory","sap/fe/core/type/DateTimeWithTimezone","sap/fe/core/type/Email","sap/fe/core/type/FiscalDate","sap/fe/navigation/library","sap/fe/placeholder/library","sap/ui/base/DataType","sap/ui/core/Core","sap/ui/core/library","sap/ui/core/service/ServiceFactoryRegistry","sap/ui/fl/library","sap/ui/mdc/library"],function(e,a,r,i,o,t,s,n,c,l,p,f,d,v,u,y,S,m,g,C,b,F,w,D){"use strict";var E={};var M=s.EnvironmentServiceFactory;const N="sap.fe";E.feNamespace=N;const I="sap.fe.core";E.feCoreNamespace=I;const h="sap.fe.controllerextensions";E.feCextNamespace=h;const A="sap.fe.core.fpm";E.feFpmNamespace=A;const R=C.initLibrary({name:"sap.fe.core",dependencies:["sap.ui.core","sap.fe.navigation","sap.fe.placeholder","sap.ui.fl","sap.ui.mdc","sap.f"],types:["sap.fe.core.CreationMode","sap.fe.core.VariantManagement"],interfaces:[],controls:[],elements:[],version:"1.114.
|
|
5
|
+
sap.ui.define(["sap/base/Log","sap/fe/core/formatters/FPMFormatter","sap/fe/core/formatters/StandardFormatter","sap/fe/core/formatters/ValueFormatter","sap/fe/core/services/AsyncComponentServiceFactory","sap/fe/core/services/CacheHandlerServiceFactory","sap/fe/core/services/EnvironmentServiceFactory","sap/fe/core/services/NavigationServiceFactory","sap/fe/core/services/ResourceModelServiceFactory","sap/fe/core/services/RoutingServiceFactory","sap/fe/core/services/ShellServicesFactory","sap/fe/core/services/SideEffectsServiceFactory","sap/fe/core/services/TemplatedViewServiceFactory","sap/fe/core/type/DateTimeWithTimezone","sap/fe/core/type/Email","sap/fe/core/type/FiscalDate","sap/fe/navigation/library","sap/fe/placeholder/library","sap/ui/base/DataType","sap/ui/core/Core","sap/ui/core/library","sap/ui/core/service/ServiceFactoryRegistry","sap/ui/fl/library","sap/ui/mdc/library"],function(e,a,r,i,o,t,s,n,c,l,p,f,d,v,u,y,S,m,g,C,b,F,w,D){"use strict";var E={};var M=s.EnvironmentServiceFactory;const N="sap.fe";E.feNamespace=N;const I="sap.fe.core";E.feCoreNamespace=I;const h="sap.fe.controllerextensions";E.feCextNamespace=h;const A="sap.fe.core.fpm";E.feFpmNamespace=A;const R=C.initLibrary({name:"sap.fe.core",dependencies:["sap.ui.core","sap.fe.navigation","sap.fe.placeholder","sap.ui.fl","sap.ui.mdc","sap.f"],types:["sap.fe.core.CreationMode","sap.fe.core.VariantManagement"],interfaces:[],controls:[],elements:[],version:"1.114.4",noLibraryCSS:true,extensions:{"sap.ui.support":{publicRules:true,internalRules:true},flChangeHandlers:{"sap.fe.core.controls.FilterBar":"sap/ui/mdc/flexibility/FilterBar"}}});R.InvocationGrouping={Isolated:"Isolated",ChangeSet:"ChangeSet"};R.CreationMode={NewPage:"NewPage",Sync:"Sync",Async:"Async",Deferred:"Deferred",Inline:"Inline",CreationRow:"CreationRow",InlineCreationRows:"InlineCreationRows",External:"External"};R.VariantManagement={None:"None",Page:"Page",Control:"Control"};R.Constants={CancelActionDialog:"cancel",ActionExecutionFailed:"actionExecutionFailed",CreationFailed:"creationFailed"};R.ProgrammingModel={Draft:"Draft",Sticky:"Sticky",NonDraft:"NonDraft"};R.DraftStatus={Saving:"Saving",Saved:"Saved",Clear:"Clear"};R.EditMode={Display:"Display",Editable:"Editable"};R.TemplateContentView={Hybrid:"Hybrid",Chart:"Chart",Table:"Table"};let L;(function(e){e["Enabled"]="Enabled";e["Disabled"]="Disabled";e["Auto"]="Auto"})(L||(L={}));E.InitialLoadMode=L;R.InitialLoadMode=L;R.StartupMode={Normal:"Normal",Deeplink:"Deeplink",Create:"Create",AutoCreate:"AutoCreate"};const T=g.createType("sap.fe.core.InitialLoadMode",{defaultValue:R.InitialLoadMode.Auto,isValid:function(a){if(typeof a==="boolean"){e.warning("DEPRECATED: boolean value not allowed for 'initialLoad' manifest setting - supported values are: Disabled|Enabled|Auto")}return a===undefined||a===null||typeof a==="boolean"||R.InitialLoadMode.hasOwnProperty(a)}});T.setNormalizer(function(e){if(!e){return R.InitialLoadMode.Disabled}return e===true?R.InitialLoadMode.Enabled:e});F.register("sap.fe.core.services.TemplatedViewService",new d);F.register("sap.fe.core.services.ResourceModelService",new c);F.register("sap.fe.core.services.CacheHandlerService",new t);F.register("sap.fe.core.services.NavigationService",new n);F.register("sap.fe.core.services.RoutingService",new l);F.register("sap.fe.core.services.SideEffectsService",new f);F.register("sap.fe.core.services.ShellServices",new p);F.register("sap.fe.core.services.EnvironmentService",new M);F.register("sap.fe.core.services.AsyncComponentService",new o);return R},false);
|
|
6
6
|
//# sourceMappingURL=library.js.map
|
|
@@ -82,7 +82,8 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/helpers/LoaderUtils", "sap/fe/core/m
|
|
|
82
82
|
const oResourceModel = aDependenciesResult[0];
|
|
83
83
|
const sCacheKey = aDependenciesResult[1];
|
|
84
84
|
const oSideEffectsServices = oAppComponent.getSideEffectsService();
|
|
85
|
-
|
|
85
|
+
const environmentCapabilitiesService = await oAppComponent.getService("environmentCapabilities");
|
|
86
|
+
oSideEffectsServices.initializeSideEffects(environmentCapabilitiesService.getCapabilities());
|
|
86
87
|
const [TemplateConverter, MetaModelConverter] = await requireDependencies(["sap/fe/core/converters/TemplateConverter", "sap/fe/core/converters/MetaModelConverter"]);
|
|
87
88
|
return this.createView(oResourceModel, sStableId, sCacheKey, TemplateConverter, MetaModelConverter);
|
|
88
89
|
}).then(function (sCacheKey) {
|
|
@@ -371,4 +372,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/helpers/LoaderUtils", "sap/fe/core/m
|
|
|
371
372
|
}(ServiceFactory);
|
|
372
373
|
return TemplatedViewServiceFactory;
|
|
373
374
|
}, false);
|
|
374
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZWRWaWV3U2VydmljZSIsImluaXQiLCJhU2VydmljZURlcGVuZGVuY2llcyIsIm9Db250ZXh0IiwiZ2V0Q29udGV4dCIsIm9Db21wb25lbnQiLCJzY29wZU9iamVjdCIsIm9BcHBDb21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsIm9NZXRhTW9kZWwiLCJnZXRNZXRhTW9kZWwiLCJwYWdlSWQiLCJnZXRMb2NhbElkIiwiZ2V0SWQiLCJzU3RhYmxlSWQiLCJnZXRNZXRhZGF0YSIsImdldENvbXBvbmVudE5hbWUiLCJhRW5oYW5jZUkxOG4iLCJnZXRFbmhhbmNlSTE4biIsInNBcHBOYW1lc3BhY2UiLCJvRmFjdG9yeSIsImZhY3RvcnkiLCJpIiwibGVuZ3RoIiwib1Jlc291cmNlTW9kZWwiLCJnZXRNb2RlbCIsImlzQSIsInJlcGxhY2UiLCJzQ2FjaGVJZGVudGlmaWVyIiwiZ2V0TmFtZSIsInNhcCIsInVpIiwiZ2V0Q29yZSIsImdldENvbmZpZ3VyYXRpb24iLCJnZXRMYW5ndWFnZVRhZyIsInB1c2giLCJTZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5IiwiZ2V0IiwiY3JlYXRlSW5zdGFuY2UiLCJzY29wZVR5cGUiLCJzZXR0aW5ncyIsImJ1bmRsZXMiLCJlbmhhbmNlSTE4biIsIm1vZGVsTmFtZSIsInRoZW4iLCJvUmVzb3VyY2VNb2RlbFNlcnZpY2UiLCJnZXRSZXNvdXJjZU1vZGVsIiwibWV0YU1vZGVsIiwiYXBwQ29tcG9uZW50IiwiY29tcG9uZW50Iiwib0NhY2hlSGFuZGxlclNlcnZpY2UiLCJ2YWxpZGF0ZUNhY2hlS2V5IiwiVmVyc2lvbkluZm8iLCJsb2FkIiwib0luZm8iLCJzVGltZXN0YW1wIiwibGlicmFyaWVzIiwiYnVpbGRpbmZvIiwiYnVpbGR0aW1lIiwiZm9yRWFjaCIsIm9MaWJyYXJ5IiwiYnVpbGRUaW1lc3RhbXAiLCJjYXRjaCIsImluaXRQcm9taXNlIiwiUHJvbWlzZSIsImFsbCIsImFEZXBlbmRlbmNpZXNSZXN1bHQiLCJzQ2FjaGVLZXkiLCJvU2lkZUVmZmVjdHNTZXJ2aWNlcyIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsImluaXRpYWxpemVTaWRlRWZmZWN0cyIsImdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwiZ2V0Q2FwYWJpbGl0aWVzIiwiVGVtcGxhdGVDb252ZXJ0ZXIiLCJNZXRhTW9kZWxDb252ZXJ0ZXIiLCJyZXF1aXJlRGVwZW5kZW5jaWVzIiwiY3JlYXRlVmlldyIsImdldEluc3RhbmNlIiwiaW52YWxpZGF0ZUlmTmVlZGVkIiwicmVmcmVzaFZpZXciLCJvUm9vdFZpZXciLCJnZXRSb290Q29udHJvbCIsImRlc3Ryb3kiLCJvVmlldyIsInJlc291cmNlTW9kZWwiLCJzdGFibGVJZCIsIm9Db250YWluZXIiLCJpbnZhbGlkYXRlIiwib0Vycm9yIiwiTG9nIiwiZXJyb3IiLCJtU2VydmljZVNldHRpbmdzIiwic0NvbnZlcnRlclR5cGUiLCJjb252ZXJ0ZXJUeXBlIiwic0Z1bGxDb250ZXh0UGF0aCIsImdldFJvdXRpbmdTZXJ2aWNlIiwiZ2V0VGFyZ2V0SW5mb3JtYXRpb25Gb3IiLCJvcHRpb25zIiwiZnVsbENvbnRleHRQYXRoIiwib01hbmlmZXN0Q29udGVudCIsImdldE1hbmlmZXN0Iiwib0RldmljZU1vZGVsIiwiSlNPTk1vZGVsIiwiRGV2aWNlIiwic2V0RGVmYXVsdEJpbmRpbmdNb2RlIiwib01hbmlmZXN0TW9kZWwiLCJiRXJyb3IiLCJvUGFnZU1vZGVsIiwib1ZpZXdEYXRhTW9kZWwiLCJvVmlld1NldHRpbmdzIiwibVZpZXdEYXRhIiwiZ2V0Vmlld1NldHRpbmdzIiwiYVNwbGl0UGF0aCIsInNwbGl0Iiwic0VudGl0eVNldFBhdGgiLCJyZWR1Y2UiLCJzUGF0aFNvRmFyIiwic05leHRQYXRoUGFydCIsIm9UYXJnZXQiLCJnZXRPYmplY3QiLCJPYmplY3QiLCJrZXlzIiwidmlld1R5cGUiLCJnZXRWaWV3VHlwZSIsInVuZGVmaW5lZCIsInR5cGUiLCJwcmVwcm9jZXNzb3JzIiwieG1sIiwiYmluZGluZ0NvbnRleHRzIiwiZW50aXR5U2V0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJjb250ZXh0UGF0aCIsImNvbnZlcnRlckNvbnRleHQiLCJub1Jlc29sdmUiLCJ2aWV3RGF0YSIsIm1vZGVscyIsImRldmljZSIsIm1hbmlmZXN0IiwiaWQiLCJ2aWV3TmFtZSIsImdldFZpZXdOYW1lIiwiY2FjaGUiLCJhZGRpdGlvbmFsRGF0YSIsImdldEFkZGl0aW9uYWxDYWNoZURhdGEiLCJnZXREYXRhIiwic2V0QWRkaXRpb25hbENhY2hlRGF0YSIsInZhbHVlIiwic2V0RGF0YSIsImhlaWdodCIsImNyZWF0ZUVycm9yUGFnZSIsInJlYXNvbiIsIm1lc3NhZ2UiLCJlcnJvclZpZXdOYW1lIiwicnVuQXNPd25lciIsIlZpZXciLCJjcmVhdGUiLCJzZXRNb2RlbCIsIk1hbmFnZWRPYmplY3RNb2RlbCIsInNldEFnZ3JlZ2F0aW9uIiwib1JvdXRpbmdTZXJ2aWNlIiwiZ2V0U2VydmljZSIsIm9UYXJnZXRJbmZvIiwibU91dGJvdW5kcyIsImNyb3NzTmF2aWdhdGlvbiIsIm91dGJvdW5kcyIsIm1OYXZpZ2F0aW9uIiwiZ2V0TmF2aWdhdGlvbiIsIm5hdmlnYXRpb25PYmplY3RLZXkiLCJuYXZpZ2F0aW9uT2JqZWN0Iiwib3V0Ym91bmRDb25maWciLCJkZXRhaWwiLCJvdXRib3VuZCIsIm91dGJvdW5kRGV0YWlsIiwic2VtYW50aWNPYmplY3QiLCJhY3Rpb24iLCJwYXJhbWV0ZXJzIiwibmF2aWdhdGlvbiIsInZpZXdMZXZlbCIsImNvbnRlbnREZW5zaXRpZXMiLCJpc0Rlc2t0b3AiLCJzeXN0ZW0iLCJkZXNrdG9wIiwiaXNQaG9uZSIsInBob25lIiwiZ2V0Vmlld0RhdGEiLCJhc3NpZ24iLCJhY3R1YWxTZXR0aW5ncyIsInJvdXRpbmciLCJ0YXJnZXRzIiwiYXBwbHlQYWdlQ29uZmlndXJhdGlvbkNoYW5nZXMiLCJpc1NoYXJlQnV0dG9uVmlzaWJsZUZvck15SW5ib3giLCJUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkiLCJnZXRTaGFyZUJ1dHRvblZpc2liaWxpdHlGb3JNeUluYm94Iiwib1NoZWxsU2VydmljZXMiLCJnZXRTaGVsbFNlcnZpY2VzIiwic2hlbGxDb250ZW50RGVuc2l0eSIsImdldENvbnRlbnREZW5zaXR5IiwicmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdCIsImZvcm0iLCJjb250cm9sQ29uZmlndXJhdGlvbiIsInNBbm5vdGF0aW9uUGF0aCIsImluZGV4T2YiLCJzVGFyZ2V0QW5ub3RhdGlvblBhdGgiLCJyZXNvbHZlRHluYW1pY0V4cHJlc3Npb24iLCJjb252ZXJ0VHlwZXMiLCJUZW1wbGF0ZU1vZGVsIiwib0RpYWdub3N0aWNzIiwiZ2V0RGlhZ25vc3RpY3MiLCJpSXNzdWVDb3VudCIsImdldElzc3VlcyIsIm9Db252ZXJ0ZXJQYWdlTW9kZWwiLCJjb252ZXJ0UGFnZSIsImFJc3N1ZXMiLCJhQWRkZWRJc3N1ZXMiLCJzbGljZSIsIndhcm5pbmciLCJlIiwiRXJyb3IiLCJnZXRWaWV3IiwiZ2V0SW50ZXJmYWNlIiwiZXhpdCIsInJlbW92ZUdsb2JhbEluc3RhbmNlIiwiU2VydmljZSIsIl9vSW5zdGFuY2VSZWdpc3RyeSIsIm9TZXJ2aWNlQ29udGV4dCIsImlDcmVhdGluZ1ZpZXdzIiwib1RlbXBsYXRlZFZpZXdTZXJ2aWNlIiwiY29tcG9uZW50RGF0YSIsImdldENvbXBvbmVudERhdGEiLCJmZUVudmlyb25tZW50IiwiZ2V0U2hhcmVDb250cm9sVmlzaWJpbGl0eSIsImdldE51bWJlck9mVmlld3NJbkNyZWF0aW9uU3RhdGUiLCJTZXJ2aWNlRmFjdG9yeSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiVGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgQXBwQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9BcHBDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50RGF0YSwgTWFuaWZlc3RDb250ZW50IH0gZnJvbSBcInNhcC9mZS9jb3JlL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBDb250ZW50RGVuc2l0aWVzVHlwZSwgQ29udHJvbENvbmZpZ3VyYXRpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyBWYXJpYW50TWFuYWdlbWVudFR5cGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyByZXF1aXJlRGVwZW5kZW5jaWVzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTG9hZGVyVXRpbHNcIjtcbmltcG9ydCB7IGFwcGx5UGFnZUNvbmZpZ3VyYXRpb25DaGFuZ2VzIH0gZnJvbSBcInNhcC9mZS9jb3JlL21hbmlmZXN0TWVyZ2VyL0NoYW5nZVBhZ2VDb25maWd1cmF0aW9uXCI7XG5pbXBvcnQgUmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL2ZlL2NvcmUvUmVzb3VyY2VNb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBDYWNoZUhhbmRsZXJTZXJ2aWNlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL0NhY2hlSGFuZGxlclNlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgVGVtcGxhdGVNb2RlbCBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVNb2RlbFwiO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50XCI7XG5pbXBvcnQgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCBTZXJ2aWNlIGZyb20gXCJzYXAvdWkvY29yZS9zZXJ2aWNlL1NlcnZpY2VcIjtcbmltcG9ydCBTZXJ2aWNlRmFjdG9yeSBmcm9tIFwic2FwL3VpL2NvcmUvc2VydmljZS9TZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IFNlcnZpY2VGYWN0b3J5UmVnaXN0cnkgZnJvbSBcInNhcC91aS9jb3JlL3NlcnZpY2UvU2VydmljZUZhY3RvcnlSZWdpc3RyeVwiO1xuaW1wb3J0IERldmljZSBmcm9tIFwic2FwL3VpL0RldmljZVwiO1xuaW1wb3J0IE1hbmFnZWRPYmplY3RNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2Jhc2UvTWFuYWdlZE9iamVjdE1vZGVsXCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvTW9kZWxcIjtcbmltcG9ydCBWZXJzaW9uSW5mbyBmcm9tIFwic2FwL3VpL1ZlcnNpb25JbmZvXCI7XG5pbXBvcnQgdHlwZSB7IFNlcnZpY2VDb250ZXh0IH0gZnJvbSBcInR5cGVzL21ldGFtb2RlbF90eXBlc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZUR5bmFtaWNFeHByZXNzaW9uIH0gZnJvbSBcIi4uL2hlbHBlcnMvRHluYW1pY0Fubm90YXRpb25QYXRoSGVscGVyXCI7XG5pbXBvcnQgdHlwZSB7IFJlc291cmNlTW9kZWxTZXJ2aWNlIH0gZnJvbSBcIi4vUmVzb3VyY2VNb2RlbFNlcnZpY2VGYWN0b3J5XCI7XG50eXBlIFRlbXBsYXRlZFZpZXdTZXJ2aWNlU2V0dGluZ3MgPSB7fTtcbmV4cG9ydCB0eXBlIFZpZXdEYXRhID0ge1xuXHRhcHBDb21wb25lbnQ6IEFwcENvbXBvbmVudDtcblx0bmF2aWdhdGlvbjogb2JqZWN0O1xuXHR2aWV3TGV2ZWw6IG51bWJlcjtcblx0dmFyaWFudE1hbmFnZW1lbnQ/OiBWYXJpYW50TWFuYWdlbWVudFR5cGU7XG5cdHN0YWJsZUlkOiBzdHJpbmc7XG5cdGNvbnRlbnREZW5zaXRpZXM/OiBDb250ZW50RGVuc2l0aWVzVHlwZTtcblx0cmVzb3VyY2VNb2RlbDogUmVzb3VyY2VNb2RlbDtcblx0ZnVsbENvbnRleHRQYXRoOiBzdHJpbmc7XG5cdGlzRGVza3RvcDogYm9vbGVhbjtcblx0aXNQaG9uZTogYm9vbGVhbjtcblx0Y29udmVydGVyVHlwZT86IHN0cmluZztcblx0c2hlbGxDb250ZW50RGVuc2l0eT86IHN0cmluZztcblx0dXNlTmV3TGF6eUxvYWRpbmc/OiBib29sZWFuO1xuXHRyZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0PzogYm9vbGVhbjtcblx0Y29udHJvbENvbmZpZ3VyYXRpb24/OiBDb250cm9sQ29uZmlndXJhdGlvbjtcblx0ZW50aXR5U2V0Pzogc3RyaW5nO1xuXHRpc1NoYXJlQnV0dG9uVmlzaWJsZUZvck15SW5ib3g/OiBib29sZWFuO1xufTtcbmNsYXNzIFRlbXBsYXRlZFZpZXdTZXJ2aWNlIGV4dGVuZHMgU2VydmljZTxUZW1wbGF0ZWRWaWV3U2VydmljZVNldHRpbmdzPiB7XG5cdGluaXRQcm9taXNlITogUHJvbWlzZTxhbnk+O1xuXG5cdG9WaWV3ITogVmlldztcblxuXHRvUmVzb3VyY2VNb2RlbFNlcnZpY2UhOiBSZXNvdXJjZU1vZGVsU2VydmljZTtcblxuXHRvQ2FjaGVIYW5kbGVyU2VydmljZSE6IENhY2hlSGFuZGxlclNlcnZpY2U7XG5cblx0b0ZhY3RvcnkhOiBUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3Rvcnk7XG5cblx0cmVzb3VyY2VNb2RlbCE6IFJlc291cmNlTW9kZWw7XG5cblx0c3RhYmxlSWQhOiBzdHJpbmc7XG5cblx0cGFnZUlkITogc3RyaW5nO1xuXG5cdFRlbXBsYXRlQ29udmVydGVyOiBhbnk7XG5cblx0TWV0YU1vZGVsQ29udmVydGVyOiBhbnk7XG5cblx0aW5pdCgpIHtcblx0XHRjb25zdCBhU2VydmljZURlcGVuZGVuY2llcyA9IFtdO1xuXHRcdGNvbnN0IG9Db250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cdFx0Y29uc3Qgb0NvbXBvbmVudCA9IG9Db250ZXh0LnNjb3BlT2JqZWN0O1xuXHRcdGNvbnN0IG9BcHBDb21wb25lbnQgPSBDb21wb25lbnQuZ2V0T3duZXJDb21wb25lbnRGb3Iob0NvbXBvbmVudCkgYXMgQXBwQ29tcG9uZW50O1xuXHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFNb2RlbCgpO1xuXHRcdHRoaXMucGFnZUlkID0gb0FwcENvbXBvbmVudC5nZXRMb2NhbElkKG9Db21wb25lbnQuZ2V0SWQoKSkgYXMgc3RyaW5nO1xuXHRcdGNvbnN0IHNTdGFibGVJZCA9IGAke29BcHBDb21wb25lbnQuZ2V0TWV0YWRhdGEoKS5nZXRDb21wb25lbnROYW1lKCl9Ojoke3RoaXMucGFnZUlkfWA7XG5cdFx0Y29uc3QgYUVuaGFuY2VJMThuID0gb0NvbXBvbmVudC5nZXRFbmhhbmNlSTE4bigpIHx8IFtdO1xuXHRcdGxldCBzQXBwTmFtZXNwYWNlO1xuXHRcdHRoaXMub0ZhY3RvcnkgPSBvQ29udGV4dC5mYWN0b3J5O1xuXHRcdGlmIChhRW5oYW5jZUkxOG4pIHtcblx0XHRcdHNBcHBOYW1lc3BhY2UgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFkYXRhKCkuZ2V0Q29tcG9uZW50TmFtZSgpO1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhRW5oYW5jZUkxOG4ubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0Ly8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0ZXh0LXZlcnRpY2FsaXphdGlvbiBhcHBsaWNhdGlvbnMgY2FuIGFsc28gcGFzc3MgYSByZXNvdXJjZSBtb2RlbCBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdFxuXHRcdFx0XHQvLyBVSTUgdGFrZXMgY2FyZSBvZiB0ZXh0LXZlcnRpY2FsaXphdGlvbiBmb3IgcmVzb3VyY2UgbW9kZWxzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0XG5cdFx0XHRcdC8vIEhlbmNlIGNoZWNrIGlmIHRoZSBnaXZlbiBrZXkgaXMgYSByZXNvdXJjZSBtb2RlbCBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdFxuXHRcdFx0XHQvLyBpZiBzbyB0aGlzIG1vZGVsIHNob3VsZCBiZSB1c2VkIHRvIGVuaGFuY2UgdGhlIHNhcC5mZSByZXNvdXJjZSBtb2RlbCBzbyBwYXNzIGl0IGFzIGl0IGlzXG5cdFx0XHRcdGNvbnN0IG9SZXNvdXJjZU1vZGVsID0gb0FwcENvbXBvbmVudC5nZXRNb2RlbChhRW5oYW5jZUkxOG5baV0pO1xuXHRcdFx0XHRpZiAob1Jlc291cmNlTW9kZWwgJiYgb1Jlc291cmNlTW9kZWwuaXNBKFwic2FwLnVpLm1vZGVsLnJlc291cmNlLlJlc291cmNlTW9kZWxcIikpIHtcblx0XHRcdFx0XHRhRW5oYW5jZUkxOG5baV0gPSBvUmVzb3VyY2VNb2RlbDtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRhRW5oYW5jZUkxOG5baV0gPSBgJHtzQXBwTmFtZXNwYWNlfS4ke2FFbmhhbmNlSTE4bltpXS5yZXBsYWNlKFwiLnByb3BlcnRpZXNcIiwgXCJcIil9YDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRjb25zdCBzQ2FjaGVJZGVudGlmaWVyID0gYCR7b0FwcENvbXBvbmVudC5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKX1fJHtzU3RhYmxlSWR9XyR7c2FwLnVpXG5cdFx0XHQuZ2V0Q29yZSgpXG5cdFx0XHQuZ2V0Q29uZmlndXJhdGlvbigpXG5cdFx0XHQuZ2V0TGFuZ3VhZ2VUYWcoKX1gO1xuXHRcdGFTZXJ2aWNlRGVwZW5kZW5jaWVzLnB1c2goXG5cdFx0XHRTZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LmdldChcInNhcC5mZS5jb3JlLnNlcnZpY2VzLlJlc291cmNlTW9kZWxTZXJ2aWNlXCIpXG5cdFx0XHRcdC5jcmVhdGVJbnN0YW5jZSh7XG5cdFx0XHRcdFx0c2NvcGVUeXBlOiBcImNvbXBvbmVudFwiLFxuXHRcdFx0XHRcdHNjb3BlT2JqZWN0OiBvQ29tcG9uZW50LFxuXHRcdFx0XHRcdHNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRidW5kbGVzOiBbXCJzYXAuZmUuY29yZS5tZXNzYWdlYnVuZGxlXCIsIFwic2FwLmZlLm1hY3Jvcy5tZXNzYWdlYnVuZGxlXCIsIFwic2FwLmZlLnRlbXBsYXRlcy5tZXNzYWdlYnVuZGxlXCJdLFxuXHRcdFx0XHRcdFx0ZW5oYW5jZUkxOG46IGFFbmhhbmNlSTE4bixcblx0XHRcdFx0XHRcdG1vZGVsTmFtZTogXCJzYXAuZmUuaTE4blwiXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0XHQudGhlbigob1Jlc291cmNlTW9kZWxTZXJ2aWNlOiBSZXNvdXJjZU1vZGVsU2VydmljZSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMub1Jlc291cmNlTW9kZWxTZXJ2aWNlID0gb1Jlc291cmNlTW9kZWxTZXJ2aWNlO1xuXHRcdFx0XHRcdHJldHVybiBvUmVzb3VyY2VNb2RlbFNlcnZpY2UuZ2V0UmVzb3VyY2VNb2RlbCgpO1xuXHRcdFx0XHR9KVxuXHRcdCk7XG5cdFx0YVNlcnZpY2VEZXBlbmRlbmNpZXMucHVzaChcblx0XHRcdFNlcnZpY2VGYWN0b3J5UmVnaXN0cnkuZ2V0KFwic2FwLmZlLmNvcmUuc2VydmljZXMuQ2FjaGVIYW5kbGVyU2VydmljZVwiKVxuXHRcdFx0XHQuY3JlYXRlSW5zdGFuY2Uoe1xuXHRcdFx0XHRcdHNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRtZXRhTW9kZWw6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRhcHBDb21wb25lbnQ6IG9BcHBDb21wb25lbnQsXG5cdFx0XHRcdFx0XHRjb21wb25lbnQ6IG9Db21wb25lbnRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC50aGVuKChvQ2FjaGVIYW5kbGVyU2VydmljZTogYW55KSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5vQ2FjaGVIYW5kbGVyU2VydmljZSA9IG9DYWNoZUhhbmRsZXJTZXJ2aWNlO1xuXHRcdFx0XHRcdHJldHVybiBvQ2FjaGVIYW5kbGVyU2VydmljZS52YWxpZGF0ZUNhY2hlS2V5KHNDYWNoZUlkZW50aWZpZXIsIG9Db21wb25lbnQpO1xuXHRcdFx0XHR9KVxuXHRcdCk7XG5cdFx0YVNlcnZpY2VEZXBlbmRlbmNpZXMucHVzaChcblx0XHRcdChWZXJzaW9uSW5mbyBhcyBhbnkpXG5cdFx0XHRcdC5sb2FkKClcblx0XHRcdFx0LnRoZW4oZnVuY3Rpb24gKG9JbmZvOiBhbnkpIHtcblx0XHRcdFx0XHRsZXQgc1RpbWVzdGFtcCA9IFwiXCI7XG5cdFx0XHRcdFx0aWYgKCFvSW5mby5saWJyYXJpZXMpIHtcblx0XHRcdFx0XHRcdHNUaW1lc3RhbXAgPSAoc2FwLnVpIGFzIGFueSkuYnVpbGRpbmZvLmJ1aWxkdGltZTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0b0luZm8ubGlicmFyaWVzLmZvckVhY2goZnVuY3Rpb24gKG9MaWJyYXJ5OiBhbnkpIHtcblx0XHRcdFx0XHRcdFx0c1RpbWVzdGFtcCArPSBvTGlicmFyeS5idWlsZFRpbWVzdGFtcDtcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gc1RpbWVzdGFtcDtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRyZXR1cm4gXCI8Tk9WQUxVRT5cIjtcblx0XHRcdFx0fSlcblx0XHQpO1xuXHRcdHRoaXMuaW5pdFByb21pc2UgPSBQcm9taXNlLmFsbChhU2VydmljZURlcGVuZGVuY2llcylcblx0XHRcdC50aGVuKGFzeW5jIChhRGVwZW5kZW5jaWVzUmVzdWx0OiBhbnlbXSkgPT4ge1xuXHRcdFx0XHRjb25zdCBvUmVzb3VyY2VNb2RlbCA9IGFEZXBlbmRlbmNpZXNSZXN1bHRbMF0gYXMgUmVzb3VyY2VNb2RlbDtcblx0XHRcdFx0Y29uc3Qgc0NhY2hlS2V5ID0gYURlcGVuZGVuY2llc1Jlc3VsdFsxXTtcblx0XHRcdFx0Y29uc3Qgb1NpZGVFZmZlY3RzU2VydmljZXMgPSBvQXBwQ29tcG9uZW50LmdldFNpZGVFZmZlY3RzU2VydmljZSgpO1xuXHRcdFx0XHRvU2lkZUVmZmVjdHNTZXJ2aWNlcy5pbml0aWFsaXplU2lkZUVmZmVjdHMob0FwcENvbXBvbmVudC5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpLmdldENhcGFiaWxpdGllcygpKTtcblx0XHRcdFx0Y29uc3QgW1RlbXBsYXRlQ29udmVydGVyLCBNZXRhTW9kZWxDb252ZXJ0ZXJdID0gYXdhaXQgcmVxdWlyZURlcGVuZGVuY2llcyhbXG5cdFx0XHRcdFx0XCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL1RlbXBsYXRlQ29udmVydGVyXCIsXG5cdFx0XHRcdFx0XCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiXG5cdFx0XHRcdF0pO1xuXHRcdFx0XHRyZXR1cm4gdGhpcy5jcmVhdGVWaWV3KG9SZXNvdXJjZU1vZGVsLCBzU3RhYmxlSWQsIHNDYWNoZUtleSwgVGVtcGxhdGVDb252ZXJ0ZXIsIE1ldGFNb2RlbENvbnZlcnRlcik7XG5cdFx0XHR9KVxuXHRcdFx0LnRoZW4oZnVuY3Rpb24gKHNDYWNoZUtleTogYW55KSB7XG5cdFx0XHRcdGNvbnN0IG9DYWNoZUhhbmRsZXJTZXJ2aWNlID0gU2VydmljZUZhY3RvcnlSZWdpc3RyeS5nZXQoXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5DYWNoZUhhbmRsZXJTZXJ2aWNlXCIpLmdldEluc3RhbmNlKG9NZXRhTW9kZWwpO1xuXHRcdFx0XHRvQ2FjaGVIYW5kbGVyU2VydmljZS5pbnZhbGlkYXRlSWZOZWVkZWQoc0NhY2hlS2V5LCBzQ2FjaGVJZGVudGlmaWVyLCBvQ29tcG9uZW50KTtcblx0XHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlZnJlc2ggdGhlIGN1cnJlbnQgdmlldyB1c2luZyB0aGUgc2FtZSBjb25maWd1cmF0aW9uIGFzIGJlZm9yZS5cblx0ICpcblx0ICogQHBhcmFtIG9Db21wb25lbnRcblx0ICogQHJldHVybnMgQSBwcm9taXNlIGluZGljYXRpbmcgd2hlbiB0aGUgdmlldyBpcyByZWZyZXNoZWRcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHJlZnJlc2hWaWV3KG9Db21wb25lbnQ6IGFueSkge1xuXHRcdGNvbnN0IG9Sb290VmlldyA9IG9Db21wb25lbnQuZ2V0Um9vdENvbnRyb2woKTtcblx0XHRpZiAob1Jvb3RWaWV3KSB7XG5cdFx0XHRvUm9vdFZpZXcuZGVzdHJveSgpO1xuXHRcdH0gZWxzZSBpZiAodGhpcy5vVmlldykge1xuXHRcdFx0dGhpcy5vVmlldy5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLmNyZWF0ZVZpZXcodGhpcy5yZXNvdXJjZU1vZGVsLCB0aGlzLnN0YWJsZUlkLCBcIlwiLCB0aGlzLlRlbXBsYXRlQ29udmVydGVyLCB0aGlzLk1ldGFNb2RlbENvbnZlcnRlcilcblx0XHRcdC50aGVuKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0b0NvbXBvbmVudC5vQ29udGFpbmVyLmludmFsaWRhdGUoKTtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goZnVuY3Rpb24gKG9FcnJvcjogYW55KSB7XG5cdFx0XHRcdG9Db21wb25lbnQub0NvbnRhaW5lci5pbnZhbGlkYXRlKCk7XG5cdFx0XHRcdExvZy5lcnJvcihvRXJyb3IpO1xuXHRcdFx0fSk7XG5cdH1cblxuXHRhc3luYyBjcmVhdGVWaWV3KFxuXHRcdG9SZXNvdXJjZU1vZGVsOiBSZXNvdXJjZU1vZGVsLFxuXHRcdHNTdGFibGVJZDogYW55LFxuXHRcdHNDYWNoZUtleTogYW55LFxuXHRcdFRlbXBsYXRlQ29udmVydGVyOiBhbnksXG5cdFx0TWV0YU1vZGVsQ29udmVydGVyOiBhbnlcblx0KTogUHJvbWlzZTxhbnkgfCB2b2lkPiB7XG5cdFx0dGhpcy5yZXNvdXJjZU1vZGVsID0gb1Jlc291cmNlTW9kZWw7IC8vIFRPRE86IGdldCByaWQsIGtlcHQgaXQgZm9yIHRoZSB0aW1lIGJlaW5nXG5cdFx0dGhpcy5zdGFibGVJZCA9IHNTdGFibGVJZDtcblx0XHR0aGlzLlRlbXBsYXRlQ29udmVydGVyID0gVGVtcGxhdGVDb252ZXJ0ZXI7XG5cdFx0dGhpcy5NZXRhTW9kZWxDb252ZXJ0ZXIgPSBNZXRhTW9kZWxDb252ZXJ0ZXI7XG5cdFx0Y29uc3Qgb0NvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcblx0XHRjb25zdCBtU2VydmljZVNldHRpbmdzID0gb0NvbnRleHQuc2V0dGluZ3M7XG5cdFx0Y29uc3Qgc0NvbnZlcnRlclR5cGUgPSBtU2VydmljZVNldHRpbmdzLmNvbnZlcnRlclR5cGU7XG5cdFx0Y29uc3Qgb0NvbXBvbmVudCA9IG9Db250ZXh0LnNjb3BlT2JqZWN0O1xuXHRcdGNvbnN0IG9BcHBDb21wb25lbnQ6IEFwcENvbXBvbmVudCA9IENvbXBvbmVudC5nZXRPd25lckNvbXBvbmVudEZvcihvQ29tcG9uZW50KSBhcyBBcHBDb21wb25lbnQ7XG5cdFx0Y29uc3Qgc0Z1bGxDb250ZXh0UGF0aCA9IG9BcHBDb21wb25lbnQuZ2V0Um91dGluZ1NlcnZpY2UoKS5nZXRUYXJnZXRJbmZvcm1hdGlvbkZvcihvQ29tcG9uZW50KS5vcHRpb25zLnNldHRpbmdzLmZ1bGxDb250ZXh0UGF0aDtcblx0XHRjb25zdCBvTWV0YU1vZGVsID0gb0FwcENvbXBvbmVudC5nZXRNZXRhTW9kZWwoKTtcblx0XHRjb25zdCBvTWFuaWZlc3RDb250ZW50OiBNYW5pZmVzdENvbnRlbnQgPSBvQXBwQ29tcG9uZW50LmdldE1hbmlmZXN0KCk7XG5cdFx0Y29uc3Qgb0RldmljZU1vZGVsID0gbmV3IEpTT05Nb2RlbChEZXZpY2UpLnNldERlZmF1bHRCaW5kaW5nTW9kZShcIk9uZVdheVwiKTtcblx0XHRjb25zdCBvTWFuaWZlc3RNb2RlbCA9IG5ldyBKU09OTW9kZWwob01hbmlmZXN0Q29udGVudCk7XG5cdFx0Y29uc3QgYkVycm9yID0gZmFsc2U7XG5cdFx0bGV0IG9QYWdlTW9kZWw6IFRlbXBsYXRlTW9kZWwsIG9WaWV3RGF0YU1vZGVsOiBNb2RlbCwgb1ZpZXdTZXR0aW5nczogYW55LCBtVmlld0RhdGE6IFZpZXdEYXRhO1xuXHRcdC8vIExvYWQgdGhlIGluZGV4IGZvciB0aGUgYWRkaXRpb25hbCBidWlsZGluZyBibG9ja3Mgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIGluaXRpYWxpemluZyB0aGVtXG5cdFx0ZnVuY3Rpb24gZ2V0Vmlld1NldHRpbmdzKCkge1xuXHRcdFx0Y29uc3QgYVNwbGl0UGF0aCA9IHNGdWxsQ29udGV4dFBhdGguc3BsaXQoXCIvXCIpO1xuXHRcdFx0Y29uc3Qgc0VudGl0eVNldFBhdGggPSBhU3BsaXRQYXRoLnJlZHVjZShmdW5jdGlvbiAoc1BhdGhTb0ZhcjogYW55LCBzTmV4dFBhdGhQYXJ0OiBhbnkpIHtcblx0XHRcdFx0aWYgKHNOZXh0UGF0aFBhcnQgPT09IFwiXCIpIHtcblx0XHRcdFx0XHRyZXR1cm4gc1BhdGhTb0Zhcjtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoc1BhdGhTb0ZhciA9PT0gXCJcIikge1xuXHRcdFx0XHRcdHNQYXRoU29GYXIgPSBgLyR7c05leHRQYXRoUGFydH1gO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGNvbnN0IG9UYXJnZXQgPSBvTWV0YU1vZGVsLmdldE9iamVjdChgJHtzUGF0aFNvRmFyfS8kTmF2aWdhdGlvblByb3BlcnR5QmluZGluZy8ke3NOZXh0UGF0aFBhcnR9YCk7XG5cdFx0XHRcdFx0aWYgKG9UYXJnZXQgJiYgT2JqZWN0LmtleXMob1RhcmdldCkubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdFx0c1BhdGhTb0ZhciArPSBcIi8kTmF2aWdhdGlvblByb3BlcnR5QmluZGluZ1wiO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRzUGF0aFNvRmFyICs9IGAvJHtzTmV4dFBhdGhQYXJ0fWA7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHNQYXRoU29GYXI7XG5cdFx0XHR9LCBcIlwiKTtcblx0XHRcdGxldCB2aWV3VHlwZSA9IG1TZXJ2aWNlU2V0dGluZ3Mudmlld1R5cGUgfHwgb0NvbXBvbmVudC5nZXRWaWV3VHlwZSgpIHx8IFwiWE1MXCI7XG5cdFx0XHRpZiAodmlld1R5cGUgIT09IFwiWE1MXCIpIHtcblx0XHRcdFx0dmlld1R5cGUgPSB1bmRlZmluZWQ7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHR0eXBlOiB2aWV3VHlwZSxcblx0XHRcdFx0cHJlcHJvY2Vzc29yczoge1xuXHRcdFx0XHRcdHhtbDoge1xuXHRcdFx0XHRcdFx0YmluZGluZ0NvbnRleHRzOiB7XG5cdFx0XHRcdFx0XHRcdGVudGl0eVNldDogc0VudGl0eVNldFBhdGggPyBvTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KHNFbnRpdHlTZXRQYXRoKSA6IG51bGwsXG5cdFx0XHRcdFx0XHRcdGZ1bGxDb250ZXh0UGF0aDogc0Z1bGxDb250ZXh0UGF0aCA/IG9NZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoc0Z1bGxDb250ZXh0UGF0aCkgOiBudWxsLFxuXHRcdFx0XHRcdFx0XHRjb250ZXh0UGF0aDogc0Z1bGxDb250ZXh0UGF0aCA/IG9NZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoc0Z1bGxDb250ZXh0UGF0aCkgOiBudWxsLFxuXHRcdFx0XHRcdFx0XHRjb252ZXJ0ZXJDb250ZXh0OiBvUGFnZU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL1wiLCB1bmRlZmluZWQsIHsgbm9SZXNvbHZlOiB0cnVlIH0pLFxuXHRcdFx0XHRcdFx0XHR2aWV3RGF0YTogbVZpZXdEYXRhID8gb1ZpZXdEYXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvXCIpIDogbnVsbFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1vZGVsczoge1xuXHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRcdGZ1bGxDb250ZXh0UGF0aDogb01ldGFNb2RlbCxcblx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRcdFwic2FwLmZlLmkxOG5cIjogb1Jlc291cmNlTW9kZWwsXG5cdFx0XHRcdFx0XHRcdG1ldGFNb2RlbDogb01ldGFNb2RlbCxcblx0XHRcdFx0XHRcdFx0ZGV2aWNlOiBvRGV2aWNlTW9kZWwsXG5cdFx0XHRcdFx0XHRcdG1hbmlmZXN0OiBvTWFuaWZlc3RNb2RlbCxcblx0XHRcdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dDogb1BhZ2VNb2RlbCxcblx0XHRcdFx0XHRcdFx0dmlld0RhdGE6IG9WaWV3RGF0YU1vZGVsXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0YXBwQ29tcG9uZW50OiBvQXBwQ29tcG9uZW50XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRpZDogc1N0YWJsZUlkLFxuXHRcdFx0XHR2aWV3TmFtZTogbVNlcnZpY2VTZXR0aW5ncy52aWV3TmFtZSB8fCBvQ29tcG9uZW50LmdldFZpZXdOYW1lKCksXG5cdFx0XHRcdHZpZXdEYXRhOiBtVmlld0RhdGEsXG5cdFx0XHRcdGNhY2hlOiB7XG5cdFx0XHRcdFx0a2V5czogW3NDYWNoZUtleV0sXG5cdFx0XHRcdFx0YWRkaXRpb25hbERhdGE6IHtcblx0XHRcdFx0XHRcdC8vIFdlIHN0b3JlIHRoZSBwYWdlIG1vZGVsIGRhdGEgaW4gdGhlIGBhZGRpdGlvbmFsRGF0YWAgb2YgdGhlIHZpZXcgY2FjaGUsIHRoaXMgd2F5IGl0IGlzIGFsd2F5cyBpbiBzeW5jXG5cdFx0XHRcdFx0XHRnZXRBZGRpdGlvbmFsQ2FjaGVEYXRhOiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiAob1BhZ2VNb2RlbCBhcyB1bmtub3duIGFzIEpTT05Nb2RlbCkuZ2V0RGF0YSgpO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHNldEFkZGl0aW9uYWxDYWNoZURhdGE6ICh2YWx1ZTogb2JqZWN0KSA9PiB7XG5cdFx0XHRcdFx0XHRcdChvUGFnZU1vZGVsIGFzIHVua25vd24gYXMgSlNPTk1vZGVsKS5zZXREYXRhKHZhbHVlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdG1vZGVsczoge1xuXHRcdFx0XHRcdFwic2FwLmZlLmkxOG5cIjogb1Jlc291cmNlTW9kZWxcblx0XHRcdFx0fSxcblx0XHRcdFx0aGVpZ2h0OiBcIjEwMCVcIlxuXHRcdFx0fTtcblx0XHR9XG5cdFx0Y29uc3QgY3JlYXRlRXJyb3JQYWdlID0gKHJlYXNvbjogYW55KSA9PiB7XG5cdFx0XHQvLyBqdXN0IHJlcGxhY2UgdGhlIHZpZXcgbmFtZSBhbmQgYWRkIGFuIGFkZGl0aW9uYWwgbW9kZWwgY29udGFpbmluZyB0aGUgcmVhc29uLCBidXRcblx0XHRcdC8vIGtlZXAgdGhlIG90aGVyIHNldHRpbmdzXG5cdFx0XHRMb2cuZXJyb3IocmVhc29uLm1lc3NhZ2UsIHJlYXNvbik7XG5cdFx0XHRvVmlld1NldHRpbmdzLnZpZXdOYW1lID0gbVNlcnZpY2VTZXR0aW5ncy5lcnJvclZpZXdOYW1lIHx8IFwic2FwLmZlLmNvcmUuc2VydmljZXMudmlldy5UZW1wbGF0aW5nRXJyb3JQYWdlXCI7XG5cdFx0XHRvVmlld1NldHRpbmdzLnByZXByb2Nlc3NvcnMueG1sLm1vZGVsc1tcImVycm9yXCJdID0gbmV3IEpTT05Nb2RlbChyZWFzb24pO1xuXHRcdFx0cmV0dXJuIG9Db21wb25lbnQucnVuQXNPd25lcigoKSA9PiB7XG5cdFx0XHRcdHJldHVybiBWaWV3LmNyZWF0ZShvVmlld1NldHRpbmdzKS50aGVuKChvVmlldzogYW55KSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5vVmlldyA9IG9WaWV3O1xuXHRcdFx0XHRcdHRoaXMub1ZpZXcuc2V0TW9kZWwobmV3IE1hbmFnZWRPYmplY3RNb2RlbCh0aGlzLm9WaWV3KSwgXCIkdmlld1wiKTtcblx0XHRcdFx0XHRvQ29tcG9uZW50LnNldEFnZ3JlZ2F0aW9uKFwicm9vdENvbnRyb2xcIiwgdGhpcy5vVmlldyk7XG5cdFx0XHRcdFx0cmV0dXJuIHNDYWNoZUtleTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9KTtcblx0XHR9O1xuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBvUm91dGluZ1NlcnZpY2UgPSBhd2FpdCBvQXBwQ29tcG9uZW50LmdldFNlcnZpY2UoXCJyb3V0aW5nU2VydmljZVwiKTtcblx0XHRcdC8vIFJldHJpZXZlIHRoZSB2aWV3TGV2ZWwgZm9yIHRoZSBjb21wb25lbnRcblx0XHRcdGNvbnN0IG9UYXJnZXRJbmZvID0gb1JvdXRpbmdTZXJ2aWNlLmdldFRhcmdldEluZm9ybWF0aW9uRm9yKG9Db21wb25lbnQpO1xuXHRcdFx0Y29uc3QgbU91dGJvdW5kcyA9XG5cdFx0XHRcdChvTWFuaWZlc3RDb250ZW50W1wic2FwLmFwcFwiXSAmJlxuXHRcdFx0XHRcdG9NYW5pZmVzdENvbnRlbnRbXCJzYXAuYXBwXCJdLmNyb3NzTmF2aWdhdGlvbiAmJlxuXHRcdFx0XHRcdG9NYW5pZmVzdENvbnRlbnRbXCJzYXAuYXBwXCJdLmNyb3NzTmF2aWdhdGlvbi5vdXRib3VuZHMpIHx8XG5cdFx0XHRcdHt9O1xuXHRcdFx0Y29uc3QgbU5hdmlnYXRpb24gPSBvQ29tcG9uZW50LmdldE5hdmlnYXRpb24oKSB8fCB7fTtcblx0XHRcdE9iamVjdC5rZXlzKG1OYXZpZ2F0aW9uKS5mb3JFYWNoKGZ1bmN0aW9uIChuYXZpZ2F0aW9uT2JqZWN0S2V5OiBzdHJpbmcpIHtcblx0XHRcdFx0Y29uc3QgbmF2aWdhdGlvbk9iamVjdCA9IG1OYXZpZ2F0aW9uW25hdmlnYXRpb25PYmplY3RLZXldO1xuXHRcdFx0XHRsZXQgb3V0Ym91bmRDb25maWc7XG5cdFx0XHRcdGlmIChuYXZpZ2F0aW9uT2JqZWN0LmRldGFpbCAmJiBuYXZpZ2F0aW9uT2JqZWN0LmRldGFpbC5vdXRib3VuZCAmJiBtT3V0Ym91bmRzW25hdmlnYXRpb25PYmplY3QuZGV0YWlsLm91dGJvdW5kXSkge1xuXHRcdFx0XHRcdG91dGJvdW5kQ29uZmlnID0gbU91dGJvdW5kc1tuYXZpZ2F0aW9uT2JqZWN0LmRldGFpbC5vdXRib3VuZF07XG5cdFx0XHRcdFx0bmF2aWdhdGlvbk9iamVjdC5kZXRhaWwub3V0Ym91bmREZXRhaWwgPSB7XG5cdFx0XHRcdFx0XHRzZW1hbnRpY09iamVjdDogb3V0Ym91bmRDb25maWcuc2VtYW50aWNPYmplY3QsXG5cdFx0XHRcdFx0XHRhY3Rpb246IG91dGJvdW5kQ29uZmlnLmFjdGlvbixcblx0XHRcdFx0XHRcdHBhcmFtZXRlcnM6IG91dGJvdW5kQ29uZmlnLnBhcmFtZXRlcnNcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChuYXZpZ2F0aW9uT2JqZWN0LmNyZWF0ZSAmJiBuYXZpZ2F0aW9uT2JqZWN0LmNyZWF0ZS5vdXRib3VuZCAmJiBtT3V0Ym91bmRzW25hdmlnYXRpb25PYmplY3QuY3JlYXRlLm91dGJvdW5kXSkge1xuXHRcdFx0XHRcdG91dGJvdW5kQ29uZmlnID0gbU91dGJvdW5kc1tuYXZpZ2F0aW9uT2JqZWN0LmNyZWF0ZS5vdXRib3VuZF07XG5cdFx0XHRcdFx0bmF2aWdhdGlvbk9iamVjdC5jcmVhdGUub3V0Ym91bmREZXRhaWwgPSB7XG5cdFx0XHRcdFx0XHRzZW1hbnRpY09iamVjdDogb3V0Ym91bmRDb25maWcuc2VtYW50aWNPYmplY3QsXG5cdFx0XHRcdFx0XHRhY3Rpb246IG91dGJvdW5kQ29uZmlnLmFjdGlvbixcblx0XHRcdFx0XHRcdHBhcmFtZXRlcnM6IG91dGJvdW5kQ29uZmlnLnBhcmFtZXRlcnNcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdG1WaWV3RGF0YSA9IHtcblx0XHRcdFx0YXBwQ29tcG9uZW50OiBvQXBwQ29tcG9uZW50LFxuXHRcdFx0XHRuYXZpZ2F0aW9uOiBtTmF2aWdhdGlvbixcblx0XHRcdFx0dmlld0xldmVsOiBvVGFyZ2V0SW5mby52aWV3TGV2ZWwsXG5cdFx0XHRcdHN0YWJsZUlkOiBzU3RhYmxlSWQsXG5cdFx0XHRcdGNvbnRlbnREZW5zaXRpZXM6IG9NYW5pZmVzdENvbnRlbnRbXCJzYXAudWk1XCJdPy5jb250ZW50RGVuc2l0aWVzLFxuXHRcdFx0XHRyZXNvdXJjZU1vZGVsOiBvUmVzb3VyY2VNb2RlbCxcblx0XHRcdFx0ZnVsbENvbnRleHRQYXRoOiBzRnVsbENvbnRleHRQYXRoLFxuXHRcdFx0XHRpc0Rlc2t0b3A6IChEZXZpY2UgYXMgYW55KS5zeXN0ZW0uZGVza3RvcCxcblx0XHRcdFx0aXNQaG9uZTogKERldmljZSBhcyBhbnkpLnN5c3RlbS5waG9uZVxuXHRcdFx0fTtcblx0XHRcdGlmIChvQ29tcG9uZW50LmdldFZpZXdEYXRhKSB7XG5cdFx0XHRcdE9iamVjdC5hc3NpZ24obVZpZXdEYXRhLCBvQ29tcG9uZW50LmdldFZpZXdEYXRhKCkpO1xuXHRcdFx0XHRjb25zdCBhY3R1YWxTZXR0aW5ncyA9IG9NYW5pZmVzdENvbnRlbnQ/LltcInNhcC51aTVcIl0/LnJvdXRpbmc/LnRhcmdldHM/Llt0aGlzLnBhZ2VJZF0/Lm9wdGlvbnM/LnNldHRpbmdzIHx8IHt9O1xuXHRcdFx0XHRtVmlld0RhdGEgPSBhcHBseVBhZ2VDb25maWd1cmF0aW9uQ2hhbmdlcyhhY3R1YWxTZXR0aW5ncywgbVZpZXdEYXRhLCBvQXBwQ29tcG9uZW50LCB0aGlzLnBhZ2VJZCk7XG5cdFx0XHR9XG5cdFx0XHRtVmlld0RhdGEuaXNTaGFyZUJ1dHRvblZpc2libGVGb3JNeUluYm94ID0gVGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5LmdldFNoYXJlQnV0dG9uVmlzaWJpbGl0eUZvck15SW5ib3gob0FwcENvbXBvbmVudCk7XG5cdFx0XHRjb25zdCBvU2hlbGxTZXJ2aWNlcyA9IG9BcHBDb21wb25lbnQuZ2V0U2hlbGxTZXJ2aWNlcygpO1xuXHRcdFx0bVZpZXdEYXRhLmNvbnZlcnRlclR5cGUgPSBzQ29udmVydGVyVHlwZTtcblx0XHRcdG1WaWV3RGF0YS5zaGVsbENvbnRlbnREZW5zaXR5ID0gb1NoZWxsU2VydmljZXMuZ2V0Q29udGVudERlbnNpdHkoKTtcblx0XHRcdG1WaWV3RGF0YS5yZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0ID1cblx0XHRcdFx0b01hbmlmZXN0Q29udGVudFtcInNhcC5mZVwiXSAmJiBvTWFuaWZlc3RDb250ZW50W1wic2FwLmZlXCJdLmZvcm1cblx0XHRcdFx0XHQ/IG9NYW5pZmVzdENvbnRlbnRbXCJzYXAuZmVcIl0uZm9ybS5yZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0XG5cdFx0XHRcdFx0OiB1bmRlZmluZWQ7XG5cdFx0XHRvVmlld0RhdGFNb2RlbCA9IG5ldyBKU09OTW9kZWwobVZpZXdEYXRhKTtcblx0XHRcdGlmIChtVmlld0RhdGEuY29udHJvbENvbmZpZ3VyYXRpb24pIHtcblx0XHRcdFx0Zm9yIChjb25zdCBzQW5ub3RhdGlvblBhdGggaW4gbVZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uKSB7XG5cdFx0XHRcdFx0aWYgKHNBbm5vdGF0aW9uUGF0aC5pbmRleE9mKFwiW1wiKSAhPT0gLTEpIHtcblx0XHRcdFx0XHRcdGNvbnN0IHNUYXJnZXRBbm5vdGF0aW9uUGF0aCA9IHJlc29sdmVEeW5hbWljRXhwcmVzc2lvbihzQW5ub3RhdGlvblBhdGgsIG9NZXRhTW9kZWwpO1xuXHRcdFx0XHRcdFx0bVZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uW3NUYXJnZXRBbm5vdGF0aW9uUGF0aF0gPSBtVmlld0RhdGEuY29udHJvbENvbmZpZ3VyYXRpb25bc0Fubm90YXRpb25QYXRoXTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdE1ldGFNb2RlbENvbnZlcnRlci5jb252ZXJ0VHlwZXMob01ldGFNb2RlbCwgb0FwcENvbXBvbmVudC5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpLmdldENhcGFiaWxpdGllcygpKTtcblx0XHRcdG9QYWdlTW9kZWwgPSBuZXcgVGVtcGxhdGVNb2RlbCgoKSA9PiB7XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0Y29uc3Qgb0RpYWdub3N0aWNzID0gb0FwcENvbXBvbmVudC5nZXREaWFnbm9zdGljcygpO1xuXHRcdFx0XHRcdGNvbnN0IGlJc3N1ZUNvdW50ID0gb0RpYWdub3N0aWNzLmdldElzc3VlcygpLmxlbmd0aDtcblx0XHRcdFx0XHRjb25zdCBvQ29udmVydGVyUGFnZU1vZGVsID0gVGVtcGxhdGVDb252ZXJ0ZXIuY29udmVydFBhZ2UoXG5cdFx0XHRcdFx0XHRzQ29udmVydGVyVHlwZSxcblx0XHRcdFx0XHRcdG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRtVmlld0RhdGEsXG5cdFx0XHRcdFx0XHRvRGlhZ25vc3RpY3MsXG5cdFx0XHRcdFx0XHRzRnVsbENvbnRleHRQYXRoLFxuXHRcdFx0XHRcdFx0b0FwcENvbXBvbmVudC5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpLmdldENhcGFiaWxpdGllcygpLFxuXHRcdFx0XHRcdFx0b0NvbXBvbmVudFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0Y29uc3QgYUlzc3VlcyA9IG9EaWFnbm9zdGljcy5nZXRJc3N1ZXMoKTtcblx0XHRcdFx0XHRjb25zdCBhQWRkZWRJc3N1ZXMgPSBhSXNzdWVzLnNsaWNlKGlJc3N1ZUNvdW50KTtcblx0XHRcdFx0XHRpZiAoYUFkZGVkSXNzdWVzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFx0XHRcIlNvbWUgaXNzdWVzIGhhdmUgYmVlbiBkZXRlY3RlZCBpbiB5b3VyIHByb2plY3QsIHBsZWFzZSBjaGVjayB0aGUgVUk1IHN1cHBvcnQgYXNzaXN0YW50IHJ1bGUgZm9yIHNhcC5mZS5jb3JlXCJcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiBvQ29udmVydGVyUGFnZU1vZGVsO1xuXHRcdFx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0XHRcdExvZy5lcnJvcihlcnJvciBhcyBhbnksIGVycm9yIGFzIGFueSk7XG5cdFx0XHRcdFx0cmV0dXJuIHt9O1xuXHRcdFx0XHR9XG5cdFx0XHR9LCBvTWV0YU1vZGVsKTtcblx0XHRcdGlmICghYkVycm9yKSB7XG5cdFx0XHRcdG9WaWV3U2V0dGluZ3MgPSBnZXRWaWV3U2V0dGluZ3MoKTtcblx0XHRcdFx0Ly8gU2V0dGluZyB0aGUgcGFnZU1vZGVsIG9uIHRoZSBjb21wb25lbnQgZm9yIHBvdGVudGlhbCByZXVzZVxuXHRcdFx0XHRvQ29tcG9uZW50LnNldE1vZGVsKG9QYWdlTW9kZWwsIFwiX3BhZ2VNb2RlbFwiKTtcblx0XHRcdFx0cmV0dXJuIG9Db21wb25lbnQucnVuQXNPd25lcigoKSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIFZpZXcuY3JlYXRlKG9WaWV3U2V0dGluZ3MpXG5cdFx0XHRcdFx0XHQuY2F0Y2goY3JlYXRlRXJyb3JQYWdlKVxuXHRcdFx0XHRcdFx0LnRoZW4oKG9WaWV3OiBhbnkpID0+IHtcblx0XHRcdFx0XHRcdFx0dGhpcy5vVmlldyA9IG9WaWV3O1xuXHRcdFx0XHRcdFx0XHR0aGlzLm9WaWV3LnNldE1vZGVsKG5ldyBNYW5hZ2VkT2JqZWN0TW9kZWwodGhpcy5vVmlldyksIFwiJHZpZXdcIik7XG5cdFx0XHRcdFx0XHRcdHRoaXMub1ZpZXcuc2V0TW9kZWwob1ZpZXdEYXRhTW9kZWwsIFwidmlld0RhdGFcIik7XG5cdFx0XHRcdFx0XHRcdG9Db21wb25lbnQuc2V0QWdncmVnYXRpb24oXCJyb290Q29udHJvbFwiLCB0aGlzLm9WaWV3KTtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHNDYWNoZUtleTtcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQuY2F0Y2goKGUpID0+IExvZy5lcnJvcihlLm1lc3NhZ2UsIGUpKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAoZXJyb3I6IGFueSkge1xuXHRcdFx0TG9nLmVycm9yKGVycm9yLm1lc3NhZ2UsIGVycm9yKTtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgRXJyb3Igd2hpbGUgY3JlYXRpbmcgdmlldyA6ICR7ZXJyb3J9YCk7XG5cdFx0fVxuXHR9XG5cblx0Z2V0VmlldygpIHtcblx0XHRyZXR1cm4gdGhpcy5vVmlldztcblx0fVxuXG5cdGdldEludGVyZmFjZSgpOiBhbnkge1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0ZXhpdCgpIHtcblx0XHQvLyBEZXJlZ2lzdGVyIGdsb2JhbCBpbnN0YW5jZVxuXHRcdGlmICh0aGlzLm9SZXNvdXJjZU1vZGVsU2VydmljZSkge1xuXHRcdFx0dGhpcy5vUmVzb3VyY2VNb2RlbFNlcnZpY2UuZGVzdHJveSgpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5vQ2FjaGVIYW5kbGVyU2VydmljZSkge1xuXHRcdFx0dGhpcy5vQ2FjaGVIYW5kbGVyU2VydmljZS5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdHRoaXMub0ZhY3RvcnkucmVtb3ZlR2xvYmFsSW5zdGFuY2UoKTtcblx0fVxufVxuY2xhc3MgVGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5IGV4dGVuZHMgU2VydmljZUZhY3Rvcnk8VGVtcGxhdGVkVmlld1NlcnZpY2VTZXR0aW5ncz4ge1xuXHRfb0luc3RhbmNlUmVnaXN0cnk6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlZFZpZXdTZXJ2aWNlPiA9IHt9O1xuXG5cdHN0YXRpYyBpQ3JlYXRpbmdWaWV3czogMDtcblxuXHRjcmVhdGVJbnN0YW5jZShvU2VydmljZUNvbnRleHQ6IFNlcnZpY2VDb250ZXh0PFRlbXBsYXRlZFZpZXdTZXJ2aWNlU2V0dGluZ3M+KSB7XG5cdFx0VGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5LmlDcmVhdGluZ1ZpZXdzKys7XG5cdFx0Y29uc3Qgb1RlbXBsYXRlZFZpZXdTZXJ2aWNlID0gbmV3IFRlbXBsYXRlZFZpZXdTZXJ2aWNlKE9iamVjdC5hc3NpZ24oeyBmYWN0b3J5OiB0aGlzIH0sIG9TZXJ2aWNlQ29udGV4dCkpO1xuXHRcdHJldHVybiBvVGVtcGxhdGVkVmlld1NlcnZpY2UuaW5pdFByb21pc2UudGhlbihmdW5jdGlvbiAoKSB7XG5cdFx0XHRUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkuaUNyZWF0aW5nVmlld3MtLTtcblx0XHRcdHJldHVybiBvVGVtcGxhdGVkVmlld1NlcnZpY2U7XG5cdFx0fSk7XG5cdH1cblxuXHRyZW1vdmVHbG9iYWxJbnN0YW5jZSgpIHtcblx0XHR0aGlzLl9vSW5zdGFuY2VSZWdpc3RyeSA9IHt9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEBkZXNjcmlwdGlvbiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiB0aGUgY29tcG9uZW50IGRhdGEgc3BlY2lmaWVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSAnU2hhcmUnIGJ1dHRvbiBhbmQgcmV0dXJucyB0cnVlIG9yIGZhbHNlIGJhc2VkIG9uIHRoZSB2aXNpYmlsaXR5XG5cdCAqIEBwYXJhbSBhcHBDb21wb25lbnQgU3BlY2lmaWVzIHRoZSBhcHAgY29tcG9uZW50XG5cdCAqIEByZXR1cm5zIEJvb2xlYW4gdmFsdWUgYXMgdHJ1ZSBvciBmYWxzZSBiYXNlZCB3aGV0aGVyIHRoZSAnU2hhcmUnIGJ1dHRvbiBzaG91bGQgYmUgdmlzaWJsZSBvciBub3Rcblx0ICovXG5cdHN0YXRpYyBnZXRTaGFyZUJ1dHRvblZpc2liaWxpdHlGb3JNeUluYm94KGFwcENvbXBvbmVudDogQXBwQ29tcG9uZW50KSB7XG5cdFx0Y29uc3QgY29tcG9uZW50RGF0YTogQ29tcG9uZW50RGF0YSA9IGFwcENvbXBvbmVudC5nZXRDb21wb25lbnREYXRhKCk7XG5cdFx0aWYgKGNvbXBvbmVudERhdGEgIT09IHVuZGVmaW5lZCAmJiBjb21wb25lbnREYXRhLmZlRW52aXJvbm1lbnQpIHtcblx0XHRcdHJldHVybiBjb21wb25lbnREYXRhLmZlRW52aXJvbm1lbnQuZ2V0U2hhcmVDb250cm9sVmlzaWJpbGl0eSgpO1xuXHRcdH1cblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG5cblx0c3RhdGljIGdldE51bWJlck9mVmlld3NJbkNyZWF0aW9uU3RhdGUoKSB7XG5cdFx0cmV0dXJuIFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeS5pQ3JlYXRpbmdWaWV3cztcblx0fVxufVxuZXhwb3J0IGRlZmF1bHQgVGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7TUEyQ01BLG9CQUFvQjtJQUFBO0lBQUE7TUFBQTtJQUFBO0lBQUE7SUFBQSxPQXFCekJDLElBQUksR0FBSixnQkFBTztNQUNOLE1BQU1DLG9CQUFv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
|
|
375
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZWRWaWV3U2VydmljZSIsImluaXQiLCJhU2VydmljZURlcGVuZGVuY2llcyIsIm9Db250ZXh0IiwiZ2V0Q29udGV4dCIsIm9Db21wb25lbnQiLCJzY29wZU9iamVjdCIsIm9BcHBDb21wb25lbnQiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsIm9NZXRhTW9kZWwiLCJnZXRNZXRhTW9kZWwiLCJwYWdlSWQiLCJnZXRMb2NhbElkIiwiZ2V0SWQiLCJzU3RhYmxlSWQiLCJnZXRNZXRhZGF0YSIsImdldENvbXBvbmVudE5hbWUiLCJhRW5oYW5jZUkxOG4iLCJnZXRFbmhhbmNlSTE4biIsInNBcHBOYW1lc3BhY2UiLCJvRmFjdG9yeSIsImZhY3RvcnkiLCJpIiwibGVuZ3RoIiwib1Jlc291cmNlTW9kZWwiLCJnZXRNb2RlbCIsImlzQSIsInJlcGxhY2UiLCJzQ2FjaGVJZGVudGlmaWVyIiwiZ2V0TmFtZSIsInNhcCIsInVpIiwiZ2V0Q29yZSIsImdldENvbmZpZ3VyYXRpb24iLCJnZXRMYW5ndWFnZVRhZyIsInB1c2giLCJTZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5IiwiZ2V0IiwiY3JlYXRlSW5zdGFuY2UiLCJzY29wZVR5cGUiLCJzZXR0aW5ncyIsImJ1bmRsZXMiLCJlbmhhbmNlSTE4biIsIm1vZGVsTmFtZSIsInRoZW4iLCJvUmVzb3VyY2VNb2RlbFNlcnZpY2UiLCJnZXRSZXNvdXJjZU1vZGVsIiwibWV0YU1vZGVsIiwiYXBwQ29tcG9uZW50IiwiY29tcG9uZW50Iiwib0NhY2hlSGFuZGxlclNlcnZpY2UiLCJ2YWxpZGF0ZUNhY2hlS2V5IiwiVmVyc2lvbkluZm8iLCJsb2FkIiwib0luZm8iLCJzVGltZXN0YW1wIiwibGlicmFyaWVzIiwiYnVpbGRpbmZvIiwiYnVpbGR0aW1lIiwiZm9yRWFjaCIsIm9MaWJyYXJ5IiwiYnVpbGRUaW1lc3RhbXAiLCJjYXRjaCIsImluaXRQcm9taXNlIiwiUHJvbWlzZSIsImFsbCIsImFEZXBlbmRlbmNpZXNSZXN1bHQiLCJzQ2FjaGVLZXkiLCJvU2lkZUVmZmVjdHNTZXJ2aWNlcyIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsImVudmlyb25tZW50Q2FwYWJpbGl0aWVzU2VydmljZSIsImdldFNlcnZpY2UiLCJpbml0aWFsaXplU2lkZUVmZmVjdHMiLCJnZXRDYXBhYmlsaXRpZXMiLCJUZW1wbGF0ZUNvbnZlcnRlciIsIk1ldGFNb2RlbENvbnZlcnRlciIsInJlcXVpcmVEZXBlbmRlbmNpZXMiLCJjcmVhdGVWaWV3IiwiZ2V0SW5zdGFuY2UiLCJpbnZhbGlkYXRlSWZOZWVkZWQiLCJyZWZyZXNoVmlldyIsIm9Sb290VmlldyIsImdldFJvb3RDb250cm9sIiwiZGVzdHJveSIsIm9WaWV3IiwicmVzb3VyY2VNb2RlbCIsInN0YWJsZUlkIiwib0NvbnRhaW5lciIsImludmFsaWRhdGUiLCJvRXJyb3IiLCJMb2ciLCJlcnJvciIsIm1TZXJ2aWNlU2V0dGluZ3MiLCJzQ29udmVydGVyVHlwZSIsImNvbnZlcnRlclR5cGUiLCJzRnVsbENvbnRleHRQYXRoIiwiZ2V0Um91dGluZ1NlcnZpY2UiLCJnZXRUYXJnZXRJbmZvcm1hdGlvbkZvciIsIm9wdGlvbnMiLCJmdWxsQ29udGV4dFBhdGgiLCJvTWFuaWZlc3RDb250ZW50IiwiZ2V0TWFuaWZlc3QiLCJvRGV2aWNlTW9kZWwiLCJKU09OTW9kZWwiLCJEZXZpY2UiLCJzZXREZWZhdWx0QmluZGluZ01vZGUiLCJvTWFuaWZlc3RNb2RlbCIsImJFcnJvciIsIm9QYWdlTW9kZWwiLCJvVmlld0RhdGFNb2RlbCIsIm9WaWV3U2V0dGluZ3MiLCJtVmlld0RhdGEiLCJnZXRWaWV3U2V0dGluZ3MiLCJhU3BsaXRQYXRoIiwic3BsaXQiLCJzRW50aXR5U2V0UGF0aCIsInJlZHVjZSIsInNQYXRoU29GYXIiLCJzTmV4dFBhdGhQYXJ0Iiwib1RhcmdldCIsImdldE9iamVjdCIsIk9iamVjdCIsImtleXMiLCJ2aWV3VHlwZSIsImdldFZpZXdUeXBlIiwidW5kZWZpbmVkIiwidHlwZSIsInByZXByb2Nlc3NvcnMiLCJ4bWwiLCJiaW5kaW5nQ29udGV4dHMiLCJlbnRpdHlTZXQiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsImNvbnRleHRQYXRoIiwiY29udmVydGVyQ29udGV4dCIsIm5vUmVzb2x2ZSIsInZpZXdEYXRhIiwibW9kZWxzIiwiZGV2aWNlIiwibWFuaWZlc3QiLCJpZCIsInZpZXdOYW1lIiwiZ2V0Vmlld05hbWUiLCJjYWNoZSIsImFkZGl0aW9uYWxEYXRhIiwiZ2V0QWRkaXRpb25hbENhY2hlRGF0YSIsImdldERhdGEiLCJzZXRBZGRpdGlvbmFsQ2FjaGVEYXRhIiwidmFsdWUiLCJzZXREYXRhIiwiaGVpZ2h0IiwiY3JlYXRlRXJyb3JQYWdlIiwicmVhc29uIiwibWVzc2FnZSIsImVycm9yVmlld05hbWUiLCJydW5Bc093bmVyIiwiVmlldyIsImNyZWF0ZSIsInNldE1vZGVsIiwiTWFuYWdlZE9iamVjdE1vZGVsIiwic2V0QWdncmVnYXRpb24iLCJvUm91dGluZ1NlcnZpY2UiLCJvVGFyZ2V0SW5mbyIsIm1PdXRib3VuZHMiLCJjcm9zc05hdmlnYXRpb24iLCJvdXRib3VuZHMiLCJtTmF2aWdhdGlvbiIsImdldE5hdmlnYXRpb24iLCJuYXZpZ2F0aW9uT2JqZWN0S2V5IiwibmF2aWdhdGlvbk9iamVjdCIsIm91dGJvdW5kQ29uZmlnIiwiZGV0YWlsIiwib3V0Ym91bmQiLCJvdXRib3VuZERldGFpbCIsInNlbWFudGljT2JqZWN0IiwiYWN0aW9uIiwicGFyYW1ldGVycyIsIm5hdmlnYXRpb24iLCJ2aWV3TGV2ZWwiLCJjb250ZW50RGVuc2l0aWVzIiwiaXNEZXNrdG9wIiwic3lzdGVtIiwiZGVza3RvcCIsImlzUGhvbmUiLCJwaG9uZSIsImdldFZpZXdEYXRhIiwiYXNzaWduIiwiYWN0dWFsU2V0dGluZ3MiLCJyb3V0aW5nIiwidGFyZ2V0cyIsImFwcGx5UGFnZUNvbmZpZ3VyYXRpb25DaGFuZ2VzIiwiaXNTaGFyZUJ1dHRvblZpc2libGVGb3JNeUluYm94IiwiVGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5IiwiZ2V0U2hhcmVCdXR0b25WaXNpYmlsaXR5Rm9yTXlJbmJveCIsIm9TaGVsbFNlcnZpY2VzIiwiZ2V0U2hlbGxTZXJ2aWNlcyIsInNoZWxsQ29udGVudERlbnNpdHkiLCJnZXRDb250ZW50RGVuc2l0eSIsInJldHJpZXZlVGV4dEZyb21WYWx1ZUxpc3QiLCJmb3JtIiwiY29udHJvbENvbmZpZ3VyYXRpb24iLCJzQW5ub3RhdGlvblBhdGgiLCJpbmRleE9mIiwic1RhcmdldEFubm90YXRpb25QYXRoIiwicmVzb2x2ZUR5bmFtaWNFeHByZXNzaW9uIiwiY29udmVydFR5cGVzIiwiZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMiLCJUZW1wbGF0ZU1vZGVsIiwib0RpYWdub3N0aWNzIiwiZ2V0RGlhZ25vc3RpY3MiLCJpSXNzdWVDb3VudCIsImdldElzc3VlcyIsIm9Db252ZXJ0ZXJQYWdlTW9kZWwiLCJjb252ZXJ0UGFnZSIsImFJc3N1ZXMiLCJhQWRkZWRJc3N1ZXMiLCJzbGljZSIsIndhcm5pbmciLCJlIiwiRXJyb3IiLCJnZXRWaWV3IiwiZ2V0SW50ZXJmYWNlIiwiZXhpdCIsInJlbW92ZUdsb2JhbEluc3RhbmNlIiwiU2VydmljZSIsIl9vSW5zdGFuY2VSZWdpc3RyeSIsIm9TZXJ2aWNlQ29udGV4dCIsImlDcmVhdGluZ1ZpZXdzIiwib1RlbXBsYXRlZFZpZXdTZXJ2aWNlIiwiY29tcG9uZW50RGF0YSIsImdldENvbXBvbmVudERhdGEiLCJmZUVudmlyb25tZW50IiwiZ2V0U2hhcmVDb250cm9sVmlzaWJpbGl0eSIsImdldE51bWJlck9mVmlld3NJbkNyZWF0aW9uU3RhdGUiLCJTZXJ2aWNlRmFjdG9yeSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiVGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgQXBwQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9BcHBDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50RGF0YSwgTWFuaWZlc3RDb250ZW50IH0gZnJvbSBcInNhcC9mZS9jb3JlL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBDb250ZW50RGVuc2l0aWVzVHlwZSwgQ29udHJvbENvbmZpZ3VyYXRpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyBWYXJpYW50TWFuYWdlbWVudFR5cGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyByZXF1aXJlRGVwZW5kZW5jaWVzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTG9hZGVyVXRpbHNcIjtcbmltcG9ydCB7IGFwcGx5UGFnZUNvbmZpZ3VyYXRpb25DaGFuZ2VzIH0gZnJvbSBcInNhcC9mZS9jb3JlL21hbmlmZXN0TWVyZ2VyL0NoYW5nZVBhZ2VDb25maWd1cmF0aW9uXCI7XG5pbXBvcnQgUmVzb3VyY2VNb2RlbCBmcm9tIFwic2FwL2ZlL2NvcmUvUmVzb3VyY2VNb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBDYWNoZUhhbmRsZXJTZXJ2aWNlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL0NhY2hlSGFuZGxlclNlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgVGVtcGxhdGVNb2RlbCBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVNb2RlbFwiO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50XCI7XG5pbXBvcnQgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCBTZXJ2aWNlIGZyb20gXCJzYXAvdWkvY29yZS9zZXJ2aWNlL1NlcnZpY2VcIjtcbmltcG9ydCBTZXJ2aWNlRmFjdG9yeSBmcm9tIFwic2FwL3VpL2NvcmUvc2VydmljZS9TZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IFNlcnZpY2VGYWN0b3J5UmVnaXN0cnkgZnJvbSBcInNhcC91aS9jb3JlL3NlcnZpY2UvU2VydmljZUZhY3RvcnlSZWdpc3RyeVwiO1xuaW1wb3J0IERldmljZSBmcm9tIFwic2FwL3VpL0RldmljZVwiO1xuaW1wb3J0IE1hbmFnZWRPYmplY3RNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2Jhc2UvTWFuYWdlZE9iamVjdE1vZGVsXCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvTW9kZWxcIjtcbmltcG9ydCBWZXJzaW9uSW5mbyBmcm9tIFwic2FwL3VpL1ZlcnNpb25JbmZvXCI7XG5pbXBvcnQgdHlwZSB7IFNlcnZpY2VDb250ZXh0IH0gZnJvbSBcInR5cGVzL21ldGFtb2RlbF90eXBlc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZUR5bmFtaWNFeHByZXNzaW9uIH0gZnJvbSBcIi4uL2hlbHBlcnMvRHluYW1pY0Fubm90YXRpb25QYXRoSGVscGVyXCI7XG5pbXBvcnQgdHlwZSB7IFJlc291cmNlTW9kZWxTZXJ2aWNlIH0gZnJvbSBcIi4vUmVzb3VyY2VNb2RlbFNlcnZpY2VGYWN0b3J5XCI7XG50eXBlIFRlbXBsYXRlZFZpZXdTZXJ2aWNlU2V0dGluZ3MgPSB7fTtcbmV4cG9ydCB0eXBlIFZpZXdEYXRhID0ge1xuXHRhcHBDb21wb25lbnQ6IEFwcENvbXBvbmVudDtcblx0bmF2aWdhdGlvbjogb2JqZWN0O1xuXHR2aWV3TGV2ZWw6IG51bWJlcjtcblx0dmFyaWFudE1hbmFnZW1lbnQ/OiBWYXJpYW50TWFuYWdlbWVudFR5cGU7XG5cdHN0YWJsZUlkOiBzdHJpbmc7XG5cdGNvbnRlbnREZW5zaXRpZXM/OiBDb250ZW50RGVuc2l0aWVzVHlwZTtcblx0cmVzb3VyY2VNb2RlbDogUmVzb3VyY2VNb2RlbDtcblx0ZnVsbENvbnRleHRQYXRoOiBzdHJpbmc7XG5cdGlzRGVza3RvcDogYm9vbGVhbjtcblx0aXNQaG9uZTogYm9vbGVhbjtcblx0Y29udmVydGVyVHlwZT86IHN0cmluZztcblx0c2hlbGxDb250ZW50RGVuc2l0eT86IHN0cmluZztcblx0dXNlTmV3TGF6eUxvYWRpbmc/OiBib29sZWFuO1xuXHRyZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0PzogYm9vbGVhbjtcblx0Y29udHJvbENvbmZpZ3VyYXRpb24/OiBDb250cm9sQ29uZmlndXJhdGlvbjtcblx0ZW50aXR5U2V0Pzogc3RyaW5nO1xuXHRpc1NoYXJlQnV0dG9uVmlzaWJsZUZvck15SW5ib3g/OiBib29sZWFuO1xufTtcbmNsYXNzIFRlbXBsYXRlZFZpZXdTZXJ2aWNlIGV4dGVuZHMgU2VydmljZTxUZW1wbGF0ZWRWaWV3U2VydmljZVNldHRpbmdzPiB7XG5cdGluaXRQcm9taXNlITogUHJvbWlzZTxhbnk+O1xuXG5cdG9WaWV3ITogVmlldztcblxuXHRvUmVzb3VyY2VNb2RlbFNlcnZpY2UhOiBSZXNvdXJjZU1vZGVsU2VydmljZTtcblxuXHRvQ2FjaGVIYW5kbGVyU2VydmljZSE6IENhY2hlSGFuZGxlclNlcnZpY2U7XG5cblx0b0ZhY3RvcnkhOiBUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3Rvcnk7XG5cblx0cmVzb3VyY2VNb2RlbCE6IFJlc291cmNlTW9kZWw7XG5cblx0c3RhYmxlSWQhOiBzdHJpbmc7XG5cblx0cGFnZUlkITogc3RyaW5nO1xuXG5cdFRlbXBsYXRlQ29udmVydGVyOiBhbnk7XG5cblx0TWV0YU1vZGVsQ29udmVydGVyOiBhbnk7XG5cblx0aW5pdCgpIHtcblx0XHRjb25zdCBhU2VydmljZURlcGVuZGVuY2llcyA9IFtdO1xuXHRcdGNvbnN0IG9Db250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cdFx0Y29uc3Qgb0NvbXBvbmVudCA9IG9Db250ZXh0LnNjb3BlT2JqZWN0O1xuXHRcdGNvbnN0IG9BcHBDb21wb25lbnQgPSBDb21wb25lbnQuZ2V0T3duZXJDb21wb25lbnRGb3Iob0NvbXBvbmVudCkgYXMgQXBwQ29tcG9uZW50O1xuXHRcdGNvbnN0IG9NZXRhTW9kZWwgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFNb2RlbCgpO1xuXHRcdHRoaXMucGFnZUlkID0gb0FwcENvbXBvbmVudC5nZXRMb2NhbElkKG9Db21wb25lbnQuZ2V0SWQoKSkgYXMgc3RyaW5nO1xuXHRcdGNvbnN0IHNTdGFibGVJZCA9IGAke29BcHBDb21wb25lbnQuZ2V0TWV0YWRhdGEoKS5nZXRDb21wb25lbnROYW1lKCl9Ojoke3RoaXMucGFnZUlkfWA7XG5cdFx0Y29uc3QgYUVuaGFuY2VJMThuID0gb0NvbXBvbmVudC5nZXRFbmhhbmNlSTE4bigpIHx8IFtdO1xuXHRcdGxldCBzQXBwTmFtZXNwYWNlO1xuXHRcdHRoaXMub0ZhY3RvcnkgPSBvQ29udGV4dC5mYWN0b3J5O1xuXHRcdGlmIChhRW5oYW5jZUkxOG4pIHtcblx0XHRcdHNBcHBOYW1lc3BhY2UgPSBvQXBwQ29tcG9uZW50LmdldE1ldGFkYXRhKCkuZ2V0Q29tcG9uZW50TmFtZSgpO1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhRW5oYW5jZUkxOG4ubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0Ly8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0ZXh0LXZlcnRpY2FsaXphdGlvbiBhcHBsaWNhdGlvbnMgY2FuIGFsc28gcGFzc3MgYSByZXNvdXJjZSBtb2RlbCBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdFxuXHRcdFx0XHQvLyBVSTUgdGFrZXMgY2FyZSBvZiB0ZXh0LXZlcnRpY2FsaXphdGlvbiBmb3IgcmVzb3VyY2UgbW9kZWxzIGRlZmluZWQgaW4gdGhlIG1hbmlmZXN0XG5cdFx0XHRcdC8vIEhlbmNlIGNoZWNrIGlmIHRoZSBnaXZlbiBrZXkgaXMgYSByZXNvdXJjZSBtb2RlbCBkZWZpbmVkIGluIHRoZSBtYW5pZmVzdFxuXHRcdFx0XHQvLyBpZiBzbyB0aGlzIG1vZGVsIHNob3VsZCBiZSB1c2VkIHRvIGVuaGFuY2UgdGhlIHNhcC5mZSByZXNvdXJjZSBtb2RlbCBzbyBwYXNzIGl0IGFzIGl0IGlzXG5cdFx0XHRcdGNvbnN0IG9SZXNvdXJjZU1vZGVsID0gb0FwcENvbXBvbmVudC5nZXRNb2RlbChhRW5oYW5jZUkxOG5baV0pO1xuXHRcdFx0XHRpZiAob1Jlc291cmNlTW9kZWwgJiYgb1Jlc291cmNlTW9kZWwuaXNBKFwic2FwLnVpLm1vZGVsLnJlc291cmNlLlJlc291cmNlTW9kZWxcIikpIHtcblx0XHRcdFx0XHRhRW5oYW5jZUkxOG5baV0gPSBvUmVzb3VyY2VNb2RlbDtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRhRW5oYW5jZUkxOG5baV0gPSBgJHtzQXBwTmFtZXNwYWNlfS4ke2FFbmhhbmNlSTE4bltpXS5yZXBsYWNlKFwiLnByb3BlcnRpZXNcIiwgXCJcIil9YDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRjb25zdCBzQ2FjaGVJZGVudGlmaWVyID0gYCR7b0FwcENvbXBvbmVudC5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKX1fJHtzU3RhYmxlSWR9XyR7c2FwLnVpXG5cdFx0XHQuZ2V0Q29yZSgpXG5cdFx0XHQuZ2V0Q29uZmlndXJhdGlvbigpXG5cdFx0XHQuZ2V0TGFuZ3VhZ2VUYWcoKX1gO1xuXHRcdGFTZXJ2aWNlRGVwZW5kZW5jaWVzLnB1c2goXG5cdFx0XHRTZXJ2aWNlRmFjdG9yeVJlZ2lzdHJ5LmdldChcInNhcC5mZS5jb3JlLnNlcnZpY2VzLlJlc291cmNlTW9kZWxTZXJ2aWNlXCIpXG5cdFx0XHRcdC5jcmVhdGVJbnN0YW5jZSh7XG5cdFx0XHRcdFx0c2NvcGVUeXBlOiBcImNvbXBvbmVudFwiLFxuXHRcdFx0XHRcdHNjb3BlT2JqZWN0OiBvQ29tcG9uZW50LFxuXHRcdFx0XHRcdHNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRidW5kbGVzOiBbXCJzYXAuZmUuY29yZS5tZXNzYWdlYnVuZGxlXCIsIFwic2FwLmZlLm1hY3Jvcy5tZXNzYWdlYnVuZGxlXCIsIFwic2FwLmZlLnRlbXBsYXRlcy5tZXNzYWdlYnVuZGxlXCJdLFxuXHRcdFx0XHRcdFx0ZW5oYW5jZUkxOG46IGFFbmhhbmNlSTE4bixcblx0XHRcdFx0XHRcdG1vZGVsTmFtZTogXCJzYXAuZmUuaTE4blwiXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0XHQudGhlbigob1Jlc291cmNlTW9kZWxTZXJ2aWNlOiBSZXNvdXJjZU1vZGVsU2VydmljZSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMub1Jlc291cmNlTW9kZWxTZXJ2aWNlID0gb1Jlc291cmNlTW9kZWxTZXJ2aWNlO1xuXHRcdFx0XHRcdHJldHVybiBvUmVzb3VyY2VNb2RlbFNlcnZpY2UuZ2V0UmVzb3VyY2VNb2RlbCgpO1xuXHRcdFx0XHR9KVxuXHRcdCk7XG5cdFx0YVNlcnZpY2VEZXBlbmRlbmNpZXMucHVzaChcblx0XHRcdFNlcnZpY2VGYWN0b3J5UmVnaXN0cnkuZ2V0KFwic2FwLmZlLmNvcmUuc2VydmljZXMuQ2FjaGVIYW5kbGVyU2VydmljZVwiKVxuXHRcdFx0XHQuY3JlYXRlSW5zdGFuY2Uoe1xuXHRcdFx0XHRcdHNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRtZXRhTW9kZWw6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRhcHBDb21wb25lbnQ6IG9BcHBDb21wb25lbnQsXG5cdFx0XHRcdFx0XHRjb21wb25lbnQ6IG9Db21wb25lbnRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC50aGVuKChvQ2FjaGVIYW5kbGVyU2VydmljZTogYW55KSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5vQ2FjaGVIYW5kbGVyU2VydmljZSA9IG9DYWNoZUhhbmRsZXJTZXJ2aWNlO1xuXHRcdFx0XHRcdHJldHVybiBvQ2FjaGVIYW5kbGVyU2VydmljZS52YWxpZGF0ZUNhY2hlS2V5KHNDYWNoZUlkZW50aWZpZXIsIG9Db21wb25lbnQpO1xuXHRcdFx0XHR9KVxuXHRcdCk7XG5cdFx0YVNlcnZpY2VEZXBlbmRlbmNpZXMucHVzaChcblx0XHRcdChWZXJzaW9uSW5mbyBhcyBhbnkpXG5cdFx0XHRcdC5sb2FkKClcblx0XHRcdFx0LnRoZW4oZnVuY3Rpb24gKG9JbmZvOiBhbnkpIHtcblx0XHRcdFx0XHRsZXQgc1RpbWVzdGFtcCA9IFwiXCI7XG5cdFx0XHRcdFx0aWYgKCFvSW5mby5saWJyYXJpZXMpIHtcblx0XHRcdFx0XHRcdHNUaW1lc3RhbXAgPSAoc2FwLnVpIGFzIGFueSkuYnVpbGRpbmZvLmJ1aWxkdGltZTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0b0luZm8ubGlicmFyaWVzLmZvckVhY2goZnVuY3Rpb24gKG9MaWJyYXJ5OiBhbnkpIHtcblx0XHRcdFx0XHRcdFx0c1RpbWVzdGFtcCArPSBvTGlicmFyeS5idWlsZFRpbWVzdGFtcDtcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gc1RpbWVzdGFtcDtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRyZXR1cm4gXCI8Tk9WQUxVRT5cIjtcblx0XHRcdFx0fSlcblx0XHQpO1xuXHRcdHRoaXMuaW5pdFByb21pc2UgPSBQcm9taXNlLmFsbChhU2VydmljZURlcGVuZGVuY2llcylcblx0XHRcdC50aGVuKGFzeW5jIChhRGVwZW5kZW5jaWVzUmVzdWx0OiBhbnlbXSkgPT4ge1xuXHRcdFx0XHRjb25zdCBvUmVzb3VyY2VNb2RlbCA9IGFEZXBlbmRlbmNpZXNSZXN1bHRbMF0gYXMgUmVzb3VyY2VNb2RlbDtcblx0XHRcdFx0Y29uc3Qgc0NhY2hlS2V5ID0gYURlcGVuZGVuY2llc1Jlc3VsdFsxXTtcblx0XHRcdFx0Y29uc3Qgb1NpZGVFZmZlY3RzU2VydmljZXMgPSBvQXBwQ29tcG9uZW50LmdldFNpZGVFZmZlY3RzU2VydmljZSgpO1xuXHRcdFx0XHRjb25zdCBlbnZpcm9ubWVudENhcGFiaWxpdGllc1NlcnZpY2UgPSBhd2FpdCBvQXBwQ29tcG9uZW50LmdldFNlcnZpY2UoXCJlbnZpcm9ubWVudENhcGFiaWxpdGllc1wiKTtcblx0XHRcdFx0b1NpZGVFZmZlY3RzU2VydmljZXMuaW5pdGlhbGl6ZVNpZGVFZmZlY3RzKGVudmlyb25tZW50Q2FwYWJpbGl0aWVzU2VydmljZS5nZXRDYXBhYmlsaXRpZXMoKSk7XG5cdFx0XHRcdGNvbnN0IFtUZW1wbGF0ZUNvbnZlcnRlciwgTWV0YU1vZGVsQ29udmVydGVyXSA9IGF3YWl0IHJlcXVpcmVEZXBlbmRlbmNpZXMoW1xuXHRcdFx0XHRcdFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9UZW1wbGF0ZUNvbnZlcnRlclwiLFxuXHRcdFx0XHRcdFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIlxuXHRcdFx0XHRdKTtcblx0XHRcdFx0cmV0dXJuIHRoaXMuY3JlYXRlVmlldyhvUmVzb3VyY2VNb2RlbCwgc1N0YWJsZUlkLCBzQ2FjaGVLZXksIFRlbXBsYXRlQ29udmVydGVyLCBNZXRhTW9kZWxDb252ZXJ0ZXIpO1xuXHRcdFx0fSlcblx0XHRcdC50aGVuKGZ1bmN0aW9uIChzQ2FjaGVLZXk6IGFueSkge1xuXHRcdFx0XHRjb25zdCBvQ2FjaGVIYW5kbGVyU2VydmljZSA9IFNlcnZpY2VGYWN0b3J5UmVnaXN0cnkuZ2V0KFwic2FwLmZlLmNvcmUuc2VydmljZXMuQ2FjaGVIYW5kbGVyU2VydmljZVwiKS5nZXRJbnN0YW5jZShvTWV0YU1vZGVsKTtcblx0XHRcdFx0b0NhY2hlSGFuZGxlclNlcnZpY2UuaW52YWxpZGF0ZUlmTmVlZGVkKHNDYWNoZUtleSwgc0NhY2hlSWRlbnRpZmllciwgb0NvbXBvbmVudCk7XG5cdFx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWZyZXNoIHRoZSBjdXJyZW50IHZpZXcgdXNpbmcgdGhlIHNhbWUgY29uZmlndXJhdGlvbiBhcyBiZWZvcmUuXG5cdCAqXG5cdCAqIEBwYXJhbSBvQ29tcG9uZW50XG5cdCAqIEByZXR1cm5zIEEgcHJvbWlzZSBpbmRpY2F0aW5nIHdoZW4gdGhlIHZpZXcgaXMgcmVmcmVzaGVkXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRyZWZyZXNoVmlldyhvQ29tcG9uZW50OiBhbnkpIHtcblx0XHRjb25zdCBvUm9vdFZpZXcgPSBvQ29tcG9uZW50LmdldFJvb3RDb250cm9sKCk7XG5cdFx0aWYgKG9Sb290Vmlldykge1xuXHRcdFx0b1Jvb3RWaWV3LmRlc3Ryb3koKTtcblx0XHR9IGVsc2UgaWYgKHRoaXMub1ZpZXcpIHtcblx0XHRcdHRoaXMub1ZpZXcuZGVzdHJveSgpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5jcmVhdGVWaWV3KHRoaXMucmVzb3VyY2VNb2RlbCwgdGhpcy5zdGFibGVJZCwgXCJcIiwgdGhpcy5UZW1wbGF0ZUNvbnZlcnRlciwgdGhpcy5NZXRhTW9kZWxDb252ZXJ0ZXIpXG5cdFx0XHQudGhlbihmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdG9Db21wb25lbnQub0NvbnRhaW5lci5pbnZhbGlkYXRlKCk7XG5cdFx0XHR9KVxuXHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChvRXJyb3I6IGFueSkge1xuXHRcdFx0XHRvQ29tcG9uZW50Lm9Db250YWluZXIuaW52YWxpZGF0ZSgpO1xuXHRcdFx0XHRMb2cuZXJyb3Iob0Vycm9yKTtcblx0XHRcdH0pO1xuXHR9XG5cblx0YXN5bmMgY3JlYXRlVmlldyhcblx0XHRvUmVzb3VyY2VNb2RlbDogUmVzb3VyY2VNb2RlbCxcblx0XHRzU3RhYmxlSWQ6IGFueSxcblx0XHRzQ2FjaGVLZXk6IGFueSxcblx0XHRUZW1wbGF0ZUNvbnZlcnRlcjogYW55LFxuXHRcdE1ldGFNb2RlbENvbnZlcnRlcjogYW55XG5cdCk6IFByb21pc2U8YW55IHwgdm9pZD4ge1xuXHRcdHRoaXMucmVzb3VyY2VNb2RlbCA9IG9SZXNvdXJjZU1vZGVsOyAvLyBUT0RPOiBnZXQgcmlkLCBrZXB0IGl0IGZvciB0aGUgdGltZSBiZWluZ1xuXHRcdHRoaXMuc3RhYmxlSWQgPSBzU3RhYmxlSWQ7XG5cdFx0dGhpcy5UZW1wbGF0ZUNvbnZlcnRlciA9IFRlbXBsYXRlQ29udmVydGVyO1xuXHRcdHRoaXMuTWV0YU1vZGVsQ29udmVydGVyID0gTWV0YU1vZGVsQ29udmVydGVyO1xuXHRcdGNvbnN0IG9Db250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cdFx0Y29uc3QgbVNlcnZpY2VTZXR0aW5ncyA9IG9Db250ZXh0LnNldHRpbmdzO1xuXHRcdGNvbnN0IHNDb252ZXJ0ZXJUeXBlID0gbVNlcnZpY2VTZXR0aW5ncy5jb252ZXJ0ZXJUeXBlO1xuXHRcdGNvbnN0IG9Db21wb25lbnQgPSBvQ29udGV4dC5zY29wZU9iamVjdDtcblx0XHRjb25zdCBvQXBwQ29tcG9uZW50OiBBcHBDb21wb25lbnQgPSBDb21wb25lbnQuZ2V0T3duZXJDb21wb25lbnRGb3Iob0NvbXBvbmVudCkgYXMgQXBwQ29tcG9uZW50O1xuXHRcdGNvbnN0IHNGdWxsQ29udGV4dFBhdGggPSBvQXBwQ29tcG9uZW50LmdldFJvdXRpbmdTZXJ2aWNlKCkuZ2V0VGFyZ2V0SW5mb3JtYXRpb25Gb3Iob0NvbXBvbmVudCkub3B0aW9ucy5zZXR0aW5ncy5mdWxsQ29udGV4dFBhdGg7XG5cdFx0Y29uc3Qgb01ldGFNb2RlbCA9IG9BcHBDb21wb25lbnQuZ2V0TWV0YU1vZGVsKCk7XG5cdFx0Y29uc3Qgb01hbmlmZXN0Q29udGVudDogTWFuaWZlc3RDb250ZW50ID0gb0FwcENvbXBvbmVudC5nZXRNYW5pZmVzdCgpO1xuXHRcdGNvbnN0IG9EZXZpY2VNb2RlbCA9IG5ldyBKU09OTW9kZWwoRGV2aWNlKS5zZXREZWZhdWx0QmluZGluZ01vZGUoXCJPbmVXYXlcIik7XG5cdFx0Y29uc3Qgb01hbmlmZXN0TW9kZWwgPSBuZXcgSlNPTk1vZGVsKG9NYW5pZmVzdENvbnRlbnQpO1xuXHRcdGNvbnN0IGJFcnJvciA9IGZhbHNlO1xuXHRcdGxldCBvUGFnZU1vZGVsOiBUZW1wbGF0ZU1vZGVsLCBvVmlld0RhdGFNb2RlbDogTW9kZWwsIG9WaWV3U2V0dGluZ3M6IGFueSwgbVZpZXdEYXRhOiBWaWV3RGF0YTtcblx0XHQvLyBMb2FkIHRoZSBpbmRleCBmb3IgdGhlIGFkZGl0aW9uYWwgYnVpbGRpbmcgYmxvY2tzIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBpbml0aWFsaXppbmcgdGhlbVxuXHRcdGZ1bmN0aW9uIGdldFZpZXdTZXR0aW5ncygpIHtcblx0XHRcdGNvbnN0IGFTcGxpdFBhdGggPSBzRnVsbENvbnRleHRQYXRoLnNwbGl0KFwiL1wiKTtcblx0XHRcdGNvbnN0IHNFbnRpdHlTZXRQYXRoID0gYVNwbGl0UGF0aC5yZWR1Y2UoZnVuY3Rpb24gKHNQYXRoU29GYXI6IGFueSwgc05leHRQYXRoUGFydDogYW55KSB7XG5cdFx0XHRcdGlmIChzTmV4dFBhdGhQYXJ0ID09PSBcIlwiKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHNQYXRoU29GYXI7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHNQYXRoU29GYXIgPT09IFwiXCIpIHtcblx0XHRcdFx0XHRzUGF0aFNvRmFyID0gYC8ke3NOZXh0UGF0aFBhcnR9YDtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRjb25zdCBvVGFyZ2V0ID0gb01ldGFNb2RlbC5nZXRPYmplY3QoYCR7c1BhdGhTb0Zhcn0vJE5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmcvJHtzTmV4dFBhdGhQYXJ0fWApO1xuXHRcdFx0XHRcdGlmIChvVGFyZ2V0ICYmIE9iamVjdC5rZXlzKG9UYXJnZXQpLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdHNQYXRoU29GYXIgKz0gXCIvJE5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmdcIjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0c1BhdGhTb0ZhciArPSBgLyR7c05leHRQYXRoUGFydH1gO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBzUGF0aFNvRmFyO1xuXHRcdFx0fSwgXCJcIik7XG5cdFx0XHRsZXQgdmlld1R5cGUgPSBtU2VydmljZVNldHRpbmdzLnZpZXdUeXBlIHx8IG9Db21wb25lbnQuZ2V0Vmlld1R5cGUoKSB8fCBcIlhNTFwiO1xuXHRcdFx0aWYgKHZpZXdUeXBlICE9PSBcIlhNTFwiKSB7XG5cdFx0XHRcdHZpZXdUeXBlID0gdW5kZWZpbmVkO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0dHlwZTogdmlld1R5cGUsXG5cdFx0XHRcdHByZXByb2Nlc3NvcnM6IHtcblx0XHRcdFx0XHR4bWw6IHtcblx0XHRcdFx0XHRcdGJpbmRpbmdDb250ZXh0czoge1xuXHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ6IHNFbnRpdHlTZXRQYXRoID8gb01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChzRW50aXR5U2V0UGF0aCkgOiBudWxsLFxuXHRcdFx0XHRcdFx0XHRmdWxsQ29udGV4dFBhdGg6IHNGdWxsQ29udGV4dFBhdGggPyBvTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KHNGdWxsQ29udGV4dFBhdGgpIDogbnVsbCxcblx0XHRcdFx0XHRcdFx0Y29udGV4dFBhdGg6IHNGdWxsQ29udGV4dFBhdGggPyBvTWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KHNGdWxsQ29udGV4dFBhdGgpIDogbnVsbCxcblx0XHRcdFx0XHRcdFx0Y29udmVydGVyQ29udGV4dDogb1BhZ2VNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9cIiwgdW5kZWZpbmVkLCB7IG5vUmVzb2x2ZTogdHJ1ZSB9KSxcblx0XHRcdFx0XHRcdFx0dmlld0RhdGE6IG1WaWV3RGF0YSA/IG9WaWV3RGF0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL1wiKSA6IG51bGxcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRtb2RlbHM6IHtcblx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0OiBvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdFx0XHRmdWxsQ29udGV4dFBhdGg6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRcdGNvbnRleHRQYXRoOiBvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdFx0XHRcInNhcC5mZS5pMThuXCI6IG9SZXNvdXJjZU1vZGVsLFxuXHRcdFx0XHRcdFx0XHRtZXRhTW9kZWw6IG9NZXRhTW9kZWwsXG5cdFx0XHRcdFx0XHRcdGRldmljZTogb0RldmljZU1vZGVsLFxuXHRcdFx0XHRcdFx0XHRtYW5pZmVzdDogb01hbmlmZXN0TW9kZWwsXG5cdFx0XHRcdFx0XHRcdGNvbnZlcnRlckNvbnRleHQ6IG9QYWdlTW9kZWwsXG5cdFx0XHRcdFx0XHRcdHZpZXdEYXRhOiBvVmlld0RhdGFNb2RlbFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdGFwcENvbXBvbmVudDogb0FwcENvbXBvbmVudFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0aWQ6IHNTdGFibGVJZCxcblx0XHRcdFx0dmlld05hbWU6IG1TZXJ2aWNlU2V0dGluZ3Mudmlld05hbWUgfHwgb0NvbXBvbmVudC5nZXRWaWV3TmFtZSgpLFxuXHRcdFx0XHR2aWV3RGF0YTogbVZpZXdEYXRhLFxuXHRcdFx0XHRjYWNoZToge1xuXHRcdFx0XHRcdGtleXM6IFtzQ2FjaGVLZXldLFxuXHRcdFx0XHRcdGFkZGl0aW9uYWxEYXRhOiB7XG5cdFx0XHRcdFx0XHQvLyBXZSBzdG9yZSB0aGUgcGFnZSBtb2RlbCBkYXRhIGluIHRoZSBgYWRkaXRpb25hbERhdGFgIG9mIHRoZSB2aWV3IGNhY2hlLCB0aGlzIHdheSBpdCBpcyBhbHdheXMgaW4gc3luY1xuXHRcdFx0XHRcdFx0Z2V0QWRkaXRpb25hbENhY2hlRGF0YTogKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gKG9QYWdlTW9kZWwgYXMgdW5rbm93biBhcyBKU09OTW9kZWwpLmdldERhdGEoKTtcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRzZXRBZGRpdGlvbmFsQ2FjaGVEYXRhOiAodmFsdWU6IG9iamVjdCkgPT4ge1xuXHRcdFx0XHRcdFx0XHQob1BhZ2VNb2RlbCBhcyB1bmtub3duIGFzIEpTT05Nb2RlbCkuc2V0RGF0YSh2YWx1ZSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRtb2RlbHM6IHtcblx0XHRcdFx0XHRcInNhcC5mZS5pMThuXCI6IG9SZXNvdXJjZU1vZGVsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGhlaWdodDogXCIxMDAlXCJcblx0XHRcdH07XG5cdFx0fVxuXHRcdGNvbnN0IGNyZWF0ZUVycm9yUGFnZSA9IChyZWFzb246IGFueSkgPT4ge1xuXHRcdFx0Ly8ganVzdCByZXBsYWNlIHRoZSB2aWV3IG5hbWUgYW5kIGFkZCBhbiBhZGRpdGlvbmFsIG1vZGVsIGNvbnRhaW5pbmcgdGhlIHJlYXNvbiwgYnV0XG5cdFx0XHQvLyBrZWVwIHRoZSBvdGhlciBzZXR0aW5nc1xuXHRcdFx0TG9nLmVycm9yKHJlYXNvbi5tZXNzYWdlLCByZWFzb24pO1xuXHRcdFx0b1ZpZXdTZXR0aW5ncy52aWV3TmFtZSA9IG1TZXJ2aWNlU2V0dGluZ3MuZXJyb3JWaWV3TmFtZSB8fCBcInNhcC5mZS5jb3JlLnNlcnZpY2VzLnZpZXcuVGVtcGxhdGluZ0Vycm9yUGFnZVwiO1xuXHRcdFx0b1ZpZXdTZXR0aW5ncy5wcmVwcm9jZXNzb3JzLnhtbC5tb2RlbHNbXCJlcnJvclwiXSA9IG5ldyBKU09OTW9kZWwocmVhc29uKTtcblx0XHRcdHJldHVybiBvQ29tcG9uZW50LnJ1bkFzT3duZXIoKCkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gVmlldy5jcmVhdGUob1ZpZXdTZXR0aW5ncykudGhlbigob1ZpZXc6IGFueSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMub1ZpZXcgPSBvVmlldztcblx0XHRcdFx0XHR0aGlzLm9WaWV3LnNldE1vZGVsKG5ldyBNYW5hZ2VkT2JqZWN0TW9kZWwodGhpcy5vVmlldyksIFwiJHZpZXdcIik7XG5cdFx0XHRcdFx0b0NvbXBvbmVudC5zZXRBZ2dyZWdhdGlvbihcInJvb3RDb250cm9sXCIsIHRoaXMub1ZpZXcpO1xuXHRcdFx0XHRcdHJldHVybiBzQ2FjaGVLZXk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdFx0fTtcblx0XHR0cnkge1xuXHRcdFx0Y29uc3Qgb1JvdXRpbmdTZXJ2aWNlID0gYXdhaXQgb0FwcENvbXBvbmVudC5nZXRTZXJ2aWNlKFwicm91dGluZ1NlcnZpY2VcIik7XG5cdFx0XHQvLyBSZXRyaWV2ZSB0aGUgdmlld0xldmVsIGZvciB0aGUgY29tcG9uZW50XG5cdFx0XHRjb25zdCBvVGFyZ2V0SW5mbyA9IG9Sb3V0aW5nU2VydmljZS5nZXRUYXJnZXRJbmZvcm1hdGlvbkZvcihvQ29tcG9uZW50KTtcblx0XHRcdGNvbnN0IG1PdXRib3VuZHMgPVxuXHRcdFx0XHQob01hbmlmZXN0Q29udGVudFtcInNhcC5hcHBcIl0gJiZcblx0XHRcdFx0XHRvTWFuaWZlc3RDb250ZW50W1wic2FwLmFwcFwiXS5jcm9zc05hdmlnYXRpb24gJiZcblx0XHRcdFx0XHRvTWFuaWZlc3RDb250ZW50W1wic2FwLmFwcFwiXS5jcm9zc05hdmlnYXRpb24ub3V0Ym91bmRzKSB8fFxuXHRcdFx0XHR7fTtcblx0XHRcdGNvbnN0IG1OYXZpZ2F0aW9uID0gb0NvbXBvbmVudC5nZXROYXZpZ2F0aW9uKCkgfHwge307XG5cdFx0XHRPYmplY3Qua2V5cyhtTmF2aWdhdGlvbikuZm9yRWFjaChmdW5jdGlvbiAobmF2aWdhdGlvbk9iamVjdEtleTogc3RyaW5nKSB7XG5cdFx0XHRcdGNvbnN0IG5hdmlnYXRpb25PYmplY3QgPSBtTmF2aWdhdGlvbltuYXZpZ2F0aW9uT2JqZWN0S2V5XTtcblx0XHRcdFx0bGV0IG91dGJvdW5kQ29uZmlnO1xuXHRcdFx0XHRpZiAobmF2aWdhdGlvbk9iamVjdC5kZXRhaWwgJiYgbmF2aWdhdGlvbk9iamVjdC5kZXRhaWwub3V0Ym91bmQgJiYgbU91dGJvdW5kc1tuYXZpZ2F0aW9uT2JqZWN0LmRldGFpbC5vdXRib3VuZF0pIHtcblx0XHRcdFx0XHRvdXRib3VuZENvbmZpZyA9IG1PdXRib3VuZHNbbmF2aWdhdGlvbk9iamVjdC5kZXRhaWwub3V0Ym91bmRdO1xuXHRcdFx0XHRcdG5hdmlnYXRpb25PYmplY3QuZGV0YWlsLm91dGJvdW5kRGV0YWlsID0ge1xuXHRcdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IG91dGJvdW5kQ29uZmlnLnNlbWFudGljT2JqZWN0LFxuXHRcdFx0XHRcdFx0YWN0aW9uOiBvdXRib3VuZENvbmZpZy5hY3Rpb24sXG5cdFx0XHRcdFx0XHRwYXJhbWV0ZXJzOiBvdXRib3VuZENvbmZpZy5wYXJhbWV0ZXJzXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAobmF2aWdhdGlvbk9iamVjdC5jcmVhdGUgJiYgbmF2aWdhdGlvbk9iamVjdC5jcmVhdGUub3V0Ym91bmQgJiYgbU91dGJvdW5kc1tuYXZpZ2F0aW9uT2JqZWN0LmNyZWF0ZS5vdXRib3VuZF0pIHtcblx0XHRcdFx0XHRvdXRib3VuZENvbmZpZyA9IG1PdXRib3VuZHNbbmF2aWdhdGlvbk9iamVjdC5jcmVhdGUub3V0Ym91bmRdO1xuXHRcdFx0XHRcdG5hdmlnYXRpb25PYmplY3QuY3JlYXRlLm91dGJvdW5kRGV0YWlsID0ge1xuXHRcdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IG91dGJvdW5kQ29uZmlnLnNlbWFudGljT2JqZWN0LFxuXHRcdFx0XHRcdFx0YWN0aW9uOiBvdXRib3VuZENvbmZpZy5hY3Rpb24sXG5cdFx0XHRcdFx0XHRwYXJhbWV0ZXJzOiBvdXRib3VuZENvbmZpZy5wYXJhbWV0ZXJzXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRtVmlld0RhdGEgPSB7XG5cdFx0XHRcdGFwcENvbXBvbmVudDogb0FwcENvbXBvbmVudCxcblx0XHRcdFx0bmF2aWdhdGlvbjogbU5hdmlnYXRpb24sXG5cdFx0XHRcdHZpZXdMZXZlbDogb1RhcmdldEluZm8udmlld0xldmVsLFxuXHRcdFx0XHRzdGFibGVJZDogc1N0YWJsZUlkLFxuXHRcdFx0XHRjb250ZW50RGVuc2l0aWVzOiBvTWFuaWZlc3RDb250ZW50W1wic2FwLnVpNVwiXT8uY29udGVudERlbnNpdGllcyxcblx0XHRcdFx0cmVzb3VyY2VNb2RlbDogb1Jlc291cmNlTW9kZWwsXG5cdFx0XHRcdGZ1bGxDb250ZXh0UGF0aDogc0Z1bGxDb250ZXh0UGF0aCxcblx0XHRcdFx0aXNEZXNrdG9wOiAoRGV2aWNlIGFzIGFueSkuc3lzdGVtLmRlc2t0b3AsXG5cdFx0XHRcdGlzUGhvbmU6IChEZXZpY2UgYXMgYW55KS5zeXN0ZW0ucGhvbmVcblx0XHRcdH07XG5cdFx0XHRpZiAob0NvbXBvbmVudC5nZXRWaWV3RGF0YSkge1xuXHRcdFx0XHRPYmplY3QuYXNzaWduKG1WaWV3RGF0YSwgb0NvbXBvbmVudC5nZXRWaWV3RGF0YSgpKTtcblx0XHRcdFx0Y29uc3QgYWN0dWFsU2V0dGluZ3MgPSBvTWFuaWZlc3RDb250ZW50Py5bXCJzYXAudWk1XCJdPy5yb3V0aW5nPy50YXJnZXRzPy5bdGhpcy5wYWdlSWRdPy5vcHRpb25zPy5zZXR0aW5ncyB8fCB7fTtcblx0XHRcdFx0bVZpZXdEYXRhID0gYXBwbHlQYWdlQ29uZmlndXJhdGlvbkNoYW5nZXMoYWN0dWFsU2V0dGluZ3MsIG1WaWV3RGF0YSwgb0FwcENvbXBvbmVudCwgdGhpcy5wYWdlSWQpO1xuXHRcdFx0fVxuXHRcdFx0bVZpZXdEYXRhLmlzU2hhcmVCdXR0b25WaXNpYmxlRm9yTXlJbmJveCA9IFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeS5nZXRTaGFyZUJ1dHRvblZpc2liaWxpdHlGb3JNeUluYm94KG9BcHBDb21wb25lbnQpO1xuXHRcdFx0Y29uc3Qgb1NoZWxsU2VydmljZXMgPSBvQXBwQ29tcG9uZW50LmdldFNoZWxsU2VydmljZXMoKTtcblx0XHRcdG1WaWV3RGF0YS5jb252ZXJ0ZXJUeXBlID0gc0NvbnZlcnRlclR5cGU7XG5cdFx0XHRtVmlld0RhdGEuc2hlbGxDb250ZW50RGVuc2l0eSA9IG9TaGVsbFNlcnZpY2VzLmdldENvbnRlbnREZW5zaXR5KCk7XG5cdFx0XHRtVmlld0RhdGEucmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdCA9XG5cdFx0XHRcdG9NYW5pZmVzdENvbnRlbnRbXCJzYXAuZmVcIl0gJiYgb01hbmlmZXN0Q29udGVudFtcInNhcC5mZVwiXS5mb3JtXG5cdFx0XHRcdFx0PyBvTWFuaWZlc3RDb250ZW50W1wic2FwLmZlXCJdLmZvcm0ucmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdFxuXHRcdFx0XHRcdDogdW5kZWZpbmVkO1xuXHRcdFx0b1ZpZXdEYXRhTW9kZWwgPSBuZXcgSlNPTk1vZGVsKG1WaWV3RGF0YSk7XG5cdFx0XHRpZiAobVZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uKSB7XG5cdFx0XHRcdGZvciAoY29uc3Qgc0Fubm90YXRpb25QYXRoIGluIG1WaWV3RGF0YS5jb250cm9sQ29uZmlndXJhdGlvbikge1xuXHRcdFx0XHRcdGlmIChzQW5ub3RhdGlvblBhdGguaW5kZXhPZihcIltcIikgIT09IC0xKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBzVGFyZ2V0QW5ub3RhdGlvblBhdGggPSByZXNvbHZlRHluYW1pY0V4cHJlc3Npb24oc0Fubm90YXRpb25QYXRoLCBvTWV0YU1vZGVsKTtcblx0XHRcdFx0XHRcdG1WaWV3RGF0YS5jb250cm9sQ29uZmlndXJhdGlvbltzVGFyZ2V0QW5ub3RhdGlvblBhdGhdID0gbVZpZXdEYXRhLmNvbnRyb2xDb25maWd1cmF0aW9uW3NBbm5vdGF0aW9uUGF0aF07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRNZXRhTW9kZWxDb252ZXJ0ZXIuY29udmVydFR5cGVzKG9NZXRhTW9kZWwsIG9BcHBDb21wb25lbnQuZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKS5nZXRDYXBhYmlsaXRpZXMoKSk7XG5cdFx0XHRvUGFnZU1vZGVsID0gbmV3IFRlbXBsYXRlTW9kZWwoKCkgPT4ge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdGNvbnN0IG9EaWFnbm9zdGljcyA9IG9BcHBDb21wb25lbnQuZ2V0RGlhZ25vc3RpY3MoKTtcblx0XHRcdFx0XHRjb25zdCBpSXNzdWVDb3VudCA9IG9EaWFnbm9zdGljcy5nZXRJc3N1ZXMoKS5sZW5ndGg7XG5cdFx0XHRcdFx0Y29uc3Qgb0NvbnZlcnRlclBhZ2VNb2RlbCA9IFRlbXBsYXRlQ29udmVydGVyLmNvbnZlcnRQYWdlKFxuXHRcdFx0XHRcdFx0c0NvbnZlcnRlclR5cGUsXG5cdFx0XHRcdFx0XHRvTWV0YU1vZGVsLFxuXHRcdFx0XHRcdFx0bVZpZXdEYXRhLFxuXHRcdFx0XHRcdFx0b0RpYWdub3N0aWNzLFxuXHRcdFx0XHRcdFx0c0Z1bGxDb250ZXh0UGF0aCxcblx0XHRcdFx0XHRcdG9BcHBDb21wb25lbnQuZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKS5nZXRDYXBhYmlsaXRpZXMoKSxcblx0XHRcdFx0XHRcdG9Db21wb25lbnRcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGNvbnN0IGFJc3N1ZXMgPSBvRGlhZ25vc3RpY3MuZ2V0SXNzdWVzKCk7XG5cdFx0XHRcdFx0Y29uc3QgYUFkZGVkSXNzdWVzID0gYUlzc3Vlcy5zbGljZShpSXNzdWVDb3VudCk7XG5cdFx0XHRcdFx0aWYgKGFBZGRlZElzc3Vlcy5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdFx0XHRMb2cud2FybmluZyhcblx0XHRcdFx0XHRcdFx0XCJTb21lIGlzc3VlcyBoYXZlIGJlZW4gZGV0ZWN0ZWQgaW4geW91ciBwcm9qZWN0LCBwbGVhc2UgY2hlY2sgdGhlIFVJNSBzdXBwb3J0IGFzc2lzdGFudCBydWxlIGZvciBzYXAuZmUuY29yZVwiXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gb0NvbnZlcnRlclBhZ2VNb2RlbDtcblx0XHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdFx0XHRMb2cuZXJyb3IoZXJyb3IgYXMgYW55LCBlcnJvciBhcyBhbnkpO1xuXHRcdFx0XHRcdHJldHVybiB7fTtcblx0XHRcdFx0fVxuXHRcdFx0fSwgb01ldGFNb2RlbCk7XG5cdFx0XHRpZiAoIWJFcnJvcikge1xuXHRcdFx0XHRvVmlld1NldHRpbmdzID0gZ2V0Vmlld1NldHRpbmdzKCk7XG5cdFx0XHRcdC8vIFNldHRpbmcgdGhlIHBhZ2VNb2RlbCBvbiB0aGUgY29tcG9uZW50IGZvciBwb3RlbnRpYWwgcmV1c2Vcblx0XHRcdFx0b0NvbXBvbmVudC5zZXRNb2RlbChvUGFnZU1vZGVsLCBcIl9wYWdlTW9kZWxcIik7XG5cdFx0XHRcdHJldHVybiBvQ29tcG9uZW50LnJ1bkFzT3duZXIoKCkgPT4ge1xuXHRcdFx0XHRcdHJldHVybiBWaWV3LmNyZWF0ZShvVmlld1NldHRpbmdzKVxuXHRcdFx0XHRcdFx0LmNhdGNoKGNyZWF0ZUVycm9yUGFnZSlcblx0XHRcdFx0XHRcdC50aGVuKChvVmlldzogYW55KSA9PiB7XG5cdFx0XHRcdFx0XHRcdHRoaXMub1ZpZXcgPSBvVmlldztcblx0XHRcdFx0XHRcdFx0dGhpcy5vVmlldy5zZXRNb2RlbChuZXcgTWFuYWdlZE9iamVjdE1vZGVsKHRoaXMub1ZpZXcpLCBcIiR2aWV3XCIpO1xuXHRcdFx0XHRcdFx0XHR0aGlzLm9WaWV3LnNldE1vZGVsKG9WaWV3RGF0YU1vZGVsLCBcInZpZXdEYXRhXCIpO1xuXHRcdFx0XHRcdFx0XHRvQ29tcG9uZW50LnNldEFnZ3JlZ2F0aW9uKFwicm9vdENvbnRyb2xcIiwgdGhpcy5vVmlldyk7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBzQ2FjaGVLZXk7XG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0LmNhdGNoKChlKSA9PiBMb2cuZXJyb3IoZS5tZXNzYWdlLCBlKSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcblx0XHRcdExvZy5lcnJvcihlcnJvci5tZXNzYWdlLCBlcnJvcik7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEVycm9yIHdoaWxlIGNyZWF0aW5nIHZpZXcgOiAke2Vycm9yfWApO1xuXHRcdH1cblx0fVxuXG5cdGdldFZpZXcoKSB7XG5cdFx0cmV0dXJuIHRoaXMub1ZpZXc7XG5cdH1cblxuXHRnZXRJbnRlcmZhY2UoKTogYW55IHtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdGV4aXQoKSB7XG5cdFx0Ly8gRGVyZWdpc3RlciBnbG9iYWwgaW5zdGFuY2Vcblx0XHRpZiAodGhpcy5vUmVzb3VyY2VNb2RlbFNlcnZpY2UpIHtcblx0XHRcdHRoaXMub1Jlc291cmNlTW9kZWxTZXJ2aWNlLmRlc3Ryb3koKTtcblx0XHR9XG5cdFx0aWYgKHRoaXMub0NhY2hlSGFuZGxlclNlcnZpY2UpIHtcblx0XHRcdHRoaXMub0NhY2hlSGFuZGxlclNlcnZpY2UuZGVzdHJveSgpO1xuXHRcdH1cblx0XHR0aGlzLm9GYWN0b3J5LnJlbW92ZUdsb2JhbEluc3RhbmNlKCk7XG5cdH1cbn1cbmNsYXNzIFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeSBleHRlbmRzIFNlcnZpY2VGYWN0b3J5PFRlbXBsYXRlZFZpZXdTZXJ2aWNlU2V0dGluZ3M+IHtcblx0X29JbnN0YW5jZVJlZ2lzdHJ5OiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZWRWaWV3U2VydmljZT4gPSB7fTtcblxuXHRzdGF0aWMgaUNyZWF0aW5nVmlld3M6IDA7XG5cblx0Y3JlYXRlSW5zdGFuY2Uob1NlcnZpY2VDb250ZXh0OiBTZXJ2aWNlQ29udGV4dDxUZW1wbGF0ZWRWaWV3U2VydmljZVNldHRpbmdzPikge1xuXHRcdFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFjdG9yeS5pQ3JlYXRpbmdWaWV3cysrO1xuXHRcdGNvbnN0IG9UZW1wbGF0ZWRWaWV3U2VydmljZSA9IG5ldyBUZW1wbGF0ZWRWaWV3U2VydmljZShPYmplY3QuYXNzaWduKHsgZmFjdG9yeTogdGhpcyB9LCBvU2VydmljZUNvbnRleHQpKTtcblx0XHRyZXR1cm4gb1RlbXBsYXRlZFZpZXdTZXJ2aWNlLmluaXRQcm9taXNlLnRoZW4oZnVuY3Rpb24gKCkge1xuXHRcdFx0VGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5LmlDcmVhdGluZ1ZpZXdzLS07XG5cdFx0XHRyZXR1cm4gb1RlbXBsYXRlZFZpZXdTZXJ2aWNlO1xuXHRcdH0pO1xuXHR9XG5cblx0cmVtb3ZlR2xvYmFsSW5zdGFuY2UoKSB7XG5cdFx0dGhpcy5fb0luc3RhbmNlUmVnaXN0cnkgPSB7fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAZGVzY3JpcHRpb24gVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgdGhlIGNvbXBvbmVudCBkYXRhIHNwZWNpZmllcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgJ1NoYXJlJyBidXR0b24gYW5kIHJldHVybnMgdHJ1ZSBvciBmYWxzZSBiYXNlZCBvbiB0aGUgdmlzaWJpbGl0eVxuXHQgKiBAcGFyYW0gYXBwQ29tcG9uZW50IFNwZWNpZmllcyB0aGUgYXBwIGNvbXBvbmVudFxuXHQgKiBAcmV0dXJucyBCb29sZWFuIHZhbHVlIGFzIHRydWUgb3IgZmFsc2UgYmFzZWQgd2hldGhlciB0aGUgJ1NoYXJlJyBidXR0b24gc2hvdWxkIGJlIHZpc2libGUgb3Igbm90XG5cdCAqL1xuXHRzdGF0aWMgZ2V0U2hhcmVCdXR0b25WaXNpYmlsaXR5Rm9yTXlJbmJveChhcHBDb21wb25lbnQ6IEFwcENvbXBvbmVudCkge1xuXHRcdGNvbnN0IGNvbXBvbmVudERhdGE6IENvbXBvbmVudERhdGEgPSBhcHBDb21wb25lbnQuZ2V0Q29tcG9uZW50RGF0YSgpO1xuXHRcdGlmIChjb21wb25lbnREYXRhICE9PSB1bmRlZmluZWQgJiYgY29tcG9uZW50RGF0YS5mZUVudmlyb25tZW50KSB7XG5cdFx0XHRyZXR1cm4gY29tcG9uZW50RGF0YS5mZUVudmlyb25tZW50LmdldFNoYXJlQ29udHJvbFZpc2liaWxpdHkoKTtcblx0XHR9XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXG5cdHN0YXRpYyBnZXROdW1iZXJPZlZpZXdzSW5DcmVhdGlvblN0YXRlKCkge1xuXHRcdHJldHVybiBUZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnkuaUNyZWF0aW5nVmlld3M7XG5cdH1cbn1cbmV4cG9ydCBkZWZhdWx0IFRlbXBsYXRlZFZpZXdTZXJ2aWNlRmFj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
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/base/Log","sap/fe/core/helpers/LoaderUtils","sap/fe/core/manifestMerger/ChangePageConfiguration","sap/fe/core/TemplateModel","sap/ui/core/Component","sap/ui/core/mvc/View","sap/ui/core/service/Service","sap/ui/core/service/ServiceFactory","sap/ui/core/service/ServiceFactoryRegistry","sap/ui/Device","sap/ui/model/base/ManagedObjectModel","sap/ui/model/json/JSONModel","sap/ui/VersionInfo","../helpers/DynamicAnnotationPathHelper"],function(e,t,n,o,i,r,s,a,c,l,u,p,g,d){"use strict";var f=d.resolveDynamicExpression;var h=n.applyPageConfigurationChanges;var v=t.requireDependencies;function m(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;C(e,t)}function C(e,t){C=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,n){t.__proto__=n;return t};return C(e,t)}let w=function(t){m(n,t);function n(){return t.apply(this,arguments)||this}var s=n.prototype;s.init=function e(){const t=[];const n=this.getContext();const o=n.scopeObject;const r=i.getOwnerComponentFor(o);const s=r.getMetaModel();this.pageId=r.getLocalId(o.getId());const a=`${r.getMetadata().getComponentName()}::${this.pageId}`;const l=o.getEnhanceI18n()||[];let u;this.oFactory=n.factory;if(l){u=r.getMetadata().getComponentName();for(let e=0;e<l.length;e++){const t=r.getModel(l[e]);if(t&&t.isA("sap.ui.model.resource.ResourceModel")){l[e]=t}else{l[e]=`${u}.${l[e].replace(".properties","")}`}}}const p=`${r.getMetadata().getName()}_${a}_${sap.ui.getCore().getConfiguration().getLanguageTag()}`;t.push(c.get("sap.fe.core.services.ResourceModelService").createInstance({scopeType:"component",scopeObject:o,settings:{bundles:["sap.fe.core.messagebundle","sap.fe.macros.messagebundle","sap.fe.templates.messagebundle"],enhanceI18n:l,modelName:"sap.fe.i18n"}}).then(e=>{this.oResourceModelService=e;return e.getResourceModel()}));t.push(c.get("sap.fe.core.services.CacheHandlerService").createInstance({settings:{metaModel:s,appComponent:r,component:o}}).then(e=>{this.oCacheHandlerService=e;return e.validateCacheKey(p,o)}));t.push(g.load().then(function(e){let t="";if(!e.libraries){t=sap.ui.buildinfo.buildtime}else{e.libraries.forEach(function(e){t+=e.buildTimestamp})}return t}).catch(function(){return"<NOVALUE>"}));this.initPromise=Promise.all(t).then(async e=>{const t=e[0];const n=e[1];const o=r.getSideEffectsService();o.initializeSideEffects(
|
|
5
|
+
sap.ui.define(["sap/base/Log","sap/fe/core/helpers/LoaderUtils","sap/fe/core/manifestMerger/ChangePageConfiguration","sap/fe/core/TemplateModel","sap/ui/core/Component","sap/ui/core/mvc/View","sap/ui/core/service/Service","sap/ui/core/service/ServiceFactory","sap/ui/core/service/ServiceFactoryRegistry","sap/ui/Device","sap/ui/model/base/ManagedObjectModel","sap/ui/model/json/JSONModel","sap/ui/VersionInfo","../helpers/DynamicAnnotationPathHelper"],function(e,t,n,o,i,r,s,a,c,l,u,p,g,d){"use strict";var f=d.resolveDynamicExpression;var h=n.applyPageConfigurationChanges;var v=t.requireDependencies;function m(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;C(e,t)}function C(e,t){C=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,n){t.__proto__=n;return t};return C(e,t)}let w=function(t){m(n,t);function n(){return t.apply(this,arguments)||this}var s=n.prototype;s.init=function e(){const t=[];const n=this.getContext();const o=n.scopeObject;const r=i.getOwnerComponentFor(o);const s=r.getMetaModel();this.pageId=r.getLocalId(o.getId());const a=`${r.getMetadata().getComponentName()}::${this.pageId}`;const l=o.getEnhanceI18n()||[];let u;this.oFactory=n.factory;if(l){u=r.getMetadata().getComponentName();for(let e=0;e<l.length;e++){const t=r.getModel(l[e]);if(t&&t.isA("sap.ui.model.resource.ResourceModel")){l[e]=t}else{l[e]=`${u}.${l[e].replace(".properties","")}`}}}const p=`${r.getMetadata().getName()}_${a}_${sap.ui.getCore().getConfiguration().getLanguageTag()}`;t.push(c.get("sap.fe.core.services.ResourceModelService").createInstance({scopeType:"component",scopeObject:o,settings:{bundles:["sap.fe.core.messagebundle","sap.fe.macros.messagebundle","sap.fe.templates.messagebundle"],enhanceI18n:l,modelName:"sap.fe.i18n"}}).then(e=>{this.oResourceModelService=e;return e.getResourceModel()}));t.push(c.get("sap.fe.core.services.CacheHandlerService").createInstance({settings:{metaModel:s,appComponent:r,component:o}}).then(e=>{this.oCacheHandlerService=e;return e.validateCacheKey(p,o)}));t.push(g.load().then(function(e){let t="";if(!e.libraries){t=sap.ui.buildinfo.buildtime}else{e.libraries.forEach(function(e){t+=e.buildTimestamp})}return t}).catch(function(){return"<NOVALUE>"}));this.initPromise=Promise.all(t).then(async e=>{const t=e[0];const n=e[1];const o=r.getSideEffectsService();const i=await r.getService("environmentCapabilities");o.initializeSideEffects(i.getCapabilities());const[s,c]=await v(["sap/fe/core/converters/TemplateConverter","sap/fe/core/converters/MetaModelConverter"]);return this.createView(t,a,n,s,c)}).then(function(e){const t=c.get("sap.fe.core.services.CacheHandlerService").getInstance(s);t.invalidateIfNeeded(e,p,o)})};s.refreshView=function t(n){const o=n.getRootControl();if(o){o.destroy()}else if(this.oView){this.oView.destroy()}return this.createView(this.resourceModel,this.stableId,"",this.TemplateConverter,this.MetaModelConverter).then(function(){n.oContainer.invalidate()}).catch(function(t){n.oContainer.invalidate();e.error(t)})};s.createView=async function t(n,s,a,c,g){this.resourceModel=n;this.stableId=s;this.TemplateConverter=c;this.MetaModelConverter=g;const d=this.getContext();const v=d.settings;const m=v.converterType;const C=d.scopeObject;const w=i.getOwnerComponentFor(C);const y=w.getRoutingService().getTargetInformationFor(C).options.settings.fullContextPath;const M=w.getMetaModel();const V=w.getManifest();const I=new p(l).setDefaultBindingMode("OneWay");const S=new p(V);const O=false;let x,D,P,j;function N(){const e=y.split("/");const t=e.reduce(function(e,t){if(t===""){return e}if(e===""){e=`/${t}`}else{const n=M.getObject(`${e}/$NavigationPropertyBinding/${t}`);if(n&&Object.keys(n).length>0){e+="/$NavigationPropertyBinding"}e+=`/${t}`}return e},"");let o=v.viewType||C.getViewType()||"XML";if(o!=="XML"){o=undefined}return{type:o,preprocessors:{xml:{bindingContexts:{entitySet:t?M.createBindingContext(t):null,fullContextPath:y?M.createBindingContext(y):null,contextPath:y?M.createBindingContext(y):null,converterContext:x.createBindingContext("/",undefined,{noResolve:true}),viewData:j?D.createBindingContext("/"):null},models:{entitySet:M,fullContextPath:M,contextPath:M,"sap.fe.i18n":n,metaModel:M,device:I,manifest:S,converterContext:x,viewData:D},appComponent:w}},id:s,viewName:v.viewName||C.getViewName(),viewData:j,cache:{keys:[a],additionalData:{getAdditionalCacheData:()=>x.getData(),setAdditionalCacheData:e=>{x.setData(e)}}},models:{"sap.fe.i18n":n},height:"100%"}}const T=t=>{e.error(t.message,t);P.viewName=v.errorViewName||"sap.fe.core.services.view.TemplatingErrorPage";P.preprocessors.xml.models["error"]=new p(t);return C.runAsOwner(()=>r.create(P).then(e=>{this.oView=e;this.oView.setModel(new u(this.oView),"$view");C.setAggregation("rootControl",this.oView);return a}))};try{var $;const t=await w.getService("routingService");const i=t.getTargetInformationFor(C);const d=V["sap.app"]&&V["sap.app"].crossNavigation&&V["sap.app"].crossNavigation.outbounds||{};const v=C.getNavigation()||{};Object.keys(v).forEach(function(e){const t=v[e];let n;if(t.detail&&t.detail.outbound&&d[t.detail.outbound]){n=d[t.detail.outbound];t.detail.outboundDetail={semanticObject:n.semanticObject,action:n.action,parameters:n.parameters}}if(t.create&&t.create.outbound&&d[t.create.outbound]){n=d[t.create.outbound];t.create.outboundDetail={semanticObject:n.semanticObject,action:n.action,parameters:n.parameters}}});j={appComponent:w,navigation:v,viewLevel:i.viewLevel,stableId:s,contentDensities:($=V["sap.ui5"])===null||$===void 0?void 0:$.contentDensities,resourceModel:n,fullContextPath:y,isDesktop:l.system.desktop,isPhone:l.system.phone};if(C.getViewData){var E,F,R,B,L;Object.assign(j,C.getViewData());const e=(V===null||V===void 0?void 0:(E=V["sap.ui5"])===null||E===void 0?void 0:(F=E.routing)===null||F===void 0?void 0:(R=F.targets)===null||R===void 0?void 0:(B=R[this.pageId])===null||B===void 0?void 0:(L=B.options)===null||L===void 0?void 0:L.settings)||{};j=h(e,j,w,this.pageId)}j.isShareButtonVisibleForMyInbox=b.getShareButtonVisibilityForMyInbox(w);const I=w.getShellServices();j.converterType=m;j.shellContentDensity=I.getContentDensity();j.retrieveTextFromValueList=V["sap.fe"]&&V["sap.fe"].form?V["sap.fe"].form.retrieveTextFromValueList:undefined;D=new p(j);if(j.controlConfiguration){for(const e in j.controlConfiguration){if(e.indexOf("[")!==-1){const t=f(e,M);j.controlConfiguration[t]=j.controlConfiguration[e]}}}g.convertTypes(M,w.getEnvironmentCapabilities().getCapabilities());x=new o(()=>{try{const t=w.getDiagnostics();const n=t.getIssues().length;const o=c.convertPage(m,M,j,t,y,w.getEnvironmentCapabilities().getCapabilities(),C);const i=t.getIssues();const r=i.slice(n);if(r.length>0){e.warning("Some issues have been detected in your project, please check the UI5 support assistant rule for sap.fe.core")}return o}catch(t){e.error(t,t);return{}}},M);if(!O){P=N();C.setModel(x,"_pageModel");return C.runAsOwner(()=>r.create(P).catch(T).then(e=>{this.oView=e;this.oView.setModel(new u(this.oView),"$view");this.oView.setModel(D,"viewData");C.setAggregation("rootControl",this.oView);return a}).catch(t=>e.error(t.message,t)))}}catch(t){e.error(t.message,t);throw new Error(`Error while creating view : ${t}`)}};s.getView=function e(){return this.oView};s.getInterface=function e(){return this};s.exit=function e(){if(this.oResourceModelService){this.oResourceModelService.destroy()}if(this.oCacheHandlerService){this.oCacheHandlerService.destroy()}this.oFactory.removeGlobalInstance()};return n}(s);let b=function(e){m(t,e);function t(){var t;for(var n=arguments.length,o=new Array(n),i=0;i<n;i++){o[i]=arguments[i]}t=e.call(this,...o)||this;t._oInstanceRegistry={};return t}var n=t.prototype;n.createInstance=function e(n){t.iCreatingViews++;const o=new w(Object.assign({factory:this},n));return o.initPromise.then(function(){t.iCreatingViews--;return o})};n.removeGlobalInstance=function e(){this._oInstanceRegistry={}};t.getShareButtonVisibilityForMyInbox=function e(t){const n=t.getComponentData();if(n!==undefined&&n.feEnvironment){return n.feEnvironment.getShareControlVisibility()}return undefined};t.getNumberOfViewsInCreationState=function e(){return t.iCreatingViews};return t}(a);return b},false);
|
|
6
6
|
//# sourceMappingURL=TemplatedViewServiceFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemplatedViewServiceFactory.js","names":["sap","ui","define","Log","LoaderUtils","ChangePageConfiguration","TemplateModel","Component","View","Service","ServiceFactory","ServiceFactoryRegistry","Device","ManagedObjectModel","JSONModel","VersionInfo","DynamicAnnotationPathHelper","resolveDynamicExpression","applyPageConfigurationChanges","requireDependencies","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","TemplatedViewService","_Service","apply","this","arguments","_proto","init","aServiceDependencies","oContext","getContext","oComponent","scopeObject","oAppComponent","getOwnerComponentFor","oMetaModel","getMetaModel","pageId","getLocalId","getId","sStableId","getMetadata","getComponentName","aEnhanceI18n","getEnhanceI18n","sAppNamespace","oFactory","factory","i","length","oResourceModel","getModel","isA","replace","sCacheIdentifier","getName","getCore","getConfiguration","getLanguageTag","push","get","createInstance","scopeType","settings","bundles","enhanceI18n","modelName","then","oResourceModelService","getResourceModel","metaModel","appComponent","component","oCacheHandlerService","validateCacheKey","load","oInfo","sTimestamp","libraries","buildinfo","buildtime","forEach","oLibrary","buildTimestamp","catch","initPromise","Promise","all","async","aDependenciesResult","sCacheKey","oSideEffectsServices","getSideEffectsService","initializeSideEffects","getEnvironmentCapabilities","getCapabilities","TemplateConverter","MetaModelConverter","createView","getInstance","invalidateIfNeeded","refreshView","oRootView","getRootControl","destroy","oView","resourceModel","stableId","oContainer","invalidate","oError","error","mServiceSettings","sConverterType","converterType","sFullContextPath","getRoutingService","getTargetInformationFor","options","fullContextPath","oManifestContent","getManifest","oDeviceModel","setDefaultBindingMode","oManifestModel","bError","oPageModel","oViewDataModel","oViewSettings","mViewData","getViewSettings","aSplitPath","split","sEntitySetPath","reduce","sPathSoFar","sNextPathPart","oTarget","getObject","keys","viewType","getViewType","undefined","type","preprocessors","xml","bindingContexts","entitySet","createBindingContext","contextPath","converterContext","noResolve","viewData","models","device","manifest","id","viewName","getViewName","cache","additionalData","getAdditionalCacheData","getData","setAdditionalCacheData","value","setData","height","createErrorPage","reason","message","errorViewName","runAsOwner","setModel","setAggregation","_oManifestContent$sap","oRoutingService","getService","oTargetInfo","mOutbounds","crossNavigation","outbounds","mNavigation","getNavigation","navigationObjectKey","navigationObject","outboundConfig","detail","outbound","outboundDetail","semanticObject","action","parameters","navigation","viewLevel","contentDensities","isDesktop","system","desktop","isPhone","phone","getViewData","_oManifestContent$sap2","_oManifestContent$sap3","_oManifestContent$sap4","_oManifestContent$sap5","_oManifestContent$sap6","assign","actualSettings","routing","targets","isShareButtonVisibleForMyInbox","TemplatedViewServiceFactory","getShareButtonVisibilityForMyInbox","oShellServices","getShellServices","shellContentDensity","getContentDensity","retrieveTextFromValueList","form","controlConfiguration","sAnnotationPath","indexOf","sTargetAnnotationPath","convertTypes","oDiagnostics","getDiagnostics","iIssueCount","getIssues","oConverterPageModel","convertPage","aIssues","aAddedIssues","slice","warning","e","Error","getView","getInterface","exit","removeGlobalInstance","_ServiceFactory","_this","_len","args","Array","_key","call","_oInstanceRegistry","_proto2","oServiceContext","iCreatingViews","oTemplatedViewService","componentData","getComponentData","feEnvironment","getShareControlVisibility","getNumberOfViewsInCreationState"],"sources":["TemplatedViewServiceFactory-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,eAAgB,kCAAmC,qDAAsD,4BAA6B,wBAAyB,uBAAwB,8BAA+B,qCAAsC,6CAA8C,gBAAiB,uCAAwC,8BAA+B,qBAAsB,0CAA2C,SAAUC,EAAKC,EAAaC,EAAyBC,EAAeC,EAAWC,EAAMC,EAASC,EAAgBC,EAAwBC,EAAQC,EAAoBC,EAAWC,EAAaC,GAC1oB,aAEA,IAAIC,EAA2BD,EAA4BC,yBAC3D,IAAIC,EAAgCb,EAAwBa,8BAC5D,IAAIC,EAAsBf,EAAYe,oBACtC,SAASC,EAAeC,EAAUC,GAAcD,EAASE,UAAYC,OAAOC,OAAOH,EAAWC,WAAYF,EAASE,UAAUG,YAAcL,EAAUM,EAAgBN,EAAUC,EAAa,CAC5L,SAASK,EAAgBC,EAAGC,GAAKF,EAAkBH,OAAOM,eAAiBN,OAAOM,eAAeC,OAAS,SAASJ,EAAgBC,EAAGC,GAAKD,EAAEI,UAAYH,EAAG,OAAOD,CAAG,EAAG,OAAOD,EAAgBC,EAAGC,EAAI,CACvM,IAAII,EAAoC,SAAUC,GAChDd,EAAea,EAAsBC,GACrC,SAASD,IACP,OAAOC,EAASC,MAAMC,KAAMC,YAAcD,IAC5C,CACA,IAAIE,EAASL,EAAqBV,UAClCe,EAAOC,KAAO,SAASA,IACrB,MAAMC,EAAuB,GAC7B,MAAMC,EAAWL,KAAKM,aACtB,MAAMC,EAAaF,EAASG,YAC5B,MAAMC,EAAgBtC,EAAUuC,qBAAqBH,GACrD,MAAMI,EAAaF,EAAcG,eACjCZ,KAAKa,OAASJ,EAAcK,WAAWP,EAAWQ,SAClD,MAAMC,EAAY,GAAGP,EAAcQ,cAAcC,uBAAuBlB,KAAKa,SAC7E,MAAMM,EAAeZ,EAAWa,kBAAoB,GACpD,IAAIC,EACJrB,KAAKsB,SAAWjB,EAASkB,QACzB,GAAIJ,EAAc,CAChBE,EAAgBZ,EAAcQ,cAAcC,mBAC5C,IAAK,IAAIM,EAAI,EAAGA,EAAIL,EAAaM,OAAQD,IAAK,CAK5C,MAAME,EAAiBjB,EAAckB,SAASR,EAAaK,IAC3D,GAAIE,GAAkBA,EAAeE,IAAI,uCAAwC,CAC/ET,EAAaK,GAAKE,CACpB,KAAO,CACLP,EAAaK,GAAK,GAAGH,KAAiBF,EAAaK,GAAGK,QAAQ,cAAe,KAC/E,CACF,CACF,CACA,MAAMC,EAAmB,GAAGrB,EAAcQ,cAAcc,aAAaf,KAAapD,IAAIC,GAAGmE,UAAUC,mBAAmBC,mBACtH9B,EAAqB+B,KAAK5D,EAAuB6D,IAAI,6CAA6CC,eAAe,CAC/GC,UAAW,YACX9B,YAAaD,EACbgC,SAAU,CACRC,QAAS,CAAC,4BAA6B,8BAA+B,kCACtEC,YAAatB,EACbuB,UAAW,iBAEZC,KAAKC,IACN5C,KAAK4C,sBAAwBA,EAC7B,OAAOA,EAAsBC,kBAAkB,IAEjDzC,EAAqB+B,KAAK5D,EAAuB6D,IAAI,4CAA4CC,eAAe,CAC9GE,SAAU,CACRO,UAAWnC,EACXoC,aAActC,EACduC,UAAWzC,KAEZoC,KAAKM,IACNjD,KAAKiD,qBAAuBA,EAC5B,OAAOA,EAAqBC,iBAAiBpB,EAAkBvB,EAAW,IAE5EH,EAAqB+B,KAAKxD,EAAYwE,OAAOR,KAAK,SAAUS,GAC1D,IAAIC,EAAa,GACjB,IAAKD,EAAME,UAAW,CACpBD,EAAazF,IAAIC,GAAG0F,UAAUC,SAChC,KAAO,CACLJ,EAAME,UAAUG,QAAQ,SAAUC,GAChCL,GAAcK,EAASC,cACzB,EACF,CACA,OAAON,CACT,GAAGO,MAAM,WACP,MAAO,WACT,IACA5D,KAAK6D,YAAcC,QAAQC,IAAI3D,GAAsBuC,KAAKqB,UACxD,MAAMtC,EAAiBuC,EAAoB,GAC3C,MAAMC,EAAYD,EAAoB,GACtC,MAAME,EAAuB1D,EAAc2D,wBAC3CD,EAAqBE,sBAAsB5D,EAAc6D,6BAA6BC,mBACtF,MAAOC,EAAmBC,SAA4B1F,EAAoB,CAAC,2CAA4C,8CACvH,OAAOiB,KAAK0E,WAAWhD,EAAgBV,EAAWkD,EAAWM,EAAmBC,EAAmB,GAClG9B,KAAK,SAAUuB,GAChB,MAAMjB,EAAuB1E,EAAuB6D,IAAI,4CAA4CuC,YAAYhE,GAChHsC,EAAqB2B,mBAAmBV,EAAWpC,EAAkBvB,EACvE,EACF,EASAL,EAAO2E,YAAc,SAASA,EAAYtE,GACxC,MAAMuE,EAAYvE,EAAWwE,iBAC7B,GAAID,EAAW,CACbA,EAAUE,SACZ,MAAO,GAAIhF,KAAKiF,MAAO,CACrBjF,KAAKiF,MAAMD,SACb,CACA,OAAOhF,KAAK0E,WAAW1E,KAAKkF,cAAelF,KAAKmF,SAAU,GAAInF,KAAKwE,kBAAmBxE,KAAKyE,oBAAoB9B,KAAK,WAClHpC,EAAW6E,WAAWC,YACxB,GAAGzB,MAAM,SAAU0B,GACjB/E,EAAW6E,WAAWC,aACtBtH,EAAIwH,MAAMD,EACZ,EACF,EACApF,EAAOwE,WAAaV,eAAeU,EAAWhD,EAAgBV,EAAWkD,EAAWM,EAAmBC,GACrGzE,KAAKkF,cAAgBxD,EACrB1B,KAAKmF,SAAWnE,EAChBhB,KAAKwE,kBAAoBA,EACzBxE,KAAKyE,mBAAqBA,EAC1B,MAAMpE,EAAWL,KAAKM,aACtB,MAAMkF,EAAmBnF,EAASkC,SAClC,MAAMkD,EAAiBD,EAAiBE,cACxC,MAAMnF,EAAaF,EAASG,YAC5B,MAAMC,EAAgBtC,EAAUuC,qBAAqBH,GACrD,MAAMoF,EAAmBlF,EAAcmF,oBAAoBC,wBAAwBtF,GAAYuF,QAAQvD,SAASwD,gBAChH,MAAMpF,EAAaF,EAAcG,eACjC,MAAMoF,EAAmBvF,EAAcwF,cACvC,MAAMC,EAAe,IAAIxH,EAAUF,GAAQ2H,sBAAsB,UACjE,MAAMC,EAAiB,IAAI1H,EAAUsH,GACrC,MAAMK,EAAS,MACf,IAAIC,EAAYC,EAAgBC,EAAeC,EAE/C,SAASC,IACP,MAAMC,EAAahB,EAAiBiB,MAAM,KAC1C,MAAMC,EAAiBF,EAAWG,OAAO,SAAUC,EAAYC,GAC7D,GAAIA,IAAkB,GAAI,CACxB,OAAOD,CACT,CACA,GAAIA,IAAe,GAAI,CACrBA,EAAa,IAAIC,GACnB,KAAO,CACL,MAAMC,EAAUtG,EAAWuG,UAAU,GAAGH,gCAAyCC,KACjF,GAAIC,GAAW7H,OAAO+H,KAAKF,GAASxF,OAAS,EAAG,CAC9CsF,GAAc,6BAChB,CACAA,GAAc,IAAIC,GACpB,CACA,OAAOD,CACT,EAAG,IACH,IAAIK,EAAW5B,EAAiB4B,UAAY7G,EAAW8G,eAAiB,MACxE,GAAID,IAAa,MAAO,CACtBA,EAAWE,SACb,CACA,MAAO,CACLC,KAAMH,EACNI,cAAe,CACbC,IAAK,CACHC,gBAAiB,CACfC,UAAWd,EAAiBlG,EAAWiH,qBAAqBf,GAAkB,KAC9Ed,gBAAiBJ,EAAmBhF,EAAWiH,qBAAqBjC,GAAoB,KACxFkC,YAAalC,EAAmBhF,EAAWiH,qBAAqBjC,GAAoB,KACpFmC,iBAAkBxB,EAAWsB,qBAAqB,IAAKN,UAAW,CAChES,UAAW,OAEbC,SAAUvB,EAAYF,EAAeqB,qBAAqB,KAAO,MAEnEK,OAAQ,CACNN,UAAWhH,EACXoF,gBAAiBpF,EACjBkH,YAAalH,EACb,cAAee,EACfoB,UAAWnC,EACXuH,OAAQhC,EACRiC,SAAU/B,EACV0B,iBAAkBxB,EAClB0B,SAAUzB,GAEZxD,aAActC,IAGlB2H,GAAIpH,EACJqH,SAAU7C,EAAiB6C,UAAY9H,EAAW+H,cAClDN,SAAUvB,EACV8B,MAAO,CACLpB,KAAM,CAACjD,GACPsE,eAAgB,CAEdC,uBAAwB,IACfnC,EAAWoC,UAEpBC,uBAAwBC,IACtBtC,EAAWuC,QAAQD,EAAM,IAI/BX,OAAQ,CACN,cAAevG,GAEjBoH,OAAQ,OAEZ,CACA,MAAMC,EAAkBC,IAGtBjL,EAAIwH,MAAMyD,EAAOC,QAASD,GAC1BxC,EAAc6B,SAAW7C,EAAiB0D,eAAiB,gDAC3D1C,EAAcgB,cAAcC,IAAIQ,OAAO,SAAW,IAAIvJ,EAAUsK,GAChE,OAAOzI,EAAW4I,WAAW,IACpB/K,EAAKiB,OAAOmH,GAAe7D,KAAKsC,IACrCjF,KAAKiF,MAAQA,EACbjF,KAAKiF,MAAMmE,SAAS,IAAI3K,EAAmBuB,KAAKiF,OAAQ,SACxD1E,EAAW8I,eAAe,cAAerJ,KAAKiF,OAC9C,OAAOf,CAAS,GAElB,EAEJ,IACE,IAAIoF,EACJ,MAAMC,QAAwB9I,EAAc+I,WAAW,kBAEvD,MAAMC,EAAcF,EAAgB1D,wBAAwBtF,GAC5D,MAAMmJ,EAAa1D,EAAiB,YAAcA,EAAiB,WAAW2D,iBAAmB3D,EAAiB,WAAW2D,gBAAgBC,WAAa,CAAC,EAC3J,MAAMC,EAActJ,EAAWuJ,iBAAmB,CAAC,EACnD1K,OAAO+H,KAAK0C,GAAapG,QAAQ,SAAUsG,GACzC,MAAMC,EAAmBH,EAAYE,GACrC,IAAIE,EACJ,GAAID,EAAiBE,QAAUF,EAAiBE,OAAOC,UAAYT,EAAWM,EAAiBE,OAAOC,UAAW,CAC/GF,EAAiBP,EAAWM,EAAiBE,OAAOC,UACpDH,EAAiBE,OAAOE,eAAiB,CACvCC,eAAgBJ,EAAeI,eAC/BC,OAAQL,EAAeK,OACvBC,WAAYN,EAAeM,WAE/B,CACA,GAAIP,EAAiB3K,QAAU2K,EAAiB3K,OAAO8K,UAAYT,EAAWM,EAAiB3K,OAAO8K,UAAW,CAC/GF,EAAiBP,EAAWM,EAAiB3K,OAAO8K,UACpDH,EAAiB3K,OAAO+K,eAAiB,CACvCC,eAAgBJ,EAAeI,eAC/BC,OAAQL,EAAeK,OACvBC,WAAYN,EAAeM,WAE/B,CACF,GACA9D,EAAY,CACV1D,aAActC,EACd+J,WAAYX,EACZY,UAAWhB,EAAYgB,UACvBtF,SAAUnE,EACV0J,kBAAmBpB,EAAwBtD,EAAiB,cAAgB,MAAQsD,SAA+B,OAAS,EAAIA,EAAsBoB,iBACtJxF,cAAexD,EACfqE,gBAAiBJ,EACjBgF,UAAWnM,EAAOoM,OAAOC,QACzBC,QAAStM,EAAOoM,OAAOG,OAEzB,GAAIxK,EAAWyK,YAAa,CAC1B,IAAIC,EAAwBC,EAAwBC,EAAwBC,EAAwBC,EACpGjM,OAAOkM,OAAO7E,EAAWlG,EAAWyK,eACpC,MAAMO,GAAkBvF,IAAqB,MAAQA,SAA0B,OAAS,GAAKiF,EAAyBjF,EAAiB,cAAgB,MAAQiF,SAAgC,OAAS,GAAKC,EAAyBD,EAAuBO,WAAa,MAAQN,SAAgC,OAAS,GAAKC,EAAyBD,EAAuBO,WAAa,MAAQN,SAAgC,OAAS,GAAKC,EAAyBD,EAAuBnL,KAAKa,WAAa,MAAQuK,SAAgC,OAAS,GAAKC,EAAyBD,EAAuBtF,WAAa,MAAQuF,SAAgC,OAAS,EAAIA,EAAuB9I,WAAa,CAAC,EAClsBkE,EAAY3H,EAA8ByM,EAAgB9E,EAAWhG,EAAeT,KAAKa,OAC3F,CACA4F,EAAUiF,+BAAiCC,EAA4BC,mCAAmCnL,GAC1G,MAAMoL,EAAiBpL,EAAcqL,mBACrCrF,EAAUf,cAAgBD,EAC1BgB,EAAUsF,oBAAsBF,EAAeG,oBAC/CvF,EAAUwF,0BAA4BjG,EAAiB,WAAaA,EAAiB,UAAUkG,KAAOlG,EAAiB,UAAUkG,KAAKD,0BAA4B3E,UAClKf,EAAiB,IAAI7H,EAAU+H,GAC/B,GAAIA,EAAU0F,qBAAsB,CAClC,IAAK,MAAMC,KAAmB3F,EAAU0F,qBAAsB,CAC5D,GAAIC,EAAgBC,QAAQ,QAAU,EAAG,CACvC,MAAMC,EAAwBzN,EAAyBuN,EAAiBzL,GACxE8F,EAAU0F,qBAAqBG,GAAyB7F,EAAU0F,qBAAqBC,EACzF,CACF,CACF,CACA3H,EAAmB8H,aAAa5L,EAAYF,EAAc6D,6BAA6BC,mBACvF+B,EAAa,IAAIpI,EAAc,KAC7B,IACE,MAAMsO,EAAe/L,EAAcgM,iBACnC,MAAMC,EAAcF,EAAaG,YAAYlL,OAC7C,MAAMmL,EAAsBpI,EAAkBqI,YAAYpH,EAAgB9E,EAAY8F,EAAW+F,EAAc7G,EAAkBlF,EAAc6D,6BAA6BC,kBAAmBhE,GAC/L,MAAMuM,EAAUN,EAAaG,YAC7B,MAAMI,EAAeD,EAAQE,MAAMN,GACnC,GAAIK,EAAatL,OAAS,EAAG,CAC3B1D,EAAIkP,QAAQ,8GACd,CACA,OAAOL,CACT,CAAE,MAAOrH,GACPxH,EAAIwH,MAAMA,EAAOA,GACjB,MAAO,CAAC,CACV,GACC5E,GACH,IAAK0F,EAAQ,CACXG,EAAgBE,IAEhBnG,EAAW6I,SAAS9C,EAAY,cAChC,OAAO/F,EAAW4I,WAAW,IACpB/K,EAAKiB,OAAOmH,GAAe5C,MAAMmF,GAAiBpG,KAAKsC,IAC5DjF,KAAKiF,MAAQA,EACbjF,KAAKiF,MAAMmE,SAAS,IAAI3K,EAAmBuB,KAAKiF,OAAQ,SACxDjF,KAAKiF,MAAMmE,SAAS7C,EAAgB,YACpChG,EAAW8I,eAAe,cAAerJ,KAAKiF,OAC9C,OAAOf,CAAS,GACfN,MAAMsJ,GAAKnP,EAAIwH,MAAM2H,EAAEjE,QAASiE,IAEvC,CACF,CAAE,MAAO3H,GACPxH,EAAIwH,MAAMA,EAAM0D,QAAS1D,GACzB,MAAM,IAAI4H,MAAM,+BAA+B5H,IACjD,CACF,EACArF,EAAOkN,QAAU,SAASA,IACxB,OAAOpN,KAAKiF,KACd,EACA/E,EAAOmN,aAAe,SAASA,IAC7B,OAAOrN,IACT,EACAE,EAAOoN,KAAO,SAASA,IAErB,GAAItN,KAAK4C,sBAAuB,CAC9B5C,KAAK4C,sBAAsBoC,SAC7B,CACA,GAAIhF,KAAKiD,qBAAsB,CAC7BjD,KAAKiD,qBAAqB+B,SAC5B,CACAhF,KAAKsB,SAASiM,sBAChB,EACA,OAAO1N,CACT,CA3TwC,CA2TtCxB,GACF,IAAIsN,EAA2C,SAAU6B,GACvDxO,EAAe2M,EAA6B6B,GAC5C,SAAS7B,IACP,IAAI8B,EACJ,IAAK,IAAIC,EAAOzN,UAAUwB,OAAQkM,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAAQ,CACvFF,EAAKE,GAAQ5N,UAAU4N,EACzB,CACAJ,EAAQD,EAAgBM,KAAK9N,QAAS2N,IAAS3N,KAC/CyN,EAAMM,mBAAqB,CAAC,EAC5B,OAAON,CACT,CACA,IAAIO,EAAUrC,EAA4BxM,UAC1C6O,EAAQ3L,eAAiB,SAASA,EAAe4L,GAC/CtC,EAA4BuC,iBAC5B,MAAMC,EAAwB,IAAItO,EAAqBT,OAAOkM,OAAO,CACnE/J,QAASvB,MACRiO,IACH,OAAOE,EAAsBtK,YAAYlB,KAAK,WAC5CgJ,EAA4BuC,iBAC5B,OAAOC,CACT,EACF,EACAH,EAAQT,qBAAuB,SAASA,IACtCvN,KAAK+N,mBAAqB,CAAC,CAC7B,EAOApC,EAA4BC,mCAAqC,SAASA,EAAmC7I,GAC3G,MAAMqL,EAAgBrL,EAAasL,mBACnC,GAAID,IAAkB9G,WAAa8G,EAAcE,cAAe,CAC9D,OAAOF,EAAcE,cAAcC,2BACrC,CACA,OAAOjH,SACT,EACAqE,EAA4B6C,gCAAkC,SAASA,IACrE,OAAO7C,EAA4BuC,cACrC,EACA,OAAOvC,CACT,CA1C+C,CA0C7CrN,GACF,OAAOqN,CACT,EAAG"}
|
|
1
|
+
{"version":3,"file":"TemplatedViewServiceFactory.js","names":["sap","ui","define","Log","LoaderUtils","ChangePageConfiguration","TemplateModel","Component","View","Service","ServiceFactory","ServiceFactoryRegistry","Device","ManagedObjectModel","JSONModel","VersionInfo","DynamicAnnotationPathHelper","resolveDynamicExpression","applyPageConfigurationChanges","requireDependencies","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","TemplatedViewService","_Service","apply","this","arguments","_proto","init","aServiceDependencies","oContext","getContext","oComponent","scopeObject","oAppComponent","getOwnerComponentFor","oMetaModel","getMetaModel","pageId","getLocalId","getId","sStableId","getMetadata","getComponentName","aEnhanceI18n","getEnhanceI18n","sAppNamespace","oFactory","factory","i","length","oResourceModel","getModel","isA","replace","sCacheIdentifier","getName","getCore","getConfiguration","getLanguageTag","push","get","createInstance","scopeType","settings","bundles","enhanceI18n","modelName","then","oResourceModelService","getResourceModel","metaModel","appComponent","component","oCacheHandlerService","validateCacheKey","load","oInfo","sTimestamp","libraries","buildinfo","buildtime","forEach","oLibrary","buildTimestamp","catch","initPromise","Promise","all","async","aDependenciesResult","sCacheKey","oSideEffectsServices","getSideEffectsService","environmentCapabilitiesService","getService","initializeSideEffects","getCapabilities","TemplateConverter","MetaModelConverter","createView","getInstance","invalidateIfNeeded","refreshView","oRootView","getRootControl","destroy","oView","resourceModel","stableId","oContainer","invalidate","oError","error","mServiceSettings","sConverterType","converterType","sFullContextPath","getRoutingService","getTargetInformationFor","options","fullContextPath","oManifestContent","getManifest","oDeviceModel","setDefaultBindingMode","oManifestModel","bError","oPageModel","oViewDataModel","oViewSettings","mViewData","getViewSettings","aSplitPath","split","sEntitySetPath","reduce","sPathSoFar","sNextPathPart","oTarget","getObject","keys","viewType","getViewType","undefined","type","preprocessors","xml","bindingContexts","entitySet","createBindingContext","contextPath","converterContext","noResolve","viewData","models","device","manifest","id","viewName","getViewName","cache","additionalData","getAdditionalCacheData","getData","setAdditionalCacheData","value","setData","height","createErrorPage","reason","message","errorViewName","runAsOwner","setModel","setAggregation","_oManifestContent$sap","oRoutingService","oTargetInfo","mOutbounds","crossNavigation","outbounds","mNavigation","getNavigation","navigationObjectKey","navigationObject","outboundConfig","detail","outbound","outboundDetail","semanticObject","action","parameters","navigation","viewLevel","contentDensities","isDesktop","system","desktop","isPhone","phone","getViewData","_oManifestContent$sap2","_oManifestContent$sap3","_oManifestContent$sap4","_oManifestContent$sap5","_oManifestContent$sap6","assign","actualSettings","routing","targets","isShareButtonVisibleForMyInbox","TemplatedViewServiceFactory","getShareButtonVisibilityForMyInbox","oShellServices","getShellServices","shellContentDensity","getContentDensity","retrieveTextFromValueList","form","controlConfiguration","sAnnotationPath","indexOf","sTargetAnnotationPath","convertTypes","getEnvironmentCapabilities","oDiagnostics","getDiagnostics","iIssueCount","getIssues","oConverterPageModel","convertPage","aIssues","aAddedIssues","slice","warning","e","Error","getView","getInterface","exit","removeGlobalInstance","_ServiceFactory","_this","_len","args","Array","_key","call","_oInstanceRegistry","_proto2","oServiceContext","iCreatingViews","oTemplatedViewService","componentData","getComponentData","feEnvironment","getShareControlVisibility","getNumberOfViewsInCreationState"],"sources":["TemplatedViewServiceFactory-dbg.js"],"mappings":"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"}
|
|
@@ -145,7 +145,8 @@ class TemplatedViewService extends Service<TemplatedViewServiceSettings> {
|
|
|
145
145
|
const oResourceModel = aDependenciesResult[0] as ResourceModel;
|
|
146
146
|
const sCacheKey = aDependenciesResult[1];
|
|
147
147
|
const oSideEffectsServices = oAppComponent.getSideEffectsService();
|
|
148
|
-
|
|
148
|
+
const environmentCapabilitiesService = await oAppComponent.getService("environmentCapabilities");
|
|
149
|
+
oSideEffectsServices.initializeSideEffects(environmentCapabilitiesService.getCapabilities());
|
|
149
150
|
const [TemplateConverter, MetaModelConverter] = await requireDependencies([
|
|
150
151
|
"sap/fe/core/converters/TemplateConverter",
|
|
151
152
|
"sap/fe/core/converters/MetaModelConverter"
|