dcdx 1.2.0 → 1.3.0-next.1
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/assets/versions.json +1 -1
- package/lib/commands/apt.js +11105 -0
- package/lib/commands/build.js +1831 -772
- package/lib/commands/database.js +1553 -718
- package/lib/commands/debug.js +1872 -865
- package/lib/commands/install.js +9456 -0
- package/lib/commands/reset.js +1720 -799
- package/lib/commands/run.js +1684 -770
- package/lib/commands/stop.js +1720 -799
- package/lib/commands/update.js +9093 -0
- package/lib/index.js +73 -2
- package/lib/types/src/applications/bamboo.d.ts +0 -2
- package/lib/types/src/applications/base.d.ts +5 -4
- package/lib/types/src/applications/bitbucket.d.ts +0 -2
- package/lib/types/src/applications/confluence.d.ts +0 -2
- package/lib/types/src/applications/jira.d.ts +0 -2
- package/lib/types/src/apt/helpers/dcapt.d.ts +6 -0
- package/lib/types/src/apt/helpers/generatePerformanceReport.d.ts +2 -0
- package/lib/types/src/apt/helpers/generateScalabilityReport.d.ts +2 -0
- package/lib/types/src/apt/helpers/getAWSCredentials.d.ts +2 -0
- package/lib/types/src/apt/helpers/getAptDirectory.d.ts +1 -0
- package/lib/types/src/apt/helpers/getClusterURL.d.ts +2 -0
- package/lib/types/src/apt/helpers/getDuration.d.ts +3 -0
- package/lib/types/src/apt/helpers/getEnvironmentName.d.ts +1 -0
- package/lib/types/src/apt/helpers/getHostLicense.d.ts +4 -0
- package/lib/types/src/apt/helpers/getNodeNumberForStage.d.ts +2 -0
- package/lib/types/src/apt/helpers/getOutputDirectory.d.ts +1 -0
- package/lib/types/src/apt/helpers/getProduct.d.ts +2 -0
- package/lib/types/src/apt/helpers/getReindexProgress.d.ts +1 -0
- package/lib/types/src/apt/helpers/getReport.d.ts +2 -0
- package/lib/types/src/apt/helpers/getReportDirectory.d.ts +1 -0
- package/lib/types/src/apt/helpers/getResults.d.ts +2 -0
- package/lib/types/src/apt/helpers/getResultsDirectory.d.ts +2 -0
- package/lib/types/src/apt/helpers/getRunForStage.d.ts +2 -0
- package/lib/types/src/apt/helpers/installApp.d.ts +1 -0
- package/lib/types/src/apt/helpers/persistClusterConfiguration.d.ts +1 -0
- package/lib/types/src/apt/helpers/persistTestConfiguration.d.ts +2 -0
- package/lib/types/src/apt/helpers/persistsAWSCredentials.d.ts +1 -0
- package/lib/types/src/apt/helpers/provisionCluster.d.ts +8 -0
- package/lib/types/src/apt/helpers/reindex.d.ts +1 -0
- package/lib/types/src/apt/helpers/runPerformanceTest.d.ts +2 -0
- package/lib/types/src/apt/helpers/runScalabilityTest.d.ts +2 -0
- package/lib/types/src/apt/helpers/teardownCluster.d.ts +2 -0
- package/lib/types/src/apt/helpers/waitForUserInput.d.ts +2 -0
- package/lib/types/src/apt/messages.d.ts +30 -0
- package/lib/types/src/apt/performance.d.ts +2 -0
- package/lib/types/src/apt/scalability.d.ts +2 -0
- package/lib/types/src/commands/apt.d.ts +2 -0
- package/lib/types/src/commands/install.d.ts +2 -0
- package/lib/types/src/commands/update.d.ts +2 -0
- package/lib/types/src/helpers/ActionHandler.d.ts +8 -3
- package/lib/types/src/helpers/CustomBuilder.d.ts +12 -0
- package/lib/types/src/helpers/FileWatcher.d.ts +2 -2
- package/lib/types/src/helpers/Installer.d.ts +3 -0
- package/lib/types/src/helpers/amps.d.ts +1 -0
- package/lib/types/src/helpers/capitalize.d.ts +1 -0
- package/lib/types/src/helpers/generateVersionList.d.ts +3 -0
- package/lib/types/src/helpers/getDatabaseEngine.d.ts +1 -1
- package/lib/types/src/helpers/getVersions.d.ts +1 -0
- package/lib/types/src/helpers/isOfType.d.ts +1 -0
- package/lib/types/src/helpers/licences.d.ts +1 -0
- package/lib/types/src/helpers/readLinesInFile.d.ts +1 -0
- package/lib/types/src/helpers/replaceLinesInFile.d.ts +1 -0
- package/lib/types/src/helpers/upm.d.ts +3 -0
- package/lib/types/src/types/AMPS.d.ts +40 -13
- package/lib/types/src/types/Application.d.ts +15 -11
- package/lib/types/src/types/DCAPT.d.ts +302 -0
- package/package.json +20 -8
package/lib/index.js
CHANGED
|
@@ -1,16 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { program } from 'commander';
|
|
3
|
+
import { realpathSync, existsSync } from 'fs';
|
|
4
|
+
import { dirname, join } from 'path';
|
|
3
5
|
|
|
4
|
-
var version = "1.
|
|
6
|
+
var version = "1.3.0-next.1";
|
|
7
|
+
|
|
8
|
+
const toAbsolutePath = (relativePath) => {
|
|
9
|
+
const [, filePath] = process.argv;
|
|
10
|
+
const executableFileDir = dirname(realpathSync(filePath));
|
|
11
|
+
const basedir = executableFileDir.substring(0, executableFileDir.indexOf('dcdx') + 4);
|
|
12
|
+
return join(basedir, relativePath.replaceAll('../', ''));
|
|
13
|
+
};
|
|
5
14
|
|
|
6
15
|
program
|
|
7
16
|
.name('dcdx')
|
|
8
17
|
.description('The Unofficial Atlassian Data Center Plugin Development CLI')
|
|
9
18
|
.version(version)
|
|
10
19
|
.showHelpAfterError(true);
|
|
20
|
+
// ------------------------------------------------------------------------------------------ APT
|
|
21
|
+
program
|
|
22
|
+
.command('apt', 'Run the App Performance Toolkit tests', { executableFile: './commands/apt.js' });
|
|
11
23
|
// ------------------------------------------------------------------------------------------ Build
|
|
12
24
|
program
|
|
13
25
|
.command('build', 'Build the Atlassian Data Center plugin based on the Atlassian Maven Plugin Suite (AMPS) configuration', { executableFile: './commands/build.js' });
|
|
26
|
+
// ------------------------------------------------------------------------------------------ Install
|
|
27
|
+
program
|
|
28
|
+
.command('install', 'Install the Atlassian Data Center plugin based on the Atlassian Maven Plugin Suite (AMPS) configuration', { executableFile: './commands/install.js' });
|
|
14
29
|
// ------------------------------------------------------------------------------------------ Start
|
|
15
30
|
program
|
|
16
31
|
.command('debug', 'Start the product in debug mode based on the Atlassian Maven Plugin Suite (AMPS) configuration with the plugin installed', { executableFile: './commands/debug.js' });
|
|
@@ -90,5 +105,61 @@ program
|
|
|
90
105
|
process.argv.splice(2, 1, ...['profile', command]);
|
|
91
106
|
program.parse(process.argv);
|
|
92
107
|
});
|
|
108
|
+
// ------------------------------------------------------------------------------------------ Update
|
|
109
|
+
program
|
|
110
|
+
.command('update', 'Update the DCDX host product version list', { executableFile: './commands/update.js' });
|
|
111
|
+
program
|
|
112
|
+
.command('update:jira')
|
|
113
|
+
.description('Update the DCDX product version list for Atlassian Jira')
|
|
114
|
+
.action(() => {
|
|
115
|
+
process.argv.splice(2, 1, ...['update', 'jira']);
|
|
116
|
+
program.parse(process.argv);
|
|
117
|
+
});
|
|
118
|
+
program
|
|
119
|
+
.command('update:confluence')
|
|
120
|
+
.description('Update the DCDX product version list for Atlassian Confluence')
|
|
121
|
+
.action(() => {
|
|
122
|
+
process.argv.splice(2, 1, ...['update', 'confluence']);
|
|
123
|
+
program.parse(process.argv);
|
|
124
|
+
});
|
|
125
|
+
program
|
|
126
|
+
.command('update:bamboo')
|
|
127
|
+
.description('Update the DCDX product version list for Atlassian Bamboo')
|
|
128
|
+
.action(() => {
|
|
129
|
+
process.argv.splice(2, 1, ...['update', 'bamboo']);
|
|
130
|
+
program.parse(process.argv);
|
|
131
|
+
});
|
|
132
|
+
program
|
|
133
|
+
.command('update:bitbucket')
|
|
134
|
+
.description('Update the DCDX product version list for Atlassian Bitbucket')
|
|
135
|
+
.action(() => {
|
|
136
|
+
process.argv.splice(2, 1, ...['update', 'bitbucket']);
|
|
137
|
+
program.parse(process.argv);
|
|
138
|
+
});
|
|
139
|
+
program
|
|
140
|
+
.command('update:mysql')
|
|
141
|
+
.description('Update the DCDX product version list for MySQL')
|
|
142
|
+
.action(() => {
|
|
143
|
+
process.argv.splice(2, 1, ...['update', 'mysql']);
|
|
144
|
+
program.parse(process.argv);
|
|
145
|
+
});
|
|
146
|
+
program
|
|
147
|
+
.command('update:postgresql')
|
|
148
|
+
.description('Update the DCDX product version list for Postgres SQL')
|
|
149
|
+
.action(() => {
|
|
150
|
+
process.argv.splice(2, 1, ...['update', 'postgresql']);
|
|
151
|
+
program.parse(process.argv);
|
|
152
|
+
});
|
|
153
|
+
program
|
|
154
|
+
.command('update:mssql')
|
|
155
|
+
.description('Update the DCDX product version list for Microsoft SQL Server')
|
|
156
|
+
.action(() => {
|
|
157
|
+
process.argv.splice(2, 1, ...['update', 'mssql']);
|
|
158
|
+
program.parse(process.argv);
|
|
159
|
+
});
|
|
160
|
+
// Check if we need to update our version list before we parse the arguments
|
|
161
|
+
if (!process.argv.includes('update') && !existsSync(toAbsolutePath('../assets/versions.json'))) {
|
|
162
|
+
program.error('Unable to find host product version list, please run `dcdx update`');
|
|
163
|
+
}
|
|
93
164
|
program.parse();
|
|
94
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL2Rpc3Qvc3JjL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbmltcG9ydCB7IHByb2dyYW0gfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgdmVyc2lvbiB9IGZyb20gJy4uL3BhY2thZ2UuanNvbic7XG5wcm9ncmFtXG4gICAgLm5hbWUoJ2RjZHgnKVxuICAgIC5kZXNjcmlwdGlvbignVGhlIFVub2ZmaWNpYWwgQXRsYXNzaWFuIERhdGEgQ2VudGVyIFBsdWdpbiBEZXZlbG9wbWVudCBDTEknKVxuICAgIC52ZXJzaW9uKHZlcnNpb24pXG4gICAgLnNob3dIZWxwQWZ0ZXJFcnJvcih0cnVlKTtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBCdWlsZFxucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdidWlsZCcsICdCdWlsZCB0aGUgQXRsYXNzaWFuIERhdGEgQ2VudGVyIHBsdWdpbiBiYXNlZCBvbiB0aGUgQXRsYXNzaWFuIE1hdmVuIFBsdWdpbiBTdWl0ZSAoQU1QUykgY29uZmlndXJhdGlvbicsIHsgZXhlY3V0YWJsZUZpbGU6ICcuL2NvbW1hbmRzL2J1aWxkLmpzJyB9KTtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTdGFydFxucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdkZWJ1ZycsICdTdGFydCB0aGUgcHJvZHVjdCBpbiBkZWJ1ZyBtb2RlIGJhc2VkIG9uIHRoZSBBdGxhc3NpYW4gTWF2ZW4gUGx1Z2luIFN1aXRlIChBTVBTKSBjb25maWd1cmF0aW9uIHdpdGggdGhlIHBsdWdpbiBpbnN0YWxsZWQnLCB7IGV4ZWN1dGFibGVGaWxlOiAnLi9jb21tYW5kcy9kZWJ1Zy5qcycgfSk7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUnVuXG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ3J1bicsICdTdGFydCB0aGUgQXRsYXNzaWFuIGhvc3QgYXBwbGljYXRpb24gKHN0YW5kYWxvbmUpJywgeyBleGVjdXRhYmxlRmlsZTogJy4vY29tbWFuZHMvcnVuLmpzJyB9KTtcbnByb2dyYW1cbiAgICAuY29tbWFuZCgncnVuOmppcmEnKVxuICAgIC5kZXNjcmlwdGlvbignU3RhcnQgQXRsYXNzaWFuIEppcmEnKVxuICAgIC5hY3Rpb24oKCkgPT4ge1xuICAgIHByb2Nlc3MuYXJndi5zcGxpY2UoMiwgMSwgLi4uWydydW4nLCAnamlyYSddKTtcbiAgICBwcm9ncmFtLnBhcnNlKHByb2Nlc3MuYXJndik7XG59KTtcbnByb2dyYW1cbiAgICAuY29tbWFuZCgncnVuOmNvbmZsdWVuY2UnKVxuICAgIC5kZXNjcmlwdGlvbignU3RhcnQgQXRsYXNzaWFuIENvbmZsdWVuY2UnKVxuICAgIC5hY3Rpb24oKCkgPT4ge1xuICAgIHByb2Nlc3MuYXJndi5zcGxpY2UoMiwgMSwgLi4uWydydW4nLCAnY29uZmx1ZW5jZSddKTtcbiAgICBwcm9ncmFtLnBhcnNlKHByb2Nlc3MuYXJndik7XG59KTtcbnByb2dyYW1cbiAgICAuY29tbWFuZCgncnVuOmJpdGJ1Y2tldCcpXG4gICAgLmRlc2NyaXB0aW9uKCdTdGFydCBBdGxhc3NpYW4gQml0YnVja2V0JylcbiAgICAuYWN0aW9uKCgpID0+IHtcbiAgICBwcm9jZXNzLmFyZ3Yuc3BsaWNlKDIsIDEsIC4uLlsncnVuJywgJ2JpdGJ1Y2tldCddKTtcbiAgICBwcm9ncmFtLnBhcnNlKHByb2Nlc3MuYXJndik7XG59KTtcbnByb2dyYW1cbiAgICAuY29tbWFuZCgncnVuOmJhbWJvbycpXG4gICAgLmRlc2NyaXB0aW9uKCdTdGFydCBBdGxhc3NpYW4gQmFtYm9vJylcbiAgICAuYWN0aW9uKCgpID0+IHtcbiAgICBwcm9jZXNzLmFyZ3Yuc3BsaWNlKDIsIDEsIC4uLlsncnVuJywgJ2JhbWJvbyddKTtcbiAgICBwcm9ncmFtLnBhcnNlKHByb2Nlc3MuYXJndik7XG59KTtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBEYXRhYmFzZVxucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdkYXRhYmFzZScsICdTdGFydCBhIGRhdGFiYXNlIGVuZ2luZSAoc3RhbmRhbG9uZSknLCB7IGV4ZWN1dGFibGVGaWxlOiAnLi9jb21tYW5kcy9kYXRhYmFzZS5qcycgfSk7XG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ2RhdGFiYXNlOnBvc3RncmVzJylcbiAgICAuZGVzY3JpcHRpb24oJ1N0YXJ0IFBvc3RncmVTUUwnKVxuICAgIC5hY3Rpb24oKCkgPT4ge1xuICAgIHByb2Nlc3MuYXJndi5zcGxpY2UoMiwgMSwgLi4uWydkYXRhYmFzZScsICdwb3N0Z3Jlc3FsJ10pO1xuICAgIHByb2dyYW0ucGFyc2UocHJvY2Vzcy5hcmd2KTtcbn0pO1xucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdkYXRhYmFzZTpwb3N0Z3Jlc3FsJylcbiAgICAuZGVzY3JpcHRpb24oJ1N0YXJ0IFBvc3RncmVTUUwnKVxuICAgIC5hY3Rpb24oKCkgPT4ge1xuICAgIHByb2Nlc3MuYXJndi5zcGxpY2UoMiwgMSwgLi4uWydkYXRhYmFzZScsICdwb3N0Z3Jlc3FsJ10pO1xuICAgIHByb2dyYW0ucGFyc2UocHJvY2Vzcy5hcmd2KTtcbn0pO1xucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdkYXRhYmFzZTpteXNxbCcpXG4gICAgLmRlc2NyaXB0aW9uKCdTdGFydCBNeVNRTCcpXG4gICAgLmFjdGlvbigoKSA9PiB7XG4gICAgcHJvY2Vzcy5hcmd2LnNwbGljZSgyLCAxLCAuLi5bJ2RhdGFiYXNlJywgJ215c3FsJ10pO1xuICAgIHByb2dyYW0ucGFyc2UocHJvY2Vzcy5hcmd2KTtcbn0pO1xucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdkYXRhYmFzZTptc3NxbCcpXG4gICAgLmRlc2NyaXB0aW9uKCdTdGFydCBNaWNyb3NvZnQgU3FsIFNlcnZlcicpXG4gICAgLmFjdGlvbigoKSA9PiB7XG4gICAgcHJvY2Vzcy5hcmd2LnNwbGljZSgyLCAxLCAuLi5bJ2RhdGFiYXNlJywgJ21zc3FsJ10pO1xuICAgIHByb2dyYW0ucGFyc2UocHJvY2Vzcy5hcmd2KTtcbn0pO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFN0b3BcbnByb2dyYW1cbiAgICAuY29tbWFuZCgnc3RvcCcsICdTdG9wIHRoZSBob3N0IGFwcGxpY2F0aW9uIGFuZCBkYXRhYmFzZScsIHsgZXhlY3V0YWJsZUZpbGU6ICcuL2NvbW1hbmRzL3N0b3AuanMnIH0pO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFJlc2V0XG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ3Jlc2V0JywgJ1JlbW92ZSBhbGwgYXBwbGljYXRpb24gZGF0YSAoaW5jbC4gZGF0YWJhc2UpIGFuZCBzdGFydCBmcmVzaCEnLCB7IGV4ZWN1dGFibGVGaWxlOiAnLi9jb21tYW5kcy9yZXNldC5qcycgfSk7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUHJvZmlsZVxucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdwcm9maWxlJywgJ1J1biBhIHByZWRlZmluZWQgcHJvZmlsZScsIHsgZXhlY3V0YWJsZUZpbGU6ICcuL2NvbW1hbmRzL3Byb2ZpbGUuanMnIH0pXG4gICAgLm9uKCdjb21tYW5kOionLCAoYXJncykgPT4ge1xuICAgIGNvbnN0IGNvbW1hbmQgPSBhcmdzWzBdO1xuICAgIHByb2Nlc3MuYXJndi5zcGxpY2UoMiwgMSwgLi4uWydwcm9maWxlJywgY29tbWFuZF0pO1xuICAgIHByb2dyYW0ucGFyc2UocHJvY2Vzcy5hcmd2KTtcbn0pO1xucHJvZ3JhbS5wYXJzZSgpO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsT0FBTztBQUNQLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQztBQUNqQixLQUFLLFdBQVcsQ0FBQyw2REFBNkQsQ0FBQztBQUMvRSxLQUFLLE9BQU8sQ0FBQyxPQUFPLENBQUM7QUFDckIsS0FBSyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM5QjtBQUNBLE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxPQUFPLEVBQUUsdUdBQXVHLEVBQUUsRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0FBQzFLO0FBQ0EsT0FBTztBQUNQLEtBQUssT0FBTyxDQUFDLE9BQU8sRUFBRSwwSEFBMEgsRUFBRSxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7QUFDN0w7QUFDQSxPQUFPO0FBQ1AsS0FBSyxPQUFPLENBQUMsS0FBSyxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQztBQUNsSCxPQUFPO0FBQ1AsS0FBSyxPQUFPLENBQUMsVUFBVSxDQUFDO0FBQ3hCLEtBQUssV0FBVyxDQUFDLHNCQUFzQixDQUFDO0FBQ3hDLEtBQUssTUFBTSxDQUFDLE1BQU07QUFDbEIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNsRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDO0FBQ0gsT0FBTztBQUNQLEtBQUssT0FBTyxDQUFDLGdCQUFnQixDQUFDO0FBQzlCLEtBQUssV0FBVyxDQUFDLDRCQUE0QixDQUFDO0FBQzlDLEtBQUssTUFBTSxDQUFDLE1BQU07QUFDbEIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztBQUN4RCxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDO0FBQ0gsT0FBTztBQUNQLEtBQUssT0FBTyxDQUFDLGVBQWUsQ0FBQztBQUM3QixLQUFLLFdBQVcsQ0FBQywyQkFBMkIsQ0FBQztBQUM3QyxLQUFLLE1BQU0sQ0FBQyxNQUFNO0FBQ2xCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7QUFDdkQsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQztBQUNILE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxZQUFZLENBQUM7QUFDMUIsS0FBSyxXQUFXLENBQUMsd0JBQXdCLENBQUM7QUFDMUMsS0FBSyxNQUFNLENBQUMsTUFBTTtBQUNsQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ3BELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxVQUFVLEVBQUUsc0NBQXNDLEVBQUUsRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO0FBQy9HLE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztBQUNqQyxLQUFLLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQztBQUNwQyxLQUFLLE1BQU0sQ0FBQyxNQUFNO0FBQ2xCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDN0QsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQztBQUNILE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQztBQUNuQyxLQUFLLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQztBQUNwQyxLQUFLLE1BQU0sQ0FBQyxNQUFNO0FBQ2xCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDN0QsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQztBQUNILE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztBQUM5QixLQUFLLFdBQVcsQ0FBQyxhQUFhLENBQUM7QUFDL0IsS0FBSyxNQUFNLENBQUMsTUFBTTtBQUNsQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3hELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUM7QUFDSCxPQUFPO0FBQ1AsS0FBSyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7QUFDOUIsS0FBSyxXQUFXLENBQUMsNEJBQTRCLENBQUM7QUFDOUMsS0FBSyxNQUFNLENBQUMsTUFBTTtBQUNsQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3hELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxNQUFNLEVBQUUsd0NBQXdDLEVBQUUsRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0FBQ3pHO0FBQ0EsT0FBTztBQUNQLEtBQUssT0FBTyxDQUFDLE9BQU8sRUFBRSwrREFBK0QsRUFBRSxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7QUFDbEk7QUFDQSxPQUFPO0FBQ1AsS0FBSyxPQUFPLENBQUMsU0FBUyxFQUFFLDBCQUEwQixFQUFFLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLENBQUM7QUFDaEcsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxLQUFLO0FBQy9CLElBQUksTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDdkQsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQztBQUNILE9BQU8sQ0FBQyxLQUFLLEVBQUUifQ==
|
|
165
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL2Rpc3Qvc3JjL2hlbHBlcnMvdG9BYnNvbHV0ZVBhdGguanMiLCIuLi9kaXN0L3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFscGF0aFN5bmMgfSBmcm9tICdmcyc7XG5pbXBvcnQgeyBkaXJuYW1lLCBqb2luIH0gZnJvbSAncGF0aCc7XG5leHBvcnQgY29uc3QgdG9BYnNvbHV0ZVBhdGggPSAocmVsYXRpdmVQYXRoKSA9PiB7XG4gICAgY29uc3QgWywgZmlsZVBhdGhdID0gcHJvY2Vzcy5hcmd2O1xuICAgIGNvbnN0IGV4ZWN1dGFibGVGaWxlRGlyID0gZGlybmFtZShyZWFscGF0aFN5bmMoZmlsZVBhdGgpKTtcbiAgICBjb25zdCBiYXNlZGlyID0gZXhlY3V0YWJsZUZpbGVEaXIuc3Vic3RyaW5nKDAsIGV4ZWN1dGFibGVGaWxlRGlyLmluZGV4T2YoJ2RjZHgnKSArIDQpO1xuICAgIHJldHVybiBqb2luKGJhc2VkaXIsIHJlbGF0aXZlUGF0aC5yZXBsYWNlQWxsKCcuLi8nLCAnJykpO1xufTtcbiIsIiMhL3Vzci9iaW4vZW52IG5vZGVcbmltcG9ydCB7IHByb2dyYW0gfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ2ZzJztcbmltcG9ydCB7IHZlcnNpb24gfSBmcm9tICcuLi9wYWNrYWdlLmpzb24nO1xuaW1wb3J0IHsgdG9BYnNvbHV0ZVBhdGggfSBmcm9tICcuL2hlbHBlcnMvdG9BYnNvbHV0ZVBhdGgnO1xucHJvZ3JhbVxuICAgIC5uYW1lKCdkY2R4JylcbiAgICAuZGVzY3JpcHRpb24oJ1RoZSBVbm9mZmljaWFsIEF0bGFzc2lhbiBEYXRhIENlbnRlciBQbHVnaW4gRGV2ZWxvcG1lbnQgQ0xJJylcbiAgICAudmVyc2lvbih2ZXJzaW9uKVxuICAgIC5zaG93SGVscEFmdGVyRXJyb3IodHJ1ZSk7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQVBUXG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ2FwdCcsICdSdW4gdGhlIEFwcCBQZXJmb3JtYW5jZSBUb29sa2l0IHRlc3RzJywgeyBleGVjdXRhYmxlRmlsZTogJy4vY29tbWFuZHMvYXB0LmpzJyB9KTtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBCdWlsZFxucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdidWlsZCcsICdCdWlsZCB0aGUgQXRsYXNzaWFuIERhdGEgQ2VudGVyIHBsdWdpbiBiYXNlZCBvbiB0aGUgQXRsYXNzaWFuIE1hdmVuIFBsdWdpbiBTdWl0ZSAoQU1QUykgY29uZmlndXJhdGlvbicsIHsgZXhlY3V0YWJsZUZpbGU6ICcuL2NvbW1hbmRzL2J1aWxkLmpzJyB9KTtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBJbnN0YWxsXG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ2luc3RhbGwnLCAnSW5zdGFsbCB0aGUgQXRsYXNzaWFuIERhdGEgQ2VudGVyIHBsdWdpbiBiYXNlZCBvbiB0aGUgQXRsYXNzaWFuIE1hdmVuIFBsdWdpbiBTdWl0ZSAoQU1QUykgY29uZmlndXJhdGlvbicsIHsgZXhlY3V0YWJsZUZpbGU6ICcuL2NvbW1hbmRzL2luc3RhbGwuanMnIH0pO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFN0YXJ0XG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ2RlYnVnJywgJ1N0YXJ0IHRoZSBwcm9kdWN0IGluIGRlYnVnIG1vZGUgYmFzZWQgb24gdGhlIEF0bGFzc2lhbiBNYXZlbiBQbHVnaW4gU3VpdGUgKEFNUFMpIGNvbmZpZ3VyYXRpb24gd2l0aCB0aGUgcGx1Z2luIGluc3RhbGxlZCcsIHsgZXhlY3V0YWJsZUZpbGU6ICcuL2NvbW1hbmRzL2RlYnVnLmpzJyB9KTtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBSdW5cbnByb2dyYW1cbiAgICAuY29tbWFuZCgncnVuJywgJ1N0YXJ0IHRoZSBBdGxhc3NpYW4gaG9zdCBhcHBsaWNhdGlvbiAoc3RhbmRhbG9uZSknLCB7IGV4ZWN1dGFibGVGaWxlOiAnLi9jb21tYW5kcy9ydW4uanMnIH0pO1xucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdydW46amlyYScpXG4gICAgLmRlc2NyaXB0aW9uKCdTdGFydCBBdGxhc3NpYW4gSmlyYScpXG4gICAgLmFjdGlvbigoKSA9PiB7XG4gICAgcHJvY2Vzcy5hcmd2LnNwbGljZSgyLCAxLCAuLi5bJ3J1bicsICdqaXJhJ10pO1xuICAgIHByb2dyYW0ucGFyc2UocHJvY2Vzcy5hcmd2KTtcbn0pO1xucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdydW46Y29uZmx1ZW5jZScpXG4gICAgLmRlc2NyaXB0aW9uKCdTdGFydCBBdGxhc3NpYW4gQ29uZmx1ZW5jZScpXG4gICAgLmFjdGlvbigoKSA9PiB7XG4gICAgcHJvY2Vzcy5hcmd2LnNwbGljZSgyLCAxLCAuLi5bJ3J1bicsICdjb25mbHVlbmNlJ10pO1xuICAgIHByb2dyYW0ucGFyc2UocHJvY2Vzcy5hcmd2KTtcbn0pO1xucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdydW46Yml0YnVja2V0JylcbiAgICAuZGVzY3JpcHRpb24oJ1N0YXJ0IEF0bGFzc2lhbiBCaXRidWNrZXQnKVxuICAgIC5hY3Rpb24oKCkgPT4ge1xuICAgIHByb2Nlc3MuYXJndi5zcGxpY2UoMiwgMSwgLi4uWydydW4nLCAnYml0YnVja2V0J10pO1xuICAgIHByb2dyYW0ucGFyc2UocHJvY2Vzcy5hcmd2KTtcbn0pO1xucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdydW46YmFtYm9vJylcbiAgICAuZGVzY3JpcHRpb24oJ1N0YXJ0IEF0bGFzc2lhbiBCYW1ib28nKVxuICAgIC5hY3Rpb24oKCkgPT4ge1xuICAgIHByb2Nlc3MuYXJndi5zcGxpY2UoMiwgMSwgLi4uWydydW4nLCAnYmFtYm9vJ10pO1xuICAgIHByb2dyYW0ucGFyc2UocHJvY2Vzcy5hcmd2KTtcbn0pO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIERhdGFiYXNlXG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ2RhdGFiYXNlJywgJ1N0YXJ0IGEgZGF0YWJhc2UgZW5naW5lIChzdGFuZGFsb25lKScsIHsgZXhlY3V0YWJsZUZpbGU6ICcuL2NvbW1hbmRzL2RhdGFiYXNlLmpzJyB9KTtcbnByb2dyYW1cbiAgICAuY29tbWFuZCgnZGF0YWJhc2U6cG9zdGdyZXMnKVxuICAgIC5kZXNjcmlwdGlvbignU3RhcnQgUG9zdGdyZVNRTCcpXG4gICAgLmFjdGlvbigoKSA9PiB7XG4gICAgcHJvY2Vzcy5hcmd2LnNwbGljZSgyLCAxLCAuLi5bJ2RhdGFiYXNlJywgJ3Bvc3RncmVzcWwnXSk7XG4gICAgcHJvZ3JhbS5wYXJzZShwcm9jZXNzLmFyZ3YpO1xufSk7XG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ2RhdGFiYXNlOnBvc3RncmVzcWwnKVxuICAgIC5kZXNjcmlwdGlvbignU3RhcnQgUG9zdGdyZVNRTCcpXG4gICAgLmFjdGlvbigoKSA9PiB7XG4gICAgcHJvY2Vzcy5hcmd2LnNwbGljZSgyLCAxLCAuLi5bJ2RhdGFiYXNlJywgJ3Bvc3RncmVzcWwnXSk7XG4gICAgcHJvZ3JhbS5wYXJzZShwcm9jZXNzLmFyZ3YpO1xufSk7XG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ2RhdGFiYXNlOm15c3FsJylcbiAgICAuZGVzY3JpcHRpb24oJ1N0YXJ0IE15U1FMJylcbiAgICAuYWN0aW9uKCgpID0+IHtcbiAgICBwcm9jZXNzLmFyZ3Yuc3BsaWNlKDIsIDEsIC4uLlsnZGF0YWJhc2UnLCAnbXlzcWwnXSk7XG4gICAgcHJvZ3JhbS5wYXJzZShwcm9jZXNzLmFyZ3YpO1xufSk7XG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ2RhdGFiYXNlOm1zc3FsJylcbiAgICAuZGVzY3JpcHRpb24oJ1N0YXJ0IE1pY3Jvc29mdCBTcWwgU2VydmVyJylcbiAgICAuYWN0aW9uKCgpID0+IHtcbiAgICBwcm9jZXNzLmFyZ3Yuc3BsaWNlKDIsIDEsIC4uLlsnZGF0YWJhc2UnLCAnbXNzcWwnXSk7XG4gICAgcHJvZ3JhbS5wYXJzZShwcm9jZXNzLmFyZ3YpO1xufSk7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gU3RvcFxucHJvZ3JhbVxuICAgIC5jb21tYW5kKCdzdG9wJywgJ1N0b3AgdGhlIGhvc3QgYXBwbGljYXRpb24gYW5kIGRhdGFiYXNlJywgeyBleGVjdXRhYmxlRmlsZTogJy4vY29tbWFuZHMvc3RvcC5qcycgfSk7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUmVzZXRcbnByb2dyYW1cbiAgICAuY29tbWFuZCgncmVzZXQnLCAnUmVtb3ZlIGFsbCBhcHBsaWNhdGlvbiBkYXRhIChpbmNsLiBkYXRhYmFzZSkgYW5kIHN0YXJ0IGZyZXNoIScsIHsgZXhlY3V0YWJsZUZpbGU6ICcuL2NvbW1hbmRzL3Jlc2V0LmpzJyB9KTtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQcm9maWxlXG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ3Byb2ZpbGUnLCAnUnVuIGEgcHJlZGVmaW5lZCBwcm9maWxlJywgeyBleGVjdXRhYmxlRmlsZTogJy4vY29tbWFuZHMvcHJvZmlsZS5qcycgfSlcbiAgICAub24oJ2NvbW1hbmQ6KicsIChhcmdzKSA9PiB7XG4gICAgY29uc3QgY29tbWFuZCA9IGFyZ3NbMF07XG4gICAgcHJvY2Vzcy5hcmd2LnNwbGljZSgyLCAxLCAuLi5bJ3Byb2ZpbGUnLCBjb21tYW5kXSk7XG4gICAgcHJvZ3JhbS5wYXJzZShwcm9jZXNzLmFyZ3YpO1xufSk7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gVXBkYXRlXG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ3VwZGF0ZScsICdVcGRhdGUgdGhlIERDRFggaG9zdCBwcm9kdWN0IHZlcnNpb24gbGlzdCcsIHsgZXhlY3V0YWJsZUZpbGU6ICcuL2NvbW1hbmRzL3VwZGF0ZS5qcycgfSk7XG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ3VwZGF0ZTpqaXJhJylcbiAgICAuZGVzY3JpcHRpb24oJ1VwZGF0ZSB0aGUgRENEWCBwcm9kdWN0IHZlcnNpb24gbGlzdCBmb3IgQXRsYXNzaWFuIEppcmEnKVxuICAgIC5hY3Rpb24oKCkgPT4ge1xuICAgIHByb2Nlc3MuYXJndi5zcGxpY2UoMiwgMSwgLi4uWyd1cGRhdGUnLCAnamlyYSddKTtcbiAgICBwcm9ncmFtLnBhcnNlKHByb2Nlc3MuYXJndik7XG59KTtcbnByb2dyYW1cbiAgICAuY29tbWFuZCgndXBkYXRlOmNvbmZsdWVuY2UnKVxuICAgIC5kZXNjcmlwdGlvbignVXBkYXRlIHRoZSBEQ0RYIHByb2R1Y3QgdmVyc2lvbiBsaXN0IGZvciBBdGxhc3NpYW4gQ29uZmx1ZW5jZScpXG4gICAgLmFjdGlvbigoKSA9PiB7XG4gICAgcHJvY2Vzcy5hcmd2LnNwbGljZSgyLCAxLCAuLi5bJ3VwZGF0ZScsICdjb25mbHVlbmNlJ10pO1xuICAgIHByb2dyYW0ucGFyc2UocHJvY2Vzcy5hcmd2KTtcbn0pO1xucHJvZ3JhbVxuICAgIC5jb21tYW5kKCd1cGRhdGU6YmFtYm9vJylcbiAgICAuZGVzY3JpcHRpb24oJ1VwZGF0ZSB0aGUgRENEWCBwcm9kdWN0IHZlcnNpb24gbGlzdCBmb3IgQXRsYXNzaWFuIEJhbWJvbycpXG4gICAgLmFjdGlvbigoKSA9PiB7XG4gICAgcHJvY2Vzcy5hcmd2LnNwbGljZSgyLCAxLCAuLi5bJ3VwZGF0ZScsICdiYW1ib28nXSk7XG4gICAgcHJvZ3JhbS5wYXJzZShwcm9jZXNzLmFyZ3YpO1xufSk7XG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ3VwZGF0ZTpiaXRidWNrZXQnKVxuICAgIC5kZXNjcmlwdGlvbignVXBkYXRlIHRoZSBEQ0RYIHByb2R1Y3QgdmVyc2lvbiBsaXN0IGZvciBBdGxhc3NpYW4gQml0YnVja2V0JylcbiAgICAuYWN0aW9uKCgpID0+IHtcbiAgICBwcm9jZXNzLmFyZ3Yuc3BsaWNlKDIsIDEsIC4uLlsndXBkYXRlJywgJ2JpdGJ1Y2tldCddKTtcbiAgICBwcm9ncmFtLnBhcnNlKHByb2Nlc3MuYXJndik7XG59KTtcbnByb2dyYW1cbiAgICAuY29tbWFuZCgndXBkYXRlOm15c3FsJylcbiAgICAuZGVzY3JpcHRpb24oJ1VwZGF0ZSB0aGUgRENEWCBwcm9kdWN0IHZlcnNpb24gbGlzdCBmb3IgTXlTUUwnKVxuICAgIC5hY3Rpb24oKCkgPT4ge1xuICAgIHByb2Nlc3MuYXJndi5zcGxpY2UoMiwgMSwgLi4uWyd1cGRhdGUnLCAnbXlzcWwnXSk7XG4gICAgcHJvZ3JhbS5wYXJzZShwcm9jZXNzLmFyZ3YpO1xufSk7XG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ3VwZGF0ZTpwb3N0Z3Jlc3FsJylcbiAgICAuZGVzY3JpcHRpb24oJ1VwZGF0ZSB0aGUgRENEWCBwcm9kdWN0IHZlcnNpb24gbGlzdCBmb3IgUG9zdGdyZXMgU1FMJylcbiAgICAuYWN0aW9uKCgpID0+IHtcbiAgICBwcm9jZXNzLmFyZ3Yuc3BsaWNlKDIsIDEsIC4uLlsndXBkYXRlJywgJ3Bvc3RncmVzcWwnXSk7XG4gICAgcHJvZ3JhbS5wYXJzZShwcm9jZXNzLmFyZ3YpO1xufSk7XG5wcm9ncmFtXG4gICAgLmNvbW1hbmQoJ3VwZGF0ZTptc3NxbCcpXG4gICAgLmRlc2NyaXB0aW9uKCdVcGRhdGUgdGhlIERDRFggcHJvZHVjdCB2ZXJzaW9uIGxpc3QgZm9yIE1pY3Jvc29mdCBTUUwgU2VydmVyJylcbiAgICAuYWN0aW9uKCgpID0+IHtcbiAgICBwcm9jZXNzLmFyZ3Yuc3BsaWNlKDIsIDEsIC4uLlsndXBkYXRlJywgJ21zc3FsJ10pO1xuICAgIHByb2dyYW0ucGFyc2UocHJvY2Vzcy5hcmd2KTtcbn0pO1xuLy8gQ2hlY2sgaWYgd2UgbmVlZCB0byB1cGRhdGUgb3VyIHZlcnNpb24gbGlzdCBiZWZvcmUgd2UgcGFyc2UgdGhlIGFyZ3VtZW50c1xuaWYgKCFwcm9jZXNzLmFyZ3YuaW5jbHVkZXMoJ3VwZGF0ZScpICYmICFleGlzdHNTeW5jKHRvQWJzb2x1dGVQYXRoKCcuLi9hc3NldHMvdmVyc2lvbnMuanNvbicpKSkge1xuICAgIHByb2dyYW0uZXJyb3IoJ1VuYWJsZSB0byBmaW5kIGhvc3QgcHJvZHVjdCB2ZXJzaW9uIGxpc3QsIHBsZWFzZSBydW4gYGRjZHggdXBkYXRlYCcpO1xufVxucHJvZ3JhbS5wYXJzZSgpO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFTyxNQUFNLGNBQWMsR0FBRyxDQUFDLFlBQVksS0FBSztBQUNoRCxJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0FBQ3RDLElBQUksTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDOUQsSUFBSSxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUMxRixJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdELENBQUM7O0FDRkQsT0FBTztBQUNQLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQztBQUNqQixLQUFLLFdBQVcsQ0FBQyw2REFBNkQsQ0FBQztBQUMvRSxLQUFLLE9BQU8sQ0FBQyxPQUFPLENBQUM7QUFDckIsS0FBSyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM5QjtBQUNBLE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxLQUFLLEVBQUUsdUNBQXVDLEVBQUUsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0FBQ3RHO0FBQ0EsT0FBTztBQUNQLEtBQUssT0FBTyxDQUFDLE9BQU8sRUFBRSx1R0FBdUcsRUFBRSxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7QUFDMUs7QUFDQSxPQUFPO0FBQ1AsS0FBSyxPQUFPLENBQUMsU0FBUyxFQUFFLHlHQUF5RyxFQUFFLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLENBQUMsQ0FBQztBQUNoTDtBQUNBLE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxPQUFPLEVBQUUsMEhBQTBILEVBQUUsRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0FBQzdMO0FBQ0EsT0FBTztBQUNQLEtBQUssT0FBTyxDQUFDLEtBQUssRUFBRSxtREFBbUQsRUFBRSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7QUFDbEgsT0FBTztBQUNQLEtBQUssT0FBTyxDQUFDLFVBQVUsQ0FBQztBQUN4QixLQUFLLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQztBQUN4QyxLQUFLLE1BQU0sQ0FBQyxNQUFNO0FBQ2xCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDbEQsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQztBQUNILE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztBQUM5QixLQUFLLFdBQVcsQ0FBQyw0QkFBNEIsQ0FBQztBQUM5QyxLQUFLLE1BQU0sQ0FBQyxNQUFNO0FBQ2xCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDeEQsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQztBQUNILE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxlQUFlLENBQUM7QUFDN0IsS0FBSyxXQUFXLENBQUMsMkJBQTJCLENBQUM7QUFDN0MsS0FBSyxNQUFNLENBQUMsTUFBTTtBQUNsQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUM7QUFDSCxPQUFPO0FBQ1AsS0FBSyxPQUFPLENBQUMsWUFBWSxDQUFDO0FBQzFCLEtBQUssV0FBVyxDQUFDLHdCQUF3QixDQUFDO0FBQzFDLEtBQUssTUFBTSxDQUFDLE1BQU07QUFDbEIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUNwRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxPQUFPO0FBQ1AsS0FBSyxPQUFPLENBQUMsVUFBVSxFQUFFLHNDQUFzQyxFQUFFLEVBQUUsY0FBYyxFQUFFLHdCQUF3QixFQUFFLENBQUMsQ0FBQztBQUMvRyxPQUFPO0FBQ1AsS0FBSyxPQUFPLENBQUMsbUJBQW1CLENBQUM7QUFDakMsS0FBSyxXQUFXLENBQUMsa0JBQWtCLENBQUM7QUFDcEMsS0FBSyxNQUFNLENBQUMsTUFBTTtBQUNsQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQzdELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUM7QUFDSCxPQUFPO0FBQ1AsS0FBSyxPQUFPLENBQUMscUJBQXFCLENBQUM7QUFDbkMsS0FBSyxXQUFXLENBQUMsa0JBQWtCLENBQUM7QUFDcEMsS0FBSyxNQUFNLENBQUMsTUFBTTtBQUNsQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQzdELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUM7QUFDSCxPQUFPO0FBQ1AsS0FBSyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7QUFDOUIsS0FBSyxXQUFXLENBQUMsYUFBYSxDQUFDO0FBQy9CLEtBQUssTUFBTSxDQUFDLE1BQU07QUFDbEIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUN4RCxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDO0FBQ0gsT0FBTztBQUNQLEtBQUssT0FBTyxDQUFDLGdCQUFnQixDQUFDO0FBQzlCLEtBQUssV0FBVyxDQUFDLDRCQUE0QixDQUFDO0FBQzlDLEtBQUssTUFBTSxDQUFDLE1BQU07QUFDbEIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUN4RCxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxPQUFPO0FBQ1AsS0FBSyxPQUFPLENBQUMsTUFBTSxFQUFFLHdDQUF3QyxFQUFFLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztBQUN6RztBQUNBLE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxPQUFPLEVBQUUsK0RBQStELEVBQUUsRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0FBQ2xJO0FBQ0EsT0FBTztBQUNQLEtBQUssT0FBTyxDQUFDLFNBQVMsRUFBRSwwQkFBMEIsRUFBRSxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxDQUFDO0FBQ2hHLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksS0FBSztBQUMvQixJQUFJLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxRQUFRLEVBQUUsMkNBQTJDLEVBQUUsRUFBRSxjQUFjLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0FBQ2hILE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxhQUFhLENBQUM7QUFDM0IsS0FBSyxXQUFXLENBQUMseURBQXlELENBQUM7QUFDM0UsS0FBSyxNQUFNLENBQUMsTUFBTTtBQUNsQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3JELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUM7QUFDSCxPQUFPO0FBQ1AsS0FBSyxPQUFPLENBQUMsbUJBQW1CLENBQUM7QUFDakMsS0FBSyxXQUFXLENBQUMsK0RBQStELENBQUM7QUFDakYsS0FBSyxNQUFNLENBQUMsTUFBTTtBQUNsQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQzNELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUM7QUFDSCxPQUFPO0FBQ1AsS0FBSyxPQUFPLENBQUMsZUFBZSxDQUFDO0FBQzdCLEtBQUssV0FBVyxDQUFDLDJEQUEyRCxDQUFDO0FBQzdFLEtBQUssTUFBTSxDQUFDLE1BQU07QUFDbEIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUN2RCxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDO0FBQ0gsT0FBTztBQUNQLEtBQUssT0FBTyxDQUFDLGtCQUFrQixDQUFDO0FBQ2hDLEtBQUssV0FBVyxDQUFDLDhEQUE4RCxDQUFDO0FBQ2hGLEtBQUssTUFBTSxDQUFDLE1BQU07QUFDbEIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztBQUMxRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDO0FBQ0gsT0FBTztBQUNQLEtBQUssT0FBTyxDQUFDLGNBQWMsQ0FBQztBQUM1QixLQUFLLFdBQVcsQ0FBQyxnREFBZ0QsQ0FBQztBQUNsRSxLQUFLLE1BQU0sQ0FBQyxNQUFNO0FBQ2xCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDdEQsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQztBQUNILE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztBQUNqQyxLQUFLLFdBQVcsQ0FBQyx1REFBdUQsQ0FBQztBQUN6RSxLQUFLLE1BQU0sQ0FBQyxNQUFNO0FBQ2xCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDM0QsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMsQ0FBQztBQUNILE9BQU87QUFDUCxLQUFLLE9BQU8sQ0FBQyxjQUFjLENBQUM7QUFDNUIsS0FBSyxXQUFXLENBQUMsK0RBQStELENBQUM7QUFDakYsS0FBSyxNQUFNLENBQUMsTUFBTTtBQUNsQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3RELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsQ0FBQyxFQUFFO0FBQ2hHLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDO0FBQ3hGLENBQUM7QUFDRCxPQUFPLENBQUMsS0FBSyxFQUFFIn0=
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { TApplicationOptions } from '../types/Application';
|
|
2
|
-
import { DatabaseEngine } from '../types/Database';
|
|
3
2
|
import { Service } from '../types/DockerComposeV3';
|
|
4
3
|
import { Base } from './base';
|
|
5
4
|
export declare class Bamboo extends Base {
|
|
6
5
|
name: "bamboo";
|
|
7
|
-
database: DatabaseEngine;
|
|
8
6
|
logFilePath: string;
|
|
9
7
|
constructor(options: TApplicationOptions);
|
|
10
8
|
protected getService(): Service;
|
|
@@ -3,8 +3,8 @@ import { DatabaseEngine, TSupportedDatabaseEngines } from '../types/Database';
|
|
|
3
3
|
import { Service } from '../types/DockerComposeV3';
|
|
4
4
|
export declare abstract class Base implements Application {
|
|
5
5
|
protected options: TApplicationOptions;
|
|
6
|
+
database: DatabaseEngine;
|
|
6
7
|
abstract get name(): TSupportedApplications;
|
|
7
|
-
abstract get database(): DatabaseEngine;
|
|
8
8
|
abstract get logFilePath(): string;
|
|
9
9
|
constructor(options: TApplicationOptions);
|
|
10
10
|
protected get baseUrl(): string;
|
|
@@ -14,16 +14,17 @@ export declare abstract class Base implements Application {
|
|
|
14
14
|
protected abstract getService(): Service;
|
|
15
15
|
protected getJVMArgs(): Array<string>;
|
|
16
16
|
protected isApplicationReady(): Promise<boolean>;
|
|
17
|
-
protected getDatabaseEngine(name: TSupportedDatabaseEngines): DatabaseEngine;
|
|
17
|
+
protected getDatabaseEngine(name: TSupportedDatabaseEngines, tag?: string): DatabaseEngine;
|
|
18
|
+
protected getDockerBaseTag(): string;
|
|
18
19
|
private getDockerComposeConfig;
|
|
19
20
|
private up;
|
|
20
21
|
private down;
|
|
21
22
|
private getServiceState;
|
|
22
23
|
private waitUntilReady;
|
|
23
|
-
private
|
|
24
|
+
private isBuidRequired;
|
|
24
25
|
private build;
|
|
26
|
+
private getDockerRepositoryUrl;
|
|
25
27
|
private tailApplicationLogs;
|
|
26
|
-
private showDockerLogs;
|
|
27
28
|
private showApplicationLogs;
|
|
28
29
|
private getDefaultOptions;
|
|
29
30
|
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { TApplicationOptions } from '../types/Application';
|
|
2
|
-
import { DatabaseEngine } from '../types/Database';
|
|
3
2
|
import { Service } from '../types/DockerComposeV3';
|
|
4
3
|
import { Base } from './base';
|
|
5
4
|
export declare class Bitbucket extends Base {
|
|
6
5
|
name: "bitbucket";
|
|
7
|
-
database: DatabaseEngine;
|
|
8
6
|
logFilePath: string;
|
|
9
7
|
constructor(options: TApplicationOptions);
|
|
10
8
|
protected getService(): Service;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { TApplicationOptions } from '../types/Application';
|
|
2
|
-
import { DatabaseEngine } from '../types/Database';
|
|
3
2
|
import { Service } from '../types/DockerComposeV3';
|
|
4
3
|
import { Base } from './base';
|
|
5
4
|
export declare class Confluence extends Base {
|
|
6
5
|
name: "confluence";
|
|
7
|
-
database: DatabaseEngine;
|
|
8
6
|
logFilePath: string;
|
|
9
7
|
constructor(options: TApplicationOptions);
|
|
10
8
|
protected getService(): Service;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { TApplicationOptions } from '../types/Application';
|
|
2
|
-
import { DatabaseEngine } from '../types/Database';
|
|
3
2
|
import { Service } from '../types/DockerComposeV3';
|
|
4
3
|
import { Base } from './base';
|
|
5
4
|
export declare class Jira extends Base {
|
|
6
5
|
name: "jira";
|
|
7
|
-
database: DatabaseEngine;
|
|
8
6
|
logFilePath: string;
|
|
9
7
|
constructor(options: TApplicationOptions);
|
|
10
8
|
protected getService(): Service;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TSupportedApplications } from '../../types/Application';
|
|
2
|
+
export declare const install: (cwd: string) => Promise<void>;
|
|
3
|
+
export declare const runTest: (cwd: string, environment: string, product: TSupportedApplications) => Promise<void>;
|
|
4
|
+
export declare const regressionReport: (cwd: string, run1Dir: string, run2Dir: string) => Promise<void>;
|
|
5
|
+
export declare const scalabilityReport: (cwd: string, run3Dir: string, run4Dir: string, run5Dir: string) => Promise<void>;
|
|
6
|
+
export declare const terminate: (cwd: string, environment: string) => Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getAptDictory: (cwd: string, mustUseDefaultConfiguration: boolean, force?: boolean) => Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getEnvironmentName: () => Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getOutputDirectory: (timestamp?: string) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getReindexProgress: (baseUrl: string) => Promise<[string, boolean, boolean]>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getReportDirectory: (cwd: string, force?: boolean) => Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const installApp: (baseUrl: string, appKey?: string, license?: string, force?: boolean) => Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const persistClusterConfiguration: (cwd: string, environment: string, product: string, license: string, nodes?: number) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const persistAWSCredentials: (cwd: string, aws_access_key_id: string, aws_secret_access_key: string) => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TAPTProvisionOptions } from '../../types/DCAPT';
|
|
2
|
+
export declare const provisionCluster: (options: TAPTProvisionOptions, mustUseDefaultConfiguration: boolean) => Promise<{
|
|
3
|
+
cwd: string;
|
|
4
|
+
environment: string;
|
|
5
|
+
aws_access_key_id: string;
|
|
6
|
+
aws_secret_access_key: string;
|
|
7
|
+
license: string;
|
|
8
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const reindex: (baseUrl: string, outputDir: string, force?: boolean) => Promise<void>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { TAPTPerformanceTestMessages, TAPTPerformanceTestOptions, TPerformanceTestTypes } from '../../types/DCAPT';
|
|
2
|
+
export declare const runPerformanceTest: (stage: TPerformanceTestTypes, options: TAPTPerformanceTestOptions, messages: TAPTPerformanceTestMessages) => Promise<void>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { TSupportedApplications } from '../types/Application';
|
|
2
|
+
import { TAPTPerformanceTestMessages, TAPTScalabilityTestMessages } from '../types/DCAPT';
|
|
3
|
+
export declare const emptyLine: () => void;
|
|
4
|
+
export declare const generic: {
|
|
5
|
+
header: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const init: {
|
|
8
|
+
header: (product: TSupportedApplications) => string;
|
|
9
|
+
};
|
|
10
|
+
export declare const provisioning: {
|
|
11
|
+
header: string;
|
|
12
|
+
askForAWSCredentials: (product: TSupportedApplications) => string;
|
|
13
|
+
askForEnvironment: string;
|
|
14
|
+
askForLicense: string;
|
|
15
|
+
ready: string;
|
|
16
|
+
awsCredentialsPersisted: string;
|
|
17
|
+
terraformConfigurationPersisted: string;
|
|
18
|
+
};
|
|
19
|
+
export declare const Run1: TAPTPerformanceTestMessages;
|
|
20
|
+
export declare const Run2: TAPTPerformanceTestMessages;
|
|
21
|
+
export declare const PerformanceReportMessages: {
|
|
22
|
+
header: string;
|
|
23
|
+
};
|
|
24
|
+
export declare const ScalabilityTestMessages: TAPTScalabilityTestMessages;
|
|
25
|
+
export declare const ScalabilityReportMessages: {
|
|
26
|
+
header: string;
|
|
27
|
+
};
|
|
28
|
+
export declare const Teardown: {
|
|
29
|
+
header: string;
|
|
30
|
+
};
|
|
@@ -17,22 +17,27 @@ export declare const ActionHandler: <T extends {
|
|
|
17
17
|
clean: boolean;
|
|
18
18
|
prune: boolean;
|
|
19
19
|
tag: string;
|
|
20
|
+
databaseTag: string;
|
|
20
21
|
xms: string;
|
|
21
22
|
xmx: string;
|
|
22
23
|
watch: boolean;
|
|
23
|
-
|
|
24
|
-
install: boolean;
|
|
25
|
-
outputDirectory: string;
|
|
24
|
+
install?: boolean | undefined;
|
|
26
25
|
contextPath?: string | undefined;
|
|
26
|
+
ext?: string[] | undefined;
|
|
27
|
+
outputDirectory?: string | undefined;
|
|
27
28
|
activateProfiles?: string | undefined;
|
|
28
29
|
cwd?: string | undefined;
|
|
29
30
|
} | {
|
|
30
31
|
install: boolean;
|
|
32
|
+
username?: string | undefined;
|
|
33
|
+
password?: string | undefined;
|
|
31
34
|
watch?: boolean | undefined;
|
|
32
35
|
ext?: string[] | undefined;
|
|
33
36
|
outputDirectory?: string | undefined;
|
|
34
37
|
activateProfiles?: string | undefined;
|
|
35
38
|
cwd?: string | undefined;
|
|
39
|
+
exec?: string | undefined;
|
|
40
|
+
obr?: boolean | undefined;
|
|
36
41
|
}>(program: Command, { action, errorHandler }: {
|
|
37
42
|
action: (options: T) => Promise<void>;
|
|
38
43
|
errorHandler: (options: T) => Promise<void>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { TBuildOptions } from '../types/AMPS';
|
|
1
|
+
import { TBuildOptions, TDebugOptions } from '../types/AMPS';
|
|
2
2
|
import { TSupportedApplications } from '../types/Application';
|
|
3
|
-
export declare const FileWatcher: (name: TSupportedApplications, options: TBuildOptions, mavenOpts: Array<string
|
|
3
|
+
export declare const FileWatcher: (name: TSupportedApplications, options: TBuildOptions | TDebugOptions, mavenOpts: Array<string>, installOnly?: boolean) => import("chokidar").FSWatcher;
|
|
@@ -13,6 +13,7 @@ export declare class AMPS {
|
|
|
13
13
|
getApplicationVersion(): string | undefined;
|
|
14
14
|
getApplication(): TSupportedApplications | null;
|
|
15
15
|
getApplications(): Map<TSupportedApplications, string | undefined>;
|
|
16
|
+
private getSupportedApplication;
|
|
16
17
|
private getVersion;
|
|
17
18
|
private doPropertyReplacement;
|
|
18
19
|
private getProperties;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const capitalize: (value: string) => string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { DatabaseEngine, TDatabaseOptions } from '../types/Database';
|
|
2
|
-
export declare const getDatabaseEngine: (options: TDatabaseOptions) => DatabaseEngine;
|
|
2
|
+
export declare const getDatabaseEngine: (options: TDatabaseOptions, tag?: string) => DatabaseEngine;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getVersions: () => Record<string, Array<string>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isOfType: <T>(obj: T | unknown, property: keyof T) => obj is T;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { TSupportedApplications } from '../types/Application';
|
|
2
2
|
export declare const timebomb: Record<TSupportedApplications, string>;
|
|
3
|
+
export declare const app3hour = "AAABCA0ODAoPeNpdj01PwkAURffzKyZxZ1IyUzARkllQ24gRaQMtGnaP8VEmtjPNfFT59yJVFyzfubkn796Ux0Bz6SmbUM5nbDzj97RISxozHpMUnbSq88poUaLztFEStUN6MJZ2TaiVpu/YY2M6tI6sQrtHmx8qd74EZ+TBIvyUU/AoYs7jiE0jzknWQxMuifA2IBlUbnQ7AulVjwN9AaU9atASs69O2dNFU4wXJLc1aOUGw9w34JwCTTZoe7RPqUgep2X0Vm0n0fNut4gSxl/Jcnj9nFb6Q5tP/Ueu3L+0PHW4ghZFmm2zZV5k6/95CbR7Y9bYGo/zGrV3Ir4jRbDyCA6vt34DO8p3SDAsAhQnJjLD5k9Fr3uaIzkXKf83o5vDdQIUe4XequNCC3D+9ht9ZYhNZFKmnhc=X02dh";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const readLinesInFile: (path: string, callback: (line: string) => void) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const replaceLinesInFile: (path: string, replacer: (line: string) => string) => void;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const uploadToUPM: (baseUrl: string, path: string, username?: string, password?: string, verbose?: boolean) => Promise<void>;
|
|
2
|
+
export declare const waitForPluginToBeEnabled: (appKey: string, baseUrl: string, username?: string, password?: string, verbose?: boolean) => Promise<boolean>;
|
|
3
|
+
export declare const registerLicense: (appKey: string, license: string, baseUrl: string, username?: string, password?: string, verbose?: boolean) => Promise<void>;
|