parse-server 9.10.0-alpha.1 → 9.10.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -141,7 +141,7 @@ module.exports.ParseServerOptions = {
141
141
  cluster: {
142
142
  env: 'PARSE_SERVER_CLUSTER',
143
143
  help: 'Run with cluster, optionally set the number of processes default to os.cpus().length',
144
- action: parsers.numberOrBooleanParser
144
+ action: parsers.numberOrBoolParser('cluster')
145
145
  },
146
146
  collectionPrefix: {
147
147
  env: 'PARSE_SERVER_COLLECTION_PREFIX',
@@ -702,7 +702,7 @@ module.exports.RateLimitOptions = {
702
702
  },
703
703
  requestMethods: {
704
704
  env: 'PARSE_SERVER_RATE_LIMIT_REQUEST_METHODS',
705
- help: 'Optional, the HTTP request methods to which the rate limit should be applied, default is all methods.',
705
+ help: "Optional, the HTTP request methods to which the rate limit should be applied, default is all methods. The method is matched after any `_method` body override has been resolved, i.e. it is the method used to route the request. Note that some endpoints are reachable via more than one HTTP method (for example `/login` and `/verifyPassword` are available via both `GET` and `POST`); to rate limit such an endpoint reliably, include all relevant methods (e.g. `['GET', 'POST']`) or omit this option to apply the limit to all methods.",
706
706
  action: parsers.arrayParser
707
707
  },
708
708
  requestPath: {
@@ -1596,4 +1596,4 @@ module.exports.LogLevels = {
1596
1596
  default: 'info'
1597
1597
  }
1598
1598
  };
1599
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZXJzIiwicmVxdWlyZSIsIm1vZHVsZSIsImV4cG9ydHMiLCJTY2hlbWFPcHRpb25zIiwiYWZ0ZXJNaWdyYXRpb24iLCJlbnYiLCJoZWxwIiwiYmVmb3JlTWlncmF0aW9uIiwiZGVmaW5pdGlvbnMiLCJyZXF1aXJlZCIsImFjdGlvbiIsIm9iamVjdFBhcnNlciIsImRlZmF1bHQiLCJkZWxldGVFeHRyYUZpZWxkcyIsImJvb2xlYW5QYXJzZXIiLCJrZWVwVW5rbm93bkluZGV4ZXMiLCJsb2NrU2NoZW1hcyIsInJlY3JlYXRlTW9kaWZpZWRGaWVsZHMiLCJzdHJpY3QiLCJQYXJzZVNlcnZlck9wdGlvbnMiLCJhY2NvdW50TG9ja291dCIsInR5cGUiLCJhbGxvd0FnZ3JlZ2F0aW9uRm9yUmVhZE9ubHlNYXN0ZXJLZXkiLCJhbGxvd0NsaWVudENsYXNzQ3JlYXRpb24iLCJhbGxvd0N1c3RvbU9iamVjdElkIiwiYWxsb3dFeHBpcmVkQXV0aERhdGFUb2tlbiIsImFsbG93SGVhZGVycyIsImFycmF5UGFyc2VyIiwiYWxsb3dPcmlnaW4iLCJhbmFseXRpY3NBZGFwdGVyIiwibW9kdWxlT3JPYmplY3RQYXJzZXIiLCJhcHBJZCIsImFwcE5hbWUiLCJhdXRoIiwiY2FjaGVBZGFwdGVyIiwiY2FjaGVNYXhTaXplIiwibnVtYmVyUGFyc2VyIiwiY2FjaGVUVEwiLCJjbGllbnRLZXkiLCJjbG91ZCIsImNsdXN0ZXIiLCJudW1iZXJPckJvb2xlYW5QYXJzZXIiLCJjb2xsZWN0aW9uUHJlZml4IiwiY29udmVydEVtYWlsVG9Mb3dlcmNhc2UiLCJjb252ZXJ0VXNlcm5hbWVUb0xvd2VyY2FzZSIsImN1c3RvbVBhZ2VzIiwiZGF0YWJhc2VBZGFwdGVyIiwiZGF0YWJhc2VPcHRpb25zIiwiZGF0YWJhc2VVUkkiLCJkZWZhdWx0TGltaXQiLCJkaXJlY3RBY2Nlc3MiLCJkb3ROZXRLZXkiLCJlbWFpbEFkYXB0ZXIiLCJlbWFpbFZlcmlmeVN1Y2Nlc3NPbkludmFsaWRFbWFpbCIsImVtYWlsVmVyaWZ5VG9rZW5SZXVzZUlmVmFsaWQiLCJlbWFpbFZlcmlmeVRva2VuVmFsaWRpdHlEdXJhdGlvbiIsImVuYWJsZUFub255bW91c1VzZXJzIiwiZW5hYmxlQ29sbGF0aW9uQ2FzZUNvbXBhcmlzb24iLCJlbmFibGVFeHByZXNzRXJyb3JIYW5kbGVyIiwiZW5hYmxlSW5zZWN1cmVBdXRoQWRhcHRlcnMiLCJlbmFibGVQcm9kdWN0UHVyY2hhc2VMZWdhY3lBcGkiLCJlbmFibGVTYW5pdGl6ZWRFcnJvclJlc3BvbnNlIiwiZW5jcnlwdGlvbktleSIsImVuZm9yY2VQcml2YXRlVXNlcnMiLCJleHBpcmVJbmFjdGl2ZVNlc3Npb25zIiwiZXh0ZW5kU2Vzc2lvbk9uVXNlIiwiZmlsZURvd25sb2FkIiwiZmlsZUtleSIsImZpbGVzQWRhcHRlciIsImZpbGVVcGxvYWQiLCJncmFwaFFMUGF0aCIsImdyYXBoUUxQdWJsaWNJbnRyb3NwZWN0aW9uIiwiZ3JhcGhRTFNjaGVtYSIsImhvc3QiLCJpZGVtcG90ZW5jeU9wdGlvbnMiLCJpbnN0YWxsYXRpb24iLCJqYXZhc2NyaXB0S2V5IiwianNvbkxvZ3MiLCJsaXZlUXVlcnkiLCJsaXZlUXVlcnlTZXJ2ZXJPcHRpb25zIiwibG9nZ2VyQWRhcHRlciIsImxvZ0xldmVsIiwibG9nTGV2ZWxzIiwibG9nc0ZvbGRlciIsIm1haW50ZW5hbmNlS2V5IiwibWFpbnRlbmFuY2VLZXlJcHMiLCJtYXN0ZXJLZXkiLCJtYXN0ZXJLZXlJcHMiLCJtYXN0ZXJLZXlUdGwiLCJtYXhMaW1pdCIsIm1heExvZ0ZpbGVzIiwibnVtYmVyT3JTdHJpbmdQYXJzZXIiLCJtYXhVcGxvYWRTaXplIiwibWlkZGxld2FyZSIsIm1vdW50R3JhcGhRTCIsIm1vdW50UGF0aCIsIm1vdW50UGxheWdyb3VuZCIsIm9iamVjdElkU2l6ZSIsInBhZ2VzIiwicGFzc3dvcmRQb2xpY3kiLCJwbGF5Z3JvdW5kUGF0aCIsInBvcnQiLCJwcmVzZXJ2ZUZpbGVOYW1lIiwicHJldmVudExvZ2luV2l0aFVudmVyaWZpZWRFbWFpbCIsImJvb2xlYW5PckZ1bmN0aW9uUGFyc2VyIiwicHJldmVudFNpZ251cFdpdGhVbnZlcmlmaWVkRW1haWwiLCJwcm90ZWN0ZWRGaWVsZHMiLCJfVXNlciIsInByb3RlY3RlZEZpZWxkc093bmVyRXhlbXB0IiwicHJvdGVjdGVkRmllbGRzU2F2ZVJlc3BvbnNlRXhlbXB0IiwicHJvdGVjdGVkRmllbGRzVHJpZ2dlckV4ZW1wdCIsInB1YmxpY1NlcnZlclVSTCIsInB1c2giLCJxdWVyeSIsInJhdGVMaW1pdCIsInJlYWRPbmx5TWFzdGVyS2V5IiwicmVhZE9ubHlNYXN0ZXJLZXlJcHMiLCJyZXF1ZXN0Q29tcGxleGl0eSIsInJlcXVlc3RDb250ZXh0TWlkZGxld2FyZSIsInJlcXVlc3RLZXl3b3JkRGVueWxpc3QiLCJrZXkiLCJ2YWx1ZSIsInJlc3RBUElLZXkiLCJyZXZva2VTZXNzaW9uT25QYXNzd29yZFJlc2V0Iiwicm91dGVBbGxvd0xpc3QiLCJzY2hlZHVsZWRQdXNoIiwic2NoZW1hIiwic2VjdXJpdHkiLCJzZW5kVXNlckVtYWlsVmVyaWZpY2F0aW9uIiwic2VydmVyQ2xvc2VDb21wbGV0ZSIsInNlcnZlclVSTCIsInNlc3Npb25MZW5ndGgiLCJzaWxlbnQiLCJzdGFydExpdmVRdWVyeVNlcnZlciIsInRydXN0UHJveHkiLCJ1c2VyU2Vuc2l0aXZlRmllbGRzIiwidmVyYm9zZSIsInZlcmlmeVNlcnZlclVybCIsInZlcmlmeVVzZXJFbWFpbHMiLCJ3ZWJob29rS2V5IiwiUmF0ZUxpbWl0T3B0aW9ucyIsImVycm9yUmVzcG9uc2VNZXNzYWdlIiwiaW5jbHVkZUludGVybmFsUmVxdWVzdHMiLCJpbmNsdWRlTWFzdGVyS2V5IiwicmVkaXNVcmwiLCJyZXF1ZXN0Q291bnQiLCJyZXF1ZXN0TWV0aG9kcyIsInJlcXVlc3RQYXRoIiwicmVxdWVzdFRpbWVXaW5kb3ciLCJ6b25lIiwiUmVxdWVzdENvbXBsZXhpdHlPcHRpb25zIiwiYWxsb3dSZWdleCIsImJhdGNoUmVxdWVzdExpbWl0IiwiZ3JhcGhRTERlcHRoIiwiZ3JhcGhRTEZpZWxkcyIsImluY2x1ZGVDb3VudCIsImluY2x1ZGVEZXB0aCIsInF1ZXJ5RGVwdGgiLCJzdWJxdWVyeURlcHRoIiwic3VicXVlcnlMaW1pdCIsIkluc3RhbGxhdGlvbk9wdGlvbnMiLCJkdXBsaWNhdGVEZXZpY2VUb2tlbkFjdGlvbiIsImR1cGxpY2F0ZURldmljZVRva2VuQWN0aW9uRW5mb3JjZUF1dGgiLCJkdXBsaWNhdGVEZXZpY2VUb2tlbk1lcmdlUHJpb3JpdHkiLCJTZWN1cml0eU9wdGlvbnMiLCJjaGVja0dyb3VwcyIsImVuYWJsZUNoZWNrIiwiZW5hYmxlQ2hlY2tMb2ciLCJRdWVyeVNlcnZlck9wdGlvbnMiLCJhZ2dyZWdhdGlvblJhd0ZpZWxkTmFtZXMiLCJhZ2dyZWdhdGlvblJhd1ZhbHVlcyIsIlBhZ2VzT3B0aW9ucyIsImN1c3RvbVJvdXRlcyIsImN1c3RvbVVybHMiLCJlbmFibGVMb2NhbGl6YXRpb24iLCJlbmNvZGVQYWdlUGFyYW1IZWFkZXJzIiwiZm9yY2VSZWRpcmVjdCIsImxvY2FsaXphdGlvbkZhbGxiYWNrTG9jYWxlIiwibG9jYWxpemF0aW9uSnNvblBhdGgiLCJwYWdlc0VuZHBvaW50IiwicGFnZXNQYXRoIiwicGxhY2Vob2xkZXJzIiwiUGFnZXNSb3V0ZSIsImhhbmRsZXIiLCJtZXRob2QiLCJwYXRoIiwiUGFnZXNDdXN0b21VcmxzT3B0aW9ucyIsImVtYWlsVmVyaWZpY2F0aW9uTGlua0V4cGlyZWQiLCJlbWFpbFZlcmlmaWNhdGlvbkxpbmtJbnZhbGlkIiwiZW1haWxWZXJpZmljYXRpb25TZW5kRmFpbCIsImVtYWlsVmVyaWZpY2F0aW9uU2VuZFN1Y2Nlc3MiLCJlbWFpbFZlcmlmaWNhdGlvblN1Y2Nlc3MiLCJwYXNzd29yZFJlc2V0IiwicGFzc3dvcmRSZXNldExpbmtJbnZhbGlkIiwicGFzc3dvcmRSZXNldFN1Y2Nlc3MiLCJDdXN0b21QYWdlc09wdGlvbnMiLCJjaG9vc2VQYXNzd29yZCIsImV4cGlyZWRWZXJpZmljYXRpb25MaW5rIiwiaW52YWxpZExpbmsiLCJpbnZhbGlkUGFzc3dvcmRSZXNldExpbmsiLCJpbnZhbGlkVmVyaWZpY2F0aW9uTGluayIsImxpbmtTZW5kRmFpbCIsImxpbmtTZW5kU3VjY2VzcyIsInBhcnNlRnJhbWVVUkwiLCJ2ZXJpZnlFbWFpbFN1Y2Nlc3MiLCJMaXZlUXVlcnlPcHRpb25zIiwiY2xhc3NOYW1lcyIsInB1YlN1YkFkYXB0ZXIiLCJyZWRpc09wdGlvbnMiLCJyZWRpc1VSTCIsInJlZ2V4VGltZW91dCIsIndzc0FkYXB0ZXIiLCJMaXZlUXVlcnlTZXJ2ZXJPcHRpb25zIiwiY2FjaGVUaW1lb3V0Iiwia2V5UGFpcnMiLCJ3ZWJzb2NrZXRUaW1lb3V0IiwiSWRlbXBvdGVuY3lPcHRpb25zIiwicGF0aHMiLCJ0dGwiLCJBY2NvdW50TG9ja291dE9wdGlvbnMiLCJkdXJhdGlvbiIsInRocmVzaG9sZCIsInVubG9ja09uUGFzc3dvcmRSZXNldCIsIlBhc3N3b3JkUG9saWN5T3B0aW9ucyIsImRvTm90QWxsb3dVc2VybmFtZSIsIm1heFBhc3N3b3JkQWdlIiwibWF4UGFzc3dvcmRIaXN0b3J5IiwicmVzZXRQYXNzd29yZFN1Y2Nlc3NPbkludmFsaWRFbWFpbCIsInJlc2V0VG9rZW5SZXVzZUlmVmFsaWQiLCJyZXNldFRva2VuVmFsaWRpdHlEdXJhdGlvbiIsInZhbGlkYXRpb25FcnJvciIsInZhbGlkYXRvckNhbGxiYWNrIiwidmFsaWRhdG9yUGF0dGVybiIsIkZpbGVVcGxvYWRPcHRpb25zIiwiYWxsb3dlZEZpbGVVcmxEb21haW5zIiwiZW5hYmxlRm9yQW5vbnltb3VzVXNlciIsImVuYWJsZUZvckF1dGhlbnRpY2F0ZWRVc2VyIiwiZW5hYmxlRm9yUHVibGljIiwiZmlsZUV4dGVuc2lvbnMiLCJGaWxlRG93bmxvYWRPcHRpb25zIiwiTG9nTGV2ZWwiLCJkZWJ1ZyIsImVycm9yIiwiaW5mbyIsInNpbGx5Iiwid2FybiIsIkxvZ0NsaWVudEV2ZW50Iiwia2V5cyIsIm5hbWUiLCJEYXRhYmFzZU9wdGlvbnMiLCJhbGxvd1B1YmxpY0V4cGxhaW4iLCJhdXRoTWVjaGFuaXNtIiwiYXV0aE1lY2hhbmlzbVByb3BlcnRpZXMiLCJhdXRoU291cmNlIiwiYXV0b1NlbGVjdEZhbWlseSIsImF1dG9TZWxlY3RGYW1pbHlBdHRlbXB0VGltZW91dCIsImJhdGNoU2l6ZSIsImNsaWVudE1ldGFkYXRhIiwiY29tcHJlc3NvcnMiLCJjb25uZWN0VGltZW91dE1TIiwiY3JlYXRlSW5kZXhBdXRoRGF0YVVuaXF1ZW5lc3MiLCJjcmVhdGVJbmRleFJvbGVOYW1lIiwiY3JlYXRlSW5kZXhVc2VyRW1haWwiLCJjcmVhdGVJbmRleFVzZXJFbWFpbENhc2VJbnNlbnNpdGl2ZSIsImNyZWF0ZUluZGV4VXNlckVtYWlsVmVyaWZ5VG9rZW4iLCJjcmVhdGVJbmRleFVzZXJQYXNzd29yZFJlc2V0VG9rZW4iLCJjcmVhdGVJbmRleFVzZXJVc2VybmFtZSIsImNyZWF0ZUluZGV4VXNlclVzZXJuYW1lQ2FzZUluc2Vuc2l0aXZlIiwiZGlyZWN0Q29ubmVjdGlvbiIsImRpc2FibGVJbmRleEZpZWxkVmFsaWRhdGlvbiIsImVuYWJsZVNjaGVtYUhvb2tzIiwiZm9yY2VTZXJ2ZXJPYmplY3RJZCIsImhlYXJ0YmVhdEZyZXF1ZW5jeU1TIiwibG9hZEJhbGFuY2VkIiwibG9jYWxUaHJlc2hvbGRNUyIsImxvZ0NsaWVudEV2ZW50cyIsIm1heENvbm5lY3RpbmciLCJtYXhJZGxlVGltZU1TIiwibWF4UG9vbFNpemUiLCJtYXhTdGFsZW5lc3NTZWNvbmRzIiwibWF4VGltZU1TIiwibWluUG9vbFNpemUiLCJwcm94eUhvc3QiLCJwcm94eVBhc3N3b3JkIiwicHJveHlQb3J0IiwicHJveHlVc2VybmFtZSIsInJlYWRDb25jZXJuTGV2ZWwiLCJyZWFkUHJlZmVyZW5jZSIsInJlYWRQcmVmZXJlbmNlVGFncyIsInJlcGxpY2FTZXQiLCJyZXRyeVJlYWRzIiwicmV0cnlXcml0ZXMiLCJzY2hlbWFDYWNoZVR0bCIsInNlcnZlck1vbml0b3JpbmdNb2RlIiwic2VydmVyU2VsZWN0aW9uVGltZW91dE1TIiwic29ja2V0VGltZW91dE1TIiwic3J2TWF4SG9zdHMiLCJzcnZTZXJ2aWNlTmFtZSIsInNzbCIsInRscyIsInRsc0FsbG93SW52YWxpZENlcnRpZmljYXRlcyIsInRsc0FsbG93SW52YWxpZEhvc3RuYW1lcyIsInRsc0NBRmlsZSIsInRsc0NlcnRpZmljYXRlS2V5RmlsZSIsInRsc0NlcnRpZmljYXRlS2V5RmlsZVBhc3N3b3JkIiwidGxzSW5zZWN1cmUiLCJ3YWl0UXVldWVUaW1lb3V0TVMiLCJ6bGliQ29tcHJlc3Npb25MZXZlbCIsIkRhdGFiYXNlT3B0aW9uc0NsaWVudE1ldGFkYXRhIiwidmVyc2lvbiIsIkF1dGhBZGFwdGVyIiwiZW5hYmxlZCIsIkxvZ0xldmVscyIsImNsb3VkRnVuY3Rpb25FcnJvciIsImNsb3VkRnVuY3Rpb25TdWNjZXNzIiwic2lnbnVwVXNlcm5hbWVUYWtlbiIsInRyaWdnZXJBZnRlciIsInRyaWdnZXJCZWZvcmVFcnJvciIsInRyaWdnZXJCZWZvcmVTdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL09wdGlvbnMvRGVmaW5pdGlvbnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbioqKiogR0VORVJBVEVEIENPREUgKioqKlxuVGhpcyBjb2RlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSByZXNvdXJjZXMvYnVpbGRDb25maWdEZWZpbml0aW9ucy5qc1xuRG8gbm90IGVkaXQgbWFudWFsbHksIGJ1dCB1cGRhdGUgT3B0aW9ucy9pbmRleC5qc1xuKi9cbnZhciBwYXJzZXJzID0gcmVxdWlyZSgnLi9wYXJzZXJzJyk7XG5tb2R1bGUuZXhwb3J0cy5TY2hlbWFPcHRpb25zID0ge1xuICBhZnRlck1pZ3JhdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TQ0hFTUFfQUZURVJfTUlHUkFUSU9OJyxcbiAgICBoZWxwOiAnRXhlY3V0ZSBhIGNhbGxiYWNrIGFmdGVyIHJ1bm5pbmcgc2NoZW1hIG1pZ3JhdGlvbnMuJyxcbiAgfSxcbiAgYmVmb3JlTWlncmF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9CRUZPUkVfTUlHUkFUSU9OJyxcbiAgICBoZWxwOiAnRXhlY3V0ZSBhIGNhbGxiYWNrIGJlZm9yZSBydW5uaW5nIHNjaGVtYSBtaWdyYXRpb25zLicsXG4gIH0sXG4gIGRlZmluaXRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9ERUZJTklUSU9OUycsXG4gICAgaGVscDogJ1Jlc3QgcmVwcmVzZW50YXRpb24gb24gUGFyc2UuU2NoZW1hIGh0dHBzOi8vZG9jcy5wYXJzZXBsYXRmb3JtLm9yZy9yZXN0L2d1aWRlLyNhZGRpbmctYS1zY2hlbWEnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIGRlbGV0ZUV4dHJhRmllbGRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9ERUxFVEVfRVhUUkFfRklFTERTJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBQYXJzZSBTZXJ2ZXIgc2hvdWxkIGRlbGV0ZSBhbnkgZmllbGRzIG5vdCBkZWZpbmVkIGluIGEgc2NoZW1hIGRlZmluaXRpb24uIFRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCBkdXJpbmcgZGV2ZWxvcG1lbnQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAga2VlcFVua25vd25JbmRleGVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9LRUVQX1VOS05PV05fSU5ERVhFUycsXG4gICAgaGVscDogXCIoT3B0aW9uYWwpIEtlZXAgaW5kZXhlcyB0aGF0IGFyZSBwcmVzZW50IGluIHRoZSBkYXRhYmFzZSBidXQgbm90IGRlZmluZWQgaW4gdGhlIHNjaGVtYS4gU2V0IHRoaXMgdG8gYHRydWVgIGlmIHlvdSBhcmUgYWRkaW5nIGluZGV4ZXMgbWFudWFsbHksIHNvIHRoYXQgdGhleSB3b24ndCBiZSByZW1vdmVkIHdoZW4gcnVubmluZyBzY2hlbWEgbWlncmF0aW9uLiBEZWZhdWx0IGlzIGBmYWxzZWAuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGxvY2tTY2hlbWFzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9MT0NLX1NDSEVNQVMnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIFBhcnNlIFNlcnZlciB3aWxsIHJlamVjdCBhbnkgYXR0ZW1wdHMgdG8gbW9kaWZ5IHRoZSBzY2hlbWEgd2hpbGUgdGhlIHNlcnZlciBpcyBydW5uaW5nLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHJlY3JlYXRlTW9kaWZpZWRGaWVsZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX1JFQ1JFQVRFX01PRElGSUVEX0ZJRUxEUycsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgUGFyc2UgU2VydmVyIHNob3VsZCByZWNyZWF0ZSBhbnkgZmllbGRzIHRoYXQgYXJlIGRpZmZlcmVudCBiZXR3ZWVuIHRoZSBjdXJyZW50IGRhdGFiYXNlIHNjaGVtYSBhbmQgdGhlc2NoZW1hIGRlZmluaXRpb24uIFRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCBkdXJpbmcgZGV2ZWxvcG1lbnQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgc3RyaWN0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9TVFJJQ1QnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIFBhcnNlIFNlcnZlciBzaG91bGQgZXhpdCBpZiBzY2hlbWEgdXBkYXRlIGZhaWwuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5QYXJzZVNlcnZlck9wdGlvbnMgPSB7XG4gIGFjY291bnRMb2Nrb3V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FDQ09VTlRfTE9DS09VVCcsXG4gICAgaGVscDogXCJUaGUgYWNjb3VudCBsb2Nrb3V0IHBvbGljeSBmb3IgZmFpbGVkIGxvZ2luIGF0dGVtcHRzLjxicj48YnI+Tm90ZTogU2V0dGluZyBhIHVzZXIncyBBQ0wgdG8gYW4gZW1wdHkgb2JqZWN0IGB7fWAgdmlhIG1hc3RlciBrZXkgaXMgYSBzZXBhcmF0ZSBtZWNoYW5pc20gdGhhdCBvbmx5IHByZXZlbnRzIG5ldyBsb2dpbnM7IGl0IGRvZXMgbm90IGludmFsaWRhdGUgZXhpc3Rpbmcgc2Vzc2lvbiB0b2tlbnMuIFRvIGltbWVkaWF0ZWx5IHJldm9rZSBhIHVzZXIncyBhY2Nlc3MsIGRlc3Ryb3kgdGhlaXIgc2Vzc2lvbnMgdmlhIG1hc3RlciBrZXkgaW4gYWRkaXRpb24gdG8gc2V0dGluZyB0aGUgQUNMLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0FjY291bnRMb2Nrb3V0T3B0aW9ucycsXG4gIH0sXG4gIGFsbG93QWdncmVnYXRpb25Gb3JSZWFkT25seU1hc3RlcktleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19BR0dSRUdBVElPTl9GT1JfUkVBRF9PTkxZX01BU1RFUl9LRVknLFxuICAgIGhlbHA6ICdXaGV0aGVyIHRoZSBgcmVhZE9ubHlNYXN0ZXJLZXlgIGlzIGFsbG93ZWQgdG8gcnVuIGFnZ3JlZ2F0aW9uIHBpcGVsaW5lcyB2aWEgdGhlIGFnZ3JlZ2F0ZSBlbmRwb2ludC4gQW4gYWdncmVnYXRpb24gcGlwZWxpbmUgY2FuIGNvbnRhaW4gd3JpdGUtY2FwYWJsZSBzdGFnZXMgKGZvciBleGFtcGxlIE1vbmdvREIgYCRvdXRgIGFuZCBgJG1lcmdlYCksIHNvIGFsbG93aW5nIGFnZ3JlZ2F0aW9uIGVmZmVjdGl2ZWx5IGdpdmVzIHRoZSByZWFkLW9ubHkgbWFzdGVyIGtleSBhIHdheSB0byBwZXJmb3JtIHdyaXRlcywgY29udHJhcnkgdG8gaXRzIHJlYWQtb25seSBpbnRlbnQuIElmIGB0cnVlYCAoZGVmYXVsdCksIHRoZSByZWFkLW9ubHkgbWFzdGVyIGtleSBjYW4gcnVuIGFnZ3JlZ2F0aW9uIHBpcGVsaW5lcy4gSWYgYGZhbHNlYCwgdGhlIHJlYWQtb25seSBtYXN0ZXIga2V5IGNhbm5vdCBydW4gYWdncmVnYXRpb24gcGlwZWxpbmVzIGF0IGFsbC4gTm90ZSB0aGF0IHRoZSBgcmVhZE9ubHlNYXN0ZXJLZXlgIGlzIGEgc2VjcmV0IGtleSBmb3IgaW50ZXJuYWwgc2VydmVyLXNpZGUgdXNlIG9ubHkgYW5kIG11c3QgbmV2ZXIgYmUgZGlzdHJpYnV0ZWQ7IHRoaXMgb3B0aW9uIGlzIGFuIGFkZGl0aW9uYWwgc2FmZWd1YXJkLCBub3QgYSBzdWJzdGl0dXRlIGZvciBrZWVwaW5nIHRoZSBrZXkgY29uZmlkZW50aWFsLiBEZWZhdWx0cyB0byBgdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBhbGxvd0NsaWVudENsYXNzQ3JlYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUxMT1dfQ0xJRU5UX0NMQVNTX0NSRUFUSU9OJyxcbiAgICBoZWxwOiAnRW5hYmxlIChvciBkaXNhYmxlKSBjbGllbnQgY2xhc3MgY3JlYXRpb24sIGRlZmF1bHRzIHRvIGZhbHNlJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgYWxsb3dDdXN0b21PYmplY3RJZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19DVVNUT01fT0JKRUNUX0lEJyxcbiAgICBoZWxwOiAnRW5hYmxlIChvciBkaXNhYmxlKSBjdXN0b20gb2JqZWN0SWQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBhbGxvd0V4cGlyZWRBdXRoRGF0YVRva2VuOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX0VYUElSRURfQVVUSF9EQVRBX1RPS0VOJyxcbiAgICBoZWxwOiAnRGVwcmVjYXRlZC4gVGhpcyBvcHRpb24gd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uIEF1dGggcHJvdmlkZXJzIGFyZSBhbHdheXMgdmFsaWRhdGVkIG9uIGxvZ2luLiBPbiB1cGRhdGUsIGlmIHRoaXMgaXMgc2V0IHRvIGB0cnVlYCwgYXV0aCBwcm92aWRlcnMgYXJlIG9ubHkgcmUtdmFsaWRhdGVkIHdoZW4gdGhlIGF1dGggZGF0YSBoYXMgY2hhbmdlZC4gSWYgdGhpcyBpcyBzZXQgdG8gYGZhbHNlYCwgYXV0aCBwcm92aWRlcnMgYXJlIHJlLXZhbGlkYXRlZCBvbiBldmVyeSB1cGRhdGUuIERlZmF1bHRzIHRvIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgYWxsb3dIZWFkZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX0hFQURFUlMnLFxuICAgIGhlbHA6ICdBZGQgaGVhZGVycyB0byBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIGFsbG93T3JpZ2luOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX09SSUdJTicsXG4gICAgaGVscDogJ1NldHMgb3JpZ2lucyBmb3IgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLiBUaGlzIGNhbiBiZSBhIHN0cmluZyBmb3IgYSBzaW5nbGUgb3JpZ2luIG9yIGFuIGFycmF5IG9mIHN0cmluZ3MgZm9yIG11bHRpcGxlIG9yaWdpbnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIGFuYWx5dGljc0FkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQU5BTFlUSUNTX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgdGhlIGFuYWx5dGljcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBhcHBJZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BUFBMSUNBVElPTl9JRCcsXG4gICAgaGVscDogJ1lvdXIgUGFyc2UgQXBwbGljYXRpb24gSUQnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBhcHBOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FQUF9OQU1FJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgYXBwIG5hbWUnLFxuICB9LFxuICBhdXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FVVEhfUFJPVklERVJTJyxcbiAgICBoZWxwOiBcIkNvbmZpZ3VyYXRpb24gZm9yIHlvdXIgYXV0aGVudGljYXRpb24gcHJvdmlkZXJzLCBhcyBzdHJpbmdpZmllZCBKU09OLiBTZWUgaHR0cDovL2RvY3MucGFyc2VwbGF0Zm9ybS5vcmcvcGFyc2Utc2VydmVyL2d1aWRlLyNvYXV0aC1hbmQtM3JkLXBhcnR5LWF1dGhlbnRpY2F0aW9uPGJyPjxicj5Qcm92aWRlciBuYW1lcyBtdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIgYW5kIGNvbnRhaW4gb25seSBsZXR0ZXJzLCBkaWdpdHMsIGFuZCB1bmRlcnNjb3JlcyAoYC9eW0EtWmEtel1bQS1aYS16MC05X10qJC9gKS4gVGhpcyBpcyBiZWNhdXNlIGVhY2ggcHJvdmlkZXIgbmFtZSBpcyB1c2VkIHRvIGNvbnN0cnVjdCBhIGRhdGFiYXNlIGZpZWxkIChgX2F1dGhfZGF0YV88cHJvdmlkZXI+YCksIHdoaWNoIG11c3QgY29tcGx5IHdpdGggUGFyc2UgU2VydmVyJ3MgZmllbGQgbmFtaW5nIHJ1bGVzLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIGNhY2hlQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DQUNIRV9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBjYWNoZScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBjYWNoZU1heFNpemU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0FDSEVfTUFYX1NJWkUnLFxuICAgIGhlbHA6ICdTZXRzIHRoZSBtYXhpbXVtIHNpemUgZm9yIHRoZSBpbiBtZW1vcnkgY2FjaGUsIGRlZmF1bHRzIHRvIDEwMDAwJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdjYWNoZU1heFNpemUnKSxcbiAgICBkZWZhdWx0OiAxMDAwMCxcbiAgfSxcbiAgY2FjaGVUVEw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0FDSEVfVFRMJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgVFRMIGZvciB0aGUgaW4gbWVtb3J5IGNhY2hlIChpbiBtcyksIGRlZmF1bHRzIHRvIDUwMDAgKDUgc2Vjb25kcyknLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2NhY2hlVFRMJyksXG4gICAgZGVmYXVsdDogNTAwMCxcbiAgfSxcbiAgY2xpZW50S2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NMSUVOVF9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIGlPUywgTWFjT1MsIHR2T1MgY2xpZW50cycsXG4gIH0sXG4gIGNsb3VkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NMT1VEJyxcbiAgICBoZWxwOiAnRnVsbCBwYXRoIHRvIHlvdXIgY2xvdWQgY29kZSBtYWluLmpzJyxcbiAgfSxcbiAgY2x1c3Rlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DTFVTVEVSJyxcbiAgICBoZWxwOiAnUnVuIHdpdGggY2x1c3Rlciwgb3B0aW9uYWxseSBzZXQgdGhlIG51bWJlciBvZiBwcm9jZXNzZXMgZGVmYXVsdCB0byBvcy5jcHVzKCkubGVuZ3RoJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyT3JCb29sZWFuUGFyc2VyLFxuICB9LFxuICBjb2xsZWN0aW9uUHJlZml4OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NPTExFQ1RJT05fUFJFRklYJyxcbiAgICBoZWxwOiAnQSBjb2xsZWN0aW9uIHByZWZpeCBmb3IgdGhlIGNsYXNzZXMnLFxuICAgIGRlZmF1bHQ6ICcnLFxuICB9LFxuICBjb252ZXJ0RW1haWxUb0xvd2VyY2FzZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DT05WRVJUX0VNQUlMX1RPX0xPV0VSQ0FTRScsXG4gICAgaGVscDogJ09wdGlvbmFsLiBJZiBzZXQgdG8gYHRydWVgLCB0aGUgYGVtYWlsYCBwcm9wZXJ0eSBvZiBhIHVzZXIgaXMgYXV0b21hdGljYWxseSBjb252ZXJ0ZWQgdG8gbG93ZXJjYXNlIGJlZm9yZSBiZWluZyBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlLiBDb25zZXF1ZW50bHksIHF1ZXJpZXMgbXVzdCBtYXRjaCB0aGUgY2FzZSBhcyBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlLCB3aGljaCB3b3VsZCBiZSBsb3dlcmNhc2UgaW4gdGhpcyBzY2VuYXJpby4gSWYgYGZhbHNlYCwgdGhlIGBlbWFpbGAgcHJvcGVydHkgaXMgc3RvcmVkIGFzIHNldCwgd2l0aG91dCBhbnkgY2FzZSBtb2RpZmljYXRpb25zLiBEZWZhdWx0IGlzIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgY29udmVydFVzZXJuYW1lVG9Mb3dlcmNhc2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ09OVkVSVF9VU0VSTkFNRV9UT19MT1dFUkNBU0UnLFxuICAgIGhlbHA6ICdPcHRpb25hbC4gSWYgc2V0IHRvIGB0cnVlYCwgdGhlIGB1c2VybmFtZWAgcHJvcGVydHkgb2YgYSB1c2VyIGlzIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGxvd2VyY2FzZSBiZWZvcmUgYmVpbmcgc3RvcmVkIGluIHRoZSBkYXRhYmFzZS4gQ29uc2VxdWVudGx5LCBxdWVyaWVzIG11c3QgbWF0Y2ggdGhlIGNhc2UgYXMgc3RvcmVkIGluIHRoZSBkYXRhYmFzZSwgd2hpY2ggd291bGQgYmUgbG93ZXJjYXNlIGluIHRoaXMgc2NlbmFyaW8uIElmIGBmYWxzZWAsIHRoZSBgdXNlcm5hbWVgIHByb3BlcnR5IGlzIHN0b3JlZCBhcyBzZXQsIHdpdGhvdXQgYW55IGNhc2UgbW9kaWZpY2F0aW9ucy4gRGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGN1c3RvbVBhZ2VzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFUycsXG4gICAgaGVscDogJ2N1c3RvbSBwYWdlcyBmb3IgcGFzc3dvcmQgdmFsaWRhdGlvbiBhbmQgcmVzZXQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0N1c3RvbVBhZ2VzT3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGRhdGFiYXNlQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBkYXRhYmFzZTsgYW55IG9wdGlvbnMgdGhhdCBhcmUgbm90IGV4cGxpY2l0bHkgZGVzY3JpYmVkIGhlcmUgYXJlIHBhc3NlZCBkaXJlY3RseSB0byB0aGUgZGF0YWJhc2UgY2xpZW50LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBkYXRhYmFzZU9wdGlvbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfT1BUSU9OUycsXG4gICAgaGVscDogJ09wdGlvbnMgdG8gcGFzcyB0byB0aGUgZGF0YWJhc2UgY2xpZW50JyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdEYXRhYmFzZU9wdGlvbnMnLFxuICB9LFxuICBkYXRhYmFzZVVSSToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9VUkknLFxuICAgIGhlbHA6ICdUaGUgZnVsbCBVUkkgdG8geW91ciBkYXRhYmFzZS4gU3VwcG9ydGVkIGRhdGFiYXNlcyBhcmUgbW9uZ29kYiBvciBwb3N0Z3Jlcy4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlZmF1bHQ6ICdtb25nb2RiOi8vbG9jYWxob3N0OjI3MDE3L3BhcnNlJyxcbiAgfSxcbiAgZGVmYXVsdExpbWl0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RFRkFVTFRfTElNSVQnLFxuICAgIGhlbHA6ICdEZWZhdWx0IHZhbHVlIGZvciBsaW1pdCBvcHRpb24gb24gcXVlcmllcywgZGVmYXVsdHMgdG8gYDEwMGAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdkZWZhdWx0TGltaXQnKSxcbiAgICBkZWZhdWx0OiAxMDAsXG4gIH0sXG4gIGRpcmVjdEFjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9ESVJFQ1RfQUNDRVNTJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCBpZiBQYXJzZSByZXF1ZXN0cyB3aXRoaW4gdGhlIHNhbWUgTm9kZS5qcyBlbnZpcm9ubWVudCBhcyBQYXJzZSBTZXJ2ZXIgc2hvdWxkIGJlIHJvdXRlZCB0byBQYXJzZSBTZXJ2ZXIgZGlyZWN0bHkgaW5zdGVhZCBvZiB2aWEgdGhlIEhUVFAgaW50ZXJmYWNlLiBEZWZhdWx0IGlzIGBmYWxzZWAuPGJyPjxicj5JZiBzZXQgdG8gYGZhbHNlYCB0aGVuIFBhcnNlIHJlcXVlc3RzIHdpdGhpbiB0aGUgc2FtZSBOb2RlLmpzIGVudmlyb25tZW50IGFzIFBhcnNlIFNlcnZlciBhcmUgZXhlY3V0ZWQgYXMgSFRUUCByZXF1ZXN0cyBzZW50IHRvIFBhcnNlIFNlcnZlciB2aWEgdGhlIGBzZXJ2ZXJVUkxgLiBGb3IgZXhhbXBsZSwgYSBgUGFyc2UuUXVlcnlgIGluIENsb3VkIENvZGUgaXMgY2FsbGluZyBQYXJzZSBTZXJ2ZXIgdmlhIGEgSFRUUCByZXF1ZXN0LiBUaGUgc2VydmVyIGlzIGVzc2VudGlhbGx5IG1ha2luZyBhIEhUVFAgcmVxdWVzdCB0byBpdHNlbGYsIHVubmVjZXNzYXJpbHkgdXNpbmcgbmV0d29yayByZXNvdXJjZXMgc3VjaCBhcyBuZXR3b3JrIHBvcnRzLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgSW4gZW52aXJvbm1lbnRzIHdoZXJlIG11bHRpcGxlIFBhcnNlIFNlcnZlciBpbnN0YW5jZXMgcnVuIGJlaGluZCBhIGxvYWQgYmFsYW5jZXIgYW5kIFBhcnNlIHJlcXVlc3RzIHdpdGhpbiB0aGUgY3VycmVudCBOb2RlLmpzIGVudmlyb25tZW50IHNob3VsZCBiZSByb3V0ZWQgdmlhIHRoZSBsb2FkIGJhbGFuY2VyIGFuZCBkaXN0cmlidXRlZCBhcyBIVFRQIHJlcXVlc3RzIGFtb25nIGFsbCBpbnN0YW5jZXMgdmlhIHRoZSBgc2VydmVyVVJMYCwgdGhpcyBzaG91bGQgYmUgc2V0IHRvIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBkb3ROZXRLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRE9UX05FVF9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIFVuaXR5IGFuZCAuTmV0IFNESycsXG4gIH0sXG4gIGVtYWlsQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTUFJTF9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIGVtYWlsIHNlbmRpbmcnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgZW1haWxWZXJpZnlTdWNjZXNzT25JbnZhbGlkRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU1BSUxfVkVSSUZZX1NVQ0NFU1NfT05fSU5WQUxJRF9FTUFJTCcsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgaWYgYSByZXF1ZXN0IHRvIHZlcmlmeSB0aGUgZW1haWwgc2hvdWxkIHJldHVybiBhIHN1Y2Nlc3MgcmVzcG9uc2UgZXZlbiBpZiB0aGUgcHJvdmlkZWQgZW1haWwgYWRkcmVzcyBkb2VzIG5vdCBiZWxvbmcgdG8gYSB2ZXJpZmlhYmxlIGFjY291bnQsIGZvciBleGFtcGxlIGJlY2F1c2UgaXQgaXMgdW5rbm93biBvciBhbHJlYWR5IHZlcmlmaWVkLCBvciBgZmFsc2VgIGlmIHRoZSByZXF1ZXN0IHNob3VsZCByZXR1cm4gYW4gZXJyb3IgcmVzcG9uc2UgaW4gdGhvc2UgY2FzZXMuPGJyPjxicj5EZWZhdWx0IGlzIGB0cnVlYC48YnI+UmVxdWlyZXMgb3B0aW9uIGB2ZXJpZnlVc2VyRW1haWxzOiB0cnVlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGVtYWlsVmVyaWZ5VG9rZW5SZXVzZUlmVmFsaWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU1BSUxfVkVSSUZZX1RPS0VOX1JFVVNFX0lGX1ZBTElEJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCBpZiBhIGVtYWlsIHZlcmlmaWNhdGlvbiB0b2tlbiBzaG91bGQgYmUgcmV1c2VkIGluIGNhc2UgYW5vdGhlciB0b2tlbiBpcyByZXF1ZXN0ZWQgYnV0IHRoZXJlIGlzIGEgdG9rZW4gdGhhdCBpcyBzdGlsbCB2YWxpZCwgaS5lLiBoYXMgbm90IGV4cGlyZWQuIFRoaXMgYXZvaWRzIHRoZSBvZnRlbiBvYnNlcnZlZCBpc3N1ZSB0aGF0IGEgdXNlciByZXF1ZXN0cyBtdWx0aXBsZSBlbWFpbHMgYW5kIGRvZXMgbm90IGtub3cgd2hpY2ggbGluayBjb250YWlucyBhIHZhbGlkIHRva2VuIGJlY2F1c2UgZWFjaCBuZXdseSBnZW5lcmF0ZWQgdG9rZW4gd291bGQgaW52YWxpZGF0ZSB0aGUgcHJldmlvdXMgdG9rZW4uPGJyPjxicj5EZWZhdWx0IGlzIGBmYWxzZWAuPGJyPlJlcXVpcmVzIG9wdGlvbiBgdmVyaWZ5VXNlckVtYWlsczogdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZW1haWxWZXJpZnlUb2tlblZhbGlkaXR5RHVyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU1BSUxfVkVSSUZZX1RPS0VOX1ZBTElESVRZX0RVUkFUSU9OJyxcbiAgICBoZWxwOiAnU2V0IHRoZSB2YWxpZGl0eSBkdXJhdGlvbiBvZiB0aGUgZW1haWwgdmVyaWZpY2F0aW9uIHRva2VuIGluIHNlY29uZHMgYWZ0ZXIgd2hpY2ggdGhlIHRva2VuIGV4cGlyZXMuIFRoZSB0b2tlbiBpcyB1c2VkIGluIHRoZSBsaW5rIHRoYXQgaXMgc2V0IGluIHRoZSBlbWFpbC4gQWZ0ZXIgdGhlIHRva2VuIGV4cGlyZXMsIHRoZSBsaW5rIGJlY29tZXMgaW52YWxpZCBhbmQgYSBuZXcgbGluayBoYXMgdG8gYmUgc2VudC4gSWYgdGhlIG9wdGlvbiBpcyBub3Qgc2V0IG9yIHNldCB0byBgdW5kZWZpbmVkYCwgdGhlbiB0aGUgdG9rZW4gbmV2ZXIgZXhwaXJlcy48YnI+PGJyPkZvciBleGFtcGxlLCB0byBleHBpcmUgdGhlIHRva2VuIGFmdGVyIDIgaG91cnMsIHNldCBhIHZhbHVlIG9mIDcyMDAgc2Vjb25kcyAoPSA2MCBzZWNvbmRzICogNjAgbWludXRlcyAqIDIgaG91cnMpLjxicj48YnI+RGVmYXVsdCBpcyBgdW5kZWZpbmVkYC48YnI+UmVxdWlyZXMgb3B0aW9uIGB2ZXJpZnlVc2VyRW1haWxzOiB0cnVlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2VtYWlsVmVyaWZ5VG9rZW5WYWxpZGl0eUR1cmF0aW9uJyksXG4gIH0sXG4gIGVuYWJsZUFub255bW91c1VzZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQUJMRV9BTk9OX1VTRVJTJyxcbiAgICBoZWxwOiAnRW5hYmxlIChvciBkaXNhYmxlKSBhbm9ueW1vdXMgdXNlcnMsIGRlZmF1bHRzIHRvIHRydWUnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGVuYWJsZUNvbGxhdGlvbkNhc2VDb21wYXJpc29uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQUJMRV9DT0xMQVRJT05fQ0FTRV9DT01QQVJJU09OJyxcbiAgICBoZWxwOiAnT3B0aW9uYWwuIElmIHNldCB0byBgdHJ1ZWAsIHRoZSBjb2xsYXRpb24gcnVsZSBvZiBjYXNlIGNvbXBhcmlzb24gZm9yIHF1ZXJpZXMgYW5kIGluZGV4ZXMgaXMgZW5hYmxlZC4gRW5hYmxlIHRoaXMgb3B0aW9uIHRvIHJ1biBQYXJzZSBTZXJ2ZXIgd2l0aCBNb25nb0RCIEF0bGFzIFNlcnZlcmxlc3Mgb3IgQVdTIEFtYXpvbiBEb2N1bWVudERCLiBJZiBgZmFsc2VgLCB0aGUgY29sbGF0aW9uIHJ1bGUgb2YgY2FzZSBjb21wYXJpc29uIGlzIGRpc2FibGVkLiBEZWZhdWx0IGlzIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZW5hYmxlRXhwcmVzc0Vycm9ySGFuZGxlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkFCTEVfRVhQUkVTU19FUlJPUl9IQU5ETEVSJyxcbiAgICBoZWxwOiAnRW5hYmxlcyB0aGUgZGVmYXVsdCBleHByZXNzIGVycm9yIGhhbmRsZXIgZm9yIGFsbCBlcnJvcnMnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmFibGVJbnNlY3VyZUF1dGhBZGFwdGVyczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkFCTEVfSU5TRUNVUkVfQVVUSF9BREFQVEVSUycsXG4gICAgaGVscDogJ09wdGlvbmFsLiBFbmFibGVzIGluc2VjdXJlIGF1dGhlbnRpY2F0aW9uIGFkYXB0ZXJzLiBJbnNlY3VyZSBhdXRoIGFkYXB0ZXJzIGFyZSBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi4gRGVmYXVsdHMgdG8gYGZhbHNlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmFibGVQcm9kdWN0UHVyY2hhc2VMZWdhY3lBcGk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU5BQkxFX1BST0RVQ1RfUFVSQ0hBU0VfTEVHQUNZX0FQSScsXG4gICAgaGVscDogJ0RlcHJlY2F0ZWQuIEVuYWJsZXMgdGhlIGxlZ2FjeSBwcm9kdWN0IHB1cmNoYXNlIEFQSSBpbmNsdWRpbmcgdGhlIGBfUHJvZHVjdGAgY2xhc3MgYW5kIHRoZSBgL3ZhbGlkYXRlX3B1cmNoYXNlYCBlbmRwb2ludC4gVGhpcyBpcyBhbiB1bmRvY3VtZW50ZWQsIHVubWFpbnRhaW5lZCBsZWdhY3kgZmVhdHVyZSBpbmhlcml0ZWQgZnJvbSB0aGUgb3JpZ2luYWwgUGFyc2UgcGxhdGZvcm0gdGhhdCBtYXkgbm90IGZ1bmN0aW9uIGFzIGV4cGVjdGVkLiBXZSBzdHJvbmdseSBhZHZpc2UgYWdhaW5zdCB1c2luZyBpdC4gSXQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIG1ham9yIHZlcnNpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBlbmFibGVTYW5pdGl6ZWRFcnJvclJlc3BvbnNlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQUJMRV9TQU5JVElaRURfRVJST1JfUkVTUE9OU0UnLFxuICAgIGhlbHA6ICdJZiBzZXQgdG8gYHRydWVgLCBlcnJvciBkZXRhaWxzIGFyZSByZW1vdmVkIGZyb20gZXJyb3IgbWVzc2FnZXMgaW4gcmVzcG9uc2VzIHRvIGNsaWVudCByZXF1ZXN0cywgYW5kIGluc3RlYWQgYSBnZW5lcmljIGVycm9yIG1lc3NhZ2UgaXMgc2VudC4gRGVmYXVsdCBpcyBgdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBlbmNyeXB0aW9uS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQ1JZUFRJT05fS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciBlbmNyeXB0aW5nIHlvdXIgZmlsZXMnLFxuICB9LFxuICBlbmZvcmNlUHJpdmF0ZVVzZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VORk9SQ0VfUFJJVkFURV9VU0VSUycsXG4gICAgaGVscDogJ1NldCB0byB0cnVlIGlmIG5ldyB1c2VycyBzaG91bGQgYmUgY3JlYXRlZCB3aXRob3V0IHB1YmxpYyByZWFkIGFuZCB3cml0ZSBhY2Nlc3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBleHBpcmVJbmFjdGl2ZVNlc3Npb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VYUElSRV9JTkFDVElWRV9TRVNTSU9OUycsXG4gICAgaGVscDogJ1NldHMgd2hldGhlciB3ZSBzaG91bGQgZXhwaXJlIHRoZSBpbmFjdGl2ZSBzZXNzaW9ucywgZGVmYXVsdHMgdG8gdHJ1ZS4gSWYgZmFsc2UsIGFsbCBuZXcgc2Vzc2lvbnMgYXJlIGNyZWF0ZWQgd2l0aCBubyBleHBpcmF0aW9uIGRhdGUuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBleHRlbmRTZXNzaW9uT25Vc2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRVhURU5EX1NFU1NJT05fT05fVVNFJyxcbiAgICBoZWxwOiBcIldoZXRoZXIgUGFyc2UgU2VydmVyIHNob3VsZCBhdXRvbWF0aWNhbGx5IGV4dGVuZCBhIHZhbGlkIHNlc3Npb24gYnkgdGhlIHNlc3Npb25MZW5ndGguIEluIG9yZGVyIHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHNlc3Npb24gdXBkYXRlcyBpbiB0aGUgZGF0YWJhc2UsIGEgc2Vzc2lvbiB3aWxsIG9ubHkgYmUgZXh0ZW5kZWQgd2hlbiBhIHJlcXVlc3QgaXMgcmVjZWl2ZWQgYWZ0ZXIgYXQgbGVhc3QgaGFsZiBvZiB0aGUgY3VycmVudCBzZXNzaW9uJ3MgbGlmZXRpbWUgaGFzIHBhc3NlZC5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZmlsZURvd25sb2FkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0ZJTEVfRE9XTkxPQURfT1BUSU9OUycsXG4gICAgaGVscDogJ09wdGlvbnMgZm9yIGZpbGUgZG93bmxvYWRzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdGaWxlRG93bmxvYWRPcHRpb25zJyxcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgZmlsZUtleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX0tFWScsXG4gICAgaGVscDogJ0tleSBmb3IgeW91ciBmaWxlcycsXG4gIH0sXG4gIGZpbGVzQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFU19BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBmaWxlcyBzdWItc3lzdGVtJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIGZpbGVVcGxvYWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfT1BUSU9OUycsXG4gICAgaGVscDogJ09wdGlvbnMgZm9yIGZpbGUgdXBsb2FkcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnRmlsZVVwbG9hZE9wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBncmFwaFFMUGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9HUkFQSFFMX1BBVEgnLFxuICAgIGhlbHA6ICdUaGUgbW91bnQgcGF0aCBmb3IgdGhlIEdyYXBoUUwgZW5kcG9pbnQ8YnI+PGJyPlxcdTI2QTBcXHVGRTBGIEZpbGUgdXBsb2FkIGluc2lkZSB0aGUgR3JhcGhRTCBtdXRhdGlvbiBzeXN0ZW0gcmVxdWlyZXMgUGFyc2UgU2VydmVyIHRvIGJlIGFibGUgdG8gY2FsbCBpdHNlbGYgYnkgbWFraW5nIHJlcXVlc3RzIHRvIHRoZSBVUkwgc2V0IGluIGBzZXJ2ZXJVUkxgLjxicj48YnI+RGVmYXVsdHMgaXMgYC9ncmFwaHFsYC4nLFxuICAgIGRlZmF1bHQ6ICcvZ3JhcGhxbCcsXG4gIH0sXG4gIGdyYXBoUUxQdWJsaWNJbnRyb3NwZWN0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0dSQVBIUUxfUFVCTElDX0lOVFJPU1BFQ1RJT04nLFxuICAgIGhlbHA6ICdFbmFibGUgcHVibGljIGludHJvc3BlY3Rpb24gZm9yIHRoZSBHcmFwaFFMIGVuZHBvaW50LCBkZWZhdWx0cyB0byBmYWxzZScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGdyYXBoUUxTY2hlbWE6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfR1JBUEhfUUxTQ0hFTUEnLFxuICAgIGhlbHA6ICdGdWxsIHBhdGggdG8geW91ciBHcmFwaFFMIGN1c3RvbSBzY2hlbWEuZ3JhcGhxbCBmaWxlJyxcbiAgfSxcbiAgaG9zdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9IT1NUJyxcbiAgICBoZWxwOiAnVGhlIGhvc3QgdG8gc2VydmUgUGFyc2VTZXJ2ZXIgb24sIGRlZmF1bHRzIHRvIDAuMC4wLjAnLFxuICAgIGRlZmF1bHQ6ICcwLjAuMC4wJyxcbiAgfSxcbiAgaWRlbXBvdGVuY3lPcHRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VYUEVSSU1FTlRBTF9JREVNUE9URU5DWV9PUFRJT05TJyxcbiAgICBoZWxwOiAnT3B0aW9ucyBmb3IgcmVxdWVzdCBpZGVtcG90ZW5jeSB0byBkZWR1cGxpY2F0ZSBpZGVudGljYWwgcmVxdWVzdHMgdGhhdCBtYXkgYmUgY2F1c2VkIGJ5IG5ldHdvcmsgaXNzdWVzLiBDYXV0aW9uLCB0aGlzIGlzIGFuIGV4cGVyaW1lbnRhbCBmZWF0dXJlIHRoYXQgbWF5IG5vdCBiZSBhcHByb3ByaWF0ZSBmb3IgcHJvZHVjdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0lkZW1wb3RlbmN5T3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGluc3RhbGxhdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9JTlNUQUxMQVRJT04nLFxuICAgIGhlbHA6ICdPcHRpb25zIGNvbnRyb2xsaW5nIGhvdyBQYXJzZSBTZXJ2ZXIgZGVkdXBsaWNhdGVzIGBfSW5zdGFsbGF0aW9uYCByZWNvcmRzIHRoYXQgc2hhcmUgdGhlIHNhbWUgYGRldmljZVRva2VuYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0luc3RhbGxhdGlvbk9wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBqYXZhc2NyaXB0S2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0pBVkFTQ1JJUFRfS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciB0aGUgSmF2YXNjcmlwdCBTREsnLFxuICB9LFxuICBqc29uTG9nczoge1xuICAgIGVudjogJ0pTT05fTE9HUycsXG4gICAgaGVscDogJ0xvZyBhcyBzdHJ1Y3R1cmVkIEpTT04gb2JqZWN0cycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIGxpdmVRdWVyeToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFX1FVRVJZJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSBjb25maWd1cmF0aW9uIG9iamVjdFwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0xpdmVRdWVyeU9wdGlvbnMnLFxuICB9LFxuICBsaXZlUXVlcnlTZXJ2ZXJPcHRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVfUVVFUllfU0VSVkVSX09QVElPTlMnLFxuICAgIGhlbHA6ICdMaXZlIHF1ZXJ5IHNlcnZlciBjb25maWd1cmF0aW9uIG9wdGlvbnMgKHdpbGwgc3RhcnQgdGhlIGxpdmVRdWVyeSBzZXJ2ZXIpJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdMaXZlUXVlcnlTZXJ2ZXJPcHRpb25zJyxcbiAgfSxcbiAgbG9nZ2VyQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dHRVJfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgbG9nZ2luZyBzdWItc3lzdGVtJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIGxvZ0xldmVsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTCcsXG4gICAgaGVscDogJ1NldHMgdGhlIGxldmVsIGZvciBsb2dzJyxcbiAgfSxcbiAgbG9nTGV2ZWxzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFMnLFxuICAgIGhlbHA6ICcoT3B0aW9uYWwpIE92ZXJyaWRlcyB0aGUgbG9nIGxldmVscyB1c2VkIGludGVybmFsbHkgYnkgUGFyc2UgU2VydmVyIHRvIGxvZyBldmVudHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdMb2dMZXZlbHMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBsb2dzRm9sZGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR1NfRk9MREVSJyxcbiAgICBoZWxwOiBcIkZvbGRlciBmb3IgdGhlIGxvZ3MgKGRlZmF1bHRzIHRvICcuL2xvZ3MnKTsgc2V0IHRvIG51bGwgdG8gZGlzYWJsZSBmaWxlIGJhc2VkIGxvZ2dpbmdcIixcbiAgICBkZWZhdWx0OiAnLi9sb2dzJyxcbiAgfSxcbiAgbWFpbnRlbmFuY2VLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFJTlRFTkFOQ0VfS0VZJyxcbiAgICBoZWxwOiAnKE9wdGlvbmFsKSBUaGUgbWFpbnRlbmFuY2Uga2V5IGlzIHVzZWQgZm9yIG1vZGlmeWluZyBpbnRlcm5hbCBhbmQgcmVhZC1vbmx5IGZpZWxkcyBvZiBQYXJzZSBTZXJ2ZXIuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBUaGlzIGtleSBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBhcyBwYXJ0IG9mIGEgcmVndWxhciBvcGVyYXRpb24gb2YgUGFyc2UgU2VydmVyLiBUaGlzIGtleSBpcyBpbnRlbmRlZCB0byBjb25kdWN0IG91dC1vZi1iYW5kIGNoYW5nZXMgc3VjaCBhcyBvbmUtdGltZSBtaWdyYXRpb25zIG9yIGRhdGEgY29ycmVjdGlvbiB0YXNrcy4gSW50ZXJuYWwgZmllbGRzIGFyZSBub3Qgb2ZmaWNpYWxseSBkb2N1bWVudGVkIGFuZCBtYXkgY2hhbmdlIGF0IGFueSB0aW1lIHdpdGhvdXQgcHVibGljYXRpb24gaW4gcmVsZWFzZSBjaGFuZ2Vsb2dzLiBXZSBzdHJvbmdseSBhZHZpY2Ugbm90IHRvIHJlbHkgb24gaW50ZXJuYWwgZmllbGRzIGFzIHBhcnQgb2YgeW91ciByZWd1bGFyIG9wZXJhdGlvbiBhbmQgdG8gaW52ZXN0aWdhdGUgdGhlIGltcGxpY2F0aW9ucyBvZiBhbnkgcGxhbm5lZCBjaGFuZ2VzICpkaXJlY3RseSBpbiB0aGUgc291cmNlIGNvZGUqIG9mIHlvdXIgY3VycmVudCB2ZXJzaW9uIG9mIFBhcnNlIFNlcnZlci4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBtYWludGVuYW5jZUtleUlwczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQUlOVEVOQU5DRV9LRVlfSVBTJyxcbiAgICBoZWxwOiBcIihPcHRpb25hbCkgUmVzdHJpY3RzIHRoZSB1c2Ugb2YgbWFpbnRlbmFuY2Uga2V5IHBlcm1pc3Npb25zIHRvIGEgbGlzdCBvZiBJUCBhZGRyZXNzZXMgb3IgcmFuZ2VzLjxicj48YnI+VGhpcyBvcHRpb24gYWNjZXB0cyBhIGxpc3Qgb2Ygc2luZ2xlIElQIGFkZHJlc3NlcywgZm9yIGV4YW1wbGUgYFsnMTAuMC4wLjEnLCAnMTAuMC4wLjInXWAuIFlvdSBjYW4gYWxzbyB1c2UgQ0lEUiBub3RhdGlvbiB0byBzcGVjaWZ5IGFuIElQIGFkZHJlc3MgcmFuZ2UsIGZvciBleGFtcGxlIGBbJzEwLjAuMS4wLzI0J11gLjxicj48YnI+PGI+U3BlY2lhbCBzY2VuYXJpb3M6PC9iPjxicj4tIFNldHRpbmcgYW4gZW1wdHkgYXJyYXkgYFtdYCBtZWFucyB0aGF0IHRoZSBtYWludGVuYW5jZSBrZXkgY2Fubm90IGJlIHVzZWQgZXZlbiBpbiBQYXJzZSBTZXJ2ZXIgQ2xvdWQgQ29kZS4gVGhpcyB2YWx1ZSBjYW5ub3QgYmUgc2V0IHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBhcyB0aGVyZSBpcyBubyB3YXkgdG8gcGFzcyBhbiBlbXB0eSBhcnJheSB0byBQYXJzZSBTZXJ2ZXIgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLjxicj4tIFNldHRpbmcgYFsnMC4wLjAuMC8wJywgJzo6MCddYCBtZWFucyB0byBhbGxvdyBhbnkgSVB2NCBhbmQgSVB2NiBhZGRyZXNzIHRvIHVzZSB0aGUgbWFpbnRlbmFuY2Uga2V5IGFuZCBlZmZlY3RpdmVseSBkaXNhYmxlcyB0aGUgSVAgZmlsdGVyLjxicj48YnI+PGI+Q29uc2lkZXJhdGlvbnM6PC9iPjxicj4tIElQdjQgYW5kIElQdjYgYWRkcmVzc2VzIGFyZSBub3QgY29tcGFyZWQgYWdhaW5zdCBlYWNoIG90aGVyLiBFYWNoIElQIHZlcnNpb24gKElQdjQgYW5kIElQdjYpIG5lZWRzIHRvIGJlIGNvbnNpZGVyZWQgc2VwYXJhdGVseS4gRm9yIGV4YW1wbGUsIGBbJzAuMC4wLjAvMCddYCBhbGxvd3MgYW55IElQdjQgYWRkcmVzcyBhbmQgYmxvY2tzIGV2ZXJ5IElQdjYgYWRkcmVzcy4gQ29udmVyc2VseSwgYFsnOjowJ11gIGFsbG93cyBhbnkgSVB2NiBhZGRyZXNzIGFuZCBibG9ja3MgZXZlcnkgSVB2NCBhZGRyZXNzLjxicj4tIEtlZXAgaW4gbWluZCB0aGF0IHRoZSBJUCB2ZXJzaW9uIGluIHVzZSBkZXBlbmRzIG9uIHRoZSBuZXR3b3JrIHN0YWNrIG9mIHRoZSBlbnZpcm9ubWVudCBpbiB3aGljaCBQYXJzZSBTZXJ2ZXIgcnVucy4gQSBsb2NhbCBlbnZpcm9ubWVudCBtYXkgdXNlIGEgZGlmZmVyZW50IElQIHZlcnNpb24gdGhhbiBhIHJlbW90ZSBlbnZpcm9ubWVudC4gRm9yIGV4YW1wbGUsIGl0J3MgcG9zc2libGUgdGhhdCBsb2NhbGx5IHRoZSB2YWx1ZSBgWycwLjAuMC4wLzAnXWAgYWxsb3dzIHRoZSByZXF1ZXN0IElQIGJlY2F1c2UgdGhlIGVudmlyb25tZW50IGlzIHVzaW5nIElQdjQsIGJ1dCB3aGVuIFBhcnNlIFNlcnZlciBpcyBkZXBsb3llZCByZW1vdGVseSB0aGUgcmVxdWVzdCBJUCBpcyBibG9ja2VkIGJlY2F1c2UgdGhlIHJlbW90ZSBlbnZpcm9ubWVudCBpcyB1c2luZyBJUHY2Ljxicj4tIFdoZW4gc2V0dGluZyB0aGUgb3B0aW9uIHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0aGUgbm90YXRpb24gaXMgYSBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nLCBmb3IgZXhhbXBsZSBgXFxcIjAuMC4wLjAvMCw6OjBcXFwiYC48YnI+LSBJUHY2IHpvbmUgaW5kaWNlcyAoYCVgIHN1ZmZpeCkgYXJlIG5vdCBzdXBwb3J0ZWQsIGZvciBleGFtcGxlIGBmZTgwOjoxJWV0aDBgLCBgZmU4MDo6MSUxYCBvciBgOjoxJWxvYC48YnI+PGJyPkRlZmF1bHRzIHRvIGBbJzEyNy4wLjAuMScsICc6OjEnXWAgd2hpY2ggbWVhbnMgdGhhdCBvbmx5IGBsb2NhbGhvc3RgLCB0aGUgc2VydmVyIGluc3RhbmNlIG9uIHdoaWNoIFBhcnNlIFNlcnZlciBydW5zLCBpcyBhbGxvd2VkIHRvIHVzZSB0aGUgbWFpbnRlbmFuY2Uga2V5LlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbJzEyNy4wLjAuMScsICc6OjEnXSxcbiAgfSxcbiAgbWFzdGVyS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BU1RFUl9LRVknLFxuICAgIGhlbHA6ICdZb3VyIFBhcnNlIE1hc3RlciBLZXknLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBtYXN0ZXJLZXlJcHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFTVEVSX0tFWV9JUFMnLFxuICAgIGhlbHA6IFwiKE9wdGlvbmFsKSBSZXN0cmljdHMgdGhlIHVzZSBvZiBtYXN0ZXIga2V5IHBlcm1pc3Npb25zIHRvIGEgbGlzdCBvZiBJUCBhZGRyZXNzZXMgb3IgcmFuZ2VzLjxicj48YnI+VGhpcyBvcHRpb24gYWNjZXB0cyBhIGxpc3Qgb2Ygc2luZ2xlIElQIGFkZHJlc3NlcywgZm9yIGV4YW1wbGUgYFsnMTAuMC4wLjEnLCAnMTAuMC4wLjInXWAuIFlvdSBjYW4gYWxzbyB1c2UgQ0lEUiBub3RhdGlvbiB0byBzcGVjaWZ5IGFuIElQIGFkZHJlc3MgcmFuZ2UsIGZvciBleGFtcGxlIGBbJzEwLjAuMS4wLzI0J11gLjxicj48YnI+PGI+U3BlY2lhbCBzY2VuYXJpb3M6PC9iPjxicj4tIFNldHRpbmcgYW4gZW1wdHkgYXJyYXkgYFtdYCBtZWFucyB0aGF0IHRoZSBtYXN0ZXIga2V5IGNhbm5vdCBiZSB1c2VkIGV2ZW4gaW4gUGFyc2UgU2VydmVyIENsb3VkIENvZGUuIFRoaXMgdmFsdWUgY2Fubm90IGJlIHNldCB2aWEgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgYXMgdGhlcmUgaXMgbm8gd2F5IHRvIHBhc3MgYW4gZW1wdHkgYXJyYXkgdG8gUGFyc2UgU2VydmVyIHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS48YnI+LSBTZXR0aW5nIGBbJzAuMC4wLjAvMCcsICc6OjAnXWAgbWVhbnMgdG8gYWxsb3cgYW55IElQdjQgYW5kIElQdjYgYWRkcmVzcyB0byB1c2UgdGhlIG1hc3RlciBrZXkgYW5kIGVmZmVjdGl2ZWx5IGRpc2FibGVzIHRoZSBJUCBmaWx0ZXIuPGJyPjxicj48Yj5Db25zaWRlcmF0aW9uczo8L2I+PGJyPi0gSVB2NCBhbmQgSVB2NiBhZGRyZXNzZXMgYXJlIG5vdCBjb21wYXJlZCBhZ2FpbnN0IGVhY2ggb3RoZXIuIEVhY2ggSVAgdmVyc2lvbiAoSVB2NCBhbmQgSVB2NikgbmVlZHMgdG8gYmUgY29uc2lkZXJlZCBzZXBhcmF0ZWx5LiBGb3IgZXhhbXBsZSwgYFsnMC4wLjAuMC8wJ11gIGFsbG93cyBhbnkgSVB2NCBhZGRyZXNzIGFuZCBibG9ja3MgZXZlcnkgSVB2NiBhZGRyZXNzLiBDb252ZXJzZWx5LCBgWyc6OjAnXWAgYWxsb3dzIGFueSBJUHY2IGFkZHJlc3MgYW5kIGJsb2NrcyBldmVyeSBJUHY0IGFkZHJlc3MuPGJyPi0gS2VlcCBpbiBtaW5kIHRoYXQgdGhlIElQIHZlcnNpb24gaW4gdXNlIGRlcGVuZHMgb24gdGhlIG5ldHdvcmsgc3RhY2sgb2YgdGhlIGVudmlyb25tZW50IGluIHdoaWNoIFBhcnNlIFNlcnZlciBydW5zLiBBIGxvY2FsIGVudmlyb25tZW50IG1heSB1c2UgYSBkaWZmZXJlbnQgSVAgdmVyc2lvbiB0aGFuIGEgcmVtb3RlIGVudmlyb25tZW50LiBGb3IgZXhhbXBsZSwgaXQncyBwb3NzaWJsZSB0aGF0IGxvY2FsbHkgdGhlIHZhbHVlIGBbJzAuMC4wLjAvMCddYCBhbGxvd3MgdGhlIHJlcXVlc3QgSVAgYmVjYXVzZSB0aGUgZW52aXJvbm1lbnQgaXMgdXNpbmcgSVB2NCwgYnV0IHdoZW4gUGFyc2UgU2VydmVyIGlzIGRlcGxveWVkIHJlbW90ZWx5IHRoZSByZXF1ZXN0IElQIGlzIGJsb2NrZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGVudmlyb25tZW50IGlzIHVzaW5nIElQdjYuPGJyPi0gV2hlbiBzZXR0aW5nIHRoZSBvcHRpb24gdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRoZSBub3RhdGlvbiBpcyBhIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmcsIGZvciBleGFtcGxlIGBcXFwiMC4wLjAuMC8wLDo6MFxcXCJgLjxicj4tIElQdjYgem9uZSBpbmRpY2VzIChgJWAgc3VmZml4KSBhcmUgbm90IHN1cHBvcnRlZCwgZm9yIGV4YW1wbGUgYGZlODA6OjElZXRoMGAsIGBmZTgwOjoxJTFgIG9yIGA6OjElbG9gLjxicj48YnI+RGVmYXVsdHMgdG8gYFsnMTI3LjAuMC4xJywgJzo6MSddYCB3aGljaCBtZWFucyB0aGF0IG9ubHkgYGxvY2FsaG9zdGAsIHRoZSBzZXJ2ZXIgaW5zdGFuY2Ugb24gd2hpY2ggUGFyc2UgU2VydmVyIHJ1bnMsIGlzIGFsbG93ZWQgdG8gdXNlIHRoZSBtYXN0ZXIga2V5LlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbJzEyNy4wLjAuMScsICc6OjEnXSxcbiAgfSxcbiAgbWFzdGVyS2V5VHRsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BU1RFUl9LRVlfVFRMJyxcbiAgICBoZWxwOiAnKE9wdGlvbmFsKSBUaGUgZHVyYXRpb24gaW4gc2Vjb25kcyBmb3Igd2hpY2ggdGhlIGN1cnJlbnQgYG1hc3RlcktleWAgaXMgYmVpbmcgdXNlZCBiZWZvcmUgaXQgaXMgcmVxdWVzdGVkIGFnYWluIGlmIGBtYXN0ZXJLZXlgIGlzIHNldCB0byBhIGZ1bmN0aW9uLiBJZiBgbWFzdGVyS2V5YCBpcyBub3Qgc2V0IHRvIGEgZnVuY3Rpb24sIHRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3QuIERlZmF1bHQgaXMgYDBgLCB3aGljaCBtZWFucyB0aGUgbWFzdGVyIGtleSBpcyByZXF1ZXN0ZWQgYnkgaW52b2tpbmcgdGhlICBgbWFzdGVyS2V5YCBmdW5jdGlvbiBldmVyeSB0aW1lIHRoZSBtYXN0ZXIga2V5IGlzIHVzZWQgaW50ZXJuYWxseSBieSBQYXJzZSBTZXJ2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdtYXN0ZXJLZXlUdGwnKSxcbiAgfSxcbiAgbWF4TGltaXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFYX0xJTUlUJyxcbiAgICBoZWxwOiAnTWF4IHZhbHVlIGZvciBsaW1pdCBvcHRpb24gb24gcXVlcmllcywgZGVmYXVsdHMgdG8gdW5saW1pdGVkJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdtYXhMaW1pdCcpLFxuICB9LFxuICBtYXhMb2dGaWxlczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQVhfTE9HX0ZJTEVTJyxcbiAgICBoZWxwOiBcIk1heGltdW0gbnVtYmVyIG9mIGxvZ3MgdG8ga2VlcC4gSWYgbm90IHNldCwgbm8gbG9ncyB3aWxsIGJlIHJlbW92ZWQuIFRoaXMgY2FuIGJlIGEgbnVtYmVyIG9mIGZpbGVzIG9yIG51bWJlciBvZiBkYXlzLiBJZiB1c2luZyBkYXlzLCBhZGQgJ2QnIGFzIHRoZSBzdWZmaXguIChkZWZhdWx0OiBudWxsKVwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJPclN0cmluZ1BhcnNlcignbWF4TG9nRmlsZXMnKSxcbiAgfSxcbiAgbWF4VXBsb2FkU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQVhfVVBMT0FEX1NJWkUnLFxuICAgIGhlbHA6ICdNYXggZmlsZSBzaXplIGZvciB1cGxvYWRzLCBkZWZhdWx0cyB0byAyMG1iJyxcbiAgICBkZWZhdWx0OiAnMjBtYicsXG4gIH0sXG4gIG1pZGRsZXdhcmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUlERExFV0FSRScsXG4gICAgaGVscDogJ21pZGRsZXdhcmUgZm9yIGV4cHJlc3Mgc2VydmVyLCBjYW4gYmUgc3RyaW5nIG9yIGZ1bmN0aW9uJyxcbiAgfSxcbiAgbW91bnRHcmFwaFFMOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01PVU5UX0dSQVBIUUwnLFxuICAgIGhlbHA6ICdNb3VudHMgdGhlIEdyYXBoUUwgZW5kcG9pbnQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBtb3VudFBhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTU9VTlRfUEFUSCcsXG4gICAgaGVscDogJ01vdW50IHBhdGggZm9yIHRoZSBzZXJ2ZXIsIGRlZmF1bHRzIHRvIC9wYXJzZScsXG4gICAgZGVmYXVsdDogJy9wYXJzZScsXG4gIH0sXG4gIG1vdW50UGxheWdyb3VuZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NT1VOVF9QTEFZR1JPVU5EJyxcbiAgICBoZWxwOiAnRGVwcmVjYXRlZC4gTW91bnRzIHRoZSBHcmFwaFFMIFBsYXlncm91bmQgd2hpY2ggaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uIFRoZSBwbGF5Z3JvdW5kIGV4cG9zZXMgdGhlIG1hc3RlciBrZXkgaW4gdGhlIGJyb3dzZXIuIFVzZSBQYXJzZSBEYXNoYm9hcmQgYXMgR3JhcGhRTCBJREUgb3IgY29uZmlndXJlIGEgdGhpcmQtcGFydHkgR3JhcGhRTCBjbGllbnQgd2l0aCBjdXN0b20gcmVxdWVzdCBoZWFkZXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIG9iamVjdElkU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9PQkpFQ1RfSURfU0laRScsXG4gICAgaGVscDogXCJTZXRzIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbiBnZW5lcmF0ZWQgb2JqZWN0IGlkJ3MsIGRlZmF1bHQgMTBcIixcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdvYmplY3RJZFNpemUnKSxcbiAgICBkZWZhdWx0OiAxMCxcbiAgfSxcbiAgcGFnZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVMnLFxuICAgIGhlbHA6ICdUaGUgb3B0aW9ucyBmb3IgcGFnZXMgc3VjaCBhcyBwYXNzd29yZCByZXNldCBhbmQgZW1haWwgdmVyaWZpY2F0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnUGFnZXNPcHRpb25zJyxcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgcGFzc3dvcmRQb2xpY3k6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZJyxcbiAgICBoZWxwOiAnVGhlIHBhc3N3b3JkIHBvbGljeSBmb3IgZW5mb3JjaW5nIHBhc3N3b3JkIHJlbGF0ZWQgcnVsZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdQYXNzd29yZFBvbGljeU9wdGlvbnMnLFxuICB9LFxuICBwbGF5Z3JvdW5kUGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QTEFZR1JPVU5EX1BBVEgnLFxuICAgIGhlbHA6ICdEZXByZWNhdGVkLiBNb3VudCBwYXRoIGZvciB0aGUgR3JhcGhRTCBQbGF5Z3JvdW5kLiBUaGUgcGxheWdyb3VuZCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi4nLFxuICAgIGRlZmF1bHQ6ICcvcGxheWdyb3VuZCcsXG4gIH0sXG4gIHBvcnQ6IHtcbiAgICBlbnY6ICdQT1JUJyxcbiAgICBoZWxwOiAnVGhlIHBvcnQgdG8gcnVuIHRoZSBQYXJzZVNlcnZlciwgZGVmYXVsdHMgdG8gMTMzNy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3BvcnQnKSxcbiAgICBkZWZhdWx0OiAxMzM3LFxuICB9LFxuICBwcmVzZXJ2ZUZpbGVOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BSRVNFUlZFX0ZJTEVfTkFNRScsXG4gICAgaGVscDogJ0VuYWJsZSAob3IgZGlzYWJsZSkgdGhlIGFkZGl0aW9uIG9mIGEgdW5pcXVlIGhhc2ggdG8gdGhlIGZpbGUgbmFtZXMnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBwcmV2ZW50TG9naW5XaXRoVW52ZXJpZmllZEVtYWlsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BSRVZFTlRfTE9HSU5fV0lUSF9VTlZFUklGSUVEX0VNQUlMJyxcbiAgICBoZWxwOiBcIlNldCB0byBgdHJ1ZWAgdG8gcHJldmVudCBhIHVzZXIgZnJvbSBsb2dnaW5nIGluIGlmIHRoZSBlbWFpbCBoYXMgbm90IHlldCBiZWVuIHZlcmlmaWVkIGFuZCBlbWFpbCB2ZXJpZmljYXRpb24gaXMgcmVxdWlyZWQuIFN1cHBvcnRzIGEgZnVuY3Rpb24gd2l0aCBhIHJldHVybiB2YWx1ZSBvZiBgdHJ1ZWAgb3IgYGZhbHNlYCBmb3IgY29uZGl0aW9uYWwgcHJldmVudGlvbi4gVGhlIGZ1bmN0aW9uIHJlY2VpdmVzIGEgcmVxdWVzdCBvYmplY3QgdGhhdCBpbmNsdWRlcyBgY3JlYXRlZFdpdGhgIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIGludm9jYXRpb24gaXMgZm9yIGBzaWdudXBgIG9yIGBsb2dpbmAgYW5kIHRoZSB1c2VkIGF1dGggcHJvdmlkZXIuPGJyPjxicj5UaGUgYGNyZWF0ZWRXaXRoYCB2YWx1ZXMgcGVyIHNjZW5hcmlvOjx1bD48bGk+UGFzc3dvcmQgc2lnbnVwOiBgeyBhY3Rpb246ICdzaWdudXAnLCBhdXRoUHJvdmlkZXI6ICdwYXNzd29yZCcgfWA8L2xpPjxsaT5BdXRoIHByb3ZpZGVyIHNpZ251cDogYHsgYWN0aW9uOiAnc2lnbnVwJywgYXV0aFByb3ZpZGVyOiAnPHByb3ZpZGVyPicgfWA8L2xpPjxsaT5QYXNzd29yZCBsb2dpbjogYHsgYWN0aW9uOiAnbG9naW4nLCBhdXRoUHJvdmlkZXI6ICdwYXNzd29yZCcgfWA8L2xpPjxsaT5BdXRoIHByb3ZpZGVyIGxvZ2luOiBmdW5jdGlvbiBub3QgaW52b2tlZDsgYXV0aCBwcm92aWRlciBsb2dpbiBieXBhc3NlcyBlbWFpbCB2ZXJpZmljYXRpb248L2xpPjwvdWw+RGVmYXVsdCBpcyBgZmFsc2VgLjxicj5SZXF1aXJlcyBvcHRpb24gYHZlcmlmeVVzZXJFbWFpbHM6IHRydWVgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuT3JGdW5jdGlvblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcHJldmVudFNpZ251cFdpdGhVbnZlcmlmaWVkRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJFVkVOVF9TSUdOVVBfV0lUSF9VTlZFUklGSUVEX0VNQUlMJyxcbiAgICBoZWxwOiBcIklmIHNldCB0byBgdHJ1ZWAgaXQgcHJldmVudHMgYSB1c2VyIGZyb20gc2lnbmluZyB1cCBpZiB0aGUgZW1haWwgaGFzIG5vdCB5ZXQgYmVlbiB2ZXJpZmllZCBhbmQgZW1haWwgdmVyaWZpY2F0aW9uIGlzIHJlcXVpcmVkLiBJbiB0aGF0IGNhc2UgdGhlIHNlcnZlciByZXNwb25kcyB0byB0aGUgc2lnbi11cCB3aXRoIEhUVFAgc3RhdHVzIDQwMCBhbmQgYSBQYXJzZSBFcnJvciAyMDUgYEVNQUlMX05PVF9GT1VORGAuIElmIHNldCB0byBgZmFsc2VgIHRoZSBzZXJ2ZXIgcmVzcG9uZHMgd2l0aCBIVFRQIHN0YXR1cyAyMDAsIGFuZCBjbGllbnQgU0RLcyByZXR1cm4gYW4gdW5hdXRoZW50aWNhdGVkIFBhcnNlIFVzZXIgd2l0aG91dCBzZXNzaW9uIHRva2VuLiBJbiB0aGF0IGNhc2Ugc3Vic2VxdWVudCByZXF1ZXN0cyBmYWlsIHVudGlsIHRoZSB1c2VyJ3MgZW1haWwgYWRkcmVzcyBpcyB2ZXJpZmllZC48YnI+PGJyPkRlZmF1bHQgaXMgYGZhbHNlYC48YnI+UmVxdWlyZXMgb3B0aW9uIGB2ZXJpZnlVc2VyRW1haWxzOiB0cnVlYC5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcHJvdGVjdGVkRmllbGRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BST1RFQ1RFRF9GSUVMRFMnLFxuICAgIGhlbHA6IFwiRmllbGRzIHBlciBjbGFzcyB0aGF0IGFyZSBoaWRkZW4gZnJvbSBxdWVyeSByZXN1bHRzIGZvciBzcGVjaWZpYyB1c2VyIGdyb3Vwcy4gUHJvdGVjdGVkIGZpZWxkcyBhcmUgc3RyaXBwZWQgZnJvbSB0aGUgc2VydmVyIHJlc3BvbnNlLCBidXQgY2FuIHN0aWxsIGJlIHVzZWQgaW50ZXJuYWxseSAoZS5nLiBpbiBDbG91ZCBDb2RlIHRyaWdnZXJzKS4gQ29uZmlndXJlIGFzIGB7ICdDbGFzc05hbWUnOiB7ICdVc2VyR3JvdXAnOiBbJ2ZpZWxkMScsICdmaWVsZDInXSB9IH1gIHdoZXJlIGBVc2VyR3JvdXBgIGlzIG9uZSBvZjogYCcqJ2AgKGFsbCB1c2VycyksIGAnYXV0aGVudGljYXRlZCdgIChhdXRoZW50aWNhdGVkIHVzZXJzKSwgYCdyb2xlOlJvbGVOYW1lJ2AgKHVzZXJzIHdpdGggYSBzcGVjaWZpYyByb2xlKSwgYCd1c2VyRmllbGQ6RmllbGROYW1lJ2AgKHVzZXJzIHJlZmVyZW5jZWQgYnkgYSBwb2ludGVyIGZpZWxkKSwgb3IgYSB1c2VyIGBvYmplY3RJZGAgdG8gdGFyZ2V0IGEgc3BlY2lmaWMgdXNlci4gV2hlbiBtdWx0aXBsZSBncm91cHMgYXBwbHksIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhlaXIgcHJvdGVjdGVkIGZpZWxkcyBpcyB1c2VkLiBBbnkgZmllbGQgY2FuIGJlIHByb3RlY3RlZCwgaW5jbHVkaW5nIHN5c3RlbSBmaWVsZHMgbGlrZSBgY3JlYXRlZEF0YCBhbmQgYHVwZGF0ZWRBdGAuIEJ5IGRlZmF1bHQsIGBlbWFpbGAgaXMgcHJvdGVjdGVkIG9uIHRoZSBgX1VzZXJgIGNsYXNzIGZvciBhbGwgdXNlcnMuIE9uIHRoZSBgX1VzZXJgIGNsYXNzLCB0aGUgb2JqZWN0IG93bmVyIGlzIGV4ZW1wdCBmcm9tIHByb3RlY3RlZCBmaWVsZHMgYnkgZGVmYXVsdDsgc2VlIGBwcm90ZWN0ZWRGaWVsZHNPd25lckV4ZW1wdGAgdG8gY2hhbmdlIHRoaXMuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiB7XG4gICAgICBfVXNlcjoge1xuICAgICAgICAnKic6IFsnZW1haWwnXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgcHJvdGVjdGVkRmllbGRzT3duZXJFeGVtcHQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJPVEVDVEVEX0ZJRUxEU19PV05FUl9FWEVNUFQnLFxuICAgIGhlbHA6IFwiV2hldGhlciB0aGUgYF9Vc2VyYCBjbGFzcyBpcyBleGVtcHQgZnJvbSBgcHJvdGVjdGVkRmllbGRzYCB3aGVuIHRoZSBsb2dnZWQtaW4gdXNlciBxdWVyaWVzIHRoZWlyIG93biB1c2VyIG9iamVjdC4gSWYgYHRydWVgIChkZWZhdWx0KSwgYSB1c2VyIGNhbiBzZWUgYWxsIHRoZWlyIG93biBmaWVsZHMgcmVnYXJkbGVzcyBvZiBgcHJvdGVjdGVkRmllbGRzYCBjb25maWd1cmF0aW9uOyBkZWZhdWx0IHByb3RlY3RlZCBmaWVsZHMgKGUuZy4gYGVtYWlsYCkgYXJlIG1lcmdlZCBpbnRvIGFueSBjdXN0b20gYHByb3RlY3RlZEZpZWxkc2AgY29uZmlndXJhdGlvbi4gSWYgYGZhbHNlYCwgYHByb3RlY3RlZEZpZWxkc2AgYXBwbGllcyBlcXVhbGx5IHRvIHRoZSB1c2VyJ3Mgb3duIG9iamVjdCwgY29uc2lzdGVudCB3aXRoIGFsbCBvdGhlciBjbGFzc2VzOyBvbmx5IGV4cGxpY2l0bHkgY29uZmlndXJlZCBwcm90ZWN0ZWQgZmllbGRzIGFwcGx5LCBkZWZhdWx0cyBhcmUgbm90IG1lcmdlZC4gRGVmYXVsdHMgdG8gYHRydWVgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIHByb3RlY3RlZEZpZWxkc1NhdmVSZXNwb25zZUV4ZW1wdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QUk9URUNURURfRklFTERTX1NBVkVfUkVTUE9OU0VfRVhFTVBUJyxcbiAgICBoZWxwOiAnV2hldGhlciBzYXZlIG9wZXJhdGlvbiByZXNwb25zZXMgKGNyZWF0ZSwgdXBkYXRlKSBhcmUgZXhlbXB0IGZyb20gYHByb3RlY3RlZEZpZWxkc2AuIElmIGB0cnVlYCAoZGVmYXVsdCksIHByb3RlY3RlZCBmaWVsZHMgbW9kaWZpZWQgZHVyaW5nIGEgc2F2ZSBhcmUgaW5jbHVkZWQgaW4gdGhlIHJlc3BvbnNlIHRvIHRoZSBjbGllbnQuIElmIGBmYWxzZWAsIHByb3RlY3RlZCBmaWVsZHMgYXJlIHN0cmlwcGVkIGZyb20gc2F2ZSByZXNwb25zZXMsIGNvbnNpc3RlbnQgd2l0aCBob3cgdGhleSBhcmUgc3RyaXBwZWQgZnJvbSBxdWVyeSByZXN1bHRzLiBEZWZhdWx0cyB0byBgdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBwcm90ZWN0ZWRGaWVsZHNUcmlnZ2VyRXhlbXB0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BST1RFQ1RFRF9GSUVMRFNfVFJJR0dFUl9FWEVNUFQnLFxuICAgIGhlbHA6IFwiV2hldGhlciBDbG91ZCBDb2RlIHRyaWdnZXJzIChlLmcuIGBiZWZvcmVTYXZlYCwgYGFmdGVyU2F2ZWApIGFyZSBleGVtcHQgZnJvbSBgcHJvdGVjdGVkRmllbGRzYC4gSWYgYHRydWVgLCB0cmlnZ2VycyByZWNlaXZlIHRoZSBmdWxsIG9iamVjdCBpbmNsdWRpbmcgcHJvdGVjdGVkIGZpZWxkcyBpbiBgcmVxdWVzdC5vYmplY3RgIGFuZCBgcmVxdWVzdC5vcmlnaW5hbGAsIHJlZ2FyZGxlc3Mgb2YgdGhlIGNhbGxlcidzIGF1dGggY29udGV4dC4gSWYgYGZhbHNlYCwgcHJvdGVjdGVkIGZpZWxkcyBhcmUgc3RyaXBwZWQgZnJvbSB0aGUgb3JpZ2luYWwgb2JqZWN0IGZldGNoIHVzZWQgdG8gYnVpbGQgdHJpZ2dlciBvYmplY3RzLiBEZWZhdWx0cyB0byBgZmFsc2VgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBwdWJsaWNTZXJ2ZXJVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9QVUJMSUNfU0VSVkVSX1VSTCcsXG4gICAgaGVscDogJ09wdGlvbmFsLiBUaGUgcHVibGljIFVSTCB0byBQYXJzZSBTZXJ2ZXIuIFRoaXMgVVJMIHdpbGwgYmUgdXNlZCB0byByZWFjaCBQYXJzZSBTZXJ2ZXIgcHVibGljbHkgZm9yIGZlYXR1cmVzIGxpa2UgcGFzc3dvcmQgcmVzZXQgYW5kIGVtYWlsIHZlcmlmaWNhdGlvbiBsaW5rcy4gVGhlIG9wdGlvbiBjYW4gYmUgc2V0IHRvIGEgc3RyaW5nIG9yIGEgZnVuY3Rpb24gdGhhdCBjYW4gYmUgYXN5bmNocm9ub3VzbHkgcmVzb2x2ZWQuIFRoZSByZXR1cm5lZCBVUkwgc3RyaW5nIG11c3Qgc3RhcnQgd2l0aCBgaHR0cDovL2Agb3IgYGh0dHBzOi8vYC4nLFxuICB9LFxuICBwdXNoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BVU0gnLFxuICAgIGhlbHA6ICdDb25maWd1cmF0aW9uIGZvciBwdXNoLCBhcyBzdHJpbmdpZmllZCBKU09OLiBTZWUgaHR0cDovL2RvY3MucGFyc2VwbGF0Zm9ybS5vcmcvcGFyc2Utc2VydmVyL2d1aWRlLyNwdXNoLW5vdGlmaWNhdGlvbnMnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIHF1ZXJ5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1FVRVJZJyxcbiAgICBoZWxwOiAnUXVlcnktcmVsYXRlZCBzZXJ2ZXIgZGVmYXVsdHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdRdWVyeVNlcnZlck9wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICByYXRlTGltaXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVCcsXG4gICAgaGVscDogXCJPcHRpb25zIHRvIGxpbWl0IHJlcGVhdGVkIHJlcXVlc3RzIHRvIFBhcnNlIFNlcnZlciBBUElzLiBUaGlzIGNhbiBiZSB1c2VkIHRvIHByb3RlY3Qgc2Vuc2l0aXZlIGVuZHBvaW50cyBzdWNoIGFzIGAvcmVxdWVzdFBhc3N3b3JkUmVzZXRgIGZyb20gYnJ1dGUtZm9yY2UgYXR0YWNrcyBvciBQYXJzZSBTZXJ2ZXIgYXMgYSB3aG9sZSBmcm9tIGRlbmlhbC1vZi1zZXJ2aWNlIChEb1MpIGF0dGFja3MuPGJyPjxicj5cXHUyMTM5XFx1RkUwRiBNaW5kIHRoZSBmb2xsb3dpbmcgbGltaXRhdGlvbnM6PGJyPi0gcmF0ZSBsaW1pdHMgYXBwbGllZCBwZXIgSVAgYWRkcmVzczsgdGhpcyBsaW1pdHMgcHJvdGVjdGlvbiBhZ2FpbnN0IGRpc3RyaWJ1dGVkIGRlbmlhbC1vZi1zZXJ2aWNlIChERG9TKSBhdHRhY2tzIHdoZXJlIG1hbnkgcmVxdWVzdHMgYXJlIGNvbWluZyBmcm9tIHZhcmlvdXMgSVAgYWRkcmVzc2VzPGJyPi0gaWYgbXVsdGlwbGUgUGFyc2UgU2VydmVyIGluc3RhbmNlcyBhcmUgYmVoaW5kIGEgbG9hZCBiYWxhbmNlciBvciByYW4gaW4gYSBjbHVzdGVyLCBlYWNoIGluc3RhbmNlIHdpbGwgY2FsY3VsYXRlIGl0J3Mgb3duIHJlcXVlc3QgcmF0ZXMsIGluZGVwZW5kZW50IGZyb20gb3RoZXIgaW5zdGFuY2VzOyB0aGlzIGxpbWl0cyB0aGUgYXBwbGljYWJpbGl0eSBvZiB0aGlzIGZlYXR1cmUgd2hlbiB1c2luZyBhIGxvYWQgYmFsYW5jZXIgYW5kIGFub3RoZXIgcmF0ZSBsaW1pdGluZyBzb2x1dGlvbiB0aGF0IHRha2VzIHJlcXVlc3RzIGFjcm9zcyBhbGwgaW5zdGFuY2VzIGludG8gYWNjb3VudCBtYXkgYmUgbW9yZSBzdWl0YWJsZTxicj4tIHRoaXMgZmVhdHVyZSBwcm92aWRlcyBiYXNpYyBwcm90ZWN0aW9uIGFnYWluc3QgZGVuaWFsLW9mLXNlcnZpY2UgYXR0YWNrcywgYnV0IGEgbW9yZSBzb3BoaXN0aWNhdGVkIHNvbHV0aW9uIHdvcmtzIGVhcmxpZXIgaW4gdGhlIHJlcXVlc3QgZmxvdyBhbmQgcHJldmVudHMgYSBtYWxpY2lvdXMgcmVxdWVzdHMgdG8gZXZlbiByZWFjaCBhIHNlcnZlciBpbnN0YW5jZTsgaXQncyB0aGVyZWZvcmUgcmVjb21tZW5kZWQgdG8gaW1wbGVtZW50IGEgc29sdXRpb24gYWNjb3JkaW5nIHRvIGFyY2hpdGVjdHVyZSBhbmQgdXNlIGNhc2UuPGJyPi0gcmF0ZSBsaW1pdHMgYXJlIG1hdGNoZWQgYWdhaW5zdCB0aGUgUkVTVCBBUEkgVVJMIHBhdGggKGByZXF1ZXN0UGF0aGApIGFuZCB0aGVyZWZvcmUgYXBwbHkgdG8gUkVTVCBBUEkgcm91dGVzIG9ubHk7IHRoZXkgZG8gbm90IGFwcGx5IHRvIEdyYXBoUUwgb3BlcmF0aW9ucywgd2hpY2ggYXJlIGFsbCBzZXJ2ZWQgdW5kZXIgdGhlIHNpbmdsZSBHcmFwaFFMIGVuZHBvaW50IHBhdGggKGBncmFwaFFMUGF0aGAsIGRlZmF1bHQgYC9ncmFwaHFsYCkgYW5kIGFyZSBpZGVudGlmaWVkIGJ5IHRoZSByZXF1ZXN0IHBheWxvYWQgcmF0aGVyIHRoYW4gdGhlIFVSTC4gVG8gcmF0ZSBsaW1pdCBHcmFwaFFMLCBlaXRoZXIgc2V0IGEgYHJlcXVlc3RQYXRoYCBmb3IgdGhlIEdyYXBoUUwgZW5kcG9pbnQgcGF0aCB0byB0aHJvdHRsZSB0aGUgZW50aXJlIEdyYXBoUUwgQVBJLCBvciB1c2UgYSBHcmFwaFFMLWF3YXJlIHJhdGUgbGltaXRpbmcgc29sdXRpb24gKGZvciBleGFtcGxlIGEgc2NoZW1hLWRpcmVjdGl2ZS1iYXNlZCByYXRlIGxpbWl0ZXIpIGZvciBwZXItb3BlcmF0aW9uIGxpbWl0cy5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgdHlwZTogJ1JhdGVMaW1pdE9wdGlvbnNbXScsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIHJlYWRPbmx5TWFzdGVyS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFQURfT05MWV9NQVNURVJfS0VZJyxcbiAgICBoZWxwOiAnVGhlIHJlYWQtb25seSBtYXN0ZXIga2V5IGlzIGEgc2VjcmV0IGtleSB3aXRoIHRoZSBzYW1lIHJlYWQgY2FwYWJpbGl0aWVzIGFzIHRoZSBgbWFzdGVyS2V5YCwgYnV0IHdpdGhvdXQgdGhlIGFiaWxpdHkgdG8gcGVyZm9ybSB3cml0ZXMuIExpa2UgdGhlIGBtYXN0ZXJLZXlgLCBpdCBieXBhc3NlcyBhbGwgc2VjdXJpdHkgbWVjaGFuaXNtcyAoQ2xhc3MgTGV2ZWwgUGVybWlzc2lvbnMsIG9iamVjdCBBQ0xzLCBgcHJvdGVjdGVkRmllbGRzYCksIHNvIGl0IGdyYW50cyBmdWxsIHJlYWQgYWNjZXNzIHRvIGFsbCBkYXRhLjxicj48YnI+SXQgaXMgaW50ZW5kZWQgc3RyaWN0bHkgZm9yIGludGVybmFsLCBzZXJ2ZXItc2lkZSB1c2UgXFx1MjAxNCBmb3IgZXhhbXBsZSB0byBnaXZlIGEgdHJ1c3RlZCBpbnRlcm5hbCBwcm9jZXNzIHJlYWQgYWNjZXNzIHdoaWxlIGd1YXJkaW5nIGFnYWluc3QgYWNjaWRlbnRhbCB3cml0ZXMgZHVyaW5nIGRldmVsb3BtZW50IG9yIG9wZXJhdGlvbnMuIEl0IGlzIG5vdCBhIGNyZWRlbnRpYWwgZm9yIHVudHJ1c3RlZCBjb250ZXh0czogaXQgbXVzdCBuZXZlciBiZSBzaGlwcGVkLCBkaXN0cmlidXRlZCwgcHVibGlzaGVkLCBlbWJlZGRlZCBpbiBhIGNsaWVudCBhcHBsaWNhdGlvbiwgb3Igb3RoZXJ3aXNlIGV4cG9zZWQgdG8gdW50cnVzdGVkIHBhcnRpZXMsIGJlY2F1c2UgYW55b25lIHdobyBvYnRhaW5zIGl0IGNhbiByZWFkIGFsbCBkYXRhIGluIHRoZSBkYXRhYmFzZS4gVXNlIGByZWFkT25seU1hc3RlcktleUlwc2AgdG8gcmVzdHJpY3QgdGhlIElQIGFkZHJlc3NlcyBmcm9tIHdoaWNoIGl0IG1heSBiZSB1c2VkLicsXG4gIH0sXG4gIHJlYWRPbmx5TWFzdGVyS2V5SXBzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFQURfT05MWV9NQVNURVJfS0VZX0lQUycsXG4gICAgaGVscDogXCIoT3B0aW9uYWwpIFJlc3RyaWN0cyB0aGUgdXNlIG9mIHJlYWQtb25seSBtYXN0ZXIga2V5IHBlcm1pc3Npb25zIHRvIGEgbGlzdCBvZiBJUCBhZGRyZXNzZXMgb3IgcmFuZ2VzLjxicj48YnI+VGhpcyBvcHRpb24gYWNjZXB0cyBhIGxpc3Qgb2Ygc2luZ2xlIElQIGFkZHJlc3NlcywgZm9yIGV4YW1wbGUgYFsnMTAuMC4wLjEnLCAnMTAuMC4wLjInXWAuIFlvdSBjYW4gYWxzbyB1c2UgQ0lEUiBub3RhdGlvbiB0byBzcGVjaWZ5IGFuIElQIGFkZHJlc3MgcmFuZ2UsIGZvciBleGFtcGxlIGBbJzEwLjAuMS4wLzI0J11gLjxicj48YnI+PGI+U3BlY2lhbCBzY2VuYXJpb3M6PC9iPjxicj4tIFNldHRpbmcgYW4gZW1wdHkgYXJyYXkgYFtdYCBtZWFucyB0aGF0IHRoZSByZWFkLW9ubHkgbWFzdGVyIGtleSBjYW5ub3QgYmUgdXNlZCBldmVuIGluIFBhcnNlIFNlcnZlciBDbG91ZCBDb2RlLiBUaGlzIHZhbHVlIGNhbm5vdCBiZSBzZXQgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIGFzIHRoZXJlIGlzIG5vIHdheSB0byBwYXNzIGFuIGVtcHR5IGFycmF5IHRvIFBhcnNlIFNlcnZlciB2aWEgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuPGJyPi0gU2V0dGluZyBgWycwLjAuMC4wLzAnLCAnOjowJ11gIG1lYW5zIHRvIGFsbG93IGFueSBJUHY0IGFuZCBJUHY2IGFkZHJlc3MgdG8gdXNlIHRoZSByZWFkLW9ubHkgbWFzdGVyIGtleSBhbmQgZWZmZWN0aXZlbHkgZGlzYWJsZXMgdGhlIElQIGZpbHRlci48YnI+PGJyPjxiPkNvbnNpZGVyYXRpb25zOjwvYj48YnI+LSBJUHY0IGFuZCBJUHY2IGFkZHJlc3NlcyBhcmUgbm90IGNvbXBhcmVkIGFnYWluc3QgZWFjaCBvdGhlci4gRWFjaCBJUCB2ZXJzaW9uIChJUHY0IGFuZCBJUHY2KSBuZWVkcyB0byBiZSBjb25zaWRlcmVkIHNlcGFyYXRlbHkuIEZvciBleGFtcGxlLCBgWycwLjAuMC4wLzAnXWAgYWxsb3dzIGFueSBJUHY0IGFkZHJlc3MgYW5kIGJsb2NrcyBldmVyeSBJUHY2IGFkZHJlc3MuIENvbnZlcnNlbHksIGBbJzo6MCddYCBhbGxvd3MgYW55IElQdjYgYWRkcmVzcyBhbmQgYmxvY2tzIGV2ZXJ5IElQdjQgYWRkcmVzcy48YnI+LSBLZWVwIGluIG1pbmQgdGhhdCB0aGUgSVAgdmVyc2lvbiBpbiB1c2UgZGVwZW5kcyBvbiB0aGUgbmV0d29yayBzdGFjayBvZiB0aGUgZW52aXJvbm1lbnQgaW4gd2hpY2ggUGFyc2UgU2VydmVyIHJ1bnMuIEEgbG9jYWwgZW52aXJvbm1lbnQgbWF5IHVzZSBhIGRpZmZlcmVudCBJUCB2ZXJzaW9uIHRoYW4gYSByZW1vdGUgZW52aXJvbm1lbnQuIEZvciBleGFtcGxlLCBpdCdzIHBvc3NpYmxlIHRoYXQgbG9jYWxseSB0aGUgdmFsdWUgYFsnMC4wLjAuMC8wJ11gIGFsbG93cyB0aGUgcmVxdWVzdCBJUCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBpcyB1c2luZyBJUHY0LCBidXQgd2hlbiBQYXJzZSBTZXJ2ZXIgaXMgZGVwbG95ZWQgcmVtb3RlbHkgdGhlIHJlcXVlc3QgSVAgaXMgYmxvY2tlZCBiZWNhdXNlIHRoZSByZW1vdGUgZW52aXJvbm1lbnQgaXMgdXNpbmcgSVB2Ni48YnI+LSBXaGVuIHNldHRpbmcgdGhlIG9wdGlvbiB2aWEgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgdGhlIG5vdGF0aW9uIGlzIGEgY29tbWEtc2VwYXJhdGVkIHN0cmluZywgZm9yIGV4YW1wbGUgYFxcXCIwLjAuMC4wLzAsOjowXFxcImAuPGJyPi0gSVB2NiB6b25lIGluZGljZXMgKGAlYCBzdWZmaXgpIGFyZSBub3Qgc3VwcG9ydGVkLCBmb3IgZXhhbXBsZSBgZmU4MDo6MSVldGgwYCwgYGZlODA6OjElMWAgb3IgYDo6MSVsb2AuPGJyPjxicj5EZWZhdWx0cyB0byBgWycwLjAuMC4wLzAnLCAnOjowJ11gIHdoaWNoIG1lYW5zIHRoYXQgYW55IElQIGFkZHJlc3MgaXMgYWxsb3dlZCB0byB1c2UgdGhlIHJlYWQtb25seSBtYXN0ZXIga2V5LiBJdCBpcyByZWNvbW1lbmRlZCB0byBzZXQgdGhpcyBvcHRpb24gdG8gYFsnMTI3LjAuMC4xJywgJzo6MSddYCB0byByZXN0cmljdCBhY2Nlc3MgdG8gYGxvY2FsaG9zdGAuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFsnMC4wLjAuMC8wJywgJzo6MCddLFxuICB9LFxuICByZXF1ZXN0Q29tcGxleGl0eToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFknLFxuICAgIGhlbHA6ICdPcHRpb25zIHRvIGxpbWl0IHRoZSBjb21wbGV4aXR5IG9mIHJlcXVlc3RzIHRvIHByZXZlbnQgZGVuaWFsLW9mLXNlcnZpY2UgYXR0YWNrcy4gTGltaXRzIGFyZSBlbmZvcmNlZCBmb3IgYWxsIHJlcXVlc3RzIGV4Y2VwdCB0aG9zZSB1c2luZyB0aGUgbWFzdGVyIG9yIG1haW50ZW5hbmNlIGtleS4gRWFjaCBwcm9wZXJ0eSBjYW4gYmUgc2V0IHRvIGAtMWAgdG8gZGlzYWJsZSB0aGF0IHNwZWNpZmljIGxpbWl0LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnUmVxdWVzdENvbXBsZXhpdHlPcHRpb25zJyxcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgcmVxdWVzdENvbnRleHRNaWRkbGV3YXJlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09OVEVYVF9NSURETEVXQVJFJyxcbiAgICBoZWxwOiAnT3B0aW9ucyB0byBjdXN0b21pemUgdGhlIHJlcXVlc3QgY29udGV4dCB1c2luZyBpbnZlcnNpb24gb2YgY29udHJvbC9kZXBlbmRlbmN5IGluamVjdGlvbi4nLFxuICB9LFxuICByZXF1ZXN0S2V5d29yZERlbnlsaXN0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfS0VZV09SRF9ERU5ZTElTVCcsXG4gICAgaGVscDogJ0FuIGFycmF5IG9mIGtleXMgYW5kIHZhbHVlcyB0aGF0IGFyZSBwcm9oaWJpdGVkIGluIGRhdGFiYXNlIHJlYWQgYW5kIHdyaXRlIHJlcXVlc3RzIHRvIHByZXZlbnQgcG90ZW50aWFsIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcy4gSXQgaXMgcG9zc2libGUgdG8gc3BlY2lmeSBvbmx5IGEga2V5IChge1wia2V5XCI6XCIuLi5cIn1gKSwgb25seSBhIHZhbHVlIChge1widmFsdWVcIjpcIi4uLlwifWApIG9yIGEga2V5LXZhbHVlIHBhaXIgKGB7XCJrZXlcIjpcIi4uLlwiLFwidmFsdWVcIjpcIi4uLlwifWApLiBUaGUgc3BlY2lmaWNhdGlvbiBjYW4gdXNlIHRoZSBmb2xsb3dpbmcgdHlwZXM6IGBib29sZWFuYCwgYG51bWVyaWNgIG9yIGBzdHJpbmdgLCB3aGVyZSBgc3RyaW5nYCB3aWxsIGJlIGludGVycHJldGVkIGFzIGEgcmVnZXggbm90YXRpb24uIFJlcXVlc3QgZGF0YSBpcyBkZWVwLXNjYW5uZWQgZm9yIG1hdGNoaW5nIGRlZmluaXRpb25zIHRvIGRldGVjdCBhbHNvIGFueSBuZXN0ZWQgb2NjdXJyZW5jZXMuIERlZmF1bHRzIGFyZSBwYXR0ZXJucyB0aGF0IGFyZSBsaWtlbHkgdG8gYmUgdXNlZCBpbiBtYWxpY2lvdXMgcmVxdWVzdHMuIFNldHRpbmcgdGhpcyBvcHRpb24gd2lsbCBvdmVycmlkZSB0aGUgZGVmYXVsdCBwYXR0ZXJucy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbXG4gICAgICB7XG4gICAgICAgIGtleTogJ19ic29udHlwZScsXG4gICAgICAgIHZhbHVlOiAnQ29kZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdjb25zdHJ1Y3RvcicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdfX3Byb3RvX18nLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICByZXN0QVBJS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFU1RfQVBJX0tFWScsXG4gICAgaGVscDogJ0tleSBmb3IgUkVTVCBjYWxscycsXG4gIH0sXG4gIHJldm9rZVNlc3Npb25PblBhc3N3b3JkUmVzZXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVWT0tFX1NFU1NJT05fT05fUEFTU1dPUkRfUkVTRVQnLFxuICAgIGhlbHA6IFwiV2hlbiBhIHVzZXIgY2hhbmdlcyB0aGVpciBwYXNzd29yZCwgZWl0aGVyIHRocm91Z2ggdGhlIHJlc2V0IHBhc3N3b3JkIGVtYWlsIG9yIHdoaWxlIGxvZ2dlZCBpbiwgYWxsIHNlc3Npb25zIGFyZSByZXZva2VkIGlmIHRoaXMgaXMgdHJ1ZS4gU2V0IHRvIGZhbHNlIGlmIHlvdSBkb24ndCB3YW50IHRvIHJldm9rZSBzZXNzaW9ucy5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICByb3V0ZUFsbG93TGlzdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9ST1VURV9BTExPV19MSVNUJyxcbiAgICBoZWxwOiAnKE9wdGlvbmFsKSBSZXN0cmljdHMgZXh0ZXJuYWwgY2xpZW50IGFjY2VzcyB0byBhIGxpc3Qgb2YgYWxsb3dlZCBSRVNUIEFQSSByb3V0ZXMuPGJyPjxicj5XaGVuIHRoaXMgb3B0aW9uIGlzIHNldCwgYWxsIGV4dGVybmFsIG5vbi1tYXN0ZXIta2V5IFJFU1QgQVBJIHJlcXVlc3RzIGFyZSBkZW5pZWQgYnkgZGVmYXVsdC4gT25seSByb3V0ZXMgbWF0Y2hpbmcgYXQgbGVhc3Qgb25lIG9mIHRoZSBjb25maWd1cmVkIHJlZ2V4IHBhdHRlcm5zIGFyZSBhbGxvd2VkIHRocm91Z2guIEludGVybmFsIGNhbGxzIGZyb20gQ2xvdWQgQ29kZSwgQ2xvdWQgSm9icywgYW5kIHRyaWdnZXJzIGFyZSBub3QgYWZmZWN0ZWQuPGJyPjxicj5FYWNoIGVudHJ5IGlzIGEgcmVnZXggcGF0dGVybiBzdHJpbmcgbWF0Y2hlZCBhZ2FpbnN0IHRoZSBub3JtYWxpemVkIHJvdXRlIGlkZW50aWZpZXIgKHJlcXVlc3QgcGF0aCB3aXRoIG1vdW50IHByZWZpeCBhbmQgbGVhZGluZyBzbGFzaCBzdHJpcHBlZCkuIFBhdHRlcm5zIGFyZSBhdXRvLWFuY2hvcmVkIHdpdGggYF5gIGFuZCBgJGAgZm9yIGZ1bGwtbWF0Y2ggc2VtYW50aWNzLjxicj48YnI+PGI+RXhhbXBsZXMgb2Ygbm9ybWFsaXplZCByb3V0ZSBpZGVudGlmaWVyczo8L2I+PHVsPjxsaT5gY2xhc3Nlcy9HYW1lU2NvcmVgIChjbGFzcyBDUlVEKTwvbGk+PGxpPmBjbGFzc2VzL0dhbWVTY29yZS9hYmMxMjNgIChvYmplY3QgYnkgSUQpPC9saT48bGk+YHVzZXJzYCAodXNlciBvcGVyYXRpb25zKTwvbGk+PGxpPmBsb2dpbmAgKGxvZ2luIGVuZHBvaW50KTwvbGk+PGxpPmBmdW5jdGlvbnMvc2VuZEVtYWlsYCAoQ2xvdWQgRnVuY3Rpb24pPC9saT48bGk+YGpvYnMvY2xlYW51cGAgKENsb3VkIEpvYik8L2xpPjxsaT5gcHVzaGAgKHB1c2ggbm90aWZpY2F0aW9ucyk8L2xpPjxsaT5gY29uZmlnYCAoY2xpZW50IGNvbmZpZyk8L2xpPjxsaT5gaW5zdGFsbGF0aW9uc2AgKGluc3RhbGxhdGlvbnMpPC9saT48L3VsPjxiPkV4YW1wbGUgcGF0dGVybnM6PC9iPjx1bD48bGk+YGNsYXNzZXMvQ2hhdE1lc3NhZ2VgIG1hdGNoZXMgb25seSBgY2xhc3Nlcy9DaGF0TWVzc2FnZWA8L2xpPjxsaT5gY2xhc3Nlcy9DaGF0LipgIG1hdGNoZXMgYGNsYXNzZXMvQ2hhdE1lc3NhZ2VgLCBgY2xhc3Nlcy9DaGF0Um9vbWAsIGV0Yy48L2xpPjxsaT5gZnVuY3Rpb25zLy4qYCBtYXRjaGVzIGFsbCBDbG91ZCBGdW5jdGlvbnM8L2xpPjwvdWw+U2V0dGluZyBhbiBlbXB0eSBhcnJheSBgW11gIGJsb2NrcyBhbGwgZXh0ZXJuYWwgbm9uLW1hc3Rlci1rZXkgUkVTVCBBUEkgcmVxdWVzdHMgKGZ1bGwgbG9ja2Rvd24gb2YgUkVTVCBBUEkgcm91dGVzKS48YnI+PGJyPldoZW4gc2V0dGluZyB0aGUgb3B0aW9uIHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIG5vdGF0aW9uIGlzIGEgY29tbWEtc2VwYXJhdGVkIHN0cmluZywgZm9yIGV4YW1wbGUgYFwiY2xhc3Nlcy9DaGF0TWVzc2FnZSx1c2VycyxmdW5jdGlvbnMvLipcImAuPGJyPjxicj5EZWZhdWx0cyB0byBgdW5kZWZpbmVkYCB3aGljaCBtZWFucyB0aGUgZmVhdHVyZSBpcyBpbmFjdGl2ZSBhbmQgYWxsIHJvdXRlcyBhcmUgYWNjZXNzaWJsZS48YnI+PGJyPjxiPk5vdGU6PC9iPiBGaWxlIHJvdXRlcyBhbmQgdGhlIEdyYXBoUUwgQVBJIGFyZSBub3QgY292ZXJlZCBieSB0aGlzIG9wdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgc2NoZWR1bGVkUHVzaDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TQ0hFRFVMRURfUFVTSCcsXG4gICAgaGVscDogJ0NvbmZpZ3VyYXRpb24gZm9yIHB1c2ggc2NoZWR1bGluZywgZGVmYXVsdHMgdG8gZmFsc2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgc2NoZW1hOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQScsXG4gICAgaGVscDogJ0RlZmluZWQgc2NoZW1hJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdTY2hlbWFPcHRpb25zJyxcbiAgfSxcbiAgc2VjdXJpdHk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VDVVJJVFknLFxuICAgIGhlbHA6ICdUaGUgc2VjdXJpdHkgb3B0aW9ucyB0byBpZGVudGlmeSBhbmQgcmVwb3J0IHdlYWsgc2VjdXJpdHkgc2V0dGluZ3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdTZWN1cml0eU9wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBzZW5kVXNlckVtYWlsVmVyaWZpY2F0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFTkRfVVNFUl9FTUFJTF9WRVJJRklDQVRJT04nLFxuICAgIGhlbHA6ICdTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHNlbmRpbmcgb2YgdmVyaWZpY2F0aW9uIGVtYWlsLiBTdXBwb3J0cyBhIGZ1bmN0aW9uIHdpdGggYSByZXR1cm4gdmFsdWUgb2YgYHRydWVgIG9yIGBmYWxzZWAgZm9yIGNvbmRpdGlvbmFsIGVtYWlsIHNlbmRpbmcuPGJyPjxicj5EZWZhdWx0IGlzIGB0cnVlYC48YnI+JyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhbk9yRnVuY3Rpb25QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgc2VydmVyQ2xvc2VDb21wbGV0ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRVJWRVJfQ0xPU0VfQ09NUExFVEUnLFxuICAgIGhlbHA6ICdDYWxsYmFjayB3aGVuIHNlcnZlciBoYXMgY2xvc2VkJyxcbiAgfSxcbiAgc2VydmVyVVJMOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1VSTCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gUGFyc2UgU2VydmVyLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgQ2VydGFpbiBzZXJ2ZXIgZmVhdHVyZXMgb3IgYWRhcHRlcnMgbWF5IHJlcXVpcmUgUGFyc2UgU2VydmVyIHRvIGJlIGFibGUgdG8gY2FsbCBpdHNlbGYgYnkgbWFraW5nIHJlcXVlc3RzIHRvIHRoZSBVUkwgc2V0IGluIGBzZXJ2ZXJVUkxgLiBJZiBhIGZlYXR1cmUgcmVxdWlyZXMgdGhpcywgaXQgaXMgbWVudGlvbmVkIGluIHRoZSBkb2N1bWVudGF0aW9uLiBJbiB0aGF0IGNhc2UgZW5zdXJlIHRoYXQgdGhlIFVSTCBpcyBhY2Nlc3NpYmxlIGZyb20gdGhlIHNlcnZlciBpdHNlbGYuJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgc2Vzc2lvbkxlbmd0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRVNTSU9OX0xFTkdUSCcsXG4gICAgaGVscDogJ1Nlc3Npb24gZHVyYXRpb24sIGluIHNlY29uZHMsIGRlZmF1bHRzIHRvIDEgeWVhcicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc2Vzc2lvbkxlbmd0aCcpLFxuICAgIGRlZmF1bHQ6IDMxNTM2MDAwLFxuICB9LFxuICBzaWxlbnQ6IHtcbiAgICBlbnY6ICdTSUxFTlQnLFxuICAgIGhlbHA6ICdEaXNhYmxlcyBjb25zb2xlIG91dHB1dCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHN0YXJ0TGl2ZVF1ZXJ5U2VydmVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NUQVJUX0xJVkVfUVVFUllfU0VSVkVSJyxcbiAgICBoZWxwOiAnU3RhcnRzIHRoZSBsaXZlUXVlcnkgc2VydmVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdHJ1c3RQcm94eToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9UUlVTVF9QUk9YWScsXG4gICAgaGVscDogJ1RoZSB0cnVzdCBwcm94eSBzZXR0aW5ncy4gSXQgaXMgaW1wb3J0YW50IHRvIHVuZGVyc3RhbmQgdGhlIGV4YWN0IHNldHVwIG9mIHRoZSByZXZlcnNlIHByb3h5LCBzaW5jZSB0aGlzIHNldHRpbmcgd2lsbCB0cnVzdCB2YWx1ZXMgcHJvdmlkZWQgaW4gdGhlIFBhcnNlIFNlcnZlciBBUEkgcmVxdWVzdC4gU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly9leHByZXNzanMuY29tL2VuL2d1aWRlL2JlaGluZC1wcm94aWVzLmh0bWxcIj5leHByZXNzIHRydXN0IHByb3h5IHNldHRpbmdzPC9hPiBkb2N1bWVudGF0aW9uLiBEZWZhdWx0cyB0byBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiBbXSxcbiAgfSxcbiAgdXNlclNlbnNpdGl2ZUZpZWxkczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9VU0VSX1NFTlNJVElWRV9GSUVMRFMnLFxuICAgIGhlbHA6ICdQZXJzb25hbGx5IGlkZW50aWZpYWJsZSBpbmZvcm1hdGlvbiBmaWVsZHMgaW4gdGhlIHVzZXIgdGFibGUgdGhlIHNob3VsZCBiZSByZW1vdmVkIGZvciBub24tYXV0aG9yaXplZCB1c2Vycy4gRGVwcmVjYXRlZCBAc2VlIHByb3RlY3RlZEZpZWxkcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICB2ZXJib3NlOiB7XG4gICAgZW52OiAnVkVSQk9TRScsXG4gICAgaGVscDogJ1NldCB0aGUgbG9nZ2luZyB0byB2ZXJib3NlJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdmVyaWZ5U2VydmVyVXJsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1ZFUklGWV9TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnUGFyc2UgU2VydmVyIG1ha2VzIGEgSFRUUCByZXF1ZXN0IHRvIHRoZSBVUkwgc2V0IGluIGBzZXJ2ZXJVUkxgIGF0IHRoZSBlbmQgb2YgaXRzIGxhdW5jaCByb3V0aW5lIHRvIHZlcmlmeSB0aGF0IHRoZSBsYXVuY2ggc3VjY2VlZGVkLiBJZiB0aGlzIG9wdGlvbiBpcyBzZXQgdG8gYGZhbHNlYCwgdGhlIHZlcmlmaWNhdGlvbiB3aWxsIGJlIHNraXBwZWQuIFRoaXMgY2FuIGJlIHVzZWZ1bCBpbiBlbnZpcm9ubWVudHMgd2hlcmUgdGhlIHNlcnZlciBVUkwgaXMgbm90IGFjY2Vzc2libGUgZnJvbSB0aGUgc2VydmVyIGl0c2VsZiwgc3VjaCBhcyB3aGVuIHJ1bm5pbmcgYmVoaW5kIGEgZmlyZXdhbGwgb3IgaW4gY2VydGFpbiBjb250YWluZXJpemVkIGVudmlyb25tZW50cy48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIFNlcnZlciBVUkwgdmVyaWZpY2F0aW9uIHJlcXVpcmVzIFBhcnNlIFNlcnZlciB0byBiZSBhYmxlIHRvIGNhbGwgaXRzZWxmIGJ5IG1ha2luZyByZXF1ZXN0cyB0byB0aGUgVVJMIHNldCBpbiBgc2VydmVyVVJMYC48YnI+PGJyPkRlZmF1bHQgaXMgYHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgdmVyaWZ5VXNlckVtYWlsczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9WRVJJRllfVVNFUl9FTUFJTFMnLFxuICAgIGhlbHA6IFwiU2V0IHRvIGB0cnVlYCB0byByZXF1aXJlIHVzZXJzIHRvIHZlcmlmeSB0aGVpciBlbWFpbCBhZGRyZXNzIHRvIGNvbXBsZXRlIHRoZSBzaWduLXVwIHByb2Nlc3MuIFN1cHBvcnRzIGEgZnVuY3Rpb24gd2l0aCBhIHJldHVybiB2YWx1ZSBvZiBgdHJ1ZWAgb3IgYGZhbHNlYCBmb3IgY29uZGl0aW9uYWwgdmVyaWZpY2F0aW9uLiBUaGUgZnVuY3Rpb24gcmVjZWl2ZXMgYSByZXF1ZXN0IG9iamVjdCB0aGF0IGluY2x1ZGVzIGBjcmVhdGVkV2l0aGAgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgaW52b2NhdGlvbiBpcyBmb3IgYHNpZ251cGAgb3IgYGxvZ2luYCBhbmQgdGhlIHVzZWQgYXV0aCBwcm92aWRlci48YnI+PGJyPlRoZSBgY3JlYXRlZFdpdGhgIHZhbHVlcyBwZXIgc2NlbmFyaW86PHVsPjxsaT5QYXNzd29yZCBzaWdudXA6IGB7IGFjdGlvbjogJ3NpZ251cCcsIGF1dGhQcm92aWRlcjogJ3Bhc3N3b3JkJyB9YDwvbGk+PGxpPkF1dGggcHJvdmlkZXIgc2lnbnVwOiBgeyBhY3Rpb246ICdzaWdudXAnLCBhdXRoUHJvdmlkZXI6ICc8cHJvdmlkZXI+JyB9YDwvbGk+PGxpPlBhc3N3b3JkIGxvZ2luOiBgeyBhY3Rpb246ICdsb2dpbicsIGF1dGhQcm92aWRlcjogJ3Bhc3N3b3JkJyB9YDwvbGk+PGxpPkF1dGggcHJvdmlkZXIgbG9naW46IGZ1bmN0aW9uIG5vdCBpbnZva2VkOyBhdXRoIHByb3ZpZGVyIGxvZ2luIGJ5cGFzc2VzIGVtYWlsIHZlcmlmaWNhdGlvbjwvbGk+PGxpPlJlc2VuZCB2ZXJpZmljYXRpb24gZW1haWw6IGBjcmVhdGVkV2l0aGAgaXMgYHVuZGVmaW5lZGA7IHVzZSB0aGUgYHJlc2VuZFJlcXVlc3RgIHByb3BlcnR5IHRvIGlkZW50aWZ5IHRob3NlPC9saT48L3VsPkRlZmF1bHQgaXMgYGZhbHNlYC5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhbk9yRnVuY3Rpb25QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHdlYmhvb2tLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfV0VCSE9PS19LRVknLFxuICAgIGhlbHA6ICdLZXkgc2VudCB3aXRoIG91dGdvaW5nIHdlYmhvb2sgY2FsbHMnLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlJhdGVMaW1pdE9wdGlvbnMgPSB7XG4gIGVycm9yUmVzcG9uc2VNZXNzYWdlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVRfRVJST1JfUkVTUE9OU0VfTUVTU0FHRScsXG4gICAgaGVscDogJ1RoZSBlcnJvciBtZXNzYWdlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkIGluIHRoZSBib2R5IG9mIHRoZSBIVFRQIDQyOSByZXNwb25zZSB3aGVuIHRoZSByYXRlIGxpbWl0IGlzIGhpdC4gRGVmYXVsdCBpcyBgVG9vIG1hbnkgcmVxdWVzdHMuYC4nLFxuICAgIGRlZmF1bHQ6ICdUb28gbWFueSByZXF1ZXN0cy4nLFxuICB9LFxuICBpbmNsdWRlSW50ZXJuYWxSZXF1ZXN0czoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX0lOQ0xVREVfSU5URVJOQUxfUkVRVUVTVFMnLFxuICAgIGhlbHA6ICdPcHRpb25hbCwgaWYgYHRydWVgIHRoZSByYXRlIGxpbWl0IHdpbGwgYWxzbyBhcHBseSB0byByZXF1ZXN0cyB0aGF0IGFyZSBtYWRlIGluIGJ5IENsb3VkIENvZGUsIGRlZmF1bHQgaXMgYGZhbHNlYC4gTm90ZSB0aGF0IGEgcHVibGljIENsb3VkIENvZGUgZnVuY3Rpb24gdGhhdCB0cmlnZ2VycyBpbnRlcm5hbCByZXF1ZXN0cyBtYXkgY2lyY3VtdmVudCByYXRlIGxpbWl0aW5nIGFuZCBiZSB2dWxuZXJhYmxlIHRvIGF0dGFja3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgaW5jbHVkZU1hc3RlcktleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX0lOQ0xVREVfTUFTVEVSX0tFWScsXG4gICAgaGVscDogJ09wdGlvbmFsLCBpZiBgdHJ1ZWAgdGhlIHJhdGUgbGltaXQgd2lsbCBhbHNvIGFwcGx5IHRvIHJlcXVlc3RzIHVzaW5nIHRoZSBgbWFzdGVyS2V5YCwgZGVmYXVsdCBpcyBgZmFsc2VgLiBOb3RlIHRoYXQgYSBwdWJsaWMgQ2xvdWQgQ29kZSBmdW5jdGlvbiB0aGF0IHRyaWdnZXJzIGludGVybmFsIHJlcXVlc3RzIHVzaW5nIHRoZSBgbWFzdGVyS2V5YCBtYXkgY2lyY3VtdmVudCByYXRlIGxpbWl0aW5nIGFuZCBiZSB2dWxuZXJhYmxlIHRvIGF0dGFja3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcmVkaXNVcmw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9SRURJU19VUkwnLFxuICAgIGhlbHA6ICdPcHRpb25hbCwgdGhlIFVSTCBvZiB0aGUgUmVkaXMgc2VydmVyIHRvIHN0b3JlIHJhdGUgbGltaXQgZGF0YS4gVGhpcyBhbGxvd3MgdG8gcmF0ZSBsaW1pdCByZXF1ZXN0cyBmb3IgbXVsdGlwbGUgc2VydmVycyBieSBjYWxjdWxhdGluZyB0aGUgc3VtIG9mIGFsbCByZXF1ZXN0cyBhY3Jvc3MgYWxsIHNlcnZlcnMuIFRoaXMgaXMgdXNlZnVsIGlmIG11bHRpcGxlIHNlcnZlcnMgYXJlIHByb2Nlc3NpbmcgcmVxdWVzdHMgYmVoaW5kIGEgbG9hZCBiYWxhbmNlci4gRm9yIGV4YW1wbGUsIHRoZSBsaW1pdCBvZiAxMCByZXF1ZXN0cyBpcyByZWFjaGVkIGlmIGVhY2ggb2YgMiBzZXJ2ZXJzIHByb2Nlc3NlZCA1IHJlcXVlc3RzLicsXG4gIH0sXG4gIHJlcXVlc3RDb3VudDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFUVVFU1RfQ09VTlQnLFxuICAgIGhlbHA6ICdUaGUgbnVtYmVyIG9mIHJlcXVlc3RzIHRoYXQgY2FuIGJlIG1hZGUgcGVyIElQIGFkZHJlc3Mgd2l0aGluIHRoZSB0aW1lIHdpbmRvdyBzZXQgaW4gYHJlcXVlc3RUaW1lV2luZG93YCBiZWZvcmUgdGhlIHJhdGUgbGltaXQgaXMgYXBwbGllZC4gRm9yIGJhdGNoIHJlcXVlc3RzLCB0aGlzIGFsc28gbGltaXRzIHRoZSBudW1iZXIgb2Ygc3ViLXJlcXVlc3RzIGluIGEgc2luZ2xlIGJhdGNoIHRoYXQgdGFyZ2V0IHRoaXMgcGF0aDsgaG93ZXZlciwgcmVxdWVzdHMgYWxyZWFkeSBjb25zdW1lZCBpbiB0aGUgY3VycmVudCB0aW1lIHdpbmRvdyBhcmUgbm90IGNvdW50ZWQgYWdhaW5zdCB0aGUgYmF0Y2gsIHNvIHRoZSBlZmZlY3RpdmUgbGltaXQgbWF5IGJlIGhpZ2hlciB3aGVuIGNvbWJpbmluZyBpbmRpdmlkdWFsIGFuZCBiYXRjaCByZXF1ZXN0cy4gTm90ZSB0aGF0IHRoaXMgaXMgYSBiYXNpYyBzZXJ2ZXItbGV2ZWwgcmF0ZSBsaW1pdDsgZm9yIGNvbXByZWhlbnNpdmUgcHJvdGVjdGlvbiwgdXNlIGEgcmV2ZXJzZSBwcm94eSBvciBXQUYgZm9yIHJhdGUgbGltaXRpbmcuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdyZXF1ZXN0Q291bnQnKSxcbiAgfSxcbiAgcmVxdWVzdE1ldGhvZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9SRVFVRVNUX01FVEhPRFMnLFxuICAgIGhlbHA6ICdPcHRpb25hbCwgdGhlIEhUVFAgcmVxdWVzdCBtZXRob2RzIHRvIHdoaWNoIHRoZSByYXRlIGxpbWl0IHNob3VsZCBiZSBhcHBsaWVkLCBkZWZhdWx0IGlzIGFsbCBtZXRob2RzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICByZXF1ZXN0UGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFUVVFU1RfUEFUSCcsXG4gICAgaGVscDogJ1RoZSBwYXRoIG9mIHRoZSBBUEkgcm91dGUgdG8gYmUgcmF0ZSBsaW1pdGVkLiBSb3V0ZSBwYXRocywgaW4gY29tYmluYXRpb24gd2l0aCBhIHJlcXVlc3QgbWV0aG9kLCBkZWZpbmUgdGhlIGVuZHBvaW50cyBhdCB3aGljaCByZXF1ZXN0cyBjYW4gYmUgbWFkZS4gUm91dGUgcGF0aHMgY2FuIGJlIHN0cmluZ3Mgb3Igc3RyaW5nIHBhdHRlcm5zIGZvbGxvd2luZyA8YSBocmVmPVwiaHR0cHM6Ly9naXRodWIuY29tL3BpbGxhcmpzL3BhdGgtdG8tcmVnZXhwXCI+cGF0aC10by1yZWdleHAgdjg8L2E+IHN5bnRheC4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICByZXF1ZXN0VGltZVdpbmRvdzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFUVVFU1RfVElNRV9XSU5ET1cnLFxuICAgIGhlbHA6ICdUaGUgd2luZG93IG9mIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHdpdGhpbiB3aGljaCB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIHNldCBpbiBgcmVxdWVzdENvdW50YCBjYW4gYmUgbWFkZSBiZWZvcmUgdGhlIHJhdGUgbGltaXQgaXMgYXBwbGllZC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3JlcXVlc3RUaW1lV2luZG93JyksXG4gIH0sXG4gIHpvbmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9aT05FJyxcbiAgICBoZWxwOiAnVGhlIHR5cGUgb2YgcmF0ZSBsaW1pdCB0byBhcHBseS4gVGhlIGZvbGxvd2luZyB0eXBlcyBhcmUgc3VwcG9ydGVkOjx1bD48bGk+YGdsb2JhbGA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIG51bWJlciBvZiByZXF1ZXN0cyBtYWRlIGJ5IGFsbCB1c2VyczwvbGk+PGxpPmBpcGA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIElQIGFkZHJlc3Mgb2YgdGhlIHJlcXVlc3Q8L2xpPjxsaT5gdXNlcmA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIHVzZXIgSUQgb2YgdGhlIHJlcXVlc3Q8L2xpPjxsaT5gc2Vzc2lvbmA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIHNlc3Npb24gdG9rZW4gb2YgdGhlIHJlcXVlc3Q8L2xpPjwvdWw+RGVmYXVsdCBpcyBgaXBgLicsXG4gICAgZGVmYXVsdDogJ2lwJyxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5SZXF1ZXN0Q29tcGxleGl0eU9wdGlvbnMgPSB7XG4gIGFsbG93UmVnZXg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZX0FMTE9XX1JFR0VYJyxcbiAgICBoZWxwOiAnV2hldGhlciB0byBhbGxvdyB0aGUgYCRyZWdleGAgcXVlcnkgb3BlcmF0b3IuIFNldCB0byBgZmFsc2VgIHRvIHJlamVjdCBgJHJlZ2V4YCBpbiBxdWVyaWVzIGZvciBub24tbWFzdGVyLWtleSB1c2Vycy4gRGVmYXVsdCBpcyBgdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBiYXRjaFJlcXVlc3RMaW1pdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFlfQkFUQ0hfUkVRVUVTVF9MSU1JVCcsXG4gICAgaGVscDogJ01heGltdW0gbnVtYmVyIG9mIHN1Yi1yZXF1ZXN0cyBpbiBhIHNpbmdsZSBiYXRjaCByZXF1ZXN0LiBTZXQgdG8gYC0xYCB0byBkaXNhYmxlLiBEZWZhdWx0IGlzIGAtMWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdiYXRjaFJlcXVlc3RMaW1pdCcpLFxuICAgIGRlZmF1bHQ6IC0xLFxuICB9LFxuICBncmFwaFFMRGVwdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZX0dSQVBIUUxfREVQVEgnLFxuICAgIGhlbHA6ICdNYXhpbXVtIGRlcHRoIG9mIEdyYXBoUUwgZmllbGQgc2VsZWN0aW9ucy4gU2V0IHRvIGAtMWAgdG8gZGlzYWJsZS4gRGVmYXVsdCBpcyBgLTFgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignZ3JhcGhRTERlcHRoJyksXG4gICAgZGVmYXVsdDogLTEsXG4gIH0sXG4gIGdyYXBoUUxGaWVsZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZX0dSQVBIUUxfRklFTERTJyxcbiAgICBoZWxwOiAnTWF4aW11bSBudW1iZXIgb2YgZmllbGQgc2VsZWN0aW9ucyBpbiBhIEdyYXBoUUwgcXVlcnkuIFNldCB0byBgLTFgIHRvIGRpc2FibGUuIERlZmF1bHQgaXMgYC0xYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2dyYXBoUUxGaWVsZHMnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbiAgaW5jbHVkZUNvdW50OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09NUExFWElUWV9JTkNMVURFX0NPVU5UJyxcbiAgICBoZWxwOiAnTWF4aW11bSBudW1iZXIgb2YgaW5jbHVkZSBwYXRocyBpbiBhIHNpbmdsZSBxdWVyeS4gU2V0IHRvIGAtMWAgdG8gZGlzYWJsZS4gRGVmYXVsdCBpcyBgLTFgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignaW5jbHVkZUNvdW50JyksXG4gICAgZGVmYXVsdDogLTEsXG4gIH0sXG4gIGluY2x1ZGVEZXB0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFlfSU5DTFVERV9ERVBUSCcsXG4gICAgaGVscDogJ01heGltdW0gZGVwdGggb2YgaW5jbHVkZSBwb2ludGVyIGNoYWlucyAoZS5nLiBgYS5iLmNgID0gZGVwdGggMykuIFNldCB0byBgLTFgIHRvIGRpc2FibGUuIERlZmF1bHQgaXMgYC0xYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2luY2x1ZGVEZXB0aCcpLFxuICAgIGRlZmF1bHQ6IC0xLFxuICB9LFxuICBxdWVyeURlcHRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09NUExFWElUWV9RVUVSWV9ERVBUSCcsXG4gICAgaGVscDogJ01heGltdW0gbmVzdGluZyBkZXB0aCBvZiBgJG9yYCwgYCRhbmRgLCBgJG5vcmAgcXVlcnkgb3BlcmF0b3JzLiBTZXQgdG8gYC0xYCB0byBkaXNhYmxlLiBEZWZhdWx0IGlzIGAtMWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdxdWVyeURlcHRoJyksXG4gICAgZGVmYXVsdDogLTEsXG4gIH0sXG4gIHN1YnF1ZXJ5RGVwdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZX1NVQlFVRVJZX0RFUFRIJyxcbiAgICBoZWxwOiAnTWF4aW11bSBuZXN0aW5nIGRlcHRoIG9mIGAkaW5RdWVyeWAsIGAkbm90SW5RdWVyeWAsIGAkc2VsZWN0YCwgYCRkb250U2VsZWN0YCBzdWJxdWVyaWVzLiBTZXQgdG8gYC0xYCB0byBkaXNhYmxlLiBEZWZhdWx0IGlzIGAtMWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdzdWJxdWVyeURlcHRoJyksXG4gICAgZGVmYXVsdDogLTEsXG4gIH0sXG4gIHN1YnF1ZXJ5TGltaXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZX1NVQlFVRVJZX0xJTUlUJyxcbiAgICBoZWxwOiAnTWF4aW11bSBudW1iZXIgb2YgcmVzdWx0cyByZXR1cm5lZCBieSBhIGAkaW5RdWVyeWAsIGAkbm90SW5RdWVyeWAsIGAkc2VsZWN0YCwgYCRkb250U2VsZWN0YCBzdWJxdWVyeS4gU2V0IHRvIGAtMWAgdG8gZGlzYWJsZS4gRGVmYXVsdCBpcyBgLTFgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc3VicXVlcnlMaW1pdCcpLFxuICAgIGRlZmF1bHQ6IC0xLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkluc3RhbGxhdGlvbk9wdGlvbnMgPSB7XG4gIGR1cGxpY2F0ZURldmljZVRva2VuQWN0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0lOU1RBTExBVElPTl9EVVBMSUNBVEVfREVWSUNFX1RPS0VOX0FDVElPTicsXG4gICAgaGVscDogXCJXaGF0IFBhcnNlIFNlcnZlciBkb2VzIHRvIHRoZSBjb25mbGljdGluZyBgX0luc3RhbGxhdGlvbmAgcm93KHMpIHdoZW4gYSBuZXcgaW5zdGFsbCdzIGBkZXZpY2VUb2tlbmAgY29sbGlkZXMgd2l0aCBhbiBleGlzdGluZyByb3cuIGAnZGVsZXRlJ2AgZGVzdHJveXMgdGhlIGNvbmZsaWN0aW5nIHJvdy4gYCd1cGRhdGUnYCBjbGVhcnMgdGhlIG5vdy1jb25mbGljdGluZyBJRCBmaWVsZCBvbiB0aGUgY29uZmxpY3Rpbmcgcm93LCBwcmVzZXJ2aW5nIGN1c3RvbSBmaWVsZHMsIGNoYW5uZWxzLCBhbmQgaGlzdG9yeS4gRGVmYXVsdCBpcyBgJ2RlbGV0ZSdgLlwiLFxuICAgIGRlZmF1bHQ6ICdkZWxldGUnLFxuICB9LFxuICBkdXBsaWNhdGVEZXZpY2VUb2tlbkFjdGlvbkVuZm9yY2VBdXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0lOU1RBTExBVElPTl9EVVBMSUNBVEVfREVWSUNFX1RPS0VOX0FDVElPTl9FTkZPUkNFX0FVVEgnLFxuICAgIGhlbHA6IFwiV2hldGhlciB0aGUgYF9JbnN0YWxsYXRpb25gIGRlZHVwbGljYXRpb24gb3BlcmF0aW9uIGVuZm9yY2VzIHRoZSBjYWxsZXIncyBhdXRoIGNvbnRleHQgKGFuZCB0aGUgcmVzdWx0aW5nIEFDTCBhbmQgQ0xQKS4gV2hlbiBgdHJ1ZWAsIHRoZSBkZWR1cCBgZGVzdHJveWAvYHVwZGF0ZWAgcnVucyB3aXRoIHRoZSBjYWxsZXIncyBgcnVuT3B0aW9uc2AsIHNvIEFDTCBhbmQgQ0xQIGFyZSBob25vcmVkLiBXaGVuIGBmYWxzZWAsIHRoZSBkZWR1cCBydW5zIGFzIG1hc3RlciBhbmQgYnlwYXNzZXMgYm90aC4gTWFzdGVyIGFuZCBtYWludGVuYW5jZSBrZXlzIGFsd2F5cyBieXBhc3MgcmVnYXJkbGVzcyBvZiB0aGlzIGZsYWcuIERlZmF1bHQgaXMgYGZhbHNlYC5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZHVwbGljYXRlRGV2aWNlVG9rZW5NZXJnZVByaW9yaXR5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0lOU1RBTExBVElPTl9EVVBMSUNBVEVfREVWSUNFX1RPS0VOX01FUkdFX1BSSU9SSVRZJyxcbiAgICBoZWxwOiBcIkF0IHRoZSBtZXJnZSBjYXNlICh3aGVuIGFuIGV4aXN0aW5nIHJvdyBob2xkcyB0aGUgbmV3IGBkZXZpY2VUb2tlbmAgYnV0IGhhcyBubyBgaW5zdGFsbGF0aW9uSWRgIG9mIGl0cyBvd24pLCB3aGljaCBzaWRlIHdpbnMuIGAnZGV2aWNlVG9rZW4nYCBcXHUyMDE0IHRoZSBkZXZpY2VUb2tlbi1vbmx5IHJvdyBzdXJ2aXZlcywgdGhlIHJlcXVlc3QncyBgaWRNYXRjaGAgcm93IGlzIHRoZSBsb3Nlci4gYCdpbnN0YWxsYXRpb25JZCdgIFxcdTIwMTQgdGhlIHJlcXVlc3QncyBgaWRNYXRjaGAgKGFjdGl2ZSBpbnN0YWxsKSBzdXJ2aXZlcywgdGhlIGRldmljZVRva2VuLW9ubHkgb3JwaGFuIGlzIHRoZSBsb3Nlci4gRGVmYXVsdCBpcyBgJ2RldmljZVRva2VuJ2AuXCIsXG4gICAgZGVmYXVsdDogJ2RldmljZVRva2VuJyxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5TZWN1cml0eU9wdGlvbnMgPSB7XG4gIGNoZWNrR3JvdXBzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFQ1VSSVRZX0NIRUNLX0dST1VQUycsXG4gICAgaGVscDogJ1RoZSBzZWN1cml0eSBjaGVjayBncm91cHMgdG8gcnVuLiBUaGlzIGFsbG93cyB0byBhZGQgY3VzdG9tIHNlY3VyaXR5IGNoZWNrcyBvciBvdmVycmlkZSBleGlzdGluZyBvbmVzLiBEZWZhdWx0IGFyZSB0aGUgZ3JvdXBzIGRlZmluZWQgaW4gYENoZWNrR3JvdXBzLmpzYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgZW5hYmxlQ2hlY2s6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VDVVJJVFlfRU5BQkxFX0NIRUNLJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBQYXJzZSBTZXJ2ZXIgc2hvdWxkIGNoZWNrIGZvciB3ZWFrIHNlY3VyaXR5IHNldHRpbmdzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVuYWJsZUNoZWNrTG9nOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFQ1VSSVRZX0VOQUJMRV9DSEVDS19MT0cnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIHRoZSBzZWN1cml0eSBjaGVjayByZXBvcnQgc2hvdWxkIGJlIHdyaXR0ZW4gdG8gbG9ncy4gVGhpcyBzaG91bGQgb25seSBiZSBlbmFibGVkIHRlbXBvcmFyaWx5IHRvIG5vdCBleHBvc2Ugd2VhayBzZWN1cml0eSBzZXR0aW5ncyBpbiBsb2dzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUXVlcnlTZXJ2ZXJPcHRpb25zID0ge1xuICBhZ2dyZWdhdGlvblJhd0ZpZWxkTmFtZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUVVFUllfQUdHUkVHQVRJT05fUkFXX0ZJRUxEX05BTUVTJyxcbiAgICBoZWxwOiAnV2hlbiBgdHJ1ZWAsIGFsbCBhZ2dyZWdhdGlvbiBxdWVyaWVzIGRlZmF1bHQgdG8gdXNpbmcgbmF0aXZlIE1vbmdvREIgZmllbGQgbmFtZXMgKG5vIGF1dG9tYXRpYyBgY3JlYXRlZEF0YCBcXHUyMTkyIGBfY3JlYXRlZF9hdGAgcmV3cml0aW5nKS4gSW5kaXZpZHVhbCBxdWVyaWVzIGNhbiBzdGlsbCBvdmVycmlkZSB0aGlzIHZpYSB0aGUgYHJhd0ZpZWxkTmFtZXNgIG9wdGlvbi4gRGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGFnZ3JlZ2F0aW9uUmF3VmFsdWVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1FVRVJZX0FHR1JFR0FUSU9OX1JBV19WQUxVRVMnLFxuICAgIGhlbHA6ICdXaGVuIGB0cnVlYCwgYWxsIGFnZ3JlZ2F0aW9uIHF1ZXJpZXMgZGVmYXVsdCB0byB1c2luZyBNb25nb0RCIEV4dGVuZGVkIEpTT04gKEVKU09OKSBmb3IgZXhwbGljaXQgdmFsdWUgdHlwaW5nIGFuZCBza2lwIHNjaGVtYS1iYXNlZCB2YWx1ZSBjb2VyY2lvbi4gSW5kaXZpZHVhbCBxdWVyaWVzIGNhbiBzdGlsbCBvdmVycmlkZSB0aGlzIHZpYSB0aGUgYHJhd1ZhbHVlc2Agb3B0aW9uLiBEZWZhdWx0IGlzIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5QYWdlc09wdGlvbnMgPSB7XG4gIGN1c3RvbVJvdXRlczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fUk9VVEVTJyxcbiAgICBoZWxwOiAnVGhlIGN1c3RvbSByb3V0ZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgdHlwZTogJ1BhZ2VzUm91dGVbXScsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIGN1c3RvbVVybHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTFMnLFxuICAgIGhlbHA6ICdUaGUgVVJMcyB0byB0aGUgY3VzdG9tIHBhZ2VzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnUGFnZXNDdXN0b21VcmxzT3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGVuYWJsZUxvY2FsaXphdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19FTkFCTEVfTE9DQUxJWkFUSU9OJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBwYWdlcyBzaG91bGQgYmUgbG9jYWxpemVkOyB0aGlzIGhhcyBubyBlZmZlY3Qgb24gY3VzdG9tIHBhZ2UgcmVkaXJlY3RzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVuY29kZVBhZ2VQYXJhbUhlYWRlcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfRU5DT0RFX1BBR0VfUEFSQU1fSEVBREVSUycsXG4gICAgaGVscDogJ0lzIGB0cnVlYCBpZiB0aGUgcGFnZSBwYXJhbWV0ZXIgaGVhZGVycyBzaG91bGQgYmUgVVJJLWVuY29kZWQuIFRoaXMgaXMgcmVxdWlyZWQgaWYgYW55IHBhZ2UgcGFyYW1ldGVyIHZhbHVlIGNvbnRhaW5zIG5vbi1BU0NJSSBjaGFyYWN0ZXJzLCBzdWNoIGFzIHRoZSBhcHAgbmFtZS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBmb3JjZVJlZGlyZWN0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0ZPUkNFX1JFRElSRUNUJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiByZXNwb25zZXMgc2hvdWxkIGFsd2F5cyBiZSByZWRpcmVjdHMgYW5kIG5ldmVyIGNvbnRlbnQsIGZhbHNlIGlmIHRoZSByZXNwb25zZSB0eXBlIHNob3VsZCBkZXBlbmQgb24gdGhlIHJlcXVlc3QgdHlwZSAoR0VUIHJlcXVlc3QgLT4gY29udGVudCByZXNwb25zZTsgUE9TVCByZXF1ZXN0IC0+IHJlZGlyZWN0IHJlc3BvbnNlKS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBsb2NhbGl6YXRpb25GYWxsYmFja0xvY2FsZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19MT0NBTElaQVRJT05fRkFMTEJBQ0tfTE9DQUxFJyxcbiAgICBoZWxwOiAnVGhlIGZhbGxiYWNrIGxvY2FsZSBmb3IgbG9jYWxpemF0aW9uIGlmIG5vIG1hdGNoaW5nIHRyYW5zbGF0aW9uIGlzIHByb3ZpZGVkIGZvciB0aGUgZ2l2ZW4gbG9jYWxlLiBUaGlzIGlzIG9ubHkgcmVsZXZhbnQgd2hlbiBwcm92aWRpbmcgdHJhbnNsYXRpb24gcmVzb3VyY2VzIHZpYSBKU09OIGZpbGUuJyxcbiAgICBkZWZhdWx0OiAnZW4nLFxuICB9LFxuICBsb2NhbGl6YXRpb25Kc29uUGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19MT0NBTElaQVRJT05fSlNPTl9QQVRIJyxcbiAgICBoZWxwOiAnVGhlIHBhdGggdG8gdGhlIEpTT04gZmlsZSBmb3IgbG9jYWxpemF0aW9uOyB0aGUgdHJhbnNsYXRpb25zIHdpbGwgYmUgdXNlZCB0byBmaWxsIHRlbXBsYXRlIHBsYWNlaG9sZGVycyBhY2NvcmRpbmcgdG8gdGhlIGxvY2FsZS4nLFxuICB9LFxuICBwYWdlc0VuZHBvaW50OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1BBR0VTX0VORFBPSU5UJyxcbiAgICBoZWxwOiBcIlRoZSBBUEkgZW5kcG9pbnQgZm9yIHRoZSBwYWdlcy4gRGVmYXVsdCBpcyAnYXBwcycuXCIsXG4gICAgZGVmYXVsdDogJ2FwcHMnLFxuICB9LFxuICBwYWdlc1BhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUEFHRVNfUEFUSCcsXG4gICAgaGVscDogXCJUaGUgcGF0aCB0byB0aGUgcGFnZXMgZGlyZWN0b3J5OyB0aGlzIGFsc28gZGVmaW5lcyB3aGVyZSB0aGUgc3RhdGljIGVuZHBvaW50ICcvYXBwcycgcG9pbnRzIHRvLiBEZWZhdWx0IGlzIHRoZSAnLi9wdWJsaWMvJyBkaXJlY3Rvcnkgb2YgdGhlIHBhcnNlLXNlcnZlciBtb2R1bGUuXCIsXG4gIH0sXG4gIHBsYWNlaG9sZGVyczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19QTEFDRUhPTERFUlMnLFxuICAgIGhlbHA6ICdUaGUgcGxhY2Vob2xkZXIga2V5cyBhbmQgdmFsdWVzIHdoaWNoIHdpbGwgYmUgZmlsbGVkIGluIHBhZ2VzOyB0aGlzIGNhbiBiZSBhIHNpbXBsZSBvYmplY3Qgb3IgYSBjYWxsYmFjayBmdW5jdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUGFnZXNSb3V0ZSA9IHtcbiAgaGFuZGxlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19ST1VURV9IQU5ETEVSJyxcbiAgICBoZWxwOiAnVGhlIHJvdXRlIGhhbmRsZXIgdGhhdCBpcyBhbiBhc3luYyBmdW5jdGlvbi4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBtZXRob2Q6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUk9VVEVfTUVUSE9EJyxcbiAgICBoZWxwOiBcIlRoZSByb3V0ZSBtZXRob2QsIGUuZy4gJ0dFVCcgb3IgJ1BPU1QnLlwiLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBwYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1JPVVRFX1BBVEgnLFxuICAgIGhlbHA6ICdUaGUgcm91dGUgcGF0aC4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlBhZ2VzQ3VzdG9tVXJsc09wdGlvbnMgPSB7XG4gIGVtYWlsVmVyaWZpY2F0aW9uTGlua0V4cGlyZWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9FTUFJTF9WRVJJRklDQVRJT05fTElOS19FWFBJUkVEJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiBsaW5rIGV4cGlyZWQuJyxcbiAgfSxcbiAgZW1haWxWZXJpZmljYXRpb25MaW5rSW52YWxpZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9MSU5LX0lOVkFMSUQnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgZW1haWwgdmVyaWZpY2F0aW9uIC0+IGxpbmsgaW52YWxpZC4nLFxuICB9LFxuICBlbWFpbFZlcmlmaWNhdGlvblNlbmRGYWlsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfRU1BSUxfVkVSSUZJQ0FUSU9OX1NFTkRfRkFJTCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBlbWFpbCB2ZXJpZmljYXRpb24gLT4gbGluayBzZW5kIGZhaWwuJyxcbiAgfSxcbiAgZW1haWxWZXJpZmljYXRpb25TZW5kU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9TRU5EX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgZW1haWwgdmVyaWZpY2F0aW9uIC0+IHJlc2VuZCBsaW5rIC0+IHN1Y2Nlc3MuJyxcbiAgfSxcbiAgZW1haWxWZXJpZmljYXRpb25TdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfRU1BSUxfVkVSSUZJQ0FUSU9OX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgZW1haWwgdmVyaWZpY2F0aW9uIC0+IHN1Y2Nlc3MuJyxcbiAgfSxcbiAgcGFzc3dvcmRSZXNldDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX1BBU1NXT1JEX1JFU0VUJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIHBhc3N3b3JkIHJlc2V0LicsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXRMaW5rSW52YWxpZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX1BBU1NXT1JEX1JFU0VUX0xJTktfSU5WQUxJRCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBwYXNzd29yZCByZXNldCAtPiBsaW5rIGludmFsaWQuJyxcbiAgfSxcbiAgcGFzc3dvcmRSZXNldFN1Y2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9QQVNTV09SRF9SRVNFVF9TVUNDRVNTJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIHBhc3N3b3JkIHJlc2V0IC0+IHN1Y2Nlc3MuJyxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5DdXN0b21QYWdlc09wdGlvbnMgPSB7XG4gIGNob29zZVBhc3N3b3JkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19DSE9PU0VfUEFTU1dPUkQnLFxuICAgIGhlbHA6ICdjaG9vc2UgcGFzc3dvcmQgcGFnZSBwYXRoJyxcbiAgfSxcbiAgZXhwaXJlZFZlcmlmaWNhdGlvbkxpbms6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTX0VYUElSRURfVkVSSUZJQ0FUSU9OX0xJTksnLFxuICAgIGhlbHA6ICdleHBpcmVkIHZlcmlmaWNhdGlvbiBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGludmFsaWRMaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19JTlZBTElEX0xJTksnLFxuICAgIGhlbHA6ICdpbnZhbGlkIGxpbmsgcGFnZSBwYXRoJyxcbiAgfSxcbiAgaW52YWxpZFBhc3N3b3JkUmVzZXRMaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19JTlZBTElEX1BBU1NXT1JEX1JFU0VUX0xJTksnLFxuICAgIGhlbHA6ICdpbnZhbGlkIHBhc3N3b3JkIHJlc2V0IGxpbmsgcGFnZSBwYXRoJyxcbiAgfSxcbiAgaW52YWxpZFZlcmlmaWNhdGlvbkxpbms6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTX0lOVkFMSURfVkVSSUZJQ0FUSU9OX0xJTksnLFxuICAgIGhlbHA6ICdpbnZhbGlkIHZlcmlmaWNhdGlvbiBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGxpbmtTZW5kRmFpbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfTElOS19TRU5EX0ZBSUwnLFxuICAgIGhlbHA6ICd2ZXJpZmljYXRpb24gbGluayBzZW5kIGZhaWwgcGFnZSBwYXRoJyxcbiAgfSxcbiAgbGlua1NlbmRTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19MSU5LX1NFTkRfU1VDQ0VTUycsXG4gICAgaGVscDogJ3ZlcmlmaWNhdGlvbiBsaW5rIHNlbmQgc3VjY2VzcyBwYWdlIHBhdGgnLFxuICB9LFxuICBwYXJzZUZyYW1lVVJMOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19QQVJTRV9GUkFNRV9VUkwnLFxuICAgIGhlbHA6ICdmb3IgbWFza2luZyB1c2VyLWZhY2luZyBwYWdlcycsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXRTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19QQVNTV09SRF9SRVNFVF9TVUNDRVNTJyxcbiAgICBoZWxwOiAncGFzc3dvcmQgcmVzZXQgc3VjY2VzcyBwYWdlIHBhdGgnLFxuICB9LFxuICB2ZXJpZnlFbWFpbFN1Y2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTX1ZFUklGWV9FTUFJTF9TVUNDRVNTJyxcbiAgICBoZWxwOiAndmVyaWZ5IGVtYWlsIHN1Y2Nlc3MgcGFnZSBwYXRoJyxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5MaXZlUXVlcnlPcHRpb25zID0ge1xuICBjbGFzc05hbWVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9DTEFTU05BTUVTJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSBjbGFzc05hbWVzXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICBwdWJTdWJBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9QVUJfU1VCX0FEQVBURVInLFxuICAgIGhlbHA6ICdMaXZlUXVlcnkgcHVic3ViIGFkYXB0ZXInLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmVkaXNPcHRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9SRURJU19PUFRJT05TJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSByZWRpc09wdGlvbnNcIixcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICB9LFxuICByZWRpc1VSTDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfUkVESVNfVVJMJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSByZWRpc1VSTFwiLFxuICB9LFxuICByZWdleFRpbWVvdXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTElWRVFVRVJZX1JFR0VYX1RJTUVPVVQnLFxuICAgIGhlbHA6ICdTZXRzIHRoZSBtYXhpbXVtIGV4ZWN1dGlvbiB0aW1lIGluIG1pbGxpc2Vjb25kcyBmb3IgcmVndWxhciBleHByZXNzaW9uIHBhdHRlcm4gbWF0Y2hpbmcgaW4gTGl2ZVF1ZXJ5LiBUaGlzIHByb3RlY3RzIGFnYWluc3QgUmVndWxhciBFeHByZXNzaW9uIERlbmlhbCBvZiBTZXJ2aWNlIChSZURvUykgYXR0YWNrcyB3aGVyZSBhIG1hbGljaW91cyByZWdleCBwYXR0ZXJuIGNvdWxkIGJsb2NrIHRoZSBldmVudCBsb29wLiBBIHJlZ2V4IHRoYXQgZXhjZWVkcyB0aGUgdGltZW91dCB3aWxsIGJlIHRyZWF0ZWQgYXMgbm9uLW1hdGNoaW5nLjxicj48YnI+VGhlIHByb3RlY3Rpb24gcnVucyBlYWNoIHJlZ2V4IGV2YWx1YXRpb24gaW4gYW4gaXNvbGF0ZWQgVk0gY29udGV4dCB3aXRoIGEgdGltZW91dC4gVGhpcyBhZGRzIGFwcHJveGltYXRlbHkgNTAgbWljcm9zZWNvbmRzIG9mIG92ZXJoZWFkIHBlciByZWdleCBldmFsdWF0aW9uLiBGb3IgbW9zdCBhcHBsaWNhdGlvbnMgdGhpcyBpcyBuZWdsaWdpYmxlLCBidXQgaXQgY2FuIGFkZCB1cCBpZiB5b3UgaGF2ZSBhIHZlcnkgbGFyZ2UgbnVtYmVyIG9mIExpdmVRdWVyeSBzdWJzY3JpcHRpb25zIHRoYXQgdXNlIGAkcmVnZXhgIG9uIHRoZSBzYW1lIGNsYXNzLiBGb3IgZXhhbXBsZSwgMTAsMDAwIGNvbmN1cnJlbnQgcmVnZXggc3Vic2NyaXB0aW9ucyB3b3VsZCBhZGQgYXBwcm94aW1hdGVseSA1MDBtcyBvZiBwcm9jZXNzaW5nIHRpbWUgcGVyIG9iamVjdCBzYXZlIGV2ZW50IG9uIHRoYXQgY2xhc3MuPGJyPjxicj5TZXQgdG8gYDBgIHRvIGRpc2FibGUgdGhlIHRpbWVvdXQgYW5kIHVzZSBuYXRpdmUgcmVnZXggZXZhbHVhdGlvbiB3aXRob3V0IHByb3RlY3Rpb24uIERlZmF1bHRzIHRvIGAxMDBgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigncmVnZXhUaW1lb3V0JyksXG4gICAgZGVmYXVsdDogMTAwLFxuICB9LFxuICB3c3NBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9XU1NfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgV2ViU29ja2V0U2VydmVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuTGl2ZVF1ZXJ5U2VydmVyT3B0aW9ucyA9IHtcbiAgYXBwSWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9BUFBfSUQnLFxuICAgIGhlbHA6ICdUaGlzIHN0cmluZyBzaG91bGQgbWF0Y2ggdGhlIGFwcElkIGluIHVzZSBieSB5b3VyIFBhcnNlIFNlcnZlci4gSWYgeW91IGRlcGxveSB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciBhbG9uZ3NpZGUgUGFyc2UgU2VydmVyLCB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciB3aWxsIHRyeSB0byB1c2UgdGhlIHNhbWUgYXBwSWQuJyxcbiAgfSxcbiAgY2FjaGVUaW1lb3V0OiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfQ0FDSEVfVElNRU9VVCcsXG4gICAgaGVscDogXCJOdW1iZXIgaW4gbWlsbGlzZWNvbmRzLiBXaGVuIGNsaWVudHMgcHJvdmlkZSB0aGUgc2Vzc2lvblRva2VuIHRvIHRoZSBMaXZlUXVlcnkgc2VydmVyLCB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciB3aWxsIHRyeSB0byBmZXRjaCBpdHMgUGFyc2VVc2VyJ3Mgb2JqZWN0SWQgZnJvbSBwYXJzZSBzZXJ2ZXIgYW5kIHN0b3JlIGl0IGluIHRoZSBjYWNoZS4gVGhlIHZhbHVlIGRlZmluZXMgdGhlIGR1cmF0aW9uIG9mIHRoZSBjYWNoZS4gQ2hlY2sgdGhlIGZvbGxvd2luZyBTZWN1cml0eSBzZWN0aW9uIGFuZCBvdXIgcHJvdG9jb2wgc3BlY2lmaWNhdGlvbiBmb3IgZGV0YWlscywgZGVmYXVsdHMgdG8gNSAqIDEwMDAgbXMgKDUgc2Vjb25kcykuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignY2FjaGVUaW1lb3V0JyksXG4gIH0sXG4gIGtleVBhaXJzOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfS0VZX1BBSVJTJyxcbiAgICBoZWxwOiAnQSBKU09OIG9iamVjdCB0aGF0IHNlcnZlcyBhcyBhIHdoaXRlbGlzdCBvZiBrZXlzLiBJdCBpcyB1c2VkIGZvciB2YWxpZGF0aW5nIGNsaWVudHMgd2hlbiB0aGV5IHRyeSB0byBjb25uZWN0IHRvIHRoZSBMaXZlUXVlcnkgc2VydmVyLiBDaGVjayB0aGUgZm9sbG93aW5nIFNlY3VyaXR5IHNlY3Rpb24gYW5kIG91ciBwcm90b2NvbCBzcGVjaWZpY2F0aW9uIGZvciBkZXRhaWxzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgbG9nTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9MT0dfTEVWRUwnLFxuICAgIGhlbHA6ICdUaGlzIHN0cmluZyBkZWZpbmVzIHRoZSBsb2cgbGV2ZWwgb2YgdGhlIExpdmVRdWVyeSBzZXJ2ZXIuIFdlIHN1cHBvcnQgVkVSQk9TRSwgSU5GTywgRVJST1IsIE5PTkUsIGRlZmF1bHRzIHRvIElORk8uJyxcbiAgfSxcbiAgbWFzdGVyS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfTUFTVEVSX0tFWScsXG4gICAgaGVscDogJ1RoaXMgc3RyaW5nIHNob3VsZCBtYXRjaCB0aGUgbWFzdGVyS2V5IGluIHVzZSBieSB5b3VyIFBhcnNlIFNlcnZlci4gSWYgeW91IGRlcGxveSB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciBhbG9uZ3NpZGUgUGFyc2UgU2VydmVyLCB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciB3aWxsIHRyeSB0byB1c2UgdGhlIHNhbWUgbWFzdGVyS2V5LicsXG4gIH0sXG4gIHBvcnQ6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9QT1JUJyxcbiAgICBoZWxwOiAnVGhlIHBvcnQgdG8gcnVuIHRoZSBMaXZlUXVlcnkgc2VydmVyLCBkZWZhdWx0cyB0byAxMzM3LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigncG9ydCcpLFxuICAgIGRlZmF1bHQ6IDEzMzcsXG4gIH0sXG4gIHB1YlN1YkFkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9QVUJfU1VCX0FEQVBURVInLFxuICAgIGhlbHA6ICdMaXZlUXVlcnkgcHVic3ViIGFkYXB0ZXInLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmVkaXNPcHRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfUkVESVNfT1BUSU9OUycsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgcmVkaXNPcHRpb25zXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmVkaXNVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9SRURJU19VUkwnLFxuICAgIGhlbHA6IFwicGFyc2Utc2VydmVyJ3MgTGl2ZVF1ZXJ5IHJlZGlzVVJMXCIsXG4gIH0sXG4gIHNlcnZlclVSTDoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1NFUlZFUl9VUkwnLFxuICAgIGhlbHA6ICdUaGlzIHN0cmluZyBzaG91bGQgbWF0Y2ggdGhlIHNlcnZlclVSTCBpbiB1c2UgYnkgeW91ciBQYXJzZSBTZXJ2ZXIuIElmIHlvdSBkZXBsb3kgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgYWxvbmdzaWRlIFBhcnNlIFNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gdXNlIHRoZSBzYW1lIHNlcnZlclVSTC4nLFxuICB9LFxuICB3ZWJzb2NrZXRUaW1lb3V0OiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfV0VCU09DS0VUX1RJTUVPVVQnLFxuICAgIGhlbHA6ICdOdW1iZXIgb2YgbWlsbGlzZWNvbmRzIGJldHdlZW4gcGluZy9wb25nIGZyYW1lcy4gVGhlIFdlYlNvY2tldCBzZXJ2ZXIgc2VuZHMgcGluZy9wb25nIGZyYW1lcyB0byB0aGUgY2xpZW50cyB0byBrZWVwIHRoZSBXZWJTb2NrZXQgYWxpdmUuIFRoaXMgdmFsdWUgZGVmaW5lcyB0aGUgaW50ZXJ2YWwgb2YgdGhlIHBpbmcvcG9uZyBmcmFtZSBmcm9tIHRoZSBzZXJ2ZXIgdG8gY2xpZW50cywgZGVmYXVsdHMgdG8gMTAgKiAxMDAwIG1zICgxMCBzKS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3dlYnNvY2tldFRpbWVvdXQnKSxcbiAgfSxcbiAgd3NzQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1dTU19BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBXZWJTb2NrZXRTZXJ2ZXInLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5JZGVtcG90ZW5jeU9wdGlvbnMgPSB7XG4gIHBhdGhzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VYUEVSSU1FTlRBTF9JREVNUE9URU5DWV9QQVRIUycsXG4gICAgaGVscDogJ0FuIGFycmF5IG9mIHBhdGhzIGZvciB3aGljaCB0aGUgZmVhdHVyZSBzaG91bGQgYmUgZW5hYmxlZC4gVGhlIG1vdW50IHBhdGggbXVzdCBub3QgYmUgaW5jbHVkZWQsIGZvciBleGFtcGxlIGluc3RlYWQgb2YgYC9wYXJzZS9mdW5jdGlvbnMvbXlGdW5jdGlvbmAgc3BlY2lmaXkgYGZ1bmN0aW9ucy9teUZ1bmN0aW9uYC4gVGhlIGVudHJpZXMgYXJlIGludGVycHJldGVkIGFzIHJlZ3VsYXIgZXhwcmVzc2lvbiwgZm9yIGV4YW1wbGUgYGZ1bmN0aW9ucy8uKmAgbWF0Y2hlcyBhbGwgZnVuY3Rpb25zLCBgam9icy8uKmAgbWF0Y2hlcyBhbGwgam9icywgYGNsYXNzZXMvLipgIG1hdGNoZXMgYWxsIGNsYXNzZXMsIGAuKmAgbWF0Y2hlcyBhbGwgcGF0aHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIHR0bDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FWFBFUklNRU5UQUxfSURFTVBPVEVOQ1lfVFRMJyxcbiAgICBoZWxwOiAnVGhlIGR1cmF0aW9uIGluIHNlY29uZHMgYWZ0ZXIgd2hpY2ggYSByZXF1ZXN0IHJlY29yZCBpcyBkaXNjYXJkZWQgZnJvbSB0aGUgZGF0YWJhc2UsIGRlZmF1bHRzIHRvIDMwMHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCd0dGwnKSxcbiAgICBkZWZhdWx0OiAzMDAsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuQWNjb3VudExvY2tvdXRPcHRpb25zID0ge1xuICBkdXJhdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BQ0NPVU5UX0xPQ0tPVVRfRFVSQVRJT04nLFxuICAgIGhlbHA6ICdTZXQgdGhlIGR1cmF0aW9uIGluIG1pbnV0ZXMgdGhhdCBhIGxvY2tlZC1vdXQgYWNjb3VudCByZW1haW5zIGxvY2tlZCBvdXQgYmVmb3JlIGF1dG9tYXRpY2FsbHkgYmVjb21pbmcgdW5sb2NrZWQuPGJyPjxicj5WYWxpZCB2YWx1ZXMgYXJlIGdyZWF0ZXIgdGhhbiBgMGAgYW5kIGxlc3MgdGhhbiBgMTAwMDAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2R1cmF0aW9uJyksXG4gIH0sXG4gIHRocmVzaG9sZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BQ0NPVU5UX0xPQ0tPVVRfVEhSRVNIT0xEJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBudW1iZXIgb2YgZmFpbGVkIHNpZ24taW4gYXR0ZW1wdHMgdGhhdCB3aWxsIGNhdXNlIGEgdXNlciBhY2NvdW50IHRvIGJlIGxvY2tlZC4gSWYgdGhlIGFjY291bnQgaXMgbG9ja2VkLiBUaGUgYWNjb3VudCB3aWxsIHVubG9jayBhZnRlciB0aGUgZHVyYXRpb24gc2V0IGluIHRoZSBgZHVyYXRpb25gIG9wdGlvbiBoYXMgcGFzc2VkIGFuZCBubyBmdXJ0aGVyIGxvZ2luIGF0dGVtcHRzIGhhdmUgYmVlbiBtYWRlLjxicj48YnI+VmFsaWQgdmFsdWVzIGFyZSBncmVhdGVyIHRoYW4gYDBgIGFuZCBsZXNzIHRoYW4gYDEwMDBgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigndGhyZXNob2xkJyksXG4gIH0sXG4gIHVubG9ja09uUGFzc3dvcmRSZXNldDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BQ0NPVU5UX0xPQ0tPVVRfVU5MT0NLX09OX1BBU1NXT1JEX1JFU0VUJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCAgaWYgdGhlIGFjY291bnQgc2hvdWxkIGJlIHVubG9ja2VkIGFmdGVyIGEgc3VjY2Vzc2Z1bCBwYXNzd29yZCByZXNldC48YnI+PGJyPkRlZmF1bHQgaXMgYGZhbHNlYC48YnI+UmVxdWlyZXMgb3B0aW9ucyBgZHVyYXRpb25gIGFuZCBgdGhyZXNob2xkYCB0byBiZSBzZXQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5QYXNzd29yZFBvbGljeU9wdGlvbnMgPSB7XG4gIGRvTm90QWxsb3dVc2VybmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfRE9fTk9UX0FMTE9XX1VTRVJOQU1FJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBkaXNhbGxvdyB0aGUgdXNlcm5hbWUgYXMgcGFydCBvZiB0aGUgcGFzc3dvcmQuPGJyPjxicj5EZWZhdWx0IGlzIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgbWF4UGFzc3dvcmRBZ2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX01BWF9QQVNTV09SRF9BR0UnLFxuICAgIGhlbHA6ICdTZXQgdGhlIG51bWJlciBvZiBkYXlzIGFmdGVyIHdoaWNoIGEgcGFzc3dvcmQgZXhwaXJlcy4gTG9naW4gYXR0ZW1wdHMgZmFpbCBpZiB0aGUgdXNlciBkb2VzIG5vdCByZXNldCB0aGUgcGFzc3dvcmQgYmVmb3JlIGV4cGlyYXRpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdtYXhQYXNzd29yZEFnZScpLFxuICB9LFxuICBtYXhQYXNzd29yZEhpc3Rvcnk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX01BWF9QQVNTV09SRF9ISVNUT1JZJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBudW1iZXIgb2YgcHJldmlvdXMgcGFzc3dvcmQgdGhhdCB3aWxsIG5vdCBiZSBhbGxvd2VkIHRvIGJlIHNldCBhcyBuZXcgcGFzc3dvcmQuIElmIHRoZSBvcHRpb24gaXMgbm90IHNldCBvciBzZXQgdG8gYDBgLCBubyBwcmV2aW91cyBwYXNzd29yZHMgd2lsbCBiZSBjb25zaWRlcmVkLjxicj48YnI+VmFsaWQgdmFsdWVzIGFyZSA+PSBgMGAgYW5kIDw9IGAyMGAuPGJyPkRlZmF1bHQgaXMgYDBgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4UGFzc3dvcmRIaXN0b3J5JyksXG4gIH0sXG4gIHJlc2V0UGFzc3dvcmRTdWNjZXNzT25JbnZhbGlkRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX1JFU0VUX1BBU1NXT1JEX1NVQ0NFU1NfT05fSU5WQUxJRF9FTUFJTCcsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgaWYgYSByZXF1ZXN0IHRvIHJlc2V0IHRoZSBwYXNzd29yZCBzaG91bGQgcmV0dXJuIGEgc3VjY2VzcyByZXNwb25zZSBldmVuIGlmIHRoZSBwcm92aWRlZCBlbWFpbCBhZGRyZXNzIGlzIGludmFsaWQsIG9yIGBmYWxzZWAgaWYgdGhlIHJlcXVlc3Qgc2hvdWxkIHJldHVybiBhbiBlcnJvciByZXNwb25zZSBpZiB0aGUgZW1haWwgYWRkcmVzcyBpcyBpbnZhbGlkLjxicj48YnI+RGVmYXVsdCBpcyBgdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICByZXNldFRva2VuUmV1c2VJZlZhbGlkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9SRVNFVF9UT0tFTl9SRVVTRV9JRl9WQUxJRCcsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgaWYgYSBwYXNzd29yZCByZXNldCB0b2tlbiBzaG91bGQgYmUgcmV1c2VkIGluIGNhc2UgYW5vdGhlciB0b2tlbiBpcyByZXF1ZXN0ZWQgYnV0IHRoZXJlIGlzIGEgdG9rZW4gdGhhdCBpcyBzdGlsbCB2YWxpZCwgaS5lLiBoYXMgbm90IGV4cGlyZWQuIFRoaXMgYXZvaWRzIHRoZSBvZnRlbiBvYnNlcnZlZCBpc3N1ZSB0aGF0IGEgdXNlciByZXF1ZXN0cyBtdWx0aXBsZSBlbWFpbHMgYW5kIGRvZXMgbm90IGtub3cgd2hpY2ggbGluayBjb250YWlucyBhIHZhbGlkIHRva2VuIGJlY2F1c2UgZWFjaCBuZXdseSBnZW5lcmF0ZWQgdG9rZW4gd291bGQgaW52YWxpZGF0ZSB0aGUgcHJldmlvdXMgdG9rZW4uPGJyPjxicj5EZWZhdWx0IGlzIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcmVzZXRUb2tlblZhbGlkaXR5RHVyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX1JFU0VUX1RPS0VOX1ZBTElESVRZX0RVUkFUSU9OJyxcbiAgICBoZWxwOiAnU2V0IHRoZSB2YWxpZGl0eSBkdXJhdGlvbiBvZiB0aGUgcGFzc3dvcmQgcmVzZXQgdG9rZW4gaW4gc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgdG9rZW4gZXhwaXJlcy4gVGhlIHRva2VuIGlzIHVzZWQgaW4gdGhlIGxpbmsgdGhhdCBpcyBzZXQgaW4gdGhlIGVtYWlsLiBBZnRlciB0aGUgdG9rZW4gZXhwaXJlcywgdGhlIGxpbmsgYmVjb21lcyBpbnZhbGlkIGFuZCBhIG5ldyBsaW5rIGhhcyB0byBiZSBzZW50LiBJZiB0aGUgb3B0aW9uIGlzIG5vdCBzZXQgb3Igc2V0IHRvIGB1bmRlZmluZWRgLCB0aGVuIHRoZSB0b2tlbiBuZXZlciBleHBpcmVzLjxicj48YnI+Rm9yIGV4YW1wbGUsIHRvIGV4cGlyZSB0aGUgdG9rZW4gYWZ0ZXIgMiBob3Vycywgc2V0IGEgdmFsdWUgb2YgNzIwMCBzZWNvbmRzICg9IDYwIHNlY29uZHMgKiA2MCBtaW51dGVzICogMiBob3VycykuPGJyPjxicj5EZWZhdWx0IGlzIGB1bmRlZmluZWRgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigncmVzZXRUb2tlblZhbGlkaXR5RHVyYXRpb24nKSxcbiAgfSxcbiAgdmFsaWRhdGlvbkVycm9yOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9WQUxJREFUSU9OX0VSUk9SJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBlcnJvciBtZXNzYWdlIHRvIGJlIHNlbnQuPGJyPjxicj5EZWZhdWx0IGlzIGBQYXNzd29yZCBkb2VzIG5vdCBtZWV0IHRoZSBQYXNzd29yZCBQb2xpY3kgcmVxdWlyZW1lbnRzLmAnLFxuICB9LFxuICB2YWxpZGF0b3JDYWxsYmFjazoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfVkFMSURBVE9SX0NBTExCQUNLJyxcbiAgICBoZWxwOiAnU2V0IGEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gdmFsaWRhdGUgYSBwYXNzd29yZCB0byBiZSBhY2NlcHRlZC48YnI+PGJyPklmIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBgdmFsaWRhdG9yUGF0dGVybmAsIHRoZSBwYXNzd29yZCBtdXN0IHBhc3MgYm90aCB0byBiZSBhY2NlcHRlZC4nLFxuICB9LFxuICB2YWxpZGF0b3JQYXR0ZXJuOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9WQUxJREFUT1JfUEFUVEVSTicsXG4gICAgaGVscDogJ1NldCB0aGUgcmVndWxhciBleHByZXNzaW9uIHZhbGlkYXRpb24gcGF0dGVybiBhIHBhc3N3b3JkIG11c3QgbWF0Y2ggdG8gYmUgYWNjZXB0ZWQuPGJyPjxicj5JZiB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYHZhbGlkYXRvckNhbGxiYWNrYCwgdGhlIHBhc3N3b3JkIG11c3QgcGFzcyBib3RoIHRvIGJlIGFjY2VwdGVkLicsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuRmlsZVVwbG9hZE9wdGlvbnMgPSB7XG4gIGFsbG93ZWRGaWxlVXJsRG9tYWluczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9BTExPV0VEX0ZJTEVfVVJMX0RPTUFJTlMnLFxuICAgIGhlbHA6IFwiU2V0cyB0aGUgYWxsb3dlZCBob3N0bmFtZXMgZm9yIGZpbGUgVVJMcyByZWZlcmVuY2VkIGluIFBhcnNlIG9iamVjdHMuIFdoZW4gYSBGaWxlIG9iamVjdCBpbmNsdWRlcyBhIFVSTCwgaXRzIGhvc3RuYW1lIG11c3QgbWF0Y2ggb25lIG9mIHRoZXNlIGVudHJpZXMgdG8gYmUgYWNjZXB0ZWQuIFN1cHBvcnRzIGV4YWN0IGhvc3RuYW1lcyAoZS5nLiwgYCdjZG4uZXhhbXBsZS5jb20nYCkgYW5kIHdpbGRjYXJkIHN1YmRvbWFpbnMgKGUuZy4sIGAnKi5leGFtcGxlLmNvbSdgKS4gVXNlIGBbJyonXWAgdG8gYWxsb3cgYW55IGRvbWFpbi4gVXNlIGBbXWAgdG8gYmxvY2sgYWxsIGZpbGUgVVJMcyAob25seSBuYW1lLWJhc2VkIGZpbGVzIGFsbG93ZWQpLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbJyonXSxcbiAgfSxcbiAgZW5hYmxlRm9yQW5vbnltb3VzVXNlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9FTkFCTEVfRk9SX0FOT05ZTU9VU19VU0VSJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBmaWxlIHVwbG9hZCBzaG91bGQgYmUgYWxsb3dlZCBmb3IgYW5vbnltb3VzIHVzZXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVuYWJsZUZvckF1dGhlbnRpY2F0ZWRVc2VyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0ZJTEVfVVBMT0FEX0VOQUJMRV9GT1JfQVVUSEVOVElDQVRFRF9VU0VSJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBmaWxlIHVwbG9hZCBzaG91bGQgYmUgYWxsb3dlZCBmb3IgYXV0aGVudGljYXRlZCB1c2Vycy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGVuYWJsZUZvclB1YmxpYzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9FTkFCTEVfRk9SX1BVQkxJQycsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgZmlsZSB1cGxvYWQgc2hvdWxkIGJlIGFsbG93ZWQgZm9yIGFueW9uZSwgcmVnYXJkbGVzcyBvZiB1c2VyIGF1dGhlbnRpY2F0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGZpbGVFeHRlbnNpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0ZJTEVfVVBMT0FEX0ZJTEVfRVhURU5TSU9OUycsXG4gICAgaGVscDogJ1NldHMgdGhlIGFsbG93ZWQgZmlsZSBleHRlbnNpb25zIGZvciB1cGxvYWRpbmcgZmlsZXMuIFRoZSBleHRlbnNpb24gaXMgZGVmaW5lZCBhcyBhbiBhcnJheSBvZiBmaWxlIGV4dGVuc2lvbnMsIG9yIGEgcmVnZXggcGF0dGVybi48YnI+PGJyPkl0IGlzIHJlY29tbWVuZGVkIHRvIG9ubHkgYWxsb3cgdGhlIGZpbGUgZXh0ZW5zaW9ucyB0aGF0IHlvdXIgYXBwIGFjdHVhbGx5IG5lZWRzLCByYXRoZXIgdGhhbiByZWx5aW5nIG9uIGJsb2NraW5nIGRhbmdlcm91cyBleHRlbnNpb25zLiBUaGlzIGFsbG93bGlzdCBhcHByb2FjaCBpcyBtb3JlIHNlY3VyZSBiZWNhdXNlIG5ldyBkYW5nZXJvdXMgZmlsZSBleHRlbnNpb25zIG1heSBlbWVyZ2UgdGhhdCBhcmUgbm90IGNvdmVyZWQgYnkgdGhlIGRlZmF1bHQgYmxvY2tsaXN0Ljxicj48YnI+VGhlIGRlZmF1bHQgYmxvY2tzIHRoZSBtb3N0IGNvbW1vbiBmaWxlIGV4dGVuc2lvbnMgdGhhdCBhcmUga25vd24gdG8gYmUgcmVuZGVyZWQgYXMgYWN0aXZlIGNvbnRlbnQgYnkgd2ViIGJyb3dzZXJzLCBzdWNoIGFzIEhUTUwsIFNWRywgYW5kIFhNTCBmaWxlcywgd2hpY2ggbWF5IGJlIHVzZWQgYnkgYW4gYXR0YWNrZXIgdG8gY29tcHJvbWlzZSB0aGUgc2Vzc2lvbiB0b2tlbiBvZiBhbm90aGVyIHVzZXIgdmlhIGFjY2Vzc2luZyB0aGUgYnJvd3NlclxcJ3MgbG9jYWwgc3RvcmFnZS4gVGhlIGJsb2NrZWQgZXh0ZW5zaW9ucyBhcmU6IGBodG1sYCwgYGh0bWAsIGBzaHRtbGAsIGB4aHRtbGAsIGB4aHRtbCt4bWxgLCBgeGh0YCwgYHN2Z2AsIGBzdmd6YCwgYHN2Zyt4bWxgLCBgeG1sYCwgYHhzbGAsIGB4c2x0YCwgYHhzbHQreG1sYCwgYHhzZGAsIGBybmdgLCBgcmRmYCwgYHJkZit4bWxgLCBgb3dsYCwgYG1hdGhtbGAsIGBtYXRobWwreG1sYC48YnI+PGJyPkRlZmF1bHRzIHRvIGBbXCJeKD8hKFt4WHNTXT9baEhdW3RUXVttTV1bbExdPyhcXFxcXFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW2hIXVt0VF18W3NTXVt2Vl1bZ0ddKFt6Wl18XFxcXFxcXFwrW3hYXVttTV1bbExdKT98W3hYXVttTV1bbExdfFt4WF1bc1NdW2xMXVt0VF0/KFxcXFxcXFxcK1t4WF1bbU1dW2xMXSk/fFt4WF1bc1NdW2REXXxbclJdW25OXVtnR118W3JSXVtkRF1bZkZdKFxcXFxcXFxcK1t4WF1bbU1dW2xMXSk/fFtvT11bd1ddW2xMXXxbbU1dW2FBXVt0VF1baEhdW21NXVtsTF0oXFxcXFxcXFwrW3hYXVttTV1bbExdKT8pJClcIl1gLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFtcbiAgICAgICdeKD8hKFt4WHNTXT9baEhdW3RUXVttTV1bbExdPyhcXFxcK1t4WF1bbU1dW2xMXSk/fFt4WF1baEhdW3RUXXxbc1NdW3ZWXVtnR10oW3paXXxcXFxcK1t4WF1bbU1dW2xMXSk/fFt4WF1bbU1dW2xMXXxbeFhdW3NTXVtsTF1bdFRdPyhcXFxcK1t4WF1bbU1dW2xMXSk/fFt4WF1bc1NdW2REXXxbclJdW25OXVtnR118W3JSXVtkRF1bZkZdKFxcXFwrW3hYXVttTV1bbExdKT98W29PXVt3V11bbExdfFttTV1bYUFdW3RUXVtoSF1bbU1dW2xMXShcXFxcK1t4WF1bbU1dW2xMXSk/KSQpJyxcbiAgICBdLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkZpbGVEb3dubG9hZE9wdGlvbnMgPSB7XG4gIGVuYWJsZUZvckFub255bW91c1VzZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9ET1dOTE9BRF9FTkFCTEVfRk9SX0FOT05ZTU9VU19VU0VSJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBmaWxlIGRvd25sb2FkIHNob3VsZCBiZSBhbGxvd2VkIGZvciBhbm9ueW1vdXMgdXNlcnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBlbmFibGVGb3JBdXRoZW50aWNhdGVkVXNlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX0RPV05MT0FEX0VOQUJMRV9GT1JfQVVUSEVOVElDQVRFRF9VU0VSJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBmaWxlIGRvd25sb2FkIHNob3VsZCBiZSBhbGxvd2VkIGZvciBhdXRoZW50aWNhdGVkIHVzZXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZW5hYmxlRm9yUHVibGljOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0ZJTEVfRE9XTkxPQURfRU5BQkxFX0ZPUl9QVUJMSUMnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIGZpbGUgZG93bmxvYWQgc2hvdWxkIGJlIGFsbG93ZWQgZm9yIGFueW9uZSwgcmVnYXJkbGVzcyBvZiB1c2VyIGF1dGhlbnRpY2F0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbn07XG4vKiBUaGUgYXZhaWxhYmxlIGxvZyBsZXZlbHMgZm9yIFBhcnNlIFNlcnZlciBsb2dnaW5nLiBWYWxpZCB2YWx1ZXMgYXJlOjxicj4tIGAnZXJyb3InYCAtIEVycm9yIGxldmVsIChoaWdoZXN0IHByaW9yaXR5KTxicj4tIGAnd2FybidgIC0gV2FybmluZyBsZXZlbDxicj4tIGAnaW5mbydgIC0gSW5mbyBsZXZlbCAoZGVmYXVsdCk8YnI+LSBgJ3ZlcmJvc2UnYCAtIFZlcmJvc2UgbGV2ZWw8YnI+LSBgJ2RlYnVnJ2AgLSBEZWJ1ZyBsZXZlbDxicj4tIGAnc2lsbHknYCAtIFNpbGx5IGxldmVsIChsb3dlc3QgcHJpb3JpdHkpICovXG5tb2R1bGUuZXhwb3J0cy5Mb2dMZXZlbCA9IHtcbiAgZGVidWc6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMX0RFQlVHJyxcbiAgICBoZWxwOiAnRGVidWcgbGV2ZWwnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBlcnJvcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxfRVJST1InLFxuICAgIGhlbHA6ICdFcnJvciBsZXZlbCAtIGhpZ2hlc3QgcHJpb3JpdHknLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBpbmZvOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTF9JTkZPJyxcbiAgICBoZWxwOiAnSW5mbyBsZXZlbCAtIGRlZmF1bHQnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBzaWxseToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxfU0lMTFknLFxuICAgIGhlbHA6ICdTaWxseSBsZXZlbCAtIGxvd2VzdCBwcmlvcml0eScsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIHZlcmJvc2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMX1ZFUkJPU0UnLFxuICAgIGhlbHA6ICdWZXJib3NlIGxldmVsJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgd2Fybjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxfV0FSTicsXG4gICAgaGVscDogJ1dhcm5pbmcgbGV2ZWwnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkxvZ0NsaWVudEV2ZW50ID0ge1xuICBrZXlzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0xPR19DTElFTlRfRVZFTlRTX0tFWVMnLFxuICAgIGhlbHA6ICdPcHRpb25hbCBhcnJheSBvZiBkb3Qtbm90YXRpb24gcGF0aHMgdG8gZXh0cmFjdCBzcGVjaWZpYyBkYXRhIGZyb20gdGhlIGV2ZW50IG9iamVjdC4gSWYgbm90IHByb3ZpZGVkIG9yIGVtcHR5LCB0aGUgZW50aXJlIGV2ZW50IG9iamVjdCB3aWxsIGJlIGxvZ2dlZC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgbG9nTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTE9HX0NMSUVOVF9FVkVOVFNfTE9HX0xFVkVMJyxcbiAgICBoZWxwOiBcIlRoZSBsb2cgbGV2ZWwgdG8gdXNlIGZvciB0aGlzIGV2ZW50LiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4gRGVmYXVsdHMgdG8gYCdpbmZvJ2AuXCIsXG4gICAgZGVmYXVsdDogJ2luZm8nLFxuICB9LFxuICBuYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0xPR19DTElFTlRfRVZFTlRTX05BTUUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgZXZlbnQgbmFtZSB0byBsaXN0ZW4gZm9yLiBTZWUgdGhlIFtNb25nb0RCIGRyaXZlciBldmVudHMgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly93d3cubW9uZ29kYi5jb20vZG9jcy9kcml2ZXJzL25vZGUvY3VycmVudC9mdW5kYW1lbnRhbHMvbW9uaXRvcmluZy8pIGZvciBhdmFpbGFibGUgZXZlbnRzLicsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuRGF0YWJhc2VPcHRpb25zID0ge1xuICBhbGxvd1B1YmxpY0V4cGxhaW46IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQUxMT1dfUFVCTElDX0VYUExBSU4nLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGFsbG93IGBQYXJzZS5RdWVyeS5leHBsYWluYCB3aXRob3V0IG1hc3RlciBrZXkuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBFbmFibGluZyB0aGlzIG9wdGlvbiBtYXkgZXhwb3NlIHNlbnNpdGl2ZSBxdWVyeSBwZXJmb3JtYW5jZSBkYXRhIHRvIHVuYXV0aG9yaXplZCB1c2VycyBhbmQgY291bGQgcG90ZW50aWFsbHkgYmUgZXhwbG9pdGVkIGZvciBtYWxpY2lvdXMgcHVycG9zZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgYXBwTmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BUFBfTkFNRScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgbmFtZSBvZiB0aGUgYXBwbGljYXRpb24gdGhhdCBjcmVhdGVkIHRoaXMgTW9uZ29DbGllbnQgaW5zdGFuY2UuJyxcbiAgfSxcbiAgYXV0aE1lY2hhbmlzbToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BVVRIX01FQ0hBTklTTScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtIHRoYXQgTW9uZ29EQiB3aWxsIHVzZSB0byBhdXRoZW50aWNhdGUgdGhlIGNvbm5lY3Rpb24uJyxcbiAgfSxcbiAgYXV0aE1lY2hhbmlzbVByb3BlcnRpZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQVVUSF9NRUNIQU5JU01fUFJPUEVSVElFUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSBwcm9wZXJ0aWVzIGZvciB0aGUgc3BlY2lmaWVkIGF1dGhNZWNoYW5pc20gYXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBjb2xvbi1zZXBhcmF0ZWQga2V5LXZhbHVlIHBhaXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgYXV0aFNvdXJjZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BVVRIX1NPVVJDRScsXG4gICAgaGVscDogXCJUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGRhdGFiYXNlIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSB1c2VyJ3MgY3JlZGVudGlhbHMuXCIsXG4gIH0sXG4gIGF1dG9TZWxlY3RGYW1pbHk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQVVUT19TRUxFQ1RfRkFNSUxZJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgd2hldGhlciB0aGUgc29ja2V0IGF0dGVtcHRzIHRvIGNvbm5lY3QgdG8gSVB2NiBhbmQgSVB2NCBhZGRyZXNzZXMgdW50aWwgYSBjb25uZWN0aW9uIGlzIGVzdGFibGlzaGVkLiBJZiBhdmFpbGFibGUsIHRoZSBkcml2ZXIgd2lsbCBzZWxlY3QgdGhlIGZpcnN0IElQdjYgYWRkcmVzcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICBhdXRvU2VsZWN0RmFtaWx5QXR0ZW1wdFRpbWVvdXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQVVUT19TRUxFQ1RfRkFNSUxZX0FUVEVNUFRfVElNRU9VVCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIGEgY29ubmVjdGlvbiBhdHRlbXB0IHRvIGZpbmlzaCBiZWZvcmUgdHJ5aW5nIHRoZSBuZXh0IGFkZHJlc3Mgd2hlbiB1c2luZyB0aGUgYXV0b1NlbGVjdEZhbWlseSBvcHRpb24uIElmIHNldCB0byBhIHBvc2l0aXZlIGludGVnZXIgbGVzcyB0aGFuIDEwLCB0aGUgdmFsdWUgMTAgaXMgdXNlZCBpbnN0ZWFkLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignYXV0b1NlbGVjdEZhbWlseUF0dGVtcHRUaW1lb3V0JyksXG4gIH0sXG4gIGJhdGNoU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9CQVRDSF9TSVpFJyxcbiAgICBoZWxwOiAnVGhlIG51bWJlciBvZiBkb2N1bWVudHMgcGVyIGJhdGNoIGZvciBNb25nb0RCIGN1cnNvciBgZ2V0TW9yZWAgb3BlcmF0aW9ucy4gQSBsb3dlciB2YWx1ZSByZWR1Y2VzIG1lbW9yeSB1c2FnZSBwZXIgYmF0Y2g7IGEgaGlnaGVyIHZhbHVlIHJlZHVjZXMgdGhlIG51bWJlciBvZiBuZXR3b3JrIHJvdW5kLXRyaXBzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignYmF0Y2hTaXplJyksXG4gICAgZGVmYXVsdDogMTAwMCxcbiAgfSxcbiAgY2xpZW50TWV0YWRhdGE6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ0xJRU5UX01FVEFEQVRBJyxcbiAgICBoZWxwOiBcIkN1c3RvbSBtZXRhZGF0YSB0byBhcHBlbmQgdG8gZGF0YWJhc2UgY2xpZW50IGNvbm5lY3Rpb25zIGZvciBpZGVudGlmeWluZyBQYXJzZSBTZXJ2ZXIgaW5zdGFuY2VzIGluIGRhdGFiYXNlIGxvZ3MuIElmIHNldCwgdGhpcyBtZXRhZGF0YSB3aWxsIGJlIHZpc2libGUgaW4gZGF0YWJhc2UgbG9ncyBkdXJpbmcgY29ubmVjdGlvbiBoYW5kc2hha2VzLiBUaGlzIGNhbiBoZWxwIHdpdGggZGVidWdnaW5nIGFuZCBtb25pdG9yaW5nIGluIGRlcGxveW1lbnRzIHdpdGggbXVsdGlwbGUgZGF0YWJhc2UgY2xpZW50cy4gU2V0IGBuYW1lYCB0byBpZGVudGlmeSB5b3VyIGFwcGxpY2F0aW9uIChlLmcuLCAnTXlBcHAnKSBhbmQgYHZlcnNpb25gIHRvIHlvdXIgYXBwbGljYXRpb24ncyB2ZXJzaW9uLiBMZWF2ZSB1bmRlZmluZWQgKGRlZmF1bHQpIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlIGFuZCBhdm9pZCB0aGUgYWRkaXRpb25hbCBkYXRhIHRyYW5zZmVyIG92ZXJoZWFkLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0RhdGFiYXNlT3B0aW9uc0NsaWVudE1ldGFkYXRhJyxcbiAgfSxcbiAgY29tcHJlc3NvcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ09NUFJFU1NPUlMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgYW4gYXJyYXkgb3IgY29tbWEtZGVsaW1pdGVkIHN0cmluZyBvZiBjb21wcmVzc29ycyB0byBlbmFibGUgbmV0d29yayBjb21wcmVzc2lvbiBmb3IgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHRoaXMgY2xpZW50IGFuZCBhIG1vbmdvZC9tb25nb3MgaW5zdGFuY2UuJyxcbiAgfSxcbiAgY29ubmVjdFRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DT05ORUNUX1RJTUVPVVRfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lLCBpbiBtaWxsaXNlY29uZHMsIHRvIHdhaXQgdG8gZXN0YWJsaXNoIGEgc2luZ2xlIFRDUCBzb2NrZXQgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGJlZm9yZSByYWlzaW5nIGFuIGVycm9yLiBTcGVjaWZ5aW5nIDAgZGlzYWJsZXMgdGhlIGNvbm5lY3Rpb24gdGltZW91dC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2Nvbm5lY3RUaW1lb3V0TVMnKSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhBdXRoRGF0YVVuaXF1ZW5lc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX0FVVEhfREFUQV9VTklRVUVORVNTJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSB1bmlxdWUgaW5kZXhlcyBvbiB0aGUgYXV0aERhdGEgZmllbGRzIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIGZvciBlYWNoIGNvbmZpZ3VyZWQgYXV0aCBwcm92aWRlciBvbiBzZXJ2ZXIgc3RhcnQsIGluY2x1ZGluZyBgYW5vbnltb3VzYCB3aGVuIGFub255bW91cyB1c2VycyBhcmUgZW5hYmxlZC4gVGhlc2UgaW5kZXhlcyBwcmV2ZW50IHJhY2UgY29uZGl0aW9ucyBkdXJpbmcgY29uY3VycmVudCBzaWdudXBzIHdpdGggdGhlIHNhbWUgYXV0aERhdGEuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleGVzLCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleGVzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB0byBiZSBvcHRpbWl6ZWQgZm9yIHRoZSBpbnRlcm5hbCB1c2FnZSBieSBQYXJzZSBTZXJ2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBjcmVhdGVJbmRleFJvbGVOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NSRUFURV9JTkRFWF9ST0xFX05BTUUnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgdW5pcXVlIGluZGV4IG9uIHRoZSBuYW1lIGZpZWxkIG9mIHRoZSBfUm9sZSBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfRU1BSUwnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGluZGV4ZXMgb24gdGhlIGVtYWlsIGZpZWxkIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyRW1haWxDYXNlSW5zZW5zaXRpdmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfRU1BSUxfQ0FTRV9JTlNFTlNJVElWRScsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYSBjYXNlLWluc2Vuc2l0aXZlIGluZGV4IG9uIHRoZSBlbWFpbCBmaWVsZCBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGNyZWF0ZUluZGV4VXNlckVtYWlsVmVyaWZ5VG9rZW46IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfRU1BSUxfVkVSSUZZX1RPS0VOJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhbiBpbmRleCBvbiB0aGUgX2VtYWlsX3ZlcmlmeV90b2tlbiBmaWVsZCBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGNyZWF0ZUluZGV4VXNlclBhc3N3b3JkUmVzZXRUb2tlbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DUkVBVEVfSU5ERVhfVVNFUl9QQVNTV09SRF9SRVNFVF9UT0tFTicsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYW4gaW5kZXggb24gdGhlIF9wZXJpc2hhYmxlX3Rva2VuIGZpZWxkIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyVXNlcm5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfVVNFUk5BTUUnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGluZGV4ZXMgb24gdGhlIHVzZXJuYW1lIGZpZWxkIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyVXNlcm5hbWVDYXNlSW5zZW5zaXRpdmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfVVNFUk5BTUVfQ0FTRV9JTlNFTlNJVElWRScsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYSBjYXNlLWluc2Vuc2l0aXZlIGluZGV4IG9uIHRoZSB1c2VybmFtZSBmaWVsZCBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGRpcmVjdENvbm5lY3Rpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfRElSRUNUX0NPTk5FQ1RJT04nLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGZvcmNlIGEgU2luZ2xlIHRvcG9sb2d5IHR5cGUgd2l0aCBhIGNvbm5lY3Rpb24gc3RyaW5nIGNvbnRhaW5pbmcgb25lIGhvc3QuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgZGlzYWJsZUluZGV4RmllbGRWYWxpZGF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0RJU0FCTEVfSU5ERVhfRklFTERfVkFMSURBVElPTicsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gZGlzYWJsZSB2YWxpZGF0aW9uIG9mIGluZGV4IGZpZWxkcy4gV2hlbiBkaXNhYmxlZCwgaW5kZXhlcyBjYW4gYmUgY3JlYXRlZCBldmVuIGlmIHRoZSBmaWVsZHMgZG8gbm90IGV4aXN0IGluIHRoZSBzY2hlbWEuIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuIGNyZWF0aW5nIGluZGV4ZXMgb24gZmllbGRzIHRoYXQgd2lsbCBiZSBhZGRlZCBsYXRlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICBlbmFibGVTY2hlbWFIb29rczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9FTkFCTEVfU0NIRU1BX0hPT0tTJyxcbiAgICBoZWxwOiAnRW5hYmxlcyBkYXRhYmFzZSByZWFsLXRpbWUgaG9va3MgdG8gdXBkYXRlIHNpbmdsZSBzY2hlbWEgY2FjaGUuIFNldCB0byBgdHJ1ZWAgaWYgdXNpbmcgbXVsdGlwbGUgUGFyc2UgU2VydmVycyBpbnN0YW5jZXMgY29ubmVjdGVkIHRvIHRoZSBzYW1lIGRhdGFiYXNlLiBGYWlsaW5nIHRvIGRvIHNvIHdpbGwgY2F1c2UgYSBzY2hlbWEgY2hhbmdlIHRvIG5vdCBwcm9wYWdhdGUgdG8gYWxsIGluc3RhbmNlcyBhbmQgcmUtc3luY2luZyB3aWxsIG9ubHkgaGFwcGVuIHdoZW4gdGhlIGluc3RhbmNlcyByZXN0YXJ0LiBUbyB1c2UgdGhpcyBmZWF0dXJlIHdpdGggTW9uZ29EQiwgYSByZXBsaWNhIHNldCBjbHVzdGVyIHdpdGggW2NoYW5nZSBzdHJlYW1dKGh0dHBzOi8vZG9jcy5tb25nb2RiLmNvbS9tYW51YWwvY2hhbmdlU3RyZWFtcy8jYXZhaWxhYmlsaXR5KSBzdXBwb3J0IGlzIHJlcXVpcmVkLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGZvcmNlU2VydmVyT2JqZWN0SWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfRk9SQ0VfU0VSVkVSX09CSkVDVF9JRCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZm9yY2Ugc2VydmVyIHRvIGFzc2lnbiBfaWQgdmFsdWVzIGluc3RlYWQgb2YgZHJpdmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIGhlYXJ0YmVhdEZyZXF1ZW5jeU1TOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0hFQVJUQkVBVF9GUkVRVUVOQ1lfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGZyZXF1ZW5jeSBpbiBtaWxsaXNlY29uZHMgYXQgd2hpY2ggdGhlIGRyaXZlciBjaGVja3MgdGhlIHN0YXRlIG9mIHRoZSBNb25nb0RCIGRlcGxveW1lbnQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdoZWFydGJlYXRGcmVxdWVuY3lNUycpLFxuICB9LFxuICBsb2FkQmFsYW5jZWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTE9BRF9CQUxBTkNFRCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gaW5zdHJ1Y3QgdGhlIGRyaXZlciBpdCBpcyBjb25uZWN0aW5nIHRvIGEgbG9hZCBiYWxhbmNlciBmcm9udGluZyBhIG1vbmdvcyBsaWtlIHNlcnZpY2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgbG9jYWxUaHJlc2hvbGRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9MT0NBTF9USFJFU0hPTERfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIHNpemUgKGluIG1pbGxpc2Vjb25kcykgb2YgdGhlIGxhdGVuY3kgd2luZG93IGZvciBzZWxlY3RpbmcgYW1vbmcgbXVsdGlwbGUgc3VpdGFibGUgTW9uZ29EQiBpbnN0YW5jZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdsb2NhbFRocmVzaG9sZE1TJyksXG4gIH0sXG4gIGxvZ0NsaWVudEV2ZW50czoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9MT0dfQ0xJRU5UX0VWRU5UUycsXG4gICAgaGVscDogJ0FuIGFycmF5IG9mIE1vbmdvREIgY2xpZW50IGV2ZW50IGNvbmZpZ3VyYXRpb25zIHRvIGVuYWJsZSBsb2dnaW5nIG9mIHNwZWNpZmljIGV2ZW50cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICB0eXBlOiAnTG9nQ2xpZW50RXZlbnRbXScsXG4gIH0sXG4gIG1heENvbm5lY3Rpbmc6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTUFYX0NPTk5FQ1RJTkcnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbm5lY3Rpb25zIHRoYXQgbWF5IGJlIGluIHRoZSBwcm9jZXNzIG9mIGJlaW5nIGVzdGFibGlzaGVkIGNvbmN1cnJlbnRseSBieSB0aGUgY29ubmVjdGlvbiBwb29sLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4Q29ubmVjdGluZycpLFxuICB9LFxuICBtYXhJZGxlVGltZU1TOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX01BWF9JRExFX1RJTUVfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IGEgY29ubmVjdGlvbiBjYW4gcmVtYWluIGlkbGUgaW4gdGhlIGNvbm5lY3Rpb24gcG9vbCBiZWZvcmUgYmVpbmcgcmVtb3ZlZCBhbmQgY2xvc2VkLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4SWRsZVRpbWVNUycpLFxuICB9LFxuICBtYXhQb29sU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9NQVhfUE9PTF9TSVpFJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIG9wZW5lZCwgY2FjaGVkLCByZWFkeS10by11c2UgZGF0YWJhc2UgY29ubmVjdGlvbnMgbWFpbnRhaW5lZCBieSB0aGUgZHJpdmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4UG9vbFNpemUnKSxcbiAgfSxcbiAgbWF4U3RhbGVuZXNzU2Vjb25kczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9NQVhfU1RBTEVORVNTX1NFQ09ORFMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNldCB0aGUgbWF4aW11bSByZXBsaWNhdGlvbiBsYWcgZm9yIHJlYWRzIGZyb20gc2Vjb25kYXJ5IG5vZGVzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4U3RhbGVuZXNzU2Vjb25kcycpLFxuICB9LFxuICBtYXhUaW1lTVM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTUFYX1RJTUVfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNldCBhIGN1bXVsYXRpdmUgdGltZSBsaW1pdCBpbiBtaWxsaXNlY29uZHMgZm9yIHByb2Nlc3Npbmcgb3BlcmF0aW9ucyBvbiBhIGN1cnNvci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heFRpbWVNUycpLFxuICB9LFxuICBtaW5Qb29sU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9NSU5fUE9PTF9TSVpFJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgdGhlIG1pbmltdW0gbnVtYmVyIG9mIG9wZW5lZCwgY2FjaGVkLCByZWFkeS10by11c2UgZGF0YWJhc2UgY29ubmVjdGlvbnMgbWFpbnRhaW5lZCBieSB0aGUgZHJpdmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWluUG9vbFNpemUnKSxcbiAgfSxcbiAgcHJveHlIb3N0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX0hPU1QnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGNvbmZpZ3VyZSBhIFNvY2tzNSBwcm94eSBob3N0IHVzZWQgZm9yIGNyZWF0aW5nIFRDUCBjb25uZWN0aW9ucy4nLFxuICB9LFxuICBwcm94eVBhc3N3b3JkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX1BBU1NXT1JEJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBjb25maWd1cmUgYSBTb2NrczUgcHJveHkgcGFzc3dvcmQgd2hlbiB0aGUgcHJveHkgcmVxdWlyZXMgdXNlcm5hbWUvcGFzc3dvcmQgYXV0aGVudGljYXRpb24uJyxcbiAgfSxcbiAgcHJveHlQb3J0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX1BPUlQnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGNvbmZpZ3VyZSBhIFNvY2tzNSBwcm94eSBwb3J0IHVzZWQgZm9yIGNyZWF0aW5nIFRDUCBjb25uZWN0aW9ucy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3Byb3h5UG9ydCcpLFxuICB9LFxuICBwcm94eVVzZXJuYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX1VTRVJOQU1FJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBjb25maWd1cmUgYSBTb2NrczUgcHJveHkgdXNlcm5hbWUgd2hlbiB0aGUgcHJveHkgcmVxdWlyZXMgdXNlcm5hbWUvcGFzc3dvcmQgYXV0aGVudGljYXRpb24uJyxcbiAgfSxcbiAgcmVhZENvbmNlcm5MZXZlbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9SRUFEX0NPTkNFUk5fTEVWRUwnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGxldmVsIG9mIGlzb2xhdGlvbi4nLFxuICB9LFxuICByZWFkUHJlZmVyZW5jZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9SRUFEX1BSRUZFUkVOQ0UnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIHJlYWQgcHJlZmVyZW5jZXMgZm9yIHRoaXMgY29ubmVjdGlvbi4nLFxuICB9LFxuICByZWFkUHJlZmVyZW5jZVRhZ3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUkVBRF9QUkVGRVJFTkNFX1RBR1MnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIHRhZ3MgZG9jdW1lbnQgYXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBjb2xvbi1zZXBhcmF0ZWQga2V5LXZhbHVlIHBhaXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICByZXBsaWNhU2V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1JFUExJQ0FfU0VUJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSByZXBsaWNhIHNldCwgaWYgdGhlIG1vbmdvZCBpcyBhIG1lbWJlciBvZiBhIHJlcGxpY2Egc2V0LicsXG4gIH0sXG4gIHJldHJ5UmVhZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUkVUUllfUkVBRFMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGVuYWJsZSByZXRyeWFibGUgcmVhZHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgcmV0cnlXcml0ZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUkVUUllfV1JJVEVTJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgd2hldGhlciB0byByZXRyeSBmYWlsZWQgd3JpdGVzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHNjaGVtYUNhY2hlVHRsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NDSEVNQV9DQUNIRV9UVEwnLFxuICAgIGhlbHA6ICdUaGUgZHVyYXRpb24gaW4gc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgc2NoZW1hIGNhY2hlIGV4cGlyZXMgYW5kIHdpbGwgYmUgcmVmZXRjaGVkIGZyb20gdGhlIGRhdGFiYXNlLiBVc2UgdGhpcyBvcHRpb24gaWYgdXNpbmcgbXVsdGlwbGUgUGFyc2UgU2VydmVycyBpbnN0YW5jZXMgY29ubmVjdGVkIHRvIHRoZSBzYW1lIGRhdGFiYXNlLiBBIGxvdyBkdXJhdGlvbiB3aWxsIGNhdXNlIHRoZSBzY2hlbWEgY2FjaGUgdG8gYmUgdXBkYXRlZCB0b28gb2Z0ZW4sIGNhdXNpbmcgdW5uZWNlc3NhcnkgZGF0YWJhc2UgcmVhZHMuIEEgaGlnaCBkdXJhdGlvbiB3aWxsIGNhdXNlIHRoZSBzY2hlbWEgdG8gYmUgdXBkYXRlZCB0b28gcmFyZWx5LCBpbmNyZWFzaW5nIHRoZSB0aW1lIHJlcXVpcmVkIHVudGlsIHNjaGVtYSBjaGFuZ2VzIHByb3BhZ2F0ZSB0byBhbGwgc2VydmVyIGluc3RhbmNlcy4gVGhpcyBmZWF0dXJlIGNhbiBiZSB1c2VkIGFzIGFuIGFsdGVybmF0aXZlIG9yIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIG9wdGlvbiBgZW5hYmxlU2NoZW1hSG9va3NgLiBEZWZhdWx0IGlzIGluZmluaXRlIHdoaWNoIG1lYW5zIHRoZSBzY2hlbWEgY2FjaGUgbmV2ZXIgZXhwaXJlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3NjaGVtYUNhY2hlVHRsJyksXG4gIH0sXG4gIHNlcnZlck1vbml0b3JpbmdNb2RlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NFUlZFUl9NT05JVE9SSU5HX01PREUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGluc3RydWN0IHRoZSBkcml2ZXIgbW9uaXRvcnMgdG8gdXNlIGEgc3BlY2lmaWMgbW9uaXRvcmluZyBtb2RlLicsXG4gIH0sXG4gIHNlcnZlclNlbGVjdGlvblRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9TRVJWRVJfU0VMRUNUSU9OX1RJTUVPVVRfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lIGluIG1pbGxpc2Vjb25kcyBmb3IgYSBzZXJ2ZXIgdG8gYmUgY29uc2lkZXJlZCBzdWl0YWJsZSBmb3Igc2VsZWN0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc2VydmVyU2VsZWN0aW9uVGltZW91dE1TJyksXG4gIH0sXG4gIHNvY2tldFRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9TT0NLRVRfVElNRU9VVF9NUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUsIGluIG1pbGxpc2Vjb25kcywgc3BlbnQgYXR0ZW1wdGluZyB0byBzZW5kIG9yIHJlY2VpdmUgb24gYSBzb2NrZXQgYmVmb3JlIHRpbWluZyBvdXQuIFNwZWNpZnlpbmcgMCBtZWFucyBubyB0aW1lb3V0LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc29ja2V0VGltZW91dE1TJyksXG4gIH0sXG4gIHNydk1heEhvc3RzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NSVl9NQVhfSE9TVFMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIGhvc3RzIHRvIGNvbm5lY3QgdG8gd2hlbiB1c2luZyBhbiBzcnYgY29ubmVjdGlvbiBzdHJpbmcsIGEgc2V0dGluZyBvZiAwIG1lYW5zIHVubGltaXRlZCBob3N0cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3Nydk1heEhvc3RzJyksXG4gIH0sXG4gIHNydlNlcnZpY2VOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NSVl9TRVJWSUNFX05BTUUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIG1vZGlmeSB0aGUgc3J2IFVSSSBzZXJ2aWNlIG5hbWUuJyxcbiAgfSxcbiAgc3NsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NTTCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZW5hYmxlIG9yIGRpc2FibGUgVExTL1NTTCBmb3IgdGhlIGNvbm5lY3Rpb24gKGVxdWl2YWxlbnQgdG8gdGxzIG9wdGlvbikuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZW5hYmxlIG9yIGRpc2FibGUgVExTL1NTTCBmb3IgdGhlIGNvbm5lY3Rpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzQWxsb3dJbnZhbGlkQ2VydGlmaWNhdGVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19BTExPV19JTlZBTElEX0NFUlRJRklDQVRFUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gYnlwYXNzIHZhbGlkYXRpb24gb2YgdGhlIGNlcnRpZmljYXRlcyBwcmVzZW50ZWQgYnkgdGhlIG1vbmdvZC9tb25nb3MgaW5zdGFuY2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzQWxsb3dJbnZhbGlkSG9zdG5hbWVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19BTExPV19JTlZBTElEX0hPU1ROQU1FUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZGlzYWJsZSBob3N0bmFtZSB2YWxpZGF0aW9uIG9mIHRoZSBjZXJ0aWZpY2F0ZSBwcmVzZW50ZWQgYnkgdGhlIG1vbmdvZC9tb25nb3MgaW5zdGFuY2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzQ0FGaWxlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19DQUZJTEUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGxvY2F0aW9uIG9mIGEgbG9jYWwgLnBlbSBmaWxlIHRoYXQgY29udGFpbnMgdGhlIHJvb3QgY2VydGlmaWNhdGUgY2hhaW4gZnJvbSB0aGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5LicsXG4gIH0sXG4gIHRsc0NlcnRpZmljYXRlS2V5RmlsZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9UTFNfQ0VSVElGSUNBVEVfS0VZX0ZJTEUnLFxuICAgIGhlbHA6IFwiVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBsb2NhdGlvbiBvZiBhIGxvY2FsIC5wZW0gZmlsZSB0aGF0IGNvbnRhaW5zIHRoZSBjbGllbnQncyBUTFMvU1NMIGNlcnRpZmljYXRlIGFuZCBrZXkuXCIsXG4gIH0sXG4gIHRsc0NlcnRpZmljYXRlS2V5RmlsZVBhc3N3b3JkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19DRVJUSUZJQ0FURV9LRVlfRklMRV9QQVNTV09SRCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgcGFzc3dvcmQgdG8gZGVjcnlwdCB0aGUgdGxzQ2VydGlmaWNhdGVLZXlGaWxlLicsXG4gIH0sXG4gIHRsc0luc2VjdXJlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19JTlNFQ1VSRScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZGlzYWJsZSB2YXJpb3VzIGNlcnRpZmljYXRlIHZhbGlkYXRpb25zLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHdhaXRRdWV1ZVRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9XQUlUX1FVRVVFX1RJTUVPVVRfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCBhIHRocmVhZCBjYW4gd2FpdCBmb3IgYSBjb25uZWN0aW9uIHRvIGJlY29tZSBhdmFpbGFibGUuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCd3YWl0UXVldWVUaW1lb3V0TVMnKSxcbiAgfSxcbiAgemxpYkNvbXByZXNzaW9uTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfWkxJQl9DT01QUkVTU0lPTl9MRVZFTCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgY29tcHJlc3Npb24gbGV2ZWwgaWYgdXNpbmcgemxpYiBmb3IgbmV0d29yayBjb21wcmVzc2lvbiAoMC05KS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3psaWJDb21wcmVzc2lvbkxldmVsJyksXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuRGF0YWJhc2VPcHRpb25zQ2xpZW50TWV0YWRhdGEgPSB7XG4gIG5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ0xJRU5UX01FVEFEQVRBX05BTUUnLFxuICAgIGhlbHA6IFwiVGhlIG5hbWUgdG8gaWRlbnRpZnkgeW91ciBhcHBsaWNhdGlvbiBpbiBkYXRhYmFzZSBsb2dzIChlLmcuLCAnTXlBcHAnKS5cIixcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgdmVyc2lvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DTElFTlRfTUVUQURBVEFfVkVSU0lPTicsXG4gICAgaGVscDogXCJUaGUgdmVyc2lvbiBvZiB5b3VyIGFwcGxpY2F0aW9uIChlLmcuLCAnMS4wLjAnKS5cIixcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5BdXRoQWRhcHRlciA9IHtcbiAgZW5hYmxlZDoge1xuICAgIGhlbHA6ICdJcyBgdHJ1ZWAgaWYgdGhlIGF1dGggYWRhcHRlciBpcyBlbmFibGVkLCBgZmFsc2VgIG90aGVyd2lzZS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkxvZ0xldmVscyA9IHtcbiAgY2xvdWRGdW5jdGlvbkVycm9yOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfQ0xPVURfRlVOQ1RJT05fRVJST1InLFxuICAgIGhlbHA6ICdMb2cgbGV2ZWwgdXNlZCBieSB0aGUgQ2xvdWQgQ29kZSBGdW5jdGlvbnMgb24gZXJyb3IuIERlZmF1bHQgaXMgYGVycm9yYC4gU2VlIFtMb2dMZXZlbF0oTG9nTGV2ZWwuaHRtbCkgZm9yIGF2YWlsYWJsZSB2YWx1ZXMuJyxcbiAgICBkZWZhdWx0OiAnZXJyb3InLFxuICB9LFxuICBjbG91ZEZ1bmN0aW9uU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxTX0NMT1VEX0ZVTkNUSU9OX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICdMb2cgbGV2ZWwgdXNlZCBieSB0aGUgQ2xvdWQgQ29kZSBGdW5jdGlvbnMgb24gc3VjY2Vzcy4gRGVmYXVsdCBpcyBgaW5mb2AuIFNlZSBbTG9nTGV2ZWxdKExvZ0xldmVsLmh0bWwpIGZvciBhdmFpbGFibGUgdmFsdWVzLicsXG4gICAgZGVmYXVsdDogJ2luZm8nLFxuICB9LFxuICBzaWdudXBVc2VybmFtZVRha2VuOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfU0lHTlVQX1VTRVJOQU1FX1RBS0VOJyxcbiAgICBoZWxwOiAnTG9nIGxldmVsIHVzZWQgd2hlbiBhIHNpZ24tdXAgZmFpbHMgYmVjYXVzZSB0aGUgdXNlcm5hbWUgYWxyZWFkeSBleGlzdHMuIERlZmF1bHQgaXMgYGluZm9gLiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4nLFxuICAgIGRlZmF1bHQ6ICdpbmZvJyxcbiAgfSxcbiAgdHJpZ2dlckFmdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfVFJJR0dFUl9BRlRFUicsXG4gICAgaGVscDogJ0xvZyBsZXZlbCB1c2VkIGJ5IHRoZSBDbG91ZCBDb2RlIFRyaWdnZXJzIGBhZnRlclNhdmVgLCBgYWZ0ZXJEZWxldGVgLCBgYWZ0ZXJGaW5kYCwgYGFmdGVyTG9nb3V0YC4gRGVmYXVsdCBpcyBgaW5mb2AuIFNlZSBbTG9nTGV2ZWxdKExvZ0xldmVsLmh0bWwpIGZvciBhdmFpbGFibGUgdmFsdWVzLicsXG4gICAgZGVmYXVsdDogJ2luZm8nLFxuICB9LFxuICB0cmlnZ2VyQmVmb3JlRXJyb3I6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMU19UUklHR0VSX0JFRk9SRV9FUlJPUicsXG4gICAgaGVscDogJ0xvZyBsZXZlbCB1c2VkIGJ5IHRoZSBDbG91ZCBDb2RlIFRyaWdnZXJzIGBiZWZvcmVTYXZlYCwgYGJlZm9yZURlbGV0ZWAsIGBiZWZvcmVGaW5kYCwgYGJlZm9yZUxvZ2luYCBvbiBlcnJvci4gRGVmYXVsdCBpcyBgZXJyb3JgLiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4nLFxuICAgIGRlZmF1bHQ6ICdlcnJvcicsXG4gIH0sXG4gIHRyaWdnZXJCZWZvcmVTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfVFJJR0dFUl9CRUZPUkVfU1VDQ0VTUycsXG4gICAgaGVscDogJ0xvZyBsZXZlbCB1c2VkIGJ5IHRoZSBDbG91ZCBDb2RlIFRyaWdnZXJzIGBiZWZvcmVTYXZlYCwgYGJlZm9yZURlbGV0ZWAsIGBiZWZvcmVGaW5kYCwgYGJlZm9yZUxvZ2luYCBvbiBzdWNjZXNzLiBEZWZhdWx0IGlzIGBpbmZvYC4gU2VlIFtMb2dMZXZlbF0oTG9nTGV2ZWwuaHRtbCkgZm9yIGF2YWlsYWJsZSB2YWx1ZXMuJyxcbiAgICBkZWZhdWx0OiAnaW5mbycsXG4gIH0sXG59O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxPQUFPLEdBQUdDLE9BQU8sQ0FBQyxXQUFXLENBQUM7QUFDbENDLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDQyxhQUFhLEdBQUc7RUFDN0JDLGNBQWMsRUFBRTtJQUNkQyxHQUFHLEVBQUUscUNBQXFDO0lBQzFDQyxJQUFJLEVBQUU7RUFDUixDQUFDO0VBQ0RDLGVBQWUsRUFBRTtJQUNmRixHQUFHLEVBQUUsc0NBQXNDO0lBQzNDQyxJQUFJLEVBQUU7RUFDUixDQUFDO0VBQ0RFLFdBQVcsRUFBRTtJQUNYSCxHQUFHLEVBQUUsaUNBQWlDO0lBQ3RDQyxJQUFJLEVBQUUsZ0dBQWdHO0lBQ3RH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
1599
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZXJzIiwicmVxdWlyZSIsIm1vZHVsZSIsImV4cG9ydHMiLCJTY2hlbWFPcHRpb25zIiwiYWZ0ZXJNaWdyYXRpb24iLCJlbnYiLCJoZWxwIiwiYmVmb3JlTWlncmF0aW9uIiwiZGVmaW5pdGlvbnMiLCJyZXF1aXJlZCIsImFjdGlvbiIsIm9iamVjdFBhcnNlciIsImRlZmF1bHQiLCJkZWxldGVFeHRyYUZpZWxkcyIsImJvb2xlYW5QYXJzZXIiLCJrZWVwVW5rbm93bkluZGV4ZXMiLCJsb2NrU2NoZW1hcyIsInJlY3JlYXRlTW9kaWZpZWRGaWVsZHMiLCJzdHJpY3QiLCJQYXJzZVNlcnZlck9wdGlvbnMiLCJhY2NvdW50TG9ja291dCIsInR5cGUiLCJhbGxvd0FnZ3JlZ2F0aW9uRm9yUmVhZE9ubHlNYXN0ZXJLZXkiLCJhbGxvd0NsaWVudENsYXNzQ3JlYXRpb24iLCJhbGxvd0N1c3RvbU9iamVjdElkIiwiYWxsb3dFeHBpcmVkQXV0aERhdGFUb2tlbiIsImFsbG93SGVhZGVycyIsImFycmF5UGFyc2VyIiwiYWxsb3dPcmlnaW4iLCJhbmFseXRpY3NBZGFwdGVyIiwibW9kdWxlT3JPYmplY3RQYXJzZXIiLCJhcHBJZCIsImFwcE5hbWUiLCJhdXRoIiwiY2FjaGVBZGFwdGVyIiwiY2FjaGVNYXhTaXplIiwibnVtYmVyUGFyc2VyIiwiY2FjaGVUVEwiLCJjbGllbnRLZXkiLCJjbG91ZCIsImNsdXN0ZXIiLCJudW1iZXJPckJvb2xQYXJzZXIiLCJjb2xsZWN0aW9uUHJlZml4IiwiY29udmVydEVtYWlsVG9Mb3dlcmNhc2UiLCJjb252ZXJ0VXNlcm5hbWVUb0xvd2VyY2FzZSIsImN1c3RvbVBhZ2VzIiwiZGF0YWJhc2VBZGFwdGVyIiwiZGF0YWJhc2VPcHRpb25zIiwiZGF0YWJhc2VVUkkiLCJkZWZhdWx0TGltaXQiLCJkaXJlY3RBY2Nlc3MiLCJkb3ROZXRLZXkiLCJlbWFpbEFkYXB0ZXIiLCJlbWFpbFZlcmlmeVN1Y2Nlc3NPbkludmFsaWRFbWFpbCIsImVtYWlsVmVyaWZ5VG9rZW5SZXVzZUlmVmFsaWQiLCJlbWFpbFZlcmlmeVRva2VuVmFsaWRpdHlEdXJhdGlvbiIsImVuYWJsZUFub255bW91c1VzZXJzIiwiZW5hYmxlQ29sbGF0aW9uQ2FzZUNvbXBhcmlzb24iLCJlbmFibGVFeHByZXNzRXJyb3JIYW5kbGVyIiwiZW5hYmxlSW5zZWN1cmVBdXRoQWRhcHRlcnMiLCJlbmFibGVQcm9kdWN0UHVyY2hhc2VMZWdhY3lBcGkiLCJlbmFibGVTYW5pdGl6ZWRFcnJvclJlc3BvbnNlIiwiZW5jcnlwdGlvbktleSIsImVuZm9yY2VQcml2YXRlVXNlcnMiLCJleHBpcmVJbmFjdGl2ZVNlc3Npb25zIiwiZXh0ZW5kU2Vzc2lvbk9uVXNlIiwiZmlsZURvd25sb2FkIiwiZmlsZUtleSIsImZpbGVzQWRhcHRlciIsImZpbGVVcGxvYWQiLCJncmFwaFFMUGF0aCIsImdyYXBoUUxQdWJsaWNJbnRyb3NwZWN0aW9uIiwiZ3JhcGhRTFNjaGVtYSIsImhvc3QiLCJpZGVtcG90ZW5jeU9wdGlvbnMiLCJpbnN0YWxsYXRpb24iLCJqYXZhc2NyaXB0S2V5IiwianNvbkxvZ3MiLCJsaXZlUXVlcnkiLCJsaXZlUXVlcnlTZXJ2ZXJPcHRpb25zIiwibG9nZ2VyQWRhcHRlciIsImxvZ0xldmVsIiwibG9nTGV2ZWxzIiwibG9nc0ZvbGRlciIsIm1haW50ZW5hbmNlS2V5IiwibWFpbnRlbmFuY2VLZXlJcHMiLCJtYXN0ZXJLZXkiLCJtYXN0ZXJLZXlJcHMiLCJtYXN0ZXJLZXlUdGwiLCJtYXhMaW1pdCIsIm1heExvZ0ZpbGVzIiwibnVtYmVyT3JTdHJpbmdQYXJzZXIiLCJtYXhVcGxvYWRTaXplIiwibWlkZGxld2FyZSIsIm1vdW50R3JhcGhRTCIsIm1vdW50UGF0aCIsIm1vdW50UGxheWdyb3VuZCIsIm9iamVjdElkU2l6ZSIsInBhZ2VzIiwicGFzc3dvcmRQb2xpY3kiLCJwbGF5Z3JvdW5kUGF0aCIsInBvcnQiLCJwcmVzZXJ2ZUZpbGVOYW1lIiwicHJldmVudExvZ2luV2l0aFVudmVyaWZpZWRFbWFpbCIsImJvb2xlYW5PckZ1bmN0aW9uUGFyc2VyIiwicHJldmVudFNpZ251cFdpdGhVbnZlcmlmaWVkRW1haWwiLCJwcm90ZWN0ZWRGaWVsZHMiLCJfVXNlciIsInByb3RlY3RlZEZpZWxkc093bmVyRXhlbXB0IiwicHJvdGVjdGVkRmllbGRzU2F2ZVJlc3BvbnNlRXhlbXB0IiwicHJvdGVjdGVkRmllbGRzVHJpZ2dlckV4ZW1wdCIsInB1YmxpY1NlcnZlclVSTCIsInB1c2giLCJxdWVyeSIsInJhdGVMaW1pdCIsInJlYWRPbmx5TWFzdGVyS2V5IiwicmVhZE9ubHlNYXN0ZXJLZXlJcHMiLCJyZXF1ZXN0Q29tcGxleGl0eSIsInJlcXVlc3RDb250ZXh0TWlkZGxld2FyZSIsInJlcXVlc3RLZXl3b3JkRGVueWxpc3QiLCJrZXkiLCJ2YWx1ZSIsInJlc3RBUElLZXkiLCJyZXZva2VTZXNzaW9uT25QYXNzd29yZFJlc2V0Iiwicm91dGVBbGxvd0xpc3QiLCJzY2hlZHVsZWRQdXNoIiwic2NoZW1hIiwic2VjdXJpdHkiLCJzZW5kVXNlckVtYWlsVmVyaWZpY2F0aW9uIiwic2VydmVyQ2xvc2VDb21wbGV0ZSIsInNlcnZlclVSTCIsInNlc3Npb25MZW5ndGgiLCJzaWxlbnQiLCJzdGFydExpdmVRdWVyeVNlcnZlciIsInRydXN0UHJveHkiLCJ1c2VyU2Vuc2l0aXZlRmllbGRzIiwidmVyYm9zZSIsInZlcmlmeVNlcnZlclVybCIsInZlcmlmeVVzZXJFbWFpbHMiLCJ3ZWJob29rS2V5IiwiUmF0ZUxpbWl0T3B0aW9ucyIsImVycm9yUmVzcG9uc2VNZXNzYWdlIiwiaW5jbHVkZUludGVybmFsUmVxdWVzdHMiLCJpbmNsdWRlTWFzdGVyS2V5IiwicmVkaXNVcmwiLCJyZXF1ZXN0Q291bnQiLCJyZXF1ZXN0TWV0aG9kcyIsInJlcXVlc3RQYXRoIiwicmVxdWVzdFRpbWVXaW5kb3ciLCJ6b25lIiwiUmVxdWVzdENvbXBsZXhpdHlPcHRpb25zIiwiYWxsb3dSZWdleCIsImJhdGNoUmVxdWVzdExpbWl0IiwiZ3JhcGhRTERlcHRoIiwiZ3JhcGhRTEZpZWxkcyIsImluY2x1ZGVDb3VudCIsImluY2x1ZGVEZXB0aCIsInF1ZXJ5RGVwdGgiLCJzdWJxdWVyeURlcHRoIiwic3VicXVlcnlMaW1pdCIsIkluc3RhbGxhdGlvbk9wdGlvbnMiLCJkdXBsaWNhdGVEZXZpY2VUb2tlbkFjdGlvbiIsImR1cGxpY2F0ZURldmljZVRva2VuQWN0aW9uRW5mb3JjZUF1dGgiLCJkdXBsaWNhdGVEZXZpY2VUb2tlbk1lcmdlUHJpb3JpdHkiLCJTZWN1cml0eU9wdGlvbnMiLCJjaGVja0dyb3VwcyIsImVuYWJsZUNoZWNrIiwiZW5hYmxlQ2hlY2tMb2ciLCJRdWVyeVNlcnZlck9wdGlvbnMiLCJhZ2dyZWdhdGlvblJhd0ZpZWxkTmFtZXMiLCJhZ2dyZWdhdGlvblJhd1ZhbHVlcyIsIlBhZ2VzT3B0aW9ucyIsImN1c3RvbVJvdXRlcyIsImN1c3RvbVVybHMiLCJlbmFibGVMb2NhbGl6YXRpb24iLCJlbmNvZGVQYWdlUGFyYW1IZWFkZXJzIiwiZm9yY2VSZWRpcmVjdCIsImxvY2FsaXphdGlvbkZhbGxiYWNrTG9jYWxlIiwibG9jYWxpemF0aW9uSnNvblBhdGgiLCJwYWdlc0VuZHBvaW50IiwicGFnZXNQYXRoIiwicGxhY2Vob2xkZXJzIiwiUGFnZXNSb3V0ZSIsImhhbmRsZXIiLCJtZXRob2QiLCJwYXRoIiwiUGFnZXNDdXN0b21VcmxzT3B0aW9ucyIsImVtYWlsVmVyaWZpY2F0aW9uTGlua0V4cGlyZWQiLCJlbWFpbFZlcmlmaWNhdGlvbkxpbmtJbnZhbGlkIiwiZW1haWxWZXJpZmljYXRpb25TZW5kRmFpbCIsImVtYWlsVmVyaWZpY2F0aW9uU2VuZFN1Y2Nlc3MiLCJlbWFpbFZlcmlmaWNhdGlvblN1Y2Nlc3MiLCJwYXNzd29yZFJlc2V0IiwicGFzc3dvcmRSZXNldExpbmtJbnZhbGlkIiwicGFzc3dvcmRSZXNldFN1Y2Nlc3MiLCJDdXN0b21QYWdlc09wdGlvbnMiLCJjaG9vc2VQYXNzd29yZCIsImV4cGlyZWRWZXJpZmljYXRpb25MaW5rIiwiaW52YWxpZExpbmsiLCJpbnZhbGlkUGFzc3dvcmRSZXNldExpbmsiLCJpbnZhbGlkVmVyaWZpY2F0aW9uTGluayIsImxpbmtTZW5kRmFpbCIsImxpbmtTZW5kU3VjY2VzcyIsInBhcnNlRnJhbWVVUkwiLCJ2ZXJpZnlFbWFpbFN1Y2Nlc3MiLCJMaXZlUXVlcnlPcHRpb25zIiwiY2xhc3NOYW1lcyIsInB1YlN1YkFkYXB0ZXIiLCJyZWRpc09wdGlvbnMiLCJyZWRpc1VSTCIsInJlZ2V4VGltZW91dCIsIndzc0FkYXB0ZXIiLCJMaXZlUXVlcnlTZXJ2ZXJPcHRpb25zIiwiY2FjaGVUaW1lb3V0Iiwia2V5UGFpcnMiLCJ3ZWJzb2NrZXRUaW1lb3V0IiwiSWRlbXBvdGVuY3lPcHRpb25zIiwicGF0aHMiLCJ0dGwiLCJBY2NvdW50TG9ja291dE9wdGlvbnMiLCJkdXJhdGlvbiIsInRocmVzaG9sZCIsInVubG9ja09uUGFzc3dvcmRSZXNldCIsIlBhc3N3b3JkUG9saWN5T3B0aW9ucyIsImRvTm90QWxsb3dVc2VybmFtZSIsIm1heFBhc3N3b3JkQWdlIiwibWF4UGFzc3dvcmRIaXN0b3J5IiwicmVzZXRQYXNzd29yZFN1Y2Nlc3NPbkludmFsaWRFbWFpbCIsInJlc2V0VG9rZW5SZXVzZUlmVmFsaWQiLCJyZXNldFRva2VuVmFsaWRpdHlEdXJhdGlvbiIsInZhbGlkYXRpb25FcnJvciIsInZhbGlkYXRvckNhbGxiYWNrIiwidmFsaWRhdG9yUGF0dGVybiIsIkZpbGVVcGxvYWRPcHRpb25zIiwiYWxsb3dlZEZpbGVVcmxEb21haW5zIiwiZW5hYmxlRm9yQW5vbnltb3VzVXNlciIsImVuYWJsZUZvckF1dGhlbnRpY2F0ZWRVc2VyIiwiZW5hYmxlRm9yUHVibGljIiwiZmlsZUV4dGVuc2lvbnMiLCJGaWxlRG93bmxvYWRPcHRpb25zIiwiTG9nTGV2ZWwiLCJkZWJ1ZyIsImVycm9yIiwiaW5mbyIsInNpbGx5Iiwid2FybiIsIkxvZ0NsaWVudEV2ZW50Iiwia2V5cyIsIm5hbWUiLCJEYXRhYmFzZU9wdGlvbnMiLCJhbGxvd1B1YmxpY0V4cGxhaW4iLCJhdXRoTWVjaGFuaXNtIiwiYXV0aE1lY2hhbmlzbVByb3BlcnRpZXMiLCJhdXRoU291cmNlIiwiYXV0b1NlbGVjdEZhbWlseSIsImF1dG9TZWxlY3RGYW1pbHlBdHRlbXB0VGltZW91dCIsImJhdGNoU2l6ZSIsImNsaWVudE1ldGFkYXRhIiwiY29tcHJlc3NvcnMiLCJjb25uZWN0VGltZW91dE1TIiwiY3JlYXRlSW5kZXhBdXRoRGF0YVVuaXF1ZW5lc3MiLCJjcmVhdGVJbmRleFJvbGVOYW1lIiwiY3JlYXRlSW5kZXhVc2VyRW1haWwiLCJjcmVhdGVJbmRleFVzZXJFbWFpbENhc2VJbnNlbnNpdGl2ZSIsImNyZWF0ZUluZGV4VXNlckVtYWlsVmVyaWZ5VG9rZW4iLCJjcmVhdGVJbmRleFVzZXJQYXNzd29yZFJlc2V0VG9rZW4iLCJjcmVhdGVJbmRleFVzZXJVc2VybmFtZSIsImNyZWF0ZUluZGV4VXNlclVzZXJuYW1lQ2FzZUluc2Vuc2l0aXZlIiwiZGlyZWN0Q29ubmVjdGlvbiIsImRpc2FibGVJbmRleEZpZWxkVmFsaWRhdGlvbiIsImVuYWJsZVNjaGVtYUhvb2tzIiwiZm9yY2VTZXJ2ZXJPYmplY3RJZCIsImhlYXJ0YmVhdEZyZXF1ZW5jeU1TIiwibG9hZEJhbGFuY2VkIiwibG9jYWxUaHJlc2hvbGRNUyIsImxvZ0NsaWVudEV2ZW50cyIsIm1heENvbm5lY3RpbmciLCJtYXhJZGxlVGltZU1TIiwibWF4UG9vbFNpemUiLCJtYXhTdGFsZW5lc3NTZWNvbmRzIiwibWF4VGltZU1TIiwibWluUG9vbFNpemUiLCJwcm94eUhvc3QiLCJwcm94eVBhc3N3b3JkIiwicHJveHlQb3J0IiwicHJveHlVc2VybmFtZSIsInJlYWRDb25jZXJuTGV2ZWwiLCJyZWFkUHJlZmVyZW5jZSIsInJlYWRQcmVmZXJlbmNlVGFncyIsInJlcGxpY2FTZXQiLCJyZXRyeVJlYWRzIiwicmV0cnlXcml0ZXMiLCJzY2hlbWFDYWNoZVR0bCIsInNlcnZlck1vbml0b3JpbmdNb2RlIiwic2VydmVyU2VsZWN0aW9uVGltZW91dE1TIiwic29ja2V0VGltZW91dE1TIiwic3J2TWF4SG9zdHMiLCJzcnZTZXJ2aWNlTmFtZSIsInNzbCIsInRscyIsInRsc0FsbG93SW52YWxpZENlcnRpZmljYXRlcyIsInRsc0FsbG93SW52YWxpZEhvc3RuYW1lcyIsInRsc0NBRmlsZSIsInRsc0NlcnRpZmljYXRlS2V5RmlsZSIsInRsc0NlcnRpZmljYXRlS2V5RmlsZVBhc3N3b3JkIiwidGxzSW5zZWN1cmUiLCJ3YWl0UXVldWVUaW1lb3V0TVMiLCJ6bGliQ29tcHJlc3Npb25MZXZlbCIsIkRhdGFiYXNlT3B0aW9uc0NsaWVudE1ldGFkYXRhIiwidmVyc2lvbiIsIkF1dGhBZGFwdGVyIiwiZW5hYmxlZCIsIkxvZ0xldmVscyIsImNsb3VkRnVuY3Rpb25FcnJvciIsImNsb3VkRnVuY3Rpb25TdWNjZXNzIiwic2lnbnVwVXNlcm5hbWVUYWtlbiIsInRyaWdnZXJBZnRlciIsInRyaWdnZXJCZWZvcmVFcnJvciIsInRyaWdnZXJCZWZvcmVTdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL09wdGlvbnMvRGVmaW5pdGlvbnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbioqKiogR0VORVJBVEVEIENPREUgKioqKlxuVGhpcyBjb2RlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSByZXNvdXJjZXMvYnVpbGRDb25maWdEZWZpbml0aW9ucy5qc1xuRG8gbm90IGVkaXQgbWFudWFsbHksIGJ1dCB1cGRhdGUgT3B0aW9ucy9pbmRleC5qc1xuKi9cbnZhciBwYXJzZXJzID0gcmVxdWlyZSgnLi9wYXJzZXJzJyk7XG5tb2R1bGUuZXhwb3J0cy5TY2hlbWFPcHRpb25zID0ge1xuICBhZnRlck1pZ3JhdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TQ0hFTUFfQUZURVJfTUlHUkFUSU9OJyxcbiAgICBoZWxwOiAnRXhlY3V0ZSBhIGNhbGxiYWNrIGFmdGVyIHJ1bm5pbmcgc2NoZW1hIG1pZ3JhdGlvbnMuJyxcbiAgfSxcbiAgYmVmb3JlTWlncmF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9CRUZPUkVfTUlHUkFUSU9OJyxcbiAgICBoZWxwOiAnRXhlY3V0ZSBhIGNhbGxiYWNrIGJlZm9yZSBydW5uaW5nIHNjaGVtYSBtaWdyYXRpb25zLicsXG4gIH0sXG4gIGRlZmluaXRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9ERUZJTklUSU9OUycsXG4gICAgaGVscDogJ1Jlc3QgcmVwcmVzZW50YXRpb24gb24gUGFyc2UuU2NoZW1hIGh0dHBzOi8vZG9jcy5wYXJzZXBsYXRmb3JtLm9yZy9yZXN0L2d1aWRlLyNhZGRpbmctYS1zY2hlbWEnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIGRlbGV0ZUV4dHJhRmllbGRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9ERUxFVEVfRVhUUkFfRklFTERTJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBQYXJzZSBTZXJ2ZXIgc2hvdWxkIGRlbGV0ZSBhbnkgZmllbGRzIG5vdCBkZWZpbmVkIGluIGEgc2NoZW1hIGRlZmluaXRpb24uIFRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCBkdXJpbmcgZGV2ZWxvcG1lbnQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAga2VlcFVua25vd25JbmRleGVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9LRUVQX1VOS05PV05fSU5ERVhFUycsXG4gICAgaGVscDogXCIoT3B0aW9uYWwpIEtlZXAgaW5kZXhlcyB0aGF0IGFyZSBwcmVzZW50IGluIHRoZSBkYXRhYmFzZSBidXQgbm90IGRlZmluZWQgaW4gdGhlIHNjaGVtYS4gU2V0IHRoaXMgdG8gYHRydWVgIGlmIHlvdSBhcmUgYWRkaW5nIGluZGV4ZXMgbWFudWFsbHksIHNvIHRoYXQgdGhleSB3b24ndCBiZSByZW1vdmVkIHdoZW4gcnVubmluZyBzY2hlbWEgbWlncmF0aW9uLiBEZWZhdWx0IGlzIGBmYWxzZWAuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGxvY2tTY2hlbWFzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9MT0NLX1NDSEVNQVMnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIFBhcnNlIFNlcnZlciB3aWxsIHJlamVjdCBhbnkgYXR0ZW1wdHMgdG8gbW9kaWZ5IHRoZSBzY2hlbWEgd2hpbGUgdGhlIHNlcnZlciBpcyBydW5uaW5nLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHJlY3JlYXRlTW9kaWZpZWRGaWVsZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX1JFQ1JFQVRFX01PRElGSUVEX0ZJRUxEUycsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgUGFyc2UgU2VydmVyIHNob3VsZCByZWNyZWF0ZSBhbnkgZmllbGRzIHRoYXQgYXJlIGRpZmZlcmVudCBiZXR3ZWVuIHRoZSBjdXJyZW50IGRhdGFiYXNlIHNjaGVtYSBhbmQgdGhlc2NoZW1hIGRlZmluaXRpb24uIFRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCBkdXJpbmcgZGV2ZWxvcG1lbnQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgc3RyaWN0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9TVFJJQ1QnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIFBhcnNlIFNlcnZlciBzaG91bGQgZXhpdCBpZiBzY2hlbWEgdXBkYXRlIGZhaWwuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5QYXJzZVNlcnZlck9wdGlvbnMgPSB7XG4gIGFjY291bnRMb2Nrb3V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FDQ09VTlRfTE9DS09VVCcsXG4gICAgaGVscDogXCJUaGUgYWNjb3VudCBsb2Nrb3V0IHBvbGljeSBmb3IgZmFpbGVkIGxvZ2luIGF0dGVtcHRzLjxicj48YnI+Tm90ZTogU2V0dGluZyBhIHVzZXIncyBBQ0wgdG8gYW4gZW1wdHkgb2JqZWN0IGB7fWAgdmlhIG1hc3RlciBrZXkgaXMgYSBzZXBhcmF0ZSBtZWNoYW5pc20gdGhhdCBvbmx5IHByZXZlbnRzIG5ldyBsb2dpbnM7IGl0IGRvZXMgbm90IGludmFsaWRhdGUgZXhpc3Rpbmcgc2Vzc2lvbiB0b2tlbnMuIFRvIGltbWVkaWF0ZWx5IHJldm9rZSBhIHVzZXIncyBhY2Nlc3MsIGRlc3Ryb3kgdGhlaXIgc2Vzc2lvbnMgdmlhIG1hc3RlciBrZXkgaW4gYWRkaXRpb24gdG8gc2V0dGluZyB0aGUgQUNMLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0FjY291bnRMb2Nrb3V0T3B0aW9ucycsXG4gIH0sXG4gIGFsbG93QWdncmVnYXRpb25Gb3JSZWFkT25seU1hc3RlcktleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19BR0dSRUdBVElPTl9GT1JfUkVBRF9PTkxZX01BU1RFUl9LRVknLFxuICAgIGhlbHA6ICdXaGV0aGVyIHRoZSBgcmVhZE9ubHlNYXN0ZXJLZXlgIGlzIGFsbG93ZWQgdG8gcnVuIGFnZ3JlZ2F0aW9uIHBpcGVsaW5lcyB2aWEgdGhlIGFnZ3JlZ2F0ZSBlbmRwb2ludC4gQW4gYWdncmVnYXRpb24gcGlwZWxpbmUgY2FuIGNvbnRhaW4gd3JpdGUtY2FwYWJsZSBzdGFnZXMgKGZvciBleGFtcGxlIE1vbmdvREIgYCRvdXRgIGFuZCBgJG1lcmdlYCksIHNvIGFsbG93aW5nIGFnZ3JlZ2F0aW9uIGVmZmVjdGl2ZWx5IGdpdmVzIHRoZSByZWFkLW9ubHkgbWFzdGVyIGtleSBhIHdheSB0byBwZXJmb3JtIHdyaXRlcywgY29udHJhcnkgdG8gaXRzIHJlYWQtb25seSBpbnRlbnQuIElmIGB0cnVlYCAoZGVmYXVsdCksIHRoZSByZWFkLW9ubHkgbWFzdGVyIGtleSBjYW4gcnVuIGFnZ3JlZ2F0aW9uIHBpcGVsaW5lcy4gSWYgYGZhbHNlYCwgdGhlIHJlYWQtb25seSBtYXN0ZXIga2V5IGNhbm5vdCBydW4gYWdncmVnYXRpb24gcGlwZWxpbmVzIGF0IGFsbC4gTm90ZSB0aGF0IHRoZSBgcmVhZE9ubHlNYXN0ZXJLZXlgIGlzIGEgc2VjcmV0IGtleSBmb3IgaW50ZXJuYWwgc2VydmVyLXNpZGUgdXNlIG9ubHkgYW5kIG11c3QgbmV2ZXIgYmUgZGlzdHJpYnV0ZWQ7IHRoaXMgb3B0aW9uIGlzIGFuIGFkZGl0aW9uYWwgc2FmZWd1YXJkLCBub3QgYSBzdWJzdGl0dXRlIGZvciBrZWVwaW5nIHRoZSBrZXkgY29uZmlkZW50aWFsLiBEZWZhdWx0cyB0byBgdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBhbGxvd0NsaWVudENsYXNzQ3JlYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUxMT1dfQ0xJRU5UX0NMQVNTX0NSRUFUSU9OJyxcbiAgICBoZWxwOiAnRW5hYmxlIChvciBkaXNhYmxlKSBjbGllbnQgY2xhc3MgY3JlYXRpb24sIGRlZmF1bHRzIHRvIGZhbHNlJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgYWxsb3dDdXN0b21PYmplY3RJZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19DVVNUT01fT0JKRUNUX0lEJyxcbiAgICBoZWxwOiAnRW5hYmxlIChvciBkaXNhYmxlKSBjdXN0b20gb2JqZWN0SWQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBhbGxvd0V4cGlyZWRBdXRoRGF0YVRva2VuOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX0VYUElSRURfQVVUSF9EQVRBX1RPS0VOJyxcbiAgICBoZWxwOiAnRGVwcmVjYXRlZC4gVGhpcyBvcHRpb24gd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uIEF1dGggcHJvdmlkZXJzIGFyZSBhbHdheXMgdmFsaWRhdGVkIG9uIGxvZ2luLiBPbiB1cGRhdGUsIGlmIHRoaXMgaXMgc2V0IHRvIGB0cnVlYCwgYXV0aCBwcm92aWRlcnMgYXJlIG9ubHkgcmUtdmFsaWRhdGVkIHdoZW4gdGhlIGF1dGggZGF0YSBoYXMgY2hhbmdlZC4gSWYgdGhpcyBpcyBzZXQgdG8gYGZhbHNlYCwgYXV0aCBwcm92aWRlcnMgYXJlIHJlLXZhbGlkYXRlZCBvbiBldmVyeSB1cGRhdGUuIERlZmF1bHRzIHRvIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgYWxsb3dIZWFkZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX0hFQURFUlMnLFxuICAgIGhlbHA6ICdBZGQgaGVhZGVycyB0byBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIGFsbG93T3JpZ2luOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX09SSUdJTicsXG4gICAgaGVscDogJ1NldHMgb3JpZ2lucyBmb3IgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLiBUaGlzIGNhbiBiZSBhIHN0cmluZyBmb3IgYSBzaW5nbGUgb3JpZ2luIG9yIGFuIGFycmF5IG9mIHN0cmluZ3MgZm9yIG11bHRpcGxlIG9yaWdpbnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIGFuYWx5dGljc0FkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQU5BTFlUSUNTX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgdGhlIGFuYWx5dGljcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBhcHBJZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BUFBMSUNBVElPTl9JRCcsXG4gICAgaGVscDogJ1lvdXIgUGFyc2UgQXBwbGljYXRpb24gSUQnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBhcHBOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FQUF9OQU1FJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgYXBwIG5hbWUnLFxuICB9LFxuICBhdXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FVVEhfUFJPVklERVJTJyxcbiAgICBoZWxwOiBcIkNvbmZpZ3VyYXRpb24gZm9yIHlvdXIgYXV0aGVudGljYXRpb24gcHJvdmlkZXJzLCBhcyBzdHJpbmdpZmllZCBKU09OLiBTZWUgaHR0cDovL2RvY3MucGFyc2VwbGF0Zm9ybS5vcmcvcGFyc2Utc2VydmVyL2d1aWRlLyNvYXV0aC1hbmQtM3JkLXBhcnR5LWF1dGhlbnRpY2F0aW9uPGJyPjxicj5Qcm92aWRlciBuYW1lcyBtdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIgYW5kIGNvbnRhaW4gb25seSBsZXR0ZXJzLCBkaWdpdHMsIGFuZCB1bmRlcnNjb3JlcyAoYC9eW0EtWmEtel1bQS1aYS16MC05X10qJC9gKS4gVGhpcyBpcyBiZWNhdXNlIGVhY2ggcHJvdmlkZXIgbmFtZSBpcyB1c2VkIHRvIGNvbnN0cnVjdCBhIGRhdGFiYXNlIGZpZWxkIChgX2F1dGhfZGF0YV88cHJvdmlkZXI+YCksIHdoaWNoIG11c3QgY29tcGx5IHdpdGggUGFyc2UgU2VydmVyJ3MgZmllbGQgbmFtaW5nIHJ1bGVzLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIGNhY2hlQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DQUNIRV9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBjYWNoZScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBjYWNoZU1heFNpemU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0FDSEVfTUFYX1NJWkUnLFxuICAgIGhlbHA6ICdTZXRzIHRoZSBtYXhpbXVtIHNpemUgZm9yIHRoZSBpbiBtZW1vcnkgY2FjaGUsIGRlZmF1bHRzIHRvIDEwMDAwJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdjYWNoZU1heFNpemUnKSxcbiAgICBkZWZhdWx0OiAxMDAwMCxcbiAgfSxcbiAgY2FjaGVUVEw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0FDSEVfVFRMJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgVFRMIGZvciB0aGUgaW4gbWVtb3J5IGNhY2hlIChpbiBtcyksIGRlZmF1bHRzIHRvIDUwMDAgKDUgc2Vjb25kcyknLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2NhY2hlVFRMJyksXG4gICAgZGVmYXVsdDogNTAwMCxcbiAgfSxcbiAgY2xpZW50S2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NMSUVOVF9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIGlPUywgTWFjT1MsIHR2T1MgY2xpZW50cycsXG4gIH0sXG4gIGNsb3VkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NMT1VEJyxcbiAgICBoZWxwOiAnRnVsbCBwYXRoIHRvIHlvdXIgY2xvdWQgY29kZSBtYWluLmpzJyxcbiAgfSxcbiAgY2x1c3Rlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DTFVTVEVSJyxcbiAgICBoZWxwOiAnUnVuIHdpdGggY2x1c3Rlciwgb3B0aW9uYWxseSBzZXQgdGhlIG51bWJlciBvZiBwcm9jZXNzZXMgZGVmYXVsdCB0byBvcy5jcHVzKCkubGVuZ3RoJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyT3JCb29sUGFyc2VyKCdjbHVzdGVyJyksXG4gIH0sXG4gIGNvbGxlY3Rpb25QcmVmaXg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ09MTEVDVElPTl9QUkVGSVgnLFxuICAgIGhlbHA6ICdBIGNvbGxlY3Rpb24gcHJlZml4IGZvciB0aGUgY2xhc3NlcycsXG4gICAgZGVmYXVsdDogJycsXG4gIH0sXG4gIGNvbnZlcnRFbWFpbFRvTG93ZXJjYXNlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NPTlZFUlRfRU1BSUxfVE9fTE9XRVJDQVNFJyxcbiAgICBoZWxwOiAnT3B0aW9uYWwuIElmIHNldCB0byBgdHJ1ZWAsIHRoZSBgZW1haWxgIHByb3BlcnR5IG9mIGEgdXNlciBpcyBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBsb3dlcmNhc2UgYmVmb3JlIGJlaW5nIHN0b3JlZCBpbiB0aGUgZGF0YWJhc2UuIENvbnNlcXVlbnRseSwgcXVlcmllcyBtdXN0IG1hdGNoIHRoZSBjYXNlIGFzIHN0b3JlZCBpbiB0aGUgZGF0YWJhc2UsIHdoaWNoIHdvdWxkIGJlIGxvd2VyY2FzZSBpbiB0aGlzIHNjZW5hcmlvLiBJZiBgZmFsc2VgLCB0aGUgYGVtYWlsYCBwcm9wZXJ0eSBpcyBzdG9yZWQgYXMgc2V0LCB3aXRob3V0IGFueSBjYXNlIG1vZGlmaWNhdGlvbnMuIERlZmF1bHQgaXMgYGZhbHNlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBjb252ZXJ0VXNlcm5hbWVUb0xvd2VyY2FzZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DT05WRVJUX1VTRVJOQU1FX1RPX0xPV0VSQ0FTRScsXG4gICAgaGVscDogJ09wdGlvbmFsLiBJZiBzZXQgdG8gYHRydWVgLCB0aGUgYHVzZXJuYW1lYCBwcm9wZXJ0eSBvZiBhIHVzZXIgaXMgYXV0b21hdGljYWxseSBjb252ZXJ0ZWQgdG8gbG93ZXJjYXNlIGJlZm9yZSBiZWluZyBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlLiBDb25zZXF1ZW50bHksIHF1ZXJpZXMgbXVzdCBtYXRjaCB0aGUgY2FzZSBhcyBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlLCB3aGljaCB3b3VsZCBiZSBsb3dlcmNhc2UgaW4gdGhpcyBzY2VuYXJpby4gSWYgYGZhbHNlYCwgdGhlIGB1c2VybmFtZWAgcHJvcGVydHkgaXMgc3RvcmVkIGFzIHNldCwgd2l0aG91dCBhbnkgY2FzZSBtb2RpZmljYXRpb25zLiBEZWZhdWx0IGlzIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgY3VzdG9tUGFnZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTJyxcbiAgICBoZWxwOiAnY3VzdG9tIHBhZ2VzIGZvciBwYXNzd29yZCB2YWxpZGF0aW9uIGFuZCByZXNldCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnQ3VzdG9tUGFnZXNPcHRpb25zJyxcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgZGF0YWJhc2VBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgdGhlIGRhdGFiYXNlOyBhbnkgb3B0aW9ucyB0aGF0IGFyZSBub3QgZXhwbGljaXRseSBkZXNjcmliZWQgaGVyZSBhcmUgcGFzc2VkIGRpcmVjdGx5IHRvIHRoZSBkYXRhYmFzZSBjbGllbnQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIGRhdGFiYXNlT3B0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9PUFRJT05TJyxcbiAgICBoZWxwOiAnT3B0aW9ucyB0byBwYXNzIHRvIHRoZSBkYXRhYmFzZSBjbGllbnQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0RhdGFiYXNlT3B0aW9ucycsXG4gIH0sXG4gIGRhdGFiYXNlVVJJOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1VSSScsXG4gICAgaGVscDogJ1RoZSBmdWxsIFVSSSB0byB5b3VyIGRhdGFiYXNlLiBTdXBwb3J0ZWQgZGF0YWJhc2VzIGFyZSBtb25nb2RiIG9yIHBvc3RncmVzLicsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVmYXVsdDogJ21vbmdvZGI6Ly9sb2NhbGhvc3Q6MjcwMTcvcGFyc2UnLFxuICB9LFxuICBkZWZhdWx0TGltaXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREVGQVVMVF9MSU1JVCcsXG4gICAgaGVscDogJ0RlZmF1bHQgdmFsdWUgZm9yIGxpbWl0IG9wdGlvbiBvbiBxdWVyaWVzLCBkZWZhdWx0cyB0byBgMTAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2RlZmF1bHRMaW1pdCcpLFxuICAgIGRlZmF1bHQ6IDEwMCxcbiAgfSxcbiAgZGlyZWN0QWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RJUkVDVF9BQ0NFU1MnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIGlmIFBhcnNlIHJlcXVlc3RzIHdpdGhpbiB0aGUgc2FtZSBOb2RlLmpzIGVudmlyb25tZW50IGFzIFBhcnNlIFNlcnZlciBzaG91bGQgYmUgcm91dGVkIHRvIFBhcnNlIFNlcnZlciBkaXJlY3RseSBpbnN0ZWFkIG9mIHZpYSB0aGUgSFRUUCBpbnRlcmZhY2UuIERlZmF1bHQgaXMgYGZhbHNlYC48YnI+PGJyPklmIHNldCB0byBgZmFsc2VgIHRoZW4gUGFyc2UgcmVxdWVzdHMgd2l0aGluIHRoZSBzYW1lIE5vZGUuanMgZW52aXJvbm1lbnQgYXMgUGFyc2UgU2VydmVyIGFyZSBleGVjdXRlZCBhcyBIVFRQIHJlcXVlc3RzIHNlbnQgdG8gUGFyc2UgU2VydmVyIHZpYSB0aGUgYHNlcnZlclVSTGAuIEZvciBleGFtcGxlLCBhIGBQYXJzZS5RdWVyeWAgaW4gQ2xvdWQgQ29kZSBpcyBjYWxsaW5nIFBhcnNlIFNlcnZlciB2aWEgYSBIVFRQIHJlcXVlc3QuIFRoZSBzZXJ2ZXIgaXMgZXNzZW50aWFsbHkgbWFraW5nIGEgSFRUUCByZXF1ZXN0IHRvIGl0c2VsZiwgdW5uZWNlc3NhcmlseSB1c2luZyBuZXR3b3JrIHJlc291cmNlcyBzdWNoIGFzIG5ldHdvcmsgcG9ydHMuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBJbiBlbnZpcm9ubWVudHMgd2hlcmUgbXVsdGlwbGUgUGFyc2UgU2VydmVyIGluc3RhbmNlcyBydW4gYmVoaW5kIGEgbG9hZCBiYWxhbmNlciBhbmQgUGFyc2UgcmVxdWVzdHMgd2l0aGluIHRoZSBjdXJyZW50IE5vZGUuanMgZW52aXJvbm1lbnQgc2hvdWxkIGJlIHJvdXRlZCB2aWEgdGhlIGxvYWQgYmFsYW5jZXIgYW5kIGRpc3RyaWJ1dGVkIGFzIEhUVFAgcmVxdWVzdHMgYW1vbmcgYWxsIGluc3RhbmNlcyB2aWEgdGhlIGBzZXJ2ZXJVUkxgLCB0aGlzIHNob3VsZCBiZSBzZXQgdG8gYGZhbHNlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGRvdE5ldEtleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9ET1RfTkVUX0tFWScsXG4gICAgaGVscDogJ0tleSBmb3IgVW5pdHkgYW5kIC5OZXQgU0RLJyxcbiAgfSxcbiAgZW1haWxBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VNQUlMX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgZW1haWwgc2VuZGluZycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBlbWFpbFZlcmlmeVN1Y2Nlc3NPbkludmFsaWRFbWFpbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTUFJTF9WRVJJRllfU1VDQ0VTU19PTl9JTlZBTElEX0VNQUlMJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCBpZiBhIHJlcXVlc3QgdG8gdmVyaWZ5IHRoZSBlbWFpbCBzaG91bGQgcmV0dXJuIGEgc3VjY2VzcyByZXNwb25zZSBldmVuIGlmIHRoZSBwcm92aWRlZCBlbWFpbCBhZGRyZXNzIGRvZXMgbm90IGJlbG9uZyB0byBhIHZlcmlmaWFibGUgYWNjb3VudCwgZm9yIGV4YW1wbGUgYmVjYXVzZSBpdCBpcyB1bmtub3duIG9yIGFscmVhZHkgdmVyaWZpZWQsIG9yIGBmYWxzZWAgaWYgdGhlIHJlcXVlc3Qgc2hvdWxkIHJldHVybiBhbiBlcnJvciByZXNwb25zZSBpbiB0aG9zZSBjYXNlcy48YnI+PGJyPkRlZmF1bHQgaXMgYHRydWVgLjxicj5SZXF1aXJlcyBvcHRpb24gYHZlcmlmeVVzZXJFbWFpbHM6IHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZW1haWxWZXJpZnlUb2tlblJldXNlSWZWYWxpZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTUFJTF9WRVJJRllfVE9LRU5fUkVVU0VfSUZfVkFMSUQnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIGlmIGEgZW1haWwgdmVyaWZpY2F0aW9uIHRva2VuIHNob3VsZCBiZSByZXVzZWQgaW4gY2FzZSBhbm90aGVyIHRva2VuIGlzIHJlcXVlc3RlZCBidXQgdGhlcmUgaXMgYSB0b2tlbiB0aGF0IGlzIHN0aWxsIHZhbGlkLCBpLmUuIGhhcyBub3QgZXhwaXJlZC4gVGhpcyBhdm9pZHMgdGhlIG9mdGVuIG9ic2VydmVkIGlzc3VlIHRoYXQgYSB1c2VyIHJlcXVlc3RzIG11bHRpcGxlIGVtYWlscyBhbmQgZG9lcyBub3Qga25vdyB3aGljaCBsaW5rIGNvbnRhaW5zIGEgdmFsaWQgdG9rZW4gYmVjYXVzZSBlYWNoIG5ld2x5IGdlbmVyYXRlZCB0b2tlbiB3b3VsZCBpbnZhbGlkYXRlIHRoZSBwcmV2aW91cyB0b2tlbi48YnI+PGJyPkRlZmF1bHQgaXMgYGZhbHNlYC48YnI+UmVxdWlyZXMgb3B0aW9uIGB2ZXJpZnlVc2VyRW1haWxzOiB0cnVlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbWFpbFZlcmlmeVRva2VuVmFsaWRpdHlEdXJhdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTUFJTF9WRVJJRllfVE9LRU5fVkFMSURJVFlfRFVSQVRJT04nLFxuICAgIGhlbHA6ICdTZXQgdGhlIHZhbGlkaXR5IGR1cmF0aW9uIG9mIHRoZSBlbWFpbCB2ZXJpZmljYXRpb24gdG9rZW4gaW4gc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgdG9rZW4gZXhwaXJlcy4gVGhlIHRva2VuIGlzIHVzZWQgaW4gdGhlIGxpbmsgdGhhdCBpcyBzZXQgaW4gdGhlIGVtYWlsLiBBZnRlciB0aGUgdG9rZW4gZXhwaXJlcywgdGhlIGxpbmsgYmVjb21lcyBpbnZhbGlkIGFuZCBhIG5ldyBsaW5rIGhhcyB0byBiZSBzZW50LiBJZiB0aGUgb3B0aW9uIGlzIG5vdCBzZXQgb3Igc2V0IHRvIGB1bmRlZmluZWRgLCB0aGVuIHRoZSB0b2tlbiBuZXZlciBleHBpcmVzLjxicj48YnI+Rm9yIGV4YW1wbGUsIHRvIGV4cGlyZSB0aGUgdG9rZW4gYWZ0ZXIgMiBob3Vycywgc2V0IGEgdmFsdWUgb2YgNzIwMCBzZWNvbmRzICg9IDYwIHNlY29uZHMgKiA2MCBtaW51dGVzICogMiBob3VycykuPGJyPjxicj5EZWZhdWx0IGlzIGB1bmRlZmluZWRgLjxicj5SZXF1aXJlcyBvcHRpb24gYHZlcmlmeVVzZXJFbWFpbHM6IHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignZW1haWxWZXJpZnlUb2tlblZhbGlkaXR5RHVyYXRpb24nKSxcbiAgfSxcbiAgZW5hYmxlQW5vbnltb3VzVXNlcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU5BQkxFX0FOT05fVVNFUlMnLFxuICAgIGhlbHA6ICdFbmFibGUgKG9yIGRpc2FibGUpIGFub255bW91cyB1c2VycywgZGVmYXVsdHMgdG8gdHJ1ZScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZW5hYmxlQ29sbGF0aW9uQ2FzZUNvbXBhcmlzb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU5BQkxFX0NPTExBVElPTl9DQVNFX0NPTVBBUklTT04nLFxuICAgIGhlbHA6ICdPcHRpb25hbC4gSWYgc2V0IHRvIGB0cnVlYCwgdGhlIGNvbGxhdGlvbiBydWxlIG9mIGNhc2UgY29tcGFyaXNvbiBmb3IgcXVlcmllcyBhbmQgaW5kZXhlcyBpcyBlbmFibGVkLiBFbmFibGUgdGhpcyBvcHRpb24gdG8gcnVuIFBhcnNlIFNlcnZlciB3aXRoIE1vbmdvREIgQXRsYXMgU2VydmVybGVzcyBvciBBV1MgQW1hem9uIERvY3VtZW50REIuIElmIGBmYWxzZWAsIHRoZSBjb2xsYXRpb24gcnVsZSBvZiBjYXNlIGNvbXBhcmlzb24gaXMgZGlzYWJsZWQuIERlZmF1bHQgaXMgYGZhbHNlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmFibGVFeHByZXNzRXJyb3JIYW5kbGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQUJMRV9FWFBSRVNTX0VSUk9SX0hBTkRMRVInLFxuICAgIGhlbHA6ICdFbmFibGVzIHRoZSBkZWZhdWx0IGV4cHJlc3MgZXJyb3IgaGFuZGxlciBmb3IgYWxsIGVycm9ycycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVuYWJsZUluc2VjdXJlQXV0aEFkYXB0ZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQUJMRV9JTlNFQ1VSRV9BVVRIX0FEQVBURVJTJyxcbiAgICBoZWxwOiAnT3B0aW9uYWwuIEVuYWJsZXMgaW5zZWN1cmUgYXV0aGVudGljYXRpb24gYWRhcHRlcnMuIEluc2VjdXJlIGF1dGggYWRhcHRlcnMgYXJlIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLiBEZWZhdWx0cyB0byBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVuYWJsZVByb2R1Y3RQdXJjaGFzZUxlZ2FjeUFwaToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkFCTEVfUFJPRFVDVF9QVVJDSEFTRV9MRUdBQ1lfQVBJJyxcbiAgICBoZWxwOiAnRGVwcmVjYXRlZC4gRW5hYmxlcyB0aGUgbGVnYWN5IHByb2R1Y3QgcHVyY2hhc2UgQVBJIGluY2x1ZGluZyB0aGUgYF9Qcm9kdWN0YCBjbGFzcyBhbmQgdGhlIGAvdmFsaWRhdGVfcHVyY2hhc2VgIGVuZHBvaW50LiBUaGlzIGlzIGFuIHVuZG9jdW1lbnRlZCwgdW5tYWludGFpbmVkIGxlZ2FjeSBmZWF0dXJlIGluaGVyaXRlZCBmcm9tIHRoZSBvcmlnaW5hbCBQYXJzZSBwbGF0Zm9ybSB0aGF0IG1heSBub3QgZnVuY3Rpb24gYXMgZXhwZWN0ZWQuIFdlIHN0cm9uZ2x5IGFkdmlzZSBhZ2FpbnN0IHVzaW5nIGl0LiBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgdmVyc2lvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGVuYWJsZVNhbml0aXplZEVycm9yUmVzcG9uc2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU5BQkxFX1NBTklUSVpFRF9FUlJPUl9SRVNQT05TRScsXG4gICAgaGVscDogJ0lmIHNldCB0byBgdHJ1ZWAsIGVycm9yIGRldGFpbHMgYXJlIHJlbW92ZWQgZnJvbSBlcnJvciBtZXNzYWdlcyBpbiByZXNwb25zZXMgdG8gY2xpZW50IHJlcXVlc3RzLCBhbmQgaW5zdGVhZCBhIGdlbmVyaWMgZXJyb3IgbWVzc2FnZSBpcyBzZW50LiBEZWZhdWx0IGlzIGB0cnVlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGVuY3J5cHRpb25LZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU5DUllQVElPTl9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIGVuY3J5cHRpbmcgeW91ciBmaWxlcycsXG4gIH0sXG4gIGVuZm9yY2VQcml2YXRlVXNlcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU5GT1JDRV9QUklWQVRFX1VTRVJTJyxcbiAgICBoZWxwOiAnU2V0IHRvIHRydWUgaWYgbmV3IHVzZXJzIHNob3VsZCBiZSBjcmVhdGVkIHdpdGhvdXQgcHVibGljIHJlYWQgYW5kIHdyaXRlIGFjY2Vzcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGV4cGlyZUluYWN0aXZlU2Vzc2lvbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRVhQSVJFX0lOQUNUSVZFX1NFU1NJT05TJyxcbiAgICBoZWxwOiAnU2V0cyB3aGV0aGVyIHdlIHNob3VsZCBleHBpcmUgdGhlIGluYWN0aXZlIHNlc3Npb25zLCBkZWZhdWx0cyB0byB0cnVlLiBJZiBmYWxzZSwgYWxsIG5ldyBzZXNzaW9ucyBhcmUgY3JlYXRlZCB3aXRoIG5vIGV4cGlyYXRpb24gZGF0ZS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGV4dGVuZFNlc3Npb25PblVzZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FWFRFTkRfU0VTU0lPTl9PTl9VU0UnLFxuICAgIGhlbHA6IFwiV2hldGhlciBQYXJzZSBTZXJ2ZXIgc2hvdWxkIGF1dG9tYXRpY2FsbHkgZXh0ZW5kIGEgdmFsaWQgc2Vzc2lvbiBieSB0aGUgc2Vzc2lvbkxlbmd0aC4gSW4gb3JkZXIgdG8gcmVkdWNlIHRoZSBudW1iZXIgb2Ygc2Vzc2lvbiB1cGRhdGVzIGluIHRoZSBkYXRhYmFzZSwgYSBzZXNzaW9uIHdpbGwgb25seSBiZSBleHRlbmRlZCB3aGVuIGEgcmVxdWVzdCBpcyByZWNlaXZlZCBhZnRlciBhdCBsZWFzdCBoYWxmIG9mIHRoZSBjdXJyZW50IHNlc3Npb24ncyBsaWZldGltZSBoYXMgcGFzc2VkLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBmaWxlRG93bmxvYWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9ET1dOTE9BRF9PUFRJT05TJyxcbiAgICBoZWxwOiAnT3B0aW9ucyBmb3IgZmlsZSBkb3dubG9hZHMnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0ZpbGVEb3dubG9hZE9wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBmaWxlS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0ZJTEVfS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciB5b3VyIGZpbGVzJyxcbiAgfSxcbiAgZmlsZXNBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0ZJTEVTX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgdGhlIGZpbGVzIHN1Yi1zeXN0ZW0nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgZmlsZVVwbG9hZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9PUFRJT05TJyxcbiAgICBoZWxwOiAnT3B0aW9ucyBmb3IgZmlsZSB1cGxvYWRzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdGaWxlVXBsb2FkT3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGdyYXBoUUxQYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0dSQVBIUUxfUEFUSCcsXG4gICAgaGVscDogJ1RoZSBtb3VudCBwYXRoIGZvciB0aGUgR3JhcGhRTCBlbmRwb2ludDxicj48YnI+XFx1MjZBMFxcdUZFMEYgRmlsZSB1cGxvYWQgaW5zaWRlIHRoZSBHcmFwaFFMIG11dGF0aW9uIHN5c3RlbSByZXF1aXJlcyBQYXJzZSBTZXJ2ZXIgdG8gYmUgYWJsZSB0byBjYWxsIGl0c2VsZiBieSBtYWtpbmcgcmVxdWVzdHMgdG8gdGhlIFVSTCBzZXQgaW4gYHNlcnZlclVSTGAuPGJyPjxicj5EZWZhdWx0cyBpcyBgL2dyYXBocWxgLicsXG4gICAgZGVmYXVsdDogJy9ncmFwaHFsJyxcbiAgfSxcbiAgZ3JhcGhRTFB1YmxpY0ludHJvc3BlY3Rpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfR1JBUEhRTF9QVUJMSUNfSU5UUk9TUEVDVElPTicsXG4gICAgaGVscDogJ0VuYWJsZSBwdWJsaWMgaW50cm9zcGVjdGlvbiBmb3IgdGhlIEdyYXBoUUwgZW5kcG9pbnQsIGRlZmF1bHRzIHRvIGZhbHNlJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZ3JhcGhRTFNjaGVtYToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9HUkFQSF9RTFNDSEVNQScsXG4gICAgaGVscDogJ0Z1bGwgcGF0aCB0byB5b3VyIEdyYXBoUUwgY3VzdG9tIHNjaGVtYS5ncmFwaHFsIGZpbGUnLFxuICB9LFxuICBob3N0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0hPU1QnLFxuICAgIGhlbHA6ICdUaGUgaG9zdCB0byBzZXJ2ZSBQYXJzZVNlcnZlciBvbiwgZGVmYXVsdHMgdG8gMC4wLjAuMCcsXG4gICAgZGVmYXVsdDogJzAuMC4wLjAnLFxuICB9LFxuICBpZGVtcG90ZW5jeU9wdGlvbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRVhQRVJJTUVOVEFMX0lERU1QT1RFTkNZX09QVElPTlMnLFxuICAgIGhlbHA6ICdPcHRpb25zIGZvciByZXF1ZXN0IGlkZW1wb3RlbmN5IHRvIGRlZHVwbGljYXRlIGlkZW50aWNhbCByZXF1ZXN0cyB0aGF0IG1heSBiZSBjYXVzZWQgYnkgbmV0d29yayBpc3N1ZXMuIENhdXRpb24sIHRoaXMgaXMgYW4gZXhwZXJpbWVudGFsIGZlYXR1cmUgdGhhdCBtYXkgbm90IGJlIGFwcHJvcHJpYXRlIGZvciBwcm9kdWN0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnSWRlbXBvdGVuY3lPcHRpb25zJyxcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgaW5zdGFsbGF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0lOU1RBTExBVElPTicsXG4gICAgaGVscDogJ09wdGlvbnMgY29udHJvbGxpbmcgaG93IFBhcnNlIFNlcnZlciBkZWR1cGxpY2F0ZXMgYF9JbnN0YWxsYXRpb25gIHJlY29yZHMgdGhhdCBzaGFyZSB0aGUgc2FtZSBgZGV2aWNlVG9rZW5gLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnSW5zdGFsbGF0aW9uT3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGphdmFzY3JpcHRLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfSkFWQVNDUklQVF9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIHRoZSBKYXZhc2NyaXB0IFNESycsXG4gIH0sXG4gIGpzb25Mb2dzOiB7XG4gICAgZW52OiAnSlNPTl9MT0dTJyxcbiAgICBoZWxwOiAnTG9nIGFzIHN0cnVjdHVyZWQgSlNPTiBvYmplY3RzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgbGl2ZVF1ZXJ5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVfUVVFUlknLFxuICAgIGhlbHA6IFwicGFyc2Utc2VydmVyJ3MgTGl2ZVF1ZXJ5IGNvbmZpZ3VyYXRpb24gb2JqZWN0XCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnTGl2ZVF1ZXJ5T3B0aW9ucycsXG4gIH0sXG4gIGxpdmVRdWVyeVNlcnZlck9wdGlvbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTElWRV9RVUVSWV9TRVJWRVJfT1BUSU9OUycsXG4gICAgaGVscDogJ0xpdmUgcXVlcnkgc2VydmVyIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyAod2lsbCBzdGFydCB0aGUgbGl2ZVF1ZXJ5IHNlcnZlciknLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0xpdmVRdWVyeVNlcnZlck9wdGlvbnMnLFxuICB9LFxuICBsb2dnZXJBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR0dFUl9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBsb2dnaW5nIHN1Yi1zeXN0ZW0nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgbG9nTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgbGV2ZWwgZm9yIGxvZ3MnLFxuICB9LFxuICBsb2dMZXZlbHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMUycsXG4gICAgaGVscDogJyhPcHRpb25hbCkgT3ZlcnJpZGVzIHRoZSBsb2cgbGV2ZWxzIHVzZWQgaW50ZXJuYWxseSBieSBQYXJzZSBTZXJ2ZXIgdG8gbG9nIGV2ZW50cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0xvZ0xldmVscycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGxvZ3NGb2xkZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HU19GT0xERVInLFxuICAgIGhlbHA6IFwiRm9sZGVyIGZvciB0aGUgbG9ncyAoZGVmYXVsdHMgdG8gJy4vbG9ncycpOyBzZXQgdG8gbnVsbCB0byBkaXNhYmxlIGZpbGUgYmFzZWQgbG9nZ2luZ1wiLFxuICAgIGRlZmF1bHQ6ICcuL2xvZ3MnLFxuICB9LFxuICBtYWludGVuYW5jZUtleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQUlOVEVOQU5DRV9LRVknLFxuICAgIGhlbHA6ICcoT3B0aW9uYWwpIFRoZSBtYWludGVuYW5jZSBrZXkgaXMgdXNlZCBmb3IgbW9kaWZ5aW5nIGludGVybmFsIGFuZCByZWFkLW9ubHkgZmllbGRzIG9mIFBhcnNlIFNlcnZlci48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIFRoaXMga2V5IGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIHBhcnQgb2YgYSByZWd1bGFyIG9wZXJhdGlvbiBvZiBQYXJzZSBTZXJ2ZXIuIFRoaXMga2V5IGlzIGludGVuZGVkIHRvIGNvbmR1Y3Qgb3V0LW9mLWJhbmQgY2hhbmdlcyBzdWNoIGFzIG9uZS10aW1lIG1pZ3JhdGlvbnMgb3IgZGF0YSBjb3JyZWN0aW9uIHRhc2tzLiBJbnRlcm5hbCBmaWVsZHMgYXJlIG5vdCBvZmZpY2lhbGx5IGRvY3VtZW50ZWQgYW5kIG1heSBjaGFuZ2UgYXQgYW55IHRpbWUgd2l0aG91dCBwdWJsaWNhdGlvbiBpbiByZWxlYXNlIGNoYW5nZWxvZ3MuIFdlIHN0cm9uZ2x5IGFkdmljZSBub3QgdG8gcmVseSBvbiBpbnRlcm5hbCBmaWVsZHMgYXMgcGFydCBvZiB5b3VyIHJlZ3VsYXIgb3BlcmF0aW9uIGFuZCB0byBpbnZlc3RpZ2F0ZSB0aGUgaW1wbGljYXRpb25zIG9mIGFueSBwbGFubmVkIGNoYW5nZXMgKmRpcmVjdGx5IGluIHRoZSBzb3VyY2UgY29kZSogb2YgeW91ciBjdXJyZW50IHZlcnNpb24gb2YgUGFyc2UgU2VydmVyLicsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIG1haW50ZW5hbmNlS2V5SXBzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BSU5URU5BTkNFX0tFWV9JUFMnLFxuICAgIGhlbHA6IFwiKE9wdGlvbmFsKSBSZXN0cmljdHMgdGhlIHVzZSBvZiBtYWludGVuYW5jZSBrZXkgcGVybWlzc2lvbnMgdG8gYSBsaXN0IG9mIElQIGFkZHJlc3NlcyBvciByYW5nZXMuPGJyPjxicj5UaGlzIG9wdGlvbiBhY2NlcHRzIGEgbGlzdCBvZiBzaW5nbGUgSVAgYWRkcmVzc2VzLCBmb3IgZXhhbXBsZSBgWycxMC4wLjAuMScsICcxMC4wLjAuMiddYC4gWW91IGNhbiBhbHNvIHVzZSBDSURSIG5vdGF0aW9uIHRvIHNwZWNpZnkgYW4gSVAgYWRkcmVzcyByYW5nZSwgZm9yIGV4YW1wbGUgYFsnMTAuMC4xLjAvMjQnXWAuPGJyPjxicj48Yj5TcGVjaWFsIHNjZW5hcmlvczo8L2I+PGJyPi0gU2V0dGluZyBhbiBlbXB0eSBhcnJheSBgW11gIG1lYW5zIHRoYXQgdGhlIG1haW50ZW5hbmNlIGtleSBjYW5ub3QgYmUgdXNlZCBldmVuIGluIFBhcnNlIFNlcnZlciBDbG91ZCBDb2RlLiBUaGlzIHZhbHVlIGNhbm5vdCBiZSBzZXQgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIGFzIHRoZXJlIGlzIG5vIHdheSB0byBwYXNzIGFuIGVtcHR5IGFycmF5IHRvIFBhcnNlIFNlcnZlciB2aWEgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuPGJyPi0gU2V0dGluZyBgWycwLjAuMC4wLzAnLCAnOjowJ11gIG1lYW5zIHRvIGFsbG93IGFueSBJUHY0IGFuZCBJUHY2IGFkZHJlc3MgdG8gdXNlIHRoZSBtYWludGVuYW5jZSBrZXkgYW5kIGVmZmVjdGl2ZWx5IGRpc2FibGVzIHRoZSBJUCBmaWx0ZXIuPGJyPjxicj48Yj5Db25zaWRlcmF0aW9uczo8L2I+PGJyPi0gSVB2NCBhbmQgSVB2NiBhZGRyZXNzZXMgYXJlIG5vdCBjb21wYXJlZCBhZ2FpbnN0IGVhY2ggb3RoZXIuIEVhY2ggSVAgdmVyc2lvbiAoSVB2NCBhbmQgSVB2NikgbmVlZHMgdG8gYmUgY29uc2lkZXJlZCBzZXBhcmF0ZWx5LiBGb3IgZXhhbXBsZSwgYFsnMC4wLjAuMC8wJ11gIGFsbG93cyBhbnkgSVB2NCBhZGRyZXNzIGFuZCBibG9ja3MgZXZlcnkgSVB2NiBhZGRyZXNzLiBDb252ZXJzZWx5LCBgWyc6OjAnXWAgYWxsb3dzIGFueSBJUHY2IGFkZHJlc3MgYW5kIGJsb2NrcyBldmVyeSBJUHY0IGFkZHJlc3MuPGJyPi0gS2VlcCBpbiBtaW5kIHRoYXQgdGhlIElQIHZlcnNpb24gaW4gdXNlIGRlcGVuZHMgb24gdGhlIG5ldHdvcmsgc3RhY2sgb2YgdGhlIGVudmlyb25tZW50IGluIHdoaWNoIFBhcnNlIFNlcnZlciBydW5zLiBBIGxvY2FsIGVudmlyb25tZW50IG1heSB1c2UgYSBkaWZmZXJlbnQgSVAgdmVyc2lvbiB0aGFuIGEgcmVtb3RlIGVudmlyb25tZW50LiBGb3IgZXhhbXBsZSwgaXQncyBwb3NzaWJsZSB0aGF0IGxvY2FsbHkgdGhlIHZhbHVlIGBbJzAuMC4wLjAvMCddYCBhbGxvd3MgdGhlIHJlcXVlc3QgSVAgYmVjYXVzZSB0aGUgZW52aXJvbm1lbnQgaXMgdXNpbmcgSVB2NCwgYnV0IHdoZW4gUGFyc2UgU2VydmVyIGlzIGRlcGxveWVkIHJlbW90ZWx5IHRoZSByZXF1ZXN0IElQIGlzIGJsb2NrZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGVudmlyb25tZW50IGlzIHVzaW5nIElQdjYuPGJyPi0gV2hlbiBzZXR0aW5nIHRoZSBvcHRpb24gdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRoZSBub3RhdGlvbiBpcyBhIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmcsIGZvciBleGFtcGxlIGBcXFwiMC4wLjAuMC8wLDo6MFxcXCJgLjxicj4tIElQdjYgem9uZSBpbmRpY2VzIChgJWAgc3VmZml4KSBhcmUgbm90IHN1cHBvcnRlZCwgZm9yIGV4YW1wbGUgYGZlODA6OjElZXRoMGAsIGBmZTgwOjoxJTFgIG9yIGA6OjElbG9gLjxicj48YnI+RGVmYXVsdHMgdG8gYFsnMTI3LjAuMC4xJywgJzo6MSddYCB3aGljaCBtZWFucyB0aGF0IG9ubHkgYGxvY2FsaG9zdGAsIHRoZSBzZXJ2ZXIgaW5zdGFuY2Ugb24gd2hpY2ggUGFyc2UgU2VydmVyIHJ1bnMsIGlzIGFsbG93ZWQgdG8gdXNlIHRoZSBtYWludGVuYW5jZSBrZXkuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFsnMTI3LjAuMC4xJywgJzo6MSddLFxuICB9LFxuICBtYXN0ZXJLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFTVEVSX0tFWScsXG4gICAgaGVscDogJ1lvdXIgUGFyc2UgTWFzdGVyIEtleScsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIG1hc3RlcktleUlwczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQVNURVJfS0VZX0lQUycsXG4gICAgaGVscDogXCIoT3B0aW9uYWwpIFJlc3RyaWN0cyB0aGUgdXNlIG9mIG1hc3RlciBrZXkgcGVybWlzc2lvbnMgdG8gYSBsaXN0IG9mIElQIGFkZHJlc3NlcyBvciByYW5nZXMuPGJyPjxicj5UaGlzIG9wdGlvbiBhY2NlcHRzIGEgbGlzdCBvZiBzaW5nbGUgSVAgYWRkcmVzc2VzLCBmb3IgZXhhbXBsZSBgWycxMC4wLjAuMScsICcxMC4wLjAuMiddYC4gWW91IGNhbiBhbHNvIHVzZSBDSURSIG5vdGF0aW9uIHRvIHNwZWNpZnkgYW4gSVAgYWRkcmVzcyByYW5nZSwgZm9yIGV4YW1wbGUgYFsnMTAuMC4xLjAvMjQnXWAuPGJyPjxicj48Yj5TcGVjaWFsIHNjZW5hcmlvczo8L2I+PGJyPi0gU2V0dGluZyBhbiBlbXB0eSBhcnJheSBgW11gIG1lYW5zIHRoYXQgdGhlIG1hc3RlciBrZXkgY2Fubm90IGJlIHVzZWQgZXZlbiBpbiBQYXJzZSBTZXJ2ZXIgQ2xvdWQgQ29kZS4gVGhpcyB2YWx1ZSBjYW5ub3QgYmUgc2V0IHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBhcyB0aGVyZSBpcyBubyB3YXkgdG8gcGFzcyBhbiBlbXB0eSBhcnJheSB0byBQYXJzZSBTZXJ2ZXIgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLjxicj4tIFNldHRpbmcgYFsnMC4wLjAuMC8wJywgJzo6MCddYCBtZWFucyB0byBhbGxvdyBhbnkgSVB2NCBhbmQgSVB2NiBhZGRyZXNzIHRvIHVzZSB0aGUgbWFzdGVyIGtleSBhbmQgZWZmZWN0aXZlbHkgZGlzYWJsZXMgdGhlIElQIGZpbHRlci48YnI+PGJyPjxiPkNvbnNpZGVyYXRpb25zOjwvYj48YnI+LSBJUHY0IGFuZCBJUHY2IGFkZHJlc3NlcyBhcmUgbm90IGNvbXBhcmVkIGFnYWluc3QgZWFjaCBvdGhlci4gRWFjaCBJUCB2ZXJzaW9uIChJUHY0IGFuZCBJUHY2KSBuZWVkcyB0byBiZSBjb25zaWRlcmVkIHNlcGFyYXRlbHkuIEZvciBleGFtcGxlLCBgWycwLjAuMC4wLzAnXWAgYWxsb3dzIGFueSBJUHY0IGFkZHJlc3MgYW5kIGJsb2NrcyBldmVyeSBJUHY2IGFkZHJlc3MuIENvbnZlcnNlbHksIGBbJzo6MCddYCBhbGxvd3MgYW55IElQdjYgYWRkcmVzcyBhbmQgYmxvY2tzIGV2ZXJ5IElQdjQgYWRkcmVzcy48YnI+LSBLZWVwIGluIG1pbmQgdGhhdCB0aGUgSVAgdmVyc2lvbiBpbiB1c2UgZGVwZW5kcyBvbiB0aGUgbmV0d29yayBzdGFjayBvZiB0aGUgZW52aXJvbm1lbnQgaW4gd2hpY2ggUGFyc2UgU2VydmVyIHJ1bnMuIEEgbG9jYWwgZW52aXJvbm1lbnQgbWF5IHVzZSBhIGRpZmZlcmVudCBJUCB2ZXJzaW9uIHRoYW4gYSByZW1vdGUgZW52aXJvbm1lbnQuIEZvciBleGFtcGxlLCBpdCdzIHBvc3NpYmxlIHRoYXQgbG9jYWxseSB0aGUgdmFsdWUgYFsnMC4wLjAuMC8wJ11gIGFsbG93cyB0aGUgcmVxdWVzdCBJUCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBpcyB1c2luZyBJUHY0LCBidXQgd2hlbiBQYXJzZSBTZXJ2ZXIgaXMgZGVwbG95ZWQgcmVtb3RlbHkgdGhlIHJlcXVlc3QgSVAgaXMgYmxvY2tlZCBiZWNhdXNlIHRoZSByZW1vdGUgZW52aXJvbm1lbnQgaXMgdXNpbmcgSVB2Ni48YnI+LSBXaGVuIHNldHRpbmcgdGhlIG9wdGlvbiB2aWEgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgdGhlIG5vdGF0aW9uIGlzIGEgY29tbWEtc2VwYXJhdGVkIHN0cmluZywgZm9yIGV4YW1wbGUgYFxcXCIwLjAuMC4wLzAsOjowXFxcImAuPGJyPi0gSVB2NiB6b25lIGluZGljZXMgKGAlYCBzdWZmaXgpIGFyZSBub3Qgc3VwcG9ydGVkLCBmb3IgZXhhbXBsZSBgZmU4MDo6MSVldGgwYCwgYGZlODA6OjElMWAgb3IgYDo6MSVsb2AuPGJyPjxicj5EZWZhdWx0cyB0byBgWycxMjcuMC4wLjEnLCAnOjoxJ11gIHdoaWNoIG1lYW5zIHRoYXQgb25seSBgbG9jYWxob3N0YCwgdGhlIHNlcnZlciBpbnN0YW5jZSBvbiB3aGljaCBQYXJzZSBTZXJ2ZXIgcnVucywgaXMgYWxsb3dlZCB0byB1c2UgdGhlIG1hc3RlciBrZXkuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFsnMTI3LjAuMC4xJywgJzo6MSddLFxuICB9LFxuICBtYXN0ZXJLZXlUdGw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFTVEVSX0tFWV9UVEwnLFxuICAgIGhlbHA6ICcoT3B0aW9uYWwpIFRoZSBkdXJhdGlvbiBpbiBzZWNvbmRzIGZvciB3aGljaCB0aGUgY3VycmVudCBgbWFzdGVyS2V5YCBpcyBiZWluZyB1c2VkIGJlZm9yZSBpdCBpcyByZXF1ZXN0ZWQgYWdhaW4gaWYgYG1hc3RlcktleWAgaXMgc2V0IHRvIGEgZnVuY3Rpb24uIElmIGBtYXN0ZXJLZXlgIGlzIG5vdCBzZXQgdG8gYSBmdW5jdGlvbiwgdGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdC4gRGVmYXVsdCBpcyBgMGAsIHdoaWNoIG1lYW5zIHRoZSBtYXN0ZXIga2V5IGlzIHJlcXVlc3RlZCBieSBpbnZva2luZyB0aGUgIGBtYXN0ZXJLZXlgIGZ1bmN0aW9uIGV2ZXJ5IHRpbWUgdGhlIG1hc3RlciBrZXkgaXMgdXNlZCBpbnRlcm5hbGx5IGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21hc3RlcktleVR0bCcpLFxuICB9LFxuICBtYXhMaW1pdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQVhfTElNSVQnLFxuICAgIGhlbHA6ICdNYXggdmFsdWUgZm9yIGxpbWl0IG9wdGlvbiBvbiBxdWVyaWVzLCBkZWZhdWx0cyB0byB1bmxpbWl0ZWQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heExpbWl0JyksXG4gIH0sXG4gIG1heExvZ0ZpbGVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BWF9MT0dfRklMRVMnLFxuICAgIGhlbHA6IFwiTWF4aW11bSBudW1iZXIgb2YgbG9ncyB0byBrZWVwLiBJZiBub3Qgc2V0LCBubyBsb2dzIHdpbGwgYmUgcmVtb3ZlZC4gVGhpcyBjYW4gYmUgYSBudW1iZXIgb2YgZmlsZXMgb3IgbnVtYmVyIG9mIGRheXMuIElmIHVzaW5nIGRheXMsIGFkZCAnZCcgYXMgdGhlIHN1ZmZpeC4gKGRlZmF1bHQ6IG51bGwpXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlck9yU3RyaW5nUGFyc2VyKCdtYXhMb2dGaWxlcycpLFxuICB9LFxuICBtYXhVcGxvYWRTaXplOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BWF9VUExPQURfU0laRScsXG4gICAgaGVscDogJ01heCBmaWxlIHNpemUgZm9yIHVwbG9hZHMsIGRlZmF1bHRzIHRvIDIwbWInLFxuICAgIGRlZmF1bHQ6ICcyMG1iJyxcbiAgfSxcbiAgbWlkZGxld2FyZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NSURETEVXQVJFJyxcbiAgICBoZWxwOiAnbWlkZGxld2FyZSBmb3IgZXhwcmVzcyBzZXJ2ZXIsIGNhbiBiZSBzdHJpbmcgb3IgZnVuY3Rpb24nLFxuICB9LFxuICBtb3VudEdyYXBoUUw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTU9VTlRfR1JBUEhRTCcsXG4gICAgaGVscDogJ01vdW50cyB0aGUgR3JhcGhRTCBlbmRwb2ludCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIG1vdW50UGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NT1VOVF9QQVRIJyxcbiAgICBoZWxwOiAnTW91bnQgcGF0aCBmb3IgdGhlIHNlcnZlciwgZGVmYXVsdHMgdG8gL3BhcnNlJyxcbiAgICBkZWZhdWx0OiAnL3BhcnNlJyxcbiAgfSxcbiAgbW91bnRQbGF5Z3JvdW5kOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01PVU5UX1BMQVlHUk9VTkQnLFxuICAgIGhlbHA6ICdEZXByZWNhdGVkLiBNb3VudHMgdGhlIEdyYXBoUUwgUGxheWdyb3VuZCB3aGljaCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi4gVGhlIHBsYXlncm91bmQgZXhwb3NlcyB0aGUgbWFzdGVyIGtleSBpbiB0aGUgYnJvd3Nlci4gVXNlIFBhcnNlIERhc2hib2FyZCBhcyBHcmFwaFFMIElERSBvciBjb25maWd1cmUgYSB0aGlyZC1wYXJ0eSBHcmFwaFFMIGNsaWVudCB3aXRoIGN1c3RvbSByZXF1ZXN0IGhlYWRlcnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgb2JqZWN0SWRTaXplOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX09CSkVDVF9JRF9TSVpFJyxcbiAgICBoZWxwOiBcIlNldHMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGluIGdlbmVyYXRlZCBvYmplY3QgaWQncywgZGVmYXVsdCAxMFwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ29iamVjdElkU2l6ZScpLFxuICAgIGRlZmF1bHQ6IDEwLFxuICB9LFxuICBwYWdlczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFUycsXG4gICAgaGVscDogJ1RoZSBvcHRpb25zIGZvciBwYWdlcyBzdWNoIGFzIHBhc3N3b3JkIHJlc2V0IGFuZCBlbWFpbCB2ZXJpZmljYXRpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdQYWdlc09wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBwYXNzd29yZFBvbGljeToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1knLFxuICAgIGhlbHA6ICdUaGUgcGFzc3dvcmQgcG9saWN5IGZvciBlbmZvcmNpbmcgcGFzc3dvcmQgcmVsYXRlZCBydWxlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ1Bhc3N3b3JkUG9saWN5T3B0aW9ucycsXG4gIH0sXG4gIHBsYXlncm91bmRQYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BMQVlHUk9VTkRfUEFUSCcsXG4gICAgaGVscDogJ0RlcHJlY2F0ZWQuIE1vdW50IHBhdGggZm9yIHRoZSBHcmFwaFFMIFBsYXlncm91bmQuIFRoZSBwbGF5Z3JvdW5kIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLicsXG4gICAgZGVmYXVsdDogJy9wbGF5Z3JvdW5kJyxcbiAgfSxcbiAgcG9ydDoge1xuICAgIGVudjogJ1BPUlQnLFxuICAgIGhlbHA6ICdUaGUgcG9ydCB0byBydW4gdGhlIFBhcnNlU2VydmVyLCBkZWZhdWx0cyB0byAxMzM3LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigncG9ydCcpLFxuICAgIGRlZmF1bHQ6IDEzMzcsXG4gIH0sXG4gIHByZXNlcnZlRmlsZU5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJFU0VSVkVfRklMRV9OQU1FJyxcbiAgICBoZWxwOiAnRW5hYmxlIChvciBkaXNhYmxlKSB0aGUgYWRkaXRpb24gb2YgYSB1bmlxdWUgaGFzaCB0byB0aGUgZmlsZSBuYW1lcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHByZXZlbnRMb2dpbldpdGhVbnZlcmlmaWVkRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJFVkVOVF9MT0dJTl9XSVRIX1VOVkVSSUZJRURfRU1BSUwnLFxuICAgIGhlbHA6IFwiU2V0IHRvIGB0cnVlYCB0byBwcmV2ZW50IGEgdXNlciBmcm9tIGxvZ2dpbmcgaW4gaWYgdGhlIGVtYWlsIGhhcyBub3QgeWV0IGJlZW4gdmVyaWZpZWQgYW5kIGVtYWlsIHZlcmlmaWNhdGlvbiBpcyByZXF1aXJlZC4gU3VwcG9ydHMgYSBmdW5jdGlvbiB3aXRoIGEgcmV0dXJuIHZhbHVlIG9mIGB0cnVlYCBvciBgZmFsc2VgIGZvciBjb25kaXRpb25hbCBwcmV2ZW50aW9uLiBUaGUgZnVuY3Rpb24gcmVjZWl2ZXMgYSByZXF1ZXN0IG9iamVjdCB0aGF0IGluY2x1ZGVzIGBjcmVhdGVkV2l0aGAgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgaW52b2NhdGlvbiBpcyBmb3IgYHNpZ251cGAgb3IgYGxvZ2luYCBhbmQgdGhlIHVzZWQgYXV0aCBwcm92aWRlci48YnI+PGJyPlRoZSBgY3JlYXRlZFdpdGhgIHZhbHVlcyBwZXIgc2NlbmFyaW86PHVsPjxsaT5QYXNzd29yZCBzaWdudXA6IGB7IGFjdGlvbjogJ3NpZ251cCcsIGF1dGhQcm92aWRlcjogJ3Bhc3N3b3JkJyB9YDwvbGk+PGxpPkF1dGggcHJvdmlkZXIgc2lnbnVwOiBgeyBhY3Rpb246ICdzaWdudXAnLCBhdXRoUHJvdmlkZXI6ICc8cHJvdmlkZXI+JyB9YDwvbGk+PGxpPlBhc3N3b3JkIGxvZ2luOiBgeyBhY3Rpb246ICdsb2dpbicsIGF1dGhQcm92aWRlcjogJ3Bhc3N3b3JkJyB9YDwvbGk+PGxpPkF1dGggcHJvdmlkZXIgbG9naW46IGZ1bmN0aW9uIG5vdCBpbnZva2VkOyBhdXRoIHByb3ZpZGVyIGxvZ2luIGJ5cGFzc2VzIGVtYWlsIHZlcmlmaWNhdGlvbjwvbGk+PC91bD5EZWZhdWx0IGlzIGBmYWxzZWAuPGJyPlJlcXVpcmVzIG9wdGlvbiBgdmVyaWZ5VXNlckVtYWlsczogdHJ1ZWAuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5PckZ1bmN0aW9uUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBwcmV2ZW50U2lnbnVwV2l0aFVudmVyaWZpZWRFbWFpbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QUkVWRU5UX1NJR05VUF9XSVRIX1VOVkVSSUZJRURfRU1BSUwnLFxuICAgIGhlbHA6IFwiSWYgc2V0IHRvIGB0cnVlYCBpdCBwcmV2ZW50cyBhIHVzZXIgZnJvbSBzaWduaW5nIHVwIGlmIHRoZSBlbWFpbCBoYXMgbm90IHlldCBiZWVuIHZlcmlmaWVkIGFuZCBlbWFpbCB2ZXJpZmljYXRpb24gaXMgcmVxdWlyZWQuIEluIHRoYXQgY2FzZSB0aGUgc2VydmVyIHJlc3BvbmRzIHRvIHRoZSBzaWduLXVwIHdpdGggSFRUUCBzdGF0dXMgNDAwIGFuZCBhIFBhcnNlIEVycm9yIDIwNSBgRU1BSUxfTk9UX0ZPVU5EYC4gSWYgc2V0IHRvIGBmYWxzZWAgdGhlIHNlcnZlciByZXNwb25kcyB3aXRoIEhUVFAgc3RhdHVzIDIwMCwgYW5kIGNsaWVudCBTREtzIHJldHVybiBhbiB1bmF1dGhlbnRpY2F0ZWQgUGFyc2UgVXNlciB3aXRob3V0IHNlc3Npb24gdG9rZW4uIEluIHRoYXQgY2FzZSBzdWJzZXF1ZW50IHJlcXVlc3RzIGZhaWwgdW50aWwgdGhlIHVzZXIncyBlbWFpbCBhZGRyZXNzIGlzIHZlcmlmaWVkLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLjxicj5SZXF1aXJlcyBvcHRpb24gYHZlcmlmeVVzZXJFbWFpbHM6IHRydWVgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBwcm90ZWN0ZWRGaWVsZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJPVEVDVEVEX0ZJRUxEUycsXG4gICAgaGVscDogXCJGaWVsZHMgcGVyIGNsYXNzIHRoYXQgYXJlIGhpZGRlbiBmcm9tIHF1ZXJ5IHJlc3VsdHMgZm9yIHNwZWNpZmljIHVzZXIgZ3JvdXBzLiBQcm90ZWN0ZWQgZmllbGRzIGFyZSBzdHJpcHBlZCBmcm9tIHRoZSBzZXJ2ZXIgcmVzcG9uc2UsIGJ1dCBjYW4gc3RpbGwgYmUgdXNlZCBpbnRlcm5hbGx5IChlLmcuIGluIENsb3VkIENvZGUgdHJpZ2dlcnMpLiBDb25maWd1cmUgYXMgYHsgJ0NsYXNzTmFtZSc6IHsgJ1VzZXJHcm91cCc6IFsnZmllbGQxJywgJ2ZpZWxkMiddIH0gfWAgd2hlcmUgYFVzZXJHcm91cGAgaXMgb25lIG9mOiBgJyonYCAoYWxsIHVzZXJzKSwgYCdhdXRoZW50aWNhdGVkJ2AgKGF1dGhlbnRpY2F0ZWQgdXNlcnMpLCBgJ3JvbGU6Um9sZU5hbWUnYCAodXNlcnMgd2l0aCBhIHNwZWNpZmljIHJvbGUpLCBgJ3VzZXJGaWVsZDpGaWVsZE5hbWUnYCAodXNlcnMgcmVmZXJlbmNlZCBieSBhIHBvaW50ZXIgZmllbGQpLCBvciBhIHVzZXIgYG9iamVjdElkYCB0byB0YXJnZXQgYSBzcGVjaWZpYyB1c2VyLiBXaGVuIG11bHRpcGxlIGdyb3VwcyBhcHBseSwgdGhlIGludGVyc2VjdGlvbiBvZiB0aGVpciBwcm90ZWN0ZWQgZmllbGRzIGlzIHVzZWQuIEFueSBmaWVsZCBjYW4gYmUgcHJvdGVjdGVkLCBpbmNsdWRpbmcgc3lzdGVtIGZpZWxkcyBsaWtlIGBjcmVhdGVkQXRgIGFuZCBgdXBkYXRlZEF0YC4gQnkgZGVmYXVsdCwgYGVtYWlsYCBpcyBwcm90ZWN0ZWQgb24gdGhlIGBfVXNlcmAgY2xhc3MgZm9yIGFsbCB1c2Vycy4gT24gdGhlIGBfVXNlcmAgY2xhc3MsIHRoZSBvYmplY3Qgb3duZXIgaXMgZXhlbXB0IGZyb20gcHJvdGVjdGVkIGZpZWxkcyBieSBkZWZhdWx0OyBzZWUgYHByb3RlY3RlZEZpZWxkc093bmVyRXhlbXB0YCB0byBjaGFuZ2UgdGhpcy5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIF9Vc2VyOiB7XG4gICAgICAgICcqJzogWydlbWFpbCddLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICBwcm90ZWN0ZWRGaWVsZHNPd25lckV4ZW1wdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QUk9URUNURURfRklFTERTX09XTkVSX0VYRU1QVCcsXG4gICAgaGVscDogXCJXaGV0aGVyIHRoZSBgX1VzZXJgIGNsYXNzIGlzIGV4ZW1wdCBmcm9tIGBwcm90ZWN0ZWRGaWVsZHNgIHdoZW4gdGhlIGxvZ2dlZC1pbiB1c2VyIHF1ZXJpZXMgdGhlaXIgb3duIHVzZXIgb2JqZWN0LiBJZiBgdHJ1ZWAgKGRlZmF1bHQpLCBhIHVzZXIgY2FuIHNlZSBhbGwgdGhlaXIgb3duIGZpZWxkcyByZWdhcmRsZXNzIG9mIGBwcm90ZWN0ZWRGaWVsZHNgIGNvbmZpZ3VyYXRpb247IGRlZmF1bHQgcHJvdGVjdGVkIGZpZWxkcyAoZS5nLiBgZW1haWxgKSBhcmUgbWVyZ2VkIGludG8gYW55IGN1c3RvbSBgcHJvdGVjdGVkRmllbGRzYCBjb25maWd1cmF0aW9uLiBJZiBgZmFsc2VgLCBgcHJvdGVjdGVkRmllbGRzYCBhcHBsaWVzIGVxdWFsbHkgdG8gdGhlIHVzZXIncyBvd24gb2JqZWN0LCBjb25zaXN0ZW50IHdpdGggYWxsIG90aGVyIGNsYXNzZXM7IG9ubHkgZXhwbGljaXRseSBjb25maWd1cmVkIHByb3RlY3RlZCBmaWVsZHMgYXBwbHksIGRlZmF1bHRzIGFyZSBub3QgbWVyZ2VkLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgcHJvdGVjdGVkRmllbGRzU2F2ZVJlc3BvbnNlRXhlbXB0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BST1RFQ1RFRF9GSUVMRFNfU0FWRV9SRVNQT05TRV9FWEVNUFQnLFxuICAgIGhlbHA6ICdXaGV0aGVyIHNhdmUgb3BlcmF0aW9uIHJlc3BvbnNlcyAoY3JlYXRlLCB1cGRhdGUpIGFyZSBleGVtcHQgZnJvbSBgcHJvdGVjdGVkRmllbGRzYC4gSWYgYHRydWVgIChkZWZhdWx0KSwgcHJvdGVjdGVkIGZpZWxkcyBtb2RpZmllZCBkdXJpbmcgYSBzYXZlIGFyZSBpbmNsdWRlZCBpbiB0aGUgcmVzcG9uc2UgdG8gdGhlIGNsaWVudC4gSWYgYGZhbHNlYCwgcHJvdGVjdGVkIGZpZWxkcyBhcmUgc3RyaXBwZWQgZnJvbSBzYXZlIHJlc3BvbnNlcywgY29uc2lzdGVudCB3aXRoIGhvdyB0aGV5IGFyZSBzdHJpcHBlZCBmcm9tIHF1ZXJ5IHJlc3VsdHMuIERlZmF1bHRzIHRvIGB0cnVlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIHByb3RlY3RlZEZpZWxkc1RyaWdnZXJFeGVtcHQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJPVEVDVEVEX0ZJRUxEU19UUklHR0VSX0VYRU1QVCcsXG4gICAgaGVscDogXCJXaGV0aGVyIENsb3VkIENvZGUgdHJpZ2dlcnMgKGUuZy4gYGJlZm9yZVNhdmVgLCBgYWZ0ZXJTYXZlYCkgYXJlIGV4ZW1wdCBmcm9tIGBwcm90ZWN0ZWRGaWVsZHNgLiBJZiBgdHJ1ZWAsIHRyaWdnZXJzIHJlY2VpdmUgdGhlIGZ1bGwgb2JqZWN0IGluY2x1ZGluZyBwcm90ZWN0ZWQgZmllbGRzIGluIGByZXF1ZXN0Lm9iamVjdGAgYW5kIGByZXF1ZXN0Lm9yaWdpbmFsYCwgcmVnYXJkbGVzcyBvZiB0aGUgY2FsbGVyJ3MgYXV0aCBjb250ZXh0LiBJZiBgZmFsc2VgLCBwcm90ZWN0ZWQgZmllbGRzIGFyZSBzdHJpcHBlZCBmcm9tIHRoZSBvcmlnaW5hbCBvYmplY3QgZmV0Y2ggdXNlZCB0byBidWlsZCB0cmlnZ2VyIG9iamVjdHMuIERlZmF1bHRzIHRvIGBmYWxzZWAuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHB1YmxpY1NlcnZlclVSTDoge1xuICAgIGVudjogJ1BBUlNFX1BVQkxJQ19TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnT3B0aW9uYWwuIFRoZSBwdWJsaWMgVVJMIHRvIFBhcnNlIFNlcnZlci4gVGhpcyBVUkwgd2lsbCBiZSB1c2VkIHRvIHJlYWNoIFBhcnNlIFNlcnZlciBwdWJsaWNseSBmb3IgZmVhdHVyZXMgbGlrZSBwYXNzd29yZCByZXNldCBhbmQgZW1haWwgdmVyaWZpY2F0aW9uIGxpbmtzLiBUaGUgb3B0aW9uIGNhbiBiZSBzZXQgdG8gYSBzdHJpbmcgb3IgYSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBhc3luY2hyb25vdXNseSByZXNvbHZlZC4gVGhlIHJldHVybmVkIFVSTCBzdHJpbmcgbXVzdCBzdGFydCB3aXRoIGBodHRwOi8vYCBvciBgaHR0cHM6Ly9gLicsXG4gIH0sXG4gIHB1c2g6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFVTSCcsXG4gICAgaGVscDogJ0NvbmZpZ3VyYXRpb24gZm9yIHB1c2gsIGFzIHN0cmluZ2lmaWVkIEpTT04uIFNlZSBodHRwOi8vZG9jcy5wYXJzZXBsYXRmb3JtLm9yZy9wYXJzZS1zZXJ2ZXIvZ3VpZGUvI3B1c2gtbm90aWZpY2F0aW9ucycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgcXVlcnk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUVVFUlknLFxuICAgIGhlbHA6ICdRdWVyeS1yZWxhdGVkIHNlcnZlciBkZWZhdWx0cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ1F1ZXJ5U2VydmVyT3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIHJhdGVMaW1pdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUJyxcbiAgICBoZWxwOiBcIk9wdGlvbnMgdG8gbGltaXQgcmVwZWF0ZWQgcmVxdWVzdHMgdG8gUGFyc2UgU2VydmVyIEFQSXMuIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJvdGVjdCBzZW5zaXRpdmUgZW5kcG9pbnRzIHN1Y2ggYXMgYC9yZXF1ZXN0UGFzc3dvcmRSZXNldGAgZnJvbSBicnV0ZS1mb3JjZSBhdHRhY2tzIG9yIFBhcnNlIFNlcnZlciBhcyBhIHdob2xlIGZyb20gZGVuaWFsLW9mLXNlcnZpY2UgKERvUykgYXR0YWNrcy48YnI+PGJyPlxcdTIxMzlcXHVGRTBGIE1pbmQgdGhlIGZvbGxvd2luZyBsaW1pdGF0aW9uczo8YnI+LSByYXRlIGxpbWl0cyBhcHBsaWVkIHBlciBJUCBhZGRyZXNzOyB0aGlzIGxpbWl0cyBwcm90ZWN0aW9uIGFnYWluc3QgZGlzdHJpYnV0ZWQgZGVuaWFsLW9mLXNlcnZpY2UgKEREb1MpIGF0dGFja3Mgd2hlcmUgbWFueSByZXF1ZXN0cyBhcmUgY29taW5nIGZyb20gdmFyaW91cyBJUCBhZGRyZXNzZXM8YnI+LSBpZiBtdWx0aXBsZSBQYXJzZSBTZXJ2ZXIgaW5zdGFuY2VzIGFyZSBiZWhpbmQgYSBsb2FkIGJhbGFuY2VyIG9yIHJhbiBpbiBhIGNsdXN0ZXIsIGVhY2ggaW5zdGFuY2Ugd2lsbCBjYWxjdWxhdGUgaXQncyBvd24gcmVxdWVzdCByYXRlcywgaW5kZXBlbmRlbnQgZnJvbSBvdGhlciBpbnN0YW5jZXM7IHRoaXMgbGltaXRzIHRoZSBhcHBsaWNhYmlsaXR5IG9mIHRoaXMgZmVhdHVyZSB3aGVuIHVzaW5nIGEgbG9hZCBiYWxhbmNlciBhbmQgYW5vdGhlciByYXRlIGxpbWl0aW5nIHNvbHV0aW9uIHRoYXQgdGFrZXMgcmVxdWVzdHMgYWNyb3NzIGFsbCBpbnN0YW5jZXMgaW50byBhY2NvdW50IG1heSBiZSBtb3JlIHN1aXRhYmxlPGJyPi0gdGhpcyBmZWF0dXJlIHByb3ZpZGVzIGJhc2ljIHByb3RlY3Rpb24gYWdhaW5zdCBkZW5pYWwtb2Ytc2VydmljZSBhdHRhY2tzLCBidXQgYSBtb3JlIHNvcGhpc3RpY2F0ZWQgc29sdXRpb24gd29ya3MgZWFybGllciBpbiB0aGUgcmVxdWVzdCBmbG93IGFuZCBwcmV2ZW50cyBhIG1hbGljaW91cyByZXF1ZXN0cyB0byBldmVuIHJlYWNoIGEgc2VydmVyIGluc3RhbmNlOyBpdCdzIHRoZXJlZm9yZSByZWNvbW1lbmRlZCB0byBpbXBsZW1lbnQgYSBzb2x1dGlvbiBhY2NvcmRpbmcgdG8gYXJjaGl0ZWN0dXJlIGFuZCB1c2UgY2FzZS48YnI+LSByYXRlIGxpbWl0cyBhcmUgbWF0Y2hlZCBhZ2FpbnN0IHRoZSBSRVNUIEFQSSBVUkwgcGF0aCAoYHJlcXVlc3RQYXRoYCkgYW5kIHRoZXJlZm9yZSBhcHBseSB0byBSRVNUIEFQSSByb3V0ZXMgb25seTsgdGhleSBkbyBub3QgYXBwbHkgdG8gR3JhcGhRTCBvcGVyYXRpb25zLCB3aGljaCBhcmUgYWxsIHNlcnZlZCB1bmRlciB0aGUgc2luZ2xlIEdyYXBoUUwgZW5kcG9pbnQgcGF0aCAoYGdyYXBoUUxQYXRoYCwgZGVmYXVsdCBgL2dyYXBocWxgKSBhbmQgYXJlIGlkZW50aWZpZWQgYnkgdGhlIHJlcXVlc3QgcGF5bG9hZCByYXRoZXIgdGhhbiB0aGUgVVJMLiBUbyByYXRlIGxpbWl0IEdyYXBoUUwsIGVpdGhlciBzZXQgYSBgcmVxdWVzdFBhdGhgIGZvciB0aGUgR3JhcGhRTCBlbmRwb2ludCBwYXRoIHRvIHRocm90dGxlIHRoZSBlbnRpcmUgR3JhcGhRTCBBUEksIG9yIHVzZSBhIEdyYXBoUUwtYXdhcmUgcmF0ZSBsaW1pdGluZyBzb2x1dGlvbiAoZm9yIGV4YW1wbGUgYSBzY2hlbWEtZGlyZWN0aXZlLWJhc2VkIHJhdGUgbGltaXRlcikgZm9yIHBlci1vcGVyYXRpb24gbGltaXRzLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICB0eXBlOiAnUmF0ZUxpbWl0T3B0aW9uc1tdJyxcbiAgICBkZWZhdWx0OiBbXSxcbiAgfSxcbiAgcmVhZE9ubHlNYXN0ZXJLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVBRF9PTkxZX01BU1RFUl9LRVknLFxuICAgIGhlbHA6ICdUaGUgcmVhZC1vbmx5IG1hc3RlciBrZXkgaXMgYSBzZWNyZXQga2V5IHdpdGggdGhlIHNhbWUgcmVhZCBjYXBhYmlsaXRpZXMgYXMgdGhlIGBtYXN0ZXJLZXlgLCBidXQgd2l0aG91dCB0aGUgYWJpbGl0eSB0byBwZXJmb3JtIHdyaXRlcy4gTGlrZSB0aGUgYG1hc3RlcktleWAsIGl0IGJ5cGFzc2VzIGFsbCBzZWN1cml0eSBtZWNoYW5pc21zIChDbGFzcyBMZXZlbCBQZXJtaXNzaW9ucywgb2JqZWN0IEFDTHMsIGBwcm90ZWN0ZWRGaWVsZHNgKSwgc28gaXQgZ3JhbnRzIGZ1bGwgcmVhZCBhY2Nlc3MgdG8gYWxsIGRhdGEuPGJyPjxicj5JdCBpcyBpbnRlbmRlZCBzdHJpY3RseSBmb3IgaW50ZXJuYWwsIHNlcnZlci1zaWRlIHVzZSBcXHUyMDE0IGZvciBleGFtcGxlIHRvIGdpdmUgYSB0cnVzdGVkIGludGVybmFsIHByb2Nlc3MgcmVhZCBhY2Nlc3Mgd2hpbGUgZ3VhcmRpbmcgYWdhaW5zdCBhY2NpZGVudGFsIHdyaXRlcyBkdXJpbmcgZGV2ZWxvcG1lbnQgb3Igb3BlcmF0aW9ucy4gSXQgaXMgbm90IGEgY3JlZGVudGlhbCBmb3IgdW50cnVzdGVkIGNvbnRleHRzOiBpdCBtdXN0IG5ldmVyIGJlIHNoaXBwZWQsIGRpc3RyaWJ1dGVkLCBwdWJsaXNoZWQsIGVtYmVkZGVkIGluIGEgY2xpZW50IGFwcGxpY2F0aW9uLCBvciBvdGhlcndpc2UgZXhwb3NlZCB0byB1bnRydXN0ZWQgcGFydGllcywgYmVjYXVzZSBhbnlvbmUgd2hvIG9idGFpbnMgaXQgY2FuIHJlYWQgYWxsIGRhdGEgaW4gdGhlIGRhdGFiYXNlLiBVc2UgYHJlYWRPbmx5TWFzdGVyS2V5SXBzYCB0byByZXN0cmljdCB0aGUgSVAgYWRkcmVzc2VzIGZyb20gd2hpY2ggaXQgbWF5IGJlIHVzZWQuJyxcbiAgfSxcbiAgcmVhZE9ubHlNYXN0ZXJLZXlJcHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVBRF9PTkxZX01BU1RFUl9LRVlfSVBTJyxcbiAgICBoZWxwOiBcIihPcHRpb25hbCkgUmVzdHJpY3RzIHRoZSB1c2Ugb2YgcmVhZC1vbmx5IG1hc3RlciBrZXkgcGVybWlzc2lvbnMgdG8gYSBsaXN0IG9mIElQIGFkZHJlc3NlcyBvciByYW5nZXMuPGJyPjxicj5UaGlzIG9wdGlvbiBhY2NlcHRzIGEgbGlzdCBvZiBzaW5nbGUgSVAgYWRkcmVzc2VzLCBmb3IgZXhhbXBsZSBgWycxMC4wLjAuMScsICcxMC4wLjAuMiddYC4gWW91IGNhbiBhbHNvIHVzZSBDSURSIG5vdGF0aW9uIHRvIHNwZWNpZnkgYW4gSVAgYWRkcmVzcyByYW5nZSwgZm9yIGV4YW1wbGUgYFsnMTAuMC4xLjAvMjQnXWAuPGJyPjxicj48Yj5TcGVjaWFsIHNjZW5hcmlvczo8L2I+PGJyPi0gU2V0dGluZyBhbiBlbXB0eSBhcnJheSBgW11gIG1lYW5zIHRoYXQgdGhlIHJlYWQtb25seSBtYXN0ZXIga2V5IGNhbm5vdCBiZSB1c2VkIGV2ZW4gaW4gUGFyc2UgU2VydmVyIENsb3VkIENvZGUuIFRoaXMgdmFsdWUgY2Fubm90IGJlIHNldCB2aWEgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgYXMgdGhlcmUgaXMgbm8gd2F5IHRvIHBhc3MgYW4gZW1wdHkgYXJyYXkgdG8gUGFyc2UgU2VydmVyIHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS48YnI+LSBTZXR0aW5nIGBbJzAuMC4wLjAvMCcsICc6OjAnXWAgbWVhbnMgdG8gYWxsb3cgYW55IElQdjQgYW5kIElQdjYgYWRkcmVzcyB0byB1c2UgdGhlIHJlYWQtb25seSBtYXN0ZXIga2V5IGFuZCBlZmZlY3RpdmVseSBkaXNhYmxlcyB0aGUgSVAgZmlsdGVyLjxicj48YnI+PGI+Q29uc2lkZXJhdGlvbnM6PC9iPjxicj4tIElQdjQgYW5kIElQdjYgYWRkcmVzc2VzIGFyZSBub3QgY29tcGFyZWQgYWdhaW5zdCBlYWNoIG90aGVyLiBFYWNoIElQIHZlcnNpb24gKElQdjQgYW5kIElQdjYpIG5lZWRzIHRvIGJlIGNvbnNpZGVyZWQgc2VwYXJhdGVseS4gRm9yIGV4YW1wbGUsIGBbJzAuMC4wLjAvMCddYCBhbGxvd3MgYW55IElQdjQgYWRkcmVzcyBhbmQgYmxvY2tzIGV2ZXJ5IElQdjYgYWRkcmVzcy4gQ29udmVyc2VseSwgYFsnOjowJ11gIGFsbG93cyBhbnkgSVB2NiBhZGRyZXNzIGFuZCBibG9ja3MgZXZlcnkgSVB2NCBhZGRyZXNzLjxicj4tIEtlZXAgaW4gbWluZCB0aGF0IHRoZSBJUCB2ZXJzaW9uIGluIHVzZSBkZXBlbmRzIG9uIHRoZSBuZXR3b3JrIHN0YWNrIG9mIHRoZSBlbnZpcm9ubWVudCBpbiB3aGljaCBQYXJzZSBTZXJ2ZXIgcnVucy4gQSBsb2NhbCBlbnZpcm9ubWVudCBtYXkgdXNlIGEgZGlmZmVyZW50IElQIHZlcnNpb24gdGhhbiBhIHJlbW90ZSBlbnZpcm9ubWVudC4gRm9yIGV4YW1wbGUsIGl0J3MgcG9zc2libGUgdGhhdCBsb2NhbGx5IHRoZSB2YWx1ZSBgWycwLjAuMC4wLzAnXWAgYWxsb3dzIHRoZSByZXF1ZXN0IElQIGJlY2F1c2UgdGhlIGVudmlyb25tZW50IGlzIHVzaW5nIElQdjQsIGJ1dCB3aGVuIFBhcnNlIFNlcnZlciBpcyBkZXBsb3llZCByZW1vdGVseSB0aGUgcmVxdWVzdCBJUCBpcyBibG9ja2VkIGJlY2F1c2UgdGhlIHJlbW90ZSBlbnZpcm9ubWVudCBpcyB1c2luZyBJUHY2Ljxicj4tIFdoZW4gc2V0dGluZyB0aGUgb3B0aW9uIHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0aGUgbm90YXRpb24gaXMgYSBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nLCBmb3IgZXhhbXBsZSBgXFxcIjAuMC4wLjAvMCw6OjBcXFwiYC48YnI+LSBJUHY2IHpvbmUgaW5kaWNlcyAoYCVgIHN1ZmZpeCkgYXJlIG5vdCBzdXBwb3J0ZWQsIGZvciBleGFtcGxlIGBmZTgwOjoxJWV0aDBgLCBgZmU4MDo6MSUxYCBvciBgOjoxJWxvYC48YnI+PGJyPkRlZmF1bHRzIHRvIGBbJzAuMC4wLjAvMCcsICc6OjAnXWAgd2hpY2ggbWVhbnMgdGhhdCBhbnkgSVAgYWRkcmVzcyBpcyBhbGxvd2VkIHRvIHVzZSB0aGUgcmVhZC1vbmx5IG1hc3RlciBrZXkuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHNldCB0aGlzIG9wdGlvbiB0byBgWycxMjcuMC4wLjEnLCAnOjoxJ11gIHRvIHJlc3RyaWN0IGFjY2VzcyB0byBgbG9jYWxob3N0YC5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgZGVmYXVsdDogWycwLjAuMC4wLzAnLCAnOjowJ10sXG4gIH0sXG4gIHJlcXVlc3RDb21wbGV4aXR5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09NUExFWElUWScsXG4gICAgaGVscDogJ09wdGlvbnMgdG8gbGltaXQgdGhlIGNvbXBsZXhpdHkgb2YgcmVxdWVzdHMgdG8gcHJldmVudCBkZW5pYWwtb2Ytc2VydmljZSBhdHRhY2tzLiBMaW1pdHMgYXJlIGVuZm9yY2VkIGZvciBhbGwgcmVxdWVzdHMgZXhjZXB0IHRob3NlIHVzaW5nIHRoZSBtYXN0ZXIgb3IgbWFpbnRlbmFuY2Uga2V5LiBFYWNoIHByb3BlcnR5IGNhbiBiZSBzZXQgdG8gYC0xYCB0byBkaXNhYmxlIHRoYXQgc3BlY2lmaWMgbGltaXQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdSZXF1ZXN0Q29tcGxleGl0eU9wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICByZXF1ZXN0Q29udGV4dE1pZGRsZXdhcmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT05URVhUX01JRERMRVdBUkUnLFxuICAgIGhlbHA6ICdPcHRpb25zIHRvIGN1c3RvbWl6ZSB0aGUgcmVxdWVzdCBjb250ZXh0IHVzaW5nIGludmVyc2lvbiBvZiBjb250cm9sL2RlcGVuZGVuY3kgaW5qZWN0aW9uLicsXG4gIH0sXG4gIHJlcXVlc3RLZXl3b3JkRGVueWxpc3Q6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9LRVlXT1JEX0RFTllMSVNUJyxcbiAgICBoZWxwOiAnQW4gYXJyYXkgb2Yga2V5cyBhbmQgdmFsdWVzIHRoYXQgYXJlIHByb2hpYml0ZWQgaW4gZGF0YWJhc2UgcmVhZCBhbmQgd3JpdGUgcmVxdWVzdHMgdG8gcHJldmVudCBwb3RlbnRpYWwgc2VjdXJpdHkgdnVsbmVyYWJpbGl0aWVzLiBJdCBpcyBwb3NzaWJsZSB0byBzcGVjaWZ5IG9ubHkgYSBrZXkgKGB7XCJrZXlcIjpcIi4uLlwifWApLCBvbmx5IGEgdmFsdWUgKGB7XCJ2YWx1ZVwiOlwiLi4uXCJ9YCkgb3IgYSBrZXktdmFsdWUgcGFpciAoYHtcImtleVwiOlwiLi4uXCIsXCJ2YWx1ZVwiOlwiLi4uXCJ9YCkuIFRoZSBzcGVjaWZpY2F0aW9uIGNhbiB1c2UgdGhlIGZvbGxvd2luZyB0eXBlczogYGJvb2xlYW5gLCBgbnVtZXJpY2Agb3IgYHN0cmluZ2AsIHdoZXJlIGBzdHJpbmdgIHdpbGwgYmUgaW50ZXJwcmV0ZWQgYXMgYSByZWdleCBub3RhdGlvbi4gUmVxdWVzdCBkYXRhIGlzIGRlZXAtc2Nhbm5lZCBmb3IgbWF0Y2hpbmcgZGVmaW5pdGlvbnMgdG8gZGV0ZWN0IGFsc28gYW55IG5lc3RlZCBvY2N1cnJlbmNlcy4gRGVmYXVsdHMgYXJlIHBhdHRlcm5zIHRoYXQgYXJlIGxpa2VseSB0byBiZSB1c2VkIGluIG1hbGljaW91cyByZXF1ZXN0cy4gU2V0dGluZyB0aGlzIG9wdGlvbiB3aWxsIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHBhdHRlcm5zLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFtcbiAgICAgIHtcbiAgICAgICAga2V5OiAnX2Jzb250eXBlJyxcbiAgICAgICAgdmFsdWU6ICdDb2RlJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ2NvbnN0cnVjdG9yJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ19fcHJvdG9fXycsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHJlc3RBUElLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVTVF9BUElfS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciBSRVNUIGNhbGxzJyxcbiAgfSxcbiAgcmV2b2tlU2Vzc2lvbk9uUGFzc3dvcmRSZXNldDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVZPS0VfU0VTU0lPTl9PTl9QQVNTV09SRF9SRVNFVCcsXG4gICAgaGVscDogXCJXaGVuIGEgdXNlciBjaGFuZ2VzIHRoZWlyIHBhc3N3b3JkLCBlaXRoZXIgdGhyb3VnaCB0aGUgcmVzZXQgcGFzc3dvcmQgZW1haWwgb3Igd2hpbGUgbG9nZ2VkIGluLCBhbGwgc2Vzc2lvbnMgYXJlIHJldm9rZWQgaWYgdGhpcyBpcyB0cnVlLiBTZXQgdG8gZmFsc2UgaWYgeW91IGRvbid0IHdhbnQgdG8gcmV2b2tlIHNlc3Npb25zLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIHJvdXRlQWxsb3dMaXN0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JPVVRFX0FMTE9XX0xJU1QnLFxuICAgIGhlbHA6ICcoT3B0aW9uYWwpIFJlc3RyaWN0cyBleHRlcm5hbCBjbGllbnQgYWNjZXNzIHRvIGEgbGlzdCBvZiBhbGxvd2VkIFJFU1QgQVBJIHJvdXRlcy48YnI+PGJyPldoZW4gdGhpcyBvcHRpb24gaXMgc2V0LCBhbGwgZXh0ZXJuYWwgbm9uLW1hc3Rlci1rZXkgUkVTVCBBUEkgcmVxdWVzdHMgYXJlIGRlbmllZCBieSBkZWZhdWx0LiBPbmx5IHJvdXRlcyBtYXRjaGluZyBhdCBsZWFzdCBvbmUgb2YgdGhlIGNvbmZpZ3VyZWQgcmVnZXggcGF0dGVybnMgYXJlIGFsbG93ZWQgdGhyb3VnaC4gSW50ZXJuYWwgY2FsbHMgZnJvbSBDbG91ZCBDb2RlLCBDbG91ZCBKb2JzLCBhbmQgdHJpZ2dlcnMgYXJlIG5vdCBhZmZlY3RlZC48YnI+PGJyPkVhY2ggZW50cnkgaXMgYSByZWdleCBwYXR0ZXJuIHN0cmluZyBtYXRjaGVkIGFnYWluc3QgdGhlIG5vcm1hbGl6ZWQgcm91dGUgaWRlbnRpZmllciAocmVxdWVzdCBwYXRoIHdpdGggbW91bnQgcHJlZml4IGFuZCBsZWFkaW5nIHNsYXNoIHN0cmlwcGVkKS4gUGF0dGVybnMgYXJlIGF1dG8tYW5jaG9yZWQgd2l0aCBgXmAgYW5kIGAkYCBmb3IgZnVsbC1tYXRjaCBzZW1hbnRpY3MuPGJyPjxicj48Yj5FeGFtcGxlcyBvZiBub3JtYWxpemVkIHJvdXRlIGlkZW50aWZpZXJzOjwvYj48dWw+PGxpPmBjbGFzc2VzL0dhbWVTY29yZWAgKGNsYXNzIENSVUQpPC9saT48bGk+YGNsYXNzZXMvR2FtZVNjb3JlL2FiYzEyM2AgKG9iamVjdCBieSBJRCk8L2xpPjxsaT5gdXNlcnNgICh1c2VyIG9wZXJhdGlvbnMpPC9saT48bGk+YGxvZ2luYCAobG9naW4gZW5kcG9pbnQpPC9saT48bGk+YGZ1bmN0aW9ucy9zZW5kRW1haWxgIChDbG91ZCBGdW5jdGlvbik8L2xpPjxsaT5gam9icy9jbGVhbnVwYCAoQ2xvdWQgSm9iKTwvbGk+PGxpPmBwdXNoYCAocHVzaCBub3RpZmljYXRpb25zKTwvbGk+PGxpPmBjb25maWdgIChjbGllbnQgY29uZmlnKTwvbGk+PGxpPmBpbnN0YWxsYXRpb25zYCAoaW5zdGFsbGF0aW9ucyk8L2xpPjwvdWw+PGI+RXhhbXBsZSBwYXR0ZXJuczo8L2I+PHVsPjxsaT5gY2xhc3Nlcy9DaGF0TWVzc2FnZWAgbWF0Y2hlcyBvbmx5IGBjbGFzc2VzL0NoYXRNZXNzYWdlYDwvbGk+PGxpPmBjbGFzc2VzL0NoYXQuKmAgbWF0Y2hlcyBgY2xhc3Nlcy9DaGF0TWVzc2FnZWAsIGBjbGFzc2VzL0NoYXRSb29tYCwgZXRjLjwvbGk+PGxpPmBmdW5jdGlvbnMvLipgIG1hdGNoZXMgYWxsIENsb3VkIEZ1bmN0aW9uczwvbGk+PC91bD5TZXR0aW5nIGFuIGVtcHR5IGFycmF5IGBbXWAgYmxvY2tzIGFsbCBleHRlcm5hbCBub24tbWFzdGVyLWtleSBSRVNUIEFQSSByZXF1ZXN0cyAoZnVsbCBsb2NrZG93biBvZiBSRVNUIEFQSSByb3V0ZXMpLjxicj48YnI+V2hlbiBzZXR0aW5nIHRoZSBvcHRpb24gdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgbm90YXRpb24gaXMgYSBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nLCBmb3IgZXhhbXBsZSBgXCJjbGFzc2VzL0NoYXRNZXNzYWdlLHVzZXJzLGZ1bmN0aW9ucy8uKlwiYC48YnI+PGJyPkRlZmF1bHRzIHRvIGB1bmRlZmluZWRgIHdoaWNoIG1lYW5zIHRoZSBmZWF0dXJlIGlzIGluYWN0aXZlIGFuZCBhbGwgcm91dGVzIGFyZSBhY2Nlc3NpYmxlLjxicj48YnI+PGI+Tm90ZTo8L2I+IEZpbGUgcm91dGVzIGFuZCB0aGUgR3JhcGhRTCBBUEkgYXJlIG5vdCBjb3ZlcmVkIGJ5IHRoaXMgb3B0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICBzY2hlZHVsZWRQdXNoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVEVUxFRF9QVVNIJyxcbiAgICBoZWxwOiAnQ29uZmlndXJhdGlvbiBmb3IgcHVzaCBzY2hlZHVsaW5nLCBkZWZhdWx0cyB0byBmYWxzZS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBzY2hlbWE6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BJyxcbiAgICBoZWxwOiAnRGVmaW5lZCBzY2hlbWEnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ1NjaGVtYU9wdGlvbnMnLFxuICB9LFxuICBzZWN1cml0eToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRUNVUklUWScsXG4gICAgaGVscDogJ1RoZSBzZWN1cml0eSBvcHRpb25zIHRvIGlkZW50aWZ5IGFuZCByZXBvcnQgd2VhayBzZWN1cml0eSBzZXR0aW5ncy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ1NlY3VyaXR5T3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIHNlbmRVc2VyRW1haWxWZXJpZmljYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VORF9VU0VSX0VNQUlMX1ZFUklGSUNBVElPTicsXG4gICAgaGVscDogJ1NldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgc2VuZGluZyBvZiB2ZXJpZmljYXRpb24gZW1haWwuIFN1cHBvcnRzIGEgZnVuY3Rpb24gd2l0aCBhIHJldHVybiB2YWx1ZSBvZiBgdHJ1ZWAgb3IgYGZhbHNlYCBmb3IgY29uZGl0aW9uYWwgZW1haWwgc2VuZGluZy48YnI+PGJyPkRlZmF1bHQgaXMgYHRydWVgLjxicj4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuT3JGdW5jdGlvblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBzZXJ2ZXJDbG9zZUNvbXBsZXRlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFUlZFUl9DTE9TRV9DT01QTEVURScsXG4gICAgaGVscDogJ0NhbGxiYWNrIHdoZW4gc2VydmVyIGhhcyBjbG9zZWQnLFxuICB9LFxuICBzZXJ2ZXJVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byBQYXJzZSBTZXJ2ZXIuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBDZXJ0YWluIHNlcnZlciBmZWF0dXJlcyBvciBhZGFwdGVycyBtYXkgcmVxdWlyZSBQYXJzZSBTZXJ2ZXIgdG8gYmUgYWJsZSB0byBjYWxsIGl0c2VsZiBieSBtYWtpbmcgcmVxdWVzdHMgdG8gdGhlIFVSTCBzZXQgaW4gYHNlcnZlclVSTGAuIElmIGEgZmVhdHVyZSByZXF1aXJlcyB0aGlzLCBpdCBpcyBtZW50aW9uZWQgaW4gdGhlIGRvY3VtZW50YXRpb24uIEluIHRoYXQgY2FzZSBlbnN1cmUgdGhhdCB0aGUgVVJMIGlzIGFjY2Vzc2libGUgZnJvbSB0aGUgc2VydmVyIGl0c2VsZi4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBzZXNzaW9uTGVuZ3RoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFU1NJT05fTEVOR1RIJyxcbiAgICBoZWxwOiAnU2Vzc2lvbiBkdXJhdGlvbiwgaW4gc2Vjb25kcywgZGVmYXVsdHMgdG8gMSB5ZWFyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdzZXNzaW9uTGVuZ3RoJyksXG4gICAgZGVmYXVsdDogMzE1MzYwMDAsXG4gIH0sXG4gIHNpbGVudDoge1xuICAgIGVudjogJ1NJTEVOVCcsXG4gICAgaGVscDogJ0Rpc2FibGVzIGNvbnNvbGUgb3V0cHV0JyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgc3RhcnRMaXZlUXVlcnlTZXJ2ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU1RBUlRfTElWRV9RVUVSWV9TRVJWRVInLFxuICAgIGhlbHA6ICdTdGFydHMgdGhlIGxpdmVRdWVyeSBzZXJ2ZXInLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICB0cnVzdFByb3h5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1RSVVNUX1BST1hZJyxcbiAgICBoZWxwOiAnVGhlIHRydXN0IHByb3h5IHNldHRpbmdzLiBJdCBpcyBpbXBvcnRhbnQgdG8gdW5kZXJzdGFuZCB0aGUgZXhhY3Qgc2V0dXAgb2YgdGhlIHJldmVyc2UgcHJveHksIHNpbmNlIHRoaXMgc2V0dGluZyB3aWxsIHRydXN0IHZhbHVlcyBwcm92aWRlZCBpbiB0aGUgUGFyc2UgU2VydmVyIEFQSSByZXF1ZXN0LiBTZWUgdGhlIDxhIGhyZWY9XCJodHRwczovL2V4cHJlc3Nqcy5jb20vZW4vZ3VpZGUvYmVoaW5kLXByb3hpZXMuaHRtbFwiPmV4cHJlc3MgdHJ1c3QgcHJveHkgc2V0dGluZ3M8L2E+IGRvY3VtZW50YXRpb24uIERlZmF1bHRzIHRvIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFtdLFxuICB9LFxuICB1c2VyU2Vuc2l0aXZlRmllbGRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1VTRVJfU0VOU0lUSVZFX0ZJRUxEUycsXG4gICAgaGVscDogJ1BlcnNvbmFsbHkgaWRlbnRpZmlhYmxlIGluZm9ybWF0aW9uIGZpZWxkcyBpbiB0aGUgdXNlciB0YWJsZSB0aGUgc2hvdWxkIGJlIHJlbW92ZWQgZm9yIG5vbi1hdXRob3JpemVkIHVzZXJzLiBEZXByZWNhdGVkIEBzZWUgcHJvdGVjdGVkRmllbGRzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIHZlcmJvc2U6IHtcbiAgICBlbnY6ICdWRVJCT1NFJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBsb2dnaW5nIHRvIHZlcmJvc2UnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICB2ZXJpZnlTZXJ2ZXJVcmw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfVkVSSUZZX1NFUlZFUl9VUkwnLFxuICAgIGhlbHA6ICdQYXJzZSBTZXJ2ZXIgbWFrZXMgYSBIVFRQIHJlcXVlc3QgdG8gdGhlIFVSTCBzZXQgaW4gYHNlcnZlclVSTGAgYXQgdGhlIGVuZCBvZiBpdHMgbGF1bmNoIHJvdXRpbmUgdG8gdmVyaWZ5IHRoYXQgdGhlIGxhdW5jaCBzdWNjZWVkZWQuIElmIHRoaXMgb3B0aW9uIGlzIHNldCB0byBgZmFsc2VgLCB0aGUgdmVyaWZpY2F0aW9uIHdpbGwgYmUgc2tpcHBlZC4gVGhpcyBjYW4gYmUgdXNlZnVsIGluIGVudmlyb25tZW50cyB3aGVyZSB0aGUgc2VydmVyIFVSTCBpcyBub3QgYWNjZXNzaWJsZSBmcm9tIHRoZSBzZXJ2ZXIgaXRzZWxmLCBzdWNoIGFzIHdoZW4gcnVubmluZyBiZWhpbmQgYSBmaXJld2FsbCBvciBpbiBjZXJ0YWluIGNvbnRhaW5lcml6ZWQgZW52aXJvbm1lbnRzLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgU2VydmVyIFVSTCB2ZXJpZmljYXRpb24gcmVxdWlyZXMgUGFyc2UgU2VydmVyIHRvIGJlIGFibGUgdG8gY2FsbCBpdHNlbGYgYnkgbWFraW5nIHJlcXVlc3RzIHRvIHRoZSBVUkwgc2V0IGluIGBzZXJ2ZXJVUkxgLjxicj48YnI+RGVmYXVsdCBpcyBgdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICB2ZXJpZnlVc2VyRW1haWxzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1ZFUklGWV9VU0VSX0VNQUlMUycsXG4gICAgaGVscDogXCJTZXQgdG8gYHRydWVgIHRvIHJlcXVpcmUgdXNlcnMgdG8gdmVyaWZ5IHRoZWlyIGVtYWlsIGFkZHJlc3MgdG8gY29tcGxldGUgdGhlIHNpZ24tdXAgcHJvY2Vzcy4gU3VwcG9ydHMgYSBmdW5jdGlvbiB3aXRoIGEgcmV0dXJuIHZhbHVlIG9mIGB0cnVlYCBvciBgZmFsc2VgIGZvciBjb25kaXRpb25hbCB2ZXJpZmljYXRpb24uIFRoZSBmdW5jdGlvbiByZWNlaXZlcyBhIHJlcXVlc3Qgb2JqZWN0IHRoYXQgaW5jbHVkZXMgYGNyZWF0ZWRXaXRoYCB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBpbnZvY2F0aW9uIGlzIGZvciBgc2lnbnVwYCBvciBgbG9naW5gIGFuZCB0aGUgdXNlZCBhdXRoIHByb3ZpZGVyLjxicj48YnI+VGhlIGBjcmVhdGVkV2l0aGAgdmFsdWVzIHBlciBzY2VuYXJpbzo8dWw+PGxpPlBhc3N3b3JkIHNpZ251cDogYHsgYWN0aW9uOiAnc2lnbnVwJywgYXV0aFByb3ZpZGVyOiAncGFzc3dvcmQnIH1gPC9saT48bGk+QXV0aCBwcm92aWRlciBzaWdudXA6IGB7IGFjdGlvbjogJ3NpZ251cCcsIGF1dGhQcm92aWRlcjogJzxwcm92aWRlcj4nIH1gPC9saT48bGk+UGFzc3dvcmQgbG9naW46IGB7IGFjdGlvbjogJ2xvZ2luJywgYXV0aFByb3ZpZGVyOiAncGFzc3dvcmQnIH1gPC9saT48bGk+QXV0aCBwcm92aWRlciBsb2dpbjogZnVuY3Rpb24gbm90IGludm9rZWQ7IGF1dGggcHJvdmlkZXIgbG9naW4gYnlwYXNzZXMgZW1haWwgdmVyaWZpY2F0aW9uPC9saT48bGk+UmVzZW5kIHZlcmlmaWNhdGlvbiBlbWFpbDogYGNyZWF0ZWRXaXRoYCBpcyBgdW5kZWZpbmVkYDsgdXNlIHRoZSBgcmVzZW5kUmVxdWVzdGAgcHJvcGVydHkgdG8gaWRlbnRpZnkgdGhvc2U8L2xpPjwvdWw+RGVmYXVsdCBpcyBgZmFsc2VgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuT3JGdW5jdGlvblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgd2ViaG9va0tleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9XRUJIT09LX0tFWScsXG4gICAgaGVscDogJ0tleSBzZW50IHdpdGggb3V0Z29pbmcgd2ViaG9vayBjYWxscycsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUmF0ZUxpbWl0T3B0aW9ucyA9IHtcbiAgZXJyb3JSZXNwb25zZU1lc3NhZ2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9FUlJPUl9SRVNQT05TRV9NRVNTQUdFJyxcbiAgICBoZWxwOiAnVGhlIGVycm9yIG1lc3NhZ2UgdGhhdCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gdGhlIGJvZHkgb2YgdGhlIEhUVFAgNDI5IHJlc3BvbnNlIHdoZW4gdGhlIHJhdGUgbGltaXQgaXMgaGl0LiBEZWZhdWx0IGlzIGBUb28gbWFueSByZXF1ZXN0cy5gLicsXG4gICAgZGVmYXVsdDogJ1RvbyBtYW55IHJlcXVlc3RzLicsXG4gIH0sXG4gIGluY2x1ZGVJbnRlcm5hbFJlcXVlc3RzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVRfSU5DTFVERV9JTlRFUk5BTF9SRVFVRVNUUycsXG4gICAgaGVscDogJ09wdGlvbmFsLCBpZiBgdHJ1ZWAgdGhlIHJhdGUgbGltaXQgd2lsbCBhbHNvIGFwcGx5IHRvIHJlcXVlc3RzIHRoYXQgYXJlIG1hZGUgaW4gYnkgQ2xvdWQgQ29kZSwgZGVmYXVsdCBpcyBgZmFsc2VgLiBOb3RlIHRoYXQgYSBwdWJsaWMgQ2xvdWQgQ29kZSBmdW5jdGlvbiB0aGF0IHRyaWdnZXJzIGludGVybmFsIHJlcXVlc3RzIG1heSBjaXJjdW12ZW50IHJhdGUgbGltaXRpbmcgYW5kIGJlIHZ1bG5lcmFibGUgdG8gYXR0YWNrcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBpbmNsdWRlTWFzdGVyS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVRfSU5DTFVERV9NQVNURVJfS0VZJyxcbiAgICBoZWxwOiAnT3B0aW9uYWwsIGlmIGB0cnVlYCB0aGUgcmF0ZSBsaW1pdCB3aWxsIGFsc28gYXBwbHkgdG8gcmVxdWVzdHMgdXNpbmcgdGhlIGBtYXN0ZXJLZXlgLCBkZWZhdWx0IGlzIGBmYWxzZWAuIE5vdGUgdGhhdCBhIHB1YmxpYyBDbG91ZCBDb2RlIGZ1bmN0aW9uIHRoYXQgdHJpZ2dlcnMgaW50ZXJuYWwgcmVxdWVzdHMgdXNpbmcgdGhlIGBtYXN0ZXJLZXlgIG1heSBjaXJjdW12ZW50IHJhdGUgbGltaXRpbmcgYW5kIGJlIHZ1bG5lcmFibGUgdG8gYXR0YWNrcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICByZWRpc1VybDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFRElTX1VSTCcsXG4gICAgaGVscDogJ09wdGlvbmFsLCB0aGUgVVJMIG9mIHRoZSBSZWRpcyBzZXJ2ZXIgdG8gc3RvcmUgcmF0ZSBsaW1pdCBkYXRhLiBUaGlzIGFsbG93cyB0byByYXRlIGxpbWl0IHJlcXVlc3RzIGZvciBtdWx0aXBsZSBzZXJ2ZXJzIGJ5IGNhbGN1bGF0aW5nIHRoZSBzdW0gb2YgYWxsIHJlcXVlc3RzIGFjcm9zcyBhbGwgc2VydmVycy4gVGhpcyBpcyB1c2VmdWwgaWYgbXVsdGlwbGUgc2VydmVycyBhcmUgcHJvY2Vzc2luZyByZXF1ZXN0cyBiZWhpbmQgYSBsb2FkIGJhbGFuY2VyLiBGb3IgZXhhbXBsZSwgdGhlIGxpbWl0IG9mIDEwIHJlcXVlc3RzIGlzIHJlYWNoZWQgaWYgZWFjaCBvZiAyIHNlcnZlcnMgcHJvY2Vzc2VkIDUgcmVxdWVzdHMuJyxcbiAgfSxcbiAgcmVxdWVzdENvdW50OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVRfUkVRVUVTVF9DT1VOVCcsXG4gICAgaGVscDogJ1RoZSBudW1iZXIgb2YgcmVxdWVzdHMgdGhhdCBjYW4gYmUgbWFkZSBwZXIgSVAgYWRkcmVzcyB3aXRoaW4gdGhlIHRpbWUgd2luZG93IHNldCBpbiBgcmVxdWVzdFRpbWVXaW5kb3dgIGJlZm9yZSB0aGUgcmF0ZSBsaW1pdCBpcyBhcHBsaWVkLiBGb3IgYmF0Y2ggcmVxdWVzdHMsIHRoaXMgYWxzbyBsaW1pdHMgdGhlIG51bWJlciBvZiBzdWItcmVxdWVzdHMgaW4gYSBzaW5nbGUgYmF0Y2ggdGhhdCB0YXJnZXQgdGhpcyBwYXRoOyBob3dldmVyLCByZXF1ZXN0cyBhbHJlYWR5IGNvbnN1bWVkIGluIHRoZSBjdXJyZW50IHRpbWUgd2luZG93IGFyZSBub3QgY291bnRlZCBhZ2FpbnN0IHRoZSBiYXRjaCwgc28gdGhlIGVmZmVjdGl2ZSBsaW1pdCBtYXkgYmUgaGlnaGVyIHdoZW4gY29tYmluaW5nIGluZGl2aWR1YWwgYW5kIGJhdGNoIHJlcXVlc3RzLiBOb3RlIHRoYXQgdGhpcyBpcyBhIGJhc2ljIHNlcnZlci1sZXZlbCByYXRlIGxpbWl0OyBmb3IgY29tcHJlaGVuc2l2ZSBwcm90ZWN0aW9uLCB1c2UgYSByZXZlcnNlIHByb3h5IG9yIFdBRiBmb3IgcmF0ZSBsaW1pdGluZy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3JlcXVlc3RDb3VudCcpLFxuICB9LFxuICByZXF1ZXN0TWV0aG9kczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFUVVFU1RfTUVUSE9EUycsXG4gICAgaGVscDogXCJPcHRpb25hbCwgdGhlIEhUVFAgcmVxdWVzdCBtZXRob2RzIHRvIHdoaWNoIHRoZSByYXRlIGxpbWl0IHNob3VsZCBiZSBhcHBsaWVkLCBkZWZhdWx0IGlzIGFsbCBtZXRob2RzLiBUaGUgbWV0aG9kIGlzIG1hdGNoZWQgYWZ0ZXIgYW55IGBfbWV0aG9kYCBib2R5IG92ZXJyaWRlIGhhcyBiZWVuIHJlc29sdmVkLCBpLmUuIGl0IGlzIHRoZSBtZXRob2QgdXNlZCB0byByb3V0ZSB0aGUgcmVxdWVzdC4gTm90ZSB0aGF0IHNvbWUgZW5kcG9pbnRzIGFyZSByZWFjaGFibGUgdmlhIG1vcmUgdGhhbiBvbmUgSFRUUCBtZXRob2QgKGZvciBleGFtcGxlIGAvbG9naW5gIGFuZCBgL3ZlcmlmeVBhc3N3b3JkYCBhcmUgYXZhaWxhYmxlIHZpYSBib3RoIGBHRVRgIGFuZCBgUE9TVGApOyB0byByYXRlIGxpbWl0IHN1Y2ggYW4gZW5kcG9pbnQgcmVsaWFibHksIGluY2x1ZGUgYWxsIHJlbGV2YW50IG1ldGhvZHMgKGUuZy4gYFsnR0VUJywgJ1BPU1QnXWApIG9yIG9taXQgdGhpcyBvcHRpb24gdG8gYXBwbHkgdGhlIGxpbWl0IHRvIGFsbCBtZXRob2RzLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgcmVxdWVzdFBhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9SRVFVRVNUX1BBVEgnLFxuICAgIGhlbHA6ICdUaGUgcGF0aCBvZiB0aGUgQVBJIHJvdXRlIHRvIGJlIHJhdGUgbGltaXRlZC4gUm91dGUgcGF0aHMsIGluIGNvbWJpbmF0aW9uIHdpdGggYSByZXF1ZXN0IG1ldGhvZCwgZGVmaW5lIHRoZSBlbmRwb2ludHMgYXQgd2hpY2ggcmVxdWVzdHMgY2FuIGJlIG1hZGUuIFJvdXRlIHBhdGhzIGNhbiBiZSBzdHJpbmdzIG9yIHN0cmluZyBwYXR0ZXJucyBmb2xsb3dpbmcgPGEgaHJlZj1cImh0dHBzOi8vZ2l0aHViLmNvbS9waWxsYXJqcy9wYXRoLXRvLXJlZ2V4cFwiPnBhdGgtdG8tcmVnZXhwIHY4PC9hPiBzeW50YXguJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgcmVxdWVzdFRpbWVXaW5kb3c6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9SRVFVRVNUX1RJTUVfV0lORE9XJyxcbiAgICBoZWxwOiAnVGhlIHdpbmRvdyBvZiB0aW1lIGluIG1pbGxpc2Vjb25kcyB3aXRoaW4gd2hpY2ggdGhlIG51bWJlciBvZiByZXF1ZXN0cyBzZXQgaW4gYHJlcXVlc3RDb3VudGAgY2FuIGJlIG1hZGUgYmVmb3JlIHRoZSByYXRlIGxpbWl0IGlzIGFwcGxpZWQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdyZXF1ZXN0VGltZVdpbmRvdycpLFxuICB9LFxuICB6b25lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVRfWk9ORScsXG4gICAgaGVscDogJ1RoZSB0eXBlIG9mIHJhdGUgbGltaXQgdG8gYXBwbHkuIFRoZSBmb2xsb3dpbmcgdHlwZXMgYXJlIHN1cHBvcnRlZDo8dWw+PGxpPmBnbG9iYWxgOiByYXRlIGxpbWl0IGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgcmVxdWVzdHMgbWFkZSBieSBhbGwgdXNlcnM8L2xpPjxsaT5gaXBgOiByYXRlIGxpbWl0IGJhc2VkIG9uIHRoZSBJUCBhZGRyZXNzIG9mIHRoZSByZXF1ZXN0PC9saT48bGk+YHVzZXJgOiByYXRlIGxpbWl0IGJhc2VkIG9uIHRoZSB1c2VyIElEIG9mIHRoZSByZXF1ZXN0PC9saT48bGk+YHNlc3Npb25gOiByYXRlIGxpbWl0IGJhc2VkIG9uIHRoZSBzZXNzaW9uIHRva2VuIG9mIHRoZSByZXF1ZXN0PC9saT48L3VsPkRlZmF1bHQgaXMgYGlwYC4nLFxuICAgIGRlZmF1bHQ6ICdpcCcsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUmVxdWVzdENvbXBsZXhpdHlPcHRpb25zID0ge1xuICBhbGxvd1JlZ2V4OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09NUExFWElUWV9BTExPV19SRUdFWCcsXG4gICAgaGVscDogJ1doZXRoZXIgdG8gYWxsb3cgdGhlIGAkcmVnZXhgIHF1ZXJ5IG9wZXJhdG9yLiBTZXQgdG8gYGZhbHNlYCB0byByZWplY3QgYCRyZWdleGAgaW4gcXVlcmllcyBmb3Igbm9uLW1hc3Rlci1rZXkgdXNlcnMuIERlZmF1bHQgaXMgYHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgYmF0Y2hSZXF1ZXN0TGltaXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZX0JBVENIX1JFUVVFU1RfTElNSVQnLFxuICAgIGhlbHA6ICdNYXhpbXVtIG51bWJlciBvZiBzdWItcmVxdWVzdHMgaW4gYSBzaW5nbGUgYmF0Y2ggcmVxdWVzdC4gU2V0IHRvIGAtMWAgdG8gZGlzYWJsZS4gRGVmYXVsdCBpcyBgLTFgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignYmF0Y2hSZXF1ZXN0TGltaXQnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbiAgZ3JhcGhRTERlcHRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09NUExFWElUWV9HUkFQSFFMX0RFUFRIJyxcbiAgICBoZWxwOiAnTWF4aW11bSBkZXB0aCBvZiBHcmFwaFFMIGZpZWxkIHNlbGVjdGlvbnMuIFNldCB0byBgLTFgIHRvIGRpc2FibGUuIERlZmF1bHQgaXMgYC0xYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2dyYXBoUUxEZXB0aCcpLFxuICAgIGRlZmF1bHQ6IC0xLFxuICB9LFxuICBncmFwaFFMRmllbGRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09NUExFWElUWV9HUkFQSFFMX0ZJRUxEUycsXG4gICAgaGVscDogJ01heGltdW0gbnVtYmVyIG9mIGZpZWxkIHNlbGVjdGlvbnMgaW4gYSBHcmFwaFFMIHF1ZXJ5LiBTZXQgdG8gYC0xYCB0byBkaXNhYmxlLiBEZWZhdWx0IGlzIGAtMWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdncmFwaFFMRmllbGRzJyksXG4gICAgZGVmYXVsdDogLTEsXG4gIH0sXG4gIGluY2x1ZGVDb3VudDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFlfSU5DTFVERV9DT1VOVCcsXG4gICAgaGVscDogJ01heGltdW0gbnVtYmVyIG9mIGluY2x1ZGUgcGF0aHMgaW4gYSBzaW5nbGUgcXVlcnkuIFNldCB0byBgLTFgIHRvIGRpc2FibGUuIERlZmF1bHQgaXMgYC0xYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2luY2x1ZGVDb3VudCcpLFxuICAgIGRlZmF1bHQ6IC0xLFxuICB9LFxuICBpbmNsdWRlRGVwdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZX0lOQ0xVREVfREVQVEgnLFxuICAgIGhlbHA6ICdNYXhpbXVtIGRlcHRoIG9mIGluY2x1ZGUgcG9pbnRlciBjaGFpbnMgKGUuZy4gYGEuYi5jYCA9IGRlcHRoIDMpLiBTZXQgdG8gYC0xYCB0byBkaXNhYmxlLiBEZWZhdWx0IGlzIGAtMWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdpbmNsdWRlRGVwdGgnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbiAgcXVlcnlEZXB0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFlfUVVFUllfREVQVEgnLFxuICAgIGhlbHA6ICdNYXhpbXVtIG5lc3RpbmcgZGVwdGggb2YgYCRvcmAsIGAkYW5kYCwgYCRub3JgIHF1ZXJ5IG9wZXJhdG9ycy4gU2V0IHRvIGAtMWAgdG8gZGlzYWJsZS4gRGVmYXVsdCBpcyBgLTFgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigncXVlcnlEZXB0aCcpLFxuICAgIGRlZmF1bHQ6IC0xLFxuICB9LFxuICBzdWJxdWVyeURlcHRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09NUExFWElUWV9TVUJRVUVSWV9ERVBUSCcsXG4gICAgaGVscDogJ01heGltdW0gbmVzdGluZyBkZXB0aCBvZiBgJGluUXVlcnlgLCBgJG5vdEluUXVlcnlgLCBgJHNlbGVjdGAsIGAkZG9udFNlbGVjdGAgc3VicXVlcmllcy4gU2V0IHRvIGAtMWAgdG8gZGlzYWJsZS4gRGVmYXVsdCBpcyBgLTFgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc3VicXVlcnlEZXB0aCcpLFxuICAgIGRlZmF1bHQ6IC0xLFxuICB9LFxuICBzdWJxdWVyeUxpbWl0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09NUExFWElUWV9TVUJRVUVSWV9MSU1JVCcsXG4gICAgaGVscDogJ01heGltdW0gbnVtYmVyIG9mIHJlc3VsdHMgcmV0dXJuZWQgYnkgYSBgJGluUXVlcnlgLCBgJG5vdEluUXVlcnlgLCBgJHNlbGVjdGAsIGAkZG9udFNlbGVjdGAgc3VicXVlcnkuIFNldCB0byBgLTFgIHRvIGRpc2FibGUuIERlZmF1bHQgaXMgYC0xYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3N1YnF1ZXJ5TGltaXQnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5JbnN0YWxsYXRpb25PcHRpb25zID0ge1xuICBkdXBsaWNhdGVEZXZpY2VUb2tlbkFjdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9JTlNUQUxMQVRJT05fRFVQTElDQVRFX0RFVklDRV9UT0tFTl9BQ1RJT04nLFxuICAgIGhlbHA6IFwiV2hhdCBQYXJzZSBTZXJ2ZXIgZG9lcyB0byB0aGUgY29uZmxpY3RpbmcgYF9JbnN0YWxsYXRpb25gIHJvdyhzKSB3aGVuIGEgbmV3IGluc3RhbGwncyBgZGV2aWNlVG9rZW5gIGNvbGxpZGVzIHdpdGggYW4gZXhpc3Rpbmcgcm93LiBgJ2RlbGV0ZSdgIGRlc3Ryb3lzIHRoZSBjb25mbGljdGluZyByb3cuIGAndXBkYXRlJ2AgY2xlYXJzIHRoZSBub3ctY29uZmxpY3RpbmcgSUQgZmllbGQgb24gdGhlIGNvbmZsaWN0aW5nIHJvdywgcHJlc2VydmluZyBjdXN0b20gZmllbGRzLCBjaGFubmVscywgYW5kIGhpc3RvcnkuIERlZmF1bHQgaXMgYCdkZWxldGUnYC5cIixcbiAgICBkZWZhdWx0OiAnZGVsZXRlJyxcbiAgfSxcbiAgZHVwbGljYXRlRGV2aWNlVG9rZW5BY3Rpb25FbmZvcmNlQXV0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9JTlNUQUxMQVRJT05fRFVQTElDQVRFX0RFVklDRV9UT0tFTl9BQ1RJT05fRU5GT1JDRV9BVVRIJyxcbiAgICBoZWxwOiBcIldoZXRoZXIgdGhlIGBfSW5zdGFsbGF0aW9uYCBkZWR1cGxpY2F0aW9uIG9wZXJhdGlvbiBlbmZvcmNlcyB0aGUgY2FsbGVyJ3MgYXV0aCBjb250ZXh0IChhbmQgdGhlIHJlc3VsdGluZyBBQ0wgYW5kIENMUCkuIFdoZW4gYHRydWVgLCB0aGUgZGVkdXAgYGRlc3Ryb3lgL2B1cGRhdGVgIHJ1bnMgd2l0aCB0aGUgY2FsbGVyJ3MgYHJ1bk9wdGlvbnNgLCBzbyBBQ0wgYW5kIENMUCBhcmUgaG9ub3JlZC4gV2hlbiBgZmFsc2VgLCB0aGUgZGVkdXAgcnVucyBhcyBtYXN0ZXIgYW5kIGJ5cGFzc2VzIGJvdGguIE1hc3RlciBhbmQgbWFpbnRlbmFuY2Uga2V5cyBhbHdheXMgYnlwYXNzIHJlZ2FyZGxlc3Mgb2YgdGhpcyBmbGFnLiBEZWZhdWx0IGlzIGBmYWxzZWAuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGR1cGxpY2F0ZURldmljZVRva2VuTWVyZ2VQcmlvcml0eToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9JTlNUQUxMQVRJT05fRFVQTElDQVRFX0RFVklDRV9UT0tFTl9NRVJHRV9QUklPUklUWScsXG4gICAgaGVscDogXCJBdCB0aGUgbWVyZ2UgY2FzZSAod2hlbiBhbiBleGlzdGluZyByb3cgaG9sZHMgdGhlIG5ldyBgZGV2aWNlVG9rZW5gIGJ1dCBoYXMgbm8gYGluc3RhbGxhdGlvbklkYCBvZiBpdHMgb3duKSwgd2hpY2ggc2lkZSB3aW5zLiBgJ2RldmljZVRva2VuJ2AgXFx1MjAxNCB0aGUgZGV2aWNlVG9rZW4tb25seSByb3cgc3Vydml2ZXMsIHRoZSByZXF1ZXN0J3MgYGlkTWF0Y2hgIHJvdyBpcyB0aGUgbG9zZXIuIGAnaW5zdGFsbGF0aW9uSWQnYCBcXHUyMDE0IHRoZSByZXF1ZXN0J3MgYGlkTWF0Y2hgIChhY3RpdmUgaW5zdGFsbCkgc3Vydml2ZXMsIHRoZSBkZXZpY2VUb2tlbi1vbmx5IG9ycGhhbiBpcyB0aGUgbG9zZXIuIERlZmF1bHQgaXMgYCdkZXZpY2VUb2tlbidgLlwiLFxuICAgIGRlZmF1bHQ6ICdkZXZpY2VUb2tlbicsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuU2VjdXJpdHlPcHRpb25zID0ge1xuICBjaGVja0dyb3Vwczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRUNVUklUWV9DSEVDS19HUk9VUFMnLFxuICAgIGhlbHA6ICdUaGUgc2VjdXJpdHkgY2hlY2sgZ3JvdXBzIHRvIHJ1bi4gVGhpcyBhbGxvd3MgdG8gYWRkIGN1c3RvbSBzZWN1cml0eSBjaGVja3Mgb3Igb3ZlcnJpZGUgZXhpc3Rpbmcgb25lcy4gRGVmYXVsdCBhcmUgdGhlIGdyb3VwcyBkZWZpbmVkIGluIGBDaGVja0dyb3Vwcy5qc2AuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIGVuYWJsZUNoZWNrOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFQ1VSSVRZX0VOQUJMRV9DSEVDSycsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgUGFyc2UgU2VydmVyIHNob3VsZCBjaGVjayBmb3Igd2VhayBzZWN1cml0eSBzZXR0aW5ncy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmFibGVDaGVja0xvZzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRUNVUklUWV9FTkFCTEVfQ0hFQ0tfTE9HJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiB0aGUgc2VjdXJpdHkgY2hlY2sgcmVwb3J0IHNob3VsZCBiZSB3cml0dGVuIHRvIGxvZ3MuIFRoaXMgc2hvdWxkIG9ubHkgYmUgZW5hYmxlZCB0ZW1wb3JhcmlseSB0byBub3QgZXhwb3NlIHdlYWsgc2VjdXJpdHkgc2V0dGluZ3MgaW4gbG9ncy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlF1ZXJ5U2VydmVyT3B0aW9ucyA9IHtcbiAgYWdncmVnYXRpb25SYXdGaWVsZE5hbWVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1FVRVJZX0FHR1JFR0FUSU9OX1JBV19GSUVMRF9OQU1FUycsXG4gICAgaGVscDogJ1doZW4gYHRydWVgLCBhbGwgYWdncmVnYXRpb24gcXVlcmllcyBkZWZhdWx0IHRvIHVzaW5nIG5hdGl2ZSBNb25nb0RCIGZpZWxkIG5hbWVzIChubyBhdXRvbWF0aWMgYGNyZWF0ZWRBdGAgXFx1MjE5MiBgX2NyZWF0ZWRfYXRgIHJld3JpdGluZykuIEluZGl2aWR1YWwgcXVlcmllcyBjYW4gc3RpbGwgb3ZlcnJpZGUgdGhpcyB2aWEgdGhlIGByYXdGaWVsZE5hbWVzYCBvcHRpb24uIERlZmF1bHQgaXMgYGZhbHNlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBhZ2dyZWdhdGlvblJhd1ZhbHVlczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9RVUVSWV9BR0dSRUdBVElPTl9SQVdfVkFMVUVTJyxcbiAgICBoZWxwOiAnV2hlbiBgdHJ1ZWAsIGFsbCBhZ2dyZWdhdGlvbiBxdWVyaWVzIGRlZmF1bHQgdG8gdXNpbmcgTW9uZ29EQiBFeHRlbmRlZCBKU09OIChFSlNPTikgZm9yIGV4cGxpY2l0IHZhbHVlIHR5cGluZyBhbmQgc2tpcCBzY2hlbWEtYmFzZWQgdmFsdWUgY29lcmNpb24uIEluZGl2aWR1YWwgcXVlcmllcyBjYW4gc3RpbGwgb3ZlcnJpZGUgdGhpcyB2aWEgdGhlIGByYXdWYWx1ZXNgIG9wdGlvbi4gRGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUGFnZXNPcHRpb25zID0ge1xuICBjdXN0b21Sb3V0ZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1JPVVRFUycsXG4gICAgaGVscDogJ1RoZSBjdXN0b20gcm91dGVzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIHR5cGU6ICdQYWdlc1JvdXRlW10nLFxuICAgIGRlZmF1bHQ6IFtdLFxuICB9LFxuICBjdXN0b21VcmxzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxTJyxcbiAgICBoZWxwOiAnVGhlIFVSTHMgdG8gdGhlIGN1c3RvbSBwYWdlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ1BhZ2VzQ3VzdG9tVXJsc09wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBlbmFibGVMb2NhbGl6YXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfRU5BQkxFX0xPQ0FMSVpBVElPTicsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgcGFnZXMgc2hvdWxkIGJlIGxvY2FsaXplZDsgdGhpcyBoYXMgbm8gZWZmZWN0IG9uIGN1c3RvbSBwYWdlIHJlZGlyZWN0cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmNvZGVQYWdlUGFyYW1IZWFkZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0VOQ09ERV9QQUdFX1BBUkFNX0hFQURFUlMnLFxuICAgIGhlbHA6ICdJcyBgdHJ1ZWAgaWYgdGhlIHBhZ2UgcGFyYW1ldGVyIGhlYWRlcnMgc2hvdWxkIGJlIFVSSS1lbmNvZGVkLiBUaGlzIGlzIHJlcXVpcmVkIGlmIGFueSBwYWdlIHBhcmFtZXRlciB2YWx1ZSBjb250YWlucyBub24tQVNDSUkgY2hhcmFjdGVycywgc3VjaCBhcyB0aGUgYXBwIG5hbWUuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZm9yY2VSZWRpcmVjdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19GT1JDRV9SRURJUkVDVCcsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgcmVzcG9uc2VzIHNob3VsZCBhbHdheXMgYmUgcmVkaXJlY3RzIGFuZCBuZXZlciBjb250ZW50LCBmYWxzZSBpZiB0aGUgcmVzcG9uc2UgdHlwZSBzaG91bGQgZGVwZW5kIG9uIHRoZSByZXF1ZXN0IHR5cGUgKEdFVCByZXF1ZXN0IC0+IGNvbnRlbnQgcmVzcG9uc2U7IFBPU1QgcmVxdWVzdCAtPiByZWRpcmVjdCByZXNwb25zZSkuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgbG9jYWxpemF0aW9uRmFsbGJhY2tMb2NhbGU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfTE9DQUxJWkFUSU9OX0ZBTExCQUNLX0xPQ0FMRScsXG4gICAgaGVscDogJ1RoZSBmYWxsYmFjayBsb2NhbGUgZm9yIGxvY2FsaXphdGlvbiBpZiBubyBtYXRjaGluZyB0cmFuc2xhdGlvbiBpcyBwcm92aWRlZCBmb3IgdGhlIGdpdmVuIGxvY2FsZS4gVGhpcyBpcyBvbmx5IHJlbGV2YW50IHdoZW4gcHJvdmlkaW5nIHRyYW5zbGF0aW9uIHJlc291cmNlcyB2aWEgSlNPTiBmaWxlLicsXG4gICAgZGVmYXVsdDogJ2VuJyxcbiAgfSxcbiAgbG9jYWxpemF0aW9uSnNvblBhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfTE9DQUxJWkFUSU9OX0pTT05fUEFUSCcsXG4gICAgaGVscDogJ1RoZSBwYXRoIHRvIHRoZSBKU09OIGZpbGUgZm9yIGxvY2FsaXphdGlvbjsgdGhlIHRyYW5zbGF0aW9ucyB3aWxsIGJlIHVzZWQgdG8gZmlsbCB0ZW1wbGF0ZSBwbGFjZWhvbGRlcnMgYWNjb3JkaW5nIHRvIHRoZSBsb2NhbGUuJyxcbiAgfSxcbiAgcGFnZXNFbmRwb2ludDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19QQUdFU19FTkRQT0lOVCcsXG4gICAgaGVscDogXCJUaGUgQVBJIGVuZHBvaW50IGZvciB0aGUgcGFnZXMuIERlZmF1bHQgaXMgJ2FwcHMnLlwiLFxuICAgIGRlZmF1bHQ6ICdhcHBzJyxcbiAgfSxcbiAgcGFnZXNQYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1BBR0VTX1BBVEgnLFxuICAgIGhlbHA6IFwiVGhlIHBhdGggdG8gdGhlIHBhZ2VzIGRpcmVjdG9yeTsgdGhpcyBhbHNvIGRlZmluZXMgd2hlcmUgdGhlIHN0YXRpYyBlbmRwb2ludCAnL2FwcHMnIHBvaW50cyB0by4gRGVmYXVsdCBpcyB0aGUgJy4vcHVibGljLycgZGlyZWN0b3J5IG9mIHRoZSBwYXJzZS1zZXJ2ZXIgbW9kdWxlLlwiLFxuICB9LFxuICBwbGFjZWhvbGRlcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUExBQ0VIT0xERVJTJyxcbiAgICBoZWxwOiAnVGhlIHBsYWNlaG9sZGVyIGtleXMgYW5kIHZhbHVlcyB3aGljaCB3aWxsIGJlIGZpbGxlZCBpbiBwYWdlczsgdGhpcyBjYW4gYmUgYSBzaW1wbGUgb2JqZWN0IG9yIGEgY2FsbGJhY2sgZnVuY3Rpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlBhZ2VzUm91dGUgPSB7XG4gIGhhbmRsZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUk9VVEVfSEFORExFUicsXG4gICAgaGVscDogJ1RoZSByb3V0ZSBoYW5kbGVyIHRoYXQgaXMgYW4gYXN5bmMgZnVuY3Rpb24uJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgbWV0aG9kOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1JPVVRFX01FVEhPRCcsXG4gICAgaGVscDogXCJUaGUgcm91dGUgbWV0aG9kLCBlLmcuICdHRVQnIG9yICdQT1NUJy5cIixcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgcGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19ST1VURV9QQVRIJyxcbiAgICBoZWxwOiAnVGhlIHJvdXRlIHBhdGguJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5QYWdlc0N1c3RvbVVybHNPcHRpb25zID0ge1xuICBlbWFpbFZlcmlmaWNhdGlvbkxpbmtFeHBpcmVkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfRU1BSUxfVkVSSUZJQ0FUSU9OX0xJTktfRVhQSVJFRCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBlbWFpbCB2ZXJpZmljYXRpb24gLT4gbGluayBleHBpcmVkLicsXG4gIH0sXG4gIGVtYWlsVmVyaWZpY2F0aW9uTGlua0ludmFsaWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9FTUFJTF9WRVJJRklDQVRJT05fTElOS19JTlZBTElEJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiBsaW5rIGludmFsaWQuJyxcbiAgfSxcbiAgZW1haWxWZXJpZmljYXRpb25TZW5kRmFpbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9TRU5EX0ZBSUwnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgZW1haWwgdmVyaWZpY2F0aW9uIC0+IGxpbmsgc2VuZCBmYWlsLicsXG4gIH0sXG4gIGVtYWlsVmVyaWZpY2F0aW9uU2VuZFN1Y2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9FTUFJTF9WRVJJRklDQVRJT05fU0VORF9TVUNDRVNTJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiByZXNlbmQgbGluayAtPiBzdWNjZXNzLicsXG4gIH0sXG4gIGVtYWlsVmVyaWZpY2F0aW9uU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9TVUNDRVNTJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiBzdWNjZXNzLicsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9QQVNTV09SRF9SRVNFVCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBwYXNzd29yZCByZXNldC4nLFxuICB9LFxuICBwYXNzd29yZFJlc2V0TGlua0ludmFsaWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9QQVNTV09SRF9SRVNFVF9MSU5LX0lOVkFMSUQnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgcGFzc3dvcmQgcmVzZXQgLT4gbGluayBpbnZhbGlkLicsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXRTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfUEFTU1dPUkRfUkVTRVRfU1VDQ0VTUycsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBwYXNzd29yZCByZXNldCAtPiBzdWNjZXNzLicsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuQ3VzdG9tUGFnZXNPcHRpb25zID0ge1xuICBjaG9vc2VQYXNzd29yZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfQ0hPT1NFX1BBU1NXT1JEJyxcbiAgICBoZWxwOiAnY2hvb3NlIHBhc3N3b3JkIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGV4cGlyZWRWZXJpZmljYXRpb25MaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19FWFBJUkVEX1ZFUklGSUNBVElPTl9MSU5LJyxcbiAgICBoZWxwOiAnZXhwaXJlZCB2ZXJpZmljYXRpb24gbGluayBwYWdlIHBhdGgnLFxuICB9LFxuICBpbnZhbGlkTGluazoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfSU5WQUxJRF9MSU5LJyxcbiAgICBoZWxwOiAnaW52YWxpZCBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGludmFsaWRQYXNzd29yZFJlc2V0TGluazoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfSU5WQUxJRF9QQVNTV09SRF9SRVNFVF9MSU5LJyxcbiAgICBoZWxwOiAnaW52YWxpZCBwYXNzd29yZCByZXNldCBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGludmFsaWRWZXJpZmljYXRpb25MaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19JTlZBTElEX1ZFUklGSUNBVElPTl9MSU5LJyxcbiAgICBoZWxwOiAnaW52YWxpZCB2ZXJpZmljYXRpb24gbGluayBwYWdlIHBhdGgnLFxuICB9LFxuICBsaW5rU2VuZEZhaWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTX0xJTktfU0VORF9GQUlMJyxcbiAgICBoZWxwOiAndmVyaWZpY2F0aW9uIGxpbmsgc2VuZCBmYWlsIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGxpbmtTZW5kU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfTElOS19TRU5EX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICd2ZXJpZmljYXRpb24gbGluayBzZW5kIHN1Y2Nlc3MgcGFnZSBwYXRoJyxcbiAgfSxcbiAgcGFyc2VGcmFtZVVSTDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfUEFSU0VfRlJBTUVfVVJMJyxcbiAgICBoZWxwOiAnZm9yIG1hc2tpbmcgdXNlci1mYWNpbmcgcGFnZXMnLFxuICB9LFxuICBwYXNzd29yZFJlc2V0U3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfUEFTU1dPUkRfUkVTRVRfU1VDQ0VTUycsXG4gICAgaGVscDogJ3Bhc3N3b3JkIHJlc2V0IHN1Y2Nlc3MgcGFnZSBwYXRoJyxcbiAgfSxcbiAgdmVyaWZ5RW1haWxTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19WRVJJRllfRU1BSUxfU1VDQ0VTUycsXG4gICAgaGVscDogJ3ZlcmlmeSBlbWFpbCBzdWNjZXNzIHBhZ2UgcGF0aCcsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuTGl2ZVF1ZXJ5T3B0aW9ucyA9IHtcbiAgY2xhc3NOYW1lczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfQ0xBU1NOQU1FUycsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgY2xhc3NOYW1lc1wiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgcHViU3ViQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfUFVCX1NVQl9BREFQVEVSJyxcbiAgICBoZWxwOiAnTGl2ZVF1ZXJ5IHB1YnN1YiBhZGFwdGVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIHJlZGlzT3B0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfUkVESVNfT1BUSU9OUycsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgcmVkaXNPcHRpb25zXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmVkaXNVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTElWRVFVRVJZX1JFRElTX1VSTCcsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgcmVkaXNVUkxcIixcbiAgfSxcbiAgcmVnZXhUaW1lb3V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9SRUdFWF9USU1FT1VUJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgbWF4aW11bSBleGVjdXRpb24gdGltZSBpbiBtaWxsaXNlY29uZHMgZm9yIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJuIG1hdGNoaW5nIGluIExpdmVRdWVyeS4gVGhpcyBwcm90ZWN0cyBhZ2FpbnN0IFJlZ3VsYXIgRXhwcmVzc2lvbiBEZW5pYWwgb2YgU2VydmljZSAoUmVEb1MpIGF0dGFja3Mgd2hlcmUgYSBtYWxpY2lvdXMgcmVnZXggcGF0dGVybiBjb3VsZCBibG9jayB0aGUgZXZlbnQgbG9vcC4gQSByZWdleCB0aGF0IGV4Y2VlZHMgdGhlIHRpbWVvdXQgd2lsbCBiZSB0cmVhdGVkIGFzIG5vbi1tYXRjaGluZy48YnI+PGJyPlRoZSBwcm90ZWN0aW9uIHJ1bnMgZWFjaCByZWdleCBldmFsdWF0aW9uIGluIGFuIGlzb2xhdGVkIFZNIGNvbnRleHQgd2l0aCBhIHRpbWVvdXQuIFRoaXMgYWRkcyBhcHByb3hpbWF0ZWx5IDUwIG1pY3Jvc2Vjb25kcyBvZiBvdmVyaGVhZCBwZXIgcmVnZXggZXZhbHVhdGlvbi4gRm9yIG1vc3QgYXBwbGljYXRpb25zIHRoaXMgaXMgbmVnbGlnaWJsZSwgYnV0IGl0IGNhbiBhZGQgdXAgaWYgeW91IGhhdmUgYSB2ZXJ5IGxhcmdlIG51bWJlciBvZiBMaXZlUXVlcnkgc3Vic2NyaXB0aW9ucyB0aGF0IHVzZSBgJHJlZ2V4YCBvbiB0aGUgc2FtZSBjbGFzcy4gRm9yIGV4YW1wbGUsIDEwLDAwMCBjb25jdXJyZW50IHJlZ2V4IHN1YnNjcmlwdGlvbnMgd291bGQgYWRkIGFwcHJveGltYXRlbHkgNTAwbXMgb2YgcHJvY2Vzc2luZyB0aW1lIHBlciBvYmplY3Qgc2F2ZSBldmVudCBvbiB0aGF0IGNsYXNzLjxicj48YnI+U2V0IHRvIGAwYCB0byBkaXNhYmxlIHRoZSB0aW1lb3V0IGFuZCB1c2UgbmF0aXZlIHJlZ2V4IGV2YWx1YXRpb24gd2l0aG91dCBwcm90ZWN0aW9uLiBEZWZhdWx0cyB0byBgMTAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3JlZ2V4VGltZW91dCcpLFxuICAgIGRlZmF1bHQ6IDEwMCxcbiAgfSxcbiAgd3NzQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfV1NTX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgdGhlIFdlYlNvY2tldFNlcnZlcicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkxpdmVRdWVyeVNlcnZlck9wdGlvbnMgPSB7XG4gIGFwcElkOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfQVBQX0lEJyxcbiAgICBoZWxwOiAnVGhpcyBzdHJpbmcgc2hvdWxkIG1hdGNoIHRoZSBhcHBJZCBpbiB1c2UgYnkgeW91ciBQYXJzZSBTZXJ2ZXIuIElmIHlvdSBkZXBsb3kgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgYWxvbmdzaWRlIFBhcnNlIFNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gdXNlIHRoZSBzYW1lIGFwcElkLicsXG4gIH0sXG4gIGNhY2hlVGltZW91dDoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX0NBQ0hFX1RJTUVPVVQnLFxuICAgIGhlbHA6IFwiTnVtYmVyIGluIG1pbGxpc2Vjb25kcy4gV2hlbiBjbGllbnRzIHByb3ZpZGUgdGhlIHNlc3Npb25Ub2tlbiB0byB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gZmV0Y2ggaXRzIFBhcnNlVXNlcidzIG9iamVjdElkIGZyb20gcGFyc2Ugc2VydmVyIGFuZCBzdG9yZSBpdCBpbiB0aGUgY2FjaGUuIFRoZSB2YWx1ZSBkZWZpbmVzIHRoZSBkdXJhdGlvbiBvZiB0aGUgY2FjaGUuIENoZWNrIHRoZSBmb2xsb3dpbmcgU2VjdXJpdHkgc2VjdGlvbiBhbmQgb3VyIHByb3RvY29sIHNwZWNpZmljYXRpb24gZm9yIGRldGFpbHMsIGRlZmF1bHRzIHRvIDUgKiAxMDAwIG1zICg1IHNlY29uZHMpLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2NhY2hlVGltZW91dCcpLFxuICB9LFxuICBrZXlQYWlyczoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX0tFWV9QQUlSUycsXG4gICAgaGVscDogJ0EgSlNPTiBvYmplY3QgdGhhdCBzZXJ2ZXMgYXMgYSB3aGl0ZWxpc3Qgb2Yga2V5cy4gSXQgaXMgdXNlZCBmb3IgdmFsaWRhdGluZyBjbGllbnRzIHdoZW4gdGhleSB0cnkgdG8gY29ubmVjdCB0byB0aGUgTGl2ZVF1ZXJ5IHNlcnZlci4gQ2hlY2sgdGhlIGZvbGxvd2luZyBTZWN1cml0eSBzZWN0aW9uIGFuZCBvdXIgcHJvdG9jb2wgc3BlY2lmaWNhdGlvbiBmb3IgZGV0YWlscy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIGxvZ0xldmVsOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfTE9HX0xFVkVMJyxcbiAgICBoZWxwOiAnVGhpcyBzdHJpbmcgZGVmaW5lcyB0aGUgbG9nIGxldmVsIG9mIHRoZSBMaXZlUXVlcnkgc2VydmVyLiBXZSBzdXBwb3J0IFZFUkJPU0UsIElORk8sIEVSUk9SLCBOT05FLCBkZWZhdWx0cyB0byBJTkZPLicsXG4gIH0sXG4gIG1hc3RlcktleToge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX01BU1RFUl9LRVknLFxuICAgIGhlbHA6ICdUaGlzIHN0cmluZyBzaG91bGQgbWF0Y2ggdGhlIG1hc3RlcktleSBpbiB1c2UgYnkgeW91ciBQYXJzZSBTZXJ2ZXIuIElmIHlvdSBkZXBsb3kgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgYWxvbmdzaWRlIFBhcnNlIFNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gdXNlIHRoZSBzYW1lIG1hc3RlcktleS4nLFxuICB9LFxuICBwb3J0OiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfUE9SVCcsXG4gICAgaGVscDogJ1RoZSBwb3J0IHRvIHJ1biB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciwgZGVmYXVsdHMgdG8gMTMzNy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3BvcnQnKSxcbiAgICBkZWZhdWx0OiAxMzM3LFxuICB9LFxuICBwdWJTdWJBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfUFVCX1NVQl9BREFQVEVSJyxcbiAgICBoZWxwOiAnTGl2ZVF1ZXJ5IHB1YnN1YiBhZGFwdGVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIHJlZGlzT3B0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1JFRElTX09QVElPTlMnLFxuICAgIGhlbHA6IFwicGFyc2Utc2VydmVyJ3MgTGl2ZVF1ZXJ5IHJlZGlzT3B0aW9uc1wiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIHJlZGlzVVJMOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfUkVESVNfVVJMJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSByZWRpc1VSTFwiLFxuICB9LFxuICBzZXJ2ZXJVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnVGhpcyBzdHJpbmcgc2hvdWxkIG1hdGNoIHRoZSBzZXJ2ZXJVUkwgaW4gdXNlIGJ5IHlvdXIgUGFyc2UgU2VydmVyLiBJZiB5b3UgZGVwbG95IHRoZSBMaXZlUXVlcnkgc2VydmVyIGFsb25nc2lkZSBQYXJzZSBTZXJ2ZXIsIHRoZSBMaXZlUXVlcnkgc2VydmVyIHdpbGwgdHJ5IHRvIHVzZSB0aGUgc2FtZSBzZXJ2ZXJVUkwuJyxcbiAgfSxcbiAgd2Vic29ja2V0VGltZW91dDoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1dFQlNPQ0tFVF9USU1FT1VUJyxcbiAgICBoZWxwOiAnTnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHBpbmcvcG9uZyBmcmFtZXMuIFRoZSBXZWJTb2NrZXQgc2VydmVyIHNlbmRzIHBpbmcvcG9uZyBmcmFtZXMgdG8gdGhlIGNsaWVudHMgdG8ga2VlcCB0aGUgV2ViU29ja2V0IGFsaXZlLiBUaGlzIHZhbHVlIGRlZmluZXMgdGhlIGludGVydmFsIG9mIHRoZSBwaW5nL3BvbmcgZnJhbWUgZnJvbSB0aGUgc2VydmVyIHRvIGNsaWVudHMsIGRlZmF1bHRzIHRvIDEwICogMTAwMCBtcyAoMTAgcykuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCd3ZWJzb2NrZXRUaW1lb3V0JyksXG4gIH0sXG4gIHdzc0FkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9XU1NfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgV2ViU29ja2V0U2VydmVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuSWRlbXBvdGVuY3lPcHRpb25zID0ge1xuICBwYXRoczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FWFBFUklNRU5UQUxfSURFTVBPVEVOQ1lfUEFUSFMnLFxuICAgIGhlbHA6ICdBbiBhcnJheSBvZiBwYXRocyBmb3Igd2hpY2ggdGhlIGZlYXR1cmUgc2hvdWxkIGJlIGVuYWJsZWQuIFRoZSBtb3VudCBwYXRoIG11c3Qgbm90IGJlIGluY2x1ZGVkLCBmb3IgZXhhbXBsZSBpbnN0ZWFkIG9mIGAvcGFyc2UvZnVuY3Rpb25zL215RnVuY3Rpb25gIHNwZWNpZml5IGBmdW5jdGlvbnMvbXlGdW5jdGlvbmAuIFRoZSBlbnRyaWVzIGFyZSBpbnRlcnByZXRlZCBhcyByZWd1bGFyIGV4cHJlc3Npb24sIGZvciBleGFtcGxlIGBmdW5jdGlvbnMvLipgIG1hdGNoZXMgYWxsIGZ1bmN0aW9ucywgYGpvYnMvLipgIG1hdGNoZXMgYWxsIGpvYnMsIGBjbGFzc2VzLy4qYCBtYXRjaGVzIGFsbCBjbGFzc2VzLCBgLipgIG1hdGNoZXMgYWxsIHBhdGhzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFtdLFxuICB9LFxuICB0dGw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRVhQRVJJTUVOVEFMX0lERU1QT1RFTkNZX1RUTCcsXG4gICAgaGVscDogJ1RoZSBkdXJhdGlvbiBpbiBzZWNvbmRzIGFmdGVyIHdoaWNoIGEgcmVxdWVzdCByZWNvcmQgaXMgZGlzY2FyZGVkIGZyb20gdGhlIGRhdGFiYXNlLCBkZWZhdWx0cyB0byAzMDBzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigndHRsJyksXG4gICAgZGVmYXVsdDogMzAwLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkFjY291bnRMb2Nrb3V0T3B0aW9ucyA9IHtcbiAgZHVyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUX0RVUkFUSU9OJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBkdXJhdGlvbiBpbiBtaW51dGVzIHRoYXQgYSBsb2NrZWQtb3V0IGFjY291bnQgcmVtYWlucyBsb2NrZWQgb3V0IGJlZm9yZSBhdXRvbWF0aWNhbGx5IGJlY29taW5nIHVubG9ja2VkLjxicj48YnI+VmFsaWQgdmFsdWVzIGFyZSBncmVhdGVyIHRoYW4gYDBgIGFuZCBsZXNzIHRoYW4gYDEwMDAwMGAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdkdXJhdGlvbicpLFxuICB9LFxuICB0aHJlc2hvbGQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUX1RIUkVTSE9MRCcsXG4gICAgaGVscDogJ1NldCB0aGUgbnVtYmVyIG9mIGZhaWxlZCBzaWduLWluIGF0dGVtcHRzIHRoYXQgd2lsbCBjYXVzZSBhIHVzZXIgYWNjb3VudCB0byBiZSBsb2NrZWQuIElmIHRoZSBhY2NvdW50IGlzIGxvY2tlZC4gVGhlIGFjY291bnQgd2lsbCB1bmxvY2sgYWZ0ZXIgdGhlIGR1cmF0aW9uIHNldCBpbiB0aGUgYGR1cmF0aW9uYCBvcHRpb24gaGFzIHBhc3NlZCBhbmQgbm8gZnVydGhlciBsb2dpbiBhdHRlbXB0cyBoYXZlIGJlZW4gbWFkZS48YnI+PGJyPlZhbGlkIHZhbHVlcyBhcmUgZ3JlYXRlciB0aGFuIGAwYCBhbmQgbGVzcyB0aGFuIGAxMDAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3RocmVzaG9sZCcpLFxuICB9LFxuICB1bmxvY2tPblBhc3N3b3JkUmVzZXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUX1VOTE9DS19PTl9QQVNTV09SRF9SRVNFVCcsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgIGlmIHRoZSBhY2NvdW50IHNob3VsZCBiZSB1bmxvY2tlZCBhZnRlciBhIHN1Y2Nlc3NmdWwgcGFzc3dvcmQgcmVzZXQuPGJyPjxicj5EZWZhdWx0IGlzIGBmYWxzZWAuPGJyPlJlcXVpcmVzIG9wdGlvbnMgYGR1cmF0aW9uYCBhbmQgYHRocmVzaG9sZGAgdG8gYmUgc2V0LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUGFzc3dvcmRQb2xpY3lPcHRpb25zID0ge1xuICBkb05vdEFsbG93VXNlcm5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX0RPX05PVF9BTExPV19VU0VSTkFNRScsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gZGlzYWxsb3cgdGhlIHVzZXJuYW1lIGFzIHBhcnQgb2YgdGhlIHBhc3N3b3JkLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIG1heFBhc3N3b3JkQWdlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9NQVhfUEFTU1dPUkRfQUdFJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBudW1iZXIgb2YgZGF5cyBhZnRlciB3aGljaCBhIHBhc3N3b3JkIGV4cGlyZXMuIExvZ2luIGF0dGVtcHRzIGZhaWwgaWYgdGhlIHVzZXIgZG9lcyBub3QgcmVzZXQgdGhlIHBhc3N3b3JkIGJlZm9yZSBleHBpcmF0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4UGFzc3dvcmRBZ2UnKSxcbiAgfSxcbiAgbWF4UGFzc3dvcmRIaXN0b3J5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9NQVhfUEFTU1dPUkRfSElTVE9SWScsXG4gICAgaGVscDogJ1NldCB0aGUgbnVtYmVyIG9mIHByZXZpb3VzIHBhc3N3b3JkIHRoYXQgd2lsbCBub3QgYmUgYWxsb3dlZCB0byBiZSBzZXQgYXMgbmV3IHBhc3N3b3JkLiBJZiB0aGUgb3B0aW9uIGlzIG5vdCBzZXQgb3Igc2V0IHRvIGAwYCwgbm8gcHJldmlvdXMgcGFzc3dvcmRzIHdpbGwgYmUgY29uc2lkZXJlZC48YnI+PGJyPlZhbGlkIHZhbHVlcyBhcmUgPj0gYDBgIGFuZCA8PSBgMjBgLjxicj5EZWZhdWx0IGlzIGAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heFBhc3N3b3JkSGlzdG9yeScpLFxuICB9LFxuICByZXNldFBhc3N3b3JkU3VjY2Vzc09uSW52YWxpZEVtYWlsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9SRVNFVF9QQVNTV09SRF9TVUNDRVNTX09OX0lOVkFMSURfRU1BSUwnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIGlmIGEgcmVxdWVzdCB0byByZXNldCB0aGUgcGFzc3dvcmQgc2hvdWxkIHJldHVybiBhIHN1Y2Nlc3MgcmVzcG9uc2UgZXZlbiBpZiB0aGUgcHJvdmlkZWQgZW1haWwgYWRkcmVzcyBpcyBpbnZhbGlkLCBvciBgZmFsc2VgIGlmIHRoZSByZXF1ZXN0IHNob3VsZCByZXR1cm4gYW4gZXJyb3IgcmVzcG9uc2UgaWYgdGhlIGVtYWlsIGFkZHJlc3MgaXMgaW52YWxpZC48YnI+PGJyPkRlZmF1bHQgaXMgYHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgcmVzZXRUb2tlblJldXNlSWZWYWxpZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfUkVTRVRfVE9LRU5fUkVVU0VfSUZfVkFMSUQnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIGlmIGEgcGFzc3dvcmQgcmVzZXQgdG9rZW4gc2hvdWxkIGJlIHJldXNlZCBpbiBjYXNlIGFub3RoZXIgdG9rZW4gaXMgcmVxdWVzdGVkIGJ1dCB0aGVyZSBpcyBhIHRva2VuIHRoYXQgaXMgc3RpbGwgdmFsaWQsIGkuZS4gaGFzIG5vdCBleHBpcmVkLiBUaGlzIGF2b2lkcyB0aGUgb2Z0ZW4gb2JzZXJ2ZWQgaXNzdWUgdGhhdCBhIHVzZXIgcmVxdWVzdHMgbXVsdGlwbGUgZW1haWxzIGFuZCBkb2VzIG5vdCBrbm93IHdoaWNoIGxpbmsgY29udGFpbnMgYSB2YWxpZCB0b2tlbiBiZWNhdXNlIGVhY2ggbmV3bHkgZ2VuZXJhdGVkIHRva2VuIHdvdWxkIGludmFsaWRhdGUgdGhlIHByZXZpb3VzIHRva2VuLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHJlc2V0VG9rZW5WYWxpZGl0eUR1cmF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9SRVNFVF9UT0tFTl9WQUxJRElUWV9EVVJBVElPTicsXG4gICAgaGVscDogJ1NldCB0aGUgdmFsaWRpdHkgZHVyYXRpb24gb2YgdGhlIHBhc3N3b3JkIHJlc2V0IHRva2VuIGluIHNlY29uZHMgYWZ0ZXIgd2hpY2ggdGhlIHRva2VuIGV4cGlyZXMuIFRoZSB0b2tlbiBpcyB1c2VkIGluIHRoZSBsaW5rIHRoYXQgaXMgc2V0IGluIHRoZSBlbWFpbC4gQWZ0ZXIgdGhlIHRva2VuIGV4cGlyZXMsIHRoZSBsaW5rIGJlY29tZXMgaW52YWxpZCBhbmQgYSBuZXcgbGluayBoYXMgdG8gYmUgc2VudC4gSWYgdGhlIG9wdGlvbiBpcyBub3Qgc2V0IG9yIHNldCB0byBgdW5kZWZpbmVkYCwgdGhlbiB0aGUgdG9rZW4gbmV2ZXIgZXhwaXJlcy48YnI+PGJyPkZvciBleGFtcGxlLCB0byBleHBpcmUgdGhlIHRva2VuIGFmdGVyIDIgaG91cnMsIHNldCBhIHZhbHVlIG9mIDcyMDAgc2Vjb25kcyAoPSA2MCBzZWNvbmRzICogNjAgbWludXRlcyAqIDIgaG91cnMpLjxicj48YnI+RGVmYXVsdCBpcyBgdW5kZWZpbmVkYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3Jlc2V0VG9rZW5WYWxpZGl0eUR1cmF0aW9uJyksXG4gIH0sXG4gIHZhbGlkYXRpb25FcnJvcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfVkFMSURBVElPTl9FUlJPUicsXG4gICAgaGVscDogJ1NldCB0aGUgZXJyb3IgbWVzc2FnZSB0byBiZSBzZW50Ljxicj48YnI+RGVmYXVsdCBpcyBgUGFzc3dvcmQgZG9lcyBub3QgbWVldCB0aGUgUGFzc3dvcmQgUG9saWN5IHJlcXVpcmVtZW50cy5gJyxcbiAgfSxcbiAgdmFsaWRhdG9yQ2FsbGJhY2s6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX1ZBTElEQVRPUl9DQUxMQkFDSycsXG4gICAgaGVscDogJ1NldCBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIGEgcGFzc3dvcmQgdG8gYmUgYWNjZXB0ZWQuPGJyPjxicj5JZiB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYHZhbGlkYXRvclBhdHRlcm5gLCB0aGUgcGFzc3dvcmQgbXVzdCBwYXNzIGJvdGggdG8gYmUgYWNjZXB0ZWQuJyxcbiAgfSxcbiAgdmFsaWRhdG9yUGF0dGVybjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfVkFMSURBVE9SX1BBVFRFUk4nLFxuICAgIGhlbHA6ICdTZXQgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiB2YWxpZGF0aW9uIHBhdHRlcm4gYSBwYXNzd29yZCBtdXN0IG1hdGNoIHRvIGJlIGFjY2VwdGVkLjxicj48YnI+SWYgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGB2YWxpZGF0b3JDYWxsYmFja2AsIHRoZSBwYXNzd29yZCBtdXN0IHBhc3MgYm90aCB0byBiZSBhY2NlcHRlZC4nLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkZpbGVVcGxvYWRPcHRpb25zID0ge1xuICBhbGxvd2VkRmlsZVVybERvbWFpbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfQUxMT1dFRF9GSUxFX1VSTF9ET01BSU5TJyxcbiAgICBoZWxwOiBcIlNldHMgdGhlIGFsbG93ZWQgaG9zdG5hbWVzIGZvciBmaWxlIFVSTHMgcmVmZXJlbmNlZCBpbiBQYXJzZSBvYmplY3RzLiBXaGVuIGEgRmlsZSBvYmplY3QgaW5jbHVkZXMgYSBVUkwsIGl0cyBob3N0bmFtZSBtdXN0IG1hdGNoIG9uZSBvZiB0aGVzZSBlbnRyaWVzIHRvIGJlIGFjY2VwdGVkLiBTdXBwb3J0cyBleGFjdCBob3N0bmFtZXMgKGUuZy4sIGAnY2RuLmV4YW1wbGUuY29tJ2ApIGFuZCB3aWxkY2FyZCBzdWJkb21haW5zIChlLmcuLCBgJyouZXhhbXBsZS5jb20nYCkuIFVzZSBgWycqJ11gIHRvIGFsbG93IGFueSBkb21haW4uIFVzZSBgW11gIHRvIGJsb2NrIGFsbCBmaWxlIFVSTHMgKG9ubHkgbmFtZS1iYXNlZCBmaWxlcyBhbGxvd2VkKS5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgZGVmYXVsdDogWycqJ10sXG4gIH0sXG4gIGVuYWJsZUZvckFub255bW91c1VzZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfRU5BQkxFX0ZPUl9BTk9OWU1PVVNfVVNFUicsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgZmlsZSB1cGxvYWQgc2hvdWxkIGJlIGFsbG93ZWQgZm9yIGFub255bW91cyB1c2Vycy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmFibGVGb3JBdXRoZW50aWNhdGVkVXNlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9FTkFCTEVfRk9SX0FVVEhFTlRJQ0FURURfVVNFUicsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgZmlsZSB1cGxvYWQgc2hvdWxkIGJlIGFsbG93ZWQgZm9yIGF1dGhlbnRpY2F0ZWQgdXNlcnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBlbmFibGVGb3JQdWJsaWM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfRU5BQkxFX0ZPUl9QVUJMSUMnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIGZpbGUgdXBsb2FkIHNob3VsZCBiZSBhbGxvd2VkIGZvciBhbnlvbmUsIHJlZ2FyZGxlc3Mgb2YgdXNlciBhdXRoZW50aWNhdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBmaWxlRXh0ZW5zaW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9GSUxFX0VYVEVOU0lPTlMnLFxuICAgIGhlbHA6ICdTZXRzIHRoZSBhbGxvd2VkIGZpbGUgZXh0ZW5zaW9ucyBmb3IgdXBsb2FkaW5nIGZpbGVzLiBUaGUgZXh0ZW5zaW9uIGlzIGRlZmluZWQgYXMgYW4gYXJyYXkgb2YgZmlsZSBleHRlbnNpb25zLCBvciBhIHJlZ2V4IHBhdHRlcm4uPGJyPjxicj5JdCBpcyByZWNvbW1lbmRlZCB0byBvbmx5IGFsbG93IHRoZSBmaWxlIGV4dGVuc2lvbnMgdGhhdCB5b3VyIGFwcCBhY3R1YWxseSBuZWVkcywgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBibG9ja2luZyBkYW5nZXJvdXMgZXh0ZW5zaW9ucy4gVGhpcyBhbGxvd2xpc3QgYXBwcm9hY2ggaXMgbW9yZSBzZWN1cmUgYmVjYXVzZSBuZXcgZGFuZ2Vyb3VzIGZpbGUgZXh0ZW5zaW9ucyBtYXkgZW1lcmdlIHRoYXQgYXJlIG5vdCBjb3ZlcmVkIGJ5IHRoZSBkZWZhdWx0IGJsb2NrbGlzdC48YnI+PGJyPlRoZSBkZWZhdWx0IGJsb2NrcyB0aGUgbW9zdCBjb21tb24gZmlsZSBleHRlbnNpb25zIHRoYXQgYXJlIGtub3duIHRvIGJlIHJlbmRlcmVkIGFzIGFjdGl2ZSBjb250ZW50IGJ5IHdlYiBicm93c2Vycywgc3VjaCBhcyBIVE1MLCBTVkcsIGFuZCBYTUwgZmlsZXMsIHdoaWNoIG1heSBiZSB1c2VkIGJ5IGFuIGF0dGFja2VyIHRvIGNvbXByb21pc2UgdGhlIHNlc3Npb24gdG9rZW4gb2YgYW5vdGhlciB1c2VyIHZpYSBhY2Nlc3NpbmcgdGhlIGJyb3dzZXJcXCdzIGxvY2FsIHN0b3JhZ2UuIFRoZSBibG9ja2VkIGV4dGVuc2lvbnMgYXJlOiBgaHRtbGAsIGBodG1gLCBgc2h0bWxgLCBgeGh0bWxgLCBgeGh0bWwreG1sYCwgYHhodGAsIGBzdmdgLCBgc3ZnemAsIGBzdmcreG1sYCwgYHhtbGAsIGB4c2xgLCBgeHNsdGAsIGB4c2x0K3htbGAsIGB4c2RgLCBgcm5nYCwgYHJkZmAsIGByZGYreG1sYCwgYG93bGAsIGBtYXRobWxgLCBgbWF0aG1sK3htbGAuPGJyPjxicj5EZWZhdWx0cyB0byBgW1wiXig/IShbeFhzU10/W2hIXVt0VF1bbU1dW2xMXT8oXFxcXFxcXFwrW3hYXVttTV1bbExdKT98W3hYXVtoSF1bdFRdfFtzU11bdlZdW2dHXShbelpdfFxcXFxcXFxcK1t4WF1bbU1dW2xMXSk/fFt4WF1bbU1dW2xMXXxbeFhdW3NTXVtsTF1bdFRdPyhcXFxcXFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW3NTXVtkRF18W3JSXVtuTl1bZ0ddfFtyUl1bZERdW2ZGXShcXFxcXFxcXCtbeFhdW21NXVtsTF0pP3xbb09dW3dXXVtsTF18W21NXVthQV1bdFRdW2hIXVttTV1bbExdKFxcXFxcXFxcK1t4WF1bbU1dW2xMXSk/KSQpXCJdYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbXG4gICAgICAnXig/IShbeFhzU10/W2hIXVt0VF1bbU1dW2xMXT8oXFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW2hIXVt0VF18W3NTXVt2Vl1bZ0ddKFt6Wl18XFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW21NXVtsTF18W3hYXVtzU11bbExdW3RUXT8oXFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW3NTXVtkRF18W3JSXVtuTl1bZ0ddfFtyUl1bZERdW2ZGXShcXFxcK1t4WF1bbU1dW2xMXSk/fFtvT11bd1ddW2xMXXxbbU1dW2FBXVt0VF1baEhdW21NXVtsTF0oXFxcXCtbeFhdW21NXVtsTF0pPykkKScsXG4gICAgXSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5GaWxlRG93bmxvYWRPcHRpb25zID0ge1xuICBlbmFibGVGb3JBbm9ueW1vdXNVc2VyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0ZJTEVfRE9XTkxPQURfRU5BQkxFX0ZPUl9BTk9OWU1PVVNfVVNFUicsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgZmlsZSBkb3dubG9hZCBzaG91bGQgYmUgYWxsb3dlZCBmb3IgYW5vbnltb3VzIHVzZXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZW5hYmxlRm9yQXV0aGVudGljYXRlZFVzZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9ET1dOTE9BRF9FTkFCTEVfRk9SX0FVVEhFTlRJQ0FURURfVVNFUicsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgZmlsZSBkb3dubG9hZCBzaG91bGQgYmUgYWxsb3dlZCBmb3IgYXV0aGVudGljYXRlZCB1c2Vycy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGVuYWJsZUZvclB1YmxpYzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX0RPV05MT0FEX0VOQUJMRV9GT1JfUFVCTElDJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBmaWxlIGRvd25sb2FkIHNob3VsZCBiZSBhbGxvd2VkIGZvciBhbnlvbmUsIHJlZ2FyZGxlc3Mgb2YgdXNlciBhdXRoZW50aWNhdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG59O1xuLyogVGhlIGF2YWlsYWJsZSBsb2cgbGV2ZWxzIGZvciBQYXJzZSBTZXJ2ZXIgbG9nZ2luZy4gVmFsaWQgdmFsdWVzIGFyZTo8YnI+LSBgJ2Vycm9yJ2AgLSBFcnJvciBsZXZlbCAoaGlnaGVzdCBwcmlvcml0eSk8YnI+LSBgJ3dhcm4nYCAtIFdhcm5pbmcgbGV2ZWw8YnI+LSBgJ2luZm8nYCAtIEluZm8gbGV2ZWwgKGRlZmF1bHQpPGJyPi0gYCd2ZXJib3NlJ2AgLSBWZXJib3NlIGxldmVsPGJyPi0gYCdkZWJ1ZydgIC0gRGVidWcgbGV2ZWw8YnI+LSBgJ3NpbGx5J2AgLSBTaWxseSBsZXZlbCAobG93ZXN0IHByaW9yaXR5KSAqL1xubW9kdWxlLmV4cG9ydHMuTG9nTGV2ZWwgPSB7XG4gIGRlYnVnOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTF9ERUJVRycsXG4gICAgaGVscDogJ0RlYnVnIGxldmVsJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgZXJyb3I6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMX0VSUk9SJyxcbiAgICBoZWxwOiAnRXJyb3IgbGV2ZWwgLSBoaWdoZXN0IHByaW9yaXR5JyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgaW5mbzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxfSU5GTycsXG4gICAgaGVscDogJ0luZm8gbGV2ZWwgLSBkZWZhdWx0JyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgc2lsbHk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMX1NJTExZJyxcbiAgICBoZWxwOiAnU2lsbHkgbGV2ZWwgLSBsb3dlc3QgcHJpb3JpdHknLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICB2ZXJib3NlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTF9WRVJCT1NFJyxcbiAgICBoZWxwOiAnVmVyYm9zZSBsZXZlbCcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIHdhcm46IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMX1dBUk4nLFxuICAgIGhlbHA6ICdXYXJuaW5nIGxldmVsJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5Mb2dDbGllbnRFdmVudCA9IHtcbiAga2V5czoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9MT0dfQ0xJRU5UX0VWRU5UU19LRVlTJyxcbiAgICBoZWxwOiAnT3B0aW9uYWwgYXJyYXkgb2YgZG90LW5vdGF0aW9uIHBhdGhzIHRvIGV4dHJhY3Qgc3BlY2lmaWMgZGF0YSBmcm9tIHRoZSBldmVudCBvYmplY3QuIElmIG5vdCBwcm92aWRlZCBvciBlbXB0eSwgdGhlIGVudGlyZSBldmVudCBvYmplY3Qgd2lsbCBiZSBsb2dnZWQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIGxvZ0xldmVsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0xPR19DTElFTlRfRVZFTlRTX0xPR19MRVZFTCcsXG4gICAgaGVscDogXCJUaGUgbG9nIGxldmVsIHRvIHVzZSBmb3IgdGhpcyBldmVudC4gU2VlIFtMb2dMZXZlbF0oTG9nTGV2ZWwuaHRtbCkgZm9yIGF2YWlsYWJsZSB2YWx1ZXMuIERlZmF1bHRzIHRvIGAnaW5mbydgLlwiLFxuICAgIGRlZmF1bHQ6ICdpbmZvJyxcbiAgfSxcbiAgbmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9MT0dfQ0xJRU5UX0VWRU5UU19OQU1FJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIGV2ZW50IG5hbWUgdG8gbGlzdGVuIGZvci4gU2VlIHRoZSBbTW9uZ29EQiBkcml2ZXIgZXZlbnRzIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vd3d3Lm1vbmdvZGIuY29tL2RvY3MvZHJpdmVycy9ub2RlL2N1cnJlbnQvZnVuZGFtZW50YWxzL21vbml0b3JpbmcvKSBmb3IgYXZhaWxhYmxlIGV2ZW50cy4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkRhdGFiYXNlT3B0aW9ucyA9IHtcbiAgYWxsb3dQdWJsaWNFeHBsYWluOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0FMTE9XX1BVQkxJQ19FWFBMQUlOJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBhbGxvdyBgUGFyc2UuUXVlcnkuZXhwbGFpbmAgd2l0aG91dCBtYXN0ZXIga2V5Ljxicj48YnI+XFx1MjZBMFxcdUZFMEYgRW5hYmxpbmcgdGhpcyBvcHRpb24gbWF5IGV4cG9zZSBzZW5zaXRpdmUgcXVlcnkgcGVyZm9ybWFuY2UgZGF0YSB0byB1bmF1dGhvcml6ZWQgdXNlcnMgYW5kIGNvdWxkIHBvdGVudGlhbGx5IGJlIGV4cGxvaXRlZCBmb3IgbWFsaWNpb3VzIHB1cnBvc2VzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGFwcE5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQVBQX05BTUUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIG5hbWUgb2YgdGhlIGFwcGxpY2F0aW9uIHRoYXQgY3JlYXRlZCB0aGlzIE1vbmdvQ2xpZW50IGluc3RhbmNlLicsXG4gIH0sXG4gIGF1dGhNZWNoYW5pc206IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQVVUSF9NRUNIQU5JU00nLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbSB0aGF0IE1vbmdvREIgd2lsbCB1c2UgdG8gYXV0aGVudGljYXRlIHRoZSBjb25uZWN0aW9uLicsXG4gIH0sXG4gIGF1dGhNZWNoYW5pc21Qcm9wZXJ0aWVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0FVVEhfTUVDSEFOSVNNX1BST1BFUlRJRVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgcHJvcGVydGllcyBmb3IgdGhlIHNwZWNpZmllZCBhdXRoTWVjaGFuaXNtIGFzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgY29sb24tc2VwYXJhdGVkIGtleS12YWx1ZSBwYWlycy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIGF1dGhTb3VyY2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQVVUSF9TT1VSQ0UnLFxuICAgIGhlbHA6IFwiVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBkYXRhYmFzZSBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgdXNlcidzIGNyZWRlbnRpYWxzLlwiLFxuICB9LFxuICBhdXRvU2VsZWN0RmFtaWx5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0FVVE9fU0VMRUNUX0ZBTUlMWScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc2V0IHdoZXRoZXIgdGhlIHNvY2tldCBhdHRlbXB0cyB0byBjb25uZWN0IHRvIElQdjYgYW5kIElQdjQgYWRkcmVzc2VzIHVudGlsIGEgY29ubmVjdGlvbiBpcyBlc3RhYmxpc2hlZC4gSWYgYXZhaWxhYmxlLCB0aGUgZHJpdmVyIHdpbGwgc2VsZWN0IHRoZSBmaXJzdCBJUHY2IGFkZHJlc3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgYXV0b1NlbGVjdEZhbWlseUF0dGVtcHRUaW1lb3V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0FVVE9fU0VMRUNUX0ZBTUlMWV9BVFRFTVBUX1RJTUVPVVQnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lIGluIG1pbGxpc2Vjb25kcyB0byB3YWl0IGZvciBhIGNvbm5lY3Rpb24gYXR0ZW1wdCB0byBmaW5pc2ggYmVmb3JlIHRyeWluZyB0aGUgbmV4dCBhZGRyZXNzIHdoZW4gdXNpbmcgdGhlIGF1dG9TZWxlY3RGYW1pbHkgb3B0aW9uLiBJZiBzZXQgdG8gYSBwb3NpdGl2ZSBpbnRlZ2VyIGxlc3MgdGhhbiAxMCwgdGhlIHZhbHVlIDEwIGlzIHVzZWQgaW5zdGVhZC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2F1dG9TZWxlY3RGYW1pbHlBdHRlbXB0VGltZW91dCcpLFxuICB9LFxuICBiYXRjaFNpemU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQkFUQ0hfU0laRScsXG4gICAgaGVscDogJ1RoZSBudW1iZXIgb2YgZG9jdW1lbnRzIHBlciBiYXRjaCBmb3IgTW9uZ29EQiBjdXJzb3IgYGdldE1vcmVgIG9wZXJhdGlvbnMuIEEgbG93ZXIgdmFsdWUgcmVkdWNlcyBtZW1vcnkgdXNhZ2UgcGVyIGJhdGNoOyBhIGhpZ2hlciB2YWx1ZSByZWR1Y2VzIHRoZSBudW1iZXIgb2YgbmV0d29yayByb3VuZC10cmlwcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2JhdGNoU2l6ZScpLFxuICAgIGRlZmF1bHQ6IDEwMDAsXG4gIH0sXG4gIGNsaWVudE1ldGFkYXRhOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NMSUVOVF9NRVRBREFUQScsXG4gICAgaGVscDogXCJDdXN0b20gbWV0YWRhdGEgdG8gYXBwZW5kIHRvIGRhdGFiYXNlIGNsaWVudCBjb25uZWN0aW9ucyBmb3IgaWRlbnRpZnlpbmcgUGFyc2UgU2VydmVyIGluc3RhbmNlcyBpbiBkYXRhYmFzZSBsb2dzLiBJZiBzZXQsIHRoaXMgbWV0YWRhdGEgd2lsbCBiZSB2aXNpYmxlIGluIGRhdGFiYXNlIGxvZ3MgZHVyaW5nIGNvbm5lY3Rpb24gaGFuZHNoYWtlcy4gVGhpcyBjYW4gaGVscCB3aXRoIGRlYnVnZ2luZyBhbmQgbW9uaXRvcmluZyBpbiBkZXBsb3ltZW50cyB3aXRoIG11bHRpcGxlIGRhdGFiYXNlIGNsaWVudHMuIFNldCBgbmFtZWAgdG8gaWRlbnRpZnkgeW91ciBhcHBsaWNhdGlvbiAoZS5nLiwgJ015QXBwJykgYW5kIGB2ZXJzaW9uYCB0byB5b3VyIGFwcGxpY2F0aW9uJ3MgdmVyc2lvbi4gTGVhdmUgdW5kZWZpbmVkIChkZWZhdWx0KSB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZSBhbmQgYXZvaWQgdGhlIGFkZGl0aW9uYWwgZGF0YSB0cmFuc2ZlciBvdmVyaGVhZC5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdEYXRhYmFzZU9wdGlvbnNDbGllbnRNZXRhZGF0YScsXG4gIH0sXG4gIGNvbXByZXNzb3JzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NPTVBSRVNTT1JTJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IGFuIGFycmF5IG9yIGNvbW1hLWRlbGltaXRlZCBzdHJpbmcgb2YgY29tcHJlc3NvcnMgdG8gZW5hYmxlIG5ldHdvcmsgY29tcHJlc3Npb24gZm9yIGNvbW11bmljYXRpb24gYmV0d2VlbiB0aGlzIGNsaWVudCBhbmQgYSBtb25nb2QvbW9uZ29zIGluc3RhbmNlLicsXG4gIH0sXG4gIGNvbm5lY3RUaW1lb3V0TVM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ09OTkVDVF9USU1FT1VUX01TJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBhbW91bnQgb2YgdGltZSwgaW4gbWlsbGlzZWNvbmRzLCB0byB3YWl0IHRvIGVzdGFibGlzaCBhIHNpbmdsZSBUQ1Agc29ja2V0IGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciBiZWZvcmUgcmFpc2luZyBhbiBlcnJvci4gU3BlY2lmeWluZyAwIGRpc2FibGVzIHRoZSBjb25uZWN0aW9uIHRpbWVvdXQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdjb25uZWN0VGltZW91dE1TJyksXG4gIH0sXG4gIGNyZWF0ZUluZGV4QXV0aERhdGFVbmlxdWVuZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NSRUFURV9JTkRFWF9BVVRIX0RBVEFfVU5JUVVFTkVTUycsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgdW5pcXVlIGluZGV4ZXMgb24gdGhlIGF1dGhEYXRhIGZpZWxkcyBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBmb3IgZWFjaCBjb25maWd1cmVkIGF1dGggcHJvdmlkZXIgb24gc2VydmVyIHN0YXJ0LCBpbmNsdWRpbmcgYGFub255bW91c2Agd2hlbiBhbm9ueW1vdXMgdXNlcnMgYXJlIGVuYWJsZWQuIFRoZXNlIGluZGV4ZXMgcHJldmVudCByYWNlIGNvbmRpdGlvbnMgZHVyaW5nIGNvbmN1cnJlbnQgc2lnbnVwcyB3aXRoIHRoZSBzYW1lIGF1dGhEYXRhLiBTZXQgdG8gYGZhbHNlYCB0byBza2lwIGluZGV4IGNyZWF0aW9uLiBEZWZhdWx0IGlzIGB0cnVlYC48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIFdoZW4gc2V0dGluZyB0aGlzIG9wdGlvbiB0byBgZmFsc2VgIHRvIG1hbnVhbGx5IGNyZWF0ZSB0aGUgaW5kZXhlcywga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXhlcyBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhSb2xlTmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DUkVBVEVfSU5ERVhfUk9MRV9OQU1FJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIHVuaXF1ZSBpbmRleCBvbiB0aGUgbmFtZSBmaWVsZCBvZiB0aGUgX1JvbGUgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGNyZWF0ZUluZGV4VXNlckVtYWlsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NSRUFURV9JTkRFWF9VU0VSX0VNQUlMJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBpbmRleGVzIG9uIHRoZSBlbWFpbCBmaWVsZCBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGNyZWF0ZUluZGV4VXNlckVtYWlsQ2FzZUluc2Vuc2l0aXZlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NSRUFURV9JTkRFWF9VU0VSX0VNQUlMX0NBU0VfSU5TRU5TSVRJVkUnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgY2FzZS1pbnNlbnNpdGl2ZSBpbmRleCBvbiB0aGUgZW1haWwgZmllbGQgb2YgdGhlIF9Vc2VyIGNvbGxlY3Rpb24gb24gc2VydmVyIHN0YXJ0LiBTZXQgdG8gYGZhbHNlYCB0byBza2lwIGluZGV4IGNyZWF0aW9uLiBEZWZhdWx0IGlzIGB0cnVlYC48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIFdoZW4gc2V0dGluZyB0aGlzIG9wdGlvbiB0byBgZmFsc2VgIHRvIG1hbnVhbGx5IGNyZWF0ZSB0aGUgaW5kZXgsIGtlZXAgaW4gbWluZCB0aGF0IHRoZSBvdGhlcndpc2UgYXV0b21hdGljYWxseSBjcmVhdGVkIGluZGV4IG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB0byBiZSBvcHRpbWl6ZWQgZm9yIHRoZSBpbnRlcm5hbCB1c2FnZSBieSBQYXJzZSBTZXJ2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBjcmVhdGVJbmRleFVzZXJFbWFpbFZlcmlmeVRva2VuOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NSRUFURV9JTkRFWF9VU0VSX0VNQUlMX1ZFUklGWV9UT0tFTicsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYW4gaW5kZXggb24gdGhlIF9lbWFpbF92ZXJpZnlfdG9rZW4gZmllbGQgb2YgdGhlIF9Vc2VyIGNvbGxlY3Rpb24gb24gc2VydmVyIHN0YXJ0LiBTZXQgdG8gYGZhbHNlYCB0byBza2lwIGluZGV4IGNyZWF0aW9uLiBEZWZhdWx0IGlzIGB0cnVlYC48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIFdoZW4gc2V0dGluZyB0aGlzIG9wdGlvbiB0byBgZmFsc2VgIHRvIG1hbnVhbGx5IGNyZWF0ZSB0aGUgaW5kZXgsIGtlZXAgaW4gbWluZCB0aGF0IHRoZSBvdGhlcndpc2UgYXV0b21hdGljYWxseSBjcmVhdGVkIGluZGV4IG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB0byBiZSBvcHRpbWl6ZWQgZm9yIHRoZSBpbnRlcm5hbCB1c2FnZSBieSBQYXJzZSBTZXJ2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBjcmVhdGVJbmRleFVzZXJQYXNzd29yZFJlc2V0VG9rZW46IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfUEFTU1dPUkRfUkVTRVRfVE9LRU4nLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGFuIGluZGV4IG9uIHRoZSBfcGVyaXNoYWJsZV90b2tlbiBmaWVsZCBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGNyZWF0ZUluZGV4VXNlclVzZXJuYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NSRUFURV9JTkRFWF9VU0VSX1VTRVJOQU1FJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBpbmRleGVzIG9uIHRoZSB1c2VybmFtZSBmaWVsZCBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGNyZWF0ZUluZGV4VXNlclVzZXJuYW1lQ2FzZUluc2Vuc2l0aXZlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NSRUFURV9JTkRFWF9VU0VSX1VTRVJOQU1FX0NBU0VfSU5TRU5TSVRJVkUnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgY2FzZS1pbnNlbnNpdGl2ZSBpbmRleCBvbiB0aGUgdXNlcm5hbWUgZmllbGQgb2YgdGhlIF9Vc2VyIGNvbGxlY3Rpb24gb24gc2VydmVyIHN0YXJ0LiBTZXQgdG8gYGZhbHNlYCB0byBza2lwIGluZGV4IGNyZWF0aW9uLiBEZWZhdWx0IGlzIGB0cnVlYC48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIFdoZW4gc2V0dGluZyB0aGlzIG9wdGlvbiB0byBgZmFsc2VgIHRvIG1hbnVhbGx5IGNyZWF0ZSB0aGUgaW5kZXgsIGtlZXAgaW4gbWluZCB0aGF0IHRoZSBvdGhlcndpc2UgYXV0b21hdGljYWxseSBjcmVhdGVkIGluZGV4IG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB0byBiZSBvcHRpbWl6ZWQgZm9yIHRoZSBpbnRlcm5hbCB1c2FnZSBieSBQYXJzZSBTZXJ2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBkaXJlY3RDb25uZWN0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0RJUkVDVF9DT05ORUNUSU9OJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBmb3JjZSBhIFNpbmdsZSB0b3BvbG9neSB0eXBlIHdpdGggYSBjb25uZWN0aW9uIHN0cmluZyBjb250YWluaW5nIG9uZSBob3N0LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIGRpc2FibGVJbmRleEZpZWxkVmFsaWRhdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9ESVNBQkxFX0lOREVYX0ZJRUxEX1ZBTElEQVRJT04nLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGRpc2FibGUgdmFsaWRhdGlvbiBvZiBpbmRleCBmaWVsZHMuIFdoZW4gZGlzYWJsZWQsIGluZGV4ZXMgY2FuIGJlIGNyZWF0ZWQgZXZlbiBpZiB0aGUgZmllbGRzIGRvIG5vdCBleGlzdCBpbiB0aGUgc2NoZW1hLiBUaGlzIGNhbiBiZSB1c2VmdWwgd2hlbiBjcmVhdGluZyBpbmRleGVzIG9uIGZpZWxkcyB0aGF0IHdpbGwgYmUgYWRkZWQgbGF0ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgZW5hYmxlU2NoZW1hSG9va3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfRU5BQkxFX1NDSEVNQV9IT09LUycsXG4gICAgaGVscDogJ0VuYWJsZXMgZGF0YWJhc2UgcmVhbC10aW1lIGhvb2tzIHRvIHVwZGF0ZSBzaW5nbGUgc2NoZW1hIGNhY2hlLiBTZXQgdG8gYHRydWVgIGlmIHVzaW5nIG11bHRpcGxlIFBhcnNlIFNlcnZlcnMgaW5zdGFuY2VzIGNvbm5lY3RlZCB0byB0aGUgc2FtZSBkYXRhYmFzZS4gRmFpbGluZyB0byBkbyBzbyB3aWxsIGNhdXNlIGEgc2NoZW1hIGNoYW5nZSB0byBub3QgcHJvcGFnYXRlIHRvIGFsbCBpbnN0YW5jZXMgYW5kIHJlLXN5bmNpbmcgd2lsbCBvbmx5IGhhcHBlbiB3aGVuIHRoZSBpbnN0YW5jZXMgcmVzdGFydC4gVG8gdXNlIHRoaXMgZmVhdHVyZSB3aXRoIE1vbmdvREIsIGEgcmVwbGljYSBzZXQgY2x1c3RlciB3aXRoIFtjaGFuZ2Ugc3RyZWFtXShodHRwczovL2RvY3MubW9uZ29kYi5jb20vbWFudWFsL2NoYW5nZVN0cmVhbXMvI2F2YWlsYWJpbGl0eSkgc3VwcG9ydCBpcyByZXF1aXJlZC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBmb3JjZVNlcnZlck9iamVjdElkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0ZPUkNFX1NFUlZFUl9PQkpFQ1RfSUQnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGZvcmNlIHNlcnZlciB0byBhc3NpZ24gX2lkIHZhbHVlcyBpbnN0ZWFkIG9mIGRyaXZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICBoZWFydGJlYXRGcmVxdWVuY3lNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9IRUFSVEJFQVRfRlJFUVVFTkNZX01TJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBmcmVxdWVuY3kgaW4gbWlsbGlzZWNvbmRzIGF0IHdoaWNoIHRoZSBkcml2ZXIgY2hlY2tzIHRoZSBzdGF0ZSBvZiB0aGUgTW9uZ29EQiBkZXBsb3ltZW50LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignaGVhcnRiZWF0RnJlcXVlbmN5TVMnKSxcbiAgfSxcbiAgbG9hZEJhbGFuY2VkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0xPQURfQkFMQU5DRUQnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGluc3RydWN0IHRoZSBkcml2ZXIgaXQgaXMgY29ubmVjdGluZyB0byBhIGxvYWQgYmFsYW5jZXIgZnJvbnRpbmcgYSBtb25nb3MgbGlrZSBzZXJ2aWNlLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIGxvY2FsVGhyZXNob2xkTVM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTE9DQUxfVEhSRVNIT0xEX01TJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBzaXplIChpbiBtaWxsaXNlY29uZHMpIG9mIHRoZSBsYXRlbmN5IHdpbmRvdyBmb3Igc2VsZWN0aW5nIGFtb25nIG11bHRpcGxlIHN1aXRhYmxlIE1vbmdvREIgaW5zdGFuY2VzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbG9jYWxUaHJlc2hvbGRNUycpLFxuICB9LFxuICBsb2dDbGllbnRFdmVudHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTE9HX0NMSUVOVF9FVkVOVFMnLFxuICAgIGhlbHA6ICdBbiBhcnJheSBvZiBNb25nb0RCIGNsaWVudCBldmVudCBjb25maWd1cmF0aW9ucyB0byBlbmFibGUgbG9nZ2luZyBvZiBzcGVjaWZpYyBldmVudHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgdHlwZTogJ0xvZ0NsaWVudEV2ZW50W10nLFxuICB9LFxuICBtYXhDb25uZWN0aW5nOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX01BWF9DT05ORUNUSU5HJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25uZWN0aW9ucyB0aGF0IG1heSBiZSBpbiB0aGUgcHJvY2VzcyBvZiBiZWluZyBlc3RhYmxpc2hlZCBjb25jdXJyZW50bHkgYnkgdGhlIGNvbm5lY3Rpb24gcG9vbC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heENvbm5lY3RpbmcnKSxcbiAgfSxcbiAgbWF4SWRsZVRpbWVNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9NQVhfSURMRV9USU1FX01TJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBhbW91bnQgb2YgdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCBhIGNvbm5lY3Rpb24gY2FuIHJlbWFpbiBpZGxlIGluIHRoZSBjb25uZWN0aW9uIHBvb2wgYmVmb3JlIGJlaW5nIHJlbW92ZWQgYW5kIGNsb3NlZC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heElkbGVUaW1lTVMnKSxcbiAgfSxcbiAgbWF4UG9vbFNpemU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTUFYX1BPT0xfU0laRScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc2V0IHRoZSBtYXhpbXVtIG51bWJlciBvZiBvcGVuZWQsIGNhY2hlZCwgcmVhZHktdG8tdXNlIGRhdGFiYXNlIGNvbm5lY3Rpb25zIG1haW50YWluZWQgYnkgdGhlIGRyaXZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heFBvb2xTaXplJyksXG4gIH0sXG4gIG1heFN0YWxlbmVzc1NlY29uZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTUFYX1NUQUxFTkVTU19TRUNPTkRTJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgdGhlIG1heGltdW0gcmVwbGljYXRpb24gbGFnIGZvciByZWFkcyBmcm9tIHNlY29uZGFyeSBub2Rlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heFN0YWxlbmVzc1NlY29uZHMnKSxcbiAgfSxcbiAgbWF4VGltZU1TOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX01BWF9USU1FX01TJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgYSBjdW11bGF0aXZlIHRpbWUgbGltaXQgaW4gbWlsbGlzZWNvbmRzIGZvciBwcm9jZXNzaW5nIG9wZXJhdGlvbnMgb24gYSBjdXJzb3IuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdtYXhUaW1lTVMnKSxcbiAgfSxcbiAgbWluUG9vbFNpemU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTUlOX1BPT0xfU0laRScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc2V0IHRoZSBtaW5pbXVtIG51bWJlciBvZiBvcGVuZWQsIGNhY2hlZCwgcmVhZHktdG8tdXNlIGRhdGFiYXNlIGNvbm5lY3Rpb25zIG1haW50YWluZWQgYnkgdGhlIGRyaXZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21pblBvb2xTaXplJyksXG4gIH0sXG4gIHByb3h5SG9zdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9QUk9YWV9IT1NUJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBjb25maWd1cmUgYSBTb2NrczUgcHJveHkgaG9zdCB1c2VkIGZvciBjcmVhdGluZyBUQ1AgY29ubmVjdGlvbnMuJyxcbiAgfSxcbiAgcHJveHlQYXNzd29yZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9QUk9YWV9QQVNTV09SRCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gY29uZmlndXJlIGEgU29ja3M1IHByb3h5IHBhc3N3b3JkIHdoZW4gdGhlIHByb3h5IHJlcXVpcmVzIHVzZXJuYW1lL3Bhc3N3b3JkIGF1dGhlbnRpY2F0aW9uLicsXG4gIH0sXG4gIHByb3h5UG9ydDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9QUk9YWV9QT1JUJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBjb25maWd1cmUgYSBTb2NrczUgcHJveHkgcG9ydCB1c2VkIGZvciBjcmVhdGluZyBUQ1AgY29ubmVjdGlvbnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdwcm94eVBvcnQnKSxcbiAgfSxcbiAgcHJveHlVc2VybmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9QUk9YWV9VU0VSTkFNRScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gY29uZmlndXJlIGEgU29ja3M1IHByb3h5IHVzZXJuYW1lIHdoZW4gdGhlIHByb3h5IHJlcXVpcmVzIHVzZXJuYW1lL3Bhc3N3b3JkIGF1dGhlbnRpY2F0aW9uLicsXG4gIH0sXG4gIHJlYWRDb25jZXJuTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUkVBRF9DT05DRVJOX0xFVkVMJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBsZXZlbCBvZiBpc29sYXRpb24uJyxcbiAgfSxcbiAgcmVhZFByZWZlcmVuY2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUkVBRF9QUkVGRVJFTkNFJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSByZWFkIHByZWZlcmVuY2VzIGZvciB0aGlzIGNvbm5lY3Rpb24uJyxcbiAgfSxcbiAgcmVhZFByZWZlcmVuY2VUYWdzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1JFQURfUFJFRkVSRU5DRV9UQUdTJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSB0YWdzIGRvY3VtZW50IGFzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgY29sb24tc2VwYXJhdGVkIGtleS12YWx1ZSBwYWlycy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgcmVwbGljYVNldDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9SRVBMSUNBX1NFVCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgbmFtZSBvZiB0aGUgcmVwbGljYSBzZXQsIGlmIHRoZSBtb25nb2QgaXMgYSBtZW1iZXIgb2YgYSByZXBsaWNhIHNldC4nLFxuICB9LFxuICByZXRyeVJlYWRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1JFVFJZX1JFQURTJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBlbmFibGUgcmV0cnlhYmxlIHJlYWRzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHJldHJ5V3JpdGVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1JFVFJZX1dSSVRFUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc2V0IHdoZXRoZXIgdG8gcmV0cnkgZmFpbGVkIHdyaXRlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICBzY2hlbWFDYWNoZVR0bDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9TQ0hFTUFfQ0FDSEVfVFRMJyxcbiAgICBoZWxwOiAnVGhlIGR1cmF0aW9uIGluIHNlY29uZHMgYWZ0ZXIgd2hpY2ggdGhlIHNjaGVtYSBjYWNoZSBleHBpcmVzIGFuZCB3aWxsIGJlIHJlZmV0Y2hlZCBmcm9tIHRoZSBkYXRhYmFzZS4gVXNlIHRoaXMgb3B0aW9uIGlmIHVzaW5nIG11bHRpcGxlIFBhcnNlIFNlcnZlcnMgaW5zdGFuY2VzIGNvbm5lY3RlZCB0byB0aGUgc2FtZSBkYXRhYmFzZS4gQSBsb3cgZHVyYXRpb24gd2lsbCBjYXVzZSB0aGUgc2NoZW1hIGNhY2hlIHRvIGJlIHVwZGF0ZWQgdG9vIG9mdGVuLCBjYXVzaW5nIHVubmVjZXNzYXJ5IGRhdGFiYXNlIHJlYWRzLiBBIGhpZ2ggZHVyYXRpb24gd2lsbCBjYXVzZSB0aGUgc2NoZW1hIHRvIGJlIHVwZGF0ZWQgdG9vIHJhcmVseSwgaW5jcmVhc2luZyB0aGUgdGltZSByZXF1aXJlZCB1bnRpbCBzY2hlbWEgY2hhbmdlcyBwcm9wYWdhdGUgdG8gYWxsIHNlcnZlciBpbnN0YW5jZXMuIFRoaXMgZmVhdHVyZSBjYW4gYmUgdXNlZCBhcyBhbiBhbHRlcm5hdGl2ZSBvciBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBvcHRpb24gYGVuYWJsZVNjaGVtYUhvb2tzYC4gRGVmYXVsdCBpcyBpbmZpbml0ZSB3aGljaCBtZWFucyB0aGUgc2NoZW1hIGNhY2hlIG5ldmVyIGV4cGlyZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdzY2hlbWFDYWNoZVR0bCcpLFxuICB9LFxuICBzZXJ2ZXJNb25pdG9yaW5nTW9kZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9TRVJWRVJfTU9OSVRPUklOR19NT0RFJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBpbnN0cnVjdCB0aGUgZHJpdmVyIG1vbml0b3JzIHRvIHVzZSBhIHNwZWNpZmljIG1vbml0b3JpbmcgbW9kZS4nLFxuICB9LFxuICBzZXJ2ZXJTZWxlY3Rpb25UaW1lb3V0TVM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfU0VSVkVSX1NFTEVDVElPTl9USU1FT1VUX01TJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBhbW91bnQgb2YgdGltZSBpbiBtaWxsaXNlY29uZHMgZm9yIGEgc2VydmVyIHRvIGJlIGNvbnNpZGVyZWQgc3VpdGFibGUgZm9yIHNlbGVjdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3NlcnZlclNlbGVjdGlvblRpbWVvdXRNUycpLFxuICB9LFxuICBzb2NrZXRUaW1lb3V0TVM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfU09DS0VUX1RJTUVPVVRfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lLCBpbiBtaWxsaXNlY29uZHMsIHNwZW50IGF0dGVtcHRpbmcgdG8gc2VuZCBvciByZWNlaXZlIG9uIGEgc29ja2V0IGJlZm9yZSB0aW1pbmcgb3V0LiBTcGVjaWZ5aW5nIDAgbWVhbnMgbm8gdGltZW91dC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3NvY2tldFRpbWVvdXRNUycpLFxuICB9LFxuICBzcnZNYXhIb3N0czoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9TUlZfTUFYX0hPU1RTJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBtYXhpbXVtIG51bWJlciBvZiBob3N0cyB0byBjb25uZWN0IHRvIHdoZW4gdXNpbmcgYW4gc3J2IGNvbm5lY3Rpb24gc3RyaW5nLCBhIHNldHRpbmcgb2YgMCBtZWFucyB1bmxpbWl0ZWQgaG9zdHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdzcnZNYXhIb3N0cycpLFxuICB9LFxuICBzcnZTZXJ2aWNlTmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9TUlZfU0VSVklDRV9OQU1FJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBtb2RpZnkgdGhlIHNydiBVUkkgc2VydmljZSBuYW1lLicsXG4gIH0sXG4gIHNzbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9TU0wnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGVuYWJsZSBvciBkaXNhYmxlIFRMUy9TU0wgZm9yIHRoZSBjb25uZWN0aW9uIChlcXVpdmFsZW50IHRvIHRscyBvcHRpb24pLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHRsczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9UTFMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGVuYWJsZSBvciBkaXNhYmxlIFRMUy9TU0wgZm9yIHRoZSBjb25uZWN0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHRsc0FsbG93SW52YWxpZENlcnRpZmljYXRlczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9UTFNfQUxMT1dfSU5WQUxJRF9DRVJUSUZJQ0FURVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGJ5cGFzcyB2YWxpZGF0aW9uIG9mIHRoZSBjZXJ0aWZpY2F0ZXMgcHJlc2VudGVkIGJ5IHRoZSBtb25nb2QvbW9uZ29zIGluc3RhbmNlLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHRsc0FsbG93SW52YWxpZEhvc3RuYW1lczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9UTFNfQUxMT1dfSU5WQUxJRF9IT1NUTkFNRVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGRpc2FibGUgaG9zdG5hbWUgdmFsaWRhdGlvbiBvZiB0aGUgY2VydGlmaWNhdGUgcHJlc2VudGVkIGJ5IHRoZSBtb25nb2QvbW9uZ29zIGluc3RhbmNlLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHRsc0NBRmlsZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9UTFNfQ0FGSUxFJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBsb2NhdGlvbiBvZiBhIGxvY2FsIC5wZW0gZmlsZSB0aGF0IGNvbnRhaW5zIHRoZSByb290IGNlcnRpZmljYXRlIGNoYWluIGZyb20gdGhlIENlcnRpZmljYXRlIEF1dGhvcml0eS4nLFxuICB9LFxuICB0bHNDZXJ0aWZpY2F0ZUtleUZpbGU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfVExTX0NFUlRJRklDQVRFX0tFWV9GSUxFJyxcbiAgICBoZWxwOiBcIlRoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgbG9jYXRpb24gb2YgYSBsb2NhbCAucGVtIGZpbGUgdGhhdCBjb250YWlucyB0aGUgY2xpZW50J3MgVExTL1NTTCBjZXJ0aWZpY2F0ZSBhbmQga2V5LlwiLFxuICB9LFxuICB0bHNDZXJ0aWZpY2F0ZUtleUZpbGVQYXNzd29yZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9UTFNfQ0VSVElGSUNBVEVfS0VZX0ZJTEVfUEFTU1dPUkQnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIHBhc3N3b3JkIHRvIGRlY3J5cHQgdGhlIHRsc0NlcnRpZmljYXRlS2V5RmlsZS4nLFxuICB9LFxuICB0bHNJbnNlY3VyZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9UTFNfSU5TRUNVUkUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGRpc2FibGUgdmFyaW91cyBjZXJ0aWZpY2F0ZSB2YWxpZGF0aW9ucy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICB3YWl0UXVldWVUaW1lb3V0TVM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfV0FJVF9RVUVVRV9USU1FT1VUX01TJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgYSB0aHJlYWQgY2FuIHdhaXQgZm9yIGEgY29ubmVjdGlvbiB0byBiZWNvbWUgYXZhaWxhYmxlLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignd2FpdFF1ZXVlVGltZW91dE1TJyksXG4gIH0sXG4gIHpsaWJDb21wcmVzc2lvbkxldmVsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1pMSUJfQ09NUFJFU1NJT05fTEVWRUwnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGNvbXByZXNzaW9uIGxldmVsIGlmIHVzaW5nIHpsaWIgZm9yIG5ldHdvcmsgY29tcHJlc3Npb24gKDAtOSkuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCd6bGliQ29tcHJlc3Npb25MZXZlbCcpLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkRhdGFiYXNlT3B0aW9uc0NsaWVudE1ldGFkYXRhID0ge1xuICBuYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NMSUVOVF9NRVRBREFUQV9OQU1FJyxcbiAgICBoZWxwOiBcIlRoZSBuYW1lIHRvIGlkZW50aWZ5IHlvdXIgYXBwbGljYXRpb24gaW4gZGF0YWJhc2UgbG9ncyAoZS5nLiwgJ015QXBwJykuXCIsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIHZlcnNpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ0xJRU5UX01FVEFEQVRBX1ZFUlNJT04nLFxuICAgIGhlbHA6IFwiVGhlIHZlcnNpb24gb2YgeW91ciBhcHBsaWNhdGlvbiAoZS5nLiwgJzEuMC4wJykuXCIsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuQXV0aEFkYXB0ZXIgPSB7XG4gIGVuYWJsZWQ6IHtcbiAgICBoZWxwOiAnSXMgYHRydWVgIGlmIHRoZSBhdXRoIGFkYXB0ZXIgaXMgZW5hYmxlZCwgYGZhbHNlYCBvdGhlcndpc2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5Mb2dMZXZlbHMgPSB7XG4gIGNsb3VkRnVuY3Rpb25FcnJvcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxTX0NMT1VEX0ZVTkNUSU9OX0VSUk9SJyxcbiAgICBoZWxwOiAnTG9nIGxldmVsIHVzZWQgYnkgdGhlIENsb3VkIENvZGUgRnVuY3Rpb25zIG9uIGVycm9yLiBEZWZhdWx0IGlzIGBlcnJvcmAuIFNlZSBbTG9nTGV2ZWxdKExvZ0xldmVsLmh0bWwpIGZvciBhdmFpbGFibGUgdmFsdWVzLicsXG4gICAgZGVmYXVsdDogJ2Vycm9yJyxcbiAgfSxcbiAgY2xvdWRGdW5jdGlvblN1Y2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMU19DTE9VRF9GVU5DVElPTl9TVUNDRVNTJyxcbiAgICBoZWxwOiAnTG9nIGxldmVsIHVzZWQgYnkgdGhlIENsb3VkIENvZGUgRnVuY3Rpb25zIG9uIHN1Y2Nlc3MuIERlZmF1bHQgaXMgYGluZm9gLiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4nLFxuICAgIGRlZmF1bHQ6ICdpbmZvJyxcbiAgfSxcbiAgc2lnbnVwVXNlcm5hbWVUYWtlbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxTX1NJR05VUF9VU0VSTkFNRV9UQUtFTicsXG4gICAgaGVscDogJ0xvZyBsZXZlbCB1c2VkIHdoZW4gYSBzaWduLXVwIGZhaWxzIGJlY2F1c2UgdGhlIHVzZXJuYW1lIGFscmVhZHkgZXhpc3RzLiBEZWZhdWx0IGlzIGBpbmZvYC4gU2VlIFtMb2dMZXZlbF0oTG9nTGV2ZWwuaHRtbCkgZm9yIGF2YWlsYWJsZSB2YWx1ZXMuJyxcbiAgICBkZWZhdWx0OiAnaW5mbycsXG4gIH0sXG4gIHRyaWdnZXJBZnRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxTX1RSSUdHRVJfQUZURVInLFxuICAgIGhlbHA6ICdMb2cgbGV2ZWwgdXNlZCBieSB0aGUgQ2xvdWQgQ29kZSBUcmlnZ2VycyBgYWZ0ZXJTYXZlYCwgYGFmdGVyRGVsZXRlYCwgYGFmdGVyRmluZGAsIGBhZnRlckxvZ291dGAuIERlZmF1bHQgaXMgYGluZm9gLiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4nLFxuICAgIGRlZmF1bHQ6ICdpbmZvJyxcbiAgfSxcbiAgdHJpZ2dlckJlZm9yZUVycm9yOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfVFJJR0dFUl9CRUZPUkVfRVJST1InLFxuICAgIGhlbHA6ICdMb2cgbGV2ZWwgdXNlZCBieSB0aGUgQ2xvdWQgQ29kZSBUcmlnZ2VycyBgYmVmb3JlU2F2ZWAsIGBiZWZvcmVEZWxldGVgLCBgYmVmb3JlRmluZGAsIGBiZWZvcmVMb2dpbmAgb24gZXJyb3IuIERlZmF1bHQgaXMgYGVycm9yYC4gU2VlIFtMb2dMZXZlbF0oTG9nTGV2ZWwuaHRtbCkgZm9yIGF2YWlsYWJsZSB2YWx1ZXMuJyxcbiAgICBkZWZhdWx0OiAnZXJyb3InLFxuICB9LFxuICB0cmlnZ2VyQmVmb3JlU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxTX1RSSUdHRVJfQkVGT1JFX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICdMb2cgbGV2ZWwgdXNlZCBieSB0aGUgQ2xvdWQgQ29kZSBUcmlnZ2VycyBgYmVmb3JlU2F2ZWAsIGBiZWZvcmVEZWxldGVgLCBgYmVmb3JlRmluZGAsIGBiZWZvcmVMb2dpbmAgb24gc3VjY2Vzcy4gRGVmYXVsdCBpcyBgaW5mb2AuIFNlZSBbTG9nTGV2ZWxdKExvZ0xldmVsLmh0bWwpIGZvciBhdmFpbGFibGUgdmFsdWVzLicsXG4gICAgZGVmYXVsdDogJ2luZm8nLFxuICB9LFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSUEsT0FBTyxHQUFHQyxPQUFPLENBQUMsV0FBVyxDQUFDO0FBQ2xDQyxNQUFNLENBQUNDLE9BQU8sQ0FBQ0MsYUFBYSxHQUFHO0VBQzdCQyxjQUFjLEVBQUU7SUFDZEMsR0FBRyxFQUFFLHFDQUFxQztJQUMxQ0MsSUFBSSxFQUFFO0VBQ1IsQ0FBQztFQUNEQyxlQUFlLEVBQUU7SUFDZkYsR0FBRyxFQUFFLHNDQUFzQztJQUMzQ0MsSUFBSSxFQUFFO0VBQ1IsQ0FBQztFQUNERSxXQUFXLEVBQUU7SUFDWEgsR0FBRyxFQUFFLGlDQUFpQztJQUN0Q0MsSUFBSSxFQUFFLGdHQUFnRztJQUN0R0csUUFBUSxFQUFFLElBQUk7SUFDZEMsTUFBTSxFQUFFWCxPQUFPLENBQUNZLFlBQVk7SUFDNUJDLE9BQU8sRUFBRTtFQUNYLENBQUM7RUFDREMsaUJBQWlCLEVBQUU7SUFDakJSLEdBQUcsRUFBRSx5Q0FBeUM7SUFDOUNDLElBQUksRUFBRSxtSUFBbUk7SUFDeklJLE1BQU0sRUFBRVgsT0FBTyxDQUFDZSxhQUFhO0lBQzdCRixPQUFPLEVBQUU7RUFDWCxDQUFDO0VBQ0RHLGtCQUFrQixFQUFFO0lBQ2xCVixHQUFHLEVBQUUsMENBQTBDO0lBQy9DQyxJQUFJLEVBQUUsaU9BQWlPO0lBQ3ZPSSxNQUFNLEVBQUVYLE9BQU8sQ0FBQ2UsYUFBYTtJQUM3QkYsT0FBTyxFQUFFO0VBQ1gsQ0FBQztFQUNESSxXQUFXLEVBQUU7SUFDWFgsR0FBRyxFQUFFLGtDQUFrQztJQUN2Q0MsSUFBSSxFQUFFLG9HQUFvRztJQUMxR0ksTUFBTSxFQUFFWCxPQUFPLENBQUNlLGFBQWE7SUFDN0JGLE9BQU8sRUFBRTtFQUNYLENBQUM7RUFDREssc0JB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WCxPQUFPLENBQUNxQyxZQUFZLENBQUMsb0JBQW9CO0VBQ25ELENBQUM7RUFDRCtRLG9CQUFvQixFQUFFO0lBQ3BCOVMsR0FBRyxFQUFFLDhDQUE4QztJQUNuREMsSUFBSSxFQUFFLHlHQUF5RztJQUMvR0ksTUFBTSxFQUFFWCxPQUFPLENBQUNxQyxZQUFZLENBQUMsc0JBQXNCO0VBQ3JEO0FBQ0YsQ0FBQztBQUNEbkMsTUFBTSxDQUFDQyxPQUFPLENBQUNrVCw2QkFBNkIsR0FBRztFQUM3QzVELElBQUksRUFBRTtJQUNKblAsR0FBRyxFQUFFLDRDQUE0QztJQUNqREMsSUFBSSxFQUFFLHlFQUF5RTtJQUMvRUcsUUFBUSxFQUFFO0VBQ1osQ0FBQztFQUNENFMsT0FBTyxFQUFFO0lBQ1BoVCxHQUFHLEVBQUUsK0NBQStDO0lBQ3BEQyxJQUFJLEVBQUUsa0RBQWtEO0lBQ3hERyxRQUFRLEVBQUU7RUFDWjtBQUNGLENBQUM7QUFDRFIsTUFBTSxDQUFDQyxPQUFPLENBQUNvVCxXQUFXLEdBQUc7RUFDM0JDLE9BQU8sRUFBRTtJQUNQalQsSUFBSSxFQUFFLDhEQUE4RDtJQUNwRUksTUFBTSxFQUFFWCxPQUFPLENBQUNlLGFBQWE7SUFDN0JGLE9BQU8sRUFBRTtFQUNYO0FBQ0YsQ0FBQztBQUNEWCxNQUFNLENBQUNDLE9BQU8sQ0FBQ3NULFNBQVMsR0FBRztFQUN6QkMsa0JBQWtCLEVBQUU7SUFDbEJwVCxHQUFHLEVBQUUsOENBQThDO0lBQ25EQyxJQUFJLEVBQUUsOEhBQThIO0lBQ3BJTSxPQUFPLEVBQUU7RUFDWCxDQUFDO0VBQ0Q4UyxvQkFBb0IsRUFBRTtJQUNwQnJULEdBQUcsRUFBRSxnREFBZ0Q7SUFDckRDLElBQUksRUFBRSwrSEFBK0g7SUFDcklNLE9BQU8sRUFBRTtFQUNYLENBQUM7RUFDRCtTLG1CQUFtQixFQUFFO0lBQ25CdFQsR0FBRyxFQUFFLCtDQUErQztJQUNwREMsSUFBSSxFQUFFLGlKQUFpSjtJQUN2Sk0sT0FBTyxFQUFFO0VBQ1gsQ0FBQztFQUNEZ1QsWUFBWSxFQUFFO0lBQ1p2VCxHQUFHLEVBQUUsdUNBQXVDO0lBQzVDQyxJQUFJLEVBQUUsMEtBQTBLO0lBQ2hMTSxPQUFPLEVBQUU7RUFDWCxDQUFDO0VBQ0RpVCxrQkFBa0IsRUFBRTtJQUNsQnhULEdBQUcsRUFBRSw4Q0FBOEM7SUFDbkRDLElBQUksRUFBRSx1TEFBdUw7SUFDN0xNLE9BQU8sRUFBRTtFQUNYLENBQUM7RUFDRGtULG9CQUFvQixFQUFFO0lBQ3BCelQsR0FBRyxFQUFFLGdEQUFnRDtJQUNyREMsSUFBSSxFQUFFLHdMQUF3TDtJQUM5TE0sT0FBTyxFQUFFO0VBQ1g7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119