cdk-serverless 2.11.1 → 2.11.2
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/lib/projen/rest-api.js +2 -2
- package/package.json +1 -1
package/lib/projen/rest-api.js
CHANGED
|
@@ -71,7 +71,7 @@ class RestApi extends pj.Component {
|
|
|
71
71
|
new lazy_sampledir_1.LazySampleDir(this.project, 'src/lambda', {
|
|
72
72
|
fileGenerator: this.generateSampleHandlerFiles.bind(this),
|
|
73
73
|
});
|
|
74
|
-
const apiFile = new pj.TextFile(this.project,
|
|
74
|
+
const apiFile = new pj.TextFile(this.project, `src/generated/rest.${this.options.apiName.toLowerCase()}-api.generated.ts`);
|
|
75
75
|
apiFile.addLine(this.createConstructFile(apiFile));
|
|
76
76
|
}
|
|
77
77
|
createConstructFile(file) {
|
|
@@ -187,4 +187,4 @@ export const handler = ${factoryCall}
|
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
189
|
exports.RestApi = RestApi;
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVuL3Jlc3QtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLCtCQUE0QjtBQUM1Qiw4Q0FBZ0M7QUFFaEMsMkNBQTZCO0FBQzdCLGlDQUFzQztBQUN0QyxxREFBaUQ7QUFPakQsTUFBYSxPQUFRLFNBQVEsRUFBRSxDQUFDLFNBQVM7SUFFdkMsWUFBWSxHQUFrQyxFQUFZLE9BQXVCO1FBQy9FLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUQ2QyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUcvRSxHQUFHLENBQUMsVUFBVSxDQUNaLG1CQUFtQixFQUNuQixtQkFBbUIsQ0FDcEIsQ0FBQztRQUNGLEdBQUcsQ0FBQyxPQUFPLENBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxvQkFBb0IsQ0FDckIsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRTtZQUNoRixJQUFJLEVBQUUsc0JBQXNCLE9BQU8sQ0FBQyxjQUFjLGdDQUFnQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxxQkFBcUI7WUFDcEksV0FBVyxFQUFFLCtDQUErQztTQUM3RCxDQUFDLENBQUM7UUFDSCxHQUFHLENBQUMsV0FBWSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVyQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFO1lBQ3RELFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNsQixPQUFPLEVBQUUsT0FBTztnQkFDaEIsS0FBSyxFQUFFO29CQUNMLFFBQVEsRUFBRTt3QkFDUixHQUFHLEVBQUU7NEJB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Q0FBQyxJQUFJLENBQUMsRUFBRTt3QkFDakQsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksaUJBQWlCLFFBQVEsQ0FBQyxJQUFJLG1EQUFtRCxDQUFDLENBQUM7cUJBQ2pIO2lCQUNGO2dCQUNELEtBQUssTUFBTSxNQUFNLElBQUksUUFBUSxFQUFFO29CQUM3QixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO3dCQUN4RCxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQ25GLHFCQUFxQjt3QkFDckIsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO3FCQUNqRTtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FFRjtBQXZMRCwwQkF1TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyB5YW1sIGZyb20gJ2pzLXlhbWwnO1xuaW1wb3J0IHsgT3BlbkFQSTMsIE9wZXJhdGlvbk9iamVjdCwgUGF0aEl0ZW1PYmplY3QgfSBmcm9tICdvcGVuYXBpLXR5cGVzY3JpcHQnO1xuaW1wb3J0ICogYXMgcGogZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFBBQ0tBR0VfTkFNRSB9IGZyb20gJy4vY29yZSc7XG5pbXBvcnQgeyBMYXp5U2FtcGxlRGlyIH0gZnJvbSAnLi9sYXp5LXNhbXBsZWRpcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdEFwaU9wdGlvbnMge1xuICByZWFkb25seSBhcGlOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlZmluaXRpb25GaWxlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBSZXN0QXBpIGV4dGVuZHMgcGouQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcihhcHA6IHBqLmF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwLCBwcm90ZWN0ZWQgb3B0aW9uczogUmVzdEFwaU9wdGlvbnMpIHtcbiAgICBzdXBlcihhcHApO1xuXG4gICAgYXBwLmFkZERldkRlcHMoXG4gICAgICAnQHR5cGVzL2F3cy1sYW1iZGEnLFxuICAgICAgJ0B0eXBlcy9sYW1iZGEtbG9nJyxcbiAgICApO1xuICAgIGFwcC5hZGREZXBzKFxuICAgICAgJ2VzYnVpbGQnLFxuICAgICAgJ2pzLXlhbWwnLFxuICAgICAgJ29wZW5hcGktdHlwZXNjcmlwdCcsXG4gICAgKTtcblxuICAgIGNvbnN0IGdlbmVyYXRlVGFzayA9IGFwcC5hZGRUYXNrKGBnZW5lcmF0ZTphcGk6JHtvcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX1gLCB7XG4gICAgICBleGVjOiBgb3BlbmFwaS10eXBlc2NyaXB0ICR7b3B0aW9ucy5kZWZpbml0aW9uRmlsZX0gLS1vdXRwdXQgc3JjL2dlbmVyYXRlZC9yZXN0LiR7b3B0aW9ucy5hcGlOYW1lLnRvTG93ZXJDYXNlKCl9LW1vZGVsLmdlbmVyYXRlZC50c2AsXG4gICAgICBkZXNjcmlwdGlvbjogJ0dlbmVyYXRlIFR5cGVzIGZyb20gdGhlIE9wZW5BUEkgc3BlY2lmaWNhdGlvbicsXG4gICAgfSk7XG4gICAgYXBwLmRlZmF1bHRUYXNrIS5zcGF3bihnZW5lcmF0ZVRhc2spO1xuXG4gICAgbmV3IHBqLlNhbXBsZUZpbGUodGhpcy5wcm9qZWN0LCBvcHRpb25zLmRlZmluaXRpb25GaWxlLCB7XG4gICAgICBjb250ZW50czogeWFtbC5kdW1wKHtcbiAgICAgICAgb3BlbmFwaTogJzMuMC4xJyxcbiAgICAgICAgcGF0aHM6IHtcbiAgICAgICAgICAnL2hlbGxvJzoge1xuICAgICAgICAgICAgZ2V0OiB7XG4gICAgICAgICAgICAgIG9wZXJhdGlvbklkOiAnaGVsbG9Xb3JsZCcsXG4gICAgICAgICAgICAgIHJlc3BvbnNlczoge1xuICAgICAgICAgICAgICAgIDIwMDoge1xuICAgICAgICAgICAgICAgICAgY29udGVudDoge1xuICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbic6IHtcbiAgICAgICAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGluZm86IHtcbiAgICAgICAgICB0aXRsZTogYCR7dGhpcy5vcHRpb25zLmFwaU5hbWV9IEFQSSBkZWZpbml0aW9uYCxcbiAgICAgICAgICB2ZXJzaW9uOiAnMS4wJyxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgbmV3IExhenlTYW1wbGVEaXIodGhpcy5wcm9qZWN0LCAnc3JjL2xhbWJkYScsIHtcbiAgICAgIGZpbGVHZW5lcmF0b3I6IHRoaXMuZ2VuZXJhdGVTYW1wbGVIYW5kbGVyRmlsZXMuYmluZCh0aGlzKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGFwaUZpbGUgPSBuZXcgcGouVGV4dEZpbGUodGhpcy5wcm9qZWN0LCBgJHt0aGlzLnByb2plY3Qub3V0ZGlyfS9zcmMvZ2VuZXJhdGVkL3Jlc3QuJHt0aGlzLm9wdGlvbnMuYXBpTmFtZS50b0xvd2VyQ2FzZSgpfS1hcGkuZ2VuZXJhdGVkLnRzYCk7XG4gICAgYXBpRmlsZS5hZGRMaW5lKHRoaXMuY3JlYXRlQ29uc3RydWN0RmlsZShhcGlGaWxlKSk7XG5cbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb25zdHJ1Y3RGaWxlKGZpbGU6IHBqLkZpbGVCYXNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYC8vICR7ZmlsZS5tYXJrZXJ9XG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBSZXN0QXBpLCBSZXN0QXBpUHJvcHMgfSBmcm9tICcke1BBQ0tBR0VfTkFNRX0vbGliL2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgb3BlcmF0aW9ucywgcGF0aHMgfSBmcm9tICcuL3Jlc3QuJHt0aGlzLm9wdGlvbnMuYXBpTmFtZS50b0xvd2VyQ2FzZSgpfS1tb2RlbC5nZW5lcmF0ZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlICR7dGhpcy5vcHRpb25zLmFwaU5hbWV9UmVzdEFwaVByb3BzIGV4dGVuZHMgT21pdDxSZXN0QXBpUHJvcHM8b3BlcmF0aW9ucz4sICdkZWZpbml0aW9uRmlsZU5hbWUnIHwgJ2FwaU5hbWUnPiB7XG4gIC8vXG59XG5cbmV4cG9ydCBjbGFzcyAke3RoaXMub3B0aW9ucy5hcGlOYW1lfVJlc3RBcGkgZXh0ZW5kcyBSZXN0QXBpPHBhdGhzLCBvcGVyYXRpb25zPiB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6ICR7dGhpcy5vcHRpb25zLmFwaU5hbWV9UmVzdEFwaVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGFwaU5hbWU6ICcke3RoaXMub3B0aW9ucy5hcGlOYW1lfScsXG4gICAgICBkZWZpbml0aW9uRmlsZU5hbWU6ICcke3RoaXMub3B0aW9ucy5kZWZpbml0aW9uRmlsZX0nLFxuICAgIH0pO1xuICB9XG5cbn1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIHZhbGlkYXRlUGF0aFJlZihhcGlTcGVjOiBPcGVuQVBJMywgcGF0aDogc3RyaW5nLCB2aXNpdGVkOiBzdHJpbmdbXSA9IFtdKTogYm9vbGVhbiB7XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoJyMnKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gcmVzb2x2ZSByZWYgJyR7cGF0aH0nIC0gUmVzb2x2aW5nIHJlZmVyZW5jZXMgdG8gcGF0aHMgZnJvbSBkaWZmZXJlbnQgZmlsZXMgaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWRgKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXRoUHJldHR5U3BsaXQgPVxuICAgICAgcGF0aFxuICAgICAgICAuc3BsaXQoJy8nKVxuICAgICAgICAuc2xpY2UoMSlcbiAgICAgICAgLm1hcChwYXRoUGFydCA9PlxuICAgICAgICAgIHBhdGhQYXJ0XG4gICAgICAgICAgICAucmVwbGFjZSgnfjEnLCAnLycpXG4gICAgICAgICAgICAucmVwbGFjZSgnfjAnLCAnficpLFxuICAgICAgICApO1xuXG4gICAgaWYgKHZpc2l0ZWQuaW5jbHVkZXMocGF0aFByZXR0eVNwbGl0WzFdKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDeWNsaWNhbCByZWZlcmVuY2UgZXhpc3RzIGJldHdlZW4gcGF0aHM6ICR7dmlzaXRlZC5qb2luKCcsICcpfWApO1xuICAgIH1cblxuXG4gICAgY29uc3QgbWF5YmVQYXRoID0gcGF0aFByZXR0eVNwbGl0LnJlZHVjZSgoYWNjLCBwYXRoUGFydCkgPT4ge1xuICAgICAgaWYgKE9iamVjdC5rZXlzKGFjYykuaW5jbHVkZXMocGF0aFBhcnQpKSB7XG4gICAgICAgIHJldHVybiBhY2NbcGF0aFBhcnRdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9LCBhcGlTcGVjIGFzIGFueSk7XG4gICAgaWYgKG1heWJlUGF0aCkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtYXliZVBhdGgsICckcmVmJykpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVQYXRoUmVmKGFwaVNwZWMsIG1heWJlUGF0aC4kcmVmLCBbLi4udmlzaXRlZCwgcGF0aFByZXR0eVNwbGl0WzFdXSk7XG4gICAgICB9XG4gICAgICAvLyBDbG9zZXN0IHRoaW5nIHRvIG1ha2luZyBzdXJlIHRoZSByZWYgYWN0dWFsbHkgaXMgYSBwYXRoIG9iamVjdFxuICAgICAgcmV0dXJuIFsnZ2V0JywgJ3Bvc3QnLCAncHV0JywgJ2RlbGV0ZScsICdwYXRjaCcsICdvcHRpb25zJywgJ2hlYWQnXS5zb21lKG1ldGhvZCA9PiBPYmplY3Qua2V5cyhtYXliZVBhdGgpLmluZGV4T2YobWV0aG9kKSA+PSAwKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFkZFJlc3RSZXNvdXJjZUhhbmRsZXJTYW1wbGUoZmlsZXM6IHsgW2ZpbGVOYW1lOiBzdHJpbmddOiAoKSA9PiBzdHJpbmcgfSwgYXBpU3BlYzogT3BlbkFQSTMsIHBhdGg6IHN0cmluZywgbWV0aG9kOiBzdHJpbmcpIHtcbiAgICBjb25zdCBvYVBhdGggPSBhcGlTcGVjLnBhdGhzIVtwYXRoXSBhcyBQYXRoSXRlbU9iamVjdDtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBvYVBhdGhbbWV0aG9kIGFzIGtleW9mIFBhdGhJdGVtT2JqZWN0XSBhcyBPcGVyYXRpb25PYmplY3Q7XG4gICAgY29uc3Qgb3BlcmF0aW9uSWQgPSBvcGVyYXRpb24ub3BlcmF0aW9uSWQhO1xuICAgIC8vIGNvbnN0IGRlc2NyaXB0aW9uID0gYCR7bWV0aG9kIGFzIHN0cmluZ30gJHtwYXRoIGFzIHN0cmluZ30gLSAke29wZXJhdGlvbi5zdW1tYXJ5fWA7XG5cbiAgICBjb25zdCBlbnRyeUZpbGUgPSBgcmVzdC4ke3RoaXMub3B0aW9ucy5hcGlOYW1lLnRvTG93ZXJDYXNlKCl9LiR7b3BlcmF0aW9uSWR9LnRzYDtcbiAgICBmaWxlc1tlbnRyeUZpbGVdID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRW50cnlGaWxlKG1ldGhvZCwgb3BlcmF0aW9uSWQpO1xuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlRW50cnlGaWxlKG1ldGhvZDogc3RyaW5nLCBvcGVyYXRpb25JZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgZmFjdG9yeUNhbGw7XG4gICAgbGV0IGxvZ3M7XG4gICAgc3dpdGNoIChtZXRob2QudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSAncG9zdCc6XG4gICAgICBjYXNlICdwdXQnOlxuICAgICAgY2FzZSAncGF0Y2gnOlxuICAgICAgICBmYWN0b3J5Q2FsbCA9IGBhcGkuY3JlYXRlT3BlbkFwaUhhbmRsZXJXaXRoUmVxdWVzdEJvZHk8b3BlcmF0aW9uc1snJHtvcGVyYXRpb25JZH0nXT4oYXN5bmMgKGN0eCwgZGF0YSkgPT4ge2A7XG4gICAgICAgIGxvZ3MgPSAnY3R4LmxvZ2dlci5pbmZvKEpTT04uc3RyaW5naWZ5KGRhdGEpKTsnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ29wdGlvbnMnOlxuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgIGNhc2UgJ2dldCc6XG4gICAgICBjYXNlICdoZWFkJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGZhY3RvcnlDYWxsID0gYGFwaS5jcmVhdGVPcGVuQXBpSGFuZGxlcjxvcGVyYXRpb25zWycke29wZXJhdGlvbklkfSddPihhc3luYyAoY3R4KSA9PiB7YDtcbiAgICAgICAgbG9ncyA9ICcnO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gYGltcG9ydCB7IGFwaSwgZXJyb3JzIH0gZnJvbSAnJHtQQUNLQUdFX05BTUV9L2xpYi9sYW1iZGEnO1xuaW1wb3J0IHsgb3BlcmF0aW9ucyB9IGZyb20gJy4uL2dlbmVyYXRlZC9yZXN0LiR7dGhpcy5vcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX0tbW9kZWwuZ2VuZXJhdGVkJztcblxuZXhwb3J0IGNvbnN0IGhhbmRsZXIgPSAke2ZhY3RvcnlDYWxsfVxuICBjdHgubG9nZ2VyLmluZm8oSlNPTi5zdHJpbmdpZnkoY3R4LmV2ZW50KSk7XG4gICR7bG9nc31cbiAgdGhyb3cgbmV3IGVycm9ycy5IdHRwRXJyb3IoNTAwLCAnTm90IHlldCBpbXBsZW1lbnRlZCcpO1xufSk7YDtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVTYW1wbGVIYW5kbGVyRmlsZXMoKTogeyBbZmlsZU5hbWU6IHN0cmluZ106ICgoKSA9PiBzdHJpbmcpIH0ge1xuICAgIGNvbnN0IGZpbGVzID0ge307XG4gICAgY29uc3QgYXBpU3BlYyA9IHlhbWwubG9hZChmcy5yZWFkRmlsZVN5bmMoam9pbih0aGlzLnByb2plY3Qub3V0ZGlyLCB0aGlzLm9wdGlvbnMuZGVmaW5pdGlvbkZpbGUpKS50b1N0cmluZygpKSBhcyBPcGVuQVBJMztcbiAgICBmb3IgKGNvbnN0IHBhdGggaW4gYXBpU3BlYy5wYXRocykge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhcGlTcGVjLnBhdGhzLCBwYXRoKSkge1xuICAgICAgICBjb25zdCBwYXRoSXRlbSA9IGFwaVNwZWMucGF0aHNbcGF0aF07XG4gICAgICAgIGlmICgoJyRyZWYnIGluIHBhdGhJdGVtKSkge1xuICAgICAgICAgIGlmICghdGhpcy52YWxpZGF0ZVBhdGhSZWYoYXBpU3BlYywgcGF0aEl0ZW0uJHJlZikpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUGF0aCAnJHtwYXRofScgcmVmZXJlbmNlcyAnJHtwYXRoSXRlbS4kcmVmfScsIHdoaWNoIGRvZXMgbm90IGV4aXN0IGluIHRoaXMgQVBJIHNwZWNpZmljYXRpb25gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBtZXRob2QgaW4gcGF0aEl0ZW0pIHtcbiAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHBhdGhJdGVtLCBtZXRob2QpICYmXG4gICAgICAgICAgICBbJ2dldCcsICdwb3N0JywgJ3B1dCcsICdkZWxldGUnLCAncGF0Y2gnLCAnb3B0aW9ucycsICdoZWFkJ10uaW5kZXhPZihtZXRob2QpID49IDApIHtcbiAgICAgICAgICAgIC8vIEFkZCBhbGwgb3BlcmF0aW9uc1xuICAgICAgICAgICAgdGhpcy5hZGRSZXN0UmVzb3VyY2VIYW5kbGVyU2FtcGxlKGZpbGVzLCBhcGlTcGVjLCBwYXRoLCBtZXRob2QpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmlsZXM7XG4gIH1cblxufSJdfQ==
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVuL3Jlc3QtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLCtCQUE0QjtBQUM1Qiw4Q0FBZ0M7QUFFaEMsMkNBQTZCO0FBQzdCLGlDQUFzQztBQUN0QyxxREFBaUQ7QUFPakQsTUFBYSxPQUFRLFNBQVEsRUFBRSxDQUFDLFNBQVM7SUFFdkMsWUFBWSxHQUFrQyxFQUFZLE9BQXVCO1FBQy9FLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUQ2QyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUcvRSxHQUFHLENBQUMsVUFBVSxDQUNaLG1CQUFtQixFQUNuQixtQkFBbUIsQ0FDcEIsQ0FBQztRQUNGLEdBQUcsQ0FBQyxPQUFPLENBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxvQkFBb0IsQ0FDckIsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRTtZQUNoRixJQUFJLEVBQUUsc0JBQXNCLE9BQU8sQ0FBQyxjQUFjLGdDQUFnQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxxQkFBcUI7WUFDcEksV0FBVyxFQUFFLCtDQUErQztTQUM3RCxDQUFDLENBQUM7UUFDSCxHQUFHLENBQUMsV0FBWSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVyQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFO1lBQ3RELFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNsQixPQUFPLEVBQUUsT0FBTztnQkFDaEIsS0FBSyxFQUFFO29CQUNMLFFBQVEsRUFBRTt3QkFDUixHQUFHLEVBQUU7NEJB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TSxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksaUJBQWlCLFFBQVEsQ0FBQyxJQUFJLG1EQUFtRCxDQUFDLENBQUM7cUJBQ2pIO2lCQUNGO2dCQUNELEtBQUssTUFBTSxNQUFNLElBQUksUUFBUSxFQUFFO29CQUM3QixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO3dCQUN4RCxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQ25GLHFCQUFxQjt3QkFDckIsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO3FCQUNqRTtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FFRjtBQXZMRCwwQkF1TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyB5YW1sIGZyb20gJ2pzLXlhbWwnO1xuaW1wb3J0IHsgT3BlbkFQSTMsIE9wZXJhdGlvbk9iamVjdCwgUGF0aEl0ZW1PYmplY3QgfSBmcm9tICdvcGVuYXBpLXR5cGVzY3JpcHQnO1xuaW1wb3J0ICogYXMgcGogZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFBBQ0tBR0VfTkFNRSB9IGZyb20gJy4vY29yZSc7XG5pbXBvcnQgeyBMYXp5U2FtcGxlRGlyIH0gZnJvbSAnLi9sYXp5LXNhbXBsZWRpcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdEFwaU9wdGlvbnMge1xuICByZWFkb25seSBhcGlOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlZmluaXRpb25GaWxlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBSZXN0QXBpIGV4dGVuZHMgcGouQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcihhcHA6IHBqLmF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwLCBwcm90ZWN0ZWQgb3B0aW9uczogUmVzdEFwaU9wdGlvbnMpIHtcbiAgICBzdXBlcihhcHApO1xuXG4gICAgYXBwLmFkZERldkRlcHMoXG4gICAgICAnQHR5cGVzL2F3cy1sYW1iZGEnLFxuICAgICAgJ0B0eXBlcy9sYW1iZGEtbG9nJyxcbiAgICApO1xuICAgIGFwcC5hZGREZXBzKFxuICAgICAgJ2VzYnVpbGQnLFxuICAgICAgJ2pzLXlhbWwnLFxuICAgICAgJ29wZW5hcGktdHlwZXNjcmlwdCcsXG4gICAgKTtcblxuICAgIGNvbnN0IGdlbmVyYXRlVGFzayA9IGFwcC5hZGRUYXNrKGBnZW5lcmF0ZTphcGk6JHtvcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX1gLCB7XG4gICAgICBleGVjOiBgb3BlbmFwaS10eXBlc2NyaXB0ICR7b3B0aW9ucy5kZWZpbml0aW9uRmlsZX0gLS1vdXRwdXQgc3JjL2dlbmVyYXRlZC9yZXN0LiR7b3B0aW9ucy5hcGlOYW1lLnRvTG93ZXJDYXNlKCl9LW1vZGVsLmdlbmVyYXRlZC50c2AsXG4gICAgICBkZXNjcmlwdGlvbjogJ0dlbmVyYXRlIFR5cGVzIGZyb20gdGhlIE9wZW5BUEkgc3BlY2lmaWNhdGlvbicsXG4gICAgfSk7XG4gICAgYXBwLmRlZmF1bHRUYXNrIS5zcGF3bihnZW5lcmF0ZVRhc2spO1xuXG4gICAgbmV3IHBqLlNhbXBsZUZpbGUodGhpcy5wcm9qZWN0LCBvcHRpb25zLmRlZmluaXRpb25GaWxlLCB7XG4gICAgICBjb250ZW50czogeWFtbC5kdW1wKHtcbiAgICAgICAgb3BlbmFwaTogJzMuMC4xJyxcbiAgICAgICAgcGF0aHM6IHtcbiAgICAgICAgICAnL2hlbGxvJzoge1xuICAgICAgICAgICAgZ2V0OiB7XG4gICAgICAgICAgICAgIG9wZXJhdGlvbklkOiAnaGVsbG9Xb3JsZCcsXG4gICAgICAgICAgICAgIHJlc3BvbnNlczoge1xuICAgICAgICAgICAgICAgIDIwMDoge1xuICAgICAgICAgICAgICAgICAgY29udGVudDoge1xuICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbic6IHtcbiAgICAgICAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGluZm86IHtcbiAgICAgICAgICB0aXRsZTogYCR7dGhpcy5vcHRpb25zLmFwaU5hbWV9IEFQSSBkZWZpbml0aW9uYCxcbiAgICAgICAgICB2ZXJzaW9uOiAnMS4wJyxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgbmV3IExhenlTYW1wbGVEaXIodGhpcy5wcm9qZWN0LCAnc3JjL2xhbWJkYScsIHtcbiAgICAgIGZpbGVHZW5lcmF0b3I6IHRoaXMuZ2VuZXJhdGVTYW1wbGVIYW5kbGVyRmlsZXMuYmluZCh0aGlzKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGFwaUZpbGUgPSBuZXcgcGouVGV4dEZpbGUodGhpcy5wcm9qZWN0LCBgc3JjL2dlbmVyYXRlZC9yZXN0LiR7dGhpcy5vcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX0tYXBpLmdlbmVyYXRlZC50c2ApO1xuICAgIGFwaUZpbGUuYWRkTGluZSh0aGlzLmNyZWF0ZUNvbnN0cnVjdEZpbGUoYXBpRmlsZSkpO1xuXG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQ29uc3RydWN0RmlsZShmaWxlOiBwai5GaWxlQmFzZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAvLyAke2ZpbGUubWFya2VyfVxuLyogZXNsaW50LWRpc2FibGUgKi9cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgUmVzdEFwaSwgUmVzdEFwaVByb3BzIH0gZnJvbSAnJHtQQUNLQUdFX05BTUV9L2xpYi9jb25zdHJ1Y3RzJztcbmltcG9ydCB7IG9wZXJhdGlvbnMsIHBhdGhzIH0gZnJvbSAnLi9yZXN0LiR7dGhpcy5vcHRpb25zLmFwaU5hbWUudG9Mb3dlckNhc2UoKX0tbW9kZWwuZ2VuZXJhdGVkJztcblxuZXhwb3J0IGludGVyZmFjZSAke3RoaXMub3B0aW9ucy5hcGlOYW1lfVJlc3RBcGlQcm9wcyBleHRlbmRzIE9taXQ8UmVzdEFwaVByb3BzPG9wZXJhdGlvbnM+LCAnZGVmaW5pdGlvbkZpbGVOYW1lJyB8ICdhcGlOYW1lJz4ge1xuICAvL1xufVxuXG5leHBvcnQgY2xhc3MgJHt0aGlzLm9wdGlvbnMuYXBpTmFtZX1SZXN0QXBpIGV4dGVuZHMgUmVzdEFwaTxwYXRocywgb3BlcmF0aW9ucz4ge1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiAke3RoaXMub3B0aW9ucy5hcGlOYW1lfVJlc3RBcGlQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBhcGlOYW1lOiAnJHt0aGlzLm9wdGlvbnMuYXBpTmFtZX0nLFxuICAgICAgZGVmaW5pdGlvbkZpbGVOYW1lOiAnJHt0aGlzLm9wdGlvbnMuZGVmaW5pdGlvbkZpbGV9JyxcbiAgICB9KTtcbiAgfVxuXG59YDtcbiAgfVxuXG4gIHByb3RlY3RlZCB2YWxpZGF0ZVBhdGhSZWYoYXBpU3BlYzogT3BlbkFQSTMsIHBhdGg6IHN0cmluZywgdmlzaXRlZDogc3RyaW5nW10gPSBbXSk6IGJvb2xlYW4ge1xuICAgIGlmICghcGF0aC5zdGFydHNXaXRoKCcjJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHJlc29sdmUgcmVmICcke3BhdGh9JyAtIFJlc29sdmluZyByZWZlcmVuY2VzIHRvIHBhdGhzIGZyb20gZGlmZmVyZW50IGZpbGVzIGlzIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkYCk7XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aFByZXR0eVNwbGl0ID1cbiAgICAgIHBhdGhcbiAgICAgICAgLnNwbGl0KCcvJylcbiAgICAgICAgLnNsaWNlKDEpXG4gICAgICAgIC5tYXAocGF0aFBhcnQgPT5cbiAgICAgICAgICBwYXRoUGFydFxuICAgICAgICAgICAgLnJlcGxhY2UoJ34xJywgJy8nKVxuICAgICAgICAgICAgLnJlcGxhY2UoJ34wJywgJ34nKSxcbiAgICAgICAgKTtcblxuICAgIGlmICh2aXNpdGVkLmluY2x1ZGVzKHBhdGhQcmV0dHlTcGxpdFsxXSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ3ljbGljYWwgcmVmZXJlbmNlIGV4aXN0cyBiZXR3ZWVuIHBhdGhzOiAke3Zpc2l0ZWQuam9pbignLCAnKX1gKTtcbiAgICB9XG5cblxuICAgIGNvbnN0IG1heWJlUGF0aCA9IHBhdGhQcmV0dHlTcGxpdC5yZWR1Y2UoKGFjYywgcGF0aFBhcnQpID0+IHtcbiAgICAgIGlmIChPYmplY3Qua2V5cyhhY2MpLmluY2x1ZGVzKHBhdGhQYXJ0KSkge1xuICAgICAgICByZXR1cm4gYWNjW3BhdGhQYXJ0XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSwgYXBpU3BlYyBhcyBhbnkpO1xuICAgIGlmIChtYXliZVBhdGgpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobWF5YmVQYXRoLCAnJHJlZicpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlUGF0aFJlZihhcGlTcGVjLCBtYXliZVBhdGguJHJlZiwgWy4uLnZpc2l0ZWQsIHBhdGhQcmV0dHlTcGxpdFsxXV0pO1xuICAgICAgfVxuICAgICAgLy8gQ2xvc2VzdCB0aGluZyB0byBtYWtpbmcgc3VyZSB0aGUgcmVmIGFjdHVhbGx5IGlzIGEgcGF0aCBvYmplY3RcbiAgICAgIHJldHVybiBbJ2dldCcsICdwb3N0JywgJ3B1dCcsICdkZWxldGUnLCAncGF0Y2gnLCAnb3B0aW9ucycsICdoZWFkJ10uc29tZShtZXRob2QgPT4gT2JqZWN0LmtleXMobWF5YmVQYXRoKS5pbmRleE9mKG1ldGhvZCkgPj0gMCk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhZGRSZXN0UmVzb3VyY2VIYW5kbGVyU2FtcGxlKGZpbGVzOiB7IFtmaWxlTmFtZTogc3RyaW5nXTogKCkgPT4gc3RyaW5nIH0sIGFwaVNwZWM6IE9wZW5BUEkzLCBwYXRoOiBzdHJpbmcsIG1ldGhvZDogc3RyaW5nKSB7XG4gICAgY29uc3Qgb2FQYXRoID0gYXBpU3BlYy5wYXRocyFbcGF0aF0gYXMgUGF0aEl0ZW1PYmplY3Q7XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gb2FQYXRoW21ldGhvZCBhcyBrZXlvZiBQYXRoSXRlbU9iamVjdF0gYXMgT3BlcmF0aW9uT2JqZWN0O1xuICAgIGNvbnN0IG9wZXJhdGlvbklkID0gb3BlcmF0aW9uLm9wZXJhdGlvbklkITtcbiAgICAvLyBjb25zdCBkZXNjcmlwdGlvbiA9IGAke21ldGhvZCBhcyBzdHJpbmd9ICR7cGF0aCBhcyBzdHJpbmd9IC0gJHtvcGVyYXRpb24uc3VtbWFyeX1gO1xuXG4gICAgY29uc3QgZW50cnlGaWxlID0gYHJlc3QuJHt0aGlzLm9wdGlvbnMuYXBpTmFtZS50b0xvd2VyQ2FzZSgpfS4ke29wZXJhdGlvbklkfS50c2A7XG4gICAgZmlsZXNbZW50cnlGaWxlXSA9ICgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUVudHJ5RmlsZShtZXRob2QsIG9wZXJhdGlvbklkKTtcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUVudHJ5RmlsZShtZXRob2Q6IHN0cmluZywgb3BlcmF0aW9uSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IGZhY3RvcnlDYWxsO1xuICAgIGxldCBsb2dzO1xuICAgIHN3aXRjaCAobWV0aG9kLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgJ3Bvc3QnOlxuICAgICAgY2FzZSAncHV0JzpcbiAgICAgIGNhc2UgJ3BhdGNoJzpcbiAgICAgICAgZmFjdG9yeUNhbGwgPSBgYXBpLmNyZWF0ZU9wZW5BcGlIYW5kbGVyV2l0aFJlcXVlc3RCb2R5PG9wZXJhdGlvbnNbJyR7b3BlcmF0aW9uSWR9J10+KGFzeW5jIChjdHgsIGRhdGEpID0+IHtgO1xuICAgICAgICBsb2dzID0gJ2N0eC5sb2dnZXIuaW5mbyhKU09OLnN0cmluZ2lmeShkYXRhKSk7JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdvcHRpb25zJzpcbiAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICBjYXNlICdnZXQnOlxuICAgICAgY2FzZSAnaGVhZCc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBmYWN0b3J5Q2FsbCA9IGBhcGkuY3JlYXRlT3BlbkFwaUhhbmRsZXI8b3BlcmF0aW9uc1snJHtvcGVyYXRpb25JZH0nXT4oYXN5bmMgKGN0eCkgPT4ge2A7XG4gICAgICAgIGxvZ3MgPSAnJztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIGBpbXBvcnQgeyBhcGksIGVycm9ycyB9IGZyb20gJyR7UEFDS0FHRV9OQU1FfS9saWIvbGFtYmRhJztcbmltcG9ydCB7IG9wZXJhdGlvbnMgfSBmcm9tICcuLi9nZW5lcmF0ZWQvcmVzdC4ke3RoaXMub3B0aW9ucy5hcGlOYW1lLnRvTG93ZXJDYXNlKCl9LW1vZGVsLmdlbmVyYXRlZCc7XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gJHtmYWN0b3J5Q2FsbH1cbiAgY3R4LmxvZ2dlci5pbmZvKEpTT04uc3RyaW5naWZ5KGN0eC5ldmVudCkpO1xuICAke2xvZ3N9XG4gIHRocm93IG5ldyBlcnJvcnMuSHR0cEVycm9yKDUwMCwgJ05vdCB5ZXQgaW1wbGVtZW50ZWQnKTtcbn0pO2A7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlU2FtcGxlSGFuZGxlckZpbGVzKCk6IHsgW2ZpbGVOYW1lOiBzdHJpbmddOiAoKCkgPT4gc3RyaW5nKSB9IHtcbiAgICBjb25zdCBmaWxlcyA9IHt9O1xuICAgIGNvbnN0IGFwaVNwZWMgPSB5YW1sLmxvYWQoZnMucmVhZEZpbGVTeW5jKGpvaW4odGhpcy5wcm9qZWN0Lm91dGRpciwgdGhpcy5vcHRpb25zLmRlZmluaXRpb25GaWxlKSkudG9TdHJpbmcoKSkgYXMgT3BlbkFQSTM7XG4gICAgZm9yIChjb25zdCBwYXRoIGluIGFwaVNwZWMucGF0aHMpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYXBpU3BlYy5wYXRocywgcGF0aCkpIHtcbiAgICAgICAgY29uc3QgcGF0aEl0ZW0gPSBhcGlTcGVjLnBhdGhzW3BhdGhdO1xuICAgICAgICBpZiAoKCckcmVmJyBpbiBwYXRoSXRlbSkpIHtcbiAgICAgICAgICBpZiAoIXRoaXMudmFsaWRhdGVQYXRoUmVmKGFwaVNwZWMsIHBhdGhJdGVtLiRyZWYpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBhdGggJyR7cGF0aH0nIHJlZmVyZW5jZXMgJyR7cGF0aEl0ZW0uJHJlZn0nLCB3aGljaCBkb2VzIG5vdCBleGlzdCBpbiB0aGlzIEFQSSBzcGVjaWZpY2F0aW9uYCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgbWV0aG9kIGluIHBhdGhJdGVtKSB7XG4gICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXRoSXRlbSwgbWV0aG9kKSAmJlxuICAgICAgICAgICAgWydnZXQnLCAncG9zdCcsICdwdXQnLCAnZGVsZXRlJywgJ3BhdGNoJywgJ29wdGlvbnMnLCAnaGVhZCddLmluZGV4T2YobWV0aG9kKSA+PSAwKSB7XG4gICAgICAgICAgICAvLyBBZGQgYWxsIG9wZXJhdGlvbnNcbiAgICAgICAgICAgIHRoaXMuYWRkUmVzdFJlc291cmNlSGFuZGxlclNhbXBsZShmaWxlcywgYXBpU3BlYywgcGF0aCwgbWV0aG9kKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZpbGVzO1xuICB9XG5cbn0iXX0=
|