@macedon-technologies/batman 1.13.0 → 1.14.0
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/.jsii +7 -5
- package/API.md +961 -1062
- package/lib/Api/ApiFiles.d.ts +5 -0
- package/lib/Api/ApiFiles.js +15 -0
- package/lib/Api/ApiFunctionFile.d.ts +4 -0
- package/lib/Api/ApiFunctionFile.js +18 -0
- package/lib/Api/ApiHelperFiles.d.ts +5 -0
- package/lib/Api/ApiHelperFiles.js +15 -0
- package/lib/Api/AppHelperFile.d.ts +4 -0
- package/lib/Api/AppHelperFile.js +63 -0
- package/lib/Api/AppMiddlewareFiles.d.ts +5 -0
- package/lib/Api/AppMiddlewareFiles.js +19 -0
- package/lib/Api/AuthMiddlewareFile.d.ts +4 -0
- package/lib/Api/AuthMiddlewareFile.js +109 -0
- package/lib/Api/CorsMiddlewareFile.d.ts +4 -0
- package/lib/Api/CorsMiddlewareFile.js +54 -0
- package/lib/Api/ErrorHandlerMiddlewareFile.d.ts +4 -0
- package/lib/Api/ErrorHandlerMiddlewareFile.js +49 -0
- package/lib/Api/ExpressApiRouterFile.d.ts +4 -0
- package/lib/Api/ExpressApiRouterFile.js +61 -0
- package/lib/Application.js +6 -6
- package/lib/BatmanProject.js +2 -4
- package/lib/BootcampApplication.js +4 -4
- package/lib/BootcampProject.js +2 -4
- package/lib/CodeOwnersFile.js +2 -4
- package/lib/LocalDevAppFile.js +2 -1
- package/lib/LocalDevFiles.d.ts +7 -0
- package/lib/LocalDevFiles.js +13 -0
- package/lib/{ApiFunctionFile.d.ts → LocalDevServerFile.d.ts} +1 -1
- package/lib/LocalDevServerFile.js +59 -0
- package/lib/ProductionDeployWorkflow.js +2 -4
- package/lib/StagingDeployWorkflow.js +2 -4
- package/lib/ViteReactProject.js +8 -1
- package/lib/WorkflowAutoDiscover.js +37 -6
- package/package.json +45 -39
- package/pnpm-workspace.yaml +6 -0
- package/lib/ApiFunctionFile.js +0 -30
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BootcampApplication = void 0;
|
|
4
|
+
const ApiFunctionFile_1 = require("./Api/ApiFunctionFile");
|
|
4
5
|
const ApiConstructFile_1 = require("./ApiConstructFile");
|
|
5
|
-
const ApiFunctionFile_1 = require("./ApiFunctionFile");
|
|
6
6
|
const BootcampApplicationStackFile_1 = require("./BootcampApplicationStackFile");
|
|
7
7
|
const BootcampBaseApplicationStackFile_1 = require("./BootcampBaseApplicationStackFile");
|
|
8
8
|
const CodeRabbitFile_1 = require("./CodeRabbitFile");
|
|
9
9
|
const GitHubRolesStackFile_1 = require("./GitHubRolesStackFile");
|
|
10
|
-
const
|
|
10
|
+
const LocalDevFiles_1 = require("./LocalDevFiles");
|
|
11
11
|
const MainFile_1 = require("./MainFile");
|
|
12
12
|
const MainTestFile_1 = require("./MainTestFile");
|
|
13
13
|
const PrCleanupWorkflow_1 = require("./PrCleanupWorkflow");
|
|
@@ -30,7 +30,7 @@ class BootcampApplication {
|
|
|
30
30
|
prod: options.prod,
|
|
31
31
|
additionalTags: options.additionalTags,
|
|
32
32
|
});
|
|
33
|
-
new
|
|
33
|
+
new LocalDevFiles_1.LocalDevFiles(project, {
|
|
34
34
|
projectName: project.name,
|
|
35
35
|
dev: options.dev,
|
|
36
36
|
});
|
|
@@ -80,4 +80,4 @@ class BootcampApplication {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
exports.BootcampApplication = BootcampApplication;
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdGNhbXBBcHBsaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Cb290Y2FtcEFwcGxpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJEQUF3RDtBQUN4RCx5REFBc0Q7QUFDdEQsaUZBQThFO0FBQzlFLHlGQUFzRjtBQUN0RixxREFBa0Q7QUFDbEQsaUVBQThEO0FBQzlELG1EQUFnRDtBQUNoRCx5Q0FBeUQ7QUFDekQsaURBQThDO0FBQzlDLDJEQUF3RDtBQUN4RCx5REFBc0Q7QUFDdEQseUVBQXNFO0FBQ3RFLG1FQUFnRTtBQUNoRSw2RUFBMEU7QUFDMUUsaUVBQThEO0FBQzlELHlEQUEwRDtBQXFCMUQ7O0dBRUc7QUFDSCxNQUFhLG1CQUFtQjtJQUM5QixZQUFZLE9BQTRCLEVBQUUsT0FBMkI7UUFDbkUsZ0NBQWdDO1FBRWhDLElBQUksbUJBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDcEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ3pCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztZQUNoQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYztTQUN2QyxDQUFDLENBQUM7UUFFSCxJQUFJLDZCQUFhLENBQUMsT0FBTyxFQUFFO1lBQ3pCLFdBQVcsRUFBRSxPQUFPLENBQUMsSUFBSTtZQUN6QixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7U0FDakIsQ0FBQyxDQUFDO1FBRUgscUJBQXFCO1FBQ3JCLElBQUksMkNBQW9CLENBQUMsT0FBTyxFQUFFO1lBQ2hDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0I7U0FDM0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxtRUFBZ0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxJQUFJLDJEQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFDLHlCQUF5QjtRQUN6QixJQUFJLG1DQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLElBQUksdURBQTBCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFeEMscUJBQXFCO1FBQ3JCLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxTQUFTLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQy9ELElBQUksdUNBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsSUFBSSwyQ0FBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBRUQsdUJBQXVCO1FBQ3ZCLElBQUksaUNBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3QixvQkFBb0I7UUFDcEIsSUFBSSwyQkFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFCLHNCQUFzQjtRQUN0QixJQUFJLCtCQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUIsa0NBQWtDO1FBQ2xDLElBQUksbUNBQWdCLENBQUMsT0FBTyxFQUFFO1lBQzVCLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtZQUN4QyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNO1lBQzdCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CO1NBQ3JELENBQUMsQ0FBQztRQUVILElBQUkscUNBQWlCLENBQUMsT0FBTyxFQUFFO1lBQzdCLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtZQUN4QyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNO1lBQzdCLFdBQVcsRUFBRSxPQUFPLENBQUMsSUFBSTtTQUMxQixDQUFDLENBQUM7UUFFSCxJQUFJLDZDQUFxQixDQUFDLE9BQU8sRUFBRTtZQUNqQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUI7WUFDNUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUNqQyxXQUFXLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDekIsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUI7U0FDekQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxtREFBd0IsQ0FBQyxPQUFPLEVBQUU7WUFDcEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1lBQ3pDLFNBQVMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU07WUFDOUIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ3pCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1NBQ3RELENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXZFRCxrREF1RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuaW1wb3J0IHsgQXBpRnVuY3Rpb25GaWxlIH0gZnJvbSAnLi9BcGkvQXBpRnVuY3Rpb25GaWxlJztcbmltcG9ydCB7IEFwaUNvbnN0cnVjdEZpbGUgfSBmcm9tICcuL0FwaUNvbnN0cnVjdEZpbGUnO1xuaW1wb3J0IHsgQm9vdGNhbXBBcHBsaWNhdGlvblN0YWNrRmlsZSB9IGZyb20gJy4vQm9vdGNhbXBBcHBsaWNhdGlvblN0YWNrRmlsZSc7XG5pbXBvcnQgeyBCb290Y2FtcEJhc2VBcHBsaWNhdGlvblN0YWNrRmlsZSB9IGZyb20gJy4vQm9vdGNhbXBCYXNlQXBwbGljYXRpb25TdGFja0ZpbGUnO1xuaW1wb3J0IHsgQ29kZVJhYmJpdEZpbGUgfSBmcm9tICcuL0NvZGVSYWJiaXRGaWxlJztcbmltcG9ydCB7IEdpdEh1YlJvbGVzU3RhY2tGaWxlIH0gZnJvbSAnLi9HaXRIdWJSb2xlc1N0YWNrRmlsZSc7XG5pbXBvcnQgeyBMb2NhbERldkZpbGVzIH0gZnJvbSAnLi9Mb2NhbERldkZpbGVzJztcbmltcG9ydCB7IEVudmlyb25tZW50Q29uZmlnLCBNYWluRmlsZSB9IGZyb20gJy4vTWFpbkZpbGUnO1xuaW1wb3J0IHsgTWFpblRlc3RGaWxlIH0gZnJvbSAnLi9NYWluVGVzdEZpbGUnO1xuaW1wb3J0IHsgUHJDbGVhbnVwV29ya2Zsb3cgfSBmcm9tICcuL1ByQ2xlYW51cFdvcmtmbG93JztcbmltcG9ydCB7IFByRGVwbG95V29ya2Zsb3cgfSBmcm9tICcuL1ByRGVwbG95V29ya2Zsb3cnO1xuaW1wb3J0IHsgUHJvZHVjdGlvbkRlcGxveVdvcmtmbG93IH0gZnJvbSAnLi9Qcm9kdWN0aW9uRGVwbG95V29ya2Zsb3cnO1xuaW1wb3J0IHsgU3RhZ2luZ0RlcGxveVdvcmtmbG93IH0gZnJvbSAnLi9TdGFnaW5nRGVwbG95V29ya2Zsb3cnO1xuaW1wb3J0IHsgU3RhdGljV2Vic2l0ZUNvbnN0cnVjdEZpbGUgfSBmcm9tICcuL1N0YXRpY1dlYnNpdGVDb25zdHJ1Y3RGaWxlJztcbmltcG9ydCB7IFdvcmtmbG93QXV0b0Rpc2NvdmVyIH0gZnJvbSAnLi9Xb3JrZmxvd0F1dG9EaXNjb3Zlcic7XG5pbXBvcnQgeyBXb3JrZmxvd1Byb3ZpZGVyRmlsZSB9IGZyb20gJy4vV29ya2Zsb3dQcm92aWRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25FbnZpcm9ubWVudENvbmZpZyBleHRlbmRzIEVudmlyb25tZW50Q29uZmlnIHtcbiAgcmVhZG9ubHkgZ2l0aHViQWN0aW9uUm9sZUFybjogYGFybjphd3M6aWFtOjoke3N0cmluZ306cm9sZS8ke3N0cmluZ31gO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxpY2F0aW9uT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGdpdGh1YlJlcG9zaXRvcnk6IHN0cmluZztcbiAgcmVhZG9ubHkgZGV2OiBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnO1xuICByZWFkb25seSBzdGFnaW5nOiBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnO1xuICByZWFkb25seSBwcm9kOiBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnO1xuICByZWFkb25seSBhZGRpdGlvbmFsVGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIGNyZWF0ZXMgV29ya2Zsb3dQcm92aWRlciBmaWxlcyBmb3IgZWFjaCBuOG4gd29ya2Zsb3cgZmlsZSBmb3VuZCBpbiBzcmMvd29ya2Zsb3dzLyouanNvblxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBuOG5Xb3JrZmxvd3M/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEFwcGxpY2F0aW9uIGNvbnN0cnVjdCB0aGF0IGNyZWF0ZXMgYWxsIHN0YW5kYXJkIHByb2plY3QgZmlsZXNcbiAqL1xuZXhwb3J0IGNsYXNzIEJvb3RjYW1wQXBwbGljYXRpb24ge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBBd3NDZGtUeXBlU2NyaXB0QXBwLCBvcHRpb25zOiBBcHBsaWNhdGlvbk9wdGlvbnMpIHtcbiAgICAvLyBDcmVhdGUgbWFpbiBlbnRyeSBwb2ludCBmaWxlc1xuXG4gICAgbmV3IE1haW5GaWxlKHByb2plY3QsIHtcbiAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICBkZXY6IG9wdGlvbnMuZGV2LFxuICAgICAgc3RhZ2luZzogb3B0aW9ucy5zdGFnaW5nLFxuICAgICAgcHJvZDogb3B0aW9ucy5wcm9kLFxuICAgICAgYWRkaXRpb25hbFRhZ3M6IG9wdGlvbnMuYWRkaXRpb25hbFRhZ3MsXG4gICAgfSk7XG5cbiAgICBuZXcgTG9jYWxEZXZGaWxlcyhwcm9qZWN0LCB7XG4gICAgICBwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuICAgICAgZGV2OiBvcHRpb25zLmRldixcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBzdGFjayBmaWxlc1xuICAgIG5ldyBHaXRIdWJSb2xlc1N0YWNrRmlsZShwcm9qZWN0LCB7XG4gICAgICBnaXRodWJSZXBvc2l0b3J5OiBvcHRpb25zLmdpdGh1YlJlcG9zaXRvcnksXG4gICAgfSk7XG5cbiAgICBuZXcgQm9vdGNhbXBCYXNlQXBwbGljYXRpb25TdGFja0ZpbGUocHJvamVjdCk7XG4gICAgbmV3IEJvb3RjYW1wQXBwbGljYXRpb25TdGFja0ZpbGUocHJvamVjdCk7XG5cbiAgICAvLyBDcmVhdGUgY29uc3RydWN0IGZpbGVzXG4gICAgbmV3IEFwaUNvbnN0cnVjdEZpbGUocHJvamVjdCk7XG4gICAgbmV3IFN0YXRpY1dlYnNpdGVDb25zdHJ1Y3RGaWxlKHByb2plY3QpO1xuXG4gICAgLy8gbjhuIHdvcmtmbG93IGZpbGVzXG4gICAgaWYgKG9wdGlvbnMubjhuV29ya2Zsb3dzID09PSB1bmRlZmluZWQgfHwgb3B0aW9ucy5uOG5Xb3JrZmxvd3MpIHtcbiAgICAgIG5ldyBXb3JrZmxvd1Byb3ZpZGVyRmlsZShwcm9qZWN0KTtcbiAgICAgIG5ldyBXb3JrZmxvd0F1dG9EaXNjb3Zlcihwcm9qZWN0KTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgaGFuZGxlciBmaWxlc1xuICAgIG5ldyBBcGlGdW5jdGlvbkZpbGUocHJvamVjdCk7XG5cbiAgICAvLyBDcmVhdGUgdGVzdCBmaWxlc1xuICAgIG5ldyBNYWluVGVzdEZpbGUocHJvamVjdCk7XG5cbiAgICAvLyBDcmVhdGUgY29uZmlnIGZpbGVzXG4gICAgbmV3IENvZGVSYWJiaXRGaWxlKHByb2plY3QpO1xuXG4gICAgLy8gQ3JlYXRlIEdpdEh1YiBBY3Rpb25zIHdvcmtmbG93c1xuICAgIG5ldyBQckRlcGxveVdvcmtmbG93KHByb2plY3QsIHtcbiAgICAgIHJvbGVBcm46IG9wdGlvbnMuZGV2LmdpdGh1YkFjdGlvblJvbGVBcm4sXG4gICAgICBhd3NSZWdpb246IG9wdGlvbnMuZGV2LnJlZ2lvbixcbiAgICAgIGNsZXJrUHVibGlzaGFibGVLZXk6IG9wdGlvbnMuZGV2LmNsZXJrUHVibGlzaGFibGVLZXksXG4gICAgfSk7XG5cbiAgICBuZXcgUHJDbGVhbnVwV29ya2Zsb3cocHJvamVjdCwge1xuICAgICAgcm9sZUFybjogb3B0aW9ucy5kZXYuZ2l0aHViQWN0aW9uUm9sZUFybixcbiAgICAgIGF3c1JlZ2lvbjogb3B0aW9ucy5kZXYucmVnaW9uLFxuICAgICAgcHJvamVjdE5hbWU6IHByb2plY3QubmFtZSxcbiAgICB9KTtcblxuICAgIG5ldyBTdGFnaW5nRGVwbG95V29ya2Zsb3cocHJvamVjdCwge1xuICAgICAgcm9sZUFybjogb3B0aW9ucy5zdGFnaW5nLmdpdGh1YkFjdGlvblJvbGVBcm4sXG4gICAgICBhd3NSZWdpb246IG9wdGlvbnMuc3RhZ2luZy5yZWdpb24sXG4gICAgICBwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuICAgICAgY2xlcmtQdWJsaXNoYWJsZUtleTogb3B0aW9ucy5zdGFnaW5nLmNsZXJrUHVibGlzaGFibGVLZXksXG4gICAgfSk7XG5cbiAgICBuZXcgUHJvZHVjdGlvbkRlcGxveVdvcmtmbG93KHByb2plY3QsIHtcbiAgICAgIHJvbGVBcm46IG9wdGlvbnMucHJvZC5naXRodWJBY3Rpb25Sb2xlQXJuLFxuICAgICAgYXdzUmVnaW9uOiBvcHRpb25zLnByb2QucmVnaW9uLFxuICAgICAgcHJvamVjdE5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgIGNsZXJrUHVibGlzaGFibGVLZXk6IG9wdGlvbnMucHJvZC5jbGVya1B1Ymxpc2hhYmxlS2V5LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
package/lib/BootcampProject.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.BootcampProject = void 0;
|
|
5
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
@@ -12,6 +11,7 @@ const GitHubRolesFile_1 = require("./GitHubRolesFile");
|
|
|
12
11
|
const utils_1 = require("./utils");
|
|
13
12
|
const ViteReactProject_1 = require("./ViteReactProject");
|
|
14
13
|
class BootcampProject extends awscdk_1.AwsCdkTypeScriptApp {
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.BootcampProject", version: "1.14.0" };
|
|
15
15
|
constructor(options) {
|
|
16
16
|
super({
|
|
17
17
|
...options,
|
|
@@ -117,6 +117,4 @@ class BootcampProject extends awscdk_1.AwsCdkTypeScriptApp {
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
exports.BootcampProject = BootcampProject;
|
|
120
|
-
|
|
121
|
-
BootcampProject[_a] = { fqn: "@macedon-technologies/batman.BootcampProject", version: "1.13.0" };
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdGNhbXBQcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Jvb3RjYW1wUHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhDQUF3RDtBQUN4RCw4Q0FBc0Q7QUFFdEQsK0RBQTREO0FBQzVELHFEQUFrRDtBQUNsRCwyREFBd0Q7QUFDeEQsdURBQW9EO0FBQ3BELG1DQUF5QztBQUN6Qyx5REFBc0Q7QUFPdEQsTUFBYSxlQUFnQixTQUFRLDRCQUFtQjtJQUN0RCxZQUFZLE9BQStCO1FBQ3pDLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxJQUFJLFNBQVM7WUFDM0Msb0JBQW9CLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixJQUFJLE1BQU07WUFDNUQsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLElBQUksRUFBRTtnQkFDSixtQkFBbUI7Z0JBQ25CLGdCQUFnQjtnQkFDaEIsV0FBVztnQkFDWCxJQUFJO2dCQUNKLHFCQUFxQjtnQkFDckIsc0JBQXNCO2dCQUN0QiwyQkFBMkI7Z0JBQzNCLDBCQUEwQjtnQkFDMUIsbUNBQW1DO2dCQUNuQyxjQUFjO2dCQUNkLGlDQUFpQztnQkFDakMsU0FBUztnQkFDVCxpQkFBaUI7Z0JBQ2pCLGFBQWE7Z0JBQ2IsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7YUFDdEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AscUJBQXFCO2dCQUNyQixTQUFTO2dCQUNULGNBQWM7Z0JBQ2QscUNBQXFDO2dCQUNyQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRTthQUN6QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxtREFBbUQ7Z0JBQ25ELGNBQWM7Z0JBQ2QsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUU7YUFDM0I7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsR0FBRyxPQUFPLENBQUMsUUFBUTtnQkFDbkIsZUFBZSxFQUFFO29CQUNmLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxlQUFlO29CQUNwQyxlQUFlLEVBQUUsSUFBSTtvQkFDckIsMEJBQTBCLEVBQUUsSUFBSTtpQkFDakM7YUFDRjtZQUNELFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLElBQUk7WUFDOUMsa0JBQWtCLEVBQUU7Z0JBQ2xCLGVBQWUsRUFBRTtvQkFDZixpQkFBaUIsRUFBRSwwQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQzt3QkFDM0QsTUFBTSxFQUFFLGNBQWM7cUJBQ3ZCLENBQUM7aUJBQ0g7YUFDRjtZQUNELE1BQU0sRUFBRTtnQkFDTixRQUFRLEVBQUUsSUFBQSxzQkFBYyxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7YUFDdkM7U0FDRixDQUFDLENBQUM7UUFHSCxnQ0FBZ0M7UUFDaEMsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3ZDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQztRQUVuQyxJQUFJLHlDQUFtQixDQUFDLElBQUksRUFBRTtZQUM1QixnQkFBZ0IsRUFBRSx3QkFBd0IsT0FBTyxDQUFDLElBQUksRUFBRTtZQUN4RCxHQUFHLEVBQUU7Z0JBQ0gsR0FBRyxPQUFPLENBQUMsR0FBRzthQUNmO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEdBQUcsT0FBTyxDQUFDLE9BQU87YUFDbkI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osR0FBRyxPQUFPLENBQUMsR0FBRzthQUNmO1lBQ0QsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1lBQ3RDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtTQUNuQyxDQUFDLENBQUM7UUFFSCxJQUFJLGlDQUFlLENBQUMsSUFBSSxFQUFFO1lBQ3hCLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLGFBQWEsRUFBRSxjQUFjO1NBQzlCLENBQUMsQ0FBQztRQUVILElBQUksK0JBQWMsQ0FBQyxJQUFJLEVBQUU7WUFDdkIsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLG9CQUFvQjtTQUMvQyxDQUFDLENBQUM7UUFFSCxJQUFJLHFDQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVCLE1BQU0sU0FBUyxHQUFHLElBQUksbUNBQWdCLENBQUM7WUFDckMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLG9CQUFvQixFQUFFLE1BQU07WUFDNUIsTUFBTSxFQUFFLElBQUk7WUFDWixNQUFNLEVBQUUsS0FBSztZQUNiLElBQUksRUFBRSxPQUFPLENBQUMsV0FBVztTQUMxQixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRCxTQUFTLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVwRCxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBYyxFQUFFLEVBQUU7WUFDekMsT0FBTyxnQkFBZ0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM3RCxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNsQixJQUFJLEVBQUUsWUFBWSxDQUNoQixnRkFBZ0YsRUFDaEYsU0FBUyxDQUFDLFVBQVUsQ0FDckI7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUN0QixJQUFJLEVBQUUsZ0ZBQWdGO1lBQ3RGLFdBQVcsRUFBRSxJQUFJO1NBQ2xCLENBQUMsQ0FBQztJQUdMLENBQUM7O0FBdEhILDBDQXVIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF3c0Nka1R5cGVTY3JpcHRBcHAgfSBmcm9tICdwcm9qZW4vbGliL2F3c2Nkayc7XG5pbXBvcnQgeyBHaXRodWJDcmVkZW50aWFscyB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViJztcbmltcG9ydCB7IEJhdG1hblByb2plY3RPcHRpb25zIH0gZnJvbSAnLi9CYXRtYW5Qcm9qZWN0JztcbmltcG9ydCB7IEJvb3RjYW1wQXBwbGljYXRpb24gfSBmcm9tICcuL0Jvb3RjYW1wQXBwbGljYXRpb24nO1xuaW1wb3J0IHsgQ29kZU93bmVyc0ZpbGUgfSBmcm9tICcuL0NvZGVPd25lcnNGaWxlJztcbmltcG9ydCB7IERhdGFEb2dBc3BlY3RGaWxlIH0gZnJvbSAnLi9EYXRhRG9nQXNwZWN0RmlsZSc7XG5pbXBvcnQgeyBHaXRIdWJSb2xlc0ZpbGUgfSBmcm9tICcuL0dpdEh1YlJvbGVzRmlsZSc7XG5pbXBvcnQgeyByZWFkbWVDb250ZW50cyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVml0ZVJlYWN0UHJvamVjdCB9IGZyb20gJy4vVml0ZVJlYWN0UHJvamVjdCc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBCb290Y2FtcFByb2plY3RPcHRpb25zIGV4dGVuZHMgQmF0bWFuUHJvamVjdE9wdGlvbnMge1xuXG59XG5cbmV4cG9ydCBjbGFzcyBCb290Y2FtcFByb2plY3QgZXh0ZW5kcyBBd3NDZGtUeXBlU2NyaXB0QXBwIHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogQm9vdGNhbXBQcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBjZGtWZXJzaW9uOiBvcHRpb25zLmNka1ZlcnNpb24gfHwgJzIuMjI0LjAnLFxuICAgICAgZGVmYXVsdFJlbGVhc2VCcmFuY2g6IG9wdGlvbnMuZGVmYXVsdFJlbGVhc2VCcmFuY2ggfHwgJ21haW4nLFxuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgcHJvamVucmNUczogdHJ1ZSxcbiAgICAgIGJ1aWxkV29ya2Zsb3c6IGZhbHNlLFxuICAgICAgZGVwczogW1xuICAgICAgICAnQHR5cGVzL2F3cy1sYW1iZGEnLFxuICAgICAgICAnQHR5cGVzL2V4cHJlc3MnLFxuICAgICAgICAnQHR5cGVzL3BnJyxcbiAgICAgICAgJ3BnJyxcbiAgICAgICAgJ0Bhd3Mtc2RrL3Jkcy1zaWduZXInLFxuICAgICAgICAnQG1hdHRoZXdib25pZy9zZWNyZXQnLFxuICAgICAgICAnZGF0YWRvZy1jZGstY29uc3RydWN0cy12MicsXG4gICAgICAgICdAY2RrbGFicy9hd3MtbGFtYmRhLXJ1c3QnLFxuICAgICAgICAnQGF3cy1sYW1iZGEtcG93ZXJ0b29scy9wYXJhbWV0ZXJzJyxcbiAgICAgICAgJ2pzb253ZWJ0b2tlbicsXG4gICAgICAgICdAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyJyxcbiAgICAgICAgJ2V4cHJlc3MnLFxuICAgICAgICAnc2VydmVybGVzcy1odHRwJyxcbiAgICAgICAgJ2Nkay1yZHMtc3FsJyxcbiAgICAgICAgLi4ub3B0aW9ucy5kZXBzIHx8IFtdLFxuICAgICAgXSxcbiAgICAgIGRldkRlcHM6IFtcbiAgICAgICAgJ0B0eXBlcy9qc29ud2VidG9rZW4nLFxuICAgICAgICAnbm9kZW1vbicsXG4gICAgICAgICdjb25jdXJyZW50bHknLFxuICAgICAgICAnQG1hY2Vkb24tdGVjaG5vbG9naWVzL2JhdG1hbkBeMS4wLjAnLFxuICAgICAgICAuLi5vcHRpb25zLmRldkRlcHMgfHwgW10sXG4gICAgICBdLFxuICAgICAgZ2l0aWdub3JlOiBbXG4gICAgICAgICdzcmMvY29uc3RydWN0cy9oYW5kbGVyL2NsZXJrLWF1dGhvcml6ZXIvdGFyZ2V0LyoqJyxcbiAgICAgICAgJyoqLy5EU19TdG9yZScsXG4gICAgICAgIC4uLm9wdGlvbnMuZ2l0aWdub3JlIHx8IFtdLFxuICAgICAgXSxcbiAgICAgIHRzY29uZmlnOiB7XG4gICAgICAgIC4uLm9wdGlvbnMudHNjb25maWcsXG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIC4uLm9wdGlvbnMudHNjb25maWc/LmNvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgICBpc29sYXRlZE1vZHVsZXM6IHRydWUsXG4gICAgICAgICAgYWxsb3dJbXBvcnRpbmdUc0V4dGVuc2lvbnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2FtcGxlQ29kZTogZmFsc2UsXG4gICAgICBtaW5Ob2RlVmVyc2lvbjogb3B0aW9ucy5taW5Ob2RlVmVyc2lvbiB8fCAnMjInLFxuICAgICAgZGVwc1VwZ3JhZGVPcHRpb25zOiB7XG4gICAgICAgIHdvcmtmbG93T3B0aW9uczoge1xuICAgICAgICAgIHByb2plbkNyZWRlbnRpYWxzOiBHaXRodWJDcmVkZW50aWFscy5mcm9tUGVyc29uYWxBY2Nlc3NUb2tlbih7XG4gICAgICAgICAgICBzZWNyZXQ6ICdHSVRIVUJfVE9LRU4nLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJlYWRtZToge1xuICAgICAgICBjb250ZW50czogcmVhZG1lQ29udGVudHMob3B0aW9ucy5uYW1lKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cblxuICAgIC8vIENyZWF0ZSBzdGFuZGFyZCBwcm9qZWN0IGZpbGVzXG4gICAgY29uc3QgUFJJTUFSWV9BQ0NPVU5UID0gJzAxNTk1NTgxNzI2Myc7XG4gICAgY29uc3QgUFJJTUFSWV9SRUdJT04gPSAndXMtZWFzdC0xJztcblxuICAgIG5ldyBCb290Y2FtcEFwcGxpY2F0aW9uKHRoaXMsIHtcbiAgICAgIGdpdGh1YlJlcG9zaXRvcnk6IGBtYWNlZG9uLXRlY2hub2xvZ2llcy8ke29wdGlvbnMubmFtZX1gLFxuICAgICAgZGV2OiB7XG4gICAgICAgIC4uLm9wdGlvbnMuZGV2LFxuICAgICAgfSxcbiAgICAgIHN0YWdpbmc6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5zdGFnaW5nLFxuICAgICAgfSxcbiAgICAgIHByb2Q6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5kZXYsXG4gICAgICB9LFxuICAgICAgYWRkaXRpb25hbFRhZ3M6IG9wdGlvbnMuYWRkaXRpb25hbFRhZ3MsXG4gICAgICBuOG5Xb3JrZmxvd3M6IG9wdGlvbnMubjhuV29ya2Zsb3dzLFxuICAgIH0pO1xuXG4gICAgbmV3IEdpdEh1YlJvbGVzRmlsZSh0aGlzLCB7XG4gICAgICBhY2NvdW50OiBQUklNQVJZX0FDQ09VTlQsXG4gICAgICBwcmltYXJ5UmVnaW9uOiBQUklNQVJZX1JFR0lPTixcbiAgICB9KTtcblxuICAgIG5ldyBDb2RlT3duZXJzRmlsZSh0aGlzLCB7XG4gICAgICBhZGRpdGlvbmFsT3duZXJzOiBvcHRpb25zLmFkZGl0aW9uYWxDb2RlT3duZXJzLFxuICAgIH0pO1xuXG4gICAgbmV3IERhdGFEb2dBc3BlY3RGaWxlKHRoaXMpO1xuXG4gICAgY29uc3Qgdml0ZVJlYWN0ID0gbmV3IFZpdGVSZWFjdFByb2plY3Qoe1xuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgZGVmYXVsdFJlbGVhc2VCcmFuY2g6ICdtYWluJyxcbiAgICAgIHBhcmVudDogdGhpcyxcbiAgICAgIG91dGRpcjogJ3dlYicsXG4gICAgICBkZXBzOiBvcHRpb25zLndlYnNpdGVEZXBzLFxuICAgIH0pO1xuICAgIHZpdGVSZWFjdC5hZGRDb25maWdGaWVsZCgnc29tZXRoaW5nJywgJ251bWJlcicpO1xuICAgIHZpdGVSZWFjdC5hZGRDb25maWdGaWVsZCgnc29tZXRoaW5nRWxzZScsICdzdHJpbmcnKTtcblxuICAgIGNvbnN0IGNvbmN1cnJlbnRseSA9ICguLi5hcmdzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgcmV0dXJuIGBjb25jdXJyZW50bHkgJHthcmdzLm1hcChhID0+IGBcIiR7YX1cImApLmpvaW4oJyAnKX1gO1xuICAgIH07XG5cbiAgICB0aGlzLmFkZFRhc2soJ2RldicsIHtcbiAgICAgIGV4ZWM6IGNvbmN1cnJlbnRseShcbiAgICAgICAgJ25vZGVtb24gLS13YXRjaCAuL3NyYy9jb25zdHJ1Y3RzL2hhbmRsZXIgLS13YXRjaCAuL2xvY2FsL2Rldi50cyAuL2xvY2FsL2Rldi50cycsXG4gICAgICAgIHZpdGVSZWFjdC5kZXZDb21tYW5kLFxuICAgICAgKSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkVGFzaygnY2RrOmRldicsIHtcbiAgICAgIGV4ZWM6ICd5YXJuIGNkayAtYSBcIm5weCB0cy1ub2RlIC1QIHRzY29uZmlnLmpzb24gLS1wcmVmZXItdHMtZXh0cyBzcmMvTG9jYWxEZXZBcHAudHNcIicsXG4gICAgICByZWNlaXZlQXJnczogdHJ1ZSxcbiAgICB9KTtcblxuXG4gIH1cbn1cbiJdfQ==
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdGNhbXBQcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Jvb3RjYW1wUHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsOENBQXdEO0FBQ3hELDhDQUFzRDtBQUV0RCwrREFBNEQ7QUFDNUQscURBQWtEO0FBQ2xELDJEQUF3RDtBQUN4RCx1REFBb0Q7QUFDcEQsbUNBQXlDO0FBQ3pDLHlEQUFzRDtBQU90RCxNQUFhLGVBQWdCLFNBQVEsNEJBQW1COztJQUN0RCxZQUFZLE9BQStCO1FBQ3pDLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxJQUFJLFNBQVM7WUFDM0Msb0JBQW9CLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixJQUFJLE1BQU07WUFDNUQsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLElBQUksRUFBRTtnQkFDSixtQkFBbUI7Z0JBQ25CLGdCQUFnQjtnQkFDaEIsV0FBVztnQkFDWCxJQUFJO2dCQUNKLHFCQUFxQjtnQkFDckIsc0JBQXNCO2dCQUN0QiwyQkFBMkI7Z0JBQzNCLDBCQUEwQjtnQkFDMUIsbUNBQW1DO2dCQUNuQyxjQUFjO2dCQUNkLGlDQUFpQztnQkFDakMsU0FBUztnQkFDVCxpQkFBaUI7Z0JBQ2pCLGFBQWE7Z0JBQ2IsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7YUFDdEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AscUJBQXFCO2dCQUNyQixTQUFTO2dCQUNULGNBQWM7Z0JBQ2QscUNBQXFDO2dCQUNyQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRTthQUN6QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxtREFBbUQ7Z0JBQ25ELGNBQWM7Z0JBQ2QsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUU7YUFDM0I7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsR0FBRyxPQUFPLENBQUMsUUFBUTtnQkFDbkIsZUFBZSxFQUFFO29CQUNmLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxlQUFlO29CQUNwQyxlQUFlLEVBQUUsSUFBSTtvQkFDckIsMEJBQTBCLEVBQUUsSUFBSTtpQkFDakM7YUFDRjtZQUNELFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLElBQUk7WUFDOUMsa0JBQWtCLEVBQUU7Z0JBQ2xCLGVBQWUsRUFBRTtvQkFDZixpQkFBaUIsRUFBRSwwQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQzt3QkFDM0QsTUFBTSxFQUFFLGNBQWM7cUJBQ3ZCLENBQUM7aUJBQ0g7YUFDRjtZQUNELE1BQU0sRUFBRTtnQkFDTixRQUFRLEVBQUUsSUFBQSxzQkFBYyxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7YUFDdkM7U0FDRixDQUFDLENBQUM7UUFHSCxnQ0FBZ0M7UUFDaEMsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3ZDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQztRQUVuQyxJQUFJLHlDQUFtQixDQUFDLElBQUksRUFBRTtZQUM1QixnQkFBZ0IsRUFBRSx3QkFBd0IsT0FBTyxDQUFDLElBQUksRUFBRTtZQUN4RCxHQUFHLEVBQUU7Z0JBQ0gsR0FBRyxPQUFPLENBQUMsR0FBRzthQUNmO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEdBQUcsT0FBTyxDQUFDLE9BQU87YUFDbkI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osR0FBRyxPQUFPLENBQUMsR0FBRzthQUNmO1lBQ0QsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1lBQ3RDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtTQUNuQyxDQUFDLENBQUM7UUFFSCxJQUFJLGlDQUFlLENBQUMsSUFBSSxFQUFFO1lBQ3hCLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLGFBQWEsRUFBRSxjQUFjO1NBQzlCLENBQUMsQ0FBQztRQUVILElBQUksK0JBQWMsQ0FBQyxJQUFJLEVBQUU7WUFDdkIsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLG9CQUFvQjtTQUMvQyxDQUFDLENBQUM7UUFFSCxJQUFJLHFDQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVCLE1BQU0sU0FBUyxHQUFHLElBQUksbUNBQWdCLENBQUM7WUFDckMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLG9CQUFvQixFQUFFLE1BQU07WUFDNUIsTUFBTSxFQUFFLElBQUk7WUFDWixNQUFNLEVBQUUsS0FBSztZQUNiLElBQUksRUFBRSxPQUFPLENBQUMsV0FBVztTQUMxQixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRCxTQUFTLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVwRCxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBYyxFQUFFLEVBQUU7WUFDekMsT0FBTyxnQkFBZ0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM3RCxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNsQixJQUFJLEVBQUUsWUFBWSxDQUNoQixnRkFBZ0YsRUFDaEYsU0FBUyxDQUFDLFVBQVUsQ0FDckI7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUN0QixJQUFJLEVBQUUsZ0ZBQWdGO1lBQ3RGLFdBQVcsRUFBRSxJQUFJO1NBQ2xCLENBQUMsQ0FBQztJQUdMLENBQUM7O0FBdEhILDBDQXVIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF3c0Nka1R5cGVTY3JpcHRBcHAgfSBmcm9tICdwcm9qZW4vbGliL2F3c2Nkayc7XG5pbXBvcnQgeyBHaXRodWJDcmVkZW50aWFscyB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViJztcbmltcG9ydCB7IEJhdG1hblByb2plY3RPcHRpb25zIH0gZnJvbSAnLi9CYXRtYW5Qcm9qZWN0JztcbmltcG9ydCB7IEJvb3RjYW1wQXBwbGljYXRpb24gfSBmcm9tICcuL0Jvb3RjYW1wQXBwbGljYXRpb24nO1xuaW1wb3J0IHsgQ29kZU93bmVyc0ZpbGUgfSBmcm9tICcuL0NvZGVPd25lcnNGaWxlJztcbmltcG9ydCB7IERhdGFEb2dBc3BlY3RGaWxlIH0gZnJvbSAnLi9EYXRhRG9nQXNwZWN0RmlsZSc7XG5pbXBvcnQgeyBHaXRIdWJSb2xlc0ZpbGUgfSBmcm9tICcuL0dpdEh1YlJvbGVzRmlsZSc7XG5pbXBvcnQgeyByZWFkbWVDb250ZW50cyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVml0ZVJlYWN0UHJvamVjdCB9IGZyb20gJy4vVml0ZVJlYWN0UHJvamVjdCc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBCb290Y2FtcFByb2plY3RPcHRpb25zIGV4dGVuZHMgQmF0bWFuUHJvamVjdE9wdGlvbnMge1xuXG59XG5cbmV4cG9ydCBjbGFzcyBCb290Y2FtcFByb2plY3QgZXh0ZW5kcyBBd3NDZGtUeXBlU2NyaXB0QXBwIHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogQm9vdGNhbXBQcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBjZGtWZXJzaW9uOiBvcHRpb25zLmNka1ZlcnNpb24gfHwgJzIuMjI0LjAnLFxuICAgICAgZGVmYXVsdFJlbGVhc2VCcmFuY2g6IG9wdGlvbnMuZGVmYXVsdFJlbGVhc2VCcmFuY2ggfHwgJ21haW4nLFxuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgcHJvamVucmNUczogdHJ1ZSxcbiAgICAgIGJ1aWxkV29ya2Zsb3c6IGZhbHNlLFxuICAgICAgZGVwczogW1xuICAgICAgICAnQHR5cGVzL2F3cy1sYW1iZGEnLFxuICAgICAgICAnQHR5cGVzL2V4cHJlc3MnLFxuICAgICAgICAnQHR5cGVzL3BnJyxcbiAgICAgICAgJ3BnJyxcbiAgICAgICAgJ0Bhd3Mtc2RrL3Jkcy1zaWduZXInLFxuICAgICAgICAnQG1hdHRoZXdib25pZy9zZWNyZXQnLFxuICAgICAgICAnZGF0YWRvZy1jZGstY29uc3RydWN0cy12MicsXG4gICAgICAgICdAY2RrbGFicy9hd3MtbGFtYmRhLXJ1c3QnLFxuICAgICAgICAnQGF3cy1sYW1iZGEtcG93ZXJ0b29scy9wYXJhbWV0ZXJzJyxcbiAgICAgICAgJ2pzb253ZWJ0b2tlbicsXG4gICAgICAgICdAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyJyxcbiAgICAgICAgJ2V4cHJlc3MnLFxuICAgICAgICAnc2VydmVybGVzcy1odHRwJyxcbiAgICAgICAgJ2Nkay1yZHMtc3FsJyxcbiAgICAgICAgLi4ub3B0aW9ucy5kZXBzIHx8IFtdLFxuICAgICAgXSxcbiAgICAgIGRldkRlcHM6IFtcbiAgICAgICAgJ0B0eXBlcy9qc29ud2VidG9rZW4nLFxuICAgICAgICAnbm9kZW1vbicsXG4gICAgICAgICdjb25jdXJyZW50bHknLFxuICAgICAgICAnQG1hY2Vkb24tdGVjaG5vbG9naWVzL2JhdG1hbkBeMS4wLjAnLFxuICAgICAgICAuLi5vcHRpb25zLmRldkRlcHMgfHwgW10sXG4gICAgICBdLFxuICAgICAgZ2l0aWdub3JlOiBbXG4gICAgICAgICdzcmMvY29uc3RydWN0cy9oYW5kbGVyL2NsZXJrLWF1dGhvcml6ZXIvdGFyZ2V0LyoqJyxcbiAgICAgICAgJyoqLy5EU19TdG9yZScsXG4gICAgICAgIC4uLm9wdGlvbnMuZ2l0aWdub3JlIHx8IFtdLFxuICAgICAgXSxcbiAgICAgIHRzY29uZmlnOiB7XG4gICAgICAgIC4uLm9wdGlvbnMudHNjb25maWcsXG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIC4uLm9wdGlvbnMudHNjb25maWc/LmNvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgICBpc29sYXRlZE1vZHVsZXM6IHRydWUsXG4gICAgICAgICAgYWxsb3dJbXBvcnRpbmdUc0V4dGVuc2lvbnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2FtcGxlQ29kZTogZmFsc2UsXG4gICAgICBtaW5Ob2RlVmVyc2lvbjogb3B0aW9ucy5taW5Ob2RlVmVyc2lvbiB8fCAnMjInLFxuICAgICAgZGVwc1VwZ3JhZGVPcHRpb25zOiB7XG4gICAgICAgIHdvcmtmbG93T3B0aW9uczoge1xuICAgICAgICAgIHByb2plbkNyZWRlbnRpYWxzOiBHaXRodWJDcmVkZW50aWFscy5mcm9tUGVyc29uYWxBY2Nlc3NUb2tlbih7XG4gICAgICAgICAgICBzZWNyZXQ6ICdHSVRIVUJfVE9LRU4nLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJlYWRtZToge1xuICAgICAgICBjb250ZW50czogcmVhZG1lQ29udGVudHMob3B0aW9ucy5uYW1lKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cblxuICAgIC8vIENyZWF0ZSBzdGFuZGFyZCBwcm9qZWN0IGZpbGVzXG4gICAgY29uc3QgUFJJTUFSWV9BQ0NPVU5UID0gJzAxNTk1NTgxNzI2Myc7XG4gICAgY29uc3QgUFJJTUFSWV9SRUdJT04gPSAndXMtZWFzdC0xJztcblxuICAgIG5ldyBCb290Y2FtcEFwcGxpY2F0aW9uKHRoaXMsIHtcbiAgICAgIGdpdGh1YlJlcG9zaXRvcnk6IGBtYWNlZG9uLXRlY2hub2xvZ2llcy8ke29wdGlvbnMubmFtZX1gLFxuICAgICAgZGV2OiB7XG4gICAgICAgIC4uLm9wdGlvbnMuZGV2LFxuICAgICAgfSxcbiAgICAgIHN0YWdpbmc6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5zdGFnaW5nLFxuICAgICAgfSxcbiAgICAgIHByb2Q6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5kZXYsXG4gICAgICB9LFxuICAgICAgYWRkaXRpb25hbFRhZ3M6IG9wdGlvbnMuYWRkaXRpb25hbFRhZ3MsXG4gICAgICBuOG5Xb3JrZmxvd3M6IG9wdGlvbnMubjhuV29ya2Zsb3dzLFxuICAgIH0pO1xuXG4gICAgbmV3IEdpdEh1YlJvbGVzRmlsZSh0aGlzLCB7XG4gICAgICBhY2NvdW50OiBQUklNQVJZX0FDQ09VTlQsXG4gICAgICBwcmltYXJ5UmVnaW9uOiBQUklNQVJZX1JFR0lPTixcbiAgICB9KTtcblxuICAgIG5ldyBDb2RlT3duZXJzRmlsZSh0aGlzLCB7XG4gICAgICBhZGRpdGlvbmFsT3duZXJzOiBvcHRpb25zLmFkZGl0aW9uYWxDb2RlT3duZXJzLFxuICAgIH0pO1xuXG4gICAgbmV3IERhdGFEb2dBc3BlY3RGaWxlKHRoaXMpO1xuXG4gICAgY29uc3Qgdml0ZVJlYWN0ID0gbmV3IFZpdGVSZWFjdFByb2plY3Qoe1xuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgZGVmYXVsdFJlbGVhc2VCcmFuY2g6ICdtYWluJyxcbiAgICAgIHBhcmVudDogdGhpcyxcbiAgICAgIG91dGRpcjogJ3dlYicsXG4gICAgICBkZXBzOiBvcHRpb25zLndlYnNpdGVEZXBzLFxuICAgIH0pO1xuICAgIHZpdGVSZWFjdC5hZGRDb25maWdGaWVsZCgnc29tZXRoaW5nJywgJ251bWJlcicpO1xuICAgIHZpdGVSZWFjdC5hZGRDb25maWdGaWVsZCgnc29tZXRoaW5nRWxzZScsICdzdHJpbmcnKTtcblxuICAgIGNvbnN0IGNvbmN1cnJlbnRseSA9ICguLi5hcmdzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgcmV0dXJuIGBjb25jdXJyZW50bHkgJHthcmdzLm1hcChhID0+IGBcIiR7YX1cImApLmpvaW4oJyAnKX1gO1xuICAgIH07XG5cbiAgICB0aGlzLmFkZFRhc2soJ2RldicsIHtcbiAgICAgIGV4ZWM6IGNvbmN1cnJlbnRseShcbiAgICAgICAgJ25vZGVtb24gLS13YXRjaCAuL3NyYy9jb25zdHJ1Y3RzL2hhbmRsZXIgLS13YXRjaCAuL2xvY2FsL2Rldi50cyAuL2xvY2FsL2Rldi50cycsXG4gICAgICAgIHZpdGVSZWFjdC5kZXZDb21tYW5kLFxuICAgICAgKSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkVGFzaygnY2RrOmRldicsIHtcbiAgICAgIGV4ZWM6ICd5YXJuIGNkayAtYSBcIm5weCB0cy1ub2RlIC1QIHRzY29uZmlnLmpzb24gLS1wcmVmZXItdHMtZXh0cyBzcmMvTG9jYWxEZXZBcHAudHNcIicsXG4gICAgICByZWNlaXZlQXJnczogdHJ1ZSxcbiAgICB9KTtcblxuXG4gIH1cbn1cbiJdfQ==
|
package/lib/CodeOwnersFile.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.CodeOwnersFile = void 0;
|
|
5
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
5
|
const projen_1 = require("projen");
|
|
7
6
|
class CodeOwnersFile extends projen_1.TextFile {
|
|
7
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.CodeOwnersFile", version: "1.14.0" };
|
|
8
8
|
constructor(project, options = {}) {
|
|
9
9
|
const defaultOwners = ['* @macedon-technologies/platform'];
|
|
10
10
|
const allOwners = [...defaultOwners, ...(options.additionalOwners || [])];
|
|
@@ -15,6 +15,4 @@ class CodeOwnersFile extends projen_1.TextFile {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.CodeOwnersFile = CodeOwnersFile;
|
|
18
|
-
|
|
19
|
-
CodeOwnersFile[_a] = { fqn: "@macedon-technologies/batman.CodeOwnersFile", version: "1.13.0" };
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29kZU93bmVyc0ZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ29kZU93bmVyc0ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBa0M7QUFPbEMsTUFBYSxjQUFlLFNBQVEsaUJBQVE7SUFDMUMsWUFBWSxPQUE0QixFQUFFLFVBQWlDLEVBQUU7UUFDM0UsTUFBTSxhQUFhLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzNELE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBRyxhQUFhLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUU7WUFDbkMsS0FBSyxFQUFFLFNBQVM7WUFDaEIsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDOztBQVRILHdDQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGV4dEZpbGUgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2RlT3duZXJzRmlsZU9wdGlvbnMge1xuICByZWFkb25seSBhZGRpdGlvbmFsT3duZXJzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBDb2RlT3duZXJzRmlsZSBleHRlbmRzIFRleHRGaWxlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcCwgb3B0aW9uczogQ29kZU93bmVyc0ZpbGVPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBkZWZhdWx0T3duZXJzID0gWycqIEBtYWNlZG9uLXRlY2hub2xvZ2llcy9wbGF0Zm9ybSddO1xuICAgIGNvbnN0IGFsbE93bmVycyA9IFsuLi5kZWZhdWx0T3duZXJzLCAuLi4ob3B0aW9ucy5hZGRpdGlvbmFsT3duZXJzIHx8IFtdKV07XG5cbiAgICBzdXBlcihwcm9qZWN0LCAnLmdpdGh1Yi9DT0RFT1dORVJTJywge1xuICAgICAgbGluZXM6IGFsbE93bmVycyxcbiAgICAgIG1hcmtlcjogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29kZU93bmVyc0ZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ29kZU93bmVyc0ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLG1DQUFrQztBQU9sQyxNQUFhLGNBQWUsU0FBUSxpQkFBUTs7SUFDMUMsWUFBWSxPQUE0QixFQUFFLFVBQWlDLEVBQUU7UUFDM0UsTUFBTSxhQUFhLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzNELE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBRyxhQUFhLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUU7WUFDbkMsS0FBSyxFQUFFLFNBQVM7WUFDaEIsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDOztBQVRILHdDQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGV4dEZpbGUgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2RlT3duZXJzRmlsZU9wdGlvbnMge1xuICByZWFkb25seSBhZGRpdGlvbmFsT3duZXJzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBDb2RlT3duZXJzRmlsZSBleHRlbmRzIFRleHRGaWxlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcCwgb3B0aW9uczogQ29kZU93bmVyc0ZpbGVPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBkZWZhdWx0T3duZXJzID0gWycqIEBtYWNlZG9uLXRlY2hub2xvZ2llcy9wbGF0Zm9ybSddO1xuICAgIGNvbnN0IGFsbE93bmVycyA9IFsuLi5kZWZhdWx0T3duZXJzLCAuLi4ob3B0aW9ucy5hZGRpdGlvbmFsT3duZXJzIHx8IFtdKV07XG5cbiAgICBzdXBlcihwcm9qZWN0LCAnLmdpdGh1Yi9DT0RFT1dORVJTJywge1xuICAgICAgbGluZXM6IGFsbE93bmVycyxcbiAgICAgIG1hcmtlcjogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
package/lib/LocalDevAppFile.js
CHANGED
|
@@ -30,7 +30,8 @@ new ApplicationStack(app, \`${options.projectName}-dev-\${context}\`, {
|
|
|
30
30
|
app.synth();
|
|
31
31
|
`,
|
|
32
32
|
});
|
|
33
|
+
project.deps.addDependency('dotenv', projen_1.DependencyType.DEVENV);
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
exports.LocalDevAppFile = LocalDevAppFile;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxEZXZBcHBGaWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0xvY2FsRGV2QXBwRmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBb0Q7QUFHcEQsbUNBQXNDO0FBT3RDLE1BQWEsZUFBZ0IsU0FBUSxtQkFBVTtJQUM3QyxZQUFZLE9BQTRCLEVBQUUsT0FBK0I7UUFDdkUsS0FBSyxDQUFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRTtZQUNuQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs4QkFTYyxPQUFPLENBQUMsV0FBVzs7Z0JBRWpDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTztlQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU07OzJCQUVOLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9COzt1QkFFcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0I7OEJBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCO2tCQUMvQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVc7SUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxLQUFLLElBQUEsbUJBQVcsRUFBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFOzs7Q0FHaEs7U0FDSSxDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsdUJBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0Y7QUE3QkQsMENBNkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVwZW5kZW5jeVR5cGUsIFNhbXBsZUZpbGUgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcbmltcG9ydCB7IEVudmlyb25tZW50Q29uZmlnIH0gZnJvbSAnLi9NYWluRmlsZSc7XG5pbXBvcnQgeyBzZXJpYWxpemVUcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExvY2FsRGV2QXBwRmlsZU9wdGlvbnMge1xuICByZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBkZXY6IEVudmlyb25tZW50Q29uZmlnO1xufVxuXG5leHBvcnQgY2xhc3MgTG9jYWxEZXZBcHBGaWxlIGV4dGVuZHMgU2FtcGxlRmlsZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHAsIG9wdGlvbnM6IExvY2FsRGV2QXBwRmlsZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCAnc3JjL0xvY2FsRGV2QXBwLnRzJywge1xuICAgICAgY29udGVudHM6IGBpbXBvcnQgeyBBcHAgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblN0YWNrIH0gZnJvbSAnLi9zdGFja3MvQXBwbGljYXRpb25TdGFjayc7XG5cbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcblxubGV0IGNvbnRleHQgPSBhcHAubm9kZS50cnlHZXRDb250ZXh0KCdsb2NhbC1kZXYtcHJlZml4Jyk7XG5pZiAoIWNvbnRleHQpIHtcbiAgdGhyb3cgbmV3IEVycm9yKFwiQ29udGV4dCB2YXJpYWJsZSAnbG9jYWwtZGV2LXByZWZpeCcgaXMgcmVxdWlyZWQgZm9yIGxvY2FsIGRldmVsb3BtZW50IHN0YWNrLiBQcm92aWRlIGl0IGxpa2U6IFxcYHlhcm4gY2RrOmRldiAtLWNvbnRleHQgbG9jYWwtZGV2LXByZWZpeD15b3VyLWhhbmRsZSBkaWZmXFxgXCIpO1xufVxubmV3IEFwcGxpY2F0aW9uU3RhY2soYXBwLCBcXGAke29wdGlvbnMucHJvamVjdE5hbWV9LWRldi1cXCR7Y29udGV4dH1cXGAsIHtcbiAgZW52OiB7XG4gICAgYWNjb3VudDogJyR7b3B0aW9ucy5kZXYuYWNjb3VudH0nLFxuICAgIHJlZ2lvbjogJyR7b3B0aW9ucy5kZXYucmVnaW9ufScsXG4gIH0sXG4gIGhvc3RlZFpvbmVEb21haW5OYW1lOiAnJHtvcHRpb25zLmRldi5ob3N0ZWRab25lRG9tYWluTmFtZX0nLFxuICBob3N0bmFtZTogY29udGV4dCwgLy8gdGhlcmUgc2hvdWxkIGJlIGEgd2F5IHRvIGJsb2NrIGFub24tZGV2Li4uXG4gIGRhdGFkb2dTZWNyZXRBcm46ICcke29wdGlvbnMuZGV2LmRhdGFkb2dTZWNyZXRBcm59JyxcbiAgY2xlcmtKd3RWZXJpZmljYXRpb25LZXk6ICcke29wdGlvbnMuZGV2LmNsZXJrSnd0VmVyaWZpY2F0aW9uS2V5fScsXG4gIG44bkVuZHBvaW50OiAnJHtvcHRpb25zLmRldi5uOG5FbmRwb2ludH0nLFxuICAke29wdGlvbnMuZGV2LmFkZGl0aW9uYWxTdGFja1Byb3BzID8gT2JqZWN0LmVudHJpZXMob3B0aW9ucy5kZXYuYWRkaXRpb25hbFN0YWNrUHJvcHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9OiAke3NlcmlhbGl6ZVRzKHZhbHVlKX0sYCkuam9pbignXFxuICAnKSA6ICcnfVxufSk7XG5hcHAuc3ludGgoKTtcbmAsXG4gICAgfSk7XG4gICAgcHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3koJ2RvdGVudicsIERlcGVuZGVuY3lUeXBlLkRFVkVOVik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AwsCdkTypeScriptApp } from 'projen/lib/awscdk';
|
|
2
|
+
import { LocalDevAppFileOptions } from './LocalDevAppFile';
|
|
3
|
+
export interface LocalDevFilesOptions extends LocalDevAppFileOptions {
|
|
4
|
+
}
|
|
5
|
+
export declare class LocalDevFiles {
|
|
6
|
+
constructor(project: AwsCdkTypeScriptApp, options: LocalDevFilesOptions);
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalDevFiles = void 0;
|
|
4
|
+
const LocalDevAppFile_1 = require("./LocalDevAppFile");
|
|
5
|
+
const LocalDevServerFile_1 = require("./LocalDevServerFile");
|
|
6
|
+
class LocalDevFiles {
|
|
7
|
+
constructor(project, options) {
|
|
8
|
+
new LocalDevAppFile_1.LocalDevAppFile(project, options);
|
|
9
|
+
new LocalDevServerFile_1.LocalDevServerFile(project);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.LocalDevFiles = LocalDevFiles;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxEZXZGaWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Mb2NhbERldkZpbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHVEQUE0RTtBQUM1RSw2REFBMEQ7QUFJMUQsTUFBYSxhQUFhO0lBQ3hCLFlBQVksT0FBNEIsRUFBRSxPQUE2QjtRQUNyRSxJQUFJLGlDQUFlLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLElBQUksdUNBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBTEQsc0NBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuaW1wb3J0IHsgTG9jYWxEZXZBcHBGaWxlLCBMb2NhbERldkFwcEZpbGVPcHRpb25zIH0gZnJvbSAnLi9Mb2NhbERldkFwcEZpbGUnO1xuaW1wb3J0IHsgTG9jYWxEZXZTZXJ2ZXJGaWxlIH0gZnJvbSAnLi9Mb2NhbERldlNlcnZlckZpbGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExvY2FsRGV2RmlsZXNPcHRpb25zIGV4dGVuZHMgTG9jYWxEZXZBcHBGaWxlT3B0aW9ucyB7fVxuXG5leHBvcnQgY2xhc3MgTG9jYWxEZXZGaWxlcyB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHAsIG9wdGlvbnM6IExvY2FsRGV2RmlsZXNPcHRpb25zKSB7XG4gICAgbmV3IExvY2FsRGV2QXBwRmlsZShwcm9qZWN0LCBvcHRpb25zKTtcbiAgICBuZXcgTG9jYWxEZXZTZXJ2ZXJGaWxlKHByb2plY3QpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalDevServerFile = void 0;
|
|
4
|
+
const projen_1 = require("projen");
|
|
5
|
+
class LocalDevServerFile extends projen_1.SampleFile {
|
|
6
|
+
constructor(project) {
|
|
7
|
+
super(project, 'local/dev.ts', {
|
|
8
|
+
contents: `import 'dotenv/config';
|
|
9
|
+
import { corsMiddleware } from '../src/constructs/handler/cors';
|
|
10
|
+
import { initializeApp, preRouteMiddleware } from '../src/constructs/handler/app';
|
|
11
|
+
|
|
12
|
+
const PORT = process.env.PORT || 3000;
|
|
13
|
+
|
|
14
|
+
const addMockContext = (req: any, res: any, next: any) => {
|
|
15
|
+
// Replicate what the clerk-authorizer Lambda adds; include mock org data for local testing
|
|
16
|
+
req.apiGateway = {
|
|
17
|
+
event: {
|
|
18
|
+
requestContext: {
|
|
19
|
+
authorizer: {
|
|
20
|
+
userId: 'user_mock123456789',
|
|
21
|
+
orgId: 'org_mock_store',
|
|
22
|
+
orgRole: 'admin',
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
console.log('[Mock Auth] Added mock user context:', req.apiGateway.event.requestContext.authorizer);
|
|
29
|
+
next();
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
preRouteMiddleware.push(corsMiddleware);
|
|
33
|
+
preRouteMiddleware.push(addMockContext);
|
|
34
|
+
|
|
35
|
+
(async () => {
|
|
36
|
+
const app = initializeApp();
|
|
37
|
+
const server = app.listen(PORT, () => {
|
|
38
|
+
console.log(\`Server running on http://localhost:\${PORT}\`);
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
// Handle graceful shutdown
|
|
42
|
+
const shutdown = async () => {
|
|
43
|
+
console.log('\\nShutting down gracefully...');
|
|
44
|
+
server.close(() => {
|
|
45
|
+
console.log('Server closed');
|
|
46
|
+
|
|
47
|
+
process.exit(0);
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
process.on('SIGINT', shutdown);
|
|
52
|
+
process.on('SIGTERM', shutdown);
|
|
53
|
+
})();
|
|
54
|
+
`,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.LocalDevServerFile = LocalDevServerFile;
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxEZXZTZXJ2ZXJGaWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0xvY2FsRGV2U2VydmVyRmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBb0M7QUFHcEMsTUFBYSxrQkFBbUIsU0FBUSxtQkFBVTtJQUNoRCxZQUFZLE9BQTRCO1FBQ3RDLEtBQUssQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFO1lBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQThDZjtTQUNJLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXBERCxnREFvREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYW1wbGVGaWxlIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IEF3c0Nka1R5cGVTY3JpcHRBcHAgfSBmcm9tICdwcm9qZW4vbGliL2F3c2Nkayc7XG5cbmV4cG9ydCBjbGFzcyBMb2NhbERldlNlcnZlckZpbGUgZXh0ZW5kcyBTYW1wbGVGaWxlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcCkge1xuICAgIHN1cGVyKHByb2plY3QsICdsb2NhbC9kZXYudHMnLCB7XG4gICAgICBjb250ZW50czogYGltcG9ydCAnZG90ZW52L2NvbmZpZyc7XG5pbXBvcnQgeyBjb3JzTWlkZGxld2FyZSB9IGZyb20gJy4uL3NyYy9jb25zdHJ1Y3RzL2hhbmRsZXIvY29ycyc7XG5pbXBvcnQgeyBpbml0aWFsaXplQXBwLCBwcmVSb3V0ZU1pZGRsZXdhcmUgfSBmcm9tICcuLi9zcmMvY29uc3RydWN0cy9oYW5kbGVyL2FwcCc7XG5cbmNvbnN0IFBPUlQgPSBwcm9jZXNzLmVudi5QT1JUIHx8IDMwMDA7XG5cbmNvbnN0IGFkZE1vY2tDb250ZXh0ID0gKHJlcTogYW55LCByZXM6IGFueSwgbmV4dDogYW55KSA9PiB7XG4gICAgLy8gUmVwbGljYXRlIHdoYXQgdGhlIGNsZXJrLWF1dGhvcml6ZXIgTGFtYmRhIGFkZHM7IGluY2x1ZGUgbW9jayBvcmcgZGF0YSBmb3IgbG9jYWwgdGVzdGluZ1xuICAgIHJlcS5hcGlHYXRld2F5ID0ge1xuICAgICAgICBldmVudDoge1xuICAgICAgICAgICAgcmVxdWVzdENvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICBhdXRob3JpemVyOiB7XG4gICAgICAgICAgICAgICAgICAgIHVzZXJJZDogJ3VzZXJfbW9jazEyMzQ1Njc4OScsXG4gICAgICAgICAgICAgICAgICAgIG9yZ0lkOiAnb3JnX21vY2tfc3RvcmUnLFxuICAgICAgICAgICAgICAgICAgICBvcmdSb2xlOiAnYWRtaW4nLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH07XG5cbiAgICBjb25zb2xlLmxvZygnW01vY2sgQXV0aF0gQWRkZWQgbW9jayB1c2VyIGNvbnRleHQ6JywgcmVxLmFwaUdhdGV3YXkuZXZlbnQucmVxdWVzdENvbnRleHQuYXV0aG9yaXplcik7XG4gICAgbmV4dCgpO1xufTtcblxucHJlUm91dGVNaWRkbGV3YXJlLnB1c2goY29yc01pZGRsZXdhcmUpO1xucHJlUm91dGVNaWRkbGV3YXJlLnB1c2goYWRkTW9ja0NvbnRleHQpO1xuXG4oYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGFwcCA9IGluaXRpYWxpemVBcHAoKTtcbiAgICBjb25zdCBzZXJ2ZXIgPSBhcHAubGlzdGVuKFBPUlQsICgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coXFxgU2VydmVyIHJ1bm5pbmcgb24gaHR0cDovL2xvY2FsaG9zdDpcXCR7UE9SVH1cXGApO1xuICAgIH0pO1xuXG4gICAgLy8gSGFuZGxlIGdyYWNlZnVsIHNodXRkb3duXG4gICAgY29uc3Qgc2h1dGRvd24gPSBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdcXFxcblNodXR0aW5nIGRvd24gZ3JhY2VmdWxseS4uLicpO1xuICAgICAgICBzZXJ2ZXIuY2xvc2UoKCkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ1NlcnZlciBjbG9zZWQnKTtcbiAgICAgICAgICAgXG4gICAgICAgICAgICBwcm9jZXNzLmV4aXQoMCk7XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBwcm9jZXNzLm9uKCdTSUdJTlQnLCBzaHV0ZG93bik7XG4gICAgcHJvY2Vzcy5vbignU0lHVEVSTScsIHNodXRkb3duKTtcbn0pKCk7XG5gLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.ProductionDeployWorkflow = void 0;
|
|
5
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
5
|
const projen_1 = require("projen");
|
|
7
6
|
class ProductionDeployWorkflow extends projen_1.YamlFile {
|
|
7
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.ProductionDeployWorkflow", version: "1.14.0" };
|
|
8
8
|
constructor(project, options) {
|
|
9
9
|
super(project, '.github/workflows/production-deploy.yml', {
|
|
10
10
|
marker: true,
|
|
@@ -93,6 +93,4 @@ class ProductionDeployWorkflow extends projen_1.YamlFile {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
exports.ProductionDeployWorkflow = ProductionDeployWorkflow;
|
|
96
|
-
|
|
97
|
-
ProductionDeployWorkflow[_a] = { fqn: "@macedon-technologies/batman.ProductionDeployWorkflow", version: "1.13.0" };
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvZHVjdGlvbkRlcGxveVdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1Byb2R1Y3Rpb25EZXBsb3lXb3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFrQztBQVVsQyxNQUFhLHdCQUF5QixTQUFRLGlCQUFRO0lBQ3BELFlBQVksT0FBNEIsRUFBRSxPQUF3QztRQUNoRixLQUFLLENBQUMsT0FBTyxFQUFFLHlDQUF5QyxFQUFFO1lBQ3hELE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsRUFBRSxFQUFFO29CQUNGLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUM7cUJBQ1o7aUJBQ0Y7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLFVBQVUsRUFBRSxPQUFPO29CQUNuQixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLE1BQU0sRUFBRTt3QkFDTixTQUFTLEVBQUUsZUFBZTt3QkFDMUIsT0FBTyxFQUFFOzRCQUNQO2dDQUNFLElBQUksRUFBRSxVQUFVO2dDQUNoQixJQUFJLEVBQUUscUJBQXFCOzZCQUM1Qjs0QkFDRDtnQ0FDRSxJQUFJLEVBQUUsZUFBZTtnQ0FDckIsSUFBSSxFQUFFLHVCQUF1QjtnQ0FDN0IsSUFBSSxFQUFFO29DQUNKLGNBQWMsRUFBRSxJQUFJO2lDQUNyQjs2QkFDRjs0QkFDRDtnQ0FDRSxJQUFJLEVBQUUsMkJBQTJCO2dDQUNqQyxJQUFJLEVBQUUsMENBQTBDO2dDQUNoRCxJQUFJLEVBQUU7b0NBQ0osZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLE9BQU87b0NBQ2pDLFlBQVksRUFBRSxPQUFPLENBQUMsU0FBUztpQ0FDaEM7NkJBQ0Y7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLHNCQUFzQjtnQ0FDNUIsR0FBRyxFQUFFLGdDQUFnQzs2QkFDdEM7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLG9CQUFvQjtnQ0FDMUIsR0FBRyxFQUFFLCtCQUErQixPQUFPLENBQUMsbUJBQW1CLDRFQUE0RTs2QkFDNUk7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLHNCQUFzQjtnQ0FDNUIsRUFBRSxFQUFFLFFBQVE7Z0NBQ1osR0FBRyxFQUFFLHNCQUFzQixPQUFPLENBQUMsV0FBVyxnRUFBZ0U7NkJBQy9HOzRCQUNEO2dDQUNFLElBQUksRUFBRSxpQkFBaUI7Z0NBQ3ZCLEVBQUUsRUFBRSxTQUFTO2dDQUNiLEdBQUcsRUFBRTtvQ0FDSCxzRUFBc0U7b0NBQ3RFLG1EQUFtRDtvQ0FDbkQsa0NBQWtDO2lDQUNuQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7NkJBQ2I7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLGNBQWM7Z0NBQ3BCLEVBQUUsRUFBRSxVQUFVO2dDQUNkLEdBQUcsRUFBRTtvQ0FDSCw0QkFBNEI7b0NBQzVCLGNBQWM7b0NBQ2QscUNBQXFDO29DQUNyQyxrQkFBa0I7b0NBQ2xCLElBQUk7b0NBQ0osd0RBQXdEO29DQUN4RCxpSUFBaUk7b0NBQ2pJLGdDQUFnQztvQ0FDaEMsNkRBQTZEO29DQUM3RCxJQUFJO29DQUNKLHdEQUF3RDtvQ0FDeEQsZ0VBQWdFO29DQUNoRSw0Q0FBNEM7b0NBQzVDLDJJQUEySTtpQ0FDNUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOzZCQUNiO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQXRGSCw0REF1RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBZYW1sRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3Rpb25EZXBsb3lXb3JrZmxvd09wdGlvbnMge1xuICByZWFkb25seSByb2xlQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGF3c1JlZ2lvbjogc3RyaW5nO1xuICByZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBjbGVya1B1Ymxpc2hhYmxlS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0aW9uRGVwbG95V29ya2Zsb3cgZXh0ZW5kcyBZYW1sRmlsZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHAsIG9wdGlvbnM6IFByb2R1Y3Rpb25EZXBsb3lXb3JrZmxvd09wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCAnLmdpdGh1Yi93b3JrZmxvd3MvcHJvZHVjdGlvbi1kZXBsb3kueW1sJywge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgbmFtZTogJ1Byb2R1Y3Rpb24gRGVwbG95JyxcbiAgICAgICAgb246IHtcbiAgICAgICAgICBwdXNoOiB7XG4gICAgICAgICAgICB0YWdzOiBbJyonXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICAgICdpZC10b2tlbic6ICd3cml0ZScsXG4gICAgICAgICAgJ2NvbnRlbnRzJzogJ3JlYWQnLFxuICAgICAgICB9LFxuICAgICAgICBqb2JzOiB7XG4gICAgICAgICAgZGVwbG95OiB7XG4gICAgICAgICAgICAncnVucy1vbic6ICd1YnVudHUtbGF0ZXN0JyxcbiAgICAgICAgICAgICdzdGVwcyc6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdDaGVja291dCcsXG4gICAgICAgICAgICAgICAgdXNlczogJ2FjdGlvbnMvY2hlY2tvdXRAdjUnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ1NldHVwIE5vZGUuanMnLFxuICAgICAgICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL3NldHVwLW5vZGVAdjUnLFxuICAgICAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgICAgICdub2RlLXZlcnNpb24nOiAnMjQnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnQ29uZmlndXJlIEFXUyBjcmVkZW50aWFscycsXG4gICAgICAgICAgICAgICAgdXNlczogJ2F3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjQnLFxuICAgICAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgICAgICdyb2xlLXRvLWFzc3VtZSc6IG9wdGlvbnMucm9sZUFybixcbiAgICAgICAgICAgICAgICAgICdhd3MtcmVnaW9uJzogb3B0aW9ucy5hd3NSZWdpb24sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdJbnN0YWxsIGRlcGVuZGVuY2llcycsXG4gICAgICAgICAgICAgICAgcnVuOiAneWFybiBpbnN0YWxsIC0tZnJvemVuLWxvY2tmaWxlJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdVcGRhdGUgY29uZmlnLmpzb24nLFxuICAgICAgICAgICAgICAgIHJ1bjogYGpxICcuY2xlcmtQdWJsaXNoYWJsZUtleSA9IFwiJHtvcHRpb25zLmNsZXJrUHVibGlzaGFibGVLZXl9XCInIHdlYi9wdWJsaWMvY29uZmlnLmpzb24gPiB0bXAuanNvbiAmJiBtdiB0bXAuanNvbiB3ZWIvcHVibGljL2NvbmZpZy5qc29uYCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdEZXBsb3kgdG8gcHJvZHVjdGlvbicsXG4gICAgICAgICAgICAgICAgaWQ6ICdkZXBsb3knLFxuICAgICAgICAgICAgICAgIHJ1bjogYHlhcm4gY2RrIGRlcGxveSAtZSAke29wdGlvbnMucHJvamVjdE5hbWV9LXByb2QgLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyIC0tb3V0cHV0cy1maWxlIGNkay1vdXRwdXRzLmpzb25gLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ0V4dHJhY3Qgb3V0cHV0cycsXG4gICAgICAgICAgICAgICAgaWQ6ICdvdXRwdXRzJyxcbiAgICAgICAgICAgICAgICBydW46IFtcbiAgICAgICAgICAgICAgICAgICdXRUJTSVRFX1VSTD0kKGpxIC1yIFxcJy5bXSB8IC5XZWJzaXRlVXJsIC8vIGVtcHR5XFwnIGNkay1vdXRwdXRzLmpzb24pJyxcbiAgICAgICAgICAgICAgICAgICdlY2hvIFwid2Vic2l0ZV91cmw9JFdFQlNJVEVfVVJMXCIgPj4gJEdJVEhVQl9PVVRQVVQnLFxuICAgICAgICAgICAgICAgICAgJ2VjaG8gXCJXZWJzaXRlIFVSTDogJFdFQlNJVEVfVVJMXCInLFxuICAgICAgICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnTm90aWZ5IFNsYWNrJyxcbiAgICAgICAgICAgICAgICBpZjogJ2Fsd2F5cygpJyxcbiAgICAgICAgICAgICAgICBydW46IFtcbiAgICAgICAgICAgICAgICAgICdTVEFUVVM9XCIke3sgam9iLnN0YXR1cyB9fVwiJyxcbiAgICAgICAgICAgICAgICAgICdDT0xPUj1cImdvb2RcIicsXG4gICAgICAgICAgICAgICAgICAnaWYgWyBcIiRTVEFUVVNcIiAhPSBcInN1Y2Nlc3NcIiBdOyB0aGVuJyxcbiAgICAgICAgICAgICAgICAgICcgIENPTE9SPVwiZGFuZ2VyXCInLFxuICAgICAgICAgICAgICAgICAgJ2ZpJyxcbiAgICAgICAgICAgICAgICAgICdXRUJTSVRFX1VSTD1cIiR7eyBzdGVwcy5vdXRwdXRzLm91dHB1dHMud2Vic2l0ZV91cmwgfX1cIicsXG4gICAgICAgICAgICAgICAgICAnTUVTU0FHRT1cIlByb2R1Y3Rpb24gRGVwbG95OiAkU1RBVFVTXFxcXG5SZXBvOiAke3sgZ2l0aHViLnJlcG9zaXRvcnkgfX1cXFxcblRhZzogJHt7IGdpdGh1Yi5yZWZfbmFtZSB9fVxcXFxuQ29tbWl0OiAke3sgZ2l0aHViLnNoYSB9fVwiJyxcbiAgICAgICAgICAgICAgICAgICdpZiBbIC1uIFwiJFdFQlNJVEVfVVJMXCIgXTsgdGhlbicsXG4gICAgICAgICAgICAgICAgICAnICBNRVNTQUdFPVwiJE1FU1NBR0VcXFxcbvCfjJAgV2Vic2l0ZTogPCRXRUJTSVRFX1VSTHxWaWV3IFNpdGU+XCInLFxuICAgICAgICAgICAgICAgICAgJ2ZpJyxcbiAgICAgICAgICAgICAgICAgICdjdXJsIC1YIFBPU1QgaHR0cHM6Ly9zbGFjay5jb20vYXBpL2NoYXQucG9zdE1lc3NhZ2UgXFxcXCcsXG4gICAgICAgICAgICAgICAgICAnICAtSCBcIkF1dGhvcml6YXRpb246IEJlYXJlciAke3sgc2VjcmV0cy5TTEFDS19CT1RfVE9LRU4gfX1cIiBcXFxcJyxcbiAgICAgICAgICAgICAgICAgICcgIC1IIFxcJ0NvbnRlbnQtdHlwZTogYXBwbGljYXRpb24vanNvblxcJyBcXFxcJyxcbiAgICAgICAgICAgICAgICAgICcgIC0tZGF0YSBcIntcXFxcXCJjaGFubmVsXFxcXFwiOlxcXFxcIiR7eyBzZWNyZXRzLlNMQUNLX0NIQU5ORUxfSUQgfX1cXFxcXCIsXFxcXFwiYXR0YWNobWVudHNcXFxcXCI6W3tcXFxcXCJjb2xvclxcXFxcIjpcXFxcXCIkQ09MT1JcXFxcXCIsXFxcXFwidGV4dFxcXFxcIjpcXFxcXCIkTUVTU0FHRVxcXFxcIn1dfVwiJyxcbiAgICAgICAgICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvZHVjdGlvbkRlcGxveVdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1Byb2R1Y3Rpb25EZXBsb3lXb3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsbUNBQWtDO0FBVWxDLE1BQWEsd0JBQXlCLFNBQVEsaUJBQVE7O0lBQ3BELFlBQVksT0FBNEIsRUFBRSxPQUF3QztRQUNoRixLQUFLLENBQUMsT0FBTyxFQUFFLHlDQUF5QyxFQUFFO1lBQ3hELE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsRUFBRSxFQUFFO29CQUNGLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUM7cUJBQ1o7aUJBQ0Y7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLFVBQVUsRUFBRSxPQUFPO29CQUNuQixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLE1BQU0sRUFBRTt3QkFDTixTQUFTLEVBQUUsZUFBZTt3QkFDMUIsT0FBTyxFQUFFOzRCQUNQO2dDQUNFLElBQUksRUFBRSxVQUFVO2dDQUNoQixJQUFJLEVBQUUscUJBQXFCOzZCQUM1Qjs0QkFDRDtnQ0FDRSxJQUFJLEVBQUUsZUFBZTtnQ0FDckIsSUFBSSxFQUFFLHVCQUF1QjtnQ0FDN0IsSUFBSSxFQUFFO29DQUNKLGNBQWMsRUFBRSxJQUFJO2lDQUNyQjs2QkFDRjs0QkFDRDtnQ0FDRSxJQUFJLEVBQUUsMkJBQTJCO2dDQUNqQyxJQUFJLEVBQUUsMENBQTBDO2dDQUNoRCxJQUFJLEVBQUU7b0NBQ0osZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLE9BQU87b0NBQ2pDLFlBQVksRUFBRSxPQUFPLENBQUMsU0FBUztpQ0FDaEM7NkJBQ0Y7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLHNCQUFzQjtnQ0FDNUIsR0FBRyxFQUFFLGdDQUFnQzs2QkFDdEM7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLG9CQUFvQjtnQ0FDMUIsR0FBRyxFQUFFLCtCQUErQixPQUFPLENBQUMsbUJBQW1CLDRFQUE0RTs2QkFDNUk7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLHNCQUFzQjtnQ0FDNUIsRUFBRSxFQUFFLFFBQVE7Z0NBQ1osR0FBRyxFQUFFLHNCQUFzQixPQUFPLENBQUMsV0FBVyxnRUFBZ0U7NkJBQy9HOzRCQUNEO2dDQUNFLElBQUksRUFBRSxpQkFBaUI7Z0NBQ3ZCLEVBQUUsRUFBRSxTQUFTO2dDQUNiLEdBQUcsRUFBRTtvQ0FDSCxzRUFBc0U7b0NBQ3RFLG1EQUFtRDtvQ0FDbkQsa0NBQWtDO2lDQUNuQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7NkJBQ2I7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLGNBQWM7Z0NBQ3BCLEVBQUUsRUFBRSxVQUFVO2dDQUNkLEdBQUcsRUFBRTtvQ0FDSCw0QkFBNEI7b0NBQzVCLGNBQWM7b0NBQ2QscUNBQXFDO29DQUNyQyxrQkFBa0I7b0NBQ2xCLElBQUk7b0NBQ0osd0RBQXdEO29DQUN4RCxpSUFBaUk7b0NBQ2pJLGdDQUFnQztvQ0FDaEMsNkRBQTZEO29DQUM3RCxJQUFJO29DQUNKLHdEQUF3RDtvQ0FDeEQsZ0VBQWdFO29DQUNoRSw0Q0FBNEM7b0NBQzVDLDJJQUEySTtpQ0FDNUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOzZCQUNiO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQXRGSCw0REF1RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBZYW1sRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3Rpb25EZXBsb3lXb3JrZmxvd09wdGlvbnMge1xuICByZWFkb25seSByb2xlQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGF3c1JlZ2lvbjogc3RyaW5nO1xuICByZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBjbGVya1B1Ymxpc2hhYmxlS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0aW9uRGVwbG95V29ya2Zsb3cgZXh0ZW5kcyBZYW1sRmlsZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHAsIG9wdGlvbnM6IFByb2R1Y3Rpb25EZXBsb3lXb3JrZmxvd09wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCAnLmdpdGh1Yi93b3JrZmxvd3MvcHJvZHVjdGlvbi1kZXBsb3kueW1sJywge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgbmFtZTogJ1Byb2R1Y3Rpb24gRGVwbG95JyxcbiAgICAgICAgb246IHtcbiAgICAgICAgICBwdXNoOiB7XG4gICAgICAgICAgICB0YWdzOiBbJyonXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICAgICdpZC10b2tlbic6ICd3cml0ZScsXG4gICAgICAgICAgJ2NvbnRlbnRzJzogJ3JlYWQnLFxuICAgICAgICB9LFxuICAgICAgICBqb2JzOiB7XG4gICAgICAgICAgZGVwbG95OiB7XG4gICAgICAgICAgICAncnVucy1vbic6ICd1YnVudHUtbGF0ZXN0JyxcbiAgICAgICAgICAgICdzdGVwcyc6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdDaGVja291dCcsXG4gICAgICAgICAgICAgICAgdXNlczogJ2FjdGlvbnMvY2hlY2tvdXRAdjUnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ1NldHVwIE5vZGUuanMnLFxuICAgICAgICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL3NldHVwLW5vZGVAdjUnLFxuICAgICAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgICAgICdub2RlLXZlcnNpb24nOiAnMjQnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnQ29uZmlndXJlIEFXUyBjcmVkZW50aWFscycsXG4gICAgICAgICAgICAgICAgdXNlczogJ2F3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjQnLFxuICAgICAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgICAgICdyb2xlLXRvLWFzc3VtZSc6IG9wdGlvbnMucm9sZUFybixcbiAgICAgICAgICAgICAgICAgICdhd3MtcmVnaW9uJzogb3B0aW9ucy5hd3NSZWdpb24sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdJbnN0YWxsIGRlcGVuZGVuY2llcycsXG4gICAgICAgICAgICAgICAgcnVuOiAneWFybiBpbnN0YWxsIC0tZnJvemVuLWxvY2tmaWxlJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdVcGRhdGUgY29uZmlnLmpzb24nLFxuICAgICAgICAgICAgICAgIHJ1bjogYGpxICcuY2xlcmtQdWJsaXNoYWJsZUtleSA9IFwiJHtvcHRpb25zLmNsZXJrUHVibGlzaGFibGVLZXl9XCInIHdlYi9wdWJsaWMvY29uZmlnLmpzb24gPiB0bXAuanNvbiAmJiBtdiB0bXAuanNvbiB3ZWIvcHVibGljL2NvbmZpZy5qc29uYCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdEZXBsb3kgdG8gcHJvZHVjdGlvbicsXG4gICAgICAgICAgICAgICAgaWQ6ICdkZXBsb3knLFxuICAgICAgICAgICAgICAgIHJ1bjogYHlhcm4gY2RrIGRlcGxveSAtZSAke29wdGlvbnMucHJvamVjdE5hbWV9LXByb2QgLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyIC0tb3V0cHV0cy1maWxlIGNkay1vdXRwdXRzLmpzb25gLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ0V4dHJhY3Qgb3V0cHV0cycsXG4gICAgICAgICAgICAgICAgaWQ6ICdvdXRwdXRzJyxcbiAgICAgICAgICAgICAgICBydW46IFtcbiAgICAgICAgICAgICAgICAgICdXRUJTSVRFX1VSTD0kKGpxIC1yIFxcJy5bXSB8IC5XZWJzaXRlVXJsIC8vIGVtcHR5XFwnIGNkay1vdXRwdXRzLmpzb24pJyxcbiAgICAgICAgICAgICAgICAgICdlY2hvIFwid2Vic2l0ZV91cmw9JFdFQlNJVEVfVVJMXCIgPj4gJEdJVEhVQl9PVVRQVVQnLFxuICAgICAgICAgICAgICAgICAgJ2VjaG8gXCJXZWJzaXRlIFVSTDogJFdFQlNJVEVfVVJMXCInLFxuICAgICAgICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnTm90aWZ5IFNsYWNrJyxcbiAgICAgICAgICAgICAgICBpZjogJ2Fsd2F5cygpJyxcbiAgICAgICAgICAgICAgICBydW46IFtcbiAgICAgICAgICAgICAgICAgICdTVEFUVVM9XCIke3sgam9iLnN0YXR1cyB9fVwiJyxcbiAgICAgICAgICAgICAgICAgICdDT0xPUj1cImdvb2RcIicsXG4gICAgICAgICAgICAgICAgICAnaWYgWyBcIiRTVEFUVVNcIiAhPSBcInN1Y2Nlc3NcIiBdOyB0aGVuJyxcbiAgICAgICAgICAgICAgICAgICcgIENPTE9SPVwiZGFuZ2VyXCInLFxuICAgICAgICAgICAgICAgICAgJ2ZpJyxcbiAgICAgICAgICAgICAgICAgICdXRUJTSVRFX1VSTD1cIiR7eyBzdGVwcy5vdXRwdXRzLm91dHB1dHMud2Vic2l0ZV91cmwgfX1cIicsXG4gICAgICAgICAgICAgICAgICAnTUVTU0FHRT1cIlByb2R1Y3Rpb24gRGVwbG95OiAkU1RBVFVTXFxcXG5SZXBvOiAke3sgZ2l0aHViLnJlcG9zaXRvcnkgfX1cXFxcblRhZzogJHt7IGdpdGh1Yi5yZWZfbmFtZSB9fVxcXFxuQ29tbWl0OiAke3sgZ2l0aHViLnNoYSB9fVwiJyxcbiAgICAgICAgICAgICAgICAgICdpZiBbIC1uIFwiJFdFQlNJVEVfVVJMXCIgXTsgdGhlbicsXG4gICAgICAgICAgICAgICAgICAnICBNRVNTQUdFPVwiJE1FU1NBR0VcXFxcbvCfjJAgV2Vic2l0ZTogPCRXRUJTSVRFX1VSTHxWaWV3IFNpdGU+XCInLFxuICAgICAgICAgICAgICAgICAgJ2ZpJyxcbiAgICAgICAgICAgICAgICAgICdjdXJsIC1YIFBPU1QgaHR0cHM6Ly9zbGFjay5jb20vYXBpL2NoYXQucG9zdE1lc3NhZ2UgXFxcXCcsXG4gICAgICAgICAgICAgICAgICAnICAtSCBcIkF1dGhvcml6YXRpb246IEJlYXJlciAke3sgc2VjcmV0cy5TTEFDS19CT1RfVE9LRU4gfX1cIiBcXFxcJyxcbiAgICAgICAgICAgICAgICAgICcgIC1IIFxcJ0NvbnRlbnQtdHlwZTogYXBwbGljYXRpb24vanNvblxcJyBcXFxcJyxcbiAgICAgICAgICAgICAgICAgICcgIC0tZGF0YSBcIntcXFxcXCJjaGFubmVsXFxcXFwiOlxcXFxcIiR7eyBzZWNyZXRzLlNMQUNLX0NIQU5ORUxfSUQgfX1cXFxcXCIsXFxcXFwiYXR0YWNobWVudHNcXFxcXCI6W3tcXFxcXCJjb2xvclxcXFxcIjpcXFxcXCIkQ09MT1JcXFxcXCIsXFxcXFwidGV4dFxcXFxcIjpcXFxcXCIkTUVTU0FHRVxcXFxcIn1dfVwiJyxcbiAgICAgICAgICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.StagingDeployWorkflow = void 0;
|
|
5
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
5
|
const projen_1 = require("projen");
|
|
7
6
|
class StagingDeployWorkflow extends projen_1.YamlFile {
|
|
7
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.StagingDeployWorkflow", version: "1.14.0" };
|
|
8
8
|
constructor(project, options) {
|
|
9
9
|
super(project, '.github/workflows/staging-deploy.yml', {
|
|
10
10
|
marker: true,
|
|
@@ -96,6 +96,4 @@ class StagingDeployWorkflow extends projen_1.YamlFile {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
exports.StagingDeployWorkflow = StagingDeployWorkflow;
|
|
99
|
-
|
|
100
|
-
StagingDeployWorkflow[_a] = { fqn: "@macedon-technologies/batman.StagingDeployWorkflow", version: "1.13.0" };
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhZ2luZ0RlcGxveVdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1N0YWdpbmdEZXBsb3lXb3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFrQztBQVVsQyxNQUFhLHFCQUFzQixTQUFRLGlCQUFRO0lBQ2pELFlBQVksT0FBNEIsRUFBRSxPQUFxQztRQUM3RSxLQUFLLENBQUMsT0FBTyxFQUFFLHNDQUFzQyxFQUFFO1lBQ3JELE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsRUFBRSxFQUFFO29CQUNGLElBQUksRUFBRTt3QkFDSixRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUM7cUJBQ25CO2lCQUNGO2dCQUNELFdBQVcsRUFBRTtvQkFDWCxVQUFVLEVBQUUsT0FBTztvQkFDbkIsVUFBVSxFQUFFLE1BQU07aUJBQ25CO2dCQUNELElBQUksRUFBRTtvQkFDSixNQUFNLEVBQUU7d0JBQ04sU0FBUyxFQUFFLGVBQWU7d0JBQzFCLE9BQU8sRUFBRTs0QkFDUDtnQ0FDRSxJQUFJLEVBQUUsVUFBVTtnQ0FDaEIsSUFBSSxFQUFFLHFCQUFxQjs2QkFDNUI7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLGVBQWU7Z0NBQ3JCLElBQUksRUFBRSx1QkFBdUI7Z0NBQzdCLElBQUksRUFBRTtvQ0FDSixjQUFjLEVBQUUsSUFBSTtpQ0FDckI7NkJBQ0Y7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLDJCQUEyQjtnQ0FDakMsSUFBSSxFQUFFLDBDQUEwQztnQ0FDaEQsSUFBSSxFQUFFO29DQUNKLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxPQUFPO29DQUNqQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFNBQVM7aUNBQ2hDOzZCQUNGOzRCQUNEO2dDQUNFLElBQUksRUFBRSxzQkFBc0I7Z0NBQzVCLEdBQUcsRUFBRSxnQ0FBZ0M7NkJBQ3RDOzRCQUNEO2dDQUNFLElBQUksRUFBRSxvQkFBb0I7Z0NBQzFCLEdBQUcsRUFBRSwrQkFBK0IsT0FBTyxDQUFDLG1CQUFtQiw0RUFBNEU7NkJBQzVJOzRCQUNEO2dDQUNFLElBQUksRUFBRSxtQkFBbUI7Z0NBQ3pCLEVBQUUsRUFBRSxRQUFRO2dDQUNaLEdBQUcsRUFBRTtvQ0FDSCxXQUFXLEVBQUUsU0FBUztpQ0FDdkI7Z0NBQ0QsR0FBRyxFQUFFLHNCQUFzQixPQUFPLENBQUMsV0FBVyxtRUFBbUU7NkJBQ2xIOzRCQUNEO2dDQUNFLElBQUksRUFBRSxpQkFBaUI7Z0NBQ3ZCLEVBQUUsRUFBRSxTQUFTO2dDQUNiLEdBQUcsRUFBRTtvQ0FDSCxzRUFBc0U7b0NBQ3RFLG1EQUFtRDtvQ0FDbkQsa0NBQWtDO2lDQUNuQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7NkJBQ2I7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLGNBQWM7Z0NBQ3BCLEVBQUUsRUFBRSxVQUFVO2dDQUNkLEdBQUcsRUFBRTtvQ0FDSCw0QkFBNEI7b0NBQzVCLGNBQWM7b0NBQ2QscUNBQXFDO29DQUNyQyxrQkFBa0I7b0NBQ2xCLElBQUk7b0NBQ0osd0RBQXdEO29DQUN4RCxpSUFBaUk7b0NBQ2pJLGdDQUFnQztvQ0FDaEMsNkRBQTZEO29DQUM3RCxJQUFJO29DQUNKLHdEQUF3RDtvQ0FDeEQsZ0VBQWdFO29DQUNoRSw0Q0FBNEM7b0NBQzVDLDJJQUEySTtpQ0FDNUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOzZCQUNiO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQXpGSCxzREEwRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBZYW1sRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWdpbmdEZXBsb3lXb3JrZmxvd09wdGlvbnMge1xuICByZWFkb25seSByb2xlQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGF3c1JlZ2lvbjogc3RyaW5nO1xuICByZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBjbGVya1B1Ymxpc2hhYmxlS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBTdGFnaW5nRGVwbG95V29ya2Zsb3cgZXh0ZW5kcyBZYW1sRmlsZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHAsIG9wdGlvbnM6IFN0YWdpbmdEZXBsb3lXb3JrZmxvd09wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCAnLmdpdGh1Yi93b3JrZmxvd3Mvc3RhZ2luZy1kZXBsb3kueW1sJywge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgbmFtZTogJ1N0YWdpbmcgRGVwbG95JyxcbiAgICAgICAgb246IHtcbiAgICAgICAgICBwdXNoOiB7XG4gICAgICAgICAgICBicmFuY2hlczogWydtYWluJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgICAnaWQtdG9rZW4nOiAnd3JpdGUnLFxuICAgICAgICAgICdjb250ZW50cyc6ICdyZWFkJyxcbiAgICAgICAgfSxcbiAgICAgICAgam9iczoge1xuICAgICAgICAgIGRlcGxveToge1xuICAgICAgICAgICAgJ3J1bnMtb24nOiAndWJ1bnR1LWxhdGVzdCcsXG4gICAgICAgICAgICAnc3RlcHMnOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnQ2hlY2tvdXQnLFxuICAgICAgICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL2NoZWNrb3V0QHY1JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdTZXR1cCBOb2RlLmpzJyxcbiAgICAgICAgICAgICAgICB1c2VzOiAnYWN0aW9ucy9zZXR1cC1ub2RlQHY1JyxcbiAgICAgICAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAgICAgICAnbm9kZS12ZXJzaW9uJzogJzI0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ0NvbmZpZ3VyZSBBV1MgY3JlZGVudGlhbHMnLFxuICAgICAgICAgICAgICAgIHVzZXM6ICdhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY0JyxcbiAgICAgICAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAgICAgICAncm9sZS10by1hc3N1bWUnOiBvcHRpb25zLnJvbGVBcm4sXG4gICAgICAgICAgICAgICAgICAnYXdzLXJlZ2lvbic6IG9wdGlvbnMuYXdzUmVnaW9uLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnSW5zdGFsbCBkZXBlbmRlbmNpZXMnLFxuICAgICAgICAgICAgICAgIHJ1bjogJ3lhcm4gaW5zdGFsbCAtLWZyb3plbi1sb2NrZmlsZScsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnVXBkYXRlIGNvbmZpZy5qc29uJyxcbiAgICAgICAgICAgICAgICBydW46IGBqcSAnLmNsZXJrUHVibGlzaGFibGVLZXkgPSBcIiR7b3B0aW9ucy5jbGVya1B1Ymxpc2hhYmxlS2V5fVwiJyB3ZWIvcHVibGljL2NvbmZpZy5qc29uID4gdG1wLmpzb24gJiYgbXYgdG1wLmpzb24gd2ViL3B1YmxpYy9jb25maWcuanNvbmAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnRGVwbG95IHRvIHN0YWdpbmcnLFxuICAgICAgICAgICAgICAgIGlkOiAnZGVwbG95JyxcbiAgICAgICAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgICAgICAgIERCX09WRVJSSURFOiAnc3RhZ2luZycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBydW46IGB5YXJuIGNkayBkZXBsb3kgLWUgJHtvcHRpb25zLnByb2plY3ROYW1lfS1zdGFnaW5nIC0tcmVxdWlyZS1hcHByb3ZhbCBuZXZlciAtLW91dHB1dHMtZmlsZSBjZGstb3V0cHV0cy5qc29uYCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdFeHRyYWN0IG91dHB1dHMnLFxuICAgICAgICAgICAgICAgIGlkOiAnb3V0cHV0cycsXG4gICAgICAgICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICAgICAgICAnV0VCU0lURV9VUkw9JChqcSAtciBcXCcuW10gfCAuV2Vic2l0ZVVybCAvLyBlbXB0eVxcJyBjZGstb3V0cHV0cy5qc29uKScsXG4gICAgICAgICAgICAgICAgICAnZWNobyBcIndlYnNpdGVfdXJsPSRXRUJTSVRFX1VSTFwiID4+ICRHSVRIVUJfT1VUUFVUJyxcbiAgICAgICAgICAgICAgICAgICdlY2hvIFwiV2Vic2l0ZSBVUkw6ICRXRUJTSVRFX1VSTFwiJyxcbiAgICAgICAgICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ05vdGlmeSBTbGFjaycsXG4gICAgICAgICAgICAgICAgaWY6ICdhbHdheXMoKScsXG4gICAgICAgICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICAgICAgICAnU1RBVFVTPVwiJHt7IGpvYi5zdGF0dXMgfX1cIicsXG4gICAgICAgICAgICAgICAgICAnQ09MT1I9XCJnb29kXCInLFxuICAgICAgICAgICAgICAgICAgJ2lmIFsgXCIkU1RBVFVTXCIgIT0gXCJzdWNjZXNzXCIgXTsgdGhlbicsXG4gICAgICAgICAgICAgICAgICAnICBDT0xPUj1cImRhbmdlclwiJyxcbiAgICAgICAgICAgICAgICAgICdmaScsXG4gICAgICAgICAgICAgICAgICAnV0VCU0lURV9VUkw9XCIke3sgc3RlcHMub3V0cHV0cy5vdXRwdXRzLndlYnNpdGVfdXJsIH19XCInLFxuICAgICAgICAgICAgICAgICAgJ01FU1NBR0U9XCJTdGFnaW5nIERlcGxveTogJFNUQVRVU1xcXFxuUmVwbzogJHt7IGdpdGh1Yi5yZXBvc2l0b3J5IH19XFxcXG5CcmFuY2g6ICR7eyBnaXRodWIucmVmX25hbWUgfX1cXFxcbkNvbW1pdDogJHt7IGdpdGh1Yi5zaGEgfX1cIicsXG4gICAgICAgICAgICAgICAgICAnaWYgWyAtbiBcIiRXRUJTSVRFX1VSTFwiIF07IHRoZW4nLFxuICAgICAgICAgICAgICAgICAgJyAgTUVTU0FHRT1cIiRNRVNTQUdFXFxcXG7wn4yQIFdlYnNpdGU6IDwkV0VCU0lURV9VUkx8VmlldyBTaXRlPlwiJyxcbiAgICAgICAgICAgICAgICAgICdmaScsXG4gICAgICAgICAgICAgICAgICAnY3VybCAtWCBQT1NUIGh0dHBzOi8vc2xhY2suY29tL2FwaS9jaGF0LnBvc3RNZXNzYWdlIFxcXFwnLFxuICAgICAgICAgICAgICAgICAgJyAgLUggXCJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHt7IHNlY3JldHMuU0xBQ0tfQk9UX1RPS0VOIH19XCIgXFxcXCcsXG4gICAgICAgICAgICAgICAgICAnICAtSCBcXCdDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2pzb25cXCcgXFxcXCcsXG4gICAgICAgICAgICAgICAgICAnICAtLWRhdGEgXCJ7XFxcXFwiY2hhbm5lbFxcXFxcIjpcXFxcXCIke3sgc2VjcmV0cy5TTEFDS19DSEFOTkVMX0lEIH19XFxcXFwiLFxcXFxcImF0dGFjaG1lbnRzXFxcXFwiOlt7XFxcXFwiY29sb3JcXFxcXCI6XFxcXFwiJENPTE9SXFxcXFwiLFxcXFxcInRleHRcXFxcXCI6XFxcXFwiJE1FU1NBR0VcXFxcXCJ9XX1cIicsXG4gICAgICAgICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhZ2luZ0RlcGxveVdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1N0YWdpbmdEZXBsb3lXb3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsbUNBQWtDO0FBVWxDLE1BQWEscUJBQXNCLFNBQVEsaUJBQVE7O0lBQ2pELFlBQVksT0FBNEIsRUFBRSxPQUFxQztRQUM3RSxLQUFLLENBQUMsT0FBTyxFQUFFLHNDQUFzQyxFQUFFO1lBQ3JELE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsRUFBRSxFQUFFO29CQUNGLElBQUksRUFBRTt3QkFDSixRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUM7cUJBQ25CO2lCQUNGO2dCQUNELFdBQVcsRUFBRTtvQkFDWCxVQUFVLEVBQUUsT0FBTztvQkFDbkIsVUFBVSxFQUFFLE1BQU07aUJBQ25CO2dCQUNELElBQUksRUFBRTtvQkFDSixNQUFNLEVBQUU7d0JBQ04sU0FBUyxFQUFFLGVBQWU7d0JBQzFCLE9BQU8sRUFBRTs0QkFDUDtnQ0FDRSxJQUFJLEVBQUUsVUFBVTtnQ0FDaEIsSUFBSSxFQUFFLHFCQUFxQjs2QkFDNUI7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLGVBQWU7Z0NBQ3JCLElBQUksRUFBRSx1QkFBdUI7Z0NBQzdCLElBQUksRUFBRTtvQ0FDSixjQUFjLEVBQUUsSUFBSTtpQ0FDckI7NkJBQ0Y7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLDJCQUEyQjtnQ0FDakMsSUFBSSxFQUFFLDBDQUEwQztnQ0FDaEQsSUFBSSxFQUFFO29DQUNKLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxPQUFPO29DQUNqQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFNBQVM7aUNBQ2hDOzZCQUNGOzRCQUNEO2dDQUNFLElBQUksRUFBRSxzQkFBc0I7Z0NBQzVCLEdBQUcsRUFBRSxnQ0FBZ0M7NkJBQ3RDOzRCQUNEO2dDQUNFLElBQUksRUFBRSxvQkFBb0I7Z0NBQzFCLEdBQUcsRUFBRSwrQkFBK0IsT0FBTyxDQUFDLG1CQUFtQiw0RUFBNEU7NkJBQzVJOzRCQUNEO2dDQUNFLElBQUksRUFBRSxtQkFBbUI7Z0NBQ3pCLEVBQUUsRUFBRSxRQUFRO2dDQUNaLEdBQUcsRUFBRTtvQ0FDSCxXQUFXLEVBQUUsU0FBUztpQ0FDdkI7Z0NBQ0QsR0FBRyxFQUFFLHNCQUFzQixPQUFPLENBQUMsV0FBVyxtRUFBbUU7NkJBQ2xIOzRCQUNEO2dDQUNFLElBQUksRUFBRSxpQkFBaUI7Z0NBQ3ZCLEVBQUUsRUFBRSxTQUFTO2dDQUNiLEdBQUcsRUFBRTtvQ0FDSCxzRUFBc0U7b0NBQ3RFLG1EQUFtRDtvQ0FDbkQsa0NBQWtDO2lDQUNuQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7NkJBQ2I7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLGNBQWM7Z0NBQ3BCLEVBQUUsRUFBRSxVQUFVO2dDQUNkLEdBQUcsRUFBRTtvQ0FDSCw0QkFBNEI7b0NBQzVCLGNBQWM7b0NBQ2QscUNBQXFDO29DQUNyQyxrQkFBa0I7b0NBQ2xCLElBQUk7b0NBQ0osd0RBQXdEO29DQUN4RCxpSUFBaUk7b0NBQ2pJLGdDQUFnQztvQ0FDaEMsNkRBQTZEO29DQUM3RCxJQUFJO29DQUNKLHdEQUF3RDtvQ0FDeEQsZ0VBQWdFO29DQUNoRSw0Q0FBNEM7b0NBQzVDLDJJQUEySTtpQ0FDNUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOzZCQUNiO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQXpGSCxzREEwRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBZYW1sRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWdpbmdEZXBsb3lXb3JrZmxvd09wdGlvbnMge1xuICByZWFkb25seSByb2xlQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGF3c1JlZ2lvbjogc3RyaW5nO1xuICByZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBjbGVya1B1Ymxpc2hhYmxlS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBTdGFnaW5nRGVwbG95V29ya2Zsb3cgZXh0ZW5kcyBZYW1sRmlsZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHAsIG9wdGlvbnM6IFN0YWdpbmdEZXBsb3lXb3JrZmxvd09wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCAnLmdpdGh1Yi93b3JrZmxvd3Mvc3RhZ2luZy1kZXBsb3kueW1sJywge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgbmFtZTogJ1N0YWdpbmcgRGVwbG95JyxcbiAgICAgICAgb246IHtcbiAgICAgICAgICBwdXNoOiB7XG4gICAgICAgICAgICBicmFuY2hlczogWydtYWluJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgICAnaWQtdG9rZW4nOiAnd3JpdGUnLFxuICAgICAgICAgICdjb250ZW50cyc6ICdyZWFkJyxcbiAgICAgICAgfSxcbiAgICAgICAgam9iczoge1xuICAgICAgICAgIGRlcGxveToge1xuICAgICAgICAgICAgJ3J1bnMtb24nOiAndWJ1bnR1LWxhdGVzdCcsXG4gICAgICAgICAgICAnc3RlcHMnOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnQ2hlY2tvdXQnLFxuICAgICAgICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL2NoZWNrb3V0QHY1JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdTZXR1cCBOb2RlLmpzJyxcbiAgICAgICAgICAgICAgICB1c2VzOiAnYWN0aW9ucy9zZXR1cC1ub2RlQHY1JyxcbiAgICAgICAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAgICAgICAnbm9kZS12ZXJzaW9uJzogJzI0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ0NvbmZpZ3VyZSBBV1MgY3JlZGVudGlhbHMnLFxuICAgICAgICAgICAgICAgIHVzZXM6ICdhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY0JyxcbiAgICAgICAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAgICAgICAncm9sZS10by1hc3N1bWUnOiBvcHRpb25zLnJvbGVBcm4sXG4gICAgICAgICAgICAgICAgICAnYXdzLXJlZ2lvbic6IG9wdGlvbnMuYXdzUmVnaW9uLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnSW5zdGFsbCBkZXBlbmRlbmNpZXMnLFxuICAgICAgICAgICAgICAgIHJ1bjogJ3lhcm4gaW5zdGFsbCAtLWZyb3plbi1sb2NrZmlsZScsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnVXBkYXRlIGNvbmZpZy5qc29uJyxcbiAgICAgICAgICAgICAgICBydW46IGBqcSAnLmNsZXJrUHVibGlzaGFibGVLZXkgPSBcIiR7b3B0aW9ucy5jbGVya1B1Ymxpc2hhYmxlS2V5fVwiJyB3ZWIvcHVibGljL2NvbmZpZy5qc29uID4gdG1wLmpzb24gJiYgbXYgdG1wLmpzb24gd2ViL3B1YmxpYy9jb25maWcuanNvbmAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnRGVwbG95IHRvIHN0YWdpbmcnLFxuICAgICAgICAgICAgICAgIGlkOiAnZGVwbG95JyxcbiAgICAgICAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgICAgICAgIERCX09WRVJSSURFOiAnc3RhZ2luZycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBydW46IGB5YXJuIGNkayBkZXBsb3kgLWUgJHtvcHRpb25zLnByb2plY3ROYW1lfS1zdGFnaW5nIC0tcmVxdWlyZS1hcHByb3ZhbCBuZXZlciAtLW91dHB1dHMtZmlsZSBjZGstb3V0cHV0cy5qc29uYCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdFeHRyYWN0IG91dHB1dHMnLFxuICAgICAgICAgICAgICAgIGlkOiAnb3V0cHV0cycsXG4gICAgICAgICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICAgICAgICAnV0VCU0lURV9VUkw9JChqcSAtciBcXCcuW10gfCAuV2Vic2l0ZVVybCAvLyBlbXB0eVxcJyBjZGstb3V0cHV0cy5qc29uKScsXG4gICAgICAgICAgICAgICAgICAnZWNobyBcIndlYnNpdGVfdXJsPSRXRUJTSVRFX1VSTFwiID4+ICRHSVRIVUJfT1VUUFVUJyxcbiAgICAgICAgICAgICAgICAgICdlY2hvIFwiV2Vic2l0ZSBVUkw6ICRXRUJTSVRFX1VSTFwiJyxcbiAgICAgICAgICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ05vdGlmeSBTbGFjaycsXG4gICAgICAgICAgICAgICAgaWY6ICdhbHdheXMoKScsXG4gICAgICAgICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICAgICAgICAnU1RBVFVTPVwiJHt7IGpvYi5zdGF0dXMgfX1cIicsXG4gICAgICAgICAgICAgICAgICAnQ09MT1I9XCJnb29kXCInLFxuICAgICAgICAgICAgICAgICAgJ2lmIFsgXCIkU1RBVFVTXCIgIT0gXCJzdWNjZXNzXCIgXTsgdGhlbicsXG4gICAgICAgICAgICAgICAgICAnICBDT0xPUj1cImRhbmdlclwiJyxcbiAgICAgICAgICAgICAgICAgICdmaScsXG4gICAgICAgICAgICAgICAgICAnV0VCU0lURV9VUkw9XCIke3sgc3RlcHMub3V0cHV0cy5vdXRwdXRzLndlYnNpdGVfdXJsIH19XCInLFxuICAgICAgICAgICAgICAgICAgJ01FU1NBR0U9XCJTdGFnaW5nIERlcGxveTogJFNUQVRVU1xcXFxuUmVwbzogJHt7IGdpdGh1Yi5yZXBvc2l0b3J5IH19XFxcXG5CcmFuY2g6ICR7eyBnaXRodWIucmVmX25hbWUgfX1cXFxcbkNvbW1pdDogJHt7IGdpdGh1Yi5zaGEgfX1cIicsXG4gICAgICAgICAgICAgICAgICAnaWYgWyAtbiBcIiRXRUJTSVRFX1VSTFwiIF07IHRoZW4nLFxuICAgICAgICAgICAgICAgICAgJyAgTUVTU0FHRT1cIiRNRVNTQUdFXFxcXG7wn4yQIFdlYnNpdGU6IDwkV0VCU0lURV9VUkx8VmlldyBTaXRlPlwiJyxcbiAgICAgICAgICAgICAgICAgICdmaScsXG4gICAgICAgICAgICAgICAgICAnY3VybCAtWCBQT1NUIGh0dHBzOi8vc2xhY2suY29tL2FwaS9jaGF0LnBvc3RNZXNzYWdlIFxcXFwnLFxuICAgICAgICAgICAgICAgICAgJyAgLUggXCJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHt7IHNlY3JldHMuU0xBQ0tfQk9UX1RPS0VOIH19XCIgXFxcXCcsXG4gICAgICAgICAgICAgICAgICAnICAtSCBcXCdDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2pzb25cXCcgXFxcXCcsXG4gICAgICAgICAgICAgICAgICAnICAtLWRhdGEgXCJ7XFxcXFwiY2hhbm5lbFxcXFxcIjpcXFxcXCIke3sgc2VjcmV0cy5TTEFDS19DSEFOTkVMX0lEIH19XFxcXFwiLFxcXFxcImF0dGFjaG1lbnRzXFxcXFwiOlt7XFxcXFwiY29sb3JcXFxcXCI6XFxcXFwiJENPTE9SXFxcXFwiLFxcXFxcInRleHRcXFxcXCI6XFxcXFwiJE1FU1NBR0VcXFxcXCJ9XX1cIicsXG4gICAgICAgICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/ViteReactProject.js
CHANGED
|
@@ -8,6 +8,10 @@ const typescript_1 = require("projen/lib/typescript");
|
|
|
8
8
|
* Vite + React TypeScript project
|
|
9
9
|
*/
|
|
10
10
|
class ViteReactProject extends typescript_1.TypeScriptAppProject {
|
|
11
|
+
srcdir;
|
|
12
|
+
publicDir;
|
|
13
|
+
devCommand;
|
|
14
|
+
configFields;
|
|
11
15
|
constructor(options) {
|
|
12
16
|
const { sampleCode = true, srcdir = 'src', publicDir = 'public', title, ...restOptions } = options;
|
|
13
17
|
super({
|
|
@@ -17,6 +21,7 @@ class ViteReactProject extends typescript_1.TypeScriptAppProject {
|
|
|
17
21
|
jest: false, // Vite uses vitest typically
|
|
18
22
|
package: true,
|
|
19
23
|
disableTsconfig: true, // We'll manage tsconfig ourselves
|
|
24
|
+
packageManager: restOptions.parent.package.packageManager,
|
|
20
25
|
deps: [
|
|
21
26
|
'@clerk/clerk-react',
|
|
22
27
|
'@tanstack/react-query',
|
|
@@ -24,6 +29,7 @@ class ViteReactProject extends typescript_1.TypeScriptAppProject {
|
|
|
24
29
|
'autoprefixer',
|
|
25
30
|
'postcss',
|
|
26
31
|
'tailwindcss',
|
|
32
|
+
'rollup',
|
|
27
33
|
...(options.deps ? options.deps : []),
|
|
28
34
|
],
|
|
29
35
|
});
|
|
@@ -294,6 +300,7 @@ export function useConfig() {
|
|
|
294
300
|
* Creates the config.json sample file for runtime configuration
|
|
295
301
|
*/
|
|
296
302
|
class ConfigJsonFile extends projen_1.SampleFile {
|
|
303
|
+
path;
|
|
297
304
|
constructor(project, _options) {
|
|
298
305
|
super(project, `${project.publicDir}/config.json`, {
|
|
299
306
|
contents: JSON.stringify({
|
|
@@ -646,4 +653,4 @@ html, body, #root {
|
|
|
646
653
|
});
|
|
647
654
|
}
|
|
648
655
|
}
|
|
649
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVml0ZVJlYWN0UHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9WaXRlUmVhY3RQcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUEwQztBQUMxQyxtQ0FBc0Y7QUFDdEYsc0RBQXVGO0FBNEJ2Rjs7R0FFRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsaUNBQW9CO0lBTXhELFlBQVksT0FBZ0M7UUFDMUMsTUFBTSxFQUNKLFVBQVUsR0FBRyxJQUFJLEVBQ2pCLE1BQU0sR0FBRyxLQUFLLEVBQ2QsU0FBUyxHQUFHLFFBQVEsRUFDcEIsS0FBSyxFQUNMLEdBQUcsV0FBVyxFQUNmLEdBQUcsT0FBTyxDQUFDO1FBQ1osS0FBSyxDQUFDO1lBQ0osR0FBRyxXQUFXO1lBQ2QsVUFBVSxFQUFFLEtBQUssRUFBRSxxQ0FBcUM7WUFDeEQsTUFBTSxFQUFFLEtBQUssRUFBRSxtQ0FBbUM7WUFDbEQsSUFBSSxFQUFFLEtBQUssRUFBRSw2QkFBNkI7WUFDMUMsT0FBTyxFQUFFLElBQUk7WUFDYixlQUFlLEVBQUUsSUFBSSxFQUFFLGtDQUFrQztZQUN6RCxJQUFJLEVBQUU7Z0JBQ0osb0JBQW9CO2dCQUNwQix1QkFBdUI7Z0JBQ3ZCLHNCQUFzQjtnQkFDdEIsY0FBYztnQkFDZCxTQUFTO2dCQUNULGFBQWE7Z0JBQ2IsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUN0QztTQUNGLENBQUMsQ0FBQztRQUVILG1DQUFtQztRQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBRTlDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBRTNCLHFCQUFxQjtRQUNyQixJQUFJLGFBQWEsQ0FBQyxJQUFJLEVBQUU7WUFDdEIs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QVUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxXQUFXLEVBQUU7WUFDcEQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0EwQ2Y7U0FDSSxDQUFDLENBQUM7UUFFSCxtQkFBbUI7UUFDbkIsSUFBSSxtQkFBVSxDQUFDLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLFlBQVksRUFBRTtZQUNyRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBd0RmO1NBQ0ksQ0FBQyxDQUFDO0lBRUwsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVsYXRpdmUsIGJhc2VuYW1lIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEZpbGVCYXNlLCBKc29uRmlsZSwgUHJvamVjdCwgU2FtcGxlRmlsZSwgVGV4dEZpbGUgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgVHlwZVNjcmlwdEFwcFByb2plY3QsIFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyB9IGZyb20gJ3Byb2plbi9saWIvdHlwZXNjcmlwdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVml0ZVJlYWN0UHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMge1xuICAvKipcbiAgICogV2hldGhlciB0byBnZW5lcmF0ZSBzYW1wbGUgY29kZVxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzYW1wbGVDb2RlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU291cmNlIGRpcmVjdG9yeVxuICAgKiBAZGVmYXVsdCBcInNyY1wiXG4gICAqL1xuICByZWFkb25seSBzcmNkaXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBkaXJlY3RvcnkgZm9yIHN0YXRpYyBhc3NldHNcbiAgICogQGRlZmF1bHQgXCJwdWJsaWNcIlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljRGlyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaXRsZSBmb3IgdGhlIEhUTUwgcGFnZVxuICAgKiBAZGVmYXVsdCBwcm9qZWN0IG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHRpdGxlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFZpdGUgKyBSZWFjdCBUeXBlU2NyaXB0IHByb2plY3RcbiAqL1xuZXhwb3J0IGNsYXNzIFZpdGVSZWFjdFByb2plY3QgZXh0ZW5kcyBUeXBlU2NyaXB0QXBwUHJvamVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBzcmNkaXI6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHB1YmxpY0Rpcjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZGV2Q29tbWFuZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ0ZpZWxkczogTWFwPHN0cmluZywgc3RyaW5nPjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBWaXRlUmVhY3RQcm9qZWN0T3B0aW9ucykge1xuICAgIGNvbnN0IHtcbiAgICAgIHNhbXBsZUNvZGUgPSB0cnVlLFxuICAgICAgc3JjZGlyID0gJ3NyYycsXG4gICAgICBwdWJsaWNEaXIgPSAncHVibGljJyxcbiAgICAgIHRpdGxlLFxuICAgICAgLi4ucmVzdE9wdGlvbnNcbiAgICB9ID0gb3B0aW9ucztcbiAgICBzdXBlcih7XG4gICAgICAuLi5yZXN0T3B0aW9ucyxcbiAgICAgIHNhbXBsZUNvZGU6IGZhbHNlLCAvLyBXZSdsbCBoYW5kbGUgc2FtcGxlIGNvZGUgb3Vyc2VsdmVzXG4gICAgICBlc2xpbnQ6IGZhbHNlLCAvLyBXZSdsbCBjb25maWd1cmUgZXNsaW50IG91cnNlbHZlc1xuICAgICAgamVzdDogZmFsc2UsIC8vIFZpdGUgdXNlcyB2aXRlc3QgdHlwaWNhbGx5XG4gICAgICBwYWNrYWdlOiB0cnVlLFxuICAgICAgZGlzYWJsZVRzY29uZmlnOiB0cnVlLCAvLyBXZSdsbCBtYW5hZ2UgdHNjb25maWcgb3Vyc2VsdmVzXG4gICAgICBkZXBzOiBbXG4gICAgICAgICdAY2xlcmsvY2xlcmstcmVhY3QnLFxuICAgICAgICAnQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5JyxcbiAgICAgICAgJ0B0YWlsd2luZGNzcy9wb3N0Y3NzJyxcbiAgICAgICAgJ2F1dG9wcmVmaXhlcicsXG4gICAgICAgICdwb3N0Y3NzJyxcbiAgICAgICAgJ3RhaWx3aW5kY3NzJyxcbiAgICAgICAgLi4uKG9wdGlvbnMuZGVwcyA/IG9wdGlvbnMuZGVwcyA6IFtdKSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICAvLyBJbml0aWFsaXplIGNvbmZpZyBmaWVsZHMgc3RvcmFnZVxuICAgIHRoaXMuY29uZmlnRmllbGRzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcblxuICAgIHRoaXMuc3JjZGlyID0gc3JjZGlyO1xuICAgIHRoaXMucHVibGljRGlyID0gcHVibGljRGlyO1xuXG4gICAgLy8gQWRkIFZpdGUgY29tcG9uZW50XG4gICAgbmV3IFZpdGVDb21wb25lbnQodGhpcywge1xuICAgICAgc3JjZGlyOiB0aGlzLnNyY2RpcixcbiAgICB9KTtcblxuICAgIC8vIEFkZCBFU0xpbnQgY29uZmlndXJhdGlvblxuICAgIG5ldyBWaXRlRXNsaW50Q29uZmlnKHRoaXMpO1xuXG4gICAgLy8gQWRkIGluZGV4Lmh0bWxcbiAgICBuZXcgSW5kZXhIdG1sKHRoaXMsIHtcbiAgICAgIHRpdGxlOiB0aXRsZSA/PyB0aGlzLm5hbWUsXG4gICAgICBzcmNkaXI6IHRoaXMuc3JjZGlyLFxuICAgIH0pO1xuXG4gICAgLy8gQWRkIFR5cGVTY3JpcHQgY29uZmlnc1xuICAgIG5ldyBWaXRlVHNDb25maWdzKHRoaXMsIHtcbiAgICAgIHNyY2RpcjogdGhpcy5zcmNkaXIsXG4gICAgfSk7XG5cbiAgICAvLyBBZGQgLmdpdGlnbm9yZSBlbnRyaWVzXG4gICAgdGhpcy5naXRpZ25vcmU/LmFkZFBhdHRlcm5zKCdkaXN0JywgJ2Rpc3Qtc3NyJywgJyoubG9jYWwnKTtcblxuICAgIC8vIEFkZCB2aXRlLWVudi5kLnRzIGZvciB0eXBlIGRlY2xhcmF0aW9uc1xuICAgIG5ldyBWaXRlRW52RHRzKHRoaXMsIHtcbiAgICAgIHNyY2RpcjogdGhpcy5zcmNkaXIsXG4gICAgfSk7XG5cbiAgICAvLyBBZGQgUG9zdENTUyBjb25maWcgZm9yIFRhaWx3aW5kXG4gICAgbmV3IFBvc3RDU1NDb25maWdGaWxlKHRoaXMpO1xuXG4gICAgLy8gQWRkIGNvbmZpZy50cyBmb3IgcnVudGltZSBjb25maWd1cmF0aW9uXG4gICAgbmV3IENvbmZpZ0ZpbGUodGhpcywge1xuICAgICAgc3JjZGlyOiB0aGlzLnNyY2RpcixcbiAgICB9KTtcblxuICAgIC8vIEFkZCBzYW1wbGUgY29uZmlnLmpzb25cbiAgICBuZXcgQ29uZmlnSnNvbkZpbGUodGhpcywgeyB9KTtcblxuXG4gICAgLy8gQWRkIHNhbXBsZSBjb2RlIGlmIHJlcXVlc3RlZFxuICAgIGlmIChzYW1wbGVDb2RlKSB7XG4gICAgICBuZXcgVml0ZVNhbXBsZUNvZGUodGhpcywge1xuICAgICAgICBzcmNkaXI6IHRoaXMuc3JjZGlyLFxuICAgICAgICBwdWJsaWNEaXI6IHRoaXMucHVibGljRGlyLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gVXNlIHJlbGF0aXZlIHBhdGggZm9yIGRldkNvbW1hbmRcbiAgICBjb25zdCByZWxhdGl2ZU91dGRpciA9IHRoaXMucGFyZW50XG4gICAgICA/IHJlbGF0aXZlKHRoaXMucGFyZW50Lm91dGRpciwgdGhpcy5vdXRkaXIpXG4gICAgICA6IGJhc2VuYW1lKHRoaXMub3V0ZGlyKTtcbiAgICB0aGlzLmRldkNvbW1hbmQgPSBgY2QgJHtyZWxhdGl2ZU91dGRpcn0gJiYgeWFybiBkZXZgO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGN1c3RvbSBmaWVsZCB0byB0aGUgQ29uZmlnIHR5cGVcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBUaGUgbmFtZSBvZiB0aGUgZmllbGRcbiAgICogQHBhcmFtIGZpZWxkVHlwZSBUaGUgVHlwZVNjcmlwdCB0eXBlIG9mIHRoZSBmaWVsZCAoZS5nLiwgJ3N0cmluZycsICdudW1iZXInLCAnYm9vbGVhbicsICdzdHJpbmdbXScpXG4gICAqIEByZXR1cm5zIHRoaXMgcHJvamVjdCBpbnN0YW5jZSBmb3IgY2hhaW5pbmdcbiAgICovXG4gIGFkZENvbmZpZ0ZpZWxkKGZpZWxkTmFtZTogc3RyaW5nLCBmaWVsZFR5cGU6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuY29uZmlnRmllbGRzLnNldChmaWVsZE5hbWUsIGZpZWxkVHlwZSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjb25maWcgZmllbGRzIG1hcCAoZm9yIGludGVybmFsIHVzZSBieSBDb25maWdGaWxlKVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldENvbmZpZ0ZpZWxkcygpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdGaWVsZHM7XG4gIH1cbn1cblxuaW50ZXJmYWNlIFZpdGVDb21wb25lbnRPcHRpb25zIHtcbiAgcmVhZG9ubHkgc3JjZGlyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJlcyBWaXRlIGRlcGVuZGVuY2llcyBhbmQgc2NyaXB0c1xuICovXG5jbGFzcyBWaXRlQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogVHlwZVNjcmlwdEFwcFByb2plY3QsIF9vcHRpb25zOiBWaXRlQ29tcG9uZW50T3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgY29uc3QgdHNQcm9qZWN0ID0gcHJvamVjdCBhcyBUeXBlU2NyaXB0QXBwUHJvamVjdDtcblxuICAgIC8vIFNldCBwYWNrYWdlIHR5cGUgdG8gbW9kdWxlIGZvciBFU00gc3VwcG9ydFxuICAgIHRzUHJvamVjdC5wYWNrYWdlLmFkZEZpZWxkKCd0eXBlJywgJ21vZHVsZScpO1xuXG4gICAgLy8gQWRkIFJlYWN0IGRlcGVuZGVuY2llc1xuICAgIHRzUHJvamVjdC5hZGREZXBzKCdyZWFjdEBeMTkuMi4wJywgJ3JlYWN0LWRvbUBeMTkuMi4wJyk7XG5cbiAgICAvLyBBZGQgZGV2IGRlcGVuZGVuY2llc1xuICAgIHRzUHJvamVjdC5hZGREZXZEZXBzKFxuICAgICAgJ0B0eXBlcy9yZWFjdEBeMTkuMi4yJyxcbiAgICAgICdAdHlwZXMvcmVhY3QtZG9tQF4xOS4yLjInLFxuICAgICAgJ0B2aXRlanMvcGx1Z2luLXJlYWN0QF41LjEuMCcsXG4gICAgICAndml0ZUBeNS40LjAnLFxuICAgICAgJ3R5cGVzY3JpcHRAfjUuOS4zJyxcbiAgICAgICdAZXNsaW50L2pzQF45LjM5LjEnLFxuICAgICAgJ2VzbGludEBeOS4zOS4xJyxcbiAgICAgICdlc2xpbnQtcGx1Z2luLXJlYWN0LWhvb2tzQF41LjIuMCcsXG4gICAgICAnZXNsaW50LXBsdWdpbi1yZWFjdC1yZWZyZXNoQF4wLjQuMjQnLFxuICAgICAgJ2dsb2JhbHNAXjE2LjUuMCcsXG4gICAgICAndHlwZXNjcmlwdC1lc2xpbnRAXjguNDYuMycsXG4gICAgKTtcblxuICAgIC8vIENyZWF0ZSB2aXRlLmNvbmZpZy50cyBhcyBhIG1hbmFnZWQgZmlsZVxuICAgIG5ldyBWaXRlQ29uZmlnRmlsZShwcm9qZWN0KTtcblxuICAgIC8vIEFkZCBzY3JpcHRzXG4gICAgdHNQcm9qZWN0LmFkZFRhc2soJ2RldicsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnU3RhcnQgZGV2ZWxvcG1lbnQgc2VydmVyJyxcbiAgICAgIGV4ZWM6ICd2aXRlJyxcbiAgICB9KTtcblxuICAgIC8vIFJlbW92ZSBhbmQgcmVjcmVhdGUgYnVpbGQgdGFzayB0byBjdXN0b21pemUgaXQgZm9yIFZpdGVcbiAgICB0c1Byb2plY3QucmVtb3ZlVGFzaygnYnVpbGQnKTtcbiAgICB0c1Byb2plY3QuYWRkVGFzaygnYnVpbGQnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0J1aWxkIGZvciBwcm9kdWN0aW9uJyxcbiAgICAgIGV4ZWM6ICd0c2MgLWIgJiYgdml0ZSBidWlsZCcsXG4gICAgfSk7XG5cbiAgICB0c1Byb2plY3QuYWRkVGFzaygncHJldmlldycsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnUHJldmlldyBwcm9kdWN0aW9uIGJ1aWxkJyxcbiAgICAgIGV4ZWM6ICd2aXRlIHByZXZpZXcnLFxuICAgIH0pO1xuXG4gICAgdHNQcm9qZWN0LmFkZFRhc2soJ2xpbnQnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0xpbnQgY29kZScsXG4gICAgICBleGVjOiAnZXNsaW50IC4nLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgRVNMaW50IGNvbmZpZ3VyYXRpb24gZm9yIFZpdGUgKyBSZWFjdFxuICovXG5jbGFzcyBWaXRlRXNsaW50Q29uZmlnIGV4dGVuZHMgRmlsZUJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0KSB7XG4gICAgc3VwZXIocHJvamVjdCwgJ2VzbGludC5jb25maWcuanMnLCB7XG4gICAgICBtYXJrZXI6IHRydWUsXG4gICAgICByZWFkb25seTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHN5bnRoZXNpemVDb250ZW50KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGBpbXBvcnQganMgZnJvbSAnQGVzbGludC9qcydcbmltcG9ydCBnbG9iYWxzIGZyb20gJ2dsb2JhbHMnXG5pbXBvcnQgcmVhY3RIb29rcyBmcm9tICdlc2xpbnQtcGx1Z2luLXJlYWN0LWhvb2tzJ1xuaW1wb3J0IHJlYWN0UmVmcmVzaCBmcm9tICdlc2xpbnQtcGx1Z2luLXJlYWN0LXJlZnJlc2gnXG5pbXBvcnQgdHNlc2xpbnQgZnJvbSAndHlwZXNjcmlwdC1lc2xpbnQnXG5cbmV4cG9ydCBkZWZhdWx0IFtcbiAgeyBpZ25vcmVzOiBbJ2Rpc3QnXSB9LFxuICB7XG4gICAgZmlsZXM6IFsnKiovKi57dHMsdHN4fSddLFxuICAgIGxhbmd1YWdlT3B0aW9uczoge1xuICAgICAgZWNtYVZlcnNpb246IDIwMjAsXG4gICAgICBnbG9iYWxzOiBnbG9iYWxzLmJyb3dzZXIsXG4gICAgfSxcbiAgICBwbHVnaW5zOiB7XG4gICAgICAncmVhY3QtaG9va3MnOiByZWFjdEhvb2tzLFxuICAgICAgJ3JlYWN0LXJlZnJlc2gnOiByZWFjdFJlZnJlc2gsXG4gICAgfSxcbiAgICBydWxlczoge1xuICAgICAgLi4ucmVhY3RIb29rcy5jb25maWdzLnJlY29tbWVuZGVkLnJ1bGVzLFxuICAgICAgJ3JlYWN0LXJlZnJlc2gvb25seS1leHBvcnQtY29tcG9uZW50cyc6IFtcbiAgICAgICAgJ3dhcm4nLFxuICAgICAgICB7IGFsbG93Q29uc3RhbnRFeHBvcnQ6IHRydWUgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSxcbiAganMuY29uZmlncy5yZWNvbW1lbmRlZCxcbiAgLi4udHNlc2xpbnQuY29uZmlncy5yZWNvbW1lbmRlZCxcbl1cbmA7XG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGVzIHRoZSB2aXRlLmNvbmZpZy50cyBmaWxlXG4gKi9cbmNsYXNzIFZpdGVDb25maWdGaWxlIGV4dGVuZHMgRmlsZUJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0KSB7XG4gICAgc3VwZXIocHJvamVjdCwgJ3ZpdGUuY29uZmlnLnRzJywge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBzeW50aGVzaXplQ29udGVudCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBgaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAndml0ZSdcbmltcG9ydCByZWFjdCBmcm9tICdAdml0ZWpzL3BsdWdpbi1yZWFjdCdcblxuLy8gaHR0cHM6Ly92aXRlLmRldi9jb25maWcvXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1xuICBwbHVnaW5zOiBbcmVhY3QoKV0sXG59KVxuYDtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIHBvc3Rjc3MuY29uZmlnLmpzIGZpbGUgZm9yIFRhaWx3aW5kIENTUyB2NFxuICovXG5jbGFzcyBQb3N0Q1NTQ29uZmlnRmlsZSBleHRlbmRzIEZpbGVCYXNlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCkge1xuICAgIHN1cGVyKHByb2plY3QsICdwb3N0Y3NzLmNvbmZpZy5qcycsIHtcbiAgICAgIG1hcmtlcjogdHJ1ZSxcbiAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgc3ludGhlc2l6ZUNvbnRlbnQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gYGV4cG9ydCBkZWZhdWx0IHtcbiAgcGx1Z2luczoge1xuICAgIFwiQHRhaWx3aW5kY3NzL3Bvc3Rjc3NcIjoge30sXG4gICAgYXV0b3ByZWZpeGVyOiB7fSxcbiAgfSxcbn1cbmA7XG4gIH1cbn1cblxuaW50ZXJmYWNlIFZpdGVFbnZEdHNPcHRpb25zIHtcbiAgcmVhZG9ubHkgc3JjZGlyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgdml0ZS1lbnYuZC50cyBmaWxlIGZvciB0eXBlIGRlY2xhcmF0aW9uc1xuICovXG5jbGFzcyBWaXRlRW52RHRzIGV4dGVuZHMgRmlsZUJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBWaXRlRW52RHRzT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QsIGAke29wdGlvbnMuc3JjZGlyfS92aXRlLWVudi5kLnRzYCwge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBzeW50aGVzaXplQ29udGVudCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBgLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlL2NsaWVudFwiIC8+XG5gO1xuICB9XG59XG5cbmludGVyZmFjZSBDb25maWdGaWxlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIGNvbmZpZy50cyBmaWxlIGZvciBydW50aW1lIGNvbmZpZ3VyYXRpb25cbiAqL1xuY2xhc3MgQ29uZmlnRmlsZSBleHRlbmRzIEZpbGVCYXNlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogQ29uZmlnRmlsZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBgJHtvcHRpb25zLnNyY2Rpcn0vY29uZmlnLnRzYCwge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBzeW50aGVzaXplQ29udGVudCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIEdldCBjdXN0b20gY29uZmlnIGZpZWxkcyBmcm9tIHBhcmVudCBwcm9qZWN0XG4gICAgY29uc3Qgdml0ZVByb2plY3QgPSB0aGlzLnByb2plY3QgYXMgVml0ZVJlYWN0UHJvamVjdDtcbiAgICBjb25zdCBjdXN0b21GaWVsZHMgPSB2aXRlUHJvamVjdC5nZXRDb25maWdGaWVsZHMoKTtcblxuICAgIC8vIEdlbmVyYXRlIGJhc2UgY29uZmlnIHR5cGVcbiAgICBjb25zdCBiYXNlQ29uZmlnVHlwZSA9IGB0eXBlIEJhc2VDb25maWcgPSB7XG4gIGNsZXJrUHVibGlzaGFibGVLZXk6IHN0cmluZztcbiAgYXBpQmFzZVVybDogc3RyaW5nO1xuICB0aW1lb3V0OiBudW1iZXI7XG59YDtcblxuICAgIC8vIEdlbmVyYXRlIGN1c3RvbSBmaWVsZHMgdHlwZSBpZiBhbnkgZXhpc3RcbiAgICBsZXQgY29uZmlnVHlwZURlZmluaXRpb246IHN0cmluZztcbiAgICBpZiAoY3VzdG9tRmllbGRzLnNpemUgPiAwKSB7XG4gICAgICBjb25zdCBmaWVsZERlZmluaXRpb25zID0gQXJyYXkuZnJvbShjdXN0b21GaWVsZHMuZW50cmllcygpKVxuICAgICAgICAubWFwKChbbmFtZSwgdHlwZV0pID0+IGAgICR7bmFtZX06ICR7dHlwZX07YClcbiAgICAgICAgLmpvaW4oJ1xcbicpO1xuXG4gICAgICBjb25zdCBjdXN0b21GaWVsZHNUeXBlID0gYHR5cGUgQ3VzdG9tQ29uZmlnID0ge1xuJHtmaWVsZERlZmluaXRpb25zfVxufWA7XG5cbiAgICAgIGNvbmZpZ1R5cGVEZWZpbml0aW9uID0gYCR7Y3VzdG9tRmllbGRzVHlwZX1cblxuZXhwb3J0IHR5cGUgQ29uZmlnID0gQmFzZUNvbmZpZyAmIEN1c3RvbUNvbmZpZztgO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25maWdUeXBlRGVmaW5pdGlvbiA9ICdleHBvcnQgdHlwZSBDb25maWcgPSBCYXNlQ29uZmlnOyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGBpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG4ke2Jhc2VDb25maWdUeXBlfVxuXG4ke2NvbmZpZ1R5cGVEZWZpbml0aW9ufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29uZmlnKCkge1xuICBjb25zdCBbbG9hZGVkQ29uZmlnLCBzZXRMb2FkZWRDb25maWddID0gdXNlU3RhdGU8Q29uZmlnfHVuZGVmaW5lZD4oKTtcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbG9hZGVkQ29uZmlnKSB7XG4gICAgICBmZXRjaCgnL2NvbmZpZy5qc29uJywgeyBjYWNoZTogJ25vLXN0b3JlJyB9KS50aGVuKHJlc3BvbnNlPT57XG4gICAgICAgIHJlc3BvbnNlLmpzb24oKS50aGVuKChjb25maWcpID0+IHtcbiAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICAgICAgc2V0TG9hZGVkQ29uZmlnKGNvbmZpZylcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIH1cbiAgfSwgW2xvYWRlZENvbmZpZ10pO1xuXG4gIHJldHVybiB7IGNvbmZpZzogbG9hZGVkQ29uZmlnLCBpc0xvYWRpbmcgfTtcbn1cbmA7XG4gIH1cbn1cblxuaW50ZXJmYWNlIENvbmZpZ0pzb25GaWxlT3B0aW9ucyB7fVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIGNvbmZpZy5qc29uIHNhbXBsZSBmaWxlIGZvciBydW50aW1lIGNvbmZpZ3VyYXRpb25cbiAqL1xuY2xhc3MgQ29uZmlnSnNvbkZpbGUgZXh0ZW5kcyBTYW1wbGVGaWxlIHtcbiAgcGF0aDogc3RyaW5nO1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBWaXRlUmVhY3RQcm9qZWN0LCBfb3B0aW9uczogQ29uZmlnSnNvbkZpbGVPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwgYCR7cHJvamVjdC5wdWJsaWNEaXJ9L2NvbmZpZy5qc29uYCwge1xuICAgICAgY29udGVudHM6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgYXBpQmFzZVVybDogJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9hcGknLFxuICAgICAgICBjbGVya1B1Ymxpc2hhYmxlS2V5OiAndGJkJyxcbiAgICAgIH0sIG51bGwsIDIpLFxuICAgIH0pO1xuICAgIHRoaXMucGF0aCA9IGAke3Byb2plY3QucHVibGljRGlyfS9jb25maWcuanNvbmA7XG4gIH1cbn1cblxuaW50ZXJmYWNlIEluZGV4SHRtbE9wdGlvbnMge1xuICByZWFkb25seSB0aXRsZTogc3RyaW5nO1xuICByZWFkb25seSBzcmNkaXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBpbmRleC5odG1sIGZpbGVcbiAqL1xuY2xhc3MgSW5kZXhIdG1sIGV4dGVuZHMgU2FtcGxlRmlsZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEluZGV4SHRtbE9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCAnaW5kZXguaHRtbCcsIHtcbiAgICAgIGNvbnRlbnRzOiBgPCFkb2N0eXBlIGh0bWw+XG48aHRtbCBsYW5nPVwiZW5cIj5cbiAgPGhlYWQ+XG4gICAgPG1ldGEgY2hhcnNldD1cIlVURi04XCIgLz5cbiAgICA8bGluayByZWw9XCJpY29uXCIgdHlwZT1cImltYWdlL3N2Zyt4bWxcIiBocmVmPVwiL3ZpdGUuc3ZnXCIgLz5cbiAgICA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMFwiIC8+XG4gICAgPHRpdGxlPiR7b3B0aW9ucy50aXRsZX08L3RpdGxlPlxuICA8L2hlYWQ+XG4gIDxib2R5PlxuICAgIDxkaXYgaWQ9XCJyb290XCI+PC9kaXY+XG4gICAgPHNjcmlwdCB0eXBlPVwibW9kdWxlXCIgc3JjPVwiLyR7b3B0aW9ucy5zcmNkaXJ9L21haW4udHN4XCI+PC9zY3JpcHQ+XG4gIDwvYm9keT5cbjwvaHRtbD5cbmAsXG4gICAgfSk7XG4gIH1cbn1cblxuaW50ZXJmYWNlIFZpdGVUc0NvbmZpZ3NPcHRpb25zIHtcbiAgcmVhZG9ubHkgc3JjZGlyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgVHlwZVNjcmlwdCBjb25maWd1cmF0aW9uIGZpbGVzIGZvciBWaXRlXG4gKi9cbmNsYXNzIFZpdGVUc0NvbmZpZ3MgZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBWaXRlVHNDb25maWdzT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgLy8gTWFpbiB0c2NvbmZpZy5qc29uIChwcm9qZWN0IHJlZmVyZW5jZXMpXG4gICAgbmV3IEpzb25GaWxlKHByb2plY3QsICd0c2NvbmZpZy5qc29uJywge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgZmlsZXM6IFtdLFxuICAgICAgICByZWZlcmVuY2VzOiBbXG4gICAgICAgICAgeyBwYXRoOiAnLi90c2NvbmZpZy5hcHAuanNvbicgfSxcbiAgICAgICAgICB7IHBhdGg6ICcuL3RzY29uZmlnLm5vZGUuanNvbicgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyB0c2NvbmZpZy5hcHAuanNvbiAoZm9yIGFwcGxpY2F0aW9uIGNvZGUpXG4gICAgbmV3IEpzb25GaWxlKHByb2plY3QsICd0c2NvbmZpZy5hcHAuanNvbicsIHtcbiAgICAgIG1hcmtlcjogdHJ1ZSxcbiAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgb2JqOiB7XG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIHRhcmdldDogJ0VTMjAyMCcsXG4gICAgICAgICAgdXNlRGVmaW5lRm9yQ2xhc3NGaWVsZHM6IHRydWUsXG4gICAgICAgICAgbGliOiBbJ0VTMjAyMCcsICdET00nLCAnRE9NLkl0ZXJhYmxlJ10sXG4gICAgICAgICAgbW9kdWxlOiAnRVNOZXh0JyxcbiAgICAgICAgICBza2lwTGliQ2hlY2s6IHRydWUsXG5cbiAgICAgICAgICAvLyBCdW5kbGVyIG1vZGVcbiAgICAgICAgICBtb2R1bGVSZXNvbHV0aW9uOiAnYnVuZGxlcicsXG4gICAgICAgICAgYWxsb3dJbXBvcnRpbmdUc0V4dGVuc2lvbnM6IHRydWUsXG4gICAgICAgICAgaXNvbGF0ZWRNb2R1bGVzOiB0cnVlLFxuICAgICAgICAgIG1vZHVsZURldGVjdGlvbjogJ2ZvcmNlJyxcbiAgICAgICAgICBub0VtaXQ6IHRydWUsXG4gICAgICAgICAganN4OiAncmVhY3QtanN4JyxcblxuICAgICAgICAgIC8vIExpbnRpbmdcbiAgICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgICAgbm9VbnVzZWRMb2NhbHM6IHRydWUsXG4gICAgICAgICAgbm9VbnVzZWRQYXJhbWV0ZXJzOiB0cnVlLFxuICAgICAgICAgIG5vRmFsbHRocm91Z2hDYXNlc0luU3dpdGNoOiB0cnVlLFxuICAgICAgICAgIG5vVW5jaGVja2VkU2lkZUVmZmVjdEltcG9ydHM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGluY2x1ZGU6IFtvcHRpb25zLnNyY2Rpcl0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gdHNjb25maWcubm9kZS5qc29uIChmb3IgVml0ZSBjb25maWcpXG4gICAgbmV3IEpzb25GaWxlKHByb2plY3QsICd0c2NvbmZpZy5ub2RlLmpzb24nLCB7XG4gICAgICBtYXJrZXI6IHRydWUsXG4gICAgICByZWFkb25seTogdHJ1ZSxcbiAgICAgIG9iajoge1xuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICB0YXJnZXQ6ICdFUzIwMjInLFxuICAgICAgICAgIGxpYjogWydFUzIwMjMnXSxcbiAgICAgICAgICBtb2R1bGU6ICdFU05leHQnLFxuICAgICAgICAgIHNraXBMaWJDaGVjazogdHJ1ZSxcblxuICAgICAgICAgIC8vIEJ1bmRsZXIgbW9kZVxuICAgICAgICAgIG1vZHVsZVJlc29sdXRpb246ICdidW5kbGVyJyxcbiAgICAgICAgICBhbGxvd0ltcG9ydGluZ1RzRXh0ZW5zaW9uczogdHJ1ZSxcbiAgICAgICAgICBpc29sYXRlZE1vZHVsZXM6IHRydWUsXG4gICAgICAgICAgbW9kdWxlRGV0ZWN0aW9uOiAnZm9yY2UnLFxuICAgICAgICAgIG5vRW1pdDogdHJ1ZSxcblxuICAgICAgICAgIC8vIExpbnRpbmdcbiAgICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgICAgbm9VbnVzZWRMb2NhbHM6IHRydWUsXG4gICAgICAgICAgbm9VbnVzZWRQYXJhbWV0ZXJzOiB0cnVlLFxuICAgICAgICAgIG5vRmFsbHRocm91Z2hDYXNlc0luU3dpdGNoOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBpbmNsdWRlOiBbJ3ZpdGUuY29uZmlnLnRzJ10sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmludGVyZmFjZSBWaXRlU2FtcGxlQ29kZU9wdGlvbnMge1xuICByZWFkb25seSBzcmNkaXI6IHN0cmluZztcbiAgcmVhZG9ubHkgcHVibGljRGlyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIHNhbXBsZSBjb2RlIGZvciBhIFZpdGUgKyBSZWFjdCBwcm9qZWN0XG4gKi9cbmNsYXNzIFZpdGVTYW1wbGVDb2RlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogVml0ZVNhbXBsZUNvZGVPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICAvLyBDcmVhdGUgQXBwLnRzeFxuICAgIG5ldyBTYW1wbGVGaWxlKHByb2plY3QsIGAke29wdGlvbnMuc3JjZGlyfS9BcHAudHN4YCwge1xuICAgICAgY29udGVudHM6IGBpbXBvcnQgJy4vQXBwLmNzcydcbmltcG9ydCB7IFNpZ25lZEluLCBVc2VyQnV0dG9uIH0gZnJvbSAnQGNsZXJrL2NsZXJrLXJlYWN0JztcbmltcG9ydCB7IHVzZUJhc2VRdWVyeSB9IGZyb20gXCIuL3NlcnZpY2VzL0Jhc2VTZXJ2aWNlLnRzXCI7XG5cblxuZnVuY3Rpb24gQXBwKCkge1xuICBjb25zdCB7ZGF0YSwgaXNMb2FkaW5nfSA9IHVzZUJhc2VRdWVyeSgnLycsIHtyZXRyeU9uTW91bnQ6IHRydWV9KTtcblxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgICAgPGhlYWRlcj5cblxuICAgICAgICAgIDxTaWduZWRJbj5cbiAgICAgICAgICAgIDxVc2VyQnV0dG9uLz5cbiAgICAgICAgICA8L1NpZ25lZEluPlxuICAgICAgICA8L2hlYWRlcj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkXCI+XG4gICAgICAgICAgeyBpc0xvYWRpbmcgPyAnTG9hZGluZy4uLicgOiBKU09OLnN0cmluZ2lmeShkYXRhLCBudWxsICwpfVxuICAgICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBBcHBcbmAsXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgQmFzZVNlcnZpY2UudHNcbiAgICBuZXcgVGV4dEZpbGUocHJvamVjdCwgYCR7b3B0aW9ucy5zcmNkaXJ9L3NlcnZpY2VzL0Jhc2VTZXJ2aWNlLnRzYCwge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICBsaW5lczogW1xuICAgICAgICAnaW1wb3J0IHsgdXNlUXVlcnksIFVzZVF1ZXJ5T3B0aW9ucyB9IGZyb20gXFwnQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5XFwnOycsXG4gICAgICAgICdpbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSBcXCdAY2xlcmsvY2xlcmstcmVhY3RcXCc7JyxcbiAgICAgICAgJ2ltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gXFwnLi4vY29uZmlnXFwnOycsXG4gICAgICAgICcnLFxuICAgICAgICAnZXhwb3J0IGZ1bmN0aW9uIHVzZUJhc2VRdWVyeTxURGF0YSA9IHVua25vd24+KCcsXG4gICAgICAgICcgIHBhdGg6IHN0cmluZywnLFxuICAgICAgICAnICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8VERhdGE+LCBcXCdxdWVyeUtleVxcJyB8IFxcJ3F1ZXJ5Rm5cXCc+JyxcbiAgICAgICAgJykgeycsXG4gICAgICAgICcgIGNvbnN0IHsgY29uZmlnIH0gPSB1c2VDb25maWcoKTsnLFxuICAgICAgICAnICBjb25zdCB7IGdldFRva2VuIH0gPSB1c2VBdXRoKCk7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIHJldHVybiB1c2VRdWVyeTxURGF0YT4oeycsXG4gICAgICAgICcgICAgcXVlcnlLZXk6IFtcXCdiYXNlXFwnXSwnLFxuICAgICAgICAnICAgIHF1ZXJ5Rm46IGFzeW5jICgpID0+IHsnLFxuICAgICAgICAnICAgICAgaWYgKCFjb25maWc/LmFwaUJhc2VVcmwpIHsnLFxuICAgICAgICAnICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXFwnQVBJIGJhc2UgVVJMIG5vdCBjb25maWd1cmVkXFwnKTsnLFxuICAgICAgICAnICAgICAgfScsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgICAgY29uc3QgdG9rZW4gPSBhd2FpdCBnZXRUb2tlbigpOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgICAgLy8gTm9ybWFsaXplIFVSTCBieSByZW1vdmluZyB0cmFpbGluZyBzbGFzaCBmcm9tIGJhc2VVcmwgYW5kIGVuc3VyaW5nIHBhdGggc3RhcnRzIHdpdGggc2xhc2gnLFxuICAgICAgICAnICAgICAgY29uc3QgYmFzZVVybCA9IGNvbmZpZy5hcGlCYXNlVXJsLnJlcGxhY2UoL1xcXFwvKyQvLCBcXCdcXCcpOycsXG4gICAgICAgICcgICAgICBjb25zdCBub3JtYWxpemVkUGF0aCA9IHBhdGguc3RhcnRzV2l0aChcXCcvXFwnKSA/IHBhdGggOiBgLyR7cGF0aH1gOycsXG4gICAgICAgICcgICAgICAnLFxuICAgICAgICAnICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgJHtiYXNlVXJsfSR7bm9ybWFsaXplZFBhdGh9YCwgeycsXG4gICAgICAgICcgICAgICAgIGhlYWRlcnM6IHsnLFxuICAgICAgICAnICAgICAgICAgIFxcJ0F1dGhvcml6YXRpb25cXCc6IGBCZWFyZXIgJHt0b2tlbn1gLCcsXG4gICAgICAgICcgICAgICAgIH0sJyxcbiAgICAgICAgJyAgICAgIH0pOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgICAgaWYgKCFyZXNwb25zZS5vaykgeycsXG4gICAgICAgICcgICAgICAgIHRocm93IG5ldyBFcnJvcihgSFRUUCBlcnJvciEgc3RhdHVzOiAke3Jlc3BvbnNlLnN0YXR1c31gKTsnLFxuICAgICAgICAnICAgICAgfScsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTsnLFxuICAgICAgICAnICAgIH0sJyxcbiAgICAgICAgJyAgICBlbmFibGVkOiAhIWNvbmZpZz8uYXBpQmFzZVVybCwnLFxuICAgICAgICAnICAgIC4uLm9wdGlvbnMsJyxcbiAgICAgICAgJyAgfSk7JyxcbiAgICAgICAgJ30nLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBSb290U2VydmljZS50c1xuICAgIG5ldyBTYW1wbGVGaWxlKHByb2plY3QsIGAke29wdGlvbnMuc3JjZGlyfS9zZXJ2aWNlcy9Sb290U2VydmljZS50c2AsIHtcbiAgICAgIGNvbnRlbnRzOiBgaW1wb3J0IHsgVXNlUXVlcnlPcHRpb25zIH0gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5JztcbmltcG9ydCB7IHVzZUJhc2VRdWVyeSB9IGZyb20gJy4vQmFzZVNlcnZpY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlUm9vdFF1ZXJ5PFREYXRhID0gdW5rbm93bj4oXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxURGF0YT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pIHtcbiAgcmV0dXJuIHVzZUJhc2VRdWVyeTxURGF0YT4oJy8nLCBvcHRpb25zKTtcbn1cbmAsXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgQXBwLmNzc1xuICAgIG5ldyBTYW1wbGVGaWxlKHByb2plY3QsIGAke29wdGlvbnMuc3JjZGlyfS9BcHAuY3NzYCwge1xuICAgICAgY29udGVudHM6IGAjcm9vdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5sb2dvIHtcbiAgaGVpZ2h0OiA2ZW07XG4gIHBhZGRpbmc6IDEuNWVtO1xuICB3aWxsLWNoYW5nZTogZmlsdGVyO1xuICB0cmFuc2l0aW9uOiBmaWx0ZXIgMzAwbXM7XG59XG4ubG9nbzpob3ZlciB7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDJlbSAjNjQ2Y2ZmYWEpO1xufVxuLmxvZ28ucmVhY3Q6aG92ZXIge1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAyZW0gIzYxZGFmYmFhKTtcbn1cblxuQGtleWZyYW1lcyBsb2dvLXNwaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgYTpudGgtb2YtdHlwZSgyKSAubG9nbyB7XG4gICAgYW5pbWF0aW9uOiBsb2dvLXNwaW4gaW5maW5pdGUgMjBzIGxpbmVhcjtcbiAgfVxufVxuXG4uY2FyZCB7XG4gIHBhZGRpbmc6IDJlbTtcbn1cblxuLnJlYWQtdGhlLWRvY3Mge1xuICBjb2xvcjogIzg4ODtcbn1cbmAsXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgbWFpbi50c3hcbiAgICBuZXcgU2FtcGxlRmlsZShwcm9qZWN0LCBgJHtvcHRpb25zLnNyY2Rpcn0vbWFpbi50c3hgLCB7XG4gICAgICBjb250ZW50czogYGltcG9ydCB7IFN0cmljdE1vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZVJvb3QgfSBmcm9tICdyZWFjdC1kb20vY2xpZW50J1xuaW1wb3J0ICcuL2luZGV4LmNzcydcbmltcG9ydCBBcHAgZnJvbSAnLi9BcHAudHN4J1xuaW1wb3J0IHsgQ2xlcmtQcm92aWRlciwgU2lnbmVkSW4sIFNpZ25lZE91dCwgU2lnbkluQnV0dG9uIH0gZnJvbSAnQGNsZXJrL2NsZXJrLXJlYWN0J1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi9jb25maWcnXG5pbXBvcnQgeyBRdWVyeUNsaWVudCwgUXVlcnlDbGllbnRQcm92aWRlciB9IGZyb20gXCJAdGFuc3RhY2svcmVhY3QtcXVlcnlcIlxuXG5mdW5jdGlvbiBBcHBXcmFwcGVyKCkge1xuICBjb25zdCB7IGNvbmZpZywgaXNMb2FkaW5nIH0gPSB1c2VDb25maWcoKTtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSBuZXcgUXVlcnlDbGllbnQoKVxuICBpZiAoaXNMb2FkaW5nIHx8ICFjb25maWcpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJsb2FkaW5nLXNjcmVlblwiPlxuICAgICAgICBMb2FkaW5nLi4uXG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Q2xlcmtQcm92aWRlciBwdWJsaXNoYWJsZUtleT17Y29uZmlnLmNsZXJrUHVibGlzaGFibGVLZXl9PlxuICAgICAgPFF1ZXJ5Q2xpZW50UHJvdmlkZXIgY2xpZW50PXtxdWVyeUNsaWVudH0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsIGgtZnVsbFwiPlxuICAgICAgICAgIDxTaWduZWRPdXQ+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG1pbi1oLXNjcmVlblwiPlxuICAgICAgICAgICAgICA8U2lnbkluQnV0dG9uLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvU2lnbmVkT3V0PlxuICAgICAgICAgIDxTaWduZWRJbj5cbiAgICAgICAgICAgIDxBcHAvPlxuICAgICAgICAgIDwvU2lnbmVkSW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9RdWVyeUNsaWVudFByb3ZpZGVyPlxuICAgIDwvQ2xlcmtQcm92aWRlcj5cbiAgKTtcbn1cblxuY3JlYXRlUm9vdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncm9vdCcpISkucmVuZGVyKFxuICA8U3RyaWN0TW9kZT5cbiAgICA8QXBwV3JhcHBlci8+XG4gIDwvU3RyaWN0TW9kZT5cbilcbmAsXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgaW5kZXguY3NzXG4gICAgbmV3IFNhbXBsZUZpbGUocHJvamVjdCwgYCR7b3B0aW9ucy5zcmNkaXJ9L2luZGV4LmNzc2AsIHtcbiAgICAgIGNvbnRlbnRzOiBgQGltcG9ydCBcInRhaWx3aW5kY3NzXCI7XG5cbkB0aGVtZSB7XG4gIC0tY29sb3Itc2NoZW1lOiBsaWdodCBkYXJrO1xufVxuXG46cm9vdCB7XG4gIGZvbnQtZmFtaWx5OiBJbnRlciwgc3lzdGVtLXVpLCBBdmVuaXIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgY29sb3Itc2NoZW1lOiBsaWdodCBkYXJrO1xuXG4gIGZvbnQtc3ludGhlc2lzOiBub25lO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuYSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjNjQ2Y2ZmO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG59XG5hOmhvdmVyIHtcbiAgY29sb3I6ICM1MzViZjI7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIG1pbi13aWR0aDogMzIwcHg7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMy4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5cbmJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5sb2FkaW5nLXNjcmVlbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBmb250LXNpemU6IDEuNXJlbTtcbn1cblxuaHRtbCwgYm9keSwgI3Jvb3Qge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuYCxcbiAgICB9KTtcblxuICB9XG59XG4iXX0=
|
|
656
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVml0ZVJlYWN0UHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9WaXRlUmVhY3RQcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUEwQztBQUMxQyxtQ0FBc0Y7QUFDdEYsc0RBQXVGO0FBNkJ2Rjs7R0FFRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsaUNBQW9CO0lBQ3hDLE1BQU0sQ0FBUztJQUNmLFNBQVMsQ0FBUztJQUNsQixVQUFVLENBQVM7SUFDbEIsWUFBWSxDQUFzQjtJQUVuRCxZQUFZLE9BQWdDO1FBQzFDLE1BQU0sRUFDSixVQUFVLEdBQUcsSUFBSSxFQUNqQixNQUFNLEdBQUcsS0FBSyxFQUNkLFNBQVMsR0FBRyxRQUFRLEVBQ3BCLEtBQUssRUFDTCxHQUFHLFdBQVcsRUFDZixHQUFHLE9BQU8sQ0FBQztRQUNaLEtBQUssQ0FBQztZQUNKLEdBQUcsV0FBVztZQUNkLFVBQVUsRUFBRSxLQUFLLEVBQUUscUNBQXFDO1lBQ3hELE1BQU0sRUFBRSxLQUFLLEVBQUUsbUNBQW1DO1lBQ2xELElBQUksRUFBRSxLQUFLLEVBQUUsNkJBQTZCO1lBQzFDLE9BQU8sRUFBRSxJQUFJO1lBQ2IsZUFBZSxFQUFFLElBQUksRUFBRSxrQ0FBa0M7WUFDekQsY0FBYyxFQUFHLFdBQVcsQ0FBQyxNQUF3QixDQUFDLE9BQU8sQ0FBQyxjQUFjO1lBQzVFLElBQUksRUFBRTtnQkFDSixvQkFBb0I7Z0JBQ3BCLHVCQUF1QjtnQkFDdkIsc0JBQXNCO2dCQUN0QixjQUFjO2dCQUNkLFNBQVM7Z0JBQ1QsYUFBYTtnQkFDYixRQUFRO2dCQUNSLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDdEM7U0FDRixDQUFDLENBQUM7UUFFSCxtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBa0Is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T0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sVUFBVSxFQUFFO1lBQ25ELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXdDZjtTQUNJLENBQUMsQ0FBQztRQUVILGtCQUFrQjtRQUNsQixJQUFJLG1CQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sV0FBVyxFQUFFO1lBQ3BELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMENmO1NBQ0ksQ0FBQyxDQUFDO1FBRUgsbUJBQW1CO1FBQ25CLElBQUksbUJBQVUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxZQUFZLEVBQUU7WUFDckQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXdEZjtTQUNJLENBQUMsQ0FBQztJQUVMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbGF0aXZlLCBiYXNlbmFtZSB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBGaWxlQmFzZSwgSnNvbkZpbGUsIFByb2plY3QsIFNhbXBsZUZpbGUsIFRleHRGaWxlIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFR5cGVTY3JpcHRBcHBQcm9qZWN0LCBUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMgfSBmcm9tICdwcm9qZW4vbGliL3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQmF0bWFuUHJvamVjdCB9IGZyb20gJy4vQmF0bWFuUHJvamVjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVml0ZVJlYWN0UHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMge1xuICAvKipcbiAgICogV2hldGhlciB0byBnZW5lcmF0ZSBzYW1wbGUgY29kZVxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzYW1wbGVDb2RlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU291cmNlIGRpcmVjdG9yeVxuICAgKiBAZGVmYXVsdCBcInNyY1wiXG4gICAqL1xuICByZWFkb25seSBzcmNkaXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBkaXJlY3RvcnkgZm9yIHN0YXRpYyBhc3NldHNcbiAgICogQGRlZmF1bHQgXCJwdWJsaWNcIlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljRGlyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaXRsZSBmb3IgdGhlIEhUTUwgcGFnZVxuICAgKiBAZGVmYXVsdCBwcm9qZWN0IG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHRpdGxlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFZpdGUgKyBSZWFjdCBUeXBlU2NyaXB0IHByb2plY3RcbiAqL1xuZXhwb3J0IGNsYXNzIFZpdGVSZWFjdFByb2plY3QgZXh0ZW5kcyBUeXBlU2NyaXB0QXBwUHJvamVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBzcmNkaXI6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHB1YmxpY0Rpcjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZGV2Q29tbWFuZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ0ZpZWxkczogTWFwPHN0cmluZywgc3RyaW5nPjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBWaXRlUmVhY3RQcm9qZWN0T3B0aW9ucykge1xuICAgIGNvbnN0IHtcbiAgICAgIHNhbXBsZUNvZGUgPSB0cnVlLFxuICAgICAgc3JjZGlyID0gJ3NyYycsXG4gICAgICBwdWJsaWNEaXIgPSAncHVibGljJyxcbiAgICAgIHRpdGxlLFxuICAgICAgLi4ucmVzdE9wdGlvbnNcbiAgICB9ID0gb3B0aW9ucztcbiAgICBzdXBlcih7XG4gICAgICAuLi5yZXN0T3B0aW9ucyxcbiAgICAgIHNhbXBsZUNvZGU6IGZhbHNlLCAvLyBXZSdsbCBoYW5kbGUgc2FtcGxlIGNvZGUgb3Vyc2VsdmVzXG4gICAgICBlc2xpbnQ6IGZhbHNlLCAvLyBXZSdsbCBjb25maWd1cmUgZXNsaW50IG91cnNlbHZlc1xuICAgICAgamVzdDogZmFsc2UsIC8vIFZpdGUgdXNlcyB2aXRlc3QgdHlwaWNhbGx5XG4gICAgICBwYWNrYWdlOiB0cnVlLFxuICAgICAgZGlzYWJsZVRzY29uZmlnOiB0cnVlLCAvLyBXZSdsbCBtYW5hZ2UgdHNjb25maWcgb3Vyc2VsdmVzXG4gICAgICBwYWNrYWdlTWFuYWdlcjogKHJlc3RPcHRpb25zLnBhcmVudCBhcyBCYXRtYW5Qcm9qZWN0KS5wYWNrYWdlLnBhY2thZ2VNYW5hZ2VyLFxuICAgICAgZGVwczogW1xuICAgICAgICAnQGNsZXJrL2NsZXJrLXJlYWN0JyxcbiAgICAgICAgJ0B0YW5zdGFjay9yZWFjdC1xdWVyeScsXG4gICAgICAgICdAdGFpbHdpbmRjc3MvcG9zdGNzcycsXG4gICAgICAgICdhdXRvcHJlZml4ZXInLFxuICAgICAgICAncG9zdGNzcycsXG4gICAgICAgICd0YWlsd2luZGNzcycsXG4gICAgICAgICdyb2xsdXAnLFxuICAgICAgICAuLi4ob3B0aW9ucy5kZXBzID8gb3B0aW9ucy5kZXBzIDogW10pLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIC8vIEluaXRpYWxpemUgY29uZmlnIGZpZWxkcyBzdG9yYWdlXG4gICAgdGhpcy5jb25maWdGaWVsZHMgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG4gICAgdGhpcy5zcmNkaXIgPSBzcmNkaXI7XG4gICAgdGhpcy5wdWJsaWNEaXIgPSBwdWJsaWNEaXI7XG5cbiAgICAvLyBBZGQgVml0ZSBjb21wb25lbnRcbiAgICBuZXcgVml0ZUNvbXBvbmVudCh0aGlzLCB7XG4gICAgICBzcmNkaXI6IHRoaXMuc3JjZGlyLFxuICAgIH0pO1xuXG4gICAgLy8gQWRkIEVTTGludCBjb25maWd1cmF0aW9uXG4gICAgbmV3IFZpdGVFc2xpbnRDb25maWcodGhpcyk7XG5cbiAgICAvLyBBZGQgaW5kZXguaHRtbFxuICAgIG5ldyBJbmRleEh0bWwodGhpcywge1xuICAgICAgdGl0bGU6IHRpdGxlID8/IHRoaXMubmFtZSxcbiAgICAgIHNyY2RpcjogdGhpcy5zcmNkaXIsXG4gICAgfSk7XG5cbiAgICAvLyBBZGQgVHlwZVNjcmlwdCBjb25maWdzXG4gICAgbmV3IFZpdGVUc0NvbmZpZ3ModGhpcywge1xuICAgICAgc3JjZGlyOiB0aGlzLnNyY2RpcixcbiAgICB9KTtcblxuICAgIC8vIEFkZCAuZ2l0aWdub3JlIGVudHJpZXNcbiAgICB0aGlzLmdpdGlnbm9yZT8uYWRkUGF0dGVybnMoJ2Rpc3QnLCAnZGlzdC1zc3InLCAnKi5sb2NhbCcpO1xuXG4gICAgLy8gQWRkIHZpdGUtZW52LmQudHMgZm9yIHR5cGUgZGVjbGFyYXRpb25zXG4gICAgbmV3IFZpdGVFbnZEdHModGhpcywge1xuICAgICAgc3JjZGlyOiB0aGlzLnNyY2RpcixcbiAgICB9KTtcblxuICAgIC8vIEFkZCBQb3N0Q1NTIGNvbmZpZyBmb3IgVGFpbHdpbmRcbiAgICBuZXcgUG9zdENTU0NvbmZpZ0ZpbGUodGhpcyk7XG5cbiAgICAvLyBBZGQgY29uZmlnLnRzIGZvciBydW50aW1lIGNvbmZpZ3VyYXRpb25cbiAgICBuZXcgQ29uZmlnRmlsZSh0aGlzLCB7XG4gICAgICBzcmNkaXI6IHRoaXMuc3JjZGlyLFxuICAgIH0pO1xuXG4gICAgLy8gQWRkIHNhbXBsZSBjb25maWcuanNvblxuICAgIG5ldyBDb25maWdKc29uRmlsZSh0aGlzLCB7IH0pO1xuXG5cbiAgICAvLyBBZGQgc2FtcGxlIGNvZGUgaWYgcmVxdWVzdGVkXG4gICAgaWYgKHNhbXBsZUNvZGUpIHtcbiAgICAgIG5ldyBWaXRlU2FtcGxlQ29kZSh0aGlzLCB7XG4gICAgICAgIHNyY2RpcjogdGhpcy5zcmNkaXIsXG4gICAgICAgIHB1YmxpY0RpcjogdGhpcy5wdWJsaWNEaXIsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBVc2UgcmVsYXRpdmUgcGF0aCBmb3IgZGV2Q29tbWFuZFxuICAgIGNvbnN0IHJlbGF0aXZlT3V0ZGlyID0gdGhpcy5wYXJlbnRcbiAgICAgID8gcmVsYXRpdmUodGhpcy5wYXJlbnQub3V0ZGlyLCB0aGlzLm91dGRpcilcbiAgICAgIDogYmFzZW5hbWUodGhpcy5vdXRkaXIpO1xuICAgIHRoaXMuZGV2Q29tbWFuZCA9IGBjZCAke3JlbGF0aXZlT3V0ZGlyfSAmJiB5YXJuIGRldmA7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgY3VzdG9tIGZpZWxkIHRvIHRoZSBDb25maWcgdHlwZVxuICAgKiBAcGFyYW0gZmllbGROYW1lIFRoZSBuYW1lIG9mIHRoZSBmaWVsZFxuICAgKiBAcGFyYW0gZmllbGRUeXBlIFRoZSBUeXBlU2NyaXB0IHR5cGUgb2YgdGhlIGZpZWxkIChlLmcuLCAnc3RyaW5nJywgJ251bWJlcicsICdib29sZWFuJywgJ3N0cmluZ1tdJylcbiAgICogQHJldHVybnMgdGhpcyBwcm9qZWN0IGluc3RhbmNlIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgYWRkQ29uZmlnRmllbGQoZmllbGROYW1lOiBzdHJpbmcsIGZpZWxkVHlwZTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5jb25maWdGaWVsZHMuc2V0KGZpZWxkTmFtZSwgZmllbGRUeXBlKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGNvbmZpZyBmaWVsZHMgbWFwIChmb3IgaW50ZXJuYWwgdXNlIGJ5IENvbmZpZ0ZpbGUpXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0Q29uZmlnRmllbGRzKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ0ZpZWxkcztcbiAgfVxufVxuXG5pbnRlcmZhY2UgVml0ZUNvbXBvbmVudE9wdGlvbnMge1xuICByZWFkb25seSBzcmNkaXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmVzIFZpdGUgZGVwZW5kZW5jaWVzIGFuZCBzY3JpcHRzXG4gKi9cbmNsYXNzIFZpdGVDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBUeXBlU2NyaXB0QXBwUHJvamVjdCwgX29wdGlvbnM6IFZpdGVDb21wb25lbnRPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICBjb25zdCB0c1Byb2plY3QgPSBwcm9qZWN0IGFzIFR5cGVTY3JpcHRBcHBQcm9qZWN0O1xuXG4gICAgLy8gU2V0IHBhY2thZ2UgdHlwZSB0byBtb2R1bGUgZm9yIEVTTSBzdXBwb3J0XG4gICAgdHNQcm9qZWN0LnBhY2thZ2UuYWRkRmllbGQoJ3R5cGUnLCAnbW9kdWxlJyk7XG5cbiAgICAvLyBBZGQgUmVhY3QgZGVwZW5kZW5jaWVzXG4gICAgdHNQcm9qZWN0LmFkZERlcHMoJ3JlYWN0QF4xOS4yLjAnLCAncmVhY3QtZG9tQF4xOS4yLjAnKTtcblxuICAgIC8vIEFkZCBkZXYgZGVwZW5kZW5jaWVzXG4gICAgdHNQcm9qZWN0LmFkZERldkRlcHMoXG4gICAgICAnQHR5cGVzL3JlYWN0QF4xOS4yLjInLFxuICAgICAgJ0B0eXBlcy9yZWFjdC1kb21AXjE5LjIuMicsXG4gICAgICAnQHZpdGVqcy9wbHVnaW4tcmVhY3RAXjUuMS4wJyxcbiAgICAgICd2aXRlQF41LjQuMCcsXG4gICAgICAndHlwZXNjcmlwdEB+NS45LjMnLFxuICAgICAgJ0Blc2xpbnQvanNAXjkuMzkuMScsXG4gICAgICAnZXNsaW50QF45LjM5LjEnLFxuICAgICAgJ2VzbGludC1wbHVnaW4tcmVhY3QtaG9va3NAXjUuMi4wJyxcbiAgICAgICdlc2xpbnQtcGx1Z2luLXJlYWN0LXJlZnJlc2hAXjAuNC4yNCcsXG4gICAgICAnZ2xvYmFsc0BeMTYuNS4wJyxcbiAgICAgICd0eXBlc2NyaXB0LWVzbGludEBeOC40Ni4zJyxcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIHZpdGUuY29uZmlnLnRzIGFzIGEgbWFuYWdlZCBmaWxlXG4gICAgbmV3IFZpdGVDb25maWdGaWxlKHByb2plY3QpO1xuXG4gICAgLy8gQWRkIHNjcmlwdHNcbiAgICB0c1Byb2plY3QuYWRkVGFzaygnZGV2Jywge1xuICAgICAgZGVzY3JpcHRpb246ICdTdGFydCBkZXZlbG9wbWVudCBzZXJ2ZXInLFxuICAgICAgZXhlYzogJ3ZpdGUnLFxuICAgIH0pO1xuXG4gICAgLy8gUmVtb3ZlIGFuZCByZWNyZWF0ZSBidWlsZCB0YXNrIHRvIGN1c3RvbWl6ZSBpdCBmb3IgVml0ZVxuICAgIHRzUHJvamVjdC5yZW1vdmVUYXNrKCdidWlsZCcpO1xuICAgIHRzUHJvamVjdC5hZGRUYXNrKCdidWlsZCcsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnQnVpbGQgZm9yIHByb2R1Y3Rpb24nLFxuICAgICAgZXhlYzogJ3RzYyAtYiAmJiB2aXRlIGJ1aWxkJyxcbiAgICB9KTtcblxuICAgIHRzUHJvamVjdC5hZGRUYXNrKCdwcmV2aWV3Jywge1xuICAgICAgZGVzY3JpcHRpb246ICdQcmV2aWV3IHByb2R1Y3Rpb24gYnVpbGQnLFxuICAgICAgZXhlYzogJ3ZpdGUgcHJldmlldycsXG4gICAgfSk7XG5cbiAgICB0c1Byb2plY3QuYWRkVGFzaygnbGludCcsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnTGludCBjb2RlJyxcbiAgICAgIGV4ZWM6ICdlc2xpbnQgLicsXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBFU0xpbnQgY29uZmlndXJhdGlvbiBmb3IgVml0ZSArIFJlYWN0XG4gKi9cbmNsYXNzIFZpdGVFc2xpbnRDb25maWcgZXh0ZW5kcyBGaWxlQmFzZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QpIHtcbiAgICBzdXBlcihwcm9qZWN0LCAnZXNsaW50LmNvbmZpZy5qcycsIHtcbiAgICAgIG1hcmtlcjogdHJ1ZSxcbiAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgc3ludGhlc2l6ZUNvbnRlbnQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gYGltcG9ydCBqcyBmcm9tICdAZXNsaW50L2pzJ1xuaW1wb3J0IGdsb2JhbHMgZnJvbSAnZ2xvYmFscydcbmltcG9ydCByZWFjdEhvb2tzIGZyb20gJ2VzbGludC1wbHVnaW4tcmVhY3QtaG9va3MnXG5pbXBvcnQgcmVhY3RSZWZyZXNoIGZyb20gJ2VzbGludC1wbHVnaW4tcmVhY3QtcmVmcmVzaCdcbmltcG9ydCB0c2VzbGludCBmcm9tICd0eXBlc2NyaXB0LWVzbGludCdcblxuZXhwb3J0IGRlZmF1bHQgW1xuICB7IGlnbm9yZXM6IFsnZGlzdCddIH0sXG4gIHtcbiAgICBmaWxlczogWycqKi8qLnt0cyx0c3h9J10sXG4gICAgbGFuZ3VhZ2VPcHRpb25zOiB7XG4gICAgICBlY21hVmVyc2lvbjogMjAyMCxcbiAgICAgIGdsb2JhbHM6IGdsb2JhbHMuYnJvd3NlcixcbiAgICB9LFxuICAgIHBsdWdpbnM6IHtcbiAgICAgICdyZWFjdC1ob29rcyc6IHJlYWN0SG9va3MsXG4gICAgICAncmVhY3QtcmVmcmVzaCc6IHJlYWN0UmVmcmVzaCxcbiAgICB9LFxuICAgIHJ1bGVzOiB7XG4gICAgICAuLi5yZWFjdEhvb2tzLmNvbmZpZ3MucmVjb21tZW5kZWQucnVsZXMsXG4gICAgICAncmVhY3QtcmVmcmVzaC9vbmx5LWV4cG9ydC1jb21wb25lbnRzJzogW1xuICAgICAgICAnd2FybicsXG4gICAgICAgIHsgYWxsb3dDb25zdGFudEV4cG9ydDogdHJ1ZSB9LFxuICAgICAgXSxcbiAgICB9LFxuICB9LFxuICBqcy5jb25maWdzLnJlY29tbWVuZGVkLFxuICAuLi50c2VzbGludC5jb25maWdzLnJlY29tbWVuZGVkLFxuXVxuYDtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIHZpdGUuY29uZmlnLnRzIGZpbGVcbiAqL1xuY2xhc3MgVml0ZUNvbmZpZ0ZpbGUgZXh0ZW5kcyBGaWxlQmFzZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QpIHtcbiAgICBzdXBlcihwcm9qZWN0LCAndml0ZS5jb25maWcudHMnLCB7XG4gICAgICBtYXJrZXI6IHRydWUsXG4gICAgICByZWFkb25seTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHN5bnRoZXNpemVDb250ZW50KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGBpbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tICd2aXRlJ1xuaW1wb3J0IHJlYWN0IGZyb20gJ0B2aXRlanMvcGx1Z2luLXJlYWN0J1xuXG4vLyBodHRwczovL3ZpdGUuZGV2L2NvbmZpZy9cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XG4gIHBsdWdpbnM6IFtyZWFjdCgpXSxcbn0pXG5gO1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgcG9zdGNzcy5jb25maWcuanMgZmlsZSBmb3IgVGFpbHdpbmQgQ1NTIHY0XG4gKi9cbmNsYXNzIFBvc3RDU1NDb25maWdGaWxlIGV4dGVuZHMgRmlsZUJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0KSB7XG4gICAgc3VwZXIocHJvamVjdCwgJ3Bvc3Rjc3MuY29uZmlnLmpzJywge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBzeW50aGVzaXplQ29udGVudCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBgZXhwb3J0IGRlZmF1bHQge1xuICBwbHVnaW5zOiB7XG4gICAgXCJAdGFpbHdpbmRjc3MvcG9zdGNzc1wiOiB7fSxcbiAgICBhdXRvcHJlZml4ZXI6IHt9LFxuICB9LFxufVxuYDtcbiAgfVxufVxuXG5pbnRlcmZhY2UgVml0ZUVudkR0c09wdGlvbnMge1xuICByZWFkb25seSBzcmNkaXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHRoZSB2aXRlLWVudi5kLnRzIGZpbGUgZm9yIHR5cGUgZGVjbGFyYXRpb25zXG4gKi9cbmNsYXNzIFZpdGVFbnZEdHMgZXh0ZW5kcyBGaWxlQmFzZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IFZpdGVFbnZEdHNPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwgYCR7b3B0aW9ucy5zcmNkaXJ9L3ZpdGUtZW52LmQudHNgLCB7XG4gICAgICBtYXJrZXI6IHRydWUsXG4gICAgICByZWFkb25seTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHN5bnRoZXNpemVDb250ZW50KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGAvLy8gPHJlZmVyZW5jZSB0eXBlcz1cInZpdGUvY2xpZW50XCIgLz5cbmA7XG4gIH1cbn1cblxuaW50ZXJmYWNlIENvbmZpZ0ZpbGVPcHRpb25zIHtcbiAgcmVhZG9ubHkgc3JjZGlyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgY29uZmlnLnRzIGZpbGUgZm9yIHJ1bnRpbWUgY29uZmlndXJhdGlvblxuICovXG5jbGFzcyBDb25maWdGaWxlIGV4dGVuZHMgRmlsZUJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBDb25maWdGaWxlT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QsIGAke29wdGlvbnMuc3JjZGlyfS9jb25maWcudHNgLCB7XG4gICAgICBtYXJrZXI6IHRydWUsXG4gICAgICByZWFkb25seTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHN5bnRoZXNpemVDb250ZW50KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gR2V0IGN1c3RvbSBjb25maWcgZmllbGRzIGZyb20gcGFyZW50IHByb2plY3RcbiAgICBjb25zdCB2aXRlUHJvamVjdCA9IHRoaXMucHJvamVjdCBhcyBWaXRlUmVhY3RQcm9qZWN0O1xuICAgIGNvbnN0IGN1c3RvbUZpZWxkcyA9IHZpdGVQcm9qZWN0LmdldENvbmZpZ0ZpZWxkcygpO1xuXG4gICAgLy8gR2VuZXJhdGUgYmFzZSBjb25maWcgdHlwZVxuICAgIGNvbnN0IGJhc2VDb25maWdUeXBlID0gYHR5cGUgQmFzZUNvbmZpZyA9IHtcbiAgY2xlcmtQdWJsaXNoYWJsZUtleTogc3RyaW5nO1xuICBhcGlCYXNlVXJsOiBzdHJpbmc7XG4gIHRpbWVvdXQ6IG51bWJlcjtcbn1gO1xuXG4gICAgLy8gR2VuZXJhdGUgY3VzdG9tIGZpZWxkcyB0eXBlIGlmIGFueSBleGlzdFxuICAgIGxldCBjb25maWdUeXBlRGVmaW5pdGlvbjogc3RyaW5nO1xuICAgIGlmIChjdXN0b21GaWVsZHMuc2l6ZSA+IDApIHtcbiAgICAgIGNvbnN0IGZpZWxkRGVmaW5pdGlvbnMgPSBBcnJheS5mcm9tKGN1c3RvbUZpZWxkcy5lbnRyaWVzKCkpXG4gICAgICAgIC5tYXAoKFtuYW1lLCB0eXBlXSkgPT4gYCAgJHtuYW1lfTogJHt0eXBlfTtgKVxuICAgICAgICAuam9pbignXFxuJyk7XG5cbiAgICAgIGNvbnN0IGN1c3RvbUZpZWxkc1R5cGUgPSBgdHlwZSBDdXN0b21Db25maWcgPSB7XG4ke2ZpZWxkRGVmaW5pdGlvbnN9XG59YDtcblxuICAgICAgY29uZmlnVHlwZURlZmluaXRpb24gPSBgJHtjdXN0b21GaWVsZHNUeXBlfVxuXG5leHBvcnQgdHlwZSBDb25maWcgPSBCYXNlQ29uZmlnICYgQ3VzdG9tQ29uZmlnO2A7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmZpZ1R5cGVEZWZpbml0aW9uID0gJ2V4cG9ydCB0eXBlIENvbmZpZyA9IEJhc2VDb25maWc7JztcbiAgICB9XG5cbiAgICByZXR1cm4gYGltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbiR7YmFzZUNvbmZpZ1R5cGV9XG5cbiR7Y29uZmlnVHlwZURlZmluaXRpb259XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VDb25maWcoKSB7XG4gIGNvbnN0IFtsb2FkZWRDb25maWcsIHNldExvYWRlZENvbmZpZ10gPSB1c2VTdGF0ZTxDb25maWd8dW5kZWZpbmVkPigpO1xuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFsb2FkZWRDb25maWcpIHtcbiAgICAgIGZldGNoKCcvY29uZmlnLmpzb24nLCB7IGNhY2hlOiAnbm8tc3RvcmUnIH0pLnRoZW4ocmVzcG9uc2U9PntcbiAgICAgICAgcmVzcG9uc2UuanNvbigpLnRoZW4oKGNvbmZpZykgPT4ge1xuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSlcbiAgICAgICAgICBzZXRMb2FkZWRDb25maWcoY29uZmlnKVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgfVxuICB9LCBbbG9hZGVkQ29uZmlnXSk7XG5cbiAgcmV0dXJuIHsgY29uZmlnOiBsb2FkZWRDb25maWcsIGlzTG9hZGluZyB9O1xufVxuYDtcbiAgfVxufVxuXG5pbnRlcmZhY2UgQ29uZmlnSnNvbkZpbGVPcHRpb25zIHt9XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgY29uZmlnLmpzb24gc2FtcGxlIGZpbGUgZm9yIHJ1bnRpbWUgY29uZmlndXJhdGlvblxuICovXG5jbGFzcyBDb25maWdKc29uRmlsZSBleHRlbmRzIFNhbXBsZUZpbGUge1xuICBwYXRoOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFZpdGVSZWFjdFByb2plY3QsIF9vcHRpb25zOiBDb25maWdKc29uRmlsZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBgJHtwcm9qZWN0LnB1YmxpY0Rpcn0vY29uZmlnLmpzb25gLCB7XG4gICAgICBjb250ZW50czogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBhcGlCYXNlVXJsOiAnaHR0cDovL2xvY2FsaG9zdDozMDAwL2FwaScsXG4gICAgICAgIGNsZXJrUHVibGlzaGFibGVLZXk6ICd0YmQnLFxuICAgICAgfSwgbnVsbCwgMiksXG4gICAgfSk7XG4gICAgdGhpcy5wYXRoID0gYCR7cHJvamVjdC5wdWJsaWNEaXJ9L2NvbmZpZy5qc29uYDtcbiAgfVxufVxuXG5pbnRlcmZhY2UgSW5kZXhIdG1sT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHRpdGxlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIGluZGV4Lmh0bWwgZmlsZVxuICovXG5jbGFzcyBJbmRleEh0bWwgZXh0ZW5kcyBTYW1wbGVGaWxlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogSW5kZXhIdG1sT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QsICdpbmRleC5odG1sJywge1xuICAgICAgY29udGVudHM6IGA8IWRvY3R5cGUgaHRtbD5cbjxodG1sIGxhbmc9XCJlblwiPlxuICA8aGVhZD5cbiAgICA8bWV0YSBjaGFyc2V0PVwiVVRGLThcIiAvPlxuICAgIDxsaW5rIHJlbD1cImljb25cIiB0eXBlPVwiaW1hZ2Uvc3ZnK3htbFwiIGhyZWY9XCIvdml0ZS5zdmdcIiAvPlxuICAgIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wXCIgLz5cbiAgICA8dGl0bGU+JHtvcHRpb25zLnRpdGxlfTwvdGl0bGU+XG4gIDwvaGVhZD5cbiAgPGJvZHk+XG4gICAgPGRpdiBpZD1cInJvb3RcIj48L2Rpdj5cbiAgICA8c2NyaXB0IHR5cGU9XCJtb2R1bGVcIiBzcmM9XCIvJHtvcHRpb25zLnNyY2Rpcn0vbWFpbi50c3hcIj48L3NjcmlwdD5cbiAgPC9ib2R5PlxuPC9odG1sPlxuYCxcbiAgICB9KTtcbiAgfVxufVxuXG5pbnRlcmZhY2UgVml0ZVRzQ29uZmlnc09wdGlvbnMge1xuICByZWFkb25seSBzcmNkaXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBUeXBlU2NyaXB0IGNvbmZpZ3VyYXRpb24gZmlsZXMgZm9yIFZpdGVcbiAqL1xuY2xhc3MgVml0ZVRzQ29uZmlncyBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IFZpdGVUc0NvbmZpZ3NPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICAvLyBNYWluIHRzY29uZmlnLmpzb24gKHByb2plY3QgcmVmZXJlbmNlcylcbiAgICBuZXcgSnNvbkZpbGUocHJvamVjdCwgJ3RzY29uZmlnLmpzb24nLCB7XG4gICAgICBtYXJrZXI6IHRydWUsXG4gICAgICByZWFkb25seTogdHJ1ZSxcbiAgICAgIG9iajoge1xuICAgICAgICBmaWxlczogW10sXG4gICAgICAgIHJlZmVyZW5jZXM6IFtcbiAgICAgICAgICB7IHBhdGg6ICcuL3RzY29uZmlnLmFwcC5qc29uJyB9LFxuICAgICAgICAgIHsgcGF0aDogJy4vdHNjb25maWcubm9kZS5qc29uJyB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIHRzY29uZmlnLmFwcC5qc29uIChmb3IgYXBwbGljYXRpb24gY29kZSlcbiAgICBuZXcgSnNvbkZpbGUocHJvamVjdCwgJ3RzY29uZmlnLmFwcC5qc29uJywge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgdGFyZ2V0OiAnRVMyMDIwJyxcbiAgICAgICAgICB1c2VEZWZpbmVGb3JDbGFzc0ZpZWxkczogdHJ1ZSxcbiAgICAgICAgICBsaWI6IFsnRVMyMDIwJywgJ0RPTScsICdET00uSXRlcmFibGUnXSxcbiAgICAgICAgICBtb2R1bGU6ICdFU05leHQnLFxuICAgICAgICAgIHNraXBMaWJDaGVjazogdHJ1ZSxcblxuICAgICAgICAgIC8vIEJ1bmRsZXIgbW9kZVxuICAgICAgICAgIG1vZHVsZVJlc29sdXRpb246ICdidW5kbGVyJyxcbiAgICAgICAgICBhbGxvd0ltcG9ydGluZ1RzRXh0ZW5zaW9uczogdHJ1ZSxcbiAgICAgICAgICBpc29sYXRlZE1vZHVsZXM6IHRydWUsXG4gICAgICAgICAgbW9kdWxlRGV0ZWN0aW9uOiAnZm9yY2UnLFxuICAgICAgICAgIG5vRW1pdDogdHJ1ZSxcbiAgICAgICAgICBqc3g6ICdyZWFjdC1qc3gnLFxuXG4gICAgICAgICAgLy8gTGludGluZ1xuICAgICAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgICAgICBub1VudXNlZExvY2FsczogdHJ1ZSxcbiAgICAgICAgICBub1VudXNlZFBhcmFtZXRlcnM6IHRydWUsXG4gICAgICAgICAgbm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2g6IHRydWUsXG4gICAgICAgICAgbm9VbmNoZWNrZWRTaWRlRWZmZWN0SW1wb3J0czogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgaW5jbHVkZTogW29wdGlvbnMuc3JjZGlyXSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyB0c2NvbmZpZy5ub2RlLmpzb24gKGZvciBWaXRlIGNvbmZpZylcbiAgICBuZXcgSnNvbkZpbGUocHJvamVjdCwgJ3RzY29uZmlnLm5vZGUuanNvbicsIHtcbiAgICAgIG1hcmtlcjogdHJ1ZSxcbiAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgb2JqOiB7XG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIHRhcmdldDogJ0VTMjAyMicsXG4gICAgICAgICAgbGliOiBbJ0VTMjAyMyddLFxuICAgICAgICAgIG1vZHVsZTogJ0VTTmV4dCcsXG4gICAgICAgICAgc2tpcExpYkNoZWNrOiB0cnVlLFxuXG4gICAgICAgICAgLy8gQnVuZGxlciBtb2RlXG4gICAgICAgICAgbW9kdWxlUmVzb2x1dGlvbjogJ2J1bmRsZXInLFxuICAgICAgICAgIGFsbG93SW1wb3J0aW5nVHNFeHRlbnNpb25zOiB0cnVlLFxuICAgICAgICAgIGlzb2xhdGVkTW9kdWxlczogdHJ1ZSxcbiAgICAgICAgICBtb2R1bGVEZXRlY3Rpb246ICdmb3JjZScsXG4gICAgICAgICAgbm9FbWl0OiB0cnVlLFxuXG4gICAgICAgICAgLy8gTGludGluZ1xuICAgICAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgICAgICBub1VudXNlZExvY2FsczogdHJ1ZSxcbiAgICAgICAgICBub1VudXNlZFBhcmFtZXRlcnM6IHRydWUsXG4gICAgICAgICAgbm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2g6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGluY2x1ZGU6IFsndml0ZS5jb25maWcudHMnXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuaW50ZXJmYWNlIFZpdGVTYW1wbGVDb2RlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuICByZWFkb25seSBwdWJsaWNEaXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgc2FtcGxlIGNvZGUgZm9yIGEgVml0ZSArIFJlYWN0IHByb2plY3RcbiAqL1xuY2xhc3MgVml0ZVNhbXBsZUNvZGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBWaXRlU2FtcGxlQ29kZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIC8vIENyZWF0ZSBBcHAudHN4XG4gICAgbmV3IFNhbXBsZUZpbGUocHJvamVjdCwgYCR7b3B0aW9ucy5zcmNkaXJ9L0FwcC50c3hgLCB7XG4gICAgICBjb250ZW50czogYGltcG9ydCAnLi9BcHAuY3NzJ1xuaW1wb3J0IHsgU2lnbmVkSW4sIFVzZXJCdXR0b24gfSBmcm9tICdAY2xlcmsvY2xlcmstcmVhY3QnO1xuaW1wb3J0IHsgdXNlQmFzZVF1ZXJ5IH0gZnJvbSBcIi4vc2VydmljZXMvQmFzZVNlcnZpY2UudHNcIjtcblxuXG5mdW5jdGlvbiBBcHAoKSB7XG4gIGNvbnN0IHtkYXRhLCBpc0xvYWRpbmd9ID0gdXNlQmFzZVF1ZXJ5KCcvJywge3JldHJ5T25Nb3VudDogdHJ1ZX0pO1xuXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgICA8aGVhZGVyPlxuXG4gICAgICAgICAgPFNpZ25lZEluPlxuICAgICAgICAgICAgPFVzZXJCdXR0b24vPlxuICAgICAgICAgIDwvU2lnbmVkSW4+XG4gICAgICAgIDwvaGVhZGVyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmRcIj5cbiAgICAgICAgICB7IGlzTG9hZGluZyA/ICdMb2FkaW5nLi4uJyA6IEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwgLCl9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IEFwcFxuYCxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBCYXNlU2VydmljZS50c1xuICAgIG5ldyBUZXh0RmlsZShwcm9qZWN0LCBgJHtvcHRpb25zLnNyY2Rpcn0vc2VydmljZXMvQmFzZVNlcnZpY2UudHNgLCB7XG4gICAgICBtYXJrZXI6IHRydWUsXG4gICAgICByZWFkb25seTogdHJ1ZSxcbiAgICAgIGxpbmVzOiBbXG4gICAgICAgICdpbXBvcnQgeyB1c2VRdWVyeSwgVXNlUXVlcnlPcHRpb25zIH0gZnJvbSBcXCdAdGFuc3RhY2svcmVhY3QtcXVlcnlcXCc7JyxcbiAgICAgICAgJ2ltcG9ydCB7IHVzZUF1dGggfSBmcm9tIFxcJ0BjbGVyay9jbGVyay1yZWFjdFxcJzsnLFxuICAgICAgICAnaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSBcXCcuLi9jb25maWdcXCc7JyxcbiAgICAgICAgJycsXG4gICAgICAgICdleHBvcnQgZnVuY3Rpb24gdXNlQmFzZVF1ZXJ5PFREYXRhID0gdW5rbm93bj4oJyxcbiAgICAgICAgJyAgcGF0aDogc3RyaW5nLCcsXG4gICAgICAgICcgIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxURGF0YT4sIFxcJ3F1ZXJ5S2V5XFwnIHwgXFwncXVlcnlGblxcJz4nLFxuICAgICAgICAnKSB7JyxcbiAgICAgICAgJyAgY29uc3QgeyBjb25maWcgfSA9IHVzZUNvbmZpZygpOycsXG4gICAgICAgICcgIGNvbnN0IHsgZ2V0VG9rZW4gfSA9IHVzZUF1dGgoKTsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgcmV0dXJuIHVzZVF1ZXJ5PFREYXRhPih7JyxcbiAgICAgICAgJyAgICBxdWVyeUtleTogW1xcJ2Jhc2VcXCddLCcsXG4gICAgICAgICcgICAgcXVlcnlGbjogYXN5bmMgKCkgPT4geycsXG4gICAgICAgICcgICAgICBpZiAoIWNvbmZpZz8uYXBpQmFzZVVybCkgeycsXG4gICAgICAgICcgICAgICAgIHRocm93IG5ldyBFcnJvcihcXCdBUEkgYmFzZSBVUkwgbm90IGNvbmZpZ3VyZWRcXCcpOycsXG4gICAgICAgICcgICAgICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgICAgICBjb25zdCB0b2tlbiA9IGF3YWl0IGdldFRva2VuKCk7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgICAgICAvLyBOb3JtYWxpemUgVVJMIGJ5IHJlbW92aW5nIHRyYWlsaW5nIHNsYXNoIGZyb20gYmFzZVVybCBhbmQgZW5zdXJpbmcgcGF0aCBzdGFydHMgd2l0aCBzbGFzaCcsXG4gICAgICAgICcgICAgICBjb25zdCBiYXNlVXJsID0gY29uZmlnLmFwaUJhc2VVcmwucmVwbGFjZSgvXFxcXC8rJC8sIFxcJ1xcJyk7JyxcbiAgICAgICAgJyAgICAgIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gcGF0aC5zdGFydHNXaXRoKFxcJy9cXCcpID8gcGF0aCA6IGAvJHtwYXRofWA7JyxcbiAgICAgICAgJyAgICAgICcsXG4gICAgICAgICcgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke2Jhc2VVcmx9JHtub3JtYWxpemVkUGF0aH1gLCB7JyxcbiAgICAgICAgJyAgICAgICAgaGVhZGVyczogeycsXG4gICAgICAgICcgICAgICAgICAgXFwnQXV0aG9yaXphdGlvblxcJzogYEJlYXJlciAke3Rva2VufWAsJyxcbiAgICAgICAgJyAgICAgICAgfSwnLFxuICAgICAgICAnICAgICAgfSk7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7JyxcbiAgICAgICAgJyAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApOycsXG4gICAgICAgICcgICAgICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpOycsXG4gICAgICAgICcgICAgfSwnLFxuICAgICAgICAnICAgIGVuYWJsZWQ6ICEhY29uZmlnPy5hcGlCYXNlVXJsLCcsXG4gICAgICAgICcgICAgLi4ub3B0aW9ucywnLFxuICAgICAgICAnICB9KTsnLFxuICAgICAgICAnfScsXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIFJvb3RTZXJ2aWNlLnRzXG4gICAgbmV3IFNhbXBsZUZpbGUocHJvamVjdCwgYCR7b3B0aW9ucy5zcmNkaXJ9L3NlcnZpY2VzL1Jvb3RTZXJ2aWNlLnRzYCwge1xuICAgICAgY29udGVudHM6IGBpbXBvcnQgeyBVc2VRdWVyeU9wdGlvbnMgfSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgdXNlQmFzZVF1ZXJ5IH0gZnJvbSAnLi9CYXNlU2VydmljZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VSb290UXVlcnk8VERhdGEgPSB1bmtub3duPihcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPFREYXRhPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbikge1xuICByZXR1cm4gdXNlQmFzZVF1ZXJ5PFREYXRhPignLycsIG9wdGlvbnMpO1xufVxuYCxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBBcHAuY3NzXG4gICAgbmV3IFNhbXBsZUZpbGUocHJvamVjdCwgYCR7b3B0aW9ucy5zcmNkaXJ9L0FwcC5jc3NgLCB7XG4gICAgICBjb250ZW50czogYCNyb290IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmxvZ28ge1xuICBoZWlnaHQ6IDZlbTtcbiAgcGFkZGluZzogMS41ZW07XG4gIHdpbGwtY2hhbmdlOiBmaWx0ZXI7XG4gIHRyYW5zaXRpb246IGZpbHRlciAzMDBtcztcbn1cbi5sb2dvOmhvdmVyIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMmVtICM2NDZjZmZhYSk7XG59XG4ubG9nby5yZWFjdDpob3ZlciB7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDJlbSAjNjFkYWZiYWEpO1xufVxuXG5Aa2V5ZnJhbWVzIGxvZ28tc3BpbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICBhOm50aC1vZi10eXBlKDIpIC5sb2dvIHtcbiAgICBhbmltYXRpb246IGxvZ28tc3BpbiBpbmZpbml0ZSAyMHMgbGluZWFyO1xuICB9XG59XG5cbi5jYXJkIHtcbiAgcGFkZGluZzogMmVtO1xufVxuXG4ucmVhZC10aGUtZG9jcyB7XG4gIGNvbG9yOiAjODg4O1xufVxuYCxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBtYWluLnRzeFxuICAgIG5ldyBTYW1wbGVGaWxlKHByb2plY3QsIGAke29wdGlvbnMuc3JjZGlyfS9tYWluLnRzeGAsIHtcbiAgICAgIGNvbnRlbnRzOiBgaW1wb3J0IHsgU3RyaWN0TW9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY3JlYXRlUm9vdCB9IGZyb20gJ3JlYWN0LWRvbS9jbGllbnQnXG5pbXBvcnQgJy4vaW5kZXguY3NzJ1xuaW1wb3J0IEFwcCBmcm9tICcuL0FwcC50c3gnXG5pbXBvcnQgeyBDbGVya1Byb3ZpZGVyLCBTaWduZWRJbiwgU2lnbmVkT3V0LCBTaWduSW5CdXR0b24gfSBmcm9tICdAY2xlcmsvY2xlcmstcmVhY3QnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuL2NvbmZpZydcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50LCBRdWVyeUNsaWVudFByb3ZpZGVyIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1xdWVyeVwiXG5cbmZ1bmN0aW9uIEFwcFdyYXBwZXIoKSB7XG4gIGNvbnN0IHsgY29uZmlnLCBpc0xvYWRpbmcgfSA9IHVzZUNvbmZpZygpO1xuICBjb25zdCBxdWVyeUNsaWVudCA9IG5ldyBRdWVyeUNsaWVudCgpXG4gIGlmIChpc0xvYWRpbmcgfHwgIWNvbmZpZykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImxvYWRpbmctc2NyZWVuXCI+XG4gICAgICAgIExvYWRpbmcuLi5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxDbGVya1Byb3ZpZGVyIHB1Ymxpc2hhYmxlS2V5PXtjb25maWcuY2xlcmtQdWJsaXNoYWJsZUtleX0+XG4gICAgICA8UXVlcnlDbGllbnRQcm92aWRlciBjbGllbnQ9e3F1ZXJ5Q2xpZW50fT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LWZ1bGwgaC1mdWxsXCI+XG4gICAgICAgICAgPFNpZ25lZE91dD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbWluLWgtc2NyZWVuXCI+XG4gICAgICAgICAgICAgIDxTaWduSW5CdXR0b24vPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9TaWduZWRPdXQ+XG4gICAgICAgICAgPFNpZ25lZEluPlxuICAgICAgICAgICAgPEFwcC8+XG4gICAgICAgICAgPC9TaWduZWRJbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L1F1ZXJ5Q2xpZW50UHJvdmlkZXI+XG4gICAgPC9DbGVya1Byb3ZpZGVyPlxuICApO1xufVxuXG5jcmVhdGVSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyb290JykhKS5yZW5kZXIoXG4gIDxTdHJpY3RNb2RlPlxuICAgIDxBcHBXcmFwcGVyLz5cbiAgPC9TdHJpY3RNb2RlPlxuKVxuYCxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBpbmRleC5jc3NcbiAgICBuZXcgU2FtcGxlRmlsZShwcm9qZWN0LCBgJHtvcHRpb25zLnNyY2Rpcn0vaW5kZXguY3NzYCwge1xuICAgICAgY29udGVudHM6IGBAaW1wb3J0IFwidGFpbHdpbmRjc3NcIjtcblxuQHRoZW1lIHtcbiAgLS1jb2xvci1zY2hlbWU6IGxpZ2h0IGRhcms7XG59XG5cbjpyb290IHtcbiAgZm9udC1mYW1pbHk6IEludGVyLCBzeXN0ZW0tdWksIEF2ZW5pciwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICBjb2xvci1zY2hlbWU6IGxpZ2h0IGRhcms7XG5cbiAgZm9udC1zeW50aGVzaXM6IG5vbmU7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5hIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICM2NDZjZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbn1cbmE6aG92ZXIge1xuICBjb2xvcjogIzUzNWJmMjtcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgbWluLXdpZHRoOiAzMjBweDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAzLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cblxuYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmxvYWRpbmctc2NyZWVuIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwdmg7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG5odG1sLCBib2R5LCAjcm9vdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5gLFxuICAgIH0pO1xuXG4gIH1cbn1cbiJdfQ==
|