@punks/cli 0.1.3 → 0.1.5
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.
|
@@ -37,8 +37,8 @@ const dotNetEntityAddCommand = async (input, settings) => {
|
|
|
37
37
|
const handler = new renderer_1.RenderingCommandHandler();
|
|
38
38
|
for (const builder of builders) {
|
|
39
39
|
const command = await builder.buildCommand();
|
|
40
|
-
await handler.
|
|
40
|
+
await handler.execute(command);
|
|
41
41
|
}
|
|
42
42
|
};
|
|
43
43
|
exports.dotNetEntityAddCommand = dotNetEntityAddCommand;
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvZW50aXR5LWFkZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRkFBNkY7QUFDN0YsNkVBQXFGO0FBQ3JGLG1GQUEwRjtBQUMxRiw2RUFBb0Y7QUFDcEYsaUdBQXNHO0FBQ3RHLG1GQUEwRjtBQUMxRiw2RkFBb0c7QUFDcEcsbUdBQWtHO0FBQ2xHLG1GQUEyRjtBQUMzRiw2RUFBMkY7QUFFM0YsNkNBQXdEO0FBYXhELElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQixnQ0FBaUIsQ0FBQTtJQUNqQiw0QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLFdBQVcsR0FBWCxtQkFBVyxLQUFYLG1CQUFXLFFBR3RCO0FBZU0sTUFBTSxzQkFBc0IsR0FBRyxLQUFLLEVBQ3pDLEtBQTRCLEVBQzVCLFFBQStCLEVBQy9CLEVBQUU7SUFDRixNQUFNLFFBQVEsR0FBRztRQUNmLElBQUksdURBQWdDLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztRQUNyRCxJQUFJLCtDQUE0QixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7UUFDakQsSUFBSSxvREFBOEIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDO1FBQ25ELElBQUksOENBQTJCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztRQUNoRCxJQUFJLGdFQUFtQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7UUFDeEQsSUFBSSxvREFBOEIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDO1FBQ25ELElBQUksOERBQW1DLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztRQUN4RCxJQUFJLDREQUE4QixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7UUFDbkQsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQztZQUN6QyxDQUFDLENBQUM7Z0JBQ0UsSUFBSSxxREFBK0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDO2dCQUNwRCxJQUFJLHFEQUFrQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7YUFDeEQ7WUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQ1IsQ0FBQTtJQUNELE1BQU0sT0FBTyxHQUFHLElBQUksa0NBQXVCLEVBQUUsQ0FBQTtJQUM3QyxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRTtRQUM5QixNQUFNLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUM1QyxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7S0FDL0I7QUFDSCxDQUFDLENBQUE7QUF6QlksUUFBQSxzQkFBc0IsMEJBeUJsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvdG5ldEVudGl0eUNvbmZpZ3VyYXRpb25CdWlsZGVyIH0gZnJvbSBcIi4uLy4uL2J1aWxkZXJzL2RvdG5ldC9lbnRpdHktY29uZmlndXJhdGlvblwiXG5pbXBvcnQgeyBEb3RuZXRFbnRpdHlDb252ZXJ0ZXJCdWlsZGVyIH0gZnJvbSBcIi4uLy4uL2J1aWxkZXJzL2RvdG5ldC9lbnRpdHktY29udmVydGVyXCJcbmltcG9ydCB7IERvdG5ldEVudGl0eU1vZGVsQ3JlYXRlQnVpbGRlciB9IGZyb20gXCIuLi8uLi9idWlsZGVycy9kb3RuZXQvZW50aXR5LW1vZGVsLWNyZWF0ZVwiXG5pbXBvcnQgeyBEb3RuZXRFbnRpdHlNb2RlbER0b0J1aWxkZXIgfSBmcm9tIFwiLi4vLi4vYnVpbGRlcnMvZG90bmV0L2VudGl0eS1tb2RlbC1kdG9cIlxuaW1wb3J0IHsgRG90bmV0RW50aXR5TW9kZWxMaXN0SXRlbUR0b0J1aWxkZXIgfSBmcm9tIFwiLi4vLi4vYnVpbGRlcnMvZG90bmV0L2VudGl0eS1tb2RlbC1saXN0LWl0ZW0tZHRvXCJcbmltcG9ydCB7IERvdG5ldEVudGl0eU1vZGVsVXBkYXRlQnVpbGRlciB9IGZyb20gXCIuLi8uLi9idWlsZGVycy9kb3RuZXQvZW50aXR5LW1vZGVsLXVwZGF0ZVwiXG5pbXBvcnQgeyBEb3RuZXRFbnRpdHlTZWFyY2hQYXJhbWV0ZXJzQnVpbGRlciB9IGZyb20gXCIuLi8uLi9idWlsZGVycy9kb3RuZXQvZW50aXR5LXNlYXJjaC1wYXJhbWV0ZXJzXCJcbmltcG9ydCB7IERvdG5ldEVudGl0eVNlYXJjaFF1ZXJ5QnVpbGRlciB9IGZyb20gXCIuLi8uLi9idWlsZGVycy9kb3RuZXQvZW50aXR5LXNlYXJjaC1xdWVyeS1idWlsZGVyXCJcbmltcG9ydCB7IERvdG5ldEZpcmVzdG9yZUNvbm5lY3RvckJ1aWxkZXIgfSBmcm9tIFwiLi4vLi4vYnVpbGRlcnMvZG90bmV0L2ZpcmVzdG9yZS1jb25uZWN0b3JcIlxuaW1wb3J0IHsgRG90bmV0RW50aXR5RmlyZXN0b3JlTWFwcGVyQnVpbGRlciB9IGZyb20gXCIuLi8uLi9idWlsZGVycy9kb3RuZXQvZmlyZXN0b3JlLW1hcHBlclwiXG5pbXBvcnQgeyBSZW5kZXJpbmdQcm92aWRlclR5cGUgfSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL3JlbmRlcmluZy9mYWN0b3J5XCJcbmltcG9ydCB7IFJlbmRlcmluZ0NvbW1hbmRIYW5kbGVyIH0gZnJvbSBcIi4uLy4uL3JlbmRlcmVyXCJcblxuZXhwb3J0IHR5cGUgRW50aXR5UmVwb3NpdG9yeSA9IFwibXNzcWxcIiB8IFwiZmlyZXN0b3JlXCJcbmV4cG9ydCB0eXBlIEVudGl0eUNvbm5lY3RvciA9IFwiZmlyZXN0b3JlXCJcbmV4cG9ydCB0eXBlIERvdE5ldEVudGl0eU1hcHBlciA9IFwibWFwc3RlclwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5QWRkQ29tbWFuZElucHV0IHtcbiAgbmFtZTogc3RyaW5nXG4gIHJlcG9zaXRvcnk6IEVudGl0eVJlcG9zaXRvcnlcbiAgY29ubmVjdG9ycz86IEVudGl0eUNvbm5lY3RvcltdXG4gIGZpcmVzdG9yZURvY3VtZW50Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIFByb2plY3RUeXBlIHtcbiAgRG90TmV0ID0gXCJET1RORVRcIixcbiAgTm9kZSA9IFwiTk9ERVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVQcm9qZWN0U2V0dGluZ3Mge1xuICB0eXBlOiBQcm9qZWN0VHlwZS5Ob2RlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG90TmV0UHJvamVjdFNldHRpbmdzIHtcbiAgbmFtZXNwYWNlOiBzdHJpbmdcbiAgbWFwcGVyPzogRG90TmV0RW50aXR5TWFwcGVyXG4gIHR5cGU6IFByb2plY3RUeXBlLkRvdE5ldFxuICByZW5kZXJpbmdQcm92aWRlcjogUmVuZGVyaW5nUHJvdmlkZXJUeXBlXG59XG5cbmV4cG9ydCB0eXBlIFByb2plY3RTZXR0aW5ncyA9IE5vZGVQcm9qZWN0U2V0dGluZ3MgfCBEb3ROZXRQcm9qZWN0U2V0dGluZ3NcblxuZXhwb3J0IGNvbnN0IGRvdE5ldEVudGl0eUFkZENvbW1hbmQgPSBhc3luYyAoXG4gIGlucHV0OiBFbnRpdHlBZGRDb21tYW5kSW5wdXQsXG4gIHNldHRpbmdzOiBEb3ROZXRQcm9qZWN0U2V0dGluZ3NcbikgPT4ge1xuICBjb25zdCBidWlsZGVycyA9IFtcbiAgICBuZXcgRG90bmV0RW50aXR5Q29uZmlndXJhdGlvbkJ1aWxkZXIoaW5wdXQsIHNldHRpbmdzKSxcbiAgICBuZXcgRG90bmV0RW50aXR5Q29udmVydGVyQnVpbGRlcihpbnB1dCwgc2V0dGluZ3MpLFxuICAgIG5ldyBEb3RuZXRFbnRpdHlNb2RlbENyZWF0ZUJ1aWxkZXIoaW5wdXQsIHNldHRpbmdzKSxcbiAgICBuZXcgRG90bmV0RW50aXR5TW9kZWxEdG9CdWlsZGVyKGlucHV0LCBzZXR0aW5ncyksXG4gICAgbmV3IERvdG5ldEVudGl0eU1vZGVsTGlzdEl0ZW1EdG9CdWlsZGVyKGlucHV0LCBzZXR0aW5ncyksXG4gICAgbmV3IERvdG5ldEVudGl0eU1vZGVsVXBkYXRlQnVpbGRlcihpbnB1dCwgc2V0dGluZ3MpLFxuICAgIG5ldyBEb3RuZXRFbnRpdHlTZWFyY2hQYXJhbWV0ZXJzQnVpbGRlcihpbnB1dCwgc2V0dGluZ3MpLFxuICAgIG5ldyBEb3RuZXRFbnRpdHlTZWFyY2hRdWVyeUJ1aWxkZXIoaW5wdXQsIHNldHRpbmdzKSxcbiAgICAuLi4oaW5wdXQuY29ubmVjdG9ycz8uaW5jbHVkZXMoXCJmaXJlc3RvcmVcIilcbiAgICAgID8gW1xuICAgICAgICAgIG5ldyBEb3RuZXRGaXJlc3RvcmVDb25uZWN0b3JCdWlsZGVyKGlucHV0LCBzZXR0aW5ncyksXG4gICAgICAgICAgbmV3IERvdG5ldEVudGl0eUZpcmVzdG9yZU1hcHBlckJ1aWxkZXIoaW5wdXQsIHNldHRpbmdzKSxcbiAgICAgICAgXVxuICAgICAgOiBbXSksXG4gIF1cbiAgY29uc3QgaGFuZGxlciA9IG5ldyBSZW5kZXJpbmdDb21tYW5kSGFuZGxlcigpXG4gIGZvciAoY29uc3QgYnVpbGRlciBvZiBidWlsZGVycykge1xuICAgIGNvbnN0IGNvbW1hbmQgPSBhd2FpdCBidWlsZGVyLmJ1aWxkQ29tbWFuZCgpXG4gICAgYXdhaXQgaGFuZGxlci5leGVjdXRlKGNvbW1hbmQpXG4gIH1cbn1cbiJdfQ==
|
package/bin/renderer/index.js
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.RenderingCommandHandler = void 0;
|
|
7
4
|
const fs_1 = require("fs");
|
|
8
5
|
const factory_1 = require("../providers/rendering/factory");
|
|
9
|
-
const path_1 = __importDefault(require("path"));
|
|
10
6
|
const logging_1 = require("../logging");
|
|
11
7
|
const folders_1 = require("../services/folders");
|
|
8
|
+
const files_1 = require("../utils/files");
|
|
12
9
|
class RenderingCommandHandler {
|
|
13
10
|
async execute(input) {
|
|
14
11
|
const output = await this.render(input);
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
const path = files_1.joinPath(process.cwd(), input.outputFile);
|
|
13
|
+
files_1.ensureDirectory(files_1.getDirectoryPath(path));
|
|
14
|
+
fs_1.writeFileSync(path, output);
|
|
15
|
+
logging_1.Log.info(`${input.outputFile} created ⚡`);
|
|
17
16
|
}
|
|
18
17
|
render(input) {
|
|
19
18
|
const provider = this.resolveProvider();
|
|
20
|
-
const template = fs_1.readFileSync(
|
|
19
|
+
const template = fs_1.readFileSync(files_1.joinPath(folders_1.discoverCliBasePath(), input.templateFile), "utf-8");
|
|
21
20
|
return provider.render(template, input.context);
|
|
22
21
|
}
|
|
23
22
|
resolveProvider() {
|
|
@@ -25,4 +24,4 @@ class RenderingCommandHandler {
|
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
exports.RenderingCommandHandler = RenderingCommandHandler;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVuZGVyZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkJBQWdEO0FBQ2hELDREQUF5RTtBQUV6RSx3Q0FBZ0M7QUFDaEMsaURBQXlEO0FBQ3pELDBDQUE0RTtBQUU1RSxNQUFhLHVCQUF1QjtJQUNsQyxLQUFLLENBQUMsT0FBTyxDQUFXLEtBQWtDO1FBQ3hELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN2QyxNQUFNLElBQUksR0FBRyxnQkFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDdEQsdUJBQWUsQ0FBQyx3QkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3ZDLGtCQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzNCLGFBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsVUFBVSxZQUFZLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBRUQsTUFBTSxDQUFXLEtBQWtDO1FBQ2pELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQVksQ0FBQTtRQUNqRCxNQUFNLFFBQVEsR0FBRyxpQkFBWSxDQUMzQixnQkFBUSxDQUFDLDZCQUFtQixFQUFFLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUNuRCxPQUFPLENBQ1IsQ0FBQTtRQUNELE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2pELENBQUM7SUFFUyxlQUFlO1FBQ3ZCLE9BQU8sa0NBQXdCLENBQUMsT0FBTyxDQUFXLFlBQVksQ0FBQyxDQUFBO0lBQ2pFLENBQUM7Q0FDRjtBQXJCRCwwREFxQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkRmlsZVN5bmMsIHdyaXRlRmlsZVN5bmMgfSBmcm9tIFwiZnNcIlxuaW1wb3J0IHsgUmVuZGVyaW5nUHJvdmlkZXJGYWN0b3J5IH0gZnJvbSBcIi4uL3Byb3ZpZGVycy9yZW5kZXJpbmcvZmFjdG9yeVwiXG5pbXBvcnQgeyBCdWlsZENvbW1hbmRJbnB1dCB9IGZyb20gXCIuLi90eXBlcy9jb21tYW5kc1wiXG5pbXBvcnQgeyBMb2cgfSBmcm9tIFwiLi4vbG9nZ2luZ1wiXG5pbXBvcnQgeyBkaXNjb3ZlckNsaUJhc2VQYXRoIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2ZvbGRlcnNcIlxuaW1wb3J0IHsgZW5zdXJlRGlyZWN0b3J5LCBnZXREaXJlY3RvcnlQYXRoLCBqb2luUGF0aCB9IGZyb20gXCIuLi91dGlscy9maWxlc1wiXG5cbmV4cG9ydCBjbGFzcyBSZW5kZXJpbmdDb21tYW5kSGFuZGxlciB7XG4gIGFzeW5jIGV4ZWN1dGU8VENvbnRleHQ+KGlucHV0OiBCdWlsZENvbW1hbmRJbnB1dDxUQ29udGV4dD4pIHtcbiAgICBjb25zdCBvdXRwdXQgPSBhd2FpdCB0aGlzLnJlbmRlcihpbnB1dClcbiAgICBjb25zdCBwYXRoID0gam9pblBhdGgocHJvY2Vzcy5jd2QoKSwgaW5wdXQub3V0cHV0RmlsZSlcbiAgICBlbnN1cmVEaXJlY3RvcnkoZ2V0RGlyZWN0b3J5UGF0aChwYXRoKSlcbiAgICB3cml0ZUZpbGVTeW5jKHBhdGgsIG91dHB1dClcbiAgICBMb2cuaW5mbyhgJHtpbnB1dC5vdXRwdXRGaWxlfSBjcmVhdGVkIOKaoWApXG4gIH1cblxuICByZW5kZXI8VENvbnRleHQ+KGlucHV0OiBCdWlsZENvbW1hbmRJbnB1dDxUQ29udGV4dD4pIHtcbiAgICBjb25zdCBwcm92aWRlciA9IHRoaXMucmVzb2x2ZVByb3ZpZGVyPFRDb250ZXh0PigpXG4gICAgY29uc3QgdGVtcGxhdGUgPSByZWFkRmlsZVN5bmMoXG4gICAgICBqb2luUGF0aChkaXNjb3ZlckNsaUJhc2VQYXRoKCksIGlucHV0LnRlbXBsYXRlRmlsZSksXG4gICAgICBcInV0Zi04XCJcbiAgICApXG4gICAgcmV0dXJuIHByb3ZpZGVyLnJlbmRlcih0ZW1wbGF0ZSwgaW5wdXQuY29udGV4dClcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNvbHZlUHJvdmlkZXI8VENvbnRleHQ+KCkge1xuICAgIHJldHVybiBSZW5kZXJpbmdQcm92aWRlckZhY3RvcnkucmVzb2x2ZTxUQ29udGV4dD4oXCJoYW5kbGViYXJzXCIpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getDirectoryPath = exports.ensureDirectory = exports.joinPath = void 0;
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const joinPath = (...paths) => path_1.default.join(...paths);
|
|
10
|
+
exports.joinPath = joinPath;
|
|
11
|
+
const ensureDirectory = (path) => {
|
|
12
|
+
if (!fs_1.existsSync(path)) {
|
|
13
|
+
fs_1.mkdirSync(path, { recursive: true });
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
exports.ensureDirectory = ensureDirectory;
|
|
17
|
+
const getDirectoryPath = (filePath) => path_1.default.dirname(filePath);
|
|
18
|
+
exports.getDirectoryPath = getDirectoryPath;
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMkJBQTBDO0FBQzFDLGdEQUF1QjtBQUVoQixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsS0FBZSxFQUFFLEVBQUUsQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUE7QUFBdEQsUUFBQSxRQUFRLFlBQThDO0FBRTVELE1BQU0sZUFBZSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUU7SUFDOUMsSUFBSSxDQUFDLGVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNyQixjQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7S0FDckM7QUFDSCxDQUFDLENBQUE7QUFKWSxRQUFBLGVBQWUsbUJBSTNCO0FBRU0sTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRSxDQUFDLGNBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7QUFBL0QsUUFBQSxnQkFBZ0Isb0JBQStDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhpc3RzU3luYywgbWtkaXJTeW5jIH0gZnJvbSBcImZzXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuZXhwb3J0IGNvbnN0IGpvaW5QYXRoID0gKC4uLnBhdGhzOiBzdHJpbmdbXSkgPT4gcGF0aC5qb2luKC4uLnBhdGhzKVxuXG5leHBvcnQgY29uc3QgZW5zdXJlRGlyZWN0b3J5ID0gKHBhdGg6IHN0cmluZykgPT4ge1xuICBpZiAoIWV4aXN0c1N5bmMocGF0aCkpIHtcbiAgICBta2RpclN5bmMocGF0aCwgeyByZWN1cnNpdmU6IHRydWUgfSlcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZ2V0RGlyZWN0b3J5UGF0aCA9IChmaWxlUGF0aDogc3RyaW5nKSA9PiBwYXRoLmRpcm5hbWUoZmlsZVBhdGgpXG4iXX0=
|