@decaf-ts/utils 0.2.7 → 0.2.8
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/LICENSE.md +0 -0
- package/README.md +0 -0
- package/bin/build-scripts.cjs +507 -67
- package/bin/tag-release.cjs +505 -67
- package/bin/tag-release.sh +0 -0
- package/bin/update-scripts.cjs +505 -67
- package/dist/assets/slogans.json +0 -0
- package/dist/utils.cjs +8 -150
- package/dist/utils.esm.cjs +4 -145
- package/lib/assets/slogans.json +0 -0
- package/lib/bin/build-scripts.d.ts +0 -0
- package/lib/bin/tag-release.d.ts +0 -0
- package/lib/bin/update-scripts.d.ts +0 -0
- package/lib/cli/command.cjs +0 -0
- package/lib/cli/command.d.ts +0 -0
- package/lib/cli/commands/build-scripts.cjs +3 -1
- package/lib/cli/commands/build-scripts.d.ts +0 -0
- package/lib/cli/commands/index.cjs +0 -0
- package/lib/cli/commands/index.d.ts +0 -0
- package/lib/cli/commands/tag-release.cjs +0 -0
- package/lib/cli/commands/tag-release.d.ts +0 -0
- package/lib/cli/commands/update-scripts.cjs +0 -0
- package/lib/cli/commands/update-scripts.d.ts +0 -0
- package/lib/cli/constants.cjs +0 -0
- package/lib/cli/constants.d.ts +0 -0
- package/lib/cli/index.cjs +0 -0
- package/lib/cli/index.d.ts +0 -0
- package/lib/cli/types.cjs +0 -0
- package/lib/cli/types.d.ts +0 -0
- package/lib/esm/assets/slogans.json +0 -0
- package/lib/esm/bin/build-scripts.d.ts +0 -0
- package/lib/esm/bin/build-scripts.js +0 -0
- package/lib/esm/bin/tag-release.d.ts +0 -0
- package/lib/esm/bin/tag-release.js +0 -0
- package/lib/esm/bin/update-scripts.d.ts +0 -0
- package/lib/esm/bin/update-scripts.js +0 -0
- package/lib/esm/cli/command.d.ts +0 -0
- package/lib/esm/cli/command.js +0 -0
- package/lib/esm/cli/commands/build-scripts.d.ts +0 -0
- package/lib/esm/cli/commands/build-scripts.js +3 -1
- package/lib/esm/cli/commands/index.d.ts +0 -0
- package/lib/esm/cli/commands/index.js +0 -0
- package/lib/esm/cli/commands/tag-release.d.ts +0 -0
- package/lib/esm/cli/commands/tag-release.js +0 -0
- package/lib/esm/cli/commands/update-scripts.d.ts +0 -0
- package/lib/esm/cli/commands/update-scripts.js +0 -0
- package/lib/esm/cli/constants.d.ts +0 -0
- package/lib/esm/cli/constants.js +0 -0
- package/lib/esm/cli/index.d.ts +0 -0
- package/lib/esm/cli/index.js +0 -0
- package/lib/esm/cli/types.d.ts +0 -0
- package/lib/esm/cli/types.js +0 -0
- package/lib/esm/index.d.ts +0 -0
- package/lib/esm/index.js +0 -0
- package/lib/esm/input/index.d.ts +0 -0
- package/lib/esm/input/index.js +0 -0
- package/lib/esm/input/input.d.ts +0 -0
- package/lib/esm/input/input.js +0 -0
- package/lib/esm/input/types.d.ts +0 -0
- package/lib/esm/input/types.js +0 -0
- package/lib/esm/output/common.d.ts +0 -0
- package/lib/esm/output/common.js +0 -0
- package/lib/esm/output/index.d.ts +0 -0
- package/lib/esm/output/index.js +0 -0
- package/lib/esm/utils/constants.d.ts +0 -0
- package/lib/esm/utils/constants.js +0 -0
- package/lib/esm/utils/environment.d.ts +1 -1
- package/lib/esm/utils/environment.js +2 -2
- package/lib/esm/utils/fs.d.ts +0 -0
- package/lib/esm/utils/fs.js +0 -0
- package/lib/esm/utils/http.d.ts +0 -0
- package/lib/esm/utils/http.js +0 -0
- package/lib/esm/utils/index.d.ts +0 -0
- package/lib/esm/utils/index.js +0 -0
- package/lib/esm/utils/md.d.ts +0 -0
- package/lib/esm/utils/md.js +0 -0
- package/lib/esm/utils/tests.d.ts +0 -0
- package/lib/esm/utils/tests.js +0 -0
- package/lib/esm/utils/text.d.ts +0 -0
- package/lib/esm/utils/text.js +0 -0
- package/lib/esm/utils/timeout.d.ts +0 -0
- package/lib/esm/utils/timeout.js +0 -0
- package/lib/esm/utils/types.d.ts +0 -0
- package/lib/esm/utils/types.js +0 -0
- package/lib/esm/utils/utils.d.ts +0 -0
- package/lib/esm/utils/utils.js +0 -0
- package/lib/esm/utils/web.d.ts +0 -0
- package/lib/esm/utils/web.js +0 -0
- package/lib/esm/writers/OutputWriter.d.ts +0 -0
- package/lib/esm/writers/OutputWriter.js +0 -0
- package/lib/esm/writers/RegexpOutputWriter.d.ts +0 -0
- package/lib/esm/writers/RegexpOutputWriter.js +0 -0
- package/lib/esm/writers/StandardOutputWriter.d.ts +0 -0
- package/lib/esm/writers/StandardOutputWriter.js +0 -0
- package/lib/esm/writers/index.d.ts +0 -0
- package/lib/esm/writers/index.js +0 -0
- package/lib/esm/writers/types.d.ts +0 -0
- package/lib/esm/writers/types.js +0 -0
- package/lib/index.cjs +0 -0
- package/lib/index.d.ts +0 -0
- package/lib/input/index.cjs +0 -0
- package/lib/input/index.d.ts +0 -0
- package/lib/input/input.cjs +0 -0
- package/lib/input/input.d.ts +0 -0
- package/lib/input/types.cjs +0 -0
- package/lib/input/types.d.ts +0 -0
- package/lib/output/common.cjs +0 -0
- package/lib/output/common.d.ts +0 -0
- package/lib/output/index.cjs +0 -0
- package/lib/output/index.d.ts +0 -0
- package/lib/utils/constants.cjs +0 -0
- package/lib/utils/constants.d.ts +0 -0
- package/lib/utils/environment.cjs +3 -3
- package/lib/utils/environment.d.ts +1 -1
- package/lib/utils/fs.cjs +0 -0
- package/lib/utils/fs.d.ts +0 -0
- package/lib/utils/http.cjs +0 -0
- package/lib/utils/http.d.ts +0 -0
- package/lib/utils/index.cjs +0 -0
- package/lib/utils/index.d.ts +0 -0
- package/lib/utils/md.cjs +0 -0
- package/lib/utils/md.d.ts +0 -0
- package/lib/utils/tests.cjs +0 -0
- package/lib/utils/tests.d.ts +0 -0
- package/lib/utils/text.cjs +0 -0
- package/lib/utils/text.d.ts +0 -0
- package/lib/utils/timeout.cjs +0 -0
- package/lib/utils/timeout.d.ts +0 -0
- package/lib/utils/types.cjs +0 -0
- package/lib/utils/types.d.ts +0 -0
- package/lib/utils/utils.cjs +0 -0
- package/lib/utils/utils.d.ts +0 -0
- package/lib/utils/web.cjs +0 -0
- package/lib/utils/web.d.ts +0 -0
- package/lib/writers/OutputWriter.cjs +0 -0
- package/lib/writers/OutputWriter.d.ts +0 -0
- package/lib/writers/RegexpOutputWriter.cjs +0 -0
- package/lib/writers/RegexpOutputWriter.d.ts +0 -0
- package/lib/writers/StandardOutputWriter.cjs +0 -0
- package/lib/writers/StandardOutputWriter.d.ts +0 -0
- package/lib/writers/index.cjs +0 -0
- package/lib/writers/index.d.ts +0 -0
- package/lib/writers/types.cjs +0 -0
- package/lib/writers/types.d.ts +0 -0
- package/package.json +3 -2
- package/lib/esm/utils/accumulator.d.ts +0 -105
- package/lib/esm/utils/accumulator.js +0 -144
- package/lib/utils/accumulator.cjs +0 -148
- package/lib/utils/accumulator.d.ts +0 -105
package/lib/assets/slogans.json
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/bin/tag-release.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/cli/command.cjs
CHANGED
|
File without changes
|
package/lib/cli/command.d.ts
CHANGED
|
File without changes
|
|
@@ -122,6 +122,7 @@ class BuildScripts extends command_1.Command {
|
|
|
122
122
|
async bundle(mode, isDev, isLib, entryFile = "src/index.ts", nameOverride = this.pkgName, externals, include = [
|
|
123
123
|
"prompts",
|
|
124
124
|
"styled-string-builder",
|
|
125
|
+
"typed-object-accumulator",
|
|
125
126
|
"@decaf-ts/logging",
|
|
126
127
|
]) {
|
|
127
128
|
const isEsm = mode === Modes.ESM;
|
|
@@ -139,6 +140,7 @@ class BuildScripts extends command_1.Command {
|
|
|
139
140
|
"child_process",
|
|
140
141
|
"util",
|
|
141
142
|
"https",
|
|
143
|
+
"tslib",
|
|
142
144
|
],
|
|
143
145
|
...(externals || []),
|
|
144
146
|
]));
|
|
@@ -274,4 +276,4 @@ class BuildScripts extends command_1.Command {
|
|
|
274
276
|
}
|
|
275
277
|
}
|
|
276
278
|
exports.BuildScripts = BuildScripts;
|
|
277
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtc2NyaXB0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvYnVpbGQtc2NyaXB0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx3Q0FBcUM7QUFFckMsNENBQTJFO0FBQzNFLHVDQVVxQjtBQUNyQiw0Q0FBb0I7QUFDcEIsZ0RBQXdCO0FBQ3hCLG1DQUEwRTtBQUMxRSxrRkFBbUQ7QUFDbkQsOEVBQStDO0FBQy9DLHFFQUEwRDtBQUMxRCxzRUFBdUM7QUFHdkMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDO0FBRXJDLElBQUssS0FHSjtBQUhELFdBQUssS0FBSztJQUNSLHlCQUFnQixDQUFBO0lBQ2hCLHVCQUFjLENBQUE7QUFDaEIsQ0FBQyxFQUhJLEtBQUssS0FBTCxLQUFLLFFBR1Q7QUFFRCxNQUFNLFFBQVEsR0FBRyxDQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUVwRSxNQUFNLE9BQU8sR0FBRztJQUNkLElBQUksRUFBRTtRQUNKLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLEtBQUs7S0FDZjtJQUNELEdBQUcsRUFBRTtRQUNILElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLEtBQUs7S0FDZjtJQUNELElBQUksRUFBRTtRQUNKLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLEtBQUs7S0FDZjtJQUNELFFBQVEsRUFBRTtRQUNSLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLEtBQUs7S0FDZjtJQUNELE1BQU0sRUFBRTtRQUNOLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLEtBQUs7S0FDZjtDQUNGLENBQUM7QUFFRixNQUFhLFlBQWEsU0FBUSxpQkFHakM7SUFLQztRQUNFLEtBQUssQ0FDSCxjQUFjLEVBQ2QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsaUNBQXFCLEVBQUUsT0FBTyxD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QUFFLENBQUM7WUFDVCxPQUFPLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFuU0Qsb0NBbVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gXCIuLi9jb21tYW5kXCI7XG5pbXBvcnQgeyBDb21tYW5kT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgRGVmYXVsdENvbW1hbmRPcHRpb25zLCBEZWZhdWx0Q29tbWFuZFZhbHVlcyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7XG4gIGNvcHlGaWxlLFxuICBkZWxldGVQYXRoLFxuICBnZXRBbGxGaWxlcyxcbiAgZ2V0UGFja2FnZSxcbiAgcGF0Y2hGaWxlLFxuICByZWFkRmlsZSxcbiAgcmVuYW1lRmlsZSxcbiAgcnVuQ29tbWFuZCxcbiAgd3JpdGVGaWxlLFxufSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyByb2xsdXAsIElucHV0T3B0aW9ucywgT3V0cHV0T3B0aW9ucywgUm9sbHVwQnVpbGQgfSBmcm9tIFwicm9sbHVwXCI7XG5pbXBvcnQgdHlwZXNjcmlwdCBmcm9tIFwiQHJvbGx1cC9wbHVnaW4tdHlwZXNjcmlwdFwiO1xuaW1wb3J0IGNvbW1vbmpzIGZyb20gXCJAcm9sbHVwL3BsdWdpbi1jb21tb25qc1wiO1xuaW1wb3J0IHsgbm9kZVJlc29sdmUgfSBmcm9tIFwiQHJvbGx1cC9wbHVnaW4tbm9kZS1yZXNvbHZlXCI7XG5pbXBvcnQganNvbiBmcm9tIFwiQHJvbGx1cC9wbHVnaW4tanNvblwiO1xuaW1wb3J0IHsgTG9nZ2luZ0NvbmZpZyB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuXG5jb25zdCBWRVJTSU9OX1NUUklORyA9IFwiIyNWRVJTSU9OIyNcIjtcblxuZW51bSBNb2RlcyB7XG4gIENKUyA9IFwiY29tbW9uanNcIixcbiAgRVNNID0gXCJlczIwMjJcIixcbn1cblxuY29uc3QgQ29tbWFuZHMgPSBbXCJ1cGRhdGUtc2NyaXB0c1wiLCBcInRhZy1yZWxlYXNlXCIsIFwiYnVpbGQtc2NyaXB0c1wiXTtcblxuY29uc3Qgb3B0aW9ucyA9IHtcbiAgcHJvZDoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBkZXY6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZG9jczoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBjb21tYW5kczoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBiYW5uZXI6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbn07XG5cbmV4cG9ydCBjbGFzcyBCdWlsZFNjcmlwdHMgZXh0ZW5kcyBDb21tYW5kPFxuICBDb21tYW5kT3B0aW9uczx0eXBlb2Ygb3B0aW9ucz4sXG4gIHZvaWRcbj4ge1xuICBwcml2YXRlIHJlcGxhY2VtZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBwcml2YXRlIHJlYWRvbmx5IHBrZ1ZlcnNpb246IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBwa2dOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXG4gICAgICBcIkJ1aWxkU2NyaXB0c1wiLFxuICAgICAgT2JqZWN0LmFzc2lnbih7fSwgRGVmYXVsdENvbW1hbmRPcHRpb25zLCBvcHRpb25zKSBhcyBDb21tYW5kT3B0aW9uczxcbiAgICAgICAgdHlwZW9mIG9wdGlvbnNcbiAgICAgID5cbiAgICApO1xuICAgIGNvbnN0IHBrZyA9IGdldFBhY2thZ2UoKSBhcyB7IG5hbWU6IHN0cmluZzsgdmVyc2lvbjogc3RyaW5nIH07XG4gICAgY29uc3QgeyBuYW1lLCB2ZXJzaW9uIH0gPSBwa2c7XG4gICAgdGhpcy5wa2dOYW1lID0gbmFtZS5pbmNsdWRlcyhcIkBcIikgPyBuYW1lLnNwbGl0KFwiL1wiKVsxXSA6IG5hbWU7XG4gICAgdGhpcy5wa2dWZXJzaW9uID0gdmVyc2lvbjtcbiAgICB0aGlzLnJlcGxhY2VtZW50c1tWRVJTSU9OX1NUUklOR10gPSB0aGlzLnBrZ1ZlcnNpb247XG4gIH1cblxuICBwYXRjaENqc0ltcG9ydHMoZmlsZTogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVnZXhwID0gLyhyZXF1aXJlXFwoW1wiJ10pKFxcLi4qPykoW1wiJ11cXClbOyxdKS9nO1xuICAgIGxldCBkYXRhID0gcmVhZEZpbGUoZmlsZSk7XG4gICAgZGF0YSA9IGRhdGEucmVwbGFjZShyZWdleHAsIChtYXRjaCwgLi4uZ3JvdXBzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgY29uc3QgcmVuYW1lZEZpbGUgPSBncm91cHNbMV0gKyBcIi5janNcIjtcbiAgICAgIGNvbnN0IGRpcm5hbWUgPSBwYXRoLmRpcm5hbWUoZmlsZSkucmVwbGFjZShcImxpYlwiLCBcInNyY1wiKTtcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gZ3JvdXBzWzFdICsgXCIudHNcIjtcbiAgICAgIGNvbnN0IHNvdXJjZUZpbGVQYXRoID0gcGF0aC5qb2luKGRpcm5hbWUsIGZpbGVOYW1lKTtcblxuICAgICAgbGV0IHJlc3VsdDtcbiAgICAgIGlmICghZnMuZXhpc3RzU3luYyhzb3VyY2VGaWxlUGF0aCkpIHtcbiAgICAgICAgcmVzdWx0ID0gZ3JvdXBzWzBdICsgZ3JvdXBzWzFdICsgXCIvaW5kZXguY2pzXCIgKyBncm91cHNbMl07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSBncm91cHNbMF0gKyByZW5hbWVkRmlsZSArIGdyb3Vwc1syXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcbiAgICB3cml0ZUZpbGUoZmlsZSwgZGF0YSk7XG4gIH1cblxuICBwYXRjaEZpbGVzKHA6IHN0cmluZykge1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLnBhdGNoRmlsZXMpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmVyc2lvbiB9ID0gZ2V0UGFja2FnZSgpIGFzIGFueTtcbiAgICBsb2cuaW5mbyhgUGF0Y2hpbmcgJHtuYW1lfSAke3ZlcnNpb259IG1vZHVsZSBpbiAke3B9Li4uYCk7XG4gICAgY29uc3Qgc3RhdCA9IGZzLnN0YXRTeW5jKHApO1xuICAgIGlmIChzdGF0LmlzRGlyZWN0b3J5KCkpXG4gICAgICBmcy5yZWFkZGlyU3luYyhwLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUsIHJlY3Vyc2l2ZTogdHJ1ZSB9KVxuICAgICAgICAuZmlsdGVyKChwKSA9PiBwLmlzRmlsZSgpKVxuICAgICAgICAuZm9yRWFjaCgoZmlsZSkgPT5cbiAgICAgICAgICBwYXRjaEZpbGUocGF0aC5qb2luKGZpbGUucGFyZW50UGF0aCwgZmlsZS5uYW1lKSwgdGhpcy5yZXBsYWNlbWVudHMpXG4gICAgICAgICk7XG4gICAgbG9nLnZlcmJvc2UoYE1vZHVsZSAke25hbWV9ICR7dmVyc2lvbn0gcGF0Y2hlZCBpbiAke3B9Li4uYCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGJ1aWxkKGlzRGV2OiBib29sZWFuLCBtb2RlOiBNb2RlcywgYnVuZGxlID0gZmFsc2UpIHtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5idWlsZCk7XG4gICAgbG9nLmluZm8oXG4gICAgICBgQnVpbGRpbmcgJHt0aGlzLnBrZ05hbWV9ICR7dGhpcy5wa2dWZXJzaW9ufSBtb2R1bGUgKCR7bW9kZX0pIGluICR7aXNEZXYgPyBcImRldlwiIDogXCJwcm9kXCJ9IG1vZGUuLi5gXG4gICAgKTtcblxuICAgIGF3YWl0IHJ1bkNvbW1hbmQoXG4gICAgICBgbnB4IHRzYyAtLW1vZHVsZSAke2J1bmRsZSA/IFwiYW1kXCIgOiBtb2RlfSR7aXNEZXYgPyBcIiAtLWlubGluZVNvdXJjZU1hcFwiIDogXCIgLS1zb3VyY2VNYXAgZmFsc2VcIn0gLS1vdXREaXIgJHtidW5kbGUgPyBcImRpc3RcIiA6IGBsaWIke21vZGUgPT09IE1vZGVzLkVTTSA/IFwiL2VzbVwiIDogXCJcIn1gfSR7YnVuZGxlID8gYCAtLWlzb2xhdGVkTW9kdWxlcyBmYWxzZSAtLW91dEZpbGUgJHt0aGlzLnBrZ05hbWV9YCA6IFwiXCJ9YFxuICAgICkucHJvbWlzZTtcbiAgICBsb2cudmVyYm9zZShcbiAgICAgIGBNb2R1bGUgJHt0aGlzLnBrZ05hbWV9ICR7dGhpcy5wa2dWZXJzaW9ufSAoJHttb2RlfSkgYnVpbHQgaW4gJHtpc0RldiA/IFwiZGV2XCIgOiBcInByb2RcIn0gbW9kZS4uLmBcbiAgICApO1xuICAgIGlmIChtb2RlID09PSBNb2Rlcy5DSlMgJiYgIWJ1bmRsZSkge1xuICAgICAgY29uc3QgZmlsZXMgPSBnZXRBbGxGaWxlcyhcbiAgICAgICAgXCJsaWJcIixcbiAgICAgICAgKGZpbGUpID0+IGZpbGUuZW5kc1dpdGgoXCIuanNcIikgJiYgIWZpbGUuaW5jbHVkZXMoXCIvZXNtL1wiKVxuICAgICAgKTtcblxuICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICAgIGxvZy52ZXJib3NlKGBQYXRjaGluZyAke2ZpbGV9J3MgY2pzIGltcG9ydHMuLi5gKTtcbiAgICAgICAgY29uc3QgZiA9IGZpbGUucmVwbGFjZShcIi5qc1wiLCBcIi5janNcIik7XG4gICAgICAgIGF3YWl0IHJlbmFtZUZpbGUoZmlsZSwgZik7XG4gICAgICAgIHRoaXMucGF0Y2hDanNJbXBvcnRzKGYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvcHlBc3NldHMobW9kZTogTW9kZXMpIHtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5jb3B5QXNzZXRzKTtcbiAgICBsZXQgaGFzQXNzZXRzID0gZmFsc2U7XG4gICAgdHJ5IHtcbiAgICAgIGhhc0Fzc2V0cyA9IGZzLnN0YXRTeW5jKFwiLi9zcmMvYXNzZXRzXCIpLmlzRGlyZWN0b3J5KCk7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgcmV0dXJuIGxvZy52ZXJib3NlKGBObyBhc3NldHMgZm91bmQgaW4gLi9zcmMvYXNzZXRzIHRvIGNvcHlgKTtcbiAgICB9XG4gICAgaWYgKGhhc0Fzc2V0cylcbiAgICAgIGNvcHlGaWxlKFxuICAgICAgICBcIi4vc3JjL2Fzc2V0c1wiLFxuICAgICAgICBgLi8ke21vZGUgPT09IE1vZGVzLkNKUyA/IFwibGliXCIgOiBcImRpc3RcIn0vYXNzZXRzYFxuICAgICAgKTtcbiAgfVxuXG4gIGFzeW5jIGJ1aWxkQ29tbWFuZHMoKSB7XG4gICAgZm9yIChjb25zdCBjbWQgb2YgQ29tbWFuZHMpIHtcbiAgICAgIGF3YWl0IHRoaXMuYnVuZGxlKE1vZGVzLkNKUywgdHJ1ZSwgdHJ1ZSwgYHNyYy9iaW4vJHtjbWR9LnRzYCwgY21kKTtcbiAgICAgIGxldCBkYXRhID0gcmVhZEZpbGUoYGJpbi8ke2NtZH0uY2pzYCk7XG4gICAgICBkYXRhID0gXCIjIS91c3IvYmluL2VudiBub2RlXFxuXCIgKyBkYXRhO1xuICAgICAgd3JpdGVGaWxlKGBiaW4vJHtjbWR9LmNqc2AsIGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGJ1bmRsZShcbiAgICBtb2RlOiBNb2RlcyxcbiAgICBpc0RldjogYm9vbGVhbixcbiAgICBpc0xpYjogYm9vbGVhbixcbiAgICBlbnRyeUZpbGU6IHN0cmluZyA9IFwic3JjL2luZGV4LnRzXCIsXG4gICAgbmFtZU92ZXJyaWRlOiBzdHJpbmcgPSB0aGlzLnBrZ05hbWUsXG4gICAgZXh0ZXJuYWxzPzogc3RyaW5nW10sXG4gICAgaW5jbHVkZTogc3RyaW5nW10gPSBbXG4gICAgICBcInByb21wdHNcIixcbiAgICAgIFwic3R5bGVkLXN0cmluZy1idWlsZGVyXCIsXG4gICAgICBcIkBkZWNhZi10cy9sb2dnaW5nXCIsXG4gICAgXVxuICApIHtcbiAgICBjb25zdCBpc0VzbSA9IG1vZGUgPT09IE1vZGVzLkVTTTtcbiAgICBjb25zdCBwa2dOYW1lID0gdGhpcy5wa2dOYW1lO1xuXG4gICAgY29uc3QgZXh0ID0gQXJyYXkuZnJvbShcbiAgICAgIG5ldyBTZXQoW1xuICAgICAgICAuLi5bXG4gICAgICAgICAgXCJmc1wiLFxuICAgICAgICAgIFwicGF0aFwiLFxuICAgICAgICAgIFwicHJvY2Vzc1wiLFxuICAgICAgICAgIFwicm9sbHVwXCIsXG4gICAgICAgICAgXCJAcm9sbHVwL3BsdWdpbi10eXBlc2NyaXB0XCIsXG4gICAgICAgICAgXCJAcm9sbHVwL3BsdWdpbi1qc29uXCIsXG4gICAgICAgICAgXCJAcm9sbHVwL3BsdWdpbi1jb21tb25qc1wiLFxuICAgICAgICAgIFwiQHJvbGx1cC9wbHVnaW4tbm9kZS1yZXNvbHZlXCIsXG4gICAgICAgICAgXCJjaGlsZF9wcm9jZXNzXCIsXG4gICAgICAgICAgXCJ1dGlsXCIsXG4gICAgICAgICAgXCJodHRwc1wiLFxuICAgICAgICBdLFxuICAgICAgICAuLi4oZXh0ZXJuYWxzIHx8IFtdKSxcbiAgICAgIF0pXG4gICAgKTtcblxuICAgIGNvbnN0IHBsdWdpbnMgPSBbXG4gICAgICB0eXBlc2NyaXB0KHtcbiAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgbW9kdWxlOiBcImVzbmV4dFwiLFxuICAgICAgICAgIGRlY2xhcmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICBvdXREaXI6IGlzTGliID8gXCJiaW5cIiA6IFwiZGlzdFwiLFxuICAgICAgICB9LFxuICAgICAgICBpbmNsdWRlOiBbXCJzcmMvKiovKi50c1wiXSxcbiAgICAgICAgZXhjbHVkZTogW1wibm9kZV9tb2R1bGVzXCIsIFwiKiovKi5zcGVjLnRzXCJdLFxuICAgICAgICB0c2NvbmZpZzogXCIuL3RzY29uZmlnLmpzb25cIixcbiAgICAgIH0pLFxuICAgICAganNvbigpLFxuICAgIF07XG5cbiAgICBpZiAoaXNMaWIpIHtcbiAgICAgIHBsdWdpbnMucHVzaChcbiAgICAgICAgY29tbW9uanMoe1xuICAgICAgICAgIGluY2x1ZGU6IFtdLFxuICAgICAgICAgIGV4Y2x1ZGU6IGV4dGVybmFscyxcbiAgICAgICAgfSksXG4gICAgICAgIG5vZGVSZXNvbHZlKHtcbiAgICAgICAgICByZXNvbHZlT25seTogaW5jbHVkZSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXQ6IElucHV0T3B0aW9ucyA9IHtcbiAgICAgIGlucHV0OiBlbnRyeUZpbGUsXG4gICAgICBwbHVnaW5zOiBwbHVnaW5zLFxuICAgICAgZXh0ZXJuYWw6IGV4dCxcbiAgICB9O1xuXG4gICAgY29uc3Qgb3V0cHV0czogT3V0cHV0T3B0aW9uc1tdID0gW1xuICAgICAge1xuICAgICAgICBmaWxlOiBgJHtpc0xpYiA/IFwiYmluL1wiIDogXCJkaXN0L1wifSR7bmFtZU92ZXJyaWRlID8gbmFtZU92ZXJyaWRlIDogYC5idW5kbGUuJHshaXNEZXYgPyBcIm1pblwiIDogXCJcIn1gfSR7aXNFc20gPyBcIi5lc21cIiA6IFwiXCJ9LmNqc2AsXG4gICAgICAgIGZvcm1hdDogaXNMaWIgPyBcImNqc1wiIDogaXNFc20gPyBcImVzbVwiIDogXCJ1bWRcIixcbiAgICAgICAgbmFtZTogcGtnTmFtZSxcbiAgICAgICAgZXNNb2R1bGU6IGlzRXNtLFxuICAgICAgICBzb3VyY2VtYXA6IGlzRGV2ID8gXCJpbmxpbmVcIiA6IGZhbHNlLFxuICAgICAgICBnbG9iYWxzOiB7fSxcbiAgICAgICAgZXhwb3J0czogXCJhdXRvXCIsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgYnVuZGxlID0gYXdhaXQgcm9sbHVwKGlucHV0KTtcbiAgICAgIGNvbnNvbGUubG9nKGJ1bmRsZS53YXRjaEZpbGVzKTtcbiAgICAgIGFzeW5jIGZ1bmN0aW9uIGdlbmVyYXRlT3V0cHV0cyhidW5kbGU6IFJvbGx1cEJ1aWxkKSB7XG4gICAgICAgIGZvciAoY29uc3Qgb3V0cHV0T3B0aW9ucyBvZiBvdXRwdXRzKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICAgIGNvbnN0IHsgb3V0cHV0IH0gPSBhd2FpdCBidW5kbGUud3JpdGUob3V0cHV0T3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYXdhaXQgZ2VuZXJhdGVPdXRwdXRzKGJ1bmRsZSk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gYnVuZGxlOiAke2V9YCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBidWlsZEJ5RW52KGlzRGV2OiBib29sZWFuKSB7XG4gICAgdHJ5IHtcbiAgICAgIGRlbGV0ZVBhdGgoXCJsaWJcIik7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgLy8gZG8gbm90aGluZ1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgZGVsZXRlUGF0aChcImRpc3RcIik7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgLy8gZG8gbm90aGluZ1xuICAgIH1cbiAgICBmcy5ta2RpclN5bmMoXCJsaWJcIik7XG4gICAgZnMubWtkaXJTeW5jKFwiZGlzdFwiKTtcbiAgICBhd2FpdCB0aGlzLmJ1aWxkKGlzRGV2LCBNb2Rlcy5DSlMpO1xuICAgIGF3YWl0IHRoaXMuYnVpbGQoaXNEZXYsIE1vZGVzLkVTTSk7XG4gICAgYXdhaXQgdGhpcy5idW5kbGUoTW9kZXMuQ0pTLCB0cnVlLCBmYWxzZSk7XG4gICAgYXdhaXQgdGhpcy5idW5kbGUoTW9kZXMuRVNNLCB0cnVlLCBmYWxzZSk7XG4gICAgdGhpcy5wYXRjaEZpbGVzKFwibGliXCIpO1xuICAgIHRoaXMucGF0Y2hGaWxlcyhcImRpc3RcIik7XG4gICAgdGhpcy5jb3B5QXNzZXRzKE1vZGVzLkNKUyk7XG4gICAgdGhpcy5jb3B5QXNzZXRzKE1vZGVzLkVTTSk7XG4gIH1cblxuICBhc3luYyBidWlsZERldigpIHtcbiAgICByZXR1cm4gdGhpcy5idWlsZEJ5RW52KHRydWUpO1xuICB9XG5cbiAgYXN5bmMgYnVpbGRQcm9kKCkge1xuICAgIHJldHVybiB0aGlzLmJ1aWxkQnlFbnYoZmFsc2UpO1xuICB9XG5cbiAgYXN5bmMgYnVpbGREb2NzKCkge1xuICAgIGF3YWl0IHJ1bkNvbW1hbmQoYG5wbSBpbnN0YWxsIGJldHRlci1kb2NzIHRhZmZ5ZGJgKS5wcm9taXNlO1xuICAgIGF3YWl0IHJ1bkNvbW1hbmQoYG5weCBtYXJrZG93bi1pbmNsdWRlIC4vd29ya2RvY3MvcmVhZG1lLW1kLmpzb25gKS5wcm9taXNlO1xuICAgIGF3YWl0IHJ1bkNvbW1hbmQoXG4gICAgICBgbnB4IGpzZG9jIC1jIC4vd29ya2RvY3MvanNkb2NzLmpzb24gLXQgLi9ub2RlX21vZHVsZXMvYmV0dGVyLWRvY3NgXG4gICAgKS5wcm9taXNlO1xuICAgIGF3YWl0IHJ1bkNvbW1hbmQoYG5wbSByZW1vdmUgYmV0dGVyLWRvY3MgdGFmZnlkYmApLnByb21pc2U7XG4gICAgW1xuICAgICAge1xuICAgICAgICBzcmM6IFwid29ya2RvY3MvYXNzZXRzXCIsXG4gICAgICAgIGRlc3Q6IFwiLi9kb2NzL3dvcmtkb2NzL2Fzc2V0c1wiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3JjOiBcIndvcmtkb2NzL3JlcG9ydHMvY292ZXJhZ2VcIixcbiAgICAgICAgZGVzdDogXCIuL2RvY3Mvd29ya2RvY3MvcmVwb3J0cy9jb3ZlcmFnZVwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3JjOiBcIndvcmtkb2NzL3JlcG9ydHMvaHRtbFwiLFxuICAgICAgICBkZXN0OiBcIi4vZG9jcy93b3JrZG9jcy9yZXBvcnRzL2h0bWxcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNyYzogXCJ3b3JrZG9jcy9yZXNvdXJjZXNcIixcbiAgICAgICAgZGVzdDogXCIuL2RvY3Mvd29ya2RvY3MvcmVzb3VyY2VzXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzcmM6IFwiTElDRU5TRS5tZFwiLFxuICAgICAgICBkZXN0OiBcIi4vZG9jcy9MSUNFTlNFLm1kXCIsXG4gICAgICB9LFxuICAgIF0uZm9yRWFjaCgoZikgPT4ge1xuICAgICAgY29uc3QgeyBzcmMsIGRlc3QgfSA9IGY7XG4gICAgICBjb3B5RmlsZShzcmMsIGRlc3QpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHJ1bjxSPihcbiAgICBhbnN3ZXJzOiBMb2dnaW5nQ29uZmlnICZcbiAgICAgIHR5cGVvZiBEZWZhdWx0Q29tbWFuZFZhbHVlcyAmIHsgW2sgaW4ga2V5b2YgdHlwZW9mIG9wdGlvbnNdOiB1bmtub3duIH1cbiAgKTogUHJvbWlzZTxzdHJpbmcgfCB2b2lkIHwgUj4ge1xuICAgIGNvbnN0IHsgZGV2LCBwcm9kLCBkb2NzLCBjb21tYW5kcyB9ID0gYW5zd2VycztcblxuICAgIGlmIChjb21tYW5kcykge1xuICAgICAgYXdhaXQgdGhpcy5idWlsZENvbW1hbmRzKCk7XG4gICAgfVxuXG4gICAgaWYgKGRldikge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYnVpbGREZXYoKTtcbiAgICB9XG4gICAgaWYgKHByb2QpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJ1aWxkUHJvZCgpO1xuICAgIH1cbiAgICBpZiAoZG9jcykge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYnVpbGREb2NzKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
279
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtc2NyaXB0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvYnVpbGQtc2NyaXB0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx3Q0FBcUM7QUFFckMsNENBQTJFO0FBQzNFLHVDQVVxQjtBQUNyQiw0Q0FBb0I7QUFDcEIsZ0RBQXdCO0FBQ3hCLG1DQUEwRTtBQUMxRSxrRkFBbUQ7QUFDbkQsOEVBQStDO0FBQy9DLHFFQUEwRDtBQUMxRCxzRUFBdUM7QUFHdkMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDO0FBRXJDLElBQUssS0FHSjtBQUhELFdBQUssS0FBSztJQUNSLHlCQUFnQixDQUFBO0lBQ2hCLHVCQUFjLENBQUE7QUFDaEIsQ0FBQyxFQUhJLEtBQUssS0FBTCxLQUFLLFFBR1Q7QUFFRCxNQUFNLFFBQVEsR0FBRyxDQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUVwRSxNQUFNLE9BQU8sR0FBRztJQUNkLElBQUksRUFBRTtRQUNKLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLEtBQUs7S0FDZjtJQUNELEdBQUcsRUFBRTtRQUNILElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLEtBQUs7S0FDZjtJQUNELElBQUksRUFBRTtRQUNKLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLEtBQUs7S0FDZjtJQUNELFFBQVEsRUFBRTtRQUNSLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLEtBQUs7S0FDZjtJQUNELE1BQU0sRUFBRTtRQUNOLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLEtBQUs7S0FDZjtDQUNGLENBQUM7QUFFRixNQUFhLFlBQWEsU0FBUSxpQkFHakM7SUFLQztRQUNFLEtBQUssQ0FDSCxjQUFjLEVBQ2QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsaUNBQXFCLEVBQUUsT0FBTyxD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aEMsQ0FBQztRQUNELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxPQUFPLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFyU0Qsb0NBcVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gXCIuLi9jb21tYW5kXCI7XG5pbXBvcnQgeyBDb21tYW5kT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgRGVmYXVsdENvbW1hbmRPcHRpb25zLCBEZWZhdWx0Q29tbWFuZFZhbHVlcyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7XG4gIGNvcHlGaWxlLFxuICBkZWxldGVQYXRoLFxuICBnZXRBbGxGaWxlcyxcbiAgZ2V0UGFja2FnZSxcbiAgcGF0Y2hGaWxlLFxuICByZWFkRmlsZSxcbiAgcmVuYW1lRmlsZSxcbiAgcnVuQ29tbWFuZCxcbiAgd3JpdGVGaWxlLFxufSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyByb2xsdXAsIElucHV0T3B0aW9ucywgT3V0cHV0T3B0aW9ucywgUm9sbHVwQnVpbGQgfSBmcm9tIFwicm9sbHVwXCI7XG5pbXBvcnQgdHlwZXNjcmlwdCBmcm9tIFwiQHJvbGx1cC9wbHVnaW4tdHlwZXNjcmlwdFwiO1xuaW1wb3J0IGNvbW1vbmpzIGZyb20gXCJAcm9sbHVwL3BsdWdpbi1jb21tb25qc1wiO1xuaW1wb3J0IHsgbm9kZVJlc29sdmUgfSBmcm9tIFwiQHJvbGx1cC9wbHVnaW4tbm9kZS1yZXNvbHZlXCI7XG5pbXBvcnQganNvbiBmcm9tIFwiQHJvbGx1cC9wbHVnaW4tanNvblwiO1xuaW1wb3J0IHsgTG9nZ2luZ0NvbmZpZyB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuXG5jb25zdCBWRVJTSU9OX1NUUklORyA9IFwiIyNWRVJTSU9OIyNcIjtcblxuZW51bSBNb2RlcyB7XG4gIENKUyA9IFwiY29tbW9uanNcIixcbiAgRVNNID0gXCJlczIwMjJcIixcbn1cblxuY29uc3QgQ29tbWFuZHMgPSBbXCJ1cGRhdGUtc2NyaXB0c1wiLCBcInRhZy1yZWxlYXNlXCIsIFwiYnVpbGQtc2NyaXB0c1wiXTtcblxuY29uc3Qgb3B0aW9ucyA9IHtcbiAgcHJvZDoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBkZXY6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZG9jczoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBjb21tYW5kczoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBiYW5uZXI6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbn07XG5cbmV4cG9ydCBjbGFzcyBCdWlsZFNjcmlwdHMgZXh0ZW5kcyBDb21tYW5kPFxuICBDb21tYW5kT3B0aW9uczx0eXBlb2Ygb3B0aW9ucz4sXG4gIHZvaWRcbj4ge1xuICBwcml2YXRlIHJlcGxhY2VtZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBwcml2YXRlIHJlYWRvbmx5IHBrZ1ZlcnNpb246IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBwa2dOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXG4gICAgICBcIkJ1aWxkU2NyaXB0c1wiLFxuICAgICAgT2JqZWN0LmFzc2lnbih7fSwgRGVmYXVsdENvbW1hbmRPcHRpb25zLCBvcHRpb25zKSBhcyBDb21tYW5kT3B0aW9uczxcbiAgICAgICAgdHlwZW9mIG9wdGlvbnNcbiAgICAgID5cbiAgICApO1xuICAgIGNvbnN0IHBrZyA9IGdldFBhY2thZ2UoKSBhcyB7IG5hbWU6IHN0cmluZzsgdmVyc2lvbjogc3RyaW5nIH07XG4gICAgY29uc3QgeyBuYW1lLCB2ZXJzaW9uIH0gPSBwa2c7XG4gICAgdGhpcy5wa2dOYW1lID0gbmFtZS5pbmNsdWRlcyhcIkBcIikgPyBuYW1lLnNwbGl0KFwiL1wiKVsxXSA6IG5hbWU7XG4gICAgdGhpcy5wa2dWZXJzaW9uID0gdmVyc2lvbjtcbiAgICB0aGlzLnJlcGxhY2VtZW50c1tWRVJTSU9OX1NUUklOR10gPSB0aGlzLnBrZ1ZlcnNpb247XG4gIH1cblxuICBwYXRjaENqc0ltcG9ydHMoZmlsZTogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVnZXhwID0gLyhyZXF1aXJlXFwoW1wiJ10pKFxcLi4qPykoW1wiJ11cXClbOyxdKS9nO1xuICAgIGxldCBkYXRhID0gcmVhZEZpbGUoZmlsZSk7XG4gICAgZGF0YSA9IGRhdGEucmVwbGFjZShyZWdleHAsIChtYXRjaCwgLi4uZ3JvdXBzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgY29uc3QgcmVuYW1lZEZpbGUgPSBncm91cHNbMV0gKyBcIi5janNcIjtcbiAgICAgIGNvbnN0IGRpcm5hbWUgPSBwYXRoLmRpcm5hbWUoZmlsZSkucmVwbGFjZShcImxpYlwiLCBcInNyY1wiKTtcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gZ3JvdXBzWzFdICsgXCIudHNcIjtcbiAgICAgIGNvbnN0IHNvdXJjZUZpbGVQYXRoID0gcGF0aC5qb2luKGRpcm5hbWUsIGZpbGVOYW1lKTtcblxuICAgICAgbGV0IHJlc3VsdDtcbiAgICAgIGlmICghZnMuZXhpc3RzU3luYyhzb3VyY2VGaWxlUGF0aCkpIHtcbiAgICAgICAgcmVzdWx0ID0gZ3JvdXBzWzBdICsgZ3JvdXBzWzFdICsgXCIvaW5kZXguY2pzXCIgKyBncm91cHNbMl07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSBncm91cHNbMF0gKyByZW5hbWVkRmlsZSArIGdyb3Vwc1syXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcbiAgICB3cml0ZUZpbGUoZmlsZSwgZGF0YSk7XG4gIH1cblxuICBwYXRjaEZpbGVzKHA6IHN0cmluZykge1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLnBhdGNoRmlsZXMpO1xuICAgIGNvbnN0IHsgbmFtZSwgdmVyc2lvbiB9ID0gZ2V0UGFja2FnZSgpIGFzIGFueTtcbiAgICBsb2cuaW5mbyhgUGF0Y2hpbmcgJHtuYW1lfSAke3ZlcnNpb259IG1vZHVsZSBpbiAke3B9Li4uYCk7XG4gICAgY29uc3Qgc3RhdCA9IGZzLnN0YXRTeW5jKHApO1xuICAgIGlmIChzdGF0LmlzRGlyZWN0b3J5KCkpXG4gICAgICBmcy5yZWFkZGlyU3luYyhwLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUsIHJlY3Vyc2l2ZTogdHJ1ZSB9KVxuICAgICAgICAuZmlsdGVyKChwKSA9PiBwLmlzRmlsZSgpKVxuICAgICAgICAuZm9yRWFjaCgoZmlsZSkgPT5cbiAgICAgICAgICBwYXRjaEZpbGUocGF0aC5qb2luKGZpbGUucGFyZW50UGF0aCwgZmlsZS5uYW1lKSwgdGhpcy5yZXBsYWNlbWVudHMpXG4gICAgICAgICk7XG4gICAgbG9nLnZlcmJvc2UoYE1vZHVsZSAke25hbWV9ICR7dmVyc2lvbn0gcGF0Y2hlZCBpbiAke3B9Li4uYCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGJ1aWxkKGlzRGV2OiBib29sZWFuLCBtb2RlOiBNb2RlcywgYnVuZGxlID0gZmFsc2UpIHtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5idWlsZCk7XG4gICAgbG9nLmluZm8oXG4gICAgICBgQnVpbGRpbmcgJHt0aGlzLnBrZ05hbWV9ICR7dGhpcy5wa2dWZXJzaW9ufSBtb2R1bGUgKCR7bW9kZX0pIGluICR7aXNEZXYgPyBcImRldlwiIDogXCJwcm9kXCJ9IG1vZGUuLi5gXG4gICAgKTtcblxuICAgIGF3YWl0IHJ1bkNvbW1hbmQoXG4gICAgICBgbnB4IHRzYyAtLW1vZHVsZSAke2J1bmRsZSA/IFwiYW1kXCIgOiBtb2RlfSR7aXNEZXYgPyBcIiAtLWlubGluZVNvdXJjZU1hcFwiIDogXCIgLS1zb3VyY2VNYXAgZmFsc2VcIn0gLS1vdXREaXIgJHtidW5kbGUgPyBcImRpc3RcIiA6IGBsaWIke21vZGUgPT09IE1vZGVzLkVTTSA/IFwiL2VzbVwiIDogXCJcIn1gfSR7YnVuZGxlID8gYCAtLWlzb2xhdGVkTW9kdWxlcyBmYWxzZSAtLW91dEZpbGUgJHt0aGlzLnBrZ05hbWV9YCA6IFwiXCJ9YFxuICAgICkucHJvbWlzZTtcbiAgICBsb2cudmVyYm9zZShcbiAgICAgIGBNb2R1bGUgJHt0aGlzLnBrZ05hbWV9ICR7dGhpcy5wa2dWZXJzaW9ufSAoJHttb2RlfSkgYnVpbHQgaW4gJHtpc0RldiA/IFwiZGV2XCIgOiBcInByb2RcIn0gbW9kZS4uLmBcbiAgICApO1xuICAgIGlmIChtb2RlID09PSBNb2Rlcy5DSlMgJiYgIWJ1bmRsZSkge1xuICAgICAgY29uc3QgZmlsZXMgPSBnZXRBbGxGaWxlcyhcbiAgICAgICAgXCJsaWJcIixcbiAgICAgICAgKGZpbGUpID0+IGZpbGUuZW5kc1dpdGgoXCIuanNcIikgJiYgIWZpbGUuaW5jbHVkZXMoXCIvZXNtL1wiKVxuICAgICAgKTtcblxuICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICAgIGxvZy52ZXJib3NlKGBQYXRjaGluZyAke2ZpbGV9J3MgY2pzIGltcG9ydHMuLi5gKTtcbiAgICAgICAgY29uc3QgZiA9IGZpbGUucmVwbGFjZShcIi5qc1wiLCBcIi5janNcIik7XG4gICAgICAgIGF3YWl0IHJlbmFtZUZpbGUoZmlsZSwgZik7XG4gICAgICAgIHRoaXMucGF0Y2hDanNJbXBvcnRzKGYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvcHlBc3NldHMobW9kZTogTW9kZXMpIHtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZy5mb3IodGhpcy5jb3B5QXNzZXRzKTtcbiAgICBsZXQgaGFzQXNzZXRzID0gZmFsc2U7XG4gICAgdHJ5IHtcbiAgICAgIGhhc0Fzc2V0cyA9IGZzLnN0YXRTeW5jKFwiLi9zcmMvYXNzZXRzXCIpLmlzRGlyZWN0b3J5KCk7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgcmV0dXJuIGxvZy52ZXJib3NlKGBObyBhc3NldHMgZm91bmQgaW4gLi9zcmMvYXNzZXRzIHRvIGNvcHlgKTtcbiAgICB9XG4gICAgaWYgKGhhc0Fzc2V0cylcbiAgICAgIGNvcHlGaWxlKFxuICAgICAgICBcIi4vc3JjL2Fzc2V0c1wiLFxuICAgICAgICBgLi8ke21vZGUgPT09IE1vZGVzLkNKUyA/IFwibGliXCIgOiBcImRpc3RcIn0vYXNzZXRzYFxuICAgICAgKTtcbiAgfVxuXG4gIGFzeW5jIGJ1aWxkQ29tbWFuZHMoKSB7XG4gICAgZm9yIChjb25zdCBjbWQgb2YgQ29tbWFuZHMpIHtcbiAgICAgIGF3YWl0IHRoaXMuYnVuZGxlKE1vZGVzLkNKUywgdHJ1ZSwgdHJ1ZSwgYHNyYy9iaW4vJHtjbWR9LnRzYCwgY21kKTtcbiAgICAgIGxldCBkYXRhID0gcmVhZEZpbGUoYGJpbi8ke2NtZH0uY2pzYCk7XG4gICAgICBkYXRhID0gXCIjIS91c3IvYmluL2VudiBub2RlXFxuXCIgKyBkYXRhO1xuICAgICAgd3JpdGVGaWxlKGBiaW4vJHtjbWR9LmNqc2AsIGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGJ1bmRsZShcbiAgICBtb2RlOiBNb2RlcyxcbiAgICBpc0RldjogYm9vbGVhbixcbiAgICBpc0xpYjogYm9vbGVhbixcbiAgICBlbnRyeUZpbGU6IHN0cmluZyA9IFwic3JjL2luZGV4LnRzXCIsXG4gICAgbmFtZU92ZXJyaWRlOiBzdHJpbmcgPSB0aGlzLnBrZ05hbWUsXG4gICAgZXh0ZXJuYWxzPzogc3RyaW5nW10sXG4gICAgaW5jbHVkZTogc3RyaW5nW10gPSBbXG4gICAgICBcInByb21wdHNcIixcbiAgICAgIFwic3R5bGVkLXN0cmluZy1idWlsZGVyXCIsXG4gICAgICBcInR5cGVkLW9iamVjdC1hY2N1bXVsYXRvclwiLFxuICAgICAgXCJAZGVjYWYtdHMvbG9nZ2luZ1wiLFxuICAgIF1cbiAgKSB7XG4gICAgY29uc3QgaXNFc20gPSBtb2RlID09PSBNb2Rlcy5FU007XG4gICAgY29uc3QgcGtnTmFtZSA9IHRoaXMucGtnTmFtZTtcblxuICAgIGNvbnN0IGV4dCA9IEFycmF5LmZyb20oXG4gICAgICBuZXcgU2V0KFtcbiAgICAgICAgLi4uW1xuICAgICAgICAgIFwiZnNcIixcbiAgICAgICAgICBcInBhdGhcIixcbiAgICAgICAgICBcInByb2Nlc3NcIixcbiAgICAgICAgICBcInJvbGx1cFwiLFxuICAgICAgICAgIFwiQHJvbGx1cC9wbHVnaW4tdHlwZXNjcmlwdFwiLFxuICAgICAgICAgIFwiQHJvbGx1cC9wbHVnaW4tanNvblwiLFxuICAgICAgICAgIFwiQHJvbGx1cC9wbHVnaW4tY29tbW9uanNcIixcbiAgICAgICAgICBcIkByb2xsdXAvcGx1Z2luLW5vZGUtcmVzb2x2ZVwiLFxuICAgICAgICAgIFwiY2hpbGRfcHJvY2Vzc1wiLFxuICAgICAgICAgIFwidXRpbFwiLFxuICAgICAgICAgIFwiaHR0cHNcIixcbiAgICAgICAgICBcInRzbGliXCIsXG4gICAgICAgIF0sXG4gICAgICAgIC4uLihleHRlcm5hbHMgfHwgW10pLFxuICAgICAgXSlcbiAgICApO1xuXG4gICAgY29uc3QgcGx1Z2lucyA9IFtcbiAgICAgIHR5cGVzY3JpcHQoe1xuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICBtb2R1bGU6IFwiZXNuZXh0XCIsXG4gICAgICAgICAgZGVjbGFyYXRpb246IGZhbHNlLFxuICAgICAgICAgIG91dERpcjogaXNMaWIgPyBcImJpblwiIDogXCJkaXN0XCIsXG4gICAgICAgIH0sXG4gICAgICAgIGluY2x1ZGU6IFtcInNyYy8qKi8qLnRzXCJdLFxuICAgICAgICBleGNsdWRlOiBbXCJub2RlX21vZHVsZXNcIiwgXCIqKi8qLnNwZWMudHNcIl0sXG4gICAgICAgIHRzY29uZmlnOiBcIi4vdHNjb25maWcuanNvblwiLFxuICAgICAgfSksXG4gICAgICBqc29uKCksXG4gICAgXTtcblxuICAgIGlmIChpc0xpYikge1xuICAgICAgcGx1Z2lucy5wdXNoKFxuICAgICAgICBjb21tb25qcyh7XG4gICAgICAgICAgaW5jbHVkZTogW10sXG4gICAgICAgICAgZXhjbHVkZTogZXh0ZXJuYWxzLFxuICAgICAgICB9KSxcbiAgICAgICAgbm9kZVJlc29sdmUoe1xuICAgICAgICAgIHJlc29sdmVPbmx5OiBpbmNsdWRlLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnB1dDogSW5wdXRPcHRpb25zID0ge1xuICAgICAgaW5wdXQ6IGVudHJ5RmlsZSxcbiAgICAgIHBsdWdpbnM6IHBsdWdpbnMsXG4gICAgICBleHRlcm5hbDogZXh0LFxuICAgIH07XG5cbiAgICBjb25zdCBvdXRwdXRzOiBPdXRwdXRPcHRpb25zW10gPSBbXG4gICAgICB7XG4gICAgICAgIGZpbGU6IGAke2lzTGliID8gXCJiaW4vXCIgOiBcImRpc3QvXCJ9JHtuYW1lT3ZlcnJpZGUgPyBuYW1lT3ZlcnJpZGUgOiBgLmJ1bmRsZS4keyFpc0RldiA/IFwibWluXCIgOiBcIlwifWB9JHtpc0VzbSA/IFwiLmVzbVwiIDogXCJcIn0uY2pzYCxcbiAgICAgICAgZm9ybWF0OiBpc0xpYiA/IFwiY2pzXCIgOiBpc0VzbSA/IFwiZXNtXCIgOiBcInVtZFwiLFxuICAgICAgICBuYW1lOiBwa2dOYW1lLFxuICAgICAgICBlc01vZHVsZTogaXNFc20sXG4gICAgICAgIHNvdXJjZW1hcDogaXNEZXYgPyBcImlubGluZVwiIDogZmFsc2UsXG4gICAgICAgIGdsb2JhbHM6IHt9LFxuICAgICAgICBleHBvcnRzOiBcImF1dG9cIixcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBidW5kbGUgPSBhd2FpdCByb2xsdXAoaW5wdXQpO1xuICAgICAgY29uc29sZS5sb2coYnVuZGxlLndhdGNoRmlsZXMpO1xuICAgICAgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVPdXRwdXRzKGJ1bmRsZTogUm9sbHVwQnVpbGQpIHtcbiAgICAgICAgZm9yIChjb25zdCBvdXRwdXRPcHRpb25zIG9mIG91dHB1dHMpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICAgICAgY29uc3QgeyBvdXRwdXQgfSA9IGF3YWl0IGJ1bmRsZS53cml0ZShvdXRwdXRPcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBnZW5lcmF0ZU91dHB1dHMoYnVuZGxlKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBidW5kbGU6ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGJ1aWxkQnlFbnYoaXNEZXY6IGJvb2xlYW4pIHtcbiAgICB0cnkge1xuICAgICAgZGVsZXRlUGF0aChcImxpYlwiKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAvLyBkbyBub3RoaW5nXG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBkZWxldGVQYXRoKFwiZGlzdFwiKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAvLyBkbyBub3RoaW5nXG4gICAgfVxuICAgIGZzLm1rZGlyU3luYyhcImxpYlwiKTtcbiAgICBmcy5ta2RpclN5bmMoXCJkaXN0XCIpO1xuICAgIGF3YWl0IHRoaXMuYnVpbGQoaXNEZXYsIE1vZGVzLkNKUyk7XG4gICAgYXdhaXQgdGhpcy5idWlsZChpc0RldiwgTW9kZXMuRVNNKTtcbiAgICBhd2FpdCB0aGlzLmJ1bmRsZShNb2Rlcy5DSlMsIHRydWUsIGZhbHNlKTtcbiAgICBhd2FpdCB0aGlzLmJ1bmRsZShNb2Rlcy5FU00sIHRydWUsIGZhbHNlKTtcbiAgICB0aGlzLnBhdGNoRmlsZXMoXCJsaWJcIik7XG4gICAgdGhpcy5wYXRjaEZpbGVzKFwiZGlzdFwiKTtcbiAgICB0aGlzLmNvcHlBc3NldHMoTW9kZXMuQ0pTKTtcbiAgICB0aGlzLmNvcHlBc3NldHMoTW9kZXMuRVNNKTtcbiAgfVxuXG4gIGFzeW5jIGJ1aWxkRGV2KCkge1xuICAgIHJldHVybiB0aGlzLmJ1aWxkQnlFbnYodHJ1ZSk7XG4gIH1cblxuICBhc3luYyBidWlsZFByb2QoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRCeUVudihmYWxzZSk7XG4gIH1cblxuICBhc3luYyBidWlsZERvY3MoKSB7XG4gICAgYXdhaXQgcnVuQ29tbWFuZChgbnBtIGluc3RhbGwgYmV0dGVyLWRvY3MgdGFmZnlkYmApLnByb21pc2U7XG4gICAgYXdhaXQgcnVuQ29tbWFuZChgbnB4IG1hcmtkb3duLWluY2x1ZGUgLi93b3JrZG9jcy9yZWFkbWUtbWQuanNvbmApLnByb21pc2U7XG4gICAgYXdhaXQgcnVuQ29tbWFuZChcbiAgICAgIGBucHgganNkb2MgLWMgLi93b3JrZG9jcy9qc2RvY3MuanNvbiAtdCAuL25vZGVfbW9kdWxlcy9iZXR0ZXItZG9jc2BcbiAgICApLnByb21pc2U7XG4gICAgYXdhaXQgcnVuQ29tbWFuZChgbnBtIHJlbW92ZSBiZXR0ZXItZG9jcyB0YWZmeWRiYCkucHJvbWlzZTtcbiAgICBbXG4gICAgICB7XG4gICAgICAgIHNyYzogXCJ3b3JrZG9jcy9hc3NldHNcIixcbiAgICAgICAgZGVzdDogXCIuL2RvY3Mvd29ya2RvY3MvYXNzZXRzXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzcmM6IFwid29ya2RvY3MvcmVwb3J0cy9jb3ZlcmFnZVwiLFxuICAgICAgICBkZXN0OiBcIi4vZG9jcy93b3JrZG9jcy9yZXBvcnRzL2NvdmVyYWdlXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzcmM6IFwid29ya2RvY3MvcmVwb3J0cy9odG1sXCIsXG4gICAgICAgIGRlc3Q6IFwiLi9kb2NzL3dvcmtkb2NzL3JlcG9ydHMvaHRtbFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3JjOiBcIndvcmtkb2NzL3Jlc291cmNlc1wiLFxuICAgICAgICBkZXN0OiBcIi4vZG9jcy93b3JrZG9jcy9yZXNvdXJjZXNcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNyYzogXCJMSUNFTlNFLm1kXCIsXG4gICAgICAgIGRlc3Q6IFwiLi9kb2NzL0xJQ0VOU0UubWRcIixcbiAgICAgIH0sXG4gICAgXS5mb3JFYWNoKChmKSA9PiB7XG4gICAgICBjb25zdCB7IHNyYywgZGVzdCB9ID0gZjtcbiAgICAgIGNvcHlGaWxlKHNyYywgZGVzdCk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcnVuPFI+KFxuICAgIGFuc3dlcnM6IExvZ2dpbmdDb25maWcgJlxuICAgICAgdHlwZW9mIERlZmF1bHRDb21tYW5kVmFsdWVzICYgeyBbayBpbiBrZXlvZiB0eXBlb2Ygb3B0aW9uc106IHVua25vd24gfVxuICApOiBQcm9taXNlPHN0cmluZyB8IHZvaWQgfCBSPiB7XG4gICAgY29uc3QgeyBkZXYsIHByb2QsIGRvY3MsIGNvbW1hbmRzIH0gPSBhbnN3ZXJzO1xuXG4gICAgaWYgKGNvbW1hbmRzKSB7XG4gICAgICBhd2FpdCB0aGlzLmJ1aWxkQ29tbWFuZHMoKTtcbiAgICB9XG5cbiAgICBpZiAoZGV2KSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5idWlsZERldigpO1xuICAgIH1cbiAgICBpZiAocHJvZCkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYnVpbGRQcm9kKCk7XG4gICAgfVxuICAgIGlmIChkb2NzKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5idWlsZERvY3MoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/cli/constants.cjs
CHANGED
|
File without changes
|
package/lib/cli/constants.d.ts
CHANGED
|
File without changes
|
package/lib/cli/index.cjs
CHANGED
|
File without changes
|
package/lib/cli/index.d.ts
CHANGED
|
File without changes
|
package/lib/cli/types.cjs
CHANGED
|
File without changes
|
package/lib/cli/types.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/esm/cli/command.d.ts
CHANGED
|
File without changes
|
package/lib/esm/cli/command.js
CHANGED
|
File without changes
|
|
File without changes
|
|
@@ -116,6 +116,7 @@ export class BuildScripts extends Command {
|
|
|
116
116
|
async bundle(mode, isDev, isLib, entryFile = "src/index.ts", nameOverride = this.pkgName, externals, include = [
|
|
117
117
|
"prompts",
|
|
118
118
|
"styled-string-builder",
|
|
119
|
+
"typed-object-accumulator",
|
|
119
120
|
"@decaf-ts/logging",
|
|
120
121
|
]) {
|
|
121
122
|
const isEsm = mode === Modes.ESM;
|
|
@@ -133,6 +134,7 @@ export class BuildScripts extends Command {
|
|
|
133
134
|
"child_process",
|
|
134
135
|
"util",
|
|
135
136
|
"https",
|
|
137
|
+
"tslib",
|
|
136
138
|
],
|
|
137
139
|
...(externals || []),
|
|
138
140
|
]));
|
|
@@ -267,4 +269,4 @@ export class BuildScripts extends Command {
|
|
|
267
269
|
}
|
|
268
270
|
}
|
|
269
271
|
}
|
|
270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtc2NyaXB0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvYnVpbGQtc2NyaXB0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBd0IsTUFBTSxjQUFjLENBQUM7QUFDM0UsT0FBTyxFQUNMLFFBQVEsRUFDUixVQUFVLEVBQ1YsV0FBVyxFQUNYLFVBQVUsRUFDVixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixVQUFVLEVBQ1YsU0FBUyxHQUNWLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLE1BQU0sRUFBNEMsTUFBTSxRQUFRLENBQUM7QUFDMUUsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxRQUFRLE1BQU0seUJBQXlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sSUFBSSxNQUFNLHFCQUFxQixDQUFDO0FBR3ZDLE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQztBQUVyQyxJQUFLLEtBR0o7QUFIRCxXQUFLLEtBQUs7SUFDUix5QkFBZ0IsQ0FBQTtJQUNoQix1QkFBYyxDQUFBO0FBQ2hCLENBQUMsRUFISSxLQUFLLEtBQUwsS0FBSyxRQUdUO0FBRUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFFcEUsTUFBTSxPQUFPLEdBQUc7SUFDZCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO0tBQ2Y7SUFDRCxHQUFHLEVBQUU7UUFDSCxJQUFJLEVBQUUsU0FBUztR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RSxDQUFDO1FBQzdCLENBQUM7UUFFRCxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsT0FBTyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQixDQUFDO1FBQ0QsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE9BQU8sTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxPQUFPLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kIH0gZnJvbSBcIi4uL2NvbW1hbmRcIjtcbmltcG9ydCB7IENvbW1hbmRPcHRpb25zIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBEZWZhdWx0Q29tbWFuZE9wdGlvbnMsIERlZmF1bHRDb21tYW5kVmFsdWVzIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgY29weUZpbGUsXG4gIGRlbGV0ZVBhdGgsXG4gIGdldEFsbEZpbGVzLFxuICBnZXRQYWNrYWdlLFxuICBwYXRjaEZpbGUsXG4gIHJlYWRGaWxlLFxuICByZW5hbWVGaWxlLFxuICBydW5Db21tYW5kLFxuICB3cml0ZUZpbGUsXG59IGZyb20gXCIuLi8uLi91dGlsc1wiO1xuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IHJvbGx1cCwgSW5wdXRPcHRpb25zLCBPdXRwdXRPcHRpb25zLCBSb2xsdXBCdWlsZCB9IGZyb20gXCJyb2xsdXBcIjtcbmltcG9ydCB0eXBlc2NyaXB0IGZyb20gXCJAcm9sbHVwL3BsdWdpbi10eXBlc2NyaXB0XCI7XG5pbXBvcnQgY29tbW9uanMgZnJvbSBcIkByb2xsdXAvcGx1Z2luLWNvbW1vbmpzXCI7XG5pbXBvcnQgeyBub2RlUmVzb2x2ZSB9IGZyb20gXCJAcm9sbHVwL3BsdWdpbi1ub2RlLXJlc29sdmVcIjtcbmltcG9ydCBqc29uIGZyb20gXCJAcm9sbHVwL3BsdWdpbi1qc29uXCI7XG5pbXBvcnQgeyBMb2dnaW5nQ29uZmlnIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5cbmNvbnN0IFZFUlNJT05fU1RSSU5HID0gXCIjI1ZFUlNJT04jI1wiO1xuXG5lbnVtIE1vZGVzIHtcbiAgQ0pTID0gXCJjb21tb25qc1wiLFxuICBFU00gPSBcImVzMjAyMlwiLFxufVxuXG5jb25zdCBDb21tYW5kcyA9IFtcInVwZGF0ZS1zY3JpcHRzXCIsIFwidGFnLXJlbGVhc2VcIiwgXCJidWlsZC1zY3JpcHRzXCJdO1xuXG5jb25zdCBvcHRpb25zID0ge1xuICBwcm9kOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGRldjoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBkb2NzOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGNvbW1hbmRzOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGJhbm5lcjoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxufTtcblxuZXhwb3J0IGNsYXNzIEJ1aWxkU2NyaXB0cyBleHRlbmRzIENvbW1hbmQ8XG4gIENvbW1hbmRPcHRpb25zPHR5cGVvZiBvcHRpb25zPixcbiAgdm9pZFxuPiB7XG4gIHByaXZhdGUgcmVwbGFjZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gIHByaXZhdGUgcmVhZG9ubHkgcGtnVmVyc2lvbjogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHBrZ05hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcbiAgICAgIFwiQnVpbGRTY3JpcHRzXCIsXG4gICAgICBPYmplY3QuYXNzaWduKHt9LCBEZWZhdWx0Q29tbWFuZE9wdGlvbnMsIG9wdGlvbnMpIGFzIENvbW1hbmRPcHRpb25zPFxuICAgICAgICB0eXBlb2Ygb3B0aW9uc1xuICAgICAgPlxuICAgICk7XG4gICAgY29uc3QgcGtnID0gZ2V0UGFja2FnZSgpIGFzIHsgbmFtZTogc3RyaW5nOyB2ZXJzaW9uOiBzdHJpbmcgfTtcbiAgICBjb25zdCB7IG5hbWUsIHZlcnNpb24gfSA9IHBrZztcbiAgICB0aGlzLnBrZ05hbWUgPSBuYW1lLmluY2x1ZGVzKFwiQFwiKSA/IG5hbWUuc3BsaXQoXCIvXCIpWzFdIDogbmFtZTtcbiAgICB0aGlzLnBrZ1ZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIHRoaXMucmVwbGFjZW1lbnRzW1ZFUlNJT05fU1RSSU5HXSA9IHRoaXMucGtnVmVyc2lvbjtcbiAgfVxuXG4gIHBhdGNoQ2pzSW1wb3J0cyhmaWxlOiBzdHJpbmcpIHtcbiAgICBjb25zdCByZWdleHAgPSAvKHJlcXVpcmVcXChbXCInXSkoXFwuLio/KShbXCInXVxcKVs7LF0pL2c7XG4gICAgbGV0IGRhdGEgPSByZWFkRmlsZShmaWxlKTtcbiAgICBkYXRhID0gZGF0YS5yZXBsYWNlKHJlZ2V4cCwgKG1hdGNoLCAuLi5ncm91cHM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBjb25zdCByZW5hbWVkRmlsZSA9IGdyb3Vwc1sxXSArIFwiLmNqc1wiO1xuICAgICAgY29uc3QgZGlybmFtZSA9IHBhdGguZGlybmFtZShmaWxlKS5yZXBsYWNlKFwibGliXCIsIFwic3JjXCIpO1xuICAgICAgY29uc3QgZmlsZU5hbWUgPSBncm91cHNbMV0gKyBcIi50c1wiO1xuICAgICAgY29uc3Qgc291cmNlRmlsZVBhdGggPSBwYXRoLmpvaW4oZGlybmFtZSwgZmlsZU5hbWUpO1xuXG4gICAgICBsZXQgcmVzdWx0O1xuICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKHNvdXJjZUZpbGVQYXRoKSkge1xuICAgICAgICByZXN1bHQgPSBncm91cHNbMF0gKyBncm91cHNbMV0gKyBcIi9pbmRleC5janNcIiArIGdyb3Vwc1syXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IGdyb3Vwc1swXSArIHJlbmFtZWRGaWxlICsgZ3JvdXBzWzJdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuICAgIHdyaXRlRmlsZShmaWxlLCBkYXRhKTtcbiAgfVxuXG4gIHBhdGNoRmlsZXMocDogc3RyaW5nKSB7XG4gICAgY29uc3QgbG9nID0gdGhpcy5sb2cuZm9yKHRoaXMucGF0Y2hGaWxlcyk7XG4gICAgY29uc3QgeyBuYW1lLCB2ZXJzaW9uIH0gPSBnZXRQYWNrYWdlKCkgYXMgYW55O1xuICAgIGxvZy5pbmZvKGBQYXRjaGluZyAke25hbWV9ICR7dmVyc2lvbn0gbW9kdWxlIGluICR7cH0uLi5gKTtcbiAgICBjb25zdCBzdGF0ID0gZnMuc3RhdFN5bmMocCk7XG4gICAgaWYgKHN0YXQuaXNEaXJlY3RvcnkoKSlcbiAgICAgIGZzLnJlYWRkaXJTeW5jKHAsIHsgd2l0aEZpbGVUeXBlczogdHJ1ZSwgcmVjdXJzaXZlOiB0cnVlIH0pXG4gICAgICAgIC5maWx0ZXIoKHApID0+IHAuaXNGaWxlKCkpXG4gICAgICAgIC5mb3JFYWNoKChmaWxlKSA9PlxuICAgICAgICAgIHBhdGNoRmlsZShwYXRoLmpvaW4oZmlsZS5wYXJlbnRQYXRoLCBmaWxlLm5hbWUpLCB0aGlzLnJlcGxhY2VtZW50cylcbiAgICAgICAgKTtcbiAgICBsb2cudmVyYm9zZShgTW9kdWxlICR7bmFtZX0gJHt2ZXJzaW9ufSBwYXRjaGVkIGluICR7cH0uLi5gKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYnVpbGQoaXNEZXY6IGJvb2xlYW4sIG1vZGU6IE1vZGVzLCBidW5kbGUgPSBmYWxzZSkge1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLmJ1aWxkKTtcbiAgICBsb2cuaW5mbyhcbiAgICAgIGBCdWlsZGluZyAke3RoaXMucGtnTmFtZX0gJHt0aGlzLnBrZ1ZlcnNpb259IG1vZHVsZSAoJHttb2RlfSkgaW4gJHtpc0RldiA/IFwiZGV2XCIgOiBcInByb2RcIn0gbW9kZS4uLmBcbiAgICApO1xuXG4gICAgYXdhaXQgcnVuQ29tbWFuZChcbiAgICAgIGBucHggdHNjIC0tbW9kdWxlICR7YnVuZGxlID8gXCJhbWRcIiA6IG1vZGV9JHtpc0RldiA/IFwiIC0taW5saW5lU291cmNlTWFwXCIgOiBcIiAtLXNvdXJjZU1hcCBmYWxzZVwifSAtLW91dERpciAke2J1bmRsZSA/IFwiZGlzdFwiIDogYGxpYiR7bW9kZSA9PT0gTW9kZXMuRVNNID8gXCIvZXNtXCIgOiBcIlwifWB9JHtidW5kbGUgPyBgIC0taXNvbGF0ZWRNb2R1bGVzIGZhbHNlIC0tb3V0RmlsZSAke3RoaXMucGtnTmFtZX1gIDogXCJcIn1gXG4gICAgKS5wcm9taXNlO1xuICAgIGxvZy52ZXJib3NlKFxuICAgICAgYE1vZHVsZSAke3RoaXMucGtnTmFtZX0gJHt0aGlzLnBrZ1ZlcnNpb259ICgke21vZGV9KSBidWlsdCBpbiAke2lzRGV2ID8gXCJkZXZcIiA6IFwicHJvZFwifSBtb2RlLi4uYFxuICAgICk7XG4gICAgaWYgKG1vZGUgPT09IE1vZGVzLkNKUyAmJiAhYnVuZGxlKSB7XG4gICAgICBjb25zdCBmaWxlcyA9IGdldEFsbEZpbGVzKFxuICAgICAgICBcImxpYlwiLFxuICAgICAgICAoZmlsZSkgPT4gZmlsZS5lbmRzV2l0aChcIi5qc1wiKSAmJiAhZmlsZS5pbmNsdWRlcyhcIi9lc20vXCIpXG4gICAgICApO1xuXG4gICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgICAgbG9nLnZlcmJvc2UoYFBhdGNoaW5nICR7ZmlsZX0ncyBjanMgaW1wb3J0cy4uLmApO1xuICAgICAgICBjb25zdCBmID0gZmlsZS5yZXBsYWNlKFwiLmpzXCIsIFwiLmNqc1wiKTtcbiAgICAgICAgYXdhaXQgcmVuYW1lRmlsZShmaWxlLCBmKTtcbiAgICAgICAgdGhpcy5wYXRjaENqc0ltcG9ydHMoZik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29weUFzc2V0cyhtb2RlOiBNb2Rlcykge1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLmNvcHlBc3NldHMpO1xuICAgIGxldCBoYXNBc3NldHMgPSBmYWxzZTtcbiAgICB0cnkge1xuICAgICAgaGFzQXNzZXRzID0gZnMuc3RhdFN5bmMoXCIuL3NyYy9hc3NldHNcIikuaXNEaXJlY3RvcnkoKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICByZXR1cm4gbG9nLnZlcmJvc2UoYE5vIGFzc2V0cyBmb3VuZCBpbiAuL3NyYy9hc3NldHMgdG8gY29weWApO1xuICAgIH1cbiAgICBpZiAoaGFzQXNzZXRzKVxuICAgICAgY29weUZpbGUoXG4gICAgICAgIFwiLi9zcmMvYXNzZXRzXCIsXG4gICAgICAgIGAuLyR7bW9kZSA9PT0gTW9kZXMuQ0pTID8gXCJsaWJcIiA6IFwiZGlzdFwifS9hc3NldHNgXG4gICAgICApO1xuICB9XG5cbiAgYXN5bmMgYnVpbGRDb21tYW5kcygpIHtcbiAgICBmb3IgKGNvbnN0IGNtZCBvZiBDb21tYW5kcykge1xuICAgICAgYXdhaXQgdGhpcy5idW5kbGUoTW9kZXMuQ0pTLCB0cnVlLCB0cnVlLCBgc3JjL2Jpbi8ke2NtZH0udHNgLCBjbWQpO1xuICAgICAgbGV0IGRhdGEgPSByZWFkRmlsZShgYmluLyR7Y21kfS5janNgKTtcbiAgICAgIGRhdGEgPSBcIiMhL3Vzci9iaW4vZW52IG5vZGVcXG5cIiArIGRhdGE7XG4gICAgICB3cml0ZUZpbGUoYGJpbi8ke2NtZH0uY2pzYCwgZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgYnVuZGxlKFxuICAgIG1vZGU6IE1vZGVzLFxuICAgIGlzRGV2OiBib29sZWFuLFxuICAgIGlzTGliOiBib29sZWFuLFxuICAgIGVudHJ5RmlsZTogc3RyaW5nID0gXCJzcmMvaW5kZXgudHNcIixcbiAgICBuYW1lT3ZlcnJpZGU6IHN0cmluZyA9IHRoaXMucGtnTmFtZSxcbiAgICBleHRlcm5hbHM/OiBzdHJpbmdbXSxcbiAgICBpbmNsdWRlOiBzdHJpbmdbXSA9IFtcbiAgICAgIFwicHJvbXB0c1wiLFxuICAgICAgXCJzdHlsZWQtc3RyaW5nLWJ1aWxkZXJcIixcbiAgICAgIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIixcbiAgICBdXG4gICkge1xuICAgIGNvbnN0IGlzRXNtID0gbW9kZSA9PT0gTW9kZXMuRVNNO1xuICAgIGNvbnN0IHBrZ05hbWUgPSB0aGlzLnBrZ05hbWU7XG5cbiAgICBjb25zdCBleHQgPSBBcnJheS5mcm9tKFxuICAgICAgbmV3IFNldChbXG4gICAgICAgIC4uLltcbiAgICAgICAgICBcImZzXCIsXG4gICAgICAgICAgXCJwYXRoXCIsXG4gICAgICAgICAgXCJwcm9jZXNzXCIsXG4gICAgICAgICAgXCJyb2xsdXBcIixcbiAgICAgICAgICBcIkByb2xsdXAvcGx1Z2luLXR5cGVzY3JpcHRcIixcbiAgICAgICAgICBcIkByb2xsdXAvcGx1Z2luLWpzb25cIixcbiAgICAgICAgICBcIkByb2xsdXAvcGx1Z2luLWNvbW1vbmpzXCIsXG4gICAgICAgICAgXCJAcm9sbHVwL3BsdWdpbi1ub2RlLXJlc29sdmVcIixcbiAgICAgICAgICBcImNoaWxkX3Byb2Nlc3NcIixcbiAgICAgICAgICBcInV0aWxcIixcbiAgICAgICAgICBcImh0dHBzXCIsXG4gICAgICAgIF0sXG4gICAgICAgIC4uLihleHRlcm5hbHMgfHwgW10pLFxuICAgICAgXSlcbiAgICApO1xuXG4gICAgY29uc3QgcGx1Z2lucyA9IFtcbiAgICAgIHR5cGVzY3JpcHQoe1xuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICBtb2R1bGU6IFwiZXNuZXh0XCIsXG4gICAgICAgICAgZGVjbGFyYXRpb246IGZhbHNlLFxuICAgICAgICAgIG91dERpcjogaXNMaWIgPyBcImJpblwiIDogXCJkaXN0XCIsXG4gICAgICAgIH0sXG4gICAgICAgIGluY2x1ZGU6IFtcInNyYy8qKi8qLnRzXCJdLFxuICAgICAgICBleGNsdWRlOiBbXCJub2RlX21vZHVsZXNcIiwgXCIqKi8qLnNwZWMudHNcIl0sXG4gICAgICAgIHRzY29uZmlnOiBcIi4vdHNjb25maWcuanNvblwiLFxuICAgICAgfSksXG4gICAgICBqc29uKCksXG4gICAgXTtcblxuICAgIGlmIChpc0xpYikge1xuICAgICAgcGx1Z2lucy5wdXNoKFxuICAgICAgICBjb21tb25qcyh7XG4gICAgICAgICAgaW5jbHVkZTogW10sXG4gICAgICAgICAgZXhjbHVkZTogZXh0ZXJuYWxzLFxuICAgICAgICB9KSxcbiAgICAgICAgbm9kZVJlc29sdmUoe1xuICAgICAgICAgIHJlc29sdmVPbmx5OiBpbmNsdWRlLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnB1dDogSW5wdXRPcHRpb25zID0ge1xuICAgICAgaW5wdXQ6IGVudHJ5RmlsZSxcbiAgICAgIHBsdWdpbnM6IHBsdWdpbnMsXG4gICAgICBleHRlcm5hbDogZXh0LFxuICAgIH07XG5cbiAgICBjb25zdCBvdXRwdXRzOiBPdXRwdXRPcHRpb25zW10gPSBbXG4gICAgICB7XG4gICAgICAgIGZpbGU6IGAke2lzTGliID8gXCJiaW4vXCIgOiBcImRpc3QvXCJ9JHtuYW1lT3ZlcnJpZGUgPyBuYW1lT3ZlcnJpZGUgOiBgLmJ1bmRsZS4keyFpc0RldiA/IFwibWluXCIgOiBcIlwifWB9JHtpc0VzbSA/IFwiLmVzbVwiIDogXCJcIn0uY2pzYCxcbiAgICAgICAgZm9ybWF0OiBpc0xpYiA/IFwiY2pzXCIgOiBpc0VzbSA/IFwiZXNtXCIgOiBcInVtZFwiLFxuICAgICAgICBuYW1lOiBwa2dOYW1lLFxuICAgICAgICBlc01vZHVsZTogaXNFc20sXG4gICAgICAgIHNvdXJjZW1hcDogaXNEZXYgPyBcImlubGluZVwiIDogZmFsc2UsXG4gICAgICAgIGdsb2JhbHM6IHt9LFxuICAgICAgICBleHBvcnRzOiBcImF1dG9cIixcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBidW5kbGUgPSBhd2FpdCByb2xsdXAoaW5wdXQpO1xuICAgICAgY29uc29sZS5sb2coYnVuZGxlLndhdGNoRmlsZXMpO1xuICAgICAgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVPdXRwdXRzKGJ1bmRsZTogUm9sbHVwQnVpbGQpIHtcbiAgICAgICAgZm9yIChjb25zdCBvdXRwdXRPcHRpb25zIG9mIG91dHB1dHMpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICAgICAgY29uc3QgeyBvdXRwdXQgfSA9IGF3YWl0IGJ1bmRsZS53cml0ZShvdXRwdXRPcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBnZW5lcmF0ZU91dHB1dHMoYnVuZGxlKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBidW5kbGU6ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGJ1aWxkQnlFbnYoaXNEZXY6IGJvb2xlYW4pIHtcbiAgICB0cnkge1xuICAgICAgZGVsZXRlUGF0aChcImxpYlwiKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAvLyBkbyBub3RoaW5nXG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBkZWxldGVQYXRoKFwiZGlzdFwiKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAvLyBkbyBub3RoaW5nXG4gICAgfVxuICAgIGZzLm1rZGlyU3luYyhcImxpYlwiKTtcbiAgICBmcy5ta2RpclN5bmMoXCJkaXN0XCIpO1xuICAgIGF3YWl0IHRoaXMuYnVpbGQoaXNEZXYsIE1vZGVzLkNKUyk7XG4gICAgYXdhaXQgdGhpcy5idWlsZChpc0RldiwgTW9kZXMuRVNNKTtcbiAgICBhd2FpdCB0aGlzLmJ1bmRsZShNb2Rlcy5DSlMsIHRydWUsIGZhbHNlKTtcbiAgICBhd2FpdCB0aGlzLmJ1bmRsZShNb2Rlcy5FU00sIHRydWUsIGZhbHNlKTtcbiAgICB0aGlzLnBhdGNoRmlsZXMoXCJsaWJcIik7XG4gICAgdGhpcy5wYXRjaEZpbGVzKFwiZGlzdFwiKTtcbiAgICB0aGlzLmNvcHlBc3NldHMoTW9kZXMuQ0pTKTtcbiAgICB0aGlzLmNvcHlBc3NldHMoTW9kZXMuRVNNKTtcbiAgfVxuXG4gIGFzeW5jIGJ1aWxkRGV2KCkge1xuICAgIHJldHVybiB0aGlzLmJ1aWxkQnlFbnYodHJ1ZSk7XG4gIH1cblxuICBhc3luYyBidWlsZFByb2QoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRCeUVudihmYWxzZSk7XG4gIH1cblxuICBhc3luYyBidWlsZERvY3MoKSB7XG4gICAgYXdhaXQgcnVuQ29tbWFuZChgbnBtIGluc3RhbGwgYmV0dGVyLWRvY3MgdGFmZnlkYmApLnByb21pc2U7XG4gICAgYXdhaXQgcnVuQ29tbWFuZChgbnB4IG1hcmtkb3duLWluY2x1ZGUgLi93b3JrZG9jcy9yZWFkbWUtbWQuanNvbmApLnByb21pc2U7XG4gICAgYXdhaXQgcnVuQ29tbWFuZChcbiAgICAgIGBucHgganNkb2MgLWMgLi93b3JrZG9jcy9qc2RvY3MuanNvbiAtdCAuL25vZGVfbW9kdWxlcy9iZXR0ZXItZG9jc2BcbiAgICApLnByb21pc2U7XG4gICAgYXdhaXQgcnVuQ29tbWFuZChgbnBtIHJlbW92ZSBiZXR0ZXItZG9jcyB0YWZmeWRiYCkucHJvbWlzZTtcbiAgICBbXG4gICAgICB7XG4gICAgICAgIHNyYzogXCJ3b3JrZG9jcy9hc3NldHNcIixcbiAgICAgICAgZGVzdDogXCIuL2RvY3Mvd29ya2RvY3MvYXNzZXRzXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzcmM6IFwid29ya2RvY3MvcmVwb3J0cy9jb3ZlcmFnZVwiLFxuICAgICAgICBkZXN0OiBcIi4vZG9jcy93b3JrZG9jcy9yZXBvcnRzL2NvdmVyYWdlXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzcmM6IFwid29ya2RvY3MvcmVwb3J0cy9odG1sXCIsXG4gICAgICAgIGRlc3Q6IFwiLi9kb2NzL3dvcmtkb2NzL3JlcG9ydHMvaHRtbFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3JjOiBcIndvcmtkb2NzL3Jlc291cmNlc1wiLFxuICAgICAgICBkZXN0OiBcIi4vZG9jcy93b3JrZG9jcy9yZXNvdXJjZXNcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNyYzogXCJMSUNFTlNFLm1kXCIsXG4gICAgICAgIGRlc3Q6IFwiLi9kb2NzL0xJQ0VOU0UubWRcIixcbiAgICAgIH0sXG4gICAgXS5mb3JFYWNoKChmKSA9PiB7XG4gICAgICBjb25zdCB7IHNyYywgZGVzdCB9ID0gZjtcbiAgICAgIGNvcHlGaWxlKHNyYywgZGVzdCk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcnVuPFI+KFxuICAgIGFuc3dlcnM6IExvZ2dpbmdDb25maWcgJlxuICAgICAgdHlwZW9mIERlZmF1bHRDb21tYW5kVmFsdWVzICYgeyBbayBpbiBrZXlvZiB0eXBlb2Ygb3B0aW9uc106IHVua25vd24gfVxuICApOiBQcm9taXNlPHN0cmluZyB8IHZvaWQgfCBSPiB7XG4gICAgY29uc3QgeyBkZXYsIHByb2QsIGRvY3MsIGNvbW1hbmRzIH0gPSBhbnN3ZXJzO1xuXG4gICAgaWYgKGNvbW1hbmRzKSB7XG4gICAgICBhd2FpdCB0aGlzLmJ1aWxkQ29tbWFuZHMoKTtcbiAgICB9XG5cbiAgICBpZiAoZGV2KSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5idWlsZERldigpO1xuICAgIH1cbiAgICBpZiAocHJvZCkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYnVpbGRQcm9kKCk7XG4gICAgfVxuICAgIGlmIChkb2NzKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5idWlsZERvY3MoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
272
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtc2NyaXB0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvYnVpbGQtc2NyaXB0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBd0IsTUFBTSxjQUFjLENBQUM7QUFDM0UsT0FBTyxFQUNMLFFBQVEsRUFDUixVQUFVLEVBQ1YsV0FBVyxFQUNYLFVBQVUsRUFDVixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixVQUFVLEVBQ1YsU0FBUyxHQUNWLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLE1BQU0sRUFBNEMsTUFBTSxRQUFRLENBQUM7QUFDMUUsT0FBTyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFDbkQsT0FBTyxRQUFRLE1BQU0seUJBQXlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sSUFBSSxNQUFNLHFCQUFxQixDQUFDO0FBR3ZDLE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQztBQUVyQyxJQUFLLEtBR0o7QUFIRCxXQUFLLEtBQUs7SUFDUix5QkFBZ0IsQ0FBQTtJQUNoQix1QkFBYyxDQUFBO0FBQ2hCLENBQUMsRUFISSxLQUFLLEtBQUwsS0FBSyxRQUdUO0FBRUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFFcEUsTUFBTSxPQUFPLEdBQUc7SUFDZCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO0tBQ2Y7SUFDRCxHQUFHLEVBQUU7UUFDSCxJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO0tBQ2Y7SUFDRCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO0tBQ2Y7SUFDRCxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO0tBQ2Y7SUFDRCxNQUFNLEVBQUU7UUFDTixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO0tBQ2Y7Q0FDRixDQUFDO0FBRUYsTUFBTSxPQUFPLFlBQWEsU0FBUSxPQUdqQztJQUtDO1FBQ0UsS0FBSyxDQUNILGNBQWMsRUFDZCxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxPQUFPLENBRS9DLENBQ0YsQ0FBQztRQVZJLGlCQUFZLEdBQTJCLEVBQUUsQ0FBQztRQVdoRCxNQUFNLEdBQUcsR0FBRyxVQUFVLEVBQXVDLENBQUM7UUFDOUQsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3RELENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWTtRQUMxQixNQUFNLE1BQU0sR0FBRyxxQ0FBcUMsQ0FBQztRQUNyRCxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsTUFBZ0IsRUFBRSxFQUFFO1lBQ3pELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3pELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDbkMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFcEQsSUFBSSxNQUFNLENBQUM7WUFDWCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVELENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsQ0FBQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVSxDQUFDLENBQVM7UUFDbEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsVUFBVSxFQUFTLENBQUM7UUFDOUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRCxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO2lCQUN4RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztpQkFDekIsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDaEIsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUNwRSxDQUFDO1FBQ04sR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFjLEVBQUUsSUFBVyxFQUFFLE1BQU0sR0FBRyxLQUFLO1FBQzdELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxHQUFHLENBQUMsSUFBSSxDQUNOLFlBQVksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxZQUFZLElBQUksUUFBUSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxVQUFVLENBQ3BHLENBQUM7UUFFRixNQUFNLFVBQVUsQ0FDZCxvQkFBb0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsYUFBYSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLHNDQUFzQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUM5TyxDQUFDLE9BQU8sQ0FBQztRQUNWLEdBQUcsQ0FBQyxPQUFPLENBQ1QsVUFBVSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxjQUFjLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLFVBQVUsQ0FDakcsQ0FBQztRQUNGLElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQ3ZCLEtBQUssRUFDTCxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQzFELENBQUM7WUFFRixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUN6QixHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO2dCQUNqRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDdEMsTUFBTSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFXO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDO1lBQ0gsU0FBUyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEQsNkRBQTZEO1FBQy9ELENBQUM7UUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxJQUFJLFNBQVM7WUFDWCxRQUFRLENBQ04sY0FBYyxFQUNkLEtBQUssSUFBSSxLQUFLLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxTQUFTLENBQ2xELENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWE7UUFDakIsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDbkUsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQztZQUN0QyxJQUFJLEdBQUcsdUJBQXVCLEdBQUcsSUFBSSxDQUFDO1lBQ3RDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU0sQ0FDVixJQUFXLEVBQ1gsS0FBYyxFQUNkLEtBQWMsRUFDZCxZQUFvQixjQUFjLEVBQ2xDLGVBQXVCLElBQUksQ0FBQyxPQUFPLEVBQ25DLFNBQW9CLEVBQ3BCLFVBQW9CO1FBQ2xCLFNBQVM7UUFDVCx1QkFBdUI7UUFDdkIsMEJBQTBCO1FBQzFCLG1CQUFtQjtLQUNwQjtRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFN0IsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDcEIsSUFBSSxHQUFHLENBQUM7WUFDTixHQUFHO2dCQUNELElBQUk7Z0JBQ0osTUFBTTtnQkFDTixTQUFTO2dCQUNULFFBQVE7Z0JBQ1IsMkJBQTJCO2dCQUMzQixxQkFBcUI7Z0JBQ3JCLHlCQUF5QjtnQkFDekIsNkJBQTZCO2dCQUM3QixlQUFlO2dCQUNmLE1BQU07Z0JBQ04sT0FBTztnQkFDUCxPQUFPO2FBQ1I7WUFDRCxHQUFHLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztTQUNyQixDQUFDLENBQ0gsQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUFHO1lBQ2QsVUFBVSxDQUFDO2dCQUNULGVBQWUsRUFBRTtvQkFDZixNQUFNLEVBQUUsUUFBUTtvQkFDaEIsV0FBVyxFQUFFLEtBQUs7b0JBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTTtpQkFDL0I7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUN4QixPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDO2dCQUN6QyxRQUFRLEVBQUUsaUJBQWlCO2FBQzVCLENBQUM7WUFDRixJQUFJLEVBQUU7U0FDUCxDQUFDO1FBRUYsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE9BQU8sQ0FBQyxJQUFJLENBQ1YsUUFBUSxDQUFDO2dCQUNQLE9BQU8sRUFBRSxFQUFFO2dCQUNYLE9BQU8sRUFBRSxTQUFTO2FBQ25CLENBQUMsRUFDRixXQUFXLENBQUM7Z0JBQ1YsV0FBVyxFQUFFLE9BQU87YUFDckIsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQWlCO1lBQzFCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFFBQVEsRUFBRSxHQUFHO1NBQ2QsQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUFvQjtZQUMvQjtnQkFDRSxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU07Z0JBQzlILE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUs7Z0JBQzdDLElBQUksRUFBRSxPQUFPO2dCQUNiLFFBQVEsRUFBRSxLQUFLO2dCQUNmLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSztnQkFDbkMsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsT0FBTyxFQUFFLE1BQU07YUFDaEI7U0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDO1lBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0IsS0FBSyxVQUFVLGVBQWUsQ0FBQyxNQUFtQjtnQkFDaEQsS0FBSyxNQUFNLGFBQWEsSUFBSSxPQUFPLEVBQUUsQ0FBQztvQkFDcEMsNkRBQTZEO29CQUM3RCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO1lBQ0gsQ0FBQztZQUVELE1BQU0sZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQWM7UUFDckMsSUFBSSxDQUFDO1lBQ0gsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xCLDZEQUE2RDtRQUMvRCxDQUFDO1FBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztZQUNwQixhQUFhO1FBQ2YsQ0FBQztRQUNELElBQUksQ0FBQztZQUNILFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuQiw2REFBNkQ7UUFDL0QsQ0FBQztRQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7WUFDcEIsYUFBYTtRQUNmLENBQUM7UUFDRCxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckIsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVM7UUFDYixNQUFNLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUM1RCxNQUFNLFVBQVUsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUMzRSxNQUFNLFVBQVUsQ0FDZCxtRUFBbUUsQ0FDcEUsQ0FBQyxPQUFPLENBQUM7UUFDVixNQUFNLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUMzRDtZQUNFO2dCQUNFLEdBQUcsRUFBRSxpQkFBaUI7Z0JBQ3RCLElBQUksRUFBRSx3QkFBd0I7YUFDL0I7WUFDRDtnQkFDRSxHQUFHLEVBQUUsMkJBQTJCO2dCQUNoQyxJQUFJLEVBQUUsa0NBQWtDO2FBQ3pDO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLHVCQUF1QjtnQkFDNUIsSUFBSSxFQUFFLDhCQUE4QjthQUNyQztZQUNEO2dCQUNFLEdBQUcsRUFBRSxvQkFBb0I7Z0JBQ3pCLElBQUksRUFBRSwyQkFBMkI7YUFDbEM7WUFDRDtnQkFDRSxHQUFHLEVBQUUsWUFBWTtnQkFDakIsSUFBSSxFQUFFLG1CQUFtQjthQUMxQjtTQUNGLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZCxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN4QixRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLEtBQUssQ0FBQyxHQUFHLENBQ2pCLE9BQ3dFO1FBRXhFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFFOUMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFFRCxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsT0FBTyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQixDQUFDO1FBQ0QsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE9BQU8sTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxPQUFPLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kIH0gZnJvbSBcIi4uL2NvbW1hbmRcIjtcbmltcG9ydCB7IENvbW1hbmRPcHRpb25zIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBEZWZhdWx0Q29tbWFuZE9wdGlvbnMsIERlZmF1bHRDb21tYW5kVmFsdWVzIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgY29weUZpbGUsXG4gIGRlbGV0ZVBhdGgsXG4gIGdldEFsbEZpbGVzLFxuICBnZXRQYWNrYWdlLFxuICBwYXRjaEZpbGUsXG4gIHJlYWRGaWxlLFxuICByZW5hbWVGaWxlLFxuICBydW5Db21tYW5kLFxuICB3cml0ZUZpbGUsXG59IGZyb20gXCIuLi8uLi91dGlsc1wiO1xuaW1wb3J0IGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IHJvbGx1cCwgSW5wdXRPcHRpb25zLCBPdXRwdXRPcHRpb25zLCBSb2xsdXBCdWlsZCB9IGZyb20gXCJyb2xsdXBcIjtcbmltcG9ydCB0eXBlc2NyaXB0IGZyb20gXCJAcm9sbHVwL3BsdWdpbi10eXBlc2NyaXB0XCI7XG5pbXBvcnQgY29tbW9uanMgZnJvbSBcIkByb2xsdXAvcGx1Z2luLWNvbW1vbmpzXCI7XG5pbXBvcnQgeyBub2RlUmVzb2x2ZSB9IGZyb20gXCJAcm9sbHVwL3BsdWdpbi1ub2RlLXJlc29sdmVcIjtcbmltcG9ydCBqc29uIGZyb20gXCJAcm9sbHVwL3BsdWdpbi1qc29uXCI7XG5pbXBvcnQgeyBMb2dnaW5nQ29uZmlnIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5cbmNvbnN0IFZFUlNJT05fU1RSSU5HID0gXCIjI1ZFUlNJT04jI1wiO1xuXG5lbnVtIE1vZGVzIHtcbiAgQ0pTID0gXCJjb21tb25qc1wiLFxuICBFU00gPSBcImVzMjAyMlwiLFxufVxuXG5jb25zdCBDb21tYW5kcyA9IFtcInVwZGF0ZS1zY3JpcHRzXCIsIFwidGFnLXJlbGVhc2VcIiwgXCJidWlsZC1zY3JpcHRzXCJdO1xuXG5jb25zdCBvcHRpb25zID0ge1xuICBwcm9kOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGRldjoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBkb2NzOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGNvbW1hbmRzOiB7XG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGJhbm5lcjoge1xuICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxufTtcblxuZXhwb3J0IGNsYXNzIEJ1aWxkU2NyaXB0cyBleHRlbmRzIENvbW1hbmQ8XG4gIENvbW1hbmRPcHRpb25zPHR5cGVvZiBvcHRpb25zPixcbiAgdm9pZFxuPiB7XG4gIHByaXZhdGUgcmVwbGFjZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gIHByaXZhdGUgcmVhZG9ubHkgcGtnVmVyc2lvbjogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHBrZ05hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcbiAgICAgIFwiQnVpbGRTY3JpcHRzXCIsXG4gICAgICBPYmplY3QuYXNzaWduKHt9LCBEZWZhdWx0Q29tbWFuZE9wdGlvbnMsIG9wdGlvbnMpIGFzIENvbW1hbmRPcHRpb25zPFxuICAgICAgICB0eXBlb2Ygb3B0aW9uc1xuICAgICAgPlxuICAgICk7XG4gICAgY29uc3QgcGtnID0gZ2V0UGFja2FnZSgpIGFzIHsgbmFtZTogc3RyaW5nOyB2ZXJzaW9uOiBzdHJpbmcgfTtcbiAgICBjb25zdCB7IG5hbWUsIHZlcnNpb24gfSA9IHBrZztcbiAgICB0aGlzLnBrZ05hbWUgPSBuYW1lLmluY2x1ZGVzKFwiQFwiKSA/IG5hbWUuc3BsaXQoXCIvXCIpWzFdIDogbmFtZTtcbiAgICB0aGlzLnBrZ1ZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIHRoaXMucmVwbGFjZW1lbnRzW1ZFUlNJT05fU1RSSU5HXSA9IHRoaXMucGtnVmVyc2lvbjtcbiAgfVxuXG4gIHBhdGNoQ2pzSW1wb3J0cyhmaWxlOiBzdHJpbmcpIHtcbiAgICBjb25zdCByZWdleHAgPSAvKHJlcXVpcmVcXChbXCInXSkoXFwuLio/KShbXCInXVxcKVs7LF0pL2c7XG4gICAgbGV0IGRhdGEgPSByZWFkRmlsZShmaWxlKTtcbiAgICBkYXRhID0gZGF0YS5yZXBsYWNlKHJlZ2V4cCwgKG1hdGNoLCAuLi5ncm91cHM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBjb25zdCByZW5hbWVkRmlsZSA9IGdyb3Vwc1sxXSArIFwiLmNqc1wiO1xuICAgICAgY29uc3QgZGlybmFtZSA9IHBhdGguZGlybmFtZShmaWxlKS5yZXBsYWNlKFwibGliXCIsIFwic3JjXCIpO1xuICAgICAgY29uc3QgZmlsZU5hbWUgPSBncm91cHNbMV0gKyBcIi50c1wiO1xuICAgICAgY29uc3Qgc291cmNlRmlsZVBhdGggPSBwYXRoLmpvaW4oZGlybmFtZSwgZmlsZU5hbWUpO1xuXG4gICAgICBsZXQgcmVzdWx0O1xuICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKHNvdXJjZUZpbGVQYXRoKSkge1xuICAgICAgICByZXN1bHQgPSBncm91cHNbMF0gKyBncm91cHNbMV0gKyBcIi9pbmRleC5janNcIiArIGdyb3Vwc1syXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IGdyb3Vwc1swXSArIHJlbmFtZWRGaWxlICsgZ3JvdXBzWzJdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuICAgIHdyaXRlRmlsZShmaWxlLCBkYXRhKTtcbiAgfVxuXG4gIHBhdGNoRmlsZXMocDogc3RyaW5nKSB7XG4gICAgY29uc3QgbG9nID0gdGhpcy5sb2cuZm9yKHRoaXMucGF0Y2hGaWxlcyk7XG4gICAgY29uc3QgeyBuYW1lLCB2ZXJzaW9uIH0gPSBnZXRQYWNrYWdlKCkgYXMgYW55O1xuICAgIGxvZy5pbmZvKGBQYXRjaGluZyAke25hbWV9ICR7dmVyc2lvbn0gbW9kdWxlIGluICR7cH0uLi5gKTtcbiAgICBjb25zdCBzdGF0ID0gZnMuc3RhdFN5bmMocCk7XG4gICAgaWYgKHN0YXQuaXNEaXJlY3RvcnkoKSlcbiAgICAgIGZzLnJlYWRkaXJTeW5jKHAsIHsgd2l0aEZpbGVUeXBlczogdHJ1ZSwgcmVjdXJzaXZlOiB0cnVlIH0pXG4gICAgICAgIC5maWx0ZXIoKHApID0+IHAuaXNGaWxlKCkpXG4gICAgICAgIC5mb3JFYWNoKChmaWxlKSA9PlxuICAgICAgICAgIHBhdGNoRmlsZShwYXRoLmpvaW4oZmlsZS5wYXJlbnRQYXRoLCBmaWxlLm5hbWUpLCB0aGlzLnJlcGxhY2VtZW50cylcbiAgICAgICAgKTtcbiAgICBsb2cudmVyYm9zZShgTW9kdWxlICR7bmFtZX0gJHt2ZXJzaW9ufSBwYXRjaGVkIGluICR7cH0uLi5gKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYnVpbGQoaXNEZXY6IGJvb2xlYW4sIG1vZGU6IE1vZGVzLCBidW5kbGUgPSBmYWxzZSkge1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLmJ1aWxkKTtcbiAgICBsb2cuaW5mbyhcbiAgICAgIGBCdWlsZGluZyAke3RoaXMucGtnTmFtZX0gJHt0aGlzLnBrZ1ZlcnNpb259IG1vZHVsZSAoJHttb2RlfSkgaW4gJHtpc0RldiA/IFwiZGV2XCIgOiBcInByb2RcIn0gbW9kZS4uLmBcbiAgICApO1xuXG4gICAgYXdhaXQgcnVuQ29tbWFuZChcbiAgICAgIGBucHggdHNjIC0tbW9kdWxlICR7YnVuZGxlID8gXCJhbWRcIiA6IG1vZGV9JHtpc0RldiA/IFwiIC0taW5saW5lU291cmNlTWFwXCIgOiBcIiAtLXNvdXJjZU1hcCBmYWxzZVwifSAtLW91dERpciAke2J1bmRsZSA/IFwiZGlzdFwiIDogYGxpYiR7bW9kZSA9PT0gTW9kZXMuRVNNID8gXCIvZXNtXCIgOiBcIlwifWB9JHtidW5kbGUgPyBgIC0taXNvbGF0ZWRNb2R1bGVzIGZhbHNlIC0tb3V0RmlsZSAke3RoaXMucGtnTmFtZX1gIDogXCJcIn1gXG4gICAgKS5wcm9taXNlO1xuICAgIGxvZy52ZXJib3NlKFxuICAgICAgYE1vZHVsZSAke3RoaXMucGtnTmFtZX0gJHt0aGlzLnBrZ1ZlcnNpb259ICgke21vZGV9KSBidWlsdCBpbiAke2lzRGV2ID8gXCJkZXZcIiA6IFwicHJvZFwifSBtb2RlLi4uYFxuICAgICk7XG4gICAgaWYgKG1vZGUgPT09IE1vZGVzLkNKUyAmJiAhYnVuZGxlKSB7XG4gICAgICBjb25zdCBmaWxlcyA9IGdldEFsbEZpbGVzKFxuICAgICAgICBcImxpYlwiLFxuICAgICAgICAoZmlsZSkgPT4gZmlsZS5lbmRzV2l0aChcIi5qc1wiKSAmJiAhZmlsZS5pbmNsdWRlcyhcIi9lc20vXCIpXG4gICAgICApO1xuXG4gICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgICAgbG9nLnZlcmJvc2UoYFBhdGNoaW5nICR7ZmlsZX0ncyBjanMgaW1wb3J0cy4uLmApO1xuICAgICAgICBjb25zdCBmID0gZmlsZS5yZXBsYWNlKFwiLmpzXCIsIFwiLmNqc1wiKTtcbiAgICAgICAgYXdhaXQgcmVuYW1lRmlsZShmaWxlLCBmKTtcbiAgICAgICAgdGhpcy5wYXRjaENqc0ltcG9ydHMoZik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29weUFzc2V0cyhtb2RlOiBNb2Rlcykge1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nLmZvcih0aGlzLmNvcHlBc3NldHMpO1xuICAgIGxldCBoYXNBc3NldHMgPSBmYWxzZTtcbiAgICB0cnkge1xuICAgICAgaGFzQXNzZXRzID0gZnMuc3RhdFN5bmMoXCIuL3NyYy9hc3NldHNcIikuaXNEaXJlY3RvcnkoKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICByZXR1cm4gbG9nLnZlcmJvc2UoYE5vIGFzc2V0cyBmb3VuZCBpbiAuL3NyYy9hc3NldHMgdG8gY29weWApO1xuICAgIH1cbiAgICBpZiAoaGFzQXNzZXRzKVxuICAgICAgY29weUZpbGUoXG4gICAgICAgIFwiLi9zcmMvYXNzZXRzXCIsXG4gICAgICAgIGAuLyR7bW9kZSA9PT0gTW9kZXMuQ0pTID8gXCJsaWJcIiA6IFwiZGlzdFwifS9hc3NldHNgXG4gICAgICApO1xuICB9XG5cbiAgYXN5bmMgYnVpbGRDb21tYW5kcygpIHtcbiAgICBmb3IgKGNvbnN0IGNtZCBvZiBDb21tYW5kcykge1xuICAgICAgYXdhaXQgdGhpcy5idW5kbGUoTW9kZXMuQ0pTLCB0cnVlLCB0cnVlLCBgc3JjL2Jpbi8ke2NtZH0udHNgLCBjbWQpO1xuICAgICAgbGV0IGRhdGEgPSByZWFkRmlsZShgYmluLyR7Y21kfS5janNgKTtcbiAgICAgIGRhdGEgPSBcIiMhL3Vzci9iaW4vZW52IG5vZGVcXG5cIiArIGRhdGE7XG4gICAgICB3cml0ZUZpbGUoYGJpbi8ke2NtZH0uY2pzYCwgZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgYnVuZGxlKFxuICAgIG1vZGU6IE1vZGVzLFxuICAgIGlzRGV2OiBib29sZWFuLFxuICAgIGlzTGliOiBib29sZWFuLFxuICAgIGVudHJ5RmlsZTogc3RyaW5nID0gXCJzcmMvaW5kZXgudHNcIixcbiAgICBuYW1lT3ZlcnJpZGU6IHN0cmluZyA9IHRoaXMucGtnTmFtZSxcbiAgICBleHRlcm5hbHM/OiBzdHJpbmdbXSxcbiAgICBpbmNsdWRlOiBzdHJpbmdbXSA9IFtcbiAgICAgIFwicHJvbXB0c1wiLFxuICAgICAgXCJzdHlsZWQtc3RyaW5nLWJ1aWxkZXJcIixcbiAgICAgIFwidHlwZWQtb2JqZWN0LWFjY3VtdWxhdG9yXCIsXG4gICAgICBcIkBkZWNhZi10cy9sb2dnaW5nXCIsXG4gICAgXVxuICApIHtcbiAgICBjb25zdCBpc0VzbSA9IG1vZGUgPT09IE1vZGVzLkVTTTtcbiAgICBjb25zdCBwa2dOYW1lID0gdGhpcy5wa2dOYW1lO1xuXG4gICAgY29uc3QgZXh0ID0gQXJyYXkuZnJvbShcbiAgICAgIG5ldyBTZXQoW1xuICAgICAgICAuLi5bXG4gICAgICAgICAgXCJmc1wiLFxuICAgICAgICAgIFwicGF0aFwiLFxuICAgICAgICAgIFwicHJvY2Vzc1wiLFxuICAgICAgICAgIFwicm9sbHVwXCIsXG4gICAgICAgICAgXCJAcm9sbHVwL3BsdWdpbi10eXBlc2NyaXB0XCIsXG4gICAgICAgICAgXCJAcm9sbHVwL3BsdWdpbi1qc29uXCIsXG4gICAgICAgICAgXCJAcm9sbHVwL3BsdWdpbi1jb21tb25qc1wiLFxuICAgICAgICAgIFwiQHJvbGx1cC9wbHVnaW4tbm9kZS1yZXNvbHZlXCIsXG4gICAgICAgICAgXCJjaGlsZF9wcm9jZXNzXCIsXG4gICAgICAgICAgXCJ1dGlsXCIsXG4gICAgICAgICAgXCJodHRwc1wiLFxuICAgICAgICAgIFwidHNsaWJcIixcbiAgICAgICAgXSxcbiAgICAgICAgLi4uKGV4dGVybmFscyB8fCBbXSksXG4gICAgICBdKVxuICAgICk7XG5cbiAgICBjb25zdCBwbHVnaW5zID0gW1xuICAgICAgdHlwZXNjcmlwdCh7XG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIG1vZHVsZTogXCJlc25leHRcIixcbiAgICAgICAgICBkZWNsYXJhdGlvbjogZmFsc2UsXG4gICAgICAgICAgb3V0RGlyOiBpc0xpYiA/IFwiYmluXCIgOiBcImRpc3RcIixcbiAgICAgICAgfSxcbiAgICAgICAgaW5jbHVkZTogW1wic3JjLyoqLyoudHNcIl0sXG4gICAgICAgIGV4Y2x1ZGU6IFtcIm5vZGVfbW9kdWxlc1wiLCBcIioqLyouc3BlYy50c1wiXSxcbiAgICAgICAgdHNjb25maWc6IFwiLi90c2NvbmZpZy5qc29uXCIsXG4gICAgICB9KSxcbiAgICAgIGpzb24oKSxcbiAgICBdO1xuXG4gICAgaWYgKGlzTGliKSB7XG4gICAgICBwbHVnaW5zLnB1c2goXG4gICAgICAgIGNvbW1vbmpzKHtcbiAgICAgICAgICBpbmNsdWRlOiBbXSxcbiAgICAgICAgICBleGNsdWRlOiBleHRlcm5hbHMsXG4gICAgICAgIH0pLFxuICAgICAgICBub2RlUmVzb2x2ZSh7XG4gICAgICAgICAgcmVzb2x2ZU9ubHk6IGluY2x1ZGUsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGlucHV0OiBJbnB1dE9wdGlvbnMgPSB7XG4gICAgICBpbnB1dDogZW50cnlGaWxlLFxuICAgICAgcGx1Z2luczogcGx1Z2lucyxcbiAgICAgIGV4dGVybmFsOiBleHQsXG4gICAgfTtcblxuICAgIGNvbnN0IG91dHB1dHM6IE91dHB1dE9wdGlvbnNbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgZmlsZTogYCR7aXNMaWIgPyBcImJpbi9cIiA6IFwiZGlzdC9cIn0ke25hbWVPdmVycmlkZSA/IG5hbWVPdmVycmlkZSA6IGAuYnVuZGxlLiR7IWlzRGV2ID8gXCJtaW5cIiA6IFwiXCJ9YH0ke2lzRXNtID8gXCIuZXNtXCIgOiBcIlwifS5janNgLFxuICAgICAgICBmb3JtYXQ6IGlzTGliID8gXCJjanNcIiA6IGlzRXNtID8gXCJlc21cIiA6IFwidW1kXCIsXG4gICAgICAgIG5hbWU6IHBrZ05hbWUsXG4gICAgICAgIGVzTW9kdWxlOiBpc0VzbSxcbiAgICAgICAgc291cmNlbWFwOiBpc0RldiA/IFwiaW5saW5lXCIgOiBmYWxzZSxcbiAgICAgICAgZ2xvYmFsczoge30sXG4gICAgICAgIGV4cG9ydHM6IFwiYXV0b1wiLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGJ1bmRsZSA9IGF3YWl0IHJvbGx1cChpbnB1dCk7XG4gICAgICBjb25zb2xlLmxvZyhidW5kbGUud2F0Y2hGaWxlcyk7XG4gICAgICBhc3luYyBmdW5jdGlvbiBnZW5lcmF0ZU91dHB1dHMoYnVuZGxlOiBSb2xsdXBCdWlsZCkge1xuICAgICAgICBmb3IgKGNvbnN0IG91dHB1dE9wdGlvbnMgb2Ygb3V0cHV0cykge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICBjb25zdCB7IG91dHB1dCB9ID0gYXdhaXQgYnVuZGxlLndyaXRlKG91dHB1dE9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGdlbmVyYXRlT3V0cHV0cyhidW5kbGUpO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGJ1bmRsZTogJHtlfWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYnVpbGRCeUVudihpc0RldjogYm9vbGVhbikge1xuICAgIHRyeSB7XG4gICAgICBkZWxldGVQYXRoKFwibGliXCIpO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIC8vIGRvIG5vdGhpbmdcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGRlbGV0ZVBhdGgoXCJkaXN0XCIpO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIC8vIGRvIG5vdGhpbmdcbiAgICB9XG4gICAgZnMubWtkaXJTeW5jKFwibGliXCIpO1xuICAgIGZzLm1rZGlyU3luYyhcImRpc3RcIik7XG4gICAgYXdhaXQgdGhpcy5idWlsZChpc0RldiwgTW9kZXMuQ0pTKTtcbiAgICBhd2FpdCB0aGlzLmJ1aWxkKGlzRGV2LCBNb2Rlcy5FU00pO1xuICAgIGF3YWl0IHRoaXMuYnVuZGxlKE1vZGVzLkNKUywgdHJ1ZSwgZmFsc2UpO1xuICAgIGF3YWl0IHRoaXMuYnVuZGxlKE1vZGVzLkVTTSwgdHJ1ZSwgZmFsc2UpO1xuICAgIHRoaXMucGF0Y2hGaWxlcyhcImxpYlwiKTtcbiAgICB0aGlzLnBhdGNoRmlsZXMoXCJkaXN0XCIpO1xuICAgIHRoaXMuY29weUFzc2V0cyhNb2Rlcy5DSlMpO1xuICAgIHRoaXMuY29weUFzc2V0cyhNb2Rlcy5FU00pO1xuICB9XG5cbiAgYXN5bmMgYnVpbGREZXYoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRCeUVudih0cnVlKTtcbiAgfVxuXG4gIGFzeW5jIGJ1aWxkUHJvZCgpIHtcbiAgICByZXR1cm4gdGhpcy5idWlsZEJ5RW52KGZhbHNlKTtcbiAgfVxuXG4gIGFzeW5jIGJ1aWxkRG9jcygpIHtcbiAgICBhd2FpdCBydW5Db21tYW5kKGBucG0gaW5zdGFsbCBiZXR0ZXItZG9jcyB0YWZmeWRiYCkucHJvbWlzZTtcbiAgICBhd2FpdCBydW5Db21tYW5kKGBucHggbWFya2Rvd24taW5jbHVkZSAuL3dvcmtkb2NzL3JlYWRtZS1tZC5qc29uYCkucHJvbWlzZTtcbiAgICBhd2FpdCBydW5Db21tYW5kKFxuICAgICAgYG5weCBqc2RvYyAtYyAuL3dvcmtkb2NzL2pzZG9jcy5qc29uIC10IC4vbm9kZV9tb2R1bGVzL2JldHRlci1kb2NzYFxuICAgICkucHJvbWlzZTtcbiAgICBhd2FpdCBydW5Db21tYW5kKGBucG0gcmVtb3ZlIGJldHRlci1kb2NzIHRhZmZ5ZGJgKS5wcm9taXNlO1xuICAgIFtcbiAgICAgIHtcbiAgICAgICAgc3JjOiBcIndvcmtkb2NzL2Fzc2V0c1wiLFxuICAgICAgICBkZXN0OiBcIi4vZG9jcy93b3JrZG9jcy9hc3NldHNcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNyYzogXCJ3b3JrZG9jcy9yZXBvcnRzL2NvdmVyYWdlXCIsXG4gICAgICAgIGRlc3Q6IFwiLi9kb2NzL3dvcmtkb2NzL3JlcG9ydHMvY292ZXJhZ2VcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNyYzogXCJ3b3JrZG9jcy9yZXBvcnRzL2h0bWxcIixcbiAgICAgICAgZGVzdDogXCIuL2RvY3Mvd29ya2RvY3MvcmVwb3J0cy9odG1sXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzcmM6IFwid29ya2RvY3MvcmVzb3VyY2VzXCIsXG4gICAgICAgIGRlc3Q6IFwiLi9kb2NzL3dvcmtkb2NzL3Jlc291cmNlc1wiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc3JjOiBcIkxJQ0VOU0UubWRcIixcbiAgICAgICAgZGVzdDogXCIuL2RvY3MvTElDRU5TRS5tZFwiLFxuICAgICAgfSxcbiAgICBdLmZvckVhY2goKGYpID0+IHtcbiAgICAgIGNvbnN0IHsgc3JjLCBkZXN0IH0gPSBmO1xuICAgICAgY29weUZpbGUoc3JjLCBkZXN0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBydW48Uj4oXG4gICAgYW5zd2VyczogTG9nZ2luZ0NvbmZpZyAmXG4gICAgICB0eXBlb2YgRGVmYXVsdENvbW1hbmRWYWx1ZXMgJiB7IFtrIGluIGtleW9mIHR5cGVvZiBvcHRpb25zXTogdW5rbm93biB9XG4gICk6IFByb21pc2U8c3RyaW5nIHwgdm9pZCB8IFI+IHtcbiAgICBjb25zdCB7IGRldiwgcHJvZCwgZG9jcywgY29tbWFuZHMgfSA9IGFuc3dlcnM7XG5cbiAgICBpZiAoY29tbWFuZHMpIHtcbiAgICAgIGF3YWl0IHRoaXMuYnVpbGRDb21tYW5kcygpO1xuICAgIH1cblxuICAgIGlmIChkZXYpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJ1aWxkRGV2KCk7XG4gICAgfVxuICAgIGlmIChwcm9kKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5idWlsZFByb2QoKTtcbiAgICB9XG4gICAgaWYgKGRvY3MpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJ1aWxkRG9jcygpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/esm/cli/constants.js
CHANGED
|
File without changes
|
package/lib/esm/cli/index.d.ts
CHANGED
|
File without changes
|
package/lib/esm/cli/index.js
CHANGED
|
File without changes
|
package/lib/esm/cli/types.d.ts
CHANGED
|
File without changes
|
package/lib/esm/cli/types.js
CHANGED
|
File without changes
|
package/lib/esm/index.d.ts
CHANGED
|
File without changes
|
package/lib/esm/index.js
CHANGED
|
File without changes
|
package/lib/esm/input/index.d.ts
CHANGED
|
File without changes
|
package/lib/esm/input/index.js
CHANGED
|
File without changes
|
package/lib/esm/input/input.d.ts
CHANGED
|
File without changes
|
package/lib/esm/input/input.js
CHANGED
|
File without changes
|
package/lib/esm/input/types.d.ts
CHANGED
|
File without changes
|
package/lib/esm/input/types.js
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/esm/output/common.js
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/esm/output/index.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { toENVFormat } from "./text";
|
|
2
|
-
import { ObjectAccumulator } from "./accumulator";
|
|
3
2
|
import { isBrowser } from "./web";
|
|
3
|
+
import { ObjectAccumulator } from "typed-object-accumulator";
|
|
4
4
|
/**
|
|
5
5
|
* @class Environment
|
|
6
6
|
* @extends {ObjectAccumulator<T>}
|
|
@@ -87,4 +87,4 @@ export class Environment extends ObjectAccumulator {
|
|
|
87
87
|
.map((k) => (toEnv ? toENVFormat(k) : k));
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTdEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sV0FBOEIsU0FBUSxpQkFBb0I7SUFDckU7Ozs7OztPQU1HO2FBQ2MsWUFBTyxHQUN0QixHQUFxQixFQUFFLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQVU1QztRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVTLE9BQU8sQ0FBQyxDQUFTO1FBQ3pCLElBQUksR0FBNEIsQ0FBQztRQUNqQyxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDaEIsR0FBRyxHQUFJLFVBQStELENBQ3BFLEtBQUssQ0FDTixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixHQUFHLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDN0IsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVTLE1BQU0sQ0FBbUIsS0FBUTtRQUN6QyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdkMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFO2dCQUM3QixHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUNSLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2hDLE9BQU8sT0FBTyxPQUFPLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDdEQsQ0FBQztnQkFDRCxHQUFHLEVBQUUsQ0FBQyxHQUFlLEVBQUUsRUFBRTtvQkFDdkIsQ0FBQyxHQUFHLEdBQUcsQ0FBQztnQkFDVixDQUFDO2dCQUNELFlBQVksRUFBRSxJQUFJO2dCQUNsQixVQUFVLEVBQUUsSUFBSTthQUNqQixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNPLE1BQU0sQ0FBQyxRQUFRLENBQTZCLEdBQUcsSUFBZTtRQUN0RSxXQUFXLENBQUMsU0FBUyxHQUFHLENBQUMsV0FBVyxDQUFDLFNBQVM7WUFDNUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDOUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFDMUIsT0FBTyxXQUFXLENBQUMsU0FBYyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FDZixLQUFRO1FBSVIsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFpQixJQUFJO1FBQy9CLE9BQU8sV0FBVyxDQUFDLFFBQVEsRUFBRTthQUMxQixJQUFJLEVBQUU7YUFDTixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvRU5WRm9ybWF0IH0gZnJvbSBcIi4vdGV4dFwiO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRGYWN0b3J5IH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IGlzQnJvd3NlciB9IGZyb20gXCIuL3dlYlwiO1xuaW1wb3J0IHsgT2JqZWN0QWNjdW11bGF0b3IgfSBmcm9tIFwidHlwZWQtb2JqZWN0LWFjY3VtdWxhdG9yXCI7XG5cbi8qKlxuICogQGNsYXNzIEVudmlyb25tZW50XG4gKiBAZXh0ZW5kcyB7T2JqZWN0QWNjdW11bGF0b3I8VD59XG4gKiBAdGVtcGxhdGUgVFxuICogQGRlc2NyaXB0aW9uIEEgY2xhc3MgcmVwcmVzZW50aW5nIGFuIGVudmlyb25tZW50IHdpdGggYWNjdW11bGF0aW9uIGNhcGFiaWxpdGllcy5cbiAqIEBzdW1tYXJ5IE1hbmFnZXMgZW52aXJvbm1lbnQtcmVsYXRlZCBkYXRhIGFuZCBwcm92aWRlcyBtZXRob2RzIGZvciBhY2N1bXVsYXRpb24gYW5kIGtleSByZXRyaWV2YWwuXG4gKiBAcGFyYW0ge1R9IFtpbml0aWFsRGF0YV0gLSBUaGUgaW5pdGlhbCBkYXRhIHRvIHBvcHVsYXRlIHRoZSBlbnZpcm9ubWVudCB3aXRoLlxuICovXG5leHBvcnQgY2xhc3MgRW52aXJvbm1lbnQ8VCBleHRlbmRzIG9iamVjdD4gZXh0ZW5kcyBPYmplY3RBY2N1bXVsYXRvcjxUPiB7XG4gIC8qKlxuICAgKiBAc3RhdGljXG4gICAqIEBwcm90ZWN0ZWRcbiAgICogQGRlc2NyaXB0aW9uIEEgZmFjdG9yeSBmdW5jdGlvbiBmb3IgY3JlYXRpbmcgRW52aXJvbm1lbnQgaW5zdGFuY2VzLlxuICAgKiBAc3VtbWFyeSBEZWZpbmVzIGhvdyBuZXcgaW5zdGFuY2VzIG9mIHRoZSBFbnZpcm9ubWVudCBjbGFzcyBzaG91bGQgYmUgY3JlYXRlZC5cbiAgICogQHJldHVybiB7RW52aXJvbm1lbnQ8YW55Pn0gQSBuZXcgaW5zdGFuY2Ugb2YgdGhlIEVudmlyb25tZW50IGNsYXNzLlxuICAgKi9cbiAgcHJvdGVjdGVkIHN0YXRpYyBmYWN0b3J5OiBFbnZpcm9ubWVudEZhY3Rvcnk8YW55LCBhbnk+ID1cbiAgICAoKTogRW52aXJvbm1lbnQ8YW55PiA9PiBuZXcgRW52aXJvbm1lbnQoKTtcblxuICAvKipcbiAgICogQHN0YXRpY1xuICAgKiBAcHJpdmF0ZVxuICAgKiBAZGVzY3JpcHRpb24gVGhlIHNpbmdsZXRvbiBpbnN0YW5jZSBvZiB0aGUgRW52aXJvbm1lbnQgY2xhc3MuXG4gICAqIEB0eXBlIHtFbnZpcm9ubWVudDxhbnk+fVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBFbnZpcm9ubWVudDxhbnk+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZyb21FbnYoazogc3RyaW5nKSB7XG4gICAgbGV0IGVudjogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgaWYgKGlzQnJvd3NlcigpKSB7XG4gICAgICBlbnYgPSAoZ2xvYmFsVGhpcyBhcyB0eXBlb2YgZ2xvYmFsVGhpcyAmIHsgRU5WOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0pW1xuICAgICAgICBcIkVOVlwiXG4gICAgICBdO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbnYgPSBnbG9iYWxUaGlzLnByb2Nlc3MuZW52O1xuICAgICAgayA9IHRvRU5WRm9ybWF0KGspO1xuICAgIH1cbiAgICByZXR1cm4gZW52W2tdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4cGFuZDxWIGV4dGVuZHMgb2JqZWN0Pih2YWx1ZTogVik6IHZvaWQge1xuICAgIE9iamVjdC5lbnRyaWVzKHZhbHVlKS5mb3JFYWNoKChbaywgdl0pID0+IHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBrLCB7XG4gICAgICAgIGdldDogKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZyb21FbnYgPSB0aGlzLmZyb21FbnYoayk7XG4gICAgICAgICAgcmV0dXJuIHR5cGVvZiBmcm9tRW52ID09PSBcInVuZGVmaW5lZFwiID8gdiA6IGZyb21FbnY7XG4gICAgICAgIH0sXG4gICAgICAgIHNldDogKHZhbDogVltrZXlvZiBWXSkgPT4ge1xuICAgICAgICAgIHYgPSB2YWw7XG4gICAgICAgIH0sXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICogQHN0YXRpY1xuICAgKiBAZGVzY3JpcHRpb24gUmV0cmlldmVzIG9yIGNyZWF0ZXMgdGhlIHNpbmdsZXRvbiBpbnN0YW5jZSBvZiB0aGUgRW52aXJvbm1lbnQgY2xhc3MuXG4gICAqIEBzdW1tYXJ5IEVuc3VyZXMgb25seSBvbmUgaW5zdGFuY2Ugb2YgdGhlIEVudmlyb25tZW50IGNsYXNzIGV4aXN0cy5cbiAgICogQHRlbXBsYXRlIEVcbiAgICogQHBhcmFtIHsuLi51bmtub3duW119IGFyZ3MgLSBBcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgZmFjdG9yeSBmdW5jdGlvbiBpZiBhIG5ldyBpbnN0YW5jZSBpcyBjcmVhdGVkLlxuICAgKiBAcmV0dXJuIHtFfSBUaGUgc2luZ2xldG9uIGluc3RhbmNlIG9mIHRoZSBFbnZpcm9ubWVudCBjbGFzcy5cbiAgICovXG4gIHByb3RlY3RlZCBzdGF0aWMgaW5zdGFuY2U8RSBleHRlbmRzIEVudmlyb25tZW50PGFueT4+KC4uLmFyZ3M6IHVua25vd25bXSk6IEUge1xuICAgIEVudmlyb25tZW50Ll9pbnN0YW5jZSA9ICFFbnZpcm9ubWVudC5faW5zdGFuY2VcbiAgICAgID8gRW52aXJvbm1lbnQuZmFjdG9yeSguLi5hcmdzKVxuICAgICAgOiBFbnZpcm9ubWVudC5faW5zdGFuY2U7XG4gICAgcmV0dXJuIEVudmlyb25tZW50Ll9pbnN0YW5jZSBhcyBFO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdGF0aWNcbiAgICogQGRlc2NyaXB0aW9uIEFjY3VtdWxhdGVzIHRoZSBnaXZlbiB2YWx1ZSBpbnRvIHRoZSBlbnZpcm9ubWVudC5cbiAgICogQHN1bW1hcnkgQWRkcyBuZXcgcHJvcGVydGllcyB0byB0aGUgZW52aXJvbm1lbnQgZnJvbSB0aGUgcHJvdmlkZWQgb2JqZWN0LlxuICAgKiBAdGVtcGxhdGUgVlxuICAgKiBAcGFyYW0ge1Z9IHZhbHVlIC0gVGhlIG9iamVjdCB0byBhY2N1bXVsYXRlIGludG8gdGhlIGVudmlyb25tZW50LlxuICAgKiBAcmV0dXJuIHtWfSBUaGUgdXBkYXRlZCBlbnZpcm9ubWVudCBpbnN0YW5jZS5cbiAgICovXG4gIHN0YXRpYyBhY2N1bXVsYXRlPFYgZXh0ZW5kcyBvYmplY3Q+KFxuICAgIHZhbHVlOiBWXG4gICk6IHR5cGVvZiBFbnZpcm9ubWVudC5faW5zdGFuY2UgJlxuICAgIFYgJlxuICAgIE9iamVjdEFjY3VtdWxhdG9yPHR5cGVvZiBFbnZpcm9ubWVudC5faW5zdGFuY2UgJiBWPiB7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBFbnZpcm9ubWVudC5pbnN0YW5jZSgpO1xuICAgIHJldHVybiBpbnN0YW5jZS5hY2N1bXVsYXRlKHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3RhdGljXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZXMgdGhlIGtleXMgb2YgdGhlIGVudmlyb25tZW50LCBvcHRpb25hbGx5IGNvbnZlcnRpbmcgdGhlbSB0byBFTlYgZm9ybWF0LlxuICAgKiBAc3VtbWFyeSBHZXRzIGFsbCBrZXlzIGluIHRoZSBlbnZpcm9ubWVudCwgd2l0aCBhbiBvcHRpb24gdG8gZm9ybWF0IHRoZW0gZm9yIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICogQHBhcmFtIHtib29sZWFufSBbdG9FbnY9dHJ1ZV0gLSBXaGV0aGVyIHRvIGNvbnZlcnQgdGhlIGtleXMgdG8gRU5WIGZvcm1hdC5cbiAgICogQHJldHVybiB7c3RyaW5nW119IEFuIGFycmF5IG9mIGtleXMgZnJvbSB0aGUgZW52aXJvbm1lbnQuXG4gICAqL1xuICBzdGF0aWMga2V5cyh0b0VudjogYm9vbGVhbiA9IHRydWUpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIEVudmlyb25tZW50Lmluc3RhbmNlKClcbiAgICAgIC5rZXlzKClcbiAgICAgIC5tYXAoKGspID0+ICh0b0VudiA/IHRvRU5WRm9ybWF0KGspIDogaykpO1xuICB9XG59XG4iXX0=
|
package/lib/esm/utils/fs.d.ts
CHANGED
|
File without changes
|
package/lib/esm/utils/fs.js
CHANGED
|
File without changes
|
package/lib/esm/utils/http.d.ts
CHANGED
|
File without changes
|
package/lib/esm/utils/http.js
CHANGED
|
File without changes
|
package/lib/esm/utils/index.d.ts
CHANGED
|
File without changes
|
package/lib/esm/utils/index.js
CHANGED
|
File without changes
|
package/lib/esm/utils/md.d.ts
CHANGED
|
File without changes
|
package/lib/esm/utils/md.js
CHANGED
|
File without changes
|
package/lib/esm/utils/tests.d.ts
CHANGED
|
File without changes
|
package/lib/esm/utils/tests.js
CHANGED
|
File without changes
|
package/lib/esm/utils/text.d.ts
CHANGED
|
File without changes
|
package/lib/esm/utils/text.js
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/esm/utils/timeout.js
CHANGED
|
File without changes
|
package/lib/esm/utils/types.d.ts
CHANGED
|
File without changes
|
package/lib/esm/utils/types.js
CHANGED
|
File without changes
|
package/lib/esm/utils/utils.d.ts
CHANGED
|
File without changes
|
package/lib/esm/utils/utils.js
CHANGED
|
File without changes
|
package/lib/esm/utils/web.d.ts
CHANGED
|
File without changes
|
package/lib/esm/utils/web.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/esm/writers/index.js
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/esm/writers/types.js
CHANGED
|
File without changes
|
package/lib/index.cjs
CHANGED
|
File without changes
|
package/lib/index.d.ts
CHANGED
|
File without changes
|
package/lib/input/index.cjs
CHANGED
|
File without changes
|
package/lib/input/index.d.ts
CHANGED
|
File without changes
|
package/lib/input/input.cjs
CHANGED
|
File without changes
|
package/lib/input/input.d.ts
CHANGED
|
File without changes
|
package/lib/input/types.cjs
CHANGED
|
File without changes
|
package/lib/input/types.d.ts
CHANGED
|
File without changes
|
package/lib/output/common.cjs
CHANGED
|
File without changes
|
package/lib/output/common.d.ts
CHANGED
|
File without changes
|
package/lib/output/index.cjs
CHANGED
|
File without changes
|
package/lib/output/index.d.ts
CHANGED
|
File without changes
|
package/lib/utils/constants.cjs
CHANGED
|
File without changes
|
package/lib/utils/constants.d.ts
CHANGED
|
File without changes
|