@cdktn/cli-core 0.25.0-pre.13 → 0.25.0-pre.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/cdktf-config.d.ts.map +1 -1
- package/build/lib/cdktf-config.js +1 -1
- package/build/lib/cdktf-project.d.ts.map +1 -1
- package/build/lib/cdktf-project.js +1 -1
- package/build/lib/cdktf-stack.d.ts.map +1 -1
- package/build/lib/cdktf-stack.js +1 -1
- package/build/lib/error-reporting.d.ts.map +1 -1
- package/build/lib/error-reporting.js +1 -1
- package/build/lib/watch.d.ts.map +1 -1
- package/build/lib/watch.js +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdktf-config.d.ts","sourceRoot":"","sources":["../../src/lib/cdktf-config.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,QAAQ,EAIR,KAAK,eAAe,EACpB,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC7B,MAAM,gBAAgB,CAAC;AAuBxB,qBAAa,WAAW;IACV,OAAO,CAAC,eAAe;gBAAf,eAAe,EAAE,MAAM;IAE3C,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,WAAW;IAKnB,IAAW,QAAQ,IAAI,QAAQ,CAa9B;IAED,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED,IAAW,eAAe,IAAI,eAAe,GAAG,SAAS,CAWxD;IAED,IAAW,cAAc,IAAI,uBAAuB,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"cdktf-config.d.ts","sourceRoot":"","sources":["../../src/lib/cdktf-config.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,QAAQ,EAIR,KAAK,eAAe,EACpB,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC7B,MAAM,gBAAgB,CAAC;AAuBxB,qBAAa,WAAW;IACV,OAAO,CAAC,eAAe;gBAAf,eAAe,EAAE,MAAM;IAE3C,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,WAAW;IAKnB,IAAW,QAAQ,IAAI,QAAQ,CAa9B;IAED,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED,IAAW,eAAe,IAAI,eAAe,GAAG,SAAS,CAWxD;IAED,IAAW,cAAc,IAAI,uBAAuB,GAAG,SAAS,CAe/D;IAED,IAAW,kBAAkB,IAAI,CAAC,6BAA6B,GAAG,MAAM,CAAC,EAAE,CAI1E;IAED,IAAW,gBAAgB,IAAI,CAAC,6BAA6B,GAAG,MAAM,CAAC,EAAE,CAIxE;IAEM,uBAAuB,CAC5B,SAAS,EAAE,CAAC,6BAA6B,GAAG,MAAM,CAAC,EAAE;IAOvD,IAAW,gBAAgB,IAAI,MAAM,CAEpC;WAEa,IAAI,CAAC,IAAI,GAAE,MAAsB,GAAG,WAAW;CAW9D"}
|
|
@@ -134,4 +134,4 @@ class CdktfConfig {
|
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
exports.CdktfConfig = CdktfConfig;
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrdGYtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jZGt0Zi1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx1Q0FBeUI7QUFDekIsNENBUXdCO0FBQ3hCLGdEQUF3QjtBQUN4Qiw0Q0FBd0M7QUFFeEMsU0FBUyxnQkFBZ0IsQ0FDdkIsSUFBWSxFQUNaLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFO0lBRXhCLE1BQU0sUUFBUSxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzVCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3ZELE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxvQ0FBb0M7QUFDcEMsc0VBQXNFO0FBQ3RFLE1BQWEsV0FBVztJQUN0QixZQUFvQixlQUF1QjtRQUF2QixvQkFBZSxHQUFmLGVBQWUsQ0FBUTtJQUFHLENBQUM7SUFFdkMsZUFBZTtRQUNyQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUM1QixFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQy9DLENBQUM7UUFDRixJQUFJLE9BQU8s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Q3ZDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTSx1QkFBdUIsQ0FDNUIsU0FBcUQ7UUFFckQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNDLFdBQVcsQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUM7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLGNBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQWUsT0FBTyxDQUFDLEdBQUcsRUFBRTtRQUM3QyxNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sZ0JBQU0sQ0FBQyxRQUFRLENBQ25CLGlIQUFpSCxDQUNsSCxDQUFDO1FBQ0osQ0FBQztRQUNELGdCQUFNLENBQUMsS0FBSyxDQUFDLHVCQUF1QixlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBRXZELE9BQU8sSUFBSSxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNGO0FBOUdELGtDQThHQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCB7XG4gIExhbmd1YWdlLFxuICBFcnJvcnMsXG4gIENPTkZJR19ERUZBVUxUUyxcbiAgdmFsaWRhdGVUYXJnZXRWZXJzaW9ucyxcbiAgdHlwZSBMYW5ndWFnZU9wdGlvbnMsXG4gIHR5cGUgVGVycmFmb3JtRGVwZW5kZW5jeUNvbnN0cmFpbnQsXG4gIHR5cGUgVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnMsXG59IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuXG5mdW5jdGlvbiBmaW5kRmlsZUFib3ZlQ3dkKFxuICBmaWxlOiBzdHJpbmcsXG4gIHJvb3RQYXRoID0gcHJvY2Vzcy5jd2QoKSxcbik6IHN0cmluZyB8IG51bGwge1xuICBjb25zdCBmdWxsUGF0aCA9IHBhdGgucmVzb2x2ZShyb290UGF0aCwgZmlsZSk7XG4gIGlmIChmcy5leGlzdHNTeW5jKGZ1bGxQYXRoKSkge1xuICAgIHJldHVybiBmdWxsUGF0aDtcbiAgfVxuXG4gIGNvbnN0IHBhcmVudERpciA9IHBhdGgucmVzb2x2ZShyb290UGF0aCwgXCIuLlwiKTtcbiAgaWYgKGZzLmV4aXN0c1N5bmMocGFyZW50RGlyKSAmJiBwYXJlbnREaXIgIT09IHJvb3RQYXRoKSB7XG4gICAgcmV0dXJuIGZpbmRGaWxlQWJvdmVDd2QoZmlsZSwgcGFyZW50RGlyKTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vLyBUT0RPOiBtb3ZlIHRoaXMgdG8gQGNka3RuL2NvbW1vbnNcbi8vIHRyYWNrZWQgaGVyZSBodHRwczovL2dpdGh1Yi5jb20vaGFzaGljb3JwL3RlcnJhZm9ybS1jZGsvaXNzdWVzLzE4MTRcbmV4cG9ydCBjbGFzcyBDZGt0ZkNvbmZpZyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RrdGZDb25maWdQYXRoOiBzdHJpbmcpIHt9XG5cbiAgcHJpdmF0ZSByZWFkQ2RrdGZDb25maWcoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIGNvbnN0IGNka3RmQ29uZmlnID0gSlNPTi5wYXJzZShcbiAgICAgIGZzLnJlYWRGaWxlU3luYyh0aGlzLmNka3RmQ29uZmlnUGF0aCwgXCJ1dGYtOFwiKSxcbiAgICApO1xuICAgIGlmICh0eXBlb2YgY2RrdGZDb25maWcgIT09IFwib2JqZWN0XCIgfHwgY2RrdGZDb25maWcgPT09IG51bGwpIHtcbiAgICAgIHRocm93IEVycm9ycy5FeHRlcm5hbChcbiAgICAgICAgXCJjZGt0Zi5qc29uIGlzIG1hbGZvcm1lZC4gVGhlIHJvb3QgbXVzdCBiZSBhIEpTT04gb2JqZWN0LlwiLFxuICAgICAgKTsgLy8gVE9ETzogZGVmaW5lIGEgc2NoZW1hIGFuZCB2YWxpZGF0ZSBhZ2FpbnN0IGl0XG4gICAgfVxuICAgIHJldHVybiBjZGt0ZkNvbmZpZztcbiAgfVxuXG4gIHByaXZhdGUgd3JpdGVDZGt0ZkNvbmZpZyhjZGt0ZkNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgICBjb25zdCBjZGt0ZkNvbmZpZ1N0cmluZyA9IEpTT04uc3RyaW5naWZ5KGNka3RmQ29uZmlnLCBudWxsLCAyKTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHRoaXMuY2RrdGZDb25maWdQYXRoLCBjZGt0ZkNvbmZpZ1N0cmluZyk7XG4gIH1cblxuICBwcml2YXRlIGdldFByb3BlcnR5KHByb3BlcnR5OiBzdHJpbmcpOiB1bmtub3duIHtcbiAgICBjb25zdCBjZGt0ZkNvbmZpZyA9IHRoaXMucmVhZENka3RmQ29uZmlnKCk7XG4gICAgcmV0dXJuIGNka3RmQ29uZmlnW3Byb3BlcnR5XSB8fCAoQ09ORklHX0RFRkFVTFRTIGFzIGFueSlbcHJvcGVydHldO1xuICB9XG5cbiAgcHVibGljIGdldCBsYW5ndWFnZSgpOiBMYW5ndWFnZSB7XG4gICAgY29uc3QgcmF3TGFuZ3VhZ2UgPSB0aGlzLmdldFByb3BlcnR5KFwibGFuZ3VhZ2VcIik7XG4gICAgY29uc3QgbGFuZ3VhZ2UgPSBPYmplY3QudmFsdWVzKExhbmd1YWdlKS5maW5kKFxuICAgICAgKHZhbHVlKSA9PiB2YWx1ZSA9PT0gcmF3TGFuZ3VhZ2UsXG4gICAgKTtcbiAgICBpZiAoIWxhbmd1YWdlKVxuICAgICAgdGhyb3cgRXJyb3JzLlVzYWdlKFxuICAgICAgICBgJHtyYXdMYW5ndWFnZX0gaXMgbm90IGEgdmFsaWQgbGFuZ3VhZ2UuIEl0IG11c3QgYmUgb25lIG9mICR7T2JqZWN0LnZhbHVlcyhcbiAgICAgICAgICBMYW5ndWFnZSxcbiAgICAgICAgKX1gLFxuICAgICAgKTtcblxuICAgIHJldHVybiBsYW5ndWFnZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29kZU1ha2VyT3V0cHV0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UHJvcGVydHkoXCJjb2RlTWFrZXJPdXRwdXRcIikgYXMgc3RyaW5nO1xuICB9XG5cbiAgcHVibGljIGdldCBsYW5ndWFnZU9wdGlvbnMoKTogTGFuZ3VhZ2VPcHRpb25zIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5nZXRQcm9wZXJ0eShcImxhbmd1YWdlT3B0aW9uc1wiKTtcbiAgICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkIHx8IG9wdGlvbnMgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyAhPT0gXCJvYmplY3RcIikge1xuICAgICAgdGhyb3cgRXJyb3JzLkV4dGVybmFsKFxuICAgICAgICBcImNka3RmLmpzb24gYGxhbmd1YWdlT3B0aW9uc2AgbXVzdCBiZSBhbiBvYmplY3QgaWYgc2V0LlwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRhcmdldFZlcnNpb25zKCk6IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0YXJnZXRWZXJzaW9ucyA9IHRoaXMuZ2V0UHJvcGVydHkoXCJ0YXJnZXRWZXJzaW9uc1wiKSBhc1xuICAgICAgfCBUZXJyYWZvcm1UYXJnZXRWZXJzaW9uc1xuICAgICAgfCB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBwcm9ibGVtcyA9IHZhbGlkYXRlVGFyZ2V0VmVyc2lvbnModGFyZ2V0VmVyc2lvbnMpO1xuICAgIGlmIChwcm9ibGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICBsb2dnZXIud2FybihcbiAgICAgICAgYGNka3RmLmpzb24gXFxgdGFyZ2V0VmVyc2lvbnNcXGAgaXMgaW52YWxpZCBhbmQgd2lsbCBiZSBpZ25vcmVkOlxcbiAgJHtwcm9ibGVtcy5qb2luKFxuICAgICAgICAgIFwiXFxuICBcIixcbiAgICAgICAgKX1gLFxuICAgICAgKTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhcmdldFZlcnNpb25zO1xuICB9XG5cbiAgcHVibGljIGdldCB0ZXJyYWZvcm1Qcm92aWRlcnMoKTogKFRlcnJhZm9ybURlcGVuZGVuY3lDb25zdHJhaW50IHwgc3RyaW5nKVtdIHtcbiAgICBjb25zdCBwcm92aWRlcnMgPSB0aGlzLmdldFByb3BlcnR5KFwidGVycmFmb3JtUHJvdmlkZXJzXCIpO1xuICAgIGlmICghQXJyYXkuaXNBcnJheShwcm92aWRlcnMpKSByZXR1cm4gW107XG4gICAgcmV0dXJuIHByb3ZpZGVycztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGVycmFmb3JtTW9kdWxlcygpOiAoVGVycmFmb3JtRGVwZW5kZW5jeUNvbnN0cmFpbnQgfCBzdHJpbmcpW10ge1xuICAgIGNvbnN0IG1vZHVsZXMgPSB0aGlzLmdldFByb3BlcnR5KFwidGVycmFmb3JtTW9kdWxlc1wiKTtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobW9kdWxlcykpIHJldHVybiBbXTtcbiAgICByZXR1cm4gbW9kdWxlcztcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVRlcnJhZm9ybVByb3ZpZGVycyhcbiAgICBwcm92aWRlcnM6IChUZXJyYWZvcm1EZXBlbmRlbmN5Q29uc3RyYWludCB8IHN0cmluZylbXSxcbiAgKSB7XG4gICAgY29uc3QgY2RrdGZDb25maWcgPSB0aGlzLnJlYWRDZGt0ZkNvbmZpZygpO1xuICAgIGNka3RmQ29uZmlnLnRlcnJhZm9ybVByb3ZpZGVycyA9IHByb3ZpZGVycztcbiAgICB0aGlzLndyaXRlQ2RrdGZDb25maWcoY2RrdGZDb25maWcpO1xuICB9XG5cbiAgcHVibGljIGdldCBwcm9qZWN0RGlyZWN0b3J5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGguZGlybmFtZSh0aGlzLmNka3RmQ29uZmlnUGF0aCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHJlYWQocGF0aDogc3RyaW5nID0gcHJvY2Vzcy5jd2QoKSk6IENka3RmQ29uZmlnIHtcbiAgICBjb25zdCBjZGt0ZkNvbmZpZ1BhdGggPSBmaW5kRmlsZUFib3ZlQ3dkKFwiY2RrdGYuanNvblwiLCBwYXRoKTtcbiAgICBpZiAoIWNka3RmQ29uZmlnUGF0aCkge1xuICAgICAgdGhyb3cgRXJyb3JzLkV4dGVybmFsKFxuICAgICAgICBcIkNvdWxkIG5vdCBmaW5kIGNka3RmLmpzb24uIE1ha2Ugc3VyZSB0aGVyZSBpcyBhIGNka3RmLmpzb24gZmlsZSBpbiB0aGUgY3VycmVudCBkaXJlY3Rvcnkgb3Igb25lIG9mIGl0cyBwYXJlbnRzLlwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgbG9nZ2VyLnRyYWNlKGBjZGt0Zi5qc29uIGZvdW5kIGF0ICR7Y2RrdGZDb25maWdQYXRofWApO1xuXG4gICAgcmV0dXJuIG5ldyBDZGt0ZkNvbmZpZyhjZGt0ZkNvbmZpZ1BhdGgpO1xuICB9XG59XG4iXX0=
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrdGYtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jZGt0Zi1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx1Q0FBeUI7QUFDekIsNENBUXdCO0FBQ3hCLGdEQUF3QjtBQUN4Qiw0Q0FBd0M7QUFFeEMsU0FBUyxnQkFBZ0IsQ0FDdkIsSUFBWSxFQUNaLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFO0lBRXhCLE1BQU0sUUFBUSxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzVCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3ZELE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxvQ0FBb0M7QUFDcEMsc0VBQXNFO0FBQ3RFLE1BQWEsV0FBVztJQUN0QixZQUFvQixlQUF1QjtRQUF2QixvQkFBZSxHQUFmLGVBQWUsQ0FBUTtJQUFHLENBQUM7SUFFdkMsZUFBZTtRQUNyQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUM1QixFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQy9DLENBQUM7UUFDRixJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDNUQsTUFBTSxnQkFBTSxDQUFDLFFBQVEsQ0FDbkIsMERBQTBELENBQzNELENBQUMsQ0FBQyxnREFBZ0Q7UUFDckQsQ0FBQztRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxXQUFvQztRQUMzRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRCxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU8sV0FBVyxDQUFDLFFBQWdCO1FBQ2xDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMzQyxPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSyx5QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBUSxDQUFDLENBQUMsSUFBSSxDQUMzQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLFdBQVcsQ0FDakMsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRO1lBQ1gsTUFBTSxnQkFBTSxDQUFDLEtBQUssQ0FDaEIsR0FBRyxXQUFXLCtDQUErQyxNQUFNLENBQUMsTUFBTSxDQUN4RSxrQkFBUSxDQUNULEVBQUUsQ0FDSixDQUFDO1FBRUosT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwRCxJQUFJLE9BQU8sS0FBSyxTQUFTLElBQUksT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzlDLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sZ0JBQU0sQ0FBQyxRQUFRLENBQ25CLHdEQUF3RCxDQUN6RCxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDdkIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FDbkIsQ0FBQztRQUV0QyxNQUFNLFFBQVEsR0FBRyxJQUFBLGdDQUFzQixFQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QixnQkFBTSxDQUFDLElBQUksQ0FDVCxvRUFBb0UsUUFBUSxDQUFDLElBQUksQ0FDL0UsTUFBTSxDQUNQLEVBQUUsQ0FDSixDQUFDO1lBQ0YsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLGtCQUFrQjtRQUMzQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDekMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN2QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU0sdUJBQXVCLENBQzVCLFNBQXFEO1FBRXJELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMzQyxXQUFXLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQzNDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxjQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFlLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDN0MsTUFBTSxlQUFlLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNyQixNQUFNLGdCQUFNLENBQUMsUUFBUSxDQUNuQixpSEFBaUgsQ0FDbEgsQ0FBQztRQUNKLENBQUM7UUFDRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUV2RCxPQUFPLElBQUksV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRjtBQTdHRCxrQ0E2R0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQge1xuICBMYW5ndWFnZSxcbiAgRXJyb3JzLFxuICBDT05GSUdfREVGQVVMVFMsXG4gIHZhbGlkYXRlVGFyZ2V0VmVyc2lvbnMsXG4gIHR5cGUgTGFuZ3VhZ2VPcHRpb25zLFxuICB0eXBlIFRlcnJhZm9ybURlcGVuZGVuY3lDb25zdHJhaW50LFxuICB0eXBlIFRlcnJhZm9ybVRhcmdldFZlcnNpb25zLFxufSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcblxuZnVuY3Rpb24gZmluZEZpbGVBYm92ZUN3ZChcbiAgZmlsZTogc3RyaW5nLFxuICByb290UGF0aCA9IHByb2Nlc3MuY3dkKCksXG4pOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgZnVsbFBhdGggPSBwYXRoLnJlc29sdmUocm9vdFBhdGgsIGZpbGUpO1xuICBpZiAoZnMuZXhpc3RzU3luYyhmdWxsUGF0aCkpIHtcbiAgICByZXR1cm4gZnVsbFBhdGg7XG4gIH1cblxuICBjb25zdCBwYXJlbnREaXIgPSBwYXRoLnJlc29sdmUocm9vdFBhdGgsIFwiLi5cIik7XG4gIGlmIChmcy5leGlzdHNTeW5jKHBhcmVudERpcikgJiYgcGFyZW50RGlyICE9PSByb290UGF0aCkge1xuICAgIHJldHVybiBmaW5kRmlsZUFib3ZlQ3dkKGZpbGUsIHBhcmVudERpcik7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gVE9ETzogbW92ZSB0aGlzIHRvIEBjZGt0bi9jb21tb25zXG4vLyB0cmFja2VkIGhlcmUgaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0tY2RrL2lzc3Vlcy8xODE0XG5leHBvcnQgY2xhc3MgQ2RrdGZDb25maWcge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNka3RmQ29uZmlnUGF0aDogc3RyaW5nKSB7fVxuXG4gIHByaXZhdGUgcmVhZENka3RmQ29uZmlnKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICBjb25zdCBjZGt0ZkNvbmZpZyA9IEpTT04ucGFyc2UoXG4gICAgICBmcy5yZWFkRmlsZVN5bmModGhpcy5jZGt0ZkNvbmZpZ1BhdGgsIFwidXRmLThcIiksXG4gICAgKTtcbiAgICBpZiAodHlwZW9mIGNka3RmQ29uZmlnICE9PSBcIm9iamVjdFwiIHx8IGNka3RmQ29uZmlnID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBFcnJvcnMuRXh0ZXJuYWwoXG4gICAgICAgIFwiY2RrdGYuanNvbiBpcyBtYWxmb3JtZWQuIFRoZSByb290IG11c3QgYmUgYSBKU09OIG9iamVjdC5cIixcbiAgICAgICk7IC8vIFRPRE86IGRlZmluZSBhIHNjaGVtYSBhbmQgdmFsaWRhdGUgYWdhaW5zdCBpdFxuICAgIH1cbiAgICByZXR1cm4gY2RrdGZDb25maWc7XG4gIH1cblxuICBwcml2YXRlIHdyaXRlQ2RrdGZDb25maWcoY2RrdGZDb25maWc6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSB7XG4gICAgY29uc3QgY2RrdGZDb25maWdTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShjZGt0ZkNvbmZpZywgbnVsbCwgMik7XG4gICAgZnMud3JpdGVGaWxlU3luYyh0aGlzLmNka3RmQ29uZmlnUGF0aCwgY2RrdGZDb25maWdTdHJpbmcpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQcm9wZXJ0eShwcm9wZXJ0eTogc3RyaW5nKTogdW5rbm93biB7XG4gICAgY29uc3QgY2RrdGZDb25maWcgPSB0aGlzLnJlYWRDZGt0ZkNvbmZpZygpO1xuICAgIHJldHVybiBjZGt0ZkNvbmZpZ1twcm9wZXJ0eV0gfHwgKENPTkZJR19ERUZBVUxUUyBhcyBhbnkpW3Byb3BlcnR5XTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFuZ3VhZ2UoKTogTGFuZ3VhZ2Uge1xuICAgIGNvbnN0IHJhd0xhbmd1YWdlID0gdGhpcy5nZXRQcm9wZXJ0eShcImxhbmd1YWdlXCIpO1xuICAgIGNvbnN0IGxhbmd1YWdlID0gT2JqZWN0LnZhbHVlcyhMYW5ndWFnZSkuZmluZChcbiAgICAgICh2YWx1ZSkgPT4gdmFsdWUgPT09IHJhd0xhbmd1YWdlLFxuICAgICk7XG4gICAgaWYgKCFsYW5ndWFnZSlcbiAgICAgIHRocm93IEVycm9ycy5Vc2FnZShcbiAgICAgICAgYCR7cmF3TGFuZ3VhZ2V9IGlzIG5vdCBhIHZhbGlkIGxhbmd1YWdlLiBJdCBtdXN0IGJlIG9uZSBvZiAke09iamVjdC52YWx1ZXMoXG4gICAgICAgICAgTGFuZ3VhZ2UsXG4gICAgICAgICl9YCxcbiAgICAgICk7XG5cbiAgICByZXR1cm4gbGFuZ3VhZ2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvZGVNYWtlck91dHB1dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFByb3BlcnR5KFwiY29kZU1ha2VyT3V0cHV0XCIpIGFzIHN0cmluZztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFuZ3VhZ2VPcHRpb25zKCk6IExhbmd1YWdlT3B0aW9ucyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZ2V0UHJvcGVydHkoXCJsYW5ndWFnZU9wdGlvbnNcIik7XG4gICAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCB8fCBvcHRpb25zID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIG9wdGlvbnMgIT09IFwib2JqZWN0XCIpIHtcbiAgICAgIHRocm93IEVycm9ycy5FeHRlcm5hbChcbiAgICAgICAgXCJjZGt0Zi5qc29uIGBsYW5ndWFnZU9wdGlvbnNgIG11c3QgYmUgYW4gb2JqZWN0IGlmIHNldC5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG5cbiAgcHVibGljIGdldCB0YXJnZXRWZXJzaW9ucygpOiBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdGFyZ2V0VmVyc2lvbnMgPSB0aGlzLmdldFByb3BlcnR5KFwidGFyZ2V0VmVyc2lvbnNcIikgYXNcbiAgICAgIFRlcnJhZm9ybVRhcmdldFZlcnNpb25zIHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgcHJvYmxlbXMgPSB2YWxpZGF0ZVRhcmdldFZlcnNpb25zKHRhcmdldFZlcnNpb25zKTtcbiAgICBpZiAocHJvYmxlbXMubGVuZ3RoID4gMCkge1xuICAgICAgbG9nZ2VyLndhcm4oXG4gICAgICAgIGBjZGt0Zi5qc29uIFxcYHRhcmdldFZlcnNpb25zXFxgIGlzIGludmFsaWQgYW5kIHdpbGwgYmUgaWdub3JlZDpcXG4gICR7cHJvYmxlbXMuam9pbihcbiAgICAgICAgICBcIlxcbiAgXCIsXG4gICAgICAgICl9YCxcbiAgICAgICk7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXRWZXJzaW9ucztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGVycmFmb3JtUHJvdmlkZXJzKCk6IChUZXJyYWZvcm1EZXBlbmRlbmN5Q29uc3RyYWludCB8IHN0cmluZylbXSB7XG4gICAgY29uc3QgcHJvdmlkZXJzID0gdGhpcy5nZXRQcm9wZXJ0eShcInRlcnJhZm9ybVByb3ZpZGVyc1wiKTtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocHJvdmlkZXJzKSkgcmV0dXJuIFtdO1xuICAgIHJldHVybiBwcm92aWRlcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRlcnJhZm9ybU1vZHVsZXMoKTogKFRlcnJhZm9ybURlcGVuZGVuY3lDb25zdHJhaW50IHwgc3RyaW5nKVtdIHtcbiAgICBjb25zdCBtb2R1bGVzID0gdGhpcy5nZXRQcm9wZXJ0eShcInRlcnJhZm9ybU1vZHVsZXNcIik7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KG1vZHVsZXMpKSByZXR1cm4gW107XG4gICAgcmV0dXJuIG1vZHVsZXM7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVUZXJyYWZvcm1Qcm92aWRlcnMoXG4gICAgcHJvdmlkZXJzOiAoVGVycmFmb3JtRGVwZW5kZW5jeUNvbnN0cmFpbnQgfCBzdHJpbmcpW10sXG4gICkge1xuICAgIGNvbnN0IGNka3RmQ29uZmlnID0gdGhpcy5yZWFkQ2RrdGZDb25maWcoKTtcbiAgICBjZGt0ZkNvbmZpZy50ZXJyYWZvcm1Qcm92aWRlcnMgPSBwcm92aWRlcnM7XG4gICAgdGhpcy53cml0ZUNka3RmQ29uZmlnKGNka3RmQ29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJvamVjdERpcmVjdG9yeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBwYXRoLmRpcm5hbWUodGhpcy5jZGt0ZkNvbmZpZ1BhdGgpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyByZWFkKHBhdGg6IHN0cmluZyA9IHByb2Nlc3MuY3dkKCkpOiBDZGt0ZkNvbmZpZyB7XG4gICAgY29uc3QgY2RrdGZDb25maWdQYXRoID0gZmluZEZpbGVBYm92ZUN3ZChcImNka3RmLmpzb25cIiwgcGF0aCk7XG4gICAgaWYgKCFjZGt0ZkNvbmZpZ1BhdGgpIHtcbiAgICAgIHRocm93IEVycm9ycy5FeHRlcm5hbChcbiAgICAgICAgXCJDb3VsZCBub3QgZmluZCBjZGt0Zi5qc29uLiBNYWtlIHN1cmUgdGhlcmUgaXMgYSBjZGt0Zi5qc29uIGZpbGUgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IG9yIG9uZSBvZiBpdHMgcGFyZW50cy5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGxvZ2dlci50cmFjZShgY2RrdGYuanNvbiBmb3VuZCBhdCAke2Nka3RmQ29uZmlnUGF0aH1gKTtcblxuICAgIHJldHVybiBuZXcgQ2RrdGZDb25maWcoY2RrdGZDb25maWdQYXRoKTtcbiAgfVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdktf-project.d.ts","sourceRoot":"","sources":["../../src/lib/cdktf-project.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAc,MAAM,eAAe,CAAC;AAE1E,OAAO,EACL,UAAU,EAKV,WAAW,EAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAalD,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC;AAEF,KAAK,gCAAgC,GAAG;IACtC,IAAI,EAAE,+BAA+B,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"cdktf-project.d.ts","sourceRoot":"","sources":["../../src/lib/cdktf-project.ts"],"names":[],"mappings":"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"}
|
|
@@ -367,4 +367,4 @@ class CdktfProject {
|
|
|
367
367
|
}
|
|
368
368
|
}
|
|
369
369
|
exports.CdktfProject = CdktfProject;
|
|
370
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrdGYtcHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY2RrdGYtcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE4SEEsa0VBTUM7QUFwSUQsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyw0Q0FNd0I7QUFDeEIsK0NBQTBFO0FBQzFFLG1DQUEyQztBQUMzQywrQ0FRdUI7QUFFdkIscURBQTJEO0FBQzNELDJEQVFpQztBQUNqQyx5RUFBbUU7QUErRm5FLFNBQWdCLDJCQUEyQixDQUN6QyxNQUFtQztJQUVuQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsK0JBQStCLENBQUMsQ0FBQyxRQUFRLENBQ3ZFLE1BQU0sQ0FBQyxJQUFJLENBQ1osQ0FBQztBQUNKLENBQUM7QUFjRCxNQUFhLFlBQVk7SUFxQnZCLFlBQVksRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUNoQyxXQUFXLEVBQ1gsR0FBRyxHQUFHLEtBQUssR0FDUztRQWhCdEIsOEJBQThCO1FBQ3ZCLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUN0QywrQ0FBK0M7UUFDdkMsc0NBQWlDLEdBQ3ZDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQWFULElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixNQUFNLEVBQUUsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUM3QixJQUFJLENB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LDZCQUE2QixDQUN6QyxPQUFpQixFQUNqQixnQkFBMEIsRUFDMUIsWUFBc0I7UUFFdEIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckMsTUFBTSxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF6aUJELG9DQXlpQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHtcbiAgRXJyb3JzLFxuICBlbnN1cmVBbGxTZXR0bGVkQmVmb3JlVGhyb3dpbmcsXG4gIGxvZ2dlcixcbiAgcmVhZENvbmZpZ1N5bmMsXG4gIHNlbmRUZWxlbWV0cnksXG59IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgU3ludGhlc2l6ZWRTdGFjaywgU3ludGhPcmlnaW4sIFN5bnRoU3RhY2sgfSBmcm9tIFwiLi9zeW50aC1zdGFja1wiO1xuaW1wb3J0IHsgcHJpbnRBbm5vdGF0aW9ucyB9IGZyb20gXCIuL3N5bnRoXCI7XG5pbXBvcnQge1xuICBDZGt0ZlN0YWNrLFxuICBFeHRlcm5hbFN0YWNrQXBwcm92YWxVcGRhdGUsXG4gIEV4dGVybmFsU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlLFxuICBTdGFja0FwcHJvdmFsVXBkYXRlLFxuICBTdGFja1NlbnRpbmVsT3ZlcnJpZGVVcGRhdGUsXG4gIFN0YWNrVXBkYXRlLFxuICBTdGFja1VzZXJJbnB1dFVwZGF0ZSxcbn0gZnJvbSBcIi4vY2RrdGYtc3RhY2tcIjtcbmltcG9ydCB7IE5lc3RlZFRlcnJhZm9ybU91dHB1dHMgfSBmcm9tIFwiLi9vdXRwdXRcIjtcbmltcG9ydCB7IGNyZWF0ZUVuaGFuY2VMb2dNZXNzYWdlIH0gZnJvbSBcIi4vZXhlY3V0aW9uLWxvZ3NcIjtcbmltcG9ydCB7XG4gIGNoZWNrSWZBbGxEZXBlbmRhbnRzQXJlSW5jbHVkZWQsXG4gIGNoZWNrSWZBbGxEZXBlbmRlbmNpZXNBcmVJbmNsdWRlZCxcbiAgZmluZEFsbE5lc3RlZERlcGVuZGFudFN0YWNrcyxcbiAgZ2V0TXVsdGlwbGVTdGFja3MsXG4gIGdldFNpbmdsZVN0YWNrLFxuICBnZXRTdGFja1dpdGhOb1VubWV0RGVwZW5kYW50cyxcbiAgZ2V0U3RhY2tXaXRoTm9Vbm1ldERlcGVuZGVuY2llcyxcbn0gZnJvbSBcIi4vaGVscGVycy9zdGFjay1oZWxwZXJzXCI7XG5pbXBvcnQgeyBDZGt0ZlByb2plY3RJT0hhbmRsZXIgfSBmcm9tIFwiLi9jZGt0Zi1wcm9qZWN0LWlvLWhhbmRsZXJcIjtcblxudHlwZSBNdWx0aVN0YWNrQXBwcm92YWxVcGRhdGUgPSB7XG4gIHR5cGU6IFwid2FpdGluZyBmb3IgYXBwcm92YWxcIjtcbiAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gIGFwcHJvdmU6ICgpID0+IHZvaWQ7XG4gIGRpc21pc3M6ICgpID0+IHZvaWQ7XG4gIHN0b3A6ICgpID0+IHZvaWQ7XG59O1xuXG50eXBlIE11bHRpU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlID0ge1xuICB0eXBlOiBcIndhaXRpbmcgZm9yIHNlbnRpbmVsIG92ZXJyaWRlXCI7XG4gIHN0YWNrTmFtZTogc3RyaW5nO1xuICBvdmVycmlkZTogKCkgPT4gdm9pZDtcbiAgcmVqZWN0OiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgTXVsdGlTdGFja1VwZGF0ZSA9XG4gIHwgTXVsdGlTdGFja0FwcHJvdmFsVXBkYXRlXG4gIHwgTXVsdGlTdGFja1NlbnRpbmVsT3ZlcnJpZGVVcGRhdGU7XG5cbmV4cG9ydCB0eXBlIFByb2plY3RVcGRhdGUgPVxuICB8IHtcbiAgICAgIHR5cGU6IFwic3ludGhlc2l6aW5nXCI7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwic3ludGhlc2l6ZWRcIjtcbiAgICAgIHN0YWNrczogU3ludGhlc2l6ZWRTdGFja1tdO1xuICAgICAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICAgIH1cbiAgfCBTdGFja1VwZGF0ZVxuICB8IE11bHRpU3RhY2tVcGRhdGU7XG5cbmV4cG9ydCB0eXBlIFNpbmdsZVN0YWNrT3B0aW9ucyA9IHtcbiAgc3RhY2tOYW1lPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTXVsdGlwbGVTdGFja09wdGlvbnMgPSB7XG4gIHN0YWNrTmFtZXM/OiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIFNraXBTeW50aE9wdGlvbnMgPSB7XG4gIHNraXBTeW50aD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBTa2lwUHJvdmlkZXJMb2NrT3B0aW9ucyA9IHtcbiAgc2tpcFByb3ZpZGVyTG9jaz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGZXRjaE91dHB1dE9wdGlvbnMgPSBTa2lwU3ludGhPcHRpb25zICZcbiAgU2tpcFByb3ZpZGVyTG9ja09wdGlvbnMgJlxuICBNdWx0aXBsZVN0YWNrT3B0aW9ucztcblxuZXhwb3J0IHR5cGUgQXV0b0FwcHJvdmVPcHRpb25zID0ge1xuICBhdXRvQXBwcm92ZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBEaWZmT3B0aW9ucyA9IFNpbmdsZVN0YWNrT3B0aW9ucyAmXG4gIFNraXBQcm92aWRlckxvY2tPcHRpb25zICZcbiAgU2tpcFN5bnRoT3B0aW9ucyAmIHtcbiAgICByZWZyZXNoT25seT86IGJvb2xlYW47XG4gICAgdGVycmFmb3JtUGFyYWxsZWxpc20/OiBudW1iZXI7XG4gICAgdmFycz86IHN0cmluZ1tdO1xuICAgIHZhckZpbGVzPzogc3RyaW5nW107XG4gICAgbm9Db2xvcj86IGJvb2xlYW47XG4gICAgbWlncmF0ZVN0YXRlPzogYm9vbGVhbjtcbiAgfTtcblxuZXhwb3J0IHR5cGUgTXV0YXRpb25PcHRpb25zID0gTXVsdGlwbGVTdGFja09wdGlvbnMgJlxuICBTa2lwUHJvdmlkZXJMb2NrT3B0aW9ucyAmXG4gIFNraXBTeW50aE9wdGlvbnMgJlxuICBBdXRvQXBwcm92ZU9wdGlvbnMgJiB7XG4gICAgcmVmcmVzaE9ubHk/OiBib29sZWFuO1xuICAgIGlnbm9yZU1pc3NpbmdTdGFja0RlcGVuZGVuY2llcz86IGJvb2xlYW47XG4gICAgcGFyYWxsZWxpc20/OiBudW1iZXI7XG4gICAgdGVycmFmb3JtUGFyYWxsZWxpc20/OiBudW1iZXI7XG4gICAgdmFycz86IHN0cmluZ1tdO1xuICAgIHZhckZpbGVzPzogc3RyaW5nW107XG4gICAgbm9Db2xvcj86IGJvb2xlYW47XG4gICAgbWlncmF0ZVN0YXRlPzogYm9vbGVhbjtcbiAgfTtcblxuZXhwb3J0IHR5cGUgTG9nTWVzc2FnZSA9IHtcbiAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gIG1lc3NhZ2VXaXRoQ29uc3RydWN0UGF0aD86IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xufTtcblxuLy8gU3RvcmVzIGEgbG9nIHZhbHVlIG9mIGEgY2VydGFpbiB0eXBlIHVudGlsIGl0IGNhbiBiZSBzZW50XG50eXBlIEJ1ZmZlcmVkPFQsIFY+ID0ge1xuICBjYjogKGl0ZW06IFQpID0+IHZvaWQ7XG4gIHZhbHVlOiBUO1xuICB0eXBlOiBWO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzV2FpdGluZ0ZvclVzZXJJbnB1dFVwZGF0ZShcbiAgdXBkYXRlOiBQcm9qZWN0VXBkYXRlIHwgU3RhY2tVcGRhdGUsXG4pIHtcbiAgcmV0dXJuIFtcIndhaXRpbmcgZm9yIGFwcHJvdmFsXCIsIFwid2FpdGluZyBmb3Igc2VudGluZWwgb3ZlcnJpZGVcIl0uaW5jbHVkZXMoXG4gICAgdXBkYXRlLnR5cGUsXG4gICk7XG59XG5cbmV4cG9ydCB0eXBlIFByb2plY3RFdmVudCA9XG4gIHwgQnVmZmVyZWQ8UHJvamVjdFVwZGF0ZSwgXCJwcm9qZWN0VXBkYXRlXCI+XG4gIHwgQnVmZmVyZWQ8TG9nTWVzc2FnZSwgXCJsb2dNZXNzYWdlXCI+O1xuZXhwb3J0IHR5cGUgQ2RrdGZQcm9qZWN0T3B0aW9ucyA9IHtcbiAgc3ludGhDb21tYW5kOiBzdHJpbmc7XG4gIG91dERpcjogc3RyaW5nO1xuICBvblVwZGF0ZTogKHVwZGF0ZTogUHJvamVjdFVwZGF0ZSkgPT4gdm9pZDtcbiAgb25Mb2c/OiAobG9nOiBMb2dNZXNzYWdlKSA9PiB2b2lkO1xuICB3b3JraW5nRGlyZWN0b3J5Pzogc3RyaW5nO1xuICBzeW50aE9yaWdpbj86IFN5bnRoT3JpZ2luO1xuICBoY2w/OiBib29sZWFuO1xufTtcbmV4cG9ydCBjbGFzcyBDZGt0ZlByb2plY3Qge1xuICBwdWJsaWMgc3RhY2tzPzogU3ludGhlc2l6ZWRTdGFja1tdO1xuICBwdWJsaWMgaGFyZEFib3J0OiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgc3ludGhDb21tYW5kOiBzdHJpbmc7XG4gIHByaXZhdGUgb3V0RGlyOiBzdHJpbmc7XG4gIHByaXZhdGUgd29ya2luZ0RpcmVjdG9yeTogc3RyaW5nO1xuICBwcml2YXRlIG9uVXBkYXRlOiAodXBkYXRlOiBQcm9qZWN0VXBkYXRlKSA9PiB2b2lkO1xuICBwcml2YXRlIG9uTG9nPzogKGxvZzogTG9nTWVzc2FnZSkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWw7XG4gIHByaXZhdGUgc3ludGhPcmlnaW4/OiBTeW50aE9yaWdpbjtcbiAgcHJpdmF0ZSBoY2w/OiBib29sZWFuO1xuXG4gIC8vIFNldCBkdXJpbmcgZGVwbG95IC8gZGVzdHJveVxuICBwdWJsaWMgc3RhY2tzVG9SdW46IENka3RmU3RhY2tbXSA9IFtdO1xuICAvLyBUaGlzIG1lYW5zIHN0aCBkaWZmZXJlbnQgaW4gZGVwbG95IC8gZGVzdHJveVxuICBwcml2YXRlIHN0b3BBbGxTdGFja3NUaGF0Q2FuTm90UnVuV2l0aG91dDogKHN0YWNrTmFtZTogc3RyaW5nKSA9PiB2b2lkID1cbiAgICAoKSA9PiB7fTtcblxuICBwcml2YXRlIGlvSGFuZGxlcjogQ2RrdGZQcm9qZWN0SU9IYW5kbGVyO1xuXG4gIGNvbnN0cnVjdG9yKHtcbiAgICBzeW50aENvbW1hbmQsXG4gICAgb3V0RGlyLFxuICAgIG9uVXBkYXRlLFxuICAgIG9uTG9nLFxuICAgIHdvcmtpbmdEaXJlY3RvcnkgPSBwcm9jZXNzLmN3ZCgpLFxuICAgIHN5bnRoT3JpZ2luLFxuICAgIGhjbCA9IGZhbHNlLFxuICB9OiBDZGt0ZlByb2plY3RPcHRpb25zKSB7XG4gICAgdGhpcy5zeW50aENvbW1hbmQgPSBzeW50aENvbW1hbmQ7XG4gICAgdGhpcy5vdXREaXIgPSBvdXREaXI7XG4gICAgdGhpcy53b3JraW5nRGlyZWN0b3J5ID0gd29ya2luZ0RpcmVjdG9yeTtcbiAgICB0aGlzLm9uVXBkYXRlID0gb25VcGRhdGU7XG4gICAgdGhpcy5vbkxvZyA9IG9uTG9nO1xuICAgIGNvbnN0IGFjID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMuYWJvcnRTaWduYWwgPSBhYy5zaWduYWw7XG4gICAgdGhpcy5zeW50aE9yaWdpbiA9IHN5bnRoT3JpZ2luO1xuICAgIHRoaXMuaGNsID1cbiAgICAgIHByb2Nlc3MuZW52LlNZTlRIX0hDTF9PVVRQVVQgPT09IFwidHJ1ZVwiIHx8XG4gICAgICBwcm9jZXNzLmVudi5TWU5USF9IQ0xfT1VUUFVUID09PSBcIjFcIiB8fFxuICAgICAgaGNsO1xuXG4gICAgdGhpcy5oYXJkQWJvcnQgPSBhYy5hYm9ydC5iaW5kKGFjKTtcbiAgICB0aGlzLmlvSGFuZGxlciA9IG5ldyBDZGt0ZlByb2plY3RJT0hhbmRsZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcEFsbFN0YWNrcygpIHtcbiAgICB0aGlzLnN0YWNrc1RvUnVuLmZvckVhY2goKHN0YWNrKSA9PiBzdGFjay5zdG9wKCkpO1xuICAgIHRoaXMuaW9IYW5kbGVyLmZpbHRlclVzZXJJbnB1dEV2ZW50c0Zyb21CdWZmZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVXNlclVwZGF0ZTxcbiAgICBUIGV4dGVuZHMgTXVsdGlTdGFja1VwZGF0ZSxcbiAgICBWIGV4dGVuZHMgU3RhY2tVc2VySW5wdXRVcGRhdGUsXG4gID4oXG4gICAgdXBkYXRlOiBTdGFja1VzZXJJbnB1dFVwZGF0ZSxcbiAgICBvcGVyYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCAodXBkYXRlOiBWKSA9PiB2b2lkPixcbiAgICBvcmlnaW5hbENhbGxiYWNrOiAodXBkYXRlVG9TZW5kOiBQcm9qZWN0VXBkYXRlKSA9PiB2b2lkLFxuICAgIGV2ZW50VHlwZTogVFtcInR5cGVcIl0sXG4gICkge1xuICAgIGNvbnN0IGNhbGxiYWNrcyA9ICh1cGRhdGU6IFYpID0+XG4gICAgICBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKG9wZXJhdGlvbnMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgcGFzc2VkIGluIHRvIG1ha2UgdHlwZXNjcmlwdCBoYXBweSBvbmx5XG4gICAgICAgICAgICAoXzogVikgPT4ge1xuICAgICAgICAgICAgICB2YWx1ZSh1cGRhdGUpO1xuXG4gICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gZGVmZXIgdGhlc2UgY2FsbHMgZm9yIHRoZSBjYXNlIHRoYXQgYXBwcm92ZSgpIGlzIGluc3RhbnRseSBpbnZva2VkXG4gICAgICAgICAgICAgIC8vIGluIHRoZSBsaXN0ZW5lciB0aGF0IHJlY2VpdmVzIHRoZXNlIGNhbGxiYWNrcyBhcyBpdCBvdGhlcndpc2Ugd291bGQgYWxyZWFkeVxuICAgICAgICAgICAgICAvLyByZW1vdmUgdGhlIFwid2FpdGluZyBmb3Igc3RhY2sgYXBwcm92YWxcIiBldmVudCBmcm9tIHRoZSBidWZmZXIgYmVmb3JlIHdlIGV2ZW5cbiAgICAgICAgICAgICAgLy8gc2V0IHdhaXRpbmdGb3JBcHByb3ZhbCB0byB0cnVlIChhdCB0aGUgZW5kIG9mIHRoaXMgaWYgc3RhdGVtZW50KSB3aGljaCByZXN1bHRzXG4gICAgICAgICAgICAgIC8vIGluIGJ1ZmZlcmVkIHVwZGF0ZXMgd2hpY2ggd2lsbCBuZXZlciB1bmJsb2NrXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoXG4gICAgICAgICAgICAgICAgKCkgPT4gdGhpcy5pb0hhbmRsZXIucmVzdW1lQWZ0ZXJVc2VySW5wdXQodXBkYXRlLnN0YWNrTmFtZSksXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXTtcbiAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgLy8gYWx3YXlzIHNlbmQgdG8gYnVmZmVyLCBhcyByZXN1bWVBZnRlclVzZXJJbnB1dCgpIGFsd2F5cyBleHBlY3RzIGEgbWF0Y2hpbmcgZXZlbnRcbiAgICB0aGlzLmlvSGFuZGxlci5wdXNoRXZlbnQoe1xuICAgICAgY2I6IG9yaWdpbmFsQ2FsbGJhY2ssXG4gICAgICB2YWx1ZToge1xuICAgICAgICB0eXBlOiBldmVudFR5cGUsXG4gICAgICAgIHN0YWNrTmFtZTogdXBkYXRlLnN0YWNrTmFtZSxcbiAgICAgICAgLi4uY2FsbGJhY2tzKHVwZGF0ZSBhcyBWKSxcbiAgICAgIH0gYXMgVCxcbiAgICAgIHR5cGU6IFwicHJvamVjdFVwZGF0ZVwiLFxuICAgIH0pO1xuXG4gICAgLy8gaWYgd2UgYXJlbid0IGFscmVhZHkgd2FpdGluZywgdGhpcyBuZWVkcyB0byBnbyB0byBjYigpIHRvbyB0byBhcnJpdmUgYXQgdGhlIFVJXG4gICAgaWYgKCF0aGlzLmlvSGFuZGxlci5pc1dhaXRpbmdGb3JVc2VySW5wdXQoKSkge1xuICAgICAgb3JpZ2luYWxDYWxsYmFjayh7XG4gICAgICAgIHR5cGU6IGV2ZW50VHlwZSxcbiAgICAgICAgc3RhY2tOYW1lOiB1cGRhdGUuc3RhY2tOYW1lLFxuICAgICAgICAuLi5jYWxsYmFja3ModXBkYXRlIGFzIFYpLFxuICAgICAgfSBhcyBUKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVVzZXJJbnB1dFByb2Nlc3MoY2I6ICh1cGRhdGVUb1NlbmQ6IFByb2plY3RVcGRhdGUpID0+IHZvaWQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdXBkYXRlOlxuICAgICAgICB8IFN0YWNrVXBkYXRlXG4gICAgICAgIHwgU3RhY2tBcHByb3ZhbFVwZGF0ZVxuICAgICAgICB8IEV4dGVybmFsU3RhY2tBcHByb3ZhbFVwZGF0ZVxuICAgICAgICB8IFN0YWNrU2VudGluZWxPdmVycmlkZVVwZGF0ZVxuICAgICAgICB8IEV4dGVybmFsU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlLFxuICAgICkgPT4ge1xuICAgICAgaWYgKHVwZGF0ZS50eXBlID09PSBcImV4dGVybmFsIHN0YWNrIGFwcHJvdmFsIHJlcGx5XCIpIHtcbiAgICAgICAgaWYgKCF1cGRhdGUuYXBwcm92ZWQpIHtcbiAgICAgICAgICB0aGlzLnN0b3BBbGxTdGFja3NUaGF0Q2FuTm90UnVuV2l0aG91dCh1cGRhdGUuc3RhY2tOYW1lKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlvSGFuZGxlci5yZXN1bWVBZnRlclVzZXJJbnB1dCh1cGRhdGUuc3RhY2tOYW1lKTtcbiAgICAgICAgcmV0dXJuOyAvLyBha2EgZG9uJ3Qgc2VuZCB0aGlzIGV2ZW50IHRvIGFueSBidWZmZXJcbiAgICAgIH1cbiAgICAgIGlmICh1cGRhdGUudHlwZSA9PT0gXCJleHRlcm5hbCBzdGFjayBzZW50aW5lbCBvdmVycmlkZSByZXBseVwiKSB7XG4gICAgICAgIGlmICghdXBkYXRlLm92ZXJyaWRkZW4pIHtcbiAgICAgICAgICB0aGlzLnN0b3BBbGxTdGFja3NUaGF0Q2FuTm90UnVuV2l0aG91dCh1cGRhdGUuc3RhY2tOYW1lKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlvSGFuZGxlci5yZXN1bWVBZnRlclVzZXJJbnB1dCh1cGRhdGUuc3RhY2tOYW1lKTtcbiAgICAgICAgcmV0dXJuOyAvLyBha2EgZG9uJ3Qgc2VuZCB0aGlzIGV2ZW50IHRvIGFueSBidWZmZXJcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICB1cGRhdGUudHlwZSA9PT0gXCJ3YWl0aW5nIGZvciBzdGFjayBhcHByb3ZhbFwiIHx8XG4gICAgICAgIHVwZGF0ZS50eXBlID09PSBcIndhaXRpbmcgZm9yIHN0YWNrIHNlbnRpbmVsIG92ZXJyaWRlXCJcbiAgICAgICkge1xuICAgICAgICBpZiAodXBkYXRlLnR5cGUgPT09IFwid2FpdGluZyBmb3Igc3RhY2sgYXBwcm92YWxcIikge1xuICAgICAgICAgIHRoaXMuaGFuZGxlVXNlclVwZGF0ZTxNdWx0aVN0YWNrQXBwcm92YWxVcGRhdGUsIFN0YWNrQXBwcm92YWxVcGRhdGU+KFxuICAgICAgICAgICAgdXBkYXRlLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBhcHByb3ZlOiAodXBkYXRlKSA9PiB1cGRhdGUuYXBwcm92ZSgpLFxuICAgICAgICAgICAgICBkaXNtaXNzOiAodXBkYXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgdXBkYXRlLnJlamVjdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcEFsbFN0YWNrc1RoYXRDYW5Ob3RSdW5XaXRob3V0KHVwZGF0ZS5zdGFja05hbWUpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBzdG9wOiAodXBkYXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgdXBkYXRlLnJlamVjdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcEFsbFN0YWNrcygpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNiLFxuICAgICAgICAgICAgXCJ3YWl0aW5nIGZvciBhcHByb3ZhbFwiLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAodXBkYXRlLnR5cGUgPT09IFwid2FpdGluZyBmb3Igc3RhY2sgc2VudGluZWwgb3ZlcnJpZGVcIikge1xuICAgICAgICAgIHRoaXMuaGFuZGxlVXNlclVwZGF0ZTxcbiAgICAgICAgICAgIE11bHRpU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlLFxuICAgICAgICAgICAgU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlXG4gICAgICAgICAgPihcbiAgICAgICAgICAgIHVwZGF0ZSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgb3ZlcnJpZGU6ICh1cGRhdGUpID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGUub3ZlcnJpZGUoKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcmVqZWN0OiAodXBkYXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgdXBkYXRlLnJlamVjdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcEFsbFN0YWNrc1RoYXRDYW5Ob3RSdW5XaXRob3V0KHVwZGF0ZS5zdGFja05hbWUpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNiLFxuICAgICAgICAgICAgXCJ3YWl0aW5nIGZvciBzZW50aW5lbCBvdmVycmlkZVwiLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlvSGFuZGxlci5hd2FpdFVzZXJJbnB1dCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuaW9IYW5kbGVyLmlzV2FpdGluZ0ZvclVzZXJJbnB1dCgpKSB7XG4gICAgICAgICAgdGhpcy5pb0hhbmRsZXIucHVzaEV2ZW50KHtcbiAgICAgICAgICAgIGNiLFxuICAgICAgICAgICAgdmFsdWU6IHVwZGF0ZSxcbiAgICAgICAgICAgIHR5cGU6IFwicHJvamVjdFVwZGF0ZVwiLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNiKHVwZGF0ZSBhcyBQcm9qZWN0VXBkYXRlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RhY2tFeGVjdXRvcihcbiAgICBzdGFjazogU3ludGhlc2l6ZWRTdGFjayxcbiAgICBvcHRzOiBBdXRvQXBwcm92ZU9wdGlvbnMgPSB7fSxcbiAgKSB7XG4gICAgY29uc3QgZW5oYW5jZUxvZ01lc3NhZ2UgPSBjcmVhdGVFbmhhbmNlTG9nTWVzc2FnZShzdGFjayk7XG4gICAgY29uc3Qgb25Mb2cgPSB0aGlzLmlvSGFuZGxlci5idWZmZXJXaGlsZUF3YWl0aW5nVXNlcklucHV0KHRoaXMub25Mb2cpO1xuICAgIHJldHVybiBuZXcgQ2RrdGZTdGFjayh7XG4gICAgICAuLi5vcHRzLFxuICAgICAgc3RhY2ssXG4gICAgICBvblVwZGF0ZTogdGhpcy5oYW5kbGVVc2VySW5wdXRQcm9jZXNzKHRoaXMub25VcGRhdGUpLFxuICAgICAgb25Mb2c6IG9uTG9nXG4gICAgICAgID8gKHsgbWVzc2FnZSB9KSA9PlxuICAgICAgICAgICAgb25Mb2coe1xuICAgICAgICAgICAgICBzdGFja05hbWU6IHN0YWNrLm5hbWUsXG4gICAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgICAgIG1lc3NhZ2VXaXRoQ29uc3RydWN0UGF0aDogZW5oYW5jZUxvZ01lc3NhZ2UobWVzc2FnZSksXG4gICAgICAgICAgICB9KVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGFib3J0U2lnbmFsOiB0aGlzLmFib3J0U2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBvdXRwdXRzQnlDb25zdHJ1Y3RJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGFja3NUb1J1bi5yZWR1Y2UoXG4gICAgICAoYWNjLCBzdGFjaykgPT4gKHtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICAuLi5zdGFjay5vdXRwdXRzQnlDb25zdHJ1Y3RJZCxcbiAgICAgIH0pLFxuICAgICAge30gYXMgTmVzdGVkVGVycmFmb3JtT3V0cHV0cyxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHN5bnRoKG5vQ29sb3I/OiBib29sZWFuKSB7XG4gICAgdGhpcy5vblVwZGF0ZSh7XG4gICAgICB0eXBlOiBcInN5bnRoZXNpemluZ1wiLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3RhY2tzID0gYXdhaXQgU3ludGhTdGFjay5zeW50aChcbiAgICAgIHRoaXMuYWJvcnRTaWduYWwgYXMgYW55LFxuICAgICAgdGhpcy5zeW50aENvbW1hbmQsXG4gICAgICB0aGlzLm91dERpcixcbiAgICAgIHRoaXMud29ya2luZ0RpcmVjdG9yeSxcbiAgICAgIGZhbHNlLFxuICAgICAgbm9Db2xvcixcbiAgICAgIHRoaXMuc3ludGhPcmlnaW4sXG4gICAgICB0aGlzLmhjbCxcbiAgICApO1xuXG4gICAgcHJpbnRBbm5vdGF0aW9ucyhzdGFja3MpO1xuXG4gICAgdGhpcy5vblVwZGF0ZSh7XG4gICAgICB0eXBlOiBcInN5bnRoZXNpemVkXCIsXG4gICAgICBzdGFja3MsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3RhY2tzO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHJlYWRTeW50aGVzaXplZFN0YWNrcygpIHtcbiAgICBjb25zdCBzdGFja3MgPSBhd2FpdCBTeW50aFN0YWNrLnJlYWRTeW50aGVzaXplZFN0YWNrcyh0aGlzLm91dERpcik7XG5cbiAgICBwcmludEFubm90YXRpb25zKHN0YWNrcyk7XG5cbiAgICB0aGlzLm9uVXBkYXRlKHtcbiAgICAgIHR5cGU6IFwic3ludGhlc2l6ZWRcIixcbiAgICAgIHN0YWNrcyxcbiAgICB9KTtcbiAgICByZXR1cm4gc3RhY2tzO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRpZmYob3B0czogRGlmZk9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHN0YWNrcyA9IG9wdHMuc2tpcFN5bnRoXG4gICAgICA/IGF3YWl0IHRoaXMucmVhZFN5bnRoZXNpemVkU3RhY2tzKClcbiAgICAgIDogYXdhaXQgdGhpcy5zeW50aChvcHRzLm5vQ29sb3IpO1xuICAgIGNvbnN0IHN0YWNrID0gdGhpcy5nZXRTdGFja0V4ZWN1dG9yKFxuICAgICAgZ2V0U2luZ2xlU3RhY2soc3RhY2tzLCBvcHRzPy5zdGFja05hbWUsIFwiZGlmZlwiKSxcbiAgICApO1xuICAgIGF3YWl0IHN0YWNrLmluaXRhbGl6ZVRlcnJhZm9ybShcbiAgICAgIG9wdHMubm9Db2xvcixcbiAgICAgIG9wdHMuc2tpcFByb3ZpZGVyTG9jayxcbiAgICAgIG9wdHMubWlncmF0ZVN0YXRlLFxuICAgICk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgc3RhY2suZGlmZihvcHRzKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IEVycm9ycy5FeHRlcm5hbChcbiAgICAgICAgYFN0YWNrIGZhaWxlZCB0byBwbGFuOiAke3N0YWNrLnN0YWNrLm5hbWV9LiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uYCxcbiAgICAgICAgZSxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChzdGFjay5lcnJvcikge1xuICAgICAgdGhyb3cgRXJyb3JzLkV4dGVybmFsKFxuICAgICAgICBgU3RhY2sgZmFpbGVkIHRvIHBsYW46ICR7c3RhY2suc3RhY2submFtZX0uIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5gLFxuICAgICAgICBuZXcgRXJyb3Ioc3RhY2suZXJyb3IpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5wcm9qZWN0VGVsZW1ldHJ5KFwiZGlmZlwiLCB7XG4gICAgICAgIHN0YWNrTWV0YWRhdGE6IHN0YWNrcy5tYXAoKHN0YWNrKSA9PlxuICAgICAgICAgIEpTT04ucGFyc2Uoc3RhY2suY29udGVudClbXCIvL1wiXVxuICAgICAgICAgICAgPyBKU09OLnBhcnNlKHN0YWNrLmNvbnRlbnQpW1wiLy9cIl0ubWV0YWRhdGFcbiAgICAgICAgICAgIDoge30sXG4gICAgICAgICksXG4gICAgICAgIGVycm9yczogc3RhY2suZXJyb3IsXG4gICAgICAgIHJlcXVpcmVkUHJvdmlkZXJzOiBzdGFja3MubWFwKChzdGFjazogYW55KSA9PlxuICAgICAgICAgIEpTT04ucGFyc2Uoc3RhY2suY29udGVudClbXCJ0ZXJyYWZvcm1cIl1cbiAgICAgICAgICAgID8gSlNPTi5wYXJzZShzdGFjay5jb250ZW50KVtcInRlcnJhZm9ybVwiXS5yZXF1aXJlZF9wcm92aWRlcnNcbiAgICAgICAgICAgIDoge30sXG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBsb2dnZXIuZGVidWcoXCJGYWlsZWQgdG8gc2VuZCB0ZWxlbWV0cnlcIiwgZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBleGVjdXRlKFxuICAgIG1ldGhvZDogXCJkZXBsb3lcIiB8IFwiZGVzdHJveVwiLFxuICAgIG5leHQ6ICgpID0+IFByb21pc2U8Q2RrdGZTdGFjayB8IHVuZGVmaW5lZD4sXG4gICAgb3B0czogTXV0YXRpb25PcHRpb25zLFxuICApIHtcbiAgICAvLyBXZSBvbmx5IHN1cHBvcnQgcmVmcmVzaCBvbmx5IG9uIGRlcGxveSwgYSBiaXQgb2YgYSBsZWFreSBhYnN0cmFjdGlvbiBoZXJlXG4gICAgaWYgKG9wdHMucmVmcmVzaE9ubHkgJiYgbWV0aG9kICE9PSBcImRlcGxveVwiKSB7XG4gICAgICB0aHJvdyBFcnJvcnMuSW50ZXJuYWwoYFJlZnJlc2ggb25seSBpcyBvbmx5IHN1cHBvcnRlZCBvbiBkZXBsb3lgKTtcbiAgICB9XG4gICAgY29uc3QgbWF4UGFyYWxsZWxSdW5zID1cbiAgICAgICFvcHRzLnBhcmFsbGVsaXNtIHx8IG9wdHMucGFyYWxsZWxpc20gPCAwID8gSW5maW5pdHkgOiBvcHRzLnBhcmFsbGVsaXNtO1xuICAgIGNvbnN0IGFsbEV4ZWN1dGlvbnMgPSBbXTtcblxuICAgIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVN0YWNrc1RvUnVuSW5TZXJpYWwoXG4gICAgICBvcHRzLm5vQ29sb3IsXG4gICAgICBvcHRzLnNraXBQcm92aWRlckxvY2ssXG4gICAgICBvcHRzLm1pZ3JhdGVTdGF0ZSxcbiAgICApO1xuICAgIHdoaWxlICh0aGlzLnN0YWNrc1RvUnVuLmZpbHRlcigoc3RhY2spID0+IHN0YWNrLmlzUGVuZGluZykubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgcnVubmluZ1N0YWNrcyA9IHRoaXMuc3RhY2tzVG9SdW4uZmlsdGVyKChzdGFjaykgPT4gc3RhY2suaXNSdW5uaW5nKTtcbiAgICAgIGlmIChydW5uaW5nU3RhY2tzLmxlbmd0aCA+PSBtYXhQYXJhbGxlbFJ1bnMpIHtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5yYWNlKHJ1bm5pbmdTdGFja3MubWFwKChzKSA9PiBzLmN1cnJlbnRXb3JrUHJvbWlzZSkpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IG5leHRSdW5uaW5nRXhlY3V0b3IgPSBhd2FpdCBuZXh0KCk7XG4gICAgICAgIGlmICghbmV4dFJ1bm5pbmdFeGVjdXRvcikge1xuICAgICAgICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBoYXZlIG5vIHBlbmRpbmcgc3RhY2tzLCBidXQgd2UgYWxzbyBjYW4gbm90IGZpbmQgYSBuZXcgZXhlY3V0b3JcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwcm9taXNlID1cbiAgICAgICAgICBtZXRob2QgPT09IFwiZGVwbG95XCJcbiAgICAgICAgICAgID8gbmV4dFJ1bm5pbmdFeGVjdXRvci5kZXBsb3kob3B0cylcbiAgICAgICAgICAgIDogbmV4dFJ1bm5pbmdFeGVjdXRvci5kZXN0cm95KG9wdHMpO1xuXG4gICAgICAgIGFsbEV4ZWN1dGlvbnMucHVzaChwcm9taXNlKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gYXdhaXQgbmV4dCgpIHRocmV3IGFuIGVycm9yIGJlY2F1c2UgYSBzdGFjayBmYWlsZWQgdG8gYXBwbHkvZGVzdHJveVxuICAgICAgICAvLyB3YWl0IGZvciBhbGwgb3RoZXIgY3VycmVudGx5IHJ1bm5pbmcgc3RhY2tzIHRvIGNvbXBsZXRlIGJlZm9yZSBwcm9wYWdhdGluZyB0aGF0IGVycm9yXG4gICAgICAgIGxvZ2dlci5kZWJ1ZyhcIkVuY291bnRlcmVkIGFuIGVycm9yIHdoaWxlIGF3YWl0aW5nIHN0YWNrIHRvIGZpbmlzaFwiLCBlKTtcbiAgICAgICAgY29uc3Qgb3BlblN0YWNrcyA9IHRoaXMuc3RhY2tzVG9SdW4uZmlsdGVyKFxuICAgICAgICAgIChleCkgPT4gZXguY3VycmVudFdvcmtQcm9taXNlLFxuICAgICAgICApO1xuICAgICAgICBsb2dnZXIuZGVidWcoXCJXYWl0aW5nIGZvciBzdGlsbCBydW5uaW5nIHN0YWNrcyB0byBmaW5pc2g6XCIsIG9wZW5TdGFja3MpO1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQob3BlblN0YWNrcy5tYXAoKGV4KSA9PiBleC5jdXJyZW50V29ya1Byb21pc2UpKTtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIFwiRG9uZSB3YWl0aW5nIGZvciBzdGlsbCBydW5uaW5nIHN0YWNrcy4gQWxsIHBlbmRpbmcgd29yayBmaW5pc2hlZFwiLFxuICAgICAgICApO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBXZSBlbmQgdGhlIGxvb3Agd2hlbiBhbGwgc3RhY2tzIGFyZSBzdGFydGVkLCBub3cgd2UgbmVlZCB0byB3YWl0IGZvciB0aGVtIHRvIGJlIGRvbmVcbiAgICAvLyBXZSB3YWl0IGZvciBhbGwgd29yayB0byBmaW5pc2ggZXZlbiBpZiBvbmUgb2YgdGhlIHByb21pc2VzIHRocmV3IGFuIGVycm9yLlxuICAgIGF3YWl0IGVuc3VyZUFsbFNldHRsZWRCZWZvcmVUaHJvd2luZyhcbiAgICAgIFByb21pc2UuYWxsKGFsbEV4ZWN1dGlvbnMpLFxuICAgICAgYWxsRXhlY3V0aW9ucyxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRlcGxveShvcHRzOiBNdXRhdGlvbk9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHN0YWNrcyA9IG9wdHMuc2tpcFN5bnRoXG4gICAgICA/IGF3YWl0IHRoaXMucmVhZFN5bnRoZXNpemVkU3RhY2tzKClcbiAgICAgIDogYXdhaXQgdGhpcy5zeW50aChvcHRzLm5vQ29sb3IpO1xuICAgIGNvbnN0IHN0YWNrc1RvUnVuID0gZ2V0TXVsdGlwbGVTdGFja3Moc3RhY2tzLCBvcHRzLnN0YWNrTmFtZXMsIFwiZGVwbG95XCIpO1xuICAgIGlmICghb3B0cy5pZ25vcmVNaXNzaW5nU3RhY2tEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNoZWNrSWZBbGxEZXBlbmRlbmNpZXNBcmVJbmNsdWRlZChzdGFja3NUb1J1bik7XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wQWxsU3RhY2tzVGhhdENhbk5vdFJ1bldpdGhvdXQgPSAoc3RhY2tOYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIGZpbmRBbGxOZXN0ZWREZXBlbmRhbnRTdGFja3ModGhpcy5zdGFja3NUb1J1biwgc3RhY2tOYW1lKS5mb3JFYWNoKFxuICAgICAgICAoc3RhY2spID0+IHN0YWNrLnN0b3AoKSxcbiAgICAgICk7XG4gICAgfTtcblxuICAgIHRoaXMuc3RhY2tzVG9SdW4gPSBzdGFja3NUb1J1bi5tYXAoKHN0YWNrKSA9PlxuICAgICAgdGhpcy5nZXRTdGFja0V4ZWN1dG9yKHN0YWNrLCBvcHRzKSxcbiAgICApO1xuXG4gICAgY29uc3QgbmV4dCA9IG9wdHMuaWdub3JlTWlzc2luZ1N0YWNrRGVwZW5kZW5jaWVzXG4gICAgICA/ICgpID0+XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKFxuICAgICAgICAgICAgdGhpcy5zdGFja3NUb1J1bi5maWx0ZXIoKHN0YWNrKSA9PiBzdGFjay5pc1BlbmRpbmcpWzBdLFxuICAgICAgICAgIClcbiAgICAgIDogKCkgPT4gZ2V0U3RhY2tXaXRoTm9Vbm1ldERlcGVuZGVuY2llcyh0aGlzLnN0YWNrc1RvUnVuKTtcblxuICAgIGF3YWl0IHRoaXMuZXhlY3V0ZShcImRlcGxveVwiLCBuZXh0LCBvcHRzKTtcblxuICAgIGNvbnN0IHVucHJvY2Vzc2VkU3RhY2tzID0gdGhpcy5zdGFja3NUb1J1bi5maWx0ZXIoXG4gICAgICAoZXhlY3V0b3IpID0+IGV4ZWN1dG9yLmlzUGVuZGluZyxcbiAgICApO1xuICAgIGlmICh1bnByb2Nlc3NlZFN0YWNrcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBFcnJvcnMuRXh0ZXJuYWwoXG4gICAgICAgIGBTb21lIHN0YWNrcyBmYWlsZWQgdG8gZGVwbG95OiAke3VucHJvY2Vzc2VkU3RhY2tzXG4gICAgICAgICAgLm1hcCgocykgPT4gcy5zdGFjay5uYW1lKVxuICAgICAgICAgIC5qb2luKFwiLCBcIil9LiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMucHJvamVjdFRlbGVtZXRyeShcImRlcGxveVwiLCB7XG4gICAgICAgIHN0YWNrTWV0YWRhdGE6IHN0YWNrc1RvUnVuLm1hcCgoc3RhY2spID0+XG4gICAgICAgICAgSlNPTi5wYXJzZShzdGFjay5jb250ZW50KVtcIi8vXCJdXG4gICAgICAgICAgICA/IEpTT04ucGFyc2Uoc3RhY2suY29udGVudClbXCIvL1wiXS5tZXRhZGF0YVxuICAgICAgICAgICAgOiB7fSxcbiAgICAgICAgKSxcbiAgICAgICAgZmFpbGVkU3RhY2tzOiB1bnByb2Nlc3NlZFN0YWNrcy5tYXAoKHN0YWNrKSA9PiBzdGFjay5lcnJvciksXG4gICAgICAgIHJlcXVpcmVkUHJvdmlkZXJzOiBzdGFja3NUb1J1bi5tYXAoKHN0YWNrOiBhbnkpID0+XG4gICAgICAgICAgSlNPTi5wYXJzZShzdGFjay5jb250ZW50KVtcInRlcnJhZm9ybVwiXVxuICAgICAgICAgICAgPyBKU09OLnBhcnNlKHN0YWNrLmNvbnRlbnQpW1widGVycmFmb3JtXCJdLnJlcXVpcmVkX3Byb3ZpZGVyc1xuICAgICAgICAgICAgOiB7fSxcbiAgICAgICAgKSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhcIkZhaWxlZCB0byBzZW5kIHRlbGVtZXRyeVwiLCBlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGVzdHJveShvcHRzOiBNdXRhdGlvbk9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHN0YWNrcyA9IG9wdHMuc2tpcFN5bnRoXG4gICAgICA/IGF3YWl0IHRoaXMucmVhZFN5bnRoZXNpemVkU3RhY2tzKClcbiAgICAgIDogYXdhaXQgdGhpcy5zeW50aChvcHRzLm5vQ29sb3IpO1xuICAgIGNvbnN0IHN0YWNrc1RvUnVuID0gZ2V0TXVsdGlwbGVTdGFja3Moc3RhY2tzLCBvcHRzLnN0YWNrTmFtZXMsIFwiZGVzdHJveVwiKTtcblxuICAgIGlmICghb3B0cy5pZ25vcmVNaXNzaW5nU3RhY2tEZXBlbmRlbmNpZXMpIHtcbiAgICAgIGNoZWNrSWZBbGxEZXBlbmRhbnRzQXJlSW5jbHVkZWQoc3RhY2tzVG9SdW4sIHN0YWNrcyk7XG4gICAgfVxuXG4gICAgdGhpcy5zdG9wQWxsU3RhY2tzVGhhdENhbk5vdFJ1bldpdGhvdXQgPSAoc3RhY2tOYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHN0YWNrRXhlY3V0b3IgPSB0aGlzLnN0YWNrc1RvUnVuLmZpbmQoXG4gICAgICAgIChzKSA9PiBzLnN0YWNrLm5hbWUgPT09IHN0YWNrTmFtZSxcbiAgICAgICk7XG4gICAgICBpZiAoIXN0YWNrRXhlY3V0b3IpIHtcbiAgICAgICAgdGhyb3cgRXJyb3JzLkludGVybmFsKFxuICAgICAgICAgIGBDb3VsZCBub3QgZmluZCBzdGFjayBcIiR7c3RhY2tOYW1lfVwiIHRoYXQgd2FzIHN0b3BwZWRgLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBzdGFja0V4ZWN1dG9yLnN0YWNrLmRlcGVuZGVuY2llcy5mb3JFYWNoKChkZXBlbmRhbnQpID0+IHtcbiAgICAgICAgdGhpcy5zdG9wQWxsU3RhY2tzVGhhdENhbk5vdFJ1bldpdGhvdXQoZGVwZW5kYW50KTtcblxuICAgICAgICBjb25zdCBkZXBlbmRhbnRTdGFjayA9IHRoaXMuc3RhY2tzVG9SdW4uZmluZChcbiAgICAgICAgICAocykgPT4gcy5zdGFjay5uYW1lID09PSBkZXBlbmRhbnQsXG4gICAgICAgICk7XG4gICAgICAgIGlmICghZGVwZW5kYW50U3RhY2spIHtcbiAgICAgICAgICB0aHJvdyBFcnJvcnMuSW50ZXJuYWwoXG4gICAgICAgICAgICBgQ291bGQgbm90IGZpbmQgc3RhY2sgXCIke2RlcGVuZGFudH1cIiB0aGF0IHdhcyBzdG9wcGVkYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVwZW5kYW50U3RhY2suc3RvcCgpO1xuICAgICAgfSk7XG4gICAgfTtcbiAgICB0aGlzLnN0YWNrc1RvUnVuID0gc3RhY2tzVG9SdW4ubWFwKChzdGFjaykgPT5cbiAgICAgIHRoaXMuZ2V0U3RhY2tFeGVjdXRvcihzdGFjaywgb3B0cyksXG4gICAgKTtcbiAgICBjb25zdCBuZXh0ID0gb3B0cy5pZ25vcmVNaXNzaW5nU3RhY2tEZXBlbmRlbmNpZXNcbiAgICAgID8gKCkgPT5cbiAgICAgICAgICBQcm9taXNlLnJlc29sdmUoXG4gICAgICAgICAgICB0aGlzLnN0YWNrc1RvUnVuLmZpbHRlcihcbiAgICAgICAgICAgICAgKHN0YWNrKSA9PiBzdGFjay5jdXJyZW50U3RhdGUgIT09IFwiZG9uZVwiLFxuICAgICAgICAgICAgKVswXSxcbiAgICAgICAgICApXG4gICAgICA6ICgpID0+IGdldFN0YWNrV2l0aE5vVW5tZXREZXBlbmRhbnRzKHRoaXMuc3RhY2tzVG9SdW4pO1xuXG4gICAgYXdhaXQgdGhpcy5leGVjdXRlKFwiZGVzdHJveVwiLCBuZXh0LCBvcHRzKTtcblxuICAgIGNvbnN0IHVucHJvY2Vzc2VkU3RhY2tzID0gdGhpcy5zdGFja3NUb1J1bi5maWx0ZXIoXG4gICAgICAoZXhlY3V0b3IpID0+IGV4ZWN1dG9yLmlzUGVuZGluZyxcbiAgICApO1xuICAgIGlmICh1bnByb2Nlc3NlZFN0YWNrcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBFcnJvcnMuRXh0ZXJuYWwoXG4gICAgICAgIGBTb21lIHN0YWNrcyBmYWlsZWQgdG8gZGVzdHJveTogJHt1bnByb2Nlc3NlZFN0YWNrc1xuICAgICAgICAgIC5tYXAoKHMpID0+IHMuc3RhY2submFtZSlcbiAgICAgICAgICAuam9pbihcIiwgXCIpfS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnByb2plY3RUZWxlbWV0cnkoXCJkZXN0cm95XCIsIHtcbiAgICAgICAgc3RhY2tNZXRhZGF0YTogc3RhY2tzVG9SdW4ubWFwKChzdGFjaykgPT5cbiAgICAgICAgICBKU09OLnBhcnNlKHN0YWNrLmNvbnRlbnQpW1wiLy9cIl1cbiAgICAgICAgICAgID8gSlNPTi5wYXJzZShzdGFjay5jb250ZW50KVtcIi8vXCJdLm1ldGFkYXRhXG4gICAgICAgICAgICA6IHt9LFxuICAgICAgICApLFxuICAgICAgICBmYWlsZWRTdGFja3M6IHVucHJvY2Vzc2VkU3RhY2tzLm1hcCgoc3RhY2spID0+IHN0YWNrLmVycm9yKSxcbiAgICAgICAgcmVxdWlyZWRQcm92aWRlcnM6IHN0YWNrc1RvUnVuLm1hcCgoc3RhY2s6IGFueSkgPT5cbiAgICAgICAgICBKU09OLnBhcnNlKHN0YWNrLmNvbnRlbnQpW1widGVycmFmb3JtXCJdXG4gICAgICAgICAgICA/IEpTT04ucGFyc2Uoc3RhY2suY29udGVudClbXCJ0ZXJyYWZvcm1cIl0ucmVxdWlyZWRfcHJvdmlkZXJzXG4gICAgICAgICAgICA6IHt9LFxuICAgICAgICApLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKFwiRmFpbGVkIHRvIHNlbmQgdGVsZW1ldHJ5XCIsIGUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwcm9qZWN0VGVsZW1ldHJ5KGNvbW1hbmQ6IHN0cmluZywgcGF5bG9hZDogYW55KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29uZmlnID0gcmVhZENvbmZpZ1N5bmMoKTtcbiAgICBhd2FpdCBzZW5kVGVsZW1ldHJ5KGNvbW1hbmQsIHtcbiAgICAgIC4uLnBheWxvYWQsXG4gICAgICBsYW5ndWFnZTogY29uZmlnLmxhbmd1YWdlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGZldGNoT3V0cHV0cyhvcHRzOiBGZXRjaE91dHB1dE9wdGlvbnMpIHtcbiAgICBjb25zdCBzdGFja3MgPSBvcHRzLnNraXBTeW50aFxuICAgICAgPyBhd2FpdCB0aGlzLnJlYWRTeW50aGVzaXplZFN0YWNrcygpXG4gICAgICA6IGF3YWl0IHRoaXMuc3ludGgoKTtcblxuICAgIGNvbnN0IHN0YWNrc1RvUnVuID0gZ2V0TXVsdGlwbGVTdGFja3MoXG4gICAgICBzdGFja3MsXG4gICAgICBvcHRzLnN0YWNrTmFtZXMgfHwgW10sXG4gICAgICBcImRlcGxveVwiLFxuICAgICk7XG5cbiAgICBpZiAoc3RhY2tzVG9SdW4ubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJObyBzdGFja3MgdG8gZmV0Y2ggb3V0cHV0cyBmb3Igc3BlY2lmaWVkXCIpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhY2tzVG9SdW4gPSBzdGFja3NUb1J1bi5tYXAoKHN0YWNrKSA9PlxuICAgICAgLy8gT3B0aW9ucyBhcmUgZW1wdHksIGJlY2F1c2UgTXVsdGlwbGVTdGFja09wdGlvbnMgZG9lc24ndCBoYXZlIGFueSByZWxldmFudFxuICAgICAgLy8gb3B0aW9ucyBmb3IgYGdldFN0YWNrRXhlY3V0b3JgLCBoZW5jZSBkZWZhdWx0cyBhcmUgZmluZVxuICAgICAgdGhpcy5nZXRTdGFja0V4ZWN1dG9yKHN0YWNrLCB7fSksXG4gICAgKTtcblxuICAgIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVN0YWNrc1RvUnVuSW5TZXJpYWwodW5kZWZpbmVkLCBvcHRzLnNraXBQcm92aWRlckxvY2spO1xuICAgIGNvbnN0IG91dHB1dHMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIHRoaXMuc3RhY2tzVG9SdW4ubWFwKGFzeW5jIChzKSA9PiB7XG4gICAgICAgIGNvbnN0IG91dHB1dCA9IGF3YWl0IHMuZmV0Y2hPdXRwdXRzKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgW3Muc3RhY2submFtZV06IG91dHB1dCxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICByZXR1cm4gb3V0cHV0cy5yZWR1Y2UoXG4gICAgICAoYWNjLCBjdXJyKSA9PiAoeyAuLi5hY2MsIC4uLmN1cnIgfSksXG4gICAgICB7fSxcbiAgICApIGFzIE5lc3RlZFRlcnJhZm9ybU91dHB1dHM7XG4gIH1cblxuICAvLyBTZXJpYWxseSBydW4gdGVycmFmb3JtIGluaXQgdG8gcHJvaGliaXQgdGV4dCBmaWxlIGJ1c3kgZXJyb3JzIGZvciB0aGUgY2FjaGUgZmlsZXNcbiAgcHJpdmF0ZSBhc3luYyBpbml0aWFsaXplU3RhY2tzVG9SdW5JblNlcmlhbChcbiAgICBub0NvbG9yPzogYm9vbGVhbixcbiAgICBza2lwUHJvdmlkZXJMb2NrPzogYm9vbGVhbixcbiAgICBtaWdyYXRlU3RhdGU/OiBib29sZWFuLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBmb3IgKGNvbnN0IHN0YWNrIG9mIHRoaXMuc3RhY2tzVG9SdW4pIHtcbiAgICAgIGF3YWl0IHN0YWNrLmluaXRhbGl6ZVRlcnJhZm9ybShub0NvbG9yLCBza2lwUHJvdmlkZXJMb2NrLCBtaWdyYXRlU3RhdGUpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
370
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrdGYtcHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY2RrdGYtcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE2SEEsa0VBTUM7QUFuSUQsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyw0Q0FNd0I7QUFDeEIsK0NBQTBFO0FBQzFFLG1DQUEyQztBQUMzQywrQ0FRdUI7QUFFdkIscURBQTJEO0FBQzNELDJEQVFpQztBQUNqQyx5RUFBbUU7QUE4Rm5FLFNBQWdCLDJCQUEyQixDQUN6QyxNQUFtQztJQUVuQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsK0JBQStCLENBQUMsQ0FBQyxRQUFRLENBQ3ZFLE1BQU0sQ0FBQyxJQUFJLENBQ1osQ0FBQztBQUNKLENBQUM7QUFhRCxNQUFhLFlBQVk7SUFxQnZCLFlBQVksRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUNoQyxXQUFXLEVBQ1gsR0FBRyxHQUFHLEtBQUssR0FDUztRQWhCdEIsOEJBQThCO1FBQ3ZCLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUN0QywrQ0FBK0M7UUFDdkMsc0NBQWlDLEdBQ3ZDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQWFULElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixNQUFNLEVBQUUsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUM3QixJQUFJLENB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LDZCQUE2QixDQUN6QyxPQUFpQixFQUNqQixnQkFBMEIsRUFDMUIsWUFBc0I7UUFFdEIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckMsTUFBTSxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF6aUJELG9DQXlpQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHtcbiAgRXJyb3JzLFxuICBlbnN1cmVBbGxTZXR0bGVkQmVmb3JlVGhyb3dpbmcsXG4gIGxvZ2dlcixcbiAgcmVhZENvbmZpZ1N5bmMsXG4gIHNlbmRUZWxlbWV0cnksXG59IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgU3ludGhlc2l6ZWRTdGFjaywgU3ludGhPcmlnaW4sIFN5bnRoU3RhY2sgfSBmcm9tIFwiLi9zeW50aC1zdGFja1wiO1xuaW1wb3J0IHsgcHJpbnRBbm5vdGF0aW9ucyB9IGZyb20gXCIuL3N5bnRoXCI7XG5pbXBvcnQge1xuICBDZGt0ZlN0YWNrLFxuICBFeHRlcm5hbFN0YWNrQXBwcm92YWxVcGRhdGUsXG4gIEV4dGVybmFsU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlLFxuICBTdGFja0FwcHJvdmFsVXBkYXRlLFxuICBTdGFja1NlbnRpbmVsT3ZlcnJpZGVVcGRhdGUsXG4gIFN0YWNrVXBkYXRlLFxuICBTdGFja1VzZXJJbnB1dFVwZGF0ZSxcbn0gZnJvbSBcIi4vY2RrdGYtc3RhY2tcIjtcbmltcG9ydCB7IE5lc3RlZFRlcnJhZm9ybU91dHB1dHMgfSBmcm9tIFwiLi9vdXRwdXRcIjtcbmltcG9ydCB7IGNyZWF0ZUVuaGFuY2VMb2dNZXNzYWdlIH0gZnJvbSBcIi4vZXhlY3V0aW9uLWxvZ3NcIjtcbmltcG9ydCB7XG4gIGNoZWNrSWZBbGxEZXBlbmRhbnRzQXJlSW5jbHVkZWQsXG4gIGNoZWNrSWZBbGxEZXBlbmRlbmNpZXNBcmVJbmNsdWRlZCxcbiAgZmluZEFsbE5lc3RlZERlcGVuZGFudFN0YWNrcyxcbiAgZ2V0TXVsdGlwbGVTdGFja3MsXG4gIGdldFNpbmdsZVN0YWNrLFxuICBnZXRTdGFja1dpdGhOb1VubWV0RGVwZW5kYW50cyxcbiAgZ2V0U3RhY2tXaXRoTm9Vbm1ldERlcGVuZGVuY2llcyxcbn0gZnJvbSBcIi4vaGVscGVycy9zdGFjay1oZWxwZXJzXCI7XG5pbXBvcnQgeyBDZGt0ZlByb2plY3RJT0hhbmRsZXIgfSBmcm9tIFwiLi9jZGt0Zi1wcm9qZWN0LWlvLWhhbmRsZXJcIjtcblxudHlwZSBNdWx0aVN0YWNrQXBwcm92YWxVcGRhdGUgPSB7XG4gIHR5cGU6IFwid2FpdGluZyBmb3IgYXBwcm92YWxcIjtcbiAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gIGFwcHJvdmU6ICgpID0+IHZvaWQ7XG4gIGRpc21pc3M6ICgpID0+IHZvaWQ7XG4gIHN0b3A6ICgpID0+IHZvaWQ7XG59O1xuXG50eXBlIE11bHRpU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlID0ge1xuICB0eXBlOiBcIndhaXRpbmcgZm9yIHNlbnRpbmVsIG92ZXJyaWRlXCI7XG4gIHN0YWNrTmFtZTogc3RyaW5nO1xuICBvdmVycmlkZTogKCkgPT4gdm9pZDtcbiAgcmVqZWN0OiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgTXVsdGlTdGFja1VwZGF0ZSA9XG4gIE11bHRpU3RhY2tBcHByb3ZhbFVwZGF0ZSB8IE11bHRpU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlO1xuXG5leHBvcnQgdHlwZSBQcm9qZWN0VXBkYXRlID1cbiAgfCB7XG4gICAgICB0eXBlOiBcInN5bnRoZXNpemluZ1wiO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcInN5bnRoZXNpemVkXCI7XG4gICAgICBzdGFja3M6IFN5bnRoZXNpemVkU3RhY2tbXTtcbiAgICAgIGVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgICB9XG4gIHwgU3RhY2tVcGRhdGVcbiAgfCBNdWx0aVN0YWNrVXBkYXRlO1xuXG5leHBvcnQgdHlwZSBTaW5nbGVTdGFja09wdGlvbnMgPSB7XG4gIHN0YWNrTmFtZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE11bHRpcGxlU3RhY2tPcHRpb25zID0ge1xuICBzdGFja05hbWVzPzogc3RyaW5nW107XG59O1xuXG5leHBvcnQgdHlwZSBTa2lwU3ludGhPcHRpb25zID0ge1xuICBza2lwU3ludGg/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgU2tpcFByb3ZpZGVyTG9ja09wdGlvbnMgPSB7XG4gIHNraXBQcm92aWRlckxvY2s/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgRmV0Y2hPdXRwdXRPcHRpb25zID0gU2tpcFN5bnRoT3B0aW9ucyAmXG4gIFNraXBQcm92aWRlckxvY2tPcHRpb25zICZcbiAgTXVsdGlwbGVTdGFja09wdGlvbnM7XG5cbmV4cG9ydCB0eXBlIEF1dG9BcHByb3ZlT3B0aW9ucyA9IHtcbiAgYXV0b0FwcHJvdmU/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgRGlmZk9wdGlvbnMgPSBTaW5nbGVTdGFja09wdGlvbnMgJlxuICBTa2lwUHJvdmlkZXJMb2NrT3B0aW9ucyAmXG4gIFNraXBTeW50aE9wdGlvbnMgJiB7XG4gICAgcmVmcmVzaE9ubHk/OiBib29sZWFuO1xuICAgIHRlcnJhZm9ybVBhcmFsbGVsaXNtPzogbnVtYmVyO1xuICAgIHZhcnM/OiBzdHJpbmdbXTtcbiAgICB2YXJGaWxlcz86IHN0cmluZ1tdO1xuICAgIG5vQ29sb3I/OiBib29sZWFuO1xuICAgIG1pZ3JhdGVTdGF0ZT86IGJvb2xlYW47XG4gIH07XG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uT3B0aW9ucyA9IE11bHRpcGxlU3RhY2tPcHRpb25zICZcbiAgU2tpcFByb3ZpZGVyTG9ja09wdGlvbnMgJlxuICBTa2lwU3ludGhPcHRpb25zICZcbiAgQXV0b0FwcHJvdmVPcHRpb25zICYge1xuICAgIHJlZnJlc2hPbmx5PzogYm9vbGVhbjtcbiAgICBpZ25vcmVNaXNzaW5nU3RhY2tEZXBlbmRlbmNpZXM/OiBib29sZWFuO1xuICAgIHBhcmFsbGVsaXNtPzogbnVtYmVyO1xuICAgIHRlcnJhZm9ybVBhcmFsbGVsaXNtPzogbnVtYmVyO1xuICAgIHZhcnM/OiBzdHJpbmdbXTtcbiAgICB2YXJGaWxlcz86IHN0cmluZ1tdO1xuICAgIG5vQ29sb3I/OiBib29sZWFuO1xuICAgIG1pZ3JhdGVTdGF0ZT86IGJvb2xlYW47XG4gIH07XG5cbmV4cG9ydCB0eXBlIExvZ01lc3NhZ2UgPSB7XG4gIHN0YWNrTmFtZTogc3RyaW5nO1xuICBtZXNzYWdlV2l0aENvbnN0cnVjdFBhdGg/OiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn07XG5cbi8vIFN0b3JlcyBhIGxvZyB2YWx1ZSBvZiBhIGNlcnRhaW4gdHlwZSB1bnRpbCBpdCBjYW4gYmUgc2VudFxudHlwZSBCdWZmZXJlZDxULCBWPiA9IHtcbiAgY2I6IChpdGVtOiBUKSA9PiB2b2lkO1xuICB2YWx1ZTogVDtcbiAgdHlwZTogVjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dhaXRpbmdGb3JVc2VySW5wdXRVcGRhdGUoXG4gIHVwZGF0ZTogUHJvamVjdFVwZGF0ZSB8IFN0YWNrVXBkYXRlLFxuKSB7XG4gIHJldHVybiBbXCJ3YWl0aW5nIGZvciBhcHByb3ZhbFwiLCBcIndhaXRpbmcgZm9yIHNlbnRpbmVsIG92ZXJyaWRlXCJdLmluY2x1ZGVzKFxuICAgIHVwZGF0ZS50eXBlLFxuICApO1xufVxuXG5leHBvcnQgdHlwZSBQcm9qZWN0RXZlbnQgPVxuICBCdWZmZXJlZDxQcm9qZWN0VXBkYXRlLCBcInByb2plY3RVcGRhdGVcIj4gfCBCdWZmZXJlZDxMb2dNZXNzYWdlLCBcImxvZ01lc3NhZ2VcIj47XG5leHBvcnQgdHlwZSBDZGt0ZlByb2plY3RPcHRpb25zID0ge1xuICBzeW50aENvbW1hbmQ6IHN0cmluZztcbiAgb3V0RGlyOiBzdHJpbmc7XG4gIG9uVXBkYXRlOiAodXBkYXRlOiBQcm9qZWN0VXBkYXRlKSA9PiB2b2lkO1xuICBvbkxvZz86IChsb2c6IExvZ01lc3NhZ2UpID0+IHZvaWQ7XG4gIHdvcmtpbmdEaXJlY3Rvcnk/OiBzdHJpbmc7XG4gIHN5bnRoT3JpZ2luPzogU3ludGhPcmlnaW47XG4gIGhjbD86IGJvb2xlYW47XG59O1xuZXhwb3J0IGNsYXNzIENka3RmUHJvamVjdCB7XG4gIHB1YmxpYyBzdGFja3M/OiBTeW50aGVzaXplZFN0YWNrW107XG4gIHB1YmxpYyBoYXJkQWJvcnQ6ICgpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSBzeW50aENvbW1hbmQ6IHN0cmluZztcbiAgcHJpdmF0ZSBvdXREaXI6IHN0cmluZztcbiAgcHJpdmF0ZSB3b3JraW5nRGlyZWN0b3J5OiBzdHJpbmc7XG4gIHByaXZhdGUgb25VcGRhdGU6ICh1cGRhdGU6IFByb2plY3RVcGRhdGUpID0+IHZvaWQ7XG4gIHByaXZhdGUgb25Mb2c/OiAobG9nOiBMb2dNZXNzYWdlKSA9PiB2b2lkO1xuICBwcml2YXRlIGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbDtcbiAgcHJpdmF0ZSBzeW50aE9yaWdpbj86IFN5bnRoT3JpZ2luO1xuICBwcml2YXRlIGhjbD86IGJvb2xlYW47XG5cbiAgLy8gU2V0IGR1cmluZyBkZXBsb3kgLyBkZXN0cm95XG4gIHB1YmxpYyBzdGFja3NUb1J1bjogQ2RrdGZTdGFja1tdID0gW107XG4gIC8vIFRoaXMgbWVhbnMgc3RoIGRpZmZlcmVudCBpbiBkZXBsb3kgLyBkZXN0cm95XG4gIHByaXZhdGUgc3RvcEFsbFN0YWNrc1RoYXRDYW5Ob3RSdW5XaXRob3V0OiAoc3RhY2tOYW1lOiBzdHJpbmcpID0+IHZvaWQgPVxuICAgICgpID0+IHt9O1xuXG4gIHByaXZhdGUgaW9IYW5kbGVyOiBDZGt0ZlByb2plY3RJT0hhbmRsZXI7XG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIHN5bnRoQ29tbWFuZCxcbiAgICBvdXREaXIsXG4gICAgb25VcGRhdGUsXG4gICAgb25Mb2csXG4gICAgd29ya2luZ0RpcmVjdG9yeSA9IHByb2Nlc3MuY3dkKCksXG4gICAgc3ludGhPcmlnaW4sXG4gICAgaGNsID0gZmFsc2UsXG4gIH06IENka3RmUHJvamVjdE9wdGlvbnMpIHtcbiAgICB0aGlzLnN5bnRoQ29tbWFuZCA9IHN5bnRoQ29tbWFuZDtcbiAgICB0aGlzLm91dERpciA9IG91dERpcjtcbiAgICB0aGlzLndvcmtpbmdEaXJlY3RvcnkgPSB3b3JraW5nRGlyZWN0b3J5O1xuICAgIHRoaXMub25VcGRhdGUgPSBvblVwZGF0ZTtcbiAgICB0aGlzLm9uTG9nID0gb25Mb2c7XG4gICAgY29uc3QgYWMgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5hYm9ydFNpZ25hbCA9IGFjLnNpZ25hbDtcbiAgICB0aGlzLnN5bnRoT3JpZ2luID0gc3ludGhPcmlnaW47XG4gICAgdGhpcy5oY2wgPVxuICAgICAgcHJvY2Vzcy5lbnYuU1lOVEhfSENMX09VVFBVVCA9PT0gXCJ0cnVlXCIgfHxcbiAgICAgIHByb2Nlc3MuZW52LlNZTlRIX0hDTF9PVVRQVVQgPT09IFwiMVwiIHx8XG4gICAgICBoY2w7XG5cbiAgICB0aGlzLmhhcmRBYm9ydCA9IGFjLmFib3J0LmJpbmQoYWMpO1xuICAgIHRoaXMuaW9IYW5kbGVyID0gbmV3IENka3RmUHJvamVjdElPSGFuZGxlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wQWxsU3RhY2tzKCkge1xuICAgIHRoaXMuc3RhY2tzVG9SdW4uZm9yRWFjaCgoc3RhY2spID0+IHN0YWNrLnN0b3AoKSk7XG4gICAgdGhpcy5pb0hhbmRsZXIuZmlsdGVyVXNlcklucHV0RXZlbnRzRnJvbUJ1ZmZlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVVc2VyVXBkYXRlPFxuICAgIFQgZXh0ZW5kcyBNdWx0aVN0YWNrVXBkYXRlLFxuICAgIFYgZXh0ZW5kcyBTdGFja1VzZXJJbnB1dFVwZGF0ZSxcbiAgPihcbiAgICB1cGRhdGU6IFN0YWNrVXNlcklucHV0VXBkYXRlLFxuICAgIG9wZXJhdGlvbnM6IFJlY29yZDxzdHJpbmcsICh1cGRhdGU6IFYpID0+IHZvaWQ+LFxuICAgIG9yaWdpbmFsQ2FsbGJhY2s6ICh1cGRhdGVUb1NlbmQ6IFByb2plY3RVcGRhdGUpID0+IHZvaWQsXG4gICAgZXZlbnRUeXBlOiBUW1widHlwZVwiXSxcbiAgKSB7XG4gICAgY29uc3QgY2FsbGJhY2tzID0gKHVwZGF0ZTogVikgPT5cbiAgICAgIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgT2JqZWN0LmVudHJpZXMob3BlcmF0aW9ucykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgLy8gVGhpcyBpcyBwYXNzZWQgaW4gdG8gbWFrZSB0eXBlc2NyaXB0IGhhcHB5IG9ubHlcbiAgICAgICAgICAgIChfOiBWKSA9PiB7XG4gICAgICAgICAgICAgIHZhbHVlKHVwZGF0ZSk7XG5cbiAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBkZWZlciB0aGVzZSBjYWxscyBmb3IgdGhlIGNhc2UgdGhhdCBhcHByb3ZlKCkgaXMgaW5zdGFudGx5IGludm9rZWRcbiAgICAgICAgICAgICAgLy8gaW4gdGhlIGxpc3RlbmVyIHRoYXQgcmVjZWl2ZXMgdGhlc2UgY2FsbGJhY2tzIGFzIGl0IG90aGVyd2lzZSB3b3VsZCBhbHJlYWR5XG4gICAgICAgICAgICAgIC8vIHJlbW92ZSB0aGUgXCJ3YWl0aW5nIGZvciBzdGFjayBhcHByb3ZhbFwiIGV2ZW50IGZyb20gdGhlIGJ1ZmZlciBiZWZvcmUgd2UgZXZlblxuICAgICAgICAgICAgICAvLyBzZXQgd2FpdGluZ0ZvckFwcHJvdmFsIHRvIHRydWUgKGF0IHRoZSBlbmQgb2YgdGhpcyBpZiBzdGF0ZW1lbnQpIHdoaWNoIHJlc3VsdHNcbiAgICAgICAgICAgICAgLy8gaW4gYnVmZmVyZWQgdXBkYXRlcyB3aGljaCB3aWxsIG5ldmVyIHVuYmxvY2tcbiAgICAgICAgICAgICAgc2V0VGltZW91dChcbiAgICAgICAgICAgICAgICAoKSA9PiB0aGlzLmlvSGFuZGxlci5yZXN1bWVBZnRlclVzZXJJbnB1dCh1cGRhdGUuc3RhY2tOYW1lKSxcbiAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9KSxcbiAgICAgICk7XG5cbiAgICAvLyBhbHdheXMgc2VuZCB0byBidWZmZXIsIGFzIHJlc3VtZUFmdGVyVXNlcklucHV0KCkgYWx3YXlzIGV4cGVjdHMgYSBtYXRjaGluZyBldmVudFxuICAgIHRoaXMuaW9IYW5kbGVyLnB1c2hFdmVudCh7XG4gICAgICBjYjogb3JpZ2luYWxDYWxsYmFjayxcbiAgICAgIHZhbHVlOiB7XG4gICAgICAgIHR5cGU6IGV2ZW50VHlwZSxcbiAgICAgICAgc3RhY2tOYW1lOiB1cGRhdGUuc3RhY2tOYW1lLFxuICAgICAgICAuLi5jYWxsYmFja3ModXBkYXRlIGFzIFYpLFxuICAgICAgfSBhcyBULFxuICAgICAgdHlwZTogXCJwcm9qZWN0VXBkYXRlXCIsXG4gICAgfSk7XG5cbiAgICAvLyBpZiB3ZSBhcmVuJ3QgYWxyZWFkeSB3YWl0aW5nLCB0aGlzIG5lZWRzIHRvIGdvIHRvIGNiKCkgdG9vIHRvIGFycml2ZSBhdCB0aGUgVUlcbiAgICBpZiAoIXRoaXMuaW9IYW5kbGVyLmlzV2FpdGluZ0ZvclVzZXJJbnB1dCgpKSB7XG4gICAgICBvcmlnaW5hbENhbGxiYWNrKHtcbiAgICAgICAgdHlwZTogZXZlbnRUeXBlLFxuICAgICAgICBzdGFja05hbWU6IHVwZGF0ZS5zdGFja05hbWUsXG4gICAgICAgIC4uLmNhbGxiYWNrcyh1cGRhdGUgYXMgViksXG4gICAgICB9IGFzIFQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVXNlcklucHV0UHJvY2VzcyhjYjogKHVwZGF0ZVRvU2VuZDogUHJvamVjdFVwZGF0ZSkgPT4gdm9pZCkge1xuICAgIHJldHVybiAoXG4gICAgICB1cGRhdGU6XG4gICAgICAgIHwgU3RhY2tVcGRhdGVcbiAgICAgICAgfCBTdGFja0FwcHJvdmFsVXBkYXRlXG4gICAgICAgIHwgRXh0ZXJuYWxTdGFja0FwcHJvdmFsVXBkYXRlXG4gICAgICAgIHwgU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlXG4gICAgICAgIHwgRXh0ZXJuYWxTdGFja1NlbnRpbmVsT3ZlcnJpZGVVcGRhdGUsXG4gICAgKSA9PiB7XG4gICAgICBpZiAodXBkYXRlLnR5cGUgPT09IFwiZXh0ZXJuYWwgc3RhY2sgYXBwcm92YWwgcmVwbHlcIikge1xuICAgICAgICBpZiAoIXVwZGF0ZS5hcHByb3ZlZCkge1xuICAgICAgICAgIHRoaXMuc3RvcEFsbFN0YWNrc1RoYXRDYW5Ob3RSdW5XaXRob3V0KHVwZGF0ZS5zdGFja05hbWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW9IYW5kbGVyLnJlc3VtZUFmdGVyVXNlcklucHV0KHVwZGF0ZS5zdGFja05hbWUpO1xuICAgICAgICByZXR1cm47IC8vIGFrYSBkb24ndCBzZW5kIHRoaXMgZXZlbnQgdG8gYW55IGJ1ZmZlclxuICAgICAgfVxuICAgICAgaWYgKHVwZGF0ZS50eXBlID09PSBcImV4dGVybmFsIHN0YWNrIHNlbnRpbmVsIG92ZXJyaWRlIHJlcGx5XCIpIHtcbiAgICAgICAgaWYgKCF1cGRhdGUub3ZlcnJpZGRlbikge1xuICAgICAgICAgIHRoaXMuc3RvcEFsbFN0YWNrc1RoYXRDYW5Ob3RSdW5XaXRob3V0KHVwZGF0ZS5zdGFja05hbWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW9IYW5kbGVyLnJlc3VtZUFmdGVyVXNlcklucHV0KHVwZGF0ZS5zdGFja05hbWUpO1xuICAgICAgICByZXR1cm47IC8vIGFrYSBkb24ndCBzZW5kIHRoaXMgZXZlbnQgdG8gYW55IGJ1ZmZlclxuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIHVwZGF0ZS50eXBlID09PSBcIndhaXRpbmcgZm9yIHN0YWNrIGFwcHJvdmFsXCIgfHxcbiAgICAgICAgdXBkYXRlLnR5cGUgPT09IFwid2FpdGluZyBmb3Igc3RhY2sgc2VudGluZWwgb3ZlcnJpZGVcIlxuICAgICAgKSB7XG4gICAgICAgIGlmICh1cGRhdGUudHlwZSA9PT0gXCJ3YWl0aW5nIGZvciBzdGFjayBhcHByb3ZhbFwiKSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVVc2VyVXBkYXRlPE11bHRpU3RhY2tBcHByb3ZhbFVwZGF0ZSwgU3RhY2tBcHByb3ZhbFVwZGF0ZT4oXG4gICAgICAgICAgICB1cGRhdGUsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGFwcHJvdmU6ICh1cGRhdGUpID0+IHVwZGF0ZS5hcHByb3ZlKCksXG4gICAgICAgICAgICAgIGRpc21pc3M6ICh1cGRhdGUpID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGUucmVqZWN0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9wQWxsU3RhY2tzVGhhdENhbk5vdFJ1bldpdGhvdXQodXBkYXRlLnN0YWNrTmFtZSk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHN0b3A6ICh1cGRhdGUpID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGUucmVqZWN0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9wQWxsU3RhY2tzKCk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2IsXG4gICAgICAgICAgICBcIndhaXRpbmcgZm9yIGFwcHJvdmFsXCIsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmICh1cGRhdGUudHlwZSA9PT0gXCJ3YWl0aW5nIGZvciBzdGFjayBzZW50aW5lbCBvdmVycmlkZVwiKSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVVc2VyVXBkYXRlPFxuICAgICAgICAgICAgTXVsdGlTdGFja1NlbnRpbmVsT3ZlcnJpZGVVcGRhdGUsXG4gICAgICAgICAgICBTdGFja1NlbnRpbmVsT3ZlcnJpZGVVcGRhdGVcbiAgICAgICAgICA+KFxuICAgICAgICAgICAgdXBkYXRlLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBvdmVycmlkZTogKHVwZGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHVwZGF0ZS5vdmVycmlkZSgpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICByZWplY3Q6ICh1cGRhdGUpID0+IHtcbiAgICAgICAgICAgICAgICB1cGRhdGUucmVqZWN0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9wQWxsU3RhY2tzVGhhdENhbk5vdFJ1bldpdGhvdXQodXBkYXRlLnN0YWNrTmFtZSk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2IsXG4gICAgICAgICAgICBcIndhaXRpbmcgZm9yIHNlbnRpbmVsIG92ZXJyaWRlXCIsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW9IYW5kbGVyLmF3YWl0VXNlcklucHV0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5pb0hhbmRsZXIuaXNXYWl0aW5nRm9yVXNlcklucHV0KCkpIHtcbiAgICAgICAgICB0aGlzLmlvSGFuZGxlci5wdXNoRXZlbnQoe1xuICAgICAgICAgICAgY2IsXG4gICAgICAgICAgICB2YWx1ZTogdXBkYXRlLFxuICAgICAgICAgICAgdHlwZTogXCJwcm9qZWN0VXBkYXRlXCIsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2IodXBkYXRlIGFzIFByb2plY3RVcGRhdGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdGFja0V4ZWN1dG9yKFxuICAgIHN0YWNrOiBTeW50aGVzaXplZFN0YWNrLFxuICAgIG9wdHM6IEF1dG9BcHByb3ZlT3B0aW9ucyA9IHt9LFxuICApIHtcbiAgICBjb25zdCBlbmhhbmNlTG9nTWVzc2FnZSA9IGNyZWF0ZUVuaGFuY2VMb2dNZXNzYWdlKHN0YWNrKTtcbiAgICBjb25zdCBvbkxvZyA9IHRoaXMuaW9IYW5kbGVyLmJ1ZmZlcldoaWxlQXdhaXRpbmdVc2VySW5wdXQodGhpcy5vbkxvZyk7XG4gICAgcmV0dXJuIG5ldyBDZGt0ZlN0YWNrKHtcbiAgICAgIC4uLm9wdHMsXG4gICAgICBzdGFjayxcbiAgICAgIG9uVXBkYXRlOiB0aGlzLmhhbmRsZVVzZXJJbnB1dFByb2Nlc3ModGhpcy5vblVwZGF0ZSksXG4gICAgICBvbkxvZzogb25Mb2dcbiAgICAgICAgPyAoeyBtZXNzYWdlIH0pID0+XG4gICAgICAgICAgICBvbkxvZyh7XG4gICAgICAgICAgICAgIHN0YWNrTmFtZTogc3RhY2submFtZSxcbiAgICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgICAgbWVzc2FnZVdpdGhDb25zdHJ1Y3RQYXRoOiBlbmhhbmNlTG9nTWVzc2FnZShtZXNzYWdlKSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgYWJvcnRTaWduYWw6IHRoaXMuYWJvcnRTaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG91dHB1dHNCeUNvbnN0cnVjdElkKCkge1xuICAgIHJldHVybiB0aGlzLnN0YWNrc1RvUnVuLnJlZHVjZShcbiAgICAgIChhY2MsIHN0YWNrKSA9PiAoe1xuICAgICAgICAuLi5hY2MsXG4gICAgICAgIC4uLnN0YWNrLm91dHB1dHNCeUNvbnN0cnVjdElkLFxuICAgICAgfSksXG4gICAgICB7fSBhcyBOZXN0ZWRUZXJyYWZvcm1PdXRwdXRzLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc3ludGgobm9Db2xvcj86IGJvb2xlYW4pIHtcbiAgICB0aGlzLm9uVXBkYXRlKHtcbiAgICAgIHR5cGU6IFwic3ludGhlc2l6aW5nXCIsXG4gICAgfSk7XG5cbiAgICBjb25zdCBzdGFja3MgPSBhd2FpdCBTeW50aFN0YWNrLnN5bnRoKFxuICAgICAgdGhpcy5hYm9ydFNpZ25hbCBhcyBhbnksXG4gICAgICB0aGlzLnN5bnRoQ29tbWFuZCxcbiAgICAgIHRoaXMub3V0RGlyLFxuICAgICAgdGhpcy53b3JraW5nRGlyZWN0b3J5LFxuICAgICAgZmFsc2UsXG4gICAgICBub0NvbG9yLFxuICAgICAgdGhpcy5zeW50aE9yaWdpbixcbiAgICAgIHRoaXMuaGNsLFxuICAgICk7XG5cbiAgICBwcmludEFubm90YXRpb25zKHN0YWNrcyk7XG5cbiAgICB0aGlzLm9uVXBkYXRlKHtcbiAgICAgIHR5cGU6IFwic3ludGhlc2l6ZWRcIixcbiAgICAgIHN0YWNrcyxcbiAgICB9KTtcblxuICAgIHJldHVybiBzdGFja3M7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVhZFN5bnRoZXNpemVkU3RhY2tzKCkge1xuICAgIGNvbnN0IHN0YWNrcyA9IGF3YWl0IFN5bnRoU3RhY2sucmVhZFN5bnRoZXNpemVkU3RhY2tzKHRoaXMub3V0RGlyKTtcblxuICAgIHByaW50QW5ub3RhdGlvbnMoc3RhY2tzKTtcblxuICAgIHRoaXMub25VcGRhdGUoe1xuICAgICAgdHlwZTogXCJzeW50aGVzaXplZFwiLFxuICAgICAgc3RhY2tzLFxuICAgIH0pO1xuICAgIHJldHVybiBzdGFja3M7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGlmZihvcHRzOiBEaWZmT3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3Qgc3RhY2tzID0gb3B0cy5za2lwU3ludGhcbiAgICAgID8gYXdhaXQgdGhpcy5yZWFkU3ludGhlc2l6ZWRTdGFja3MoKVxuICAgICAgOiBhd2FpdCB0aGlzLnN5bnRoKG9wdHMubm9Db2xvcik7XG4gICAgY29uc3Qgc3RhY2sgPSB0aGlzLmdldFN0YWNrRXhlY3V0b3IoXG4gICAgICBnZXRTaW5nbGVTdGFjayhzdGFja3MsIG9wdHM/LnN0YWNrTmFtZSwgXCJkaWZmXCIpLFxuICAgICk7XG4gICAgYXdhaXQgc3RhY2suaW5pdGFsaXplVGVycmFmb3JtKFxuICAgICAgb3B0cy5ub0NvbG9yLFxuICAgICAgb3B0cy5za2lwUHJvdmlkZXJMb2NrLFxuICAgICAgb3B0cy5taWdyYXRlU3RhdGUsXG4gICAgKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBzdGFjay5kaWZmKG9wdHMpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgRXJyb3JzLkV4dGVybmFsKFxuICAgICAgICBgU3RhY2sgZmFpbGVkIHRvIHBsYW46ICR7c3RhY2suc3RhY2submFtZX0uIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5gLFxuICAgICAgICBlLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHN0YWNrLmVycm9yKSB7XG4gICAgICB0aHJvdyBFcnJvcnMuRXh0ZXJuYWwoXG4gICAgICAgIGBTdGFjayBmYWlsZWQgdG8gcGxhbjogJHtzdGFjay5zdGFjay5uYW1lfS4gUGxlYXNlIGNoZWNrIHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uLmAsXG4gICAgICAgIG5ldyBFcnJvcihzdGFjay5lcnJvciksXG4gICAgICApO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnByb2plY3RUZWxlbWV0cnkoXCJkaWZmXCIsIHtcbiAgICAgICAgc3RhY2tNZXRhZGF0YTogc3RhY2tzLm1hcCgoc3RhY2spID0+XG4gICAgICAgICAgSlNPTi5wYXJzZShzdGFjay5jb250ZW50KVtcIi8vXCJdXG4gICAgICAgICAgICA/IEpTT04ucGFyc2Uoc3RhY2suY29udGVudClbXCIvL1wiXS5tZXRhZGF0YVxuICAgICAgICAgICAgOiB7fSxcbiAgICAgICAgKSxcbiAgICAgICAgZXJyb3JzOiBzdGFjay5lcnJvcixcbiAgICAgICAgcmVxdWlyZWRQcm92aWRlcnM6IHN0YWNrcy5tYXAoKHN0YWNrOiBhbnkpID0+XG4gICAgICAgICAgSlNPTi5wYXJzZShzdGFjay5jb250ZW50KVtcInRlcnJhZm9ybVwiXVxuICAgICAgICAgICAgPyBKU09OLnBhcnNlKHN0YWNrLmNvbnRlbnQpW1widGVycmFmb3JtXCJdLnJlcXVpcmVkX3Byb3ZpZGVyc1xuICAgICAgICAgICAgOiB7fSxcbiAgICAgICAgKSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhcIkZhaWxlZCB0byBzZW5kIHRlbGVtZXRyeVwiLCBlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV4ZWN1dGUoXG4gICAgbWV0aG9kOiBcImRlcGxveVwiIHwgXCJkZXN0cm95XCIsXG4gICAgbmV4dDogKCkgPT4gUHJvbWlzZTxDZGt0ZlN0YWNrIHwgdW5kZWZpbmVkPixcbiAgICBvcHRzOiBNdXRhdGlvbk9wdGlvbnMsXG4gICkge1xuICAgIC8vIFdlIG9ubHkgc3VwcG9ydCByZWZyZXNoIG9ubHkgb24gZGVwbG95LCBhIGJpdCBvZiBhIGxlYWt5IGFic3RyYWN0aW9uIGhlcmVcbiAgICBpZiAob3B0cy5yZWZyZXNoT25seSAmJiBtZXRob2QgIT09IFwiZGVwbG95XCIpIHtcbiAgICAgIHRocm93IEVycm9ycy5JbnRlcm5hbChgUmVmcmVzaCBvbmx5IGlzIG9ubHkgc3VwcG9ydGVkIG9uIGRlcGxveWApO1xuICAgIH1cbiAgICBjb25zdCBtYXhQYXJhbGxlbFJ1bnMgPVxuICAgICAgIW9wdHMucGFyYWxsZWxpc20gfHwgb3B0cy5wYXJhbGxlbGlzbSA8IDAgPyBJbmZpbml0eSA6IG9wdHMucGFyYWxsZWxpc207XG4gICAgY29uc3QgYWxsRXhlY3V0aW9ucyA9IFtdO1xuXG4gICAgYXdhaXQgdGhpcy5pbml0aWFsaXplU3RhY2tzVG9SdW5JblNlcmlhbChcbiAgICAgIG9wdHMubm9Db2xvcixcbiAgICAgIG9wdHMuc2tpcFByb3ZpZGVyTG9jayxcbiAgICAgIG9wdHMubWlncmF0ZVN0YXRlLFxuICAgICk7XG4gICAgd2hpbGUgKHRoaXMuc3RhY2tzVG9SdW4uZmlsdGVyKChzdGFjaykgPT4gc3RhY2suaXNQZW5kaW5nKS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBydW5uaW5nU3RhY2tzID0gdGhpcy5zdGFja3NUb1J1bi5maWx0ZXIoKHN0YWNrKSA9PiBzdGFjay5pc1J1bm5pbmcpO1xuICAgICAgaWYgKHJ1bm5pbmdTdGFja3MubGVuZ3RoID49IG1heFBhcmFsbGVsUnVucykge1xuICAgICAgICBhd2FpdCBQcm9taXNlLnJhY2UocnVubmluZ1N0YWNrcy5tYXAoKHMpID0+IHMuY3VycmVudFdvcmtQcm9taXNlKSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbmV4dFJ1bm5pbmdFeGVjdXRvciA9IGF3YWl0IG5leHQoKTtcbiAgICAgICAgaWYgKCFuZXh0UnVubmluZ0V4ZWN1dG9yKSB7XG4gICAgICAgICAgLy8gSW4gdGhpcyBjYXNlIHdlIGhhdmUgbm8gcGVuZGluZyBzdGFja3MsIGJ1dCB3ZSBhbHNvIGNhbiBub3QgZmluZCBhIG5ldyBleGVjdXRvclxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByb21pc2UgPVxuICAgICAgICAgIG1ldGhvZCA9PT0gXCJkZXBsb3lcIlxuICAgICAgICAgICAgPyBuZXh0UnVubmluZ0V4ZWN1dG9yLmRlcGxveShvcHRzKVxuICAgICAgICAgICAgOiBuZXh0UnVubmluZ0V4ZWN1dG9yLmRlc3Ryb3kob3B0cyk7XG5cbiAgICAgICAgYWxsRXhlY3V0aW9ucy5wdXNoKHByb21pc2UpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyBhd2FpdCBuZXh0KCkgdGhyZXcgYW4gZXJyb3IgYmVjYXVzZSBhIHN0YWNrIGZhaWxlZCB0byBhcHBseS9kZXN0cm95XG4gICAgICAgIC8vIHdhaXQgZm9yIGFsbCBvdGhlciBjdXJyZW50bHkgcnVubmluZyBzdGFja3MgdG8gY29tcGxldGUgYmVmb3JlIHByb3BhZ2F0aW5nIHRoYXQgZXJyb3JcbiAgICAgICAgbG9nZ2VyLmRlYnVnKFwiRW5jb3VudGVyZWQgYW4gZXJyb3Igd2hpbGUgYXdhaXRpbmcgc3RhY2sgdG8gZmluaXNoXCIsIGUpO1xuICAgICAgICBjb25zdCBvcGVuU3RhY2tzID0gdGhpcy5zdGFja3NUb1J1bi5maWx0ZXIoXG4gICAgICAgICAgKGV4KSA9PiBleC5jdXJyZW50V29ya1Byb21pc2UsXG4gICAgICAgICk7XG4gICAgICAgIGxvZ2dlci5kZWJ1ZyhcIldhaXRpbmcgZm9yIHN0aWxsIHJ1bm5pbmcgc3RhY2tzIHRvIGZpbmlzaDpcIiwgb3BlblN0YWNrcyk7XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChvcGVuU3RhY2tzLm1hcCgoZXgpID0+IGV4LmN1cnJlbnRXb3JrUHJvbWlzZSkpO1xuICAgICAgICBsb2dnZXIuZGVidWcoXG4gICAgICAgICAgXCJEb25lIHdhaXRpbmcgZm9yIHN0aWxsIHJ1bm5pbmcgc3RhY2tzLiBBbGwgcGVuZGluZyB3b3JrIGZpbmlzaGVkXCIsXG4gICAgICAgICk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFdlIGVuZCB0aGUgbG9vcCB3aGVuIGFsbCBzdGFja3MgYXJlIHN0YXJ0ZWQsIG5vdyB3ZSBuZWVkIHRvIHdhaXQgZm9yIHRoZW0gdG8gYmUgZG9uZVxuICAgIC8vIFdlIHdhaXQgZm9yIGFsbCB3b3JrIHRvIGZpbmlzaCBldmVuIGlmIG9uZSBvZiB0aGUgcHJvbWlzZXMgdGhyZXcgYW4gZXJyb3IuXG4gICAgYXdhaXQgZW5zdXJlQWxsU2V0dGxlZEJlZm9yZVRocm93aW5nKFxuICAgICAgUHJvbWlzZS5hbGwoYWxsRXhlY3V0aW9ucyksXG4gICAgICBhbGxFeGVjdXRpb25zLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGVwbG95KG9wdHM6IE11dGF0aW9uT3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3Qgc3RhY2tzID0gb3B0cy5za2lwU3ludGhcbiAgICAgID8gYXdhaXQgdGhpcy5yZWFkU3ludGhlc2l6ZWRTdGFja3MoKVxuICAgICAgOiBhd2FpdCB0aGlzLnN5bnRoKG9wdHMubm9Db2xvcik7XG4gICAgY29uc3Qgc3RhY2tzVG9SdW4gPSBnZXRNdWx0aXBsZVN0YWNrcyhzdGFja3MsIG9wdHMuc3RhY2tOYW1lcywgXCJkZXBsb3lcIik7XG4gICAgaWYgKCFvcHRzLmlnbm9yZU1pc3NpbmdTdGFja0RlcGVuZGVuY2llcykge1xuICAgICAgY2hlY2tJZkFsbERlcGVuZGVuY2llc0FyZUluY2x1ZGVkKHN0YWNrc1RvUnVuKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3BBbGxTdGFja3NUaGF0Q2FuTm90UnVuV2l0aG91dCA9IChzdGFja05hbWU6IHN0cmluZykgPT4ge1xuICAgICAgZmluZEFsbE5lc3RlZERlcGVuZGFudFN0YWNrcyh0aGlzLnN0YWNrc1RvUnVuLCBzdGFja05hbWUpLmZvckVhY2goXG4gICAgICAgIChzdGFjaykgPT4gc3RhY2suc3RvcCgpLFxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgdGhpcy5zdGFja3NUb1J1biA9IHN0YWNrc1RvUnVuLm1hcCgoc3RhY2spID0+XG4gICAgICB0aGlzLmdldFN0YWNrRXhlY3V0b3Ioc3RhY2ssIG9wdHMpLFxuICAgICk7XG5cbiAgICBjb25zdCBuZXh0ID0gb3B0cy5pZ25vcmVNaXNzaW5nU3RhY2tEZXBlbmRlbmNpZXNcbiAgICAgID8gKCkgPT5cbiAgICAgICAgICBQcm9taXNlLnJlc29sdmUoXG4gICAgICAgICAgICB0aGlzLnN0YWNrc1RvUnVuLmZpbHRlcigoc3RhY2spID0+IHN0YWNrLmlzUGVuZGluZylbMF0sXG4gICAgICAgICAgKVxuICAgICAgOiAoKSA9PiBnZXRTdGFja1dpdGhOb1VubWV0RGVwZW5kZW5jaWVzKHRoaXMuc3RhY2tzVG9SdW4pO1xuXG4gICAgYXdhaXQgdGhpcy5leGVjdXRlKFwiZGVwbG95XCIsIG5leHQsIG9wdHMpO1xuXG4gICAgY29uc3QgdW5wcm9jZXNzZWRTdGFja3MgPSB0aGlzLnN0YWNrc1RvUnVuLmZpbHRlcihcbiAgICAgIChleGVjdXRvcikgPT4gZXhlY3V0b3IuaXNQZW5kaW5nLFxuICAgICk7XG4gICAgaWYgKHVucHJvY2Vzc2VkU3RhY2tzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IEVycm9ycy5FeHRlcm5hbChcbiAgICAgICAgYFNvbWUgc3RhY2tzIGZhaWxlZCB0byBkZXBsb3k6ICR7dW5wcm9jZXNzZWRTdGFja3NcbiAgICAgICAgICAubWFwKChzKSA9PiBzLnN0YWNrLm5hbWUpXG4gICAgICAgICAgLmpvaW4oXCIsIFwiKX0uIFBsZWFzZSBjaGVjayB0aGUgbG9ncyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5wcm9qZWN0VGVsZW1ldHJ5KFwiZGVwbG95XCIsIHtcbiAgICAgICAgc3RhY2tNZXRhZGF0YTogc3RhY2tzVG9SdW4ubWFwKChzdGFjaykgPT5cbiAgICAgICAgICBKU09OLnBhcnNlKHN0YWNrLmNvbnRlbnQpW1wiLy9cIl1cbiAgICAgICAgICAgID8gSlNPTi5wYXJzZShzdGFjay5jb250ZW50KVtcIi8vXCJdLm1ldGFkYXRhXG4gICAgICAgICAgICA6IHt9LFxuICAgICAgICApLFxuICAgICAgICBmYWlsZWRTdGFja3M6IHVucHJvY2Vzc2VkU3RhY2tzLm1hcCgoc3RhY2spID0+IHN0YWNrLmVycm9yKSxcbiAgICAgICAgcmVxdWlyZWRQcm92aWRlcnM6IHN0YWNrc1RvUnVuLm1hcCgoc3RhY2s6IGFueSkgPT5cbiAgICAgICAgICBKU09OLnBhcnNlKHN0YWNrLmNvbnRlbnQpW1widGVycmFmb3JtXCJdXG4gICAgICAgICAgICA/IEpTT04ucGFyc2Uoc3RhY2suY29udGVudClbXCJ0ZXJyYWZvcm1cIl0ucmVxdWlyZWRfcHJvdmlkZXJzXG4gICAgICAgICAgICA6IHt9LFxuICAgICAgICApLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKFwiRmFpbGVkIHRvIHNlbmQgdGVsZW1ldHJ5XCIsIGUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkZXN0cm95KG9wdHM6IE11dGF0aW9uT3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3Qgc3RhY2tzID0gb3B0cy5za2lwU3ludGhcbiAgICAgID8gYXdhaXQgdGhpcy5yZWFkU3ludGhlc2l6ZWRTdGFja3MoKVxuICAgICAgOiBhd2FpdCB0aGlzLnN5bnRoKG9wdHMubm9Db2xvcik7XG4gICAgY29uc3Qgc3RhY2tzVG9SdW4gPSBnZXRNdWx0aXBsZVN0YWNrcyhzdGFja3MsIG9wdHMuc3RhY2tOYW1lcywgXCJkZXN0cm95XCIpO1xuXG4gICAgaWYgKCFvcHRzLmlnbm9yZU1pc3NpbmdTdGFja0RlcGVuZGVuY2llcykge1xuICAgICAgY2hlY2tJZkFsbERlcGVuZGFudHNBcmVJbmNsdWRlZChzdGFja3NUb1J1biwgc3RhY2tzKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0b3BBbGxTdGFja3NUaGF0Q2FuTm90UnVuV2l0aG91dCA9IChzdGFja05hbWU6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3Qgc3RhY2tFeGVjdXRvciA9IHRoaXMuc3RhY2tzVG9SdW4uZmluZChcbiAgICAgICAgKHMpID0+IHMuc3RhY2submFtZSA9PT0gc3RhY2tOYW1lLFxuICAgICAgKTtcbiAgICAgIGlmICghc3RhY2tFeGVjdXRvcikge1xuICAgICAgICB0aHJvdyBFcnJvcnMuSW50ZXJuYWwoXG4gICAgICAgICAgYENvdWxkIG5vdCBmaW5kIHN0YWNrIFwiJHtzdGFja05hbWV9XCIgdGhhdCB3YXMgc3RvcHBlZGAsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHN0YWNrRXhlY3V0b3Iuc3RhY2suZGVwZW5kZW5jaWVzLmZvckVhY2goKGRlcGVuZGFudCkgPT4ge1xuICAgICAgICB0aGlzLnN0b3BBbGxTdGFja3NUaGF0Q2FuTm90UnVuV2l0aG91dChkZXBlbmRhbnQpO1xuXG4gICAgICAgIGNvbnN0IGRlcGVuZGFudFN0YWNrID0gdGhpcy5zdGFja3NUb1J1bi5maW5kKFxuICAgICAgICAgIChzKSA9PiBzLnN0YWNrLm5hbWUgPT09IGRlcGVuZGFudCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCFkZXBlbmRhbnRTdGFjaykge1xuICAgICAgICAgIHRocm93IEVycm9ycy5JbnRlcm5hbChcbiAgICAgICAgICAgIGBDb3VsZCBub3QgZmluZCBzdGFjayBcIiR7ZGVwZW5kYW50fVwiIHRoYXQgd2FzIHN0b3BwZWRgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBkZXBlbmRhbnRTdGFjay5zdG9wKCk7XG4gICAgICB9KTtcbiAgICB9O1xuICAgIHRoaXMuc3RhY2tzVG9SdW4gPSBzdGFja3NUb1J1bi5tYXAoKHN0YWNrKSA9PlxuICAgICAgdGhpcy5nZXRTdGFja0V4ZWN1dG9yKHN0YWNrLCBvcHRzKSxcbiAgICApO1xuICAgIGNvbnN0IG5leHQgPSBvcHRzLmlnbm9yZU1pc3NpbmdTdGFja0RlcGVuZGVuY2llc1xuICAgICAgPyAoKSA9PlxuICAgICAgICAgIFByb21pc2UucmVzb2x2ZShcbiAgICAgICAgICAgIHRoaXMuc3RhY2tzVG9SdW4uZmlsdGVyKFxuICAgICAgICAgICAgICAoc3RhY2spID0+IHN0YWNrLmN1cnJlbnRTdGF0ZSAhPT0gXCJkb25lXCIsXG4gICAgICAgICAgICApWzBdLFxuICAgICAgICAgIClcbiAgICAgIDogKCkgPT4gZ2V0U3RhY2tXaXRoTm9Vbm1ldERlcGVuZGFudHModGhpcy5zdGFja3NUb1J1bik7XG5cbiAgICBhd2FpdCB0aGlzLmV4ZWN1dGUoXCJkZXN0cm95XCIsIG5leHQsIG9wdHMpO1xuXG4gICAgY29uc3QgdW5wcm9jZXNzZWRTdGFja3MgPSB0aGlzLnN0YWNrc1RvUnVuLmZpbHRlcihcbiAgICAgIChleGVjdXRvcikgPT4gZXhlY3V0b3IuaXNQZW5kaW5nLFxuICAgICk7XG4gICAgaWYgKHVucHJvY2Vzc2VkU3RhY2tzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IEVycm9ycy5FeHRlcm5hbChcbiAgICAgICAgYFNvbWUgc3RhY2tzIGZhaWxlZCB0byBkZXN0cm95OiAke3VucHJvY2Vzc2VkU3RhY2tzXG4gICAgICAgICAgLm1hcCgocykgPT4gcy5zdGFjay5uYW1lKVxuICAgICAgICAgIC5qb2luKFwiLCBcIil9LiBQbGVhc2UgY2hlY2sgdGhlIGxvZ3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMucHJvamVjdFRlbGVtZXRyeShcImRlc3Ryb3lcIiwge1xuICAgICAgICBzdGFja01ldGFkYXRhOiBzdGFja3NUb1J1bi5tYXAoKHN0YWNrKSA9PlxuICAgICAgICAgIEpTT04ucGFyc2Uoc3RhY2suY29udGVudClbXCIvL1wiXVxuICAgICAgICAgICAgPyBKU09OLnBhcnNlKHN0YWNrLmNvbnRlbnQpW1wiLy9cIl0ubWV0YWRhdGFcbiAgICAgICAgICAgIDoge30sXG4gICAgICAgICksXG4gICAgICAgIGZhaWxlZFN0YWNrczogdW5wcm9jZXNzZWRTdGFja3MubWFwKChzdGFjaykgPT4gc3RhY2suZXJyb3IpLFxuICAgICAgICByZXF1aXJlZFByb3ZpZGVyczogc3RhY2tzVG9SdW4ubWFwKChzdGFjazogYW55KSA9PlxuICAgICAgICAgIEpTT04ucGFyc2Uoc3RhY2suY29udGVudClbXCJ0ZXJyYWZvcm1cIl1cbiAgICAgICAgICAgID8gSlNPTi5wYXJzZShzdGFjay5jb250ZW50KVtcInRlcnJhZm9ybVwiXS5yZXF1aXJlZF9wcm92aWRlcnNcbiAgICAgICAgICAgIDoge30sXG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBsb2dnZXIuZGVidWcoXCJGYWlsZWQgdG8gc2VuZCB0ZWxlbWV0cnlcIiwgZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHByb2plY3RUZWxlbWV0cnkoY29tbWFuZDogc3RyaW5nLCBwYXlsb2FkOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb25maWcgPSByZWFkQ29uZmlnU3luYygpO1xuICAgIGF3YWl0IHNlbmRUZWxlbWV0cnkoY29tbWFuZCwge1xuICAgICAgLi4ucGF5bG9hZCxcbiAgICAgIGxhbmd1YWdlOiBjb25maWcubGFuZ3VhZ2UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZmV0Y2hPdXRwdXRzKG9wdHM6IEZldGNoT3V0cHV0T3B0aW9ucykge1xuICAgIGNvbnN0IHN0YWNrcyA9IG9wdHMuc2tpcFN5bnRoXG4gICAgICA/IGF3YWl0IHRoaXMucmVhZFN5bnRoZXNpemVkU3RhY2tzKClcbiAgICAgIDogYXdhaXQgdGhpcy5zeW50aCgpO1xuXG4gICAgY29uc3Qgc3RhY2tzVG9SdW4gPSBnZXRNdWx0aXBsZVN0YWNrcyhcbiAgICAgIHN0YWNrcyxcbiAgICAgIG9wdHMuc3RhY2tOYW1lcyB8fCBbXSxcbiAgICAgIFwiZGVwbG95XCIsXG4gICAgKTtcblxuICAgIGlmIChzdGFja3NUb1J1bi5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIHN0YWNrcyB0byBmZXRjaCBvdXRwdXRzIGZvciBzcGVjaWZpZWRcIik7XG4gICAgfVxuXG4gICAgdGhpcy5zdGFja3NUb1J1biA9IHN0YWNrc1RvUnVuLm1hcCgoc3RhY2spID0+XG4gICAgICAvLyBPcHRpb25zIGFyZSBlbXB0eSwgYmVjYXVzZSBNdWx0aXBsZVN0YWNrT3B0aW9ucyBkb2Vzbid0IGhhdmUgYW55IHJlbGV2YW50XG4gICAgICAvLyBvcHRpb25zIGZvciBgZ2V0U3RhY2tFeGVjdXRvcmAsIGhlbmNlIGRlZmF1bHRzIGFyZSBmaW5lXG4gICAgICB0aGlzLmdldFN0YWNrRXhlY3V0b3Ioc3RhY2ssIHt9KSxcbiAgICApO1xuXG4gICAgYXdhaXQgdGhpcy5pbml0aWFsaXplU3RhY2tzVG9SdW5JblNlcmlhbCh1bmRlZmluZWQsIG9wdHMuc2tpcFByb3ZpZGVyTG9jayk7XG4gICAgY29uc3Qgb3V0cHV0cyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgdGhpcy5zdGFja3NUb1J1bi5tYXAoYXN5bmMgKHMpID0+IHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgcy5mZXRjaE91dHB1dHMoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBbcy5zdGFjay5uYW1lXTogb3V0cHV0LFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIHJldHVybiBvdXRwdXRzLnJlZHVjZShcbiAgICAgIChhY2MsIGN1cnIpID0+ICh7IC4uLmFjYywgLi4uY3VyciB9KSxcbiAgICAgIHt9LFxuICAgICkgYXMgTmVzdGVkVGVycmFmb3JtT3V0cHV0cztcbiAgfVxuXG4gIC8vIFNlcmlhbGx5IHJ1biB0ZXJyYWZvcm0gaW5pdCB0byBwcm9oaWJpdCB0ZXh0IGZpbGUgYnVzeSBlcnJvcnMgZm9yIHRoZSBjYWNoZSBmaWxlc1xuICBwcml2YXRlIGFzeW5jIGluaXRpYWxpemVTdGFja3NUb1J1bkluU2VyaWFsKFxuICAgIG5vQ29sb3I/OiBib29sZWFuLFxuICAgIHNraXBQcm92aWRlckxvY2s/OiBib29sZWFuLFxuICAgIG1pZ3JhdGVTdGF0ZT86IGJvb2xlYW4sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGZvciAoY29uc3Qgc3RhY2sgb2YgdGhpcy5zdGFja3NUb1J1bikge1xuICAgICAgYXdhaXQgc3RhY2suaW5pdGFsaXplVGVycmFmb3JtKG5vQ29sb3IsIHNraXBQcm92aWRlckxvY2ssIG1pZ3JhdGVTdGF0ZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdktf-stack.d.ts","sourceRoot":"","sources":["../../src/lib/cdktf-stack.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAA6B,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAoB7E,MAAM,MAAM,WAAW,GACnB;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,oCAAoC,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,GACD;IACE,IAAI,EAAE,qCAAqC,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEN,MAAM,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"cdktf-stack.d.ts","sourceRoot":"","sources":["../../src/lib/cdktf-stack.ts"],"names":[],"mappings":"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"}
|
package/build/lib/cdktf-stack.js
CHANGED
|
@@ -400,4 +400,4 @@ new SomeResource(...).importFrom("some_id")
|
|
|
400
400
|
}
|
|
401
401
|
}
|
|
402
402
|
exports.CdktfStack = CdktfStack;
|
|
403
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrdGYtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2Nka3RmLXN0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFDQUE2RTtBQUM3RSw0Q0FLd0I7QUFDeEIscUVBQThFO0FBQzlFLDREQUFrRTtBQUNsRSwwREFLZ0M7QUFDaEMsMEVBQXVFO0FBQ3ZFLHFEQUF1RTtBQUN2RSx1RUFBa0U7QUFDbEUsdUNBQXFEO0FBNEZyRCxLQUFLLFVBQVUsa0JBQWtCLENBQy9CLFdBQXdCLEVBQ3hCLEtBQXVCLEVBQ3ZCLHlCQUdpRDtJQUVqRCxPQUFPLElBQUksNEJBQVksQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLHlCQUF5QixDQUFDLENBQUM7QUFDekUsQ0FBQztBQTJCRCxNQUFhLFVBQVU7SUFVckIsWUFBbUIsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFOdEMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVQLGlCQUFZLEdBQXFCLE1BQU0sQ0FBQztRQUt0RCxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxvQ0FBbUIsQ0FBQyxLQUFLLENBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDL0IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkQsQ0FBQztJQUNELElBQVcsTUFBTTtRQUNmLE9BQU8sQ0FDTCxJQUFJLENBQUMsWUFBWSxLQUFLLE1BQU07WUFDNUIsSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxD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RSxDQUFDO1lBRS9DLE1BQU0sT0FBTyxHQUFHLE1BQU0sU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLE1BQU0sb0JBQW9CLEdBQUcsSUFBQSxrQ0FBeUIsRUFDcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUM5QixPQUFPLENBQ1IsQ0FBQztZQUNGLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtnQkFDMUIsT0FBTztnQkFDUCxvQkFBb0I7YUFDckIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxJQUFJO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztDQUNGO0FBbmZELGdDQW1mQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBTeW50aGVzaXplZFN0YWNrIH0gZnJvbSBcIi4vc3ludGgtc3RhY2tcIjtcbmltcG9ydCB7IFRlcnJhZm9ybSB9IGZyb20gXCIuL21vZGVscy90ZXJyYWZvcm1cIjtcbmltcG9ydCB7IGdldENvbnN0cnVjdElkc0Zvck91dHB1dHMsIE5lc3RlZFRlcnJhZm9ybU91dHB1dHMgfSBmcm9tIFwiLi9vdXRwdXRcIjtcbmltcG9ydCB7XG4gIEVycm9ycyxcbiAgbG9nZ2VyLFxuICByZWFkQ29uZmlnU3luYyxcbiAgdGVycmFmb3JtQmluYXJ5TmFtZSxcbn0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgeyBjaGVja0luc3RhbGxlZEJpbmFyeUFnYWluc3RUYXJnZXRzIH0gZnJvbSBcIi4vaW5zdGFsbGVkLWJpbmFyeS1jaGVja1wiO1xuaW1wb3J0IHsgZXh0cmFjdEpzb25Mb2dJZlByZXNlbnQgfSBmcm9tIFwiLi9zZXJ2ZXIvdGVycmFmb3JtLWxvZ3NcIjtcbmltcG9ydCB7XG4gIFRlcnJhZm9ybUNsaSxcbiAgT3V0cHV0RmlsdGVyLFxuICB0cnlSZWFkR2VuZXJhdGVkQ29uZmlndXJhdGlvbkZpbGUsXG4gIHRyeVJlbW92ZUdlbmVyYXRlZENvbmZpZ3VyYXRpb25GaWxlLFxufSBmcm9tIFwiLi9tb2RlbHMvdGVycmFmb3JtLWNsaVwiO1xuaW1wb3J0IHsgUHJvdmlkZXJDb25zdHJhaW50IH0gZnJvbSBcIi4vZGVwZW5kZW5jaWVzL2RlcGVuZGVuY3ktbWFuYWdlclwiO1xuaW1wb3J0IHsgdGVycmFmb3JtSnNvblNjaGVtYSwgVGVycmFmb3JtU3RhY2sgfSBmcm9tIFwiLi90ZXJyYWZvcm0tanNvblwiO1xuaW1wb3J0IHsgVGVycmFmb3JtUHJvdmlkZXJMb2NrIH0gZnJvbSBcIi4vdGVycmFmb3JtLXByb3ZpZGVyLWxvY2tcIjtcbmltcG9ydCB7IGNvbnZlcnRDb25maWd1cmF0aW9uRmlsZSB9IGZyb20gXCIuL2NvbnZlcnRcIjtcblxuZXhwb3J0IHR5cGUgU3RhY2tVcGRhdGUgPVxuICB8IHtcbiAgICAgIHR5cGU6IFwicGxhbm5pbmdcIjtcbiAgICAgIHN0YWNrTmFtZTogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcInBsYW5uZWRcIjtcbiAgICAgIHN0YWNrTmFtZTogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcImRlcGxveWluZ1wiO1xuICAgICAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwiZGVwbG95IHVwZGF0ZVwiO1xuICAgICAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gICAgICBkZXBsb3lPdXRwdXQ6IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJkZXBsb3llZFwiO1xuICAgICAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gICAgICBvdXRwdXRzQnlDb25zdHJ1Y3RJZDogTmVzdGVkVGVycmFmb3JtT3V0cHV0cztcbiAgICAgIG91dHB1dHM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwiZGVzdHJveWluZ1wiO1xuICAgICAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwiZGVzdHJveSB1cGRhdGVcIjtcbiAgICAgIHN0YWNrTmFtZTogc3RyaW5nO1xuICAgICAgZGVzdHJveU91dHB1dDogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcImRlc3Ryb3llZFwiO1xuICAgICAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwib3V0cHV0cyBmZXRjaGVkXCI7XG4gICAgICBzdGFja05hbWU6IHN0cmluZztcbiAgICAgIG91dHB1dHNCeUNvbnN0cnVjdElkOiBOZXN0ZWRUZXJyYWZvcm1PdXRwdXRzO1xuICAgICAgb3V0cHV0czogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJlcnJvcmVkXCI7XG4gICAgICBzdGFja05hbWU6IHN0cmluZztcbiAgICAgIGVycm9yOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwiZGlzbWlzc2VkXCI7XG4gICAgICBzdGFja05hbWU6IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJpbXBvcnQgd2l0aCBjb25maWd1cmF0aW9uIGRldGVjdGVkXCI7XG4gICAgICBzdGFja05hbWU6IHN0cmluZztcbiAgICAgIGNvbmZpZ3VyYXRpb246IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJpbXBvcnQgd2l0aCBjb25maWd1cmF0aW9uIGNvbnZlcnRlZFwiO1xuICAgICAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gICAgICBjb25maWd1cmF0aW9uOiBzdHJpbmc7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgU3RhY2tVc2VySW5wdXRVcGRhdGUgPVxuICB8IFN0YWNrQXBwcm92YWxVcGRhdGVcbiAgfCBTdGFja1NlbnRpbmVsT3ZlcnJpZGVVcGRhdGU7XG5cbmV4cG9ydCB0eXBlIFN0YWNrQXBwcm92YWxVcGRhdGUgPSB7XG4gIHR5cGU6IFwid2FpdGluZyBmb3Igc3RhY2sgYXBwcm92YWxcIjtcbiAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gIGFwcHJvdmU6ICgpID0+IHZvaWQ7XG4gIHJlamVjdDogKCkgPT4gdm9pZDtcbn07XG5leHBvcnQgdHlwZSBTdGFja1NlbnRpbmVsT3ZlcnJpZGVVcGRhdGUgPSB7XG4gIHR5cGU6IFwid2FpdGluZyBmb3Igc3RhY2sgc2VudGluZWwgb3ZlcnJpZGVcIjtcbiAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gIG92ZXJyaWRlOiAoKSA9PiB2b2lkO1xuICByZWplY3Q6ICgpID0+IHZvaWQ7XG59O1xuZXhwb3J0IHR5cGUgRXh0ZXJuYWxTdGFja0FwcHJvdmFsVXBkYXRlID0ge1xuICB0eXBlOiBcImV4dGVybmFsIHN0YWNrIGFwcHJvdmFsIHJlcGx5XCI7XG4gIHN0YWNrTmFtZTogc3RyaW5nO1xuICBhcHByb3ZlZDogYm9vbGVhbjsgLy8gZmFsc2UgPSByZWplY3RlZFxufTtcbmV4cG9ydCB0eXBlIEV4dGVybmFsU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlID0ge1xuICB0eXBlOiBcImV4dGVybmFsIHN0YWNrIHNlbnRpbmVsIG92ZXJyaWRlIHJlcGx5XCI7XG4gIHN0YWNrTmFtZTogc3RyaW5nO1xuICBvdmVycmlkZGVuOiBib29sZWFuOyAvLyBmYWxzZSA9IHJlamVjdGVkXG59O1xuXG5hc3luYyBmdW5jdGlvbiBnZXRUZXJyYWZvcm1DbGllbnQoXG4gIGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCxcbiAgc3RhY2s6IFN5bnRoZXNpemVkU3RhY2ssXG4gIGNyZWF0ZVRlcnJhZm9ybUxvZ0hhbmRsZXI6IChcbiAgICBwaGFzZTogc3RyaW5nLFxuICAgIGZpbHRlcj86IE91dHB1dEZpbHRlcltdLFxuICApID0+IChtZXNzYWdlOiBzdHJpbmcsIGlzRXJyb3I/OiBib29sZWFuKSA9PiB2b2lkLFxuKTogUHJvbWlzZTxUZXJyYWZvcm0+IHtcbiAgcmV0dXJuIG5ldyBUZXJyYWZvcm1DbGkoYWJvcnRTaWduYWwsIHN0YWNrLCBjcmVhdGVUZXJyYWZvcm1Mb2dIYW5kbGVyKTtcbn1cblxudHlwZSBDZGt0ZlN0YWNrT3B0aW9ucyA9IHtcbiAgc3RhY2s6IFN5bnRoZXNpemVkU3RhY2s7XG4gIG9uVXBkYXRlOiAoXG4gICAgdXBkYXRlOlxuICAgICAgfCBTdGFja1VwZGF0ZVxuICAgICAgfCBTdGFja0FwcHJvdmFsVXBkYXRlXG4gICAgICB8IEV4dGVybmFsU3RhY2tBcHByb3ZhbFVwZGF0ZVxuICAgICAgfCBTdGFja1NlbnRpbmVsT3ZlcnJpZGVVcGRhdGVcbiAgICAgIHwgRXh0ZXJuYWxTdGFja1NlbnRpbmVsT3ZlcnJpZGVVcGRhdGUsXG4gICkgPT4gdm9pZDtcbiAgb25Mb2c/OiAobG9nOiB7IG1lc3NhZ2U6IHN0cmluZzsgaXNFcnJvcjogYm9vbGVhbiB9KSA9PiB2b2lkO1xuICBhdXRvQXBwcm92ZT86IGJvb2xlYW47XG4gIG1pZ3JhdGVTdGF0ZT86IGJvb2xlYW47XG4gIGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbDtcbn07XG5cbnR5cGUgQ2RrdGZTdGFja1N0YXRlcyA9XG4gIHwgU3RhY2tVcGRhdGVbXCJ0eXBlXCJdXG4gIHwgU3RhY2tBcHByb3ZhbFVwZGF0ZVtcInR5cGVcIl1cbiAgfCBTdGFja1NlbnRpbmVsT3ZlcnJpZGVVcGRhdGVbXCJ0eXBlXCJdXG4gIHwgRXh0ZXJuYWxTdGFja0FwcHJvdmFsVXBkYXRlW1widHlwZVwiXVxuICB8IEV4dGVybmFsU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlW1widHlwZVwiXVxuICB8IFwiaWRsZVwiXG4gIHwgXCJkb25lXCI7XG5cbmV4cG9ydCBjbGFzcyBDZGt0ZlN0YWNrIHtcbiAgcHVibGljIHN0YWNrOiBTeW50aGVzaXplZFN0YWNrO1xuICBwdWJsaWMgb3V0cHV0cz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHB1YmxpYyBvdXRwdXRzQnlDb25zdHJ1Y3RJZD86IE5lc3RlZFRlcnJhZm9ybU91dHB1dHM7XG4gIHB1YmxpYyBzdG9wcGVkID0gZmFsc2U7XG4gIHB1YmxpYyBjdXJyZW50V29ya1Byb21pc2U6IFByb21pc2U8dm9pZD4gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSBjdXJyZW50U3RhdGU6IENka3RmU3RhY2tTdGF0ZXMgPSBcImlkbGVcIjtcbiAgcHVibGljIGVycm9yPzogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHBhcnNlZENvbnRlbnQ6IFRlcnJhZm9ybVN0YWNrO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvcHRpb25zOiBDZGt0ZlN0YWNrT3B0aW9ucykge1xuICAgIHRoaXMuc3RhY2sgPSBvcHRpb25zLnN0YWNrO1xuICAgIHRoaXMucGFyc2VkQ29udGVudCA9IHRlcnJhZm9ybUpzb25TY2hlbWEucGFyc2UoXG4gICAgICBKU09OLnBhcnNlKHRoaXMuc3RhY2suY29udGVudCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNQZW5kaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gXCJpZGxlXCIgJiYgIXRoaXMuc3RvcHBlZDtcbiAgfVxuICBwdWJsaWMgZ2V0IGlzRG9uZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jdXJyZW50U3RhdGUgPT09IFwiZG9uZVwiIHx8XG4gICAgICB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gXCJlcnJvcmVkXCIgfHxcbiAgICAgIHRoaXMuc3RvcHBlZFxuICAgICk7XG4gIH1cbiAgcHVibGljIGdldCBpc1J1bm5pbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmlzUGVuZGluZyAmJiAhdGhpcy5pc0RvbmU7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN0YXRlKFxuICAgIHVwZGF0ZTpcbiAgICAgIHwgU3RhY2tVcGRhdGVcbiAgICAgIHwgU3RhY2tBcHByb3ZhbFVwZGF0ZVxuICAgICAgfCBTdGFja1NlbnRpbmVsT3ZlcnJpZGVVcGRhdGVcbiAgICAgIHwgRXh0ZXJuYWxTdGFja0FwcHJvdmFsVXBkYXRlXG4gICAgICB8IEV4dGVybmFsU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlXG4gICAgICB8IHsgdHlwZTogXCJpZGxlXCIgfVxuICAgICAgfCB7IHR5cGU6IFwiZG9uZVwiIH0sXG4gICkge1xuICAgIGxvZ2dlci5kZWJ1ZyhgWyR7dGhpcy5zdGFjay5uYW1lfV06ICR7dXBkYXRlLnR5cGV9YCk7XG4gICAgKHRoaXMuY3VycmVudFN0YXRlIGFzIENka3RmU3RhY2tTdGF0ZXMpID0gdXBkYXRlLnR5cGU7XG4gICAgc3dpdGNoICh1cGRhdGUudHlwZSkge1xuICAgICAgY2FzZSBcImlkbGVcIjpcbiAgICAgIGNhc2UgXCJkb25lXCI6XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFwiZXJyb3JlZFwiOlxuICAgICAgICB0aGlzLmVycm9yID0gdXBkYXRlLmVycm9yO1xuICAgICAgICB0aGlzLm9wdGlvbnMub25VcGRhdGUodXBkYXRlKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgXCJvdXRwdXRzIGZldGNoZWRcIjpcbiAgICAgIGNhc2UgXCJkZXBsb3llZFwiOlxuICAgICAgICBsb2dnZXIuZGVidWcoYE91dHB1dHM6ICR7SlNPTi5zdHJpbmdpZnkodXBkYXRlLm91dHB1dHMpfWApO1xuICAgICAgICBsb2dnZXIuZGVidWcoXG4gICAgICAgICAgYE91dHB1dHNCeUNvbnN0cnVjdElkOiAke0pTT04uc3RyaW5naWZ5KHVwZGF0ZS5vdXRwdXRzQnlDb25zdHJ1Y3RJZCl9YCxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5vdXRwdXRzID0gdXBkYXRlLm91dHB1dHM7XG4gICAgICAgIHRoaXMub3V0cHV0c0J5Q29uc3RydWN0SWQgPSB1cGRhdGUub3V0cHV0c0J5Q29uc3RydWN0SWQ7XG4gICAgICAgIHRoaXMub3B0aW9ucy5vblVwZGF0ZSh1cGRhdGUpO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5vcHRpb25zLm9uVXBkYXRlKHVwZGF0ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVGVycmFmb3JtTG9nSGFuZGxlcihcbiAgICBwaGFzZTogc3RyaW5nLFxuICAgIGZpbHRlcnM/OiBPdXRwdXRGaWx0ZXJbXSxcbiAgKTogKG1lc3NhZ2U6IHN0cmluZywgaXNFcnJvcj86IGJvb2xlYW4pID0+IHZvaWQge1xuICAgIGxvZ2dlci5kZWJ1ZyhcIkNyZWF0aW5nIHRlcnJhZm9ybSBsb2cgaGFuZGxlclwiLCBwaGFzZSk7XG5cbiAgICBjb25zdCBvbkxvZyA9IHRoaXMub3B0aW9ucy5vbkxvZztcbiAgICByZXR1cm4gKG1zZzogc3RyaW5nLCBpc0Vycm9yID0gZmFsc2UpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBleHRyYWN0SnNvbkxvZ0lmUHJlc2VudChtc2cpO1xuICAgICAgbG9nZ2VyLmRlYnVnKGBbJHt0aGlzLm9wdGlvbnMuc3RhY2submFtZX1dKCR7cGhhc2V9KTogJHttc2d9YCk7XG5cbiAgICAgIGNvbnN0IGZpbHRlclRvQXBwbHkgPSBmaWx0ZXJzPy5maW5kKChmaWx0ZXIpID0+XG4gICAgICAgIGZpbHRlci5jb25kaXRpb24obWVzc2FnZSksXG4gICAgICApO1xuICAgICAgY29uc3QgZmlsdGVyZWRNZXNzYWdlID0gZmlsdGVyVG9BcHBseVxuICAgICAgICA/IGZpbHRlclRvQXBwbHkudHJhbnNmb3JtKG1lc3NhZ2UpXG4gICAgICAgIDogbWVzc2FnZTtcblxuICAgICAgaWYgKGZpbHRlcmVkTWVzc2FnZSkge1xuICAgICAgICBsb2dnZXIuZGVidWcoXG4gICAgICAgICAgYEZpbHRlciAke2ZpbHRlclRvQXBwbHl9IGFwcGxpZWQgb24gbGluZSAnJHttZXNzYWdlfScgd2l0aCByZXN1bHQgJyR7ZmlsdGVyZWRNZXNzYWdlfSdgLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAob25Mb2cpIHtcbiAgICAgICAgb25Mb2coeyBtZXNzYWdlOiBmaWx0ZXJlZE1lc3NhZ2UsIGlzRXJyb3IgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdGVycmFmb3JtQ2xpZW50KCkge1xuICAgIHJldHVybiBhd2FpdCBnZXRUZXJyYWZvcm1DbGllbnQoXG4gICAgICB0aGlzLm9wdGlvbnMuYWJvcnRTaWduYWwsXG4gICAgICB0aGlzLm9wdGlvbnMuc3RhY2ssXG4gICAgICB0aGlzLmNyZWF0ZVRlcnJhZm9ybUxvZ0hhbmRsZXIuYmluZCh0aGlzKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdGhlIHByb2plY3Qgb3B0cyBpbiB2aWEgYHZhbGlkYXRlSW5zdGFsbGVkQmluYXJ5OiB0cnVlYCBpblxuICAgKiBjZGt0Zi5qc29uLCB2ZXJpZmllcyB0aGUgaW5zdGFsbGVkIFRlcnJhZm9ybS1jb21wYXRpYmxlIGJpbmFyeSBhZ2FpbnN0XG4gICAqIHRoZSBwcm9qZWN0J3MgZGVjbGFyZWQgYHRhcmdldFZlcnNpb25zYCBiZWZvcmUgZXhlY3V0aW5nIGl0LlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyB2YWxpZGF0ZUluc3RhbGxlZEJpbmFyeUlmQ29uZmlndXJlZCh0ZXJyYWZvcm06IFRlcnJhZm9ybSkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHJlYWRDb25maWdTeW5jKCk7XG4gICAgaWYgKCFjb25maWcudmFsaWRhdGVJbnN0YWxsZWRCaW5hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9ibGVtcyA9IGNoZWNrSW5zdGFsbGVkQmluYXJ5QWdhaW5zdFRhcmdldHMoXG4gICAgICBhd2FpdCB0ZXJyYWZvcm0udmVyc2lvbigpLFxuICAgICAgY29uZmlnLnRhcmdldFZlcnNpb25zLFxuICAgICAgdGVycmFmb3JtQmluYXJ5TmFtZSxcbiAgICApO1xuICAgIGlmIChwcm9ibGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBFcnJvcnMuVXNhZ2UocHJvYmxlbXMuam9pbihcIlxcblwiKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGluaXRhbGl6ZVRlcnJhZm9ybShcbiAgICBub0NvbG9yPzogYm9vbGVhbixcbiAgICBza2lwUHJvdmlkZXJMb2NrPzogYm9vbGVhbixcbiAgICBtaWdyYXRlU3RhdGU/OiBib29sZWFuLFxuICApIHtcbiAgICBjb25zdCB0ZXJyYWZvcm0gPSBhd2FpdCB0aGlzLnRlcnJhZm9ybUNsaWVudCgpO1xuICAgIGF3YWl0IHRoaXMudmFsaWRhdGVJbnN0YWxsZWRCaW5hcnlJZkNvbmZpZ3VyZWQodGVycmFmb3JtKTtcbiAgICBjb25zdCBuZWVkc0xvY2tmaWxlVXBkYXRlID0gc2tpcFByb3ZpZGVyTG9ja1xuICAgICAgPyBmYWxzZVxuICAgICAgOiBhd2FpdCB0aGlzLmNoZWNrTmVlZHNMb2NrZmlsZVVwZGF0ZSgpO1xuICAgIGNvbnN0IG5lZWRzVXBncmFkZSA9IGF3YWl0IHRoaXMuY2hlY2tOZWVkc1VwZ3JhZGUoKTtcbiAgICBhd2FpdCB0ZXJyYWZvcm0uaW5pdCh7XG4gICAgICBuZWVkc1VwZ3JhZGUsXG4gICAgICBub0NvbG9yOiBub0NvbG9yID8/IGZhbHNlLFxuICAgICAgbmVlZHNMb2NrZmlsZVVwZGF0ZSxcbiAgICAgIG1pZ3JhdGVTdGF0ZTogbWlncmF0ZVN0YXRlID8/IGZhbHNlLFxuICAgIH0pO1xuICAgIHJldHVybiB0ZXJyYWZvcm07XG4gIH1cblxuICBwcml2YXRlIHJlcXVpcmVkUHJvdmlkZXJzKCkge1xuICAgIC8vIFJlYWQgcmVxdWlyZWQgcHJvdmlkZXJzIGZyb20gdGhlIHN0YWNrIG91dHB1dFxuICAgIGNvbnN0IHJlcXVpcmVkUHJvdmlkZXJzID0gdGhpcy5wYXJzZWRDb250ZW50LnRlcnJhZm9ybT8ucmVxdWlyZWRfcHJvdmlkZXJzO1xuXG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMocmVxdWlyZWRQcm92aWRlcnMgfHwge30pLnJlZHVjZShcbiAgICAgIChhY2MsIG9iaikgPT4ge1xuICAgICAgICBjb25zdCBjb25zdHJhaW50ID0gbmV3IFByb3ZpZGVyQ29uc3RyYWludChvYmouc291cmNlLCBvYmoudmVyc2lvbik7XG4gICAgICAgIGFjY1tjb25zdHJhaW50LnNvdXJjZV0gPSBjb25zdHJhaW50O1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHt9IGFzIFJlY29yZDxzdHJpbmcsIFByb3ZpZGVyQ29uc3RyYWludD4sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2hlY2tOZWVkc0xvY2tmaWxlVXBkYXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLm9wdGlvbnMubWlncmF0ZVN0YXRlKSB7XG4gICAgICAvLyBJZiB3ZSdyZSBtaWdyYXRpbmcgc3RhdGUsIHdlIG5lZWQgdG8gaW5pdFxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IGxvY2sgPSBuZXcgVGVycmFmb3JtUHJvdmlkZXJMb2NrKHRoaXMuc3RhY2sud29ya2luZ0RpcmVjdG9yeSk7XG4gICAgY29uc3QgbG9ja0ZpbGVFeGlzdHMgPSBhd2FpdCBsb2NrLmhhc1Byb3ZpZGVyTG9ja0ZpbGUoKTtcblxuICAgIGlmICghbG9ja0ZpbGVFeGlzdHMpIHtcbiAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYSBsb2NrIGZpbGUsIHRoaXMgaXMgcHJvYmFibHkgdGhlIGZpcnN0IGluaXRcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVpcmVkUHJvdmlkZXJzID0gdGhpcy5yZXF1aXJlZFByb3ZpZGVycygpO1xuXG4gICAgZm9yIChjb25zdCBwcm92aWRlciBvZiBPYmplY3QudmFsdWVzKHJlcXVpcmVkUHJvdmlkZXJzKSkge1xuICAgICAgY29uc3QgaGFzUHJvdmlkZXIgPSBhd2FpdCBsb2NrLmhhc01hdGNoaW5nUHJvdmlkZXIocHJvdmlkZXIpO1xuICAgICAgaWYgKCFoYXNQcm92aWRlcikge1xuICAgICAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGEgcHJvdmlkZXIgb3IgdmVyc2lvbiBkb2Vzbid0IG1hdGNoLCB3ZSBuZWVkIHRvIGluaXRcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjaGVja05lZWRzVXBncmFkZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBsb2NrID0gbmV3IFRlcnJhZm9ybVByb3ZpZGVyTG9jayh0aGlzLnN0YWNrLndvcmtpbmdEaXJlY3RvcnkpO1xuICAgIGNvbnN0IGFsbFByb3ZpZGVycyA9IHRoaXMucmVxdWlyZWRQcm92aWRlcnMoKTtcbiAgICBjb25zdCBsb2NrZWRQcm92aWRlcnMgPSBPYmplY3QudmFsdWVzKGF3YWl0IGxvY2sucHJvdmlkZXJzKCkpO1xuXG4gICAgLy8gQ2hlY2sgaWYgYW55IHByb3ZpZGVyIGNvbnRhaW5lZCBpbiBgcHJvdmlkZXJzYCB2aW9sYXRlcyBjb25zdHJhaW50cyBpbiBgbG9ja2VkUHJvdmlkZXJzYFxuICAgIC8vIFVwZ3JhZGUgaWYgc29tZSBwcm92aWRlciBjb25zdHJhaW50IG5vdCBtZXRcbiAgICAvLyBJZiBhIHByb3ZpZGVyIHdhc24ndCBwcmVzZXQgaW4gbG9ja2VkUHJvdmlkZXJzLCB0aGF0J3MgZmluZTsgaXQgd2lsbCBqdXN0IGdldCBhZGRlZFxuICAgIHJldHVybiBsb2NrZWRQcm92aWRlcnMuc29tZSgobG9ja2VkUHJvdmlkZXIpID0+IHtcbiAgICAgIGNvbnN0IGxvY2tlZENvbnN0cmFpbnQgPSBsb2NrZWRQcm92aWRlci5jb25zdHJhaW50cztcbiAgICAgIGlmICghbG9ja2VkQ29uc3RyYWludCkge1xuICAgICAgICAvLyBQcm92aWRlciBsb2NrIGRvZXNuJ3QgaGF2ZSBhIGNvbnN0cmFpbnQgc3BlY2lmaWVkLCBzbyB3ZSBjYW4ndCBjaGVjay5cbiAgICAgICAgLy8gVGhpcyBzaG91bGRuJ3QgaGFwcGVuXG4gICAgICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBgUHJvdmlkZXIgbG9jayBkb2Vzbid0IGhhdmUgYSBjb25zdHJhaW50IGZvciAke2xvY2tlZFByb3ZpZGVyLm5hbWV9YCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwcm92aWRlciA9IGFsbFByb3ZpZGVyc1tsb2NrZWRDb25zdHJhaW50LnNvdXJjZV07XG4gICAgICBpZiAoIXByb3ZpZGVyKSB7XG4gICAgICAgIC8vIGVsc2Ugbm8gbG9uZ2VyIHVzaW5nIHRoaXMgcHJvdmlkZXIsIHNvIHdvbid0IGNhdXNlIHByb2JsZW1zXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICFsb2NrZWRDb25zdHJhaW50Lm1hdGNoZXNWZXJzaW9uKHByb3ZpZGVyLnZlcnNpb24gPz8gXCI+MFwiKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuKGNiOiAoKSA9PiBQcm9taXNlPHZvaWQ+KSB7XG4gICAgaWYgKHRoaXMuc3RvcHBlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB0aGlzLmN1cnJlbnRXb3JrUHJvbWlzZSA9IGNiKCk7XG4gICAgICBhd2FpdCB0aGlzLmN1cnJlbnRXb3JrUHJvbWlzZTtcbiAgICAgIHRoaXMudXBkYXRlU3RhdGUoeyB0eXBlOiBcImRvbmVcIiB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBsb2dnZXIudHJhY2UoXCJFcnJvciBpbiBjdXJyZW50V29ya1Byb21pc2VcIiwgZSk7XG4gICAgICB0aGlzLmN1cnJlbnRXb3JrUHJvbWlzZSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICB0eXBlOiBcImVycm9yZWRcIixcbiAgICAgICAgc3RhY2tOYW1lOiB0aGlzLnN0YWNrLm5hbWUsXG4gICAgICAgIGVycm9yOiBTdHJpbmcoZSksXG4gICAgICB9KTtcbiAgICAgIHRocm93IGU7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuY3VycmVudFdvcmtQcm9taXNlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkaWZmKHtcbiAgICByZWZyZXNoT25seSxcbiAgICB0ZXJyYWZvcm1QYXJhbGxlbGlzbSxcbiAgICB2YXJzLFxuICAgIHZhckZpbGVzLFxuICAgIG5vQ29sb3IsXG4gIH06IHtcbiAgICByZWZyZXNoT25seT86IGJvb2xlYW47XG4gICAgdGVycmFmb3JtUGFyYWxsZWxpc20/OiBudW1iZXI7XG4gICAgdmFycz86IHN0cmluZ1tdO1xuICAgIHZhckZpbGVzPzogc3RyaW5nW107XG4gICAgbm9Db2xvcj86IGJvb2xlYW47XG4gIH0pIHtcbiAgICBhd2FpdCB0aGlzLnJ1bihhc3luYyAoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVN0YXRlKHsgdHlwZTogXCJwbGFubmluZ1wiLCBzdGFja05hbWU6IHRoaXMuc3RhY2submFtZSB9KTtcbiAgICAgIGNvbnN0IHRlcnJhZm9ybSA9IGF3YWl0IHRoaXMudGVycmFmb3JtQ2xpZW50KCk7XG5cbiAgICAgIGF3YWl0IHRlcnJhZm9ybS5wbGFuKHtcbiAgICAgICAgZGVzdHJveTogZmFsc2UsXG4gICAgICAgIHJlZnJlc2hPbmx5LFxuICAgICAgICBwYXJhbGxlbGlzbTogdGVycmFmb3JtUGFyYWxsZWxpc20sXG4gICAgICAgIHZhcnMsXG4gICAgICAgIHZhckZpbGVzLFxuICAgICAgICBub0NvbG9yLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnVwZGF0ZVN0YXRlKHsgdHlwZTogXCJwbGFubmVkXCIsIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lIH0pO1xuXG4gICAgICAvLyBGaW5kIGdlbmVyYXRlZCBmaWxlXG4gICAgICBjb25zdCBjb25maWdGaWxlID0gYXdhaXQgdHJ5UmVhZEdlbmVyYXRlZENvbmZpZ3VyYXRpb25GaWxlKFxuICAgICAgICB0aGlzLnN0YWNrLndvcmtpbmdEaXJlY3RvcnksXG4gICAgICApO1xuICAgICAgaWYgKGNvbmZpZ0ZpbGUpIHtcbiAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICAgICAgdHlwZTogXCJpbXBvcnQgd2l0aCBjb25maWd1cmF0aW9uIGRldGVjdGVkXCIsXG4gICAgICAgICAgc3RhY2tOYW1lOiB0aGlzLnN0YWNrLm5hbWUsXG4gICAgICAgICAgY29uZmlndXJhdGlvbjogY29uZmlnRmlsZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgY29udmVydGVkQ29kZSA9IGF3YWl0IGNvbnZlcnRDb25maWd1cmF0aW9uRmlsZShcbiAgICAgICAgICBjb25maWdGaWxlLFxuICAgICAgICAgIHRoaXMuc3RhY2sud29ya2luZ0RpcmVjdG9yeSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICAgICAgdHlwZTogXCJpbXBvcnQgd2l0aCBjb25maWd1cmF0aW9uIGNvbnZlcnRlZFwiLFxuICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgIGNvbmZpZ3VyYXRpb246IGNvbnZlcnRlZENvZGUsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBvbkxvZyA9IHRoaXMub3B0aW9ucy5vbkxvZztcbiAgICAgICAgaWYgKG9uTG9nKSB7XG4gICAgICAgICAgb25Mb2coe1xuICAgICAgICAgICAgbWVzc2FnZTogYEltcG9ydCB3aXRob3V0IGNvbmZpZ3VyYXRpb24gZGV0ZWN0ZWQuIFRlcnJhZm9ybSBoYXMgY3JlYXRlZCBjb25maWd1cmF0aW9uIGZvciBpdDpcbiR7Y29uZmlnRmlsZX1cblxuQ0RLVE4gaGFzIHRyYW5zbGF0ZWQgdGhlIGNvZGUgdG8gdGhlIGZvbGxvd2luZzpcblxuJHtjb252ZXJ0ZWRDb2RlfVxuXG5QbGVhc2UgcmV2aWV3IHRoZSBjb2RlIGFuZCBtYWtlIGFueSBuZWNlc3NhcnkgY2hhbmdlcyBiZWZvcmUgYWRkaW5nIGl0IHRvIHlvdXIgY29kZWJhc2UuXG5NYWtlIHN1cmUgdG8gb25seSBjb3B5IHRoZSBjb2RlIHdpdGhpbiB0aGUgY29uc3RydWN0J3MgY29uc3RydWN0b3IuXG5cbk5PVEU6IFlvdXIgcmVzb3VyY2UgaGFzIG5vdCB5ZXQgYmVjb21lIG1hbmFnZWQgYnkgQ0RLVE4uIFxuVG8gZmluaXNoIHRoZSBpbXBvcnQgcmVtb3ZlIHRoZSBjYWxsIFwiZ2VuZXJhdGVDb25maWdGb3JJbXBvcnRcIiwgYWRkIHRoZSBhYm92ZSBjb2RlIHdpdGhpbiB0aGUgY29uc3RydWN0J3MgY29uc3RydWN0b3IsIGFuZCB0aGVuIGFwcGVuZCB0aGUgY2FsbCBpbXBvcnRGcm9tKDxyZXNvdXJjZV9pZF90b19pbXBvcnRfZnJvbT4pIHRvIHRoZSBnZW5lcmF0ZWQgY29kZTogXG5cbm5ldyBTb21lUmVzb3VyY2UoLi4uKS5pbXBvcnRGcm9tKFwic29tZV9pZFwiKVxuYCxcbiAgICAgICAgICAgIGlzRXJyb3I6IGZhbHNlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHRyeVJlbW92ZUdlbmVyYXRlZENvbmZpZ3VyYXRpb25GaWxlKHRoaXMuc3RhY2sud29ya2luZ0RpcmVjdG9yeSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGVwbG95KG9wdHM6IHtcbiAgICByZWZyZXNoT25seT86IGJvb2xlYW47XG4gICAgdGVycmFmb3JtUGFyYWxsZWxpc20/OiBudW1iZXI7XG4gICAgbm9Db2xvcj86IGJvb2xlYW47XG4gICAgdmFycz86IHN0cmluZ1tdO1xuICAgIHZhckZpbGVzPzogc3RyaW5nW107XG4gIH0pIHtcbiAgICBjb25zdCB7IHJlZnJlc2hPbmx5LCB0ZXJyYWZvcm1QYXJhbGxlbGlzbSwgbm9Db2xvciwgdmFycywgdmFyRmlsZXMgfSA9IG9wdHM7XG4gICAgYXdhaXQgdGhpcy5ydW4oYXN5bmMgKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7IHR5cGU6IFwicGxhbm5pbmdcIiwgc3RhY2tOYW1lOiB0aGlzLnN0YWNrLm5hbWUgfSk7XG4gICAgICBjb25zdCB0ZXJyYWZvcm0gPSBhd2FpdCB0aGlzLnRlcnJhZm9ybUNsaWVudCgpO1xuXG4gICAgICBjb25zdCB7IGNhbmNlbGxlZCB9ID0gYXdhaXQgdGVycmFmb3JtLmRlcGxveShcbiAgICAgICAge1xuICAgICAgICAgIGF1dG9BcHByb3ZlOiB0aGlzLm9wdGlvbnMuYXV0b0FwcHJvdmUsXG4gICAgICAgICAgcmVmcmVzaE9ubHksXG4gICAgICAgICAgcGFyYWxsZWxpc206IHRlcnJhZm9ybVBhcmFsbGVsaXNtLFxuICAgICAgICAgIHZhcnMsXG4gICAgICAgICAgdmFyRmlsZXMsXG4gICAgICAgICAgbm9Db2xvcixcbiAgICAgICAgfSxcbiAgICAgICAgKHN0YXRlKSA9PiB7XG4gICAgICAgICAgLy8gc3RhdGUgdXBkYXRlcyB3aGlsZSBhcHBseSBydW5zIHRoYXQgYWZmZWN0IHRoZSBVSVxuICAgICAgICAgIGlmIChzdGF0ZS50eXBlID09PSBcInJ1bm5pbmdcIiAmJiAhc3RhdGUuY2FuY2VsbGVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgICAgICAgICAgdHlwZTogXCJkZXBsb3lpbmdcIixcbiAgICAgICAgICAgICAgc3RhY2tOYW1lOiB0aGlzLnN0YWNrLm5hbWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHN0YXRlLnR5cGUgPT09IFwid2FpdGluZyBmb3IgYXBwcm92YWxcIikge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICAgICAgICAgIHR5cGU6IFwid2FpdGluZyBmb3Igc3RhY2sgYXBwcm92YWxcIixcbiAgICAgICAgICAgICAgc3RhY2tOYW1lOiB0aGlzLnN0YWNrLm5hbWUsXG4gICAgICAgICAgICAgIGFwcHJvdmU6IHN0YXRlLmFwcHJvdmUsXG4gICAgICAgICAgICAgIHJlamVjdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN0YXRlLnJlamVjdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgICAgICAgICAgdHlwZTogXCJkaXNtaXNzZWRcIixcbiAgICAgICAgICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS50eXBlID09PSBcIndhaXRpbmcgZm9yIHNlbnRpbmVsIG92ZXJyaWRlXCIpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgICAgICB0eXBlOiBcIndhaXRpbmcgZm9yIHN0YWNrIHNlbnRpbmVsIG92ZXJyaWRlXCIsXG4gICAgICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgICAgICBvdmVycmlkZTogc3RhdGUub3ZlcnJpZGUsXG4gICAgICAgICAgICAgIHJlamVjdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN0YXRlLnJlamVjdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgICAgICAgICAgdHlwZTogXCJkaXNtaXNzZWRcIixcbiAgICAgICAgICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS50eXBlID09PSBcImV4dGVybmFsIGFwcHJvdmFsIHJlcGx5XCIpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgICAgICB0eXBlOiBcImV4dGVybmFsIHN0YWNrIGFwcHJvdmFsIHJlcGx5XCIsXG4gICAgICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgICAgICBhcHByb3ZlZDogc3RhdGUuYXBwcm92ZWQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHN0YXRlLnR5cGUgPT09IFwiZXh0ZXJuYWwgc2VudGluZWwgb3ZlcnJpZGUgcmVwbHlcIikge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICAgICAgICAgIHR5cGU6IFwiZXh0ZXJuYWwgc3RhY2sgc2VudGluZWwgb3ZlcnJpZGUgcmVwbHlcIixcbiAgICAgICAgICAgICAgc3RhY2tOYW1lOiB0aGlzLnN0YWNrLm5hbWUsXG4gICAgICAgICAgICAgIG92ZXJyaWRkZW46IHN0YXRlLm92ZXJyaWRkZW4sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICBjb25zdCBvdXRwdXRzID0gYXdhaXQgdGVycmFmb3JtLm91dHB1dCgpO1xuICAgICAgICBjb25zdCBvdXRwdXRzQnlDb25zdHJ1Y3RJZCA9IGdldENvbnN0cnVjdElkc0Zvck91dHB1dHMoXG4gICAgICAgICAgSlNPTi5wYXJzZSh0aGlzLnN0YWNrLmNvbnRlbnQpLFxuICAgICAgICAgIG91dHB1dHMsXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICAgICAgdHlwZTogXCJkZXBsb3llZFwiLFxuICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgIG91dHB1dHMsXG4gICAgICAgICAgb3V0cHV0c0J5Q29uc3RydWN0SWQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRlc3Ryb3kob3B0czoge1xuICAgIHRlcnJhZm9ybVBhcmFsbGVsaXNtPzogbnVtYmVyO1xuICAgIHZhcnM/OiBzdHJpbmdbXTtcbiAgICB2YXJGaWxlcz86IHN0cmluZ1tdO1xuICAgIG5vQ29sb3I/OiBib29sZWFuO1xuICB9KSB7XG4gICAgY29uc3QgeyB0ZXJyYWZvcm1QYXJhbGxlbGlzbSwgbm9Db2xvciwgdmFycywgdmFyRmlsZXMgfSA9IG9wdHM7XG4gICAgYXdhaXQgdGhpcy5ydW4oYXN5bmMgKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7IHR5cGU6IFwicGxhbm5pbmdcIiwgc3RhY2tOYW1lOiB0aGlzLnN0YWNrLm5hbWUgfSk7XG4gICAgICBjb25zdCB0ZXJyYWZvcm0gPSBhd2FpdCB0aGlzLnRlcnJhZm9ybUNsaWVudCgpO1xuICAgICAgY29uc3QgeyBjYW5jZWxsZWQgfSA9IGF3YWl0IHRlcnJhZm9ybS5kZXN0cm95KFxuICAgICAgICB7XG4gICAgICAgICAgYXV0b0FwcHJvdmU6IHRoaXMub3B0aW9ucy5hdXRvQXBwcm92ZSxcbiAgICAgICAgICBwYXJhbGxlbGlzbTogdGVycmFmb3JtUGFyYWxsZWxpc20sXG4gICAgICAgICAgdmFycyxcbiAgICAgICAgICB2YXJGaWxlcyxcbiAgICAgICAgICBub0NvbG9yLFxuICAgICAgICB9LFxuICAgICAgICAoc3RhdGUpID0+IHtcbiAgICAgICAgICAvLyBzdGF0ZSB1cGRhdGVzIHdoaWxlIGFwcGx5IHJ1bnMgdGhhdCBhZmZlY3QgdGhlIFVJXG4gICAgICAgICAgaWYgKHN0YXRlLnR5cGUgPT09IFwicnVubmluZ1wiICYmICFzdGF0ZS5jYW5jZWxsZWQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgICAgICB0eXBlOiBcImRlc3Ryb3lpbmdcIixcbiAgICAgICAgICAgICAgc3RhY2tOYW1lOiB0aGlzLnN0YWNrLm5hbWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHN0YXRlLnR5cGUgPT09IFwid2FpdGluZyBmb3IgYXBwcm92YWxcIikge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICAgICAgICAgIHR5cGU6IFwid2FpdGluZyBmb3Igc3RhY2sgYXBwcm92YWxcIixcbiAgICAgICAgICAgICAgc3RhY2tOYW1lOiB0aGlzLnN0YWNrLm5hbWUsXG4gICAgICAgICAgICAgIGFwcHJvdmU6IHN0YXRlLmFwcHJvdmUsXG4gICAgICAgICAgICAgIHJlamVjdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN0YXRlLnJlamVjdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgICAgICAgICAgdHlwZTogXCJkaXNtaXNzZWRcIixcbiAgICAgICAgICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS50eXBlID09PSBcIndhaXRpbmcgZm9yIHNlbnRpbmVsIG92ZXJyaWRlXCIpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgICAgICB0eXBlOiBcIndhaXRpbmcgZm9yIHN0YWNrIHNlbnRpbmVsIG92ZXJyaWRlXCIsXG4gICAgICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgICAgICBvdmVycmlkZTogc3RhdGUub3ZlcnJpZGUsXG4gICAgICAgICAgICAgIHJlamVjdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN0YXRlLnJlamVjdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgICAgICAgICAgdHlwZTogXCJkaXNtaXNzZWRcIixcbiAgICAgICAgICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS50eXBlID09PSBcImV4dGVybmFsIGFwcHJvdmFsIHJlcGx5XCIpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgICAgICB0eXBlOiBcImV4dGVybmFsIHN0YWNrIGFwcHJvdmFsIHJlcGx5XCIsXG4gICAgICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgICAgICBhcHByb3ZlZDogc3RhdGUuYXBwcm92ZWQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHN0YXRlLnR5cGUgPT09IFwiZXh0ZXJuYWwgc2VudGluZWwgb3ZlcnJpZGUgcmVwbHlcIikge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICAgICAgICAgIHR5cGU6IFwiZXh0ZXJuYWwgc3RhY2sgc2VudGluZWwgb3ZlcnJpZGUgcmVwbHlcIixcbiAgICAgICAgICAgICAgc3RhY2tOYW1lOiB0aGlzLnN0YWNrLm5hbWUsXG4gICAgICAgICAgICAgIG92ZXJyaWRkZW46IHN0YXRlLm92ZXJyaWRkZW4sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICBpZiAoIWNhbmNlbGxlZClcbiAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICAgICAgdHlwZTogXCJkZXN0cm95ZWRcIixcbiAgICAgICAgICBzdGFja05hbWU6IHRoaXMuc3RhY2submFtZSxcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZmV0Y2hPdXRwdXRzKCkge1xuICAgIGF3YWl0IHRoaXMucnVuKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHRlcnJhZm9ybSA9IGF3YWl0IHRoaXMudGVycmFmb3JtQ2xpZW50KCk7XG5cbiAgICAgIGNvbnN0IG91dHB1dHMgPSBhd2FpdCB0ZXJyYWZvcm0ub3V0cHV0KCk7XG4gICAgICBjb25zdCBvdXRwdXRzQnlDb25zdHJ1Y3RJZCA9IGdldENvbnN0cnVjdElkc0Zvck91dHB1dHMoXG4gICAgICAgIEpTT04ucGFyc2UodGhpcy5zdGFjay5jb250ZW50KSxcbiAgICAgICAgb3V0cHV0cyxcbiAgICAgICk7XG4gICAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgICAgdHlwZTogXCJvdXRwdXRzIGZldGNoZWRcIixcbiAgICAgICAgc3RhY2tOYW1lOiB0aGlzLnN0YWNrLm5hbWUsXG4gICAgICAgIG91dHB1dHMsXG4gICAgICAgIG91dHB1dHNCeUNvbnN0cnVjdElkLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5vdXRwdXRzO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHN0b3AoKSB7XG4gICAgdGhpcy5zdG9wcGVkID0gdHJ1ZTtcbiAgfVxufVxuIl19
|
|
403
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrdGYtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2Nka3RmLXN0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFDQUE2RTtBQUM3RSw0Q0FLd0I7QUFDeEIscUVBQThFO0FBQzlFLDREQUFrRTtBQUNsRSwwREFLZ0M7QUFDaEMsMEVBQXVFO0FBQ3ZFLHFEQUF1RTtBQUN2RSx1RUFBa0U7QUFDbEUsdUNBQXFEO0FBMkZyRCxLQUFLLFVBQVUsa0JBQWtCLENBQy9CLFdBQXdCLEVBQ3hCLEtBQXVCLEVBQ3ZCLHlCQUdpRDtJQUVqRCxPQUFPLElBQUksNEJBQVksQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLHlCQUF5QixDQUFDLENBQUM7QUFDekUsQ0FBQztBQTJCRCxNQUFhLFVBQVU7SUFVckIsWUFBbUIsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFOdEMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVQLGlCQUFZLEdBQXFCLE1BQU0sQ0FBQztRQUt0RCxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxvQ0FBbUIsQ0FBQyxLQUFLLENBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDL0IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkQsQ0FBQztJQUNELElBQVcsTUFBTTtRQUNmLE9BQU8sQ0FDTCxJQUFJLENBQUMsWUFBWSxLQUFLLE1BQU07WUFDNUIsSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxD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RSxDQUFDO1lBRS9DLE1BQU0sT0FBTyxHQUFHLE1BQU0sU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLE1BQU0sb0JBQW9CLEdBQUcsSUFBQSxrQ0FBeUIsRUFDcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUM5QixPQUFPLENBQ1IsQ0FBQztZQUNGLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtnQkFDMUIsT0FBTztnQkFDUCxvQkFBb0I7YUFDckIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxJQUFJO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztDQUNGO0FBbmZELGdDQW1mQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBTeW50aGVzaXplZFN0YWNrIH0gZnJvbSBcIi4vc3ludGgtc3RhY2tcIjtcbmltcG9ydCB7IFRlcnJhZm9ybSB9IGZyb20gXCIuL21vZGVscy90ZXJyYWZvcm1cIjtcbmltcG9ydCB7IGdldENvbnN0cnVjdElkc0Zvck91dHB1dHMsIE5lc3RlZFRlcnJhZm9ybU91dHB1dHMgfSBmcm9tIFwiLi9vdXRwdXRcIjtcbmltcG9ydCB7XG4gIEVycm9ycyxcbiAgbG9nZ2VyLFxuICByZWFkQ29uZmlnU3luYyxcbiAgdGVycmFmb3JtQmluYXJ5TmFtZSxcbn0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgeyBjaGVja0luc3RhbGxlZEJpbmFyeUFnYWluc3RUYXJnZXRzIH0gZnJvbSBcIi4vaW5zdGFsbGVkLWJpbmFyeS1jaGVja1wiO1xuaW1wb3J0IHsgZXh0cmFjdEpzb25Mb2dJZlByZXNlbnQgfSBmcm9tIFwiLi9zZXJ2ZXIvdGVycmFmb3JtLWxvZ3NcIjtcbmltcG9ydCB7XG4gIFRlcnJhZm9ybUNsaSxcbiAgT3V0cHV0RmlsdGVyLFxuICB0cnlSZWFkR2VuZXJhdGVkQ29uZmlndXJhdGlvbkZpbGUsXG4gIHRyeVJlbW92ZUdlbmVyYXRlZENvbmZpZ3VyYXRpb25GaWxlLFxufSBmcm9tIFwiLi9tb2RlbHMvdGVycmFmb3JtLWNsaVwiO1xuaW1wb3J0IHsgUHJvdmlkZXJDb25zdHJhaW50IH0gZnJvbSBcIi4vZGVwZW5kZW5jaWVzL2RlcGVuZGVuY3ktbWFuYWdlclwiO1xuaW1wb3J0IHsgdGVycmFmb3JtSnNvblNjaGVtYSwgVGVycmFmb3JtU3RhY2sgfSBmcm9tIFwiLi90ZXJyYWZvcm0tanNvblwiO1xuaW1wb3J0IHsgVGVycmFmb3JtUHJvdmlkZXJMb2NrIH0gZnJvbSBcIi4vdGVycmFmb3JtLXByb3ZpZGVyLWxvY2tcIjtcbmltcG9ydCB7IGNvbnZlcnRDb25maWd1cmF0aW9uRmlsZSB9IGZyb20gXCIuL2NvbnZlcnRcIjtcblxuZXhwb3J0IHR5cGUgU3RhY2tVcGRhdGUgPVxuICB8IHtcbiAgICAgIHR5cGU6IFwicGxhbm5pbmdcIjtcbiAgICAgIHN0YWNrTmFtZTogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcInBsYW5uZWRcIjtcbiAgICAgIHN0YWNrTmFtZTogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcImRlcGxveWluZ1wiO1xuICAgICAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwiZGVwbG95IHVwZGF0ZVwiO1xuICAgICAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gICAgICBkZXBsb3lPdXRwdXQ6IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJkZXBsb3llZFwiO1xuICAgICAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gICAgICBvdXRwdXRzQnlDb25zdHJ1Y3RJZDogTmVzdGVkVGVycmFmb3JtT3V0cHV0cztcbiAgICAgIG91dHB1dHM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwiZGVzdHJveWluZ1wiO1xuICAgICAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwiZGVzdHJveSB1cGRhdGVcIjtcbiAgICAgIHN0YWNrTmFtZTogc3RyaW5nO1xuICAgICAgZGVzdHJveU91dHB1dDogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcImRlc3Ryb3llZFwiO1xuICAgICAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwib3V0cHV0cyBmZXRjaGVkXCI7XG4gICAgICBzdGFja05hbWU6IHN0cmluZztcbiAgICAgIG91dHB1dHNCeUNvbnN0cnVjdElkOiBOZXN0ZWRUZXJyYWZvcm1PdXRwdXRzO1xuICAgICAgb3V0cHV0czogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJlcnJvcmVkXCI7XG4gICAgICBzdGFja05hbWU6IHN0cmluZztcbiAgICAgIGVycm9yOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwiZGlzbWlzc2VkXCI7XG4gICAgICBzdGFja05hbWU6IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJpbXBvcnQgd2l0aCBjb25maWd1cmF0aW9uIGRldGVjdGVkXCI7XG4gICAgICBzdGFja05hbWU6IHN0cmluZztcbiAgICAgIGNvbmZpZ3VyYXRpb246IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJpbXBvcnQgd2l0aCBjb25maWd1cmF0aW9uIGNvbnZlcnRlZFwiO1xuICAgICAgc3RhY2tOYW1lOiBzdHJpbmc7XG4gICAgICBjb25maWd1cmF0aW9uOiBzdHJpbmc7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgU3RhY2tVc2VySW5wdXRVcGRhdGUgPVxuICBTdGFja0FwcHJvdmFsVXBkYXRlIHwgU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlO1xuXG5leHBvcnQgdHlwZSBTdGFja0FwcHJvdmFsVXBkYXRlID0ge1xuICB0eXBlOiBcIndhaXRpbmcgZm9yIHN0YWNrIGFwcHJvdmFsXCI7XG4gIHN0YWNrTmFtZTogc3RyaW5nO1xuICBhcHByb3ZlOiAoKSA9PiB2b2lkO1xuICByZWplY3Q6ICgpID0+IHZvaWQ7XG59O1xuZXhwb3J0IHR5cGUgU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlID0ge1xuICB0eXBlOiBcIndhaXRpbmcgZm9yIHN0YWNrIHNlbnRpbmVsIG92ZXJyaWRlXCI7XG4gIHN0YWNrTmFtZTogc3RyaW5nO1xuICBvdmVycmlkZTogKCkgPT4gdm9pZDtcbiAgcmVqZWN0OiAoKSA9PiB2b2lkO1xufTtcbmV4cG9ydCB0eXBlIEV4dGVybmFsU3RhY2tBcHByb3ZhbFVwZGF0ZSA9IHtcbiAgdHlwZTogXCJleHRlcm5hbCBzdGFjayBhcHByb3ZhbCByZXBseVwiO1xuICBzdGFja05hbWU6IHN0cmluZztcbiAgYXBwcm92ZWQ6IGJvb2xlYW47IC8vIGZhbHNlID0gcmVqZWN0ZWRcbn07XG5leHBvcnQgdHlwZSBFeHRlcm5hbFN0YWNrU2VudGluZWxPdmVycmlkZVVwZGF0ZSA9IHtcbiAgdHlwZTogXCJleHRlcm5hbCBzdGFjayBzZW50aW5lbCBvdmVycmlkZSByZXBseVwiO1xuICBzdGFja05hbWU6IHN0cmluZztcbiAgb3ZlcnJpZGRlbjogYm9vbGVhbjsgLy8gZmFsc2UgPSByZWplY3RlZFxufTtcblxuYXN5bmMgZnVuY3Rpb24gZ2V0VGVycmFmb3JtQ2xpZW50KFxuICBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwsXG4gIHN0YWNrOiBTeW50aGVzaXplZFN0YWNrLFxuICBjcmVhdGVUZXJyYWZvcm1Mb2dIYW5kbGVyOiAoXG4gICAgcGhhc2U6IHN0cmluZyxcbiAgICBmaWx0ZXI/OiBPdXRwdXRGaWx0ZXJbXSxcbiAgKSA9PiAobWVzc2FnZTogc3RyaW5nLCBpc0Vycm9yPzogYm9vbGVhbikgPT4gdm9pZCxcbik6IFByb21pc2U8VGVycmFmb3JtPiB7XG4gIHJldHVybiBuZXcgVGVycmFmb3JtQ2xpKGFib3J0U2lnbmFsLCBzdGFjaywgY3JlYXRlVGVycmFmb3JtTG9nSGFuZGxlcik7XG59XG5cbnR5cGUgQ2RrdGZTdGFja09wdGlvbnMgPSB7XG4gIHN0YWNrOiBTeW50aGVzaXplZFN0YWNrO1xuICBvblVwZGF0ZTogKFxuICAgIHVwZGF0ZTpcbiAgICAgIHwgU3RhY2tVcGRhdGVcbiAgICAgIHwgU3RhY2tBcHByb3ZhbFVwZGF0ZVxuICAgICAgfCBFeHRlcm5hbFN0YWNrQXBwcm92YWxVcGRhdGVcbiAgICAgIHwgU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlXG4gICAgICB8IEV4dGVybmFsU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlLFxuICApID0+IHZvaWQ7XG4gIG9uTG9nPzogKGxvZzogeyBtZXNzYWdlOiBzdHJpbmc7IGlzRXJyb3I6IGJvb2xlYW4gfSkgPT4gdm9pZDtcbiAgYXV0b0FwcHJvdmU/OiBib29sZWFuO1xuICBtaWdyYXRlU3RhdGU/OiBib29sZWFuO1xuICBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWw7XG59O1xuXG50eXBlIENka3RmU3RhY2tTdGF0ZXMgPVxuICB8IFN0YWNrVXBkYXRlW1widHlwZVwiXVxuICB8IFN0YWNrQXBwcm92YWxVcGRhdGVbXCJ0eXBlXCJdXG4gIHwgU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlW1widHlwZVwiXVxuICB8IEV4dGVybmFsU3RhY2tBcHByb3ZhbFVwZGF0ZVtcInR5cGVcIl1cbiAgfCBFeHRlcm5hbFN0YWNrU2VudGluZWxPdmVycmlkZVVwZGF0ZVtcInR5cGVcIl1cbiAgfCBcImlkbGVcIlxuICB8IFwiZG9uZVwiO1xuXG5leHBvcnQgY2xhc3MgQ2RrdGZTdGFjayB7XG4gIHB1YmxpYyBzdGFjazogU3ludGhlc2l6ZWRTdGFjaztcbiAgcHVibGljIG91dHB1dHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBwdWJsaWMgb3V0cHV0c0J5Q29uc3RydWN0SWQ/OiBOZXN0ZWRUZXJyYWZvcm1PdXRwdXRzO1xuICBwdWJsaWMgc3RvcHBlZCA9IGZhbHNlO1xuICBwdWJsaWMgY3VycmVudFdvcmtQcm9taXNlOiBQcm9taXNlPHZvaWQ+IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VycmVudFN0YXRlOiBDZGt0ZlN0YWNrU3RhdGVzID0gXCJpZGxlXCI7XG4gIHB1YmxpYyBlcnJvcj86IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBwYXJzZWRDb250ZW50OiBUZXJyYWZvcm1TdGFjaztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgb3B0aW9uczogQ2RrdGZTdGFja09wdGlvbnMpIHtcbiAgICB0aGlzLnN0YWNrID0gb3B0aW9ucy5zdGFjaztcbiAgICB0aGlzLnBhcnNlZENvbnRlbnQgPSB0ZXJyYWZvcm1Kc29uU2NoZW1hLnBhcnNlKFxuICAgICAgSlNPTi5wYXJzZSh0aGlzLnN0YWNrLmNvbnRlbnQpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzUGVuZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50U3RhdGUgPT09IFwiaWRsZVwiICYmICF0aGlzLnN0b3BwZWQ7XG4gIH1cbiAgcHVibGljIGdldCBpc0RvbmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY3VycmVudFN0YXRlID09PSBcImRvbmVcIiB8fFxuICAgICAgdGhpcy5jdXJyZW50U3RhdGUgPT09IFwiZXJyb3JlZFwiIHx8XG4gICAgICB0aGlzLnN0b3BwZWRcbiAgICApO1xuICB9XG4gIHB1YmxpYyBnZXQgaXNSdW5uaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc1BlbmRpbmcgJiYgIXRoaXMuaXNEb25lO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTdGF0ZShcbiAgICB1cGRhdGU6XG4gICAgICB8IFN0YWNrVXBkYXRlXG4gICAgICB8IFN0YWNrQXBwcm92YWxVcGRhdGVcbiAgICAgIHwgU3RhY2tTZW50aW5lbE92ZXJyaWRlVXBkYXRlXG4gICAgICB8IEV4dGVybmFsU3RhY2tBcHByb3ZhbFVwZGF0ZVxuICAgICAgfCBFeHRlcm5hbFN0YWNrU2VudGluZWxPdmVycmlkZVVwZGF0ZVxuICAgICAgfCB7IHR5cGU6IFwiaWRsZVwiIH1cbiAgICAgIHwgeyB0eXBlOiBcImRvbmVcIiB9LFxuICApIHtcbiAgICBsb2dnZXIuZGVidWcoYFske3RoaXMuc3RhY2submFtZX1dOiAke3VwZGF0ZS50eXBlfWApO1xuICAgICh0aGlzLmN1cnJlbnRTdGF0ZSBhcyBDZGt0ZlN0YWNrU3RhdGVzKSA9IHVwZGF0ZS50eXBlO1xuICAgIHN3aXRjaCAodXBkYXRlLnR5cGUpIHtcbiAgICAgIGNhc2UgXCJpZGxlXCI6XG4gICAgICBjYXNlIFwiZG9uZVwiOlxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBcImVycm9yZWRcIjpcbiAgICAgICAgdGhpcy5lcnJvciA9IHVwZGF0ZS5lcnJvcjtcbiAgICAgICAgdGhpcy5vcHRpb25zLm9uVXBkYXRlKHVwZGF0ZSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFwib3V0cHV0cyBmZXRjaGVkXCI6XG4gICAgICBjYXNlIFwiZGVwbG95ZWRcIjpcbiAgICAgICAgbG9nZ2VyLmRlYnVnKGBPdXRwdXRzOiAke0pTT04uc3RyaW5naWZ5KHVwZGF0ZS5vdXRwdXRzKX1gKTtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGBPdXRwdXRzQnlDb25zdHJ1Y3RJZDogJHtKU09OLnN0cmluZ2lmeSh1cGRhdGUub3V0cHV0c0J5Q29uc3RydWN0SWQpfWAsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMub3V0cHV0cyA9IHVwZGF0ZS5vdXRwdXRzO1xuICAgICAgICB0aGlzLm91dHB1dHNCeUNvbnN0cnVjdElkID0gdXBkYXRlLm91dHB1dHNCeUNvbnN0cnVjdElkO1xuICAgICAgICB0aGlzLm9wdGlvbnMub25VcGRhdGUodXBkYXRlKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMub3B0aW9ucy5vblVwZGF0ZSh1cGRhdGUpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRlcnJhZm9ybUxvZ0hhbmRsZXIoXG4gICAgcGhhc2U6IHN0cmluZyxcbiAgICBmaWx0ZXJzPzogT3V0cHV0RmlsdGVyW10sXG4gICk6IChtZXNzYWdlOiBzdHJpbmcsIGlzRXJyb3I/OiBib29sZWFuKSA9PiB2b2lkIHtcbiAgICBsb2dnZXIuZGVidWcoXCJDcmVhdGluZyB0ZXJyYWZvcm0gbG9nIGhhbmRsZXJcIiwgcGhhc2UpO1xuXG4gICAgY29uc3Qgb25Mb2cgPSB0aGlzLm9wdGlvbnMub25Mb2c7XG4gICAgcmV0dXJuIChtc2c6IHN0cmluZywgaXNFcnJvciA9IGZhbHNlKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gZXh0cmFjdEpzb25Mb2dJZlByZXNlbnQobXNnKTtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgWyR7dGhpcy5vcHRpb25zLnN0YWNrLm5hbWV9XSgke3BoYXNlfSk6ICR7bXNnfWApO1xuXG4gICAgICBjb25zdCBmaWx0ZXJUb0FwcGx5ID0gZmlsdGVycz8uZmluZCgoZmlsdGVyKSA9PlxuICAgICAgICBmaWx0ZXIuY29uZGl0aW9uKG1lc3NhZ2UpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGZpbHRlcmVkTWVzc2FnZSA9IGZpbHRlclRvQXBwbHlcbiAgICAgICAgPyBmaWx0ZXJUb0FwcGx5LnRyYW5zZm9ybShtZXNzYWdlKVxuICAgICAgICA6IG1lc3NhZ2U7XG5cbiAgICAgIGlmIChmaWx0ZXJlZE1lc3NhZ2UpIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGBGaWx0ZXIgJHtmaWx0ZXJUb0FwcGx5fSBhcHBsaWVkIG9uIGxpbmUgJyR7bWVzc2FnZX0nIHdpdGggcmVzdWx0ICcke2ZpbHRlcmVkTWVzc2FnZX0nYCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG9uTG9nKSB7XG4gICAgICAgIG9uTG9nKHsgbWVzc2FnZTogZmlsdGVyZWRNZXNzYWdlLCBpc0Vycm9yIH0pO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHRlcnJhZm9ybUNsaWVudCgpIHtcbiAgICByZXR1cm4gYXdhaXQgZ2V0VGVycmFmb3JtQ2xpZW50KFxuICAgICAgdGhpcy5vcHRpb25zLmFib3J0U2lnbmFsLFxuICAgICAgdGhpcy5vcHRpb25zLnN0YWNrLFxuICAgICAgdGhpcy5jcmVhdGVUZXJyYWZvcm1Mb2dIYW5kbGVyLmJpbmQodGhpcyksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIHRoZSBwcm9qZWN0IG9wdHMgaW4gdmlhIGB2YWxpZGF0ZUluc3RhbGxlZEJpbmFyeTogdHJ1ZWAgaW5cbiAgICogY2RrdGYuanNvbiwgdmVyaWZpZXMgdGhlIGluc3RhbGxlZCBUZXJyYWZvcm0tY29tcGF0aWJsZSBiaW5hcnkgYWdhaW5zdFxuICAgKiB0aGUgcHJvamVjdCdzIGRlY2xhcmVkIGB0YXJnZXRWZXJzaW9uc2AgYmVmb3JlIGV4ZWN1dGluZyBpdC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgdmFsaWRhdGVJbnN0YWxsZWRCaW5hcnlJZkNvbmZpZ3VyZWQodGVycmFmb3JtOiBUZXJyYWZvcm0pIHtcbiAgICBjb25zdCBjb25maWcgPSByZWFkQ29uZmlnU3luYygpO1xuICAgIGlmICghY29uZmlnLnZhbGlkYXRlSW5zdGFsbGVkQmluYXJ5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcHJvYmxlbXMgPSBjaGVja0luc3RhbGxlZEJpbmFyeUFnYWluc3RUYXJnZXRzKFxuICAgICAgYXdhaXQgdGVycmFmb3JtLnZlcnNpb24oKSxcbiAgICAgIGNvbmZpZy50YXJnZXRWZXJzaW9ucyxcbiAgICAgIHRlcnJhZm9ybUJpbmFyeU5hbWUsXG4gICAgKTtcbiAgICBpZiAocHJvYmxlbXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgRXJyb3JzLlVzYWdlKHByb2JsZW1zLmpvaW4oXCJcXG5cIikpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0YWxpemVUZXJyYWZvcm0oXG4gICAgbm9Db2xvcj86IGJvb2xlYW4sXG4gICAgc2tpcFByb3ZpZGVyTG9jaz86IGJvb2xlYW4sXG4gICAgbWlncmF0ZVN0YXRlPzogYm9vbGVhbixcbiAgKSB7XG4gICAgY29uc3QgdGVycmFmb3JtID0gYXdhaXQgdGhpcy50ZXJyYWZvcm1DbGllbnQoKTtcbiAgICBhd2FpdCB0aGlzLnZhbGlkYXRlSW5zdGFsbGVkQmluYXJ5SWZDb25maWd1cmVkKHRlcnJhZm9ybSk7XG4gICAgY29uc3QgbmVlZHNMb2NrZmlsZVVwZGF0ZSA9IHNraXBQcm92aWRlckxvY2tcbiAgICAgID8gZmFsc2VcbiAgICAgIDogYXdhaXQgdGhpcy5jaGVja05lZWRzTG9ja2ZpbGVVcGRhdGUoKTtcbiAgICBjb25zdCBuZWVkc1VwZ3JhZGUgPSBhd2FpdCB0aGlzLmNoZWNrTmVlZHNVcGdyYWRlKCk7XG4gICAgYXdhaXQgdGVycmFmb3JtLmluaXQoe1xuICAgICAgbmVlZHNVcGdyYWRlLFxuICAgICAgbm9Db2xvcjogbm9Db2xvciA/PyBmYWxzZSxcbiAgICAgIG5lZWRzTG9ja2ZpbGVVcGRhdGUsXG4gICAgICBtaWdyYXRlU3RhdGU6IG1pZ3JhdGVTdGF0ZSA/PyBmYWxzZSxcbiAgICB9KTtcbiAgICByZXR1cm4gdGVycmFmb3JtO1xuICB9XG5cbiAgcHJpdmF0ZSByZXF1aXJlZFByb3ZpZGVycygpIHtcbiAgICAvLyBSZWFkIHJlcXVpcmVkIHByb3ZpZGVycyBmcm9tIHRoZSBzdGFjayBvdXRwdXRcbiAgICBjb25zdCByZXF1aXJlZFByb3ZpZGVycyA9IHRoaXMucGFyc2VkQ29udGVudC50ZXJyYWZvcm0/LnJlcXVpcmVkX3Byb3ZpZGVycztcblxuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHJlcXVpcmVkUHJvdmlkZXJzIHx8IHt9KS5yZWR1Y2UoXG4gICAgICAoYWNjLCBvYmopID0+IHtcbiAgICAgICAgY29uc3QgY29uc3RyYWludCA9IG5ldyBQcm92aWRlckNvbnN0cmFpbnQob2JqLnNvdXJjZSwgb2JqLnZlcnNpb24pO1xuICAgICAgICBhY2NbY29uc3RyYWludC5zb3VyY2VdID0gY29uc3RyYWludDtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBQcm92aWRlckNvbnN0cmFpbnQ+LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNoZWNrTmVlZHNMb2NrZmlsZVVwZGF0ZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5vcHRpb25zLm1pZ3JhdGVTdGF0ZSkge1xuICAgICAgLy8gSWYgd2UncmUgbWlncmF0aW5nIHN0YXRlLCB3ZSBuZWVkIHRvIGluaXRcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCBsb2NrID0gbmV3IFRlcnJhZm9ybVByb3ZpZGVyTG9jayh0aGlzLnN0YWNrLndvcmtpbmdEaXJlY3RvcnkpO1xuICAgIGNvbnN0IGxvY2tGaWxlRXhpc3RzID0gYXdhaXQgbG9jay5oYXNQcm92aWRlckxvY2tGaWxlKCk7XG5cbiAgICBpZiAoIWxvY2tGaWxlRXhpc3RzKSB7XG4gICAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGEgbG9jayBmaWxlLCB0aGlzIGlzIHByb2JhYmx5IHRoZSBmaXJzdCBpbml0XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCByZXF1aXJlZFByb3ZpZGVycyA9IHRoaXMucmVxdWlyZWRQcm92aWRlcnMoKTtcblxuICAgIGZvciAoY29uc3QgcHJvdmlkZXIgb2YgT2JqZWN0LnZhbHVlcyhyZXF1aXJlZFByb3ZpZGVycykpIHtcbiAgICAgIGNvbnN0IGhhc1Byb3ZpZGVyID0gYXdhaXQgbG9jay5oYXNNYXRjaGluZ1Byb3ZpZGVyKHByb3ZpZGVyKTtcbiAgICAgIGlmICghaGFzUHJvdmlkZXIpIHtcbiAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIHByb3ZpZGVyIG9yIHZlcnNpb24gZG9lc24ndCBtYXRjaCwgd2UgbmVlZCB0byBpbml0XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2hlY2tOZWVkc1VwZ3JhZGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgbG9jayA9IG5ldyBUZXJyYWZvcm1Qcm92aWRlckxvY2sodGhpcy5zdGFjay53b3JraW5nRGlyZWN0b3J5KTtcbiAgICBjb25zdCBhbGxQcm92aWRlcnMgPSB0aGlzLnJlcXVpcmVkUHJvdmlkZXJzKCk7XG4gICAgY29uc3QgbG9ja2VkUHJvdmlkZXJzID0gT2JqZWN0LnZhbHVlcyhhd2FpdCBsb2NrLnByb3ZpZGVycygpKTtcblxuICAgIC8vIENoZWNrIGlmIGFueSBwcm92aWRlciBjb250YWluZWQgaW4gYHByb3ZpZGVyc2AgdmlvbGF0ZXMgY29uc3RyYWludHMgaW4gYGxvY2tlZFByb3ZpZGVyc2BcbiAgICAvLyBVcGdyYWRlIGlmIHNvbWUgcHJvdmlkZXIgY29uc3RyYWludCBub3QgbWV0XG4gICAgLy8gSWYgYSBwcm92aWRlciB3YXNuJ3QgcHJlc2V0IGluIGxvY2tlZFByb3ZpZGVycywgdGhhdCdzIGZpbmU7IGl0IHdpbGwganVzdCBnZXQgYWRkZWRcbiAgICByZXR1cm4gbG9ja2VkUHJvdmlkZXJzLnNvbWUoKGxvY2tlZFByb3ZpZGVyKSA9PiB7XG4gICAgICBjb25zdCBsb2NrZWRDb25zdHJhaW50ID0gbG9ja2VkUHJvdmlkZXIuY29uc3RyYWludHM7XG4gICAgICBpZiAoIWxvY2tlZENvbnN0cmFpbnQpIHtcbiAgICAgICAgLy8gUHJvdmlkZXIgbG9jayBkb2Vzbid0IGhhdmUgYSBjb25zdHJhaW50IHNwZWNpZmllZCwgc28gd2UgY2FuJ3QgY2hlY2suXG4gICAgICAgIC8vIFRoaXMgc2hvdWxkbid0IGhhcHBlblxuICAgICAgICBsb2dnZXIuZGVidWcoXG4gICAgICAgICAgYFByb3ZpZGVyIGxvY2sgZG9lc24ndCBoYXZlIGEgY29uc3RyYWludCBmb3IgJHtsb2NrZWRQcm92aWRlci5uYW1lfWAsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcHJvdmlkZXIgPSBhbGxQcm92aWRlcnNbbG9ja2VkQ29uc3RyYWludC5zb3VyY2VdO1xuICAgICAgaWYgKCFwcm92aWRlcikge1xuICAgICAgICAvLyBlbHNlIG5vIGxvbmdlciB1c2luZyB0aGlzIHByb3ZpZGVyLCBzbyB3b24ndCBjYXVzZSBwcm9ibGVtc1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAhbG9ja2VkQ29uc3RyYWludC5tYXRjaGVzVmVyc2lvbihwcm92aWRlci52ZXJzaW9uID8/IFwiPjBcIik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJ1bihjYjogKCkgPT4gUHJvbWlzZTx2b2lkPikge1xuICAgIGlmICh0aGlzLnN0b3BwZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5jdXJyZW50V29ya1Byb21pc2UgPSBjYigpO1xuICAgICAgYXdhaXQgdGhpcy5jdXJyZW50V29ya1Byb21pc2U7XG4gICAgICB0aGlzLnVwZGF0ZVN0YXRlKHsgdHlwZTogXCJkb25lXCIgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgbG9nZ2VyLnRyYWNlKFwiRXJyb3IgaW4gY3VycmVudFdvcmtQcm9taXNlXCIsIGUpO1xuICAgICAgdGhpcy5jdXJyZW50V29ya1Byb21pc2UgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgICAgdHlwZTogXCJlcnJvcmVkXCIsXG4gICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICBlcnJvcjogU3RyaW5nKGUpLFxuICAgICAgfSk7XG4gICAgICB0aHJvdyBlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmN1cnJlbnRXb3JrUHJvbWlzZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGlmZih7XG4gICAgcmVmcmVzaE9ubHksXG4gICAgdGVycmFmb3JtUGFyYWxsZWxpc20sXG4gICAgdmFycyxcbiAgICB2YXJGaWxlcyxcbiAgICBub0NvbG9yLFxuICB9OiB7XG4gICAgcmVmcmVzaE9ubHk/OiBib29sZWFuO1xuICAgIHRlcnJhZm9ybVBhcmFsbGVsaXNtPzogbnVtYmVyO1xuICAgIHZhcnM/OiBzdHJpbmdbXTtcbiAgICB2YXJGaWxlcz86IHN0cmluZ1tdO1xuICAgIG5vQ29sb3I/OiBib29sZWFuO1xuICB9KSB7XG4gICAgYXdhaXQgdGhpcy5ydW4oYXN5bmMgKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7IHR5cGU6IFwicGxhbm5pbmdcIiwgc3RhY2tOYW1lOiB0aGlzLnN0YWNrLm5hbWUgfSk7XG4gICAgICBjb25zdCB0ZXJyYWZvcm0gPSBhd2FpdCB0aGlzLnRlcnJhZm9ybUNsaWVudCgpO1xuXG4gICAgICBhd2FpdCB0ZXJyYWZvcm0ucGxhbih7XG4gICAgICAgIGRlc3Ryb3k6IGZhbHNlLFxuICAgICAgICByZWZyZXNoT25seSxcbiAgICAgICAgcGFyYWxsZWxpc206IHRlcnJhZm9ybVBhcmFsbGVsaXNtLFxuICAgICAgICB2YXJzLFxuICAgICAgICB2YXJGaWxlcyxcbiAgICAgICAgbm9Db2xvcixcbiAgICAgIH0pO1xuICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7IHR5cGU6IFwicGxhbm5lZFwiLCBzdGFja05hbWU6IHRoaXMuc3RhY2submFtZSB9KTtcblxuICAgICAgLy8gRmluZCBnZW5lcmF0ZWQgZmlsZVxuICAgICAgY29uc3QgY29uZmlnRmlsZSA9IGF3YWl0IHRyeVJlYWRHZW5lcmF0ZWRDb25maWd1cmF0aW9uRmlsZShcbiAgICAgICAgdGhpcy5zdGFjay53b3JraW5nRGlyZWN0b3J5LFxuICAgICAgKTtcbiAgICAgIGlmIChjb25maWdGaWxlKSB7XG4gICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgIHR5cGU6IFwiaW1wb3J0IHdpdGggY29uZmlndXJhdGlvbiBkZXRlY3RlZFwiLFxuICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgIGNvbmZpZ3VyYXRpb246IGNvbmZpZ0ZpbGUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZENvZGUgPSBhd2FpdCBjb252ZXJ0Q29uZmlndXJhdGlvbkZpbGUoXG4gICAgICAgICAgY29uZmlnRmlsZSxcbiAgICAgICAgICB0aGlzLnN0YWNrLndvcmtpbmdEaXJlY3RvcnksXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgIHR5cGU6IFwiaW1wb3J0IHdpdGggY29uZmlndXJhdGlvbiBjb252ZXJ0ZWRcIixcbiAgICAgICAgICBzdGFja05hbWU6IHRoaXMuc3RhY2submFtZSxcbiAgICAgICAgICBjb25maWd1cmF0aW9uOiBjb252ZXJ0ZWRDb2RlLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3Qgb25Mb2cgPSB0aGlzLm9wdGlvbnMub25Mb2c7XG4gICAgICAgIGlmIChvbkxvZykge1xuICAgICAgICAgIG9uTG9nKHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IGBJbXBvcnQgd2l0aG91dCBjb25maWd1cmF0aW9uIGRldGVjdGVkLiBUZXJyYWZvcm0gaGFzIGNyZWF0ZWQgY29uZmlndXJhdGlvbiBmb3IgaXQ6XG4ke2NvbmZpZ0ZpbGV9XG5cbkNES1ROIGhhcyB0cmFuc2xhdGVkIHRoZSBjb2RlIHRvIHRoZSBmb2xsb3dpbmc6XG5cbiR7Y29udmVydGVkQ29kZX1cblxuUGxlYXNlIHJldmlldyB0aGUgY29kZSBhbmQgbWFrZSBhbnkgbmVjZXNzYXJ5IGNoYW5nZXMgYmVmb3JlIGFkZGluZyBpdCB0byB5b3VyIGNvZGViYXNlLlxuTWFrZSBzdXJlIHRvIG9ubHkgY29weSB0aGUgY29kZSB3aXRoaW4gdGhlIGNvbnN0cnVjdCdzIGNvbnN0cnVjdG9yLlxuXG5OT1RFOiBZb3VyIHJlc291cmNlIGhhcyBub3QgeWV0IGJlY29tZSBtYW5hZ2VkIGJ5IENES1ROLiBcblRvIGZpbmlzaCB0aGUgaW1wb3J0IHJlbW92ZSB0aGUgY2FsbCBcImdlbmVyYXRlQ29uZmlnRm9ySW1wb3J0XCIsIGFkZCB0aGUgYWJvdmUgY29kZSB3aXRoaW4gdGhlIGNvbnN0cnVjdCdzIGNvbnN0cnVjdG9yLCBhbmQgdGhlbiBhcHBlbmQgdGhlIGNhbGwgaW1wb3J0RnJvbSg8cmVzb3VyY2VfaWRfdG9faW1wb3J0X2Zyb20+KSB0byB0aGUgZ2VuZXJhdGVkIGNvZGU6IFxuXG5uZXcgU29tZVJlc291cmNlKC4uLikuaW1wb3J0RnJvbShcInNvbWVfaWRcIilcbmAsXG4gICAgICAgICAgICBpc0Vycm9yOiBmYWxzZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCB0cnlSZW1vdmVHZW5lcmF0ZWRDb25maWd1cmF0aW9uRmlsZSh0aGlzLnN0YWNrLndvcmtpbmdEaXJlY3RvcnkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRlcGxveShvcHRzOiB7XG4gICAgcmVmcmVzaE9ubHk/OiBib29sZWFuO1xuICAgIHRlcnJhZm9ybVBhcmFsbGVsaXNtPzogbnVtYmVyO1xuICAgIG5vQ29sb3I/OiBib29sZWFuO1xuICAgIHZhcnM/OiBzdHJpbmdbXTtcbiAgICB2YXJGaWxlcz86IHN0cmluZ1tdO1xuICB9KSB7XG4gICAgY29uc3QgeyByZWZyZXNoT25seSwgdGVycmFmb3JtUGFyYWxsZWxpc20sIG5vQ29sb3IsIHZhcnMsIHZhckZpbGVzIH0gPSBvcHRzO1xuICAgIGF3YWl0IHRoaXMucnVuKGFzeW5jICgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlU3RhdGUoeyB0eXBlOiBcInBsYW5uaW5nXCIsIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lIH0pO1xuICAgICAgY29uc3QgdGVycmFmb3JtID0gYXdhaXQgdGhpcy50ZXJyYWZvcm1DbGllbnQoKTtcblxuICAgICAgY29uc3QgeyBjYW5jZWxsZWQgfSA9IGF3YWl0IHRlcnJhZm9ybS5kZXBsb3koXG4gICAgICAgIHtcbiAgICAgICAgICBhdXRvQXBwcm92ZTogdGhpcy5vcHRpb25zLmF1dG9BcHByb3ZlLFxuICAgICAgICAgIHJlZnJlc2hPbmx5LFxuICAgICAgICAgIHBhcmFsbGVsaXNtOiB0ZXJyYWZvcm1QYXJhbGxlbGlzbSxcbiAgICAgICAgICB2YXJzLFxuICAgICAgICAgIHZhckZpbGVzLFxuICAgICAgICAgIG5vQ29sb3IsXG4gICAgICAgIH0sXG4gICAgICAgIChzdGF0ZSkgPT4ge1xuICAgICAgICAgIC8vIHN0YXRlIHVwZGF0ZXMgd2hpbGUgYXBwbHkgcnVucyB0aGF0IGFmZmVjdCB0aGUgVUlcbiAgICAgICAgICBpZiAoc3RhdGUudHlwZSA9PT0gXCJydW5uaW5nXCIgJiYgIXN0YXRlLmNhbmNlbGxlZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICAgICAgICAgIHR5cGU6IFwiZGVwbG95aW5nXCIsXG4gICAgICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS50eXBlID09PSBcIndhaXRpbmcgZm9yIGFwcHJvdmFsXCIpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgICAgICB0eXBlOiBcIndhaXRpbmcgZm9yIHN0YWNrIGFwcHJvdmFsXCIsXG4gICAgICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgICAgICBhcHByb3ZlOiBzdGF0ZS5hcHByb3ZlLFxuICAgICAgICAgICAgICByZWplY3Q6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzdGF0ZS5yZWplY3QoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IFwiZGlzbWlzc2VkXCIsXG4gICAgICAgICAgICAgICAgICBzdGFja05hbWU6IHRoaXMuc3RhY2submFtZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdGUudHlwZSA9PT0gXCJ3YWl0aW5nIGZvciBzZW50aW5lbCBvdmVycmlkZVwiKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgICAgICAgICAgdHlwZTogXCJ3YWl0aW5nIGZvciBzdGFjayBzZW50aW5lbCBvdmVycmlkZVwiLFxuICAgICAgICAgICAgICBzdGFja05hbWU6IHRoaXMuc3RhY2submFtZSxcbiAgICAgICAgICAgICAgb3ZlcnJpZGU6IHN0YXRlLm92ZXJyaWRlLFxuICAgICAgICAgICAgICByZWplY3Q6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzdGF0ZS5yZWplY3QoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IFwiZGlzbWlzc2VkXCIsXG4gICAgICAgICAgICAgICAgICBzdGFja05hbWU6IHRoaXMuc3RhY2submFtZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdGUudHlwZSA9PT0gXCJleHRlcm5hbCBhcHByb3ZhbCByZXBseVwiKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgICAgICAgICAgdHlwZTogXCJleHRlcm5hbCBzdGFjayBhcHByb3ZhbCByZXBseVwiLFxuICAgICAgICAgICAgICBzdGFja05hbWU6IHRoaXMuc3RhY2submFtZSxcbiAgICAgICAgICAgICAgYXBwcm92ZWQ6IHN0YXRlLmFwcHJvdmVkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS50eXBlID09PSBcImV4dGVybmFsIHNlbnRpbmVsIG92ZXJyaWRlIHJlcGx5XCIpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgICAgICB0eXBlOiBcImV4dGVybmFsIHN0YWNrIHNlbnRpbmVsIG92ZXJyaWRlIHJlcGx5XCIsXG4gICAgICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgICAgICBvdmVycmlkZGVuOiBzdGF0ZS5vdmVycmlkZGVuLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgaWYgKCFjYW5jZWxsZWQpIHtcbiAgICAgICAgY29uc3Qgb3V0cHV0cyA9IGF3YWl0IHRlcnJhZm9ybS5vdXRwdXQoKTtcbiAgICAgICAgY29uc3Qgb3V0cHV0c0J5Q29uc3RydWN0SWQgPSBnZXRDb25zdHJ1Y3RJZHNGb3JPdXRwdXRzKFxuICAgICAgICAgIEpTT04ucGFyc2UodGhpcy5zdGFjay5jb250ZW50KSxcbiAgICAgICAgICBvdXRwdXRzLFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgIHR5cGU6IFwiZGVwbG95ZWRcIixcbiAgICAgICAgICBzdGFja05hbWU6IHRoaXMuc3RhY2submFtZSxcbiAgICAgICAgICBvdXRwdXRzLFxuICAgICAgICAgIG91dHB1dHNCeUNvbnN0cnVjdElkLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkZXN0cm95KG9wdHM6IHtcbiAgICB0ZXJyYWZvcm1QYXJhbGxlbGlzbT86IG51bWJlcjtcbiAgICB2YXJzPzogc3RyaW5nW107XG4gICAgdmFyRmlsZXM/OiBzdHJpbmdbXTtcbiAgICBub0NvbG9yPzogYm9vbGVhbjtcbiAgfSkge1xuICAgIGNvbnN0IHsgdGVycmFmb3JtUGFyYWxsZWxpc20sIG5vQ29sb3IsIHZhcnMsIHZhckZpbGVzIH0gPSBvcHRzO1xuICAgIGF3YWl0IHRoaXMucnVuKGFzeW5jICgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlU3RhdGUoeyB0eXBlOiBcInBsYW5uaW5nXCIsIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lIH0pO1xuICAgICAgY29uc3QgdGVycmFmb3JtID0gYXdhaXQgdGhpcy50ZXJyYWZvcm1DbGllbnQoKTtcbiAgICAgIGNvbnN0IHsgY2FuY2VsbGVkIH0gPSBhd2FpdCB0ZXJyYWZvcm0uZGVzdHJveShcbiAgICAgICAge1xuICAgICAgICAgIGF1dG9BcHByb3ZlOiB0aGlzLm9wdGlvbnMuYXV0b0FwcHJvdmUsXG4gICAgICAgICAgcGFyYWxsZWxpc206IHRlcnJhZm9ybVBhcmFsbGVsaXNtLFxuICAgICAgICAgIHZhcnMsXG4gICAgICAgICAgdmFyRmlsZXMsXG4gICAgICAgICAgbm9Db2xvcixcbiAgICAgICAgfSxcbiAgICAgICAgKHN0YXRlKSA9PiB7XG4gICAgICAgICAgLy8gc3RhdGUgdXBkYXRlcyB3aGlsZSBhcHBseSBydW5zIHRoYXQgYWZmZWN0IHRoZSBVSVxuICAgICAgICAgIGlmIChzdGF0ZS50eXBlID09PSBcInJ1bm5pbmdcIiAmJiAhc3RhdGUuY2FuY2VsbGVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgICAgICAgICAgdHlwZTogXCJkZXN0cm95aW5nXCIsXG4gICAgICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS50eXBlID09PSBcIndhaXRpbmcgZm9yIGFwcHJvdmFsXCIpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgICAgICB0eXBlOiBcIndhaXRpbmcgZm9yIHN0YWNrIGFwcHJvdmFsXCIsXG4gICAgICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgICAgICBhcHByb3ZlOiBzdGF0ZS5hcHByb3ZlLFxuICAgICAgICAgICAgICByZWplY3Q6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzdGF0ZS5yZWplY3QoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IFwiZGlzbWlzc2VkXCIsXG4gICAgICAgICAgICAgICAgICBzdGFja05hbWU6IHRoaXMuc3RhY2submFtZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdGUudHlwZSA9PT0gXCJ3YWl0aW5nIGZvciBzZW50aW5lbCBvdmVycmlkZVwiKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgICAgICAgICAgdHlwZTogXCJ3YWl0aW5nIGZvciBzdGFjayBzZW50aW5lbCBvdmVycmlkZVwiLFxuICAgICAgICAgICAgICBzdGFja05hbWU6IHRoaXMuc3RhY2submFtZSxcbiAgICAgICAgICAgICAgb3ZlcnJpZGU6IHN0YXRlLm92ZXJyaWRlLFxuICAgICAgICAgICAgICByZWplY3Q6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzdGF0ZS5yZWplY3QoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IFwiZGlzbWlzc2VkXCIsXG4gICAgICAgICAgICAgICAgICBzdGFja05hbWU6IHRoaXMuc3RhY2submFtZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdGUudHlwZSA9PT0gXCJleHRlcm5hbCBhcHByb3ZhbCByZXBseVwiKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICAgICAgICAgICAgdHlwZTogXCJleHRlcm5hbCBzdGFjayBhcHByb3ZhbCByZXBseVwiLFxuICAgICAgICAgICAgICBzdGFja05hbWU6IHRoaXMuc3RhY2submFtZSxcbiAgICAgICAgICAgICAgYXBwcm92ZWQ6IHN0YXRlLmFwcHJvdmVkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS50eXBlID09PSBcImV4dGVybmFsIHNlbnRpbmVsIG92ZXJyaWRlIHJlcGx5XCIpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgICAgICB0eXBlOiBcImV4dGVybmFsIHN0YWNrIHNlbnRpbmVsIG92ZXJyaWRlIHJlcGx5XCIsXG4gICAgICAgICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICAgICAgICBvdmVycmlkZGVuOiBzdGF0ZS5vdmVycmlkZGVuLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgaWYgKCFjYW5jZWxsZWQpXG4gICAgICAgIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgICAgICAgIHR5cGU6IFwiZGVzdHJveWVkXCIsXG4gICAgICAgICAgc3RhY2tOYW1lOiB0aGlzLnN0YWNrLm5hbWUsXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGZldGNoT3V0cHV0cygpIHtcbiAgICBhd2FpdCB0aGlzLnJ1bihhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0ZXJyYWZvcm0gPSBhd2FpdCB0aGlzLnRlcnJhZm9ybUNsaWVudCgpO1xuXG4gICAgICBjb25zdCBvdXRwdXRzID0gYXdhaXQgdGVycmFmb3JtLm91dHB1dCgpO1xuICAgICAgY29uc3Qgb3V0cHV0c0J5Q29uc3RydWN0SWQgPSBnZXRDb25zdHJ1Y3RJZHNGb3JPdXRwdXRzKFxuICAgICAgICBKU09OLnBhcnNlKHRoaXMuc3RhY2suY29udGVudCksXG4gICAgICAgIG91dHB1dHMsXG4gICAgICApO1xuICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgICAgIHR5cGU6IFwib3V0cHV0cyBmZXRjaGVkXCIsXG4gICAgICAgIHN0YWNrTmFtZTogdGhpcy5zdGFjay5uYW1lLFxuICAgICAgICBvdXRwdXRzLFxuICAgICAgICBvdXRwdXRzQnlDb25zdHJ1Y3RJZCxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMub3V0cHV0cztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdG9wKCkge1xuICAgIHRoaXMuc3RvcHBlZCA9IHRydWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-reporting.d.ts","sourceRoot":"","sources":["../../src/lib/error-reporting.ts"],"names":[],"mappings":"AAcA,wBAAgB,iBAAiB,CAC/B,WAAW,SAAgB,GAC1B,OAAO,GAAG,SAAS,CAerB;AAED,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,OAAO,EACjB,WAAW,SAAgB,QAU5B;AAUD,wBAAsB,uBAAuB,CAC3C,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"error-reporting.d.ts","sourceRoot":"","sources":["../../src/lib/error-reporting.ts"],"names":[],"mappings":"AAcA,wBAAgB,iBAAiB,CAC/B,WAAW,SAAgB,GAC1B,OAAO,GAAG,SAAS,CAerB;AAED,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,OAAO,EACjB,WAAW,SAAgB,QAU5B;AAUD,wBAAsB,uBAAuB,CAC3C,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,iBAsE1C;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,IAAI,EACJ,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,QAUA"}
|
|
@@ -139,4 +139,4 @@ function captureException({ message, type, command, context, }) {
|
|
|
139
139
|
});
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItcmVwb3J0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9lcnJvci1yZXBvcnRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjQSw4Q0FpQkM7QUFFRCw0RUFZQztBQVVELDBEQTJFQztBQUVELDRDQW9CQztBQXhKRCwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLHFEQUF1QztBQUN2Qyw0Q0FLd0I7QUFDeEIsNENBQXdDO0FBQ3hDLDJDQUE2QjtBQUM3Qiw2Q0FBK0I7QUFDL0Isc0RBQTZCO0FBRTdCLFNBQWdCLGlCQUFpQixDQUMvQixXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRTtJQUUzQixJQUFJLENBQUM7UUFDSCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUMxQixFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUNqRSxDQUFDO1FBRUYsT0FBTyxPQUFPLFNBQVMsQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTO1lBQ3BELENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCO1lBQzVCLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEtBQUssTUFBTSxDQUFDO0lBQzVDLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsZ0JBQU0sQ0FBQyxLQUFLLENBQ1YsZ0ZBQWdGLENBQUMsRUFBRSxDQUNwRixDQUFDO1FBQ0YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLGdDQUFnQyxDQUM5QyxRQUFpQixFQUNqQixXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRTtJQUUzQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUMxQixFQUFFLENBQUMsWUFBWSxDQUFDLElBQUks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Q0FBQztJQUVILE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBVSxLQUFLO1FBQ25DLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDWixFQUFFLEVBQUUsSUFBQSxtQkFBUyxHQUFFO1NBQ2hCLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUEsc0JBQVksR0FBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxnQkFBTSxDQUFDLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO0lBQ3ZFLElBQUEsaUNBQXVCLEdBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM3QyxNQUFNLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNoRCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxFQUMvQixPQUFPLEVBQ1AsSUFBSSxFQUNKLE9BQU8sRUFDUCxPQUFPLEdBTVI7SUFDQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztRQUNsRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDMUMsSUFBSSxFQUFFO2dCQUNKLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztnQkFDaEMsSUFBSTtnQkFDSixPQUFPO2FBQ1I7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBTZW50cnkgZnJvbSBcIkBzZW50cnkvbm9kZVwiO1xuaW1wb3J0IHtcbiAgZ2V0UHJvamVjdElkLFxuICBnZXRVc2VySWQsXG4gIGNvbGxlY3REZWJ1Z0luZm9ybWF0aW9uLFxuICBESVNQTEFZX1ZFUlNJT04sXG59IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCBjaUluZm8gZnJvbSBcImNpLWluZm9cIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZFJlcG9ydENyYXNoKFxuICBwcm9qZWN0UGF0aCA9IHByb2Nlc3MuY3dkKCksXG4pOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBjZGt0Zkpzb24gPSBKU09OLnBhcnNlKFxuICAgICAgZnMucmVhZEZpbGVTeW5jKHBhdGgucmVzb2x2ZShwcm9qZWN0UGF0aCwgXCJjZGt0Zi5qc29uXCIpLCBcInV0ZjhcIiksXG4gICAgKTtcblxuICAgIHJldHVybiB0eXBlb2YgY2RrdGZKc29uLnNlbmRDcmFzaFJlcG9ydHMgPT09IFwiYm9vbGVhblwiXG4gICAgICA/IGNka3RmSnNvbi5zZW5kQ3Jhc2hSZXBvcnRzXG4gICAgICA6IGNka3RmSnNvbi5zZW5kQ3Jhc2hSZXBvcnRzID09PSBcInRydWVcIjtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBFcnJvciBkZXRlcm1pbmluZyBpZiBjcmFzaCByZXBvcnRpbmcgc2hvdWxkIGJlIGVuYWJsZWQsIGRlZmF1bHRpbmcgdG8gZmFsc2U6ICR7ZX1gLFxuICAgICk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwZXJzaXN0UmVwb3J0Q3Jhc2hSZXBvcnREZWNpc2lvbihcbiAgZGVjaXNpb246IGJvb2xlYW4sXG4gIHByb2plY3RQYXRoID0gcHJvY2Vzcy5jd2QoKSxcbikge1xuICBjb25zdCBjZGt0Zkpzb24gPSBKU09OLnBhcnNlKFxuICAgIGZzLnJlYWRGaWxlU3luYyhwYXRoLnJlc29sdmUocHJvamVjdFBhdGgsIFwiY2RrdGYuanNvblwiKSwgXCJ1dGY4XCIpLFxuICApO1xuICBjZGt0Zkpzb24uc2VuZENyYXNoUmVwb3J0cyA9IGRlY2lzaW9uO1xuICBmcy53cml0ZUZpbGVTeW5jKFxuICAgIHBhdGgucmVzb2x2ZShwcm9qZWN0UGF0aCwgXCJjZGt0Zi5qc29uXCIpLFxuICAgIEpTT04uc3RyaW5naWZ5KGNka3RmSnNvbiwgbnVsbCwgMiksXG4gICk7XG59XG5cbmZ1bmN0aW9uIGlzUHJvbWlzZShwOiBhbnkpOiBwIGlzIFByb21pc2U8YW55PiB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHAgPT09IFwib2JqZWN0XCIgJiZcbiAgICB0eXBlb2YgcC50aGVuID09PSBcImZ1bmN0aW9uXCIgJiZcbiAgICB0eXBlb2YgcC5jYXRjaCA9PT0gXCJmdW5jdGlvblwiXG4gICk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbml0aWFsaXpFcnJvclJlcG9ydGluZyhcbiAgcnVuQ29uc2VudFByb21wdD86ICgpID0+IFByb21pc2U8Ym9vbGVhbj4sXG4pIHtcbiAgbGV0IHNob3VsZFJlcG9ydCA9IHNob3VsZFJlcG9ydENyYXNoKCk7XG4gIGNvbnN0IGNpOiBzdHJpbmcgfCBmYWxzZSA9IGNpSW5mby5pc0NJID8gY2lJbmZvLm5hbWUgfHwgXCJ1bmtub3duXCIgOiBmYWxzZTtcblxuICAvLyBXZSBoYXZlIG5vIGluZm8geWV0LCBzbyB3ZSBuZWVkIHRvIGFzayB0aGUgdXNlclxuICBpZiAoc2hvdWxkUmVwb3J0ID09PSB1bmRlZmluZWQgJiYgcnVuQ29uc2VudFByb21wdCkge1xuICAgIC8vIEJ1dCBvbmx5IGlmIGl0J3MgYSB1c2VyXG4gICAgaWYgKGNpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2hvdWxkUmVwb3J0ID0gYXdhaXQgcnVuQ29uc2VudFByb21wdCgpO1xuICAgIHBlcnNpc3RSZXBvcnRDcmFzaFJlcG9ydERlY2lzaW9uKHNob3VsZFJlcG9ydCk7XG4gIH1cblxuICBpZiAoIXNob3VsZFJlcG9ydCkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcIkVycm9yIHJlcG9ydGluZyBkaXNhYmxlZFwiKTtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKCFwcm9jZXNzLmVudi5TRU5UUllfRFNOKSB7XG4gICAgbG9nZ2VyLmluZm8oXCJFcnJvciByZXBvcnRpbmcgZGlzYWJsZWQ6IFNFTlRSWV9EU04gbm90IHNldFwiKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBsb2dnZXIuZGVidWcoXCJJbml0aWFsaXppbmcgZXJyb3IgcmVwb3J0aW5nXCIpO1xuXG4gIFNlbnRyeS5pbml0KHtcbiAgICBhdXRvU2Vzc2lvblRyYWNraW5nOiB0cnVlLFxuICAgIGRzbjogcHJvY2Vzcy5lbnYuU0VOVFJZX0RTTixcbiAgICByZWxlYXNlOiBgY2RrdG4tY2xpLSR7RElTUExBWV9WRVJTSU9OfWAsXG4gICAgYXN5bmMgYmVmb3JlU2VuZChldmVudCwgaGludCkge1xuICAgICAgaWYgKCFoaW50KSB7XG4gICAgICAgIHJldHVybiBldmVudDtcbiAgICAgIH1cblxuICAgICAgLy8gVGhlIHByb21pc2UgY2hhcmFjdGVyIGlzIG5vdCBkb2N1bWVudGVkLCBidXQgaXQgaGFwcGVuc1xuICAgICAgY29uc3Qgb3JpZ2luYWxFeGNlcHRpb246XG4gICAgICAgIHwgUHJvbWlzZTxFcnJvcj5cbiAgICAgICAgfCBFcnJvclxuICAgICAgICB8IHN0cmluZ1xuICAgICAgICB8IG51bGxcbiAgICAgICAgfCB1bmRlZmluZWRcbiAgICAgICAgfCB1bmtub3duID0gaGludC5vcmlnaW5hbEV4Y2VwdGlvbjtcbiAgICAgIGxldCBlcnJvcjogRXJyb3IgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIHwgdW5rbm93bjtcbiAgICAgIGlmIChpc1Byb21pc2Uob3JpZ2luYWxFeGNlcHRpb24pKSB7XG4gICAgICAgIChvcmlnaW5hbEV4Y2VwdGlvbiBhcyB1bmtub3duIGFzIFByb21pc2U8RXJyb3I+KS5jYXRjaChcbiAgICAgICAgICAoZSkgPT4gKGVycm9yID0gZSksXG4gICAgICAgICk7XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChbb3JpZ2luYWxFeGNlcHRpb25dKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yID0gb3JpZ2luYWxFeGNlcHRpb247XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yPy50b1N0cmluZygpIHx8IFwiXCI7XG4gICAgICBpZiAoZXJyb3JNZXNzYWdlLmluY2x1ZGVzKFwiVXNhZ2UgRXJyb3JcIikpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBhIHVzYWdlIGVycm9yLCBzbyB3ZSBkb24ndCB3YW50IHRvIHJlcG9ydCBpdFxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBldmVudDtcbiAgICB9LFxuICB9KTtcblxuICBTZW50cnkuY29uZmlndXJlU2NvcGUoZnVuY3Rpb24gKHNjb3BlKSB7XG4gICAgc2NvcGUuc2V0VXNlcih7XG4gICAgICBpZDogZ2V0VXNlcklkKCksXG4gICAgfSk7XG4gICAgc2NvcGUuc2V0VGFnKFwicHJvamVjdElkXCIsIGdldFByb2plY3RJZCgpKTtcbiAgfSk7XG5cbiAgbG9nZ2VyLmRlYnVnKFwiQ29sbGVjdGluZyBlbnZpcm9ubWVudCBpbmZvcm1hdGlvbiBmb3IgZXJyb3IgcmVwb3J0aW5nXCIpO1xuICBjb2xsZWN0RGVidWdJbmZvcm1hdGlvbigpLnRoZW4oKGRlYnVnT3V0cHV0KSA9PiB7XG4gICAgU2VudHJ5LnNldENvbnRleHQoXCJlbnZpcm9ubWVudFwiLCBkZWJ1Z091dHB1dCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FwdHVyZUV4Y2VwdGlvbih7XG4gIG1lc3NhZ2UsXG4gIHR5cGUsXG4gIGNvbW1hbmQsXG4gIGNvbnRleHQsXG59OiB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBjb21tYW5kOiBzdHJpbmc7XG4gIGNvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufSkge1xuICBpZiAocHJvY2Vzcy5lbnYuU0VOVFJZX0RTTiAmJiBzaG91bGRSZXBvcnRDcmFzaCgpKSB7XG4gICAgU2VudHJ5LmNhcHR1cmVFeGNlcHRpb24obmV3IEVycm9yKG1lc3NhZ2UpLCB7XG4gICAgICB0YWdzOiB7XG4gICAgICAgIGNvbnRleHQ6IEpTT04uc3RyaW5naWZ5KGNvbnRleHQpLFxuICAgICAgICB0eXBlLFxuICAgICAgICBjb21tYW5kLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItcmVwb3J0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9lcnJvci1yZXBvcnRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjQSw4Q0FpQkM7QUFFRCw0RUFZQztBQVVELDBEQXVFQztBQUVELDRDQW9CQztBQXBKRCwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLHFEQUF1QztBQUN2Qyw0Q0FLd0I7QUFDeEIsNENBQXdDO0FBQ3hDLDJDQUE2QjtBQUM3Qiw2Q0FBK0I7QUFDL0Isc0RBQTZCO0FBRTdCLFNBQWdCLGlCQUFpQixDQUMvQixXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRTtJQUUzQixJQUFJLENBQUM7UUFDSCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUMxQixFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUNqRSxDQUFDO1FBRUYsT0FBTyxPQUFPLFNBQVMsQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTO1lBQ3BELENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCO1lBQzVCLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEtBQUssTUFBTSxDQUFDO0lBQzVDLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsZ0JBQU0sQ0FBQyxLQUFLLENBQ1YsZ0ZBQWdGLENBQUMsRUFBRSxDQUNwRixDQUFDO1FBQ0YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLGdDQUFnQyxDQUM5QyxRQUFpQixFQUNqQixXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRTtJQUUzQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUMxQixFQUFFLENBQUMsWUFBWSxDQUFDLElBQUks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LENBQUM7SUFFSCxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsS0FBSztRQUNuQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ1osRUFBRSxFQUFFLElBQUEsbUJBQVMsR0FBRTtTQUNoQixDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxJQUFBLHNCQUFZLEdBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQyxDQUFDO0lBRUgsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQztJQUN2RSxJQUFBLGlDQUF1QixHQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDN0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDaEQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsRUFDL0IsT0FBTyxFQUNQLElBQUksRUFDSixPQUFPLEVBQ1AsT0FBTyxHQU1SO0lBQ0MsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxpQkFBaUIsRUFBRSxFQUFFLENBQUM7UUFDbEQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFDLElBQUksRUFBRTtnQkFDSixPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7Z0JBQ2hDLElBQUk7Z0JBQ0osT0FBTzthQUNSO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgU2VudHJ5IGZyb20gXCJAc2VudHJ5L25vZGVcIjtcbmltcG9ydCB7XG4gIGdldFByb2plY3RJZCxcbiAgZ2V0VXNlcklkLFxuICBjb2xsZWN0RGVidWdJbmZvcm1hdGlvbixcbiAgRElTUExBWV9WRVJTSU9OLFxufSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgY2lJbmZvIGZyb20gXCJjaS1pbmZvXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBzaG91bGRSZXBvcnRDcmFzaChcbiAgcHJvamVjdFBhdGggPSBwcm9jZXNzLmN3ZCgpLFxuKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgY29uc3QgY2RrdGZKc29uID0gSlNPTi5wYXJzZShcbiAgICAgIGZzLnJlYWRGaWxlU3luYyhwYXRoLnJlc29sdmUocHJvamVjdFBhdGgsIFwiY2RrdGYuanNvblwiKSwgXCJ1dGY4XCIpLFxuICAgICk7XG5cbiAgICByZXR1cm4gdHlwZW9mIGNka3RmSnNvbi5zZW5kQ3Jhc2hSZXBvcnRzID09PSBcImJvb2xlYW5cIlxuICAgICAgPyBjZGt0Zkpzb24uc2VuZENyYXNoUmVwb3J0c1xuICAgICAgOiBjZGt0Zkpzb24uc2VuZENyYXNoUmVwb3J0cyA9PT0gXCJ0cnVlXCI7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgRXJyb3IgZGV0ZXJtaW5pbmcgaWYgY3Jhc2ggcmVwb3J0aW5nIHNob3VsZCBiZSBlbmFibGVkLCBkZWZhdWx0aW5nIHRvIGZhbHNlOiAke2V9YCxcbiAgICApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGVyc2lzdFJlcG9ydENyYXNoUmVwb3J0RGVjaXNpb24oXG4gIGRlY2lzaW9uOiBib29sZWFuLFxuICBwcm9qZWN0UGF0aCA9IHByb2Nlc3MuY3dkKCksXG4pIHtcbiAgY29uc3QgY2RrdGZKc29uID0gSlNPTi5wYXJzZShcbiAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5yZXNvbHZlKHByb2plY3RQYXRoLCBcImNka3RmLmpzb25cIiksIFwidXRmOFwiKSxcbiAgKTtcbiAgY2RrdGZKc29uLnNlbmRDcmFzaFJlcG9ydHMgPSBkZWNpc2lvbjtcbiAgZnMud3JpdGVGaWxlU3luYyhcbiAgICBwYXRoLnJlc29sdmUocHJvamVjdFBhdGgsIFwiY2RrdGYuanNvblwiKSxcbiAgICBKU09OLnN0cmluZ2lmeShjZGt0Zkpzb24sIG51bGwsIDIpLFxuICApO1xufVxuXG5mdW5jdGlvbiBpc1Byb21pc2UocDogYW55KTogcCBpcyBQcm9taXNlPGFueT4ge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiBwID09PSBcIm9iamVjdFwiICYmXG4gICAgdHlwZW9mIHAudGhlbiA9PT0gXCJmdW5jdGlvblwiICYmXG4gICAgdHlwZW9mIHAuY2F0Y2ggPT09IFwiZnVuY3Rpb25cIlxuICApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW5pdGlhbGl6RXJyb3JSZXBvcnRpbmcoXG4gIHJ1bkNvbnNlbnRQcm9tcHQ/OiAoKSA9PiBQcm9taXNlPGJvb2xlYW4+LFxuKSB7XG4gIGxldCBzaG91bGRSZXBvcnQgPSBzaG91bGRSZXBvcnRDcmFzaCgpO1xuICBjb25zdCBjaTogc3RyaW5nIHwgZmFsc2UgPSBjaUluZm8uaXNDSSA/IGNpSW5mby5uYW1lIHx8IFwidW5rbm93blwiIDogZmFsc2U7XG5cbiAgLy8gV2UgaGF2ZSBubyBpbmZvIHlldCwgc28gd2UgbmVlZCB0byBhc2sgdGhlIHVzZXJcbiAgaWYgKHNob3VsZFJlcG9ydCA9PT0gdW5kZWZpbmVkICYmIHJ1bkNvbnNlbnRQcm9tcHQpIHtcbiAgICAvLyBCdXQgb25seSBpZiBpdCdzIGEgdXNlclxuICAgIGlmIChjaSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNob3VsZFJlcG9ydCA9IGF3YWl0IHJ1bkNvbnNlbnRQcm9tcHQoKTtcbiAgICBwZXJzaXN0UmVwb3J0Q3Jhc2hSZXBvcnREZWNpc2lvbihzaG91bGRSZXBvcnQpO1xuICB9XG5cbiAgaWYgKCFzaG91bGRSZXBvcnQpIHtcbiAgICBsb2dnZXIuZGVidWcoXCJFcnJvciByZXBvcnRpbmcgZGlzYWJsZWRcIik7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICghcHJvY2Vzcy5lbnYuU0VOVFJZX0RTTikge1xuICAgIGxvZ2dlci5pbmZvKFwiRXJyb3IgcmVwb3J0aW5nIGRpc2FibGVkOiBTRU5UUllfRFNOIG5vdCBzZXRcIik7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbG9nZ2VyLmRlYnVnKFwiSW5pdGlhbGl6aW5nIGVycm9yIHJlcG9ydGluZ1wiKTtcblxuICBTZW50cnkuaW5pdCh7XG4gICAgYXV0b1Nlc3Npb25UcmFja2luZzogdHJ1ZSxcbiAgICBkc246IHByb2Nlc3MuZW52LlNFTlRSWV9EU04sXG4gICAgcmVsZWFzZTogYGNka3RuLWNsaS0ke0RJU1BMQVlfVkVSU0lPTn1gLFxuICAgIGFzeW5jIGJlZm9yZVNlbmQoZXZlbnQsIGhpbnQpIHtcbiAgICAgIGlmICghaGludCkge1xuICAgICAgICByZXR1cm4gZXZlbnQ7XG4gICAgICB9XG5cbiAgICAgIC8vIFRoZSBwcm9taXNlIGNoYXJhY3RlciBpcyBub3QgZG9jdW1lbnRlZCwgYnV0IGl0IGhhcHBlbnNcbiAgICAgIGNvbnN0IG9yaWdpbmFsRXhjZXB0aW9uOlxuICAgICAgICBQcm9taXNlPEVycm9yPiB8IEVycm9yIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB8IHVua25vd24gPVxuICAgICAgICBoaW50Lm9yaWdpbmFsRXhjZXB0aW9uO1xuICAgICAgbGV0IGVycm9yOiBFcnJvciB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgfCB1bmtub3duO1xuICAgICAgaWYgKGlzUHJvbWlzZShvcmlnaW5hbEV4Y2VwdGlvbikpIHtcbiAgICAgICAgKG9yaWdpbmFsRXhjZXB0aW9uIGFzIHVua25vd24gYXMgUHJvbWlzZTxFcnJvcj4pLmNhdGNoKFxuICAgICAgICAgIChlKSA9PiAoZXJyb3IgPSBlKSxcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFtvcmlnaW5hbEV4Y2VwdGlvbl0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IgPSBvcmlnaW5hbEV4Y2VwdGlvbjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyb3I/LnRvU3RyaW5nKCkgfHwgXCJcIjtcbiAgICAgIGlmIChlcnJvck1lc3NhZ2UuaW5jbHVkZXMoXCJVc2FnZSBFcnJvclwiKSkge1xuICAgICAgICAvLyBUaGlzIGlzIGEgdXNhZ2UgZXJyb3IsIHNvIHdlIGRvbid0IHdhbnQgdG8gcmVwb3J0IGl0XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGV2ZW50O1xuICAgIH0sXG4gIH0pO1xuXG4gIFNlbnRyeS5jb25maWd1cmVTY29wZShmdW5jdGlvbiAoc2NvcGUpIHtcbiAgICBzY29wZS5zZXRVc2VyKHtcbiAgICAgIGlkOiBnZXRVc2VySWQoKSxcbiAgICB9KTtcbiAgICBzY29wZS5zZXRUYWcoXCJwcm9qZWN0SWRcIiwgZ2V0UHJvamVjdElkKCkpO1xuICB9KTtcblxuICBsb2dnZXIuZGVidWcoXCJDb2xsZWN0aW5nIGVudmlyb25tZW50IGluZm9ybWF0aW9uIGZvciBlcnJvciByZXBvcnRpbmdcIik7XG4gIGNvbGxlY3REZWJ1Z0luZm9ybWF0aW9uKCkudGhlbigoZGVidWdPdXRwdXQpID0+IHtcbiAgICBTZW50cnkuc2V0Q29udGV4dChcImVudmlyb25tZW50XCIsIGRlYnVnT3V0cHV0KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYXB0dXJlRXhjZXB0aW9uKHtcbiAgbWVzc2FnZSxcbiAgdHlwZSxcbiAgY29tbWFuZCxcbiAgY29udGV4dCxcbn06IHtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGNvbW1hbmQ6IHN0cmluZztcbiAgY29udGV4dD86IFJlY29yZDxzdHJpbmcsIGFueT47XG59KSB7XG4gIGlmIChwcm9jZXNzLmVudi5TRU5UUllfRFNOICYmIHNob3VsZFJlcG9ydENyYXNoKCkpIHtcbiAgICBTZW50cnkuY2FwdHVyZUV4Y2VwdGlvbihuZXcgRXJyb3IobWVzc2FnZSksIHtcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAgY29udGV4dDogSlNPTi5zdHJpbmdpZnkoY29udGV4dCksXG4gICAgICAgIHR5cGUsXG4gICAgICAgIGNvbW1hbmQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
package/build/lib/watch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/lib/watch.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,mBAAmB,EACnB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/lib/watch.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,mBAAmB,EACnB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAsE3C,MAAM,MAAM,KAAK,GACb;IACE,IAAI,EAAE,SAAS,CAAC;CACjB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB,GACD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,wBAAsB,KAAK,CACzB,cAAc,EAAE,mBAAmB,EACnC,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,iBAiFzC"}
|
package/build/lib/watch.js
CHANGED
|
@@ -161,4 +161,4 @@ async function watch(projectOptions, mutationOptions, abortSignal, onStateChange
|
|
|
161
161
|
onFileChange();
|
|
162
162
|
await (0, commons_1.sendTelemetry)("watch", { event: "start" });
|
|
163
163
|
}
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3dhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUdBLHNCQXFGQztBQXhMRCwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLGdEQUF3QjtBQUN4QixtREFJeUI7QUFDekIsdUNBQXlCO0FBQ3pCLG1EQUFxQztBQUNyQyw0Q0FBK0Q7QUFHL0QsNkdBQTZHO0FBQzdHLHVGQUF1RjtBQUN2RiwySkFBMko7QUFDM0osNkRBQTZEO0FBQzdELFNBQVMsNEJBQTRCLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7SUFDL0QsTUFBTSxhQUFhLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDOUQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFFM0UsSUFBSSxTQUFTLENBQUM7SUFDZCxJQUFJLENBQUM7UUFDSCxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFBQyxPQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sZ0JBQU0sQ0FBQyxRQUFRLENBQ25CLHFDQUFxQyxXQUFXLEVBQUUsRUFDbEQsR0FBRyxDQUNKLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsZ0JBQU0sQ0FBQyxLQUFLLENBQUMscUNBQXFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sU0FBUyxDQUFDLFlBQVksQ0FBQztJQUNoQyxDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBTUUsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUVuQyxJ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QztRQUNoQixXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sWUFBWSxHQUFHLEdBQUcsRUFBRTtRQUN4QixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0IsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0IsV0FBVyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDL0MsT0FBTztRQUNULENBQUM7UUFFRCxXQUFXLENBQUM7WUFDVixJQUFJLEVBQUUsU0FBUztZQUNmLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLFVBQVUsRUFBRSxHQUFHLEVBQUU7WUFDakIsR0FBRyxhQUFhLEVBQUU7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUYsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDaEMscUJBQXFCO0lBQ3JCLFlBQVksRUFBRSxDQUFDO0lBRWYsTUFBTSxJQUFBLHVCQUFhLEVBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHtcbiAgQ2RrdGZQcm9qZWN0LFxuICBDZGt0ZlByb2plY3RPcHRpb25zLFxuICBNdXRhdGlvbk9wdGlvbnMsXG59IGZyb20gXCIuL2Nka3RmLXByb2plY3RcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgY2hva2lkYXIgZnJvbSBcImNob2tpZGFyXCI7XG5pbXBvcnQgeyBsb2dnZXIsIEVycm9ycywgc2VuZFRlbGVtZXRyeSB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgQ2RrdGZTdGFjayB9IGZyb20gXCIuL2Nka3RmLXN0YWNrXCI7XG5cbi8vIEluIHRoaXMgdmVyeSBmaXJzdCBpdGVyYXRpb24gd2Ugd2lsbCBmaW5kIG91dCB3aGljaCBmaWxlcyB0byB3YXRjaCBieSBhc2tpbmcgdGhlIHVzZXIgdG8gcHJvdmlkZSB0aGUgZmlsZXNcbi8vIFdlIGRlZmF1bHQgdG8gc29tZXRoaW5nIHJlYXNvbmFibGUgcGVyIGxhbmd1YWdlIGFuZCB3cml0ZSBpdCBpbnRvIHRoZSBjZGt0Lmpzb24gZmlsZVxuLy8gTWlkLVRlcm0gd2UgbWlnaHQgd2FudCB0byBhZGQgYSBXYXRjaEZpbGUgLyBXYXRjaERpciBjb25zdHJ1Y3QgdGhhdCB3ZSBjYW4gdXNlIChlLmcuIGluIGFzc2V0cykgYW5kIHRoYXQgYSB1c2VyIGNhbiB1c2UgdG8gc3BlY2lmeSB0aGVpciB3YXRjaCBiZWhhdmlvdXJcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vaGFzaGljb3JwL3RlcnJhZm9ybS1jZGsvaXNzdWVzLzE2NjhcbmZ1bmN0aW9uIGdldE9yV3JpdGVEZWZhdWx0V2F0Y2hDb25maWcocHJvamVjdFBhdGggPSBwcm9jZXNzLmN3ZCgpKSB7XG4gIGNvbnN0IGNka3RmSnNvblBhdGggPSBwYXRoLnJlc29sdmUocHJvamVjdFBhdGgsIFwiY2RrdGYuanNvblwiKTtcbiAgbG9nZ2VyLmRlYnVnKGBHZXR0aW5nIGZpbGVzIHRvIHdhdGNoIGZyb20gY2RrdGYuanNvbiBhdCAke2Nka3RmSnNvblBhdGh9YCk7XG5cbiAgbGV0IGNka3RmSnNvbjtcbiAgdHJ5IHtcbiAgICBjZGt0Zkpzb24gPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhjZGt0Zkpzb25QYXRoLCBcInV0Zi04XCIpKTtcbiAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICB0aHJvdyBFcnJvcnMuSW50ZXJuYWwoXG4gICAgICBgQ291bGQgbm90IGZpbmQgY2RrdGYuanNvbiBmaWxlIGluICR7cHJvamVjdFBhdGh9YCxcbiAgICAgIGVycixcbiAgICApO1xuICB9XG5cbiAgaWYgKGNka3RmSnNvbi53YXRjaFBhdHRlcm4pIHtcbiAgICBsb2dnZXIuZGVidWcoYEZvdW5kIHdhdGNoUGF0dGVybiBpbiBjZGt0Zi5qc29uOiAke2Nka3RmSnNvbi53YXRjaFBhdHRlcm59YCk7XG4gICAgcmV0dXJuIGNka3RmSnNvbi53YXRjaFBhdHRlcm47XG4gIH1cbiAgY29uc3QgbGFuZ3VhZ2U6XG4gICAgfCBcInR5cGVzY3JpcHRcIlxuICAgIHwgXCJweXRob25cIlxuICAgIHwgXCJqYXZhXCJcbiAgICB8IFwiY3NoYXJwXCJcbiAgICB8IFwiZ29cIlxuICAgIHwgdW5kZWZpbmVkID0gY2RrdGZKc29uLmxhbmd1YWdlO1xuXG4gIGlmICghbGFuZ3VhZ2UpIHtcbiAgICB0aHJvdyBFcnJvcnMuVXNhZ2UoXG4gICAgICBgTm8gbGFuZ3VhZ2Ugc3BlY2lmaWVkIGluIGNka3RmLmpzb24sIHBsZWFzZSBlaXRoZXIgc3BlY2lmeSBhIGxhbmd1YWdlIG9yIHdhdGNoUGF0dGVybiB0byB1c2UgdGhlIHdhdGNoIGNvbW1hbmRgLFxuICAgICk7XG4gIH1cblxuICBjb25zdCBkZWZhdWx0V2F0Y2hQYXR0ZXJuID0ge1xuICAgIHR5cGVzY3JpcHQ6IFtcIi4vKiovKi50c1wiXSxcbiAgICBweXRob246IFtcIi4vKiovKi5weVwiXSxcbiAgICBqYXZhOiBbXCJzcmMvKiovKi5qYXZhXCJdLFxuICAgIGNzaGFycDogW1wiLi8qKi8qLmNzXCJdLFxuICAgIGdvOiBbXCIuLyoqLyouZ29cIl0sXG4gIH1bbGFuZ3VhZ2VdO1xuXG4gIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgY2RrdGZKc29uUGF0aCxcbiAgICBKU09OLnN0cmluZ2lmeShcbiAgICAgIHsgLi4uY2RrdGZKc29uLCB3YXRjaFBhdHRlcm46IGRlZmF1bHRXYXRjaFBhdHRlcm4gfSxcbiAgICAgIG51bGwsXG4gICAgICAyLFxuICAgICksXG4gICk7XG4gIGxvZ2dlci5kZWJ1ZyhgV3JpdGUgZGVmYXVsdCB3YXRjaFBhdHRlcm4gZm9yICR7bGFuZ3VhZ2V9IGluIGNka3RmLmpzb24uYCk7XG5cbiAgcmV0dXJuIGRlZmF1bHRXYXRjaFBhdHRlcm47XG59XG5cbmNvbnN0IHByb2plY3RTdGF0dXMgPSAocHJvamVjdD86IENka3RmUHJvamVjdCkgPT4ge1xuICBpZiAoIXByb2plY3Q/LnN0YWNrc1RvUnVuLmxlbmd0aCkge1xuICAgIHJldHVybiB7XG4gICAgICBpblByb2dyZXNzOiBbXSxcbiAgICAgIGZpbmlzaGVkOiBbXSxcbiAgICAgIHBlbmRpbmc6IFtdLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBpblByb2dyZXNzID0gcHJvamVjdC5zdGFja3NUb1J1bi5maWx0ZXIoKHMpID0+IHMuaXNSdW5uaW5nKTtcbiAgY29uc3QgZmluaXNoZWQgPSBwcm9qZWN0LnN0YWNrc1RvUnVuLmZpbHRlcigocykgPT4gcy5pc0RvbmUpO1xuICBjb25zdCBwZW5kaW5nID0gcHJvamVjdC5zdGFja3NUb1J1bi5maWx0ZXIoKHMpID0+IHMuaXNQZW5kaW5nKTtcbiAgcmV0dXJuIHsgaW5Qcm9ncmVzcywgZmluaXNoZWQsIHBlbmRpbmcgfTtcbn07XG5cbmV4cG9ydCB0eXBlIFN0YXRlID1cbiAgfCB7XG4gICAgICB0eXBlOiBcIndhaXRpbmdcIjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJydW5uaW5nXCI7XG4gICAgICBuZXh0UnVuUXVldWVkOiBib29sZWFuO1xuICAgICAgY3VycmVudFJ1bjogUHJvbWlzZTx2b2lkPjtcbiAgICAgIGluUHJvZ3Jlc3M6IENka3RmU3RhY2tbXTtcbiAgICAgIGZpbmlzaGVkOiBDZGt0ZlN0YWNrW107XG4gICAgICBwZW5kaW5nOiBDZGt0ZlN0YWNrW107XG4gICAgfVxuICB8IHsgdHlwZTogXCJzdG9wcGVkXCIgfTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdhdGNoKFxuICBwcm9qZWN0T3B0aW9uczogQ2RrdGZQcm9qZWN0T3B0aW9ucyxcbiAgbXV0YXRpb25PcHRpb25zOiBNdXRhdGlvbk9wdGlvbnMsXG4gIGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCxcbiAgb25TdGF0ZUNoYW5nZTogKG5ld1N0YXRlOiBTdGF0ZSkgPT4gdm9pZCxcbikge1xuICBjb25zdCBwYXR0ZXJucyA9IGdldE9yV3JpdGVEZWZhdWx0V2F0Y2hDb25maWcoKTtcbiAgY29uc3Qgd2F0Y2hlciA9IGNob2tpZGFyLndhdGNoKHBhdHRlcm5zLCB7XG4gICAgaWdub3JlSW5pdGlhbDogdHJ1ZSxcbiAgfSk7XG4gIGxldCBzdGF0ZTogU3RhdGUgPSB7IHR5cGU6IFwid2FpdGluZ1wiIH07XG4gIGNvbnN0IGNoYW5nZVN0YXRlID0gKG5ld1N0YXRlOiBTdGF0ZSkgPT4ge1xuICAgIHN0YXRlID0gbmV3U3RhdGU7XG4gICAgb25TdGF0ZUNoYW5nZShzdGF0ZSk7XG4gIH07XG5cbiAgYXN5bmMgZnVuY3Rpb24gcnVuKCkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcIlJ1bm5pbmcgY2RrdG4gZGVwbG95XCIpO1xuICAgIGNvbnN0IHByb2plY3QgPSBuZXcgQ2RrdGZQcm9qZWN0KHtcbiAgICAgIHN5bnRoT3JpZ2luOiBcIndhdGNoXCIsXG4gICAgICAuLi5wcm9qZWN0T3B0aW9ucyxcbiAgICAgIG9uTG9nOiAobG9nKSA9PiB7XG4gICAgICAgIGlmIChwcm9qZWN0T3B0aW9ucy5vbkxvZykge1xuICAgICAgICAgIHByb2plY3RPcHRpb25zLm9uTG9nKGxvZyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRlLnR5cGUgPT09IFwicnVubmluZ1wiKSB7XG4gICAgICAgICAgY2hhbmdlU3RhdGUoeyAuLi5zdGF0ZSwgLi4ucHJvamVjdFN0YXR1cyhwcm9qZWN0KSB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBhYm9ydCA9ICgpID0+IHByb2plY3QuaGFyZEFib3J0KCk7XG4gICAgYWJvcnRTaWduYWwuYWRkRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsIGFib3J0KTtcbiAgICBhd2FpdCBwcm9qZWN0LmRlcGxveShtdXRhdGlvbk9wdGlvbnMpO1xuICAgIGFib3J0U2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLCBhYm9ydCk7XG4gICAgbG9nZ2VyLmRlYnVnKFwiY2RrdG4gZGVwbG95IGZpbmlzaGVkXCIpO1xuXG4gICAgaWYgKHN0YXRlLnR5cGUgIT09IFwicnVubmluZ1wiKSB7XG4gICAgICB0aHJvdyBFcnJvcnMuSW50ZXJuYWwoXG4gICAgICAgIFwiV2F0Y2ggd2FzIGluIGEgc3RhdGUgd2hlcmUgdGhlIHN0YXRlIHdhcyBub3QgcnVubmluZyBpbiB0aGUgcnVuIHBoYXNlXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChzdGF0ZS5uZXh0UnVuUXVldWVkKSB7XG4gICAgICBsb2dnZXIuZGVidWcoXCJOZXh0IHJ1biB3YXMgcXVldWVkLCBzdGFydGluZyBpdCBub3dcIik7XG4gICAgICBjaGFuZ2VTdGF0ZSh7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBuZXh0UnVuUXVldWVkOiBmYWxzZSxcbiAgICAgICAgY3VycmVudFJ1bjogcnVuKCksXG4gICAgICAgIC4uLnByb2plY3RTdGF0dXMocHJvamVjdCksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nZ2VyLmRlYnVnKFwiTm90aGluZyBxdWV1ZWQsIHdhaXRpbmcgZm9yIGNoYW5nZXNcIik7XG4gICAgICBjaGFuZ2VTdGF0ZSh7IHR5cGU6IFwid2FpdGluZ1wiIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFib3J0U2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLCAoKSA9PiB7XG4gICAgbG9nZ2VyLmRlYnVnKFwiQWJvcnQgc2lnbmFsIHJlY2VpdmVkLCBzdG9wcGluZyB3YXRjaFwiKTtcbiAgICB3YXRjaGVyLmNsb3NlKCk7XG4gICAgY2hhbmdlU3RhdGUoeyB0eXBlOiBcInN0b3BwZWRcIiB9KTtcbiAgfSk7XG5cbiAgY29uc3Qgb25GaWxlQ2hhbmdlID0gKCkgPT4ge1xuICAgIGlmIChzdGF0ZS50eXBlID09PSBcInN0b3BwZWRcIikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChzdGF0ZS50eXBlID09PSBcInJ1bm5pbmdcIikge1xuICAgICAgY2hhbmdlU3RhdGUoeyAuLi5zdGF0ZSwgbmV4dFJ1blF1ZXVlZDogdHJ1ZSB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjaGFuZ2VTdGF0ZSh7XG4gICAgICB0eXBlOiBcInJ1bm5pbmdcIixcbiAgICAgIG5leHRSdW5RdWV1ZWQ6IGZhbHNlLFxuICAgICAgY3VycmVudFJ1bjogcnVuKCksXG4gICAgICAuLi5wcm9qZWN0U3RhdHVzKCksXG4gICAgfSk7XG4gIH07XG5cbiAgd2F0Y2hlci5vbihcImFsbFwiLCBvbkZpbGVDaGFuZ2UpO1xuICAvLyBpbml0aWFsbHkgcnVuIG9uY2VcbiAgb25GaWxlQ2hhbmdlKCk7XG5cbiAgYXdhaXQgc2VuZFRlbGVtZXRyeShcIndhdGNoXCIsIHsgZXZlbnQ6IFwic3RhcnRcIiB9KTtcbn1cbiJdfQ==
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3dhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBK0ZBLHNCQXFGQztBQXBMRCwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLGdEQUF3QjtBQUN4QixtREFJeUI7QUFDekIsdUNBQXlCO0FBQ3pCLG1EQUFxQztBQUNyQyw0Q0FBK0Q7QUFHL0QsNkdBQTZHO0FBQzdHLHVGQUF1RjtBQUN2RiwySkFBMko7QUFDM0osNkRBQTZEO0FBQzdELFNBQVMsNEJBQTRCLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7SUFDL0QsTUFBTSxhQUFhLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDOUQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFFM0UsSUFBSSxTQUFTLENBQUM7SUFDZCxJQUFJLENBQUM7UUFDSCxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFBQyxPQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sZ0JBQU0sQ0FBQyxRQUFRLENBQ25CLHFDQUFxQyxXQUFXLEVBQUUsRUFDbEQsR0FBRyxDQUNKLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsZ0JBQU0sQ0FBQyxLQUFLLENBQUMscUNBQXFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sU0FBUyxDQUFDLFlBQVksQ0FBQztJQUNoQyxDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBRVosU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUVyQixJ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QztRQUNoQixXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sWUFBWSxHQUFHLEdBQUcsRUFBRTtRQUN4QixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0IsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0IsV0FBVyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDL0MsT0FBTztRQUNULENBQUM7UUFFRCxXQUFXLENBQUM7WUFDVixJQUFJLEVBQUUsU0FBUztZQUNmLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLFVBQVUsRUFBRSxHQUFHLEVBQUU7WUFDakIsR0FBRyxhQUFhLEVBQUU7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUYsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDaEMscUJBQXFCO0lBQ3JCLFlBQVksRUFBRSxDQUFDO0lBRWYsTUFBTSxJQUFBLHVCQUFhLEVBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHtcbiAgQ2RrdGZQcm9qZWN0LFxuICBDZGt0ZlByb2plY3RPcHRpb25zLFxuICBNdXRhdGlvbk9wdGlvbnMsXG59IGZyb20gXCIuL2Nka3RmLXByb2plY3RcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgY2hva2lkYXIgZnJvbSBcImNob2tpZGFyXCI7XG5pbXBvcnQgeyBsb2dnZXIsIEVycm9ycywgc2VuZFRlbGVtZXRyeSB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgQ2RrdGZTdGFjayB9IGZyb20gXCIuL2Nka3RmLXN0YWNrXCI7XG5cbi8vIEluIHRoaXMgdmVyeSBmaXJzdCBpdGVyYXRpb24gd2Ugd2lsbCBmaW5kIG91dCB3aGljaCBmaWxlcyB0byB3YXRjaCBieSBhc2tpbmcgdGhlIHVzZXIgdG8gcHJvdmlkZSB0aGUgZmlsZXNcbi8vIFdlIGRlZmF1bHQgdG8gc29tZXRoaW5nIHJlYXNvbmFibGUgcGVyIGxhbmd1YWdlIGFuZCB3cml0ZSBpdCBpbnRvIHRoZSBjZGt0Lmpzb24gZmlsZVxuLy8gTWlkLVRlcm0gd2UgbWlnaHQgd2FudCB0byBhZGQgYSBXYXRjaEZpbGUgLyBXYXRjaERpciBjb25zdHJ1Y3QgdGhhdCB3ZSBjYW4gdXNlIChlLmcuIGluIGFzc2V0cykgYW5kIHRoYXQgYSB1c2VyIGNhbiB1c2UgdG8gc3BlY2lmeSB0aGVpciB3YXRjaCBiZWhhdmlvdXJcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vaGFzaGljb3JwL3RlcnJhZm9ybS1jZGsvaXNzdWVzLzE2NjhcbmZ1bmN0aW9uIGdldE9yV3JpdGVEZWZhdWx0V2F0Y2hDb25maWcocHJvamVjdFBhdGggPSBwcm9jZXNzLmN3ZCgpKSB7XG4gIGNvbnN0IGNka3RmSnNvblBhdGggPSBwYXRoLnJlc29sdmUocHJvamVjdFBhdGgsIFwiY2RrdGYuanNvblwiKTtcbiAgbG9nZ2VyLmRlYnVnKGBHZXR0aW5nIGZpbGVzIHRvIHdhdGNoIGZyb20gY2RrdGYuanNvbiBhdCAke2Nka3RmSnNvblBhdGh9YCk7XG5cbiAgbGV0IGNka3RmSnNvbjtcbiAgdHJ5IHtcbiAgICBjZGt0Zkpzb24gPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhjZGt0Zkpzb25QYXRoLCBcInV0Zi04XCIpKTtcbiAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICB0aHJvdyBFcnJvcnMuSW50ZXJuYWwoXG4gICAgICBgQ291bGQgbm90IGZpbmQgY2RrdGYuanNvbiBmaWxlIGluICR7cHJvamVjdFBhdGh9YCxcbiAgICAgIGVycixcbiAgICApO1xuICB9XG5cbiAgaWYgKGNka3RmSnNvbi53YXRjaFBhdHRlcm4pIHtcbiAgICBsb2dnZXIuZGVidWcoYEZvdW5kIHdhdGNoUGF0dGVybiBpbiBjZGt0Zi5qc29uOiAke2Nka3RmSnNvbi53YXRjaFBhdHRlcm59YCk7XG4gICAgcmV0dXJuIGNka3RmSnNvbi53YXRjaFBhdHRlcm47XG4gIH1cbiAgY29uc3QgbGFuZ3VhZ2U6XG4gICAgXCJ0eXBlc2NyaXB0XCIgfCBcInB5dGhvblwiIHwgXCJqYXZhXCIgfCBcImNzaGFycFwiIHwgXCJnb1wiIHwgdW5kZWZpbmVkID1cbiAgICBjZGt0Zkpzb24ubGFuZ3VhZ2U7XG5cbiAgaWYgKCFsYW5ndWFnZSkge1xuICAgIHRocm93IEVycm9ycy5Vc2FnZShcbiAgICAgIGBObyBsYW5ndWFnZSBzcGVjaWZpZWQgaW4gY2RrdGYuanNvbiwgcGxlYXNlIGVpdGhlciBzcGVjaWZ5IGEgbGFuZ3VhZ2Ugb3Igd2F0Y2hQYXR0ZXJuIHRvIHVzZSB0aGUgd2F0Y2ggY29tbWFuZGAsXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGRlZmF1bHRXYXRjaFBhdHRlcm4gPSB7XG4gICAgdHlwZXNjcmlwdDogW1wiLi8qKi8qLnRzXCJdLFxuICAgIHB5dGhvbjogW1wiLi8qKi8qLnB5XCJdLFxuICAgIGphdmE6IFtcInNyYy8qKi8qLmphdmFcIl0sXG4gICAgY3NoYXJwOiBbXCIuLyoqLyouY3NcIl0sXG4gICAgZ286IFtcIi4vKiovKi5nb1wiXSxcbiAgfVtsYW5ndWFnZV07XG5cbiAgZnMud3JpdGVGaWxlU3luYyhcbiAgICBjZGt0Zkpzb25QYXRoLFxuICAgIEpTT04uc3RyaW5naWZ5KFxuICAgICAgeyAuLi5jZGt0Zkpzb24sIHdhdGNoUGF0dGVybjogZGVmYXVsdFdhdGNoUGF0dGVybiB9LFxuICAgICAgbnVsbCxcbiAgICAgIDIsXG4gICAgKSxcbiAgKTtcbiAgbG9nZ2VyLmRlYnVnKGBXcml0ZSBkZWZhdWx0IHdhdGNoUGF0dGVybiBmb3IgJHtsYW5ndWFnZX0gaW4gY2RrdGYuanNvbi5gKTtcblxuICByZXR1cm4gZGVmYXVsdFdhdGNoUGF0dGVybjtcbn1cblxuY29uc3QgcHJvamVjdFN0YXR1cyA9IChwcm9qZWN0PzogQ2RrdGZQcm9qZWN0KSA9PiB7XG4gIGlmICghcHJvamVjdD8uc3RhY2tzVG9SdW4ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluUHJvZ3Jlc3M6IFtdLFxuICAgICAgZmluaXNoZWQ6IFtdLFxuICAgICAgcGVuZGluZzogW10sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGluUHJvZ3Jlc3MgPSBwcm9qZWN0LnN0YWNrc1RvUnVuLmZpbHRlcigocykgPT4gcy5pc1J1bm5pbmcpO1xuICBjb25zdCBmaW5pc2hlZCA9IHByb2plY3Quc3RhY2tzVG9SdW4uZmlsdGVyKChzKSA9PiBzLmlzRG9uZSk7XG4gIGNvbnN0IHBlbmRpbmcgPSBwcm9qZWN0LnN0YWNrc1RvUnVuLmZpbHRlcigocykgPT4gcy5pc1BlbmRpbmcpO1xuICByZXR1cm4geyBpblByb2dyZXNzLCBmaW5pc2hlZCwgcGVuZGluZyB9O1xufTtcblxuZXhwb3J0IHR5cGUgU3RhdGUgPVxuICB8IHtcbiAgICAgIHR5cGU6IFwid2FpdGluZ1wiO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcInJ1bm5pbmdcIjtcbiAgICAgIG5leHRSdW5RdWV1ZWQ6IGJvb2xlYW47XG4gICAgICBjdXJyZW50UnVuOiBQcm9taXNlPHZvaWQ+O1xuICAgICAgaW5Qcm9ncmVzczogQ2RrdGZTdGFja1tdO1xuICAgICAgZmluaXNoZWQ6IENka3RmU3RhY2tbXTtcbiAgICAgIHBlbmRpbmc6IENka3RmU3RhY2tbXTtcbiAgICB9XG4gIHwgeyB0eXBlOiBcInN0b3BwZWRcIiB9O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2F0Y2goXG4gIHByb2plY3RPcHRpb25zOiBDZGt0ZlByb2plY3RPcHRpb25zLFxuICBtdXRhdGlvbk9wdGlvbnM6IE11dGF0aW9uT3B0aW9ucyxcbiAgYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLFxuICBvblN0YXRlQ2hhbmdlOiAobmV3U3RhdGU6IFN0YXRlKSA9PiB2b2lkLFxuKSB7XG4gIGNvbnN0IHBhdHRlcm5zID0gZ2V0T3JXcml0ZURlZmF1bHRXYXRjaENvbmZpZygpO1xuICBjb25zdCB3YXRjaGVyID0gY2hva2lkYXIud2F0Y2gocGF0dGVybnMsIHtcbiAgICBpZ25vcmVJbml0aWFsOiB0cnVlLFxuICB9KTtcbiAgbGV0IHN0YXRlOiBTdGF0ZSA9IHsgdHlwZTogXCJ3YWl0aW5nXCIgfTtcbiAgY29uc3QgY2hhbmdlU3RhdGUgPSAobmV3U3RhdGU6IFN0YXRlKSA9PiB7XG4gICAgc3RhdGUgPSBuZXdTdGF0ZTtcbiAgICBvblN0YXRlQ2hhbmdlKHN0YXRlKTtcbiAgfTtcblxuICBhc3luYyBmdW5jdGlvbiBydW4oKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFwiUnVubmluZyBjZGt0biBkZXBsb3lcIik7XG4gICAgY29uc3QgcHJvamVjdCA9IG5ldyBDZGt0ZlByb2plY3Qoe1xuICAgICAgc3ludGhPcmlnaW46IFwid2F0Y2hcIixcbiAgICAgIC4uLnByb2plY3RPcHRpb25zLFxuICAgICAgb25Mb2c6IChsb2cpID0+IHtcbiAgICAgICAgaWYgKHByb2plY3RPcHRpb25zLm9uTG9nKSB7XG4gICAgICAgICAgcHJvamVjdE9wdGlvbnMub25Mb2cobG9nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdGUudHlwZSA9PT0gXCJydW5uaW5nXCIpIHtcbiAgICAgICAgICBjaGFuZ2VTdGF0ZSh7IC4uLnN0YXRlLCAuLi5wcm9qZWN0U3RhdHVzKHByb2plY3QpIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IGFib3J0ID0gKCkgPT4gcHJvamVjdC5oYXJkQWJvcnQoKTtcbiAgICBhYm9ydFNpZ25hbC5hZGRFdmVudExpc3RlbmVyKFwiYWJvcnRcIiwgYWJvcnQpO1xuICAgIGF3YWl0IHByb2plY3QuZGVwbG95KG11dGF0aW9uT3B0aW9ucyk7XG4gICAgYWJvcnRTaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsIGFib3J0KTtcbiAgICBsb2dnZXIuZGVidWcoXCJjZGt0biBkZXBsb3kgZmluaXNoZWRcIik7XG5cbiAgICBpZiAoc3RhdGUudHlwZSAhPT0gXCJydW5uaW5nXCIpIHtcbiAgICAgIHRocm93IEVycm9ycy5JbnRlcm5hbChcbiAgICAgICAgXCJXYXRjaCB3YXMgaW4gYSBzdGF0ZSB3aGVyZSB0aGUgc3RhdGUgd2FzIG5vdCBydW5uaW5nIGluIHRoZSBydW4gcGhhc2VcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlLm5leHRSdW5RdWV1ZWQpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhcIk5leHQgcnVuIHdhcyBxdWV1ZWQsIHN0YXJ0aW5nIGl0IG5vd1wiKTtcbiAgICAgIGNoYW5nZVN0YXRlKHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIG5leHRSdW5RdWV1ZWQ6IGZhbHNlLFxuICAgICAgICBjdXJyZW50UnVuOiBydW4oKSxcbiAgICAgICAgLi4ucHJvamVjdFN0YXR1cyhwcm9qZWN0KSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2dnZXIuZGVidWcoXCJOb3RoaW5nIHF1ZXVlZCwgd2FpdGluZyBmb3IgY2hhbmdlc1wiKTtcbiAgICAgIGNoYW5nZVN0YXRlKHsgdHlwZTogXCJ3YWl0aW5nXCIgfSk7XG4gICAgfVxuICB9XG5cbiAgYWJvcnRTaWduYWwuYWRkRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsICgpID0+IHtcbiAgICBsb2dnZXIuZGVidWcoXCJBYm9ydCBzaWduYWwgcmVjZWl2ZWQsIHN0b3BwaW5nIHdhdGNoXCIpO1xuICAgIHdhdGNoZXIuY2xvc2UoKTtcbiAgICBjaGFuZ2VTdGF0ZSh7IHR5cGU6IFwic3RvcHBlZFwiIH0pO1xuICB9KTtcblxuICBjb25zdCBvbkZpbGVDaGFuZ2UgPSAoKSA9PiB7XG4gICAgaWYgKHN0YXRlLnR5cGUgPT09IFwic3RvcHBlZFwiKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlLnR5cGUgPT09IFwicnVubmluZ1wiKSB7XG4gICAgICBjaGFuZ2VTdGF0ZSh7IC4uLnN0YXRlLCBuZXh0UnVuUXVldWVkOiB0cnVlIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNoYW5nZVN0YXRlKHtcbiAgICAgIHR5cGU6IFwicnVubmluZ1wiLFxuICAgICAgbmV4dFJ1blF1ZXVlZDogZmFsc2UsXG4gICAgICBjdXJyZW50UnVuOiBydW4oKSxcbiAgICAgIC4uLnByb2plY3RTdGF0dXMoKSxcbiAgICB9KTtcbiAgfTtcblxuICB3YXRjaGVyLm9uKFwiYWxsXCIsIG9uRmlsZUNoYW5nZSk7XG4gIC8vIGluaXRpYWxseSBydW4gb25jZVxuICBvbkZpbGVDaGFuZ2UoKTtcblxuICBhd2FpdCBzZW5kVGVsZW1ldHJ5KFwid2F0Y2hcIiwgeyBldmVudDogXCJzdGFydFwiIH0pO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cdktn/cli-core",
|
|
3
|
-
"version": "0.25.0-pre.
|
|
3
|
+
"version": "0.25.0-pre.14",
|
|
4
4
|
"description": "CDK Terrain CLI Core, meant for internal use only",
|
|
5
5
|
"main": "build/lib/index.js",
|
|
6
6
|
"types": "build/lib/index.d.ts",
|
|
@@ -47,11 +47,11 @@
|
|
|
47
47
|
"xml-js": "1.6.11",
|
|
48
48
|
"xstate": "5.32.4",
|
|
49
49
|
"zod": "4.4.3",
|
|
50
|
-
"@cdktn/commons": "0.25.0-pre.
|
|
51
|
-
"@cdktn/hcl-tools": "0.25.0-pre.
|
|
52
|
-
"@cdktn/hcl2cdk": "0.25.0-pre.
|
|
53
|
-
"@cdktn/provider-schema": "0.25.0-pre.
|
|
54
|
-
"cdktn": "0.25.0-pre.
|
|
50
|
+
"@cdktn/commons": "0.25.0-pre.14",
|
|
51
|
+
"@cdktn/hcl-tools": "0.25.0-pre.14",
|
|
52
|
+
"@cdktn/hcl2cdk": "0.25.0-pre.14",
|
|
53
|
+
"@cdktn/provider-schema": "0.25.0-pre.14",
|
|
54
|
+
"cdktn": "0.25.0-pre.14"
|
|
55
55
|
},
|
|
56
56
|
"lint-staged": {
|
|
57
57
|
"src/**/*.{ts,tsx}": "tsc-files ambient.d.ts --noEmit"
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"prettier": "2.8.8",
|
|
66
66
|
"tsc-files": "1.1.4",
|
|
67
67
|
"typescript": "~6.0.0",
|
|
68
|
-
"@cdktn/provider-generator": "0.25.0-pre.
|
|
68
|
+
"@cdktn/provider-generator": "0.25.0-pre.14"
|
|
69
69
|
},
|
|
70
70
|
"engines": {
|
|
71
71
|
"node": ">=22.19.0"
|