From cd8db28ab077923a3032b2b93cd6b84dfa00a549 Mon Sep 17 00:00:00 2001 From: James Strachan Date: Thu, 24 Sep 2015 16:26:20 +0100 Subject: [PATCH] polishing the workspace breadcrumbs / sub nav --- defs.d.ts | 8 +- dist/hawtio-kubernetes.js | 262 ++++++++++++----------- plugins/developer/html/projects.html | 5 + plugins/developer/html/workspace.html | 4 + plugins/developer/ts/developerHelpers.ts | 39 +++- plugins/developer/ts/projects.ts | 2 +- plugins/developer/ts/workspace.ts | 6 +- 7 files changed, 186 insertions(+), 140 deletions(-) diff --git a/defs.d.ts b/defs.d.ts index cfb7462..a134bbc 100644 --- a/defs.d.ts +++ b/defs.d.ts @@ -1,14 +1,9 @@ -/// -/// /// /// /// /// /// /// -/// -/// -/// /// /// /// @@ -47,3 +42,6 @@ /// /// /// +/// +/// +/// diff --git a/dist/hawtio-kubernetes.js b/dist/hawtio-kubernetes.js index 37ff44c..e184be7 100644 --- a/dist/hawtio-kubernetes.js +++ b/dist/hawtio-kubernetes.js @@ -35,7 +35,7 @@ var Developer; build.$creationDate = d; } if (name) { - build.$viewLink = UrlHelpers.join("workspaces", name, "projects"); + build.$viewLink = UrlHelpers.join("workspaces", name); } } return build; @@ -68,12 +68,12 @@ var Developer; var answer = createWorkspaceBreadcrumbs(); var workspaceName = Kubernetes.currentKubernetesNamespace(); if (workspaceName) { - answer.push({ - href: UrlHelpers.join("/workspaces", workspaceName, "projects"), - label: "Projects", - title: "View all the projects" - }); if (projectName) { + answer.push({ + href: UrlHelpers.join("/workspaces", workspaceName, "projects"), + label: "Projects", + title: "View all the projects" + }); answer.push({ href: UrlHelpers.join("/workspaces", workspaceName, "projects", projectName), label: projectName, @@ -85,6 +85,27 @@ var Developer; return answer; } Developer.createProjectBreadcrumbs = createProjectBreadcrumbs; + function createWorkspaceSubNavBars() { + var workspaceName = Kubernetes.currentKubernetesNamespace(); + return activateCurrent([ + { + href: UrlHelpers.join("/workspaces", workspaceName), + label: "Projects", + title: "View the projects for this workspace" + }, + { + href: UrlHelpers.join("/workspaces", workspaceName, "environment/apps"), + label: "Runtime", + title: "View the runtime environment for this workspace" + }, + { + href: UrlHelpers.join("/workspaces", workspaceName, "detail"), + label: "Detail", + title: "View the workspace detail" + } + ]); + } + Developer.createWorkspaceSubNavBars = createWorkspaceSubNavBars; function createProjectSubNavBars(projectName) { var workspaceName = Kubernetes.currentKubernetesNamespace(); return activateCurrent([ @@ -1947,6 +1968,7 @@ var Developer; }; Kubernetes.initShared($scope, $location, $http, $timeout, $routeParams, KubernetesModel, KubernetesState, KubernetesApiURL); $scope.breadcrumbConfig = Developer.createProjectBreadcrumbs(); + $scope.subTabConfig = Developer.createWorkspaceSubNavBars(); $scope.isLoggedIntoGogs = Forge.isLoggedIntoGogs; $scope.deletePrompt = function (selected) { UI.multiItemConfirmActionDialog({ @@ -2024,10 +2046,8 @@ var Developer; $scope.schema = KubernetesSchema; $scope.config = KubernetesSchema.definitions.kubernetes_Namespace; Kubernetes.initShared($scope, $location, $http, $timeout, $routeParams, KubernetesModel, KubernetesState, KubernetesApiURL); - $scope.breadcrumbConfig = Developer.createWorkspaceBreadcrumbs([{ - label: "Detail", - title: "View the workspace detail" - }]); + $scope.breadcrumbConfig = Developer.createWorkspaceBreadcrumbs(); + $scope.subTabConfig = Developer.createWorkspaceSubNavBars(); $scope.$on('kubernetesModelUpdated', function () { updateData(); }); @@ -2114,107 +2134,6 @@ var Developer; }]); })(Developer || (Developer = {})); -/// -/// -var Project; -(function (Project) { - Project.context = '/project'; - Project.hash = '#' + Project.context; - Project.pluginName = 'Project'; - Project.log = Logger.get(Project.pluginName); - Project.pluginPath = 'plugins/project/'; - Project.templatePath = Project.pluginPath + 'html/'; - Project.gogsRestURL = "/kubernetes/api/" + Kubernetes.defaultApiVersion + "/proxy/services/gogs-http-service/api/v1"; - Project.gogsUserRepoRestURL = Project.gogsRestURL + "/user/repos"; -})(Project || (Project = {})); - -/// -/// -/// -var Project; -(function (Project) { - Project._module = angular.module(Project.pluginName, [Kubernetes.pluginName]); - Project.controller = PluginHelpers.createControllerFunction(Project._module, Project.pluginName); - Project.route = PluginHelpers.createRoutingFunction(Project.templatePath); - Project._module.config(['$routeProvider', function ($routeProvider) { - $routeProvider.when(UrlHelpers.join(Project.context, '/create'), Project.route('projectCreate.html', false)); - }]); - Project._module.factory('ForgeApiURL', ['jolokiaUrl', 'jolokia', '$q', '$rootScope', function (jolokiaUrl, jolokia, $q, $rootScope) { - return Kubernetes.kubernetesApiUrl() + "/proxy" + Kubernetes.kubernetesNamespacePath() + "/services/fabric8-forge/api/forge"; - }]); - hawtioPluginLoader.addModule(Project.pluginName); -})(Project || (Project = {})); - -/// -/// -/// -var Project; -(function (Project) { - Project.ProjectController = Project.controller("ProjectController", ["$scope", "KubernetesModel", "$templateCache", "$location", "$routeParams", "$http", "$timeout", "KubernetesApiURL", function ($scope, KubernetesModel, $templateCache, $location, $routeParams, $http, $timeout, KubernetesApiURL) { - $scope.model = KubernetesModel; - $scope.entity = { - name: "" - }; - $scope.$on('$routeUpdate', function ($event) { - updateData(); - }); - // TODO add actual login/pwd or OAuth - var authorizationHeader = "Basic TODO"; - // TODO take this from the service host! - $scope.create = function () { - var url = Project.gogsUserRepoRestURL; - console.log("Creating project " + angular.toJson($scope.entity, true)); - console.log("Posting to url: " + url); - var data = $scope.entity; - var config = { - headers: { - 'withCredentials': true, - 'Authorization': authorizationHeader, - 'Content-Type': "application/json" - } - }; - $http.post(url, data, config).success(function (data, status, headers, config) { - console.log("project created! got data " + angular.toJson(data, true)); - createProject(data); - }).error(function (data, status, headers, config) { - Project.log.warn("Failed to load " + url + " " + data + " " + status); - Core.notification('error', "Failed to create git repository " + name + ". Returned code: " + status + " " + data); - }); - }; - updateData(); - function createProject(data) { - var full_name = data.full_name; - if (full_name) { - var gitUrl = Core.url(Project.gogsRestURL + "/" + full_name + ".git"); - console.log("Creating a git repo for " + full_name + " at : " + gitUrl); - } - // TODO lets forward to the create project wizard... - } - function updateData() { - $scope.builds = []; - var url = Project.gogsUserRepoRestURL; - var config = { - headers: { - 'withCredentials': true, - 'Authorization': authorizationHeader - } - }; - delete $http.defaults.headers.common["Accept"]; - $http.get(url, config).success(function (data, status, headers, config) { - if (data) { - console.log("got repos: " + angular.toJson(data, true)); - $scope.builds = data; - } - $scope.fetched = true; - Core.$apply($scope); - }).error(function (data, status, headers, config) { - $scope.fetched = true; - Project.log.warn("Failed to load " + url + " " + data + " " + status); - }); - } - }]); -})(Project || (Project = {})); - /// /// var Kubernetes; @@ -10842,8 +10761,116 @@ var Kubernetes; }]); })(Kubernetes || (Kubernetes = {})); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9pbmNsdWRlcy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9kZXZlbG9wZXIvdHMvZGV2ZWxvcGVySGVscGVycy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9kZXZlbG9wZXIvdHMvZGV2ZWxvcGVyUGx1Z2luLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMva3ViZXJuZXRlc0ludGVyZmFjZXMudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9rdWJlcm5ldGVzSGVscGVycy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9kZXZlbG9wZXIvdHMvcHJvamVjdHMudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMvZGV2ZWxvcGVyL3RzL3dvcmtzcGFjZS50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9kZXZlbG9wZXIvdHMvd29ya3NwYWNlcy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9wcm9qZWN0L3RzL3Byb2plY3RIZWxwZXJzLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL3Byb2plY3QvdHMvcHJvamVjdFBsdWdpbi50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9wcm9qZWN0L3RzL3Byb2plY3QudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9rdWJlcm5ldGVzUGx1Z2luLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvYXBwcy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL2J1aWxkLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvYnVpbGRDb25maWcudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9idWlsZENvbmZpZ0VkaXQudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9idWlsZENvbmZpZ3MudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9idWlsZExvZ3MudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9idWlsZHMudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9jb25uZWN0LnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvZGVwbG95bWVudENvbmZpZy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL2RlcGxveW1lbnRDb25maWdzLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvZXZlbnRzLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMva3ViZXJuZXRlc01vZGVsLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvaG9zdC50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL3V0aWxIZWxwZXJzLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvaG9zdHMudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9pbWFnZVJlcG9zaXRvcmllcy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL2t1YmVybmV0ZXNKc29uRGlyZWN0aXZlLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvc2NoZW1hLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMva3ViZXJuZXRlc1NjaGVtYS50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL2t1YmVybmV0ZXNTZXJ2aWNlcy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL2t1YmVybmV0ZXNUb3BMZXZlbC50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL25hbWVzcGFjZS50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL292ZXJ2aWV3LnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvcGlwZWxpbmVzLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvcG9kLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvcG9kRWRpdC50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL3BvZHMudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9yZXBsaWNhdGlvbkNvbnRyb2xsZXIudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9yZXBsaWNhdGlvbkNvbnRyb2xsZXJFZGl0LnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvcmVwbGljYXRpb25Db250cm9sbGVycy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL3NlcnZpY2UudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9zZXJ2aWNlRWRpdC50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL3NlcnZpY2VSZWdpc3RyeS50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL3NlcnZpY2VzLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvc2hhcmVkQ29udHJvbGxlcnMudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy90ZW1wbGF0ZXMudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy93YXRjaGVyLnRzIl0sIm5hbWVzIjpbIkRldmVsb3BlciIsIkRldmVsb3Blci5lbnJpY2hXb3Jrc3BhY2VzIiwiRGV2ZWxvcGVyLmVucmljaFdvcmtzcGFjZSIsIkRldmVsb3Blci5jcmVhdGVXb3Jrc3BhY2VCcmVhZGNydW1icyIsIkRldmVsb3Blci5jcmVhdGVQcm9qZWN0QnJlYWRjcnVtYnMiLCJEZXZlbG9wZXIuY3JlYXRlUHJvamVjdFN1Yk5hdkJhcnMiLCJEZXZlbG9wZXIudHJpbVF1ZXJ5IiwiRGV2ZWxvcGVyLmFjdGl2YXRlQ3VycmVudCIsIkRldmVsb3Blci5wcm9jZXNzQ2hpbGRyZW4iLCJLdWJlcm5ldGVzIiwiS3ViZXJuZXRlcy5jb25zdHMiLCJLdWJlcm5ldGVzLmNvbnN0cy5jb25zdHJ1Y3RvciIsIkt1YmVybmV0ZXMuY29uc3RzLk5BTUVTUEFDRV9TVE9SQUdFX0tFWSIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcyIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcy5jb25zdHJ1Y3RvciIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcy5FTkRQT0lOVFMiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuRVZFTlRTIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLk5BTUVTUEFDRVMiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuTk9ERVMiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuUEVSU0lTVEVOVF9WT0xVTUVTIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLlBFUlNJU1RFTlRfVk9MVU1FX0NMQUlNUyIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcy5QT0RTIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLlJFUExJQ0FUSU9OX0NPTlRST0xMRVJTIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLlJFU09VUkNFX1FVT1RBUyIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcy5PQVVUSF9DTElFTlRTIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLlNFQ1JFVFMiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuU0VSVklDRVMiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuU0VSVklDRV9BQ0NPVU5UUyIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcy5URU1QTEFURVMiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuUk9VVEVTIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLkJVSUxEX0NPTkZJR1MiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuQlVJTERTIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLkRFUExPWU1FTlRfQ09ORklHUyIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcy5JTUFHRV9TVFJFQU1TIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLlBPTElDSUVTIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLlBPTElDWV9CSU5ESU5HUyIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcy5QUk9KRUNUUyIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcy5ST0xFX0JJTkRJTkdTIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLlJPTEVTIiwiS3ViZXJuZXRlcy5OYW1lc3BhY2VkVHlwZXMiLCJLdWJlcm5ldGVzLk5hbWVzcGFjZWRUeXBlcy5jb25zdHJ1Y3RvciIsIkt1YmVybmV0ZXMuTmFtZXNwYWNlZFR5cGVzLms4c1R5cGVzIiwiS3ViZXJuZXRlcy5OYW1lc3BhY2VkVHlwZXMub3NUeXBlcyIsIkt1YmVybmV0ZXMuV2F0Y2hBY3Rpb25zIiwiS3ViZXJuZXRlcy5XYXRjaEFjdGlvbnMuY29uc3RydWN0b3IiLCJLdWJlcm5ldGVzLldhdGNoQWN0aW9ucy5BTlkiLCJLdWJlcm5ldGVzLldhdGNoQWN0aW9ucy5BRERFRCIsIkt1YmVybmV0ZXMuV2F0Y2hBY3Rpb25zLk1PRElGSUVEIiwiS3ViZXJuZXRlcy5XYXRjaEFjdGlvbnMuREVMRVRFRCIsIkt1YmVybmV0ZXMua3ViZXJuZXRlc05hbWVzcGFjZVBhdGgiLCJLdWJlcm5ldGVzLmFwaVByZWZpeCIsIkt1YmVybmV0ZXMub3NBcGlQcmVmaXgiLCJLdWJlcm5ldGVzLm1hc3RlckFwaVVybCIsIkt1YmVybmV0ZXMua3ViZXJuZXRlc0FwaVByZWZpeCIsIkt1YmVybmV0ZXMub3BlbnNoaWZ0QXBpUHJlZml4IiwiS3ViZXJuZXRlcy5wcmVmaXhGb3JUeXBlIiwiS3ViZXJuZXRlcy5rdWJlcm5ldGVzQXBpVXJsIiwiS3ViZXJuZXRlcy5vcGVuc2hpZnRBcGlVcmwiLCJLdWJlcm5ldGVzLnJlc291cmNlc1VyaUZvcktpbmQiLCJLdWJlcm5ldGVzLnVyaVRlbXBsYXRlRm9yS3ViZXJuZXRlc0tpbmQiLCJLdWJlcm5ldGVzLm5hbWVzcGFjZVBhdGhGb3JLaW5kIiwiS3ViZXJuZXRlcy51cGRhdGVPckNyZWF0ZU9iamVjdCIsIkt1YmVybmV0ZXMuY3JlYXRlUmVzb3VyY2UiLCJLdWJlcm5ldGVzLmltYWdlUmVwb3NpdG9yaWVzUmVzdFVSTCIsIkt1YmVybmV0ZXMuZGVwbG95bWVudENvbmZpZ3NSZXN0VVJMIiwiS3ViZXJuZXRlcy5idWlsZHNMb2dzUmVzdFVSTCIsIkt1YmVybmV0ZXMuYnVpbGRzUmVzdFVSTCIsIkt1YmVybmV0ZXMuYnVpbGRDb25maWdIb29rc1Jlc3RVUkwiLCJLdWJlcm5ldGVzLmJ1aWxkQ29uZmlnc1Jlc3RVUkwiLCJLdWJlcm5ldGVzLnJvdXRlc1Jlc3RVUkwiLCJLdWJlcm5ldGVzLnRlbXBsYXRlc1Jlc3RVUkwiLCJLdWJlcm5ldGVzLmdldE5hbWVzcGFjZSIsIkt1YmVybmV0ZXMuZ2V0TGFiZWxzIiwiS3ViZXJuZXRlcy5nZXROYW1lIiwiS3ViZXJuZXRlcy5nZXRLaW5kIiwiS3ViZXJuZXRlcy5nZXRTZWxlY3RvciIsIkt1YmVybmV0ZXMuZ2V0SG9zdCIsIkt1YmVybmV0ZXMuZ2V0U3RhdHVzIiwiS3ViZXJuZXRlcy5nZXRQb3J0cyIsIkt1YmVybmV0ZXMuZ2V0Q3JlYXRpb25UaW1lc3RhbXAiLCJLdWJlcm5ldGVzLmlzS3ViZXJuZXRlcyIsIkt1YmVybmV0ZXMuaXNLdWJlcm5ldGVzVGVtcGxhdGVNYW5hZ2VyIiwiS3ViZXJuZXRlcy5pc0FwcFZpZXciLCJLdWJlcm5ldGVzLnNldEpzb24iLCJLdWJlcm5ldGVzLmxhYmVsc1RvU3RyaW5nIiwiS3ViZXJuZXRlcy5pbml0U2hhcmVkIiwiS3ViZXJuZXRlcy5pbml0U2hhcmVkLmhhc1NlcnZpY2UiLCJLdWJlcm5ldGVzLnNlcnZpY2VMaW5rVXJsIiwiS3ViZXJuZXRlcy5jcmVhdGVQb2RDb3VudGVycyIsIkt1YmVybmV0ZXMuY29udmVydEt1YmVybmV0ZXNKc29uVG9JdGVtcyIsIkt1YmVybmV0ZXMuaXNWMWJldGExT3IyIiwiS3ViZXJuZXRlcy5lbnRpdHlQYWdlTGluayIsIkt1YmVybmV0ZXMucmVzb3VyY2VLaW5kVG9VcmlQYXRoIiwiS3ViZXJuZXRlcy5pc0lnbm9yZU5hbWVzcGFjZUtpbmQiLCJLdWJlcm5ldGVzLmt1YmVybmV0ZXNVcmxGb3JLaW5kIiwiS3ViZXJuZXRlcy5rdWJlcm5ldGVzVXJsRm9ySXRlbUtpbmQiLCJLdWJlcm5ldGVzLmt1YmVybmV0ZXNQcm94eVVybEZvclNlcnZpY2UiLCJLdWJlcm5ldGVzLmJ1aWxkQ29uZmlnUmVzdFVybCIsIkt1YmVybmV0ZXMuZGVwbG95bWVudENvbmZpZ1Jlc3RVcmwiLCJLdWJlcm5ldGVzLmltYWdlUmVwb3NpdG9yeVJlc3RVcmwiLCJLdWJlcm5ldGVzLmJ1aWxkUmVzdFVybCIsIkt1YmVybmV0ZXMuYnVpbGRMb2dzUmVzdFVybCIsIkt1YmVybmV0ZXMucnVuQXBwIiwiS3ViZXJuZXRlcy5pc1J1bm5pbmciLCJLdWJlcm5ldGVzLnNlbGVjdG9yTWF0Y2hlcyIsIkt1YmVybmV0ZXMuZ2V0U2VydmljZVJlZ2lzdHJ5IiwiS3ViZXJuZXRlcy5raWJhbmFMb2dzTGluayIsIkt1YmVybmV0ZXMub3BlbkxvZ3NGb3JQb2RzIiwiS3ViZXJuZXRlcy5yZXNpemVDb250cm9sbGVyIiwiS3ViZXJuZXRlcy5zdGF0dXNUZXh0VG9Dc3NDbGFzcyIsIkt1YmVybmV0ZXMucG9kU3RhdHVzIiwiS3ViZXJuZXRlcy5jcmVhdGVBcHBWaWV3UG9kQ291bnRlcnMiLCJLdWJlcm5ldGVzLmNyZWF0ZUFwcFZpZXdTZXJ2aWNlVmlld3MiLCJLdWJlcm5ldGVzLmdpdFBhdGhUb1VybCIsIkt1YmVybmV0ZXMuZW5yaWNoQnVpbGRDb25maWciLCJLdWJlcm5ldGVzLmVucmljaEJ1aWxkQ29uZmlnLmRlZmF1bHRQcm9wZXJ0aWVzSWZOb3RFeGlzdCIsIkt1YmVybmV0ZXMuZW5yaWNoQnVpbGRDb25maWcuZGVmYXVsdFByb3BlcnRpZXNJZk5vdEV4aXN0U3RhcnRzV2l0aCIsIkt1YmVybmV0ZXMuZW5yaWNoQnVpbGRDb25maWdzIiwiS3ViZXJuZXRlcy5lbnJpY2hCdWlsZHMiLCJLdWJlcm5ldGVzLmVucmljaEJ1aWxkIiwiS3ViZXJuZXRlcy5lbnJpY2hEZXBsb3ltZW50Q29uZmlnIiwiS3ViZXJuZXRlcy5lbnJpY2hEZXBsb3ltZW50Q29uZmlncyIsIkt1YmVybmV0ZXMuZW5yaWNoRXZlbnQiLCJLdWJlcm5ldGVzLmVucmljaEV2ZW50cyIsIkt1YmVybmV0ZXMuZW5yaWNoRXZlbnRzLmNsZWFyRXZlbnRzIiwiS3ViZXJuZXRlcy5lbnJpY2hFdmVudHMudXBkYXRlRXZlbnQiLCJLdWJlcm5ldGVzLmVucmljaEltYWdlUmVwb3NpdG9yeSIsIkt1YmVybmV0ZXMuZW5yaWNoSW1hZ2VSZXBvc2l0b3JpZXMiLCJLdWJlcm5ldGVzLmNvbnRhaW5lckxhYmVsQ2xhc3MiLCJLdWJlcm5ldGVzLmlzRm9yZ2VFbmFibGVkIiwiS3ViZXJuZXRlcy5jdXJyZW50S3ViZXJuZXRlc05hbWVzcGFjZSIsIkt1YmVybmV0ZXMuY29uZmlndXJlU2NoZW1hIiwiS3ViZXJuZXRlcy50b1Jhd0pzb24iLCJEZXZlbG9wZXIuZGVsZXRlU2VsZWN0ZWQiLCJEZXZlbG9wZXIuZGVsZXRlRW50aXR5IiwiRGV2ZWxvcGVyLnVwZGF0ZURhdGEiLCJQcm9qZWN0IiwiUHJvamVjdC5jcmVhdGVQcm9qZWN0IiwiUHJvamVjdC51cGRhdGVEYXRhIiwiS3ViZXJuZXRlcy5hcHBNYXRjaGVzIiwiS3ViZXJuZXRlcy5hcHBSdW5uaW5nIiwiS3ViZXJuZXRlcy5kZWxldGVBcHAiLCJLdWJlcm5ldGVzLmRlbGV0ZUFwcC5kZWxldGVTZXJ2aWNlcyIsIkt1YmVybmV0ZXMuZGVsZXRlQXBwLmRlbGV0ZVJlcGxpY2F0aW9uQ29udHJvbGxlcnMiLCJLdWJlcm5ldGVzLmRlbGV0ZUFwcC5kZWxldGVQb2RzIiwiS3ViZXJuZXRlcy5kZWxldGVTZWxlY3RlZCIsIkt1YmVybmV0ZXMudXBkYXRlRGF0YSIsIkt1YmVybmV0ZXMuZGVsZXRlRW50aXR5IiwiS3ViZXJuZXRlcy5ieUlkIiwiS3ViZXJuZXRlcy5jcmVhdGVLZXkiLCJLdWJlcm5ldGVzLnBvcHVsYXRlS2V5IiwiS3ViZXJuZXRlcy5wb3B1bGF0ZUtleXMiLCJLdWJlcm5ldGVzLnNlbGVjdFBvZHMiLCJLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UiLCJLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UuY29uc3RydWN0b3IiLCJLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UucmVwbGljYXRpb25Db250cm9sbGVycyIsIkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZS5uYW1lc3BhY2VzIiwiS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLnNlcnZpY2VBcHBzIiwiS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLiRrZWVwUG9sbGluZyIsIkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZS5vclJlZHJhdyIsIkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZS5nZXRTZXJ2aWNlIiwiS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLmdldFJlcGxpY2F0aW9uQ29udHJvbGxlciIsIkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZS5nZXRQb2QiLCJLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UucG9kc0Zvck5hbWVzcGFjZSIsIkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZS5jdXJyZW50TmFtZXNwYWNlIiwiS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLnVwZGF0ZUljb25VcmxBbmRBcHBJbmZvIiwiS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLm1heWJlSW5pdCIsIkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZS51cGRhdGVBcHBzIiwiS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLmRpc2NvdmVyUG9kQ29ubmVjdGlvbnMiLCJLdWJlcm5ldGVzLnNvcnRCeVBvZElwIiwiS3ViZXJuZXRlcy53aXRoUHJvcGVydHkiLCJLdWJlcm5ldGVzLmhpZGVQcm9wZXJ0aWVzIiwiS3ViZXJuZXRlcy5LdWJlcm5ldGVzU3RhdGVJbXBsIiwiS3ViZXJuZXRlcy5LdWJlcm5ldGVzU3RhdGVJbXBsLmNvbnN0cnVjdG9yIiwiS3ViZXJuZXRlcy5LdWJlcm5ldGVzU3RhdGVJbXBsLm5hbWVzcGFjZXMiLCJLdWJlcm5ldGVzLkt1YmVybmV0ZXNTdGF0ZUltcGwuc2VsZWN0ZWROYW1lc3BhY2UiLCJLdWJlcm5ldGVzLmludGVycG9sYXRlIiwiS3ViZXJuZXRlcy5jcmVhdGVFbGVtZW50IiwiS3ViZXJuZXRlcy5jcmVhdGVFbGVtZW50cyIsIkt1YmVybmV0ZXMuYXBwZW5kTmV3RWxlbWVudHMiLCJLdWJlcm5ldGVzLm5hbWVzcGFjZUZpbHRlciIsIkt1YmVybmV0ZXMuZmlyc3REcmF3IiwiS3ViZXJuZXRlcy51cGRhdGUiLCJLdWJlcm5ldGVzLnJlZnJlc2hEcmF3aW5nIiwiS3ViZXJuZXRlcy5jcmVhdGVQaXBlbGluZUtleSIsIkt1YmVybmV0ZXMubWF5YmVOZXh0IiwiS3ViZXJuZXRlcy5TZXJ2aWNlUmVnaXN0cnlTZXJ2aWNlIiwiS3ViZXJuZXRlcy5TZXJ2aWNlUmVnaXN0cnlTZXJ2aWNlLmNvbnN0cnVjdG9yIiwiS3ViZXJuZXRlcy5TZXJ2aWNlUmVnaXN0cnlTZXJ2aWNlLmhhc1NlcnZpY2UiLCJLdWJlcm5ldGVzLlNlcnZpY2VSZWdpc3RyeVNlcnZpY2UuZmluZFNlcnZpY2UiLCJLdWJlcm5ldGVzLlNlcnZpY2VSZWdpc3RyeVNlcnZpY2Uuc2VydmljZUxpbmsiLCJLdWJlcm5ldGVzLlNlcnZpY2VSZWdpc3RyeVNlcnZpY2UuZ2V0TW9kZWwiLCJLdWJlcm5ldGVzLmdldFdlaWdodCIsIkt1YmVybmV0ZXMuZ29CYWNrIiwiS3ViZXJuZXRlcy5nZXRBbm5vdGF0aW9ucyIsIkt1YmVybmV0ZXMuZ2V0VmFsdWVGb3IiLCJLdWJlcm5ldGVzLnN1YnN0aXR1dGUiLCJLdWJlcm5ldGVzLmFwcGx5T2JqZWN0cyIsIkt1YmVybmV0ZXMucmVsb2FkRGF0YUlmTm9XYXRjaCIsIkt1YmVybmV0ZXMud2F0Y2hOYW1lc3BhY2VzIiwiS3ViZXJuZXRlcy5jcmVhdGVXYXRjaCJdLCJtYXBwaW5ncyI6IkFBQUEsc0RBQXNEO0FBQ3RELHNEQUFzRDtBQUN0RCxtREFBbUQ7QUFDbkQsMERBQTBEO0FB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SUEsUUFBUUEsR0FBR0EsT0FBT0EsQ0FBQ0EsUUFBUUEsSUFBSUEsRUFBRUEsQ0FBQ0E7UUFDdENBLElBQUlBLHNCQUFzQkEsR0FBR0EsT0FBT0EsQ0FBQ0Esc0JBQXNCQSxJQUFJQSxFQUFFQSxDQUFDQTtRQUNsRUEsSUFBSUEsSUFBSUEsR0FBR0EsSUFBSUEsQ0FBQ0EsR0FBR0EsQ0FBQ0EsUUFBUUEsQ0FBQ0EsTUFBTUEsRUFBRUEsc0JBQXNCQSxDQUFDQSxNQUFNQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQTtRQUN2RUEsSUFBSUEsT0FBT0EsR0FBR0EsT0FBT0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsSUFBSUEsQ0FBQ0E7UUFDakNBLEdBQUdBLENBQUNBLENBQUNBLEdBQUdBLENBQUNBLENBQUNBLEdBQUdBLENBQUNBLEVBQUVBLENBQUNBLEdBQUdBLElBQUlBLEVBQUVBLENBQUNBLEVBQUVBLEVBQUVBLENBQUNBO1lBQzlCQSxJQUFJQSxPQUFPQSxHQUFHQSxRQUFRQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtZQUMxQkEsSUFBSUEscUJBQXFCQSxHQUFHQSxzQkFBc0JBLENBQUNBLENBQUNBLENBQUNBLENBQUNBO1lBQ3REQSxJQUFJQSxZQUFZQSxHQUFHQSxPQUFPQSxDQUFDQSxxQkFBcUJBLENBQUNBLENBQUNBO1lBQ2xEQSxJQUFJQSxJQUFJQSxHQUFHQSxPQUFPQSxDQUFDQSxPQUFPQSxDQUFDQSxJQUFJQSxZQUFZQSxDQUFDQTtZQUM1Q0EsSUFBSUEsT0FBT0EsR0FBR0EsSUFBSUEsQ0FBQ0EsT0FBT0EsQ0FBQ0EsT0FBT0EsRUFBRUEsQ0FBQ0EsTUFBTUEsRUFBRUEsVUFBVUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7WUFDMURBLEVBQUVBLENBQUNBLENBQUNBLENBQUNBLElBQUlBLElBQUlBLElBQUlBLENBQUNBLE1BQU1BLENBQUNBLENBQUNBLENBQUNBO2dCQUN6QkEsSUFBSUEsR0FBR0EsSUFBSUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsUUFBUUEsQ0FBQ0E7WUFDMUJBLENBQUNBO1lB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QUFDQSxFQUFFQSxnQkFBS0EsQ0FBQ0EsV0FBV0EsRUFBRUEsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FDakVBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGtCQUFPQSxFQUFFQSxpQkFBaUJBLENBQUNBLEVBQUVBLGdCQUFLQSxDQUFDQSxXQUFXQSxFQUFFQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUM1RUEsSUFBSUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0Esa0JBQU9BLEVBQUVBLFdBQVdBLENBQUNBLEVBQUVBLGdCQUFLQSxDQUFDQSxnQkFBZ0JBLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBLENBQzNFQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsT0FBT0EsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLFlBQVlBLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBLENBQ25FQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsV0FBV0EsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLFdBQVdBLEVBQUVBLElBQUlBLENBQUNBLENBQUNBLENBQ3JFQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsUUFBUUEsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLGFBQWFBLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBLENBQ3JFQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsWUFBWUEsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLFlBQVlBLEVBQUVBLElBQUlBLENBQUNBLENBQUNBLENBQ3ZFQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsZUFBZUEsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLGdCQUFnQkEsRUFBRUEsSUFBSUEsQ0FBQ0EsQ0FBQ0EsQ0FDOUVBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGtCQUFPQSxFQUFFQSxjQUFjQSxDQUFDQSxFQUFFQSxnQkFBS0EsQ0FBQ0EsbUJBQW1CQSxFQUFFQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUNqRkEsSUFBSUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0Esa0JBQU9BLEVBQUVBLGtCQUFrQkEsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLGtCQUFrQkEsRUFBRUEsSUFBSUEsQ0FBQ0EsQ0FBQ0EsQ0FDbkZBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGtCQUFPQSxFQUFFQSxxQkFBcUJBLENBQUNBLEVBQUVBLGdCQUFLQSxDQUFDQSxzQkFBc0JBLEVBQUVBLElBQUlBLENBQUNBLENBQUNBLENBQzFGQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsbUJBQW1CQSxDQUFDQSxFQUFFQSxnQkFBS0EsQ0FBQ0Esd0JBQXdCQSxFQUFFQSxJQUFJQSxDQUFDQSxDQUFDQSxDQUMxRkEsSUFBSUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0Esa0JBQU9BLEVBQUVBLG1CQUFtQkEsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLHdCQUF3QkEsRUFBRUEsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FDM0ZBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGtCQUFPQSxFQUFFQSx1QkFBdUJBLENBQUNBLEVBQUVBLGdCQUFLQSxDQUFDQSx1QkFBdUJBLEVBQUVBLElBQUlBLENBQUNBLENBQUNBLENBQzdGQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsbUJBQW1CQSxDQUFDQSxFQUFFQSxnQkFBS0EsQ0FBQ0Esd0JBQXdCQSxFQUFFQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUMzRkEsSUFBSUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0Esa0JBQU9BLEVBQUVBLFdBQVdBLENBQUNBLEVBQUVBLGdC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Q0EsT0FBT0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsT0FBT0EsQ0FBQ0EsR0FBR0EsRUFBRUEsQ0FBQ0EsTUFBTUEsRUFBRUEsWUFBWUEsQ0FBQ0EsQ0FBQ0EsRUFBRUEsVUFBQ0EsU0FBU0E7b0JBQ25FQSxJQUFJQSxLQUFLQSxHQUFHQSxTQUFTQSxDQUFDQSxLQUFLQSxDQUFDQTtvQkFDNUJBLEVBQUVBLENBQUNBLENBQUNBLEtBQUtBLENBQUNBLENBQUNBLENBQUNBO3dCQUNWQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQSxVQUFVQSxDQUFDQSxDQUFDQSxDQUFDQTs0QkFDaEJBLFVBQVVBLEdBQUdBLEtBQUtBLENBQUNBO3dCQUNyQkEsQ0FBQ0E7d0JBQUNBLElBQUlBLENBQUNBLENBQUNBOzRCQUNOQSxVQUFVQSxHQUFHQSxVQUFVQSxHQUFHQSxHQUFHQSxHQUFHQSxLQUFLQSxDQUFDQTt3QkFDeENBLENBQUNBO3dCQUNEQSxJQUFJQSxHQUFHQSxHQUFHQSxLQUFLQSxDQUFDQSxXQUFXQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFDQTt3QkFDakNBLEVBQUVBLENBQUNBLENBQUNBLEdBQUdBLEdBQUdBLENBQUNBLENBQUNBLENBQUNBLENBQUNBOzRCQUNaQSxLQUFLQSxHQUFHQSxLQUFLQSxDQUFDQSxTQUFTQSxDQUFDQSxDQUFDQSxFQUFFQSxHQUFHQSxDQUFDQSxDQUFDQTt3QkFDbENBLENBQUNBO3dCQUNEQSxJQUFJQSxLQUFLQSxHQUFHQSxLQUFLQSxDQUFDQSxLQUFLQSxDQUFDQSxHQUFHQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQTt3QkFDaENBLEVBQUVBLENBQUNBLENBQUNBLEtBQUtBLENBQUNBLE1BQU1BLENBQUNBLENBQUNBLENBQUNBOzRCQUNqQkEsSUFBSUEsTUFBTUEsR0FBR0EsSUFBSUEsQ0FBQ0E7NEJBQ2xCQSxFQUFFQSxDQUFDQSxDQUFDQSxLQUFLQSxDQUFDQSxNQUFNQSxJQUFJQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtnQ0FDdEJBLE1BQU1BLEdBQUdBLEtBQUtBLENBQUNB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R0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsNkJBQTZCQSxFQUFFQSxRQUFRQSxFQUFFQSxXQUFXQSxFQUFFQSxNQUFNQSxDQUFDQSxDQUFDQTtRQUMxRUEsQ0FBQ0EsQ0FBQUE7SUFFTEEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7SUFFTUEsOEJBQW1CQSxHQUFHQSxxQkFBVUEsQ0FBQ0EscUJBQXFCQSxFQUFFQSxDQUFDQSxRQUFRQSxFQUFFQSxnQkFBZ0JBLEVBQUVBLFVBQUNBLE1BQU1BLEVBQUVBLE9BQXNCQTtRQUM5SEEsTUFBTUEsQ0FBQ0EsVUFBVUEsR0FBR0EsT0FBT0EsQ0FBQ0EsVUFBVUEsQ0FBQ0EsWUFBWUEsQ0FBQ0EsQ0FBQ0E7UUFDckRBLE1BQU1BLENBQUNBLGdCQUFnQkEsQ0FBQ0EsWUFBWUEsRUFBRUEsVUFBQ0EsUUFBUUEsRUFBRUEsUUFBUUE7WUFDeERBLEVBQUVBLENBQUNBLENBQUNBLFFBQVFBLEtBQUtBLFFBQVFBLENBQUNBLENBQUNBLENBQUNBO2dCQUMzQkEsTUFBTUEsQ0FBQ0EsU0FBU0EsR0FBR0EsT0FBT0EsQ0FBQ0EsWUFBWUEsRUFBRUEsQ0FBQ0E7WUFDM0NBLENBQUNBO1FBQ0ZBLENBQUNBLENBQUNBLENBQUNBO1FBQ0hBLE1BQU1BLENBQUNBLE1BQU1BLENBQUNBLFdBQVdBLEVBQUVBLFVBQUNBLFFBQVFBLEVBQUVBLFFBQVFBO1lBQzdDQSxFQUFFQSxDQUFDQSxDQUFDQSxRQUFRQSxLQUFLQSxRQUFRQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDM0JBLEVBQUVBLENBQUNBLENBQUNBLFFBQVFBLEtBQUtBLFFBQVFBLENBQUNBLENBQUNBLENBQUNBO29CQUMzQkEsT0FBT0EsQ0FBQ0EsWUFBWUEsQ0FBQ0EsUUFBUUEsQ0FBQ0EsQ0FBQ0E7Z0JBQ2hDQSxDQUFDQTtZQUNGQSxDQUFDQTtRQUNGQSxDQUFDQSxDQUFDQSxDQUFDQTtJQUNKQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtJQUVRQSxtQkFBUUEsR0FBR0EscUJBQVVBLENBQUNBLFVBQVVBLEVBQUVBLENBQUNB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QUlBLGdCQUFnQkEsR0FBWUEsU0FBU0EsQ0FBQ0E7WUFDMUNBLElBQUlBLE9BQU9BLEdBQUdBLENBQUNBLENBQUNBLElBQUlBLENBQUNBLFFBQVFBLENBQUNBLE9BQU9BLEVBQUVBLFVBQUNBLEdBQUdBO2dCQUN6Q0EsRUFBRUEsQ0FBQ0EsQ0FBQ0Esa0JBQU9BLENBQUNBLEdBQUdBLENBQUNBLEtBQUtBLFNBQVNBLENBQUNBLENBQUNBLENBQUNBO29CQUMvQkEsSUFBSUEsS0FBS0EsR0FBR0EsbUJBQVFBLENBQUNBLEdBQUdBLENBQUNBLENBQUNBO29CQUMxQkEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsS0FBS0EsSUFBSUEsS0FBS0EsQ0FBQ0EsTUFBTUEsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7d0JBQ2hDQSxNQUFNQSxDQUFDQSxJQUFJQSxDQUFDQTtvQkFDZEEsQ0FBQ0E7Z0JBQ0hBLENBQUNBO2dCQUFDQSxJQUFJQSxDQUFDQSxDQUFDQTtvQkFDTkEsTUFBTUEsQ0FBQ0EsS0FBS0EsQ0FBQ0E7Z0JBQ2ZBLENBQUNBO1lBQ0hBLENBQUNBLENBQUNBLENBQUNBO1lBQ0hBLEVBQUVBLENBQUNBLENBQUNBLE9BQU9BLENBQUNBLENBQUNBLENBQUNBO2dCQUNaQSxnQkFBZ0JBLEdBQUdBLGtCQUFPQSxDQUFDQSxPQUFPQSxDQUFDQSxDQUFDQTtZQUN0Q0EsQ0FBQ0E7WUFDREEsY0FBR0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsV0FBV0EsRUFBRUEsT0FBT0EsQ0FBQ0EsQ0FBQ0E7WUFDaENBLEVBQUVBLENBQUNBLENBQUNBLENBQUNBLENBQUNBLGdCQUFnQkEsSUFBSUEsQ0FBQ0Esc0JBQVdBLENBQUNBLElBQUlBLENBQUNBLENBQUNBLFFBQVFBLENBQUNBLFVBQVVBLElBQUlBLFFBQVFBLENBQUNBLFVBQVVBLENBQUNBLE1BQU1BLEtBQUtBLENBQUNBLENBQUNBLENBQUNBLENBQUNBLENBQUNBO2dCQUN0R0EsY0FBR0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsMkNBQTJDQSxDQUFDQSxDQUFDQTtnQkFDdkRB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T0EsQ0FBQ0EsQ0FBQ0E7d0JBQy9DQSxLQUFLQSxDQUFDQSxZQUFZQSxDQUFDQSxJQUFJQSxDQUFDQSxFQUFFQSxDQUFDQSxDQUFDQTt3QkFDNUJBLEtBQUtBLENBQUNBO29CQUNSQSxLQUFLQSx1QkFBWUEsQ0FBQ0EsUUFBUUE7d0JBQ3hCQSxLQUFLQSxDQUFDQSxpQkFBaUJBLENBQUNBLElBQUlBLENBQUNBLEVBQUVBLENBQUNBLENBQUNBO3dCQUNqQ0EsS0FBS0EsQ0FBQ0E7b0JBQ1JBLEtBQUtBLHVCQUFZQSxDQUFDQSxPQUFPQTt3QkFDdkJBLEtBQUtBLENBQUNBLGdCQUFnQkEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsRUFBRUEsQ0FBQ0EsQ0FBQ0E7d0JBQ2hDQSxLQUFLQSxDQUFDQTtvQkFDUkE7d0JBQ0VBLEdBQUdBLENBQUNBLEtBQUtBLENBQUNBLG9DQUFvQ0EsRUFBRUEsTUFBTUEsQ0FBQ0EsQ0FBQ0E7Z0JBQzVEQSxDQUFDQTtZQUNIQSxDQUFDQTtRQUNIQSxDQUFDQSxDQUFBQTtRQUNEQSxNQUFNQSxDQUFDQSxJQUFJQSxDQUFDQTtJQUNkQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtBQUNKQSxDQUFDQSxFQXpZTSxVQUFVLEtBQVYsVUFBVSxRQXlZaEIiLCJmaWxlIjoiY29tcGlsZWQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vbGlicy9oYXd0aW8tZm9yZ2UvZGVmcy5kLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL2xpYnMvaGF3dGlvLWZvcm1zL2RlZnMuZC50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi9saWJzL2hhd3Rpby11aS9kZWZzLmQudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vbGlicy9oYXd0aW8tdXRpbGl0aWVzL2RlZnMuZC50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi9saWJzL2hhd3Rpby13aWtpL2RlZnMuZC50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi9saWJzL2hhd3Rpby1vYXV0aC9kZWZzLmQudHNcIi8+XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG5tb2R1bGUgRGV2ZWxvcGVyIHtcblxuICBleHBvcnQgdmFyIGNvbnRleHQgPSAnL3dvcmtzcGFjZXMnO1xuICBleHBvcnQgdmFyIGhhc2ggPSAnIycgKyBjb250ZXh0O1xuICBleHBvcnQgdmFyIHBsdWdpbk5hbWUgPSAnRGV2ZWxvcGVyJztcbiAgZXhwb3J0IHZhciBwbHVnaW5QYXRoID0gJ3BsdWdpbnMvZGV2ZWxvcGVyLyc7XG4gIGV4cG9ydCB2YXIgdGVtcGxhdGVQYXRoID0gcGx1Z2luUGF0aCArICdodG1sLyc7XG4gIGV4cG9ydCB2YXIgbG9nOkxvZ2dpbmcuTG9nZ2VyID0gTG9nZ2VyLmdldChwbHVnaW5OYW1lKTtcblxuXG4gIGV4cG9ydCBmdW5jdGlvbiBlbnJpY2hXb3Jrc3BhY2VzKHByb2plY3RzKSB7XG4gICAgYW5ndWxhci5mb3JFYWNoKHByb2plY3RzLCAocHJvamVjdCkgPT4ge1xuICAgICAgZW5yaWNoV29ya3NwYWNlKHByb2plY3QpO1xuICAgIH0pO1xuICAgIHJldHVybiBwcm9qZWN0cztcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBlbnJpY2hXb3Jrc3BhY2UoYnVpbGQpIHtcbiAgICBpZiAoYnVpbGQpIHtcbiAgICAgIHZhciBuYW1lID0gS3ViZXJuZXRlcy5nZXROYW1lKGJ1aWxkKTtcbiAgICAgIGJ1aWxkLiRuYW1lID0gbmFtZTtcblxuICAgICAgdmFyIG5hbWVBcnJheSA9IG5hbWUuc3BsaXQoXCItXCIpO1xuICAgICAgdmFyIG5hbWVBcnJheUxlbmd0aCA9IG5hbWVBcnJheS5sZW5ndGg7XG4gICAgICBidWlsZC4kc2hvcnROYW1lID0gKG5hbWVBcnJheUxlbmd0aCA+IDQpID8gbmFtZUFycmF5LnNsaWNlKDAsIG5hbWVBcnJheUxlbmd0aCAtIDQpLmpvaW4oXCItXCIpIDogbmFtZS5zdWJzdHJpbmcoMCwgMzApO1xuXG4gICAgICB2YXIgbGFiZWxzID0gS3ViZXJuZXRlcy5nZXRMYWJlbHMocm91dGUpO1xuICAgICAgdmFyIGNyZWF0aW9uVGltZXN0YW1wID0gS3ViZXJuZXRlcy5nZXRDcmVhdGlvblRpbWVzdGFtcChidWlsZCk7XG4gICAgICBpZiAoY3JlYXRpb25UaW1lc3RhbXApIHtcbiAgICAgICAgdmFyIGQgPSBuZXcgRGF0ZShjcmVhdGlvblRpbWVzdGFtcCk7XG4gICAgICAgIGJ1aWxkLiRjcmVhdGlvbkRhdGUgPSBkO1xuICAgICAgfVxuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgYnVpbGQuJHZpZXdMaW5rID0gVXJsSGVscGVycy5qb2luKFwid29ya3NwYWNlc1wiLCBuYW1lLCBcInByb2plY3RzXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYnVpbGQ7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gY3JlYXRlV29ya3NwYWNlQnJlYWRjcnVtYnMoY2hpbGRyZW4gPSBudWxsKSB7XG4gICAgdmFyIGFuc3dlciA9IFtcbiAgICAgIHtcbiAgICAgICAgaHJlZjogXCIvd29ya3NwYWNlc1wiLFxuICAgICAgICBsYWJlbDogXCJXb3Jrc3BhY2VzXCIsXG4gICAgICAgIHRpdGxlOiBcIlZpZXcgYWxsIHRoZSB3b3Jrc3BhY2VzXCJcbiAgICAgIH1cbiAgICBdO1xuICAgIHZhciB3b3Jrc3BhY2VOYW1lID0gS3ViZXJuZXRlcy5jdXJyZW50S3ViZXJuZXRlc05hbWVzcGFjZSgpO1xuICAgIGlmICh3b3Jrc3BhY2VOYW1lKSB7XG4gICAgICBhbnN3ZXIucHVzaChcbiAgICAgICAge1xuICAgICAgICAgIGhyZWY6IFwiL3dvcmtzcGFjZXMvXCIgKyB3b3Jrc3BhY2VOYW1lLFxuICAgICAgICAgIGxhYmVsOiB3b3Jrc3BhY2VOYW1lLFxuICAgICAgICAgIHRpdGxlOiBcIlZpZXcgdGhlIHdvcmtzcGFjZTogXCIgKyB3b3Jrc3BhY2VOYW1lXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICByZXR1cm4gcHJvY2Vzc0NoaWxkcmVuKGFuc3dlciwgY2hpbGRyZW4pO1xuICAgIH1cbiAgICByZXR1cm4gYW5zd2VyO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb2plY3RCcmVhZGNydW1icyhwcm9qZWN0TmFtZSA9IG51bGwsIGNoaWxkcmVuID0gbnVsbCkge1xuICAgIHZhciBhbnN3ZXIgPSBjcmVhdGVXb3Jrc3BhY2VCcmVhZGNydW1icygpO1xuICAgIHZhciB3b3Jrc3BhY2VOYW1lID0gS3ViZXJuZXRlcy5jdXJyZW50S3ViZXJuZXRlc05hbWVzcGFjZSgpO1xuICAgIGlmICh3b3Jrc3BhY2VOYW1lKSB7XG4gICAgICBhbnN3ZXIucHVzaChcbiAgICAgICAge1xuICAgICAgICAgIGhyZWY6IFVybEhlbHBlcnMuam9pbihcIi93b3Jrc3BhY2VzXCIsIHdvcmtzcGFjZU5hbWUsIFwicHJvamVjdHNcIiksXG4gICAgICAgICAgbGFiZWw6IFwiUHJvamVjdHNcIixcbiAgICAgICAgICB0aXRsZTogXCJWaWV3IGFsbCB0aGUgcHJvamVjdHNcIlxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBpZiAocHJvamVjdE5hbWUpIHtcbiAgICAgICAgYW5zd2VyLnB1c2goXG4gICAgICAgICAge1xuICAgICAgICAgICAgaHJlZjogVXJsSGVscGVycy5qb2luKFwiL3dvcmtzcGFjZXNcIiwgd29ya3NwYWNlTmFtZSwgXCJwcm9qZWN0c1wiLCBwcm9qZWN0TmFtZSksXG4gICAgICAgICAgICBsYWJlbDogcHJvamVjdE5hbWUsXG4gICAgICAgICAgICB0aXRsZTogXCJWaWV3IHRoZSBwcm9qZWN0OiBcIiArIHByb2plY3ROYW1lXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHByb2Nlc3NDaGlsZHJlbihhbnN3ZXIsIGNoaWxkcmVuKTtcbiAgICB9XG4gICAgcmV0dXJuIGFuc3dlcjtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9qZWN0U3ViTmF2QmFycyhwcm9qZWN0TmFtZSkge1xuICAgIHZhciB3b3Jrc3BhY2VOYW1lID0gS3ViZXJuZXRlcy5jdXJyZW50S3ViZXJuZXRlc05hbWVzcGFjZSgpO1xuICAgIHJldHVybiBhY3RpdmF0ZUN1cnJlbnQoW1xuICAgICAge1xuICAgICAgICBocmVmOiBVcmxIZWxwZXJzLmpvaW4oXCIvd29ya3NwYWNlc1wiLCB3b3Jrc3BhY2VOYW1lLCBcInByb2plY3RzXCIsIHByb2plY3ROYW1lLCBcImJ1aWxkc1wiKSxcbiAgICAgICAgbGFiZWw6IFwiQnVpbGRzXCIsXG4gICAgICAgIHRpdGxlOiBcIlZpZXcgdGhlIGJ1aWxkcyBmb3IgdGhpcyBwcm9qZWN0XCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIC8vaHJlZjogVXJsSGVscGVycy5qb2luKFwiL3dvcmtzcGFjZXNcIiwgd29ya3NwYWNlTmFtZSwgXCJwcm9qZWN0c1wiLCBwcm9qZWN0TmFtZSwgXCJlbnZpcm9ubWVudHNcIiksXG4gICAgICAgIGhyZWY6IFVybEhlbHBlcnMuam9pbihcIi93b3Jrc3BhY2VzXCIsIHdvcmtzcGFjZU5hbWUsIFwicHJvamVjdHNcIiwgcHJvamVjdE5hbWUpLFxuICAgICAgICBsYWJlbDogXCJFbnZpcm9ubWVudHNcIixcbiAgICAgICAgdGl0bGU6IFwiVmlldyB0aGUgZW52aXJvbm1lbnRzIGZvciB0aGlzIHByb2plY3RcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaHJlZjogVXJsSGVscGVycy5qb2luKFwiL3dvcmtzcGFjZXNcIiwgd29ya3NwYWNlTmFtZSwgXCJwcm9qZWN0c1wiLCBwcm9qZWN0TmFtZSwgXCJ0b29sc1wiKSxcbiAgICAgICAgbGFiZWw6IFwiVG9vbHNcIixcbiAgICAgICAgdGl0bGU6IFwiVmlldyB0aGUgdG9vbHMgZm9yIHRoaXMgcHJvamVjdFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBocmVmOiBVcmxIZWxwZXJzLmpvaW4oXCIvd29ya3NwYWNlc1wiLCB3b3Jrc3BhY2VOYW1lLCBcInByb2plY3RzXCIsIHByb2plY3ROYW1lLCBcImRldGFpbFwiKSxcbiAgICAgICAgbGFiZWw6IFwiRGV0YWlsXCIsXG4gICAgICAgIHRpdGxlOiBcIlZpZXcgdGhlIHByb2plY3QgZGV0YWlsXCJcbiAgICAgIH1cbiAgICBdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIHRoZSBVUkwgcXVlcnkgc3RyaW5nIGlmIGl0cyBpbnNpZGUgdGhlIGdpdmVuIHRleHRcbiAgICovXG4gIGZ1bmN0aW9uIHRyaW1RdWVyeSh0ZXh0KSB7XG4gICAgaWYgKHRleHQpIHtcbiAgICAgIHZhciBpZHggPSB0ZXh0LmluZGV4T2YoXCI/XCIpO1xuICAgICAgaWYgKGlkeCA+PSAwKSB7XG4gICAgICAgIHJldHVybiB0ZXh0LnN1YnN0cmluZygwLCBpZHgpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGV4dDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGFjdGl2YXRlQ3VycmVudChuYXZCYXJJdGVtcykge1xuICAgIHZhciBpbmplY3RvciA9IEhhd3Rpb0NvcmUuaW5qZWN0b3I7XG4gICAgdmFyICRsb2NhdGlvbiA9IGluamVjdG9yID8gaW5qZWN0b3IuZ2V0KFwiJGxvY2F0aW9uXCIpIDogbnVsbDtcbiAgICBpZiAoJGxvY2F0aW9uKSB7XG4gICAgICB2YXIgcGF0aCA9IHRyaW1RdWVyeSgkbG9jYXRpb24ucGF0aCgpKTtcbiAgICAgIHZhciBmb3VuZCA9IGZhbHNlO1xuICAgICAgYW5ndWxhci5mb3JFYWNoKG5hdkJhckl0ZW1zLCAoaXRlbSkgPT4ge1xuICAgICAgICB2YXIgaHJlZiA9IGl0ZW0uaHJlZjtcbiAgICAgICAgdmFyIHRyaW1IcmVmID0gdHJpbVF1ZXJ5KGhyZWYpO1xuICAgICAgICBpZiAoIWZvdW5kICYmIHRyaW1IcmVmICYmIHRyaW1IcmVmID09PSBwYXRoKSB7XG4gICAgICAgICAgaXRlbS5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBuYXZCYXJJdGVtcztcbiAgfVxuXG4gIGZ1bmN0aW9uIHByb2Nlc3NDaGlsZHJlbihhbnN3ZXIsIGNoaWxkcmVuKSB7XG4gICAgaWYgKGNoaWxkcmVuKSB7XG4gICAgICBpZiAoYW5ndWxhci5pc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgICBhbnN3ZXIgPSBhbnN3ZXIuY29uY2F0KGNoaWxkcmVuKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFuc3dlci5wdXNoKGNoaWxkcmVuKTtcbiAgICAgIH1cbiAgICB9XG4gICAgYWN0aXZhdGVDdXJyZW50KGFuc3dlcik7XG4gICAgcmV0dXJuIGFuc3dlcjtcbiAgfVxufSIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJkZXZlbG9wZXJIZWxwZXJzLnRzXCIvPlxuXG5tb2R1bGUgRGV2ZWxvcGVyIHtcblxuICBleHBvcnQgdmFyIF9tb2R1bGUgPSBhbmd1bGFyLm1vZHVsZShwbHVnaW5OYW1lLCBbJ2hhd3Rpby1jb3JlJywgJ2hhd3Rpby11aScsICd3aWtpJywgJ3Jlc3Rtb2QnLCAndWkuY29kZW1pcnJvciddKTtcbiAgZXhwb3J0IHZhciBjb250cm9sbGVyID0gUGx1Z2luSGVscGVycy5jcmVhdGVDb250cm9sbGVyRnVuY3Rpb24oX21vZHVsZSwgcGx1Z2luTmFtZSk7XG4gIGV4cG9ydCB2YXIgcm91dGUgPSBQbHVnaW5IZWxwZXJzLmNyZWF0ZVJvdXRpbmdGdW5jdGlvbih0ZW1wbGF0ZVBhdGgpO1xuXG4gIF9tb2R1bGUuY29uZmlnKFsnJHJvdXRlUHJvdmlkZXInLCAoJHJvdXRlUHJvdmlkZXI6bmcucm91dGUuSVJvdXRlUHJvdmlkZXIpID0+IHtcbiAgICAkcm91dGVQcm92aWRlci53aGVuKGNvbnRleHQsIHJvdXRlKCd3b3Jrc3BhY2VzLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy86bmFtZXNwYWNlJyksIHJvdXRlKCdwcm9qZWN0cy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvOm5hbWVzcGFjZS9kZXRhaWwnKSwgcm91dGUoJ3dvcmtzcGFjZS5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvOm5hbWVzcGFjZS9wcm9qZWN0cycpLCByb3V0ZSgncHJvamVjdHMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnLzpuYW1lc3BhY2UvcHJvamVjdHMvOmlkJyksIHJvdXRlKCdlbnZpcm9ubWVudHMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnLzpuYW1lc3BhY2UvcHJvamVjdHMvOmlkL2RldGFpbCcpLCBLdWJlcm5ldGVzLnJvdXRlKCdidWlsZENvbmZpZy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvOm5hbWVzcGFjZS9wcm9qZWN0cy86aWQvYnVpbGRzJyksIEt1YmVybmV0ZXMucm91dGUoJ2J1aWxkcy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvOm5hbWVzcGFjZS9wcm9qZWN0cy86aWQvZW52aXJvbm1lbnRzJyksIHJvdXRlKCdlbnZpcm9ubWVudHMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnLzpuYW1lc3BhY2UvcHJvamVjdHMvOmlkL3Rvb2xzJyksIHJvdXRlKCd0b29scy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvOndvcmtzcGFjZS9wcm9qZWN0cy86cHJvamVjdC9lbnZpcm9ubWVudHMvOm5hbWVzcGFjZScpLCByb3V0ZSgnZW52aXJvbm1lbnQuaHRtbCcsIGZhbHNlKSlcbiAgfV0pO1xuICBcblxuICBfbW9kdWxlLnJ1bihbJ3ZpZXdSZWdpc3RyeScsICd3b3Jrc3BhY2UnLCAnU2VydmljZVJlZ2lzdHJ5JywgJ0hhd3Rpb05hdicsICdLdWJlcm5ldGVzTW9kZWwnLCAnJHRlbXBsYXRlQ2FjaGUnLCAodmlld1JlZ2lzdHJ5LCB3b3Jrc3BhY2U6Q29yZS5Xb3Jrc3BhY2UsIFNlcnZpY2VSZWdpc3RyeSwgSGF3dGlvTmF2LCBLdWJlcm5ldGVzTW9kZWwsICR0ZW1wbGF0ZUNhY2hlKSA9PiB7XG4gICAgbG9nLmRlYnVnKFwiUnVubmluZ1wiKTtcbiAgICB2aWV3UmVnaXN0cnlbJ3dvcmtzcGFjZXMnXSA9IEt1YmVybmV0ZXMudGVtcGxhdGVQYXRoICsgJ2xheW91dEt1YmVybmV0ZXMuaHRtbCc7XG5cbiAgICB2YXIgYnVpbGRlciA9IEhhd3Rpb05hdi5idWlsZGVyKCk7XG4gICAgdmFyIHdvcmtzcGFjZXMgPSBidWlsZGVyLmlkKCd3b3Jrc3BhY2VzJylcbiAgICAgICAgICAgICAgICAgICAgICAuaHJlZigoKSA9PiBjb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgIC50aXRsZSgoKSA9PiAnQWxsJylcbiAgICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcblxuICAgIHZhciB3b3Jrc3BhY2VPdmVydmlldyA9IGJ1aWxkZXIuaWQoJ3dvcmtzcGFjZXMnKVxuICAgICAgICAgICAgICAgICAgICAgIC5ocmVmKCgpID0+IFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnb3ZlcnZpZXcnKSlcbiAgICAgICAgICAgICAgICAgICAgICAudGl0bGUoKCkgPT4gJ1dvcmtzcGFjZScpXG4gICAgICAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICB2YXIgd29ya3NwYWNlc1RhYiA9IGJ1aWxkZXIuaWQoJ3dvcmtzcGFjZXMnKVxuICAgICAgICAgICAgICAgICAgICAgICAgIC5yYW5rKDEwMClcbiAgICAgICAgICAgICAgICAgICAgICAgICAuaHJlZigoKSA9PiBjb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgICAgIC50aXRsZSgoKSA9PiAnV29ya3NwYWNlcycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgLmlzVmFsaWQoKCkgPT4gIUNvcmUuaXNSZW1vdGVDb25uZWN0aW9uKCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgLnRhYnMod29ya3NwYWNlcylcbiAgICAgICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcblxuICAgIEhhd3Rpb05hdi5hZGQod29ya3NwYWNlc1RhYik7XG4gIH1dKTtcblxuXG4gIGhhd3Rpb1BsdWdpbkxvYWRlci5hZGRNb2R1bGUocGx1Z2luTmFtZSk7XG59XG4iLCJtb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IGNsYXNzIGNvbnN0cyB7XG4gICAgZ2V0IE5BTUVTUEFDRV9TVE9SQUdFX0tFWSgpOnN0cmluZyB7IHJldHVybiBcIms4c1NlbGVjdGVkTmFtZXNwYWNlXCI7IH1cbiAgfVxuXG4gIGV4cG9ydCB2YXIgQ29uc3RhbnRzID0gbmV3IGNvbnN0cygpO1xuXHRcbiAgZXhwb3J0IGludGVyZmFjZSBBcGlMb2NhdGlvbiB7XG4gICAgcHJvdG8/OnN0cmluZztcbiAgICBob3N0UG9ydDpzdHJpbmc7XG4gICAgcHJlZml4OnN0cmluZztcbiAgfVxuICBcbiAgZXhwb3J0IGludGVyZmFjZSBBcGlMb2NhdGlvbnMge1xuICAgIG9wZW5zaGlmdD86IEFwaUxvY2F0aW9uO1xuICAgIGs4cz86IEFwaUxvY2F0aW9uO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBLdWJlcm5ldGVzQ29uZmlnIHtcbiAgICBtYXN0ZXJfdXJpPzogc3RyaW5nO1xuICAgIGFwaT86IEFwaUxvY2F0aW9ucztcbiAgICBvcGVuc2hpZnQ/OiBPcGVuU2hpZnRPQXV0aENvbmZpZztcbiAgICBnb29nbGU/OiBHb29nbGVPQXV0aENvbmZpZztcbiAgICBrZXljbG9haz86IEtleUNsb2FrQXV0aENvbmZpZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgT3BlblNoaWZ0T0F1dGhDb25maWcge1xuICAgIG9hdXRoX2F1dGhvcml6ZV91cmk6c3RyaW5nO1xuICAgIG9hdXRoX2NsaWVudF9pZDpzdHJpbmc7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEdvb2dsZU9BdXRoQ29uZmlnIHtcbiAgICBhdXRoZW50aWNhdGlvblVSSTpzdHJpbmc7XG4gICAgYXV0aG9yaXphdGlvblVSSTpzdHJpbmc7XG4gICAgY2xpZW50SWQ6c3RyaW5nO1xuICAgIGNsaWVudFNlY3JldDpzdHJpbmc7XG4gICAgcmVkaXJlY3RVUkk6c3RyaW5nO1xuICAgIHNjb3BlOnN0cmluZztcbiAgICB0b2tlblVSST86c3RyaW5nO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBLZXlDbG9ha0F1dGhDb25maWcge1xuICAgIG9hdXRoX2F1dGhvcml6ZV91cmk6c3RyaW5nO1xuICAgIG9hdXRoX2NsaWVudF9pZDpzdHJpbmc7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEt1YmVybmV0ZXNTdGF0ZSB7XG4gICAgbmFtZXNwYWNlczogQXJyYXk8c3RyaW5nPjtcbiAgICBzZWxlY3RlZE5hbWVzcGFjZTogc3RyaW5nO1xuICB9XG5cblx0ZXhwb3J0IGNsYXNzIFdhdGNoVHlwZXMge1xuXHRcdHB1YmxpYyBzdGF0aWMgZ2V0IEVORFBPSU5UUygpOnN0cmluZyB7IHJldHVybiBcImVuZHBvaW50c1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgRVZFTlRTKCk6c3RyaW5nIHsgcmV0dXJuIFwiZXZlbnRzXCI7IH1cbiAgICBwdWJsaWMgc3RhdGljIGdldCBOQU1FU1BBQ0VTKCk6c3RyaW5nIHsgcmV0dXJuIFwibmFtZXNwYWNlc1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgTk9ERVMoKTpzdHJpbmcgeyByZXR1cm4gXCJub2Rlc1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgUEVSU0lTVEVOVF9WT0xVTUVTKCk6c3RyaW5nIHsgcmV0dXJuIFwicGVyc2lzdGVudHZvbHVtZXNcIjsgfVxuXHRcdHB1YmxpYyBzdGF0aWMgZ2V0IFBFUlNJU1RFTlRfVk9MVU1FX0NMQUlNUygpOnN0cmluZyB7IHJldHVybiBcInBlcnNpc3RlbnR2b2x1bWVjbGFpbXNcIjsgfVxuXHRcdHB1YmxpYyBzdGF0aWMgZ2V0IFBPRFMoKTpzdHJpbmcgeyByZXR1cm4gXCJwb2RzXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBSRVBMSUNBVElPTl9DT05UUk9MTEVSUygpOnN0cmluZyB7IHJldHVybiBcInJlcGxpY2F0aW9uY29udHJvbGxlcnNcIjsgfVxuXHRcdHB1YmxpYyBzdGF0aWMgZ2V0IFJFU09VUkNFX1FVT1RBUygpOnN0cmluZyB7IHJldHVybiBcInJlc291cmNlcXVvdGFzXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBPQVVUSF9DTElFTlRTKCk6c3RyaW5nIHsgcmV0dXJuIFwib2F1dGhjbGllbnRzXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBTRUNSRVRTKCk6c3RyaW5nIHsgcmV0dXJuIFwic2VjcmV0c1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgU0VSVklDRVMoKTpzdHJpbmcgeyByZXR1cm4gXCJzZXJ2aWNlc1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgU0VSVklDRV9BQ0NPVU5UUygpOnN0cmluZyB7IHJldHVybiBcInNlcnZpY2VhY2NvdW50c1wiOyB9XG5cblx0XHRwdWJsaWMgc3RhdGljIGdldCBURU1QTEFURVMoKTpzdHJpbmcgeyByZXR1cm4gXCJ0ZW1wbGF0ZXNcIjsgfVxuXHRcdHB1YmxpYyBzdGF0aWMgZ2V0IFJPVVRFUygpOnN0cmluZyB7IHJldHVybiBcInJvdXRlc1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgQlVJTERfQ09ORklHUygpOnN0cmluZyB7IHJldHVybiBcImJ1aWxkY29uZmlnc1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgQlVJTERTKCk6c3RyaW5nIHsgcmV0dXJuIFwiYnVpbGRzXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBERVBMT1lNRU5UX0NPTkZJR1MoKTpzdHJpbmcgeyByZXR1cm4gXCJkZXBsb3ltZW50Y29uZmlnc1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgSU1BR0VfU1RSRUFNUygpOnN0cmluZyB7IHJldHVybiBcImltYWdlc3RyZWFtc1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgUE9MSUNJRVMoKTpzdHJpbmcgeyByZXR1cm4gXCJwb2xpY2llc1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgUE9MSUNZX0JJTkRJTkdTKCk6c3RyaW5nIHsgcmV0dXJuIFwicG9saWN5YmluZGluZ3NcIjsgfVxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IFBST0pFQ1RTKCk6c3RyaW5nIHsgcmV0dXJuIFwicHJvamVjdHNcIjsgfVxuXHRcdHB1YmxpYyBzdGF0aWMgZ2V0IFJPTEVfQklORElOR1MoKTpzdHJpbmcgeyByZXR1cm4gXCJyb2xlYmluZGluZ3NcIjsgfVxuXHRcdHB1YmxpYyBzdGF0aWMgZ2V0IFJPTEVTKCk6c3RyaW5nIHsgcmV0dXJuIFwicm9sZXNcIjsgfVxuXHR9XG5cbiAgZXhwb3J0IGNsYXNzIE5hbWVzcGFjZWRUeXBlcyB7XG4gICAgcHVibGljIHN0YXRpYyBnZXQgazhzVHlwZXMoKTpBcnJheTxzdHJpbmc+IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIFdhdGNoVHlwZXMuRU5EUE9JTlRTLFxuICAgICAgICBXYXRjaFR5cGVzLkVWRU5UUyxcbiAgICAgICAgV2F0Y2hUeXBlcy5OT0RFUyxcbiAgICAgICAgV2F0Y2hUeXBlcy5QRVJTSVNURU5UX1ZPTFVNRVMsXG4gICAgICAgIFdhdGNoVHlwZXMuUEVSU0lTVEVOVF9WT0xVTUVfQ0xBSU1TLFxuICAgICAgICBXYXRjaFR5cGVzLlBPRFMsXG4gICAgICAgIFdhdGNoVHlwZXMuUkVQTElDQVRJT05fQ09OVFJPTExFUlMsXG4gICAgICAgIFdhdGNoVHlwZXMuUkVTT1VSQ0VfUVVPVEFTLFxuICAgICAgICBXYXRjaFR5cGVzLlBFUlNJU1RFTlRfVk9MVU1FUyxcbiAgICAgICAgV2F0Y2hUeXBlcy5TRUNSRVRTLFxuICAgICAgICBXYXRjaFR5cGVzLlNFUlZJQ0VTLFxuICAgICAgICBXYXRjaFR5cGVzLlNFUlZJQ0VfQUNDT1VOVFNcbiAgICAgIF07XG4gICAgfVxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IG9zVHlwZXMoKTpBcnJheTxzdHJpbmc+IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIFdhdGNoVHlwZXMuVEVNUExBVEVTLFxuICAgICAgICBXYXRjaFR5cGVzLkJVSUxEX0NPTkZJR1MsXG4gICAgICAgIFdhdGNoVHlwZXMuUk9VVEVTLFxuICAgICAgICBXYXRjaFR5cGVzLkJVSUxEUyxcbiAgICAgICAgV2F0Y2hUeXBlcy5CVUlMRF9DT05GSUdTLFxuICAgICAgICBXYXRjaFR5cGVzLkRFUExPWU1FTlRfQ09ORklHUyxcbiAgICAgICAgV2F0Y2hUeXBlcy5JTUFHRV9TVFJFQU1TLFxuICAgICAgICBXYXRjaFR5cGVzLk9BVVRIX0NMSUVOVFMsXG4gICAgICAgIFdhdGNoVHlwZXMuUE9MSUNJRVMsXG4gICAgICAgIFdhdGNoVHlwZXMuUE9MSUNZX0JJTkRJTkdTLFxuICAgICAgICBXYXRjaFR5cGVzLlBST0pFQ1RTLFxuICAgICAgICAvL1dhdGNoVHlwZXMuUk9MRV9CSU5ESU5HUyxcbiAgICAgICAgLy9XYXRjaFR5cGVzLlJPTEVTXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXHRcblx0ZXhwb3J0IGNsYXNzIFdhdGNoQWN0aW9ucyB7XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgQU5ZKCk6c3RyaW5nIHsgcmV0dXJuIFwiKlwiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgQURERUQoKTpzdHJpbmcgeyByZXR1cm4gXCJBRERFRFwiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgTU9ESUZJRUQoKTpzdHJpbmcgeyByZXR1cm4gXCJNT0RJRklFRFwiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgREVMRVRFRCgpOnN0cmluZyB7IHJldHVybiBcIkRFTEVURURcIjsgfVxuXHR9XG5cdFxuXHRleHBvcnQgaW50ZXJmYWNlIE9iamVjdE1hcCB7XG5cdFx0W3VpZDpzdHJpbmddOiBhbnk7XHRcdFxuXHR9XG5cdFxuXHRleHBvcnQgaW50ZXJmYWNlIFdhdGNoZXJTZXJ2aWNlIHtcblx0XHRoYXNXZWJTb2NrZXQ6IGJvb2xlYW47XG5cdFx0YWRkQ3VzdG9taXplcjogKHR5cGU6IHN0cmluZywgY3VzdG9taXplcjogKG9iajphbnkpID0+IHZvaWQpID0+IHZvaWQ7XG5cdFx0Z2V0VHlwZXM6ICgpID0+IEFycmF5PHN0cmluZz47XG5cdFx0Z2V0TmFtZXNwYWNlOiAoKSA9PiBzdHJpbmc7XG5cdFx0c2V0TmFtZXNwYWNlOiAobmFtZXNwYWNlOiBzdHJpbmcpID0+IHZvaWQ7XG5cdFx0Z2V0T2JqZWN0czogKHR5cGU6IHN0cmluZykgPT4gQXJyYXk8YW55Pjtcblx0XHRnZXRPYmplY3RNYXA6ICh0eXBlOiBzdHJpbmcpID0+IE9iamVjdE1hcDtcblx0XHRhZGRBY3Rpb246ICh0eXBlOiBzdHJpbmcsIGFjdGlvbjogc3RyaW5nLCBmbjogKG9iajphbnkpID0+IHZvaWQpID0+IHZvaWQ7XG5cdFx0cmVnaXN0ZXJMaXN0ZW5lcjogKGZuOihvYmplY3RzOk9iamVjdE1hcCkgPT4gdm9pZCkgPT4gdm9pZDtcblx0fVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgS3ViZVBvZCB7XG4gICAgaWQ6c3RyaW5nO1xuICAgIG5hbWVzcGFjZTpzdHJpbmc7XG4gIH1cblxuXHRcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSW50ZXJmYWNlcy50c1wiLz5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIGNvbnRleHQgPSAnL2t1YmVybmV0ZXMnO1xuICBleHBvcnQgdmFyIGhhc2ggPSAnIycgKyBjb250ZXh0O1xuICBleHBvcnQgdmFyIGRlZmF1bHRSb3V0ZSA9IGhhc2ggKyAnL2FwcHMnO1xuICBleHBvcnQgdmFyIHBsdWdpbk5hbWUgPSAnS3ViZXJuZXRlcyc7XG4gIGV4cG9ydCB2YXIgcGx1Z2luUGF0aCA9ICdwbHVnaW5zL2t1YmVybmV0ZXMvJztcbiAgZXhwb3J0IHZhciB0ZW1wbGF0ZVBhdGggPSBwbHVnaW5QYXRoICsgJ2h0bWwvJztcbiAgZXhwb3J0IHZhciBsb2c6TG9nZ2luZy5Mb2dnZXIgPSBMb2dnZXIuZ2V0KHBsdWdpbk5hbWUpO1xuXG4gIGV4cG9ydCB2YXIga2VlcFBvbGxpbmdNb2RlbCA9IHRydWU7XG5cbiAgZXhwb3J0IHZhciBkZWZhdWx0SWNvblVybCA9IENvcmUudXJsKFwiL2ltZy9rdWJlcm5ldGVzLnN2Z1wiKTtcbiAgZXhwb3J0IHZhciBob3N0SWNvblVybCA9IENvcmUudXJsKFwiL2ltZy9ob3N0LnN2Z1wiKTtcblxuICAvLyB0aGlzIGdldHMgc2V0IGFzIGEgcHJlLWJvb3RzdHJhcCB0YXNrXG4gIGV4cG9ydCB2YXIgb3NDb25maWc6S3ViZXJuZXRlc0NvbmZpZyA9IHVuZGVmaW5lZDtcbiAgZXhwb3J0IHZhciBtYXN0ZXJVcmwgPSBcIlwiO1xuXG4gIGV4cG9ydCB2YXIgZGVmYXVsdEFwaVZlcnNpb24gPSBcInYxXCI7XG4gIGV4cG9ydCB2YXIgZGVmYXVsdE9TQXBpVmVyc2lvbiA9IFwidjFcIjtcbiAgZXhwb3J0IHZhciBsYWJlbEZpbHRlclRleHRTZXBhcmF0b3IgPSBcIixcIjtcblxuICBleHBvcnQgdmFyIGRlZmF1bHROYW1lc3BhY2UgPSBcImRlZmF1bHRcIjtcblxuICBleHBvcnQgdmFyIGFwcFN1ZmZpeCA9IFwiLmFwcFwiO1xuXG4gIC8vIGt1YmVybmV0ZXMgc2VydmljZSBuYW1lc1xuICBleHBvcnQgdmFyIGtpYmFuYVNlcnZpY2VOYW1lID0gXCJraWJhbmFcIjtcbiAgZXhwb3J0IHZhciBmYWJyaWM4Rm9yZ2VTZXJ2aWNlTmFtZSA9IFwiZmFicmljOC1mb3JnZVwiO1xuICBleHBvcnQgdmFyIGdvZ3NTZXJ2aWNlTmFtZSA9IFwiZ29nc1wiO1xuICBleHBvcnQgdmFyIGlzT3BlblNoaWZ0ID0gdHJ1ZTtcblxuICBleHBvcnQgZnVuY3Rpb24ga3ViZXJuZXRlc05hbWVzcGFjZVBhdGgoKSB7XG4gICAgdmFyIG5zID0gY3VycmVudEt1YmVybmV0ZXNOYW1lc3BhY2UoKTtcbiAgICBpZiAobnMpIHtcbiAgICAgIHJldHVybiBcIi9uYW1lc3BhY2VzL1wiICsgbnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBhcGlQcmVmaXgoKSB7XG4gICAgdmFyIHByZWZpeCA9IENvcmUucGF0aEdldChvc0NvbmZpZywgWydhcGknLCAnazhzJywgJ3ByZWZpeCddKTtcbiAgICBpZiAoIXByZWZpeCkge1xuICAgICAgcHJlZml4ID0gJ2FwaSc7XG4gICAgfVxuICAgIHJldHVybiBDb3JlLnRyaW1MZWFkaW5nKHByZWZpeCwgJy8nKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBvc0FwaVByZWZpeCgpIHtcbiAgICB2YXIgcHJlZml4ID0gQ29yZS5wYXRoR2V0KG9zQ29uZmlnLCBbJ2FwaScsICdvcGVuc2hpZnQnLCAncHJlZml4J10pO1xuICAgIGlmICghcHJlZml4KSB7XG4gICAgICBwcmVmaXggPSAnb2FwaSc7XG4gICAgfVxuICAgIHZhciBhbnN3ZXIgPSBDb3JlLnRyaW1MZWFkaW5nKHByZWZpeCwgJy8nKTtcbiAgICBpZiAoIWlzT3BlblNoaWZ0KSB7XG4gICAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKGFwaVByZWZpeCgpLCBkZWZhdWx0T1NBcGlWZXJzaW9uLCBcInByb3h5XCIsIGt1YmVybmV0ZXNOYW1lc3BhY2VQYXRoKCksIFwic2VydmljZXMvdGVtcGxhdGVzXCIsIGFuc3dlcik7XG4gICAgfVxuICAgIHJldHVybiBhbnN3ZXI7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gbWFzdGVyQXBpVXJsKCkge1xuICAgIHJldHVybiBtYXN0ZXJVcmwgfHwgXCJcIjtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBrdWJlcm5ldGVzQXBpUHJlZml4KCkge1xuICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4oYXBpUHJlZml4KCksIGRlZmF1bHRBcGlWZXJzaW9uKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBvcGVuc2hpZnRBcGlQcmVmaXgoKSB7XG4gICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihvc0FwaVByZWZpeCgpLCBkZWZhdWx0T1NBcGlWZXJzaW9uKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBwcmVmaXhGb3JUeXBlKHR5cGU6c3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgPT09IFdhdGNoVHlwZXMuTkFNRVNQQUNFUykge1xuICAgICAgcmV0dXJuIGt1YmVybmV0ZXNBcGlQcmVmaXgoKTtcbiAgICB9XG4gICAgaWYgKF8uYW55KE5hbWVzcGFjZWRUeXBlcy5rOHNUeXBlcywgKHQpID0+IHQgPT09IHR5cGUpKSB7XG4gICAgICByZXR1cm4ga3ViZXJuZXRlc0FwaVByZWZpeCgpO1xuICAgIH1cbiAgICBpZiAoXy5hbnkoTmFtZXNwYWNlZFR5cGVzLm9zVHlwZXMsICh0KSA9PiB0ID09PSB0eXBlKSkge1xuICAgICAgcmV0dXJuIG9wZW5zaGlmdEFwaVByZWZpeCgpO1xuICAgIH1cbiAgICAvLyBsZXRzIGFzc3VtZSBpdHMgYW4gT3BlblNoaWZ0IGV4dGVuc2lvbiB0eXBlXG4gICAgcmV0dXJuIG9wZW5zaGlmdEFwaVByZWZpeCgpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGt1YmVybmV0ZXNBcGlVcmwoKSB7XG4gICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihtYXN0ZXJBcGlVcmwoKSwga3ViZXJuZXRlc0FwaVByZWZpeCgpKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBvcGVuc2hpZnRBcGlVcmwoKSB7XG4gICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihtYXN0ZXJBcGlVcmwoKSwgb3BlbnNoaWZ0QXBpUHJlZml4KCkpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHJlc291cmNlc1VyaUZvcktpbmQodHlwZSkge1xuICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4obWFzdGVyQXBpVXJsKCksIHByZWZpeEZvclR5cGUodHlwZSksIG5hbWVzcGFjZVBhdGhGb3JLaW5kKHR5cGUsIGN1cnJlbnRLdWJlcm5ldGVzTmFtZXNwYWNlKCkpKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiB1cmlUZW1wbGF0ZUZvckt1YmVybmV0ZXNLaW5kKHR5cGUpIHtcbiAgICB2YXIgdXJsVGVtcGxhdGUgPSAnJztcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgV2F0Y2hUeXBlcy5OQU1FU1BBQ0VTOlxuICAgICAgY2FzZSBcIk5hbWVzcGFjZXNcIjpcbiAgICAgICAgdXJsVGVtcGxhdGUgPSBVcmxIZWxwZXJzLmpvaW4oJ25hbWVzcGFjZXMnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFdhdGNoVHlwZXMuUFJPSkVDVFM6XG4gICAgICBjYXNlIFwiUHJvamVjdHNcIjpcbiAgICAgICAgdXJsVGVtcGxhdGUgPSBVcmxIZWxwZXJzLmpvaW4oJ3Byb2plY3RzJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdXJsVGVtcGxhdGUgPSBVcmxIZWxwZXJzLmpvaW4oJ25hbWVzcGFjZXMvOm5hbWVzcGFjZScsIHR5cGUsICc6aWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHVybFRlbXBsYXRlO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIG5hbWVzcGFjZVBhdGhGb3JLaW5kKHR5cGUsIG5zKSB7XG4gICAgdmFyIHVybFRlbXBsYXRlID0gJyc7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFdhdGNoVHlwZXMuTkFNRVNQQUNFUzpcbiAgICAgIGNhc2UgXCJOYW1lc3BhY2VzXCI6XG4gICAgICBjYXNlIFwiTmFtZXNwYWNlXCI6XG4gICAgICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4oJ25hbWVzcGFjZXMnKTtcbiAgICAgIGNhc2UgV2F0Y2hUeXBlcy5OT0RFUzpcbiAgICAgIGNhc2UgXCJOb2Rlc1wiOlxuICAgICAgY2FzZSBcIm5vZGVcIjpcbiAgICAgICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbignbm9kZXMnKTtcbiAgICAgIGNhc2UgV2F0Y2hUeXBlcy5QUk9KRUNUUzpcbiAgICAgIGNhc2UgXCJQcm9qZWN0c1wiOlxuICAgICAgY2FzZSBcIlByb2plY3RcIjpcbiAgICAgICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbigncHJvamVjdHMnKTtcbiAgICAgIGNhc2UgV2F0Y2hUeXBlcy5PQVVUSF9DTElFTlRTOlxuICAgICAgY2FzZSBcIk9BdXRoQ2xpZW50c1wiOlxuICAgICAgY2FzZSBcIk9BdXRoQ2xpZW50XCI6XG4gICAgICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4oJ29hdXRoY2xpZW50cycpO1xuICAgICAgY2FzZSBXYXRjaFR5cGVzLlBFUlNJU1RFTlRfVk9MVU1FUzpcbiAgICAgIGNhc2UgXCJQZXJzaXN0ZW50Vm9sdW1lc1wiOlxuICAgICAgY2FzZSBcIlBlcnNpc3RlbnRWb2x1bWVcIjpcbiAgICAgICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbigncGVyc2lzZW50dm9sdW1lcycpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbignbmFtZXNwYWNlcycsIG5zLCB0eXBlKTtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gdXBkYXRlT3JDcmVhdGVPYmplY3Qob2JqZWN0LCBLdWJlcm5ldGVzTW9kZWwsIHN1Y2Nlc3M/OiAoZGF0YSkgPT4gdm9pZCwgZXJyb3I/OiAoZXJyb3IpID0+IHZvaWQpIHtcbiAgICB2YXIga2luZCA9IGdldEtpbmQob2JqZWN0KTtcbiAgICBpZiAoa2luZCA9PT0gXCJMaXN0XCIpIHtcbiAgICAgIGxvZy5kZWJ1ZyhcIk9iamVjdCBpcyBhIGxpc3QsIGRlcGxveWluZyBhbGwgb2JqZWN0c1wiKTtcbiAgICAgIF8uZm9yRWFjaChvYmplY3QuaXRlbXMsIChvYmopID0+IHtcbiAgICAgICAgbG9nLmRlYnVnKFwiRGVwbG95aW5nOiBcIiwgb2JqKTtcbiAgICAgICAgdXBkYXRlT3JDcmVhdGVPYmplY3Qob2JqLCBLdWJlcm5ldGVzTW9kZWwsIHN1Y2Nlc3MsIGVycm9yKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWtpbmQpIHtcbiAgICAgIGxvZy5kZWJ1ZyhcIk9iamVjdDogXCIsIG9iamVjdCwgXCIgaGFzIG5vIG9iamVjdCB0eXBlXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBraW5kID0ga2luZC50b0xvd2VyQ2FzZSgpLnBsdXJhbGl6ZSgpO1xuICAgIHZhciByZXNvdXJjZSA9IEt1YmVybmV0ZXNNb2RlbFtraW5kICsgJ1Jlc291cmNlJ107XG4gICAgaWYgKCFyZXNvdXJjZSkge1xuICAgICAgdmFyIGluamVjdG9yID0gSGF3dGlvQ29yZS5pbmplY3RvcjtcbiAgICAgIHZhciAkcmVzb3VyY2UgPSBpbmplY3RvciA/IGluamVjdG9yLmdldChcIiRyZXNvdXJjZVwiKSA6IG51bGw7XG4gICAgICBpZiAoISRyZXNvdXJjZSkge1xuICAgICAgICBsb2cud2FybihcIkNhbm5vdCBjcmVhdGUgcmVzb3VyY2UgZm9yIFwiICsga2luZCArIFwiIGR1ZSB0byBtaXNzaW5nICRyZXNvdXJjZVwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgcmVzb3VyY2UgPSBjcmVhdGVSZXNvdXJjZShraW5kLCB1cmlUZW1wbGF0ZUZvckt1YmVybmV0ZXNLaW5kKGtpbmQpLCAkcmVzb3VyY2UsIEt1YmVybmV0ZXNNb2RlbCk7XG4gICAgICBLdWJlcm5ldGVzTW9kZWxba2luZCArICdSZXNvdXJjZSddID0gcmVzb3VyY2U7XG4gICAgfVxuICAgIHZhciBuYW1lID0gZ2V0TmFtZShvYmplY3QpO1xuICAgIGlmICghbmFtZSkge1xuICAgICAgbG9nLmRlYnVnKFwiT2JqZWN0IGhhcyBubyBuYW1lOiBcIiwgb2JqZWN0KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgaXNVcGRhdGUgPSBfLmFueShLdWJlcm5ldGVzTW9kZWxba2luZF0sIChuKSA9PiBuID09PSBuYW1lKVxuICAgIHZhciBhY3Rpb24gPSBpc1VwZGF0ZSA/IFwiTW9kaWZpZWRcIiA6IFwiQWRkZWRcIjtcblxuICAgIHZhciBzdWNjZXNzSW50ZXJuYWwgPSAoZGF0YSkgPT4ge1xuICAgICAgbG9nLmRlYnVnKGFjdGlvbiwgZGF0YSk7XG4gICAgICBpZiAoIWlzVXBkYXRlKSB7XG4gICAgICAgIEt1YmVybmV0ZXNNb2RlbFtraW5kXS5wdXNoKGRhdGEpO1xuICAgICAgfVxuICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgc3VjY2VzcyhkYXRhKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHZhciBlcnJvckludGVybmFsID0gKGVycikgPT4ge1xuICAgICAgbG9nLmRlYnVnKFwiRmFpbGVkIHRvIGFkZC9tb2RpZnkgb2JqZWN0OiBcIiwgb2JqZWN0LCBcIiBlcnJvcjogXCIsIGVycik7XG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgZXJyb3IoZXJyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzVXBkYXRlKSB7XG4gICAgICBsb2cuZGVidWcoXCJPYmplY3QgYWxyZWFkeSBleGlzdHMsIHVwZGF0aW5nLi4uXCIpO1xuICAgICAgcmVzb3VyY2Uuc2F2ZSh7IGlkOiBuYW1lIH0sIG9iamVjdCwgc3VjY2Vzc0ludGVybmFsLCBlcnJvckludGVybmFsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nLmRlYnVnKFwiT2JqZWN0IGRvZXNuJ3QgZXhpc3QsIGNyZWF0aW5nLi4uXCIpO1xuICAgICAgcmVzb3VyY2UuY3JlYXRlKHt9LCBvYmplY3QsIHN1Y2Nlc3NJbnRlcm5hbCwgZXJyb3JJbnRlcm5hbCk7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlc291cmNlKHRoaW5nOnN0cmluZywgdXJsVGVtcGxhdGU6c3RyaW5nLCAkcmVzb3VyY2U6IG5nLnJlc291cmNlLklSZXNvdXJjZVNlcnZpY2UsIEt1YmVybmV0ZXNNb2RlbCkge1xuICAgIHZhciBwcmVmaXggPSBwcmVmaXhGb3JUeXBlKHRoaW5nKTtcbiAgICBpZiAoIXByZWZpeCkge1xuICAgICAgbG9nLmRlYnVnKFwiSW52YWxpZCB0eXBlIGdpdmVuOiBcIiwgdGhpbmcpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdmFyIHBhcmFtcyA9IDxhbnk+IHtcbiAgICAgIG5hbWVzcGFjZTogY3VycmVudEt1YmVybmV0ZXNOYW1lc3BhY2VcbiAgICB9XG4gICAgaWYgKHRoaW5nID09PSBcIm5hbWVzcGFjZXNcIikge1xuICAgICAgcGFyYW1zID0ge307XG4gICAgfVxuXG4gICAgdmFyIHVybCA9IFVybEhlbHBlcnMuam9pbihtYXN0ZXJBcGlVcmwoKSwgcHJlZml4LCB1cmxUZW1wbGF0ZSk7XG4gICAgbG9nLmRlYnVnKFwiVXJsIGZvciBcIiwgdGhpbmcsIFwiOiBcIiwgdXJsKTtcbiAgICB2YXIgcmVzb3VyY2UgPSAkcmVzb3VyY2UodXJsLCBudWxsLCB7XG4gICAgICBxdWVyeTogeyBtZXRob2Q6ICdHRVQnLCBpc0FycmF5OiBmYWxzZSwgcGFyYW1zOiBwYXJhbXN9LFxuICAgICAgY3JlYXRlOiB7IG1ldGhvZDogJ1BPU1QnLCBwYXJhbXM6IHBhcmFtc30sXG4gICAgICBzYXZlOiB7IG1ldGhvZDogJ1BVVCcsIHBhcmFtczogcGFyYW1zfSxcbiAgICAgIGRlbGV0ZTogeyBtZXRob2Q6ICdERUxFVEUnLCBwYXJhbXM6IF8uZXh0ZW5kKHtcbiAgICAgICAgaWQ6ICdAaWQnXG4gICAgICB9LCBwYXJhbXMpfVxuICAgIH0pO1xuICAgIHJldHVybiByZXNvdXJjZTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpbWFnZVJlcG9zaXRvcmllc1Jlc3RVUkwoKSB7XG4gICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihvcGVuc2hpZnRBcGlVcmwoKSwga3ViZXJuZXRlc05hbWVzcGFjZVBhdGgoKSwgXCIvaW1hZ2VzdHJlYW1zXCIpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGRlcGxveW1lbnRDb25maWdzUmVzdFVSTCgpIHtcbiAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKG9wZW5zaGlmdEFwaVVybCgpLCBrdWJlcm5ldGVzTmFtZXNwYWNlUGF0aCgpLCBcIi9kZXBsb3ltZW50Y29uZmlnc1wiKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBidWlsZHNMb2dzUmVzdFVSTCgpIHtcbiAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKG9wZW5zaGlmdEFwaVVybCgpLCBrdWJlcm5ldGVzTmFtZXNwYWNlUGF0aCgpLCBcIi9wcm94eS9idWlsZGxvZ3NcIik7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gYnVpbGRzUmVzdFVSTCgpIHtcbiAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKG9wZW5zaGlmdEFwaVVybCgpLCBrdWJlcm5ldGVzTmFtZXNwYWNlUGF0aCgpLCBcIi9idWlsZHNcIik7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gYnVpbGRDb25maWdIb29rc1Jlc3RVUkwoKSB7XG4gICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihvcGVuc2hpZnRBcGlVcmwoKSwga3ViZXJuZXRlc05hbWVzcGFjZVBhdGgoKSwgXCIvYnVpbGRjb25maWdob29rc1wiKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBidWlsZENvbmZpZ3NSZXN0VVJMKCkge1xuICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4ob3BlbnNoaWZ0QXBpVXJsKCksIGt1YmVybmV0ZXNOYW1lc3BhY2VQYXRoKCksIFwiL2J1aWxkY29uZmlnc1wiKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiByb3V0ZXNSZXN0VVJMKCkge1xuICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4ob3BlbnNoaWZ0QXBpVXJsKCksIGt1YmVybmV0ZXNOYW1lc3BhY2VQYXRoKCksIFwiL3JvdXRlc1wiKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiB0ZW1wbGF0ZXNSZXN0VVJMKCkge1xuICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4ob3BlbnNoaWZ0QXBpVXJsKCksIGt1YmVybmV0ZXNOYW1lc3BhY2VQYXRoKCksIFwiL3RlbXBsYXRlc1wiKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXROYW1lc3BhY2UoZW50aXR5KSB7XG4gICAgdmFyIGFuc3dlciA9IENvcmUucGF0aEdldChlbnRpdHksIFtcIm1ldGFkYXRhXCIsIFwibmFtZXNwYWNlXCJdKTtcbiAgICByZXR1cm4gYW5zd2VyID8gYW5zd2VyIDogZGVmYXVsdE5hbWVzcGFjZTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRMYWJlbHMoZW50aXR5KSB7XG4gICAgdmFyIGFuc3dlciA9IENvcmUucGF0aEdldChlbnRpdHksIFtcIm1ldGFkYXRhXCIsIFwibGFiZWxzXCJdKTtcbiAgICByZXR1cm4gYW5zd2VyID8gYW5zd2VyIDoge307XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0TmFtZShlbnRpdHkpIHtcbiAgICByZXR1cm4gQ29yZS5wYXRoR2V0KGVudGl0eSwgW1wibWV0YWRhdGFcIiwgXCJuYW1lXCJdKSB8fCBDb3JlLnBhdGhHZXQoZW50aXR5LCBcIm5hbWVcIikgfHwgQ29yZS5wYXRoR2V0KGVudGl0eSwgXCJpZFwiKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRLaW5kKGVudGl0eSkge1xuICAgIHJldHVybiBDb3JlLnBhdGhHZXQoZW50aXR5LCBbXCJtZXRhZGF0YVwiLCBcImtpbmRcIl0pIHx8IENvcmUucGF0aEdldChlbnRpdHksIFwia2luZFwiKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRTZWxlY3RvcihlbnRpdHkpIHtcbiAgICByZXR1cm4gQ29yZS5wYXRoR2V0KGVudGl0eSwgW1wic3BlY1wiLCBcInNlbGVjdG9yXCJdKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRIb3N0KHBvZCkge1xuICAgIHJldHVybiBDb3JlLnBhdGhHZXQocG9kLCBbXCJzcGVjXCIsIFwiaG9zdFwiXSkgfHwgQ29yZS5wYXRoR2V0KHBvZCwgW1wic3BlY1wiLCBcIm5vZGVOYW1lXCJdKSB8fCBDb3JlLnBhdGhHZXQocG9kLCBbXCJzdGF0dXNcIiwgXCJob3N0SVBcIl0pO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFN0YXR1cyhwb2QpIHtcbiAgICByZXR1cm4gQ29yZS5wYXRoR2V0KHBvZCwgW1wic3RhdHVzXCIsIFwicGhhc2VcIl0pO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFBvcnRzKHNlcnZpY2UpIHtcbiAgICByZXR1cm4gQ29yZS5wYXRoR2V0KHNlcnZpY2UsIFtcInNwZWNcIiwgXCJwb3J0c1wiXSk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0Q3JlYXRpb25UaW1lc3RhbXAoZW50aXR5KSB7XG4gICAgcmV0dXJuIENvcmUucGF0aEdldChlbnRpdHksIFtcIm1ldGFkYXRhXCIsIFwiY3JlYXRpb25UaW1lc3RhbXBcIl0pO1xuICB9O1xuXG4gIC8vdmFyIGZhYnJpY0RvbWFpbiA9IEZhYnJpYy5qbXhEb21haW47XG4gIHZhciBmYWJyaWNEb21haW4gPSBcImlvLmZhYnJpYzhcIjtcbiAgZXhwb3J0IHZhciBtYmVhbiA9IGZhYnJpY0RvbWFpbiArIFwiOnR5cGU9S3ViZXJuZXRlc1wiO1xuICBleHBvcnQgdmFyIG1hbmFnZXJNQmVhbiA9IGZhYnJpY0RvbWFpbiArIFwiOnR5cGU9S3ViZXJuZXRlc01hbmFnZXJcIjtcbiAgZXhwb3J0IHZhciBhcHBWaWV3TUJlYW4gPSBmYWJyaWNEb21haW4gKyBcIjp0eXBlPUFwcFZpZXdcIjtcblxuICBleHBvcnQgZnVuY3Rpb24gaXNLdWJlcm5ldGVzKHdvcmtzcGFjZSkge1xuICAgIC8vIHJldHVybiB3b3Jrc3BhY2UudHJlZUNvbnRhaW5zRG9tYWluQW5kUHJvcGVydGllcyhmYWJyaWNEb21haW4sIHt0eXBlOiBcIkt1YmVybmV0ZXNcIn0pO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzS3ViZXJuZXRlc1RlbXBsYXRlTWFuYWdlcih3b3Jrc3BhY2UpIHtcbiAgICAvLyByZXR1cm4gd29ya3NwYWNlLnRyZWVDb250YWluc0RvbWFpbkFuZFByb3BlcnRpZXMoZmFicmljRG9tYWluLCB7dHlwZTogXCJLdWJlcm5ldGVzVGVtcGxhdGVNYW5hZ2VyXCJ9KTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpc0FwcFZpZXcod29ya3NwYWNlKSB7XG4gICAgLy8gcmV0dXJuIHdvcmtzcGFjZS50cmVlQ29udGFpbnNEb21haW5BbmRQcm9wZXJ0aWVzKGZhYnJpY0RvbWFpbiwge3R5cGU6IFwiQXBwVmlld1wifSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gc2V0SnNvbigkc2NvcGUsIGlkLCBjb2xsZWN0aW9uKSB7XG4gICAgJHNjb3BlLmlkID0gaWQ7XG4gICAgaWYgKCEkc2NvcGUuZmV0Y2hlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWlkKSB7XG4gICAgICAkc2NvcGUuanNvbiA9ICcnO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWNvbGxlY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIGl0ZW0gPSBjb2xsZWN0aW9uLmZpbmQoKGl0ZW0pID0+IHsgcmV0dXJuIGdldE5hbWUoaXRlbSkgPT09IGlkOyB9KTtcbiAgICBpZiAoaXRlbSkge1xuICAgICAgJHNjb3BlLmpzb24gPSBhbmd1bGFyLnRvSnNvbihpdGVtLCB0cnVlKTtcbiAgICAgICRzY29wZS5pdGVtID0gaXRlbTtcbiAgICB9IGVsc2Uge1xuICAgICAgJHNjb3BlLmlkID0gdW5kZWZpbmVkO1xuICAgICAgJHNjb3BlLmpzb24gPSAnJztcbiAgICAgICRzY29wZS5pdGVtID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBsYWJlbHMgdGV4dCBzdHJpbmcgdXNpbmcgdGhlIDxjb2RlPmtleTE9dmFsdWUxLGtleTI9dmFsdWUyLC4uLi48L2NvZGU+IGZvcm1hdFxuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIGxhYmVsc1RvU3RyaW5nKGxhYmVscywgc2VwZXJhdG9yVGV4dCA9IGxhYmVsRmlsdGVyVGV4dFNlcGFyYXRvcikge1xuICAgIHZhciBhbnN3ZXIgPSBcIlwiO1xuICAgIGFuZ3VsYXIuZm9yRWFjaChsYWJlbHMsICh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICB2YXIgc2VwYXJhdG9yID0gYW5zd2VyID8gc2VwZXJhdG9yVGV4dCA6IFwiXCI7XG4gICAgICBhbnN3ZXIgKz0gc2VwYXJhdG9yICsga2V5ICsgXCI9XCIgKyB2YWx1ZTtcbiAgICB9KTtcbiAgICByZXR1cm4gYW5zd2VyO1xuICB9XG5cblxuICBleHBvcnQgZnVuY3Rpb24gaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKSB7XG4gICAgJHNjb3BlLmJhc2VVcmkgPSBDb3JlLnRyaW1UcmFpbGluZyhDb3JlLnVybChcIi9cIikgfHwgXCJcIiwgXCIvXCIpIHx8IFwiXCI7XG5cbiAgICB2YXIgaW5qZWN0b3IgPSBIYXd0aW9Db3JlLmluamVjdG9yO1xuXG4gICAgZnVuY3Rpb24gaGFzU2VydmljZShuYW1lKSB7XG4gICAgICBpZiAoaW5qZWN0b3IpIHtcbiAgICAgICAgdmFyIFNlcnZpY2VSZWdpc3RyeSA9IGluamVjdG9yLmdldChcIlNlcnZpY2VSZWdpc3RyeVwiKTtcbiAgICAgICAgaWYgKFNlcnZpY2VSZWdpc3RyeSkge1xuICAgICAgICAgIHJldHVybiBTZXJ2aWNlUmVnaXN0cnkuaGFzU2VydmljZShuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgICRzY29wZS5oYXNTZXJ2aWNlS2liYW5hID0gKCkgPT4gaGFzU2VydmljZShraWJhbmFTZXJ2aWNlTmFtZSk7XG4gICAgJHNjb3BlLmhhc1NlcnZpY2VHb2dzID0gKCkgPT4gaGFzU2VydmljZShnb2dzU2VydmljZU5hbWUpO1xuICAgICRzY29wZS5oYXNTZXJ2aWNlRm9yZ2UgPSAoKSA9PiBoYXNTZXJ2aWNlKGZhYnJpYzhGb3JnZVNlcnZpY2VOYW1lKTtcblxuICAgICRzY29wZS52aWV3VGVtcGxhdGVzID0gKCkgPT4ge1xuICAgICAgdmFyIHJldHVyblRvID0gJGxvY2F0aW9uLnVybCgpO1xuICAgICAgJGxvY2F0aW9uLnBhdGgoJy9rdWJlcm5ldGVzL3RlbXBsYXRlcycpLnNlYXJjaCh7J3JldHVyblRvJzogcmV0dXJuVG99KTtcbiAgICB9XG5cbiAgICAkc2NvcGUubmFtZXNwYWNlID0gJHJvdXRlUGFyYW1zLm5hbWVzcGFjZSB8fCBLdWJlcm5ldGVzU3RhdGUuc2VsZWN0ZWROYW1lc3BhY2UgfHwgZGVmYXVsdE5hbWVzcGFjZTtcbiAgICBLdWJlcm5ldGVzU3RhdGUuc2VsZWN0ZWROYW1lc3BhY2UgPSAkc2NvcGUubmFtZXNwYWNlO1xuICAgICRzY29wZS5mb3JnZUVuYWJsZWQgPSBpc0ZvcmdlRW5hYmxlZCgpO1xuXG4gICAgJHNjb3BlLmNvZGVNaXJyb3JPcHRpb25zID0ge1xuICAgICAgbGluZVdyYXBwaW5nIDogdHJ1ZSxcbiAgICAgIGxpbmVOdW1iZXJzOiB0cnVlLFxuICAgICAgcmVhZE9ubHk6ICdub2N1cnNvcicsXG4gICAgICBtb2RlOiB7bmFtZTogXCJqYXZhc2NyaXB0XCIsIGpzb246IHRydWV9XG4gICAgfTtcblxuICAgICRzY29wZS5yZXNpemVEaWFsb2cgPSB7XG4gICAgICBjb250cm9sbGVyOiBudWxsLFxuICAgICAgbmV3UmVwbGljYXM6IDAsXG4gICAgICBkaWFsb2c6IG5ldyBVSS5EaWFsb2coKSxcbiAgICAgIG9uT2s6ICgpID0+IHtcbiAgICAgICAgdmFyIHJlc2l6ZURpYWxvZyA9ICRzY29wZS5yZXNpemVEaWFsb2c7XG4gICAgICAgIHJlc2l6ZURpYWxvZy5kaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgcmVzaXplQ29udHJvbGxlcigkaHR0cCwgS3ViZXJuZXRlc0FwaVVSTCwgcmVzaXplRGlhbG9nLmNvbnRyb2xsZXIsIHJlc2l6ZURpYWxvZy5uZXdSZXBsaWNhcywgKCkgPT4geyBsb2cuZGVidWcoXCJ1cGRhdGVkIG51bWJlciBvZiByZXBsaWNhc1wiKTsgfSlcbiAgICAgIH0sXG4gICAgICBvcGVuOiAoY29udHJvbGxlcikgPT4ge1xuICAgICAgICB2YXIgcmVzaXplRGlhbG9nID0gJHNjb3BlLnJlc2l6ZURpYWxvZztcbiAgICAgICAgcmVzaXplRGlhbG9nLmNvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuICAgICAgICByZXNpemVEaWFsb2cubmV3UmVwbGljYXMgPSBDb3JlLnBhdGhHZXQoY29udHJvbGxlciwgW1wic3RhdHVzXCIsIFwicmVwbGljYXNcIl0pO1xuICAgICAgICByZXNpemVEaWFsb2cuZGlhbG9nLm9wZW4oKTtcblxuICAgICAgICAkdGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgJCgnI3JlcGxpY2FzJykuZm9jdXMoKTtcbiAgICAgICAgfSwgNTApO1xuICAgICAgfSxcbiAgICAgIGNsb3NlOiAoKSA9PiB7XG4gICAgICAgICRzY29wZS5yZXNpemVEaWFsb2cuZGlhbG9nLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgICRzY29wZS50cmlnZ2VyQnVpbGQgPSAoYnVpbGRDb25maWcpID0+IHtcbiAgICAgIHZhciB1cmwgPSBidWlsZENvbmZpZy4kdHJpZ2dlclVybDtcbiAgICAgIGNvbnNvbGUubG9nKFwidHJpZ2dlcmluZyBidWlsZCBhdCB1cmw6IFwiICsgdXJsKTtcbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgLy92YXIgZGF0YSA9IHt9O1xuICAgICAgICB2YXIgZGF0YSA9IG51bGw7XG4gICAgICAgIHZhciBjb25maWcgPSB7XG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6IFwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB2YXIgbmFtZSA9IENvcmUucGF0aEdldChidWlsZENvbmZpZywgW1wibWV0YWRhdGFcIiwgXCJuYW1lXCJdKTtcbiAgICAgICAgQ29yZS5ub3RpZmljYXRpb24oJ2luZm8nLCBcIlRyaWdnZXJpbmcgYnVpbGQgXCIgKyBuYW1lKTtcbiAgICAgICAgJGh0dHAucG9zdCh1cmwsIGRhdGEsIGNvbmZpZykuXG4gICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwidHJpZ2dlciB3b3JrZWQhIGdvdCBkYXRhIFwiICsgYW5ndWxhci50b0pzb24oZGF0YSwgdHJ1ZSkpO1xuICAgICAgICAgICAgLy8gVE9ETyBzaG91bGQgd2Ugc2hvdyBzb21lIGxpbmsgdG8gdGhlIGJ1aWxkXG4gICAgICAgICAgICBDb3JlLm5vdGlmaWNhdGlvbignaW5mbycsIFwiQnVpbGRpbmcgXCIgKyBuYW1lKTtcbiAgICAgICAgICB9KS5cbiAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGxvYWQgXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICAgICAgICBDb3JlLm5vdGlmaWNhdGlvbignZXJyb3InLCBcIkZhaWxlZCB0byB0cmlnZ2VyIGJ1aWxkIGZvciBcIiArIG5hbWUgKyBcIi4gUmV0dXJuZWQgY29kZTogXCIgKyBzdGF0dXMgKyBcIiBcIiArIGRhdGEpO1xuICAgICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyB1cGRhdGUgdGhlIFVSTCBpZiB0aGUgZmlsdGVyIGlzIGNoYW5nZWRcbiAgICAkc2NvcGUuJHdhdGNoKFwidGFibGVDb25maWcuZmlsdGVyT3B0aW9ucy5maWx0ZXJUZXh0XCIsICh0ZXh0KSA9PiB7XG4gICAgICAkbG9jYXRpb24uc2VhcmNoKFwicVwiLCB0ZXh0KTtcbiAgICB9KTtcblxuICAgICRzY29wZS4kb24oXCJsYWJlbEZpbHRlclVwZGF0ZVwiLCAoJGV2ZW50LCB0ZXh0KSA9PiB7XG4gICAgICB2YXIgZmlsdGVyT3B0aW9ucyA9ICgkc2NvcGUudGFibGVDb25maWcgfHwge30pLmZpbHRlck9wdGlvbnMgfHwge307XG4gICAgICB2YXIgY3VycmVudEZpbHRlciA9IGZpbHRlck9wdGlvbnMuZmlsdGVyVGV4dDtcbiAgICAgIGlmIChDb3JlLmlzQmxhbmsoY3VycmVudEZpbHRlcikpIHtcbiAgICAgICAgZmlsdGVyT3B0aW9ucy5maWx0ZXJUZXh0ID0gdGV4dDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBleHByZXNzaW9ucyA9IGN1cnJlbnRGaWx0ZXIuc3BsaXQoL1xccysvKTtcbiAgICAgICAgaWYgKGV4cHJlc3Npb25zLmFueSh0ZXh0KSkge1xuICAgICAgICAgIC8vIGxldHMgZXhjbHVkZSB0aGlzIGZpbHRlciBleHByZXNzaW9uXG4gICAgICAgICAgZXhwcmVzc2lvbnMgPSBleHByZXNzaW9ucy5yZW1vdmUodGV4dCk7XG4gICAgICAgICAgZmlsdGVyT3B0aW9ucy5maWx0ZXJUZXh0ID0gZXhwcmVzc2lvbnMuam9pbihcIiBcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZmlsdGVyT3B0aW9ucy5maWx0ZXJUZXh0ID0gY3VycmVudEZpbHRlciArIFwiIFwiICsgdGV4dDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJHNjb3BlLmlkID0gdW5kZWZpbmVkO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHNlcnZpY2UgbGluayBVUkwgZm9yIGVpdGhlciB0aGUgc2VydmljZSBuYW1lIG9yIHRoZSBzZXJ2aWNlIG9iamVjdFxuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIHNlcnZpY2VMaW5rVXJsKHNlcnZpY2UpIHtcbiAgICBpZiAoYW5ndWxhci5pc09iamVjdChzZXJ2aWNlKSkge1xuICAgICAgdmFyIHBvcnRhbElQID0gc2VydmljZS4kaG9zdDtcbiAgICAgIC8vIGxldHMgYXNzdW1lIG5vIGN1c3RvbSBwb3J0IGZvciBub3cgZm9yIGV4dGVybmFsIHJvdXRlc1xuICAgICAgdmFyIHBvcnQgPSBudWxsO1xuICAgICAgdmFyIHByb3RvY29sID0gXCJodHRwOi8vXCI7XG4gICAgICB2YXIgc3BlYyA9IHNlcnZpY2Uuc3BlYztcbiAgICAgIGlmIChzcGVjKSB7XG4gICAgICAgIGlmICghcG9ydGFsSVApIHtcbiAgICAgICAgICBwb3J0YWxJUCA9IHNwZWMucG9ydGFsSVA7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGhhc0h0dHBzID0gZmFsc2U7XG4gICAgICAgIHZhciBoYXNIdHRwID0gZmFsc2U7XG4gICAgICAgIGFuZ3VsYXIuZm9yRWFjaChzcGVjLnBvcnRzLCAocG9ydFNwZWMpID0+IHtcbiAgICAgICAgICB2YXIgcCA9IHBvcnRTcGVjLnBvcnQ7XG4gICAgICAgICAgaWYgKHApIHtcbiAgICAgICAgICAgIGlmIChwID09PSA0NDMpIHtcbiAgICAgICAgICAgICAgaGFzSHR0cHMgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwID09PSA4MCkge1xuICAgICAgICAgICAgICBoYXNIdHRwID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghcG9ydCkge1xuICAgICAgICAgICAgICBwb3J0ID0gcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHBvcnRhbElQKSB7XG4gICAgICAgIGlmIChoYXNIdHRwcykge1xuICAgICAgICAgIHJldHVybiBcImh0dHBzOi8vXCIgKyBwb3J0YWxJUDtcbiAgICAgICAgfSBlbHNlIGlmIChoYXNIdHRwKSB7XG4gICAgICAgICAgcmV0dXJuIFwiaHR0cDovL1wiICsgcG9ydGFsSVA7XG4gICAgICAgIH0gZWxzZSBpZiAocG9ydCkge1xuICAgICAgICAgIHJldHVybiBwcm90b2NvbCArIHBvcnRhbElQICsgXCI6XCIgKyBwb3J0ICsgXCIvXCI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHByb3RvY29sICsgcG9ydGFsSVA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHNlcnZpY2UpIHtcbiAgICAgIHZhciBzZXJ2aWNlSWQgPSBzZXJ2aWNlLnRvU3RyaW5nKCk7XG4gICAgICBpZiAoc2VydmljZUlkKSB7XG4gICAgICAgIHZhciBTZXJ2aWNlUmVnaXN0cnkgPSBnZXRTZXJ2aWNlUmVnaXN0cnkoKTtcbiAgICAgICAgaWYgKFNlcnZpY2VSZWdpc3RyeSkge1xuICAgICAgICAgIHJldHVybiBTZXJ2aWNlUmVnaXN0cnkuc2VydmljZUxpbmsoc2VydmljZUlkKSB8fCBcIlwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgLyoqXG4gICAqIEdpdmVuIHRoZSBsaXN0IG9mIHBvZHMgbGV0cyBpdGVyYXRlIHRocm91Z2ggdGhlbSBhbmQgZmluZCBhbGwgcG9kcyBtYXRjaGluZyB0aGUgc2VsZWN0b3JcbiAgICogYW5kIHJldHVybiBjb3VudGVycyBiYXNlZCBvbiB0aGUgc3RhdHVzIG9mIHRoZSBwb2RcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQb2RDb3VudGVycyhzZWxlY3RvciwgcG9kcywgb3V0cHV0UG9kcyA9IFtdLCBwb2RMaW5rUXVlcnkgPSBudWxsKSB7XG4gICAgdmFyIGZpbHRlckZuO1xuICAgIGlmIChhbmd1bGFyLmlzRnVuY3Rpb24oc2VsZWN0b3IpKSB7XG4gICAgICBmaWx0ZXJGbiA9IHNlbGVjdG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWx0ZXJGbiA9IChwb2QpID0+IHNlbGVjdG9yTWF0Y2hlcyhzZWxlY3RvciwgZ2V0TGFiZWxzKHBvZCkpO1xuICAgIH1cbiAgICB2YXIgYW5zd2VyID0ge1xuICAgICAgcG9kc0xpbms6IFwiXCIsXG4gICAgICB2YWxpZDogMCxcbiAgICAgIHdhaXRpbmc6IDAsXG4gICAgICBlcnJvcjogMFxuICAgIH07XG4gICAgaWYgKHNlbGVjdG9yKSB7XG4gICAgICBpZiAoIXBvZExpbmtRdWVyeSkge1xuICAgICAgICBwb2RMaW5rUXVlcnkgPSBLdWJlcm5ldGVzLmxhYmVsc1RvU3RyaW5nKHNlbGVjdG9yLCBcIiBcIik7XG4gICAgICB9XG4gICAgICBhbnN3ZXIucG9kc0xpbmsgPSBDb3JlLnVybChcIi9rdWJlcm5ldGVzL3BvZHM/cT1cIiArIGVuY29kZVVSSUNvbXBvbmVudChwb2RMaW5rUXVlcnkpKTtcbiAgICAgIGFuZ3VsYXIuZm9yRWFjaChwb2RzLCBwb2QgPT4ge1xuICAgICAgICBpZiAoZmlsdGVyRm4ocG9kKSkge1xuICAgICAgICAgIG91dHB1dFBvZHMucHVzaChwb2QpO1xuICAgICAgICAgIHZhciBzdGF0dXMgPSBnZXRTdGF0dXMocG9kKTtcbiAgICAgICAgICBpZiAoc3RhdHVzKSB7XG4gICAgICAgICAgICB2YXIgbG93ZXIgPSBzdGF0dXMudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIGlmIChsb3dlci5zdGFydHNXaXRoKFwicnVuXCIpKSB7XG4gICAgICAgICAgICAgIGFuc3dlci52YWxpZCArPSAxO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChsb3dlci5zdGFydHNXaXRoKFwid2FpdFwiKSB8fCBsb3dlci5zdGFydHNXaXRoKFwicGVuZFwiKSkge1xuICAgICAgICAgICAgICBhbnN3ZXIud2FpdGluZyArPSAxO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChsb3dlci5zdGFydHNXaXRoKFwidGVybVwiKSB8fCBsb3dlci5zdGFydHNXaXRoKFwiZXJyb3JcIikgfHwgbG93ZXIuc3RhcnRzV2l0aChcImZhaWxcIikpIHtcbiAgICAgICAgICAgICAgYW5zd2VyLmVycm9yICs9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFuc3dlci5lcnJvciArPSAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBhbnN3ZXI7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIGdpdmVuIGpzb24gaW50byBhbiBhcnJheSBvZiBpdGVtcy4gSWYgdGhlIGpzb24gY29udGFpbnMgYSBuZXN0ZWQgc2V0IG9mIGl0ZW1zIHRoZW4gdGhhdCBpcyBzb3J0ZWQ7IHNvIHRoYXQgc2VydmljZXNcbiAgICogYXJlIHByb2Nlc3NlZCBmaXJzdDsgdGhlbiB0dXJuZWQgaW50byBhbiBhcnJheS4gT3RoZXJ3aXNlIHRoZSBqc29uIGlzIHB1dCBpbnRvIGFuIGFycmF5IHNvIGl0IGNhbiBiZSBwcm9jZXNzZWQgcG9seW1vcnBoaWNhbGx5XG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gY29udmVydEt1YmVybmV0ZXNKc29uVG9JdGVtcyhqc29uKSB7XG4gICAgdmFyIGl0ZW1zID0ganNvbi5pdGVtcztcbiAgICBpZiAoYW5ndWxhci5pc0FycmF5KGl0ZW1zKSkge1xuICAgICAgLy8gVE9ETyB3ZSBjb3VsZCBjaGVjayBmb3IgTGlzdCBvciBDb25maWcgdHlwZXMgaGVyZSBhbmQgd2FybiBpZiBub3RcblxuICAgICAgLy8gc29ydCB0aGUgc2VydmljZXMgZmlyc3RcbiAgICAgIHZhciBhbnN3ZXIgPSBbXTtcbiAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGl0ZW0ua2luZCA9PT0gXCJTZXJ2aWNlXCIpIHtcbiAgICAgICAgICBhbnN3ZXIucHVzaChpdGVtKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGlmIChpdGVtLmtpbmQgIT09IFwiU2VydmljZVwiKSB7XG4gICAgICAgICAgYW5zd2VyLnB1c2goaXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGFuc3dlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFtqc29uXTtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gaXNWMWJldGExT3IyKCkge1xuICAgIHJldHVybiBkZWZhdWx0QXBpVmVyc2lvbiA9PT0gXCJ2MWJldGExXCIgfHwgZGVmYXVsdEFwaVZlcnNpb24gPT09IFwidjFiZXRhMlwiO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBsaW5rIHRvIHRoZSBkZXRhaWwgcGFnZSBmb3IgdGhlIGdpdmVuIGVudGl0eVxuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIGVudGl0eVBhZ2VMaW5rKGVudGl0eSkge1xuICAgIGlmIChlbnRpdHkpIHtcbiAgICAgIHZhciB2aWV3TGluayA9IGVudGl0eVtcIiR2aWV3TGlua1wiXTtcbiAgICAgIGlmICh2aWV3TGluaykge1xuICAgICAgICByZXR1cm4gdmlld0xpbms7XG4gICAgICB9XG4gICAgICB2YXIgaWQgPSBnZXROYW1lKGVudGl0eSk7XG4gICAgICB2YXIga2luZCA9IGdldEtpbmQoZW50aXR5KTtcbiAgICAgIGlmIChraW5kICYmIGlkKSB7XG4gICAgICAgIHZhciBwYXRoID0ga2luZC5zdWJzdHJpbmcoMCwgMSkudG9Mb3dlckNhc2UoKSArIGtpbmQuc3Vic3RyaW5nKDEpICsgXCJzXCI7XG4gICAgICAgIHZhciBuYW1lc3BhY2UgPSBnZXROYW1lc3BhY2UoZW50aXR5KTtcbiAgICAgICAgaWYgKG5hbWVzcGFjZSAmJiAhaXNJZ25vcmVOYW1lc3BhY2VLaW5kKGtpbmQpKSB7XG4gICAgICAgICAgcmV0dXJuIENvcmUudXJsKFVybEhlbHBlcnMuam9pbignL2t1YmVybmV0ZXMvbmFtZXNwYWNlJywgbmFtZXNwYWNlLCBwYXRoLCBpZCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBDb3JlLnVybChVcmxIZWxwZXJzLmpvaW4oJy9rdWJlcm5ldGVzJywgcGF0aCwgaWQpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHJlc291cmNlS2luZFRvVXJpUGF0aChraW5kKSB7XG4gICAgdmFyIGtpbmRQYXRoID0ga2luZC50b0xvd2VyQ2FzZSgpICsgXCJzXCI7XG4gICAgaWYgKGtpbmRQYXRoID09PSBcInJlcGxpY2F0aW9uQ29udHJvbGxlcnNcIiAmJiAhaXNWMWJldGExT3IyKCkpIHtcbiAgICAgIGtpbmRQYXRoID0gXCJyZXBsaWNhdGlvbmNvbnRyb2xsZXJzXCI7XG4gICAgfVxuICAgIHJldHVybiBraW5kUGF0aDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGlzSWdub3JlTmFtZXNwYWNlS2luZChraW5kKSB7XG4gICAgcmV0dXJuIGtpbmQgPT09IFwiSG9zdFwiIHx8IGtpbmQgPT09IFwiTWluaW9uXCI7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcm9vdCBVUkwgZm9yIHRoZSBraW5kXG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24ga3ViZXJuZXRlc1VybEZvcktpbmQoS3ViZXJuZXRlc0FwaVVSTCwga2luZCwgbmFtZXNwYWNlID0gbnVsbCwgcGF0aCA9IG51bGwpIHtcbiAgICB2YXIgcGF0aFNlZ21lbnQgPSBcIlwiO1xuICAgIGlmIChwYXRoKSB7XG4gICAgICBwYXRoU2VnbWVudCA9IFwiL1wiICsgQ29yZS50cmltTGVhZGluZyhwYXRoLCBcIi9cIik7XG4gICAgfVxuICAgIHZhciBraW5kUGF0aCA9IHJlc291cmNlS2luZFRvVXJpUGF0aChraW5kKTtcbiAgICB2YXIgaWdub3JlTmFtZXNwYWNlID0gaXNJZ25vcmVOYW1lc3BhY2VLaW5kKGtpbmQpO1xuICAgIGlmIChpc1YxYmV0YTFPcjIoKSB8fCBpZ25vcmVOYW1lc3BhY2UpIHtcbiAgICAgIHZhciBwb3N0Zml4ID0gXCJcIjtcbiAgICAgIGlmIChuYW1lc3BhY2UgJiYgIWlnbm9yZU5hbWVzcGFjZSkge1xuICAgICAgICBwb3N0Zml4ID0gXCI/bmFtZXNwYWNlPVwiICsgbmFtZXNwYWNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihLdWJlcm5ldGVzQXBpVVJMLCBraW5kUGF0aCwgcGF0aFNlZ21lbnQsIHBvc3RmaXgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKEt1YmVybmV0ZXNBcGlVUkwsIFwiL25hbWVzcGFjZXMvXCIsIG5hbWVzcGFjZSAsIGtpbmRQYXRoLCBwYXRoU2VnbWVudCk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBiYXNlIFVSTCBmb3IgdGhlIGtpbmQgb2Yga3ViZXJuZXRlcyByZXNvdXJjZSBvciBudWxsIGlmIGl0IGNhbm5vdCBiZSBmb3VuZFxuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIGt1YmVybmV0ZXNVcmxGb3JJdGVtS2luZChLdWJlcm5ldGVzQXBpVVJMLCBqc29uKSB7XG4gICAgdmFyIGtpbmQgPSBqc29uLmtpbmQ7XG4gICAgaWYgKGtpbmQpIHtcbiAgICAgIHJldHVybiBrdWJlcm5ldGVzVXJsRm9yS2luZChLdWJlcm5ldGVzQXBpVVJMLCBraW5kLCBqc29uLm5hbWVzcGFjZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZy53YXJuKFwiSWdub3JpbmcgbWlzc2luZyBraW5kIFwiICsga2luZCArIFwiIGZvciBrdWJlcm5ldGVzIGpzb246IFwiICsgYW5ndWxhci50b0pzb24oanNvbikpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGt1YmVybmV0ZXNQcm94eVVybEZvclNlcnZpY2UoS3ViZXJuZXRlc0FwaVVSTCwgc2VydmljZSwgcGF0aCA9IG51bGwpIHtcbiAgICB2YXIgcGF0aFNlZ21lbnQgPSBcIlwiO1xuICAgIGlmIChwYXRoKSB7XG4gICAgICBwYXRoU2VnbWVudCA9IFwiL1wiICsgQ29yZS50cmltTGVhZGluZyhwYXRoLCBcIi9cIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhdGhTZWdtZW50ID0gXCIvXCI7XG4gICAgfVxuICAgIHZhciBuYW1lc3BhY2UgPSBnZXROYW1lc3BhY2Uoc2VydmljZSk7XG4gICAgaWYgKGlzVjFiZXRhMU9yMigpKSB7XG4gICAgICB2YXIgcG9zdGZpeCA9IFwiP25hbWVzcGFjZT1cIiArIG5hbWVzcGFjZTtcbiAgICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4oS3ViZXJuZXRlc0FwaVVSTCwgXCIvYXBpL1wiICsgZGVmYXVsdEFwaVZlcnNpb24gKyBcIi9wcm94eVwiICsga3ViZXJuZXRlc05hbWVzcGFjZVBhdGgoKSArIFwiL3NlcnZpY2VzL1wiICsgZ2V0TmFtZShzZXJ2aWNlKSArIHBhdGhTZWdtZW50ICsgcG9zdGZpeCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4oS3ViZXJuZXRlc0FwaVVSTCwgXCIvYXBpL1wiICsgZGVmYXVsdEFwaVZlcnNpb24gKyBcIi9wcm94eS9uYW1lc3BhY2VzL1wiICsgbmFtZXNwYWNlICsgXCIvc2VydmljZXMvXCIgKyBnZXROYW1lKHNlcnZpY2UpICsgcGF0aFNlZ21lbnQpO1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBidWlsZENvbmZpZ1Jlc3RVcmwoaWQpIHtcbiAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKGJ1aWxkQ29uZmlnc1Jlc3RVUkwoKSwgaWQpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGRlcGxveW1lbnRDb25maWdSZXN0VXJsKGlkKSB7XG4gICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihkZXBsb3ltZW50Q29uZmlnc1Jlc3RVUkwoKSwgaWQpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGltYWdlUmVwb3NpdG9yeVJlc3RVcmwoaWQpIHtcbiAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKGltYWdlUmVwb3NpdG9yaWVzUmVzdFVSTCgpLCBpZCk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gYnVpbGRSZXN0VXJsKGlkKSB7XG4gICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihidWlsZHNSZXN0VVJMKCksIGlkKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBidWlsZExvZ3NSZXN0VXJsKGlkKSB7XG4gICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihidWlsZHNMb2dzUmVzdFVSTCgpLCBpZCk7XG4gIH1cblxuICAvKipcbiAgICogUnVucyB0aGUgZ2l2ZW4gYXBwbGljYXRpb24gSlNPTlxuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIHJ1bkFwcCgkbG9jYXRpb24sICRzY29wZSwgJGh0dHAsIEt1YmVybmV0ZXNBcGlVUkwsIGpzb24sIG5hbWUgPSBcIkFwcFwiLCBvblN1Y2Nlc3NGbiA9IG51bGwsIG5hbWVzcGFjZSA9IG51bGwsIG9uQ29tcGxldGVGbiA9IG51bGwpIHtcbiAgICBpZiAoanNvbikge1xuICAgICAgaWYgKGFuZ3VsYXIuaXNTdHJpbmcoanNvbikpIHtcbiAgICAgICAganNvbiA9IGFuZ3VsYXIuZnJvbUpzb24oanNvbik7XG4gICAgICB9XG4gICAgICBuYW1lID0gbmFtZSB8fCBcIkFwcFwiO1xuICAgICAgdmFyIHBvc3RmaXggPSBuYW1lc3BhY2UgPyBcIiBpbiBuYW1lc3BhY2UgXCIgKyBuYW1lc3BhY2UgOiBcIlwiO1xuICAgICAgQ29yZS5ub3RpZmljYXRpb24oJ2luZm8nLCBcIlJ1bm5pbmcgXCIgKyBuYW1lICsgcG9zdGZpeCk7XG5cbiAgICAgIHZhciBpdGVtcyA9IGNvbnZlcnRLdWJlcm5ldGVzSnNvblRvSXRlbXMoanNvbik7XG4gICAgICBhbmd1bGFyLmZvckVhY2goaXRlbXMsIChpdGVtKSA9PiB7XG4gICAgICAgIHZhciB1cmwgPSBrdWJlcm5ldGVzVXJsRm9ySXRlbUtpbmQoS3ViZXJuZXRlc0FwaVVSTCwgaXRlbSk7XG4gICAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgICAkaHR0cC5wb3N0KHVybCwgaXRlbSkuXG4gICAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICBsb2cuZGVidWcoXCJHb3Qgc3RhdHVzOiBcIiArIHN0YXR1cyArIFwiIG9uIHVybDogXCIgKyB1cmwgKyBcIiBkYXRhOiBcIiArIGRhdGEgKyBcIiBhZnRlciBwb3N0aW5nOiBcIiArIGFuZ3VsYXIudG9Kc29uKGl0ZW0pKTtcbiAgICAgICAgICAgICAgaWYgKGFuZ3VsYXIuaXNGdW5jdGlvbihvbkNvbXBsZXRlRm4pKSB7XG4gICAgICAgICAgICAgICAgb25Db21wbGV0ZUZuKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICAgIH0pLlxuICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSBudWxsO1xuICAgICAgICAgICAgaWYgKGFuZ3VsYXIuaXNPYmplY3QoZGF0YSkpIHtcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IGRhdGEubWVzc2FnZTtcbiAgICAgICAgICAgICAgdmFyIHJlYXNvbiA9IGRhdGEucmVhc29uO1xuICAgICAgICAgICAgICBpZiAocmVhc29uID09PSBcIkFscmVhZHlFeGlzdHNcIikge1xuICAgICAgICAgICAgICAgIC8vIGxldHMgaWdub3JlIGR1cGxpY2F0ZXNcbiAgICAgICAgICAgICAgICBsb2cuZGVidWcoXCJlbnRpdHkgYWxyZWFkeSBleGlzdHMgYXQgXCIgKyB1cmwpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFtZXNzYWdlKSB7XG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBcIkZhaWxlZCB0byBQT1NUIHRvIFwiICsgdXJsICsgXCIgZ290IHN0YXR1czogXCIgKyBzdGF0dXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBzYXZlIFwiICsgdXJsICsgXCIgc3RhdHVzOiBcIiArIHN0YXR1cyArIFwiIHJlc3BvbnNlOiBcIiArIGFuZ3VsYXIudG9Kc29uKGRhdGEsIHRydWUpKTtcbiAgICAgICAgICAgIENvcmUubm90aWZpY2F0aW9uKCdlcnJvcicsIG1lc3NhZ2UpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBwb2QgaXMgcnVubmluZ1xuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzUnVubmluZyhwb2RDdXJyZW50U3RhdGUpIHtcbiAgICB2YXIgc3RhdHVzID0gKHBvZEN1cnJlbnRTdGF0ZSB8fCB7fSkucGhhc2U7XG4gICAgaWYgKHN0YXR1cykge1xuICAgICAgdmFyIGxvd2VyID0gc3RhdHVzLnRvTG93ZXJDYXNlKCk7XG4gICAgICByZXR1cm4gbG93ZXIuc3RhcnRzV2l0aChcInJ1blwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGxhYmVscyBvYmplY3QgaGFzIGFsbCBvZiB0aGUga2V5L3ZhbHVlIHBhaXJzIGZyb20gdGhlIHNlbGVjdG9yXG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gc2VsZWN0b3JNYXRjaGVzKHNlbGVjdG9yLCBsYWJlbHMpIHtcbiAgICBpZiAoYW5ndWxhci5pc09iamVjdChsYWJlbHMpKSB7XG4gICAgICB2YXIgYW5zd2VyID0gdHJ1ZTtcbiAgICAgIHZhciBjb3VudCA9IDA7XG4gICAgICBhbmd1bGFyLmZvckVhY2goc2VsZWN0b3IsICh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgIGNvdW50Kys7XG4gICAgICAgIGlmIChhbnN3ZXIgJiYgbGFiZWxzW2tleV0gIT09IHZhbHVlKSB7XG4gICAgICAgICAgYW5zd2VyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGFuc3dlciAmJiBjb3VudCA+IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc2VydmljZSByZWdpc3RyeVxuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFNlcnZpY2VSZWdpc3RyeSgpIHtcbiAgICB2YXIgaW5qZWN0b3IgPSBIYXd0aW9Db3JlLmluamVjdG9yO1xuICAgIHJldHVybiBpbmplY3RvciA/IGluamVjdG9yLmdldChcIlNlcnZpY2VSZWdpc3RyeVwiKSA6IG51bGw7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbGluayB0byB0aGUga2liYW5hIGxvZ3Mgd2ViIGFwcGxpY2F0aW9uXG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24ga2liYW5hTG9nc0xpbmsoU2VydmljZVJlZ2lzdHJ5KSB7XG4gICAgdmFyIGxpbmsgPSBTZXJ2aWNlUmVnaXN0cnkuc2VydmljZUxpbmsoa2liYW5hU2VydmljZU5hbWUpO1xuICAgIGlmIChsaW5rKSB7XG4gICAgICBpZiAoIWxpbmsuZW5kc1dpdGgoXCIvXCIpKSB7XG4gICAgICAgIGxpbmsgKz0gXCIvXCI7XG4gICAgICB9XG4gICAgICByZXR1cm4gbGluayArIFwiIy9kYXNoYm9hcmQvRmFicmljOFwiO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gb3BlbkxvZ3NGb3JQb2RzKFNlcnZpY2VSZWdpc3RyeSwgJHdpbmRvdywgbmFtZXNwYWNlLCBwb2RzKSB7XG4gICAgdmFyIGxpbmsgPSBraWJhbmFMb2dzTGluayhTZXJ2aWNlUmVnaXN0cnkpO1xuICAgIGlmIChsaW5rKSB7XG4gICAgICB2YXIgcXVlcnkgPSBcIlwiO1xuICAgICAgdmFyIGNvdW50ID0gMDtcbiAgICAgIGFuZ3VsYXIuZm9yRWFjaChwb2RzLCAoaXRlbSkgPT4ge1xuICAgICAgICB2YXIgaWQgPSBnZXROYW1lKGl0ZW0pO1xuICAgICAgICBpZiAoaWQpIHtcbiAgICAgICAgICB2YXIgc3BhY2UgPSBxdWVyeSA/IFwiIE9SIFwiIDogXCJcIjtcbiAgICAgICAgICBjb3VudCsrO1xuICAgICAgICAgIHF1ZXJ5ICs9IHNwYWNlICsgJ1wiJyArIGlkICsgJ1wiJztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAocXVlcnkpIHtcbiAgICAgICAgaWYgKGNvdW50ID4gMSkge1xuICAgICAgICAgIHF1ZXJ5ID0gXCIoXCIgKyBxdWVyeSArIFwiKVwiO1xuICAgICAgICB9XG4gICAgICAgIHF1ZXJ5ID0gJ2t1YmVybmV0ZXMubmFtZXNwYWNlOlwiJyArIG5hbWVzcGFjZSArICdcIiBBTkQga3ViZXJuZXRlcy5wb2RfbmFtZTonICsgcXVlcnk7XG4gICAgICAgIGxpbmsgKz0gXCI/X2E9KHF1ZXJ5OihxdWVyeV9zdHJpbmc6KHF1ZXJ5OidcIiArIHF1ZXJ5ICsgXCInKSkpXCI7XG4gICAgICAgIHZhciBuZXdXaW5kb3cgPSAkd2luZG93Lm9wZW4obGluaywgXCJ2aWV3TG9nc1wiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gcmVzaXplQ29udHJvbGxlcigkaHR0cCwgS3ViZXJuZXRlc0FwaVVSTCwgcmVwbGljYXRpb25Db250cm9sbGVyLCBuZXdSZXBsaWNhcywgb25Db21wbGV0ZUZuID0gbnVsbCkge1xuICAgIHZhciBpZCA9IGdldE5hbWUocmVwbGljYXRpb25Db250cm9sbGVyKTtcbiAgICB2YXIgbmFtZXNwYWNlID0gZ2V0TmFtZXNwYWNlKHJlcGxpY2F0aW9uQ29udHJvbGxlcikgfHwgXCJcIjtcbiAgICB2YXIgdXJsID0ga3ViZXJuZXRlc1VybEZvcktpbmQoS3ViZXJuZXRlc0FwaVVSTCwgXCJSZXBsaWNhdGlvbkNvbnRyb2xsZXJcIiwgbmFtZXNwYWNlLCBpZCk7XG4gICAgJGh0dHAuZ2V0KHVybCkuXG4gICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgIHZhciBkZXNpcmVkU3RhdGUgPSBkYXRhLnNwZWM7XG4gICAgICAgICAgaWYgKCFkZXNpcmVkU3RhdGUpIHtcbiAgICAgICAgICAgIGRlc2lyZWRTdGF0ZSA9IHt9O1xuICAgICAgICAgICAgZGF0YS5zcGVjID0gZGVzaXJlZFN0YXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkZXNpcmVkU3RhdGUucmVwbGljYXMgPSBuZXdSZXBsaWNhcztcbiAgICAgICAgICAkaHR0cC5wdXQodXJsLCBkYXRhKS5cbiAgICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgIGxvZy5kZWJ1ZyhcInVwZGF0ZWQgY29udHJvbGxlciBcIiArIHVybCk7XG4gICAgICAgICAgICAgIGlmIChhbmd1bGFyLmlzRnVuY3Rpb24ob25Db21wbGV0ZUZuKSkge1xuICAgICAgICAgICAgICAgIG9uQ29tcGxldGVGbigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KS5cbiAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIHNhdmUgXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pLlxuICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGxvYWQgXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBzdGF0dXNUZXh0VG9Dc3NDbGFzcyh0ZXh0KSB7XG4gICAgaWYgKHRleHQpIHtcbiAgICAgIHZhciBsb3dlciA9IHRleHQudG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmIChsb3dlci5zdGFydHNXaXRoKFwicnVuXCIpIHx8IGxvd2VyLnN0YXJ0c1dpdGgoXCJva1wiKSkge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLXBsYXktY2lyY2xlIGdyZWVuJztcbiAgICAgIH0gZWxzZSBpZiAobG93ZXIuc3RhcnRzV2l0aChcIndhaXRcIikgfHwgbG93ZXIuc3RhcnRzV2l0aChcInBlbmRcIikpIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1kb3dubG9hZCc7XG4gICAgICB9IGVsc2UgaWYgKGxvd2VyLnN0YXJ0c1dpdGgoXCJ0ZXJtXCIpIHx8IGxvd2VyLnN0YXJ0c1dpdGgoXCJlcnJvclwiKSB8fCBsb3dlci5zdGFydHNXaXRoKFwiZmFpbFwiKSkge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLW9mZiBvcmFuZ2UnO1xuICAgICAgfSBlbHNlIGlmIChsb3dlci5zdGFydHNXaXRoKFwic3VjY2VlZGVkXCIpKSB7XG4gICAgICAgIHJldHVybiAnZmEgZmEtY2hlY2stY2lyY2xlLW8gZ3JlZW4nO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gJ2ZhIGZhLXF1ZXN0aW9uIHJlZCc7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gcG9kU3RhdHVzKHBvZCkge1xuICAgIHJldHVybiBnZXRTdGF0dXMocG9kKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBcHBWaWV3UG9kQ291bnRlcnMoYXBwVmlldykge1xuICAgIHZhciBhcnJheSA9IFtdO1xuICAgIHZhciBtYXAgPSB7fTtcbiAgICB2YXIgcG9kcyA9IGFwcFZpZXcucG9kcztcbiAgICB2YXIgbG93ZXN0RGF0ZSA9IG51bGw7XG4gICAgYW5ndWxhci5mb3JFYWNoKHBvZHMsIHBvZCA9PiB7XG4gICAgICB2YXIgc2VsZWN0b3IgPSBnZXRMYWJlbHMocG9kKTtcbiAgICAgIHZhciBzZWxlY3RvclRleHQgPSBLdWJlcm5ldGVzLmxhYmVsc1RvU3RyaW5nKHNlbGVjdG9yLCBcIiBcIik7XG4gICAgICB2YXIgYW5zd2VyID0gbWFwW3NlbGVjdG9yXTtcbiAgICAgIGlmICghYW5zd2VyKSB7XG4gICAgICAgIGFuc3dlciA9IHtcbiAgICAgICAgICBsYWJlbFRleHQ6IHNlbGVjdG9yVGV4dCxcbiAgICAgICAgICBwb2RzTGluazogQ29yZS51cmwoXCIva3ViZXJuZXRlcy9wb2RzP3E9XCIgKyBlbmNvZGVVUklDb21wb25lbnQoc2VsZWN0b3JUZXh0KSksXG4gICAgICAgICAgdmFsaWQ6IDAsXG4gICAgICAgICAgd2FpdGluZzogMCxcbiAgICAgICAgICBlcnJvcjogMFxuICAgICAgICB9O1xuICAgICAgICBtYXBbc2VsZWN0b3JdID0gYW5zd2VyO1xuICAgICAgICBhcnJheS5wdXNoKGFuc3dlcik7XG4gICAgICB9XG4gICAgICB2YXIgc3RhdHVzID0gKHBvZFN0YXR1cyhwb2QpIHx8IFwiRXJyb3JcIikudG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmIChzdGF0dXMuc3RhcnRzV2l0aChcInJ1blwiKSB8fCBzdGF0dXMuc3RhcnRzV2l0aChcIm9rXCIpKSB7XG4gICAgICAgIGFuc3dlci52YWxpZCArPSAxO1xuICAgICAgfSBlbHNlIGlmIChzdGF0dXMuc3RhcnRzV2l0aChcIndhaXRcIikgfHwgc3RhdHVzLnN0YXJ0c1dpdGgoXCJwd25kXCIpKSB7XG4gICAgICAgIGFuc3dlci53YWl0aW5nICs9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbnN3ZXIuZXJyb3IgKz0gMTtcbiAgICAgIH1cbiAgICAgIHZhciBjcmVhdGlvblRpbWVzdGFtcCA9IGdldENyZWF0aW9uVGltZXN0YW1wKHBvZCk7XG4gICAgICBpZiAoY3JlYXRpb25UaW1lc3RhbXApIHtcbiAgICAgICAgdmFyIGQgPSBuZXcgRGF0ZShjcmVhdGlvblRpbWVzdGFtcCk7XG4gICAgICAgIGlmICghbG93ZXN0RGF0ZSB8fCBkIDwgbG93ZXN0RGF0ZSkge1xuICAgICAgICAgIGxvd2VzdERhdGUgPSBkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgYXBwVmlldy4kY3JlYXRpb25EYXRlID0gbG93ZXN0RGF0ZTtcbiAgICByZXR1cm4gYXJyYXk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gY3JlYXRlQXBwVmlld1NlcnZpY2VWaWV3cyhhcHBWaWV3KSB7XG4gICAgdmFyIGFycmF5ID0gW107XG4gICAgdmFyIHBvZHMgPSBhcHBWaWV3LnBvZHM7XG4gICAgYW5ndWxhci5mb3JFYWNoKHBvZHMsIHBvZCA9PiB7XG4gICAgICB2YXIgaWQgPSBnZXROYW1lKHBvZCk7XG4gICAgICBpZiAoaWQpIHtcbiAgICAgICAgdmFyIGFiYnJldiA9IGlkO1xuICAgICAgICB2YXIgaWR4ID0gaWQuaW5kZXhPZihcIi1cIik7XG4gICAgICAgIGlmIChpZHggPiAxKSB7XG4gICAgICAgICAgYWJicmV2ID0gaWQuc3Vic3RyaW5nKDAsIGlkeCk7XG4gICAgICAgIH1cbiAgICAgICAgcG9kLmlkQWJicmV2ID0gYWJicmV2O1xuICAgICAgfVxuICAgICAgcG9kLnN0YXR1c0NsYXNzID0gc3RhdHVzVGV4dFRvQ3NzQ2xhc3MocG9kU3RhdHVzKHBvZCkpO1xuICAgIH0pO1xuXG4gICAgdmFyIHNlcnZpY2VzID0gYXBwVmlldy5zZXJ2aWNlcyB8fCBbXTtcbiAgICB2YXIgcmVwbGljYXRpb25Db250cm9sbGVycyA9IGFwcFZpZXcucmVwbGljYXRpb25Db250cm9sbGVycyB8fCBbXTtcbiAgICB2YXIgc2l6ZSA9IE1hdGgubWF4KHNlcnZpY2VzLmxlbmd0aCwgcmVwbGljYXRpb25Db250cm9sbGVycy5sZW5ndGgsIDEpO1xuICAgIHZhciBhcHBOYW1lID0gYXBwVmlldy4kaW5mby5uYW1lO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7XG4gICAgICB2YXIgc2VydmljZSA9IHNlcnZpY2VzW2ldO1xuICAgICAgdmFyIHJlcGxpY2F0aW9uQ29udHJvbGxlciA9IHJlcGxpY2F0aW9uQ29udHJvbGxlcnNbaV07XG4gICAgICB2YXIgY29udHJvbGxlcklkID0gZ2V0TmFtZShyZXBsaWNhdGlvbkNvbnRyb2xsZXIpO1xuICAgICAgdmFyIG5hbWUgPSBnZXROYW1lKHNlcnZpY2UpIHx8IGNvbnRyb2xsZXJJZDtcbiAgICAgIHZhciBhZGRyZXNzID0gQ29yZS5wYXRoR2V0KHNlcnZpY2UsIFtcInNwZWNcIiwgXCJwb3J0YWxJUFwiXSk7XG4gICAgICBpZiAoIW5hbWUgJiYgcG9kcy5sZW5ndGgpIHtcbiAgICAgICAgbmFtZSA9IHBvZHNbMF0uaWRBYmJyZXY7XG4gICAgICB9XG4gICAgICBpZiAoIWFwcFZpZXcuJGluZm8ubmFtZSkge1xuICAgICAgICBhcHBWaWV3LiRpbmZvLm5hbWUgPSBuYW1lO1xuICAgICAgfVxuICAgICAgaWYgKCFhcHBWaWV3LmlkICYmIHBvZHMubGVuZ3RoKSB7XG4gICAgICAgIGFwcFZpZXcuaWQgPSBnZXROYW1lKHBvZHNbMF0pO1xuICAgICAgfVxuICAgICAgaWYgKGkgPiAwKSB7XG4gICAgICAgIGFwcE5hbWUgPSBuYW1lO1xuICAgICAgfVxuICAgICAgdmFyIHBvZENvdW50ID0gcG9kcy5sZW5ndGg7XG4gICAgICB2YXIgcG9kQ291bnRUZXh0ID0gcG9kQ291bnQgKyBcIiBwb2RcIiArIChwb2RDb3VudCA+IDEgPyBcInNcIiA6IFwiXCIpO1xuICAgICAgdmFyIHZpZXcgPSB7XG4gICAgICAgIGFwcE5hbWU6IGFwcE5hbWUgfHwgbmFtZSxcbiAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgY3JlYXRlZERhdGU6IGFwcFZpZXcuJGNyZWF0aW9uRGF0ZSxcbiAgICAgICAgcG9kQ291bnQ6IHBvZENvdW50LFxuICAgICAgICBwb2RDb3VudFRleHQ6IHBvZENvdW50VGV4dCxcbiAgICAgICAgYWRkcmVzczogYWRkcmVzcyxcbiAgICAgICAgY29udHJvbGxlcklkOiBjb250cm9sbGVySWQsXG4gICAgICAgIHNlcnZpY2U6IHNlcnZpY2UsXG4gICAgICAgIHJlcGxpY2F0aW9uQ29udHJvbGxlcjogcmVwbGljYXRpb25Db250cm9sbGVyLFxuICAgICAgICBwb2RzOiBwb2RzXG4gICAgICB9O1xuICAgICAgYXJyYXkucHVzaCh2aWV3KTtcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5O1xuICB9XG5cbiAgLyoqXG4gICAqIGNvbnZlcnRzIGEgZ2l0IHBhdGggaW50byBhbiBhY2Nlc3NpYmxlIFVSTCBmb3IgdGhlIGJyb3dzZXJcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBnaXRQYXRoVG9VcmwoaWNvblBhdGgsIGJyYW5jaCA9IFwibWFzdGVyXCIpIHtcbiAgICByZXR1cm4gKEhhd3Rpb0NvcmUuaW5qZWN0b3IuZ2V0KCdBcHBMaWJyYXJ5VVJMJykgfHwgJycpICsgXCIvZ2l0L1wiICsgYnJhbmNoICsgaWNvblBhdGg7XG4gIH1cblxuXG4gIGV4cG9ydCBmdW5jdGlvbiBlbnJpY2hCdWlsZENvbmZpZyhidWlsZENvbmZpZywgc29ydGVkQnVpbGRzKSB7XG4gICAgaWYgKGJ1aWxkQ29uZmlnKSB7XG4gICAgICB2YXIgdHJpZ2dlclVybDpzdHJpbmcgPSBudWxsO1xuICAgICAgdmFyIG1ldGFkYXRhID0gYnVpbGRDb25maWcubWV0YWRhdGEgfHwge307XG4gICAgICB2YXIgbmFtZSA9IG1ldGFkYXRhLm5hbWU7XG4gICAgICBidWlsZENvbmZpZy4kbmFtZSA9IG5hbWU7XG4gICAgICB2YXIgbnMgPSBtZXRhZGF0YS5uYW1lc3BhY2UgfHwgY3VycmVudEt1YmVybmV0ZXNOYW1lc3BhY2UoKTtcbiAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgIGJ1aWxkQ29uZmlnLiR2aWV3TGluayA9IFVybEhlbHBlcnMuam9pbihcIndvcmtzcGFjZXNcIiwgbnMsIFwicHJvamVjdHNcIiwgbmFtZSk7XG5cbiAgICAgICAgYW5ndWxhci5mb3JFYWNoKFtmYWxzZSwgdHJ1ZV0sIChmbGFnKSA9PiB7XG4gICAgICAgICAgYW5ndWxhci5mb3JFYWNoKGJ1aWxkQ29uZmlnLnRyaWdnZXJzLCAodHJpZ2dlcikgPT4ge1xuICAgICAgICAgICAgaWYgKCF0cmlnZ2VyVXJsKSB7XG4gICAgICAgICAgICAgIHZhciB0eXBlID0gdHJpZ2dlci50eXBlO1xuICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gXCJnZW5lcmljXCIgfHwgZmxhZykge1xuICAgICAgICAgICAgICAgIHZhciBnZW5lcmljID0gdHJpZ2dlclt0eXBlXTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSAmJiBnZW5lcmljKSB7XG4gICAgICAgICAgICAgICAgICB2YXIgc2VjcmV0ID0gZ2VuZXJpYy5zZWNyZXQ7XG4gICAgICAgICAgICAgICAgICBpZiAoc2VjcmV0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRyaWdnZXJVcmwgPSBVcmxIZWxwZXJzLmpvaW4oYnVpbGRDb25maWdIb29rc1Jlc3RVUkwoKSwgbmFtZSwgc2VjcmV0LCB0eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRDb25maWcuJHRyaWdnZXJVcmwgPSB0cmlnZ2VyVXJsO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBsZXRzIGZpbmQgdGhlIGxhdGVzdCBidWlsZC4uLlxuICAgICAgICBpZiAoc29ydGVkQnVpbGRzKSB7XG4gICAgICAgICAgYnVpbGRDb25maWcuJGxhc3RCdWlsZCA9IF8uZmluZChzb3J0ZWRCdWlsZHMsIHtcbiAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgIGxhYmVsczoge1xuICAgICAgICAgICAgICAgIGJ1aWxkY29uZmlnOiBuYW1lXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdmFyICRmYWJyaWM4Vmlld3MgPSB7fTtcblxuICAgICAgZnVuY3Rpb24gZGVmYXVsdFByb3BlcnRpZXNJZk5vdEV4aXN0KG5hbWUsIG9iamVjdCwgYXV0b0NyZWF0ZSA9IGZhbHNlKSB7XG4gICAgICAgIHZhciB2aWV3ID0gJGZhYnJpYzhWaWV3c1tuYW1lXTtcbiAgICAgICAgaWYgKGF1dG9DcmVhdGUgJiYgIXZpZXcpIHtcbiAgICAgICAgICB2aWV3ID0ge31cbiAgICAgICAgICAkZmFicmljOFZpZXdzW25hbWVdID0gdmlldztcbiAgICAgICAgfVxuICAgICAgICBpZiAodmlldykge1xuICAgICAgICAgIGFuZ3VsYXIuZm9yRWFjaChvYmplY3QsICh2YWx1ZSwgcHJvcGVydHkpID0+IHtcbiAgICAgICAgICAgIHZhciBjdXJyZW50ID0gdmlld1twcm9wZXJ0eV07XG4gICAgICAgICAgICBpZiAoIWN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgdmlld1twcm9wZXJ0eV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBkZWZhdWx0UHJvcGVydGllc0lmTm90RXhpc3RTdGFydHNXaXRoKHByZWZpeCwgb2JqZWN0LCBhdXRvQ3JlYXRlID0gZmFsc2UpIHtcbiAgICAgICAgYW5ndWxhci5mb3JFYWNoKCRmYWJyaWM4Vmlld3MsICh2aWV3LCBuYW1lKSA9PiB7XG4gICAgICAgICAgaWYgKHZpZXcgJiYgbmFtZS5zdGFydHNXaXRoKHByZWZpeCkpIHtcbiAgICAgICAgICAgIGFuZ3VsYXIuZm9yRWFjaChvYmplY3QsICh2YWx1ZSwgcHJvcGVydHkpID0+IHtcbiAgICAgICAgICAgICAgdmFyIGN1cnJlbnQgPSB2aWV3W3Byb3BlcnR5XTtcbiAgICAgICAgICAgICAgaWYgKCFjdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgdmlld1twcm9wZXJ0eV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdmFyIGxhYmVscyA9IG1ldGFkYXRhLmxhYmVscyB8fCB7fTtcbiAgICAgIHZhciBhbm5vdGF0aW9ucyA9IG1ldGFkYXRhLmFubm90YXRpb25zIHx8IHt9O1xuXG4gICAgICAvLyBsZXRzIGRlZmF1bHQgdGhlIHJlcG8gYW5kIHVzZXJcbiAgICAgIGJ1aWxkQ29uZmlnLiR1c2VyID0gYW5ub3RhdGlvbnNbXCJmYWJyaWM4LmplbmtpbnMvdXNlclwiXSB8fCBsYWJlbHNbXCJ1c2VyXCJdO1xuICAgICAgYnVpbGRDb25maWcuJHJlcG8gPSBhbm5vdGF0aW9uc1tcImZhYnJpYzguamVua2lucy9yZXBvXCJdIHx8IGxhYmVsc1tcInJlcG9cIl07XG5cbiAgICAgIGFuZ3VsYXIuZm9yRWFjaChhbm5vdGF0aW9ucywgKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgdmFyIHBhcnRzID0ga2V5LnNwbGl0KCcvJywgMik7XG4gICAgICAgIGlmIChwYXJ0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgdmFyIGxpbmtJZCA9IHBhcnRzWzBdO1xuICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IHBhcnRzWzFdO1xuICAgICAgICAgIGlmIChsaW5rSWQgJiYgcHJvcGVydHkgJiYgbGlua0lkLnN0YXJ0c1dpdGgoXCJmYWJyaWM4LmxpbmtcIikpIHtcbiAgICAgICAgICAgIHZhciBsaW5rID0gJGZhYnJpYzhWaWV3c1tsaW5rSWRdO1xuICAgICAgICAgICAgaWYgKCFsaW5rKSB7XG4gICAgICAgICAgICAgIGxpbmsgPSB7XG4gICAgICAgICAgICAgICAgY2xhc3M6IGxpbmtJZFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAkZmFicmljOFZpZXdzW2xpbmtJZF0gPSBsaW5rO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGlua1twcm9wZXJ0eV0gPSB2YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoYnVpbGRDb25maWcuJHVzZXIgJiYgYnVpbGRDb25maWcuJHJlcG8pIHtcbiAgICAgICAgLy8gYnJvd3NlIGdvZ3MgcmVwbyB2aWV3XG4gICAgICAgIHZhciBnb2dzVXJsID0gc2VydmljZUxpbmtVcmwoZ29nc1NlcnZpY2VOYW1lKTtcbiAgICAgICAgaWYgKGdvZ3NVcmwpIHtcbiAgICAgICAgICBkZWZhdWx0UHJvcGVydGllc0lmTm90RXhpc3QoXCJmYWJyaWM4LmxpbmsuYnJvd3NlR29ncy52aWV3XCIsIHtcbiAgICAgICAgICAgIGxhYmVsOiBcIkJyb3dzZS4uLlwiLFxuICAgICAgICAgICAgdXJsOiBVcmxIZWxwZXJzLmpvaW4oZ29nc1VybCwgYnVpbGRDb25maWcuJHVzZXIsIGJ1aWxkQ29uZmlnLiRyZXBvKSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkJyb3dzZSB0aGUgc291cmNlIGNvZGUgb2YgdGhpcyByZXBvc2l0b3J5XCIsXG4gICAgICAgICAgICBpY29uQ2xhc3M6IFwiZmEgZmEtZXh0ZXJuYWwtbGlua1wiXG4gICAgICAgICAgfSwgdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBydW4gZm9yZ2UgY29tbWFuZHMgdmlld1xuICAgICAgICBkZWZhdWx0UHJvcGVydGllc0lmTm90RXhpc3QoXCJmYWJyaWM4LmxpbmsuZm9yZ2VDb21tYW5kLnZpZXdcIiwge1xuICAgICAgICAgIGxhYmVsOiBcIkNvbW1hbmQuLi5cIixcbiAgICAgICAgICB1cmw6IFVybEhlbHBlcnMuam9pbihcIi9mb3JnZS9jb21tYW5kcy91c2VyXCIsIGJ1aWxkQ29uZmlnLiR1c2VyLCBidWlsZENvbmZpZy4kcmVwbyksXG4gICAgICAgICAgZGVzY3JpcHRpb246IFwiUGVyZm9ybSBhbiBhY3Rpb24gb24gdGhpcyBwcm9qZWN0XCIsXG4gICAgICAgICAgaWNvbkNsYXNzOiBcImZhIGZhLXBsYXktY2lyY2xlXCJcbiAgICAgICAgfSwgdHJ1ZSk7XG5cblxuICAgICAgICAvLyBjb25maWd1cmUgZGV2b3BzIHZpZXdcbiAgICAgICAgZGVmYXVsdFByb3BlcnRpZXNJZk5vdEV4aXN0KFwiZmFicmljOC5saW5rLmZvcmdlQ29tbWFuZC5kZXZvcHMuc2V0dGluZ3NcIiwge1xuICAgICAgICAgIGxhYmVsOiBcIlNldHRpbmdzXCIsXG4gICAgICAgICAgdXJsOiBVcmxIZWxwZXJzLmpvaW4oXCIvZm9yZ2UvY29tbWFuZC9kZXZvcHMtZWRpdC91c2VyXCIsIGJ1aWxkQ29uZmlnLiR1c2VyLCBidWlsZENvbmZpZy4kcmVwbyksXG4gICAgICAgICAgZGVzY3JpcHRpb246IFwiQ29uZmlndXJlIHRoZSBEZXZPcHMgc2V0dGluZ3MgZm9yIHRoaXMgcHJvamVjdFwiLFxuICAgICAgICAgIGljb25DbGFzczogXCJmYSBmYS1wZW5jaWwtc3F1YXJlLW9cIlxuICAgICAgICB9LCB0cnVlKTtcblxuICAgICAgfVxuXG4gICAgICAvLyBhZGQgc29tZSBpY29ucyBhbmQgZGVzY3JpcHRpb25zXG4gICAgICBkZWZhdWx0UHJvcGVydGllc0lmTm90RXhpc3QoXCJmYWJyaWM4LmxpbmsucmVwb3NpdG9yeS5icm93c2VcIiwge1xuICAgICAgICBsYWJlbDogXCJCcm93c2UuLi5cIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiQnJvd3NlIHRoZSBzb3VyY2UgY29kZSBvZiB0aGlzIHJlcG9zaXRvcnlcIixcbiAgICAgICAgaWNvbkNsYXNzOiBcImZhIGZhLWV4dGVybmFsLWxpbmtcIlxuICAgICAgfSk7XG4gICAgICBkZWZhdWx0UHJvcGVydGllc0lmTm90RXhpc3QoXCJmYWJyaWM4LmxpbmsuamVua2lucy5qb2JcIiwge1xuICAgICAgICBpY29uQ2xhc3M6IFwiZmEgZmEtdGFza3NcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiVmlldyB0aGUgSmVua2lucyBKb2IgZm9yIHRoaXMgYnVpbGRcIlxuICAgICAgfSk7XG4gICAgICBkZWZhdWx0UHJvcGVydGllc0lmTm90RXhpc3QoXCJmYWJyaWM4LmxpbmsuamVua2lucy5tb25pdG9yXCIsIHtcbiAgICAgICAgaWNvbkNsYXNzOiBcImZhIGZhLXRhY2hvbWV0ZXJcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiVmlldyB0aGUgSmVua2lucyBNb25pdG9yIGRhc2hib2FyZCBmb3IgdGhpcyBwcm9qZWN0XCJcbiAgICAgIH0pO1xuICAgICAgZGVmYXVsdFByb3BlcnRpZXNJZk5vdEV4aXN0KFwiZmFicmljOC5saW5rLmplbmtpbnMucGlwZWxpbmVcIiwge1xuICAgICAgICBpY29uQ2xhc3M6IFwiZmEgZmEtYXJyb3ctY2lyY2xlLW8tcmlnaHRcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiVmlldyB0aGUgSmVua2lucyBQaXBlbGluZSBmb3IgdGhpcyBwcm9qZWN0XCJcbiAgICAgIH0pO1xuICAgICAgZGVmYXVsdFByb3BlcnRpZXNJZk5vdEV4aXN0KFwiZmFicmljOC5saW5rLmxldHNjaGF0LnJvb21cIiwge1xuICAgICAgICBpY29uQ2xhc3M6IFwiZmEgZmEtY29tbWVudFwiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJDaGF0IHJvb20gZm9yIHRoaXMgcHJvamVjdFwiXG4gICAgICB9KTtcbiAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzSWZOb3RFeGlzdChcImZhYnJpYzgubGluay5sZXRzY2hhdC5yb29tXCIsIHtcbiAgICAgICAgaWNvbkNsYXNzOiBcImZhIGZhLWNvbW1lbnRcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiQ2hhdCByb29tIGZvciB0aGlzIHByb2plY3RcIlxuICAgICAgfSk7XG4gICAgICBkZWZhdWx0UHJvcGVydGllc0lmTm90RXhpc3QoXCJmYWJyaWM4LmxpbmsudGFpZ2FcIiwge1xuICAgICAgICBpY29uQ2xhc3M6IFwiZmEgZmEtY2hlY2stc3F1YXJlLW9cIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiSXNzdWUgdHJhY2tlciBmb3IgdGhpcyBwcm9qZWN0XCJcbiAgICAgIH0pO1xuICAgICAgZGVmYXVsdFByb3BlcnRpZXNJZk5vdEV4aXN0KFwiZmFicmljOC5saW5rLmlzc3Vlc1wiLCB7XG4gICAgICAgIGljb25DbGFzczogXCJmYSBmYS1jaGVjay1zcXVhcmUtb1wiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJJc3N1ZXMgZm9yIHRoaXMgcHJvamVjdFwiXG4gICAgICB9KTtcbiAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzSWZOb3RFeGlzdChcImZhYnJpYzgubGluay5yZWxlYXNlc1wiLCB7XG4gICAgICAgIGljb25DbGFzczogXCJmYSBmYS10YWdcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiSXNzdWVzIGZvciB0aGlzIHByb2plY3RcIlxuICAgICAgfSk7XG4gICAgICBkZWZhdWx0UHJvcGVydGllc0lmTm90RXhpc3QoXCJmYWJyaWM4LmxpbmsudGFpZ2EudGVhbVwiLCB7XG4gICAgICAgIGljb25DbGFzczogXCJmYSBmYS11c2Vyc1wiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJUZWFtIG1lbWJlcnMgZm9yIHRoaXMgcHJvamVjdFwiXG4gICAgICB9KTtcbiAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzSWZOb3RFeGlzdChcImZhYnJpYzgubGluay50ZWFtXCIsIHtcbiAgICAgICAgaWNvbkNsYXNzOiBcImZhIGZhLXVzZXJzXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlRlYW0gbWVtYmVycyBmb3IgdGhpcyBwcm9qZWN0XCJcbiAgICAgIH0pO1xuICAgICAgZGVmYXVsdFByb3BlcnRpZXNJZk5vdEV4aXN0U3RhcnRzV2l0aChcImZhYnJpYzgubGluay5lbnZpcm9ubWVudC5cIiwge1xuICAgICAgICBpY29uQ2xhc3M6IFwiZmEgZmEtY2xvdWRcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGt1YmVybmV0ZXMgbmFtZXNwYWNlIGZvciB0aGlzIGVudmlyb25tZW50XCJcbiAgICAgIH0pO1xuXG5cbiAgICAgIC8vIGxldHMgcHV0IHRoZSB2aWV3cyBpbnRvIHNlY3Rpb25zLi4uXG4gICAgICB2YXIgJGZhYnJpYzhDb2RlVmlld3MgPSB7fTtcbiAgICAgIHZhciAkZmFicmljOEJ1aWxkVmlld3MgPSB7fTtcbiAgICAgIHZhciAkZmFicmljOFRlYW1WaWV3cyA9IHt9O1xuICAgICAgdmFyICRmYWJyaWM4RW52aXJvbm1lbnRWaWV3cyA9IHt9O1xuICAgICAgYW5ndWxhci5mb3JFYWNoKCRmYWJyaWM4Vmlld3MsICh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgIHZhciB2aWV3O1xuICAgICAgICBpZiAoa2V5LmluZGV4T2YoXCJ0YWlnYVwiKSA+IDAgfHwga2V5LmluZGV4T2YoXCIuaXNzdWVcIikgPiAwIHx8IGtleS5pbmRleE9mKFwibGV0c2NoYXRcIikgPiAwfHwga2V5LmluZGV4T2YoXCIudGVhbVwiKSA+IDApIHtcbiAgICAgICAgICB2aWV3ID0gJGZhYnJpYzhUZWFtVmlld3M7XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5LmluZGV4T2YoXCJqZW5raW5zXCIpID4gMCkge1xuICAgICAgICAgIHZpZXcgPSAkZmFicmljOEJ1aWxkVmlld3M7XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5LmluZGV4T2YoXCIuZW52aXJvbm1lbnQuXCIpID4gMCkge1xuICAgICAgICAgIHZpZXcgPSAkZmFicmljOEVudmlyb25tZW50Vmlld3M7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmlldyA9ICRmYWJyaWM4Q29kZVZpZXdzO1xuICAgICAgICB9XG4gICAgICAgIHZpZXdba2V5XSA9IHZhbHVlO1xuICAgICAgfSk7XG5cblxuICAgICAgYnVpbGRDb25maWcuJGZhYnJpYzhWaWV3cyA9ICRmYWJyaWM4Vmlld3M7XG4gICAgICBidWlsZENvbmZpZy4kZmFicmljOENvZGVWaWV3cyA9ICRmYWJyaWM4Q29kZVZpZXdzO1xuICAgICAgYnVpbGRDb25maWcuJGZhYnJpYzhCdWlsZFZpZXdzID0gJGZhYnJpYzhCdWlsZFZpZXdzO1xuICAgICAgYnVpbGRDb25maWcuJGZhYnJpYzhFbnZpcm9ubWVudFZpZXdzID0gJGZhYnJpYzhFbnZpcm9ubWVudFZpZXdzO1xuICAgICAgYnVpbGRDb25maWcuJGZhYnJpYzhUZWFtVmlld3MgPSAkZmFicmljOFRlYW1WaWV3cztcblxuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBlbnJpY2hCdWlsZENvbmZpZ3MoYnVpbGRDb25maWdzLCBzb3J0ZWRCdWlsZHMgPSBudWxsKSB7XG4gICAgYW5ndWxhci5mb3JFYWNoKGJ1aWxkQ29uZmlncywgKGJ1aWxkQ29uZmlnKSA9PiB7XG4gICAgICBlbnJpY2hCdWlsZENvbmZpZyhidWlsZENvbmZpZywgc29ydGVkQnVpbGRzKTtcbiAgICB9KTtcbiAgICByZXR1cm4gYnVpbGRDb25maWdzO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGVucmljaEJ1aWxkcyhidWlsZHMpIHtcbiAgICBhbmd1bGFyLmZvckVhY2goYnVpbGRzLCAoYnVpbGQpID0+IHtcbiAgICAgIGVucmljaEJ1aWxkKGJ1aWxkKTtcbiAgICB9KTtcbiAgICByZXR1cm4gXy5zb3J0QnkoYnVpbGRzLCBcIiRjcmVhdGlvbkRhdGVcIikucmV2ZXJzZSgpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGVucmljaEJ1aWxkKGJ1aWxkKSB7XG4gICAgaWYgKGJ1aWxkKSB7XG4gICAgICB2YXIgbWV0YWRhdGEgPSBidWlsZC5tZXRhZGF0YSB8fCB7fTtcbiAgICAgIHZhciBuYW1lID0gZ2V0TmFtZShidWlsZCk7XG4gICAgICB2YXIgbmFtZXNwYWNlID0gZ2V0TmFtZXNwYWNlKGJ1aWxkKTtcbiAgICAgIGJ1aWxkLiRuYW1lID0gbmFtZTtcbiAgICAgIGJ1aWxkLiRuYW1lc3BhY2UgPSBuYW1lc3BhY2U7XG5cbiAgICAgIHZhciBuYW1lQXJyYXkgPSBuYW1lLnNwbGl0KFwiLVwiKTtcbiAgICAgIHZhciBuYW1lQXJyYXlMZW5ndGggPSBuYW1lQXJyYXkubGVuZ3RoO1xuICAgICAgYnVpbGQuJHNob3J0TmFtZSA9IChuYW1lQXJyYXlMZW5ndGggPiA0KSA/IG5hbWVBcnJheS5zbGljZSgwLCBuYW1lQXJyYXlMZW5ndGggLSA0KS5qb2luKFwiLVwiKSA6IG5hbWUuc3Vic3RyaW5nKDAsIDMwKTtcblxuICAgICAgdmFyIGxhYmVscyA9IGdldExhYmVscyhyb3V0ZSk7XG4gICAgICB2YXIgY29uZmlnSWQgPSBsYWJlbHMuYnVpbGRjb25maWc7XG4gICAgICBidWlsZC4kY29uZmlnSWQgPSBjb25maWdJZDtcbiAgICAgIGlmIChjb25maWdJZCkge1xuICAgICAgICAvL2J1aWxkLiRjb25maWdMaW5rID0gVXJsSGVscGVycy5qb2luKFwia3ViZXJuZXRlcy9idWlsZENvbmZpZ3NcIiwgY29uZmlnSWQpO1xuICAgICAgICBidWlsZC4kY29uZmlnTGluayA9IFVybEhlbHBlcnMuam9pbihcIndvcmtzcGFjZXNcIiwgY3VycmVudEt1YmVybmV0ZXNOYW1lc3BhY2UoKSwgXCJwcm9qZWN0c1wiLCBjb25maWdJZCk7XG4gICAgICB9XG4gICAgICB2YXIgY3JlYXRpb25UaW1lc3RhbXAgPSBnZXRDcmVhdGlvblRpbWVzdGFtcChidWlsZCk7XG4gICAgICBpZiAoY3JlYXRpb25UaW1lc3RhbXApIHtcbiAgICAgICAgdmFyIGQgPSBuZXcgRGF0ZShjcmVhdGlvblRpbWVzdGFtcCk7XG4gICAgICAgIGJ1aWxkLiRjcmVhdGlvbkRhdGUgPSBkO1xuICAgICAgfVxuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgLy9idWlsZC4kdmlld0xpbmsgPSBVcmxIZWxwZXJzLmpvaW4oXCJrdWJlcm5ldGVzL2J1aWxkc1wiLCBuYW1lKTtcbiAgICAgICAgYnVpbGQuJHZpZXdMaW5rID0gVXJsSGVscGVycy5qb2luKFwid29ya3NwYWNlc1wiLCBjdXJyZW50S3ViZXJuZXRlc05hbWVzcGFjZSgpLCBcInByb2plY3RzXCIsIGNvbmZpZ0lkLCBcImJ1aWxkc1wiLCBuYW1lKTtcbiAgICAgICAgYnVpbGQuJGxvZ3NMaW5rID0gVXJsSGVscGVycy5qb2luKFwia3ViZXJuZXRlcy9idWlsZExvZ3NcIiwgbmFtZSk7XG4gICAgICB9XG4gICAgICB2YXIgcG9kTmFtZSA9IGJ1aWxkLnBvZE5hbWU7XG4gICAgICBpZiAocG9kTmFtZSAmJiBuYW1lc3BhY2UpIHtcbiAgICAgICAgdmFyIHBvZE5hbWVBcnJheSA9IHBvZE5hbWUuc3BsaXQoXCItXCIpO1xuICAgICAgICB2YXIgcG9kTmFtZUFycmF5TGVuZ3RoID0gcG9kTmFtZUFycmF5Lmxlbmd0aFxuICAgICAgICBidWlsZC4kcG9kU2hvcnROYW1lID0gKHBvZE5hbWVBcnJheUxlbmd0aCA+IDUpID8gcG9kTmFtZUFycmF5W3BvZE5hbWVBcnJheUxlbmd0aCAtIDVdIDogcG9kTmFtZS5zdWJzdHJpbmcoMCwgMzApO1xuICAgICAgICBidWlsZC4kcG9kTGluayA9IFVybEhlbHBlcnMuam9pbihcImt1YmVybmV0ZXMvbmFtZXNwYWNlXCIsIG5hbWVzcGFjZSwgXCJwb2RzXCIsIHBvZE5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYnVpbGQ7XG4gIH1cblxuXG4gIGV4cG9ydCBmdW5jdGlvbiBlbnJpY2hEZXBsb3ltZW50Q29uZmlnKGRlcGxveW1lbnRDb25maWcpIHtcbiAgICBpZiAoZGVwbG95bWVudENvbmZpZykge1xuICAgICAgdmFyIHRyaWdnZXJVcmw6c3RyaW5nID0gbnVsbDtcbiAgICAgIHZhciBuYW1lID0gQ29yZS5wYXRoR2V0KGRlcGxveW1lbnRDb25maWcsIFtcIm1ldGFkYXRhXCIsIFwibmFtZVwiXSk7XG4gICAgICBkZXBsb3ltZW50Q29uZmlnLiRuYW1lID0gbmFtZTtcbiAgICAgIHZhciBmb3VuZCA9IGZhbHNlO1xuICAgICAgYW5ndWxhci5mb3JFYWNoKGRlcGxveW1lbnRDb25maWcudHJpZ2dlcnMsICh0cmlnZ2VyKSA9PiB7XG4gICAgICAgIHZhciB0eXBlID0gdHJpZ2dlci50eXBlO1xuICAgICAgICBpZiAoIWRlcGxveW1lbnRDb25maWcuJGltYWdlQ2hhbmdlUGFyYW1zICYmIHR5cGUgPT09IFwiSW1hZ2VDaGFuZ2VcIikge1xuICAgICAgICAgIHZhciBpbWFnZUNoYW5nZVBhcmFtcyA9IHRyaWdnZXIuaW1hZ2VDaGFuZ2VQYXJhbXM7XG4gICAgICAgICAgaWYgKGltYWdlQ2hhbmdlUGFyYW1zKSB7XG4gICAgICAgICAgICB2YXIgY29udGFpbmVyTmFtZXMgPSBpbWFnZUNoYW5nZVBhcmFtcy5jb250YWluZXJOYW1lcyB8fCBbXTtcbiAgICAgICAgICAgIGltYWdlQ2hhbmdlUGFyYW1zLiRjb250YWluZXJOYW1lcyA9IGNvbnRhaW5lck5hbWVzLmpvaW4oXCIgXCIpO1xuICAgICAgICAgICAgZGVwbG95bWVudENvbmZpZy4kaW1hZ2VDaGFuZ2VQYXJhbXMgPSBpbWFnZUNoYW5nZVBhcmFtcztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBlbnJpY2hEZXBsb3ltZW50Q29uZmlncyhkZXBsb3ltZW50Q29uZmlncykge1xuICAgIGFuZ3VsYXIuZm9yRWFjaChkZXBsb3ltZW50Q29uZmlncywgKGRlcGxveW1lbnRDb25maWcpID0+IHtcbiAgICAgIGVucmljaERlcGxveW1lbnRDb25maWcoZGVwbG95bWVudENvbmZpZyk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGRlcGxveW1lbnRDb25maWdzO1xuICB9XG5cblxuICBleHBvcnQgZnVuY3Rpb24gZW5yaWNoRXZlbnQoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIHZhciBtZXRhZGF0YSA9IGV2ZW50Lm1ldGFkYXRhIHx8IHt9O1xuXG4gICAgICB2YXIgZmlyc3RUaW1lc3RhbXAgPSBldmVudC5maXJzdFRpbWVzdGFtcDtcbiAgICAgIGlmIChmaXJzdFRpbWVzdGFtcCkge1xuICAgICAgICB2YXIgZCA9IG5ldyBEYXRlKGZpcnN0VGltZXN0YW1wKTtcbiAgICAgICAgZXZlbnQuJGZpcnN0VGltZXN0YW1wID0gZDtcbiAgICAgIH1cbiAgICAgIHZhciBsYXN0VGltZXN0YW1wID0gZXZlbnQubGFzdFRpbWVzdGFtcDtcbiAgICAgIGlmIChsYXN0VGltZXN0YW1wKSB7XG4gICAgICAgIHZhciBkID0gbmV3IERhdGUobGFzdFRpbWVzdGFtcCk7XG4gICAgICAgIGV2ZW50LiRsYXN0VGltZXN0YW1wID0gZDtcbiAgICAgIH1cbiAgICAgIHZhciBsYWJlbHMgPSBhbmd1bGFyLmNvcHkoZXZlbnQuc291cmNlIHx8IHt9KTtcbiAgICAgIHZhciBpbnZvbHZlZE9iamVjdCA9IGV2ZW50Lmludm9sdmVkT2JqZWN0IHx8IHt9O1xuICAgICAgdmFyIG5hbWUgPSBpbnZvbHZlZE9iamVjdC5uYW1lO1xuICAgICAgdmFyIGtpbmQgPSBpbnZvbHZlZE9iamVjdC5raW5kO1xuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgbGFiZWxzWyduYW1lJ10gPSBuYW1lO1xuICAgICAgfVxuICAgICAgaWYgKGtpbmQpIHtcbiAgICAgICAgbGFiZWxzWydraW5kJ10gPSBraW5kO1xuICAgICAgfVxuICAgICAgZXZlbnQuJGxhYmVsc1RleHQgPSBLdWJlcm5ldGVzLmxhYmVsc1RvU3RyaW5nKGxhYmVscyk7XG5cbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZW5yaWNoRXZlbnRzKGV2ZW50cywgbW9kZWwgPSBudWxsKSB7XG4gICAgYW5ndWxhci5mb3JFYWNoKGV2ZW50cywgKGV2ZW50KSA9PiB7XG4gICAgICBlbnJpY2hFdmVudChldmVudCk7XG4gICAgfSk7XG5cbiAgICAvLyBsZXRzIHVwZGF0ZSBsaW5rcyB0byB0aGUgZXZlbnRzIGZvciBlYWNoIHBvZCBhbmQgUkNcbiAgICBpZiAobW9kZWwpIHtcbiAgICAgIGZ1bmN0aW9uIGNsZWFyRXZlbnRzKGVudGl0eSkge1xuICAgICAgICBlbnRpdHkuJGV2ZW50cyA9IFtdO1xuICAgICAgICBlbnRpdHkuJGV2ZW50c0xpbmsgPSBudWxsO1xuICAgICAgICBlbnRpdHkuJGV2ZW50Q291bnQgPSAwO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB1cGRhdGVFdmVudChlbnRpdHksIGV2ZW50KSB7XG4gICAgICAgIGlmIChlbnRpdHkpIHtcbiAgICAgICAgICBlbnRpdHkuJGV2ZW50cy5wdXNoKGV2ZW50KTtcbiAgICAgICAgICBpZiAoIWVudGl0eS4kZXZlbnRzTGluaykge1xuICAgICAgICAgICAgZW50aXR5LiRldmVudHNMaW5rID0gVXJsSGVscGVycy5qb2luKFwiL2t1YmVybmV0ZXMvbmFtZXNwYWNlL1wiLCBjdXJyZW50S3ViZXJuZXRlc05hbWVzcGFjZSgpLCBcImV2ZW50c1wiKSArIFwiP3E9a2luZCUzRFwiICsgZW50aXR5LmtpbmQgKyBcIiUyMG5hbWUlM0RcIiArIGVudGl0eS5tZXRhZGF0YS5uYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbnRpdHkuJGV2ZW50Q291bnQgPSBlbnRpdHkuJGV2ZW50cy5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIHBvZHMgPSBtb2RlbC5wb2RzIHx8IFtdO1xuICAgICAgdmFyIHJjcyA9IG1vZGVsLnJlcGxpY2F0aW9uQ29udHJvbGxlcnMgfHwgW107XG4gICAgICBhbmd1bGFyLmZvckVhY2gocG9kcywgY2xlYXJFdmVudHMpO1xuICAgICAgYW5ndWxhci5mb3JFYWNoKHJjcywgY2xlYXJFdmVudHMpO1xuXG4gICAgICBhbmd1bGFyLmZvckVhY2goZXZlbnRzLCAoZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIGludm9sdmVkT2JqZWN0ID0gZXZlbnQuaW52b2x2ZWRPYmplY3QgfHwge307XG4gICAgICAgIHZhciBuYW1lID0gaW52b2x2ZWRPYmplY3QubmFtZTtcbiAgICAgICAgdmFyIGtpbmQgPSBpbnZvbHZlZE9iamVjdC5raW5kO1xuICAgICAgICB2YXIgbnMgPSBtb2RlbC5jdXJyZW50TmFtZXNwYWNlKCk7XG4gICAgICAgIGlmIChuYW1lICYmIGtpbmQgJiYgbnMpIHtcbiAgICAgICAgICB2YXIgZW50aXR5ID0gbnVsbDtcbiAgICAgICAgICBpZiAoa2luZCA9PT0gXCJSZXBsaWNhdGlvbkNvbnRyb2xsZXJcIikge1xuICAgICAgICAgICAgZW50aXR5ID0gbW9kZWwuZ2V0UmVwbGljYXRpb25Db250cm9sbGVyKG5zLCBuYW1lKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGtpbmQgPT09IFwiUG9kXCIpIHtcbiAgICAgICAgICAgIGVudGl0eSA9IG1vZGVsLmdldFBvZChucywgbmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlbnRpdHkpIHtcbiAgICAgICAgICAgIHVwZGF0ZUV2ZW50KGVudGl0eSwgZXZlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBldmVudHM7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZW5yaWNoSW1hZ2VSZXBvc2l0b3J5KGltYWdlUmVwb3NpdG9yeSkge1xuICAgIGlmIChpbWFnZVJlcG9zaXRvcnkpIHtcbiAgICAgIHZhciB0cmlnZ2VyVXJsOnN0cmluZyA9IG51bGw7XG4gICAgICB2YXIgbmFtZSA9IENvcmUucGF0aEdldChpbWFnZVJlcG9zaXRvcnksIFtcIm1ldGFkYXRhXCIsIFwibmFtZVwiXSk7XG4gICAgICBpbWFnZVJlcG9zaXRvcnkuJG5hbWUgPSBuYW1lO1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBlbnJpY2hJbWFnZVJlcG9zaXRvcmllcyhpbWFnZVJlcG9zaXRvcmllcykge1xuICAgIGFuZ3VsYXIuZm9yRWFjaChpbWFnZVJlcG9zaXRvcmllcywgKGltYWdlUmVwb3NpdG9yeSkgPT4ge1xuICAgICAgZW5yaWNoSW1hZ2VSZXBvc2l0b3J5KGltYWdlUmVwb3NpdG9yeSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGltYWdlUmVwb3NpdG9yaWVzO1xuICB9XG5cblxuICB2YXIgbGFiZWxDb2xvcnMgPSB7XG4gICAgJ3ZlcnNpb24nOiAnYmFja2dyb3VuZC1ibHVlJyxcbiAgICAnbmFtZSc6ICdiYWNrZ3JvdW5kLWxpZ2h0LWdyZWVuJyxcbiAgICAnY29udGFpbmVyJzogJ2JhY2tncm91bmQtbGlnaHQtZ3JleSdcbiAgfTtcblxuICBleHBvcnQgZnVuY3Rpb24gY29udGFpbmVyTGFiZWxDbGFzcyhsYWJlbFR5cGU6c3RyaW5nKSB7XG4gICAgaWYgKCEobGFiZWxUeXBlIGluIGxhYmVsQ29sb3JzKSkge1xuICAgICAgcmV0dXJuICdtb3VzZS1wb2ludGVyJztcbiAgICB9XG4gICAgZWxzZSByZXR1cm4gbGFiZWxDb2xvcnNbbGFiZWxUeXBlXSArICcgbW91c2UtcG9pbnRlcic7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGZhYnJpYzggZm9yZ2UgcGx1Z2luIGlzIGVuYWJsZWRcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBpc0ZvcmdlRW5hYmxlZCgpIHtcbiAgICAvLyBUT0RPIHNob3VsZCByZXR1cm4gdHJ1ZSBpZiB0aGUgc2VydmljZSBcImZhYnJpYzgtZm9yZ2VcIiBpcyB2YWxpZFxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQga3ViZXJuZXRlcyBzZWxlY3RlZCBuYW1lc3BhY2Ugb3IgdGhlIGRlZmF1bHQgb25lXG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gY3VycmVudEt1YmVybmV0ZXNOYW1lc3BhY2UoKSB7XG4gICAgdmFyIGluamVjdG9yID0gSGF3dGlvQ29yZS5pbmplY3RvcjtcbiAgICBpZiAoaW5qZWN0b3IpIHtcbiAgICAgIHZhciBLdWJlcm5ldGVzU3RhdGUgPSBpbmplY3Rvci5nZXQoXCJLdWJlcm5ldGVzU3RhdGVcIikgfHwge307XG4gICAgICByZXR1cm4gS3ViZXJuZXRlc1N0YXRlLnNlbGVjdGVkTmFtZXNwYWNlIHx8IGRlZmF1bHROYW1lc3BhY2U7XG4gICAgfVxuICAgIHJldHVybiBkZWZhdWx0TmFtZXNwYWNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZXMgdGhlIGpzb24gc2NoZW1hXG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gY29uZmlndXJlU2NoZW1hKCkge1xuICAgIGFuZ3VsYXIuZm9yRWFjaChzY2hlbWEuZGVmaW5pdGlvbnMsIChkZWZpbml0aW9uLCBuYW1lKSA9PiB7XG4gICAgICB2YXIgcHJvcGVydGllcyA9IGRlZmluaXRpb24ucHJvcGVydGllcztcbiAgICAgIGlmIChwcm9wZXJ0aWVzKSB7XG4gICAgICAgIHZhciBoaWRlUHJvcGVydGllcyA9IFtcImNyZWF0aW9uVGltZXN0YW1wXCIsIFwia2luZFwiLCBcImFwaVZlcnNpb25cIiwgXCJhbm5vdGF0aW9uc1wiLCBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCIsIFwibmFtZXNwYWNlXCIsIFwicmVzb3VyY2VWZXJzaW9uXCIsIFwic2VsZkxpbmtcIiwgXCJ1aWRcIl07XG4gICAgICAgIGFuZ3VsYXIuZm9yRWFjaChoaWRlUHJvcGVydGllcywgKHByb3BlcnR5TmFtZSkgPT4ge1xuICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IHByb3BlcnRpZXNbcHJvcGVydHlOYW1lXTtcbiAgICAgICAgICBpZiAocHJvcGVydHkpIHtcbiAgICAgICAgICAgIHByb3BlcnR5W1wiaGlkZGVuXCJdICA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgYW5ndWxhci5mb3JFYWNoKHByb3BlcnRpZXMsIChwcm9wZXJ0eSwgcHJvcGVydHlOYW1lKSA9PiB7XG4gICAgICAgICAgdmFyIHJlZiA9IHByb3BlcnR5W1wiJHJlZlwiXTtcbiAgICAgICAgICB2YXIgdHlwZSA9IHByb3BlcnR5W1widHlwZVwiXTtcbiAgICAgICAgICBpZiAocmVmICYmICghdHlwZSB8fCB0eXBlID09PSBcIm9iamVjdFwiKSkge1xuICAgICAgICAgICAgcHJvcGVydHlbXCJ0eXBlXCJdID0gcmVmO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodHlwZSA9PT0gXCJhcnJheVwiKSB7XG4gICAgICAgICAgICB2YXIgaXRlbXMgPSBwcm9wZXJ0eVtcIml0ZW1zXCJdO1xuICAgICAgICAgICAgaWYgKGl0ZW1zKSB7XG4gICAgICAgICAgICAgIHZhciByZWYgPSBpdGVtc1tcIiRyZWZcIl07XG4gICAgICAgICAgICAgIHZhciB0eXBlID0gaXRlbXNbXCJ0eXBlXCJdO1xuICAgICAgICAgICAgICBpZiAocmVmICYmICghdHlwZSB8fCB0eXBlID09PSBcIm9iamVjdFwiKSkge1xuICAgICAgICAgICAgICAgIGl0ZW1zW1widHlwZVwiXSA9IHJlZjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHNjaGVtYS5kZWZpbml0aW9ucy5vc19idWlsZF9XZWJIb29rVHJpZ2dlci5wcm9wZXJ0aWVzLnNlY3JldC50eXBlID0gXCJwYXNzd29yZFwiO1xuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogTGV0cyByZW1vdmUgYW55IGVucmljaGVkIGRhdGEgdG8gbGVhdmUgdGhlIG9yaWdpbmFsIGpzb24gaW50YWN0XG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gdG9SYXdKc29uKGl0ZW0pIHtcbiAgICB2YXIgbyA9IGFuZ3VsYXIuY29weShpdGVtKTtcbiAgICBhbmd1bGFyLmZvckVhY2gobywgKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGlmIChrZXkuc3RhcnRzV2l0aChcIiRcIikgfHwga2V5LnN0YXJ0c1dpdGgoXCJfXCIpKSB7XG4gICAgICAgIGRlbGV0ZSBvW2tleV07XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG8sIG51bGwsIDIpOyAvLyBzcGFjaW5nIGxldmVsID0gMlxuICB9XG5cbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9rdWJlcm5ldGVzL3RzL2t1YmVybmV0ZXNIZWxwZXJzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImRldmVsb3BlckhlbHBlcnMudHNcIi8+XG5cbm1vZHVsZSBEZXZlbG9wZXIge1xuXG4gIGV4cG9ydCB2YXIgUHJvamVjdHNDb250cm9sbGVyID0gY29udHJvbGxlcihcIlByb2plY3RzQ29udHJvbGxlclwiLCBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzQnVpbGRzXCIsIFwiS3ViZXJuZXRlc1N0YXRlXCIsIFwiJGRpYWxvZ1wiLCBcIiR3aW5kb3dcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcIiRsb2NhdGlvblwiLCBcImxvY2FsU3RvcmFnZVwiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsXG4gICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc0J1aWxkcywgS3ViZXJuZXRlc1N0YXRlLCAkZGlhbG9nLCAkd2luZG93LCAkdGVtcGxhdGVDYWNoZSwgJHJvdXRlUGFyYW1zLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgbG9jYWxTdG9yYWdlLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG4gICAgICAkc2NvcGUuS3ViZXJuZXRlc0J1aWxkcyA9IEt1YmVybmV0ZXNCdWlsZHM7XG5cbiAgICAgICRzY29wZS50YWJsZUNvbmZpZyA9IHtcbiAgICAgICAgZGF0YTogJ21vZGVsLmJ1aWxkY29uZmlncycsXG4gICAgICAgIHNob3dTZWxlY3Rpb25DaGVja2JveDogdHJ1ZSxcbiAgICAgICAgZW5hYmxlUm93Q2xpY2tTZWxlY3Rpb246IGZhbHNlLFxuICAgICAgICBtdWx0aVNlbGVjdDogdHJ1ZSxcbiAgICAgICAgc2VsZWN0ZWRJdGVtczogW10sXG4gICAgICAgIGZpbHRlck9wdGlvbnM6IHtcbiAgICAgICAgICBmaWx0ZXJUZXh0OiAkbG9jYXRpb24uc2VhcmNoKClbXCJxXCJdIHx8ICcnXG4gICAgICAgIH0sXG4gICAgICAgIGNvbHVtbkRlZnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJ21ldGFkYXRhLm5hbWUnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdOYW1lJyxcbiAgICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiaWRUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgICAgfSxcbi8qXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdzcGVjLnNvdXJjZS50eXBlJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnU291cmNlJ1xuICAgICAgICAgIH0sXG4qL1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnc3BlYy5zb3VyY2UuZ2l0LnVyaScsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ1JlcG9zaXRvcnknXG4gICAgICAgICAgfSxcbi8qXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdzcGVjLnN0cmF0ZWd5LnR5cGUnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdTdHJhdGVneSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnc3BlYy5zdHJhdGVneS5zdGlTdHJhdGVneS5pbWFnZScsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ1NvdXJjZSBJbWFnZSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnc3BlYy5vdXRwdXQuaW1hZ2VUYWcnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdPdXRwdXQgSW1hZ2UnXG4gICAgICAgICAgfSxcbiovXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICckZmFicmljOENvZGVWaWV3cycsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ0NvZGUnLFxuICAgICAgICAgICAgd2lkdGg6IFwiKioqXCIsXG4gICAgICAgICAgICBtaW5XaWR0aDogNTAwLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJidWlsZENvbmZpZ0NvZGVWaWV3c1RlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnJGZhYnJpYzhCdWlsZFZpZXdzJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnQnVpbGRzJyxcbiAgICAgICAgICAgIHdpZHRoOiBcIioqKlwiLFxuICAgICAgICAgICAgbWluV2lkdGg6IDUwMCxcbiAgICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiYnVpbGRDb25maWdCdWlsZFZpZXdzVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICckZmFicmljOEVudmlyb25tZW50Vmlld3MnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdFbnZpcm9ubWVudHMnLFxuICAgICAgICAgICAgd2lkdGg6IFwiKioqXCIsXG4gICAgICAgICAgICBtaW5XaWR0aDogNTAwLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJidWlsZENvbmZpZ0Vudmlyb25tZW50Vmlld3NUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJyRmYWJyaWM4VGVhbVZpZXdzJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnUGVvcGxlJyxcbiAgICAgICAgICAgIHdpZHRoOiBcIioqKlwiLFxuICAgICAgICAgICAgbWluV2lkdGg6IDUwMCxcbiAgICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiYnVpbGRDb25maWdUZWFtVmlld3NUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9O1xuXG4gICAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG4gICAgICAkc2NvcGUuYnJlYWRjcnVtYkNvbmZpZyA9IGNyZWF0ZVByb2plY3RCcmVhZGNydW1icygpO1xuXG5cbiAgICAgICRzY29wZS5pc0xvZ2dlZEludG9Hb2dzID0gRm9yZ2UuaXNMb2dnZWRJbnRvR29ncztcblxuICAgICAgJHNjb3BlLmRlbGV0ZVByb21wdCA9IChzZWxlY3RlZCkgPT4ge1xuICAgICAgICBVSS5tdWx0aUl0ZW1Db25maXJtQWN0aW9uRGlhbG9nKDxVSS5NdWx0aUl0ZW1Db25maXJtQWN0aW9uT3B0aW9ucz57XG4gICAgICAgICAgY29sbGVjdGlvbjogc2VsZWN0ZWQsXG4gICAgICAgICAgaW5kZXg6ICckbmFtZScsXG4gICAgICAgICAgb25DbG9zZTogKHJlc3VsdDpib29sZWFuKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgIGZ1bmN0aW9uIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBuZXh0KSB7XG4gICAgICAgICAgICAgICAgaWYgKG5leHQpIHtcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZUVudGl0eShuZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBzZWxlY3RlZC5zaGlmdCgpKTtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIHNlbGVjdGVkLnNoaWZ0KCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGl0bGU6ICdEZWxldGUgQnVpbGQgQ29uZmlncz8nLFxuICAgICAgICAgIGFjdGlvbjogJ1RoZSBmb2xsb3dpbmcgQnVpbGQgQ29uZmlncyB3aWxsIGJlIGRlbGV0ZWQ6JyxcbiAgICAgICAgICBva1RleHQ6ICdEZWxldGUnLFxuICAgICAgICAgIG9rQ2xhc3M6ICdidG4tZGFuZ2VyJyxcbiAgICAgICAgICBjdXN0b206IFwiVGhpcyBvcGVyYXRpb24gaXMgcGVybWFuZW50IG9uY2UgY29tcGxldGVkIVwiLFxuICAgICAgICAgIGN1c3RvbUNsYXNzOiBcImFsZXJ0IGFsZXJ0LXdhcm5pbmdcIlxuICAgICAgICB9KS5vcGVuKCk7XG4gICAgICB9O1xuXG4gICAgICBmdW5jdGlvbiBkZWxldGVFbnRpdHkoc2VsZWN0aW9uLCBuZXh0Q2FsbGJhY2spIHtcbiAgICAgICAgdmFyIG5hbWUgPSAoc2VsZWN0aW9uIHx8IHt9KS4kbmFtZTtcbiAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIkFib3V0IHRvIGRlbGV0ZSBidWlsZCBjb25maWc6IFwiICsgbmFtZSk7XG4gICAgICAgICAgdmFyIHVybCA9IEt1YmVybmV0ZXMuYnVpbGRDb25maWdSZXN0VXJsKG5hbWUpO1xuICAgICAgICAgICRodHRwLmRlbGV0ZSh1cmwpLlxuICAgICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgbmV4dENhbGxiYWNrKCk7XG4gICAgICAgICAgICB9KS5cbiAgICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBkZWxldGUgYnVpbGQgY29uZmlnIG9uIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJ3YXJuaW5nOiBubyBuYW1lIGZvciBzZWxlY3Rpb246IFwiICsgYW5ndWxhci50b0pzb24oc2VsZWN0aW9uKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdXBkYXRlRGF0YSgpIHtcbi8qXG4gICAgICAgIHZhciB1cmwgPSBidWlsZENvbmZpZ3NSZXN0VVJMKCk7XG4gICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKFwiZ290IGRhdGEgXCIgKyBhbmd1bGFyLnRvSnNvbihkYXRhLCB0cnVlKSk7XG4gICAgICAgICAgICAgIHZhciBzb3J0ZWRCdWlsZHMgPSBudWxsO1xuICAgICAgICAgICAgICAkc2NvcGUuYnVpbGRDb25maWdzID0gZW5yaWNoQnVpbGRDb25maWdzKGRhdGEuaXRlbXMsIHNvcnRlZEJ1aWxkcyk7XG4gICAgICAgICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KS5cbiAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGxvYWQgXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICAgICAgfSk7XG4qL1xuICAgICAgfVxuXG4gICAgICB1cGRhdGVEYXRhKCk7XG4gICAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2t1YmVybmV0ZXMvdHMva3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiZGV2ZWxvcGVySGVscGVycy50c1wiLz5cblxubW9kdWxlIERldmVsb3BlciB7XG5cbiAgZXhwb3J0IHZhciBXb3Jrc3BhY2VDb250cm9sbGVyID0gY29udHJvbGxlcihcIldvcmtzcGFjZUNvbnRyb2xsZXJcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCJLdWJlcm5ldGVzU2NoZW1hXCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzU2NoZW1hLFxuICAgICAgICR0ZW1wbGF0ZUNhY2hlOm5nLklUZW1wbGF0ZUNhY2hlU2VydmljZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsICRyb3V0ZVBhcmFtcywgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAgICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAgICAgJHNjb3BlLmlkID0gJHJvdXRlUGFyYW1zW1wibmFtZXNwYWNlXCJdO1xuICAgICAgICAkc2NvcGUuc2NoZW1hID0gS3ViZXJuZXRlc1NjaGVtYTtcbiAgICAgICAgJHNjb3BlLmNvbmZpZyA9IEt1YmVybmV0ZXNTY2hlbWEuZGVmaW5pdGlvbnMua3ViZXJuZXRlc19OYW1lc3BhY2U7XG5cbiAgICAgICAgS3ViZXJuZXRlcy5pbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpO1xuICAgICAgICAkc2NvcGUuYnJlYWRjcnVtYkNvbmZpZyA9IGNyZWF0ZVdvcmtzcGFjZUJyZWFkY3J1bWJzKFt7XG4gICAgICAgICAgbGFiZWw6IFwiRGV0YWlsXCIsXG4gICAgICAgICAgdGl0bGU6IFwiVmlldyB0aGUgd29ya3NwYWNlIGRldGFpbFwiXG4gICAgICAgIH1dKTtcblxuICAgICAgICAkc2NvcGUuJG9uKCdrdWJlcm5ldGVzTW9kZWxVcGRhdGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgJHNjb3BlLiRvbignJHJvdXRlVXBkYXRlJywgKCRldmVudCkgPT4ge1xuICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdXBkYXRlRGF0YSgpO1xuXG4gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZURhdGEoKSB7XG4gICAgICAgICAgJHNjb3BlLml0ZW0gPSBudWxsO1xuICAgICAgICAgIGlmICgkc2NvcGUuaWQpIHtcbiAgICAgICAgICAgIHZhciB1cmwgPSBVcmxIZWxwZXJzLmpvaW4oS3ViZXJuZXRlcy5yZXNvdXJjZXNVcmlGb3JLaW5kKFwiUHJvamVjdHNcIiksICRzY29wZS5pZCk7XG4gICAgICAgICAgICBsb2cuaW5mbyhcIkxvYWRpbmcgdXJsOiBcIiArIHVybCk7XG4gICAgICAgICAgICAkaHR0cC5nZXQodXJsKS5cbiAgICAgICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICAgJHNjb3BlLmVudGl0eSA9IGVucmljaFdvcmtzcGFjZShkYXRhKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgICAgIH0pLlxuICAgICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBsb2FkIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9rdWJlcm5ldGVzL3RzL2t1YmVybmV0ZXNIZWxwZXJzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImRldmVsb3BlckhlbHBlcnMudHNcIi8+XG5cbm1vZHVsZSBEZXZlbG9wZXIge1xuXG4gIGV4cG9ydCB2YXIgRXZlbnRzQ29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJXb3Jrc3BhY2VzQ29udHJvbGxlclwiLFxuICAgIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIkt1YmVybmV0ZXNTZXJ2aWNlc1wiLCBcIkt1YmVybmV0ZXNQb2RzXCIsIFwiS3ViZXJuZXRlc1N0YXRlXCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCJqb2xva2lhXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIixcbiAgICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDpLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UsIEt1YmVybmV0ZXNTZXJ2aWNlczpuZy5yZXNvdXJjZS5JUmVzb3VyY2VDbGFzcywgS3ViZXJuZXRlc1BvZHM6bmcucmVzb3VyY2UuSVJlc291cmNlQ2xhc3MsIEt1YmVybmV0ZXNTdGF0ZSxcbiAgICAgICAkdGVtcGxhdGVDYWNoZTpuZy5JVGVtcGxhdGVDYWNoZVNlcnZpY2UsICRsb2NhdGlvbjpuZy5JTG9jYXRpb25TZXJ2aWNlLCAkcm91dGVQYXJhbXMsIGpvbG9raWE6Sm9sb2tpYS5JSm9sb2tpYSwgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAgICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcblxuICAgICAgICBDb250cm9sbGVySGVscGVycy5iaW5kTW9kZWxUb1NlYXJjaFBhcmFtKCRzY29wZSwgJGxvY2F0aW9uLCAnbW9kZScsICdtb2RlJywgJ2xpc3QnKTtcblxuICAgICAgICAkc2NvcGUudGFibGVDb25maWcgPSB7XG4gICAgICAgICAgZGF0YTogJ21vZGVsLndvcmtzcGFjZXMnLFxuICAgICAgICAgIHNob3dTZWxlY3Rpb25DaGVja2JveDogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVSb3dDbGlja1NlbGVjdGlvbjogZmFsc2UsXG4gICAgICAgICAgbXVsdGlTZWxlY3Q6IHRydWUsXG4gICAgICAgICAgc2VsZWN0ZWRJdGVtczogW10sXG4gICAgICAgICAgZmlsdGVyT3B0aW9uczoge1xuICAgICAgICAgICAgZmlsdGVyVGV4dDogJGxvY2F0aW9uLnNlYXJjaCgpW1wicVwiXSB8fCAnJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgY29sdW1uRGVmczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBmaWVsZDogJyRuYW1lJyxcbiAgICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdOYW1lJyxcbiAgICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJpZFRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGZpZWxkOiAnbWV0YWRhdGEuZGVzY3JpcHRpb24nLFxuICAgICAgICAgICAgICBkaXNwbGF5TmFtZTogJ0Rlc2NyaXB0aW9uJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZmllbGQ6ICckbGFiZWxzVGV4dCcsXG4gICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnTGFiZWxzJyxcbiAgICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJsYWJlbFRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH07XG5cbiAgICAgICAgS3ViZXJuZXRlcy5pbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpO1xuXG4gICAgICAgICRzY29wZS4ka2VlcFBvbGxpbmcgPSAoKSA9PiBLdWJlcm5ldGVzLmtlZXBQb2xsaW5nTW9kZWw7XG4gICAgICAgICRzY29wZS5mZXRjaCA9IFBvbGxIZWxwZXJzLnNldHVwUG9sbGluZygkc2NvcGUsIChuZXh0OigpID0+IHZvaWQpID0+IHtcbiAgICAgICAgICB2YXIgdXJsID0gS3ViZXJuZXRlcy5yZXNvdXJjZXNVcmlGb3JLaW5kKFwiUHJvamVjdHNcIik7XG4gICAgICAgICAgJGh0dHAuZ2V0KHVybCkuXG4gICAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICRzY29wZS5tb2RlbC53b3Jrc3BhY2VzID0gZW5yaWNoV29ya3NwYWNlcyhkYXRhLml0ZW1zKTtcbiAgICAgICAgICAgICAgICAkc2NvcGUuZmV0Y2hlZCA9IHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgICAgfSkuXG4gICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICRzY29wZS5mZXRjaCgpO1xuXG4gICAgICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4va3ViZXJuZXRlcy90cy9rdWJlcm5ldGVzSGVscGVycy50c1wiLz5cblxubW9kdWxlIFByb2plY3Qge1xuXG4gIGV4cG9ydCB2YXIgY29udGV4dCA9ICcvcHJvamVjdCc7XG4gIGV4cG9ydCB2YXIgaGFzaCA9ICcjJyArIGNvbnRleHQ7XG4gIGV4cG9ydCB2YXIgcGx1Z2luTmFtZSA9ICdQcm9qZWN0JztcbiAgZXhwb3J0IHZhciBsb2c6TG9nZ2luZy5Mb2dnZXIgPSBMb2dnZXIuZ2V0KHBsdWdpbk5hbWUpO1xuXG4gIGV4cG9ydCB2YXIgcGx1Z2luUGF0aCA9ICdwbHVnaW5zL3Byb2plY3QvJztcbiAgZXhwb3J0IHZhciB0ZW1wbGF0ZVBhdGggPSBwbHVnaW5QYXRoICsgJ2h0bWwvJztcblxuXG4gIGV4cG9ydCB2YXIgZ29nc1Jlc3RVUkwgPSBcIi9rdWJlcm5ldGVzL2FwaS9cIiArIEt1YmVybmV0ZXMuZGVmYXVsdEFwaVZlcnNpb24gKyBcIi9wcm94eS9zZXJ2aWNlcy9nb2dzLWh0dHAtc2VydmljZS9hcGkvdjFcIjtcblxuICBleHBvcnQgdmFyIGdvZ3NVc2VyUmVwb1Jlc3RVUkwgPSBnb2dzUmVzdFVSTCArIFwiL3VzZXIvcmVwb3NcIjtcblxufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2t1YmVybmV0ZXMvdHMva3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwicHJvamVjdEhlbHBlcnMudHNcIi8+XG5cbm1vZHVsZSBQcm9qZWN0IHtcblxuICBleHBvcnQgdmFyIF9tb2R1bGUgPSBhbmd1bGFyLm1vZHVsZShwbHVnaW5OYW1lLCBbS3ViZXJuZXRlcy5wbHVnaW5OYW1lXSk7XG4gIGV4cG9ydCB2YXIgY29udHJvbGxlciA9IFBsdWdpbkhlbHBlcnMuY3JlYXRlQ29udHJvbGxlckZ1bmN0aW9uKF9tb2R1bGUsIHBsdWdpbk5hbWUpO1xuICBleHBvcnQgdmFyIHJvdXRlID0gUGx1Z2luSGVscGVycy5jcmVhdGVSb3V0aW5nRnVuY3Rpb24odGVtcGxhdGVQYXRoKTtcblxuICBfbW9kdWxlLmNvbmZpZyhbJyRyb3V0ZVByb3ZpZGVyJywgKCRyb3V0ZVByb3ZpZGVyOm5nLnJvdXRlLklSb3V0ZVByb3ZpZGVyKSA9PiB7XG4gICAgJHJvdXRlUHJvdmlkZXIud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy9jcmVhdGUnKSwgcm91dGUoJ3Byb2plY3RDcmVhdGUuaHRtbCcsIGZhbHNlKSk7XG4gIH1dKTtcblxuICBfbW9kdWxlLmZhY3RvcnkoJ0ZvcmdlQXBpVVJMJywgWydqb2xva2lhVXJsJywgJ2pvbG9raWEnLCAnJHEnLCAnJHJvb3RTY29wZScsIChqb2xva2lhVXJsOnN0cmluZywgam9sb2tpYTpKb2xva2lhLklKb2xva2lhLCAkcTpuZy5JUVNlcnZpY2UsICRyb290U2NvcGU6bmcuSVJvb3RTY29wZVNlcnZpY2UpID0+IHtcbiAgICByZXR1cm4gS3ViZXJuZXRlcy5rdWJlcm5ldGVzQXBpVXJsKCkgKyBcIi9wcm94eVwiICsgS3ViZXJuZXRlcy5rdWJlcm5ldGVzTmFtZXNwYWNlUGF0aCgpICsgXCIvc2VydmljZXMvZmFicmljOC1mb3JnZS9hcGkvZm9yZ2VcIjtcbiAgfV0pO1xuXG5cbiAgaGF3dGlvUGx1Z2luTG9hZGVyLmFkZE1vZHVsZShwbHVnaW5OYW1lKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJwcm9qZWN0SGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJwcm9qZWN0UGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgUHJvamVjdCB7XG5cbiAgZXhwb3J0IHZhciBQcm9qZWN0Q29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJQcm9qZWN0Q29udHJvbGxlclwiLFxuICAgIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJGxvY2F0aW9uXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIixcbiAgICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDpLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UsXG4gICAgICAgJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJvdXRlUGFyYW1zLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG5cbiAgICAgICAgJHNjb3BlLmVudGl0eSA9IHtcbiAgICAgICAgICBuYW1lOiBcIlwiXG4gICAgICAgIH07XG5cbiAgICAgICAgJHNjb3BlLiRvbignJHJvdXRlVXBkYXRlJywgKCRldmVudCkgPT4ge1xuICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gVE9ETyBhZGQgYWN0dWFsIGxvZ2luL3B3ZCBvciBPQXV0aFxuICAgICAgICB2YXIgYXV0aG9yaXphdGlvbkhlYWRlciA9IFwiQmFzaWMgVE9ET1wiO1xuXG4gICAgICAgIC8vIFRPRE8gdGFrZSB0aGlzIGZyb20gdGhlIHNlcnZpY2UgaG9zdCFcbiAgICAgICAgJHNjb3BlLmNyZWF0ZSA9ICgpID0+IHtcbiAgICAgICAgICB2YXIgdXJsID0gZ29nc1VzZXJSZXBvUmVzdFVSTDtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiQ3JlYXRpbmcgcHJvamVjdCBcIiArIGFuZ3VsYXIudG9Kc29uKCRzY29wZS5lbnRpdHksIHRydWUpKTtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIlBvc3RpbmcgdG8gdXJsOiBcIiArIHVybCk7XG5cbiAgICAgICAgICB2YXIgZGF0YSA9ICRzY29wZS5lbnRpdHk7XG4gICAgICAgICAgdmFyIGNvbmZpZyA9IHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ3dpdGhDcmVkZW50aWFscyc6IHRydWUsXG4gICAgICAgICAgICAgICdBdXRob3JpemF0aW9uJzogYXV0aG9yaXphdGlvbkhlYWRlcixcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6IFwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgICAkaHR0cC5wb3N0KHVybCwgZGF0YSwgY29uZmlnKS5cbiAgICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwicHJvamVjdCBjcmVhdGVkISBnb3QgZGF0YSBcIiArIGFuZ3VsYXIudG9Kc29uKGRhdGEsIHRydWUpKTtcblxuICAgICAgICAgICAgICBjcmVhdGVQcm9qZWN0KGRhdGEpO1xuICAgICAgICAgICAgfSkuXG4gICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgQ29yZS5ub3RpZmljYXRpb24oJ2Vycm9yJywgXCJGYWlsZWQgdG8gY3JlYXRlIGdpdCByZXBvc2l0b3J5IFwiICsgbmFtZSArIFwiLiBSZXR1cm5lZCBjb2RlOiBcIiArIHN0YXR1cyArIFwiIFwiICsgZGF0YSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICB1cGRhdGVEYXRhKCk7XG5cbiAgICAgICAgZnVuY3Rpb24gY3JlYXRlUHJvamVjdChkYXRhKSB7XG4gICAgICAgICAgdmFyIGZ1bGxfbmFtZSA9IGRhdGEuZnVsbF9uYW1lO1xuICAgICAgICAgIGlmIChmdWxsX25hbWUpIHtcbiAgICAgICAgICAgIHZhciBnaXRVcmwgPSBDb3JlLnVybChnb2dzUmVzdFVSTCArIFwiL1wiICsgZnVsbF9uYW1lICsgXCIuZ2l0XCIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJDcmVhdGluZyBhIGdpdCByZXBvIGZvciBcIiArIGZ1bGxfbmFtZSArIFwiIGF0IDogXCIgKyBnaXRVcmwpO1xuXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFRPRE8gbGV0cyBmb3J3YXJkIHRvIHRoZSBjcmVhdGUgcHJvamVjdCB3aXphcmQuLi5cbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZURhdGEoKSB7XG4gICAgICAgICAgJHNjb3BlLmJ1aWxkcyA9IFtdO1xuICAgICAgICAgIHZhciB1cmwgPSBnb2dzVXNlclJlcG9SZXN0VVJMO1xuICAgICAgICAgIHZhciBjb25maWcgPSB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICd3aXRoQ3JlZGVudGlhbHMnOiB0cnVlLFxuICAgICAgICAgICAgICAnQXV0aG9yaXphdGlvbic6IGF1dGhvcml6YXRpb25IZWFkZXJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICAgIGRlbGV0ZSAkaHR0cC5kZWZhdWx0cy5oZWFkZXJzLmNvbW1vbltcIkFjY2VwdFwiXTtcbiAgICAgICAgICAkaHR0cC5nZXQodXJsLCBjb25maWcpLlxuICAgICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImdvdCByZXBvczogXCIgKyBhbmd1bGFyLnRvSnNvbihkYXRhLCB0cnVlKSk7XG4gICAgICAgICAgICAgICAgJHNjb3BlLmJ1aWxkcyA9IGRhdGE7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgfSkuXG4gICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBsb2FkIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cblxuZGVjbGFyZSB2YXIgT1NPQXV0aENvbmZpZzphbnk7XG5kZWNsYXJlIHZhciBHb29nbGVPQXV0aENvbmZpZzphbnk7XG5kZWNsYXJlIHZhciBLZXljbG9ha0NvbmZpZzphbnk7XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIF9tb2R1bGUgPSBhbmd1bGFyLm1vZHVsZShwbHVnaW5OYW1lLCBbJ2hhd3Rpby1jb3JlJywgJ2hhd3Rpby11aScsICd3aWtpJywgJ3Jlc3Rtb2QnLCAndWkuY29kZW1pcnJvciddKTtcbiAgZXhwb3J0IHZhciBjb250cm9sbGVyID0gUGx1Z2luSGVscGVycy5jcmVhdGVDb250cm9sbGVyRnVuY3Rpb24oX21vZHVsZSwgcGx1Z2luTmFtZSk7XG4gIGV4cG9ydCB2YXIgcm91dGUgPSBQbHVnaW5IZWxwZXJzLmNyZWF0ZVJvdXRpbmdGdW5jdGlvbih0ZW1wbGF0ZVBhdGgpO1xuXG4gIF9tb2R1bGUuY29uZmlnKFsnJHJvdXRlUHJvdmlkZXInLCAoJHJvdXRlUHJvdmlkZXI6bmcucm91dGUuSVJvdXRlUHJvdmlkZXIpID0+IHtcbiAgICAkcm91dGVQcm92aWRlci53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnL3BvZHMnKSwgcm91dGUoJ3BvZHMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnL25hbWVzcGFjZS86bmFtZXNwYWNlL3BvZENyZWF0ZScpLCByb3V0ZSgncG9kQ3JlYXRlLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy9uYW1lc3BhY2UvOm5hbWVzcGFjZS9wb2RFZGl0LzppZCcpLCByb3V0ZSgncG9kRWRpdC5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvbmFtZXNwYWNlLzpuYW1lc3BhY2UvcG9kcycpLCByb3V0ZSgncG9kcy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvbmFtZXNwYWNlLzpuYW1lc3BhY2UvcG9kcy86aWQnKSwgcm91dGUoJ3BvZC5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdyZXBsaWNhdGlvbkNvbnRyb2xsZXJzJyksIHJvdXRlKCdyZXBsaWNhdGlvbkNvbnRyb2xsZXJzLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy9uYW1lc3BhY2UvOm5hbWVzcGFjZS9yZXBsaWNhdGlvbkNvbnRyb2xsZXJzJyksIHJvdXRlKCdyZXBsaWNhdGlvbkNvbnRyb2xsZXJzLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy9uYW1lc3BhY2UvOm5hbWVzcGFjZS9yZXBsaWNhdGlvbkNvbnRyb2xsZXJzLzppZCcpLCByb3V0ZSgncmVwbGljYXRpb25Db250cm9sbGVyLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy9uYW1lc3BhY2UvOm5hbWVzcGFjZS9yZXBsaWNhdGlvbkNvbnRyb2xsZXJDcmVhdGUnKSwgcm91dGUoJ3JlcGxpY2F0aW9uQ29udHJvbGxlckNyZWF0ZS5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvbmFtZXNwYWNlLzpuYW1lc3BhY2UvcmVwbGljYXRpb25Db250cm9sbGVyRWRpdC86aWQnKSwgcm91dGUoJ3JlcGxpY2F0aW9uQ29udHJvbGxlckVkaXQuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnc2VydmljZXMnKSwgcm91dGUoJ3NlcnZpY2VzLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy9uYW1lc3BhY2UvOm5hbWVzcGFjZS9zZXJ2aWNlcycpLCByb3V0ZSgnc2VydmljZXMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnL25hbWVzcGFjZS86bmFtZXNwYWNlL3NlcnZpY2VzLzppZCcpLCByb3V0ZSgnc2VydmljZS5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvbmFtZXNwYWNlLzpuYW1lc3BhY2Uvc2VydmljZUNyZWF0ZScpLCByb3V0ZSgnc2VydmljZUNyZWF0ZS5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvbmFtZXNwYWNlLzpuYW1lc3BhY2Uvc2VydmljZUVkaXQvOmlkJyksIHJvdXRlKCdzZXJ2aWNlRWRpdC5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvbmFtZXNwYWNlLzpuYW1lc3BhY2UvZXZlbnRzJyksIHJvdXRlKCdldmVudHMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnZXZlbnRzJyksIHJvdXRlKCdldmVudHMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnYXBwcycpLCByb3V0ZSgnYXBwcy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdhcHBzLzpuYW1lc3BhY2UnKSwgcm91dGUoJ2FwcHMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAndGVtcGxhdGVzJyksIHJvdXRlKCd0ZW1wbGF0ZXMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnaG9zdHMnKSwgcm91dGUoJ2hvc3RzLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ2hvc3RzLzppZCcpLCByb3V0ZSgnaG9zdC5odG1sJywgdHJ1ZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ2J1aWxkcycpLCByb3V0ZSgnYnVpbGRzLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ2J1aWxkcy86aWQnKSwgcm91dGUoJ2J1aWxkLmh0bWwnLCB0cnVlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnYnVpbGRMb2dzLzppZCcpLCByb3V0ZSgnYnVpbGRMb2dzLmh0bWwnLCB0cnVlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnYnVpbGRDb25maWdzJyksIHJvdXRlKCdidWlsZENvbmZpZ3MuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnYnVpbGRDb25maWdzLzppZCcpLCByb3V0ZSgnYnVpbGRDb25maWcuaHRtbCcsIHRydWUpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdidWlsZENvbmZpZ0VkaXQvOmlkJyksIHJvdXRlKCdidWlsZENvbmZpZ0VkaXQuaHRtbCcsIHRydWUpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdidWlsZENvbmZpZ0NyZWF0ZScpLCByb3V0ZSgnYnVpbGRDb25maWdDcmVhdGUuaHRtbCcsIHRydWUpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdkZXBsb3ltZW50Q29uZmlncycpLCByb3V0ZSgnZGVwbG95bWVudENvbmZpZ3MuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnZGVwbG95bWVudENvbmZpZ3MvOmlkJyksIHJvdXRlKCdkZXBsb3ltZW50Q29uZmlnLmh0bWwnLCB0cnVlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnaW1hZ2VSZXBvc2l0b3JpZXMnKSwgcm91dGUoJ2ltYWdlUmVwb3NpdG9yaWVzLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ3BpcGVsaW5lcycpLCByb3V0ZSgncGlwZWxpbmVzLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ292ZXJ2aWV3JyksIHJvdXRlKCdvdmVydmlldy5odG1sJywgdHJ1ZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihjb250ZXh0LCB7IHJlZGlyZWN0VG86IFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnYXBwcycpIH0pO1xuICB9XSk7XG4gIFxuXG4gIF9tb2R1bGUuZmFjdG9yeSgnQXBwTGlicmFyeVVSTCcsIFsnJHJvb3RTY29wZScsICgkcm9vdFNjb3BlOm5nLklSb290U2NvcGVTZXJ2aWNlKSA9PiB7XG4gICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihrdWJlcm5ldGVzQXBpVXJsKCksIFwiL3Byb3h5XCIsIGt1YmVybmV0ZXNOYW1lc3BhY2VQYXRoKCksIFwiL3NlcnZpY2VzL2FwcC1saWJyYXJ5XCIpO1xuICB9XSk7XG5cbiAgX21vZHVsZS5mYWN0b3J5KCdXaWtpR2l0VXJsUHJlZml4JywgKCkgPT4ge1xuICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4oa3ViZXJuZXRlc0FwaVVybCgpLCBcIi9wcm94eVwiLCBrdWJlcm5ldGVzTmFtZXNwYWNlUGF0aCgpLCBcInNlcnZpY2VzL2FwcC1saWJyYXJ5XCIpO1xuICB9KTtcblxuICBfbW9kdWxlLmZhY3RvcnkoJ3dpa2lSZXBvc2l0b3J5JywgW1wiJGxvY2F0aW9uXCIsIFwibG9jYWxTdG9yYWdlXCIsICgkbG9jYXRpb24sIGxvY2FsU3RvcmFnZSkgPT4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfV0pO1xuXG4gIF9tb2R1bGUuZmFjdG9yeSgnQ29ubmVjdERpYWxvZ1NlcnZpY2UnLCBbJyRyb290U2NvcGUnLCAoJHJvb3RTY29wZTpuZy5JUm9vdFNjb3BlU2VydmljZSkgPT4ge1xuICAgIHJldHVybiAge1xuICAgICAgICAgICAgZGlhbG9nOiBuZXcgVUkuRGlhbG9nKCksXG4gICAgICAgICAgICBzYXZlQ3JlZGVudGlhbHM6IGZhbHNlLFxuICAgICAgICAgICAgdXNlck5hbWU6IG51bGwsXG4gICAgICAgICAgICBwYXNzd29yZDogbnVsbCxcbiAgICAgICAgICAgIGpvbG9raWFVcmw6IG51bGwsXG4gICAgICAgICAgICBjb250YWluZXJOYW1lOiBudWxsLFxuICAgICAgICAgICAgdmlldzogbnVsbFxuICAgIH07XG4gIH1dKTtcblxuICBfbW9kdWxlLmZpbHRlcigna3ViZXJuZXRlc1BhZ2VMaW5rJywgKCkgPT4gZW50aXR5UGFnZUxpbmspO1xuXG4gIF9tb2R1bGUucnVuKFsndmlld1JlZ2lzdHJ5JywgJ3dvcmtzcGFjZScsICdTZXJ2aWNlUmVnaXN0cnknLCAnSGF3dGlvTmF2JywgJ0t1YmVybmV0ZXNNb2RlbCcsICckdGVtcGxhdGVDYWNoZScsICh2aWV3UmVnaXN0cnksIHdvcmtzcGFjZTpDb3JlLldvcmtzcGFjZSwgU2VydmljZVJlZ2lzdHJ5LCBIYXd0aW9OYXYsIEt1YmVybmV0ZXNNb2RlbCwgJHRlbXBsYXRlQ2FjaGUpID0+IHtcbiAgICBsb2cuZGVidWcoXCJSdW5uaW5nXCIpO1xuICAgIHZpZXdSZWdpc3RyeVsna3ViZXJuZXRlcyddID0gdGVtcGxhdGVQYXRoICsgJ2xheW91dEt1YmVybmV0ZXMuaHRtbCc7XG4gICAgdmFyIGJ1aWxkZXIgPSBIYXd0aW9OYXYuYnVpbGRlcigpO1xuICAgIHZhciBhcHBzID0gYnVpbGRlci5pZCgna3ViZS1hcHBzJylcbiAgICAgICAgICAgICAgICAgICAgICAuaHJlZigoKSA9PiBVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ2FwcHMnKSlcbiAgICAgICAgICAgICAgICAgICAgICAudGl0bGUoKCkgPT4gJ0FwcHMnKVxuICAgICAgICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuXG4gICAgdmFyIHNlcnZpY2VzID0gYnVpbGRlci5pZCgna3ViZS1zZXJ2aWNlcycpXG4gICAgICAgICAgICAgICAgICAgICAgLmhyZWYoKCkgPT4gVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdzZXJ2aWNlcycpKVxuICAgICAgICAgICAgICAgICAgICAgIC50aXRsZSgoKSA9PiAnU2VydmljZXMnKVxuICAgICAgICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuXG4gICAgdmFyIGNvbnRyb2xsZXJzID0gYnVpbGRlci5pZCgna3ViZS1jb250cm9sbGVycycpXG4gICAgICAgICAgICAgICAgICAgICAgLmhyZWYoKCkgPT4gVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdyZXBsaWNhdGlvbkNvbnRyb2xsZXJzJykpXG4gICAgICAgICAgICAgICAgICAgICAgLnRpdGxlKCgpID0+ICdDb250cm9sbGVycycpXG4gICAgICAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICB2YXIgcG9kcyA9IGJ1aWxkZXIuaWQoJ2t1YmUtcG9kcycpXG4gICAgICAgICAgICAgICAgICAgICAgLmhyZWYoKCkgPT4gVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdwb2RzJykpXG4gICAgICAgICAgICAgICAgICAgICAgLnRpdGxlKCgpID0+ICdQb2RzJylcbiAgICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcblxuICAgIHZhciBldmVudHMgPSBidWlsZGVyLmlkKCdrdWJlLWV2ZW50cycpXG4gICAgICAgICAgICAgICAgICAgICAgLmhyZWYoKCkgPT4gVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdldmVudHMnKSlcbiAgICAgICAgICAgICAgICAgICAgICAudGl0bGUoKCkgPT4gJ0V2ZW50cycpXG4gICAgICAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICB2YXIgaG9zdHMgPSBidWlsZGVyLmlkKCdrdWJlLWhvc3RzJylcbiAgICAgICAgICAgICAgICAgICAgICAuaHJlZigoKSA9PiBVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ2hvc3RzJykpXG4gICAgICAgICAgICAgICAgICAgICAgLnRpdGxlKCgpID0+ICdIb3N0cycpXG4gICAgICAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICB2YXIgb3ZlcnZpZXcgPSBidWlsZGVyLmlkKCdrdWJlLW92ZXJ2aWV3JylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmhyZWYoKCkgPT4gVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdvdmVydmlldycpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAudGl0bGUoKCkgPT4gJ0RpYWdyYW0nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcblxuICAgIHZhciBidWlsZHMgPSBidWlsZGVyLmlkKCdrdWJlLWJ1aWxkcycpXG4gICAgICAgICAgICAgICAgICAgICAgLmhyZWYoKCkgPT4gVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdidWlsZHMnKSlcbiAgICAgICAgICAgICAgICAgICAgICAudGl0bGUoKCkgPT4gJ0J1aWxkcycpXG4gICAgICAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICB2YXIgYnVpbGRDb25maWdzID0gYnVpbGRlci5pZCgna3ViZS1idWlsZENvbmZpZ3MnKVxuICAgICAgICAgICAgICAgICAgICAgIC5ocmVmKCgpID0+IFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnYnVpbGRDb25maWdzJykpXG4gICAgICAgICAgICAgICAgICAgICAgLnRpdGxlKCgpID0+ICdCdWlsZCBDb25maWdzJylcbiAgICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcblxuICAgIHZhciBkZXBsb3lzID0gYnVpbGRlci5pZCgna3ViZS1kZXBsb3lzJylcbiAgICAgICAgICAgICAgICAgICAgICAuaHJlZigoKSA9PiBVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ2RlcGxveW1lbnRDb25maWdzJykpXG4gICAgICAgICAgICAgICAgICAgICAgLnRpdGxlKCgpID0+ICdEZXBsb3lzJylcbiAgICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcblxuICAgIHZhciBpbWFnZVJlcG9zaXRvcmllcyA9IGJ1aWxkZXIuaWQoJ2t1YmUtaW1hZ2VSZXBvc2l0b3JpZXMnKVxuICAgICAgICAgICAgICAgICAgICAgIC5ocmVmKCgpID0+IFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnaW1hZ2VSZXBvc2l0b3JpZXMnKSlcbiAgICAgICAgICAgICAgICAgICAgICAudGl0bGUoKCkgPT4gJ1JlZ2lzdHJpZXMnKVxuICAgICAgICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuXG4gICAgdmFyIHBpcGVsaW5lcyA9IGJ1aWxkZXIuaWQoJ2t1YmUtcGlwZWxpbmVzJylcbiAgICAgICAgICAgICAgICAgICAgICAuaHJlZigoKSA9PiBVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ3BpcGVsaW5lcycpKVxuICAgICAgICAgICAgICAgICAgICAgIC50aXRsZSgoKSA9PiAnUGlwZWxpbmVzJylcbiAgICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcblxuICAgIHZhciByZXBvcyA9IGJ1aWxkZXIuaWQoJ2t1YmUtcmVwb3MnKVxuICAgICAgICAgICAgICAgICAgICAgIC5ocmVmKCgpID0+IFwiL2ZvcmdlL3JlcG9zXCIpXG4gICAgICAgICAgICAgICAgICAgICAgLmlzVmFsaWQoKCkgPT4gU2VydmljZVJlZ2lzdHJ5Lmhhc1NlcnZpY2UoZmFicmljOEZvcmdlU2VydmljZU5hbWUpICYmIFNlcnZpY2VSZWdpc3RyeS5oYXNTZXJ2aWNlKGdvZ3NTZXJ2aWNlTmFtZSkgJiYgIUNvcmUuaXNSZW1vdGVDb25uZWN0aW9uKCkpXG4gICAgICAgICAgICAgICAgICAgICAgLnRpdGxlKCgpID0+ICdSZXBvc2l0b3JpZXMnKVxuICAgICAgICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuXG4gICAgdmFyIG1haW5UYWIgPSBidWlsZGVyLmlkKCdrdWJlcm5ldGVzJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAucmFuaygyMDApXG4gICAgICAgICAgICAgICAgICAgICAgICAgLmRlZmF1bHRQYWdlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhbms6IDIwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZDogKHllcywgbm8pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFDb3JlLmlzUmVtb3RlQ29ubmVjdGlvbigpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm8oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgLmhyZWYoKCkgPT4gY29udGV4dClcbiAgICAgICAgICAgICAgICAgICAgICAgICAudGl0bGUoKCkgPT4gJ0t1YmVybmV0ZXMnKVxuICAgICAgICAgICAgICAgICAgICAgICAgIC5pc1ZhbGlkKCgpID0+ICFDb3JlLmlzUmVtb3RlQ29ubmVjdGlvbigpKVxuICAgICAgICAgICAgICAgICAgICAgICAgIC50YWJzKGFwcHMsIHNlcnZpY2VzLCBjb250cm9sbGVycywgcG9kcywgZXZlbnRzLCBob3N0cywgb3ZlcnZpZXcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG4gICAgSGF3dGlvTmF2LmFkZChtYWluVGFiKTtcblxuICAgIEhhd3Rpb05hdi5hZGQoe1xuICAgICAgaWQ6ICdrOHNBcHBTd2l0Y2hlcicsXG4gICAgICB0aXRsZTogKCkgPT4gJycsIC8vIG5vdCB1c2VkIGFzICd0ZW1wbGF0ZScgYmVsb3cgb3ZlcnJpZGVzIHRoaXNcbiAgICAgIGlzVmFsaWQ6ICgpID0+IEt1YmVybmV0ZXNNb2RlbC5zZXJ2aWNlQXBwcy5sZW5ndGggPiAwLFxuICAgICAgY29udGV4dDogdHJ1ZSxcbiAgICAgIHRlbXBsYXRlOiAoKSA9PiAkdGVtcGxhdGVDYWNoZS5nZXQoVXJsSGVscGVycy5qb2luKHRlbXBsYXRlUGF0aCwgJ3NlcnZpY2VBcHBzLmh0bWwnKSlcbiAgICB9KTtcblxuXG4gICAgdmFyIHByb2plY3RzVGFiID0gYnVpbGRlci5pZCgnb3BlbnNoaWZ0JylcbiAgICAgICAgICAgICAgICAgICAgICAgICAucmFuaygxMDApXG4gICAgICAgICAgICAgICAgICAgICAgICAgLmhyZWYoKCkgPT4gVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdidWlsZENvbmZpZ3MnKSArICc/c3ViLXRhYj1rdWJlLWJ1aWxkQ29uZmlncycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgLnRpdGxlKCgpID0+ICdQcm9qZWN0cycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgLmlzVmFsaWQoKCkgPT4gIUNvcmUuaXNSZW1vdGVDb25uZWN0aW9uKCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxldHMgZGlzYWJsZSB0aGUgcGlwZWxpbmVzIHZpZXcgZm9yIG5vd1xuICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwaXBlbGluZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgLnRhYnMocmVwb3MsIGJ1aWxkQ29uZmlncywgYnVpbGRzLCAgZGVwbG95cywgaW1hZ2VSZXBvc2l0b3JpZXMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICBIYXd0aW9OYXYuYWRkKHByb2plY3RzVGFiKTtcbiAgfV0pO1xuXG4gIGhhd3Rpb1BsdWdpbkxvYWRlci5yZWdpc3RlclByZUJvb3RzdHJhcFRhc2soe1xuICAgIG5hbWU6ICdLdWJlcm5ldGVzSW5pdCcsXG4gICAgdGFzazogKG5leHQpID0+IHtcbiAgICAgICQuZ2V0U2NyaXB0KCdvc2NvbnNvbGUvY29uZmlnLmpzJylcbiAgICAgICAgLmRvbmUoKHNjcmlwdCwgdGV4dFN0YXR1cykgPT4ge1xuICAgICAgICAgIHZhciBjb25maWc6S3ViZXJuZXRlc0NvbmZpZyA9IEt1YmVybmV0ZXMub3NDb25maWcgPSB3aW5kb3dbJ09QRU5TSElGVF9DT05GSUcnXTtcbiAgICAgICAgICBsb2cuZGVidWcoXCJGZXRjaGVkIE9BdXRoIGNvbmZpZzogXCIsIGNvbmZpZyk7XG4gICAgICAgICAgdmFyIG1hc3RlcjpzdHJpbmcgPSBjb25maWcubWFzdGVyX3VyaTtcbiAgICAgICAgICBpZiAoIW1hc3RlciAmJiBjb25maWcuYXBpICYmIGNvbmZpZy5hcGkuazhzKSB7XG4gICAgICAgICAgICB2YXIgbWFzdGVyVXJpID0gbmV3IFVSSSgpLmhvc3QoY29uZmlnLmFwaS5rOHMuaG9zdFBvcnQpLnBhdGgoXCJcIikucXVlcnkoXCJcIik7XG4gICAgICAgICAgICBpZiAoY29uZmlnLmFwaS5rOHMucHJvdG8pIHtcbiAgICAgICAgICAgICAgbWFzdGVyVXJpLnByb3RvY29sKGNvbmZpZy5hcGkuazhzLnByb3RvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1hc3RlciA9IG1hc3RlclVyaS50b1N0cmluZygpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIE9TT0F1dGhDb25maWcgPSBjb25maWcub3BlbnNoaWZ0O1xuICAgICAgICAgIEdvb2dsZU9BdXRoQ29uZmlnID0gY29uZmlnLmdvb2dsZTtcbiAgICAgICAgICBLZXljbG9ha0NvbmZpZyA9IGNvbmZpZy5rZXljbG9haztcblxuICAgICAgICAgIGlmIChPU09BdXRoQ29uZmlnICYmICFtYXN0ZXIpIHtcbiAgICAgICAgICAgIC8vIFRPRE8gYXV0aC5tYXN0ZXJfdXJpIG5vIGxvbmdlciB1c2VkIHJpZ2h0P1xuICAgICAgICAgICAgLy8gbWFzdGVyID0gT1NPQXV0aENvbmZpZy5tYXN0ZXJfdXJpO1xuICAgICAgICAgICAgaWYgKCFtYXN0ZXIpIHtcbiAgICAgICAgICAgICAgdmFyIG9hdXRoX2F1dGhvcml6ZV91cmkgPSBPU09BdXRoQ29uZmlnLm9hdXRoX2F1dGhvcml6ZV91cmk7XG4gICAgICAgICAgICAgIGlmIChvYXV0aF9hdXRob3JpemVfdXJpKSB7XG4gICAgICAgICAgICAgICAgdmFyIHRleHQgPSBvYXV0aF9hdXRob3JpemVfdXJpO1xuICAgICAgICAgICAgICAgIHZhciBpZHggPSB0ZXh0LmluZGV4T2YoXCI6Ly9cIik7XG4gICAgICAgICAgICAgICAgaWYgKGlkeCA+IDApIHtcbiAgICAgICAgICAgICAgICAgIGlkeCArPSAzO1xuICAgICAgICAgICAgICAgICAgaWR4ID0gdGV4dC5pbmRleE9mKFwiL1wiLCBpZHgpO1xuICAgICAgICAgICAgICAgICAgaWYgKGlkeCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFzdGVyID0gdGV4dC5zdWJzdHJpbmcoMCwgKytpZHgpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoKCFLdWJlcm5ldGVzLm1hc3RlclVybCB8fCBLdWJlcm5ldGVzLm1hc3RlclVybCA9PT0gXCIvXCIpICYmICghbWFzdGVyIHx8IG1hc3RlciA9PT0gXCIvXCIpKSB7XG4gICAgICAgICAgICAvLyBsZXRzIGRlZmF1bHQgdGhlIG1hc3RlciB0byB0aGUgY3VycmVudCBwcm90b2NvbCBhbmQgaG9zdC9wb3J0XG4gICAgICAgICAgICAvLyBpbiBjYXNlIHRoZSBtYXN0ZXIgdXJsIGlzIFwiL1wiIGFuZCB3ZSBhcmVcbiAgICAgICAgICAgIC8vIHNlcnZpbmcgdXAgc3RhdGljIGNvbnRlbnQgZnJvbSBpbnNpZGUgL2FwaS92MS9uYW1lc3BhY2VzL2RlZmF1bHQvc2VydmljZXMvZmFicmljOCBvciBzb21ldGhpbmcgbGlrZSB0aGF0XG4gICAgICAgICAgICB2YXIgaHJlZiA9IGxvY2F0aW9uLmhyZWY7XG4gICAgICAgICAgICBpZiAoaHJlZikge1xuICAgICAgICAgICAgICBtYXN0ZXIgPSBuZXcgVVJJKGhyZWYpLnF1ZXJ5KFwiXCIpLnBhdGgoXCJcIikudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG1hc3Rlcikge1xuICAgICAgICAgICAgS3ViZXJuZXRlcy5tYXN0ZXJVcmwgPSBtYXN0ZXI7XG4gICAgICAgICAgICBuZXh0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgLmZhaWwoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGxvZy5kZWJ1ZyhcIkVycm9yIGZldGNoaW5nIE9BVVRIIGNvbmZpZzogXCIsIHJlc3BvbnNlKTtcbiAgICAgIH0pXG4gICAgICAuYWx3YXlzKCgpID0+IHtcbiAgICAgICAgbmV4dCgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9LCB0cnVlKTtcblxuICBoYXd0aW9QbHVnaW5Mb2FkZXIuYWRkTW9kdWxlKHBsdWdpbk5hbWUpO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcbiAgXG4gIGV4cG9ydCB2YXIgQXBwcyA9IGNvbnRyb2xsZXIoXCJBcHBzXCIsXG4gICAgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiS3ViZXJuZXRlc1NlcnZpY2VzXCIsIFwiS3ViZXJuZXRlc1JlcGxpY2F0aW9uQ29udHJvbGxlcnNcIiwgXCJLdWJlcm5ldGVzUG9kc1wiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRsb2NhdGlvblwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcIiRodHRwXCIsIFwiJGRpYWxvZ1wiLCBcIiR0aW1lb3V0XCIsIFwid29ya3NwYWNlXCIsIFwiam9sb2tpYVwiLFxuICAgICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOiBLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UsIEt1YmVybmV0ZXNTZXJ2aWNlczpuZy5yZXNvdXJjZS5JUmVzb3VyY2VDbGFzcywgS3ViZXJuZXRlc1JlcGxpY2F0aW9uQ29udHJvbGxlcnM6bmcucmVzb3VyY2UuSVJlc291cmNlQ2xhc3MsIEt1YmVybmV0ZXNQb2RzOm5nLnJlc291cmNlLklSZXNvdXJjZUNsYXNzLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwsXG4gICAgICAgJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJvdXRlUGFyYW1zLCAkaHR0cCwgJGRpYWxvZywgJHRpbWVvdXQsIHdvcmtzcGFjZSwgam9sb2tpYTpKb2xva2lhLklKb2xva2lhKSA9PiB7XG5cbiAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG5cbiAgICAkc2NvcGUuYXBwcyA9IFtdO1xuICAgICRzY29wZS5hbGxBcHBzID0gW107XG4gICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgJHNjb3BlLmZldGNoZWQgPSBmYWxzZTtcbiAgICAkc2NvcGUuanNvbiA9ICcnO1xuICAgIENvbnRyb2xsZXJIZWxwZXJzLmJpbmRNb2RlbFRvU2VhcmNoUGFyYW0oJHNjb3BlLCAkbG9jYXRpb24sICdpZCcsICdfaWQnLCB1bmRlZmluZWQpO1xuICAgIENvbnRyb2xsZXJIZWxwZXJzLmJpbmRNb2RlbFRvU2VhcmNoUGFyYW0oJHNjb3BlLCAkbG9jYXRpb24sICdhcHBTZWxlY3RvclNob3cnLCAnb3BlbkFwcCcsIHVuZGVmaW5lZCk7XG4gICAgQ29udHJvbGxlckhlbHBlcnMuYmluZE1vZGVsVG9TZWFyY2hQYXJhbSgkc2NvcGUsICRsb2NhdGlvbiwgJ21vZGUnLCAnbW9kZScsICdkZXRhaWwnKTtcblxuICAgIHZhciBicmFuY2ggPSAkc2NvcGUuYnJhbmNoIHx8IFwibWFzdGVyXCI7XG4gICAgdmFyIG5hbWVzcGFjZSA9IG51bGw7XG5cbiAgICBmdW5jdGlvbiBhcHBNYXRjaGVzKGFwcCkge1xuICAgICAgdmFyIGZpbHRlclRleHQgPSAkc2NvcGUuYXBwU2VsZWN0b3IuZmlsdGVyVGV4dDtcbiAgICAgIGlmIChmaWx0ZXJUZXh0KSB7XG4gICAgICAgIHJldHVybiBDb3JlLm1hdGNoRmlsdGVySWdub3JlQ2FzZShhcHAuZ3JvdXBJZCwgZmlsdGVyVGV4dCkgfHxcbiAgICAgICAgICBDb3JlLm1hdGNoRmlsdGVySWdub3JlQ2FzZShhcHAuYXJ0aWZhY3RJZCwgZmlsdGVyVGV4dCkgfHxcbiAgICAgICAgICBDb3JlLm1hdGNoRmlsdGVySWdub3JlQ2FzZShhcHAubmFtZSwgZmlsdGVyVGV4dCkgfHxcbiAgICAgICAgICBDb3JlLm1hdGNoRmlsdGVySWdub3JlQ2FzZShhcHAuZGVzY3JpcHRpb24sIGZpbHRlclRleHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gYXBwUnVubmluZyhhcHApIHtcbiAgICAgIHJldHVybiAkc2NvcGUubW9kZWwuYXBwcy5hbnkoKHJ1bm5pbmcpID0+IHJ1bm5pbmcuYXBwUGF0aCA9PT0gYXBwLmFwcFBhdGgpO1xuICAgIH1cblxuICAgICRzY29wZS50YWJsZUNvbmZpZyA9IHtcbiAgICAgIGRhdGE6ICdtb2RlbC5hcHBzJyxcbiAgICAgIHNob3dTZWxlY3Rpb25DaGVja2JveDogdHJ1ZSxcbiAgICAgIGVuYWJsZVJvd0NsaWNrU2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgIG11bHRpU2VsZWN0OiB0cnVlLFxuICAgICAgc2VsZWN0ZWRJdGVtczogW10sXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIGZpbHRlclRleHQ6ICRsb2NhdGlvbi5zZWFyY2goKVtcInFcIl0gfHwgJydcbiAgICAgIH0sXG4gICAgICBjb2x1bW5EZWZzOiBbXG4gICAgICAgIHsgZmllbGQ6ICckbmFtZScsIGRpc3BsYXlOYW1lOiAnQXBwJywgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJhcHBJY29uVGVtcGxhdGUuaHRtbFwiKSB9LFxuICAgICAgICB7IGZpZWxkOiAnJHNlcnZpY2VzVGV4dCcsIGRpc3BsYXlOYW1lOiAnU2VydmljZXMnLCBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImFwcFNlcnZpY2VzVGVtcGxhdGUuaHRtbFwiKSB9LFxuICAgICAgICB7IGZpZWxkOiAnJHJlcGxpY2F0aW9uQ29udHJvbGxlcnNUZXh0JywgZGlzcGxheU5hbWU6ICdDb250cm9sbGVycycsIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiYXBwUmVwbGljYXRpb25Db250cm9sbGVyVGVtcGxhdGUuaHRtbFwiKSB9LFxuICAgICAgICB7IGZpZWxkOiAnJHBvZENvdW50JywgZGlzcGxheU5hbWU6ICdQb2RzJywgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJhcHBQb2RDb3VudHNBbmRMaW5rVGVtcGxhdGUuaHRtbFwiKSB9LFxuICAgICAgICB7IGZpZWxkOiAnJGNyZWF0aW9uRGF0ZScsIGRpc3BsYXlOYW1lOiAnRGVwbG95ZWQnLCBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImFwcERlcGxveWVkVGVtcGxhdGUuaHRtbFwiKSB9XG4gICAgICBdXG4gICAgfTtcblxuICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcblxuXG4gICAgJHNjb3BlLmV4cGFuZGVkUG9kcyA9IFtdO1xuXG4gICAgJHNjb3BlLiRvbignZG8tcmVzaXplJywgKCRldmVudCwgY29udHJvbGxlcikgPT4ge1xuICAgICAgJHNjb3BlLnJlc2l6ZURpYWxvZy5vcGVuKGNvbnRyb2xsZXIpO1xuICAgIH0pO1xuXG4gICAgICAgIFxuICAgICRzY29wZS5wb2RFeHBhbmRlZCA9IChwb2QpID0+IHtcbiAgICAgIHZhciBpZCA9IGdldE5hbWUocG9kKVxuICAgICAgcmV0dXJuIGlkICYmICgkc2NvcGUuZXhwYW5kZWRQb2RzIHx8IFtdKS5pbmRleE9mKGlkKSA+PSAwO1xuICAgIH07XG5cbiAgICAkc2NvcGUuZXhwYW5kUG9kID0gKHBvZCkgPT4ge1xuICAgICAgdmFyIGlkID0gZ2V0TmFtZShwb2QpO1xuICAgICAgaWYgKGlkKSB7XG4gICAgICAgICRzY29wZS5leHBhbmRlZFBvZHMucHVzaChpZCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgICRzY29wZS5jb2xsYXBzZVBvZCA9IChwb2QpID0+IHtcbiAgICAgIHZhciBpZCA9IGdldE5hbWUocG9kKTtcbiAgICAgIGlmIChpZCkge1xuICAgICAgICAkc2NvcGUuZXhwYW5kZWRQb2RzID0gJHNjb3BlLmV4cGFuZGVkUG9kcy5yZW1vdmUoKHYpID0+IGlkID09PSB2KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgJHNjb3BlLiRvbignJHJvdXRlVXBkYXRlJywgKCRldmVudCkgPT4ge1xuICAgICAgS3ViZXJuZXRlcy5zZXRKc29uKCRzY29wZSwgJGxvY2F0aW9uLnNlYXJjaCgpWydfaWQnXSwgJHNjb3BlLm1vZGVsLmFwcHMpO1xuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gZGVsZXRlQXBwKGFwcCwgb25Db21wbGV0ZUZuKSB7XG4gICAgICBmdW5jdGlvbiBkZWxldGVTZXJ2aWNlcyhzZXJ2aWNlcywgc2VydmljZSwgb25Db21wbGV0ZWRGbikge1xuICAgICAgICBpZiAoIXNlcnZpY2UgfHwgIXNlcnZpY2VzKSB7XG4gICAgICAgICAgcmV0dXJuIG9uQ29tcGxldGVkRm4oKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaWQgPSBnZXROYW1lKHNlcnZpY2UpO1xuICAgICAgICBpZiAoIWlkKSB7XG4gICAgICAgICAgbG9nLndhcm4oXCJObyBJRCBmb3Igc2VydmljZSBcIiArIGFuZ3VsYXIudG9Kc29uKHNlcnZpY2UpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBLdWJlcm5ldGVzU2VydmljZXMuZGVsZXRlKHtcbiAgICAgICAgICAgIGlkOiBpZFxuICAgICAgICAgIH0sIHVuZGVmaW5lZCwgKCkgPT4ge1xuICAgICAgICAgICAgbG9nLmRlYnVnKFwiRGVsZXRlZCBzZXJ2aWNlOiBcIiwgaWQpO1xuICAgICAgICAgICAgZGVsZXRlU2VydmljZXMoc2VydmljZXMsIHNlcnZpY2VzLnNoaWZ0KCksIG9uQ29tcGxldGVkRm4pO1xuICAgICAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgbG9nLmRlYnVnKFwiRXJyb3IgZGVsZXRpbmcgc2VydmljZTogXCIsIGVycm9yKTtcbiAgICAgICAgICAgIGRlbGV0ZVNlcnZpY2VzKHNlcnZpY2VzLCBzZXJ2aWNlcy5zaGlmdCgpLCBvbkNvbXBsZXRlZEZuKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBkZWxldGVSZXBsaWNhdGlvbkNvbnRyb2xsZXJzKHJlcGxpY2F0aW9uQ29udHJvbGxlcnMsIHJlcGxpY2F0aW9uQ29udHJvbGxlciwgb25Db21wbGV0ZWRGbikge1xuICAgICAgICBpZiAoIXJlcGxpY2F0aW9uQ29udHJvbGxlciB8fCAhcmVwbGljYXRpb25Db250cm9sbGVycykge1xuICAgICAgICAgIHJldHVybiBvbkNvbXBsZXRlZEZuKCk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGlkID0gZ2V0TmFtZShyZXBsaWNhdGlvbkNvbnRyb2xsZXIpO1xuICAgICAgICBpZiAoIWlkKSB7XG4gICAgICAgICAgbG9nLndhcm4oXCJObyBJRCBmb3IgcmVwbGljYXRpb25Db250cm9sbGVyIFwiICsgYW5ndWxhci50b0pzb24ocmVwbGljYXRpb25Db250cm9sbGVyKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgS3ViZXJuZXRlc1JlcGxpY2F0aW9uQ29udHJvbGxlcnMuZGVsZXRlKHtcbiAgICAgICAgICAgIGlkOiBpZFxuICAgICAgICAgIH0sIHVuZGVmaW5lZCwgKCkgPT4ge1xuICAgICAgICAgICAgbG9nLmRlYnVnKFwiRGVsZXRlZCByZXBsaWNhdGlvbkNvbnRyb2xsZXI6IFwiLCBpZCk7XG4gICAgICAgICAgICBkZWxldGVSZXBsaWNhdGlvbkNvbnRyb2xsZXJzKHJlcGxpY2F0aW9uQ29udHJvbGxlcnMsIHJlcGxpY2F0aW9uQ29udHJvbGxlcnMuc2hpZnQoKSwgb25Db21wbGV0ZWRGbik7XG4gICAgICAgICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICBsb2cuZGVidWcoXCJFcnJvciBkZWxldGluZyByZXBsaWNhdGlvbkNvbnRyb2xsZXI6IFwiLCBlcnJvcik7XG4gICAgICAgICAgICBkZWxldGVSZXBsaWNhdGlvbkNvbnRyb2xsZXJzKHJlcGxpY2F0aW9uQ29udHJvbGxlcnMsIHJlcGxpY2F0aW9uQ29udHJvbGxlcnMuc2hpZnQoKSwgb25Db21wbGV0ZWRGbik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZGVsZXRlUG9kcyhwb2RzLCBwb2QsIG9uQ29tcGxldGVkRm4pIHtcbiAgICAgICAgaWYgKCFwb2QgfHwgIXBvZHMpIHtcbiAgICAgICAgICByZXR1cm4gb25Db21wbGV0ZWRGbigpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBpZCA9IGdldE5hbWUocG9kKTtcbiAgICAgICAgaWYgKCFpZCkge1xuICAgICAgICAgIGxvZy53YXJuKFwiTm8gSUQgZm9yIHBvZCBcIiArIGFuZ3VsYXIudG9Kc29uKHBvZCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIEt1YmVybmV0ZXNQb2RzLmRlbGV0ZSh7XG4gICAgICAgICAgICBpZDogaWRcbiAgICAgICAgICB9LCB1bmRlZmluZWQsICgpID0+IHtcbiAgICAgICAgICAgIGxvZy5kZWJ1ZyhcIkRlbGV0ZWQgcG9kOiBcIiwgaWQpO1xuICAgICAgICAgICAgZGVsZXRlUG9kcyhwb2RzLCBwb2RzLnNoaWZ0KCksIG9uQ29tcGxldGVkRm4pO1xuICAgICAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgbG9nLmRlYnVnKFwiRXJyb3IgZGVsZXRpbmcgcG9kOiBcIiwgZXJyb3IpO1xuICAgICAgICAgICAgZGVsZXRlUG9kcyhwb2RzLCBwb2RzLnNoaWZ0KCksIG9uQ29tcGxldGVkRm4pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZhciBzZXJ2aWNlcyA9IFtdLmNvbmNhdChhcHAuc2VydmljZXMpO1xuICAgICAgZGVsZXRlU2VydmljZXMoc2VydmljZXMsIHNlcnZpY2VzLnNoaWZ0KCksICgpID0+IHtcblxuICAgICAgICB2YXIgcmVwbGljYXRpb25Db250cm9sbGVycyA9IFtdLmNvbmNhdChhcHAucmVwbGljYXRpb25Db250cm9sbGVycyk7XG4gICAgICAgIGRlbGV0ZVJlcGxpY2F0aW9uQ29udHJvbGxlcnMocmVwbGljYXRpb25Db250cm9sbGVycywgcmVwbGljYXRpb25Db250cm9sbGVycy5zaGlmdCgpLCAoKSA9PiB7XG5cbiAgICAgICAgICB2YXIgcG9kcyA9IFtdLmNvbmNhdChhcHAucG9kcyk7XG4gICAgICAgICAgZGVsZXRlUG9kcyhwb2RzLCBwb2RzLnNoaWZ0KCksIG9uQ29tcGxldGVGbik7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgJHNjb3BlLmRlbGV0ZVNpbmdsZUFwcCA9IChhcHApID0+IHtcbiAgICAgICRzY29wZS5kZWxldGVQcm9tcHQoW2FwcF0pO1xuICAgIH1cblxuICAgICRzY29wZS5kZWxldGVQcm9tcHQgPSAoc2VsZWN0ZWQpID0+IHtcbiAgICAgIGlmIChhbmd1bGFyLmlzU3RyaW5nKHNlbGVjdGVkKSkge1xuICAgICAgICBzZWxlY3RlZCA9IFt7XG4gICAgICAgICAgaWQ6IHNlbGVjdGVkXG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgICAgVUkubXVsdGlJdGVtQ29uZmlybUFjdGlvbkRpYWxvZyg8VUkuTXVsdGlJdGVtQ29uZmlybUFjdGlvbk9wdGlvbnM+e1xuICAgICAgICBjb2xsZWN0aW9uOiBzZWxlY3RlZCxcbiAgICAgICAgaW5kZXg6ICckbmFtZScsXG4gICAgICAgIG9uQ2xvc2U6IChyZXN1bHQ6Ym9vbGVhbikgPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgIGZ1bmN0aW9uIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBuZXh0KSB7XG4gICAgICAgICAgICAgIGlmIChuZXh0KSB7XG4gICAgICAgICAgICAgICAgdmFyIGlkID0gbmV4dC5uYW1lO1xuICAgICAgICAgICAgICAgIGxvZy5kZWJ1ZyhcImRlbGV0aW5nOiBcIiwgaWQpO1xuICAgICAgICAgICAgICAgIGRlbGV0ZUFwcChuZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBsb2cuZGVidWcoXCJkZWxldGVkOiBcIiwgaWQpO1xuICAgICAgICAgICAgICAgICAgZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIHNlbGVjdGVkLnNoaWZ0KCkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBzZWxlY3RlZC5zaGlmdCgpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiAnRGVsZXRlIEFwcHM/JyxcbiAgICAgICAgYWN0aW9uOiAnVGhlIGZvbGxvd2luZyBBcHBzIHdpbGwgYmUgZGVsZXRlZDonLFxuICAgICAgICBva1RleHQ6ICdEZWxldGUnLFxuICAgICAgICBva0NsYXNzOiAnYnRuLWRhbmdlcicsXG4gICAgICAgIGN1c3RvbTogXCJUaGlzIG9wZXJhdGlvbiBpcyBwZXJtYW5lbnQgb25jZSBjb21wbGV0ZWQhXCIsXG4gICAgICAgIGN1c3RvbUNsYXNzOiBcImFsZXJ0IGFsZXJ0LXdhcm5pbmdcIlxuICAgICAgfSkub3BlbigpO1xuICAgIH07XG5cbiAgICAkc2NvcGUuYXBwU2VsZWN0b3IgPSB7XG4gICAgICBmaWx0ZXJUZXh0OiBcIlwiLFxuICAgICAgZm9sZGVyczogW10sXG4gICAgICBzZWxlY3RlZEFwcHM6IFtdLFxuXG4gICAgICBpc09wZW46IChmb2xkZXIpID0+IHtcbiAgICAgICAgaWYgKCRzY29wZS5hcHBTZWxlY3Rvci5maWx0ZXJUZXh0ICE9PSAnJyB8fCBmb2xkZXIuZXhwYW5kZWQpIHtcbiAgICAgICAgICByZXR1cm4gXCJvcGVuZWRcIjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gXCJjbG9zZWRcIjtcbiAgICAgIH0sXG5cbiAgICAgIGdldFNlbGVjdGVkQ2xhc3M6IChhcHApID0+IHtcbiAgICAgICAgaWYgKGFwcC5hYnN0cmFjdCkge1xuICAgICAgICAgIHJldHVybiBcImFic3RyYWN0XCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFwcC5zZWxlY3RlZCkge1xuICAgICAgICAgIHJldHVybiBcInNlbGVjdGVkXCI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICB9LFxuXG4gICAgICBzaG93QXBwOiAoYXBwKSA9PiB7XG4gICAgICAgIHJldHVybiBhcHBNYXRjaGVzKGFwcCkgJiYgIWFwcFJ1bm5pbmcoYXBwKTtcbiAgICAgIH0sXG5cbiAgICAgIHNob3dGb2xkZXI6IChmb2xkZXIpID0+IHtcbiAgICAgICAgcmV0dXJuICEkc2NvcGUuYXBwU2VsZWN0b3IuZmlsdGVyVGV4dCB8fCBmb2xkZXIuYXBwcy5zb21lKChhcHApID0+IGFwcE1hdGNoZXMoYXBwKSAmJiAhYXBwUnVubmluZyhhcHApKTtcbiAgICAgIH0sXG5cbiAgICAgIGNsZWFyU2VsZWN0ZWQ6ICgpID0+IHtcbiAgICAgICAgYW5ndWxhci5mb3JFYWNoKCRzY29wZS5tb2RlbC5hcHBGb2xkZXJzLCAoZm9sZGVyKSA9PiB7XG4gICAgICAgICAgYW5ndWxhci5mb3JFYWNoKGZvbGRlci5hcHBzLCAoYXBwKSA9PiB7XG4gICAgICAgICAgICBhcHAuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgICRzY29wZS5hcHBTZWxlY3Rvci5zZWxlY3RlZEFwcHMgPSBbXTtcbiAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgIH0sXG5cbiAgICAgIHVwZGF0ZVNlbGVjdGVkOiAoKSA9PiB7XG4gICAgICAgIC8vIGxldHMgdXBkYXRlIHRoZSBzZWxlY3RlZCBhcHBzXG4gICAgICAgIHZhciBzZWxlY3RlZEFwcHMgPSBbXTtcbiAgICAgICAgYW5ndWxhci5mb3JFYWNoKCRzY29wZS5tb2RlbC5hcHBGb2xkZXJzLCAoZm9sZGVyKSA9PiB7XG4gICAgICAgICAgdmFyIGFwcHMgPSBmb2xkZXIuYXBwcy5maWx0ZXIoKGFwcCkgPT4gYXBwLnNlbGVjdGVkKTtcbiAgICAgICAgICBpZiAoYXBwcykge1xuICAgICAgICAgICAgc2VsZWN0ZWRBcHBzID0gc2VsZWN0ZWRBcHBzLmNvbmNhdChhcHBzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAkc2NvcGUuYXBwU2VsZWN0b3Iuc2VsZWN0ZWRBcHBzID0gc2VsZWN0ZWRBcHBzLnNvcnRCeShcIm5hbWVcIik7XG4gICAgICB9LFxuXG4gICAgICBzZWxlY3Q6IChhcHAsIGZsYWcpID0+IHtcbiAgICAgICAgYXBwLnNlbGVjdGVkID0gZmxhZztcbiAgICAgICAgJHNjb3BlLmFwcFNlbGVjdG9yLnVwZGF0ZVNlbGVjdGVkKCk7XG4gICAgICB9LFxuXG4gICAgICBoYXNTZWxlY3Rpb246ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICRzY29wZS5tb2RlbC5hcHBGb2xkZXJzLmFueSgoZm9sZGVyKSA9PiBmb2xkZXIuYXBwcy5hbnkoKGFwcCkgPT4gYXBwLnNlbGVjdGVkKSk7XG4gICAgICB9LFxuXG5cbiAgICAgIHJ1blNlbGVjdGVkQXBwczogKCkgPT4ge1xuICAgICAgICAvLyBsZXRzIHJ1biBhbGwgdGhlIHNlbGVjdGVkIGFwcHNcbiAgICAgICAgYW5ndWxhci5mb3JFYWNoKCRzY29wZS5hcHBTZWxlY3Rvci5zZWxlY3RlZEFwcHMsIChhcHApID0+IHtcbiAgICAgICAgICB2YXIgbmFtZSA9IGFwcC5uYW1lO1xuICAgICAgICAgIHZhciBtZXRhZGF0YVBhdGggPSBhcHAubWV0YWRhdGFQYXRoO1xuICAgICAgICAgIGlmIChtZXRhZGF0YVBhdGgpIHtcbiAgICAgICAgICAgIC8vIGxldHMgbG9hZCB0aGUganNvbi95YW1sXG4gICAgICAgICAgICAvL3ZhciB1cmwgPSBnaXRQYXRoVG9VcmwoV2lraS5naXRSZWxhdGl2ZVVSTChicmFuY2gsIG1ldGFkYXRhUGF0aCkpO1xuICAgICAgICAgICAgdmFyIHVybCA9IGdpdFBhdGhUb1VybChtZXRhZGF0YVBhdGgsIGJyYW5jaCk7XG4gICAgICAgICAgICBpZiAodXJsKSB7XG4gICAgICAgICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBsZXRzIGNvbnZlcnQgdGhlIGpzb24gb2JqZWN0IHN0cnVjdHVyZSBpbnRvIGEgc3RyaW5nXG4gICAgICAgICAgICAgICAgICAgIHZhciBqc29uID0gYW5ndWxhci50b0pzb24oZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBmbiA9ICgpID0+IHt9O1xuICAgICAgICAgICAgICAgICAgICBLdWJlcm5ldGVzLnJ1bkFwcCgkbG9jYXRpb24sICRzY29wZSwgJGh0dHAsIEt1YmVybmV0ZXNBcGlVUkwsIGpzb24sIG5hbWUsIGZuLCBuYW1lc3BhY2UpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLlxuICAgICAgICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICAgICAgJHNjb3BlLnN1bW1hcnlIdG1sID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGxvYWQgXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgLy8gbGV0cyBnbyBiYWNrIHRvIHRoZSBhcHBzIHZpZXdcbiAgICAgICAgJHNjb3BlLmFwcFNlbGVjdG9yLmNsZWFyU2VsZWN0ZWQoKTtcbiAgICAgICAgJHNjb3BlLmFwcFNlbGVjdG9yU2hvdyA9IGZhbHNlO1xuICAgICAgfVxuICAgIH07XG5cbiAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNIZWxwZXJzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIEJ1aWxkQ29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJCdWlsZENvbnRyb2xsZXJcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCJLdWJlcm5ldGVzU2NoZW1hXCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzU2NoZW1hLFxuICAgICAgICR0ZW1wbGF0ZUNhY2hlOm5nLklUZW1wbGF0ZUNhY2hlU2VydmljZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsICRyb3V0ZVBhcmFtcywgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAgICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAgICAgJHNjb3BlLmlkID0gJHJvdXRlUGFyYW1zW1wiaWRcIl07XG4gICAgICAgICRzY29wZS5zY2hlbWEgPSBLdWJlcm5ldGVzU2NoZW1hO1xuICAgICAgICAkc2NvcGUuY29uZmlnID0gS3ViZXJuZXRlc1NjaGVtYS5kZWZpbml0aW9ucy5vc19idWlsZF9CdWlsZDtcblxuICAgICAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG4gICAgICAgICRzY29wZS5icmVhZGNydW1iQ29uZmlnID0gRGV2ZWxvcGVyLmNyZWF0ZVByb2plY3RCcmVhZGNydW1icygkc2NvcGUuaWQpO1xuICAgICAgICAkc2NvcGUuc3ViVGFiQ29uZmlnID0gRGV2ZWxvcGVyLmNyZWF0ZVByb2plY3RTdWJOYXZCYXJzKCRzY29wZS5pZCk7XG5cbiAgICAgICAgJHNjb3BlLiRvbigna3ViZXJuZXRlc01vZGVsVXBkYXRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICRzY29wZS4kb24oJyRyb3V0ZVVwZGF0ZScsICgkZXZlbnQpID0+IHtcbiAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHVwZGF0ZURhdGEoKTtcblxuICAgICAgICBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuICAgICAgICAgICRzY29wZS5pdGVtID0gbnVsbDtcbiAgICAgICAgICBpZiAoJHNjb3BlLmlkKSB7XG4gICAgICAgICAgICB2YXIgdXJsID0gYnVpbGRSZXN0VXJsKCRzY29wZS5pZCk7XG4gICAgICAgICAgICAkaHR0cC5nZXQodXJsKS5cbiAgICAgICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICAgJHNjb3BlLmVudGl0eSA9IGVucmljaEJ1aWxkKGRhdGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAkc2NvcGUuZmV0Y2hlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICAgICAgfSkuXG4gICAgICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGxvYWQgXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAkc2NvcGUuZmV0Y2hlZCA9IHRydWU7XG4gICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNIZWxwZXJzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIEJ1aWxkQ29uZmlnQ29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJCdWlsZENvbmZpZ0NvbnRyb2xsZXJcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCJLdWJlcm5ldGVzU2NoZW1hXCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzU2NoZW1hLFxuICAgICAgICR0ZW1wbGF0ZUNhY2hlOm5nLklUZW1wbGF0ZUNhY2hlU2VydmljZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsICRyb3V0ZVBhcmFtcywgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAgICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAgICAgJHNjb3BlLmlkID0gJHJvdXRlUGFyYW1zW1wiaWRcIl07XG4gICAgICAgICRzY29wZS5zY2hlbWEgPSBLdWJlcm5ldGVzU2NoZW1hO1xuICAgICAgICAkc2NvcGUuY29uZmlnID0gS3ViZXJuZXRlc1NjaGVtYS5kZWZpbml0aW9ucy5vc19idWlsZF9CdWlsZENvbmZpZztcblxuICAgICAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG4gICAgICAgICRzY29wZS5icmVhZGNydW1iQ29uZmlnID0gRGV2ZWxvcGVyLmNyZWF0ZVByb2plY3RCcmVhZGNydW1icygkc2NvcGUuaWQpO1xuICAgICAgICAkc2NvcGUuc3ViVGFiQ29uZmlnID0gRGV2ZWxvcGVyLmNyZWF0ZVByb2plY3RTdWJOYXZCYXJzKCRzY29wZS5pZCk7XG5cbiAgICAgICAgJHNjb3BlLiRvbigna3ViZXJuZXRlc01vZGVsVXBkYXRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICRzY29wZS4kb24oJyRyb3V0ZVVwZGF0ZScsICgkZXZlbnQpID0+IHtcbiAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHVwZGF0ZURhdGEoKTtcblxuICAgICAgICBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuICAgICAgICAgICRzY29wZS5pdGVtID0gbnVsbDtcbiAgICAgICAgICBpZiAoJHNjb3BlLmlkKSB7XG4gICAgICAgICAgICB2YXIgdXJsID0gYnVpbGRDb25maWdSZXN0VXJsKCRzY29wZS5pZCk7XG4gICAgICAgICAgICAkaHR0cC5nZXQodXJsKS5cbiAgICAgICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICAgJHNjb3BlLmVudGl0eSA9IGRhdGE7XG4gICAgICAgICAgICAgICAgICB2YXIgc29ydGVkQnVpbGRzID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgIGVucmljaEJ1aWxkQ29uZmlnKGRhdGEsIHNvcnRlZEJ1aWxkcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgICB9KS5cbiAgICAgICAgICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgQnVpbGRDb25maWdFZGl0Q29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJCdWlsZENvbmZpZ0VkaXRDb250cm9sbGVyXCIsXG4gICAgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiS3ViZXJuZXRlc1N0YXRlXCIsIFwiS3ViZXJuZXRlc1NjaGVtYVwiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJGxvY2F0aW9uXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIixcbiAgICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDpLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc1NjaGVtYSxcbiAgICAgICAkdGVtcGxhdGVDYWNoZTpuZy5JVGVtcGxhdGVDYWNoZVNlcnZpY2UsICRsb2NhdGlvbjpuZy5JTG9jYXRpb25TZXJ2aWNlLCAkcm91dGVQYXJhbXMsICRodHRwLCAkdGltZW91dCwgS3ViZXJuZXRlc0FwaVVSTCkgPT4ge1xuXG4gICAgICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuICAgICAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG4gICAgICAgICRzY29wZS5pZCA9ICRyb3V0ZVBhcmFtc1tcImlkXCJdO1xuICAgICAgICAkc2NvcGUuc2NoZW1hID0gS3ViZXJuZXRlc1NjaGVtYTtcbiAgICAgICAgJHNjb3BlLmNvbmZpZyA9IEt1YmVybmV0ZXNTY2hlbWEuZGVmaW5pdGlvbnMub3NfYnVpbGRfQnVpbGRDb25maWc7XG5cbiAgICAgICAgS3ViZXJuZXRlcy5pbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpO1xuXG4gICAgICAgICRzY29wZS4kb24oJ2t1YmVybmV0ZXNNb2RlbFVwZGF0ZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgdXBkYXRlRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAkc2NvcGUuJG9uKCckcm91dGVVcGRhdGUnLCAoJGV2ZW50KSA9PiB7XG4gICAgICAgICAgdXBkYXRlRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICB1cGRhdGVEYXRhKCk7XG5cbiAgICAgICAgZnVuY3Rpb24gdXBkYXRlRGF0YSgpIHtcbiAgICAgICAgICAkc2NvcGUuaXRlbSA9IG51bGw7XG4gICAgICAgICAgaWYgKCRzY29wZS5pZCkge1xuICAgICAgICAgICAgdmFyIHVybCA9IGJ1aWxkQ29uZmlnUmVzdFVybDtcbiAgICAgICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAkc2NvcGUuZW50aXR5ID0gZGF0YTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgICAgIH0pLlxuICAgICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBsb2FkIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAvLyBUT0RPIGRlZmF1bHQgdG8gdGhlIHJpZ2h0IHJlZ2lzdHJ5IFVSTC4uLlxuICAgICAgICAgICAgdmFyIGRlZmF1bHRSZWdpc3RyeSA9IFwiMTcyLjMwLjE3LjE4OTo1MDAwXCI7XG5cbiAgICAgICAgICAgICRzY29wZS5lbnRpdHkgPSB7XG4gICAgICAgICAgICAgIFwiYXBpVmVyc2lvblwiOiBcInYxXCIsXG4gICAgICAgICAgICAgIFwia2luZFwiOiBcIkJ1aWxkQ29uZmlnXCIsXG4gICAgICAgICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgICAgICAgIFwibmFtZVwiOiBcIlwiLFxuICAgICAgICAgICAgICAgIFwibGFiZWxzXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwibmFtZVwiOiBcIlwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBcInBhcmFtZXRlcnNcIjoge1xuICAgICAgICAgICAgICAgIFwib3V0cHV0XCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiaW1hZ2VUYWdcIjogXCJcIixcbiAgICAgICAgICAgICAgICAgIFwicmVnaXN0cnlcIjogZGVmYXVsdFJlZ2lzdHJ5XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcInNvdXJjZVwiOiB7XG4gICAgICAgICAgICAgICAgICBcImdpdFwiOiB7XG4gICAgICAgICAgICAgICAgICAgIFwidXJpXCI6IFwiXCJcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJHaXRcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJzdHJhdGVneVwiOiB7XG4gICAgICAgICAgICAgICAgICBcInN0aVN0cmF0ZWd5XCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJidWlsZGVySW1hZ2VcIjogXCJmYWJyaWM4L2Jhc2Utc3RpXCJcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJTVElcIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXCJ0cmlnZ2Vyc1wiOiBbXVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgQnVpbGRDb25maWdzQ29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJCdWlsZENvbmZpZ3NDb250cm9sbGVyXCIsIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIkt1YmVybmV0ZXNCdWlsZHNcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCIkZGlhbG9nXCIsIFwiJHdpbmRvd1wiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiJGxvY2F0aW9uXCIsIFwibG9jYWxTdG9yYWdlXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIixcbiAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6S3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzQnVpbGRzLCBLdWJlcm5ldGVzU3RhdGUsICRkaWFsb2csICR3aW5kb3csICR0ZW1wbGF0ZUNhY2hlLCAkcm91dGVQYXJhbXMsICRsb2NhdGlvbjpuZy5JTG9jYXRpb25TZXJ2aWNlLCBsb2NhbFN0b3JhZ2UsICRodHRwLCAkdGltZW91dCwgS3ViZXJuZXRlc0FwaVVSTCkgPT4ge1xuXG4gICAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAgICRzY29wZS5LdWJlcm5ldGVzQnVpbGRzID0gS3ViZXJuZXRlc0J1aWxkcztcblxuICAgICAgJHNjb3BlLnRhYmxlQ29uZmlnID0ge1xuICAgICAgICBkYXRhOiAnbW9kZWwuYnVpbGRjb25maWdzJyxcbiAgICAgICAgc2hvd1NlbGVjdGlvbkNoZWNrYm94OiB0cnVlLFxuICAgICAgICBlbmFibGVSb3dDbGlja1NlbGVjdGlvbjogZmFsc2UsXG4gICAgICAgIG11bHRpU2VsZWN0OiB0cnVlLFxuICAgICAgICBzZWxlY3RlZEl0ZW1zOiBbXSxcbiAgICAgICAgZmlsdGVyT3B0aW9uczoge1xuICAgICAgICAgIGZpbHRlclRleHQ6ICRsb2NhdGlvbi5zZWFyY2goKVtcInFcIl0gfHwgJydcbiAgICAgICAgfSxcbiAgICAgICAgY29sdW1uRGVmczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnbWV0YWRhdGEubmFtZScsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ05hbWUnLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJidWlsZENvbmZpZ0xpbmtUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgICAgfSxcbi8qXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdzcGVjLnNvdXJjZS50eXBlJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnU291cmNlJ1xuICAgICAgICAgIH0sXG4qL1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnc3BlYy5zb3VyY2UuZ2l0LnVyaScsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ1JlcG9zaXRvcnknXG4gICAgICAgICAgfSxcbi8qXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdzcGVjLnN0cmF0ZWd5LnR5cGUnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdTdHJhdGVneSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnc3BlYy5zdHJhdGVneS5zdGlTdHJhdGVneS5pbWFnZScsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ1NvdXJjZSBJbWFnZSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnc3BlYy5vdXRwdXQuaW1hZ2VUYWcnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdPdXRwdXQgSW1hZ2UnXG4gICAgICAgICAgfSxcbiovXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICckZmFicmljOENvZGVWaWV3cycsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ0NvZGUnLFxuICAgICAgICAgICAgd2lkdGg6IFwiKioqXCIsXG4gICAgICAgICAgICBtaW5XaWR0aDogNTAwLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJidWlsZENvbmZpZ0NvZGVWaWV3c1RlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnJGZhYnJpYzhCdWlsZFZpZXdzJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnQnVpbGRzJyxcbiAgICAgICAgICAgIHdpZHRoOiBcIioqKlwiLFxuICAgICAgICAgICAgbWluV2lkdGg6IDUwMCxcbiAgICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiYnVpbGRDb25maWdCdWlsZFZpZXdzVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICckZmFicmljOEVudmlyb25tZW50Vmlld3MnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdFbnZpcm9ubWVudHMnLFxuICAgICAgICAgICAgd2lkdGg6IFwiKioqXCIsXG4gICAgICAgICAgICBtaW5XaWR0aDogNTAwLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJidWlsZENvbmZpZ0Vudmlyb25tZW50Vmlld3NUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJyRmYWJyaWM4VGVhbVZpZXdzJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnUGVvcGxlJyxcbiAgICAgICAgICAgIHdpZHRoOiBcIioqKlwiLFxuICAgICAgICAgICAgbWluV2lkdGg6IDUwMCxcbiAgICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiYnVpbGRDb25maWdUZWFtVmlld3NUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9O1xuXG4gICAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG5cbiAgICAgICRzY29wZS5pc0xvZ2dlZEludG9Hb2dzID0gRm9yZ2UuaXNMb2dnZWRJbnRvR29ncztcblxuICAgICAgJHNjb3BlLmRlbGV0ZVByb21wdCA9IChzZWxlY3RlZCkgPT4ge1xuICAgICAgICBVSS5tdWx0aUl0ZW1Db25maXJtQWN0aW9uRGlhbG9nKDxVSS5NdWx0aUl0ZW1Db25maXJtQWN0aW9uT3B0aW9ucz57XG4gICAgICAgICAgY29sbGVjdGlvbjogc2VsZWN0ZWQsXG4gICAgICAgICAgaW5kZXg6ICckbmFtZScsXG4gICAgICAgICAgb25DbG9zZTogKHJlc3VsdDpib29sZWFuKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgIGZ1bmN0aW9uIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBuZXh0KSB7XG4gICAgICAgICAgICAgICAgaWYgKG5leHQpIHtcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZUVudGl0eShuZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBzZWxlY3RlZC5zaGlmdCgpKTtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIHNlbGVjdGVkLnNoaWZ0KCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGl0bGU6ICdEZWxldGUgQnVpbGQgQ29uZmlncz8nLFxuICAgICAgICAgIGFjdGlvbjogJ1RoZSBmb2xsb3dpbmcgQnVpbGQgQ29uZmlncyB3aWxsIGJlIGRlbGV0ZWQ6JyxcbiAgICAgICAgICBva1RleHQ6ICdEZWxldGUnLFxuICAgICAgICAgIG9rQ2xhc3M6ICdidG4tZGFuZ2VyJyxcbiAgICAgICAgICBjdXN0b206IFwiVGhpcyBvcGVyYXRpb24gaXMgcGVybWFuZW50IG9uY2UgY29tcGxldGVkIVwiLFxuICAgICAgICAgIGN1c3RvbUNsYXNzOiBcImFsZXJ0IGFsZXJ0LXdhcm5pbmdcIlxuICAgICAgICB9KS5vcGVuKCk7XG4gICAgICB9O1xuXG4gICAgICBmdW5jdGlvbiBkZWxldGVFbnRpdHkoc2VsZWN0aW9uLCBuZXh0Q2FsbGJhY2spIHtcbiAgICAgICAgdmFyIG5hbWUgPSAoc2VsZWN0aW9uIHx8IHt9KS4kbmFtZTtcbiAgICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIkFib3V0IHRvIGRlbGV0ZSBidWlsZCBjb25maWc6IFwiICsgbmFtZSk7XG4gICAgICAgICAgdmFyIHVybCA9IGJ1aWxkQ29uZmlnUmVzdFVybChuYW1lKTtcbiAgICAgICAgICAkaHR0cC5kZWxldGUodXJsKS5cbiAgICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgIG5leHRDYWxsYmFjaygpO1xuICAgICAgICAgICAgfSkuXG4gICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gZGVsZXRlIGJ1aWxkIGNvbmZpZyBvbiBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwid2FybmluZzogbm8gbmFtZSBmb3Igc2VsZWN0aW9uOiBcIiArIGFuZ3VsYXIudG9Kc29uKHNlbGVjdGlvbikpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHVwZGF0ZURhdGEoKSB7XG4vKlxuICAgICAgICB2YXIgdXJsID0gYnVpbGRDb25maWdzUmVzdFVSTCgpO1xuICAgICAgICAkaHR0cC5nZXQodXJsKS5cbiAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhcImdvdCBkYXRhIFwiICsgYW5ndWxhci50b0pzb24oZGF0YSwgdHJ1ZSkpO1xuICAgICAgICAgICAgICB2YXIgc29ydGVkQnVpbGRzID0gbnVsbDtcbiAgICAgICAgICAgICAgJHNjb3BlLmJ1aWxkQ29uZmlncyA9IGVucmljaEJ1aWxkQ29uZmlncyhkYXRhLml0ZW1zLCBzb3J0ZWRCdWlsZHMpO1xuICAgICAgICAgICAgICAkc2NvcGUuZmV0Y2hlZCA9IHRydWU7XG4gICAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkuXG4gICAgICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBsb2FkIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgIH0pO1xuKi9cbiAgICAgIH1cblxuICAgICAgdXBkYXRlRGF0YSgpO1xuICAgIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBCdWlsZExvZ3NDb250cm9sbGVyID0gY29udHJvbGxlcihcIkJ1aWxkTG9nc0NvbnRyb2xsZXJcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCJLdWJlcm5ldGVzU2NoZW1hXCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzU2NoZW1hLFxuICAgICAgICR0ZW1wbGF0ZUNhY2hlOm5nLklUZW1wbGF0ZUNhY2hlU2VydmljZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsICRyb3V0ZVBhcmFtcywgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAgICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAgICAgJHNjb3BlLmlkID0gJHJvdXRlUGFyYW1zW1wiaWRcIl07XG4gICAgICAgICRzY29wZS5zY2hlbWEgPSBLdWJlcm5ldGVzU2NoZW1hO1xuICAgICAgICAkc2NvcGUuY29uZmlnID0gS3ViZXJuZXRlc1NjaGVtYS5kZWZpbml0aW9ucy5vc19idWlsZF9CdWlsZDtcblxuICAgICAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG5cbiAgICAgICAgJHNjb3BlLiRvbigna3ViZXJuZXRlc01vZGVsVXBkYXRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICRzY29wZS4kb24oJyRyb3V0ZVVwZGF0ZScsICgkZXZlbnQpID0+IHtcbiAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICRzY29wZS5sb2dzVGV4dCA9IFwiTG9hZGluZyBsb2dzLi4uXCI7XG5cbiAgICAgICAgdXBkYXRlRGF0YSgpO1xuXG4gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZURhdGEoKSB7XG4gICAgICAgICAgJHNjb3BlLml0ZW0gPSBudWxsO1xuICAgICAgICAgIGlmICgkc2NvcGUuaWQpIHtcbiAgICAgICAgICAgIHZhciB1cmwgPSBidWlsZFJlc3RVcmwoJHNjb3BlLmlkKTtcbiAgICAgICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAkc2NvcGUuZW50aXR5ID0gZW5yaWNoQnVpbGQoZGF0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgICB9KS5cbiAgICAgICAgICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHVybCA9IGJ1aWxkTG9nc1Jlc3RVcmwoJHNjb3BlLmlkKTtcbiAgICAgICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMpIHtcbiAgICAgICAgICAgICAgICAkc2NvcGUubG9nc1RleHQgPSBkYXRhO1xuICAgICAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgICAgIH0pLlxuICAgICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgJHNjb3BlLmxvZ3NUZXh0ID0gXCJGYWlsZWQgdG8gbG9hZCBsb2dzIGZyb206IFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgc3RhdHVzOiBcIiArIHN0YXR1cztcbiAgICAgICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgICB9KS5cbiAgICAgICAgICAgICAgY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgJHNjb3BlLmxvZ3NUZXh0ID0gXCJGYWlsZWQgdG8gbG9hZCBsb2dzOiBcIiArIGFuZ3VsYXIudG9Kc29uKGVycm9yLCB0cnVlKTtcbiAgICAgICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBCdWlsZHNDb250cm9sbGVyID0gY29udHJvbGxlcihcIkJ1aWxkc0NvbnRyb2xsZXJcIiwgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiS3ViZXJuZXRlc0J1aWxkc1wiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIiRkaWFsb2dcIiwgXCIkd2luZG93XCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkbG9jYXRpb25cIiwgXCJsb2NhbFN0b3JhZ2VcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDpLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UsIEt1YmVybmV0ZXNCdWlsZHMsIEt1YmVybmV0ZXNTdGF0ZSwgJGRpYWxvZywgJHdpbmRvdywgJHRlbXBsYXRlQ2FjaGUsICRyb3V0ZVBhcmFtcywgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsIGxvY2FsU3RvcmFnZSwgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuICAgICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICAgJHNjb3BlLkt1YmVybmV0ZXNCdWlsZHMgPSBLdWJlcm5ldGVzQnVpbGRzO1xuICAgICAgJHNjb3BlLmJ1aWxkQ29uZmlnSWQgPSAkcm91dGVQYXJhbXNbXCJpZFwiXTtcblxuICAgICAgJHNjb3BlLiRvbigna3ViZXJuZXRlc01vZGVsVXBkYXRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgIH0pO1xuXG4gICAgICAkc2NvcGUudGFibGVDb25maWcgPSB7XG4gICAgICAgIGRhdGE6ICdidWlsZHMnLFxuICAgICAgICBzaG93U2VsZWN0aW9uQ2hlY2tib3g6IHRydWUsXG4gICAgICAgIGVuYWJsZVJvd0NsaWNrU2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgICAgbXVsdGlTZWxlY3Q6IHRydWUsXG4gICAgICAgIHNlbGVjdGVkSXRlbXM6IFtdLFxuICAgICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgICAgZmlsdGVyVGV4dDogJGxvY2F0aW9uLnNlYXJjaCgpW1wicVwiXSB8fCAnJ1xuICAgICAgICB9LFxuICAgICAgICBjb2x1bW5EZWZzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdtZXRhZGF0YS5uYW1lJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnTmFtZScsXG4gICAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImJ1aWxkTGlua1RlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnJGNyZWF0aW9uRGF0ZScsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ1RpbWUnLFxuICAgICAgICAgICAgZGVmYXVsdFNvcnQ6IHRydWUsXG4gICAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImJ1aWxkVGltZVRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnc3RhdHVzJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnU3RhdHVzJyxcbiAgICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiYnVpbGRTdGF0dXNUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJyRsb2dzTGluaycsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ0xvZ3MnLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJidWlsZExvZ3NUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJyRwb2RMaW5rJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnQnVpbGQgUG9kJyxcbiAgICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiYnVpbGRQb2RUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgICAgfSxcbi8qXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdwYXJhbWV0ZXJzLnNvdXJjZS50eXBlJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnU291cmNlJ1xuICAgICAgICAgIH0sXG4qL1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAncGFyYW1ldGVycy5zb3VyY2UuZ2l0LnVyaScsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ1JlcG9zaXRvcnknLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJidWlsZFJlcG9zaXRvcnlUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJ3BhcmFtZXRlcnMuc3RyYXRlZ3kudHlwZScsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ1N0cmF0ZWd5J1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdwYXJhbWV0ZXJzLnN0cmF0ZWd5LnN0aVN0cmF0ZWd5LmltYWdlJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnU291cmNlIEltYWdlJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdwYXJhbWV0ZXJzLm91dHB1dC5pbWFnZVRhZycsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ091dHB1dCBJbWFnZSdcbiAgICAgICAgICB9XVxuICAgICAgfTtcblxuICAgICAgS3ViZXJuZXRlcy5pbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpO1xuICAgICAgJHNjb3BlLmJyZWFkY3J1bWJDb25maWcgPSBEZXZlbG9wZXIuY3JlYXRlUHJvamVjdEJyZWFkY3J1bWJzKCRzY29wZS5idWlsZENvbmZpZ0lkKTtcbiAgICAgICRzY29wZS5zdWJUYWJDb25maWcgPSBEZXZlbG9wZXIuY3JlYXRlUHJvamVjdFN1Yk5hdkJhcnMoJHNjb3BlLmJ1aWxkQ29uZmlnSWQpO1xuXG4gICAgICAkc2NvcGUuJGtlZXBQb2xsaW5nID0gKCkgPT4ga2VlcFBvbGxpbmdNb2RlbDtcbiAgICAgICRzY29wZS5mZXRjaCA9IFBvbGxIZWxwZXJzLnNldHVwUG9sbGluZygkc2NvcGUsIChuZXh0OigpID0+IHZvaWQpID0+IHtcbiAgICAgICAgdmFyIHVybCA9IGJ1aWxkc1Jlc3RVUkwoKTtcbiAgICAgICAgJGh0dHAuZ2V0KHVybCkuXG4gICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgIC8vY29uc29sZS5sb2coXCJnb3QgZGF0YSBcIiArIGFuZ3VsYXIudG9Kc29uKGRhdGEsIHRydWUpKTtcbiAgICAgICAgICAgICAgJHNjb3BlLmJ1aWxkcyA9IGVucmljaEJ1aWxkcyhkYXRhLml0ZW1zKTtcbiAgICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgICB9KS5cbiAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGxvYWQgXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgICRzY29wZS5mZXRjaCgpO1xuICAgIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgLy8gY29udHJvbGxlciBmb3IgY29ubmVjdGluZyB0byBhIHJlbW90ZSBjb250YWluZXIgdmlhIGpvbG9raWFcbiAgZXhwb3J0IHZhciBDb25uZWN0Q29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJDb25uZWN0Q29udHJvbGxlclwiLCBbXG4gICAgXCIkc2NvcGVcIiwgXCJsb2NhbFN0b3JhZ2VcIiwgXCJ1c2VyRGV0YWlsc1wiLCBcIkNvbm5lY3REaWFsb2dTZXJ2aWNlXCIsIFwiJGJyb3dzZXJcIixcbiAgICAoJHNjb3BlLCBsb2NhbFN0b3JhZ2UsIHVzZXJEZXRhaWxzLCBDb25uZWN0RGlhbG9nU2VydmljZSwgJGJyb3dzZXI6bmcuSUJyb3dzZXJTZXJ2aWNlKSA9PiB7XG5cbiAgICAgIHZhciBiYXNlOmFueSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Jhc2UnKTtcbiAgICAgIHZhciBiYXNlSHJlZiA9IGJhc2UgJiYgYmFzZS5ocmVmIHx8ICcnO1xuXG4gICAgICAkc2NvcGUuZG9Db25uZWN0ID0gKGVudGl0eSkgPT4ge1xuICAgICAgICB2YXIgY29ubmVjdFVybDphbnkgPSBuZXcgVVJJKGJhc2VIcmVmKTtcbiAgICAgICAgdmFyIHJldHVyblRvID0gbmV3IFVSSSgpLnRvU3RyaW5nKCk7XG4gICAgICAgIHZhciB0aXRsZSA9IGVudGl0eS5tZXRhZGF0YS5uYW1lIHx8ICdVbnRpdGxlZCBDb250YWluZXInO1xuICAgICAgICB2YXIgdG9rZW4gPSB1c2VyRGV0YWlscy50b2tlbiB8fCAnJztcbiAgICAgICAgY29ubmVjdFVybC5oYXNoKHRva2VuKS5xdWVyeSh7XG4gICAgICAgICAgam9sb2tpYVVybDogZW50aXR5LiRqb2xva2lhVXJsLFxuICAgICAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgICAgICByZXR1cm5UbzogcmV0dXJuVG9cbiAgICAgICAgfSk7XG4gICAgICAgIGxvZy5kZWJ1ZyhcIkNvbm5lY3QgVVJJOiBcIiwgY29ubmVjdFVybC50b1N0cmluZygpKTtcbiAgICAgICAgd2luZG93Lm9wZW4oY29ubmVjdFVybC50b1N0cmluZygpKTtcbiAgICAgIH07XG5cbiAgICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgRGVwbG95bWVudENvbmZpZ0NvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiRGVwbG95bWVudENvbmZpZ0NvbnRyb2xsZXJcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCJLdWJlcm5ldGVzU2NoZW1hXCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzU2NoZW1hLFxuICAgICAgICR0ZW1wbGF0ZUNhY2hlOm5nLklUZW1wbGF0ZUNhY2hlU2VydmljZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsICRyb3V0ZVBhcmFtcywgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAgICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAgICAgJHNjb3BlLmlkID0gJHJvdXRlUGFyYW1zW1wiaWRcIl07XG4gICAgICAgICRzY29wZS5zY2hlbWEgPSBLdWJlcm5ldGVzU2NoZW1hO1xuICAgICAgICAkc2NvcGUuY29uZmlnID0gS3ViZXJuZXRlc1NjaGVtYS5kZWZpbml0aW9ucy5vc19kZXBsb3lfRGVwbG95bWVudENvbmZpZztcblxuICAgICAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG5cbiAgICAgICAgJHNjb3BlLiRvbigna3ViZXJuZXRlc01vZGVsVXBkYXRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICRzY29wZS4kb24oJyRyb3V0ZVVwZGF0ZScsICgkZXZlbnQpID0+IHtcbiAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHVwZGF0ZURhdGEoKTtcblxuICAgICAgICBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuICAgICAgICAgICRzY29wZS5pdGVtID0gbnVsbDtcbiAgICAgICAgICBpZiAoJHNjb3BlLmlkKSB7XG4gICAgICAgICAgICB2YXIgdXJsID0gZGVwbG95bWVudENvbmZpZ1Jlc3RVcmwoJHNjb3BlLmlkKTtcbiAgICAgICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAkc2NvcGUuZW50aXR5ID0gZGF0YTtcbiAgICAgICAgICAgICAgICAgIGVucmljaERlcGxveW1lbnRDb25maWcoZGF0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgICB9KS5cbiAgICAgICAgICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgRGVwbG95bWVudENvbmZpZ3NDb250cm9sbGVyID0gY29udHJvbGxlcihcIkRlcGxveW1lbnRDb25maWdzQ29udHJvbGxlclwiLCBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzQnVpbGRzXCIsIFwiS3ViZXJuZXRlc1N0YXRlXCIsIFwiJGRpYWxvZ1wiLCBcIiR3aW5kb3dcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcIiRsb2NhdGlvblwiLCBcImxvY2FsU3RvcmFnZVwiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsXG4gICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc0J1aWxkcywgS3ViZXJuZXRlc1N0YXRlLCAkZGlhbG9nLCAkd2luZG93LCAkdGVtcGxhdGVDYWNoZSwgJHJvdXRlUGFyYW1zLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgbG9jYWxTdG9yYWdlLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG4gICAgICAkc2NvcGUuS3ViZXJuZXRlc0J1aWxkcyA9IEt1YmVybmV0ZXNCdWlsZHM7XG4gICAgICAkc2NvcGUuJG9uKCdrdWJlcm5ldGVzTW9kZWxVcGRhdGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgfSk7XG4gICAgICAkc2NvcGUubGFiZWxDbGFzcyA9IGNvbnRhaW5lckxhYmVsQ2xhc3M7XG5cbiAgICAgICRzY29wZS50YWJsZUNvbmZpZyA9IHtcbiAgICAgICAgZGF0YTogJ2RlcGxveW1lbnRDb25maWdzJyxcbiAgICAgICAgc2hvd1NlbGVjdGlvbkNoZWNrYm94OiB0cnVlLFxuICAgICAgICBlbmFibGVSb3dDbGlja1NlbGVjdGlvbjogZmFsc2UsXG4gICAgICAgIG11bHRpU2VsZWN0OiB0cnVlLFxuICAgICAgICBzZWxlY3RlZEl0ZW1zOiBbXSxcbiAgICAgICAgZmlsdGVyT3B0aW9uczoge1xuICAgICAgICAgIGZpbHRlclRleHQ6ICRsb2NhdGlvbi5zZWFyY2goKVtcInFcIl0gfHwgJydcbiAgICAgICAgfSxcbiAgICAgICAgY29sdW1uRGVmczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnbWV0YWRhdGEubmFtZScsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ05hbWUnLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJkZXBsb3ltZW50Q29uZmlnTGlua1RlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnbWV0YWRhdGEubmFtZXNwYWNlJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnTmFtZXNwYWNlJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICckaW1hZ2VDaGFuZ2VQYXJhbXMuYXV0b21hdGljJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnQXV0b21hdGljJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICckaW1hZ2VDaGFuZ2VQYXJhbXMuJGNvbnRhaW5lck5hbWVzJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnQ29udGFpbmVyIE5hbWVzJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICckaW1hZ2VDaGFuZ2VQYXJhbXMuZnJvbS5uYW1lJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnRnJvbSBpbWFnZSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnJGltYWdlQ2hhbmdlUGFyYW1zLnRhZycsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ1RhZydcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAndGVtcGxhdGUuY29udHJvbGxlclRlbXBsYXRlLnBvZFRlbXBsYXRlLnRhZ3MnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdMYWJlbHMnLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJkZXBsb3ltZW50Q29uZmlnTGFiZWxUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9O1xuXG4gICAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG5cbiAgICAgICRzY29wZS5kZWxldGVQcm9tcHQgPSAoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgVUkubXVsdGlJdGVtQ29uZmlybUFjdGlvbkRpYWxvZyg8VUkuTXVsdGlJdGVtQ29uZmlybUFjdGlvbk9wdGlvbnM+e1xuICAgICAgICAgIGNvbGxlY3Rpb246IHNlbGVjdGVkLFxuICAgICAgICAgIGluZGV4OiAnJG5hbWUnLFxuICAgICAgICAgIG9uQ2xvc2U6IChyZXN1bHQ6Ym9vbGVhbikgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICBmdW5jdGlvbiBkZWxldGVTZWxlY3RlZChzZWxlY3RlZCwgbmV4dCkge1xuICAgICAgICAgICAgICAgIGlmIChuZXh0KSB7XG4gICAgICAgICAgICAgICAgICBkZWxldGVFbnRpdHkobmV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGVTZWxlY3RlZChzZWxlY3RlZCwgc2VsZWN0ZWQuc2hpZnQoKSk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdXBkYXRlRGF0YSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBzZWxlY3RlZC5zaGlmdCgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHRpdGxlOiAnRGVsZXRlIERlcGxveW1lbnQ/JyxcbiAgICAgICAgICBhY3Rpb246ICdUaGUgZm9sbG93aW5nIERlcGxveW1lbnRzIHdpbGwgYmUgZGVsZXRlZDonLFxuICAgICAgICAgIG9rVGV4dDogJ0RlbGV0ZScsXG4gICAgICAgICAgb2tDbGFzczogJ2J0bi1kYW5nZXInLFxuICAgICAgICAgIGN1c3RvbTogXCJUaGlzIG9wZXJhdGlvbiBpcyBwZXJtYW5lbnQgb25jZSBjb21wbGV0ZWQhXCIsXG4gICAgICAgICAgY3VzdG9tQ2xhc3M6IFwiYWxlcnQgYWxlcnQtd2FybmluZ1wiXG4gICAgICAgIH0pLm9wZW4oKTtcbiAgICAgIH07XG5cbiAgICAgIGZ1bmN0aW9uIGRlbGV0ZUVudGl0eShzZWxlY3Rpb24sIG5leHRDYWxsYmFjaykge1xuICAgICAgICB2YXIgbmFtZSA9IChzZWxlY3Rpb24gfHwge30pLiRuYW1lO1xuICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwiQWJvdXQgdG8gZGVsZXRlIGRlcGxveW1lbnQgY29uZmlnOiBcIiArIG5hbWUpO1xuICAgICAgICAgIHZhciB1cmwgPSBkZXBsb3ltZW50Q29uZmlnUmVzdFVybChuYW1lKTtcbiAgICAgICAgICAkaHR0cC5kZWxldGUodXJsKS5cbiAgICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgIG5leHRDYWxsYmFjaygpO1xuICAgICAgICAgICAgfSkuXG4gICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gZGVsZXRlIGRlcGxveW1lbnQgY29uZmlnIG9uIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJ3YXJuaW5nOiBubyBuYW1lIGZvciBzZWxlY3Rpb246IFwiICsgYW5ndWxhci50b0pzb24oc2VsZWN0aW9uKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdXBkYXRlRGF0YSgpIHtcbiAgICAgICAgdmFyIHVybCA9IGRlcGxveW1lbnRDb25maWdzUmVzdFVSTCgpO1xuICAgICAgICAkaHR0cC5nZXQodXJsKS5cbiAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhcImdvdCBkYXRhIFwiICsgYW5ndWxhci50b0pzb24oZGF0YSwgdHJ1ZSkpO1xuICAgICAgICAgICAgICAkc2NvcGUuZGVwbG95bWVudENvbmZpZ3MgPSBlbnJpY2hEZXBsb3ltZW50Q29uZmlncyhkYXRhLml0ZW1zKTtcbiAgICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLlxuICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdXBkYXRlRGF0YSgpO1xuICAgIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBFdmVudHNDb250cm9sbGVyID0gY29udHJvbGxlcihcIkV2ZW50c0NvbnRyb2xsZXJcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU2VydmljZXNcIiwgXCJLdWJlcm5ldGVzUG9kc1wiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJGxvY2F0aW9uXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiam9sb2tpYVwiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsXG4gICAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6IEt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1NlcnZpY2VzOm5nLnJlc291cmNlLklSZXNvdXJjZUNsYXNzLCBLdWJlcm5ldGVzUG9kczpuZy5yZXNvdXJjZS5JUmVzb3VyY2VDbGFzcywgS3ViZXJuZXRlc1N0YXRlLFxuICAgICAgICR0ZW1wbGF0ZUNhY2hlOm5nLklUZW1wbGF0ZUNhY2hlU2VydmljZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsICRyb3V0ZVBhcmFtcywgam9sb2tpYTpKb2xva2lhLklKb2xva2lhLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcblxuICAgIENvbnRyb2xsZXJIZWxwZXJzLmJpbmRNb2RlbFRvU2VhcmNoUGFyYW0oJHNjb3BlLCAkbG9jYXRpb24sICdtb2RlJywgJ21vZGUnLCAnbGlzdCcpO1xuXG4gICAgJHNjb3BlLnRhYmxlQ29uZmlnID0ge1xuICAgICAgZGF0YTogJ21vZGVsLmV2ZW50cycsXG4gICAgICBzaG93U2VsZWN0aW9uQ2hlY2tib3g6IHRydWUsXG4gICAgICBlbmFibGVSb3dDbGlja1NlbGVjdGlvbjogZmFsc2UsXG4gICAgICBtdWx0aVNlbGVjdDogdHJ1ZSxcbiAgICAgIHNlbGVjdGVkSXRlbXM6IFtdLFxuICAgICAgZmlsdGVyT3B0aW9uczoge1xuICAgICAgICBmaWx0ZXJUZXh0OiAkbG9jYXRpb24uc2VhcmNoKClbXCJxXCJdIHx8ICcnXG4gICAgICB9LFxuICAgICAgY29sdW1uRGVmczogW1xuICAgICAgICB7IGZpZWxkOiAnJGZpcnN0VGltZXN0YW1wJyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ0ZpcnN0IFNlZW4nLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiZmlyc3RUaW1lc3RhbXBUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgIH0sXG4gICAgICAgIHsgZmllbGQ6ICckbGFzdFRpbWVzdGFtcCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdMYXN0IFNlZW4nLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwibGFzdFRpbWVzdGFtcFRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgfSxcbiAgICAgICAgeyBmaWVsZDogJ2NvdW50JyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ0NvdW50J1xuICAgICAgICB9LFxuICAgICAgICB7IGZpZWxkOiAnaW52b2x2ZWRPYmplY3QubmFtZScsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdOYW1lJyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImV2ZW50TmFtZVRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgfSxcbiAgICAgICAgeyBmaWVsZDogJ2ludm9sdmVkT2JqZWN0LmtpbmQnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnS2luZCcsXG4gICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJldmVudEtpbmRUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgIH0sXG4gICAgICAgIHsgZmllbGQ6ICdpbnZvbHZlZE9iamVjdC5maWVsZFBhdGgnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnU3ViamVjdCdcbiAgICAgICAgfSxcbiAgICAgICAgeyBmaWVsZDogJ3JlYXNvbicsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdSZWFzb24nXG4gICAgICAgIH0sXG4gICAgICAgIHsgZmllbGQ6ICdzb3VyY2UnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnU291cmNlJyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImV2ZW50U291cmNlVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICB9LFxuICAgICAgICB7IGZpZWxkOiAnbWVzc2FnZScsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdNZXNzYWdlJ1xuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcblxuICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcbiAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBmdW5jdGlvbiBieUlkKHRoaW5nKSB7XG4gICAgcmV0dXJuIHRoaW5nLmlkO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlS2V5KG5hbWVzcGFjZSwgaWQsIGtpbmQpIHtcbiAgICByZXR1cm4gKG5hbWVzcGFjZSB8fCBcIlwiKSArIFwiLVwiICsgKGtpbmQgfHwgJ3VuZGVmaW5lZCcpLnRvTG93ZXJDYXNlKCkgKyAnLScgKyAoaWQgfHwgJ3VuZGVmaW5lZCcpLnJlcGxhY2UoL1xcLi9nLCAnLScpO1xuICB9XG5cbiAgZnVuY3Rpb24gcG9wdWxhdGVLZXkoaXRlbSkge1xuICAgIHZhciByZXN1bHQgPSBpdGVtO1xuICAgIHJlc3VsdFsnX2tleSddID0gY3JlYXRlS2V5KGdldE5hbWVzcGFjZShpdGVtKSwgZ2V0TmFtZShpdGVtKSwgZ2V0S2luZChpdGVtKSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBvcHVsYXRlS2V5cyhpdGVtczpBcnJheTxhbnk+KSB7XG4gICAgdmFyIHJlc3VsdCA9IFtdO1xuICAgIGFuZ3VsYXIuZm9yRWFjaChpdGVtcywgKGl0ZW0pID0+IHtcbiAgICAgIHJlc3VsdC5wdXNoKHBvcHVsYXRlS2V5KGl0ZW0pKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gc2VsZWN0UG9kcyhwb2RzLCBuYW1lc3BhY2UsIGxhYmVscykge1xuICAgIHJldHVybiBwb2RzLmZpbHRlcigocG9kKSA9PiB7XG4gICAgICByZXR1cm4gZ2V0TmFtZXNwYWNlKHBvZCkgPT09IG5hbWVzcGFjZSAmJiBzZWxlY3Rvck1hdGNoZXMobGFiZWxzLCBnZXRMYWJlbHMocG9kKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG9iamVjdCB3aGljaCBrZWVwcyB0cmFjayBvZiBhbGwgdGhlIHBvZHMsIHJlcGxpY2F0aW9uIGNvbnRyb2xsZXJzLCBzZXJ2aWNlcyBhbmQgdGhlaXIgYXNzb2NpYXRpb25zXG4gICAqL1xuICBleHBvcnQgY2xhc3MgS3ViZXJuZXRlc01vZGVsU2VydmljZSB7XG4gICAgcHVibGljIGt1YmVybmV0ZXMgPSA8S3ViZXJuZXRlc1N0YXRlPiBudWxsO1xuICAgIHB1YmxpYyBhcHBzID0gW107XG4gICAgcHVibGljIHNlcnZpY2VzID0gW107XG5cbiAgICBwdWJsaWMgcmVwbGljYXRpb25jb250cm9sbGVycyA9IFtdO1xuICAgIHB1YmxpYyBnZXQgcmVwbGljYXRpb25Db250cm9sbGVycygpOkFycmF5PGFueT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVwbGljYXRpb25jb250cm9sbGVycztcbiAgICB9XG4gICAgcHVibGljIHNldCByZXBsaWNhdGlvbkNvbnRyb2xsZXJzKHJlcGxpY2F0aW9uQ29udHJvbGxlcnM6QXJyYXk8YW55Pikge1xuICAgICAgdGhpcy5yZXBsaWNhdGlvbmNvbnRyb2xsZXJzID0gcmVwbGljYXRpb25Db250cm9sbGVycztcbiAgICB9XG4gICAgcHVibGljIHBvZHMgPSBbXTtcbiAgICBwdWJsaWMgaG9zdHMgPSBbXTtcbiAgICBwdWJsaWMgZ2V0IG5hbWVzcGFjZXMoKTpBcnJheTxzdHJpbmc+IHtcbiAgICAgIHJldHVybiB0aGlzLmt1YmVybmV0ZXMubmFtZXNwYWNlcztcbiAgICB9XG4gICAgLy9wdWJsaWMgbmFtZXNwYWNlcyA9IFtdO1xuICAgIHB1YmxpYyByb3V0ZXMgPSBbXTtcbiAgICBwdWJsaWMgdGVtcGxhdGVzID0gW107XG4gICAgcHVibGljIHJlZHJhdyA9IGZhbHNlO1xuICAgIHB1YmxpYyByZXNvdXJjZVZlcnNpb25zID0ge307XG5cbiAgICAvLyB2YXJpb3VzIHZpZXdzIG9uIHRoZSBkYXRhXG4gICAgcHVibGljIHBvZHNCeUhvc3QgPSB7fTtcbiAgICBwdWJsaWMgc2VydmljZXNCeUtleSA9IHt9O1xuICAgIHB1YmxpYyByZXBsaWNhdGlvbkNvbnRyb2xsZXJzQnlLZXkgPSB7fTtcbiAgICBwdWJsaWMgcG9kc0J5S2V5ID0ge307XG5cbiAgICBwdWJsaWMgYXBwSW5mb3MgPSBbXTtcbiAgICBwdWJsaWMgYXBwVmlld3MgPSBbXTtcbiAgICBwdWJsaWMgYXBwRm9sZGVycyA9IFtdO1xuXG4gICAgcHVibGljIGZldGNoZWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgc2hvd1J1bkJ1dHRvbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGJ1aWxkY29uZmlncyA9IFtdO1xuICAgIHB1YmxpYyBldmVudHMgPSBbXTtcbiAgICBwdWJsaWMgd29ya3NwYWNlcyA9IFtdO1xuICAgIHB1YmxpYyBwcm9qZWN0cyA9IFtdO1xuXG4gICAgcHVibGljIGdldCBzZXJ2aWNlQXBwcygpOkFycmF5PGFueT4ge1xuICAgICAgcmV0dXJuIF8uZmlsdGVyKHRoaXMuc2VydmljZXMsIChzKSA9PiB7XG4gICAgICAgIHJldHVybiBzLiRob3N0ICYmIHMuJHNlcnZpY2VVcmwgJiYgcy4kcG9kQ291bnRcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyAka2VlcFBvbGxpbmcoKSB7XG4gICAgICByZXR1cm4ga2VlcFBvbGxpbmdNb2RlbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3JSZWRyYXcoZmxhZykge1xuICAgICAgdGhpcy5yZWRyYXcgPSB0aGlzLnJlZHJhdyB8fCBmbGFnO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZXJ2aWNlKG5hbWVzcGFjZSwgaWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VzQnlLZXlbY3JlYXRlS2V5KG5hbWVzcGFjZSwgaWQsICdzZXJ2aWNlJyldO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSZXBsaWNhdGlvbkNvbnRyb2xsZXIobmFtZXNwYWNlLCBpZCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVwbGljYXRpb25Db250cm9sbGVyc0J5S2V5W2NyZWF0ZUtleShuYW1lc3BhY2UsIGlkLCAncmVwbGljYXRpb25Db250cm9sbGVyJyldO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQb2QobmFtZXNwYWNlLCBpZCkge1xuICAgICAgcmV0dXJuIHRoaXMucG9kc0J5S2V5W2NyZWF0ZUtleShuYW1lc3BhY2UsIGlkLCAncG9kJyldO1xuICAgIH1cblxuICAgIHB1YmxpYyBwb2RzRm9yTmFtZXNwYWNlKG5hbWVzcGFjZSA9IHRoaXMuY3VycmVudE5hbWVzcGFjZSgpKSB7XG4gICAgICByZXR1cm4gXy5maWx0ZXIodGhpcy5wb2RzLCB7IG5hbWVzcGFjZTogbmFtZXNwYWNlIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgbmFtZXNwYWNlIG9yIHRoZSBkZWZhdWx0IG5hbWVzcGFjZVxuICAgICAqL1xuICAgIHB1YmxpYyBjdXJyZW50TmFtZXNwYWNlKCkge1xuICAgICAgdmFyIGFuc3dlciA9IG51bGw7XG4gICAgICBpZiAodGhpcy5rdWJlcm5ldGVzKSB7XG4gICAgICAgIGFuc3dlciA9IHRoaXMua3ViZXJuZXRlcy5zZWxlY3RlZE5hbWVzcGFjZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhbnN3ZXIgfHwgZGVmYXVsdE5hbWVzcGFjZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlSWNvblVybEFuZEFwcEluZm8oZW50aXR5LCBuYW1lRmllbGQ6IHN0cmluZykge1xuICAgICAgdmFyIGFuc3dlciA9IG51bGw7XG4gICAgICB2YXIgaWQgPSBnZXROYW1lKGVudGl0eSk7XG4gICAgICBlbnRpdHkuJGljb25VcmwgPSBDb3JlLnBhdGhHZXQoZW50aXR5LCBbJ21ldGFkYXRhJywgJ2Fubm90YXRpb25zJywgJ2ZhYnJpYzguJyArIGlkICsgJy9pY29uVXJsJ10pO1xuICAgICAgZW50aXR5LiRpbmZvID0gQ29yZS5wYXRoR2V0KGVudGl0eSwgWydtZXRhZGF0YScsICdhbm5vdGF0aW9ucycsICdmYWJyaWM4LicgKyBpZCArICcvc3VtbWFyeSddKTtcbiAgICAgIGlmIChlbnRpdHkuJGljb25VcmwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGlkICYmIG5hbWVGaWVsZCkge1xuICAgICAgICAodGhpcy50ZW1wbGF0ZXMgfHwgW10pLmZvckVhY2goKHRlbXBsYXRlKSA9PiB7XG4gICAgICAgICAgdmFyIG1ldGFkYXRhID0gdGVtcGxhdGUubWV0YWRhdGE7XG4gICAgICAgICAgaWYgKG1ldGFkYXRhKSB7XG4gICAgICAgICAgICB2YXIgYW5ub3RhdGlvbnMgPSBtZXRhZGF0YS5hbm5vdGF0aW9ucyB8fCB7fTtcbiAgICAgICAgICAgIHZhciBpY29uVXJsID0gYW5ub3RhdGlvbnNbXCJmYWJyaWM4LlwiICsgaWQgKyBcIi9pY29uVXJsXCJdIHx8IGFubm90YXRpb25zW1wiZmFicmljOC9pY29uVXJsXCJdO1xuICAgICAgICAgICAgaWYgKGljb25VcmwpIHtcbiAgICAgICAgICAgICAgKHRlbXBsYXRlLm9iamVjdHMgfHwgW10pLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgZW50aXR5TmFtZSA9IGdldE5hbWUoaXRlbSk7XG4gICAgICAgICAgICAgICAgaWYgKGlkID09PSBlbnRpdHlOYW1lKSB7XG4gICAgICAgICAgICAgICAgICBlbnRpdHkuJGljb25VcmwgPSBpY29uVXJsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgKHRoaXMuYXBwSW5mb3MgfHwgW10pLmZvckVhY2goKGFwcEluZm8pID0+IHtcbiAgICAgICAgICB2YXIgaWNvblBhdGggPSBhcHBJbmZvLmljb25QYXRoO1xuICAgICAgICAgIGlmIChpY29uUGF0aCAmJiAhYW5zd2VyICYmIGljb25QYXRoICE9PSBcIm51bGxcIikge1xuICAgICAgICAgICAgdmFyIGljb25VcmwgPSBnaXRQYXRoVG9VcmwoaWNvblBhdGgpO1xuICAgICAgICAgICAgdmFyIGlkcyA9IENvcmUucGF0aEdldChhcHBJbmZvLCBbXCJuYW1lc1wiLCBuYW1lRmllbGRdKTtcbiAgICAgICAgICAgIGFuZ3VsYXIuZm9yRWFjaChpZHMsIChhcHBJZCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoYXBwSWQgPT09IGlkKSB7XG4gICAgICAgICAgICAgICAgZW50aXR5LiRpY29uVXJsID0gaWNvblVybDtcbiAgICAgICAgICAgICAgICBlbnRpdHkuYXBwUGF0aCA9IGFwcEluZm8uYXBwUGF0aDtcbiAgICAgICAgICAgICAgICBlbnRpdHkuJGluZm8gPSBhcHBJbmZvO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKCFlbnRpdHkuJGljb25VcmwpIHtcbiAgICAgICAgZW50aXR5LiRpY29uVXJsID0gZGVmYXVsdEljb25Vcmw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG1heWJlSW5pdCgpIHtcbiAgICAgIHRoaXMuZmV0Y2hlZCA9IHRydWU7XG4gICAgICB0aGlzLnNlcnZpY2VzQnlLZXkgPSB7fTtcbiAgICAgIHRoaXMucG9kc0J5S2V5ID0ge307XG4gICAgICB0aGlzLnJlcGxpY2F0aW9uQ29udHJvbGxlcnNCeUtleSA9IHt9O1xuXG4gICAgICB0aGlzLnBvZHMuZm9yRWFjaCgocG9kKSA9PiB7XG4gICAgICAgIGlmICghcG9kLmtpbmQpIHBvZC5raW5kID0gXCJQb2RcIjtcbiAgICAgICAgdGhpcy5wb2RzQnlLZXlbcG9kLl9rZXldID0gcG9kO1xuICAgICAgICB2YXIgaG9zdCA9IGdldEhvc3QocG9kKTtcbiAgICAgICAgcG9kLiRsYWJlbHNUZXh0ID0gS3ViZXJuZXRlcy5sYWJlbHNUb1N0cmluZyhnZXRMYWJlbHMocG9kKSk7XG4gICAgICAgIGlmIChob3N0KSB7XG4gICAgICAgICAgcG9kLiRsYWJlbHNUZXh0ICs9IGxhYmVsRmlsdGVyVGV4dFNlcGFyYXRvciArIFwiaG9zdD1cIiArIGhvc3Q7XG4gICAgICAgIH1cbiAgICAgICAgcG9kLiRpY29uVXJsID0gZGVmYXVsdEljb25Vcmw7XG4gICAgICAgIHRoaXMuZGlzY292ZXJQb2RDb25uZWN0aW9ucyhwb2QpO1xuICAgICAgICBwb2QuJGNvbnRhaW5lclBvcnRzID0gW107XG5cbiAgICAgICAgdmFyIHN0YXJ0VGltZSA9IChwb2Quc3RhdHVzIHx8IHt9KS5zdGFydFRpbWU7XG4gICAgICAgIHBvZC4kc3RhcnRUaW1lID0gbnVsbDtcbiAgICAgICAgaWYgKHN0YXJ0VGltZSkge1xuICAgICAgICAgIHBvZC4kc3RhcnRUaW1lID0gbmV3IERhdGUoc3RhcnRUaW1lKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgY3JlYXRlZFRpbWUgPSBnZXRDcmVhdGlvblRpbWVzdGFtcChwb2QpO1xuICAgICAgICBwb2QuJGNyZWF0ZWRUaW1lID0gbnVsbDtcbiAgICAgICAgcG9kLiRhZ2UgPSBudWxsO1xuICAgICAgICBpZiAoY3JlYXRlZFRpbWUpIHtcbiAgICAgICAgICBwb2QuJGNyZWF0ZWRUaW1lID0gbmV3IERhdGUoY3JlYXRlZFRpbWUpO1xuICAgICAgICAgIHBvZC4kYWdlID0gcG9kLiRjcmVhdGVkVGltZS5yZWxhdGl2ZSgpO1xuICAgICAgICB9XG4gICAgICAgIHBvZC4kc3RhdHVzQ3NzID0gc3RhdHVzVGV4dFRvQ3NzQ2xhc3MoKHBvZC5zdGF0dXMgfHwge30pLnBoYXNlKTtcblxuICAgICAgICB2YXIgbWF4UmVzdGFydENvdW50ID0gMDtcbiAgICAgICAgYW5ndWxhci5mb3JFYWNoKENvcmUucGF0aEdldChwb2QsIFtcInN0YXR1c1wiLCBcImNvbnRhaW5lclN0YXR1c2VzXCJdKSwgKHN0YXR1cykgPT4ge1xuICAgICAgICAgIHZhciByZXN0YXJ0Q291bnQgPSBzdGF0dXMucmVzdGFydENvdW50O1xuICAgICAgICAgIGlmIChyZXN0YXJ0Q291bnQpIHtcbiAgICAgICAgICAgIGlmIChyZXN0YXJ0Q291bnQgPiBtYXhSZXN0YXJ0Q291bnQpIHtcbiAgICAgICAgICAgICAgbWF4UmVzdGFydENvdW50ID0gcmVzdGFydENvdW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChtYXhSZXN0YXJ0Q291bnQgKSB7XG4gICAgICAgICAgcG9kLiRyZXN0YXJ0Q291bnQgPSBtYXhSZXN0YXJ0Q291bnQ7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGltYWdlTmFtZXMgPSBcIlwiO1xuICAgICAgICBhbmd1bGFyLmZvckVhY2goQ29yZS5wYXRoR2V0KHBvZCwgW1wic3BlY1wiLCBcImNvbnRhaW5lcnNcIl0pLCAoY29udGFpbmVyKSA9PiB7XG4gICAgICAgICAgdmFyIGltYWdlID0gY29udGFpbmVyLmltYWdlO1xuICAgICAgICAgIGlmIChpbWFnZSkge1xuICAgICAgICAgICAgaWYgKCFpbWFnZU5hbWVzKSB7XG4gICAgICAgICAgICAgIGltYWdlTmFtZXMgPSBpbWFnZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGltYWdlTmFtZXMgPSBpbWFnZU5hbWVzICsgXCIgXCIgKyBpbWFnZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBpZHggPSBpbWFnZS5sYXN0SW5kZXhPZihcIjpcIik7XG4gICAgICAgICAgICBpZiAoaWR4ID4gMCkge1xuICAgICAgICAgICAgICBpbWFnZSA9IGltYWdlLnN1YnN0cmluZygwLCBpZHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHBhdGhzID0gaW1hZ2Uuc3BsaXQoXCIvXCIsIDMpO1xuICAgICAgICAgICAgaWYgKHBhdGhzLmxlbmd0aCkge1xuICAgICAgICAgICAgICB2YXIgYW5zd2VyID0gbnVsbDtcbiAgICAgICAgICAgICAgaWYgKHBhdGhzLmxlbmd0aCA9PSAzKSB7XG4gICAgICAgICAgICAgICAgYW5zd2VyID0gcGF0aHNbMV0gKyBcIi9cIiArIHBhdGhzWzJdO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhdGhzLmxlbmd0aCA9PSAyKSB7XG4gICAgICAgICAgICAgICAgYW5zd2VyID0gcGF0aHNbMF0gKyBcIi9cIiArIHBhdGhzWzFdO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGFuc3dlciA9IHBhdGhzWzBdICsgXCIvXCIgKyBwYXRoc1sxXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb250YWluZXIuJGltYWdlTGluayA9IFVybEhlbHBlcnMuam9pbihcImh0dHBzOi8vcmVnaXN0cnkuaHViLmRvY2tlci5jb20vdS9cIiwgYW5zd2VyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYW5ndWxhci5mb3JFYWNoKGNvbnRhaW5lci5wb3J0cywgKHBvcnQpID0+IHtcbiAgICAgICAgICAgIHZhciBjb250YWluZXJQb3J0ID0gcG9ydC5jb250YWluZXJQb3J0O1xuICAgICAgICAgICAgaWYgKGNvbnRhaW5lclBvcnQpIHtcbiAgICAgICAgICAgICAgcG9kLiRjb250YWluZXJQb3J0cy5wdXNoKGNvbnRhaW5lclBvcnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcG9kLiRpbWFnZU5hbWVzID0gaW1hZ2VOYW1lcztcbiAgICAgICAgdmFyIHBvZFN0YXR1cyA9IChwb2Quc3RhdHVzIHx8IHt9KTtcbiAgICAgICAgdmFyIHBvZFNwZWMgPSAocG9kLnNwZWMgfHwge30pO1xuICAgICAgICBwb2QuJHBvZElQID0gcG9kU3RhdHVzLnBvZElQO1xuICAgICAgICBwb2QuJGhvc3QgPSBwb2RTcGVjLmhvc3QgfHwgcG9kU3BlYy5ub2RlTmFtZSB8fCBwb2RTdGF0dXMuaG9zdElQO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2VydmljZXMuZm9yRWFjaCgoc2VydmljZSkgPT4ge1xuICAgICAgICBpZiAoIXNlcnZpY2Uua2luZCkgc2VydmljZS5raW5kID0gXCJTZXJ2aWNlXCI7XG4gICAgICAgIHRoaXMuc2VydmljZXNCeUtleVtzZXJ2aWNlLl9rZXldID0gc2VydmljZTtcbiAgICAgICAgdmFyIHNlbGVjdG9yID0gZ2V0U2VsZWN0b3Ioc2VydmljZSk7XG4gICAgICAgIHNlcnZpY2UuJHBvZHMgPSBbXTtcbiAgICAgICAgaWYgKCFzZXJ2aWNlLiRwb2RDb3VudGVycykge1xuICAgICAgICAgIHNlcnZpY2UuJHBvZENvdW50ZXJzID0ge307XG4gICAgICAgIH1cbiAgICAgICAgXy5hc3NpZ24oc2VydmljZS4kcG9kQ291bnRlcnMsIHNlbGVjdG9yID8gY3JlYXRlUG9kQ291bnRlcnMoc2VsZWN0b3IsIHRoaXMucG9kcywgc2VydmljZS4kcG9kcykgOiB7fSk7XG4gICAgICAgIHNlcnZpY2UuJHBvZENvdW50ID0gc2VydmljZS4kcG9kcy5sZW5ndGg7XG5cbiAgICAgICAgdmFyIHNlbGVjdGVkUG9kcyA9IHNlcnZpY2UuJHBvZHM7XG4gICAgICAgIHNlcnZpY2UuY29ubmVjdFRvID0gc2VsZWN0ZWRQb2RzLm1hcCgocG9kKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHBvZC5fa2V5O1xuICAgICAgICB9KS5qb2luKCcsJyk7XG4gICAgICAgIHNlcnZpY2UuJGxhYmVsc1RleHQgPSBLdWJlcm5ldGVzLmxhYmVsc1RvU3RyaW5nKGdldExhYmVscyhzZXJ2aWNlKSk7XG4gICAgICAgIHRoaXMudXBkYXRlSWNvblVybEFuZEFwcEluZm8oc2VydmljZSwgXCJzZXJ2aWNlTmFtZXNcIik7XG4gICAgICAgIHZhciBzcGVjID0gc2VydmljZS5zcGVjIHx8IHt9O1xuICAgICAgICBzZXJ2aWNlLiRwb3J0YWxJUCA9IHNwZWMucG9ydGFsSVA7XG4gICAgICAgIHNlcnZpY2UuJHNlbGVjdG9yVGV4dCA9IEt1YmVybmV0ZXMubGFiZWxzVG9TdHJpbmcoc3BlYy5zZWxlY3Rvcik7XG4gICAgICAgIHZhciBwb3J0cyA9IF8ubWFwKHNwZWMucG9ydHMgfHwgW10sIFwicG9ydFwiKTtcbiAgICAgICAgc2VydmljZS4kcG9ydHMgPSBwb3J0cztcbiAgICAgICAgc2VydmljZS4kcG9ydHNUZXh0ID0gcG9ydHMuam9pbihcIiwgXCIpO1xuICAgICAgICB2YXIgaWNvblVybCA9IHNlcnZpY2UuJGljb25Vcmw7XG4gICAgICAgIGlmIChpY29uVXJsICYmIHNlbGVjdGVkUG9kcykge1xuICAgICAgICAgIHNlbGVjdGVkUG9kcy5mb3JFYWNoKChwb2QpID0+IHtcbiAgICAgICAgICAgIHBvZC4kaWNvblVybCA9IGljb25Vcmw7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgc2VydmljZS4kc2VydmljZVVybCA9IHNlcnZpY2VMaW5rVXJsKHNlcnZpY2UpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucmVwbGljYXRpb25Db250cm9sbGVycy5mb3JFYWNoKChyZXBsaWNhdGlvbkNvbnRyb2xsZXIpID0+IHtcbiAgICAgICAgaWYgKCFyZXBsaWNhdGlvbkNvbnRyb2xsZXIua2luZCkgcmVwbGljYXRpb25Db250cm9sbGVyLmtpbmQgPSBcIlJlcGxpY2F0aW9uQ29udHJvbGxlclwiO1xuICAgICAgICB0aGlzLnJlcGxpY2F0aW9uQ29udHJvbGxlcnNCeUtleVtyZXBsaWNhdGlvbkNvbnRyb2xsZXIuX2tleV0gPSByZXBsaWNhdGlvbkNvbnRyb2xsZXJcbiAgICAgICAgICB2YXIgc2VsZWN0b3IgPSBnZXRTZWxlY3RvcihyZXBsaWNhdGlvbkNvbnRyb2xsZXIpO1xuICAgICAgICByZXBsaWNhdGlvbkNvbnRyb2xsZXIuJHBvZHMgPSBbXTtcbiAgICAgICAgcmVwbGljYXRpb25Db250cm9sbGVyLiRwb2RDb3VudGVycyA9IHNlbGVjdG9yID8gY3JlYXRlUG9kQ291bnRlcnMoc2VsZWN0b3IsIHRoaXMucG9kcywgcmVwbGljYXRpb25Db250cm9sbGVyLiRwb2RzKSA6IG51bGw7XG4gICAgICAgIHJlcGxpY2F0aW9uQ29udHJvbGxlci4kcG9kQ291bnQgPSByZXBsaWNhdGlvbkNvbnRyb2xsZXIuJHBvZHMubGVuZ3RoO1xuICAgICAgICByZXBsaWNhdGlvbkNvbnRyb2xsZXIuJHJlcGxpY2FzID0gKHJlcGxpY2F0aW9uQ29udHJvbGxlci5zcGVjIHx8IHt9KS5yZXBsaWNhcztcblxuICAgICAgICB2YXIgc2VsZWN0ZWRQb2RzID0gcmVwbGljYXRpb25Db250cm9sbGVyLiRwb2RzO1xuICAgICAgICByZXBsaWNhdGlvbkNvbnRyb2xsZXIuY29ubmVjdFRvID0gc2VsZWN0ZWRQb2RzLm1hcCgocG9kKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHBvZC5fa2V5O1xuICAgICAgICB9KS5qb2luKCcsJyk7XG4gICAgICAgIHJlcGxpY2F0aW9uQ29udHJvbGxlci4kbGFiZWxzVGV4dCA9IEt1YmVybmV0ZXMubGFiZWxzVG9TdHJpbmcoZ2V0TGFiZWxzKHJlcGxpY2F0aW9uQ29udHJvbGxlcikpO1xuICAgICAgICB0aGlzLnVwZGF0ZUljb25VcmxBbmRBcHBJbmZvKHJlcGxpY2F0aW9uQ29udHJvbGxlciwgXCJyZXBsaWNhdGlvbkNvbnRyb2xsZXJOYW1lc1wiKTtcbiAgICAgICAgdmFyIGljb25VcmwgPSAgcmVwbGljYXRpb25Db250cm9sbGVyLiRpY29uVXJsO1xuICAgICAgICBpZiAoaWNvblVybCAmJiBzZWxlY3RlZFBvZHMpIHtcbiAgICAgICAgICBzZWxlY3RlZFBvZHMuZm9yRWFjaCgocG9kKSA9PiB7XG4gICAgICAgICAgICBwb2QuJGljb25VcmwgPSBpY29uVXJsO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gc2VydmljZXMgbWF5IG5vdCBtYXAgdG8gYW4gaWNvbiBidXQgdGhlaXIgcG9kcyBtYXkgZG8gdmlhIHRoZSBSQ1xuICAgICAgLy8gc28gbGV0cyBkZWZhdWx0IGl0Li4uXG4gICAgICB0aGlzLnNlcnZpY2VzLmZvckVhY2goKHNlcnZpY2UpID0+IHtcbiAgICAgICAgdmFyIGljb25VcmwgPSBzZXJ2aWNlLiRpY29uVXJsO1xuICAgICAgICB2YXIgc2VsZWN0ZWRQb2RzID0gc2VydmljZS4kcG9kcztcbiAgICAgICAgaWYgKHNlbGVjdGVkUG9kcykge1xuICAgICAgICAgIGlmICghaWNvblVybCB8fCBpY29uVXJsID09PSBkZWZhdWx0SWNvblVybCkge1xuICAgICAgICAgICAgaWNvblVybCA9IG51bGw7XG4gICAgICAgICAgICBzZWxlY3RlZFBvZHMuZm9yRWFjaCgocG9kKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghaWNvblVybCkge1xuICAgICAgICAgICAgICAgIGljb25VcmwgPSBwb2QuJGljb25Vcmw7XG4gICAgICAgICAgICAgICAgaWYgKGljb25VcmwpIHtcbiAgICAgICAgICAgICAgICAgIHNlcnZpY2UuJGljb25VcmwgPSBpY29uVXJsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy51cGRhdGVBcHBzKCk7XG5cbiAgICAgIHZhciBwb2RzQnlIb3N0ID0ge307XG4gICAgICB0aGlzLnBvZHMuZm9yRWFjaCgocG9kKSA9PiB7XG4gICAgICAgIHZhciBob3N0ID0gZ2V0SG9zdChwb2QpO1xuICAgICAgICB2YXIgcG9kc0Zvckhvc3QgPSBwb2RzQnlIb3N0W2hvc3RdO1xuICAgICAgICBpZiAoIXBvZHNGb3JIb3N0KSB7XG4gICAgICAgICAgcG9kc0Zvckhvc3QgPSBbXTtcbiAgICAgICAgICBwb2RzQnlIb3N0W2hvc3RdID0gcG9kc0Zvckhvc3Q7XG4gICAgICAgIH1cbiAgICAgICAgcG9kc0Zvckhvc3QucHVzaChwb2QpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnBvZHNCeUhvc3QgPSBwb2RzQnlIb3N0O1xuXG4gICAgICB2YXIgdG1wSG9zdHMgPSBbXTtcbiAgICAgIGZvciAodmFyIGhvc3RLZXkgaW4gcG9kc0J5SG9zdCkge1xuICAgICAgICB2YXIgaG9zdFBvZHMgPSBbXTtcbiAgICAgICAgdmFyIHBvZENvdW50ZXJzID0gY3JlYXRlUG9kQ291bnRlcnMoKHBvZCkgPT4gZ2V0SG9zdChwb2QpID09PSBob3N0S2V5LCB0aGlzLnBvZHMsIGhvc3RQb2RzLCBcImhvc3Q9XCIgKyBob3N0S2V5KTtcbiAgICAgICAgdmFyIGhvc3RJUCA9IG51bGw7XG4gICAgICAgIGlmIChob3N0UG9kcy5sZW5ndGgpIHtcbiAgICAgICAgICB2YXIgcG9kID0gaG9zdFBvZHNbMF07XG4gICAgICAgICAgdmFyIGN1cnJlbnRTdGF0ZSA9IHBvZC5zdGF0dXM7XG4gICAgICAgICAgaWYgKGN1cnJlbnRTdGF0ZSkge1xuICAgICAgICAgICAgaG9zdElQID0gY3VycmVudFN0YXRlLmhvc3RJUDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGhvc3REZXRhaWxzID0ge1xuICAgICAgICAgIG5hbWU6IGhvc3RLZXksXG4gICAgICAgICAgaWQ6IGhvc3RLZXksXG4gICAgICAgICAgZWxlbWVudElkOiBob3N0S2V5LnJlcGxhY2UoL1xcLi9nLCAnXycpLFxuICAgICAgICAgIGhvc3RJUDogaG9zdElQLFxuICAgICAgICAgIHBvZHM6IGhvc3RQb2RzLFxuICAgICAgICAgIGtpbmQ6IFwiSG9zdFwiLFxuICAgICAgICAgICAgJHBvZENvdW50ZXJzOiBwb2RDb3VudGVycyxcbiAgICAgICAgICAgICRpY29uVXJsOiBob3N0SWNvblVybFxuICAgICAgICB9O1xuICAgICAgICB0bXBIb3N0cy5wdXNoKGhvc3REZXRhaWxzKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5ob3N0cyA9IHRtcEhvc3RzO1xuXG4gICAgICBlbnJpY2hCdWlsZENvbmZpZ3ModGhpcy5idWlsZGNvbmZpZ3MpO1xuICAgICAgZW5yaWNoRXZlbnRzKHRoaXMuZXZlbnRzLCB0aGlzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlQXBwcygpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIGxldHMgY3JlYXRlIHRoZSBhcHAgdmlld3MgYnkgdHJ5aW5nIHRvIGpvaW4gY29udHJvbGxlcnMgLyBzZXJ2aWNlcyAvIHBvZHMgdGhhdCBhcmUgcmVsYXRlZFxuICAgICAgICB2YXIgYXBwVmlld3MgPSBbXTtcblxuICAgICAgICB0aGlzLnJlcGxpY2F0aW9uQ29udHJvbGxlcnMuZm9yRWFjaCgocmVwbGljYXRpb25Db250cm9sbGVyKSA9PiB7XG4gICAgICAgICAgdmFyIG5hbWUgPSBnZXROYW1lKHJlcGxpY2F0aW9uQ29udHJvbGxlcik7XG4gICAgICAgICAgdmFyICRpY29uVXJsID0gcmVwbGljYXRpb25Db250cm9sbGVyLiRpY29uVXJsO1xuICAgICAgICAgIGFwcFZpZXdzLnB1c2goe1xuICAgICAgICAgICAgYXBwUGF0aDogXCIvZHVtbXlQYXRoL1wiICsgbmFtZSxcbiAgICAgICAgICAgICRuYW1lOiBuYW1lLFxuICAgICAgICAgICAgJGluZm86IHtcbiAgICAgICAgICAgICAgJGljb25Vcmw6ICRpY29uVXJsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgJGljb25Vcmw6ICRpY29uVXJsLFxuICAgICAgICAgICAgcmVwbGljYXRpb25Db250cm9sbGVyczogW3JlcGxpY2F0aW9uQ29udHJvbGxlcl0sXG4gICAgICAgICAgICBwb2RzOiByZXBsaWNhdGlvbkNvbnRyb2xsZXIuJHBvZHMgfHwgW10sXG4gICAgICAgICAgICBzZXJ2aWNlczogW11cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdmFyIGhhc1RlbXBsYXRlc1NlcnZpY2UgPSBpc09wZW5TaGlmdDtcbiAgICAgICAgdmFyIG5vTWF0Y2hlcyA9IFtdO1xuICAgICAgICB0aGlzLnNlcnZpY2VzLmZvckVhY2goKHNlcnZpY2UpID0+IHtcbiAgICAgICAgICB2YXIgbmFtZSA9IGdldE5hbWUoc2VydmljZSk7XG4gICAgICAgICAgaWYgKG5hbWUgPT09IFwidGVtcGxhdGVzXCIpIHtcbiAgICAgICAgICAgIHZhciBwb2RDb3VudGVycyA9IHNlcnZpY2UuJHBvZENvdW50ZXJzO1xuICAgICAgICAgICAgaWYgKHBvZENvdW50ZXJzICYmIHBvZENvdW50ZXJzLnZhbGlkKSB7XG4gICAgICAgICAgICAgIGhhc1RlbXBsYXRlc1NlcnZpY2UgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBub3cgbGV0cyBzZWUgaWYgd2UgY2FuIGZpbmQgYW4gYXBwIHdpdGggYW4gUkMgb2YgdGhlIHNhbWUgc2VsZWN0b3JcbiAgICAgICAgICB2YXIgbWF0Y2hlc0FwcCA9IG51bGw7XG4gICAgICAgICAgYXBwVmlld3MuZm9yRWFjaCgoYXBwVmlldykgPT4ge1xuICAgICAgICAgICAgYXBwVmlldy5yZXBsaWNhdGlvbkNvbnRyb2xsZXJzLmZvckVhY2goKHJlcGxpY2F0aW9uQ29udHJvbGxlcikgPT4ge1xuICAgICAgICAgICAgICB2YXIgcmVwU2VsZWN0b3IgPSBnZXRTZWxlY3RvcihyZXBsaWNhdGlvbkNvbnRyb2xsZXIpO1xuICAgICAgICAgICAgICBpZiAocmVwU2VsZWN0b3IgJiYgXG4gICAgICAgICAgICAgICAgICBzZWxlY3Rvck1hdGNoZXMocmVwU2VsZWN0b3IsIGdldFNlbGVjdG9yKHNlcnZpY2UpKSAmJiBcbiAgICAgICAgICAgICAgICAgIGdldE5hbWVzcGFjZShzZXJ2aWNlKSA9PT0gZ2V0TmFtZXNwYWNlKHJlcGxpY2F0aW9uQ29udHJvbGxlcikpIHtcbiAgICAgICAgICAgICAgICBtYXRjaGVzQXBwID0gYXBwVmlldztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAobWF0Y2hlc0FwcCkge1xuICAgICAgICAgICAgbWF0Y2hlc0FwcC5zZXJ2aWNlcy5wdXNoKHNlcnZpY2UpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBub01hdGNoZXMucHVzaChzZXJ2aWNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBsb2cuZGVidWcoXCJubyBtYXRjaGVzOiBcIiwgbm9NYXRjaGVzKTtcbiAgICAgICAgbm9NYXRjaGVzLmZvckVhY2goKHNlcnZpY2UpID0+IHtcbiAgICAgICAgICB2YXIgYXBwVmlldyA9IF8uZmluZChhcHBWaWV3cywgKGFwcFZpZXcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBfLmFueShhcHBWaWV3LnJlcGxpY2F0aW9uQ29udHJvbGxlcnMsIChyYykgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gXy5zdGFydHNXaXRoKGdldE5hbWUocmMpLCBnZXROYW1lKHNlcnZpY2UpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChhcHBWaWV3KSB7XG4gICAgICAgICAgICBhcHBWaWV3LnNlcnZpY2VzLnB1c2goc2VydmljZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciAkaWNvblVybCA9IHNlcnZpY2UuJGljb25Vcmw7XG4gICAgICAgICAgICBhcHBWaWV3cy5wdXNoKHtcbiAgICAgICAgICAgICAgYXBwUGF0aDogXCIvZHVtbXlQYXRoL1wiICsgbmFtZSxcbiAgICAgICAgICAgICAgJG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgICRpbmZvOiB7XG4gICAgICAgICAgICAgICAgJGljb25Vcmw6ICRpY29uVXJsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgJGljb25Vcmw6ICRpY29uVXJsLFxuICAgICAgICAgICAgICByZXBsaWNhdGlvbkNvbnRyb2xsZXJzOiBbXSxcbiAgICAgICAgICAgICAgcG9kczogc2VydmljZS4kcG9kcyB8fCBbXSxcbiAgICAgICAgICAgICAgc2VydmljZXM6IFtzZXJ2aWNlXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnNob3dSdW5CdXR0b24gPSBoYXNUZW1wbGF0ZXNTZXJ2aWNlO1xuXG4gICAgICAgIGFuZ3VsYXIuZm9yRWFjaCh0aGlzLnJvdXRlcywgKHJvdXRlKSA9PiB7XG4gICAgICAgICAgdmFyIG1ldGFkYXRhID0gcm91dGUubWV0YWRhdGEgfHwge307XG4gICAgICAgICAgdmFyIHNwZWMgPSByb3V0ZS5zcGVjIHx8IHt9O1xuICAgICAgICAgIHZhciBzZXJ2aWNlTmFtZSA9IENvcmUucGF0aEdldChzcGVjLCBbXCJ0b1wiLCBcIm5hbWVcIl0pO1xuICAgICAgICAgIHZhciBob3N0ID0gc3BlYy5ob3N0O1xuICAgICAgICAgIHZhciBuYW1lc3BhY2UgPSBnZXROYW1lc3BhY2Uocm91dGUpO1xuICAgICAgICAgIGlmIChzZXJ2aWNlTmFtZSAmJiBob3N0KSB7XG4gICAgICAgICAgICB2YXIgc2VydmljZSA9IHRoaXMuZ2V0U2VydmljZShuYW1lc3BhY2UsIHNlcnZpY2VOYW1lKTtcbiAgICAgICAgICAgIGlmIChzZXJ2aWNlKSB7XG4gICAgICAgICAgICAgIHNlcnZpY2UuJGhvc3QgPSBob3N0O1xuXG4gICAgICAgICAgICAgIC8vIFRPRE8gd2UgY291bGQgdXNlIHNvbWUgYW5ub3RhdGlvbnMgLyBtZXRhZGF0YSB0byBkZWR1Y2Ugd2hhdCBVUkwgd2Ugc2hvdWxkIHVzZSB0byBvcGVuIHRoaXNcbiAgICAgICAgICAgICAgLy8gc2VydmljZSBpbiB0aGUgY29uc29sZS4gRm9yIG5vdyBqdXN0IGFzc3VtZSBpdHMgaHR0cDpcblxuICAgICAgICAgICAgICBpZiAoaG9zdCkge1xuICAgICAgICAgICAgICAgIHZhciBob3N0VXJsID0gIGhvc3Q7XG4gICAgICAgICAgICAgICAgaWYgKGhvc3RVcmwuaW5kZXhPZihcIjovL1wiKSA8IDApIHtcbiAgICAgICAgICAgICAgICAgIGhvc3RVcmwgPSBcImh0dHA6Ly9cIiArIGhvc3Q7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlcnZpY2UuJGNvbm5lY3RVcmwgPSBVcmxIZWxwZXJzLmpvaW4oaG9zdFVybCwgIFwiL1wiKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbG9nLmRlYnVnKFwiQ291bGQgbm90IGZpbmQgc2VydmljZSBcIiArIHNlcnZpY2VOYW1lICsgXCIgbmFtZXNwYWNlIFwiICsgbmFtZXNwYWNlICsgXCIgZm9yIHJvdXRlOiBcIiArIG1ldGFkYXRhLm5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgYXBwVmlld3MgPSBwb3B1bGF0ZUtleXMoYXBwVmlld3MpLnNvcnRCeSgoYXBwVmlldykgPT4gYXBwVmlldy5fa2V5KTtcblxuICAgICAgICBBcnJheUhlbHBlcnMuc3luYyh0aGlzLmFwcFZpZXdzLCBhcHBWaWV3cywgJyRuYW1lJyk7XG5cbiAgICAgICAgaWYgKHRoaXMuYXBwSW5mb3MgJiYgdGhpcy5hcHBWaWV3cykge1xuICAgICAgICAgIHZhciBmb2xkZXJNYXAgPSB7fTtcbiAgICAgICAgICB2YXIgZm9sZGVycyA9IFtdO1xuICAgICAgICAgIHZhciBhcHBNYXAgPSB7fTtcbiAgICAgICAgICBhbmd1bGFyLmZvckVhY2godGhpcy5hcHBJbmZvcywgKGFwcEluZm8pID0+IHtcbiAgICAgICAgICAgIGlmICghYXBwSW5mby4kaWNvblVybCAmJiBhcHBJbmZvLmljb25QYXRoICYmIGFwcEluZm8uaWNvblBhdGggIT09IFwibnVsbFwiKSB7XG4gICAgICAgICAgICAgIGFwcEluZm8uJGljb25VcmwgPSBnaXRQYXRoVG9VcmwoYXBwSW5mby5pY29uUGF0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgYXBwUGF0aCA9IGFwcEluZm8uYXBwUGF0aDtcbiAgICAgICAgICAgIGlmIChhcHBQYXRoKSB7XG4gICAgICAgICAgICAgIGFwcE1hcFthcHBQYXRoXSA9IGFwcEluZm87XG4gICAgICAgICAgICAgIHZhciBpZHggPSBhcHBQYXRoLmxhc3RJbmRleE9mKFwiL1wiKTtcbiAgICAgICAgICAgICAgdmFyIGZvbGRlclBhdGggPSBcIlwiO1xuICAgICAgICAgICAgICBpZiAoaWR4ID49IDApIHtcbiAgICAgICAgICAgICAgICBmb2xkZXJQYXRoID0gYXBwUGF0aC5zdWJzdHJpbmcoMCwgaWR4KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBmb2xkZXJQYXRoID0gQ29yZS50cmltTGVhZGluZyhmb2xkZXJQYXRoLCBcIi9cIik7XG4gICAgICAgICAgICAgIHZhciBmb2xkZXIgPSBmb2xkZXJNYXBbZm9sZGVyUGF0aF07XG4gICAgICAgICAgICAgIGlmICghZm9sZGVyKSB7XG4gICAgICAgICAgICAgICAgZm9sZGVyID0ge1xuICAgICAgICAgICAgICAgICAgcGF0aDogZm9sZGVyUGF0aCxcbiAgICAgICAgICAgICAgICAgIGV4cGFuZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgYXBwczogW11cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGZvbGRlcnMucHVzaChmb2xkZXIpO1xuICAgICAgICAgICAgICAgIGZvbGRlck1hcFtmb2xkZXJQYXRoXSA9IGZvbGRlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBmb2xkZXIuYXBwcy5wdXNoKGFwcEluZm8pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuYXBwRm9sZGVycyA9IGZvbGRlcnMuc29ydEJ5KFwicGF0aFwiKTtcblxuICAgICAgICAgIHZhciBhcHBzID0gW107XG4gICAgICAgICAgdmFyIGRlZmF1bHRJbmZvID0ge1xuICAgICAgICAgICAgJGljb25Vcmw6IGRlZmF1bHRJY29uVXJsXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGFuZ3VsYXIuZm9yRWFjaCh0aGlzLmFwcFZpZXdzLCAoYXBwVmlldykgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgdmFyIGFwcFBhdGggPSBhcHBWaWV3LmFwcFBhdGg7XG5cbiAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgIFRPRE9cbiAgICAgICAgICAgICAgIGFwcFZpZXcuJHNlbGVjdCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgIEt1YmVybmV0ZXMuc2V0SnNvbigkc2NvcGUsIGFwcFZpZXcuaWQsICRzY29wZS5tb2RlbC5hcHBzKTtcbiAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAqL1xuXG4gICAgICAgICAgICAgIHZhciBhcHBJbmZvID0gYW5ndWxhci5jb3B5KGRlZmF1bHRJbmZvKTtcbiAgICAgICAgICAgICAgaWYgKGFwcFBhdGgpIHtcbiAgICAgICAgICAgICAgICBhcHBJbmZvID0gYXBwTWFwW2FwcFBhdGhdIHx8IGFwcEluZm87XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKCFhcHBWaWV3LiRpbmZvKSB7XG4gICAgICAgICAgICAgICAgYXBwVmlldy4kaW5mbyA9IGRlZmF1bHRJbmZvO1xuICAgICAgICAgICAgICAgIGFwcFZpZXcuJGluZm8gPSBhcHBJbmZvO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGFwcFZpZXcuaWQgPSBhcHBQYXRoO1xuICAgICAgICAgICAgICBpZiAoIWFwcFZpZXcuJG5hbWUpIHtcbiAgICAgICAgICAgICAgICBhcHBWaWV3LiRuYW1lID0gYXBwSW5mby5uYW1lIHx8IGFwcFZpZXcuJG5hbWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKCFhcHBWaWV3LiRpY29uVXJsKSB7XG4gICAgICAgICAgICAgICAgYXBwVmlldy4kaWNvblVybCA9IGFwcEluZm8uJGljb25Vcmw7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYXBwcy5wdXNoKGFwcFZpZXcpO1xuICAgICAgICAgICAgICBhcHBWaWV3LiRwb2RDb3VudGVycyA9IGNyZWF0ZUFwcFZpZXdQb2RDb3VudGVycyhhcHBWaWV3KTtcbiAgICAgICAgICAgICAgYXBwVmlldy4kcG9kQ291bnQgPSAoYXBwVmlldy5wb2RzIHx8IFtdKS5sZW5ndGg7XG4gICAgICAgICAgICAgIGFwcFZpZXcuJHJlcGxpY2F0aW9uQ29udHJvbGxlcnNUZXh0ID0gKGFwcFZpZXcucmVwbGljYXRpb25Db250cm9sbGVycyB8fCBbXSkubWFwKFwiX2tleVwiKS5qb2luKFwiIFwiKTtcbiAgICAgICAgICAgICAgYXBwVmlldy4kc2VydmljZXNUZXh0PSAoYXBwVmlldy5zZXJ2aWNlcyB8fCBbXSkubWFwKFwiX2tleVwiKS5qb2luKFwiIFwiKTtcbiAgICAgICAgICAgICAgYXBwVmlldy4kc2VydmljZVZpZXdzID0gY3JlYXRlQXBwVmlld1NlcnZpY2VWaWV3cyhhcHBWaWV3KTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gdXBkYXRlIGFwcFZpZXdzOiBcIiArIGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIC8vdGhpcy5hcHBzID0gYXBwcztcbiAgICAgICAgICB0aGlzLmFwcHMgPSB0aGlzLmFwcFZpZXdzO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGxvZy53YXJuKFwiQ2F1Z2h0IGVycm9yOiBcIiArIGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBkaXNjb3ZlclBvZENvbm5lY3Rpb25zKGVudGl0eSkge1xuICAgICAgdmFyIGluZm8gPSBDb3JlLnBhdGhHZXQoZW50aXR5LCBbXCJzdGF0dXNcIiwgXCJpbmZvXCJdKTtcbiAgICAgIHZhciBob3N0UG9ydCA9IG51bGw7XG4gICAgICB2YXIgY3VycmVudFN0YXRlID0gZW50aXR5LnN0YXR1cyB8fCB7fTtcbiAgICAgIHZhciBkZXNpcmVkU3RhdGUgPSBlbnRpdHkuc3BlYyB8fCB7fTtcbiAgICAgIHZhciBwb2RJZCA9IGdldE5hbWUoZW50aXR5KTtcbiAgICAgIHZhciBob3N0ID0gY3VycmVudFN0YXRlW1wiaG9zdElQXCJdO1xuICAgICAgdmFyIHBvZElQID0gY3VycmVudFN0YXRlW1wicG9kSVBcIl07XG4gICAgICB2YXIgaGFzRG9ja2VyID0gZmFsc2U7XG4gICAgICB2YXIgZm91bmRDb250YWluZXJQb3J0ID0gbnVsbDtcbiAgICAgIGlmIChkZXNpcmVkU3RhdGUpIHtcbiAgICAgICAgdmFyIGNvbnRhaW5lcnMgPSBkZXNpcmVkU3RhdGUuY29udGFpbmVycztcbiAgICAgICAgYW5ndWxhci5mb3JFYWNoKGNvbnRhaW5lcnMsIChjb250YWluZXIpID0+IHtcbiAgICAgICAgICBpZiAoIWhvc3RQb3J0KSB7XG4gICAgICAgICAgICB2YXIgcG9ydHMgPSBjb250YWluZXIucG9ydHM7XG4gICAgICAgICAgICBhbmd1bGFyLmZvckVhY2gocG9ydHMsIChwb3J0KSA9PiB7XG4gICAgICAgICAgICAgIGlmICghaG9zdFBvcnQpIHtcbiAgICAgICAgICAgICAgICB2YXIgY29udGFpbmVyUG9ydCA9IHBvcnQuY29udGFpbmVyUG9ydDtcbiAgICAgICAgICAgICAgICB2YXIgcG9ydE5hbWUgPSBwb3J0Lm5hbWU7XG4gICAgICAgICAgICAgICAgdmFyIGNvbnRhaW5lckhvc3RQb3J0ID0gcG9ydC5ob3N0UG9ydDtcbiAgICAgICAgICAgICAgICBpZiAoY29udGFpbmVyUG9ydCA9PT0gODc3OCB8fCBcImpvbG9raWFcIiA9PT0gcG9ydE5hbWUpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChjb250YWluZXJQb3J0KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwb2RJUCkge1xuICAgICAgICAgICAgICAgICAgICAgIGZvdW5kQ29udGFpbmVyUG9ydCA9IGNvbnRhaW5lclBvcnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRhaW5lckhvc3RQb3J0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgaG9zdFBvcnQgPSBjb250YWluZXJIb3N0UG9ydDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChmb3VuZENvbnRhaW5lclBvcnQgJiYgcG9kSWQgJiYgaXNSdW5uaW5nKGN1cnJlbnRTdGF0ZSkpIHtcbiAgICAgICAgZW50aXR5LiRqb2xva2lhVXJsID0gVXJsSGVscGVycy5qb2luKEt1YmVybmV0ZXMubWFzdGVyQXBpVXJsKCksIFwiL2FwaS9cIiwgS3ViZXJuZXRlcy5kZWZhdWx0QXBpVmVyc2lvbiwgXCJuYW1lc3BhY2VzXCIsIGVudGl0eS5tZXRhZGF0YS5uYW1lc3BhY2UgLCBcIi9wb2RzL1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvZElkICsgXCI6XCIgKyBmb3VuZENvbnRhaW5lclBvcnQsIFwiL3Byb3h5L2pvbG9raWEvXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBtb2RlbCBzZXJ2aWNlIHdoaWNoIGtlZXBzIHRyYWNrIG9mIGFsbCB0aGUgcG9kcywgcmVwbGljYXRpb24gY29udHJvbGxlcnMgYW5kIHNlcnZpY2VzIGFsb25nXG4gICAqIHdpdGggdGhlaXIgYXNzb2NpYXRpb25zIGFuZCBzdGF0dXNcbiAgICovXG4gIF9tb2R1bGUuZmFjdG9yeSgnS3ViZXJuZXRlc01vZGVsJywgWyckcm9vdFNjb3BlJywgJyRodHRwJywgJ0t1YmVybmV0ZXNBcGlVUkwnLCAnS3ViZXJuZXRlc1N0YXRlJywgJ1dhdGNoZXJTZXJ2aWNlJywgJyRsb2NhdGlvbicsICckcmVzb3VyY2UnLCAoJHJvb3RTY29wZSwgJGh0dHAsIEFwcExpYnJhcnlVUkwsIEt1YmVybmV0ZXNTdGF0ZSwgd2F0Y2hlcjpXYXRjaGVyU2VydmljZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsICRyZXNvdXJjZTpuZy5yZXNvdXJjZS5JUmVzb3VyY2VTZXJ2aWNlKSA9PiB7XG5cbiAgICB2YXIgJHNjb3BlID0gbmV3IEt1YmVybmV0ZXNNb2RlbFNlcnZpY2UoKTtcbiAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcblxuICAgIC8vIGNyZWF0ZSBhbGwgb2Ygb3VyIHJlc291cmNlIGNsYXNzZXNcbiAgICB2YXIgdHlwZU5hbWVzID0gd2F0Y2hlci5nZXRUeXBlcygpO1xuICAgIF8uZm9yRWFjaCh0eXBlTmFtZXMsICh0eXBlOnN0cmluZykgPT4ge1xuICAgICAgdmFyIHVybFRlbXBsYXRlID0gdXJpVGVtcGxhdGVGb3JLdWJlcm5ldGVzS2luZCh0eXBlKTtcbiAgICAgICRzY29wZVt0eXBlICsgJ1Jlc291cmNlJ10gPSBjcmVhdGVSZXNvdXJjZSh0eXBlLCB1cmxUZW1wbGF0ZSwgJHJlc291cmNlLCAkc2NvcGUpO1xuICAgIH0pO1xuXG4gICAgLy8gcmVnaXN0ZXIgZm9yIGFsbCB1cGRhdGVzIG9uIG9iamVjdHNcblx0XHR3YXRjaGVyLnJlZ2lzdGVyTGlzdGVuZXIoKG9iamVjdHM6T2JqZWN0TWFwKSA9PiB7XG5cdFx0XHR2YXIgdHlwZXMgPSB3YXRjaGVyLmdldFR5cGVzKCk7XG5cdFx0XHRfLmZvckVhY2godHlwZXMsICh0eXBlOnN0cmluZykgPT4ge1xuXHRcdFx0XHRzd2l0Y2ggKHR5cGUpIHtcblx0XHRcdFx0XHRjYXNlIFdhdGNoVHlwZXMuU0VSVklDRVM6XG5cdFx0XHRcdFx0XHR2YXIgaXRlbXMgPSBwb3B1bGF0ZUtleXMob2JqZWN0c1t0eXBlXSk7XG5cdFx0XHRcdFx0XHRhbmd1bGFyLmZvckVhY2goaXRlbXMsIChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgIGl0ZW0ucHJveHlVcmwgPSBrdWJlcm5ldGVzUHJveHlVcmxGb3JTZXJ2aWNlKG1hc3RlckFwaVVybCgpLCBpdGVtKTtcbiAgICAgICAgICAgIH0pO1xuXHRcdFx0XHRcdFx0JHNjb3BlW3R5cGVdID0gaXRlbXM7XG5cdFx0XHRcdFx0XHRicmVhaztcbiAgICAgICAgICBjYXNlIFdhdGNoVHlwZXMuVEVNUExBVEVTOlxuICAgICAgICAgIGNhc2UgV2F0Y2hUeXBlcy5ST1VURVM6XG4gICAgICAgICAgY2FzZSBXYXRjaFR5cGVzLkJVSUxEUzpcbiAgICAgICAgICBjYXNlIFdhdGNoVHlwZXMuQlVJTERfQ09ORklHUzpcbiAgICAgICAgICBjYXNlIFdhdGNoVHlwZXMuSU1BR0VfU1RSRUFNUzpcbiAgICAgICAgICAgIC8vIGRvbid0IHB1dCBhIGJyZWFrIGhlcmUgOi0pXG5cdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdCRzY29wZVt0eXBlXSA9IHBvcHVsYXRlS2V5cyhvYmplY3RzW3R5cGVdKTtcblx0XHRcdFx0fVxuICAgICAgICBsb2cuZGVidWcoXCJUeXBlOiBcIiwgdHlwZSwgXCIgb2JqZWN0OiBcIiwgJHNjb3BlW3R5cGVdKTtcblx0XHRcdH0pO1xuXHRcdFx0JHNjb3BlLm1heWJlSW5pdCgpO1xuICAgICAgJHJvb3RTY29wZS4kYnJvYWRjYXN0KCdrdWJlcm5ldGVzTW9kZWxVcGRhdGVkJywgJHNjb3BlKTtcbiAgICAgIENvcmUuJGFwcGx5KCRyb290U2NvcGUpO1xuXHRcdH0pO1xuXG4gICAgLy8gc2V0IHRoZSBzZWxlY3RlZCBuYW1lc3BhY2UgaWYgc2V0IGluIHRoZSBsb2NhdGlvbiBiYXJcbiAgICAvLyBvdGhlcndpc2UgdXNlIHdoYXRldmVyIHByZXZpb3VzbHkgc2VsZWN0ZWQgbmFtZXNwYWNlIGlzXG4gICAgLy8gYXZhaWxhYmxlXG4gICAgdmFyIHNlYXJjaCA9ICRsb2NhdGlvbi5zZWFyY2goKTtcbiAgICBpZiAoJ25hbWVzcGFjZScgaW4gc2VhcmNoKSB7XG4gICAgICB3YXRjaGVyLnNldE5hbWVzcGFjZShzZWFyY2hbJ25hbWVzcGFjZSddKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzZWxlY3RQb2RzKHBvZHMsIG5hbWVzcGFjZSwgbGFiZWxzKSB7XG4gICAgICByZXR1cm4gcG9kcy5maWx0ZXIoKHBvZCkgPT4ge1xuICAgICAgICByZXR1cm4gZ2V0TmFtZXNwYWNlKHBvZCkgPT09IG5hbWVzcGFjZSAmJiBzZWxlY3Rvck1hdGNoZXMobGFiZWxzLCBnZXRMYWJlbHMocG9kKSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuICRzY29wZTtcbiAgfV0pO1xuXG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzTW9kZWwudHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIEhvc3RDb250cm9sbGVyID0gY29udHJvbGxlcihcIkhvc3RDb250cm9sbGVyXCIsXG4gICAgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiS3ViZXJuZXRlc1N0YXRlXCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1N0YXRlLFxuICAgICAgICR0ZW1wbGF0ZUNhY2hlOm5nLklUZW1wbGF0ZUNhY2hlU2VydmljZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsICRyb3V0ZVBhcmFtcywgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAgICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAgICAgJHNjb3BlLnJhd01vZGUgPSBmYWxzZTtcbiAgICAgICAgJHNjb3BlLnJhd01vZGVsID0gbnVsbDtcblxuICAgICAgICAkc2NvcGUuaXRlbUNvbmZpZyA9IHtcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7fVxuICAgICAgICB9O1xuXG4gICAgICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcblxuICAgICAgICAkc2NvcGUuJG9uKCdrdWJlcm5ldGVzTW9kZWxVcGRhdGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgJHNjb3BlLiRvbignJHJvdXRlVXBkYXRlJywgKCRldmVudCkgPT4ge1xuICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgJHNjb3BlLmZsaXBSYXcgPSAoKSA9PiB7XG4gICAgICAgICAgJHNjb3BlLnJhd01vZGUgPSAhJHNjb3BlLnJhd01vZGU7XG4gICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgfTtcblxuICAgICAgICB1cGRhdGVEYXRhKCk7XG5cbiAgICAgICAgZnVuY3Rpb24gdXBkYXRlRGF0YSgpIHtcbiAgICAgICAgICAkc2NvcGUuaWQgPSAkcm91dGVQYXJhbXNbXCJpZFwiXTtcbiAgICAgICAgICAkc2NvcGUuaXRlbSA9IG51bGw7XG4gICAgICAgICAgaWYgKCRzY29wZS5pZCkge1xuICAgICAgICAgICAgdmFyIHVybCA9IFVybEhlbHBlcnMuam9pbihLdWJlcm5ldGVzQXBpVVJMLCBcIm5vZGVzXCIsICRzY29wZS5pZCk7XG4gICAgICAgICAgICAkaHR0cC5nZXQodXJsKS5cbiAgICAgICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICAgJHNjb3BlLml0ZW0gPSBkYXRhO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoJHNjb3BlLml0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICRzY29wZS5yYXdNb2RlbCA9IEpTT04uc3RyaW5naWZ5KCRzY29wZS5pdGVtLCBudWxsLCAyKTsgLy8gc3BhY2luZyBsZXZlbCA9IDJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICAgICAgfSkuXG4gICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAkc2NvcGUucmF3TW9kZWwgPSBudWxsO1xuICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICAvKipcbiAgICogU29ydHMgdGhlIHRoZSBpcCBmaWVsZFxuICAgKlxuICAgKiBAcGFyYW0gaXAgdGhlIGlwIHN1Y2ggYXMgJzEwLjEuMi4xMydcbiAgICogQHJldHVybnMge2FueX1cbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBzb3J0QnlQb2RJcChpcCkgOiBhbnkge1xuICAgIC8vIGkgZ3Vlc3MgdGhlcmUgaXMgbWF5YmUgbmljZXIgd2F5cyBvZiBzb3J0IHRoaXMgd2l0aG91dCBwYXJzaW5nIGFuZCBzbGljaW5nXG4gICAgdmFyIHJlZ2V4ID0gLyhcXGR7MSwzfSlcXC4oXFxkezEsM30pXFwuKFxcZHsxLDN9KVxcLihcXGR7MSwzfSkvO1xuICAgIHZhciBncm91cHMgPSByZWdleC5leGVjKGlwKTtcbiAgICBpZiAoYW5ndWxhci5pc0RlZmluZWQoZ3JvdXBzKSkge1xuICAgICAgdmFyIGcxID0gKFwiMDBcIiArIGdyb3Vwc1sxXSkuc2xpY2UoLTMpO1xuICAgICAgdmFyIGcyID0gKFwiMDBcIiArIGdyb3Vwc1syXSkuc2xpY2UoLTMpO1xuICAgICAgdmFyIGczID0gKFwiMDBcIiArIGdyb3Vwc1szXSkuc2xpY2UoLTMpO1xuICAgICAgdmFyIGc0ID0gKFwiMDBcIiArIGdyb3Vwc1s0XSkuc2xpY2UoLTMpO1xuICAgICAgdmFyIGFuc3dlciA9IGcxICsgZzIgKyBnMyArIGc0O1xuICAgICAgcmV0dXJuIGFuc3dlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbn0iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzTW9kZWwudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwidXRpbEhlbHBlcnMudHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIEhvc3RzQ29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJIb3N0c0NvbnRyb2xsZXJcIiwgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiS3ViZXJuZXRlc1BvZHNcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCJTZXJ2aWNlUmVnaXN0cnlcIiwgXCIkZGlhbG9nXCIsIFwiJHdpbmRvd1wiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiJGxvY2F0aW9uXCIsIFwibG9jYWxTdG9yYWdlXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIixcbiAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6IEt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1BvZHM6bmcuSVByb21pc2U8bmcucmVzb3VyY2UuSVJlc291cmNlQ2xhc3M+LCBLdWJlcm5ldGVzU3RhdGUsIFNlcnZpY2VSZWdpc3RyeSwgJGRpYWxvZywgJHdpbmRvdywgJHRlbXBsYXRlQ2FjaGUsICRyb3V0ZVBhcmFtcywgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsIGxvY2FsU3RvcmFnZSwgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG4gICAgJHNjb3BlLiRvbigna3ViZXJuZXRlc01vZGVsVXBkYXRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgfSk7XG5cbiAgICAkc2NvcGUudGFibGVDb25maWcgPSB7XG4gICAgICBkYXRhOiAnbW9kZWwuaG9zdHMnLFxuICAgICAgc2hvd1NlbGVjdGlvbkNoZWNrYm94OiBmYWxzZSxcbiAgICAgIGVuYWJsZVJvd0NsaWNrU2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgIG11bHRpU2VsZWN0OiBmYWxzZSxcbiAgICAgIHNlbGVjdGVkSXRlbXM6IFtdLFxuICAgICAgZmlsdGVyT3B0aW9uczoge1xuICAgICAgICBmaWx0ZXJUZXh0OiAkbG9jYXRpb24uc2VhcmNoKClbXCJxXCJdIHx8ICcnXG4gICAgICB9LFxuICAgICAgY29sdW1uRGVmczogW1xuICAgICAgICB7XG4gICAgICAgICAgZmllbGQ6ICdpZCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdOYW1lJyxcbiAgICAgICAgICBkZWZhdWx0U29ydDogdHJ1ZSxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImlkVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZmllbGQ6ICdob3N0SVAnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnSVAnLFxuICAgICAgICAgIGN1c3RvbVNvcnRGaWVsZDogKGZpZWxkKSA9PiB7XG4gICAgICAgICAgICAvLyB1c2UgYSBjdXN0b20gc29ydCB0byBzb3J0IGlwIGFkZHJlc3NcbiAgICAgICAgICAgIHJldHVybiBLdWJlcm5ldGVzLnNvcnRCeVBvZElwKGZpZWxkLmhvc3RJUCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7IGZpZWxkOiAnJHBvZHNMaW5rJyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ1BvZHMnLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwicG9kQ291bnRzQW5kTGlua1RlbXBsYXRlLmh0bWxcIiksXG4gICAgICAgICAgY3VzdG9tU29ydEZpZWxkOiAoZmllbGQpID0+IHtcbiAgICAgICAgICAgIC8vIG5lZWQgdG8gY29uY2F0IGFsbCB0aGUgcG9kIGNvdW50ZXJzXG4gICAgICAgICAgICB2YXIgdmFsaWQgPSBmaWVsZC4kcG9kQ291bnRlcnMudmFsaWQgfHwgMDtcbiAgICAgICAgICAgIHZhciB3YWl0aW5nID0gZmllbGQuJHBvZENvdW50ZXJzLndhaXRpbmcgfHwgMDtcbiAgICAgICAgICAgIHZhciBlcnJvciA9IGZpZWxkLiRwb2RDb3VudGVycy5lcnJvciB8fCAwO1xuICAgICAgICAgICAgcmV0dXJuIHZhbGlkICsgd2FpdGluZyArIGVycm9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG5cbiAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG4gIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBJbWFnZVJlcG9zaXRvcmllc0NvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiSW1hZ2VSZXBvc2l0b3JpZXNDb250cm9sbGVyXCIsIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIkt1YmVybmV0ZXNCdWlsZHNcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCIkZGlhbG9nXCIsIFwiJHdpbmRvd1wiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiJGxvY2F0aW9uXCIsIFwibG9jYWxTdG9yYWdlXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIixcbiAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6S3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzQnVpbGRzLCBLdWJlcm5ldGVzU3RhdGUsICRkaWFsb2csICR3aW5kb3csICR0ZW1wbGF0ZUNhY2hlLCAkcm91dGVQYXJhbXMsICRsb2NhdGlvbjpuZy5JTG9jYXRpb25TZXJ2aWNlLCBsb2NhbFN0b3JhZ2UsICRodHRwLCAkdGltZW91dCwgS3ViZXJuZXRlc0FwaVVSTCkgPT4ge1xuXG4gICAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAgICRzY29wZS5LdWJlcm5ldGVzQnVpbGRzID0gS3ViZXJuZXRlc0J1aWxkcztcbiAgICAgICRzY29wZS4kb24oJ2t1YmVybmV0ZXNNb2RlbFVwZGF0ZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICB9KTtcblxuICAgICAgJHNjb3BlLnRhYmxlQ29uZmlnID0ge1xuICAgICAgICBkYXRhOiAnaW1hZ2VSZXBvc2l0b3JpZXMnLFxuICAgICAgICBzaG93U2VsZWN0aW9uQ2hlY2tib3g6IHRydWUsXG4gICAgICAgIGVuYWJsZVJvd0NsaWNrU2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgICAgbXVsdGlTZWxlY3Q6IHRydWUsXG4gICAgICAgIHNlbGVjdGVkSXRlbXM6IFtdLFxuICAgICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgICAgZmlsdGVyVGV4dDogJGxvY2F0aW9uLnNlYXJjaCgpW1wicVwiXSB8fCAnJ1xuICAgICAgICB9LFxuICAgICAgICBjb2x1bW5EZWZzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdtZXRhZGF0YS5uYW1lJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnTmFtZSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnbWV0YWRhdGEubmFtZXNwYWNlJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnTmFtZXNwYWNlJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdzdGF0dXMuZG9ja2VySW1hZ2VSZXBvc2l0b3J5JyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnRG9ja2VyIFJlZ2lzdHJ5J1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICd0YWdzJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnVGFncycsXG4gICAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldCgnaW1hZ2VSZWdpc3RyeUxhYmVsVGVtcGxhdGUuaHRtbCcpXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9O1xuXG4gICAgICB2YXIgbGFiZWxDb2xvcnMgPSB7XG4gICAgICAgICdwcm9kJzogJ2JhY2tncm91bmQtYmx1ZScsXG4gICAgICAgICd2YWxpZCc6ICdiYWNrZ3JvdW5kLWxpZ2h0LWdyZWVuJyxcbiAgICAgICAgJ3Rlc3QnOiAnYmFja2dyb3VuZC1saWdodC1ncmV5J1xuICAgICAgfTtcbiAgICAgICRzY29wZS5sYWJlbENsYXNzID0gKGxhYmVsVHlwZTpzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKCEobGFiZWxUeXBlIGluIGxhYmVsQ29sb3JzKSkge1xuICAgICAgICAgIHJldHVybiAnbW91c2UtcG9pbnRlcic7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSByZXR1cm4gbGFiZWxDb2xvcnNbbGFiZWxUeXBlXSArICcgbW91c2UtcG9pbnRlcic7XG4gICAgICB9XG5cbiAgICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcblxuICAgICAgJHNjb3BlLmRlbGV0ZVByb21wdCA9IChzZWxlY3RlZCkgPT4ge1xuICAgICAgICBVSS5tdWx0aUl0ZW1Db25maXJtQWN0aW9uRGlhbG9nKDxVSS5NdWx0aUl0ZW1Db25maXJtQWN0aW9uT3B0aW9ucz57XG4gICAgICAgICAgY29sbGVjdGlvbjogc2VsZWN0ZWQsXG4gICAgICAgICAgaW5kZXg6ICckbmFtZScsXG4gICAgICAgICAgb25DbG9zZTogKHJlc3VsdDpib29sZWFuKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgIGZ1bmN0aW9uIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBuZXh0KSB7XG4gICAgICAgICAgICAgICAgaWYgKG5leHQpIHtcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZUVudGl0eShuZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBzZWxlY3RlZC5zaGlmdCgpKTtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIHNlbGVjdGVkLnNoaWZ0KCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGl0bGU6ICdEZWxldGUgSW1hZ2UgUmVwb3NpdG9yeT8nLFxuICAgICAgICAgIGFjdGlvbjogJ1RoZSBmb2xsb3dpbmcgSW1hZ2UgUmVwb3NpdG9yaWVzIHdpbGwgYmUgZGVsZXRlZDonLFxuICAgICAgICAgIG9rVGV4dDogJ0RlbGV0ZScsXG4gICAgICAgICAgb2tDbGFzczogJ2J0bi1kYW5nZXInLFxuICAgICAgICAgIGN1c3RvbTogXCJUaGlzIG9wZXJhdGlvbiBpcyBwZXJtYW5lbnQgb25jZSBjb21wbGV0ZWQhXCIsXG4gICAgICAgICAgY3VzdG9tQ2xhc3M6IFwiYWxlcnQgYWxlcnQtd2FybmluZ1wiXG4gICAgICAgIH0pLm9wZW4oKTtcbiAgICAgIH07XG5cbiAgICAgIGZ1bmN0aW9uIGRlbGV0ZUVudGl0eShzZWxlY3Rpb24sIG5leHRDYWxsYmFjaykge1xuICAgICAgICB2YXIgbmFtZSA9IChzZWxlY3Rpb24gfHwge30pLiRuYW1lO1xuICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwiQWJvdXQgdG8gZGVsZXRlIGltYWdlIHJlcG9zaXRvcnk6IFwiICsgbmFtZSk7XG4gICAgICAgICAgdmFyIHVybCA9IGltYWdlUmVwb3NpdG9yeVJlc3RVcmwobmFtZSk7XG4gICAgICAgICAgJGh0dHAuZGVsZXRlKHVybCkuXG4gICAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICBuZXh0Q2FsbGJhY2soKTtcbiAgICAgICAgICAgIH0pLlxuICAgICAgICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGRlbGV0ZSBpbWFnZSByZXBvc2l0b3J5IG9uIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJ3YXJuaW5nOiBubyBuYW1lIGZvciBzZWxlY3Rpb246IFwiICsgYW5ndWxhci50b0pzb24oc2VsZWN0aW9uKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdXBkYXRlRGF0YSgpIHtcbiAgICAgICAgdmFyIHVybCA9IGltYWdlUmVwb3NpdG9yaWVzUmVzdFVSTCgpO1xuICAgICAgICAkaHR0cC5nZXQodXJsKS5cbiAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhcImdvdCBkYXRhIFwiICsgYW5ndWxhci50b0pzb24oZGF0YSwgdHJ1ZSkpO1xuICAgICAgICAgICAgICAkc2NvcGUuaW1hZ2VSZXBvc2l0b3JpZXMgPSBlbnJpY2hJbWFnZVJlcG9zaXRvcmllcyhkYXRhLml0ZW1zKTtcbiAgICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLlxuICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdXBkYXRlRGF0YSgpO1xuICAgIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBLdWJlcm5ldGVzSnNvbkRpcmVjdGl2ZSA9IF9tb2R1bGUuZGlyZWN0aXZlKFwia3ViZXJuZXRlc0pzb25cIiwgWygpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVzdHJpY3Q6ICdBJyxcbiAgICAgIHJlcGxhY2U6IHRydWUsXG4gICAgICB0ZW1wbGF0ZVVybDogS3ViZXJuZXRlcy50ZW1wbGF0ZVBhdGggKyAna3ViZXJuZXRlc0pzb25EaXJlY3RpdmUuaHRtbCcsXG4gICAgICBzY29wZToge1xuICAgICAgICBjb25maWc6ICc9a3ViZXJuZXRlc0pzb24nXG4gICAgICB9LFxuICAgICAgY29udHJvbGxlcjogW1wiJHNjb3BlXCIsIFwiJGxvY2F0aW9uXCIsIFwiJGh0dHBcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsIFwibWFya2VkXCIsICgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsIEt1YmVybmV0ZXNBcGlVUkwsIG1hcmtlZCkgPT4ge1xuXG4gICAgICAgICRzY29wZS4kd2F0Y2goJ2NvbmZpZycsIChjb25maWcpID0+IHtcbiAgICAgICAgICBpZiAoY29uZmlnKSB7XG4gICAgICAgICAgICBpZiAoY29uZmlnLmVycm9yKSB7XG4gICAgICAgICAgICAgIGxvZy5kZWJ1ZyhcIkVycm9yIHBhcnNpbmcga3ViZXJuZXRlcyBjb25maWc6IFwiLCBjb25maWcuZXJyb3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbG9nLmRlYnVnKFwiR290IGt1YmVybmV0ZXMgY29uZmlndXJhdGlvbjogXCIsIGNvbmZpZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxvZy5kZWJ1ZyhcIkt1YmVybmV0ZXMgY29uZmlnIHVuc2V0XCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgJHNjb3BlLiRvbignV2lraS5WaWV3UGFnZS5DaGlsZHJlbicsICgkZXZlbnQsIHBhZ2VJZCwgY2hpbGRyZW4pID0+IHtcbiAgICAgICAgICAvLyBsb2cuZGVidWcoXCJHb3QgYnJvYWRjYXN0LCBwYWdlSWQ6IFwiLCBwYWdlSWQsIFwiIGNoaWxkcmVuOiBcIiwgY2hpbGRyZW4pO1xuICAgICAgICAgICRzY29wZS5hcHBUaXRsZSA9IHBhZ2VJZDtcbiAgICAgICAgICBpZiAoY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHZhciBzdW1tYXJ5RmlsZSA9IGNoaWxkcmVuLmZpbmQoKGNoaWxkKSA9PiB7IHJldHVybiBjaGlsZC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IFwic3VtbWFyeS5tZFwiO30pO1xuICAgICAgICAgICAgdmFyIHN1bW1hcnlVUkw6c3RyaW5nID0gbnVsbDtcbiAgICAgICAgICAgIGlmIChzdW1tYXJ5RmlsZSkge1xuICAgICAgICAgICAgICBzdW1tYXJ5VVJMID0gV2lraS5naXRSZXN0VVJMKHN1bW1hcnlGaWxlLmJyYW5jaCwgc3VtbWFyeUZpbGUucGF0aCk7XG4gICAgICAgICAgICAgICRodHRwLmdldChzdW1tYXJ5VVJMKS5cbiAgICAgICAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICAgICAgdmFyIHN1bW1hcnlNYXJrZG93biA9IGRhdGE7XG4gICAgICAgICAgICAgICAgICBpZiAoc3VtbWFyeU1hcmtkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgICRzY29wZS5zdW1tYXJ5SHRtbCA9IG1hcmtlZChzdW1tYXJ5TWFya2Rvd24pO1xuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgJHNjb3BlLnN1bW1hcnlIdG1sID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KS5cbiAgICAgICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgICAgICRzY29wZS5zdW1tYXJ5SHRtbCA9IG51bGw7XG4gICAgICAgICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBsb2FkIFwiICsgc3VtbWFyeVVSTCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBpY29uRmlsZSA9IGNoaWxkcmVuLmZpbmQoKGNoaWxkKSA9PiB7IHJldHVybiBjaGlsZC5uYW1lLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChcImljb25cIik7IH0pO1xuICAgICAgICAgICAgaWYgKGljb25GaWxlKSB7XG4gICAgICAgICAgICAgICRzY29wZS5pY29uVVJMID0gV2lraS5naXRSZXN0VVJMKGljb25GaWxlLmJyYW5jaCwgaWNvbkZpbGUucGF0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgZmFicmljOFByb3BlcnRpZXNGaWxlID0gY2hpbGRyZW4uZmluZCgoY2hpbGQpID0+IHsgcmV0dXJuIGNoaWxkLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gXCJmYWJyaWM4LnByb3BlcnRpZXNcIjt9KTtcbiAgICAgICAgICAgIHZhciBmYWJyaWM4UHJvcGVydGllc1VSTDpzdHJpbmcgPSBudWxsO1xuICAgICAgICAgICAgaWYgKGZhYnJpYzhQcm9wZXJ0aWVzRmlsZSkge1xuICAgICAgICAgICAgICBmYWJyaWM4UHJvcGVydGllc1VSTCA9IFdpa2kuZ2l0UmVzdFVSTChmYWJyaWM4UHJvcGVydGllc0ZpbGUuYnJhbmNoLCBmYWJyaWM4UHJvcGVydGllc0ZpbGUucGF0aCk7XG4gICAgICAgICAgICAgICRodHRwLmdldChmYWJyaWM4UHJvcGVydGllc1VSTCkuXG4gICAgICAgICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgICAgIHZhciBmYWJyaWM4UHJvcGVydGllcyA9IGRhdGE7XG4gICAgICAgICAgICAgICAgICBpZiAoZmFicmljOFByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG5hbWVSRSA9IC8oPzpuYW1lKVxccyo9XFxzKiguKylbXFxufCRdLztcbiAgICAgICAgICAgICAgICAgICAgdmFyIG1hdGNoZXMgPSBmYWJyaWM4UHJvcGVydGllcy5tYXRjaChuYW1lUkUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2hlc1sxXSkge1xuICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5kaXNwbGF5TmFtZSA9IG1hdGNoZXNbMV0ucmVwbGFjZSgvXFxcXC9nLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KS5cbiAgICAgICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGxvYWQgXCIgKyBmYWJyaWM4UHJvcGVydGllc1VSTCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgICRzY29wZS5hcHBseSA9ICgpID0+IHtcbiAgICAgICAgICB2YXIganNvbiA9IGFuZ3VsYXIudG9Kc29uKCRzY29wZS5jb25maWcpO1xuICAgICAgICAgIHZhciBuYW1lID0gJHNjb3BlLmFwcFRpdGxlIHx8IFwiQXBwXCI7XG4gICAgICAgICAgcnVuQXBwKCRsb2NhdGlvbiwgJHNjb3BlLCAkaHR0cCwgS3ViZXJuZXRlc0FwaVVSTCwganNvbiwgbmFtZSwgKCkgPT4ge1xuICAgICAgICAgICAgLy8gbm93IGxldHMgbmF2aWdhdGUgdG8gdGhlIGFwcHMgcGFnZSBzbyBmb2xrcyBzZWUgdGhpbmdzIGhhcHBlblxuICAgICAgICAgICAgJGxvY2F0aW9uLnBhdGgoXCIva3ViZXJuZXRlcy9hcHBzXCIpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgfV1cbiAgICB9O1xuICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcbiBcbiAgZXhwb3J0IHZhciBzY2hlbWEgPSBcbntcbiAgXCJpZFwiOiBcImh0dHA6Ly9mYWJyaWM4LmlvL2ZhYnJpYzgvdjIvU2NoZW1hI1wiLFxuICBcIiRzY2hlbWFcIjogXCJodHRwOi8vanNvbi1zY2hlbWEub3JnL3NjaGVtYSNcIixcbiAgXCJkZWZpbml0aW9uc1wiOiB7XG4gICAgXCJrdWJlcm5ldGVzX0FXU0VsYXN0aWNCbG9ja1N0b3JlVm9sdW1lU291cmNlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJmc1R5cGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJmaWxlIHN5c3RlbSB0eXBlIHRvIG1vdW50XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwYXJ0aXRpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicGFydGl0aW9uIG9uIHRoZSBkaXNrIHRvIG1vdW50IChlLmcuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZWFkT25seVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJyZWFkLW9ubHkgaWYgdHJ1ZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidm9sdW1lSURcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ1bmlxdWUgaWQgb2YgdGhlIFBEIHJlc291cmNlIGluIEFXU1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5BV1NFbGFzdGljQmxvY2tTdG9yZVZvbHVtZVNvdXJjZVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfQ2FwYWJpbGl0aWVzXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhZGRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImFkZGVkIGNhcGFiaWxpdGllc1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiYWRkZWQgY2FwYWJpbGl0aWVzXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiZHJvcFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZHJvcGVkIGNhcGFiaWxpdGllc1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZHJvcGVkIGNhcGFiaWxpdGllc1wiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuQ2FwYWJpbGl0aWVzXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Db250YWluZXJcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFyZ3NcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImNvbW1hbmQgYXJyYXk7IHRoZSBkb2NrZXIgaW1hZ2UncyBjbWQgaXMgdXNlZCBpZiB0aGlzIGlzIG5vdCBwcm92aWRlZDsgYXJndW1lbnRzIHRvIHRoZSBlbnRyeXBvaW50OyBjYW5ub3QgYmUgdXBkYXRlZFwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiY29tbWFuZCBhcnJheTsgdGhlIGRvY2tlciBpbWFnZSdzIGNtZCBpcyB1c2VkIGlmIHRoaXMgaXMgbm90IHByb3ZpZGVkOyBhcmd1bWVudHMgdG8gdGhlIGVudHJ5cG9pbnQ7IGNhbm5vdCBiZSB1cGRhdGVkXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiY29tbWFuZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZW50cnlwb2ludCBhcnJheTsgbm90IGV4ZWN1dGVkIHdpdGhpbiBhIHNoZWxsOyB0aGUgZG9ja2VyIGltYWdlJ3MgZW50cnlwb2ludCBpcyB1c2VkIGlmIHRoaXMgaXMgbm90IHByb3ZpZGVkOyBjYW5ub3QgYmUgdXBkYXRlZFwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZW50cnlwb2ludCBhcnJheTsgbm90IGV4ZWN1dGVkIHdpdGhpbiBhIHNoZWxsOyB0aGUgZG9ja2VyIGltYWdlJ3MgZW50cnlwb2ludCBpcyB1c2VkIGlmIHRoaXMgaXMgbm90IHByb3ZpZGVkOyBjYW5ub3QgYmUgdXBkYXRlZFwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImVudlwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2V0IGluIHRoZSBjb250YWluZXI7IGNhbm5vdCBiZSB1cGRhdGVkXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfRW52VmFyXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbnZWYXJcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkRvY2tlciBpbWFnZSBuYW1lXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJpbWFnZVB1bGxQb2xpY3lcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJpbWFnZSBwdWxsIHBvbGljeTsgb25lIG9mIEFsd2F5c1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwibGlmZWN5Y2xlXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTGlmZWN5Y2xlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlmZWN5Y2xlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJsaXZlbmVzc1Byb2JlXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfUHJvYmVcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Qcm9iZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm5hbWUgb2YgdGhlIGNvbnRhaW5lcjsgbXVzdCBiZSBhIEROU19MQUJFTCBhbmQgdW5pcXVlIHdpdGhpbiB0aGUgcG9kOyBjYW5ub3QgYmUgdXBkYXRlZFwiLFxuICAgICAgICAgIFwibWF4TGVuZ3RoXCI6IDYzLFxuICAgICAgICAgIFwicGF0dGVyblwiOiBcIl5bYS16MC05XShbLWEtejAtOV0qW2EtejAtOV0pPyRcIlxuICAgICAgICB9LFxuICAgICAgICBcInBvcnRzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIHBvcnRzIHRvIGV4cG9zZSBmcm9tIHRoZSBjb250YWluZXI7IGNhbm5vdCBiZSB1cGRhdGVkXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfQ29udGFpbmVyUG9ydFwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuQ29udGFpbmVyUG9ydFwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInJlYWRpbmVzc1Byb2JlXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfUHJvYmVcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Qcm9iZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVzb3VyY2VzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfUmVzb3VyY2VSZXF1aXJlbWVudHNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5SZXNvdXJjZVJlcXVpcmVtZW50c1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwic2VjdXJpdHlDb250ZXh0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfU2VjdXJpdHlDb250ZXh0XCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuU2VjdXJpdHlDb250ZXh0XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0ZXJtaW5hdGlvbk1lc3NhZ2VQYXRoXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicGF0aCBhdCB3aGljaCB0aGUgZmlsZSB0byB3aGljaCB0aGUgY29udGFpbmVyJ3MgdGVybWluYXRpb24gbWVzc2FnZSB3aWxsIGJlIHdyaXR0ZW4gaXMgbW91bnRlZCBpbnRvIHRoZSBjb250YWluZXIncyBmaWxlc3lzdGVtOyBtZXNzYWdlIHdyaXR0ZW4gaXMgaW50ZW5kZWQgdG8gYmUgYnJpZWYgZmluYWwgc3RhdHVzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ2b2x1bWVNb3VudHNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInBvZCB2b2x1bWVzIHRvIG1vdW50IGludG8gdGhlIGNvbnRhaW5lcidzIGZpbGVzeXN0ZTsgY2Fubm90IGJlIHVwZGF0ZWRcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Wb2x1bWVNb3VudFwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuVm9sdW1lTW91bnRcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJ3b3JraW5nRGlyXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiY29udGFpbmVyJ3Mgd29ya2luZyBkaXJlY3Rvcnk7IGRlZmF1bHRzIHRvIGltYWdlJ3MgZGVmYXVsdDsgY2Fubm90IGJlIHVwZGF0ZWRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuQ29udGFpbmVyXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Db250YWluZXJQb3J0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJjb250YWluZXJQb3J0XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm51bWJlciBvZiBwb3J0IHRvIGV4cG9zZSBvbiB0aGUgcG9kJ3MgSVAgYWRkcmVzc1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwiaG9zdElQXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaG9zdCBJUCB0byBiaW5kIHRoZSBwb3J0IHRvXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJob3N0UG9ydFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJudW1iZXIgb2YgcG9ydCB0byBleHBvc2Ugb24gdGhlIGhvc3Q7IG1vc3QgY29udGFpbmVycyBkbyBub3QgbmVlZCB0aGlzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJuYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibmFtZSBmb3IgdGhlIHBvcnQgdGhhdCBjYW4gYmUgcmVmZXJyZWQgdG8gYnkgc2VydmljZXM7IG11c3QgYmUgYSBETlNfTEFCRUwgYW5kIHVuaXF1ZSB3aXRob3V0IHRoZSBwb2RcIlxuICAgICAgICB9LFxuICAgICAgICBcInByb3RvY29sXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicHJvdG9jb2wgZm9yIHBvcnQ7IG11c3QgYmUgVURQIG9yIFRDUDsgVENQIGlmIHVuc3BlY2lmaWVkXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkNvbnRhaW5lclBvcnRcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0NvbnRhaW5lclN0YXRlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJydW5uaW5nXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfQ29udGFpbmVyU3RhdGVSdW5uaW5nXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuQ29udGFpbmVyU3RhdGVSdW5uaW5nXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0ZXJtaW5hdGlvblwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0NvbnRhaW5lclN0YXRlVGVybWluYXRlZFwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkNvbnRhaW5lclN0YXRlVGVybWluYXRlZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwid2FpdGluZ1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0NvbnRhaW5lclN0YXRlV2FpdGluZ1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkNvbnRhaW5lclN0YXRlV2FpdGluZ1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Db250YWluZXJTdGF0ZVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfQ29udGFpbmVyU3RhdGVSdW5uaW5nXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJzdGFydGVkQXRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aW1lIGF0IHdoaWNoIHRoZSBjb250YWluZXIgd2FzIGxhc3QgKHJlLSlzdGFydGVkXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkNvbnRhaW5lclN0YXRlUnVubmluZ1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfQ29udGFpbmVyU3RhdGVUZXJtaW5hdGVkXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJjb250YWluZXJJRFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImNvbnRhaW5lcidzIElEIGluIHRoZSBmb3JtYXQgJ2RvY2tlcjovL1xcdTAwM2Njb250YWluZXJfaWRcXHUwMDNlJ1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZXhpdENvZGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZXhpdCBzdGF0dXMgZnJvbSB0aGUgbGFzdCB0ZXJtaW5hdGlvbiBvZiB0aGUgY29udGFpbmVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJmaW5pc2hlZEF0XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGltZSBhdCB3aGljaCB0aGUgY29udGFpbmVyIGxhc3QgdGVybWluYXRlZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibWVzc2FnZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm1lc3NhZ2UgcmVnYXJkaW5nIHRoZSBsYXN0IHRlcm1pbmF0aW9uIG9mIHRoZSBjb250YWluZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcInJlYXNvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIihicmllZikgcmVhc29uIGZyb20gdGhlIGxhc3QgdGVybWluYXRpb24gb2YgdGhlIGNvbnRhaW5lclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic2lnbmFsXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInNpZ25hbCBmcm9tIHRoZSBsYXN0IHRlcm1pbmF0aW9uIG9mIHRoZSBjb250YWluZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcInN0YXJ0ZWRBdFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRpbWUgYXQgd2hpY2ggcHJldmlvdXMgZXhlY3V0aW9uIG9mIHRoZSBjb250YWluZXIgc3RhcnRlZFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Db250YWluZXJTdGF0ZVRlcm1pbmF0ZWRcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0NvbnRhaW5lclN0YXRlV2FpdGluZ1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwicmVhc29uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiKGJyaWVmKSByZWFzb24gdGhlIGNvbnRhaW5lciBpcyBub3QgeWV0IHJ1bm5pbmdcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuQ29udGFpbmVyU3RhdGVXYWl0aW5nXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Db250YWluZXJTdGF0dXNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImNvbnRhaW5lcklEXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiY29udGFpbmVyJ3MgSUQgaW4gdGhlIGZvcm1hdCAnZG9ja2VyOi8vXFx1MDAzY2NvbnRhaW5lcl9pZFxcdTAwM2UnXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImltYWdlIG9mIHRoZSBjb250YWluZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcImltYWdlSURcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJJRCBvZiB0aGUgY29udGFpbmVyJ3MgaW1hZ2VcIlxuICAgICAgICB9LFxuICAgICAgICBcImxhc3RTdGF0ZVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0NvbnRhaW5lclN0YXRlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuQ29udGFpbmVyU3RhdGVcIlxuICAgICAgICB9LFxuICAgICAgICBcIm5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJuYW1lIG9mIHRoZSBjb250YWluZXI7IG11c3QgYmUgYSBETlNfTEFCRUwgYW5kIHVuaXF1ZSB3aXRoaW4gdGhlIHBvZDsgY2Fubm90IGJlIHVwZGF0ZWRcIixcbiAgICAgICAgICBcIm1heExlbmd0aFwiOiA2MyxcbiAgICAgICAgICBcInBhdHRlcm5cIjogXCJeW2EtejAtOV0oWy1hLXowLTldKlthLXowLTldKT8kXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZWFkeVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJzcGVjaWZpZXMgd2hldGhlciB0aGUgY29udGFpbmVyIGhhcyBwYXNzZWQgaXRzIHJlYWRpbmVzcyBwcm9iZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVzdGFydENvdW50XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSBudW1iZXIgb2YgdGltZXMgdGhlIGNvbnRhaW5lciBoYXMgYmVlbiByZXN0YXJ0ZWRcIlxuICAgICAgICB9LFxuICAgICAgICBcInN0YXRlXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfQ29udGFpbmVyU3RhdGVcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Db250YWluZXJTdGF0ZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Db250YWluZXJTdGF0dXNcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0VtcHR5RGlyVm9sdW1lU291cmNlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJtZWRpdW1cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0eXBlIG9mIHN0b3JhZ2UgdXNlZCB0byBiYWNrIHRoZSB2b2x1bWU7IG11c3QgYmUgYW4gZW1wdHkgc3RyaW5nIChkZWZhdWx0KSBvciBNZW1vcnlcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuRW1wdHlEaXJWb2x1bWVTb3VyY2VcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0VuZHBvaW50QWRkcmVzc1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiaXBcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJJUCBhZGRyZXNzIG9mIHRoZSBlbmRwb2ludFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidGFyZ2V0UmVmXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVuZHBvaW50QWRkcmVzc1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfRW5kcG9pbnRQb3J0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJuYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibmFtZSBvZiB0aGlzIHBvcnRcIixcbiAgICAgICAgICBcIm1heExlbmd0aFwiOiA2MyxcbiAgICAgICAgICBcInBhdHRlcm5cIjogXCJeW2EtejAtOV0oWy1hLXowLTldKlthLXowLTldKT8kXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwb3J0XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInBvcnQgbnVtYmVyIG9mIHRoZSBlbmRwb2ludFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicHJvdG9jb2xcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJwcm90b2NvbCBmb3IgdGhpcyBwb3J0OyBtdXN0IGJlIFVEUCBvciBUQ1A7IFRDUCBpZiB1bnNwZWNpZmllZFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbmRwb2ludFBvcnRcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0VuZHBvaW50U3Vic2V0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhZGRyZXNzZXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIklQIGFkZHJlc3NlcyB3aGljaCBvZmZlciB0aGUgcmVsYXRlZCBwb3J0c1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0VuZHBvaW50QWRkcmVzc1wiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuRW5kcG9pbnRBZGRyZXNzXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwicG9ydHNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInBvcnQgbnVtYmVycyBhdmFpbGFibGUgb24gdGhlIHJlbGF0ZWQgSVAgYWRkcmVzc2VzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfRW5kcG9pbnRQb3J0XCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbmRwb2ludFBvcnRcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVuZHBvaW50U3Vic2V0XCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19FbmRwb2ludHNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJFbmRwb2ludHNcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RNZXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzdWJzZXRzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJzZXRzIG9mIGFkZHJlc3NlcyBhbmQgcG9ydHMgdGhhdCBjb21wcmlzZSBhIHNlcnZpY2VcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19FbmRwb2ludFN1YnNldFwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuRW5kcG9pbnRTdWJzZXRcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVuZHBvaW50c1wiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYXNNZXRhZGF0YVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfRW5kcG9pbnRzTGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgZW5kcG9pbnRzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfRW5kcG9pbnRzXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbmRwb2ludHNcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiRW5kcG9pbnRzTGlzdFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTGlzdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5MaXN0TWV0YVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbmRwb2ludHNMaXN0XCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkt1YmVybmV0ZXNSZXNvdXJjZVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfRW52VmFyXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJuYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibmFtZSBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGU7IG11c3QgYmUgYSBDX0lERU5USUZJRVJcIixcbiAgICAgICAgICBcInBhdHRlcm5cIjogXCJeW0EtWmEtel9dW0EtWmEtejAtOV9dKiRcIlxuICAgICAgICB9LFxuICAgICAgICBcInZhbHVlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidmFsdWUgb2YgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlOyBkZWZhdWx0cyB0byBlbXB0eSBzdHJpbmdcIlxuICAgICAgICB9LFxuICAgICAgICBcInZhbHVlRnJvbVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0VudlZhclNvdXJjZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVudlZhclNvdXJjZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbnZWYXJcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0VudlZhclNvdXJjZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZmllbGRSZWZcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RGaWVsZFNlbGVjdG9yXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0RmllbGRTZWxlY3RvclwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbnZWYXJTb3VyY2VcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0V4ZWNBY3Rpb25cIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImNvbW1hbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImNvbW1hbmQgbGluZSB0byBleGVjdXRlIGluc2lkZSB0aGUgY29udGFpbmVyOyB3b3JraW5nIGRpcmVjdG9yeSBmb3IgdGhlIGNvbW1hbmQgaXMgcm9vdCAoJy8nKSBpbiB0aGUgY29udGFpbmVyJ3MgZmlsZSBzeXN0ZW07IHRoZSBjb21tYW5kIGlzIGV4ZWMnZFwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiY29tbWFuZCBsaW5lIHRvIGV4ZWN1dGUgaW5zaWRlIHRoZSBjb250YWluZXI7IHdvcmtpbmcgZGlyZWN0b3J5IGZvciB0aGUgY29tbWFuZCBpcyByb290ICgnLycpIGluIHRoZSBjb250YWluZXIncyBmaWxlIHN5c3RlbTsgdGhlIGNvbW1hbmQgaXMgZXhlYydkXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FeGVjQWN0aW9uXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19HQ0VQZXJzaXN0ZW50RGlza1ZvbHVtZVNvdXJjZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZnNUeXBlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZmlsZSBzeXN0ZW0gdHlwZSB0byBtb3VudFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicGFydGl0aW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInBhcnRpdGlvbiBvbiB0aGUgZGlzayB0byBtb3VudCAoZS5nLlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicGROYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidW5pcXVlIG5hbWUgb2YgdGhlIFBEIHJlc291cmNlIGluIEdDRVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVhZE9ubHlcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImJvb2xlYW5cIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicmVhZC1vbmx5IGlmIHRydWVcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuR0NFUGVyc2lzdGVudERpc2tWb2x1bWVTb3VyY2VcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0dpdFJlcG9Wb2x1bWVTb3VyY2VcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcInJlcG9zaXRvcnlcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJyZXBvc2l0b3J5IFVSTFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmV2aXNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJjb21taXQgaGFzaCBmb3IgdGhlIHNwZWNpZmllZCByZXZpc2lvblwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5HaXRSZXBvVm9sdW1lU291cmNlXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19HbHVzdGVyZnNWb2x1bWVTb3VyY2VcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImVuZHBvaW50c1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImdsdXN0ZXIgaG9zdHMgZW5kcG9pbnRzIG5hbWVcIlxuICAgICAgICB9LFxuICAgICAgICBcInBhdGhcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJwYXRoIHRvIGdsdXN0ZXIgdm9sdW1lXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZWFkT25seVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJnbHVzdGVyZnMgdm9sdW1lIHRvIGJlIG1vdW50ZWQgd2l0aCByZWFkLW9ubHkgcGVybWlzc2lvbnNcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuR2x1c3RlcmZzVm9sdW1lU291cmNlXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19IVFRQR2V0QWN0aW9uXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJob3N0XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaG9zdG5hbWUgdG8gY29ubmVjdCB0bzsgZGVmYXVsdHMgdG8gcG9kIElQXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwYXRoXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicGF0aCB0byBhY2Nlc3Mgb24gdGhlIEhUVFAgc2VydmVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwb3J0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfdXRpbF9JbnRPclN0cmluZ1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLnV0aWwuSW50T3JTdHJpbmdcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSFRUUEdldEFjdGlvblwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfSGFuZGxlclwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZXhlY1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0V4ZWNBY3Rpb25cIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FeGVjQWN0aW9uXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJodHRwR2V0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfSFRUUEdldEFjdGlvblwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhUVFBHZXRBY3Rpb25cIlxuICAgICAgICB9LFxuICAgICAgICBcInRjcFNvY2tldFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1RDUFNvY2tldEFjdGlvblwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlRDUFNvY2tldEFjdGlvblwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYW5kbGVyXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Ib3N0UGF0aFZvbHVtZVNvdXJjZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwicGF0aFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInBhdGggb2YgdGhlIGRpcmVjdG9yeSBvbiB0aGUgaG9zdFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Ib3N0UGF0aFZvbHVtZVNvdXJjZVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfSVNDU0lWb2x1bWVTb3VyY2VcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImZzVHlwZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImZpbGUgc3lzdGVtIHR5cGUgdG8gbW91bnRcIlxuICAgICAgICB9LFxuICAgICAgICBcImlxblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImlTQ1NJIFF1YWxpZmllZCBOYW1lXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJsdW5cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaXNjc2kgdGFyZ2V0IGx1biBudW1iZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcInJlYWRPbmx5XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInJlYWQtb25seSBpZiB0cnVlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0YXJnZXRQb3J0YWxcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJpU0NTSSB0YXJnZXQgcG9ydGFsXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLklTQ1NJVm9sdW1lU291cmNlXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19MaWZlY3ljbGVcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcInBvc3RTdGFydFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0hhbmRsZXJcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYW5kbGVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwcmVTdG9wXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfSGFuZGxlclwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhbmRsZXJcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlmZWN5Y2xlXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19MaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBvYmplY3RzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfcnVudGltZV9SYXdFeHRlbnNpb25cIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIkxpc3RcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xpc3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlzdE1ldGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuQmFzZUt1YmVybmV0ZXNMaXN0XCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkt1YmVybmV0ZXNSZXNvdXJjZVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfTGlzdE1ldGFcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcInJlc291cmNlVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInN0cmluZyB0aGF0IGlkZW50aWZpZXMgdGhlIGludGVybmFsIHZlcnNpb24gb2YgdGhpcyBvYmplY3QgdGhhdCBjYW4gYmUgdXNlZCBieSBjbGllbnRzIHRvIGRldGVybWluZSB3aGVuIG9iamVjdHMgaGF2ZSBjaGFuZ2VkOyBwb3B1bGF0ZWQgYnkgdGhlIHN5c3RlbVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic2VsZkxpbmtcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJVUkwgZm9yIHRoZSBvYmplY3Q7IHBvcHVsYXRlZCBieSB0aGUgc3lzdGVtXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxpc3RNZXRhXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Mb2FkQmFsYW5jZXJJbmdyZXNzXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJob3N0bmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImhvc3RuYW1lIG9mIGluZ3Jlc3MgcG9pbnRcIlxuICAgICAgICB9LFxuICAgICAgICBcImlwXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiSVAgYWRkcmVzcyBvZiBpbmdyZXNzIHBvaW50XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxvYWRCYWxhbmNlckluZ3Jlc3NcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0xvYWRCYWxhbmNlclN0YXR1c1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiaW5ncmVzc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibG9hZC1iYWxhbmNlciBpbmdyZXNzIHBvaW50c1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xvYWRCYWxhbmNlckluZ3Jlc3NcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxvYWRCYWxhbmNlckluZ3Jlc3NcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxvYWRCYWxhbmNlclN0YXR1c1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfTG9jYWxPYmplY3RSZWZlcmVuY2VcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcIm5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJuYW1lIG9mIHRoZSByZWZlcmVudFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Mb2NhbE9iamVjdFJlZmVyZW5jZVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfTkZTVm9sdW1lU291cmNlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJwYXRoXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIHBhdGggdGhhdCBpcyBleHBvcnRlZCBieSB0aGUgTkZTIHNlcnZlclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVhZE9ubHlcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImJvb2xlYW5cIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZm9yY2VzIHRoZSBORlMgZXhwb3J0IHRvIGJlIG1vdW50ZWQgd2l0aCByZWFkLW9ubHkgcGVybWlzc2lvbnNcIlxuICAgICAgICB9LFxuICAgICAgICBcInNlcnZlclwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSBob3N0bmFtZSBvciBJUCBhZGRyZXNzIG9mIHRoZSBORlMgc2VydmVyXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5GU1ZvbHVtZVNvdXJjZVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfTmFtZXNwYWNlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiTmFtZXNwYWNlXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3BlY1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX05hbWVzcGFjZVNwZWNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5OYW1lc3BhY2VTcGVjXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzdGF0dXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19OYW1lc3BhY2VTdGF0dXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5OYW1lc3BhY2VTdGF0dXNcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTmFtZXNwYWNlXCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19OYW1lc3BhY2VMaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaXRlbXMgaXMgdGhlIGxpc3Qgb2YgTmFtZXNwYWNlIG9iamVjdHMgaW4gdGhlIGxpc3RcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19OYW1lc3BhY2VcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5hbWVzcGFjZVwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJOYW1lc3BhY2VMaXN0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19MaXN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxpc3RNZXRhXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5hbWVzcGFjZUxpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19OYW1lc3BhY2VTcGVjXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJmaW5hbGl6ZXJzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJhbiBvcGFxdWUgbGlzdCBvZiB2YWx1ZXMgdGhhdCBtdXN0IGJlIGVtcHR5IHRvIHBlcm1hbmVudGx5IHJlbW92ZSBvYmplY3QgZnJvbSBzdG9yYWdlXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJhbiBvcGFxdWUgbGlzdCBvZiB2YWx1ZXMgdGhhdCBtdXN0IGJlIGVtcHR5IHRvIHBlcm1hbmVudGx5IHJlbW92ZSBvYmplY3QgZnJvbSBzdG9yYWdlXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5OYW1lc3BhY2VTcGVjXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19OYW1lc3BhY2VTdGF0dXNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcInBoYXNlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicGhhc2UgaXMgdGhlIGN1cnJlbnQgbGlmZWN5Y2xlIHBoYXNlIG9mIHRoZSBuYW1lc3BhY2VcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTmFtZXNwYWNlU3RhdHVzXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Ob2RlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiTm9kZVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdE1ldGFcIlxuICAgICAgICB9LFxuICAgICAgICBcInNwZWNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Ob2RlU3BlY1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5vZGVTcGVjXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzdGF0dXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Ob2RlU3RhdHVzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTm9kZVN0YXR1c1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Ob2RlXCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Ob2RlQWRkcmVzc1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYWRkcmVzc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSBub2RlIGFkZHJlc3NcIlxuICAgICAgICB9LFxuICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJub2RlIGFkZHJlc3MgdHlwZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Ob2RlQWRkcmVzc1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfTm9kZUNvbmRpdGlvblwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwibGFzdEhlYXJ0YmVhdFRpbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsYXN0IHRpbWUgd2UgZ290IGFuIHVwZGF0ZSBvbiBhIGdpdmVuIGNvbmRpdGlvblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibGFzdFRyYW5zaXRpb25UaW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGFzdCB0aW1lIHRoZSBjb25kaXRpb24gdHJhbnNpdCBmcm9tIG9uZSBzdGF0dXMgdG8gYW5vdGhlclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibWVzc2FnZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImh1bWFuIHJlYWRhYmxlIG1lc3NhZ2UgaW5kaWNhdGluZyBkZXRhaWxzIGFib3V0IGxhc3QgdHJhbnNpdGlvblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVhc29uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiKGJyaWVmKSByZWFzb24gZm9yIHRoZSBjb25kaXRpb24ncyBsYXN0IHRyYW5zaXRpb25cIlxuICAgICAgICB9LFxuICAgICAgICBcInN0YXR1c1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInN0YXR1cyBvZiB0aGUgY29uZGl0aW9uXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidHlwZSBvZiBub2RlIGNvbmRpdGlvblwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Ob2RlQ29uZGl0aW9uXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Ob2RlTGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2Ygbm9kZXNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Ob2RlXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Ob2RlXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIk5vZGVMaXN0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19MaXN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxpc3RNZXRhXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5vZGVMaXN0XCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkt1YmVybmV0ZXNSZXNvdXJjZVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfTm9kZVNwZWNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImV4dGVybmFsSURcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJleHRlcm5hbCBJRCBhc3NpZ25lZCB0byB0aGUgbm9kZSBieSBzb21lIG1hY2hpbmUgZGF0YWJhc2UgKGUuZy4gYSBjbG91ZCBwcm92aWRlcikuIERlZmF1bHRzIHRvIG5vZGUgbmFtZSB3aGVuIGVtcHR5LlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicG9kQ0lEUlwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInBvZCBJUCByYW5nZSBhc3NpZ25lZCB0byB0aGUgbm9kZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidW5zY2hlZHVsYWJsZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJkaXNhYmxlIHBvZCBzY2hlZHVsaW5nIG9uIHRoZSBub2RlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5vZGVTcGVjXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Ob2RlU3RhdHVzXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhZGRyZXNzZXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgYWRkcmVzc2VzIHJlYWNoYWJsZSB0byB0aGUgbm9kZVwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX05vZGVBZGRyZXNzXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Ob2RlQWRkcmVzc1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImNhcGFjaXR5XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiY29tcHV0ZSByZXNvdXJjZSBjYXBhY2l0eSBvZiB0aGUgbm9kZTsgaHR0cDovL2RvY3MuazhzLmlvL3Jlc291cmNlcy5tZFwiLFxuICAgICAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX3Jlc291cmNlX1F1YW50aXR5XCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5yZXNvdXJjZS5RdWFudGl0eVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiamF2YS51dGlsLk1hcFxcdTAwM2NTdHJpbmcsaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5yZXNvdXJjZS5RdWFudGl0eVxcdTAwM2VcIlxuICAgICAgICB9LFxuICAgICAgICBcImNvbmRpdGlvbnNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2Ygbm9kZSBjb25kaXRpb25zIG9ic2VydmVkXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTm9kZUNvbmRpdGlvblwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTm9kZUNvbmRpdGlvblwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIm5vZGVJbmZvXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTm9kZVN5c3RlbUluZm9cIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Ob2RlU3lzdGVtSW5mb1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwicGhhc2VcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJtb3N0IHJlY2VudGx5IG9ic2VydmVkIGxpZmVjeWNsZSBwaGFzZSBvZiB0aGUgbm9kZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Ob2RlU3RhdHVzXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Ob2RlU3lzdGVtSW5mb1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYm9vdElEXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiYm9vdCBpZCBpcyB0aGUgYm9vdC1pZCByZXBvcnRlZCBieSB0aGUgbm9kZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiY29udGFpbmVyUnVudGltZVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJDb250YWluZXIgcnVudGltZSB2ZXJzaW9uIHJlcG9ydGVkIGJ5IHRoZSBub2RlIHRocm91Z2ggcnVudGltZSByZW1vdGUgQVBJIChlLmcuIGRvY2tlcjovLzEuNS4wKVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwia2VybmVsVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIktlcm5lbCB2ZXJzaW9uIHJlcG9ydGVkIGJ5IHRoZSBub2RlIGZyb20gJ3VuYW1lIC1yJyAoZS5nLiAzLjE2LjAtMC5icG8uNC1hbWQ2NClcIlxuICAgICAgICB9LFxuICAgICAgICBcImt1YmVQcm94eVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJLdWJlLXByb3h5IHZlcnNpb24gcmVwb3J0ZWQgYnkgdGhlIG5vZGVcIlxuICAgICAgICB9LFxuICAgICAgICBcImt1YmVsZXRWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiS3ViZWxldCB2ZXJzaW9uIHJlcG9ydGVkIGJ5IHRoZSBub2RlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJtYWNoaW5lSURcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJtYWNoaW5lLWlkIHJlcG9ydGVkIGJ5IHRoZSBub2RlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJvc0ltYWdlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiT1MgaW1hZ2UgdXNlZCByZXBvcnRlZCBieSB0aGUgbm9kZSBmcm9tIC9ldGMvb3MtcmVsZWFzZSAoZS5nLiBEZWJpYW4gR05VL0xpbnV4IDcgKHdoZWV6eSkpXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzeXN0ZW1VVUlEXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwic3lzdGVtLXV1aWQgcmVwb3J0ZWQgYnkgdGhlIG5vZGVcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTm9kZVN5c3RlbUluZm9cIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX09iamVjdEZpZWxkU2VsZWN0b3JcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ2ZXJzaW9uIG9mIHRoZSBzY2hlbWEgdGhhdCBmaWVsZFBhdGggaXMgd3JpdHRlbiBpbiB0ZXJtcyBvZjsgZGVmYXVsdHMgdG8gdjFcIlxuICAgICAgICB9LFxuICAgICAgICBcImZpZWxkUGF0aFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInBhdGggb2YgdGhlIGZpZWxkIHRvIHNlbGVjdCBpbiB0aGUgc3BlY2lmaWVkIEFQSSB2ZXJzaW9uXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdEZpZWxkU2VsZWN0b3JcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX09iamVjdE1ldGFcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFubm90YXRpb25zXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibWFwIG9mIHN0cmluZyBrZXlzIGFuZCB2YWx1ZXMgdGhhdCBjYW4gYmUgdXNlZCBieSBleHRlcm5hbCB0b29saW5nIHRvIHN0b3JlIGFuZCByZXRyaWV2ZSBhcmJpdHJhcnkgbWV0YWRhdGEgYWJvdXQgb2JqZWN0c1wiLFxuICAgICAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibWFwIG9mIHN0cmluZyBrZXlzIGFuZCB2YWx1ZXMgdGhhdCBjYW4gYmUgdXNlZCBieSBleHRlcm5hbCB0b29saW5nIHRvIHN0b3JlIGFuZCByZXRyaWV2ZSBhcmJpdHJhcnkgbWV0YWRhdGEgYWJvdXQgb2JqZWN0c1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiamF2YS51dGlsLk1hcFxcdTAwM2NTdHJpbmcsU3RyaW5nXFx1MDAzZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiY3JlYXRpb25UaW1lc3RhbXBcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJSRkMgMzMzOSBkYXRlIGFuZCB0aW1lIGF0IHdoaWNoIHRoZSBvYmplY3Qgd2FzIGNyZWF0ZWQ7IHBvcHVsYXRlZCBieSB0aGUgc3lzdGVtXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJkZWxldGlvblRpbWVzdGFtcFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlJGQyAzMzM5IGRhdGUgYW5kIHRpbWUgYXQgd2hpY2ggdGhlIG9iamVjdCB3aWxsIGJlIGRlbGV0ZWQ7IHBvcHVsYXRlZCBieSB0aGUgc3lzdGVtIHdoZW4gYSBncmFjZWZ1bCBkZWxldGlvbiBpcyByZXF1ZXN0ZWRcIlxuICAgICAgICB9LFxuICAgICAgICBcImdlbmVyYXRlTmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImFuIG9wdGlvbmFsIHByZWZpeCB0byB1c2UgdG8gZ2VuZXJhdGUgYSB1bmlxdWUgbmFtZTsgaGFzIHRoZSBzYW1lIHZhbGlkYXRpb24gcnVsZXMgYXMgbmFtZTsgb3B0aW9uYWxcIlxuICAgICAgICB9LFxuICAgICAgICBcImxhYmVsc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm1hcCBvZiBzdHJpbmcga2V5cyBhbmQgdmFsdWVzIHRoYXQgY2FuIGJlIHVzZWQgdG8gb3JnYW5pemUgYW5kIGNhdGVnb3JpemUgb2JqZWN0czsgbWF5IG1hdGNoIHNlbGVjdG9ycyBvZiByZXBsaWNhdGlvbiBjb250cm9sbGVycyBhbmQgc2VydmljZXNcIixcbiAgICAgICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm1hcCBvZiBzdHJpbmcga2V5cyBhbmQgdmFsdWVzIHRoYXQgY2FuIGJlIHVzZWQgdG8gb3JnYW5pemUgYW5kIGNhdGVnb3JpemUgb2JqZWN0czsgbWF5IG1hdGNoIHNlbGVjdG9ycyBvZiByZXBsaWNhdGlvbiBjb250cm9sbGVycyBhbmQgc2VydmljZXNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImphdmEudXRpbC5NYXBcXHUwMDNjU3RyaW5nLFN0cmluZ1xcdTAwM2VcIlxuICAgICAgICB9LFxuICAgICAgICBcIm5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJzdHJpbmcgdGhhdCBpZGVudGlmaWVzIGFuIG9iamVjdC4gTXVzdCBiZSB1bmlxdWUgd2l0aGluIGEgbmFtZXNwYWNlOyBjYW5ub3QgYmUgdXBkYXRlZFwiLFxuICAgICAgICAgIFwibWF4TGVuZ3RoXCI6IDYzLFxuICAgICAgICAgIFwicGF0dGVyblwiOiBcIl5bYS16MC05XShbLWEtejAtOV0qW2EtejAtOV0pPyRcIlxuICAgICAgICB9LFxuICAgICAgICBcIm5hbWVzcGFjZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm5hbWVzcGFjZSBvZiB0aGUgb2JqZWN0OyBtdXN0IGJlIGEgRE5TX0xBQkVMOyBjYW5ub3QgYmUgdXBkYXRlZFwiLFxuICAgICAgICAgIFwibWF4TGVuZ3RoXCI6IDI1MyxcbiAgICAgICAgICBcInBhdHRlcm5cIjogXCJeW2EtejAtOV0oWy1hLXowLTldKlthLXowLTldKT8oXFxcXC5bYS16MC05XShbLWEtejAtOV0qW2EtejAtOV0pPykqJFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVzb3VyY2VWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwic3RyaW5nIHRoYXQgaWRlbnRpZmllcyB0aGUgaW50ZXJuYWwgdmVyc2lvbiBvZiB0aGlzIG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIGJ5IGNsaWVudHMgdG8gZGV0ZXJtaW5lIHdoZW4gb2JqZWN0cyBoYXZlIGNoYW5nZWQ7IHBvcHVsYXRlZCBieSB0aGUgc3lzdGVtXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWxmTGlua1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlVSTCBmb3IgdGhlIG9iamVjdDsgcG9wdWxhdGVkIGJ5IHRoZSBzeXN0ZW1cIlxuICAgICAgICB9LFxuICAgICAgICBcInVpZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInVuaXF1ZSBVVUlEIGFjcm9zcyBzcGFjZSBhbmQgdGltZTsgcG9wdWxhdGVkIGJ5IHRoZSBzeXN0ZW07IHJlYWQtb25seVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RNZXRhXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19PYmplY3RSZWZlcmVuY2VcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJBUEkgdmVyc2lvbiBvZiB0aGUgcmVmZXJlbnRcIlxuICAgICAgICB9LFxuICAgICAgICBcImZpZWxkUGF0aFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImlmIHJlZmVycmluZyB0byBhIHBpZWNlIG9mIGFuIG9iamVjdCBpbnN0ZWFkIG9mIGFuIGVudGlyZSBvYmplY3RcIlxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJraW5kIG9mIHRoZSByZWZlcmVudFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm5hbWUgb2YgdGhlIHJlZmVyZW50XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJuYW1lc3BhY2VcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJuYW1lc3BhY2Ugb2YgdGhlIHJlZmVyZW50XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZXNvdXJjZVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJzcGVjaWZpYyByZXNvdXJjZVZlcnNpb24gdG8gd2hpY2ggdGhpcyByZWZlcmVuY2UgaXMgbWFkZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidWlkXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidWlkIG9mIHRoZSByZWZlcmVudFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RSZWZlcmVuY2VcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1BlcnNpc3RlbnRWb2x1bWVDbGFpbVZvbHVtZVNvdXJjZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiY2xhaW1OYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBzYW1lIG5hbWVzcGFjZSB0byBiZSBtb3VudGVkIGFzIGEgdm9sdW1lXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZWFkT25seVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJtb3VudCB2b2x1bWUgYXMgcmVhZC1vbmx5IHdoZW4gdHJ1ZTsgZGVmYXVsdCBmYWxzZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5QZXJzaXN0ZW50Vm9sdW1lQ2xhaW1Wb2x1bWVTb3VyY2VcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1BvZFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIlBvZFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdE1ldGFcIlxuICAgICAgICB9LFxuICAgICAgICBcInNwZWNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Qb2RTcGVjXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUG9kU3BlY1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RhdHVzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfUG9kU3RhdHVzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUG9kU3RhdHVzXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlBvZFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYXNNZXRhZGF0YVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfUG9kQ29uZGl0aW9uXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJzdGF0dXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJzdGF0dXMgb2YgdGhlIGNvbmRpdGlvblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImtpbmQgb2YgdGhlIGNvbmRpdGlvblwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Qb2RDb25kaXRpb25cIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1BvZExpc3RcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIHBvZHNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Qb2RcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlBvZFwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJQb2RMaXN0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19MaXN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxpc3RNZXRhXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlBvZExpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Qb2RTcGVjXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhY3RpdmVEZWFkbGluZVNlY29uZHNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcIkxvbmdcIlxuICAgICAgICB9LFxuICAgICAgICBcImNvbnRhaW5lcnNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgY29udGFpbmVycyBiZWxvbmdpbmcgdG8gdGhlIHBvZDsgY2Fubm90IGJlIHVwZGF0ZWQ7IGNvbnRhaW5lcnMgY2Fubm90IGN1cnJlbnRseSBiZSBhZGRlZCBvciByZW1vdmVkOyB0aGVyZSBtdXN0IGJlIGF0IGxlYXN0IG9uZSBjb250YWluZXIgaW4gYSBQb2RcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Db250YWluZXJcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkNvbnRhaW5lclwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImRuc1BvbGljeVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkROUyBwb2xpY3kgZm9yIGNvbnRhaW5lcnMgd2l0aGluIHRoZSBwb2Q7IG9uZSBvZiAnQ2x1c3RlckZpcnN0JyBvciAnRGVmYXVsdCdcIlxuICAgICAgICB9LFxuICAgICAgICBcImhvc3RcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJob3N0IHJlcXVlc3RlZCBmb3IgdGhpcyBwb2RcIlxuICAgICAgICB9LFxuICAgICAgICBcImhvc3ROZXR3b3JrXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImhvc3QgbmV0d29ya2luZyByZXF1ZXN0ZWQgZm9yIHRoaXMgcG9kXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJpbWFnZVB1bGxTZWNyZXRzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIHJlZmVyZW5jZXMgdG8gc2VjcmV0cyBpbiB0aGUgc2FtZSBuYW1lc3BhY2UgYXZhaWxhYmxlIGZvciBwdWxsaW5nIHRoZSBjb250YWluZXIgaW1hZ2VzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTG9jYWxPYmplY3RSZWZlcmVuY2VcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxvY2FsT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwibm9kZVNlbGVjdG9yXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwic2VsZWN0b3Igd2hpY2ggbXVzdCBtYXRjaCBhIG5vZGUncyBsYWJlbHMgZm9yIHRoZSBwb2QgdG8gYmUgc2NoZWR1bGVkIG9uIHRoYXQgbm9kZVwiLFxuICAgICAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwic2VsZWN0b3Igd2hpY2ggbXVzdCBtYXRjaCBhIG5vZGUncyBsYWJlbHMgZm9yIHRoZSBwb2QgdG8gYmUgc2NoZWR1bGVkIG9uIHRoYXQgbm9kZVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiamF2YS51dGlsLk1hcFxcdTAwM2NTdHJpbmcsU3RyaW5nXFx1MDAzZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVzdGFydFBvbGljeVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInJlc3RhcnQgcG9saWN5IGZvciBhbGwgY29udGFpbmVycyB3aXRoaW4gdGhlIHBvZDsgb25lIG9mIFJlc3RhcnRQb2xpY3lBbHdheXNcIlxuICAgICAgICB9LFxuICAgICAgICBcInNlcnZpY2VBY2NvdW50XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibmFtZSBvZiB0aGUgU2VydmljZUFjY291bnQgdG8gdXNlIHRvIHJ1biB0aGlzIHBvZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidGVybWluYXRpb25HcmFjZVBlcmlvZFNlY29uZHNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwib3B0aW9uYWwgZHVyYXRpb24gaW4gc2Vjb25kcyB0aGUgcG9kIG5lZWRzIHRvIHRlcm1pbmF0ZSBncmFjZWZ1bGx5OyBtYXkgYmUgZGVjcmVhc2VkIGluIGRlbGV0ZSByZXF1ZXN0OyB2YWx1ZSBtdXN0IGJlIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyOyB0aGUgdmFsdWUgemVybyBpbmRpY2F0ZXMgZGVsZXRlIGltbWVkaWF0ZWx5OyBpZiB0aGlzIHZhbHVlIGlzIG5vdCBzZXRcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiTG9uZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwidm9sdW1lc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiB2b2x1bWVzIHRoYXQgY2FuIGJlIG1vdW50ZWQgYnkgY29udGFpbmVycyBiZWxvbmdpbmcgdG8gdGhlIHBvZFwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1ZvbHVtZVwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuVm9sdW1lXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Qb2RTcGVjXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Qb2RTdGF0dXNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImNvbmRpdGlvbnNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImN1cnJlbnQgc2VydmljZSBzdGF0ZSBvZiBwb2RcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Qb2RDb25kaXRpb25cIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlBvZENvbmRpdGlvblwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImNvbnRhaW5lclN0YXR1c2VzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIGNvbnRhaW5lciBzdGF0dXNlc1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0NvbnRhaW5lclN0YXR1c1wiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuQ29udGFpbmVyU3RhdHVzXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiaG9zdElQXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiSVAgYWRkcmVzcyBvZiB0aGUgaG9zdCB0byB3aGljaCB0aGUgcG9kIGlzIGFzc2lnbmVkOyBlbXB0eSBpZiBub3QgeWV0IHNjaGVkdWxlZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibWVzc2FnZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImh1bWFuIHJlYWRhYmxlIG1lc3NhZ2UgaW5kaWNhdGluZyBkZXRhaWxzIGFib3V0IHdoeSB0aGUgcG9kIGlzIGluIHRoaXMgY29uZGl0aW9uXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwaGFzZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImN1cnJlbnQgY29uZGl0aW9uIG9mIHRoZSBwb2QuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwb2RJUFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIklQIGFkZHJlc3MgYWxsb2NhdGVkIHRvIHRoZSBwb2Q7IHJvdXRhYmxlIGF0IGxlYXN0IHdpdGhpbiB0aGUgY2x1c3RlcjsgZW1wdHkgaWYgbm90IHlldCBhbGxvY2F0ZWRcIlxuICAgICAgICB9LFxuICAgICAgICBcInN0YXJ0VGltZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlJGQyAzMzM5IGRhdGUgYW5kIHRpbWUgYXQgd2hpY2ggdGhlIG9iamVjdCB3YXMgYWNrbm93bGVkZ2VkIGJ5IHRoZSBLdWJlbGV0LiAgVGhpcyBpcyBiZWZvcmUgdGhlIEt1YmVsZXQgcHVsbGVkIHRoZSBjb250YWluZXIgaW1hZ2UocykgZm9yIHRoZSBwb2QuXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlBvZFN0YXR1c1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfUG9kVGVtcGxhdGVTcGVjXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RNZXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzcGVjXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfUG9kU3BlY1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlBvZFNwZWNcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUG9kVGVtcGxhdGVTcGVjXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Qcm9iZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZXhlY1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0V4ZWNBY3Rpb25cIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FeGVjQWN0aW9uXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJodHRwR2V0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfSFRUUEdldEFjdGlvblwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhUVFBHZXRBY3Rpb25cIlxuICAgICAgICB9LFxuICAgICAgICBcImluaXRpYWxEZWxheVNlY29uZHNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibnVtYmVyIG9mIHNlY29uZHMgYWZ0ZXIgdGhlIGNvbnRhaW5lciBoYXMgc3RhcnRlZCBiZWZvcmUgbGl2ZW5lc3MgcHJvYmVzIGFyZSBpbml0aWF0ZWRcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiTG9uZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwidGNwU29ja2V0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfVENQU29ja2V0QWN0aW9uXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuVENQU29ja2V0QWN0aW9uXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0aW1lb3V0U2Vjb25kc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJudW1iZXIgb2Ygc2Vjb25kcyBhZnRlciB3aGljaCBsaXZlbmVzcyBwcm9iZXMgdGltZW91dDsgZGVmYXVsdHMgdG8gMSBzZWNvbmRcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiTG9uZ1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Qcm9iZVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfUkJEVm9sdW1lU291cmNlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJmc1R5cGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJmaWxlIHN5c3RlbSB0eXBlIHRvIG1vdW50XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInJhZG9zIGltYWdlIG5hbWVcIlxuICAgICAgICB9LFxuICAgICAgICBcImtleXJpbmdcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJrZXlyaW5nIGlzIHRoZSBwYXRoIHRvIGtleSByaW5nIGZvciByYWRvcyB1c2VyOyBkZWZhdWx0IGlzIC9ldGMvY2VwaC9rZXlyaW5nOyBvcHRpb25hbFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibW9uaXRvcnNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImEgY29sbGVjdGlvbiBvZiBDZXBoIG1vbml0b3JzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJhIGNvbGxlY3Rpb24gb2YgQ2VwaCBtb25pdG9yc1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInBvb2xcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJyYWRvcyBwb29sIG5hbWU7IGRlZmF1bHQgaXMgcmJkOyBvcHRpb25hbFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVhZE9ubHlcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImJvb2xlYW5cIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicmJkIHZvbHVtZSB0byBiZSBtb3VudGVkIHdpdGggcmVhZC1vbmx5IHBlcm1pc3Npb25zXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWNyZXRSZWZcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Mb2NhbE9iamVjdFJlZmVyZW5jZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxvY2FsT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ1c2VyXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicmFkb3MgdXNlciBuYW1lOyBkZWZhdWx0IGlzIGFkbWluOyBvcHRpb25hbFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5SQkRWb2x1bWVTb3VyY2VcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1JlcGxpY2F0aW9uQ29udHJvbGxlclwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIlJlcGxpY2F0aW9uQ29udHJvbGxlclwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdE1ldGFcIlxuICAgICAgICB9LFxuICAgICAgICBcInNwZWNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19SZXBsaWNhdGlvbkNvbnRyb2xsZXJTcGVjXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUmVwbGljYXRpb25Db250cm9sbGVyU3BlY1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RhdHVzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfUmVwbGljYXRpb25Db250cm9sbGVyU3RhdHVzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUmVwbGljYXRpb25Db250cm9sbGVyU3RhdHVzXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlJlcGxpY2F0aW9uQ29udHJvbGxlclwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYXNNZXRhZGF0YVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfUmVwbGljYXRpb25Db250cm9sbGVyTGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgcmVwbGljYXRpb24gY29udHJvbGxlcnNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19SZXBsaWNhdGlvbkNvbnRyb2xsZXJcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlJlcGxpY2F0aW9uQ29udHJvbGxlclwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJSZXBsaWNhdGlvbkNvbnRyb2xsZXJMaXN0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19MaXN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxpc3RNZXRhXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlJlcGxpY2F0aW9uQ29udHJvbGxlckxpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19SZXBsaWNhdGlvbkNvbnRyb2xsZXJTcGVjXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJyZXBsaWNhc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJudW1iZXIgb2YgcmVwbGljYXMgZGVzaXJlZDsgZGVmYXVsdHMgdG8gMVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic2VsZWN0b3JcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsYWJlbCBrZXlzIGFuZCB2YWx1ZXMgdGhhdCBtdXN0IG1hdGNoIGluIG9yZGVyIHRvIGJlIGNvbnRyb2xsZWQgYnkgdGhpcyByZXBsaWNhdGlvbiBjb250cm9sbGVyXCIsXG4gICAgICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsYWJlbCBrZXlzIGFuZCB2YWx1ZXMgdGhhdCBtdXN0IG1hdGNoIGluIG9yZGVyIHRvIGJlIGNvbnRyb2xsZWQgYnkgdGhpcyByZXBsaWNhdGlvbiBjb250cm9sbGVyXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJqYXZhLnV0aWwuTWFwXFx1MDAzY1N0cmluZyxTdHJpbmdcXHUwMDNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0ZW1wbGF0ZVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1BvZFRlbXBsYXRlU3BlY1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlBvZFRlbXBsYXRlU3BlY1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwidGVtcGxhdGVSZWZcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RSZWZlcmVuY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RSZWZlcmVuY2VcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUmVwbGljYXRpb25Db250cm9sbGVyU3BlY1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfUmVwbGljYXRpb25Db250cm9sbGVyU3RhdHVzXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJyZXBsaWNhc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJtb3N0IHJlY2VudGx5IG9iZXJ2ZWQgbnVtYmVyIG9mIHJlcGxpY2FzXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlJlcGxpY2F0aW9uQ29udHJvbGxlclN0YXR1c1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfUmVzb3VyY2VSZXF1aXJlbWVudHNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImxpbWl0c1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIk1heGltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIGFsbG93ZWRcIixcbiAgICAgICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19yZXNvdXJjZV9RdWFudGl0eVwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwucmVzb3VyY2UuUXVhbnRpdHlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImphdmEudXRpbC5NYXBcXHUwMDNjU3RyaW5nLGlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwucmVzb3VyY2UuUXVhbnRpdHlcXHUwMDNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZXF1ZXN0c1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIk1pbmltdW0gYW1vdW50IG9mIHJlc291cmNlcyByZXF1ZXN0ZWQ7IHJlcXVlc3RzIGFyZSBob25vcmVkIG9ubHkgZm9yIHBlcnNpc3RlbnQgdm9sdW1lcyBhcyBvZiBub3dcIixcbiAgICAgICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19yZXNvdXJjZV9RdWFudGl0eVwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwucmVzb3VyY2UuUXVhbnRpdHlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImphdmEudXRpbC5NYXBcXHUwMDNjU3RyaW5nLGlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwucmVzb3VyY2UuUXVhbnRpdHlcXHUwMDNlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlJlc291cmNlUmVxdWlyZW1lbnRzXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19TRUxpbnV4T3B0aW9uc1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwibGV2ZWxcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgbGV2ZWwgbGFiZWwgdG8gYXBwbHkgdG8gdGhlIGNvbnRhaW5lclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicm9sZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSByb2xlIGxhYmVsIHRvIGFwcGx5IHRvIHRoZSBjb250YWluZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgdHlwZSBsYWJlbCB0byBhcHBseSB0byB0aGUgY29udGFpbmVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ1c2VyXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIHVzZXIgbGFiZWwgdG8gYXBwbHkgdG8gdGhlIGNvbnRhaW5lclwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TRUxpbnV4T3B0aW9uc1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfU2VjcmV0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJkYXRhXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZGF0YSBjb250YWlucyB0aGUgc2VjcmV0IGRhdGEuICBFYWNoIGtleSBtdXN0IGJlIGEgdmFsaWQgRE5TX1NVQkRPTUFJTiBvciBsZWFkaW5nIGRvdCBmb2xsb3dlZCBieSB2YWxpZCBETlNfU1VCRE9NQUlOLiAgRWFjaCB2YWx1ZSBtdXN0IGJlIGEgYmFzZTY0IGVuY29kZWQgc3RyaW5nIGFzIGRlc2NyaWJlZCBpbiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNDY0OCNzZWN0aW9uLTRcIixcbiAgICAgICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImRhdGEgY29udGFpbnMgdGhlIHNlY3JldCBkYXRhLiAgRWFjaCBrZXkgbXVzdCBiZSBhIHZhbGlkIEROU19TVUJET01BSU4gb3IgbGVhZGluZyBkb3QgZm9sbG93ZWQgYnkgdmFsaWQgRE5TX1NVQkRPTUFJTi4gIEVhY2ggdmFsdWUgbXVzdCBiZSBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZyBhcyBkZXNjcmliZWQgaW4gaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzQ2NDgjc2VjdGlvbi00XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJqYXZhLnV0aWwuTWFwXFx1MDAzY1N0cmluZyxTdHJpbmdcXHUwMDNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiU2VjcmV0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInR5cGUgZmFjaWxpdGF0ZXMgcHJvZ3JhbW1hdGljIGhhbmRsaW5nIG9mIHNlY3JldCBkYXRhXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlY3JldFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYXNNZXRhZGF0YVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfU2VjcmV0TGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIml0ZW1zIGlzIGEgbGlzdCBvZiBzZWNyZXQgb2JqZWN0c1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1NlY3JldFwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuU2VjcmV0XCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIlNlY3JldExpc3RcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xpc3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlzdE1ldGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuU2VjcmV0TGlzdFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5LdWJlcm5ldGVzUmVzb3VyY2VcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1NlY3JldFZvbHVtZVNvdXJjZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwic2VjcmV0TmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInNlY3JldE5hbWUgaXMgdGhlIG5hbWUgb2YgYSBzZWNyZXQgaW4gdGhlIHBvZCdzIG5hbWVzcGFjZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZWNyZXRWb2x1bWVTb3VyY2VcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1NlY3VyaXR5Q29udGV4dFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiY2FwYWJpbGl0aWVzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfQ2FwYWJpbGl0aWVzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuQ2FwYWJpbGl0aWVzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwcml2aWxlZ2VkXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInJ1biB0aGUgY29udGFpbmVyIGluIHByaXZpbGVnZWQgbW9kZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicnVuQXNVc2VyXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSB1c2VyIGlkIHRoYXQgcnVucyB0aGUgZmlyc3QgcHJvY2VzcyBpbiB0aGUgY29udGFpbmVyXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcIkxvbmdcIlxuICAgICAgICB9LFxuICAgICAgICBcInNlTGludXhPcHRpb25zXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfU0VMaW51eE9wdGlvbnNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TRUxpbnV4T3B0aW9uc1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZWN1cml0eUNvbnRleHRcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1NlcnZpY2VcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJTZXJ2aWNlXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3BlY1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1NlcnZpY2VTcGVjXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuU2VydmljZVNwZWNcIlxuICAgICAgICB9LFxuICAgICAgICBcInN0YXR1c1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1NlcnZpY2VTdGF0dXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZXJ2aWNlU3RhdHVzXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlcnZpY2VcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1NlcnZpY2VBY2NvdW50XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiU2VydmljZUFjY291bnRcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RNZXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWNyZXRzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIHNlY3JldHMgdGhhdCBjYW4gYmUgdXNlZCBieSBwb2RzIHJ1bm5pbmcgYXMgdGhpcyBzZXJ2aWNlIGFjY291bnRcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RSZWZlcmVuY2VcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdFJlZmVyZW5jZVwiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuU2VydmljZUFjY291bnRcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1NlcnZpY2VBY2NvdW50TGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgU2VydmljZUFjY291bnRzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfU2VydmljZUFjY291bnRcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlcnZpY2VBY2NvdW50XCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIlNlcnZpY2VBY2NvdW50TGlzdFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTGlzdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5MaXN0TWV0YVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZXJ2aWNlQWNjb3VudExpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19TZXJ2aWNlTGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2Ygc2VydmljZXNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19TZXJ2aWNlXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZXJ2aWNlXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIlNlcnZpY2VMaXN0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19MaXN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxpc3RNZXRhXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlcnZpY2VMaXN0XCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkt1YmVybmV0ZXNSZXNvdXJjZVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfU2VydmljZVBvcnRcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcIm5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgbmFtZSBvZiB0aGlzIHBvcnQ7IG9wdGlvbmFsIGlmIG9ubHkgb25lIHBvcnQgaXMgZGVmaW5lZFwiLFxuICAgICAgICAgIFwibWF4TGVuZ3RoXCI6IDYzLFxuICAgICAgICAgIFwicGF0dGVyblwiOiBcIl5bYS16MC05XShbLWEtejAtOV0qW2EtejAtOV0pPyRcIlxuICAgICAgICB9LFxuICAgICAgICBcIm5vZGVQb3J0XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSBwb3J0IG9uIGVhY2ggbm9kZSBvbiB3aGljaCB0aGlzIHNlcnZpY2UgaXMgZXhwb3NlZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicG9ydFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgcG9ydCBudW1iZXIgdGhhdCBpcyBleHBvc2VkXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwcm90b2NvbFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSBwcm90b2NvbCB1c2VkIGJ5IHRoaXMgcG9ydDsgbXVzdCBiZSBVRFAgb3IgVENQOyBUQ1AgaWYgdW5zcGVjaWZpZWRcIlxuICAgICAgICB9LFxuICAgICAgICBcInRhcmdldFBvcnRcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc191dGlsX0ludE9yU3RyaW5nXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwudXRpbC5JbnRPclN0cmluZ1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZXJ2aWNlUG9ydFwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfU2VydmljZVNwZWNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImRlcHJlY2F0ZWRQdWJsaWNJUHNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImRlcHJlY2F0ZWQuIGV4dGVybmFsbHkgdmlzaWJsZSBJUHMgKGUuZy4gbG9hZCBiYWxhbmNlcnMpIHRoYXQgc2hvdWxkIGJlIHByb3hpZWQgdG8gdGhpcyBzZXJ2aWNlXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJkZXByZWNhdGVkLiBleHRlcm5hbGx5IHZpc2libGUgSVBzIChlLmcuIGxvYWQgYmFsYW5jZXJzKSB0aGF0IHNob3VsZCBiZSBwcm94aWVkIHRvIHRoaXMgc2VydmljZVwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInBvcnRhbElQXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwb3J0c1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicG9ydHMgZXhwb3NlZCBieSB0aGUgc2VydmljZVwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1NlcnZpY2VQb3J0XCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZXJ2aWNlUG9ydFwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInNlbGVjdG9yXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGFiZWwga2V5cyBhbmQgdmFsdWVzIHRoYXQgbXVzdCBtYXRjaCBpbiBvcmRlciB0byByZWNlaXZlIHRyYWZmaWMgZm9yIHRoaXMgc2VydmljZTsgaWYgZW1wdHlcIixcbiAgICAgICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxhYmVsIGtleXMgYW5kIHZhbHVlcyB0aGF0IG11c3QgbWF0Y2ggaW4gb3JkZXIgdG8gcmVjZWl2ZSB0cmFmZmljIGZvciB0aGlzIHNlcnZpY2U7IGlmIGVtcHR5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJqYXZhLnV0aWwuTWFwXFx1MDAzY1N0cmluZyxTdHJpbmdcXHUwMDNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzZXNzaW9uQWZmaW5pdHlcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJlbmFibGUgY2xpZW50IElQIGJhc2VkIHNlc3Npb24gYWZmaW5pdHk7IG11c3QgYmUgQ2xpZW50SVAgb3IgTm9uZTsgZGVmYXVsdHMgdG8gTm9uZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInR5cGUgb2YgdGhpcyBzZXJ2aWNlOyBtdXN0IGJlIENsdXN0ZXJJUFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZXJ2aWNlU3BlY1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfU2VydmljZVN0YXR1c1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwibG9hZEJhbGFuY2VyXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTG9hZEJhbGFuY2VyU3RhdHVzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTG9hZEJhbGFuY2VyU3RhdHVzXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlcnZpY2VTdGF0dXNcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1RDUFNvY2tldEFjdGlvblwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwicG9ydFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX3V0aWxfSW50T3JTdHJpbmdcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC51dGlsLkludE9yU3RyaW5nXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlRDUFNvY2tldEFjdGlvblwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfVHlwZU1ldGFcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ2ZXJzaW9uIG9mIHRoZSBzY2hlbWEgdGhlIG9iamVjdCBzaG91bGQgaGF2ZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImtpbmQgb2Ygb2JqZWN0XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlR5cGVNZXRhXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Wb2x1bWVcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImF3c0VsYXN0aWNCbG9ja1N0b3JlXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfQVdTRWxhc3RpY0Jsb2NrU3RvcmVWb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5BV1NFbGFzdGljQmxvY2tTdG9yZVZvbHVtZVNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZW1wdHlEaXJcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19FbXB0eURpclZvbHVtZVNvdXJjZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVtcHR5RGlyVm9sdW1lU291cmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJnY2VQZXJzaXN0ZW50RGlza1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0dDRVBlcnNpc3RlbnREaXNrVm9sdW1lU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuR0NFUGVyc2lzdGVudERpc2tWb2x1bWVTb3VyY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcImdpdFJlcG9cIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19HaXRSZXBvVm9sdW1lU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuR2l0UmVwb1ZvbHVtZVNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZ2x1c3RlcmZzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfR2x1c3RlcmZzVm9sdW1lU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuR2x1c3RlcmZzVm9sdW1lU291cmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJob3N0UGF0aFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0hvc3RQYXRoVm9sdW1lU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSG9zdFBhdGhWb2x1bWVTb3VyY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcImlzY3NpXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfSVNDU0lWb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5JU0NTSVZvbHVtZVNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInZvbHVtZSBuYW1lOyBtdXN0IGJlIGEgRE5TX0xBQkVMIGFuZCB1bmlxdWUgd2l0aGluIHRoZSBwb2RcIixcbiAgICAgICAgICBcIm1heExlbmd0aFwiOiA2MyxcbiAgICAgICAgICBcInBhdHRlcm5cIjogXCJeW2EtejAtOV0oWy1hLXowLTldKlthLXowLTldKT8kXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJuZnNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19ORlNWb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5ORlNWb2x1bWVTb3VyY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInBlcnNpc3RlbnRWb2x1bWVDbGFpbVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1BlcnNpc3RlbnRWb2x1bWVDbGFpbVZvbHVtZVNvdXJjZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlBlcnNpc3RlbnRWb2x1bWVDbGFpbVZvbHVtZVNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmJkXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfUkJEVm9sdW1lU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUkJEVm9sdW1lU291cmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWNyZXRcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19TZWNyZXRWb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZWNyZXRWb2x1bWVTb3VyY2VcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuVm9sdW1lXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Wb2x1bWVNb3VudFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwibW91bnRQYXRoXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicGF0aCB3aXRoaW4gdGhlIGNvbnRhaW5lciBhdCB3aGljaCB0aGUgdm9sdW1lIHNob3VsZCBiZSBtb3VudGVkXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJuYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibmFtZSBvZiB0aGUgdm9sdW1lIHRvIG1vdW50XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZWFkT25seVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJtb3VudGVkIHJlYWQtb25seSBpZiB0cnVlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlZvbHVtZU1vdW50XCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Wb2x1bWVTb3VyY2VcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImF3c0VsYXN0aWNCbG9ja1N0b3JlXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfQVdTRWxhc3RpY0Jsb2NrU3RvcmVWb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5BV1NFbGFzdGljQmxvY2tTdG9yZVZvbHVtZVNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZW1wdHlEaXJcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19FbXB0eURpclZvbHVtZVNvdXJjZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVtcHR5RGlyVm9sdW1lU291cmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJnY2VQZXJzaXN0ZW50RGlza1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0dDRVBlcnNpc3RlbnREaXNrVm9sdW1lU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuR0NFUGVyc2lzdGVudERpc2tWb2x1bWVTb3VyY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcImdpdFJlcG9cIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19HaXRSZXBvVm9sdW1lU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuR2l0UmVwb1ZvbHVtZVNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZ2x1c3RlcmZzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfR2x1c3RlcmZzVm9sdW1lU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuR2x1c3RlcmZzVm9sdW1lU291cmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJob3N0UGF0aFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0hvc3RQYXRoVm9sdW1lU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSG9zdFBhdGhWb2x1bWVTb3VyY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcImlzY3NpXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfSVNDU0lWb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5JU0NTSVZvbHVtZVNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibmZzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTkZTVm9sdW1lU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTkZTVm9sdW1lU291cmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwZXJzaXN0ZW50Vm9sdW1lQ2xhaW1cIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19QZXJzaXN0ZW50Vm9sdW1lQ2xhaW1Wb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5QZXJzaXN0ZW50Vm9sdW1lQ2xhaW1Wb2x1bWVTb3VyY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInJiZFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1JCRFZvbHVtZVNvdXJjZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlJCRFZvbHVtZVNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic2VjcmV0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfU2VjcmV0Vm9sdW1lU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuU2VjcmV0Vm9sdW1lU291cmNlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlZvbHVtZVNvdXJjZVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfYmFzZV9MaXN0TWV0YVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwicmVzb3VyY2VWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWxmTGlua1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5iYXNlLkxpc3RNZXRhXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19iYXNlX1N0YXR1c1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiY29kZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcImRldGFpbHNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19iYXNlX1N0YXR1c0RldGFpbHNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5iYXNlLlN0YXR1c0RldGFpbHNcIlxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJTdGF0dXNcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXNzYWdlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX2Jhc2VfTGlzdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5iYXNlLkxpc3RNZXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZWFzb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcInN0YXR1c1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5iYXNlLlN0YXR1c1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfYmFzZV9TdGF0dXNDYXVzZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZmllbGRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcIm1lc3NhZ2VcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcInJlYXNvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5iYXNlLlN0YXR1c0NhdXNlXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19iYXNlX1N0YXR1c0RldGFpbHNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImNhdXNlc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfYmFzZV9TdGF0dXNDYXVzZVwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuYmFzZS5TdGF0dXNDYXVzZVwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImlkXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZXRyeUFmdGVyU2Vjb25kc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuYmFzZS5TdGF0dXNEZXRhaWxzXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19iYXNlX1R5cGVNZXRhXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmJhc2UuVHlwZU1ldGFcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX2NvbmZpZ19BdXRoSW5mb1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiY2xpZW50LWNlcnRpZmljYXRlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJjbGllbnQtY2VydGlmaWNhdGUtZGF0YVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiY2xpZW50LWtleVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiY2xpZW50LWtleS1kYXRhXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJleHRlbnNpb25zXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19jb25maWdfTmFtZWRFeHRlbnNpb25cIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmNvbmZpZy5OYW1lZEV4dGVuc2lvblwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInBhc3N3b3JkXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0b2tlblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidXNlcm5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuY29uZmlnLkF1dGhJbmZvXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19jb25maWdfQ2x1c3RlclwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpLXZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcImNlcnRpZmljYXRlLWF1dGhvcml0eVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiY2VydGlmaWNhdGUtYXV0aG9yaXR5LWRhdGFcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcImV4dGVuc2lvbnNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX2NvbmZpZ19OYW1lZEV4dGVuc2lvblwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuY29uZmlnLk5hbWVkRXh0ZW5zaW9uXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiaW5zZWN1cmUtc2tpcC10bHMtdmVyaWZ5XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic2VydmVyXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmNvbmZpZy5DbHVzdGVyXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19jb25maWdfQ29uZmlnXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJjbHVzdGVyc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfY29uZmlnX05hbWVkQ2x1c3RlclwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuY29uZmlnLk5hbWVkQ2x1c3RlclwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImNvbnRleHRzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19jb25maWdfTmFtZWRDb250ZXh0XCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuTmFtZWRDb250ZXh0XCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiY3VycmVudC1jb250ZXh0XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJleHRlbnNpb25zXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19jb25maWdfTmFtZWRFeHRlbnNpb25cIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmNvbmZpZy5OYW1lZEV4dGVuc2lvblwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcInByZWZlcmVuY2VzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfY29uZmlnX1ByZWZlcmVuY2VzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuY29uZmlnLlByZWZlcmVuY2VzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ1c2Vyc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfY29uZmlnX05hbWVkQXV0aEluZm9cIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmNvbmZpZy5OYW1lZEF1dGhJbmZvXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuQ29uZmlnXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19jb25maWdfQ29udGV4dFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiY2x1c3RlclwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZXh0ZW5zaW9uc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfY29uZmlnX05hbWVkRXh0ZW5zaW9uXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuTmFtZWRFeHRlbnNpb25cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJuYW1lc3BhY2VcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcInVzZXJcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuY29uZmlnLkNvbnRleHRcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX2NvbmZpZ19OYW1lZEF1dGhJbmZvXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJuYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ1c2VyXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfY29uZmlnX0F1dGhJbmZvXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuY29uZmlnLkF1dGhJbmZvXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmNvbmZpZy5OYW1lZEF1dGhJbmZvXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19jb25maWdfTmFtZWRDbHVzdGVyXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJjbHVzdGVyXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfY29uZmlnX0NsdXN0ZXJcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuQ2x1c3RlclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuTmFtZWRDbHVzdGVyXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19jb25maWdfTmFtZWRDb250ZXh0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJjb250ZXh0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfY29uZmlnX0NvbnRleHRcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuQ29udGV4dFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuTmFtZWRDb250ZXh0XCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19jb25maWdfTmFtZWRFeHRlbnNpb25cIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImV4dGVuc2lvblwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX3J1bnRpbWVfUmF3RXh0ZW5zaW9uXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgICAgICB9LFxuICAgICAgICBcIm5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuY29uZmlnLk5hbWVkRXh0ZW5zaW9uXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19jb25maWdfUHJlZmVyZW5jZXNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImNvbG9yc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcImV4dGVuc2lvbnNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX2NvbmZpZ19OYW1lZEV4dGVuc2lvblwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuY29uZmlnLk5hbWVkRXh0ZW5zaW9uXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuUHJlZmVyZW5jZXNcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX2Vycm9yc19TdGF0dXNFcnJvclwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiRXJyU3RhdHVzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfYmFzZV9TdGF0dXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5iYXNlLlN0YXR1c1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5lcnJvcnMuU3RhdHVzRXJyb3JcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX3Jlc291cmNlX1F1YW50aXR5XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJBbW91bnRcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvc3BldGVyX2luZl9EZWNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuY2xpZW50LnV0aWwuRGVjXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJGb3JtYXRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwucmVzb3VyY2UuUXVhbnRpdHlcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX3J1bnRpbWVfUmF3RXh0ZW5zaW9uXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJSYXdKU09OXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc191dGlsX0ludE9yU3RyaW5nXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJJbnRWYWxcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJLaW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiU3RyVmFsXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLnV0aWwuSW50T3JTdHJpbmdcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX3dhdGNoX1dhdGNoRXZlbnRcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcIm9iamVjdFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX3J1bnRpbWVfUmF3RXh0ZW5zaW9uXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgICAgICB9LFxuICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgdHlwZSBvZiB3YXRjaCBldmVudDsgbWF5IGJlIEFEREVEXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLndhdGNoLldhdGNoRXZlbnRcIlxuICAgIH0sXG4gICAgXCJvc19idWlsZF9CdWlsZFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIkJ1aWxkXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3BlY1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9CdWlsZFNwZWNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkU3BlY1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RhdHVzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0J1aWxkU3RhdHVzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZFN0YXR1c1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkXCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3NfYnVpbGRfQnVpbGRDb25maWdcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJCdWlsZENvbmZpZ1wiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdE1ldGFcIlxuICAgICAgICB9LFxuICAgICAgICBcInNwZWNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfYnVpbGRfQnVpbGRDb25maWdTcGVjXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZENvbmZpZ1NwZWNcIlxuICAgICAgICB9LFxuICAgICAgICBcInN0YXR1c1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9CdWlsZENvbmZpZ1N0YXR1c1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRDb25maWdTdGF0dXNcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZENvbmZpZ1wiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYXNNZXRhZGF0YVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcIm9zX2J1aWxkX0J1aWxkQ29uZmlnTGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgYnVpbGQgY29uZmlnc1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9CdWlsZENvbmZpZ1wiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZENvbmZpZ1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJCdWlsZENvbmZpZ0xpc3RcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xpc3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlzdE1ldGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZENvbmZpZ0xpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3NfYnVpbGRfQnVpbGRDb25maWdTcGVjXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJvdXRwdXRcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfYnVpbGRfQnVpbGRPdXRwdXRcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkT3V0cHV0XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZXNvdXJjZXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19SZXNvdXJjZVJlcXVpcmVtZW50c1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlJlc291cmNlUmVxdWlyZW1lbnRzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZXZpc2lvblwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9Tb3VyY2VSZXZpc2lvblwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuU291cmNlUmV2aXNpb25cIlxuICAgICAgICB9LFxuICAgICAgICBcInNlcnZpY2VBY2NvdW50XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgYWNjb3VudCB0byB1c2UgdG8gcnVuIHBvZHMgY3JlYXRlZCBieSB0aGUgYnVpbGRcIlxuICAgICAgICB9LFxuICAgICAgICBcInNvdXJjZVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9CdWlsZFNvdXJjZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRTb3VyY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInN0cmF0ZWd5XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0J1aWxkU3RyYXRlZ3lcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkU3RyYXRlZ3lcIlxuICAgICAgICB9LFxuICAgICAgICBcInRyaWdnZXJzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJkZXRlcm1pbmVzIGhvdyBuZXcgYnVpbGRzIGNhbiBiZSBsYXVuY2hlZCBmcm9tIGEgYnVpbGQgY29uZmlnLiAgaWYgbm8gdHJpZ2dlcnMgYXJlIGRlZmluZWRcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfYnVpbGRfQnVpbGRUcmlnZ2VyUG9saWN5XCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkVHJpZ2dlclBvbGljeVwiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZENvbmZpZ1NwZWNcIlxuICAgIH0sXG4gICAgXCJvc19idWlsZF9CdWlsZENvbmZpZ1N0YXR1c1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwibGFzdFZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidXNlZCB0byBpbmZvcm0gYWJvdXQgbnVtYmVyIG9mIGxhc3QgdHJpZ2dlcmVkIGJ1aWxkXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRDb25maWdTdGF0dXNcIlxuICAgIH0sXG4gICAgXCJvc19idWlsZF9CdWlsZExpc3RcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIGJ1aWxkc1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9CdWlsZFwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZFwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJCdWlsZExpc3RcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xpc3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlzdE1ldGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZExpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3NfYnVpbGRfQnVpbGRPdXRwdXRcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcInB1c2hTZWNyZXRcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Mb2NhbE9iamVjdFJlZmVyZW5jZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxvY2FsT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0b1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdFJlZmVyZW5jZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdFJlZmVyZW5jZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkT3V0cHV0XCJcbiAgICB9LFxuICAgIFwib3NfYnVpbGRfQnVpbGRSZXF1ZXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiQnVpbGRSZXF1ZXN0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmV2aXNpb25cIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfYnVpbGRfU291cmNlUmV2aXNpb25cIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLlNvdXJjZVJldmlzaW9uXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0cmlnZ2VyZWRCeUltYWdlXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRSZXF1ZXN0XCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3NfYnVpbGRfQnVpbGRTb3VyY2VcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImNvbnRleHREaXJcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJzcGVjaWZpZXMgc3ViLWRpcmVjdG9yeSB3aGVyZSB0aGUgc291cmNlIGNvZGUgZm9yIHRoZSBhcHBsaWNhdGlvbiBleGlzdHNcIlxuICAgICAgICB9LFxuICAgICAgICBcImdpdFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9HaXRCdWlsZFNvdXJjZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuR2l0QnVpbGRTb3VyY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInNvdXJjZVNlY3JldFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xvY2FsT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTG9jYWxPYmplY3RSZWZlcmVuY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0eXBlIG9mIHNvdXJjZSBjb250cm9sIG1hbmFnZW1lbnQgc3lzdGVtXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRTb3VyY2VcIlxuICAgIH0sXG4gICAgXCJvc19idWlsZF9CdWlsZFNwZWNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcIm91dHB1dFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9CdWlsZE91dHB1dFwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRPdXRwdXRcIlxuICAgICAgICB9LFxuICAgICAgICBcInJlc291cmNlc1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1Jlc291cmNlUmVxdWlyZW1lbnRzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUmVzb3VyY2VSZXF1aXJlbWVudHNcIlxuICAgICAgICB9LFxuICAgICAgICBcInJldmlzaW9uXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX1NvdXJjZVJldmlzaW9uXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5Tb3VyY2VSZXZpc2lvblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic2VydmljZUFjY291bnRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgbmFtZSBvZiB0aGUgc2VydmljZSBhY2NvdW50IHRvIHVzZSB0byBydW4gcG9kcyBjcmVhdGVkIGJ5IHRoZSBidWlsZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic291cmNlXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0J1aWxkU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZFNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RyYXRlZ3lcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfYnVpbGRfQnVpbGRTdHJhdGVneVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRTdHJhdGVneVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkU3BlY1wiXG4gICAgfSxcbiAgICBcIm9zX2J1aWxkX0J1aWxkU3RhdHVzXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJjYW5jZWxsZWRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImJvb2xlYW5cIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZGVzY3JpYmVzIGlmIGEgY2FuY2VsaW5nIGV2ZW50IHdhcyB0cmlnZ2VyZWQgZm9yIHRoZSBidWlsZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiY29tcGxldGlvblRpbWVzdGFtcFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInNlcnZlciB0aW1lIHdoZW4gdGhlIHBvZCBydW5uaW5nIHRoaXMgYnVpbGQgc3RvcHBlZCBydW5uaW5nXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJjb25maWdcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RSZWZlcmVuY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RSZWZlcmVuY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcImR1cmF0aW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImFtb3VudCBvZiB0aW1lIHRoZSBidWlsZCBoYXMgYmVlbiBydW5uaW5nXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcIkxvbmdcIlxuICAgICAgICB9LFxuICAgICAgICBcIm1lc3NhZ2VcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJodW1hbi1yZWFkYWJsZSBtZXNzYWdlIGluZGljYXRpbmcgZGV0YWlscyBhYm91dCB3aHkgdGhlIGJ1aWxkIGhhcyB0aGlzIHN0YXR1c1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwicGhhc2VcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJvYnNlcnZlZCBwb2ludCBpbiB0aGUgYnVpbGQgbGlmZWN5Y2xlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzdGFydFRpbWVzdGFtcFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInNlcnZlciB0aW1lIHdoZW4gdGhpcyBidWlsZCBzdGFydGVkIHJ1bm5pbmcgaW4gYSBwb2RcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZFN0YXR1c1wiXG4gICAgfSxcbiAgICBcIm9zX2J1aWxkX0J1aWxkU3RyYXRlZ3lcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImN1c3RvbVN0cmF0ZWd5XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0N1c3RvbUJ1aWxkU3RyYXRlZ3lcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkN1c3RvbUJ1aWxkU3RyYXRlZ3lcIlxuICAgICAgICB9LFxuICAgICAgICBcImRvY2tlclN0cmF0ZWd5XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0RvY2tlckJ1aWxkU3RyYXRlZ3lcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRvY2tlckJ1aWxkU3RyYXRlZ3lcIlxuICAgICAgICB9LFxuICAgICAgICBcInNvdXJjZVN0cmF0ZWd5XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX1NvdXJjZUJ1aWxkU3RyYXRlZ3lcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLlNvdXJjZUJ1aWxkU3RyYXRlZ3lcIlxuICAgICAgICB9LFxuICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJpZGVudGlmaWVzIHRoZSB0eXBlIG9mIGJ1aWxkIHN0cmF0ZWd5XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRTdHJhdGVneVwiXG4gICAgfSxcbiAgICBcIm9zX2J1aWxkX0J1aWxkVHJpZ2dlclBvbGljeVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZ2VuZXJpY1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9XZWJIb29rVHJpZ2dlclwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuV2ViSG9va1RyaWdnZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcImdpdGh1YlwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9XZWJIb29rVHJpZ2dlclwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuV2ViSG9va1RyaWdnZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcImltYWdlQ2hhbmdlXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0ltYWdlQ2hhbmdlVHJpZ2dlclwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuSW1hZ2VDaGFuZ2VUcmlnZ2VyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidHlwZSBvZiBidWlsZCB0cmlnZ2VyXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRUcmlnZ2VyUG9saWN5XCJcbiAgICB9LFxuICAgIFwib3NfYnVpbGRfQ3VzdG9tQnVpbGRTdHJhdGVneVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZW52XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJhZGRpdGlvbmFsIGVudmlyb25tZW50IHZhcmlhYmxlcyB5b3Ugd2FudCB0byBwYXNzIGludG8gYSBidWlsZGVyIGNvbnRhaW5lclwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0VudlZhclwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuRW52VmFyXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiZXhwb3NlRG9ja2VyU29ja2V0XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImFsbG93IHJ1bm5pbmcgRG9ja2VyIGNvbW1hbmRzIChhbmQgYnVpbGQgRG9ja2VyIGltYWdlcykgZnJvbSBpbnNpZGUgdGhlIGNvbnRhaW5lclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZnJvbVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdFJlZmVyZW5jZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdFJlZmVyZW5jZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicHVsbFNlY3JldFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xvY2FsT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTG9jYWxPYmplY3RSZWZlcmVuY2VcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5DdXN0b21CdWlsZFN0cmF0ZWd5XCJcbiAgICB9LFxuICAgIFwib3NfYnVpbGRfRG9ja2VyQnVpbGRTdHJhdGVneVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZnJvbVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdFJlZmVyZW5jZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdFJlZmVyZW5jZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibm9DYWNoZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJpZiB0cnVlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwdWxsU2VjcmV0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTG9jYWxPYmplY3RSZWZlcmVuY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Mb2NhbE9iamVjdFJlZmVyZW5jZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRvY2tlckJ1aWxkU3RyYXRlZ3lcIlxuICAgIH0sXG4gICAgXCJvc19idWlsZF9HaXRCdWlsZFNvdXJjZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwicmVmXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaWRlbnRpZmllcyB0aGUgYnJhbmNoL3RhZy9yZWYgdG8gYnVpbGRcIlxuICAgICAgICB9LFxuICAgICAgICBcInVyaVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInBvaW50cyB0byB0aGUgc291cmNlIHRoYXQgd2lsbCBiZSBidWlsdFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkdpdEJ1aWxkU291cmNlXCJcbiAgICB9LFxuICAgIFwib3NfYnVpbGRfR2l0U291cmNlUmV2aXNpb25cIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImF1dGhvclwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9Tb3VyY2VDb250cm9sVXNlclwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuU291cmNlQ29udHJvbFVzZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcImNvbW1pdFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImhhc2ggaWRlbnRpZnlpbmcgYSBzcGVjaWZpYyBjb21taXRcIlxuICAgICAgICB9LFxuICAgICAgICBcImNvbW1pdHRlclwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9Tb3VyY2VDb250cm9sVXNlclwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuU291cmNlQ29udHJvbFVzZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcIm1lc3NhZ2VcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJkZXNjcmlwdGlvbiBvZiBhIHNwZWNpZmljIGNvbW1pdFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkdpdFNvdXJjZVJldmlzaW9uXCJcbiAgICB9LFxuICAgIFwib3NfYnVpbGRfSW1hZ2VDaGFuZ2VUcmlnZ2VyXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJsYXN0VHJpZ2dlcmVkSW1hZ2VJRFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInVzZWQgaW50ZXJuYWxseSB0byBzYXZlIGxhc3QgdXNlZCBpbWFnZSBJRCBmb3IgYnVpbGRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5JbWFnZUNoYW5nZVRyaWdnZXJcIlxuICAgIH0sXG4gICAgXCJvc19idWlsZF9Tb3VyY2VCdWlsZFN0cmF0ZWd5XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJlbnZcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzIHlvdSB3YW50IHRvIHBhc3MgaW50byBhIGJ1aWxkZXIgY29udGFpbmVyXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfRW52VmFyXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbnZWYXJcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJmcm9tXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJpbmNyZW1lbnRhbFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJmb3JjZXMgdGhlIHNvdXJjZSBidWlsZCB0byBkbyBpbmNyZW1lbnRhbCBidWlsZHMgaWYgdHJ1ZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicHVsbFNlY3JldFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xvY2FsT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTG9jYWxPYmplY3RSZWZlcmVuY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInNjcmlwdHNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsb2NhdGlvbiBvZiB0aGUgc291cmNlIHNjcmlwdHNcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5Tb3VyY2VCdWlsZFN0cmF0ZWd5XCJcbiAgICB9LFxuICAgIFwib3NfYnVpbGRfU291cmNlQ29udHJvbFVzZXJcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImVtYWlsXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZS1tYWlsIG9mIHRoZSBzb3VyY2UgY29udHJvbCB1c2VyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJuYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibmFtZSBvZiB0aGUgc291cmNlIGNvbnRyb2wgdXNlclwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLlNvdXJjZUNvbnRyb2xVc2VyXCJcbiAgICB9LFxuICAgIFwib3NfYnVpbGRfU291cmNlUmV2aXNpb25cIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImdpdFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9HaXRTb3VyY2VSZXZpc2lvblwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuR2l0U291cmNlUmV2aXNpb25cIlxuICAgICAgICB9LFxuICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0eXBlIG9mIHRoZSBidWlsZCBzb3VyY2VcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5Tb3VyY2VSZXZpc2lvblwiXG4gICAgfSxcbiAgICBcIm9zX2J1aWxkX1dlYkhvb2tUcmlnZ2VyXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJzZWNyZXRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJzZWNyZXQgdXNlZCB0byB2YWxpZGF0ZSByZXF1ZXN0c1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLldlYkhvb2tUcmlnZ2VyXCJcbiAgICB9LFxuICAgIFwib3NfZGVwbG95X0N1c3RvbURlcGxveW1lbnRTdHJhdGVneVBhcmFtc1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiY29tbWFuZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwib3B0aW9uYWxseSBvdmVycmlkZXMgdGhlIGNvbnRhaW5lciBjb21tYW5kIChkZWZhdWx0IGlzIHNwZWNpZmllZCBieSB0aGUgaW1hZ2UpXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJvcHRpb25hbGx5IG92ZXJyaWRlcyB0aGUgY29udGFpbmVyIGNvbW1hbmQgKGRlZmF1bHQgaXMgc3BlY2lmaWVkIGJ5IHRoZSBpbWFnZSlcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJlbnZpcm9ubWVudFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZW52aXJvbm1lbnQgdmFyaWFibGVzIHByb3ZpZGVkIHRvIHRoZSBkZXBsb3ltZW50IHByb2Nlc3MgY29udGFpbmVyXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfRW52VmFyXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbnZWYXJcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImEgRG9ja2VyIGltYWdlIHdoaWNoIGNhbiBjYXJyeSBvdXQgYSBkZXBsb3ltZW50XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQ3VzdG9tRGVwbG95bWVudFN0cmF0ZWd5UGFyYW1zXCJcbiAgICB9LFxuICAgIFwib3NfZGVwbG95X0RlcGxveW1lbnRDYXVzZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiaW1hZ2VUcmlnZ2VyXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2RlcGxveV9EZXBsb3ltZW50Q2F1c2VJbWFnZVRyaWdnZXJcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRlcGxveW1lbnRDYXVzZUltYWdlVHJpZ2dlclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSB0eXBlIG9mIHRyaWdnZXIgdGhhdCByZXN1bHRlZCBpbiBhIG5ldyBkZXBsb3ltZW50XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRGVwbG95bWVudENhdXNlXCJcbiAgICB9LFxuICAgIFwib3NfZGVwbG95X0RlcGxveW1lbnRDYXVzZUltYWdlVHJpZ2dlclwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZnJvbVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdFJlZmVyZW5jZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdFJlZmVyZW5jZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRlcGxveW1lbnRDYXVzZUltYWdlVHJpZ2dlclwiXG4gICAgfSxcbiAgICBcIm9zX2RlcGxveV9EZXBsb3ltZW50Q29uZmlnXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiRGVwbG95bWVudENvbmZpZ1wiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdE1ldGFcIlxuICAgICAgICB9LFxuICAgICAgICBcInNwZWNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfZGVwbG95X0RlcGxveW1lbnRDb25maWdTcGVjXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5EZXBsb3ltZW50Q29uZmlnU3BlY1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RhdHVzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2RlcGxveV9EZXBsb3ltZW50Q29uZmlnU3RhdHVzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5EZXBsb3ltZW50Q29uZmlnU3RhdHVzXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRGVwbG95bWVudENvbmZpZ1wiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYXNNZXRhZGF0YVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcIm9zX2RlcGxveV9EZXBsb3ltZW50Q29uZmlnTGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImEgbGlzdCBvZiBkZXBsb3ltZW50IGNvbmZpZ3NcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfZGVwbG95X0RlcGxveW1lbnRDb25maWdcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRGVwbG95bWVudENvbmZpZ1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJEZXBsb3ltZW50Q29uZmlnTGlzdFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTGlzdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5MaXN0TWV0YVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRlcGxveW1lbnRDb25maWdMaXN0XCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkt1YmVybmV0ZXNSZXNvdXJjZVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcIm9zX2RlcGxveV9EZXBsb3ltZW50Q29uZmlnU3BlY1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwicmVwbGljYXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIGRlc2lyZWQgbnVtYmVyIG9mIHJlcGxpY2FzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWxlY3RvclwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImEgbGFiZWwgcXVlcnkgb3ZlciBwb2RzIHRoYXQgc2hvdWxkIG1hdGNoIHRoZSByZXBsaWNhcyBjb3VudFwiLFxuICAgICAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiYSBsYWJlbCBxdWVyeSBvdmVyIHBvZHMgdGhhdCBzaG91bGQgbWF0Y2ggdGhlIHJlcGxpY2FzIGNvdW50XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJqYXZhLnV0aWwuTWFwXFx1MDAzY1N0cmluZyxTdHJpbmdcXHUwMDNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzdHJhdGVneVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19kZXBsb3lfRGVwbG95bWVudFN0cmF0ZWd5XCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5EZXBsb3ltZW50U3RyYXRlZ3lcIlxuICAgICAgICB9LFxuICAgICAgICBcInRlbXBsYXRlXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfUG9kVGVtcGxhdGVTcGVjXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUG9kVGVtcGxhdGVTcGVjXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0ZW1wbGF0ZVJlZlwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdFJlZmVyZW5jZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdFJlZmVyZW5jZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidHJpZ2dlcnNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImhvdyBuZXcgZGVwbG95bWVudHMgYXJlIHRyaWdnZXJlZFwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19kZXBsb3lfRGVwbG95bWVudFRyaWdnZXJQb2xpY3lcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRGVwbG95bWVudFRyaWdnZXJQb2xpY3lcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRGVwbG95bWVudENvbmZpZ1NwZWNcIlxuICAgIH0sXG4gICAgXCJvc19kZXBsb3lfRGVwbG95bWVudENvbmZpZ1N0YXR1c1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZGV0YWlsc1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19kZXBsb3lfRGVwbG95bWVudERldGFpbHNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRlcGxveW1lbnREZXRhaWxzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJsYXRlc3RWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGN1cnJlbnQgZGVwbG95bWVudCBpcyBvdXQgb2Ygc3luY1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRlcGxveW1lbnRDb25maWdTdGF0dXNcIlxuICAgIH0sXG4gICAgXCJvc19kZXBsb3lfRGVwbG95bWVudERldGFpbHNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImNhdXNlc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZXh0ZW5kZWQgZGF0YSBhc3NvY2lhdGVkIHdpdGggYWxsIHRoZSBjYXVzZXMgZm9yIGNyZWF0aW5nIGEgbmV3IGRlcGxveW1lbnRcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfZGVwbG95X0RlcGxveW1lbnRDYXVzZVwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5EZXBsb3ltZW50Q2F1c2VcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXNzYWdlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiYSB1c2VyIHNwZWNpZmllZCBjaGFuZ2UgbWVzc2FnZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRlcGxveW1lbnREZXRhaWxzXCJcbiAgICB9LFxuICAgIFwib3NfZGVwbG95X0RlcGxveW1lbnRTdHJhdGVneVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiY3VzdG9tUGFyYW1zXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2RlcGxveV9DdXN0b21EZXBsb3ltZW50U3RyYXRlZ3lQYXJhbXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkN1c3RvbURlcGxveW1lbnRTdHJhdGVneVBhcmFtc1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVjcmVhdGVQYXJhbXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfZGVwbG95X1JlY3JlYXRlRGVwbG95bWVudFN0cmF0ZWd5UGFyYW1zXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5SZWNyZWF0ZURlcGxveW1lbnRTdHJhdGVneVBhcmFtc1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVzb3VyY2VzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfUmVzb3VyY2VSZXF1aXJlbWVudHNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5SZXNvdXJjZVJlcXVpcmVtZW50c1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwicm9sbGluZ1BhcmFtc1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19kZXBsb3lfUm9sbGluZ0RlcGxveW1lbnRTdHJhdGVneVBhcmFtc1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuUm9sbGluZ0RlcGxveW1lbnRTdHJhdGVneVBhcmFtc1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSBuYW1lIG9mIGEgZGVwbG95bWVudCBzdHJhdGVneVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRlcGxveW1lbnRTdHJhdGVneVwiXG4gICAgfSxcbiAgICBcIm9zX2RlcGxveV9EZXBsb3ltZW50VHJpZ2dlckltYWdlQ2hhbmdlUGFyYW1zXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhdXRvbWF0aWNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImJvb2xlYW5cIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwid2hldGhlciBkZXRlY3Rpb24gb2YgYSBuZXcgdGFnIHZhbHVlIHNob3VsZCB0cmlnZ2VyIGEgZGVwbG95bWVudFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiY29udGFpbmVyTmFtZXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInJlc3RyaWN0cyB0YWcgdXBkYXRlcyB0byBhIHNldCBvZiBjb250YWluZXIgbmFtZXMgaW4gdGhlIHBvZFwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicmVzdHJpY3RzIHRhZyB1cGRhdGVzIHRvIGEgc2V0IG9mIGNvbnRhaW5lciBuYW1lcyBpbiB0aGUgcG9kXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiZnJvbVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdFJlZmVyZW5jZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdFJlZmVyZW5jZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibGFzdFRyaWdnZXJlZEltYWdlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIGxhc3QgaW1hZ2UgdG8gYmUgdHJpZ2dlcmVkXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRGVwbG95bWVudFRyaWdnZXJJbWFnZUNoYW5nZVBhcmFtc1wiXG4gICAgfSxcbiAgICBcIm9zX2RlcGxveV9EZXBsb3ltZW50VHJpZ2dlclBvbGljeVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiaW1hZ2VDaGFuZ2VQYXJhbXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfZGVwbG95X0RlcGxveW1lbnRUcmlnZ2VySW1hZ2VDaGFuZ2VQYXJhbXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRlcGxveW1lbnRUcmlnZ2VySW1hZ2VDaGFuZ2VQYXJhbXNcIlxuICAgICAgICB9LFxuICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgdHlwZSBvZiB0aGUgdHJpZ2dlclwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRlcGxveW1lbnRUcmlnZ2VyUG9saWN5XCJcbiAgICB9LFxuICAgIFwib3NfZGVwbG95X0V4ZWNOZXdQb2RIb29rXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJjb21tYW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgaG9vayBjb21tYW5kIGFuZCBpdHMgYXJndW1lbnRzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgaG9vayBjb21tYW5kIGFuZCBpdHMgYXJndW1lbnRzXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiY29udGFpbmVyTmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSBuYW1lIG9mIGEgY29udGFpbmVyIGZyb20gdGhlIHBvZCB0ZW1wbGF0ZSB3aG9zZSBpbWFnZSB3aWxsIGJlIHVzZWQgZm9yIHRoZSBob29rIGNvbnRhaW5lclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZW52XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJlbnZpcm9ubWVudCB2YXJpYWJsZXMgcHJvdmlkZWQgdG8gdGhlIGhvb2sgY29udGFpbmVyXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfRW52VmFyXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbnZWYXJcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRXhlY05ld1BvZEhvb2tcIlxuICAgIH0sXG4gICAgXCJvc19kZXBsb3lfTGlmZWN5Y2xlSG9va1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZXhlY05ld1BvZFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19kZXBsb3lfRXhlY05ld1BvZEhvb2tcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkV4ZWNOZXdQb2RIb29rXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJmYWlsdXJlUG9saWN5XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwid2hhdCBhY3Rpb24gdG8gdGFrZSBpZiB0aGUgaG9vayBmYWlsc1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkxpZmVjeWNsZUhvb2tcIlxuICAgIH0sXG4gICAgXCJvc19kZXBsb3lfUmVjcmVhdGVEZXBsb3ltZW50U3RyYXRlZ3lQYXJhbXNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcInBvc3RcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfZGVwbG95X0xpZmVjeWNsZUhvb2tcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkxpZmVjeWNsZUhvb2tcIlxuICAgICAgICB9LFxuICAgICAgICBcInByZVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19kZXBsb3lfTGlmZWN5Y2xlSG9va1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuTGlmZWN5Y2xlSG9va1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLlJlY3JlYXRlRGVwbG95bWVudFN0cmF0ZWd5UGFyYW1zXCJcbiAgICB9LFxuICAgIFwib3NfZGVwbG95X1JvbGxpbmdEZXBsb3ltZW50U3RyYXRlZ3lQYXJhbXNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImludGVydmFsU2Vjb25kc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgdGltZSB0byB3YWl0IGJldHdlZW4gcG9sbGluZyBkZXBsb3ltZW50IHN0YXR1cyBhZnRlciB1cGRhdGVcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiTG9uZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwicG9zdFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19kZXBsb3lfTGlmZWN5Y2xlSG9va1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuTGlmZWN5Y2xlSG9va1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwicHJlXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2RlcGxveV9MaWZlY3ljbGVIb29rXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5MaWZlY3ljbGVIb29rXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0aW1lb3V0U2Vjb25kc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgdGltZSB0byB3YWl0IGZvciB1cGRhdGVzIGJlZm9yZSBnaXZpbmcgdXBcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiTG9uZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwidXBkYXRlUGVyaW9kU2Vjb25kc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgdGltZSB0byB3YWl0IGJldHdlZW4gaW5kaXZpZHVhbCBwb2QgdXBkYXRlc1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJMb25nXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuUm9sbGluZ0RlcGxveW1lbnRTdHJhdGVneVBhcmFtc1wiXG4gICAgfSxcbiAgICBcIm9zX2ltYWdlX0ltYWdlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJkb2NrZXJJbWFnZU1hbmlmZXN0XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicmF3IEpTT04gb2YgdGhlIG1hbmlmZXN0XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJkb2NrZXJJbWFnZU1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfcnVudGltZV9SYXdFeHRlbnNpb25cIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYXNNZXRhZGF0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZG9ja2VySW1hZ2VNZXRhZGF0YVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJjb252ZXlzIHZlcnNpb24gb2YgdGhlIG9iamVjdFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZG9ja2VySW1hZ2VSZWZlcmVuY2VcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJzdHJpbmcgdGhhdCBjYW4gYmUgdXNlZCB0byBwdWxsIHRoaXMgaW1hZ2VcIlxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJJbWFnZVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdE1ldGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5JbWFnZVwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYXNNZXRhZGF0YVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcIm9zX2ltYWdlX0ltYWdlTGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgaW1hZ2Ugb2JqZWN0c1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19pbWFnZV9JbWFnZVwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5JbWFnZVwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJJbWFnZUxpc3RcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xpc3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlzdE1ldGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5JbWFnZUxpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3NfaW1hZ2VfSW1hZ2VTdHJlYW1cIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJJbWFnZVN0cmVhbVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdE1ldGFcIlxuICAgICAgICB9LFxuICAgICAgICBcInNwZWNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfaW1hZ2VfSW1hZ2VTdHJlYW1TcGVjXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5JbWFnZVN0cmVhbVNwZWNcIlxuICAgICAgICB9LFxuICAgICAgICBcInN0YXR1c1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19pbWFnZV9JbWFnZVN0cmVhbVN0YXR1c1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuSW1hZ2VTdHJlYW1TdGF0dXNcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5JbWFnZVN0cmVhbVwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYXNNZXRhZGF0YVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcIm9zX2ltYWdlX0ltYWdlU3RyZWFtTGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgaW1hZ2Ugc3RyZWFtIG9iamVjdHNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfaW1hZ2VfSW1hZ2VTdHJlYW1cIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuSW1hZ2VTdHJlYW1cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiSW1hZ2VTdHJlYW1MaXN0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19MaXN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxpc3RNZXRhXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuSW1hZ2VTdHJlYW1MaXN0XCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkt1YmVybmV0ZXNSZXNvdXJjZVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcIm9zX2ltYWdlX0ltYWdlU3RyZWFtU3BlY1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZG9ja2VySW1hZ2VSZXBvc2l0b3J5XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwib3B0aW9uYWwgZmllbGQgaWYgc3BlY2lmaWVkIHRoaXMgc3RyZWFtIGlzIGJhY2tlZCBieSBhIERvY2tlciByZXBvc2l0b3J5IG9uIHRoaXMgc2VydmVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0YWdzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJtYXAgYXJiaXRyYXJ5IHN0cmluZyB2YWx1ZXMgdG8gc3BlY2lmaWMgaW1hZ2UgbG9jYXRvcnNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfaW1hZ2VfTmFtZWRUYWdSZWZlcmVuY2VcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuTmFtZWRUYWdSZWZlcmVuY2VcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuSW1hZ2VTdHJlYW1TcGVjXCJcbiAgICB9LFxuICAgIFwib3NfaW1hZ2VfSW1hZ2VTdHJlYW1TdGF0dXNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImRvY2tlckltYWdlUmVwb3NpdG9yeVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInJlcHJlc2VudHMgdGhlIGVmZmVjdGl2ZSBsb2NhdGlvbiB0aGlzIHN0cmVhbSBtYXkgYmUgYWNjZXNzZWQgYXRcIlxuICAgICAgICB9LFxuICAgICAgICBcInRhZ3NcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImhpc3RvcmljYWwgcmVjb3JkIG9mIGltYWdlcyBhc3NvY2lhdGVkIHdpdGggZWFjaCB0YWdcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfaW1hZ2VfTmFtZWRUYWdFdmVudExpc3RcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuTmFtZWRUYWdFdmVudExpc3RcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuSW1hZ2VTdHJlYW1TdGF0dXNcIlxuICAgIH0sXG4gICAgXCJvc19pbWFnZV9OYW1lZFRhZ0V2ZW50TGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgdGFnIGV2ZW50cyByZWxhdGVkIHRvIHRoZSB0YWdcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfaW1hZ2VfVGFnRXZlbnRcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuVGFnRXZlbnRcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJ0YWdcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgdGFnXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuTmFtZWRUYWdFdmVudExpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3NfaW1hZ2VfTmFtZWRUYWdSZWZlcmVuY2VcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFubm90YXRpb25zXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiYW5ub3RhdGlvbnMgYXNzb2NpYXRlZCB3aXRoIGltYWdlcyB1c2luZyB0aGlzIHRhZ1wiLFxuICAgICAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiYW5ub3RhdGlvbnMgYXNzb2NpYXRlZCB3aXRoIGltYWdlcyB1c2luZyB0aGlzIHRhZ1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiamF2YS51dGlsLk1hcFxcdTAwM2NTdHJpbmcsU3RyaW5nXFx1MDAzZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZnJvbVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdFJlZmVyZW5jZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdFJlZmVyZW5jZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm5hbWUgb2YgdGFnXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuTmFtZWRUYWdSZWZlcmVuY2VcIlxuICAgIH0sXG4gICAgXCJvc19pbWFnZV9UYWdFdmVudFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiY3JlYXRlZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIndoZW4gdGhlIGV2ZW50IHdhcyBjcmVhdGVkXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJkb2NrZXJJbWFnZVJlZmVyZW5jZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSBzdHJpbmcgdGhhdCBjYW4gYmUgdXNlZCB0byBwdWxsIHRoaXMgaW1hZ2VcIlxuICAgICAgICB9LFxuICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIGltYWdlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuVGFnRXZlbnRcIlxuICAgIH0sXG4gICAgXCJvc19vYXV0aF9PQXV0aEFjY2Vzc1Rva2VuXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJhdXRob3JpemVUb2tlblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImNvbnRhaW5zIHRoZSB0b2tlbiB0aGF0IGF1dGhvcml6ZWQgdGhpcyB0b2tlblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiY2xpZW50TmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInJlZmVyZW5jZXMgdGhlIGNsaWVudCB0aGF0IGNyZWF0ZWQgdGhpcyB0b2tlblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZXhwaXJlc0luXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImlzIHRoZSBzZWNvbmRzIGZyb20gY3JlYXRpb24gdGltZSBiZWZvcmUgdGhpcyB0b2tlbiBleHBpcmVzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcIkxvbmdcIlxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJPQXV0aEFjY2Vzc1Rva2VuXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVkaXJlY3RVUklcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJyZWRpcmVjdGlvbiBVUkkgYXNzb2NpYXRlZCB3aXRoIHRoZSB0b2tlblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVmcmVzaFRva2VuXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwib3B0aW9uYWwgdmFsdWUgYnkgd2hpY2ggdGhpcyB0b2tlbiBjYW4gYmUgcmVuZXdlZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic2NvcGVzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIHJlcXVlc3RlZCBzY29wZXNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgcmVxdWVzdGVkIHNjb3Blc1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInVzZXJOYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidXNlciBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHRva2VuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ1c2VyVUlEXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidW5pcXVlIFVJRCBhc3NvY2lhdGVkIHdpdGggdGhpcyB0b2tlblwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLk9BdXRoQWNjZXNzVG9rZW5cIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJvc19vYXV0aF9PQXV0aEFjY2Vzc1Rva2VuTGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2Ygb2F1dGggYWNjZXNzIHRva2Vuc1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19vYXV0aF9PQXV0aEFjY2Vzc1Rva2VuXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLk9BdXRoQWNjZXNzVG9rZW5cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiT0F1dGhBY2Nlc3NUb2tlbkxpc3RcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xpc3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlzdE1ldGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5PQXV0aEFjY2Vzc1Rva2VuTGlzdFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5LdWJlcm5ldGVzUmVzb3VyY2VcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJvc19vYXV0aF9PQXV0aEF1dGhvcml6ZVRva2VuXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJjbGllbnROYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicmVmZXJlbmNlcyB0aGUgY2xpZW50IHRoYXQgY3JlYXRlZCB0aGlzIHRva2VuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJleHBpcmVzSW5cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwic2Vjb25kcyBmcm9tIGNyZWF0aW9uIHRpbWUgYmVmb3JlIHRoaXMgdG9rZW4gZXhwaXJlc1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJMb25nXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiT0F1dGhBdXRob3JpemVUb2tlblwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdE1ldGFcIlxuICAgICAgICB9LFxuICAgICAgICBcInJlZGlyZWN0VVJJXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicmVkaXJlY3Rpb24gVVJJIGFzc29jaWF0ZWQgd2l0aCB0aGUgdG9rZW5cIlxuICAgICAgICB9LFxuICAgICAgICBcInNjb3Blc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiByZXF1ZXN0ZWQgc2NvcGVzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIHJlcXVlc3RlZCBzY29wZXNcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJzdGF0ZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInN0YXRlIGRhdGEgZnJvbSByZXF1ZXN0XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ1c2VyTmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInVzZXIgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhpcyB0b2tlblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidXNlclVJRFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInVuaXF1ZSBVSUQgYXNzb2NpYXRlZCB3aXRoIHRoaXMgdG9rZW4uICB1c2VyVUlEIGFuZCB1c2VyTmFtZSBtdXN0IGJvdGggbWF0Y2ggZm9yIHRoaXMgdG9rZW4gdG8gYmUgdmFsaWRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5PQXV0aEF1dGhvcml6ZVRva2VuXCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3Nfb2F1dGhfT0F1dGhBdXRob3JpemVUb2tlbkxpc3RcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIG9hdXRoIGF1dGhvcml6YXRpb24gdG9rZW5zXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX29hdXRoX09BdXRoQXV0aG9yaXplVG9rZW5cIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhBdXRob3JpemVUb2tlblwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJPQXV0aEF1dGhvcml6ZVRva2VuTGlzdFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTGlzdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5MaXN0TWV0YVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLk9BdXRoQXV0aG9yaXplVG9rZW5MaXN0XCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkt1YmVybmV0ZXNSZXNvdXJjZVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcIm9zX29hdXRoX09BdXRoQ2xpZW50XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiT0F1dGhDbGllbnRcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RNZXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZWRpcmVjdFVSSXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInZhbGlkIHJlZGlyZWN0aW9uIFVSSXMgYXNzb2NpYXRlZCB3aXRoIGEgY2xpZW50XCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ2YWxpZCByZWRpcmVjdGlvbiBVUklzIGFzc29jaWF0ZWQgd2l0aCBhIGNsaWVudFwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInJlc3BvbmRXaXRoQ2hhbGxlbmdlc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJpbmRpY2F0ZXMgd2hldGhlciB0aGUgY2xpZW50IHdhbnRzIGF1dGhlbnRpY2F0aW9uIG5lZWRlZCByZXNwb25zZXMgbWFkZSBpbiB0aGUgZm9ybSBvZiBjaGFsbGVuZ2VzIGluc3RlYWQgb2YgcmVkaXJlY3RzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWNyZXRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ1bmlxdWUgc2VjcmV0IGFzc29jaWF0ZWQgd2l0aCBhIGNsaWVudFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLk9BdXRoQ2xpZW50XCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3Nfb2F1dGhfT0F1dGhDbGllbnRBdXRob3JpemF0aW9uXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJjbGllbnROYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicmVmZXJlbmNlcyB0aGUgY2xpZW50IHRoYXQgY3JlYXRlZCB0aGlzIGF1dGhvcml6YXRpb25cIlxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJPQXV0aENsaWVudEF1dGhvcml6YXRpb25cIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RNZXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzY29wZXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgZ3JhbnRlZCBzY29wZXNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgZ3JhbnRlZCBzY29wZXNcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJ1c2VyTmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInVzZXIgbmFtZSB0aGF0IGF1dGhvcml6ZWQgdGhpcyBjbGllbnRcIlxuICAgICAgICB9LFxuICAgICAgICBcInVzZXJVSURcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ1bmlxdWUgVUlEIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGF1dGhvcml6YXRpb24uIHVzZXJVSUQgYW5kIHVzZXJOYW1lIG11c3QgYm90aCBtYXRjaCBmb3IgdGhpcyBhdXRob3JpemF0aW9uIHRvIGJlIHZhbGlkXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhDbGllbnRBdXRob3JpemF0aW9uXCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3Nfb2F1dGhfT0F1dGhDbGllbnRBdXRob3JpemF0aW9uTGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2Ygb2F1dGggY2xpZW50IGF1dGhvcml6YXRpb25zXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX29hdXRoX09BdXRoQ2xpZW50QXV0aG9yaXphdGlvblwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5PQXV0aENsaWVudEF1dGhvcml6YXRpb25cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiT0F1dGhDbGllbnRBdXRob3JpemF0aW9uTGlzdFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTGlzdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5MaXN0TWV0YVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLk9BdXRoQ2xpZW50QXV0aG9yaXphdGlvbkxpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3Nfb2F1dGhfT0F1dGhDbGllbnRMaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBvYXV0aCBjbGllbnRzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX29hdXRoX09BdXRoQ2xpZW50XCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLk9BdXRoQ2xpZW50XCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIk9BdXRoQ2xpZW50TGlzdFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTGlzdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5MaXN0TWV0YVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLk9BdXRoQ2xpZW50TGlzdFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5LdWJlcm5ldGVzUmVzb3VyY2VcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJvc19yb3V0ZV9Sb3V0ZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIlJvdXRlXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3BlY1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19yb3V0ZV9Sb3V0ZVNwZWNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLlJvdXRlU3BlY1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RhdHVzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX3JvdXRlX1JvdXRlU3RhdHVzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5Sb3V0ZVN0YXR1c1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLlJvdXRlXCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3Nfcm91dGVfUm91dGVMaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiByb3V0ZXNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3Nfcm91dGVfUm91dGVcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuUm91dGVcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiUm91dGVMaXN0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19MaXN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxpc3RNZXRhXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuUm91dGVMaXN0XCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkt1YmVybmV0ZXNSZXNvdXJjZVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcIm9zX3JvdXRlX1JvdXRlU3BlY1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiaG9zdFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm9wdGlvbmFsOiBhbGlhcy9kbnMgdGhhdCBwb2ludHMgdG8gdGhlIHNlcnZpY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInBhdGhcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJvcHRpb25hbDogcGF0aCB0aGF0IHRoZSByb3V0ZXIgd2F0Y2hlcyB0byByb3V0ZSB0cmFmZmljIHRvIHRoZSBzZXJ2aWNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0bHNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3Nfcm91dGVfVExTQ29uZmlnXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5UTFNDb25maWdcIlxuICAgICAgICB9LFxuICAgICAgICBcInRvXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuUm91dGVTcGVjXCJcbiAgICB9LFxuICAgIFwib3Nfcm91dGVfUm91dGVTdGF0dXNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLlJvdXRlU3RhdHVzXCJcbiAgICB9LFxuICAgIFwib3Nfcm91dGVfVExTQ29uZmlnXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJjYUNlcnRpZmljYXRlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicHJvdmlkZXMgdGhlIGNlcnQgYXV0aG9yaXR5IGNlcnRpZmljYXRlIGNvbnRlbnRzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJjZXJ0aWZpY2F0ZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInByb3ZpZGVzIGNlcnRpZmljYXRlIGNvbnRlbnRzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJkZXN0aW5hdGlvbkNBQ2VydGlmaWNhdGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJwcm92aWRlcyB0aGUgY29udGVudHMgb2YgdGhlIGNhIGNlcnRpZmljYXRlIG9mIHRoZSBmaW5hbCBkZXN0aW5hdGlvbi4gIFdoZW4gdXNpbmcgcmUtZW5jcnlwdCB0ZXJtaW5hdGlvbiB0aGlzIGZpbGUgc2hvdWxkIGJlIHByb3ZpZGVkIGluIG9yZGVyIHRvIGhhdmUgcm91dGVycyB1c2UgaXQgZm9yIGhlYWx0aCBjaGVja3Mgb24gdGhlIHNlY3VyZSBjb25uZWN0aW9uXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJrZXlcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJwcm92aWRlcyBrZXkgZmlsZSBjb250ZW50c1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwidGVybWluYXRpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJpbmRpY2F0ZXMgdGVybWluYXRpb24gdHlwZS4gIGlmIG5vdCBzZXRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5UTFNDb25maWdcIlxuICAgIH0sXG4gICAgXCJvc190ZW1wbGF0ZV9QYXJhbWV0ZXJcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImRlc2NyaXB0aW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwib3B0aW9uYWw6IGRlc2NyaWJlcyB0aGUgcGFyYW1ldGVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJmcm9tXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaW5wdXQgdmFsdWUgZm9yIHRoZSBnZW5lcmF0b3JcIlxuICAgICAgICB9LFxuICAgICAgICBcImdlbmVyYXRlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwib3B0aW9uYWw6IGdlbmVyYXRlIHNwZWNpZmllcyB0aGUgZ2VuZXJhdG9yIHRvIGJlIHVzZWQgdG8gZ2VuZXJhdGUgcmFuZG9tIHN0cmluZyBmcm9tIGFuIGlucHV0IHZhbHVlIHNwZWNpZmllZCBieSB0aGUgZnJvbSBmaWVsZC4gIHRoZSByZXN1bHQgc3RyaW5nIGlzIHN0b3JlZCBpbiB0aGUgdmFsdWUgZmllbGQuIGlmIG5vdCBzcGVjaWZpZWRcIlxuICAgICAgICB9LFxuICAgICAgICBcIm5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJuYW1lIG9mIHRoZSBwYXJhbWV0ZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcInZhbHVlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwib3B0aW9uYWw6IGhvbGRzIHRoZSBwYXJhbWV0ZXIgZGF0YS4gIGlmIHNwZWNpZmllZFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLnRlbXBsYXRlLlBhcmFtZXRlclwiXG4gICAgfSxcbiAgICBcIm9zX3RlbXBsYXRlX1RlbXBsYXRlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiVGVtcGxhdGVcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJsYWJlbHNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJvcHRpb25hbDogbGlzdCBvZiBsYWJsZXMgdGhhdCBhcmUgYXBwbGllZCB0byBldmVyeSBvYmplY3QgZHVyaW5nIHRoZSB0ZW1wbGF0ZSB0byBjb25maWcgdHJhbnNmb3JtYXRpb25cIixcbiAgICAgICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm9wdGlvbmFsOiBsaXN0IG9mIGxhYmxlcyB0aGF0IGFyZSBhcHBsaWVkIHRvIGV2ZXJ5IG9iamVjdCBkdXJpbmcgdGhlIHRlbXBsYXRlIHRvIGNvbmZpZyB0cmFuc2Zvcm1hdGlvblwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiamF2YS51dGlsLk1hcFxcdTAwM2NTdHJpbmcsU3RyaW5nXFx1MDAzZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwib2JqZWN0c1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBvYmplY3RzIHRvIGluY2x1ZGUgaW4gdGhlIHRlbXBsYXRlXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfcnVudGltZV9SYXdFeHRlbnNpb25cIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwicGFyYW1ldGVyc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwib3B0aW9uYWw6IGxpc3Qgb2YgcGFyYW1ldGVycyB1c2VkIGR1cmluZyB0ZW1wbGF0ZSB0byBjb25maWcgdHJhbnNmb3JtYXRpb25cIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfdGVtcGxhdGVfUGFyYW1ldGVyXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLnRlbXBsYXRlLlBhcmFtZXRlclwiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC50ZW1wbGF0ZS5UZW1wbGF0ZVwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYXNNZXRhZGF0YVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcIm9zX3RlbXBsYXRlX1RlbXBsYXRlTGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgdGVtcGxhdGVzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX3RlbXBsYXRlX1RlbXBsYXRlXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLnRlbXBsYXRlLlRlbXBsYXRlXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIlRlbXBsYXRlTGlzdFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTGlzdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5MaXN0TWV0YVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLnRlbXBsYXRlLlRlbXBsYXRlTGlzdFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5LdWJlcm5ldGVzUmVzb3VyY2VcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJzcGV0ZXJfaW5mX0RlY1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5jbGllbnQudXRpbC5EZWNcIlxuICAgIH1cbiAgfSxcbiAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gIFwicHJvcGVydGllc1wiOiB7XG4gICAgXCJCYXNlS3ViZXJuZXRlc0xpc3RcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xpc3RcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkJhc2VLdWJlcm5ldGVzTGlzdFwiXG4gICAgfSxcbiAgICBcIkJ1aWxkQ29uZmlnTGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0J1aWxkQ29uZmlnTGlzdFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZENvbmZpZ0xpc3RcIlxuICAgIH0sXG4gICAgXCJCdWlsZExpc3RcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9CdWlsZExpc3RcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRMaXN0XCJcbiAgICB9LFxuICAgIFwiQnVpbGRSZXF1ZXN0XCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfYnVpbGRfQnVpbGRSZXF1ZXN0XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkUmVxdWVzdFwiXG4gICAgfSxcbiAgICBcIkNvbmZpZ1wiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfY29uZmlnX0NvbmZpZ1wiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuY29uZmlnLkNvbmZpZ1wiXG4gICAgfSxcbiAgICBcIkNvbnRhaW5lclN0YXR1c1wiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfQ29udGFpbmVyU3RhdHVzXCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Db250YWluZXJTdGF0dXNcIlxuICAgIH0sXG4gICAgXCJEZXBsb3ltZW50Q29uZmlnTGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2RlcGxveV9EZXBsb3ltZW50Q29uZmlnTGlzdFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5EZXBsb3ltZW50Q29uZmlnTGlzdFwiXG4gICAgfSxcbiAgICBcIkVuZHBvaW50c1wiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfRW5kcG9pbnRzXCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbmRwb2ludHNcIlxuICAgIH0sXG4gICAgXCJFbmRwb2ludHNMaXN0XCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19FbmRwb2ludHNMaXN0XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbmRwb2ludHNMaXN0XCJcbiAgICB9LFxuICAgIFwiRW52VmFyXCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19FbnZWYXJcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVudlZhclwiXG4gICAgfSxcbiAgICBcIkltYWdlTGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2ltYWdlX0ltYWdlTGlzdFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5JbWFnZUxpc3RcIlxuICAgIH0sXG4gICAgXCJJbWFnZVN0cmVhbUxpc3RcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19pbWFnZV9JbWFnZVN0cmVhbUxpc3RcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuSW1hZ2VTdHJlYW1MaXN0XCJcbiAgICB9LFxuICAgIFwiTmFtZXNwYWNlXCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19OYW1lc3BhY2VcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5hbWVzcGFjZVwiXG4gICAgfSxcbiAgICBcIk5hbWVzcGFjZUxpc3RcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX05hbWVzcGFjZUxpc3RcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5hbWVzcGFjZUxpc3RcIlxuICAgIH0sXG4gICAgXCJOb2RlXCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Ob2RlXCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Ob2RlXCJcbiAgICB9LFxuICAgIFwiTm9kZUxpc3RcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX05vZGVMaXN0XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Ob2RlTGlzdFwiXG4gICAgfSxcbiAgICBcIk9BdXRoQWNjZXNzVG9rZW5cIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19vYXV0aF9PQXV0aEFjY2Vzc1Rva2VuXCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLk9BdXRoQWNjZXNzVG9rZW5cIlxuICAgIH0sXG4gICAgXCJPQXV0aEFjY2Vzc1Rva2VuTGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX29hdXRoX09BdXRoQWNjZXNzVG9rZW5MaXN0XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLk9BdXRoQWNjZXNzVG9rZW5MaXN0XCJcbiAgICB9LFxuICAgIFwiT0F1dGhBdXRob3JpemVUb2tlblwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX29hdXRoX09BdXRoQXV0aG9yaXplVG9rZW5cIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhBdXRob3JpemVUb2tlblwiXG4gICAgfSxcbiAgICBcIk9BdXRoQXV0aG9yaXplVG9rZW5MaXN0XCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3Nfb2F1dGhfT0F1dGhBdXRob3JpemVUb2tlbkxpc3RcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhBdXRob3JpemVUb2tlbkxpc3RcIlxuICAgIH0sXG4gICAgXCJPQXV0aENsaWVudFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX29hdXRoX09BdXRoQ2xpZW50XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLk9BdXRoQ2xpZW50XCJcbiAgICB9LFxuICAgIFwiT0F1dGhDbGllbnRBdXRob3JpemF0aW9uXCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3Nfb2F1dGhfT0F1dGhDbGllbnRBdXRob3JpemF0aW9uXCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLk9BdXRoQ2xpZW50QXV0aG9yaXphdGlvblwiXG4gICAgfSxcbiAgICBcIk9BdXRoQ2xpZW50QXV0aG9yaXphdGlvbkxpc3RcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19vYXV0aF9PQXV0aENsaWVudEF1dGhvcml6YXRpb25MaXN0XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLk9BdXRoQ2xpZW50QXV0aG9yaXphdGlvbkxpc3RcIlxuICAgIH0sXG4gICAgXCJPQXV0aENsaWVudExpc3RcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19vYXV0aF9PQXV0aENsaWVudExpc3RcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhDbGllbnRMaXN0XCJcbiAgICB9LFxuICAgIFwiT2JqZWN0TWV0YVwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0TWV0YVwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgfSxcbiAgICBcIlBvZExpc3RcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1BvZExpc3RcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlBvZExpc3RcIlxuICAgIH0sXG4gICAgXCJRdWFudGl0eVwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfcmVzb3VyY2VfUXVhbnRpdHlcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLnJlc291cmNlLlF1YW50aXR5XCJcbiAgICB9LFxuICAgIFwiUmVwbGljYXRpb25Db250cm9sbGVyTGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfUmVwbGljYXRpb25Db250cm9sbGVyTGlzdFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUmVwbGljYXRpb25Db250cm9sbGVyTGlzdFwiXG4gICAgfSxcbiAgICBcIlJvdXRlTGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX3JvdXRlX1JvdXRlTGlzdFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5Sb3V0ZUxpc3RcIlxuICAgIH0sXG4gICAgXCJTZWNyZXRcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1NlY3JldFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuU2VjcmV0XCJcbiAgICB9LFxuICAgIFwiU2VjcmV0TGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfU2VjcmV0TGlzdFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuU2VjcmV0TGlzdFwiXG4gICAgfSxcbiAgICBcIlNlcnZpY2VBY2NvdW50XCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19TZXJ2aWNlQWNjb3VudFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuU2VydmljZUFjY291bnRcIlxuICAgIH0sXG4gICAgXCJTZXJ2aWNlQWNjb3VudExpc3RcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1NlcnZpY2VBY2NvdW50TGlzdFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuU2VydmljZUFjY291bnRMaXN0XCJcbiAgICB9LFxuICAgIFwiU2VydmljZUxpc3RcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1NlcnZpY2VMaXN0XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZXJ2aWNlTGlzdFwiXG4gICAgfSxcbiAgICBcIlN0YXR1c0Vycm9yXCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19lcnJvcnNfU3RhdHVzRXJyb3JcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmVycm9ycy5TdGF0dXNFcnJvclwiXG4gICAgfSxcbiAgICBcIlRhZ0V2ZW50XCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfaW1hZ2VfVGFnRXZlbnRcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuVGFnRXZlbnRcIlxuICAgIH0sXG4gICAgXCJUZW1wbGF0ZVwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX3RlbXBsYXRlX1RlbXBsYXRlXCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLnRlbXBsYXRlLlRlbXBsYXRlXCJcbiAgICB9LFxuICAgIFwiVGVtcGxhdGVMaXN0XCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfdGVtcGxhdGVfVGVtcGxhdGVMaXN0XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLnRlbXBsYXRlLlRlbXBsYXRlTGlzdFwiXG4gICAgfSxcbiAgICBcIldhdGNoRXZlbnRcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX3dhdGNoX1dhdGNoRXZlbnRcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLndhdGNoLldhdGNoRXZlbnRcIlxuICAgIH1cbiAgfSxcbiAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlXG59XG5cbn0iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwic2NoZW1hLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5tb2R1bGUgS3ViZXJuZXRlcyB7XG4gIFxuICBcbiAgdmFyIGhpZGRlblByb3BlcnRpZXMgPSBbJ3N0YXR1cycsICdkZWxldGlvblRpbWVzdGFtcCddO1xuXG4gIGZ1bmN0aW9uIHdpdGhQcm9wZXJ0eShzY2hlbWE6YW55LCBuYW1lOnN0cmluZywgYWN0aW9uOihhbnkpID0+IHZvaWQpIHtcbiAgICBpZiAoc2NoZW1hLnByb3BlcnRpZXNbbmFtZV0pIHtcbiAgICAgIGFjdGlvbihzY2hlbWEucHJvcGVydGllc1tuYW1lXSk7XG4gICAgfVxuICB9XG4gIFxuICBmdW5jdGlvbiBoaWRlUHJvcGVydGllcyhzY2hlbWEpIHtcbiAgICBfLmZvckVhY2goaGlkZGVuUHJvcGVydGllcywgKHByb3BlcnR5KSA9PiB7XG4gICAgICB3aXRoUHJvcGVydHkoc2NoZW1hLCBwcm9wZXJ0eSwgKHByb3BlcnR5KSA9PiB7XG4gICAgICAgIHByb3BlcnR5LmhpZGRlbiA9IHRydWU7XG4gICAgICB9KVxuICAgIH0pO1xuICB9XG4gIFxuICBfbW9kdWxlLmZhY3RvcnkoJ0t1YmVybmV0ZXNTY2hlbWEnLCBbJ1NjaGVtYVJlZ2lzdHJ5JywgKHNjaGVtYXM6SGF3dGlvRm9ybXMuU2NoZW1hUmVnaXN0cnkpID0+IHtcbiAgICBjb25maWd1cmVTY2hlbWEoKTtcbiAgICBcbiAgICBzY2hlbWFzLmFkZExpc3RlbmVyKFwiazhzIHNjaGVtYSBjdXN0b21pemVyXCIsIChuYW1lLCBzY2hlbWEpID0+IHtcbiAgICAgIGlmIChzY2hlbWEucHJvcGVydGllcykge1xuICAgICAgICBpZiAoc2NoZW1hLnByb3BlcnRpZXMubmFtZSkge1xuICAgICAgICAgIHNjaGVtYS5jb250cm9scyA9IFsnbmFtZScsICcqJ107XG4gICAgICAgIH1cbiAgICAgICAgd2l0aFByb3BlcnR5KHNjaGVtYSwgJ3BvcnRhbElQJywgKHByb3BlcnR5KSA9PiB7XG4gICAgICAgICAgcHJvcGVydHkubGFiZWwgPSBcIlBvcnRhbCBJUFwiXG4gICAgICAgIH0pO1xuICAgICAgICB3aXRoUHJvcGVydHkoc2NoZW1hLCAncHVibGljSVBzJywgKHByb3BlcnR5KSA9PiB7XG4gICAgICAgICAgcHJvcGVydHkubGFiZWwgPSBcIlB1YmxpYyBJUHNcIlxuICAgICAgICB9KTtcbiAgICAgICAgd2l0aFByb3BlcnR5KHNjaGVtYSwgJ1NwZWMnLCAocHJvcGVydHkpID0+IHtcbiAgICAgICAgICBwcm9wZXJ0eS5sYWJlbCA9ICdmYWxzZSc7XG4gICAgICAgIH0pO1xuICAgICAgICB3aXRoUHJvcGVydHkoc2NoZW1hLCAnTWV0YWRhdGEnLCAocHJvcGVydHkpID0+IHtcbiAgICAgICAgICBwcm9wZXJ0eS5sYWJlbCA9ICdmYWxzZSc7XG4gICAgICAgIH0pO1xuICAgICAgICBoaWRlUHJvcGVydGllcyhzY2hlbWEpO1xuICAgICAgfVxuICAgICAgXG4gICAgICBpZiAoXy5lbmRzV2l0aChuYW1lLCBcIlNlcnZpY2VTcGVjXCIpKSB7XG4gICAgICAgIHNjaGVtYS5jb250cm9scyA9IFtcInBvcnRhbElQXCIsIFwiY3JlYXRlRXh0ZXJuYWxMb2FkQmFsYW5jZXJcIiwgXCJzZXNzaW9uQWZmaW5pdHlcIiwgXCJwdWJsaWNJUHNcIiwgXCJwb3J0c1wiLCBcInNlbGVjdG9yXCIsIFwiKlwiXTtcbiAgICAgICAgd2l0aFByb3BlcnR5KHNjaGVtYSwgJ3Nlc3Npb25BZmZpbml0eScsIChwcm9wZXJ0eSkgPT4ge1xuICAgICAgICAgIGxvZy5kZWJ1ZyhcIlNjaGVtYTogXCIsIHNjaGVtYSk7XG4gICAgICAgICAgcHJvcGVydHkuZW51bSA9IFsnTm9uZScsICdDbGllbnRJUCddO1xuICAgICAgICAgIHByb3BlcnR5LmRlZmF1bHQgPSAnTm9uZSc7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgXG4gICAgICBpZiAoXy5lbmRzV2l0aChuYW1lLCBcIlNlcnZpY2VcIikpIHtcbiAgICAgICAgc2NoZW1hLmNvbnRyb2xzID0gdW5kZWZpbmVkO1xuICAgICAgICBzY2hlbWEudGFicyA9IHtcbiAgICAgICAgICAnQmFzaWMgSW5mb3JtYXRpb24nOiBbJ21ldGFkYXRhJ10sXG4gICAgICAgICAgJ0RldGFpbHMnOiBbJyonXVxuICAgICAgICB9XG4gICAgICAgIGxvZy5kZWJ1ZyhcIk5hbWU6IFwiLCBuYW1lLCBcIiBTY2hlbWE6IFwiLCBzY2hlbWEpO1xuICAgICAgfVxuICAgICBcbiAgICB9KTtcbiAgICBcbiAgICBcbiAgICBzY2hlbWFzLmFkZFNjaGVtYSgna3ViZXJuZXRlcycsIDxhbnk+IHNjaGVtYSk7XG4gICAgLy8gbm93IGxldHMgaXRlcmF0ZSBhbmQgYWRkIGFsbCB0aGUgZGVmaW5pdGlvbnMgdG9vXG4gICAgYW5ndWxhci5mb3JFYWNoKHNjaGVtYS5kZWZpbml0aW9ucywgKGRlZmluaXRpb24sIHR5cGVOYW1lKSA9PiB7XG4gICAgICAvL3NjaGVtYXMuYWRkU2NoZW1hKHR5cGVOYW1lLCBkZWZpbml0aW9uKTtcbiAgICAgIHNjaGVtYXMuYWRkU2NoZW1hKFwiIy9kZWZpbml0aW9ucy9cIiArIHR5cGVOYW1lLCBkZWZpbml0aW9uKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc2NoZW1hO1xuICB9XSk7XG5cblxuICBcbn0iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIC8vIGZhY2FkZSB0aGlzIHRvIHRoZSB3YXRjaGVyIHNlcnZpY2VcbiAgY2xhc3MgS3ViZXJuZXRlc1N0YXRlSW1wbCBpbXBsZW1lbnRzIEt1YmVybmV0ZXNTdGF0ZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB3YXRjaGVyOldhdGNoZXJTZXJ2aWNlKSB7XG4gICAgfVxuICAgIGdldCBuYW1lc3BhY2VzKCk6QXJyYXk8c3RyaW5nPiB7XG4gICAgICByZXR1cm4gXy5tYXAodGhpcy53YXRjaGVyLmdldE9iamVjdHMoV2F0Y2hUeXBlcy5OQU1FU1BBQ0VTKSwgKG5hbWVzcGFjZSkgPT4ge1xuICAgICAgICByZXR1cm4gbmFtZXNwYWNlLm1ldGFkYXRhLm5hbWU7XG4gICAgICB9KTtcbiAgICB9XG4gICAgZ2V0IHNlbGVjdGVkTmFtZXNwYWNlKCk6c3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLndhdGNoZXIuZ2V0TmFtZXNwYWNlKCk7XG4gICAgfVxuICAgIHNldCBzZWxlY3RlZE5hbWVzcGFjZShuYW1lc3BhY2U6c3RyaW5nKSB7XG4gICAgICB0aGlzLndhdGNoZXIuc2V0TmFtZXNwYWNlKG5hbWVzcGFjZSk7XG4gICAgfVxuICB9XG5cbiAgX21vZHVsZS5mYWN0b3J5KCdLdWJlcm5ldGVzU3RhdGUnLCBbJ1dhdGNoZXJTZXJ2aWNlJywgKHdhdGNoZXI6V2F0Y2hlclNlcnZpY2UpID0+IHtcbiAgICByZXR1cm4gbmV3IEt1YmVybmV0ZXNTdGF0ZUltcGwod2F0Y2hlcik7XG4gIH1dKTtcblxuICAvLyBUT0RPIHRoaXMgZG9lc24ndCBuZWVkIHRvIGJlIGEgc2VydmljZSByZWFsbHlcbiAgX21vZHVsZS5mYWN0b3J5KCdLdWJlcm5ldGVzQXBpVVJMJywgKCkgPT4ga3ViZXJuZXRlc0FwaVVybCgpKTtcblxuICAvLyBUT0RPIHdlJ2xsIGdldCByaWQgb2YgdGhpcy4uLlxuICBfbW9kdWxlLmZhY3RvcnkoJ0t1YmVybmV0ZXNWZXJzaW9uJywgWygpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgcXVlcnk6ICgpID0+IG51bGxcbiAgICB9XG4gIH1dKTtcblxuICAvLyBUT0RPIGxldCdzIG1vdmUgdGhlc2UgaW50byBLdWJlcm5ldGVzTW9kZWwgc28gY29udHJvbGxlcnMgZG9uJ3QgaGF2ZSB0byBpbmplY3QgdGhlbSBzZXBhcmF0ZWx5XG4gIF9tb2R1bGUuZmFjdG9yeSgnS3ViZXJuZXRlc1BvZHMnLCBbJ0t1YmVybmV0ZXNNb2RlbCcsIChLdWJlcm5ldGVzTW9kZWwpID0+IHtcbiAgICByZXR1cm4gS3ViZXJuZXRlc01vZGVsWydwb2RzUmVzb3VyY2UnXTtcbiAgfV0pO1xuXG4gIF9tb2R1bGUuZmFjdG9yeSgnS3ViZXJuZXRlc1JlcGxpY2F0aW9uQ29udHJvbGxlcnMnLCBbJ0t1YmVybmV0ZXNNb2RlbCcsIChLdWJlcm5ldGVzTW9kZWwpID0+IHtcbiAgICByZXR1cm4gS3ViZXJuZXRlc01vZGVsWydyZXBsaWNhdGlvbmNvbnRyb2xsZXJzUmVzb3VyY2UnXTtcbiAgfV0pO1xuXG4gIF9tb2R1bGUuZmFjdG9yeSgnS3ViZXJuZXRlc1NlcnZpY2VzJywgWydLdWJlcm5ldGVzTW9kZWwnLCAoS3ViZXJuZXRlc01vZGVsKSA9PiB7XG4gICAgcmV0dXJuIEt1YmVybmV0ZXNNb2RlbFsnc2VydmljZXNSZXNvdXJjZSddO1xuICB9XSk7XG5cbiAgX21vZHVsZS5mYWN0b3J5KCdLdWJlcm5ldGVzQnVpbGRzJywgWydyZXN0bW9kJywgKHJlc3Rtb2QpID0+IHtcbiAgICByZXR1cm4gcmVzdG1vZC5tb2RlbChidWlsZENvbmZpZ3NSZXN0VVJMKCkpO1xuICB9XSk7XG5cbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNNb2RlbC50c1wiLz5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIEZpbGVEcm9wQ29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJGaWxlRHJvcENvbnRyb2xsZXJcIiwgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiRmlsZVVwbG9hZGVyXCIsICckaHR0cCcsICgkc2NvcGUsIG1vZGVsOkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UsIEZpbGVVcGxvYWRlciwgJGh0dHA6bmcuSUh0dHBTZXJ2aWNlKSA9PiB7XG5cbiAgICAgIHZhciB1cGxvYWRlciA9ICRzY29wZS51cGxvYWRlciA9IDxGaWxlVXBsb2FkLkZpbGVVcGxvYWRlcj4gbmV3IEZpbGVVcGxvYWRlcig8RmlsZVVwbG9hZC5JT3B0aW9ucz57XG4gICAgICAgIGF1dG9VcGxvYWQ6IGZhbHNlLFxuICAgICAgICByZW1vdmVBZnRlclVwbG9hZDogdHJ1ZSxcbiAgICAgICAgdXJsOiBrdWJlcm5ldGVzQXBpVXJsKClcbiAgICAgIH0pO1xuXG4gICAgICAkc2NvcGUudXBsb2FkZXIub25BZnRlckFkZGluZ0ZpbGUgPSAoZmlsZSkgPT4ge1xuICAgICAgICB2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICBpZiAocmVhZGVyLnJlYWR5U3RhdGUgPT09IDIpIHtcbiAgICAgICAgICAgIGxvZy5kZWJ1ZyhcIkZpbGUgYWRkZWQ6IFwiLCBmaWxlKTsgICAgICAgIFxuICAgICAgICAgICAgdmFyIGpzb24gPSByZWFkZXIucmVzdWx0O1xuICAgICAgICAgICAgdmFyIG9iaiA9IG51bGw7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBvYmogPSBhbmd1bGFyLmZyb21Kc29uKGpzb24pO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgIGxvZy5kZWJ1ZyhcIkZhaWxlZCB0byByZWFkIGRyb3BwZWQgZmlsZSBcIiwgZmlsZS5fZmlsZS5uYW1lLCBcIjogXCIsIGVycik7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxvZy5kZWJ1ZyhcIkRyb3BwZWQgb2JqZWN0OiBcIiwgb2JqKTtcbiAgICAgICAgICAgIHVwZGF0ZU9yQ3JlYXRlT2JqZWN0KG9iaiwgbW9kZWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZWFkZXIucmVhZEFzVGV4dChmaWxlLl9maWxlKTtcbiAgICAgIH07XG5cbiAgICAgICRzY29wZS51cGxvYWRlci5vbkJlZm9yZVVwbG9hZEl0ZW0gPSAoaXRlbSkgPT4ge1xuICAgICAgICBsb2cuZGVidWcoXCJVcGxvYWRpbmc6IFwiLCBpdGVtKTtcbiAgICAgICAgLy9Db3JlLm5vdGlmaWNhdGlvbignaW5mbycsICdVcGxvYWRpbmcgJyArIGl0ZW0pO1xuICAgICAgfTtcblxuICAgICAgJHNjb3BlLnVwbG9hZGVyLm9uU3VjY2Vzc0l0ZW0gPSAoaXRlbTpGaWxlVXBsb2FkLklGaWxlSXRlbSkgPT4ge1xuICAgICAgICBsb2cuZGVidWcoXCJvblN1Y2Nlc3NJdGVtOiBcIiwgaXRlbSk7XG4gICAgICB9O1xuXG4gICAgICAkc2NvcGUudXBsb2FkZXIub25FcnJvckl0ZW0gPSAoaXRlbSwgcmVzcG9uc2UsIHN0YXR1cykgPT4ge1xuICAgICAgICBsb2cuZGVidWcoXCJGYWlsZWQgdG8gYXBwbHksIHJlc3BvbnNlOiBcIiwgcmVzcG9uc2UsIFwiIHN0YXR1czogXCIsIHN0YXR1cyk7XG4gICAgICB9XG5cbiAgfV0pO1xuXHRcblx0ZXhwb3J0IHZhciBOYW1lc3BhY2VDb250cm9sbGVyID0gY29udHJvbGxlcignTmFtZXNwYWNlQ29udHJvbGxlcicsIFsnJHNjb3BlJywgJ1dhdGNoZXJTZXJ2aWNlJywgKCRzY29wZSwgd2F0Y2hlcjpXYXRjaGVyU2VydmljZSkgPT4ge1xuXHRcdCRzY29wZS5uYW1lc3BhY2VzID0gd2F0Y2hlci5nZXRPYmplY3RzKCduYW1lc3BhY2VzJyk7XG5cdFx0JHNjb3BlLiR3YXRjaENvbGxlY3Rpb24oJ25hbWVzcGFjZXMnLCAobmV3VmFsdWUsIG9sZFZhbHVlKSA9PiB7XG5cdFx0XHRpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7XG5cdFx0XHRcdCRzY29wZS5uYW1lc3BhY2UgPSB3YXRjaGVyLmdldE5hbWVzcGFjZSgpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdCRzY29wZS4kd2F0Y2goJ25hbWVzcGFjZScsIChuZXdWYWx1ZSwgb2xkVmFsdWUpID0+IHtcblx0XHRcdGlmIChuZXdWYWx1ZSAhPT0gb2xkVmFsdWUpIHtcblx0XHRcdFx0aWYgKG5ld1ZhbHVlICE9PSBvbGRWYWx1ZSkge1xuXHRcdFx0XHRcdHdhdGNoZXIuc2V0TmFtZXNwYWNlKG5ld1ZhbHVlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XSk7XG5cbiAgZXhwb3J0IHZhciBUb3BMZXZlbCA9IGNvbnRyb2xsZXIoXCJUb3BMZXZlbFwiLCBbXCIkc2NvcGVcIiwgXCJ3b3Jrc3BhY2VcIiwgXCJLdWJlcm5ldGVzVmVyc2lvblwiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCAoJHNjb3BlLCB3b3Jrc3BhY2U6Q29yZS5Xb3Jrc3BhY2UsIEt1YmVybmV0ZXNWZXJzaW9uOm5nLnJlc291cmNlLklSZXNvdXJjZUNsYXNzLCBLdWJlcm5ldGVzU3RhdGUpID0+IHtcblxuICAgICRzY29wZS52ZXJzaW9uID0gdW5kZWZpbmVkO1xuXG4gICAgJHNjb3BlLnNob3dBcHBWaWV3ID0gaXNBcHBWaWV3KHdvcmtzcGFjZSk7XG5cbiAgICAkc2NvcGUuaXNBY3RpdmUgPSAoaHJlZikgPT4ge1xuICAgICAgcmV0dXJuIHdvcmtzcGFjZS5pc0xpbmtBY3RpdmUoaHJlZik7XG4gICAgfTtcblxuICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuXG4gICAgS3ViZXJuZXRlc1ZlcnNpb24ucXVlcnkoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAkc2NvcGUudmVyc2lvbiA9IHJlc3BvbnNlO1xuICAgIH0pO1xuXG4gIH1dKTtcblxufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cdFxuXHRleHBvcnQgdmFyIE5hbWVzcGFjZUNvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiTmFtZXNwYWNlQ29udHJvbGxlclwiLCBbXCIkc2NvcGVcIiwgXCJXYXRjaGVyU2VydmljZVwiLCAoJHNjb3BlLCB3YXRjaGVyOldhdGNoZXJTZXJ2aWNlKSA9PiB7XG5cdFx0JHNjb3BlLndhdGNoZXIgPSB3YXRjaGVyO1xuXHRcdCRzY29wZS5uYW1lc3BhY2VPYmplY3RzID0gd2F0Y2hlci5nZXRPYmplY3RzKCduYW1lc3BhY2VzJyk7XG5cdFx0JHNjb3BlLm5hbWVzcGFjZSA9IHdhdGNoZXIuZ2V0TmFtZXNwYWNlKCk7XG5cdFx0JHNjb3BlLm5hbWVzcGFjZXMgPSBbXTtcblx0XHQkc2NvcGUuJHdhdGNoKCduYW1lc3BhY2UnLCAobmV3VmFsdWUsIG9sZFZhbHVlKSA9PiB7XG5cdFx0XHRpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7XG5cdFx0XHRcdHdhdGNoZXIuc2V0TmFtZXNwYWNlKG5ld1ZhbHVlKTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHQkc2NvcGUuJHdhdGNoKCd3YXRjaGVyLmdldE5hbWVzcGFjZSgpJywgKG5ld1ZhbHVlLCBvbGRWYWx1ZSkgPT4ge1xuXHRcdFx0aWYgKG5ld1ZhbHVlICE9PSBvbGRWYWx1ZSkge1xuXHRcdFx0XHQkc2NvcGUubmFtZXNwYWNlID0gbmV3VmFsdWU7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0JHNjb3BlLiR3YXRjaENvbGxlY3Rpb24oJ25hbWVzcGFjZU9iamVjdHMnLCAobmFtZXNwYWNlT2JqZWN0cykgPT4ge1xuXHRcdFx0JHNjb3BlLm5hbWVzcGFjZXMgPSBfLm1hcChuYW1lc3BhY2VPYmplY3RzLCAobmFtZXNwYWNlOmFueSkgPT4gbmFtZXNwYWNlLm1ldGFkYXRhLm5hbWUpO1xuXHRcdH0pXHRcdFxuXHR9XSk7XG5cdFxufSIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgdmFyIE92ZXJ2aWV3RGlyZWN0aXZlID0gX21vZHVsZS5kaXJlY3RpdmUoXCJrdWJlcm5ldGVzT3ZlcnZpZXdcIiwgW1wiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkY29tcGlsZVwiLCBcIiRpbnRlcnBvbGF0ZVwiLCBcIiR0aW1lb3V0XCIsIFwiJHdpbmRvd1wiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCAnS3ViZXJuZXRlc01vZGVsJywgKCR0ZW1wbGF0ZUNhY2hlOm5nLklUZW1wbGF0ZUNhY2hlU2VydmljZSwgJGNvbXBpbGU6bmcuSUNvbXBpbGVTZXJ2aWNlLCAkaW50ZXJwb2xhdGU6bmcuSUludGVycG9sYXRlU2VydmljZSwgJHRpbWVvdXQ6bmcuSVRpbWVvdXRTZXJ2aWNlLCAkd2luZG93Om5nLklXaW5kb3dTZXJ2aWNlLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNNb2RlbCkgPT4ge1xuXG4gICAgdmFyIGxvZyA9IExvZ2dlci5nZXQoJ2t1YmVybmV0ZXMtb3ZlcnZpZXcnKTtcbiAgICB2YXIgbW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG4gICAgdmFyIHN0YXRlID0gS3ViZXJuZXRlc1N0YXRlO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHJlc3RyaWN0OiAnRScsXG4gICAgICByZXBsYWNlOiB0cnVlLFxuICAgICAgbGluazogKHNjb3BlLCBlbGVtZW50LCBhdHRyKSA9PiB7XG4gICAgICAgIHNjb3BlLm1vZGVsID0gbW9kZWw7XG4gICAgICAgIGVsZW1lbnQuY3NzKHt2aXNpYmlsaXR5OiAnaGlkZGVuJ30pO1xuICAgICAgICBzY29wZS5nZXRFbnRpdHkgPSAodHlwZTpzdHJpbmcsIGtleTpzdHJpbmcpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2hvc3QnOlxuICAgICAgICAgICAgICByZXR1cm4gbW9kZWwucG9kc0J5SG9zdFtrZXldO1xuICAgICAgICAgICAgY2FzZSAncG9kJzpcbiAgICAgICAgICAgICAgcmV0dXJuIG1vZGVsLnBvZHNCeUtleVtrZXldO1xuICAgICAgICAgICAgY2FzZSAncmVwbGljYXRpb25Db250cm9sbGVyJzpcbiAgICAgICAgICAgICAgcmV0dXJuIG1vZGVsLnJlcGxpY2F0aW9uQ29udHJvbGxlcnNCeUtleVtrZXldO1xuICAgICAgICAgICAgY2FzZSAnc2VydmljZSc6XG4gICAgICAgICAgICAgIHJldHVybiBtb2RlbC5zZXJ2aWNlc0J5S2V5W2tleV07XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBzY29wZS5rdWJlcm5ldGVzID0gc3RhdGU7XG5cbiAgICAgICAgc2NvcGUuY3VzdG9taXplRGVmYXVsdE9wdGlvbnMgPSAob3B0aW9ucykgPT4ge1xuICAgICAgICAgIG9wdGlvbnMuRW5kcG9pbnQgPSBbJ0JsYW5rJywge31dO1xuICAgICAgICB9O1xuICAgICAgICBzY29wZS5tb3VzZUVudGVyID0gKCRldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChzY29wZS5qc1BsdW1iKSB7XG4gICAgICAgICAgICBhbmd1bGFyLmVsZW1lbnQoJGV2ZW50LmN1cnJlbnRUYXJnZXQpLmFkZENsYXNzKFwiaG92ZXJlZFwiKTtcbiAgICAgICAgICAgIHNjb3BlLmpzUGx1bWIuZ2V0RW5kcG9pbnRzKCRldmVudC5jdXJyZW50VGFyZ2V0KS5mb3JFYWNoKChlbmRwb2ludCkgPT4ge1xuICAgICAgICAgICAgICBlbmRwb2ludC5jb25uZWN0aW9ucy5mb3JFYWNoKChjb25uZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFjb25uZWN0aW9uLmlzSG92ZXIoKSkge1xuICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbi5zZXRIb3Zlcih0cnVlKTtcbiAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uZW5kcG9pbnRzLmZvckVhY2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc2NvcGUubW91c2VFbnRlcih7XG4gICAgICAgICAgICAgICAgICAgICAgY3VycmVudFRhcmdldDogZS5lbGVtZW50XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzY29wZS5tb3VzZUxlYXZlID0gKCRldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChzY29wZS5qc1BsdW1iKSB7XG4gICAgICAgICAgICBhbmd1bGFyLmVsZW1lbnQoJGV2ZW50LmN1cnJlbnRUYXJnZXQpLnJlbW92ZUNsYXNzKFwiaG92ZXJlZFwiKTtcbiAgICAgICAgICAgIHNjb3BlLmpzUGx1bWIuZ2V0RW5kcG9pbnRzKCRldmVudC5jdXJyZW50VGFyZ2V0KS5mb3JFYWNoKChlbmRwb2ludCkgPT4ge1xuICAgICAgICAgICAgICBlbmRwb2ludC5jb25uZWN0aW9ucy5mb3JFYWNoKChjb25uZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNvbm5lY3Rpb24uaXNIb3ZlcigpKSB7XG4gICAgICAgICAgICAgICAgICBjb25uZWN0aW9uLnNldEhvdmVyKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uZW5kcG9pbnRzLmZvckVhY2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc2NvcGUubW91c2VMZWF2ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgY3VycmVudFRhcmdldDogZS5lbGVtZW50XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvKlxuICAgICAgICBzY29wZS5jdXN0b21pemVFbmRwb2ludE9wdGlvbnMgPSAoanNQbHVtYiwgbm9kZSwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgIHZhciB0eXBlID0gbm9kZS5lbC5hdHRyKCdkYXRhLXR5cGUnKTtcbiAgICAgICAgICAvLyBsb2cuZGVidWcoXCJlbmRwb2ludCB0eXBlOiBcIiwgdHlwZSk7XG4gICAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdwb2QnOlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3NlcnZpY2UnOlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3JlcGxpY2F0aW9uQ29udHJvbGxlcic6XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgKi9cbiAgICAgICAgc2NvcGUuY3VzdG9taXplQ29ubmVjdGlvbk9wdGlvbnMgPSAoanNQbHVtYiwgZWRnZSwgcGFyYW1zLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgdmFyIHR5cGUgPSBlZGdlLnNvdXJjZS5lbC5hdHRyKCdkYXRhLXR5cGUnKTtcbiAgICAgICAgICBvcHRpb25zLmNvbm5lY3RvciA9IFsgXCJCZXppZXJcIiwgeyBjdXJ2aW5lc3M6IDUwLCBzdHViOiAyNSwgYWx3YXlzUmVzcGVjdFN0dWJzOiB0cnVlIH0gXTtcbiAgICAgICAgICBwYXJhbXMucGFpbnRTdHlsZSA9IHtcbiAgICAgICAgICAgIGxpbmVXaWR0aDogMixcbiAgICAgICAgICAgIHN0cm9rZVN0eWxlOiAnIzU1NTVjYydcbiAgICAgICAgICB9O1xuICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgY2FzZSAncG9kJzpcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzZXJ2aWNlJzpcbiAgICAgICAgICAgICAgcGFyYW1zLmFuY2hvcnMgPSBbXG4gICAgICAgICAgICAgICAgWyBcIkNvbnRpbnVvdXNcIiwgeyBmYWNlczogW1wicmlnaHRcIl0gfSBdLFxuICAgICAgICAgICAgICAgIFsgXCJDb250aW51b3VzXCIsIHsgZmFjZXM6IFtcImxlZnRcIl0gfSBdIFxuICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgWzEsIDAuNSwgMCwgMCwgLTEwLCAtOTBdLFxuICAgICAgICAgICAgICAgIFswLCAwLjUsIDAsIDAsIC0xMCwgLTkwXVxuICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncmVwbGljYXRpb25Db250cm9sbGVyJzpcbiAgICAgICAgICAgICAgcGFyYW1zLmFuY2hvcnMgPSBbXG4gICAgICAgICAgICAgICAgWyBcIlBlcmltZXRlclwiLCB7IHNoYXBlOiBcIkNpcmNsZVwiIH0gXSxcbiAgICAgICAgICAgICAgICBbIFwiQ29udGludW91c1wiLCB7IGZhY2VzOiBbXCJyaWdodFwiXSB9IF1cbiAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgIFswLCAwLjUsIDAsIDAsIC0xMCwgLTkwXSxcbiAgICAgICAgICAgICAgICBbMSwgMC41LCAwLCAwLCAtMTAsIC05MF1cbiAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgLy9sb2cuZGVidWcoXCJjb25uZWN0aW9uIHNvdXJjZSB0eXBlOiBcIiwgdHlwZSk7XG4gICAgICAgICAgcmV0dXJuIG9wdGlvbnM7XG4gICAgICAgIH07XG4gICAgICAgIGZ1bmN0aW9uIGludGVycG9sYXRlKHRlbXBsYXRlLCBjb25maWcpIHtcbiAgICAgICAgICByZXR1cm4gJGludGVycG9sYXRlKHRlbXBsYXRlKShjb25maWcpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQodGVtcGxhdGUsIHRoaW5nTmFtZSwgdGhpbmcpIHtcbiAgICAgICAgICB2YXIgY29uZmlnID0ge307XG4gICAgICAgICAgY29uZmlnW3RoaW5nTmFtZV0gPSB0aGluZztcbiAgICAgICAgICByZXR1cm4gaW50ZXJwb2xhdGUodGVtcGxhdGUsIGNvbmZpZyk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY3JlYXRlRWxlbWVudHModGVtcGxhdGUsIHRoaW5nTmFtZSwgdGhpbmdzKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaW5ncy5tYXAoKHRoaW5nKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gY3JlYXRlRWxlbWVudCh0ZW1wbGF0ZSwgdGhpbmdOYW1lLCB0aGluZyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYXBwZW5kTmV3RWxlbWVudHMocGFyZW50RWwsIHRlbXBsYXRlLCB0aGluZ05hbWUsIHRoaW5ncykge1xuICAgICAgICAgIHRoaW5ncy5mb3JFYWNoKCh0aGluZykgPT4ge1xuICAgICAgICAgICAgdmFyIGtleSA9IHRoaW5nWydfa2V5J10gfHwgdGhpbmdbJ2VsZW1lbnRJZCddIHx8IHRoaW5nWydpZCddXG4gICAgICAgICAgICB2YXIgZXhpc3RpbmcgPSBwYXJlbnRFbC5maW5kKFwiI1wiICsga2V5ICk7XG4gICAgICAgICAgICBpZiAoIWV4aXN0aW5nLmxlbmd0aCkge1xuICAgICAgICAgICAgICBsb2cuZGVidWcoXCJleGlzdGluZzogXCIsIGV4aXN0aW5nLCBcIiBrZXk6IFwiLCBrZXkpO1xuICAgICAgICAgICAgICBwYXJlbnRFbC5hcHBlbmQoJGNvbXBpbGUoY3JlYXRlRWxlbWVudCh0ZW1wbGF0ZSwgdGhpbmdOYW1lLCB0aGluZykpKHNjb3BlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gbmFtZXNwYWNlRmlsdGVyKGl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBnZXROYW1lc3BhY2UoaXRlbSkgPT09IHNjb3BlLmt1YmVybmV0ZXMuc2VsZWN0ZWROYW1lc3BhY2U7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gZmlyc3REcmF3KCkge1xuICAgICAgICAgIGxvZy5kZWJ1ZyhcIkZpcnN0IGRyYXdcIik7XG4gICAgICAgICAgZWxlbWVudC5lbXB0eSgpO1xuICAgICAgICAgIHZhciBzZXJ2aWNlcyA9IG1vZGVsLnNlcnZpY2VzO1xuICAgICAgICAgIHZhciByZXBsaWNhdGlvbkNvbnRyb2xsZXJzID0gbW9kZWwucmVwbGljYXRpb25Db250cm9sbGVycztcbiAgICAgICAgICB2YXIgcG9kcyA9IG1vZGVsLnBvZHM7XG4gICAgICAgICAgdmFyIGhvc3RzID0gbW9kZWwuaG9zdHM7XG4gICAgICAgICAgLy8gbG9nLmRlYnVnKFwiaG9zdHM6IFwiLCBtb2RlbC5ob3N0cyk7XG4gICAgICAgICAgdmFyIHBhcmVudEVsID0gYW5ndWxhci5lbGVtZW50KCR0ZW1wbGF0ZUNhY2hlLmdldChcIm92ZXJ2aWV3VGVtcGxhdGUuaHRtbFwiKSk7XG4gICAgICAgICAgdmFyIHNlcnZpY2VzRWwgPSBwYXJlbnRFbC5maW5kKFwiLnNlcnZpY2VzXCIpO1xuICAgICAgICAgIHZhciBob3N0c0VsID0gcGFyZW50RWwuZmluZChcIi5ob3N0c1wiKTtcbiAgICAgICAgICB2YXIgcmVwbGljYXRpb25Db250cm9sbGVyc0VsID0gcGFyZW50RWwuZmluZChcIi5yZXBsaWNhdGlvbkNvbnRyb2xsZXJzXCIpO1xuXG4gICAgICAgICAgc2VydmljZXNFbC5hcHBlbmQoY3JlYXRlRWxlbWVudHMoJHRlbXBsYXRlQ2FjaGUuZ2V0KFwic2VydmljZVRlbXBsYXRlLmh0bWxcIiksICdzZXJ2aWNlJywgc2VydmljZXMuZmlsdGVyKG5hbWVzcGFjZUZpbHRlcikpKTtcbiAgICAgICAgICByZXBsaWNhdGlvbkNvbnRyb2xsZXJzRWwuYXBwZW5kKGNyZWF0ZUVsZW1lbnRzKCR0ZW1wbGF0ZUNhY2hlLmdldChcInJlcGxpY2F0aW9uQ29udHJvbGxlclRlbXBsYXRlLmh0bWxcIiksICdyZXBsaWNhdGlvbkNvbnRyb2xsZXInLCByZXBsaWNhdGlvbkNvbnRyb2xsZXJzLmZpbHRlcihuYW1lc3BhY2VGaWx0ZXIpKSk7XG5cbiAgICAgICAgICBob3N0cy5mb3JFYWNoKChob3N0KSA9PiB7XG4gICAgICAgICAgICB2YXIgaG9zdEVsID0gYW5ndWxhci5lbGVtZW50KGNyZWF0ZUVsZW1lbnQoJHRlbXBsYXRlQ2FjaGUuZ2V0KFwib3ZlcnZpZXdIb3N0VGVtcGxhdGUuaHRtbFwiKSwgJ2hvc3QnLCBob3N0KSk7XG4gICAgICAgICAgICB2YXIgcG9kQ29udGFpbmVyID0gYW5ndWxhci5lbGVtZW50KGhvc3RFbC5maW5kKCcucG9kLWNvbnRhaW5lcicpKTtcbiAgICAgICAgICAgIHBvZENvbnRhaW5lci5hcHBlbmQoY3JlYXRlRWxlbWVudHMoJHRlbXBsYXRlQ2FjaGUuZ2V0KFwicG9kVGVtcGxhdGUuaHRtbFwiKSwgXCJwb2RcIiwgaG9zdC5wb2RzKSk7XG4gICAgICAgICAgICBob3N0c0VsLmFwcGVuZChob3N0RWwpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIC8vcGFyZW50RWwuYXBwZW5kKGNyZWF0ZUVsZW1lbnRzKCR0ZW1wbGF0ZUNhY2hlLmdldChcInBvZFRlbXBsYXRlLmh0bWxcIiksICdwb2QnLCBwb2RzKSk7XG4gICAgICAgICAgZWxlbWVudC5hcHBlbmQoJGNvbXBpbGUocGFyZW50RWwpKHNjb3BlKSk7XG4gICAgICAgICAgJHRpbWVvdXQoKCkgPT4geyBlbGVtZW50LmNzcyh7dmlzaWJpbGl0eTogJ3Zpc2libGUnfSk7IH0sIDI1MCk7XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiB1cGRhdGUoKSB7XG4gICAgICAgICAgc2NvcGUuJGVtaXQoJ2pzcGx1bWJEb1doaWxlU3VzcGVuZGVkJywgKCkgPT4ge1xuICAgICAgICAgICAgbG9nLmRlYnVnKFwiVXBkYXRlXCIpO1xuICAgICAgICAgICAgdmFyIHNlcnZpY2VzID0gbW9kZWwuc2VydmljZXM7XG4gICAgICAgICAgICB2YXIgcmVwbGljYXRpb25Db250cm9sbGVycyA9IG1vZGVsLnJlcGxpY2F0aW9uQ29udHJvbGxlcnM7XG4gICAgICAgICAgICB2YXIgcG9kcyA9IG1vZGVsLnBvZHM7XG4gICAgICAgICAgICB2YXIgaG9zdHMgPSBtb2RlbC5ob3N0cztcbiAgICAgICAgICAgIHZhciBwYXJlbnRFbCA9IGVsZW1lbnQuZmluZCgnW2hhd3Rpby1qc3BsdW1iXScpO1xuICAgICAgICAgICAgdmFyIGNoaWxkcmVuID0gcGFyZW50RWwuZmluZCgnLmpzcGx1bWItbm9kZScpO1xuICAgICAgICAgICAgY2hpbGRyZW4uZWFjaCgoaW5kZXgsIGMpID0+IHtcbiAgICAgICAgICAgICAgdmFyIGNoaWxkID0gYW5ndWxhci5lbGVtZW50KGMpO1xuICAgICAgICAgICAgICB2YXIga2V5ID0gY2hpbGQuYXR0cignaWQnKTtcbiAgICAgICAgICAgICAgbG9nLmRlYnVnKCdrZXk6ICcsIGtleSk7XG4gICAgICAgICAgICAgIGlmIChDb3JlLmlzQmxhbmsoa2V5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB2YXIgdHlwZSA9IGNoaWxkLmF0dHIoJ2RhdGEtdHlwZScpO1xuICAgICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdob3N0JzpcbiAgICAgICAgICAgICAgICAgIGlmIChrZXkgaW4gbW9kZWwucG9kc0J5SG9zdCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdzZXJ2aWNlJzpcbiAgICAgICAgICAgICAgICAgIGlmIChrZXkgaW4gbW9kZWwuc2VydmljZXNCeUtleSAmJiBnZXROYW1lc3BhY2UobW9kZWwuc2VydmljZXNCeUtleVtrZXldKSA9PSBzY29wZS5rdWJlcm5ldGVzLnNlbGVjdGVkTmFtZXNwYWNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzZXJ2aWNlID0gbW9kZWwuc2VydmljZXNCeUtleVtrZXldO1xuICAgICAgICAgICAgICAgICAgICBjaGlsZC5hdHRyKCdjb25uZWN0LXRvJywgc2VydmljZS5jb25uZWN0VG8pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdwb2QnOlxuICAgICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgIGlmIChoYXNJZChwb2RzLCBpZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgIGlmIChrZXkgaW4gbW9kZWwucG9kc0J5S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3JlcGxpY2F0aW9uQ29udHJvbGxlcic6XG4gICAgICAgICAgICAgICAgICBpZiAoa2V5IGluIG1vZGVsLnJlcGxpY2F0aW9uQ29udHJvbGxlcnNCeUtleSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmVwbGljYXRpb25Db250cm9sbGVyID0gbW9kZWwucmVwbGljYXRpb25Db250cm9sbGVyc0J5S2V5W2tleV07XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkLmF0dHIoJ2Nvbm5lY3QtdG8nLCByZXBsaWNhdGlvbkNvbnRyb2xsZXIuY29ubmVjdFRvKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgIGxvZy5kZWJ1ZyhcIklnbm9yaW5nIGVsZW1lbnQgd2l0aCB1bmtub3duIHR5cGVcIik7XG4gICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbG9nLmRlYnVnKFwiUmVtb3Zpbmc6IFwiLCBrZXkpO1xuICAgICAgICAgICAgICBjaGlsZC5yZW1vdmUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdmFyIHNlcnZpY2VzRWwgPSBlbGVtZW50LmZpbmQoXCIuc2VydmljZXNcIik7XG4gICAgICAgICAgICB2YXIgcmVwbGljYXRpb25Db250cm9sbGVyc0VsID0gZWxlbWVudC5maW5kKFwiLnJlcGxpY2F0aW9uQ29udHJvbGxlcnNcIik7XG4gICAgICAgICAgICB2YXIgaG9zdHNFbCA9IGVsZW1lbnQuZmluZChcIi5ob3N0c1wiKTtcblxuICAgICAgICAgICAgYXBwZW5kTmV3RWxlbWVudHMoc2VydmljZXNFbCwgJHRlbXBsYXRlQ2FjaGUuZ2V0KFwic2VydmljZVRlbXBsYXRlLmh0bWxcIiksIFwic2VydmljZVwiLCBzZXJ2aWNlcyk7XG4gICAgICAgICAgICBhcHBlbmROZXdFbGVtZW50cyhyZXBsaWNhdGlvbkNvbnRyb2xsZXJzRWwsICR0ZW1wbGF0ZUNhY2hlLmdldChcInJlcGxpY2F0aW9uQ29udHJvbGxlclRlbXBsYXRlLmh0bWxcIiksIFwicmVwbGljYXRpb25Db250cm9sbGVyXCIsIHJlcGxpY2F0aW9uQ29udHJvbGxlcnMpO1xuICAgICAgICAgICAgYXBwZW5kTmV3RWxlbWVudHMoaG9zdHNFbCwgJHRlbXBsYXRlQ2FjaGUuZ2V0KFwib3ZlcnZpZXdIb3N0VGVtcGxhdGUuaHRtbFwiKSwgXCJob3N0XCIsIGhvc3RzKTtcbiAgICAgICAgICAgIGhvc3RzLmZvckVhY2goKGhvc3QpID0+IHtcbiAgICAgICAgICAgICAgdmFyIGhvc3RFbCA9IGFuZ3VsYXIuZWxlbWVudChob3N0c0VsLmZpbmQoXCIjXCIgKyBob3N0LmVsZW1lbnRJZCkpO1xuICAgICAgICAgICAgICB2YXIgcG9kQ29udGFpbmVyID0gYW5ndWxhci5lbGVtZW50KGhvc3RFbC5maW5kKCcucG9kLWNvbnRhaW5lcicpKTtcbiAgICAgICAgICAgICAgYXBwZW5kTmV3RWxlbWVudHMocG9kQ29udGFpbmVyLCAkdGVtcGxhdGVDYWNoZS5nZXQoXCJwb2RUZW1wbGF0ZS5odG1sXCIpLCBcInBvZFwiLCBob3N0LnBvZHMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBmdW5jdGlvbiByZWZyZXNoRHJhd2luZygpIHtcbiAgICAgICAgICBsb2cuZGVidWcoXCJSZWZyZXNoaW5nIGRyYXdpbmdcIik7XG4gICAgICAgICAgaWYgKGVsZW1lbnQuY2hpbGRyZW4oKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGZpcnN0RHJhdygpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB1cGRhdGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQ29yZS4kYXBwbHkoc2NvcGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2NvcGUuJG9uKCdrdWJlcm5ldGVzTW9kZWxVcGRhdGVkJywgXy5kZWJvdW5jZShyZWZyZXNoRHJhd2luZywgNTAwLCB7IHRyYWlsaW5nOiB0cnVlfSkpO1xuICAgICAgICBzZXRUaW1lb3V0KHJlZnJlc2hEcmF3aW5nLCAxMDApO1xuICAgICAgfVxuICAgIH07XG4gIH1dKTtcblxuICB2YXIgT3ZlcnZpZXdCb3hDb250cm9sbGVyID0gY29udHJvbGxlcihcIk92ZXJ2aWV3Qm94Q29udHJvbGxlclwiLCBbXCIkc2NvcGVcIiwgXCIkbG9jYXRpb25cIiwgKCRzY29wZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UpID0+IHtcbiAgICAkc2NvcGUudmlld0RldGFpbHMgPSAoZW50aXR5LCBwYXRoOnN0cmluZykgPT4ge1xuICAgICAgaWYgKGVudGl0eSkge1xuICAgICAgICB2YXIgbmFtZXNwYWNlID0gZ2V0TmFtZXNwYWNlKGVudGl0eSk7XG4gICAgICAgIHZhciBpZCA9IGdldE5hbWUoZW50aXR5KTtcbiAgICAgICAgJGxvY2F0aW9uLnBhdGgoVXJsSGVscGVycy5qb2luKCcva3ViZXJuZXRlcy9uYW1lc3BhY2UnLCBuYW1lc3BhY2UsIHBhdGgsIGlkKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2cud2FybihcIk5vIGVudGl0eSBmb3Igdmlld0RldGFpbHMhXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfV0pO1xuXG4gIHZhciBzY29wZU5hbWUgPSBcIk92ZXJ2aWV3Q29udHJvbGxlclwiO1xuXG4gIHZhciBPdmVydmlld0NvbnRyb2xsZXIgPSBjb250cm9sbGVyKHNjb3BlTmFtZSwgW1wiJHNjb3BlXCIsIFwiJGxvY2F0aW9uXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLFwiS3ViZXJuZXRlc1N0YXRlXCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLCAoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCkgPT4ge1xuICAgICRzY29wZS5uYW1lID0gc2NvcGVOYW1lO1xuICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcblxuICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcbiAgfV0pO1xuXG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgUGlwZWxpbmVzQ29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJQaXBlbGluZXNDb250cm9sbGVyXCIsIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIkt1YmVybmV0ZXNCdWlsZHNcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCIkZGlhbG9nXCIsIFwiJHdpbmRvd1wiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiJGxvY2F0aW9uXCIsIFwibG9jYWxTdG9yYWdlXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIixcbiAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6S3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzQnVpbGRzLCBLdWJlcm5ldGVzU3RhdGUsICRkaWFsb2csICR3aW5kb3csICR0ZW1wbGF0ZUNhY2hlLCAkcm91dGVQYXJhbXMsICRsb2NhdGlvbjpuZy5JTG9jYXRpb25TZXJ2aWNlLCBsb2NhbFN0b3JhZ2UsICRodHRwLCAkdGltZW91dCwgS3ViZXJuZXRlc0FwaVVSTCkgPT4ge1xuXG4gICAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAgICRzY29wZS5LdWJlcm5ldGVzQnVpbGRzID0gS3ViZXJuZXRlc0J1aWxkcztcblxuICAgICAgS3ViZXJuZXRlcy5pbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpO1xuXG4gICAgICAvKipcbiAgICAgICAqIExldHMgdXBkYXRlIHRoZSB2YXJpb3VzIGRhdGEgdG8gam9pbiB0aGVtIHRvZ2V0aGVyIHRvIGEgcGlwZWxpbmUgbW9kZWxcbiAgICAgICAqL1xuICAgICAgZnVuY3Rpb24gdXBkYXRlRGF0YSgpIHtcbiAgICAgICAgdmFyIHBpcGVsaW5lU3RlcHMgPSB7fTtcbiAgICAgICAgaWYgKCRzY29wZS5idWlsZENvbmZpZ3MgJiYgJHNjb3BlLmJ1aWxkcyAmJiAkc2NvcGUuZGVwbG95bWVudENvbmZpZ3MpIHtcbiAgICAgICAgICBlbnJpY2hCdWlsZENvbmZpZ3MoJHNjb3BlLmJ1aWxkQ29uZmlncywgJHNjb3BlLmJ1aWxkcyk7XG4gICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuXG4gICAgICAgICAgYW5ndWxhci5mb3JFYWNoKCRzY29wZS5idWlsZENvbmZpZ3MsIChidWlsZENvbmZpZykgPT4ge1xuICAgICAgICAgICAgdmFyIHBpcGVsaW5lS2V5ID0gY3JlYXRlUGlwZWxpbmVLZXkoYnVpbGRDb25maWcpO1xuICAgICAgICAgICAgaWYgKHBpcGVsaW5lS2V5KSB7XG4gICAgICAgICAgICAgIHBpcGVsaW5lU3RlcHNbcGlwZWxpbmVLZXldID0ge1xuICAgICAgICAgICAgICAgIGJ1aWxkQ29uZmlnOiBidWlsZENvbmZpZyxcbiAgICAgICAgICAgICAgICBidWlsZHM6IFtdLFxuICAgICAgICAgICAgICAgIHRyaWdnZXJlZEJ5OiBudWxsLFxuICAgICAgICAgICAgICAgIHRyaWdnZXJzU3RlcHM6IFtdLFxuICAgICAgICAgICAgICAgICRjbGFzczogJ3BpcGVsaW5lLWJ1aWxkJ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYW5ndWxhci5mb3JFYWNoKCRzY29wZS5idWlsZHMsIChidWlsZCkgPT4ge1xuICAgICAgICAgICAgdmFyIHBpcGVsaW5lS2V5ID0gY3JlYXRlUGlwZWxpbmVLZXkoYnVpbGQpO1xuICAgICAgICAgICAgaWYgKHBpcGVsaW5lS2V5KSB7XG4gICAgICAgICAgICAgIHZhciBwaXBlbGluZSA9IHBpcGVsaW5lU3RlcHNbcGlwZWxpbmVLZXldO1xuICAgICAgICAgICAgICBpZiAoIXBpcGVsaW5lKSB7XG4gICAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhcIndhcm5pbmcgbm8gcGlwZWxpbmUgZ2VuZXJhdGVkIGZvciBidWlsZENvbmZpZyBmb3Iga2V5IFwiICsgcGlwZWxpbmVLZXkgKyBcIiBmb3IgYnVpbGQgXCIgKyBhbmd1bGFyLnRvSnNvbihidWlsZCwgdHJ1ZSkpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwid2FybmluZyBubyBwaXBlbGluZSBnZW5lcmF0ZWQgZm9yIGJ1aWxkQ29uZmlnIGZvciBrZXkgXCIgKyBwaXBlbGluZUtleSArIFwiIGZvciBidWlsZCBcIiArIGJ1aWxkLiRuYW1lKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwaXBlbGluZS5idWlsZHMucHVzaChidWlsZCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIC8vIFRPRE8gbm93IHdlIG5lZWQgdG8gbG9vayBhdCB0aGUgdHJpZ2dlcnMgdG8gZmlndXJlIG91dCB3aGljaCBwaXBlbGluZVN0ZXBzIHRyaWdnZXJzIGVhY2ggcGlwZWxpbmVTdGVwXG5cblxuICAgICAgICAgIC8vIG5vdyBsZXRzIGNyZWF0ZSBhbiBhcnJheSBvZiBhbGwgcGlwZWxpbmVzLCBzdGFydGluZyBmcm9tIHRoZSBmaXJzdCBrbm93biBzdGVwIHdpdGggYSBsaXN0IG9mIHRoZSBzdGVwc1xuXG4gICAgICAgICAgdmFyIHBpcGVsaW5lcyA9IFtdO1xuICAgICAgICAgIGFuZ3VsYXIuZm9yRWFjaChwaXBlbGluZVN0ZXBzLCAocGlwZWxpbmVTdGVwLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGlmICghcGlwZWxpbmVTdGVwLnRyaWdnZXJlZEJ5KSB7XG4gICAgICAgICAgICAgIC8vIHdlIGFyZSBhIHJvb3Qgc3RlcC4uLi5cbiAgICAgICAgICAgICAgcGlwZWxpbmVzLnB1c2gocGlwZWxpbmVTdGVwKTtcbiAgICAgICAgICAgICAgLy8gbm93IGxldHMgYWRkIGFsbCB0aGUgc3RlcHMgZm9yIHRoaXMga2V5Li4uXG4gICAgICAgICAgICAgIHBpcGVsaW5lU3RlcC50cmlnZ2Vyc1N0ZXBzLnB1c2gocGlwZWxpbmVTdGVwKTtcbiAgICAgICAgICAgICAgYW5ndWxhci5mb3JFYWNoKHBpcGVsaW5lU3RlcHMsIChzdGVwKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHN0ZXAudHJpZ2dlcmVkQnkgPT09IGtleSkge1xuICAgICAgICAgICAgICAgICAgcGlwZWxpbmVTdGVwLnRyaWdnZXJzU3RlcHMucHVzaChzdGVwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgYW5ndWxhci5mb3JFYWNoKCRzY29wZS5kZXBsb3ltZW50Q29uZmlncywgKGRlcGxveW1lbnRDb25maWcpID0+IHtcbiAgICAgICAgICAgIGlmICghZGVwbG95bWVudENvbmZpZy5raW5kKSB7XG4gICAgICAgICAgICAgIGRlcGxveW1lbnRDb25maWcua2luZCA9IFwiRGVwbG95bWVudENvbmZpZ1wiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYW5ndWxhci5mb3JFYWNoKGRlcGxveW1lbnRDb25maWcudHJpZ2dlcnMsICh0cmlnZ2VyKSA9PiB7XG4gICAgICAgICAgICAgIHZhciB0eXBlID0gdHJpZ2dlci50eXBlO1xuICAgICAgICAgICAgICB2YXIgaW1hZ2VDaGFuZ2VQYXJhbXMgPSB0cmlnZ2VyLmltYWdlQ2hhbmdlUGFyYW1zO1xuICAgICAgICAgICAgICBpZiAoaW1hZ2VDaGFuZ2VQYXJhbXMgJiYgdHlwZSA9PT0gXCJJbWFnZUNoYW5nZVwiKSB7XG4gICAgICAgICAgICAgICAgdmFyIGZyb20gPSBpbWFnZUNoYW5nZVBhcmFtcy5mcm9tO1xuICAgICAgICAgICAgICAgIGlmIChmcm9tKSB7XG4gICAgICAgICAgICAgICAgICB2YXIgbmFtZSA9IGZyb20ubmFtZTtcbiAgICAgICAgICAgICAgICAgIGlmIChmcm9tLmtpbmQgPT09IFwiSW1hZ2VSZXBvc2l0b3J5XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRhZyA9IGltYWdlQ2hhbmdlUGFyYW1zLnRhZyB8fCBcImxhdGVzdFwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgIC8vIG5vdyBsZXRzIGZpbmQgYSBwaXBlbGluZSBzdGVwIHdoaWNoIGZpcmVzIGZyb20gdGhpc1xuICAgICAgICAgICAgICAgICAgICAgIGFuZ3VsYXIuZm9yRWFjaChwaXBlbGluZVN0ZXBzLCAocGlwZWxpbmVTdGVwLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0byA9IENvcmUucGF0aEdldChwaXBlbGluZVN0ZXAsIFtcImJ1aWxkQ29uZmlnXCIsIFwicGFyYW1ldGVyc1wiLCBcIm91dHB1dFwiLCBcInRvXCJdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0byAmJiAodG8ua2luZCA9PT0gXCJJbWFnZVJlcG9zaXRvcnlcIiB8fCB0by5raW5kID09PSBcIkltYWdlU3RyZWFtXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b05hbWUgPSB0by5uYW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG9OYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdG9yID0gQ29yZS5wYXRoR2V0KGRlcGxveW1lbnRDb25maWcsIFtcInRlbXBsYXRlXCIsIFwiY29udHJvbGxlclRlbXBsYXRlXCIsIFwic2VsZWN0b3JcIl0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwb2RzID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyICRwb2RDb3VudGVycyA9IHNlbGVjdG9yID8gY3JlYXRlUG9kQ291bnRlcnMoc2VsZWN0b3IsIEt1YmVybmV0ZXNNb2RlbC5wb2RzRm9yTmFtZXNwYWNlKCksIHBvZHMpIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGVwbG95UGlwZWxpbmVTdGVwID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRDb25maWc6IGRlcGxveW1lbnRDb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2xhc3M6ICdwaXBlbGluZS1kZXBsb3knLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBvZENvdW50ZXJzOiAkcG9kQ291bnRlcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9kczogcG9kc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZWxpbmVTdGVwLnRyaWdnZXJzU3RlcHMucHVzaChkZXBsb3lQaXBlbGluZVN0ZXApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgICRzY29wZS5waXBlbGluZXMgPSBwaXBlbGluZXM7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBMZXRzIGNyZWF0ZSBhIHVuaXF1ZSBrZXkgZm9yIGJ1aWxkIC8gY29uZmlnIHdlIGNhbiB1c2UgdG8gZG8gbGlua2luZyBvZiBidWlsZHMgLyBjb25maWdzIC8gdHJpZ2dlcnNcbiAgICAgICAqL1xuICAgICAgZnVuY3Rpb24gY3JlYXRlUGlwZWxpbmVLZXkoYnVpbGRDb25maWcpIHtcbiAgICAgICAgcmV0dXJuIENvcmUucGF0aEdldChidWlsZENvbmZpZywgW1wicGFyYW1ldGVyc1wiLCBcInNvdXJjZVwiLCBcImdpdFwiLCBcInVyaVwiXSk7XG4gICAgICB9XG5cbiAgICAgICRzY29wZS4ka2VlcFBvbGxpbmcgPSAoKSA9PiBrZWVwUG9sbGluZ01vZGVsO1xuICAgICAgJHNjb3BlLmZldGNoID0gUG9sbEhlbHBlcnMuc2V0dXBQb2xsaW5nKCRzY29wZSwgKG5leHQ6KCkgPT4gdm9pZCkgPT4ge1xuICAgICAgICB2YXIgcmVhZHkgPSAwO1xuICAgICAgICB2YXIgbnVtU2VydmljZXMgPSAzO1xuXG4gICAgICAgIGZ1bmN0aW9uIG1heWJlTmV4dCgpIHtcbiAgICAgICAgICBpZiAoKytyZWFkeSA+PSBudW1TZXJ2aWNlcykge1xuICAgICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciB1cmwgPSBidWlsZHNSZXN0VVJMKCk7XG4gICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAkc2NvcGUuYnVpbGRzID0gZW5yaWNoQnVpbGRzKGRhdGEuaXRlbXMpO1xuICAgICAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXliZU5leHQoKTtcbiAgICAgICAgICB9KS5cbiAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGxvYWQgXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICAgICAgICBtYXliZU5leHQoKTtcblxuICAgICAgICAgIH0pO1xuICAgICAgICB1cmwgPSBidWlsZENvbmZpZ3NSZXN0VVJMKCk7XG4gICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAkc2NvcGUuYnVpbGRDb25maWdzID0gZGF0YS5pdGVtcztcbiAgICAgICAgICAgICAgdXBkYXRlRGF0YSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbWF5YmVOZXh0KCk7XG4gICAgICAgICAgfSkuXG4gICAgICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBsb2FkIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgbWF5YmVOZXh0KCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIHVybCA9IGRlcGxveW1lbnRDb25maWdzUmVzdFVSTCgpO1xuICAgICAgICAkaHR0cC5nZXQodXJsKS5cbiAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgJHNjb3BlLmRlcGxveW1lbnRDb25maWdzID0gZGF0YS5pdGVtcztcbiAgICAgICAgICAgICAgdXBkYXRlRGF0YSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbWF5YmVOZXh0KCk7XG4gICAgICAgICAgfSkuXG4gICAgICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBsb2FkIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgbWF5YmVOZXh0KCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgJHNjb3BlLmZldGNoKCk7XG4gICAgfV0pO1xuXG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgUG9kQ29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJQb2RDb250cm9sbGVyXCIsXG4gICAgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiS3ViZXJuZXRlc1N0YXRlXCIsIFwiU2VydmljZVJlZ2lzdHJ5XCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiJHdpbmRvd1wiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIixcbiAgICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDogS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzU3RhdGUsIFNlcnZpY2VSZWdpc3RyeSxcbiAgICAgICAkdGVtcGxhdGVDYWNoZTpuZy5JVGVtcGxhdGVDYWNoZVNlcnZpY2UsICRsb2NhdGlvbjpuZy5JTG9jYXRpb25TZXJ2aWNlLCAkcm91dGVQYXJhbXMsICRodHRwLCAkdGltZW91dCwgJHdpbmRvdywgS3ViZXJuZXRlc0FwaVVSTCkgPT4ge1xuXG4gICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICRzY29wZS5yYXdNb2RlID0gZmFsc2U7XG4gICAgJHNjb3BlLnJhd01vZGVsID0gbnVsbDtcblxuICAgICRzY29wZS5pdGVtQ29uZmlnID0ge1xuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAnY29udGFpbmVycy9pbWFnZSQnOiB7XG4gICAgICAgICAgdGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldCgnaW1hZ2VUZW1wbGF0ZS5odG1sJylcbiAgICAgICAgfSxcbiAgICAgICAgJ3N0YXR1cy9waGFzZSc6IHtcbiAgICAgICAgICB0ZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KCdzdGF0dXNUZW1wbGF0ZS5odG1sJylcbiAgICAgICAgfSxcbiAgICAgICAgJ1xcXFwvRW52XFxcXC8nOiB7XG4gICAgICAgICAgdGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldCgnZW52SXRlbVRlbXBsYXRlLmh0bWwnKVxuICAgICAgICB9LFxuICAgICAgICAnXlxcXFwvbGFiZWxzJCc6IHtcbiAgICAgICAgICB0ZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KCdsYWJlbFRlbXBsYXRlLmh0bWwnKVxuICAgICAgICB9LFxuICAgICAgICAnXFxcXC9lbnZcXFxcL2tleSQnOiB7XG4gICAgICAgICAgaGlkZGVuOiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgS3ViZXJuZXRlcy5pbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpO1xuXG4gICAgJHNjb3BlLiRvbigna3ViZXJuZXRlc01vZGVsVXBkYXRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICB9KTtcblxuICAgICRzY29wZS4kb24oJyRyb3V0ZVVwZGF0ZScsICgkZXZlbnQpID0+IHtcbiAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICB9KTtcblxuICAgICRzY29wZS4kd2F0Y2goJ21vZGVsLnBvZHMnLCAobmV3VmFsdWUsIG9sZFZhbHVlKSA9PiB7XG4gICAgICB1cGRhdGVEYXRhKCk7XG4gICAgfSwgdHJ1ZSk7XG5cbiAgICAkc2NvcGUuZmxpcFJhdyA9ICgpID0+IHtcbiAgICAgICRzY29wZS5yYXdNb2RlID0gISRzY29wZS5yYXdNb2RlO1xuICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICB9O1xuXG4gICAgJHNjb3BlLm9wZW5Mb2dzID0gKCkgPT4ge1xuICAgICAgdmFyIHBvZHMgPSBbJHNjb3BlLml0ZW1dO1xuICAgICAgb3BlbkxvZ3NGb3JQb2RzKFNlcnZpY2VSZWdpc3RyeSwgJHdpbmRvdywgS3ViZXJuZXRlc01vZGVsLmN1cnJlbnROYW1lc3BhY2UoKSwgcG9kcyk7XG4gICAgfTtcblxuICAgIHVwZGF0ZURhdGEoKTtcblxuICAgIGZ1bmN0aW9uIHVwZGF0ZURhdGEoKSB7XG4gICAgICAkc2NvcGUuaWQgPSAkcm91dGVQYXJhbXNbXCJpZFwiXTtcbiAgICAgICRzY29wZS5pdGVtID0gJHNjb3BlLm1vZGVsLmdldFBvZChLdWJlcm5ldGVzU3RhdGUuc2VsZWN0ZWROYW1lc3BhY2UsICRzY29wZS5pZCk7XG4gICAgICBpZiAoJHNjb3BlLml0ZW0pIHtcbiAgICAgICAgJHNjb3BlLnJhd01vZGVsID0gdG9SYXdKc29uKCRzY29wZS5pdGVtKTtcbiAgICAgIH1cbiAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgfVxuICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgUG9kRWRpdENvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiUG9kRWRpdENvbnRyb2xsZXJcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCJLdWJlcm5ldGVzU2NoZW1hXCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLCBcIlNjaGVtYVJlZ2lzdHJ5XCIsXG4gICAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6IEt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzU2NoZW1hLFxuICAgICAgICR0ZW1wbGF0ZUNhY2hlOm5nLklUZW1wbGF0ZUNhY2hlU2VydmljZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsICRyb3V0ZVBhcmFtcywgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMLCBzY2hlbWFzOkhhd3Rpb0Zvcm1zLlNjaGVtYVJlZ2lzdHJ5KSA9PiB7XG5cbiAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG4gICAgJHNjb3BlLmlkID0gJHJvdXRlUGFyYW1zW1wiaWRcIl07XG4gICAgJHNjb3BlLnNjaGVtYSA9IEt1YmVybmV0ZXNTY2hlbWE7XG4gICAgJHNjb3BlLmNvbmZpZyA9IHNjaGVtYXMuY2xvbmVTY2hlbWEoXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlBvZFwiKTtcbiAgICAvLyRzY29wZS5jb25maWcgPSBLdWJlcm5ldGVzU2NoZW1hLmRlZmluaXRpb25zLmt1YmVybmV0ZXNfdjFiZXRhMl9Qb2Q7XG5cbiAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG5cbiAgICAkc2NvcGUuJG9uKCckcm91dGVVcGRhdGUnLCAoJGV2ZW50KSA9PiB7XG4gICAgICB1cGRhdGVEYXRhKCk7XG4gICAgfSk7XG5cbiAgICB1cGRhdGVEYXRhKCk7XG5cbiAgICBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuICAgICAgaWYgKCRzY29wZS5pZCkge1xuICAgICAgICAkc2NvcGUuZW50aXR5ID0gJHNjb3BlLm1vZGVsLmdldFBvZChLdWJlcm5ldGVzU3RhdGUuc2VsZWN0ZWROYW1lc3BhY2UsICRzY29wZS5pZCk7XG4gICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cInV0aWxIZWxwZXJzLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBFbnZJdGVtID0gY29udHJvbGxlcihcIkVudkl0ZW1cIiwgW1wiJHNjb3BlXCIsICgkc2NvcGUpID0+IHtcbiAgICB2YXIgcGFydHMgPSAkc2NvcGUuZGF0YS5zcGxpdCgnPScpO1xuICAgICRzY29wZS5rZXkgPSBwYXJ0cy5zaGlmdCgpO1xuICAgICRzY29wZS52YWx1ZSA9IHBhcnRzLmpvaW4oJz0nKTtcbiAgfV0pO1xuXG4gIC8vIG1haW4gY29udHJvbGxlciBmb3IgdGhlIHBhZ2VcbiAgZXhwb3J0IHZhciBQb2RzID0gY29udHJvbGxlcihcIlBvZHNcIiwgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiS3ViZXJuZXRlc1BvZHNcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCJTZXJ2aWNlUmVnaXN0cnlcIiwgXCIkZGlhbG9nXCIsIFwiJHdpbmRvd1wiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiJGxvY2F0aW9uXCIsIFwibG9jYWxTdG9yYWdlXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIixcbiAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6IEt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1BvZHM6bmcucmVzb3VyY2UuSVJlc291cmNlQ2xhc3MsIEt1YmVybmV0ZXNTdGF0ZSwgU2VydmljZVJlZ2lzdHJ5LCAkZGlhbG9nLCAkd2luZG93LCAkdGVtcGxhdGVDYWNoZSwgJHJvdXRlUGFyYW1zLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgbG9jYWxTdG9yYWdlLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAkc2NvcGUuJG9uKCdrdWJlcm5ldGVzTW9kZWxVcGRhdGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICB9KTtcblxuICAgICRzY29wZS5pdGVtU2NoZW1hID0gRm9ybXMuY3JlYXRlRm9ybUNvbmZpZ3VyYXRpb24oKTtcblxuICAgICRzY29wZS50YWJsZUNvbmZpZyA9IHtcbiAgICAgIGRhdGE6ICdtb2RlbC5wb2RzJyxcbiAgICAgIHNob3dTZWxlY3Rpb25DaGVja2JveDogdHJ1ZSxcbiAgICAgIGVuYWJsZVJvd0NsaWNrU2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgIG11bHRpU2VsZWN0OiB0cnVlLFxuICAgICAgc2VsZWN0ZWRJdGVtczogW10sXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIGZpbHRlclRleHQ6ICRsb2NhdGlvbi5zZWFyY2goKVtcInFcIl0gfHwgJydcbiAgICAgIH0sXG4gICAgICBjb2x1bW5EZWZzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZDogJ19rZXknLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnTmFtZScsXG4gICAgICAgICAgZGVmYXVsdFNvcnQ6IHRydWUsXG4gICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJpZFRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpZWxkOiAnJHN0YXR1c0NzcycsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdTdGF0dXMnLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwic3RhdHVzVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICB9LFxuICAgICAgICB7IGZpZWxkOiAnJGV2ZW50Q291bnQnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnRXZlbnRzJyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImV2ZW50U3VtbWFyeVRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpZWxkOiAnJHJlc3RhcnRDb3VudCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdSZXN0YXJ0cydcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpZWxkOiAnJGNyZWF0ZWRUaW1lJyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ0FnZScsXG4gICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJhZ2VUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZDogJyRpbWFnZU5hbWVzJyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ0ltYWdlcycsXG4gICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJpbWFnZVRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpZWxkOiAnJGhvc3QnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnSG9zdCcsXG4gICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJob3N0VGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZmllbGQ6ICckbGFiZWxzVGV4dCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdMYWJlbHMnLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwibGFiZWxUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZDogJyRwb2RJUCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdQb2QgSVAnLFxuICAgICAgICAgIGN1c3RvbVNvcnRGaWVsZDogKGZpZWxkKSA9PiB7XG4gICAgICAgICAgICAvLyB1c2UgYSBjdXN0b20gc29ydCB0byBzb3J0IGlwIGFkZHJlc3NcbiAgICAgICAgICAgIHJldHVybiBLdWJlcm5ldGVzLnNvcnRCeVBvZElwKGZpZWxkLiRwb2RJUCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcblxuICAgICRzY29wZS5vcGVuTG9ncyA9ICgpID0+IHtcbiAgICAgIHZhciBwb2RzID0gJHNjb3BlLnRhYmxlQ29uZmlnLnNlbGVjdGVkSXRlbXM7XG4gICAgICBpZiAoIXBvZHMgfHwgIXBvZHMubGVuZ3RoKSB7XG4gICAgICAgIGlmICgkc2NvcGUuaWQpIHtcbiAgICAgICAgICB2YXIgaXRlbSA9ICRzY29wZS5pdGVtO1xuICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICBwb2RzID0gW2l0ZW1dO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgb3BlbkxvZ3NGb3JQb2RzKFNlcnZpY2VSZWdpc3RyeSwgJHdpbmRvdywgS3ViZXJuZXRlc01vZGVsLmN1cnJlbnROYW1lc3BhY2UoKSwgcG9kcyk7XG4gICAgfTtcblxuICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcblxuICAgICRzY29wZS5kZWxldGVQcm9tcHQgPSAoc2VsZWN0ZWQpID0+IHtcbiAgICAgIGlmIChhbmd1bGFyLmlzU3RyaW5nKHNlbGVjdGVkKSkge1xuICAgICAgICBzZWxlY3RlZCA9IFt7XG4gICAgICAgICAgaWQ6IHNlbGVjdGVkXG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgICAgVUkubXVsdGlJdGVtQ29uZmlybUFjdGlvbkRpYWxvZyg8VUkuTXVsdGlJdGVtQ29uZmlybUFjdGlvbk9wdGlvbnM+e1xuICAgICAgICBjb2xsZWN0aW9uOiBzZWxlY3RlZCxcbiAgICAgICAgaW5kZXg6ICdtZXRhZGF0YS5uYW1lJyxcbiAgICAgICAgb25DbG9zZTogKHJlc3VsdDpib29sZWFuKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgZnVuY3Rpb24gZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQ6QXJyYXk8S3ViZVBvZD4sIG5leHQ6S3ViZVBvZCkge1xuICAgICAgICAgICAgICBpZiAobmV4dCkge1xuICAgICAgICAgICAgICAgIGxvZy5kZWJ1ZyhcImRlbGV0aW5nOiBcIiwgZ2V0TmFtZShuZXh0KSk7XG4gICAgICAgICAgICAgICAgS3ViZXJuZXRlc1BvZHMuZGVsZXRlKHtcbiAgICAgICAgICAgICAgICAgIGlkOiBnZXROYW1lKG5leHQpXG4gICAgICAgICAgICAgICAgfSwgdW5kZWZpbmVkLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBsb2cuZGVidWcoXCJkZWxldGVkOiBcIiwgZ2V0TmFtZShuZXh0KSk7XG4gICAgICAgICAgICAgICAgICBkZWxldGVTZWxlY3RlZChzZWxlY3RlZCwgc2VsZWN0ZWQuc2hpZnQoKSk7XG4gICAgICAgICAgICAgICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICBsb2cuZGVidWcoXCJFcnJvciBkZWxldGluZzogXCIsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBzZWxlY3RlZC5zaGlmdCgpKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIHNlbGVjdGVkLnNoaWZ0KCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6ICdEZWxldGUgcG9kcz8nLFxuICAgICAgICBhY3Rpb246ICdUaGUgZm9sbG93aW5nIHBvZHMgd2lsbCBiZSBkZWxldGVkOicsXG4gICAgICAgIG9rVGV4dDogJ0RlbGV0ZScsXG4gICAgICAgIG9rQ2xhc3M6ICdidG4tZGFuZ2VyJyxcbiAgICAgICAgY3VzdG9tOiBcIlRoaXMgb3BlcmF0aW9uIGlzIHBlcm1hbmVudCBvbmNlIGNvbXBsZXRlZCFcIixcbiAgICAgICAgY3VzdG9tQ2xhc3M6IFwiYWxlcnQgYWxlcnQtd2FybmluZ1wiXG4gICAgICB9KS5vcGVuKCk7XG4gICAgfTtcbiAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNIZWxwZXJzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIFJlcGxpY2F0aW9uQ29udHJvbGxlckNvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiUmVwbGljYXRpb25Db250cm9sbGVyQ29udHJvbGxlclwiLFxuICAgIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJGxvY2F0aW9uXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIixcbiAgICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDogS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzU3RhdGUsXG4gICAgICAgJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJvdXRlUGFyYW1zLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAkc2NvcGUucmF3TW9kZSA9IGZhbHNlO1xuICAgICRzY29wZS5yYXdNb2RlbCA9IG51bGw7XG5cbiAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG5cbiAgICAkc2NvcGUuaXRlbUNvbmZpZyA9IHtcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgJ15cXFxcL2xhYmVscyQnOiB7XG4gICAgICAgICAgdGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldCgnbGFiZWxUZW1wbGF0ZS5odG1sJylcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICAkc2NvcGUuJG9uKCdrdWJlcm5ldGVzTW9kZWxVcGRhdGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgdXBkYXRlRGF0YSgpO1xuICAgIH0pO1xuXG4gICAgJHNjb3BlLiRvbignJHJvdXRlVXBkYXRlJywgKCRldmVudCkgPT4ge1xuICAgICAgdXBkYXRlRGF0YSgpO1xuICAgIH0pO1xuXG4gICAgJHNjb3BlLiR3YXRjaCgnbW9kZWwucG9kcycsIChuZXdWYWx1ZSwgb2xkVmFsdWUpID0+IHtcbiAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICB9LCB0cnVlKTtcblxuICAgICRzY29wZS5mbGlwUmF3ID0gKCkgPT4ge1xuICAgICAgJHNjb3BlLnJhd01vZGUgPSAhJHNjb3BlLnJhd01vZGU7XG4gICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgIH07XG5cbiAgICB1cGRhdGVEYXRhKCk7XG5cbiAgICBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuICAgICAgJHNjb3BlLmlkID0gJHJvdXRlUGFyYW1zW1wiaWRcIl07XG4gICAgICAkc2NvcGUuaXRlbSA9ICRzY29wZS5tb2RlbC5nZXRSZXBsaWNhdGlvbkNvbnRyb2xsZXIoS3ViZXJuZXRlc1N0YXRlLnNlbGVjdGVkTmFtZXNwYWNlLCAkc2NvcGUuaWQpO1xuICAgICAgaWYgKCRzY29wZS5pdGVtKSB7XG4gICAgICAgICRzY29wZS5yYXdNb2RlbCA9IHRvUmF3SnNvbigkc2NvcGUuaXRlbSk7XG4gICAgICB9XG5cbiAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgfVxuICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgUmVwbGljYXRpb25Db250cm9sbGVyRWRpdENvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiUmVwbGljYXRpb25Db250cm9sbGVyRWRpdENvbnRyb2xsZXJcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCJLdWJlcm5ldGVzU2NoZW1hXCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLCBcIlNjaGVtYVJlZ2lzdHJ5XCIsXG4gICAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6IEt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzU2NoZW1hLFxuICAgICAgICR0ZW1wbGF0ZUNhY2hlOm5nLklUZW1wbGF0ZUNhY2hlU2VydmljZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsICRyb3V0ZVBhcmFtcywgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMLCBzY2hlbWFzOkhhd3Rpb0Zvcm1zLlNjaGVtYVJlZ2lzdHJ5KSA9PiB7XG5cbiAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG4gICAgJHNjb3BlLmlkID0gJHJvdXRlUGFyYW1zW1wiaWRcIl07XG4gICAgJHNjb3BlLnNjaGVtYSA9IEt1YmVybmV0ZXNTY2hlbWE7XG4gICAgbG9nLmRlYnVnKFwiU2NoZW1hOiBcIiwgJHNjb3BlLnNjaGVtYSk7XG4gICAgJHNjb3BlLmNvbmZpZyA9IHNjaGVtYXMuY2xvbmVTY2hlbWEoXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlJlcGxpY2F0aW9uQ29udHJvbGxlclwiKTtcbiAgICAvLyQkc2NvcGUuY29uZmlnID0gS3ViZXJuZXRlc1NjaGVtYS5kZWZpbml0aW9ucy5rdWJlcm5ldGVzX3YxYmV0YTNfUmVwbGljYXRpb25Db250cm9sbGVyO1xuXG4gICAgS3ViZXJuZXRlcy5pbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpO1xuXG4gICAgJHNjb3BlLiRvbignJHJvdXRlVXBkYXRlJywgKCRldmVudCkgPT4ge1xuICAgICAgdXBkYXRlRGF0YSgpO1xuICAgIH0pO1xuXG4gICAgdXBkYXRlRGF0YSgpO1xuXG4gICAgZnVuY3Rpb24gdXBkYXRlRGF0YSgpIHtcbiAgICAgIGlmICgkc2NvcGUuaWQpIHtcbiAgICAgICAgJHNjb3BlLmVudGl0eSA9ICRzY29wZS5tb2RlbC5nZXRSZXBsaWNhdGlvbkNvbnRyb2xsZXIoS3ViZXJuZXRlc1N0YXRlLnNlbGVjdGVkTmFtZXNwYWNlLCAkc2NvcGUuaWQpO1xuICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAkc2NvcGUuZmV0Y2hlZCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAkc2NvcGUuZmV0Y2hlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgUmVwbGljYXRpb25Db250cm9sbGVycyA9IGNvbnRyb2xsZXIoXCJSZXBsaWNhdGlvbkNvbnRyb2xsZXJzXCIsXG4gICAgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiS3ViZXJuZXRlc1JlcGxpY2F0aW9uQ29udHJvbGxlcnNcIiwgXCJLdWJlcm5ldGVzUG9kc1wiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJGxvY2F0aW9uXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiam9sb2tpYVwiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsXG4gICAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6IEt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1JlcGxpY2F0aW9uQ29udHJvbGxlcnM6bmcucmVzb3VyY2UuSVJlc291cmNlQ2xhc3MsIEt1YmVybmV0ZXNQb2RzOm5nLnJlc291cmNlLklSZXNvdXJjZUNsYXNzLCBLdWJlcm5ldGVzU3RhdGUsXG4gICAgICAgJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJvdXRlUGFyYW1zLCBqb2xva2lhOkpvbG9raWEuSUpvbG9raWEsICRodHRwLCAkdGltZW91dCwgS3ViZXJuZXRlc0FwaVVSTCkgPT4ge1xuXG4gICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuXG4gICAgJHNjb3BlLnRhYmxlQ29uZmlnID0ge1xuICAgICAgZGF0YTogJ21vZGVsLnJlcGxpY2F0aW9uQ29udHJvbGxlcnMnLFxuICAgICAgc2hvd1NlbGVjdGlvbkNoZWNrYm94OiB0cnVlLFxuICAgICAgZW5hYmxlUm93Q2xpY2tTZWxlY3Rpb246IGZhbHNlLFxuICAgICAgbXVsdGlTZWxlY3Q6IHRydWUsXG4gICAgICBzZWxlY3RlZEl0ZW1zOiBbXSxcbiAgICAgIGZpbHRlck9wdGlvbnM6IHtcbiAgICAgICAgZmlsdGVyVGV4dDogJGxvY2F0aW9uLnNlYXJjaCgpW1wicVwiXSB8fCAnJ1xuICAgICAgfSxcbiAgICAgIGNvbHVtbkRlZnM6IFtcbiAgICAgICAgeyBmaWVsZDogJ19rZXknLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnTmFtZScsXG4gICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJpZFRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgfSxcbiAgICAgICAgeyBmaWVsZDogJyRwb2RDb3VudCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdQb2RzJyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcInBvZENvdW50c0FuZExpbmtUZW1wbGF0ZS5odG1sXCIpLFxuICAgICAgICAgIGN1c3RvbVNvcnRGaWVsZDogKGZpZWxkKSA9PiB7XG4gICAgICAgICAgICAvLyBuZWVkIHRvIGNvbmNhdCBhbGwgdGhlIHBvZCBjb3VudGVyc1xuICAgICAgICAgICAgdmFyIHZhbGlkID0gZmllbGQuJHBvZENvdW50ZXJzLnZhbGlkIHx8IDA7XG4gICAgICAgICAgICB2YXIgd2FpdGluZyA9IGZpZWxkLiRwb2RDb3VudGVycy53YWl0aW5nIHx8IDA7XG4gICAgICAgICAgICB2YXIgZXJyb3IgPSBmaWVsZC4kcG9kQ291bnRlcnMuZXJyb3IgfHwgMDtcbiAgICAgICAgICAgIHJldHVybiB2YWxpZCArIHdhaXRpbmcgKyBlcnJvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgZmllbGQ6ICckcmVwbGljYXMnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnUmVwbGljYXMnLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTokdGVtcGxhdGVDYWNoZS5nZXQoXCJkZXNpcmVkUmVwbGljYXMuaHRtbFwiKVxuICAgICAgICB9LFxuICAgICAgICB7IGZpZWxkOiAnJGxhYmVsc1RleHQnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnTGFiZWxzJyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImxhYmVsVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICB9LFxuICAgICAgICB7IGZpZWxkOiAnJGV2ZW50Q291bnQnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnRXZlbnRzJyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImV2ZW50U3VtbWFyeVRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG5cbiAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG5cbiAgICAkc2NvcGUuZGVsZXRlUHJvbXB0ID0gKHNlbGVjdGVkKSA9PiB7XG4gICAgICBpZiAoYW5ndWxhci5pc1N0cmluZyhzZWxlY3RlZCkpIHtcbiAgICAgICAgc2VsZWN0ZWQgPSBbe1xuICAgICAgICAgIGlkOiBzZWxlY3RlZFxuICAgICAgICB9XTtcbiAgICAgIH1cbiAgICAgIFVJLm11bHRpSXRlbUNvbmZpcm1BY3Rpb25EaWFsb2coPFVJLk11bHRpSXRlbUNvbmZpcm1BY3Rpb25PcHRpb25zPntcbiAgICAgICAgY29sbGVjdGlvbjogc2VsZWN0ZWQsXG4gICAgICAgIGluZGV4OiAnbWV0YWRhdGEubmFtZScsXG4gICAgICAgIG9uQ2xvc2U6IChyZXN1bHQ6Ym9vbGVhbikgPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgIGZ1bmN0aW9uIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkOkFycmF5PEt1YmVQb2Q+LCBuZXh0Okt1YmVQb2QpIHtcbiAgICAgICAgICAgICAgaWYgKG5leHQpIHtcbiAgICAgICAgICAgICAgICBsb2cuZGVidWcoXCJkZWxldGluZzogXCIsIGdldE5hbWUobmV4dCkpO1xuICAgICAgICAgICAgICAgIEt1YmVybmV0ZXNSZXBsaWNhdGlvbkNvbnRyb2xsZXJzLmRlbGV0ZSh7XG4gICAgICAgICAgICAgICAgICBpZDogZ2V0TmFtZShuZXh0KVxuICAgICAgICAgICAgICAgIH0sIHVuZGVmaW5lZCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgbG9nLmRlYnVnKFwiZGVsZXRlZDogXCIsIGdldE5hbWUobmV4dCkpO1xuICAgICAgICAgICAgICAgICAgZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIHNlbGVjdGVkLnNoaWZ0KCkpO1xuICAgICAgICAgICAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgbG9nLmRlYnVnKFwiRXJyb3IgZGVsZXRpbmc6IFwiLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICBkZWxldGVTZWxlY3RlZChzZWxlY3RlZCwgc2VsZWN0ZWQuc2hpZnQoKSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBzZWxlY3RlZC5zaGlmdCgpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiAnRGVsZXRlIHJlcGxpY2F0aW9uIGNvbnRyb2xsZXJzPycsXG4gICAgICAgIGFjdGlvbjogJ1RoZSBmb2xsb3dpbmcgcmVwbGljYXRpb24gY29udHJvbGxlcnMgd2lsbCBiZSBkZWxldGVkOicsXG4gICAgICAgIG9rVGV4dDogJ0RlbGV0ZScsXG4gICAgICAgIG9rQ2xhc3M6ICdidG4tZGFuZ2VyJyxcbiAgICAgICAgY3VzdG9tOiBcIlRoaXMgb3BlcmF0aW9uIGlzIHBlcm1hbmVudCBvbmNlIGNvbXBsZXRlZCFcIixcbiAgICAgICAgY3VzdG9tQ2xhc3M6IFwiYWxlcnQgYWxlcnQtd2FybmluZ1wiXG4gICAgICB9KS5vcGVuKCk7XG4gICAgfTtcbiAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNIZWxwZXJzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIFNlcnZpY2VDb250cm9sbGVyID0gY29udHJvbGxlcihcIlNlcnZpY2VDb250cm9sbGVyXCIsXG4gICAgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiS3ViZXJuZXRlc1N0YXRlXCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOiBLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UsIEt1YmVybmV0ZXNTdGF0ZSxcbiAgICAgICAkdGVtcGxhdGVDYWNoZTpuZy5JVGVtcGxhdGVDYWNoZVNlcnZpY2UsICRsb2NhdGlvbjpuZy5JTG9jYXRpb25TZXJ2aWNlLCAkcm91dGVQYXJhbXMsICRodHRwLCAkdGltZW91dCwgS3ViZXJuZXRlc0FwaVVSTCkgPT4ge1xuXG4gICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICRzY29wZS5yYXdNb2RlID0gZmFsc2U7XG4gICAgJHNjb3BlLnJhd01vZGVsID0gbnVsbDtcblxuICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcblxuICAgICRzY29wZS5pdGVtQ29uZmlnID0ge1xuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAnXlxcXFwvbGFiZWxzJCc6IHtcbiAgICAgICAgICB0ZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KCdsYWJlbFRlbXBsYXRlLmh0bWwnKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgICRzY29wZS4kb24oJ2t1YmVybmV0ZXNNb2RlbFVwZGF0ZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICB1cGRhdGVEYXRhKCk7XG4gICAgfSk7XG5cbiAgICAkc2NvcGUuJHdhdGNoKCdtb2RlbC5zZXJ2aWNlcycsIChuZXdWYWx1ZSwgb2xkVmFsdWUpID0+IHtcbiAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICB9LCB0cnVlKTtcblxuICAgICRzY29wZS4kb24oJyRyb3V0ZVVwZGF0ZScsICgkZXZlbnQpID0+IHtcbiAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICB9KTtcblxuICAgICRzY29wZS5mbGlwUmF3ID0gKCkgPT4ge1xuICAgICAgJHNjb3BlLnJhd01vZGUgPSAhJHNjb3BlLnJhd01vZGU7XG4gICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgIH07XG5cbiAgICB1cGRhdGVEYXRhKCk7XG5cbiAgICBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuICAgICAgJHNjb3BlLmlkID0gJHJvdXRlUGFyYW1zW1wiaWRcIl07XG4gICAgICAkc2NvcGUubmFtZXNwYWNlID0gJHJvdXRlUGFyYW1zW1wibmFtZXNwYWNlXCJdIHx8IEt1YmVybmV0ZXNTdGF0ZS5zZWxlY3RlZE5hbWVzcGFjZTtcbiAgICAgICRzY29wZS5pdGVtID0gJHNjb3BlLm1vZGVsLmdldFNlcnZpY2UoJHNjb3BlLm5hbWVzcGFjZSwgJHNjb3BlLmlkKTtcbiAgICAgIGlmICgkc2NvcGUuaXRlbSkge1xuICAgICAgICAkc2NvcGUucmF3TW9kZWwgPSB0b1Jhd0pzb24oJHNjb3BlLml0ZW0pO1xuICAgICAgfVxuICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICB9XG4gIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBTZXJ2aWNlRWRpdENvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiU2VydmljZUVkaXRDb250cm9sbGVyXCIsXG4gICAgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiS3ViZXJuZXRlc1N0YXRlXCIsIFwiS3ViZXJuZXRlc1NjaGVtYVwiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJGxvY2F0aW9uXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIiwgXCJTY2hlbWFSZWdpc3RyeVwiLFxuICAgICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOiBLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc1NjaGVtYSxcbiAgICAgICAkdGVtcGxhdGVDYWNoZTpuZy5JVGVtcGxhdGVDYWNoZVNlcnZpY2UsICRsb2NhdGlvbjpuZy5JTG9jYXRpb25TZXJ2aWNlLCAkcm91dGVQYXJhbXMsICRodHRwLCAkdGltZW91dCwgS3ViZXJuZXRlc0FwaVVSTCwgc2NoZW1hczpIYXd0aW9Gb3Jtcy5TY2hlbWFSZWdpc3RyeSkgPT4ge1xuXG4gICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICRzY29wZS5pZCA9ICRyb3V0ZVBhcmFtc1tcImlkXCJdO1xuICAgICRzY29wZS5zY2hlbWEgPSBLdWJlcm5ldGVzU2NoZW1hO1xuICAgICRzY29wZS5jb25maWcgPSBzY2hlbWFzLmNsb25lU2NoZW1hKFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZXJ2aWNlXCIpO1xuICAgIC8vJHNjb3BlLmNvbmZpZyA9IEt1YmVybmV0ZXNTY2hlbWEuZGVmaW5pdGlvbnMua3ViZXJuZXRlc192MWJldGEyX1NlcnZpY2U7XG5cbiAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG5cbiAgICAkc2NvcGUuJG9uKCckcm91dGVVcGRhdGUnLCAoJGV2ZW50KSA9PiB7XG4gICAgICB1cGRhdGVEYXRhKCk7XG4gICAgfSk7XG5cbiAgICB1cGRhdGVEYXRhKCk7XG5cbiAgICBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuICAgICAgaWYgKCRzY29wZS5pZCkge1xuICAgICAgICAkc2NvcGUuZW50aXR5ID0gJHNjb3BlLm1vZGVsLmdldFNlcnZpY2UoS3ViZXJuZXRlc1N0YXRlLnNlbGVjdGVkTmFtZXNwYWNlLCAkc2NvcGUuaWQpO1xuICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAkc2NvcGUuZmV0Y2hlZCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAkc2NvcGUuZmV0Y2hlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzTW9kZWwudHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBfbW9kdWxlLmZhY3RvcnkoJ1NlcnZpY2VSZWdpc3RyeScsIFsoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBTZXJ2aWNlUmVnaXN0cnlTZXJ2aWNlKCk7XG4gIH1dKTtcblxuICAvKipcbiAgICogUmVwcmVzZW50cyBhIHNpbXBsZSBpbnRlcmZhY2UgdG8gc2VydmljZSBkaXNjb3ZlcnkgdGhhdCBjYW4gYmUgdXNlZCBlYXJseSBvbiBpbiB0aGUgYXBwbGljYXRpb24gbGlmZWN5Y2xlIGJlZm9yZSB0aGVcbiAgICogdW5kZXJseWluZyBtb2RlbCBoYXMgYmVlbiBjcmVhdGVkIHZpYSBkZXBlbmRlbmN5IGluamVjdGlvblxuICAgKi9cbiAgZXhwb3J0IGNsYXNzIFNlcnZpY2VSZWdpc3RyeVNlcnZpY2Uge1xuICAgIHByaXZhdGUgbW9kZWw6S3ViZXJuZXRlc01vZGVsU2VydmljZSA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlcmUgaXMgYSBzZXJ2aWNlIGF2YWlsYWJsZSBmb3IgdGhlIGdpdmVuIElEIG9yIGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGhhc1NlcnZpY2Uoc2VydmljZU5hbWU6IHN0cmluZykge1xuICAgICAgcmV0dXJuIHRoaXMuZmluZFNlcnZpY2Uoc2VydmljZU5hbWUpID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHNlcnZpY2UgZm9yIHRoZSBnaXZlbiBzZXJ2aWNlIG5hbWUgKElEKSBvciBudWxsIGlmIGl0IGNhbm5vdCBiZSBmb3VuZFxuICAgICAqXG4gICAgICogQHBhcmFtIHNlcnZpY2VOYW1lIHRoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlIHRvIGxvb2sgZm9yXG4gICAgICogQHJldHVybiB7bnVsbH1cbiAgICAgKi9cbiAgICBwdWJsaWMgZmluZFNlcnZpY2Uoc2VydmljZU5hbWU6IHN0cmluZykge1xuICAgICAgdmFyIGFuc3dlciA9IG51bGw7XG4gICAgICBpZiAoc2VydmljZU5hbWUpIHtcbiAgICAgICAgdmFyIG1vZGVsID0gdGhpcy5nZXRNb2RlbCgpO1xuICAgICAgICBpZiAobW9kZWwpIHtcbiAgICAgICAgICB2YXIgbmFtZXNwYWNlID0gbW9kZWwuY3VycmVudE5hbWVzcGFjZSgpO1xuICAgICAgICAgIHJldHVybiBtb2RlbC5nZXRTZXJ2aWNlKG5hbWVzcGFjZSAsc2VydmljZU5hbWUpO1xuLypcbiAgICAgICAgVE9ETyBsZXRzIG9ubHkgbG9vayBpbiB0aGUgY3VycmVudCBuYW1lc3BhY2VcbiAgICAgICAgYW5ndWxhci5mb3JFYWNoKG1vZGVsLnNlcnZpY2VzLCAoc2VydmljZSkgPT4ge1xuICAgICAgICAgIGlmIChzZXJ2aWNlTmFtZSA9PT0gZ2V0TmFtZShzZXJ2aWNlKSkge1xuICAgICAgICAgICAgYW5zd2VyID0gc2VydmljZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuKi9cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGFuc3dlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBzZXJ2aWNlIGxpbmsgZm9yIHRoZSBnaXZlbiBzZXJ2aWNlIG5hbWVcbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZXJ2aWNlTmFtZSB0aGUgbmFtZSBvZiB0aGUgc2VydmljZVxuICAgICAqIEByZXR1cm4ge251bGx9XG4gICAgICovXG4gICAgcHVibGljIHNlcnZpY2VMaW5rKHNlcnZpY2VOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgdmFyIHNlcnZpY2UgPSB0aGlzLmZpbmRTZXJ2aWNlKHNlcnZpY2VOYW1lKTtcbiAgICAgIHJldHVybiBzZXJ2aWNlTGlua1VybChzZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1vZGVsKCk6S3ViZXJuZXRlc01vZGVsU2VydmljZSB7XG4gICAgICB2YXIgYW5zd2VyID0gdGhpcy5tb2RlbDtcbiAgICAgIC8vIGxldHMgYWxsb3cgbGF6eSBsb2FkIHNvIHdlIGNhbiBiZSBpbnZva2VkIGJlZm9yZSB0aGUgaW5qZWN0b3IgaGFzIGJlZW4gY3JlYXRlZFxuICAgICAgaWYgKCFhbnN3ZXIpIHtcbiAgICAgICAgdmFyIGluamVjdG9yID0gSGF3dGlvQ29yZS5pbmplY3RvcjtcbiAgICAgICAgaWYgKGluamVjdG9yKSB7XG4gICAgICAgICAgdGhpcy5tb2RlbCA9IGluamVjdG9yLmdldCgnS3ViZXJuZXRlc01vZGVsJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGFuc3dlciA9IHRoaXMubW9kZWw7XG4gICAgICByZXR1cm4gYW5zd2VyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNIZWxwZXJzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIFNlcnZpY2VzID0gY29udHJvbGxlcihcIlNlcnZpY2VzXCIsXG4gICAgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiS3ViZXJuZXRlc1NlcnZpY2VzXCIsIFwiS3ViZXJuZXRlc1BvZHNcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRsb2NhdGlvblwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcImpvbG9raWFcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOiBLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UsIEt1YmVybmV0ZXNTZXJ2aWNlczpuZy5yZXNvdXJjZS5JUmVzb3VyY2VDbGFzcywgS3ViZXJuZXRlc1BvZHM6bmcucmVzb3VyY2UuSVJlc291cmNlQ2xhc3MsIEt1YmVybmV0ZXNTdGF0ZSxcbiAgICAgICAkdGVtcGxhdGVDYWNoZTpuZy5JVGVtcGxhdGVDYWNoZVNlcnZpY2UsICRsb2NhdGlvbjpuZy5JTG9jYXRpb25TZXJ2aWNlLCAkcm91dGVQYXJhbXMsIGpvbG9raWE6Sm9sb2tpYS5JSm9sb2tpYSwgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG5cbiAgICBDb250cm9sbGVySGVscGVycy5iaW5kTW9kZWxUb1NlYXJjaFBhcmFtKCRzY29wZSwgJGxvY2F0aW9uLCAnbW9kZScsICdtb2RlJywgJ2xpc3QnKTtcblxuICAgICRzY29wZS50YWJsZUNvbmZpZyA9IHtcbiAgICAgIGRhdGE6ICdtb2RlbC5zZXJ2aWNlcycsXG4gICAgICBzaG93U2VsZWN0aW9uQ2hlY2tib3g6IHRydWUsXG4gICAgICBlbmFibGVSb3dDbGlja1NlbGVjdGlvbjogZmFsc2UsXG4gICAgICBtdWx0aVNlbGVjdDogdHJ1ZSxcbiAgICAgIHNlbGVjdGVkSXRlbXM6IFtdLFxuICAgICAgZmlsdGVyT3B0aW9uczoge1xuICAgICAgICBmaWx0ZXJUZXh0OiAkbG9jYXRpb24uc2VhcmNoKClbXCJxXCJdIHx8ICcnXG4gICAgICB9LFxuICAgICAgY29sdW1uRGVmczogW1xuICAgICAgICB7IGZpZWxkOiAnX2tleScsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdOYW1lJyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImlkVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICB9LFxuICAgICAgICB7IGZpZWxkOiAnJHNlcnZpY2VVcmwnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnQWRkcmVzcycsXG4gICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJwb3J0YWxBZGRyZXNzLmh0bWxcIilcbiAgICAgICAgfSxcbiAgICAgICAgeyBmaWVsZDogJyRwb2RDb3VudCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdQb2RzJyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcInBvZENvdW50c0FuZExpbmtUZW1wbGF0ZS5odG1sXCIpLFxuICAgICAgICAgIGN1c3RvbVNvcnRGaWVsZDogKGZpZWxkKSA9PiB7XG4gICAgICAgICAgICAvLyBuZWVkIHRvIGNvbmNhdCBhbGwgdGhlIHBvZCBjb3VudGVyc1xuICAgICAgICAgICAgdmFyIHZhbGlkID0gZmllbGQuJHBvZENvdW50ZXJzLnZhbGlkIHx8IDA7XG4gICAgICAgICAgICB2YXIgd2FpdGluZyA9IGZpZWxkLiRwb2RDb3VudGVycy53YWl0aW5nIHx8IDA7XG4gICAgICAgICAgICB2YXIgZXJyb3IgPSBmaWVsZC4kcG9kQ291bnRlcnMuZXJyb3IgfHwgMDtcbiAgICAgICAgICAgIHJldHVybiB2YWxpZCArIHdhaXRpbmcgKyBlcnJvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgZmllbGQ6ICckc2VsZWN0b3JUZXh0JyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ1NlbGVjdG9yJyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcInNlbGVjdG9yVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICB9LFxuICAgICAgICB7IGZpZWxkOiAnJGxhYmVsc1RleHQnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnTGFiZWxzJyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImxhYmVsVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcblxuICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcblxuICAgICRzY29wZS5kZWxldGVQcm9tcHQgPSAoc2VsZWN0ZWQpID0+IHtcbiAgICAgIGlmIChhbmd1bGFyLmlzU3RyaW5nKHNlbGVjdGVkKSkge1xuICAgICAgICBzZWxlY3RlZCA9IFt7XG4gICAgICAgICAgaWQ6IHNlbGVjdGVkXG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgICAgVUkubXVsdGlJdGVtQ29uZmlybUFjdGlvbkRpYWxvZyg8VUkuTXVsdGlJdGVtQ29uZmlybUFjdGlvbk9wdGlvbnM+e1xuICAgICAgICBjb2xsZWN0aW9uOiBzZWxlY3RlZCxcbiAgICAgICAgaW5kZXg6ICdtZXRhZGF0YS5uYW1lJyxcbiAgICAgICAgb25DbG9zZTogKHJlc3VsdDpib29sZWFuKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgZnVuY3Rpb24gZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQ6QXJyYXk8S3ViZVBvZD4sIG5leHQ6S3ViZVBvZCkge1xuICAgICAgICAgICAgICBpZiAobmV4dCkge1xuICAgICAgICAgICAgICAgIGxvZy5kZWJ1ZyhcImRlbGV0aW5nOiBcIiwgZ2V0TmFtZShuZXh0KSk7XG4gICAgICAgICAgICAgICAgS3ViZXJuZXRlc1NlcnZpY2VzLmRlbGV0ZSh7XG4gICAgICAgICAgICAgICAgICBpZDogZ2V0TmFtZShuZXh0KVxuICAgICAgICAgICAgICAgIH0sIHVuZGVmaW5lZCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgbG9nLmRlYnVnKFwiZGVsZXRlZDogXCIsIGdldE5hbWUobmV4dCkpO1xuICAgICAgICAgICAgICAgICAgZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIHNlbGVjdGVkLnNoaWZ0KCkpO1xuICAgICAgICAgICAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgbG9nLmRlYnVnKFwiRXJyb3IgZGVsZXRpbmc6IFwiLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICBkZWxldGVTZWxlY3RlZChzZWxlY3RlZCwgc2VsZWN0ZWQuc2hpZnQoKSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBzZWxlY3RlZC5zaGlmdCgpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiAnRGVsZXRlIHNlcnZpY2VzPycsXG4gICAgICAgIGFjdGlvbjogJ1RoZSBmb2xsb3dpbmcgc2VydmljZXMgd2lsbCBiZSBkZWxldGVkOicsXG4gICAgICAgIG9rVGV4dDogJ0RlbGV0ZScsXG4gICAgICAgIG9rQ2xhc3M6ICdidG4tZGFuZ2VyJyxcbiAgICAgICAgY3VzdG9tOiBcIlRoaXMgb3BlcmF0aW9uIGlzIHBlcm1hbmVudCBvbmNlIGNvbXBsZXRlZCFcIixcbiAgICAgICAgY3VzdG9tQ2xhc3M6IFwiYWxlcnQgYWxlcnQtd2FybmluZ1wiXG4gICAgICB9KS5vcGVuKCk7XG4gICAgfTtcblxuICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIC8vIGNvbnRyb2xsZXIgZm9yIHRoZSBzdGF0dXMgaWNvbiBjZWxsXG4gIGV4cG9ydCB2YXIgUG9kU3RhdHVzID0gY29udHJvbGxlcihcIlBvZFN0YXR1c1wiLCBbXCIkc2NvcGVcIiwgKCRzY29wZSkgPT4ge1xuICAgICRzY29wZS5zdGF0dXNNYXBwaW5nID0gKHRleHQpID0+IHtcbiAgICAgIHJldHVybiBzdGF0dXNUZXh0VG9Dc3NDbGFzcyh0ZXh0KTtcbiAgICB9XG4gIH1dKTtcblxuICAvLyBjb250cm9sbGVyIHRoYXQgZGVhbHMgd2l0aCB0aGUgbGFiZWxzIHBlciBwb2RcbiAgZXhwb3J0IHZhciBMYWJlbHMgPSBjb250cm9sbGVyKFwiTGFiZWxzXCIsIFtcIiRzY29wZVwiLCBcIndvcmtzcGFjZVwiLCBcImpvbG9raWFcIiwgXCIkbG9jYXRpb25cIiwgKCRzY29wZSwgd29ya3NwYWNlLCBqb2xva2lhLCAkbG9jYXRpb24pID0+IHtcbiAgICAkc2NvcGUubGFiZWxzID0gW107XG4gICAgdmFyIGxhYmVsS2V5V2VpZ2h0cyA9IHtcbiAgICAgIFwibmFtZVwiOiAxLFxuICAgICAgXCJyZXBsaWNhdGlvbkNvbnRyb2xsZXJcIjogMixcbiAgICAgIFwiZ3JvdXBcIjogM1xuICAgIH07XG4gICAgJHNjb3BlLiR3YXRjaCgnZW50aXR5JywgKG5ld1ZhbHVlLCBvbGRWYWx1ZSkgPT4ge1xuICAgICAgaWYgKG5ld1ZhbHVlKSB7XG4gICAgICAgIC8vIGxvZy5kZWJ1ZyhcImxhYmVsczogXCIsIG5ld1ZhbHVlKTtcbiAgICAgICAgLy8gbWFzc2FnZSB0aGUgbGFiZWxzIGEgYml0XG4gICAgICAgICRzY29wZS5sYWJlbHMgPSBbXTtcbiAgICAgICAgYW5ndWxhci5mb3JFYWNoKENvcmUucGF0aEdldCgkc2NvcGUuZW50aXR5LCBbXCJtZXRhZGF0YVwiLCBcImxhYmVsc1wiXSksICh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgaWYgKGtleSA9PT0gJ2ZhYnJpYzgnKSB7XG4gICAgICAgICAgICAvLyBUT0RPIG5vdCBzdXJlIHdoYXQgdGhpcyBpcyBmb3IsIHRoZSBjb250YWluZXIgdHlwZT9cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgJHNjb3BlLmxhYmVscy5wdXNoKHtcbiAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgdGl0bGU6IHZhbHVlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vICBsZXRzIHNvcnQgYnkga2V5IGJ1dCBsZXRzIG1ha2Ugc3VyZSB0aGF0IHdlIHdlaWdodCBjZXJ0YWluIGxhYmVscyBzbyB0aGV5IGFyZSBmaXJzdFxuICAgICAgICAkc2NvcGUubGFiZWxzID0gJHNjb3BlLmxhYmVscy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgICAgZnVuY3Rpb24gZ2V0V2VpZ2h0KGtleSkge1xuICAgICAgICAgICAgcmV0dXJuIGxhYmVsS2V5V2VpZ2h0c1trZXldIHx8IDEwMDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBuMSA9IGFbXCJrZXlcIl07XG4gICAgICAgICAgdmFyIG4yID0gYltcImtleVwiXTtcbiAgICAgICAgICB2YXIgdzEgPSBnZXRXZWlnaHQobjEpO1xuICAgICAgICAgIHZhciB3MiA9IGdldFdlaWdodChuMik7XG4gICAgICAgICAgdmFyIGRpZmYgPSB3MSAtIHcyO1xuICAgICAgICAgIGlmIChkaWZmIDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZGlmZiA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobjEgJiYgbjIpIHtcbiAgICAgICAgICAgIGlmIChuMSA+IG4yKSB7XG4gICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChuMSA8IG4yKSB7XG4gICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAobjEgPT09IG4yKSB7XG4gICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChuMSkge1xuICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgJHNjb3BlLmhhbmRsZUNsaWNrID0gKGVudGl0eSwgbGFiZWxUeXBlOnN0cmluZywgdmFsdWUpID0+IHtcbiAgICAgIC8vIGxvZy5kZWJ1ZyhcImhhbmRsZUNsaWNrLCBlbnRpdHk6IFwiLCBlbnRpdHksIFwiIGtleTogXCIsIGxhYmVsVHlwZSwgXCIgdmFsdWU6IFwiLCB2YWx1ZSk7XG4gICAgICB2YXIgZmlsdGVyVGV4dFNlY3Rpb24gPSBsYWJlbFR5cGUgKyBcIj1cIiArIHZhbHVlLnRpdGxlO1xuICAgICAgJHNjb3BlLiRlbWl0KCdsYWJlbEZpbHRlclVwZGF0ZScsIGZpbHRlclRleHRTZWN0aW9uKTtcbiAgICB9O1xuXG4gICAgJHNjb3BlLmxhYmVsQ2xhc3MgPSBjb250YWluZXJMYWJlbENsYXNzO1xuICB9XSk7XG5cbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG4gIGV4cG9ydCB2YXIgVGVtcGxhdGVDb250cm9sbGVyID0gY29udHJvbGxlcihcIlRlbXBsYXRlQ29udHJvbGxlclwiLCBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCIkbG9jYXRpb25cIiwgXCJtYXJrZWRcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRtb2RhbFwiLCAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWwsICRsb2NhdGlvbiwgbWFya2VkLCAkdGVtcGxhdGVDYWNoZSwgJG1vZGFsKSA9PiB7XG4gICAgdmFyIG1vZGVsID0gJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICRzY29wZS5maWx0ZXJUZXh0ID0gXCJcIjtcblxuICAgICRzY29wZS53YXRjaCA9IHdhdGNoZXNbV2F0Y2hUeXBlcy5URU1QTEFURVNdO1xuXG4gICAgcmVsb2FkRGF0YUlmTm9XYXRjaCgpO1xuXG5cbiAgICAkc2NvcGUuJHdhdGNoQ29sbGVjdGlvbignbW9kZWwubmFtZXNwYWNlcycsICgpID0+IHtcbiAgICAgIGlmICghJHNjb3BlLnRhcmdldE5hbWVzcGFjZSkge1xuICAgICAgICAkc2NvcGUudGFyZ2V0TmFtZXNwYWNlID0gbW9kZWwuY3VycmVudE5hbWVzcGFjZSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdmFyIHJldHVyblRvID0gbmV3IFVSSSgkbG9jYXRpb24uc2VhcmNoKClbJ3JldHVyblRvJ10gfHwgJy9rdWJlcm5ldGVzL2FwcHMnKTtcblxuICAgIGZ1bmN0aW9uIGdvQmFjaygpIHtcbiAgICAgICRsb2NhdGlvbi5wYXRoKHJldHVyblRvLnBhdGgoKSkuc2VhcmNoKHJldHVyblRvLnF1ZXJ5KHRydWUpKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRBbm5vdGF0aW9ucyhvYmopIHtcbiAgICAgIHJldHVybiBDb3JlLnBhdGhHZXQob2JqLCBbJ21ldGFkYXRhJywgJ2Fubm90YXRpb25zJ10pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFZhbHVlRm9yKG9iaiwga2V5KSB7XG4gICAgICB2YXIgYW5ub3RhdGlvbnMgPSBnZXRBbm5vdGF0aW9ucyhvYmopO1xuICAgICAgaWYgKCFhbm5vdGF0aW9ucykge1xuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgIH1cbiAgICAgIHZhciBuYW1lID0gZ2V0TmFtZShvYmopO1xuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgdmFyIGZ1bGxLZXkgPSBcImZhYnJpYzguXCIgKyBuYW1lICsgXCIvXCIgKyBrZXk7XG4gICAgICAgIHZhciBhbnN3ZXIgPSBhbm5vdGF0aW9uc1tmdWxsS2V5XTtcbiAgICAgICAgaWYgKGFuc3dlcikge1xuICAgICAgICAgIHJldHVybiBhbnN3ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHZhciBrZXk6IGFueSA9IF8uZmluZChfLmtleXMoYW5ub3RhdGlvbnMpLCAoazogc3RyaW5nKSA9PiBfLmVuZHNXaXRoKGssIGtleSkpO1xuICAgICAgaWYgKGtleSkge1xuICAgICAgICByZXR1cm4gYW5ub3RhdGlvbnNba2V5XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgICRzY29wZS5jYW5jZWwgPSAoKSA9PiB7XG4gICAgICBpZiAoJHNjb3BlLmZvcm1Db25maWcpIHtcbiAgICAgICAgZGVsZXRlICRzY29wZS5mb3JtQ29uZmlnO1xuICAgICAgICBkZWxldGUgJHNjb3BlLmVudGl0eTtcbiAgICAgICAgJHNjb3BlLm9iamVjdHMgPSB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGdvQmFjaygpO1xuICAgIH1cblxuICAgIC8qXG4gICAgJHNjb3BlLiR3YXRjaCgnbW9kZWwudGVtcGxhdGVzLmxlbmd0aCcsIChuZXdWYWx1ZSkgPT4ge1xuICAgICAgaWYgKG5ld1ZhbHVlID09PSAwKSB7XG4gICAgICAgIGdvQmFjaygpO1xuICAgICAgfVxuICAgIH0pO1xuICAgICovXG5cbiAgICAkc2NvcGUuZmlsdGVyVGVtcGxhdGVzID0gKHRlbXBsYXRlKSA9PiB7XG4gICAgICBpZiAoQ29yZS5pc0JsYW5rKCRzY29wZS5maWx0ZXJUZXh0KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBfLmNvbnRhaW5zKGFuZ3VsYXIudG9Kc29uKHRlbXBsYXRlKSwgJHNjb3BlLmZpbHRlclRleHQudG9Mb3dlckNhc2UoKSk7XG4gICAgfTtcblxuICAgICRzY29wZS5vcGVuRnVsbERlc2NyaXB0aW9uID0gKHRlbXBsYXRlKSA9PiB7XG4gICAgICB2YXIgdGV4dCA9IG1hcmtlZChnZXRWYWx1ZUZvcih0ZW1wbGF0ZSwgJ2Rlc2NyaXB0aW9uJykgfHwgJ05vIGRlc2NyaXB0aW9uJyk7XG4gICAgICB2YXIgbW9kYWwgPSAkbW9kYWwub3Blbih7XG4gICAgICAgIHRlbXBsYXRlVXJsOiBVcmxIZWxwZXJzLmpvaW4odGVtcGxhdGVQYXRoLCAndGVtcGxhdGVEZXNjcmlwdGlvbi5odG1sJyksXG4gICAgICAgIGNvbnRyb2xsZXI6IFsnJHNjb3BlJywgJyRtb2RhbEluc3RhbmNlJywgKCRzY29wZSwgJG1vZGFsSW5zdGFuY2UpID0+IHtcbiAgICAgICAgICAkc2NvcGUudGV4dCA9IHRleHQsXG4gICAgICAgICAgJHNjb3BlLm9rID0gKCkgPT4ge1xuICAgICAgICAgICAgbW9kYWwuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1dXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgJHNjb3BlLmdldERlc2NyaXB0aW9uID0gKHRlbXBsYXRlKSA9PiB7XG4gICAgICB2YXIgYW5zd2VyOmFueSA9ICQobWFya2VkKGdldFZhbHVlRm9yKHRlbXBsYXRlLCAnZGVzY3JpcHRpb24nKSB8fCAnTm8gZGVzY3JpcHRpb24nKSk7XG4gICAgICB2YXIgdGV4dERlZmF1bHQgPSBhbnN3ZXIuaHRtbCgpO1xuICAgICAgdmFyIG1heExlbmd0aCA9IDIwMDtcbiAgICAgIGlmICh0ZXh0RGVmYXVsdC5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgICAgdmFyIHRydW5jYXRlZCA9ICQudHJpbSh0ZXh0RGVmYXVsdCkuc3Vic3RyaW5nKDAsIG1heExlbmd0aCkuc3BsaXQoJyAnKS5zbGljZSgwLCAtMSkuam9pbignICcpO1xuICAgICAgICBhbnN3ZXIuaHRtbCh0cnVuY2F0ZWQgKyAnLi4uJyk7XG4gICAgICAgIGFuc3dlci5hcHBlbmQoJHRlbXBsYXRlQ2FjaGUuZ2V0KCd0cnVuY2F0ZWREZXNjcmlwdGlvblRhZy5odG1sJykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFuc3dlci5odG1sKCk7XG4gICAgfTtcblxuICAgICRzY29wZS5nZXRJY29uVXJsID0gKHRlbXBsYXRlKSA9PiB7XG4gICAgICByZXR1cm4gZ2V0VmFsdWVGb3IodGVtcGxhdGUsICdpY29uVXJsJykgfHwgZGVmYXVsdEljb25Vcmw7XG4gICAgfTtcblxuICAgICRzY29wZS5kZXBsb3lUZW1wbGF0ZSA9ICh0ZW1wbGF0ZSkgPT4ge1xuICAgICAgbG9nLmRlYnVnKFwiVGVtcGxhdGUgcGFyYW1ldGVyczogXCIsIHRlbXBsYXRlLnBhcmFtZXRlcnMpO1xuICAgICAgbG9nLmRlYnVnKFwiVGVtcGxhdGUgb2JqZWN0czogXCIsIHRlbXBsYXRlLm9iamVjdHMpO1xuICAgICAgbG9nLmRlYnVnKFwiVGVtcGxhdGUgYW5ub3RhdGlvbnM6IFwiLCB0ZW1wbGF0ZS5tZXRhZGF0YS5hbm5vdGF0aW9ucyk7XG4gICAgICB2YXIgdGVtcGxhdGVBbm5vdGF0aW9ucyA9IHRlbXBsYXRlLm1ldGFkYXRhLmFubm90YXRpb25zO1xuICAgICAgaWYgKHRlbXBsYXRlQW5ub3RhdGlvbnMpIHtcbiAgICAgICAgXy5mb3JFYWNoKHRlbXBsYXRlLm9iamVjdHMsIChvYmplY3Q6YW55KSA9PiB7XG4gICAgICAgICAgdmFyIGFubm90YXRpb25zID0gb2JqZWN0Lm1ldGFkYXRhLmFubm90YXRpb25zIHx8IHt9O1xuICAgICAgICAgIHZhciBuYW1lID0gZ2V0TmFtZShvYmplY3QpO1xuICAgICAgICAgIHZhciBtYXRjaGVzID0gXy5maWx0ZXIoXy5rZXlzKHRlbXBsYXRlQW5ub3RhdGlvbnMpLCAoa2V5KSA9PiBrZXkubWF0Y2goJy4nICsgbmFtZSArICcvJykpO1xuICAgICAgICAgIG1hdGNoZXMuZm9yRWFjaCgobWF0Y2gpID0+IHtcbiAgICAgICAgICAgIGlmICghKG1hdGNoIGluIGFubm90YXRpb25zKSkge1xuICAgICAgICAgICAgICBhbm5vdGF0aW9uc1ttYXRjaF0gPSB0ZW1wbGF0ZUFubm90YXRpb25zW21hdGNoXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBvYmplY3QubWV0YWRhdGEuYW5ub3RhdGlvbnMgPSBhbm5vdGF0aW9ucztcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB2YXIgcm91dGVTZXJ2aWNlTmFtZSA9IDxzdHJpbmc+IHVuZGVmaW5lZDtcbiAgICAgIHZhciBzZXJ2aWNlID0gXy5maW5kKHRlbXBsYXRlLm9iamVjdHMsIChvYmopID0+IHtcbiAgICAgICAgaWYgKGdldEtpbmQob2JqKSA9PT0gXCJTZXJ2aWNlXCIpIHtcbiAgICAgICAgICB2YXIgcG9ydHMgPSBnZXRQb3J0cyhvYmopO1xuICAgICAgICAgIGlmIChwb3J0cyAmJiBwb3J0cy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaWYgKHNlcnZpY2UpIHtcbiAgICAgICAgcm91dGVTZXJ2aWNlTmFtZSA9IGdldE5hbWUoc2VydmljZSk7XG4gICAgICB9XG4gICAgICBsb2cuZGVidWcoXCJTZXJ2aWNlOiBcIiwgc2VydmljZSk7XG4gICAgICBpZiAoKCFyb3V0ZVNlcnZpY2VOYW1lIHx8ICFpc09wZW5TaGlmdCkgJiYgKCF0ZW1wbGF0ZS5wYXJhbWV0ZXJzIHx8IHRlbXBsYXRlLnBhcmFtZXRlcnMubGVuZ3RoID09PSAwKSkge1xuICAgICAgICBsb2cuZGVidWcoXCJObyBwYXJhbWV0ZXJzIHJlcXVpcmVkLCBkZXBsb3lpbmcgb2JqZWN0c1wiKTtcbiAgICAgICAgYXBwbHlPYmplY3RzKHRlbXBsYXRlLm9iamVjdHMpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB2YXIgZm9ybUNvbmZpZyA9IHtcbiAgICAgICAgc3R5bGU6IEhhd3Rpb0Zvcm1zLkZvcm1TdHlsZS5TVEFOREFSRCxcbiAgICAgICAgaGlkZUxlZ2VuZDogdHJ1ZSxcbiAgICAgICAgcHJvcGVydGllczogPGFueT4ge31cbiAgICAgIH07XG4gICAgICB2YXIgcGFyYW1zID0gdGVtcGxhdGUucGFyYW1ldGVycztcbiAgICAgIF8uZm9yRWFjaChwYXJhbXMsIChwYXJhbTphbnkpID0+IHtcbiAgICAgICAgdmFyIHByb3BlcnR5ID0gPGFueT4ge307XG4gICAgICAgIHByb3BlcnR5LmxhYmVsID0gcGFyYW0ubmFtZS50aXRsZWl6ZSgpO1xuICAgICAgICBwcm9wZXJ0eS5kZXNjcmlwdGlvbiA9IHBhcmFtLmRlc2NyaXB0aW9uO1xuICAgICAgICBwcm9wZXJ0eS5kZWZhdWx0ID0gcGFyYW0udmFsdWU7XG4gICAgICAgIC8vIFRPRE8sIGRvIHBhcmFtZXRlcnMgc3VwcG9ydCB0eXBlcz9cbiAgICAgICAgcHJvcGVydHkudHlwZSA9ICdzdHJpbmcnO1xuICAgICAgICBmb3JtQ29uZmlnLnByb3BlcnRpZXNbcGFyYW0ubmFtZV0gPSBwcm9wZXJ0eTtcbiAgICAgIH0pO1xuICAgICAgaWYgKHJvdXRlU2VydmljZU5hbWUgJiYgaXNPcGVuU2hpZnQpIHtcbiAgICAgICAgZm9ybUNvbmZpZy5wcm9wZXJ0aWVzLmNyZWF0ZVJvdXRlID0ge1xuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgICAgIGxhYmVsOiBcIkNyZWF0ZSBSb3V0ZVwiXG4gICAgICAgIH07XG4vKlxuICAgICAgICBmb3JtQ29uZmlnLnByb3BlcnRpZXMucm91dGVOYW1lID0ge1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGxhYmVsOiAnUm91dGUgTmFtZScsXG4gICAgICAgICAgZGVmYXVsdDogcm91dGVTZXJ2aWNlTmFtZSxcbiAgICAgICAgICAnY29udHJvbC1ncm91cC1hdHRyaWJ1dGVzJzoge1xuICAgICAgICAgICAgJ25nLXNob3cnOiAnZW50aXR5LmNyZWF0ZVJvdXRlJ1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiovXG4gICAgICAgIGZvcm1Db25maWcucHJvcGVydGllcy5yb3V0ZVNlcnZpY2VOYW1lID0ge1xuICAgICAgICAgIHR5cGU6ICdoaWRkZW4nLFxuICAgICAgICAgIGRlZmF1bHQ6IHJvdXRlU2VydmljZU5hbWVcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBuYW1lc3BhY2UgPSBjdXJyZW50S3ViZXJuZXRlc05hbWVzcGFjZSgpO1xuICAgICAgICAvLyBUT0RPIHN0b3JlIHRoaXMgaW4gbG9jYWxTdG9yYWdlIVxuICAgICAgICB2YXIgZG9tYWluID0gXCJ2YWdyYW50LmY4XCI7XG4gICAgICAgIHZhciBkZWZhdWx0Um91dGVIb3N0U3VmZml4ID0gJy4nICsgKG5hbWVzcGFjZSA9PT0gXCJkZWZhdWx0XCIgPyBcIlwiIDogbmFtZXNwYWNlICsgXCIuXCIpICsgZG9tYWluO1xuICAgICAgICBmb3JtQ29uZmlnLnByb3BlcnRpZXMucm91dGVIb3N0bmFtZSA9IHtcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBkZWZhdWx0OiBkZWZhdWx0Um91dGVIb3N0U3VmZml4LFxuICAgICAgICAgIGxhYmVsOiBcIlJvdXRlIGhvc3QgbmFtZSBzdWZmaXhcIixcbiAgICAgICAgICAnY29udHJvbC1ncm91cC1hdHRyaWJ1dGVzJzoge1xuICAgICAgICAgICAgJ25nLXNob3cnOiAnZW50aXR5LmNyZWF0ZVJvdXRlJ1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgICRzY29wZS5lbnRpdHkgPSA8YW55PiB7fTtcbiAgICAgICRzY29wZS5mb3JtQ29uZmlnID0gZm9ybUNvbmZpZztcbiAgICAgICRzY29wZS5vYmplY3RzID0gdGVtcGxhdGUub2JqZWN0cztcbiAgICAgIGxvZy5kZWJ1ZyhcIkZvcm0gY29uZmlnOiBcIiwgZm9ybUNvbmZpZyk7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIHN1YnN0aXR1dGUoc3RyLCBkYXRhKSB7XG4gICAgICByZXR1cm4gc3RyLnJlcGxhY2UoL1xcJHtcXHcqfS9nLCAobWF0Y2gpID0+IHtcbiAgICAgICAgdmFyIGtleSA9IG1hdGNoLnJlcGxhY2UoL1xcJHsvLCAnJykucmVwbGFjZSgvfS8sICcnKS50cmltKCk7XG4gICAgICAgIHJldHVybiBkYXRhW2tleV0gfHwgbWF0Y2g7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgJHNjb3BlLnN1YnN0aXR1dGVBbmREZXBsb3lUZW1wbGF0ZSA9ICgpID0+IHtcbiAgICAgIHZhciBvYmplY3RzID0gJHNjb3BlLm9iamVjdHM7XG4gICAgICB2YXIgb2JqZWN0c1RleHQgPSBhbmd1bGFyLnRvSnNvbihvYmplY3RzLCB0cnVlKTtcbiAgICAgIC8vIHB1bGwgdGhlc2Ugb3V0IG9mIHRoZSBlbnRpdHkgb2JqZWN0IHNvIHRoZXkncmUgbm90IHVzZWQgaW4gc3Vic3RpdHV0aW9uc1xuICAgICAgdmFyIGNyZWF0ZVJvdXRlID0gJHNjb3BlLmVudGl0eS5jcmVhdGVSb3V0ZTtcbiAgICAgIHZhciByb3V0ZUhvc3RuYW1lU3VmZml4ID0gJHNjb3BlLmVudGl0eS5yb3V0ZUhvc3RuYW1lIHx8IFwiXCI7XG4gICAgICB2YXIgcm91dGVOYW1lID0gJHNjb3BlLmVudGl0eS5yb3V0ZU5hbWU7XG4gICAgICB2YXIgcm91dGVTZXJ2aWNlTmFtZSA9ICRzY29wZS5lbnRpdHkucm91dGVTZXJ2aWNlTmFtZTtcbiAgICAgIGRlbGV0ZSAkc2NvcGUuZW50aXR5LmNyZWF0ZVJvdXRlO1xuICAgICAgZGVsZXRlICRzY29wZS5lbnRpdHkucm91dGVIb3N0bmFtZTtcbiAgICAgIGRlbGV0ZSAkc2NvcGUuZW50aXR5LnJvdXRlTmFtZTtcbiAgICAgIGRlbGV0ZSAkc2NvcGUuZW50aXR5LnJvdXRlU2VydmljZU5hbWU7XG4gICAgICBvYmplY3RzVGV4dCA9IHN1YnN0aXR1dGUob2JqZWN0c1RleHQsICRzY29wZS5lbnRpdHkpO1xuICAgICAgb2JqZWN0cyA9IGFuZ3VsYXIuZnJvbUpzb24ob2JqZWN0c1RleHQpO1xuICAgICAgaWYgKGNyZWF0ZVJvdXRlKSB7XG4gICAgICAgIHZhciByb3V0ZXMgPSBbXTtcbiAgICAgICAgYW5ndWxhci5mb3JFYWNoKG9iamVjdHMsIChvYmplY3QpID0+IHtcbiAgICAgICAgICB2YXIga2luZCA9IG9iamVjdC5raW5kO1xuICAgICAgICAgIHZhciBuYW1lID0gZ2V0TmFtZShvYmplY3QpO1xuICAgICAgICAgIGlmIChuYW1lICYmIFwiU2VydmljZVwiID09PSBraW5kKSB7XG4gICAgICAgICAgICB2YXIgcm91dGVIb3N0bmFtZSA9IG5hbWUgKyByb3V0ZUhvc3RuYW1lU3VmZml4O1xuICAgICAgICAgICAgdmFyIHJvdXRlID0ge1xuICAgICAgICAgICAgICBraW5kOiBcIlJvdXRlXCIsXG4gICAgICAgICAgICAgIGFwaVZlcnNpb246IGRlZmF1bHRPU0FwaVZlcnNpb24sXG4gICAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgc3BlYzoge1xuICAgICAgICAgICAgICAgIGhvc3Q6IHJvdXRlSG9zdG5hbWUsXG4gICAgICAgICAgICAgICAgdG86IHtcbiAgICAgICAgICAgICAgICAgIGtpbmQ6IFwiU2VydmljZVwiLFxuICAgICAgICAgICAgICAgICAgbmFtZTogbmFtZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm91dGVzLnB1c2gocm91dGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIG9iamVjdHMgPSBvYmplY3RzLmNvbmNhdChyb3V0ZXMpO1xuICAgICAgfVxuICAgICAgaWYgKCRzY29wZS50YXJnZXROYW1lc3BhY2UgIT09IG1vZGVsLmN1cnJlbnROYW1lc3BhY2UoKSkge1xuICAgICAgICAkc2NvcGUuJG9uKCdXYXRjaGVyTmFtZXNwYWNlQ2hhbmdlZCcsICgpID0+IHtcbiAgICAgICAgICBsb2cuZGVidWcoXCJOYW1lc3BhY2UgY2hhbmdlZFwiKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHJlbG9hZERhdGFJZk5vV2F0Y2goKTtcbiAgICAgICAgICAgIGFwcGx5T2JqZWN0cyhvYmplY3RzKTtcbiAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgfSwgNTAwKTtcbiAgICAgICAgfSk7XG4gICAgICAgIENvcmUubm90aWZpY2F0aW9uKCdpbmZvJywgXCJTd2l0Y2hpbmcgdG8gbmFtZXNwYWNlIFwiICsgJHNjb3BlLnRhcmdldE5hbWVzcGFjZSArIFwiIGFuZCBkZXBsb3lpbmcgdGVtcGxhdGVcIik7XG4gICAgICAgIG1vZGVsLmt1YmVybmV0ZXMuc2VsZWN0ZWROYW1lc3BhY2UgPSAkc2NvcGUudGFyZ2V0TmFtZXNwYWNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXBwbHlPYmplY3RzKG9iamVjdHMpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBmdW5jdGlvbiBhcHBseU9iamVjdHMob2JqZWN0cykge1xuICAgICAgXy5mb3JFYWNoKG9iamVjdHMsIChvYmplY3Q6YW55KSA9PiB7XG4gICAgICAgIGxvZy5kZWJ1ZyhcIk9iamVjdDogXCIsIG9iamVjdCk7XG4gICAgICAgIHVwZGF0ZU9yQ3JlYXRlT2JqZWN0KG9iamVjdCwgS3ViZXJuZXRlc01vZGVsKTtcbiAgICAgIH0pO1xuICAgICAgZ29CYWNrKCk7XG4gICAgfVxuXG4gICAgJHNjb3BlLmRlbGV0ZVRlbXBsYXRlID0gKHRlbXBsYXRlKSA9PiB7XG4gICAgICBVSS5tdWx0aUl0ZW1Db25maXJtQWN0aW9uRGlhbG9nKDxVSS5NdWx0aUl0ZW1Db25maXJtQWN0aW9uT3B0aW9ucz57XG4gICAgICAgIGNvbGxlY3Rpb246IFt0ZW1wbGF0ZV0sXG4gICAgICAgIGluZGV4OiAnbWV0YWRhdGEubmFtZScsXG4gICAgICAgIG9uQ2xvc2U6IChyZXN1bHQ6Ym9vbGVhbikgPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgIEt1YmVybmV0ZXNNb2RlbFsndGVtcGxhdGVzUmVzb3VyY2UnXS5kZWxldGUoe1xuICAgICAgICAgICAgICBpZDogdGVtcGxhdGUubWV0YWRhdGEubmFtZVxuICAgICAgICAgICAgfSwgdW5kZWZpbmVkLCAoKSA9PiB7XG4gICAgICAgICAgICAgIEt1YmVybmV0ZXNNb2RlbFsndGVtcGxhdGVzUmVzb3VyY2UnXS5xdWVyeSgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIEt1YmVybmV0ZXNNb2RlbC50ZW1wbGF0ZXMgPSBkYXRhLml0ZW1zO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICBsb2cuZGVidWcoXCJFcnJvciBkZWxldGluZyB0ZW1wbGF0ZTogXCIsIGVycm9yKTsgXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiAnRGVsZXRlIFRlbXBsYXRlPycsXG4gICAgICAgIGFjdGlvbjogJ1RoZSBmb2xsb3dpbmcgdGVtcGxhdGUgd2lsbCBiZSBkZWxldGVkOicsXG4gICAgICAgIG9rVGV4dDogJ0RlbGV0ZScsXG4gICAgICAgIG9rQ2xhc3M6ICdidG4tZGFuZ2VyJyxcbiAgICAgICAgY3VzdG9tOiBcIlRoaXMgb3BlcmF0aW9uIGlzIHBlcm1hbmVudCBvbmNlIGNvbXBsZXRlZCFcIixcbiAgICAgICAgY3VzdG9tQ2xhc3M6IFwiYWxlcnQgYWxlcnQtd2FybmluZ1wiXG4gICAgICB9KS5vcGVuKCk7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIHJlbG9hZERhdGFJZk5vV2F0Y2goKSB7XG4gICAgICBpZiAoISRzY29wZS53YXRjaCB8fCAhJHNjb3BlLndhdGNoLmNvbm5lY3RlZCkge1xuICAgICAgICAvLyBUT0RPIHJlZ2lzdGVyIGEgaGFuZGxlciBvZiBiYWQgd2F0Y2hlcyBzbyB3ZSBpbnZva2UgdGhpcyBpbiBhIHBvbGxpbmcgZm9ybSBhdXRvbWF0aWNhbGx5P1xuICAgICAgICBtb2RlbC50ZW1wbGF0ZXNSZXNvdXJjZS5xdWVyeSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UpIHtcbiAgICAgICAgICAgIHZhciBpdGVtcyA9IHJlc3BvbnNlLml0ZW1zO1xuICAgICAgICAgICAgbW9kZWwudGVtcGxhdGVzID0gaXRlbXM7XG4gICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XSk7XG59XG5cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG4gIHZhciBsb2cgPSBMb2dnZXIuZ2V0KCdrdWJlcm5ldGVzLXdhdGNoZXInKTtcbiAgdmFyIGFwaVVybCA9IFVybEhlbHBlcnMuam9pbignYXBpJywgJ3YxJyk7XG5cbiAgdmFyIG5hbWVzcGFjZVR5cGUgPSBXYXRjaFR5cGVzLk5BTUVTUEFDRVM7XG5cbiAgdmFyIGs4c1R5cGVzID0gTmFtZXNwYWNlZFR5cGVzLms4c1R5cGVzO1xuICB2YXIgb3NUeXBlcyAgPSBOYW1lc3BhY2VkVHlwZXMub3NUeXBlcztcblxuICB2YXIgYmFzZVdhdGNoID0gPGFueT4ge1xuICAgIHVybDogPHN0cmluZz4gdW5kZWZpbmVkLFxuICAgIGNvbm5lY3RUaW1lOiA8TnVtYmVyPiB1bmRlZmluZWQsXG4gICAgb2JqZWN0czogPE9iamVjdE1hcD4ge30sXG4gICAgb2JqZWN0QXJyYXk6IDxBcnJheTxhbnk+PiBbXSxcbiAgICBjdXN0b21pemVyczogPEFycmF5PChvYmo6YW55KSA9PiB2b2lkPj5bXSxcbiAgICBvbkFkZEFjdGlvbnM6IDxBcnJheTwob2JqOmFueSkgPT4gdm9pZD4+IFtdLFxuICAgIG9uTW9kaWZpZWRBY3Rpb25zOiA8QXJyYXk8KG9iajphbnkpID0+IHZvaWQ+PiBbXSxcbiAgICBvbkRlbGV0ZWRBY3Rpb25zOiA8QXJyYXk8KG9iajphbnkpID0+IHZvaWQ+PiBbXSxcbiAgICBzb2NrZXQ6IDxXZWJTb2NrZXQ+IHVuZGVmaW5lZCxcbiAgICBjb25uZWN0ZWQ6IGZhbHNlXG4gIH1cblxuICB2YXIgbmFtZXNwYWNlV2F0Y2ggPSA8YW55PiBfLmFzc2lnbihfLmNsb25lRGVlcChiYXNlV2F0Y2gpLCB7XG4gICAgc2VsZWN0ZWQ6IHVuZGVmaW5lZCxcbiAgICBjb25uZWN0VGltZTogPE51bWJlcj4gdW5kZWZpbmVkLFxuICAgIHVybDogVXJsSGVscGVycy5qb2luKGFwaVVybCwgV2F0Y2hUeXBlcy5OQU1FU1BBQ0VTKSxcbiAgfSk7XG5cbiAgZXhwb3J0IHZhciB3YXRjaGVzID0gPGFueT4ge307XG4gIF8uZm9yRWFjaChrOHNUeXBlcywgKHR5cGUpID0+IHtcbiAgICB3YXRjaGVzW3R5cGVdID0gXy5hc3NpZ24oXy5jbG9uZURlZXAoYmFzZVdhdGNoKSwge1xuICAgICAgcHJlZml4OiAoKSA9PiBrdWJlcm5ldGVzQXBpUHJlZml4KCksXG4gICAgICB2YWxpZDogKCkgPT4gdHJ1ZVxuICAgIH0pO1xuICB9KTtcbiAgXy5mb3JFYWNoKG9zVHlwZXMsICh0eXBlKSA9PiB7XG4gICAgd2F0Y2hlc1t0eXBlXSA9IF8uYXNzaWduKF8uY2xvbmVEZWVwKGJhc2VXYXRjaCksIHtcbiAgICAgIHByZWZpeDogKCkgPT4gb3BlbnNoaWZ0QXBpUHJlZml4KCksXG4gICAgICB2YWxpZDogKCkgPT4gaXNPcGVuU2hpZnQgfHwgKHR5cGUgPT09IFwidGVtcGxhdGVzXCIgfHwgdHlwZSA9PT0gXCJidWlsZGNvbmZpZ3NcIilcbiAgICB9KTtcbiAgfSk7XG5cbiAgaGF3dGlvUGx1Z2luTG9hZGVyLnJlZ2lzdGVyUHJlQm9vdHN0cmFwVGFzayh7XG4gICAgbmFtZTogJ0t1YmVybmV0ZXNXYXRjaGVySW5pdCcsXG4gICAgZGVwZW5kczogWydoYXd0aW8tb2F1dGgnXSxcbiAgICB0YXNrOiAobmV4dCkgPT4ge1xuICAgICAgaXNPcGVuU2hpZnQgPSB0cnVlO1xuXG4gICAgICBmdW5jdGlvbiB3YXRjaE5hbWVzcGFjZXMoKSB7XG4gICAgICAgIHZhciB1cmkgPSBuZXcgVVJJKG1hc3RlckFwaVVybCgpKTtcbiAgICAgICAgdXJpLnBhdGgobmFtZXNwYWNlV2F0Y2gudXJsKTtcbiAgICAgICAgdmFyIHVybCA9IHVyaS50b1N0cmluZygpO1xuICAgICAgICBIYXd0aW9PQXV0aC5hdXRoZW50aWNhdGVkSHR0cFJlcXVlc3Qoe1xuICAgICAgICAgIHVybDogdXJpLnRvU3RyaW5nKClcbiAgICAgICAgfSkuZG9uZSgoZGF0YSkgPT4ge1xuICAgICAgICAgIF8uZm9yRWFjaChkYXRhLml0ZW1zLCAobmFtZXNwYWNlOmFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFuYW1lc3BhY2UubWV0YWRhdGEudWlkKSB7XG4gICAgICAgICAgICAgIG5hbWVzcGFjZS5tZXRhZGF0YS51aWQgPSBuYW1lc3BhY2UubWV0YWRhdGEubmFtZXNwYWNlICsgJy8nICsgbmFtZXNwYWNlLm1ldGFkYXRhLm5hbWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuYW1lc3BhY2VXYXRjaC5vYmplY3RzW25hbWVzcGFjZS5tZXRhZGF0YS51aWRdID0gbmFtZXNwYWNlO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIG5hbWVzcGFjZVdhdGNoLm9iamVjdEFycmF5Lmxlbmd0aCA9IDA7XG4gICAgICAgICAgXy5mb3JJbihuYW1lc3BhY2VXYXRjaC5vYmplY3RzLCAob2JqZWN0LCBrZXkpID0+IHtcbiAgICAgICAgICAgIG5hbWVzcGFjZVdhdGNoLm9iamVjdEFycmF5LnB1c2gob2JqZWN0KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBuZXh0KCk7XG4gICAgICAgIH0pLmZhaWwoKHhIciwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pID0+IHtcbiAgICAgICAgICBsb2cud2Fybih0ZXh0U3RhdHVzLCBcIjogXCIsIGVycm9yVGhyb3duKTtcbiAgICAgICAgICBIYXd0aW9PQXV0aC5kb0xvZ291dCgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuXG4gICAgICB2YXIgcm9vdFVyaSA9IG5ldyBVUkkobWFzdGVyQXBpVXJsKCkpO1xuICAgICAgcm9vdFVyaS5wYXRoKFwiL1wiKS5xdWVyeShcIlwiKTtcbiAgICAgIHZhciByb290VXJpVGV4dCA9IHJvb3RVcmkudG9TdHJpbmcoKTtcbiAgICAgIGxvZy5pbmZvKFwiQWJvdXQgdG8gcXVlcnkgcm9vdCBwYXRoczogXCIgKyBtYXN0ZXJBcGlVcmwoKSk7XG4gICAgICBIYXd0aW9PQXV0aC5hdXRoZW50aWNhdGVkSHR0cFJlcXVlc3Qoe1xuICAgICAgICB1cmw6IHJvb3RVcmlUZXh0XG4gICAgICB9KS5kb25lKChkYXRhKSA9PiB7XG4gICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgdmFyIHBhdGhzID0gZGF0YS5wYXRocztcbiAgICAgICAgICBpZiAocGF0aHMpIHtcbiAgICAgICAgICAgIGlzT3BlblNoaWZ0ID0gZmFsc2U7XG4gICAgICAgICAgICBhbmd1bGFyLmZvckVhY2gocGF0aHMsIChwYXRoKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChhbmd1bGFyLmlzU3RyaW5nKHBhdGgpICYmIChwYXRoID09PSBcIi9vYXBpXCIgfHwgcGF0aCA9PT0gXCJvYXBpXCIpKSB7XG4gICAgICAgICAgICAgICAgaXNPcGVuU2hpZnQgPSB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbG9nLmluZm8oXCJpc09wZW5TaGlmdCBcIiArIGlzT3BlblNoaWZ0ICsgXCIgd2l0aCBwYXRocyBcIiArIHBhdGhzKTtcbiAgICAgICAgfVxuICAgICAgICB3YXRjaE5hbWVzcGFjZXMoKTtcbiAgICAgIH0pLmZhaWwoKHhIciwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pID0+IHtcbiAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gZmluZCByb290IHBhdGhzOiBcIiArIHRleHRTdGF0dXMsIFwiOiBcIiwgZXJyb3JUaHJvd24pO1xuICAgICAgICB3YXRjaE5hbWVzcGFjZXMoKTtcbiAgICAgIH0pO1xuXG5cbiAgICB9XG4gIH0pO1xuXG4gIGZ1bmN0aW9uIGNyZWF0ZVdhdGNoKHR5cGUsIHdhdGNoLCB1c2VyRGV0YWlscywgJHNjb3BlLCBvbk1lc3NhZ2UgPSAoZXZlbnQpID0+IHt9LCBvbkNsb3NlID0gKGV2ZW50KSA9PiB7fSwgb25PcGVuID0gKGV2ZW50KSA9PiB7fSkge1xuICAgIHZhciBhcGlVcmwgPSBtYXN0ZXJBcGlVcmwoKTtcbiAgICB2YXIgd2F0Y2hVcmwgPSB3YXRjaC51cmw7XG4gICAgdmFyIHVyaTtcbiAgICBpZiAoIWFwaVVybCB8fCBhcGlVcmwgPT09IFwiL1wiKSB7XG4gICAgICAvLyBsZXRzIGF2b2lkIHVzaW5nIGEgcmVsYXRpdmUgcGF0aCBpZiBubyBtYXN0ZXIgdXJsIGlzIHNwZWNpZmllZFxuICAgICAgLy8gYXMgd2UgYXJlIHByb2JhYmx5IHNlcnZpbmcgdXAgc3RhdGljIGNvbnRlbnQgZnJvbSBpbnNpZGUgL2FwaS92MS9uYW1lc3BhY2VzL2RlZmF1bHQvc2VydmljZXMvZmFicmljOCBvciBzb21ldGhpbmcgbGlrZSB0aGF0XG4gICAgICB1cmkgPSBuZXcgVVJJKFVybEhlbHBlcnMuam9pbihhcGlVcmwsIHdhdGNoVXJsKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVyaSA9IG5ldyBVUkkoYXBpVXJsKTtcbiAgICAgIHVyaS5wYXRoKHdhdGNoVXJsKTtcbiAgICB9XG4gICAgaWYgKHVyaS5wcm90b2NvbCgpID09PSBcImh0dHBzXCIpIHtcbiAgICAgIHVyaS5wcm90b2NvbCgnd3NzJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVyaS5wcm90b2NvbCgnd3MnKTtcbiAgICB9XG4gICAgdXJpLnF1ZXJ5KDxhbnk+IHtcbiAgICAgIHdhdGNoOiB0cnVlLFxuICAgICAgYWNjZXNzX3Rva2VuOiB1c2VyRGV0YWlscy50b2tlblxuICAgIH0pO1xuICAgIHdhdGNoLnJldHJpZXMgPSAwO1xuICAgIHZhciBvbk9wZW5JbnRlcm5hbCA9IChldmVudCkgPT4ge1xuICAgICAgd2F0Y2gucmV0cmllcyA9IDA7XG4gICAgICB3YXRjaC5jb25uZWN0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgd2F0Y2guY29ubmVjdGVkID0gdHJ1ZTtcbiAgICAgIG9uT3BlbihldmVudCk7XG4gICAgfTtcbiAgICB2YXIgb25NZXNzYWdlSW50ZXJuYWwgPSAoZXZlbnQpID0+IHtcbiAgICAgIC8vIGxvZy5kZWJ1Zyh0eXBlLCBcIiBvbm1lc3NhZ2U6IFwiLCBldmVudCk7XG4gICAgICB2YXIgZGF0YSA9IGFuZ3VsYXIuZnJvbUpzb24oZXZlbnQuZGF0YSk7XG4gICAgICAvL2xvZy5kZWJ1Zyh0eXBlLCBcIiBkYXRhOiBcIiwgZGF0YSk7XG4gICAgICBzd2l0Y2ggKGRhdGEudHlwZSkge1xuICAgICAgICBjYXNlIFdhdGNoQWN0aW9ucy5BRERFRDpcbiAgICAgICAgY2FzZSBXYXRjaEFjdGlvbnMuTU9ESUZJRUQ6XG4gICAgICAgICAgdmFyIG9iaiA9IGRhdGEub2JqZWN0O1xuICAgICAgICAgIGlmICh3YXRjaC5jdXN0b21pemVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBfLmZvckVhY2god2F0Y2guY3VzdG9taXplcnMsIChjdXN0b21pemVyOihvYmo6YW55KSA9PiB2b2lkKSA9PiB7XG4gICAgICAgICAgICAgIGN1c3RvbWl6ZXIob2JqKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIWRhdGEub2JqZWN0Lm1ldGFkYXRhLnVpZCkge1xuICAgICAgICAgICAgZGF0YS5vYmplY3QubWV0YWRhdGEudWlkID0gZGF0YS5vYmplY3QubWV0YWRhdGEubmFtZXNwYWNlICsgJy8nICsgZGF0YS5vYmplY3QubWV0YWRhdGEubmFtZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgd2F0Y2gub2JqZWN0c1tkYXRhLm9iamVjdC5tZXRhZGF0YS51aWRdID0gZGF0YS5vYmplY3Q7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgV2F0Y2hBY3Rpb25zLkRFTEVURUQ6XG4gICAgICAgICAgZGVsZXRlIHdhdGNoLm9iamVjdHNbZGF0YS5vYmplY3QubWV0YWRhdGEudWlkXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBsb2cuaW5mbyhcIlVua25vd24gZXZlbnQgdHlwZTogXCIsIGRhdGEudHlwZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgd2F0Y2gub2JqZWN0QXJyYXkubGVuZ3RoID0gMDtcbiAgICAgIF8uZm9ySW4od2F0Y2gub2JqZWN0cywgKG9iamVjdCwgdWlkKSA9PiB7XG4gICAgICAgIHdhdGNoLm9iamVjdEFycmF5LnB1c2gob2JqZWN0KTtcbiAgICAgIH0pO1xuICAgICAgb25NZXNzYWdlKGRhdGEpO1xuICAgICAgLy8gZXhlY3V0ZSBhbnkgd2F0Y2ggYWN0aW9uc1xuICAgICAgc3dpdGNoIChkYXRhLnR5cGUpIHtcbiAgICAgICAgY2FzZSBXYXRjaEFjdGlvbnMuQURERUQ6XG4gICAgICAgICAgXy5mb3JFYWNoKHdhdGNoLm9uQWRkQWN0aW9ucywgKGFjdGlvbjphbnkpID0+IGFjdGlvbihkYXRhLm9iamVjdCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFdhdGNoQWN0aW9ucy5NT0RJRklFRDpcbiAgICAgICAgICBfLmZvckVhY2god2F0Y2gub25Nb2RpZmllZEFjdGlvbnMsIChhY3Rpb246YW55KSA9PiBhY3Rpb24oZGF0YS5vYmplY3QpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBXYXRjaEFjdGlvbnMuREVMRVRFRDpcbiAgICAgICAgICBfLmZvckVhY2god2F0Y2gub25EZWxldGVkQWN0aW9ucywgKGFjdGlvbjphbnkpID0+IGFjdGlvbihkYXRhLm9iamVjdCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICB9O1xuICAgIHZhciBvbkNsb3NlSW50ZXJuYWwgPSAoZXZlbnQpID0+IHtcbiAgICAgIHdhdGNoLmNvbm5lY3RlZCA9IGZhbHNlO1xuICAgICAgaWYgKHdhdGNoLnJldHJpZXMgPCAzICYmIHdhdGNoLmNvbm5lY3RUaW1lICYmIG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gd2F0Y2guY29ubmVjdFRpbWUgPiA1MDAwKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHdhdGNoLnJldHJpZXMgPSB3YXRjaC5yZXRyaWVzICsgMTtcbiAgICAgICAgICBsb2cuZGVidWcoXCJ3YXRjaCBcIiwgdHlwZSwgXCIgZGlzY29ubmVjdGVkLCByZXRyeSAjXCIsIHdhdGNoLnJldHJpZXMpO1xuICAgICAgICAgIHZhciB3cyA9IHdhdGNoLnNvY2tldCA9IG5ldyBXZWJTb2NrZXQodXJpLnRvU3RyaW5nKCkpO1xuICAgICAgICAgIHdzLm9ub3BlbiA9IG9uT3BlbkludGVybmFsO1xuICAgICAgICAgIHdzLm9ubWVzc2FnZSA9IG9uTWVzc2FnZUludGVybmFsO1xuICAgICAgICAgIHdzLm9uY2xvc2UgPSBvbkNsb3NlSW50ZXJuYWw7XG4gICAgICAgIH0sIDUwMDApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb25DbG9zZShldmVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIHZhciB3cyA9IHdhdGNoLnNvY2tldCA9IG5ldyBXZWJTb2NrZXQodXJpLnRvU3RyaW5nKCkpO1xuICAgIHdzLm9ub3BlbiA9IG9uT3BlbkludGVybmFsO1xuICAgIHdzLm9ubWVzc2FnZSA9IG9uTWVzc2FnZUludGVybmFsO1xuICAgIHdzLm9uY2xvc2UgPSBvbkNsb3NlSW50ZXJuYWw7XG4gIH1cblxuICAvKlxuICAgICBfbW9kdWxlLnJ1bihbJ1dhdGNoZXJTZXJ2aWNlJywgJyRyb290U2NvcGUnLCAoV2F0Y2hlclNlcnZpY2U6V2F0Y2hlclNlcnZpY2UsICRyb290U2NvcGUpID0+IHtcbiAgICAgbG9nLmRlYnVnKFwiU3RhcnRlZCB3YXRjaGVyIHNlcnZpY2VcIik7XG5cbi8vXHRcdEt1YmVybmV0ZXMua2VlcFBvbGxpbmdNb2RlbCA9IGZhbHNlO1xuXG4vLyBzb21lIHVzYWdlIGV4YW1wbGVzXG4vL1x0XHRXYXRjaGVyU2VydmljZS5hZGRDdXN0b21pemVyKCdwb2RzJywgKHBvZCkgPT4ge1xuLy9cdFx0XHRwb2QuU29tZVZhbHVlID0gJ2Zvb2Jhcic7XG4vL1x0XHR9KTtcbi8vXHRcdCRyb290U2NvcGUucG9kcyA9IFdhdGNoZXJTZXJ2aWNlLmdldE9iamVjdHMoJ3BvZHMnKTtcbi8vXHRcdCRyb290U2NvcGUucG9kTWFwID0gV2F0Y2hlclNlcnZpY2UuZ2V0T2JqZWN0TWFwKCdwb2RzJyk7XG4vL1xuLy9cdFx0JHJvb3RTY29wZS4kd2F0Y2hDb2xsZWN0aW9uKCdwb2RzJywgKG5ld1ZhbHVlKSA9PiB7XG4vL1x0XHQgIGxvZy5kZWJ1ZyhcInBvZHMgY2hhbmdlZDogXCIsIG5ld1ZhbHVlKTtcbi8vXHRcdH0pO1xuLy9cbi8vXHRcdCRyb290U2NvcGUuJHdhdGNoKCdwb2RNYXAnLCAobmV3VmFsdWUpID0+IHtcbi8vXHRcdCAgbG9nLmRlYnVnKFwicG9kIG1hcCBjaGFuZ2VkOiBcIiwgbmV3VmFsdWUpO1xuLy9cdFx0fSwgdHJ1ZSk7XG59XSk7XG4gICAqL1xuXG5fbW9kdWxlLnNlcnZpY2UoJ1dhdGNoZXJTZXJ2aWNlJywgWyd1c2VyRGV0YWlscycsICckcm9vdFNjb3BlJywgJyR0aW1lb3V0JywgKHVzZXJEZXRhaWxzLCAkcm9vdFNjb3BlLCAkdGltZW91dCkgPT4ge1xuICB2YXIgc2VsZiA9IDxhbnk+IHtcbiAgICBoYXNXZWJTb2NrZXQ6IGZhbHNlXG4gIH07XG5cbiAgdHJ5IHtcbiAgICBpZiAoIVdlYlNvY2tldCkgIHtcbiAgICAgIHJldHVybiBzZWxmO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgcmV0dXJuIHNlbGY7XG4gIH1cblxuICBzZWxmLnNldE5hbWVzcGFjZSA9IChuYW1lc3BhY2U6IHN0cmluZykgPT4ge1xuICAgIGlmIChuYW1lc3BhY2UgIT09IG5hbWVzcGFjZVdhdGNoLnNlbGVjdGVkKSB7XG4gICAgICBsb2cuZGVidWcoXCJOYW1lc3BhY2UgY2hhbmdlZCwgc2h1dHRpbmcgZG93biBleGlzdGluZyB3YXRjaGVzXCIpO1xuICAgICAgXy5mb3JJbih3YXRjaGVzLCAod2F0Y2gsIHR5cGUpID0+IHtcbiAgICAgICAgaWYgKHdhdGNoLnNvY2tldCkge1xuICAgICAgICAgIHdhdGNoLnNvY2tldC5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGxvZy5kZWJ1ZyhcIlNldHRpbmcgbmFtZXNwYWNlIHdhdGNoIHRvOiBcIiwgbmFtZXNwYWNlKTtcbiAgICAgIG5hbWVzcGFjZVdhdGNoLnNlbGVjdGVkID0gbmFtZXNwYWNlO1xuICAgICAgaWYgKCFuYW1lc3BhY2UpIHtcbiAgICAgICAgZGVsZXRlIGxvY2FsU3RvcmFnZVtDb25zdGFudHMuTkFNRVNQQUNFX1NUT1JBR0VfS0VZXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZVtDb25zdGFudHMuTkFNRVNQQUNFX1NUT1JBR0VfS0VZXSA9IG5hbWVzcGFjZTtcbiAgICAgIH1cbiAgICAgIGlmIChuYW1lc3BhY2UpIHtcbiAgICAgICAgXy5mb3JJbih3YXRjaGVzLCAod2F0Y2gsIHR5cGUpID0+IHtcbiAgICAgICAgICAvLyByZXNldCB0aGUgb2JqZWN0IHJhdGhlciB0aGFuIHJlLWFzc2lnbmluZyB0aGVtXG4gICAgICAgICAgLy8gZW5zdXJlcyB0aGF0IGFueSB3YXRjaGVzIGluIGNvbnRyb2xsZXJzIHdvbid0XG4gICAgICAgICAgLy8gYmUgd2F0Y2hpbmcgYSBzdGFsZSBvYmplY3RcbiAgICAgICAgICBpZiAod2F0Y2gudmFsaWQoKSkge1xuICAgICAgICAgICAgd2F0Y2gudXJsID0gVXJsSGVscGVycy5qb2luKHdhdGNoLnByZWZpeCgpLCBLdWJlcm5ldGVzLm5hbWVzcGFjZVBhdGhGb3JLaW5kKHR5cGUsIG5hbWVzcGFjZSkpO1xuICAgICAgICAgICAgd2F0Y2guY29ubmVjdFRpbWUgPSA8TnVtYmVyPiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBfLmZvckVhY2goXy5rZXlzKHdhdGNoLm9iamVjdHMpLCAodWlkKSA9PiB7XG4gICAgICAgICAgICAgIF8uZm9yRWFjaCh3YXRjaC5vbkRlbGV0ZWRBY3Rpb25zLCAoYWN0aW9uOmFueSkgPT4gYWN0aW9uKHdhdGNoLm9iamVjdHNbdWlkXSkpO1xuICAgICAgICAgICAgICBkZWxldGUgd2F0Y2gub2JqZWN0c1t1aWRdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB3YXRjaC5vYmplY3RBcnJheS5sZW5ndGggPSAwO1xuICAgICAgICAgICAgd2F0Y2guc29ja2V0ID0gPFdlYlNvY2tldD4gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIF8uZm9ySW4od2F0Y2hlcywgKHdhdGNoLCB0eXBlKSA9PiB7XG4gICAgICAgICAgaWYgKHdhdGNoLnZhbGlkKCkpIHtcbiAgICAgICAgICAgIGNyZWF0ZVdhdGNoKHR5cGUsIHdhdGNoLCB1c2VyRGV0YWlscywgJHJvb3RTY29wZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgICRyb290U2NvcGUuJGJyb2FkY2FzdChcIldhdGNoZXJOYW1lc3BhY2VDaGFuZ2VkXCIsIG5hbWVzcGFjZSk7XG4gICAgfVxuICB9O1xuXG4gIGNyZWF0ZVdhdGNoKFdhdGNoVHlwZXMuTkFNRVNQQUNFUywgbmFtZXNwYWNlV2F0Y2gsIHVzZXJEZXRhaWxzLCAkcm9vdFNjb3BlLCAoZXZlbnQpID0+IHtcbiAgICAvLyBsb2cuZGVidWcoXCJHb3QgZXZlbnQ6IFwiLCBldmVudCk7XG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XG4gICAgICBjYXNlIFdhdGNoQWN0aW9ucy5BRERFRDpcbiAgICAgIGNhc2UgV2F0Y2hBY3Rpb25zLk1PRElGSUVEOlxuICAgICAgICBpZiAoIW5hbWVzcGFjZVdhdGNoLnNlbGVjdGVkKSB7XG4gICAgICAgICAgc2VsZi5zZXROYW1lc3BhY2UoZXZlbnQub2JqZWN0Lm1ldGFkYXRhLm5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBXYXRjaEFjdGlvbnMuREVMRVRFRDpcbiAgICAgICAgdmFyIG5leHQgPSA8YW55PiBfLmZpcnN0KG5hbWVzcGFjZVdhdGNoLm9iamVjdEFycmF5KTtcbiAgICAgICAgaWYgKG5leHQpIHtcbiAgICAgICAgICBzZWxmLnNldE5hbWVzcGFjZShuZXh0Lm1ldGFkYXRhLm5hbWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlbGYuc2V0TmFtZXNwYWNlKHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBsb2cuZGVidWcoXCJVbmtub3duIG5hbWVzcGFjZSBldmVudCB0eXBlOiBcIiwgZXZlbnQudHlwZSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gIH0sIChldmVudCkgPT4ge1xuICAgIGxvZy5kZWJ1ZyhcIk5hbWVzcGFjZSB3YXRjaCBjbG9zZWRcIik7XG4gICAgc2VsZi5zZXROYW1lc3BhY2UodW5kZWZpbmVkKTtcbiAgfSk7XG5cbiAgc2VsZi5zZXROYW1lc3BhY2UobG9jYWxTdG9yYWdlW0NvbnN0YW50cy5OQU1FU1BBQ0VfU1RPUkFHRV9LRVldIHx8IGRlZmF1bHROYW1lc3BhY2UpO1xuXG4gIHNlbGYuaGFzV2ViU29ja2V0ID0gdHJ1ZTtcblxuICBzZWxmLmdldE5hbWVzcGFjZSA9ICgpID0+IG5hbWVzcGFjZVdhdGNoLnNlbGVjdGVkO1xuXG4gIHNlbGYuYWRkQ3VzdG9taXplciA9ICh0eXBlOiBzdHJpbmcsIGN1c3RvbWl6ZXI6IChvYmo6YW55KSA9PiB2b2lkKSA9PiB7XG4gICAgaWYgKHR5cGUgaW4gd2F0Y2hlcykge1xuICAgICAgd2F0Y2hlc1t0eXBlXS5jdXN0b21pemVycy5wdXNoKGN1c3RvbWl6ZXIpO1xuICAgICAgXy5mb3JFYWNoKHdhdGNoZXNbdHlwZV0ub2JqZWN0QXJyYXksIChvYmopID0+IGN1c3RvbWl6ZXIob2JqKSk7XG4gICAgfVxuICB9XG5cbiAgc2VsZi5nZXRUeXBlcyA9ICgpID0+IHtcbiAgICByZXR1cm4gazhzVHlwZXMuY29uY2F0KFtXYXRjaFR5cGVzLk5BTUVTUEFDRVNdKS5jb25jYXQob3NUeXBlcyk7XG4gIH1cblxuICBzZWxmLmdldE9iamVjdE1hcCA9ICh0eXBlOiBzdHJpbmcpID0+IHtcbiAgICBpZiAodHlwZSA9PT0gV2F0Y2hUeXBlcy5OQU1FU1BBQ0VTKSB7XG4gICAgICByZXR1cm4gbmFtZXNwYWNlV2F0Y2gub2JqZWN0cztcbiAgICB9XG4gICAgaWYgKHR5cGUgaW4gd2F0Y2hlcykge1xuICAgICAgcmV0dXJuIHdhdGNoZXNbdHlwZV0ub2JqZWN0cztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBzZWxmLmdldE9iamVjdHMgPSAodHlwZTpzdHJpbmcpID0+IHtcbiAgICBpZiAodHlwZSA9PT0gV2F0Y2hUeXBlcy5OQU1FU1BBQ0VTKSB7XG4gICAgICByZXR1cm4gbmFtZXNwYWNlV2F0Y2gub2JqZWN0QXJyYXk7XG4gICAgfVxuICAgIGlmICh0eXBlIGluIHdhdGNoZXMpIHtcbiAgICAgIHJldHVybiB3YXRjaGVzW3R5cGVdLm9iamVjdEFycmF5O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHNlbGYubGlzdGVuZXJzID0gPEFycmF5PChPYmplY3RNYXApID0+IHZvaWQ+PiBbXTtcblxuICB2YXIgdXBkYXRlRnVuY3Rpb24gPSAoKSA9PiB7XG4gICAgbG9nLmRlYnVnKFwiT2JqZWN0cyBjaGFuZ2VkLCBmaXJpbmcgbGlzdGVuZXJzXCIpO1xuICAgIHZhciBvYmplY3RzID0gPE9iamVjdE1hcD57fTtcbiAgICBfLmZvckVhY2goc2VsZi5nZXRUeXBlcygpLCAodHlwZTpzdHJpbmcpID0+IHtcbiAgICAgIG9iamVjdHNbdHlwZV0gPSBzZWxmLmdldE9iamVjdHModHlwZSk7XG4gICAgfSk7XG4gICAgXy5mb3JFYWNoKHNlbGYubGlzdGVuZXJzLCAobGlzdGVuZXI6KE9iamVjdE1hcCkgPT4gdm9pZCkgPT4ge1xuICAgICAgbGlzdGVuZXIob2JqZWN0cyk7XG4gICAgfSk7XG4gIH07XG5cbiAgdmFyIGRlYm91bmNlZFVwZGF0ZSA9IF8uZGVib3VuY2UodXBkYXRlRnVuY3Rpb24sIDUwMCwgeyB0cmFpbGluZzogdHJ1ZSB9KTtcblxuICAvLyBsaXN0ZW5lciBnZXRzIG5vdGlmaWVkIGFmdGVyIGEgYnVuY2ggb2YgY2hhbmdlcyBoYXZlIG9jY3VycmVkXG4gIHNlbGYucmVnaXN0ZXJMaXN0ZW5lciA9IChmbjoob2JqZWN0czpPYmplY3RNYXApID0+IHZvaWQpID0+IHtcbiAgICBzZWxmLmxpc3RlbmVycy5wdXNoKGZuKTtcbiAgICBfLmZvckVhY2goc2VsZi5nZXRUeXBlcygpLCAodHlwZSkgPT4ge1xuICAgICAgc2VsZi5hZGRBY3Rpb24odHlwZSwgV2F0Y2hBY3Rpb25zLkFOWSwgZGVib3VuY2VkVXBkYXRlKVxuICAgIH0pO1xuICB9XG5cbiAgLy8gZnVuY3Rpb24gdG8gd2F0Y2ggaW5kaXZpZHVhbCBhY3Rpb25zIG9uIHRoZSBrOHMgb2JqZWN0c1xuICBzZWxmLmFkZEFjdGlvbiA9ICh0eXBlOiBzdHJpbmcsIGFjdGlvbjogc3RyaW5nLCBmbjogKG9iajphbnkpID0+IHZvaWQpID0+IHtcbiAgICB2YXIgd2F0Y2ggPSA8YW55PiB1bmRlZmluZWQ7XG4gICAgaWYgKHR5cGUgPT09IFdhdGNoVHlwZXMuTkFNRVNQQUNFUykge1xuICAgICAgd2F0Y2ggPSBuYW1lc3BhY2VXYXRjaDtcbiAgICB9IGVsc2Uge1xuICAgICAgd2F0Y2ggPSB3YXRjaGVzW3R5cGVdO1xuICAgIH1cbiAgICBpZiAod2F0Y2gpIHtcbiAgICAgIHN3aXRjaCAoYWN0aW9uKSB7XG4gICAgICAgIGNhc2UgV2F0Y2hBY3Rpb25zLkFOWTpcbiAgICAgICAgICBfLmZvckVhY2god2F0Y2gub2JqZWN0QXJyYXksIChvYmopID0+IGZuKG9iaikpO1xuICAgICAgICAgIHdhdGNoLm9uQWRkQWN0aW9ucy5wdXNoKGZuKTtcbiAgICAgICAgICB3YXRjaC5vbkRlbGV0ZWRBY3Rpb25zLnB1c2goZm4pO1xuICAgICAgICAgIHdhdGNoLm9uTW9kaWZpZWRBY3Rpb25zLnB1c2goZm4pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFdhdGNoQWN0aW9ucy5BRERFRDpcbiAgICAgICAgICBfLmZvckVhY2god2F0Y2gub2JqZWN0QXJyYXksIChvYmopID0+IGZuKG9iaikpO1xuICAgICAgICAgIHdhdGNoLm9uQWRkQWN0aW9ucy5wdXNoKGZuKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBXYXRjaEFjdGlvbnMuTU9ESUZJRUQ6XG4gICAgICAgICAgd2F0Y2gub25Nb2RpZmllZEFjdGlvbnMucHVzaChmbik7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgV2F0Y2hBY3Rpb25zLkRFTEVURUQ6XG4gICAgICAgICAgd2F0Y2gub25EZWxldGVkQWN0aW9ucy5wdXNoKGZuKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBsb2cuZGVidWcoXCJBdHRlbXB0aW5nIHRvIGFkZCB1bmtub3duIGFjdGlvbjogXCIsIGFjdGlvbik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBzZWxmO1xufV0pO1xufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 -angular.module("hawtio-kubernetes-templates", []).run(["$templateCache", function($templateCache) {$templateCache.put("plugins/kubernetes/html/apps.html","
\n \n \n \n \n \n \n\n\n
\n
\n
\n \n \n \n \n \n
\n \n \n \n \n
\n
\n  \n \n  \n\n  \n \n  \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

There are no apps currently available.

\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
    \n
  • \n
    \n
    \n {{folder.path.capitalize(true)}}Uncategorized\n
    \n
    \n \n
    \n
    \n
  • \n
\n
\n
\n
\n
\n \n  \n \n  \n \n
\n
\n \n\n
\n\n
    \n
  • \n \n {{app.name}}\n  \n \n
  • \n
\n
\n
\n
\n
\n \n
\n"); +/// +/// +var Project; +(function (Project) { + Project.context = '/project'; + Project.hash = '#' + Project.context; + Project.pluginName = 'Project'; + Project.log = Logger.get(Project.pluginName); + Project.pluginPath = 'plugins/project/'; + Project.templatePath = Project.pluginPath + 'html/'; + Project.gogsRestURL = "/kubernetes/api/" + Kubernetes.defaultApiVersion + "/proxy/services/gogs-http-service/api/v1"; + Project.gogsUserRepoRestURL = Project.gogsRestURL + "/user/repos"; +})(Project || (Project = {})); + +/// +/// +/// +var Project; +(function (Project) { + Project._module = angular.module(Project.pluginName, [Kubernetes.pluginName]); + Project.controller = PluginHelpers.createControllerFunction(Project._module, Project.pluginName); + Project.route = PluginHelpers.createRoutingFunction(Project.templatePath); + Project._module.config(['$routeProvider', function ($routeProvider) { + $routeProvider.when(UrlHelpers.join(Project.context, '/create'), Project.route('projectCreate.html', false)); + }]); + Project._module.factory('ForgeApiURL', ['jolokiaUrl', 'jolokia', '$q', '$rootScope', function (jolokiaUrl, jolokia, $q, $rootScope) { + return Kubernetes.kubernetesApiUrl() + "/proxy" + Kubernetes.kubernetesNamespacePath() + "/services/fabric8-forge/api/forge"; + }]); + hawtioPluginLoader.addModule(Project.pluginName); +})(Project || (Project = {})); + +/// +/// +/// +var Project; +(function (Project) { + Project.ProjectController = Project.controller("ProjectController", ["$scope", "KubernetesModel", "$templateCache", "$location", "$routeParams", "$http", "$timeout", "KubernetesApiURL", function ($scope, KubernetesModel, $templateCache, $location, $routeParams, $http, $timeout, KubernetesApiURL) { + $scope.model = KubernetesModel; + $scope.entity = { + name: "" + }; + $scope.$on('$routeUpdate', function ($event) { + updateData(); + }); + // TODO add actual login/pwd or OAuth + var authorizationHeader = "Basic TODO"; + // TODO take this from the service host! + $scope.create = function () { + var url = Project.gogsUserRepoRestURL; + console.log("Creating project " + angular.toJson($scope.entity, true)); + console.log("Posting to url: " + url); + var data = $scope.entity; + var config = { + headers: { + 'withCredentials': true, + 'Authorization': authorizationHeader, + 'Content-Type': "application/json" + } + }; + $http.post(url, data, config).success(function (data, status, headers, config) { + console.log("project created! got data " + angular.toJson(data, true)); + createProject(data); + }).error(function (data, status, headers, config) { + Project.log.warn("Failed to load " + url + " " + data + " " + status); + Core.notification('error', "Failed to create git repository " + name + ". Returned code: " + status + " " + data); + }); + }; + updateData(); + function createProject(data) { + var full_name = data.full_name; + if (full_name) { + var gitUrl = Core.url(Project.gogsRestURL + "/" + full_name + ".git"); + console.log("Creating a git repo for " + full_name + " at : " + gitUrl); + } + // TODO lets forward to the create project wizard... + } + function updateData() { + $scope.builds = []; + var url = Project.gogsUserRepoRestURL; + var config = { + headers: { + 'withCredentials': true, + 'Authorization': authorizationHeader + } + }; + delete $http.defaults.headers.common["Accept"]; + $http.get(url, config).success(function (data, status, headers, config) { + if (data) { + console.log("got repos: " + angular.toJson(data, true)); + $scope.builds = data; + } + $scope.fetched = true; + Core.$apply($scope); + }).error(function (data, status, headers, config) { + $scope.fetched = true; + Project.log.warn("Failed to load " + url + " " + data + " " + status); + }); + } + }]); +})(Project || (Project = {})); + +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9pbmNsdWRlcy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9kZXZlbG9wZXIvdHMvZGV2ZWxvcGVySGVscGVycy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9kZXZlbG9wZXIvdHMvZGV2ZWxvcGVyUGx1Z2luLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMva3ViZXJuZXRlc0ludGVyZmFjZXMudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9rdWJlcm5ldGVzSGVscGVycy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9kZXZlbG9wZXIvdHMvcHJvamVjdHMudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMvZGV2ZWxvcGVyL3RzL3dvcmtzcGFjZS50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9kZXZlbG9wZXIvdHMvd29ya3NwYWNlcy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL2t1YmVybmV0ZXNQbHVnaW4udHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9hcHBzLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvYnVpbGQudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9idWlsZENvbmZpZy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL2J1aWxkQ29uZmlnRWRpdC50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL2J1aWxkQ29uZmlncy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL2J1aWxkTG9ncy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL2J1aWxkcy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL2Nvbm5lY3QudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9kZXBsb3ltZW50Q29uZmlnLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvZGVwbG95bWVudENvbmZpZ3MudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9ldmVudHMudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9rdWJlcm5ldGVzTW9kZWwudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9ob3N0LnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvdXRpbEhlbHBlcnMudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9ob3N0cy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL2ltYWdlUmVwb3NpdG9yaWVzLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMva3ViZXJuZXRlc0pzb25EaXJlY3RpdmUudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9zY2hlbWEudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9rdWJlcm5ldGVzU2NoZW1hLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMva3ViZXJuZXRlc1NlcnZpY2VzLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMva3ViZXJuZXRlc1RvcExldmVsLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvbmFtZXNwYWNlLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvb3ZlcnZpZXcudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9waXBlbGluZXMudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9wb2QudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9wb2RFZGl0LnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvcG9kcy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL3JlcGxpY2F0aW9uQ29udHJvbGxlci50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL3JlcGxpY2F0aW9uQ29udHJvbGxlckVkaXQudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9yZXBsaWNhdGlvbkNvbnRyb2xsZXJzLnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvc2VydmljZS50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL3NlcnZpY2VFZGl0LnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvc2VydmljZVJlZ2lzdHJ5LnRzIiwiL3dvcmtzcGFjZS9qYXZhL2hhd3Rpby1rdWJlcm5ldGVzL2t1YmVybmV0ZXMvdHMvc2VydmljZXMudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMva3ViZXJuZXRlcy90cy9zaGFyZWRDb250cm9sbGVycy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL3RlbXBsYXRlcy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9rdWJlcm5ldGVzL3RzL3dhdGNoZXIudHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMvcHJvamVjdC90cy9wcm9qZWN0SGVscGVycy50cyIsIi93b3Jrc3BhY2UvamF2YS9oYXd0aW8ta3ViZXJuZXRlcy9wcm9qZWN0L3RzL3Byb2plY3RQbHVnaW4udHMiLCIvd29ya3NwYWNlL2phdmEvaGF3dGlvLWt1YmVybmV0ZXMvcHJvamVjdC90cy9wcm9qZWN0LnRzIl0sIm5hbWVzIjpbIkRldmVsb3BlciIsIkRldmVsb3Blci5lbnJpY2hXb3Jrc3BhY2VzIiwiRGV2ZWxvcGVyLmVucmljaFdvcmtzcGFjZSIsIkRldmVsb3Blci5jcmVhdGVXb3Jrc3BhY2VCcmVhZGNydW1icyIsIkRldmVsb3Blci5jcmVhdGVQcm9qZWN0QnJlYWRjcnVtYnMiLCJEZXZlbG9wZXIuY3JlYXRlV29ya3NwYWNlU3ViTmF2QmFycyIsIkRldmVsb3Blci5jcmVhdGVQcm9qZWN0U3ViTmF2QmFycyIsIkRldmVsb3Blci50cmltUXVlcnkiLCJEZXZlbG9wZXIuYWN0aXZhdGVDdXJyZW50IiwiRGV2ZWxvcGVyLnByb2Nlc3NDaGlsZHJlbiIsIkt1YmVybmV0ZXMiLCJLdWJlcm5ldGVzLmNvbnN0cyIsIkt1YmVybmV0ZXMuY29uc3RzLmNvbnN0cnVjdG9yIiwiS3ViZXJuZXRlcy5jb25zdHMuTkFNRVNQQUNFX1NUT1JBR0VfS0VZIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLmNvbnN0cnVjdG9yIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLkVORFBPSU5UUyIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcy5FVkVOVFMiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuTkFNRVNQQUNFUyIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcy5OT0RFUyIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcy5QRVJTSVNURU5UX1ZPTFVNRVMiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuUEVSU0lTVEVOVF9WT0xVTUVfQ0xBSU1TIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLlBPRFMiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuUkVQTElDQVRJT05fQ09OVFJPTExFUlMiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuUkVTT1VSQ0VfUVVPVEFTIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLk9BVVRIX0NMSUVOVFMiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuU0VDUkVUUyIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcy5TRVJWSUNFUyIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcy5TRVJWSUNFX0FDQ09VTlRTIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLlRFTVBMQVRFUyIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcy5ST1VURVMiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuQlVJTERfQ09ORklHUyIsIkt1YmVybmV0ZXMuV2F0Y2hUeXBlcy5CVUlMRFMiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuREVQTE9ZTUVOVF9DT05GSUdTIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLklNQUdFX1NUUkVBTVMiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuUE9MSUNJRVMiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuUE9MSUNZX0JJTkRJTkdTIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLlBST0pFQ1RTIiwiS3ViZXJuZXRlcy5XYXRjaFR5cGVzLlJPTEVfQklORElOR1MiLCJLdWJlcm5ldGVzLldhdGNoVHlwZXMuUk9MRVMiLCJLdWJlcm5ldGVzLk5hbWVzcGFjZWRUeXBlcyIsIkt1YmVybmV0ZXMuTmFtZXNwYWNlZFR5cGVzLmNvbnN0cnVjdG9yIiwiS3ViZXJuZXRlcy5OYW1lc3BhY2VkVHlwZXMuazhzVHlwZXMiLCJLdWJlcm5ldGVzLk5hbWVzcGFjZWRUeXBlcy5vc1R5cGVzIiwiS3ViZXJuZXRlcy5XYXRjaEFjdGlvbnMiLCJLdWJlcm5ldGVzLldhdGNoQWN0aW9ucy5jb25zdHJ1Y3RvciIsIkt1YmVybmV0ZXMuV2F0Y2hBY3Rpb25zLkFOWSIsIkt1YmVybmV0ZXMuV2F0Y2hBY3Rpb25zLkFEREVEIiwiS3ViZXJuZXRlcy5XYXRjaEFjdGlvbnMuTU9ESUZJRUQiLCJLdWJlcm5ldGVzLldhdGNoQWN0aW9ucy5ERUxFVEVEIiwiS3ViZXJuZXRlcy5rdWJlcm5ldGVzTmFtZXNwYWNlUGF0aCIsIkt1YmVybmV0ZXMuYXBpUHJlZml4IiwiS3ViZXJuZXRlcy5vc0FwaVByZWZpeCIsIkt1YmVybmV0ZXMubWFzdGVyQXBpVXJsIiwiS3ViZXJuZXRlcy5rdWJlcm5ldGVzQXBpUHJlZml4IiwiS3ViZXJuZXRlcy5vcGVuc2hpZnRBcGlQcmVmaXgiLCJLdWJlcm5ldGVzLnByZWZpeEZvclR5cGUiLCJLdWJlcm5ldGVzLmt1YmVybmV0ZXNBcGlVcmwiLCJLdWJlcm5ldGVzLm9wZW5zaGlmdEFwaVVybCIsIkt1YmVybmV0ZXMucmVzb3VyY2VzVXJpRm9yS2luZCIsIkt1YmVybmV0ZXMudXJpVGVtcGxhdGVGb3JLdWJlcm5ldGVzS2luZCIsIkt1YmVybmV0ZXMubmFtZXNwYWNlUGF0aEZvcktpbmQiLCJLdWJlcm5ldGVzLnVwZGF0ZU9yQ3JlYXRlT2JqZWN0IiwiS3ViZXJuZXRlcy5jcmVhdGVSZXNvdXJjZSIsIkt1YmVybmV0ZXMuaW1hZ2VSZXBvc2l0b3JpZXNSZXN0VVJMIiwiS3ViZXJuZXRlcy5kZXBsb3ltZW50Q29uZmlnc1Jlc3RVUkwiLCJLdWJlcm5ldGVzLmJ1aWxkc0xvZ3NSZXN0VVJMIiwiS3ViZXJuZXRlcy5idWlsZHNSZXN0VVJMIiwiS3ViZXJuZXRlcy5idWlsZENvbmZpZ0hvb2tzUmVzdFVSTCIsIkt1YmVybmV0ZXMuYnVpbGRDb25maWdzUmVzdFVSTCIsIkt1YmVybmV0ZXMucm91dGVzUmVzdFVSTCIsIkt1YmVybmV0ZXMudGVtcGxhdGVzUmVzdFVSTCIsIkt1YmVybmV0ZXMuZ2V0TmFtZXNwYWNlIiwiS3ViZXJuZXRlcy5nZXRMYWJlbHMiLCJLdWJlcm5ldGVzLmdldE5hbWUiLCJLdWJlcm5ldGVzLmdldEtpbmQiLCJLdWJlcm5ldGVzLmdldFNlbGVjdG9yIiwiS3ViZXJuZXRlcy5nZXRIb3N0IiwiS3ViZXJuZXRlcy5nZXRTdGF0dXMiLCJLdWJlcm5ldGVzLmdldFBvcnRzIiwiS3ViZXJuZXRlcy5nZXRDcmVhdGlvblRpbWVzdGFtcCIsIkt1YmVybmV0ZXMuaXNLdWJlcm5ldGVzIiwiS3ViZXJuZXRlcy5pc0t1YmVybmV0ZXNUZW1wbGF0ZU1hbmFnZXIiLCJLdWJlcm5ldGVzLmlzQXBwVmlldyIsIkt1YmVybmV0ZXMuc2V0SnNvbiIsIkt1YmVybmV0ZXMubGFiZWxzVG9TdHJpbmciLCJLdWJlcm5ldGVzLmluaXRTaGFyZWQiLCJLdWJlcm5ldGVzLmluaXRTaGFyZWQuaGFzU2VydmljZSIsIkt1YmVybmV0ZXMuc2VydmljZUxpbmtVcmwiLCJLdWJlcm5ldGVzLmNyZWF0ZVBvZENvdW50ZXJzIiwiS3ViZXJuZXRlcy5jb252ZXJ0S3ViZXJuZXRlc0pzb25Ub0l0ZW1zIiwiS3ViZXJuZXRlcy5pc1YxYmV0YTFPcjIiLCJLdWJlcm5ldGVzLmVudGl0eVBhZ2VMaW5rIiwiS3ViZXJuZXRlcy5yZXNvdXJjZUtpbmRUb1VyaVBhdGgiLCJLdWJlcm5ldGVzLmlzSWdub3JlTmFtZXNwYWNlS2luZCIsIkt1YmVybmV0ZXMua3ViZXJuZXRlc1VybEZvcktpbmQiLCJLdWJlcm5ldGVzLmt1YmVybmV0ZXNVcmxGb3JJdGVtS2luZCIsIkt1YmVybmV0ZXMua3ViZXJuZXRlc1Byb3h5VXJsRm9yU2VydmljZSIsIkt1YmVybmV0ZXMuYnVpbGRDb25maWdSZXN0VXJsIiwiS3ViZXJuZXRlcy5kZXBsb3ltZW50Q29uZmlnUmVzdFVybCIsIkt1YmVybmV0ZXMuaW1hZ2VSZXBvc2l0b3J5UmVzdFVybCIsIkt1YmVybmV0ZXMuYnVpbGRSZXN0VXJsIiwiS3ViZXJuZXRlcy5idWlsZExvZ3NSZXN0VXJsIiwiS3ViZXJuZXRlcy5ydW5BcHAiLCJLdWJlcm5ldGVzLmlzUnVubmluZyIsIkt1YmVybmV0ZXMuc2VsZWN0b3JNYXRjaGVzIiwiS3ViZXJuZXRlcy5nZXRTZXJ2aWNlUmVnaXN0cnkiLCJLdWJlcm5ldGVzLmtpYmFuYUxvZ3NMaW5rIiwiS3ViZXJuZXRlcy5vcGVuTG9nc0ZvclBvZHMiLCJLdWJlcm5ldGVzLnJlc2l6ZUNvbnRyb2xsZXIiLCJLdWJlcm5ldGVzLnN0YXR1c1RleHRUb0Nzc0NsYXNzIiwiS3ViZXJuZXRlcy5wb2RTdGF0dXMiLCJLdWJlcm5ldGVzLmNyZWF0ZUFwcFZpZXdQb2RDb3VudGVycyIsIkt1YmVybmV0ZXMuY3JlYXRlQXBwVmlld1NlcnZpY2VWaWV3cyIsIkt1YmVybmV0ZXMuZ2l0UGF0aFRvVXJsIiwiS3ViZXJuZXRlcy5lbnJpY2hCdWlsZENvbmZpZyIsIkt1YmVybmV0ZXMuZW5yaWNoQnVpbGRDb25maWcuZGVmYXVsdFByb3BlcnRpZXNJZk5vdEV4aXN0IiwiS3ViZXJuZXRlcy5lbnJpY2hCdWlsZENvbmZpZy5kZWZhdWx0UHJvcGVydGllc0lmTm90RXhpc3RTdGFydHNXaXRoIiwiS3ViZXJuZXRlcy5lbnJpY2hCdWlsZENvbmZpZ3MiLCJLdWJlcm5ldGVzLmVucmljaEJ1aWxkcyIsIkt1YmVybmV0ZXMuZW5yaWNoQnVpbGQiLCJLdWJlcm5ldGVzLmVucmljaERlcGxveW1lbnRDb25maWciLCJLdWJlcm5ldGVzLmVucmljaERlcGxveW1lbnRDb25maWdzIiwiS3ViZXJuZXRlcy5lbnJpY2hFdmVudCIsIkt1YmVybmV0ZXMuZW5yaWNoRXZlbnRzIiwiS3ViZXJuZXRlcy5lbnJpY2hFdmVudHMuY2xlYXJFdmVudHMiLCJLdWJlcm5ldGVzLmVucmljaEV2ZW50cy51cGRhdGVFdmVudCIsIkt1YmVybmV0ZXMuZW5yaWNoSW1hZ2VSZXBvc2l0b3J5IiwiS3ViZXJuZXRlcy5lbnJpY2hJbWFnZVJlcG9zaXRvcmllcyIsIkt1YmVybmV0ZXMuY29udGFpbmVyTGFiZWxDbGFzcyIsIkt1YmVybmV0ZXMuaXNGb3JnZUVuYWJsZWQiLCJLdWJlcm5ldGVzLmN1cnJlbnRLdWJlcm5ldGVzTmFtZXNwYWNlIiwiS3ViZXJuZXRlcy5jb25maWd1cmVTY2hlbWEiLCJLdWJlcm5ldGVzLnRvUmF3SnNvbiIsIkRldmVsb3Blci5kZWxldGVTZWxlY3RlZCIsIkRldmVsb3Blci5kZWxldGVFbnRpdHkiLCJEZXZlbG9wZXIudXBkYXRlRGF0YSIsIkt1YmVybmV0ZXMuYXBwTWF0Y2hlcyIsIkt1YmVybmV0ZXMuYXBwUnVubmluZyIsIkt1YmVybmV0ZXMuZGVsZXRlQXBwIiwiS3ViZXJuZXRlcy5kZWxldGVBcHAuZGVsZXRlU2VydmljZXMiLCJLdWJlcm5ldGVzLmRlbGV0ZUFwcC5kZWxldGVSZXBsaWNhdGlvbkNvbnRyb2xsZXJzIiwiS3ViZXJuZXRlcy5kZWxldGVBcHAuZGVsZXRlUG9kcyIsIkt1YmVybmV0ZXMuZGVsZXRlU2VsZWN0ZWQiLCJLdWJlcm5ldGVzLnVwZGF0ZURhdGEiLCJLdWJlcm5ldGVzLmRlbGV0ZUVudGl0eSIsIkt1YmVybmV0ZXMuYnlJZCIsIkt1YmVybmV0ZXMuY3JlYXRlS2V5IiwiS3ViZXJuZXRlcy5wb3B1bGF0ZUtleSIsIkt1YmVybmV0ZXMucG9wdWxhdGVLZXlzIiwiS3ViZXJuZXRlcy5zZWxlY3RQb2RzIiwiS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlIiwiS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLmNvbnN0cnVjdG9yIiwiS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLnJlcGxpY2F0aW9uQ29udHJvbGxlcnMiLCJLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UubmFtZXNwYWNlcyIsIkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZS5zZXJ2aWNlQXBwcyIsIkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZS4ka2VlcFBvbGxpbmciLCJLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2Uub3JSZWRyYXciLCJLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UuZ2V0U2VydmljZSIsIkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZS5nZXRSZXBsaWNhdGlvbkNvbnRyb2xsZXIiLCJLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UuZ2V0UG9kIiwiS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLnBvZHNGb3JOYW1lc3BhY2UiLCJLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UuY3VycmVudE5hbWVzcGFjZSIsIkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZS51cGRhdGVJY29uVXJsQW5kQXBwSW5mbyIsIkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZS5tYXliZUluaXQiLCJLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UudXBkYXRlQXBwcyIsIkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZS5kaXNjb3ZlclBvZENvbm5lY3Rpb25zIiwiS3ViZXJuZXRlcy5zb3J0QnlQb2RJcCIsIkt1YmVybmV0ZXMud2l0aFByb3BlcnR5IiwiS3ViZXJuZXRlcy5oaWRlUHJvcGVydGllcyIsIkt1YmVybmV0ZXMuS3ViZXJuZXRlc1N0YXRlSW1wbCIsIkt1YmVybmV0ZXMuS3ViZXJuZXRlc1N0YXRlSW1wbC5jb25zdHJ1Y3RvciIsIkt1YmVybmV0ZXMuS3ViZXJuZXRlc1N0YXRlSW1wbC5uYW1lc3BhY2VzIiwiS3ViZXJuZXRlcy5LdWJlcm5ldGVzU3RhdGVJbXBsLnNlbGVjdGVkTmFtZXNwYWNlIiwiS3ViZXJuZXRlcy5pbnRlcnBvbGF0ZSIsIkt1YmVybmV0ZXMuY3JlYXRlRWxlbWVudCIsIkt1YmVybmV0ZXMuY3JlYXRlRWxlbWVudHMiLCJLdWJlcm5ldGVzLmFwcGVuZE5ld0VsZW1lbnRzIiwiS3ViZXJuZXRlcy5uYW1lc3BhY2VGaWx0ZXIiLCJLdWJlcm5ldGVzLmZpcnN0RHJhdyIsIkt1YmVybmV0ZXMudXBkYXRlIiwiS3ViZXJuZXRlcy5yZWZyZXNoRHJhd2luZyIsIkt1YmVybmV0ZXMuY3JlYXRlUGlwZWxpbmVLZXkiLCJLdWJlcm5ldGVzLm1heWJlTmV4dCIsIkt1YmVybmV0ZXMuU2VydmljZVJlZ2lzdHJ5U2VydmljZSIsIkt1YmVybmV0ZXMuU2VydmljZVJlZ2lzdHJ5U2VydmljZS5jb25zdHJ1Y3RvciIsIkt1YmVybmV0ZXMuU2VydmljZVJlZ2lzdHJ5U2VydmljZS5oYXNTZXJ2aWNlIiwiS3ViZXJuZXRlcy5TZXJ2aWNlUmVnaXN0cnlTZXJ2aWNlLmZpbmRTZXJ2aWNlIiwiS3ViZXJuZXRlcy5TZXJ2aWNlUmVnaXN0cnlTZXJ2aWNlLnNlcnZpY2VMaW5rIiwiS3ViZXJuZXRlcy5TZXJ2aWNlUmVnaXN0cnlTZXJ2aWNlLmdldE1vZGVsIiwiS3ViZXJuZXRlcy5nZXRXZWlnaHQiLCJLdWJlcm5ldGVzLmdvQmFjayIsIkt1YmVybmV0ZXMuZ2V0QW5ub3RhdGlvbnMiLCJLdWJlcm5ldGVzLmdldFZhbHVlRm9yIiwiS3ViZXJuZXRlcy5zdWJzdGl0dXRlIiwiS3ViZXJuZXRlcy5hcHBseU9iamVjdHMiLCJLdWJlcm5ldGVzLnJlbG9hZERhdGFJZk5vV2F0Y2giLCJLdWJlcm5ldGVzLndhdGNoTmFtZXNwYWNlcyIsIkt1YmVybmV0ZXMuY3JlYXRlV2F0Y2giLCJQcm9qZWN0IiwiUHJvamVjdC5jcmVhdGVQcm9qZWN0IiwiUHJvamVjdC51cGRhdGVEYXRhIl0sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFD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Q0RBLE1BQU1BLENBQUNBLFFBQVFBLEdBQUdBLElBQUlBLENBQUNBLEdBQUdBLENBQUNBLHFCQUFxQkEsR0FBR0Esa0JBQWtCQSxDQUFDQSxZQUFZQSxDQUFDQSxDQUFDQSxDQUFDQTtZQUNyRkEsT0FBT0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsSUFBSUEsRUFBRUEsVUFBQUEsR0FBR0E7Z0JBQ3ZCQSxFQUFFQSxDQUFDQSxDQUFDQSxRQUFRQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtvQkFDbEJBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLEdBQUdBLENBQUNBLENBQUNBO29CQUNyQkEsSUFBSUEsTUFBTUEsR0FBR0EsU0FBU0EsQ0FBQ0EsR0FBR0EsQ0FBQ0EsQ0FBQ0E7b0JBQzVCQSxFQUFFQSxDQUFDQSxDQUFDQSxNQUFNQSxDQUFDQSxDQUFDQSxDQUFDQTt3QkFDWEEsSUFBSUEsS0FBS0EsR0FBR0EsTUFBTUEsQ0FBQ0EsV0FBV0EsRUFBRUEsQ0FBQ0E7d0JBQ2pDQSxFQUFFQSxDQUFDQSxDQUFDQSxLQUFLQSxDQUFDQSxVQUFVQSxDQUFDQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTs0QkFDNUJBLE1BQU1BLENBQUNBLEtBQUtBLElBQUlBLENBQUNBLENBQUNBO3dCQUNwQkEsQ0FBQ0E7d0JBQUNBLElBQUlBLENBQUNBLEVBQUVBLENBQUNBLENBQUNBLEtBQUtBLENBQUNBLFVBQVVBLENBQUNBLE1BQU1BLENBQUNBLElBQUlBLEtBQUtBLENBQUNBLFVBQVVBLENBQUNBLE1BQU1BLENBQUNBLENBQUNBLENBQUNBLENBQUNBOzRCQUNoRUEsTUFBTUEsQ0FBQ0EsT0FBT0EsSUFBSUEsQ0FBQ0EsQ0FBQ0E7d0JBQ3RCQSxDQUFDQTt3QkFBQ0EsSUFBSUEsQ0FBQ0EsRUFBRUEsQ0FBQ0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsVUFBVUEsQ0FBQ0EsTUFBTUEsQ0FBQ0EsSUFBSUEsS0FBS0EsQ0FBQ0EsVUFBVUEsQ0FBQ0EsT0FBT0EsQ0FBQ0EsSUFBSUEsS0FBS0EsQ0FBQ0Es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LEtBQUtBLENBQUNBLElBQUlBLENBQUNBO1FBQ2pDQSxHQUFHQSxDQUFDQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFDQSxHQUFHQSxDQUFDQSxFQUFFQSxDQUFDQSxHQUFHQSxJQUFJQSxFQUFFQSxDQUFDQSxFQUFFQSxFQUFFQSxDQUFDQTtZQUM5QkEsSUFBSUEsT0FBT0EsR0FBR0EsUUFBUUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7WUFDMUJBLElBQUlBLHFCQUFxQkEsR0FBR0Esc0JBQXNCQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtZQUN0REEsSUFBSUEsWUFBWUEsR0FBR0EsT0FBT0EsQ0FBQ0EscUJBQXFCQSxDQUFDQSxDQUFDQTtZQUNsREEsSUFBSUEsSUFBSUEsR0FBR0EsT0FBT0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsSUFBSUEsWUFBWUEsQ0FBQ0E7WUFDNUNBLElBQUlBLE9BQU9BLEdBQUdBLElBQUlBLENBQUNBLE9BQU9BLENBQUNBLE9BQU9BLEVBQUVBLENBQUNBLE1BQU1BLEVBQUVBLFVBQVVBLENBQUNBLENBQUNBLENBQUNBO1lBQzFEQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQSxJQUFJQSxJQUFJQSxJQUFJQSxDQUFDQSxNQUFNQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDekJBLElBQUlBLEdBQUdBLElBQUlBLENBQUNBLENBQUNBLENBQUNBLENBQUNBLFFBQVFBLENBQUNBO1lBQzFCQSxDQUFDQTtZQUNEQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQSxPQUFPQSxDQUFDQSxLQUFLQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDeEJBLE9BQU9BLENBQUNBLEtBQUtBLENBQUNBLElBQUlBLEdBQUdBLElBQUlBLENBQUNBO1lBQzVCQSxDQUFDQTtZQUNEQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQSxPQUFPQSxDQUFDQSxFQUFFQSxJQUFJQSxJQUFJQSxDQUFDQSxNQUFNQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDL0JBLE9BQU9BLENBQUNBLEVBQUVBLEdBQUdBLE9BQU9BLENBQUNBLElBQUlBLENBQUNBLENBQUNBLENBQUNBLENBQUNBLENBQUNBO1lBQ2hDQSxDQUFDQTtZQUNEQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDVkEsT0FBT0EsR0FBR0EsSUFBSUEsQ0FBQ0E7WUFDakJBLENBQUNBO1lBQ0RBLElBQUlBLFFBQVFBLEdBQUdBLElBQUlBLENBQUNBLE1BQU1BLENBQUNBO1lBQzNCQSxJQUFJQSxZQUFZQSxHQUFHQSxRQUFRQSxHQUFHQSxNQUFNQSxHQUFHQSxDQUFDQSxRQUFRQSxHQUFHQSxDQUFDQSxHQUFHQSxHQUFHQSxHQUFHQSxFQUFFQSxDQUFDQSxDQUFDQTtZQUNqRUEsSUFBSUEsSUFBSUEsR0FBR0E7Z0JBQ1RBLE9BQU9BLEVBQUVBLE9BQU9BLElBQUlBLElBQUlBO2dCQUN4QkEsSUFBSUEsRUFBRUEsSUFBSUE7Z0JBQ1ZBLFdBQVdBLEVBQUVBLE9BQU9BLENBQUNBLGFBQWFBO2dCQUNsQ0EsUUFBUUEsRUFBRUEsUUFBUUE7Z0JBQ2xCQSxZQUFZQSxFQUFFQSxZQUFZQTtnQkFDMUJBLE9BQU9BLEVBQUVBLE9BQU9BO2dCQUNoQkEsWUFBWUEsRUFBRUEsWUFBWUE7Z0JBQzFCQSxPQUFPQSxFQUFFQSxPQUFPQTtnQkFDaEJBLHFCQUFxQkEsRUFBRUEscUJBQXFCQTtnQkFDNUNBLElBQUlBLEVBQUVBLElBQUlBO2FBQ1hBLENBQUNBO1lBQ0ZBLEtBQUtBLENBQUNBLElBQUlBLENBQUNBLElBQUlBLENBQUNBLENBQUNBO1FBQ25CQSxDQUFDQTtRQUNEQSxNQUFNQSxDQUFDQSxLQUFLQSxDQUFDQTtJQUNmQSxDQUFDQTtJQXZEZXZHLG9DQUF5QkEsR0FBekJBLHlCQXVEZkEsQ0FBQUE7SUFFREEsQUFHQUE7O09BREdBO2FBQ2FBLFlBQVlBLENBQUNBLFFBQVFBLEVBQUVBLE1BQWlCQTtRQUFqQndHLHNCQUFpQkEsR0FBakJBLGlCQUFpQkE7UUFDdERBLE1BQU1BLENBQUNBLENBQUNBLFVBQVVBLENBQUNBLFFBQVFBLENBQUNBLEdBQUdBLENBQUNBLGVBQWVBLENBQUNBLElBQUlBLEVBQUVBLENBQUNBLEdBQUdBLE9BQU9BLEdBQUdBLE1BQU1BLEdBQUdBLFFBQVFBLENBQUNBO0lBQ3hGQSxDQUFDQTtJQUZleEcsdUJBQVlBLEdBQVpBLFlBRWZBLENBQUFBO0lBR0RBLFNBQWdCQSxpQkFBaUJBLENBQUNBLFdBQVdBLEVBQUVBLFlBQVlBO1FBQ3pEeUcsRUFBRUEsQ0FBQ0EsQ0FBQ0EsV0FBV0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7WUFDaEJBLElBQUlBLFVBQVVBLEdBQVVBLElBQUlBLENBQUNBO1lBQzdCQSxJQUFJQSxRQUFRQSxHQUFHQSxXQUFXQSxDQUFDQSxRQUFRQSxJQUFJQSxFQUFFQSxDQUFDQTtZQUMxQ0EsSUFBSUEsSUFBSUEsR0FBR0EsUUFBUUEsQ0FBQ0EsSUFBSUEsQ0FBQ0E7WUFDekJBLFdBQVdBLENBQUNBLEtBQUtBLEdBQUdBLElBQUlBLENBQUNBO1lBQ3pCQSxJQUFJQSxFQUFFQSxHQUFHQSxRQUFRQSxDQUFDQSxTQUFTQSxJQUFJQSwwQkFBMEJBLEVBQUVBLENBQUNBO1lBQzVEQSxFQUFFQSxDQUFDQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDVEEsV0FBV0EsQ0FBQ0EsU0FBU0EsR0FBR0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsWUFBWUEsRUFBRUEsRUFBRUEsRUFBRUEsVUFBVUEsRUFBRUEsSUFBSUEsQ0FBQ0EsQ0FBQ0E7Z0JBRTVFQSxPQUFPQSxDQUFDQSxPQUFPQSxDQUFDQSxDQUFDQSxLQUFLQSxFQUFFQSxJQUFJQSxDQUFDQSxFQUFFQSxVQUFDQSxJQUFJQTtvQkFDbENBLE9BQU9BLENBQUNBLE9BQU9BLENBQUNBLFdBQVdBLENBQUNBLFFBQVFBLEVBQUVBLFVBQUNBLE9BQU9BO3dCQUM1Q0EsRUFBRUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsVUFBVUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7NEJBQ2hCQSxJQUFJQSxJQUFJQSxHQUFHQSxPQUFPQSxDQUFDQSxJQUFJQSxDQUFDQTs0QkFDeEJBLEVBQUVBLENBQUNBLENBQUNBLElBQUlBLEtBQUtBLFNBQVNBLElBQUlBLElBQUlBLENBQUNBLENBQUNBLENBQUNBO2dDQUMvQkEsSUFBSUEsT0FBT0EsR0FBR0EsT0FBT0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsQ0FBQ0E7Z0NBQzVCQSxFQUFFQSxDQUFDQSxDQUFDQSxJQUFJQSxJQUFJQSxPQUFPQSxDQUFDQSxDQUFDQSxDQUFDQTtvQ0FDcEJBLElBQUlBLE1BQU1BLEdBQUdBLE9BQU9BLENBQUNBLE1BQU1BLENBQUNBO29DQUM1QkEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsTUFBTUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7d0NBQ1hBLFVBQVVBLEdBQUdBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLHVCQUF1QkEsRUFBRUEsRUFBRUEsSUFBSUEsRUFBRUEsTUFBTUEsRUFBRUEsSUFBSUEsQ0FBQ0EsQ0FBQ0E7d0NBQzVFQSxXQUFXQSxDQUFDQSxXQUFXQSxHQUFHQSxVQUFVQSxDQUFDQTtvQ0FDdkNBLENBQUNBO2dDQUNIQSxDQUFDQTs0QkFDSEEsQ0FBQ0E7d0JBQ0hBLENBQUNBO29CQUNIQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDTEEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBRUhBLEFBQ0FBLGdDQURnQ0E7Z0JBQ2hDQSxFQUFFQSxDQUFDQSxDQUFDQSxZQUFZQSxDQUFDQSxDQUFDQSxDQUFDQTtvQkFDakJBLFdBQVdBLENBQUNBLFVBQVVBLEdBQUdBLENBQUNBLENBQUNBLElBQUlBLENBQUNBLFlBQVlBLEVBQUVBO3dCQUM1Q0EsUUFBUUEsRUFBRUE7NEJBQ1JBLE1BQU1BLEVBQUVBO2dDQUNOQSxXQUFXQSxFQUFFQSxJQUFJQTs2QkFDbEJBO3lCQUNGQTtxQkFDRkEsQ0FBQ0EsQ0FBQ0E7Z0JBQ0xBLENBQUNBO1lBQ0hBLENBQUNBO1lBQ0RBLElBQUlBLGFBQWFBLEdBQUdBLEVBQUVBLENBQUNBO1lBRXZCQSxTQUFTQSwyQkFBMkJBLENBQUNBLElBQUlBLEVBQUVBLE1BQU1BLEVBQUVBLFVBQWtCQTtnQkFBbEJDLDBCQUFrQkEsR0FBbEJBLGtCQUFrQkE7Z0JBQ25FQSxJQUFJQSxJQUFJQSxHQUFHQSxhQUFhQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQTtnQkFDL0JBLEVBQUVBLENBQUNBLENBQUNBLFVBQVVBLElBQUlBLENBQUNBLElBQUlBLENBQUNBLENBQUNBLENBQUNBO29CQUN4QkEsSUFBSUEsR0FBR0EsRUFBRUEsQ0FBQUE7b0JBQ1RBLGFBQWFBLENBQUNBLElBQUlBLENBQUNBLEdBQUdBLElBQUlBLENBQUNBO2dCQUM3QkEsQ0FBQ0E7Z0JBQ0RBLEVBQUVBLENBQUNBLENBQUNBLElBQUlBLENBQUNBLENBQUNBLENBQUNBO29CQUNUQSxPQUFPQSxDQUFDQSxPQUFPQSxDQUFDQSxNQUFNQSxFQUFFQSxVQUFDQSxLQUFLQSxFQUFFQSxRQUFRQTt3QkFDdENBLElBQUlBLE9BQU9BLEdBQUdBLElBQUlBLENBQUNBLFFBQVFBLENBQUNBLENBQUNBO3dCQUM3QkEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7NEJBQ2JBLElBQUlBLENBQUNBLFFBQVFBLENBQUNBLEdBQUdBLEtBQUtBLENBQUNBO3dCQUN6QkEsQ0FBQ0E7b0JBQ0hBLENBQUNBLENBQUNBLENBQUNBO2dCQUNMQSxDQUFDQTtZQUNIQSxDQUFDQTtZQUVERCxTQUFTQSxxQ0FBcUNBLENBQUNBLE1BQU1BLEVBQUVBLE1BQU1BLEVBQUVBLFVBQWtCQTtnQkFBbEJFLDBCQUFrQkEsR0FBbEJBLGtCQUFrQkE7Z0JBQy9FQSxPQUFPQSxDQUFDQSxPQUFPQSxDQUFDQSxhQUFhQSxFQUFFQSxVQUFDQSxJQUFJQSxFQUFFQSxJQUFJQTtvQkFDeENBLEVBQUVBLENBQUNBLENBQUNBLElBQUlBLElBQUlBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLE1BQU1BLENBQUNBLENBQUNBLENBQUNBLENBQUNBO3dCQUNwQ0EsT0FBT0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsTUFBTUEsRUFBRUEsVUFBQ0EsS0FBS0EsRUFBRUEsUUFBUUE7NEJBQ3RDQSxJQUFJQSxPQUFPQSxHQUFHQSxJQUFJQSxDQUFDQSxRQUFRQSxDQUFDQSxDQUFDQTs0QkFDN0JBLEVBQUVBLENBQUNBLENBQUNBLENBQUNBLE9BQU9BLENBQUNBLENBQUNBLENBQUNBO2dDQUNiQSxJQUFJQSxDQUFDQSxRQUFRQSxDQUFDQSxHQUFHQSxLQUFLQSxDQUFDQTs0QkFDekJBLENBQUNBO3dCQUNIQSxDQUFDQSxDQUFDQSxDQUFDQTtvQkFDTEEsQ0FBQ0E7Z0JBQ0hBLENBQUNBLENBQUNBLENBQUNBO1lBQ0xBLENBQUNBO1lBRURGLElBQUlBLE1BQU1BLEdBQUdBLFFBQVFBLENBQUNBLE1BQU1BLElBQUlBLEVBQUVBLENBQUNBO1lBQ25DQSxJQUFJQSxXQUFXQSxHQUFHQSxRQUFRQSxDQUFDQSxXQUFXQSxJQUFJQSxFQUFFQSxDQUFDQTtZQUU3Q0EsQUFDQUEsaUNBRGlDQTtZQUNqQ0EsV0FBV0EsQ0FBQ0EsS0FBS0EsR0FBR0EsV0FBV0EsQ0FBQ0Esc0JBQXNCQSxDQUFDQSxJQUFJQSxNQUFNQSxDQUFDQSxNQUFNQSxDQUFDQSxDQUFDQTtZQUMxRUEsV0FBV0EsQ0FBQ0EsS0FBS0EsR0FBR0EsV0FBV0EsQ0FBQ0Esc0JBQXNCQSxDQUFDQSxJQUFJQSxNQUFNQSxDQUFDQSxNQUFNQSxDQUFDQSxDQUFDQTtZQUUxRUEsT0FBT0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsV0FBV0EsRUFBRUEsVUFBQ0EsS0FBS0EsRUFBRUEsR0FBR0E7Z0JBQ3RDQSxJQUFJQSxLQUFLQSxHQUFHQSxHQUFHQSxDQUFDQSxLQUFLQSxDQUFDQSxHQUFHQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDOUJBLEVBQUVBLENBQUNBLENBQUNBLEtBQUtBLENBQUNBLE1BQU1BLEdBQUdBLENBQUNBLENBQUNBLENBQUNBLENBQUNBO29CQUNyQkEsSUFBSUEsTUFBTUEsR0FBR0EsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7b0JBQ3RCQSxJQUFJQSxRQUFRQSxHQUFHQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtvQkFDeEJBLEVBQUVBLENBQUNBLENBQUNBLE1BQU1BLElBQUlBLFFBQVFBLElBQUlBLE1BQU1BLENBQUNBLFVBQVVBLENBQUNBLGNBQWNBLENBQUNBLENBQUNBLENBQUNBLENBQUNBO3dCQUM1REEsSUFBSUEsSUFBSUEsR0FBR0EsYUFBYUEsQ0FBQ0EsTUFBTUEsQ0FBQ0EsQ0FBQ0E7d0JBQ2pDQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQSxDQUFDQTs0QkFDVkEsSUFBSUEsR0FBR0E7Z0NBQ0xBLEtBQUtBLEVBQUVBLE1BQU1BOzZCQUNkQSxDQUFDQTs0QkFDRkEsYUFBYUEsQ0FBQ0EsTUFBTUEsQ0FBQ0EsR0FBR0EsSUFBSUEsQ0FBQ0E7d0JBQy9CQSxDQUFDQTt3QkFDREEsSUFBSUEsQ0FBQ0EsUUFBUUEsQ0FBQ0EsR0FBR0EsS0FBS0EsQ0FBQ0E7b0JBQ3pCQSxDQUFDQTtnQkFDSEEsQ0FBQ0E7WUFDSEEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7WUFFSEEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsV0FBV0EsQ0FBQ0EsS0FBS0EsSUFBSUEsV0FBV0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQzNDQSxBQUNBQSx3QkFEd0JBO29CQUNwQkEsT0FBT0EsR0FBR0EsY0FBY0EsQ0FBQ0EsMEJBQWVBLENBQUNBLENBQUNBO2dCQUM5Q0EsRUFBRUEsQ0FBQ0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7b0JBQ1pBLDJCQUEyQkEsQ0FBQ0EsOEJBQThCQSxFQUFFQTt3QkFDMURBLEtBQUtBLEVBQUVBLFdBQVdBO3dCQUNsQkEsR0FBR0EsRUFBRUEsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsT0FBT0EsRUFBRUEsV0FBV0EsQ0FBQ0EsS0FBS0EsRUFBRUEsV0FBV0EsQ0FBQ0EsS0FBS0EsQ0FBQ0E7d0JBQ25FQSxXQUFXQSxFQUFFQSwyQ0FBMkNBO3dCQUN4REEsU0FBU0EsRUFBRUEscUJBQXFCQTtxQkFDakNBLEVBQUVBLElBQUlBLENBQUNBLENBQUNBO2dCQUNYQSxDQUFDQTtnQkFFREEsQUFDQUEsMEJBRDBCQTtnQkFDMUJBLDJCQUEyQkEsQ0FBQ0EsZ0NBQWdDQSxFQUFFQTtvQkFDNURBLEtBQUtBLEVBQUVBLFlBQVlBO29CQUNuQkEsR0FBR0EsRUFBRUEsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0Esc0JBQXNCQSxFQUFFQSxXQUFXQSxDQUFDQSxLQUFLQSxFQUFFQSxXQUFXQSxDQUFDQSxLQUFLQSxDQUFDQTtvQkFDbEZBLFdBQVdBLEVBQUVBLG1DQUFtQ0E7b0JBQ2hEQSxTQUFTQSxFQUFFQSxtQkFBbUJBO2lCQUMvQkEsRUFBRUEsSUFBSUEsQ0FBQ0EsQ0FBQ0E7Z0JBR1RBLEFBQ0FBLHdCQUR3QkE7Z0JBQ3hCQSwyQkFBMkJBLENBQUNBLDJDQUEyQ0EsRUFBRUE7b0JBQ3ZFQSxLQUFLQSxFQUFFQSxVQUFVQTtvQkFDakJBLEdBQUdBLEVBQUVBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGlDQUFpQ0EsRUFBRUEsV0FBV0EsQ0FBQ0EsS0FBS0EsRUFBRUEsV0FBV0EsQ0FBQ0EsS0FBS0EsQ0FBQ0E7b0JBQzdGQSxXQUFXQSxFQUFFQSxnREFBZ0RBO29CQUM3REEsU0FBU0EsRUFBRUEsdUJBQXVCQTtpQkFDbkNBLEVBQUVBLElBQUlBLENBQUNBLENBQUNBO1lBRVhBLENBQUNBO1lBRURBLEFBQ0FBLGtDQURrQ0E7WUFDbENBLDJCQUEyQkEsQ0FBQ0EsZ0NBQWdDQSxFQUFFQTtnQkFDNURBLEtBQUtBLEVBQUVBLFdBQVdBO2dCQUNsQkEsV0FBV0EsRUFBRUEsMkNBQTJDQTtnQkFDeERBLFNBQVNBLEVBQUVBLHFCQUFxQkE7YUFDakNBLENBQUNBLENBQUNBO1lBQ0hBLDJCQUEyQkEsQ0FBQ0EsMEJBQTBCQSxFQUFFQTtnQkFDdERBLFNBQVNBLEVBQUVBLGFBQWFBO2dCQUN4QkEsV0FBV0EsRUFBRUEscUNBQXFDQTthQUNuREEsQ0FBQ0EsQ0FBQ0E7WUFDSEEsMkJBQTJCQSxDQUFDQSw4QkFBOEJBLEVBQUVBO2dCQUMxREEsU0FBU0EsRUFBRUEsa0JBQWtCQTtnQkFDN0JBLFdBQVdBLEVBQUVBLHFEQUFxREE7YUFDbkVBLENBQUNBLENBQUNBO1lBQ0hBLDJCQUEyQkEsQ0FBQ0EsK0JBQStCQSxFQUFFQTtnQkFDM0RBLFNBQVNBLEVBQUVBLDRCQUE0QkE7Z0JBQ3ZDQSxXQUFXQSxFQUFFQSw0Q0FBNENBO2FBQzFEQSxDQUFDQSxDQUFDQTtZQUNIQSwyQkFBMkJBLENBQUNBLDRCQUE0QkEsRUFBRUE7Z0JBQ3hEQSxTQUFTQSxFQUFFQSxlQUFlQTtnQkFDMUJBLFdBQVdBLEVBQUVBLDRCQUE0QkE7YUFDMUNBLENBQUNBLENBQUNBO1lBQ0hBLDJCQUEyQkEsQ0FBQ0EsNEJBQTRCQSxFQUFFQTtnQkFDeERBLFNBQVNBLEVBQUVBLGVBQWVBO2dCQUMxQkEsV0FBV0EsRUFBRUEsNEJBQTRCQTthQUMxQ0EsQ0FBQ0EsQ0FBQ0E7WUFDSEEsMkJBQTJCQSxDQUFDQSxvQkFBb0JBLEVBQUVBO2dCQUNoREEsU0FBU0EsRUFBRUEsc0JBQXNCQTtnQkFDakNBLFdBQVdBLEVBQUVBLGdDQUFnQ0E7YUFDOUNBLENBQUNBLENBQUNBO1lBQ0hBLDJCQUEyQkEsQ0FBQ0EscUJBQXFCQSxFQUFFQTtnQkFDakRBLFNBQVNBLEVBQUVBLHNCQUFzQkE7Z0JBQ2pDQSxXQUFXQSxFQUFFQSx5QkFBeUJBO2FBQ3ZDQSxDQUFDQSxDQUFDQTtZQUNIQSwyQkFBMkJBLENBQUNBLHVCQUF1QkEsRUFBRUE7Z0JBQ25EQSxTQUFTQSxFQUFFQSxXQUFXQTtnQkFDdEJBLFdBQVdBLEVBQUVBLHlCQUF5QkE7YUFDdkNBLENBQUNBLENBQUNBO1lBQ0hBLDJCQUEyQkEsQ0FBQ0EseUJBQXlCQSxFQUFFQTtnQkFDckRBLFNBQVNBLEVBQUVBLGFBQWFBO2dCQUN4QkEsV0FBV0EsRUFBRUEsK0JBQStCQTthQUM3Q0EsQ0FBQ0EsQ0FBQ0E7WUFDSEEsMkJBQTJCQSxDQUFDQSxtQkFBbUJBLEVBQUVBO2dCQUMvQ0EsU0FBU0EsRUFBRUEsYUFBYUE7Z0JBQ3hCQSxXQUFXQSxFQUFFQSwrQkFBK0JBO2FBQzdDQSxDQUFDQSxDQUFDQTtZQUNIQSxxQ0FBcUNBLENBQUNBLDJCQUEyQkEsRUFBRUE7Z0JBQ2pFQSxTQUFTQSxFQUFFQSxhQUFhQTtnQkFDeEJBLFdBQVdBLEVBQUVBLCtDQUErQ0E7YUFDN0RBLENBQUNBLENBQUNBO1lBR0hBLEFBQ0FBLHNDQURzQ0E7Z0JBQ2xDQSxpQkFBaUJBLEdBQUdBLEVBQUVBLENBQUNBO1lBQzNCQSxJQUFJQSxrQkFBa0JBLEdBQUdBLEVBQUVBLENBQUNBO1lBQzVCQSxJQUFJQSxpQkFBaUJBLEdBQUdBLEVBQUVBLENBQUNBO1lBQzNCQSxJQUFJQSx3QkFBd0JBLEdBQUdBLEVBQUVBLENBQUNBO1lBQ2xDQSxPQUFPQSxDQUFDQSxPQUFPQSxDQUFDQSxhQUFhQSxFQUFFQSxVQUFDQSxLQUFLQSxFQUFFQSxHQUFHQTtnQkFDeENBLElBQUlBLElBQUlBLENBQUNBO2dCQUNUQSxFQUFFQSxDQUFDQSxDQUFDQSxHQUFHQSxDQUFDQSxPQUFPQSxDQUFDQSxPQUFPQSxDQUFDQSxHQUFHQSxDQUFDQSxJQUFJQSxHQUFHQSxDQUFDQSxPQUFPQSxDQUFDQSxRQUFRQSxDQUFDQSxHQUFHQSxDQUFDQSxJQUFJQSxHQUFHQSxDQUFDQSxPQUFPQSxDQUFDQSxVQUFVQSxDQUFDQSxHQUFHQSxDQUFDQSxJQUFHQSxHQUFHQSxDQUFDQSxPQUFPQSxDQUFDQSxPQUFPQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtvQkFDcEhBLElBQUlBLEdBQUdBLGlCQUFpQkEsQ0FBQ0E7Z0JBQzNCQSxDQUFDQTtnQkFBQ0EsSUFBSUEsQ0FBQ0EsRUFBRUEsQ0FBQ0EsQ0FBQ0EsR0FBR0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsU0FBU0EsQ0FBQ0EsR0FBR0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7b0JBQ3RDQSxJQUFJQSxHQUFHQSxrQkFBa0JBLENBQUNBO2dCQUM1QkEsQ0FBQ0E7Z0JBQUNBLElBQUlBLENBQUNBLEVBQUVBLENBQUNBLENBQUNBLEdBQUdBLENBQUNBLE9BQU9BLENBQUNBLGVBQWVBLENBQUNBLEdBQUdBLENBQUNBLENBQUNBLENBQUNBLENBQUNBO29CQUM1Q0EsSUFBSUEsR0FBR0Esd0JBQXdCQSxDQUFDQTtnQkFDbENBLENBQUNBO2dCQUFDQSxJQUFJQSxDQUFDQSxDQUFDQTtvQkFDTkEsSUFBSUEsR0FBR0EsaUJBQWlCQSxDQUFDQTtnQkFDM0JBLENBQUNBO2dCQUNEQSxJQUFJQSxDQUFDQSxHQUFHQSxDQUFDQSxHQUFHQSxLQUFLQSxDQUFDQTtZQUNwQkEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7WUFHSEEsV0FBV0EsQ0FBQ0EsYUFBYUEsR0FBR0EsYUFBYUEsQ0FBQ0E7WUFDMUNBLFdBQVdBLENBQUNBLGlCQUFpQkEsR0FBR0EsaUJBQWlCQSxDQUFDQTtZQUNsREEsV0FBV0EsQ0FBQ0Esa0JBQWtCQSxHQUFHQSxrQkFBa0JBLENBQUNBO1lBQ3BEQSxXQUFXQSxDQUFDQSx3QkFBd0JBLEdBQUdBLHdCQUF3QkEsQ0FBQ0E7WUFDaEVBLFdBQVdBLENBQUNBLGlCQUFpQkEsR0FBR0EsaUJBQWlCQSxDQUFDQTtRQUVwREEsQ0FBQ0E7SUFDSEEsQ0FBQ0E7SUE3TWV6Ryw0QkFBaUJBLEdBQWpCQSxpQkE2TWZBLENBQUFBO0lBRURBLFNBQWdCQSxrQkFBa0JBLENBQUNBLFlBQVlBLEVBQUVBLFlBQW1CQTtRQUFuQjRHLDRCQUFtQkEsR0FBbkJBLG1CQUFtQkE7UUFDbEVBLE9BQU9BLENBQUNBLE9BQU9BLENBQUNBLFlBQVlBLEVBQUVBLFVBQUNBLFdBQVdBO1lBQ3hDQSxpQkFBaUJBLENBQUNBLFdBQVdBLEVBQUVBLFlBQVlBLENBQUNBLENBQUNBO1FBQy9DQSxDQUFDQSxDQUFDQSxDQUFDQTtRQUNIQSxNQUFNQSxDQUFDQSxZQUFZQSxDQUFDQTtJQUN0QkEsQ0FBQ0E7SUFMZTVHLDZCQUFrQkEsR0FBbEJBLGtCQUtmQSxDQUFBQTtJQUVEQSxTQUFnQkEsWUFBWUEsQ0FBQ0EsTUFBTUE7UUFDakM2RyxPQUFPQSxDQUFDQSxPQUFPQSxDQUFDQSxNQUFNQSxFQUFFQSxVQUFDQSxLQUFLQTtZQUM1QkEsV0FBV0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsQ0FBQ0E7UUFDckJBLENBQUNBLENBQUNBLENBQUNBO1FBQ0hBLE1BQU1BLENBQUNBLENBQUNBLENBQUNBLE1BQU1BLENBQUNBLE1BQU1BLEVBQUVBLGVBQWVBLENBQUNBLENBQUNBLE9BQU9BLEVBQUVBLENBQUNBO0lBQ3JEQSxDQUFDQTtJQUxlN0csdUJBQVlBLEdBQVpBLFlBS2ZBLENBQUFBO0lBRURBLFNBQWdCQSxXQUFXQSxDQUFDQSxLQUFLQTtRQUMvQjhHLEVBQUVBLENBQUNBLENBQUNBLEtBQUtBLENBQUNBLENBQUNBLENBQUNBO1lBQ1ZBLElBQUlBLFFBQVFBLEdBQUdBLEtBQUtBLENBQUNBLFFBQVFBLElBQUlBLEVBQUVBLENBQUNBO1lBQ3BDQSxJQUFJQSxJQUFJQSxHQUFHQSxPQUFPQSxDQUFDQSxLQUFLQSxDQUFDQSxDQUFDQTtZQUMxQkEsSUFBSUEsU0FBU0EsR0FBR0EsWUFBWUEsQ0FBQ0EsS0FBS0EsQ0FBQ0EsQ0FBQ0E7WUFDcENBLEtBQUtBLENBQUNBLEtBQUtBLEdBQUdBLElBQUlBLENBQUNBO1lBQ25CQSxLQUFLQSxDQUFDQSxVQUFVQSxHQUFHQSxTQUFTQSxDQUFDQTtZQUU3QkEsSUFBSUEsU0FBU0EsR0FBR0EsSUFBSUEsQ0FBQ0EsS0FBS0EsQ0FBQ0EsR0FBR0EsQ0FBQ0EsQ0FBQ0E7WUFDaENBLElBQUlBLGVBQWVBLEdBQUdBLFNBQVNBLENBQUNBLE1BQU1BLENBQUNBO1lBQ3ZDQSxLQUFLQSxDQUFDQSxVQUFVQSxHQUFHQSxDQUFDQSxlQUFlQSxHQUFHQSxDQUFDQSxDQUFDQSxHQUFHQSxTQUFTQSxDQUFDQSxLQUFLQSxDQUFDQSxDQUFDQSxFQUFFQSxlQUFlQSxHQUFHQSxDQUFDQSxDQUFDQSxDQUFDQSxJQUFJQSxDQUFDQSxHQUFHQSxDQUFDQSxHQUFHQSxJQUFJQSxDQUFDQSxTQUFTQSxDQUFDQSxDQUFDQSxFQUFFQSxFQUFFQSxDQUFDQSxDQUFDQTtZQUVySEEsSUFBSUEsTUFBTUEsR0FBR0EsU0FBU0EsQ0FBQ0EsZ0JBQUtBLENBQUNBLENBQUNBO1lBQzlCQSxJQUFJQSxRQUFRQSxHQUFHQSxNQUFNQSxDQUFDQSxXQUFXQSxDQUFDQTtZQUNsQ0EsS0FBS0EsQ0FBQ0EsU0FBU0EsR0FBR0EsUUFBUUEsQ0FBQ0E7WUFDM0JBLEVBQUVBLENBQUNBLENBQUNBLFFBQVFBLENBQUNBLENBQUNBLENBQUNBO2dCQUNiQSxBQUNBQSwyRUFEMkVBO2dCQUMzRUEsS0FBS0EsQ0FBQ0EsV0FBV0EsR0FBR0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsWUFBWUEsRUFBRUEsMEJBQTBCQSxFQUFFQSxFQUFFQSxVQUFVQSxFQUFFQSxRQUFRQSxDQUFDQSxDQUFDQTtZQUN4R0EsQ0FBQ0E7WUFDREEsSUFBSUEsaUJBQWlCQSxHQUFHQSxvQkFBb0JBLENBQUNBLEtBQUtBLENBQUNBLENBQUNBO1lBQ3BEQSxFQUFFQSxDQUFDQSxDQUFDQSxpQkFBaUJBLENBQUNBLENBQUNBLENBQUNBO2dCQUN0QkEsSUFBSUEsQ0FBQ0EsR0FBR0EsSUFBSUEsSUFBSUEsQ0FBQ0EsaUJBQWlCQSxDQUFDQSxDQUFDQTtnQkFDcENBLEtBQUtBLENBQUNBLGFBQWFBLEdBQUdBLENBQUNBLENBQUNBO1lBQzFCQSxDQUFDQTtZQUNEQSxFQUFFQSxDQUFDQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDVEEsQUFDQUEsK0RBRCtEQTtnQkFDL0RBLEtBQUtBLENBQUNBLFNBQVNBLEdBQUdBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLFlBQVlBLEVBQUVBLDBCQUEwQkEsRUFBRUEsRUFBRUEsVUFBVUEsRUFBRUEsUUFBUUEsRUFBRUEsUUFBUUEsRUFBRUEsSUFBSUEsQ0FBQ0EsQ0FBQ0E7Z0JBQ3BIQSxLQUFLQSxDQUFDQSxTQUFTQSxHQUFHQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxzQkFBc0JBLEVBQUVBLElBQUlBLENBQUNBLENBQUNBO1lBQ2xFQSxDQUFDQTtZQUNEQSxJQUFJQSxPQUFPQSxHQUFHQSxLQUFLQSxDQUFDQSxPQUFPQSxDQUFDQTtZQUM1QkEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsT0FBT0EsSUFBSUEsU0FBU0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ3pCQSxJQUFJQSxZQUFZQSxHQUFHQSxPQUFPQSxDQUFDQSxLQUFLQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFDQTtnQkFDdENBLElBQUlBLGtCQUFrQkEsR0FBR0EsWUFBWUEsQ0FBQ0EsTUFBTUEsQ0FBQUE7Z0JBQzVDQSxLQUFLQSxDQUFDQSxhQUFhQSxHQUFHQSxDQUFDQSxrQkFBa0JBLEdBQUdBLENBQUNBLENBQUNBLEdBQUdBLFlBQVlBLENBQUNBLGtCQUFrQkEsR0FBR0EsQ0FBQ0EsQ0FBQ0EsR0FBR0EsT0FBT0EsQ0FBQ0EsU0FBU0EsQ0FBQ0EsQ0FBQ0EsRUFBRUEsRUFBRUEsQ0FBQ0EsQ0FBQ0E7Z0JBQ2pIQSxLQUFLQSxDQUFDQSxRQUFRQSxHQUFHQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxzQkFBc0JBLEVBQUVBLFNBQVNBLEVBQUVBLE1BQU1BLEVBQUVBLE9BQU9BLENBQUNBLENBQUNBO1lBQ3ZGQSxDQUFDQTtRQUNIQSxDQUFDQTtRQUNEQSxNQUFNQSxDQUFDQSxLQUFLQSxDQUFDQTtJQUNmQSxDQUFDQTtJQXRDZTlHLHNCQUFXQSxHQUFYQSxXQXNDZkEsQ0FBQUE7SUFHREEsU0FBZ0JBLHNCQUFzQkEsQ0FBQ0EsZ0JBQWdCQTtRQUNyRCtHLEVBQUVBLENBQUNBLENBQUNBLGdCQUFnQkEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7WUFDckJBLElBQUlBLFVBQVVBLEdBQVVBLElBQUlBLENBQUNBO1lBQzdCQSxJQUFJQSxJQUFJQSxHQUFHQSxJQUFJQSxDQUFDQSxPQUFPQSxDQUFDQSxnQkFBZ0JBLEVBQUVBLENBQUNBLFVBQVVBLEVBQUVBLE1BQU1BLENBQUNBLENBQUNBLENBQUNBO1lBQ2hFQSxnQkFBZ0JBLENBQUNBLEtBQUtBLEdBQUdBLElBQUlBLENBQUNBO1lBQzlCQSxJQUFJQSxLQUFLQSxHQUFHQSxLQUFLQSxDQUFDQTtZQUNsQkEsT0FBT0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsZ0JBQWdCQSxDQUFDQSxRQUFRQSxFQUFFQSxVQUFDQSxPQUFPQTtnQkFDakRBLElBQUlBLElBQUlBLEdBQUdBLE9BQU9BLENBQUNBLElBQUlBLENBQUNBO2dCQUN4QkEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsZ0JBQWdCQSxDQUFDQSxrQkFBa0JBLElBQUlBLElBQUlBLEtBQUtBLGFBQWFBLENBQUNBLENBQUNBLENBQUNBO29CQUNuRUEsSUFBSUEsaUJBQWlCQSxHQUFHQSxPQUFPQSxDQUFDQSxpQkFBaUJBLENBQUNBO29CQUNsREEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsaUJBQWlCQSxDQUFDQSxDQUFDQSxDQUFDQTt3QkFDdEJBLElBQUlBLGNBQWNBLEdBQUdBLGlCQUFpQkEsQ0FBQ0EsY0FBY0EsSUFBSUEsRUFBRUEsQ0FBQ0E7d0JBQzVEQSxpQkFBaUJBLENBQUNBLGVBQWVBLEdBQUdBLGNBQWNBLENBQUNBLElBQUlBLENBQUNBLEdBQUdBLENBQUNBLENBQUNBO3dCQUM3REEsZ0JBQWdCQSxDQUFDQSxrQkFBa0JBLEdBQUdBLGlCQUFpQkEsQ0FBQ0E7b0JBQzFEQSxDQUFDQTtnQkFDSEEsQ0FBQ0E7WUFDSEEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7UUFDTEEsQ0FBQ0E7SUFDSEEsQ0FBQ0E7SUFsQmUvRyxpQ0FBc0JBLEdBQXRCQSxzQkFrQmZBLENBQUFBO0lBRURBLFNBQWdCQSx1QkFBdUJBLENBQUNBLGlCQUFpQkE7UUFDdkRnSCxPQUFPQSxDQUFDQSxPQUFPQSxDQUFDQSxpQkFBaUJBLEVBQUVBLFVBQUNBLGdCQUFnQkE7WUFDbERBLHNCQUFzQkEsQ0FBQ0EsZ0JBQWdCQSxDQUFDQSxDQUFDQTtRQUMzQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7UUFDSEEsTUFBTUEsQ0FBQ0EsaUJBQWlCQSxDQUFDQTtJQUMzQkEsQ0FBQ0E7SUFMZWhILGtDQUF1QkEsR0FBdkJBLHVCQUtmQSxDQUFBQTtJQUdEQSxTQUFnQkEsV0FBV0EsQ0FBQ0EsS0FBS0E7UUFDL0JpSCxFQUFFQSxDQUFDQSxDQUFDQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUFDQTtZQUNWQSxJQUFJQSxRQUFRQSxHQUFHQSxLQUFLQSxDQUFDQSxRQUFRQSxJQUFJQSxFQUFFQSxDQUFDQTtZQUVwQ0EsSUFBSUEsY0FBY0EsR0FBR0EsS0FBS0EsQ0FBQ0EsY0FBY0EsQ0FBQ0E7WUFDMUNBLEVBQUVBLENBQUNBLENBQUNBLGNBQWNBLENBQUNBLENBQUNBLENBQUNBO2dCQUNuQkEsSUFBSUEsQ0FBQ0EsR0FBR0EsSUFBSUEsSUFBSUEsQ0FBQ0EsY0FBY0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ2pDQSxLQUFLQSxDQUFDQSxlQUFlQSxHQUFHQSxDQUFDQSxDQUFDQTtZQUM1QkEsQ0FBQ0E7WUFDREEsSUFBSUEsYUFBYUEsR0FBR0EsS0FBS0EsQ0FBQ0EsYUFBYUEsQ0FBQ0E7WUFDeENBLEVBQUVBLENBQUNBLENBQUNBLGFBQWFBLENBQUNBLENBQUNBLENBQUNBO2dCQUNsQkEsSUFBSUEsQ0FBQ0EsR0FBR0EsSUFBSUEsSUFBSUEsQ0FBQ0EsYUFBYUEsQ0FBQ0EsQ0FBQ0E7Z0JBQ2hDQSxLQUFLQSxDQUFDQSxjQUFjQSxHQUFHQSxDQUFDQSxDQUFDQTtZQUMzQkEsQ0FBQ0E7WUFDREEsSUFBSUEsTUFBTUEsR0FBR0EsT0FBT0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsS0FBS0EsQ0FBQ0EsTUFBTUEsSUFBSUEsRUFBRUEsQ0FBQ0EsQ0FBQ0E7WUFDOUNBLElBQUlBLGNBQWNBLEdBQUdBLEtBQUtBLENBQUNBLGNBQWNBLElBQUlBLEVBQUVBLENBQUNBO1lBQ2hEQSxJQUFJQSxJQUFJQSxHQUFHQSxjQUFjQSxDQUFDQSxJQUFJQSxDQUFDQTtZQUMvQkEsSUFBSUEsSUFBSUEsR0FBR0EsY0FBY0EsQ0FBQ0EsSUFBSUEsQ0FBQ0E7WUFDL0JBLEVBQUVBLENBQUNBLENBQUNBLElBQUlBLENBQUNBLENBQUNBLENBQUNBO2dCQUNUQSxNQUFNQSxDQUFDQSxNQUFNQSxDQUFDQSxHQUFHQSxJQUFJQSxDQUFDQTtZQUN4QkEsQ0FBQ0E7WUFDREEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ1RBLE1BQU1BLENBQUNBLE1BQU1BLENBQUNBLEdBQUdBLElBQUlBLENBQUNBO1lBQ3hCQSxDQUFDQTtZQUNEQSxLQUFLQSxDQUFDQSxXQUFXQSxHQUFHQSxVQUFVQSxDQUFDQSxjQUFjQSxDQUFDQSxNQUFNQSxDQUFDQSxDQUFDQTtRQUV4REEsQ0FBQ0E7SUFDSEEsQ0FBQ0E7SUEzQmVqSCxzQkFBV0EsR0FBWEEsV0EyQmZBLENBQUFBO0lBRURBLFNBQWdCQSxZQUFZQSxDQUFDQSxNQUFNQSxFQUFFQSxLQUFZQTtRQUFaa0gscUJBQVlBLEdBQVpBLFlBQVlBO1FBQy9DQSxPQUFPQSxDQUFDQSxPQUFPQSxDQUFDQSxNQUFNQSxFQUFFQSxVQUFDQSxLQUFLQTtZQUM1QkEsV0FBV0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsQ0FBQ0E7UUFDckJBLENBQUNBLENBQUNBLENBQUNBO1FBRUhBLEFBQ0FBLHNEQURzREE7UUFDdERBLEVBQUVBLENBQUNBLENBQUNBLEtBQUtBLENBQUNBLENBQUNBLENBQUNBO1lBQ1ZBLFNBQVNBLFdBQVdBLENBQUNBLE1BQU1BO2dCQUN6QkMsTUFBTUEsQ0FBQ0EsT0FBT0EsR0FBR0EsRUFBRUEsQ0FBQ0E7Z0JBQ3BCQSxNQUFNQSxDQUFDQSxXQUFXQSxHQUFHQSxJQUFJQSxDQUFDQTtnQkFDMUJBLE1BQU1BLENBQUNBLFdBQVdBLEdBQUdBLENBQUNBLENBQUNBO1lBQ3pCQSxDQUFDQTtZQUVERCxTQUFTQSxXQUFXQSxDQUFDQSxNQUFNQSxFQUFFQSxLQUFLQTtnQkFDaENFLEVBQUVBLENBQUNBLENBQUNBLE1BQU1BLENBQUNBLENBQUNBLENBQUNBO29CQUNYQSxNQUFNQSxDQUFDQSxPQUFPQSxDQUFDQSxJQUFJQSxDQUFDQSxLQUFLQSxDQUFDQSxDQUFDQTtvQkFDM0JBLEVBQUVBLENBQUNBLENBQUNBLENBQUNBLE1BQU1BLENBQUNBLFdBQVdBLENBQUNBLENBQUNBLENBQUNBO3dCQUN4QkEsTUFBTUEsQ0FBQ0EsV0FBV0EsR0FBR0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0Esd0JBQXdCQSxFQUFFQSwwQkFBMEJBLEVBQUVBLEVBQUVBLFFBQVFBLENBQUNBLEdBQUdBLFlBQVlBLEdBQUdBLE1BQU1BLENBQUNBLElBQUlBLEdBQUdBLFlBQVlBLEdBQUdBLE1BQU1BLENBQUNBLFFBQVFBLENBQUNBLElBQUlBLENBQUNBO29CQUM1S0EsQ0FBQ0E7b0JBQ0RBLE1BQU1BLENBQUNBLFdBQVdBLEdBQUdBLE1BQU1BLENBQUNBLE9BQU9BLENBQUNBLE1BQU1BLENBQUNBO2dCQUM3Q0EsQ0FBQ0E7WUFDSEEsQ0FBQ0E7WUFFREYsSUFBSUEsSUFBSUEsR0FBR0EsS0FBS0EsQ0FBQ0EsSUFBSUEsSUFBSUEsRUFBRUEsQ0FBQ0E7WUFDNUJBLElBQUlBLEdBQUdBLEdBQUdBLEtBQUtBLENBQUNBLHNCQUFzQkEsSUFBSUEsRUFBRUEsQ0FBQ0E7WUFDN0NBLE9BQU9BLENBQUNBLE9BQU9BLENBQUNBLElBQUlBLEVBQUVBLFdBQVdBLENBQUNBLENBQUNBO1lBQ25DQSxPQUFPQSxDQUFDQSxPQUFPQSxDQUFDQSxHQUFHQSxFQUFFQSxXQUFXQSxDQUFDQSxDQUFDQTtZQUVsQ0EsT0FBT0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsTUFBTUEsRUFBRUEsVUFBQ0EsS0FBS0E7Z0JBQzVCQSxJQUFJQSxjQUFjQSxHQUFHQSxLQUFLQSxDQUFDQSxjQUFjQSxJQUFJQSxFQUFFQSxDQUFDQTtnQkFDaERBLElBQUlBLElBQUlBLEdBQUdBLGNBQWNBLENBQUNBLElBQUlBLENBQUNBO2dCQUMvQkEsSUFBSUEsSUFBSUEsR0FBR0EsY0FBY0EsQ0FBQ0EsSUFBSUEsQ0FBQ0E7Z0JBQy9CQSxJQUFJQSxFQUFFQSxHQUFHQSxLQUFLQSxDQUFDQSxnQkFBZ0JBLEVBQUVBLENBQUNBO2dCQUNsQ0EsRUFBRUEsQ0FBQ0EsQ0FBQ0EsSUFBSUEsSUFBSUEsSUFBSUEsSUFBSUEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7b0JBQ3ZCQSxJQUFJQSxNQUFNQSxHQUFHQSxJQUFJQSxDQUFDQTtvQkFDbEJBLEVBQUVBLENBQUNBLENBQUNBLElBQUlBLEtBQUtBLHVCQUF1QkEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7d0JBQ3JDQSxNQUFNQSxHQUFHQSxLQUFLQSxDQUFDQSx3QkFBd0JBLENBQUNBLEVBQUVBLEVBQUVBLElBQUlBLENBQUNBLENBQUNBO29CQUNwREEsQ0FBQ0E7b0JBQUNBLElBQUlBLENBQUNBLEVBQUVBLENBQUNBLENBQUNBLElBQUlBLEtBQUtBLEtBQUtBLENBQUNBLENBQUNBLENBQUNBO3dCQUMxQkEsTUFBTUEsR0FBR0EsS0FBS0EsQ0FBQ0EsTUFBTUEsQ0FBQ0EsRUFBRUEsRUFBRUEsSUFBSUEsQ0FBQ0EsQ0FBQ0E7b0JBQ2xDQSxDQUFDQTtvQkFDREEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsTUFBTUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7d0JBQ1hBLFdBQVdBLENBQUNBLE1BQU1BLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBO29CQUM3QkEsQ0FBQ0E7Z0JBQ0hBLENBQUNBO1lBQ0hBLENBQUNBLENBQUNBLENBQUNBO1FBQ0xBLENBQUNBO1FBQ0RBLE1BQU1BLENBQUNBLE1BQU1BLENBQUNBO0lBQ2hCQSxDQUFDQTtJQS9DZWxILHVCQUFZQSxHQUFaQSxZQStDZkEsQ0FBQUE7SUFFREEsU0FBZ0JBLHFCQUFxQkEsQ0FBQ0EsZUFBZUE7UUFDbkRxSCxFQUFFQSxDQUFDQSxDQUFDQSxlQUFlQSxDQUFDQSxDQUFDQSxDQUFDQTtZQUNwQkEsSUFBSUEsVUFBVUEsR0FBVUEsSUFBSUEsQ0FBQ0E7WUFDN0JBLElBQUlBLElBQUlBLEdBQUdBLElBQUlBLENBQUNBLE9BQU9BLENBQUNBLGVBQWVBLEVBQUVBLENBQUNBLFVBQVVBLEVBQUVBLE1BQU1BLENBQUNBLENBQUNBLENBQUNBO1lBQy9EQSxlQUFlQSxDQUFDQSxLQUFLQSxHQUFHQSxJQUFJQSxDQUFDQTtRQUMvQkEsQ0FBQ0E7SUFDSEEsQ0FBQ0E7SUFOZXJILGdDQUFxQkEsR0FBckJBLHFCQU1mQSxDQUFBQTtJQUVEQSxTQUFnQkEsdUJBQXVCQSxDQUFDQSxpQkFBaUJBO1FBQ3ZEc0gsT0FBT0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsaUJBQWlCQSxFQUFFQSxVQUFDQSxlQUFlQTtZQUNqREEscUJBQXFCQSxDQUFDQSxlQUFlQSxDQUFDQSxDQUFDQTtRQUN6Q0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7UUFDSEEsTUFBTUEsQ0FBQ0EsaUJBQWlCQSxDQUFDQTtJQUMzQkEsQ0FBQ0E7SUFMZXRILGtDQUF1QkEsR0FBdkJBLHVCQUtmQSxDQUFBQTtJQUdEQSxJQUFJQSxXQUFXQSxHQUFHQTtRQUNoQkEsU0FBU0EsRUFBRUEsaUJBQWlCQTtRQUM1QkEsTUFBTUEsRUFBRUEsd0JBQXdCQTtRQUNoQ0EsV0FBV0EsRUFBRUEsdUJBQXVCQTtLQUNyQ0EsQ0FBQ0E7SUFFRkEsU0FBZ0JBLG1CQUFtQkEsQ0FBQ0EsU0FBZ0JBO1FBQ2xEdUgsRUFBRUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsU0FBU0EsSUFBSUEsV0FBV0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7WUFDaENBLE1BQU1BLENBQUNBLGVBQWVBLENBQUNBO1FBQ3pCQSxDQUFDQTtRQUNEQSxJQUFJQTtZQUFDQSxNQUFNQSxDQUFDQSxXQUFXQSxDQUFDQSxTQUFTQSxDQUFDQSxHQUFHQSxnQkFBZ0JBLENBQUNBO0lBQ3hEQSxDQUFDQTtJQUxldkgsOEJBQW1CQSxHQUFuQkEsbUJBS2ZBLENBQUFBO0lBR0RBLEFBR0FBOztPQURHQTthQUNhQSxjQUFjQTtRQUM1QndILEFBQ0FBLGtFQURrRUE7UUFDbEVBLE1BQU1BLENBQUNBLElBQUlBLENBQUNBO0lBQ2RBLENBQUNBO0lBSGV4SCx5QkFBY0EsR0FBZEEsY0FHZkEsQ0FBQUE7SUFFREEsQUFHQUE7O09BREdBO2FBQ2FBLDBCQUEwQkE7UUFDeEN5SCxJQUFJQSxRQUFRQSxHQUFHQSxVQUFVQSxDQUFDQSxRQUFRQSxDQUFDQTtRQUNuQ0EsRUFBRUEsQ0FBQ0EsQ0FBQ0EsUUFBUUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7WUFDYkEsSUFBSUEsZUFBZUEsR0FBR0EsUUFBUUEsQ0FBQ0EsR0FBR0EsQ0FBQ0EsaUJBQWlCQSxDQUFDQSxJQUFJQSxFQUFFQSxDQUFDQTtZQUM1REEsTUFBTUEsQ0FBQ0EsZUFBZUEsQ0FBQ0EsaUJBQWlCQSxJQUFJQSwyQkFBZ0JBLENBQUNBO1FBQy9EQSxDQUFDQTtRQUNEQSxNQUFNQSxDQUFDQSwyQkFBZ0JBLENBQUNBO0lBQzFCQSxDQUFDQTtJQVBlekgscUNBQTBCQSxHQUExQkEsMEJBT2ZBLENBQUFBO0lBRURBLEFBR0FBOztPQURHQTthQUNhQSxlQUFlQTtRQUM3QjBILE9BQU9BLENBQUNBLE9BQU9BLENBQUNBLGlCQUFNQSxDQUFDQSxXQUFXQSxFQUFFQSxVQUFDQSxVQUFVQSxFQUFFQSxJQUFJQTtZQUNuREEsSUFBSUEsVUFBVUEsR0FBR0EsVUFBVUEsQ0FBQ0EsVUFBVUEsQ0FBQ0E7WUFDdkNBLEVBQUVBLENBQUNBLENBQUNBLFVBQVVBLENBQUNBLENBQUNBLENBQUNBO2dCQUNmQSxJQUFJQSxjQUFjQSxHQUFHQSxDQUFDQSxtQkFBbUJBLEVBQUVBLE1BQU1BLEVBQUVBLFlBQVlBLEVBQUVBLGFBQWFBLEVBQUVBLHNCQUFzQkEsRUFBRUEsV0FBV0EsRUFBRUEsaUJBQWlCQSxFQUFFQSxVQUFVQSxFQUFFQSxLQUFLQSxDQUFDQSxDQUFDQTtnQkFDM0pBLE9BQU9BLENBQUNBLE9BQU9BLENBQUNBLGNBQWNBLEVBQUVBLFVBQUNBLFlBQVlBO29CQUMzQ0EsSUFBSUEsUUFBUUEsR0FBR0EsVUFBVUEsQ0FBQ0EsWUFBWUEsQ0FBQ0EsQ0FBQ0E7b0JBQ3hDQSxFQUFFQSxDQUFDQSxDQUFDQSxRQUFRQSxDQUFDQSxDQUFDQSxDQUFDQTt3QkFDYkEsUUFBUUEsQ0FBQ0EsUUFBUUEsQ0FBQ0EsR0FBSUEsSUFBSUEsQ0FBQ0E7b0JBQzdCQSxDQUFDQTtnQkFDSEEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ0hBLE9BQU9BLENBQUNBLE9BQU9BLENBQUNBLFVBQVVBLEVBQUVBLFVBQUNBLFFBQVFBLEVBQUVBLFlBQVlBO29CQUNqREEsSUFBSUEsR0FBR0EsR0FBR0EsUUFBUUEsQ0FBQ0EsTUFBTUEsQ0FBQ0EsQ0FBQ0E7b0JBQzNCQSxJQUFJQSxJQUFJQSxHQUFHQSxRQUFRQSxDQUFDQSxNQUFNQSxDQUFDQSxDQUFDQTtvQkFDNUJBLEVBQUVBLENBQUNBLENBQUNBLEdBQUdBLElBQUlBLENBQUNBLENBQUNBLElBQUlBLElBQUlBLElBQUlBLEtBQUtBLFFBQVFBLENBQUNBLENBQUNBLENBQUNBLENBQUNBO3dCQUN4Q0EsUUFBUUEsQ0FBQ0EsTUFBTUEsQ0FBQ0EsR0FBR0EsR0FBR0EsQ0FBQ0E7b0JBQ3pCQSxDQUFDQTtvQkFDREEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsSUFBSUEsS0FBS0EsT0FBT0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7d0JBQ3JCQSxJQUFJQSxLQUFLQSxHQUFHQSxRQUFRQSxDQUFDQSxPQUFPQSxDQUFDQSxDQUFDQTt3QkFDOUJBLEVBQUVBLENBQUNBLENBQUNBLEtBQUtBLENBQUNBLENBQUNBLENBQUNBOzRCQUNWQSxJQUFJQSxHQUFHQSxHQUFHQSxLQUFLQSxDQUFDQSxNQUFNQSxDQUFDQSxDQUFDQTs0QkFDeEJBLElBQUlBLElBQUlBLEdBQUdBLEtBQUtBLENBQUNBLE1BQU1BLENBQUNBLENBQUNBOzRCQUN6QkEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsR0FBR0EsSUFBSUEsQ0FBQ0EsQ0FBQ0EsSUFBSUEsSUFBSUEsSUFBSUEsS0FBS0EsUUFBUUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0NBQ3hDQSxLQUFLQSxDQUFDQSxNQUFNQSxDQUFDQSxHQUFHQSxHQUFHQSxDQUFDQTs0QkFDdEJBLENBQUNBO3dCQUNIQSxDQUFDQTtvQkFDSEEsQ0FBQ0E7Z0JBQ0hBLENBQUNBLENBQUNBLENBQUNBO1lBQ0xBLENBQUNBO1lBRURBLGlCQUFNQSxDQUFDQSxXQUFXQSxDQUFDQSx1QkFBdUJBLENBQUNBLFVBQVVBLENBQUNBLE1BQU1BLENBQUNBLElBQUlBLEdBQUdBLFVBQVVBLENBQUNBO1FBQ2pGQSxDQUFDQSxDQUFDQSxDQUFBQTtJQUNKQSxDQUFDQTtJQWhDZTFILDBCQUFlQSxHQUFmQSxlQWdDZkEsQ0FBQUE7SUFFREEsQUFHQUE7O09BREdBO2FBQ2FBLFNBQVNBLENBQUNBLElBQUlBO1FBQzVCMkgsSUFBSUEsQ0FBQ0EsR0FBR0EsT0FBT0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsQ0FBQ0E7UUFDM0JBLE9BQU9BLENBQUNBLE9BQU9BLENBQUNBLENBQUNBLEVBQUVBLFVBQUNBLEtBQUtBLEVBQUVBLEdBQUdBO1lBQzVCQSxFQUFFQSxDQUFDQSxDQUFDQSxHQUFHQSxDQUFDQSxVQUFVQSxDQUFDQSxHQUFHQSxDQUFDQSxJQUFJQSxHQUFHQSxDQUFDQSxVQUFVQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDL0NBLE9BQU9BLENBQUNBLENBQUNBLEdBQUdBLENBQUNBLENBQUNBO1lBQ2hCQSxDQUFDQTtRQUNIQSxDQUFDQSxDQUFDQSxDQUFDQTtRQUNIQSxNQUFNQSxDQUFDQSxJQUFJQSxDQUFDQSxTQUFTQSxDQUFDQSxDQUFDQSxFQUFFQSxJQUFJQSxFQUFFQSxDQUFDQSxDQUFDQSxFQUFFQSxvQkFBb0JBO0lBQ3pEQSxDQUFDQSxHQURtQ0E7SUFQcEIzSCxvQkFBU0EsR0FBVEEsU0FRZkEsQ0FBQUE7QUFFSEEsQ0FBQ0EsRUE1NkNNLFVBQVUsS0FBVixVQUFVLFFBNDZDaEI7O0FDOTZDRCx5Q0FBeUM7QUFDekMsZ0VBQWdFO0FBQ2hFLDJDQUEyQztBQUUzQyxJQUFPLFNBQVMsQ0F1SmY7QUF2SkQsV0FBTyxTQUFTLEVBQUMsQ0FBQztJQUVMViw0QkFBa0JBLEdBQUdBLG9CQUFVQSxDQUFDQSxvQkFBb0JBLEVBQUVBLENBQUNBLFFBQVFBLEVBQUVBLGlCQUFpQkEsRUFBRUEsa0JBQWtCQSxFQUFFQSxpQkFBaUJBLEVBQUVBLFNBQVNBLEVBQUVBLFNBQVNBLEVBQUVBLGdCQUFnQkEsRUFBRUEsY0FBY0EsRUFBRUEsV0FBV0EsRUFBRUEsY0FBY0EsRUFBRUEsT0FBT0EsRUFBRUEsVUFBVUEsRUFBRUEsa0JBQWtCQSxFQUNoUUEsVUFBQ0EsTUFBTUEsRUFBRUEsZUFBaURBLEVBQUVBLGdCQUFnQkEsRUFBRUEsZUFBZUEsRUFBRUEsT0FBT0EsRUFBRUEsT0FBT0EsRUFBRUEsY0FBY0EsRUFBRUEsWUFBWUEsRUFBRUEsU0FBNkJBLEVBQUVBLFlBQVlBLEVBQUVBLEtBQUtBLEVBQUVBLFFBQVFBLEVBQUVBLGdCQUFnQkE7UUFFM05BLE1BQU1BLENBQUNBLFVBQVVBLEdBQUdBLGVBQWVBLENBQUNBO1FBQ3BDQSxNQUFNQSxDQUFDQSxLQUFLQSxHQUFHQSxlQUFlQSxDQUFDQTtRQUMvQkEsTUFBTUEsQ0FBQ0EsZ0JBQWdCQSxHQUFHQSxnQkFBZ0JBLENBQUNBO1FBRTNDQSxNQUFNQSxDQUFDQSxXQUFXQSxHQUFHQTtZQUNuQkEsSUFBSUEsRUFBRUEsb0JBQW9CQTtZQUMxQkEscUJBQXFCQSxFQUFFQSxJQUFJQTtZQUMzQkEsdUJBQXVCQSxFQUFFQSxLQUFLQTtZQUM5QkEsV0FBV0EsRUFBRUEsSUFBSUE7WUFDakJBLGFBQWFBLEVBQUVBLEVBQUVBO1lBQ2pCQSxhQUFhQSxFQUFFQTtnQkFDYkEsVUFBVUEsRUFBRUEsU0FBU0EsQ0FBQ0EsTUFBTUEsRUFBRUEsQ0FBQ0EsR0FBR0EsQ0FBQ0EsSUFBSUEsRUFBRUE7YUFDMUNBO1lBQ0RBLFVBQVVBLEVBQUVBO2dCQUNWQTtvQkFDRUEsS0FBS0EsRUFBRUEsZUFBZUE7b0JBQ3RCQSxXQUFXQSxFQUFFQSxNQUFNQTtvQkFDbkJBLFlBQVlBLEVBQUVBLGNBQWNBLENBQUNBLEdBQUdBLENBQUNBLGlCQUFpQkEsQ0FBQ0E7aUJBQ3BEQTtnQkFPREE7b0JBQ0VBLEtBQUtBLEVBQUVBLHFCQUFxQkE7b0JBQzVCQSxXQUFXQSxFQUFFQSxZQUFZQTtpQkFDMUJBO2dCQWVEQTtvQkFDRUEsS0FBS0EsRUFBRUEsbUJBQW1CQTtvQkFDMUJBLFdBQVdBLEVBQUVBLE1BQU1BO29CQUNuQkEsS0FBS0EsRUFBRUEsS0FBS0E7b0JBQ1pBLFFBQVFBLEVBQUVBLEdBQUdBO29CQUNiQSxZQUFZQSxFQUFFQSxjQUFjQSxDQUFDQSxHQUFHQSxDQUFDQSxtQ0FBbUNBLENBQUNBO2lCQUN0RUE7Z0JBQ0RBO29CQUNFQSxLQUFLQSxFQUFFQSxvQkFBb0JBO29CQUMzQkEsV0FBV0EsRUFBRUEsUUFBUUE7b0JBQ3JCQSxLQUFLQSxFQUFFQSxLQUFLQTtvQkFDWkEsUUFBUUEsRUFBRUEsR0FBR0E7b0JBQ2JBLFlBQVlBLEVBQUVBLGNBQWNBLENBQUNBLEdBQUdBLENBQUNBLG9DQUFvQ0EsQ0FBQ0E7aUJBQ3ZFQTtnQkFDREE7b0JBQ0VBLEtBQUtBLEVBQUVBLDBCQUEwQkE7b0JBQ2pDQSxXQUFXQSxFQUFFQSxjQUFjQTtvQkFDM0JBLEtBQUtBLEVBQUVBLEtBQUtBO29CQUNaQSxRQUFRQSxFQUFFQSxHQUFHQTtvQkFDYkEsWUFBWUEsRUFBRUEsY0FBY0EsQ0FBQ0EsR0FBR0EsQ0FBQ0EsMENBQTBDQSxDQUFDQTtpQkFDN0VBO2dCQUNEQTtvQkFDRUEsS0FBS0EsRUFBRUEsbUJBQW1CQTtvQkFDMUJBLFdBQVdBLEVBQUVBLFFBQVFBO29CQUNyQkEsS0FBS0EsRUFBRUEsS0FBS0E7b0JBQ1pBLFFBQVFBLEVBQUVBLEdBQUdBO29CQUNiQSxZQUFZQSxFQUFFQSxjQUFjQSxDQUFDQSxHQUFHQSxDQUFDQSxtQ0FBbUNBLENBQUNBO2lCQUN0RUE7YUFDRkE7U0FDRkEsQ0FBQ0E7UUFFRkEsVUFBVUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsTUFBTUEsRUFBRUEsU0FBU0EsRUFBRUEsS0FBS0EsRUFBRUEsUUFBUUEsRUFBRUEsWUFBWUEsRUFBRUEsZUFBZUEsRUFBRUEsZUFBZUEsRUFBRUEsZ0JBQWdCQSxDQUFDQSxDQUFDQTtRQUM1SEEsTUFBTUEsQ0FBQ0EsZ0JBQWdCQSxHQUFHQSxrQ0FBd0JBLEVBQUVBLENBQUNBO1FBQ3JEQSxNQUFNQSxDQUFDQSxZQUFZQSxHQUFHQSxTQUFTQSxDQUFDQSx5QkFBeUJBLEVBQUVBLENBQUNBO1FBRTVEQSxNQUFNQSxDQUFDQSxnQkFBZ0JBLEdBQUdBLEtBQUtBLENBQUNBLGdCQUFnQkEsQ0FBQ0E7UUFFakRBLE1BQU1BLENBQUNBLFlBQVlBLEdBQUdBLFVBQUNBLFFBQVFBO1lBQzdCQSxFQUFFQSxDQUFDQSw0QkFBNEJBLENBQW1DQTtnQkFDaEVBLFVBQVVBLEVBQUVBLFFBQVFBO2dCQUNwQkEsS0FBS0EsRUFBRUEsT0FBT0E7Z0JBQ2RBLE9BQU9BLEVBQUVBLFVBQUNBLE1BQWNBO29CQUN0QkEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsTUFBTUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7d0JBQ1hBLFNBQVNBLGNBQWNBLENBQUNBLFFBQVFBLEVBQUVBLElBQUlBOzRCQUNwQ3NJLEVBQUVBLENBQUNBLENBQUNBLElBQUlBLENBQUNBLENBQUNBLENBQUNBO2dDQUNUQSxZQUFZQSxDQUFDQSxJQUFJQSxFQUFFQTtvQ0FDakJBLGNBQWNBLENBQUNBLFFBQVFBLEVBQUVBLFFBQVFBLENBQUNBLEtBQUtBLEVBQUVBLENBQUNBLENBQUNBO2dDQUM3Q0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7NEJBQ0xBLENBQUNBOzRCQUFDQSxJQUFJQSxDQUFDQSxDQUFDQTtnQ0FDTkEsVUFBVUEsRUFBRUEsQ0FBQ0E7NEJBQ2ZBLENBQUNBO3dCQUNIQSxDQUFDQTt3QkFFRHRJLGNBQWNBLENBQUNBLFFBQVFBLEVBQUVBLFFBQVFBLENBQUNBLEtBQUtBLEVBQUVBLENBQUNBLENBQUNBO29CQUM3Q0EsQ0FBQ0E7Z0JBQ0hBLENBQUNBO2dCQUNEQSxLQUFLQSxFQUFFQSx1QkFBdUJBO2dCQUM5QkEsTUFBTUEsRUFBRUEsOENBQThDQTtnQkFDdERBLE1BQU1BLEVBQUVBLFFBQVFBO2dCQUNoQkEsT0FBT0EsRUFBRUEsWUFBWUE7Z0JBQ3JCQSxNQUFNQSxFQUFFQSw2Q0FBNkNBO2dCQUNyREEsV0FBV0EsRUFBRUEscUJBQXFCQTthQUNuQ0EsQ0FBQ0EsQ0FBQ0EsSUFBSUEsRUFBRUEsQ0FBQ0E7UUFDWkEsQ0FBQ0EsQ0FBQ0E7UUFFRkEsU0FBU0EsWUFBWUEsQ0FBQ0EsU0FBU0EsRUFBRUEsWUFBWUE7WUFDM0N1SSxJQUFJQSxJQUFJQSxHQUFHQSxDQUFDQSxTQUFTQSxJQUFJQSxFQUFFQSxDQUFDQSxDQUFDQSxLQUFLQSxDQUFDQTtZQUNuQ0EsRUFBRUEsQ0FBQ0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ1RBLE9BQU9BLENBQUNBLEdBQUdBLENBQUNBLGdDQUFnQ0EsR0FBR0EsSUFBSUEsQ0FBQ0EsQ0FBQ0E7Z0JBQ3JEQSxJQUFJQSxHQUFHQSxHQUFHQSxVQUFVQSxDQUFDQSxrQkFBa0JBLENBQUNBLElBQUlBLENBQUNBLENBQUNBO2dCQUM5Q0EsS0FBS0EsQ0FBQ0EsTUFBTUEsQ0FBQ0EsR0FBR0EsQ0FBQ0EsQ0FDZkEsT0FBT0EsQ0FBQ0EsVUFBVUEsSUFBSUEsRUFBRUEsTUFBTUEsRUFBRUEsT0FBT0EsRUFBRUEsTUFBTUE7b0JBQzdDLFlBQVksRUFBRSxDQUFDO2dCQUNqQixDQUFDLENBQUNBLENBQ0ZBLEtBQUtBLENBQUNBLFVBQVVBLElBQUlBLEVBQUVBLE1BQU1BLEVBQUVBLE9BQU9BLEVBQUVBLE1BQU1BO29CQUMzQyxhQUFHLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQztnQkFDbEYsQ0FBQyxDQUFDQSxDQUFDQTtZQUNQQSxDQUFDQTtZQUFDQSxJQUFJQSxDQUFDQSxDQUFDQTtnQkFDTkEsT0FBT0EsQ0FBQ0EsR0FBR0EsQ0FBQ0Esa0NBQWtDQSxHQUFHQSxPQUFPQSxDQUFDQSxNQUFNQSxDQUFDQSxTQUFTQSxDQUFDQSxDQUFDQSxDQUFDQTtZQUM5RUEsQ0FBQ0E7UUFDSEEsQ0FBQ0E7UUFFRHZJLFNBQVNBLFVBQVVBO1lBQ3pCd0k7Ozs7Ozs7Ozs7Ozs7OztjQWVFQTtRQUNJQSxDQUFDQTtRQUVEeEksVUFBVUEsRUFBRUEsQ0FBQ0E7SUFDZkEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7QUFDUkEsQ0FBQ0EsRUF2Sk0sU0FBUyxLQUFULFNBQVMsUUF1SmY7O0FDM0pELHlDQUF5QztBQUN6QyxnRUFBZ0U7QUFDaEUsMkNBQTJDO0FBRTNDLElBQU8sU0FBUyxDQWlEZjtBQWpERCxXQUFPLFNBQVMsRUFBQyxDQUFDO0lBRUxBLDZCQUFtQkEsR0FBR0Esb0JBQVVBLENBQUNBLHFCQUFxQkEsRUFDL0RBLENBQUNBLFFBQVFBLEVBQUVBLGlCQUFpQkEsRUFBRUEsaUJBQWlCQSxFQUFFQSxrQkFBa0JBLEVBQUVBLGdCQUFnQkEsRUFBRUEsV0FBV0EsRUFBRUEsY0FBY0EsRUFBRUEsT0FBT0EsRUFBRUEsVUFBVUEsRUFBRUEsa0JBQWtCQSxFQUN6SkEsVUFBQ0EsTUFBTUEsRUFBRUEsZUFBaURBLEVBQUVBLGVBQWVBLEVBQUVBLGdCQUFnQkEsRUFDNUZBLGNBQXVDQSxFQUFFQSxTQUE2QkEsRUFBRUEsWUFBWUEsRUFBRUEsS0FBS0EsRUFBRUEsUUFBUUEsRUFBRUEsZ0JBQWdCQTtRQUV0SEEsTUFBTUEsQ0FBQ0EsVUFBVUEsR0FBR0EsZUFBZUEsQ0FBQ0E7UUFDcENBLE1BQU1BLENBQUNBLEtBQUtBLEdBQUdBLGVBQWVBLENBQUNBO1FBQy9CQSxNQUFNQSxDQUFDQSxFQUFFQSxHQUFHQSxZQUFZQSxDQUFDQSxXQUFXQSxDQUFDQSxDQUFDQTtRQUN0Q0EsTUFBTUEsQ0FBQ0EsTUFBTUEsR0FBR0EsZ0JBQWdCQSxDQUFDQTtRQUNqQ0EsTUFBTUEsQ0FBQ0EsTUFBTUEsR0FBR0EsZ0JBQWdCQSxDQUFDQSxXQUFXQSxDQUFDQSxvQkFBb0JBLENBQUNBO1FBRWxFQSxVQUFVQSxDQUFDQSxVQUFVQSxDQUFDQSxNQUFNQSxFQUFFQSxTQUFTQSxFQUFFQSxLQUFLQSxFQUFFQSxRQUFRQSxFQUFFQSxZQUFZQSxFQUFFQSxlQUFlQSxFQUFFQSxlQUFlQSxFQUFFQSxnQkFBZ0JBLENBQUNBLENBQUNBO1FBQzVIQSxNQUFNQSxDQUFDQSxnQkFBZ0JBLEdBQUdBLG9DQUEwQkEsRUFBRUEsQ0FBQ0E7UUFDdkRBLE1BQU1BLENBQUNBLFlBQVlBLEdBQUdBLFNBQVNBLENBQUNBLHlCQUF5QkEsRUFBRUEsQ0FBQ0E7UUFFNURBLE1BQU1BLENBQUNBLEdBQUdBLENBQUNBLHdCQUF3QkEsRUFBRUE7WUFDbkMsVUFBVSxFQUFFLENBQUM7UUFDZixDQUFDLENBQUNBLENBQUNBO1FBRUhBLE1BQU1BLENBQUNBLEdBQUdBLENBQUNBLGNBQWNBLEVBQUVBLFVBQUNBLE1BQU1BO1lBQ2hDQSxVQUFVQSxFQUFFQSxDQUFDQTtRQUNmQSxDQUFDQSxDQUFDQSxDQUFDQTtRQUVIQSxVQUFVQSxFQUFFQSxDQUFDQTtRQUViQSxTQUFTQSxVQUFVQTtZQUNqQndJLE1BQU1BLENBQUNBLElBQUlBLEdBQUdBLElBQUlBLENBQUNBO1lBQ25CQSxFQUFFQSxDQUFDQSxDQUFDQSxNQUFNQSxDQUFDQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDZEEsSUFBSUEsR0FBR0EsR0FBR0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsbUJBQW1CQSxDQUFDQSxVQUFVQSxDQUFDQSxFQUFFQSxNQUFNQSxDQUFDQSxFQUFFQSxDQUFDQSxDQUFDQTtnQkFDakZBLGFBQUdBLENBQUNBLElBQUlBLENBQUNBLGVBQWVBLEdBQUdBLEdBQUdBLENBQUNBLENBQUNBO2dCQUNoQ0EsS0FBS0EsQ0FBQ0EsR0FBR0EsQ0FBQ0EsR0FBR0EsQ0FBQ0EsQ0FDWkEsT0FBT0EsQ0FBQ0EsVUFBVUEsSUFBSUEsRUFBRUEsTUFBTUEsRUFBRUEsT0FBT0EsRUFBRUEsTUFBTUE7b0JBQzdDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7d0JBQ1QsTUFBTSxDQUFDLE1BQU0sR0FBRyx5QkFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN4QyxDQUFDO29CQUNELE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO29CQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN0QixDQUFDLENBQUNBLENBQ0ZBLEtBQUtBLENBQUNBLFVBQVVBLElBQUlBLEVBQUVBLE1BQU1BLEVBQUVBLE9BQU9BLEVBQUVBLE1BQU1BO29CQUMzQyxhQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQztnQkFDaEUsQ0FBQyxDQUFDQSxDQUFDQTtZQUNQQSxDQUFDQTtZQUFDQSxJQUFJQSxDQUFDQSxDQUFDQTtnQkFDTkEsTUFBTUEsQ0FBQ0EsT0FBT0EsR0FBR0EsSUFBSUEsQ0FBQ0E7Z0JBQ3RCQSxJQUFJQSxDQUFDQSxNQUFNQSxDQUFDQSxNQUFNQSxDQUFDQSxDQUFDQTtZQUN0QkEsQ0FBQ0E7UUFDSEEsQ0FBQ0E7SUFDSHhJLENBQUNBLENBQUNBLENBQUNBLENBQUNBO0FBQ1ZBLENBQUNBLEVBakRNLFNBQVMsS0FBVCxTQUFTLFFBaURmOztBQ3JERCx5Q0FBeUM7QUFDekMsZ0VBQWdFO0FBQ2hFLDJDQUEyQztBQUUzQyxJQUFPLFNBQVMsQ0ErRGY7QUEvREQsV0FBTyxTQUFTLEVBQUMsQ0FBQztJQUVMQSwwQkFBZ0JBLEdBQUdBLG9CQUFVQSxDQUFDQSxzQkFBc0JBLEVBQzdEQSxDQUFDQSxRQUFRQSxFQUFFQSxpQkFBaUJBLEVBQUVBLG9CQUFvQkEsRUFBRUEsZ0JBQWdCQSxFQUFFQSxpQkFBaUJBLEVBQUVBLGdCQUFnQkEsRUFBRUEsV0FBV0EsRUFBRUEsY0FBY0EsRUFBRUEsU0FBU0EsRUFBRUEsT0FBT0EsRUFBRUEsVUFBVUEsRUFBRUEsa0JBQWtCQSxFQUN4TEEsVUFBQ0EsTUFBTUEsRUFBRUEsZUFBaURBLEVBQUVBLGtCQUE2Q0EsRUFBRUEsY0FBeUNBLEVBQUVBLGVBQWVBLEVBQ3BLQSxjQUF1Q0EsRUFBRUEsU0FBNkJBLEVBQUVBLFlBQVlBLEVBQUVBLE9BQXdCQSxFQUFFQSxLQUFLQSxFQUFFQSxRQUFRQSxFQUFFQSxnQkFBZ0JBO1FBRWhKQSxNQUFNQSxDQUFDQSxVQUFVQSxHQUFHQSxlQUFlQSxDQUFDQTtRQUNwQ0EsTUFBTUEsQ0FBQ0EsS0FBS0EsR0FBR0EsZUFBZUEsQ0FBQ0E7UUFFL0JBLGlCQUFpQkEsQ0FBQ0Esc0JBQXNCQSxDQUFDQSxNQUFNQSxFQUFFQSxTQUFTQSxFQUFFQSxNQUFNQSxFQUFFQSxNQUFNQSxFQUFFQSxNQUFNQSxDQUFDQSxDQUFDQTtRQUVwRkEsTUFBTUEsQ0FBQ0EsV0FBV0EsR0FBR0E7WUFDbkJBLElBQUlBLEVBQUVBLGtCQUFrQkE7WUFDeEJBLHFCQUFxQkEsRUFBRUEsSUFBSUE7WUFDM0JBLHVCQUF1QkEsRUFBRUEsS0FBS0E7WUFDOUJBLFdBQVdBLEVBQUVBLElBQUlBO1lBQ2pCQSxhQUFhQSxFQUFFQSxFQUFFQTtZQUNqQkEsYUFBYUEsRUFBRUE7Z0JBQ2JBLFVBQVVBLEVBQUVBLFNBQVNBLENBQUNBLE1BQU1BLEVBQUVBLENBQUNBLEdBQUdBLENBQUNBLElBQUlBLEVBQUVBO2FBQzFDQTtZQUNEQSxVQUFVQSxFQUFFQTtnQkFDVkE7b0JBQ0VBLEtBQUtBLEVBQUVBLE9BQU9BO29CQUNkQSxXQUFXQSxFQUFFQSxNQUFNQTtvQkFDbkJBLFlBQVlBLEVBQUVBLGNBQWNBLENBQUNBLEdBQUdBLENBQUNBLGlCQUFpQkEsQ0FBQ0E7aUJBQ3BEQTtnQkFDREE7b0JBQ0VBLEtBQUtBLEVBQUVBLHNCQUFzQkE7b0JBQzdCQSxXQUFXQSxFQUFFQSxhQUFhQTtpQkFDM0JBO2dCQUNEQTtvQkFDRUEsS0FBS0EsRUFBRUEsYUFBYUE7b0JBQ3BCQSxXQUFXQSxFQUFFQSxRQUFRQTtvQkFDckJBLFlBQVlBLEVBQUVBLGNBQWNBLENBQUNBLEdBQUdBLENBQUNBLG9CQUFvQkEsQ0FBQ0E7aUJBQ3ZEQTthQUNGQTtTQUNGQSxDQUFDQTtRQUVGQSxVQUFVQSxDQUFDQSxVQUFVQSxDQUFDQSxNQUFNQSxFQUFFQSxTQUFTQSxFQUFFQSxLQUFLQSxFQUFFQSxRQUFRQSxFQUFFQSxZQUFZQSxFQUFFQSxlQUFlQSxFQUFFQSxlQUFlQSxFQUFFQSxnQkFBZ0JBLENBQUNBLENBQUNBO1FBRTVIQSxNQUFNQSxDQUFDQSxZQUFZQSxHQUFHQSxjQUFNQSxPQUFBQSxVQUFVQSxDQUFDQSxnQkFBZ0JBLEVBQTNCQSxDQUEyQkEsQ0FBQ0E7UUFDeERBLE1BQU1BLENBQUNBLEtBQUtBLEdBQUdBLFdBQVdBLENBQUNBLFlBQVlBLENBQUNBLE1BQU1BLEVBQUVBLFVBQUNBLElBQWVBO1lBQzlEQSxJQUFJQSxHQUFHQSxHQUFHQSxVQUFVQSxDQUFDQSxtQkFBbUJBLENBQUNBLFVBQVVBLENBQUNBLENBQUNBO1lBQ3JEQSxLQUFLQSxDQUFDQSxHQUFHQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUNaQSxPQUFPQSxDQUFDQSxVQUFVQSxJQUFJQSxFQUFFQSxNQUFNQSxFQUFFQSxPQUFPQSxFQUFFQSxNQUFNQTtnQkFDN0MsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDVCxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRywwQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3ZELE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixDQUFDO2dCQUNELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3BCLElBQUksRUFBRSxDQUFDO1lBQ1QsQ0FBQyxDQUFDQSxDQUNGQSxLQUFLQSxDQUFDQSxVQUFVQSxJQUFJQSxFQUFFQSxNQUFNQSxFQUFFQSxPQUFPQSxFQUFFQSxNQUFNQTtnQkFDM0MsYUFBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUM7Z0JBQzlELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3BCLElBQUksRUFBRSxDQUFDO1lBQ1QsQ0FBQyxDQUFDQSxDQUFDQTtRQUNQQSxDQUFDQSxDQUFDQSxDQUFDQTtRQUVIQSxNQUFNQSxDQUFDQSxLQUFLQSxFQUFFQSxDQUFDQTtJQUVqQkEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7QUFDVkEsQ0FBQ0EsRUEvRE0sU0FBUyxLQUFULFNBQVMsUUErRGY7O0FDbkVELHlDQUF5QztBQUN6Qyw0Q0FBNEM7QUFNNUMsSUFBTyxVQUFVLENBcVBoQjtBQXJQRCxXQUFPLFVBQVUsRUFBQyxDQUFDO0lBRU5VLGtCQUFPQSxHQUFHQSxPQUFPQSxDQUFDQSxNQUFNQSxDQUFDQSxxQkFBVUEsRUFBRUEsQ0FBQ0EsYUFBYUEsRUFBRUEsV0FBV0EsRUFBRUEsTUFBTUEsRUFBRUEsU0FBU0EsRUFBRUEsZUFBZUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7SUFDdkdBLHFCQUFVQSxHQUFHQSxhQUFhQSxDQUFDQSx3QkFBd0JBLENBQUNBLGtCQUFPQSxFQUFFQSxxQkFBVUEsQ0FBQ0EsQ0FBQ0E7SUFDekVBLGdCQUFLQSxHQUFHQSxhQUFhQSxDQUFDQSxxQkFBcUJBLENBQUNBLHVCQUFZQSxDQUFDQSxDQUFDQTtJQUVyRUEsa0JBQU9BLENBQUNBLE1BQU1BLENBQUNBLENBQUNBLGdCQUFnQkEsRUFBRUEsVUFBQ0EsY0FBc0NBO1FBQ3ZFQSxjQUFjQSxDQUFDQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsT0FBT0EsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLFdBQVdBLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBLENBQ2xFQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsaUNBQWlDQSxDQUFDQSxFQUFFQSxnQkFBS0EsQ0FBQ0EsZ0JBQWdCQSxFQUFFQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUNqR0EsSUFBSUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0Esa0JBQU9BLEVBQUVBLG1DQUFtQ0EsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLGNBQWNBLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBLENBQ2pHQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsNEJBQTRCQSxDQUFDQSxFQUFFQSxnQkFBS0EsQ0FBQ0EsV0FBV0EsRUFBRUEsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FDdkZBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGtCQUFPQSxFQUFFQSxnQ0FBZ0NBLENBQUNBLEVBQUVBLGdCQUFLQSxDQUFDQSxVQUFVQSxFQUFFQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUMxRkEsSUFBSUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0Esa0JBQU9BLEVBQUVBLHdCQUF3QkEsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLDZCQUE2QkEsRUFBRUEsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FDckdBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGtCQUFPQSxFQUFFQSw4Q0FBOENBLENBQUNBLEVBQUVBLGdCQUFLQSxDQUFDQSw2QkFBNkJBLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBLENBQzNIQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsa0RBQWtEQSxDQUFDQSxFQUFFQSxnQkFBS0EsQ0FBQ0EsNEJBQTRCQSxFQUFFQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUM5SEEsSUFBSUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0Esa0JBQU9BLEVBQUVBLG1EQUFtREEsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLGtDQUFrQ0EsRUFBRUEsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FDcklBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGtCQUFPQSxFQUFFQSxxREFBcURBLENBQUNBLEVBQUVBLGdCQUFLQSxDQUFDQSxnQ0FBZ0NBLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBLENBQ3JJQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsVUFBVUEsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLGVBQWVBLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBLENBQ3pFQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsZ0NBQWdDQSxDQUFDQSxFQUFFQSxnQkFBS0EsQ0FBQ0EsZUFBZUEsRUFBRUEsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FDL0ZBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGtCQUFPQSxFQUFFQSxvQ0FBb0NBLENBQUNBLEVBQUVBLGdCQUFLQSxDQUFDQSxjQUFjQSxFQUFFQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUNsR0EsSUFBSUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0Esa0JBQU9BLEVBQUVBLHFDQUFxQ0EsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLG9CQUFvQkEsRUFBRUEsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FDekdBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGtCQUFPQSxFQUFFQSx1Q0FBdUNBLENBQUNBLEVBQUVBLGdCQUFLQSxDQUFDQSxrQkFBa0JBLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBLENBQ3pHQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsOEJBQThCQSxDQUFDQSxFQUFFQSxnQkFBS0EsQ0FBQ0EsYUFBYUEsRUFBRUEsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FDM0ZBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGtCQUFPQSxFQUFFQSxRQUFRQSxDQUFDQSxFQUFFQSxnQkFBS0EsQ0FBQ0EsYUFBYUEsRUFBRUEsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FDckVBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGtCQUFPQSxFQUFFQSxNQUFNQSxDQUFDQSxFQUFFQSxnQkFBS0EsQ0FBQ0EsV0FBV0EsRUFBRUEsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FDakVBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGtCQUFPQSxFQUFFQSxpQkFBaUJBLENBQUNBLEVBQUVBLGdCQUFLQSxDQUFDQSxXQUFXQSxFQUFFQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUM1RUEsSUFBSUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0Esa0JBQU9BLEVBQUVBLFdBQVdBLENBQUNBLEVBQUVBLGdCQUFLQSxDQUFDQSxnQkFBZ0JBLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBLENBQzNFQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsT0FBT0EsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLFlBQVlBLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBLENBQ25FQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsV0FBV0EsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLFdBQVdBLEVBQUVBLElBQUlBLENBQUNBLENBQUNBLENBQ3JFQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsUUFBUUEsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLGFBQWFBLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBLENBQ3JFQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsWUFBWUEsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLFlBQVlBLEVBQUVBLElBQUlBLENBQUNBLENBQUNBLENBQ3ZFQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsZUFBZUEsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLGdCQUFnQkEsRUFBRUEsSUFBSUEsQ0FBQ0EsQ0FBQ0EsQ0FDOUVBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGtCQUFPQSxFQUFFQSxjQUFjQSxDQUFDQSxFQUFFQSxnQkFBS0EsQ0FBQ0EsbUJBQW1CQSxFQUFFQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUNqRkEsSUFBSUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0Esa0JBQU9BLEVBQUVBLGtCQUFrQkEsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLGtCQUFrQkEsRUFBRUEsSUFBSUEsQ0FBQ0EsQ0FBQ0EsQ0FDbkZBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGtCQUFPQSxFQUFFQSxxQkFBcUJBLENBQUNBLEVBQUVBLGdCQUFLQSxDQUFDQSxzQkFBc0JBLEVBQUVBLElBQUlBLENBQUNBLENBQUNBLENBQzFGQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsbUJBQW1CQSxDQUFDQSxFQUFFQSxnQkFBS0EsQ0FBQ0Esd0JBQXdCQSxFQUFFQSxJQUFJQSxDQUFDQSxDQUFDQSxDQUMxRkEsSUFBSUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0Esa0JBQU9BLEVBQUVBLG1CQUFtQkEsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLHdCQUF3QkEsRUFBRUEsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FDM0ZBLElBQUlBLENBQUNBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLGtCQUFPQSxFQUFFQSx1QkFBdUJBLENBQUNBLEVBQUVBLGdCQUFLQSxDQUFDQSx1QkFBdUJBLEVBQUVBLElBQUlBLENBQUNBLENBQUNBLENBQzdGQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsbUJBQW1CQSxDQUFDQSxFQUFFQSxnQkFBS0EsQ0FBQ0Esd0JBQXdCQSxFQUFFQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUMzRkEsSUFBSUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0Esa0JBQU9BLEVBQUVBLFdBQVdBLENBQUNBLEVBQUVBLGdCQUFLQSxDQUFDQSxnQkFBZ0JBLEVBQUVBLEtBQUtBLENBQUNBLENBQUNBLENBQzNFQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxrQkFBT0EsRUFBRUEsVUFBVUEsQ0FBQ0EsRUFBRUEsZ0JBQUtBLENBQUNBLGVBQWVBLEVBQUVBLElBQUlBLENBQUNBLENBQUNBLENBQ3hF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RUFBRUEsS0FBS0EsRUFBRUEsZUFBZUEsRUFBRUEsV0FBV0EsRUFBRUEsVUFBVUEsRUFBRUEsWUFBWUEsRUFBRUEsY0FBY0EsQ0FBQ0EsR0FBR0EsQ0FBQ0EsMEJBQTBCQSxDQUFDQSxFQUFFQTthQUNsSEE7U0FDRkEsQ0FBQ0E7UUFFRkEsVUFBVUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsTUFBTUEsRUFBRUEsU0FBU0EsRUFBRUEsS0FBS0EsRUFBRUEsUUFBUUEsRUFBRUEsWUFBWUEsRUFBRUEsZUFBZUEsRUFBRUEsZUFBZUEsRUFBRUEsZ0JBQWdCQSxDQUFDQSxDQUFDQTtRQUc1SEEsTUFBTUEsQ0FBQ0EsWUFBWUEsR0FBR0EsRUFBRUEsQ0FBQ0E7UUFFekJBLE1BQU1BLENBQUNBLEdBQUdBLENBQUNBLFdBQVdBLEVBQUVBLFVBQUNBLE1BQU1BLEVBQUVBLFVBQVVBO1lBQ3pDQSxNQUFNQSxDQUFDQSxZQUFZQSxDQUFDQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxDQUFDQTtRQUN2Q0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7UUFHSEEsTUFBTUEsQ0FBQ0EsV0FBV0EsR0FBR0EsVUFBQ0EsR0FBR0E7WUFDdkJBLElBQUlBLEVBQUVBLEdBQUdBLGtCQUFPQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFBQTtZQUNyQkEsTUFBTUEsQ0FBQ0EsRUFBRUEsSUFBSUEsQ0FBQ0EsTUFBTUEsQ0FBQ0EsWUFBWUEsSUFBSUEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsRUFBRUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsQ0FBQ0E7UUFDNURBLENBQUNBLENBQUNBO1FBRUZBLE1BQU1BLENBQUNBLFNBQVNBLEdBQUdBLFVBQUNBLEdBQUdBO1lBQ3JCQSxJQUFJQSxFQUFFQSxHQUFHQSxrQkFBT0EsQ0FBQ0EsR0FBR0EsQ0FBQ0EsQ0FBQ0E7WUFDdEJBLEVBQUVBLENBQUNBLENBQUNBLEVBQUVBLENBQUNBLENBQUNBLENBQUNBO2dCQUNQQSxNQUFNQSxDQUFDQSxZQUFZQSxDQUFDQSxJQUFJQSxDQUFDQSxFQUFFQSxDQUFDQSxD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QUVBLENBQUNBLENBQUNBLEtBQUtBLENBQUNBLENBQUNBLENBQUNBO3dCQUNWQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQSxVQUFVQSxDQUFDQSxDQUFDQSxDQUFDQTs0QkFDaEJBLFVBQVVBLEdBQUdBLEtBQUtBLENBQUNBO3dCQUNyQkEsQ0FBQ0E7d0JBQUNBLElBQUlBLENBQUNBLENBQUNBOzRCQUNOQSxVQUFVQSxHQUFHQSxVQUFVQSxHQUFHQSxHQUFHQSxHQUFHQSxLQUFLQSxDQUFDQTt3QkFDeENBLENBQUNBO3dCQUNEQSxJQUFJQSxHQUFHQSxHQUFHQSxLQUFLQSxDQUFDQSxXQUFXQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFDQTt3QkFDakNBLEVBQUVBLENBQUNBLENBQUNBLEdBQUdBLEdBQUdBLENBQUNBLENBQUNBLENBQUNBLENBQUNBOzRCQUNaQSxLQUFLQSxHQUFHQSxLQUFLQSxDQUFDQSxTQUFTQSxDQUFDQSxDQUFDQSxFQUFFQSxHQUFHQSxDQUFDQSxDQUFDQTt3QkFDbENBLENBQUNBO3dCQUNEQSxJQUFJQSxLQUFLQSxHQUFHQSxLQUFLQSxDQUFDQSxLQUFLQSxDQUFDQSxHQUFHQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQTt3QkFDaENBLEVBQUVBLENBQUNBLENBQUNBLEtBQUtBLENBQUNBLE1BQU1BLENBQUNBLENBQUNBLENBQUNBOzRCQUNqQkEsSUFBSUEsTUFBTUEsR0FBR0EsSUFBSUEsQ0FBQ0E7NEJBQ2xCQSxFQUFFQSxDQUFDQSxDQUFDQSxLQUFLQSxDQUFDQSxNQUFNQSxJQUFJQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtnQ0FDdEJBLE1BQU1BLEdBQUdBLEtBQUtBLENBQUNBLENBQUNBLENBQUNBLEdBQUdBLEdBQUdBLEdBQUdBLEtBQUtBLENBQUNBLENBQUNBLENBQUNBLENBQUNBOzRCQUNyQ0EsQ0FBQ0E7NEJBQUNBLElBQUlBLENBQUNBLEVBQUVBLENBQUNBLENBQUNBLEtBQUtBLENBQUNBLE1BQU1BLElBQUlBLENBQUNBLENBQUNBLENBQUNBLENBQUNBO2dDQUM3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QUNBLENBQUNBLE9BQU9BLENBQUNBLEtBQUtBLENBQUNBLFdBQVdBLEVBQUVBLFVBQUNBLFVBQTRCQTs0QkFDeERBLFVBQVVBLENBQUNBLEdBQUdBLENBQUNBLENBQUNBO3dCQUNsQkEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7b0JBQ0xBLENBQUNBO29CQUNEQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQSxJQUFJQSxDQUFDQSxNQUFNQSxDQUFDQSxRQUFRQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFDQSxDQUFDQTt3QkFDOUJBLElBQUlBLENBQUNBLE1BQU1BLENBQUNBLFFBQVFBLENBQUNBLEdBQUdBLEdBQUdBLElBQUlBLENBQUNBLE1BQU1BLENBQUNBLFFBQVFBLENBQUNBLFNBQVNBLEdBQUdBLEdBQUdBLEdBQUdBLElBQUlBLENBQUNBLE1BQU1BLENBQUNBLFFBQVFBLENBQUNBLElBQUlBLENBQUNBO29CQUM5RkEsQ0FBQ0E7b0JBQ0RBLEtBQUtBLENBQUNBLE9BQU9BLENBQUNBLElBQUlBLENBQUNBLE1BQU1BLENBQUNBLFFBQVFBLENBQUNBLEdBQUdBLENBQUNBLEdBQUdBLElBQUlBLENBQUNBLE1BQU1BLENBQUNBO29CQUN0REEsS0FBS0EsQ0FBQ0E7Z0JBQ1JBLEtBQUtBLHVCQUFZQSxDQUFDQSxPQUFPQTtvQkFDdkJBLE9BQU9BLEtBQUtBLENBQUNBLE9BQU9BLENBQUNBLElBQUlBLENBQUNBLE1BQU1BLENBQUNBLFFBQVFBLENBQUNBLEdBQUdBLENBQUNBLENBQUNBO29CQUMvQ0EsS0FBS0EsQ0FBQ0E7Z0JBQ1JBO29CQUNFQSxHQUFHQSxDQUFDQSxJQUFJQSxDQUFDQSxzQkFBc0JBLEVBQUVBLElBQUlBLENBQUNBLElBQUlBLENBQUNBLENBQUNBO29CQUM1Q0EsTUFBTUEsQ0FBQ0E7WUFDWEEsQ0FBQ0E7WUFDREEsS0FBS0EsQ0FBQ0EsV0FBV0EsQ0FBQ0EsTUFBTUEsR0FBR0EsQ0FBQ0EsQ0FBQ0E7WUFDN0JBLENBQUNBLENBQUNBLEtBQUtBLENBQUNBLEtBQUtBLENBQUNBLE9BQU9BLEVBQUVBLFVBQUNBLE1BQU1BLEVBQUVBLEdBQUdBO2dCQUNqQ0EsS0FBS0EsQ0FBQ0EsV0FBV0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsTUFBTUEsQ0FBQ0EsQ0FBQ0E7WUFDakNBLENBQUNBLENBQUNBLENBQUNBO1lBQ0hBLFNBQVNBLENBQUNBLElBQUlBLENBQUNBLENBQUNBO1lBRWhCQSxNQUFNQSxDQUFDQSxDQUFDQSxJQUFJQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDbEJBLEtBQUtBLHVCQUFZQSxDQUFDQSxLQUFLQTtvQkFDckJBLENBQUNBLENBQUNBLE9BQU9BLENBQUNBLEtBQUtBLENBQUNBLFlBQVlBLEVBQUVBLFVBQUNBLE1BQVVBLElBQUtBLE9BQUFBLE1BQU1BLENBQUNBLElBQUlBLENBQUNBLE1BQU1BLENBQUNBLEVBQW5CQSxDQUFtQkEsQ0FBQ0EsQ0FBQ0E7b0JBQ25FQSxLQUFLQSxDQUFDQTtnQkFDUkEsS0FBS0EsdUJBQVlBLENBQUNBLFFBQVFBO29CQUN4QkEsQ0FBQ0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsaUJBQWlCQSxFQUFFQSxVQUFDQSxNQUFVQSxJQUFLQSxPQUFBQSxNQUFNQSxDQUFDQSxJQUFJQSxDQUFDQSxNQUFNQSxDQUFDQSxFQUFuQkEsQ0FBbUJBLENBQUNBLENBQUNBO29CQUN4RUEsS0FBS0EsQ0FBQ0E7Z0JBQ1JBLEtBQUtBLHVCQUFZQSxDQUFDQSxPQUFPQTtvQkFDdkJBLENBQUNBLENBQUNBLE9BQU9BLENBQUNBLEtBQUtBLENBQUNBLGdCQUFnQkEsRUFBRUEsVUFBQ0EsTUFBVUEsSUFBS0EsT0FBQUEsTUFBTUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsTUFBTUEsQ0FBQ0EsRUFBbkJBLENBQW1CQSxDQUFDQSxDQUFDQTtvQkFDdkVBLEtBQUtBLENBQUNBO1lBQ1ZBLENBQUNBO1lBQ0RBLElBQUlBLENBQUNBLE1BQU1BLENBQUNBLE1BQU1BLENBQUNBLENBQUNBO1FBQ3RCQSxDQUFDQSxDQUFDQTtRQUNGQSxJQUFJQSxlQUFlQSxHQUFHQSxVQUFDQSxLQUFLQTtZQUMxQkEsS0FBS0EsQ0FBQ0EsU0FBU0EsR0FBR0EsS0FBS0EsQ0FBQ0E7WUFDeEJBLEVBQUVBLENBQUNBLENBQUNBLEtBQUtBLENBQUNBLE9BQU9BLEdBQUdBLENBQUNBLElBQUlBLEtBQUtBLENBQUNBLFdBQVdBLElBQUlBLElBQUlBLElBQUlBLEVBQUVBLENBQUNBLE9BQU9BLEVBQUVBLEdBQUdBLEtBQUtBLENBQUNBLFdBQVdBLEdBQUdBLElBQUlBLENBQUNBLENBQUNBLENBQUNBO2dCQUM5RkEsVUFBVUEsQ0FBQ0E7b0JBQ1RBLEtBQUtBLENBQUNBLE9BQU9BLEdBQUdBLEtBQUtBLENBQUNBLE9BQU9BLEdBQUdBLENBQUNBLENBQUNBO29CQUNsQ0EsR0FBR0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsUUFBUUEsRUFBRUEsSUFBSUEsRUFBRUEsd0JBQXdCQSxFQUFFQSxLQUFLQSxDQUFDQSxPQUFPQSxDQUFDQSxDQUFDQTtvQkFDbkVBLElBQUlBLEVBQUVBLEdBQUdBLEtBQUtBLENBQUNBLE1BQU1BLEdBQUdBLElBQUlBLFNBQVNBLENBQUNBLEdBQUdBLENBQUNBLFFBQVFBLEVBQUVBLENBQUNBLENBQUNBO29CQUN0REEsRUFBRUEsQ0FBQ0EsTUFBTUEsR0FBR0EsY0FBY0EsQ0FBQ0E7b0JBQzNCQSxFQUFFQSxDQUFDQSxTQUFTQSxHQUFHQSxpQkFBaUJBLENBQUNBO29CQUNqQ0EsRUFBRUEsQ0FBQ0EsT0FBT0EsR0FBR0EsZUFBZUEsQ0FBQ0E7Z0JBQy9CQSxDQUFDQSxFQUFFQSxJQUFJQSxDQUFDQSxDQUFDQTtZQUNYQSxDQUFDQTtZQUFDQSxJQUFJQSxDQUFDQSxDQUFDQTtnQkFDTkEsT0FBT0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsQ0FBQ0E7WUFDakJBLENBQUNBO1FBQ0hBLENBQUNBLENBQUFBO1FBQ0RBLElBQUlBLEVBQUVBLEdBQUdBLEtBQUtBLENBQUNBLE1BQU1BLEdBQUdBLElBQUlBLFNBQVNBLENBQUNBLEdBQUdBLENBQUNBLFFBQVFBLEVBQUVBLENBQUNBLENBQUNBO1FBQ3REQSxFQUFFQSxDQUFDQSxNQUFNQSxHQUFHQSxjQUFjQSxDQUFDQTtRQUMzQkEsRUFBRUEsQ0FBQ0EsU0FBU0EsR0FBR0EsaUJBQWlCQSxDQUFDQTtRQUNqQ0EsRUFBRUEsQ0FBQ0EsT0FBT0EsR0FBR0EsZUFBZUEsQ0FBQ0E7SUFDL0JBLENBQUNBO0lBRUQ1TCxBQXVCRkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQUZLQTtJQUVMQSxrQkFBT0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsZ0JBQWdCQSxFQUFFQSxDQUFDQSxhQUFhQSxFQUFFQSxZQUFZQSxFQUFFQSxVQUFVQSxFQUFFQSxVQUFDQSxXQUFXQSxFQUFFQSxVQUFVQSxFQUFFQSxRQUFRQTtRQUM1R0EsSUFBSUEsSUFBSUEsR0FBU0E7WUFDZkEsWUFBWUEsRUFBRUEsS0FBS0E7U0FDcEJBLENBQUNBO1FBRUZBLElBQUFBLENBQUNBO1lBQ0NBLEVBQUVBLENBQUNBLENBQUNBLENBQUNBLFNBQVNBLENBQUNBLENBQUVBLENBQUNBO2dCQUNoQkEsTUFBTUEsQ0FBQ0EsSUFBSUEsQ0FBQ0E7WUFDZEEsQ0FBQ0E7UUFDSEEsQ0FBRUE7UUFBQUEsS0FBS0EsQ0FBQ0EsQ0FBQ0EsR0FBR0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7WUFDYkEsTUFBTUEsQ0FBQ0EsSUFBSUEsQ0FBQ0E7UUFDZEEsQ0FBQ0E7UUFFREEsSUFBSUEsQ0FBQ0EsWUFBWUEsR0FBR0EsVUFBQ0EsU0FBaUJBO1lBQ3BDQSxFQUFFQSxDQUFDQSxDQUFDQSxTQUFTQSxLQUFLQSxjQUFjQSxDQUFDQSxRQUFRQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDMUNBLEdBQUdBLENBQUNBLEtBQUtBLENBQUNBLG1EQUFtREEsQ0FBQ0EsQ0FBQ0E7Z0JBQy9EQSxDQUFDQSxDQUFDQSxLQUFLQSxDQUFDQSxrQkFBT0EsRUFBRUEsVUFBQ0EsS0FBS0EsRUFBRUEsSUFBSUE7b0JBQzNCQSxFQUFFQSxDQUFDQSxDQUFDQSxLQUFLQSxDQUFDQSxNQUFNQSxDQUFDQSxDQUFDQSxDQUFDQTt3QkFDakJBLEtBQUtBLENBQUNBLE1BQU1BLENBQUNBLEtBQUtBLEVBQUVBLENBQUNBO29CQUN2QkEsQ0FBQ0E7Z0JBQ0hBLENBQUNBLENBQUNBLENBQUNBO2dCQUNIQSxHQUFHQSxDQUFDQSxLQUFLQSxDQUFDQSw4QkFBOEJBLEVBQUVBLFNBQVNBLENBQUNBLENBQUNBO2dCQUNyREEsY0FBY0EsQ0FBQ0EsUUFBUUEsR0FBR0EsU0FBU0EsQ0FBQ0E7Z0JBQ3BDQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQSxTQUFTQSxDQUFDQSxDQUFDQSxDQUFDQTtvQkFDZkEsT0FBT0EsWUFBWUEsQ0FBQ0Esb0JBQVNBLENBQUNBLHFCQUFxQkEsQ0FBQ0EsQ0FBQ0E7Z0JBQ3ZEQSxDQUFDQTtnQkFBQ0EsSUFBSUEsQ0FBQ0EsQ0FBQ0E7b0JBQ05BLFlBQVlBLENBQUNBLG9CQUFTQSxDQUFDQSxxQkFBcUJBLENBQUNBLEdBQUdBLFNBQVNBLENBQUNBO2dCQUM1REEsQ0FBQ0E7Z0JBQ0RBLEVBQUVBLENBQUNBLENBQUNBLFNBQVNBLENBQUNBLENBQUNBLENBQUNBO29CQUNkQSxDQUFDQSxDQUFDQSxLQUFLQSxDQUFDQSxrQkFBT0EsRUFBRUEsVUFBQ0EsS0FBS0EsRUFBRUEsSUFBSUE7d0JBQzNCQSxBQUdBQSxpREFIaURBO3dCQUNqREEsZ0RBQWdEQTt3QkFDaERBLDZCQUE2QkE7d0JBQzdCQSxFQUFFQSxDQUFDQSxDQUFDQSxLQUFLQSxDQUFDQSxLQUFLQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQTs0QkFDbEJBLEtBQUtBLENBQUNBLEdBQUdBLEdBQUdBLFVBQVVBLENBQUNBLElBQUlBLENBQUNBLEtBQUtBLENBQUNBLE1BQU1BLEVBQUVBLEVBQUVBLFVBQVVBLENBQUNBLG9CQUFvQkEsQ0FBQ0EsSUFBSUEsRUFBRUEsU0FBU0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7NEJBQzlGQSxLQUFLQSxDQUFDQSxXQUFXQSxHQUFZQSxTQUFTQSxDQUFDQTs0QkFDdkNBLENBQUNBLENBQUNBLE9BQU9BLENBQUNBLENBQUNBLENBQUNBLElBQUlBLENBQUNBLEtBQUtBLENBQUNBLE9BQU9BLENBQUNBLEVBQUVBLFVBQUNBLEdBQUdBO2dDQUNuQ0EsQ0FBQ0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsZ0JBQWdCQSxFQUFFQSxVQUFDQSxNQUFVQSxJQUFLQSxPQUFBQSxNQUFNQSxDQUFDQSxLQUFLQSxDQUFDQSxPQUFPQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFDQSxFQUExQkEsQ0FBMEJBLENBQUNBLENBQUNBO2dDQUM5RUEsT0FBT0EsS0FBS0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsR0FBR0EsQ0FBQ0EsQ0FBQ0E7NEJBQzVCQSxDQUFDQSxDQUFDQSxDQUFDQTs0QkFDSEEsS0FBS0EsQ0FBQ0EsV0FBV0EsQ0FBQ0EsTUFBTUEsR0FBR0EsQ0FBQ0EsQ0FBQ0E7NEJBQzdCQSxLQUFLQSxDQUFDQSxNQUFNQSxHQUFlQSxTQUFTQSxDQUFDQTt3QkFDdkNBLENBQUNBO29CQUNIQSxDQUFDQSxDQUFDQSxDQUFDQTtvQkFDSEEsQ0FBQ0EsQ0FBQ0EsS0FBS0EsQ0FBQ0Esa0JBQU9BLEVBQUVBLFVBQUNBLEtBQUtBLEVBQUVBLElBQUlBO3dCQUMzQkEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsS0FBS0EsRUFBRUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7NEJBQ2xCQSxXQUFXQSxDQUFDQSxJQUFJQSxFQUFFQSxLQUFLQSxFQUFFQSxXQUFXQSxFQUFFQSxVQUFVQSxDQUFDQSxDQUFDQTt3QkFDcERBLENBQUNBO29CQUNIQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDTEEsQ0FBQ0E7Z0JBQ0RBLFVBQVVBLENBQUNBLFVBQVVBLENBQUNBLHlCQUF5QkEsRUFBRUEsU0FBU0EsQ0FBQ0EsQ0FBQ0E7WUFDOURBLENBQUNBO1FBQ0hBLENBQUNBLENBQUNBO1FBRUZBLFdBQVdBLENBQUNBLHFCQUFVQSxDQUFDQSxVQUFVQSxFQUFFQSxjQUFjQSxFQUFFQSxXQUFXQSxFQUFFQSxVQUFVQSxFQUFFQSxVQUFDQSxLQUFLQTtZQUVoRkEsTUFBTUEsQ0FBQ0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ25CQSxLQUFLQSx1QkFBWUEsQ0FBQ0EsS0FBS0EsQ0FBQ0E7Z0JBQ3hCQSxLQUFLQSx1QkFBWUEsQ0FBQ0EsUUFBUUE7b0JBQ3hCQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQSxjQUFjQSxDQUFDQSxRQUFRQSxDQUFDQSxDQUFDQSxDQUFDQTt3QkFDN0JBLElBQUlBLENBQUNBLFlBQVlBLENBQUNBLEtBQUtBLENBQUNBLE1BQU1BLENBQUNBLFFBQVFBLENBQUNBLElBQUlBLENBQUNBLENBQUNBO29CQUNoREEsQ0FBQ0E7b0JBQ0RBLEtBQUtBLENBQUNBO2dCQUNSQSxLQUFLQSx1QkFBWUEsQ0FBQ0EsT0FBT0E7b0JBQ3ZCQSxJQUFJQSxJQUFJQSxHQUFTQSxDQUFDQSxDQUFDQSxLQUFLQSxDQUFDQSxjQUFjQSxDQUFDQSxXQUFXQSxDQUFDQSxDQUFDQTtvQkFDckRBLEVBQUVBLENBQUNBLENBQUNBLElBQUlBLENBQUNBLENBQUNBLENBQUNBO3dCQUNUQSxJQUFJQSxDQUFDQSxZQUFZQSxDQUFDQSxJQUFJQSxDQUFDQSxRQUFRQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQTtvQkFDeENBLENBQUNBO29CQUFDQSxJQUFJQSxDQUFDQSxDQUFDQTt3QkFDTkEsSUFBSUEsQ0FBQ0EsWUFBWUEsQ0FBQ0EsU0FBU0EsQ0FBQ0EsQ0FBQ0E7b0JBQy9CQSxDQUFDQTtvQkFDREEsS0FBS0EsQ0FBQ0E7Z0JBQ1JBO29CQUNFQSxHQUFHQSxDQUFDQSxLQUFLQSxDQUFDQSxnQ0FBZ0NBLEVBQUVBLEtBQUtBLENBQUNBLElBQUlBLENBQUNBLENBQUNBO29CQUN4REEsTUFBTUEsQ0FBQ0E7WUFDWEEsQ0FBQ0E7UUFDSEEsQ0FBQ0EsRUFBRUEsVUFBQ0EsS0FBS0E7WUFDUEEsR0FBR0EsQ0FBQ0EsS0FBS0EsQ0FBQ0Esd0JBQXdCQSxDQUFDQSxDQUFDQTtZQUNwQ0EsSUFBSUEsQ0FBQ0EsWUFBWUEsQ0FBQ0EsU0FBU0EsQ0FBQ0EsQ0FBQ0E7UUFDL0JBLENBQUNBLENBQUNBLENBQUNBO1FBRUhBLElBQUlBLENBQUNBLFlBQVlBLENBQUNBLFlBQVlBLENBQUNBLG9CQUFTQSxDQUFDQSxxQkFBcUJBLENBQUNBLElBQUlBLDJCQUFnQkEsQ0FBQ0EsQ0FBQ0E7UUFFckZBLElBQUlBLENBQUNBLFlBQVlBLEdBQUdBLElBQUlBLENBQUNBO1FBRXpCQSxJQUFJQSxDQUFDQSxZQUFZQSxHQUFHQSxjQUFNQSxPQUFBQSxjQUFjQSxDQUFDQSxRQUFRQSxFQUF2QkEsQ0FBdUJBLENBQUNBO1FBRWxEQSxJQUFJQSxDQUFDQSxhQUFhQSxHQUFHQSxVQUFDQSxJQUFZQSxFQUFFQSxVQUE2QkE7WUFDL0RBLEVBQUVBLENBQUNBLENBQUNBLElBQUlBLElBQUlBLGtCQUFPQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDcEJBLGtCQUFPQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQSxXQUFXQSxDQUFDQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxDQUFDQTtnQkFDM0NBLENBQUNBLENBQUNBLE9BQU9BLENBQUNBLGtCQUFPQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQSxXQUFXQSxFQUFFQSxVQUFDQSxHQUFHQSxJQUFLQSxPQUFBQSxVQUFVQSxDQUFDQSxHQUFHQSxDQUFDQSxFQUFmQSxDQUFlQSxDQUFDQSxDQUFDQTtZQUNqRUEsQ0FBQ0E7UUFDSEEsQ0FBQ0EsQ0FBQUE7UUFFREEsSUFBSUEsQ0FBQ0EsUUFBUUEsR0FBR0E7WUFDZEEsTUFBTUEsQ0FBQ0EsUUFBUUEsQ0FBQ0EsTUFBTUEsQ0FBQ0EsQ0FBQ0EscUJBQVVBLENBQUNBLFVBQVVBLENBQUNBLENBQUNBLENBQUNBLE1BQU1BLENBQUNBLE9BQU9BLENBQUNBLENBQUNBO1FBQ2xFQSxDQUFDQSxDQUFBQTtRQUVEQSxJQUFJQSxDQUFDQSxZQUFZQSxHQUFHQSxVQUFDQSxJQUFZQTtZQUMvQkEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsSUFBSUEsS0FBS0EscUJBQVVBLENBQUNBLFVBQVVBLENBQUNBLENBQUNBLENBQUNBO2dCQUNuQ0EsTUFBTUEsQ0FBQ0EsY0FBY0EsQ0FBQ0EsT0FBT0EsQ0FBQ0E7WUFDaENBLENBQUNBO1lBQ0RBLEVBQUVBLENBQUNBLENBQUNBLElBQUlBLElBQUlBLGtCQUFPQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDcEJBLE1BQU1BLENBQUNBLGtCQUFPQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQSxPQUFPQSxDQUFDQTtZQUMvQkEsQ0FBQ0E7WUFBQ0EsSUFBSUEsQ0FBQ0EsQ0FBQ0E7Z0JBQ05BLE1BQU1BLENBQUNBLFNBQVNBLENBQUNBO1lBQ25CQSxDQUFDQTtRQUNIQSxDQUFDQSxDQUFBQTtRQUVEQSxJQUFJQSxDQUFDQSxVQUFVQSxHQUFHQSxVQUFDQSxJQUFXQTtZQUM1QkEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsSUFBSUEsS0FBS0EscUJBQVVBLENBQUNBLFVBQVVBLENBQUNBLENBQUNBLENBQUNBO2dCQUNuQ0EsTUFBTUEsQ0FBQ0EsY0FBY0EsQ0FBQ0EsV0FBV0EsQ0FBQ0E7WUFDcENBLENBQUNBO1lBQ0RBLEVBQUVBLENBQUNBLENBQUNBLElBQUlBLElBQUlBLGtCQUFPQSxDQUFDQSxDQUFDQSxDQUFDQTtnQkFDcEJBLE1BQU1BLENBQUNBLGtCQUFPQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQSxXQUFXQSxDQUFDQTtZQUNuQ0EsQ0FBQ0E7WUFBQ0EsSUFBSUEsQ0FBQ0EsQ0FBQ0E7Z0JBQ05BLE1BQU1BLENBQUNBLFNBQVNBLENBQUNBO1lBQ25CQSxDQUFDQTtRQUNIQSxDQUFDQSxDQUFBQTtRQUVEQSxJQUFJQSxDQUFDQSxTQUFTQSxHQUFnQ0EsRUFBRUEsQ0FBQ0E7UUFFakRBLElBQUlBLGNBQWNBLEdBQUdBO1lBQ25CQSxHQUFHQSxDQUFDQSxLQUFLQSxDQUFDQSxtQ0FBbUNBLENBQUNBLENBQUNBO1lBQy9DQSxJQUFJQSxPQUFPQSxHQUFjQSxFQUFFQSxDQUFDQTtZQUM1QkEsQ0FBQ0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsUUFBUUEsRUFBRUEsRUFBRUEsVUFBQ0EsSUFBV0E7Z0JBQ3JDQSxPQUFPQSxDQUFDQSxJQUFJQSxDQUFDQSxHQUFHQSxJQUFJQSxDQUFDQSxVQUFVQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQTtZQUN4Q0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7WUFDSEEsQ0FBQ0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsU0FBU0EsRUFBRUEsVUFBQ0EsUUFBNEJBO2dCQUNyREEsUUFBUUEsQ0FBQ0EsT0FBT0EsQ0FBQ0EsQ0FBQ0E7WUFDcEJBLENBQUNBLENBQUNBLENBQUNBO1FBQ0xBLENBQUNBLENBQUNBO1FBRUZBLElBQUlBLGVBQWVBLEdBQUdBLENBQUNBLENBQUNBLFFBQVFBLENBQUNBLGNBQWNBLEVBQUVBLEdBQUdBLEVBQUVBLEVBQUVBLFFBQVFBLEVBQUVBLElBQUlBLEVBQUVBLENBQUNBLENBQUNBO1FBRTFFQSxBQUNBQSxnRUFEZ0VBO1FBQ2hFQSxJQUFJQSxDQUFDQSxnQkFBZ0JBLEdBQUdBLFVBQUNBLEVBQThCQTtZQUNyREEsSUFBSUEsQ0FBQ0EsU0FBU0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsRUFBRUEsQ0FBQ0EsQ0FBQ0E7WUFDeEJBLENBQUNBLENBQUNBLE9BQU9BLENBQUNBLElBQUlBLENBQUNBLFFBQVFBLEVBQUVBLEVBQUVBLFVBQUNBLElBQUlBO2dCQUM5QkEsSUFBSUEsQ0FBQ0EsU0FBU0EsQ0FBQ0EsSUFBSUEsRUFBRUEsdUJBQVlBLENBQUNBLEdBQUdBLEVBQUVBLGVBQWVBLENBQUNBLENBQUFBO1lBQ3pEQSxDQUFDQSxDQUFDQSxDQUFDQTtRQUNMQSxDQUFDQSxDQUFBQTtRQUVEQSxBQUNBQSwwREFEMERBO1FBQzFEQSxJQUFJQSxDQUFDQSxTQUFTQSxHQUFHQSxVQUFDQSxJQUFZQSxFQUFFQSxNQUFjQSxFQUFFQSxFQUFxQkE7WUFDbkVBLElBQUlBLEtBQUtBLEdBQVNBLFNBQVNBLENBQUNBO1lBQzVCQSxFQUFFQSxDQUFDQSxDQUFDQSxJQUFJQSxLQUFLQSxxQkFBVUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ25DQSxLQUFLQSxHQUFHQSxjQUFjQSxDQUFDQTtZQUN6QkEsQ0FBQ0E7WUFBQ0EsSUFBSUEsQ0FBQ0EsQ0FBQ0E7Z0JBQ05BLEtBQUtBLEdBQUdBLGtCQUFPQSxDQUFDQSxJQUFJQSxDQUFDQSxDQUFDQTtZQUN4QkEsQ0FBQ0E7WUFDREEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ1ZBLE1BQU1BLENBQUNBLENBQUNBLE1BQU1BLENBQUNBLENBQUNBLENBQUNBO29CQUNmQSxLQUFLQSx1QkFBWUEsQ0FBQ0EsR0FBR0E7d0JBQ25CQSxDQUFDQSxDQUFDQSxPQUFPQSxDQUFDQSxLQUFLQSxDQUFDQSxXQUFXQSxFQUFFQSxVQUFDQSxHQUFHQSxJQUFLQSxPQUFBQSxFQUFFQSxDQUFDQSxHQUFHQSxDQUFDQSxFQUFQQSxDQUFPQSxDQUFDQSxDQUFDQTt3QkFDL0NBLEtBQUtBLENBQUNBLFlBQVlBLENBQUNBLElBQUlBLENBQUNBLEVBQUVBLENBQUNBLENBQUNBO3dCQUM1QkEsS0FBS0EsQ0FBQ0EsZ0JBQWdCQSxDQUFDQSxJQUFJQSxDQUFDQSxFQUFFQSxDQUFDQSxDQUFDQTt3QkFDaENBLEtBQUtBLENBQUNBLGlCQUFpQkEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsRUFBRUEsQ0FBQ0EsQ0FBQ0E7d0JBQ2pDQSxLQUFLQSxDQUFDQTtvQkFDUkEsS0FBS0EsdUJBQVlBLENBQUNBLEtBQUtBO3dCQUNyQkEsQ0FBQ0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsS0FBS0EsQ0FBQ0EsV0FBV0EsRUFBRUEsVUFBQ0EsR0FBR0EsSUFBS0EsT0FBQUEsRUFBRUEsQ0FBQ0EsR0FBR0EsQ0FBQ0EsRUFBUEEsQ0FBT0EsQ0FBQ0EsQ0FBQ0E7d0JBQy9DQSxLQUFLQSxDQUFDQSxZQUFZQSxDQUFDQSxJQUFJQSxDQUFDQSxFQUFFQSxDQUFDQSxDQUFDQTt3QkFDNUJBLEtBQUtBLENBQUNBO29CQUNSQSxLQUFLQSx1QkFBWUEsQ0FBQ0EsUUFBUUE7d0JBQ3hCQSxLQUFLQSxDQUFDQSxpQkFBaUJBLENBQUNBLElBQUlBLENBQUNBLEVBQUVBLENBQUNBLENBQUNBO3dCQUNqQ0EsS0FBS0EsQ0FBQ0E7b0JBQ1JBLEtBQUtBLHVCQUFZQSxDQUFDQSxPQUFPQTt3QkFDdkJBLEtBQUtBLENBQUNBLGdCQUFnQkEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsRUFBRUEsQ0FBQ0EsQ0FBQ0E7d0JBQ2hDQSxLQUFLQSxDQUFDQTtvQkFDUkE7d0JBQ0VBLEdBQUdBLENBQUNBLEtBQUtBLENBQUNBLG9DQUFvQ0EsRUFBRUEsTUFBTUEsQ0FBQ0EsQ0FBQ0E7Z0JBQzVEQSxDQUFDQTtZQUNIQSxDQUFDQTtRQUNIQSxDQUFDQSxDQUFBQTtRQUNEQSxNQUFNQSxDQUFDQSxJQUFJQSxDQUFDQTtJQUNkQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtBQUNKQSxDQUFDQSxFQXpZTSxVQUFVLEtBQVYsVUFBVSxRQXlZaEI7O0FDM1lELHlDQUF5QztBQUN6QyxnRUFBZ0U7QUFFaEUsSUFBTyxPQUFPLENBZWI7QUFmRCxXQUFPLE9BQU8sRUFBQyxDQUFDO0lBRUg2TCxlQUFPQSxHQUFHQSxVQUFVQSxDQUFDQTtJQUNyQkEsWUFBSUEsR0FBR0EsR0FBR0EsR0FBR0EsZUFBT0EsQ0FBQ0E7SUFDckJBLGtCQUFVQSxHQUFHQSxTQUFTQSxDQUFDQTtJQUN2QkEsV0FBR0EsR0FBa0JBLE1BQU1BLENBQUNBLEdBQUdBLENBQUNBLGtCQUFVQSxDQUFDQSxDQUFDQTtJQUU1Q0Esa0JBQVVBLEdBQUdBLGtCQUFrQkEsQ0FBQ0E7SUFDaENBLG9CQUFZQSxHQUFHQSxrQkFBVUEsR0FBR0EsT0FBT0EsQ0FBQ0E7SUFHcENBLG1CQUFXQSxHQUFHQSxrQkFBa0JBLEdBQUdBLFVBQVVBLENBQUNBLGlCQUFpQkEsR0FBR0EsMENBQTBDQSxDQUFDQTtJQUU3R0EsMkJBQW1CQSxHQUFHQSxtQkFBV0EsR0FBR0EsYUFBYUEsQ0FBQ0E7QUFFL0RBLENBQUNBLEVBZk0sT0FBTyxLQUFQLE9BQU8sUUFlYjs7QUNsQkQseUNBQXlDO0FBQ3pDLGdFQUFnRTtBQUNoRSx5Q0FBeUM7QUFFekMsSUFBTyxPQUFPLENBZ0JiO0FBaEJELFdBQU8sT0FBTyxFQUFDLENBQUM7SUFFSEEsZUFBT0EsR0FBR0EsT0FBT0EsQ0FBQ0EsTUFBTUEsQ0FBQ0Esa0JBQVVBLEVBQUVBLENBQUNBLFVBQVVBLENBQUNBLFVBQVVBLENBQUNBLENBQUNBLENBQUNBO0lBQzlEQSxrQkFBVUEsR0FBR0EsYUFBYUEsQ0FBQ0Esd0JBQXdCQSxDQUFDQSxlQUFPQSxFQUFFQSxrQkFBVUEsQ0FBQ0EsQ0FBQ0E7SUFDekVBLGFBQUtBLEdBQUdBLGFBQWFBLENBQUNBLHFCQUFxQkEsQ0FBQ0Esb0JBQVlBLENBQUNBLENBQUNBO0lBRXJFQSxlQUFPQSxDQUFDQSxNQUFNQSxDQUFDQSxDQUFDQSxnQkFBZ0JBLEVBQUVBLFVBQUNBLGNBQXNDQTtRQUN2RUEsY0FBY0EsQ0FBQ0EsSUFBSUEsQ0FBQ0EsVUFBVUEsQ0FBQ0EsSUFBSUEsQ0FBQ0EsZUFBT0EsRUFBRUEsU0FBU0EsQ0FBQ0EsRUFBRUEsYUFBS0EsQ0FBQ0Esb0JBQW9CQSxFQUFFQSxLQUFLQSxDQUFDQSxDQUFDQSxDQUFDQTtJQUMvRkEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7SUFFSkEsZUFBT0EsQ0FBQ0EsT0FBT0EsQ0FBQ0EsYUFBYUEsRUFBRUEsQ0FBQ0EsWUFBWUEsRUFBRUEsU0FBU0EsRUFBRUEsSUFBSUEsRUFBRUEsWUFBWUEsRUFBRUEsVUFBQ0EsVUFBaUJBLEVBQUVBLE9BQXdCQSxFQUFFQSxFQUFlQSxFQUFFQSxVQUErQkE7UUFDektBLE1BQU1BLENBQUNBLFVBQVVBLENBQUNBLGdCQUFnQkEsRUFBRUEsR0FBR0EsUUFBUUEsR0FBR0EsVUFBVUEsQ0FBQ0EsdUJBQXVCQSxFQUFFQSxHQUFHQSxtQ0FBbUNBLENBQUNBO0lBQy9IQSxDQUFDQSxDQUFDQSxDQUFDQSxDQUFDQTtJQUdKQSxrQkFBa0JBLENBQUNBLFNBQVNBLENBQUNBLGtCQUFVQSxDQUFDQSxDQUFDQTtBQUMzQ0EsQ0FBQ0EsRUFoQk0sT0FBTyxLQUFQLE9BQU8sUUFnQmI7O0FDcEJELHlDQUF5QztBQUN6Qyx5Q0FBeUM7QUFDekMsd0NBQXdDO0FBRXhDLElBQU8sT0FBTyxDQW9GYjtBQXBGRCxXQUFPLE9BQU8sRUFBQyxDQUFDO0lBRUhBLHlCQUFpQkEsR0FBR0Esa0JBQVVBLENBQUNBLG1CQUFtQkEsRUFDM0RBLENBQUNBLFFBQVFBLEVBQUVBLGlCQUFpQkEsRUFBRUEsZ0JBQWdCQSxFQUFFQSxXQUFXQSxFQUFFQSxjQUFjQSxFQUFFQSxPQUFPQSxFQUFFQSxVQUFVQSxFQUFFQSxrQkFBa0JBLEVBQ2xIQSxVQUFDQSxNQUFNQSxFQUFFQSxlQUFpREEsRUFDekRBLGNBQXVDQSxFQUFFQSxTQUE2QkEsRUFBRUEsWUFBWUEsRUFBRUEsS0FBS0EsRUFBRUEsUUFBUUEsRUFBRUEsZ0JBQWdCQTtRQUV0SEEsTUFBTUEsQ0FBQ0EsS0FBS0EsR0FBR0EsZUFBZUEsQ0FBQ0E7UUFFL0JBLE1BQU1BLENBQUNBLE1BQU1BLEdBQUdBO1lBQ2RBLElBQUlBLEVBQUVBLEVBQUVBO1NBQ1RBLENBQUNBO1FBRUZBLE1BQU1BLENBQUNBLEdBQUdBLENBQUNBLGNBQWNBLEVBQUVBLFVBQUNBLE1BQU1BO1lBQ2hDQSxVQUFVQSxFQUFFQSxDQUFDQTtRQUNmQSxDQUFDQSxDQUFDQSxDQUFDQTtRQUVIQSxBQUNBQSxxQ0FEcUNBO1lBQ2pDQSxtQkFBbUJBLEdBQUdBLFlBQVlBLENBQUNBO1FBRXZDQSxBQUNBQSx3Q0FEd0NBO1FBQ3hDQSxNQUFNQSxDQUFDQSxNQUFNQSxHQUFHQTtZQUNkQSxJQUFJQSxHQUFHQSxHQUFHQSwyQkFBbUJBLENBQUNBO1lBRTlCQSxPQUFPQSxDQUFDQSxHQUFHQSxDQUFDQSxtQkFBbUJBLEdBQUdBLE9BQU9BLENBQUNBLE1BQU1BLENBQUNBLE1BQU1BLENBQUNBLE1BQU1BLEVBQUVBLElBQUlBLENBQUNBLENBQUNBLENBQUNBO1lBQ3ZFQSxPQUFPQSxDQUFDQSxHQUFHQSxDQUFDQSxrQkFBa0JBLEdBQUdBLEdBQUdBLENBQUNBLENBQUNBO1lBRXRDQSxJQUFJQSxJQUFJQSxHQUFHQSxNQUFNQSxDQUFDQSxNQUFNQSxDQUFDQTtZQUN6QkEsSUFBSUEsTUFBTUEsR0FBR0E7Z0JBQ1hBLE9BQU9BLEVBQUVBO29CQUNQQSxpQkFBaUJBLEVBQUVBLElBQUlBO29CQUN2QkEsZUFBZUEsRUFBRUEsbUJBQW1CQTtvQkFDcENBLGNBQWNBLEVBQUVBLGtCQUFrQkE7aUJBQ25DQTthQUNGQSxDQUFDQTtZQUNGQSxLQUFLQSxDQUFDQSxJQUFJQSxDQUFDQSxHQUFHQSxFQUFFQSxJQUFJQSxFQUFFQSxNQUFNQSxDQUFDQSxDQUMzQkEsT0FBT0EsQ0FBQ0EsVUFBVUEsSUFBSUEsRUFBRUEsTUFBTUEsRUFBRUEsT0FBT0EsRUFBRUEsTUFBTUE7Z0JBQzdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFFdkUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RCLENBQUMsQ0FBQ0EsQ0FDRkEsS0FBS0EsQ0FBQ0EsVUFBVUEsSUFBSUEsRUFBRUEsTUFBTUEsRUFBRUEsT0FBT0EsRUFBRUEsTUFBTUE7Z0JBQzNDLFdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxrQ0FBa0MsR0FBRyxJQUFJLEdBQUcsbUJBQW1CLEdBQUcsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNwSCxDQUFDLENBQUNBLENBQUNBO1FBQ1BBLENBQUNBLENBQUNBO1FBRUZBLFVBQVVBLEVBQUVBLENBQUNBO1FBRWJBLFNBQVNBLGFBQWFBLENBQUNBLElBQUlBO1lBQ3pCQyxJQUFJQSxTQUFTQSxHQUFHQSxJQUFJQSxDQUFDQSxTQUFTQSxDQUFDQTtZQUMvQkEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsU0FBU0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7Z0JBQ2RBLElBQUlBLE1BQU1BLEdBQUdBLElBQUlBLENBQUNBLEdBQUdBLENBQUNBLG1CQUFXQSxHQUFHQSxHQUFHQSxHQUFHQSxTQUFTQSxHQUFHQSxNQUFNQSxDQUFDQSxDQUFDQTtnQkFDOURBLE9BQU9BLENBQUNBLEdBQUdBLENBQUNBLDBCQUEwQkEsR0FBR0EsU0FBU0EsR0FBR0EsUUFBUUEsR0FBR0EsTUFBTUEsQ0FBQ0EsQ0FBQ0E7WUFFMUVBLENBQUNBO1lBQ0RBLG9EQUFvREE7UUFDdERBLENBQUNBO1FBRURELFNBQVNBLFVBQVVBO1lBQ2pCRSxNQUFNQSxDQUFDQSxNQUFNQSxHQUFHQSxFQUFFQSxDQUFDQTtZQUNuQkEsSUFBSUEsR0FBR0EsR0FBR0EsMkJBQW1CQSxDQUFDQTtZQUM5QkEsSUFBSUEsTUFBTUEsR0FBR0E7Z0JBQ1hBLE9BQU9BLEVBQUVBO29CQUNQQSxpQkFBaUJBLEVBQUVBLElBQUlBO29CQUN2QkEsZUFBZUEsRUFBRUEsbUJBQW1CQTtpQkFDckNBO2FBQ0ZBLENBQUNBO1lBQ0ZBLE9BQU9BLEtBQUtBLENBQUNBLFFBQVFBLENBQUNBLE9BQU9BLENBQUNBLE1BQU1BLENBQUNBLFFBQVFBLENBQUNBLENBQUNBO1lBQy9DQSxLQUFLQSxDQUFDQSxHQUFHQSxDQUFDQSxHQUFHQSxFQUFFQSxNQUFNQSxDQUFDQSxDQUNwQkEsT0FBT0EsQ0FBQ0EsVUFBVUEsSUFBSUEsRUFBRUEsTUFBTUEsRUFBRUEsT0FBT0EsRUFBRUEsTUFBTUE7Z0JBQzdDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDeEQsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ3ZCLENBQUM7Z0JBQ0QsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEIsQ0FBQyxDQUFDQSxDQUNGQSxLQUFLQSxDQUFDQSxVQUFVQSxJQUFJQSxFQUFFQSxNQUFNQSxFQUFFQSxPQUFPQSxFQUFFQSxNQUFNQTtnQkFDM0MsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ3RCLFdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1lBQ2hFLENBQUMsQ0FBQ0EsQ0FBQ0E7UUFDUEEsQ0FBQ0E7SUFDSEYsQ0FBQ0EsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7QUFDVkEsQ0FBQ0EsRUFwRk0sT0FBTyxLQUFQLE9BQU8sUUFvRmIiLCJmaWxlIjoiY29tcGlsZWQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vbGlicy9oYXd0aW8tZm9yZ2UvZGVmcy5kLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL2xpYnMvaGF3dGlvLWZvcm1zL2RlZnMuZC50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi9saWJzL2hhd3Rpby11aS9kZWZzLmQudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vbGlicy9oYXd0aW8tdXRpbGl0aWVzL2RlZnMuZC50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi9saWJzL2hhd3Rpby13aWtpL2RlZnMuZC50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi9saWJzL2hhd3Rpby1vYXV0aC9kZWZzLmQudHNcIi8+XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG5tb2R1bGUgRGV2ZWxvcGVyIHtcblxuICBleHBvcnQgdmFyIGNvbnRleHQgPSAnL3dvcmtzcGFjZXMnO1xuICBleHBvcnQgdmFyIGhhc2ggPSAnIycgKyBjb250ZXh0O1xuICBleHBvcnQgdmFyIHBsdWdpbk5hbWUgPSAnRGV2ZWxvcGVyJztcbiAgZXhwb3J0IHZhciBwbHVnaW5QYXRoID0gJ3BsdWdpbnMvZGV2ZWxvcGVyLyc7XG4gIGV4cG9ydCB2YXIgdGVtcGxhdGVQYXRoID0gcGx1Z2luUGF0aCArICdodG1sLyc7XG4gIGV4cG9ydCB2YXIgbG9nOkxvZ2dpbmcuTG9nZ2VyID0gTG9nZ2VyLmdldChwbHVnaW5OYW1lKTtcblxuXG4gIGV4cG9ydCBmdW5jdGlvbiBlbnJpY2hXb3Jrc3BhY2VzKHByb2plY3RzKSB7XG4gICAgYW5ndWxhci5mb3JFYWNoKHByb2plY3RzLCAocHJvamVjdCkgPT4ge1xuICAgICAgZW5yaWNoV29ya3NwYWNlKHByb2plY3QpO1xuICAgIH0pO1xuICAgIHJldHVybiBwcm9qZWN0cztcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBlbnJpY2hXb3Jrc3BhY2UoYnVpbGQpIHtcbiAgICBpZiAoYnVpbGQpIHtcbiAgICAgIHZhciBuYW1lID0gS3ViZXJuZXRlcy5nZXROYW1lKGJ1aWxkKTtcbiAgICAgIGJ1aWxkLiRuYW1lID0gbmFtZTtcblxuICAgICAgdmFyIG5hbWVBcnJheSA9IG5hbWUuc3BsaXQoXCItXCIpO1xuICAgICAgdmFyIG5hbWVBcnJheUxlbmd0aCA9IG5hbWVBcnJheS5sZW5ndGg7XG4gICAgICBidWlsZC4kc2hvcnROYW1lID0gKG5hbWVBcnJheUxlbmd0aCA+IDQpID8gbmFtZUFycmF5LnNsaWNlKDAsIG5hbWVBcnJheUxlbmd0aCAtIDQpLmpvaW4oXCItXCIpIDogbmFtZS5zdWJzdHJpbmcoMCwgMzApO1xuXG4gICAgICB2YXIgbGFiZWxzID0gS3ViZXJuZXRlcy5nZXRMYWJlbHMocm91dGUpO1xuICAgICAgdmFyIGNyZWF0aW9uVGltZXN0YW1wID0gS3ViZXJuZXRlcy5nZXRDcmVhdGlvblRpbWVzdGFtcChidWlsZCk7XG4gICAgICBpZiAoY3JlYXRpb25UaW1lc3RhbXApIHtcbiAgICAgICAgdmFyIGQgPSBuZXcgRGF0ZShjcmVhdGlvblRpbWVzdGFtcCk7XG4gICAgICAgIGJ1aWxkLiRjcmVhdGlvbkRhdGUgPSBkO1xuICAgICAgfVxuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgYnVpbGQuJHZpZXdMaW5rID0gVXJsSGVscGVycy5qb2luKFwid29ya3NwYWNlc1wiLCBuYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVdvcmtzcGFjZUJyZWFkY3J1bWJzKGNoaWxkcmVuID0gbnVsbCkge1xuICAgIHZhciBhbnN3ZXIgPSBbXG4gICAgICB7XG4gICAgICAgIGhyZWY6IFwiL3dvcmtzcGFjZXNcIixcbiAgICAgICAgbGFiZWw6IFwiV29ya3NwYWNlc1wiLFxuICAgICAgICB0aXRsZTogXCJWaWV3IGFsbCB0aGUgd29ya3NwYWNlc1wiXG4gICAgICB9XG4gICAgXTtcbiAgICB2YXIgd29ya3NwYWNlTmFtZSA9IEt1YmVybmV0ZXMuY3VycmVudEt1YmVybmV0ZXNOYW1lc3BhY2UoKTtcbiAgICBpZiAod29ya3NwYWNlTmFtZSkge1xuICAgICAgYW5zd2VyLnB1c2goXG4gICAgICAgIHtcbiAgICAgICAgICBocmVmOiBcIi93b3Jrc3BhY2VzL1wiICsgd29ya3NwYWNlTmFtZSxcbiAgICAgICAgICBsYWJlbDogd29ya3NwYWNlTmFtZSxcbiAgICAgICAgICB0aXRsZTogXCJWaWV3IHRoZSB3b3Jrc3BhY2U6IFwiICsgd29ya3NwYWNlTmFtZVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIHByb2Nlc3NDaGlsZHJlbihhbnN3ZXIsIGNoaWxkcmVuKTtcbiAgICB9XG4gICAgcmV0dXJuIGFuc3dlcjtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9qZWN0QnJlYWRjcnVtYnMocHJvamVjdE5hbWUgPSBudWxsLCBjaGlsZHJlbiA9IG51bGwpIHtcbiAgICB2YXIgYW5zd2VyID0gY3JlYXRlV29ya3NwYWNlQnJlYWRjcnVtYnMoKTtcbiAgICB2YXIgd29ya3NwYWNlTmFtZSA9IEt1YmVybmV0ZXMuY3VycmVudEt1YmVybmV0ZXNOYW1lc3BhY2UoKTtcbiAgICBpZiAod29ya3NwYWNlTmFtZSkge1xuICAgICAgaWYgKHByb2plY3ROYW1lKSB7XG4gICAgICAgIGFuc3dlci5wdXNoKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGhyZWY6IFVybEhlbHBlcnMuam9pbihcIi93b3Jrc3BhY2VzXCIsIHdvcmtzcGFjZU5hbWUsIFwicHJvamVjdHNcIiksXG4gICAgICAgICAgICBsYWJlbDogXCJQcm9qZWN0c1wiLFxuICAgICAgICAgICAgdGl0bGU6IFwiVmlldyBhbGwgdGhlIHByb2plY3RzXCJcbiAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgYW5zd2VyLnB1c2goXG4gICAgICAgICAge1xuICAgICAgICAgICAgaHJlZjogVXJsSGVscGVycy5qb2luKFwiL3dvcmtzcGFjZXNcIiwgd29ya3NwYWNlTmFtZSwgXCJwcm9qZWN0c1wiLCBwcm9qZWN0TmFtZSksXG4gICAgICAgICAgICBsYWJlbDogcHJvamVjdE5hbWUsXG4gICAgICAgICAgICB0aXRsZTogXCJWaWV3IHRoZSBwcm9qZWN0OiBcIiArIHByb2plY3ROYW1lXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHByb2Nlc3NDaGlsZHJlbihhbnN3ZXIsIGNoaWxkcmVuKTtcbiAgICB9XG4gICAgcmV0dXJuIGFuc3dlcjtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBjcmVhdGVXb3Jrc3BhY2VTdWJOYXZCYXJzKCkge1xuICAgIHZhciB3b3Jrc3BhY2VOYW1lID0gS3ViZXJuZXRlcy5jdXJyZW50S3ViZXJuZXRlc05hbWVzcGFjZSgpO1xuICAgIHJldHVybiBhY3RpdmF0ZUN1cnJlbnQoW1xuICAgICAge1xuICAgICAgICBocmVmOiBVcmxIZWxwZXJzLmpvaW4oXCIvd29ya3NwYWNlc1wiLCB3b3Jrc3BhY2VOYW1lKSxcbiAgICAgICAgbGFiZWw6IFwiUHJvamVjdHNcIixcbiAgICAgICAgdGl0bGU6IFwiVmlldyB0aGUgcHJvamVjdHMgZm9yIHRoaXMgd29ya3NwYWNlXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhyZWY6IFVybEhlbHBlcnMuam9pbihcIi93b3Jrc3BhY2VzXCIsIHdvcmtzcGFjZU5hbWUsIFwiZW52aXJvbm1lbnQvYXBwc1wiKSxcbiAgICAgICAgbGFiZWw6IFwiUnVudGltZVwiLFxuICAgICAgICB0aXRsZTogXCJWaWV3IHRoZSBydW50aW1lIGVudmlyb25tZW50IGZvciB0aGlzIHdvcmtzcGFjZVwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBocmVmOiBVcmxIZWxwZXJzLmpvaW4oXCIvd29ya3NwYWNlc1wiLCB3b3Jrc3BhY2VOYW1lLCBcImRldGFpbFwiKSxcbiAgICAgICAgbGFiZWw6IFwiRGV0YWlsXCIsXG4gICAgICAgIHRpdGxlOiBcIlZpZXcgdGhlIHdvcmtzcGFjZSBkZXRhaWxcIlxuICAgICAgfVxuICAgIF0pO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb2plY3RTdWJOYXZCYXJzKHByb2plY3ROYW1lKSB7XG4gICAgdmFyIHdvcmtzcGFjZU5hbWUgPSBLdWJlcm5ldGVzLmN1cnJlbnRLdWJlcm5ldGVzTmFtZXNwYWNlKCk7XG4gICAgcmV0dXJuIGFjdGl2YXRlQ3VycmVudChbXG4gICAgICB7XG4gICAgICAgIGhyZWY6IFVybEhlbHBlcnMuam9pbihcIi93b3Jrc3BhY2VzXCIsIHdvcmtzcGFjZU5hbWUsIFwicHJvamVjdHNcIiwgcHJvamVjdE5hbWUsIFwiYnVpbGRzXCIpLFxuICAgICAgICBsYWJlbDogXCJCdWlsZHNcIixcbiAgICAgICAgdGl0bGU6IFwiVmlldyB0aGUgYnVpbGRzIGZvciB0aGlzIHByb2plY3RcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgLy9ocmVmOiBVcmxIZWxwZXJzLmpvaW4oXCIvd29ya3NwYWNlc1wiLCB3b3Jrc3BhY2VOYW1lLCBcInByb2plY3RzXCIsIHByb2plY3ROYW1lLCBcImVudmlyb25tZW50c1wiKSxcbiAgICAgICAgaHJlZjogVXJsSGVscGVycy5qb2luKFwiL3dvcmtzcGFjZXNcIiwgd29ya3NwYWNlTmFtZSwgXCJwcm9qZWN0c1wiLCBwcm9qZWN0TmFtZSksXG4gICAgICAgIGxhYmVsOiBcIkVudmlyb25tZW50c1wiLFxuICAgICAgICB0aXRsZTogXCJWaWV3IHRoZSBlbnZpcm9ubWVudHMgZm9yIHRoaXMgcHJvamVjdFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBocmVmOiBVcmxIZWxwZXJzLmpvaW4oXCIvd29ya3NwYWNlc1wiLCB3b3Jrc3BhY2VOYW1lLCBcInByb2plY3RzXCIsIHByb2plY3ROYW1lLCBcInRvb2xzXCIpLFxuICAgICAgICBsYWJlbDogXCJUb29sc1wiLFxuICAgICAgICB0aXRsZTogXCJWaWV3IHRoZSB0b29scyBmb3IgdGhpcyBwcm9qZWN0XCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhyZWY6IFVybEhlbHBlcnMuam9pbihcIi93b3Jrc3BhY2VzXCIsIHdvcmtzcGFjZU5hbWUsIFwicHJvamVjdHNcIiwgcHJvamVjdE5hbWUsIFwiZGV0YWlsXCIpLFxuICAgICAgICBsYWJlbDogXCJEZXRhaWxcIixcbiAgICAgICAgdGl0bGU6IFwiVmlldyB0aGUgcHJvamVjdCBkZXRhaWxcIlxuICAgICAgfVxuICAgIF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgdGhlIFVSTCBxdWVyeSBzdHJpbmcgaWYgaXRzIGluc2lkZSB0aGUgZ2l2ZW4gdGV4dFxuICAgKi9cbiAgZnVuY3Rpb24gdHJpbVF1ZXJ5KHRleHQpIHtcbiAgICBpZiAodGV4dCkge1xuICAgICAgdmFyIGlkeCA9IHRleHQuaW5kZXhPZihcIj9cIik7XG4gICAgICBpZiAoaWR4ID49IDApIHtcbiAgICAgICAgcmV0dXJuIHRleHQuc3Vic3RyaW5nKDAsIGlkeCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgZnVuY3Rpb24gYWN0aXZhdGVDdXJyZW50KG5hdkJhckl0ZW1zKSB7XG4gICAgdmFyIGluamVjdG9yID0gSGF3dGlvQ29yZS5pbmplY3RvcjtcbiAgICB2YXIgJGxvY2F0aW9uID0gaW5qZWN0b3IgPyBpbmplY3Rvci5nZXQoXCIkbG9jYXRpb25cIikgOiBudWxsO1xuICAgIGlmICgkbG9jYXRpb24pIHtcbiAgICAgIHZhciBwYXRoID0gdHJpbVF1ZXJ5KCRsb2NhdGlvbi5wYXRoKCkpO1xuICAgICAgdmFyIGZvdW5kID0gZmFsc2U7XG4gICAgICBhbmd1bGFyLmZvckVhY2gobmF2QmFySXRlbXMsIChpdGVtKSA9PiB7XG4gICAgICAgIHZhciBocmVmID0gaXRlbS5ocmVmO1xuICAgICAgICB2YXIgdHJpbUhyZWYgPSB0cmltUXVlcnkoaHJlZik7XG4gICAgICAgIGlmICghZm91bmQgJiYgdHJpbUhyZWYgJiYgdHJpbUhyZWYgPT09IHBhdGgpIHtcbiAgICAgICAgICBpdGVtLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG5hdkJhckl0ZW1zO1xuICB9XG5cbiAgZnVuY3Rpb24gcHJvY2Vzc0NoaWxkcmVuKGFuc3dlciwgY2hpbGRyZW4pIHtcbiAgICBpZiAoY2hpbGRyZW4pIHtcbiAgICAgIGlmIChhbmd1bGFyLmlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgICAgIGFuc3dlciA9IGFuc3dlci5jb25jYXQoY2hpbGRyZW4pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYW5zd2VyLnB1c2goY2hpbGRyZW4pO1xuICAgICAgfVxuICAgIH1cbiAgICBhY3RpdmF0ZUN1cnJlbnQoYW5zd2VyKTtcbiAgICByZXR1cm4gYW5zd2VyO1xuICB9XG59IiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImRldmVsb3BlckhlbHBlcnMudHNcIi8+XG5cbm1vZHVsZSBEZXZlbG9wZXIge1xuXG4gIGV4cG9ydCB2YXIgX21vZHVsZSA9IGFuZ3VsYXIubW9kdWxlKHBsdWdpbk5hbWUsIFsnaGF3dGlvLWNvcmUnLCAnaGF3dGlvLXVpJywgJ3dpa2knLCAncmVzdG1vZCcsICd1aS5jb2RlbWlycm9yJ10pO1xuICBleHBvcnQgdmFyIGNvbnRyb2xsZXIgPSBQbHVnaW5IZWxwZXJzLmNyZWF0ZUNvbnRyb2xsZXJGdW5jdGlvbihfbW9kdWxlLCBwbHVnaW5OYW1lKTtcbiAgZXhwb3J0IHZhciByb3V0ZSA9IFBsdWdpbkhlbHBlcnMuY3JlYXRlUm91dGluZ0Z1bmN0aW9uKHRlbXBsYXRlUGF0aCk7XG5cbiAgX21vZHVsZS5jb25maWcoWyckcm91dGVQcm92aWRlcicsICgkcm91dGVQcm92aWRlcjpuZy5yb3V0ZS5JUm91dGVQcm92aWRlcikgPT4ge1xuICAgICRyb3V0ZVByb3ZpZGVyLndoZW4oY29udGV4dCwgcm91dGUoJ3dvcmtzcGFjZXMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnLzpuYW1lc3BhY2UnKSwgcm91dGUoJ3Byb2plY3RzLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy86bmFtZXNwYWNlL2RldGFpbCcpLCByb3V0ZSgnd29ya3NwYWNlLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy86bmFtZXNwYWNlL3Byb2plY3RzJyksIHJvdXRlKCdwcm9qZWN0cy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvOm5hbWVzcGFjZS9wcm9qZWN0cy86aWQnKSwgcm91dGUoJ2Vudmlyb25tZW50cy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvOm5hbWVzcGFjZS9wcm9qZWN0cy86aWQvZGV0YWlsJyksIEt1YmVybmV0ZXMucm91dGUoJ2J1aWxkQ29uZmlnLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy86bmFtZXNwYWNlL3Byb2plY3RzLzppZC9idWlsZHMnKSwgS3ViZXJuZXRlcy5yb3V0ZSgnYnVpbGRzLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy86bmFtZXNwYWNlL3Byb2plY3RzLzppZC9lbnZpcm9ubWVudHMnKSwgcm91dGUoJ2Vudmlyb25tZW50cy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvOm5hbWVzcGFjZS9wcm9qZWN0cy86aWQvdG9vbHMnKSwgcm91dGUoJ3Rvb2xzLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy86d29ya3NwYWNlL3Byb2plY3RzLzpwcm9qZWN0L2Vudmlyb25tZW50cy86bmFtZXNwYWNlJyksIHJvdXRlKCdlbnZpcm9ubWVudC5odG1sJywgZmFsc2UpKVxuICB9XSk7XG4gIFxuXG4gIF9tb2R1bGUucnVuKFsndmlld1JlZ2lzdHJ5JywgJ3dvcmtzcGFjZScsICdTZXJ2aWNlUmVnaXN0cnknLCAnSGF3dGlvTmF2JywgJ0t1YmVybmV0ZXNNb2RlbCcsICckdGVtcGxhdGVDYWNoZScsICh2aWV3UmVnaXN0cnksIHdvcmtzcGFjZTpDb3JlLldvcmtzcGFjZSwgU2VydmljZVJlZ2lzdHJ5LCBIYXd0aW9OYXYsIEt1YmVybmV0ZXNNb2RlbCwgJHRlbXBsYXRlQ2FjaGUpID0+IHtcbiAgICBsb2cuZGVidWcoXCJSdW5uaW5nXCIpO1xuICAgIHZpZXdSZWdpc3RyeVsnd29ya3NwYWNlcyddID0gS3ViZXJuZXRlcy50ZW1wbGF0ZVBhdGggKyAnbGF5b3V0S3ViZXJuZXRlcy5odG1sJztcblxuICAgIHZhciBidWlsZGVyID0gSGF3dGlvTmF2LmJ1aWxkZXIoKTtcbiAgICB2YXIgd29ya3NwYWNlcyA9IGJ1aWxkZXIuaWQoJ3dvcmtzcGFjZXMnKVxuICAgICAgICAgICAgICAgICAgICAgIC5ocmVmKCgpID0+IGNvbnRleHQpXG4gICAgICAgICAgICAgICAgICAgICAgLnRpdGxlKCgpID0+ICdBbGwnKVxuICAgICAgICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuXG4gICAgdmFyIHdvcmtzcGFjZU92ZXJ2aWV3ID0gYnVpbGRlci5pZCgnd29ya3NwYWNlcycpXG4gICAgICAgICAgICAgICAgICAgICAgLmhyZWYoKCkgPT4gVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdvdmVydmlldycpKVxuICAgICAgICAgICAgICAgICAgICAgIC50aXRsZSgoKSA9PiAnV29ya3NwYWNlJylcbiAgICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcblxuICAgIHZhciB3b3Jrc3BhY2VzVGFiID0gYnVpbGRlci5pZCgnd29ya3NwYWNlcycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgLnJhbmsoMTAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgIC5ocmVmKCgpID0+IGNvbnRleHQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgLnRpdGxlKCgpID0+ICdXb3Jrc3BhY2VzJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAuaXNWYWxpZCgoKSA9PiAhQ29yZS5pc1JlbW90ZUNvbm5lY3Rpb24oKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAudGFicyh3b3Jrc3BhY2VzKVxuICAgICAgICAgICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuXG4gICAgSGF3dGlvTmF2LmFkZCh3b3Jrc3BhY2VzVGFiKTtcbiAgfV0pO1xuXG5cbiAgaGF3dGlvUGx1Z2luTG9hZGVyLmFkZE1vZHVsZShwbHVnaW5OYW1lKTtcbn1cbiIsIm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgY2xhc3MgY29uc3RzIHtcbiAgICBnZXQgTkFNRVNQQUNFX1NUT1JBR0VfS0VZKCk6c3RyaW5nIHsgcmV0dXJuIFwiazhzU2VsZWN0ZWROYW1lc3BhY2VcIjsgfVxuICB9XG5cbiAgZXhwb3J0IHZhciBDb25zdGFudHMgPSBuZXcgY29uc3RzKCk7XG5cdFxuICBleHBvcnQgaW50ZXJmYWNlIEFwaUxvY2F0aW9uIHtcbiAgICBwcm90bz86c3RyaW5nO1xuICAgIGhvc3RQb3J0OnN0cmluZztcbiAgICBwcmVmaXg6c3RyaW5nO1xuICB9XG4gIFxuICBleHBvcnQgaW50ZXJmYWNlIEFwaUxvY2F0aW9ucyB7XG4gICAgb3BlbnNoaWZ0PzogQXBpTG9jYXRpb247XG4gICAgazhzPzogQXBpTG9jYXRpb247XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEt1YmVybmV0ZXNDb25maWcge1xuICAgIG1hc3Rlcl91cmk/OiBzdHJpbmc7XG4gICAgYXBpPzogQXBpTG9jYXRpb25zO1xuICAgIG9wZW5zaGlmdD86IE9wZW5TaGlmdE9BdXRoQ29uZmlnO1xuICAgIGdvb2dsZT86IEdvb2dsZU9BdXRoQ29uZmlnO1xuICAgIGtleWNsb2FrPzogS2V5Q2xvYWtBdXRoQ29uZmlnO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBPcGVuU2hpZnRPQXV0aENvbmZpZyB7XG4gICAgb2F1dGhfYXV0aG9yaXplX3VyaTpzdHJpbmc7XG4gICAgb2F1dGhfY2xpZW50X2lkOnN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgR29vZ2xlT0F1dGhDb25maWcge1xuICAgIGF1dGhlbnRpY2F0aW9uVVJJOnN0cmluZztcbiAgICBhdXRob3JpemF0aW9uVVJJOnN0cmluZztcbiAgICBjbGllbnRJZDpzdHJpbmc7XG4gICAgY2xpZW50U2VjcmV0OnN0cmluZztcbiAgICByZWRpcmVjdFVSSTpzdHJpbmc7XG4gICAgc2NvcGU6c3RyaW5nO1xuICAgIHRva2VuVVJJPzpzdHJpbmc7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEtleUNsb2FrQXV0aENvbmZpZyB7XG4gICAgb2F1dGhfYXV0aG9yaXplX3VyaTpzdHJpbmc7XG4gICAgb2F1dGhfY2xpZW50X2lkOnN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgS3ViZXJuZXRlc1N0YXRlIHtcbiAgICBuYW1lc3BhY2VzOiBBcnJheTxzdHJpbmc+O1xuICAgIHNlbGVjdGVkTmFtZXNwYWNlOiBzdHJpbmc7XG4gIH1cblxuXHRleHBvcnQgY2xhc3MgV2F0Y2hUeXBlcyB7XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgRU5EUE9JTlRTKCk6c3RyaW5nIHsgcmV0dXJuIFwiZW5kcG9pbnRzXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBFVkVOVFMoKTpzdHJpbmcgeyByZXR1cm4gXCJldmVudHNcIjsgfVxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IE5BTUVTUEFDRVMoKTpzdHJpbmcgeyByZXR1cm4gXCJuYW1lc3BhY2VzXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBOT0RFUygpOnN0cmluZyB7IHJldHVybiBcIm5vZGVzXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBQRVJTSVNURU5UX1ZPTFVNRVMoKTpzdHJpbmcgeyByZXR1cm4gXCJwZXJzaXN0ZW50dm9sdW1lc1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgUEVSU0lTVEVOVF9WT0xVTUVfQ0xBSU1TKCk6c3RyaW5nIHsgcmV0dXJuIFwicGVyc2lzdGVudHZvbHVtZWNsYWltc1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgUE9EUygpOnN0cmluZyB7IHJldHVybiBcInBvZHNcIjsgfVxuXHRcdHB1YmxpYyBzdGF0aWMgZ2V0IFJFUExJQ0FUSU9OX0NPTlRST0xMRVJTKCk6c3RyaW5nIHsgcmV0dXJuIFwicmVwbGljYXRpb25jb250cm9sbGVyc1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgUkVTT1VSQ0VfUVVPVEFTKCk6c3RyaW5nIHsgcmV0dXJuIFwicmVzb3VyY2VxdW90YXNcIjsgfVxuXHRcdHB1YmxpYyBzdGF0aWMgZ2V0IE9BVVRIX0NMSUVOVFMoKTpzdHJpbmcgeyByZXR1cm4gXCJvYXV0aGNsaWVudHNcIjsgfVxuXHRcdHB1YmxpYyBzdGF0aWMgZ2V0IFNFQ1JFVFMoKTpzdHJpbmcgeyByZXR1cm4gXCJzZWNyZXRzXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBTRVJWSUNFUygpOnN0cmluZyB7IHJldHVybiBcInNlcnZpY2VzXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBTRVJWSUNFX0FDQ09VTlRTKCk6c3RyaW5nIHsgcmV0dXJuIFwic2VydmljZWFjY291bnRzXCI7IH1cblxuXHRcdHB1YmxpYyBzdGF0aWMgZ2V0IFRFTVBMQVRFUygpOnN0cmluZyB7IHJldHVybiBcInRlbXBsYXRlc1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgUk9VVEVTKCk6c3RyaW5nIHsgcmV0dXJuIFwicm91dGVzXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBCVUlMRF9DT05GSUdTKCk6c3RyaW5nIHsgcmV0dXJuIFwiYnVpbGRjb25maWdzXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBCVUlMRFMoKTpzdHJpbmcgeyByZXR1cm4gXCJidWlsZHNcIjsgfVxuXHRcdHB1YmxpYyBzdGF0aWMgZ2V0IERFUExPWU1FTlRfQ09ORklHUygpOnN0cmluZyB7IHJldHVybiBcImRlcGxveW1lbnRjb25maWdzXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBJTUFHRV9TVFJFQU1TKCk6c3RyaW5nIHsgcmV0dXJuIFwiaW1hZ2VzdHJlYW1zXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBQT0xJQ0lFUygpOnN0cmluZyB7IHJldHVybiBcInBvbGljaWVzXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBQT0xJQ1lfQklORElOR1MoKTpzdHJpbmcgeyByZXR1cm4gXCJwb2xpY3liaW5kaW5nc1wiOyB9XG4gICAgcHVibGljIHN0YXRpYyBnZXQgUFJPSkVDVFMoKTpzdHJpbmcgeyByZXR1cm4gXCJwcm9qZWN0c1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgUk9MRV9CSU5ESU5HUygpOnN0cmluZyB7IHJldHVybiBcInJvbGViaW5kaW5nc1wiOyB9XG5cdFx0cHVibGljIHN0YXRpYyBnZXQgUk9MRVMoKTpzdHJpbmcgeyByZXR1cm4gXCJyb2xlc1wiOyB9XG5cdH1cblxuICBleHBvcnQgY2xhc3MgTmFtZXNwYWNlZFR5cGVzIHtcbiAgICBwdWJsaWMgc3RhdGljIGdldCBrOHNUeXBlcygpOkFycmF5PHN0cmluZz4ge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgV2F0Y2hUeXBlcy5FTkRQT0lOVFMsXG4gICAgICAgIFdhdGNoVHlwZXMuRVZFTlRTLFxuICAgICAgICBXYXRjaFR5cGVzLk5PREVTLFxuICAgICAgICBXYXRjaFR5cGVzLlBFUlNJU1RFTlRfVk9MVU1FUyxcbiAgICAgICAgV2F0Y2hUeXBlcy5QRVJTSVNURU5UX1ZPTFVNRV9DTEFJTVMsXG4gICAgICAgIFdhdGNoVHlwZXMuUE9EUyxcbiAgICAgICAgV2F0Y2hUeXBlcy5SRVBMSUNBVElPTl9DT05UUk9MTEVSUyxcbiAgICAgICAgV2F0Y2hUeXBlcy5SRVNPVVJDRV9RVU9UQVMsXG4gICAgICAgIFdhdGNoVHlwZXMuUEVSU0lTVEVOVF9WT0xVTUVTLFxuICAgICAgICBXYXRjaFR5cGVzLlNFQ1JFVFMsXG4gICAgICAgIFdhdGNoVHlwZXMuU0VSVklDRVMsXG4gICAgICAgIFdhdGNoVHlwZXMuU0VSVklDRV9BQ0NPVU5UU1xuICAgICAgXTtcbiAgICB9XG4gICAgcHVibGljIHN0YXRpYyBnZXQgb3NUeXBlcygpOkFycmF5PHN0cmluZz4ge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgV2F0Y2hUeXBlcy5URU1QTEFURVMsXG4gICAgICAgIFdhdGNoVHlwZXMuQlVJTERfQ09ORklHUyxcbiAgICAgICAgV2F0Y2hUeXBlcy5ST1VURVMsXG4gICAgICAgIFdhdGNoVHlwZXMuQlVJTERTLFxuICAgICAgICBXYXRjaFR5cGVzLkJVSUxEX0NPTkZJR1MsXG4gICAgICAgIFdhdGNoVHlwZXMuREVQTE9ZTUVOVF9DT05GSUdTLFxuICAgICAgICBXYXRjaFR5cGVzLklNQUdFX1NUUkVBTVMsXG4gICAgICAgIFdhdGNoVHlwZXMuT0FVVEhfQ0xJRU5UUyxcbiAgICAgICAgV2F0Y2hUeXBlcy5QT0xJQ0lFUyxcbiAgICAgICAgV2F0Y2hUeXBlcy5QT0xJQ1lfQklORElOR1MsXG4gICAgICAgIFdhdGNoVHlwZXMuUFJPSkVDVFMsXG4gICAgICAgIC8vV2F0Y2hUeXBlcy5ST0xFX0JJTkRJTkdTLFxuICAgICAgICAvL1dhdGNoVHlwZXMuUk9MRVNcbiAgICAgIF07XG4gICAgfVxuICB9XG5cdFxuXHRleHBvcnQgY2xhc3MgV2F0Y2hBY3Rpb25zIHtcblx0XHRwdWJsaWMgc3RhdGljIGdldCBBTlkoKTpzdHJpbmcgeyByZXR1cm4gXCIqXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBBRERFRCgpOnN0cmluZyB7IHJldHVybiBcIkFEREVEXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBNT0RJRklFRCgpOnN0cmluZyB7IHJldHVybiBcIk1PRElGSUVEXCI7IH1cblx0XHRwdWJsaWMgc3RhdGljIGdldCBERUxFVEVEKCk6c3RyaW5nIHsgcmV0dXJuIFwiREVMRVRFRFwiOyB9XG5cdH1cblx0XG5cdGV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0TWFwIHtcblx0XHRbdWlkOnN0cmluZ106IGFueTtcdFx0XG5cdH1cblx0XG5cdGV4cG9ydCBpbnRlcmZhY2UgV2F0Y2hlclNlcnZpY2Uge1xuXHRcdGhhc1dlYlNvY2tldDogYm9vbGVhbjtcblx0XHRhZGRDdXN0b21pemVyOiAodHlwZTogc3RyaW5nLCBjdXN0b21pemVyOiAob2JqOmFueSkgPT4gdm9pZCkgPT4gdm9pZDtcblx0XHRnZXRUeXBlczogKCkgPT4gQXJyYXk8c3RyaW5nPjtcblx0XHRnZXROYW1lc3BhY2U6ICgpID0+IHN0cmluZztcblx0XHRzZXROYW1lc3BhY2U6IChuYW1lc3BhY2U6IHN0cmluZykgPT4gdm9pZDtcblx0XHRnZXRPYmplY3RzOiAodHlwZTogc3RyaW5nKSA9PiBBcnJheTxhbnk+O1xuXHRcdGdldE9iamVjdE1hcDogKHR5cGU6IHN0cmluZykgPT4gT2JqZWN0TWFwO1xuXHRcdGFkZEFjdGlvbjogKHR5cGU6IHN0cmluZywgYWN0aW9uOiBzdHJpbmcsIGZuOiAob2JqOmFueSkgPT4gdm9pZCkgPT4gdm9pZDtcblx0XHRyZWdpc3Rlckxpc3RlbmVyOiAoZm46KG9iamVjdHM6T2JqZWN0TWFwKSA9PiB2b2lkKSA9PiB2b2lkO1xuXHR9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBLdWJlUG9kIHtcbiAgICBpZDpzdHJpbmc7XG4gICAgbmFtZXNwYWNlOnN0cmluZztcbiAgfVxuXG5cdFxufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNJbnRlcmZhY2VzLnRzXCIvPlxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgY29udGV4dCA9ICcva3ViZXJuZXRlcyc7XG4gIGV4cG9ydCB2YXIgaGFzaCA9ICcjJyArIGNvbnRleHQ7XG4gIGV4cG9ydCB2YXIgZGVmYXVsdFJvdXRlID0gaGFzaCArICcvYXBwcyc7XG4gIGV4cG9ydCB2YXIgcGx1Z2luTmFtZSA9ICdLdWJlcm5ldGVzJztcbiAgZXhwb3J0IHZhciBwbHVnaW5QYXRoID0gJ3BsdWdpbnMva3ViZXJuZXRlcy8nO1xuICBleHBvcnQgdmFyIHRlbXBsYXRlUGF0aCA9IHBsdWdpblBhdGggKyAnaHRtbC8nO1xuICBleHBvcnQgdmFyIGxvZzpMb2dnaW5nLkxvZ2dlciA9IExvZ2dlci5nZXQocGx1Z2luTmFtZSk7XG5cbiAgZXhwb3J0IHZhciBrZWVwUG9sbGluZ01vZGVsID0gdHJ1ZTtcblxuICBleHBvcnQgdmFyIGRlZmF1bHRJY29uVXJsID0gQ29yZS51cmwoXCIvaW1nL2t1YmVybmV0ZXMuc3ZnXCIpO1xuICBleHBvcnQgdmFyIGhvc3RJY29uVXJsID0gQ29yZS51cmwoXCIvaW1nL2hvc3Quc3ZnXCIpO1xuXG4gIC8vIHRoaXMgZ2V0cyBzZXQgYXMgYSBwcmUtYm9vdHN0cmFwIHRhc2tcbiAgZXhwb3J0IHZhciBvc0NvbmZpZzpLdWJlcm5ldGVzQ29uZmlnID0gdW5kZWZpbmVkO1xuICBleHBvcnQgdmFyIG1hc3RlclVybCA9IFwiXCI7XG5cbiAgZXhwb3J0IHZhciBkZWZhdWx0QXBpVmVyc2lvbiA9IFwidjFcIjtcbiAgZXhwb3J0IHZhciBkZWZhdWx0T1NBcGlWZXJzaW9uID0gXCJ2MVwiO1xuICBleHBvcnQgdmFyIGxhYmVsRmlsdGVyVGV4dFNlcGFyYXRvciA9IFwiLFwiO1xuXG4gIGV4cG9ydCB2YXIgZGVmYXVsdE5hbWVzcGFjZSA9IFwiZGVmYXVsdFwiO1xuXG4gIGV4cG9ydCB2YXIgYXBwU3VmZml4ID0gXCIuYXBwXCI7XG5cbiAgLy8ga3ViZXJuZXRlcyBzZXJ2aWNlIG5hbWVzXG4gIGV4cG9ydCB2YXIga2liYW5hU2VydmljZU5hbWUgPSBcImtpYmFuYVwiO1xuICBleHBvcnQgdmFyIGZhYnJpYzhGb3JnZVNlcnZpY2VOYW1lID0gXCJmYWJyaWM4LWZvcmdlXCI7XG4gIGV4cG9ydCB2YXIgZ29nc1NlcnZpY2VOYW1lID0gXCJnb2dzXCI7XG4gIGV4cG9ydCB2YXIgaXNPcGVuU2hpZnQgPSB0cnVlO1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBrdWJlcm5ldGVzTmFtZXNwYWNlUGF0aCgpIHtcbiAgICB2YXIgbnMgPSBjdXJyZW50S3ViZXJuZXRlc05hbWVzcGFjZSgpO1xuICAgIGlmIChucykge1xuICAgICAgcmV0dXJuIFwiL25hbWVzcGFjZXMvXCIgKyBucztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGFwaVByZWZpeCgpIHtcbiAgICB2YXIgcHJlZml4ID0gQ29yZS5wYXRoR2V0KG9zQ29uZmlnLCBbJ2FwaScsICdrOHMnLCAncHJlZml4J10pO1xuICAgIGlmICghcHJlZml4KSB7XG4gICAgICBwcmVmaXggPSAnYXBpJztcbiAgICB9XG4gICAgcmV0dXJuIENvcmUudHJpbUxlYWRpbmcocHJlZml4LCAnLycpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIG9zQXBpUHJlZml4KCkge1xuICAgIHZhciBwcmVmaXggPSBDb3JlLnBhdGhHZXQob3NDb25maWcsIFsnYXBpJywgJ29wZW5zaGlmdCcsICdwcmVmaXgnXSk7XG4gICAgaWYgKCFwcmVmaXgpIHtcbiAgICAgIHByZWZpeCA9ICdvYXBpJztcbiAgICB9XG4gICAgdmFyIGFuc3dlciA9IENvcmUudHJpbUxlYWRpbmcocHJlZml4LCAnLycpO1xuICAgIGlmICghaXNPcGVuU2hpZnQpIHtcbiAgICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4oYXBpUHJlZml4KCksIGRlZmF1bHRPU0FwaVZlcnNpb24sIFwicHJveHlcIiwga3ViZXJuZXRlc05hbWVzcGFjZVBhdGgoKSwgXCJzZXJ2aWNlcy90ZW1wbGF0ZXNcIiwgYW5zd2VyKTtcbiAgICB9XG4gICAgcmV0dXJuIGFuc3dlcjtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBtYXN0ZXJBcGlVcmwoKSB7XG4gICAgcmV0dXJuIG1hc3RlclVybCB8fCBcIlwiO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGt1YmVybmV0ZXNBcGlQcmVmaXgoKSB7XG4gICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihhcGlQcmVmaXgoKSwgZGVmYXVsdEFwaVZlcnNpb24pO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIG9wZW5zaGlmdEFwaVByZWZpeCgpIHtcbiAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKG9zQXBpUHJlZml4KCksIGRlZmF1bHRPU0FwaVZlcnNpb24pO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHByZWZpeEZvclR5cGUodHlwZTpzdHJpbmcpIHtcbiAgICBpZiAodHlwZSA9PT0gV2F0Y2hUeXBlcy5OQU1FU1BBQ0VTKSB7XG4gICAgICByZXR1cm4ga3ViZXJuZXRlc0FwaVByZWZpeCgpO1xuICAgIH1cbiAgICBpZiAoXy5hbnkoTmFtZXNwYWNlZFR5cGVzLms4c1R5cGVzLCAodCkgPT4gdCA9PT0gdHlwZSkpIHtcbiAgICAgIHJldHVybiBrdWJlcm5ldGVzQXBpUHJlZml4KCk7XG4gICAgfVxuICAgIGlmIChfLmFueShOYW1lc3BhY2VkVHlwZXMub3NUeXBlcywgKHQpID0+IHQgPT09IHR5cGUpKSB7XG4gICAgICByZXR1cm4gb3BlbnNoaWZ0QXBpUHJlZml4KCk7XG4gICAgfVxuICAgIC8vIGxldHMgYXNzdW1lIGl0cyBhbiBPcGVuU2hpZnQgZXh0ZW5zaW9uIHR5cGVcbiAgICByZXR1cm4gb3BlbnNoaWZ0QXBpUHJlZml4KCk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24ga3ViZXJuZXRlc0FwaVVybCgpIHtcbiAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKG1hc3RlckFwaVVybCgpLCBrdWJlcm5ldGVzQXBpUHJlZml4KCkpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIG9wZW5zaGlmdEFwaVVybCgpIHtcbiAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKG1hc3RlckFwaVVybCgpLCBvcGVuc2hpZnRBcGlQcmVmaXgoKSk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gcmVzb3VyY2VzVXJpRm9yS2luZCh0eXBlKSB7XG4gICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihtYXN0ZXJBcGlVcmwoKSwgcHJlZml4Rm9yVHlwZSh0eXBlKSwgbmFtZXNwYWNlUGF0aEZvcktpbmQodHlwZSwgY3VycmVudEt1YmVybmV0ZXNOYW1lc3BhY2UoKSkpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHVyaVRlbXBsYXRlRm9yS3ViZXJuZXRlc0tpbmQodHlwZSkge1xuICAgIHZhciB1cmxUZW1wbGF0ZSA9ICcnO1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBXYXRjaFR5cGVzLk5BTUVTUEFDRVM6XG4gICAgICBjYXNlIFwiTmFtZXNwYWNlc1wiOlxuICAgICAgICB1cmxUZW1wbGF0ZSA9IFVybEhlbHBlcnMuam9pbignbmFtZXNwYWNlcycpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgV2F0Y2hUeXBlcy5QUk9KRUNUUzpcbiAgICAgIGNhc2UgXCJQcm9qZWN0c1wiOlxuICAgICAgICB1cmxUZW1wbGF0ZSA9IFVybEhlbHBlcnMuam9pbigncHJvamVjdHMnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB1cmxUZW1wbGF0ZSA9IFVybEhlbHBlcnMuam9pbignbmFtZXNwYWNlcy86bmFtZXNwYWNlJywgdHlwZSwgJzppZCcpO1xuICAgIH1cbiAgICByZXR1cm4gdXJsVGVtcGxhdGU7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gbmFtZXNwYWNlUGF0aEZvcktpbmQodHlwZSwgbnMpIHtcbiAgICB2YXIgdXJsVGVtcGxhdGUgPSAnJztcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgV2F0Y2hUeXBlcy5OQU1FU1BBQ0VTOlxuICAgICAgY2FzZSBcIk5hbWVzcGFjZXNcIjpcbiAgICAgIGNhc2UgXCJOYW1lc3BhY2VcIjpcbiAgICAgICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbignbmFtZXNwYWNlcycpO1xuICAgICAgY2FzZSBXYXRjaFR5cGVzLk5PREVTOlxuICAgICAgY2FzZSBcIk5vZGVzXCI6XG4gICAgICBjYXNlIFwibm9kZVwiOlxuICAgICAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKCdub2RlcycpO1xuICAgICAgY2FzZSBXYXRjaFR5cGVzLlBST0pFQ1RTOlxuICAgICAgY2FzZSBcIlByb2plY3RzXCI6XG4gICAgICBjYXNlIFwiUHJvamVjdFwiOlxuICAgICAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKCdwcm9qZWN0cycpO1xuICAgICAgY2FzZSBXYXRjaFR5cGVzLk9BVVRIX0NMSUVOVFM6XG4gICAgICBjYXNlIFwiT0F1dGhDbGllbnRzXCI6XG4gICAgICBjYXNlIFwiT0F1dGhDbGllbnRcIjpcbiAgICAgICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbignb2F1dGhjbGllbnRzJyk7XG4gICAgICBjYXNlIFdhdGNoVHlwZXMuUEVSU0lTVEVOVF9WT0xVTUVTOlxuICAgICAgY2FzZSBcIlBlcnNpc3RlbnRWb2x1bWVzXCI6XG4gICAgICBjYXNlIFwiUGVyc2lzdGVudFZvbHVtZVwiOlxuICAgICAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKCdwZXJzaXNlbnR2b2x1bWVzJyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKCduYW1lc3BhY2VzJywgbnMsIHR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiB1cGRhdGVPckNyZWF0ZU9iamVjdChvYmplY3QsIEt1YmVybmV0ZXNNb2RlbCwgc3VjY2Vzcz86IChkYXRhKSA9PiB2b2lkLCBlcnJvcj86IChlcnJvcikgPT4gdm9pZCkge1xuICAgIHZhciBraW5kID0gZ2V0S2luZChvYmplY3QpO1xuICAgIGlmIChraW5kID09PSBcIkxpc3RcIikge1xuICAgICAgbG9nLmRlYnVnKFwiT2JqZWN0IGlzIGEgbGlzdCwgZGVwbG95aW5nIGFsbCBvYmplY3RzXCIpO1xuICAgICAgXy5mb3JFYWNoKG9iamVjdC5pdGVtcywgKG9iaikgPT4ge1xuICAgICAgICBsb2cuZGVidWcoXCJEZXBsb3lpbmc6IFwiLCBvYmopO1xuICAgICAgICB1cGRhdGVPckNyZWF0ZU9iamVjdChvYmosIEt1YmVybmV0ZXNNb2RlbCwgc3VjY2VzcywgZXJyb3IpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICgha2luZCkge1xuICAgICAgbG9nLmRlYnVnKFwiT2JqZWN0OiBcIiwgb2JqZWN0LCBcIiBoYXMgbm8gb2JqZWN0IHR5cGVcIik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGtpbmQgPSBraW5kLnRvTG93ZXJDYXNlKCkucGx1cmFsaXplKCk7XG4gICAgdmFyIHJlc291cmNlID0gS3ViZXJuZXRlc01vZGVsW2tpbmQgKyAnUmVzb3VyY2UnXTtcbiAgICBpZiAoIXJlc291cmNlKSB7XG4gICAgICB2YXIgaW5qZWN0b3IgPSBIYXd0aW9Db3JlLmluamVjdG9yO1xuICAgICAgdmFyICRyZXNvdXJjZSA9IGluamVjdG9yID8gaW5qZWN0b3IuZ2V0KFwiJHJlc291cmNlXCIpIDogbnVsbDtcbiAgICAgIGlmICghJHJlc291cmNlKSB7XG4gICAgICAgIGxvZy53YXJuKFwiQ2Fubm90IGNyZWF0ZSByZXNvdXJjZSBmb3IgXCIgKyBraW5kICsgXCIgZHVlIHRvIG1pc3NpbmcgJHJlc291cmNlXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICByZXNvdXJjZSA9IGNyZWF0ZVJlc291cmNlKGtpbmQsIHVyaVRlbXBsYXRlRm9yS3ViZXJuZXRlc0tpbmQoa2luZCksICRyZXNvdXJjZSwgS3ViZXJuZXRlc01vZGVsKTtcbiAgICAgIEt1YmVybmV0ZXNNb2RlbFtraW5kICsgJ1Jlc291cmNlJ10gPSByZXNvdXJjZTtcbiAgICB9XG4gICAgdmFyIG5hbWUgPSBnZXROYW1lKG9iamVjdCk7XG4gICAgaWYgKCFuYW1lKSB7XG4gICAgICBsb2cuZGVidWcoXCJPYmplY3QgaGFzIG5vIG5hbWU6IFwiLCBvYmplY3QpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBpc1VwZGF0ZSA9IF8uYW55KEt1YmVybmV0ZXNNb2RlbFtraW5kXSwgKG4pID0+IG4gPT09IG5hbWUpXG4gICAgdmFyIGFjdGlvbiA9IGlzVXBkYXRlID8gXCJNb2RpZmllZFwiIDogXCJBZGRlZFwiO1xuXG4gICAgdmFyIHN1Y2Nlc3NJbnRlcm5hbCA9IChkYXRhKSA9PiB7XG4gICAgICBsb2cuZGVidWcoYWN0aW9uLCBkYXRhKTtcbiAgICAgIGlmICghaXNVcGRhdGUpIHtcbiAgICAgICAgS3ViZXJuZXRlc01vZGVsW2tpbmRdLnB1c2goZGF0YSk7XG4gICAgICB9XG4gICAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgICBzdWNjZXNzKGRhdGEpO1xuICAgICAgfVxuICAgIH07XG4gICAgdmFyIGVycm9ySW50ZXJuYWwgPSAoZXJyKSA9PiB7XG4gICAgICBsb2cuZGVidWcoXCJGYWlsZWQgdG8gYWRkL21vZGlmeSBvYmplY3Q6IFwiLCBvYmplY3QsIFwiIGVycm9yOiBcIiwgZXJyKTtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICBlcnJvcihlcnIpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNVcGRhdGUpIHtcbiAgICAgIGxvZy5kZWJ1ZyhcIk9iamVjdCBhbHJlYWR5IGV4aXN0cywgdXBkYXRpbmcuLi5cIik7XG4gICAgICByZXNvdXJjZS5zYXZlKHsgaWQ6IG5hbWUgfSwgb2JqZWN0LCBzdWNjZXNzSW50ZXJuYWwsIGVycm9ySW50ZXJuYWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuZGVidWcoXCJPYmplY3QgZG9lc24ndCBleGlzdCwgY3JlYXRpbmcuLi5cIik7XG4gICAgICByZXNvdXJjZS5jcmVhdGUoe30sIG9iamVjdCwgc3VjY2Vzc0ludGVybmFsLCBlcnJvckludGVybmFsKTtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gY3JlYXRlUmVzb3VyY2UodGhpbmc6c3RyaW5nLCB1cmxUZW1wbGF0ZTpzdHJpbmcsICRyZXNvdXJjZTogbmcucmVzb3VyY2UuSVJlc291cmNlU2VydmljZSwgS3ViZXJuZXRlc01vZGVsKSB7XG4gICAgdmFyIHByZWZpeCA9IHByZWZpeEZvclR5cGUodGhpbmcpO1xuICAgIGlmICghcHJlZml4KSB7XG4gICAgICBsb2cuZGVidWcoXCJJbnZhbGlkIHR5cGUgZ2l2ZW46IFwiLCB0aGluZyk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB2YXIgcGFyYW1zID0gPGFueT4ge1xuICAgICAgbmFtZXNwYWNlOiBjdXJyZW50S3ViZXJuZXRlc05hbWVzcGFjZVxuICAgIH1cbiAgICBpZiAodGhpbmcgPT09IFwibmFtZXNwYWNlc1wiKSB7XG4gICAgICBwYXJhbXMgPSB7fTtcbiAgICB9XG5cbiAgICB2YXIgdXJsID0gVXJsSGVscGVycy5qb2luKG1hc3RlckFwaVVybCgpLCBwcmVmaXgsIHVybFRlbXBsYXRlKTtcbiAgICBsb2cuZGVidWcoXCJVcmwgZm9yIFwiLCB0aGluZywgXCI6IFwiLCB1cmwpO1xuICAgIHZhciByZXNvdXJjZSA9ICRyZXNvdXJjZSh1cmwsIG51bGwsIHtcbiAgICAgIHF1ZXJ5OiB7IG1ldGhvZDogJ0dFVCcsIGlzQXJyYXk6IGZhbHNlLCBwYXJhbXM6IHBhcmFtc30sXG4gICAgICBjcmVhdGU6IHsgbWV0aG9kOiAnUE9TVCcsIHBhcmFtczogcGFyYW1zfSxcbiAgICAgIHNhdmU6IHsgbWV0aG9kOiAnUFVUJywgcGFyYW1zOiBwYXJhbXN9LFxuICAgICAgZGVsZXRlOiB7IG1ldGhvZDogJ0RFTEVURScsIHBhcmFtczogXy5leHRlbmQoe1xuICAgICAgICBpZDogJ0BpZCdcbiAgICAgIH0sIHBhcmFtcyl9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc291cmNlO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGltYWdlUmVwb3NpdG9yaWVzUmVzdFVSTCgpIHtcbiAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKG9wZW5zaGlmdEFwaVVybCgpLCBrdWJlcm5ldGVzTmFtZXNwYWNlUGF0aCgpLCBcIi9pbWFnZXN0cmVhbXNcIik7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZGVwbG95bWVudENvbmZpZ3NSZXN0VVJMKCkge1xuICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4ob3BlbnNoaWZ0QXBpVXJsKCksIGt1YmVybmV0ZXNOYW1lc3BhY2VQYXRoKCksIFwiL2RlcGxveW1lbnRjb25maWdzXCIpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkc0xvZ3NSZXN0VVJMKCkge1xuICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4ob3BlbnNoaWZ0QXBpVXJsKCksIGt1YmVybmV0ZXNOYW1lc3BhY2VQYXRoKCksIFwiL3Byb3h5L2J1aWxkbG9nc1wiKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBidWlsZHNSZXN0VVJMKCkge1xuICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4ob3BlbnNoaWZ0QXBpVXJsKCksIGt1YmVybmV0ZXNOYW1lc3BhY2VQYXRoKCksIFwiL2J1aWxkc1wiKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBidWlsZENvbmZpZ0hvb2tzUmVzdFVSTCgpIHtcbiAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKG9wZW5zaGlmdEFwaVVybCgpLCBrdWJlcm5ldGVzTmFtZXNwYWNlUGF0aCgpLCBcIi9idWlsZGNvbmZpZ2hvb2tzXCIpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQ29uZmlnc1Jlc3RVUkwoKSB7XG4gICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihvcGVuc2hpZnRBcGlVcmwoKSwga3ViZXJuZXRlc05hbWVzcGFjZVBhdGgoKSwgXCIvYnVpbGRjb25maWdzXCIpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHJvdXRlc1Jlc3RVUkwoKSB7XG4gICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihvcGVuc2hpZnRBcGlVcmwoKSwga3ViZXJuZXRlc05hbWVzcGFjZVBhdGgoKSwgXCIvcm91dGVzXCIpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHRlbXBsYXRlc1Jlc3RVUkwoKSB7XG4gICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihvcGVuc2hpZnRBcGlVcmwoKSwga3ViZXJuZXRlc05hbWVzcGFjZVBhdGgoKSwgXCIvdGVtcGxhdGVzXCIpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldE5hbWVzcGFjZShlbnRpdHkpIHtcbiAgICB2YXIgYW5zd2VyID0gQ29yZS5wYXRoR2V0KGVudGl0eSwgW1wibWV0YWRhdGFcIiwgXCJuYW1lc3BhY2VcIl0pO1xuICAgIHJldHVybiBhbnN3ZXIgPyBhbnN3ZXIgOiBkZWZhdWx0TmFtZXNwYWNlO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldExhYmVscyhlbnRpdHkpIHtcbiAgICB2YXIgYW5zd2VyID0gQ29yZS5wYXRoR2V0KGVudGl0eSwgW1wibWV0YWRhdGFcIiwgXCJsYWJlbHNcIl0pO1xuICAgIHJldHVybiBhbnN3ZXIgPyBhbnN3ZXIgOiB7fTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXROYW1lKGVudGl0eSkge1xuICAgIHJldHVybiBDb3JlLnBhdGhHZXQoZW50aXR5LCBbXCJtZXRhZGF0YVwiLCBcIm5hbWVcIl0pIHx8IENvcmUucGF0aEdldChlbnRpdHksIFwibmFtZVwiKSB8fCBDb3JlLnBhdGhHZXQoZW50aXR5LCBcImlkXCIpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldEtpbmQoZW50aXR5KSB7XG4gICAgcmV0dXJuIENvcmUucGF0aEdldChlbnRpdHksIFtcIm1ldGFkYXRhXCIsIFwia2luZFwiXSkgfHwgQ29yZS5wYXRoR2V0KGVudGl0eSwgXCJraW5kXCIpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFNlbGVjdG9yKGVudGl0eSkge1xuICAgIHJldHVybiBDb3JlLnBhdGhHZXQoZW50aXR5LCBbXCJzcGVjXCIsIFwic2VsZWN0b3JcIl0pO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldEhvc3QocG9kKSB7XG4gICAgcmV0dXJuIENvcmUucGF0aEdldChwb2QsIFtcInNwZWNcIiwgXCJob3N0XCJdKSB8fCBDb3JlLnBhdGhHZXQocG9kLCBbXCJzcGVjXCIsIFwibm9kZU5hbWVcIl0pIHx8IENvcmUucGF0aEdldChwb2QsIFtcInN0YXR1c1wiLCBcImhvc3RJUFwiXSk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHVzKHBvZCkge1xuICAgIHJldHVybiBDb3JlLnBhdGhHZXQocG9kLCBbXCJzdGF0dXNcIiwgXCJwaGFzZVwiXSk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0UG9ydHMoc2VydmljZSkge1xuICAgIHJldHVybiBDb3JlLnBhdGhHZXQoc2VydmljZSwgW1wic3BlY1wiLCBcInBvcnRzXCJdKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRDcmVhdGlvblRpbWVzdGFtcChlbnRpdHkpIHtcbiAgICByZXR1cm4gQ29yZS5wYXRoR2V0KGVudGl0eSwgW1wibWV0YWRhdGFcIiwgXCJjcmVhdGlvblRpbWVzdGFtcFwiXSk7XG4gIH07XG5cbiAgLy92YXIgZmFicmljRG9tYWluID0gRmFicmljLmpteERvbWFpbjtcbiAgdmFyIGZhYnJpY0RvbWFpbiA9IFwiaW8uZmFicmljOFwiO1xuICBleHBvcnQgdmFyIG1iZWFuID0gZmFicmljRG9tYWluICsgXCI6dHlwZT1LdWJlcm5ldGVzXCI7XG4gIGV4cG9ydCB2YXIgbWFuYWdlck1CZWFuID0gZmFicmljRG9tYWluICsgXCI6dHlwZT1LdWJlcm5ldGVzTWFuYWdlclwiO1xuICBleHBvcnQgdmFyIGFwcFZpZXdNQmVhbiA9IGZhYnJpY0RvbWFpbiArIFwiOnR5cGU9QXBwVmlld1wiO1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBpc0t1YmVybmV0ZXMod29ya3NwYWNlKSB7XG4gICAgLy8gcmV0dXJuIHdvcmtzcGFjZS50cmVlQ29udGFpbnNEb21haW5BbmRQcm9wZXJ0aWVzKGZhYnJpY0RvbWFpbiwge3R5cGU6IFwiS3ViZXJuZXRlc1wifSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gaXNLdWJlcm5ldGVzVGVtcGxhdGVNYW5hZ2VyKHdvcmtzcGFjZSkge1xuICAgIC8vIHJldHVybiB3b3Jrc3BhY2UudHJlZUNvbnRhaW5zRG9tYWluQW5kUHJvcGVydGllcyhmYWJyaWNEb21haW4sIHt0eXBlOiBcIkt1YmVybmV0ZXNUZW1wbGF0ZU1hbmFnZXJcIn0pO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzQXBwVmlldyh3b3Jrc3BhY2UpIHtcbiAgICAvLyByZXR1cm4gd29ya3NwYWNlLnRyZWVDb250YWluc0RvbWFpbkFuZFByb3BlcnRpZXMoZmFicmljRG9tYWluLCB7dHlwZTogXCJBcHBWaWV3XCJ9KTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBzZXRKc29uKCRzY29wZSwgaWQsIGNvbGxlY3Rpb24pIHtcbiAgICAkc2NvcGUuaWQgPSBpZDtcbiAgICBpZiAoISRzY29wZS5mZXRjaGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghaWQpIHtcbiAgICAgICRzY29wZS5qc29uID0gJyc7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghY29sbGVjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgaXRlbSA9IGNvbGxlY3Rpb24uZmluZCgoaXRlbSkgPT4geyByZXR1cm4gZ2V0TmFtZShpdGVtKSA9PT0gaWQ7IH0pO1xuICAgIGlmIChpdGVtKSB7XG4gICAgICAkc2NvcGUuanNvbiA9IGFuZ3VsYXIudG9Kc29uKGl0ZW0sIHRydWUpO1xuICAgICAgJHNjb3BlLml0ZW0gPSBpdGVtO1xuICAgIH0gZWxzZSB7XG4gICAgICAkc2NvcGUuaWQgPSB1bmRlZmluZWQ7XG4gICAgICAkc2NvcGUuanNvbiA9ICcnO1xuICAgICAgJHNjb3BlLml0ZW0gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGxhYmVscyB0ZXh0IHN0cmluZyB1c2luZyB0aGUgPGNvZGU+a2V5MT12YWx1ZTEsa2V5Mj12YWx1ZTIsLi4uLjwvY29kZT4gZm9ybWF0XG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gbGFiZWxzVG9TdHJpbmcobGFiZWxzLCBzZXBlcmF0b3JUZXh0ID0gbGFiZWxGaWx0ZXJUZXh0U2VwYXJhdG9yKSB7XG4gICAgdmFyIGFuc3dlciA9IFwiXCI7XG4gICAgYW5ndWxhci5mb3JFYWNoKGxhYmVscywgKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIHZhciBzZXBhcmF0b3IgPSBhbnN3ZXIgPyBzZXBlcmF0b3JUZXh0IDogXCJcIjtcbiAgICAgIGFuc3dlciArPSBzZXBhcmF0b3IgKyBrZXkgKyBcIj1cIiArIHZhbHVlO1xuICAgIH0pO1xuICAgIHJldHVybiBhbnN3ZXI7XG4gIH1cblxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpIHtcbiAgICAkc2NvcGUuYmFzZVVyaSA9IENvcmUudHJpbVRyYWlsaW5nKENvcmUudXJsKFwiL1wiKSB8fCBcIlwiLCBcIi9cIikgfHwgXCJcIjtcblxuICAgIHZhciBpbmplY3RvciA9IEhhd3Rpb0NvcmUuaW5qZWN0b3I7XG5cbiAgICBmdW5jdGlvbiBoYXNTZXJ2aWNlKG5hbWUpIHtcbiAgICAgIGlmIChpbmplY3Rvcikge1xuICAgICAgICB2YXIgU2VydmljZVJlZ2lzdHJ5ID0gaW5qZWN0b3IuZ2V0KFwiU2VydmljZVJlZ2lzdHJ5XCIpO1xuICAgICAgICBpZiAoU2VydmljZVJlZ2lzdHJ5KSB7XG4gICAgICAgICAgcmV0dXJuIFNlcnZpY2VSZWdpc3RyeS5oYXNTZXJ2aWNlKG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgJHNjb3BlLmhhc1NlcnZpY2VLaWJhbmEgPSAoKSA9PiBoYXNTZXJ2aWNlKGtpYmFuYVNlcnZpY2VOYW1lKTtcbiAgICAkc2NvcGUuaGFzU2VydmljZUdvZ3MgPSAoKSA9PiBoYXNTZXJ2aWNlKGdvZ3NTZXJ2aWNlTmFtZSk7XG4gICAgJHNjb3BlLmhhc1NlcnZpY2VGb3JnZSA9ICgpID0+IGhhc1NlcnZpY2UoZmFicmljOEZvcmdlU2VydmljZU5hbWUpO1xuXG4gICAgJHNjb3BlLnZpZXdUZW1wbGF0ZXMgPSAoKSA9PiB7XG4gICAgICB2YXIgcmV0dXJuVG8gPSAkbG9jYXRpb24udXJsKCk7XG4gICAgICAkbG9jYXRpb24ucGF0aCgnL2t1YmVybmV0ZXMvdGVtcGxhdGVzJykuc2VhcmNoKHsncmV0dXJuVG8nOiByZXR1cm5Ub30pO1xuICAgIH1cblxuICAgICRzY29wZS5uYW1lc3BhY2UgPSAkcm91dGVQYXJhbXMubmFtZXNwYWNlIHx8IEt1YmVybmV0ZXNTdGF0ZS5zZWxlY3RlZE5hbWVzcGFjZSB8fCBkZWZhdWx0TmFtZXNwYWNlO1xuICAgIEt1YmVybmV0ZXNTdGF0ZS5zZWxlY3RlZE5hbWVzcGFjZSA9ICRzY29wZS5uYW1lc3BhY2U7XG4gICAgJHNjb3BlLmZvcmdlRW5hYmxlZCA9IGlzRm9yZ2VFbmFibGVkKCk7XG5cbiAgICAkc2NvcGUuY29kZU1pcnJvck9wdGlvbnMgPSB7XG4gICAgICBsaW5lV3JhcHBpbmcgOiB0cnVlLFxuICAgICAgbGluZU51bWJlcnM6IHRydWUsXG4gICAgICByZWFkT25seTogJ25vY3Vyc29yJyxcbiAgICAgIG1vZGU6IHtuYW1lOiBcImphdmFzY3JpcHRcIiwganNvbjogdHJ1ZX1cbiAgICB9O1xuXG4gICAgJHNjb3BlLnJlc2l6ZURpYWxvZyA9IHtcbiAgICAgIGNvbnRyb2xsZXI6IG51bGwsXG4gICAgICBuZXdSZXBsaWNhczogMCxcbiAgICAgIGRpYWxvZzogbmV3IFVJLkRpYWxvZygpLFxuICAgICAgb25PazogKCkgPT4ge1xuICAgICAgICB2YXIgcmVzaXplRGlhbG9nID0gJHNjb3BlLnJlc2l6ZURpYWxvZztcbiAgICAgICAgcmVzaXplRGlhbG9nLmRpYWxvZy5jbG9zZSgpO1xuICAgICAgICByZXNpemVDb250cm9sbGVyKCRodHRwLCBLdWJlcm5ldGVzQXBpVVJMLCByZXNpemVEaWFsb2cuY29udHJvbGxlciwgcmVzaXplRGlhbG9nLm5ld1JlcGxpY2FzLCAoKSA9PiB7IGxvZy5kZWJ1ZyhcInVwZGF0ZWQgbnVtYmVyIG9mIHJlcGxpY2FzXCIpOyB9KVxuICAgICAgfSxcbiAgICAgIG9wZW46IChjb250cm9sbGVyKSA9PiB7XG4gICAgICAgIHZhciByZXNpemVEaWFsb2cgPSAkc2NvcGUucmVzaXplRGlhbG9nO1xuICAgICAgICByZXNpemVEaWFsb2cuY29udHJvbGxlciA9IGNvbnRyb2xsZXI7XG4gICAgICAgIHJlc2l6ZURpYWxvZy5uZXdSZXBsaWNhcyA9IENvcmUucGF0aEdldChjb250cm9sbGVyLCBbXCJzdGF0dXNcIiwgXCJyZXBsaWNhc1wiXSk7XG4gICAgICAgIHJlc2l6ZURpYWxvZy5kaWFsb2cub3BlbigpO1xuXG4gICAgICAgICR0aW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAkKCcjcmVwbGljYXMnKS5mb2N1cygpO1xuICAgICAgICB9LCA1MCk7XG4gICAgICB9LFxuICAgICAgY2xvc2U6ICgpID0+IHtcbiAgICAgICAgJHNjb3BlLnJlc2l6ZURpYWxvZy5kaWFsb2cuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgJHNjb3BlLnRyaWdnZXJCdWlsZCA9IChidWlsZENvbmZpZykgPT4ge1xuICAgICAgdmFyIHVybCA9IGJ1aWxkQ29uZmlnLiR0cmlnZ2VyVXJsO1xuICAgICAgY29uc29sZS5sb2coXCJ0cmlnZ2VyaW5nIGJ1aWxkIGF0IHVybDogXCIgKyB1cmwpO1xuICAgICAgaWYgKHVybCkge1xuICAgICAgICAvL3ZhciBkYXRhID0ge307XG4gICAgICAgIHZhciBkYXRhID0gbnVsbDtcbiAgICAgICAgdmFyIGNvbmZpZyA9IHtcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogXCJhcHBsaWNhdGlvbi9qc29uXCJcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHZhciBuYW1lID0gQ29yZS5wYXRoR2V0KGJ1aWxkQ29uZmlnLCBbXCJtZXRhZGF0YVwiLCBcIm5hbWVcIl0pO1xuICAgICAgICBDb3JlLm5vdGlmaWNhdGlvbignaW5mbycsIFwiVHJpZ2dlcmluZyBidWlsZCBcIiArIG5hbWUpO1xuICAgICAgICAkaHR0cC5wb3N0KHVybCwgZGF0YSwgY29uZmlnKS5cbiAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJ0cmlnZ2VyIHdvcmtlZCEgZ290IGRhdGEgXCIgKyBhbmd1bGFyLnRvSnNvbihkYXRhLCB0cnVlKSk7XG4gICAgICAgICAgICAvLyBUT0RPIHNob3VsZCB3ZSBzaG93IHNvbWUgbGluayB0byB0aGUgYnVpbGRcbiAgICAgICAgICAgIENvcmUubm90aWZpY2F0aW9uKCdpbmZvJywgXCJCdWlsZGluZyBcIiArIG5hbWUpO1xuICAgICAgICAgIH0pLlxuICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgIENvcmUubm90aWZpY2F0aW9uKCdlcnJvcicsIFwiRmFpbGVkIHRvIHRyaWdnZXIgYnVpbGQgZm9yIFwiICsgbmFtZSArIFwiLiBSZXR1cm5lZCBjb2RlOiBcIiArIHN0YXR1cyArIFwiIFwiICsgZGF0YSk7XG4gICAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIHVwZGF0ZSB0aGUgVVJMIGlmIHRoZSBmaWx0ZXIgaXMgY2hhbmdlZFxuICAgICRzY29wZS4kd2F0Y2goXCJ0YWJsZUNvbmZpZy5maWx0ZXJPcHRpb25zLmZpbHRlclRleHRcIiwgKHRleHQpID0+IHtcbiAgICAgICRsb2NhdGlvbi5zZWFyY2goXCJxXCIsIHRleHQpO1xuICAgIH0pO1xuXG4gICAgJHNjb3BlLiRvbihcImxhYmVsRmlsdGVyVXBkYXRlXCIsICgkZXZlbnQsIHRleHQpID0+IHtcbiAgICAgIHZhciBmaWx0ZXJPcHRpb25zID0gKCRzY29wZS50YWJsZUNvbmZpZyB8fCB7fSkuZmlsdGVyT3B0aW9ucyB8fCB7fTtcbiAgICAgIHZhciBjdXJyZW50RmlsdGVyID0gZmlsdGVyT3B0aW9ucy5maWx0ZXJUZXh0O1xuICAgICAgaWYgKENvcmUuaXNCbGFuayhjdXJyZW50RmlsdGVyKSkge1xuICAgICAgICBmaWx0ZXJPcHRpb25zLmZpbHRlclRleHQgPSB0ZXh0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGV4cHJlc3Npb25zID0gY3VycmVudEZpbHRlci5zcGxpdCgvXFxzKy8pO1xuICAgICAgICBpZiAoZXhwcmVzc2lvbnMuYW55KHRleHQpKSB7XG4gICAgICAgICAgLy8gbGV0cyBleGNsdWRlIHRoaXMgZmlsdGVyIGV4cHJlc3Npb25cbiAgICAgICAgICBleHByZXNzaW9ucyA9IGV4cHJlc3Npb25zLnJlbW92ZSh0ZXh0KTtcbiAgICAgICAgICBmaWx0ZXJPcHRpb25zLmZpbHRlclRleHQgPSBleHByZXNzaW9ucy5qb2luKFwiIFwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmaWx0ZXJPcHRpb25zLmZpbHRlclRleHQgPSBjdXJyZW50RmlsdGVyICsgXCIgXCIgKyB0ZXh0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAkc2NvcGUuaWQgPSB1bmRlZmluZWQ7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc2VydmljZSBsaW5rIFVSTCBmb3IgZWl0aGVyIHRoZSBzZXJ2aWNlIG5hbWUgb3IgdGhlIHNlcnZpY2Ugb2JqZWN0XG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gc2VydmljZUxpbmtVcmwoc2VydmljZSkge1xuICAgIGlmIChhbmd1bGFyLmlzT2JqZWN0KHNlcnZpY2UpKSB7XG4gICAgICB2YXIgcG9ydGFsSVAgPSBzZXJ2aWNlLiRob3N0O1xuICAgICAgLy8gbGV0cyBhc3N1bWUgbm8gY3VzdG9tIHBvcnQgZm9yIG5vdyBmb3IgZXh0ZXJuYWwgcm91dGVzXG4gICAgICB2YXIgcG9ydCA9IG51bGw7XG4gICAgICB2YXIgcHJvdG9jb2wgPSBcImh0dHA6Ly9cIjtcbiAgICAgIHZhciBzcGVjID0gc2VydmljZS5zcGVjO1xuICAgICAgaWYgKHNwZWMpIHtcbiAgICAgICAgaWYgKCFwb3J0YWxJUCkge1xuICAgICAgICAgIHBvcnRhbElQID0gc3BlYy5wb3J0YWxJUDtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaGFzSHR0cHMgPSBmYWxzZTtcbiAgICAgICAgdmFyIGhhc0h0dHAgPSBmYWxzZTtcbiAgICAgICAgYW5ndWxhci5mb3JFYWNoKHNwZWMucG9ydHMsIChwb3J0U3BlYykgPT4ge1xuICAgICAgICAgIHZhciBwID0gcG9ydFNwZWMucG9ydDtcbiAgICAgICAgICBpZiAocCkge1xuICAgICAgICAgICAgaWYgKHAgPT09IDQ0Mykge1xuICAgICAgICAgICAgICBoYXNIdHRwcyA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHAgPT09IDgwKSB7XG4gICAgICAgICAgICAgIGhhc0h0dHAgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFwb3J0KSB7XG4gICAgICAgICAgICAgIHBvcnQgPSBwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAocG9ydGFsSVApIHtcbiAgICAgICAgaWYgKGhhc0h0dHBzKSB7XG4gICAgICAgICAgcmV0dXJuIFwiaHR0cHM6Ly9cIiArIHBvcnRhbElQO1xuICAgICAgICB9IGVsc2UgaWYgKGhhc0h0dHApIHtcbiAgICAgICAgICByZXR1cm4gXCJodHRwOi8vXCIgKyBwb3J0YWxJUDtcbiAgICAgICAgfSBlbHNlIGlmIChwb3J0KSB7XG4gICAgICAgICAgcmV0dXJuIHByb3RvY29sICsgcG9ydGFsSVAgKyBcIjpcIiArIHBvcnQgKyBcIi9cIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gcHJvdG9jb2wgKyBwb3J0YWxJUDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoc2VydmljZSkge1xuICAgICAgdmFyIHNlcnZpY2VJZCA9IHNlcnZpY2UudG9TdHJpbmcoKTtcbiAgICAgIGlmIChzZXJ2aWNlSWQpIHtcbiAgICAgICAgdmFyIFNlcnZpY2VSZWdpc3RyeSA9IGdldFNlcnZpY2VSZWdpc3RyeSgpO1xuICAgICAgICBpZiAoU2VydmljZVJlZ2lzdHJ5KSB7XG4gICAgICAgICAgcmV0dXJuIFNlcnZpY2VSZWdpc3RyeS5zZXJ2aWNlTGluayhzZXJ2aWNlSWQpIHx8IFwiXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICAvKipcbiAgICogR2l2ZW4gdGhlIGxpc3Qgb2YgcG9kcyBsZXRzIGl0ZXJhdGUgdGhyb3VnaCB0aGVtIGFuZCBmaW5kIGFsbCBwb2RzIG1hdGNoaW5nIHRoZSBzZWxlY3RvclxuICAgKiBhbmQgcmV0dXJuIGNvdW50ZXJzIGJhc2VkIG9uIHRoZSBzdGF0dXMgb2YgdGhlIHBvZFxuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVBvZENvdW50ZXJzKHNlbGVjdG9yLCBwb2RzLCBvdXRwdXRQb2RzID0gW10sIHBvZExpbmtRdWVyeSA9IG51bGwpIHtcbiAgICB2YXIgZmlsdGVyRm47XG4gICAgaWYgKGFuZ3VsYXIuaXNGdW5jdGlvbihzZWxlY3RvcikpIHtcbiAgICAgIGZpbHRlckZuID0gc2VsZWN0b3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbHRlckZuID0gKHBvZCkgPT4gc2VsZWN0b3JNYXRjaGVzKHNlbGVjdG9yLCBnZXRMYWJlbHMocG9kKSk7XG4gICAgfVxuICAgIHZhciBhbnN3ZXIgPSB7XG4gICAgICBwb2RzTGluazogXCJcIixcbiAgICAgIHZhbGlkOiAwLFxuICAgICAgd2FpdGluZzogMCxcbiAgICAgIGVycm9yOiAwXG4gICAgfTtcbiAgICBpZiAoc2VsZWN0b3IpIHtcbiAgICAgIGlmICghcG9kTGlua1F1ZXJ5KSB7XG4gICAgICAgIHBvZExpbmtRdWVyeSA9IEt1YmVybmV0ZXMubGFiZWxzVG9TdHJpbmcoc2VsZWN0b3IsIFwiIFwiKTtcbiAgICAgIH1cbiAgICAgIGFuc3dlci5wb2RzTGluayA9IENvcmUudXJsKFwiL2t1YmVybmV0ZXMvcG9kcz9xPVwiICsgZW5jb2RlVVJJQ29tcG9uZW50KHBvZExpbmtRdWVyeSkpO1xuICAgICAgYW5ndWxhci5mb3JFYWNoKHBvZHMsIHBvZCA9PiB7XG4gICAgICAgIGlmIChmaWx0ZXJGbihwb2QpKSB7XG4gICAgICAgICAgb3V0cHV0UG9kcy5wdXNoKHBvZCk7XG4gICAgICAgICAgdmFyIHN0YXR1cyA9IGdldFN0YXR1cyhwb2QpO1xuICAgICAgICAgIGlmIChzdGF0dXMpIHtcbiAgICAgICAgICAgIHZhciBsb3dlciA9IHN0YXR1cy50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgaWYgKGxvd2VyLnN0YXJ0c1dpdGgoXCJydW5cIikpIHtcbiAgICAgICAgICAgICAgYW5zd2VyLnZhbGlkICs9IDE7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGxvd2VyLnN0YXJ0c1dpdGgoXCJ3YWl0XCIpIHx8IGxvd2VyLnN0YXJ0c1dpdGgoXCJwZW5kXCIpKSB7XG4gICAgICAgICAgICAgIGFuc3dlci53YWl0aW5nICs9IDE7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGxvd2VyLnN0YXJ0c1dpdGgoXCJ0ZXJtXCIpIHx8IGxvd2VyLnN0YXJ0c1dpdGgoXCJlcnJvclwiKSB8fCBsb3dlci5zdGFydHNXaXRoKFwiZmFpbFwiKSkge1xuICAgICAgICAgICAgICBhbnN3ZXIuZXJyb3IgKz0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYW5zd2VyLmVycm9yICs9IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGFuc3dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgZ2l2ZW4ganNvbiBpbnRvIGFuIGFycmF5IG9mIGl0ZW1zLiBJZiB0aGUganNvbiBjb250YWlucyBhIG5lc3RlZCBzZXQgb2YgaXRlbXMgdGhlbiB0aGF0IGlzIHNvcnRlZDsgc28gdGhhdCBzZXJ2aWNlc1xuICAgKiBhcmUgcHJvY2Vzc2VkIGZpcnN0OyB0aGVuIHR1cm5lZCBpbnRvIGFuIGFycmF5LiBPdGhlcndpc2UgdGhlIGpzb24gaXMgcHV0IGludG8gYW4gYXJyYXkgc28gaXQgY2FuIGJlIHByb2Nlc3NlZCBwb2x5bW9ycGhpY2FsbHlcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0S3ViZXJuZXRlc0pzb25Ub0l0ZW1zKGpzb24pIHtcbiAgICB2YXIgaXRlbXMgPSBqc29uLml0ZW1zO1xuICAgIGlmIChhbmd1bGFyLmlzQXJyYXkoaXRlbXMpKSB7XG4gICAgICAvLyBUT0RPIHdlIGNvdWxkIGNoZWNrIGZvciBMaXN0IG9yIENvbmZpZyB0eXBlcyBoZXJlIGFuZCB3YXJuIGlmIG5vdFxuXG4gICAgICAvLyBzb3J0IHRoZSBzZXJ2aWNlcyBmaXJzdFxuICAgICAgdmFyIGFuc3dlciA9IFtdO1xuICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpZiAoaXRlbS5raW5kID09PSBcIlNlcnZpY2VcIikge1xuICAgICAgICAgIGFuc3dlci5wdXNoKGl0ZW0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGl0ZW0ua2luZCAhPT0gXCJTZXJ2aWNlXCIpIHtcbiAgICAgICAgICBhbnN3ZXIucHVzaChpdGVtKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gYW5zd2VyO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW2pzb25dO1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpc1YxYmV0YTFPcjIoKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRBcGlWZXJzaW9uID09PSBcInYxYmV0YTFcIiB8fCBkZWZhdWx0QXBpVmVyc2lvbiA9PT0gXCJ2MWJldGEyXCI7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGxpbmsgdG8gdGhlIGRldGFpbCBwYWdlIGZvciB0aGUgZ2l2ZW4gZW50aXR5XG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gZW50aXR5UGFnZUxpbmsoZW50aXR5KSB7XG4gICAgaWYgKGVudGl0eSkge1xuICAgICAgdmFyIHZpZXdMaW5rID0gZW50aXR5W1wiJHZpZXdMaW5rXCJdO1xuICAgICAgaWYgKHZpZXdMaW5rKSB7XG4gICAgICAgIHJldHVybiB2aWV3TGluaztcbiAgICAgIH1cbiAgICAgIHZhciBpZCA9IGdldE5hbWUoZW50aXR5KTtcbiAgICAgIHZhciBraW5kID0gZ2V0S2luZChlbnRpdHkpO1xuICAgICAgaWYgKGtpbmQgJiYgaWQpIHtcbiAgICAgICAgdmFyIHBhdGggPSBraW5kLnN1YnN0cmluZygwLCAxKS50b0xvd2VyQ2FzZSgpICsga2luZC5zdWJzdHJpbmcoMSkgKyBcInNcIjtcbiAgICAgICAgdmFyIG5hbWVzcGFjZSA9IGdldE5hbWVzcGFjZShlbnRpdHkpO1xuICAgICAgICBpZiAobmFtZXNwYWNlICYmICFpc0lnbm9yZU5hbWVzcGFjZUtpbmQoa2luZCkpIHtcbiAgICAgICAgICByZXR1cm4gQ29yZS51cmwoVXJsSGVscGVycy5qb2luKCcva3ViZXJuZXRlcy9uYW1lc3BhY2UnLCBuYW1lc3BhY2UsIHBhdGgsIGlkKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIENvcmUudXJsKFVybEhlbHBlcnMuam9pbignL2t1YmVybmV0ZXMnLCBwYXRoLCBpZCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cblxuICBleHBvcnQgZnVuY3Rpb24gcmVzb3VyY2VLaW5kVG9VcmlQYXRoKGtpbmQpIHtcbiAgICB2YXIga2luZFBhdGggPSBraW5kLnRvTG93ZXJDYXNlKCkgKyBcInNcIjtcbiAgICBpZiAoa2luZFBhdGggPT09IFwicmVwbGljYXRpb25Db250cm9sbGVyc1wiICYmICFpc1YxYmV0YTFPcjIoKSkge1xuICAgICAga2luZFBhdGggPSBcInJlcGxpY2F0aW9uY29udHJvbGxlcnNcIjtcbiAgICB9XG4gICAgcmV0dXJuIGtpbmRQYXRoO1xuICB9XG5cbiAgZnVuY3Rpb24gaXNJZ25vcmVOYW1lc3BhY2VLaW5kKGtpbmQpIHtcbiAgICByZXR1cm4ga2luZCA9PT0gXCJIb3N0XCIgfHwga2luZCA9PT0gXCJNaW5pb25cIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSByb290IFVSTCBmb3IgdGhlIGtpbmRcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBrdWJlcm5ldGVzVXJsRm9yS2luZChLdWJlcm5ldGVzQXBpVVJMLCBraW5kLCBuYW1lc3BhY2UgPSBudWxsLCBwYXRoID0gbnVsbCkge1xuICAgIHZhciBwYXRoU2VnbWVudCA9IFwiXCI7XG4gICAgaWYgKHBhdGgpIHtcbiAgICAgIHBhdGhTZWdtZW50ID0gXCIvXCIgKyBDb3JlLnRyaW1MZWFkaW5nKHBhdGgsIFwiL1wiKTtcbiAgICB9XG4gICAgdmFyIGtpbmRQYXRoID0gcmVzb3VyY2VLaW5kVG9VcmlQYXRoKGtpbmQpO1xuICAgIHZhciBpZ25vcmVOYW1lc3BhY2UgPSBpc0lnbm9yZU5hbWVzcGFjZUtpbmQoa2luZCk7XG4gICAgaWYgKGlzVjFiZXRhMU9yMigpIHx8IGlnbm9yZU5hbWVzcGFjZSkge1xuICAgICAgdmFyIHBvc3RmaXggPSBcIlwiO1xuICAgICAgaWYgKG5hbWVzcGFjZSAmJiAhaWdub3JlTmFtZXNwYWNlKSB7XG4gICAgICAgIHBvc3RmaXggPSBcIj9uYW1lc3BhY2U9XCIgKyBuYW1lc3BhY2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKEt1YmVybmV0ZXNBcGlVUkwsIGtpbmRQYXRoLCBwYXRoU2VnbWVudCwgcG9zdGZpeCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4oS3ViZXJuZXRlc0FwaVVSTCwgXCIvbmFtZXNwYWNlcy9cIiwgbmFtZXNwYWNlICwga2luZFBhdGgsIHBhdGhTZWdtZW50KTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGJhc2UgVVJMIGZvciB0aGUga2luZCBvZiBrdWJlcm5ldGVzIHJlc291cmNlIG9yIG51bGwgaWYgaXQgY2Fubm90IGJlIGZvdW5kXG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24ga3ViZXJuZXRlc1VybEZvckl0ZW1LaW5kKEt1YmVybmV0ZXNBcGlVUkwsIGpzb24pIHtcbiAgICB2YXIga2luZCA9IGpzb24ua2luZDtcbiAgICBpZiAoa2luZCkge1xuICAgICAgcmV0dXJuIGt1YmVybmV0ZXNVcmxGb3JLaW5kKEt1YmVybmV0ZXNBcGlVUkwsIGtpbmQsIGpzb24ubmFtZXNwYWNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nLndhcm4oXCJJZ25vcmluZyBtaXNzaW5nIGtpbmQgXCIgKyBraW5kICsgXCIgZm9yIGt1YmVybmV0ZXMganNvbjogXCIgKyBhbmd1bGFyLnRvSnNvbihqc29uKSk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24ga3ViZXJuZXRlc1Byb3h5VXJsRm9yU2VydmljZShLdWJlcm5ldGVzQXBpVVJMLCBzZXJ2aWNlLCBwYXRoID0gbnVsbCkge1xuICAgIHZhciBwYXRoU2VnbWVudCA9IFwiXCI7XG4gICAgaWYgKHBhdGgpIHtcbiAgICAgIHBhdGhTZWdtZW50ID0gXCIvXCIgKyBDb3JlLnRyaW1MZWFkaW5nKHBhdGgsIFwiL1wiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGF0aFNlZ21lbnQgPSBcIi9cIjtcbiAgICB9XG4gICAgdmFyIG5hbWVzcGFjZSA9IGdldE5hbWVzcGFjZShzZXJ2aWNlKTtcbiAgICBpZiAoaXNWMWJldGExT3IyKCkpIHtcbiAgICAgIHZhciBwb3N0Zml4ID0gXCI/bmFtZXNwYWNlPVwiICsgbmFtZXNwYWNlO1xuICAgICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihLdWJlcm5ldGVzQXBpVVJMLCBcIi9hcGkvXCIgKyBkZWZhdWx0QXBpVmVyc2lvbiArIFwiL3Byb3h5XCIgKyBrdWJlcm5ldGVzTmFtZXNwYWNlUGF0aCgpICsgXCIvc2VydmljZXMvXCIgKyBnZXROYW1lKHNlcnZpY2UpICsgcGF0aFNlZ21lbnQgKyBwb3N0Zml4KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihLdWJlcm5ldGVzQXBpVVJMLCBcIi9hcGkvXCIgKyBkZWZhdWx0QXBpVmVyc2lvbiArIFwiL3Byb3h5L25hbWVzcGFjZXMvXCIgKyBuYW1lc3BhY2UgKyBcIi9zZXJ2aWNlcy9cIiArIGdldE5hbWUoc2VydmljZSkgKyBwYXRoU2VnbWVudCk7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQ29uZmlnUmVzdFVybChpZCkge1xuICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4oYnVpbGRDb25maWdzUmVzdFVSTCgpLCBpZCk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZGVwbG95bWVudENvbmZpZ1Jlc3RVcmwoaWQpIHtcbiAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKGRlcGxveW1lbnRDb25maWdzUmVzdFVSTCgpLCBpZCk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gaW1hZ2VSZXBvc2l0b3J5UmVzdFVybChpZCkge1xuICAgIHJldHVybiBVcmxIZWxwZXJzLmpvaW4oaW1hZ2VSZXBvc2l0b3JpZXNSZXN0VVJMKCksIGlkKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBidWlsZFJlc3RVcmwoaWQpIHtcbiAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKGJ1aWxkc1Jlc3RVUkwoKSwgaWQpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTG9nc1Jlc3RVcmwoaWQpIHtcbiAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKGJ1aWxkc0xvZ3NSZXN0VVJMKCksIGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHRoZSBnaXZlbiBhcHBsaWNhdGlvbiBKU09OXG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gcnVuQXBwKCRsb2NhdGlvbiwgJHNjb3BlLCAkaHR0cCwgS3ViZXJuZXRlc0FwaVVSTCwganNvbiwgbmFtZSA9IFwiQXBwXCIsIG9uU3VjY2Vzc0ZuID0gbnVsbCwgbmFtZXNwYWNlID0gbnVsbCwgb25Db21wbGV0ZUZuID0gbnVsbCkge1xuICAgIGlmIChqc29uKSB7XG4gICAgICBpZiAoYW5ndWxhci5pc1N0cmluZyhqc29uKSkge1xuICAgICAgICBqc29uID0gYW5ndWxhci5mcm9tSnNvbihqc29uKTtcbiAgICAgIH1cbiAgICAgIG5hbWUgPSBuYW1lIHx8IFwiQXBwXCI7XG4gICAgICB2YXIgcG9zdGZpeCA9IG5hbWVzcGFjZSA/IFwiIGluIG5hbWVzcGFjZSBcIiArIG5hbWVzcGFjZSA6IFwiXCI7XG4gICAgICBDb3JlLm5vdGlmaWNhdGlvbignaW5mbycsIFwiUnVubmluZyBcIiArIG5hbWUgKyBwb3N0Zml4KTtcblxuICAgICAgdmFyIGl0ZW1zID0gY29udmVydEt1YmVybmV0ZXNKc29uVG9JdGVtcyhqc29uKTtcbiAgICAgIGFuZ3VsYXIuZm9yRWFjaChpdGVtcywgKGl0ZW0pID0+IHtcbiAgICAgICAgdmFyIHVybCA9IGt1YmVybmV0ZXNVcmxGb3JJdGVtS2luZChLdWJlcm5ldGVzQXBpVVJMLCBpdGVtKTtcbiAgICAgICAgaWYgKHVybCkge1xuICAgICAgICAgICRodHRwLnBvc3QodXJsLCBpdGVtKS5cbiAgICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgIGxvZy5kZWJ1ZyhcIkdvdCBzdGF0dXM6IFwiICsgc3RhdHVzICsgXCIgb24gdXJsOiBcIiArIHVybCArIFwiIGRhdGE6IFwiICsgZGF0YSArIFwiIGFmdGVyIHBvc3Rpbmc6IFwiICsgYW5ndWxhci50b0pzb24oaXRlbSkpO1xuICAgICAgICAgICAgICBpZiAoYW5ndWxhci5pc0Z1bmN0aW9uKG9uQ29tcGxldGVGbikpIHtcbiAgICAgICAgICAgICAgICBvbkNvbXBsZXRlRm4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgfSkuXG4gICAgICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICB2YXIgbWVzc2FnZSA9IG51bGw7XG4gICAgICAgICAgICBpZiAoYW5ndWxhci5pc09iamVjdChkYXRhKSkge1xuICAgICAgICAgICAgICBtZXNzYWdlID0gZGF0YS5tZXNzYWdlO1xuICAgICAgICAgICAgICB2YXIgcmVhc29uID0gZGF0YS5yZWFzb247XG4gICAgICAgICAgICAgIGlmIChyZWFzb24gPT09IFwiQWxyZWFkeUV4aXN0c1wiKSB7XG4gICAgICAgICAgICAgICAgLy8gbGV0cyBpZ25vcmUgZHVwbGljYXRlc1xuICAgICAgICAgICAgICAgIGxvZy5kZWJ1ZyhcImVudGl0eSBhbHJlYWR5IGV4aXN0cyBhdCBcIiArIHVybCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIW1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IFwiRmFpbGVkIHRvIFBPU1QgdG8gXCIgKyB1cmwgKyBcIiBnb3Qgc3RhdHVzOiBcIiArIHN0YXR1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIHNhdmUgXCIgKyB1cmwgKyBcIiBzdGF0dXM6IFwiICsgc3RhdHVzICsgXCIgcmVzcG9uc2U6IFwiICsgYW5ndWxhci50b0pzb24oZGF0YSwgdHJ1ZSkpO1xuICAgICAgICAgICAgQ29yZS5ub3RpZmljYXRpb24oJ2Vycm9yJywgbWVzc2FnZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIHBvZCBpcyBydW5uaW5nXG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gaXNSdW5uaW5nKHBvZEN1cnJlbnRTdGF0ZSkge1xuICAgIHZhciBzdGF0dXMgPSAocG9kQ3VycmVudFN0YXRlIHx8IHt9KS5waGFzZTtcbiAgICBpZiAoc3RhdHVzKSB7XG4gICAgICB2YXIgbG93ZXIgPSBzdGF0dXMudG9Mb3dlckNhc2UoKTtcbiAgICAgIHJldHVybiBsb3dlci5zdGFydHNXaXRoKFwicnVuXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgbGFiZWxzIG9iamVjdCBoYXMgYWxsIG9mIHRoZSBrZXkvdmFsdWUgcGFpcnMgZnJvbSB0aGUgc2VsZWN0b3JcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBzZWxlY3Rvck1hdGNoZXMoc2VsZWN0b3IsIGxhYmVscykge1xuICAgIGlmIChhbmd1bGFyLmlzT2JqZWN0KGxhYmVscykpIHtcbiAgICAgIHZhciBhbnN3ZXIgPSB0cnVlO1xuICAgICAgdmFyIGNvdW50ID0gMDtcbiAgICAgIGFuZ3VsYXIuZm9yRWFjaChzZWxlY3RvciwgKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgY291bnQrKztcbiAgICAgICAgaWYgKGFuc3dlciAmJiBsYWJlbHNba2V5XSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICBhbnN3ZXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gYW5zd2VyICYmIGNvdW50ID4gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzZXJ2aWNlIHJlZ2lzdHJ5XG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gZ2V0U2VydmljZVJlZ2lzdHJ5KCkge1xuICAgIHZhciBpbmplY3RvciA9IEhhd3Rpb0NvcmUuaW5qZWN0b3I7XG4gICAgcmV0dXJuIGluamVjdG9yID8gaW5qZWN0b3IuZ2V0KFwiU2VydmljZVJlZ2lzdHJ5XCIpIDogbnVsbDtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBsaW5rIHRvIHRoZSBraWJhbmEgbG9ncyB3ZWIgYXBwbGljYXRpb25cbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBraWJhbmFMb2dzTGluayhTZXJ2aWNlUmVnaXN0cnkpIHtcbiAgICB2YXIgbGluayA9IFNlcnZpY2VSZWdpc3RyeS5zZXJ2aWNlTGluayhraWJhbmFTZXJ2aWNlTmFtZSk7XG4gICAgaWYgKGxpbmspIHtcbiAgICAgIGlmICghbGluay5lbmRzV2l0aChcIi9cIikpIHtcbiAgICAgICAgbGluayArPSBcIi9cIjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsaW5rICsgXCIjL2Rhc2hib2FyZC9GYWJyaWM4XCI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBvcGVuTG9nc0ZvclBvZHMoU2VydmljZVJlZ2lzdHJ5LCAkd2luZG93LCBuYW1lc3BhY2UsIHBvZHMpIHtcbiAgICB2YXIgbGluayA9IGtpYmFuYUxvZ3NMaW5rKFNlcnZpY2VSZWdpc3RyeSk7XG4gICAgaWYgKGxpbmspIHtcbiAgICAgIHZhciBxdWVyeSA9IFwiXCI7XG4gICAgICB2YXIgY291bnQgPSAwO1xuICAgICAgYW5ndWxhci5mb3JFYWNoKHBvZHMsIChpdGVtKSA9PiB7XG4gICAgICAgIHZhciBpZCA9IGdldE5hbWUoaXRlbSk7XG4gICAgICAgIGlmIChpZCkge1xuICAgICAgICAgIHZhciBzcGFjZSA9IHF1ZXJ5ID8gXCIgT1IgXCIgOiBcIlwiO1xuICAgICAgICAgIGNvdW50Kys7XG4gICAgICAgICAgcXVlcnkgKz0gc3BhY2UgKyAnXCInICsgaWQgKyAnXCInO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGlmIChxdWVyeSkge1xuICAgICAgICBpZiAoY291bnQgPiAxKSB7XG4gICAgICAgICAgcXVlcnkgPSBcIihcIiArIHF1ZXJ5ICsgXCIpXCI7XG4gICAgICAgIH1cbiAgICAgICAgcXVlcnkgPSAna3ViZXJuZXRlcy5uYW1lc3BhY2U6XCInICsgbmFtZXNwYWNlICsgJ1wiIEFORCBrdWJlcm5ldGVzLnBvZF9uYW1lOicgKyBxdWVyeTtcbiAgICAgICAgbGluayArPSBcIj9fYT0ocXVlcnk6KHF1ZXJ5X3N0cmluZzoocXVlcnk6J1wiICsgcXVlcnkgKyBcIicpKSlcIjtcbiAgICAgICAgdmFyIG5ld1dpbmRvdyA9ICR3aW5kb3cub3BlbihsaW5rLCBcInZpZXdMb2dzXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiByZXNpemVDb250cm9sbGVyKCRodHRwLCBLdWJlcm5ldGVzQXBpVVJMLCByZXBsaWNhdGlvbkNvbnRyb2xsZXIsIG5ld1JlcGxpY2FzLCBvbkNvbXBsZXRlRm4gPSBudWxsKSB7XG4gICAgdmFyIGlkID0gZ2V0TmFtZShyZXBsaWNhdGlvbkNvbnRyb2xsZXIpO1xuICAgIHZhciBuYW1lc3BhY2UgPSBnZXROYW1lc3BhY2UocmVwbGljYXRpb25Db250cm9sbGVyKSB8fCBcIlwiO1xuICAgIHZhciB1cmwgPSBrdWJlcm5ldGVzVXJsRm9yS2luZChLdWJlcm5ldGVzQXBpVVJMLCBcIlJlcGxpY2F0aW9uQ29udHJvbGxlclwiLCBuYW1lc3BhY2UsIGlkKTtcbiAgICAkaHR0cC5nZXQodXJsKS5cbiAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgdmFyIGRlc2lyZWRTdGF0ZSA9IGRhdGEuc3BlYztcbiAgICAgICAgICBpZiAoIWRlc2lyZWRTdGF0ZSkge1xuICAgICAgICAgICAgZGVzaXJlZFN0YXRlID0ge307XG4gICAgICAgICAgICBkYXRhLnNwZWMgPSBkZXNpcmVkU3RhdGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGRlc2lyZWRTdGF0ZS5yZXBsaWNhcyA9IG5ld1JlcGxpY2FzO1xuICAgICAgICAgICRodHRwLnB1dCh1cmwsIGRhdGEpLlxuICAgICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgbG9nLmRlYnVnKFwidXBkYXRlZCBjb250cm9sbGVyIFwiICsgdXJsKTtcbiAgICAgICAgICAgICAgaWYgKGFuZ3VsYXIuaXNGdW5jdGlvbihvbkNvbXBsZXRlRm4pKSB7XG4gICAgICAgICAgICAgICAgb25Db21wbGV0ZUZuKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLlxuICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gc2F2ZSBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSkuXG4gICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHN0YXR1c1RleHRUb0Nzc0NsYXNzKHRleHQpIHtcbiAgICBpZiAodGV4dCkge1xuICAgICAgdmFyIGxvd2VyID0gdGV4dC50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKGxvd2VyLnN0YXJ0c1dpdGgoXCJydW5cIikgfHwgbG93ZXIuc3RhcnRzV2l0aChcIm9rXCIpKSB7XG4gICAgICAgIHJldHVybiAnZmEgZmEtcGxheS1jaXJjbGUgZ3JlZW4nO1xuICAgICAgfSBlbHNlIGlmIChsb3dlci5zdGFydHNXaXRoKFwid2FpdFwiKSB8fCBsb3dlci5zdGFydHNXaXRoKFwicGVuZFwiKSkge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLWRvd25sb2FkJztcbiAgICAgIH0gZWxzZSBpZiAobG93ZXIuc3RhcnRzV2l0aChcInRlcm1cIikgfHwgbG93ZXIuc3RhcnRzV2l0aChcImVycm9yXCIpIHx8IGxvd2VyLnN0YXJ0c1dpdGgoXCJmYWlsXCIpKSB7XG4gICAgICAgIHJldHVybiAnZmEgZmEtb2ZmIG9yYW5nZSc7XG4gICAgICB9IGVsc2UgaWYgKGxvd2VyLnN0YXJ0c1dpdGgoXCJzdWNjZWVkZWRcIikpIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1jaGVjay1jaXJjbGUtbyBncmVlbic7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAnZmEgZmEtcXVlc3Rpb24gcmVkJztcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBwb2RTdGF0dXMocG9kKSB7XG4gICAgcmV0dXJuIGdldFN0YXR1cyhwb2QpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFwcFZpZXdQb2RDb3VudGVycyhhcHBWaWV3KSB7XG4gICAgdmFyIGFycmF5ID0gW107XG4gICAgdmFyIG1hcCA9IHt9O1xuICAgIHZhciBwb2RzID0gYXBwVmlldy5wb2RzO1xuICAgIHZhciBsb3dlc3REYXRlID0gbnVsbDtcbiAgICBhbmd1bGFyLmZvckVhY2gocG9kcywgcG9kID0+IHtcbiAgICAgIHZhciBzZWxlY3RvciA9IGdldExhYmVscyhwb2QpO1xuICAgICAgdmFyIHNlbGVjdG9yVGV4dCA9IEt1YmVybmV0ZXMubGFiZWxzVG9TdHJpbmcoc2VsZWN0b3IsIFwiIFwiKTtcbiAgICAgIHZhciBhbnN3ZXIgPSBtYXBbc2VsZWN0b3JdO1xuICAgICAgaWYgKCFhbnN3ZXIpIHtcbiAgICAgICAgYW5zd2VyID0ge1xuICAgICAgICAgIGxhYmVsVGV4dDogc2VsZWN0b3JUZXh0LFxuICAgICAgICAgIHBvZHNMaW5rOiBDb3JlLnVybChcIi9rdWJlcm5ldGVzL3BvZHM/cT1cIiArIGVuY29kZVVSSUNvbXBvbmVudChzZWxlY3RvclRleHQpKSxcbiAgICAgICAgICB2YWxpZDogMCxcbiAgICAgICAgICB3YWl0aW5nOiAwLFxuICAgICAgICAgIGVycm9yOiAwXG4gICAgICAgIH07XG4gICAgICAgIG1hcFtzZWxlY3Rvcl0gPSBhbnN3ZXI7XG4gICAgICAgIGFycmF5LnB1c2goYW5zd2VyKTtcbiAgICAgIH1cbiAgICAgIHZhciBzdGF0dXMgPSAocG9kU3RhdHVzKHBvZCkgfHwgXCJFcnJvclwiKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKHN0YXR1cy5zdGFydHNXaXRoKFwicnVuXCIpIHx8IHN0YXR1cy5zdGFydHNXaXRoKFwib2tcIikpIHtcbiAgICAgICAgYW5zd2VyLnZhbGlkICs9IDE7XG4gICAgICB9IGVsc2UgaWYgKHN0YXR1cy5zdGFydHNXaXRoKFwid2FpdFwiKSB8fCBzdGF0dXMuc3RhcnRzV2l0aChcInB3bmRcIikpIHtcbiAgICAgICAgYW5zd2VyLndhaXRpbmcgKz0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFuc3dlci5lcnJvciArPSAxO1xuICAgICAgfVxuICAgICAgdmFyIGNyZWF0aW9uVGltZXN0YW1wID0gZ2V0Q3JlYXRpb25UaW1lc3RhbXAocG9kKTtcbiAgICAgIGlmIChjcmVhdGlvblRpbWVzdGFtcCkge1xuICAgICAgICB2YXIgZCA9IG5ldyBEYXRlKGNyZWF0aW9uVGltZXN0YW1wKTtcbiAgICAgICAgaWYgKCFsb3dlc3REYXRlIHx8IGQgPCBsb3dlc3REYXRlKSB7XG4gICAgICAgICAgbG93ZXN0RGF0ZSA9IGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBhcHBWaWV3LiRjcmVhdGlvbkRhdGUgPSBsb3dlc3REYXRlO1xuICAgIHJldHVybiBhcnJheTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBcHBWaWV3U2VydmljZVZpZXdzKGFwcFZpZXcpIHtcbiAgICB2YXIgYXJyYXkgPSBbXTtcbiAgICB2YXIgcG9kcyA9IGFwcFZpZXcucG9kcztcbiAgICBhbmd1bGFyLmZvckVhY2gocG9kcywgcG9kID0+IHtcbiAgICAgIHZhciBpZCA9IGdldE5hbWUocG9kKTtcbiAgICAgIGlmIChpZCkge1xuICAgICAgICB2YXIgYWJicmV2ID0gaWQ7XG4gICAgICAgIHZhciBpZHggPSBpZC5pbmRleE9mKFwiLVwiKTtcbiAgICAgICAgaWYgKGlkeCA+IDEpIHtcbiAgICAgICAgICBhYmJyZXYgPSBpZC5zdWJzdHJpbmcoMCwgaWR4KTtcbiAgICAgICAgfVxuICAgICAgICBwb2QuaWRBYmJyZXYgPSBhYmJyZXY7XG4gICAgICB9XG4gICAgICBwb2Quc3RhdHVzQ2xhc3MgPSBzdGF0dXNUZXh0VG9Dc3NDbGFzcyhwb2RTdGF0dXMocG9kKSk7XG4gICAgfSk7XG5cbiAgICB2YXIgc2VydmljZXMgPSBhcHBWaWV3LnNlcnZpY2VzIHx8IFtdO1xuICAgIHZhciByZXBsaWNhdGlvbkNvbnRyb2xsZXJzID0gYXBwVmlldy5yZXBsaWNhdGlvbkNvbnRyb2xsZXJzIHx8IFtdO1xuICAgIHZhciBzaXplID0gTWF0aC5tYXgoc2VydmljZXMubGVuZ3RoLCByZXBsaWNhdGlvbkNvbnRyb2xsZXJzLmxlbmd0aCwgMSk7XG4gICAgdmFyIGFwcE5hbWUgPSBhcHBWaWV3LiRpbmZvLm5hbWU7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaXplOyBpKyspIHtcbiAgICAgIHZhciBzZXJ2aWNlID0gc2VydmljZXNbaV07XG4gICAgICB2YXIgcmVwbGljYXRpb25Db250cm9sbGVyID0gcmVwbGljYXRpb25Db250cm9sbGVyc1tpXTtcbiAgICAgIHZhciBjb250cm9sbGVySWQgPSBnZXROYW1lKHJlcGxpY2F0aW9uQ29udHJvbGxlcik7XG4gICAgICB2YXIgbmFtZSA9IGdldE5hbWUoc2VydmljZSkgfHwgY29udHJvbGxlcklkO1xuICAgICAgdmFyIGFkZHJlc3MgPSBDb3JlLnBhdGhHZXQoc2VydmljZSwgW1wic3BlY1wiLCBcInBvcnRhbElQXCJdKTtcbiAgICAgIGlmICghbmFtZSAmJiBwb2RzLmxlbmd0aCkge1xuICAgICAgICBuYW1lID0gcG9kc1swXS5pZEFiYnJldjtcbiAgICAgIH1cbiAgICAgIGlmICghYXBwVmlldy4kaW5mby5uYW1lKSB7XG4gICAgICAgIGFwcFZpZXcuJGluZm8ubmFtZSA9IG5hbWU7XG4gICAgICB9XG4gICAgICBpZiAoIWFwcFZpZXcuaWQgJiYgcG9kcy5sZW5ndGgpIHtcbiAgICAgICAgYXBwVmlldy5pZCA9IGdldE5hbWUocG9kc1swXSk7XG4gICAgICB9XG4gICAgICBpZiAoaSA+IDApIHtcbiAgICAgICAgYXBwTmFtZSA9IG5hbWU7XG4gICAgICB9XG4gICAgICB2YXIgcG9kQ291bnQgPSBwb2RzLmxlbmd0aDtcbiAgICAgIHZhciBwb2RDb3VudFRleHQgPSBwb2RDb3VudCArIFwiIHBvZFwiICsgKHBvZENvdW50ID4gMSA/IFwic1wiIDogXCJcIik7XG4gICAgICB2YXIgdmlldyA9IHtcbiAgICAgICAgYXBwTmFtZTogYXBwTmFtZSB8fCBuYW1lLFxuICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICBjcmVhdGVkRGF0ZTogYXBwVmlldy4kY3JlYXRpb25EYXRlLFxuICAgICAgICBwb2RDb3VudDogcG9kQ291bnQsXG4gICAgICAgIHBvZENvdW50VGV4dDogcG9kQ291bnRUZXh0LFxuICAgICAgICBhZGRyZXNzOiBhZGRyZXNzLFxuICAgICAgICBjb250cm9sbGVySWQ6IGNvbnRyb2xsZXJJZCxcbiAgICAgICAgc2VydmljZTogc2VydmljZSxcbiAgICAgICAgcmVwbGljYXRpb25Db250cm9sbGVyOiByZXBsaWNhdGlvbkNvbnRyb2xsZXIsXG4gICAgICAgIHBvZHM6IHBvZHNcbiAgICAgIH07XG4gICAgICBhcnJheS5wdXNoKHZpZXcpO1xuICAgIH1cbiAgICByZXR1cm4gYXJyYXk7XG4gIH1cblxuICAvKipcbiAgICogY29udmVydHMgYSBnaXQgcGF0aCBpbnRvIGFuIGFjY2Vzc2libGUgVVJMIGZvciB0aGUgYnJvd3NlclxuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIGdpdFBhdGhUb1VybChpY29uUGF0aCwgYnJhbmNoID0gXCJtYXN0ZXJcIikge1xuICAgIHJldHVybiAoSGF3dGlvQ29yZS5pbmplY3Rvci5nZXQoJ0FwcExpYnJhcnlVUkwnKSB8fCAnJykgKyBcIi9naXQvXCIgKyBicmFuY2ggKyBpY29uUGF0aDtcbiAgfVxuXG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGVucmljaEJ1aWxkQ29uZmlnKGJ1aWxkQ29uZmlnLCBzb3J0ZWRCdWlsZHMpIHtcbiAgICBpZiAoYnVpbGRDb25maWcpIHtcbiAgICAgIHZhciB0cmlnZ2VyVXJsOnN0cmluZyA9IG51bGw7XG4gICAgICB2YXIgbWV0YWRhdGEgPSBidWlsZENvbmZpZy5tZXRhZGF0YSB8fCB7fTtcbiAgICAgIHZhciBuYW1lID0gbWV0YWRhdGEubmFtZTtcbiAgICAgIGJ1aWxkQ29uZmlnLiRuYW1lID0gbmFtZTtcbiAgICAgIHZhciBucyA9IG1ldGFkYXRhLm5hbWVzcGFjZSB8fCBjdXJyZW50S3ViZXJuZXRlc05hbWVzcGFjZSgpO1xuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgYnVpbGRDb25maWcuJHZpZXdMaW5rID0gVXJsSGVscGVycy5qb2luKFwid29ya3NwYWNlc1wiLCBucywgXCJwcm9qZWN0c1wiLCBuYW1lKTtcblxuICAgICAgICBhbmd1bGFyLmZvckVhY2goW2ZhbHNlLCB0cnVlXSwgKGZsYWcpID0+IHtcbiAgICAgICAgICBhbmd1bGFyLmZvckVhY2goYnVpbGRDb25maWcudHJpZ2dlcnMsICh0cmlnZ2VyKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRyaWdnZXJVcmwpIHtcbiAgICAgICAgICAgICAgdmFyIHR5cGUgPSB0cmlnZ2VyLnR5cGU7XG4gICAgICAgICAgICAgIGlmICh0eXBlID09PSBcImdlbmVyaWNcIiB8fCBmbGFnKSB7XG4gICAgICAgICAgICAgICAgdmFyIGdlbmVyaWMgPSB0cmlnZ2VyW3R5cGVdO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlICYmIGdlbmVyaWMpIHtcbiAgICAgICAgICAgICAgICAgIHZhciBzZWNyZXQgPSBnZW5lcmljLnNlY3JldDtcbiAgICAgICAgICAgICAgICAgIGlmIChzZWNyZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJpZ2dlclVybCA9IFVybEhlbHBlcnMuam9pbihidWlsZENvbmZpZ0hvb2tzUmVzdFVSTCgpLCBuYW1lLCBzZWNyZXQsIHR5cGUpO1xuICAgICAgICAgICAgICAgICAgICBidWlsZENvbmZpZy4kdHJpZ2dlclVybCA9IHRyaWdnZXJVcmw7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIGxldHMgZmluZCB0aGUgbGF0ZXN0IGJ1aWxkLi4uXG4gICAgICAgIGlmIChzb3J0ZWRCdWlsZHMpIHtcbiAgICAgICAgICBidWlsZENvbmZpZy4kbGFzdEJ1aWxkID0gXy5maW5kKHNvcnRlZEJ1aWxkcywge1xuICAgICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgICAgbGFiZWxzOiB7XG4gICAgICAgICAgICAgICAgYnVpbGRjb25maWc6IG5hbWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB2YXIgJGZhYnJpYzhWaWV3cyA9IHt9O1xuXG4gICAgICBmdW5jdGlvbiBkZWZhdWx0UHJvcGVydGllc0lmTm90RXhpc3QobmFtZSwgb2JqZWN0LCBhdXRvQ3JlYXRlID0gZmFsc2UpIHtcbiAgICAgICAgdmFyIHZpZXcgPSAkZmFicmljOFZpZXdzW25hbWVdO1xuICAgICAgICBpZiAoYXV0b0NyZWF0ZSAmJiAhdmlldykge1xuICAgICAgICAgIHZpZXcgPSB7fVxuICAgICAgICAgICRmYWJyaWM4Vmlld3NbbmFtZV0gPSB2aWV3O1xuICAgICAgICB9XG4gICAgICAgIGlmICh2aWV3KSB7XG4gICAgICAgICAgYW5ndWxhci5mb3JFYWNoKG9iamVjdCwgKHZhbHVlLCBwcm9wZXJ0eSkgPT4ge1xuICAgICAgICAgICAgdmFyIGN1cnJlbnQgPSB2aWV3W3Byb3BlcnR5XTtcbiAgICAgICAgICAgIGlmICghY3VycmVudCkge1xuICAgICAgICAgICAgICB2aWV3W3Byb3BlcnR5XSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGRlZmF1bHRQcm9wZXJ0aWVzSWZOb3RFeGlzdFN0YXJ0c1dpdGgocHJlZml4LCBvYmplY3QsIGF1dG9DcmVhdGUgPSBmYWxzZSkge1xuICAgICAgICBhbmd1bGFyLmZvckVhY2goJGZhYnJpYzhWaWV3cywgKHZpZXcsIG5hbWUpID0+IHtcbiAgICAgICAgICBpZiAodmlldyAmJiBuYW1lLnN0YXJ0c1dpdGgocHJlZml4KSkge1xuICAgICAgICAgICAgYW5ndWxhci5mb3JFYWNoKG9iamVjdCwgKHZhbHVlLCBwcm9wZXJ0eSkgPT4ge1xuICAgICAgICAgICAgICB2YXIgY3VycmVudCA9IHZpZXdbcHJvcGVydHldO1xuICAgICAgICAgICAgICBpZiAoIWN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICB2aWV3W3Byb3BlcnR5XSA9IHZhbHVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB2YXIgbGFiZWxzID0gbWV0YWRhdGEubGFiZWxzIHx8IHt9O1xuICAgICAgdmFyIGFubm90YXRpb25zID0gbWV0YWRhdGEuYW5ub3RhdGlvbnMgfHwge307XG5cbiAgICAgIC8vIGxldHMgZGVmYXVsdCB0aGUgcmVwbyBhbmQgdXNlclxuICAgICAgYnVpbGRDb25maWcuJHVzZXIgPSBhbm5vdGF0aW9uc1tcImZhYnJpYzguamVua2lucy91c2VyXCJdIHx8IGxhYmVsc1tcInVzZXJcIl07XG4gICAgICBidWlsZENvbmZpZy4kcmVwbyA9IGFubm90YXRpb25zW1wiZmFicmljOC5qZW5raW5zL3JlcG9cIl0gfHwgbGFiZWxzW1wicmVwb1wiXTtcblxuICAgICAgYW5ndWxhci5mb3JFYWNoKGFubm90YXRpb25zLCAodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICB2YXIgcGFydHMgPSBrZXkuc3BsaXQoJy8nLCAyKTtcbiAgICAgICAgaWYgKHBhcnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICB2YXIgbGlua0lkID0gcGFydHNbMF07XG4gICAgICAgICAgdmFyIHByb3BlcnR5ID0gcGFydHNbMV07XG4gICAgICAgICAgaWYgKGxpbmtJZCAmJiBwcm9wZXJ0eSAmJiBsaW5rSWQuc3RhcnRzV2l0aChcImZhYnJpYzgubGlua1wiKSkge1xuICAgICAgICAgICAgdmFyIGxpbmsgPSAkZmFicmljOFZpZXdzW2xpbmtJZF07XG4gICAgICAgICAgICBpZiAoIWxpbmspIHtcbiAgICAgICAgICAgICAgbGluayA9IHtcbiAgICAgICAgICAgICAgICBjbGFzczogbGlua0lkXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICRmYWJyaWM4Vmlld3NbbGlua0lkXSA9IGxpbms7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaW5rW3Byb3BlcnR5XSA9IHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmIChidWlsZENvbmZpZy4kdXNlciAmJiBidWlsZENvbmZpZy4kcmVwbykge1xuICAgICAgICAvLyBicm93c2UgZ29ncyByZXBvIHZpZXdcbiAgICAgICAgdmFyIGdvZ3NVcmwgPSBzZXJ2aWNlTGlua1VybChnb2dzU2VydmljZU5hbWUpO1xuICAgICAgICBpZiAoZ29nc1VybCkge1xuICAgICAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzSWZOb3RFeGlzdChcImZhYnJpYzgubGluay5icm93c2VHb2dzLnZpZXdcIiwge1xuICAgICAgICAgICAgbGFiZWw6IFwiQnJvd3NlLi4uXCIsXG4gICAgICAgICAgICB1cmw6IFVybEhlbHBlcnMuam9pbihnb2dzVXJsLCBidWlsZENvbmZpZy4kdXNlciwgYnVpbGRDb25maWcuJHJlcG8pLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQnJvd3NlIHRoZSBzb3VyY2UgY29kZSBvZiB0aGlzIHJlcG9zaXRvcnlcIixcbiAgICAgICAgICAgIGljb25DbGFzczogXCJmYSBmYS1leHRlcm5hbC1saW5rXCJcbiAgICAgICAgICB9LCB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJ1biBmb3JnZSBjb21tYW5kcyB2aWV3XG4gICAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzSWZOb3RFeGlzdChcImZhYnJpYzgubGluay5mb3JnZUNvbW1hbmQudmlld1wiLCB7XG4gICAgICAgICAgbGFiZWw6IFwiQ29tbWFuZC4uLlwiLFxuICAgICAgICAgIHVybDogVXJsSGVscGVycy5qb2luKFwiL2ZvcmdlL2NvbW1hbmRzL3VzZXJcIiwgYnVpbGRDb25maWcuJHVzZXIsIGJ1aWxkQ29uZmlnLiRyZXBvKSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogXCJQZXJmb3JtIGFuIGFjdGlvbiBvbiB0aGlzIHByb2plY3RcIixcbiAgICAgICAgICBpY29uQ2xhc3M6IFwiZmEgZmEtcGxheS1jaXJjbGVcIlxuICAgICAgICB9LCB0cnVlKTtcblxuXG4gICAgICAgIC8vIGNvbmZpZ3VyZSBkZXZvcHMgdmlld1xuICAgICAgICBkZWZhdWx0UHJvcGVydGllc0lmTm90RXhpc3QoXCJmYWJyaWM4LmxpbmsuZm9yZ2VDb21tYW5kLmRldm9wcy5zZXR0aW5nc1wiLCB7XG4gICAgICAgICAgbGFiZWw6IFwiU2V0dGluZ3NcIixcbiAgICAgICAgICB1cmw6IFVybEhlbHBlcnMuam9pbihcIi9mb3JnZS9jb21tYW5kL2Rldm9wcy1lZGl0L3VzZXJcIiwgYnVpbGRDb25maWcuJHVzZXIsIGJ1aWxkQ29uZmlnLiRyZXBvKSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogXCJDb25maWd1cmUgdGhlIERldk9wcyBzZXR0aW5ncyBmb3IgdGhpcyBwcm9qZWN0XCIsXG4gICAgICAgICAgaWNvbkNsYXNzOiBcImZhIGZhLXBlbmNpbC1zcXVhcmUtb1wiXG4gICAgICAgIH0sIHRydWUpO1xuXG4gICAgICB9XG5cbiAgICAgIC8vIGFkZCBzb21lIGljb25zIGFuZCBkZXNjcmlwdGlvbnNcbiAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzSWZOb3RFeGlzdChcImZhYnJpYzgubGluay5yZXBvc2l0b3J5LmJyb3dzZVwiLCB7XG4gICAgICAgIGxhYmVsOiBcIkJyb3dzZS4uLlwiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJCcm93c2UgdGhlIHNvdXJjZSBjb2RlIG9mIHRoaXMgcmVwb3NpdG9yeVwiLFxuICAgICAgICBpY29uQ2xhc3M6IFwiZmEgZmEtZXh0ZXJuYWwtbGlua1wiXG4gICAgICB9KTtcbiAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzSWZOb3RFeGlzdChcImZhYnJpYzgubGluay5qZW5raW5zLmpvYlwiLCB7XG4gICAgICAgIGljb25DbGFzczogXCJmYSBmYS10YXNrc1wiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJWaWV3IHRoZSBKZW5raW5zIEpvYiBmb3IgdGhpcyBidWlsZFwiXG4gICAgICB9KTtcbiAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzSWZOb3RFeGlzdChcImZhYnJpYzgubGluay5qZW5raW5zLm1vbml0b3JcIiwge1xuICAgICAgICBpY29uQ2xhc3M6IFwiZmEgZmEtdGFjaG9tZXRlclwiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJWaWV3IHRoZSBKZW5raW5zIE1vbml0b3IgZGFzaGJvYXJkIGZvciB0aGlzIHByb2plY3RcIlxuICAgICAgfSk7XG4gICAgICBkZWZhdWx0UHJvcGVydGllc0lmTm90RXhpc3QoXCJmYWJyaWM4LmxpbmsuamVua2lucy5waXBlbGluZVwiLCB7XG4gICAgICAgIGljb25DbGFzczogXCJmYSBmYS1hcnJvdy1jaXJjbGUtby1yaWdodFwiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJWaWV3IHRoZSBKZW5raW5zIFBpcGVsaW5lIGZvciB0aGlzIHByb2plY3RcIlxuICAgICAgfSk7XG4gICAgICBkZWZhdWx0UHJvcGVydGllc0lmTm90RXhpc3QoXCJmYWJyaWM4LmxpbmsubGV0c2NoYXQucm9vbVwiLCB7XG4gICAgICAgIGljb25DbGFzczogXCJmYSBmYS1jb21tZW50XCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIkNoYXQgcm9vbSBmb3IgdGhpcyBwcm9qZWN0XCJcbiAgICAgIH0pO1xuICAgICAgZGVmYXVsdFByb3BlcnRpZXNJZk5vdEV4aXN0KFwiZmFicmljOC5saW5rLmxldHNjaGF0LnJvb21cIiwge1xuICAgICAgICBpY29uQ2xhc3M6IFwiZmEgZmEtY29tbWVudFwiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJDaGF0IHJvb20gZm9yIHRoaXMgcHJvamVjdFwiXG4gICAgICB9KTtcbiAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzSWZOb3RFeGlzdChcImZhYnJpYzgubGluay50YWlnYVwiLCB7XG4gICAgICAgIGljb25DbGFzczogXCJmYSBmYS1jaGVjay1zcXVhcmUtb1wiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJJc3N1ZSB0cmFja2VyIGZvciB0aGlzIHByb2plY3RcIlxuICAgICAgfSk7XG4gICAgICBkZWZhdWx0UHJvcGVydGllc0lmTm90RXhpc3QoXCJmYWJyaWM4LmxpbmsuaXNzdWVzXCIsIHtcbiAgICAgICAgaWNvbkNsYXNzOiBcImZhIGZhLWNoZWNrLXNxdWFyZS1vXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIklzc3VlcyBmb3IgdGhpcyBwcm9qZWN0XCJcbiAgICAgIH0pO1xuICAgICAgZGVmYXVsdFByb3BlcnRpZXNJZk5vdEV4aXN0KFwiZmFicmljOC5saW5rLnJlbGVhc2VzXCIsIHtcbiAgICAgICAgaWNvbkNsYXNzOiBcImZhIGZhLXRhZ1wiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJJc3N1ZXMgZm9yIHRoaXMgcHJvamVjdFwiXG4gICAgICB9KTtcbiAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzSWZOb3RFeGlzdChcImZhYnJpYzgubGluay50YWlnYS50ZWFtXCIsIHtcbiAgICAgICAgaWNvbkNsYXNzOiBcImZhIGZhLXVzZXJzXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlRlYW0gbWVtYmVycyBmb3IgdGhpcyBwcm9qZWN0XCJcbiAgICAgIH0pO1xuICAgICAgZGVmYXVsdFByb3BlcnRpZXNJZk5vdEV4aXN0KFwiZmFicmljOC5saW5rLnRlYW1cIiwge1xuICAgICAgICBpY29uQ2xhc3M6IFwiZmEgZmEtdXNlcnNcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiVGVhbSBtZW1iZXJzIGZvciB0aGlzIHByb2plY3RcIlxuICAgICAgfSk7XG4gICAgICBkZWZhdWx0UHJvcGVydGllc0lmTm90RXhpc3RTdGFydHNXaXRoKFwiZmFicmljOC5saW5rLmVudmlyb25tZW50LlwiLCB7XG4gICAgICAgIGljb25DbGFzczogXCJmYSBmYS1jbG91ZFwiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUga3ViZXJuZXRlcyBuYW1lc3BhY2UgZm9yIHRoaXMgZW52aXJvbm1lbnRcIlxuICAgICAgfSk7XG5cblxuICAgICAgLy8gbGV0cyBwdXQgdGhlIHZpZXdzIGludG8gc2VjdGlvbnMuLi5cbiAgICAgIHZhciAkZmFicmljOENvZGVWaWV3cyA9IHt9O1xuICAgICAgdmFyICRmYWJyaWM4QnVpbGRWaWV3cyA9IHt9O1xuICAgICAgdmFyICRmYWJyaWM4VGVhbVZpZXdzID0ge307XG4gICAgICB2YXIgJGZhYnJpYzhFbnZpcm9ubWVudFZpZXdzID0ge307XG4gICAgICBhbmd1bGFyLmZvckVhY2goJGZhYnJpYzhWaWV3cywgKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgdmFyIHZpZXc7XG4gICAgICAgIGlmIChrZXkuaW5kZXhPZihcInRhaWdhXCIpID4gMCB8fCBrZXkuaW5kZXhPZihcIi5pc3N1ZVwiKSA+IDAgfHwga2V5LmluZGV4T2YoXCJsZXRzY2hhdFwiKSA+IDB8fCBrZXkuaW5kZXhPZihcIi50ZWFtXCIpID4gMCkge1xuICAgICAgICAgIHZpZXcgPSAkZmFicmljOFRlYW1WaWV3cztcbiAgICAgICAgfSBlbHNlIGlmIChrZXkuaW5kZXhPZihcImplbmtpbnNcIikgPiAwKSB7XG4gICAgICAgICAgdmlldyA9ICRmYWJyaWM4QnVpbGRWaWV3cztcbiAgICAgICAgfSBlbHNlIGlmIChrZXkuaW5kZXhPZihcIi5lbnZpcm9ubWVudC5cIikgPiAwKSB7XG4gICAgICAgICAgdmlldyA9ICRmYWJyaWM4RW52aXJvbm1lbnRWaWV3cztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2aWV3ID0gJGZhYnJpYzhDb2RlVmlld3M7XG4gICAgICAgIH1cbiAgICAgICAgdmlld1trZXldID0gdmFsdWU7XG4gICAgICB9KTtcblxuXG4gICAgICBidWlsZENvbmZpZy4kZmFicmljOFZpZXdzID0gJGZhYnJpYzhWaWV3cztcbiAgICAgIGJ1aWxkQ29uZmlnLiRmYWJyaWM4Q29kZVZpZXdzID0gJGZhYnJpYzhDb2RlVmlld3M7XG4gICAgICBidWlsZENvbmZpZy4kZmFicmljOEJ1aWxkVmlld3MgPSAkZmFicmljOEJ1aWxkVmlld3M7XG4gICAgICBidWlsZENvbmZpZy4kZmFicmljOEVudmlyb25tZW50Vmlld3MgPSAkZmFicmljOEVudmlyb25tZW50Vmlld3M7XG4gICAgICBidWlsZENvbmZpZy4kZmFicmljOFRlYW1WaWV3cyA9ICRmYWJyaWM4VGVhbVZpZXdzO1xuXG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGVucmljaEJ1aWxkQ29uZmlncyhidWlsZENvbmZpZ3MsIHNvcnRlZEJ1aWxkcyA9IG51bGwpIHtcbiAgICBhbmd1bGFyLmZvckVhY2goYnVpbGRDb25maWdzLCAoYnVpbGRDb25maWcpID0+IHtcbiAgICAgIGVucmljaEJ1aWxkQ29uZmlnKGJ1aWxkQ29uZmlnLCBzb3J0ZWRCdWlsZHMpO1xuICAgIH0pO1xuICAgIHJldHVybiBidWlsZENvbmZpZ3M7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZW5yaWNoQnVpbGRzKGJ1aWxkcykge1xuICAgIGFuZ3VsYXIuZm9yRWFjaChidWlsZHMsIChidWlsZCkgPT4ge1xuICAgICAgZW5yaWNoQnVpbGQoYnVpbGQpO1xuICAgIH0pO1xuICAgIHJldHVybiBfLnNvcnRCeShidWlsZHMsIFwiJGNyZWF0aW9uRGF0ZVwiKS5yZXZlcnNlKCk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZW5yaWNoQnVpbGQoYnVpbGQpIHtcbiAgICBpZiAoYnVpbGQpIHtcbiAgICAgIHZhciBtZXRhZGF0YSA9IGJ1aWxkLm1ldGFkYXRhIHx8IHt9O1xuICAgICAgdmFyIG5hbWUgPSBnZXROYW1lKGJ1aWxkKTtcbiAgICAgIHZhciBuYW1lc3BhY2UgPSBnZXROYW1lc3BhY2UoYnVpbGQpO1xuICAgICAgYnVpbGQuJG5hbWUgPSBuYW1lO1xuICAgICAgYnVpbGQuJG5hbWVzcGFjZSA9IG5hbWVzcGFjZTtcblxuICAgICAgdmFyIG5hbWVBcnJheSA9IG5hbWUuc3BsaXQoXCItXCIpO1xuICAgICAgdmFyIG5hbWVBcnJheUxlbmd0aCA9IG5hbWVBcnJheS5sZW5ndGg7XG4gICAgICBidWlsZC4kc2hvcnROYW1lID0gKG5hbWVBcnJheUxlbmd0aCA+IDQpID8gbmFtZUFycmF5LnNsaWNlKDAsIG5hbWVBcnJheUxlbmd0aCAtIDQpLmpvaW4oXCItXCIpIDogbmFtZS5zdWJzdHJpbmcoMCwgMzApO1xuXG4gICAgICB2YXIgbGFiZWxzID0gZ2V0TGFiZWxzKHJvdXRlKTtcbiAgICAgIHZhciBjb25maWdJZCA9IGxhYmVscy5idWlsZGNvbmZpZztcbiAgICAgIGJ1aWxkLiRjb25maWdJZCA9IGNvbmZpZ0lkO1xuICAgICAgaWYgKGNvbmZpZ0lkKSB7XG4gICAgICAgIC8vYnVpbGQuJGNvbmZpZ0xpbmsgPSBVcmxIZWxwZXJzLmpvaW4oXCJrdWJlcm5ldGVzL2J1aWxkQ29uZmlnc1wiLCBjb25maWdJZCk7XG4gICAgICAgIGJ1aWxkLiRjb25maWdMaW5rID0gVXJsSGVscGVycy5qb2luKFwid29ya3NwYWNlc1wiLCBjdXJyZW50S3ViZXJuZXRlc05hbWVzcGFjZSgpLCBcInByb2plY3RzXCIsIGNvbmZpZ0lkKTtcbiAgICAgIH1cbiAgICAgIHZhciBjcmVhdGlvblRpbWVzdGFtcCA9IGdldENyZWF0aW9uVGltZXN0YW1wKGJ1aWxkKTtcbiAgICAgIGlmIChjcmVhdGlvblRpbWVzdGFtcCkge1xuICAgICAgICB2YXIgZCA9IG5ldyBEYXRlKGNyZWF0aW9uVGltZXN0YW1wKTtcbiAgICAgICAgYnVpbGQuJGNyZWF0aW9uRGF0ZSA9IGQ7XG4gICAgICB9XG4gICAgICBpZiAobmFtZSkge1xuICAgICAgICAvL2J1aWxkLiR2aWV3TGluayA9IFVybEhlbHBlcnMuam9pbihcImt1YmVybmV0ZXMvYnVpbGRzXCIsIG5hbWUpO1xuICAgICAgICBidWlsZC4kdmlld0xpbmsgPSBVcmxIZWxwZXJzLmpvaW4oXCJ3b3Jrc3BhY2VzXCIsIGN1cnJlbnRLdWJlcm5ldGVzTmFtZXNwYWNlKCksIFwicHJvamVjdHNcIiwgY29uZmlnSWQsIFwiYnVpbGRzXCIsIG5hbWUpO1xuICAgICAgICBidWlsZC4kbG9nc0xpbmsgPSBVcmxIZWxwZXJzLmpvaW4oXCJrdWJlcm5ldGVzL2J1aWxkTG9nc1wiLCBuYW1lKTtcbiAgICAgIH1cbiAgICAgIHZhciBwb2ROYW1lID0gYnVpbGQucG9kTmFtZTtcbiAgICAgIGlmIChwb2ROYW1lICYmIG5hbWVzcGFjZSkge1xuICAgICAgICB2YXIgcG9kTmFtZUFycmF5ID0gcG9kTmFtZS5zcGxpdChcIi1cIik7XG4gICAgICAgIHZhciBwb2ROYW1lQXJyYXlMZW5ndGggPSBwb2ROYW1lQXJyYXkubGVuZ3RoXG4gICAgICAgIGJ1aWxkLiRwb2RTaG9ydE5hbWUgPSAocG9kTmFtZUFycmF5TGVuZ3RoID4gNSkgPyBwb2ROYW1lQXJyYXlbcG9kTmFtZUFycmF5TGVuZ3RoIC0gNV0gOiBwb2ROYW1lLnN1YnN0cmluZygwLCAzMCk7XG4gICAgICAgIGJ1aWxkLiRwb2RMaW5rID0gVXJsSGVscGVycy5qb2luKFwia3ViZXJuZXRlcy9uYW1lc3BhY2VcIiwgbmFtZXNwYWNlLCBcInBvZHNcIiwgcG9kTmFtZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBidWlsZDtcbiAgfVxuXG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGVucmljaERlcGxveW1lbnRDb25maWcoZGVwbG95bWVudENvbmZpZykge1xuICAgIGlmIChkZXBsb3ltZW50Q29uZmlnKSB7XG4gICAgICB2YXIgdHJpZ2dlclVybDpzdHJpbmcgPSBudWxsO1xuICAgICAgdmFyIG5hbWUgPSBDb3JlLnBhdGhHZXQoZGVwbG95bWVudENvbmZpZywgW1wibWV0YWRhdGFcIiwgXCJuYW1lXCJdKTtcbiAgICAgIGRlcGxveW1lbnRDb25maWcuJG5hbWUgPSBuYW1lO1xuICAgICAgdmFyIGZvdW5kID0gZmFsc2U7XG4gICAgICBhbmd1bGFyLmZvckVhY2goZGVwbG95bWVudENvbmZpZy50cmlnZ2VycywgKHRyaWdnZXIpID0+IHtcbiAgICAgICAgdmFyIHR5cGUgPSB0cmlnZ2VyLnR5cGU7XG4gICAgICAgIGlmICghZGVwbG95bWVudENvbmZpZy4kaW1hZ2VDaGFuZ2VQYXJhbXMgJiYgdHlwZSA9PT0gXCJJbWFnZUNoYW5nZVwiKSB7XG4gICAgICAgICAgdmFyIGltYWdlQ2hhbmdlUGFyYW1zID0gdHJpZ2dlci5pbWFnZUNoYW5nZVBhcmFtcztcbiAgICAgICAgICBpZiAoaW1hZ2VDaGFuZ2VQYXJhbXMpIHtcbiAgICAgICAgICAgIHZhciBjb250YWluZXJOYW1lcyA9IGltYWdlQ2hhbmdlUGFyYW1zLmNvbnRhaW5lck5hbWVzIHx8IFtdO1xuICAgICAgICAgICAgaW1hZ2VDaGFuZ2VQYXJhbXMuJGNvbnRhaW5lck5hbWVzID0gY29udGFpbmVyTmFtZXMuam9pbihcIiBcIik7XG4gICAgICAgICAgICBkZXBsb3ltZW50Q29uZmlnLiRpbWFnZUNoYW5nZVBhcmFtcyA9IGltYWdlQ2hhbmdlUGFyYW1zO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGVucmljaERlcGxveW1lbnRDb25maWdzKGRlcGxveW1lbnRDb25maWdzKSB7XG4gICAgYW5ndWxhci5mb3JFYWNoKGRlcGxveW1lbnRDb25maWdzLCAoZGVwbG95bWVudENvbmZpZykgPT4ge1xuICAgICAgZW5yaWNoRGVwbG95bWVudENvbmZpZyhkZXBsb3ltZW50Q29uZmlnKTtcbiAgICB9KTtcbiAgICByZXR1cm4gZGVwbG95bWVudENvbmZpZ3M7XG4gIH1cblxuXG4gIGV4cG9ydCBmdW5jdGlvbiBlbnJpY2hFdmVudChldmVudCkge1xuICAgIGlmIChldmVudCkge1xuICAgICAgdmFyIG1ldGFkYXRhID0gZXZlbnQubWV0YWRhdGEgfHwge307XG5cbiAgICAgIHZhciBmaXJzdFRpbWVzdGFtcCA9IGV2ZW50LmZpcnN0VGltZXN0YW1wO1xuICAgICAgaWYgKGZpcnN0VGltZXN0YW1wKSB7XG4gICAgICAgIHZhciBkID0gbmV3IERhdGUoZmlyc3RUaW1lc3RhbXApO1xuICAgICAgICBldmVudC4kZmlyc3RUaW1lc3RhbXAgPSBkO1xuICAgICAgfVxuICAgICAgdmFyIGxhc3RUaW1lc3RhbXAgPSBldmVudC5sYXN0VGltZXN0YW1wO1xuICAgICAgaWYgKGxhc3RUaW1lc3RhbXApIHtcbiAgICAgICAgdmFyIGQgPSBuZXcgRGF0ZShsYXN0VGltZXN0YW1wKTtcbiAgICAgICAgZXZlbnQuJGxhc3RUaW1lc3RhbXAgPSBkO1xuICAgICAgfVxuICAgICAgdmFyIGxhYmVscyA9IGFuZ3VsYXIuY29weShldmVudC5zb3VyY2UgfHwge30pO1xuICAgICAgdmFyIGludm9sdmVkT2JqZWN0ID0gZXZlbnQuaW52b2x2ZWRPYmplY3QgfHwge307XG4gICAgICB2YXIgbmFtZSA9IGludm9sdmVkT2JqZWN0Lm5hbWU7XG4gICAgICB2YXIga2luZCA9IGludm9sdmVkT2JqZWN0LmtpbmQ7XG4gICAgICBpZiAobmFtZSkge1xuICAgICAgICBsYWJlbHNbJ25hbWUnXSA9IG5hbWU7XG4gICAgICB9XG4gICAgICBpZiAoa2luZCkge1xuICAgICAgICBsYWJlbHNbJ2tpbmQnXSA9IGtpbmQ7XG4gICAgICB9XG4gICAgICBldmVudC4kbGFiZWxzVGV4dCA9IEt1YmVybmV0ZXMubGFiZWxzVG9TdHJpbmcobGFiZWxzKTtcblxuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBlbnJpY2hFdmVudHMoZXZlbnRzLCBtb2RlbCA9IG51bGwpIHtcbiAgICBhbmd1bGFyLmZvckVhY2goZXZlbnRzLCAoZXZlbnQpID0+IHtcbiAgICAgIGVucmljaEV2ZW50KGV2ZW50KTtcbiAgICB9KTtcblxuICAgIC8vIGxldHMgdXBkYXRlIGxpbmtzIHRvIHRoZSBldmVudHMgZm9yIGVhY2ggcG9kIGFuZCBSQ1xuICAgIGlmIChtb2RlbCkge1xuICAgICAgZnVuY3Rpb24gY2xlYXJFdmVudHMoZW50aXR5KSB7XG4gICAgICAgIGVudGl0eS4kZXZlbnRzID0gW107XG4gICAgICAgIGVudGl0eS4kZXZlbnRzTGluayA9IG51bGw7XG4gICAgICAgIGVudGl0eS4kZXZlbnRDb3VudCA9IDA7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHVwZGF0ZUV2ZW50KGVudGl0eSwgZXZlbnQpIHtcbiAgICAgICAgaWYgKGVudGl0eSkge1xuICAgICAgICAgIGVudGl0eS4kZXZlbnRzLnB1c2goZXZlbnQpO1xuICAgICAgICAgIGlmICghZW50aXR5LiRldmVudHNMaW5rKSB7XG4gICAgICAgICAgICBlbnRpdHkuJGV2ZW50c0xpbmsgPSBVcmxIZWxwZXJzLmpvaW4oXCIva3ViZXJuZXRlcy9uYW1lc3BhY2UvXCIsIGN1cnJlbnRLdWJlcm5ldGVzTmFtZXNwYWNlKCksIFwiZXZlbnRzXCIpICsgXCI/cT1raW5kJTNEXCIgKyBlbnRpdHkua2luZCArIFwiJTIwbmFtZSUzRFwiICsgZW50aXR5Lm1ldGFkYXRhLm5hbWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVudGl0eS4kZXZlbnRDb3VudCA9IGVudGl0eS4kZXZlbnRzLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2YXIgcG9kcyA9IG1vZGVsLnBvZHMgfHwgW107XG4gICAgICB2YXIgcmNzID0gbW9kZWwucmVwbGljYXRpb25Db250cm9sbGVycyB8fCBbXTtcbiAgICAgIGFuZ3VsYXIuZm9yRWFjaChwb2RzLCBjbGVhckV2ZW50cyk7XG4gICAgICBhbmd1bGFyLmZvckVhY2gocmNzLCBjbGVhckV2ZW50cyk7XG5cbiAgICAgIGFuZ3VsYXIuZm9yRWFjaChldmVudHMsIChldmVudCkgPT4ge1xuICAgICAgICB2YXIgaW52b2x2ZWRPYmplY3QgPSBldmVudC5pbnZvbHZlZE9iamVjdCB8fCB7fTtcbiAgICAgICAgdmFyIG5hbWUgPSBpbnZvbHZlZE9iamVjdC5uYW1lO1xuICAgICAgICB2YXIga2luZCA9IGludm9sdmVkT2JqZWN0LmtpbmQ7XG4gICAgICAgIHZhciBucyA9IG1vZGVsLmN1cnJlbnROYW1lc3BhY2UoKTtcbiAgICAgICAgaWYgKG5hbWUgJiYga2luZCAmJiBucykge1xuICAgICAgICAgIHZhciBlbnRpdHkgPSBudWxsO1xuICAgICAgICAgIGlmIChraW5kID09PSBcIlJlcGxpY2F0aW9uQ29udHJvbGxlclwiKSB7XG4gICAgICAgICAgICBlbnRpdHkgPSBtb2RlbC5nZXRSZXBsaWNhdGlvbkNvbnRyb2xsZXIobnMsIG5hbWUpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoa2luZCA9PT0gXCJQb2RcIikge1xuICAgICAgICAgICAgZW50aXR5ID0gbW9kZWwuZ2V0UG9kKG5zLCBuYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVudGl0eSkge1xuICAgICAgICAgICAgdXBkYXRlRXZlbnQoZW50aXR5LCBldmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGV2ZW50cztcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBlbnJpY2hJbWFnZVJlcG9zaXRvcnkoaW1hZ2VSZXBvc2l0b3J5KSB7XG4gICAgaWYgKGltYWdlUmVwb3NpdG9yeSkge1xuICAgICAgdmFyIHRyaWdnZXJVcmw6c3RyaW5nID0gbnVsbDtcbiAgICAgIHZhciBuYW1lID0gQ29yZS5wYXRoR2V0KGltYWdlUmVwb3NpdG9yeSwgW1wibWV0YWRhdGFcIiwgXCJuYW1lXCJdKTtcbiAgICAgIGltYWdlUmVwb3NpdG9yeS4kbmFtZSA9IG5hbWU7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGVucmljaEltYWdlUmVwb3NpdG9yaWVzKGltYWdlUmVwb3NpdG9yaWVzKSB7XG4gICAgYW5ndWxhci5mb3JFYWNoKGltYWdlUmVwb3NpdG9yaWVzLCAoaW1hZ2VSZXBvc2l0b3J5KSA9PiB7XG4gICAgICBlbnJpY2hJbWFnZVJlcG9zaXRvcnkoaW1hZ2VSZXBvc2l0b3J5KTtcbiAgICB9KTtcbiAgICByZXR1cm4gaW1hZ2VSZXBvc2l0b3JpZXM7XG4gIH1cblxuXG4gIHZhciBsYWJlbENvbG9ycyA9IHtcbiAgICAndmVyc2lvbic6ICdiYWNrZ3JvdW5kLWJsdWUnLFxuICAgICduYW1lJzogJ2JhY2tncm91bmQtbGlnaHQtZ3JlZW4nLFxuICAgICdjb250YWluZXInOiAnYmFja2dyb3VuZC1saWdodC1ncmV5J1xuICB9O1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBjb250YWluZXJMYWJlbENsYXNzKGxhYmVsVHlwZTpzdHJpbmcpIHtcbiAgICBpZiAoIShsYWJlbFR5cGUgaW4gbGFiZWxDb2xvcnMpKSB7XG4gICAgICByZXR1cm4gJ21vdXNlLXBvaW50ZXInO1xuICAgIH1cbiAgICBlbHNlIHJldHVybiBsYWJlbENvbG9yc1tsYWJlbFR5cGVdICsgJyBtb3VzZS1wb2ludGVyJztcbiAgfVxuXG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgZmFicmljOCBmb3JnZSBwbHVnaW4gaXMgZW5hYmxlZFxuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzRm9yZ2VFbmFibGVkKCkge1xuICAgIC8vIFRPRE8gc2hvdWxkIHJldHVybiB0cnVlIGlmIHRoZSBzZXJ2aWNlIFwiZmFicmljOC1mb3JnZVwiIGlzIHZhbGlkXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCBrdWJlcm5ldGVzIHNlbGVjdGVkIG5hbWVzcGFjZSBvciB0aGUgZGVmYXVsdCBvbmVcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBjdXJyZW50S3ViZXJuZXRlc05hbWVzcGFjZSgpIHtcbiAgICB2YXIgaW5qZWN0b3IgPSBIYXd0aW9Db3JlLmluamVjdG9yO1xuICAgIGlmIChpbmplY3Rvcikge1xuICAgICAgdmFyIEt1YmVybmV0ZXNTdGF0ZSA9IGluamVjdG9yLmdldChcIkt1YmVybmV0ZXNTdGF0ZVwiKSB8fCB7fTtcbiAgICAgIHJldHVybiBLdWJlcm5ldGVzU3RhdGUuc2VsZWN0ZWROYW1lc3BhY2UgfHwgZGVmYXVsdE5hbWVzcGFjZTtcbiAgICB9XG4gICAgcmV0dXJuIGRlZmF1bHROYW1lc3BhY2U7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlcyB0aGUganNvbiBzY2hlbWFcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVTY2hlbWEoKSB7XG4gICAgYW5ndWxhci5mb3JFYWNoKHNjaGVtYS5kZWZpbml0aW9ucywgKGRlZmluaXRpb24sIG5hbWUpID0+IHtcbiAgICAgIHZhciBwcm9wZXJ0aWVzID0gZGVmaW5pdGlvbi5wcm9wZXJ0aWVzO1xuICAgICAgaWYgKHByb3BlcnRpZXMpIHtcbiAgICAgICAgdmFyIGhpZGVQcm9wZXJ0aWVzID0gW1wiY3JlYXRpb25UaW1lc3RhbXBcIiwgXCJraW5kXCIsIFwiYXBpVmVyc2lvblwiLCBcImFubm90YXRpb25zXCIsIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIiwgXCJuYW1lc3BhY2VcIiwgXCJyZXNvdXJjZVZlcnNpb25cIiwgXCJzZWxmTGlua1wiLCBcInVpZFwiXTtcbiAgICAgICAgYW5ndWxhci5mb3JFYWNoKGhpZGVQcm9wZXJ0aWVzLCAocHJvcGVydHlOYW1lKSA9PiB7XG4gICAgICAgICAgdmFyIHByb3BlcnR5ID0gcHJvcGVydGllc1twcm9wZXJ0eU5hbWVdO1xuICAgICAgICAgIGlmIChwcm9wZXJ0eSkge1xuICAgICAgICAgICAgcHJvcGVydHlbXCJoaWRkZW5cIl0gID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBhbmd1bGFyLmZvckVhY2gocHJvcGVydGllcywgKHByb3BlcnR5LCBwcm9wZXJ0eU5hbWUpID0+IHtcbiAgICAgICAgICB2YXIgcmVmID0gcHJvcGVydHlbXCIkcmVmXCJdO1xuICAgICAgICAgIHZhciB0eXBlID0gcHJvcGVydHlbXCJ0eXBlXCJdO1xuICAgICAgICAgIGlmIChyZWYgJiYgKCF0eXBlIHx8IHR5cGUgPT09IFwib2JqZWN0XCIpKSB7XG4gICAgICAgICAgICBwcm9wZXJ0eVtcInR5cGVcIl0gPSByZWY7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eXBlID09PSBcImFycmF5XCIpIHtcbiAgICAgICAgICAgIHZhciBpdGVtcyA9IHByb3BlcnR5W1wiaXRlbXNcIl07XG4gICAgICAgICAgICBpZiAoaXRlbXMpIHtcbiAgICAgICAgICAgICAgdmFyIHJlZiA9IGl0ZW1zW1wiJHJlZlwiXTtcbiAgICAgICAgICAgICAgdmFyIHR5cGUgPSBpdGVtc1tcInR5cGVcIl07XG4gICAgICAgICAgICAgIGlmIChyZWYgJiYgKCF0eXBlIHx8IHR5cGUgPT09IFwib2JqZWN0XCIpKSB7XG4gICAgICAgICAgICAgICAgaXRlbXNbXCJ0eXBlXCJdID0gcmVmO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgc2NoZW1hLmRlZmluaXRpb25zLm9zX2J1aWxkX1dlYkhvb2tUcmlnZ2VyLnByb3BlcnRpZXMuc2VjcmV0LnR5cGUgPSBcInBhc3N3b3JkXCI7XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBMZXRzIHJlbW92ZSBhbnkgZW5yaWNoZWQgZGF0YSB0byBsZWF2ZSB0aGUgb3JpZ2luYWwganNvbiBpbnRhY3RcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiB0b1Jhd0pzb24oaXRlbSkge1xuICAgIHZhciBvID0gYW5ndWxhci5jb3B5KGl0ZW0pO1xuICAgIGFuZ3VsYXIuZm9yRWFjaChvLCAodmFsdWUsIGtleSkgPT4ge1xuICAgICAgaWYgKGtleS5zdGFydHNXaXRoKFwiJFwiKSB8fCBrZXkuc3RhcnRzV2l0aChcIl9cIikpIHtcbiAgICAgICAgZGVsZXRlIG9ba2V5XTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobywgbnVsbCwgMik7IC8vIHNwYWNpbmcgbGV2ZWwgPSAyXG4gIH1cblxufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2t1YmVybmV0ZXMvdHMva3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiZGV2ZWxvcGVySGVscGVycy50c1wiLz5cblxubW9kdWxlIERldmVsb3BlciB7XG5cbiAgZXhwb3J0IHZhciBQcm9qZWN0c0NvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiUHJvamVjdHNDb250cm9sbGVyXCIsIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIkt1YmVybmV0ZXNCdWlsZHNcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCIkZGlhbG9nXCIsIFwiJHdpbmRvd1wiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiJGxvY2F0aW9uXCIsIFwibG9jYWxTdG9yYWdlXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIixcbiAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6S3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzQnVpbGRzLCBLdWJlcm5ldGVzU3RhdGUsICRkaWFsb2csICR3aW5kb3csICR0ZW1wbGF0ZUNhY2hlLCAkcm91dGVQYXJhbXMsICRsb2NhdGlvbjpuZy5JTG9jYXRpb25TZXJ2aWNlLCBsb2NhbFN0b3JhZ2UsICRodHRwLCAkdGltZW91dCwgS3ViZXJuZXRlc0FwaVVSTCkgPT4ge1xuXG4gICAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAgICRzY29wZS5LdWJlcm5ldGVzQnVpbGRzID0gS3ViZXJuZXRlc0J1aWxkcztcblxuICAgICAgJHNjb3BlLnRhYmxlQ29uZmlnID0ge1xuICAgICAgICBkYXRhOiAnbW9kZWwuYnVpbGRjb25maWdzJyxcbiAgICAgICAgc2hvd1NlbGVjdGlvbkNoZWNrYm94OiB0cnVlLFxuICAgICAgICBlbmFibGVSb3dDbGlja1NlbGVjdGlvbjogZmFsc2UsXG4gICAgICAgIG11bHRpU2VsZWN0OiB0cnVlLFxuICAgICAgICBzZWxlY3RlZEl0ZW1zOiBbXSxcbiAgICAgICAgZmlsdGVyT3B0aW9uczoge1xuICAgICAgICAgIGZpbHRlclRleHQ6ICRsb2NhdGlvbi5zZWFyY2goKVtcInFcIl0gfHwgJydcbiAgICAgICAgfSxcbiAgICAgICAgY29sdW1uRGVmczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnbWV0YWRhdGEubmFtZScsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ05hbWUnLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJpZFRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9LFxuLypcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJ3NwZWMuc291cmNlLnR5cGUnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdTb3VyY2UnXG4gICAgICAgICAgfSxcbiovXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdzcGVjLnNvdXJjZS5naXQudXJpJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnUmVwb3NpdG9yeSdcbiAgICAgICAgICB9LFxuLypcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJ3NwZWMuc3RyYXRlZ3kudHlwZScsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ1N0cmF0ZWd5J1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdzcGVjLnN0cmF0ZWd5LnN0aVN0cmF0ZWd5LmltYWdlJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnU291cmNlIEltYWdlJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdzcGVjLm91dHB1dC5pbWFnZVRhZycsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ091dHB1dCBJbWFnZSdcbiAgICAgICAgICB9LFxuKi9cbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJyRmYWJyaWM4Q29kZVZpZXdzJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnQ29kZScsXG4gICAgICAgICAgICB3aWR0aDogXCIqKipcIixcbiAgICAgICAgICAgIG1pbldpZHRoOiA1MDAsXG4gICAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImJ1aWxkQ29uZmlnQ29kZVZpZXdzVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICckZmFicmljOEJ1aWxkVmlld3MnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdCdWlsZHMnLFxuICAgICAgICAgICAgd2lkdGg6IFwiKioqXCIsXG4gICAgICAgICAgICBtaW5XaWR0aDogNTAwLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJidWlsZENvbmZpZ0J1aWxkVmlld3NUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJyRmYWJyaWM4RW52aXJvbm1lbnRWaWV3cycsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ0Vudmlyb25tZW50cycsXG4gICAgICAgICAgICB3aWR0aDogXCIqKipcIixcbiAgICAgICAgICAgIG1pbldpZHRoOiA1MDAsXG4gICAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImJ1aWxkQ29uZmlnRW52aXJvbm1lbnRWaWV3c1RlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnJGZhYnJpYzhUZWFtVmlld3MnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdQZW9wbGUnLFxuICAgICAgICAgICAgd2lkdGg6IFwiKioqXCIsXG4gICAgICAgICAgICBtaW5XaWR0aDogNTAwLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJidWlsZENvbmZpZ1RlYW1WaWV3c1RlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH07XG5cbiAgICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcbiAgICAgICRzY29wZS5icmVhZGNydW1iQ29uZmlnID0gY3JlYXRlUHJvamVjdEJyZWFkY3J1bWJzKCk7XG4gICAgICAkc2NvcGUuc3ViVGFiQ29uZmlnID0gRGV2ZWxvcGVyLmNyZWF0ZVdvcmtzcGFjZVN1Yk5hdkJhcnMoKTtcblxuICAgICAgJHNjb3BlLmlzTG9nZ2VkSW50b0dvZ3MgPSBGb3JnZS5pc0xvZ2dlZEludG9Hb2dzO1xuXG4gICAgICAkc2NvcGUuZGVsZXRlUHJvbXB0ID0gKHNlbGVjdGVkKSA9PiB7XG4gICAgICAgIFVJLm11bHRpSXRlbUNvbmZpcm1BY3Rpb25EaWFsb2coPFVJLk11bHRpSXRlbUNvbmZpcm1BY3Rpb25PcHRpb25zPntcbiAgICAgICAgICBjb2xsZWN0aW9uOiBzZWxlY3RlZCxcbiAgICAgICAgICBpbmRleDogJyRuYW1lJyxcbiAgICAgICAgICBvbkNsb3NlOiAocmVzdWx0OmJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgZnVuY3Rpb24gZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIG5leHQpIHtcbiAgICAgICAgICAgICAgICBpZiAobmV4dCkge1xuICAgICAgICAgICAgICAgICAgZGVsZXRlRW50aXR5KG5leHQsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIHNlbGVjdGVkLnNoaWZ0KCkpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBkZWxldGVTZWxlY3RlZChzZWxlY3RlZCwgc2VsZWN0ZWQuc2hpZnQoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aXRsZTogJ0RlbGV0ZSBCdWlsZCBDb25maWdzPycsXG4gICAgICAgICAgYWN0aW9uOiAnVGhlIGZvbGxvd2luZyBCdWlsZCBDb25maWdzIHdpbGwgYmUgZGVsZXRlZDonLFxuICAgICAgICAgIG9rVGV4dDogJ0RlbGV0ZScsXG4gICAgICAgICAgb2tDbGFzczogJ2J0bi1kYW5nZXInLFxuICAgICAgICAgIGN1c3RvbTogXCJUaGlzIG9wZXJhdGlvbiBpcyBwZXJtYW5lbnQgb25jZSBjb21wbGV0ZWQhXCIsXG4gICAgICAgICAgY3VzdG9tQ2xhc3M6IFwiYWxlcnQgYWxlcnQtd2FybmluZ1wiXG4gICAgICAgIH0pLm9wZW4oKTtcbiAgICAgIH07XG5cbiAgICAgIGZ1bmN0aW9uIGRlbGV0ZUVudGl0eShzZWxlY3Rpb24sIG5leHRDYWxsYmFjaykge1xuICAgICAgICB2YXIgbmFtZSA9IChzZWxlY3Rpb24gfHwge30pLiRuYW1lO1xuICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwiQWJvdXQgdG8gZGVsZXRlIGJ1aWxkIGNvbmZpZzogXCIgKyBuYW1lKTtcbiAgICAgICAgICB2YXIgdXJsID0gS3ViZXJuZXRlcy5idWlsZENvbmZpZ1Jlc3RVcmwobmFtZSk7XG4gICAgICAgICAgJGh0dHAuZGVsZXRlKHVybCkuXG4gICAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICBuZXh0Q2FsbGJhY2soKTtcbiAgICAgICAgICAgIH0pLlxuICAgICAgICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGRlbGV0ZSBidWlsZCBjb25maWcgb24gXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIndhcm5pbmc6IG5vIG5hbWUgZm9yIHNlbGVjdGlvbjogXCIgKyBhbmd1bGFyLnRvSnNvbihzZWxlY3Rpb24pKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuLypcbiAgICAgICAgdmFyIHVybCA9IGJ1aWxkQ29uZmlnc1Jlc3RVUkwoKTtcbiAgICAgICAgJGh0dHAuZ2V0KHVybCkuXG4gICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgIC8vY29uc29sZS5sb2coXCJnb3QgZGF0YSBcIiArIGFuZ3VsYXIudG9Kc29uKGRhdGEsIHRydWUpKTtcbiAgICAgICAgICAgICAgdmFyIHNvcnRlZEJ1aWxkcyA9IG51bGw7XG4gICAgICAgICAgICAgICRzY29wZS5idWlsZENvbmZpZ3MgPSBlbnJpY2hCdWlsZENvbmZpZ3MoZGF0YS5pdGVtcywgc29ydGVkQnVpbGRzKTtcbiAgICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLlxuICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICB9KTtcbiovXG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4va3ViZXJuZXRlcy90cy9rdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJkZXZlbG9wZXJIZWxwZXJzLnRzXCIvPlxuXG5tb2R1bGUgRGV2ZWxvcGVyIHtcblxuICBleHBvcnQgdmFyIFdvcmtzcGFjZUNvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiV29ya3NwYWNlQ29udHJvbGxlclwiLFxuICAgIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIkt1YmVybmV0ZXNTY2hlbWFcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRsb2NhdGlvblwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsXG4gICAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6S3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNTY2hlbWEsXG4gICAgICAgJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJvdXRlUGFyYW1zLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAgICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICAgICAkc2NvcGUuaWQgPSAkcm91dGVQYXJhbXNbXCJuYW1lc3BhY2VcIl07XG4gICAgICAgICRzY29wZS5zY2hlbWEgPSBLdWJlcm5ldGVzU2NoZW1hO1xuICAgICAgICAkc2NvcGUuY29uZmlnID0gS3ViZXJuZXRlc1NjaGVtYS5kZWZpbml0aW9ucy5rdWJlcm5ldGVzX05hbWVzcGFjZTtcblxuICAgICAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG4gICAgICAgICRzY29wZS5icmVhZGNydW1iQ29uZmlnID0gY3JlYXRlV29ya3NwYWNlQnJlYWRjcnVtYnMoKTtcbiAgICAgICAgJHNjb3BlLnN1YlRhYkNvbmZpZyA9IERldmVsb3Blci5jcmVhdGVXb3Jrc3BhY2VTdWJOYXZCYXJzKCk7XG5cbiAgICAgICAgJHNjb3BlLiRvbigna3ViZXJuZXRlc01vZGVsVXBkYXRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICRzY29wZS4kb24oJyRyb3V0ZVVwZGF0ZScsICgkZXZlbnQpID0+IHtcbiAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHVwZGF0ZURhdGEoKTtcblxuICAgICAgICBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuICAgICAgICAgICRzY29wZS5pdGVtID0gbnVsbDtcbiAgICAgICAgICBpZiAoJHNjb3BlLmlkKSB7XG4gICAgICAgICAgICB2YXIgdXJsID0gVXJsSGVscGVycy5qb2luKEt1YmVybmV0ZXMucmVzb3VyY2VzVXJpRm9yS2luZChcIlByb2plY3RzXCIpLCAkc2NvcGUuaWQpO1xuICAgICAgICAgICAgbG9nLmluZm8oXCJMb2FkaW5nIHVybDogXCIgKyB1cmwpO1xuICAgICAgICAgICAgJGh0dHAuZ2V0KHVybCkuXG4gICAgICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICRzY29wZS5lbnRpdHkgPSBlbnJpY2hXb3Jrc3BhY2UoZGF0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgICB9KS5cbiAgICAgICAgICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4va3ViZXJuZXRlcy90cy9rdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJkZXZlbG9wZXJIZWxwZXJzLnRzXCIvPlxuXG5tb2R1bGUgRGV2ZWxvcGVyIHtcblxuICBleHBvcnQgdmFyIEV2ZW50c0NvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiV29ya3NwYWNlc0NvbnRyb2xsZXJcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU2VydmljZXNcIiwgXCJLdWJlcm5ldGVzUG9kc1wiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJGxvY2F0aW9uXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiam9sb2tpYVwiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsXG4gICAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6S3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzU2VydmljZXM6bmcucmVzb3VyY2UuSVJlc291cmNlQ2xhc3MsIEt1YmVybmV0ZXNQb2RzOm5nLnJlc291cmNlLklSZXNvdXJjZUNsYXNzLCBLdWJlcm5ldGVzU3RhdGUsXG4gICAgICAgJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJvdXRlUGFyYW1zLCBqb2xva2lhOkpvbG9raWEuSUpvbG9raWEsICRodHRwLCAkdGltZW91dCwgS3ViZXJuZXRlc0FwaVVSTCkgPT4ge1xuXG4gICAgICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuICAgICAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG5cbiAgICAgICAgQ29udHJvbGxlckhlbHBlcnMuYmluZE1vZGVsVG9TZWFyY2hQYXJhbSgkc2NvcGUsICRsb2NhdGlvbiwgJ21vZGUnLCAnbW9kZScsICdsaXN0Jyk7XG5cbiAgICAgICAgJHNjb3BlLnRhYmxlQ29uZmlnID0ge1xuICAgICAgICAgIGRhdGE6ICdtb2RlbC53b3Jrc3BhY2VzJyxcbiAgICAgICAgICBzaG93U2VsZWN0aW9uQ2hlY2tib3g6IHRydWUsXG4gICAgICAgICAgZW5hYmxlUm93Q2xpY2tTZWxlY3Rpb246IGZhbHNlLFxuICAgICAgICAgIG11bHRpU2VsZWN0OiB0cnVlLFxuICAgICAgICAgIHNlbGVjdGVkSXRlbXM6IFtdLFxuICAgICAgICAgIGZpbHRlck9wdGlvbnM6IHtcbiAgICAgICAgICAgIGZpbHRlclRleHQ6ICRsb2NhdGlvbi5zZWFyY2goKVtcInFcIl0gfHwgJydcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNvbHVtbkRlZnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZmllbGQ6ICckbmFtZScsXG4gICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnTmFtZScsXG4gICAgICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiaWRUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBmaWVsZDogJ21ldGFkYXRhLmRlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdEZXNjcmlwdGlvbidcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGZpZWxkOiAnJGxhYmVsc1RleHQnLFxuICAgICAgICAgICAgICBkaXNwbGF5TmFtZTogJ0xhYmVscycsXG4gICAgICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwibGFiZWxUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcblxuICAgICAgICAkc2NvcGUuJGtlZXBQb2xsaW5nID0gKCkgPT4gS3ViZXJuZXRlcy5rZWVwUG9sbGluZ01vZGVsO1xuICAgICAgICAkc2NvcGUuZmV0Y2ggPSBQb2xsSGVscGVycy5zZXR1cFBvbGxpbmcoJHNjb3BlLCAobmV4dDooKSA9PiB2b2lkKSA9PiB7XG4gICAgICAgICAgdmFyIHVybCA9IEt1YmVybmV0ZXMucmVzb3VyY2VzVXJpRm9yS2luZChcIlByb2plY3RzXCIpO1xuICAgICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAkc2NvcGUubW9kZWwud29ya3NwYWNlcyA9IGVucmljaFdvcmtzcGFjZXMoZGF0YS5pdGVtcyk7XG4gICAgICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgICAgIH0pLlxuICAgICAgICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGxvYWQgXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICAkc2NvcGUuZmV0Y2goKTtcblxuICAgICAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNIZWxwZXJzLnRzXCIvPlxuXG5kZWNsYXJlIHZhciBPU09BdXRoQ29uZmlnOmFueTtcbmRlY2xhcmUgdmFyIEdvb2dsZU9BdXRoQ29uZmlnOmFueTtcbmRlY2xhcmUgdmFyIEtleWNsb2FrQ29uZmlnOmFueTtcblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgX21vZHVsZSA9IGFuZ3VsYXIubW9kdWxlKHBsdWdpbk5hbWUsIFsnaGF3dGlvLWNvcmUnLCAnaGF3dGlvLXVpJywgJ3dpa2knLCAncmVzdG1vZCcsICd1aS5jb2RlbWlycm9yJ10pO1xuICBleHBvcnQgdmFyIGNvbnRyb2xsZXIgPSBQbHVnaW5IZWxwZXJzLmNyZWF0ZUNvbnRyb2xsZXJGdW5jdGlvbihfbW9kdWxlLCBwbHVnaW5OYW1lKTtcbiAgZXhwb3J0IHZhciByb3V0ZSA9IFBsdWdpbkhlbHBlcnMuY3JlYXRlUm91dGluZ0Z1bmN0aW9uKHRlbXBsYXRlUGF0aCk7XG5cbiAgX21vZHVsZS5jb25maWcoWyckcm91dGVQcm92aWRlcicsICgkcm91dGVQcm92aWRlcjpuZy5yb3V0ZS5JUm91dGVQcm92aWRlcikgPT4ge1xuICAgICRyb3V0ZVByb3ZpZGVyLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvcG9kcycpLCByb3V0ZSgncG9kcy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvbmFtZXNwYWNlLzpuYW1lc3BhY2UvcG9kQ3JlYXRlJyksIHJvdXRlKCdwb2RDcmVhdGUuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnL25hbWVzcGFjZS86bmFtZXNwYWNlL3BvZEVkaXQvOmlkJyksIHJvdXRlKCdwb2RFZGl0Lmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy9uYW1lc3BhY2UvOm5hbWVzcGFjZS9wb2RzJyksIHJvdXRlKCdwb2RzLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy9uYW1lc3BhY2UvOm5hbWVzcGFjZS9wb2RzLzppZCcpLCByb3V0ZSgncG9kLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ3JlcGxpY2F0aW9uQ29udHJvbGxlcnMnKSwgcm91dGUoJ3JlcGxpY2F0aW9uQ29udHJvbGxlcnMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnL25hbWVzcGFjZS86bmFtZXNwYWNlL3JlcGxpY2F0aW9uQ29udHJvbGxlcnMnKSwgcm91dGUoJ3JlcGxpY2F0aW9uQ29udHJvbGxlcnMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnL25hbWVzcGFjZS86bmFtZXNwYWNlL3JlcGxpY2F0aW9uQ29udHJvbGxlcnMvOmlkJyksIHJvdXRlKCdyZXBsaWNhdGlvbkNvbnRyb2xsZXIuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnL25hbWVzcGFjZS86bmFtZXNwYWNlL3JlcGxpY2F0aW9uQ29udHJvbGxlckNyZWF0ZScpLCByb3V0ZSgncmVwbGljYXRpb25Db250cm9sbGVyQ3JlYXRlLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy9uYW1lc3BhY2UvOm5hbWVzcGFjZS9yZXBsaWNhdGlvbkNvbnRyb2xsZXJFZGl0LzppZCcpLCByb3V0ZSgncmVwbGljYXRpb25Db250cm9sbGVyRWRpdC5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdzZXJ2aWNlcycpLCByb3V0ZSgnc2VydmljZXMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnL25hbWVzcGFjZS86bmFtZXNwYWNlL3NlcnZpY2VzJyksIHJvdXRlKCdzZXJ2aWNlcy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICcvbmFtZXNwYWNlLzpuYW1lc3BhY2Uvc2VydmljZXMvOmlkJyksIHJvdXRlKCdzZXJ2aWNlLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy9uYW1lc3BhY2UvOm5hbWVzcGFjZS9zZXJ2aWNlQ3JlYXRlJyksIHJvdXRlKCdzZXJ2aWNlQ3JlYXRlLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy9uYW1lc3BhY2UvOm5hbWVzcGFjZS9zZXJ2aWNlRWRpdC86aWQnKSwgcm91dGUoJ3NlcnZpY2VFZGl0Lmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy9uYW1lc3BhY2UvOm5hbWVzcGFjZS9ldmVudHMnKSwgcm91dGUoJ2V2ZW50cy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdldmVudHMnKSwgcm91dGUoJ2V2ZW50cy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdhcHBzJyksIHJvdXRlKCdhcHBzLmh0bWwnLCBmYWxzZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ2FwcHMvOm5hbWVzcGFjZScpLCByb3V0ZSgnYXBwcy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICd0ZW1wbGF0ZXMnKSwgcm91dGUoJ3RlbXBsYXRlcy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdob3N0cycpLCByb3V0ZSgnaG9zdHMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnaG9zdHMvOmlkJyksIHJvdXRlKCdob3N0Lmh0bWwnLCB0cnVlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnYnVpbGRzJyksIHJvdXRlKCdidWlsZHMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnYnVpbGRzLzppZCcpLCByb3V0ZSgnYnVpbGQuaHRtbCcsIHRydWUpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdidWlsZExvZ3MvOmlkJyksIHJvdXRlKCdidWlsZExvZ3MuaHRtbCcsIHRydWUpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdidWlsZENvbmZpZ3MnKSwgcm91dGUoJ2J1aWxkQ29uZmlncy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdidWlsZENvbmZpZ3MvOmlkJyksIHJvdXRlKCdidWlsZENvbmZpZy5odG1sJywgdHJ1ZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ2J1aWxkQ29uZmlnRWRpdC86aWQnKSwgcm91dGUoJ2J1aWxkQ29uZmlnRWRpdC5odG1sJywgdHJ1ZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ2J1aWxkQ29uZmlnQ3JlYXRlJyksIHJvdXRlKCdidWlsZENvbmZpZ0NyZWF0ZS5odG1sJywgdHJ1ZSkpXG4gICAgICAgICAgICAgICAgICAud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ2RlcGxveW1lbnRDb25maWdzJyksIHJvdXRlKCdkZXBsb3ltZW50Q29uZmlncy5odG1sJywgZmFsc2UpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdkZXBsb3ltZW50Q29uZmlncy86aWQnKSwgcm91dGUoJ2RlcGxveW1lbnRDb25maWcuaHRtbCcsIHRydWUpKVxuICAgICAgICAgICAgICAgICAgLndoZW4oVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdpbWFnZVJlcG9zaXRvcmllcycpLCByb3V0ZSgnaW1hZ2VSZXBvc2l0b3JpZXMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAncGlwZWxpbmVzJyksIHJvdXRlKCdwaXBlbGluZXMuaHRtbCcsIGZhbHNlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnb3ZlcnZpZXcnKSwgcm91dGUoJ292ZXJ2aWV3Lmh0bWwnLCB0cnVlKSlcbiAgICAgICAgICAgICAgICAgIC53aGVuKGNvbnRleHQsIHsgcmVkaXJlY3RUbzogVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdhcHBzJykgfSk7XG4gIH1dKTtcbiAgXG5cbiAgX21vZHVsZS5mYWN0b3J5KCdBcHBMaWJyYXJ5VVJMJywgWyckcm9vdFNjb3BlJywgKCRyb290U2NvcGU6bmcuSVJvb3RTY29wZVNlcnZpY2UpID0+IHtcbiAgICByZXR1cm4gVXJsSGVscGVycy5qb2luKGt1YmVybmV0ZXNBcGlVcmwoKSwgXCIvcHJveHlcIiwga3ViZXJuZXRlc05hbWVzcGFjZVBhdGgoKSwgXCIvc2VydmljZXMvYXBwLWxpYnJhcnlcIik7XG4gIH1dKTtcblxuICBfbW9kdWxlLmZhY3RvcnkoJ1dpa2lHaXRVcmxQcmVmaXgnLCAoKSA9PiB7XG4gICAgcmV0dXJuIFVybEhlbHBlcnMuam9pbihrdWJlcm5ldGVzQXBpVXJsKCksIFwiL3Byb3h5XCIsIGt1YmVybmV0ZXNOYW1lc3BhY2VQYXRoKCksIFwic2VydmljZXMvYXBwLWxpYnJhcnlcIik7XG4gIH0pO1xuXG4gIF9tb2R1bGUuZmFjdG9yeSgnd2lraVJlcG9zaXRvcnknLCBbXCIkbG9jYXRpb25cIiwgXCJsb2NhbFN0b3JhZ2VcIiwgKCRsb2NhdGlvbiwgbG9jYWxTdG9yYWdlKSA9PiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XSk7XG5cbiAgX21vZHVsZS5mYWN0b3J5KCdDb25uZWN0RGlhbG9nU2VydmljZScsIFsnJHJvb3RTY29wZScsICgkcm9vdFNjb3BlOm5nLklSb290U2NvcGVTZXJ2aWNlKSA9PiB7XG4gICAgcmV0dXJuICB7XG4gICAgICAgICAgICBkaWFsb2c6IG5ldyBVSS5EaWFsb2coKSxcbiAgICAgICAgICAgIHNhdmVDcmVkZW50aWFsczogZmFsc2UsXG4gICAgICAgICAgICB1c2VyTmFtZTogbnVsbCxcbiAgICAgICAgICAgIHBhc3N3b3JkOiBudWxsLFxuICAgICAgICAgICAgam9sb2tpYVVybDogbnVsbCxcbiAgICAgICAgICAgIGNvbnRhaW5lck5hbWU6IG51bGwsXG4gICAgICAgICAgICB2aWV3OiBudWxsXG4gICAgfTtcbiAgfV0pO1xuXG4gIF9tb2R1bGUuZmlsdGVyKCdrdWJlcm5ldGVzUGFnZUxpbmsnLCAoKSA9PiBlbnRpdHlQYWdlTGluayk7XG5cbiAgX21vZHVsZS5ydW4oWyd2aWV3UmVnaXN0cnknLCAnd29ya3NwYWNlJywgJ1NlcnZpY2VSZWdpc3RyeScsICdIYXd0aW9OYXYnLCAnS3ViZXJuZXRlc01vZGVsJywgJyR0ZW1wbGF0ZUNhY2hlJywgKHZpZXdSZWdpc3RyeSwgd29ya3NwYWNlOkNvcmUuV29ya3NwYWNlLCBTZXJ2aWNlUmVnaXN0cnksIEhhd3Rpb05hdiwgS3ViZXJuZXRlc01vZGVsLCAkdGVtcGxhdGVDYWNoZSkgPT4ge1xuICAgIGxvZy5kZWJ1ZyhcIlJ1bm5pbmdcIik7XG4gICAgdmlld1JlZ2lzdHJ5WydrdWJlcm5ldGVzJ10gPSB0ZW1wbGF0ZVBhdGggKyAnbGF5b3V0S3ViZXJuZXRlcy5odG1sJztcbiAgICB2YXIgYnVpbGRlciA9IEhhd3Rpb05hdi5idWlsZGVyKCk7XG4gICAgdmFyIGFwcHMgPSBidWlsZGVyLmlkKCdrdWJlLWFwcHMnKVxuICAgICAgICAgICAgICAgICAgICAgIC5ocmVmKCgpID0+IFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnYXBwcycpKVxuICAgICAgICAgICAgICAgICAgICAgIC50aXRsZSgoKSA9PiAnQXBwcycpXG4gICAgICAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICB2YXIgc2VydmljZXMgPSBidWlsZGVyLmlkKCdrdWJlLXNlcnZpY2VzJylcbiAgICAgICAgICAgICAgICAgICAgICAuaHJlZigoKSA9PiBVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ3NlcnZpY2VzJykpXG4gICAgICAgICAgICAgICAgICAgICAgLnRpdGxlKCgpID0+ICdTZXJ2aWNlcycpXG4gICAgICAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICB2YXIgY29udHJvbGxlcnMgPSBidWlsZGVyLmlkKCdrdWJlLWNvbnRyb2xsZXJzJylcbiAgICAgICAgICAgICAgICAgICAgICAuaHJlZigoKSA9PiBVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ3JlcGxpY2F0aW9uQ29udHJvbGxlcnMnKSlcbiAgICAgICAgICAgICAgICAgICAgICAudGl0bGUoKCkgPT4gJ0NvbnRyb2xsZXJzJylcbiAgICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcblxuICAgIHZhciBwb2RzID0gYnVpbGRlci5pZCgna3ViZS1wb2RzJylcbiAgICAgICAgICAgICAgICAgICAgICAuaHJlZigoKSA9PiBVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ3BvZHMnKSlcbiAgICAgICAgICAgICAgICAgICAgICAudGl0bGUoKCkgPT4gJ1BvZHMnKVxuICAgICAgICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuXG4gICAgdmFyIGV2ZW50cyA9IGJ1aWxkZXIuaWQoJ2t1YmUtZXZlbnRzJylcbiAgICAgICAgICAgICAgICAgICAgICAuaHJlZigoKSA9PiBVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ2V2ZW50cycpKVxuICAgICAgICAgICAgICAgICAgICAgIC50aXRsZSgoKSA9PiAnRXZlbnRzJylcbiAgICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcblxuICAgIHZhciBob3N0cyA9IGJ1aWxkZXIuaWQoJ2t1YmUtaG9zdHMnKVxuICAgICAgICAgICAgICAgICAgICAgIC5ocmVmKCgpID0+IFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnaG9zdHMnKSlcbiAgICAgICAgICAgICAgICAgICAgICAudGl0bGUoKCkgPT4gJ0hvc3RzJylcbiAgICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcblxuICAgIHZhciBvdmVydmlldyA9IGJ1aWxkZXIuaWQoJ2t1YmUtb3ZlcnZpZXcnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAuaHJlZigoKSA9PiBVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ292ZXJ2aWV3JykpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC50aXRsZSgoKSA9PiAnRGlhZ3JhbScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuXG4gICAgdmFyIGJ1aWxkcyA9IGJ1aWxkZXIuaWQoJ2t1YmUtYnVpbGRzJylcbiAgICAgICAgICAgICAgICAgICAgICAuaHJlZigoKSA9PiBVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ2J1aWxkcycpKVxuICAgICAgICAgICAgICAgICAgICAgIC50aXRsZSgoKSA9PiAnQnVpbGRzJylcbiAgICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcblxuICAgIHZhciBidWlsZENvbmZpZ3MgPSBidWlsZGVyLmlkKCdrdWJlLWJ1aWxkQ29uZmlncycpXG4gICAgICAgICAgICAgICAgICAgICAgLmhyZWYoKCkgPT4gVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdidWlsZENvbmZpZ3MnKSlcbiAgICAgICAgICAgICAgICAgICAgICAudGl0bGUoKCkgPT4gJ0J1aWxkIENvbmZpZ3MnKVxuICAgICAgICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuXG4gICAgdmFyIGRlcGxveXMgPSBidWlsZGVyLmlkKCdrdWJlLWRlcGxveXMnKVxuICAgICAgICAgICAgICAgICAgICAgIC5ocmVmKCgpID0+IFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAnZGVwbG95bWVudENvbmZpZ3MnKSlcbiAgICAgICAgICAgICAgICAgICAgICAudGl0bGUoKCkgPT4gJ0RlcGxveXMnKVxuICAgICAgICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuXG4gICAgdmFyIGltYWdlUmVwb3NpdG9yaWVzID0gYnVpbGRlci5pZCgna3ViZS1pbWFnZVJlcG9zaXRvcmllcycpXG4gICAgICAgICAgICAgICAgICAgICAgLmhyZWYoKCkgPT4gVXJsSGVscGVycy5qb2luKGNvbnRleHQsICdpbWFnZVJlcG9zaXRvcmllcycpKVxuICAgICAgICAgICAgICAgICAgICAgIC50aXRsZSgoKSA9PiAnUmVnaXN0cmllcycpXG4gICAgICAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICB2YXIgcGlwZWxpbmVzID0gYnVpbGRlci5pZCgna3ViZS1waXBlbGluZXMnKVxuICAgICAgICAgICAgICAgICAgICAgIC5ocmVmKCgpID0+IFVybEhlbHBlcnMuam9pbihjb250ZXh0LCAncGlwZWxpbmVzJykpXG4gICAgICAgICAgICAgICAgICAgICAgLnRpdGxlKCgpID0+ICdQaXBlbGluZXMnKVxuICAgICAgICAgICAgICAgICAgICAgIC5idWlsZCgpO1xuXG4gICAgdmFyIHJlcG9zID0gYnVpbGRlci5pZCgna3ViZS1yZXBvcycpXG4gICAgICAgICAgICAgICAgICAgICAgLmhyZWYoKCkgPT4gXCIvZm9yZ2UvcmVwb3NcIilcbiAgICAgICAgICAgICAgICAgICAgICAuaXNWYWxpZCgoKSA9PiBTZXJ2aWNlUmVnaXN0cnkuaGFzU2VydmljZShmYWJyaWM4Rm9yZ2VTZXJ2aWNlTmFtZSkgJiYgU2VydmljZVJlZ2lzdHJ5Lmhhc1NlcnZpY2UoZ29nc1NlcnZpY2VOYW1lKSAmJiAhQ29yZS5pc1JlbW90ZUNvbm5lY3Rpb24oKSlcbiAgICAgICAgICAgICAgICAgICAgICAudGl0bGUoKCkgPT4gJ1JlcG9zaXRvcmllcycpXG4gICAgICAgICAgICAgICAgICAgICAgLmJ1aWxkKCk7XG5cbiAgICB2YXIgbWFpblRhYiA9IGJ1aWxkZXIuaWQoJ2t1YmVybmV0ZXMnKVxuICAgICAgICAgICAgICAgICAgICAgICAgIC5yYW5rKDIwMClcbiAgICAgICAgICAgICAgICAgICAgICAgICAuZGVmYXVsdFBhZ2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFuazogMjAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBpc1ZhbGlkOiAoeWVzLCBubykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIUNvcmUuaXNSZW1vdGVDb25uZWN0aW9uKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBubygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAuaHJlZigoKSA9PiBjb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICAgICAgIC50aXRsZSgoKSA9PiAnS3ViZXJuZXRlcycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgLmlzVmFsaWQoKCkgPT4gIUNvcmUuaXNSZW1vdGVDb25uZWN0aW9uKCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgLnRhYnMoYXBwcywgc2VydmljZXMsIGNvbnRyb2xsZXJzLCBwb2RzLCBldmVudHMsIGhvc3RzLCBvdmVydmlldylcbiAgICAgICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcbiAgICBIYXd0aW9OYXYuYWRkKG1haW5UYWIpO1xuXG4gICAgSGF3dGlvTmF2LmFkZCh7XG4gICAgICBpZDogJ2s4c0FwcFN3aXRjaGVyJyxcbiAgICAgIHRpdGxlOiAoKSA9PiAnJywgLy8gbm90IHVzZWQgYXMgJ3RlbXBsYXRlJyBiZWxvdyBvdmVycmlkZXMgdGhpc1xuICAgICAgaXNWYWxpZDogKCkgPT4gS3ViZXJuZXRlc01vZGVsLnNlcnZpY2VBcHBzLmxlbmd0aCA+IDAsXG4gICAgICBjb250ZXh0OiB0cnVlLFxuICAgICAgdGVtcGxhdGU6ICgpID0+ICR0ZW1wbGF0ZUNhY2hlLmdldChVcmxIZWxwZXJzLmpvaW4odGVtcGxhdGVQYXRoLCAnc2VydmljZUFwcHMuaHRtbCcpKVxuICAgIH0pO1xuXG5cbiAgICB2YXIgcHJvamVjdHNUYWIgPSBidWlsZGVyLmlkKCdvcGVuc2hpZnQnKVxuICAgICAgICAgICAgICAgICAgICAgICAgIC5yYW5rKDEwMClcbiAgICAgICAgICAgICAgICAgICAgICAgICAuaHJlZigoKSA9PiBVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJ2J1aWxkQ29uZmlncycpICsgJz9zdWItdGFiPWt1YmUtYnVpbGRDb25maWdzJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAudGl0bGUoKCkgPT4gJ1Byb2plY3RzJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAuaXNWYWxpZCgoKSA9PiAhQ29yZS5pc1JlbW90ZUNvbm5lY3Rpb24oKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGV0cyBkaXNhYmxlIHRoZSBwaXBlbGluZXMgdmlldyBmb3Igbm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBpcGVsaW5lcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAudGFicyhyZXBvcywgYnVpbGRDb25maWdzLCBidWlsZHMsICBkZXBsb3lzLCBpbWFnZVJlcG9zaXRvcmllcylcbiAgICAgICAgICAgICAgICAgICAgICAgICAuYnVpbGQoKTtcblxuICAgIEhhd3Rpb05hdi5hZGQocHJvamVjdHNUYWIpO1xuICB9XSk7XG5cbiAgaGF3dGlvUGx1Z2luTG9hZGVyLnJlZ2lzdGVyUHJlQm9vdHN0cmFwVGFzayh7XG4gICAgbmFtZTogJ0t1YmVybmV0ZXNJbml0JyxcbiAgICB0YXNrOiAobmV4dCkgPT4ge1xuICAgICAgJC5nZXRTY3JpcHQoJ29zY29uc29sZS9jb25maWcuanMnKVxuICAgICAgICAuZG9uZSgoc2NyaXB0LCB0ZXh0U3RhdHVzKSA9PiB7XG4gICAgICAgICAgdmFyIGNvbmZpZzpLdWJlcm5ldGVzQ29uZmlnID0gS3ViZXJuZXRlcy5vc0NvbmZpZyA9IHdpbmRvd1snT1BFTlNISUZUX0NPTkZJRyddO1xuICAgICAgICAgIGxvZy5kZWJ1ZyhcIkZldGNoZWQgT0F1dGggY29uZmlnOiBcIiwgY29uZmlnKTtcbiAgICAgICAgICB2YXIgbWFzdGVyOnN0cmluZyA9IGNvbmZpZy5tYXN0ZXJfdXJpO1xuICAgICAgICAgIGlmICghbWFzdGVyICYmIGNvbmZpZy5hcGkgJiYgY29uZmlnLmFwaS5rOHMpIHtcbiAgICAgICAgICAgIHZhciBtYXN0ZXJVcmkgPSBuZXcgVVJJKCkuaG9zdChjb25maWcuYXBpLms4cy5ob3N0UG9ydCkucGF0aChcIlwiKS5xdWVyeShcIlwiKTtcbiAgICAgICAgICAgIGlmIChjb25maWcuYXBpLms4cy5wcm90bykge1xuICAgICAgICAgICAgICBtYXN0ZXJVcmkucHJvdG9jb2woY29uZmlnLmFwaS5rOHMucHJvdG8pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbWFzdGVyID0gbWFzdGVyVXJpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgT1NPQXV0aENvbmZpZyA9IGNvbmZpZy5vcGVuc2hpZnQ7XG4gICAgICAgICAgR29vZ2xlT0F1dGhDb25maWcgPSBjb25maWcuZ29vZ2xlO1xuICAgICAgICAgIEtleWNsb2FrQ29uZmlnID0gY29uZmlnLmtleWNsb2FrO1xuXG4gICAgICAgICAgaWYgKE9TT0F1dGhDb25maWcgJiYgIW1hc3Rlcikge1xuICAgICAgICAgICAgLy8gVE9ETyBhdXRoLm1hc3Rlcl91cmkgbm8gbG9uZ2VyIHVzZWQgcmlnaHQ/XG4gICAgICAgICAgICAvLyBtYXN0ZXIgPSBPU09BdXRoQ29uZmlnLm1hc3Rlcl91cmk7XG4gICAgICAgICAgICBpZiAoIW1hc3Rlcikge1xuICAgICAgICAgICAgICB2YXIgb2F1dGhfYXV0aG9yaXplX3VyaSA9IE9TT0F1dGhDb25maWcub2F1dGhfYXV0aG9yaXplX3VyaTtcbiAgICAgICAgICAgICAgaWYgKG9hdXRoX2F1dGhvcml6ZV91cmkpIHtcbiAgICAgICAgICAgICAgICB2YXIgdGV4dCA9IG9hdXRoX2F1dGhvcml6ZV91cmk7XG4gICAgICAgICAgICAgICAgdmFyIGlkeCA9IHRleHQuaW5kZXhPZihcIjovL1wiKTtcbiAgICAgICAgICAgICAgICBpZiAoaWR4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgaWR4ICs9IDM7XG4gICAgICAgICAgICAgICAgICBpZHggPSB0ZXh0LmluZGV4T2YoXCIvXCIsIGlkeCk7XG4gICAgICAgICAgICAgICAgICBpZiAoaWR4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBtYXN0ZXIgPSB0ZXh0LnN1YnN0cmluZygwLCArK2lkeCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICgoIUt1YmVybmV0ZXMubWFzdGVyVXJsIHx8IEt1YmVybmV0ZXMubWFzdGVyVXJsID09PSBcIi9cIikgJiYgKCFtYXN0ZXIgfHwgbWFzdGVyID09PSBcIi9cIikpIHtcbiAgICAgICAgICAgIC8vIGxldHMgZGVmYXVsdCB0aGUgbWFzdGVyIHRvIHRoZSBjdXJyZW50IHByb3RvY29sIGFuZCBob3N0L3BvcnRcbiAgICAgICAgICAgIC8vIGluIGNhc2UgdGhlIG1hc3RlciB1cmwgaXMgXCIvXCIgYW5kIHdlIGFyZVxuICAgICAgICAgICAgLy8gc2VydmluZyB1cCBzdGF0aWMgY29udGVudCBmcm9tIGluc2lkZSAvYXBpL3YxL25hbWVzcGFjZXMvZGVmYXVsdC9zZXJ2aWNlcy9mYWJyaWM4IG9yIHNvbWV0aGluZyBsaWtlIHRoYXRcbiAgICAgICAgICAgIHZhciBocmVmID0gbG9jYXRpb24uaHJlZjtcbiAgICAgICAgICAgIGlmIChocmVmKSB7XG4gICAgICAgICAgICAgIG1hc3RlciA9IG5ldyBVUkkoaHJlZikucXVlcnkoXCJcIikucGF0aChcIlwiKS50b1N0cmluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobWFzdGVyKSB7XG4gICAgICAgICAgICBLdWJlcm5ldGVzLm1hc3RlclVybCA9IG1hc3RlcjtcbiAgICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAuZmFpbCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgbG9nLmRlYnVnKFwiRXJyb3IgZmV0Y2hpbmcgT0FVVEggY29uZmlnOiBcIiwgcmVzcG9uc2UpO1xuICAgICAgfSlcbiAgICAgIC5hbHdheXMoKCkgPT4ge1xuICAgICAgICBuZXh0KCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHRydWUpO1xuXG4gIGhhd3Rpb1BsdWdpbkxvYWRlci5hZGRNb2R1bGUocGx1Z2luTmFtZSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuICBcbiAgZXhwb3J0IHZhciBBcHBzID0gY29udHJvbGxlcihcIkFwcHNcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU2VydmljZXNcIiwgXCJLdWJlcm5ldGVzUmVwbGljYXRpb25Db250cm9sbGVyc1wiLCBcIkt1YmVybmV0ZXNQb2RzXCIsIFwiS3ViZXJuZXRlc1N0YXRlXCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJGxvY2F0aW9uXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiJGh0dHBcIiwgXCIkZGlhbG9nXCIsIFwiJHRpbWVvdXRcIiwgXCJ3b3Jrc3BhY2VcIiwgXCJqb2xva2lhXCIsXG4gICAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6IEt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1NlcnZpY2VzOm5nLnJlc291cmNlLklSZXNvdXJjZUNsYXNzLCBLdWJlcm5ldGVzUmVwbGljYXRpb25Db250cm9sbGVyczpuZy5yZXNvdXJjZS5JUmVzb3VyY2VDbGFzcywgS3ViZXJuZXRlc1BvZHM6bmcucmVzb3VyY2UuSVJlc291cmNlQ2xhc3MsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCxcbiAgICAgICAkdGVtcGxhdGVDYWNoZTpuZy5JVGVtcGxhdGVDYWNoZVNlcnZpY2UsICRsb2NhdGlvbjpuZy5JTG9jYXRpb25TZXJ2aWNlLCAkcm91dGVQYXJhbXMsICRodHRwLCAkZGlhbG9nLCAkdGltZW91dCwgd29ya3NwYWNlLCBqb2xva2lhOkpvbG9raWEuSUpvbG9raWEpID0+IHtcblxuICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcblxuICAgICRzY29wZS5hcHBzID0gW107XG4gICAgJHNjb3BlLmFsbEFwcHMgPSBbXTtcbiAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAkc2NvcGUuZmV0Y2hlZCA9IGZhbHNlO1xuICAgICRzY29wZS5qc29uID0gJyc7XG4gICAgQ29udHJvbGxlckhlbHBlcnMuYmluZE1vZGVsVG9TZWFyY2hQYXJhbSgkc2NvcGUsICRsb2NhdGlvbiwgJ2lkJywgJ19pZCcsIHVuZGVmaW5lZCk7XG4gICAgQ29udHJvbGxlckhlbHBlcnMuYmluZE1vZGVsVG9TZWFyY2hQYXJhbSgkc2NvcGUsICRsb2NhdGlvbiwgJ2FwcFNlbGVjdG9yU2hvdycsICdvcGVuQXBwJywgdW5kZWZpbmVkKTtcbiAgICBDb250cm9sbGVySGVscGVycy5iaW5kTW9kZWxUb1NlYXJjaFBhcmFtKCRzY29wZSwgJGxvY2F0aW9uLCAnbW9kZScsICdtb2RlJywgJ2RldGFpbCcpO1xuXG4gICAgdmFyIGJyYW5jaCA9ICRzY29wZS5icmFuY2ggfHwgXCJtYXN0ZXJcIjtcbiAgICB2YXIgbmFtZXNwYWNlID0gbnVsbDtcblxuICAgIGZ1bmN0aW9uIGFwcE1hdGNoZXMoYXBwKSB7XG4gICAgICB2YXIgZmlsdGVyVGV4dCA9ICRzY29wZS5hcHBTZWxlY3Rvci5maWx0ZXJUZXh0O1xuICAgICAgaWYgKGZpbHRlclRleHQpIHtcbiAgICAgICAgcmV0dXJuIENvcmUubWF0Y2hGaWx0ZXJJZ25vcmVDYXNlKGFwcC5ncm91cElkLCBmaWx0ZXJUZXh0KSB8fFxuICAgICAgICAgIENvcmUubWF0Y2hGaWx0ZXJJZ25vcmVDYXNlKGFwcC5hcnRpZmFjdElkLCBmaWx0ZXJUZXh0KSB8fFxuICAgICAgICAgIENvcmUubWF0Y2hGaWx0ZXJJZ25vcmVDYXNlKGFwcC5uYW1lLCBmaWx0ZXJUZXh0KSB8fFxuICAgICAgICAgIENvcmUubWF0Y2hGaWx0ZXJJZ25vcmVDYXNlKGFwcC5kZXNjcmlwdGlvbiwgZmlsdGVyVGV4dCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBhcHBSdW5uaW5nKGFwcCkge1xuICAgICAgcmV0dXJuICRzY29wZS5tb2RlbC5hcHBzLmFueSgocnVubmluZykgPT4gcnVubmluZy5hcHBQYXRoID09PSBhcHAuYXBwUGF0aCk7XG4gICAgfVxuXG4gICAgJHNjb3BlLnRhYmxlQ29uZmlnID0ge1xuICAgICAgZGF0YTogJ21vZGVsLmFwcHMnLFxuICAgICAgc2hvd1NlbGVjdGlvbkNoZWNrYm94OiB0cnVlLFxuICAgICAgZW5hYmxlUm93Q2xpY2tTZWxlY3Rpb246IGZhbHNlLFxuICAgICAgbXVsdGlTZWxlY3Q6IHRydWUsXG4gICAgICBzZWxlY3RlZEl0ZW1zOiBbXSxcbiAgICAgIGZpbHRlck9wdGlvbnM6IHtcbiAgICAgICAgZmlsdGVyVGV4dDogJGxvY2F0aW9uLnNlYXJjaCgpW1wicVwiXSB8fCAnJ1xuICAgICAgfSxcbiAgICAgIGNvbHVtbkRlZnM6IFtcbiAgICAgICAgeyBmaWVsZDogJyRuYW1lJywgZGlzcGxheU5hbWU6ICdBcHAnLCBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImFwcEljb25UZW1wbGF0ZS5odG1sXCIpIH0sXG4gICAgICAgIHsgZmllbGQ6ICckc2VydmljZXNUZXh0JywgZGlzcGxheU5hbWU6ICdTZXJ2aWNlcycsIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiYXBwU2VydmljZXNUZW1wbGF0ZS5odG1sXCIpIH0sXG4gICAgICAgIHsgZmllbGQ6ICckcmVwbGljYXRpb25Db250cm9sbGVyc1RleHQnLCBkaXNwbGF5TmFtZTogJ0NvbnRyb2xsZXJzJywgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJhcHBSZXBsaWNhdGlvbkNvbnRyb2xsZXJUZW1wbGF0ZS5odG1sXCIpIH0sXG4gICAgICAgIHsgZmllbGQ6ICckcG9kQ291bnQnLCBkaXNwbGF5TmFtZTogJ1BvZHMnLCBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImFwcFBvZENvdW50c0FuZExpbmtUZW1wbGF0ZS5odG1sXCIpIH0sXG4gICAgICAgIHsgZmllbGQ6ICckY3JlYXRpb25EYXRlJywgZGlzcGxheU5hbWU6ICdEZXBsb3llZCcsIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiYXBwRGVwbG95ZWRUZW1wbGF0ZS5odG1sXCIpIH1cbiAgICAgIF1cbiAgICB9O1xuXG4gICAgS3ViZXJuZXRlcy5pbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpO1xuXG5cbiAgICAkc2NvcGUuZXhwYW5kZWRQb2RzID0gW107XG5cbiAgICAkc2NvcGUuJG9uKCdkby1yZXNpemUnLCAoJGV2ZW50LCBjb250cm9sbGVyKSA9PiB7XG4gICAgICAkc2NvcGUucmVzaXplRGlhbG9nLm9wZW4oY29udHJvbGxlcik7XG4gICAgfSk7XG5cbiAgICAgICAgXG4gICAgJHNjb3BlLnBvZEV4cGFuZGVkID0gKHBvZCkgPT4ge1xuICAgICAgdmFyIGlkID0gZ2V0TmFtZShwb2QpXG4gICAgICByZXR1cm4gaWQgJiYgKCRzY29wZS5leHBhbmRlZFBvZHMgfHwgW10pLmluZGV4T2YoaWQpID49IDA7XG4gICAgfTtcblxuICAgICRzY29wZS5leHBhbmRQb2QgPSAocG9kKSA9PiB7XG4gICAgICB2YXIgaWQgPSBnZXROYW1lKHBvZCk7XG4gICAgICBpZiAoaWQpIHtcbiAgICAgICAgJHNjb3BlLmV4cGFuZGVkUG9kcy5wdXNoKGlkKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgJHNjb3BlLmNvbGxhcHNlUG9kID0gKHBvZCkgPT4ge1xuICAgICAgdmFyIGlkID0gZ2V0TmFtZShwb2QpO1xuICAgICAgaWYgKGlkKSB7XG4gICAgICAgICRzY29wZS5leHBhbmRlZFBvZHMgPSAkc2NvcGUuZXhwYW5kZWRQb2RzLnJlbW92ZSgodikgPT4gaWQgPT09IHYpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAkc2NvcGUuJG9uKCckcm91dGVVcGRhdGUnLCAoJGV2ZW50KSA9PiB7XG4gICAgICBLdWJlcm5ldGVzLnNldEpzb24oJHNjb3BlLCAkbG9jYXRpb24uc2VhcmNoKClbJ19pZCddLCAkc2NvcGUubW9kZWwuYXBwcyk7XG4gICAgfSk7XG5cbiAgICBmdW5jdGlvbiBkZWxldGVBcHAoYXBwLCBvbkNvbXBsZXRlRm4pIHtcbiAgICAgIGZ1bmN0aW9uIGRlbGV0ZVNlcnZpY2VzKHNlcnZpY2VzLCBzZXJ2aWNlLCBvbkNvbXBsZXRlZEZuKSB7XG4gICAgICAgIGlmICghc2VydmljZSB8fCAhc2VydmljZXMpIHtcbiAgICAgICAgICByZXR1cm4gb25Db21wbGV0ZWRGbigpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBpZCA9IGdldE5hbWUoc2VydmljZSk7XG4gICAgICAgIGlmICghaWQpIHtcbiAgICAgICAgICBsb2cud2FybihcIk5vIElEIGZvciBzZXJ2aWNlIFwiICsgYW5ndWxhci50b0pzb24oc2VydmljZSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIEt1YmVybmV0ZXNTZXJ2aWNlcy5kZWxldGUoe1xuICAgICAgICAgICAgaWQ6IGlkXG4gICAgICAgICAgfSwgdW5kZWZpbmVkLCAoKSA9PiB7XG4gICAgICAgICAgICBsb2cuZGVidWcoXCJEZWxldGVkIHNlcnZpY2U6IFwiLCBpZCk7XG4gICAgICAgICAgICBkZWxldGVTZXJ2aWNlcyhzZXJ2aWNlcywgc2VydmljZXMuc2hpZnQoKSwgb25Db21wbGV0ZWRGbik7XG4gICAgICAgICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICBsb2cuZGVidWcoXCJFcnJvciBkZWxldGluZyBzZXJ2aWNlOiBcIiwgZXJyb3IpO1xuICAgICAgICAgICAgZGVsZXRlU2VydmljZXMoc2VydmljZXMsIHNlcnZpY2VzLnNoaWZ0KCksIG9uQ29tcGxldGVkRm4pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGRlbGV0ZVJlcGxpY2F0aW9uQ29udHJvbGxlcnMocmVwbGljYXRpb25Db250cm9sbGVycywgcmVwbGljYXRpb25Db250cm9sbGVyLCBvbkNvbXBsZXRlZEZuKSB7XG4gICAgICAgIGlmICghcmVwbGljYXRpb25Db250cm9sbGVyIHx8ICFyZXBsaWNhdGlvbkNvbnRyb2xsZXJzKSB7XG4gICAgICAgICAgcmV0dXJuIG9uQ29tcGxldGVkRm4oKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaWQgPSBnZXROYW1lKHJlcGxpY2F0aW9uQ29udHJvbGxlcik7XG4gICAgICAgIGlmICghaWQpIHtcbiAgICAgICAgICBsb2cud2FybihcIk5vIElEIGZvciByZXBsaWNhdGlvbkNvbnRyb2xsZXIgXCIgKyBhbmd1bGFyLnRvSnNvbihyZXBsaWNhdGlvbkNvbnRyb2xsZXIpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBLdWJlcm5ldGVzUmVwbGljYXRpb25Db250cm9sbGVycy5kZWxldGUoe1xuICAgICAgICAgICAgaWQ6IGlkXG4gICAgICAgICAgfSwgdW5kZWZpbmVkLCAoKSA9PiB7XG4gICAgICAgICAgICBsb2cuZGVidWcoXCJEZWxldGVkIHJlcGxpY2F0aW9uQ29udHJvbGxlcjogXCIsIGlkKTtcbiAgICAgICAgICAgIGRlbGV0ZVJlcGxpY2F0aW9uQ29udHJvbGxlcnMocmVwbGljYXRpb25Db250cm9sbGVycywgcmVwbGljYXRpb25Db250cm9sbGVycy5zaGlmdCgpLCBvbkNvbXBsZXRlZEZuKTtcbiAgICAgICAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGxvZy5kZWJ1ZyhcIkVycm9yIGRlbGV0aW5nIHJlcGxpY2F0aW9uQ29udHJvbGxlcjogXCIsIGVycm9yKTtcbiAgICAgICAgICAgIGRlbGV0ZVJlcGxpY2F0aW9uQ29udHJvbGxlcnMocmVwbGljYXRpb25Db250cm9sbGVycywgcmVwbGljYXRpb25Db250cm9sbGVycy5zaGlmdCgpLCBvbkNvbXBsZXRlZEZuKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBkZWxldGVQb2RzKHBvZHMsIHBvZCwgb25Db21wbGV0ZWRGbikge1xuICAgICAgICBpZiAoIXBvZCB8fCAhcG9kcykge1xuICAgICAgICAgIHJldHVybiBvbkNvbXBsZXRlZEZuKCk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGlkID0gZ2V0TmFtZShwb2QpO1xuICAgICAgICBpZiAoIWlkKSB7XG4gICAgICAgICAgbG9nLndhcm4oXCJObyBJRCBmb3IgcG9kIFwiICsgYW5ndWxhci50b0pzb24ocG9kKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgS3ViZXJuZXRlc1BvZHMuZGVsZXRlKHtcbiAgICAgICAgICAgIGlkOiBpZFxuICAgICAgICAgIH0sIHVuZGVmaW5lZCwgKCkgPT4ge1xuICAgICAgICAgICAgbG9nLmRlYnVnKFwiRGVsZXRlZCBwb2Q6IFwiLCBpZCk7XG4gICAgICAgICAgICBkZWxldGVQb2RzKHBvZHMsIHBvZHMuc2hpZnQoKSwgb25Db21wbGV0ZWRGbik7XG4gICAgICAgICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICBsb2cuZGVidWcoXCJFcnJvciBkZWxldGluZyBwb2Q6IFwiLCBlcnJvcik7XG4gICAgICAgICAgICBkZWxldGVQb2RzKHBvZHMsIHBvZHMuc2hpZnQoKSwgb25Db21wbGV0ZWRGbik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIHNlcnZpY2VzID0gW10uY29uY2F0KGFwcC5zZXJ2aWNlcyk7XG4gICAgICBkZWxldGVTZXJ2aWNlcyhzZXJ2aWNlcywgc2VydmljZXMuc2hpZnQoKSwgKCkgPT4ge1xuXG4gICAgICAgIHZhciByZXBsaWNhdGlvbkNvbnRyb2xsZXJzID0gW10uY29uY2F0KGFwcC5yZXBsaWNhdGlvbkNvbnRyb2xsZXJzKTtcbiAgICAgICAgZGVsZXRlUmVwbGljYXRpb25Db250cm9sbGVycyhyZXBsaWNhdGlvbkNvbnRyb2xsZXJzLCByZXBsaWNhdGlvbkNvbnRyb2xsZXJzLnNoaWZ0KCksICgpID0+IHtcblxuICAgICAgICAgIHZhciBwb2RzID0gW10uY29uY2F0KGFwcC5wb2RzKTtcbiAgICAgICAgICBkZWxldGVQb2RzKHBvZHMsIHBvZHMuc2hpZnQoKSwgb25Db21wbGV0ZUZuKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAkc2NvcGUuZGVsZXRlU2luZ2xlQXBwID0gKGFwcCkgPT4ge1xuICAgICAgJHNjb3BlLmRlbGV0ZVByb21wdChbYXBwXSk7XG4gICAgfVxuXG4gICAgJHNjb3BlLmRlbGV0ZVByb21wdCA9IChzZWxlY3RlZCkgPT4ge1xuICAgICAgaWYgKGFuZ3VsYXIuaXNTdHJpbmcoc2VsZWN0ZWQpKSB7XG4gICAgICAgIHNlbGVjdGVkID0gW3tcbiAgICAgICAgICBpZDogc2VsZWN0ZWRcbiAgICAgICAgfV07XG4gICAgICB9XG4gICAgICBVSS5tdWx0aUl0ZW1Db25maXJtQWN0aW9uRGlhbG9nKDxVSS5NdWx0aUl0ZW1Db25maXJtQWN0aW9uT3B0aW9ucz57XG4gICAgICAgIGNvbGxlY3Rpb246IHNlbGVjdGVkLFxuICAgICAgICBpbmRleDogJyRuYW1lJyxcbiAgICAgICAgb25DbG9zZTogKHJlc3VsdDpib29sZWFuKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgZnVuY3Rpb24gZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIG5leHQpIHtcbiAgICAgICAgICAgICAgaWYgKG5leHQpIHtcbiAgICAgICAgICAgICAgICB2YXIgaWQgPSBuZXh0Lm5hbWU7XG4gICAgICAgICAgICAgICAgbG9nLmRlYnVnKFwiZGVsZXRpbmc6IFwiLCBpZCk7XG4gICAgICAgICAgICAgICAgZGVsZXRlQXBwKG5leHQsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGxvZy5kZWJ1ZyhcImRlbGV0ZWQ6IFwiLCBpZCk7XG4gICAgICAgICAgICAgICAgICBkZWxldGVTZWxlY3RlZChzZWxlY3RlZCwgc2VsZWN0ZWQuc2hpZnQoKSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIHNlbGVjdGVkLnNoaWZ0KCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6ICdEZWxldGUgQXBwcz8nLFxuICAgICAgICBhY3Rpb246ICdUaGUgZm9sbG93aW5nIEFwcHMgd2lsbCBiZSBkZWxldGVkOicsXG4gICAgICAgIG9rVGV4dDogJ0RlbGV0ZScsXG4gICAgICAgIG9rQ2xhc3M6ICdidG4tZGFuZ2VyJyxcbiAgICAgICAgY3VzdG9tOiBcIlRoaXMgb3BlcmF0aW9uIGlzIHBlcm1hbmVudCBvbmNlIGNvbXBsZXRlZCFcIixcbiAgICAgICAgY3VzdG9tQ2xhc3M6IFwiYWxlcnQgYWxlcnQtd2FybmluZ1wiXG4gICAgICB9KS5vcGVuKCk7XG4gICAgfTtcblxuICAgICRzY29wZS5hcHBTZWxlY3RvciA9IHtcbiAgICAgIGZpbHRlclRleHQ6IFwiXCIsXG4gICAgICBmb2xkZXJzOiBbXSxcbiAgICAgIHNlbGVjdGVkQXBwczogW10sXG5cbiAgICAgIGlzT3BlbjogKGZvbGRlcikgPT4ge1xuICAgICAgICBpZiAoJHNjb3BlLmFwcFNlbGVjdG9yLmZpbHRlclRleHQgIT09ICcnIHx8IGZvbGRlci5leHBhbmRlZCkge1xuICAgICAgICAgIHJldHVybiBcIm9wZW5lZFwiO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBcImNsb3NlZFwiO1xuICAgICAgfSxcblxuICAgICAgZ2V0U2VsZWN0ZWRDbGFzczogKGFwcCkgPT4ge1xuICAgICAgICBpZiAoYXBwLmFic3RyYWN0KSB7XG4gICAgICAgICAgcmV0dXJuIFwiYWJzdHJhY3RcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYXBwLnNlbGVjdGVkKSB7XG4gICAgICAgICAgcmV0dXJuIFwic2VsZWN0ZWRcIjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgIH0sXG5cbiAgICAgIHNob3dBcHA6IChhcHApID0+IHtcbiAgICAgICAgcmV0dXJuIGFwcE1hdGNoZXMoYXBwKSAmJiAhYXBwUnVubmluZyhhcHApO1xuICAgICAgfSxcblxuICAgICAgc2hvd0ZvbGRlcjogKGZvbGRlcikgPT4ge1xuICAgICAgICByZXR1cm4gISRzY29wZS5hcHBTZWxlY3Rvci5maWx0ZXJUZXh0IHx8IGZvbGRlci5hcHBzLnNvbWUoKGFwcCkgPT4gYXBwTWF0Y2hlcyhhcHApICYmICFhcHBSdW5uaW5nKGFwcCkpO1xuICAgICAgfSxcblxuICAgICAgY2xlYXJTZWxlY3RlZDogKCkgPT4ge1xuICAgICAgICBhbmd1bGFyLmZvckVhY2goJHNjb3BlLm1vZGVsLmFwcEZvbGRlcnMsIChmb2xkZXIpID0+IHtcbiAgICAgICAgICBhbmd1bGFyLmZvckVhY2goZm9sZGVyLmFwcHMsIChhcHApID0+IHtcbiAgICAgICAgICAgIGFwcC5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgJHNjb3BlLmFwcFNlbGVjdG9yLnNlbGVjdGVkQXBwcyA9IFtdO1xuICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgfSxcblxuICAgICAgdXBkYXRlU2VsZWN0ZWQ6ICgpID0+IHtcbiAgICAgICAgLy8gbGV0cyB1cGRhdGUgdGhlIHNlbGVjdGVkIGFwcHNcbiAgICAgICAgdmFyIHNlbGVjdGVkQXBwcyA9IFtdO1xuICAgICAgICBhbmd1bGFyLmZvckVhY2goJHNjb3BlLm1vZGVsLmFwcEZvbGRlcnMsIChmb2xkZXIpID0+IHtcbiAgICAgICAgICB2YXIgYXBwcyA9IGZvbGRlci5hcHBzLmZpbHRlcigoYXBwKSA9PiBhcHAuc2VsZWN0ZWQpO1xuICAgICAgICAgIGlmIChhcHBzKSB7XG4gICAgICAgICAgICBzZWxlY3RlZEFwcHMgPSBzZWxlY3RlZEFwcHMuY29uY2F0KGFwcHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgICRzY29wZS5hcHBTZWxlY3Rvci5zZWxlY3RlZEFwcHMgPSBzZWxlY3RlZEFwcHMuc29ydEJ5KFwibmFtZVwiKTtcbiAgICAgIH0sXG5cbiAgICAgIHNlbGVjdDogKGFwcCwgZmxhZykgPT4ge1xuICAgICAgICBhcHAuc2VsZWN0ZWQgPSBmbGFnO1xuICAgICAgICAkc2NvcGUuYXBwU2VsZWN0b3IudXBkYXRlU2VsZWN0ZWQoKTtcbiAgICAgIH0sXG5cbiAgICAgIGhhc1NlbGVjdGlvbjogKCkgPT4ge1xuICAgICAgICByZXR1cm4gJHNjb3BlLm1vZGVsLmFwcEZvbGRlcnMuYW55KChmb2xkZXIpID0+IGZvbGRlci5hcHBzLmFueSgoYXBwKSA9PiBhcHAuc2VsZWN0ZWQpKTtcbiAgICAgIH0sXG5cblxuICAgICAgcnVuU2VsZWN0ZWRBcHBzOiAoKSA9PiB7XG4gICAgICAgIC8vIGxldHMgcnVuIGFsbCB0aGUgc2VsZWN0ZWQgYXBwc1xuICAgICAgICBhbmd1bGFyLmZvckVhY2goJHNjb3BlLmFwcFNlbGVjdG9yLnNlbGVjdGVkQXBwcywgKGFwcCkgPT4ge1xuICAgICAgICAgIHZhciBuYW1lID0gYXBwLm5hbWU7XG4gICAgICAgICAgdmFyIG1ldGFkYXRhUGF0aCA9IGFwcC5tZXRhZGF0YVBhdGg7XG4gICAgICAgICAgaWYgKG1ldGFkYXRhUGF0aCkge1xuICAgICAgICAgICAgLy8gbGV0cyBsb2FkIHRoZSBqc29uL3lhbWxcbiAgICAgICAgICAgIC8vdmFyIHVybCA9IGdpdFBhdGhUb1VybChXaWtpLmdpdFJlbGF0aXZlVVJMKGJyYW5jaCwgbWV0YWRhdGFQYXRoKSk7XG4gICAgICAgICAgICB2YXIgdXJsID0gZ2l0UGF0aFRvVXJsKG1ldGFkYXRhUGF0aCwgYnJhbmNoKTtcbiAgICAgICAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgICAgICAgJGh0dHAuZ2V0KHVybCkuXG4gICAgICAgICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGxldHMgY29udmVydCB0aGUganNvbiBvYmplY3Qgc3RydWN0dXJlIGludG8gYSBzdHJpbmdcbiAgICAgICAgICAgICAgICAgICAgdmFyIGpzb24gPSBhbmd1bGFyLnRvSnNvbihkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGZuID0gKCkgPT4ge307XG4gICAgICAgICAgICAgICAgICAgIEt1YmVybmV0ZXMucnVuQXBwKCRsb2NhdGlvbiwgJHNjb3BlLCAkaHR0cCwgS3ViZXJuZXRlc0FwaVVSTCwganNvbiwgbmFtZSwgZm4sIG5hbWVzcGFjZSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSkuXG4gICAgICAgICAgICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgICAkc2NvcGUuc3VtbWFyeUh0bWwgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBsZXRzIGdvIGJhY2sgdG8gdGhlIGFwcHMgdmlld1xuICAgICAgICAkc2NvcGUuYXBwU2VsZWN0b3IuY2xlYXJTZWxlY3RlZCgpO1xuICAgICAgICAkc2NvcGUuYXBwU2VsZWN0b3JTaG93ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfTtcblxuICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgQnVpbGRDb250cm9sbGVyID0gY29udHJvbGxlcihcIkJ1aWxkQ29udHJvbGxlclwiLFxuICAgIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIkt1YmVybmV0ZXNTY2hlbWFcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRsb2NhdGlvblwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsXG4gICAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6S3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNTY2hlbWEsXG4gICAgICAgJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJvdXRlUGFyYW1zLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAgICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICAgICAkc2NvcGUuaWQgPSAkcm91dGVQYXJhbXNbXCJpZFwiXTtcbiAgICAgICAgJHNjb3BlLnNjaGVtYSA9IEt1YmVybmV0ZXNTY2hlbWE7XG4gICAgICAgICRzY29wZS5jb25maWcgPSBLdWJlcm5ldGVzU2NoZW1hLmRlZmluaXRpb25zLm9zX2J1aWxkX0J1aWxkO1xuXG4gICAgICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcbiAgICAgICAgJHNjb3BlLmJyZWFkY3J1bWJDb25maWcgPSBEZXZlbG9wZXIuY3JlYXRlUHJvamVjdEJyZWFkY3J1bWJzKCRzY29wZS5pZCk7XG4gICAgICAgICRzY29wZS5zdWJUYWJDb25maWcgPSBEZXZlbG9wZXIuY3JlYXRlUHJvamVjdFN1Yk5hdkJhcnMoJHNjb3BlLmlkKTtcblxuICAgICAgICAkc2NvcGUuJG9uKCdrdWJlcm5ldGVzTW9kZWxVcGRhdGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgJHNjb3BlLiRvbignJHJvdXRlVXBkYXRlJywgKCRldmVudCkgPT4ge1xuICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdXBkYXRlRGF0YSgpO1xuXG4gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZURhdGEoKSB7XG4gICAgICAgICAgJHNjb3BlLml0ZW0gPSBudWxsO1xuICAgICAgICAgIGlmICgkc2NvcGUuaWQpIHtcbiAgICAgICAgICAgIHZhciB1cmwgPSBidWlsZFJlc3RVcmwoJHNjb3BlLmlkKTtcbiAgICAgICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAkc2NvcGUuZW50aXR5ID0gZW5yaWNoQnVpbGQoZGF0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgICB9KS5cbiAgICAgICAgICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgQnVpbGRDb25maWdDb250cm9sbGVyID0gY29udHJvbGxlcihcIkJ1aWxkQ29uZmlnQ29udHJvbGxlclwiLFxuICAgIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIkt1YmVybmV0ZXNTY2hlbWFcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRsb2NhdGlvblwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsXG4gICAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6S3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNTY2hlbWEsXG4gICAgICAgJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJvdXRlUGFyYW1zLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAgICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICAgICAkc2NvcGUuaWQgPSAkcm91dGVQYXJhbXNbXCJpZFwiXTtcbiAgICAgICAgJHNjb3BlLnNjaGVtYSA9IEt1YmVybmV0ZXNTY2hlbWE7XG4gICAgICAgICRzY29wZS5jb25maWcgPSBLdWJlcm5ldGVzU2NoZW1hLmRlZmluaXRpb25zLm9zX2J1aWxkX0J1aWxkQ29uZmlnO1xuXG4gICAgICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcbiAgICAgICAgJHNjb3BlLmJyZWFkY3J1bWJDb25maWcgPSBEZXZlbG9wZXIuY3JlYXRlUHJvamVjdEJyZWFkY3J1bWJzKCRzY29wZS5pZCk7XG4gICAgICAgICRzY29wZS5zdWJUYWJDb25maWcgPSBEZXZlbG9wZXIuY3JlYXRlUHJvamVjdFN1Yk5hdkJhcnMoJHNjb3BlLmlkKTtcblxuICAgICAgICAkc2NvcGUuJG9uKCdrdWJlcm5ldGVzTW9kZWxVcGRhdGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgJHNjb3BlLiRvbignJHJvdXRlVXBkYXRlJywgKCRldmVudCkgPT4ge1xuICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdXBkYXRlRGF0YSgpO1xuXG4gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZURhdGEoKSB7XG4gICAgICAgICAgJHNjb3BlLml0ZW0gPSBudWxsO1xuICAgICAgICAgIGlmICgkc2NvcGUuaWQpIHtcbiAgICAgICAgICAgIHZhciB1cmwgPSBidWlsZENvbmZpZ1Jlc3RVcmwoJHNjb3BlLmlkKTtcbiAgICAgICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAkc2NvcGUuZW50aXR5ID0gZGF0YTtcbiAgICAgICAgICAgICAgICAgIHZhciBzb3J0ZWRCdWlsZHMgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgZW5yaWNoQnVpbGRDb25maWcoZGF0YSwgc29ydGVkQnVpbGRzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgICAgIH0pLlxuICAgICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBsb2FkIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBCdWlsZENvbmZpZ0VkaXRDb250cm9sbGVyID0gY29udHJvbGxlcihcIkJ1aWxkQ29uZmlnRWRpdENvbnRyb2xsZXJcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCJLdWJlcm5ldGVzU2NoZW1hXCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzU2NoZW1hLFxuICAgICAgICR0ZW1wbGF0ZUNhY2hlOm5nLklUZW1wbGF0ZUNhY2hlU2VydmljZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsICRyb3V0ZVBhcmFtcywgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAgICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAgICAgJHNjb3BlLmlkID0gJHJvdXRlUGFyYW1zW1wiaWRcIl07XG4gICAgICAgICRzY29wZS5zY2hlbWEgPSBLdWJlcm5ldGVzU2NoZW1hO1xuICAgICAgICAkc2NvcGUuY29uZmlnID0gS3ViZXJuZXRlc1NjaGVtYS5kZWZpbml0aW9ucy5vc19idWlsZF9CdWlsZENvbmZpZztcblxuICAgICAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG5cbiAgICAgICAgJHNjb3BlLiRvbigna3ViZXJuZXRlc01vZGVsVXBkYXRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICRzY29wZS4kb24oJyRyb3V0ZVVwZGF0ZScsICgkZXZlbnQpID0+IHtcbiAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHVwZGF0ZURhdGEoKTtcblxuICAgICAgICBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuICAgICAgICAgICRzY29wZS5pdGVtID0gbnVsbDtcbiAgICAgICAgICBpZiAoJHNjb3BlLmlkKSB7XG4gICAgICAgICAgICB2YXIgdXJsID0gYnVpbGRDb25maWdSZXN0VXJsO1xuICAgICAgICAgICAgJGh0dHAuZ2V0KHVybCkuXG4gICAgICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICRzY29wZS5lbnRpdHkgPSBkYXRhO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAkc2NvcGUuZmV0Y2hlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICAgICAgfSkuXG4gICAgICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGxvYWQgXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAkc2NvcGUuZmV0Y2hlZCA9IHRydWU7XG5cbiAgICAgICAgICAgIC8vIFRPRE8gZGVmYXVsdCB0byB0aGUgcmlnaHQgcmVnaXN0cnkgVVJMLi4uXG4gICAgICAgICAgICB2YXIgZGVmYXVsdFJlZ2lzdHJ5ID0gXCIxNzIuMzAuMTcuMTg5OjUwMDBcIjtcblxuICAgICAgICAgICAgJHNjb3BlLmVudGl0eSA9IHtcbiAgICAgICAgICAgICAgXCJhcGlWZXJzaW9uXCI6IFwidjFcIixcbiAgICAgICAgICAgICAgXCJraW5kXCI6IFwiQnVpbGRDb25maWdcIixcbiAgICAgICAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgICAgICAgXCJuYW1lXCI6IFwiXCIsXG4gICAgICAgICAgICAgICAgXCJsYWJlbHNcIjoge1xuICAgICAgICAgICAgICAgICAgXCJuYW1lXCI6IFwiXCJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFwicGFyYW1ldGVyc1wiOiB7XG4gICAgICAgICAgICAgICAgXCJvdXRwdXRcIjoge1xuICAgICAgICAgICAgICAgICAgXCJpbWFnZVRhZ1wiOiBcIlwiLFxuICAgICAgICAgICAgICAgICAgXCJyZWdpc3RyeVwiOiBkZWZhdWx0UmVnaXN0cnlcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwic291cmNlXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiZ2l0XCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJ1cmlcIjogXCJcIlxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcIkdpdFwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcInN0cmF0ZWd5XCI6IHtcbiAgICAgICAgICAgICAgICAgIFwic3RpU3RyYXRlZ3lcIjoge1xuICAgICAgICAgICAgICAgICAgICBcImJ1aWxkZXJJbWFnZVwiOiBcImZhYnJpYzgvYmFzZS1zdGlcIlxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcIlNUSVwiXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBcInRyaWdnZXJzXCI6IFtdXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBCdWlsZENvbmZpZ3NDb250cm9sbGVyID0gY29udHJvbGxlcihcIkJ1aWxkQ29uZmlnc0NvbnRyb2xsZXJcIiwgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiS3ViZXJuZXRlc0J1aWxkc1wiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIiRkaWFsb2dcIiwgXCIkd2luZG93XCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkbG9jYXRpb25cIiwgXCJsb2NhbFN0b3JhZ2VcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDpLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UsIEt1YmVybmV0ZXNCdWlsZHMsIEt1YmVybmV0ZXNTdGF0ZSwgJGRpYWxvZywgJHdpbmRvdywgJHRlbXBsYXRlQ2FjaGUsICRyb3V0ZVBhcmFtcywgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsIGxvY2FsU3RvcmFnZSwgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuICAgICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICAgJHNjb3BlLkt1YmVybmV0ZXNCdWlsZHMgPSBLdWJlcm5ldGVzQnVpbGRzO1xuXG4gICAgICAkc2NvcGUudGFibGVDb25maWcgPSB7XG4gICAgICAgIGRhdGE6ICdtb2RlbC5idWlsZGNvbmZpZ3MnLFxuICAgICAgICBzaG93U2VsZWN0aW9uQ2hlY2tib3g6IHRydWUsXG4gICAgICAgIGVuYWJsZVJvd0NsaWNrU2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgICAgbXVsdGlTZWxlY3Q6IHRydWUsXG4gICAgICAgIHNlbGVjdGVkSXRlbXM6IFtdLFxuICAgICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgICAgZmlsdGVyVGV4dDogJGxvY2F0aW9uLnNlYXJjaCgpW1wicVwiXSB8fCAnJ1xuICAgICAgICB9LFxuICAgICAgICBjb2x1bW5EZWZzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdtZXRhZGF0YS5uYW1lJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnTmFtZScsXG4gICAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImJ1aWxkQ29uZmlnTGlua1RlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9LFxuLypcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJ3NwZWMuc291cmNlLnR5cGUnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdTb3VyY2UnXG4gICAgICAgICAgfSxcbiovXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdzcGVjLnNvdXJjZS5naXQudXJpJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnUmVwb3NpdG9yeSdcbiAgICAgICAgICB9LFxuLypcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJ3NwZWMuc3RyYXRlZ3kudHlwZScsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ1N0cmF0ZWd5J1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdzcGVjLnN0cmF0ZWd5LnN0aVN0cmF0ZWd5LmltYWdlJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnU291cmNlIEltYWdlJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdzcGVjLm91dHB1dC5pbWFnZVRhZycsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ091dHB1dCBJbWFnZSdcbiAgICAgICAgICB9LFxuKi9cbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJyRmYWJyaWM4Q29kZVZpZXdzJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnQ29kZScsXG4gICAgICAgICAgICB3aWR0aDogXCIqKipcIixcbiAgICAgICAgICAgIG1pbldpZHRoOiA1MDAsXG4gICAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImJ1aWxkQ29uZmlnQ29kZVZpZXdzVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICckZmFicmljOEJ1aWxkVmlld3MnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdCdWlsZHMnLFxuICAgICAgICAgICAgd2lkdGg6IFwiKioqXCIsXG4gICAgICAgICAgICBtaW5XaWR0aDogNTAwLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJidWlsZENvbmZpZ0J1aWxkVmlld3NUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJyRmYWJyaWM4RW52aXJvbm1lbnRWaWV3cycsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ0Vudmlyb25tZW50cycsXG4gICAgICAgICAgICB3aWR0aDogXCIqKipcIixcbiAgICAgICAgICAgIG1pbldpZHRoOiA1MDAsXG4gICAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImJ1aWxkQ29uZmlnRW52aXJvbm1lbnRWaWV3c1RlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnJGZhYnJpYzhUZWFtVmlld3MnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdQZW9wbGUnLFxuICAgICAgICAgICAgd2lkdGg6IFwiKioqXCIsXG4gICAgICAgICAgICBtaW5XaWR0aDogNTAwLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJidWlsZENvbmZpZ1RlYW1WaWV3c1RlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH07XG5cbiAgICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcblxuICAgICAgJHNjb3BlLmlzTG9nZ2VkSW50b0dvZ3MgPSBGb3JnZS5pc0xvZ2dlZEludG9Hb2dzO1xuXG4gICAgICAkc2NvcGUuZGVsZXRlUHJvbXB0ID0gKHNlbGVjdGVkKSA9PiB7XG4gICAgICAgIFVJLm11bHRpSXRlbUNvbmZpcm1BY3Rpb25EaWFsb2coPFVJLk11bHRpSXRlbUNvbmZpcm1BY3Rpb25PcHRpb25zPntcbiAgICAgICAgICBjb2xsZWN0aW9uOiBzZWxlY3RlZCxcbiAgICAgICAgICBpbmRleDogJyRuYW1lJyxcbiAgICAgICAgICBvbkNsb3NlOiAocmVzdWx0OmJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgZnVuY3Rpb24gZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIG5leHQpIHtcbiAgICAgICAgICAgICAgICBpZiAobmV4dCkge1xuICAgICAgICAgICAgICAgICAgZGVsZXRlRW50aXR5KG5leHQsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIHNlbGVjdGVkLnNoaWZ0KCkpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBkZWxldGVTZWxlY3RlZChzZWxlY3RlZCwgc2VsZWN0ZWQuc2hpZnQoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aXRsZTogJ0RlbGV0ZSBCdWlsZCBDb25maWdzPycsXG4gICAgICAgICAgYWN0aW9uOiAnVGhlIGZvbGxvd2luZyBCdWlsZCBDb25maWdzIHdpbGwgYmUgZGVsZXRlZDonLFxuICAgICAgICAgIG9rVGV4dDogJ0RlbGV0ZScsXG4gICAgICAgICAgb2tDbGFzczogJ2J0bi1kYW5nZXInLFxuICAgICAgICAgIGN1c3RvbTogXCJUaGlzIG9wZXJhdGlvbiBpcyBwZXJtYW5lbnQgb25jZSBjb21wbGV0ZWQhXCIsXG4gICAgICAgICAgY3VzdG9tQ2xhc3M6IFwiYWxlcnQgYWxlcnQtd2FybmluZ1wiXG4gICAgICAgIH0pLm9wZW4oKTtcbiAgICAgIH07XG5cbiAgICAgIGZ1bmN0aW9uIGRlbGV0ZUVudGl0eShzZWxlY3Rpb24sIG5leHRDYWxsYmFjaykge1xuICAgICAgICB2YXIgbmFtZSA9IChzZWxlY3Rpb24gfHwge30pLiRuYW1lO1xuICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwiQWJvdXQgdG8gZGVsZXRlIGJ1aWxkIGNvbmZpZzogXCIgKyBuYW1lKTtcbiAgICAgICAgICB2YXIgdXJsID0gYnVpbGRDb25maWdSZXN0VXJsKG5hbWUpO1xuICAgICAgICAgICRodHRwLmRlbGV0ZSh1cmwpLlxuICAgICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgbmV4dENhbGxiYWNrKCk7XG4gICAgICAgICAgICB9KS5cbiAgICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBkZWxldGUgYnVpbGQgY29uZmlnIG9uIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJ3YXJuaW5nOiBubyBuYW1lIGZvciBzZWxlY3Rpb246IFwiICsgYW5ndWxhci50b0pzb24oc2VsZWN0aW9uKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gdXBkYXRlRGF0YSgpIHtcbi8qXG4gICAgICAgIHZhciB1cmwgPSBidWlsZENvbmZpZ3NSZXN0VVJMKCk7XG4gICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKFwiZ290IGRhdGEgXCIgKyBhbmd1bGFyLnRvSnNvbihkYXRhLCB0cnVlKSk7XG4gICAgICAgICAgICAgIHZhciBzb3J0ZWRCdWlsZHMgPSBudWxsO1xuICAgICAgICAgICAgICAkc2NvcGUuYnVpbGRDb25maWdzID0gZW5yaWNoQnVpbGRDb25maWdzKGRhdGEuaXRlbXMsIHNvcnRlZEJ1aWxkcyk7XG4gICAgICAgICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KS5cbiAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGxvYWQgXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICAgICAgfSk7XG4qL1xuICAgICAgfVxuXG4gICAgICB1cGRhdGVEYXRhKCk7XG4gICAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNIZWxwZXJzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIEJ1aWxkTG9nc0NvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiQnVpbGRMb2dzQ29udHJvbGxlclwiLFxuICAgIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIkt1YmVybmV0ZXNTY2hlbWFcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRsb2NhdGlvblwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsXG4gICAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6S3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNTY2hlbWEsXG4gICAgICAgJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJvdXRlUGFyYW1zLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAgICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICAgICAkc2NvcGUuaWQgPSAkcm91dGVQYXJhbXNbXCJpZFwiXTtcbiAgICAgICAgJHNjb3BlLnNjaGVtYSA9IEt1YmVybmV0ZXNTY2hlbWE7XG4gICAgICAgICRzY29wZS5jb25maWcgPSBLdWJlcm5ldGVzU2NoZW1hLmRlZmluaXRpb25zLm9zX2J1aWxkX0J1aWxkO1xuXG4gICAgICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcblxuICAgICAgICAkc2NvcGUuJG9uKCdrdWJlcm5ldGVzTW9kZWxVcGRhdGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgJHNjb3BlLiRvbignJHJvdXRlVXBkYXRlJywgKCRldmVudCkgPT4ge1xuICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgJHNjb3BlLmxvZ3NUZXh0ID0gXCJMb2FkaW5nIGxvZ3MuLi5cIjtcblxuICAgICAgICB1cGRhdGVEYXRhKCk7XG5cbiAgICAgICAgZnVuY3Rpb24gdXBkYXRlRGF0YSgpIHtcbiAgICAgICAgICAkc2NvcGUuaXRlbSA9IG51bGw7XG4gICAgICAgICAgaWYgKCRzY29wZS5pZCkge1xuICAgICAgICAgICAgdmFyIHVybCA9IGJ1aWxkUmVzdFVybCgkc2NvcGUuaWQpO1xuICAgICAgICAgICAgJGh0dHAuZ2V0KHVybCkuXG4gICAgICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICRzY29wZS5lbnRpdHkgPSBlbnJpY2hCdWlsZChkYXRhKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgICAgIH0pLlxuICAgICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBsb2FkIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdXJsID0gYnVpbGRMb2dzUmVzdFVybCgkc2NvcGUuaWQpO1xuICAgICAgICAgICAgJGh0dHAuZ2V0KHVybCkuXG4gICAgICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cykge1xuICAgICAgICAgICAgICAgICRzY29wZS5sb2dzVGV4dCA9IGRhdGE7XG4gICAgICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICAgICAgfSkuXG4gICAgICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMpIHtcbiAgICAgICAgICAgICAgICAkc2NvcGUubG9nc1RleHQgPSBcIkZhaWxlZCB0byBsb2FkIGxvZ3MgZnJvbTogXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBzdGF0dXM6IFwiICsgc3RhdHVzO1xuICAgICAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgICAgIH0pLlxuICAgICAgICAgICAgICBjYXRjaChmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAkc2NvcGUubG9nc1RleHQgPSBcIkZhaWxlZCB0byBsb2FkIGxvZ3M6IFwiICsgYW5ndWxhci50b0pzb24oZXJyb3IsIHRydWUpO1xuICAgICAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAkc2NvcGUuZmV0Y2hlZCA9IHRydWU7XG4gICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIEJ1aWxkc0NvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiQnVpbGRzQ29udHJvbGxlclwiLCBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzQnVpbGRzXCIsIFwiS3ViZXJuZXRlc1N0YXRlXCIsIFwiJGRpYWxvZ1wiLCBcIiR3aW5kb3dcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcIiRsb2NhdGlvblwiLCBcImxvY2FsU3RvcmFnZVwiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsXG4gICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOkt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc0J1aWxkcywgS3ViZXJuZXRlc1N0YXRlLCAkZGlhbG9nLCAkd2luZG93LCAkdGVtcGxhdGVDYWNoZSwgJHJvdXRlUGFyYW1zLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgbG9jYWxTdG9yYWdlLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG4gICAgICAkc2NvcGUuS3ViZXJuZXRlc0J1aWxkcyA9IEt1YmVybmV0ZXNCdWlsZHM7XG4gICAgICAkc2NvcGUuYnVpbGRDb25maWdJZCA9ICRyb3V0ZVBhcmFtc1tcImlkXCJdO1xuXG4gICAgICAkc2NvcGUuJG9uKCdrdWJlcm5ldGVzTW9kZWxVcGRhdGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgfSk7XG5cbiAgICAgICRzY29wZS50YWJsZUNvbmZpZyA9IHtcbiAgICAgICAgZGF0YTogJ2J1aWxkcycsXG4gICAgICAgIHNob3dTZWxlY3Rpb25DaGVja2JveDogdHJ1ZSxcbiAgICAgICAgZW5hYmxlUm93Q2xpY2tTZWxlY3Rpb246IGZhbHNlLFxuICAgICAgICBtdWx0aVNlbGVjdDogdHJ1ZSxcbiAgICAgICAgc2VsZWN0ZWRJdGVtczogW10sXG4gICAgICAgIGZpbHRlck9wdGlvbnM6IHtcbiAgICAgICAgICBmaWx0ZXJUZXh0OiAkbG9jYXRpb24uc2VhcmNoKClbXCJxXCJdIHx8ICcnXG4gICAgICAgIH0sXG4gICAgICAgIGNvbHVtbkRlZnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJ21ldGFkYXRhLm5hbWUnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdOYW1lJyxcbiAgICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiYnVpbGRMaW5rVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICckY3JlYXRpb25EYXRlJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnVGltZScsXG4gICAgICAgICAgICBkZWZhdWx0U29ydDogdHJ1ZSxcbiAgICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiYnVpbGRUaW1lVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdzdGF0dXMnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdTdGF0dXMnLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJidWlsZFN0YXR1c1RlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnJGxvZ3NMaW5rJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnTG9ncycsXG4gICAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImJ1aWxkTG9nc1RlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnJHBvZExpbmsnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdCdWlsZCBQb2QnLFxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJidWlsZFBvZFRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9LFxuLypcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJ3BhcmFtZXRlcnMuc291cmNlLnR5cGUnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdTb3VyY2UnXG4gICAgICAgICAgfSxcbiovXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdwYXJhbWV0ZXJzLnNvdXJjZS5naXQudXJpJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnUmVwb3NpdG9yeScsXG4gICAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImJ1aWxkUmVwb3NpdG9yeVRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAncGFyYW1ldGVycy5zdHJhdGVneS50eXBlJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnU3RyYXRlZ3knXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJ3BhcmFtZXRlcnMuc3RyYXRlZ3kuc3RpU3RyYXRlZ3kuaW1hZ2UnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdTb3VyY2UgSW1hZ2UnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJ3BhcmFtZXRlcnMub3V0cHV0LmltYWdlVGFnJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnT3V0cHV0IEltYWdlJ1xuICAgICAgICAgIH1dXG4gICAgICB9O1xuXG4gICAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG4gICAgICAkc2NvcGUuYnJlYWRjcnVtYkNvbmZpZyA9IERldmVsb3Blci5jcmVhdGVQcm9qZWN0QnJlYWRjcnVtYnMoJHNjb3BlLmJ1aWxkQ29uZmlnSWQpO1xuICAgICAgJHNjb3BlLnN1YlRhYkNvbmZpZyA9IERldmVsb3Blci5jcmVhdGVQcm9qZWN0U3ViTmF2QmFycygkc2NvcGUuYnVpbGRDb25maWdJZCk7XG5cbiAgICAgICRzY29wZS4ka2VlcFBvbGxpbmcgPSAoKSA9PiBrZWVwUG9sbGluZ01vZGVsO1xuICAgICAgJHNjb3BlLmZldGNoID0gUG9sbEhlbHBlcnMuc2V0dXBQb2xsaW5nKCRzY29wZSwgKG5leHQ6KCkgPT4gdm9pZCkgPT4ge1xuICAgICAgICB2YXIgdXJsID0gYnVpbGRzUmVzdFVSTCgpO1xuICAgICAgICAkaHR0cC5nZXQodXJsKS5cbiAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhcImdvdCBkYXRhIFwiICsgYW5ndWxhci50b0pzb24oZGF0YSwgdHJ1ZSkpO1xuICAgICAgICAgICAgICAkc2NvcGUuYnVpbGRzID0gZW5yaWNoQnVpbGRzKGRhdGEuaXRlbXMpO1xuICAgICAgICAgICAgICAkc2NvcGUuZmV0Y2hlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgIH0pLlxuICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgICBuZXh0KCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgJHNjb3BlLmZldGNoKCk7XG4gICAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNIZWxwZXJzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICAvLyBjb250cm9sbGVyIGZvciBjb25uZWN0aW5nIHRvIGEgcmVtb3RlIGNvbnRhaW5lciB2aWEgam9sb2tpYVxuICBleHBvcnQgdmFyIENvbm5lY3RDb250cm9sbGVyID0gY29udHJvbGxlcihcIkNvbm5lY3RDb250cm9sbGVyXCIsIFtcbiAgICBcIiRzY29wZVwiLCBcImxvY2FsU3RvcmFnZVwiLCBcInVzZXJEZXRhaWxzXCIsIFwiQ29ubmVjdERpYWxvZ1NlcnZpY2VcIiwgXCIkYnJvd3NlclwiLFxuICAgICgkc2NvcGUsIGxvY2FsU3RvcmFnZSwgdXNlckRldGFpbHMsIENvbm5lY3REaWFsb2dTZXJ2aWNlLCAkYnJvd3NlcjpuZy5JQnJvd3NlclNlcnZpY2UpID0+IHtcblxuICAgICAgdmFyIGJhc2U6YW55ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYmFzZScpO1xuICAgICAgdmFyIGJhc2VIcmVmID0gYmFzZSAmJiBiYXNlLmhyZWYgfHwgJyc7XG5cbiAgICAgICRzY29wZS5kb0Nvbm5lY3QgPSAoZW50aXR5KSA9PiB7XG4gICAgICAgIHZhciBjb25uZWN0VXJsOmFueSA9IG5ldyBVUkkoYmFzZUhyZWYpO1xuICAgICAgICB2YXIgcmV0dXJuVG8gPSBuZXcgVVJJKCkudG9TdHJpbmcoKTtcbiAgICAgICAgdmFyIHRpdGxlID0gZW50aXR5Lm1ldGFkYXRhLm5hbWUgfHwgJ1VudGl0bGVkIENvbnRhaW5lcic7XG4gICAgICAgIHZhciB0b2tlbiA9IHVzZXJEZXRhaWxzLnRva2VuIHx8ICcnO1xuICAgICAgICBjb25uZWN0VXJsLmhhc2godG9rZW4pLnF1ZXJ5KHtcbiAgICAgICAgICBqb2xva2lhVXJsOiBlbnRpdHkuJGpvbG9raWFVcmwsXG4gICAgICAgICAgdGl0bGU6IHRpdGxlLFxuICAgICAgICAgIHJldHVyblRvOiByZXR1cm5Ub1xuICAgICAgICB9KTtcbiAgICAgICAgbG9nLmRlYnVnKFwiQ29ubmVjdCBVUkk6IFwiLCBjb25uZWN0VXJsLnRvU3RyaW5nKCkpO1xuICAgICAgICB3aW5kb3cub3Blbihjb25uZWN0VXJsLnRvU3RyaW5nKCkpO1xuICAgICAgfTtcblxuICAgIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBEZXBsb3ltZW50Q29uZmlnQ29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJEZXBsb3ltZW50Q29uZmlnQ29udHJvbGxlclwiLFxuICAgIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIkt1YmVybmV0ZXNTY2hlbWFcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRsb2NhdGlvblwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsXG4gICAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6S3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNTY2hlbWEsXG4gICAgICAgJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJvdXRlUGFyYW1zLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAgICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICAgICAkc2NvcGUuaWQgPSAkcm91dGVQYXJhbXNbXCJpZFwiXTtcbiAgICAgICAgJHNjb3BlLnNjaGVtYSA9IEt1YmVybmV0ZXNTY2hlbWE7XG4gICAgICAgICRzY29wZS5jb25maWcgPSBLdWJlcm5ldGVzU2NoZW1hLmRlZmluaXRpb25zLm9zX2RlcGxveV9EZXBsb3ltZW50Q29uZmlnO1xuXG4gICAgICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcblxuICAgICAgICAkc2NvcGUuJG9uKCdrdWJlcm5ldGVzTW9kZWxVcGRhdGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgJHNjb3BlLiRvbignJHJvdXRlVXBkYXRlJywgKCRldmVudCkgPT4ge1xuICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdXBkYXRlRGF0YSgpO1xuXG4gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZURhdGEoKSB7XG4gICAgICAgICAgJHNjb3BlLml0ZW0gPSBudWxsO1xuICAgICAgICAgIGlmICgkc2NvcGUuaWQpIHtcbiAgICAgICAgICAgIHZhciB1cmwgPSBkZXBsb3ltZW50Q29uZmlnUmVzdFVybCgkc2NvcGUuaWQpO1xuICAgICAgICAgICAgJGh0dHAuZ2V0KHVybCkuXG4gICAgICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICRzY29wZS5lbnRpdHkgPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgZW5yaWNoRGVwbG95bWVudENvbmZpZyhkYXRhKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgICAgIH0pLlxuICAgICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBsb2FkIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBEZXBsb3ltZW50Q29uZmlnc0NvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiRGVwbG95bWVudENvbmZpZ3NDb250cm9sbGVyXCIsIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIkt1YmVybmV0ZXNCdWlsZHNcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCIkZGlhbG9nXCIsIFwiJHdpbmRvd1wiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiJGxvY2F0aW9uXCIsIFwibG9jYWxTdG9yYWdlXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIixcbiAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6S3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzQnVpbGRzLCBLdWJlcm5ldGVzU3RhdGUsICRkaWFsb2csICR3aW5kb3csICR0ZW1wbGF0ZUNhY2hlLCAkcm91dGVQYXJhbXMsICRsb2NhdGlvbjpuZy5JTG9jYXRpb25TZXJ2aWNlLCBsb2NhbFN0b3JhZ2UsICRodHRwLCAkdGltZW91dCwgS3ViZXJuZXRlc0FwaVVSTCkgPT4ge1xuXG4gICAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAgICRzY29wZS5LdWJlcm5ldGVzQnVpbGRzID0gS3ViZXJuZXRlc0J1aWxkcztcbiAgICAgICRzY29wZS4kb24oJ2t1YmVybmV0ZXNNb2RlbFVwZGF0ZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICB9KTtcbiAgICAgICRzY29wZS5sYWJlbENsYXNzID0gY29udGFpbmVyTGFiZWxDbGFzcztcblxuICAgICAgJHNjb3BlLnRhYmxlQ29uZmlnID0ge1xuICAgICAgICBkYXRhOiAnZGVwbG95bWVudENvbmZpZ3MnLFxuICAgICAgICBzaG93U2VsZWN0aW9uQ2hlY2tib3g6IHRydWUsXG4gICAgICAgIGVuYWJsZVJvd0NsaWNrU2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgICAgbXVsdGlTZWxlY3Q6IHRydWUsXG4gICAgICAgIHNlbGVjdGVkSXRlbXM6IFtdLFxuICAgICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgICAgZmlsdGVyVGV4dDogJGxvY2F0aW9uLnNlYXJjaCgpW1wicVwiXSB8fCAnJ1xuICAgICAgICB9LFxuICAgICAgICBjb2x1bW5EZWZzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdtZXRhZGF0YS5uYW1lJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnTmFtZScsXG4gICAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImRlcGxveW1lbnRDb25maWdMaW5rVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdtZXRhZGF0YS5uYW1lc3BhY2UnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdOYW1lc3BhY2UnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJyRpbWFnZUNoYW5nZVBhcmFtcy5hdXRvbWF0aWMnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdBdXRvbWF0aWMnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJyRpbWFnZUNoYW5nZVBhcmFtcy4kY29udGFpbmVyTmFtZXMnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdDb250YWluZXIgTmFtZXMnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJyRpbWFnZUNoYW5nZVBhcmFtcy5mcm9tLm5hbWUnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdGcm9tIGltYWdlJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICckaW1hZ2VDaGFuZ2VQYXJhbXMudGFnJyxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAnVGFnJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICd0ZW1wbGF0ZS5jb250cm9sbGVyVGVtcGxhdGUucG9kVGVtcGxhdGUudGFncycsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJ0xhYmVscycsXG4gICAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImRlcGxveW1lbnRDb25maWdMYWJlbFRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH07XG5cbiAgICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcblxuICAgICAgJHNjb3BlLmRlbGV0ZVByb21wdCA9IChzZWxlY3RlZCkgPT4ge1xuICAgICAgICBVSS5tdWx0aUl0ZW1Db25maXJtQWN0aW9uRGlhbG9nKDxVSS5NdWx0aUl0ZW1Db25maXJtQWN0aW9uT3B0aW9ucz57XG4gICAgICAgICAgY29sbGVjdGlvbjogc2VsZWN0ZWQsXG4gICAgICAgICAgaW5kZXg6ICckbmFtZScsXG4gICAgICAgICAgb25DbG9zZTogKHJlc3VsdDpib29sZWFuKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgIGZ1bmN0aW9uIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBuZXh0KSB7XG4gICAgICAgICAgICAgICAgaWYgKG5leHQpIHtcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZUVudGl0eShuZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBzZWxlY3RlZC5zaGlmdCgpKTtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIHNlbGVjdGVkLnNoaWZ0KCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGl0bGU6ICdEZWxldGUgRGVwbG95bWVudD8nLFxuICAgICAgICAgIGFjdGlvbjogJ1RoZSBmb2xsb3dpbmcgRGVwbG95bWVudHMgd2lsbCBiZSBkZWxldGVkOicsXG4gICAgICAgICAgb2tUZXh0OiAnRGVsZXRlJyxcbiAgICAgICAgICBva0NsYXNzOiAnYnRuLWRhbmdlcicsXG4gICAgICAgICAgY3VzdG9tOiBcIlRoaXMgb3BlcmF0aW9uIGlzIHBlcm1hbmVudCBvbmNlIGNvbXBsZXRlZCFcIixcbiAgICAgICAgICBjdXN0b21DbGFzczogXCJhbGVydCBhbGVydC13YXJuaW5nXCJcbiAgICAgICAgfSkub3BlbigpO1xuICAgICAgfTtcblxuICAgICAgZnVuY3Rpb24gZGVsZXRlRW50aXR5KHNlbGVjdGlvbiwgbmV4dENhbGxiYWNrKSB7XG4gICAgICAgIHZhciBuYW1lID0gKHNlbGVjdGlvbiB8fCB7fSkuJG5hbWU7XG4gICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJBYm91dCB0byBkZWxldGUgZGVwbG95bWVudCBjb25maWc6IFwiICsgbmFtZSk7XG4gICAgICAgICAgdmFyIHVybCA9IGRlcGxveW1lbnRDb25maWdSZXN0VXJsKG5hbWUpO1xuICAgICAgICAgICRodHRwLmRlbGV0ZSh1cmwpLlxuICAgICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgbmV4dENhbGxiYWNrKCk7XG4gICAgICAgICAgICB9KS5cbiAgICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBkZWxldGUgZGVwbG95bWVudCBjb25maWcgb24gXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIndhcm5pbmc6IG5vIG5hbWUgZm9yIHNlbGVjdGlvbjogXCIgKyBhbmd1bGFyLnRvSnNvbihzZWxlY3Rpb24pKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuICAgICAgICB2YXIgdXJsID0gZGVwbG95bWVudENvbmZpZ3NSZXN0VVJMKCk7XG4gICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKFwiZ290IGRhdGEgXCIgKyBhbmd1bGFyLnRvSnNvbihkYXRhLCB0cnVlKSk7XG4gICAgICAgICAgICAgICRzY29wZS5kZXBsb3ltZW50Q29uZmlncyA9IGVucmljaERlcGxveW1lbnRDb25maWdzKGRhdGEuaXRlbXMpO1xuICAgICAgICAgICAgICAkc2NvcGUuZmV0Y2hlZCA9IHRydWU7XG4gICAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkuXG4gICAgICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBsb2FkIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGVEYXRhKCk7XG4gICAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNIZWxwZXJzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIEV2ZW50c0NvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiRXZlbnRzQ29udHJvbGxlclwiLFxuICAgIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIkt1YmVybmV0ZXNTZXJ2aWNlc1wiLCBcIkt1YmVybmV0ZXNQb2RzXCIsIFwiS3ViZXJuZXRlc1N0YXRlXCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCJqb2xva2lhXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIixcbiAgICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDogS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzU2VydmljZXM6bmcucmVzb3VyY2UuSVJlc291cmNlQ2xhc3MsIEt1YmVybmV0ZXNQb2RzOm5nLnJlc291cmNlLklSZXNvdXJjZUNsYXNzLCBLdWJlcm5ldGVzU3RhdGUsXG4gICAgICAgJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJvdXRlUGFyYW1zLCBqb2xva2lhOkpvbG9raWEuSUpvbG9raWEsICRodHRwLCAkdGltZW91dCwgS3ViZXJuZXRlc0FwaVVSTCkgPT4ge1xuXG4gICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuXG4gICAgQ29udHJvbGxlckhlbHBlcnMuYmluZE1vZGVsVG9TZWFyY2hQYXJhbSgkc2NvcGUsICRsb2NhdGlvbiwgJ21vZGUnLCAnbW9kZScsICdsaXN0Jyk7XG5cbiAgICAkc2NvcGUudGFibGVDb25maWcgPSB7XG4gICAgICBkYXRhOiAnbW9kZWwuZXZlbnRzJyxcbiAgICAgIHNob3dTZWxlY3Rpb25DaGVja2JveDogdHJ1ZSxcbiAgICAgIGVuYWJsZVJvd0NsaWNrU2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgIG11bHRpU2VsZWN0OiB0cnVlLFxuICAgICAgc2VsZWN0ZWRJdGVtczogW10sXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIGZpbHRlclRleHQ6ICRsb2NhdGlvbi5zZWFyY2goKVtcInFcIl0gfHwgJydcbiAgICAgIH0sXG4gICAgICBjb2x1bW5EZWZzOiBbXG4gICAgICAgIHsgZmllbGQ6ICckZmlyc3RUaW1lc3RhbXAnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnRmlyc3QgU2VlbicsXG4gICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJmaXJzdFRpbWVzdGFtcFRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgfSxcbiAgICAgICAgeyBmaWVsZDogJyRsYXN0VGltZXN0YW1wJyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ0xhc3QgU2VlbicsXG4gICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJsYXN0VGltZXN0YW1wVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICB9LFxuICAgICAgICB7IGZpZWxkOiAnY291bnQnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnQ291bnQnXG4gICAgICAgIH0sXG4gICAgICAgIHsgZmllbGQ6ICdpbnZvbHZlZE9iamVjdC5uYW1lJyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ05hbWUnLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiZXZlbnROYW1lVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICB9LFxuICAgICAgICB7IGZpZWxkOiAnaW52b2x2ZWRPYmplY3Qua2luZCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdLaW5kJyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImV2ZW50S2luZFRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgfSxcbiAgICAgICAgeyBmaWVsZDogJ2ludm9sdmVkT2JqZWN0LmZpZWxkUGF0aCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdTdWJqZWN0J1xuICAgICAgICB9LFxuICAgICAgICB7IGZpZWxkOiAncmVhc29uJyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ1JlYXNvbidcbiAgICAgICAgfSxcbiAgICAgICAgeyBmaWVsZDogJ3NvdXJjZScsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdTb3VyY2UnLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiZXZlbnRTb3VyY2VUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgIH0sXG4gICAgICAgIHsgZmllbGQ6ICdtZXNzYWdlJyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ01lc3NhZ2UnXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuXG4gICAgS3ViZXJuZXRlcy5pbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpO1xuICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGZ1bmN0aW9uIGJ5SWQodGhpbmcpIHtcbiAgICByZXR1cm4gdGhpbmcuaWQ7XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVLZXkobmFtZXNwYWNlLCBpZCwga2luZCkge1xuICAgIHJldHVybiAobmFtZXNwYWNlIHx8IFwiXCIpICsgXCItXCIgKyAoa2luZCB8fCAndW5kZWZpbmVkJykudG9Mb3dlckNhc2UoKSArICctJyArIChpZCB8fCAndW5kZWZpbmVkJykucmVwbGFjZSgvXFwuL2csICctJyk7XG4gIH1cblxuICBmdW5jdGlvbiBwb3B1bGF0ZUtleShpdGVtKSB7XG4gICAgdmFyIHJlc3VsdCA9IGl0ZW07XG4gICAgcmVzdWx0Wydfa2V5J10gPSBjcmVhdGVLZXkoZ2V0TmFtZXNwYWNlKGl0ZW0pLCBnZXROYW1lKGl0ZW0pLCBnZXRLaW5kKGl0ZW0pKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gcG9wdWxhdGVLZXlzKGl0ZW1zOkFycmF5PGFueT4pIHtcbiAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgYW5ndWxhci5mb3JFYWNoKGl0ZW1zLCAoaXRlbSkgPT4ge1xuICAgICAgcmVzdWx0LnB1c2gocG9wdWxhdGVLZXkoaXRlbSkpO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBmdW5jdGlvbiBzZWxlY3RQb2RzKHBvZHMsIG5hbWVzcGFjZSwgbGFiZWxzKSB7XG4gICAgcmV0dXJuIHBvZHMuZmlsdGVyKChwb2QpID0+IHtcbiAgICAgIHJldHVybiBnZXROYW1lc3BhY2UocG9kKSA9PT0gbmFtZXNwYWNlICYmIHNlbGVjdG9yTWF0Y2hlcyhsYWJlbHMsIGdldExhYmVscyhwb2QpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgb2JqZWN0IHdoaWNoIGtlZXBzIHRyYWNrIG9mIGFsbCB0aGUgcG9kcywgcmVwbGljYXRpb24gY29udHJvbGxlcnMsIHNlcnZpY2VzIGFuZCB0aGVpciBhc3NvY2lhdGlvbnNcbiAgICovXG4gIGV4cG9ydCBjbGFzcyBLdWJlcm5ldGVzTW9kZWxTZXJ2aWNlIHtcbiAgICBwdWJsaWMga3ViZXJuZXRlcyA9IDxLdWJlcm5ldGVzU3RhdGU+IG51bGw7XG4gICAgcHVibGljIGFwcHMgPSBbXTtcbiAgICBwdWJsaWMgc2VydmljZXMgPSBbXTtcblxuICAgIHB1YmxpYyByZXBsaWNhdGlvbmNvbnRyb2xsZXJzID0gW107XG4gICAgcHVibGljIGdldCByZXBsaWNhdGlvbkNvbnRyb2xsZXJzKCk6QXJyYXk8YW55PiB7XG4gICAgICByZXR1cm4gdGhpcy5yZXBsaWNhdGlvbmNvbnRyb2xsZXJzO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IHJlcGxpY2F0aW9uQ29udHJvbGxlcnMocmVwbGljYXRpb25Db250cm9sbGVyczpBcnJheTxhbnk+KSB7XG4gICAgICB0aGlzLnJlcGxpY2F0aW9uY29udHJvbGxlcnMgPSByZXBsaWNhdGlvbkNvbnRyb2xsZXJzO1xuICAgIH1cbiAgICBwdWJsaWMgcG9kcyA9IFtdO1xuICAgIHB1YmxpYyBob3N0cyA9IFtdO1xuICAgIHB1YmxpYyBnZXQgbmFtZXNwYWNlcygpOkFycmF5PHN0cmluZz4ge1xuICAgICAgcmV0dXJuIHRoaXMua3ViZXJuZXRlcy5uYW1lc3BhY2VzO1xuICAgIH1cbiAgICAvL3B1YmxpYyBuYW1lc3BhY2VzID0gW107XG4gICAgcHVibGljIHJvdXRlcyA9IFtdO1xuICAgIHB1YmxpYyB0ZW1wbGF0ZXMgPSBbXTtcbiAgICBwdWJsaWMgcmVkcmF3ID0gZmFsc2U7XG4gICAgcHVibGljIHJlc291cmNlVmVyc2lvbnMgPSB7fTtcblxuICAgIC8vIHZhcmlvdXMgdmlld3Mgb24gdGhlIGRhdGFcbiAgICBwdWJsaWMgcG9kc0J5SG9zdCA9IHt9O1xuICAgIHB1YmxpYyBzZXJ2aWNlc0J5S2V5ID0ge307XG4gICAgcHVibGljIHJlcGxpY2F0aW9uQ29udHJvbGxlcnNCeUtleSA9IHt9O1xuICAgIHB1YmxpYyBwb2RzQnlLZXkgPSB7fTtcblxuICAgIHB1YmxpYyBhcHBJbmZvcyA9IFtdO1xuICAgIHB1YmxpYyBhcHBWaWV3cyA9IFtdO1xuICAgIHB1YmxpYyBhcHBGb2xkZXJzID0gW107XG5cbiAgICBwdWJsaWMgZmV0Y2hlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBzaG93UnVuQnV0dG9uID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgYnVpbGRjb25maWdzID0gW107XG4gICAgcHVibGljIGV2ZW50cyA9IFtdO1xuICAgIHB1YmxpYyB3b3Jrc3BhY2VzID0gW107XG4gICAgcHVibGljIHByb2plY3RzID0gW107XG5cbiAgICBwdWJsaWMgZ2V0IHNlcnZpY2VBcHBzKCk6QXJyYXk8YW55PiB7XG4gICAgICByZXR1cm4gXy5maWx0ZXIodGhpcy5zZXJ2aWNlcywgKHMpID0+IHtcbiAgICAgICAgcmV0dXJuIHMuJGhvc3QgJiYgcy4kc2VydmljZVVybCAmJiBzLiRwb2RDb3VudFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljICRrZWVwUG9sbGluZygpIHtcbiAgICAgIHJldHVybiBrZWVwUG9sbGluZ01vZGVsO1xuICAgIH1cblxuICAgIHB1YmxpYyBvclJlZHJhdyhmbGFnKSB7XG4gICAgICB0aGlzLnJlZHJhdyA9IHRoaXMucmVkcmF3IHx8IGZsYWc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNlcnZpY2UobmFtZXNwYWNlLCBpZCkge1xuICAgICAgcmV0dXJuIHRoaXMuc2VydmljZXNCeUtleVtjcmVhdGVLZXkobmFtZXNwYWNlLCBpZCwgJ3NlcnZpY2UnKV07XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJlcGxpY2F0aW9uQ29udHJvbGxlcihuYW1lc3BhY2UsIGlkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXBsaWNhdGlvbkNvbnRyb2xsZXJzQnlLZXlbY3JlYXRlS2V5KG5hbWVzcGFjZSwgaWQsICdyZXBsaWNhdGlvbkNvbnRyb2xsZXInKV07XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBvZChuYW1lc3BhY2UsIGlkKSB7XG4gICAgICByZXR1cm4gdGhpcy5wb2RzQnlLZXlbY3JlYXRlS2V5KG5hbWVzcGFjZSwgaWQsICdwb2QnKV07XG4gICAgfVxuXG4gICAgcHVibGljIHBvZHNGb3JOYW1lc3BhY2UobmFtZXNwYWNlID0gdGhpcy5jdXJyZW50TmFtZXNwYWNlKCkpIHtcbiAgICAgIHJldHVybiBfLmZpbHRlcih0aGlzLnBvZHMsIHsgbmFtZXNwYWNlOiBuYW1lc3BhY2UgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY3VycmVudCBzZWxlY3RlZCBuYW1lc3BhY2Ugb3IgdGhlIGRlZmF1bHQgbmFtZXNwYWNlXG4gICAgICovXG4gICAgcHVibGljIGN1cnJlbnROYW1lc3BhY2UoKSB7XG4gICAgICB2YXIgYW5zd2VyID0gbnVsbDtcbiAgICAgIGlmICh0aGlzLmt1YmVybmV0ZXMpIHtcbiAgICAgICAgYW5zd2VyID0gdGhpcy5rdWJlcm5ldGVzLnNlbGVjdGVkTmFtZXNwYWNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFuc3dlciB8fCBkZWZhdWx0TmFtZXNwYWNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVJY29uVXJsQW5kQXBwSW5mbyhlbnRpdHksIG5hbWVGaWVsZDogc3RyaW5nKSB7XG4gICAgICB2YXIgYW5zd2VyID0gbnVsbDtcbiAgICAgIHZhciBpZCA9IGdldE5hbWUoZW50aXR5KTtcbiAgICAgIGVudGl0eS4kaWNvblVybCA9IENvcmUucGF0aEdldChlbnRpdHksIFsnbWV0YWRhdGEnLCAnYW5ub3RhdGlvbnMnLCAnZmFicmljOC4nICsgaWQgKyAnL2ljb25VcmwnXSk7XG4gICAgICBlbnRpdHkuJGluZm8gPSBDb3JlLnBhdGhHZXQoZW50aXR5LCBbJ21ldGFkYXRhJywgJ2Fubm90YXRpb25zJywgJ2ZhYnJpYzguJyArIGlkICsgJy9zdW1tYXJ5J10pO1xuICAgICAgaWYgKGVudGl0eS4kaWNvblVybCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoaWQgJiYgbmFtZUZpZWxkKSB7XG4gICAgICAgICh0aGlzLnRlbXBsYXRlcyB8fCBbXSkuZm9yRWFjaCgodGVtcGxhdGUpID0+IHtcbiAgICAgICAgICB2YXIgbWV0YWRhdGEgPSB0ZW1wbGF0ZS5tZXRhZGF0YTtcbiAgICAgICAgICBpZiAobWV0YWRhdGEpIHtcbiAgICAgICAgICAgIHZhciBhbm5vdGF0aW9ucyA9IG1ldGFkYXRhLmFubm90YXRpb25zIHx8IHt9O1xuICAgICAgICAgICAgdmFyIGljb25VcmwgPSBhbm5vdGF0aW9uc1tcImZhYnJpYzguXCIgKyBpZCArIFwiL2ljb25VcmxcIl0gfHwgYW5ub3RhdGlvbnNbXCJmYWJyaWM4L2ljb25VcmxcIl07XG4gICAgICAgICAgICBpZiAoaWNvblVybCkge1xuICAgICAgICAgICAgICAodGVtcGxhdGUub2JqZWN0cyB8fCBbXSkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBlbnRpdHlOYW1lID0gZ2V0TmFtZShpdGVtKTtcbiAgICAgICAgICAgICAgICBpZiAoaWQgPT09IGVudGl0eU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgIGVudGl0eS4kaWNvblVybCA9IGljb25Vcmw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAodGhpcy5hcHBJbmZvcyB8fCBbXSkuZm9yRWFjaCgoYXBwSW5mbykgPT4ge1xuICAgICAgICAgIHZhciBpY29uUGF0aCA9IGFwcEluZm8uaWNvblBhdGg7XG4gICAgICAgICAgaWYgKGljb25QYXRoICYmICFhbnN3ZXIgJiYgaWNvblBhdGggIT09IFwibnVsbFwiKSB7XG4gICAgICAgICAgICB2YXIgaWNvblVybCA9IGdpdFBhdGhUb1VybChpY29uUGF0aCk7XG4gICAgICAgICAgICB2YXIgaWRzID0gQ29yZS5wYXRoR2V0KGFwcEluZm8sIFtcIm5hbWVzXCIsIG5hbWVGaWVsZF0pO1xuICAgICAgICAgICAgYW5ndWxhci5mb3JFYWNoKGlkcywgKGFwcElkKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChhcHBJZCA9PT0gaWQpIHtcbiAgICAgICAgICAgICAgICBlbnRpdHkuJGljb25VcmwgPSBpY29uVXJsO1xuICAgICAgICAgICAgICAgIGVudGl0eS5hcHBQYXRoID0gYXBwSW5mby5hcHBQYXRoO1xuICAgICAgICAgICAgICAgIGVudGl0eS4kaW5mbyA9IGFwcEluZm87XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoIWVudGl0eS4kaWNvblVybCkge1xuICAgICAgICBlbnRpdHkuJGljb25VcmwgPSBkZWZhdWx0SWNvblVybDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbWF5YmVJbml0KCkge1xuICAgICAgdGhpcy5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuc2VydmljZXNCeUtleSA9IHt9O1xuICAgICAgdGhpcy5wb2RzQnlLZXkgPSB7fTtcbiAgICAgIHRoaXMucmVwbGljYXRpb25Db250cm9sbGVyc0J5S2V5ID0ge307XG5cbiAgICAgIHRoaXMucG9kcy5mb3JFYWNoKChwb2QpID0+IHtcbiAgICAgICAgaWYgKCFwb2Qua2luZCkgcG9kLmtpbmQgPSBcIlBvZFwiO1xuICAgICAgICB0aGlzLnBvZHNCeUtleVtwb2QuX2tleV0gPSBwb2Q7XG4gICAgICAgIHZhciBob3N0ID0gZ2V0SG9zdChwb2QpO1xuICAgICAgICBwb2QuJGxhYmVsc1RleHQgPSBLdWJlcm5ldGVzLmxhYmVsc1RvU3RyaW5nKGdldExhYmVscyhwb2QpKTtcbiAgICAgICAgaWYgKGhvc3QpIHtcbiAgICAgICAgICBwb2QuJGxhYmVsc1RleHQgKz0gbGFiZWxGaWx0ZXJUZXh0U2VwYXJhdG9yICsgXCJob3N0PVwiICsgaG9zdDtcbiAgICAgICAgfVxuICAgICAgICBwb2QuJGljb25VcmwgPSBkZWZhdWx0SWNvblVybDtcbiAgICAgICAgdGhpcy5kaXNjb3ZlclBvZENvbm5lY3Rpb25zKHBvZCk7XG4gICAgICAgIHBvZC4kY29udGFpbmVyUG9ydHMgPSBbXTtcblxuICAgICAgICB2YXIgc3RhcnRUaW1lID0gKHBvZC5zdGF0dXMgfHwge30pLnN0YXJ0VGltZTtcbiAgICAgICAgcG9kLiRzdGFydFRpbWUgPSBudWxsO1xuICAgICAgICBpZiAoc3RhcnRUaW1lKSB7XG4gICAgICAgICAgcG9kLiRzdGFydFRpbWUgPSBuZXcgRGF0ZShzdGFydFRpbWUpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBjcmVhdGVkVGltZSA9IGdldENyZWF0aW9uVGltZXN0YW1wKHBvZCk7XG4gICAgICAgIHBvZC4kY3JlYXRlZFRpbWUgPSBudWxsO1xuICAgICAgICBwb2QuJGFnZSA9IG51bGw7XG4gICAgICAgIGlmIChjcmVhdGVkVGltZSkge1xuICAgICAgICAgIHBvZC4kY3JlYXRlZFRpbWUgPSBuZXcgRGF0ZShjcmVhdGVkVGltZSk7XG4gICAgICAgICAgcG9kLiRhZ2UgPSBwb2QuJGNyZWF0ZWRUaW1lLnJlbGF0aXZlKCk7XG4gICAgICAgIH1cbiAgICAgICAgcG9kLiRzdGF0dXNDc3MgPSBzdGF0dXNUZXh0VG9Dc3NDbGFzcygocG9kLnN0YXR1cyB8fCB7fSkucGhhc2UpO1xuXG4gICAgICAgIHZhciBtYXhSZXN0YXJ0Q291bnQgPSAwO1xuICAgICAgICBhbmd1bGFyLmZvckVhY2goQ29yZS5wYXRoR2V0KHBvZCwgW1wic3RhdHVzXCIsIFwiY29udGFpbmVyU3RhdHVzZXNcIl0pLCAoc3RhdHVzKSA9PiB7XG4gICAgICAgICAgdmFyIHJlc3RhcnRDb3VudCA9IHN0YXR1cy5yZXN0YXJ0Q291bnQ7XG4gICAgICAgICAgaWYgKHJlc3RhcnRDb3VudCkge1xuICAgICAgICAgICAgaWYgKHJlc3RhcnRDb3VudCA+IG1heFJlc3RhcnRDb3VudCkge1xuICAgICAgICAgICAgICBtYXhSZXN0YXJ0Q291bnQgPSByZXN0YXJ0Q291bnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKG1heFJlc3RhcnRDb3VudCApIHtcbiAgICAgICAgICBwb2QuJHJlc3RhcnRDb3VudCA9IG1heFJlc3RhcnRDb3VudDtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaW1hZ2VOYW1lcyA9IFwiXCI7XG4gICAgICAgIGFuZ3VsYXIuZm9yRWFjaChDb3JlLnBhdGhHZXQocG9kLCBbXCJzcGVjXCIsIFwiY29udGFpbmVyc1wiXSksIChjb250YWluZXIpID0+IHtcbiAgICAgICAgICB2YXIgaW1hZ2UgPSBjb250YWluZXIuaW1hZ2U7XG4gICAgICAgICAgaWYgKGltYWdlKSB7XG4gICAgICAgICAgICBpZiAoIWltYWdlTmFtZXMpIHtcbiAgICAgICAgICAgICAgaW1hZ2VOYW1lcyA9IGltYWdlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaW1hZ2VOYW1lcyA9IGltYWdlTmFtZXMgKyBcIiBcIiArIGltYWdlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGlkeCA9IGltYWdlLmxhc3RJbmRleE9mKFwiOlwiKTtcbiAgICAgICAgICAgIGlmIChpZHggPiAwKSB7XG4gICAgICAgICAgICAgIGltYWdlID0gaW1hZ2Uuc3Vic3RyaW5nKDAsIGlkeCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgcGF0aHMgPSBpbWFnZS5zcGxpdChcIi9cIiwgMyk7XG4gICAgICAgICAgICBpZiAocGF0aHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHZhciBhbnN3ZXIgPSBudWxsO1xuICAgICAgICAgICAgICBpZiAocGF0aHMubGVuZ3RoID09IDMpIHtcbiAgICAgICAgICAgICAgICBhbnN3ZXIgPSBwYXRoc1sxXSArIFwiL1wiICsgcGF0aHNbMl07XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAocGF0aHMubGVuZ3RoID09IDIpIHtcbiAgICAgICAgICAgICAgICBhbnN3ZXIgPSBwYXRoc1swXSArIFwiL1wiICsgcGF0aHNbMV07XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYW5zd2VyID0gcGF0aHNbMF0gKyBcIi9cIiArIHBhdGhzWzFdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnRhaW5lci4kaW1hZ2VMaW5rID0gVXJsSGVscGVycy5qb2luKFwiaHR0cHM6Ly9yZWdpc3RyeS5odWIuZG9ja2VyLmNvbS91L1wiLCBhbnN3ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBhbmd1bGFyLmZvckVhY2goY29udGFpbmVyLnBvcnRzLCAocG9ydCkgPT4ge1xuICAgICAgICAgICAgdmFyIGNvbnRhaW5lclBvcnQgPSBwb3J0LmNvbnRhaW5lclBvcnQ7XG4gICAgICAgICAgICBpZiAoY29udGFpbmVyUG9ydCkge1xuICAgICAgICAgICAgICBwb2QuJGNvbnRhaW5lclBvcnRzLnB1c2goY29udGFpbmVyUG9ydCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBwb2QuJGltYWdlTmFtZXMgPSBpbWFnZU5hbWVzO1xuICAgICAgICB2YXIgcG9kU3RhdHVzID0gKHBvZC5zdGF0dXMgfHwge30pO1xuICAgICAgICB2YXIgcG9kU3BlYyA9IChwb2Quc3BlYyB8fCB7fSk7XG4gICAgICAgIHBvZC4kcG9kSVAgPSBwb2RTdGF0dXMucG9kSVA7XG4gICAgICAgIHBvZC4kaG9zdCA9IHBvZFNwZWMuaG9zdCB8fCBwb2RTcGVjLm5vZGVOYW1lIHx8IHBvZFN0YXR1cy5ob3N0SVA7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5zZXJ2aWNlcy5mb3JFYWNoKChzZXJ2aWNlKSA9PiB7XG4gICAgICAgIGlmICghc2VydmljZS5raW5kKSBzZXJ2aWNlLmtpbmQgPSBcIlNlcnZpY2VcIjtcbiAgICAgICAgdGhpcy5zZXJ2aWNlc0J5S2V5W3NlcnZpY2UuX2tleV0gPSBzZXJ2aWNlO1xuICAgICAgICB2YXIgc2VsZWN0b3IgPSBnZXRTZWxlY3RvcihzZXJ2aWNlKTtcbiAgICAgICAgc2VydmljZS4kcG9kcyA9IFtdO1xuICAgICAgICBpZiAoIXNlcnZpY2UuJHBvZENvdW50ZXJzKSB7XG4gICAgICAgICAgc2VydmljZS4kcG9kQ291bnRlcnMgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICBfLmFzc2lnbihzZXJ2aWNlLiRwb2RDb3VudGVycywgc2VsZWN0b3IgPyBjcmVhdGVQb2RDb3VudGVycyhzZWxlY3RvciwgdGhpcy5wb2RzLCBzZXJ2aWNlLiRwb2RzKSA6IHt9KTtcbiAgICAgICAgc2VydmljZS4kcG9kQ291bnQgPSBzZXJ2aWNlLiRwb2RzLmxlbmd0aDtcblxuICAgICAgICB2YXIgc2VsZWN0ZWRQb2RzID0gc2VydmljZS4kcG9kcztcbiAgICAgICAgc2VydmljZS5jb25uZWN0VG8gPSBzZWxlY3RlZFBvZHMubWFwKChwb2QpID0+IHtcbiAgICAgICAgICByZXR1cm4gcG9kLl9rZXk7XG4gICAgICAgIH0pLmpvaW4oJywnKTtcbiAgICAgICAgc2VydmljZS4kbGFiZWxzVGV4dCA9IEt1YmVybmV0ZXMubGFiZWxzVG9TdHJpbmcoZ2V0TGFiZWxzKHNlcnZpY2UpKTtcbiAgICAgICAgdGhpcy51cGRhdGVJY29uVXJsQW5kQXBwSW5mbyhzZXJ2aWNlLCBcInNlcnZpY2VOYW1lc1wiKTtcbiAgICAgICAgdmFyIHNwZWMgPSBzZXJ2aWNlLnNwZWMgfHwge307XG4gICAgICAgIHNlcnZpY2UuJHBvcnRhbElQID0gc3BlYy5wb3J0YWxJUDtcbiAgICAgICAgc2VydmljZS4kc2VsZWN0b3JUZXh0ID0gS3ViZXJuZXRlcy5sYWJlbHNUb1N0cmluZyhzcGVjLnNlbGVjdG9yKTtcbiAgICAgICAgdmFyIHBvcnRzID0gXy5tYXAoc3BlYy5wb3J0cyB8fCBbXSwgXCJwb3J0XCIpO1xuICAgICAgICBzZXJ2aWNlLiRwb3J0cyA9IHBvcnRzO1xuICAgICAgICBzZXJ2aWNlLiRwb3J0c1RleHQgPSBwb3J0cy5qb2luKFwiLCBcIik7XG4gICAgICAgIHZhciBpY29uVXJsID0gc2VydmljZS4kaWNvblVybDtcbiAgICAgICAgaWYgKGljb25VcmwgJiYgc2VsZWN0ZWRQb2RzKSB7XG4gICAgICAgICAgc2VsZWN0ZWRQb2RzLmZvckVhY2goKHBvZCkgPT4ge1xuICAgICAgICAgICAgcG9kLiRpY29uVXJsID0gaWNvblVybDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBzZXJ2aWNlLiRzZXJ2aWNlVXJsID0gc2VydmljZUxpbmtVcmwoc2VydmljZSk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yZXBsaWNhdGlvbkNvbnRyb2xsZXJzLmZvckVhY2goKHJlcGxpY2F0aW9uQ29udHJvbGxlcikgPT4ge1xuICAgICAgICBpZiAoIXJlcGxpY2F0aW9uQ29udHJvbGxlci5raW5kKSByZXBsaWNhdGlvbkNvbnRyb2xsZXIua2luZCA9IFwiUmVwbGljYXRpb25Db250cm9sbGVyXCI7XG4gICAgICAgIHRoaXMucmVwbGljYXRpb25Db250cm9sbGVyc0J5S2V5W3JlcGxpY2F0aW9uQ29udHJvbGxlci5fa2V5XSA9IHJlcGxpY2F0aW9uQ29udHJvbGxlclxuICAgICAgICAgIHZhciBzZWxlY3RvciA9IGdldFNlbGVjdG9yKHJlcGxpY2F0aW9uQ29udHJvbGxlcik7XG4gICAgICAgIHJlcGxpY2F0aW9uQ29udHJvbGxlci4kcG9kcyA9IFtdO1xuICAgICAgICByZXBsaWNhdGlvbkNvbnRyb2xsZXIuJHBvZENvdW50ZXJzID0gc2VsZWN0b3IgPyBjcmVhdGVQb2RDb3VudGVycyhzZWxlY3RvciwgdGhpcy5wb2RzLCByZXBsaWNhdGlvbkNvbnRyb2xsZXIuJHBvZHMpIDogbnVsbDtcbiAgICAgICAgcmVwbGljYXRpb25Db250cm9sbGVyLiRwb2RDb3VudCA9IHJlcGxpY2F0aW9uQ29udHJvbGxlci4kcG9kcy5sZW5ndGg7XG4gICAgICAgIHJlcGxpY2F0aW9uQ29udHJvbGxlci4kcmVwbGljYXMgPSAocmVwbGljYXRpb25Db250cm9sbGVyLnNwZWMgfHwge30pLnJlcGxpY2FzO1xuXG4gICAgICAgIHZhciBzZWxlY3RlZFBvZHMgPSByZXBsaWNhdGlvbkNvbnRyb2xsZXIuJHBvZHM7XG4gICAgICAgIHJlcGxpY2F0aW9uQ29udHJvbGxlci5jb25uZWN0VG8gPSBzZWxlY3RlZFBvZHMubWFwKChwb2QpID0+IHtcbiAgICAgICAgICByZXR1cm4gcG9kLl9rZXk7XG4gICAgICAgIH0pLmpvaW4oJywnKTtcbiAgICAgICAgcmVwbGljYXRpb25Db250cm9sbGVyLiRsYWJlbHNUZXh0ID0gS3ViZXJuZXRlcy5sYWJlbHNUb1N0cmluZyhnZXRMYWJlbHMocmVwbGljYXRpb25Db250cm9sbGVyKSk7XG4gICAgICAgIHRoaXMudXBkYXRlSWNvblVybEFuZEFwcEluZm8ocmVwbGljYXRpb25Db250cm9sbGVyLCBcInJlcGxpY2F0aW9uQ29udHJvbGxlck5hbWVzXCIpO1xuICAgICAgICB2YXIgaWNvblVybCA9ICByZXBsaWNhdGlvbkNvbnRyb2xsZXIuJGljb25Vcmw7XG4gICAgICAgIGlmIChpY29uVXJsICYmIHNlbGVjdGVkUG9kcykge1xuICAgICAgICAgIHNlbGVjdGVkUG9kcy5mb3JFYWNoKChwb2QpID0+IHtcbiAgICAgICAgICAgIHBvZC4kaWNvblVybCA9IGljb25Vcmw7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBzZXJ2aWNlcyBtYXkgbm90IG1hcCB0byBhbiBpY29uIGJ1dCB0aGVpciBwb2RzIG1heSBkbyB2aWEgdGhlIFJDXG4gICAgICAvLyBzbyBsZXRzIGRlZmF1bHQgaXQuLi5cbiAgICAgIHRoaXMuc2VydmljZXMuZm9yRWFjaCgoc2VydmljZSkgPT4ge1xuICAgICAgICB2YXIgaWNvblVybCA9IHNlcnZpY2UuJGljb25Vcmw7XG4gICAgICAgIHZhciBzZWxlY3RlZFBvZHMgPSBzZXJ2aWNlLiRwb2RzO1xuICAgICAgICBpZiAoc2VsZWN0ZWRQb2RzKSB7XG4gICAgICAgICAgaWYgKCFpY29uVXJsIHx8IGljb25VcmwgPT09IGRlZmF1bHRJY29uVXJsKSB7XG4gICAgICAgICAgICBpY29uVXJsID0gbnVsbDtcbiAgICAgICAgICAgIHNlbGVjdGVkUG9kcy5mb3JFYWNoKChwb2QpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFpY29uVXJsKSB7XG4gICAgICAgICAgICAgICAgaWNvblVybCA9IHBvZC4kaWNvblVybDtcbiAgICAgICAgICAgICAgICBpZiAoaWNvblVybCkge1xuICAgICAgICAgICAgICAgICAgc2VydmljZS4kaWNvblVybCA9IGljb25Vcmw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnVwZGF0ZUFwcHMoKTtcblxuICAgICAgdmFyIHBvZHNCeUhvc3QgPSB7fTtcbiAgICAgIHRoaXMucG9kcy5mb3JFYWNoKChwb2QpID0+IHtcbiAgICAgICAgdmFyIGhvc3QgPSBnZXRIb3N0KHBvZCk7XG4gICAgICAgIHZhciBwb2RzRm9ySG9zdCA9IHBvZHNCeUhvc3RbaG9zdF07XG4gICAgICAgIGlmICghcG9kc0Zvckhvc3QpIHtcbiAgICAgICAgICBwb2RzRm9ySG9zdCA9IFtdO1xuICAgICAgICAgIHBvZHNCeUhvc3RbaG9zdF0gPSBwb2RzRm9ySG9zdDtcbiAgICAgICAgfVxuICAgICAgICBwb2RzRm9ySG9zdC5wdXNoKHBvZCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMucG9kc0J5SG9zdCA9IHBvZHNCeUhvc3Q7XG5cbiAgICAgIHZhciB0bXBIb3N0cyA9IFtdO1xuICAgICAgZm9yICh2YXIgaG9zdEtleSBpbiBwb2RzQnlIb3N0KSB7XG4gICAgICAgIHZhciBob3N0UG9kcyA9IFtdO1xuICAgICAgICB2YXIgcG9kQ291bnRlcnMgPSBjcmVhdGVQb2RDb3VudGVycygocG9kKSA9PiBnZXRIb3N0KHBvZCkgPT09IGhvc3RLZXksIHRoaXMucG9kcywgaG9zdFBvZHMsIFwiaG9zdD1cIiArIGhvc3RLZXkpO1xuICAgICAgICB2YXIgaG9zdElQID0gbnVsbDtcbiAgICAgICAgaWYgKGhvc3RQb2RzLmxlbmd0aCkge1xuICAgICAgICAgIHZhciBwb2QgPSBob3N0UG9kc1swXTtcbiAgICAgICAgICB2YXIgY3VycmVudFN0YXRlID0gcG9kLnN0YXR1cztcbiAgICAgICAgICBpZiAoY3VycmVudFN0YXRlKSB7XG4gICAgICAgICAgICBob3N0SVAgPSBjdXJyZW50U3RhdGUuaG9zdElQO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2YXIgaG9zdERldGFpbHMgPSB7XG4gICAgICAgICAgbmFtZTogaG9zdEtleSxcbiAgICAgICAgICBpZDogaG9zdEtleSxcbiAgICAgICAgICBlbGVtZW50SWQ6IGhvc3RLZXkucmVwbGFjZSgvXFwuL2csICdfJyksXG4gICAgICAgICAgaG9zdElQOiBob3N0SVAsXG4gICAgICAgICAgcG9kczogaG9zdFBvZHMsXG4gICAgICAgICAga2luZDogXCJIb3N0XCIsXG4gICAgICAgICAgICAkcG9kQ291bnRlcnM6IHBvZENvdW50ZXJzLFxuICAgICAgICAgICAgJGljb25Vcmw6IGhvc3RJY29uVXJsXG4gICAgICAgIH07XG4gICAgICAgIHRtcEhvc3RzLnB1c2goaG9zdERldGFpbHMpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmhvc3RzID0gdG1wSG9zdHM7XG5cbiAgICAgIGVucmljaEJ1aWxkQ29uZmlncyh0aGlzLmJ1aWxkY29uZmlncyk7XG4gICAgICBlbnJpY2hFdmVudHModGhpcy5ldmVudHMsIHRoaXMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVBcHBzKCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gbGV0cyBjcmVhdGUgdGhlIGFwcCB2aWV3cyBieSB0cnlpbmcgdG8gam9pbiBjb250cm9sbGVycyAvIHNlcnZpY2VzIC8gcG9kcyB0aGF0IGFyZSByZWxhdGVkXG4gICAgICAgIHZhciBhcHBWaWV3cyA9IFtdO1xuXG4gICAgICAgIHRoaXMucmVwbGljYXRpb25Db250cm9sbGVycy5mb3JFYWNoKChyZXBsaWNhdGlvbkNvbnRyb2xsZXIpID0+IHtcbiAgICAgICAgICB2YXIgbmFtZSA9IGdldE5hbWUocmVwbGljYXRpb25Db250cm9sbGVyKTtcbiAgICAgICAgICB2YXIgJGljb25VcmwgPSByZXBsaWNhdGlvbkNvbnRyb2xsZXIuJGljb25Vcmw7XG4gICAgICAgICAgYXBwVmlld3MucHVzaCh7XG4gICAgICAgICAgICBhcHBQYXRoOiBcIi9kdW1teVBhdGgvXCIgKyBuYW1lLFxuICAgICAgICAgICAgJG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAkaW5mbzoge1xuICAgICAgICAgICAgICAkaWNvblVybDogJGljb25VcmxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAkaWNvblVybDogJGljb25VcmwsXG4gICAgICAgICAgICByZXBsaWNhdGlvbkNvbnRyb2xsZXJzOiBbcmVwbGljYXRpb25Db250cm9sbGVyXSxcbiAgICAgICAgICAgIHBvZHM6IHJlcGxpY2F0aW9uQ29udHJvbGxlci4kcG9kcyB8fCBbXSxcbiAgICAgICAgICAgIHNlcnZpY2VzOiBbXVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICB2YXIgaGFzVGVtcGxhdGVzU2VydmljZSA9IGlzT3BlblNoaWZ0O1xuICAgICAgICB2YXIgbm9NYXRjaGVzID0gW107XG4gICAgICAgIHRoaXMuc2VydmljZXMuZm9yRWFjaCgoc2VydmljZSkgPT4ge1xuICAgICAgICAgIHZhciBuYW1lID0gZ2V0TmFtZShzZXJ2aWNlKTtcbiAgICAgICAgICBpZiAobmFtZSA9PT0gXCJ0ZW1wbGF0ZXNcIikge1xuICAgICAgICAgICAgdmFyIHBvZENvdW50ZXJzID0gc2VydmljZS4kcG9kQ291bnRlcnM7XG4gICAgICAgICAgICBpZiAocG9kQ291bnRlcnMgJiYgcG9kQ291bnRlcnMudmFsaWQpIHtcbiAgICAgICAgICAgICAgaGFzVGVtcGxhdGVzU2VydmljZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIG5vdyBsZXRzIHNlZSBpZiB3ZSBjYW4gZmluZCBhbiBhcHAgd2l0aCBhbiBSQyBvZiB0aGUgc2FtZSBzZWxlY3RvclxuICAgICAgICAgIHZhciBtYXRjaGVzQXBwID0gbnVsbDtcbiAgICAgICAgICBhcHBWaWV3cy5mb3JFYWNoKChhcHBWaWV3KSA9PiB7XG4gICAgICAgICAgICBhcHBWaWV3LnJlcGxpY2F0aW9uQ29udHJvbGxlcnMuZm9yRWFjaCgocmVwbGljYXRpb25Db250cm9sbGVyKSA9PiB7XG4gICAgICAgICAgICAgIHZhciByZXBTZWxlY3RvciA9IGdldFNlbGVjdG9yKHJlcGxpY2F0aW9uQ29udHJvbGxlcik7XG4gICAgICAgICAgICAgIGlmIChyZXBTZWxlY3RvciAmJiBcbiAgICAgICAgICAgICAgICAgIHNlbGVjdG9yTWF0Y2hlcyhyZXBTZWxlY3RvciwgZ2V0U2VsZWN0b3Ioc2VydmljZSkpICYmIFxuICAgICAgICAgICAgICAgICAgZ2V0TmFtZXNwYWNlKHNlcnZpY2UpID09PSBnZXROYW1lc3BhY2UocmVwbGljYXRpb25Db250cm9sbGVyKSkge1xuICAgICAgICAgICAgICAgIG1hdGNoZXNBcHAgPSBhcHBWaWV3O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmIChtYXRjaGVzQXBwKSB7XG4gICAgICAgICAgICBtYXRjaGVzQXBwLnNlcnZpY2VzLnB1c2goc2VydmljZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5vTWF0Y2hlcy5wdXNoKHNlcnZpY2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGxvZy5kZWJ1ZyhcIm5vIG1hdGNoZXM6IFwiLCBub01hdGNoZXMpO1xuICAgICAgICBub01hdGNoZXMuZm9yRWFjaCgoc2VydmljZSkgPT4ge1xuICAgICAgICAgIHZhciBhcHBWaWV3ID0gXy5maW5kKGFwcFZpZXdzLCAoYXBwVmlldykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIF8uYW55KGFwcFZpZXcucmVwbGljYXRpb25Db250cm9sbGVycywgKHJjKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBfLnN0YXJ0c1dpdGgoZ2V0TmFtZShyYyksIGdldE5hbWUoc2VydmljZSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKGFwcFZpZXcpIHtcbiAgICAgICAgICAgIGFwcFZpZXcuc2VydmljZXMucHVzaChzZXJ2aWNlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyICRpY29uVXJsID0gc2VydmljZS4kaWNvblVybDtcbiAgICAgICAgICAgIGFwcFZpZXdzLnB1c2goe1xuICAgICAgICAgICAgICBhcHBQYXRoOiBcIi9kdW1teVBhdGgvXCIgKyBuYW1lLFxuICAgICAgICAgICAgICAkbmFtZTogbmFtZSxcbiAgICAgICAgICAgICAgJGluZm86IHtcbiAgICAgICAgICAgICAgICAkaWNvblVybDogJGljb25VcmxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAkaWNvblVybDogJGljb25VcmwsXG4gICAgICAgICAgICAgIHJlcGxpY2F0aW9uQ29udHJvbGxlcnM6IFtdLFxuICAgICAgICAgICAgICBwb2RzOiBzZXJ2aWNlLiRwb2RzIHx8IFtdLFxuICAgICAgICAgICAgICBzZXJ2aWNlczogW3NlcnZpY2VdXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2hvd1J1bkJ1dHRvbiA9IGhhc1RlbXBsYXRlc1NlcnZpY2U7XG5cbiAgICAgICAgYW5ndWxhci5mb3JFYWNoKHRoaXMucm91dGVzLCAocm91dGUpID0+IHtcbiAgICAgICAgICB2YXIgbWV0YWRhdGEgPSByb3V0ZS5tZXRhZGF0YSB8fCB7fTtcbiAgICAgICAgICB2YXIgc3BlYyA9IHJvdXRlLnNwZWMgfHwge307XG4gICAgICAgICAgdmFyIHNlcnZpY2VOYW1lID0gQ29yZS5wYXRoR2V0KHNwZWMsIFtcInRvXCIsIFwibmFtZVwiXSk7XG4gICAgICAgICAgdmFyIGhvc3QgPSBzcGVjLmhvc3Q7XG4gICAgICAgICAgdmFyIG5hbWVzcGFjZSA9IGdldE5hbWVzcGFjZShyb3V0ZSk7XG4gICAgICAgICAgaWYgKHNlcnZpY2VOYW1lICYmIGhvc3QpIHtcbiAgICAgICAgICAgIHZhciBzZXJ2aWNlID0gdGhpcy5nZXRTZXJ2aWNlKG5hbWVzcGFjZSwgc2VydmljZU5hbWUpO1xuICAgICAgICAgICAgaWYgKHNlcnZpY2UpIHtcbiAgICAgICAgICAgICAgc2VydmljZS4kaG9zdCA9IGhvc3Q7XG5cbiAgICAgICAgICAgICAgLy8gVE9ETyB3ZSBjb3VsZCB1c2Ugc29tZSBhbm5vdGF0aW9ucyAvIG1ldGFkYXRhIHRvIGRlZHVjZSB3aGF0IFVSTCB3ZSBzaG91bGQgdXNlIHRvIG9wZW4gdGhpc1xuICAgICAgICAgICAgICAvLyBzZXJ2aWNlIGluIHRoZSBjb25zb2xlLiBGb3Igbm93IGp1c3QgYXNzdW1lIGl0cyBodHRwOlxuXG4gICAgICAgICAgICAgIGlmIChob3N0KSB7XG4gICAgICAgICAgICAgICAgdmFyIGhvc3RVcmwgPSAgaG9zdDtcbiAgICAgICAgICAgICAgICBpZiAoaG9zdFVybC5pbmRleE9mKFwiOi8vXCIpIDwgMCkge1xuICAgICAgICAgICAgICAgICAgaG9zdFVybCA9IFwiaHR0cDovL1wiICsgaG9zdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VydmljZS4kY29ubmVjdFVybCA9IFVybEhlbHBlcnMuam9pbihob3N0VXJsLCAgXCIvXCIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBsb2cuZGVidWcoXCJDb3VsZCBub3QgZmluZCBzZXJ2aWNlIFwiICsgc2VydmljZU5hbWUgKyBcIiBuYW1lc3BhY2UgXCIgKyBuYW1lc3BhY2UgKyBcIiBmb3Igcm91dGU6IFwiICsgbWV0YWRhdGEubmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBhcHBWaWV3cyA9IHBvcHVsYXRlS2V5cyhhcHBWaWV3cykuc29ydEJ5KChhcHBWaWV3KSA9PiBhcHBWaWV3Ll9rZXkpO1xuXG4gICAgICAgIEFycmF5SGVscGVycy5zeW5jKHRoaXMuYXBwVmlld3MsIGFwcFZpZXdzLCAnJG5hbWUnKTtcblxuICAgICAgICBpZiAodGhpcy5hcHBJbmZvcyAmJiB0aGlzLmFwcFZpZXdzKSB7XG4gICAgICAgICAgdmFyIGZvbGRlck1hcCA9IHt9O1xuICAgICAgICAgIHZhciBmb2xkZXJzID0gW107XG4gICAgICAgICAgdmFyIGFwcE1hcCA9IHt9O1xuICAgICAgICAgIGFuZ3VsYXIuZm9yRWFjaCh0aGlzLmFwcEluZm9zLCAoYXBwSW5mbykgPT4ge1xuICAgICAgICAgICAgaWYgKCFhcHBJbmZvLiRpY29uVXJsICYmIGFwcEluZm8uaWNvblBhdGggJiYgYXBwSW5mby5pY29uUGF0aCAhPT0gXCJudWxsXCIpIHtcbiAgICAgICAgICAgICAgYXBwSW5mby4kaWNvblVybCA9IGdpdFBhdGhUb1VybChhcHBJbmZvLmljb25QYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBhcHBQYXRoID0gYXBwSW5mby5hcHBQYXRoO1xuICAgICAgICAgICAgaWYgKGFwcFBhdGgpIHtcbiAgICAgICAgICAgICAgYXBwTWFwW2FwcFBhdGhdID0gYXBwSW5mbztcbiAgICAgICAgICAgICAgdmFyIGlkeCA9IGFwcFBhdGgubGFzdEluZGV4T2YoXCIvXCIpO1xuICAgICAgICAgICAgICB2YXIgZm9sZGVyUGF0aCA9IFwiXCI7XG4gICAgICAgICAgICAgIGlmIChpZHggPj0gMCkge1xuICAgICAgICAgICAgICAgIGZvbGRlclBhdGggPSBhcHBQYXRoLnN1YnN0cmluZygwLCBpZHgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGZvbGRlclBhdGggPSBDb3JlLnRyaW1MZWFkaW5nKGZvbGRlclBhdGgsIFwiL1wiKTtcbiAgICAgICAgICAgICAgdmFyIGZvbGRlciA9IGZvbGRlck1hcFtmb2xkZXJQYXRoXTtcbiAgICAgICAgICAgICAgaWYgKCFmb2xkZXIpIHtcbiAgICAgICAgICAgICAgICBmb2xkZXIgPSB7XG4gICAgICAgICAgICAgICAgICBwYXRoOiBmb2xkZXJQYXRoLFxuICAgICAgICAgICAgICAgICAgZXhwYW5kZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICBhcHBzOiBbXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgZm9sZGVycy5wdXNoKGZvbGRlcik7XG4gICAgICAgICAgICAgICAgZm9sZGVyTWFwW2ZvbGRlclBhdGhdID0gZm9sZGVyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGZvbGRlci5hcHBzLnB1c2goYXBwSW5mbyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5hcHBGb2xkZXJzID0gZm9sZGVycy5zb3J0QnkoXCJwYXRoXCIpO1xuXG4gICAgICAgICAgdmFyIGFwcHMgPSBbXTtcbiAgICAgICAgICB2YXIgZGVmYXVsdEluZm8gPSB7XG4gICAgICAgICAgICAkaWNvblVybDogZGVmYXVsdEljb25VcmxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgYW5ndWxhci5mb3JFYWNoKHRoaXMuYXBwVmlld3MsIChhcHBWaWV3KSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICB2YXIgYXBwUGF0aCA9IGFwcFZpZXcuYXBwUGF0aDtcblxuICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgVE9ET1xuICAgICAgICAgICAgICAgYXBwVmlldy4kc2VsZWN0ID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgS3ViZXJuZXRlcy5zZXRKc29uKCRzY29wZSwgYXBwVmlldy5pZCwgJHNjb3BlLm1vZGVsLmFwcHMpO1xuICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICovXG5cbiAgICAgICAgICAgICAgdmFyIGFwcEluZm8gPSBhbmd1bGFyLmNvcHkoZGVmYXVsdEluZm8pO1xuICAgICAgICAgICAgICBpZiAoYXBwUGF0aCkge1xuICAgICAgICAgICAgICAgIGFwcEluZm8gPSBhcHBNYXBbYXBwUGF0aF0gfHwgYXBwSW5mbztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoIWFwcFZpZXcuJGluZm8pIHtcbiAgICAgICAgICAgICAgICBhcHBWaWV3LiRpbmZvID0gZGVmYXVsdEluZm87XG4gICAgICAgICAgICAgICAgYXBwVmlldy4kaW5mbyA9IGFwcEluZm87XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYXBwVmlldy5pZCA9IGFwcFBhdGg7XG4gICAgICAgICAgICAgIGlmICghYXBwVmlldy4kbmFtZSkge1xuICAgICAgICAgICAgICAgIGFwcFZpZXcuJG5hbWUgPSBhcHBJbmZvLm5hbWUgfHwgYXBwVmlldy4kbmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoIWFwcFZpZXcuJGljb25VcmwpIHtcbiAgICAgICAgICAgICAgICBhcHBWaWV3LiRpY29uVXJsID0gYXBwSW5mby4kaWNvblVybDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBhcHBzLnB1c2goYXBwVmlldyk7XG4gICAgICAgICAgICAgIGFwcFZpZXcuJHBvZENvdW50ZXJzID0gY3JlYXRlQXBwVmlld1BvZENvdW50ZXJzKGFwcFZpZXcpO1xuICAgICAgICAgICAgICBhcHBWaWV3LiRwb2RDb3VudCA9IChhcHBWaWV3LnBvZHMgfHwgW10pLmxlbmd0aDtcbiAgICAgICAgICAgICAgYXBwVmlldy4kcmVwbGljYXRpb25Db250cm9sbGVyc1RleHQgPSAoYXBwVmlldy5yZXBsaWNhdGlvbkNvbnRyb2xsZXJzIHx8IFtdKS5tYXAoXCJfa2V5XCIpLmpvaW4oXCIgXCIpO1xuICAgICAgICAgICAgICBhcHBWaWV3LiRzZXJ2aWNlc1RleHQ9IChhcHBWaWV3LnNlcnZpY2VzIHx8IFtdKS5tYXAoXCJfa2V5XCIpLmpvaW4oXCIgXCIpO1xuICAgICAgICAgICAgICBhcHBWaWV3LiRzZXJ2aWNlVmlld3MgPSBjcmVhdGVBcHBWaWV3U2VydmljZVZpZXdzKGFwcFZpZXcpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byB1cGRhdGUgYXBwVmlld3M6IFwiICsgZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgLy90aGlzLmFwcHMgPSBhcHBzO1xuICAgICAgICAgIHRoaXMuYXBwcyA9IHRoaXMuYXBwVmlld3M7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgbG9nLndhcm4oXCJDYXVnaHQgZXJyb3I6IFwiICsgZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRpc2NvdmVyUG9kQ29ubmVjdGlvbnMoZW50aXR5KSB7XG4gICAgICB2YXIgaW5mbyA9IENvcmUucGF0aEdldChlbnRpdHksIFtcInN0YXR1c1wiLCBcImluZm9cIl0pO1xuICAgICAgdmFyIGhvc3RQb3J0ID0gbnVsbDtcbiAgICAgIHZhciBjdXJyZW50U3RhdGUgPSBlbnRpdHkuc3RhdHVzIHx8IHt9O1xuICAgICAgdmFyIGRlc2lyZWRTdGF0ZSA9IGVudGl0eS5zcGVjIHx8IHt9O1xuICAgICAgdmFyIHBvZElkID0gZ2V0TmFtZShlbnRpdHkpO1xuICAgICAgdmFyIGhvc3QgPSBjdXJyZW50U3RhdGVbXCJob3N0SVBcIl07XG4gICAgICB2YXIgcG9kSVAgPSBjdXJyZW50U3RhdGVbXCJwb2RJUFwiXTtcbiAgICAgIHZhciBoYXNEb2NrZXIgPSBmYWxzZTtcbiAgICAgIHZhciBmb3VuZENvbnRhaW5lclBvcnQgPSBudWxsO1xuICAgICAgaWYgKGRlc2lyZWRTdGF0ZSkge1xuICAgICAgICB2YXIgY29udGFpbmVycyA9IGRlc2lyZWRTdGF0ZS5jb250YWluZXJzO1xuICAgICAgICBhbmd1bGFyLmZvckVhY2goY29udGFpbmVycywgKGNvbnRhaW5lcikgPT4ge1xuICAgICAgICAgIGlmICghaG9zdFBvcnQpIHtcbiAgICAgICAgICAgIHZhciBwb3J0cyA9IGNvbnRhaW5lci5wb3J0cztcbiAgICAgICAgICAgIGFuZ3VsYXIuZm9yRWFjaChwb3J0cywgKHBvcnQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFob3N0UG9ydCkge1xuICAgICAgICAgICAgICAgIHZhciBjb250YWluZXJQb3J0ID0gcG9ydC5jb250YWluZXJQb3J0O1xuICAgICAgICAgICAgICAgIHZhciBwb3J0TmFtZSA9IHBvcnQubmFtZTtcbiAgICAgICAgICAgICAgICB2YXIgY29udGFpbmVySG9zdFBvcnQgPSBwb3J0Lmhvc3RQb3J0O1xuICAgICAgICAgICAgICAgIGlmIChjb250YWluZXJQb3J0ID09PSA4Nzc4IHx8IFwiam9sb2tpYVwiID09PSBwb3J0TmFtZSkge1xuICAgICAgICAgICAgICAgICAgaWYgKGNvbnRhaW5lclBvcnQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBvZElQKSB7XG4gICAgICAgICAgICAgICAgICAgICAgZm91bmRDb250YWluZXJQb3J0ID0gY29udGFpbmVyUG9ydDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoY29udGFpbmVySG9zdFBvcnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICBob3N0UG9ydCA9IGNvbnRhaW5lckhvc3RQb3J0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKGZvdW5kQ29udGFpbmVyUG9ydCAmJiBwb2RJZCAmJiBpc1J1bm5pbmcoY3VycmVudFN0YXRlKSkge1xuICAgICAgICBlbnRpdHkuJGpvbG9raWFVcmwgPSBVcmxIZWxwZXJzLmpvaW4oS3ViZXJuZXRlcy5tYXN0ZXJBcGlVcmwoKSwgXCIvYXBpL1wiLCBLdWJlcm5ldGVzLmRlZmF1bHRBcGlWZXJzaW9uLCBcIm5hbWVzcGFjZXNcIiwgZW50aXR5Lm1ldGFkYXRhLm5hbWVzcGFjZSAsIFwiL3BvZHMvXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9kSWQgKyBcIjpcIiArIGZvdW5kQ29udGFpbmVyUG9ydCwgXCIvcHJveHkvam9sb2tpYS9cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG1vZGVsIHNlcnZpY2Ugd2hpY2gga2VlcHMgdHJhY2sgb2YgYWxsIHRoZSBwb2RzLCByZXBsaWNhdGlvbiBjb250cm9sbGVycyBhbmQgc2VydmljZXMgYWxvbmdcbiAgICogd2l0aCB0aGVpciBhc3NvY2lhdGlvbnMgYW5kIHN0YXR1c1xuICAgKi9cbiAgX21vZHVsZS5mYWN0b3J5KCdLdWJlcm5ldGVzTW9kZWwnLCBbJyRyb290U2NvcGUnLCAnJGh0dHAnLCAnS3ViZXJuZXRlc0FwaVVSTCcsICdLdWJlcm5ldGVzU3RhdGUnLCAnV2F0Y2hlclNlcnZpY2UnLCAnJGxvY2F0aW9uJywgJyRyZXNvdXJjZScsICgkcm9vdFNjb3BlLCAkaHR0cCwgQXBwTGlicmFyeVVSTCwgS3ViZXJuZXRlc1N0YXRlLCB3YXRjaGVyOldhdGNoZXJTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJlc291cmNlOm5nLnJlc291cmNlLklSZXNvdXJjZVNlcnZpY2UpID0+IHtcblxuICAgIHZhciAkc2NvcGUgPSBuZXcgS3ViZXJuZXRlc01vZGVsU2VydmljZSgpO1xuICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuXG4gICAgLy8gY3JlYXRlIGFsbCBvZiBvdXIgcmVzb3VyY2UgY2xhc3Nlc1xuICAgIHZhciB0eXBlTmFtZXMgPSB3YXRjaGVyLmdldFR5cGVzKCk7XG4gICAgXy5mb3JFYWNoKHR5cGVOYW1lcywgKHR5cGU6c3RyaW5nKSA9PiB7XG4gICAgICB2YXIgdXJsVGVtcGxhdGUgPSB1cmlUZW1wbGF0ZUZvckt1YmVybmV0ZXNLaW5kKHR5cGUpO1xuICAgICAgJHNjb3BlW3R5cGUgKyAnUmVzb3VyY2UnXSA9IGNyZWF0ZVJlc291cmNlKHR5cGUsIHVybFRlbXBsYXRlLCAkcmVzb3VyY2UsICRzY29wZSk7XG4gICAgfSk7XG5cbiAgICAvLyByZWdpc3RlciBmb3IgYWxsIHVwZGF0ZXMgb24gb2JqZWN0c1xuXHRcdHdhdGNoZXIucmVnaXN0ZXJMaXN0ZW5lcigob2JqZWN0czpPYmplY3RNYXApID0+IHtcblx0XHRcdHZhciB0eXBlcyA9IHdhdGNoZXIuZ2V0VHlwZXMoKTtcblx0XHRcdF8uZm9yRWFjaCh0eXBlcywgKHR5cGU6c3RyaW5nKSA9PiB7XG5cdFx0XHRcdHN3aXRjaCAodHlwZSkge1xuXHRcdFx0XHRcdGNhc2UgV2F0Y2hUeXBlcy5TRVJWSUNFUzpcblx0XHRcdFx0XHRcdHZhciBpdGVtcyA9IHBvcHVsYXRlS2V5cyhvYmplY3RzW3R5cGVdKTtcblx0XHRcdFx0XHRcdGFuZ3VsYXIuZm9yRWFjaChpdGVtcywgKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgaXRlbS5wcm94eVVybCA9IGt1YmVybmV0ZXNQcm94eVVybEZvclNlcnZpY2UobWFzdGVyQXBpVXJsKCksIGl0ZW0pO1xuICAgICAgICAgICAgfSk7XG5cdFx0XHRcdFx0XHQkc2NvcGVbdHlwZV0gPSBpdGVtcztcblx0XHRcdFx0XHRcdGJyZWFrO1xuICAgICAgICAgIGNhc2UgV2F0Y2hUeXBlcy5URU1QTEFURVM6XG4gICAgICAgICAgY2FzZSBXYXRjaFR5cGVzLlJPVVRFUzpcbiAgICAgICAgICBjYXNlIFdhdGNoVHlwZXMuQlVJTERTOlxuICAgICAgICAgIGNhc2UgV2F0Y2hUeXBlcy5CVUlMRF9DT05GSUdTOlxuICAgICAgICAgIGNhc2UgV2F0Y2hUeXBlcy5JTUFHRV9TVFJFQU1TOlxuICAgICAgICAgICAgLy8gZG9uJ3QgcHV0IGEgYnJlYWsgaGVyZSA6LSlcblx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0JHNjb3BlW3R5cGVdID0gcG9wdWxhdGVLZXlzKG9iamVjdHNbdHlwZV0pO1xuXHRcdFx0XHR9XG4gICAgICAgIGxvZy5kZWJ1ZyhcIlR5cGU6IFwiLCB0eXBlLCBcIiBvYmplY3Q6IFwiLCAkc2NvcGVbdHlwZV0pO1xuXHRcdFx0fSk7XG5cdFx0XHQkc2NvcGUubWF5YmVJbml0KCk7XG4gICAgICAkcm9vdFNjb3BlLiRicm9hZGNhc3QoJ2t1YmVybmV0ZXNNb2RlbFVwZGF0ZWQnLCAkc2NvcGUpO1xuICAgICAgQ29yZS4kYXBwbHkoJHJvb3RTY29wZSk7XG5cdFx0fSk7XG5cbiAgICAvLyBzZXQgdGhlIHNlbGVjdGVkIG5hbWVzcGFjZSBpZiBzZXQgaW4gdGhlIGxvY2F0aW9uIGJhclxuICAgIC8vIG90aGVyd2lzZSB1c2Ugd2hhdGV2ZXIgcHJldmlvdXNseSBzZWxlY3RlZCBuYW1lc3BhY2UgaXNcbiAgICAvLyBhdmFpbGFibGVcbiAgICB2YXIgc2VhcmNoID0gJGxvY2F0aW9uLnNlYXJjaCgpO1xuICAgIGlmICgnbmFtZXNwYWNlJyBpbiBzZWFyY2gpIHtcbiAgICAgIHdhdGNoZXIuc2V0TmFtZXNwYWNlKHNlYXJjaFsnbmFtZXNwYWNlJ10pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHNlbGVjdFBvZHMocG9kcywgbmFtZXNwYWNlLCBsYWJlbHMpIHtcbiAgICAgIHJldHVybiBwb2RzLmZpbHRlcigocG9kKSA9PiB7XG4gICAgICAgIHJldHVybiBnZXROYW1lc3BhY2UocG9kKSA9PT0gbmFtZXNwYWNlICYmIHNlbGVjdG9yTWF0Y2hlcyhsYWJlbHMsIGdldExhYmVscyhwb2QpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gJHNjb3BlO1xuICB9XSk7XG5cbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNNb2RlbC50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgSG9zdENvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiSG9zdENvbnRyb2xsZXJcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRsb2NhdGlvblwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsXG4gICAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6S3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzU3RhdGUsXG4gICAgICAgJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJvdXRlUGFyYW1zLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAgICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICAgICAkc2NvcGUucmF3TW9kZSA9IGZhbHNlO1xuICAgICAgICAkc2NvcGUucmF3TW9kZWwgPSBudWxsO1xuXG4gICAgICAgICRzY29wZS5pdGVtQ29uZmlnID0ge1xuICAgICAgICAgIHByb3BlcnRpZXM6IHt9XG4gICAgICAgIH07XG5cbiAgICAgICAgS3ViZXJuZXRlcy5pbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpO1xuXG4gICAgICAgICRzY29wZS4kb24oJ2t1YmVybmV0ZXNNb2RlbFVwZGF0ZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgdXBkYXRlRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAkc2NvcGUuJG9uKCckcm91dGVVcGRhdGUnLCAoJGV2ZW50KSA9PiB7XG4gICAgICAgICAgdXBkYXRlRGF0YSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAkc2NvcGUuZmxpcFJhdyA9ICgpID0+IHtcbiAgICAgICAgICAkc2NvcGUucmF3TW9kZSA9ICEkc2NvcGUucmF3TW9kZTtcbiAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICB9O1xuXG4gICAgICAgIHVwZGF0ZURhdGEoKTtcblxuICAgICAgICBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuICAgICAgICAgICRzY29wZS5pZCA9ICRyb3V0ZVBhcmFtc1tcImlkXCJdO1xuICAgICAgICAgICRzY29wZS5pdGVtID0gbnVsbDtcbiAgICAgICAgICBpZiAoJHNjb3BlLmlkKSB7XG4gICAgICAgICAgICB2YXIgdXJsID0gVXJsSGVscGVycy5qb2luKEt1YmVybmV0ZXNBcGlVUkwsIFwibm9kZXNcIiwgJHNjb3BlLmlkKTtcbiAgICAgICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAkc2NvcGUuaXRlbSA9IGRhdGE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgkc2NvcGUuaXRlbSkge1xuICAgICAgICAgICAgICAgICAgJHNjb3BlLnJhd01vZGVsID0gSlNPTi5zdHJpbmdpZnkoJHNjb3BlLml0ZW0sIG51bGwsIDIpOyAvLyBzcGFjaW5nIGxldmVsID0gMlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgICB9KS5cbiAgICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBsb2FkIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICRzY29wZS5yYXdNb2RlbCA9IG51bGw7XG4gICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIC8qKlxuICAgKiBTb3J0cyB0aGUgdGhlIGlwIGZpZWxkXG4gICAqXG4gICAqIEBwYXJhbSBpcCB0aGUgaXAgc3VjaCBhcyAnMTAuMS4yLjEzJ1xuICAgKiBAcmV0dXJucyB7YW55fVxuICAgKi9cbiAgZXhwb3J0IGZ1bmN0aW9uIHNvcnRCeVBvZElwKGlwKSA6IGFueSB7XG4gICAgLy8gaSBndWVzcyB0aGVyZSBpcyBtYXliZSBuaWNlciB3YXlzIG9mIHNvcnQgdGhpcyB3aXRob3V0IHBhcnNpbmcgYW5kIHNsaWNpbmdcbiAgICB2YXIgcmVnZXggPSAvKFxcZHsxLDN9KVxcLihcXGR7MSwzfSlcXC4oXFxkezEsM30pXFwuKFxcZHsxLDN9KS87XG4gICAgdmFyIGdyb3VwcyA9IHJlZ2V4LmV4ZWMoaXApO1xuICAgIGlmIChhbmd1bGFyLmlzRGVmaW5lZChncm91cHMpKSB7XG4gICAgICB2YXIgZzEgPSAoXCIwMFwiICsgZ3JvdXBzWzFdKS5zbGljZSgtMyk7XG4gICAgICB2YXIgZzIgPSAoXCIwMFwiICsgZ3JvdXBzWzJdKS5zbGljZSgtMyk7XG4gICAgICB2YXIgZzMgPSAoXCIwMFwiICsgZ3JvdXBzWzNdKS5zbGljZSgtMyk7XG4gICAgICB2YXIgZzQgPSAoXCIwMFwiICsgZ3JvdXBzWzRdKS5zbGljZSgtMyk7XG4gICAgICB2YXIgYW5zd2VyID0gZzEgKyBnMiArIGczICsgZzQ7XG4gICAgICByZXR1cm4gYW5zd2VyO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH1cblxufSIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNNb2RlbC50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJ1dGlsSGVscGVycy50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgSG9zdHNDb250cm9sbGVyID0gY29udHJvbGxlcihcIkhvc3RzQ29udHJvbGxlclwiLCBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzUG9kc1wiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIlNlcnZpY2VSZWdpc3RyeVwiLCBcIiRkaWFsb2dcIiwgXCIkd2luZG93XCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkbG9jYXRpb25cIiwgXCJsb2NhbFN0b3JhZ2VcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDogS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzUG9kczpuZy5JUHJvbWlzZTxuZy5yZXNvdXJjZS5JUmVzb3VyY2VDbGFzcz4sIEt1YmVybmV0ZXNTdGF0ZSwgU2VydmljZVJlZ2lzdHJ5LCAkZGlhbG9nLCAkd2luZG93LCAkdGVtcGxhdGVDYWNoZSwgJHJvdXRlUGFyYW1zLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgbG9jYWxTdG9yYWdlLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAkc2NvcGUuJG9uKCdrdWJlcm5ldGVzTW9kZWxVcGRhdGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICB9KTtcblxuICAgICRzY29wZS50YWJsZUNvbmZpZyA9IHtcbiAgICAgIGRhdGE6ICdtb2RlbC5ob3N0cycsXG4gICAgICBzaG93U2VsZWN0aW9uQ2hlY2tib3g6IGZhbHNlLFxuICAgICAgZW5hYmxlUm93Q2xpY2tTZWxlY3Rpb246IGZhbHNlLFxuICAgICAgbXVsdGlTZWxlY3Q6IGZhbHNlLFxuICAgICAgc2VsZWN0ZWRJdGVtczogW10sXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIGZpbHRlclRleHQ6ICRsb2NhdGlvbi5zZWFyY2goKVtcInFcIl0gfHwgJydcbiAgICAgIH0sXG4gICAgICBjb2x1bW5EZWZzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZDogJ2lkJyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ05hbWUnLFxuICAgICAgICAgIGRlZmF1bHRTb3J0OiB0cnVlLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiaWRUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZDogJ2hvc3RJUCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdJUCcsXG4gICAgICAgICAgY3VzdG9tU29ydEZpZWxkOiAoZmllbGQpID0+IHtcbiAgICAgICAgICAgIC8vIHVzZSBhIGN1c3RvbSBzb3J0IHRvIHNvcnQgaXAgYWRkcmVzc1xuICAgICAgICAgICAgcmV0dXJuIEt1YmVybmV0ZXMuc29ydEJ5UG9kSXAoZmllbGQuaG9zdElQKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgZmllbGQ6ICckcG9kc0xpbmsnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnUG9kcycsXG4gICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJwb2RDb3VudHNBbmRMaW5rVGVtcGxhdGUuaHRtbFwiKSxcbiAgICAgICAgICBjdXN0b21Tb3J0RmllbGQ6IChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgLy8gbmVlZCB0byBjb25jYXQgYWxsIHRoZSBwb2QgY291bnRlcnNcbiAgICAgICAgICAgIHZhciB2YWxpZCA9IGZpZWxkLiRwb2RDb3VudGVycy52YWxpZCB8fCAwO1xuICAgICAgICAgICAgdmFyIHdhaXRpbmcgPSBmaWVsZC4kcG9kQ291bnRlcnMud2FpdGluZyB8fCAwO1xuICAgICAgICAgICAgdmFyIGVycm9yID0gZmllbGQuJHBvZENvdW50ZXJzLmVycm9yIHx8IDA7XG4gICAgICAgICAgICByZXR1cm4gdmFsaWQgKyB3YWl0aW5nICsgZXJyb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcblxuICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcbiAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIEltYWdlUmVwb3NpdG9yaWVzQ29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJJbWFnZVJlcG9zaXRvcmllc0NvbnRyb2xsZXJcIiwgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiS3ViZXJuZXRlc0J1aWxkc1wiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIiRkaWFsb2dcIiwgXCIkd2luZG93XCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkbG9jYXRpb25cIiwgXCJsb2NhbFN0b3JhZ2VcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDpLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UsIEt1YmVybmV0ZXNCdWlsZHMsIEt1YmVybmV0ZXNTdGF0ZSwgJGRpYWxvZywgJHdpbmRvdywgJHRlbXBsYXRlQ2FjaGUsICRyb3V0ZVBhcmFtcywgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsIGxvY2FsU3RvcmFnZSwgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuICAgICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICAgJHNjb3BlLkt1YmVybmV0ZXNCdWlsZHMgPSBLdWJlcm5ldGVzQnVpbGRzO1xuICAgICAgJHNjb3BlLiRvbigna3ViZXJuZXRlc01vZGVsVXBkYXRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgIH0pO1xuXG4gICAgICAkc2NvcGUudGFibGVDb25maWcgPSB7XG4gICAgICAgIGRhdGE6ICdpbWFnZVJlcG9zaXRvcmllcycsXG4gICAgICAgIHNob3dTZWxlY3Rpb25DaGVja2JveDogdHJ1ZSxcbiAgICAgICAgZW5hYmxlUm93Q2xpY2tTZWxlY3Rpb246IGZhbHNlLFxuICAgICAgICBtdWx0aVNlbGVjdDogdHJ1ZSxcbiAgICAgICAgc2VsZWN0ZWRJdGVtczogW10sXG4gICAgICAgIGZpbHRlck9wdGlvbnM6IHtcbiAgICAgICAgICBmaWx0ZXJUZXh0OiAkbG9jYXRpb24uc2VhcmNoKClbXCJxXCJdIHx8ICcnXG4gICAgICAgIH0sXG4gICAgICAgIGNvbHVtbkRlZnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJ21ldGFkYXRhLm5hbWUnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdOYW1lJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdtZXRhZGF0YS5uYW1lc3BhY2UnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdOYW1lc3BhY2UnXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJ3N0YXR1cy5kb2NrZXJJbWFnZVJlcG9zaXRvcnknLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdEb2NrZXIgUmVnaXN0cnknXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZDogJ3RhZ3MnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdUYWdzJyxcbiAgICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KCdpbWFnZVJlZ2lzdHJ5TGFiZWxUZW1wbGF0ZS5odG1sJylcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH07XG5cbiAgICAgIHZhciBsYWJlbENvbG9ycyA9IHtcbiAgICAgICAgJ3Byb2QnOiAnYmFja2dyb3VuZC1ibHVlJyxcbiAgICAgICAgJ3ZhbGlkJzogJ2JhY2tncm91bmQtbGlnaHQtZ3JlZW4nLFxuICAgICAgICAndGVzdCc6ICdiYWNrZ3JvdW5kLWxpZ2h0LWdyZXknXG4gICAgICB9O1xuICAgICAgJHNjb3BlLmxhYmVsQ2xhc3MgPSAobGFiZWxUeXBlOnN0cmluZykgPT4ge1xuICAgICAgICBpZiAoIShsYWJlbFR5cGUgaW4gbGFiZWxDb2xvcnMpKSB7XG4gICAgICAgICAgcmV0dXJuICdtb3VzZS1wb2ludGVyJztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHJldHVybiBsYWJlbENvbG9yc1tsYWJlbFR5cGVdICsgJyBtb3VzZS1wb2ludGVyJztcbiAgICAgIH1cblxuICAgICAgS3ViZXJuZXRlcy5pbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpO1xuXG4gICAgICAkc2NvcGUuZGVsZXRlUHJvbXB0ID0gKHNlbGVjdGVkKSA9PiB7XG4gICAgICAgIFVJLm11bHRpSXRlbUNvbmZpcm1BY3Rpb25EaWFsb2coPFVJLk11bHRpSXRlbUNvbmZpcm1BY3Rpb25PcHRpb25zPntcbiAgICAgICAgICBjb2xsZWN0aW9uOiBzZWxlY3RlZCxcbiAgICAgICAgICBpbmRleDogJyRuYW1lJyxcbiAgICAgICAgICBvbkNsb3NlOiAocmVzdWx0OmJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgZnVuY3Rpb24gZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIG5leHQpIHtcbiAgICAgICAgICAgICAgICBpZiAobmV4dCkge1xuICAgICAgICAgICAgICAgICAgZGVsZXRlRW50aXR5KG5leHQsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIHNlbGVjdGVkLnNoaWZ0KCkpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBkZWxldGVTZWxlY3RlZChzZWxlY3RlZCwgc2VsZWN0ZWQuc2hpZnQoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aXRsZTogJ0RlbGV0ZSBJbWFnZSBSZXBvc2l0b3J5PycsXG4gICAgICAgICAgYWN0aW9uOiAnVGhlIGZvbGxvd2luZyBJbWFnZSBSZXBvc2l0b3JpZXMgd2lsbCBiZSBkZWxldGVkOicsXG4gICAgICAgICAgb2tUZXh0OiAnRGVsZXRlJyxcbiAgICAgICAgICBva0NsYXNzOiAnYnRuLWRhbmdlcicsXG4gICAgICAgICAgY3VzdG9tOiBcIlRoaXMgb3BlcmF0aW9uIGlzIHBlcm1hbmVudCBvbmNlIGNvbXBsZXRlZCFcIixcbiAgICAgICAgICBjdXN0b21DbGFzczogXCJhbGVydCBhbGVydC13YXJuaW5nXCJcbiAgICAgICAgfSkub3BlbigpO1xuICAgICAgfTtcblxuICAgICAgZnVuY3Rpb24gZGVsZXRlRW50aXR5KHNlbGVjdGlvbiwgbmV4dENhbGxiYWNrKSB7XG4gICAgICAgIHZhciBuYW1lID0gKHNlbGVjdGlvbiB8fCB7fSkuJG5hbWU7XG4gICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJBYm91dCB0byBkZWxldGUgaW1hZ2UgcmVwb3NpdG9yeTogXCIgKyBuYW1lKTtcbiAgICAgICAgICB2YXIgdXJsID0gaW1hZ2VSZXBvc2l0b3J5UmVzdFVybChuYW1lKTtcbiAgICAgICAgICAkaHR0cC5kZWxldGUodXJsKS5cbiAgICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgIG5leHRDYWxsYmFjaygpO1xuICAgICAgICAgICAgfSkuXG4gICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gZGVsZXRlIGltYWdlIHJlcG9zaXRvcnkgb24gXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIndhcm5pbmc6IG5vIG5hbWUgZm9yIHNlbGVjdGlvbjogXCIgKyBhbmd1bGFyLnRvSnNvbihzZWxlY3Rpb24pKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuICAgICAgICB2YXIgdXJsID0gaW1hZ2VSZXBvc2l0b3JpZXNSZXN0VVJMKCk7XG4gICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKFwiZ290IGRhdGEgXCIgKyBhbmd1bGFyLnRvSnNvbihkYXRhLCB0cnVlKSk7XG4gICAgICAgICAgICAgICRzY29wZS5pbWFnZVJlcG9zaXRvcmllcyA9IGVucmljaEltYWdlUmVwb3NpdG9yaWVzKGRhdGEuaXRlbXMpO1xuICAgICAgICAgICAgICAkc2NvcGUuZmV0Y2hlZCA9IHRydWU7XG4gICAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkuXG4gICAgICAgICAgZXJyb3IoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBsb2FkIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGVEYXRhKCk7XG4gICAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNIZWxwZXJzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIEt1YmVybmV0ZXNKc29uRGlyZWN0aXZlID0gX21vZHVsZS5kaXJlY3RpdmUoXCJrdWJlcm5ldGVzSnNvblwiLCBbKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICByZXN0cmljdDogJ0EnLFxuICAgICAgcmVwbGFjZTogdHJ1ZSxcbiAgICAgIHRlbXBsYXRlVXJsOiBLdWJlcm5ldGVzLnRlbXBsYXRlUGF0aCArICdrdWJlcm5ldGVzSnNvbkRpcmVjdGl2ZS5odG1sJyxcbiAgICAgIHNjb3BlOiB7XG4gICAgICAgIGNvbmZpZzogJz1rdWJlcm5ldGVzSnNvbidcbiAgICAgIH0sXG4gICAgICBjb250cm9sbGVyOiBbXCIkc2NvcGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkaHR0cFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIiwgXCJtYXJrZWRcIiwgKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgS3ViZXJuZXRlc0FwaVVSTCwgbWFya2VkKSA9PiB7XG5cbiAgICAgICAgJHNjb3BlLiR3YXRjaCgnY29uZmlnJywgKGNvbmZpZykgPT4ge1xuICAgICAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgICAgIGlmIChjb25maWcuZXJyb3IpIHtcbiAgICAgICAgICAgICAgbG9nLmRlYnVnKFwiRXJyb3IgcGFyc2luZyBrdWJlcm5ldGVzIGNvbmZpZzogXCIsIGNvbmZpZy5lcnJvcik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBsb2cuZGVidWcoXCJHb3Qga3ViZXJuZXRlcyBjb25maWd1cmF0aW9uOiBcIiwgY29uZmlnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbG9nLmRlYnVnKFwiS3ViZXJuZXRlcyBjb25maWcgdW5zZXRcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAkc2NvcGUuJG9uKCdXaWtpLlZpZXdQYWdlLkNoaWxkcmVuJywgKCRldmVudCwgcGFnZUlkLCBjaGlsZHJlbikgPT4ge1xuICAgICAgICAgIC8vIGxvZy5kZWJ1ZyhcIkdvdCBicm9hZGNhc3QsIHBhZ2VJZDogXCIsIHBhZ2VJZCwgXCIgY2hpbGRyZW46IFwiLCBjaGlsZHJlbik7XG4gICAgICAgICAgJHNjb3BlLmFwcFRpdGxlID0gcGFnZUlkO1xuICAgICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgdmFyIHN1bW1hcnlGaWxlID0gY2hpbGRyZW4uZmluZCgoY2hpbGQpID0+IHsgcmV0dXJuIGNoaWxkLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gXCJzdW1tYXJ5Lm1kXCI7fSk7XG4gICAgICAgICAgICB2YXIgc3VtbWFyeVVSTDpzdHJpbmcgPSBudWxsO1xuICAgICAgICAgICAgaWYgKHN1bW1hcnlGaWxlKSB7XG4gICAgICAgICAgICAgIHN1bW1hcnlVUkwgPSBXaWtpLmdpdFJlc3RVUkwoc3VtbWFyeUZpbGUuYnJhbmNoLCBzdW1tYXJ5RmlsZS5wYXRoKTtcbiAgICAgICAgICAgICAgJGh0dHAuZ2V0KHN1bW1hcnlVUkwpLlxuICAgICAgICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgICB2YXIgc3VtbWFyeU1hcmtkb3duID0gZGF0YTtcbiAgICAgICAgICAgICAgICAgIGlmIChzdW1tYXJ5TWFya2Rvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgJHNjb3BlLnN1bW1hcnlIdG1sID0gbWFya2VkKHN1bW1hcnlNYXJrZG93bik7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAkc2NvcGUuc3VtbWFyeUh0bWwgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLlxuICAgICAgICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICAgICAgJHNjb3BlLnN1bW1hcnlIdG1sID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGxvYWQgXCIgKyBzdW1tYXJ5VVJMICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGljb25GaWxlID0gY2hpbGRyZW4uZmluZCgoY2hpbGQpID0+IHsgcmV0dXJuIGNoaWxkLm5hbWUudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKFwiaWNvblwiKTsgfSk7XG4gICAgICAgICAgICBpZiAoaWNvbkZpbGUpIHtcbiAgICAgICAgICAgICAgJHNjb3BlLmljb25VUkwgPSBXaWtpLmdpdFJlc3RVUkwoaWNvbkZpbGUuYnJhbmNoLCBpY29uRmlsZS5wYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBmYWJyaWM4UHJvcGVydGllc0ZpbGUgPSBjaGlsZHJlbi5maW5kKChjaGlsZCkgPT4geyByZXR1cm4gY2hpbGQubmFtZS50b0xvd2VyQ2FzZSgpID09PSBcImZhYnJpYzgucHJvcGVydGllc1wiO30pO1xuICAgICAgICAgICAgdmFyIGZhYnJpYzhQcm9wZXJ0aWVzVVJMOnN0cmluZyA9IG51bGw7XG4gICAgICAgICAgICBpZiAoZmFicmljOFByb3BlcnRpZXNGaWxlKSB7XG4gICAgICAgICAgICAgIGZhYnJpYzhQcm9wZXJ0aWVzVVJMID0gV2lraS5naXRSZXN0VVJMKGZhYnJpYzhQcm9wZXJ0aWVzRmlsZS5icmFuY2gsIGZhYnJpYzhQcm9wZXJ0aWVzRmlsZS5wYXRoKTtcbiAgICAgICAgICAgICAgJGh0dHAuZ2V0KGZhYnJpYzhQcm9wZXJ0aWVzVVJMKS5cbiAgICAgICAgICAgICAgICBzdWNjZXNzKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICAgICAgdmFyIGZhYnJpYzhQcm9wZXJ0aWVzID0gZGF0YTtcbiAgICAgICAgICAgICAgICAgIGlmIChmYWJyaWM4UHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZVJFID0gLyg/Om5hbWUpXFxzKj1cXHMqKC4rKVtcXG58JF0vO1xuICAgICAgICAgICAgICAgICAgICB2YXIgbWF0Y2hlcyA9IGZhYnJpYzhQcm9wZXJ0aWVzLm1hdGNoKG5hbWVSRSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaGVzWzFdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmRpc3BsYXlOYW1lID0gbWF0Y2hlc1sxXS5yZXBsYWNlKC9cXFxcL2csICcnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLlxuICAgICAgICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIGZhYnJpYzhQcm9wZXJ0aWVzVVJMICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgJHNjb3BlLmFwcGx5ID0gKCkgPT4ge1xuICAgICAgICAgIHZhciBqc29uID0gYW5ndWxhci50b0pzb24oJHNjb3BlLmNvbmZpZyk7XG4gICAgICAgICAgdmFyIG5hbWUgPSAkc2NvcGUuYXBwVGl0bGUgfHwgXCJBcHBcIjtcbiAgICAgICAgICBydW5BcHAoJGxvY2F0aW9uLCAkc2NvcGUsICRodHRwLCBLdWJlcm5ldGVzQXBpVVJMLCBqc29uLCBuYW1lLCAoKSA9PiB7XG4gICAgICAgICAgICAvLyBub3cgbGV0cyBuYXZpZ2F0ZSB0byB0aGUgYXBwcyBwYWdlIHNvIGZvbGtzIHNlZSB0aGluZ3MgaGFwcGVuXG4gICAgICAgICAgICAkbG9jYXRpb24ucGF0aChcIi9rdWJlcm5ldGVzL2FwcHNcIik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICB9XVxuICAgIH07XG4gIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuIFxuICBleHBvcnQgdmFyIHNjaGVtYSA9IFxue1xuICBcImlkXCI6IFwiaHR0cDovL2ZhYnJpYzguaW8vZmFicmljOC92Mi9TY2hlbWEjXCIsXG4gIFwiJHNjaGVtYVwiOiBcImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvc2NoZW1hI1wiLFxuICBcImRlZmluaXRpb25zXCI6IHtcbiAgICBcImt1YmVybmV0ZXNfQVdTRWxhc3RpY0Jsb2NrU3RvcmVWb2x1bWVTb3VyY2VcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImZzVHlwZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImZpbGUgc3lzdGVtIHR5cGUgdG8gbW91bnRcIlxuICAgICAgICB9LFxuICAgICAgICBcInBhcnRpdGlvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJwYXJ0aXRpb24gb24gdGhlIGRpc2sgdG8gbW91bnQgKGUuZy5cIlxuICAgICAgICB9LFxuICAgICAgICBcInJlYWRPbmx5XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInJlYWQtb25seSBpZiB0cnVlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ2b2x1bWVJRFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInVuaXF1ZSBpZCBvZiB0aGUgUEQgcmVzb3VyY2UgaW4gQVdTXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkFXU0VsYXN0aWNCbG9ja1N0b3JlVm9sdW1lU291cmNlXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19DYXBhYmlsaXRpZXNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFkZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiYWRkZWQgY2FwYWJpbGl0aWVzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJhZGRlZCBjYXBhYmlsaXRpZXNcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJkcm9wXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJkcm9wZWQgY2FwYWJpbGl0aWVzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJkcm9wZWQgY2FwYWJpbGl0aWVzXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5DYXBhYmlsaXRpZXNcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0NvbnRhaW5lclwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXJnc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiY29tbWFuZCBhcnJheTsgdGhlIGRvY2tlciBpbWFnZSdzIGNtZCBpcyB1c2VkIGlmIHRoaXMgaXMgbm90IHByb3ZpZGVkOyBhcmd1bWVudHMgdG8gdGhlIGVudHJ5cG9pbnQ7IGNhbm5vdCBiZSB1cGRhdGVkXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJjb21tYW5kIGFycmF5OyB0aGUgZG9ja2VyIGltYWdlJ3MgY21kIGlzIHVzZWQgaWYgdGhpcyBpcyBub3QgcHJvdmlkZWQ7IGFyZ3VtZW50cyB0byB0aGUgZW50cnlwb2ludDsgY2Fubm90IGJlIHVwZGF0ZWRcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJjb21tYW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJlbnRyeXBvaW50IGFycmF5OyBub3QgZXhlY3V0ZWQgd2l0aGluIGEgc2hlbGw7IHRoZSBkb2NrZXIgaW1hZ2UncyBlbnRyeXBvaW50IGlzIHVzZWQgaWYgdGhpcyBpcyBub3QgcHJvdmlkZWQ7IGNhbm5vdCBiZSB1cGRhdGVkXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJlbnRyeXBvaW50IGFycmF5OyBub3QgZXhlY3V0ZWQgd2l0aGluIGEgc2hlbGw7IHRoZSBkb2NrZXIgaW1hZ2UncyBlbnRyeXBvaW50IGlzIHVzZWQgaWYgdGhpcyBpcyBub3QgcHJvdmlkZWQ7IGNhbm5vdCBiZSB1cGRhdGVkXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiZW52XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgaW4gdGhlIGNvbnRhaW5lcjsgY2Fubm90IGJlIHVwZGF0ZWRcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19FbnZWYXJcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVudlZhclwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiRG9ja2VyIGltYWdlIG5hbWVcIlxuICAgICAgICB9LFxuICAgICAgICBcImltYWdlUHVsbFBvbGljeVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImltYWdlIHB1bGwgcG9saWN5OyBvbmUgb2YgQWx3YXlzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJsaWZlY3ljbGVcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19MaWZlY3ljbGVcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5MaWZlY3ljbGVcIlxuICAgICAgICB9LFxuICAgICAgICBcImxpdmVuZXNzUHJvYmVcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Qcm9iZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlByb2JlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJuYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibmFtZSBvZiB0aGUgY29udGFpbmVyOyBtdXN0IGJlIGEgRE5TX0xBQkVMIGFuZCB1bmlxdWUgd2l0aGluIHRoZSBwb2Q7IGNhbm5vdCBiZSB1cGRhdGVkXCIsXG4gICAgICAgICAgXCJtYXhMZW5ndGhcIjogNjMsXG4gICAgICAgICAgXCJwYXR0ZXJuXCI6IFwiXlthLXowLTldKFstYS16MC05XSpbYS16MC05XSk/JFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicG9ydHNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgcG9ydHMgdG8gZXhwb3NlIGZyb20gdGhlIGNvbnRhaW5lcjsgY2Fubm90IGJlIHVwZGF0ZWRcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Db250YWluZXJQb3J0XCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Db250YWluZXJQb3J0XCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwicmVhZGluZXNzUHJvYmVcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Qcm9iZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlByb2JlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZXNvdXJjZXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19SZXNvdXJjZVJlcXVpcmVtZW50c1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlJlc291cmNlUmVxdWlyZW1lbnRzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWN1cml0eUNvbnRleHRcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19TZWN1cml0eUNvbnRleHRcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZWN1cml0eUNvbnRleHRcIlxuICAgICAgICB9LFxuICAgICAgICBcInRlcm1pbmF0aW9uTWVzc2FnZVBhdGhcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJwYXRoIGF0IHdoaWNoIHRoZSBmaWxlIHRvIHdoaWNoIHRoZSBjb250YWluZXIncyB0ZXJtaW5hdGlvbiBtZXNzYWdlIHdpbGwgYmUgd3JpdHRlbiBpcyBtb3VudGVkIGludG8gdGhlIGNvbnRhaW5lcidzIGZpbGVzeXN0ZW07IG1lc3NhZ2Ugd3JpdHRlbiBpcyBpbnRlbmRlZCB0byBiZSBicmllZiBmaW5hbCBzdGF0dXNcIlxuICAgICAgICB9LFxuICAgICAgICBcInZvbHVtZU1vdW50c1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicG9kIHZvbHVtZXMgdG8gbW91bnQgaW50byB0aGUgY29udGFpbmVyJ3MgZmlsZXN5c3RlOyBjYW5ub3QgYmUgdXBkYXRlZFwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1ZvbHVtZU1vdW50XCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Wb2x1bWVNb3VudFwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIndvcmtpbmdEaXJcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJjb250YWluZXIncyB3b3JraW5nIGRpcmVjdG9yeTsgZGVmYXVsdHMgdG8gaW1hZ2UncyBkZWZhdWx0OyBjYW5ub3QgYmUgdXBkYXRlZFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Db250YWluZXJcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0NvbnRhaW5lclBvcnRcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImNvbnRhaW5lclBvcnRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibnVtYmVyIG9mIHBvcnQgdG8gZXhwb3NlIG9uIHRoZSBwb2QncyBJUCBhZGRyZXNzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJob3N0SVBcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJob3N0IElQIHRvIGJpbmQgdGhlIHBvcnQgdG9cIlxuICAgICAgICB9LFxuICAgICAgICBcImhvc3RQb3J0XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm51bWJlciBvZiBwb3J0IHRvIGV4cG9zZSBvbiB0aGUgaG9zdDsgbW9zdCBjb250YWluZXJzIGRvIG5vdCBuZWVkIHRoaXNcIlxuICAgICAgICB9LFxuICAgICAgICBcIm5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJuYW1lIGZvciB0aGUgcG9ydCB0aGF0IGNhbiBiZSByZWZlcnJlZCB0byBieSBzZXJ2aWNlczsgbXVzdCBiZSBhIEROU19MQUJFTCBhbmQgdW5pcXVlIHdpdGhvdXQgdGhlIHBvZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicHJvdG9jb2xcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJwcm90b2NvbCBmb3IgcG9ydDsgbXVzdCBiZSBVRFAgb3IgVENQOyBUQ1AgaWYgdW5zcGVjaWZpZWRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuQ29udGFpbmVyUG9ydFwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfQ29udGFpbmVyU3RhdGVcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcInJ1bm5pbmdcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Db250YWluZXJTdGF0ZVJ1bm5pbmdcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Db250YWluZXJTdGF0ZVJ1bm5pbmdcIlxuICAgICAgICB9LFxuICAgICAgICBcInRlcm1pbmF0aW9uXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfQ29udGFpbmVyU3RhdGVUZXJtaW5hdGVkXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuQ29udGFpbmVyU3RhdGVUZXJtaW5hdGVkXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ3YWl0aW5nXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfQ29udGFpbmVyU3RhdGVXYWl0aW5nXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuQ29udGFpbmVyU3RhdGVXYWl0aW5nXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkNvbnRhaW5lclN0YXRlXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Db250YWluZXJTdGF0ZVJ1bm5pbmdcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcInN0YXJ0ZWRBdFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRpbWUgYXQgd2hpY2ggdGhlIGNvbnRhaW5lciB3YXMgbGFzdCAocmUtKXN0YXJ0ZWRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuQ29udGFpbmVyU3RhdGVSdW5uaW5nXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Db250YWluZXJTdGF0ZVRlcm1pbmF0ZWRcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImNvbnRhaW5lcklEXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiY29udGFpbmVyJ3MgSUQgaW4gdGhlIGZvcm1hdCAnZG9ja2VyOi8vXFx1MDAzY2NvbnRhaW5lcl9pZFxcdTAwM2UnXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJleGl0Q29kZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJleGl0IHN0YXR1cyBmcm9tIHRoZSBsYXN0IHRlcm1pbmF0aW9uIG9mIHRoZSBjb250YWluZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcImZpbmlzaGVkQXRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aW1lIGF0IHdoaWNoIHRoZSBjb250YWluZXIgbGFzdCB0ZXJtaW5hdGVkXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXNzYWdlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibWVzc2FnZSByZWdhcmRpbmcgdGhlIGxhc3QgdGVybWluYXRpb24gb2YgdGhlIGNvbnRhaW5lclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVhc29uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiKGJyaWVmKSByZWFzb24gZnJvbSB0aGUgbGFzdCB0ZXJtaW5hdGlvbiBvZiB0aGUgY29udGFpbmVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzaWduYWxcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwic2lnbmFsIGZyb20gdGhlIGxhc3QgdGVybWluYXRpb24gb2YgdGhlIGNvbnRhaW5lclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RhcnRlZEF0XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGltZSBhdCB3aGljaCBwcmV2aW91cyBleGVjdXRpb24gb2YgdGhlIGNvbnRhaW5lciBzdGFydGVkXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkNvbnRhaW5lclN0YXRlVGVybWluYXRlZFwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfQ29udGFpbmVyU3RhdGVXYWl0aW5nXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJyZWFzb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCIoYnJpZWYpIHJlYXNvbiB0aGUgY29udGFpbmVyIGlzIG5vdCB5ZXQgcnVubmluZ1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Db250YWluZXJTdGF0ZVdhaXRpbmdcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0NvbnRhaW5lclN0YXR1c1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiY29udGFpbmVySURcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJjb250YWluZXIncyBJRCBpbiB0aGUgZm9ybWF0ICdkb2NrZXI6Ly9cXHUwMDNjY29udGFpbmVyX2lkXFx1MDAzZSdcIlxuICAgICAgICB9LFxuICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaW1hZ2Ugb2YgdGhlIGNvbnRhaW5lclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiaW1hZ2VJRFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIklEIG9mIHRoZSBjb250YWluZXIncyBpbWFnZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibGFzdFN0YXRlXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfQ29udGFpbmVyU3RhdGVcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Db250YWluZXJTdGF0ZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm5hbWUgb2YgdGhlIGNvbnRhaW5lcjsgbXVzdCBiZSBhIEROU19MQUJFTCBhbmQgdW5pcXVlIHdpdGhpbiB0aGUgcG9kOyBjYW5ub3QgYmUgdXBkYXRlZFwiLFxuICAgICAgICAgIFwibWF4TGVuZ3RoXCI6IDYzLFxuICAgICAgICAgIFwicGF0dGVyblwiOiBcIl5bYS16MC05XShbLWEtejAtOV0qW2EtejAtOV0pPyRcIlxuICAgICAgICB9LFxuICAgICAgICBcInJlYWR5XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInNwZWNpZmllcyB3aGV0aGVyIHRoZSBjb250YWluZXIgaGFzIHBhc3NlZCBpdHMgcmVhZGluZXNzIHByb2JlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZXN0YXJ0Q291bnRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIG51bWJlciBvZiB0aW1lcyB0aGUgY29udGFpbmVyIGhhcyBiZWVuIHJlc3RhcnRlZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RhdGVcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Db250YWluZXJTdGF0ZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkNvbnRhaW5lclN0YXRlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkNvbnRhaW5lclN0YXR1c1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfRW1wdHlEaXJWb2x1bWVTb3VyY2VcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcIm1lZGl1bVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInR5cGUgb2Ygc3RvcmFnZSB1c2VkIHRvIGJhY2sgdGhlIHZvbHVtZTsgbXVzdCBiZSBhbiBlbXB0eSBzdHJpbmcgKGRlZmF1bHQpIG9yIE1lbW9yeVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbXB0eURpclZvbHVtZVNvdXJjZVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfRW5kcG9pbnRBZGRyZXNzXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJpcFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIklQIGFkZHJlc3Mgb2YgdGhlIGVuZHBvaW50XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0YXJnZXRSZWZcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RSZWZlcmVuY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RSZWZlcmVuY2VcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuRW5kcG9pbnRBZGRyZXNzXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19FbmRwb2ludFBvcnRcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcIm5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJuYW1lIG9mIHRoaXMgcG9ydFwiLFxuICAgICAgICAgIFwibWF4TGVuZ3RoXCI6IDYzLFxuICAgICAgICAgIFwicGF0dGVyblwiOiBcIl5bYS16MC05XShbLWEtejAtOV0qW2EtejAtOV0pPyRcIlxuICAgICAgICB9LFxuICAgICAgICBcInBvcnRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicG9ydCBudW1iZXIgb2YgdGhlIGVuZHBvaW50XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwcm90b2NvbFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInByb3RvY29sIGZvciB0aGlzIHBvcnQ7IG11c3QgYmUgVURQIG9yIFRDUDsgVENQIGlmIHVuc3BlY2lmaWVkXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVuZHBvaW50UG9ydFwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfRW5kcG9pbnRTdWJzZXRcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFkZHJlc3Nlc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiSVAgYWRkcmVzc2VzIHdoaWNoIG9mZmVyIHRoZSByZWxhdGVkIHBvcnRzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfRW5kcG9pbnRBZGRyZXNzXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbmRwb2ludEFkZHJlc3NcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJwb3J0c1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicG9ydCBudW1iZXJzIGF2YWlsYWJsZSBvbiB0aGUgcmVsYXRlZCBJUCBhZGRyZXNzZXNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19FbmRwb2ludFBvcnRcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVuZHBvaW50UG9ydFwiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuRW5kcG9pbnRTdWJzZXRcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0VuZHBvaW50c1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIkVuZHBvaW50c1wiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdE1ldGFcIlxuICAgICAgICB9LFxuICAgICAgICBcInN1YnNldHNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInNldHMgb2YgYWRkcmVzc2VzIGFuZCBwb3J0cyB0aGF0IGNvbXByaXNlIGEgc2VydmljZVwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0VuZHBvaW50U3Vic2V0XCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbmRwb2ludFN1YnNldFwiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuRW5kcG9pbnRzXCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19FbmRwb2ludHNMaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBlbmRwb2ludHNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19FbmRwb2ludHNcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVuZHBvaW50c1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJFbmRwb2ludHNMaXN0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19MaXN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxpc3RNZXRhXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVuZHBvaW50c0xpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19FbnZWYXJcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcIm5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJuYW1lIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZTsgbXVzdCBiZSBhIENfSURFTlRJRklFUlwiLFxuICAgICAgICAgIFwicGF0dGVyblwiOiBcIl5bQS1aYS16X11bQS1aYS16MC05X10qJFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidmFsdWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ2YWx1ZSBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGU7IGRlZmF1bHRzIHRvIGVtcHR5IHN0cmluZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwidmFsdWVGcm9tXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfRW52VmFyU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuRW52VmFyU291cmNlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVudlZhclwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfRW52VmFyU291cmNlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJmaWVsZFJlZlwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdEZpZWxkU2VsZWN0b3JcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RGaWVsZFNlbGVjdG9yXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVudlZhclNvdXJjZVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfRXhlY0FjdGlvblwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiY29tbWFuZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiY29tbWFuZCBsaW5lIHRvIGV4ZWN1dGUgaW5zaWRlIHRoZSBjb250YWluZXI7IHdvcmtpbmcgZGlyZWN0b3J5IGZvciB0aGUgY29tbWFuZCBpcyByb290ICgnLycpIGluIHRoZSBjb250YWluZXIncyBmaWxlIHN5c3RlbTsgdGhlIGNvbW1hbmQgaXMgZXhlYydkXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJjb21tYW5kIGxpbmUgdG8gZXhlY3V0ZSBpbnNpZGUgdGhlIGNvbnRhaW5lcjsgd29ya2luZyBkaXJlY3RvcnkgZm9yIHRoZSBjb21tYW5kIGlzIHJvb3QgKCcvJykgaW4gdGhlIGNvbnRhaW5lcidzIGZpbGUgc3lzdGVtOyB0aGUgY29tbWFuZCBpcyBleGVjJ2RcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkV4ZWNBY3Rpb25cIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0dDRVBlcnNpc3RlbnREaXNrVm9sdW1lU291cmNlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJmc1R5cGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJmaWxlIHN5c3RlbSB0eXBlIHRvIG1vdW50XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwYXJ0aXRpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicGFydGl0aW9uIG9uIHRoZSBkaXNrIHRvIG1vdW50IChlLmcuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwZE5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ1bmlxdWUgbmFtZSBvZiB0aGUgUEQgcmVzb3VyY2UgaW4gR0NFXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZWFkT25seVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJyZWFkLW9ubHkgaWYgdHJ1ZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5HQ0VQZXJzaXN0ZW50RGlza1ZvbHVtZVNvdXJjZVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfR2l0UmVwb1ZvbHVtZVNvdXJjZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwicmVwb3NpdG9yeVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInJlcG9zaXRvcnkgVVJMXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZXZpc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImNvbW1pdCBoYXNoIGZvciB0aGUgc3BlY2lmaWVkIHJldmlzaW9uXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkdpdFJlcG9Wb2x1bWVTb3VyY2VcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0dsdXN0ZXJmc1ZvbHVtZVNvdXJjZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZW5kcG9pbnRzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZ2x1c3RlciBob3N0cyBlbmRwb2ludHMgbmFtZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicGF0aFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInBhdGggdG8gZ2x1c3RlciB2b2x1bWVcIlxuICAgICAgICB9LFxuICAgICAgICBcInJlYWRPbmx5XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImdsdXN0ZXJmcyB2b2x1bWUgdG8gYmUgbW91bnRlZCB3aXRoIHJlYWQtb25seSBwZXJtaXNzaW9uc1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5HbHVzdGVyZnNWb2x1bWVTb3VyY2VcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0hUVFBHZXRBY3Rpb25cIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImhvc3RcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJob3N0bmFtZSB0byBjb25uZWN0IHRvOyBkZWZhdWx0cyB0byBwb2QgSVBcIlxuICAgICAgICB9LFxuICAgICAgICBcInBhdGhcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJwYXRoIHRvIGFjY2VzcyBvbiB0aGUgSFRUUCBzZXJ2ZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcInBvcnRcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc191dGlsX0ludE9yU3RyaW5nXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwudXRpbC5JbnRPclN0cmluZ1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IVFRQR2V0QWN0aW9uXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19IYW5kbGVyXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJleGVjXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfRXhlY0FjdGlvblwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkV4ZWNBY3Rpb25cIlxuICAgICAgICB9LFxuICAgICAgICBcImh0dHBHZXRcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19IVFRQR2V0QWN0aW9uXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSFRUUEdldEFjdGlvblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidGNwU29ja2V0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfVENQU29ja2V0QWN0aW9uXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuVENQU29ja2V0QWN0aW9uXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhbmRsZXJcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0hvc3RQYXRoVm9sdW1lU291cmNlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJwYXRoXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicGF0aCBvZiB0aGUgZGlyZWN0b3J5IG9uIHRoZSBob3N0XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhvc3RQYXRoVm9sdW1lU291cmNlXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19JU0NTSVZvbHVtZVNvdXJjZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZnNUeXBlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZmlsZSBzeXN0ZW0gdHlwZSB0byBtb3VudFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXFuXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaVNDU0kgUXVhbGlmaWVkIE5hbWVcIlxuICAgICAgICB9LFxuICAgICAgICBcImx1blwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJpc2NzaSB0YXJnZXQgbHVuIG51bWJlclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVhZE9ubHlcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImJvb2xlYW5cIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicmVhZC1vbmx5IGlmIHRydWVcIlxuICAgICAgICB9LFxuICAgICAgICBcInRhcmdldFBvcnRhbFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImlTQ1NJIHRhcmdldCBwb3J0YWxcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSVNDU0lWb2x1bWVTb3VyY2VcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0xpZmVjeWNsZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwicG9zdFN0YXJ0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfSGFuZGxlclwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhbmRsZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcInByZVN0b3BcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19IYW5kbGVyXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFuZGxlclwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5MaWZlY3ljbGVcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0xpc3RcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIG9iamVjdHNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19ydW50aW1lX1Jhd0V4dGVuc2lvblwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiTGlzdFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTGlzdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5MaXN0TWV0YVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5CYXNlS3ViZXJuZXRlc0xpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19MaXN0TWV0YVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwicmVzb3VyY2VWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwic3RyaW5nIHRoYXQgaWRlbnRpZmllcyB0aGUgaW50ZXJuYWwgdmVyc2lvbiBvZiB0aGlzIG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIGJ5IGNsaWVudHMgdG8gZGV0ZXJtaW5lIHdoZW4gb2JqZWN0cyBoYXZlIGNoYW5nZWQ7IHBvcHVsYXRlZCBieSB0aGUgc3lzdGVtXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWxmTGlua1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlVSTCBmb3IgdGhlIG9iamVjdDsgcG9wdWxhdGVkIGJ5IHRoZSBzeXN0ZW1cIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlzdE1ldGFcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX0xvYWRCYWxhbmNlckluZ3Jlc3NcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImhvc3RuYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaG9zdG5hbWUgb2YgaW5ncmVzcyBwb2ludFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXBcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJJUCBhZGRyZXNzIG9mIGluZ3Jlc3MgcG9pbnRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTG9hZEJhbGFuY2VySW5ncmVzc1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfTG9hZEJhbGFuY2VyU3RhdHVzXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJpbmdyZXNzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsb2FkLWJhbGFuY2VyIGluZ3Jlc3MgcG9pbnRzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTG9hZEJhbGFuY2VySW5ncmVzc1wiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTG9hZEJhbGFuY2VySW5ncmVzc1wiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTG9hZEJhbGFuY2VyU3RhdHVzXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Mb2NhbE9iamVjdFJlZmVyZW5jZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwibmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm5hbWUgb2YgdGhlIHJlZmVyZW50XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxvY2FsT2JqZWN0UmVmZXJlbmNlXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19ORlNWb2x1bWVTb3VyY2VcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcInBhdGhcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgcGF0aCB0aGF0IGlzIGV4cG9ydGVkIGJ5IHRoZSBORlMgc2VydmVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZWFkT25seVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJmb3JjZXMgdGhlIE5GUyBleHBvcnQgdG8gYmUgbW91bnRlZCB3aXRoIHJlYWQtb25seSBwZXJtaXNzaW9uc1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwic2VydmVyXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIGhvc3RuYW1lIG9yIElQIGFkZHJlc3Mgb2YgdGhlIE5GUyBzZXJ2ZXJcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTkZTVm9sdW1lU291cmNlXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19OYW1lc3BhY2VcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJOYW1lc3BhY2VcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RNZXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzcGVjXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTmFtZXNwYWNlU3BlY1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5hbWVzcGFjZVNwZWNcIlxuICAgICAgICB9LFxuICAgICAgICBcInN0YXR1c1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX05hbWVzcGFjZVN0YXR1c1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5hbWVzcGFjZVN0YXR1c1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5OYW1lc3BhY2VcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX05hbWVzcGFjZUxpc3RcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJpdGVtcyBpcyB0aGUgbGlzdCBvZiBOYW1lc3BhY2Ugb2JqZWN0cyBpbiB0aGUgbGlzdFwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX05hbWVzcGFjZVwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTmFtZXNwYWNlXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIk5hbWVzcGFjZUxpc3RcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xpc3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlzdE1ldGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTmFtZXNwYWNlTGlzdFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5LdWJlcm5ldGVzUmVzb3VyY2VcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX05hbWVzcGFjZVNwZWNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImZpbmFsaXplcnNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImFuIG9wYXF1ZSBsaXN0IG9mIHZhbHVlcyB0aGF0IG11c3QgYmUgZW1wdHkgdG8gcGVybWFuZW50bHkgcmVtb3ZlIG9iamVjdCBmcm9tIHN0b3JhZ2VcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImFuIG9wYXF1ZSBsaXN0IG9mIHZhbHVlcyB0aGF0IG11c3QgYmUgZW1wdHkgdG8gcGVybWFuZW50bHkgcmVtb3ZlIG9iamVjdCBmcm9tIHN0b3JhZ2VcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5hbWVzcGFjZVNwZWNcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX05hbWVzcGFjZVN0YXR1c1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwicGhhc2VcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJwaGFzZSBpcyB0aGUgY3VycmVudCBsaWZlY3ljbGUgcGhhc2Ugb2YgdGhlIG5hbWVzcGFjZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5OYW1lc3BhY2VTdGF0dXNcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX05vZGVcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJOb2RlXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3BlY1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX05vZGVTcGVjXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTm9kZVNwZWNcIlxuICAgICAgICB9LFxuICAgICAgICBcInN0YXR1c1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX05vZGVTdGF0dXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Ob2RlU3RhdHVzXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5vZGVcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX05vZGVBZGRyZXNzXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhZGRyZXNzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIG5vZGUgYWRkcmVzc1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm5vZGUgYWRkcmVzcyB0eXBlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5vZGVBZGRyZXNzXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Ob2RlQ29uZGl0aW9uXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJsYXN0SGVhcnRiZWF0VGltZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxhc3QgdGltZSB3ZSBnb3QgYW4gdXBkYXRlIG9uIGEgZ2l2ZW4gY29uZGl0aW9uXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJsYXN0VHJhbnNpdGlvblRpbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsYXN0IHRpbWUgdGhlIGNvbmRpdGlvbiB0cmFuc2l0IGZyb20gb25lIHN0YXR1cyB0byBhbm90aGVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXNzYWdlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaHVtYW4gcmVhZGFibGUgbWVzc2FnZSBpbmRpY2F0aW5nIGRldGFpbHMgYWJvdXQgbGFzdCB0cmFuc2l0aW9uXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZWFzb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCIoYnJpZWYpIHJlYXNvbiBmb3IgdGhlIGNvbmRpdGlvbidzIGxhc3QgdHJhbnNpdGlvblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RhdHVzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwic3RhdHVzIG9mIHRoZSBjb25kaXRpb25cIlxuICAgICAgICB9LFxuICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0eXBlIG9mIG5vZGUgY29uZGl0aW9uXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5vZGVDb25kaXRpb25cIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX05vZGVMaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBub2Rlc1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX05vZGVcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5vZGVcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiTm9kZUxpc3RcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xpc3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlzdE1ldGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTm9kZUxpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Ob2RlU3BlY1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZXh0ZXJuYWxJRFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImV4dGVybmFsIElEIGFzc2lnbmVkIHRvIHRoZSBub2RlIGJ5IHNvbWUgbWFjaGluZSBkYXRhYmFzZSAoZS5nLiBhIGNsb3VkIHByb3ZpZGVyKS4gRGVmYXVsdHMgdG8gbm9kZSBuYW1lIHdoZW4gZW1wdHkuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwb2RDSURSXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicG9kIElQIHJhbmdlIGFzc2lnbmVkIHRvIHRoZSBub2RlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ1bnNjaGVkdWxhYmxlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImRpc2FibGUgcG9kIHNjaGVkdWxpbmcgb24gdGhlIG5vZGVcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTm9kZVNwZWNcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX05vZGVTdGF0dXNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFkZHJlc3Nlc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBhZGRyZXNzZXMgcmVhY2hhYmxlIHRvIHRoZSBub2RlXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTm9kZUFkZHJlc3NcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5vZGVBZGRyZXNzXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiY2FwYWNpdHlcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJjb21wdXRlIHJlc291cmNlIGNhcGFjaXR5IG9mIHRoZSBub2RlOyBodHRwOi8vZG9jcy5rOHMuaW8vcmVzb3VyY2VzLm1kXCIsXG4gICAgICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfcmVzb3VyY2VfUXVhbnRpdHlcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLnJlc291cmNlLlF1YW50aXR5XCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJqYXZhLnV0aWwuTWFwXFx1MDAzY1N0cmluZyxpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLnJlc291cmNlLlF1YW50aXR5XFx1MDAzZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiY29uZGl0aW9uc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBub2RlIGNvbmRpdGlvbnMgb2JzZXJ2ZWRcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Ob2RlQ29uZGl0aW9uXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Ob2RlQ29uZGl0aW9uXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwibm9kZUluZm9cIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Ob2RlU3lzdGVtSW5mb1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5vZGVTeXN0ZW1JbmZvXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwaGFzZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm1vc3QgcmVjZW50bHkgb2JzZXJ2ZWQgbGlmZWN5Y2xlIHBoYXNlIG9mIHRoZSBub2RlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5vZGVTdGF0dXNcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX05vZGVTeXN0ZW1JbmZvXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJib290SURcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJib290IGlkIGlzIHRoZSBib290LWlkIHJlcG9ydGVkIGJ5IHRoZSBub2RlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJjb250YWluZXJSdW50aW1lVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkNvbnRhaW5lciBydW50aW1lIHZlcnNpb24gcmVwb3J0ZWQgYnkgdGhlIG5vZGUgdGhyb3VnaCBydW50aW1lIHJlbW90ZSBBUEkgKGUuZy4gZG9ja2VyOi8vMS41LjApXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJrZXJuZWxWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiS2VybmVsIHZlcnNpb24gcmVwb3J0ZWQgYnkgdGhlIG5vZGUgZnJvbSAndW5hbWUgLXInIChlLmcuIDMuMTYuMC0wLmJwby40LWFtZDY0KVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwia3ViZVByb3h5VmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkt1YmUtcHJveHkgdmVyc2lvbiByZXBvcnRlZCBieSB0aGUgbm9kZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwia3ViZWxldFZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJLdWJlbGV0IHZlcnNpb24gcmVwb3J0ZWQgYnkgdGhlIG5vZGVcIlxuICAgICAgICB9LFxuICAgICAgICBcIm1hY2hpbmVJRFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm1hY2hpbmUtaWQgcmVwb3J0ZWQgYnkgdGhlIG5vZGVcIlxuICAgICAgICB9LFxuICAgICAgICBcIm9zSW1hZ2VcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJPUyBpbWFnZSB1c2VkIHJlcG9ydGVkIGJ5IHRoZSBub2RlIGZyb20gL2V0Yy9vcy1yZWxlYXNlIChlLmcuIERlYmlhbiBHTlUvTGludXggNyAod2hlZXp5KSlcIlxuICAgICAgICB9LFxuICAgICAgICBcInN5c3RlbVVVSURcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJzeXN0ZW0tdXVpZCByZXBvcnRlZCBieSB0aGUgbm9kZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Ob2RlU3lzdGVtSW5mb1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfT2JqZWN0RmllbGRTZWxlY3RvclwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInZlcnNpb24gb2YgdGhlIHNjaGVtYSB0aGF0IGZpZWxkUGF0aCBpcyB3cml0dGVuIGluIHRlcm1zIG9mOyBkZWZhdWx0cyB0byB2MVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZmllbGRQYXRoXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicGF0aCBvZiB0aGUgZmllbGQgdG8gc2VsZWN0IGluIHRoZSBzcGVjaWZpZWQgQVBJIHZlcnNpb25cIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0RmllbGRTZWxlY3RvclwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfT2JqZWN0TWV0YVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYW5ub3RhdGlvbnNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJtYXAgb2Ygc3RyaW5nIGtleXMgYW5kIHZhbHVlcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IGV4dGVybmFsIHRvb2xpbmcgdG8gc3RvcmUgYW5kIHJldHJpZXZlIGFyYml0cmFyeSBtZXRhZGF0YSBhYm91dCBvYmplY3RzXCIsXG4gICAgICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJtYXAgb2Ygc3RyaW5nIGtleXMgYW5kIHZhbHVlcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IGV4dGVybmFsIHRvb2xpbmcgdG8gc3RvcmUgYW5kIHJldHJpZXZlIGFyYml0cmFyeSBtZXRhZGF0YSBhYm91dCBvYmplY3RzXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJqYXZhLnV0aWwuTWFwXFx1MDAzY1N0cmluZyxTdHJpbmdcXHUwMDNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJjcmVhdGlvblRpbWVzdGFtcFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlJGQyAzMzM5IGRhdGUgYW5kIHRpbWUgYXQgd2hpY2ggdGhlIG9iamVjdCB3YXMgY3JlYXRlZDsgcG9wdWxhdGVkIGJ5IHRoZSBzeXN0ZW1cIlxuICAgICAgICB9LFxuICAgICAgICBcImRlbGV0aW9uVGltZXN0YW1wXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiUkZDIDMzMzkgZGF0ZSBhbmQgdGltZSBhdCB3aGljaCB0aGUgb2JqZWN0IHdpbGwgYmUgZGVsZXRlZDsgcG9wdWxhdGVkIGJ5IHRoZSBzeXN0ZW0gd2hlbiBhIGdyYWNlZnVsIGRlbGV0aW9uIGlzIHJlcXVlc3RlZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZ2VuZXJhdGVOYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiYW4gb3B0aW9uYWwgcHJlZml4IHRvIHVzZSB0byBnZW5lcmF0ZSBhIHVuaXF1ZSBuYW1lOyBoYXMgdGhlIHNhbWUgdmFsaWRhdGlvbiBydWxlcyBhcyBuYW1lOyBvcHRpb25hbFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibGFiZWxzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibWFwIG9mIHN0cmluZyBrZXlzIGFuZCB2YWx1ZXMgdGhhdCBjYW4gYmUgdXNlZCB0byBvcmdhbml6ZSBhbmQgY2F0ZWdvcml6ZSBvYmplY3RzOyBtYXkgbWF0Y2ggc2VsZWN0b3JzIG9mIHJlcGxpY2F0aW9uIGNvbnRyb2xsZXJzIGFuZCBzZXJ2aWNlc1wiLFxuICAgICAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibWFwIG9mIHN0cmluZyBrZXlzIGFuZCB2YWx1ZXMgdGhhdCBjYW4gYmUgdXNlZCB0byBvcmdhbml6ZSBhbmQgY2F0ZWdvcml6ZSBvYmplY3RzOyBtYXkgbWF0Y2ggc2VsZWN0b3JzIG9mIHJlcGxpY2F0aW9uIGNvbnRyb2xsZXJzIGFuZCBzZXJ2aWNlc1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiamF2YS51dGlsLk1hcFxcdTAwM2NTdHJpbmcsU3RyaW5nXFx1MDAzZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInN0cmluZyB0aGF0IGlkZW50aWZpZXMgYW4gb2JqZWN0LiBNdXN0IGJlIHVuaXF1ZSB3aXRoaW4gYSBuYW1lc3BhY2U7IGNhbm5vdCBiZSB1cGRhdGVkXCIsXG4gICAgICAgICAgXCJtYXhMZW5ndGhcIjogNjMsXG4gICAgICAgICAgXCJwYXR0ZXJuXCI6IFwiXlthLXowLTldKFstYS16MC05XSpbYS16MC05XSk/JFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibmFtZXNwYWNlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibmFtZXNwYWNlIG9mIHRoZSBvYmplY3Q7IG11c3QgYmUgYSBETlNfTEFCRUw7IGNhbm5vdCBiZSB1cGRhdGVkXCIsXG4gICAgICAgICAgXCJtYXhMZW5ndGhcIjogMjUzLFxuICAgICAgICAgIFwicGF0dGVyblwiOiBcIl5bYS16MC05XShbLWEtejAtOV0qW2EtejAtOV0pPyhcXFxcLlthLXowLTldKFstYS16MC05XSpbYS16MC05XSk/KSokXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZXNvdXJjZVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJzdHJpbmcgdGhhdCBpZGVudGlmaWVzIHRoZSBpbnRlcm5hbCB2ZXJzaW9uIG9mIHRoaXMgb2JqZWN0IHRoYXQgY2FuIGJlIHVzZWQgYnkgY2xpZW50cyB0byBkZXRlcm1pbmUgd2hlbiBvYmplY3RzIGhhdmUgY2hhbmdlZDsgcG9wdWxhdGVkIGJ5IHRoZSBzeXN0ZW1cIlxuICAgICAgICB9LFxuICAgICAgICBcInNlbGZMaW5rXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiVVJMIGZvciB0aGUgb2JqZWN0OyBwb3B1bGF0ZWQgYnkgdGhlIHN5c3RlbVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidWlkXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidW5pcXVlIFVVSUQgYWNyb3NzIHNwYWNlIGFuZCB0aW1lOyBwb3B1bGF0ZWQgYnkgdGhlIHN5c3RlbTsgcmVhZC1vbmx5XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdE1ldGFcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX09iamVjdFJlZmVyZW5jZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkFQSSB2ZXJzaW9uIG9mIHRoZSByZWZlcmVudFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZmllbGRQYXRoXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaWYgcmVmZXJyaW5nIHRvIGEgcGllY2Ugb2YgYW4gb2JqZWN0IGluc3RlYWQgb2YgYW4gZW50aXJlIG9iamVjdFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImtpbmQgb2YgdGhlIHJlZmVyZW50XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJuYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibmFtZSBvZiB0aGUgcmVmZXJlbnRcIlxuICAgICAgICB9LFxuICAgICAgICBcIm5hbWVzcGFjZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm5hbWVzcGFjZSBvZiB0aGUgcmVmZXJlbnRcIlxuICAgICAgICB9LFxuICAgICAgICBcInJlc291cmNlVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInNwZWNpZmljIHJlc291cmNlVmVyc2lvbiB0byB3aGljaCB0aGlzIHJlZmVyZW5jZSBpcyBtYWRlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ1aWRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ1aWQgb2YgdGhlIHJlZmVyZW50XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdFJlZmVyZW5jZVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfUGVyc2lzdGVudFZvbHVtZUNsYWltVm9sdW1lU291cmNlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJjbGFpbU5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgbmFtZSBvZiB0aGUgY2xhaW0gaW4gdGhlIHNhbWUgbmFtZXNwYWNlIHRvIGJlIG1vdW50ZWQgYXMgYSB2b2x1bWVcIlxuICAgICAgICB9LFxuICAgICAgICBcInJlYWRPbmx5XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm1vdW50IHZvbHVtZSBhcyByZWFkLW9ubHkgd2hlbiB0cnVlOyBkZWZhdWx0IGZhbHNlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlBlcnNpc3RlbnRWb2x1bWVDbGFpbVZvbHVtZVNvdXJjZVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfUG9kXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiUG9kXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3BlY1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1BvZFNwZWNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Qb2RTcGVjXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzdGF0dXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Qb2RTdGF0dXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Qb2RTdGF0dXNcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUG9kXCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Qb2RDb25kaXRpb25cIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcInN0YXR1c1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInN0YXR1cyBvZiB0aGUgY29uZGl0aW9uXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwia2luZCBvZiB0aGUgY29uZGl0aW9uXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlBvZENvbmRpdGlvblwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfUG9kTGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgcG9kc1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1BvZFwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUG9kXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIlBvZExpc3RcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xpc3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlzdE1ldGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUG9kTGlzdFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5LdWJlcm5ldGVzUmVzb3VyY2VcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1BvZFNwZWNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFjdGl2ZURlYWRsaW5lU2Vjb25kc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiTG9uZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwiY29udGFpbmVyc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBjb250YWluZXJzIGJlbG9uZ2luZyB0byB0aGUgcG9kOyBjYW5ub3QgYmUgdXBkYXRlZDsgY29udGFpbmVycyBjYW5ub3QgY3VycmVudGx5IGJlIGFkZGVkIG9yIHJlbW92ZWQ7IHRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIGNvbnRhaW5lciBpbiBhIFBvZFwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0NvbnRhaW5lclwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuQ29udGFpbmVyXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiZG5zUG9saWN5XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiRE5TIHBvbGljeSBmb3IgY29udGFpbmVycyB3aXRoaW4gdGhlIHBvZDsgb25lIG9mICdDbHVzdGVyRmlyc3QnIG9yICdEZWZhdWx0J1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwiaG9zdFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImhvc3QgcmVxdWVzdGVkIGZvciB0aGlzIHBvZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiaG9zdE5ldHdvcmtcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImJvb2xlYW5cIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaG9zdCBuZXR3b3JraW5nIHJlcXVlc3RlZCBmb3IgdGhpcyBwb2RcIlxuICAgICAgICB9LFxuICAgICAgICBcImltYWdlUHVsbFNlY3JldHNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgcmVmZXJlbmNlcyB0byBzZWNyZXRzIGluIHRoZSBzYW1lIG5hbWVzcGFjZSBhdmFpbGFibGUgZm9yIHB1bGxpbmcgdGhlIGNvbnRhaW5lciBpbWFnZXNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Mb2NhbE9iamVjdFJlZmVyZW5jZVwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTG9jYWxPYmplY3RSZWZlcmVuY2VcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJub2RlU2VsZWN0b3JcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJzZWxlY3RvciB3aGljaCBtdXN0IG1hdGNoIGEgbm9kZSdzIGxhYmVscyBmb3IgdGhlIHBvZCB0byBiZSBzY2hlZHVsZWQgb24gdGhhdCBub2RlXCIsXG4gICAgICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJzZWxlY3RvciB3aGljaCBtdXN0IG1hdGNoIGEgbm9kZSdzIGxhYmVscyBmb3IgdGhlIHBvZCB0byBiZSBzY2hlZHVsZWQgb24gdGhhdCBub2RlXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJqYXZhLnV0aWwuTWFwXFx1MDAzY1N0cmluZyxTdHJpbmdcXHUwMDNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZXN0YXJ0UG9saWN5XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicmVzdGFydCBwb2xpY3kgZm9yIGFsbCBjb250YWluZXJzIHdpdGhpbiB0aGUgcG9kOyBvbmUgb2YgUmVzdGFydFBvbGljeUFsd2F5c1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwic2VydmljZUFjY291bnRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJuYW1lIG9mIHRoZSBTZXJ2aWNlQWNjb3VudCB0byB1c2UgdG8gcnVuIHRoaXMgcG9kXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0ZXJtaW5hdGlvbkdyYWNlUGVyaW9kU2Vjb25kc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJvcHRpb25hbCBkdXJhdGlvbiBpbiBzZWNvbmRzIHRoZSBwb2QgbmVlZHMgdG8gdGVybWluYXRlIGdyYWNlZnVsbHk7IG1heSBiZSBkZWNyZWFzZWQgaW4gZGVsZXRlIHJlcXVlc3Q7IHZhbHVlIG11c3QgYmUgbm9uLW5lZ2F0aXZlIGludGVnZXI7IHRoZSB2YWx1ZSB6ZXJvIGluZGljYXRlcyBkZWxldGUgaW1tZWRpYXRlbHk7IGlmIHRoaXMgdmFsdWUgaXMgbm90IHNldFwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJMb25nXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ2b2x1bWVzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIHZvbHVtZXMgdGhhdCBjYW4gYmUgbW91bnRlZCBieSBjb250YWluZXJzIGJlbG9uZ2luZyB0byB0aGUgcG9kXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfVm9sdW1lXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Wb2x1bWVcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlBvZFNwZWNcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1BvZFN0YXR1c1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiY29uZGl0aW9uc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiY3VycmVudCBzZXJ2aWNlIHN0YXRlIG9mIHBvZFwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1BvZENvbmRpdGlvblwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUG9kQ29uZGl0aW9uXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiY29udGFpbmVyU3RhdHVzZXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgY29udGFpbmVyIHN0YXR1c2VzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfQ29udGFpbmVyU3RhdHVzXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Db250YWluZXJTdGF0dXNcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJob3N0SVBcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJJUCBhZGRyZXNzIG9mIHRoZSBob3N0IHRvIHdoaWNoIHRoZSBwb2QgaXMgYXNzaWduZWQ7IGVtcHR5IGlmIG5vdCB5ZXQgc2NoZWR1bGVkXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXNzYWdlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaHVtYW4gcmVhZGFibGUgbWVzc2FnZSBpbmRpY2F0aW5nIGRldGFpbHMgYWJvdXQgd2h5IHRoZSBwb2QgaXMgaW4gdGhpcyBjb25kaXRpb25cIlxuICAgICAgICB9LFxuICAgICAgICBcInBoYXNlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiY3VycmVudCBjb25kaXRpb24gb2YgdGhlIHBvZC5cIlxuICAgICAgICB9LFxuICAgICAgICBcInBvZElQXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiSVAgYWRkcmVzcyBhbGxvY2F0ZWQgdG8gdGhlIHBvZDsgcm91dGFibGUgYXQgbGVhc3Qgd2l0aGluIHRoZSBjbHVzdGVyOyBlbXB0eSBpZiBub3QgeWV0IGFsbG9jYXRlZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RhcnRUaW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiUkZDIDMzMzkgZGF0ZSBhbmQgdGltZSBhdCB3aGljaCB0aGUgb2JqZWN0IHdhcyBhY2tub3dsZWRnZWQgYnkgdGhlIEt1YmVsZXQuICBUaGlzIGlzIGJlZm9yZSB0aGUgS3ViZWxldCBwdWxsZWQgdGhlIGNvbnRhaW5lciBpbWFnZShzKSBmb3IgdGhlIHBvZC5cIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUG9kU3RhdHVzXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19Qb2RUZW1wbGF0ZVNwZWNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdE1ldGFcIlxuICAgICAgICB9LFxuICAgICAgICBcInNwZWNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Qb2RTcGVjXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUG9kU3BlY1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Qb2RUZW1wbGF0ZVNwZWNcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1Byb2JlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJleGVjXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfRXhlY0FjdGlvblwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkV4ZWNBY3Rpb25cIlxuICAgICAgICB9LFxuICAgICAgICBcImh0dHBHZXRcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19IVFRQR2V0QWN0aW9uXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSFRUUEdldEFjdGlvblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiaW5pdGlhbERlbGF5U2Vjb25kc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJudW1iZXIgb2Ygc2Vjb25kcyBhZnRlciB0aGUgY29udGFpbmVyIGhhcyBzdGFydGVkIGJlZm9yZSBsaXZlbmVzcyBwcm9iZXMgYXJlIGluaXRpYXRlZFwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJMb25nXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0Y3BTb2NrZXRcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19UQ1BTb2NrZXRBY3Rpb25cIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5UQ1BTb2NrZXRBY3Rpb25cIlxuICAgICAgICB9LFxuICAgICAgICBcInRpbWVvdXRTZWNvbmRzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm51bWJlciBvZiBzZWNvbmRzIGFmdGVyIHdoaWNoIGxpdmVuZXNzIHByb2JlcyB0aW1lb3V0OyBkZWZhdWx0cyB0byAxIHNlY29uZFwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJMb25nXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlByb2JlXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19SQkRWb2x1bWVTb3VyY2VcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImZzVHlwZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImZpbGUgc3lzdGVtIHR5cGUgdG8gbW91bnRcIlxuICAgICAgICB9LFxuICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicmFkb3MgaW1hZ2UgbmFtZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwia2V5cmluZ1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImtleXJpbmcgaXMgdGhlIHBhdGggdG8ga2V5IHJpbmcgZm9yIHJhZG9zIHVzZXI7IGRlZmF1bHQgaXMgL2V0Yy9jZXBoL2tleXJpbmc7IG9wdGlvbmFsXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJtb25pdG9yc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiYSBjb2xsZWN0aW9uIG9mIENlcGggbW9uaXRvcnNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImEgY29sbGVjdGlvbiBvZiBDZXBoIG1vbml0b3JzXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwicG9vbFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInJhZG9zIHBvb2wgbmFtZTsgZGVmYXVsdCBpcyByYmQ7IG9wdGlvbmFsXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZWFkT25seVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJyYmQgdm9sdW1lIHRvIGJlIG1vdW50ZWQgd2l0aCByZWFkLW9ubHkgcGVybWlzc2lvbnNcIlxuICAgICAgICB9LFxuICAgICAgICBcInNlY3JldFJlZlwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xvY2FsT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTG9jYWxPYmplY3RSZWZlcmVuY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInVzZXJcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJyYWRvcyB1c2VyIG5hbWU7IGRlZmF1bHQgaXMgYWRtaW47IG9wdGlvbmFsXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlJCRFZvbHVtZVNvdXJjZVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfUmVwbGljYXRpb25Db250cm9sbGVyXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiUmVwbGljYXRpb25Db250cm9sbGVyXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3BlY1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1JlcGxpY2F0aW9uQ29udHJvbGxlclNwZWNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5SZXBsaWNhdGlvbkNvbnRyb2xsZXJTcGVjXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzdGF0dXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19SZXBsaWNhdGlvbkNvbnRyb2xsZXJTdGF0dXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5SZXBsaWNhdGlvbkNvbnRyb2xsZXJTdGF0dXNcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUmVwbGljYXRpb25Db250cm9sbGVyXCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19SZXBsaWNhdGlvbkNvbnRyb2xsZXJMaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiByZXBsaWNhdGlvbiBjb250cm9sbGVyc1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1JlcGxpY2F0aW9uQ29udHJvbGxlclwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUmVwbGljYXRpb25Db250cm9sbGVyXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIlJlcGxpY2F0aW9uQ29udHJvbGxlckxpc3RcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xpc3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlzdE1ldGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUmVwbGljYXRpb25Db250cm9sbGVyTGlzdFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5LdWJlcm5ldGVzUmVzb3VyY2VcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1JlcGxpY2F0aW9uQ29udHJvbGxlclNwZWNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcInJlcGxpY2FzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm51bWJlciBvZiByZXBsaWNhcyBkZXNpcmVkOyBkZWZhdWx0cyB0byAxXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWxlY3RvclwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxhYmVsIGtleXMgYW5kIHZhbHVlcyB0aGF0IG11c3QgbWF0Y2ggaW4gb3JkZXIgdG8gYmUgY29udHJvbGxlZCBieSB0aGlzIHJlcGxpY2F0aW9uIGNvbnRyb2xsZXJcIixcbiAgICAgICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxhYmVsIGtleXMgYW5kIHZhbHVlcyB0aGF0IG11c3QgbWF0Y2ggaW4gb3JkZXIgdG8gYmUgY29udHJvbGxlZCBieSB0aGlzIHJlcGxpY2F0aW9uIGNvbnRyb2xsZXJcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImphdmEudXRpbC5NYXBcXHUwMDNjU3RyaW5nLFN0cmluZ1xcdTAwM2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInRlbXBsYXRlXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfUG9kVGVtcGxhdGVTcGVjXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUG9kVGVtcGxhdGVTcGVjXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0ZW1wbGF0ZVJlZlwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdFJlZmVyZW5jZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdFJlZmVyZW5jZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5SZXBsaWNhdGlvbkNvbnRyb2xsZXJTcGVjXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19SZXBsaWNhdGlvbkNvbnRyb2xsZXJTdGF0dXNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcInJlcGxpY2FzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm1vc3QgcmVjZW50bHkgb2JlcnZlZCBudW1iZXIgb2YgcmVwbGljYXNcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUmVwbGljYXRpb25Db250cm9sbGVyU3RhdHVzXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19SZXNvdXJjZVJlcXVpcmVtZW50c1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwibGltaXRzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiTWF4aW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgYWxsb3dlZFwiLFxuICAgICAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX3Jlc291cmNlX1F1YW50aXR5XCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5yZXNvdXJjZS5RdWFudGl0eVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiamF2YS51dGlsLk1hcFxcdTAwM2NTdHJpbmcsaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5yZXNvdXJjZS5RdWFudGl0eVxcdTAwM2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInJlcXVlc3RzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiTWluaW11bSBhbW91bnQgb2YgcmVzb3VyY2VzIHJlcXVlc3RlZDsgcmVxdWVzdHMgYXJlIGhvbm9yZWQgb25seSBmb3IgcGVyc2lzdGVudCB2b2x1bWVzIGFzIG9mIG5vd1wiLFxuICAgICAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX3Jlc291cmNlX1F1YW50aXR5XCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5yZXNvdXJjZS5RdWFudGl0eVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiamF2YS51dGlsLk1hcFxcdTAwM2NTdHJpbmcsaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5yZXNvdXJjZS5RdWFudGl0eVxcdTAwM2VcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUmVzb3VyY2VSZXF1aXJlbWVudHNcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1NFTGludXhPcHRpb25zXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJsZXZlbFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSBsZXZlbCBsYWJlbCB0byBhcHBseSB0byB0aGUgY29udGFpbmVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyb2xlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIHJvbGUgbGFiZWwgdG8gYXBwbHkgdG8gdGhlIGNvbnRhaW5lclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSB0eXBlIGxhYmVsIHRvIGFwcGx5IHRvIHRoZSBjb250YWluZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcInVzZXJcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgdXNlciBsYWJlbCB0byBhcHBseSB0byB0aGUgY29udGFpbmVyXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNFTGludXhPcHRpb25zXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19TZWNyZXRcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImRhdGFcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJkYXRhIGNvbnRhaW5zIHRoZSBzZWNyZXQgZGF0YS4gIEVhY2gga2V5IG11c3QgYmUgYSB2YWxpZCBETlNfU1VCRE9NQUlOIG9yIGxlYWRpbmcgZG90IGZvbGxvd2VkIGJ5IHZhbGlkIEROU19TVUJET01BSU4uICBFYWNoIHZhbHVlIG11c3QgYmUgYSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgYXMgZGVzY3JpYmVkIGluIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM0NjQ4I3NlY3Rpb24tNFwiLFxuICAgICAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZGF0YSBjb250YWlucyB0aGUgc2VjcmV0IGRhdGEuICBFYWNoIGtleSBtdXN0IGJlIGEgdmFsaWQgRE5TX1NVQkRPTUFJTiBvciBsZWFkaW5nIGRvdCBmb2xsb3dlZCBieSB2YWxpZCBETlNfU1VCRE9NQUlOLiAgRWFjaCB2YWx1ZSBtdXN0IGJlIGEgYmFzZTY0IGVuY29kZWQgc3RyaW5nIGFzIGRlc2NyaWJlZCBpbiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNDY0OCNzZWN0aW9uLTRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImphdmEudXRpbC5NYXBcXHUwMDNjU3RyaW5nLFN0cmluZ1xcdTAwM2VcIlxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJTZWNyZXRcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RNZXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidHlwZSBmYWNpbGl0YXRlcyBwcm9ncmFtbWF0aWMgaGFuZGxpbmcgb2Ygc2VjcmV0IGRhdGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuU2VjcmV0XCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19TZWNyZXRMaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaXRlbXMgaXMgYSBsaXN0IG9mIHNlY3JldCBvYmplY3RzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfU2VjcmV0XCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZWNyZXRcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiU2VjcmV0TGlzdFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTGlzdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5MaXN0TWV0YVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZWNyZXRMaXN0XCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkt1YmVybmV0ZXNSZXNvdXJjZVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfU2VjcmV0Vm9sdW1lU291cmNlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJzZWNyZXROYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwic2VjcmV0TmFtZSBpcyB0aGUgbmFtZSBvZiBhIHNlY3JldCBpbiB0aGUgcG9kJ3MgbmFtZXNwYWNlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlY3JldFZvbHVtZVNvdXJjZVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfU2VjdXJpdHlDb250ZXh0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJjYXBhYmlsaXRpZXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19DYXBhYmlsaXRpZXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5DYXBhYmlsaXRpZXNcIlxuICAgICAgICB9LFxuICAgICAgICBcInByaXZpbGVnZWRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImJvb2xlYW5cIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicnVuIHRoZSBjb250YWluZXIgaW4gcHJpdmlsZWdlZCBtb2RlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJydW5Bc1VzZXJcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIHVzZXIgaWQgdGhhdCBydW5zIHRoZSBmaXJzdCBwcm9jZXNzIGluIHRoZSBjb250YWluZXJcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiTG9uZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwic2VMaW51eE9wdGlvbnNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19TRUxpbnV4T3B0aW9uc1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNFTGludXhPcHRpb25zXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlY3VyaXR5Q29udGV4dFwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfU2VydmljZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIlNlcnZpY2VcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RNZXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzcGVjXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfU2VydmljZVNwZWNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZXJ2aWNlU3BlY1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RhdHVzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfU2VydmljZVN0YXR1c1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlcnZpY2VTdGF0dXNcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuU2VydmljZVwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYXNNZXRhZGF0YVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfU2VydmljZUFjY291bnRcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJTZXJ2aWNlQWNjb3VudFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdE1ldGFcIlxuICAgICAgICB9LFxuICAgICAgICBcInNlY3JldHNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2Ygc2VjcmV0cyB0aGF0IGNhbiBiZSB1c2VkIGJ5IHBvZHMgcnVubmluZyBhcyB0aGlzIHNlcnZpY2UgYWNjb3VudFwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdFJlZmVyZW5jZVwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZXJ2aWNlQWNjb3VudFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYXNNZXRhZGF0YVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfU2VydmljZUFjY291bnRMaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBTZXJ2aWNlQWNjb3VudHNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19TZXJ2aWNlQWNjb3VudFwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuU2VydmljZUFjY291bnRcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiU2VydmljZUFjY291bnRMaXN0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19MaXN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxpc3RNZXRhXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlcnZpY2VBY2NvdW50TGlzdFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5LdWJlcm5ldGVzUmVzb3VyY2VcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1NlcnZpY2VMaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBzZXJ2aWNlc1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1NlcnZpY2VcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlcnZpY2VcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiU2VydmljZUxpc3RcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xpc3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlzdE1ldGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuU2VydmljZUxpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19TZXJ2aWNlUG9ydFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwibmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSBuYW1lIG9mIHRoaXMgcG9ydDsgb3B0aW9uYWwgaWYgb25seSBvbmUgcG9ydCBpcyBkZWZpbmVkXCIsXG4gICAgICAgICAgXCJtYXhMZW5ndGhcIjogNjMsXG4gICAgICAgICAgXCJwYXR0ZXJuXCI6IFwiXlthLXowLTldKFstYS16MC05XSpbYS16MC05XSk/JFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibm9kZVBvcnRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIHBvcnQgb24gZWFjaCBub2RlIG9uIHdoaWNoIHRoaXMgc2VydmljZSBpcyBleHBvc2VkXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwb3J0XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSBwb3J0IG51bWJlciB0aGF0IGlzIGV4cG9zZWRcIlxuICAgICAgICB9LFxuICAgICAgICBcInByb3RvY29sXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIHByb3RvY29sIHVzZWQgYnkgdGhpcyBwb3J0OyBtdXN0IGJlIFVEUCBvciBUQ1A7IFRDUCBpZiB1bnNwZWNpZmllZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidGFyZ2V0UG9ydFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX3V0aWxfSW50T3JTdHJpbmdcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC51dGlsLkludE9yU3RyaW5nXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlcnZpY2VQb3J0XCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19TZXJ2aWNlU3BlY1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZGVwcmVjYXRlZFB1YmxpY0lQc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiZGVwcmVjYXRlZC4gZXh0ZXJuYWxseSB2aXNpYmxlIElQcyAoZS5nLiBsb2FkIGJhbGFuY2VycykgdGhhdCBzaG91bGQgYmUgcHJveGllZCB0byB0aGlzIHNlcnZpY2VcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImRlcHJlY2F0ZWQuIGV4dGVybmFsbHkgdmlzaWJsZSBJUHMgKGUuZy4gbG9hZCBiYWxhbmNlcnMpIHRoYXQgc2hvdWxkIGJlIHByb3hpZWQgdG8gdGhpcyBzZXJ2aWNlXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwicG9ydGFsSVBcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcInBvcnRzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJwb3J0cyBleHBvc2VkIGJ5IHRoZSBzZXJ2aWNlXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfU2VydmljZVBvcnRcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlcnZpY2VQb3J0XCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwic2VsZWN0b3JcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsYWJlbCBrZXlzIGFuZCB2YWx1ZXMgdGhhdCBtdXN0IG1hdGNoIGluIG9yZGVyIHRvIHJlY2VpdmUgdHJhZmZpYyBmb3IgdGhpcyBzZXJ2aWNlOyBpZiBlbXB0eVwiLFxuICAgICAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGFiZWwga2V5cyBhbmQgdmFsdWVzIHRoYXQgbXVzdCBtYXRjaCBpbiBvcmRlciB0byByZWNlaXZlIHRyYWZmaWMgZm9yIHRoaXMgc2VydmljZTsgaWYgZW1wdHlcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImphdmEudXRpbC5NYXBcXHUwMDNjU3RyaW5nLFN0cmluZ1xcdTAwM2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInNlc3Npb25BZmZpbml0eVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImVuYWJsZSBjbGllbnQgSVAgYmFzZWQgc2Vzc2lvbiBhZmZpbml0eTsgbXVzdCBiZSBDbGllbnRJUCBvciBOb25lOyBkZWZhdWx0cyB0byBOb25lXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidHlwZSBvZiB0aGlzIHNlcnZpY2U7IG11c3QgYmUgQ2x1c3RlcklQXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlcnZpY2VTcGVjXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19TZXJ2aWNlU3RhdHVzXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJsb2FkQmFsYW5jZXJcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Mb2FkQmFsYW5jZXJTdGF0dXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Mb2FkQmFsYW5jZXJTdGF0dXNcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuU2VydmljZVN0YXR1c1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfVENQU29ja2V0QWN0aW9uXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJwb3J0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfdXRpbF9JbnRPclN0cmluZ1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLnV0aWwuSW50T3JTdHJpbmdcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuVENQU29ja2V0QWN0aW9uXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19UeXBlTWV0YVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInZlcnNpb24gb2YgdGhlIHNjaGVtYSB0aGUgb2JqZWN0IHNob3VsZCBoYXZlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwia2luZCBvZiBvYmplY3RcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuVHlwZU1ldGFcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1ZvbHVtZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXdzRWxhc3RpY0Jsb2NrU3RvcmVcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19BV1NFbGFzdGljQmxvY2tTdG9yZVZvbHVtZVNvdXJjZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkFXU0VsYXN0aWNCbG9ja1N0b3JlVm9sdW1lU291cmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJlbXB0eURpclwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0VtcHR5RGlyVm9sdW1lU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuRW1wdHlEaXJWb2x1bWVTb3VyY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcImdjZVBlcnNpc3RlbnREaXNrXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfR0NFUGVyc2lzdGVudERpc2tWb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5HQ0VQZXJzaXN0ZW50RGlza1ZvbHVtZVNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZ2l0UmVwb1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0dpdFJlcG9Wb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5HaXRSZXBvVm9sdW1lU291cmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJnbHVzdGVyZnNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19HbHVzdGVyZnNWb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5HbHVzdGVyZnNWb2x1bWVTb3VyY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcImhvc3RQYXRoXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfSG9zdFBhdGhWb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Ib3N0UGF0aFZvbHVtZVNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXNjc2lcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19JU0NTSVZvbHVtZVNvdXJjZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLklTQ1NJVm9sdW1lU291cmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJuYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidm9sdW1lIG5hbWU7IG11c3QgYmUgYSBETlNfTEFCRUwgYW5kIHVuaXF1ZSB3aXRoaW4gdGhlIHBvZFwiLFxuICAgICAgICAgIFwibWF4TGVuZ3RoXCI6IDYzLFxuICAgICAgICAgIFwicGF0dGVyblwiOiBcIl5bYS16MC05XShbLWEtejAtOV0qW2EtejAtOV0pPyRcIlxuICAgICAgICB9LFxuICAgICAgICBcIm5mc1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX05GU1ZvbHVtZVNvdXJjZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5GU1ZvbHVtZVNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicGVyc2lzdGVudFZvbHVtZUNsYWltXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfUGVyc2lzdGVudFZvbHVtZUNsYWltVm9sdW1lU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUGVyc2lzdGVudFZvbHVtZUNsYWltVm9sdW1lU291cmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyYmRcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19SQkRWb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5SQkRWb2x1bWVTb3VyY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInNlY3JldFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1NlY3JldFZvbHVtZVNvdXJjZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlY3JldFZvbHVtZVNvdXJjZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Wb2x1bWVcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1ZvbHVtZU1vdW50XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJtb3VudFBhdGhcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJwYXRoIHdpdGhpbiB0aGUgY29udGFpbmVyIGF0IHdoaWNoIHRoZSB2b2x1bWUgc2hvdWxkIGJlIG1vdW50ZWRcIlxuICAgICAgICB9LFxuICAgICAgICBcIm5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJuYW1lIG9mIHRoZSB2b2x1bWUgdG8gbW91bnRcIlxuICAgICAgICB9LFxuICAgICAgICBcInJlYWRPbmx5XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm1vdW50ZWQgcmVhZC1vbmx5IGlmIHRydWVcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuVm9sdW1lTW91bnRcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX1ZvbHVtZVNvdXJjZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXdzRWxhc3RpY0Jsb2NrU3RvcmVcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19BV1NFbGFzdGljQmxvY2tTdG9yZVZvbHVtZVNvdXJjZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkFXU0VsYXN0aWNCbG9ja1N0b3JlVm9sdW1lU291cmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJlbXB0eURpclwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0VtcHR5RGlyVm9sdW1lU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuRW1wdHlEaXJWb2x1bWVTb3VyY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcImdjZVBlcnNpc3RlbnREaXNrXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfR0NFUGVyc2lzdGVudERpc2tWb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5HQ0VQZXJzaXN0ZW50RGlza1ZvbHVtZVNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZ2l0UmVwb1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0dpdFJlcG9Wb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5HaXRSZXBvVm9sdW1lU291cmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJnbHVzdGVyZnNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19HbHVzdGVyZnNWb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5HbHVzdGVyZnNWb2x1bWVTb3VyY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcImhvc3RQYXRoXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfSG9zdFBhdGhWb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Ib3N0UGF0aFZvbHVtZVNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXNjc2lcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19JU0NTSVZvbHVtZVNvdXJjZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLklTQ1NJVm9sdW1lU291cmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJuZnNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19ORlNWb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5ORlNWb2x1bWVTb3VyY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInBlcnNpc3RlbnRWb2x1bWVDbGFpbVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1BlcnNpc3RlbnRWb2x1bWVDbGFpbVZvbHVtZVNvdXJjZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlBlcnNpc3RlbnRWb2x1bWVDbGFpbVZvbHVtZVNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmJkXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfUkJEVm9sdW1lU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUkJEVm9sdW1lU291cmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzZWNyZXRcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19TZWNyZXRWb2x1bWVTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZWNyZXRWb2x1bWVTb3VyY2VcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuVm9sdW1lU291cmNlXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19iYXNlX0xpc3RNZXRhXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJyZXNvdXJjZVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcInNlbGZMaW5rXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmJhc2UuTGlzdE1ldGFcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX2Jhc2VfU3RhdHVzXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJjb2RlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZGV0YWlsc1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX2Jhc2VfU3RhdHVzRGV0YWlsc1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmJhc2UuU3RhdHVzRGV0YWlsc1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIlN0YXR1c1wiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1lc3NhZ2VcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfYmFzZV9MaXN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmJhc2UuTGlzdE1ldGFcIlxuICAgICAgICB9LFxuICAgICAgICBcInJlYXNvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RhdHVzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmJhc2UuU3RhdHVzXCJcbiAgICB9LFxuICAgIFwia3ViZXJuZXRlc19iYXNlX1N0YXR1c0NhdXNlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJmaWVsZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibWVzc2FnZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVhc29uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmJhc2UuU3RhdHVzQ2F1c2VcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX2Jhc2VfU3RhdHVzRGV0YWlsc1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiY2F1c2VzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19iYXNlX1N0YXR1c0NhdXNlXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5iYXNlLlN0YXR1c0NhdXNlXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiaWRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcInJldHJ5QWZ0ZXJTZWNvbmRzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5iYXNlLlN0YXR1c0RldGFpbHNcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX2Jhc2VfVHlwZU1ldGFcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuYmFzZS5UeXBlTWV0YVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfY29uZmlnX0F1dGhJbmZvXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJjbGllbnQtY2VydGlmaWNhdGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcImNsaWVudC1jZXJ0aWZpY2F0ZS1kYXRhXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJjbGllbnQta2V5XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJjbGllbnQta2V5LWRhdGFcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcImV4dGVuc2lvbnNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX2NvbmZpZ19OYW1lZEV4dGVuc2lvblwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuY29uZmlnLk5hbWVkRXh0ZW5zaW9uXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwicGFzc3dvcmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcInRva2VuXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ1c2VybmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuQXV0aEluZm9cIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX2NvbmZpZ19DbHVzdGVyXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGktdmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiY2VydGlmaWNhdGUtYXV0aG9yaXR5XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJjZXJ0aWZpY2F0ZS1hdXRob3JpdHktZGF0YVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZXh0ZW5zaW9uc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfY29uZmlnX05hbWVkRXh0ZW5zaW9uXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuTmFtZWRFeHRlbnNpb25cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpbnNlY3VyZS1za2lwLXRscy12ZXJpZnlcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImJvb2xlYW5cIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzZXJ2ZXJcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuY29uZmlnLkNsdXN0ZXJcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX2NvbmZpZ19Db25maWdcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcImNsdXN0ZXJzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19jb25maWdfTmFtZWRDbHVzdGVyXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuTmFtZWRDbHVzdGVyXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiY29udGV4dHNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX2NvbmZpZ19OYW1lZENvbnRleHRcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmNvbmZpZy5OYW1lZENvbnRleHRcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJjdXJyZW50LWNvbnRleHRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcImV4dGVuc2lvbnNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX2NvbmZpZ19OYW1lZEV4dGVuc2lvblwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuY29uZmlnLk5hbWVkRXh0ZW5zaW9uXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicHJlZmVyZW5jZXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19jb25maWdfUHJlZmVyZW5jZXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuUHJlZmVyZW5jZXNcIlxuICAgICAgICB9LFxuICAgICAgICBcInVzZXJzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19jb25maWdfTmFtZWRBdXRoSW5mb1wiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuY29uZmlnLk5hbWVkQXV0aEluZm9cIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmNvbmZpZy5Db25maWdcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX2NvbmZpZ19Db250ZXh0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJjbHVzdGVyXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJleHRlbnNpb25zXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19jb25maWdfTmFtZWRFeHRlbnNpb25cIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmNvbmZpZy5OYW1lZEV4dGVuc2lvblwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIm5hbWVzcGFjZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidXNlclwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuQ29udGV4dFwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfY29uZmlnX05hbWVkQXV0aEluZm9cIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcIm5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcInVzZXJcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19jb25maWdfQXV0aEluZm9cIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuQXV0aEluZm9cIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuY29uZmlnLk5hbWVkQXV0aEluZm9cIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX2NvbmZpZ19OYW1lZENsdXN0ZXJcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImNsdXN0ZXJcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19jb25maWdfQ2x1c3RlclwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmNvbmZpZy5DbHVzdGVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJuYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmNvbmZpZy5OYW1lZENsdXN0ZXJcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX2NvbmZpZ19OYW1lZENvbnRleHRcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImNvbnRleHRcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19jb25maWdfQ29udGV4dFwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmNvbmZpZy5Db250ZXh0XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJuYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmNvbmZpZy5OYW1lZENvbnRleHRcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX2NvbmZpZ19OYW1lZEV4dGVuc2lvblwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZXh0ZW5zaW9uXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfcnVudGltZV9SYXdFeHRlbnNpb25cIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYXNNZXRhZGF0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuTmFtZWRFeHRlbnNpb25cIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX2NvbmZpZ19QcmVmZXJlbmNlc1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiY29sb3JzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZXh0ZW5zaW9uc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfY29uZmlnX05hbWVkRXh0ZW5zaW9uXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuTmFtZWRFeHRlbnNpb25cIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmNvbmZpZy5QcmVmZXJlbmNlc1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfZXJyb3JzX1N0YXR1c0Vycm9yXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJFcnJTdGF0dXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19iYXNlX1N0YXR1c1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmJhc2UuU3RhdHVzXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLmVycm9ycy5TdGF0dXNFcnJvclwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfcmVzb3VyY2VfUXVhbnRpdHlcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcIkFtb3VudFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9zcGV0ZXJfaW5mX0RlY1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5jbGllbnQudXRpbC5EZWNcIlxuICAgICAgICB9LFxuICAgICAgICBcIkZvcm1hdFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5yZXNvdXJjZS5RdWFudGl0eVwiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfcnVudGltZV9SYXdFeHRlbnNpb25cIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcIlJhd0pTT05cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgIH0sXG4gICAgXCJrdWJlcm5ldGVzX3V0aWxfSW50T3JTdHJpbmdcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcIkludFZhbFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcIktpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJTdHJWYWxcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwudXRpbC5JbnRPclN0cmluZ1wiXG4gICAgfSxcbiAgICBcImt1YmVybmV0ZXNfd2F0Y2hfV2F0Y2hFdmVudFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwib2JqZWN0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfcnVudGltZV9SYXdFeHRlbnNpb25cIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYXNNZXRhZGF0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSB0eXBlIG9mIHdhdGNoIGV2ZW50OyBtYXkgYmUgQURERURcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkud2F0Y2guV2F0Y2hFdmVudFwiXG4gICAgfSxcbiAgICBcIm9zX2J1aWxkX0J1aWxkXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiQnVpbGRcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RNZXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzcGVjXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0J1aWxkU3BlY1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRTcGVjXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzdGF0dXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfYnVpbGRfQnVpbGRTdGF0dXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkU3RhdHVzXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJvc19idWlsZF9CdWlsZENvbmZpZ1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIkJ1aWxkQ29uZmlnXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3BlY1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9CdWlsZENvbmZpZ1NwZWNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkQ29uZmlnU3BlY1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RhdHVzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0J1aWxkQ29uZmlnU3RhdHVzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZENvbmZpZ1N0YXR1c1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkQ29uZmlnXCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3NfYnVpbGRfQnVpbGRDb25maWdMaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBidWlsZCBjb25maWdzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0J1aWxkQ29uZmlnXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkQ29uZmlnXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIkJ1aWxkQ29uZmlnTGlzdFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTGlzdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5MaXN0TWV0YVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkQ29uZmlnTGlzdFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5LdWJlcm5ldGVzUmVzb3VyY2VcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJvc19idWlsZF9CdWlsZENvbmZpZ1NwZWNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcIm91dHB1dFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9CdWlsZE91dHB1dFwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRPdXRwdXRcIlxuICAgICAgICB9LFxuICAgICAgICBcInJlc291cmNlc1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1Jlc291cmNlUmVxdWlyZW1lbnRzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUmVzb3VyY2VSZXF1aXJlbWVudHNcIlxuICAgICAgICB9LFxuICAgICAgICBcInJldmlzaW9uXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX1NvdXJjZVJldmlzaW9uXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5Tb3VyY2VSZXZpc2lvblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic2VydmljZUFjY291bnRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgbmFtZSBvZiB0aGUgc2VydmljZSBhY2NvdW50IHRvIHVzZSB0byBydW4gcG9kcyBjcmVhdGVkIGJ5IHRoZSBidWlsZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic291cmNlXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0J1aWxkU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZFNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RyYXRlZ3lcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfYnVpbGRfQnVpbGRTdHJhdGVneVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRTdHJhdGVneVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidHJpZ2dlcnNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImRldGVybWluZXMgaG93IG5ldyBidWlsZHMgY2FuIGJlIGxhdW5jaGVkIGZyb20gYSBidWlsZCBjb25maWcuICBpZiBubyB0cmlnZ2VycyBhcmUgZGVmaW5lZFwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9CdWlsZFRyaWdnZXJQb2xpY3lcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRUcmlnZ2VyUG9saWN5XCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkQ29uZmlnU3BlY1wiXG4gICAgfSxcbiAgICBcIm9zX2J1aWxkX0J1aWxkQ29uZmlnU3RhdHVzXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJsYXN0VmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ1c2VkIHRvIGluZm9ybSBhYm91dCBudW1iZXIgb2YgbGFzdCB0cmlnZ2VyZWQgYnVpbGRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZENvbmZpZ1N0YXR1c1wiXG4gICAgfSxcbiAgICBcIm9zX2J1aWxkX0J1aWxkTGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgYnVpbGRzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0J1aWxkXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIkJ1aWxkTGlzdFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTGlzdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5MaXN0TWV0YVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkTGlzdFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5LdWJlcm5ldGVzUmVzb3VyY2VcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJvc19idWlsZF9CdWlsZE91dHB1dFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwicHVzaFNlY3JldFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xvY2FsT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTG9jYWxPYmplY3RSZWZlcmVuY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInRvXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRPdXRwdXRcIlxuICAgIH0sXG4gICAgXCJvc19idWlsZF9CdWlsZFJlcXVlc3RcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJCdWlsZFJlcXVlc3RcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RNZXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZXZpc2lvblwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9Tb3VyY2VSZXZpc2lvblwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuU291cmNlUmV2aXNpb25cIlxuICAgICAgICB9LFxuICAgICAgICBcInRyaWdnZXJlZEJ5SW1hZ2VcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RSZWZlcmVuY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RSZWZlcmVuY2VcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZFJlcXVlc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJvc19idWlsZF9CdWlsZFNvdXJjZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiY29udGV4dERpclwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInNwZWNpZmllcyBzdWItZGlyZWN0b3J5IHdoZXJlIHRoZSBzb3VyY2UgY29kZSBmb3IgdGhlIGFwcGxpY2F0aW9uIGV4aXN0c1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZ2l0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0dpdEJ1aWxkU291cmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5HaXRCdWlsZFNvdXJjZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic291cmNlU2VjcmV0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTG9jYWxPYmplY3RSZWZlcmVuY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Mb2NhbE9iamVjdFJlZmVyZW5jZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInR5cGUgb2Ygc291cmNlIGNvbnRyb2wgbWFuYWdlbWVudCBzeXN0ZW1cIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZFNvdXJjZVwiXG4gICAgfSxcbiAgICBcIm9zX2J1aWxkX0J1aWxkU3BlY1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwib3V0cHV0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0J1aWxkT3V0cHV0XCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZE91dHB1dFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVzb3VyY2VzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfUmVzb3VyY2VSZXF1aXJlbWVudHNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5SZXNvdXJjZVJlcXVpcmVtZW50c1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmV2aXNpb25cIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfYnVpbGRfU291cmNlUmV2aXNpb25cIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLlNvdXJjZVJldmlzaW9uXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzZXJ2aWNlQWNjb3VudFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlIGFjY291bnQgdG8gdXNlIHRvIHJ1biBwb2RzIGNyZWF0ZWQgYnkgdGhlIGJ1aWxkXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzb3VyY2VcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfYnVpbGRfQnVpbGRTb3VyY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkU291cmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzdHJhdGVneVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9CdWlsZFN0cmF0ZWd5XCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZFN0cmF0ZWd5XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRTcGVjXCJcbiAgICB9LFxuICAgIFwib3NfYnVpbGRfQnVpbGRTdGF0dXNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImNhbmNlbGxlZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJkZXNjcmliZXMgaWYgYSBjYW5jZWxpbmcgZXZlbnQgd2FzIHRyaWdnZXJlZCBmb3IgdGhlIGJ1aWxkXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJjb21wbGV0aW9uVGltZXN0YW1wXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwic2VydmVyIHRpbWUgd2hlbiB0aGUgcG9kIHJ1bm5pbmcgdGhpcyBidWlsZCBzdG9wcGVkIHJ1bm5pbmdcIlxuICAgICAgICB9LFxuICAgICAgICBcImNvbmZpZ1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdFJlZmVyZW5jZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdFJlZmVyZW5jZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZHVyYXRpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiYW1vdW50IG9mIHRpbWUgdGhlIGJ1aWxkIGhhcyBiZWVuIHJ1bm5pbmdcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiTG9uZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwibWVzc2FnZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImh1bWFuLXJlYWRhYmxlIG1lc3NhZ2UgaW5kaWNhdGluZyBkZXRhaWxzIGFib3V0IHdoeSB0aGUgYnVpbGQgaGFzIHRoaXMgc3RhdHVzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwaGFzZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm9ic2VydmVkIHBvaW50IGluIHRoZSBidWlsZCBsaWZlY3ljbGVcIlxuICAgICAgICB9LFxuICAgICAgICBcInN0YXJ0VGltZXN0YW1wXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwic2VydmVyIHRpbWUgd2hlbiB0aGlzIGJ1aWxkIHN0YXJ0ZWQgcnVubmluZyBpbiBhIHBvZFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkU3RhdHVzXCJcbiAgICB9LFxuICAgIFwib3NfYnVpbGRfQnVpbGRTdHJhdGVneVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiY3VzdG9tU3RyYXRlZ3lcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfYnVpbGRfQ3VzdG9tQnVpbGRTdHJhdGVneVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQ3VzdG9tQnVpbGRTdHJhdGVneVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZG9ja2VyU3RyYXRlZ3lcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfYnVpbGRfRG9ja2VyQnVpbGRTdHJhdGVneVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRG9ja2VyQnVpbGRTdHJhdGVneVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic291cmNlU3RyYXRlZ3lcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfYnVpbGRfU291cmNlQnVpbGRTdHJhdGVneVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuU291cmNlQnVpbGRTdHJhdGVneVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImlkZW50aWZpZXMgdGhlIHR5cGUgb2YgYnVpbGQgc3RyYXRlZ3lcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZFN0cmF0ZWd5XCJcbiAgICB9LFxuICAgIFwib3NfYnVpbGRfQnVpbGRUcmlnZ2VyUG9saWN5XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJnZW5lcmljXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX1dlYkhvb2tUcmlnZ2VyXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5XZWJIb29rVHJpZ2dlclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZ2l0aHViXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX1dlYkhvb2tUcmlnZ2VyXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5XZWJIb29rVHJpZ2dlclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiaW1hZ2VDaGFuZ2VcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfYnVpbGRfSW1hZ2VDaGFuZ2VUcmlnZ2VyXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5JbWFnZUNoYW5nZVRyaWdnZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcInR5cGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0eXBlIG9mIGJ1aWxkIHRyaWdnZXJcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZFRyaWdnZXJQb2xpY3lcIlxuICAgIH0sXG4gICAgXCJvc19idWlsZF9DdXN0b21CdWlsZFN0cmF0ZWd5XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJlbnZcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzIHlvdSB3YW50IHRvIHBhc3MgaW50byBhIGJ1aWxkZXIgY29udGFpbmVyXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfRW52VmFyXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5FbnZWYXJcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJleHBvc2VEb2NrZXJTb2NrZXRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImJvb2xlYW5cIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiYWxsb3cgcnVubmluZyBEb2NrZXIgY29tbWFuZHMgKGFuZCBidWlsZCBEb2NrZXIgaW1hZ2VzKSBmcm9tIGluc2lkZSB0aGUgY29udGFpbmVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJmcm9tXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwdWxsU2VjcmV0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTG9jYWxPYmplY3RSZWZlcmVuY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Mb2NhbE9iamVjdFJlZmVyZW5jZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkN1c3RvbUJ1aWxkU3RyYXRlZ3lcIlxuICAgIH0sXG4gICAgXCJvc19idWlsZF9Eb2NrZXJCdWlsZFN0cmF0ZWd5XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJmcm9tXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJub0NhY2hlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImlmIHRydWVcIlxuICAgICAgICB9LFxuICAgICAgICBcInB1bGxTZWNyZXRcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Mb2NhbE9iamVjdFJlZmVyZW5jZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxvY2FsT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRG9ja2VyQnVpbGRTdHJhdGVneVwiXG4gICAgfSxcbiAgICBcIm9zX2J1aWxkX0dpdEJ1aWxkU291cmNlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJyZWZcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJpZGVudGlmaWVzIHRoZSBicmFuY2gvdGFnL3JlZiB0byBidWlsZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidXJpXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicG9pbnRzIHRvIHRoZSBzb3VyY2UgdGhhdCB3aWxsIGJlIGJ1aWx0XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuR2l0QnVpbGRTb3VyY2VcIlxuICAgIH0sXG4gICAgXCJvc19idWlsZF9HaXRTb3VyY2VSZXZpc2lvblwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXV0aG9yXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX1NvdXJjZUNvbnRyb2xVc2VyXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5Tb3VyY2VDb250cm9sVXNlclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiY29tbWl0XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaGFzaCBpZGVudGlmeWluZyBhIHNwZWNpZmljIGNvbW1pdFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiY29tbWl0dGVyXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX1NvdXJjZUNvbnRyb2xVc2VyXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5Tb3VyY2VDb250cm9sVXNlclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibWVzc2FnZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImRlc2NyaXB0aW9uIG9mIGEgc3BlY2lmaWMgY29tbWl0XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuR2l0U291cmNlUmV2aXNpb25cIlxuICAgIH0sXG4gICAgXCJvc19idWlsZF9JbWFnZUNoYW5nZVRyaWdnZXJcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImxhc3RUcmlnZ2VyZWRJbWFnZUlEXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidXNlZCBpbnRlcm5hbGx5IHRvIHNhdmUgbGFzdCB1c2VkIGltYWdlIElEIGZvciBidWlsZFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkltYWdlQ2hhbmdlVHJpZ2dlclwiXG4gICAgfSxcbiAgICBcIm9zX2J1aWxkX1NvdXJjZUJ1aWxkU3RyYXRlZ3lcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImVudlwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiYWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgeW91IHdhbnQgdG8gcGFzcyBpbnRvIGEgYnVpbGRlciBjb250YWluZXJcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19FbnZWYXJcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVudlZhclwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImZyb21cIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RSZWZlcmVuY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RSZWZlcmVuY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcImluY3JlbWVudGFsXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImZvcmNlcyB0aGUgc291cmNlIGJ1aWxkIHRvIGRvIGluY3JlbWVudGFsIGJ1aWxkcyBpZiB0cnVlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwdWxsU2VjcmV0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTG9jYWxPYmplY3RSZWZlcmVuY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Mb2NhbE9iamVjdFJlZmVyZW5jZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic2NyaXB0c1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxvY2F0aW9uIG9mIHRoZSBzb3VyY2Ugc2NyaXB0c1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLlNvdXJjZUJ1aWxkU3RyYXRlZ3lcIlxuICAgIH0sXG4gICAgXCJvc19idWlsZF9Tb3VyY2VDb250cm9sVXNlclwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZW1haWxcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJlLW1haWwgb2YgdGhlIHNvdXJjZSBjb250cm9sIHVzZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcIm5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJuYW1lIG9mIHRoZSBzb3VyY2UgY29udHJvbCB1c2VyXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuU291cmNlQ29udHJvbFVzZXJcIlxuICAgIH0sXG4gICAgXCJvc19idWlsZF9Tb3VyY2VSZXZpc2lvblwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZ2l0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0dpdFNvdXJjZVJldmlzaW9uXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5HaXRTb3VyY2VSZXZpc2lvblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInR5cGUgb2YgdGhlIGJ1aWxkIHNvdXJjZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLlNvdXJjZVJldmlzaW9uXCJcbiAgICB9LFxuICAgIFwib3NfYnVpbGRfV2ViSG9va1RyaWdnZXJcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcInNlY3JldFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInNlY3JldCB1c2VkIHRvIHZhbGlkYXRlIHJlcXVlc3RzXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuV2ViSG9va1RyaWdnZXJcIlxuICAgIH0sXG4gICAgXCJvc19kZXBsb3lfQ3VzdG9tRGVwbG95bWVudFN0cmF0ZWd5UGFyYW1zXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJjb21tYW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJvcHRpb25hbGx5IG92ZXJyaWRlcyB0aGUgY29udGFpbmVyIGNvbW1hbmQgKGRlZmF1bHQgaXMgc3BlY2lmaWVkIGJ5IHRoZSBpbWFnZSlcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm9wdGlvbmFsbHkgb3ZlcnJpZGVzIHRoZSBjb250YWluZXIgY29tbWFuZCAoZGVmYXVsdCBpcyBzcGVjaWZpZWQgYnkgdGhlIGltYWdlKVwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImVudmlyb25tZW50XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJlbnZpcm9ubWVudCB2YXJpYWJsZXMgcHJvdmlkZWQgdG8gdGhlIGRlcGxveW1lbnQgcHJvY2VzcyBjb250YWluZXJcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19FbnZWYXJcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVudlZhclwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiYSBEb2NrZXIgaW1hZ2Ugd2hpY2ggY2FuIGNhcnJ5IG91dCBhIGRlcGxveW1lbnRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5DdXN0b21EZXBsb3ltZW50U3RyYXRlZ3lQYXJhbXNcIlxuICAgIH0sXG4gICAgXCJvc19kZXBsb3lfRGVwbG95bWVudENhdXNlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJpbWFnZVRyaWdnZXJcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfZGVwbG95X0RlcGxveW1lbnRDYXVzZUltYWdlVHJpZ2dlclwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRGVwbG95bWVudENhdXNlSW1hZ2VUcmlnZ2VyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIHR5cGUgb2YgdHJpZ2dlciB0aGF0IHJlc3VsdGVkIGluIGEgbmV3IGRlcGxveW1lbnRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5EZXBsb3ltZW50Q2F1c2VcIlxuICAgIH0sXG4gICAgXCJvc19kZXBsb3lfRGVwbG95bWVudENhdXNlSW1hZ2VUcmlnZ2VyXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJmcm9tXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRGVwbG95bWVudENhdXNlSW1hZ2VUcmlnZ2VyXCJcbiAgICB9LFxuICAgIFwib3NfZGVwbG95X0RlcGxveW1lbnRDb25maWdcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJEZXBsb3ltZW50Q29uZmlnXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3BlY1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19kZXBsb3lfRGVwbG95bWVudENvbmZpZ1NwZWNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRlcGxveW1lbnRDb25maWdTcGVjXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzdGF0dXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfZGVwbG95X0RlcGxveW1lbnRDb25maWdTdGF0dXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRlcGxveW1lbnRDb25maWdTdGF0dXNcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5EZXBsb3ltZW50Q29uZmlnXCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3NfZGVwbG95X0RlcGxveW1lbnRDb25maWdMaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiYSBsaXN0IG9mIGRlcGxveW1lbnQgY29uZmlnc1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19kZXBsb3lfRGVwbG95bWVudENvbmZpZ1wiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5EZXBsb3ltZW50Q29uZmlnXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIkRlcGxveW1lbnRDb25maWdMaXN0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19MaXN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxpc3RNZXRhXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRGVwbG95bWVudENvbmZpZ0xpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3NfZGVwbG95X0RlcGxveW1lbnRDb25maWdTcGVjXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJyZXBsaWNhc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgZGVzaXJlZCBudW1iZXIgb2YgcmVwbGljYXNcIlxuICAgICAgICB9LFxuICAgICAgICBcInNlbGVjdG9yXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiYSBsYWJlbCBxdWVyeSBvdmVyIHBvZHMgdGhhdCBzaG91bGQgbWF0Y2ggdGhlIHJlcGxpY2FzIGNvdW50XCIsXG4gICAgICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJhIGxhYmVsIHF1ZXJ5IG92ZXIgcG9kcyB0aGF0IHNob3VsZCBtYXRjaCB0aGUgcmVwbGljYXMgY291bnRcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImphdmEudXRpbC5NYXBcXHUwMDNjU3RyaW5nLFN0cmluZ1xcdTAwM2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInN0cmF0ZWd5XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2RlcGxveV9EZXBsb3ltZW50U3RyYXRlZ3lcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRlcGxveW1lbnRTdHJhdGVneVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidGVtcGxhdGVcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Qb2RUZW1wbGF0ZVNwZWNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5Qb2RUZW1wbGF0ZVNwZWNcIlxuICAgICAgICB9LFxuICAgICAgICBcInRlbXBsYXRlUmVmXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0cmlnZ2Vyc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaG93IG5ldyBkZXBsb3ltZW50cyBhcmUgdHJpZ2dlcmVkXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2RlcGxveV9EZXBsb3ltZW50VHJpZ2dlclBvbGljeVwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5EZXBsb3ltZW50VHJpZ2dlclBvbGljeVwiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5EZXBsb3ltZW50Q29uZmlnU3BlY1wiXG4gICAgfSxcbiAgICBcIm9zX2RlcGxveV9EZXBsb3ltZW50Q29uZmlnU3RhdHVzXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJkZXRhaWxzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2RlcGxveV9EZXBsb3ltZW50RGV0YWlsc1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRGVwbG95bWVudERldGFpbHNcIlxuICAgICAgICB9LFxuICAgICAgICBcImxhdGVzdFZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgY3VycmVudCBkZXBsb3ltZW50IGlzIG91dCBvZiBzeW5jXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRGVwbG95bWVudENvbmZpZ1N0YXR1c1wiXG4gICAgfSxcbiAgICBcIm9zX2RlcGxveV9EZXBsb3ltZW50RGV0YWlsc1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiY2F1c2VzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJleHRlbmRlZCBkYXRhIGFzc29jaWF0ZWQgd2l0aCBhbGwgdGhlIGNhdXNlcyBmb3IgY3JlYXRpbmcgYSBuZXcgZGVwbG95bWVudFwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19kZXBsb3lfRGVwbG95bWVudENhdXNlXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRlcGxveW1lbnRDYXVzZVwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIm1lc3NhZ2VcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJhIHVzZXIgc3BlY2lmaWVkIGNoYW5nZSBtZXNzYWdlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRGVwbG95bWVudERldGFpbHNcIlxuICAgIH0sXG4gICAgXCJvc19kZXBsb3lfRGVwbG95bWVudFN0cmF0ZWd5XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJjdXN0b21QYXJhbXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfZGVwbG95X0N1c3RvbURlcGxveW1lbnRTdHJhdGVneVBhcmFtc1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQ3VzdG9tRGVwbG95bWVudFN0cmF0ZWd5UGFyYW1zXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZWNyZWF0ZVBhcmFtc1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19kZXBsb3lfUmVjcmVhdGVEZXBsb3ltZW50U3RyYXRlZ3lQYXJhbXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLlJlY3JlYXRlRGVwbG95bWVudFN0cmF0ZWd5UGFyYW1zXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZXNvdXJjZXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19SZXNvdXJjZVJlcXVpcmVtZW50c1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlJlc291cmNlUmVxdWlyZW1lbnRzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyb2xsaW5nUGFyYW1zXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2RlcGxveV9Sb2xsaW5nRGVwbG95bWVudFN0cmF0ZWd5UGFyYW1zXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5Sb2xsaW5nRGVwbG95bWVudFN0cmF0ZWd5UGFyYW1zXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0eXBlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIG5hbWUgb2YgYSBkZXBsb3ltZW50IHN0cmF0ZWd5XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRGVwbG95bWVudFN0cmF0ZWd5XCJcbiAgICB9LFxuICAgIFwib3NfZGVwbG95X0RlcGxveW1lbnRUcmlnZ2VySW1hZ2VDaGFuZ2VQYXJhbXNcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImF1dG9tYXRpY1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ3aGV0aGVyIGRldGVjdGlvbiBvZiBhIG5ldyB0YWcgdmFsdWUgc2hvdWxkIHRyaWdnZXIgYSBkZXBsb3ltZW50XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJjb250YWluZXJOYW1lc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicmVzdHJpY3RzIHRhZyB1cGRhdGVzIHRvIGEgc2V0IG9mIGNvbnRhaW5lciBuYW1lcyBpbiB0aGUgcG9kXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJyZXN0cmljdHMgdGFnIHVwZGF0ZXMgdG8gYSBzZXQgb2YgY29udGFpbmVyIG5hbWVzIGluIHRoZSBwb2RcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJmcm9tXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJsYXN0VHJpZ2dlcmVkSW1hZ2VcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgbGFzdCBpbWFnZSB0byBiZSB0cmlnZ2VyZWRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5EZXBsb3ltZW50VHJpZ2dlckltYWdlQ2hhbmdlUGFyYW1zXCJcbiAgICB9LFxuICAgIFwib3NfZGVwbG95X0RlcGxveW1lbnRUcmlnZ2VyUG9saWN5XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJpbWFnZUNoYW5nZVBhcmFtc1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19kZXBsb3lfRGVwbG95bWVudFRyaWdnZXJJbWFnZUNoYW5nZVBhcmFtc1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRGVwbG95bWVudFRyaWdnZXJJbWFnZUNoYW5nZVBhcmFtc1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwidHlwZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSB0eXBlIG9mIHRoZSB0cmlnZ2VyXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRGVwbG95bWVudFRyaWdnZXJQb2xpY3lcIlxuICAgIH0sXG4gICAgXCJvc19kZXBsb3lfRXhlY05ld1BvZEhvb2tcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImNvbW1hbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSBob29rIGNvbW1hbmQgYW5kIGl0cyBhcmd1bWVudHNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSBob29rIGNvbW1hbmQgYW5kIGl0cyBhcmd1bWVudHNcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJjb250YWluZXJOYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIG5hbWUgb2YgYSBjb250YWluZXIgZnJvbSB0aGUgcG9kIHRlbXBsYXRlIHdob3NlIGltYWdlIHdpbGwgYmUgdXNlZCBmb3IgdGhlIGhvb2sgY29udGFpbmVyXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJlbnZcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImVudmlyb25tZW50IHZhcmlhYmxlcyBwcm92aWRlZCB0byB0aGUgaG9vayBjb250YWluZXJcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19FbnZWYXJcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVudlZhclwiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5FeGVjTmV3UG9kSG9va1wiXG4gICAgfSxcbiAgICBcIm9zX2RlcGxveV9MaWZlY3ljbGVIb29rXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJleGVjTmV3UG9kXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2RlcGxveV9FeGVjTmV3UG9kSG9va1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuRXhlY05ld1BvZEhvb2tcIlxuICAgICAgICB9LFxuICAgICAgICBcImZhaWx1cmVQb2xpY3lcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ3aGF0IGFjdGlvbiB0byB0YWtlIGlmIHRoZSBob29rIGZhaWxzXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuTGlmZWN5Y2xlSG9va1wiXG4gICAgfSxcbiAgICBcIm9zX2RlcGxveV9SZWNyZWF0ZURlcGxveW1lbnRTdHJhdGVneVBhcmFtc1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwicG9zdFwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19kZXBsb3lfTGlmZWN5Y2xlSG9va1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuTGlmZWN5Y2xlSG9va1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwicHJlXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2RlcGxveV9MaWZlY3ljbGVIb29rXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5MaWZlY3ljbGVIb29rXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuUmVjcmVhdGVEZXBsb3ltZW50U3RyYXRlZ3lQYXJhbXNcIlxuICAgIH0sXG4gICAgXCJvc19kZXBsb3lfUm9sbGluZ0RlcGxveW1lbnRTdHJhdGVneVBhcmFtc1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiaW50ZXJ2YWxTZWNvbmRzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSB0aW1lIHRvIHdhaXQgYmV0d2VlbiBwb2xsaW5nIGRlcGxveW1lbnQgc3RhdHVzIGFmdGVyIHVwZGF0ZVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJMb25nXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwb3N0XCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2RlcGxveV9MaWZlY3ljbGVIb29rXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5MaWZlY3ljbGVIb29rXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJwcmVcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfZGVwbG95X0xpZmVjeWNsZUhvb2tcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkxpZmVjeWNsZUhvb2tcIlxuICAgICAgICB9LFxuICAgICAgICBcInRpbWVvdXRTZWNvbmRzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSB0aW1lIHRvIHdhaXQgZm9yIHVwZGF0ZXMgYmVmb3JlIGdpdmluZyB1cFwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJMb25nXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ1cGRhdGVQZXJpb2RTZWNvbmRzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSB0aW1lIHRvIHdhaXQgYmV0d2VlbiBpbmRpdmlkdWFsIHBvZCB1cGRhdGVzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcIkxvbmdcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5Sb2xsaW5nRGVwbG95bWVudFN0cmF0ZWd5UGFyYW1zXCJcbiAgICB9LFxuICAgIFwib3NfaW1hZ2VfSW1hZ2VcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImRvY2tlckltYWdlTWFuaWZlc3RcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJyYXcgSlNPTiBvZiB0aGUgbWFuaWZlc3RcIlxuICAgICAgICB9LFxuICAgICAgICBcImRvY2tlckltYWdlTWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19ydW50aW1lX1Jhd0V4dGVuc2lvblwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJkb2NrZXJJbWFnZU1ldGFkYXRhVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImNvbnZleXMgdmVyc2lvbiBvZiB0aGUgb2JqZWN0XCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJkb2NrZXJJbWFnZVJlZmVyZW5jZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInN0cmluZyB0aGF0IGNhbiBiZSB1c2VkIHRvIHB1bGwgdGhpcyBpbWFnZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIkltYWdlXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkltYWdlXCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3NfaW1hZ2VfSW1hZ2VMaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBpbWFnZSBvYmplY3RzXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2ltYWdlX0ltYWdlXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkltYWdlXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIkltYWdlTGlzdFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTGlzdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5MaXN0TWV0YVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkltYWdlTGlzdFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5LdWJlcm5ldGVzUmVzb3VyY2VcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJvc19pbWFnZV9JbWFnZVN0cmVhbVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIkltYWdlU3RyZWFtXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3BlY1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19pbWFnZV9JbWFnZVN0cmVhbVNwZWNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkltYWdlU3RyZWFtU3BlY1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwic3RhdHVzXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2ltYWdlX0ltYWdlU3RyZWFtU3RhdHVzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5JbWFnZVN0cmVhbVN0YXR1c1wiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkltYWdlU3RyZWFtXCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3NfaW1hZ2VfSW1hZ2VTdHJlYW1MaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBpbWFnZSBzdHJlYW0gb2JqZWN0c1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19pbWFnZV9JbWFnZVN0cmVhbVwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5JbWFnZVN0cmVhbVwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJJbWFnZVN0cmVhbUxpc3RcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xpc3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlzdE1ldGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5JbWFnZVN0cmVhbUxpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3NfaW1hZ2VfSW1hZ2VTdHJlYW1TcGVjXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJkb2NrZXJJbWFnZVJlcG9zaXRvcnlcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJvcHRpb25hbCBmaWVsZCBpZiBzcGVjaWZpZWQgdGhpcyBzdHJlYW0gaXMgYmFja2VkIGJ5IGEgRG9ja2VyIHJlcG9zaXRvcnkgb24gdGhpcyBzZXJ2ZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcInRhZ3NcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm1hcCBhcmJpdHJhcnkgc3RyaW5nIHZhbHVlcyB0byBzcGVjaWZpYyBpbWFnZSBsb2NhdG9yc1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19pbWFnZV9OYW1lZFRhZ1JlZmVyZW5jZVwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5OYW1lZFRhZ1JlZmVyZW5jZVwiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5JbWFnZVN0cmVhbVNwZWNcIlxuICAgIH0sXG4gICAgXCJvc19pbWFnZV9JbWFnZVN0cmVhbVN0YXR1c1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZG9ja2VySW1hZ2VSZXBvc2l0b3J5XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicmVwcmVzZW50cyB0aGUgZWZmZWN0aXZlIGxvY2F0aW9uIHRoaXMgc3RyZWFtIG1heSBiZSBhY2Nlc3NlZCBhdFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidGFnc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaGlzdG9yaWNhbCByZWNvcmQgb2YgaW1hZ2VzIGFzc29jaWF0ZWQgd2l0aCBlYWNoIHRhZ1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19pbWFnZV9OYW1lZFRhZ0V2ZW50TGlzdFwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5OYW1lZFRhZ0V2ZW50TGlzdFwiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5JbWFnZVN0cmVhbVN0YXR1c1wiXG4gICAgfSxcbiAgICBcIm9zX2ltYWdlX05hbWVkVGFnRXZlbnRMaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiB0YWcgZXZlbnRzIHJlbGF0ZWQgdG8gdGhlIHRhZ1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19pbWFnZV9UYWdFdmVudFwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5UYWdFdmVudFwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInRhZ1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInRoZSB0YWdcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5OYW1lZFRhZ0V2ZW50TGlzdFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5LdWJlcm5ldGVzUmVzb3VyY2VcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJvc19pbWFnZV9OYW1lZFRhZ1JlZmVyZW5jZVwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYW5ub3RhdGlvbnNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJhbm5vdGF0aW9ucyBhc3NvY2lhdGVkIHdpdGggaW1hZ2VzIHVzaW5nIHRoaXMgdGFnXCIsXG4gICAgICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB7XG4gICAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJhbm5vdGF0aW9ucyBhc3NvY2lhdGVkIHdpdGggaW1hZ2VzIHVzaW5nIHRoaXMgdGFnXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJqYXZhLnV0aWwuTWFwXFx1MDAzY1N0cmluZyxTdHJpbmdcXHUwMDNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJmcm9tXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0UmVmZXJlbmNlXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0UmVmZXJlbmNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJuYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibmFtZSBvZiB0YWdcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5OYW1lZFRhZ1JlZmVyZW5jZVwiXG4gICAgfSxcbiAgICBcIm9zX2ltYWdlX1RhZ0V2ZW50XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJjcmVhdGVkXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwid2hlbiB0aGUgZXZlbnQgd2FzIGNyZWF0ZWRcIlxuICAgICAgICB9LFxuICAgICAgICBcImRvY2tlckltYWdlUmVmZXJlbmNlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidGhlIHN0cmluZyB0aGF0IGNhbiBiZSB1c2VkIHRvIHB1bGwgdGhpcyBpbWFnZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiaW1hZ2VcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ0aGUgaW1hZ2VcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5UYWdFdmVudFwiXG4gICAgfSxcbiAgICBcIm9zX29hdXRoX09BdXRoQWNjZXNzVG9rZW5cIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImF1dGhvcml6ZVRva2VuXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiY29udGFpbnMgdGhlIHRva2VuIHRoYXQgYXV0aG9yaXplZCB0aGlzIHRva2VuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJjbGllbnROYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicmVmZXJlbmNlcyB0aGUgY2xpZW50IHRoYXQgY3JlYXRlZCB0aGlzIHRva2VuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJleHBpcmVzSW5cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImludGVnZXJcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiaXMgdGhlIHNlY29uZHMgZnJvbSBjcmVhdGlvbiB0aW1lIGJlZm9yZSB0aGlzIHRva2VuIGV4cGlyZXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiTG9uZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIk9BdXRoQWNjZXNzVG9rZW5cIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RNZXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZWRpcmVjdFVSSVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInJlZGlyZWN0aW9uIFVSSSBhc3NvY2lhdGVkIHdpdGggdGhlIHRva2VuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJyZWZyZXNoVG9rZW5cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJvcHRpb25hbCB2YWx1ZSBieSB3aGljaCB0aGlzIHRva2VuIGNhbiBiZSByZW5ld2VkXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzY29wZXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgcmVxdWVzdGVkIHNjb3Blc1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiByZXF1ZXN0ZWQgc2NvcGVzXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwidXNlck5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ1c2VyIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgdG9rZW5cIlxuICAgICAgICB9LFxuICAgICAgICBcInVzZXJVSURcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJ1bmlxdWUgVUlEIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHRva2VuXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhBY2Nlc3NUb2tlblwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5IYXNNZXRhZGF0YVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcIm9zX29hdXRoX09BdXRoQWNjZXNzVG9rZW5MaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBvYXV0aCBhY2Nlc3MgdG9rZW5zXCIsXG4gICAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX29hdXRoX09BdXRoQWNjZXNzVG9rZW5cIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhBY2Nlc3NUb2tlblwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJPQXV0aEFjY2Vzc1Rva2VuTGlzdFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTGlzdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5MaXN0TWV0YVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLk9BdXRoQWNjZXNzVG9rZW5MaXN0XCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkt1YmVybmV0ZXNSZXNvdXJjZVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcIm9zX29hdXRoX09BdXRoQXV0aG9yaXplVG9rZW5cIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImNsaWVudE5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJyZWZlcmVuY2VzIHRoZSBjbGllbnQgdGhhdCBjcmVhdGVkIHRoaXMgdG9rZW5cIlxuICAgICAgICB9LFxuICAgICAgICBcImV4cGlyZXNJblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiaW50ZWdlclwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJzZWNvbmRzIGZyb20gY3JlYXRpb24gdGltZSBiZWZvcmUgdGhpcyB0b2tlbiBleHBpcmVzXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcIkxvbmdcIlxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJPQXV0aEF1dGhvcml6ZVRva2VuXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuT2JqZWN0TWV0YVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicmVkaXJlY3RVUklcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJyZWRpcmVjdGlvbiBVUkkgYXNzb2NpYXRlZCB3aXRoIHRoZSB0b2tlblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwic2NvcGVzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIHJlcXVlc3RlZCBzY29wZXNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2YgcmVxdWVzdGVkIHNjb3Blc1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInN0YXRlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwic3RhdGUgZGF0YSBmcm9tIHJlcXVlc3RcIlxuICAgICAgICB9LFxuICAgICAgICBcInVzZXJOYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidXNlciBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHRva2VuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ1c2VyVUlEXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidW5pcXVlIFVJRCBhc3NvY2lhdGVkIHdpdGggdGhpcyB0b2tlbi4gIHVzZXJVSUQgYW5kIHVzZXJOYW1lIG11c3QgYm90aCBtYXRjaCBmb3IgdGhpcyB0b2tlbiB0byBiZSB2YWxpZFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLk9BdXRoQXV0aG9yaXplVG9rZW5cIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJvc19vYXV0aF9PQXV0aEF1dGhvcml6ZVRva2VuTGlzdFwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiYXBpVmVyc2lvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcInYxXCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgIFwiZW51bVwiOiBbXG4gICAgICAgICAgICBcInYxXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcImFycmF5XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImxpc3Qgb2Ygb2F1dGggYXV0aG9yaXphdGlvbiB0b2tlbnNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3Nfb2F1dGhfT0F1dGhBdXRob3JpemVUb2tlblwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5PQXV0aEF1dGhvcml6ZVRva2VuXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIk9BdXRoQXV0aG9yaXplVG9rZW5MaXN0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19MaXN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxpc3RNZXRhXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhBdXRob3JpemVUb2tlbkxpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3Nfb2F1dGhfT0F1dGhDbGllbnRcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJPQXV0aENsaWVudFwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdE1ldGFcIlxuICAgICAgICB9LFxuICAgICAgICBcInJlZGlyZWN0VVJJc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidmFsaWQgcmVkaXJlY3Rpb24gVVJJcyBhc3NvY2lhdGVkIHdpdGggYSBjbGllbnRcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInZhbGlkIHJlZGlyZWN0aW9uIFVSSXMgYXNzb2NpYXRlZCB3aXRoIGEgY2xpZW50XCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwicmVzcG9uZFdpdGhDaGFsbGVuZ2VzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImluZGljYXRlcyB3aGV0aGVyIHRoZSBjbGllbnQgd2FudHMgYXV0aGVudGljYXRpb24gbmVlZGVkIHJlc3BvbnNlcyBtYWRlIGluIHRoZSBmb3JtIG9mIGNoYWxsZW5nZXMgaW5zdGVhZCBvZiByZWRpcmVjdHNcIlxuICAgICAgICB9LFxuICAgICAgICBcInNlY3JldFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInVuaXF1ZSBzZWNyZXQgYXNzb2NpYXRlZCB3aXRoIGEgY2xpZW50XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhDbGllbnRcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJvc19vYXV0aF9PQXV0aENsaWVudEF1dGhvcml6YXRpb25cIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImNsaWVudE5hbWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJyZWZlcmVuY2VzIHRoZSBjbGllbnQgdGhhdCBjcmVhdGVkIHRoaXMgYXV0aG9yaXphdGlvblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwia2luZFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgICAgIFwiZGVmYXVsdFwiOiBcIk9BdXRoQ2xpZW50QXV0aG9yaXphdGlvblwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcIm1ldGFkYXRhXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfT2JqZWN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk9iamVjdE1ldGFcIlxuICAgICAgICB9LFxuICAgICAgICBcInNjb3Blc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBncmFudGVkIHNjb3Blc1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBncmFudGVkIHNjb3Blc1wiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcInVzZXJOYW1lXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwidXNlciBuYW1lIHRoYXQgYXV0aG9yaXplZCB0aGlzIGNsaWVudFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidXNlclVJRFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInVuaXF1ZSBVSUQgYXNzb2NpYXRlZCB3aXRoIHRoaXMgYXV0aG9yaXphdGlvbi4gdXNlclVJRCBhbmQgdXNlck5hbWUgbXVzdCBib3RoIG1hdGNoIGZvciB0aGlzIGF1dGhvcml6YXRpb24gdG8gYmUgdmFsaWRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5PQXV0aENsaWVudEF1dGhvcml6YXRpb25cIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJvc19vYXV0aF9PQXV0aENsaWVudEF1dGhvcml6YXRpb25MaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiBvYXV0aCBjbGllbnQgYXV0aG9yaXphdGlvbnNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3Nfb2F1dGhfT0F1dGhDbGllbnRBdXRob3JpemF0aW9uXCIsXG4gICAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLk9BdXRoQ2xpZW50QXV0aG9yaXphdGlvblwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJPQXV0aENsaWVudEF1dGhvcml6YXRpb25MaXN0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19MaXN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxpc3RNZXRhXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhDbGllbnRBdXRob3JpemF0aW9uTGlzdFwiLFxuICAgICAgXCJqYXZhSW50ZXJmYWNlc1wiOiBbXG4gICAgICAgIFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5LdWJlcm5ldGVzUmVzb3VyY2VcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJvc19vYXV0aF9PQXV0aENsaWVudExpc3RcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIG9hdXRoIGNsaWVudHNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3Nfb2F1dGhfT0F1dGhDbGllbnRcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhDbGllbnRcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiT0F1dGhDbGllbnRMaXN0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19MaXN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxpc3RNZXRhXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhDbGllbnRMaXN0XCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkt1YmVybmV0ZXNSZXNvdXJjZVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcIm9zX3JvdXRlX1JvdXRlXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiUm91dGVcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RNZXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzcGVjXCI6IHtcbiAgICAgICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX3JvdXRlX1JvdXRlU3BlY1wiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuUm91dGVTcGVjXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJzdGF0dXNcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3Nfcm91dGVfUm91dGVTdGF0dXNcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLlJvdXRlU3RhdHVzXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuUm91dGVcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgICAgXVxuICAgIH0sXG4gICAgXCJvc19yb3V0ZV9Sb3V0ZUxpc3RcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIHJvdXRlc1wiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19yb3V0ZV9Sb3V0ZVwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5Sb3V0ZVwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJSb3V0ZUxpc3RcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0xpc3RNZXRhXCIsXG4gICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTGlzdE1ldGFcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5Sb3V0ZUxpc3RcIixcbiAgICAgIFwiamF2YUludGVyZmFjZXNcIjogW1xuICAgICAgICBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuS3ViZXJuZXRlc1Jlc291cmNlXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3Nfcm91dGVfUm91dGVTcGVjXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJob3N0XCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwib3B0aW9uYWw6IGFsaWFzL2RucyB0aGF0IHBvaW50cyB0byB0aGUgc2VydmljZVwiXG4gICAgICAgIH0sXG4gICAgICAgIFwicGF0aFwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm9wdGlvbmFsOiBwYXRoIHRoYXQgdGhlIHJvdXRlciB3YXRjaGVzIHRvIHJvdXRlIHRyYWZmaWMgdG8gdGhlIHNlcnZpY2VcIlxuICAgICAgICB9LFxuICAgICAgICBcInRsc1wiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19yb3V0ZV9UTFNDb25maWdcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLlRMU0NvbmZpZ1wiXG4gICAgICAgIH0sXG4gICAgICAgIFwidG9cIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RSZWZlcmVuY2VcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RSZWZlcmVuY2VcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5Sb3V0ZVNwZWNcIlxuICAgIH0sXG4gICAgXCJvc19yb3V0ZV9Sb3V0ZVN0YXR1c1wiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuUm91dGVTdGF0dXNcIlxuICAgIH0sXG4gICAgXCJvc19yb3V0ZV9UTFNDb25maWdcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImNhQ2VydGlmaWNhdGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJwcm92aWRlcyB0aGUgY2VydCBhdXRob3JpdHkgY2VydGlmaWNhdGUgY29udGVudHNcIlxuICAgICAgICB9LFxuICAgICAgICBcImNlcnRpZmljYXRlXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwicHJvdmlkZXMgY2VydGlmaWNhdGUgY29udGVudHNcIlxuICAgICAgICB9LFxuICAgICAgICBcImRlc3RpbmF0aW9uQ0FDZXJ0aWZpY2F0ZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInByb3ZpZGVzIHRoZSBjb250ZW50cyBvZiB0aGUgY2EgY2VydGlmaWNhdGUgb2YgdGhlIGZpbmFsIGRlc3RpbmF0aW9uLiAgV2hlbiB1c2luZyByZS1lbmNyeXB0IHRlcm1pbmF0aW9uIHRoaXMgZmlsZSBzaG91bGQgYmUgcHJvdmlkZWQgaW4gb3JkZXIgdG8gaGF2ZSByb3V0ZXJzIHVzZSBpdCBmb3IgaGVhbHRoIGNoZWNrcyBvbiB0aGUgc2VjdXJlIGNvbm5lY3Rpb25cIlxuICAgICAgICB9LFxuICAgICAgICBcImtleVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcInByb3ZpZGVzIGtleSBmaWxlIGNvbnRlbnRzXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0ZXJtaW5hdGlvblwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcImluZGljYXRlcyB0ZXJtaW5hdGlvbiB0eXBlLiAgaWYgbm90IHNldFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLlRMU0NvbmZpZ1wiXG4gICAgfSxcbiAgICBcIm9zX3RlbXBsYXRlX1BhcmFtZXRlclwiOiB7XG4gICAgICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgIFwicHJvcGVydGllc1wiOiB7XG4gICAgICAgIFwiZGVzY3JpcHRpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJvcHRpb25hbDogZGVzY3JpYmVzIHRoZSBwYXJhbWV0ZXJcIlxuICAgICAgICB9LFxuICAgICAgICBcImZyb21cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJpbnB1dCB2YWx1ZSBmb3IgdGhlIGdlbmVyYXRvclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiZ2VuZXJhdGVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJvcHRpb25hbDogZ2VuZXJhdGUgc3BlY2lmaWVzIHRoZSBnZW5lcmF0b3IgdG8gYmUgdXNlZCB0byBnZW5lcmF0ZSByYW5kb20gc3RyaW5nIGZyb20gYW4gaW5wdXQgdmFsdWUgc3BlY2lmaWVkIGJ5IHRoZSBmcm9tIGZpZWxkLiAgdGhlIHJlc3VsdCBzdHJpbmcgaXMgc3RvcmVkIGluIHRoZSB2YWx1ZSBmaWVsZC4gaWYgbm90IHNwZWNpZmllZFwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibmFtZVwiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm5hbWUgb2YgdGhlIHBhcmFtZXRlclwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidmFsdWVcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJvcHRpb25hbDogaG9sZHMgdGhlIHBhcmFtZXRlciBkYXRhLiAgaWYgc3BlY2lmaWVkXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwudGVtcGxhdGUuUGFyYW1ldGVyXCJcbiAgICB9LFxuICAgIFwib3NfdGVtcGxhdGVfVGVtcGxhdGVcIjoge1xuICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICBcInByb3BlcnRpZXNcIjoge1xuICAgICAgICBcImFwaVZlcnNpb25cIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJ2MVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZSxcbiAgICAgICAgICBcImVudW1cIjogW1xuICAgICAgICAgICAgXCJ2MVwiXG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBcImtpbmRcIjoge1xuICAgICAgICAgIFwidHlwZVwiOiBcInN0cmluZ1wiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgICAgICAgICBcImRlZmF1bHRcIjogXCJUZW1wbGF0ZVwiLFxuICAgICAgICAgIFwicmVxdWlyZWRcIjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBcImxhYmVsc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwib2JqZWN0XCIsXG4gICAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIm9wdGlvbmFsOiBsaXN0IG9mIGxhYmxlcyB0aGF0IGFyZSBhcHBsaWVkIHRvIGV2ZXJ5IG9iamVjdCBkdXJpbmcgdGhlIHRlbXBsYXRlIHRvIGNvbmZpZyB0cmFuc2Zvcm1hdGlvblwiLFxuICAgICAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjoge1xuICAgICAgICAgICAgXCJ0eXBlXCI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwib3B0aW9uYWw6IGxpc3Qgb2YgbGFibGVzIHRoYXQgYXJlIGFwcGxpZWQgdG8gZXZlcnkgb2JqZWN0IGR1cmluZyB0aGUgdGVtcGxhdGUgdG8gY29uZmlnIHRyYW5zZm9ybWF0aW9uXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJqYXZhLnV0aWwuTWFwXFx1MDAzY1N0cmluZyxTdHJpbmdcXHUwMDNlXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX09iamVjdE1ldGFcIixcbiAgICAgICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RNZXRhXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJvYmplY3RzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJsaXN0IG9mIG9iamVjdHMgdG8gaW5jbHVkZSBpbiB0aGUgdGVtcGxhdGVcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19ydW50aW1lX1Jhd0V4dGVuc2lvblwiLFxuICAgICAgICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuSGFzTWV0YWRhdGFcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJwYXJhbWV0ZXJzXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJhcnJheVwiLFxuICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJvcHRpb25hbDogbGlzdCBvZiBwYXJhbWV0ZXJzIHVzZWQgZHVyaW5nIHRlbXBsYXRlIHRvIGNvbmZpZyB0cmFuc2Zvcm1hdGlvblwiLFxuICAgICAgICAgIFwiaXRlbXNcIjoge1xuICAgICAgICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc190ZW1wbGF0ZV9QYXJhbWV0ZXJcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwudGVtcGxhdGUuUGFyYW1ldGVyXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWUsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLnRlbXBsYXRlLlRlbXBsYXRlXCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkhhc01ldGFkYXRhXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIFwib3NfdGVtcGxhdGVfVGVtcGxhdGVMaXN0XCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICAgICAgXCJhcGlWZXJzaW9uXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwidjFcIixcbiAgICAgICAgICBcInJlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgXCJlbnVtXCI6IFtcbiAgICAgICAgICAgIFwidjFcIlxuICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgXCJpdGVtc1wiOiB7XG4gICAgICAgICAgXCJ0eXBlXCI6IFwiYXJyYXlcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwibGlzdCBvZiB0ZW1wbGF0ZXNcIixcbiAgICAgICAgICBcIml0ZW1zXCI6IHtcbiAgICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfdGVtcGxhdGVfVGVtcGxhdGVcIixcbiAgICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwudGVtcGxhdGUuVGVtcGxhdGVcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJraW5kXCI6IHtcbiAgICAgICAgICBcInR5cGVcIjogXCJzdHJpbmdcIixcbiAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXG4gICAgICAgICAgXCJkZWZhdWx0XCI6IFwiVGVtcGxhdGVMaXN0XCIsXG4gICAgICAgICAgXCJyZXF1aXJlZFwiOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19MaXN0TWV0YVwiLFxuICAgICAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkxpc3RNZXRhXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiYWRkaXRpb25hbFByb3BlcnRpZXNcIjogdHJ1ZSxcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwudGVtcGxhdGUuVGVtcGxhdGVMaXN0XCIsXG4gICAgICBcImphdmFJbnRlcmZhY2VzXCI6IFtcbiAgICAgICAgXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkt1YmVybmV0ZXNSZXNvdXJjZVwiXG4gICAgICBdXG4gICAgfSxcbiAgICBcInNwZXRlcl9pbmZfRGVjXCI6IHtcbiAgICAgIFwidHlwZVwiOiBcIm9iamVjdFwiLFxuICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICAgICAgXCJhZGRpdGlvbmFsUHJvcGVydGllc1wiOiB0cnVlLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmNsaWVudC51dGlsLkRlY1wiXG4gICAgfVxuICB9LFxuICBcInR5cGVcIjogXCJvYmplY3RcIixcbiAgXCJwcm9wZXJ0aWVzXCI6IHtcbiAgICBcIkJhc2VLdWJlcm5ldGVzTGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTGlzdFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuQmFzZUt1YmVybmV0ZXNMaXN0XCJcbiAgICB9LFxuICAgIFwiQnVpbGRDb25maWdMaXN0XCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfYnVpbGRfQnVpbGRDb25maWdMaXN0XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkJ1aWxkQ29uZmlnTGlzdFwiXG4gICAgfSxcbiAgICBcIkJ1aWxkTGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2J1aWxkX0J1aWxkTGlzdFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5CdWlsZExpc3RcIlxuICAgIH0sXG4gICAgXCJCdWlsZFJlcXVlc3RcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19idWlsZF9CdWlsZFJlcXVlc3RcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuQnVpbGRSZXF1ZXN0XCJcbiAgICB9LFxuICAgIFwiQ29uZmlnXCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19jb25maWdfQ29uZmlnXCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5jb25maWcuQ29uZmlnXCJcbiAgICB9LFxuICAgIFwiQ29udGFpbmVyU3RhdHVzXCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19Db250YWluZXJTdGF0dXNcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkNvbnRhaW5lclN0YXR1c1wiXG4gICAgfSxcbiAgICBcIkRlcGxveW1lbnRDb25maWdMaXN0XCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfZGVwbG95X0RlcGxveW1lbnRDb25maWdMaXN0XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkRlcGxveW1lbnRDb25maWdMaXN0XCJcbiAgICB9LFxuICAgIFwiRW5kcG9pbnRzXCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19FbmRwb2ludHNcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVuZHBvaW50c1wiXG4gICAgfSxcbiAgICBcIkVuZHBvaW50c0xpc3RcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0VuZHBvaW50c0xpc3RcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLkVuZHBvaW50c0xpc3RcIlxuICAgIH0sXG4gICAgXCJFbnZWYXJcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX0VudlZhclwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuRW52VmFyXCJcbiAgICB9LFxuICAgIFwiSW1hZ2VMaXN0XCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfaW1hZ2VfSW1hZ2VMaXN0XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLkltYWdlTGlzdFwiXG4gICAgfSxcbiAgICBcIkltYWdlU3RyZWFtTGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX2ltYWdlX0ltYWdlU3RyZWFtTGlzdFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5JbWFnZVN0cmVhbUxpc3RcIlxuICAgIH0sXG4gICAgXCJOYW1lc3BhY2VcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX05hbWVzcGFjZVwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTmFtZXNwYWNlXCJcbiAgICB9LFxuICAgIFwiTmFtZXNwYWNlTGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTmFtZXNwYWNlTGlzdFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuTmFtZXNwYWNlTGlzdFwiXG4gICAgfSxcbiAgICBcIk5vZGVcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX05vZGVcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5vZGVcIlxuICAgIH0sXG4gICAgXCJOb2RlTGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfTm9kZUxpc3RcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLk5vZGVMaXN0XCJcbiAgICB9LFxuICAgIFwiT0F1dGhBY2Nlc3NUb2tlblwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX29hdXRoX09BdXRoQWNjZXNzVG9rZW5cIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhBY2Nlc3NUb2tlblwiXG4gICAgfSxcbiAgICBcIk9BdXRoQWNjZXNzVG9rZW5MaXN0XCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3Nfb2F1dGhfT0F1dGhBY2Nlc3NUb2tlbkxpc3RcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhBY2Nlc3NUb2tlbkxpc3RcIlxuICAgIH0sXG4gICAgXCJPQXV0aEF1dGhvcml6ZVRva2VuXCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3Nfb2F1dGhfT0F1dGhBdXRob3JpemVUb2tlblwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5PQXV0aEF1dGhvcml6ZVRva2VuXCJcbiAgICB9LFxuICAgIFwiT0F1dGhBdXRob3JpemVUb2tlbkxpc3RcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19vYXV0aF9PQXV0aEF1dGhvcml6ZVRva2VuTGlzdFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5PQXV0aEF1dGhvcml6ZVRva2VuTGlzdFwiXG4gICAgfSxcbiAgICBcIk9BdXRoQ2xpZW50XCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3Nfb2F1dGhfT0F1dGhDbGllbnRcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhDbGllbnRcIlxuICAgIH0sXG4gICAgXCJPQXV0aENsaWVudEF1dGhvcml6YXRpb25cIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19vYXV0aF9PQXV0aENsaWVudEF1dGhvcml6YXRpb25cIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhDbGllbnRBdXRob3JpemF0aW9uXCJcbiAgICB9LFxuICAgIFwiT0F1dGhDbGllbnRBdXRob3JpemF0aW9uTGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX29hdXRoX09BdXRoQ2xpZW50QXV0aG9yaXphdGlvbkxpc3RcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwuT0F1dGhDbGllbnRBdXRob3JpemF0aW9uTGlzdFwiXG4gICAgfSxcbiAgICBcIk9BdXRoQ2xpZW50TGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL29zX29hdXRoX09BdXRoQ2xpZW50TGlzdFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5PQXV0aENsaWVudExpc3RcIlxuICAgIH0sXG4gICAgXCJPYmplY3RNZXRhXCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19PYmplY3RNZXRhXCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5PYmplY3RNZXRhXCJcbiAgICB9LFxuICAgIFwiUG9kTGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfUG9kTGlzdFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUG9kTGlzdFwiXG4gICAgfSxcbiAgICBcIlF1YW50aXR5XCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19yZXNvdXJjZV9RdWFudGl0eVwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwucmVzb3VyY2UuUXVhbnRpdHlcIlxuICAgIH0sXG4gICAgXCJSZXBsaWNhdGlvbkNvbnRyb2xsZXJMaXN0XCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19SZXBsaWNhdGlvbkNvbnRyb2xsZXJMaXN0XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5SZXBsaWNhdGlvbkNvbnRyb2xsZXJMaXN0XCJcbiAgICB9LFxuICAgIFwiUm91dGVMaXN0XCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3Nfcm91dGVfUm91dGVMaXN0XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5vcGVuc2hpZnQuYXBpLm1vZGVsLlJvdXRlTGlzdFwiXG4gICAgfSxcbiAgICBcIlNlY3JldFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfU2VjcmV0XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZWNyZXRcIlxuICAgIH0sXG4gICAgXCJTZWNyZXRMaXN0XCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMva3ViZXJuZXRlc19TZWNyZXRMaXN0XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZWNyZXRMaXN0XCJcbiAgICB9LFxuICAgIFwiU2VydmljZUFjY291bnRcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX1NlcnZpY2VBY2NvdW50XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZXJ2aWNlQWNjb3VudFwiXG4gICAgfSxcbiAgICBcIlNlcnZpY2VBY2NvdW50TGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfU2VydmljZUFjY291bnRMaXN0XCIsXG4gICAgICBcImphdmFUeXBlXCI6IFwiaW8uZmFicmljOC5rdWJlcm5ldGVzLmFwaS5tb2RlbC5TZXJ2aWNlQWNjb3VudExpc3RcIlxuICAgIH0sXG4gICAgXCJTZXJ2aWNlTGlzdFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfU2VydmljZUxpc3RcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlcnZpY2VMaXN0XCJcbiAgICB9LFxuICAgIFwiU3RhdHVzRXJyb3JcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9rdWJlcm5ldGVzX2Vycm9yc19TdGF0dXNFcnJvclwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuZXJyb3JzLlN0YXR1c0Vycm9yXCJcbiAgICB9LFxuICAgIFwiVGFnRXZlbnRcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc19pbWFnZV9UYWdFdmVudFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgub3BlbnNoaWZ0LmFwaS5tb2RlbC5UYWdFdmVudFwiXG4gICAgfSxcbiAgICBcIlRlbXBsYXRlXCI6IHtcbiAgICAgIFwiJHJlZlwiOiBcIiMvZGVmaW5pdGlvbnMvb3NfdGVtcGxhdGVfVGVtcGxhdGVcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwudGVtcGxhdGUuVGVtcGxhdGVcIlxuICAgIH0sXG4gICAgXCJUZW1wbGF0ZUxpc3RcIjoge1xuICAgICAgXCIkcmVmXCI6IFwiIy9kZWZpbml0aW9ucy9vc190ZW1wbGF0ZV9UZW1wbGF0ZUxpc3RcIixcbiAgICAgIFwiamF2YVR5cGVcIjogXCJpby5mYWJyaWM4Lm9wZW5zaGlmdC5hcGkubW9kZWwudGVtcGxhdGUuVGVtcGxhdGVMaXN0XCJcbiAgICB9LFxuICAgIFwiV2F0Y2hFdmVudFwiOiB7XG4gICAgICBcIiRyZWZcIjogXCIjL2RlZmluaXRpb25zL2t1YmVybmV0ZXNfd2F0Y2hfV2F0Y2hFdmVudFwiLFxuICAgICAgXCJqYXZhVHlwZVwiOiBcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkud2F0Y2guV2F0Y2hFdmVudFwiXG4gICAgfVxuICB9LFxuICBcImFkZGl0aW9uYWxQcm9wZXJ0aWVzXCI6IHRydWVcbn1cblxufSIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJzY2hlbWEudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcbiAgXG4gIFxuICB2YXIgaGlkZGVuUHJvcGVydGllcyA9IFsnc3RhdHVzJywgJ2RlbGV0aW9uVGltZXN0YW1wJ107XG5cbiAgZnVuY3Rpb24gd2l0aFByb3BlcnR5KHNjaGVtYTphbnksIG5hbWU6c3RyaW5nLCBhY3Rpb246KGFueSkgPT4gdm9pZCkge1xuICAgIGlmIChzY2hlbWEucHJvcGVydGllc1tuYW1lXSkge1xuICAgICAgYWN0aW9uKHNjaGVtYS5wcm9wZXJ0aWVzW25hbWVdKTtcbiAgICB9XG4gIH1cbiAgXG4gIGZ1bmN0aW9uIGhpZGVQcm9wZXJ0aWVzKHNjaGVtYSkge1xuICAgIF8uZm9yRWFjaChoaWRkZW5Qcm9wZXJ0aWVzLCAocHJvcGVydHkpID0+IHtcbiAgICAgIHdpdGhQcm9wZXJ0eShzY2hlbWEsIHByb3BlcnR5LCAocHJvcGVydHkpID0+IHtcbiAgICAgICAgcHJvcGVydHkuaGlkZGVuID0gdHJ1ZTtcbiAgICAgIH0pXG4gICAgfSk7XG4gIH1cbiAgXG4gIF9tb2R1bGUuZmFjdG9yeSgnS3ViZXJuZXRlc1NjaGVtYScsIFsnU2NoZW1hUmVnaXN0cnknLCAoc2NoZW1hczpIYXd0aW9Gb3Jtcy5TY2hlbWFSZWdpc3RyeSkgPT4ge1xuICAgIGNvbmZpZ3VyZVNjaGVtYSgpO1xuICAgIFxuICAgIHNjaGVtYXMuYWRkTGlzdGVuZXIoXCJrOHMgc2NoZW1hIGN1c3RvbWl6ZXJcIiwgKG5hbWUsIHNjaGVtYSkgPT4ge1xuICAgICAgaWYgKHNjaGVtYS5wcm9wZXJ0aWVzKSB7XG4gICAgICAgIGlmIChzY2hlbWEucHJvcGVydGllcy5uYW1lKSB7XG4gICAgICAgICAgc2NoZW1hLmNvbnRyb2xzID0gWyduYW1lJywgJyonXTtcbiAgICAgICAgfVxuICAgICAgICB3aXRoUHJvcGVydHkoc2NoZW1hLCAncG9ydGFsSVAnLCAocHJvcGVydHkpID0+IHtcbiAgICAgICAgICBwcm9wZXJ0eS5sYWJlbCA9IFwiUG9ydGFsIElQXCJcbiAgICAgICAgfSk7XG4gICAgICAgIHdpdGhQcm9wZXJ0eShzY2hlbWEsICdwdWJsaWNJUHMnLCAocHJvcGVydHkpID0+IHtcbiAgICAgICAgICBwcm9wZXJ0eS5sYWJlbCA9IFwiUHVibGljIElQc1wiXG4gICAgICAgIH0pO1xuICAgICAgICB3aXRoUHJvcGVydHkoc2NoZW1hLCAnU3BlYycsIChwcm9wZXJ0eSkgPT4ge1xuICAgICAgICAgIHByb3BlcnR5LmxhYmVsID0gJ2ZhbHNlJztcbiAgICAgICAgfSk7XG4gICAgICAgIHdpdGhQcm9wZXJ0eShzY2hlbWEsICdNZXRhZGF0YScsIChwcm9wZXJ0eSkgPT4ge1xuICAgICAgICAgIHByb3BlcnR5LmxhYmVsID0gJ2ZhbHNlJztcbiAgICAgICAgfSk7XG4gICAgICAgIGhpZGVQcm9wZXJ0aWVzKHNjaGVtYSk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmIChfLmVuZHNXaXRoKG5hbWUsIFwiU2VydmljZVNwZWNcIikpIHtcbiAgICAgICAgc2NoZW1hLmNvbnRyb2xzID0gW1wicG9ydGFsSVBcIiwgXCJjcmVhdGVFeHRlcm5hbExvYWRCYWxhbmNlclwiLCBcInNlc3Npb25BZmZpbml0eVwiLCBcInB1YmxpY0lQc1wiLCBcInBvcnRzXCIsIFwic2VsZWN0b3JcIiwgXCIqXCJdO1xuICAgICAgICB3aXRoUHJvcGVydHkoc2NoZW1hLCAnc2Vzc2lvbkFmZmluaXR5JywgKHByb3BlcnR5KSA9PiB7XG4gICAgICAgICAgbG9nLmRlYnVnKFwiU2NoZW1hOiBcIiwgc2NoZW1hKTtcbiAgICAgICAgICBwcm9wZXJ0eS5lbnVtID0gWydOb25lJywgJ0NsaWVudElQJ107XG4gICAgICAgICAgcHJvcGVydHkuZGVmYXVsdCA9ICdOb25lJztcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmIChfLmVuZHNXaXRoKG5hbWUsIFwiU2VydmljZVwiKSkge1xuICAgICAgICBzY2hlbWEuY29udHJvbHMgPSB1bmRlZmluZWQ7XG4gICAgICAgIHNjaGVtYS50YWJzID0ge1xuICAgICAgICAgICdCYXNpYyBJbmZvcm1hdGlvbic6IFsnbWV0YWRhdGEnXSxcbiAgICAgICAgICAnRGV0YWlscyc6IFsnKiddXG4gICAgICAgIH1cbiAgICAgICAgbG9nLmRlYnVnKFwiTmFtZTogXCIsIG5hbWUsIFwiIFNjaGVtYTogXCIsIHNjaGVtYSk7XG4gICAgICB9XG4gICAgIFxuICAgIH0pO1xuICAgIFxuICAgIFxuICAgIHNjaGVtYXMuYWRkU2NoZW1hKCdrdWJlcm5ldGVzJywgPGFueT4gc2NoZW1hKTtcbiAgICAvLyBub3cgbGV0cyBpdGVyYXRlIGFuZCBhZGQgYWxsIHRoZSBkZWZpbml0aW9ucyB0b29cbiAgICBhbmd1bGFyLmZvckVhY2goc2NoZW1hLmRlZmluaXRpb25zLCAoZGVmaW5pdGlvbiwgdHlwZU5hbWUpID0+IHtcbiAgICAgIC8vc2NoZW1hcy5hZGRTY2hlbWEodHlwZU5hbWUsIGRlZmluaXRpb24pO1xuICAgICAgc2NoZW1hcy5hZGRTY2hlbWEoXCIjL2RlZmluaXRpb25zL1wiICsgdHlwZU5hbWUsIGRlZmluaXRpb24pO1xuICAgIH0pO1xuICAgIHJldHVybiBzY2hlbWE7XG4gIH1dKTtcblxuXG4gIFxufSIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgLy8gZmFjYWRlIHRoaXMgdG8gdGhlIHdhdGNoZXIgc2VydmljZVxuICBjbGFzcyBLdWJlcm5ldGVzU3RhdGVJbXBsIGltcGxlbWVudHMgS3ViZXJuZXRlc1N0YXRlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdhdGNoZXI6V2F0Y2hlclNlcnZpY2UpIHtcbiAgICB9XG4gICAgZ2V0IG5hbWVzcGFjZXMoKTpBcnJheTxzdHJpbmc+IHtcbiAgICAgIHJldHVybiBfLm1hcCh0aGlzLndhdGNoZXIuZ2V0T2JqZWN0cyhXYXRjaFR5cGVzLk5BTUVTUEFDRVMpLCAobmFtZXNwYWNlKSA9PiB7XG4gICAgICAgIHJldHVybiBuYW1lc3BhY2UubWV0YWRhdGEubmFtZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBnZXQgc2VsZWN0ZWROYW1lc3BhY2UoKTpzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMud2F0Y2hlci5nZXROYW1lc3BhY2UoKTtcbiAgICB9XG4gICAgc2V0IHNlbGVjdGVkTmFtZXNwYWNlKG5hbWVzcGFjZTpzdHJpbmcpIHtcbiAgICAgIHRoaXMud2F0Y2hlci5zZXROYW1lc3BhY2UobmFtZXNwYWNlKTtcbiAgICB9XG4gIH1cblxuICBfbW9kdWxlLmZhY3RvcnkoJ0t1YmVybmV0ZXNTdGF0ZScsIFsnV2F0Y2hlclNlcnZpY2UnLCAod2F0Y2hlcjpXYXRjaGVyU2VydmljZSkgPT4ge1xuICAgIHJldHVybiBuZXcgS3ViZXJuZXRlc1N0YXRlSW1wbCh3YXRjaGVyKTtcbiAgfV0pO1xuXG4gIC8vIFRPRE8gdGhpcyBkb2Vzbid0IG5lZWQgdG8gYmUgYSBzZXJ2aWNlIHJlYWxseVxuICBfbW9kdWxlLmZhY3RvcnkoJ0t1YmVybmV0ZXNBcGlVUkwnLCAoKSA9PiBrdWJlcm5ldGVzQXBpVXJsKCkpO1xuXG4gIC8vIFRPRE8gd2UnbGwgZ2V0IHJpZCBvZiB0aGlzLi4uXG4gIF9tb2R1bGUuZmFjdG9yeSgnS3ViZXJuZXRlc1ZlcnNpb24nLCBbKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBxdWVyeTogKCkgPT4gbnVsbFxuICAgIH1cbiAgfV0pO1xuXG4gIC8vIFRPRE8gbGV0J3MgbW92ZSB0aGVzZSBpbnRvIEt1YmVybmV0ZXNNb2RlbCBzbyBjb250cm9sbGVycyBkb24ndCBoYXZlIHRvIGluamVjdCB0aGVtIHNlcGFyYXRlbHlcbiAgX21vZHVsZS5mYWN0b3J5KCdLdWJlcm5ldGVzUG9kcycsIFsnS3ViZXJuZXRlc01vZGVsJywgKEt1YmVybmV0ZXNNb2RlbCkgPT4ge1xuICAgIHJldHVybiBLdWJlcm5ldGVzTW9kZWxbJ3BvZHNSZXNvdXJjZSddO1xuICB9XSk7XG5cbiAgX21vZHVsZS5mYWN0b3J5KCdLdWJlcm5ldGVzUmVwbGljYXRpb25Db250cm9sbGVycycsIFsnS3ViZXJuZXRlc01vZGVsJywgKEt1YmVybmV0ZXNNb2RlbCkgPT4ge1xuICAgIHJldHVybiBLdWJlcm5ldGVzTW9kZWxbJ3JlcGxpY2F0aW9uY29udHJvbGxlcnNSZXNvdXJjZSddO1xuICB9XSk7XG5cbiAgX21vZHVsZS5mYWN0b3J5KCdLdWJlcm5ldGVzU2VydmljZXMnLCBbJ0t1YmVybmV0ZXNNb2RlbCcsIChLdWJlcm5ldGVzTW9kZWwpID0+IHtcbiAgICByZXR1cm4gS3ViZXJuZXRlc01vZGVsWydzZXJ2aWNlc1Jlc291cmNlJ107XG4gIH1dKTtcblxuICBfbW9kdWxlLmZhY3RvcnkoJ0t1YmVybmV0ZXNCdWlsZHMnLCBbJ3Jlc3Rtb2QnLCAocmVzdG1vZCkgPT4ge1xuICAgIHJldHVybiByZXN0bW9kLm1vZGVsKGJ1aWxkQ29uZmlnc1Jlc3RVUkwoKSk7XG4gIH1dKTtcblxufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNIZWxwZXJzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc01vZGVsLnRzXCIvPlxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgRmlsZURyb3BDb250cm9sbGVyID0gY29udHJvbGxlcihcIkZpbGVEcm9wQ29udHJvbGxlclwiLCBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJGaWxlVXBsb2FkZXJcIiwgJyRodHRwJywgKCRzY29wZSwgbW9kZWw6S3ViZXJuZXRlc01vZGVsU2VydmljZSwgRmlsZVVwbG9hZGVyLCAkaHR0cDpuZy5JSHR0cFNlcnZpY2UpID0+IHtcblxuICAgICAgdmFyIHVwbG9hZGVyID0gJHNjb3BlLnVwbG9hZGVyID0gPEZpbGVVcGxvYWQuRmlsZVVwbG9hZGVyPiBuZXcgRmlsZVVwbG9hZGVyKDxGaWxlVXBsb2FkLklPcHRpb25zPntcbiAgICAgICAgYXV0b1VwbG9hZDogZmFsc2UsXG4gICAgICAgIHJlbW92ZUFmdGVyVXBsb2FkOiB0cnVlLFxuICAgICAgICB1cmw6IGt1YmVybmV0ZXNBcGlVcmwoKVxuICAgICAgfSk7XG5cbiAgICAgICRzY29wZS51cGxvYWRlci5vbkFmdGVyQWRkaW5nRmlsZSA9IChmaWxlKSA9PiB7XG4gICAgICAgIHZhciByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgIGlmIChyZWFkZXIucmVhZHlTdGF0ZSA9PT0gMikge1xuICAgICAgICAgICAgbG9nLmRlYnVnKFwiRmlsZSBhZGRlZDogXCIsIGZpbGUpOyAgICAgICAgXG4gICAgICAgICAgICB2YXIganNvbiA9IHJlYWRlci5yZXN1bHQ7XG4gICAgICAgICAgICB2YXIgb2JqID0gbnVsbDtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIG9iaiA9IGFuZ3VsYXIuZnJvbUpzb24oanNvbik7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgbG9nLmRlYnVnKFwiRmFpbGVkIHRvIHJlYWQgZHJvcHBlZCBmaWxlIFwiLCBmaWxlLl9maWxlLm5hbWUsIFwiOiBcIiwgZXJyKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbG9nLmRlYnVnKFwiRHJvcHBlZCBvYmplY3Q6IFwiLCBvYmopO1xuICAgICAgICAgICAgdXBkYXRlT3JDcmVhdGVPYmplY3Qob2JqLCBtb2RlbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUuX2ZpbGUpO1xuICAgICAgfTtcblxuICAgICAgJHNjb3BlLnVwbG9hZGVyLm9uQmVmb3JlVXBsb2FkSXRlbSA9IChpdGVtKSA9PiB7XG4gICAgICAgIGxvZy5kZWJ1ZyhcIlVwbG9hZGluZzogXCIsIGl0ZW0pO1xuICAgICAgICAvL0NvcmUubm90aWZpY2F0aW9uKCdpbmZvJywgJ1VwbG9hZGluZyAnICsgaXRlbSk7XG4gICAgICB9O1xuXG4gICAgICAkc2NvcGUudXBsb2FkZXIub25TdWNjZXNzSXRlbSA9IChpdGVtOkZpbGVVcGxvYWQuSUZpbGVJdGVtKSA9PiB7XG4gICAgICAgIGxvZy5kZWJ1ZyhcIm9uU3VjY2Vzc0l0ZW06IFwiLCBpdGVtKTtcbiAgICAgIH07XG5cbiAgICAgICRzY29wZS51cGxvYWRlci5vbkVycm9ySXRlbSA9IChpdGVtLCByZXNwb25zZSwgc3RhdHVzKSA9PiB7XG4gICAgICAgIGxvZy5kZWJ1ZyhcIkZhaWxlZCB0byBhcHBseSwgcmVzcG9uc2U6IFwiLCByZXNwb25zZSwgXCIgc3RhdHVzOiBcIiwgc3RhdHVzKTtcbiAgICAgIH1cblxuICB9XSk7XG5cdFxuXHRleHBvcnQgdmFyIE5hbWVzcGFjZUNvbnRyb2xsZXIgPSBjb250cm9sbGVyKCdOYW1lc3BhY2VDb250cm9sbGVyJywgWyckc2NvcGUnLCAnV2F0Y2hlclNlcnZpY2UnLCAoJHNjb3BlLCB3YXRjaGVyOldhdGNoZXJTZXJ2aWNlKSA9PiB7XG5cdFx0JHNjb3BlLm5hbWVzcGFjZXMgPSB3YXRjaGVyLmdldE9iamVjdHMoJ25hbWVzcGFjZXMnKTtcblx0XHQkc2NvcGUuJHdhdGNoQ29sbGVjdGlvbignbmFtZXNwYWNlcycsIChuZXdWYWx1ZSwgb2xkVmFsdWUpID0+IHtcblx0XHRcdGlmIChuZXdWYWx1ZSAhPT0gb2xkVmFsdWUpIHtcblx0XHRcdFx0JHNjb3BlLm5hbWVzcGFjZSA9IHdhdGNoZXIuZ2V0TmFtZXNwYWNlKCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0JHNjb3BlLiR3YXRjaCgnbmFtZXNwYWNlJywgKG5ld1ZhbHVlLCBvbGRWYWx1ZSkgPT4ge1xuXHRcdFx0aWYgKG5ld1ZhbHVlICE9PSBvbGRWYWx1ZSkge1xuXHRcdFx0XHRpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7XG5cdFx0XHRcdFx0d2F0Y2hlci5zZXROYW1lc3BhY2UobmV3VmFsdWUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1dKTtcblxuICBleHBvcnQgdmFyIFRvcExldmVsID0gY29udHJvbGxlcihcIlRvcExldmVsXCIsIFtcIiRzY29wZVwiLCBcIndvcmtzcGFjZVwiLCBcIkt1YmVybmV0ZXNWZXJzaW9uXCIsIFwiS3ViZXJuZXRlc1N0YXRlXCIsICgkc2NvcGUsIHdvcmtzcGFjZTpDb3JlLldvcmtzcGFjZSwgS3ViZXJuZXRlc1ZlcnNpb246bmcucmVzb3VyY2UuSVJlc291cmNlQ2xhc3MsIEt1YmVybmV0ZXNTdGF0ZSkgPT4ge1xuXG4gICAgJHNjb3BlLnZlcnNpb24gPSB1bmRlZmluZWQ7XG5cbiAgICAkc2NvcGUuc2hvd0FwcFZpZXcgPSBpc0FwcFZpZXcod29ya3NwYWNlKTtcblxuICAgICRzY29wZS5pc0FjdGl2ZSA9IChocmVmKSA9PiB7XG4gICAgICByZXR1cm4gd29ya3NwYWNlLmlzTGlua0FjdGl2ZShocmVmKTtcbiAgICB9O1xuXG4gICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG5cbiAgICBLdWJlcm5ldGVzVmVyc2lvbi5xdWVyeSgocmVzcG9uc2UpID0+IHtcbiAgICAgICRzY29wZS52ZXJzaW9uID0gcmVzcG9uc2U7XG4gICAgfSk7XG5cbiAgfV0pO1xuXG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblx0XG5cdGV4cG9ydCB2YXIgTmFtZXNwYWNlQ29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJOYW1lc3BhY2VDb250cm9sbGVyXCIsIFtcIiRzY29wZVwiLCBcIldhdGNoZXJTZXJ2aWNlXCIsICgkc2NvcGUsIHdhdGNoZXI6V2F0Y2hlclNlcnZpY2UpID0+IHtcblx0XHQkc2NvcGUud2F0Y2hlciA9IHdhdGNoZXI7XG5cdFx0JHNjb3BlLm5hbWVzcGFjZU9iamVjdHMgPSB3YXRjaGVyLmdldE9iamVjdHMoJ25hbWVzcGFjZXMnKTtcblx0XHQkc2NvcGUubmFtZXNwYWNlID0gd2F0Y2hlci5nZXROYW1lc3BhY2UoKTtcblx0XHQkc2NvcGUubmFtZXNwYWNlcyA9IFtdO1xuXHRcdCRzY29wZS4kd2F0Y2goJ25hbWVzcGFjZScsIChuZXdWYWx1ZSwgb2xkVmFsdWUpID0+IHtcblx0XHRcdGlmIChuZXdWYWx1ZSAhPT0gb2xkVmFsdWUpIHtcblx0XHRcdFx0d2F0Y2hlci5zZXROYW1lc3BhY2UobmV3VmFsdWUpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdCRzY29wZS4kd2F0Y2goJ3dhdGNoZXIuZ2V0TmFtZXNwYWNlKCknLCAobmV3VmFsdWUsIG9sZFZhbHVlKSA9PiB7XG5cdFx0XHRpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7XG5cdFx0XHRcdCRzY29wZS5uYW1lc3BhY2UgPSBuZXdWYWx1ZTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHQkc2NvcGUuJHdhdGNoQ29sbGVjdGlvbignbmFtZXNwYWNlT2JqZWN0cycsIChuYW1lc3BhY2VPYmplY3RzKSA9PiB7XG5cdFx0XHQkc2NvcGUubmFtZXNwYWNlcyA9IF8ubWFwKG5hbWVzcGFjZU9iamVjdHMsIChuYW1lc3BhY2U6YW55KSA9PiBuYW1lc3BhY2UubWV0YWRhdGEubmFtZSk7XG5cdFx0fSlcdFx0XG5cdH1dKTtcblx0XG59IiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNIZWxwZXJzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICB2YXIgT3ZlcnZpZXdEaXJlY3RpdmUgPSBfbW9kdWxlLmRpcmVjdGl2ZShcImt1YmVybmV0ZXNPdmVydmlld1wiLCBbXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRjb21waWxlXCIsIFwiJGludGVycG9sYXRlXCIsIFwiJHRpbWVvdXRcIiwgXCIkd2luZG93XCIsIFwiS3ViZXJuZXRlc1N0YXRlXCIsICdLdWJlcm5ldGVzTW9kZWwnLCAoJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkY29tcGlsZTpuZy5JQ29tcGlsZVNlcnZpY2UsICRpbnRlcnBvbGF0ZTpuZy5JSW50ZXJwb2xhdGVTZXJ2aWNlLCAkdGltZW91dDpuZy5JVGltZW91dFNlcnZpY2UsICR3aW5kb3c6bmcuSVdpbmRvd1NlcnZpY2UsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc01vZGVsKSA9PiB7XG5cbiAgICB2YXIgbG9nID0gTG9nZ2VyLmdldCgna3ViZXJuZXRlcy1vdmVydmlldycpO1xuICAgIHZhciBtb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICB2YXIgc3RhdGUgPSBLdWJlcm5ldGVzU3RhdGU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcmVzdHJpY3Q6ICdFJyxcbiAgICAgIHJlcGxhY2U6IHRydWUsXG4gICAgICBsaW5rOiAoc2NvcGUsIGVsZW1lbnQsIGF0dHIpID0+IHtcbiAgICAgICAgc2NvcGUubW9kZWwgPSBtb2RlbDtcbiAgICAgICAgZWxlbWVudC5jc3Moe3Zpc2liaWxpdHk6ICdoaWRkZW4nfSk7XG4gICAgICAgIHNjb3BlLmdldEVudGl0eSA9ICh0eXBlOnN0cmluZywga2V5OnN0cmluZykgPT4ge1xuICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnaG9zdCc6XG4gICAgICAgICAgICAgIHJldHVybiBtb2RlbC5wb2RzQnlIb3N0W2tleV07XG4gICAgICAgICAgICBjYXNlICdwb2QnOlxuICAgICAgICAgICAgICByZXR1cm4gbW9kZWwucG9kc0J5S2V5W2tleV07XG4gICAgICAgICAgICBjYXNlICdyZXBsaWNhdGlvbkNvbnRyb2xsZXInOlxuICAgICAgICAgICAgICByZXR1cm4gbW9kZWwucmVwbGljYXRpb25Db250cm9sbGVyc0J5S2V5W2tleV07XG4gICAgICAgICAgICBjYXNlICdzZXJ2aWNlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIG1vZGVsLnNlcnZpY2VzQnlLZXlba2V5XTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHNjb3BlLmt1YmVybmV0ZXMgPSBzdGF0ZTtcblxuICAgICAgICBzY29wZS5jdXN0b21pemVEZWZhdWx0T3B0aW9ucyA9IChvcHRpb25zKSA9PiB7XG4gICAgICAgICAgb3B0aW9ucy5FbmRwb2ludCA9IFsnQmxhbmsnLCB7fV07XG4gICAgICAgIH07XG4gICAgICAgIHNjb3BlLm1vdXNlRW50ZXIgPSAoJGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKHNjb3BlLmpzUGx1bWIpIHtcbiAgICAgICAgICAgIGFuZ3VsYXIuZWxlbWVudCgkZXZlbnQuY3VycmVudFRhcmdldCkuYWRkQ2xhc3MoXCJob3ZlcmVkXCIpO1xuICAgICAgICAgICAgc2NvcGUuanNQbHVtYi5nZXRFbmRwb2ludHMoJGV2ZW50LmN1cnJlbnRUYXJnZXQpLmZvckVhY2goKGVuZHBvaW50KSA9PiB7XG4gICAgICAgICAgICAgIGVuZHBvaW50LmNvbm5lY3Rpb25zLmZvckVhY2goKGNvbm5lY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWNvbm5lY3Rpb24uaXNIb3ZlcigpKSB7XG4gICAgICAgICAgICAgICAgICBjb25uZWN0aW9uLnNldEhvdmVyKHRydWUpO1xuICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbi5lbmRwb2ludHMuZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzY29wZS5tb3VzZUVudGVyKHtcbiAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50VGFyZ2V0OiBlLmVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNjb3BlLm1vdXNlTGVhdmUgPSAoJGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKHNjb3BlLmpzUGx1bWIpIHtcbiAgICAgICAgICAgIGFuZ3VsYXIuZWxlbWVudCgkZXZlbnQuY3VycmVudFRhcmdldCkucmVtb3ZlQ2xhc3MoXCJob3ZlcmVkXCIpO1xuICAgICAgICAgICAgc2NvcGUuanNQbHVtYi5nZXRFbmRwb2ludHMoJGV2ZW50LmN1cnJlbnRUYXJnZXQpLmZvckVhY2goKGVuZHBvaW50KSA9PiB7XG4gICAgICAgICAgICAgIGVuZHBvaW50LmNvbm5lY3Rpb25zLmZvckVhY2goKGNvbm5lY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY29ubmVjdGlvbi5pc0hvdmVyKCkpIHtcbiAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uc2V0SG92ZXIoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbi5lbmRwb2ludHMuZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzY29wZS5tb3VzZUxlYXZlKHtcbiAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50VGFyZ2V0OiBlLmVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8qXG4gICAgICAgIHNjb3BlLmN1c3RvbWl6ZUVuZHBvaW50T3B0aW9ucyA9IChqc1BsdW1iLCBub2RlLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgdmFyIHR5cGUgPSBub2RlLmVsLmF0dHIoJ2RhdGEtdHlwZScpO1xuICAgICAgICAgIC8vIGxvZy5kZWJ1ZyhcImVuZHBvaW50IHR5cGU6IFwiLCB0eXBlKTtcbiAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3BvZCc6XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnc2VydmljZSc6XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncmVwbGljYXRpb25Db250cm9sbGVyJzpcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICAqL1xuICAgICAgICBzY29wZS5jdXN0b21pemVDb25uZWN0aW9uT3B0aW9ucyA9IChqc1BsdW1iLCBlZGdlLCBwYXJhbXMsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICB2YXIgdHlwZSA9IGVkZ2Uuc291cmNlLmVsLmF0dHIoJ2RhdGEtdHlwZScpO1xuICAgICAgICAgIG9wdGlvbnMuY29ubmVjdG9yID0gWyBcIkJlemllclwiLCB7IGN1cnZpbmVzczogNTAsIHN0dWI6IDI1LCBhbHdheXNSZXNwZWN0U3R1YnM6IHRydWUgfSBdO1xuICAgICAgICAgIHBhcmFtcy5wYWludFN0eWxlID0ge1xuICAgICAgICAgICAgbGluZVdpZHRoOiAyLFxuICAgICAgICAgICAgc3Ryb2tlU3R5bGU6ICcjNTU1NWNjJ1xuICAgICAgICAgIH07XG4gICAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdwb2QnOlxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3NlcnZpY2UnOlxuICAgICAgICAgICAgICBwYXJhbXMuYW5jaG9ycyA9IFtcbiAgICAgICAgICAgICAgICBbIFwiQ29udGludW91c1wiLCB7IGZhY2VzOiBbXCJyaWdodFwiXSB9IF0sXG4gICAgICAgICAgICAgICAgWyBcIkNvbnRpbnVvdXNcIiwgeyBmYWNlczogW1wibGVmdFwiXSB9IF0gXG4gICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICBbMSwgMC41LCAwLCAwLCAtMTAsIC05MF0sXG4gICAgICAgICAgICAgICAgWzAsIDAuNSwgMCwgMCwgLTEwLCAtOTBdXG4gICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdyZXBsaWNhdGlvbkNvbnRyb2xsZXInOlxuICAgICAgICAgICAgICBwYXJhbXMuYW5jaG9ycyA9IFtcbiAgICAgICAgICAgICAgICBbIFwiUGVyaW1ldGVyXCIsIHsgc2hhcGU6IFwiQ2lyY2xlXCIgfSBdLFxuICAgICAgICAgICAgICAgIFsgXCJDb250aW51b3VzXCIsIHsgZmFjZXM6IFtcInJpZ2h0XCJdIH0gXVxuICAgICAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgWzAsIDAuNSwgMCwgMCwgLTEwLCAtOTBdLFxuICAgICAgICAgICAgICAgIFsxLCAwLjUsIDAsIDAsIC0xMCwgLTkwXVxuICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvL2xvZy5kZWJ1ZyhcImNvbm5lY3Rpb24gc291cmNlIHR5cGU6IFwiLCB0eXBlKTtcbiAgICAgICAgICByZXR1cm4gb3B0aW9ucztcbiAgICAgICAgfTtcbiAgICAgICAgZnVuY3Rpb24gaW50ZXJwb2xhdGUodGVtcGxhdGUsIGNvbmZpZykge1xuICAgICAgICAgIHJldHVybiAkaW50ZXJwb2xhdGUodGVtcGxhdGUpKGNvbmZpZyk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0ZW1wbGF0ZSwgdGhpbmdOYW1lLCB0aGluZykge1xuICAgICAgICAgIHZhciBjb25maWcgPSB7fTtcbiAgICAgICAgICBjb25maWdbdGhpbmdOYW1lXSA9IHRoaW5nO1xuICAgICAgICAgIHJldHVybiBpbnRlcnBvbGF0ZSh0ZW1wbGF0ZSwgY29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBjcmVhdGVFbGVtZW50cyh0ZW1wbGF0ZSwgdGhpbmdOYW1lLCB0aGluZ3MpIHtcbiAgICAgICAgICByZXR1cm4gdGhpbmdzLm1hcCgodGhpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVFbGVtZW50KHRlbXBsYXRlLCB0aGluZ05hbWUsIHRoaW5nKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBhcHBlbmROZXdFbGVtZW50cyhwYXJlbnRFbCwgdGVtcGxhdGUsIHRoaW5nTmFtZSwgdGhpbmdzKSB7XG4gICAgICAgICAgdGhpbmdzLmZvckVhY2goKHRoaW5nKSA9PiB7XG4gICAgICAgICAgICB2YXIga2V5ID0gdGhpbmdbJ19rZXknXSB8fCB0aGluZ1snZWxlbWVudElkJ10gfHwgdGhpbmdbJ2lkJ11cbiAgICAgICAgICAgIHZhciBleGlzdGluZyA9IHBhcmVudEVsLmZpbmQoXCIjXCIgKyBrZXkgKTtcbiAgICAgICAgICAgIGlmICghZXhpc3RpbmcubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGxvZy5kZWJ1ZyhcImV4aXN0aW5nOiBcIiwgZXhpc3RpbmcsIFwiIGtleTogXCIsIGtleSk7XG4gICAgICAgICAgICAgIHBhcmVudEVsLmFwcGVuZCgkY29tcGlsZShjcmVhdGVFbGVtZW50KHRlbXBsYXRlLCB0aGluZ05hbWUsIHRoaW5nKSkoc2NvcGUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBuYW1lc3BhY2VGaWx0ZXIoaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIGdldE5hbWVzcGFjZShpdGVtKSA9PT0gc2NvcGUua3ViZXJuZXRlcy5zZWxlY3RlZE5hbWVzcGFjZTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBmaXJzdERyYXcoKSB7XG4gICAgICAgICAgbG9nLmRlYnVnKFwiRmlyc3QgZHJhd1wiKTtcbiAgICAgICAgICBlbGVtZW50LmVtcHR5KCk7XG4gICAgICAgICAgdmFyIHNlcnZpY2VzID0gbW9kZWwuc2VydmljZXM7XG4gICAgICAgICAgdmFyIHJlcGxpY2F0aW9uQ29udHJvbGxlcnMgPSBtb2RlbC5yZXBsaWNhdGlvbkNvbnRyb2xsZXJzO1xuICAgICAgICAgIHZhciBwb2RzID0gbW9kZWwucG9kcztcbiAgICAgICAgICB2YXIgaG9zdHMgPSBtb2RlbC5ob3N0cztcbiAgICAgICAgICAvLyBsb2cuZGVidWcoXCJob3N0czogXCIsIG1vZGVsLmhvc3RzKTtcbiAgICAgICAgICB2YXIgcGFyZW50RWwgPSBhbmd1bGFyLmVsZW1lbnQoJHRlbXBsYXRlQ2FjaGUuZ2V0KFwib3ZlcnZpZXdUZW1wbGF0ZS5odG1sXCIpKTtcbiAgICAgICAgICB2YXIgc2VydmljZXNFbCA9IHBhcmVudEVsLmZpbmQoXCIuc2VydmljZXNcIik7XG4gICAgICAgICAgdmFyIGhvc3RzRWwgPSBwYXJlbnRFbC5maW5kKFwiLmhvc3RzXCIpO1xuICAgICAgICAgIHZhciByZXBsaWNhdGlvbkNvbnRyb2xsZXJzRWwgPSBwYXJlbnRFbC5maW5kKFwiLnJlcGxpY2F0aW9uQ29udHJvbGxlcnNcIik7XG5cbiAgICAgICAgICBzZXJ2aWNlc0VsLmFwcGVuZChjcmVhdGVFbGVtZW50cygkdGVtcGxhdGVDYWNoZS5nZXQoXCJzZXJ2aWNlVGVtcGxhdGUuaHRtbFwiKSwgJ3NlcnZpY2UnLCBzZXJ2aWNlcy5maWx0ZXIobmFtZXNwYWNlRmlsdGVyKSkpO1xuICAgICAgICAgIHJlcGxpY2F0aW9uQ29udHJvbGxlcnNFbC5hcHBlbmQoY3JlYXRlRWxlbWVudHMoJHRlbXBsYXRlQ2FjaGUuZ2V0KFwicmVwbGljYXRpb25Db250cm9sbGVyVGVtcGxhdGUuaHRtbFwiKSwgJ3JlcGxpY2F0aW9uQ29udHJvbGxlcicsIHJlcGxpY2F0aW9uQ29udHJvbGxlcnMuZmlsdGVyKG5hbWVzcGFjZUZpbHRlcikpKTtcblxuICAgICAgICAgIGhvc3RzLmZvckVhY2goKGhvc3QpID0+IHtcbiAgICAgICAgICAgIHZhciBob3N0RWwgPSBhbmd1bGFyLmVsZW1lbnQoY3JlYXRlRWxlbWVudCgkdGVtcGxhdGVDYWNoZS5nZXQoXCJvdmVydmlld0hvc3RUZW1wbGF0ZS5odG1sXCIpLCAnaG9zdCcsIGhvc3QpKTtcbiAgICAgICAgICAgIHZhciBwb2RDb250YWluZXIgPSBhbmd1bGFyLmVsZW1lbnQoaG9zdEVsLmZpbmQoJy5wb2QtY29udGFpbmVyJykpO1xuICAgICAgICAgICAgcG9kQ29udGFpbmVyLmFwcGVuZChjcmVhdGVFbGVtZW50cygkdGVtcGxhdGVDYWNoZS5nZXQoXCJwb2RUZW1wbGF0ZS5odG1sXCIpLCBcInBvZFwiLCBob3N0LnBvZHMpKTtcbiAgICAgICAgICAgIGhvc3RzRWwuYXBwZW5kKGhvc3RFbCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgLy9wYXJlbnRFbC5hcHBlbmQoY3JlYXRlRWxlbWVudHMoJHRlbXBsYXRlQ2FjaGUuZ2V0KFwicG9kVGVtcGxhdGUuaHRtbFwiKSwgJ3BvZCcsIHBvZHMpKTtcbiAgICAgICAgICBlbGVtZW50LmFwcGVuZCgkY29tcGlsZShwYXJlbnRFbCkoc2NvcGUpKTtcbiAgICAgICAgICAkdGltZW91dCgoKSA9PiB7IGVsZW1lbnQuY3NzKHt2aXNpYmlsaXR5OiAndmlzaWJsZSd9KTsgfSwgMjUwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZSgpIHtcbiAgICAgICAgICBzY29wZS4kZW1pdCgnanNwbHVtYkRvV2hpbGVTdXNwZW5kZWQnLCAoKSA9PiB7XG4gICAgICAgICAgICBsb2cuZGVidWcoXCJVcGRhdGVcIik7XG4gICAgICAgICAgICB2YXIgc2VydmljZXMgPSBtb2RlbC5zZXJ2aWNlcztcbiAgICAgICAgICAgIHZhciByZXBsaWNhdGlvbkNvbnRyb2xsZXJzID0gbW9kZWwucmVwbGljYXRpb25Db250cm9sbGVycztcbiAgICAgICAgICAgIHZhciBwb2RzID0gbW9kZWwucG9kcztcbiAgICAgICAgICAgIHZhciBob3N0cyA9IG1vZGVsLmhvc3RzO1xuICAgICAgICAgICAgdmFyIHBhcmVudEVsID0gZWxlbWVudC5maW5kKCdbaGF3dGlvLWpzcGx1bWJdJyk7XG4gICAgICAgICAgICB2YXIgY2hpbGRyZW4gPSBwYXJlbnRFbC5maW5kKCcuanNwbHVtYi1ub2RlJyk7XG4gICAgICAgICAgICBjaGlsZHJlbi5lYWNoKChpbmRleCwgYykgPT4ge1xuICAgICAgICAgICAgICB2YXIgY2hpbGQgPSBhbmd1bGFyLmVsZW1lbnQoYyk7XG4gICAgICAgICAgICAgIHZhciBrZXkgPSBjaGlsZC5hdHRyKCdpZCcpO1xuICAgICAgICAgICAgICBsb2cuZGVidWcoJ2tleTogJywga2V5KTtcbiAgICAgICAgICAgICAgaWYgKENvcmUuaXNCbGFuayhrZXkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHZhciB0eXBlID0gY2hpbGQuYXR0cignZGF0YS10eXBlJyk7XG4gICAgICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2hvc3QnOlxuICAgICAgICAgICAgICAgICAgaWYgKGtleSBpbiBtb2RlbC5wb2RzQnlIb3N0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3NlcnZpY2UnOlxuICAgICAgICAgICAgICAgICAgaWYgKGtleSBpbiBtb2RlbC5zZXJ2aWNlc0J5S2V5ICYmIGdldE5hbWVzcGFjZShtb2RlbC5zZXJ2aWNlc0J5S2V5W2tleV0pID09IHNjb3BlLmt1YmVybmV0ZXMuc2VsZWN0ZWROYW1lc3BhY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNlcnZpY2UgPSBtb2RlbC5zZXJ2aWNlc0J5S2V5W2tleV07XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkLmF0dHIoJ2Nvbm5lY3QtdG8nLCBzZXJ2aWNlLmNvbm5lY3RUbyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3BvZCc6XG4gICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgaWYgKGhhc0lkKHBvZHMsIGlkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgaWYgKGtleSBpbiBtb2RlbC5wb2RzQnlLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAncmVwbGljYXRpb25Db250cm9sbGVyJzpcbiAgICAgICAgICAgICAgICAgIGlmIChrZXkgaW4gbW9kZWwucmVwbGljYXRpb25Db250cm9sbGVyc0J5S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXBsaWNhdGlvbkNvbnRyb2xsZXIgPSBtb2RlbC5yZXBsaWNhdGlvbkNvbnRyb2xsZXJzQnlLZXlba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGQuYXR0cignY29ubmVjdC10bycsIHJlcGxpY2F0aW9uQ29udHJvbGxlci5jb25uZWN0VG8pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgbG9nLmRlYnVnKFwiSWdub3JpbmcgZWxlbWVudCB3aXRoIHVua25vd24gdHlwZVwiKTtcbiAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBsb2cuZGVidWcoXCJSZW1vdmluZzogXCIsIGtleSk7XG4gICAgICAgICAgICAgIGNoaWxkLnJlbW92ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB2YXIgc2VydmljZXNFbCA9IGVsZW1lbnQuZmluZChcIi5zZXJ2aWNlc1wiKTtcbiAgICAgICAgICAgIHZhciByZXBsaWNhdGlvbkNvbnRyb2xsZXJzRWwgPSBlbGVtZW50LmZpbmQoXCIucmVwbGljYXRpb25Db250cm9sbGVyc1wiKTtcbiAgICAgICAgICAgIHZhciBob3N0c0VsID0gZWxlbWVudC5maW5kKFwiLmhvc3RzXCIpO1xuXG4gICAgICAgICAgICBhcHBlbmROZXdFbGVtZW50cyhzZXJ2aWNlc0VsLCAkdGVtcGxhdGVDYWNoZS5nZXQoXCJzZXJ2aWNlVGVtcGxhdGUuaHRtbFwiKSwgXCJzZXJ2aWNlXCIsIHNlcnZpY2VzKTtcbiAgICAgICAgICAgIGFwcGVuZE5ld0VsZW1lbnRzKHJlcGxpY2F0aW9uQ29udHJvbGxlcnNFbCwgJHRlbXBsYXRlQ2FjaGUuZ2V0KFwicmVwbGljYXRpb25Db250cm9sbGVyVGVtcGxhdGUuaHRtbFwiKSwgXCJyZXBsaWNhdGlvbkNvbnRyb2xsZXJcIiwgcmVwbGljYXRpb25Db250cm9sbGVycyk7XG4gICAgICAgICAgICBhcHBlbmROZXdFbGVtZW50cyhob3N0c0VsLCAkdGVtcGxhdGVDYWNoZS5nZXQoXCJvdmVydmlld0hvc3RUZW1wbGF0ZS5odG1sXCIpLCBcImhvc3RcIiwgaG9zdHMpO1xuICAgICAgICAgICAgaG9zdHMuZm9yRWFjaCgoaG9zdCkgPT4ge1xuICAgICAgICAgICAgICB2YXIgaG9zdEVsID0gYW5ndWxhci5lbGVtZW50KGhvc3RzRWwuZmluZChcIiNcIiArIGhvc3QuZWxlbWVudElkKSk7XG4gICAgICAgICAgICAgIHZhciBwb2RDb250YWluZXIgPSBhbmd1bGFyLmVsZW1lbnQoaG9zdEVsLmZpbmQoJy5wb2QtY29udGFpbmVyJykpO1xuICAgICAgICAgICAgICBhcHBlbmROZXdFbGVtZW50cyhwb2RDb250YWluZXIsICR0ZW1wbGF0ZUNhY2hlLmdldChcInBvZFRlbXBsYXRlLmh0bWxcIiksIFwicG9kXCIsIGhvc3QucG9kcyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIHJlZnJlc2hEcmF3aW5nKCkge1xuICAgICAgICAgIGxvZy5kZWJ1ZyhcIlJlZnJlc2hpbmcgZHJhd2luZ1wiKTtcbiAgICAgICAgICBpZiAoZWxlbWVudC5jaGlsZHJlbigpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgZmlyc3REcmF3KCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHVwZGF0ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBDb3JlLiRhcHBseShzY29wZSk7XG4gICAgICAgIH1cblxuICAgICAgICBzY29wZS4kb24oJ2t1YmVybmV0ZXNNb2RlbFVwZGF0ZWQnLCBfLmRlYm91bmNlKHJlZnJlc2hEcmF3aW5nLCA1MDAsIHsgdHJhaWxpbmc6IHRydWV9KSk7XG4gICAgICAgIHNldFRpbWVvdXQocmVmcmVzaERyYXdpbmcsIDEwMCk7XG4gICAgICB9XG4gICAgfTtcbiAgfV0pO1xuXG4gIHZhciBPdmVydmlld0JveENvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiT3ZlcnZpZXdCb3hDb250cm9sbGVyXCIsIFtcIiRzY29wZVwiLCBcIiRsb2NhdGlvblwiLCAoJHNjb3BlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSkgPT4ge1xuICAgICRzY29wZS52aWV3RGV0YWlscyA9IChlbnRpdHksIHBhdGg6c3RyaW5nKSA9PiB7XG4gICAgICBpZiAoZW50aXR5KSB7XG4gICAgICAgIHZhciBuYW1lc3BhY2UgPSBnZXROYW1lc3BhY2UoZW50aXR5KTtcbiAgICAgICAgdmFyIGlkID0gZ2V0TmFtZShlbnRpdHkpO1xuICAgICAgICAkbG9jYXRpb24ucGF0aChVcmxIZWxwZXJzLmpvaW4oJy9rdWJlcm5ldGVzL25hbWVzcGFjZScsIG5hbWVzcGFjZSwgcGF0aCwgaWQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZy53YXJuKFwiTm8gZW50aXR5IGZvciB2aWV3RGV0YWlscyFcIik7XG4gICAgICB9XG4gICAgfVxuICB9XSk7XG5cbiAgdmFyIHNjb3BlTmFtZSA9IFwiT3ZlcnZpZXdDb250cm9sbGVyXCI7XG5cbiAgdmFyIE92ZXJ2aWV3Q29udHJvbGxlciA9IGNvbnRyb2xsZXIoc2NvcGVOYW1lLCBbXCIkc2NvcGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsICgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG4gICAgJHNjb3BlLm5hbWUgPSBzY29wZU5hbWU7XG4gICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuXG4gICAgS3ViZXJuZXRlcy5pbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpO1xuICB9XSk7XG5cbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBQaXBlbGluZXNDb250cm9sbGVyID0gY29udHJvbGxlcihcIlBpcGVsaW5lc0NvbnRyb2xsZXJcIiwgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiS3ViZXJuZXRlc0J1aWxkc1wiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIiRkaWFsb2dcIiwgXCIkd2luZG93XCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkbG9jYXRpb25cIiwgXCJsb2NhbFN0b3JhZ2VcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDpLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UsIEt1YmVybmV0ZXNCdWlsZHMsIEt1YmVybmV0ZXNTdGF0ZSwgJGRpYWxvZywgJHdpbmRvdywgJHRlbXBsYXRlQ2FjaGUsICRyb3V0ZVBhcmFtcywgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsIGxvY2FsU3RvcmFnZSwgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuICAgICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICAgJHNjb3BlLkt1YmVybmV0ZXNCdWlsZHMgPSBLdWJlcm5ldGVzQnVpbGRzO1xuXG4gICAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG5cbiAgICAgIC8qKlxuICAgICAgICogTGV0cyB1cGRhdGUgdGhlIHZhcmlvdXMgZGF0YSB0byBqb2luIHRoZW0gdG9nZXRoZXIgdG8gYSBwaXBlbGluZSBtb2RlbFxuICAgICAgICovXG4gICAgICBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuICAgICAgICB2YXIgcGlwZWxpbmVTdGVwcyA9IHt9O1xuICAgICAgICBpZiAoJHNjb3BlLmJ1aWxkQ29uZmlncyAmJiAkc2NvcGUuYnVpbGRzICYmICRzY29wZS5kZXBsb3ltZW50Q29uZmlncykge1xuICAgICAgICAgIGVucmljaEJ1aWxkQ29uZmlncygkc2NvcGUuYnVpbGRDb25maWdzLCAkc2NvcGUuYnVpbGRzKTtcbiAgICAgICAgICAkc2NvcGUuZmV0Y2hlZCA9IHRydWU7XG5cbiAgICAgICAgICBhbmd1bGFyLmZvckVhY2goJHNjb3BlLmJ1aWxkQ29uZmlncywgKGJ1aWxkQ29uZmlnKSA9PiB7XG4gICAgICAgICAgICB2YXIgcGlwZWxpbmVLZXkgPSBjcmVhdGVQaXBlbGluZUtleShidWlsZENvbmZpZyk7XG4gICAgICAgICAgICBpZiAocGlwZWxpbmVLZXkpIHtcbiAgICAgICAgICAgICAgcGlwZWxpbmVTdGVwc1twaXBlbGluZUtleV0gPSB7XG4gICAgICAgICAgICAgICAgYnVpbGRDb25maWc6IGJ1aWxkQ29uZmlnLFxuICAgICAgICAgICAgICAgIGJ1aWxkczogW10sXG4gICAgICAgICAgICAgICAgdHJpZ2dlcmVkQnk6IG51bGwsXG4gICAgICAgICAgICAgICAgdHJpZ2dlcnNTdGVwczogW10sXG4gICAgICAgICAgICAgICAgJGNsYXNzOiAncGlwZWxpbmUtYnVpbGQnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBhbmd1bGFyLmZvckVhY2goJHNjb3BlLmJ1aWxkcywgKGJ1aWxkKSA9PiB7XG4gICAgICAgICAgICB2YXIgcGlwZWxpbmVLZXkgPSBjcmVhdGVQaXBlbGluZUtleShidWlsZCk7XG4gICAgICAgICAgICBpZiAocGlwZWxpbmVLZXkpIHtcbiAgICAgICAgICAgICAgdmFyIHBpcGVsaW5lID0gcGlwZWxpbmVTdGVwc1twaXBlbGluZUtleV07XG4gICAgICAgICAgICAgIGlmICghcGlwZWxpbmUpIHtcbiAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKFwid2FybmluZyBubyBwaXBlbGluZSBnZW5lcmF0ZWQgZm9yIGJ1aWxkQ29uZmlnIGZvciBrZXkgXCIgKyBwaXBlbGluZUtleSArIFwiIGZvciBidWlsZCBcIiArIGFuZ3VsYXIudG9Kc29uKGJ1aWxkLCB0cnVlKSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJ3YXJuaW5nIG5vIHBpcGVsaW5lIGdlbmVyYXRlZCBmb3IgYnVpbGRDb25maWcgZm9yIGtleSBcIiArIHBpcGVsaW5lS2V5ICsgXCIgZm9yIGJ1aWxkIFwiICsgYnVpbGQuJG5hbWUpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBpcGVsaW5lLmJ1aWxkcy5wdXNoKGJ1aWxkKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgLy8gVE9ETyBub3cgd2UgbmVlZCB0byBsb29rIGF0IHRoZSB0cmlnZ2VycyB0byBmaWd1cmUgb3V0IHdoaWNoIHBpcGVsaW5lU3RlcHMgdHJpZ2dlcnMgZWFjaCBwaXBlbGluZVN0ZXBcblxuXG4gICAgICAgICAgLy8gbm93IGxldHMgY3JlYXRlIGFuIGFycmF5IG9mIGFsbCBwaXBlbGluZXMsIHN0YXJ0aW5nIGZyb20gdGhlIGZpcnN0IGtub3duIHN0ZXAgd2l0aCBhIGxpc3Qgb2YgdGhlIHN0ZXBzXG5cbiAgICAgICAgICB2YXIgcGlwZWxpbmVzID0gW107XG4gICAgICAgICAgYW5ndWxhci5mb3JFYWNoKHBpcGVsaW5lU3RlcHMsIChwaXBlbGluZVN0ZXAsIGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFwaXBlbGluZVN0ZXAudHJpZ2dlcmVkQnkpIHtcbiAgICAgICAgICAgICAgLy8gd2UgYXJlIGEgcm9vdCBzdGVwLi4uLlxuICAgICAgICAgICAgICBwaXBlbGluZXMucHVzaChwaXBlbGluZVN0ZXApO1xuICAgICAgICAgICAgICAvLyBub3cgbGV0cyBhZGQgYWxsIHRoZSBzdGVwcyBmb3IgdGhpcyBrZXkuLi5cbiAgICAgICAgICAgICAgcGlwZWxpbmVTdGVwLnRyaWdnZXJzU3RlcHMucHVzaChwaXBlbGluZVN0ZXApO1xuICAgICAgICAgICAgICBhbmd1bGFyLmZvckVhY2gocGlwZWxpbmVTdGVwcywgKHN0ZXApID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc3RlcC50cmlnZ2VyZWRCeSA9PT0ga2V5KSB7XG4gICAgICAgICAgICAgICAgICBwaXBlbGluZVN0ZXAudHJpZ2dlcnNTdGVwcy5wdXNoKHN0ZXApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBhbmd1bGFyLmZvckVhY2goJHNjb3BlLmRlcGxveW1lbnRDb25maWdzLCAoZGVwbG95bWVudENvbmZpZykgPT4ge1xuICAgICAgICAgICAgaWYgKCFkZXBsb3ltZW50Q29uZmlnLmtpbmQpIHtcbiAgICAgICAgICAgICAgZGVwbG95bWVudENvbmZpZy5raW5kID0gXCJEZXBsb3ltZW50Q29uZmlnXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhbmd1bGFyLmZvckVhY2goZGVwbG95bWVudENvbmZpZy50cmlnZ2VycywgKHRyaWdnZXIpID0+IHtcbiAgICAgICAgICAgICAgdmFyIHR5cGUgPSB0cmlnZ2VyLnR5cGU7XG4gICAgICAgICAgICAgIHZhciBpbWFnZUNoYW5nZVBhcmFtcyA9IHRyaWdnZXIuaW1hZ2VDaGFuZ2VQYXJhbXM7XG4gICAgICAgICAgICAgIGlmIChpbWFnZUNoYW5nZVBhcmFtcyAmJiB0eXBlID09PSBcIkltYWdlQ2hhbmdlXCIpIHtcbiAgICAgICAgICAgICAgICB2YXIgZnJvbSA9IGltYWdlQ2hhbmdlUGFyYW1zLmZyb207XG4gICAgICAgICAgICAgICAgaWYgKGZyb20pIHtcbiAgICAgICAgICAgICAgICAgIHZhciBuYW1lID0gZnJvbS5uYW1lO1xuICAgICAgICAgICAgICAgICAgaWYgKGZyb20ua2luZCA9PT0gXCJJbWFnZVJlcG9zaXRvcnlcIikge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdGFnID0gaW1hZ2VDaGFuZ2VQYXJhbXMudGFnIHx8IFwibGF0ZXN0XCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gbm93IGxldHMgZmluZCBhIHBpcGVsaW5lIHN0ZXAgd2hpY2ggZmlyZXMgZnJvbSB0aGlzXG4gICAgICAgICAgICAgICAgICAgICAgYW5ndWxhci5mb3JFYWNoKHBpcGVsaW5lU3RlcHMsIChwaXBlbGluZVN0ZXAsIGtleSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRvID0gQ29yZS5wYXRoR2V0KHBpcGVsaW5lU3RlcCwgW1wiYnVpbGRDb25maWdcIiwgXCJwYXJhbWV0ZXJzXCIsIFwib3V0cHV0XCIsIFwidG9cIl0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRvICYmICh0by5raW5kID09PSBcIkltYWdlUmVwb3NpdG9yeVwiIHx8IHRvLmtpbmQgPT09IFwiSW1hZ2VTdHJlYW1cIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRvTmFtZSA9IHRvLm5hbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0b05hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc2VsZWN0b3IgPSBDb3JlLnBhdGhHZXQoZGVwbG95bWVudENvbmZpZywgW1widGVtcGxhdGVcIiwgXCJjb250cm9sbGVyVGVtcGxhdGVcIiwgXCJzZWxlY3RvclwiXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBvZHMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgJHBvZENvdW50ZXJzID0gc2VsZWN0b3IgPyBjcmVhdGVQb2RDb3VudGVycyhzZWxlY3RvciwgS3ViZXJuZXRlc01vZGVsLnBvZHNGb3JOYW1lc3BhY2UoKSwgcG9kcykgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkZXBsb3lQaXBlbGluZVN0ZXAgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZENvbmZpZzogZGVwbG95bWVudENvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjbGFzczogJ3BpcGVsaW5lLWRlcGxveScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcG9kQ291bnRlcnM6ICRwb2RDb3VudGVycyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwb2RzOiBwb2RzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaXBlbGluZVN0ZXAudHJpZ2dlcnNTdGVwcy5wdXNoKGRlcGxveVBpcGVsaW5lU3RlcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgJHNjb3BlLnBpcGVsaW5lcyA9IHBpcGVsaW5lcztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIExldHMgY3JlYXRlIGEgdW5pcXVlIGtleSBmb3IgYnVpbGQgLyBjb25maWcgd2UgY2FuIHVzZSB0byBkbyBsaW5raW5nIG9mIGJ1aWxkcyAvIGNvbmZpZ3MgLyB0cmlnZ2Vyc1xuICAgICAgICovXG4gICAgICBmdW5jdGlvbiBjcmVhdGVQaXBlbGluZUtleShidWlsZENvbmZpZykge1xuICAgICAgICByZXR1cm4gQ29yZS5wYXRoR2V0KGJ1aWxkQ29uZmlnLCBbXCJwYXJhbWV0ZXJzXCIsIFwic291cmNlXCIsIFwiZ2l0XCIsIFwidXJpXCJdKTtcbiAgICAgIH1cblxuICAgICAgJHNjb3BlLiRrZWVwUG9sbGluZyA9ICgpID0+IGtlZXBQb2xsaW5nTW9kZWw7XG4gICAgICAkc2NvcGUuZmV0Y2ggPSBQb2xsSGVscGVycy5zZXR1cFBvbGxpbmcoJHNjb3BlLCAobmV4dDooKSA9PiB2b2lkKSA9PiB7XG4gICAgICAgIHZhciByZWFkeSA9IDA7XG4gICAgICAgIHZhciBudW1TZXJ2aWNlcyA9IDM7XG5cbiAgICAgICAgZnVuY3Rpb24gbWF5YmVOZXh0KCkge1xuICAgICAgICAgIGlmICgrK3JlYWR5ID49IG51bVNlcnZpY2VzKSB7XG4gICAgICAgICAgICBuZXh0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHVybCA9IGJ1aWxkc1Jlc3RVUkwoKTtcbiAgICAgICAgJGh0dHAuZ2V0KHVybCkuXG4gICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICRzY29wZS5idWlsZHMgPSBlbnJpY2hCdWlsZHMoZGF0YS5pdGVtcyk7XG4gICAgICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1heWJlTmV4dCgpO1xuICAgICAgICAgIH0pLlxuICAgICAgICAgIGVycm9yKGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZykge1xuICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgIG1heWJlTmV4dCgpO1xuXG4gICAgICAgICAgfSk7XG4gICAgICAgIHVybCA9IGJ1aWxkQ29uZmlnc1Jlc3RVUkwoKTtcbiAgICAgICAgJGh0dHAuZ2V0KHVybCkuXG4gICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICRzY29wZS5idWlsZENvbmZpZ3MgPSBkYXRhLml0ZW1zO1xuICAgICAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXliZU5leHQoKTtcbiAgICAgICAgICB9KS5cbiAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGxvYWQgXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICAgICAgICBtYXliZU5leHQoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgdXJsID0gZGVwbG95bWVudENvbmZpZ3NSZXN0VVJMKCk7XG4gICAgICAgICRodHRwLmdldCh1cmwpLlxuICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAkc2NvcGUuZGVwbG95bWVudENvbmZpZ3MgPSBkYXRhLml0ZW1zO1xuICAgICAgICAgICAgICB1cGRhdGVEYXRhKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXliZU5leHQoKTtcbiAgICAgICAgICB9KS5cbiAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgIGxvZy53YXJuKFwiRmFpbGVkIHRvIGxvYWQgXCIgKyB1cmwgKyBcIiBcIiArIGRhdGEgKyBcIiBcIiArIHN0YXR1cyk7XG4gICAgICAgICAgICBtYXliZU5leHQoKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICAkc2NvcGUuZmV0Y2goKTtcbiAgICB9XSk7XG5cbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBQb2RDb250cm9sbGVyID0gY29udHJvbGxlcihcIlBvZENvbnRyb2xsZXJcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCJTZXJ2aWNlUmVnaXN0cnlcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRsb2NhdGlvblwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCIkd2luZG93XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOiBLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UsIEt1YmVybmV0ZXNTdGF0ZSwgU2VydmljZVJlZ2lzdHJ5LFxuICAgICAgICR0ZW1wbGF0ZUNhY2hlOm5nLklUZW1wbGF0ZUNhY2hlU2VydmljZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsICRyb3V0ZVBhcmFtcywgJGh0dHAsICR0aW1lb3V0LCAkd2luZG93LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG4gICAgJHNjb3BlLnJhd01vZGUgPSBmYWxzZTtcbiAgICAkc2NvcGUucmF3TW9kZWwgPSBudWxsO1xuXG4gICAgJHNjb3BlLml0ZW1Db25maWcgPSB7XG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICdjb250YWluZXJzL2ltYWdlJCc6IHtcbiAgICAgICAgICB0ZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KCdpbWFnZVRlbXBsYXRlLmh0bWwnKVxuICAgICAgICB9LFxuICAgICAgICAnc3RhdHVzL3BoYXNlJzoge1xuICAgICAgICAgIHRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoJ3N0YXR1c1RlbXBsYXRlLmh0bWwnKVxuICAgICAgICB9LFxuICAgICAgICAnXFxcXC9FbnZcXFxcLyc6IHtcbiAgICAgICAgICB0ZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KCdlbnZJdGVtVGVtcGxhdGUuaHRtbCcpXG4gICAgICAgIH0sXG4gICAgICAgICdeXFxcXC9sYWJlbHMkJzoge1xuICAgICAgICAgIHRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoJ2xhYmVsVGVtcGxhdGUuaHRtbCcpXG4gICAgICAgIH0sXG4gICAgICAgICdcXFxcL2VudlxcXFwva2V5JCc6IHtcbiAgICAgICAgICBoaWRkZW46IHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG5cbiAgICAkc2NvcGUuJG9uKCdrdWJlcm5ldGVzTW9kZWxVcGRhdGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgdXBkYXRlRGF0YSgpO1xuICAgIH0pO1xuXG4gICAgJHNjb3BlLiRvbignJHJvdXRlVXBkYXRlJywgKCRldmVudCkgPT4ge1xuICAgICAgdXBkYXRlRGF0YSgpO1xuICAgIH0pO1xuXG4gICAgJHNjb3BlLiR3YXRjaCgnbW9kZWwucG9kcycsIChuZXdWYWx1ZSwgb2xkVmFsdWUpID0+IHtcbiAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICB9LCB0cnVlKTtcblxuICAgICRzY29wZS5mbGlwUmF3ID0gKCkgPT4ge1xuICAgICAgJHNjb3BlLnJhd01vZGUgPSAhJHNjb3BlLnJhd01vZGU7XG4gICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgIH07XG5cbiAgICAkc2NvcGUub3BlbkxvZ3MgPSAoKSA9PiB7XG4gICAgICB2YXIgcG9kcyA9IFskc2NvcGUuaXRlbV07XG4gICAgICBvcGVuTG9nc0ZvclBvZHMoU2VydmljZVJlZ2lzdHJ5LCAkd2luZG93LCBLdWJlcm5ldGVzTW9kZWwuY3VycmVudE5hbWVzcGFjZSgpLCBwb2RzKTtcbiAgICB9O1xuXG4gICAgdXBkYXRlRGF0YSgpO1xuXG4gICAgZnVuY3Rpb24gdXBkYXRlRGF0YSgpIHtcbiAgICAgICRzY29wZS5pZCA9ICRyb3V0ZVBhcmFtc1tcImlkXCJdO1xuICAgICAgJHNjb3BlLml0ZW0gPSAkc2NvcGUubW9kZWwuZ2V0UG9kKEt1YmVybmV0ZXNTdGF0ZS5zZWxlY3RlZE5hbWVzcGFjZSwgJHNjb3BlLmlkKTtcbiAgICAgIGlmICgkc2NvcGUuaXRlbSkge1xuICAgICAgICAkc2NvcGUucmF3TW9kZWwgPSB0b1Jhd0pzb24oJHNjb3BlLml0ZW0pO1xuICAgICAgfVxuICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICB9XG4gIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBQb2RFZGl0Q29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJQb2RFZGl0Q29udHJvbGxlclwiLFxuICAgIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIkt1YmVybmV0ZXNTY2hlbWFcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRsb2NhdGlvblwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsIFwiU2NoZW1hUmVnaXN0cnlcIixcbiAgICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDogS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNTY2hlbWEsXG4gICAgICAgJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJvdXRlUGFyYW1zLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwsIHNjaGVtYXM6SGF3dGlvRm9ybXMuU2NoZW1hUmVnaXN0cnkpID0+IHtcblxuICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAkc2NvcGUuaWQgPSAkcm91dGVQYXJhbXNbXCJpZFwiXTtcbiAgICAkc2NvcGUuc2NoZW1hID0gS3ViZXJuZXRlc1NjaGVtYTtcbiAgICAkc2NvcGUuY29uZmlnID0gc2NoZW1hcy5jbG9uZVNjaGVtYShcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUG9kXCIpO1xuICAgIC8vJHNjb3BlLmNvbmZpZyA9IEt1YmVybmV0ZXNTY2hlbWEuZGVmaW5pdGlvbnMua3ViZXJuZXRlc192MWJldGEyX1BvZDtcblxuICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcblxuICAgICRzY29wZS4kb24oJyRyb3V0ZVVwZGF0ZScsICgkZXZlbnQpID0+IHtcbiAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICB9KTtcblxuICAgIHVwZGF0ZURhdGEoKTtcblxuICAgIGZ1bmN0aW9uIHVwZGF0ZURhdGEoKSB7XG4gICAgICBpZiAoJHNjb3BlLmlkKSB7XG4gICAgICAgICRzY29wZS5lbnRpdHkgPSAkc2NvcGUubW9kZWwuZ2V0UG9kKEt1YmVybmV0ZXNTdGF0ZS5zZWxlY3RlZE5hbWVzcGFjZSwgJHNjb3BlLmlkKTtcbiAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwidXRpbEhlbHBlcnMudHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIEVudkl0ZW0gPSBjb250cm9sbGVyKFwiRW52SXRlbVwiLCBbXCIkc2NvcGVcIiwgKCRzY29wZSkgPT4ge1xuICAgIHZhciBwYXJ0cyA9ICRzY29wZS5kYXRhLnNwbGl0KCc9Jyk7XG4gICAgJHNjb3BlLmtleSA9IHBhcnRzLnNoaWZ0KCk7XG4gICAgJHNjb3BlLnZhbHVlID0gcGFydHMuam9pbignPScpO1xuICB9XSk7XG5cbiAgLy8gbWFpbiBjb250cm9sbGVyIGZvciB0aGUgcGFnZVxuICBleHBvcnQgdmFyIFBvZHMgPSBjb250cm9sbGVyKFwiUG9kc1wiLCBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzUG9kc1wiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIlNlcnZpY2VSZWdpc3RyeVwiLCBcIiRkaWFsb2dcIiwgXCIkd2luZG93XCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkbG9jYXRpb25cIiwgXCJsb2NhbFN0b3JhZ2VcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDogS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzUG9kczpuZy5yZXNvdXJjZS5JUmVzb3VyY2VDbGFzcywgS3ViZXJuZXRlc1N0YXRlLCBTZXJ2aWNlUmVnaXN0cnksICRkaWFsb2csICR3aW5kb3csICR0ZW1wbGF0ZUNhY2hlLCAkcm91dGVQYXJhbXMsICRsb2NhdGlvbjpuZy5JTG9jYXRpb25TZXJ2aWNlLCBsb2NhbFN0b3JhZ2UsICRodHRwLCAkdGltZW91dCwgS3ViZXJuZXRlc0FwaVVSTCkgPT4ge1xuXG4gICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICRzY29wZS4kb24oJ2t1YmVybmV0ZXNNb2RlbFVwZGF0ZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgIH0pO1xuXG4gICAgJHNjb3BlLml0ZW1TY2hlbWEgPSBGb3Jtcy5jcmVhdGVGb3JtQ29uZmlndXJhdGlvbigpO1xuXG4gICAgJHNjb3BlLnRhYmxlQ29uZmlnID0ge1xuICAgICAgZGF0YTogJ21vZGVsLnBvZHMnLFxuICAgICAgc2hvd1NlbGVjdGlvbkNoZWNrYm94OiB0cnVlLFxuICAgICAgZW5hYmxlUm93Q2xpY2tTZWxlY3Rpb246IGZhbHNlLFxuICAgICAgbXVsdGlTZWxlY3Q6IHRydWUsXG4gICAgICBzZWxlY3RlZEl0ZW1zOiBbXSxcbiAgICAgIGZpbHRlck9wdGlvbnM6IHtcbiAgICAgICAgZmlsdGVyVGV4dDogJGxvY2F0aW9uLnNlYXJjaCgpW1wicVwiXSB8fCAnJ1xuICAgICAgfSxcbiAgICAgIGNvbHVtbkRlZnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZpZWxkOiAnX2tleScsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdOYW1lJyxcbiAgICAgICAgICBkZWZhdWx0U29ydDogdHJ1ZSxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImlkVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZmllbGQ6ICckc3RhdHVzQ3NzJyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ1N0YXR1cycsXG4gICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJzdGF0dXNUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgIH0sXG4gICAgICAgIHsgZmllbGQ6ICckZXZlbnRDb3VudCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdFdmVudHMnLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiZXZlbnRTdW1tYXJ5VGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZmllbGQ6ICckcmVzdGFydENvdW50JyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ1Jlc3RhcnRzJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZmllbGQ6ICckY3JlYXRlZFRpbWUnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnQWdlJyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImFnZVRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpZWxkOiAnJGltYWdlTmFtZXMnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnSW1hZ2VzJyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImltYWdlVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZmllbGQ6ICckaG9zdCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdIb3N0JyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImhvc3RUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZDogJyRsYWJlbHNUZXh0JyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ0xhYmVscycsXG4gICAgICAgICAgY2VsbFRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoXCJsYWJlbFRlbXBsYXRlLmh0bWxcIilcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpZWxkOiAnJHBvZElQJyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ1BvZCBJUCcsXG4gICAgICAgICAgY3VzdG9tU29ydEZpZWxkOiAoZmllbGQpID0+IHtcbiAgICAgICAgICAgIC8vIHVzZSBhIGN1c3RvbSBzb3J0IHRvIHNvcnQgaXAgYWRkcmVzc1xuICAgICAgICAgICAgcmV0dXJuIEt1YmVybmV0ZXMuc29ydEJ5UG9kSXAoZmllbGQuJHBvZElQKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuXG4gICAgJHNjb3BlLm9wZW5Mb2dzID0gKCkgPT4ge1xuICAgICAgdmFyIHBvZHMgPSAkc2NvcGUudGFibGVDb25maWcuc2VsZWN0ZWRJdGVtcztcbiAgICAgIGlmICghcG9kcyB8fCAhcG9kcy5sZW5ndGgpIHtcbiAgICAgICAgaWYgKCRzY29wZS5pZCkge1xuICAgICAgICAgIHZhciBpdGVtID0gJHNjb3BlLml0ZW07XG4gICAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIHBvZHMgPSBbaXRlbV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBvcGVuTG9nc0ZvclBvZHMoU2VydmljZVJlZ2lzdHJ5LCAkd2luZG93LCBLdWJlcm5ldGVzTW9kZWwuY3VycmVudE5hbWVzcGFjZSgpLCBwb2RzKTtcbiAgICB9O1xuXG4gICAgS3ViZXJuZXRlcy5pbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpO1xuXG4gICAgJHNjb3BlLmRlbGV0ZVByb21wdCA9IChzZWxlY3RlZCkgPT4ge1xuICAgICAgaWYgKGFuZ3VsYXIuaXNTdHJpbmcoc2VsZWN0ZWQpKSB7XG4gICAgICAgIHNlbGVjdGVkID0gW3tcbiAgICAgICAgICBpZDogc2VsZWN0ZWRcbiAgICAgICAgfV07XG4gICAgICB9XG4gICAgICBVSS5tdWx0aUl0ZW1Db25maXJtQWN0aW9uRGlhbG9nKDxVSS5NdWx0aUl0ZW1Db25maXJtQWN0aW9uT3B0aW9ucz57XG4gICAgICAgIGNvbGxlY3Rpb246IHNlbGVjdGVkLFxuICAgICAgICBpbmRleDogJ21ldGFkYXRhLm5hbWUnLFxuICAgICAgICBvbkNsb3NlOiAocmVzdWx0OmJvb2xlYW4pID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICBmdW5jdGlvbiBkZWxldGVTZWxlY3RlZChzZWxlY3RlZDpBcnJheTxLdWJlUG9kPiwgbmV4dDpLdWJlUG9kKSB7XG4gICAgICAgICAgICAgIGlmIChuZXh0KSB7XG4gICAgICAgICAgICAgICAgbG9nLmRlYnVnKFwiZGVsZXRpbmc6IFwiLCBnZXROYW1lKG5leHQpKTtcbiAgICAgICAgICAgICAgICBLdWJlcm5ldGVzUG9kcy5kZWxldGUoe1xuICAgICAgICAgICAgICAgICAgaWQ6IGdldE5hbWUobmV4dClcbiAgICAgICAgICAgICAgICB9LCB1bmRlZmluZWQsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGxvZy5kZWJ1ZyhcImRlbGV0ZWQ6IFwiLCBnZXROYW1lKG5leHQpKTtcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBzZWxlY3RlZC5zaGlmdCgpKTtcbiAgICAgICAgICAgICAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgIGxvZy5kZWJ1ZyhcIkVycm9yIGRlbGV0aW5nOiBcIiwgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIHNlbGVjdGVkLnNoaWZ0KCkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWxldGVTZWxlY3RlZChzZWxlY3RlZCwgc2VsZWN0ZWQuc2hpZnQoKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB0aXRsZTogJ0RlbGV0ZSBwb2RzPycsXG4gICAgICAgIGFjdGlvbjogJ1RoZSBmb2xsb3dpbmcgcG9kcyB3aWxsIGJlIGRlbGV0ZWQ6JyxcbiAgICAgICAgb2tUZXh0OiAnRGVsZXRlJyxcbiAgICAgICAgb2tDbGFzczogJ2J0bi1kYW5nZXInLFxuICAgICAgICBjdXN0b206IFwiVGhpcyBvcGVyYXRpb24gaXMgcGVybWFuZW50IG9uY2UgY29tcGxldGVkIVwiLFxuICAgICAgICBjdXN0b21DbGFzczogXCJhbGVydCBhbGVydC13YXJuaW5nXCJcbiAgICAgIH0pLm9wZW4oKTtcbiAgICB9O1xuICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgUmVwbGljYXRpb25Db250cm9sbGVyQ29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJSZXBsaWNhdGlvbkNvbnRyb2xsZXJDb250cm9sbGVyXCIsXG4gICAgW1wiJHNjb3BlXCIsIFwiS3ViZXJuZXRlc01vZGVsXCIsIFwiS3ViZXJuZXRlc1N0YXRlXCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLFxuICAgICAgKCRzY29wZSwgS3ViZXJuZXRlc01vZGVsOiBLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UsIEt1YmVybmV0ZXNTdGF0ZSxcbiAgICAgICAkdGVtcGxhdGVDYWNoZTpuZy5JVGVtcGxhdGVDYWNoZVNlcnZpY2UsICRsb2NhdGlvbjpuZy5JTG9jYXRpb25TZXJ2aWNlLCAkcm91dGVQYXJhbXMsICRodHRwLCAkdGltZW91dCwgS3ViZXJuZXRlc0FwaVVSTCkgPT4ge1xuXG4gICAgJHNjb3BlLmt1YmVybmV0ZXMgPSBLdWJlcm5ldGVzU3RhdGU7XG4gICAgJHNjb3BlLm1vZGVsID0gS3ViZXJuZXRlc01vZGVsO1xuICAgICRzY29wZS5yYXdNb2RlID0gZmFsc2U7XG4gICAgJHNjb3BlLnJhd01vZGVsID0gbnVsbDtcblxuICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcblxuICAgICRzY29wZS5pdGVtQ29uZmlnID0ge1xuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAnXlxcXFwvbGFiZWxzJCc6IHtcbiAgICAgICAgICB0ZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KCdsYWJlbFRlbXBsYXRlLmh0bWwnKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgICRzY29wZS4kb24oJ2t1YmVybmV0ZXNNb2RlbFVwZGF0ZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICB1cGRhdGVEYXRhKCk7XG4gICAgfSk7XG5cbiAgICAkc2NvcGUuJG9uKCckcm91dGVVcGRhdGUnLCAoJGV2ZW50KSA9PiB7XG4gICAgICB1cGRhdGVEYXRhKCk7XG4gICAgfSk7XG5cbiAgICAkc2NvcGUuJHdhdGNoKCdtb2RlbC5wb2RzJywgKG5ld1ZhbHVlLCBvbGRWYWx1ZSkgPT4ge1xuICAgICAgdXBkYXRlRGF0YSgpO1xuICAgIH0sIHRydWUpO1xuXG4gICAgJHNjb3BlLmZsaXBSYXcgPSAoKSA9PiB7XG4gICAgICAkc2NvcGUucmF3TW9kZSA9ICEkc2NvcGUucmF3TW9kZTtcbiAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgfTtcblxuICAgIHVwZGF0ZURhdGEoKTtcblxuICAgIGZ1bmN0aW9uIHVwZGF0ZURhdGEoKSB7XG4gICAgICAkc2NvcGUuaWQgPSAkcm91dGVQYXJhbXNbXCJpZFwiXTtcbiAgICAgICRzY29wZS5pdGVtID0gJHNjb3BlLm1vZGVsLmdldFJlcGxpY2F0aW9uQ29udHJvbGxlcihLdWJlcm5ldGVzU3RhdGUuc2VsZWN0ZWROYW1lc3BhY2UsICRzY29wZS5pZCk7XG4gICAgICBpZiAoJHNjb3BlLml0ZW0pIHtcbiAgICAgICAgJHNjb3BlLnJhd01vZGVsID0gdG9SYXdKc29uKCRzY29wZS5pdGVtKTtcbiAgICAgIH1cblxuICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICB9XG4gIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBSZXBsaWNhdGlvbkNvbnRyb2xsZXJFZGl0Q29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJSZXBsaWNhdGlvbkNvbnRyb2xsZXJFZGl0Q29udHJvbGxlclwiLFxuICAgIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIkt1YmVybmV0ZXNTY2hlbWFcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRsb2NhdGlvblwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsIFwiU2NoZW1hUmVnaXN0cnlcIixcbiAgICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDogS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNTY2hlbWEsXG4gICAgICAgJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJvdXRlUGFyYW1zLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwsIHNjaGVtYXM6SGF3dGlvRm9ybXMuU2NoZW1hUmVnaXN0cnkpID0+IHtcblxuICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcbiAgICAkc2NvcGUuaWQgPSAkcm91dGVQYXJhbXNbXCJpZFwiXTtcbiAgICAkc2NvcGUuc2NoZW1hID0gS3ViZXJuZXRlc1NjaGVtYTtcbiAgICBsb2cuZGVidWcoXCJTY2hlbWE6IFwiLCAkc2NvcGUuc2NoZW1hKTtcbiAgICAkc2NvcGUuY29uZmlnID0gc2NoZW1hcy5jbG9uZVNjaGVtYShcImlvLmZhYnJpYzgua3ViZXJuZXRlcy5hcGkubW9kZWwuUmVwbGljYXRpb25Db250cm9sbGVyXCIpO1xuICAgIC8vJCRzY29wZS5jb25maWcgPSBLdWJlcm5ldGVzU2NoZW1hLmRlZmluaXRpb25zLmt1YmVybmV0ZXNfdjFiZXRhM19SZXBsaWNhdGlvbkNvbnRyb2xsZXI7XG5cbiAgICBLdWJlcm5ldGVzLmluaXRTaGFyZWQoJHNjb3BlLCAkbG9jYXRpb24sICRodHRwLCAkdGltZW91dCwgJHJvdXRlUGFyYW1zLCBLdWJlcm5ldGVzTW9kZWwsIEt1YmVybmV0ZXNTdGF0ZSwgS3ViZXJuZXRlc0FwaVVSTCk7XG5cbiAgICAkc2NvcGUuJG9uKCckcm91dGVVcGRhdGUnLCAoJGV2ZW50KSA9PiB7XG4gICAgICB1cGRhdGVEYXRhKCk7XG4gICAgfSk7XG5cbiAgICB1cGRhdGVEYXRhKCk7XG5cbiAgICBmdW5jdGlvbiB1cGRhdGVEYXRhKCkge1xuICAgICAgaWYgKCRzY29wZS5pZCkge1xuICAgICAgICAkc2NvcGUuZW50aXR5ID0gJHNjb3BlLm1vZGVsLmdldFJlcGxpY2F0aW9uQ29udHJvbGxlcihLdWJlcm5ldGVzU3RhdGUuc2VsZWN0ZWROYW1lc3BhY2UsICRzY29wZS5pZCk7XG4gICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgZXhwb3J0IHZhciBSZXBsaWNhdGlvbkNvbnRyb2xsZXJzID0gY29udHJvbGxlcihcIlJlcGxpY2F0aW9uQ29udHJvbGxlcnNcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzUmVwbGljYXRpb25Db250cm9sbGVyc1wiLCBcIkt1YmVybmV0ZXNQb2RzXCIsIFwiS3ViZXJuZXRlc1N0YXRlXCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCJqb2xva2lhXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIixcbiAgICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDogS3ViZXJuZXRlcy5LdWJlcm5ldGVzTW9kZWxTZXJ2aWNlLCBLdWJlcm5ldGVzUmVwbGljYXRpb25Db250cm9sbGVyczpuZy5yZXNvdXJjZS5JUmVzb3VyY2VDbGFzcywgS3ViZXJuZXRlc1BvZHM6bmcucmVzb3VyY2UuSVJlc291cmNlQ2xhc3MsIEt1YmVybmV0ZXNTdGF0ZSxcbiAgICAgICAkdGVtcGxhdGVDYWNoZTpuZy5JVGVtcGxhdGVDYWNoZVNlcnZpY2UsICRsb2NhdGlvbjpuZy5JTG9jYXRpb25TZXJ2aWNlLCAkcm91dGVQYXJhbXMsIGpvbG9raWE6Sm9sb2tpYS5JSm9sb2tpYSwgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG5cbiAgICAkc2NvcGUudGFibGVDb25maWcgPSB7XG4gICAgICBkYXRhOiAnbW9kZWwucmVwbGljYXRpb25Db250cm9sbGVycycsXG4gICAgICBzaG93U2VsZWN0aW9uQ2hlY2tib3g6IHRydWUsXG4gICAgICBlbmFibGVSb3dDbGlja1NlbGVjdGlvbjogZmFsc2UsXG4gICAgICBtdWx0aVNlbGVjdDogdHJ1ZSxcbiAgICAgIHNlbGVjdGVkSXRlbXM6IFtdLFxuICAgICAgZmlsdGVyT3B0aW9uczoge1xuICAgICAgICBmaWx0ZXJUZXh0OiAkbG9jYXRpb24uc2VhcmNoKClbXCJxXCJdIHx8ICcnXG4gICAgICB9LFxuICAgICAgY29sdW1uRGVmczogW1xuICAgICAgICB7IGZpZWxkOiAnX2tleScsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdOYW1lJyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcImlkVGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICB9LFxuICAgICAgICB7IGZpZWxkOiAnJHBvZENvdW50JyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ1BvZHMnLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwicG9kQ291bnRzQW5kTGlua1RlbXBsYXRlLmh0bWxcIiksXG4gICAgICAgICAgY3VzdG9tU29ydEZpZWxkOiAoZmllbGQpID0+IHtcbiAgICAgICAgICAgIC8vIG5lZWQgdG8gY29uY2F0IGFsbCB0aGUgcG9kIGNvdW50ZXJzXG4gICAgICAgICAgICB2YXIgdmFsaWQgPSBmaWVsZC4kcG9kQ291bnRlcnMudmFsaWQgfHwgMDtcbiAgICAgICAgICAgIHZhciB3YWl0aW5nID0gZmllbGQuJHBvZENvdW50ZXJzLndhaXRpbmcgfHwgMDtcbiAgICAgICAgICAgIHZhciBlcnJvciA9IGZpZWxkLiRwb2RDb3VudGVycy5lcnJvciB8fCAwO1xuICAgICAgICAgICAgcmV0dXJuIHZhbGlkICsgd2FpdGluZyArIGVycm9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBmaWVsZDogJyRyZXBsaWNhcycsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdSZXBsaWNhcycsXG4gICAgICAgICAgY2VsbFRlbXBsYXRlOiR0ZW1wbGF0ZUNhY2hlLmdldChcImRlc2lyZWRSZXBsaWNhcy5odG1sXCIpXG4gICAgICAgIH0sXG4gICAgICAgIHsgZmllbGQ6ICckbGFiZWxzVGV4dCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdMYWJlbHMnLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwibGFiZWxUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgIH0sXG4gICAgICAgIHsgZmllbGQ6ICckZXZlbnRDb3VudCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdFdmVudHMnLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiZXZlbnRTdW1tYXJ5VGVtcGxhdGUuaHRtbFwiKVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcblxuICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcblxuICAgICRzY29wZS5kZWxldGVQcm9tcHQgPSAoc2VsZWN0ZWQpID0+IHtcbiAgICAgIGlmIChhbmd1bGFyLmlzU3RyaW5nKHNlbGVjdGVkKSkge1xuICAgICAgICBzZWxlY3RlZCA9IFt7XG4gICAgICAgICAgaWQ6IHNlbGVjdGVkXG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgICAgVUkubXVsdGlJdGVtQ29uZmlybUFjdGlvbkRpYWxvZyg8VUkuTXVsdGlJdGVtQ29uZmlybUFjdGlvbk9wdGlvbnM+e1xuICAgICAgICBjb2xsZWN0aW9uOiBzZWxlY3RlZCxcbiAgICAgICAgaW5kZXg6ICdtZXRhZGF0YS5uYW1lJyxcbiAgICAgICAgb25DbG9zZTogKHJlc3VsdDpib29sZWFuKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgZnVuY3Rpb24gZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQ6QXJyYXk8S3ViZVBvZD4sIG5leHQ6S3ViZVBvZCkge1xuICAgICAgICAgICAgICBpZiAobmV4dCkge1xuICAgICAgICAgICAgICAgIGxvZy5kZWJ1ZyhcImRlbGV0aW5nOiBcIiwgZ2V0TmFtZShuZXh0KSk7XG4gICAgICAgICAgICAgICAgS3ViZXJuZXRlc1JlcGxpY2F0aW9uQ29udHJvbGxlcnMuZGVsZXRlKHtcbiAgICAgICAgICAgICAgICAgIGlkOiBnZXROYW1lKG5leHQpXG4gICAgICAgICAgICAgICAgfSwgdW5kZWZpbmVkLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBsb2cuZGVidWcoXCJkZWxldGVkOiBcIiwgZ2V0TmFtZShuZXh0KSk7XG4gICAgICAgICAgICAgICAgICBkZWxldGVTZWxlY3RlZChzZWxlY3RlZCwgc2VsZWN0ZWQuc2hpZnQoKSk7XG4gICAgICAgICAgICAgICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICBsb2cuZGVidWcoXCJFcnJvciBkZWxldGluZzogXCIsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBzZWxlY3RlZC5zaGlmdCgpKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIHNlbGVjdGVkLnNoaWZ0KCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6ICdEZWxldGUgcmVwbGljYXRpb24gY29udHJvbGxlcnM/JyxcbiAgICAgICAgYWN0aW9uOiAnVGhlIGZvbGxvd2luZyByZXBsaWNhdGlvbiBjb250cm9sbGVycyB3aWxsIGJlIGRlbGV0ZWQ6JyxcbiAgICAgICAgb2tUZXh0OiAnRGVsZXRlJyxcbiAgICAgICAgb2tDbGFzczogJ2J0bi1kYW5nZXInLFxuICAgICAgICBjdXN0b206IFwiVGhpcyBvcGVyYXRpb24gaXMgcGVybWFuZW50IG9uY2UgY29tcGxldGVkIVwiLFxuICAgICAgICBjdXN0b21DbGFzczogXCJhbGVydCBhbGVydC13YXJuaW5nXCJcbiAgICAgIH0pLm9wZW4oKTtcbiAgICB9O1xuICB9XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgU2VydmljZUNvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiU2VydmljZUNvbnRyb2xsZXJcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCIkdGVtcGxhdGVDYWNoZVwiLCBcIiRsb2NhdGlvblwiLCBcIiRyb3V0ZVBhcmFtc1wiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsXG4gICAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6IEt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1N0YXRlLFxuICAgICAgICR0ZW1wbGF0ZUNhY2hlOm5nLklUZW1wbGF0ZUNhY2hlU2VydmljZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsICRyb3V0ZVBhcmFtcywgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMKSA9PiB7XG5cbiAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG4gICAgJHNjb3BlLnJhd01vZGUgPSBmYWxzZTtcbiAgICAkc2NvcGUucmF3TW9kZWwgPSBudWxsO1xuXG4gICAgS3ViZXJuZXRlcy5pbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpO1xuXG4gICAgJHNjb3BlLml0ZW1Db25maWcgPSB7XG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICdeXFxcXC9sYWJlbHMkJzoge1xuICAgICAgICAgIHRlbXBsYXRlOiAkdGVtcGxhdGVDYWNoZS5nZXQoJ2xhYmVsVGVtcGxhdGUuaHRtbCcpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgJHNjb3BlLiRvbigna3ViZXJuZXRlc01vZGVsVXBkYXRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICB9KTtcblxuICAgICRzY29wZS4kd2F0Y2goJ21vZGVsLnNlcnZpY2VzJywgKG5ld1ZhbHVlLCBvbGRWYWx1ZSkgPT4ge1xuICAgICAgdXBkYXRlRGF0YSgpO1xuICAgIH0sIHRydWUpO1xuXG4gICAgJHNjb3BlLiRvbignJHJvdXRlVXBkYXRlJywgKCRldmVudCkgPT4ge1xuICAgICAgdXBkYXRlRGF0YSgpO1xuICAgIH0pO1xuXG4gICAgJHNjb3BlLmZsaXBSYXcgPSAoKSA9PiB7XG4gICAgICAkc2NvcGUucmF3TW9kZSA9ICEkc2NvcGUucmF3TW9kZTtcbiAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgfTtcblxuICAgIHVwZGF0ZURhdGEoKTtcblxuICAgIGZ1bmN0aW9uIHVwZGF0ZURhdGEoKSB7XG4gICAgICAkc2NvcGUuaWQgPSAkcm91dGVQYXJhbXNbXCJpZFwiXTtcbiAgICAgICRzY29wZS5uYW1lc3BhY2UgPSAkcm91dGVQYXJhbXNbXCJuYW1lc3BhY2VcIl0gfHwgS3ViZXJuZXRlc1N0YXRlLnNlbGVjdGVkTmFtZXNwYWNlO1xuICAgICAgJHNjb3BlLml0ZW0gPSAkc2NvcGUubW9kZWwuZ2V0U2VydmljZSgkc2NvcGUubmFtZXNwYWNlLCAkc2NvcGUuaWQpO1xuICAgICAgaWYgKCRzY29wZS5pdGVtKSB7XG4gICAgICAgICRzY29wZS5yYXdNb2RlbCA9IHRvUmF3SnNvbigkc2NvcGUuaXRlbSk7XG4gICAgICB9XG4gICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgIH1cbiAgfV0pO1xufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNIZWxwZXJzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcblxuICBleHBvcnQgdmFyIFNlcnZpY2VFZGl0Q29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJTZXJ2aWNlRWRpdENvbnRyb2xsZXJcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU3RhdGVcIiwgXCJLdWJlcm5ldGVzU2NoZW1hXCIsIFwiJHRlbXBsYXRlQ2FjaGVcIiwgXCIkbG9jYXRpb25cIiwgXCIkcm91dGVQYXJhbXNcIiwgXCIkaHR0cFwiLCBcIiR0aW1lb3V0XCIsIFwiS3ViZXJuZXRlc0FwaVVSTFwiLCBcIlNjaGVtYVJlZ2lzdHJ5XCIsXG4gICAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6IEt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzU2NoZW1hLFxuICAgICAgICR0ZW1wbGF0ZUNhY2hlOm5nLklUZW1wbGF0ZUNhY2hlU2VydmljZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsICRyb3V0ZVBhcmFtcywgJGh0dHAsICR0aW1lb3V0LCBLdWJlcm5ldGVzQXBpVVJMLCBzY2hlbWFzOkhhd3Rpb0Zvcm1zLlNjaGVtYVJlZ2lzdHJ5KSA9PiB7XG5cbiAgICAkc2NvcGUua3ViZXJuZXRlcyA9IEt1YmVybmV0ZXNTdGF0ZTtcbiAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG4gICAgJHNjb3BlLmlkID0gJHJvdXRlUGFyYW1zW1wiaWRcIl07XG4gICAgJHNjb3BlLnNjaGVtYSA9IEt1YmVybmV0ZXNTY2hlbWE7XG4gICAgJHNjb3BlLmNvbmZpZyA9IHNjaGVtYXMuY2xvbmVTY2hlbWEoXCJpby5mYWJyaWM4Lmt1YmVybmV0ZXMuYXBpLm1vZGVsLlNlcnZpY2VcIik7XG4gICAgLy8kc2NvcGUuY29uZmlnID0gS3ViZXJuZXRlc1NjaGVtYS5kZWZpbml0aW9ucy5rdWJlcm5ldGVzX3YxYmV0YTJfU2VydmljZTtcblxuICAgIEt1YmVybmV0ZXMuaW5pdFNoYXJlZCgkc2NvcGUsICRsb2NhdGlvbiwgJGh0dHAsICR0aW1lb3V0LCAkcm91dGVQYXJhbXMsIEt1YmVybmV0ZXNNb2RlbCwgS3ViZXJuZXRlc1N0YXRlLCBLdWJlcm5ldGVzQXBpVVJMKTtcblxuICAgICRzY29wZS4kb24oJyRyb3V0ZVVwZGF0ZScsICgkZXZlbnQpID0+IHtcbiAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICB9KTtcblxuICAgIHVwZGF0ZURhdGEoKTtcblxuICAgIGZ1bmN0aW9uIHVwZGF0ZURhdGEoKSB7XG4gICAgICBpZiAoJHNjb3BlLmlkKSB7XG4gICAgICAgICRzY29wZS5lbnRpdHkgPSAkc2NvcGUubW9kZWwuZ2V0U2VydmljZShLdWJlcm5ldGVzU3RhdGUuc2VsZWN0ZWROYW1lc3BhY2UsICRzY29wZS5pZCk7XG4gICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICRzY29wZS5mZXRjaGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNNb2RlbC50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIF9tb2R1bGUuZmFjdG9yeSgnU2VydmljZVJlZ2lzdHJ5JywgWygpID0+IHtcbiAgICByZXR1cm4gbmV3IFNlcnZpY2VSZWdpc3RyeVNlcnZpY2UoKTtcbiAgfV0pO1xuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIGEgc2ltcGxlIGludGVyZmFjZSB0byBzZXJ2aWNlIGRpc2NvdmVyeSB0aGF0IGNhbiBiZSB1c2VkIGVhcmx5IG9uIGluIHRoZSBhcHBsaWNhdGlvbiBsaWZlY3ljbGUgYmVmb3JlIHRoZVxuICAgKiB1bmRlcmx5aW5nIG1vZGVsIGhhcyBiZWVuIGNyZWF0ZWQgdmlhIGRlcGVuZGVuY3kgaW5qZWN0aW9uXG4gICAqL1xuICBleHBvcnQgY2xhc3MgU2VydmljZVJlZ2lzdHJ5U2VydmljZSB7XG4gICAgcHJpdmF0ZSBtb2RlbDpLdWJlcm5ldGVzTW9kZWxTZXJ2aWNlID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGVyZSBpcyBhIHNlcnZpY2UgYXZhaWxhYmxlIGZvciB0aGUgZ2l2ZW4gSUQgb3IgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgaGFzU2VydmljZShzZXJ2aWNlTmFtZTogc3RyaW5nKSB7XG4gICAgICByZXR1cm4gdGhpcy5maW5kU2VydmljZShzZXJ2aWNlTmFtZSkgPyB0cnVlIDogZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgc2VydmljZSBmb3IgdGhlIGdpdmVuIHNlcnZpY2UgbmFtZSAoSUQpIG9yIG51bGwgaWYgaXQgY2Fubm90IGJlIGZvdW5kXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2VydmljZU5hbWUgdGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgdG8gbG9vayBmb3JcbiAgICAgKiBAcmV0dXJuIHtudWxsfVxuICAgICAqL1xuICAgIHB1YmxpYyBmaW5kU2VydmljZShzZXJ2aWNlTmFtZTogc3RyaW5nKSB7XG4gICAgICB2YXIgYW5zd2VyID0gbnVsbDtcbiAgICAgIGlmIChzZXJ2aWNlTmFtZSkge1xuICAgICAgICB2YXIgbW9kZWwgPSB0aGlzLmdldE1vZGVsKCk7XG4gICAgICAgIGlmIChtb2RlbCkge1xuICAgICAgICAgIHZhciBuYW1lc3BhY2UgPSBtb2RlbC5jdXJyZW50TmFtZXNwYWNlKCk7XG4gICAgICAgICAgcmV0dXJuIG1vZGVsLmdldFNlcnZpY2UobmFtZXNwYWNlICxzZXJ2aWNlTmFtZSk7XG4vKlxuICAgICAgICBUT0RPIGxldHMgb25seSBsb29rIGluIHRoZSBjdXJyZW50IG5hbWVzcGFjZVxuICAgICAgICBhbmd1bGFyLmZvckVhY2gobW9kZWwuc2VydmljZXMsIChzZXJ2aWNlKSA9PiB7XG4gICAgICAgICAgaWYgKHNlcnZpY2VOYW1lID09PSBnZXROYW1lKHNlcnZpY2UpKSB7XG4gICAgICAgICAgICBhbnN3ZXIgPSBzZXJ2aWNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4qL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYW5zd2VyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHNlcnZpY2UgbGluayBmb3IgdGhlIGdpdmVuIHNlcnZpY2UgbmFtZVxuICAgICAqXG4gICAgICogQHBhcmFtIHNlcnZpY2VOYW1lIHRoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlXG4gICAgICogQHJldHVybiB7bnVsbH1cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VydmljZUxpbmsoc2VydmljZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICB2YXIgc2VydmljZSA9IHRoaXMuZmluZFNlcnZpY2Uoc2VydmljZU5hbWUpO1xuICAgICAgcmV0dXJuIHNlcnZpY2VMaW5rVXJsKHNlcnZpY2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TW9kZWwoKTpLdWJlcm5ldGVzTW9kZWxTZXJ2aWNlIHtcbiAgICAgIHZhciBhbnN3ZXIgPSB0aGlzLm1vZGVsO1xuICAgICAgLy8gbGV0cyBhbGxvdyBsYXp5IGxvYWQgc28gd2UgY2FuIGJlIGludm9rZWQgYmVmb3JlIHRoZSBpbmplY3RvciBoYXMgYmVlbiBjcmVhdGVkXG4gICAgICBpZiAoIWFuc3dlcikge1xuICAgICAgICB2YXIgaW5qZWN0b3IgPSBIYXd0aW9Db3JlLmluamVjdG9yO1xuICAgICAgICBpZiAoaW5qZWN0b3IpIHtcbiAgICAgICAgICB0aGlzLm1vZGVsID0gaW5qZWN0b3IuZ2V0KCdLdWJlcm5ldGVzTW9kZWwnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYW5zd2VyID0gdGhpcy5tb2RlbDtcbiAgICAgIHJldHVybiBhbnN3ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwia3ViZXJuZXRlc1BsdWdpbi50c1wiLz5cblxubW9kdWxlIEt1YmVybmV0ZXMge1xuXG4gIGV4cG9ydCB2YXIgU2VydmljZXMgPSBjb250cm9sbGVyKFwiU2VydmljZXNcIixcbiAgICBbXCIkc2NvcGVcIiwgXCJLdWJlcm5ldGVzTW9kZWxcIiwgXCJLdWJlcm5ldGVzU2VydmljZXNcIiwgXCJLdWJlcm5ldGVzUG9kc1wiLCBcIkt1YmVybmV0ZXNTdGF0ZVwiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJGxvY2F0aW9uXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiam9sb2tpYVwiLCBcIiRodHRwXCIsIFwiJHRpbWVvdXRcIiwgXCJLdWJlcm5ldGVzQXBpVVJMXCIsXG4gICAgICAoJHNjb3BlLCBLdWJlcm5ldGVzTW9kZWw6IEt1YmVybmV0ZXMuS3ViZXJuZXRlc01vZGVsU2VydmljZSwgS3ViZXJuZXRlc1NlcnZpY2VzOm5nLnJlc291cmNlLklSZXNvdXJjZUNsYXNzLCBLdWJlcm5ldGVzUG9kczpuZy5yZXNvdXJjZS5JUmVzb3VyY2VDbGFzcywgS3ViZXJuZXRlc1N0YXRlLFxuICAgICAgICR0ZW1wbGF0ZUNhY2hlOm5nLklUZW1wbGF0ZUNhY2hlU2VydmljZSwgJGxvY2F0aW9uOm5nLklMb2NhdGlvblNlcnZpY2UsICRyb3V0ZVBhcmFtcywgam9sb2tpYTpKb2xva2lhLklKb2xva2lhLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICRzY29wZS5rdWJlcm5ldGVzID0gS3ViZXJuZXRlc1N0YXRlO1xuICAgICRzY29wZS5tb2RlbCA9IEt1YmVybmV0ZXNNb2RlbDtcblxuICAgIENvbnRyb2xsZXJIZWxwZXJzLmJpbmRNb2RlbFRvU2VhcmNoUGFyYW0oJHNjb3BlLCAkbG9jYXRpb24sICdtb2RlJywgJ21vZGUnLCAnbGlzdCcpO1xuXG4gICAgJHNjb3BlLnRhYmxlQ29uZmlnID0ge1xuICAgICAgZGF0YTogJ21vZGVsLnNlcnZpY2VzJyxcbiAgICAgIHNob3dTZWxlY3Rpb25DaGVja2JveDogdHJ1ZSxcbiAgICAgIGVuYWJsZVJvd0NsaWNrU2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgIG11bHRpU2VsZWN0OiB0cnVlLFxuICAgICAgc2VsZWN0ZWRJdGVtczogW10sXG4gICAgICBmaWx0ZXJPcHRpb25zOiB7XG4gICAgICAgIGZpbHRlclRleHQ6ICRsb2NhdGlvbi5zZWFyY2goKVtcInFcIl0gfHwgJydcbiAgICAgIH0sXG4gICAgICBjb2x1bW5EZWZzOiBbXG4gICAgICAgIHsgZmllbGQ6ICdfa2V5JyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ05hbWUnLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwiaWRUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgIH0sXG4gICAgICAgIHsgZmllbGQ6ICckc2VydmljZVVybCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdBZGRyZXNzJyxcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICR0ZW1wbGF0ZUNhY2hlLmdldChcInBvcnRhbEFkZHJlc3MuaHRtbFwiKVxuICAgICAgICB9LFxuICAgICAgICB7IGZpZWxkOiAnJHBvZENvdW50JyxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogJ1BvZHMnLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwicG9kQ291bnRzQW5kTGlua1RlbXBsYXRlLmh0bWxcIiksXG4gICAgICAgICAgY3VzdG9tU29ydEZpZWxkOiAoZmllbGQpID0+IHtcbiAgICAgICAgICAgIC8vIG5lZWQgdG8gY29uY2F0IGFsbCB0aGUgcG9kIGNvdW50ZXJzXG4gICAgICAgICAgICB2YXIgdmFsaWQgPSBmaWVsZC4kcG9kQ291bnRlcnMudmFsaWQgfHwgMDtcbiAgICAgICAgICAgIHZhciB3YWl0aW5nID0gZmllbGQuJHBvZENvdW50ZXJzLndhaXRpbmcgfHwgMDtcbiAgICAgICAgICAgIHZhciBlcnJvciA9IGZpZWxkLiRwb2RDb3VudGVycy5lcnJvciB8fCAwO1xuICAgICAgICAgICAgcmV0dXJuIHZhbGlkICsgd2FpdGluZyArIGVycm9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgeyBmaWVsZDogJyRzZWxlY3RvclRleHQnLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiAnU2VsZWN0b3InLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwic2VsZWN0b3JUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgIH0sXG4gICAgICAgIHsgZmllbGQ6ICckbGFiZWxzVGV4dCcsXG4gICAgICAgICAgZGlzcGxheU5hbWU6ICdMYWJlbHMnLFxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJHRlbXBsYXRlQ2FjaGUuZ2V0KFwibGFiZWxUZW1wbGF0ZS5odG1sXCIpXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuXG4gICAgS3ViZXJuZXRlcy5pbml0U2hhcmVkKCRzY29wZSwgJGxvY2F0aW9uLCAkaHR0cCwgJHRpbWVvdXQsICRyb3V0ZVBhcmFtcywgS3ViZXJuZXRlc01vZGVsLCBLdWJlcm5ldGVzU3RhdGUsIEt1YmVybmV0ZXNBcGlVUkwpO1xuXG4gICAgJHNjb3BlLmRlbGV0ZVByb21wdCA9IChzZWxlY3RlZCkgPT4ge1xuICAgICAgaWYgKGFuZ3VsYXIuaXNTdHJpbmcoc2VsZWN0ZWQpKSB7XG4gICAgICAgIHNlbGVjdGVkID0gW3tcbiAgICAgICAgICBpZDogc2VsZWN0ZWRcbiAgICAgICAgfV07XG4gICAgICB9XG4gICAgICBVSS5tdWx0aUl0ZW1Db25maXJtQWN0aW9uRGlhbG9nKDxVSS5NdWx0aUl0ZW1Db25maXJtQWN0aW9uT3B0aW9ucz57XG4gICAgICAgIGNvbGxlY3Rpb246IHNlbGVjdGVkLFxuICAgICAgICBpbmRleDogJ21ldGFkYXRhLm5hbWUnLFxuICAgICAgICBvbkNsb3NlOiAocmVzdWx0OmJvb2xlYW4pID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICBmdW5jdGlvbiBkZWxldGVTZWxlY3RlZChzZWxlY3RlZDpBcnJheTxLdWJlUG9kPiwgbmV4dDpLdWJlUG9kKSB7XG4gICAgICAgICAgICAgIGlmIChuZXh0KSB7XG4gICAgICAgICAgICAgICAgbG9nLmRlYnVnKFwiZGVsZXRpbmc6IFwiLCBnZXROYW1lKG5leHQpKTtcbiAgICAgICAgICAgICAgICBLdWJlcm5ldGVzU2VydmljZXMuZGVsZXRlKHtcbiAgICAgICAgICAgICAgICAgIGlkOiBnZXROYW1lKG5leHQpXG4gICAgICAgICAgICAgICAgfSwgdW5kZWZpbmVkLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBsb2cuZGVidWcoXCJkZWxldGVkOiBcIiwgZ2V0TmFtZShuZXh0KSk7XG4gICAgICAgICAgICAgICAgICBkZWxldGVTZWxlY3RlZChzZWxlY3RlZCwgc2VsZWN0ZWQuc2hpZnQoKSk7XG4gICAgICAgICAgICAgICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICBsb2cuZGVidWcoXCJFcnJvciBkZWxldGluZzogXCIsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZVNlbGVjdGVkKHNlbGVjdGVkLCBzZWxlY3RlZC5zaGlmdCgpKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWQsIHNlbGVjdGVkLnNoaWZ0KCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6ICdEZWxldGUgc2VydmljZXM/JyxcbiAgICAgICAgYWN0aW9uOiAnVGhlIGZvbGxvd2luZyBzZXJ2aWNlcyB3aWxsIGJlIGRlbGV0ZWQ6JyxcbiAgICAgICAgb2tUZXh0OiAnRGVsZXRlJyxcbiAgICAgICAgb2tDbGFzczogJ2J0bi1kYW5nZXInLFxuICAgICAgICBjdXN0b206IFwiVGhpcyBvcGVyYXRpb24gaXMgcGVybWFuZW50IG9uY2UgY29tcGxldGVkIVwiLFxuICAgICAgICBjdXN0b21DbGFzczogXCJhbGVydCBhbGVydC13YXJuaW5nXCJcbiAgICAgIH0pLm9wZW4oKTtcbiAgICB9O1xuXG4gIH1dKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzSGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJrdWJlcm5ldGVzUGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgS3ViZXJuZXRlcyB7XG5cbiAgLy8gY29udHJvbGxlciBmb3IgdGhlIHN0YXR1cyBpY29uIGNlbGxcbiAgZXhwb3J0IHZhciBQb2RTdGF0dXMgPSBjb250cm9sbGVyKFwiUG9kU3RhdHVzXCIsIFtcIiRzY29wZVwiLCAoJHNjb3BlKSA9PiB7XG4gICAgJHNjb3BlLnN0YXR1c01hcHBpbmcgPSAodGV4dCkgPT4ge1xuICAgICAgcmV0dXJuIHN0YXR1c1RleHRUb0Nzc0NsYXNzKHRleHQpO1xuICAgIH1cbiAgfV0pO1xuXG4gIC8vIGNvbnRyb2xsZXIgdGhhdCBkZWFscyB3aXRoIHRoZSBsYWJlbHMgcGVyIHBvZFxuICBleHBvcnQgdmFyIExhYmVscyA9IGNvbnRyb2xsZXIoXCJMYWJlbHNcIiwgW1wiJHNjb3BlXCIsIFwid29ya3NwYWNlXCIsIFwiam9sb2tpYVwiLCBcIiRsb2NhdGlvblwiLCAoJHNjb3BlLCB3b3Jrc3BhY2UsIGpvbG9raWEsICRsb2NhdGlvbikgPT4ge1xuICAgICRzY29wZS5sYWJlbHMgPSBbXTtcbiAgICB2YXIgbGFiZWxLZXlXZWlnaHRzID0ge1xuICAgICAgXCJuYW1lXCI6IDEsXG4gICAgICBcInJlcGxpY2F0aW9uQ29udHJvbGxlclwiOiAyLFxuICAgICAgXCJncm91cFwiOiAzXG4gICAgfTtcbiAgICAkc2NvcGUuJHdhdGNoKCdlbnRpdHknLCAobmV3VmFsdWUsIG9sZFZhbHVlKSA9PiB7XG4gICAgICBpZiAobmV3VmFsdWUpIHtcbiAgICAgICAgLy8gbG9nLmRlYnVnKFwibGFiZWxzOiBcIiwgbmV3VmFsdWUpO1xuICAgICAgICAvLyBtYXNzYWdlIHRoZSBsYWJlbHMgYSBiaXRcbiAgICAgICAgJHNjb3BlLmxhYmVscyA9IFtdO1xuICAgICAgICBhbmd1bGFyLmZvckVhY2goQ29yZS5wYXRoR2V0KCRzY29wZS5lbnRpdHksIFtcIm1ldGFkYXRhXCIsIFwibGFiZWxzXCJdKSwgKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICBpZiAoa2V5ID09PSAnZmFicmljOCcpIHtcbiAgICAgICAgICAgIC8vIFRPRE8gbm90IHN1cmUgd2hhdCB0aGlzIGlzIGZvciwgdGhlIGNvbnRhaW5lciB0eXBlP1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICAkc2NvcGUubGFiZWxzLnB1c2goe1xuICAgICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgICB0aXRsZTogdmFsdWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gIGxldHMgc29ydCBieSBrZXkgYnV0IGxldHMgbWFrZSBzdXJlIHRoYXQgd2Ugd2VpZ2h0IGNlcnRhaW4gbGFiZWxzIHNvIHRoZXkgYXJlIGZpcnN0XG4gICAgICAgICRzY29wZS5sYWJlbHMgPSAkc2NvcGUubGFiZWxzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICBmdW5jdGlvbiBnZXRXZWlnaHQoa2V5KSB7XG4gICAgICAgICAgICByZXR1cm4gbGFiZWxLZXlXZWlnaHRzW2tleV0gfHwgMTAwMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIG4xID0gYVtcImtleVwiXTtcbiAgICAgICAgICB2YXIgbjIgPSBiW1wia2V5XCJdO1xuICAgICAgICAgIHZhciB3MSA9IGdldFdlaWdodChuMSk7XG4gICAgICAgICAgdmFyIHcyID0gZ2V0V2VpZ2h0KG4yKTtcbiAgICAgICAgICB2YXIgZGlmZiA9IHcxIC0gdzI7XG4gICAgICAgICAgaWYgKGRpZmYgPCAwKSB7XG4gICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgfSBlbHNlIGlmIChkaWZmID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChuMSAmJiBuMikge1xuICAgICAgICAgICAgaWYgKG4xID4gbjIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG4xIDwgbjIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChuMSA9PT0gbjIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG4xKSB7XG4gICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAkc2NvcGUuaGFuZGxlQ2xpY2sgPSAoZW50aXR5LCBsYWJlbFR5cGU6c3RyaW5nLCB2YWx1ZSkgPT4ge1xuICAgICAgLy8gbG9nLmRlYnVnKFwiaGFuZGxlQ2xpY2ssIGVudGl0eTogXCIsIGVudGl0eSwgXCIga2V5OiBcIiwgbGFiZWxUeXBlLCBcIiB2YWx1ZTogXCIsIHZhbHVlKTtcbiAgICAgIHZhciBmaWx0ZXJUZXh0U2VjdGlvbiA9IGxhYmVsVHlwZSArIFwiPVwiICsgdmFsdWUudGl0bGU7XG4gICAgICAkc2NvcGUuJGVtaXQoJ2xhYmVsRmlsdGVyVXBkYXRlJywgZmlsdGVyVGV4dFNlY3Rpb24pO1xuICAgIH07XG5cbiAgICAkc2NvcGUubGFiZWxDbGFzcyA9IGNvbnRhaW5lckxhYmVsQ2xhc3M7XG4gIH1dKTtcblxufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcbiAgZXhwb3J0IHZhciBUZW1wbGF0ZUNvbnRyb2xsZXIgPSBjb250cm9sbGVyKFwiVGVtcGxhdGVDb250cm9sbGVyXCIsIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIiRsb2NhdGlvblwiLCBcIm1hcmtlZFwiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJG1vZGFsXCIsICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbCwgJGxvY2F0aW9uLCBtYXJrZWQsICR0ZW1wbGF0ZUNhY2hlLCAkbW9kYWwpID0+IHtcbiAgICB2YXIgbW9kZWwgPSAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG4gICAgJHNjb3BlLmZpbHRlclRleHQgPSBcIlwiO1xuXG4gICAgJHNjb3BlLndhdGNoID0gd2F0Y2hlc1tXYXRjaFR5cGVzLlRFTVBMQVRFU107XG5cbiAgICByZWxvYWREYXRhSWZOb1dhdGNoKCk7XG5cblxuICAgICRzY29wZS4kd2F0Y2hDb2xsZWN0aW9uKCdtb2RlbC5uYW1lc3BhY2VzJywgKCkgPT4ge1xuICAgICAgaWYgKCEkc2NvcGUudGFyZ2V0TmFtZXNwYWNlKSB7XG4gICAgICAgICRzY29wZS50YXJnZXROYW1lc3BhY2UgPSBtb2RlbC5jdXJyZW50TmFtZXNwYWNlKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB2YXIgcmV0dXJuVG8gPSBuZXcgVVJJKCRsb2NhdGlvbi5zZWFyY2goKVsncmV0dXJuVG8nXSB8fCAnL2t1YmVybmV0ZXMvYXBwcycpO1xuXG4gICAgZnVuY3Rpb24gZ29CYWNrKCkge1xuICAgICAgJGxvY2F0aW9uLnBhdGgocmV0dXJuVG8ucGF0aCgpKS5zZWFyY2gocmV0dXJuVG8ucXVlcnkodHJ1ZSkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldEFubm90YXRpb25zKG9iaikge1xuICAgICAgcmV0dXJuIENvcmUucGF0aEdldChvYmosIFsnbWV0YWRhdGEnLCAnYW5ub3RhdGlvbnMnXSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0VmFsdWVGb3Iob2JqLCBrZXkpIHtcbiAgICAgIHZhciBhbm5vdGF0aW9ucyA9IGdldEFubm90YXRpb25zKG9iaik7XG4gICAgICBpZiAoIWFubm90YXRpb25zKSB7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgfVxuICAgICAgdmFyIG5hbWUgPSBnZXROYW1lKG9iaik7XG4gICAgICBpZiAobmFtZSkge1xuICAgICAgICB2YXIgZnVsbEtleSA9IFwiZmFicmljOC5cIiArIG5hbWUgKyBcIi9cIiArIGtleTtcbiAgICAgICAgdmFyIGFuc3dlciA9IGFubm90YXRpb25zW2Z1bGxLZXldO1xuICAgICAgICBpZiAoYW5zd2VyKSB7XG4gICAgICAgICAgcmV0dXJuIGFuc3dlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdmFyIGtleTogYW55ID0gXy5maW5kKF8ua2V5cyhhbm5vdGF0aW9ucyksIChrOiBzdHJpbmcpID0+IF8uZW5kc1dpdGgoaywga2V5KSk7XG4gICAgICBpZiAoa2V5KSB7XG4gICAgICAgIHJldHVybiBhbm5vdGF0aW9uc1trZXldO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJHNjb3BlLmNhbmNlbCA9ICgpID0+IHtcbiAgICAgIGlmICgkc2NvcGUuZm9ybUNvbmZpZykge1xuICAgICAgICBkZWxldGUgJHNjb3BlLmZvcm1Db25maWc7XG4gICAgICAgIGRlbGV0ZSAkc2NvcGUuZW50aXR5O1xuICAgICAgICAkc2NvcGUub2JqZWN0cyA9IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgZ29CYWNrKCk7XG4gICAgfVxuXG4gICAgLypcbiAgICAkc2NvcGUuJHdhdGNoKCdtb2RlbC50ZW1wbGF0ZXMubGVuZ3RoJywgKG5ld1ZhbHVlKSA9PiB7XG4gICAgICBpZiAobmV3VmFsdWUgPT09IDApIHtcbiAgICAgICAgZ29CYWNrKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgKi9cblxuICAgICRzY29wZS5maWx0ZXJUZW1wbGF0ZXMgPSAodGVtcGxhdGUpID0+IHtcbiAgICAgIGlmIChDb3JlLmlzQmxhbmsoJHNjb3BlLmZpbHRlclRleHQpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIF8uY29udGFpbnMoYW5ndWxhci50b0pzb24odGVtcGxhdGUpLCAkc2NvcGUuZmlsdGVyVGV4dC50b0xvd2VyQ2FzZSgpKTtcbiAgICB9O1xuXG4gICAgJHNjb3BlLm9wZW5GdWxsRGVzY3JpcHRpb24gPSAodGVtcGxhdGUpID0+IHtcbiAgICAgIHZhciB0ZXh0ID0gbWFya2VkKGdldFZhbHVlRm9yKHRlbXBsYXRlLCAnZGVzY3JpcHRpb24nKSB8fCAnTm8gZGVzY3JpcHRpb24nKTtcbiAgICAgIHZhciBtb2RhbCA9ICRtb2RhbC5vcGVuKHtcbiAgICAgICAgdGVtcGxhdGVVcmw6IFVybEhlbHBlcnMuam9pbih0ZW1wbGF0ZVBhdGgsICd0ZW1wbGF0ZURlc2NyaXB0aW9uLmh0bWwnKSxcbiAgICAgICAgY29udHJvbGxlcjogWyckc2NvcGUnLCAnJG1vZGFsSW5zdGFuY2UnLCAoJHNjb3BlLCAkbW9kYWxJbnN0YW5jZSkgPT4ge1xuICAgICAgICAgICRzY29wZS50ZXh0ID0gdGV4dCxcbiAgICAgICAgICAkc2NvcGUub2sgPSAoKSA9PiB7XG4gICAgICAgICAgICBtb2RhbC5jbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfV1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICAkc2NvcGUuZ2V0RGVzY3JpcHRpb24gPSAodGVtcGxhdGUpID0+IHtcbiAgICAgIHZhciBhbnN3ZXI6YW55ID0gJChtYXJrZWQoZ2V0VmFsdWVGb3IodGVtcGxhdGUsICdkZXNjcmlwdGlvbicpIHx8ICdObyBkZXNjcmlwdGlvbicpKTtcbiAgICAgIHZhciB0ZXh0RGVmYXVsdCA9IGFuc3dlci5odG1sKCk7XG4gICAgICB2YXIgbWF4TGVuZ3RoID0gMjAwO1xuICAgICAgaWYgKHRleHREZWZhdWx0Lmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgICAgICB2YXIgdHJ1bmNhdGVkID0gJC50cmltKHRleHREZWZhdWx0KS5zdWJzdHJpbmcoMCwgbWF4TGVuZ3RoKS5zcGxpdCgnICcpLnNsaWNlKDAsIC0xKS5qb2luKCcgJyk7XG4gICAgICAgIGFuc3dlci5odG1sKHRydW5jYXRlZCArICcuLi4nKTtcbiAgICAgICAgYW5zd2VyLmFwcGVuZCgkdGVtcGxhdGVDYWNoZS5nZXQoJ3RydW5jYXRlZERlc2NyaXB0aW9uVGFnLmh0bWwnKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYW5zd2VyLmh0bWwoKTtcbiAgICB9O1xuXG4gICAgJHNjb3BlLmdldEljb25VcmwgPSAodGVtcGxhdGUpID0+IHtcbiAgICAgIHJldHVybiBnZXRWYWx1ZUZvcih0ZW1wbGF0ZSwgJ2ljb25VcmwnKSB8fCBkZWZhdWx0SWNvblVybDtcbiAgICB9O1xuXG4gICAgJHNjb3BlLmRlcGxveVRlbXBsYXRlID0gKHRlbXBsYXRlKSA9PiB7XG4gICAgICBsb2cuZGVidWcoXCJUZW1wbGF0ZSBwYXJhbWV0ZXJzOiBcIiwgdGVtcGxhdGUucGFyYW1ldGVycyk7XG4gICAgICBsb2cuZGVidWcoXCJUZW1wbGF0ZSBvYmplY3RzOiBcIiwgdGVtcGxhdGUub2JqZWN0cyk7XG4gICAgICBsb2cuZGVidWcoXCJUZW1wbGF0ZSBhbm5vdGF0aW9uczogXCIsIHRlbXBsYXRlLm1ldGFkYXRhLmFubm90YXRpb25zKTtcbiAgICAgIHZhciB0ZW1wbGF0ZUFubm90YXRpb25zID0gdGVtcGxhdGUubWV0YWRhdGEuYW5ub3RhdGlvbnM7XG4gICAgICBpZiAodGVtcGxhdGVBbm5vdGF0aW9ucykge1xuICAgICAgICBfLmZvckVhY2godGVtcGxhdGUub2JqZWN0cywgKG9iamVjdDphbnkpID0+IHtcbiAgICAgICAgICB2YXIgYW5ub3RhdGlvbnMgPSBvYmplY3QubWV0YWRhdGEuYW5ub3RhdGlvbnMgfHwge307XG4gICAgICAgICAgdmFyIG5hbWUgPSBnZXROYW1lKG9iamVjdCk7XG4gICAgICAgICAgdmFyIG1hdGNoZXMgPSBfLmZpbHRlcihfLmtleXModGVtcGxhdGVBbm5vdGF0aW9ucyksIChrZXkpID0+IGtleS5tYXRjaCgnLicgKyBuYW1lICsgJy8nKSk7XG4gICAgICAgICAgbWF0Y2hlcy5mb3JFYWNoKChtYXRjaCkgPT4ge1xuICAgICAgICAgICAgaWYgKCEobWF0Y2ggaW4gYW5ub3RhdGlvbnMpKSB7XG4gICAgICAgICAgICAgIGFubm90YXRpb25zW21hdGNoXSA9IHRlbXBsYXRlQW5ub3RhdGlvbnNbbWF0Y2hdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIG9iamVjdC5tZXRhZGF0YS5hbm5vdGF0aW9ucyA9IGFubm90YXRpb25zO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHZhciByb3V0ZVNlcnZpY2VOYW1lID0gPHN0cmluZz4gdW5kZWZpbmVkO1xuICAgICAgdmFyIHNlcnZpY2UgPSBfLmZpbmQodGVtcGxhdGUub2JqZWN0cywgKG9iaikgPT4ge1xuICAgICAgICBpZiAoZ2V0S2luZChvYmopID09PSBcIlNlcnZpY2VcIikge1xuICAgICAgICAgIHZhciBwb3J0cyA9IGdldFBvcnRzKG9iaik7XG4gICAgICAgICAgaWYgKHBvcnRzICYmIHBvcnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAoc2VydmljZSkge1xuICAgICAgICByb3V0ZVNlcnZpY2VOYW1lID0gZ2V0TmFtZShzZXJ2aWNlKTtcbiAgICAgIH1cbiAgICAgIGxvZy5kZWJ1ZyhcIlNlcnZpY2U6IFwiLCBzZXJ2aWNlKTtcbiAgICAgIGlmICgoIXJvdXRlU2VydmljZU5hbWUgfHwgIWlzT3BlblNoaWZ0KSAmJiAoIXRlbXBsYXRlLnBhcmFtZXRlcnMgfHwgdGVtcGxhdGUucGFyYW1ldGVycy5sZW5ndGggPT09IDApKSB7XG4gICAgICAgIGxvZy5kZWJ1ZyhcIk5vIHBhcmFtZXRlcnMgcmVxdWlyZWQsIGRlcGxveWluZyBvYmplY3RzXCIpO1xuICAgICAgICBhcHBseU9iamVjdHModGVtcGxhdGUub2JqZWN0cyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHZhciBmb3JtQ29uZmlnID0ge1xuICAgICAgICBzdHlsZTogSGF3dGlvRm9ybXMuRm9ybVN0eWxlLlNUQU5EQVJELFxuICAgICAgICBoaWRlTGVnZW5kOiB0cnVlLFxuICAgICAgICBwcm9wZXJ0aWVzOiA8YW55PiB7fVxuICAgICAgfTtcbiAgICAgIHZhciBwYXJhbXMgPSB0ZW1wbGF0ZS5wYXJhbWV0ZXJzO1xuICAgICAgXy5mb3JFYWNoKHBhcmFtcywgKHBhcmFtOmFueSkgPT4ge1xuICAgICAgICB2YXIgcHJvcGVydHkgPSA8YW55PiB7fTtcbiAgICAgICAgcHJvcGVydHkubGFiZWwgPSBwYXJhbS5uYW1lLnRpdGxlaXplKCk7XG4gICAgICAgIHByb3BlcnR5LmRlc2NyaXB0aW9uID0gcGFyYW0uZGVzY3JpcHRpb247XG4gICAgICAgIHByb3BlcnR5LmRlZmF1bHQgPSBwYXJhbS52YWx1ZTtcbiAgICAgICAgLy8gVE9ETywgZG8gcGFyYW1ldGVycyBzdXBwb3J0IHR5cGVzP1xuICAgICAgICBwcm9wZXJ0eS50eXBlID0gJ3N0cmluZyc7XG4gICAgICAgIGZvcm1Db25maWcucHJvcGVydGllc1twYXJhbS5uYW1lXSA9IHByb3BlcnR5O1xuICAgICAgfSk7XG4gICAgICBpZiAocm91dGVTZXJ2aWNlTmFtZSAmJiBpc09wZW5TaGlmdCkge1xuICAgICAgICBmb3JtQ29uZmlnLnByb3BlcnRpZXMuY3JlYXRlUm91dGUgPSB7XG4gICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgbGFiZWw6IFwiQ3JlYXRlIFJvdXRlXCJcbiAgICAgICAgfTtcbi8qXG4gICAgICAgIGZvcm1Db25maWcucHJvcGVydGllcy5yb3V0ZU5hbWUgPSB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgbGFiZWw6ICdSb3V0ZSBOYW1lJyxcbiAgICAgICAgICBkZWZhdWx0OiByb3V0ZVNlcnZpY2VOYW1lLFxuICAgICAgICAgICdjb250cm9sLWdyb3VwLWF0dHJpYnV0ZXMnOiB7XG4gICAgICAgICAgICAnbmctc2hvdyc6ICdlbnRpdHkuY3JlYXRlUm91dGUnXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuKi9cbiAgICAgICAgZm9ybUNvbmZpZy5wcm9wZXJ0aWVzLnJvdXRlU2VydmljZU5hbWUgPSB7XG4gICAgICAgICAgdHlwZTogJ2hpZGRlbicsXG4gICAgICAgICAgZGVmYXVsdDogcm91dGVTZXJ2aWNlTmFtZVxuICAgICAgICB9XG5cbiAgICAgICAgdmFyIG5hbWVzcGFjZSA9IGN1cnJlbnRLdWJlcm5ldGVzTmFtZXNwYWNlKCk7XG4gICAgICAgIC8vIFRPRE8gc3RvcmUgdGhpcyBpbiBsb2NhbFN0b3JhZ2UhXG4gICAgICAgIHZhciBkb21haW4gPSBcInZhZ3JhbnQuZjhcIjtcbiAgICAgICAgdmFyIGRlZmF1bHRSb3V0ZUhvc3RTdWZmaXggPSAnLicgKyAobmFtZXNwYWNlID09PSBcImRlZmF1bHRcIiA/IFwiXCIgOiBuYW1lc3BhY2UgKyBcIi5cIikgKyBkb21haW47XG4gICAgICAgIGZvcm1Db25maWcucHJvcGVydGllcy5yb3V0ZUhvc3RuYW1lID0ge1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGRlZmF1bHQ6IGRlZmF1bHRSb3V0ZUhvc3RTdWZmaXgsXG4gICAgICAgICAgbGFiZWw6IFwiUm91dGUgaG9zdCBuYW1lIHN1ZmZpeFwiLFxuICAgICAgICAgICdjb250cm9sLWdyb3VwLWF0dHJpYnV0ZXMnOiB7XG4gICAgICAgICAgICAnbmctc2hvdyc6ICdlbnRpdHkuY3JlYXRlUm91dGUnXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgJHNjb3BlLmVudGl0eSA9IDxhbnk+IHt9O1xuICAgICAgJHNjb3BlLmZvcm1Db25maWcgPSBmb3JtQ29uZmlnO1xuICAgICAgJHNjb3BlLm9iamVjdHMgPSB0ZW1wbGF0ZS5vYmplY3RzO1xuICAgICAgbG9nLmRlYnVnKFwiRm9ybSBjb25maWc6IFwiLCBmb3JtQ29uZmlnKTtcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gc3Vic3RpdHV0ZShzdHIsIGRhdGEpIHtcbiAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvXFwke1xcdyp9L2csIChtYXRjaCkgPT4ge1xuICAgICAgICB2YXIga2V5ID0gbWF0Y2gucmVwbGFjZSgvXFwkey8sICcnKS5yZXBsYWNlKC99LywgJycpLnRyaW0oKTtcbiAgICAgICAgcmV0dXJuIGRhdGFba2V5XSB8fCBtYXRjaDtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICAkc2NvcGUuc3Vic3RpdHV0ZUFuZERlcGxveVRlbXBsYXRlID0gKCkgPT4ge1xuICAgICAgdmFyIG9iamVjdHMgPSAkc2NvcGUub2JqZWN0cztcbiAgICAgIHZhciBvYmplY3RzVGV4dCA9IGFuZ3VsYXIudG9Kc29uKG9iamVjdHMsIHRydWUpO1xuICAgICAgLy8gcHVsbCB0aGVzZSBvdXQgb2YgdGhlIGVudGl0eSBvYmplY3Qgc28gdGhleSdyZSBub3QgdXNlZCBpbiBzdWJzdGl0dXRpb25zXG4gICAgICB2YXIgY3JlYXRlUm91dGUgPSAkc2NvcGUuZW50aXR5LmNyZWF0ZVJvdXRlO1xuICAgICAgdmFyIHJvdXRlSG9zdG5hbWVTdWZmaXggPSAkc2NvcGUuZW50aXR5LnJvdXRlSG9zdG5hbWUgfHwgXCJcIjtcbiAgICAgIHZhciByb3V0ZU5hbWUgPSAkc2NvcGUuZW50aXR5LnJvdXRlTmFtZTtcbiAgICAgIHZhciByb3V0ZVNlcnZpY2VOYW1lID0gJHNjb3BlLmVudGl0eS5yb3V0ZVNlcnZpY2VOYW1lO1xuICAgICAgZGVsZXRlICRzY29wZS5lbnRpdHkuY3JlYXRlUm91dGU7XG4gICAgICBkZWxldGUgJHNjb3BlLmVudGl0eS5yb3V0ZUhvc3RuYW1lO1xuICAgICAgZGVsZXRlICRzY29wZS5lbnRpdHkucm91dGVOYW1lO1xuICAgICAgZGVsZXRlICRzY29wZS5lbnRpdHkucm91dGVTZXJ2aWNlTmFtZTtcbiAgICAgIG9iamVjdHNUZXh0ID0gc3Vic3RpdHV0ZShvYmplY3RzVGV4dCwgJHNjb3BlLmVudGl0eSk7XG4gICAgICBvYmplY3RzID0gYW5ndWxhci5mcm9tSnNvbihvYmplY3RzVGV4dCk7XG4gICAgICBpZiAoY3JlYXRlUm91dGUpIHtcbiAgICAgICAgdmFyIHJvdXRlcyA9IFtdO1xuICAgICAgICBhbmd1bGFyLmZvckVhY2gob2JqZWN0cywgKG9iamVjdCkgPT4ge1xuICAgICAgICAgIHZhciBraW5kID0gb2JqZWN0LmtpbmQ7XG4gICAgICAgICAgdmFyIG5hbWUgPSBnZXROYW1lKG9iamVjdCk7XG4gICAgICAgICAgaWYgKG5hbWUgJiYgXCJTZXJ2aWNlXCIgPT09IGtpbmQpIHtcbiAgICAgICAgICAgIHZhciByb3V0ZUhvc3RuYW1lID0gbmFtZSArIHJvdXRlSG9zdG5hbWVTdWZmaXg7XG4gICAgICAgICAgICB2YXIgcm91dGUgPSB7XG4gICAgICAgICAgICAgIGtpbmQ6IFwiUm91dGVcIixcbiAgICAgICAgICAgICAgYXBpVmVyc2lvbjogZGVmYXVsdE9TQXBpVmVyc2lvbixcbiAgICAgICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBzcGVjOiB7XG4gICAgICAgICAgICAgICAgaG9zdDogcm91dGVIb3N0bmFtZSxcbiAgICAgICAgICAgICAgICB0bzoge1xuICAgICAgICAgICAgICAgICAga2luZDogXCJTZXJ2aWNlXCIsXG4gICAgICAgICAgICAgICAgICBuYW1lOiBuYW1lXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb3V0ZXMucHVzaChyb3V0ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgb2JqZWN0cyA9IG9iamVjdHMuY29uY2F0KHJvdXRlcyk7XG4gICAgICB9XG4gICAgICBpZiAoJHNjb3BlLnRhcmdldE5hbWVzcGFjZSAhPT0gbW9kZWwuY3VycmVudE5hbWVzcGFjZSgpKSB7XG4gICAgICAgICRzY29wZS4kb24oJ1dhdGNoZXJOYW1lc3BhY2VDaGFuZ2VkJywgKCkgPT4ge1xuICAgICAgICAgIGxvZy5kZWJ1ZyhcIk5hbWVzcGFjZSBjaGFuZ2VkXCIpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgcmVsb2FkRGF0YUlmTm9XYXRjaCgpO1xuICAgICAgICAgICAgYXBwbHlPYmplY3RzKG9iamVjdHMpO1xuICAgICAgICAgICAgQ29yZS4kYXBwbHkoJHNjb3BlKTtcbiAgICAgICAgICB9LCA1MDApO1xuICAgICAgICB9KTtcbiAgICAgICAgQ29yZS5ub3RpZmljYXRpb24oJ2luZm8nLCBcIlN3aXRjaGluZyB0byBuYW1lc3BhY2UgXCIgKyAkc2NvcGUudGFyZ2V0TmFtZXNwYWNlICsgXCIgYW5kIGRlcGxveWluZyB0ZW1wbGF0ZVwiKTtcbiAgICAgICAgbW9kZWwua3ViZXJuZXRlcy5zZWxlY3RlZE5hbWVzcGFjZSA9ICRzY29wZS50YXJnZXROYW1lc3BhY2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhcHBseU9iamVjdHMob2JqZWN0cyk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGFwcGx5T2JqZWN0cyhvYmplY3RzKSB7XG4gICAgICBfLmZvckVhY2gob2JqZWN0cywgKG9iamVjdDphbnkpID0+IHtcbiAgICAgICAgbG9nLmRlYnVnKFwiT2JqZWN0OiBcIiwgb2JqZWN0KTtcbiAgICAgICAgdXBkYXRlT3JDcmVhdGVPYmplY3Qob2JqZWN0LCBLdWJlcm5ldGVzTW9kZWwpO1xuICAgICAgfSk7XG4gICAgICBnb0JhY2soKTtcbiAgICB9XG5cbiAgICAkc2NvcGUuZGVsZXRlVGVtcGxhdGUgPSAodGVtcGxhdGUpID0+IHtcbiAgICAgIFVJLm11bHRpSXRlbUNvbmZpcm1BY3Rpb25EaWFsb2coPFVJLk11bHRpSXRlbUNvbmZpcm1BY3Rpb25PcHRpb25zPntcbiAgICAgICAgY29sbGVjdGlvbjogW3RlbXBsYXRlXSxcbiAgICAgICAgaW5kZXg6ICdtZXRhZGF0YS5uYW1lJyxcbiAgICAgICAgb25DbG9zZTogKHJlc3VsdDpib29sZWFuKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgS3ViZXJuZXRlc01vZGVsWyd0ZW1wbGF0ZXNSZXNvdXJjZSddLmRlbGV0ZSh7XG4gICAgICAgICAgICAgIGlkOiB0ZW1wbGF0ZS5tZXRhZGF0YS5uYW1lXG4gICAgICAgICAgICB9LCB1bmRlZmluZWQsICgpID0+IHtcbiAgICAgICAgICAgICAgS3ViZXJuZXRlc01vZGVsWyd0ZW1wbGF0ZXNSZXNvdXJjZSddLnF1ZXJ5KChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgS3ViZXJuZXRlc01vZGVsLnRlbXBsYXRlcyA9IGRhdGEuaXRlbXM7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIGxvZy5kZWJ1ZyhcIkVycm9yIGRlbGV0aW5nIHRlbXBsYXRlOiBcIiwgZXJyb3IpOyBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6ICdEZWxldGUgVGVtcGxhdGU/JyxcbiAgICAgICAgYWN0aW9uOiAnVGhlIGZvbGxvd2luZyB0ZW1wbGF0ZSB3aWxsIGJlIGRlbGV0ZWQ6JyxcbiAgICAgICAgb2tUZXh0OiAnRGVsZXRlJyxcbiAgICAgICAgb2tDbGFzczogJ2J0bi1kYW5nZXInLFxuICAgICAgICBjdXN0b206IFwiVGhpcyBvcGVyYXRpb24gaXMgcGVybWFuZW50IG9uY2UgY29tcGxldGVkIVwiLFxuICAgICAgICBjdXN0b21DbGFzczogXCJhbGVydCBhbGVydC13YXJuaW5nXCJcbiAgICAgIH0pLm9wZW4oKTtcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gcmVsb2FkRGF0YUlmTm9XYXRjaCgpIHtcbiAgICAgIGlmICghJHNjb3BlLndhdGNoIHx8ICEkc2NvcGUud2F0Y2guY29ubmVjdGVkKSB7XG4gICAgICAgIC8vIFRPRE8gcmVnaXN0ZXIgYSBoYW5kbGVyIG9mIGJhZCB3YXRjaGVzIHNvIHdlIGludm9rZSB0aGlzIGluIGEgcG9sbGluZyBmb3JtIGF1dG9tYXRpY2FsbHk/XG4gICAgICAgIG1vZGVsLnRlbXBsYXRlc1Jlc291cmNlLnF1ZXJ5KChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZSkge1xuICAgICAgICAgICAgdmFyIGl0ZW1zID0gcmVzcG9uc2UuaXRlbXM7XG4gICAgICAgICAgICBtb2RlbC50ZW1wbGF0ZXMgPSBpdGVtcztcbiAgICAgICAgICAgIENvcmUuJGFwcGx5KCRzY29wZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1dKTtcbn1cblxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cImt1YmVybmV0ZXNQbHVnaW4udHNcIi8+XG5cbm1vZHVsZSBLdWJlcm5ldGVzIHtcbiAgdmFyIGxvZyA9IExvZ2dlci5nZXQoJ2t1YmVybmV0ZXMtd2F0Y2hlcicpO1xuICB2YXIgYXBpVXJsID0gVXJsSGVscGVycy5qb2luKCdhcGknLCAndjEnKTtcblxuICB2YXIgbmFtZXNwYWNlVHlwZSA9IFdhdGNoVHlwZXMuTkFNRVNQQUNFUztcblxuICB2YXIgazhzVHlwZXMgPSBOYW1lc3BhY2VkVHlwZXMuazhzVHlwZXM7XG4gIHZhciBvc1R5cGVzICA9IE5hbWVzcGFjZWRUeXBlcy5vc1R5cGVzO1xuXG4gIHZhciBiYXNlV2F0Y2ggPSA8YW55PiB7XG4gICAgdXJsOiA8c3RyaW5nPiB1bmRlZmluZWQsXG4gICAgY29ubmVjdFRpbWU6IDxOdW1iZXI+IHVuZGVmaW5lZCxcbiAgICBvYmplY3RzOiA8T2JqZWN0TWFwPiB7fSxcbiAgICBvYmplY3RBcnJheTogPEFycmF5PGFueT4+IFtdLFxuICAgIGN1c3RvbWl6ZXJzOiA8QXJyYXk8KG9iajphbnkpID0+IHZvaWQ+PltdLFxuICAgIG9uQWRkQWN0aW9uczogPEFycmF5PChvYmo6YW55KSA9PiB2b2lkPj4gW10sXG4gICAgb25Nb2RpZmllZEFjdGlvbnM6IDxBcnJheTwob2JqOmFueSkgPT4gdm9pZD4+IFtdLFxuICAgIG9uRGVsZXRlZEFjdGlvbnM6IDxBcnJheTwob2JqOmFueSkgPT4gdm9pZD4+IFtdLFxuICAgIHNvY2tldDogPFdlYlNvY2tldD4gdW5kZWZpbmVkLFxuICAgIGNvbm5lY3RlZDogZmFsc2VcbiAgfVxuXG4gIHZhciBuYW1lc3BhY2VXYXRjaCA9IDxhbnk+IF8uYXNzaWduKF8uY2xvbmVEZWVwKGJhc2VXYXRjaCksIHtcbiAgICBzZWxlY3RlZDogdW5kZWZpbmVkLFxuICAgIGNvbm5lY3RUaW1lOiA8TnVtYmVyPiB1bmRlZmluZWQsXG4gICAgdXJsOiBVcmxIZWxwZXJzLmpvaW4oYXBpVXJsLCBXYXRjaFR5cGVzLk5BTUVTUEFDRVMpLFxuICB9KTtcblxuICBleHBvcnQgdmFyIHdhdGNoZXMgPSA8YW55PiB7fTtcbiAgXy5mb3JFYWNoKGs4c1R5cGVzLCAodHlwZSkgPT4ge1xuICAgIHdhdGNoZXNbdHlwZV0gPSBfLmFzc2lnbihfLmNsb25lRGVlcChiYXNlV2F0Y2gpLCB7XG4gICAgICBwcmVmaXg6ICgpID0+IGt1YmVybmV0ZXNBcGlQcmVmaXgoKSxcbiAgICAgIHZhbGlkOiAoKSA9PiB0cnVlXG4gICAgfSk7XG4gIH0pO1xuICBfLmZvckVhY2gob3NUeXBlcywgKHR5cGUpID0+IHtcbiAgICB3YXRjaGVzW3R5cGVdID0gXy5hc3NpZ24oXy5jbG9uZURlZXAoYmFzZVdhdGNoKSwge1xuICAgICAgcHJlZml4OiAoKSA9PiBvcGVuc2hpZnRBcGlQcmVmaXgoKSxcbiAgICAgIHZhbGlkOiAoKSA9PiBpc09wZW5TaGlmdCB8fCAodHlwZSA9PT0gXCJ0ZW1wbGF0ZXNcIiB8fCB0eXBlID09PSBcImJ1aWxkY29uZmlnc1wiKVxuICAgIH0pO1xuICB9KTtcblxuICBoYXd0aW9QbHVnaW5Mb2FkZXIucmVnaXN0ZXJQcmVCb290c3RyYXBUYXNrKHtcbiAgICBuYW1lOiAnS3ViZXJuZXRlc1dhdGNoZXJJbml0JyxcbiAgICBkZXBlbmRzOiBbJ2hhd3Rpby1vYXV0aCddLFxuICAgIHRhc2s6IChuZXh0KSA9PiB7XG4gICAgICBpc09wZW5TaGlmdCA9IHRydWU7XG5cbiAgICAgIGZ1bmN0aW9uIHdhdGNoTmFtZXNwYWNlcygpIHtcbiAgICAgICAgdmFyIHVyaSA9IG5ldyBVUkkobWFzdGVyQXBpVXJsKCkpO1xuICAgICAgICB1cmkucGF0aChuYW1lc3BhY2VXYXRjaC51cmwpO1xuICAgICAgICB2YXIgdXJsID0gdXJpLnRvU3RyaW5nKCk7XG4gICAgICAgIEhhd3Rpb09BdXRoLmF1dGhlbnRpY2F0ZWRIdHRwUmVxdWVzdCh7XG4gICAgICAgICAgdXJsOiB1cmkudG9TdHJpbmcoKVxuICAgICAgICB9KS5kb25lKChkYXRhKSA9PiB7XG4gICAgICAgICAgXy5mb3JFYWNoKGRhdGEuaXRlbXMsIChuYW1lc3BhY2U6YW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoIW5hbWVzcGFjZS5tZXRhZGF0YS51aWQpIHtcbiAgICAgICAgICAgICAgbmFtZXNwYWNlLm1ldGFkYXRhLnVpZCA9IG5hbWVzcGFjZS5tZXRhZGF0YS5uYW1lc3BhY2UgKyAnLycgKyBuYW1lc3BhY2UubWV0YWRhdGEubmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5hbWVzcGFjZVdhdGNoLm9iamVjdHNbbmFtZXNwYWNlLm1ldGFkYXRhLnVpZF0gPSBuYW1lc3BhY2U7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgbmFtZXNwYWNlV2F0Y2gub2JqZWN0QXJyYXkubGVuZ3RoID0gMDtcbiAgICAgICAgICBfLmZvckluKG5hbWVzcGFjZVdhdGNoLm9iamVjdHMsIChvYmplY3QsIGtleSkgPT4ge1xuICAgICAgICAgICAgbmFtZXNwYWNlV2F0Y2gub2JqZWN0QXJyYXkucHVzaChvYmplY3QpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgfSkuZmFpbCgoeEhyLCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgPT4ge1xuICAgICAgICAgIGxvZy53YXJuKHRleHRTdGF0dXMsIFwiOiBcIiwgZXJyb3JUaHJvd24pO1xuICAgICAgICAgIEhhd3Rpb09BdXRoLmRvTG9nb3V0KCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG5cbiAgICAgIHZhciByb290VXJpID0gbmV3IFVSSShtYXN0ZXJBcGlVcmwoKSk7XG4gICAgICByb290VXJpLnBhdGgoXCIvXCIpLnF1ZXJ5KFwiXCIpO1xuICAgICAgdmFyIHJvb3RVcmlUZXh0ID0gcm9vdFVyaS50b1N0cmluZygpO1xuICAgICAgbG9nLmluZm8oXCJBYm91dCB0byBxdWVyeSByb290IHBhdGhzOiBcIiArIG1hc3RlckFwaVVybCgpKTtcbiAgICAgIEhhd3Rpb09BdXRoLmF1dGhlbnRpY2F0ZWRIdHRwUmVxdWVzdCh7XG4gICAgICAgIHVybDogcm9vdFVyaVRleHRcbiAgICAgIH0pLmRvbmUoKGRhdGEpID0+IHtcbiAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICB2YXIgcGF0aHMgPSBkYXRhLnBhdGhzO1xuICAgICAgICAgIGlmIChwYXRocykge1xuICAgICAgICAgICAgaXNPcGVuU2hpZnQgPSBmYWxzZTtcbiAgICAgICAgICAgIGFuZ3VsYXIuZm9yRWFjaChwYXRocywgKHBhdGgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGFuZ3VsYXIuaXNTdHJpbmcocGF0aCkgJiYgKHBhdGggPT09IFwiL29hcGlcIiB8fCBwYXRoID09PSBcIm9hcGlcIikpIHtcbiAgICAgICAgICAgICAgICBpc09wZW5TaGlmdCA9IHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsb2cuaW5mbyhcImlzT3BlblNoaWZ0IFwiICsgaXNPcGVuU2hpZnQgKyBcIiB3aXRoIHBhdGhzIFwiICsgcGF0aHMpO1xuICAgICAgICB9XG4gICAgICAgIHdhdGNoTmFtZXNwYWNlcygpO1xuICAgICAgfSkuZmFpbCgoeEhyLCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgPT4ge1xuICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBmaW5kIHJvb3QgcGF0aHM6IFwiICsgdGV4dFN0YXR1cywgXCI6IFwiLCBlcnJvclRocm93bik7XG4gICAgICAgIHdhdGNoTmFtZXNwYWNlcygpO1xuICAgICAgfSk7XG5cblxuICAgIH1cbiAgfSk7XG5cbiAgZnVuY3Rpb24gY3JlYXRlV2F0Y2godHlwZSwgd2F0Y2gsIHVzZXJEZXRhaWxzLCAkc2NvcGUsIG9uTWVzc2FnZSA9IChldmVudCkgPT4ge30sIG9uQ2xvc2UgPSAoZXZlbnQpID0+IHt9LCBvbk9wZW4gPSAoZXZlbnQpID0+IHt9KSB7XG4gICAgdmFyIGFwaVVybCA9IG1hc3RlckFwaVVybCgpO1xuICAgIHZhciB3YXRjaFVybCA9IHdhdGNoLnVybDtcbiAgICB2YXIgdXJpO1xuICAgIGlmICghYXBpVXJsIHx8IGFwaVVybCA9PT0gXCIvXCIpIHtcbiAgICAgIC8vIGxldHMgYXZvaWQgdXNpbmcgYSByZWxhdGl2ZSBwYXRoIGlmIG5vIG1hc3RlciB1cmwgaXMgc3BlY2lmaWVkXG4gICAgICAvLyBhcyB3ZSBhcmUgcHJvYmFibHkgc2VydmluZyB1cCBzdGF0aWMgY29udGVudCBmcm9tIGluc2lkZSAvYXBpL3YxL25hbWVzcGFjZXMvZGVmYXVsdC9zZXJ2aWNlcy9mYWJyaWM4IG9yIHNvbWV0aGluZyBsaWtlIHRoYXRcbiAgICAgIHVyaSA9IG5ldyBVUkkoVXJsSGVscGVycy5qb2luKGFwaVVybCwgd2F0Y2hVcmwpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdXJpID0gbmV3IFVSSShhcGlVcmwpO1xuICAgICAgdXJpLnBhdGgod2F0Y2hVcmwpO1xuICAgIH1cbiAgICBpZiAodXJpLnByb3RvY29sKCkgPT09IFwiaHR0cHNcIikge1xuICAgICAgdXJpLnByb3RvY29sKCd3c3MnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdXJpLnByb3RvY29sKCd3cycpO1xuICAgIH1cbiAgICB1cmkucXVlcnkoPGFueT4ge1xuICAgICAgd2F0Y2g6IHRydWUsXG4gICAgICBhY2Nlc3NfdG9rZW46IHVzZXJEZXRhaWxzLnRva2VuXG4gICAgfSk7XG4gICAgd2F0Y2gucmV0cmllcyA9IDA7XG4gICAgdmFyIG9uT3BlbkludGVybmFsID0gKGV2ZW50KSA9PiB7XG4gICAgICB3YXRjaC5yZXRyaWVzID0gMDtcbiAgICAgIHdhdGNoLmNvbm5lY3RUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICB3YXRjaC5jb25uZWN0ZWQgPSB0cnVlO1xuICAgICAgb25PcGVuKGV2ZW50KTtcbiAgICB9O1xuICAgIHZhciBvbk1lc3NhZ2VJbnRlcm5hbCA9IChldmVudCkgPT4ge1xuICAgICAgLy8gbG9nLmRlYnVnKHR5cGUsIFwiIG9ubWVzc2FnZTogXCIsIGV2ZW50KTtcbiAgICAgIHZhciBkYXRhID0gYW5ndWxhci5mcm9tSnNvbihldmVudC5kYXRhKTtcbiAgICAgIC8vbG9nLmRlYnVnKHR5cGUsIFwiIGRhdGE6IFwiLCBkYXRhKTtcbiAgICAgIHN3aXRjaCAoZGF0YS50eXBlKSB7XG4gICAgICAgIGNhc2UgV2F0Y2hBY3Rpb25zLkFEREVEOlxuICAgICAgICBjYXNlIFdhdGNoQWN0aW9ucy5NT0RJRklFRDpcbiAgICAgICAgICB2YXIgb2JqID0gZGF0YS5vYmplY3Q7XG4gICAgICAgICAgaWYgKHdhdGNoLmN1c3RvbWl6ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIF8uZm9yRWFjaCh3YXRjaC5jdXN0b21pemVycywgKGN1c3RvbWl6ZXI6KG9iajphbnkpID0+IHZvaWQpID0+IHtcbiAgICAgICAgICAgICAgY3VzdG9taXplcihvYmopO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghZGF0YS5vYmplY3QubWV0YWRhdGEudWlkKSB7XG4gICAgICAgICAgICBkYXRhLm9iamVjdC5tZXRhZGF0YS51aWQgPSBkYXRhLm9iamVjdC5tZXRhZGF0YS5uYW1lc3BhY2UgKyAnLycgKyBkYXRhLm9iamVjdC5tZXRhZGF0YS5uYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgICB3YXRjaC5vYmplY3RzW2RhdGEub2JqZWN0Lm1ldGFkYXRhLnVpZF0gPSBkYXRhLm9iamVjdDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBXYXRjaEFjdGlvbnMuREVMRVRFRDpcbiAgICAgICAgICBkZWxldGUgd2F0Y2gub2JqZWN0c1tkYXRhLm9iamVjdC5tZXRhZGF0YS51aWRdO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGxvZy5pbmZvKFwiVW5rbm93biBldmVudCB0eXBlOiBcIiwgZGF0YS50eXBlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB3YXRjaC5vYmplY3RBcnJheS5sZW5ndGggPSAwO1xuICAgICAgXy5mb3JJbih3YXRjaC5vYmplY3RzLCAob2JqZWN0LCB1aWQpID0+IHtcbiAgICAgICAgd2F0Y2gub2JqZWN0QXJyYXkucHVzaChvYmplY3QpO1xuICAgICAgfSk7XG4gICAgICBvbk1lc3NhZ2UoZGF0YSk7XG4gICAgICAvLyBleGVjdXRlIGFueSB3YXRjaCBhY3Rpb25zXG4gICAgICBzd2l0Y2ggKGRhdGEudHlwZSkge1xuICAgICAgICBjYXNlIFdhdGNoQWN0aW9ucy5BRERFRDpcbiAgICAgICAgICBfLmZvckVhY2god2F0Y2gub25BZGRBY3Rpb25zLCAoYWN0aW9uOmFueSkgPT4gYWN0aW9uKGRhdGEub2JqZWN0KSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgV2F0Y2hBY3Rpb25zLk1PRElGSUVEOlxuICAgICAgICAgIF8uZm9yRWFjaCh3YXRjaC5vbk1vZGlmaWVkQWN0aW9ucywgKGFjdGlvbjphbnkpID0+IGFjdGlvbihkYXRhLm9iamVjdCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFdhdGNoQWN0aW9ucy5ERUxFVEVEOlxuICAgICAgICAgIF8uZm9yRWFjaCh3YXRjaC5vbkRlbGV0ZWRBY3Rpb25zLCAoYWN0aW9uOmFueSkgPT4gYWN0aW9uKGRhdGEub2JqZWN0KSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgIH07XG4gICAgdmFyIG9uQ2xvc2VJbnRlcm5hbCA9IChldmVudCkgPT4ge1xuICAgICAgd2F0Y2guY29ubmVjdGVkID0gZmFsc2U7XG4gICAgICBpZiAod2F0Y2gucmV0cmllcyA8IDMgJiYgd2F0Y2guY29ubmVjdFRpbWUgJiYgbmV3IERhdGUoKS5nZXRUaW1lKCkgLSB3YXRjaC5jb25uZWN0VGltZSA+IDUwMDApIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgd2F0Y2gucmV0cmllcyA9IHdhdGNoLnJldHJpZXMgKyAxO1xuICAgICAgICAgIGxvZy5kZWJ1ZyhcIndhdGNoIFwiLCB0eXBlLCBcIiBkaXNjb25uZWN0ZWQsIHJldHJ5ICNcIiwgd2F0Y2gucmV0cmllcyk7XG4gICAgICAgICAgdmFyIHdzID0gd2F0Y2guc29ja2V0ID0gbmV3IFdlYlNvY2tldCh1cmkudG9TdHJpbmcoKSk7XG4gICAgICAgICAgd3Mub25vcGVuID0gb25PcGVuSW50ZXJuYWw7XG4gICAgICAgICAgd3Mub25tZXNzYWdlID0gb25NZXNzYWdlSW50ZXJuYWw7XG4gICAgICAgICAgd3Mub25jbG9zZSA9IG9uQ2xvc2VJbnRlcm5hbDtcbiAgICAgICAgfSwgNTAwMCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvbkNsb3NlKGV2ZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdmFyIHdzID0gd2F0Y2guc29ja2V0ID0gbmV3IFdlYlNvY2tldCh1cmkudG9TdHJpbmcoKSk7XG4gICAgd3Mub25vcGVuID0gb25PcGVuSW50ZXJuYWw7XG4gICAgd3Mub25tZXNzYWdlID0gb25NZXNzYWdlSW50ZXJuYWw7XG4gICAgd3Mub25jbG9zZSA9IG9uQ2xvc2VJbnRlcm5hbDtcbiAgfVxuXG4gIC8qXG4gICAgIF9tb2R1bGUucnVuKFsnV2F0Y2hlclNlcnZpY2UnLCAnJHJvb3RTY29wZScsIChXYXRjaGVyU2VydmljZTpXYXRjaGVyU2VydmljZSwgJHJvb3RTY29wZSkgPT4ge1xuICAgICBsb2cuZGVidWcoXCJTdGFydGVkIHdhdGNoZXIgc2VydmljZVwiKTtcblxuLy9cdFx0S3ViZXJuZXRlcy5rZWVwUG9sbGluZ01vZGVsID0gZmFsc2U7XG5cbi8vIHNvbWUgdXNhZ2UgZXhhbXBsZXNcbi8vXHRcdFdhdGNoZXJTZXJ2aWNlLmFkZEN1c3RvbWl6ZXIoJ3BvZHMnLCAocG9kKSA9PiB7XG4vL1x0XHRcdHBvZC5Tb21lVmFsdWUgPSAnZm9vYmFyJztcbi8vXHRcdH0pO1xuLy9cdFx0JHJvb3RTY29wZS5wb2RzID0gV2F0Y2hlclNlcnZpY2UuZ2V0T2JqZWN0cygncG9kcycpO1xuLy9cdFx0JHJvb3RTY29wZS5wb2RNYXAgPSBXYXRjaGVyU2VydmljZS5nZXRPYmplY3RNYXAoJ3BvZHMnKTtcbi8vXG4vL1x0XHQkcm9vdFNjb3BlLiR3YXRjaENvbGxlY3Rpb24oJ3BvZHMnLCAobmV3VmFsdWUpID0+IHtcbi8vXHRcdCAgbG9nLmRlYnVnKFwicG9kcyBjaGFuZ2VkOiBcIiwgbmV3VmFsdWUpO1xuLy9cdFx0fSk7XG4vL1xuLy9cdFx0JHJvb3RTY29wZS4kd2F0Y2goJ3BvZE1hcCcsIChuZXdWYWx1ZSkgPT4ge1xuLy9cdFx0ICBsb2cuZGVidWcoXCJwb2QgbWFwIGNoYW5nZWQ6IFwiLCBuZXdWYWx1ZSk7XG4vL1x0XHR9LCB0cnVlKTtcbn1dKTtcbiAgICovXG5cbl9tb2R1bGUuc2VydmljZSgnV2F0Y2hlclNlcnZpY2UnLCBbJ3VzZXJEZXRhaWxzJywgJyRyb290U2NvcGUnLCAnJHRpbWVvdXQnLCAodXNlckRldGFpbHMsICRyb290U2NvcGUsICR0aW1lb3V0KSA9PiB7XG4gIHZhciBzZWxmID0gPGFueT4ge1xuICAgIGhhc1dlYlNvY2tldDogZmFsc2VcbiAgfTtcblxuICB0cnkge1xuICAgIGlmICghV2ViU29ja2V0KSAge1xuICAgICAgcmV0dXJuIHNlbGY7XG4gICAgfVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICByZXR1cm4gc2VsZjtcbiAgfVxuXG4gIHNlbGYuc2V0TmFtZXNwYWNlID0gKG5hbWVzcGFjZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKG5hbWVzcGFjZSAhPT0gbmFtZXNwYWNlV2F0Y2guc2VsZWN0ZWQpIHtcbiAgICAgIGxvZy5kZWJ1ZyhcIk5hbWVzcGFjZSBjaGFuZ2VkLCBzaHV0dGluZyBkb3duIGV4aXN0aW5nIHdhdGNoZXNcIik7XG4gICAgICBfLmZvckluKHdhdGNoZXMsICh3YXRjaCwgdHlwZSkgPT4ge1xuICAgICAgICBpZiAod2F0Y2guc29ja2V0KSB7XG4gICAgICAgICAgd2F0Y2guc29ja2V0LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgbG9nLmRlYnVnKFwiU2V0dGluZyBuYW1lc3BhY2Ugd2F0Y2ggdG86IFwiLCBuYW1lc3BhY2UpO1xuICAgICAgbmFtZXNwYWNlV2F0Y2guc2VsZWN0ZWQgPSBuYW1lc3BhY2U7XG4gICAgICBpZiAoIW5hbWVzcGFjZSkge1xuICAgICAgICBkZWxldGUgbG9jYWxTdG9yYWdlW0NvbnN0YW50cy5OQU1FU1BBQ0VfU1RPUkFHRV9LRVldO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlW0NvbnN0YW50cy5OQU1FU1BBQ0VfU1RPUkFHRV9LRVldID0gbmFtZXNwYWNlO1xuICAgICAgfVxuICAgICAgaWYgKG5hbWVzcGFjZSkge1xuICAgICAgICBfLmZvckluKHdhdGNoZXMsICh3YXRjaCwgdHlwZSkgPT4ge1xuICAgICAgICAgIC8vIHJlc2V0IHRoZSBvYmplY3QgcmF0aGVyIHRoYW4gcmUtYXNzaWduaW5nIHRoZW1cbiAgICAgICAgICAvLyBlbnN1cmVzIHRoYXQgYW55IHdhdGNoZXMgaW4gY29udHJvbGxlcnMgd29uJ3RcbiAgICAgICAgICAvLyBiZSB3YXRjaGluZyBhIHN0YWxlIG9iamVjdFxuICAgICAgICAgIGlmICh3YXRjaC52YWxpZCgpKSB7XG4gICAgICAgICAgICB3YXRjaC51cmwgPSBVcmxIZWxwZXJzLmpvaW4od2F0Y2gucHJlZml4KCksIEt1YmVybmV0ZXMubmFtZXNwYWNlUGF0aEZvcktpbmQodHlwZSwgbmFtZXNwYWNlKSk7XG4gICAgICAgICAgICB3YXRjaC5jb25uZWN0VGltZSA9IDxOdW1iZXI+IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIF8uZm9yRWFjaChfLmtleXMod2F0Y2gub2JqZWN0cyksICh1aWQpID0+IHtcbiAgICAgICAgICAgICAgXy5mb3JFYWNoKHdhdGNoLm9uRGVsZXRlZEFjdGlvbnMsIChhY3Rpb246YW55KSA9PiBhY3Rpb24od2F0Y2gub2JqZWN0c1t1aWRdKSk7XG4gICAgICAgICAgICAgIGRlbGV0ZSB3YXRjaC5vYmplY3RzW3VpZF07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHdhdGNoLm9iamVjdEFycmF5Lmxlbmd0aCA9IDA7XG4gICAgICAgICAgICB3YXRjaC5zb2NrZXQgPSA8V2ViU29ja2V0PiB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgXy5mb3JJbih3YXRjaGVzLCAod2F0Y2gsIHR5cGUpID0+IHtcbiAgICAgICAgICBpZiAod2F0Y2gudmFsaWQoKSkge1xuICAgICAgICAgICAgY3JlYXRlV2F0Y2godHlwZSwgd2F0Y2gsIHVzZXJEZXRhaWxzLCAkcm9vdFNjb3BlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgJHJvb3RTY29wZS4kYnJvYWRjYXN0KFwiV2F0Y2hlck5hbWVzcGFjZUNoYW5nZWRcIiwgbmFtZXNwYWNlKTtcbiAgICB9XG4gIH07XG5cbiAgY3JlYXRlV2F0Y2goV2F0Y2hUeXBlcy5OQU1FU1BBQ0VTLCBuYW1lc3BhY2VXYXRjaCwgdXNlckRldGFpbHMsICRyb290U2NvcGUsIChldmVudCkgPT4ge1xuICAgIC8vIGxvZy5kZWJ1ZyhcIkdvdCBldmVudDogXCIsIGV2ZW50KTtcbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgIGNhc2UgV2F0Y2hBY3Rpb25zLkFEREVEOlxuICAgICAgY2FzZSBXYXRjaEFjdGlvbnMuTU9ESUZJRUQ6XG4gICAgICAgIGlmICghbmFtZXNwYWNlV2F0Y2guc2VsZWN0ZWQpIHtcbiAgICAgICAgICBzZWxmLnNldE5hbWVzcGFjZShldmVudC5vYmplY3QubWV0YWRhdGEubmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFdhdGNoQWN0aW9ucy5ERUxFVEVEOlxuICAgICAgICB2YXIgbmV4dCA9IDxhbnk+IF8uZmlyc3QobmFtZXNwYWNlV2F0Y2gub2JqZWN0QXJyYXkpO1xuICAgICAgICBpZiAobmV4dCkge1xuICAgICAgICAgIHNlbGYuc2V0TmFtZXNwYWNlKG5leHQubWV0YWRhdGEubmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2VsZi5zZXROYW1lc3BhY2UodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGxvZy5kZWJ1ZyhcIlVua25vd24gbmFtZXNwYWNlIGV2ZW50IHR5cGU6IFwiLCBldmVudC50eXBlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfSwgKGV2ZW50KSA9PiB7XG4gICAgbG9nLmRlYnVnKFwiTmFtZXNwYWNlIHdhdGNoIGNsb3NlZFwiKTtcbiAgICBzZWxmLnNldE5hbWVzcGFjZSh1bmRlZmluZWQpO1xuICB9KTtcblxuICBzZWxmLnNldE5hbWVzcGFjZShsb2NhbFN0b3JhZ2VbQ29uc3RhbnRzLk5BTUVTUEFDRV9TVE9SQUdFX0tFWV0gfHwgZGVmYXVsdE5hbWVzcGFjZSk7XG5cbiAgc2VsZi5oYXNXZWJTb2NrZXQgPSB0cnVlO1xuXG4gIHNlbGYuZ2V0TmFtZXNwYWNlID0gKCkgPT4gbmFtZXNwYWNlV2F0Y2guc2VsZWN0ZWQ7XG5cbiAgc2VsZi5hZGRDdXN0b21pemVyID0gKHR5cGU6IHN0cmluZywgY3VzdG9taXplcjogKG9iajphbnkpID0+IHZvaWQpID0+IHtcbiAgICBpZiAodHlwZSBpbiB3YXRjaGVzKSB7XG4gICAgICB3YXRjaGVzW3R5cGVdLmN1c3RvbWl6ZXJzLnB1c2goY3VzdG9taXplcik7XG4gICAgICBfLmZvckVhY2god2F0Y2hlc1t0eXBlXS5vYmplY3RBcnJheSwgKG9iaikgPT4gY3VzdG9taXplcihvYmopKTtcbiAgICB9XG4gIH1cblxuICBzZWxmLmdldFR5cGVzID0gKCkgPT4ge1xuICAgIHJldHVybiBrOHNUeXBlcy5jb25jYXQoW1dhdGNoVHlwZXMuTkFNRVNQQUNFU10pLmNvbmNhdChvc1R5cGVzKTtcbiAgfVxuXG4gIHNlbGYuZ2V0T2JqZWN0TWFwID0gKHR5cGU6IHN0cmluZykgPT4ge1xuICAgIGlmICh0eXBlID09PSBXYXRjaFR5cGVzLk5BTUVTUEFDRVMpIHtcbiAgICAgIHJldHVybiBuYW1lc3BhY2VXYXRjaC5vYmplY3RzO1xuICAgIH1cbiAgICBpZiAodHlwZSBpbiB3YXRjaGVzKSB7XG4gICAgICByZXR1cm4gd2F0Y2hlc1t0eXBlXS5vYmplY3RzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHNlbGYuZ2V0T2JqZWN0cyA9ICh0eXBlOnN0cmluZykgPT4ge1xuICAgIGlmICh0eXBlID09PSBXYXRjaFR5cGVzLk5BTUVTUEFDRVMpIHtcbiAgICAgIHJldHVybiBuYW1lc3BhY2VXYXRjaC5vYmplY3RBcnJheTtcbiAgICB9XG4gICAgaWYgKHR5cGUgaW4gd2F0Y2hlcykge1xuICAgICAgcmV0dXJuIHdhdGNoZXNbdHlwZV0ub2JqZWN0QXJyYXk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgc2VsZi5saXN0ZW5lcnMgPSA8QXJyYXk8KE9iamVjdE1hcCkgPT4gdm9pZD4+IFtdO1xuXG4gIHZhciB1cGRhdGVGdW5jdGlvbiA9ICgpID0+IHtcbiAgICBsb2cuZGVidWcoXCJPYmplY3RzIGNoYW5nZWQsIGZpcmluZyBsaXN0ZW5lcnNcIik7XG4gICAgdmFyIG9iamVjdHMgPSA8T2JqZWN0TWFwPnt9O1xuICAgIF8uZm9yRWFjaChzZWxmLmdldFR5cGVzKCksICh0eXBlOnN0cmluZykgPT4ge1xuICAgICAgb2JqZWN0c1t0eXBlXSA9IHNlbGYuZ2V0T2JqZWN0cyh0eXBlKTtcbiAgICB9KTtcbiAgICBfLmZvckVhY2goc2VsZi5saXN0ZW5lcnMsIChsaXN0ZW5lcjooT2JqZWN0TWFwKSA9PiB2b2lkKSA9PiB7XG4gICAgICBsaXN0ZW5lcihvYmplY3RzKTtcbiAgICB9KTtcbiAgfTtcblxuICB2YXIgZGVib3VuY2VkVXBkYXRlID0gXy5kZWJvdW5jZSh1cGRhdGVGdW5jdGlvbiwgNTAwLCB7IHRyYWlsaW5nOiB0cnVlIH0pO1xuXG4gIC8vIGxpc3RlbmVyIGdldHMgbm90aWZpZWQgYWZ0ZXIgYSBidW5jaCBvZiBjaGFuZ2VzIGhhdmUgb2NjdXJyZWRcbiAgc2VsZi5yZWdpc3Rlckxpc3RlbmVyID0gKGZuOihvYmplY3RzOk9iamVjdE1hcCkgPT4gdm9pZCkgPT4ge1xuICAgIHNlbGYubGlzdGVuZXJzLnB1c2goZm4pO1xuICAgIF8uZm9yRWFjaChzZWxmLmdldFR5cGVzKCksICh0eXBlKSA9PiB7XG4gICAgICBzZWxmLmFkZEFjdGlvbih0eXBlLCBXYXRjaEFjdGlvbnMuQU5ZLCBkZWJvdW5jZWRVcGRhdGUpXG4gICAgfSk7XG4gIH1cblxuICAvLyBmdW5jdGlvbiB0byB3YXRjaCBpbmRpdmlkdWFsIGFjdGlvbnMgb24gdGhlIGs4cyBvYmplY3RzXG4gIHNlbGYuYWRkQWN0aW9uID0gKHR5cGU6IHN0cmluZywgYWN0aW9uOiBzdHJpbmcsIGZuOiAob2JqOmFueSkgPT4gdm9pZCkgPT4ge1xuICAgIHZhciB3YXRjaCA9IDxhbnk+IHVuZGVmaW5lZDtcbiAgICBpZiAodHlwZSA9PT0gV2F0Y2hUeXBlcy5OQU1FU1BBQ0VTKSB7XG4gICAgICB3YXRjaCA9IG5hbWVzcGFjZVdhdGNoO1xuICAgIH0gZWxzZSB7XG4gICAgICB3YXRjaCA9IHdhdGNoZXNbdHlwZV07XG4gICAgfVxuICAgIGlmICh3YXRjaCkge1xuICAgICAgc3dpdGNoIChhY3Rpb24pIHtcbiAgICAgICAgY2FzZSBXYXRjaEFjdGlvbnMuQU5ZOlxuICAgICAgICAgIF8uZm9yRWFjaCh3YXRjaC5vYmplY3RBcnJheSwgKG9iaikgPT4gZm4ob2JqKSk7XG4gICAgICAgICAgd2F0Y2gub25BZGRBY3Rpb25zLnB1c2goZm4pO1xuICAgICAgICAgIHdhdGNoLm9uRGVsZXRlZEFjdGlvbnMucHVzaChmbik7XG4gICAgICAgICAgd2F0Y2gub25Nb2RpZmllZEFjdGlvbnMucHVzaChmbik7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgV2F0Y2hBY3Rpb25zLkFEREVEOlxuICAgICAgICAgIF8uZm9yRWFjaCh3YXRjaC5vYmplY3RBcnJheSwgKG9iaikgPT4gZm4ob2JqKSk7XG4gICAgICAgICAgd2F0Y2gub25BZGRBY3Rpb25zLnB1c2goZm4pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFdhdGNoQWN0aW9ucy5NT0RJRklFRDpcbiAgICAgICAgICB3YXRjaC5vbk1vZGlmaWVkQWN0aW9ucy5wdXNoKGZuKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBXYXRjaEFjdGlvbnMuREVMRVRFRDpcbiAgICAgICAgICB3YXRjaC5vbkRlbGV0ZWRBY3Rpb25zLnB1c2goZm4pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGxvZy5kZWJ1ZyhcIkF0dGVtcHRpbmcgdG8gYWRkIHVua25vd24gYWN0aW9uOiBcIiwgYWN0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHNlbGY7XG59XSk7XG59XG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4vaW5jbHVkZXMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vLi4va3ViZXJuZXRlcy90cy9rdWJlcm5ldGVzSGVscGVycy50c1wiLz5cblxubW9kdWxlIFByb2plY3Qge1xuXG4gIGV4cG9ydCB2YXIgY29udGV4dCA9ICcvcHJvamVjdCc7XG4gIGV4cG9ydCB2YXIgaGFzaCA9ICcjJyArIGNvbnRleHQ7XG4gIGV4cG9ydCB2YXIgcGx1Z2luTmFtZSA9ICdQcm9qZWN0JztcbiAgZXhwb3J0IHZhciBsb2c6TG9nZ2luZy5Mb2dnZXIgPSBMb2dnZXIuZ2V0KHBsdWdpbk5hbWUpO1xuXG4gIGV4cG9ydCB2YXIgcGx1Z2luUGF0aCA9ICdwbHVnaW5zL3Byb2plY3QvJztcbiAgZXhwb3J0IHZhciB0ZW1wbGF0ZVBhdGggPSBwbHVnaW5QYXRoICsgJ2h0bWwvJztcblxuXG4gIGV4cG9ydCB2YXIgZ29nc1Jlc3RVUkwgPSBcIi9rdWJlcm5ldGVzL2FwaS9cIiArIEt1YmVybmV0ZXMuZGVmYXVsdEFwaVZlcnNpb24gKyBcIi9wcm94eS9zZXJ2aWNlcy9nb2dzLWh0dHAtc2VydmljZS9hcGkvdjFcIjtcblxuICBleHBvcnQgdmFyIGdvZ3NVc2VyUmVwb1Jlc3RVUkwgPSBnb2dzUmVzdFVSTCArIFwiL3VzZXIvcmVwb3NcIjtcblxufVxuIiwiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2luY2x1ZGVzLnRzXCIvPlxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uL2t1YmVybmV0ZXMvdHMva3ViZXJuZXRlc0hlbHBlcnMudHNcIi8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwicHJvamVjdEhlbHBlcnMudHNcIi8+XG5cbm1vZHVsZSBQcm9qZWN0IHtcblxuICBleHBvcnQgdmFyIF9tb2R1bGUgPSBhbmd1bGFyLm1vZHVsZShwbHVnaW5OYW1lLCBbS3ViZXJuZXRlcy5wbHVnaW5OYW1lXSk7XG4gIGV4cG9ydCB2YXIgY29udHJvbGxlciA9IFBsdWdpbkhlbHBlcnMuY3JlYXRlQ29udHJvbGxlckZ1bmN0aW9uKF9tb2R1bGUsIHBsdWdpbk5hbWUpO1xuICBleHBvcnQgdmFyIHJvdXRlID0gUGx1Z2luSGVscGVycy5jcmVhdGVSb3V0aW5nRnVuY3Rpb24odGVtcGxhdGVQYXRoKTtcblxuICBfbW9kdWxlLmNvbmZpZyhbJyRyb3V0ZVByb3ZpZGVyJywgKCRyb3V0ZVByb3ZpZGVyOm5nLnJvdXRlLklSb3V0ZVByb3ZpZGVyKSA9PiB7XG4gICAgJHJvdXRlUHJvdmlkZXIud2hlbihVcmxIZWxwZXJzLmpvaW4oY29udGV4dCwgJy9jcmVhdGUnKSwgcm91dGUoJ3Byb2plY3RDcmVhdGUuaHRtbCcsIGZhbHNlKSk7XG4gIH1dKTtcblxuICBfbW9kdWxlLmZhY3RvcnkoJ0ZvcmdlQXBpVVJMJywgWydqb2xva2lhVXJsJywgJ2pvbG9raWEnLCAnJHEnLCAnJHJvb3RTY29wZScsIChqb2xva2lhVXJsOnN0cmluZywgam9sb2tpYTpKb2xva2lhLklKb2xva2lhLCAkcTpuZy5JUVNlcnZpY2UsICRyb290U2NvcGU6bmcuSVJvb3RTY29wZVNlcnZpY2UpID0+IHtcbiAgICByZXR1cm4gS3ViZXJuZXRlcy5rdWJlcm5ldGVzQXBpVXJsKCkgKyBcIi9wcm94eVwiICsgS3ViZXJuZXRlcy5rdWJlcm5ldGVzTmFtZXNwYWNlUGF0aCgpICsgXCIvc2VydmljZXMvZmFicmljOC1mb3JnZS9hcGkvZm9yZ2VcIjtcbiAgfV0pO1xuXG5cbiAgaGF3dGlvUGx1Z2luTG9hZGVyLmFkZE1vZHVsZShwbHVnaW5OYW1lKTtcbn1cbiIsIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi8uLi9pbmNsdWRlcy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJwcm9qZWN0SGVscGVycy50c1wiLz5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCJwcm9qZWN0UGx1Z2luLnRzXCIvPlxuXG5tb2R1bGUgUHJvamVjdCB7XG5cbiAgZXhwb3J0IHZhciBQcm9qZWN0Q29udHJvbGxlciA9IGNvbnRyb2xsZXIoXCJQcm9qZWN0Q29udHJvbGxlclwiLFxuICAgIFtcIiRzY29wZVwiLCBcIkt1YmVybmV0ZXNNb2RlbFwiLCBcIiR0ZW1wbGF0ZUNhY2hlXCIsIFwiJGxvY2F0aW9uXCIsIFwiJHJvdXRlUGFyYW1zXCIsIFwiJGh0dHBcIiwgXCIkdGltZW91dFwiLCBcIkt1YmVybmV0ZXNBcGlVUkxcIixcbiAgICAgICgkc2NvcGUsIEt1YmVybmV0ZXNNb2RlbDpLdWJlcm5ldGVzLkt1YmVybmV0ZXNNb2RlbFNlcnZpY2UsXG4gICAgICAgJHRlbXBsYXRlQ2FjaGU6bmcuSVRlbXBsYXRlQ2FjaGVTZXJ2aWNlLCAkbG9jYXRpb246bmcuSUxvY2F0aW9uU2VydmljZSwgJHJvdXRlUGFyYW1zLCAkaHR0cCwgJHRpbWVvdXQsIEt1YmVybmV0ZXNBcGlVUkwpID0+IHtcblxuICAgICAgICAkc2NvcGUubW9kZWwgPSBLdWJlcm5ldGVzTW9kZWw7XG5cbiAgICAgICAgJHNjb3BlLmVudGl0eSA9IHtcbiAgICAgICAgICBuYW1lOiBcIlwiXG4gICAgICAgIH07XG5cbiAgICAgICAgJHNjb3BlLiRvbignJHJvdXRlVXBkYXRlJywgKCRldmVudCkgPT4ge1xuICAgICAgICAgIHVwZGF0ZURhdGEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gVE9ETyBhZGQgYWN0dWFsIGxvZ2luL3B3ZCBvciBPQXV0aFxuICAgICAgICB2YXIgYXV0aG9yaXphdGlvbkhlYWRlciA9IFwiQmFzaWMgVE9ET1wiO1xuXG4gICAgICAgIC8vIFRPRE8gdGFrZSB0aGlzIGZyb20gdGhlIHNlcnZpY2UgaG9zdCFcbiAgICAgICAgJHNjb3BlLmNyZWF0ZSA9ICgpID0+IHtcbiAgICAgICAgICB2YXIgdXJsID0gZ29nc1VzZXJSZXBvUmVzdFVSTDtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiQ3JlYXRpbmcgcHJvamVjdCBcIiArIGFuZ3VsYXIudG9Kc29uKCRzY29wZS5lbnRpdHksIHRydWUpKTtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIlBvc3RpbmcgdG8gdXJsOiBcIiArIHVybCk7XG5cbiAgICAgICAgICB2YXIgZGF0YSA9ICRzY29wZS5lbnRpdHk7XG4gICAgICAgICAgdmFyIGNvbmZpZyA9IHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ3dpdGhDcmVkZW50aWFscyc6IHRydWUsXG4gICAgICAgICAgICAgICdBdXRob3JpemF0aW9uJzogYXV0aG9yaXphdGlvbkhlYWRlcixcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6IFwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgICAkaHR0cC5wb3N0KHVybCwgZGF0YSwgY29uZmlnKS5cbiAgICAgICAgICAgIHN1Y2Nlc3MoZnVuY3Rpb24gKGRhdGEsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwicHJvamVjdCBjcmVhdGVkISBnb3QgZGF0YSBcIiArIGFuZ3VsYXIudG9Kc29uKGRhdGEsIHRydWUpKTtcblxuICAgICAgICAgICAgICBjcmVhdGVQcm9qZWN0KGRhdGEpO1xuICAgICAgICAgICAgfSkuXG4gICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgbG9nLndhcm4oXCJGYWlsZWQgdG8gbG9hZCBcIiArIHVybCArIFwiIFwiICsgZGF0YSArIFwiIFwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgQ29yZS5ub3RpZmljYXRpb24oJ2Vycm9yJywgXCJGYWlsZWQgdG8gY3JlYXRlIGdpdCByZXBvc2l0b3J5IFwiICsgbmFtZSArIFwiLiBSZXR1cm5lZCBjb2RlOiBcIiArIHN0YXR1cyArIFwiIFwiICsgZGF0YSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICB1cGRhdGVEYXRhKCk7XG5cbiAgICAgICAgZnVuY3Rpb24gY3JlYXRlUHJvamVjdChkYXRhKSB7XG4gICAgICAgICAgdmFyIGZ1bGxfbmFtZSA9IGRhdGEuZnVsbF9uYW1lO1xuICAgICAgICAgIGlmIChmdWxsX25hbWUpIHtcbiAgICAgICAgICAgIHZhciBnaXRVcmwgPSBDb3JlLnVybChnb2dzUmVzdFVSTCArIFwiL1wiICsgZnVsbF9uYW1lICsgXCIuZ2l0XCIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJDcmVhdGluZyBhIGdpdCByZXBvIGZvciBcIiArIGZ1bGxfbmFtZSArIFwiIGF0IDogXCIgKyBnaXRVcmwpO1xuXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFRPRE8gbGV0cyBmb3J3YXJkIHRvIHRoZSBjcmVhdGUgcHJvamVjdCB3aXphcmQuLi5cbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZURhdGEoKSB7XG4gICAgICAgICAgJHNjb3BlLmJ1aWxkcyA9IFtdO1xuICAgICAgICAgIHZhciB1cmwgPSBnb2dzVXNlclJlcG9SZXN0VVJMO1xuICAgICAgICAgIHZhciBjb25maWcgPSB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICd3aXRoQ3JlZGVudGlhbHMnOiB0cnVlLFxuICAgICAgICAgICAgICAnQXV0aG9yaXphdGlvbic6IGF1dGhvcml6YXRpb25IZWFkZXJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICAgIGRlbGV0ZSAkaHR0cC5kZWZhdWx0cy5oZWFkZXJzLmNvbW1vbltcIkFjY2VwdFwiXTtcbiAgICAgICAgICAkaHR0cC5nZXQodXJsLCBjb25maWcpLlxuICAgICAgICAgICAgc3VjY2VzcyhmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImdvdCByZXBvczogXCIgKyBhbmd1bGFyLnRvSnNvbihkYXRhLCB0cnVlKSk7XG4gICAgICAgICAgICAgICAgJHNjb3BlLmJ1aWxkcyA9IGRhdGE7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICBDb3JlLiRhcHBseSgkc2NvcGUpO1xuICAgICAgICAgICAgfSkuXG4gICAgICAgICAgICBlcnJvcihmdW5jdGlvbiAoZGF0YSwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgJHNjb3BlLmZldGNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICBsb2cud2FybihcIkZhaWxlZCB0byBsb2FkIFwiICsgdXJsICsgXCIgXCIgKyBkYXRhICsgXCIgXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1dKTtcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== +angular.module("hawtio-kubernetes-templates", []).run(["$templateCache", function($templateCache) {$templateCache.put("plugins/developer/html/environment.html","environment!!!!"); +$templateCache.put("plugins/developer/html/environments.html","
\n
\n \n
\n\n
\n \n
\n\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

There are no environments currently available.

\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n"); +$templateCache.put("plugins/developer/html/projectDetail.html","
\n
\n
\n  \n \n \n  \n \n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n"); +$templateCache.put("plugins/developer/html/projects.html","
\n \n \n \n \n \n \n\n
\n \n
\n\n
\n \n
\n\n
\n
\n \n \n \n \n\n \n Create Project\n \n  \n\n \n Sign In\n \n  \n\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

There are no build configurations available.

\n \n Create Project\n \n
\n
\n
\n
\n
\n
\n
\n
\n"); +$templateCache.put("plugins/developer/html/tools.html","
\n
\n \n
\n\n
\n \n
\n\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

There are no tools currently available.

\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n"); +$templateCache.put("plugins/developer/html/workspace.html","
\n
\n \n
\n\n
\n \n
\n\n
\n
\n \n  \n \n Configuration\n \n  \n \n Pod\n \n  \n \n View Log\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n"); +$templateCache.put("plugins/developer/html/workspaces.html","
\n
\n
\n \n \n \n  \n \n  \n Create Workspace\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

There are no workspaces currently available.

\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n \n \n \n
\n
\n \n

\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n"); +$templateCache.put("plugins/kubernetes/html/apps.html","
\n \n \n \n \n \n \n\n\n
\n
\n
\n \n \n \n \n \n
\n \n \n \n \n
\n
\n  \n \n  \n\n  \n \n  \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

There are no apps currently available.

\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
    \n
  • \n
    \n
    \n {{folder.path.capitalize(true)}}Uncategorized\n
    \n
    \n \n
    \n
    \n
  • \n
\n
\n
\n
\n
\n \n  \n \n  \n \n
\n
\n \n\n
\n\n
    \n
  • \n \n {{app.name}}\n  \n \n
  • \n
\n
\n
\n
\n
\n \n
\n"); $templateCache.put("plugins/kubernetes/html/build.html","
\n
\n \n
\n\n
\n \n
\n\n
\n
\n \n  \n \n Configuration\n \n  \n \n Pod\n \n  \n \n View Log\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n"); $templateCache.put("plugins/kubernetes/html/buildConfig.html","
\n
\n \n
\n\n
\n \n
\n\n
\n
\n  \n \n \n  \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n"); $templateCache.put("plugins/kubernetes/html/buildConfigCreate.html","
\n
\n
\n  \n \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n"); @@ -10876,11 +10903,4 @@ $templateCache.put("plugins/kubernetes/html/serviceEdit.html","
\n
\n
\n \n
\n
\n \n \n \n \n \n
\n \n \n \n \n
\n
\n  \n \n  \n \n  \n Create\n  \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

There are no services currently available.

\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n \n \n \n
\n
\n \n

\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n"); $templateCache.put("plugins/kubernetes/html/templateDescription.html","
\n

Description

\n
\n
\n
\n
\n
\n \n
\n"); $templateCache.put("plugins/kubernetes/html/templates.html","
\n \n
\n
\n \n \n \n \n\n \n  \n \n  \n \n Target namespace: \n\n \n
\n
\n
\n
\n
\n There are no templates currently available. Add templates by dragging and dropping template files into this area.\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n"); -$templateCache.put("plugins/project/html/projectCreate.html","
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n"); -$templateCache.put("plugins/developer/html/environment.html","environment!!!!"); -$templateCache.put("plugins/developer/html/environments.html","
\n
\n \n
\n\n
\n \n
\n\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

There are no environments currently available.

\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n"); -$templateCache.put("plugins/developer/html/projectDetail.html","
\n
\n
\n  \n \n \n  \n \n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n"); -$templateCache.put("plugins/developer/html/projects.html","
\n \n \n \n \n \n \n
\n \n
\n\n
\n
\n \n \n \n \n\n \n Create Project\n \n  \n\n \n Sign In\n \n  \n\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

There are no build configurations available.

\n \n Create Project\n \n
\n
\n
\n
\n
\n
\n
\n
\n"); -$templateCache.put("plugins/developer/html/tools.html","
\n
\n \n
\n\n
\n \n
\n\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

There are no tools currently available.

\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n"); -$templateCache.put("plugins/developer/html/workspace.html","
\n
\n \n
\n\n
\n
\n \n  \n \n Configuration\n \n  \n \n Pod\n \n  \n \n View Log\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n"); -$templateCache.put("plugins/developer/html/workspaces.html","
\n
\n
\n \n \n \n  \n \n  \n Create Workspace\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

There are no workspaces currently available.

\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n \n \n \n
\n
\n \n

\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n");}]); hawtioPluginLoader.addModule("hawtio-kubernetes-templates"); \ No newline at end of file +$templateCache.put("plugins/project/html/projectCreate.html","
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n");}]); hawtioPluginLoader.addModule("hawtio-kubernetes-templates"); \ No newline at end of file diff --git a/plugins/developer/html/projects.html b/plugins/developer/html/projects.html index a25af0d..b7d4b55 100644 --- a/plugins/developer/html/projects.html +++ b/plugins/developer/html/projects.html @@ -59,10 +59,15 @@ +
+
+ +
+
diff --git a/plugins/developer/html/workspace.html b/plugins/developer/html/workspace.html index cd14370..c3a551f 100644 --- a/plugins/developer/html/workspace.html +++ b/plugins/developer/html/workspace.html @@ -3,6 +3,10 @@
+
+ +
+