parse-server 9.6.0-alpha.32 → 9.6.0-alpha.33

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.
@@ -240,6 +240,12 @@ module.exports.ParseServerOptions = {
240
240
  action: parsers.booleanParser,
241
241
  default: false
242
242
  },
243
+ enableProductPurchaseLegacyApi: {
244
+ env: 'PARSE_SERVER_ENABLE_PRODUCT_PURCHASE_LEGACY_API',
245
+ help: 'Deprecated. Enables the legacy product purchase API including the `_Product` class and the `/validate_purchase` endpoint. This is an undocumented, unmaintained legacy feature inherited from the original Parse platform that may not function as expected. We strongly advise against using it. It will be removed in a future major version.',
246
+ action: parsers.booleanParser,
247
+ default: true
248
+ },
243
249
  enableSanitizedErrorResponse: {
244
250
  env: 'PARSE_SERVER_ENABLE_SANITIZED_ERROR_RESPONSE',
245
251
  help: 'If set to `true`, error details are removed from error messages in responses to client requests, and instead a generic error message is sent. Default is `true`.',
@@ -1470,4 +1476,4 @@ module.exports.LogLevels = {
1470
1476
  default: 'info'
1471
1477
  }
1472
1478
  };
1473
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZXJzIiwicmVxdWlyZSIsIm1vZHVsZSIsImV4cG9ydHMiLCJTY2hlbWFPcHRpb25zIiwiYWZ0ZXJNaWdyYXRpb24iLCJlbnYiLCJoZWxwIiwiYmVmb3JlTWlncmF0aW9uIiwiZGVmaW5pdGlvbnMiLCJyZXF1aXJlZCIsImFjdGlvbiIsIm9iamVjdFBhcnNlciIsImRlZmF1bHQiLCJkZWxldGVFeHRyYUZpZWxkcyIsImJvb2xlYW5QYXJzZXIiLCJrZWVwVW5rbm93bkluZGV4ZXMiLCJsb2NrU2NoZW1hcyIsInJlY3JlYXRlTW9kaWZpZWRGaWVsZHMiLCJzdHJpY3QiLCJQYXJzZVNlcnZlck9wdGlvbnMiLCJhY2NvdW50TG9ja291dCIsInR5cGUiLCJhbGxvd0NsaWVudENsYXNzQ3JlYXRpb24iLCJhbGxvd0N1c3RvbU9iamVjdElkIiwiYWxsb3dFeHBpcmVkQXV0aERhdGFUb2tlbiIsImFsbG93SGVhZGVycyIsImFycmF5UGFyc2VyIiwiYWxsb3dPcmlnaW4iLCJhbmFseXRpY3NBZGFwdGVyIiwibW9kdWxlT3JPYmplY3RQYXJzZXIiLCJhcHBJZCIsImFwcE5hbWUiLCJhdXRoIiwiY2FjaGVBZGFwdGVyIiwiY2FjaGVNYXhTaXplIiwibnVtYmVyUGFyc2VyIiwiY2FjaGVUVEwiLCJjbGllbnRLZXkiLCJjbG91ZCIsImNsdXN0ZXIiLCJudW1iZXJPckJvb2xlYW5QYXJzZXIiLCJjb2xsZWN0aW9uUHJlZml4IiwiY29udmVydEVtYWlsVG9Mb3dlcmNhc2UiLCJjb252ZXJ0VXNlcm5hbWVUb0xvd2VyY2FzZSIsImN1c3RvbVBhZ2VzIiwiZGF0YWJhc2VBZGFwdGVyIiwiZGF0YWJhc2VPcHRpb25zIiwiZGF0YWJhc2VVUkkiLCJkZWZhdWx0TGltaXQiLCJkaXJlY3RBY2Nlc3MiLCJkb3ROZXRLZXkiLCJlbWFpbEFkYXB0ZXIiLCJlbWFpbFZlcmlmeVN1Y2Nlc3NPbkludmFsaWRFbWFpbCIsImVtYWlsVmVyaWZ5VG9rZW5SZXVzZUlmVmFsaWQiLCJlbWFpbFZlcmlmeVRva2VuVmFsaWRpdHlEdXJhdGlvbiIsImVuYWJsZUFub255bW91c1VzZXJzIiwiZW5hYmxlQ29sbGF0aW9uQ2FzZUNvbXBhcmlzb24iLCJlbmFibGVFeHByZXNzRXJyb3JIYW5kbGVyIiwiZW5hYmxlSW5zZWN1cmVBdXRoQWRhcHRlcnMiLCJlbmFibGVTYW5pdGl6ZWRFcnJvclJlc3BvbnNlIiwiZW5jcnlwdGlvbktleSIsImVuZm9yY2VQcml2YXRlVXNlcnMiLCJleHBpcmVJbmFjdGl2ZVNlc3Npb25zIiwiZXh0ZW5kU2Vzc2lvbk9uVXNlIiwiZmlsZUtleSIsImZpbGVzQWRhcHRlciIsImZpbGVVcGxvYWQiLCJncmFwaFFMUGF0aCIsImdyYXBoUUxQdWJsaWNJbnRyb3NwZWN0aW9uIiwiZ3JhcGhRTFNjaGVtYSIsImhvc3QiLCJpZGVtcG90ZW5jeU9wdGlvbnMiLCJqYXZhc2NyaXB0S2V5IiwianNvbkxvZ3MiLCJsaXZlUXVlcnkiLCJsaXZlUXVlcnlTZXJ2ZXJPcHRpb25zIiwibG9nZ2VyQWRhcHRlciIsImxvZ0xldmVsIiwibG9nTGV2ZWxzIiwibG9nc0ZvbGRlciIsIm1haW50ZW5hbmNlS2V5IiwibWFpbnRlbmFuY2VLZXlJcHMiLCJtYXN0ZXJLZXkiLCJtYXN0ZXJLZXlJcHMiLCJtYXN0ZXJLZXlUdGwiLCJtYXhMaW1pdCIsIm1heExvZ0ZpbGVzIiwibnVtYmVyT3JTdHJpbmdQYXJzZXIiLCJtYXhVcGxvYWRTaXplIiwibWlkZGxld2FyZSIsIm1vdW50R3JhcGhRTCIsIm1vdW50UGF0aCIsIm1vdW50UGxheWdyb3VuZCIsIm9iamVjdElkU2l6ZSIsInBhZ2VzIiwicGFzc3dvcmRQb2xpY3kiLCJwbGF5Z3JvdW5kUGF0aCIsInBvcnQiLCJwcmVzZXJ2ZUZpbGVOYW1lIiwicHJldmVudExvZ2luV2l0aFVudmVyaWZpZWRFbWFpbCIsImJvb2xlYW5PckZ1bmN0aW9uUGFyc2VyIiwicHJldmVudFNpZ251cFdpdGhVbnZlcmlmaWVkRW1haWwiLCJwcm90ZWN0ZWRGaWVsZHMiLCJfVXNlciIsInB1YmxpY1NlcnZlclVSTCIsInB1c2giLCJyYXRlTGltaXQiLCJyZWFkT25seU1hc3RlcktleSIsInJlYWRPbmx5TWFzdGVyS2V5SXBzIiwicmVxdWVzdENvbXBsZXhpdHkiLCJyZXF1ZXN0Q29udGV4dE1pZGRsZXdhcmUiLCJyZXF1ZXN0S2V5d29yZERlbnlsaXN0Iiwia2V5IiwidmFsdWUiLCJyZXN0QVBJS2V5IiwicmV2b2tlU2Vzc2lvbk9uUGFzc3dvcmRSZXNldCIsInNjaGVkdWxlZFB1c2giLCJzY2hlbWEiLCJzZWN1cml0eSIsInNlbmRVc2VyRW1haWxWZXJpZmljYXRpb24iLCJzZXJ2ZXJDbG9zZUNvbXBsZXRlIiwic2VydmVyVVJMIiwic2Vzc2lvbkxlbmd0aCIsInNpbGVudCIsInN0YXJ0TGl2ZVF1ZXJ5U2VydmVyIiwidHJ1c3RQcm94eSIsInVzZXJTZW5zaXRpdmVGaWVsZHMiLCJ2ZXJib3NlIiwidmVyaWZ5U2VydmVyVXJsIiwidmVyaWZ5VXNlckVtYWlscyIsIndlYmhvb2tLZXkiLCJSYXRlTGltaXRPcHRpb25zIiwiZXJyb3JSZXNwb25zZU1lc3NhZ2UiLCJpbmNsdWRlSW50ZXJuYWxSZXF1ZXN0cyIsImluY2x1ZGVNYXN0ZXJLZXkiLCJyZWRpc1VybCIsInJlcXVlc3RDb3VudCIsInJlcXVlc3RNZXRob2RzIiwicmVxdWVzdFBhdGgiLCJyZXF1ZXN0VGltZVdpbmRvdyIsInpvbmUiLCJSZXF1ZXN0Q29tcGxleGl0eU9wdGlvbnMiLCJncmFwaFFMRGVwdGgiLCJncmFwaFFMRmllbGRzIiwiaW5jbHVkZUNvdW50IiwiaW5jbHVkZURlcHRoIiwicXVlcnlEZXB0aCIsInN1YnF1ZXJ5RGVwdGgiLCJTZWN1cml0eU9wdGlvbnMiLCJjaGVja0dyb3VwcyIsImVuYWJsZUNoZWNrIiwiZW5hYmxlQ2hlY2tMb2ciLCJQYWdlc09wdGlvbnMiLCJjdXN0b21Sb3V0ZXMiLCJjdXN0b21VcmxzIiwiZW5hYmxlTG9jYWxpemF0aW9uIiwiZW5jb2RlUGFnZVBhcmFtSGVhZGVycyIsImZvcmNlUmVkaXJlY3QiLCJsb2NhbGl6YXRpb25GYWxsYmFja0xvY2FsZSIsImxvY2FsaXphdGlvbkpzb25QYXRoIiwicGFnZXNFbmRwb2ludCIsInBhZ2VzUGF0aCIsInBsYWNlaG9sZGVycyIsIlBhZ2VzUm91dGUiLCJoYW5kbGVyIiwibWV0aG9kIiwicGF0aCIsIlBhZ2VzQ3VzdG9tVXJsc09wdGlvbnMiLCJlbWFpbFZlcmlmaWNhdGlvbkxpbmtFeHBpcmVkIiwiZW1haWxWZXJpZmljYXRpb25MaW5rSW52YWxpZCIsImVtYWlsVmVyaWZpY2F0aW9uU2VuZEZhaWwiLCJlbWFpbFZlcmlmaWNhdGlvblNlbmRTdWNjZXNzIiwiZW1haWxWZXJpZmljYXRpb25TdWNjZXNzIiwicGFzc3dvcmRSZXNldCIsInBhc3N3b3JkUmVzZXRMaW5rSW52YWxpZCIsInBhc3N3b3JkUmVzZXRTdWNjZXNzIiwiQ3VzdG9tUGFnZXNPcHRpb25zIiwiY2hvb3NlUGFzc3dvcmQiLCJleHBpcmVkVmVyaWZpY2F0aW9uTGluayIsImludmFsaWRMaW5rIiwiaW52YWxpZFBhc3N3b3JkUmVzZXRMaW5rIiwiaW52YWxpZFZlcmlmaWNhdGlvbkxpbmsiLCJsaW5rU2VuZEZhaWwiLCJsaW5rU2VuZFN1Y2Nlc3MiLCJwYXJzZUZyYW1lVVJMIiwidmVyaWZ5RW1haWxTdWNjZXNzIiwiTGl2ZVF1ZXJ5T3B0aW9ucyIsImNsYXNzTmFtZXMiLCJwdWJTdWJBZGFwdGVyIiwicmVkaXNPcHRpb25zIiwicmVkaXNVUkwiLCJyZWdleFRpbWVvdXQiLCJ3c3NBZGFwdGVyIiwiTGl2ZVF1ZXJ5U2VydmVyT3B0aW9ucyIsImNhY2hlVGltZW91dCIsImtleVBhaXJzIiwid2Vic29ja2V0VGltZW91dCIsIklkZW1wb3RlbmN5T3B0aW9ucyIsInBhdGhzIiwidHRsIiwiQWNjb3VudExvY2tvdXRPcHRpb25zIiwiZHVyYXRpb24iLCJ0aHJlc2hvbGQiLCJ1bmxvY2tPblBhc3N3b3JkUmVzZXQiLCJQYXNzd29yZFBvbGljeU9wdGlvbnMiLCJkb05vdEFsbG93VXNlcm5hbWUiLCJtYXhQYXNzd29yZEFnZSIsIm1heFBhc3N3b3JkSGlzdG9yeSIsInJlc2V0UGFzc3dvcmRTdWNjZXNzT25JbnZhbGlkRW1haWwiLCJyZXNldFRva2VuUmV1c2VJZlZhbGlkIiwicmVzZXRUb2tlblZhbGlkaXR5RHVyYXRpb24iLCJ2YWxpZGF0aW9uRXJyb3IiLCJ2YWxpZGF0b3JDYWxsYmFjayIsInZhbGlkYXRvclBhdHRlcm4iLCJGaWxlVXBsb2FkT3B0aW9ucyIsImFsbG93ZWRGaWxlVXJsRG9tYWlucyIsImVuYWJsZUZvckFub255bW91c1VzZXIiLCJlbmFibGVGb3JBdXRoZW50aWNhdGVkVXNlciIsImVuYWJsZUZvclB1YmxpYyIsImZpbGVFeHRlbnNpb25zIiwiTG9nTGV2ZWwiLCJkZWJ1ZyIsImVycm9yIiwiaW5mbyIsInNpbGx5Iiwid2FybiIsIkxvZ0NsaWVudEV2ZW50Iiwia2V5cyIsIm5hbWUiLCJEYXRhYmFzZU9wdGlvbnMiLCJhbGxvd1B1YmxpY0V4cGxhaW4iLCJhdXRoTWVjaGFuaXNtIiwiYXV0aE1lY2hhbmlzbVByb3BlcnRpZXMiLCJhdXRoU291cmNlIiwiYXV0b1NlbGVjdEZhbWlseSIsImF1dG9TZWxlY3RGYW1pbHlBdHRlbXB0VGltZW91dCIsImJhdGNoU2l6ZSIsImNsaWVudE1ldGFkYXRhIiwiY29tcHJlc3NvcnMiLCJjb25uZWN0VGltZW91dE1TIiwiY3JlYXRlSW5kZXhBdXRoRGF0YVVuaXF1ZW5lc3MiLCJjcmVhdGVJbmRleFJvbGVOYW1lIiwiY3JlYXRlSW5kZXhVc2VyRW1haWwiLCJjcmVhdGVJbmRleFVzZXJFbWFpbENhc2VJbnNlbnNpdGl2ZSIsImNyZWF0ZUluZGV4VXNlckVtYWlsVmVyaWZ5VG9rZW4iLCJjcmVhdGVJbmRleFVzZXJQYXNzd29yZFJlc2V0VG9rZW4iLCJjcmVhdGVJbmRleFVzZXJVc2VybmFtZSIsImNyZWF0ZUluZGV4VXNlclVzZXJuYW1lQ2FzZUluc2Vuc2l0aXZlIiwiZGlyZWN0Q29ubmVjdGlvbiIsImRpc2FibGVJbmRleEZpZWxkVmFsaWRhdGlvbiIsImVuYWJsZVNjaGVtYUhvb2tzIiwiZm9yY2VTZXJ2ZXJPYmplY3RJZCIsImhlYXJ0YmVhdEZyZXF1ZW5jeU1TIiwibG9hZEJhbGFuY2VkIiwibG9jYWxUaHJlc2hvbGRNUyIsImxvZ0NsaWVudEV2ZW50cyIsIm1heENvbm5lY3RpbmciLCJtYXhJZGxlVGltZU1TIiwibWF4UG9vbFNpemUiLCJtYXhTdGFsZW5lc3NTZWNvbmRzIiwibWF4VGltZU1TIiwibWluUG9vbFNpemUiLCJwcm94eUhvc3QiLCJwcm94eVBhc3N3b3JkIiwicHJveHlQb3J0IiwicHJveHlVc2VybmFtZSIsInJlYWRDb25jZXJuTGV2ZWwiLCJyZWFkUHJlZmVyZW5jZSIsInJlYWRQcmVmZXJlbmNlVGFncyIsInJlcGxpY2FTZXQiLCJyZXRyeVJlYWRzIiwicmV0cnlXcml0ZXMiLCJzY2hlbWFDYWNoZVR0bCIsInNlcnZlck1vbml0b3JpbmdNb2RlIiwic2VydmVyU2VsZWN0aW9uVGltZW91dE1TIiwic29ja2V0VGltZW91dE1TIiwic3J2TWF4SG9zdHMiLCJzcnZTZXJ2aWNlTmFtZSIsInNzbCIsInRscyIsInRsc0FsbG93SW52YWxpZENlcnRpZmljYXRlcyIsInRsc0FsbG93SW52YWxpZEhvc3RuYW1lcyIsInRsc0NBRmlsZSIsInRsc0NlcnRpZmljYXRlS2V5RmlsZSIsInRsc0NlcnRpZmljYXRlS2V5RmlsZVBhc3N3b3JkIiwidGxzSW5zZWN1cmUiLCJ3YWl0UXVldWVUaW1lb3V0TVMiLCJ6bGliQ29tcHJlc3Npb25MZXZlbCIsIkRhdGFiYXNlT3B0aW9uc0NsaWVudE1ldGFkYXRhIiwidmVyc2lvbiIsIkF1dGhBZGFwdGVyIiwiZW5hYmxlZCIsIkxvZ0xldmVscyIsImNsb3VkRnVuY3Rpb25FcnJvciIsImNsb3VkRnVuY3Rpb25TdWNjZXNzIiwic2lnbnVwVXNlcm5hbWVUYWtlbiIsInRyaWdnZXJBZnRlciIsInRyaWdnZXJCZWZvcmVFcnJvciIsInRyaWdnZXJCZWZvcmVTdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL09wdGlvbnMvRGVmaW5pdGlvbnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbioqKiogR0VORVJBVEVEIENPREUgKioqKlxuVGhpcyBjb2RlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSByZXNvdXJjZXMvYnVpbGRDb25maWdEZWZpbml0aW9ucy5qc1xuRG8gbm90IGVkaXQgbWFudWFsbHksIGJ1dCB1cGRhdGUgT3B0aW9ucy9pbmRleC5qc1xuKi9cbnZhciBwYXJzZXJzID0gcmVxdWlyZSgnLi9wYXJzZXJzJyk7XG5tb2R1bGUuZXhwb3J0cy5TY2hlbWFPcHRpb25zID0ge1xuICBhZnRlck1pZ3JhdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TQ0hFTUFfQUZURVJfTUlHUkFUSU9OJyxcbiAgICBoZWxwOiAnRXhlY3V0ZSBhIGNhbGxiYWNrIGFmdGVyIHJ1bm5pbmcgc2NoZW1hIG1pZ3JhdGlvbnMuJyxcbiAgfSxcbiAgYmVmb3JlTWlncmF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9CRUZPUkVfTUlHUkFUSU9OJyxcbiAgICBoZWxwOiAnRXhlY3V0ZSBhIGNhbGxiYWNrIGJlZm9yZSBydW5uaW5nIHNjaGVtYSBtaWdyYXRpb25zLicsXG4gIH0sXG4gIGRlZmluaXRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9ERUZJTklUSU9OUycsXG4gICAgaGVscDogJ1Jlc3QgcmVwcmVzZW50YXRpb24gb24gUGFyc2UuU2NoZW1hIGh0dHBzOi8vZG9jcy5wYXJzZXBsYXRmb3JtLm9yZy9yZXN0L2d1aWRlLyNhZGRpbmctYS1zY2hlbWEnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIGRlbGV0ZUV4dHJhRmllbGRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9ERUxFVEVfRVhUUkFfRklFTERTJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBQYXJzZSBTZXJ2ZXIgc2hvdWxkIGRlbGV0ZSBhbnkgZmllbGRzIG5vdCBkZWZpbmVkIGluIGEgc2NoZW1hIGRlZmluaXRpb24uIFRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCBkdXJpbmcgZGV2ZWxvcG1lbnQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAga2VlcFVua25vd25JbmRleGVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9LRUVQX1VOS05PV05fSU5ERVhFUycsXG4gICAgaGVscDogXCIoT3B0aW9uYWwpIEtlZXAgaW5kZXhlcyB0aGF0IGFyZSBwcmVzZW50IGluIHRoZSBkYXRhYmFzZSBidXQgbm90IGRlZmluZWQgaW4gdGhlIHNjaGVtYS4gU2V0IHRoaXMgdG8gYHRydWVgIGlmIHlvdSBhcmUgYWRkaW5nIGluZGV4ZXMgbWFudWFsbHksIHNvIHRoYXQgdGhleSB3b24ndCBiZSByZW1vdmVkIHdoZW4gcnVubmluZyBzY2hlbWEgbWlncmF0aW9uLiBEZWZhdWx0IGlzIGBmYWxzZWAuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGxvY2tTY2hlbWFzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9MT0NLX1NDSEVNQVMnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIFBhcnNlIFNlcnZlciB3aWxsIHJlamVjdCBhbnkgYXR0ZW1wdHMgdG8gbW9kaWZ5IHRoZSBzY2hlbWEgd2hpbGUgdGhlIHNlcnZlciBpcyBydW5uaW5nLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHJlY3JlYXRlTW9kaWZpZWRGaWVsZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX1JFQ1JFQVRFX01PRElGSUVEX0ZJRUxEUycsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgUGFyc2UgU2VydmVyIHNob3VsZCByZWNyZWF0ZSBhbnkgZmllbGRzIHRoYXQgYXJlIGRpZmZlcmVudCBiZXR3ZWVuIHRoZSBjdXJyZW50IGRhdGFiYXNlIHNjaGVtYSBhbmQgdGhlc2NoZW1hIGRlZmluaXRpb24uIFRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCBkdXJpbmcgZGV2ZWxvcG1lbnQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgc3RyaWN0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9TVFJJQ1QnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIFBhcnNlIFNlcnZlciBzaG91bGQgZXhpdCBpZiBzY2hlbWEgdXBkYXRlIGZhaWwuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5QYXJzZVNlcnZlck9wdGlvbnMgPSB7XG4gIGFjY291bnRMb2Nrb3V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FDQ09VTlRfTE9DS09VVCcsXG4gICAgaGVscDogXCJUaGUgYWNjb3VudCBsb2Nrb3V0IHBvbGljeSBmb3IgZmFpbGVkIGxvZ2luIGF0dGVtcHRzLjxicj48YnI+Tm90ZTogU2V0dGluZyBhIHVzZXIncyBBQ0wgdG8gYW4gZW1wdHkgb2JqZWN0IGB7fWAgdmlhIG1hc3RlciBrZXkgaXMgYSBzZXBhcmF0ZSBtZWNoYW5pc20gdGhhdCBvbmx5IHByZXZlbnRzIG5ldyBsb2dpbnM7IGl0IGRvZXMgbm90IGludmFsaWRhdGUgZXhpc3Rpbmcgc2Vzc2lvbiB0b2tlbnMuIFRvIGltbWVkaWF0ZWx5IHJldm9rZSBhIHVzZXIncyBhY2Nlc3MsIGRlc3Ryb3kgdGhlaXIgc2Vzc2lvbnMgdmlhIG1hc3RlciBrZXkgaW4gYWRkaXRpb24gdG8gc2V0dGluZyB0aGUgQUNMLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0FjY291bnRMb2Nrb3V0T3B0aW9ucycsXG4gIH0sXG4gIGFsbG93Q2xpZW50Q2xhc3NDcmVhdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19DTElFTlRfQ0xBU1NfQ1JFQVRJT04nLFxuICAgIGhlbHA6ICdFbmFibGUgKG9yIGRpc2FibGUpIGNsaWVudCBjbGFzcyBjcmVhdGlvbiwgZGVmYXVsdHMgdG8gZmFsc2UnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBhbGxvd0N1c3RvbU9iamVjdElkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX0NVU1RPTV9PQkpFQ1RfSUQnLFxuICAgIGhlbHA6ICdFbmFibGUgKG9yIGRpc2FibGUpIGN1c3RvbSBvYmplY3RJZCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGFsbG93RXhwaXJlZEF1dGhEYXRhVG9rZW46IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUxMT1dfRVhQSVJFRF9BVVRIX0RBVEFfVE9LRU4nLFxuICAgIGhlbHA6ICdBbGxvdyBhIHVzZXIgdG8gbG9nIGluIGV2ZW4gaWYgdGhlIDNyZCBwYXJ0eSBhdXRoZW50aWNhdGlvbiB0b2tlbiB0aGF0IHdhcyB1c2VkIHRvIHNpZ24gaW4gdG8gdGhlaXIgYWNjb3VudCBoYXMgZXhwaXJlZC4gSWYgdGhpcyBpcyBzZXQgdG8gYGZhbHNlYCwgdGhlbiB0aGUgdG9rZW4gd2lsbCBiZSB2YWxpZGF0ZWQgZXZlcnkgdGltZSB0aGUgdXNlciBzaWducyBpbiB0byB0aGVpciBhY2NvdW50LiBUaGlzIHJlZmVycyB0byB0aGUgdG9rZW4gdGhhdCBpcyBzdG9yZWQgaW4gdGhlIGBfVXNlci5hdXRoRGF0YWAgZmllbGQuIERlZmF1bHRzIHRvIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgYWxsb3dIZWFkZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX0hFQURFUlMnLFxuICAgIGhlbHA6ICdBZGQgaGVhZGVycyB0byBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIGFsbG93T3JpZ2luOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX09SSUdJTicsXG4gICAgaGVscDogJ1NldHMgb3JpZ2lucyBmb3IgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLiBUaGlzIGNhbiBiZSBhIHN0cmluZyBmb3IgYSBzaW5nbGUgb3JpZ2luIG9yIGFuIGFycmF5IG9mIHN0cmluZ3MgZm9yIG11bHRpcGxlIG9yaWdpbnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIGFuYWx5dGljc0FkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQU5BTFlUSUNTX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgdGhlIGFuYWx5dGljcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBhcHBJZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BUFBMSUNBVElPTl9JRCcsXG4gICAgaGVscDogJ1lvdXIgUGFyc2UgQXBwbGljYXRpb24gSUQnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBhcHBOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FQUF9OQU1FJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgYXBwIG5hbWUnLFxuICB9LFxuICBhdXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FVVEhfUFJPVklERVJTJyxcbiAgICBoZWxwOiBcIkNvbmZpZ3VyYXRpb24gZm9yIHlvdXIgYXV0aGVudGljYXRpb24gcHJvdmlkZXJzLCBhcyBzdHJpbmdpZmllZCBKU09OLiBTZWUgaHR0cDovL2RvY3MucGFyc2VwbGF0Zm9ybS5vcmcvcGFyc2Utc2VydmVyL2d1aWRlLyNvYXV0aC1hbmQtM3JkLXBhcnR5LWF1dGhlbnRpY2F0aW9uPGJyPjxicj5Qcm92aWRlciBuYW1lcyBtdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIgYW5kIGNvbnRhaW4gb25seSBsZXR0ZXJzLCBkaWdpdHMsIGFuZCB1bmRlcnNjb3JlcyAoYC9eW0EtWmEtel1bQS1aYS16MC05X10qJC9gKS4gVGhpcyBpcyBiZWNhdXNlIGVhY2ggcHJvdmlkZXIgbmFtZSBpcyB1c2VkIHRvIGNvbnN0cnVjdCBhIGRhdGFiYXNlIGZpZWxkIChgX2F1dGhfZGF0YV88cHJvdmlkZXI+YCksIHdoaWNoIG11c3QgY29tcGx5IHdpdGggUGFyc2UgU2VydmVyJ3MgZmllbGQgbmFtaW5nIHJ1bGVzLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIGNhY2hlQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DQUNIRV9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBjYWNoZScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBjYWNoZU1heFNpemU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0FDSEVfTUFYX1NJWkUnLFxuICAgIGhlbHA6ICdTZXRzIHRoZSBtYXhpbXVtIHNpemUgZm9yIHRoZSBpbiBtZW1vcnkgY2FjaGUsIGRlZmF1bHRzIHRvIDEwMDAwJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdjYWNoZU1heFNpemUnKSxcbiAgICBkZWZhdWx0OiAxMDAwMCxcbiAgfSxcbiAgY2FjaGVUVEw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0FDSEVfVFRMJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgVFRMIGZvciB0aGUgaW4gbWVtb3J5IGNhY2hlIChpbiBtcyksIGRlZmF1bHRzIHRvIDUwMDAgKDUgc2Vjb25kcyknLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2NhY2hlVFRMJyksXG4gICAgZGVmYXVsdDogNTAwMCxcbiAgfSxcbiAgY2xpZW50S2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NMSUVOVF9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIGlPUywgTWFjT1MsIHR2T1MgY2xpZW50cycsXG4gIH0sXG4gIGNsb3VkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NMT1VEJyxcbiAgICBoZWxwOiAnRnVsbCBwYXRoIHRvIHlvdXIgY2xvdWQgY29kZSBtYWluLmpzJyxcbiAgfSxcbiAgY2x1c3Rlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DTFVTVEVSJyxcbiAgICBoZWxwOiAnUnVuIHdpdGggY2x1c3Rlciwgb3B0aW9uYWxseSBzZXQgdGhlIG51bWJlciBvZiBwcm9jZXNzZXMgZGVmYXVsdCB0byBvcy5jcHVzKCkubGVuZ3RoJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyT3JCb29sZWFuUGFyc2VyLFxuICB9LFxuICBjb2xsZWN0aW9uUHJlZml4OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NPTExFQ1RJT05fUFJFRklYJyxcbiAgICBoZWxwOiAnQSBjb2xsZWN0aW9uIHByZWZpeCBmb3IgdGhlIGNsYXNzZXMnLFxuICAgIGRlZmF1bHQ6ICcnLFxuICB9LFxuICBjb252ZXJ0RW1haWxUb0xvd2VyY2FzZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DT05WRVJUX0VNQUlMX1RPX0xPV0VSQ0FTRScsXG4gICAgaGVscDogJ09wdGlvbmFsLiBJZiBzZXQgdG8gYHRydWVgLCB0aGUgYGVtYWlsYCBwcm9wZXJ0eSBvZiBhIHVzZXIgaXMgYXV0b21hdGljYWxseSBjb252ZXJ0ZWQgdG8gbG93ZXJjYXNlIGJlZm9yZSBiZWluZyBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlLiBDb25zZXF1ZW50bHksIHF1ZXJpZXMgbXVzdCBtYXRjaCB0aGUgY2FzZSBhcyBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlLCB3aGljaCB3b3VsZCBiZSBsb3dlcmNhc2UgaW4gdGhpcyBzY2VuYXJpby4gSWYgYGZhbHNlYCwgdGhlIGBlbWFpbGAgcHJvcGVydHkgaXMgc3RvcmVkIGFzIHNldCwgd2l0aG91dCBhbnkgY2FzZSBtb2RpZmljYXRpb25zLiBEZWZhdWx0IGlzIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgY29udmVydFVzZXJuYW1lVG9Mb3dlcmNhc2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ09OVkVSVF9VU0VSTkFNRV9UT19MT1dFUkNBU0UnLFxuICAgIGhlbHA6ICdPcHRpb25hbC4gSWYgc2V0IHRvIGB0cnVlYCwgdGhlIGB1c2VybmFtZWAgcHJvcGVydHkgb2YgYSB1c2VyIGlzIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGxvd2VyY2FzZSBiZWZvcmUgYmVpbmcgc3RvcmVkIGluIHRoZSBkYXRhYmFzZS4gQ29uc2VxdWVudGx5LCBxdWVyaWVzIG11c3QgbWF0Y2ggdGhlIGNhc2UgYXMgc3RvcmVkIGluIHRoZSBkYXRhYmFzZSwgd2hpY2ggd291bGQgYmUgbG93ZXJjYXNlIGluIHRoaXMgc2NlbmFyaW8uIElmIGBmYWxzZWAsIHRoZSBgdXNlcm5hbWVgIHByb3BlcnR5IGlzIHN0b3JlZCBhcyBzZXQsIHdpdGhvdXQgYW55IGNhc2UgbW9kaWZpY2F0aW9ucy4gRGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGN1c3RvbVBhZ2VzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFUycsXG4gICAgaGVscDogJ2N1c3RvbSBwYWdlcyBmb3IgcGFzc3dvcmQgdmFsaWRhdGlvbiBhbmQgcmVzZXQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0N1c3RvbVBhZ2VzT3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGRhdGFiYXNlQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBkYXRhYmFzZTsgYW55IG9wdGlvbnMgdGhhdCBhcmUgbm90IGV4cGxpY2l0bHkgZGVzY3JpYmVkIGhlcmUgYXJlIHBhc3NlZCBkaXJlY3RseSB0byB0aGUgZGF0YWJhc2UgY2xpZW50LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBkYXRhYmFzZU9wdGlvbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfT1BUSU9OUycsXG4gICAgaGVscDogJ09wdGlvbnMgdG8gcGFzcyB0byB0aGUgZGF0YWJhc2UgY2xpZW50JyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdEYXRhYmFzZU9wdGlvbnMnLFxuICB9LFxuICBkYXRhYmFzZVVSSToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9VUkknLFxuICAgIGhlbHA6ICdUaGUgZnVsbCBVUkkgdG8geW91ciBkYXRhYmFzZS4gU3VwcG9ydGVkIGRhdGFiYXNlcyBhcmUgbW9uZ29kYiBvciBwb3N0Z3Jlcy4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlZmF1bHQ6ICdtb25nb2RiOi8vbG9jYWxob3N0OjI3MDE3L3BhcnNlJyxcbiAgfSxcbiAgZGVmYXVsdExpbWl0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RFRkFVTFRfTElNSVQnLFxuICAgIGhlbHA6ICdEZWZhdWx0IHZhbHVlIGZvciBsaW1pdCBvcHRpb24gb24gcXVlcmllcywgZGVmYXVsdHMgdG8gYDEwMGAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdkZWZhdWx0TGltaXQnKSxcbiAgICBkZWZhdWx0OiAxMDAsXG4gIH0sXG4gIGRpcmVjdEFjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9ESVJFQ1RfQUNDRVNTJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCBpZiBQYXJzZSByZXF1ZXN0cyB3aXRoaW4gdGhlIHNhbWUgTm9kZS5qcyBlbnZpcm9ubWVudCBhcyBQYXJzZSBTZXJ2ZXIgc2hvdWxkIGJlIHJvdXRlZCB0byBQYXJzZSBTZXJ2ZXIgZGlyZWN0bHkgaW5zdGVhZCBvZiB2aWEgdGhlIEhUVFAgaW50ZXJmYWNlLiBEZWZhdWx0IGlzIGBmYWxzZWAuPGJyPjxicj5JZiBzZXQgdG8gYGZhbHNlYCB0aGVuIFBhcnNlIHJlcXVlc3RzIHdpdGhpbiB0aGUgc2FtZSBOb2RlLmpzIGVudmlyb25tZW50IGFzIFBhcnNlIFNlcnZlciBhcmUgZXhlY3V0ZWQgYXMgSFRUUCByZXF1ZXN0cyBzZW50IHRvIFBhcnNlIFNlcnZlciB2aWEgdGhlIGBzZXJ2ZXJVUkxgLiBGb3IgZXhhbXBsZSwgYSBgUGFyc2UuUXVlcnlgIGluIENsb3VkIENvZGUgaXMgY2FsbGluZyBQYXJzZSBTZXJ2ZXIgdmlhIGEgSFRUUCByZXF1ZXN0LiBUaGUgc2VydmVyIGlzIGVzc2VudGlhbGx5IG1ha2luZyBhIEhUVFAgcmVxdWVzdCB0byBpdHNlbGYsIHVubmVjZXNzYXJpbHkgdXNpbmcgbmV0d29yayByZXNvdXJjZXMgc3VjaCBhcyBuZXR3b3JrIHBvcnRzLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgSW4gZW52aXJvbm1lbnRzIHdoZXJlIG11bHRpcGxlIFBhcnNlIFNlcnZlciBpbnN0YW5jZXMgcnVuIGJlaGluZCBhIGxvYWQgYmFsYW5jZXIgYW5kIFBhcnNlIHJlcXVlc3RzIHdpdGhpbiB0aGUgY3VycmVudCBOb2RlLmpzIGVudmlyb25tZW50IHNob3VsZCBiZSByb3V0ZWQgdmlhIHRoZSBsb2FkIGJhbGFuY2VyIGFuZCBkaXN0cmlidXRlZCBhcyBIVFRQIHJlcXVlc3RzIGFtb25nIGFsbCBpbnN0YW5jZXMgdmlhIHRoZSBgc2VydmVyVVJMYCwgdGhpcyBzaG91bGQgYmUgc2V0IHRvIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBkb3ROZXRLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRE9UX05FVF9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIFVuaXR5IGFuZCAuTmV0IFNESycsXG4gIH0sXG4gIGVtYWlsQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTUFJTF9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIGVtYWlsIHNlbmRpbmcnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgZW1haWxWZXJpZnlTdWNjZXNzT25JbnZhbGlkRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU1BSUxfVkVSSUZZX1NVQ0NFU1NfT05fSU5WQUxJRF9FTUFJTCcsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgaWYgYSByZXF1ZXN0IHRvIHZlcmlmeSB0aGUgZW1haWwgc2hvdWxkIHJldHVybiBhIHN1Y2Nlc3MgcmVzcG9uc2UgZXZlbiBpZiB0aGUgcHJvdmlkZWQgZW1haWwgYWRkcmVzcyBkb2VzIG5vdCBiZWxvbmcgdG8gYSB2ZXJpZmlhYmxlIGFjY291bnQsIGZvciBleGFtcGxlIGJlY2F1c2UgaXQgaXMgdW5rbm93biBvciBhbHJlYWR5IHZlcmlmaWVkLCBvciBgZmFsc2VgIGlmIHRoZSByZXF1ZXN0IHNob3VsZCByZXR1cm4gYW4gZXJyb3IgcmVzcG9uc2UgaW4gdGhvc2UgY2FzZXMuPGJyPjxicj5EZWZhdWx0IGlzIGB0cnVlYC48YnI+UmVxdWlyZXMgb3B0aW9uIGB2ZXJpZnlVc2VyRW1haWxzOiB0cnVlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGVtYWlsVmVyaWZ5VG9rZW5SZXVzZUlmVmFsaWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU1BSUxfVkVSSUZZX1RPS0VOX1JFVVNFX0lGX1ZBTElEJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCBpZiBhIGVtYWlsIHZlcmlmaWNhdGlvbiB0b2tlbiBzaG91bGQgYmUgcmV1c2VkIGluIGNhc2UgYW5vdGhlciB0b2tlbiBpcyByZXF1ZXN0ZWQgYnV0IHRoZXJlIGlzIGEgdG9rZW4gdGhhdCBpcyBzdGlsbCB2YWxpZCwgaS5lLiBoYXMgbm90IGV4cGlyZWQuIFRoaXMgYXZvaWRzIHRoZSBvZnRlbiBvYnNlcnZlZCBpc3N1ZSB0aGF0IGEgdXNlciByZXF1ZXN0cyBtdWx0aXBsZSBlbWFpbHMgYW5kIGRvZXMgbm90IGtub3cgd2hpY2ggbGluayBjb250YWlucyBhIHZhbGlkIHRva2VuIGJlY2F1c2UgZWFjaCBuZXdseSBnZW5lcmF0ZWQgdG9rZW4gd291bGQgaW52YWxpZGF0ZSB0aGUgcHJldmlvdXMgdG9rZW4uPGJyPjxicj5EZWZhdWx0IGlzIGBmYWxzZWAuPGJyPlJlcXVpcmVzIG9wdGlvbiBgdmVyaWZ5VXNlckVtYWlsczogdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZW1haWxWZXJpZnlUb2tlblZhbGlkaXR5RHVyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU1BSUxfVkVSSUZZX1RPS0VOX1ZBTElESVRZX0RVUkFUSU9OJyxcbiAgICBoZWxwOiAnU2V0IHRoZSB2YWxpZGl0eSBkdXJhdGlvbiBvZiB0aGUgZW1haWwgdmVyaWZpY2F0aW9uIHRva2VuIGluIHNlY29uZHMgYWZ0ZXIgd2hpY2ggdGhlIHRva2VuIGV4cGlyZXMuIFRoZSB0b2tlbiBpcyB1c2VkIGluIHRoZSBsaW5rIHRoYXQgaXMgc2V0IGluIHRoZSBlbWFpbC4gQWZ0ZXIgdGhlIHRva2VuIGV4cGlyZXMsIHRoZSBsaW5rIGJlY29tZXMgaW52YWxpZCBhbmQgYSBuZXcgbGluayBoYXMgdG8gYmUgc2VudC4gSWYgdGhlIG9wdGlvbiBpcyBub3Qgc2V0IG9yIHNldCB0byBgdW5kZWZpbmVkYCwgdGhlbiB0aGUgdG9rZW4gbmV2ZXIgZXhwaXJlcy48YnI+PGJyPkZvciBleGFtcGxlLCB0byBleHBpcmUgdGhlIHRva2VuIGFmdGVyIDIgaG91cnMsIHNldCBhIHZhbHVlIG9mIDcyMDAgc2Vjb25kcyAoPSA2MCBzZWNvbmRzICogNjAgbWludXRlcyAqIDIgaG91cnMpLjxicj48YnI+RGVmYXVsdCBpcyBgdW5kZWZpbmVkYC48YnI+UmVxdWlyZXMgb3B0aW9uIGB2ZXJpZnlVc2VyRW1haWxzOiB0cnVlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2VtYWlsVmVyaWZ5VG9rZW5WYWxpZGl0eUR1cmF0aW9uJyksXG4gIH0sXG4gIGVuYWJsZUFub255bW91c1VzZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQUJMRV9BTk9OX1VTRVJTJyxcbiAgICBoZWxwOiAnRW5hYmxlIChvciBkaXNhYmxlKSBhbm9ueW1vdXMgdXNlcnMsIGRlZmF1bHRzIHRvIHRydWUnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGVuYWJsZUNvbGxhdGlvbkNhc2VDb21wYXJpc29uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQUJMRV9DT0xMQVRJT05fQ0FTRV9DT01QQVJJU09OJyxcbiAgICBoZWxwOiAnT3B0aW9uYWwuIElmIHNldCB0byBgdHJ1ZWAsIHRoZSBjb2xsYXRpb24gcnVsZSBvZiBjYXNlIGNvbXBhcmlzb24gZm9yIHF1ZXJpZXMgYW5kIGluZGV4ZXMgaXMgZW5hYmxlZC4gRW5hYmxlIHRoaXMgb3B0aW9uIHRvIHJ1biBQYXJzZSBTZXJ2ZXIgd2l0aCBNb25nb0RCIEF0bGFzIFNlcnZlcmxlc3Mgb3IgQVdTIEFtYXpvbiBEb2N1bWVudERCLiBJZiBgZmFsc2VgLCB0aGUgY29sbGF0aW9uIHJ1bGUgb2YgY2FzZSBjb21wYXJpc29uIGlzIGRpc2FibGVkLiBEZWZhdWx0IGlzIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZW5hYmxlRXhwcmVzc0Vycm9ySGFuZGxlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkFCTEVfRVhQUkVTU19FUlJPUl9IQU5ETEVSJyxcbiAgICBoZWxwOiAnRW5hYmxlcyB0aGUgZGVmYXVsdCBleHByZXNzIGVycm9yIGhhbmRsZXIgZm9yIGFsbCBlcnJvcnMnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmFibGVJbnNlY3VyZUF1dGhBZGFwdGVyczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkFCTEVfSU5TRUNVUkVfQVVUSF9BREFQVEVSUycsXG4gICAgaGVscDogJ09wdGlvbmFsLiBFbmFibGVzIGluc2VjdXJlIGF1dGhlbnRpY2F0aW9uIGFkYXB0ZXJzLiBJbnNlY3VyZSBhdXRoIGFkYXB0ZXJzIGFyZSBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi4gRGVmYXVsdHMgdG8gYGZhbHNlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmFibGVTYW5pdGl6ZWRFcnJvclJlc3BvbnNlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQUJMRV9TQU5JVElaRURfRVJST1JfUkVTUE9OU0UnLFxuICAgIGhlbHA6ICdJZiBzZXQgdG8gYHRydWVgLCBlcnJvciBkZXRhaWxzIGFyZSByZW1vdmVkIGZyb20gZXJyb3IgbWVzc2FnZXMgaW4gcmVzcG9uc2VzIHRvIGNsaWVudCByZXF1ZXN0cywgYW5kIGluc3RlYWQgYSBnZW5lcmljIGVycm9yIG1lc3NhZ2UgaXMgc2VudC4gRGVmYXVsdCBpcyBgdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBlbmNyeXB0aW9uS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQ1JZUFRJT05fS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciBlbmNyeXB0aW5nIHlvdXIgZmlsZXMnLFxuICB9LFxuICBlbmZvcmNlUHJpdmF0ZVVzZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VORk9SQ0VfUFJJVkFURV9VU0VSUycsXG4gICAgaGVscDogJ1NldCB0byB0cnVlIGlmIG5ldyB1c2VycyBzaG91bGQgYmUgY3JlYXRlZCB3aXRob3V0IHB1YmxpYyByZWFkIGFuZCB3cml0ZSBhY2Nlc3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBleHBpcmVJbmFjdGl2ZVNlc3Npb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VYUElSRV9JTkFDVElWRV9TRVNTSU9OUycsXG4gICAgaGVscDogJ1NldHMgd2hldGhlciB3ZSBzaG91bGQgZXhwaXJlIHRoZSBpbmFjdGl2ZSBzZXNzaW9ucywgZGVmYXVsdHMgdG8gdHJ1ZS4gSWYgZmFsc2UsIGFsbCBuZXcgc2Vzc2lvbnMgYXJlIGNyZWF0ZWQgd2l0aCBubyBleHBpcmF0aW9uIGRhdGUuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBleHRlbmRTZXNzaW9uT25Vc2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRVhURU5EX1NFU1NJT05fT05fVVNFJyxcbiAgICBoZWxwOiBcIldoZXRoZXIgUGFyc2UgU2VydmVyIHNob3VsZCBhdXRvbWF0aWNhbGx5IGV4dGVuZCBhIHZhbGlkIHNlc3Npb24gYnkgdGhlIHNlc3Npb25MZW5ndGguIEluIG9yZGVyIHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHNlc3Npb24gdXBkYXRlcyBpbiB0aGUgZGF0YWJhc2UsIGEgc2Vzc2lvbiB3aWxsIG9ubHkgYmUgZXh0ZW5kZWQgd2hlbiBhIHJlcXVlc3QgaXMgcmVjZWl2ZWQgYWZ0ZXIgYXQgbGVhc3QgaGFsZiBvZiB0aGUgY3VycmVudCBzZXNzaW9uJ3MgbGlmZXRpbWUgaGFzIHBhc3NlZC5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZmlsZUtleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX0tFWScsXG4gICAgaGVscDogJ0tleSBmb3IgeW91ciBmaWxlcycsXG4gIH0sXG4gIGZpbGVzQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFU19BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBmaWxlcyBzdWItc3lzdGVtJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIGZpbGVVcGxvYWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfT1BUSU9OUycsXG4gICAgaGVscDogJ09wdGlvbnMgZm9yIGZpbGUgdXBsb2FkcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnRmlsZVVwbG9hZE9wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBncmFwaFFMUGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9HUkFQSFFMX1BBVEgnLFxuICAgIGhlbHA6ICdUaGUgbW91bnQgcGF0aCBmb3IgdGhlIEdyYXBoUUwgZW5kcG9pbnQ8YnI+PGJyPlxcdTI2QTBcXHVGRTBGIEZpbGUgdXBsb2FkIGluc2lkZSB0aGUgR3JhcGhRTCBtdXRhdGlvbiBzeXN0ZW0gcmVxdWlyZXMgUGFyc2UgU2VydmVyIHRvIGJlIGFibGUgdG8gY2FsbCBpdHNlbGYgYnkgbWFraW5nIHJlcXVlc3RzIHRvIHRoZSBVUkwgc2V0IGluIGBzZXJ2ZXJVUkxgLjxicj48YnI+RGVmYXVsdHMgaXMgYC9ncmFwaHFsYC4nLFxuICAgIGRlZmF1bHQ6ICcvZ3JhcGhxbCcsXG4gIH0sXG4gIGdyYXBoUUxQdWJsaWNJbnRyb3NwZWN0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0dSQVBIUUxfUFVCTElDX0lOVFJPU1BFQ1RJT04nLFxuICAgIGhlbHA6ICdFbmFibGUgcHVibGljIGludHJvc3BlY3Rpb24gZm9yIHRoZSBHcmFwaFFMIGVuZHBvaW50LCBkZWZhdWx0cyB0byBmYWxzZScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGdyYXBoUUxTY2hlbWE6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfR1JBUEhfUUxTQ0hFTUEnLFxuICAgIGhlbHA6ICdGdWxsIHBhdGggdG8geW91ciBHcmFwaFFMIGN1c3RvbSBzY2hlbWEuZ3JhcGhxbCBmaWxlJyxcbiAgfSxcbiAgaG9zdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9IT1NUJyxcbiAgICBoZWxwOiAnVGhlIGhvc3QgdG8gc2VydmUgUGFyc2VTZXJ2ZXIgb24sIGRlZmF1bHRzIHRvIDAuMC4wLjAnLFxuICAgIGRlZmF1bHQ6ICcwLjAuMC4wJyxcbiAgfSxcbiAgaWRlbXBvdGVuY3lPcHRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VYUEVSSU1FTlRBTF9JREVNUE9URU5DWV9PUFRJT05TJyxcbiAgICBoZWxwOiAnT3B0aW9ucyBmb3IgcmVxdWVzdCBpZGVtcG90ZW5jeSB0byBkZWR1cGxpY2F0ZSBpZGVudGljYWwgcmVxdWVzdHMgdGhhdCBtYXkgYmUgY2F1c2VkIGJ5IG5ldHdvcmsgaXNzdWVzLiBDYXV0aW9uLCB0aGlzIGlzIGFuIGV4cGVyaW1lbnRhbCBmZWF0dXJlIHRoYXQgbWF5IG5vdCBiZSBhcHByb3ByaWF0ZSBmb3IgcHJvZHVjdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0lkZW1wb3RlbmN5T3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGphdmFzY3JpcHRLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfSkFWQVNDUklQVF9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIHRoZSBKYXZhc2NyaXB0IFNESycsXG4gIH0sXG4gIGpzb25Mb2dzOiB7XG4gICAgZW52OiAnSlNPTl9MT0dTJyxcbiAgICBoZWxwOiAnTG9nIGFzIHN0cnVjdHVyZWQgSlNPTiBvYmplY3RzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgbGl2ZVF1ZXJ5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVfUVVFUlknLFxuICAgIGhlbHA6IFwicGFyc2Utc2VydmVyJ3MgTGl2ZVF1ZXJ5IGNvbmZpZ3VyYXRpb24gb2JqZWN0XCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnTGl2ZVF1ZXJ5T3B0aW9ucycsXG4gIH0sXG4gIGxpdmVRdWVyeVNlcnZlck9wdGlvbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTElWRV9RVUVSWV9TRVJWRVJfT1BUSU9OUycsXG4gICAgaGVscDogJ0xpdmUgcXVlcnkgc2VydmVyIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyAod2lsbCBzdGFydCB0aGUgbGl2ZVF1ZXJ5IHNlcnZlciknLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0xpdmVRdWVyeVNlcnZlck9wdGlvbnMnLFxuICB9LFxuICBsb2dnZXJBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR0dFUl9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBsb2dnaW5nIHN1Yi1zeXN0ZW0nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgbG9nTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgbGV2ZWwgZm9yIGxvZ3MnLFxuICB9LFxuICBsb2dMZXZlbHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMUycsXG4gICAgaGVscDogJyhPcHRpb25hbCkgT3ZlcnJpZGVzIHRoZSBsb2cgbGV2ZWxzIHVzZWQgaW50ZXJuYWxseSBieSBQYXJzZSBTZXJ2ZXIgdG8gbG9nIGV2ZW50cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0xvZ0xldmVscycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGxvZ3NGb2xkZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HU19GT0xERVInLFxuICAgIGhlbHA6IFwiRm9sZGVyIGZvciB0aGUgbG9ncyAoZGVmYXVsdHMgdG8gJy4vbG9ncycpOyBzZXQgdG8gbnVsbCB0byBkaXNhYmxlIGZpbGUgYmFzZWQgbG9nZ2luZ1wiLFxuICAgIGRlZmF1bHQ6ICcuL2xvZ3MnLFxuICB9LFxuICBtYWludGVuYW5jZUtleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQUlOVEVOQU5DRV9LRVknLFxuICAgIGhlbHA6ICcoT3B0aW9uYWwpIFRoZSBtYWludGVuYW5jZSBrZXkgaXMgdXNlZCBmb3IgbW9kaWZ5aW5nIGludGVybmFsIGFuZCByZWFkLW9ubHkgZmllbGRzIG9mIFBhcnNlIFNlcnZlci48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIFRoaXMga2V5IGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIHBhcnQgb2YgYSByZWd1bGFyIG9wZXJhdGlvbiBvZiBQYXJzZSBTZXJ2ZXIuIFRoaXMga2V5IGlzIGludGVuZGVkIHRvIGNvbmR1Y3Qgb3V0LW9mLWJhbmQgY2hhbmdlcyBzdWNoIGFzIG9uZS10aW1lIG1pZ3JhdGlvbnMgb3IgZGF0YSBjb3JyZWN0aW9uIHRhc2tzLiBJbnRlcm5hbCBmaWVsZHMgYXJlIG5vdCBvZmZpY2lhbGx5IGRvY3VtZW50ZWQgYW5kIG1heSBjaGFuZ2UgYXQgYW55IHRpbWUgd2l0aG91dCBwdWJsaWNhdGlvbiBpbiByZWxlYXNlIGNoYW5nZWxvZ3MuIFdlIHN0cm9uZ2x5IGFkdmljZSBub3QgdG8gcmVseSBvbiBpbnRlcm5hbCBmaWVsZHMgYXMgcGFydCBvZiB5b3VyIHJlZ3VsYXIgb3BlcmF0aW9uIGFuZCB0byBpbnZlc3RpZ2F0ZSB0aGUgaW1wbGljYXRpb25zIG9mIGFueSBwbGFubmVkIGNoYW5nZXMgKmRpcmVjdGx5IGluIHRoZSBzb3VyY2UgY29kZSogb2YgeW91ciBjdXJyZW50IHZlcnNpb24gb2YgUGFyc2UgU2VydmVyLicsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIG1haW50ZW5hbmNlS2V5SXBzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BSU5URU5BTkNFX0tFWV9JUFMnLFxuICAgIGhlbHA6IFwiKE9wdGlvbmFsKSBSZXN0cmljdHMgdGhlIHVzZSBvZiBtYWludGVuYW5jZSBrZXkgcGVybWlzc2lvbnMgdG8gYSBsaXN0IG9mIElQIGFkZHJlc3NlcyBvciByYW5nZXMuPGJyPjxicj5UaGlzIG9wdGlvbiBhY2NlcHRzIGEgbGlzdCBvZiBzaW5nbGUgSVAgYWRkcmVzc2VzLCBmb3IgZXhhbXBsZSBgWycxMC4wLjAuMScsICcxMC4wLjAuMiddYC4gWW91IGNhbiBhbHNvIHVzZSBDSURSIG5vdGF0aW9uIHRvIHNwZWNpZnkgYW4gSVAgYWRkcmVzcyByYW5nZSwgZm9yIGV4YW1wbGUgYFsnMTAuMC4xLjAvMjQnXWAuPGJyPjxicj48Yj5TcGVjaWFsIHNjZW5hcmlvczo8L2I+PGJyPi0gU2V0dGluZyBhbiBlbXB0eSBhcnJheSBgW11gIG1lYW5zIHRoYXQgdGhlIG1haW50ZW5hbmNlIGtleSBjYW5ub3QgYmUgdXNlZCBldmVuIGluIFBhcnNlIFNlcnZlciBDbG91ZCBDb2RlLiBUaGlzIHZhbHVlIGNhbm5vdCBiZSBzZXQgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIGFzIHRoZXJlIGlzIG5vIHdheSB0byBwYXNzIGFuIGVtcHR5IGFycmF5IHRvIFBhcnNlIFNlcnZlciB2aWEgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuPGJyPi0gU2V0dGluZyBgWycwLjAuMC4wLzAnLCAnOjowJ11gIG1lYW5zIHRvIGFsbG93IGFueSBJUHY0IGFuZCBJUHY2IGFkZHJlc3MgdG8gdXNlIHRoZSBtYWludGVuYW5jZSBrZXkgYW5kIGVmZmVjdGl2ZWx5IGRpc2FibGVzIHRoZSBJUCBmaWx0ZXIuPGJyPjxicj48Yj5Db25zaWRlcmF0aW9uczo8L2I+PGJyPi0gSVB2NCBhbmQgSVB2NiBhZGRyZXNzZXMgYXJlIG5vdCBjb21wYXJlZCBhZ2FpbnN0IGVhY2ggb3RoZXIuIEVhY2ggSVAgdmVyc2lvbiAoSVB2NCBhbmQgSVB2NikgbmVlZHMgdG8gYmUgY29uc2lkZXJlZCBzZXBhcmF0ZWx5LiBGb3IgZXhhbXBsZSwgYFsnMC4wLjAuMC8wJ11gIGFsbG93cyBhbnkgSVB2NCBhZGRyZXNzIGFuZCBibG9ja3MgZXZlcnkgSVB2NiBhZGRyZXNzLiBDb252ZXJzZWx5LCBgWyc6OjAnXWAgYWxsb3dzIGFueSBJUHY2IGFkZHJlc3MgYW5kIGJsb2NrcyBldmVyeSBJUHY0IGFkZHJlc3MuPGJyPi0gS2VlcCBpbiBtaW5kIHRoYXQgdGhlIElQIHZlcnNpb24gaW4gdXNlIGRlcGVuZHMgb24gdGhlIG5ldHdvcmsgc3RhY2sgb2YgdGhlIGVudmlyb25tZW50IGluIHdoaWNoIFBhcnNlIFNlcnZlciBydW5zLiBBIGxvY2FsIGVudmlyb25tZW50IG1heSB1c2UgYSBkaWZmZXJlbnQgSVAgdmVyc2lvbiB0aGFuIGEgcmVtb3RlIGVudmlyb25tZW50LiBGb3IgZXhhbXBsZSwgaXQncyBwb3NzaWJsZSB0aGF0IGxvY2FsbHkgdGhlIHZhbHVlIGBbJzAuMC4wLjAvMCddYCBhbGxvd3MgdGhlIHJlcXVlc3QgSVAgYmVjYXVzZSB0aGUgZW52aXJvbm1lbnQgaXMgdXNpbmcgSVB2NCwgYnV0IHdoZW4gUGFyc2UgU2VydmVyIGlzIGRlcGxveWVkIHJlbW90ZWx5IHRoZSByZXF1ZXN0IElQIGlzIGJsb2NrZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGVudmlyb25tZW50IGlzIHVzaW5nIElQdjYuPGJyPi0gV2hlbiBzZXR0aW5nIHRoZSBvcHRpb24gdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRoZSBub3RhdGlvbiBpcyBhIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmcsIGZvciBleGFtcGxlIGBcXFwiMC4wLjAuMC8wLDo6MFxcXCJgLjxicj4tIElQdjYgem9uZSBpbmRpY2VzIChgJWAgc3VmZml4KSBhcmUgbm90IHN1cHBvcnRlZCwgZm9yIGV4YW1wbGUgYGZlODA6OjElZXRoMGAsIGBmZTgwOjoxJTFgIG9yIGA6OjElbG9gLjxicj48YnI+RGVmYXVsdHMgdG8gYFsnMTI3LjAuMC4xJywgJzo6MSddYCB3aGljaCBtZWFucyB0aGF0IG9ubHkgYGxvY2FsaG9zdGAsIHRoZSBzZXJ2ZXIgaW5zdGFuY2Ugb24gd2hpY2ggUGFyc2UgU2VydmVyIHJ1bnMsIGlzIGFsbG93ZWQgdG8gdXNlIHRoZSBtYWludGVuYW5jZSBrZXkuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFsnMTI3LjAuMC4xJywgJzo6MSddLFxuICB9LFxuICBtYXN0ZXJLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFTVEVSX0tFWScsXG4gICAgaGVscDogJ1lvdXIgUGFyc2UgTWFzdGVyIEtleScsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIG1hc3RlcktleUlwczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQVNURVJfS0VZX0lQUycsXG4gICAgaGVscDogXCIoT3B0aW9uYWwpIFJlc3RyaWN0cyB0aGUgdXNlIG9mIG1hc3RlciBrZXkgcGVybWlzc2lvbnMgdG8gYSBsaXN0IG9mIElQIGFkZHJlc3NlcyBvciByYW5nZXMuPGJyPjxicj5UaGlzIG9wdGlvbiBhY2NlcHRzIGEgbGlzdCBvZiBzaW5nbGUgSVAgYWRkcmVzc2VzLCBmb3IgZXhhbXBsZSBgWycxMC4wLjAuMScsICcxMC4wLjAuMiddYC4gWW91IGNhbiBhbHNvIHVzZSBDSURSIG5vdGF0aW9uIHRvIHNwZWNpZnkgYW4gSVAgYWRkcmVzcyByYW5nZSwgZm9yIGV4YW1wbGUgYFsnMTAuMC4xLjAvMjQnXWAuPGJyPjxicj48Yj5TcGVjaWFsIHNjZW5hcmlvczo8L2I+PGJyPi0gU2V0dGluZyBhbiBlbXB0eSBhcnJheSBgW11gIG1lYW5zIHRoYXQgdGhlIG1hc3RlciBrZXkgY2Fubm90IGJlIHVzZWQgZXZlbiBpbiBQYXJzZSBTZXJ2ZXIgQ2xvdWQgQ29kZS4gVGhpcyB2YWx1ZSBjYW5ub3QgYmUgc2V0IHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBhcyB0aGVyZSBpcyBubyB3YXkgdG8gcGFzcyBhbiBlbXB0eSBhcnJheSB0byBQYXJzZSBTZXJ2ZXIgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLjxicj4tIFNldHRpbmcgYFsnMC4wLjAuMC8wJywgJzo6MCddYCBtZWFucyB0byBhbGxvdyBhbnkgSVB2NCBhbmQgSVB2NiBhZGRyZXNzIHRvIHVzZSB0aGUgbWFzdGVyIGtleSBhbmQgZWZmZWN0aXZlbHkgZGlzYWJsZXMgdGhlIElQIGZpbHRlci48YnI+PGJyPjxiPkNvbnNpZGVyYXRpb25zOjwvYj48YnI+LSBJUHY0IGFuZCBJUHY2IGFkZHJlc3NlcyBhcmUgbm90IGNvbXBhcmVkIGFnYWluc3QgZWFjaCBvdGhlci4gRWFjaCBJUCB2ZXJzaW9uIChJUHY0IGFuZCBJUHY2KSBuZWVkcyB0byBiZSBjb25zaWRlcmVkIHNlcGFyYXRlbHkuIEZvciBleGFtcGxlLCBgWycwLjAuMC4wLzAnXWAgYWxsb3dzIGFueSBJUHY0IGFkZHJlc3MgYW5kIGJsb2NrcyBldmVyeSBJUHY2IGFkZHJlc3MuIENvbnZlcnNlbHksIGBbJzo6MCddYCBhbGxvd3MgYW55IElQdjYgYWRkcmVzcyBhbmQgYmxvY2tzIGV2ZXJ5IElQdjQgYWRkcmVzcy48YnI+LSBLZWVwIGluIG1pbmQgdGhhdCB0aGUgSVAgdmVyc2lvbiBpbiB1c2UgZGVwZW5kcyBvbiB0aGUgbmV0d29yayBzdGFjayBvZiB0aGUgZW52aXJvbm1lbnQgaW4gd2hpY2ggUGFyc2UgU2VydmVyIHJ1bnMuIEEgbG9jYWwgZW52aXJvbm1lbnQgbWF5IHVzZSBhIGRpZmZlcmVudCBJUCB2ZXJzaW9uIHRoYW4gYSByZW1vdGUgZW52aXJvbm1lbnQuIEZvciBleGFtcGxlLCBpdCdzIHBvc3NpYmxlIHRoYXQgbG9jYWxseSB0aGUgdmFsdWUgYFsnMC4wLjAuMC8wJ11gIGFsbG93cyB0aGUgcmVxdWVzdCBJUCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBpcyB1c2luZyBJUHY0LCBidXQgd2hlbiBQYXJzZSBTZXJ2ZXIgaXMgZGVwbG95ZWQgcmVtb3RlbHkgdGhlIHJlcXVlc3QgSVAgaXMgYmxvY2tlZCBiZWNhdXNlIHRoZSByZW1vdGUgZW52aXJvbm1lbnQgaXMgdXNpbmcgSVB2Ni48YnI+LSBXaGVuIHNldHRpbmcgdGhlIG9wdGlvbiB2aWEgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgdGhlIG5vdGF0aW9uIGlzIGEgY29tbWEtc2VwYXJhdGVkIHN0cmluZywgZm9yIGV4YW1wbGUgYFxcXCIwLjAuMC4wLzAsOjowXFxcImAuPGJyPi0gSVB2NiB6b25lIGluZGljZXMgKGAlYCBzdWZmaXgpIGFyZSBub3Qgc3VwcG9ydGVkLCBmb3IgZXhhbXBsZSBgZmU4MDo6MSVldGgwYCwgYGZlODA6OjElMWAgb3IgYDo6MSVsb2AuPGJyPjxicj5EZWZhdWx0cyB0byBgWycxMjcuMC4wLjEnLCAnOjoxJ11gIHdoaWNoIG1lYW5zIHRoYXQgb25seSBgbG9jYWxob3N0YCwgdGhlIHNlcnZlciBpbnN0YW5jZSBvbiB3aGljaCBQYXJzZSBTZXJ2ZXIgcnVucywgaXMgYWxsb3dlZCB0byB1c2UgdGhlIG1hc3RlciBrZXkuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFsnMTI3LjAuMC4xJywgJzo6MSddLFxuICB9LFxuICBtYXN0ZXJLZXlUdGw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFTVEVSX0tFWV9UVEwnLFxuICAgIGhlbHA6ICcoT3B0aW9uYWwpIFRoZSBkdXJhdGlvbiBpbiBzZWNvbmRzIGZvciB3aGljaCB0aGUgY3VycmVudCBgbWFzdGVyS2V5YCBpcyBiZWluZyB1c2VkIGJlZm9yZSBpdCBpcyByZXF1ZXN0ZWQgYWdhaW4gaWYgYG1hc3RlcktleWAgaXMgc2V0IHRvIGEgZnVuY3Rpb24uIElmIGBtYXN0ZXJLZXlgIGlzIG5vdCBzZXQgdG8gYSBmdW5jdGlvbiwgdGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdC4gRGVmYXVsdCBpcyBgMGAsIHdoaWNoIG1lYW5zIHRoZSBtYXN0ZXIga2V5IGlzIHJlcXVlc3RlZCBieSBpbnZva2luZyB0aGUgIGBtYXN0ZXJLZXlgIGZ1bmN0aW9uIGV2ZXJ5IHRpbWUgdGhlIG1hc3RlciBrZXkgaXMgdXNlZCBpbnRlcm5hbGx5IGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21hc3RlcktleVR0bCcpLFxuICB9LFxuICBtYXhMaW1pdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQVhfTElNSVQnLFxuICAgIGhlbHA6ICdNYXggdmFsdWUgZm9yIGxpbWl0IG9wdGlvbiBvbiBxdWVyaWVzLCBkZWZhdWx0cyB0byB1bmxpbWl0ZWQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heExpbWl0JyksXG4gIH0sXG4gIG1heExvZ0ZpbGVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BWF9MT0dfRklMRVMnLFxuICAgIGhlbHA6IFwiTWF4aW11bSBudW1iZXIgb2YgbG9ncyB0byBrZWVwLiBJZiBub3Qgc2V0LCBubyBsb2dzIHdpbGwgYmUgcmVtb3ZlZC4gVGhpcyBjYW4gYmUgYSBudW1iZXIgb2YgZmlsZXMgb3IgbnVtYmVyIG9mIGRheXMuIElmIHVzaW5nIGRheXMsIGFkZCAnZCcgYXMgdGhlIHN1ZmZpeC4gKGRlZmF1bHQ6IG51bGwpXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlck9yU3RyaW5nUGFyc2VyKCdtYXhMb2dGaWxlcycpLFxuICB9LFxuICBtYXhVcGxvYWRTaXplOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BWF9VUExPQURfU0laRScsXG4gICAgaGVscDogJ01heCBmaWxlIHNpemUgZm9yIHVwbG9hZHMsIGRlZmF1bHRzIHRvIDIwbWInLFxuICAgIGRlZmF1bHQ6ICcyMG1iJyxcbiAgfSxcbiAgbWlkZGxld2FyZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NSURETEVXQVJFJyxcbiAgICBoZWxwOiAnbWlkZGxld2FyZSBmb3IgZXhwcmVzcyBzZXJ2ZXIsIGNhbiBiZSBzdHJpbmcgb3IgZnVuY3Rpb24nLFxuICB9LFxuICBtb3VudEdyYXBoUUw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTU9VTlRfR1JBUEhRTCcsXG4gICAgaGVscDogJ01vdW50cyB0aGUgR3JhcGhRTCBlbmRwb2ludCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIG1vdW50UGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NT1VOVF9QQVRIJyxcbiAgICBoZWxwOiAnTW91bnQgcGF0aCBmb3IgdGhlIHNlcnZlciwgZGVmYXVsdHMgdG8gL3BhcnNlJyxcbiAgICBkZWZhdWx0OiAnL3BhcnNlJyxcbiAgfSxcbiAgbW91bnRQbGF5Z3JvdW5kOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01PVU5UX1BMQVlHUk9VTkQnLFxuICAgIGhlbHA6ICdEZXByZWNhdGVkLiBNb3VudHMgdGhlIEdyYXBoUUwgUGxheWdyb3VuZCB3aGljaCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi4gVGhlIHBsYXlncm91bmQgZXhwb3NlcyB0aGUgbWFzdGVyIGtleSBpbiB0aGUgYnJvd3Nlci4gVXNlIFBhcnNlIERhc2hib2FyZCBhcyBHcmFwaFFMIElERSBvciBjb25maWd1cmUgYSB0aGlyZC1wYXJ0eSBHcmFwaFFMIGNsaWVudCB3aXRoIGN1c3RvbSByZXF1ZXN0IGhlYWRlcnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgb2JqZWN0SWRTaXplOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX09CSkVDVF9JRF9TSVpFJyxcbiAgICBoZWxwOiBcIlNldHMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGluIGdlbmVyYXRlZCBvYmplY3QgaWQncywgZGVmYXVsdCAxMFwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ29iamVjdElkU2l6ZScpLFxuICAgIGRlZmF1bHQ6IDEwLFxuICB9LFxuICBwYWdlczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFUycsXG4gICAgaGVscDogJ1RoZSBvcHRpb25zIGZvciBwYWdlcyBzdWNoIGFzIHBhc3N3b3JkIHJlc2V0IGFuZCBlbWFpbCB2ZXJpZmljYXRpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdQYWdlc09wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBwYXNzd29yZFBvbGljeToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1knLFxuICAgIGhlbHA6ICdUaGUgcGFzc3dvcmQgcG9saWN5IGZvciBlbmZvcmNpbmcgcGFzc3dvcmQgcmVsYXRlZCBydWxlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ1Bhc3N3b3JkUG9saWN5T3B0aW9ucycsXG4gIH0sXG4gIHBsYXlncm91bmRQYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BMQVlHUk9VTkRfUEFUSCcsXG4gICAgaGVscDogJ0RlcHJlY2F0ZWQuIE1vdW50IHBhdGggZm9yIHRoZSBHcmFwaFFMIFBsYXlncm91bmQuIFRoZSBwbGF5Z3JvdW5kIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLicsXG4gICAgZGVmYXVsdDogJy9wbGF5Z3JvdW5kJyxcbiAgfSxcbiAgcG9ydDoge1xuICAgIGVudjogJ1BPUlQnLFxuICAgIGhlbHA6ICdUaGUgcG9ydCB0byBydW4gdGhlIFBhcnNlU2VydmVyLCBkZWZhdWx0cyB0byAxMzM3LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigncG9ydCcpLFxuICAgIGRlZmF1bHQ6IDEzMzcsXG4gIH0sXG4gIHByZXNlcnZlRmlsZU5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJFU0VSVkVfRklMRV9OQU1FJyxcbiAgICBoZWxwOiAnRW5hYmxlIChvciBkaXNhYmxlKSB0aGUgYWRkaXRpb24gb2YgYSB1bmlxdWUgaGFzaCB0byB0aGUgZmlsZSBuYW1lcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHByZXZlbnRMb2dpbldpdGhVbnZlcmlmaWVkRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJFVkVOVF9MT0dJTl9XSVRIX1VOVkVSSUZJRURfRU1BSUwnLFxuICAgIGhlbHA6IFwiU2V0IHRvIGB0cnVlYCB0byBwcmV2ZW50IGEgdXNlciBmcm9tIGxvZ2dpbmcgaW4gaWYgdGhlIGVtYWlsIGhhcyBub3QgeWV0IGJlZW4gdmVyaWZpZWQgYW5kIGVtYWlsIHZlcmlmaWNhdGlvbiBpcyByZXF1aXJlZC4gU3VwcG9ydHMgYSBmdW5jdGlvbiB3aXRoIGEgcmV0dXJuIHZhbHVlIG9mIGB0cnVlYCBvciBgZmFsc2VgIGZvciBjb25kaXRpb25hbCBwcmV2ZW50aW9uLiBUaGUgZnVuY3Rpb24gcmVjZWl2ZXMgYSByZXF1ZXN0IG9iamVjdCB0aGF0IGluY2x1ZGVzIGBjcmVhdGVkV2l0aGAgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgaW52b2NhdGlvbiBpcyBmb3IgYHNpZ251cGAgb3IgYGxvZ2luYCBhbmQgdGhlIHVzZWQgYXV0aCBwcm92aWRlci48YnI+PGJyPlRoZSBgY3JlYXRlZFdpdGhgIHZhbHVlcyBwZXIgc2NlbmFyaW86PHVsPjxsaT5QYXNzd29yZCBzaWdudXA6IGB7IGFjdGlvbjogJ3NpZ251cCcsIGF1dGhQcm92aWRlcjogJ3Bhc3N3b3JkJyB9YDwvbGk+PGxpPkF1dGggcHJvdmlkZXIgc2lnbnVwOiBgeyBhY3Rpb246ICdzaWdudXAnLCBhdXRoUHJvdmlkZXI6ICc8cHJvdmlkZXI+JyB9YDwvbGk+PGxpPlBhc3N3b3JkIGxvZ2luOiBgeyBhY3Rpb246ICdsb2dpbicsIGF1dGhQcm92aWRlcjogJ3Bhc3N3b3JkJyB9YDwvbGk+PGxpPkF1dGggcHJvdmlkZXIgbG9naW46IGZ1bmN0aW9uIG5vdCBpbnZva2VkOyBhdXRoIHByb3ZpZGVyIGxvZ2luIGJ5cGFzc2VzIGVtYWlsIHZlcmlmaWNhdGlvbjwvbGk+PC91bD5EZWZhdWx0IGlzIGBmYWxzZWAuPGJyPlJlcXVpcmVzIG9wdGlvbiBgdmVyaWZ5VXNlckVtYWlsczogdHJ1ZWAuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5PckZ1bmN0aW9uUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBwcmV2ZW50U2lnbnVwV2l0aFVudmVyaWZpZWRFbWFpbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QUkVWRU5UX1NJR05VUF9XSVRIX1VOVkVSSUZJRURfRU1BSUwnLFxuICAgIGhlbHA6IFwiSWYgc2V0IHRvIGB0cnVlYCBpdCBwcmV2ZW50cyBhIHVzZXIgZnJvbSBzaWduaW5nIHVwIGlmIHRoZSBlbWFpbCBoYXMgbm90IHlldCBiZWVuIHZlcmlmaWVkIGFuZCBlbWFpbCB2ZXJpZmljYXRpb24gaXMgcmVxdWlyZWQuIEluIHRoYXQgY2FzZSB0aGUgc2VydmVyIHJlc3BvbmRzIHRvIHRoZSBzaWduLXVwIHdpdGggSFRUUCBzdGF0dXMgNDAwIGFuZCBhIFBhcnNlIEVycm9yIDIwNSBgRU1BSUxfTk9UX0ZPVU5EYC4gSWYgc2V0IHRvIGBmYWxzZWAgdGhlIHNlcnZlciByZXNwb25kcyB3aXRoIEhUVFAgc3RhdHVzIDIwMCwgYW5kIGNsaWVudCBTREtzIHJldHVybiBhbiB1bmF1dGhlbnRpY2F0ZWQgUGFyc2UgVXNlciB3aXRob3V0IHNlc3Npb24gdG9rZW4uIEluIHRoYXQgY2FzZSBzdWJzZXF1ZW50IHJlcXVlc3RzIGZhaWwgdW50aWwgdGhlIHVzZXIncyBlbWFpbCBhZGRyZXNzIGlzIHZlcmlmaWVkLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLjxicj5SZXF1aXJlcyBvcHRpb24gYHZlcmlmeVVzZXJFbWFpbHM6IHRydWVgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBwcm90ZWN0ZWRGaWVsZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJPVEVDVEVEX0ZJRUxEUycsXG4gICAgaGVscDogJ1Byb3RlY3RlZCBmaWVsZHMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCB3aXRoIGV4dHJhIHNlY3VyaXR5IHdoZW4gZmV0Y2hpbmcgZGV0YWlscy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDoge1xuICAgICAgX1VzZXI6IHtcbiAgICAgICAgJyonOiBbJ2VtYWlsJ10sXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHB1YmxpY1NlcnZlclVSTDoge1xuICAgIGVudjogJ1BBUlNFX1BVQkxJQ19TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnT3B0aW9uYWwuIFRoZSBwdWJsaWMgVVJMIHRvIFBhcnNlIFNlcnZlci4gVGhpcyBVUkwgd2lsbCBiZSB1c2VkIHRvIHJlYWNoIFBhcnNlIFNlcnZlciBwdWJsaWNseSBmb3IgZmVhdHVyZXMgbGlrZSBwYXNzd29yZCByZXNldCBhbmQgZW1haWwgdmVyaWZpY2F0aW9uIGxpbmtzLiBUaGUgb3B0aW9uIGNhbiBiZSBzZXQgdG8gYSBzdHJpbmcgb3IgYSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBhc3luY2hyb25vdXNseSByZXNvbHZlZC4gVGhlIHJldHVybmVkIFVSTCBzdHJpbmcgbXVzdCBzdGFydCB3aXRoIGBodHRwOi8vYCBvciBgaHR0cHM6Ly9gLicsXG4gIH0sXG4gIHB1c2g6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFVTSCcsXG4gICAgaGVscDogJ0NvbmZpZ3VyYXRpb24gZm9yIHB1c2gsIGFzIHN0cmluZ2lmaWVkIEpTT04uIFNlZSBodHRwOi8vZG9jcy5wYXJzZXBsYXRmb3JtLm9yZy9wYXJzZS1zZXJ2ZXIvZ3VpZGUvI3B1c2gtbm90aWZpY2F0aW9ucycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmF0ZUxpbWl0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVQnLFxuICAgIGhlbHA6IFwiT3B0aW9ucyB0byBsaW1pdCByZXBlYXRlZCByZXF1ZXN0cyB0byBQYXJzZSBTZXJ2ZXIgQVBJcy4gVGhpcyBjYW4gYmUgdXNlZCB0byBwcm90ZWN0IHNlbnNpdGl2ZSBlbmRwb2ludHMgc3VjaCBhcyBgL3JlcXVlc3RQYXNzd29yZFJlc2V0YCBmcm9tIGJydXRlLWZvcmNlIGF0dGFja3Mgb3IgUGFyc2UgU2VydmVyIGFzIGEgd2hvbGUgZnJvbSBkZW5pYWwtb2Ytc2VydmljZSAoRG9TKSBhdHRhY2tzLjxicj48YnI+XFx1MjEzOVxcdUZFMEYgTWluZCB0aGUgZm9sbG93aW5nIGxpbWl0YXRpb25zOjxicj4tIHJhdGUgbGltaXRzIGFwcGxpZWQgcGVyIElQIGFkZHJlc3M7IHRoaXMgbGltaXRzIHByb3RlY3Rpb24gYWdhaW5zdCBkaXN0cmlidXRlZCBkZW5pYWwtb2Ytc2VydmljZSAoRERvUykgYXR0YWNrcyB3aGVyZSBtYW55IHJlcXVlc3RzIGFyZSBjb21pbmcgZnJvbSB2YXJpb3VzIElQIGFkZHJlc3Nlczxicj4tIGlmIG11bHRpcGxlIFBhcnNlIFNlcnZlciBpbnN0YW5jZXMgYXJlIGJlaGluZCBhIGxvYWQgYmFsYW5jZXIgb3IgcmFuIGluIGEgY2x1c3RlciwgZWFjaCBpbnN0YW5jZSB3aWxsIGNhbGN1bGF0ZSBpdCdzIG93biByZXF1ZXN0IHJhdGVzLCBpbmRlcGVuZGVudCBmcm9tIG90aGVyIGluc3RhbmNlczsgdGhpcyBsaW1pdHMgdGhlIGFwcGxpY2FiaWxpdHkgb2YgdGhpcyBmZWF0dXJlIHdoZW4gdXNpbmcgYSBsb2FkIGJhbGFuY2VyIGFuZCBhbm90aGVyIHJhdGUgbGltaXRpbmcgc29sdXRpb24gdGhhdCB0YWtlcyByZXF1ZXN0cyBhY3Jvc3MgYWxsIGluc3RhbmNlcyBpbnRvIGFjY291bnQgbWF5IGJlIG1vcmUgc3VpdGFibGU8YnI+LSB0aGlzIGZlYXR1cmUgcHJvdmlkZXMgYmFzaWMgcHJvdGVjdGlvbiBhZ2FpbnN0IGRlbmlhbC1vZi1zZXJ2aWNlIGF0dGFja3MsIGJ1dCBhIG1vcmUgc29waGlzdGljYXRlZCBzb2x1dGlvbiB3b3JrcyBlYXJsaWVyIGluIHRoZSByZXF1ZXN0IGZsb3cgYW5kIHByZXZlbnRzIGEgbWFsaWNpb3VzIHJlcXVlc3RzIHRvIGV2ZW4gcmVhY2ggYSBzZXJ2ZXIgaW5zdGFuY2U7IGl0J3MgdGhlcmVmb3JlIHJlY29tbWVuZGVkIHRvIGltcGxlbWVudCBhIHNvbHV0aW9uIGFjY29yZGluZyB0byBhcmNoaXRlY3R1cmUgYW5kIHVzZXIgY2FzZS5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgdHlwZTogJ1JhdGVMaW1pdE9wdGlvbnNbXScsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIHJlYWRPbmx5TWFzdGVyS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFQURfT05MWV9NQVNURVJfS0VZJyxcbiAgICBoZWxwOiAnUmVhZC1vbmx5IGtleSwgd2hpY2ggaGFzIHRoZSBzYW1lIGNhcGFiaWxpdGllcyBhcyBNYXN0ZXJLZXkgd2l0aG91dCB3cml0ZXMnLFxuICB9LFxuICByZWFkT25seU1hc3RlcktleUlwczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRUFEX09OTFlfTUFTVEVSX0tFWV9JUFMnLFxuICAgIGhlbHA6IFwiKE9wdGlvbmFsKSBSZXN0cmljdHMgdGhlIHVzZSBvZiByZWFkLW9ubHkgbWFzdGVyIGtleSBwZXJtaXNzaW9ucyB0byBhIGxpc3Qgb2YgSVAgYWRkcmVzc2VzIG9yIHJhbmdlcy48YnI+PGJyPlRoaXMgb3B0aW9uIGFjY2VwdHMgYSBsaXN0IG9mIHNpbmdsZSBJUCBhZGRyZXNzZXMsIGZvciBleGFtcGxlIGBbJzEwLjAuMC4xJywgJzEwLjAuMC4yJ11gLiBZb3UgY2FuIGFsc28gdXNlIENJRFIgbm90YXRpb24gdG8gc3BlY2lmeSBhbiBJUCBhZGRyZXNzIHJhbmdlLCBmb3IgZXhhbXBsZSBgWycxMC4wLjEuMC8yNCddYC48YnI+PGJyPjxiPlNwZWNpYWwgc2NlbmFyaW9zOjwvYj48YnI+LSBTZXR0aW5nIGFuIGVtcHR5IGFycmF5IGBbXWAgbWVhbnMgdGhhdCB0aGUgcmVhZC1vbmx5IG1hc3RlciBrZXkgY2Fubm90IGJlIHVzZWQgZXZlbiBpbiBQYXJzZSBTZXJ2ZXIgQ2xvdWQgQ29kZS4gVGhpcyB2YWx1ZSBjYW5ub3QgYmUgc2V0IHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBhcyB0aGVyZSBpcyBubyB3YXkgdG8gcGFzcyBhbiBlbXB0eSBhcnJheSB0byBQYXJzZSBTZXJ2ZXIgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLjxicj4tIFNldHRpbmcgYFsnMC4wLjAuMC8wJywgJzo6MCddYCBtZWFucyB0byBhbGxvdyBhbnkgSVB2NCBhbmQgSVB2NiBhZGRyZXNzIHRvIHVzZSB0aGUgcmVhZC1vbmx5IG1hc3RlciBrZXkgYW5kIGVmZmVjdGl2ZWx5IGRpc2FibGVzIHRoZSBJUCBmaWx0ZXIuPGJyPjxicj48Yj5Db25zaWRlcmF0aW9uczo8L2I+PGJyPi0gSVB2NCBhbmQgSVB2NiBhZGRyZXNzZXMgYXJlIG5vdCBjb21wYXJlZCBhZ2FpbnN0IGVhY2ggb3RoZXIuIEVhY2ggSVAgdmVyc2lvbiAoSVB2NCBhbmQgSVB2NikgbmVlZHMgdG8gYmUgY29uc2lkZXJlZCBzZXBhcmF0ZWx5LiBGb3IgZXhhbXBsZSwgYFsnMC4wLjAuMC8wJ11gIGFsbG93cyBhbnkgSVB2NCBhZGRyZXNzIGFuZCBibG9ja3MgZXZlcnkgSVB2NiBhZGRyZXNzLiBDb252ZXJzZWx5LCBgWyc6OjAnXWAgYWxsb3dzIGFueSBJUHY2IGFkZHJlc3MgYW5kIGJsb2NrcyBldmVyeSBJUHY0IGFkZHJlc3MuPGJyPi0gS2VlcCBpbiBtaW5kIHRoYXQgdGhlIElQIHZlcnNpb24gaW4gdXNlIGRlcGVuZHMgb24gdGhlIG5ldHdvcmsgc3RhY2sgb2YgdGhlIGVudmlyb25tZW50IGluIHdoaWNoIFBhcnNlIFNlcnZlciBydW5zLiBBIGxvY2FsIGVudmlyb25tZW50IG1heSB1c2UgYSBkaWZmZXJlbnQgSVAgdmVyc2lvbiB0aGFuIGEgcmVtb3RlIGVudmlyb25tZW50LiBGb3IgZXhhbXBsZSwgaXQncyBwb3NzaWJsZSB0aGF0IGxvY2FsbHkgdGhlIHZhbHVlIGBbJzAuMC4wLjAvMCddYCBhbGxvd3MgdGhlIHJlcXVlc3QgSVAgYmVjYXVzZSB0aGUgZW52aXJvbm1lbnQgaXMgdXNpbmcgSVB2NCwgYnV0IHdoZW4gUGFyc2UgU2VydmVyIGlzIGRlcGxveWVkIHJlbW90ZWx5IHRoZSByZXF1ZXN0IElQIGlzIGJsb2NrZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGVudmlyb25tZW50IGlzIHVzaW5nIElQdjYuPGJyPi0gV2hlbiBzZXR0aW5nIHRoZSBvcHRpb24gdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRoZSBub3RhdGlvbiBpcyBhIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmcsIGZvciBleGFtcGxlIGBcXFwiMC4wLjAuMC8wLDo6MFxcXCJgLjxicj4tIElQdjYgem9uZSBpbmRpY2VzIChgJWAgc3VmZml4KSBhcmUgbm90IHN1cHBvcnRlZCwgZm9yIGV4YW1wbGUgYGZlODA6OjElZXRoMGAsIGBmZTgwOjoxJTFgIG9yIGA6OjElbG9gLjxicj48YnI+RGVmYXVsdHMgdG8gYFsnMC4wLjAuMC8wJywgJzo6MCddYCB3aGljaCBtZWFucyB0aGF0IGFueSBJUCBhZGRyZXNzIGlzIGFsbG93ZWQgdG8gdXNlIHRoZSByZWFkLW9ubHkgbWFzdGVyIGtleS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gc2V0IHRoaXMgb3B0aW9uIHRvIGBbJzEyNy4wLjAuMScsICc6OjEnXWAgdG8gcmVzdHJpY3QgYWNjZXNzIHRvIGBsb2NhbGhvc3RgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbJzAuMC4wLjAvMCcsICc6OjAnXSxcbiAgfSxcbiAgcmVxdWVzdENvbXBsZXhpdHk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZJyxcbiAgICBoZWxwOiAnT3B0aW9ucyB0byBsaW1pdCB0aGUgY29tcGxleGl0eSBvZiByZXF1ZXN0cyB0byBwcmV2ZW50IGRlbmlhbC1vZi1zZXJ2aWNlIGF0dGFja3MuIExpbWl0cyBhcmUgZW5mb3JjZWQgZm9yIGFsbCByZXF1ZXN0cyBleGNlcHQgdGhvc2UgdXNpbmcgdGhlIG1hc3RlciBvciBtYWludGVuYW5jZSBrZXkuIEVhY2ggcHJvcGVydHkgY2FuIGJlIHNldCB0byBgLTFgIHRvIGRpc2FibGUgdGhhdCBzcGVjaWZpYyBsaW1pdC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ1JlcXVlc3RDb21wbGV4aXR5T3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIHJlcXVlc3RDb250ZXh0TWlkZGxld2FyZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTlRFWFRfTUlERExFV0FSRScsXG4gICAgaGVscDogJ09wdGlvbnMgdG8gY3VzdG9taXplIHRoZSByZXF1ZXN0IGNvbnRleHQgdXNpbmcgaW52ZXJzaW9uIG9mIGNvbnRyb2wvZGVwZW5kZW5jeSBpbmplY3Rpb24uJyxcbiAgfSxcbiAgcmVxdWVzdEtleXdvcmREZW55bGlzdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0tFWVdPUkRfREVOWUxJU1QnLFxuICAgIGhlbHA6ICdBbiBhcnJheSBvZiBrZXlzIGFuZCB2YWx1ZXMgdGhhdCBhcmUgcHJvaGliaXRlZCBpbiBkYXRhYmFzZSByZWFkIGFuZCB3cml0ZSByZXF1ZXN0cyB0byBwcmV2ZW50IHBvdGVudGlhbCBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMuIEl0IGlzIHBvc3NpYmxlIHRvIHNwZWNpZnkgb25seSBhIGtleSAoYHtcImtleVwiOlwiLi4uXCJ9YCksIG9ubHkgYSB2YWx1ZSAoYHtcInZhbHVlXCI6XCIuLi5cIn1gKSBvciBhIGtleS12YWx1ZSBwYWlyIChge1wia2V5XCI6XCIuLi5cIixcInZhbHVlXCI6XCIuLi5cIn1gKS4gVGhlIHNwZWNpZmljYXRpb24gY2FuIHVzZSB0aGUgZm9sbG93aW5nIHR5cGVzOiBgYm9vbGVhbmAsIGBudW1lcmljYCBvciBgc3RyaW5nYCwgd2hlcmUgYHN0cmluZ2Agd2lsbCBiZSBpbnRlcnByZXRlZCBhcyBhIHJlZ2V4IG5vdGF0aW9uLiBSZXF1ZXN0IGRhdGEgaXMgZGVlcC1zY2FubmVkIGZvciBtYXRjaGluZyBkZWZpbml0aW9ucyB0byBkZXRlY3QgYWxzbyBhbnkgbmVzdGVkIG9jY3VycmVuY2VzLiBEZWZhdWx0cyBhcmUgcGF0dGVybnMgdGhhdCBhcmUgbGlrZWx5IHRvIGJlIHVzZWQgaW4gbWFsaWNpb3VzIHJlcXVlc3RzLiBTZXR0aW5nIHRoaXMgb3B0aW9uIHdpbGwgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcGF0dGVybnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgZGVmYXVsdDogW1xuICAgICAge1xuICAgICAgICBrZXk6ICdfYnNvbnR5cGUnLFxuICAgICAgICB2YWx1ZTogJ0NvZGUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnY29uc3RydWN0b3InLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnX19wcm90b19fJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgcmVzdEFQSUtleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVNUX0FQSV9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIFJFU1QgY2FsbHMnLFxuICB9LFxuICByZXZva2VTZXNzaW9uT25QYXNzd29yZFJlc2V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFVk9LRV9TRVNTSU9OX09OX1BBU1NXT1JEX1JFU0VUJyxcbiAgICBoZWxwOiBcIldoZW4gYSB1c2VyIGNoYW5nZXMgdGhlaXIgcGFzc3dvcmQsIGVpdGhlciB0aHJvdWdoIHRoZSByZXNldCBwYXNzd29yZCBlbWFpbCBvciB3aGlsZSBsb2dnZWQgaW4sIGFsbCBzZXNzaW9ucyBhcmUgcmV2b2tlZCBpZiB0aGlzIGlzIHRydWUuIFNldCB0byBmYWxzZSBpZiB5b3UgZG9uJ3Qgd2FudCB0byByZXZva2Ugc2Vzc2lvbnMuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgc2NoZWR1bGVkUHVzaDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TQ0hFRFVMRURfUFVTSCcsXG4gICAgaGVscDogJ0NvbmZpZ3VyYXRpb24gZm9yIHB1c2ggc2NoZWR1bGluZywgZGVmYXVsdHMgdG8gZmFsc2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgc2NoZW1hOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQScsXG4gICAgaGVscDogJ0RlZmluZWQgc2NoZW1hJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdTY2hlbWFPcHRpb25zJyxcbiAgfSxcbiAgc2VjdXJpdHk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VDVVJJVFknLFxuICAgIGhlbHA6ICdUaGUgc2VjdXJpdHkgb3B0aW9ucyB0byBpZGVudGlmeSBhbmQgcmVwb3J0IHdlYWsgc2VjdXJpdHkgc2V0dGluZ3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdTZWN1cml0eU9wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBzZW5kVXNlckVtYWlsVmVyaWZpY2F0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFTkRfVVNFUl9FTUFJTF9WRVJJRklDQVRJT04nLFxuICAgIGhlbHA6ICdTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHNlbmRpbmcgb2YgdmVyaWZpY2F0aW9uIGVtYWlsLiBTdXBwb3J0cyBhIGZ1bmN0aW9uIHdpdGggYSByZXR1cm4gdmFsdWUgb2YgYHRydWVgIG9yIGBmYWxzZWAgZm9yIGNvbmRpdGlvbmFsIGVtYWlsIHNlbmRpbmcuPGJyPjxicj5EZWZhdWx0IGlzIGB0cnVlYC48YnI+JyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhbk9yRnVuY3Rpb25QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgc2VydmVyQ2xvc2VDb21wbGV0ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRVJWRVJfQ0xPU0VfQ09NUExFVEUnLFxuICAgIGhlbHA6ICdDYWxsYmFjayB3aGVuIHNlcnZlciBoYXMgY2xvc2VkJyxcbiAgfSxcbiAgc2VydmVyVVJMOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1VSTCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gUGFyc2UgU2VydmVyLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgQ2VydGFpbiBzZXJ2ZXIgZmVhdHVyZXMgb3IgYWRhcHRlcnMgbWF5IHJlcXVpcmUgUGFyc2UgU2VydmVyIHRvIGJlIGFibGUgdG8gY2FsbCBpdHNlbGYgYnkgbWFraW5nIHJlcXVlc3RzIHRvIHRoZSBVUkwgc2V0IGluIGBzZXJ2ZXJVUkxgLiBJZiBhIGZlYXR1cmUgcmVxdWlyZXMgdGhpcywgaXQgaXMgbWVudGlvbmVkIGluIHRoZSBkb2N1bWVudGF0aW9uLiBJbiB0aGF0IGNhc2UgZW5zdXJlIHRoYXQgdGhlIFVSTCBpcyBhY2Nlc3NpYmxlIGZyb20gdGhlIHNlcnZlciBpdHNlbGYuJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgc2Vzc2lvbkxlbmd0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRVNTSU9OX0xFTkdUSCcsXG4gICAgaGVscDogJ1Nlc3Npb24gZHVyYXRpb24sIGluIHNlY29uZHMsIGRlZmF1bHRzIHRvIDEgeWVhcicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc2Vzc2lvbkxlbmd0aCcpLFxuICAgIGRlZmF1bHQ6IDMxNTM2MDAwLFxuICB9LFxuICBzaWxlbnQ6IHtcbiAgICBlbnY6ICdTSUxFTlQnLFxuICAgIGhlbHA6ICdEaXNhYmxlcyBjb25zb2xlIG91dHB1dCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHN0YXJ0TGl2ZVF1ZXJ5U2VydmVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NUQVJUX0xJVkVfUVVFUllfU0VSVkVSJyxcbiAgICBoZWxwOiAnU3RhcnRzIHRoZSBsaXZlUXVlcnkgc2VydmVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdHJ1c3RQcm94eToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9UUlVTVF9QUk9YWScsXG4gICAgaGVscDogJ1RoZSB0cnVzdCBwcm94eSBzZXR0aW5ncy4gSXQgaXMgaW1wb3J0YW50IHRvIHVuZGVyc3RhbmQgdGhlIGV4YWN0IHNldHVwIG9mIHRoZSByZXZlcnNlIHByb3h5LCBzaW5jZSB0aGlzIHNldHRpbmcgd2lsbCB0cnVzdCB2YWx1ZXMgcHJvdmlkZWQgaW4gdGhlIFBhcnNlIFNlcnZlciBBUEkgcmVxdWVzdC4gU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly9leHByZXNzanMuY29tL2VuL2d1aWRlL2JlaGluZC1wcm94aWVzLmh0bWxcIj5leHByZXNzIHRydXN0IHByb3h5IHNldHRpbmdzPC9hPiBkb2N1bWVudGF0aW9uLiBEZWZhdWx0cyB0byBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiBbXSxcbiAgfSxcbiAgdXNlclNlbnNpdGl2ZUZpZWxkczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9VU0VSX1NFTlNJVElWRV9GSUVMRFMnLFxuICAgIGhlbHA6ICdQZXJzb25hbGx5IGlkZW50aWZpYWJsZSBpbmZvcm1hdGlvbiBmaWVsZHMgaW4gdGhlIHVzZXIgdGFibGUgdGhlIHNob3VsZCBiZSByZW1vdmVkIGZvciBub24tYXV0aG9yaXplZCB1c2Vycy4gRGVwcmVjYXRlZCBAc2VlIHByb3RlY3RlZEZpZWxkcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICB2ZXJib3NlOiB7XG4gICAgZW52OiAnVkVSQk9TRScsXG4gICAgaGVscDogJ1NldCB0aGUgbG9nZ2luZyB0byB2ZXJib3NlJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdmVyaWZ5U2VydmVyVXJsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1ZFUklGWV9TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnUGFyc2UgU2VydmVyIG1ha2VzIGEgSFRUUCByZXF1ZXN0IHRvIHRoZSBVUkwgc2V0IGluIGBzZXJ2ZXJVUkxgIGF0IHRoZSBlbmQgb2YgaXRzIGxhdW5jaCByb3V0aW5lIHRvIHZlcmlmeSB0aGF0IHRoZSBsYXVuY2ggc3VjY2VlZGVkLiBJZiB0aGlzIG9wdGlvbiBpcyBzZXQgdG8gYGZhbHNlYCwgdGhlIHZlcmlmaWNhdGlvbiB3aWxsIGJlIHNraXBwZWQuIFRoaXMgY2FuIGJlIHVzZWZ1bCBpbiBlbnZpcm9ubWVudHMgd2hlcmUgdGhlIHNlcnZlciBVUkwgaXMgbm90IGFjY2Vzc2libGUgZnJvbSB0aGUgc2VydmVyIGl0c2VsZiwgc3VjaCBhcyB3aGVuIHJ1bm5pbmcgYmVoaW5kIGEgZmlyZXdhbGwgb3IgaW4gY2VydGFpbiBjb250YWluZXJpemVkIGVudmlyb25tZW50cy48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIFNlcnZlciBVUkwgdmVyaWZpY2F0aW9uIHJlcXVpcmVzIFBhcnNlIFNlcnZlciB0byBiZSBhYmxlIHRvIGNhbGwgaXRzZWxmIGJ5IG1ha2luZyByZXF1ZXN0cyB0byB0aGUgVVJMIHNldCBpbiBgc2VydmVyVVJMYC48YnI+PGJyPkRlZmF1bHQgaXMgYHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgdmVyaWZ5VXNlckVtYWlsczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9WRVJJRllfVVNFUl9FTUFJTFMnLFxuICAgIGhlbHA6IFwiU2V0IHRvIGB0cnVlYCB0byByZXF1aXJlIHVzZXJzIHRvIHZlcmlmeSB0aGVpciBlbWFpbCBhZGRyZXNzIHRvIGNvbXBsZXRlIHRoZSBzaWduLXVwIHByb2Nlc3MuIFN1cHBvcnRzIGEgZnVuY3Rpb24gd2l0aCBhIHJldHVybiB2YWx1ZSBvZiBgdHJ1ZWAgb3IgYGZhbHNlYCBmb3IgY29uZGl0aW9uYWwgdmVyaWZpY2F0aW9uLiBUaGUgZnVuY3Rpb24gcmVjZWl2ZXMgYSByZXF1ZXN0IG9iamVjdCB0aGF0IGluY2x1ZGVzIGBjcmVhdGVkV2l0aGAgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgaW52b2NhdGlvbiBpcyBmb3IgYHNpZ251cGAgb3IgYGxvZ2luYCBhbmQgdGhlIHVzZWQgYXV0aCBwcm92aWRlci48YnI+PGJyPlRoZSBgY3JlYXRlZFdpdGhgIHZhbHVlcyBwZXIgc2NlbmFyaW86PHVsPjxsaT5QYXNzd29yZCBzaWdudXA6IGB7IGFjdGlvbjogJ3NpZ251cCcsIGF1dGhQcm92aWRlcjogJ3Bhc3N3b3JkJyB9YDwvbGk+PGxpPkF1dGggcHJvdmlkZXIgc2lnbnVwOiBgeyBhY3Rpb246ICdzaWdudXAnLCBhdXRoUHJvdmlkZXI6ICc8cHJvdmlkZXI+JyB9YDwvbGk+PGxpPlBhc3N3b3JkIGxvZ2luOiBgeyBhY3Rpb246ICdsb2dpbicsIGF1dGhQcm92aWRlcjogJ3Bhc3N3b3JkJyB9YDwvbGk+PGxpPkF1dGggcHJvdmlkZXIgbG9naW46IGZ1bmN0aW9uIG5vdCBpbnZva2VkOyBhdXRoIHByb3ZpZGVyIGxvZ2luIGJ5cGFzc2VzIGVtYWlsIHZlcmlmaWNhdGlvbjwvbGk+PGxpPlJlc2VuZCB2ZXJpZmljYXRpb24gZW1haWw6IGBjcmVhdGVkV2l0aGAgaXMgYHVuZGVmaW5lZGA7IHVzZSB0aGUgYHJlc2VuZFJlcXVlc3RgIHByb3BlcnR5IHRvIGlkZW50aWZ5IHRob3NlPC9saT48L3VsPkRlZmF1bHQgaXMgYGZhbHNlYC5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhbk9yRnVuY3Rpb25QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHdlYmhvb2tLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfV0VCSE9PS19LRVknLFxuICAgIGhlbHA6ICdLZXkgc2VudCB3aXRoIG91dGdvaW5nIHdlYmhvb2sgY2FsbHMnLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlJhdGVMaW1pdE9wdGlvbnMgPSB7XG4gIGVycm9yUmVzcG9uc2VNZXNzYWdlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVRfRVJST1JfUkVTUE9OU0VfTUVTU0FHRScsXG4gICAgaGVscDogJ1RoZSBlcnJvciBtZXNzYWdlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkIGluIHRoZSBib2R5IG9mIHRoZSBIVFRQIDQyOSByZXNwb25zZSB3aGVuIHRoZSByYXRlIGxpbWl0IGlzIGhpdC4gRGVmYXVsdCBpcyBgVG9vIG1hbnkgcmVxdWVzdHMuYC4nLFxuICAgIGRlZmF1bHQ6ICdUb28gbWFueSByZXF1ZXN0cy4nLFxuICB9LFxuICBpbmNsdWRlSW50ZXJuYWxSZXF1ZXN0czoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX0lOQ0xVREVfSU5URVJOQUxfUkVRVUVTVFMnLFxuICAgIGhlbHA6ICdPcHRpb25hbCwgaWYgYHRydWVgIHRoZSByYXRlIGxpbWl0IHdpbGwgYWxzbyBhcHBseSB0byByZXF1ZXN0cyB0aGF0IGFyZSBtYWRlIGluIGJ5IENsb3VkIENvZGUsIGRlZmF1bHQgaXMgYGZhbHNlYC4gTm90ZSB0aGF0IGEgcHVibGljIENsb3VkIENvZGUgZnVuY3Rpb24gdGhhdCB0cmlnZ2VycyBpbnRlcm5hbCByZXF1ZXN0cyBtYXkgY2lyY3VtdmVudCByYXRlIGxpbWl0aW5nIGFuZCBiZSB2dWxuZXJhYmxlIHRvIGF0dGFja3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgaW5jbHVkZU1hc3RlcktleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX0lOQ0xVREVfTUFTVEVSX0tFWScsXG4gICAgaGVscDogJ09wdGlvbmFsLCBpZiBgdHJ1ZWAgdGhlIHJhdGUgbGltaXQgd2lsbCBhbHNvIGFwcGx5IHRvIHJlcXVlc3RzIHVzaW5nIHRoZSBgbWFzdGVyS2V5YCwgZGVmYXVsdCBpcyBgZmFsc2VgLiBOb3RlIHRoYXQgYSBwdWJsaWMgQ2xvdWQgQ29kZSBmdW5jdGlvbiB0aGF0IHRyaWdnZXJzIGludGVybmFsIHJlcXVlc3RzIHVzaW5nIHRoZSBgbWFzdGVyS2V5YCBtYXkgY2lyY3VtdmVudCByYXRlIGxpbWl0aW5nIGFuZCBiZSB2dWxuZXJhYmxlIHRvIGF0dGFja3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcmVkaXNVcmw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9SRURJU19VUkwnLFxuICAgIGhlbHA6ICdPcHRpb25hbCwgdGhlIFVSTCBvZiB0aGUgUmVkaXMgc2VydmVyIHRvIHN0b3JlIHJhdGUgbGltaXQgZGF0YS4gVGhpcyBhbGxvd3MgdG8gcmF0ZSBsaW1pdCByZXF1ZXN0cyBmb3IgbXVsdGlwbGUgc2VydmVycyBieSBjYWxjdWxhdGluZyB0aGUgc3VtIG9mIGFsbCByZXF1ZXN0cyBhY3Jvc3MgYWxsIHNlcnZlcnMuIFRoaXMgaXMgdXNlZnVsIGlmIG11bHRpcGxlIHNlcnZlcnMgYXJlIHByb2Nlc3NpbmcgcmVxdWVzdHMgYmVoaW5kIGEgbG9hZCBiYWxhbmNlci4gRm9yIGV4YW1wbGUsIHRoZSBsaW1pdCBvZiAxMCByZXF1ZXN0cyBpcyByZWFjaGVkIGlmIGVhY2ggb2YgMiBzZXJ2ZXJzIHByb2Nlc3NlZCA1IHJlcXVlc3RzLicsXG4gIH0sXG4gIHJlcXVlc3RDb3VudDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFUVVFU1RfQ09VTlQnLFxuICAgIGhlbHA6ICdUaGUgbnVtYmVyIG9mIHJlcXVlc3RzIHRoYXQgY2FuIGJlIG1hZGUgcGVyIElQIGFkZHJlc3Mgd2l0aGluIHRoZSB0aW1lIHdpbmRvdyBzZXQgaW4gYHJlcXVlc3RUaW1lV2luZG93YCBiZWZvcmUgdGhlIHJhdGUgbGltaXQgaXMgYXBwbGllZC4gRm9yIGJhdGNoIHJlcXVlc3RzLCB0aGlzIGFsc28gbGltaXRzIHRoZSBudW1iZXIgb2Ygc3ViLXJlcXVlc3RzIGluIGEgc2luZ2xlIGJhdGNoIHRoYXQgdGFyZ2V0IHRoaXMgcGF0aDsgaG93ZXZlciwgcmVxdWVzdHMgYWxyZWFkeSBjb25zdW1lZCBpbiB0aGUgY3VycmVudCB0aW1lIHdpbmRvdyBhcmUgbm90IGNvdW50ZWQgYWdhaW5zdCB0aGUgYmF0Y2gsIHNvIHRoZSBlZmZlY3RpdmUgbGltaXQgbWF5IGJlIGhpZ2hlciB3aGVuIGNvbWJpbmluZyBpbmRpdmlkdWFsIGFuZCBiYXRjaCByZXF1ZXN0cy4gTm90ZSB0aGF0IHRoaXMgaXMgYSBiYXNpYyBzZXJ2ZXItbGV2ZWwgcmF0ZSBsaW1pdDsgZm9yIGNvbXByZWhlbnNpdmUgcHJvdGVjdGlvbiwgdXNlIGEgcmV2ZXJzZSBwcm94eSBvciBXQUYgZm9yIHJhdGUgbGltaXRpbmcuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdyZXF1ZXN0Q291bnQnKSxcbiAgfSxcbiAgcmVxdWVzdE1ldGhvZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9SRVFVRVNUX01FVEhPRFMnLFxuICAgIGhlbHA6ICdPcHRpb25hbCwgdGhlIEhUVFAgcmVxdWVzdCBtZXRob2RzIHRvIHdoaWNoIHRoZSByYXRlIGxpbWl0IHNob3VsZCBiZSBhcHBsaWVkLCBkZWZhdWx0IGlzIGFsbCBtZXRob2RzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICByZXF1ZXN0UGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFUVVFU1RfUEFUSCcsXG4gICAgaGVscDogJ1RoZSBwYXRoIG9mIHRoZSBBUEkgcm91dGUgdG8gYmUgcmF0ZSBsaW1pdGVkLiBSb3V0ZSBwYXRocywgaW4gY29tYmluYXRpb24gd2l0aCBhIHJlcXVlc3QgbWV0aG9kLCBkZWZpbmUgdGhlIGVuZHBvaW50cyBhdCB3aGljaCByZXF1ZXN0cyBjYW4gYmUgbWFkZS4gUm91dGUgcGF0aHMgY2FuIGJlIHN0cmluZ3Mgb3Igc3RyaW5nIHBhdHRlcm5zIGZvbGxvd2luZyA8YSBocmVmPVwiaHR0cHM6Ly9naXRodWIuY29tL3BpbGxhcmpzL3BhdGgtdG8tcmVnZXhwXCI+cGF0aC10by1yZWdleHAgdjg8L2E+IHN5bnRheC4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICByZXF1ZXN0VGltZVdpbmRvdzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFUVVFU1RfVElNRV9XSU5ET1cnLFxuICAgIGhlbHA6ICdUaGUgd2luZG93IG9mIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHdpdGhpbiB3aGljaCB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIHNldCBpbiBgcmVxdWVzdENvdW50YCBjYW4gYmUgbWFkZSBiZWZvcmUgdGhlIHJhdGUgbGltaXQgaXMgYXBwbGllZC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3JlcXVlc3RUaW1lV2luZG93JyksXG4gIH0sXG4gIHpvbmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9aT05FJyxcbiAgICBoZWxwOiAnVGhlIHR5cGUgb2YgcmF0ZSBsaW1pdCB0byBhcHBseS4gVGhlIGZvbGxvd2luZyB0eXBlcyBhcmUgc3VwcG9ydGVkOjx1bD48bGk+YGdsb2JhbGA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIG51bWJlciBvZiByZXF1ZXN0cyBtYWRlIGJ5IGFsbCB1c2VyczwvbGk+PGxpPmBpcGA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIElQIGFkZHJlc3Mgb2YgdGhlIHJlcXVlc3Q8L2xpPjxsaT5gdXNlcmA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIHVzZXIgSUQgb2YgdGhlIHJlcXVlc3Q8L2xpPjxsaT5gc2Vzc2lvbmA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIHNlc3Npb24gdG9rZW4gb2YgdGhlIHJlcXVlc3Q8L2xpPjwvdWw+RGVmYXVsdCBpcyBgaXBgLicsXG4gICAgZGVmYXVsdDogJ2lwJyxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5SZXF1ZXN0Q29tcGxleGl0eU9wdGlvbnMgPSB7XG4gIGdyYXBoUUxEZXB0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFlfR1JBUEhRTF9ERVBUSCcsXG4gICAgaGVscDogJ01heGltdW0gZGVwdGggb2YgR3JhcGhRTCBmaWVsZCBzZWxlY3Rpb25zLiBTZXQgdG8gYC0xYCB0byBkaXNhYmxlLiBEZWZhdWx0IGlzIGAtMWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdncmFwaFFMRGVwdGgnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbiAgZ3JhcGhRTEZpZWxkczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFlfR1JBUEhRTF9GSUVMRFMnLFxuICAgIGhlbHA6ICdNYXhpbXVtIG51bWJlciBvZiBmaWVsZCBzZWxlY3Rpb25zIGluIGEgR3JhcGhRTCBxdWVyeS4gU2V0IHRvIGAtMWAgdG8gZGlzYWJsZS4gRGVmYXVsdCBpcyBgLTFgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignZ3JhcGhRTEZpZWxkcycpLFxuICAgIGRlZmF1bHQ6IC0xLFxuICB9LFxuICBpbmNsdWRlQ291bnQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZX0lOQ0xVREVfQ09VTlQnLFxuICAgIGhlbHA6ICdNYXhpbXVtIG51bWJlciBvZiBpbmNsdWRlIHBhdGhzIGluIGEgc2luZ2xlIHF1ZXJ5LiBTZXQgdG8gYC0xYCB0byBkaXNhYmxlLiBEZWZhdWx0IGlzIGAtMWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdpbmNsdWRlQ291bnQnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbiAgaW5jbHVkZURlcHRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09NUExFWElUWV9JTkNMVURFX0RFUFRIJyxcbiAgICBoZWxwOiAnTWF4aW11bSBkZXB0aCBvZiBpbmNsdWRlIHBvaW50ZXIgY2hhaW5zIChlLmcuIGBhLmIuY2AgPSBkZXB0aCAzKS4gU2V0IHRvIGAtMWAgdG8gZGlzYWJsZS4gRGVmYXVsdCBpcyBgLTFgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignaW5jbHVkZURlcHRoJyksXG4gICAgZGVmYXVsdDogLTEsXG4gIH0sXG4gIHF1ZXJ5RGVwdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZX1FVRVJZX0RFUFRIJyxcbiAgICBoZWxwOiAnTWF4aW11bSBuZXN0aW5nIGRlcHRoIG9mIGAkb3JgLCBgJGFuZGAsIGAkbm9yYCBxdWVyeSBvcGVyYXRvcnMuIFNldCB0byBgLTFgIHRvIGRpc2FibGUuIERlZmF1bHQgaXMgYC0xYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3F1ZXJ5RGVwdGgnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbiAgc3VicXVlcnlEZXB0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFlfU1VCUVVFUllfREVQVEgnLFxuICAgIGhlbHA6ICdNYXhpbXVtIG5lc3RpbmcgZGVwdGggb2YgYCRpblF1ZXJ5YCwgYCRub3RJblF1ZXJ5YCwgYCRzZWxlY3RgLCBgJGRvbnRTZWxlY3RgIHN1YnF1ZXJpZXMuIFNldCB0byBgLTFgIHRvIGRpc2FibGUuIERlZmF1bHQgaXMgYC0xYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3N1YnF1ZXJ5RGVwdGgnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5TZWN1cml0eU9wdGlvbnMgPSB7XG4gIGNoZWNrR3JvdXBzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFQ1VSSVRZX0NIRUNLX0dST1VQUycsXG4gICAgaGVscDogJ1RoZSBzZWN1cml0eSBjaGVjayBncm91cHMgdG8gcnVuLiBUaGlzIGFsbG93cyB0byBhZGQgY3VzdG9tIHNlY3VyaXR5IGNoZWNrcyBvciBvdmVycmlkZSBleGlzdGluZyBvbmVzLiBEZWZhdWx0IGFyZSB0aGUgZ3JvdXBzIGRlZmluZWQgaW4gYENoZWNrR3JvdXBzLmpzYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgZW5hYmxlQ2hlY2s6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VDVVJJVFlfRU5BQkxFX0NIRUNLJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBQYXJzZSBTZXJ2ZXIgc2hvdWxkIGNoZWNrIGZvciB3ZWFrIHNlY3VyaXR5IHNldHRpbmdzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVuYWJsZUNoZWNrTG9nOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFQ1VSSVRZX0VOQUJMRV9DSEVDS19MT0cnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIHRoZSBzZWN1cml0eSBjaGVjayByZXBvcnQgc2hvdWxkIGJlIHdyaXR0ZW4gdG8gbG9ncy4gVGhpcyBzaG91bGQgb25seSBiZSBlbmFibGVkIHRlbXBvcmFyaWx5IHRvIG5vdCBleHBvc2Ugd2VhayBzZWN1cml0eSBzZXR0aW5ncyBpbiBsb2dzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUGFnZXNPcHRpb25zID0ge1xuICBjdXN0b21Sb3V0ZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1JPVVRFUycsXG4gICAgaGVscDogJ1RoZSBjdXN0b20gcm91dGVzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIHR5cGU6ICdQYWdlc1JvdXRlW10nLFxuICAgIGRlZmF1bHQ6IFtdLFxuICB9LFxuICBjdXN0b21VcmxzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxTJyxcbiAgICBoZWxwOiAnVGhlIFVSTHMgdG8gdGhlIGN1c3RvbSBwYWdlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ1BhZ2VzQ3VzdG9tVXJsc09wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBlbmFibGVMb2NhbGl6YXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfRU5BQkxFX0xPQ0FMSVpBVElPTicsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgcGFnZXMgc2hvdWxkIGJlIGxvY2FsaXplZDsgdGhpcyBoYXMgbm8gZWZmZWN0IG9uIGN1c3RvbSBwYWdlIHJlZGlyZWN0cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmNvZGVQYWdlUGFyYW1IZWFkZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0VOQ09ERV9QQUdFX1BBUkFNX0hFQURFUlMnLFxuICAgIGhlbHA6ICdJcyBgdHJ1ZWAgaWYgdGhlIHBhZ2UgcGFyYW1ldGVyIGhlYWRlcnMgc2hvdWxkIGJlIFVSSS1lbmNvZGVkLiBUaGlzIGlzIHJlcXVpcmVkIGlmIGFueSBwYWdlIHBhcmFtZXRlciB2YWx1ZSBjb250YWlucyBub24tQVNDSUkgY2hhcmFjdGVycywgc3VjaCBhcyB0aGUgYXBwIG5hbWUuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZm9yY2VSZWRpcmVjdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19GT1JDRV9SRURJUkVDVCcsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgcmVzcG9uc2VzIHNob3VsZCBhbHdheXMgYmUgcmVkaXJlY3RzIGFuZCBuZXZlciBjb250ZW50LCBmYWxzZSBpZiB0aGUgcmVzcG9uc2UgdHlwZSBzaG91bGQgZGVwZW5kIG9uIHRoZSByZXF1ZXN0IHR5cGUgKEdFVCByZXF1ZXN0IC0+IGNvbnRlbnQgcmVzcG9uc2U7IFBPU1QgcmVxdWVzdCAtPiByZWRpcmVjdCByZXNwb25zZSkuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgbG9jYWxpemF0aW9uRmFsbGJhY2tMb2NhbGU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfTE9DQUxJWkFUSU9OX0ZBTExCQUNLX0xPQ0FMRScsXG4gICAgaGVscDogJ1RoZSBmYWxsYmFjayBsb2NhbGUgZm9yIGxvY2FsaXphdGlvbiBpZiBubyBtYXRjaGluZyB0cmFuc2xhdGlvbiBpcyBwcm92aWRlZCBmb3IgdGhlIGdpdmVuIGxvY2FsZS4gVGhpcyBpcyBvbmx5IHJlbGV2YW50IHdoZW4gcHJvdmlkaW5nIHRyYW5zbGF0aW9uIHJlc291cmNlcyB2aWEgSlNPTiBmaWxlLicsXG4gICAgZGVmYXVsdDogJ2VuJyxcbiAgfSxcbiAgbG9jYWxpemF0aW9uSnNvblBhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfTE9DQUxJWkFUSU9OX0pTT05fUEFUSCcsXG4gICAgaGVscDogJ1RoZSBwYXRoIHRvIHRoZSBKU09OIGZpbGUgZm9yIGxvY2FsaXphdGlvbjsgdGhlIHRyYW5zbGF0aW9ucyB3aWxsIGJlIHVzZWQgdG8gZmlsbCB0ZW1wbGF0ZSBwbGFjZWhvbGRlcnMgYWNjb3JkaW5nIHRvIHRoZSBsb2NhbGUuJyxcbiAgfSxcbiAgcGFnZXNFbmRwb2ludDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19QQUdFU19FTkRQT0lOVCcsXG4gICAgaGVscDogXCJUaGUgQVBJIGVuZHBvaW50IGZvciB0aGUgcGFnZXMuIERlZmF1bHQgaXMgJ2FwcHMnLlwiLFxuICAgIGRlZmF1bHQ6ICdhcHBzJyxcbiAgfSxcbiAgcGFnZXNQYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1BBR0VTX1BBVEgnLFxuICAgIGhlbHA6IFwiVGhlIHBhdGggdG8gdGhlIHBhZ2VzIGRpcmVjdG9yeTsgdGhpcyBhbHNvIGRlZmluZXMgd2hlcmUgdGhlIHN0YXRpYyBlbmRwb2ludCAnL2FwcHMnIHBvaW50cyB0by4gRGVmYXVsdCBpcyB0aGUgJy4vcHVibGljLycgZGlyZWN0b3J5IG9mIHRoZSBwYXJzZS1zZXJ2ZXIgbW9kdWxlLlwiLFxuICB9LFxuICBwbGFjZWhvbGRlcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUExBQ0VIT0xERVJTJyxcbiAgICBoZWxwOiAnVGhlIHBsYWNlaG9sZGVyIGtleXMgYW5kIHZhbHVlcyB3aGljaCB3aWxsIGJlIGZpbGxlZCBpbiBwYWdlczsgdGhpcyBjYW4gYmUgYSBzaW1wbGUgb2JqZWN0IG9yIGEgY2FsbGJhY2sgZnVuY3Rpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlBhZ2VzUm91dGUgPSB7XG4gIGhhbmRsZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUk9VVEVfSEFORExFUicsXG4gICAgaGVscDogJ1RoZSByb3V0ZSBoYW5kbGVyIHRoYXQgaXMgYW4gYXN5bmMgZnVuY3Rpb24uJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgbWV0aG9kOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1JPVVRFX01FVEhPRCcsXG4gICAgaGVscDogXCJUaGUgcm91dGUgbWV0aG9kLCBlLmcuICdHRVQnIG9yICdQT1NUJy5cIixcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgcGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19ST1VURV9QQVRIJyxcbiAgICBoZWxwOiAnVGhlIHJvdXRlIHBhdGguJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5QYWdlc0N1c3RvbVVybHNPcHRpb25zID0ge1xuICBlbWFpbFZlcmlmaWNhdGlvbkxpbmtFeHBpcmVkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfRU1BSUxfVkVSSUZJQ0FUSU9OX0xJTktfRVhQSVJFRCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBlbWFpbCB2ZXJpZmljYXRpb24gLT4gbGluayBleHBpcmVkLicsXG4gIH0sXG4gIGVtYWlsVmVyaWZpY2F0aW9uTGlua0ludmFsaWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9FTUFJTF9WRVJJRklDQVRJT05fTElOS19JTlZBTElEJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiBsaW5rIGludmFsaWQuJyxcbiAgfSxcbiAgZW1haWxWZXJpZmljYXRpb25TZW5kRmFpbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9TRU5EX0ZBSUwnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgZW1haWwgdmVyaWZpY2F0aW9uIC0+IGxpbmsgc2VuZCBmYWlsLicsXG4gIH0sXG4gIGVtYWlsVmVyaWZpY2F0aW9uU2VuZFN1Y2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9FTUFJTF9WRVJJRklDQVRJT05fU0VORF9TVUNDRVNTJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiByZXNlbmQgbGluayAtPiBzdWNjZXNzLicsXG4gIH0sXG4gIGVtYWlsVmVyaWZpY2F0aW9uU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9TVUNDRVNTJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiBzdWNjZXNzLicsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9QQVNTV09SRF9SRVNFVCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBwYXNzd29yZCByZXNldC4nLFxuICB9LFxuICBwYXNzd29yZFJlc2V0TGlua0ludmFsaWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9QQVNTV09SRF9SRVNFVF9MSU5LX0lOVkFMSUQnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgcGFzc3dvcmQgcmVzZXQgLT4gbGluayBpbnZhbGlkLicsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXRTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfUEFTU1dPUkRfUkVTRVRfU1VDQ0VTUycsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBwYXNzd29yZCByZXNldCAtPiBzdWNjZXNzLicsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuQ3VzdG9tUGFnZXNPcHRpb25zID0ge1xuICBjaG9vc2VQYXNzd29yZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfQ0hPT1NFX1BBU1NXT1JEJyxcbiAgICBoZWxwOiAnY2hvb3NlIHBhc3N3b3JkIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGV4cGlyZWRWZXJpZmljYXRpb25MaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19FWFBJUkVEX1ZFUklGSUNBVElPTl9MSU5LJyxcbiAgICBoZWxwOiAnZXhwaXJlZCB2ZXJpZmljYXRpb24gbGluayBwYWdlIHBhdGgnLFxuICB9LFxuICBpbnZhbGlkTGluazoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfSU5WQUxJRF9MSU5LJyxcbiAgICBoZWxwOiAnaW52YWxpZCBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGludmFsaWRQYXNzd29yZFJlc2V0TGluazoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfSU5WQUxJRF9QQVNTV09SRF9SRVNFVF9MSU5LJyxcbiAgICBoZWxwOiAnaW52YWxpZCBwYXNzd29yZCByZXNldCBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGludmFsaWRWZXJpZmljYXRpb25MaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19JTlZBTElEX1ZFUklGSUNBVElPTl9MSU5LJyxcbiAgICBoZWxwOiAnaW52YWxpZCB2ZXJpZmljYXRpb24gbGluayBwYWdlIHBhdGgnLFxuICB9LFxuICBsaW5rU2VuZEZhaWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTX0xJTktfU0VORF9GQUlMJyxcbiAgICBoZWxwOiAndmVyaWZpY2F0aW9uIGxpbmsgc2VuZCBmYWlsIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGxpbmtTZW5kU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfTElOS19TRU5EX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICd2ZXJpZmljYXRpb24gbGluayBzZW5kIHN1Y2Nlc3MgcGFnZSBwYXRoJyxcbiAgfSxcbiAgcGFyc2VGcmFtZVVSTDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfUEFSU0VfRlJBTUVfVVJMJyxcbiAgICBoZWxwOiAnZm9yIG1hc2tpbmcgdXNlci1mYWNpbmcgcGFnZXMnLFxuICB9LFxuICBwYXNzd29yZFJlc2V0U3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfUEFTU1dPUkRfUkVTRVRfU1VDQ0VTUycsXG4gICAgaGVscDogJ3Bhc3N3b3JkIHJlc2V0IHN1Y2Nlc3MgcGFnZSBwYXRoJyxcbiAgfSxcbiAgdmVyaWZ5RW1haWxTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19WRVJJRllfRU1BSUxfU1VDQ0VTUycsXG4gICAgaGVscDogJ3ZlcmlmeSBlbWFpbCBzdWNjZXNzIHBhZ2UgcGF0aCcsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuTGl2ZVF1ZXJ5T3B0aW9ucyA9IHtcbiAgY2xhc3NOYW1lczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfQ0xBU1NOQU1FUycsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgY2xhc3NOYW1lc1wiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgcHViU3ViQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfUFVCX1NVQl9BREFQVEVSJyxcbiAgICBoZWxwOiAnTGl2ZVF1ZXJ5IHB1YnN1YiBhZGFwdGVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIHJlZGlzT3B0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfUkVESVNfT1BUSU9OUycsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgcmVkaXNPcHRpb25zXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmVkaXNVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTElWRVFVRVJZX1JFRElTX1VSTCcsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgcmVkaXNVUkxcIixcbiAgfSxcbiAgcmVnZXhUaW1lb3V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9SRUdFWF9USU1FT1VUJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgbWF4aW11bSBleGVjdXRpb24gdGltZSBpbiBtaWxsaXNlY29uZHMgZm9yIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJuIG1hdGNoaW5nIGluIExpdmVRdWVyeS4gVGhpcyBwcm90ZWN0cyBhZ2FpbnN0IFJlZ3VsYXIgRXhwcmVzc2lvbiBEZW5pYWwgb2YgU2VydmljZSAoUmVEb1MpIGF0dGFja3Mgd2hlcmUgYSBtYWxpY2lvdXMgcmVnZXggcGF0dGVybiBjb3VsZCBibG9jayB0aGUgZXZlbnQgbG9vcC4gQSByZWdleCB0aGF0IGV4Y2VlZHMgdGhlIHRpbWVvdXQgd2lsbCBiZSB0cmVhdGVkIGFzIG5vbi1tYXRjaGluZy48YnI+PGJyPlRoZSBwcm90ZWN0aW9uIHJ1bnMgZWFjaCByZWdleCBldmFsdWF0aW9uIGluIGFuIGlzb2xhdGVkIFZNIGNvbnRleHQgd2l0aCBhIHRpbWVvdXQuIFRoaXMgYWRkcyBhcHByb3hpbWF0ZWx5IDUwIG1pY3Jvc2Vjb25kcyBvZiBvdmVyaGVhZCBwZXIgcmVnZXggZXZhbHVhdGlvbi4gRm9yIG1vc3QgYXBwbGljYXRpb25zIHRoaXMgaXMgbmVnbGlnaWJsZSwgYnV0IGl0IGNhbiBhZGQgdXAgaWYgeW91IGhhdmUgYSB2ZXJ5IGxhcmdlIG51bWJlciBvZiBMaXZlUXVlcnkgc3Vic2NyaXB0aW9ucyB0aGF0IHVzZSBgJHJlZ2V4YCBvbiB0aGUgc2FtZSBjbGFzcy4gRm9yIGV4YW1wbGUsIDEwLDAwMCBjb25jdXJyZW50IHJlZ2V4IHN1YnNjcmlwdGlvbnMgd291bGQgYWRkIGFwcHJveGltYXRlbHkgNTAwbXMgb2YgcHJvY2Vzc2luZyB0aW1lIHBlciBvYmplY3Qgc2F2ZSBldmVudCBvbiB0aGF0IGNsYXNzLjxicj48YnI+U2V0IHRvIGAwYCB0byBkaXNhYmxlIHRoZSB0aW1lb3V0IGFuZCB1c2UgbmF0aXZlIHJlZ2V4IGV2YWx1YXRpb24gd2l0aG91dCBwcm90ZWN0aW9uLiBEZWZhdWx0cyB0byBgMTAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3JlZ2V4VGltZW91dCcpLFxuICAgIGRlZmF1bHQ6IDEwMCxcbiAgfSxcbiAgd3NzQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfV1NTX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgdGhlIFdlYlNvY2tldFNlcnZlcicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkxpdmVRdWVyeVNlcnZlck9wdGlvbnMgPSB7XG4gIGFwcElkOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfQVBQX0lEJyxcbiAgICBoZWxwOiAnVGhpcyBzdHJpbmcgc2hvdWxkIG1hdGNoIHRoZSBhcHBJZCBpbiB1c2UgYnkgeW91ciBQYXJzZSBTZXJ2ZXIuIElmIHlvdSBkZXBsb3kgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgYWxvbmdzaWRlIFBhcnNlIFNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gdXNlIHRoZSBzYW1lIGFwcElkLicsXG4gIH0sXG4gIGNhY2hlVGltZW91dDoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX0NBQ0hFX1RJTUVPVVQnLFxuICAgIGhlbHA6IFwiTnVtYmVyIGluIG1pbGxpc2Vjb25kcy4gV2hlbiBjbGllbnRzIHByb3ZpZGUgdGhlIHNlc3Npb25Ub2tlbiB0byB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gZmV0Y2ggaXRzIFBhcnNlVXNlcidzIG9iamVjdElkIGZyb20gcGFyc2Ugc2VydmVyIGFuZCBzdG9yZSBpdCBpbiB0aGUgY2FjaGUuIFRoZSB2YWx1ZSBkZWZpbmVzIHRoZSBkdXJhdGlvbiBvZiB0aGUgY2FjaGUuIENoZWNrIHRoZSBmb2xsb3dpbmcgU2VjdXJpdHkgc2VjdGlvbiBhbmQgb3VyIHByb3RvY29sIHNwZWNpZmljYXRpb24gZm9yIGRldGFpbHMsIGRlZmF1bHRzIHRvIDUgKiAxMDAwIG1zICg1IHNlY29uZHMpLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2NhY2hlVGltZW91dCcpLFxuICB9LFxuICBrZXlQYWlyczoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX0tFWV9QQUlSUycsXG4gICAgaGVscDogJ0EgSlNPTiBvYmplY3QgdGhhdCBzZXJ2ZXMgYXMgYSB3aGl0ZWxpc3Qgb2Yga2V5cy4gSXQgaXMgdXNlZCBmb3IgdmFsaWRhdGluZyBjbGllbnRzIHdoZW4gdGhleSB0cnkgdG8gY29ubmVjdCB0byB0aGUgTGl2ZVF1ZXJ5IHNlcnZlci4gQ2hlY2sgdGhlIGZvbGxvd2luZyBTZWN1cml0eSBzZWN0aW9uIGFuZCBvdXIgcHJvdG9jb2wgc3BlY2lmaWNhdGlvbiBmb3IgZGV0YWlscy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIGxvZ0xldmVsOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfTE9HX0xFVkVMJyxcbiAgICBoZWxwOiAnVGhpcyBzdHJpbmcgZGVmaW5lcyB0aGUgbG9nIGxldmVsIG9mIHRoZSBMaXZlUXVlcnkgc2VydmVyLiBXZSBzdXBwb3J0IFZFUkJPU0UsIElORk8sIEVSUk9SLCBOT05FLCBkZWZhdWx0cyB0byBJTkZPLicsXG4gIH0sXG4gIG1hc3RlcktleToge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX01BU1RFUl9LRVknLFxuICAgIGhlbHA6ICdUaGlzIHN0cmluZyBzaG91bGQgbWF0Y2ggdGhlIG1hc3RlcktleSBpbiB1c2UgYnkgeW91ciBQYXJzZSBTZXJ2ZXIuIElmIHlvdSBkZXBsb3kgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgYWxvbmdzaWRlIFBhcnNlIFNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gdXNlIHRoZSBzYW1lIG1hc3RlcktleS4nLFxuICB9LFxuICBwb3J0OiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfUE9SVCcsXG4gICAgaGVscDogJ1RoZSBwb3J0IHRvIHJ1biB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciwgZGVmYXVsdHMgdG8gMTMzNy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3BvcnQnKSxcbiAgICBkZWZhdWx0OiAxMzM3LFxuICB9LFxuICBwdWJTdWJBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfUFVCX1NVQl9BREFQVEVSJyxcbiAgICBoZWxwOiAnTGl2ZVF1ZXJ5IHB1YnN1YiBhZGFwdGVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIHJlZGlzT3B0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1JFRElTX09QVElPTlMnLFxuICAgIGhlbHA6IFwicGFyc2Utc2VydmVyJ3MgTGl2ZVF1ZXJ5IHJlZGlzT3B0aW9uc1wiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIHJlZGlzVVJMOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfUkVESVNfVVJMJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSByZWRpc1VSTFwiLFxuICB9LFxuICBzZXJ2ZXJVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnVGhpcyBzdHJpbmcgc2hvdWxkIG1hdGNoIHRoZSBzZXJ2ZXJVUkwgaW4gdXNlIGJ5IHlvdXIgUGFyc2UgU2VydmVyLiBJZiB5b3UgZGVwbG95IHRoZSBMaXZlUXVlcnkgc2VydmVyIGFsb25nc2lkZSBQYXJzZSBTZXJ2ZXIsIHRoZSBMaXZlUXVlcnkgc2VydmVyIHdpbGwgdHJ5IHRvIHVzZSB0aGUgc2FtZSBzZXJ2ZXJVUkwuJyxcbiAgfSxcbiAgd2Vic29ja2V0VGltZW91dDoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1dFQlNPQ0tFVF9USU1FT1VUJyxcbiAgICBoZWxwOiAnTnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHBpbmcvcG9uZyBmcmFtZXMuIFRoZSBXZWJTb2NrZXQgc2VydmVyIHNlbmRzIHBpbmcvcG9uZyBmcmFtZXMgdG8gdGhlIGNsaWVudHMgdG8ga2VlcCB0aGUgV2ViU29ja2V0IGFsaXZlLiBUaGlzIHZhbHVlIGRlZmluZXMgdGhlIGludGVydmFsIG9mIHRoZSBwaW5nL3BvbmcgZnJhbWUgZnJvbSB0aGUgc2VydmVyIHRvIGNsaWVudHMsIGRlZmF1bHRzIHRvIDEwICogMTAwMCBtcyAoMTAgcykuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCd3ZWJzb2NrZXRUaW1lb3V0JyksXG4gIH0sXG4gIHdzc0FkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9XU1NfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgV2ViU29ja2V0U2VydmVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuSWRlbXBvdGVuY3lPcHRpb25zID0ge1xuICBwYXRoczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FWFBFUklNRU5UQUxfSURFTVBPVEVOQ1lfUEFUSFMnLFxuICAgIGhlbHA6ICdBbiBhcnJheSBvZiBwYXRocyBmb3Igd2hpY2ggdGhlIGZlYXR1cmUgc2hvdWxkIGJlIGVuYWJsZWQuIFRoZSBtb3VudCBwYXRoIG11c3Qgbm90IGJlIGluY2x1ZGVkLCBmb3IgZXhhbXBsZSBpbnN0ZWFkIG9mIGAvcGFyc2UvZnVuY3Rpb25zL215RnVuY3Rpb25gIHNwZWNpZml5IGBmdW5jdGlvbnMvbXlGdW5jdGlvbmAuIFRoZSBlbnRyaWVzIGFyZSBpbnRlcnByZXRlZCBhcyByZWd1bGFyIGV4cHJlc3Npb24sIGZvciBleGFtcGxlIGBmdW5jdGlvbnMvLipgIG1hdGNoZXMgYWxsIGZ1bmN0aW9ucywgYGpvYnMvLipgIG1hdGNoZXMgYWxsIGpvYnMsIGBjbGFzc2VzLy4qYCBtYXRjaGVzIGFsbCBjbGFzc2VzLCBgLipgIG1hdGNoZXMgYWxsIHBhdGhzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFtdLFxuICB9LFxuICB0dGw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRVhQRVJJTUVOVEFMX0lERU1QT1RFTkNZX1RUTCcsXG4gICAgaGVscDogJ1RoZSBkdXJhdGlvbiBpbiBzZWNvbmRzIGFmdGVyIHdoaWNoIGEgcmVxdWVzdCByZWNvcmQgaXMgZGlzY2FyZGVkIGZyb20gdGhlIGRhdGFiYXNlLCBkZWZhdWx0cyB0byAzMDBzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigndHRsJyksXG4gICAgZGVmYXVsdDogMzAwLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkFjY291bnRMb2Nrb3V0T3B0aW9ucyA9IHtcbiAgZHVyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUX0RVUkFUSU9OJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBkdXJhdGlvbiBpbiBtaW51dGVzIHRoYXQgYSBsb2NrZWQtb3V0IGFjY291bnQgcmVtYWlucyBsb2NrZWQgb3V0IGJlZm9yZSBhdXRvbWF0aWNhbGx5IGJlY29taW5nIHVubG9ja2VkLjxicj48YnI+VmFsaWQgdmFsdWVzIGFyZSBncmVhdGVyIHRoYW4gYDBgIGFuZCBsZXNzIHRoYW4gYDEwMDAwMGAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdkdXJhdGlvbicpLFxuICB9LFxuICB0aHJlc2hvbGQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUX1RIUkVTSE9MRCcsXG4gICAgaGVscDogJ1NldCB0aGUgbnVtYmVyIG9mIGZhaWxlZCBzaWduLWluIGF0dGVtcHRzIHRoYXQgd2lsbCBjYXVzZSBhIHVzZXIgYWNjb3VudCB0byBiZSBsb2NrZWQuIElmIHRoZSBhY2NvdW50IGlzIGxvY2tlZC4gVGhlIGFjY291bnQgd2lsbCB1bmxvY2sgYWZ0ZXIgdGhlIGR1cmF0aW9uIHNldCBpbiB0aGUgYGR1cmF0aW9uYCBvcHRpb24gaGFzIHBhc3NlZCBhbmQgbm8gZnVydGhlciBsb2dpbiBhdHRlbXB0cyBoYXZlIGJlZW4gbWFkZS48YnI+PGJyPlZhbGlkIHZhbHVlcyBhcmUgZ3JlYXRlciB0aGFuIGAwYCBhbmQgbGVzcyB0aGFuIGAxMDAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3RocmVzaG9sZCcpLFxuICB9LFxuICB1bmxvY2tPblBhc3N3b3JkUmVzZXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUX1VOTE9DS19PTl9QQVNTV09SRF9SRVNFVCcsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgIGlmIHRoZSBhY2NvdW50IHNob3VsZCBiZSB1bmxvY2tlZCBhZnRlciBhIHN1Y2Nlc3NmdWwgcGFzc3dvcmQgcmVzZXQuPGJyPjxicj5EZWZhdWx0IGlzIGBmYWxzZWAuPGJyPlJlcXVpcmVzIG9wdGlvbnMgYGR1cmF0aW9uYCBhbmQgYHRocmVzaG9sZGAgdG8gYmUgc2V0LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUGFzc3dvcmRQb2xpY3lPcHRpb25zID0ge1xuICBkb05vdEFsbG93VXNlcm5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX0RPX05PVF9BTExPV19VU0VSTkFNRScsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gZGlzYWxsb3cgdGhlIHVzZXJuYW1lIGFzIHBhcnQgb2YgdGhlIHBhc3N3b3JkLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIG1heFBhc3N3b3JkQWdlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9NQVhfUEFTU1dPUkRfQUdFJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBudW1iZXIgb2YgZGF5cyBhZnRlciB3aGljaCBhIHBhc3N3b3JkIGV4cGlyZXMuIExvZ2luIGF0dGVtcHRzIGZhaWwgaWYgdGhlIHVzZXIgZG9lcyBub3QgcmVzZXQgdGhlIHBhc3N3b3JkIGJlZm9yZSBleHBpcmF0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4UGFzc3dvcmRBZ2UnKSxcbiAgfSxcbiAgbWF4UGFzc3dvcmRIaXN0b3J5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9NQVhfUEFTU1dPUkRfSElTVE9SWScsXG4gICAgaGVscDogJ1NldCB0aGUgbnVtYmVyIG9mIHByZXZpb3VzIHBhc3N3b3JkIHRoYXQgd2lsbCBub3QgYmUgYWxsb3dlZCB0byBiZSBzZXQgYXMgbmV3IHBhc3N3b3JkLiBJZiB0aGUgb3B0aW9uIGlzIG5vdCBzZXQgb3Igc2V0IHRvIGAwYCwgbm8gcHJldmlvdXMgcGFzc3dvcmRzIHdpbGwgYmUgY29uc2lkZXJlZC48YnI+PGJyPlZhbGlkIHZhbHVlcyBhcmUgPj0gYDBgIGFuZCA8PSBgMjBgLjxicj5EZWZhdWx0IGlzIGAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heFBhc3N3b3JkSGlzdG9yeScpLFxuICB9LFxuICByZXNldFBhc3N3b3JkU3VjY2Vzc09uSW52YWxpZEVtYWlsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9SRVNFVF9QQVNTV09SRF9TVUNDRVNTX09OX0lOVkFMSURfRU1BSUwnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIGlmIGEgcmVxdWVzdCB0byByZXNldCB0aGUgcGFzc3dvcmQgc2hvdWxkIHJldHVybiBhIHN1Y2Nlc3MgcmVzcG9uc2UgZXZlbiBpZiB0aGUgcHJvdmlkZWQgZW1haWwgYWRkcmVzcyBpcyBpbnZhbGlkLCBvciBgZmFsc2VgIGlmIHRoZSByZXF1ZXN0IHNob3VsZCByZXR1cm4gYW4gZXJyb3IgcmVzcG9uc2UgaWYgdGhlIGVtYWlsIGFkZHJlc3MgaXMgaW52YWxpZC48YnI+PGJyPkRlZmF1bHQgaXMgYHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgcmVzZXRUb2tlblJldXNlSWZWYWxpZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfUkVTRVRfVE9LRU5fUkVVU0VfSUZfVkFMSUQnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIGlmIGEgcGFzc3dvcmQgcmVzZXQgdG9rZW4gc2hvdWxkIGJlIHJldXNlZCBpbiBjYXNlIGFub3RoZXIgdG9rZW4gaXMgcmVxdWVzdGVkIGJ1dCB0aGVyZSBpcyBhIHRva2VuIHRoYXQgaXMgc3RpbGwgdmFsaWQsIGkuZS4gaGFzIG5vdCBleHBpcmVkLiBUaGlzIGF2b2lkcyB0aGUgb2Z0ZW4gb2JzZXJ2ZWQgaXNzdWUgdGhhdCBhIHVzZXIgcmVxdWVzdHMgbXVsdGlwbGUgZW1haWxzIGFuZCBkb2VzIG5vdCBrbm93IHdoaWNoIGxpbmsgY29udGFpbnMgYSB2YWxpZCB0b2tlbiBiZWNhdXNlIGVhY2ggbmV3bHkgZ2VuZXJhdGVkIHRva2VuIHdvdWxkIGludmFsaWRhdGUgdGhlIHByZXZpb3VzIHRva2VuLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHJlc2V0VG9rZW5WYWxpZGl0eUR1cmF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9SRVNFVF9UT0tFTl9WQUxJRElUWV9EVVJBVElPTicsXG4gICAgaGVscDogJ1NldCB0aGUgdmFsaWRpdHkgZHVyYXRpb24gb2YgdGhlIHBhc3N3b3JkIHJlc2V0IHRva2VuIGluIHNlY29uZHMgYWZ0ZXIgd2hpY2ggdGhlIHRva2VuIGV4cGlyZXMuIFRoZSB0b2tlbiBpcyB1c2VkIGluIHRoZSBsaW5rIHRoYXQgaXMgc2V0IGluIHRoZSBlbWFpbC4gQWZ0ZXIgdGhlIHRva2VuIGV4cGlyZXMsIHRoZSBsaW5rIGJlY29tZXMgaW52YWxpZCBhbmQgYSBuZXcgbGluayBoYXMgdG8gYmUgc2VudC4gSWYgdGhlIG9wdGlvbiBpcyBub3Qgc2V0IG9yIHNldCB0byBgdW5kZWZpbmVkYCwgdGhlbiB0aGUgdG9rZW4gbmV2ZXIgZXhwaXJlcy48YnI+PGJyPkZvciBleGFtcGxlLCB0byBleHBpcmUgdGhlIHRva2VuIGFmdGVyIDIgaG91cnMsIHNldCBhIHZhbHVlIG9mIDcyMDAgc2Vjb25kcyAoPSA2MCBzZWNvbmRzICogNjAgbWludXRlcyAqIDIgaG91cnMpLjxicj48YnI+RGVmYXVsdCBpcyBgdW5kZWZpbmVkYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3Jlc2V0VG9rZW5WYWxpZGl0eUR1cmF0aW9uJyksXG4gIH0sXG4gIHZhbGlkYXRpb25FcnJvcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfVkFMSURBVElPTl9FUlJPUicsXG4gICAgaGVscDogJ1NldCB0aGUgZXJyb3IgbWVzc2FnZSB0byBiZSBzZW50Ljxicj48YnI+RGVmYXVsdCBpcyBgUGFzc3dvcmQgZG9lcyBub3QgbWVldCB0aGUgUGFzc3dvcmQgUG9saWN5IHJlcXVpcmVtZW50cy5gJyxcbiAgfSxcbiAgdmFsaWRhdG9yQ2FsbGJhY2s6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX1ZBTElEQVRPUl9DQUxMQkFDSycsXG4gICAgaGVscDogJ1NldCBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIGEgcGFzc3dvcmQgdG8gYmUgYWNjZXB0ZWQuPGJyPjxicj5JZiB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYHZhbGlkYXRvclBhdHRlcm5gLCB0aGUgcGFzc3dvcmQgbXVzdCBwYXNzIGJvdGggdG8gYmUgYWNjZXB0ZWQuJyxcbiAgfSxcbiAgdmFsaWRhdG9yUGF0dGVybjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfVkFMSURBVE9SX1BBVFRFUk4nLFxuICAgIGhlbHA6ICdTZXQgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiB2YWxpZGF0aW9uIHBhdHRlcm4gYSBwYXNzd29yZCBtdXN0IG1hdGNoIHRvIGJlIGFjY2VwdGVkLjxicj48YnI+SWYgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGB2YWxpZGF0b3JDYWxsYmFja2AsIHRoZSBwYXNzd29yZCBtdXN0IHBhc3MgYm90aCB0byBiZSBhY2NlcHRlZC4nLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkZpbGVVcGxvYWRPcHRpb25zID0ge1xuICBhbGxvd2VkRmlsZVVybERvbWFpbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfQUxMT1dFRF9GSUxFX1VSTF9ET01BSU5TJyxcbiAgICBoZWxwOiBcIlNldHMgdGhlIGFsbG93ZWQgaG9zdG5hbWVzIGZvciBmaWxlIFVSTHMgcmVmZXJlbmNlZCBpbiBQYXJzZSBvYmplY3RzLiBXaGVuIGEgRmlsZSBvYmplY3QgaW5jbHVkZXMgYSBVUkwsIGl0cyBob3N0bmFtZSBtdXN0IG1hdGNoIG9uZSBvZiB0aGVzZSBlbnRyaWVzIHRvIGJlIGFjY2VwdGVkLiBTdXBwb3J0cyBleGFjdCBob3N0bmFtZXMgKGUuZy4sIGAnY2RuLmV4YW1wbGUuY29tJ2ApIGFuZCB3aWxkY2FyZCBzdWJkb21haW5zIChlLmcuLCBgJyouZXhhbXBsZS5jb20nYCkuIFVzZSBgWycqJ11gIHRvIGFsbG93IGFueSBkb21haW4uIFVzZSBgW11gIHRvIGJsb2NrIGFsbCBmaWxlIFVSTHMgKG9ubHkgbmFtZS1iYXNlZCBmaWxlcyBhbGxvd2VkKS5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgZGVmYXVsdDogWycqJ10sXG4gIH0sXG4gIGVuYWJsZUZvckFub255bW91c1VzZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfRU5BQkxFX0ZPUl9BTk9OWU1PVVNfVVNFUicsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgZmlsZSB1cGxvYWQgc2hvdWxkIGJlIGFsbG93ZWQgZm9yIGFub255bW91cyB1c2Vycy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmFibGVGb3JBdXRoZW50aWNhdGVkVXNlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9FTkFCTEVfRk9SX0FVVEhFTlRJQ0FURURfVVNFUicsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgZmlsZSB1cGxvYWQgc2hvdWxkIGJlIGFsbG93ZWQgZm9yIGF1dGhlbnRpY2F0ZWQgdXNlcnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBlbmFibGVGb3JQdWJsaWM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfRU5BQkxFX0ZPUl9QVUJMSUMnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIGZpbGUgdXBsb2FkIHNob3VsZCBiZSBhbGxvd2VkIGZvciBhbnlvbmUsIHJlZ2FyZGxlc3Mgb2YgdXNlciBhdXRoZW50aWNhdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBmaWxlRXh0ZW5zaW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9GSUxFX0VYVEVOU0lPTlMnLFxuICAgIGhlbHA6ICdTZXRzIHRoZSBhbGxvd2VkIGZpbGUgZXh0ZW5zaW9ucyBmb3IgdXBsb2FkaW5nIGZpbGVzLiBUaGUgZXh0ZW5zaW9uIGlzIGRlZmluZWQgYXMgYW4gYXJyYXkgb2YgZmlsZSBleHRlbnNpb25zLCBvciBhIHJlZ2V4IHBhdHRlcm4uPGJyPjxicj5JdCBpcyByZWNvbW1lbmRlZCB0byBvbmx5IGFsbG93IHRoZSBmaWxlIGV4dGVuc2lvbnMgdGhhdCB5b3VyIGFwcCBhY3R1YWxseSBuZWVkcywgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBibG9ja2luZyBkYW5nZXJvdXMgZXh0ZW5zaW9ucy4gVGhpcyBhbGxvd2xpc3QgYXBwcm9hY2ggaXMgbW9yZSBzZWN1cmUgYmVjYXVzZSBuZXcgZGFuZ2Vyb3VzIGZpbGUgZXh0ZW5zaW9ucyBtYXkgZW1lcmdlIHRoYXQgYXJlIG5vdCBjb3ZlcmVkIGJ5IHRoZSBkZWZhdWx0IGJsb2NrbGlzdC48YnI+PGJyPlRoZSBkZWZhdWx0IGJsb2NrcyB0aGUgbW9zdCBjb21tb24gZmlsZSBleHRlbnNpb25zIHRoYXQgYXJlIGtub3duIHRvIGJlIHJlbmRlcmVkIGFzIGFjdGl2ZSBjb250ZW50IGJ5IHdlYiBicm93c2Vycywgc3VjaCBhcyBIVE1MLCBTVkcsIGFuZCBYTUwgZmlsZXMsIHdoaWNoIG1heSBiZSB1c2VkIGJ5IGFuIGF0dGFja2VyIHRvIGNvbXByb21pc2UgdGhlIHNlc3Npb24gdG9rZW4gb2YgYW5vdGhlciB1c2VyIHZpYSBhY2Nlc3NpbmcgdGhlIGJyb3dzZXJcXCdzIGxvY2FsIHN0b3JhZ2UuIFRoZSBibG9ja2VkIGV4dGVuc2lvbnMgYXJlOiBgaHRtbGAsIGBodG1gLCBgc2h0bWxgLCBgeGh0bWxgLCBgeGh0bWwreG1sYCwgYHhodGAsIGBzdmdgLCBgc3ZnemAsIGBzdmcreG1sYCwgYHhtbGAsIGB4c2xgLCBgeHNsdGAsIGB4c2x0K3htbGAsIGB4c2RgLCBgcm5nYCwgYHJkZmAsIGByZGYreG1sYCwgYG93bGAsIGBtYXRobWxgLCBgbWF0aG1sK3htbGAuPGJyPjxicj5EZWZhdWx0cyB0byBgW1wiXig/IShbeFhzU10/W2hIXVt0VF1bbU1dW2xMXT8oXFxcXFxcXFwrW3hYXVttTV1bbExdKT98W3hYXVtoSF1bdFRdfFtzU11bdlZdW2dHXShbelpdfFxcXFxcXFxcK1t4WF1bbU1dW2xMXSk/fFt4WF1bbU1dW2xMXXxbeFhdW3NTXVtsTF1bdFRdPyhcXFxcXFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW3NTXVtkRF18W3JSXVtuTl1bZ0ddfFtyUl1bZERdW2ZGXShcXFxcXFxcXCtbeFhdW21NXVtsTF0pP3xbb09dW3dXXVtsTF18W21NXVthQV1bdFRdW2hIXVttTV1bbExdKFxcXFxcXFxcK1t4WF1bbU1dW2xMXSk/KSQpXCJdYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbXG4gICAgICAnXig/IShbeFhzU10/W2hIXVt0VF1bbU1dW2xMXT8oXFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW2hIXVt0VF18W3NTXVt2Vl1bZ0ddKFt6Wl18XFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW21NXVtsTF18W3hYXVtzU11bbExdW3RUXT8oXFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW3NTXVtkRF18W3JSXVtuTl1bZ0ddfFtyUl1bZERdW2ZGXShcXFxcK1t4WF1bbU1dW2xMXSk/fFtvT11bd1ddW2xMXXxbbU1dW2FBXVt0VF1baEhdW21NXVtsTF0oXFxcXCtbeFhdW21NXVtsTF0pPykkKScsXG4gICAgXSxcbiAgfSxcbn07XG4vKiBUaGUgYXZhaWxhYmxlIGxvZyBsZXZlbHMgZm9yIFBhcnNlIFNlcnZlciBsb2dnaW5nLiBWYWxpZCB2YWx1ZXMgYXJlOjxicj4tIGAnZXJyb3InYCAtIEVycm9yIGxldmVsIChoaWdoZXN0IHByaW9yaXR5KTxicj4tIGAnd2FybidgIC0gV2FybmluZyBsZXZlbDxicj4tIGAnaW5mbydgIC0gSW5mbyBsZXZlbCAoZGVmYXVsdCk8YnI+LSBgJ3ZlcmJvc2UnYCAtIFZlcmJvc2UgbGV2ZWw8YnI+LSBgJ2RlYnVnJ2AgLSBEZWJ1ZyBsZXZlbDxicj4tIGAnc2lsbHknYCAtIFNpbGx5IGxldmVsIChsb3dlc3QgcHJpb3JpdHkpICovXG5tb2R1bGUuZXhwb3J0cy5Mb2dMZXZlbCA9IHtcbiAgZGVidWc6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMX0RFQlVHJyxcbiAgICBoZWxwOiAnRGVidWcgbGV2ZWwnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBlcnJvcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxfRVJST1InLFxuICAgIGhlbHA6ICdFcnJvciBsZXZlbCAtIGhpZ2hlc3QgcHJpb3JpdHknLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBpbmZvOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTF9JTkZPJyxcbiAgICBoZWxwOiAnSW5mbyBsZXZlbCAtIGRlZmF1bHQnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBzaWxseToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxfU0lMTFknLFxuICAgIGhlbHA6ICdTaWxseSBsZXZlbCAtIGxvd2VzdCBwcmlvcml0eScsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIHZlcmJvc2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMX1ZFUkJPU0UnLFxuICAgIGhlbHA6ICdWZXJib3NlIGxldmVsJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgd2Fybjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxfV0FSTicsXG4gICAgaGVscDogJ1dhcm5pbmcgbGV2ZWwnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkxvZ0NsaWVudEV2ZW50ID0ge1xuICBrZXlzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0xPR19DTElFTlRfRVZFTlRTX0tFWVMnLFxuICAgIGhlbHA6ICdPcHRpb25hbCBhcnJheSBvZiBkb3Qtbm90YXRpb24gcGF0aHMgdG8gZXh0cmFjdCBzcGVjaWZpYyBkYXRhIGZyb20gdGhlIGV2ZW50IG9iamVjdC4gSWYgbm90IHByb3ZpZGVkIG9yIGVtcHR5LCB0aGUgZW50aXJlIGV2ZW50IG9iamVjdCB3aWxsIGJlIGxvZ2dlZC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgbG9nTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTE9HX0NMSUVOVF9FVkVOVFNfTE9HX0xFVkVMJyxcbiAgICBoZWxwOiBcIlRoZSBsb2cgbGV2ZWwgdG8gdXNlIGZvciB0aGlzIGV2ZW50LiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4gRGVmYXVsdHMgdG8gYCdpbmZvJ2AuXCIsXG4gICAgZGVmYXVsdDogJ2luZm8nLFxuICB9LFxuICBuYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0xPR19DTElFTlRfRVZFTlRTX05BTUUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgZXZlbnQgbmFtZSB0byBsaXN0ZW4gZm9yLiBTZWUgdGhlIFtNb25nb0RCIGRyaXZlciBldmVudHMgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly93d3cubW9uZ29kYi5jb20vZG9jcy9kcml2ZXJzL25vZGUvY3VycmVudC9mdW5kYW1lbnRhbHMvbW9uaXRvcmluZy8pIGZvciBhdmFpbGFibGUgZXZlbnRzLicsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuRGF0YWJhc2VPcHRpb25zID0ge1xuICBhbGxvd1B1YmxpY0V4cGxhaW46IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQUxMT1dfUFVCTElDX0VYUExBSU4nLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGFsbG93IGBQYXJzZS5RdWVyeS5leHBsYWluYCB3aXRob3V0IG1hc3RlciBrZXkuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBFbmFibGluZyB0aGlzIG9wdGlvbiBtYXkgZXhwb3NlIHNlbnNpdGl2ZSBxdWVyeSBwZXJmb3JtYW5jZSBkYXRhIHRvIHVuYXV0aG9yaXplZCB1c2VycyBhbmQgY291bGQgcG90ZW50aWFsbHkgYmUgZXhwbG9pdGVkIGZvciBtYWxpY2lvdXMgcHVycG9zZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgYXBwTmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BUFBfTkFNRScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgbmFtZSBvZiB0aGUgYXBwbGljYXRpb24gdGhhdCBjcmVhdGVkIHRoaXMgTW9uZ29DbGllbnQgaW5zdGFuY2UuJyxcbiAgfSxcbiAgYXV0aE1lY2hhbmlzbToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BVVRIX01FQ0hBTklTTScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtIHRoYXQgTW9uZ29EQiB3aWxsIHVzZSB0byBhdXRoZW50aWNhdGUgdGhlIGNvbm5lY3Rpb24uJyxcbiAgfSxcbiAgYXV0aE1lY2hhbmlzbVByb3BlcnRpZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQVVUSF9NRUNIQU5JU01fUFJPUEVSVElFUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSBwcm9wZXJ0aWVzIGZvciB0aGUgc3BlY2lmaWVkIGF1dGhNZWNoYW5pc20gYXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBjb2xvbi1zZXBhcmF0ZWQga2V5LXZhbHVlIHBhaXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgYXV0aFNvdXJjZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BVVRIX1NPVVJDRScsXG4gICAgaGVscDogXCJUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGRhdGFiYXNlIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSB1c2VyJ3MgY3JlZGVudGlhbHMuXCIsXG4gIH0sXG4gIGF1dG9TZWxlY3RGYW1pbHk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQVVUT19TRUxFQ1RfRkFNSUxZJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgd2hldGhlciB0aGUgc29ja2V0IGF0dGVtcHRzIHRvIGNvbm5lY3QgdG8gSVB2NiBhbmQgSVB2NCBhZGRyZXNzZXMgdW50aWwgYSBjb25uZWN0aW9uIGlzIGVzdGFibGlzaGVkLiBJZiBhdmFpbGFibGUsIHRoZSBkcml2ZXIgd2lsbCBzZWxlY3QgdGhlIGZpcnN0IElQdjYgYWRkcmVzcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICBhdXRvU2VsZWN0RmFtaWx5QXR0ZW1wdFRpbWVvdXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQVVUT19TRUxFQ1RfRkFNSUxZX0FUVEVNUFRfVElNRU9VVCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIGEgY29ubmVjdGlvbiBhdHRlbXB0IHRvIGZpbmlzaCBiZWZvcmUgdHJ5aW5nIHRoZSBuZXh0IGFkZHJlc3Mgd2hlbiB1c2luZyB0aGUgYXV0b1NlbGVjdEZhbWlseSBvcHRpb24uIElmIHNldCB0byBhIHBvc2l0aXZlIGludGVnZXIgbGVzcyB0aGFuIDEwLCB0aGUgdmFsdWUgMTAgaXMgdXNlZCBpbnN0ZWFkLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignYXV0b1NlbGVjdEZhbWlseUF0dGVtcHRUaW1lb3V0JyksXG4gIH0sXG4gIGJhdGNoU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9CQVRDSF9TSVpFJyxcbiAgICBoZWxwOiAnVGhlIG51bWJlciBvZiBkb2N1bWVudHMgcGVyIGJhdGNoIGZvciBNb25nb0RCIGN1cnNvciBgZ2V0TW9yZWAgb3BlcmF0aW9ucy4gQSBsb3dlciB2YWx1ZSByZWR1Y2VzIG1lbW9yeSB1c2FnZSBwZXIgYmF0Y2g7IGEgaGlnaGVyIHZhbHVlIHJlZHVjZXMgdGhlIG51bWJlciBvZiBuZXR3b3JrIHJvdW5kLXRyaXBzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignYmF0Y2hTaXplJyksXG4gICAgZGVmYXVsdDogMTAwMCxcbiAgfSxcbiAgY2xpZW50TWV0YWRhdGE6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ0xJRU5UX01FVEFEQVRBJyxcbiAgICBoZWxwOiBcIkN1c3RvbSBtZXRhZGF0YSB0byBhcHBlbmQgdG8gZGF0YWJhc2UgY2xpZW50IGNvbm5lY3Rpb25zIGZvciBpZGVudGlmeWluZyBQYXJzZSBTZXJ2ZXIgaW5zdGFuY2VzIGluIGRhdGFiYXNlIGxvZ3MuIElmIHNldCwgdGhpcyBtZXRhZGF0YSB3aWxsIGJlIHZpc2libGUgaW4gZGF0YWJhc2UgbG9ncyBkdXJpbmcgY29ubmVjdGlvbiBoYW5kc2hha2VzLiBUaGlzIGNhbiBoZWxwIHdpdGggZGVidWdnaW5nIGFuZCBtb25pdG9yaW5nIGluIGRlcGxveW1lbnRzIHdpdGggbXVsdGlwbGUgZGF0YWJhc2UgY2xpZW50cy4gU2V0IGBuYW1lYCB0byBpZGVudGlmeSB5b3VyIGFwcGxpY2F0aW9uIChlLmcuLCAnTXlBcHAnKSBhbmQgYHZlcnNpb25gIHRvIHlvdXIgYXBwbGljYXRpb24ncyB2ZXJzaW9uLiBMZWF2ZSB1bmRlZmluZWQgKGRlZmF1bHQpIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlIGFuZCBhdm9pZCB0aGUgYWRkaXRpb25hbCBkYXRhIHRyYW5zZmVyIG92ZXJoZWFkLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0RhdGFiYXNlT3B0aW9uc0NsaWVudE1ldGFkYXRhJyxcbiAgfSxcbiAgY29tcHJlc3NvcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ09NUFJFU1NPUlMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgYW4gYXJyYXkgb3IgY29tbWEtZGVsaW1pdGVkIHN0cmluZyBvZiBjb21wcmVzc29ycyB0byBlbmFibGUgbmV0d29yayBjb21wcmVzc2lvbiBmb3IgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHRoaXMgY2xpZW50IGFuZCBhIG1vbmdvZC9tb25nb3MgaW5zdGFuY2UuJyxcbiAgfSxcbiAgY29ubmVjdFRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DT05ORUNUX1RJTUVPVVRfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lLCBpbiBtaWxsaXNlY29uZHMsIHRvIHdhaXQgdG8gZXN0YWJsaXNoIGEgc2luZ2xlIFRDUCBzb2NrZXQgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGJlZm9yZSByYWlzaW5nIGFuIGVycm9yLiBTcGVjaWZ5aW5nIDAgZGlzYWJsZXMgdGhlIGNvbm5lY3Rpb24gdGltZW91dC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2Nvbm5lY3RUaW1lb3V0TVMnKSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhBdXRoRGF0YVVuaXF1ZW5lc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX0FVVEhfREFUQV9VTklRVUVORVNTJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSB1bmlxdWUgaW5kZXhlcyBvbiB0aGUgYXV0aERhdGEgZmllbGRzIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIGZvciBlYWNoIGNvbmZpZ3VyZWQgYXV0aCBwcm92aWRlciBvbiBzZXJ2ZXIgc3RhcnQsIGluY2x1ZGluZyBgYW5vbnltb3VzYCB3aGVuIGFub255bW91cyB1c2VycyBhcmUgZW5hYmxlZC4gVGhlc2UgaW5kZXhlcyBwcmV2ZW50IHJhY2UgY29uZGl0aW9ucyBkdXJpbmcgY29uY3VycmVudCBzaWdudXBzIHdpdGggdGhlIHNhbWUgYXV0aERhdGEuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleGVzLCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleGVzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB0byBiZSBvcHRpbWl6ZWQgZm9yIHRoZSBpbnRlcm5hbCB1c2FnZSBieSBQYXJzZSBTZXJ2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBjcmVhdGVJbmRleFJvbGVOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NSRUFURV9JTkRFWF9ST0xFX05BTUUnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgdW5pcXVlIGluZGV4IG9uIHRoZSBuYW1lIGZpZWxkIG9mIHRoZSBfUm9sZSBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfRU1BSUwnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGluZGV4ZXMgb24gdGhlIGVtYWlsIGZpZWxkIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyRW1haWxDYXNlSW5zZW5zaXRpdmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfRU1BSUxfQ0FTRV9JTlNFTlNJVElWRScsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYSBjYXNlLWluc2Vuc2l0aXZlIGluZGV4IG9uIHRoZSBlbWFpbCBmaWVsZCBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGNyZWF0ZUluZGV4VXNlckVtYWlsVmVyaWZ5VG9rZW46IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfRU1BSUxfVkVSSUZZX1RPS0VOJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhbiBpbmRleCBvbiB0aGUgX2VtYWlsX3ZlcmlmeV90b2tlbiBmaWVsZCBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGNyZWF0ZUluZGV4VXNlclBhc3N3b3JkUmVzZXRUb2tlbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DUkVBVEVfSU5ERVhfVVNFUl9QQVNTV09SRF9SRVNFVF9UT0tFTicsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYW4gaW5kZXggb24gdGhlIF9wZXJpc2hhYmxlX3Rva2VuIGZpZWxkIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyVXNlcm5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfVVNFUk5BTUUnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGluZGV4ZXMgb24gdGhlIHVzZXJuYW1lIGZpZWxkIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyVXNlcm5hbWVDYXNlSW5zZW5zaXRpdmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfVVNFUk5BTUVfQ0FTRV9JTlNFTlNJVElWRScsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYSBjYXNlLWluc2Vuc2l0aXZlIGluZGV4IG9uIHRoZSB1c2VybmFtZSBmaWVsZCBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGRpcmVjdENvbm5lY3Rpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfRElSRUNUX0NPTk5FQ1RJT04nLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGZvcmNlIGEgU2luZ2xlIHRvcG9sb2d5IHR5cGUgd2l0aCBhIGNvbm5lY3Rpb24gc3RyaW5nIGNvbnRhaW5pbmcgb25lIGhvc3QuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgZGlzYWJsZUluZGV4RmllbGRWYWxpZGF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0RJU0FCTEVfSU5ERVhfRklFTERfVkFMSURBVElPTicsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gZGlzYWJsZSB2YWxpZGF0aW9uIG9mIGluZGV4IGZpZWxkcy4gV2hlbiBkaXNhYmxlZCwgaW5kZXhlcyBjYW4gYmUgY3JlYXRlZCBldmVuIGlmIHRoZSBmaWVsZHMgZG8gbm90IGV4aXN0IGluIHRoZSBzY2hlbWEuIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuIGNyZWF0aW5nIGluZGV4ZXMgb24gZmllbGRzIHRoYXQgd2lsbCBiZSBhZGRlZCBsYXRlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICBlbmFibGVTY2hlbWFIb29rczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9FTkFCTEVfU0NIRU1BX0hPT0tTJyxcbiAgICBoZWxwOiAnRW5hYmxlcyBkYXRhYmFzZSByZWFsLXRpbWUgaG9va3MgdG8gdXBkYXRlIHNpbmdsZSBzY2hlbWEgY2FjaGUuIFNldCB0byBgdHJ1ZWAgaWYgdXNpbmcgbXVsdGlwbGUgUGFyc2UgU2VydmVycyBpbnN0YW5jZXMgY29ubmVjdGVkIHRvIHRoZSBzYW1lIGRhdGFiYXNlLiBGYWlsaW5nIHRvIGRvIHNvIHdpbGwgY2F1c2UgYSBzY2hlbWEgY2hhbmdlIHRvIG5vdCBwcm9wYWdhdGUgdG8gYWxsIGluc3RhbmNlcyBhbmQgcmUtc3luY2luZyB3aWxsIG9ubHkgaGFwcGVuIHdoZW4gdGhlIGluc3RhbmNlcyByZXN0YXJ0LiBUbyB1c2UgdGhpcyBmZWF0dXJlIHdpdGggTW9uZ29EQiwgYSByZXBsaWNhIHNldCBjbHVzdGVyIHdpdGggW2NoYW5nZSBzdHJlYW1dKGh0dHBzOi8vZG9jcy5tb25nb2RiLmNvbS9tYW51YWwvY2hhbmdlU3RyZWFtcy8jYXZhaWxhYmlsaXR5KSBzdXBwb3J0IGlzIHJlcXVpcmVkLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGZvcmNlU2VydmVyT2JqZWN0SWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfRk9SQ0VfU0VSVkVSX09CSkVDVF9JRCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZm9yY2Ugc2VydmVyIHRvIGFzc2lnbiBfaWQgdmFsdWVzIGluc3RlYWQgb2YgZHJpdmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIGhlYXJ0YmVhdEZyZXF1ZW5jeU1TOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0hFQVJUQkVBVF9GUkVRVUVOQ1lfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGZyZXF1ZW5jeSBpbiBtaWxsaXNlY29uZHMgYXQgd2hpY2ggdGhlIGRyaXZlciBjaGVja3MgdGhlIHN0YXRlIG9mIHRoZSBNb25nb0RCIGRlcGxveW1lbnQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdoZWFydGJlYXRGcmVxdWVuY3lNUycpLFxuICB9LFxuICBsb2FkQmFsYW5jZWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTE9BRF9CQUxBTkNFRCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gaW5zdHJ1Y3QgdGhlIGRyaXZlciBpdCBpcyBjb25uZWN0aW5nIHRvIGEgbG9hZCBiYWxhbmNlciBmcm9udGluZyBhIG1vbmdvcyBsaWtlIHNlcnZpY2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgbG9jYWxUaHJlc2hvbGRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9MT0NBTF9USFJFU0hPTERfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIHNpemUgKGluIG1pbGxpc2Vjb25kcykgb2YgdGhlIGxhdGVuY3kgd2luZG93IGZvciBzZWxlY3RpbmcgYW1vbmcgbXVsdGlwbGUgc3VpdGFibGUgTW9uZ29EQiBpbnN0YW5jZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdsb2NhbFRocmVzaG9sZE1TJyksXG4gIH0sXG4gIGxvZ0NsaWVudEV2ZW50czoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9MT0dfQ0xJRU5UX0VWRU5UUycsXG4gICAgaGVscDogJ0FuIGFycmF5IG9mIE1vbmdvREIgY2xpZW50IGV2ZW50IGNvbmZpZ3VyYXRpb25zIHRvIGVuYWJsZSBsb2dnaW5nIG9mIHNwZWNpZmljIGV2ZW50cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICB0eXBlOiAnTG9nQ2xpZW50RXZlbnRbXScsXG4gIH0sXG4gIG1heENvbm5lY3Rpbmc6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTUFYX0NPTk5FQ1RJTkcnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbm5lY3Rpb25zIHRoYXQgbWF5IGJlIGluIHRoZSBwcm9jZXNzIG9mIGJlaW5nIGVzdGFibGlzaGVkIGNvbmN1cnJlbnRseSBieSB0aGUgY29ubmVjdGlvbiBwb29sLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4Q29ubmVjdGluZycpLFxuICB9LFxuICBtYXhJZGxlVGltZU1TOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX01BWF9JRExFX1RJTUVfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IGEgY29ubmVjdGlvbiBjYW4gcmVtYWluIGlkbGUgaW4gdGhlIGNvbm5lY3Rpb24gcG9vbCBiZWZvcmUgYmVpbmcgcmVtb3ZlZCBhbmQgY2xvc2VkLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4SWRsZVRpbWVNUycpLFxuICB9LFxuICBtYXhQb29sU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9NQVhfUE9PTF9TSVpFJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIG9wZW5lZCwgY2FjaGVkLCByZWFkeS10by11c2UgZGF0YWJhc2UgY29ubmVjdGlvbnMgbWFpbnRhaW5lZCBieSB0aGUgZHJpdmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4UG9vbFNpemUnKSxcbiAgfSxcbiAgbWF4U3RhbGVuZXNzU2Vjb25kczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9NQVhfU1RBTEVORVNTX1NFQ09ORFMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNldCB0aGUgbWF4aW11bSByZXBsaWNhdGlvbiBsYWcgZm9yIHJlYWRzIGZyb20gc2Vjb25kYXJ5IG5vZGVzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4U3RhbGVuZXNzU2Vjb25kcycpLFxuICB9LFxuICBtYXhUaW1lTVM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTUFYX1RJTUVfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNldCBhIGN1bXVsYXRpdmUgdGltZSBsaW1pdCBpbiBtaWxsaXNlY29uZHMgZm9yIHByb2Nlc3Npbmcgb3BlcmF0aW9ucyBvbiBhIGN1cnNvci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heFRpbWVNUycpLFxuICB9LFxuICBtaW5Qb29sU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9NSU5fUE9PTF9TSVpFJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgdGhlIG1pbmltdW0gbnVtYmVyIG9mIG9wZW5lZCwgY2FjaGVkLCByZWFkeS10by11c2UgZGF0YWJhc2UgY29ubmVjdGlvbnMgbWFpbnRhaW5lZCBieSB0aGUgZHJpdmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWluUG9vbFNpemUnKSxcbiAgfSxcbiAgcHJveHlIb3N0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX0hPU1QnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGNvbmZpZ3VyZSBhIFNvY2tzNSBwcm94eSBob3N0IHVzZWQgZm9yIGNyZWF0aW5nIFRDUCBjb25uZWN0aW9ucy4nLFxuICB9LFxuICBwcm94eVBhc3N3b3JkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX1BBU1NXT1JEJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBjb25maWd1cmUgYSBTb2NrczUgcHJveHkgcGFzc3dvcmQgd2hlbiB0aGUgcHJveHkgcmVxdWlyZXMgdXNlcm5hbWUvcGFzc3dvcmQgYXV0aGVudGljYXRpb24uJyxcbiAgfSxcbiAgcHJveHlQb3J0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX1BPUlQnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGNvbmZpZ3VyZSBhIFNvY2tzNSBwcm94eSBwb3J0IHVzZWQgZm9yIGNyZWF0aW5nIFRDUCBjb25uZWN0aW9ucy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3Byb3h5UG9ydCcpLFxuICB9LFxuICBwcm94eVVzZXJuYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX1VTRVJOQU1FJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBjb25maWd1cmUgYSBTb2NrczUgcHJveHkgdXNlcm5hbWUgd2hlbiB0aGUgcHJveHkgcmVxdWlyZXMgdXNlcm5hbWUvcGFzc3dvcmQgYXV0aGVudGljYXRpb24uJyxcbiAgfSxcbiAgcmVhZENvbmNlcm5MZXZlbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9SRUFEX0NPTkNFUk5fTEVWRUwnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGxldmVsIG9mIGlzb2xhdGlvbi4nLFxuICB9LFxuICByZWFkUHJlZmVyZW5jZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9SRUFEX1BSRUZFUkVOQ0UnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIHJlYWQgcHJlZmVyZW5jZXMgZm9yIHRoaXMgY29ubmVjdGlvbi4nLFxuICB9LFxuICByZWFkUHJlZmVyZW5jZVRhZ3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUkVBRF9QUkVGRVJFTkNFX1RBR1MnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIHRhZ3MgZG9jdW1lbnQgYXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBjb2xvbi1zZXBhcmF0ZWQga2V5LXZhbHVlIHBhaXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICByZXBsaWNhU2V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1JFUExJQ0FfU0VUJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSByZXBsaWNhIHNldCwgaWYgdGhlIG1vbmdvZCBpcyBhIG1lbWJlciBvZiBhIHJlcGxpY2Egc2V0LicsXG4gIH0sXG4gIHJldHJ5UmVhZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUkVUUllfUkVBRFMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGVuYWJsZSByZXRyeWFibGUgcmVhZHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgcmV0cnlXcml0ZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUkVUUllfV1JJVEVTJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgd2hldGhlciB0byByZXRyeSBmYWlsZWQgd3JpdGVzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHNjaGVtYUNhY2hlVHRsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NDSEVNQV9DQUNIRV9UVEwnLFxuICAgIGhlbHA6ICdUaGUgZHVyYXRpb24gaW4gc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgc2NoZW1hIGNhY2hlIGV4cGlyZXMgYW5kIHdpbGwgYmUgcmVmZXRjaGVkIGZyb20gdGhlIGRhdGFiYXNlLiBVc2UgdGhpcyBvcHRpb24gaWYgdXNpbmcgbXVsdGlwbGUgUGFyc2UgU2VydmVycyBpbnN0YW5jZXMgY29ubmVjdGVkIHRvIHRoZSBzYW1lIGRhdGFiYXNlLiBBIGxvdyBkdXJhdGlvbiB3aWxsIGNhdXNlIHRoZSBzY2hlbWEgY2FjaGUgdG8gYmUgdXBkYXRlZCB0b28gb2Z0ZW4sIGNhdXNpbmcgdW5uZWNlc3NhcnkgZGF0YWJhc2UgcmVhZHMuIEEgaGlnaCBkdXJhdGlvbiB3aWxsIGNhdXNlIHRoZSBzY2hlbWEgdG8gYmUgdXBkYXRlZCB0b28gcmFyZWx5LCBpbmNyZWFzaW5nIHRoZSB0aW1lIHJlcXVpcmVkIHVudGlsIHNjaGVtYSBjaGFuZ2VzIHByb3BhZ2F0ZSB0byBhbGwgc2VydmVyIGluc3RhbmNlcy4gVGhpcyBmZWF0dXJlIGNhbiBiZSB1c2VkIGFzIGFuIGFsdGVybmF0aXZlIG9yIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIG9wdGlvbiBgZW5hYmxlU2NoZW1hSG9va3NgLiBEZWZhdWx0IGlzIGluZmluaXRlIHdoaWNoIG1lYW5zIHRoZSBzY2hlbWEgY2FjaGUgbmV2ZXIgZXhwaXJlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3NjaGVtYUNhY2hlVHRsJyksXG4gIH0sXG4gIHNlcnZlck1vbml0b3JpbmdNb2RlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NFUlZFUl9NT05JVE9SSU5HX01PREUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGluc3RydWN0IHRoZSBkcml2ZXIgbW9uaXRvcnMgdG8gdXNlIGEgc3BlY2lmaWMgbW9uaXRvcmluZyBtb2RlLicsXG4gIH0sXG4gIHNlcnZlclNlbGVjdGlvblRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9TRVJWRVJfU0VMRUNUSU9OX1RJTUVPVVRfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lIGluIG1pbGxpc2Vjb25kcyBmb3IgYSBzZXJ2ZXIgdG8gYmUgY29uc2lkZXJlZCBzdWl0YWJsZSBmb3Igc2VsZWN0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc2VydmVyU2VsZWN0aW9uVGltZW91dE1TJyksXG4gIH0sXG4gIHNvY2tldFRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9TT0NLRVRfVElNRU9VVF9NUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUsIGluIG1pbGxpc2Vjb25kcywgc3BlbnQgYXR0ZW1wdGluZyB0byBzZW5kIG9yIHJlY2VpdmUgb24gYSBzb2NrZXQgYmVmb3JlIHRpbWluZyBvdXQuIFNwZWNpZnlpbmcgMCBtZWFucyBubyB0aW1lb3V0LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc29ja2V0VGltZW91dE1TJyksXG4gIH0sXG4gIHNydk1heEhvc3RzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NSVl9NQVhfSE9TVFMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIGhvc3RzIHRvIGNvbm5lY3QgdG8gd2hlbiB1c2luZyBhbiBzcnYgY29ubmVjdGlvbiBzdHJpbmcsIGEgc2V0dGluZyBvZiAwIG1lYW5zIHVubGltaXRlZCBob3N0cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3Nydk1heEhvc3RzJyksXG4gIH0sXG4gIHNydlNlcnZpY2VOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NSVl9TRVJWSUNFX05BTUUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIG1vZGlmeSB0aGUgc3J2IFVSSSBzZXJ2aWNlIG5hbWUuJyxcbiAgfSxcbiAgc3NsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NTTCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZW5hYmxlIG9yIGRpc2FibGUgVExTL1NTTCBmb3IgdGhlIGNvbm5lY3Rpb24gKGVxdWl2YWxlbnQgdG8gdGxzIG9wdGlvbikuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZW5hYmxlIG9yIGRpc2FibGUgVExTL1NTTCBmb3IgdGhlIGNvbm5lY3Rpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzQWxsb3dJbnZhbGlkQ2VydGlmaWNhdGVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19BTExPV19JTlZBTElEX0NFUlRJRklDQVRFUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gYnlwYXNzIHZhbGlkYXRpb24gb2YgdGhlIGNlcnRpZmljYXRlcyBwcmVzZW50ZWQgYnkgdGhlIG1vbmdvZC9tb25nb3MgaW5zdGFuY2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzQWxsb3dJbnZhbGlkSG9zdG5hbWVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19BTExPV19JTlZBTElEX0hPU1ROQU1FUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZGlzYWJsZSBob3N0bmFtZSB2YWxpZGF0aW9uIG9mIHRoZSBjZXJ0aWZpY2F0ZSBwcmVzZW50ZWQgYnkgdGhlIG1vbmdvZC9tb25nb3MgaW5zdGFuY2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzQ0FGaWxlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19DQUZJTEUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGxvY2F0aW9uIG9mIGEgbG9jYWwgLnBlbSBmaWxlIHRoYXQgY29udGFpbnMgdGhlIHJvb3QgY2VydGlmaWNhdGUgY2hhaW4gZnJvbSB0aGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5LicsXG4gIH0sXG4gIHRsc0NlcnRpZmljYXRlS2V5RmlsZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9UTFNfQ0VSVElGSUNBVEVfS0VZX0ZJTEUnLFxuICAgIGhlbHA6IFwiVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBsb2NhdGlvbiBvZiBhIGxvY2FsIC5wZW0gZmlsZSB0aGF0IGNvbnRhaW5zIHRoZSBjbGllbnQncyBUTFMvU1NMIGNlcnRpZmljYXRlIGFuZCBrZXkuXCIsXG4gIH0sXG4gIHRsc0NlcnRpZmljYXRlS2V5RmlsZVBhc3N3b3JkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19DRVJUSUZJQ0FURV9LRVlfRklMRV9QQVNTV09SRCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgcGFzc3dvcmQgdG8gZGVjcnlwdCB0aGUgdGxzQ2VydGlmaWNhdGVLZXlGaWxlLicsXG4gIH0sXG4gIHRsc0luc2VjdXJlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19JTlNFQ1VSRScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZGlzYWJsZSB2YXJpb3VzIGNlcnRpZmljYXRlIHZhbGlkYXRpb25zLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHdhaXRRdWV1ZVRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9XQUlUX1FVRVVFX1RJTUVPVVRfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCBhIHRocmVhZCBjYW4gd2FpdCBmb3IgYSBjb25uZWN0aW9uIHRvIGJlY29tZSBhdmFpbGFibGUuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCd3YWl0UXVldWVUaW1lb3V0TVMnKSxcbiAgfSxcbiAgemxpYkNvbXByZXNzaW9uTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfWkxJQl9DT01QUkVTU0lPTl9MRVZFTCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgY29tcHJlc3Npb24gbGV2ZWwgaWYgdXNpbmcgemxpYiBmb3IgbmV0d29yayBjb21wcmVzc2lvbiAoMC05KS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3psaWJDb21wcmVzc2lvbkxldmVsJyksXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuRGF0YWJhc2VPcHRpb25zQ2xpZW50TWV0YWRhdGEgPSB7XG4gIG5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ0xJRU5UX01FVEFEQVRBX05BTUUnLFxuICAgIGhlbHA6IFwiVGhlIG5hbWUgdG8gaWRlbnRpZnkgeW91ciBhcHBsaWNhdGlvbiBpbiBkYXRhYmFzZSBsb2dzIChlLmcuLCAnTXlBcHAnKS5cIixcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgdmVyc2lvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DTElFTlRfTUVUQURBVEFfVkVSU0lPTicsXG4gICAgaGVscDogXCJUaGUgdmVyc2lvbiBvZiB5b3VyIGFwcGxpY2F0aW9uIChlLmcuLCAnMS4wLjAnKS5cIixcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5BdXRoQWRhcHRlciA9IHtcbiAgZW5hYmxlZDoge1xuICAgIGhlbHA6ICdJcyBgdHJ1ZWAgaWYgdGhlIGF1dGggYWRhcHRlciBpcyBlbmFibGVkLCBgZmFsc2VgIG90aGVyd2lzZS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkxvZ0xldmVscyA9IHtcbiAgY2xvdWRGdW5jdGlvbkVycm9yOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfQ0xPVURfRlVOQ1RJT05fRVJST1InLFxuICAgIGhlbHA6ICdMb2cgbGV2ZWwgdXNlZCBieSB0aGUgQ2xvdWQgQ29kZSBGdW5jdGlvbnMgb24gZXJyb3IuIERlZmF1bHQgaXMgYGVycm9yYC4gU2VlIFtMb2dMZXZlbF0oTG9nTGV2ZWwuaHRtbCkgZm9yIGF2YWlsYWJsZSB2YWx1ZXMuJyxcbiAgICBkZWZhdWx0OiAnZXJyb3InLFxuICB9LFxuICBjbG91ZEZ1bmN0aW9uU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxTX0NMT1VEX0ZVTkNUSU9OX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICdMb2cgbGV2ZWwgdXNlZCBieSB0aGUgQ2xvdWQgQ29kZSBGdW5jdGlvbnMgb24gc3VjY2Vzcy4gRGVmYXVsdCBpcyBgaW5mb2AuIFNlZSBbTG9nTGV2ZWxdKExvZ0xldmVsLmh0bWwpIGZvciBhdmFpbGFibGUgdmFsdWVzLicsXG4gICAgZGVmYXVsdDogJ2luZm8nLFxuICB9LFxuICBzaWdudXBVc2VybmFtZVRha2VuOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfU0lHTlVQX1VTRVJOQU1FX1RBS0VOJyxcbiAgICBoZWxwOiAnTG9nIGxldmVsIHVzZWQgd2hlbiBhIHNpZ24tdXAgZmFpbHMgYmVjYXVzZSB0aGUgdXNlcm5hbWUgYWxyZWFkeSBleGlzdHMuIERlZmF1bHQgaXMgYGluZm9gLiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4nLFxuICAgIGRlZmF1bHQ6ICdpbmZvJyxcbiAgfSxcbiAgdHJpZ2dlckFmdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfVFJJR0dFUl9BRlRFUicsXG4gICAgaGVscDogJ0xvZyBsZXZlbCB1c2VkIGJ5IHRoZSBDbG91ZCBDb2RlIFRyaWdnZXJzIGBhZnRlclNhdmVgLCBgYWZ0ZXJEZWxldGVgLCBgYWZ0ZXJGaW5kYCwgYGFmdGVyTG9nb3V0YC4gRGVmYXVsdCBpcyBgaW5mb2AuIFNlZSBbTG9nTGV2ZWxdKExvZ0xldmVsLmh0bWwpIGZvciBhdmFpbGFibGUgdmFsdWVzLicsXG4gICAgZGVmYXVsdDogJ2luZm8nLFxuICB9LFxuICB0cmlnZ2VyQmVmb3JlRXJyb3I6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMU19UUklHR0VSX0JFRk9SRV9FUlJPUicsXG4gICAgaGVscDogJ0xvZyBsZXZlbCB1c2VkIGJ5IHRoZSBDbG91ZCBDb2RlIFRyaWdnZXJzIGBiZWZvcmVTYXZlYCwgYGJlZm9yZURlbGV0ZWAsIGBiZWZvcmVGaW5kYCwgYGJlZm9yZUxvZ2luYCBvbiBlcnJvci4gRGVmYXVsdCBpcyBgZXJyb3JgLiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4nLFxuICAgIGRlZmF1bHQ6ICdlcnJvcicsXG4gIH0sXG4gIHRyaWdnZXJCZWZvcmVTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfVFJJR0dFUl9CRUZPUkVfU1VDQ0VTUycsXG4gICAgaGVscDogJ0xvZyBsZXZlbCB1c2VkIGJ5IHRoZSBDbG91ZCBDb2RlIFRyaWdnZXJzIGBiZWZvcmVTYXZlYCwgYGJlZm9yZURlbGV0ZWAsIGBiZWZvcmVGaW5kYCwgYGJlZm9yZUxvZ2luYCBvbiBzdWNjZXNzLiBEZWZhdWx0IGlzIGBpbmZvYC4gU2VlIFtMb2dMZXZlbF0oTG9nTGV2ZWwuaHRtbCkgZm9yIGF2YWlsYWJsZSB2YWx1ZXMuJyxcbiAgICBkZWZhdWx0OiAnaW5mbycsXG4gIH0sXG59O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTtBQUNB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
1479
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZXJzIiwicmVxdWlyZSIsIm1vZHVsZSIsImV4cG9ydHMiLCJTY2hlbWFPcHRpb25zIiwiYWZ0ZXJNaWdyYXRpb24iLCJlbnYiLCJoZWxwIiwiYmVmb3JlTWlncmF0aW9uIiwiZGVmaW5pdGlvbnMiLCJyZXF1aXJlZCIsImFjdGlvbiIsIm9iamVjdFBhcnNlciIsImRlZmF1bHQiLCJkZWxldGVFeHRyYUZpZWxkcyIsImJvb2xlYW5QYXJzZXIiLCJrZWVwVW5rbm93bkluZGV4ZXMiLCJsb2NrU2NoZW1hcyIsInJlY3JlYXRlTW9kaWZpZWRGaWVsZHMiLCJzdHJpY3QiLCJQYXJzZVNlcnZlck9wdGlvbnMiLCJhY2NvdW50TG9ja291dCIsInR5cGUiLCJhbGxvd0NsaWVudENsYXNzQ3JlYXRpb24iLCJhbGxvd0N1c3RvbU9iamVjdElkIiwiYWxsb3dFeHBpcmVkQXV0aERhdGFUb2tlbiIsImFsbG93SGVhZGVycyIsImFycmF5UGFyc2VyIiwiYWxsb3dPcmlnaW4iLCJhbmFseXRpY3NBZGFwdGVyIiwibW9kdWxlT3JPYmplY3RQYXJzZXIiLCJhcHBJZCIsImFwcE5hbWUiLCJhdXRoIiwiY2FjaGVBZGFwdGVyIiwiY2FjaGVNYXhTaXplIiwibnVtYmVyUGFyc2VyIiwiY2FjaGVUVEwiLCJjbGllbnRLZXkiLCJjbG91ZCIsImNsdXN0ZXIiLCJudW1iZXJPckJvb2xlYW5QYXJzZXIiLCJjb2xsZWN0aW9uUHJlZml4IiwiY29udmVydEVtYWlsVG9Mb3dlcmNhc2UiLCJjb252ZXJ0VXNlcm5hbWVUb0xvd2VyY2FzZSIsImN1c3RvbVBhZ2VzIiwiZGF0YWJhc2VBZGFwdGVyIiwiZGF0YWJhc2VPcHRpb25zIiwiZGF0YWJhc2VVUkkiLCJkZWZhdWx0TGltaXQiLCJkaXJlY3RBY2Nlc3MiLCJkb3ROZXRLZXkiLCJlbWFpbEFkYXB0ZXIiLCJlbWFpbFZlcmlmeVN1Y2Nlc3NPbkludmFsaWRFbWFpbCIsImVtYWlsVmVyaWZ5VG9rZW5SZXVzZUlmVmFsaWQiLCJlbWFpbFZlcmlmeVRva2VuVmFsaWRpdHlEdXJhdGlvbiIsImVuYWJsZUFub255bW91c1VzZXJzIiwiZW5hYmxlQ29sbGF0aW9uQ2FzZUNvbXBhcmlzb24iLCJlbmFibGVFeHByZXNzRXJyb3JIYW5kbGVyIiwiZW5hYmxlSW5zZWN1cmVBdXRoQWRhcHRlcnMiLCJlbmFibGVQcm9kdWN0UHVyY2hhc2VMZWdhY3lBcGkiLCJlbmFibGVTYW5pdGl6ZWRFcnJvclJlc3BvbnNlIiwiZW5jcnlwdGlvbktleSIsImVuZm9yY2VQcml2YXRlVXNlcnMiLCJleHBpcmVJbmFjdGl2ZVNlc3Npb25zIiwiZXh0ZW5kU2Vzc2lvbk9uVXNlIiwiZmlsZUtleSIsImZpbGVzQWRhcHRlciIsImZpbGVVcGxvYWQiLCJncmFwaFFMUGF0aCIsImdyYXBoUUxQdWJsaWNJbnRyb3NwZWN0aW9uIiwiZ3JhcGhRTFNjaGVtYSIsImhvc3QiLCJpZGVtcG90ZW5jeU9wdGlvbnMiLCJqYXZhc2NyaXB0S2V5IiwianNvbkxvZ3MiLCJsaXZlUXVlcnkiLCJsaXZlUXVlcnlTZXJ2ZXJPcHRpb25zIiwibG9nZ2VyQWRhcHRlciIsImxvZ0xldmVsIiwibG9nTGV2ZWxzIiwibG9nc0ZvbGRlciIsIm1haW50ZW5hbmNlS2V5IiwibWFpbnRlbmFuY2VLZXlJcHMiLCJtYXN0ZXJLZXkiLCJtYXN0ZXJLZXlJcHMiLCJtYXN0ZXJLZXlUdGwiLCJtYXhMaW1pdCIsIm1heExvZ0ZpbGVzIiwibnVtYmVyT3JTdHJpbmdQYXJzZXIiLCJtYXhVcGxvYWRTaXplIiwibWlkZGxld2FyZSIsIm1vdW50R3JhcGhRTCIsIm1vdW50UGF0aCIsIm1vdW50UGxheWdyb3VuZCIsIm9iamVjdElkU2l6ZSIsInBhZ2VzIiwicGFzc3dvcmRQb2xpY3kiLCJwbGF5Z3JvdW5kUGF0aCIsInBvcnQiLCJwcmVzZXJ2ZUZpbGVOYW1lIiwicHJldmVudExvZ2luV2l0aFVudmVyaWZpZWRFbWFpbCIsImJvb2xlYW5PckZ1bmN0aW9uUGFyc2VyIiwicHJldmVudFNpZ251cFdpdGhVbnZlcmlmaWVkRW1haWwiLCJwcm90ZWN0ZWRGaWVsZHMiLCJfVXNlciIsInB1YmxpY1NlcnZlclVSTCIsInB1c2giLCJyYXRlTGltaXQiLCJyZWFkT25seU1hc3RlcktleSIsInJlYWRPbmx5TWFzdGVyS2V5SXBzIiwicmVxdWVzdENvbXBsZXhpdHkiLCJyZXF1ZXN0Q29udGV4dE1pZGRsZXdhcmUiLCJyZXF1ZXN0S2V5d29yZERlbnlsaXN0Iiwia2V5IiwidmFsdWUiLCJyZXN0QVBJS2V5IiwicmV2b2tlU2Vzc2lvbk9uUGFzc3dvcmRSZXNldCIsInNjaGVkdWxlZFB1c2giLCJzY2hlbWEiLCJzZWN1cml0eSIsInNlbmRVc2VyRW1haWxWZXJpZmljYXRpb24iLCJzZXJ2ZXJDbG9zZUNvbXBsZXRlIiwic2VydmVyVVJMIiwic2Vzc2lvbkxlbmd0aCIsInNpbGVudCIsInN0YXJ0TGl2ZVF1ZXJ5U2VydmVyIiwidHJ1c3RQcm94eSIsInVzZXJTZW5zaXRpdmVGaWVsZHMiLCJ2ZXJib3NlIiwidmVyaWZ5U2VydmVyVXJsIiwidmVyaWZ5VXNlckVtYWlscyIsIndlYmhvb2tLZXkiLCJSYXRlTGltaXRPcHRpb25zIiwiZXJyb3JSZXNwb25zZU1lc3NhZ2UiLCJpbmNsdWRlSW50ZXJuYWxSZXF1ZXN0cyIsImluY2x1ZGVNYXN0ZXJLZXkiLCJyZWRpc1VybCIsInJlcXVlc3RDb3VudCIsInJlcXVlc3RNZXRob2RzIiwicmVxdWVzdFBhdGgiLCJyZXF1ZXN0VGltZVdpbmRvdyIsInpvbmUiLCJSZXF1ZXN0Q29tcGxleGl0eU9wdGlvbnMiLCJncmFwaFFMRGVwdGgiLCJncmFwaFFMRmllbGRzIiwiaW5jbHVkZUNvdW50IiwiaW5jbHVkZURlcHRoIiwicXVlcnlEZXB0aCIsInN1YnF1ZXJ5RGVwdGgiLCJTZWN1cml0eU9wdGlvbnMiLCJjaGVja0dyb3VwcyIsImVuYWJsZUNoZWNrIiwiZW5hYmxlQ2hlY2tMb2ciLCJQYWdlc09wdGlvbnMiLCJjdXN0b21Sb3V0ZXMiLCJjdXN0b21VcmxzIiwiZW5hYmxlTG9jYWxpemF0aW9uIiwiZW5jb2RlUGFnZVBhcmFtSGVhZGVycyIsImZvcmNlUmVkaXJlY3QiLCJsb2NhbGl6YXRpb25GYWxsYmFja0xvY2FsZSIsImxvY2FsaXphdGlvbkpzb25QYXRoIiwicGFnZXNFbmRwb2ludCIsInBhZ2VzUGF0aCIsInBsYWNlaG9sZGVycyIsIlBhZ2VzUm91dGUiLCJoYW5kbGVyIiwibWV0aG9kIiwicGF0aCIsIlBhZ2VzQ3VzdG9tVXJsc09wdGlvbnMiLCJlbWFpbFZlcmlmaWNhdGlvbkxpbmtFeHBpcmVkIiwiZW1haWxWZXJpZmljYXRpb25MaW5rSW52YWxpZCIsImVtYWlsVmVyaWZpY2F0aW9uU2VuZEZhaWwiLCJlbWFpbFZlcmlmaWNhdGlvblNlbmRTdWNjZXNzIiwiZW1haWxWZXJpZmljYXRpb25TdWNjZXNzIiwicGFzc3dvcmRSZXNldCIsInBhc3N3b3JkUmVzZXRMaW5rSW52YWxpZCIsInBhc3N3b3JkUmVzZXRTdWNjZXNzIiwiQ3VzdG9tUGFnZXNPcHRpb25zIiwiY2hvb3NlUGFzc3dvcmQiLCJleHBpcmVkVmVyaWZpY2F0aW9uTGluayIsImludmFsaWRMaW5rIiwiaW52YWxpZFBhc3N3b3JkUmVzZXRMaW5rIiwiaW52YWxpZFZlcmlmaWNhdGlvbkxpbmsiLCJsaW5rU2VuZEZhaWwiLCJsaW5rU2VuZFN1Y2Nlc3MiLCJwYXJzZUZyYW1lVVJMIiwidmVyaWZ5RW1haWxTdWNjZXNzIiwiTGl2ZVF1ZXJ5T3B0aW9ucyIsImNsYXNzTmFtZXMiLCJwdWJTdWJBZGFwdGVyIiwicmVkaXNPcHRpb25zIiwicmVkaXNVUkwiLCJyZWdleFRpbWVvdXQiLCJ3c3NBZGFwdGVyIiwiTGl2ZVF1ZXJ5U2VydmVyT3B0aW9ucyIsImNhY2hlVGltZW91dCIsImtleVBhaXJzIiwid2Vic29ja2V0VGltZW91dCIsIklkZW1wb3RlbmN5T3B0aW9ucyIsInBhdGhzIiwidHRsIiwiQWNjb3VudExvY2tvdXRPcHRpb25zIiwiZHVyYXRpb24iLCJ0aHJlc2hvbGQiLCJ1bmxvY2tPblBhc3N3b3JkUmVzZXQiLCJQYXNzd29yZFBvbGljeU9wdGlvbnMiLCJkb05vdEFsbG93VXNlcm5hbWUiLCJtYXhQYXNzd29yZEFnZSIsIm1heFBhc3N3b3JkSGlzdG9yeSIsInJlc2V0UGFzc3dvcmRTdWNjZXNzT25JbnZhbGlkRW1haWwiLCJyZXNldFRva2VuUmV1c2VJZlZhbGlkIiwicmVzZXRUb2tlblZhbGlkaXR5RHVyYXRpb24iLCJ2YWxpZGF0aW9uRXJyb3IiLCJ2YWxpZGF0b3JDYWxsYmFjayIsInZhbGlkYXRvclBhdHRlcm4iLCJGaWxlVXBsb2FkT3B0aW9ucyIsImFsbG93ZWRGaWxlVXJsRG9tYWlucyIsImVuYWJsZUZvckFub255bW91c1VzZXIiLCJlbmFibGVGb3JBdXRoZW50aWNhdGVkVXNlciIsImVuYWJsZUZvclB1YmxpYyIsImZpbGVFeHRlbnNpb25zIiwiTG9nTGV2ZWwiLCJkZWJ1ZyIsImVycm9yIiwiaW5mbyIsInNpbGx5Iiwid2FybiIsIkxvZ0NsaWVudEV2ZW50Iiwia2V5cyIsIm5hbWUiLCJEYXRhYmFzZU9wdGlvbnMiLCJhbGxvd1B1YmxpY0V4cGxhaW4iLCJhdXRoTWVjaGFuaXNtIiwiYXV0aE1lY2hhbmlzbVByb3BlcnRpZXMiLCJhdXRoU291cmNlIiwiYXV0b1NlbGVjdEZhbWlseSIsImF1dG9TZWxlY3RGYW1pbHlBdHRlbXB0VGltZW91dCIsImJhdGNoU2l6ZSIsImNsaWVudE1ldGFkYXRhIiwiY29tcHJlc3NvcnMiLCJjb25uZWN0VGltZW91dE1TIiwiY3JlYXRlSW5kZXhBdXRoRGF0YVVuaXF1ZW5lc3MiLCJjcmVhdGVJbmRleFJvbGVOYW1lIiwiY3JlYXRlSW5kZXhVc2VyRW1haWwiLCJjcmVhdGVJbmRleFVzZXJFbWFpbENhc2VJbnNlbnNpdGl2ZSIsImNyZWF0ZUluZGV4VXNlckVtYWlsVmVyaWZ5VG9rZW4iLCJjcmVhdGVJbmRleFVzZXJQYXNzd29yZFJlc2V0VG9rZW4iLCJjcmVhdGVJbmRleFVzZXJVc2VybmFtZSIsImNyZWF0ZUluZGV4VXNlclVzZXJuYW1lQ2FzZUluc2Vuc2l0aXZlIiwiZGlyZWN0Q29ubmVjdGlvbiIsImRpc2FibGVJbmRleEZpZWxkVmFsaWRhdGlvbiIsImVuYWJsZVNjaGVtYUhvb2tzIiwiZm9yY2VTZXJ2ZXJPYmplY3RJZCIsImhlYXJ0YmVhdEZyZXF1ZW5jeU1TIiwibG9hZEJhbGFuY2VkIiwibG9jYWxUaHJlc2hvbGRNUyIsImxvZ0NsaWVudEV2ZW50cyIsIm1heENvbm5lY3RpbmciLCJtYXhJZGxlVGltZU1TIiwibWF4UG9vbFNpemUiLCJtYXhTdGFsZW5lc3NTZWNvbmRzIiwibWF4VGltZU1TIiwibWluUG9vbFNpemUiLCJwcm94eUhvc3QiLCJwcm94eVBhc3N3b3JkIiwicHJveHlQb3J0IiwicHJveHlVc2VybmFtZSIsInJlYWRDb25jZXJuTGV2ZWwiLCJyZWFkUHJlZmVyZW5jZSIsInJlYWRQcmVmZXJlbmNlVGFncyIsInJlcGxpY2FTZXQiLCJyZXRyeVJlYWRzIiwicmV0cnlXcml0ZXMiLCJzY2hlbWFDYWNoZVR0bCIsInNlcnZlck1vbml0b3JpbmdNb2RlIiwic2VydmVyU2VsZWN0aW9uVGltZW91dE1TIiwic29ja2V0VGltZW91dE1TIiwic3J2TWF4SG9zdHMiLCJzcnZTZXJ2aWNlTmFtZSIsInNzbCIsInRscyIsInRsc0FsbG93SW52YWxpZENlcnRpZmljYXRlcyIsInRsc0FsbG93SW52YWxpZEhvc3RuYW1lcyIsInRsc0NBRmlsZSIsInRsc0NlcnRpZmljYXRlS2V5RmlsZSIsInRsc0NlcnRpZmljYXRlS2V5RmlsZVBhc3N3b3JkIiwidGxzSW5zZWN1cmUiLCJ3YWl0UXVldWVUaW1lb3V0TVMiLCJ6bGliQ29tcHJlc3Npb25MZXZlbCIsIkRhdGFiYXNlT3B0aW9uc0NsaWVudE1ldGFkYXRhIiwidmVyc2lvbiIsIkF1dGhBZGFwdGVyIiwiZW5hYmxlZCIsIkxvZ0xldmVscyIsImNsb3VkRnVuY3Rpb25FcnJvciIsImNsb3VkRnVuY3Rpb25TdWNjZXNzIiwic2lnbnVwVXNlcm5hbWVUYWtlbiIsInRyaWdnZXJBZnRlciIsInRyaWdnZXJCZWZvcmVFcnJvciIsInRyaWdnZXJCZWZvcmVTdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL09wdGlvbnMvRGVmaW5pdGlvbnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbioqKiogR0VORVJBVEVEIENPREUgKioqKlxuVGhpcyBjb2RlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSByZXNvdXJjZXMvYnVpbGRDb25maWdEZWZpbml0aW9ucy5qc1xuRG8gbm90IGVkaXQgbWFudWFsbHksIGJ1dCB1cGRhdGUgT3B0aW9ucy9pbmRleC5qc1xuKi9cbnZhciBwYXJzZXJzID0gcmVxdWlyZSgnLi9wYXJzZXJzJyk7XG5tb2R1bGUuZXhwb3J0cy5TY2hlbWFPcHRpb25zID0ge1xuICBhZnRlck1pZ3JhdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TQ0hFTUFfQUZURVJfTUlHUkFUSU9OJyxcbiAgICBoZWxwOiAnRXhlY3V0ZSBhIGNhbGxiYWNrIGFmdGVyIHJ1bm5pbmcgc2NoZW1hIG1pZ3JhdGlvbnMuJyxcbiAgfSxcbiAgYmVmb3JlTWlncmF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9CRUZPUkVfTUlHUkFUSU9OJyxcbiAgICBoZWxwOiAnRXhlY3V0ZSBhIGNhbGxiYWNrIGJlZm9yZSBydW5uaW5nIHNjaGVtYSBtaWdyYXRpb25zLicsXG4gIH0sXG4gIGRlZmluaXRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9ERUZJTklUSU9OUycsXG4gICAgaGVscDogJ1Jlc3QgcmVwcmVzZW50YXRpb24gb24gUGFyc2UuU2NoZW1hIGh0dHBzOi8vZG9jcy5wYXJzZXBsYXRmb3JtLm9yZy9yZXN0L2d1aWRlLyNhZGRpbmctYS1zY2hlbWEnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIGRlbGV0ZUV4dHJhRmllbGRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9ERUxFVEVfRVhUUkFfRklFTERTJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBQYXJzZSBTZXJ2ZXIgc2hvdWxkIGRlbGV0ZSBhbnkgZmllbGRzIG5vdCBkZWZpbmVkIGluIGEgc2NoZW1hIGRlZmluaXRpb24uIFRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCBkdXJpbmcgZGV2ZWxvcG1lbnQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAga2VlcFVua25vd25JbmRleGVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9LRUVQX1VOS05PV05fSU5ERVhFUycsXG4gICAgaGVscDogXCIoT3B0aW9uYWwpIEtlZXAgaW5kZXhlcyB0aGF0IGFyZSBwcmVzZW50IGluIHRoZSBkYXRhYmFzZSBidXQgbm90IGRlZmluZWQgaW4gdGhlIHNjaGVtYS4gU2V0IHRoaXMgdG8gYHRydWVgIGlmIHlvdSBhcmUgYWRkaW5nIGluZGV4ZXMgbWFudWFsbHksIHNvIHRoYXQgdGhleSB3b24ndCBiZSByZW1vdmVkIHdoZW4gcnVubmluZyBzY2hlbWEgbWlncmF0aW9uLiBEZWZhdWx0IGlzIGBmYWxzZWAuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGxvY2tTY2hlbWFzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9MT0NLX1NDSEVNQVMnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIFBhcnNlIFNlcnZlciB3aWxsIHJlamVjdCBhbnkgYXR0ZW1wdHMgdG8gbW9kaWZ5IHRoZSBzY2hlbWEgd2hpbGUgdGhlIHNlcnZlciBpcyBydW5uaW5nLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHJlY3JlYXRlTW9kaWZpZWRGaWVsZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX1JFQ1JFQVRFX01PRElGSUVEX0ZJRUxEUycsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgUGFyc2UgU2VydmVyIHNob3VsZCByZWNyZWF0ZSBhbnkgZmllbGRzIHRoYXQgYXJlIGRpZmZlcmVudCBiZXR3ZWVuIHRoZSBjdXJyZW50IGRhdGFiYXNlIHNjaGVtYSBhbmQgdGhlc2NoZW1hIGRlZmluaXRpb24uIFRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCBkdXJpbmcgZGV2ZWxvcG1lbnQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgc3RyaWN0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9TVFJJQ1QnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIFBhcnNlIFNlcnZlciBzaG91bGQgZXhpdCBpZiBzY2hlbWEgdXBkYXRlIGZhaWwuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5QYXJzZVNlcnZlck9wdGlvbnMgPSB7XG4gIGFjY291bnRMb2Nrb3V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FDQ09VTlRfTE9DS09VVCcsXG4gICAgaGVscDogXCJUaGUgYWNjb3VudCBsb2Nrb3V0IHBvbGljeSBmb3IgZmFpbGVkIGxvZ2luIGF0dGVtcHRzLjxicj48YnI+Tm90ZTogU2V0dGluZyBhIHVzZXIncyBBQ0wgdG8gYW4gZW1wdHkgb2JqZWN0IGB7fWAgdmlhIG1hc3RlciBrZXkgaXMgYSBzZXBhcmF0ZSBtZWNoYW5pc20gdGhhdCBvbmx5IHByZXZlbnRzIG5ldyBsb2dpbnM7IGl0IGRvZXMgbm90IGludmFsaWRhdGUgZXhpc3Rpbmcgc2Vzc2lvbiB0b2tlbnMuIFRvIGltbWVkaWF0ZWx5IHJldm9rZSBhIHVzZXIncyBhY2Nlc3MsIGRlc3Ryb3kgdGhlaXIgc2Vzc2lvbnMgdmlhIG1hc3RlciBrZXkgaW4gYWRkaXRpb24gdG8gc2V0dGluZyB0aGUgQUNMLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0FjY291bnRMb2Nrb3V0T3B0aW9ucycsXG4gIH0sXG4gIGFsbG93Q2xpZW50Q2xhc3NDcmVhdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19DTElFTlRfQ0xBU1NfQ1JFQVRJT04nLFxuICAgIGhlbHA6ICdFbmFibGUgKG9yIGRpc2FibGUpIGNsaWVudCBjbGFzcyBjcmVhdGlvbiwgZGVmYXVsdHMgdG8gZmFsc2UnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBhbGxvd0N1c3RvbU9iamVjdElkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX0NVU1RPTV9PQkpFQ1RfSUQnLFxuICAgIGhlbHA6ICdFbmFibGUgKG9yIGRpc2FibGUpIGN1c3RvbSBvYmplY3RJZCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGFsbG93RXhwaXJlZEF1dGhEYXRhVG9rZW46IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUxMT1dfRVhQSVJFRF9BVVRIX0RBVEFfVE9LRU4nLFxuICAgIGhlbHA6ICdBbGxvdyBhIHVzZXIgdG8gbG9nIGluIGV2ZW4gaWYgdGhlIDNyZCBwYXJ0eSBhdXRoZW50aWNhdGlvbiB0b2tlbiB0aGF0IHdhcyB1c2VkIHRvIHNpZ24gaW4gdG8gdGhlaXIgYWNjb3VudCBoYXMgZXhwaXJlZC4gSWYgdGhpcyBpcyBzZXQgdG8gYGZhbHNlYCwgdGhlbiB0aGUgdG9rZW4gd2lsbCBiZSB2YWxpZGF0ZWQgZXZlcnkgdGltZSB0aGUgdXNlciBzaWducyBpbiB0byB0aGVpciBhY2NvdW50LiBUaGlzIHJlZmVycyB0byB0aGUgdG9rZW4gdGhhdCBpcyBzdG9yZWQgaW4gdGhlIGBfVXNlci5hdXRoRGF0YWAgZmllbGQuIERlZmF1bHRzIHRvIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgYWxsb3dIZWFkZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX0hFQURFUlMnLFxuICAgIGhlbHA6ICdBZGQgaGVhZGVycyB0byBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIGFsbG93T3JpZ2luOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX09SSUdJTicsXG4gICAgaGVscDogJ1NldHMgb3JpZ2lucyBmb3IgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLiBUaGlzIGNhbiBiZSBhIHN0cmluZyBmb3IgYSBzaW5nbGUgb3JpZ2luIG9yIGFuIGFycmF5IG9mIHN0cmluZ3MgZm9yIG11bHRpcGxlIG9yaWdpbnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIGFuYWx5dGljc0FkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQU5BTFlUSUNTX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgdGhlIGFuYWx5dGljcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBhcHBJZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BUFBMSUNBVElPTl9JRCcsXG4gICAgaGVscDogJ1lvdXIgUGFyc2UgQXBwbGljYXRpb24gSUQnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBhcHBOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FQUF9OQU1FJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgYXBwIG5hbWUnLFxuICB9LFxuICBhdXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FVVEhfUFJPVklERVJTJyxcbiAgICBoZWxwOiBcIkNvbmZpZ3VyYXRpb24gZm9yIHlvdXIgYXV0aGVudGljYXRpb24gcHJvdmlkZXJzLCBhcyBzdHJpbmdpZmllZCBKU09OLiBTZWUgaHR0cDovL2RvY3MucGFyc2VwbGF0Zm9ybS5vcmcvcGFyc2Utc2VydmVyL2d1aWRlLyNvYXV0aC1hbmQtM3JkLXBhcnR5LWF1dGhlbnRpY2F0aW9uPGJyPjxicj5Qcm92aWRlciBuYW1lcyBtdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIgYW5kIGNvbnRhaW4gb25seSBsZXR0ZXJzLCBkaWdpdHMsIGFuZCB1bmRlcnNjb3JlcyAoYC9eW0EtWmEtel1bQS1aYS16MC05X10qJC9gKS4gVGhpcyBpcyBiZWNhdXNlIGVhY2ggcHJvdmlkZXIgbmFtZSBpcyB1c2VkIHRvIGNvbnN0cnVjdCBhIGRhdGFiYXNlIGZpZWxkIChgX2F1dGhfZGF0YV88cHJvdmlkZXI+YCksIHdoaWNoIG11c3QgY29tcGx5IHdpdGggUGFyc2UgU2VydmVyJ3MgZmllbGQgbmFtaW5nIHJ1bGVzLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIGNhY2hlQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DQUNIRV9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBjYWNoZScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBjYWNoZU1heFNpemU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0FDSEVfTUFYX1NJWkUnLFxuICAgIGhlbHA6ICdTZXRzIHRoZSBtYXhpbXVtIHNpemUgZm9yIHRoZSBpbiBtZW1vcnkgY2FjaGUsIGRlZmF1bHRzIHRvIDEwMDAwJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdjYWNoZU1heFNpemUnKSxcbiAgICBkZWZhdWx0OiAxMDAwMCxcbiAgfSxcbiAgY2FjaGVUVEw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0FDSEVfVFRMJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgVFRMIGZvciB0aGUgaW4gbWVtb3J5IGNhY2hlIChpbiBtcyksIGRlZmF1bHRzIHRvIDUwMDAgKDUgc2Vjb25kcyknLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2NhY2hlVFRMJyksXG4gICAgZGVmYXVsdDogNTAwMCxcbiAgfSxcbiAgY2xpZW50S2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NMSUVOVF9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIGlPUywgTWFjT1MsIHR2T1MgY2xpZW50cycsXG4gIH0sXG4gIGNsb3VkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NMT1VEJyxcbiAgICBoZWxwOiAnRnVsbCBwYXRoIHRvIHlvdXIgY2xvdWQgY29kZSBtYWluLmpzJyxcbiAgfSxcbiAgY2x1c3Rlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DTFVTVEVSJyxcbiAgICBoZWxwOiAnUnVuIHdpdGggY2x1c3Rlciwgb3B0aW9uYWxseSBzZXQgdGhlIG51bWJlciBvZiBwcm9jZXNzZXMgZGVmYXVsdCB0byBvcy5jcHVzKCkubGVuZ3RoJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyT3JCb29sZWFuUGFyc2VyLFxuICB9LFxuICBjb2xsZWN0aW9uUHJlZml4OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NPTExFQ1RJT05fUFJFRklYJyxcbiAgICBoZWxwOiAnQSBjb2xsZWN0aW9uIHByZWZpeCBmb3IgdGhlIGNsYXNzZXMnLFxuICAgIGRlZmF1bHQ6ICcnLFxuICB9LFxuICBjb252ZXJ0RW1haWxUb0xvd2VyY2FzZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DT05WRVJUX0VNQUlMX1RPX0xPV0VSQ0FTRScsXG4gICAgaGVscDogJ09wdGlvbmFsLiBJZiBzZXQgdG8gYHRydWVgLCB0aGUgYGVtYWlsYCBwcm9wZXJ0eSBvZiBhIHVzZXIgaXMgYXV0b21hdGljYWxseSBjb252ZXJ0ZWQgdG8gbG93ZXJjYXNlIGJlZm9yZSBiZWluZyBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlLiBDb25zZXF1ZW50bHksIHF1ZXJpZXMgbXVzdCBtYXRjaCB0aGUgY2FzZSBhcyBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlLCB3aGljaCB3b3VsZCBiZSBsb3dlcmNhc2UgaW4gdGhpcyBzY2VuYXJpby4gSWYgYGZhbHNlYCwgdGhlIGBlbWFpbGAgcHJvcGVydHkgaXMgc3RvcmVkIGFzIHNldCwgd2l0aG91dCBhbnkgY2FzZSBtb2RpZmljYXRpb25zLiBEZWZhdWx0IGlzIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgY29udmVydFVzZXJuYW1lVG9Mb3dlcmNhc2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ09OVkVSVF9VU0VSTkFNRV9UT19MT1dFUkNBU0UnLFxuICAgIGhlbHA6ICdPcHRpb25hbC4gSWYgc2V0IHRvIGB0cnVlYCwgdGhlIGB1c2VybmFtZWAgcHJvcGVydHkgb2YgYSB1c2VyIGlzIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGxvd2VyY2FzZSBiZWZvcmUgYmVpbmcgc3RvcmVkIGluIHRoZSBkYXRhYmFzZS4gQ29uc2VxdWVudGx5LCBxdWVyaWVzIG11c3QgbWF0Y2ggdGhlIGNhc2UgYXMgc3RvcmVkIGluIHRoZSBkYXRhYmFzZSwgd2hpY2ggd291bGQgYmUgbG93ZXJjYXNlIGluIHRoaXMgc2NlbmFyaW8uIElmIGBmYWxzZWAsIHRoZSBgdXNlcm5hbWVgIHByb3BlcnR5IGlzIHN0b3JlZCBhcyBzZXQsIHdpdGhvdXQgYW55IGNhc2UgbW9kaWZpY2F0aW9ucy4gRGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGN1c3RvbVBhZ2VzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFUycsXG4gICAgaGVscDogJ2N1c3RvbSBwYWdlcyBmb3IgcGFzc3dvcmQgdmFsaWRhdGlvbiBhbmQgcmVzZXQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0N1c3RvbVBhZ2VzT3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGRhdGFiYXNlQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBkYXRhYmFzZTsgYW55IG9wdGlvbnMgdGhhdCBhcmUgbm90IGV4cGxpY2l0bHkgZGVzY3JpYmVkIGhlcmUgYXJlIHBhc3NlZCBkaXJlY3RseSB0byB0aGUgZGF0YWJhc2UgY2xpZW50LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBkYXRhYmFzZU9wdGlvbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfT1BUSU9OUycsXG4gICAgaGVscDogJ09wdGlvbnMgdG8gcGFzcyB0byB0aGUgZGF0YWJhc2UgY2xpZW50JyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdEYXRhYmFzZU9wdGlvbnMnLFxuICB9LFxuICBkYXRhYmFzZVVSSToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9VUkknLFxuICAgIGhlbHA6ICdUaGUgZnVsbCBVUkkgdG8geW91ciBkYXRhYmFzZS4gU3VwcG9ydGVkIGRhdGFiYXNlcyBhcmUgbW9uZ29kYiBvciBwb3N0Z3Jlcy4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlZmF1bHQ6ICdtb25nb2RiOi8vbG9jYWxob3N0OjI3MDE3L3BhcnNlJyxcbiAgfSxcbiAgZGVmYXVsdExpbWl0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RFRkFVTFRfTElNSVQnLFxuICAgIGhlbHA6ICdEZWZhdWx0IHZhbHVlIGZvciBsaW1pdCBvcHRpb24gb24gcXVlcmllcywgZGVmYXVsdHMgdG8gYDEwMGAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdkZWZhdWx0TGltaXQnKSxcbiAgICBkZWZhdWx0OiAxMDAsXG4gIH0sXG4gIGRpcmVjdEFjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9ESVJFQ1RfQUNDRVNTJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCBpZiBQYXJzZSByZXF1ZXN0cyB3aXRoaW4gdGhlIHNhbWUgTm9kZS5qcyBlbnZpcm9ubWVudCBhcyBQYXJzZSBTZXJ2ZXIgc2hvdWxkIGJlIHJvdXRlZCB0byBQYXJzZSBTZXJ2ZXIgZGlyZWN0bHkgaW5zdGVhZCBvZiB2aWEgdGhlIEhUVFAgaW50ZXJmYWNlLiBEZWZhdWx0IGlzIGBmYWxzZWAuPGJyPjxicj5JZiBzZXQgdG8gYGZhbHNlYCB0aGVuIFBhcnNlIHJlcXVlc3RzIHdpdGhpbiB0aGUgc2FtZSBOb2RlLmpzIGVudmlyb25tZW50IGFzIFBhcnNlIFNlcnZlciBhcmUgZXhlY3V0ZWQgYXMgSFRUUCByZXF1ZXN0cyBzZW50IHRvIFBhcnNlIFNlcnZlciB2aWEgdGhlIGBzZXJ2ZXJVUkxgLiBGb3IgZXhhbXBsZSwgYSBgUGFyc2UuUXVlcnlgIGluIENsb3VkIENvZGUgaXMgY2FsbGluZyBQYXJzZSBTZXJ2ZXIgdmlhIGEgSFRUUCByZXF1ZXN0LiBUaGUgc2VydmVyIGlzIGVzc2VudGlhbGx5IG1ha2luZyBhIEhUVFAgcmVxdWVzdCB0byBpdHNlbGYsIHVubmVjZXNzYXJpbHkgdXNpbmcgbmV0d29yayByZXNvdXJjZXMgc3VjaCBhcyBuZXR3b3JrIHBvcnRzLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgSW4gZW52aXJvbm1lbnRzIHdoZXJlIG11bHRpcGxlIFBhcnNlIFNlcnZlciBpbnN0YW5jZXMgcnVuIGJlaGluZCBhIGxvYWQgYmFsYW5jZXIgYW5kIFBhcnNlIHJlcXVlc3RzIHdpdGhpbiB0aGUgY3VycmVudCBOb2RlLmpzIGVudmlyb25tZW50IHNob3VsZCBiZSByb3V0ZWQgdmlhIHRoZSBsb2FkIGJhbGFuY2VyIGFuZCBkaXN0cmlidXRlZCBhcyBIVFRQIHJlcXVlc3RzIGFtb25nIGFsbCBpbnN0YW5jZXMgdmlhIHRoZSBgc2VydmVyVVJMYCwgdGhpcyBzaG91bGQgYmUgc2V0IHRvIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBkb3ROZXRLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRE9UX05FVF9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIFVuaXR5IGFuZCAuTmV0IFNESycsXG4gIH0sXG4gIGVtYWlsQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTUFJTF9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIGVtYWlsIHNlbmRpbmcnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgZW1haWxWZXJpZnlTdWNjZXNzT25JbnZhbGlkRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU1BSUxfVkVSSUZZX1NVQ0NFU1NfT05fSU5WQUxJRF9FTUFJTCcsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgaWYgYSByZXF1ZXN0IHRvIHZlcmlmeSB0aGUgZW1haWwgc2hvdWxkIHJldHVybiBhIHN1Y2Nlc3MgcmVzcG9uc2UgZXZlbiBpZiB0aGUgcHJvdmlkZWQgZW1haWwgYWRkcmVzcyBkb2VzIG5vdCBiZWxvbmcgdG8gYSB2ZXJpZmlhYmxlIGFjY291bnQsIGZvciBleGFtcGxlIGJlY2F1c2UgaXQgaXMgdW5rbm93biBvciBhbHJlYWR5IHZlcmlmaWVkLCBvciBgZmFsc2VgIGlmIHRoZSByZXF1ZXN0IHNob3VsZCByZXR1cm4gYW4gZXJyb3IgcmVzcG9uc2UgaW4gdGhvc2UgY2FzZXMuPGJyPjxicj5EZWZhdWx0IGlzIGB0cnVlYC48YnI+UmVxdWlyZXMgb3B0aW9uIGB2ZXJpZnlVc2VyRW1haWxzOiB0cnVlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGVtYWlsVmVyaWZ5VG9rZW5SZXVzZUlmVmFsaWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU1BSUxfVkVSSUZZX1RPS0VOX1JFVVNFX0lGX1ZBTElEJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCBpZiBhIGVtYWlsIHZlcmlmaWNhdGlvbiB0b2tlbiBzaG91bGQgYmUgcmV1c2VkIGluIGNhc2UgYW5vdGhlciB0b2tlbiBpcyByZXF1ZXN0ZWQgYnV0IHRoZXJlIGlzIGEgdG9rZW4gdGhhdCBpcyBzdGlsbCB2YWxpZCwgaS5lLiBoYXMgbm90IGV4cGlyZWQuIFRoaXMgYXZvaWRzIHRoZSBvZnRlbiBvYnNlcnZlZCBpc3N1ZSB0aGF0IGEgdXNlciByZXF1ZXN0cyBtdWx0aXBsZSBlbWFpbHMgYW5kIGRvZXMgbm90IGtub3cgd2hpY2ggbGluayBjb250YWlucyBhIHZhbGlkIHRva2VuIGJlY2F1c2UgZWFjaCBuZXdseSBnZW5lcmF0ZWQgdG9rZW4gd291bGQgaW52YWxpZGF0ZSB0aGUgcHJldmlvdXMgdG9rZW4uPGJyPjxicj5EZWZhdWx0IGlzIGBmYWxzZWAuPGJyPlJlcXVpcmVzIG9wdGlvbiBgdmVyaWZ5VXNlckVtYWlsczogdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZW1haWxWZXJpZnlUb2tlblZhbGlkaXR5RHVyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU1BSUxfVkVSSUZZX1RPS0VOX1ZBTElESVRZX0RVUkFUSU9OJyxcbiAgICBoZWxwOiAnU2V0IHRoZSB2YWxpZGl0eSBkdXJhdGlvbiBvZiB0aGUgZW1haWwgdmVyaWZpY2F0aW9uIHRva2VuIGluIHNlY29uZHMgYWZ0ZXIgd2hpY2ggdGhlIHRva2VuIGV4cGlyZXMuIFRoZSB0b2tlbiBpcyB1c2VkIGluIHRoZSBsaW5rIHRoYXQgaXMgc2V0IGluIHRoZSBlbWFpbC4gQWZ0ZXIgdGhlIHRva2VuIGV4cGlyZXMsIHRoZSBsaW5rIGJlY29tZXMgaW52YWxpZCBhbmQgYSBuZXcgbGluayBoYXMgdG8gYmUgc2VudC4gSWYgdGhlIG9wdGlvbiBpcyBub3Qgc2V0IG9yIHNldCB0byBgdW5kZWZpbmVkYCwgdGhlbiB0aGUgdG9rZW4gbmV2ZXIgZXhwaXJlcy48YnI+PGJyPkZvciBleGFtcGxlLCB0byBleHBpcmUgdGhlIHRva2VuIGFmdGVyIDIgaG91cnMsIHNldCBhIHZhbHVlIG9mIDcyMDAgc2Vjb25kcyAoPSA2MCBzZWNvbmRzICogNjAgbWludXRlcyAqIDIgaG91cnMpLjxicj48YnI+RGVmYXVsdCBpcyBgdW5kZWZpbmVkYC48YnI+UmVxdWlyZXMgb3B0aW9uIGB2ZXJpZnlVc2VyRW1haWxzOiB0cnVlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2VtYWlsVmVyaWZ5VG9rZW5WYWxpZGl0eUR1cmF0aW9uJyksXG4gIH0sXG4gIGVuYWJsZUFub255bW91c1VzZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQUJMRV9BTk9OX1VTRVJTJyxcbiAgICBoZWxwOiAnRW5hYmxlIChvciBkaXNhYmxlKSBhbm9ueW1vdXMgdXNlcnMsIGRlZmF1bHRzIHRvIHRydWUnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGVuYWJsZUNvbGxhdGlvbkNhc2VDb21wYXJpc29uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQUJMRV9DT0xMQVRJT05fQ0FTRV9DT01QQVJJU09OJyxcbiAgICBoZWxwOiAnT3B0aW9uYWwuIElmIHNldCB0byBgdHJ1ZWAsIHRoZSBjb2xsYXRpb24gcnVsZSBvZiBjYXNlIGNvbXBhcmlzb24gZm9yIHF1ZXJpZXMgYW5kIGluZGV4ZXMgaXMgZW5hYmxlZC4gRW5hYmxlIHRoaXMgb3B0aW9uIHRvIHJ1biBQYXJzZSBTZXJ2ZXIgd2l0aCBNb25nb0RCIEF0bGFzIFNlcnZlcmxlc3Mgb3IgQVdTIEFtYXpvbiBEb2N1bWVudERCLiBJZiBgZmFsc2VgLCB0aGUgY29sbGF0aW9uIHJ1bGUgb2YgY2FzZSBjb21wYXJpc29uIGlzIGRpc2FibGVkLiBEZWZhdWx0IGlzIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZW5hYmxlRXhwcmVzc0Vycm9ySGFuZGxlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkFCTEVfRVhQUkVTU19FUlJPUl9IQU5ETEVSJyxcbiAgICBoZWxwOiAnRW5hYmxlcyB0aGUgZGVmYXVsdCBleHByZXNzIGVycm9yIGhhbmRsZXIgZm9yIGFsbCBlcnJvcnMnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmFibGVJbnNlY3VyZUF1dGhBZGFwdGVyczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkFCTEVfSU5TRUNVUkVfQVVUSF9BREFQVEVSUycsXG4gICAgaGVscDogJ09wdGlvbmFsLiBFbmFibGVzIGluc2VjdXJlIGF1dGhlbnRpY2F0aW9uIGFkYXB0ZXJzLiBJbnNlY3VyZSBhdXRoIGFkYXB0ZXJzIGFyZSBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi4gRGVmYXVsdHMgdG8gYGZhbHNlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmFibGVQcm9kdWN0UHVyY2hhc2VMZWdhY3lBcGk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU5BQkxFX1BST0RVQ1RfUFVSQ0hBU0VfTEVHQUNZX0FQSScsXG4gICAgaGVscDogJ0RlcHJlY2F0ZWQuIEVuYWJsZXMgdGhlIGxlZ2FjeSBwcm9kdWN0IHB1cmNoYXNlIEFQSSBpbmNsdWRpbmcgdGhlIGBfUHJvZHVjdGAgY2xhc3MgYW5kIHRoZSBgL3ZhbGlkYXRlX3B1cmNoYXNlYCBlbmRwb2ludC4gVGhpcyBpcyBhbiB1bmRvY3VtZW50ZWQsIHVubWFpbnRhaW5lZCBsZWdhY3kgZmVhdHVyZSBpbmhlcml0ZWQgZnJvbSB0aGUgb3JpZ2luYWwgUGFyc2UgcGxhdGZvcm0gdGhhdCBtYXkgbm90IGZ1bmN0aW9uIGFzIGV4cGVjdGVkLiBXZSBzdHJvbmdseSBhZHZpc2UgYWdhaW5zdCB1c2luZyBpdC4gSXQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIG1ham9yIHZlcnNpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBlbmFibGVTYW5pdGl6ZWRFcnJvclJlc3BvbnNlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQUJMRV9TQU5JVElaRURfRVJST1JfUkVTUE9OU0UnLFxuICAgIGhlbHA6ICdJZiBzZXQgdG8gYHRydWVgLCBlcnJvciBkZXRhaWxzIGFyZSByZW1vdmVkIGZyb20gZXJyb3IgbWVzc2FnZXMgaW4gcmVzcG9uc2VzIHRvIGNsaWVudCByZXF1ZXN0cywgYW5kIGluc3RlYWQgYSBnZW5lcmljIGVycm9yIG1lc3NhZ2UgaXMgc2VudC4gRGVmYXVsdCBpcyBgdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBlbmNyeXB0aW9uS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQ1JZUFRJT05fS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciBlbmNyeXB0aW5nIHlvdXIgZmlsZXMnLFxuICB9LFxuICBlbmZvcmNlUHJpdmF0ZVVzZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VORk9SQ0VfUFJJVkFURV9VU0VSUycsXG4gICAgaGVscDogJ1NldCB0byB0cnVlIGlmIG5ldyB1c2VycyBzaG91bGQgYmUgY3JlYXRlZCB3aXRob3V0IHB1YmxpYyByZWFkIGFuZCB3cml0ZSBhY2Nlc3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBleHBpcmVJbmFjdGl2ZVNlc3Npb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VYUElSRV9JTkFDVElWRV9TRVNTSU9OUycsXG4gICAgaGVscDogJ1NldHMgd2hldGhlciB3ZSBzaG91bGQgZXhwaXJlIHRoZSBpbmFjdGl2ZSBzZXNzaW9ucywgZGVmYXVsdHMgdG8gdHJ1ZS4gSWYgZmFsc2UsIGFsbCBuZXcgc2Vzc2lvbnMgYXJlIGNyZWF0ZWQgd2l0aCBubyBleHBpcmF0aW9uIGRhdGUuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBleHRlbmRTZXNzaW9uT25Vc2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRVhURU5EX1NFU1NJT05fT05fVVNFJyxcbiAgICBoZWxwOiBcIldoZXRoZXIgUGFyc2UgU2VydmVyIHNob3VsZCBhdXRvbWF0aWNhbGx5IGV4dGVuZCBhIHZhbGlkIHNlc3Npb24gYnkgdGhlIHNlc3Npb25MZW5ndGguIEluIG9yZGVyIHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHNlc3Npb24gdXBkYXRlcyBpbiB0aGUgZGF0YWJhc2UsIGEgc2Vzc2lvbiB3aWxsIG9ubHkgYmUgZXh0ZW5kZWQgd2hlbiBhIHJlcXVlc3QgaXMgcmVjZWl2ZWQgYWZ0ZXIgYXQgbGVhc3QgaGFsZiBvZiB0aGUgY3VycmVudCBzZXNzaW9uJ3MgbGlmZXRpbWUgaGFzIHBhc3NlZC5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZmlsZUtleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX0tFWScsXG4gICAgaGVscDogJ0tleSBmb3IgeW91ciBmaWxlcycsXG4gIH0sXG4gIGZpbGVzQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFU19BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBmaWxlcyBzdWItc3lzdGVtJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIGZpbGVVcGxvYWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfT1BUSU9OUycsXG4gICAgaGVscDogJ09wdGlvbnMgZm9yIGZpbGUgdXBsb2FkcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnRmlsZVVwbG9hZE9wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBncmFwaFFMUGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9HUkFQSFFMX1BBVEgnLFxuICAgIGhlbHA6ICdUaGUgbW91bnQgcGF0aCBmb3IgdGhlIEdyYXBoUUwgZW5kcG9pbnQ8YnI+PGJyPlxcdTI2QTBcXHVGRTBGIEZpbGUgdXBsb2FkIGluc2lkZSB0aGUgR3JhcGhRTCBtdXRhdGlvbiBzeXN0ZW0gcmVxdWlyZXMgUGFyc2UgU2VydmVyIHRvIGJlIGFibGUgdG8gY2FsbCBpdHNlbGYgYnkgbWFraW5nIHJlcXVlc3RzIHRvIHRoZSBVUkwgc2V0IGluIGBzZXJ2ZXJVUkxgLjxicj48YnI+RGVmYXVsdHMgaXMgYC9ncmFwaHFsYC4nLFxuICAgIGRlZmF1bHQ6ICcvZ3JhcGhxbCcsXG4gIH0sXG4gIGdyYXBoUUxQdWJsaWNJbnRyb3NwZWN0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0dSQVBIUUxfUFVCTElDX0lOVFJPU1BFQ1RJT04nLFxuICAgIGhlbHA6ICdFbmFibGUgcHVibGljIGludHJvc3BlY3Rpb24gZm9yIHRoZSBHcmFwaFFMIGVuZHBvaW50LCBkZWZhdWx0cyB0byBmYWxzZScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGdyYXBoUUxTY2hlbWE6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfR1JBUEhfUUxTQ0hFTUEnLFxuICAgIGhlbHA6ICdGdWxsIHBhdGggdG8geW91ciBHcmFwaFFMIGN1c3RvbSBzY2hlbWEuZ3JhcGhxbCBmaWxlJyxcbiAgfSxcbiAgaG9zdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9IT1NUJyxcbiAgICBoZWxwOiAnVGhlIGhvc3QgdG8gc2VydmUgUGFyc2VTZXJ2ZXIgb24sIGRlZmF1bHRzIHRvIDAuMC4wLjAnLFxuICAgIGRlZmF1bHQ6ICcwLjAuMC4wJyxcbiAgfSxcbiAgaWRlbXBvdGVuY3lPcHRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VYUEVSSU1FTlRBTF9JREVNUE9URU5DWV9PUFRJT05TJyxcbiAgICBoZWxwOiAnT3B0aW9ucyBmb3IgcmVxdWVzdCBpZGVtcG90ZW5jeSB0byBkZWR1cGxpY2F0ZSBpZGVudGljYWwgcmVxdWVzdHMgdGhhdCBtYXkgYmUgY2F1c2VkIGJ5IG5ldHdvcmsgaXNzdWVzLiBDYXV0aW9uLCB0aGlzIGlzIGFuIGV4cGVyaW1lbnRhbCBmZWF0dXJlIHRoYXQgbWF5IG5vdCBiZSBhcHByb3ByaWF0ZSBmb3IgcHJvZHVjdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0lkZW1wb3RlbmN5T3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGphdmFzY3JpcHRLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfSkFWQVNDUklQVF9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIHRoZSBKYXZhc2NyaXB0IFNESycsXG4gIH0sXG4gIGpzb25Mb2dzOiB7XG4gICAgZW52OiAnSlNPTl9MT0dTJyxcbiAgICBoZWxwOiAnTG9nIGFzIHN0cnVjdHVyZWQgSlNPTiBvYmplY3RzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgbGl2ZVF1ZXJ5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVfUVVFUlknLFxuICAgIGhlbHA6IFwicGFyc2Utc2VydmVyJ3MgTGl2ZVF1ZXJ5IGNvbmZpZ3VyYXRpb24gb2JqZWN0XCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnTGl2ZVF1ZXJ5T3B0aW9ucycsXG4gIH0sXG4gIGxpdmVRdWVyeVNlcnZlck9wdGlvbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTElWRV9RVUVSWV9TRVJWRVJfT1BUSU9OUycsXG4gICAgaGVscDogJ0xpdmUgcXVlcnkgc2VydmVyIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyAod2lsbCBzdGFydCB0aGUgbGl2ZVF1ZXJ5IHNlcnZlciknLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0xpdmVRdWVyeVNlcnZlck9wdGlvbnMnLFxuICB9LFxuICBsb2dnZXJBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR0dFUl9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBsb2dnaW5nIHN1Yi1zeXN0ZW0nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgbG9nTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgbGV2ZWwgZm9yIGxvZ3MnLFxuICB9LFxuICBsb2dMZXZlbHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMUycsXG4gICAgaGVscDogJyhPcHRpb25hbCkgT3ZlcnJpZGVzIHRoZSBsb2cgbGV2ZWxzIHVzZWQgaW50ZXJuYWxseSBieSBQYXJzZSBTZXJ2ZXIgdG8gbG9nIGV2ZW50cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0xvZ0xldmVscycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGxvZ3NGb2xkZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HU19GT0xERVInLFxuICAgIGhlbHA6IFwiRm9sZGVyIGZvciB0aGUgbG9ncyAoZGVmYXVsdHMgdG8gJy4vbG9ncycpOyBzZXQgdG8gbnVsbCB0byBkaXNhYmxlIGZpbGUgYmFzZWQgbG9nZ2luZ1wiLFxuICAgIGRlZmF1bHQ6ICcuL2xvZ3MnLFxuICB9LFxuICBtYWludGVuYW5jZUtleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQUlOVEVOQU5DRV9LRVknLFxuICAgIGhlbHA6ICcoT3B0aW9uYWwpIFRoZSBtYWludGVuYW5jZSBrZXkgaXMgdXNlZCBmb3IgbW9kaWZ5aW5nIGludGVybmFsIGFuZCByZWFkLW9ubHkgZmllbGRzIG9mIFBhcnNlIFNlcnZlci48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIFRoaXMga2V5IGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIHBhcnQgb2YgYSByZWd1bGFyIG9wZXJhdGlvbiBvZiBQYXJzZSBTZXJ2ZXIuIFRoaXMga2V5IGlzIGludGVuZGVkIHRvIGNvbmR1Y3Qgb3V0LW9mLWJhbmQgY2hhbmdlcyBzdWNoIGFzIG9uZS10aW1lIG1pZ3JhdGlvbnMgb3IgZGF0YSBjb3JyZWN0aW9uIHRhc2tzLiBJbnRlcm5hbCBmaWVsZHMgYXJlIG5vdCBvZmZpY2lhbGx5IGRvY3VtZW50ZWQgYW5kIG1heSBjaGFuZ2UgYXQgYW55IHRpbWUgd2l0aG91dCBwdWJsaWNhdGlvbiBpbiByZWxlYXNlIGNoYW5nZWxvZ3MuIFdlIHN0cm9uZ2x5IGFkdmljZSBub3QgdG8gcmVseSBvbiBpbnRlcm5hbCBmaWVsZHMgYXMgcGFydCBvZiB5b3VyIHJlZ3VsYXIgb3BlcmF0aW9uIGFuZCB0byBpbnZlc3RpZ2F0ZSB0aGUgaW1wbGljYXRpb25zIG9mIGFueSBwbGFubmVkIGNoYW5nZXMgKmRpcmVjdGx5IGluIHRoZSBzb3VyY2UgY29kZSogb2YgeW91ciBjdXJyZW50IHZlcnNpb24gb2YgUGFyc2UgU2VydmVyLicsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIG1haW50ZW5hbmNlS2V5SXBzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BSU5URU5BTkNFX0tFWV9JUFMnLFxuICAgIGhlbHA6IFwiKE9wdGlvbmFsKSBSZXN0cmljdHMgdGhlIHVzZSBvZiBtYWludGVuYW5jZSBrZXkgcGVybWlzc2lvbnMgdG8gYSBsaXN0IG9mIElQIGFkZHJlc3NlcyBvciByYW5nZXMuPGJyPjxicj5UaGlzIG9wdGlvbiBhY2NlcHRzIGEgbGlzdCBvZiBzaW5nbGUgSVAgYWRkcmVzc2VzLCBmb3IgZXhhbXBsZSBgWycxMC4wLjAuMScsICcxMC4wLjAuMiddYC4gWW91IGNhbiBhbHNvIHVzZSBDSURSIG5vdGF0aW9uIHRvIHNwZWNpZnkgYW4gSVAgYWRkcmVzcyByYW5nZSwgZm9yIGV4YW1wbGUgYFsnMTAuMC4xLjAvMjQnXWAuPGJyPjxicj48Yj5TcGVjaWFsIHNjZW5hcmlvczo8L2I+PGJyPi0gU2V0dGluZyBhbiBlbXB0eSBhcnJheSBgW11gIG1lYW5zIHRoYXQgdGhlIG1haW50ZW5hbmNlIGtleSBjYW5ub3QgYmUgdXNlZCBldmVuIGluIFBhcnNlIFNlcnZlciBDbG91ZCBDb2RlLiBUaGlzIHZhbHVlIGNhbm5vdCBiZSBzZXQgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIGFzIHRoZXJlIGlzIG5vIHdheSB0byBwYXNzIGFuIGVtcHR5IGFycmF5IHRvIFBhcnNlIFNlcnZlciB2aWEgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuPGJyPi0gU2V0dGluZyBgWycwLjAuMC4wLzAnLCAnOjowJ11gIG1lYW5zIHRvIGFsbG93IGFueSBJUHY0IGFuZCBJUHY2IGFkZHJlc3MgdG8gdXNlIHRoZSBtYWludGVuYW5jZSBrZXkgYW5kIGVmZmVjdGl2ZWx5IGRpc2FibGVzIHRoZSBJUCBmaWx0ZXIuPGJyPjxicj48Yj5Db25zaWRlcmF0aW9uczo8L2I+PGJyPi0gSVB2NCBhbmQgSVB2NiBhZGRyZXNzZXMgYXJlIG5vdCBjb21wYXJlZCBhZ2FpbnN0IGVhY2ggb3RoZXIuIEVhY2ggSVAgdmVyc2lvbiAoSVB2NCBhbmQgSVB2NikgbmVlZHMgdG8gYmUgY29uc2lkZXJlZCBzZXBhcmF0ZWx5LiBGb3IgZXhhbXBsZSwgYFsnMC4wLjAuMC8wJ11gIGFsbG93cyBhbnkgSVB2NCBhZGRyZXNzIGFuZCBibG9ja3MgZXZlcnkgSVB2NiBhZGRyZXNzLiBDb252ZXJzZWx5LCBgWyc6OjAnXWAgYWxsb3dzIGFueSBJUHY2IGFkZHJlc3MgYW5kIGJsb2NrcyBldmVyeSBJUHY0IGFkZHJlc3MuPGJyPi0gS2VlcCBpbiBtaW5kIHRoYXQgdGhlIElQIHZlcnNpb24gaW4gdXNlIGRlcGVuZHMgb24gdGhlIG5ldHdvcmsgc3RhY2sgb2YgdGhlIGVudmlyb25tZW50IGluIHdoaWNoIFBhcnNlIFNlcnZlciBydW5zLiBBIGxvY2FsIGVudmlyb25tZW50IG1heSB1c2UgYSBkaWZmZXJlbnQgSVAgdmVyc2lvbiB0aGFuIGEgcmVtb3RlIGVudmlyb25tZW50LiBGb3IgZXhhbXBsZSwgaXQncyBwb3NzaWJsZSB0aGF0IGxvY2FsbHkgdGhlIHZhbHVlIGBbJzAuMC4wLjAvMCddYCBhbGxvd3MgdGhlIHJlcXVlc3QgSVAgYmVjYXVzZSB0aGUgZW52aXJvbm1lbnQgaXMgdXNpbmcgSVB2NCwgYnV0IHdoZW4gUGFyc2UgU2VydmVyIGlzIGRlcGxveWVkIHJlbW90ZWx5IHRoZSByZXF1ZXN0IElQIGlzIGJsb2NrZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGVudmlyb25tZW50IGlzIHVzaW5nIElQdjYuPGJyPi0gV2hlbiBzZXR0aW5nIHRoZSBvcHRpb24gdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRoZSBub3RhdGlvbiBpcyBhIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmcsIGZvciBleGFtcGxlIGBcXFwiMC4wLjAuMC8wLDo6MFxcXCJgLjxicj4tIElQdjYgem9uZSBpbmRpY2VzIChgJWAgc3VmZml4KSBhcmUgbm90IHN1cHBvcnRlZCwgZm9yIGV4YW1wbGUgYGZlODA6OjElZXRoMGAsIGBmZTgwOjoxJTFgIG9yIGA6OjElbG9gLjxicj48YnI+RGVmYXVsdHMgdG8gYFsnMTI3LjAuMC4xJywgJzo6MSddYCB3aGljaCBtZWFucyB0aGF0IG9ubHkgYGxvY2FsaG9zdGAsIHRoZSBzZXJ2ZXIgaW5zdGFuY2Ugb24gd2hpY2ggUGFyc2UgU2VydmVyIHJ1bnMsIGlzIGFsbG93ZWQgdG8gdXNlIHRoZSBtYWludGVuYW5jZSBrZXkuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFsnMTI3LjAuMC4xJywgJzo6MSddLFxuICB9LFxuICBtYXN0ZXJLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFTVEVSX0tFWScsXG4gICAgaGVscDogJ1lvdXIgUGFyc2UgTWFzdGVyIEtleScsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIG1hc3RlcktleUlwczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQVNURVJfS0VZX0lQUycsXG4gICAgaGVscDogXCIoT3B0aW9uYWwpIFJlc3RyaWN0cyB0aGUgdXNlIG9mIG1hc3RlciBrZXkgcGVybWlzc2lvbnMgdG8gYSBsaXN0IG9mIElQIGFkZHJlc3NlcyBvciByYW5nZXMuPGJyPjxicj5UaGlzIG9wdGlvbiBhY2NlcHRzIGEgbGlzdCBvZiBzaW5nbGUgSVAgYWRkcmVzc2VzLCBmb3IgZXhhbXBsZSBgWycxMC4wLjAuMScsICcxMC4wLjAuMiddYC4gWW91IGNhbiBhbHNvIHVzZSBDSURSIG5vdGF0aW9uIHRvIHNwZWNpZnkgYW4gSVAgYWRkcmVzcyByYW5nZSwgZm9yIGV4YW1wbGUgYFsnMTAuMC4xLjAvMjQnXWAuPGJyPjxicj48Yj5TcGVjaWFsIHNjZW5hcmlvczo8L2I+PGJyPi0gU2V0dGluZyBhbiBlbXB0eSBhcnJheSBgW11gIG1lYW5zIHRoYXQgdGhlIG1hc3RlciBrZXkgY2Fubm90IGJlIHVzZWQgZXZlbiBpbiBQYXJzZSBTZXJ2ZXIgQ2xvdWQgQ29kZS4gVGhpcyB2YWx1ZSBjYW5ub3QgYmUgc2V0IHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBhcyB0aGVyZSBpcyBubyB3YXkgdG8gcGFzcyBhbiBlbXB0eSBhcnJheSB0byBQYXJzZSBTZXJ2ZXIgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLjxicj4tIFNldHRpbmcgYFsnMC4wLjAuMC8wJywgJzo6MCddYCBtZWFucyB0byBhbGxvdyBhbnkgSVB2NCBhbmQgSVB2NiBhZGRyZXNzIHRvIHVzZSB0aGUgbWFzdGVyIGtleSBhbmQgZWZmZWN0aXZlbHkgZGlzYWJsZXMgdGhlIElQIGZpbHRlci48YnI+PGJyPjxiPkNvbnNpZGVyYXRpb25zOjwvYj48YnI+LSBJUHY0IGFuZCBJUHY2IGFkZHJlc3NlcyBhcmUgbm90IGNvbXBhcmVkIGFnYWluc3QgZWFjaCBvdGhlci4gRWFjaCBJUCB2ZXJzaW9uIChJUHY0IGFuZCBJUHY2KSBuZWVkcyB0byBiZSBjb25zaWRlcmVkIHNlcGFyYXRlbHkuIEZvciBleGFtcGxlLCBgWycwLjAuMC4wLzAnXWAgYWxsb3dzIGFueSBJUHY0IGFkZHJlc3MgYW5kIGJsb2NrcyBldmVyeSBJUHY2IGFkZHJlc3MuIENvbnZlcnNlbHksIGBbJzo6MCddYCBhbGxvd3MgYW55IElQdjYgYWRkcmVzcyBhbmQgYmxvY2tzIGV2ZXJ5IElQdjQgYWRkcmVzcy48YnI+LSBLZWVwIGluIG1pbmQgdGhhdCB0aGUgSVAgdmVyc2lvbiBpbiB1c2UgZGVwZW5kcyBvbiB0aGUgbmV0d29yayBzdGFjayBvZiB0aGUgZW52aXJvbm1lbnQgaW4gd2hpY2ggUGFyc2UgU2VydmVyIHJ1bnMuIEEgbG9jYWwgZW52aXJvbm1lbnQgbWF5IHVzZSBhIGRpZmZlcmVudCBJUCB2ZXJzaW9uIHRoYW4gYSByZW1vdGUgZW52aXJvbm1lbnQuIEZvciBleGFtcGxlLCBpdCdzIHBvc3NpYmxlIHRoYXQgbG9jYWxseSB0aGUgdmFsdWUgYFsnMC4wLjAuMC8wJ11gIGFsbG93cyB0aGUgcmVxdWVzdCBJUCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBpcyB1c2luZyBJUHY0LCBidXQgd2hlbiBQYXJzZSBTZXJ2ZXIgaXMgZGVwbG95ZWQgcmVtb3RlbHkgdGhlIHJlcXVlc3QgSVAgaXMgYmxvY2tlZCBiZWNhdXNlIHRoZSByZW1vdGUgZW52aXJvbm1lbnQgaXMgdXNpbmcgSVB2Ni48YnI+LSBXaGVuIHNldHRpbmcgdGhlIG9wdGlvbiB2aWEgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgdGhlIG5vdGF0aW9uIGlzIGEgY29tbWEtc2VwYXJhdGVkIHN0cmluZywgZm9yIGV4YW1wbGUgYFxcXCIwLjAuMC4wLzAsOjowXFxcImAuPGJyPi0gSVB2NiB6b25lIGluZGljZXMgKGAlYCBzdWZmaXgpIGFyZSBub3Qgc3VwcG9ydGVkLCBmb3IgZXhhbXBsZSBgZmU4MDo6MSVldGgwYCwgYGZlODA6OjElMWAgb3IgYDo6MSVsb2AuPGJyPjxicj5EZWZhdWx0cyB0byBgWycxMjcuMC4wLjEnLCAnOjoxJ11gIHdoaWNoIG1lYW5zIHRoYXQgb25seSBgbG9jYWxob3N0YCwgdGhlIHNlcnZlciBpbnN0YW5jZSBvbiB3aGljaCBQYXJzZSBTZXJ2ZXIgcnVucywgaXMgYWxsb3dlZCB0byB1c2UgdGhlIG1hc3RlciBrZXkuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFsnMTI3LjAuMC4xJywgJzo6MSddLFxuICB9LFxuICBtYXN0ZXJLZXlUdGw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFTVEVSX0tFWV9UVEwnLFxuICAgIGhlbHA6ICcoT3B0aW9uYWwpIFRoZSBkdXJhdGlvbiBpbiBzZWNvbmRzIGZvciB3aGljaCB0aGUgY3VycmVudCBgbWFzdGVyS2V5YCBpcyBiZWluZyB1c2VkIGJlZm9yZSBpdCBpcyByZXF1ZXN0ZWQgYWdhaW4gaWYgYG1hc3RlcktleWAgaXMgc2V0IHRvIGEgZnVuY3Rpb24uIElmIGBtYXN0ZXJLZXlgIGlzIG5vdCBzZXQgdG8gYSBmdW5jdGlvbiwgdGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdC4gRGVmYXVsdCBpcyBgMGAsIHdoaWNoIG1lYW5zIHRoZSBtYXN0ZXIga2V5IGlzIHJlcXVlc3RlZCBieSBpbnZva2luZyB0aGUgIGBtYXN0ZXJLZXlgIGZ1bmN0aW9uIGV2ZXJ5IHRpbWUgdGhlIG1hc3RlciBrZXkgaXMgdXNlZCBpbnRlcm5hbGx5IGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21hc3RlcktleVR0bCcpLFxuICB9LFxuICBtYXhMaW1pdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQVhfTElNSVQnLFxuICAgIGhlbHA6ICdNYXggdmFsdWUgZm9yIGxpbWl0IG9wdGlvbiBvbiBxdWVyaWVzLCBkZWZhdWx0cyB0byB1bmxpbWl0ZWQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heExpbWl0JyksXG4gIH0sXG4gIG1heExvZ0ZpbGVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BWF9MT0dfRklMRVMnLFxuICAgIGhlbHA6IFwiTWF4aW11bSBudW1iZXIgb2YgbG9ncyB0byBrZWVwLiBJZiBub3Qgc2V0LCBubyBsb2dzIHdpbGwgYmUgcmVtb3ZlZC4gVGhpcyBjYW4gYmUgYSBudW1iZXIgb2YgZmlsZXMgb3IgbnVtYmVyIG9mIGRheXMuIElmIHVzaW5nIGRheXMsIGFkZCAnZCcgYXMgdGhlIHN1ZmZpeC4gKGRlZmF1bHQ6IG51bGwpXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlck9yU3RyaW5nUGFyc2VyKCdtYXhMb2dGaWxlcycpLFxuICB9LFxuICBtYXhVcGxvYWRTaXplOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BWF9VUExPQURfU0laRScsXG4gICAgaGVscDogJ01heCBmaWxlIHNpemUgZm9yIHVwbG9hZHMsIGRlZmF1bHRzIHRvIDIwbWInLFxuICAgIGRlZmF1bHQ6ICcyMG1iJyxcbiAgfSxcbiAgbWlkZGxld2FyZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NSURETEVXQVJFJyxcbiAgICBoZWxwOiAnbWlkZGxld2FyZSBmb3IgZXhwcmVzcyBzZXJ2ZXIsIGNhbiBiZSBzdHJpbmcgb3IgZnVuY3Rpb24nLFxuICB9LFxuICBtb3VudEdyYXBoUUw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTU9VTlRfR1JBUEhRTCcsXG4gICAgaGVscDogJ01vdW50cyB0aGUgR3JhcGhRTCBlbmRwb2ludCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIG1vdW50UGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NT1VOVF9QQVRIJyxcbiAgICBoZWxwOiAnTW91bnQgcGF0aCBmb3IgdGhlIHNlcnZlciwgZGVmYXVsdHMgdG8gL3BhcnNlJyxcbiAgICBkZWZhdWx0OiAnL3BhcnNlJyxcbiAgfSxcbiAgbW91bnRQbGF5Z3JvdW5kOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01PVU5UX1BMQVlHUk9VTkQnLFxuICAgIGhlbHA6ICdEZXByZWNhdGVkLiBNb3VudHMgdGhlIEdyYXBoUUwgUGxheWdyb3VuZCB3aGljaCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi4gVGhlIHBsYXlncm91bmQgZXhwb3NlcyB0aGUgbWFzdGVyIGtleSBpbiB0aGUgYnJvd3Nlci4gVXNlIFBhcnNlIERhc2hib2FyZCBhcyBHcmFwaFFMIElERSBvciBjb25maWd1cmUgYSB0aGlyZC1wYXJ0eSBHcmFwaFFMIGNsaWVudCB3aXRoIGN1c3RvbSByZXF1ZXN0IGhlYWRlcnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgb2JqZWN0SWRTaXplOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX09CSkVDVF9JRF9TSVpFJyxcbiAgICBoZWxwOiBcIlNldHMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGluIGdlbmVyYXRlZCBvYmplY3QgaWQncywgZGVmYXVsdCAxMFwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ29iamVjdElkU2l6ZScpLFxuICAgIGRlZmF1bHQ6IDEwLFxuICB9LFxuICBwYWdlczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFUycsXG4gICAgaGVscDogJ1RoZSBvcHRpb25zIGZvciBwYWdlcyBzdWNoIGFzIHBhc3N3b3JkIHJlc2V0IGFuZCBlbWFpbCB2ZXJpZmljYXRpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdQYWdlc09wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBwYXNzd29yZFBvbGljeToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1knLFxuICAgIGhlbHA6ICdUaGUgcGFzc3dvcmQgcG9saWN5IGZvciBlbmZvcmNpbmcgcGFzc3dvcmQgcmVsYXRlZCBydWxlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ1Bhc3N3b3JkUG9saWN5T3B0aW9ucycsXG4gIH0sXG4gIHBsYXlncm91bmRQYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BMQVlHUk9VTkRfUEFUSCcsXG4gICAgaGVscDogJ0RlcHJlY2F0ZWQuIE1vdW50IHBhdGggZm9yIHRoZSBHcmFwaFFMIFBsYXlncm91bmQuIFRoZSBwbGF5Z3JvdW5kIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLicsXG4gICAgZGVmYXVsdDogJy9wbGF5Z3JvdW5kJyxcbiAgfSxcbiAgcG9ydDoge1xuICAgIGVudjogJ1BPUlQnLFxuICAgIGhlbHA6ICdUaGUgcG9ydCB0byBydW4gdGhlIFBhcnNlU2VydmVyLCBkZWZhdWx0cyB0byAxMzM3LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigncG9ydCcpLFxuICAgIGRlZmF1bHQ6IDEzMzcsXG4gIH0sXG4gIHByZXNlcnZlRmlsZU5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJFU0VSVkVfRklMRV9OQU1FJyxcbiAgICBoZWxwOiAnRW5hYmxlIChvciBkaXNhYmxlKSB0aGUgYWRkaXRpb24gb2YgYSB1bmlxdWUgaGFzaCB0byB0aGUgZmlsZSBuYW1lcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHByZXZlbnRMb2dpbldpdGhVbnZlcmlmaWVkRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJFVkVOVF9MT0dJTl9XSVRIX1VOVkVSSUZJRURfRU1BSUwnLFxuICAgIGhlbHA6IFwiU2V0IHRvIGB0cnVlYCB0byBwcmV2ZW50IGEgdXNlciBmcm9tIGxvZ2dpbmcgaW4gaWYgdGhlIGVtYWlsIGhhcyBub3QgeWV0IGJlZW4gdmVyaWZpZWQgYW5kIGVtYWlsIHZlcmlmaWNhdGlvbiBpcyByZXF1aXJlZC4gU3VwcG9ydHMgYSBmdW5jdGlvbiB3aXRoIGEgcmV0dXJuIHZhbHVlIG9mIGB0cnVlYCBvciBgZmFsc2VgIGZvciBjb25kaXRpb25hbCBwcmV2ZW50aW9uLiBUaGUgZnVuY3Rpb24gcmVjZWl2ZXMgYSByZXF1ZXN0IG9iamVjdCB0aGF0IGluY2x1ZGVzIGBjcmVhdGVkV2l0aGAgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgaW52b2NhdGlvbiBpcyBmb3IgYHNpZ251cGAgb3IgYGxvZ2luYCBhbmQgdGhlIHVzZWQgYXV0aCBwcm92aWRlci48YnI+PGJyPlRoZSBgY3JlYXRlZFdpdGhgIHZhbHVlcyBwZXIgc2NlbmFyaW86PHVsPjxsaT5QYXNzd29yZCBzaWdudXA6IGB7IGFjdGlvbjogJ3NpZ251cCcsIGF1dGhQcm92aWRlcjogJ3Bhc3N3b3JkJyB9YDwvbGk+PGxpPkF1dGggcHJvdmlkZXIgc2lnbnVwOiBgeyBhY3Rpb246ICdzaWdudXAnLCBhdXRoUHJvdmlkZXI6ICc8cHJvdmlkZXI+JyB9YDwvbGk+PGxpPlBhc3N3b3JkIGxvZ2luOiBgeyBhY3Rpb246ICdsb2dpbicsIGF1dGhQcm92aWRlcjogJ3Bhc3N3b3JkJyB9YDwvbGk+PGxpPkF1dGggcHJvdmlkZXIgbG9naW46IGZ1bmN0aW9uIG5vdCBpbnZva2VkOyBhdXRoIHByb3ZpZGVyIGxvZ2luIGJ5cGFzc2VzIGVtYWlsIHZlcmlmaWNhdGlvbjwvbGk+PC91bD5EZWZhdWx0IGlzIGBmYWxzZWAuPGJyPlJlcXVpcmVzIG9wdGlvbiBgdmVyaWZ5VXNlckVtYWlsczogdHJ1ZWAuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5PckZ1bmN0aW9uUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBwcmV2ZW50U2lnbnVwV2l0aFVudmVyaWZpZWRFbWFpbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QUkVWRU5UX1NJR05VUF9XSVRIX1VOVkVSSUZJRURfRU1BSUwnLFxuICAgIGhlbHA6IFwiSWYgc2V0IHRvIGB0cnVlYCBpdCBwcmV2ZW50cyBhIHVzZXIgZnJvbSBzaWduaW5nIHVwIGlmIHRoZSBlbWFpbCBoYXMgbm90IHlldCBiZWVuIHZlcmlmaWVkIGFuZCBlbWFpbCB2ZXJpZmljYXRpb24gaXMgcmVxdWlyZWQuIEluIHRoYXQgY2FzZSB0aGUgc2VydmVyIHJlc3BvbmRzIHRvIHRoZSBzaWduLXVwIHdpdGggSFRUUCBzdGF0dXMgNDAwIGFuZCBhIFBhcnNlIEVycm9yIDIwNSBgRU1BSUxfTk9UX0ZPVU5EYC4gSWYgc2V0IHRvIGBmYWxzZWAgdGhlIHNlcnZlciByZXNwb25kcyB3aXRoIEhUVFAgc3RhdHVzIDIwMCwgYW5kIGNsaWVudCBTREtzIHJldHVybiBhbiB1bmF1dGhlbnRpY2F0ZWQgUGFyc2UgVXNlciB3aXRob3V0IHNlc3Npb24gdG9rZW4uIEluIHRoYXQgY2FzZSBzdWJzZXF1ZW50IHJlcXVlc3RzIGZhaWwgdW50aWwgdGhlIHVzZXIncyBlbWFpbCBhZGRyZXNzIGlzIHZlcmlmaWVkLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLjxicj5SZXF1aXJlcyBvcHRpb24gYHZlcmlmeVVzZXJFbWFpbHM6IHRydWVgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBwcm90ZWN0ZWRGaWVsZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJPVEVDVEVEX0ZJRUxEUycsXG4gICAgaGVscDogJ1Byb3RlY3RlZCBmaWVsZHMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCB3aXRoIGV4dHJhIHNlY3VyaXR5IHdoZW4gZmV0Y2hpbmcgZGV0YWlscy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDoge1xuICAgICAgX1VzZXI6IHtcbiAgICAgICAgJyonOiBbJ2VtYWlsJ10sXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHB1YmxpY1NlcnZlclVSTDoge1xuICAgIGVudjogJ1BBUlNFX1BVQkxJQ19TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnT3B0aW9uYWwuIFRoZSBwdWJsaWMgVVJMIHRvIFBhcnNlIFNlcnZlci4gVGhpcyBVUkwgd2lsbCBiZSB1c2VkIHRvIHJlYWNoIFBhcnNlIFNlcnZlciBwdWJsaWNseSBmb3IgZmVhdHVyZXMgbGlrZSBwYXNzd29yZCByZXNldCBhbmQgZW1haWwgdmVyaWZpY2F0aW9uIGxpbmtzLiBUaGUgb3B0aW9uIGNhbiBiZSBzZXQgdG8gYSBzdHJpbmcgb3IgYSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBhc3luY2hyb25vdXNseSByZXNvbHZlZC4gVGhlIHJldHVybmVkIFVSTCBzdHJpbmcgbXVzdCBzdGFydCB3aXRoIGBodHRwOi8vYCBvciBgaHR0cHM6Ly9gLicsXG4gIH0sXG4gIHB1c2g6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFVTSCcsXG4gICAgaGVscDogJ0NvbmZpZ3VyYXRpb24gZm9yIHB1c2gsIGFzIHN0cmluZ2lmaWVkIEpTT04uIFNlZSBodHRwOi8vZG9jcy5wYXJzZXBsYXRmb3JtLm9yZy9wYXJzZS1zZXJ2ZXIvZ3VpZGUvI3B1c2gtbm90aWZpY2F0aW9ucycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmF0ZUxpbWl0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVQnLFxuICAgIGhlbHA6IFwiT3B0aW9ucyB0byBsaW1pdCByZXBlYXRlZCByZXF1ZXN0cyB0byBQYXJzZSBTZXJ2ZXIgQVBJcy4gVGhpcyBjYW4gYmUgdXNlZCB0byBwcm90ZWN0IHNlbnNpdGl2ZSBlbmRwb2ludHMgc3VjaCBhcyBgL3JlcXVlc3RQYXNzd29yZFJlc2V0YCBmcm9tIGJydXRlLWZvcmNlIGF0dGFja3Mgb3IgUGFyc2UgU2VydmVyIGFzIGEgd2hvbGUgZnJvbSBkZW5pYWwtb2Ytc2VydmljZSAoRG9TKSBhdHRhY2tzLjxicj48YnI+XFx1MjEzOVxcdUZFMEYgTWluZCB0aGUgZm9sbG93aW5nIGxpbWl0YXRpb25zOjxicj4tIHJhdGUgbGltaXRzIGFwcGxpZWQgcGVyIElQIGFkZHJlc3M7IHRoaXMgbGltaXRzIHByb3RlY3Rpb24gYWdhaW5zdCBkaXN0cmlidXRlZCBkZW5pYWwtb2Ytc2VydmljZSAoRERvUykgYXR0YWNrcyB3aGVyZSBtYW55IHJlcXVlc3RzIGFyZSBjb21pbmcgZnJvbSB2YXJpb3VzIElQIGFkZHJlc3Nlczxicj4tIGlmIG11bHRpcGxlIFBhcnNlIFNlcnZlciBpbnN0YW5jZXMgYXJlIGJlaGluZCBhIGxvYWQgYmFsYW5jZXIgb3IgcmFuIGluIGEgY2x1c3RlciwgZWFjaCBpbnN0YW5jZSB3aWxsIGNhbGN1bGF0ZSBpdCdzIG93biByZXF1ZXN0IHJhdGVzLCBpbmRlcGVuZGVudCBmcm9tIG90aGVyIGluc3RhbmNlczsgdGhpcyBsaW1pdHMgdGhlIGFwcGxpY2FiaWxpdHkgb2YgdGhpcyBmZWF0dXJlIHdoZW4gdXNpbmcgYSBsb2FkIGJhbGFuY2VyIGFuZCBhbm90aGVyIHJhdGUgbGltaXRpbmcgc29sdXRpb24gdGhhdCB0YWtlcyByZXF1ZXN0cyBhY3Jvc3MgYWxsIGluc3RhbmNlcyBpbnRvIGFjY291bnQgbWF5IGJlIG1vcmUgc3VpdGFibGU8YnI+LSB0aGlzIGZlYXR1cmUgcHJvdmlkZXMgYmFzaWMgcHJvdGVjdGlvbiBhZ2FpbnN0IGRlbmlhbC1vZi1zZXJ2aWNlIGF0dGFja3MsIGJ1dCBhIG1vcmUgc29waGlzdGljYXRlZCBzb2x1dGlvbiB3b3JrcyBlYXJsaWVyIGluIHRoZSByZXF1ZXN0IGZsb3cgYW5kIHByZXZlbnRzIGEgbWFsaWNpb3VzIHJlcXVlc3RzIHRvIGV2ZW4gcmVhY2ggYSBzZXJ2ZXIgaW5zdGFuY2U7IGl0J3MgdGhlcmVmb3JlIHJlY29tbWVuZGVkIHRvIGltcGxlbWVudCBhIHNvbHV0aW9uIGFjY29yZGluZyB0byBhcmNoaXRlY3R1cmUgYW5kIHVzZXIgY2FzZS5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgdHlwZTogJ1JhdGVMaW1pdE9wdGlvbnNbXScsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIHJlYWRPbmx5TWFzdGVyS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFQURfT05MWV9NQVNURVJfS0VZJyxcbiAgICBoZWxwOiAnUmVhZC1vbmx5IGtleSwgd2hpY2ggaGFzIHRoZSBzYW1lIGNhcGFiaWxpdGllcyBhcyBNYXN0ZXJLZXkgd2l0aG91dCB3cml0ZXMnLFxuICB9LFxuICByZWFkT25seU1hc3RlcktleUlwczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRUFEX09OTFlfTUFTVEVSX0tFWV9JUFMnLFxuICAgIGhlbHA6IFwiKE9wdGlvbmFsKSBSZXN0cmljdHMgdGhlIHVzZSBvZiByZWFkLW9ubHkgbWFzdGVyIGtleSBwZXJtaXNzaW9ucyB0byBhIGxpc3Qgb2YgSVAgYWRkcmVzc2VzIG9yIHJhbmdlcy48YnI+PGJyPlRoaXMgb3B0aW9uIGFjY2VwdHMgYSBsaXN0IG9mIHNpbmdsZSBJUCBhZGRyZXNzZXMsIGZvciBleGFtcGxlIGBbJzEwLjAuMC4xJywgJzEwLjAuMC4yJ11gLiBZb3UgY2FuIGFsc28gdXNlIENJRFIgbm90YXRpb24gdG8gc3BlY2lmeSBhbiBJUCBhZGRyZXNzIHJhbmdlLCBmb3IgZXhhbXBsZSBgWycxMC4wLjEuMC8yNCddYC48YnI+PGJyPjxiPlNwZWNpYWwgc2NlbmFyaW9zOjwvYj48YnI+LSBTZXR0aW5nIGFuIGVtcHR5IGFycmF5IGBbXWAgbWVhbnMgdGhhdCB0aGUgcmVhZC1vbmx5IG1hc3RlciBrZXkgY2Fubm90IGJlIHVzZWQgZXZlbiBpbiBQYXJzZSBTZXJ2ZXIgQ2xvdWQgQ29kZS4gVGhpcyB2YWx1ZSBjYW5ub3QgYmUgc2V0IHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBhcyB0aGVyZSBpcyBubyB3YXkgdG8gcGFzcyBhbiBlbXB0eSBhcnJheSB0byBQYXJzZSBTZXJ2ZXIgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLjxicj4tIFNldHRpbmcgYFsnMC4wLjAuMC8wJywgJzo6MCddYCBtZWFucyB0byBhbGxvdyBhbnkgSVB2NCBhbmQgSVB2NiBhZGRyZXNzIHRvIHVzZSB0aGUgcmVhZC1vbmx5IG1hc3RlciBrZXkgYW5kIGVmZmVjdGl2ZWx5IGRpc2FibGVzIHRoZSBJUCBmaWx0ZXIuPGJyPjxicj48Yj5Db25zaWRlcmF0aW9uczo8L2I+PGJyPi0gSVB2NCBhbmQgSVB2NiBhZGRyZXNzZXMgYXJlIG5vdCBjb21wYXJlZCBhZ2FpbnN0IGVhY2ggb3RoZXIuIEVhY2ggSVAgdmVyc2lvbiAoSVB2NCBhbmQgSVB2NikgbmVlZHMgdG8gYmUgY29uc2lkZXJlZCBzZXBhcmF0ZWx5LiBGb3IgZXhhbXBsZSwgYFsnMC4wLjAuMC8wJ11gIGFsbG93cyBhbnkgSVB2NCBhZGRyZXNzIGFuZCBibG9ja3MgZXZlcnkgSVB2NiBhZGRyZXNzLiBDb252ZXJzZWx5LCBgWyc6OjAnXWAgYWxsb3dzIGFueSBJUHY2IGFkZHJlc3MgYW5kIGJsb2NrcyBldmVyeSBJUHY0IGFkZHJlc3MuPGJyPi0gS2VlcCBpbiBtaW5kIHRoYXQgdGhlIElQIHZlcnNpb24gaW4gdXNlIGRlcGVuZHMgb24gdGhlIG5ldHdvcmsgc3RhY2sgb2YgdGhlIGVudmlyb25tZW50IGluIHdoaWNoIFBhcnNlIFNlcnZlciBydW5zLiBBIGxvY2FsIGVudmlyb25tZW50IG1heSB1c2UgYSBkaWZmZXJlbnQgSVAgdmVyc2lvbiB0aGFuIGEgcmVtb3RlIGVudmlyb25tZW50LiBGb3IgZXhhbXBsZSwgaXQncyBwb3NzaWJsZSB0aGF0IGxvY2FsbHkgdGhlIHZhbHVlIGBbJzAuMC4wLjAvMCddYCBhbGxvd3MgdGhlIHJlcXVlc3QgSVAgYmVjYXVzZSB0aGUgZW52aXJvbm1lbnQgaXMgdXNpbmcgSVB2NCwgYnV0IHdoZW4gUGFyc2UgU2VydmVyIGlzIGRlcGxveWVkIHJlbW90ZWx5IHRoZSByZXF1ZXN0IElQIGlzIGJsb2NrZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGVudmlyb25tZW50IGlzIHVzaW5nIElQdjYuPGJyPi0gV2hlbiBzZXR0aW5nIHRoZSBvcHRpb24gdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRoZSBub3RhdGlvbiBpcyBhIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmcsIGZvciBleGFtcGxlIGBcXFwiMC4wLjAuMC8wLDo6MFxcXCJgLjxicj4tIElQdjYgem9uZSBpbmRpY2VzIChgJWAgc3VmZml4KSBhcmUgbm90IHN1cHBvcnRlZCwgZm9yIGV4YW1wbGUgYGZlODA6OjElZXRoMGAsIGBmZTgwOjoxJTFgIG9yIGA6OjElbG9gLjxicj48YnI+RGVmYXVsdHMgdG8gYFsnMC4wLjAuMC8wJywgJzo6MCddYCB3aGljaCBtZWFucyB0aGF0IGFueSBJUCBhZGRyZXNzIGlzIGFsbG93ZWQgdG8gdXNlIHRoZSByZWFkLW9ubHkgbWFzdGVyIGtleS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gc2V0IHRoaXMgb3B0aW9uIHRvIGBbJzEyNy4wLjAuMScsICc6OjEnXWAgdG8gcmVzdHJpY3QgYWNjZXNzIHRvIGBsb2NhbGhvc3RgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbJzAuMC4wLjAvMCcsICc6OjAnXSxcbiAgfSxcbiAgcmVxdWVzdENvbXBsZXhpdHk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZJyxcbiAgICBoZWxwOiAnT3B0aW9ucyB0byBsaW1pdCB0aGUgY29tcGxleGl0eSBvZiByZXF1ZXN0cyB0byBwcmV2ZW50IGRlbmlhbC1vZi1zZXJ2aWNlIGF0dGFja3MuIExpbWl0cyBhcmUgZW5mb3JjZWQgZm9yIGFsbCByZXF1ZXN0cyBleGNlcHQgdGhvc2UgdXNpbmcgdGhlIG1hc3RlciBvciBtYWludGVuYW5jZSBrZXkuIEVhY2ggcHJvcGVydHkgY2FuIGJlIHNldCB0byBgLTFgIHRvIGRpc2FibGUgdGhhdCBzcGVjaWZpYyBsaW1pdC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ1JlcXVlc3RDb21wbGV4aXR5T3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIHJlcXVlc3RDb250ZXh0TWlkZGxld2FyZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTlRFWFRfTUlERExFV0FSRScsXG4gICAgaGVscDogJ09wdGlvbnMgdG8gY3VzdG9taXplIHRoZSByZXF1ZXN0IGNvbnRleHQgdXNpbmcgaW52ZXJzaW9uIG9mIGNvbnRyb2wvZGVwZW5kZW5jeSBpbmplY3Rpb24uJyxcbiAgfSxcbiAgcmVxdWVzdEtleXdvcmREZW55bGlzdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0tFWVdPUkRfREVOWUxJU1QnLFxuICAgIGhlbHA6ICdBbiBhcnJheSBvZiBrZXlzIGFuZCB2YWx1ZXMgdGhhdCBhcmUgcHJvaGliaXRlZCBpbiBkYXRhYmFzZSByZWFkIGFuZCB3cml0ZSByZXF1ZXN0cyB0byBwcmV2ZW50IHBvdGVudGlhbCBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMuIEl0IGlzIHBvc3NpYmxlIHRvIHNwZWNpZnkgb25seSBhIGtleSAoYHtcImtleVwiOlwiLi4uXCJ9YCksIG9ubHkgYSB2YWx1ZSAoYHtcInZhbHVlXCI6XCIuLi5cIn1gKSBvciBhIGtleS12YWx1ZSBwYWlyIChge1wia2V5XCI6XCIuLi5cIixcInZhbHVlXCI6XCIuLi5cIn1gKS4gVGhlIHNwZWNpZmljYXRpb24gY2FuIHVzZSB0aGUgZm9sbG93aW5nIHR5cGVzOiBgYm9vbGVhbmAsIGBudW1lcmljYCBvciBgc3RyaW5nYCwgd2hlcmUgYHN0cmluZ2Agd2lsbCBiZSBpbnRlcnByZXRlZCBhcyBhIHJlZ2V4IG5vdGF0aW9uLiBSZXF1ZXN0IGRhdGEgaXMgZGVlcC1zY2FubmVkIGZvciBtYXRjaGluZyBkZWZpbml0aW9ucyB0byBkZXRlY3QgYWxzbyBhbnkgbmVzdGVkIG9jY3VycmVuY2VzLiBEZWZhdWx0cyBhcmUgcGF0dGVybnMgdGhhdCBhcmUgbGlrZWx5IHRvIGJlIHVzZWQgaW4gbWFsaWNpb3VzIHJlcXVlc3RzLiBTZXR0aW5nIHRoaXMgb3B0aW9uIHdpbGwgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcGF0dGVybnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgZGVmYXVsdDogW1xuICAgICAge1xuICAgICAgICBrZXk6ICdfYnNvbnR5cGUnLFxuICAgICAgICB2YWx1ZTogJ0NvZGUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnY29uc3RydWN0b3InLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnX19wcm90b19fJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgcmVzdEFQSUtleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVNUX0FQSV9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIFJFU1QgY2FsbHMnLFxuICB9LFxuICByZXZva2VTZXNzaW9uT25QYXNzd29yZFJlc2V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFVk9LRV9TRVNTSU9OX09OX1BBU1NXT1JEX1JFU0VUJyxcbiAgICBoZWxwOiBcIldoZW4gYSB1c2VyIGNoYW5nZXMgdGhlaXIgcGFzc3dvcmQsIGVpdGhlciB0aHJvdWdoIHRoZSByZXNldCBwYXNzd29yZCBlbWFpbCBvciB3aGlsZSBsb2dnZWQgaW4sIGFsbCBzZXNzaW9ucyBhcmUgcmV2b2tlZCBpZiB0aGlzIGlzIHRydWUuIFNldCB0byBmYWxzZSBpZiB5b3UgZG9uJ3Qgd2FudCB0byByZXZva2Ugc2Vzc2lvbnMuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgc2NoZWR1bGVkUHVzaDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TQ0hFRFVMRURfUFVTSCcsXG4gICAgaGVscDogJ0NvbmZpZ3VyYXRpb24gZm9yIHB1c2ggc2NoZWR1bGluZywgZGVmYXVsdHMgdG8gZmFsc2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgc2NoZW1hOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQScsXG4gICAgaGVscDogJ0RlZmluZWQgc2NoZW1hJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdTY2hlbWFPcHRpb25zJyxcbiAgfSxcbiAgc2VjdXJpdHk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VDVVJJVFknLFxuICAgIGhlbHA6ICdUaGUgc2VjdXJpdHkgb3B0aW9ucyB0byBpZGVudGlmeSBhbmQgcmVwb3J0IHdlYWsgc2VjdXJpdHkgc2V0dGluZ3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdTZWN1cml0eU9wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBzZW5kVXNlckVtYWlsVmVyaWZpY2F0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFTkRfVVNFUl9FTUFJTF9WRVJJRklDQVRJT04nLFxuICAgIGhlbHA6ICdTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHNlbmRpbmcgb2YgdmVyaWZpY2F0aW9uIGVtYWlsLiBTdXBwb3J0cyBhIGZ1bmN0aW9uIHdpdGggYSByZXR1cm4gdmFsdWUgb2YgYHRydWVgIG9yIGBmYWxzZWAgZm9yIGNvbmRpdGlvbmFsIGVtYWlsIHNlbmRpbmcuPGJyPjxicj5EZWZhdWx0IGlzIGB0cnVlYC48YnI+JyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhbk9yRnVuY3Rpb25QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgc2VydmVyQ2xvc2VDb21wbGV0ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRVJWRVJfQ0xPU0VfQ09NUExFVEUnLFxuICAgIGhlbHA6ICdDYWxsYmFjayB3aGVuIHNlcnZlciBoYXMgY2xvc2VkJyxcbiAgfSxcbiAgc2VydmVyVVJMOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1VSTCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gUGFyc2UgU2VydmVyLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgQ2VydGFpbiBzZXJ2ZXIgZmVhdHVyZXMgb3IgYWRhcHRlcnMgbWF5IHJlcXVpcmUgUGFyc2UgU2VydmVyIHRvIGJlIGFibGUgdG8gY2FsbCBpdHNlbGYgYnkgbWFraW5nIHJlcXVlc3RzIHRvIHRoZSBVUkwgc2V0IGluIGBzZXJ2ZXJVUkxgLiBJZiBhIGZlYXR1cmUgcmVxdWlyZXMgdGhpcywgaXQgaXMgbWVudGlvbmVkIGluIHRoZSBkb2N1bWVudGF0aW9uLiBJbiB0aGF0IGNhc2UgZW5zdXJlIHRoYXQgdGhlIFVSTCBpcyBhY2Nlc3NpYmxlIGZyb20gdGhlIHNlcnZlciBpdHNlbGYuJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgc2Vzc2lvbkxlbmd0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRVNTSU9OX0xFTkdUSCcsXG4gICAgaGVscDogJ1Nlc3Npb24gZHVyYXRpb24sIGluIHNlY29uZHMsIGRlZmF1bHRzIHRvIDEgeWVhcicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc2Vzc2lvbkxlbmd0aCcpLFxuICAgIGRlZmF1bHQ6IDMxNTM2MDAwLFxuICB9LFxuICBzaWxlbnQ6IHtcbiAgICBlbnY6ICdTSUxFTlQnLFxuICAgIGhlbHA6ICdEaXNhYmxlcyBjb25zb2xlIG91dHB1dCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHN0YXJ0TGl2ZVF1ZXJ5U2VydmVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NUQVJUX0xJVkVfUVVFUllfU0VSVkVSJyxcbiAgICBoZWxwOiAnU3RhcnRzIHRoZSBsaXZlUXVlcnkgc2VydmVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdHJ1c3RQcm94eToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9UUlVTVF9QUk9YWScsXG4gICAgaGVscDogJ1RoZSB0cnVzdCBwcm94eSBzZXR0aW5ncy4gSXQgaXMgaW1wb3J0YW50IHRvIHVuZGVyc3RhbmQgdGhlIGV4YWN0IHNldHVwIG9mIHRoZSByZXZlcnNlIHByb3h5LCBzaW5jZSB0aGlzIHNldHRpbmcgd2lsbCB0cnVzdCB2YWx1ZXMgcHJvdmlkZWQgaW4gdGhlIFBhcnNlIFNlcnZlciBBUEkgcmVxdWVzdC4gU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly9leHByZXNzanMuY29tL2VuL2d1aWRlL2JlaGluZC1wcm94aWVzLmh0bWxcIj5leHByZXNzIHRydXN0IHByb3h5IHNldHRpbmdzPC9hPiBkb2N1bWVudGF0aW9uLiBEZWZhdWx0cyB0byBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiBbXSxcbiAgfSxcbiAgdXNlclNlbnNpdGl2ZUZpZWxkczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9VU0VSX1NFTlNJVElWRV9GSUVMRFMnLFxuICAgIGhlbHA6ICdQZXJzb25hbGx5IGlkZW50aWZpYWJsZSBpbmZvcm1hdGlvbiBmaWVsZHMgaW4gdGhlIHVzZXIgdGFibGUgdGhlIHNob3VsZCBiZSByZW1vdmVkIGZvciBub24tYXV0aG9yaXplZCB1c2Vycy4gRGVwcmVjYXRlZCBAc2VlIHByb3RlY3RlZEZpZWxkcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICB2ZXJib3NlOiB7XG4gICAgZW52OiAnVkVSQk9TRScsXG4gICAgaGVscDogJ1NldCB0aGUgbG9nZ2luZyB0byB2ZXJib3NlJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdmVyaWZ5U2VydmVyVXJsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1ZFUklGWV9TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnUGFyc2UgU2VydmVyIG1ha2VzIGEgSFRUUCByZXF1ZXN0IHRvIHRoZSBVUkwgc2V0IGluIGBzZXJ2ZXJVUkxgIGF0IHRoZSBlbmQgb2YgaXRzIGxhdW5jaCByb3V0aW5lIHRvIHZlcmlmeSB0aGF0IHRoZSBsYXVuY2ggc3VjY2VlZGVkLiBJZiB0aGlzIG9wdGlvbiBpcyBzZXQgdG8gYGZhbHNlYCwgdGhlIHZlcmlmaWNhdGlvbiB3aWxsIGJlIHNraXBwZWQuIFRoaXMgY2FuIGJlIHVzZWZ1bCBpbiBlbnZpcm9ubWVudHMgd2hlcmUgdGhlIHNlcnZlciBVUkwgaXMgbm90IGFjY2Vzc2libGUgZnJvbSB0aGUgc2VydmVyIGl0c2VsZiwgc3VjaCBhcyB3aGVuIHJ1bm5pbmcgYmVoaW5kIGEgZmlyZXdhbGwgb3IgaW4gY2VydGFpbiBjb250YWluZXJpemVkIGVudmlyb25tZW50cy48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIFNlcnZlciBVUkwgdmVyaWZpY2F0aW9uIHJlcXVpcmVzIFBhcnNlIFNlcnZlciB0byBiZSBhYmxlIHRvIGNhbGwgaXRzZWxmIGJ5IG1ha2luZyByZXF1ZXN0cyB0byB0aGUgVVJMIHNldCBpbiBgc2VydmVyVVJMYC48YnI+PGJyPkRlZmF1bHQgaXMgYHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgdmVyaWZ5VXNlckVtYWlsczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9WRVJJRllfVVNFUl9FTUFJTFMnLFxuICAgIGhlbHA6IFwiU2V0IHRvIGB0cnVlYCB0byByZXF1aXJlIHVzZXJzIHRvIHZlcmlmeSB0aGVpciBlbWFpbCBhZGRyZXNzIHRvIGNvbXBsZXRlIHRoZSBzaWduLXVwIHByb2Nlc3MuIFN1cHBvcnRzIGEgZnVuY3Rpb24gd2l0aCBhIHJldHVybiB2YWx1ZSBvZiBgdHJ1ZWAgb3IgYGZhbHNlYCBmb3IgY29uZGl0aW9uYWwgdmVyaWZpY2F0aW9uLiBUaGUgZnVuY3Rpb24gcmVjZWl2ZXMgYSByZXF1ZXN0IG9iamVjdCB0aGF0IGluY2x1ZGVzIGBjcmVhdGVkV2l0aGAgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgaW52b2NhdGlvbiBpcyBmb3IgYHNpZ251cGAgb3IgYGxvZ2luYCBhbmQgdGhlIHVzZWQgYXV0aCBwcm92aWRlci48YnI+PGJyPlRoZSBgY3JlYXRlZFdpdGhgIHZhbHVlcyBwZXIgc2NlbmFyaW86PHVsPjxsaT5QYXNzd29yZCBzaWdudXA6IGB7IGFjdGlvbjogJ3NpZ251cCcsIGF1dGhQcm92aWRlcjogJ3Bhc3N3b3JkJyB9YDwvbGk+PGxpPkF1dGggcHJvdmlkZXIgc2lnbnVwOiBgeyBhY3Rpb246ICdzaWdudXAnLCBhdXRoUHJvdmlkZXI6ICc8cHJvdmlkZXI+JyB9YDwvbGk+PGxpPlBhc3N3b3JkIGxvZ2luOiBgeyBhY3Rpb246ICdsb2dpbicsIGF1dGhQcm92aWRlcjogJ3Bhc3N3b3JkJyB9YDwvbGk+PGxpPkF1dGggcHJvdmlkZXIgbG9naW46IGZ1bmN0aW9uIG5vdCBpbnZva2VkOyBhdXRoIHByb3ZpZGVyIGxvZ2luIGJ5cGFzc2VzIGVtYWlsIHZlcmlmaWNhdGlvbjwvbGk+PGxpPlJlc2VuZCB2ZXJpZmljYXRpb24gZW1haWw6IGBjcmVhdGVkV2l0aGAgaXMgYHVuZGVmaW5lZGA7IHVzZSB0aGUgYHJlc2VuZFJlcXVlc3RgIHByb3BlcnR5IHRvIGlkZW50aWZ5IHRob3NlPC9saT48L3VsPkRlZmF1bHQgaXMgYGZhbHNlYC5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhbk9yRnVuY3Rpb25QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHdlYmhvb2tLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfV0VCSE9PS19LRVknLFxuICAgIGhlbHA6ICdLZXkgc2VudCB3aXRoIG91dGdvaW5nIHdlYmhvb2sgY2FsbHMnLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlJhdGVMaW1pdE9wdGlvbnMgPSB7XG4gIGVycm9yUmVzcG9uc2VNZXNzYWdlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVRfRVJST1JfUkVTUE9OU0VfTUVTU0FHRScsXG4gICAgaGVscDogJ1RoZSBlcnJvciBtZXNzYWdlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkIGluIHRoZSBib2R5IG9mIHRoZSBIVFRQIDQyOSByZXNwb25zZSB3aGVuIHRoZSByYXRlIGxpbWl0IGlzIGhpdC4gRGVmYXVsdCBpcyBgVG9vIG1hbnkgcmVxdWVzdHMuYC4nLFxuICAgIGRlZmF1bHQ6ICdUb28gbWFueSByZXF1ZXN0cy4nLFxuICB9LFxuICBpbmNsdWRlSW50ZXJuYWxSZXF1ZXN0czoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX0lOQ0xVREVfSU5URVJOQUxfUkVRVUVTVFMnLFxuICAgIGhlbHA6ICdPcHRpb25hbCwgaWYgYHRydWVgIHRoZSByYXRlIGxpbWl0IHdpbGwgYWxzbyBhcHBseSB0byByZXF1ZXN0cyB0aGF0IGFyZSBtYWRlIGluIGJ5IENsb3VkIENvZGUsIGRlZmF1bHQgaXMgYGZhbHNlYC4gTm90ZSB0aGF0IGEgcHVibGljIENsb3VkIENvZGUgZnVuY3Rpb24gdGhhdCB0cmlnZ2VycyBpbnRlcm5hbCByZXF1ZXN0cyBtYXkgY2lyY3VtdmVudCByYXRlIGxpbWl0aW5nIGFuZCBiZSB2dWxuZXJhYmxlIHRvIGF0dGFja3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgaW5jbHVkZU1hc3RlcktleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX0lOQ0xVREVfTUFTVEVSX0tFWScsXG4gICAgaGVscDogJ09wdGlvbmFsLCBpZiBgdHJ1ZWAgdGhlIHJhdGUgbGltaXQgd2lsbCBhbHNvIGFwcGx5IHRvIHJlcXVlc3RzIHVzaW5nIHRoZSBgbWFzdGVyS2V5YCwgZGVmYXVsdCBpcyBgZmFsc2VgLiBOb3RlIHRoYXQgYSBwdWJsaWMgQ2xvdWQgQ29kZSBmdW5jdGlvbiB0aGF0IHRyaWdnZXJzIGludGVybmFsIHJlcXVlc3RzIHVzaW5nIHRoZSBgbWFzdGVyS2V5YCBtYXkgY2lyY3VtdmVudCByYXRlIGxpbWl0aW5nIGFuZCBiZSB2dWxuZXJhYmxlIHRvIGF0dGFja3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcmVkaXNVcmw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9SRURJU19VUkwnLFxuICAgIGhlbHA6ICdPcHRpb25hbCwgdGhlIFVSTCBvZiB0aGUgUmVkaXMgc2VydmVyIHRvIHN0b3JlIHJhdGUgbGltaXQgZGF0YS4gVGhpcyBhbGxvd3MgdG8gcmF0ZSBsaW1pdCByZXF1ZXN0cyBmb3IgbXVsdGlwbGUgc2VydmVycyBieSBjYWxjdWxhdGluZyB0aGUgc3VtIG9mIGFsbCByZXF1ZXN0cyBhY3Jvc3MgYWxsIHNlcnZlcnMuIFRoaXMgaXMgdXNlZnVsIGlmIG11bHRpcGxlIHNlcnZlcnMgYXJlIHByb2Nlc3NpbmcgcmVxdWVzdHMgYmVoaW5kIGEgbG9hZCBiYWxhbmNlci4gRm9yIGV4YW1wbGUsIHRoZSBsaW1pdCBvZiAxMCByZXF1ZXN0cyBpcyByZWFjaGVkIGlmIGVhY2ggb2YgMiBzZXJ2ZXJzIHByb2Nlc3NlZCA1IHJlcXVlc3RzLicsXG4gIH0sXG4gIHJlcXVlc3RDb3VudDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFUVVFU1RfQ09VTlQnLFxuICAgIGhlbHA6ICdUaGUgbnVtYmVyIG9mIHJlcXVlc3RzIHRoYXQgY2FuIGJlIG1hZGUgcGVyIElQIGFkZHJlc3Mgd2l0aGluIHRoZSB0aW1lIHdpbmRvdyBzZXQgaW4gYHJlcXVlc3RUaW1lV2luZG93YCBiZWZvcmUgdGhlIHJhdGUgbGltaXQgaXMgYXBwbGllZC4gRm9yIGJhdGNoIHJlcXVlc3RzLCB0aGlzIGFsc28gbGltaXRzIHRoZSBudW1iZXIgb2Ygc3ViLXJlcXVlc3RzIGluIGEgc2luZ2xlIGJhdGNoIHRoYXQgdGFyZ2V0IHRoaXMgcGF0aDsgaG93ZXZlciwgcmVxdWVzdHMgYWxyZWFkeSBjb25zdW1lZCBpbiB0aGUgY3VycmVudCB0aW1lIHdpbmRvdyBhcmUgbm90IGNvdW50ZWQgYWdhaW5zdCB0aGUgYmF0Y2gsIHNvIHRoZSBlZmZlY3RpdmUgbGltaXQgbWF5IGJlIGhpZ2hlciB3aGVuIGNvbWJpbmluZyBpbmRpdmlkdWFsIGFuZCBiYXRjaCByZXF1ZXN0cy4gTm90ZSB0aGF0IHRoaXMgaXMgYSBiYXNpYyBzZXJ2ZXItbGV2ZWwgcmF0ZSBsaW1pdDsgZm9yIGNvbXByZWhlbnNpdmUgcHJvdGVjdGlvbiwgdXNlIGEgcmV2ZXJzZSBwcm94eSBvciBXQUYgZm9yIHJhdGUgbGltaXRpbmcuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdyZXF1ZXN0Q291bnQnKSxcbiAgfSxcbiAgcmVxdWVzdE1ldGhvZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9SRVFVRVNUX01FVEhPRFMnLFxuICAgIGhlbHA6ICdPcHRpb25hbCwgdGhlIEhUVFAgcmVxdWVzdCBtZXRob2RzIHRvIHdoaWNoIHRoZSByYXRlIGxpbWl0IHNob3VsZCBiZSBhcHBsaWVkLCBkZWZhdWx0IGlzIGFsbCBtZXRob2RzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICByZXF1ZXN0UGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFUVVFU1RfUEFUSCcsXG4gICAgaGVscDogJ1RoZSBwYXRoIG9mIHRoZSBBUEkgcm91dGUgdG8gYmUgcmF0ZSBsaW1pdGVkLiBSb3V0ZSBwYXRocywgaW4gY29tYmluYXRpb24gd2l0aCBhIHJlcXVlc3QgbWV0aG9kLCBkZWZpbmUgdGhlIGVuZHBvaW50cyBhdCB3aGljaCByZXF1ZXN0cyBjYW4gYmUgbWFkZS4gUm91dGUgcGF0aHMgY2FuIGJlIHN0cmluZ3Mgb3Igc3RyaW5nIHBhdHRlcm5zIGZvbGxvd2luZyA8YSBocmVmPVwiaHR0cHM6Ly9naXRodWIuY29tL3BpbGxhcmpzL3BhdGgtdG8tcmVnZXhwXCI+cGF0aC10by1yZWdleHAgdjg8L2E+IHN5bnRheC4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICByZXF1ZXN0VGltZVdpbmRvdzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFUVVFU1RfVElNRV9XSU5ET1cnLFxuICAgIGhlbHA6ICdUaGUgd2luZG93IG9mIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHdpdGhpbiB3aGljaCB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIHNldCBpbiBgcmVxdWVzdENvdW50YCBjYW4gYmUgbWFkZSBiZWZvcmUgdGhlIHJhdGUgbGltaXQgaXMgYXBwbGllZC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3JlcXVlc3RUaW1lV2luZG93JyksXG4gIH0sXG4gIHpvbmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9aT05FJyxcbiAgICBoZWxwOiAnVGhlIHR5cGUgb2YgcmF0ZSBsaW1pdCB0byBhcHBseS4gVGhlIGZvbGxvd2luZyB0eXBlcyBhcmUgc3VwcG9ydGVkOjx1bD48bGk+YGdsb2JhbGA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIG51bWJlciBvZiByZXF1ZXN0cyBtYWRlIGJ5IGFsbCB1c2VyczwvbGk+PGxpPmBpcGA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIElQIGFkZHJlc3Mgb2YgdGhlIHJlcXVlc3Q8L2xpPjxsaT5gdXNlcmA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIHVzZXIgSUQgb2YgdGhlIHJlcXVlc3Q8L2xpPjxsaT5gc2Vzc2lvbmA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIHNlc3Npb24gdG9rZW4gb2YgdGhlIHJlcXVlc3Q8L2xpPjwvdWw+RGVmYXVsdCBpcyBgaXBgLicsXG4gICAgZGVmYXVsdDogJ2lwJyxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5SZXF1ZXN0Q29tcGxleGl0eU9wdGlvbnMgPSB7XG4gIGdyYXBoUUxEZXB0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFlfR1JBUEhRTF9ERVBUSCcsXG4gICAgaGVscDogJ01heGltdW0gZGVwdGggb2YgR3JhcGhRTCBmaWVsZCBzZWxlY3Rpb25zLiBTZXQgdG8gYC0xYCB0byBkaXNhYmxlLiBEZWZhdWx0IGlzIGAtMWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdncmFwaFFMRGVwdGgnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbiAgZ3JhcGhRTEZpZWxkczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFlfR1JBUEhRTF9GSUVMRFMnLFxuICAgIGhlbHA6ICdNYXhpbXVtIG51bWJlciBvZiBmaWVsZCBzZWxlY3Rpb25zIGluIGEgR3JhcGhRTCBxdWVyeS4gU2V0IHRvIGAtMWAgdG8gZGlzYWJsZS4gRGVmYXVsdCBpcyBgLTFgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignZ3JhcGhRTEZpZWxkcycpLFxuICAgIGRlZmF1bHQ6IC0xLFxuICB9LFxuICBpbmNsdWRlQ291bnQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZX0lOQ0xVREVfQ09VTlQnLFxuICAgIGhlbHA6ICdNYXhpbXVtIG51bWJlciBvZiBpbmNsdWRlIHBhdGhzIGluIGEgc2luZ2xlIHF1ZXJ5LiBTZXQgdG8gYC0xYCB0byBkaXNhYmxlLiBEZWZhdWx0IGlzIGAtMWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdpbmNsdWRlQ291bnQnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbiAgaW5jbHVkZURlcHRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09NUExFWElUWV9JTkNMVURFX0RFUFRIJyxcbiAgICBoZWxwOiAnTWF4aW11bSBkZXB0aCBvZiBpbmNsdWRlIHBvaW50ZXIgY2hhaW5zIChlLmcuIGBhLmIuY2AgPSBkZXB0aCAzKS4gU2V0IHRvIGAtMWAgdG8gZGlzYWJsZS4gRGVmYXVsdCBpcyBgLTFgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignaW5jbHVkZURlcHRoJyksXG4gICAgZGVmYXVsdDogLTEsXG4gIH0sXG4gIHF1ZXJ5RGVwdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZX1FVRVJZX0RFUFRIJyxcbiAgICBoZWxwOiAnTWF4aW11bSBuZXN0aW5nIGRlcHRoIG9mIGAkb3JgLCBgJGFuZGAsIGAkbm9yYCBxdWVyeSBvcGVyYXRvcnMuIFNldCB0byBgLTFgIHRvIGRpc2FibGUuIERlZmF1bHQgaXMgYC0xYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3F1ZXJ5RGVwdGgnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbiAgc3VicXVlcnlEZXB0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFlfU1VCUVVFUllfREVQVEgnLFxuICAgIGhlbHA6ICdNYXhpbXVtIG5lc3RpbmcgZGVwdGggb2YgYCRpblF1ZXJ5YCwgYCRub3RJblF1ZXJ5YCwgYCRzZWxlY3RgLCBgJGRvbnRTZWxlY3RgIHN1YnF1ZXJpZXMuIFNldCB0byBgLTFgIHRvIGRpc2FibGUuIERlZmF1bHQgaXMgYC0xYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3N1YnF1ZXJ5RGVwdGgnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5TZWN1cml0eU9wdGlvbnMgPSB7XG4gIGNoZWNrR3JvdXBzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFQ1VSSVRZX0NIRUNLX0dST1VQUycsXG4gICAgaGVscDogJ1RoZSBzZWN1cml0eSBjaGVjayBncm91cHMgdG8gcnVuLiBUaGlzIGFsbG93cyB0byBhZGQgY3VzdG9tIHNlY3VyaXR5IGNoZWNrcyBvciBvdmVycmlkZSBleGlzdGluZyBvbmVzLiBEZWZhdWx0IGFyZSB0aGUgZ3JvdXBzIGRlZmluZWQgaW4gYENoZWNrR3JvdXBzLmpzYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgZW5hYmxlQ2hlY2s6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VDVVJJVFlfRU5BQkxFX0NIRUNLJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBQYXJzZSBTZXJ2ZXIgc2hvdWxkIGNoZWNrIGZvciB3ZWFrIHNlY3VyaXR5IHNldHRpbmdzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVuYWJsZUNoZWNrTG9nOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFQ1VSSVRZX0VOQUJMRV9DSEVDS19MT0cnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIHRoZSBzZWN1cml0eSBjaGVjayByZXBvcnQgc2hvdWxkIGJlIHdyaXR0ZW4gdG8gbG9ncy4gVGhpcyBzaG91bGQgb25seSBiZSBlbmFibGVkIHRlbXBvcmFyaWx5IHRvIG5vdCBleHBvc2Ugd2VhayBzZWN1cml0eSBzZXR0aW5ncyBpbiBsb2dzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUGFnZXNPcHRpb25zID0ge1xuICBjdXN0b21Sb3V0ZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1JPVVRFUycsXG4gICAgaGVscDogJ1RoZSBjdXN0b20gcm91dGVzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIHR5cGU6ICdQYWdlc1JvdXRlW10nLFxuICAgIGRlZmF1bHQ6IFtdLFxuICB9LFxuICBjdXN0b21VcmxzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxTJyxcbiAgICBoZWxwOiAnVGhlIFVSTHMgdG8gdGhlIGN1c3RvbSBwYWdlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ1BhZ2VzQ3VzdG9tVXJsc09wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBlbmFibGVMb2NhbGl6YXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfRU5BQkxFX0xPQ0FMSVpBVElPTicsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgcGFnZXMgc2hvdWxkIGJlIGxvY2FsaXplZDsgdGhpcyBoYXMgbm8gZWZmZWN0IG9uIGN1c3RvbSBwYWdlIHJlZGlyZWN0cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmNvZGVQYWdlUGFyYW1IZWFkZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0VOQ09ERV9QQUdFX1BBUkFNX0hFQURFUlMnLFxuICAgIGhlbHA6ICdJcyBgdHJ1ZWAgaWYgdGhlIHBhZ2UgcGFyYW1ldGVyIGhlYWRlcnMgc2hvdWxkIGJlIFVSSS1lbmNvZGVkLiBUaGlzIGlzIHJlcXVpcmVkIGlmIGFueSBwYWdlIHBhcmFtZXRlciB2YWx1ZSBjb250YWlucyBub24tQVNDSUkgY2hhcmFjdGVycywgc3VjaCBhcyB0aGUgYXBwIG5hbWUuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZm9yY2VSZWRpcmVjdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19GT1JDRV9SRURJUkVDVCcsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgcmVzcG9uc2VzIHNob3VsZCBhbHdheXMgYmUgcmVkaXJlY3RzIGFuZCBuZXZlciBjb250ZW50LCBmYWxzZSBpZiB0aGUgcmVzcG9uc2UgdHlwZSBzaG91bGQgZGVwZW5kIG9uIHRoZSByZXF1ZXN0IHR5cGUgKEdFVCByZXF1ZXN0IC0+IGNvbnRlbnQgcmVzcG9uc2U7IFBPU1QgcmVxdWVzdCAtPiByZWRpcmVjdCByZXNwb25zZSkuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgbG9jYWxpemF0aW9uRmFsbGJhY2tMb2NhbGU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfTE9DQUxJWkFUSU9OX0ZBTExCQUNLX0xPQ0FMRScsXG4gICAgaGVscDogJ1RoZSBmYWxsYmFjayBsb2NhbGUgZm9yIGxvY2FsaXphdGlvbiBpZiBubyBtYXRjaGluZyB0cmFuc2xhdGlvbiBpcyBwcm92aWRlZCBmb3IgdGhlIGdpdmVuIGxvY2FsZS4gVGhpcyBpcyBvbmx5IHJlbGV2YW50IHdoZW4gcHJvdmlkaW5nIHRyYW5zbGF0aW9uIHJlc291cmNlcyB2aWEgSlNPTiBmaWxlLicsXG4gICAgZGVmYXVsdDogJ2VuJyxcbiAgfSxcbiAgbG9jYWxpemF0aW9uSnNvblBhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfTE9DQUxJWkFUSU9OX0pTT05fUEFUSCcsXG4gICAgaGVscDogJ1RoZSBwYXRoIHRvIHRoZSBKU09OIGZpbGUgZm9yIGxvY2FsaXphdGlvbjsgdGhlIHRyYW5zbGF0aW9ucyB3aWxsIGJlIHVzZWQgdG8gZmlsbCB0ZW1wbGF0ZSBwbGFjZWhvbGRlcnMgYWNjb3JkaW5nIHRvIHRoZSBsb2NhbGUuJyxcbiAgfSxcbiAgcGFnZXNFbmRwb2ludDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19QQUdFU19FTkRQT0lOVCcsXG4gICAgaGVscDogXCJUaGUgQVBJIGVuZHBvaW50IGZvciB0aGUgcGFnZXMuIERlZmF1bHQgaXMgJ2FwcHMnLlwiLFxuICAgIGRlZmF1bHQ6ICdhcHBzJyxcbiAgfSxcbiAgcGFnZXNQYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1BBR0VTX1BBVEgnLFxuICAgIGhlbHA6IFwiVGhlIHBhdGggdG8gdGhlIHBhZ2VzIGRpcmVjdG9yeTsgdGhpcyBhbHNvIGRlZmluZXMgd2hlcmUgdGhlIHN0YXRpYyBlbmRwb2ludCAnL2FwcHMnIHBvaW50cyB0by4gRGVmYXVsdCBpcyB0aGUgJy4vcHVibGljLycgZGlyZWN0b3J5IG9mIHRoZSBwYXJzZS1zZXJ2ZXIgbW9kdWxlLlwiLFxuICB9LFxuICBwbGFjZWhvbGRlcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUExBQ0VIT0xERVJTJyxcbiAgICBoZWxwOiAnVGhlIHBsYWNlaG9sZGVyIGtleXMgYW5kIHZhbHVlcyB3aGljaCB3aWxsIGJlIGZpbGxlZCBpbiBwYWdlczsgdGhpcyBjYW4gYmUgYSBzaW1wbGUgb2JqZWN0IG9yIGEgY2FsbGJhY2sgZnVuY3Rpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlBhZ2VzUm91dGUgPSB7XG4gIGhhbmRsZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUk9VVEVfSEFORExFUicsXG4gICAgaGVscDogJ1RoZSByb3V0ZSBoYW5kbGVyIHRoYXQgaXMgYW4gYXN5bmMgZnVuY3Rpb24uJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgbWV0aG9kOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1JPVVRFX01FVEhPRCcsXG4gICAgaGVscDogXCJUaGUgcm91dGUgbWV0aG9kLCBlLmcuICdHRVQnIG9yICdQT1NUJy5cIixcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgcGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19ST1VURV9QQVRIJyxcbiAgICBoZWxwOiAnVGhlIHJvdXRlIHBhdGguJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5QYWdlc0N1c3RvbVVybHNPcHRpb25zID0ge1xuICBlbWFpbFZlcmlmaWNhdGlvbkxpbmtFeHBpcmVkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfRU1BSUxfVkVSSUZJQ0FUSU9OX0xJTktfRVhQSVJFRCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBlbWFpbCB2ZXJpZmljYXRpb24gLT4gbGluayBleHBpcmVkLicsXG4gIH0sXG4gIGVtYWlsVmVyaWZpY2F0aW9uTGlua0ludmFsaWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9FTUFJTF9WRVJJRklDQVRJT05fTElOS19JTlZBTElEJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiBsaW5rIGludmFsaWQuJyxcbiAgfSxcbiAgZW1haWxWZXJpZmljYXRpb25TZW5kRmFpbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9TRU5EX0ZBSUwnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgZW1haWwgdmVyaWZpY2F0aW9uIC0+IGxpbmsgc2VuZCBmYWlsLicsXG4gIH0sXG4gIGVtYWlsVmVyaWZpY2F0aW9uU2VuZFN1Y2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9FTUFJTF9WRVJJRklDQVRJT05fU0VORF9TVUNDRVNTJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiByZXNlbmQgbGluayAtPiBzdWNjZXNzLicsXG4gIH0sXG4gIGVtYWlsVmVyaWZpY2F0aW9uU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9TVUNDRVNTJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiBzdWNjZXNzLicsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9QQVNTV09SRF9SRVNFVCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBwYXNzd29yZCByZXNldC4nLFxuICB9LFxuICBwYXNzd29yZFJlc2V0TGlua0ludmFsaWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9QQVNTV09SRF9SRVNFVF9MSU5LX0lOVkFMSUQnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgcGFzc3dvcmQgcmVzZXQgLT4gbGluayBpbnZhbGlkLicsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXRTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfUEFTU1dPUkRfUkVTRVRfU1VDQ0VTUycsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBwYXNzd29yZCByZXNldCAtPiBzdWNjZXNzLicsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuQ3VzdG9tUGFnZXNPcHRpb25zID0ge1xuICBjaG9vc2VQYXNzd29yZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfQ0hPT1NFX1BBU1NXT1JEJyxcbiAgICBoZWxwOiAnY2hvb3NlIHBhc3N3b3JkIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGV4cGlyZWRWZXJpZmljYXRpb25MaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19FWFBJUkVEX1ZFUklGSUNBVElPTl9MSU5LJyxcbiAgICBoZWxwOiAnZXhwaXJlZCB2ZXJpZmljYXRpb24gbGluayBwYWdlIHBhdGgnLFxuICB9LFxuICBpbnZhbGlkTGluazoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfSU5WQUxJRF9MSU5LJyxcbiAgICBoZWxwOiAnaW52YWxpZCBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGludmFsaWRQYXNzd29yZFJlc2V0TGluazoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfSU5WQUxJRF9QQVNTV09SRF9SRVNFVF9MSU5LJyxcbiAgICBoZWxwOiAnaW52YWxpZCBwYXNzd29yZCByZXNldCBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGludmFsaWRWZXJpZmljYXRpb25MaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19JTlZBTElEX1ZFUklGSUNBVElPTl9MSU5LJyxcbiAgICBoZWxwOiAnaW52YWxpZCB2ZXJpZmljYXRpb24gbGluayBwYWdlIHBhdGgnLFxuICB9LFxuICBsaW5rU2VuZEZhaWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTX0xJTktfU0VORF9GQUlMJyxcbiAgICBoZWxwOiAndmVyaWZpY2F0aW9uIGxpbmsgc2VuZCBmYWlsIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGxpbmtTZW5kU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfTElOS19TRU5EX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICd2ZXJpZmljYXRpb24gbGluayBzZW5kIHN1Y2Nlc3MgcGFnZSBwYXRoJyxcbiAgfSxcbiAgcGFyc2VGcmFtZVVSTDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfUEFSU0VfRlJBTUVfVVJMJyxcbiAgICBoZWxwOiAnZm9yIG1hc2tpbmcgdXNlci1mYWNpbmcgcGFnZXMnLFxuICB9LFxuICBwYXNzd29yZFJlc2V0U3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfUEFTU1dPUkRfUkVTRVRfU1VDQ0VTUycsXG4gICAgaGVscDogJ3Bhc3N3b3JkIHJlc2V0IHN1Y2Nlc3MgcGFnZSBwYXRoJyxcbiAgfSxcbiAgdmVyaWZ5RW1haWxTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19WRVJJRllfRU1BSUxfU1VDQ0VTUycsXG4gICAgaGVscDogJ3ZlcmlmeSBlbWFpbCBzdWNjZXNzIHBhZ2UgcGF0aCcsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuTGl2ZVF1ZXJ5T3B0aW9ucyA9IHtcbiAgY2xhc3NOYW1lczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfQ0xBU1NOQU1FUycsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgY2xhc3NOYW1lc1wiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgcHViU3ViQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfUFVCX1NVQl9BREFQVEVSJyxcbiAgICBoZWxwOiAnTGl2ZVF1ZXJ5IHB1YnN1YiBhZGFwdGVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIHJlZGlzT3B0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfUkVESVNfT1BUSU9OUycsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgcmVkaXNPcHRpb25zXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmVkaXNVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTElWRVFVRVJZX1JFRElTX1VSTCcsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgcmVkaXNVUkxcIixcbiAgfSxcbiAgcmVnZXhUaW1lb3V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9SRUdFWF9USU1FT1VUJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgbWF4aW11bSBleGVjdXRpb24gdGltZSBpbiBtaWxsaXNlY29uZHMgZm9yIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJuIG1hdGNoaW5nIGluIExpdmVRdWVyeS4gVGhpcyBwcm90ZWN0cyBhZ2FpbnN0IFJlZ3VsYXIgRXhwcmVzc2lvbiBEZW5pYWwgb2YgU2VydmljZSAoUmVEb1MpIGF0dGFja3Mgd2hlcmUgYSBtYWxpY2lvdXMgcmVnZXggcGF0dGVybiBjb3VsZCBibG9jayB0aGUgZXZlbnQgbG9vcC4gQSByZWdleCB0aGF0IGV4Y2VlZHMgdGhlIHRpbWVvdXQgd2lsbCBiZSB0cmVhdGVkIGFzIG5vbi1tYXRjaGluZy48YnI+PGJyPlRoZSBwcm90ZWN0aW9uIHJ1bnMgZWFjaCByZWdleCBldmFsdWF0aW9uIGluIGFuIGlzb2xhdGVkIFZNIGNvbnRleHQgd2l0aCBhIHRpbWVvdXQuIFRoaXMgYWRkcyBhcHByb3hpbWF0ZWx5IDUwIG1pY3Jvc2Vjb25kcyBvZiBvdmVyaGVhZCBwZXIgcmVnZXggZXZhbHVhdGlvbi4gRm9yIG1vc3QgYXBwbGljYXRpb25zIHRoaXMgaXMgbmVnbGlnaWJsZSwgYnV0IGl0IGNhbiBhZGQgdXAgaWYgeW91IGhhdmUgYSB2ZXJ5IGxhcmdlIG51bWJlciBvZiBMaXZlUXVlcnkgc3Vic2NyaXB0aW9ucyB0aGF0IHVzZSBgJHJlZ2V4YCBvbiB0aGUgc2FtZSBjbGFzcy4gRm9yIGV4YW1wbGUsIDEwLDAwMCBjb25jdXJyZW50IHJlZ2V4IHN1YnNjcmlwdGlvbnMgd291bGQgYWRkIGFwcHJveGltYXRlbHkgNTAwbXMgb2YgcHJvY2Vzc2luZyB0aW1lIHBlciBvYmplY3Qgc2F2ZSBldmVudCBvbiB0aGF0IGNsYXNzLjxicj48YnI+U2V0IHRvIGAwYCB0byBkaXNhYmxlIHRoZSB0aW1lb3V0IGFuZCB1c2UgbmF0aXZlIHJlZ2V4IGV2YWx1YXRpb24gd2l0aG91dCBwcm90ZWN0aW9uLiBEZWZhdWx0cyB0byBgMTAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3JlZ2V4VGltZW91dCcpLFxuICAgIGRlZmF1bHQ6IDEwMCxcbiAgfSxcbiAgd3NzQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfV1NTX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgdGhlIFdlYlNvY2tldFNlcnZlcicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkxpdmVRdWVyeVNlcnZlck9wdGlvbnMgPSB7XG4gIGFwcElkOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfQVBQX0lEJyxcbiAgICBoZWxwOiAnVGhpcyBzdHJpbmcgc2hvdWxkIG1hdGNoIHRoZSBhcHBJZCBpbiB1c2UgYnkgeW91ciBQYXJzZSBTZXJ2ZXIuIElmIHlvdSBkZXBsb3kgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgYWxvbmdzaWRlIFBhcnNlIFNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gdXNlIHRoZSBzYW1lIGFwcElkLicsXG4gIH0sXG4gIGNhY2hlVGltZW91dDoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX0NBQ0hFX1RJTUVPVVQnLFxuICAgIGhlbHA6IFwiTnVtYmVyIGluIG1pbGxpc2Vjb25kcy4gV2hlbiBjbGllbnRzIHByb3ZpZGUgdGhlIHNlc3Npb25Ub2tlbiB0byB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gZmV0Y2ggaXRzIFBhcnNlVXNlcidzIG9iamVjdElkIGZyb20gcGFyc2Ugc2VydmVyIGFuZCBzdG9yZSBpdCBpbiB0aGUgY2FjaGUuIFRoZSB2YWx1ZSBkZWZpbmVzIHRoZSBkdXJhdGlvbiBvZiB0aGUgY2FjaGUuIENoZWNrIHRoZSBmb2xsb3dpbmcgU2VjdXJpdHkgc2VjdGlvbiBhbmQgb3VyIHByb3RvY29sIHNwZWNpZmljYXRpb24gZm9yIGRldGFpbHMsIGRlZmF1bHRzIHRvIDUgKiAxMDAwIG1zICg1IHNlY29uZHMpLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2NhY2hlVGltZW91dCcpLFxuICB9LFxuICBrZXlQYWlyczoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX0tFWV9QQUlSUycsXG4gICAgaGVscDogJ0EgSlNPTiBvYmplY3QgdGhhdCBzZXJ2ZXMgYXMgYSB3aGl0ZWxpc3Qgb2Yga2V5cy4gSXQgaXMgdXNlZCBmb3IgdmFsaWRhdGluZyBjbGllbnRzIHdoZW4gdGhleSB0cnkgdG8gY29ubmVjdCB0byB0aGUgTGl2ZVF1ZXJ5IHNlcnZlci4gQ2hlY2sgdGhlIGZvbGxvd2luZyBTZWN1cml0eSBzZWN0aW9uIGFuZCBvdXIgcHJvdG9jb2wgc3BlY2lmaWNhdGlvbiBmb3IgZGV0YWlscy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIGxvZ0xldmVsOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfTE9HX0xFVkVMJyxcbiAgICBoZWxwOiAnVGhpcyBzdHJpbmcgZGVmaW5lcyB0aGUgbG9nIGxldmVsIG9mIHRoZSBMaXZlUXVlcnkgc2VydmVyLiBXZSBzdXBwb3J0IFZFUkJPU0UsIElORk8sIEVSUk9SLCBOT05FLCBkZWZhdWx0cyB0byBJTkZPLicsXG4gIH0sXG4gIG1hc3RlcktleToge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX01BU1RFUl9LRVknLFxuICAgIGhlbHA6ICdUaGlzIHN0cmluZyBzaG91bGQgbWF0Y2ggdGhlIG1hc3RlcktleSBpbiB1c2UgYnkgeW91ciBQYXJzZSBTZXJ2ZXIuIElmIHlvdSBkZXBsb3kgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgYWxvbmdzaWRlIFBhcnNlIFNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gdXNlIHRoZSBzYW1lIG1hc3RlcktleS4nLFxuICB9LFxuICBwb3J0OiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfUE9SVCcsXG4gICAgaGVscDogJ1RoZSBwb3J0IHRvIHJ1biB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciwgZGVmYXVsdHMgdG8gMTMzNy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3BvcnQnKSxcbiAgICBkZWZhdWx0OiAxMzM3LFxuICB9LFxuICBwdWJTdWJBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfUFVCX1NVQl9BREFQVEVSJyxcbiAgICBoZWxwOiAnTGl2ZVF1ZXJ5IHB1YnN1YiBhZGFwdGVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIHJlZGlzT3B0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1JFRElTX09QVElPTlMnLFxuICAgIGhlbHA6IFwicGFyc2Utc2VydmVyJ3MgTGl2ZVF1ZXJ5IHJlZGlzT3B0aW9uc1wiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIHJlZGlzVVJMOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfUkVESVNfVVJMJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSByZWRpc1VSTFwiLFxuICB9LFxuICBzZXJ2ZXJVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnVGhpcyBzdHJpbmcgc2hvdWxkIG1hdGNoIHRoZSBzZXJ2ZXJVUkwgaW4gdXNlIGJ5IHlvdXIgUGFyc2UgU2VydmVyLiBJZiB5b3UgZGVwbG95IHRoZSBMaXZlUXVlcnkgc2VydmVyIGFsb25nc2lkZSBQYXJzZSBTZXJ2ZXIsIHRoZSBMaXZlUXVlcnkgc2VydmVyIHdpbGwgdHJ5IHRvIHVzZSB0aGUgc2FtZSBzZXJ2ZXJVUkwuJyxcbiAgfSxcbiAgd2Vic29ja2V0VGltZW91dDoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1dFQlNPQ0tFVF9USU1FT1VUJyxcbiAgICBoZWxwOiAnTnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHBpbmcvcG9uZyBmcmFtZXMuIFRoZSBXZWJTb2NrZXQgc2VydmVyIHNlbmRzIHBpbmcvcG9uZyBmcmFtZXMgdG8gdGhlIGNsaWVudHMgdG8ga2VlcCB0aGUgV2ViU29ja2V0IGFsaXZlLiBUaGlzIHZhbHVlIGRlZmluZXMgdGhlIGludGVydmFsIG9mIHRoZSBwaW5nL3BvbmcgZnJhbWUgZnJvbSB0aGUgc2VydmVyIHRvIGNsaWVudHMsIGRlZmF1bHRzIHRvIDEwICogMTAwMCBtcyAoMTAgcykuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCd3ZWJzb2NrZXRUaW1lb3V0JyksXG4gIH0sXG4gIHdzc0FkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9XU1NfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgV2ViU29ja2V0U2VydmVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuSWRlbXBvdGVuY3lPcHRpb25zID0ge1xuICBwYXRoczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FWFBFUklNRU5UQUxfSURFTVBPVEVOQ1lfUEFUSFMnLFxuICAgIGhlbHA6ICdBbiBhcnJheSBvZiBwYXRocyBmb3Igd2hpY2ggdGhlIGZlYXR1cmUgc2hvdWxkIGJlIGVuYWJsZWQuIFRoZSBtb3VudCBwYXRoIG11c3Qgbm90IGJlIGluY2x1ZGVkLCBmb3IgZXhhbXBsZSBpbnN0ZWFkIG9mIGAvcGFyc2UvZnVuY3Rpb25zL215RnVuY3Rpb25gIHNwZWNpZml5IGBmdW5jdGlvbnMvbXlGdW5jdGlvbmAuIFRoZSBlbnRyaWVzIGFyZSBpbnRlcnByZXRlZCBhcyByZWd1bGFyIGV4cHJlc3Npb24sIGZvciBleGFtcGxlIGBmdW5jdGlvbnMvLipgIG1hdGNoZXMgYWxsIGZ1bmN0aW9ucywgYGpvYnMvLipgIG1hdGNoZXMgYWxsIGpvYnMsIGBjbGFzc2VzLy4qYCBtYXRjaGVzIGFsbCBjbGFzc2VzLCBgLipgIG1hdGNoZXMgYWxsIHBhdGhzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFtdLFxuICB9LFxuICB0dGw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRVhQRVJJTUVOVEFMX0lERU1QT1RFTkNZX1RUTCcsXG4gICAgaGVscDogJ1RoZSBkdXJhdGlvbiBpbiBzZWNvbmRzIGFmdGVyIHdoaWNoIGEgcmVxdWVzdCByZWNvcmQgaXMgZGlzY2FyZGVkIGZyb20gdGhlIGRhdGFiYXNlLCBkZWZhdWx0cyB0byAzMDBzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigndHRsJyksXG4gICAgZGVmYXVsdDogMzAwLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkFjY291bnRMb2Nrb3V0T3B0aW9ucyA9IHtcbiAgZHVyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUX0RVUkFUSU9OJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBkdXJhdGlvbiBpbiBtaW51dGVzIHRoYXQgYSBsb2NrZWQtb3V0IGFjY291bnQgcmVtYWlucyBsb2NrZWQgb3V0IGJlZm9yZSBhdXRvbWF0aWNhbGx5IGJlY29taW5nIHVubG9ja2VkLjxicj48YnI+VmFsaWQgdmFsdWVzIGFyZSBncmVhdGVyIHRoYW4gYDBgIGFuZCBsZXNzIHRoYW4gYDEwMDAwMGAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdkdXJhdGlvbicpLFxuICB9LFxuICB0aHJlc2hvbGQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUX1RIUkVTSE9MRCcsXG4gICAgaGVscDogJ1NldCB0aGUgbnVtYmVyIG9mIGZhaWxlZCBzaWduLWluIGF0dGVtcHRzIHRoYXQgd2lsbCBjYXVzZSBhIHVzZXIgYWNjb3VudCB0byBiZSBsb2NrZWQuIElmIHRoZSBhY2NvdW50IGlzIGxvY2tlZC4gVGhlIGFjY291bnQgd2lsbCB1bmxvY2sgYWZ0ZXIgdGhlIGR1cmF0aW9uIHNldCBpbiB0aGUgYGR1cmF0aW9uYCBvcHRpb24gaGFzIHBhc3NlZCBhbmQgbm8gZnVydGhlciBsb2dpbiBhdHRlbXB0cyBoYXZlIGJlZW4gbWFkZS48YnI+PGJyPlZhbGlkIHZhbHVlcyBhcmUgZ3JlYXRlciB0aGFuIGAwYCBhbmQgbGVzcyB0aGFuIGAxMDAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3RocmVzaG9sZCcpLFxuICB9LFxuICB1bmxvY2tPblBhc3N3b3JkUmVzZXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUX1VOTE9DS19PTl9QQVNTV09SRF9SRVNFVCcsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgIGlmIHRoZSBhY2NvdW50IHNob3VsZCBiZSB1bmxvY2tlZCBhZnRlciBhIHN1Y2Nlc3NmdWwgcGFzc3dvcmQgcmVzZXQuPGJyPjxicj5EZWZhdWx0IGlzIGBmYWxzZWAuPGJyPlJlcXVpcmVzIG9wdGlvbnMgYGR1cmF0aW9uYCBhbmQgYHRocmVzaG9sZGAgdG8gYmUgc2V0LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUGFzc3dvcmRQb2xpY3lPcHRpb25zID0ge1xuICBkb05vdEFsbG93VXNlcm5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX0RPX05PVF9BTExPV19VU0VSTkFNRScsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gZGlzYWxsb3cgdGhlIHVzZXJuYW1lIGFzIHBhcnQgb2YgdGhlIHBhc3N3b3JkLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIG1heFBhc3N3b3JkQWdlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9NQVhfUEFTU1dPUkRfQUdFJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBudW1iZXIgb2YgZGF5cyBhZnRlciB3aGljaCBhIHBhc3N3b3JkIGV4cGlyZXMuIExvZ2luIGF0dGVtcHRzIGZhaWwgaWYgdGhlIHVzZXIgZG9lcyBub3QgcmVzZXQgdGhlIHBhc3N3b3JkIGJlZm9yZSBleHBpcmF0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4UGFzc3dvcmRBZ2UnKSxcbiAgfSxcbiAgbWF4UGFzc3dvcmRIaXN0b3J5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9NQVhfUEFTU1dPUkRfSElTVE9SWScsXG4gICAgaGVscDogJ1NldCB0aGUgbnVtYmVyIG9mIHByZXZpb3VzIHBhc3N3b3JkIHRoYXQgd2lsbCBub3QgYmUgYWxsb3dlZCB0byBiZSBzZXQgYXMgbmV3IHBhc3N3b3JkLiBJZiB0aGUgb3B0aW9uIGlzIG5vdCBzZXQgb3Igc2V0IHRvIGAwYCwgbm8gcHJldmlvdXMgcGFzc3dvcmRzIHdpbGwgYmUgY29uc2lkZXJlZC48YnI+PGJyPlZhbGlkIHZhbHVlcyBhcmUgPj0gYDBgIGFuZCA8PSBgMjBgLjxicj5EZWZhdWx0IGlzIGAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heFBhc3N3b3JkSGlzdG9yeScpLFxuICB9LFxuICByZXNldFBhc3N3b3JkU3VjY2Vzc09uSW52YWxpZEVtYWlsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9SRVNFVF9QQVNTV09SRF9TVUNDRVNTX09OX0lOVkFMSURfRU1BSUwnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIGlmIGEgcmVxdWVzdCB0byByZXNldCB0aGUgcGFzc3dvcmQgc2hvdWxkIHJldHVybiBhIHN1Y2Nlc3MgcmVzcG9uc2UgZXZlbiBpZiB0aGUgcHJvdmlkZWQgZW1haWwgYWRkcmVzcyBpcyBpbnZhbGlkLCBvciBgZmFsc2VgIGlmIHRoZSByZXF1ZXN0IHNob3VsZCByZXR1cm4gYW4gZXJyb3IgcmVzcG9uc2UgaWYgdGhlIGVtYWlsIGFkZHJlc3MgaXMgaW52YWxpZC48YnI+PGJyPkRlZmF1bHQgaXMgYHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgcmVzZXRUb2tlblJldXNlSWZWYWxpZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfUkVTRVRfVE9LRU5fUkVVU0VfSUZfVkFMSUQnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIGlmIGEgcGFzc3dvcmQgcmVzZXQgdG9rZW4gc2hvdWxkIGJlIHJldXNlZCBpbiBjYXNlIGFub3RoZXIgdG9rZW4gaXMgcmVxdWVzdGVkIGJ1dCB0aGVyZSBpcyBhIHRva2VuIHRoYXQgaXMgc3RpbGwgdmFsaWQsIGkuZS4gaGFzIG5vdCBleHBpcmVkLiBUaGlzIGF2b2lkcyB0aGUgb2Z0ZW4gb2JzZXJ2ZWQgaXNzdWUgdGhhdCBhIHVzZXIgcmVxdWVzdHMgbXVsdGlwbGUgZW1haWxzIGFuZCBkb2VzIG5vdCBrbm93IHdoaWNoIGxpbmsgY29udGFpbnMgYSB2YWxpZCB0b2tlbiBiZWNhdXNlIGVhY2ggbmV3bHkgZ2VuZXJhdGVkIHRva2VuIHdvdWxkIGludmFsaWRhdGUgdGhlIHByZXZpb3VzIHRva2VuLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHJlc2V0VG9rZW5WYWxpZGl0eUR1cmF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9SRVNFVF9UT0tFTl9WQUxJRElUWV9EVVJBVElPTicsXG4gICAgaGVscDogJ1NldCB0aGUgdmFsaWRpdHkgZHVyYXRpb24gb2YgdGhlIHBhc3N3b3JkIHJlc2V0IHRva2VuIGluIHNlY29uZHMgYWZ0ZXIgd2hpY2ggdGhlIHRva2VuIGV4cGlyZXMuIFRoZSB0b2tlbiBpcyB1c2VkIGluIHRoZSBsaW5rIHRoYXQgaXMgc2V0IGluIHRoZSBlbWFpbC4gQWZ0ZXIgdGhlIHRva2VuIGV4cGlyZXMsIHRoZSBsaW5rIGJlY29tZXMgaW52YWxpZCBhbmQgYSBuZXcgbGluayBoYXMgdG8gYmUgc2VudC4gSWYgdGhlIG9wdGlvbiBpcyBub3Qgc2V0IG9yIHNldCB0byBgdW5kZWZpbmVkYCwgdGhlbiB0aGUgdG9rZW4gbmV2ZXIgZXhwaXJlcy48YnI+PGJyPkZvciBleGFtcGxlLCB0byBleHBpcmUgdGhlIHRva2VuIGFmdGVyIDIgaG91cnMsIHNldCBhIHZhbHVlIG9mIDcyMDAgc2Vjb25kcyAoPSA2MCBzZWNvbmRzICogNjAgbWludXRlcyAqIDIgaG91cnMpLjxicj48YnI+RGVmYXVsdCBpcyBgdW5kZWZpbmVkYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3Jlc2V0VG9rZW5WYWxpZGl0eUR1cmF0aW9uJyksXG4gIH0sXG4gIHZhbGlkYXRpb25FcnJvcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfVkFMSURBVElPTl9FUlJPUicsXG4gICAgaGVscDogJ1NldCB0aGUgZXJyb3IgbWVzc2FnZSB0byBiZSBzZW50Ljxicj48YnI+RGVmYXVsdCBpcyBgUGFzc3dvcmQgZG9lcyBub3QgbWVldCB0aGUgUGFzc3dvcmQgUG9saWN5IHJlcXVpcmVtZW50cy5gJyxcbiAgfSxcbiAgdmFsaWRhdG9yQ2FsbGJhY2s6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX1ZBTElEQVRPUl9DQUxMQkFDSycsXG4gICAgaGVscDogJ1NldCBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIGEgcGFzc3dvcmQgdG8gYmUgYWNjZXB0ZWQuPGJyPjxicj5JZiB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYHZhbGlkYXRvclBhdHRlcm5gLCB0aGUgcGFzc3dvcmQgbXVzdCBwYXNzIGJvdGggdG8gYmUgYWNjZXB0ZWQuJyxcbiAgfSxcbiAgdmFsaWRhdG9yUGF0dGVybjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfVkFMSURBVE9SX1BBVFRFUk4nLFxuICAgIGhlbHA6ICdTZXQgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiB2YWxpZGF0aW9uIHBhdHRlcm4gYSBwYXNzd29yZCBtdXN0IG1hdGNoIHRvIGJlIGFjY2VwdGVkLjxicj48YnI+SWYgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGB2YWxpZGF0b3JDYWxsYmFja2AsIHRoZSBwYXNzd29yZCBtdXN0IHBhc3MgYm90aCB0byBiZSBhY2NlcHRlZC4nLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkZpbGVVcGxvYWRPcHRpb25zID0ge1xuICBhbGxvd2VkRmlsZVVybERvbWFpbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfQUxMT1dFRF9GSUxFX1VSTF9ET01BSU5TJyxcbiAgICBoZWxwOiBcIlNldHMgdGhlIGFsbG93ZWQgaG9zdG5hbWVzIGZvciBmaWxlIFVSTHMgcmVmZXJlbmNlZCBpbiBQYXJzZSBvYmplY3RzLiBXaGVuIGEgRmlsZSBvYmplY3QgaW5jbHVkZXMgYSBVUkwsIGl0cyBob3N0bmFtZSBtdXN0IG1hdGNoIG9uZSBvZiB0aGVzZSBlbnRyaWVzIHRvIGJlIGFjY2VwdGVkLiBTdXBwb3J0cyBleGFjdCBob3N0bmFtZXMgKGUuZy4sIGAnY2RuLmV4YW1wbGUuY29tJ2ApIGFuZCB3aWxkY2FyZCBzdWJkb21haW5zIChlLmcuLCBgJyouZXhhbXBsZS5jb20nYCkuIFVzZSBgWycqJ11gIHRvIGFsbG93IGFueSBkb21haW4uIFVzZSBgW11gIHRvIGJsb2NrIGFsbCBmaWxlIFVSTHMgKG9ubHkgbmFtZS1iYXNlZCBmaWxlcyBhbGxvd2VkKS5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgZGVmYXVsdDogWycqJ10sXG4gIH0sXG4gIGVuYWJsZUZvckFub255bW91c1VzZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfRU5BQkxFX0ZPUl9BTk9OWU1PVVNfVVNFUicsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgZmlsZSB1cGxvYWQgc2hvdWxkIGJlIGFsbG93ZWQgZm9yIGFub255bW91cyB1c2Vycy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmFibGVGb3JBdXRoZW50aWNhdGVkVXNlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9FTkFCTEVfRk9SX0FVVEhFTlRJQ0FURURfVVNFUicsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgZmlsZSB1cGxvYWQgc2hvdWxkIGJlIGFsbG93ZWQgZm9yIGF1dGhlbnRpY2F0ZWQgdXNlcnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBlbmFibGVGb3JQdWJsaWM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfRU5BQkxFX0ZPUl9QVUJMSUMnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIGZpbGUgdXBsb2FkIHNob3VsZCBiZSBhbGxvd2VkIGZvciBhbnlvbmUsIHJlZ2FyZGxlc3Mgb2YgdXNlciBhdXRoZW50aWNhdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBmaWxlRXh0ZW5zaW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9GSUxFX0VYVEVOU0lPTlMnLFxuICAgIGhlbHA6ICdTZXRzIHRoZSBhbGxvd2VkIGZpbGUgZXh0ZW5zaW9ucyBmb3IgdXBsb2FkaW5nIGZpbGVzLiBUaGUgZXh0ZW5zaW9uIGlzIGRlZmluZWQgYXMgYW4gYXJyYXkgb2YgZmlsZSBleHRlbnNpb25zLCBvciBhIHJlZ2V4IHBhdHRlcm4uPGJyPjxicj5JdCBpcyByZWNvbW1lbmRlZCB0byBvbmx5IGFsbG93IHRoZSBmaWxlIGV4dGVuc2lvbnMgdGhhdCB5b3VyIGFwcCBhY3R1YWxseSBuZWVkcywgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBibG9ja2luZyBkYW5nZXJvdXMgZXh0ZW5zaW9ucy4gVGhpcyBhbGxvd2xpc3QgYXBwcm9hY2ggaXMgbW9yZSBzZWN1cmUgYmVjYXVzZSBuZXcgZGFuZ2Vyb3VzIGZpbGUgZXh0ZW5zaW9ucyBtYXkgZW1lcmdlIHRoYXQgYXJlIG5vdCBjb3ZlcmVkIGJ5IHRoZSBkZWZhdWx0IGJsb2NrbGlzdC48YnI+PGJyPlRoZSBkZWZhdWx0IGJsb2NrcyB0aGUgbW9zdCBjb21tb24gZmlsZSBleHRlbnNpb25zIHRoYXQgYXJlIGtub3duIHRvIGJlIHJlbmRlcmVkIGFzIGFjdGl2ZSBjb250ZW50IGJ5IHdlYiBicm93c2Vycywgc3VjaCBhcyBIVE1MLCBTVkcsIGFuZCBYTUwgZmlsZXMsIHdoaWNoIG1heSBiZSB1c2VkIGJ5IGFuIGF0dGFja2VyIHRvIGNvbXByb21pc2UgdGhlIHNlc3Npb24gdG9rZW4gb2YgYW5vdGhlciB1c2VyIHZpYSBhY2Nlc3NpbmcgdGhlIGJyb3dzZXJcXCdzIGxvY2FsIHN0b3JhZ2UuIFRoZSBibG9ja2VkIGV4dGVuc2lvbnMgYXJlOiBgaHRtbGAsIGBodG1gLCBgc2h0bWxgLCBgeGh0bWxgLCBgeGh0bWwreG1sYCwgYHhodGAsIGBzdmdgLCBgc3ZnemAsIGBzdmcreG1sYCwgYHhtbGAsIGB4c2xgLCBgeHNsdGAsIGB4c2x0K3htbGAsIGB4c2RgLCBgcm5nYCwgYHJkZmAsIGByZGYreG1sYCwgYG93bGAsIGBtYXRobWxgLCBgbWF0aG1sK3htbGAuPGJyPjxicj5EZWZhdWx0cyB0byBgW1wiXig/IShbeFhzU10/W2hIXVt0VF1bbU1dW2xMXT8oXFxcXFxcXFwrW3hYXVttTV1bbExdKT98W3hYXVtoSF1bdFRdfFtzU11bdlZdW2dHXShbelpdfFxcXFxcXFxcK1t4WF1bbU1dW2xMXSk/fFt4WF1bbU1dW2xMXXxbeFhdW3NTXVtsTF1bdFRdPyhcXFxcXFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW3NTXVtkRF18W3JSXVtuTl1bZ0ddfFtyUl1bZERdW2ZGXShcXFxcXFxcXCtbeFhdW21NXVtsTF0pP3xbb09dW3dXXVtsTF18W21NXVthQV1bdFRdW2hIXVttTV1bbExdKFxcXFxcXFxcK1t4WF1bbU1dW2xMXSk/KSQpXCJdYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbXG4gICAgICAnXig/IShbeFhzU10/W2hIXVt0VF1bbU1dW2xMXT8oXFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW2hIXVt0VF18W3NTXVt2Vl1bZ0ddKFt6Wl18XFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW21NXVtsTF18W3hYXVtzU11bbExdW3RUXT8oXFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW3NTXVtkRF18W3JSXVtuTl1bZ0ddfFtyUl1bZERdW2ZGXShcXFxcK1t4WF1bbU1dW2xMXSk/fFtvT11bd1ddW2xMXXxbbU1dW2FBXVt0VF1baEhdW21NXVtsTF0oXFxcXCtbeFhdW21NXVtsTF0pPykkKScsXG4gICAgXSxcbiAgfSxcbn07XG4vKiBUaGUgYXZhaWxhYmxlIGxvZyBsZXZlbHMgZm9yIFBhcnNlIFNlcnZlciBsb2dnaW5nLiBWYWxpZCB2YWx1ZXMgYXJlOjxicj4tIGAnZXJyb3InYCAtIEVycm9yIGxldmVsIChoaWdoZXN0IHByaW9yaXR5KTxicj4tIGAnd2FybidgIC0gV2FybmluZyBsZXZlbDxicj4tIGAnaW5mbydgIC0gSW5mbyBsZXZlbCAoZGVmYXVsdCk8YnI+LSBgJ3ZlcmJvc2UnYCAtIFZlcmJvc2UgbGV2ZWw8YnI+LSBgJ2RlYnVnJ2AgLSBEZWJ1ZyBsZXZlbDxicj4tIGAnc2lsbHknYCAtIFNpbGx5IGxldmVsIChsb3dlc3QgcHJpb3JpdHkpICovXG5tb2R1bGUuZXhwb3J0cy5Mb2dMZXZlbCA9IHtcbiAgZGVidWc6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMX0RFQlVHJyxcbiAgICBoZWxwOiAnRGVidWcgbGV2ZWwnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBlcnJvcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxfRVJST1InLFxuICAgIGhlbHA6ICdFcnJvciBsZXZlbCAtIGhpZ2hlc3QgcHJpb3JpdHknLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBpbmZvOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTF9JTkZPJyxcbiAgICBoZWxwOiAnSW5mbyBsZXZlbCAtIGRlZmF1bHQnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBzaWxseToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxfU0lMTFknLFxuICAgIGhlbHA6ICdTaWxseSBsZXZlbCAtIGxvd2VzdCBwcmlvcml0eScsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIHZlcmJvc2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMX1ZFUkJPU0UnLFxuICAgIGhlbHA6ICdWZXJib3NlIGxldmVsJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgd2Fybjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxfV0FSTicsXG4gICAgaGVscDogJ1dhcm5pbmcgbGV2ZWwnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkxvZ0NsaWVudEV2ZW50ID0ge1xuICBrZXlzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0xPR19DTElFTlRfRVZFTlRTX0tFWVMnLFxuICAgIGhlbHA6ICdPcHRpb25hbCBhcnJheSBvZiBkb3Qtbm90YXRpb24gcGF0aHMgdG8gZXh0cmFjdCBzcGVjaWZpYyBkYXRhIGZyb20gdGhlIGV2ZW50IG9iamVjdC4gSWYgbm90IHByb3ZpZGVkIG9yIGVtcHR5LCB0aGUgZW50aXJlIGV2ZW50IG9iamVjdCB3aWxsIGJlIGxvZ2dlZC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgbG9nTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTE9HX0NMSUVOVF9FVkVOVFNfTE9HX0xFVkVMJyxcbiAgICBoZWxwOiBcIlRoZSBsb2cgbGV2ZWwgdG8gdXNlIGZvciB0aGlzIGV2ZW50LiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4gRGVmYXVsdHMgdG8gYCdpbmZvJ2AuXCIsXG4gICAgZGVmYXVsdDogJ2luZm8nLFxuICB9LFxuICBuYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0xPR19DTElFTlRfRVZFTlRTX05BTUUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgZXZlbnQgbmFtZSB0byBsaXN0ZW4gZm9yLiBTZWUgdGhlIFtNb25nb0RCIGRyaXZlciBldmVudHMgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly93d3cubW9uZ29kYi5jb20vZG9jcy9kcml2ZXJzL25vZGUvY3VycmVudC9mdW5kYW1lbnRhbHMvbW9uaXRvcmluZy8pIGZvciBhdmFpbGFibGUgZXZlbnRzLicsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuRGF0YWJhc2VPcHRpb25zID0ge1xuICBhbGxvd1B1YmxpY0V4cGxhaW46IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQUxMT1dfUFVCTElDX0VYUExBSU4nLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGFsbG93IGBQYXJzZS5RdWVyeS5leHBsYWluYCB3aXRob3V0IG1hc3RlciBrZXkuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBFbmFibGluZyB0aGlzIG9wdGlvbiBtYXkgZXhwb3NlIHNlbnNpdGl2ZSBxdWVyeSBwZXJmb3JtYW5jZSBkYXRhIHRvIHVuYXV0aG9yaXplZCB1c2VycyBhbmQgY291bGQgcG90ZW50aWFsbHkgYmUgZXhwbG9pdGVkIGZvciBtYWxpY2lvdXMgcHVycG9zZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgYXBwTmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BUFBfTkFNRScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgbmFtZSBvZiB0aGUgYXBwbGljYXRpb24gdGhhdCBjcmVhdGVkIHRoaXMgTW9uZ29DbGllbnQgaW5zdGFuY2UuJyxcbiAgfSxcbiAgYXV0aE1lY2hhbmlzbToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BVVRIX01FQ0hBTklTTScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtIHRoYXQgTW9uZ29EQiB3aWxsIHVzZSB0byBhdXRoZW50aWNhdGUgdGhlIGNvbm5lY3Rpb24uJyxcbiAgfSxcbiAgYXV0aE1lY2hhbmlzbVByb3BlcnRpZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQVVUSF9NRUNIQU5JU01fUFJPUEVSVElFUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSBwcm9wZXJ0aWVzIGZvciB0aGUgc3BlY2lmaWVkIGF1dGhNZWNoYW5pc20gYXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBjb2xvbi1zZXBhcmF0ZWQga2V5LXZhbHVlIHBhaXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgYXV0aFNvdXJjZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BVVRIX1NPVVJDRScsXG4gICAgaGVscDogXCJUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGRhdGFiYXNlIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSB1c2VyJ3MgY3JlZGVudGlhbHMuXCIsXG4gIH0sXG4gIGF1dG9TZWxlY3RGYW1pbHk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQVVUT19TRUxFQ1RfRkFNSUxZJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgd2hldGhlciB0aGUgc29ja2V0IGF0dGVtcHRzIHRvIGNvbm5lY3QgdG8gSVB2NiBhbmQgSVB2NCBhZGRyZXNzZXMgdW50aWwgYSBjb25uZWN0aW9uIGlzIGVzdGFibGlzaGVkLiBJZiBhdmFpbGFibGUsIHRoZSBkcml2ZXIgd2lsbCBzZWxlY3QgdGhlIGZpcnN0IElQdjYgYWRkcmVzcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICBhdXRvU2VsZWN0RmFtaWx5QXR0ZW1wdFRpbWVvdXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQVVUT19TRUxFQ1RfRkFNSUxZX0FUVEVNUFRfVElNRU9VVCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIGEgY29ubmVjdGlvbiBhdHRlbXB0IHRvIGZpbmlzaCBiZWZvcmUgdHJ5aW5nIHRoZSBuZXh0IGFkZHJlc3Mgd2hlbiB1c2luZyB0aGUgYXV0b1NlbGVjdEZhbWlseSBvcHRpb24uIElmIHNldCB0byBhIHBvc2l0aXZlIGludGVnZXIgbGVzcyB0aGFuIDEwLCB0aGUgdmFsdWUgMTAgaXMgdXNlZCBpbnN0ZWFkLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignYXV0b1NlbGVjdEZhbWlseUF0dGVtcHRUaW1lb3V0JyksXG4gIH0sXG4gIGJhdGNoU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9CQVRDSF9TSVpFJyxcbiAgICBoZWxwOiAnVGhlIG51bWJlciBvZiBkb2N1bWVudHMgcGVyIGJhdGNoIGZvciBNb25nb0RCIGN1cnNvciBgZ2V0TW9yZWAgb3BlcmF0aW9ucy4gQSBsb3dlciB2YWx1ZSByZWR1Y2VzIG1lbW9yeSB1c2FnZSBwZXIgYmF0Y2g7IGEgaGlnaGVyIHZhbHVlIHJlZHVjZXMgdGhlIG51bWJlciBvZiBuZXR3b3JrIHJvdW5kLXRyaXBzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignYmF0Y2hTaXplJyksXG4gICAgZGVmYXVsdDogMTAwMCxcbiAgfSxcbiAgY2xpZW50TWV0YWRhdGE6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ0xJRU5UX01FVEFEQVRBJyxcbiAgICBoZWxwOiBcIkN1c3RvbSBtZXRhZGF0YSB0byBhcHBlbmQgdG8gZGF0YWJhc2UgY2xpZW50IGNvbm5lY3Rpb25zIGZvciBpZGVudGlmeWluZyBQYXJzZSBTZXJ2ZXIgaW5zdGFuY2VzIGluIGRhdGFiYXNlIGxvZ3MuIElmIHNldCwgdGhpcyBtZXRhZGF0YSB3aWxsIGJlIHZpc2libGUgaW4gZGF0YWJhc2UgbG9ncyBkdXJpbmcgY29ubmVjdGlvbiBoYW5kc2hha2VzLiBUaGlzIGNhbiBoZWxwIHdpdGggZGVidWdnaW5nIGFuZCBtb25pdG9yaW5nIGluIGRlcGxveW1lbnRzIHdpdGggbXVsdGlwbGUgZGF0YWJhc2UgY2xpZW50cy4gU2V0IGBuYW1lYCB0byBpZGVudGlmeSB5b3VyIGFwcGxpY2F0aW9uIChlLmcuLCAnTXlBcHAnKSBhbmQgYHZlcnNpb25gIHRvIHlvdXIgYXBwbGljYXRpb24ncyB2ZXJzaW9uLiBMZWF2ZSB1bmRlZmluZWQgKGRlZmF1bHQpIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlIGFuZCBhdm9pZCB0aGUgYWRkaXRpb25hbCBkYXRhIHRyYW5zZmVyIG92ZXJoZWFkLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0RhdGFiYXNlT3B0aW9uc0NsaWVudE1ldGFkYXRhJyxcbiAgfSxcbiAgY29tcHJlc3NvcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ09NUFJFU1NPUlMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgYW4gYXJyYXkgb3IgY29tbWEtZGVsaW1pdGVkIHN0cmluZyBvZiBjb21wcmVzc29ycyB0byBlbmFibGUgbmV0d29yayBjb21wcmVzc2lvbiBmb3IgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHRoaXMgY2xpZW50IGFuZCBhIG1vbmdvZC9tb25nb3MgaW5zdGFuY2UuJyxcbiAgfSxcbiAgY29ubmVjdFRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DT05ORUNUX1RJTUVPVVRfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lLCBpbiBtaWxsaXNlY29uZHMsIHRvIHdhaXQgdG8gZXN0YWJsaXNoIGEgc2luZ2xlIFRDUCBzb2NrZXQgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGJlZm9yZSByYWlzaW5nIGFuIGVycm9yLiBTcGVjaWZ5aW5nIDAgZGlzYWJsZXMgdGhlIGNvbm5lY3Rpb24gdGltZW91dC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2Nvbm5lY3RUaW1lb3V0TVMnKSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhBdXRoRGF0YVVuaXF1ZW5lc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX0FVVEhfREFUQV9VTklRVUVORVNTJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSB1bmlxdWUgaW5kZXhlcyBvbiB0aGUgYXV0aERhdGEgZmllbGRzIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIGZvciBlYWNoIGNvbmZpZ3VyZWQgYXV0aCBwcm92aWRlciBvbiBzZXJ2ZXIgc3RhcnQsIGluY2x1ZGluZyBgYW5vbnltb3VzYCB3aGVuIGFub255bW91cyB1c2VycyBhcmUgZW5hYmxlZC4gVGhlc2UgaW5kZXhlcyBwcmV2ZW50IHJhY2UgY29uZGl0aW9ucyBkdXJpbmcgY29uY3VycmVudCBzaWdudXBzIHdpdGggdGhlIHNhbWUgYXV0aERhdGEuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleGVzLCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleGVzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB0byBiZSBvcHRpbWl6ZWQgZm9yIHRoZSBpbnRlcm5hbCB1c2FnZSBieSBQYXJzZSBTZXJ2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBjcmVhdGVJbmRleFJvbGVOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NSRUFURV9JTkRFWF9ST0xFX05BTUUnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgdW5pcXVlIGluZGV4IG9uIHRoZSBuYW1lIGZpZWxkIG9mIHRoZSBfUm9sZSBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfRU1BSUwnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGluZGV4ZXMgb24gdGhlIGVtYWlsIGZpZWxkIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyRW1haWxDYXNlSW5zZW5zaXRpdmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfRU1BSUxfQ0FTRV9JTlNFTlNJVElWRScsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYSBjYXNlLWluc2Vuc2l0aXZlIGluZGV4IG9uIHRoZSBlbWFpbCBmaWVsZCBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGNyZWF0ZUluZGV4VXNlckVtYWlsVmVyaWZ5VG9rZW46IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfRU1BSUxfVkVSSUZZX1RPS0VOJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhbiBpbmRleCBvbiB0aGUgX2VtYWlsX3ZlcmlmeV90b2tlbiBmaWVsZCBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGNyZWF0ZUluZGV4VXNlclBhc3N3b3JkUmVzZXRUb2tlbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DUkVBVEVfSU5ERVhfVVNFUl9QQVNTV09SRF9SRVNFVF9UT0tFTicsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYW4gaW5kZXggb24gdGhlIF9wZXJpc2hhYmxlX3Rva2VuIGZpZWxkIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyVXNlcm5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfVVNFUk5BTUUnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGluZGV4ZXMgb24gdGhlIHVzZXJuYW1lIGZpZWxkIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyVXNlcm5hbWVDYXNlSW5zZW5zaXRpdmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfVVNFUk5BTUVfQ0FTRV9JTlNFTlNJVElWRScsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYSBjYXNlLWluc2Vuc2l0aXZlIGluZGV4IG9uIHRoZSB1c2VybmFtZSBmaWVsZCBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGRpcmVjdENvbm5lY3Rpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfRElSRUNUX0NPTk5FQ1RJT04nLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGZvcmNlIGEgU2luZ2xlIHRvcG9sb2d5IHR5cGUgd2l0aCBhIGNvbm5lY3Rpb24gc3RyaW5nIGNvbnRhaW5pbmcgb25lIGhvc3QuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgZGlzYWJsZUluZGV4RmllbGRWYWxpZGF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0RJU0FCTEVfSU5ERVhfRklFTERfVkFMSURBVElPTicsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gZGlzYWJsZSB2YWxpZGF0aW9uIG9mIGluZGV4IGZpZWxkcy4gV2hlbiBkaXNhYmxlZCwgaW5kZXhlcyBjYW4gYmUgY3JlYXRlZCBldmVuIGlmIHRoZSBmaWVsZHMgZG8gbm90IGV4aXN0IGluIHRoZSBzY2hlbWEuIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuIGNyZWF0aW5nIGluZGV4ZXMgb24gZmllbGRzIHRoYXQgd2lsbCBiZSBhZGRlZCBsYXRlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICBlbmFibGVTY2hlbWFIb29rczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9FTkFCTEVfU0NIRU1BX0hPT0tTJyxcbiAgICBoZWxwOiAnRW5hYmxlcyBkYXRhYmFzZSByZWFsLXRpbWUgaG9va3MgdG8gdXBkYXRlIHNpbmdsZSBzY2hlbWEgY2FjaGUuIFNldCB0byBgdHJ1ZWAgaWYgdXNpbmcgbXVsdGlwbGUgUGFyc2UgU2VydmVycyBpbnN0YW5jZXMgY29ubmVjdGVkIHRvIHRoZSBzYW1lIGRhdGFiYXNlLiBGYWlsaW5nIHRvIGRvIHNvIHdpbGwgY2F1c2UgYSBzY2hlbWEgY2hhbmdlIHRvIG5vdCBwcm9wYWdhdGUgdG8gYWxsIGluc3RhbmNlcyBhbmQgcmUtc3luY2luZyB3aWxsIG9ubHkgaGFwcGVuIHdoZW4gdGhlIGluc3RhbmNlcyByZXN0YXJ0LiBUbyB1c2UgdGhpcyBmZWF0dXJlIHdpdGggTW9uZ29EQiwgYSByZXBsaWNhIHNldCBjbHVzdGVyIHdpdGggW2NoYW5nZSBzdHJlYW1dKGh0dHBzOi8vZG9jcy5tb25nb2RiLmNvbS9tYW51YWwvY2hhbmdlU3RyZWFtcy8jYXZhaWxhYmlsaXR5KSBzdXBwb3J0IGlzIHJlcXVpcmVkLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGZvcmNlU2VydmVyT2JqZWN0SWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfRk9SQ0VfU0VSVkVSX09CSkVDVF9JRCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZm9yY2Ugc2VydmVyIHRvIGFzc2lnbiBfaWQgdmFsdWVzIGluc3RlYWQgb2YgZHJpdmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIGhlYXJ0YmVhdEZyZXF1ZW5jeU1TOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0hFQVJUQkVBVF9GUkVRVUVOQ1lfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGZyZXF1ZW5jeSBpbiBtaWxsaXNlY29uZHMgYXQgd2hpY2ggdGhlIGRyaXZlciBjaGVja3MgdGhlIHN0YXRlIG9mIHRoZSBNb25nb0RCIGRlcGxveW1lbnQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdoZWFydGJlYXRGcmVxdWVuY3lNUycpLFxuICB9LFxuICBsb2FkQmFsYW5jZWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTE9BRF9CQUxBTkNFRCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gaW5zdHJ1Y3QgdGhlIGRyaXZlciBpdCBpcyBjb25uZWN0aW5nIHRvIGEgbG9hZCBiYWxhbmNlciBmcm9udGluZyBhIG1vbmdvcyBsaWtlIHNlcnZpY2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgbG9jYWxUaHJlc2hvbGRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9MT0NBTF9USFJFU0hPTERfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIHNpemUgKGluIG1pbGxpc2Vjb25kcykgb2YgdGhlIGxhdGVuY3kgd2luZG93IGZvciBzZWxlY3RpbmcgYW1vbmcgbXVsdGlwbGUgc3VpdGFibGUgTW9uZ29EQiBpbnN0YW5jZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdsb2NhbFRocmVzaG9sZE1TJyksXG4gIH0sXG4gIGxvZ0NsaWVudEV2ZW50czoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9MT0dfQ0xJRU5UX0VWRU5UUycsXG4gICAgaGVscDogJ0FuIGFycmF5IG9mIE1vbmdvREIgY2xpZW50IGV2ZW50IGNvbmZpZ3VyYXRpb25zIHRvIGVuYWJsZSBsb2dnaW5nIG9mIHNwZWNpZmljIGV2ZW50cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICB0eXBlOiAnTG9nQ2xpZW50RXZlbnRbXScsXG4gIH0sXG4gIG1heENvbm5lY3Rpbmc6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTUFYX0NPTk5FQ1RJTkcnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbm5lY3Rpb25zIHRoYXQgbWF5IGJlIGluIHRoZSBwcm9jZXNzIG9mIGJlaW5nIGVzdGFibGlzaGVkIGNvbmN1cnJlbnRseSBieSB0aGUgY29ubmVjdGlvbiBwb29sLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4Q29ubmVjdGluZycpLFxuICB9LFxuICBtYXhJZGxlVGltZU1TOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX01BWF9JRExFX1RJTUVfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IGEgY29ubmVjdGlvbiBjYW4gcmVtYWluIGlkbGUgaW4gdGhlIGNvbm5lY3Rpb24gcG9vbCBiZWZvcmUgYmVpbmcgcmVtb3ZlZCBhbmQgY2xvc2VkLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4SWRsZVRpbWVNUycpLFxuICB9LFxuICBtYXhQb29sU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9NQVhfUE9PTF9TSVpFJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIG9wZW5lZCwgY2FjaGVkLCByZWFkeS10by11c2UgZGF0YWJhc2UgY29ubmVjdGlvbnMgbWFpbnRhaW5lZCBieSB0aGUgZHJpdmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4UG9vbFNpemUnKSxcbiAgfSxcbiAgbWF4U3RhbGVuZXNzU2Vjb25kczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9NQVhfU1RBTEVORVNTX1NFQ09ORFMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNldCB0aGUgbWF4aW11bSByZXBsaWNhdGlvbiBsYWcgZm9yIHJlYWRzIGZyb20gc2Vjb25kYXJ5IG5vZGVzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4U3RhbGVuZXNzU2Vjb25kcycpLFxuICB9LFxuICBtYXhUaW1lTVM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTUFYX1RJTUVfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNldCBhIGN1bXVsYXRpdmUgdGltZSBsaW1pdCBpbiBtaWxsaXNlY29uZHMgZm9yIHByb2Nlc3Npbmcgb3BlcmF0aW9ucyBvbiBhIGN1cnNvci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heFRpbWVNUycpLFxuICB9LFxuICBtaW5Qb29sU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9NSU5fUE9PTF9TSVpFJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgdGhlIG1pbmltdW0gbnVtYmVyIG9mIG9wZW5lZCwgY2FjaGVkLCByZWFkeS10by11c2UgZGF0YWJhc2UgY29ubmVjdGlvbnMgbWFpbnRhaW5lZCBieSB0aGUgZHJpdmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWluUG9vbFNpemUnKSxcbiAgfSxcbiAgcHJveHlIb3N0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX0hPU1QnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGNvbmZpZ3VyZSBhIFNvY2tzNSBwcm94eSBob3N0IHVzZWQgZm9yIGNyZWF0aW5nIFRDUCBjb25uZWN0aW9ucy4nLFxuICB9LFxuICBwcm94eVBhc3N3b3JkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX1BBU1NXT1JEJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBjb25maWd1cmUgYSBTb2NrczUgcHJveHkgcGFzc3dvcmQgd2hlbiB0aGUgcHJveHkgcmVxdWlyZXMgdXNlcm5hbWUvcGFzc3dvcmQgYXV0aGVudGljYXRpb24uJyxcbiAgfSxcbiAgcHJveHlQb3J0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX1BPUlQnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGNvbmZpZ3VyZSBhIFNvY2tzNSBwcm94eSBwb3J0IHVzZWQgZm9yIGNyZWF0aW5nIFRDUCBjb25uZWN0aW9ucy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3Byb3h5UG9ydCcpLFxuICB9LFxuICBwcm94eVVzZXJuYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX1VTRVJOQU1FJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBjb25maWd1cmUgYSBTb2NrczUgcHJveHkgdXNlcm5hbWUgd2hlbiB0aGUgcHJveHkgcmVxdWlyZXMgdXNlcm5hbWUvcGFzc3dvcmQgYXV0aGVudGljYXRpb24uJyxcbiAgfSxcbiAgcmVhZENvbmNlcm5MZXZlbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9SRUFEX0NPTkNFUk5fTEVWRUwnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGxldmVsIG9mIGlzb2xhdGlvbi4nLFxuICB9LFxuICByZWFkUHJlZmVyZW5jZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9SRUFEX1BSRUZFUkVOQ0UnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIHJlYWQgcHJlZmVyZW5jZXMgZm9yIHRoaXMgY29ubmVjdGlvbi4nLFxuICB9LFxuICByZWFkUHJlZmVyZW5jZVRhZ3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUkVBRF9QUkVGRVJFTkNFX1RBR1MnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIHRhZ3MgZG9jdW1lbnQgYXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBjb2xvbi1zZXBhcmF0ZWQga2V5LXZhbHVlIHBhaXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICByZXBsaWNhU2V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1JFUExJQ0FfU0VUJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSByZXBsaWNhIHNldCwgaWYgdGhlIG1vbmdvZCBpcyBhIG1lbWJlciBvZiBhIHJlcGxpY2Egc2V0LicsXG4gIH0sXG4gIHJldHJ5UmVhZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUkVUUllfUkVBRFMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGVuYWJsZSByZXRyeWFibGUgcmVhZHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgcmV0cnlXcml0ZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUkVUUllfV1JJVEVTJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgd2hldGhlciB0byByZXRyeSBmYWlsZWQgd3JpdGVzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHNjaGVtYUNhY2hlVHRsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NDSEVNQV9DQUNIRV9UVEwnLFxuICAgIGhlbHA6ICdUaGUgZHVyYXRpb24gaW4gc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgc2NoZW1hIGNhY2hlIGV4cGlyZXMgYW5kIHdpbGwgYmUgcmVmZXRjaGVkIGZyb20gdGhlIGRhdGFiYXNlLiBVc2UgdGhpcyBvcHRpb24gaWYgdXNpbmcgbXVsdGlwbGUgUGFyc2UgU2VydmVycyBpbnN0YW5jZXMgY29ubmVjdGVkIHRvIHRoZSBzYW1lIGRhdGFiYXNlLiBBIGxvdyBkdXJhdGlvbiB3aWxsIGNhdXNlIHRoZSBzY2hlbWEgY2FjaGUgdG8gYmUgdXBkYXRlZCB0b28gb2Z0ZW4sIGNhdXNpbmcgdW5uZWNlc3NhcnkgZGF0YWJhc2UgcmVhZHMuIEEgaGlnaCBkdXJhdGlvbiB3aWxsIGNhdXNlIHRoZSBzY2hlbWEgdG8gYmUgdXBkYXRlZCB0b28gcmFyZWx5LCBpbmNyZWFzaW5nIHRoZSB0aW1lIHJlcXVpcmVkIHVudGlsIHNjaGVtYSBjaGFuZ2VzIHByb3BhZ2F0ZSB0byBhbGwgc2VydmVyIGluc3RhbmNlcy4gVGhpcyBmZWF0dXJlIGNhbiBiZSB1c2VkIGFzIGFuIGFsdGVybmF0aXZlIG9yIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIG9wdGlvbiBgZW5hYmxlU2NoZW1hSG9va3NgLiBEZWZhdWx0IGlzIGluZmluaXRlIHdoaWNoIG1lYW5zIHRoZSBzY2hlbWEgY2FjaGUgbmV2ZXIgZXhwaXJlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3NjaGVtYUNhY2hlVHRsJyksXG4gIH0sXG4gIHNlcnZlck1vbml0b3JpbmdNb2RlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NFUlZFUl9NT05JVE9SSU5HX01PREUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGluc3RydWN0IHRoZSBkcml2ZXIgbW9uaXRvcnMgdG8gdXNlIGEgc3BlY2lmaWMgbW9uaXRvcmluZyBtb2RlLicsXG4gIH0sXG4gIHNlcnZlclNlbGVjdGlvblRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9TRVJWRVJfU0VMRUNUSU9OX1RJTUVPVVRfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lIGluIG1pbGxpc2Vjb25kcyBmb3IgYSBzZXJ2ZXIgdG8gYmUgY29uc2lkZXJlZCBzdWl0YWJsZSBmb3Igc2VsZWN0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc2VydmVyU2VsZWN0aW9uVGltZW91dE1TJyksXG4gIH0sXG4gIHNvY2tldFRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9TT0NLRVRfVElNRU9VVF9NUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUsIGluIG1pbGxpc2Vjb25kcywgc3BlbnQgYXR0ZW1wdGluZyB0byBzZW5kIG9yIHJlY2VpdmUgb24gYSBzb2NrZXQgYmVmb3JlIHRpbWluZyBvdXQuIFNwZWNpZnlpbmcgMCBtZWFucyBubyB0aW1lb3V0LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc29ja2V0VGltZW91dE1TJyksXG4gIH0sXG4gIHNydk1heEhvc3RzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NSVl9NQVhfSE9TVFMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIGhvc3RzIHRvIGNvbm5lY3QgdG8gd2hlbiB1c2luZyBhbiBzcnYgY29ubmVjdGlvbiBzdHJpbmcsIGEgc2V0dGluZyBvZiAwIG1lYW5zIHVubGltaXRlZCBob3N0cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3Nydk1heEhvc3RzJyksXG4gIH0sXG4gIHNydlNlcnZpY2VOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NSVl9TRVJWSUNFX05BTUUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIG1vZGlmeSB0aGUgc3J2IFVSSSBzZXJ2aWNlIG5hbWUuJyxcbiAgfSxcbiAgc3NsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NTTCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZW5hYmxlIG9yIGRpc2FibGUgVExTL1NTTCBmb3IgdGhlIGNvbm5lY3Rpb24gKGVxdWl2YWxlbnQgdG8gdGxzIG9wdGlvbikuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZW5hYmxlIG9yIGRpc2FibGUgVExTL1NTTCBmb3IgdGhlIGNvbm5lY3Rpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzQWxsb3dJbnZhbGlkQ2VydGlmaWNhdGVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19BTExPV19JTlZBTElEX0NFUlRJRklDQVRFUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gYnlwYXNzIHZhbGlkYXRpb24gb2YgdGhlIGNlcnRpZmljYXRlcyBwcmVzZW50ZWQgYnkgdGhlIG1vbmdvZC9tb25nb3MgaW5zdGFuY2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzQWxsb3dJbnZhbGlkSG9zdG5hbWVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19BTExPV19JTlZBTElEX0hPU1ROQU1FUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZGlzYWJsZSBob3N0bmFtZSB2YWxpZGF0aW9uIG9mIHRoZSBjZXJ0aWZpY2F0ZSBwcmVzZW50ZWQgYnkgdGhlIG1vbmdvZC9tb25nb3MgaW5zdGFuY2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzQ0FGaWxlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19DQUZJTEUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGxvY2F0aW9uIG9mIGEgbG9jYWwgLnBlbSBmaWxlIHRoYXQgY29udGFpbnMgdGhlIHJvb3QgY2VydGlmaWNhdGUgY2hhaW4gZnJvbSB0aGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5LicsXG4gIH0sXG4gIHRsc0NlcnRpZmljYXRlS2V5RmlsZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9UTFNfQ0VSVElGSUNBVEVfS0VZX0ZJTEUnLFxuICAgIGhlbHA6IFwiVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBsb2NhdGlvbiBvZiBhIGxvY2FsIC5wZW0gZmlsZSB0aGF0IGNvbnRhaW5zIHRoZSBjbGllbnQncyBUTFMvU1NMIGNlcnRpZmljYXRlIGFuZCBrZXkuXCIsXG4gIH0sXG4gIHRsc0NlcnRpZmljYXRlS2V5RmlsZVBhc3N3b3JkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19DRVJUSUZJQ0FURV9LRVlfRklMRV9QQVNTV09SRCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgcGFzc3dvcmQgdG8gZGVjcnlwdCB0aGUgdGxzQ2VydGlmaWNhdGVLZXlGaWxlLicsXG4gIH0sXG4gIHRsc0luc2VjdXJlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19JTlNFQ1VSRScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZGlzYWJsZSB2YXJpb3VzIGNlcnRpZmljYXRlIHZhbGlkYXRpb25zLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHdhaXRRdWV1ZVRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9XQUlUX1FVRVVFX1RJTUVPVVRfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCBhIHRocmVhZCBjYW4gd2FpdCBmb3IgYSBjb25uZWN0aW9uIHRvIGJlY29tZSBhdmFpbGFibGUuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCd3YWl0UXVldWVUaW1lb3V0TVMnKSxcbiAgfSxcbiAgemxpYkNvbXByZXNzaW9uTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfWkxJQl9DT01QUkVTU0lPTl9MRVZFTCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgY29tcHJlc3Npb24gbGV2ZWwgaWYgdXNpbmcgemxpYiBmb3IgbmV0d29yayBjb21wcmVzc2lvbiAoMC05KS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3psaWJDb21wcmVzc2lvbkxldmVsJyksXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuRGF0YWJhc2VPcHRpb25zQ2xpZW50TWV0YWRhdGEgPSB7XG4gIG5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ0xJRU5UX01FVEFEQVRBX05BTUUnLFxuICAgIGhlbHA6IFwiVGhlIG5hbWUgdG8gaWRlbnRpZnkgeW91ciBhcHBsaWNhdGlvbiBpbiBkYXRhYmFzZSBsb2dzIChlLmcuLCAnTXlBcHAnKS5cIixcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgdmVyc2lvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DTElFTlRfTUVUQURBVEFfVkVSU0lPTicsXG4gICAgaGVscDogXCJUaGUgdmVyc2lvbiBvZiB5b3VyIGFwcGxpY2F0aW9uIChlLmcuLCAnMS4wLjAnKS5cIixcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5BdXRoQWRhcHRlciA9IHtcbiAgZW5hYmxlZDoge1xuICAgIGhlbHA6ICdJcyBgdHJ1ZWAgaWYgdGhlIGF1dGggYWRhcHRlciBpcyBlbmFibGVkLCBgZmFsc2VgIG90aGVyd2lzZS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkxvZ0xldmVscyA9IHtcbiAgY2xvdWRGdW5jdGlvbkVycm9yOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfQ0xPVURfRlVOQ1RJT05fRVJST1InLFxuICAgIGhlbHA6ICdMb2cgbGV2ZWwgdXNlZCBieSB0aGUgQ2xvdWQgQ29kZSBGdW5jdGlvbnMgb24gZXJyb3IuIERlZmF1bHQgaXMgYGVycm9yYC4gU2VlIFtMb2dMZXZlbF0oTG9nTGV2ZWwuaHRtbCkgZm9yIGF2YWlsYWJsZSB2YWx1ZXMuJyxcbiAgICBkZWZhdWx0OiAnZXJyb3InLFxuICB9LFxuICBjbG91ZEZ1bmN0aW9uU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxTX0NMT1VEX0ZVTkNUSU9OX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICdMb2cgbGV2ZWwgdXNlZCBieSB0aGUgQ2xvdWQgQ29kZSBGdW5jdGlvbnMgb24gc3VjY2Vzcy4gRGVmYXVsdCBpcyBgaW5mb2AuIFNlZSBbTG9nTGV2ZWxdKExvZ0xldmVsLmh0bWwpIGZvciBhdmFpbGFibGUgdmFsdWVzLicsXG4gICAgZGVmYXVsdDogJ2luZm8nLFxuICB9LFxuICBzaWdudXBVc2VybmFtZVRha2VuOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfU0lHTlVQX1VTRVJOQU1FX1RBS0VOJyxcbiAgICBoZWxwOiAnTG9nIGxldmVsIHVzZWQgd2hlbiBhIHNpZ24tdXAgZmFpbHMgYmVjYXVzZSB0aGUgdXNlcm5hbWUgYWxyZWFkeSBleGlzdHMuIERlZmF1bHQgaXMgYGluZm9gLiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4nLFxuICAgIGRlZmF1bHQ6ICdpbmZvJyxcbiAgfSxcbiAgdHJpZ2dlckFmdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfVFJJR0dFUl9BRlRFUicsXG4gICAgaGVscDogJ0xvZyBsZXZlbCB1c2VkIGJ5IHRoZSBDbG91ZCBDb2RlIFRyaWdnZXJzIGBhZnRlclNhdmVgLCBgYWZ0ZXJEZWxldGVgLCBgYWZ0ZXJGaW5kYCwgYGFmdGVyTG9nb3V0YC4gRGVmYXVsdCBpcyBgaW5mb2AuIFNlZSBbTG9nTGV2ZWxdKExvZ0xldmVsLmh0bWwpIGZvciBhdmFpbGFibGUgdmFsdWVzLicsXG4gICAgZGVmYXVsdDogJ2luZm8nLFxuICB9LFxuICB0cmlnZ2VyQmVmb3JlRXJyb3I6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMU19UUklHR0VSX0JFRk9SRV9FUlJPUicsXG4gICAgaGVscDogJ0xvZyBsZXZlbCB1c2VkIGJ5IHRoZSBDbG91ZCBDb2RlIFRyaWdnZXJzIGBiZWZvcmVTYXZlYCwgYGJlZm9yZURlbGV0ZWAsIGBiZWZvcmVGaW5kYCwgYGJlZm9yZUxvZ2luYCBvbiBlcnJvci4gRGVmYXVsdCBpcyBgZXJyb3JgLiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4nLFxuICAgIGRlZmF1bHQ6ICdlcnJvcicsXG4gIH0sXG4gIHRyaWdnZXJCZWZvcmVTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfVFJJR0dFUl9CRUZPUkVfU1VDQ0VTUycsXG4gICAgaGVscDogJ0xvZyBsZXZlbCB1c2VkIGJ5IHRoZSBDbG91ZCBDb2RlIFRyaWdnZXJzIGBiZWZvcmVTYXZlYCwgYGJlZm9yZURlbGV0ZWAsIGBiZWZvcmVGaW5kYCwgYGJlZm9yZUxvZ2luYCBvbiBzdWNjZXNzLiBEZWZhdWx0IGlzIGBpbmZvYC4gU2VlIFtMb2dMZXZlbF0oTG9nTGV2ZWwuaHRtbCkgZm9yIGF2YWlsYWJsZSB2YWx1ZXMuJyxcbiAgICBkZWZhdWx0OiAnaW5mbycsXG4gIH0sXG59O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxPQUFPLEdBQUdDLE9BQU8sQ0FBQyxXQUFXLENBQUM7QUFDbENDLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDQyxhQUFhLEdBQUc7RUFDN0JDLGNBQWMsRUFBRTtJQUNkQyxHQUFHLEVBQUUscUNBQXFDO0lBQzFDQyxJQUFJLEVBQUU7RUFDUixDQUFDO0VBQ0RDLGVBQWUsRUFBRTtJQUNmRixHQUFHLEVBQUUsc0NBQXNDO0lBQzNDQyxJQUFJLEVBQUU7RUFDUixDQUFDO0VBQ0RFLFdBQVcsRUFBRTtJQUNYSCxHQUFHLEVBQUUsaUNBQWlDO0lBQ3RDQyxJQUFJLEVBQUUsZ0dBQWdHO0lBQ3RHRyxRQUFRLEVBQUUsSUFBSTtJQUNkQyxNQUFNLEVBQUVYLE9BQU8sQ0FBQ1ksWUFBWTtJQUM1QkMsT0FBTyxFQUFFO0VB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