Harbor is an open source container and OCI artifact registry with access control and Trivy vulnerability scanning.
Alternatively, create a Compose service, go to Advanced → Import from Base64, and paste this payload:
ewogICJjb21wb3NlIjogIiMgR2VuZXJhdGVkIGJ5IHRvb2xzL3JlbmRlci1jb21wb3NlLm1qcyBmcm9tIGltYWdlcy5sb2NrLmpzb24uXG5cInNlcnZpY2VzXCI6XG4gIFwiaGFyYm9yLWluaXRcIjpcbiAgICBcImJ1aWxkXCI6XG4gICAgICBcImNvbnRleHRcIjogXCJodHRwczovL2dpdGh1Yi5jb20vWG5DTi9oYXJib3ItZG9rcGxveS10ZW1wbGF0ZS5naXQjZmMyMjRkNzg4MDBmZmFkNGNkMmEyMWVjZDA4ZjI0YzZmYTEyMmI4MjpibHVlcHJpbnRzL2hhcmJvclwiXG4gICAgICBcImRvY2tlcmZpbGVcIjogXCJEb2NrZXJmaWxlXCJcbiAgICAgIFwidGFyZ2V0XCI6IFwicnVudGltZVwiXG4gICAgICBcImFyZ3NcIjpcbiAgICAgICAgXCJQUkVQQVJFX0lNQUdFXCI6IFwiZ29oYXJib3IvcHJlcGFyZTp2Mi4xNS40QHNoYTI1Njo3OWI1NjE0ZDBkMDJiNWQyYzZjOWI3Yjk3NTVmNWNhYWVhODgyNzk3MzUzYmZjYjY0MjFmNzdlNmQ2OWNjMzE3XCJcbiAgICBcInBsYXRmb3JtXCI6IFwibGludXgvYW1kNjRcIlxuICAgIFwicmVzdGFydFwiOiBcIm5vXCJcbiAgICBcImxhYmVsc1wiOlxuICAgICAgXCJpby5oYXJib3ItZG9rcGxveS5pbnN0YW5jZVwiOiBcIiR7SEFSQk9SX0lOU1RBTkNFX0lEOj9TZXQgSEFSQk9SX0lOU1RBTkNFX0lEIGluIERva3Bsb3kgRW52aXJvbm1lbnR9XCJcbiAgICAgIFwiaW8uaGFyYm9yLWRva3Bsb3kucm9sZVwiOiBcImluaXRcIlxuICAgICAgXCJ0cmFlZmlrLmVuYWJsZVwiOiBcImZhbHNlXCJcbiAgICBcImVudmlyb25tZW50XCI6XG4gICAgICBcIkhBUkJPUl9JTlNUQU5DRV9JRFwiOiBcIiR7SEFSQk9SX0lOU1RBTkNFX0lEOj9TZXQgSEFSQk9SX0lOU1RBTkNFX0lEIGluIERva3Bsb3kgRW52aXJvbm1lbnR9XCJcbiAgICAgIFwiSEFSQk9SX0hPU1ROQU1FXCI6IFwiJHtIQVJCT1JfSE9TVE5BTUU6P1NldCBIQVJCT1JfSE9TVE5BTUUgaW4gRG9rcGxveSBFbnZpcm9ubWVudH1cIlxuICAgICAgXCJIQVJCT1JfQURNSU5fUEFTU1dPUkRcIjogXCIke0hBUkJPUl9BRE1JTl9QQVNTV09SRDo/U2V0IEhBUkJPUl9BRE1JTl9QQVNTV09SRCBpbiBEb2twbG95IEVudmlyb25tZW50fVwiXG4gICAgICBcIkhBUkJPUl9EQl9QQVNTV09SRFwiOiBcIiR7SEFSQk9SX0RCX1BBU1NXT1JEOj9TZXQgSEFSQk9SX0RCX1BBU1NXT1JEIGluIERva3Bsb3kgRW52aXJvbm1lbnR9XCJcbiAgICAgIFwiREJfTUFYX0lETEVfQ09OTlNcIjogXCIke0RCX01BWF9JRExFX0NPTk5TOi0xMH1cIlxuICAgICAgXCJEQl9NQVhfT1BFTl9DT05OU1wiOiBcIiR7REJfTUFYX09QRU5fQ09OTlM6LTEwMH1cIlxuICAgICAgXCJQT1NUR1JFU19NQVhfQ09OTkVDVElPTlNcIjogXCIke1BPU1RHUkVTX01BWF9DT05ORUNUSU9OUzotMjU2fVwiXG4gICAgICBcIkpPQl9NQVhfV09SS0VSU1wiOiBcIiR7Sk9CX01BWF9XT1JLRVJTOi01fVwiXG4gICAgICBcIkhBUkJPUl9MT0dfTEVWRUxcIjogXCIke0hBUkJPUl9MT0dfTEVWRUw6LWluZm99XCJcbiAgICAgIFwiQ0FDSEVfRU5BQkxFRFwiOiBcIiR7Q0FDSEVfRU5BQkxFRDotdHJ1ZX1cIlxuICAgICAgXCJBTExPV19QUklWQVRFX05FVFdPUktfQUNDRVNTXCI6IFwiJHtBTExPV19QUklWQVRFX05FVFdPUktfQUNDRVNTOi1mYWxzZX1cIlxuICAgICAgXCJUUklWWV9HSVRIVUJfVE9LRU5cIjogXCIke1RSSVZZX0dJVEhVQl9UT0tFTjotfVwiXG4gICAgICBcIlRSSVZZX0RCX1JFUE9TSVRPUllcIjogXCIke1RSSVZZX0RCX1JFUE9TSVRPUlk6LWdoY3IuaW8vYXF1YXNlY3VyaXR5L3RyaXZ5LWRifVwiXG4gICAgICBcIlRSSVZZX0pBVkFfREJfUkVQT1NJVE9SWVwiOiBcIiR7VFJJVllfSkFWQV9EQl9SRVBPU0lUT1JZOi1naGNyLmlvL2FxdWFzZWN1cml0eS90cml2eS1qYXZhLWRifVwiXG4gICAgICBcIkhBUkJPUl9IVFRQX1BST1hZXCI6IFwiJHtIQVJCT1JfSFRUUF9QUk9YWTotfVwiXG4gICAgICBcIkhBUkJPUl9IVFRQU19QUk9YWVwiOiBcIiR7SEFSQk9SX0hUVFBTX1BST1hZOi19XCJcbiAgICAgIFwiSEFSQk9SX05PX1BST1hZXCI6IFwiJHtIQVJCT1JfTk9fUFJPWFk6LX1cIlxuICAgICAgXCJQUk9KRUNUX1FVT1RBX0dJQlwiOiBcIiR7UFJPSkVDVF9RVU9UQV9HSUI6LTIwfVwiXG4gICAgXCJ2b2x1bWVzXCI6XG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29uZmlnXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvY29uZmlnXCJcbiAgICAgICAgXCJyZWFkX29ubHlcIjogZmFsc2VcbiAgICAgICAgXCJ2b2x1bWVcIjpcbiAgICAgICAgICBcIm5vY29weVwiOiB0cnVlXG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiZGF0YVwiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL2RhdGFcIlxuICAgICAgICBcInJlYWRfb25seVwiOiBmYWxzZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJkYXRhYmFzZVwiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL2RhdGEvZGF0YWJhc2VcIlxuICAgICAgICBcInJlYWRfb25seVwiOiBmYWxzZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJyZWdpc3RyeVwiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL2RhdGEvcmVnaXN0cnlcIlxuICAgICAgICBcInJlYWRfb25seVwiOiBmYWxzZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJyZWRpc1wiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL2RhdGEvcmVkaXNcIlxuICAgICAgICBcInJlYWRfb25seVwiOiBmYWxzZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJqb2JzXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvZGF0YS9qb2JfbG9nc1wiXG4gICAgICAgIFwicmVhZF9vbmx5XCI6IGZhbHNlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgICAgLVxuICAgICAgICBcInR5cGVcIjogXCJ2b2x1bWVcIlxuICAgICAgICBcInNvdXJjZVwiOiBcInRyaXZ5LWNhY2hlXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvZGF0YS90cml2eS1hZGFwdGVyL3RyaXZ5XCJcbiAgICAgICAgXCJyZWFkX29ubHlcIjogZmFsc2VcbiAgICAgICAgXCJ2b2x1bWVcIjpcbiAgICAgICAgICBcIm5vY29weVwiOiB0cnVlXG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwidHJpdnktcmVwb3J0c1wiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL2RhdGEvdHJpdnktYWRhcHRlci9yZXBvcnRzXCJcbiAgICAgICAgXCJyZWFkX29ubHlcIjogZmFsc2VcbiAgICAgICAgXCJ2b2x1bWVcIjpcbiAgICAgICAgICBcIm5vY29weVwiOiB0cnVlXG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29udHJvbFwiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL2NvbnRyb2xcIlxuICAgICAgICBcInJlYWRfb25seVwiOiBmYWxzZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICBcImNhcF9kcm9wXCI6XG4gICAgICAtIFwiQUxMXCJcbiAgICBcImNhcF9hZGRcIjpcbiAgICAgIC0gXCJDSE9XTlwiXG4gICAgICAtIFwiREFDX09WRVJSSURFXCJcbiAgICAgIC0gXCJGT1dORVJcIlxuICAgIFwic2VjdXJpdHlfb3B0XCI6XG4gICAgICAtIFwibm8tbmV3LXByaXZpbGVnZXM6dHJ1ZVwiXG4gICAgXCJtZW1fbGltaXRcIjogXCIke0lOSVRfTUVNT1JZX0xJTUlUOi03NjhtfVwiXG4gICAgXCJsb2dnaW5nXCI6XG4gICAgICBcImRyaXZlclwiOiBcImxvY2FsXCJcbiAgICAgIFwib3B0aW9uc1wiOlxuICAgICAgICBcIm1heC1zaXplXCI6IFwiJHtET0NLRVJfTE9HX01BWF9TSVpFOi0yMG19XCJcbiAgICAgICAgXCJtYXgtZmlsZVwiOiBcIiR7RE9DS0VSX0xPR19NQVhfRklMRVM6LTV9XCJcbiAgXCJjb3JlXCI6XG4gICAgXCJpbWFnZVwiOiBcImdvaGFyYm9yL2hhcmJvci1jb3JlOnYyLjE1LjRAc2hhMjU2OjdkMmJhNTMwNGE3Mjk4ODdjZGVjN2NiMjIyYTgyYjUwMDI3ODQyM2RlMjMwYWU1MTUwYzM4NmE2YzMzMmIxMTJcIlxuICAgIFwicGxhdGZvcm1cIjogXCJsaW51eC9hbWQ2NFwiXG4gICAgXCJyZXN0YXJ0XCI6IFwidW5sZXNzLXN0b3BwZWRcIlxuICAgIFwibGFiZWxzXCI6XG4gICAgICBcImlvLmhhcmJvci1kb2twbG95Lmluc3RhbmNlXCI6IFwiJHtIQVJCT1JfSU5TVEFOQ0VfSUQ6P1NldCBIQVJCT1JfSU5TVEFOQ0VfSUQgaW4gRG9rcGxveSBFbnZpcm9ubWVudH1cIlxuICAgICAgXCJpby5oYXJib3ItZG9rcGxveS5yb2xlXCI6IFwid29ya2xvYWRcIlxuICAgICAgXCJ0cmFlZmlrLmVuYWJsZVwiOiBcImZhbHNlXCJcbiAgICBcImVudHJ5cG9pbnRcIjpcbiAgICAgIC0gXCIvYmluL3NoXCJcbiAgICAgIC0gXCIvZXRjL2NvcmUvbGF1bmNoLnNoXCJcbiAgICBcImNvbW1hbmRcIjogW11cbiAgICBcInZvbHVtZXNcIjpcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJjb25maWdcIlxuICAgICAgICBcInRhcmdldFwiOiBcIi9ldGMvY29yZVwiXG4gICAgICAgIFwicmVhZF9vbmx5XCI6IHRydWVcbiAgICAgICAgXCJ2b2x1bWVcIjpcbiAgICAgICAgICBcIm5vY29weVwiOiB0cnVlXG4gICAgICAgICAgXCJzdWJwYXRoXCI6IFwiY29yZVwiXG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29udHJvbFwiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL3J1bi9oYXJib3ItY29udHJvbFwiXG4gICAgICAgIFwicmVhZF9vbmx5XCI6IHRydWVcbiAgICAgICAgXCJ2b2x1bWVcIjpcbiAgICAgICAgICBcIm5vY29weVwiOiB0cnVlXG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29uZmlnXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvaGFyYm9yX2N1c3RfY2VydFwiXG4gICAgICAgIFwicmVhZF9vbmx5XCI6IHRydWVcbiAgICAgICAgXCJ2b2x1bWVcIjpcbiAgICAgICAgICBcIm5vY29weVwiOiB0cnVlXG4gICAgICAgICAgXCJzdWJwYXRoXCI6IFwic2hhcmVkL3RydXN0LWNlcnRpZmljYXRlc1wiXG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiZGF0YVwiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL2RhdGFcIlxuICAgICAgICBcInJlYWRfb25seVwiOiBmYWxzZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICBcImRlcGVuZHNfb25cIjpcbiAgICAgIFwiaGFyYm9yLWluaXRcIjpcbiAgICAgICAgXCJjb25kaXRpb25cIjogXCJzZXJ2aWNlX2NvbXBsZXRlZF9zdWNjZXNzZnVsbHlcIlxuICAgICAgXCJwb3N0Z3Jlc3FsXCI6XG4gICAgICAgIFwiY29uZGl0aW9uXCI6IFwic2VydmljZV9oZWFsdGh5XCJcbiAgICAgIFwicmVkaXNcIjpcbiAgICAgICAgXCJjb25kaXRpb25cIjogXCJzZXJ2aWNlX2hlYWx0aHlcIlxuICAgICAgXCJyZWdpc3RyeVwiOlxuICAgICAgICBcImNvbmRpdGlvblwiOiBcInNlcnZpY2VfaGVhbHRoeVwiXG4gICAgXCJjYXBfZHJvcFwiOlxuICAgICAgLSBcIkFMTFwiXG4gICAgXCJjYXBfYWRkXCI6XG4gICAgICAtIFwiQ0hPV05cIlxuICAgICAgLSBcIlNFVEdJRFwiXG4gICAgICAtIFwiU0VUVUlEXCJcbiAgICBcInNlY3VyaXR5X29wdFwiOlxuICAgICAgLSBcIm5vLW5ldy1wcml2aWxlZ2VzOnRydWVcIlxuICAgIFwibWVtX2xpbWl0XCI6IFwiJHtDT1JFX01FTU9SWV9MSU1JVDotMWd9XCJcbiAgICBcImNwdXNcIjogXCIke0NPUkVfQ1BVX0xJTUlUOi0xLjB9XCJcbiAgICBcInN0b3BfZ3JhY2VfcGVyaW9kXCI6IFwiMTIwc1wiXG4gICAgXCJoZWFsdGhjaGVja1wiOlxuICAgICAgXCJpbnRlcnZhbFwiOiBcIjE1c1wiXG4gICAgICBcInRpbWVvdXRcIjogXCIxMHNcIlxuICAgICAgXCJyZXRyaWVzXCI6IDEwXG4gICAgICBcInN0YXJ0X3BlcmlvZFwiOiBcIjYwc1wiXG4gICAgXCJsb2dnaW5nXCI6XG4gICAgICBcImRyaXZlclwiOiBcImxvY2FsXCJcbiAgICAgIFwib3B0aW9uc1wiOlxuICAgICAgICBcIm1heC1zaXplXCI6IFwiJHtET0NLRVJfTE9HX01BWF9TSVpFOi0yMG19XCJcbiAgICAgICAgXCJtYXgtZmlsZVwiOiBcIiR7RE9DS0VSX0xPR19NQVhfRklMRVM6LTV9XCJcbiAgXCJwb3N0Z3Jlc3FsXCI6XG4gICAgXCJpbWFnZVwiOiBcImdvaGFyYm9yL2hhcmJvci1kYjp2Mi4xNS40QHNoYTI1NjphMzJkNTFlNjM2ZDc2MzAzZTA4NmE3YzUyNTFhMmM4NDE1YzZmMTY1YjJmODdiYWZhOTE0ZWZkODY2YzU0MDNmXCJcbiAgICBcInBsYXRmb3JtXCI6IFwibGludXgvYW1kNjRcIlxuICAgIFwicmVzdGFydFwiOiBcInVubGVzcy1zdG9wcGVkXCJcbiAgICBcImxhYmVsc1wiOlxuICAgICAgXCJpby5oYXJib3ItZG9rcGxveS5pbnN0YW5jZVwiOiBcIiR7SEFSQk9SX0lOU1RBTkNFX0lEOj9TZXQgSEFSQk9SX0lOU1RBTkNFX0lEIGluIERva3Bsb3kgRW52aXJvbm1lbnR9XCJcbiAgICAgIFwiaW8uaGFyYm9yLWRva3Bsb3kucm9sZVwiOiBcIndvcmtsb2FkXCJcbiAgICAgIFwidHJhZWZpay5lbmFibGVcIjogXCJmYWxzZVwiXG4gICAgXCJlbnRyeXBvaW50XCI6XG4gICAgICAtIFwiL2Jpbi9zaFwiXG4gICAgICAtIFwiL3J1bi9oYXJib3ItY29uZmlnL2xhdW5jaC5zaFwiXG4gICAgXCJjb21tYW5kXCI6IFtdXG4gICAgXCJ2b2x1bWVzXCI6XG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29uZmlnXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvcnVuL2hhcmJvci1jb25maWdcIlxuICAgICAgICBcInJlYWRfb25seVwiOiB0cnVlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgICAgICAgIFwic3VicGF0aFwiOiBcImRiXCJcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJjb250cm9sXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvcnVuL2hhcmJvci1jb250cm9sXCJcbiAgICAgICAgXCJyZWFkX29ubHlcIjogdHJ1ZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJjb25maWdcIlxuICAgICAgICBcInRhcmdldFwiOiBcIi9oYXJib3JfY3VzdF9jZXJ0XCJcbiAgICAgICAgXCJyZWFkX29ubHlcIjogdHJ1ZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICAgICAgICBcInN1YnBhdGhcIjogXCJzaGFyZWQvdHJ1c3QtY2VydGlmaWNhdGVzXCJcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJkYXRhYmFzZVwiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhXCJcbiAgICAgICAgXCJyZWFkX29ubHlcIjogZmFsc2VcbiAgICAgICAgXCJ2b2x1bWVcIjpcbiAgICAgICAgICBcIm5vY29weVwiOiB0cnVlXG4gICAgXCJkZXBlbmRzX29uXCI6XG4gICAgICBcImhhcmJvci1pbml0XCI6XG4gICAgICAgIFwiY29uZGl0aW9uXCI6IFwic2VydmljZV9jb21wbGV0ZWRfc3VjY2Vzc2Z1bGx5XCJcbiAgICBcImNhcF9kcm9wXCI6XG4gICAgICAtIFwiQUxMXCJcbiAgICBcImNhcF9hZGRcIjpcbiAgICAgIC0gXCJDSE9XTlwiXG4gICAgICAtIFwiU0VUR0lEXCJcbiAgICAgIC0gXCJTRVRVSURcIlxuICAgICAgLSBcIkRBQ19PVkVSUklERVwiXG4gICAgXCJzZWN1cml0eV9vcHRcIjpcbiAgICAgIC0gXCJuby1uZXctcHJpdmlsZWdlczp0cnVlXCJcbiAgICBcIm1lbV9saW1pdFwiOiBcIiR7UE9TVEdSRVNRTF9NRU1PUllfTElNSVQ6LTE1MzZtfVwiXG4gICAgXCJjcHVzXCI6IFwiJHtQT1NUR1JFU1FMX0NQVV9MSU1JVDotMS4wfVwiXG4gICAgXCJzdG9wX2dyYWNlX3BlcmlvZFwiOiBcIjEyMHNcIlxuICAgIFwiaGVhbHRoY2hlY2tcIjpcbiAgICAgIFwiaW50ZXJ2YWxcIjogXCIxNXNcIlxuICAgICAgXCJ0aW1lb3V0XCI6IFwiMTBzXCJcbiAgICAgIFwicmV0cmllc1wiOiAxMFxuICAgICAgXCJzdGFydF9wZXJpb2RcIjogXCIxMjBzXCJcbiAgICAgIFwidGVzdFwiOlxuICAgICAgICAtIFwiQ01EXCJcbiAgICAgICAgLSBcIi9iaW4vc2hcIlxuICAgICAgICAtIFwiL3J1bi9oYXJib3ItY29uZmlnL2hlYWx0aC5zaFwiXG4gICAgXCJsb2dnaW5nXCI6XG4gICAgICBcImRyaXZlclwiOiBcImxvY2FsXCJcbiAgICAgIFwib3B0aW9uc1wiOlxuICAgICAgICBcIm1heC1zaXplXCI6IFwiJHtET0NLRVJfTE9HX01BWF9TSVpFOi0yMG19XCJcbiAgICAgICAgXCJtYXgtZmlsZVwiOiBcIiR7RE9DS0VSX0xPR19NQVhfRklMRVM6LTV9XCJcbiAgICBcInNobV9zaXplXCI6IFwiMjU2bVwiXG4gICAgXCJlbnZpcm9ubWVudFwiOlxuICAgICAgXCJQT1NUR1JFU19NQVhfQ09OTkVDVElPTlNcIjogXCIke1BPU1RHUkVTX01BWF9DT05ORUNUSU9OUzotMjU2fVwiXG4gIFwicmVkaXNcIjpcbiAgICBcImltYWdlXCI6IFwiZ29oYXJib3IvdmFsa2V5LXBob3Rvbjp2Mi4xNS40QHNoYTI1NjpiYjAyMmU4ZjIzNmY1NmY1M2NlZTdiYjFmNjA5NTk1ZTQ5N2RhNjdkODI5MDQ4ZTBhZjIyODRmOTdlNmViNTRmXCJcbiAgICBcInBsYXRmb3JtXCI6IFwibGludXgvYW1kNjRcIlxuICAgIFwicmVzdGFydFwiOiBcInVubGVzcy1zdG9wcGVkXCJcbiAgICBcImxhYmVsc1wiOlxuICAgICAgXCJpby5oYXJib3ItZG9rcGxveS5pbnN0YW5jZVwiOiBcIiR7SEFSQk9SX0lOU1RBTkNFX0lEOj9TZXQgSEFSQk9SX0lOU1RBTkNFX0lEIGluIERva3Bsb3kgRW52aXJvbm1lbnR9XCJcbiAgICAgIFwiaW8uaGFyYm9yLWRva3Bsb3kucm9sZVwiOiBcIndvcmtsb2FkXCJcbiAgICAgIFwidHJhZWZpay5lbmFibGVcIjogXCJmYWxzZVwiXG4gICAgXCJlbnRyeXBvaW50XCI6XG4gICAgICAtIFwiL2Jpbi9zaFwiXG4gICAgICAtIFwiL3J1bi9oYXJib3ItY29uZmlnL2xhdW5jaC5zaFwiXG4gICAgXCJjb21tYW5kXCI6IFtdXG4gICAgXCJ2b2x1bWVzXCI6XG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29uZmlnXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvcnVuL2hhcmJvci1jb25maWdcIlxuICAgICAgICBcInJlYWRfb25seVwiOiB0cnVlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgICAgICAgIFwic3VicGF0aFwiOiBcInJlZGlzXCJcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJjb250cm9sXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvcnVuL2hhcmJvci1jb250cm9sXCJcbiAgICAgICAgXCJyZWFkX29ubHlcIjogdHJ1ZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJjb25maWdcIlxuICAgICAgICBcInRhcmdldFwiOiBcIi9oYXJib3JfY3VzdF9jZXJ0XCJcbiAgICAgICAgXCJyZWFkX29ubHlcIjogdHJ1ZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICAgICAgICBcInN1YnBhdGhcIjogXCJzaGFyZWQvdHJ1c3QtY2VydGlmaWNhdGVzXCJcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJyZWRpc1wiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL3Zhci9saWIvcmVkaXNcIlxuICAgICAgICBcInJlYWRfb25seVwiOiBmYWxzZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICBcImRlcGVuZHNfb25cIjpcbiAgICAgIFwiaGFyYm9yLWluaXRcIjpcbiAgICAgICAgXCJjb25kaXRpb25cIjogXCJzZXJ2aWNlX2NvbXBsZXRlZF9zdWNjZXNzZnVsbHlcIlxuICAgIFwiY2FwX2Ryb3BcIjpcbiAgICAgIC0gXCJBTExcIlxuICAgIFwiY2FwX2FkZFwiOlxuICAgICAgLSBcIkNIT1dOXCJcbiAgICAgIC0gXCJTRVRHSURcIlxuICAgICAgLSBcIlNFVFVJRFwiXG4gICAgXCJzZWN1cml0eV9vcHRcIjpcbiAgICAgIC0gXCJuby1uZXctcHJpdmlsZWdlczp0cnVlXCJcbiAgICBcIm1lbV9saW1pdFwiOiBcIiR7UkVESVNfTUVNT1JZX0xJTUlUOi0yNTZtfVwiXG4gICAgXCJjcHVzXCI6IFwiJHtSRURJU19DUFVfTElNSVQ6LTEuMH1cIlxuICAgIFwic3RvcF9ncmFjZV9wZXJpb2RcIjogXCIxMjBzXCJcbiAgICBcImhlYWx0aGNoZWNrXCI6XG4gICAgICBcImludGVydmFsXCI6IFwiMTVzXCJcbiAgICAgIFwidGltZW91dFwiOiBcIjEwc1wiXG4gICAgICBcInJldHJpZXNcIjogMTBcbiAgICAgIFwic3RhcnRfcGVyaW9kXCI6IFwiNjBzXCJcbiAgICBcImxvZ2dpbmdcIjpcbiAgICAgIFwiZHJpdmVyXCI6IFwibG9jYWxcIlxuICAgICAgXCJvcHRpb25zXCI6XG4gICAgICAgIFwibWF4LXNpemVcIjogXCIke0RPQ0tFUl9MT0dfTUFYX1NJWkU6LTIwbX1cIlxuICAgICAgICBcIm1heC1maWxlXCI6IFwiJHtET0NLRVJfTE9HX01BWF9GSUxFUzotNX1cIlxuICBcInJlZ2lzdHJ5XCI6XG4gICAgXCJpbWFnZVwiOiBcImdvaGFyYm9yL3JlZ2lzdHJ5LXBob3Rvbjp2Mi4xNS40QHNoYTI1NjpkYzBjYjM4OGE2NDQ1YzY5YzhhMGM0MDY2NzkyOTBkMjk5MWM5Njk4ODMzZDllNmU4NmEyM2JkZmFmMmY4M2MzXCJcbiAgICBcInBsYXRmb3JtXCI6IFwibGludXgvYW1kNjRcIlxuICAgIFwicmVzdGFydFwiOiBcInVubGVzcy1zdG9wcGVkXCJcbiAgICBcImxhYmVsc1wiOlxuICAgICAgXCJpby5oYXJib3ItZG9rcGxveS5pbnN0YW5jZVwiOiBcIiR7SEFSQk9SX0lOU1RBTkNFX0lEOj9TZXQgSEFSQk9SX0lOU1RBTkNFX0lEIGluIERva3Bsb3kgRW52aXJvbm1lbnR9XCJcbiAgICAgIFwiaW8uaGFyYm9yLWRva3Bsb3kucm9sZVwiOiBcIndvcmtsb2FkXCJcbiAgICAgIFwidHJhZWZpay5lbmFibGVcIjogXCJmYWxzZVwiXG4gICAgXCJlbnRyeXBvaW50XCI6XG4gICAgICAtIFwiL2Jpbi9zaFwiXG4gICAgICAtIFwiL2V0Yy9yZWdpc3RyeS9sYXVuY2guc2hcIlxuICAgIFwiY29tbWFuZFwiOiBbXVxuICAgIFwidm9sdW1lc1wiOlxuICAgICAgLVxuICAgICAgICBcInR5cGVcIjogXCJ2b2x1bWVcIlxuICAgICAgICBcInNvdXJjZVwiOiBcImNvbmZpZ1wiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL2V0Yy9yZWdpc3RyeVwiXG4gICAgICAgIFwicmVhZF9vbmx5XCI6IHRydWVcbiAgICAgICAgXCJ2b2x1bWVcIjpcbiAgICAgICAgICBcIm5vY29weVwiOiB0cnVlXG4gICAgICAgICAgXCJzdWJwYXRoXCI6IFwicmVnaXN0cnlcIlxuICAgICAgLVxuICAgICAgICBcInR5cGVcIjogXCJ2b2x1bWVcIlxuICAgICAgICBcInNvdXJjZVwiOiBcImNvbnRyb2xcIlxuICAgICAgICBcInRhcmdldFwiOiBcIi9ydW4vaGFyYm9yLWNvbnRyb2xcIlxuICAgICAgICBcInJlYWRfb25seVwiOiB0cnVlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgICAgLVxuICAgICAgICBcInR5cGVcIjogXCJ2b2x1bWVcIlxuICAgICAgICBcInNvdXJjZVwiOiBcImNvbmZpZ1wiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL2hhcmJvcl9jdXN0X2NlcnRcIlxuICAgICAgICBcInJlYWRfb25seVwiOiB0cnVlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgICAgICAgIFwic3VicGF0aFwiOiBcInNoYXJlZC90cnVzdC1jZXJ0aWZpY2F0ZXNcIlxuICAgICAgLVxuICAgICAgICBcInR5cGVcIjogXCJ2b2x1bWVcIlxuICAgICAgICBcInNvdXJjZVwiOiBcInJlZ2lzdHJ5XCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvc3RvcmFnZVwiXG4gICAgICAgIFwicmVhZF9vbmx5XCI6IGZhbHNlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgIFwiZGVwZW5kc19vblwiOlxuICAgICAgXCJoYXJib3ItaW5pdFwiOlxuICAgICAgICBcImNvbmRpdGlvblwiOiBcInNlcnZpY2VfY29tcGxldGVkX3N1Y2Nlc3NmdWxseVwiXG4gICAgICBcInJlZGlzXCI6XG4gICAgICAgIFwiY29uZGl0aW9uXCI6IFwic2VydmljZV9oZWFsdGh5XCJcbiAgICBcImNhcF9kcm9wXCI6XG4gICAgICAtIFwiQUxMXCJcbiAgICBcImNhcF9hZGRcIjpcbiAgICAgIC0gXCJDSE9XTlwiXG4gICAgICAtIFwiU0VUR0lEXCJcbiAgICAgIC0gXCJTRVRVSURcIlxuICAgIFwic2VjdXJpdHlfb3B0XCI6XG4gICAgICAtIFwibm8tbmV3LXByaXZpbGVnZXM6dHJ1ZVwiXG4gICAgXCJtZW1fbGltaXRcIjogXCIke1JFR0lTVFJZX01FTU9SWV9MSU1JVDotNzY4bX1cIlxuICAgIFwiY3B1c1wiOiBcIiR7UkVHSVNUUllfQ1BVX0xJTUlUOi0xLjB9XCJcbiAgICBcInN0b3BfZ3JhY2VfcGVyaW9kXCI6IFwiMTIwc1wiXG4gICAgXCJoZWFsdGhjaGVja1wiOlxuICAgICAgXCJpbnRlcnZhbFwiOiBcIjE1c1wiXG4gICAgICBcInRpbWVvdXRcIjogXCIxMHNcIlxuICAgICAgXCJyZXRyaWVzXCI6IDEwXG4gICAgICBcInN0YXJ0X3BlcmlvZFwiOiBcIjYwc1wiXG4gICAgXCJsb2dnaW5nXCI6XG4gICAgICBcImRyaXZlclwiOiBcImxvY2FsXCJcbiAgICAgIFwib3B0aW9uc1wiOlxuICAgICAgICBcIm1heC1zaXplXCI6IFwiJHtET0NLRVJfTE9HX01BWF9TSVpFOi0yMG19XCJcbiAgICAgICAgXCJtYXgtZmlsZVwiOiBcIiR7RE9DS0VSX0xPR19NQVhfRklMRVM6LTV9XCJcbiAgXCJyZWdpc3RyeWN0bFwiOlxuICAgIFwiaW1hZ2VcIjogXCJnb2hhcmJvci9oYXJib3ItcmVnaXN0cnljdGw6djIuMTUuNEBzaGEyNTY6MzBiZDFhY2U0ZTNiYjM5MGQ3NWI4NDY3M2Y5OGRkYjRhNjlmY2M2ZDExNjkzMmVhNzY0MzkxZGYwMTk0M2ZiN1wiXG4gICAgXCJwbGF0Zm9ybVwiOiBcImxpbnV4L2FtZDY0XCJcbiAgICBcInJlc3RhcnRcIjogXCJ1bmxlc3Mtc3RvcHBlZFwiXG4gICAgXCJsYWJlbHNcIjpcbiAgICAgIFwiaW8uaGFyYm9yLWRva3Bsb3kuaW5zdGFuY2VcIjogXCIke0hBUkJPUl9JTlNUQU5DRV9JRDo/U2V0IEhBUkJPUl9JTlNUQU5DRV9JRCBpbiBEb2twbG95IEVudmlyb25tZW50fVwiXG4gICAgICBcImlvLmhhcmJvci1kb2twbG95LnJvbGVcIjogXCJ3b3JrbG9hZFwiXG4gICAgICBcInRyYWVmaWsuZW5hYmxlXCI6IFwiZmFsc2VcIlxuICAgIFwiZW50cnlwb2ludFwiOlxuICAgICAgLSBcIi9iaW4vc2hcIlxuICAgICAgLSBcIi9ldGMvcmVnaXN0cnljdGwvbGF1bmNoLnNoXCJcbiAgICBcImNvbW1hbmRcIjogW11cbiAgICBcInZvbHVtZXNcIjpcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJjb25maWdcIlxuICAgICAgICBcInRhcmdldFwiOiBcIi9ldGMvcmVnaXN0cnljdGxcIlxuICAgICAgICBcInJlYWRfb25seVwiOiB0cnVlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgICAgICAgIFwic3VicGF0aFwiOiBcInJlZ2lzdHJ5Y3RsXCJcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJjb250cm9sXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvcnVuL2hhcmJvci1jb250cm9sXCJcbiAgICAgICAgXCJyZWFkX29ubHlcIjogdHJ1ZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJjb25maWdcIlxuICAgICAgICBcInRhcmdldFwiOiBcIi9oYXJib3JfY3VzdF9jZXJ0XCJcbiAgICAgICAgXCJyZWFkX29ubHlcIjogdHJ1ZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICAgICAgICBcInN1YnBhdGhcIjogXCJzaGFyZWQvdHJ1c3QtY2VydGlmaWNhdGVzXCJcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJyZWdpc3RyeVwiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL3N0b3JhZ2VcIlxuICAgICAgICBcInJlYWRfb25seVwiOiBmYWxzZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICAgIC1cbiAgICAgICAgXCJ0eXBlXCI6IFwidm9sdW1lXCJcbiAgICAgICAgXCJzb3VyY2VcIjogXCJjb25maWdcIlxuICAgICAgICBcInRhcmdldFwiOiBcIi9ldGMvcmVnaXN0cnlcIlxuICAgICAgICBcInJlYWRfb25seVwiOiB0cnVlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgICAgICAgIFwic3VicGF0aFwiOiBcInJlZ2lzdHJ5XCJcbiAgICBcImRlcGVuZHNfb25cIjpcbiAgICAgIFwiaGFyYm9yLWluaXRcIjpcbiAgICAgICAgXCJjb25kaXRpb25cIjogXCJzZXJ2aWNlX2NvbXBsZXRlZF9zdWNjZXNzZnVsbHlcIlxuICAgICAgXCJyZWdpc3RyeVwiOlxuICAgICAgICBcImNvbmRpdGlvblwiOiBcInNlcnZpY2VfaGVhbHRoeVwiXG4gICAgXCJjYXBfZHJvcFwiOlxuICAgICAgLSBcIkFMTFwiXG4gICAgXCJjYXBfYWRkXCI6XG4gICAgICAtIFwiQ0hPV05cIlxuICAgICAgLSBcIlNFVEdJRFwiXG4gICAgICAtIFwiU0VUVUlEXCJcbiAgICBcInNlY3VyaXR5X29wdFwiOlxuICAgICAgLSBcIm5vLW5ldy1wcml2aWxlZ2VzOnRydWVcIlxuICAgIFwibWVtX2xpbWl0XCI6IFwiJHtSRUdJU1RSWUNUTF9NRU1PUllfTElNSVQ6LTEyOG19XCJcbiAgICBcImNwdXNcIjogXCIke1JFR0lTVFJZQ1RMX0NQVV9MSU1JVDotMS4wfVwiXG4gICAgXCJzdG9wX2dyYWNlX3BlcmlvZFwiOiBcIjEyMHNcIlxuICAgIFwiaGVhbHRoY2hlY2tcIjpcbiAgICAgIFwiaW50ZXJ2YWxcIjogXCIxNXNcIlxuICAgICAgXCJ0aW1lb3V0XCI6IFwiMTBzXCJcbiAgICAgIFwicmV0cmllc1wiOiAxMFxuICAgICAgXCJzdGFydF9wZXJpb2RcIjogXCI2MHNcIlxuICAgIFwibG9nZ2luZ1wiOlxuICAgICAgXCJkcml2ZXJcIjogXCJsb2NhbFwiXG4gICAgICBcIm9wdGlvbnNcIjpcbiAgICAgICAgXCJtYXgtc2l6ZVwiOiBcIiR7RE9DS0VSX0xPR19NQVhfU0laRTotMjBtfVwiXG4gICAgICAgIFwibWF4LWZpbGVcIjogXCIke0RPQ0tFUl9MT0dfTUFYX0ZJTEVTOi01fVwiXG4gIFwiam9ic2VydmljZVwiOlxuICAgIFwiaW1hZ2VcIjogXCJnb2hhcmJvci9oYXJib3Itam9ic2VydmljZTp2Mi4xNS40QHNoYTI1NjpmMTQzNTc4ZWYzMGUyYmU1YzQ4ODczMjk4MjU3ZWQwZmNhMzE1NDUwMjU5NThjNTM0ZTUzNmEwNjc2NWQyYjgyXCJcbiAgICBcInBsYXRmb3JtXCI6IFwibGludXgvYW1kNjRcIlxuICAgIFwicmVzdGFydFwiOiBcInVubGVzcy1zdG9wcGVkXCJcbiAgICBcImxhYmVsc1wiOlxuICAgICAgXCJpby5oYXJib3ItZG9rcGxveS5pbnN0YW5jZVwiOiBcIiR7SEFSQk9SX0lOU1RBTkNFX0lEOj9TZXQgSEFSQk9SX0lOU1RBTkNFX0lEIGluIERva3Bsb3kgRW52aXJvbm1lbnR9XCJcbiAgICAgIFwiaW8uaGFyYm9yLWRva3Bsb3kucm9sZVwiOiBcIndvcmtsb2FkXCJcbiAgICAgIFwidHJhZWZpay5lbmFibGVcIjogXCJmYWxzZVwiXG4gICAgXCJlbnRyeXBvaW50XCI6XG4gICAgICAtIFwiL2Jpbi9zaFwiXG4gICAgICAtIFwiL2V0Yy9qb2JzZXJ2aWNlL2xhdW5jaC5zaFwiXG4gICAgXCJjb21tYW5kXCI6IFtdXG4gICAgXCJ2b2x1bWVzXCI6XG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29uZmlnXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvZXRjL2pvYnNlcnZpY2VcIlxuICAgICAgICBcInJlYWRfb25seVwiOiB0cnVlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgICAgICAgIFwic3VicGF0aFwiOiBcImpvYnNlcnZpY2VcIlxuICAgICAgLVxuICAgICAgICBcInR5cGVcIjogXCJ2b2x1bWVcIlxuICAgICAgICBcInNvdXJjZVwiOiBcImNvbnRyb2xcIlxuICAgICAgICBcInRhcmdldFwiOiBcIi9ydW4vaGFyYm9yLWNvbnRyb2xcIlxuICAgICAgICBcInJlYWRfb25seVwiOiB0cnVlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgICAgLVxuICAgICAgICBcInR5cGVcIjogXCJ2b2x1bWVcIlxuICAgICAgICBcInNvdXJjZVwiOiBcImNvbmZpZ1wiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL2hhcmJvcl9jdXN0X2NlcnRcIlxuICAgICAgICBcInJlYWRfb25seVwiOiB0cnVlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgICAgICAgIFwic3VicGF0aFwiOiBcInNoYXJlZC90cnVzdC1jZXJ0aWZpY2F0ZXNcIlxuICAgICAgLVxuICAgICAgICBcInR5cGVcIjogXCJ2b2x1bWVcIlxuICAgICAgICBcInNvdXJjZVwiOiBcImpvYnNcIlxuICAgICAgICBcInRhcmdldFwiOiBcIi92YXIvbG9nL2pvYnNcIlxuICAgICAgICBcInJlYWRfb25seVwiOiBmYWxzZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICBcImRlcGVuZHNfb25cIjpcbiAgICAgIFwiaGFyYm9yLWluaXRcIjpcbiAgICAgICAgXCJjb25kaXRpb25cIjogXCJzZXJ2aWNlX2NvbXBsZXRlZF9zdWNjZXNzZnVsbHlcIlxuICAgICAgXCJjb3JlXCI6XG4gICAgICAgIFwiY29uZGl0aW9uXCI6IFwic2VydmljZV9oZWFsdGh5XCJcbiAgICAgIFwicmVkaXNcIjpcbiAgICAgICAgXCJjb25kaXRpb25cIjogXCJzZXJ2aWNlX2hlYWx0aHlcIlxuICAgIFwiY2FwX2Ryb3BcIjpcbiAgICAgIC0gXCJBTExcIlxuICAgIFwiY2FwX2FkZFwiOlxuICAgICAgLSBcIkNIT1dOXCJcbiAgICAgIC0gXCJTRVRHSURcIlxuICAgICAgLSBcIlNFVFVJRFwiXG4gICAgXCJzZWN1cml0eV9vcHRcIjpcbiAgICAgIC0gXCJuby1uZXctcHJpdmlsZWdlczp0cnVlXCJcbiAgICBcIm1lbV9saW1pdFwiOiBcIiR7Sk9CU0VSVklDRV9NRU1PUllfTElNSVQ6LTUxMm19XCJcbiAgICBcImNwdXNcIjogXCIke0pPQlNFUlZJQ0VfQ1BVX0xJTUlUOi0xLjB9XCJcbiAgICBcInN0b3BfZ3JhY2VfcGVyaW9kXCI6IFwiMTIwc1wiXG4gICAgXCJoZWFsdGhjaGVja1wiOlxuICAgICAgXCJpbnRlcnZhbFwiOiBcIjE1c1wiXG4gICAgICBcInRpbWVvdXRcIjogXCIxMHNcIlxuICAgICAgXCJyZXRyaWVzXCI6IDEwXG4gICAgICBcInN0YXJ0X3BlcmlvZFwiOiBcIjYwc1wiXG4gICAgXCJsb2dnaW5nXCI6XG4gICAgICBcImRyaXZlclwiOiBcImxvY2FsXCJcbiAgICAgIFwib3B0aW9uc1wiOlxuICAgICAgICBcIm1heC1zaXplXCI6IFwiJHtET0NLRVJfTE9HX01BWF9TSVpFOi0yMG19XCJcbiAgICAgICAgXCJtYXgtZmlsZVwiOiBcIiR7RE9DS0VSX0xPR19NQVhfRklMRVM6LTV9XCJcbiAgXCJwb3J0YWxcIjpcbiAgICBcImltYWdlXCI6IFwiZ29oYXJib3IvaGFyYm9yLXBvcnRhbDp2Mi4xNS40QHNoYTI1NjowMWVkZjQ3ODUwNWIyMWRiYTIzYTgzYzA5NWY2ZWNhYzBjMWU3MDU2OTAwOTNlZGJhYjQxZTlhNGQ2NzU0YTc1XCJcbiAgICBcInBsYXRmb3JtXCI6IFwibGludXgvYW1kNjRcIlxuICAgIFwicmVzdGFydFwiOiBcInVubGVzcy1zdG9wcGVkXCJcbiAgICBcImxhYmVsc1wiOlxuICAgICAgXCJpby5oYXJib3ItZG9rcGxveS5pbnN0YW5jZVwiOiBcIiR7SEFSQk9SX0lOU1RBTkNFX0lEOj9TZXQgSEFSQk9SX0lOU1RBTkNFX0lEIGluIERva3Bsb3kgRW52aXJvbm1lbnR9XCJcbiAgICAgIFwiaW8uaGFyYm9yLWRva3Bsb3kucm9sZVwiOiBcIndvcmtsb2FkXCJcbiAgICAgIFwidHJhZWZpay5lbmFibGVcIjogXCJmYWxzZVwiXG4gICAgXCJlbnRyeXBvaW50XCI6XG4gICAgICAtIFwiL2Jpbi9zaFwiXG4gICAgICAtIFwiL3J1bi9oYXJib3ItY29uZmlnL2xhdW5jaC5zaFwiXG4gICAgXCJjb21tYW5kXCI6IFtdXG4gICAgXCJ2b2x1bWVzXCI6XG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29uZmlnXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvcnVuL2hhcmJvci1jb25maWdcIlxuICAgICAgICBcInJlYWRfb25seVwiOiB0cnVlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgICAgICAgIFwic3VicGF0aFwiOiBcInBvcnRhbFwiXG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29udHJvbFwiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL3J1bi9oYXJib3ItY29udHJvbFwiXG4gICAgICAgIFwicmVhZF9vbmx5XCI6IHRydWVcbiAgICAgICAgXCJ2b2x1bWVcIjpcbiAgICAgICAgICBcIm5vY29weVwiOiB0cnVlXG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29uZmlnXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvaGFyYm9yX2N1c3RfY2VydFwiXG4gICAgICAgIFwicmVhZF9vbmx5XCI6IHRydWVcbiAgICAgICAgXCJ2b2x1bWVcIjpcbiAgICAgICAgICBcIm5vY29weVwiOiB0cnVlXG4gICAgICAgICAgXCJzdWJwYXRoXCI6IFwic2hhcmVkL3RydXN0LWNlcnRpZmljYXRlc1wiXG4gICAgXCJkZXBlbmRzX29uXCI6XG4gICAgICBcImhhcmJvci1pbml0XCI6XG4gICAgICAgIFwiY29uZGl0aW9uXCI6IFwic2VydmljZV9jb21wbGV0ZWRfc3VjY2Vzc2Z1bGx5XCJcbiAgICBcImNhcF9kcm9wXCI6XG4gICAgICAtIFwiQUxMXCJcbiAgICBcImNhcF9hZGRcIjpcbiAgICAgIC0gXCJDSE9XTlwiXG4gICAgICAtIFwiU0VUR0lEXCJcbiAgICAgIC0gXCJTRVRVSURcIlxuICAgIFwic2VjdXJpdHlfb3B0XCI6XG4gICAgICAtIFwibm8tbmV3LXByaXZpbGVnZXM6dHJ1ZVwiXG4gICAgXCJtZW1fbGltaXRcIjogXCIke1BPUlRBTF9NRU1PUllfTElNSVQ6LTEyOG19XCJcbiAgICBcImNwdXNcIjogXCIke1BPUlRBTF9DUFVfTElNSVQ6LTEuMH1cIlxuICAgIFwic3RvcF9ncmFjZV9wZXJpb2RcIjogXCIxMjBzXCJcbiAgICBcImhlYWx0aGNoZWNrXCI6XG4gICAgICBcImludGVydmFsXCI6IFwiMTVzXCJcbiAgICAgIFwidGltZW91dFwiOiBcIjEwc1wiXG4gICAgICBcInJldHJpZXNcIjogMTBcbiAgICAgIFwic3RhcnRfcGVyaW9kXCI6IFwiNjBzXCJcbiAgICBcImxvZ2dpbmdcIjpcbiAgICAgIFwiZHJpdmVyXCI6IFwibG9jYWxcIlxuICAgICAgXCJvcHRpb25zXCI6XG4gICAgICAgIFwibWF4LXNpemVcIjogXCIke0RPQ0tFUl9MT0dfTUFYX1NJWkU6LTIwbX1cIlxuICAgICAgICBcIm1heC1maWxlXCI6IFwiJHtET0NLRVJfTE9HX01BWF9GSUxFUzotNX1cIlxuICBcInByb3h5XCI6XG4gICAgXCJpbWFnZVwiOiBcImdvaGFyYm9yL25naW54LXBob3Rvbjp2Mi4xNS40QHNoYTI1Njo3ZWZmMDI4N2Q1YWQwZjM1NzU0ZTE2MmM4NDgxY2VkMDRiYmRlMTA3MTUzY2U1ODZjZWZiMTVlZTc0ZmExMzExXCJcbiAgICBcInBsYXRmb3JtXCI6IFwibGludXgvYW1kNjRcIlxuICAgIFwicmVzdGFydFwiOiBcInVubGVzcy1zdG9wcGVkXCJcbiAgICBcImxhYmVsc1wiOlxuICAgICAgXCJpby5oYXJib3ItZG9rcGxveS5pbnN0YW5jZVwiOiBcIiR7SEFSQk9SX0lOU1RBTkNFX0lEOj9TZXQgSEFSQk9SX0lOU1RBTkNFX0lEIGluIERva3Bsb3kgRW52aXJvbm1lbnR9XCJcbiAgICAgIFwiaW8uaGFyYm9yLWRva3Bsb3kucm9sZVwiOiBcIndvcmtsb2FkXCJcbiAgICAgIFwidHJhZWZpay5lbmFibGVcIjogXCJ0cnVlXCJcbiAgICBcImVudHJ5cG9pbnRcIjpcbiAgICAgIC0gXCIvYmluL3NoXCJcbiAgICAgIC0gXCIvZXRjL25naW54L2xhdW5jaC5zaFwiXG4gICAgXCJjb21tYW5kXCI6IFtdXG4gICAgXCJ2b2x1bWVzXCI6XG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29uZmlnXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvZXRjL25naW54XCJcbiAgICAgICAgXCJyZWFkX29ubHlcIjogdHJ1ZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICAgICAgICBcInN1YnBhdGhcIjogXCJuZ2lueFwiXG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29udHJvbFwiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL3J1bi9oYXJib3ItY29udHJvbFwiXG4gICAgICAgIFwicmVhZF9vbmx5XCI6IHRydWVcbiAgICAgICAgXCJ2b2x1bWVcIjpcbiAgICAgICAgICBcIm5vY29weVwiOiB0cnVlXG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29uZmlnXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvaGFyYm9yX2N1c3RfY2VydFwiXG4gICAgICAgIFwicmVhZF9vbmx5XCI6IHRydWVcbiAgICAgICAgXCJ2b2x1bWVcIjpcbiAgICAgICAgICBcIm5vY29weVwiOiB0cnVlXG4gICAgICAgICAgXCJzdWJwYXRoXCI6IFwic2hhcmVkL3RydXN0LWNlcnRpZmljYXRlc1wiXG4gICAgXCJkZXBlbmRzX29uXCI6XG4gICAgICBcImhhcmJvci1pbml0XCI6XG4gICAgICAgIFwiY29uZGl0aW9uXCI6IFwic2VydmljZV9jb21wbGV0ZWRfc3VjY2Vzc2Z1bGx5XCJcbiAgICAgIFwiY29yZVwiOlxuICAgICAgICBcImNvbmRpdGlvblwiOiBcInNlcnZpY2VfaGVhbHRoeVwiXG4gICAgICBcInBvcnRhbFwiOlxuICAgICAgICBcImNvbmRpdGlvblwiOiBcInNlcnZpY2VfaGVhbHRoeVwiXG4gICAgICBcInJlZ2lzdHJ5XCI6XG4gICAgICAgIFwiY29uZGl0aW9uXCI6IFwic2VydmljZV9oZWFsdGh5XCJcbiAgICAgIFwiZXhwb3J0ZXJcIjpcbiAgICAgICAgXCJjb25kaXRpb25cIjogXCJzZXJ2aWNlX2hlYWx0aHlcIlxuICAgIFwiY2FwX2Ryb3BcIjpcbiAgICAgIC0gXCJBTExcIlxuICAgIFwiY2FwX2FkZFwiOlxuICAgICAgLSBcIkNIT1dOXCJcbiAgICAgIC0gXCJTRVRHSURcIlxuICAgICAgLSBcIlNFVFVJRFwiXG4gICAgXCJzZWN1cml0eV9vcHRcIjpcbiAgICAgIC0gXCJuby1uZXctcHJpdmlsZWdlczp0cnVlXCJcbiAgICBcIm1lbV9saW1pdFwiOiBcIiR7UFJPWFlfTUVNT1JZX0xJTUlUOi0yNTZtfVwiXG4gICAgXCJjcHVzXCI6IFwiJHtQUk9YWV9DUFVfTElNSVQ6LTEuMH1cIlxuICAgIFwic3RvcF9ncmFjZV9wZXJpb2RcIjogXCIxMjBzXCJcbiAgICBcImhlYWx0aGNoZWNrXCI6XG4gICAgICBcImludGVydmFsXCI6IFwiMTVzXCJcbiAgICAgIFwidGltZW91dFwiOiBcIjEwc1wiXG4gICAgICBcInJldHJpZXNcIjogMTBcbiAgICAgIFwic3RhcnRfcGVyaW9kXCI6IFwiNjBzXCJcbiAgICBcImxvZ2dpbmdcIjpcbiAgICAgIFwiZHJpdmVyXCI6IFwibG9jYWxcIlxuICAgICAgXCJvcHRpb25zXCI6XG4gICAgICAgIFwibWF4LXNpemVcIjogXCIke0RPQ0tFUl9MT0dfTUFYX1NJWkU6LTIwbX1cIlxuICAgICAgICBcIm1heC1maWxlXCI6IFwiJHtET0NLRVJfTE9HX01BWF9GSUxFUzotNX1cIlxuICAgIFwiZXhwb3NlXCI6XG4gICAgICAtIFwiODA4MFwiXG4gIFwidHJpdnktYWRhcHRlclwiOlxuICAgIFwiaW1hZ2VcIjogXCJnb2hhcmJvci90cml2eS1hZGFwdGVyLXBob3Rvbjp2Mi4xNS40QHNoYTI1Njo4MTNjYTgxYjRhNGVhMGY0NGY1ZmE4MWNjYTI2NDVlZWI1OGQ0YjFmNmM2NmI0MjhkZjlkNTA2MTc0YmI3MWQ5XCJcbiAgICBcInBsYXRmb3JtXCI6IFwibGludXgvYW1kNjRcIlxuICAgIFwicmVzdGFydFwiOiBcInVubGVzcy1zdG9wcGVkXCJcbiAgICBcImxhYmVsc1wiOlxuICAgICAgXCJpby5oYXJib3ItZG9rcGxveS5pbnN0YW5jZVwiOiBcIiR7SEFSQk9SX0lOU1RBTkNFX0lEOj9TZXQgSEFSQk9SX0lOU1RBTkNFX0lEIGluIERva3Bsb3kgRW52aXJvbm1lbnR9XCJcbiAgICAgIFwiaW8uaGFyYm9yLWRva3Bsb3kucm9sZVwiOiBcIndvcmtsb2FkXCJcbiAgICAgIFwidHJhZWZpay5lbmFibGVcIjogXCJmYWxzZVwiXG4gICAgXCJlbnRyeXBvaW50XCI6XG4gICAgICAtIFwiL2Jpbi9zaFwiXG4gICAgICAtIFwiL3J1bi9oYXJib3ItY29uZmlnL2xhdW5jaC5zaFwiXG4gICAgXCJjb21tYW5kXCI6IFtdXG4gICAgXCJ2b2x1bWVzXCI6XG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29uZmlnXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvcnVuL2hhcmJvci1jb25maWdcIlxuICAgICAgICBcInJlYWRfb25seVwiOiB0cnVlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgICAgICAgIFwic3VicGF0aFwiOiBcInRyaXZ5LWFkYXB0ZXJcIlxuICAgICAgLVxuICAgICAgICBcInR5cGVcIjogXCJ2b2x1bWVcIlxuICAgICAgICBcInNvdXJjZVwiOiBcImNvbnRyb2xcIlxuICAgICAgICBcInRhcmdldFwiOiBcIi9ydW4vaGFyYm9yLWNvbnRyb2xcIlxuICAgICAgICBcInJlYWRfb25seVwiOiB0cnVlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgICAgLVxuICAgICAgICBcInR5cGVcIjogXCJ2b2x1bWVcIlxuICAgICAgICBcInNvdXJjZVwiOiBcImNvbmZpZ1wiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL2hhcmJvcl9jdXN0X2NlcnRcIlxuICAgICAgICBcInJlYWRfb25seVwiOiB0cnVlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgICAgICAgIFwic3VicGF0aFwiOiBcInNoYXJlZC90cnVzdC1jZXJ0aWZpY2F0ZXNcIlxuICAgICAgLVxuICAgICAgICBcInR5cGVcIjogXCJ2b2x1bWVcIlxuICAgICAgICBcInNvdXJjZVwiOiBcInRyaXZ5LWNhY2hlXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvaG9tZS9zY2FubmVyLy5jYWNoZS90cml2eVwiXG4gICAgICAgIFwicmVhZF9vbmx5XCI6IGZhbHNlXG4gICAgICAgIFwidm9sdW1lXCI6XG4gICAgICAgICAgXCJub2NvcHlcIjogdHJ1ZVxuICAgICAgLVxuICAgICAgICBcInR5cGVcIjogXCJ2b2x1bWVcIlxuICAgICAgICBcInNvdXJjZVwiOiBcInRyaXZ5LXJlcG9ydHNcIlxuICAgICAgICBcInRhcmdldFwiOiBcIi9ob21lL3NjYW5uZXIvLmNhY2hlL3JlcG9ydHNcIlxuICAgICAgICBcInJlYWRfb25seVwiOiBmYWxzZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICBcImRlcGVuZHNfb25cIjpcbiAgICAgIFwiaGFyYm9yLWluaXRcIjpcbiAgICAgICAgXCJjb25kaXRpb25cIjogXCJzZXJ2aWNlX2NvbXBsZXRlZF9zdWNjZXNzZnVsbHlcIlxuICAgICAgXCJyZWRpc1wiOlxuICAgICAgICBcImNvbmRpdGlvblwiOiBcInNlcnZpY2VfaGVhbHRoeVwiXG4gICAgXCJjYXBfZHJvcFwiOlxuICAgICAgLSBcIkFMTFwiXG4gICAgXCJjYXBfYWRkXCI6XG4gICAgICAtIFwiQ0hPV05cIlxuICAgICAgLSBcIlNFVEdJRFwiXG4gICAgICAtIFwiU0VUVUlEXCJcbiAgICBcInNlY3VyaXR5X29wdFwiOlxuICAgICAgLSBcIm5vLW5ldy1wcml2aWxlZ2VzOnRydWVcIlxuICAgIFwibWVtX2xpbWl0XCI6IFwiJHtUUklWWV9BREFQVEVSX01FTU9SWV9MSU1JVDotMTUzNm19XCJcbiAgICBcImNwdXNcIjogXCIke1RSSVZZX0FEQVBURVJfQ1BVX0xJTUlUOi0yLjB9XCJcbiAgICBcInN0b3BfZ3JhY2VfcGVyaW9kXCI6IFwiMTIwc1wiXG4gICAgXCJoZWFsdGhjaGVja1wiOlxuICAgICAgXCJpbnRlcnZhbFwiOiBcIjE1c1wiXG4gICAgICBcInRpbWVvdXRcIjogXCIxMHNcIlxuICAgICAgXCJyZXRyaWVzXCI6IDEwXG4gICAgICBcInN0YXJ0X3BlcmlvZFwiOiBcIjYwc1wiXG4gICAgXCJsb2dnaW5nXCI6XG4gICAgICBcImRyaXZlclwiOiBcImxvY2FsXCJcbiAgICAgIFwib3B0aW9uc1wiOlxuICAgICAgICBcIm1heC1zaXplXCI6IFwiJHtET0NLRVJfTE9HX01BWF9TSVpFOi0yMG19XCJcbiAgICAgICAgXCJtYXgtZmlsZVwiOiBcIiR7RE9DS0VSX0xPR19NQVhfRklMRVM6LTV9XCJcbiAgXCJleHBvcnRlclwiOlxuICAgIFwiaW1hZ2VcIjogXCJnb2hhcmJvci9oYXJib3ItZXhwb3J0ZXI6djIuMTUuNEBzaGEyNTY6OWZmZWRlMzNkYzUxOWI0YmUwMzU1OTZhNzJmMDBmMzU0NzU0YTIyYTM3NjkwNzc3MzFmODFlZTdkNjg1MmY0ZlwiXG4gICAgXCJwbGF0Zm9ybVwiOiBcImxpbnV4L2FtZDY0XCJcbiAgICBcInJlc3RhcnRcIjogXCJ1bmxlc3Mtc3RvcHBlZFwiXG4gICAgXCJsYWJlbHNcIjpcbiAgICAgIFwiaW8uaGFyYm9yLWRva3Bsb3kuaW5zdGFuY2VcIjogXCIke0hBUkJPUl9JTlNUQU5DRV9JRDo/U2V0IEhBUkJPUl9JTlNUQU5DRV9JRCBpbiBEb2twbG95IEVudmlyb25tZW50fVwiXG4gICAgICBcImlvLmhhcmJvci1kb2twbG95LnJvbGVcIjogXCJ3b3JrbG9hZFwiXG4gICAgICBcInRyYWVmaWsuZW5hYmxlXCI6IFwiZmFsc2VcIlxuICAgIFwiZW50cnlwb2ludFwiOlxuICAgICAgLSBcIi9iaW4vc2hcIlxuICAgICAgLSBcIi9ydW4vaGFyYm9yLWNvbmZpZy9sYXVuY2guc2hcIlxuICAgIFwiY29tbWFuZFwiOiBbXVxuICAgIFwidm9sdW1lc1wiOlxuICAgICAgLVxuICAgICAgICBcInR5cGVcIjogXCJ2b2x1bWVcIlxuICAgICAgICBcInNvdXJjZVwiOiBcImNvbmZpZ1wiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL3J1bi9oYXJib3ItY29uZmlnXCJcbiAgICAgICAgXCJyZWFkX29ubHlcIjogdHJ1ZVxuICAgICAgICBcInZvbHVtZVwiOlxuICAgICAgICAgIFwibm9jb3B5XCI6IHRydWVcbiAgICAgICAgICBcInN1YnBhdGhcIjogXCJleHBvcnRlclwiXG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29udHJvbFwiXG4gICAgICAgIFwidGFyZ2V0XCI6IFwiL3J1bi9oYXJib3ItY29udHJvbFwiXG4gICAgICAgIFwicmVhZF9vbmx5XCI6IHRydWVcbiAgICAgICAgXCJ2b2x1bWVcIjpcbiAgICAgICAgICBcIm5vY29weVwiOiB0cnVlXG4gICAgICAtXG4gICAgICAgIFwidHlwZVwiOiBcInZvbHVtZVwiXG4gICAgICAgIFwic291cmNlXCI6IFwiY29uZmlnXCJcbiAgICAgICAgXCJ0YXJnZXRcIjogXCIvaGFyYm9yX2N1c3RfY2VydFwiXG4gICAgICAgIFwicmVhZF9vbmx5XCI6IHRydWVcbiAgICAgICAgXCJ2b2x1bWVcIjpcbiAgICAgICAgICBcIm5vY29weVwiOiB0cnVlXG4gICAgICAgICAgXCJzdWJwYXRoXCI6IFwic2hhcmVkL3RydXN0LWNlcnRpZmljYXRlc1wiXG4gICAgXCJkZXBlbmRzX29uXCI6XG4gICAgICBcImhhcmJvci1pbml0XCI6XG4gICAgICAgIFwiY29uZGl0aW9uXCI6IFwic2VydmljZV9jb21wbGV0ZWRfc3VjY2Vzc2Z1bGx5XCJcbiAgICAgIFwiY29yZVwiOlxuICAgICAgICBcImNvbmRpdGlvblwiOiBcInNlcnZpY2VfaGVhbHRoeVwiXG4gICAgICBcInBvc3RncmVzcWxcIjpcbiAgICAgICAgXCJjb25kaXRpb25cIjogXCJzZXJ2aWNlX2hlYWx0aHlcIlxuICAgICAgXCJyZWRpc1wiOlxuICAgICAgICBcImNvbmRpdGlvblwiOiBcInNlcnZpY2VfaGVhbHRoeVwiXG4gICAgXCJjYXBfZHJvcFwiOlxuICAgICAgLSBcIkFMTFwiXG4gICAgXCJjYXBfYWRkXCI6XG4gICAgICAtIFwiQ0hPV05cIlxuICAgICAgLSBcIlNFVEdJRFwiXG4gICAgICAtIFwiU0VUVUlEXCJcbiAgICBcInNlY3VyaXR5X29wdFwiOlxuICAgICAgLSBcIm5vLW5ldy1wcml2aWxlZ2VzOnRydWVcIlxuICAgIFwibWVtX2xpbWl0XCI6IFwiJHtFWFBPUlRFUl9NRU1PUllfTElNSVQ6LTEyOG19XCJcbiAgICBcImNwdXNcIjogXCIke0VYUE9SVEVSX0NQVV9MSU1JVDotMS4wfVwiXG4gICAgXCJzdG9wX2dyYWNlX3BlcmlvZFwiOiBcIjEyMHNcIlxuICAgIFwiaGVhbHRoY2hlY2tcIjpcbiAgICAgIFwiaW50ZXJ2YWxcIjogXCIxNXNcIlxuICAgICAgXCJ0aW1lb3V0XCI6IFwiMTBzXCJcbiAgICAgIFwicmV0cmllc1wiOiAxMFxuICAgICAgXCJzdGFydF9wZXJpb2RcIjogXCI2MHNcIlxuICAgICAgXCJ0ZXN0XCI6XG4gICAgICAgIC0gXCJDTUQtU0hFTExcIlxuICAgICAgICAtIFwiY3VybCAtLWZhaWwgLXMgaHR0cDovL2xvY2FsaG9zdDo4MDgwL21ldHJpY3MgPi9kZXYvbnVsbFwiXG4gICAgXCJsb2dnaW5nXCI6XG4gICAgICBcImRyaXZlclwiOiBcImxvY2FsXCJcbiAgICAgIFwib3B0aW9uc1wiOlxuICAgICAgICBcIm1heC1zaXplXCI6IFwiJHtET0NLRVJfTE9HX01BWF9TSVpFOi0yMG19XCJcbiAgICAgICAgXCJtYXgtZmlsZVwiOiBcIiR7RE9DS0VSX0xPR19NQVhfRklMRVM6LTV9XCJcblwidm9sdW1lc1wiOlxuICBcImRhdGFcIjpcbiAgICBcIm5hbWVcIjogXCIke0hBUkJPUl9JTlNUQU5DRV9JRDo/U2V0IEhBUkJPUl9JTlNUQU5DRV9JRCBpbiBEb2twbG95IEVudmlyb25tZW50fS1kYXRhXCJcbiAgXCJkYXRhYmFzZVwiOlxuICAgIFwibmFtZVwiOiBcIiR7SEFSQk9SX0lOU1RBTkNFX0lEOj9TZXQgSEFSQk9SX0lOU1RBTkNFX0lEIGluIERva3Bsb3kgRW52aXJvbm1lbnR9LWRhdGFiYXNlXCJcbiAgXCJyZWdpc3RyeVwiOlxuICAgIFwibmFtZVwiOiBcIiR7SEFSQk9SX0lOU1RBTkNFX0lEOj9TZXQgSEFSQk9SX0lOU1RBTkNFX0lEIGluIERva3Bsb3kgRW52aXJvbm1lbnR9LXJlZ2lzdHJ5XCJcbiAgXCJyZWRpc1wiOlxuICAgIFwibmFtZVwiOiBcIiR7SEFSQk9SX0lOU1RBTkNFX0lEOj9TZXQgSEFSQk9SX0lOU1RBTkNFX0lEIGluIERva3Bsb3kgRW52aXJvbm1lbnR9LXJlZGlzXCJcbiAgXCJqb2JzXCI6XG4gICAgXCJuYW1lXCI6IFwiJHtIQVJCT1JfSU5TVEFOQ0VfSUQ6P1NldCBIQVJCT1JfSU5TVEFOQ0VfSUQgaW4gRG9rcGxveSBFbnZpcm9ubWVudH0tam9ic1wiXG4gIFwiY29uZmlnXCI6XG4gICAgXCJuYW1lXCI6IFwiJHtIQVJCT1JfSU5TVEFOQ0VfSUQ6P1NldCBIQVJCT1JfSU5TVEFOQ0VfSUQgaW4gRG9rcGxveSBFbnZpcm9ubWVudH0tY29uZmlnXCJcbiAgXCJ0cml2eS1jYWNoZVwiOlxuICAgIFwibmFtZVwiOiBcIiR7SEFSQk9SX0lOU1RBTkNFX0lEOj9TZXQgSEFSQk9SX0lOU1RBTkNFX0lEIGluIERva3Bsb3kgRW52aXJvbm1lbnR9LXRyaXZ5LWNhY2hlXCJcbiAgXCJ0cml2eS1yZXBvcnRzXCI6XG4gICAgXCJuYW1lXCI6IFwiJHtIQVJCT1JfSU5TVEFOQ0VfSUQ6P1NldCBIQVJCT1JfSU5TVEFOQ0VfSUQgaW4gRG9rcGxveSBFbnZpcm9ubWVudH0tdHJpdnktcmVwb3J0c1wiXG4gIFwiY29udHJvbFwiOlxuICAgIFwibmFtZVwiOiBcIiR7SEFSQk9SX0lOU1RBTkNFX0lEOj9TZXQgSEFSQk9SX0lOU1RBTkNFX0lEIGluIERva3Bsb3kgRW52aXJvbm1lbnR9LWNvbnRyb2xcIiIsCiAgImNvbmZpZyI6ICJbdmFyaWFibGVzXVxubWFpbl9kb21haW4gPSBcIiR7ZG9tYWlufVwiXG5pbnN0YW5jZV9pZCA9IFwiaGFyYm9yLSR7dXVpZH1cIlxuYWRtaW5fcGFzc3dvcmQgPSBcIiR7cGFzc3dvcmQ6MzJ9XCJcbmRiX3Bhc3N3b3JkID0gXCIke3Bhc3N3b3JkOjMyfVwiXG5cbltjb25maWddXG5lbnYgPSBbXG4gIFwiSEFSQk9SX0lOU1RBTkNFX0lEPSR7aW5zdGFuY2VfaWR9XCIsXG4gIFwiSEFSQk9SX0hPU1ROQU1FPSR7bWFpbl9kb21haW59XCIsXG4gIFwiSEFSQk9SX0FETUlOX1BBU1NXT1JEPSR7YWRtaW5fcGFzc3dvcmR9XCIsXG4gIFwiSEFSQk9SX0RCX1BBU1NXT1JEPSR7ZGJfcGFzc3dvcmR9XCJcbl1cblxuW1tjb25maWcuZG9tYWluc11dXG5zZXJ2aWNlTmFtZSA9IFwicHJveHlcIlxucG9ydCA9IDgwODBcbmhvc3QgPSBcIiR7bWFpbl9kb21haW59XCJcbnBhdGggPSBcIi9cIlxuaHR0cHMgPSB0cnVlXG5jZXJ0aWZpY2F0ZVR5cGUgPSBcImxldHNlbmNyeXB0XCIiCn0=
The exact Docker Compose and template configuration this template deploys.
This template installs Harbor on one Linux amd64 Docker host. Start with 4 vCPU, 8 GB RAM and 160 GB SSD for Harbor, plus resources for Dokploy and other apps. Docker Engine 27+ and Compose 2.35+ are required for named-volume subpaths. Use Docker Compose mode, not Docker Stack/Swarm mode.
HARBOR_INSTANCE_ID and both generated passwords.
The instance ID is the permanent volume prefix; never reuse it for another
deployment. Re-importing generates new credentials and a new volume prefix.HARBOR_HOSTNAME matches the domain exactly, without a scheme, port or path.
Change both before the first deployment if replacing the generated domain.https://YOUR_DOMAIN as admin, with HARBOR_ADMIN_PASSWORD.Dokploy supplies network isolation and Traefik routing. Do not add host ports,
container names or a shared dokploy-network. Path-based hosting such as
/harbor is unsupported. TLS terminates at Dokploy; internal traffic is HTTP.
Create projects and configure quotas, access, scan-on-push and retention in the
Harbor UI. The template does not automatically create projects or apply policies.
Trivy is registered as the default scanner; its initial vulnerability database
download may take time and needs outbound access to GHCR. Set
TRIVY_GITHUB_TOKEN if your environment needs an authenticated download.
User self-registration is disabled. Only admins may create projects. Default
quota is 20 GiB per project; set PROJECT_QUOTA_GIB before installation to change
it. Advanced resource/configuration defaults are in docker-compose.yml.
No automated backup, restore, scheduled maintenance, policy jobs or Docker socket mounts are included. Arrange an independent backup of all persistent volumes.
Regular redeploys preserve data and generated encryption/signing keys. Changing the domain, init code, Harbor version or generated configuration requires an explicit reconfiguration. Init fails clearly on unexpected changes.
For a configuration change, use a terminal on the deployment host in the
Dokploy-generated Compose directory, with its existing Compose project name and
Environment values. The commands below assume docker compose already resolves
that exact deployment. Keep its volume prefix and volumes unchanged.
sh
Do not use down --volumes. --reconfigure refuses reachable Harbor services
and preserves existing keys. It is not a database-version migration tool.
Do not change HARBOR_DB_PASSWORD for an existing database: changing the env
value does not change the database user's password. Similarly, changing
HARBOR_ADMIN_PASSWORD does not rotate the existing admin's password; use the UI.
Follow Harbor's official migration procedure before upgrading a populated install.
Missing persistent keys are a fatal error. Restore the original complete data;
do not delete render-state.json or regenerate signing keys to bypass the check.
Prepare errors are captured privately as prepare-error.log in the control
volume and must be reviewed for sensitive data before sharing.
docker login YOUR_DOMAIN, push a small image and pull it back.Local Docker tests do not validate a public domain, certificate issuance, a full Trivy DB download or your Dokploy version's Compose/domain rewriting.
Version: latest
AdGuard Home is a network-wide ad and tracker blocker. Self-host it on your own server with Dokploy, which deploys AdGuard Home as a Docker Compose service in a few clicks.
Version: latest
Agent DVR is a comprehensive video surveillance software with motion detection, alerts, and remote access capabilities.
Version: latest
Authelia is an open-source authentication portal for single sign-on (SSO) and two-factor authentication. Self-host it on your own server with Dokploy, which deploys Authelia as a Docker Compose service in a few clicks.
Version: 1.4.4
Authorizer is a powerful tool designed to simplify the process of user authentication and authorization in your applications. It allows you to build secure apps 10x faster with its low code tool and low-cost deployment.
Version: 0.1.0
Cachkey is an open-source, self-hosted manager for secrets and environment variables: encrypted values, per-environment access for your team, a CLI and a read-only API for servers and CI.
Version: latest
An open-source UI-first Identity and Access Management (IAM) / Single-Sign-On (SSO) platform with web UI supporting OAuth 2.0, OIDC, SAML, CAS, LDAP, SCIM, WebAuthn, TOTP, MFA, and more.
Dokploy is a free, open source deployment platform. Deploy Harbor and 585+ other templates on your own infrastructure with a single click.