@pipeline-builder/pipeline-manager 3.4.161 → 3.4.162
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/README.md +10 -10
- package/dist/agent/post-steps.js +3 -3
- package/dist/boilerplate.js +2 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +103 -51
- package/dist/commands/audit-stacks.d.ts +2 -2
- package/dist/commands/audit-stacks.js +4 -4
- package/dist/commands/audit-tokens.d.ts +2 -2
- package/dist/commands/audit-tokens.js +5 -5
- package/dist/commands/create-pat.d.ts +27 -0
- package/dist/commands/create-pat.d.ts.map +1 -0
- package/dist/commands/create-pat.js +209 -0
- package/dist/commands/create-pipeline.js +2 -2
- package/dist/commands/deploy.d.ts +2 -2
- package/dist/commands/deploy.js +4 -4
- package/dist/commands/get-pipeline.d.ts +3 -3
- package/dist/commands/get-pipeline.js +5 -5
- package/dist/commands/get-plugin.d.ts +3 -3
- package/dist/commands/get-plugin.js +5 -5
- package/dist/commands/list-pipelines.d.ts +5 -5
- package/dist/commands/list-pipelines.js +7 -7
- package/dist/commands/list-plugins.d.ts +5 -5
- package/dist/commands/list-plugins.js +7 -7
- package/dist/commands/login.d.ts +5 -5
- package/dist/commands/login.js +8 -8
- package/dist/commands/new-plugin.d.ts +12 -0
- package/dist/commands/new-plugin.d.ts.map +1 -0
- package/dist/commands/new-plugin.js +129 -0
- package/dist/commands/org-export.d.ts +3 -3
- package/dist/commands/org-export.js +5 -5
- package/dist/commands/register.d.ts +2 -2
- package/dist/commands/register.js +3 -3
- package/dist/commands/store-token.d.ts +8 -8
- package/dist/commands/store-token.js +11 -11
- package/dist/commands/synth.d.ts +3 -3
- package/dist/commands/synth.js +4 -4
- package/dist/commands/upload-plugin.d.ts +4 -4
- package/dist/commands/upload-plugin.d.ts.map +1 -1
- package/dist/commands/upload-plugin.js +9 -8
- package/dist/commands/validate-plugin.d.ts +12 -0
- package/dist/commands/validate-plugin.d.ts.map +1 -0
- package/dist/commands/validate-plugin.js +175 -0
- package/dist/commands/validate-templates.d.ts +3 -3
- package/dist/commands/validate-templates.js +5 -5
- package/dist/lambda/token-renew-handler.js +4 -4
- package/dist/templates/events-stack.json +2 -2
- package/dist/templates/token-renew-stack.json +2 -2
- package/dist/utils/api-client.js +2 -2
- package/dist/utils/command-utils.js +2 -2
- package/dist/utils/registry.d.ts +2 -2
- package/dist/utils/registry.js +3 -3
- package/package.json +3 -3
|
@@ -17,16 +17,16 @@ import { outputData, extractListResponse, printInfo, printKeyValue, printSection
|
|
|
17
17
|
*
|
|
18
18
|
* @example
|
|
19
19
|
* ```bash
|
|
20
|
-
* cli list
|
|
21
|
-
* cli list
|
|
22
|
-
* cli list
|
|
23
|
-
* cli list
|
|
24
|
-
* cli list
|
|
20
|
+
* cli pipeline list
|
|
21
|
+
* cli pipeline list --project my-app --is-active true
|
|
22
|
+
* cli pipeline list --organization my-org
|
|
23
|
+
* cli pipeline list --limit 50 --offset 100 --sort "pipelineName:asc"
|
|
24
|
+
* cli pipeline list --format json --output pipelines.json
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
27
|
export function listPipelines(program) {
|
|
28
28
|
program
|
|
29
|
-
.command('list
|
|
29
|
+
.command('list')
|
|
30
30
|
.description('Query pipelines with comprehensive filters')
|
|
31
31
|
// Common filter options
|
|
32
32
|
.option('--id <id>', 'Filter by pipeline ID (can specify multiple with commas)')
|
|
@@ -168,4 +168,4 @@ export function listPipelines(program) {
|
|
|
168
168
|
}
|
|
169
169
|
});
|
|
170
170
|
}
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1waXBlbGluZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvbGlzdC1waXBlbGluZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0UsT0FBTyxFQUE0QyxNQUFNLG1CQUFtQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBMkIscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4SSxPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFnQm5IOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUFnQjtJQUM1QyxPQUFPO1NBQ0osT0FBTyxDQUFDLGdCQUFnQixDQUFDO1NBQ3pCLFdBQVcsQ0FBQyw0Q0FBNEMsQ0FBQztRQUUxRCx3QkFBd0I7U0FDdkIsTUFBTSxDQUFDLFdBQVcsRUFBRSwwREFBMEQsQ0FBQztTQUMvRSxNQUFNLENBQUMsOEJBQThCLEVBQUUsNENBQTRDLENBQUM7U0FDcEYsTUFBTSxDQUFDLHdCQUF3QixFQUFFLHVDQUF1QyxDQUFDO1NBQ3pFLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSxzQ0FBc0MsQ0FBQztTQUN2RSxNQUFNLENBQUMsa0JBQWtCLEVBQUUsb0NBQW9DLEVBQUUsUUFBUSxF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SSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxnQkFBZ0I7b0JBQ3pCLFdBQVc7b0JBQ1gsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztpQkFDN0I7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgZm9ybWF0RHVyYXRpb24sIHZhbGlkYXRlQm9vbGVhbiB9IGZyb20gJy4uL2NvbmZpZy9jbGkuY29uc3RhbnRzLmpzJztcbmltcG9ydCB7IHR5cGUgUGlwZWxpbmVMaXN0UmVzcG9uc2UsIHR5cGUgUGlwZWxpbmUgfSBmcm9tICcuLi90eXBlcy9pbmRleC5qcyc7XG5pbXBvcnQgeyBwcmludENvbW1hbmRIZWFkZXIsIHByaW50U3NsV2FybmluZywgY3JlYXRlQXV0aGVudGljYXRlZENsaWVudCB9IGZyb20gJy4uL3V0aWxzL2NvbW1hbmQtdXRpbHMuanMnO1xuaW1wb3J0IHsgRVJST1JfQ09ERVMsIGhhbmRsZUVycm9yIH0gZnJvbSAnLi4vdXRpbHMvZXJyb3ItaGFuZGxlci5qcyc7XG5pbXBvcnQgeyBidWlsZENvbW1vbkZpbHRlcnMsIHR5cGUgQ29tbW9uRmlsdGVyUGFyYW1zLCBkaXNwbGF5UGFnaW5hdGlvbkluZm8sIGRpc3BsYXlMaXN0UmVzdWx0cyB9IGZyb20gJy4uL3V0aWxzL2xpc3QtY29tbWFuZC11dGlscy5qcyc7XG5pbXBvcnQgeyBvdXRwdXREYXRhLCBleHRyYWN0TGlzdFJlc3BvbnNlLCBwcmludEluZm8sIHByaW50S2V5VmFsdWUsIHByaW50U2VjdGlvbiB9IGZyb20gJy4uL3V0aWxzL291dHB1dC11dGlscy5qcyc7XG5cbi8qKlxuICogUXVlcnkgcGFyYW1ldGVycyBmb3IgdGhlIHBpcGVsaW5lIGxpc3QgQVBJIGVuZHBvaW50LlxuICogQ29tYmluZXMgY29tbW9uIGZpbHRlcnMgKHBhZ2luYXRpb24sIHNvcnQsIGFjY2Vzcykgd2l0aCBwaXBlbGluZS1zcGVjaWZpYyBmaWx0ZXJzLlxuICovXG5pbnRlcmZhY2UgUGlwZWxpbmVGaWx0ZXJQYXJhbXMgZXh0ZW5kcyBDb21tb25GaWx0ZXJQYXJhbXMge1xuICBhY2Nlc3NNb2RpZmllcj86IHN0cmluZztcbiAgaXNEZWZhdWx0PzogYm9vbGVhbjtcblxuICAvLyBQaXBlbGluZS1zcGVjaWZpYyBmaWx0ZXJzXG4gIHByb2plY3Q/OiBzdHJpbmc7XG4gIG9yZ2FuaXphdGlvbj86IHN0cmluZztcbiAgcGlwZWxpbmVOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgYGxpc3QtcGlwZWxpbmVzYCBjb21tYW5kIHdpdGggdGhlIENMSSBwcm9ncmFtLlxuICpcbiAqIFF1ZXJpZXMgcGlwZWxpbmVzIHdpdGggZmlsdGVycyBmb3IgcHJvamVjdCwgb3JnYW5pemF0aW9uLCBuYW1lLFxuICogYWNjZXNzIG1vZGlmaWVyLCBhY3RpdmUvZGVmYXVsdCBzdGF0dXMsIHBsdXMgcGFnaW5hdGlvbiBhbmQgc29ydGluZy5cbiAqXG4gKiBAcGFyYW0gcHJvZ3JhbSAtIFRoZSByb290IENvbW1hbmRlciBwcm9ncmFtIGluc3RhbmNlIHRvIGF0dGFjaCB0aGUgY29tbWFuZCB0by5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgYmFzaFxuICogY2xpIGxpc3QtcGlwZWxpbmVzXG4gKiBjbGkgbGlzdC1waXBlbGluZXMgLS1wcm9qZWN0IG15LWFwcCAtLWlzLWFjdGl2ZSB0cnVlXG4gKiBjbGkgbGlzdC1waXBlbGluZXMgLS1vcmdhbml6YXRpb24gbXktb3JnXG4gKiBjbGkgbGlzdC1waXBlbGluZXMgLS1saW1pdCA1MCAtLW9mZnNldCAxMDAgLS1zb3J0IFwicGlwZWxpbmVOYW1lOmFzY1wiXG4gKiBjbGkgbGlzdC1waXBlbGluZXMgLS1mb3JtYXQganNvbiAtLW91dHB1dCBwaXBlbGluZXMuanNvblxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsaXN0UGlwZWxpbmVzKHByb2dyYW06IENvbW1hbmQpOiB2b2lkIHtcbiAgcHJvZ3JhbVxuICAgIC5jb21tYW5kKCdsaXN0LXBpcGVsaW5lcycpXG4gICAgLmRlc2NyaXB0aW9uKCdRdWVyeSBwaXBlbGluZXMgd2l0aCBjb21wcmVoZW5zaXZlIGZpbHRlcnMnKVxuXG4gICAgLy8gQ29tbW9uIGZpbHRlciBvcHRpb25zXG4gICAgLm9wdGlvbignLS1pZCA8aWQ+JywgJ0ZpbHRlciBieSBwaXBlbGluZSBJRCAoY2FuIHNwZWNpZnkgbXVsdGlwbGUgd2l0aCBjb21tYXMpJylcbiAgICAub3B0aW9uKCctLWFjY2Vzcy1tb2RpZmllciA8bW9kaWZpZXI+JywgJ0ZpbHRlciBieSBhY2Nlc3MgbW9kaWZpZXIgKHB1YmxpYy9wcml2YXRlKScpXG4gICAgLm9wdGlvbignLS1pcy1kZWZhdWx0IDxib29sZWFuPicsICdGaWx0ZXIgYnkgZGVmYXVsdCBzdGF0dXMgKHRydWUvZmFsc2UpJylcbiAgICAub3B0aW9uKCctLWlzLWFjdGl2ZSA8Ym9vbGVhbj4nLCAnRmlsdGVyIGJ5IGFjdGl2ZSBzdGF0dXMgKHRydWUvZmFsc2UpJylcbiAgICAub3B0aW9uKCctLWxpbWl0IDxudW1iZXI+JywgJ01heGltdW0gbnVtYmVyIG9mIHJlc3VsdHMgKDEtMTAwMCknLCBwYXJzZUludCwgNTApXG4gICAgLm9wdGlvbignLS1vZmZzZXQgPG51bWJlcj4nLCAnTnVtYmVyIG9mIHJlc3VsdHMgdG8gc2tpcCcsIHBhcnNlSW50LCAwKVxuICAgIC5vcHRpb24oJy0tc29ydCA8c29ydD4nLCAnU29ydCBmb3JtYXQ6IGZpZWxkOmRpcmVjdGlvbiAoZS5nLiwgcGlwZWxpbmVOYW1lOmFzYywgY3JlYXRlZEF0OmRlc2MpJylcblxuICAgIC8vIFBpcGVsaW5lLXNwZWNpZmljIGZpbHRlciBvcHRpb25zXG4gICAgLm9wdGlvbignLS1wcm9qZWN0IDxwcm9qZWN0PicsICdGaWx0ZXIgYnkgZXhhY3QgcHJvamVjdCBuYW1lJylcbiAgICAub3B0aW9uKCctLW9yZ2FuaXphdGlvbiA8b3JnYW5pemF0aW9uPicsICdGaWx0ZXIgYnkgZXhhY3Qgb3JnYW5pemF0aW9uIG5hbWUnKVxuICAgIC5vcHRpb24oJy0tcGlwZWxpbmUtbmFtZSA8bmFtZT4nLCAnRmlsdGVyIGJ5IGV4YWN0IHBpcGVsaW5lIG5hbWUnKVxuXG4gICAgLy8gT3V0cHV0IG9wdGlvbnNcbiAgICAub3B0aW9uKCctZiwgLS1mb3JtYXQgPGZvcm1hdD4nLCAnT3V0cHV0IGZvcm1hdCAoanNvbiwgeWFtbCwgdGFibGUsIGNzdiknLCAndGFibGUnKVxuICAgIC5vcHRpb24oJy1vLCAtLW91dHB1dCA8ZmlsZT4nLCAnU2F2ZSBvdXRwdXQgdG8gZmlsZScpXG4gICAgLm9wdGlvbignLS1zaG93LXByb3BzJywgJ0luY2x1ZGUgcGlwZWxpbmUgcHJvcGVydGllcyBpbiBvdXRwdXQgKGpzb24veWFtbCBvbmx5KScsIGZhbHNlKVxuICAgIC5vcHRpb24oJy0tdmVyaWZ5LXNzbCcsICdFbmFibGUgU1NMIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbicpXG4gICAgLm9wdGlvbignLS1uby12ZXJpZnktc3NsJywgJ0Rpc2FibGUgU1NMIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbicpXG5cbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignTGlzdCBQaXBlbGluZXMnLCAnUXVlcnkgUGlwZWxpbmVzJyk7XG4gICAgICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuXG4gICAgICB0cnkge1xuXG4gICAgICAgIC8vIEJ1aWxkIGZpbHRlciBwYXJhbWV0ZXJzIChjb21tb24gKyBwaXBlbGluZS1zcGVjaWZpYylcbiAgICAgICAgY29uc3QgZmlsdGVyUGFyYW1zOiBQaXBlbGluZUZpbHRlclBhcmFtcyA9IHtcbiAgICAgICAgICAuLi5idWlsZENvbW1vbkZpbHRlcnMob3B0aW9ucyksXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gUGlwZWxpbmUtc3BlY2lmaWMgZmlsdGVyc1xuICAgICAgICBpZiAob3B0aW9ucy5hY2Nlc3NNb2RpZmllcikge1xuICAgICAgICAgIGZpbHRlclBhcmFtcy5hY2Nlc3NNb2RpZmllciA9IG9wdGlvbnMuYWNjZXNzTW9kaWZpZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5pc0RlZmF1bHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGZpbHRlclBhcmFtcy5pc0RlZmF1bHQgPSB2YWxpZGF0ZUJvb2xlYW4ob3B0aW9ucy5pc0RlZmF1bHQsICdpcy1kZWZhdWx0Jyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5wcm9qZWN0KSB7XG4gICAgICAgICAgZmlsdGVyUGFyYW1zLnByb2plY3QgPSBvcHRpb25zLnByb2plY3Q7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5vcmdhbml6YXRpb24pIHtcbiAgICAgICAgICBmaWx0ZXJQYXJhbXMub3JnYW5pemF0aW9uID0gb3B0aW9ucy5vcmdhbml6YXRpb247XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5waXBlbGluZU5hbWUpIHtcbiAgICAgICAgICBmaWx0ZXJQYXJhbXMucGlwZWxpbmVOYW1lID0gb3B0aW9ucy5waXBlbGluZU5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNwbGF5IGFjdGl2ZSBmaWx0ZXJzXG4gICAgICAgIGNvbnN0IGFjdGl2ZUZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gICAgICAgIGlmIChmaWx0ZXJQYXJhbXMuaWQpIGFjdGl2ZUZpbHRlcnMuSUQgPSBmaWx0ZXJQYXJhbXMuaWQ7XG4gICAgICAgIGlmIChmaWx0ZXJQYXJhbXMuYWNjZXNzTW9kaWZpZXIpIGFjdGl2ZUZpbHRlcnNbJ0FjY2VzcyBNb2RpZmllciddID0gZmlsdGVyUGFyYW1zLmFjY2Vzc01vZGlmaWVyO1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW1zLmlzRGVmYXVsdCAhPT0gdW5kZWZpbmVkKSBhY3RpdmVGaWx0ZXJzWydJcyBEZWZhdWx0J10gPSBmaWx0ZXJQYXJhbXMuaXNEZWZhdWx0O1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW1zLmlzQWN0aXZlICE9PSB1bmRlZmluZWQpIGFjdGl2ZUZpbHRlcnNbJ0lzIEFjdGl2ZSddID0gZmlsdGVyUGFyYW1zLmlzQWN0aXZlO1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW1zLnByb2plY3QpIGFjdGl2ZUZpbHRlcnMuUHJvamVjdCA9IGZpbHRlclBhcmFtcy5wcm9qZWN0O1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW1zLm9yZ2FuaXphdGlvbikgYWN0aXZlRmlsdGVycy5Pcmdhbml6YXRpb24gPSBmaWx0ZXJQYXJhbXMub3JnYW5pemF0aW9uO1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW1zLnBpcGVsaW5lTmFtZSkgYWN0aXZlRmlsdGVyc1snUGlwZWxpbmUgTmFtZSddID0gZmlsdGVyUGFyYW1zLnBpcGVsaW5lTmFtZTtcblxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoYWN0aXZlRmlsdGVycykubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHByaW50SW5mbygnQWN0aXZlIEZpbHRlcnMnKTtcbiAgICAgICAgICBwcmludEtleVZhbHVlKGFjdGl2ZUZpbHRlcnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByaW50SW5mbygnTm8gZmlsdGVycyBhcHBsaWVkIC0gZmV0Y2hpbmcgYWxsIHBpcGVsaW5lcycpO1xuICAgICAgICB9XG5cbiAgICAgICAgZGlzcGxheVBhZ2luYXRpb25JbmZvKGZpbHRlclBhcmFtcyk7XG5cbiAgICAgICAgLy8gU2VjdXJpdHkgd2FybmluZyBmb3IgU1NMIHZlcmlmaWNhdGlvbiBkaXNhYmxlZFxuICAgICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuXG4gICAgICAgIC8vIENyZWF0ZSBhdXRoZW50aWNhdGVkIEFQSSBjbGllbnRcbiAgICAgICAgY29uc3QgY2xpZW50ID0gY3JlYXRlQXV0aGVudGljYXRlZENsaWVudChvcHRpb25zKTtcbiAgICAgICAgY29uc3QgY29uZmlnID0gY2xpZW50LmdldENvbmZpZygpO1xuXG4gICAgICAgIC8vIFF1ZXJ5IHBpcGVsaW5lc1xuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIHByaW50U2VjdGlvbignUXVlcnlpbmcgUGlwZWxpbmVzJyk7XG4gICAgICAgIHByaW50SW5mbygnU2VuZGluZyByZXF1ZXN0IHRvIEFQSS4uLicpO1xuXG4gICAgICAgIGNvbnN0IHJlcXVlc3RTdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxQaXBlbGluZUxpc3RSZXNwb25zZT4oXG4gICAgICAgICAgY29uZmlnLmFwaS5waXBlbGluZUxpc3RVcmwsXG4gICAgICAgICAgZmlsdGVyUGFyYW1zIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICApO1xuICAgICAgICBjb25zdCByZXF1ZXN0RHVyYXRpb24gPSBEYXRlLm5vdygpIC0gcmVxdWVzdFN0YXJ0O1xuXG4gICAgICAgIC8vIEhhbmRsZSByZXNwb25zZVxuICAgICAgICBjb25zdCB7IGl0ZW1zOiBwaXBlbGluZXMsIHRvdGFsLCBoYXNNb3JlIH0gPSBleHRyYWN0TGlzdFJlc3BvbnNlPFBpcGVsaW5lPihyZXNwb25zZSwgJ3BpcGVsaW5lcycpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgcHJpbnRTZWN0aW9uKCfinJMgUXVlcnkgQ29tcGxldGUnKTtcblxuICAgICAgICAvLyBEaXNwbGF5IHJlc3VsdHMgc3VtbWFyeVxuICAgICAgICBkaXNwbGF5TGlzdFJlc3VsdHMocGlwZWxpbmVzLCB0b3RhbCwgaGFzTW9yZSwgJ1BpcGVsaW5lcycsIHJlcXVlc3REdXJhdGlvbiwgZmlsdGVyUGFyYW1zKTtcblxuICAgICAgICAvLyBEaXNwbGF5IHN0YXRpc3RpY3NcbiAgICAgICAgaWYgKHBpcGVsaW5lcy5sZW5ndGggPiAwICYmIG9wdGlvbnMuZm9ybWF0ID09PSAndGFibGUnKSB7XG4gICAgICAgICAgY29uc3QgYWN0aXZlQ291bnQgPSBwaXBlbGluZXMuZmlsdGVyKHAgPT4gcC5pc0FjdGl2ZSkubGVuZ3RoO1xuICAgICAgICAgIGNvbnN0IGRlZmF1bHRDb3VudCA9IHBpcGVsaW5lcy5maWx0ZXIocCA9PiBwLmlzRGVmYXVsdCkubGVuZ3RoO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICAgIHByaW50SW5mbygnU3RhdGlzdGljcycpO1xuICAgICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICAgJ0FjdGl2ZSBQaXBlbGluZXMnOiBgJHthY3RpdmVDb3VudH0vJHtwaXBlbGluZXMubGVuZ3RofWAsXG4gICAgICAgICAgICAnRGVmYXVsdCBQaXBlbGluZXMnOiBgJHtkZWZhdWx0Q291bnR9LyR7cGlwZWxpbmVzLmxlbmd0aH1gLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT3V0cHV0IGRhdGEgaW4gcmVxdWVzdGVkIGZvcm1hdFxuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIGlmIChvcHRpb25zLm91dHB1dCkge1xuICAgICAgICAgIHByaW50SW5mbygnU2F2aW5nIHRvIGZpbGUnLCB7XG4gICAgICAgICAgICBwYXRoOiBvcHRpb25zLm91dHB1dCxcbiAgICAgICAgICAgIGZvcm1hdDogb3B0aW9ucy5mb3JtYXQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3JtYXQgb3V0cHV0IGRhdGFcbiAgICAgICAgY29uc3Qgb3V0cHV0UGlwZWxpbmVzID0gb3B0aW9ucy5zaG93UHJvcHMgPyBwaXBlbGluZXMgOiBwaXBlbGluZXMubWFwKHAgPT4gKHtcbiAgICAgICAgICAnSUQnOiBwLmlkLFxuICAgICAgICAgICdQcm9qZWN0JzogcC5wcm9qZWN0LFxuICAgICAgICAgICdPcmdhbml6YXRpb24nOiBwLm9yZ2FuaXphdGlvbixcbiAgICAgICAgICAnTmFtZSc6IHAucGlwZWxpbmVOYW1lIHx8ICdOL0EnLFxuICAgICAgICAgICdBY2Nlc3MgTW9kaWZpZXInOiBwLmFjY2Vzc01vZGlmaWVyIHx8ICdwcml2YXRlJyxcbiAgICAgICAgICAnRGVmYXVsdCc6IHAuaXNEZWZhdWx0ID8gJ1llcycgOiAnTm8nLFxuICAgICAgICAgICdBY3RpdmUnOiBwLmlzQWN0aXZlID8gJ1llcycgOiAnTm8nLFxuICAgICAgICAgICdDcmVhdGVkIEF0JzogcC5jcmVhdGVkQXQgfHwgJ04vQScsXG4gICAgICAgIH0pKTtcblxuICAgICAgICBvdXRwdXREYXRhKG91dHB1dFBpcGVsaW5lcywge1xuICAgICAgICAgIGZvcm1hdDogb3B0aW9ucy5mb3JtYXQsXG4gICAgICAgICAgZmlsZTogb3B0aW9ucy5vdXRwdXQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFBlcmZvcm1hbmNlIG1ldHJpY3NcbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAnRXhlY3V0aW9uIElEJzogZXhlY3V0aW9uSWQsXG4gICAgICAgICAgJ1RvdGFsIER1cmF0aW9uJzogZm9ybWF0RHVyYXRpb24oRGF0ZS5ub3coKSAtIHN0YXJ0VGltZSksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcblxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFQSV9SRVFVRVNULCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgY29tbWFuZDogJ2xpc3QtcGlwZWxpbmVzJyxcbiAgICAgICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICAgICAgZmlsdGVyczogb3B0aW9ucyxcbiAgICAgICAgICAgIHZlcmlmeVNzbDogb3B0aW9ucy52ZXJpZnlTc2wsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1waXBlbGluZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvbGlzdC1waXBlbGluZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0UsT0FBTyxFQUE0QyxNQUFNLG1CQUFtQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBMkIscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4SSxPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFnQm5IOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUFnQjtJQUM1QyxPQUFPO1NBQ0osT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUNmLFdBQVcsQ0FBQyw0Q0FBNEMsQ0FBQztRQUUxRCx3QkFBd0I7U0FDdkIsTUFBTSxDQUFDLFdBQVcsRUFBRSwwREFBMEQsQ0FBQztTQUMvRSxNQUFNLENBQUMsOEJBQThCLEVBQUUsNENBQTRDLENBQUM7U0FDcEYsTUFBTSxDQUFDLHdCQUF3QixFQUFFLHVDQUF1QyxDQUFDO1NBQ3pFLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSxzQ0FBc0MsQ0FBQztTQUN2RSxNQUFNLENBQUMsa0JBQWtCLEVBQUUsb0NBQW9DLEVBQUUsUUFBUSxFQUFF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QUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxnQkFBZ0I7b0JBQ3pCLFdBQVc7b0JBQ1gsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztpQkFDN0I7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgZm9ybWF0RHVyYXRpb24sIHZhbGlkYXRlQm9vbGVhbiB9IGZyb20gJy4uL2NvbmZpZy9jbGkuY29uc3RhbnRzLmpzJztcbmltcG9ydCB7IHR5cGUgUGlwZWxpbmVMaXN0UmVzcG9uc2UsIHR5cGUgUGlwZWxpbmUgfSBmcm9tICcuLi90eXBlcy9pbmRleC5qcyc7XG5pbXBvcnQgeyBwcmludENvbW1hbmRIZWFkZXIsIHByaW50U3NsV2FybmluZywgY3JlYXRlQXV0aGVudGljYXRlZENsaWVudCB9IGZyb20gJy4uL3V0aWxzL2NvbW1hbmQtdXRpbHMuanMnO1xuaW1wb3J0IHsgRVJST1JfQ09ERVMsIGhhbmRsZUVycm9yIH0gZnJvbSAnLi4vdXRpbHMvZXJyb3ItaGFuZGxlci5qcyc7XG5pbXBvcnQgeyBidWlsZENvbW1vbkZpbHRlcnMsIHR5cGUgQ29tbW9uRmlsdGVyUGFyYW1zLCBkaXNwbGF5UGFnaW5hdGlvbkluZm8sIGRpc3BsYXlMaXN0UmVzdWx0cyB9IGZyb20gJy4uL3V0aWxzL2xpc3QtY29tbWFuZC11dGlscy5qcyc7XG5pbXBvcnQgeyBvdXRwdXREYXRhLCBleHRyYWN0TGlzdFJlc3BvbnNlLCBwcmludEluZm8sIHByaW50S2V5VmFsdWUsIHByaW50U2VjdGlvbiB9IGZyb20gJy4uL3V0aWxzL291dHB1dC11dGlscy5qcyc7XG5cbi8qKlxuICogUXVlcnkgcGFyYW1ldGVycyBmb3IgdGhlIHBpcGVsaW5lIGxpc3QgQVBJIGVuZHBvaW50LlxuICogQ29tYmluZXMgY29tbW9uIGZpbHRlcnMgKHBhZ2luYXRpb24sIHNvcnQsIGFjY2Vzcykgd2l0aCBwaXBlbGluZS1zcGVjaWZpYyBmaWx0ZXJzLlxuICovXG5pbnRlcmZhY2UgUGlwZWxpbmVGaWx0ZXJQYXJhbXMgZXh0ZW5kcyBDb21tb25GaWx0ZXJQYXJhbXMge1xuICBhY2Nlc3NNb2RpZmllcj86IHN0cmluZztcbiAgaXNEZWZhdWx0PzogYm9vbGVhbjtcblxuICAvLyBQaXBlbGluZS1zcGVjaWZpYyBmaWx0ZXJzXG4gIHByb2plY3Q/OiBzdHJpbmc7XG4gIG9yZ2FuaXphdGlvbj86IHN0cmluZztcbiAgcGlwZWxpbmVOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgYGxpc3QtcGlwZWxpbmVzYCBjb21tYW5kIHdpdGggdGhlIENMSSBwcm9ncmFtLlxuICpcbiAqIFF1ZXJpZXMgcGlwZWxpbmVzIHdpdGggZmlsdGVycyBmb3IgcHJvamVjdCwgb3JnYW5pemF0aW9uLCBuYW1lLFxuICogYWNjZXNzIG1vZGlmaWVyLCBhY3RpdmUvZGVmYXVsdCBzdGF0dXMsIHBsdXMgcGFnaW5hdGlvbiBhbmQgc29ydGluZy5cbiAqXG4gKiBAcGFyYW0gcHJvZ3JhbSAtIFRoZSByb290IENvbW1hbmRlciBwcm9ncmFtIGluc3RhbmNlIHRvIGF0dGFjaCB0aGUgY29tbWFuZCB0by5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgYmFzaFxuICogY2xpIHBpcGVsaW5lIGxpc3RcbiAqIGNsaSBwaXBlbGluZSBsaXN0IC0tcHJvamVjdCBteS1hcHAgLS1pcy1hY3RpdmUgdHJ1ZVxuICogY2xpIHBpcGVsaW5lIGxpc3QgLS1vcmdhbml6YXRpb24gbXktb3JnXG4gKiBjbGkgcGlwZWxpbmUgbGlzdCAtLWxpbWl0IDUwIC0tb2Zmc2V0IDEwMCAtLXNvcnQgXCJwaXBlbGluZU5hbWU6YXNjXCJcbiAqIGNsaSBwaXBlbGluZSBsaXN0IC0tZm9ybWF0IGpzb24gLS1vdXRwdXQgcGlwZWxpbmVzLmpzb25cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gbGlzdFBpcGVsaW5lcyhwcm9ncmFtOiBDb21tYW5kKTogdm9pZCB7XG4gIHByb2dyYW1cbiAgICAuY29tbWFuZCgnbGlzdCcpXG4gICAgLmRlc2NyaXB0aW9uKCdRdWVyeSBwaXBlbGluZXMgd2l0aCBjb21wcmVoZW5zaXZlIGZpbHRlcnMnKVxuXG4gICAgLy8gQ29tbW9uIGZpbHRlciBvcHRpb25zXG4gICAgLm9wdGlvbignLS1pZCA8aWQ+JywgJ0ZpbHRlciBieSBwaXBlbGluZSBJRCAoY2FuIHNwZWNpZnkgbXVsdGlwbGUgd2l0aCBjb21tYXMpJylcbiAgICAub3B0aW9uKCctLWFjY2Vzcy1tb2RpZmllciA8bW9kaWZpZXI+JywgJ0ZpbHRlciBieSBhY2Nlc3MgbW9kaWZpZXIgKHB1YmxpYy9wcml2YXRlKScpXG4gICAgLm9wdGlvbignLS1pcy1kZWZhdWx0IDxib29sZWFuPicsICdGaWx0ZXIgYnkgZGVmYXVsdCBzdGF0dXMgKHRydWUvZmFsc2UpJylcbiAgICAub3B0aW9uKCctLWlzLWFjdGl2ZSA8Ym9vbGVhbj4nLCAnRmlsdGVyIGJ5IGFjdGl2ZSBzdGF0dXMgKHRydWUvZmFsc2UpJylcbiAgICAub3B0aW9uKCctLWxpbWl0IDxudW1iZXI+JywgJ01heGltdW0gbnVtYmVyIG9mIHJlc3VsdHMgKDEtMTAwMCknLCBwYXJzZUludCwgNTApXG4gICAgLm9wdGlvbignLS1vZmZzZXQgPG51bWJlcj4nLCAnTnVtYmVyIG9mIHJlc3VsdHMgdG8gc2tpcCcsIHBhcnNlSW50LCAwKVxuICAgIC5vcHRpb24oJy0tc29ydCA8c29ydD4nLCAnU29ydCBmb3JtYXQ6IGZpZWxkOmRpcmVjdGlvbiAoZS5nLiwgcGlwZWxpbmVOYW1lOmFzYywgY3JlYXRlZEF0OmRlc2MpJylcblxuICAgIC8vIFBpcGVsaW5lLXNwZWNpZmljIGZpbHRlciBvcHRpb25zXG4gICAgLm9wdGlvbignLS1wcm9qZWN0IDxwcm9qZWN0PicsICdGaWx0ZXIgYnkgZXhhY3QgcHJvamVjdCBuYW1lJylcbiAgICAub3B0aW9uKCctLW9yZ2FuaXphdGlvbiA8b3JnYW5pemF0aW9uPicsICdGaWx0ZXIgYnkgZXhhY3Qgb3JnYW5pemF0aW9uIG5hbWUnKVxuICAgIC5vcHRpb24oJy0tcGlwZWxpbmUtbmFtZSA8bmFtZT4nLCAnRmlsdGVyIGJ5IGV4YWN0IHBpcGVsaW5lIG5hbWUnKVxuXG4gICAgLy8gT3V0cHV0IG9wdGlvbnNcbiAgICAub3B0aW9uKCctZiwgLS1mb3JtYXQgPGZvcm1hdD4nLCAnT3V0cHV0IGZvcm1hdCAoanNvbiwgeWFtbCwgdGFibGUsIGNzdiknLCAndGFibGUnKVxuICAgIC5vcHRpb24oJy1vLCAtLW91dHB1dCA8ZmlsZT4nLCAnU2F2ZSBvdXRwdXQgdG8gZmlsZScpXG4gICAgLm9wdGlvbignLS1zaG93LXByb3BzJywgJ0luY2x1ZGUgcGlwZWxpbmUgcHJvcGVydGllcyBpbiBvdXRwdXQgKGpzb24veWFtbCBvbmx5KScsIGZhbHNlKVxuICAgIC5vcHRpb24oJy0tdmVyaWZ5LXNzbCcsICdFbmFibGUgU1NMIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbicpXG4gICAgLm9wdGlvbignLS1uby12ZXJpZnktc3NsJywgJ0Rpc2FibGUgU1NMIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbicpXG5cbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignTGlzdCBQaXBlbGluZXMnLCAnUXVlcnkgUGlwZWxpbmVzJyk7XG4gICAgICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuXG4gICAgICB0cnkge1xuXG4gICAgICAgIC8vIEJ1aWxkIGZpbHRlciBwYXJhbWV0ZXJzIChjb21tb24gKyBwaXBlbGluZS1zcGVjaWZpYylcbiAgICAgICAgY29uc3QgZmlsdGVyUGFyYW1zOiBQaXBlbGluZUZpbHRlclBhcmFtcyA9IHtcbiAgICAgICAgICAuLi5idWlsZENvbW1vbkZpbHRlcnMob3B0aW9ucyksXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gUGlwZWxpbmUtc3BlY2lmaWMgZmlsdGVyc1xuICAgICAgICBpZiAob3B0aW9ucy5hY2Nlc3NNb2RpZmllcikge1xuICAgICAgICAgIGZpbHRlclBhcmFtcy5hY2Nlc3NNb2RpZmllciA9IG9wdGlvbnMuYWNjZXNzTW9kaWZpZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5pc0RlZmF1bHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGZpbHRlclBhcmFtcy5pc0RlZmF1bHQgPSB2YWxpZGF0ZUJvb2xlYW4ob3B0aW9ucy5pc0RlZmF1bHQsICdpcy1kZWZhdWx0Jyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5wcm9qZWN0KSB7XG4gICAgICAgICAgZmlsdGVyUGFyYW1zLnByb2plY3QgPSBvcHRpb25zLnByb2plY3Q7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5vcmdhbml6YXRpb24pIHtcbiAgICAgICAgICBmaWx0ZXJQYXJhbXMub3JnYW5pemF0aW9uID0gb3B0aW9ucy5vcmdhbml6YXRpb247XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5waXBlbGluZU5hbWUpIHtcbiAgICAgICAgICBmaWx0ZXJQYXJhbXMucGlwZWxpbmVOYW1lID0gb3B0aW9ucy5waXBlbGluZU5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNwbGF5IGFjdGl2ZSBmaWx0ZXJzXG4gICAgICAgIGNvbnN0IGFjdGl2ZUZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gICAgICAgIGlmIChmaWx0ZXJQYXJhbXMuaWQpIGFjdGl2ZUZpbHRlcnMuSUQgPSBmaWx0ZXJQYXJhbXMuaWQ7XG4gICAgICAgIGlmIChmaWx0ZXJQYXJhbXMuYWNjZXNzTW9kaWZpZXIpIGFjdGl2ZUZpbHRlcnNbJ0FjY2VzcyBNb2RpZmllciddID0gZmlsdGVyUGFyYW1zLmFjY2Vzc01vZGlmaWVyO1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW1zLmlzRGVmYXVsdCAhPT0gdW5kZWZpbmVkKSBhY3RpdmVGaWx0ZXJzWydJcyBEZWZhdWx0J10gPSBmaWx0ZXJQYXJhbXMuaXNEZWZhdWx0O1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW1zLmlzQWN0aXZlICE9PSB1bmRlZmluZWQpIGFjdGl2ZUZpbHRlcnNbJ0lzIEFjdGl2ZSddID0gZmlsdGVyUGFyYW1zLmlzQWN0aXZlO1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW1zLnByb2plY3QpIGFjdGl2ZUZpbHRlcnMuUHJvamVjdCA9IGZpbHRlclBhcmFtcy5wcm9qZWN0O1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW1zLm9yZ2FuaXphdGlvbikgYWN0aXZlRmlsdGVycy5Pcmdhbml6YXRpb24gPSBmaWx0ZXJQYXJhbXMub3JnYW5pemF0aW9uO1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW1zLnBpcGVsaW5lTmFtZSkgYWN0aXZlRmlsdGVyc1snUGlwZWxpbmUgTmFtZSddID0gZmlsdGVyUGFyYW1zLnBpcGVsaW5lTmFtZTtcblxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoYWN0aXZlRmlsdGVycykubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHByaW50SW5mbygnQWN0aXZlIEZpbHRlcnMnKTtcbiAgICAgICAgICBwcmludEtleVZhbHVlKGFjdGl2ZUZpbHRlcnMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByaW50SW5mbygnTm8gZmlsdGVycyBhcHBsaWVkIC0gZmV0Y2hpbmcgYWxsIHBpcGVsaW5lcycpO1xuICAgICAgICB9XG5cbiAgICAgICAgZGlzcGxheVBhZ2luYXRpb25JbmZvKGZpbHRlclBhcmFtcyk7XG5cbiAgICAgICAgLy8gU2VjdXJpdHkgd2FybmluZyBmb3IgU1NMIHZlcmlmaWNhdGlvbiBkaXNhYmxlZFxuICAgICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuXG4gICAgICAgIC8vIENyZWF0ZSBhdXRoZW50aWNhdGVkIEFQSSBjbGllbnRcbiAgICAgICAgY29uc3QgY2xpZW50ID0gY3JlYXRlQXV0aGVudGljYXRlZENsaWVudChvcHRpb25zKTtcbiAgICAgICAgY29uc3QgY29uZmlnID0gY2xpZW50LmdldENvbmZpZygpO1xuXG4gICAgICAgIC8vIFF1ZXJ5IHBpcGVsaW5lc1xuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIHByaW50U2VjdGlvbignUXVlcnlpbmcgUGlwZWxpbmVzJyk7XG4gICAgICAgIHByaW50SW5mbygnU2VuZGluZyByZXF1ZXN0IHRvIEFQSS4uLicpO1xuXG4gICAgICAgIGNvbnN0IHJlcXVlc3RTdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxQaXBlbGluZUxpc3RSZXNwb25zZT4oXG4gICAgICAgICAgY29uZmlnLmFwaS5waXBlbGluZUxpc3RVcmwsXG4gICAgICAgICAgZmlsdGVyUGFyYW1zIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICApO1xuICAgICAgICBjb25zdCByZXF1ZXN0RHVyYXRpb24gPSBEYXRlLm5vdygpIC0gcmVxdWVzdFN0YXJ0O1xuXG4gICAgICAgIC8vIEhhbmRsZSByZXNwb25zZVxuICAgICAgICBjb25zdCB7IGl0ZW1zOiBwaXBlbGluZXMsIHRvdGFsLCBoYXNNb3JlIH0gPSBleHRyYWN0TGlzdFJlc3BvbnNlPFBpcGVsaW5lPihyZXNwb25zZSwgJ3BpcGVsaW5lcycpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgcHJpbnRTZWN0aW9uKCfinJMgUXVlcnkgQ29tcGxldGUnKTtcblxuICAgICAgICAvLyBEaXNwbGF5IHJlc3VsdHMgc3VtbWFyeVxuICAgICAgICBkaXNwbGF5TGlzdFJlc3VsdHMocGlwZWxpbmVzLCB0b3RhbCwgaGFzTW9yZSwgJ1BpcGVsaW5lcycsIHJlcXVlc3REdXJhdGlvbiwgZmlsdGVyUGFyYW1zKTtcblxuICAgICAgICAvLyBEaXNwbGF5IHN0YXRpc3RpY3NcbiAgICAgICAgaWYgKHBpcGVsaW5lcy5sZW5ndGggPiAwICYmIG9wdGlvbnMuZm9ybWF0ID09PSAndGFibGUnKSB7XG4gICAgICAgICAgY29uc3QgYWN0aXZlQ291bnQgPSBwaXBlbGluZXMuZmlsdGVyKHAgPT4gcC5pc0FjdGl2ZSkubGVuZ3RoO1xuICAgICAgICAgIGNvbnN0IGRlZmF1bHRDb3VudCA9IHBpcGVsaW5lcy5maWx0ZXIocCA9PiBwLmlzRGVmYXVsdCkubGVuZ3RoO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICAgIHByaW50SW5mbygnU3RhdGlzdGljcycpO1xuICAgICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICAgJ0FjdGl2ZSBQaXBlbGluZXMnOiBgJHthY3RpdmVDb3VudH0vJHtwaXBlbGluZXMubGVuZ3RofWAsXG4gICAgICAgICAgICAnRGVmYXVsdCBQaXBlbGluZXMnOiBgJHtkZWZhdWx0Q291bnR9LyR7cGlwZWxpbmVzLmxlbmd0aH1gLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT3V0cHV0IGRhdGEgaW4gcmVxdWVzdGVkIGZvcm1hdFxuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIGlmIChvcHRpb25zLm91dHB1dCkge1xuICAgICAgICAgIHByaW50SW5mbygnU2F2aW5nIHRvIGZpbGUnLCB7XG4gICAgICAgICAgICBwYXRoOiBvcHRpb25zLm91dHB1dCxcbiAgICAgICAgICAgIGZvcm1hdDogb3B0aW9ucy5mb3JtYXQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3JtYXQgb3V0cHV0IGRhdGFcbiAgICAgICAgY29uc3Qgb3V0cHV0UGlwZWxpbmVzID0gb3B0aW9ucy5zaG93UHJvcHMgPyBwaXBlbGluZXMgOiBwaXBlbGluZXMubWFwKHAgPT4gKHtcbiAgICAgICAgICAnSUQnOiBwLmlkLFxuICAgICAgICAgICdQcm9qZWN0JzogcC5wcm9qZWN0LFxuICAgICAgICAgICdPcmdhbml6YXRpb24nOiBwLm9yZ2FuaXphdGlvbixcbiAgICAgICAgICAnTmFtZSc6IHAucGlwZWxpbmVOYW1lIHx8ICdOL0EnLFxuICAgICAgICAgICdBY2Nlc3MgTW9kaWZpZXInOiBwLmFjY2Vzc01vZGlmaWVyIHx8ICdwcml2YXRlJyxcbiAgICAgICAgICAnRGVmYXVsdCc6IHAuaXNEZWZhdWx0ID8gJ1llcycgOiAnTm8nLFxuICAgICAgICAgICdBY3RpdmUnOiBwLmlzQWN0aXZlID8gJ1llcycgOiAnTm8nLFxuICAgICAgICAgICdDcmVhdGVkIEF0JzogcC5jcmVhdGVkQXQgfHwgJ04vQScsXG4gICAgICAgIH0pKTtcblxuICAgICAgICBvdXRwdXREYXRhKG91dHB1dFBpcGVsaW5lcywge1xuICAgICAgICAgIGZvcm1hdDogb3B0aW9ucy5mb3JtYXQsXG4gICAgICAgICAgZmlsZTogb3B0aW9ucy5vdXRwdXQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFBlcmZvcm1hbmNlIG1ldHJpY3NcbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAnRXhlY3V0aW9uIElEJzogZXhlY3V0aW9uSWQsXG4gICAgICAgICAgJ1RvdGFsIER1cmF0aW9uJzogZm9ybWF0RHVyYXRpb24oRGF0ZS5ub3coKSAtIHN0YXJ0VGltZSksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcblxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFQSV9SRVFVRVNULCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgY29tbWFuZDogJ2xpc3QtcGlwZWxpbmVzJyxcbiAgICAgICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICAgICAgZmlsdGVyczogb3B0aW9ucyxcbiAgICAgICAgICAgIHZlcmlmeVNzbDogb3B0aW9ucy52ZXJpZnlTc2wsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|
|
@@ -9,11 +9,11 @@ import { Command } from 'commander';
|
|
|
9
9
|
*
|
|
10
10
|
* @example
|
|
11
11
|
* ```bash
|
|
12
|
-
* cli list
|
|
13
|
-
* cli list
|
|
14
|
-
* cli list
|
|
15
|
-
* cli list
|
|
16
|
-
* cli list
|
|
12
|
+
* cli plugin list
|
|
13
|
+
* cli plugin list --name auth-plugin --is-active true
|
|
14
|
+
* cli plugin list --version "^1.0.0"
|
|
15
|
+
* cli plugin list --limit 50 --offset 100 --sort "name:asc"
|
|
16
|
+
* cli plugin list --format json --output plugins.json
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
19
|
export declare function listPlugins(program: Command): void;
|
|
@@ -17,16 +17,16 @@ import { outputData, extractListResponse, printInfo, printKeyValue, printSection
|
|
|
17
17
|
*
|
|
18
18
|
* @example
|
|
19
19
|
* ```bash
|
|
20
|
-
* cli list
|
|
21
|
-
* cli list
|
|
22
|
-
* cli list
|
|
23
|
-
* cli list
|
|
24
|
-
* cli list
|
|
20
|
+
* cli plugin list
|
|
21
|
+
* cli plugin list --name auth-plugin --is-active true
|
|
22
|
+
* cli plugin list --version "^1.0.0"
|
|
23
|
+
* cli plugin list --limit 50 --offset 100 --sort "name:asc"
|
|
24
|
+
* cli plugin list --format json --output plugins.json
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
27
|
export function listPlugins(program) {
|
|
28
28
|
program
|
|
29
|
-
.command('list
|
|
29
|
+
.command('list')
|
|
30
30
|
.description('Query plugins with comprehensive filters')
|
|
31
31
|
// Common filter options
|
|
32
32
|
.option('--id <id>', 'Filter by plugin ID (can specify multiple with commas)')
|
|
@@ -157,4 +157,4 @@ export function listPlugins(program) {
|
|
|
157
157
|
}
|
|
158
158
|
});
|
|
159
159
|
}
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2xpc3QtcGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RSxPQUFPLEVBQXdDLE1BQU0sbUJBQW1CLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUEyQixxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFZakk7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQWdCO0lBQzFDLE9BQU87U0FDSixPQUFPLENBQUMsY0FBYyxDQUFDO1NBQ3ZCLFdBQVcsQ0FBQywwQ0FBMEMsQ0FBQztRQUV4RCx3QkFBd0I7U0FDdkIsTUFBTSxDQUFDLFdBQVcsRUFBRSx3REFBd0QsQ0FBQztTQUM3RSxNQUFNLENBQUMsdUJBQXVCLEVBQUUsc0NBQXNDLENBQUM7U0FDdkUsTUFBTSxDQUFDLGtCQUFrQixFQUFFLG9DQUFvQyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUM7U0FDOUUsTUFBTSxDQUFDLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FD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Q0FBQyxDQUFDLENBQUMsSUFBSTtnQkFDbkMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7Z0JBQ3ZELFlBQVksRUFBRSxDQUFDLENBQUMsU0FBUyxJQUFJLEtBQUs7YUFDbkMsQ0FBQyxDQUFDLENBQUM7WUFFSixVQUFVLENBQUMsYUFBYSxFQUFFO2dCQUN4QixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07Z0JBQ3RCLElBQUksRUFBRSxPQUFPLENBQUMsTUFBTTthQUNyQixDQUFDLENBQUM7WUFFSCxzQkFBc0I7WUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoQixhQUFhLENBQUM7Z0JBQ1osY0FBYyxFQUFFLFdBQVc7Z0JBQzNCLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDO2FBQ3pELENBQUMsQ0FBQztZQUVILE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFbEIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixXQUFXLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSztnQkFDM0IsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRSxjQUFjO29CQUN2QixXQUFXO29CQUNYLE9BQU8sRUFBRSxPQUFPO29CQUNoQixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7aUJBQzdCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IGZvcm1hdER1cmF0aW9uLCBmb3JtYXRGaWxlU2l6ZSB9IGZyb20gJy4uL2NvbmZpZy9jbGkuY29uc3RhbnRzLmpzJztcbmltcG9ydCB7IHR5cGUgUGx1Z2luTGlzdFJlc3BvbnNlLCB0eXBlIFBsdWdpbiB9IGZyb20gJy4uL3R5cGVzL2luZGV4LmpzJztcbmltcG9ydCB7IHByaW50Q29tbWFuZEhlYWRlciwgcHJpbnRTc2xXYXJuaW5nLCBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50IH0gZnJvbSAnLi4vdXRpbHMvY29tbWFuZC11dGlscy5qcyc7XG5pbXBvcnQgeyBFUlJPUl9DT0RFUywgaGFuZGxlRXJyb3IgfSBmcm9tICcuLi91dGlscy9lcnJvci1oYW5kbGVyLmpzJztcbmltcG9ydCB7IGJ1aWxkQ29tbW9uRmlsdGVycywgdHlwZSBDb21tb25GaWx0ZXJQYXJhbXMsIGRpc3BsYXlQYWdpbmF0aW9uSW5mbywgZGlzcGxheUxpc3RSZXN1bHRzIH0gZnJvbSAnLi4vdXRpbHMvbGlzdC1jb21tYW5kLXV0aWxzLmpzJztcbmltcG9ydCB7IG91dHB1dERhdGEsIGV4dHJhY3RMaXN0UmVzcG9uc2UsIHByaW50SW5mbywgcHJpbnRLZXlWYWx1ZSwgcHJpbnRTZWN0aW9uLCBwcmludFdhcm5pbmcgfSBmcm9tICcuLi91dGlscy9vdXRwdXQtdXRpbHMuanMnO1xuXG4vKipcbiAqIFF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHRoZSBwbHVnaW4gbGlzdCBBUEkgZW5kcG9pbnQuXG4gKiBDb21iaW5lcyBjb21tb24gZmlsdGVycyAocGFnaW5hdGlvbiwgc29ydCkgd2l0aCBwbHVnaW4tc3BlY2lmaWMgZmlsdGVycy5cbiAqL1xuaW50ZXJmYWNlIFBsdWdpbkZpbHRlclBhcmFtcyBleHRlbmRzIENvbW1vbkZpbHRlclBhcmFtcyB7XG4gIC8vIFBsdWdpbi1zcGVjaWZpYyBmaWx0ZXJzXG4gIG5hbWU/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIHRoZSBgbGlzdC1wbHVnaW5zYCBjb21tYW5kIHdpdGggdGhlIENMSSBwcm9ncmFtLlxuICpcbiAqIFF1ZXJpZXMgcGx1Z2lucyB3aXRoIGZpbHRlcnMgZm9yIG5hbWUsIHZlcnNpb24sIGltYWdlIHRhZyxcbiAqIGFjdGl2ZSBzdGF0dXMsIHBsdXMgcGFnaW5hdGlvbiBhbmQgc29ydGluZy5cbiAqXG4gKiBAcGFyYW0gcHJvZ3JhbSAtIFRoZSByb290IENvbW1hbmRlciBwcm9ncmFtIGluc3RhbmNlIHRvIGF0dGFjaCB0aGUgY29tbWFuZCB0by5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgYmFzaFxuICogY2xpIGxpc3QtcGx1Z2luc1xuICogY2xpIGxpc3QtcGx1Z2lucyAtLW5hbWUgYXV0aC1wbHVnaW4gLS1pcy1hY3RpdmUgdHJ1ZVxuICogY2xpIGxpc3QtcGx1Z2lucyAtLXZlcnNpb24gXCJeMS4wLjBcIlxuICogY2xpIGxpc3QtcGx1Z2lucyAtLWxpbWl0IDUwIC0tb2Zmc2V0IDEwMCAtLXNvcnQgXCJuYW1lOmFzY1wiXG4gKiBjbGkgbGlzdC1wbHVnaW5zIC0tZm9ybWF0IGpzb24gLS1vdXRwdXQgcGx1Z2lucy5qc29uXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpc3RQbHVnaW5zKHByb2dyYW06IENvbW1hbmQpOiB2b2lkIHtcbiAgcHJvZ3JhbVxuICAgIC5jb21tYW5kKCdsaXN0LXBsdWdpbnMnKVxuICAgIC5kZXNjcmlwdGlvbignUXVlcnkgcGx1Z2lucyB3aXRoIGNvbXByZWhlbnNpdmUgZmlsdGVycycpXG5cbiAgICAvLyBDb21tb24gZmlsdGVyIG9wdGlvbnNcbiAgICAub3B0aW9uKCctLWlkIDxpZD4nLCAnRmlsdGVyIGJ5IHBsdWdpbiBJRCAoY2FuIHNwZWNpZnkgbXVsdGlwbGUgd2l0aCBjb21tYXMpJylcbiAgICAub3B0aW9uKCctLWlzLWFjdGl2ZSA8Ym9vbGVhbj4nLCAnRmlsdGVyIGJ5IGFjdGl2ZSBzdGF0dXMgKHRydWUvZmFsc2UpJylcbiAgICAub3B0aW9uKCctLWxpbWl0IDxudW1iZXI+JywgJ01heGltdW0gbnVtYmVyIG9mIHJlc3VsdHMgKDEtMTAwMCknLCBwYXJzZUludCwgNTApXG4gICAgLm9wdGlvbignLS1vZmZzZXQgPG51bWJlcj4nLCAnTnVtYmVyIG9mIHJlc3VsdHMgdG8gc2tpcCcsIHBhcnNlSW50LCAwKVxuICAgIC5vcHRpb24oJy0tc29ydCA8c29ydD4nLCAnU29ydCBmb3JtYXQ6IGZpZWxkOmRpcmVjdGlvbiAoZS5nLiwgbmFtZTphc2MsIGNyZWF0ZWRBdDpkZXNjKScpXG5cbiAgICAvLyBQbHVnaW4tc3BlY2lmaWMgZmlsdGVyIG9wdGlvbnNcbiAgICAub3B0aW9uKCctLW5hbWUgPG5hbWU+JywgJ0ZpbHRlciBieSBleGFjdCBwbHVnaW4gbmFtZScpXG4gICAgLm9wdGlvbignLS12ZXJzaW9uIDx2ZXJzaW9uPicsICdGaWx0ZXIgYnkgdmVyc2lvbiAoc3VwcG9ydHMgc2VtdmVyLCBlLmcuLCBcIl4xLjAuMFwiKScpXG5cbiAgICAvLyBPdXRwdXQgb3B0aW9uc1xuICAgIC5vcHRpb24oJy1mLCAtLWZvcm1hdCA8Zm9ybWF0PicsICdPdXRwdXQgZm9ybWF0IChqc29uLCB5YW1sLCB0YWJsZSwgY3N2KScsICd0YWJsZScpXG4gICAgLm9wdGlvbignLW8sIC0tb3V0cHV0IDxmaWxlPicsICdTYXZlIG91dHB1dCB0byBmaWxlJylcbiAgICAub3B0aW9uKCctLXNob3ctbWV0YWRhdGEnLCAnSW5jbHVkZSBmdWxsIG1ldGFkYXRhIGluIG91dHB1dCAoanNvbi95YW1sIG9ubHkpJywgZmFsc2UpXG4gICAgLm9wdGlvbignLS12ZXJpZnktc3NsJywgJ0VuYWJsZSBTU0wgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uJylcbiAgICAub3B0aW9uKCctLW5vLXZlcmlmeS1zc2wnLCAnRGlzYWJsZSBTU0wgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uJylcblxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gcHJpbnRDb21tYW5kSGVhZGVyKCdMaXN0IFBsdWdpbnMnLCAnUXVlcnkgUGx1Z2lucycpO1xuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcblxuICAgICAgdHJ5IHtcblxuICAgICAgICAvLyBCdWlsZCBmaWx0ZXIgcGFyYW1ldGVycyAoY29tbW9uICsgcGx1Z2luLXNwZWNpZmljKVxuICAgICAgICBjb25zdCBmaWx0ZXJQYXJhbXM6IFBsdWdpbkZpbHRlclBhcmFtcyA9IHtcbiAgICAgICAgICAuLi5idWlsZENvbW1vbkZpbHRlcnMob3B0aW9ucyksXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gUGx1Z2luLXNwZWNpZmljIGZpbHRlcnNcbiAgICAgICAgaWYgKG9wdGlvbnMubmFtZSkge1xuICAgICAgICAgIGZpbHRlclBhcmFtcy5uYW1lID0gb3B0aW9ucy5uYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9wdGlvbnMudmVyc2lvbikge1xuICAgICAgICAgIC8vIFZhbGlkYXRlIHNlbXZlciBmb3JtYXRcbiAgICAgICAgICBjb25zdCB2ZXJzaW9uUGF0dGVybiA9IC9eKFxcXnx+KT8oXFxkKylcXC4oXFxkKylcXC4oXFxkKykoLVthLXpBLVowLTkuLV0rKT8oXFwrW2EtekEtWjAtOS4tXSspPyQvO1xuICAgICAgICAgIGlmICghdmVyc2lvblBhdHRlcm4udGVzdChvcHRpb25zLnZlcnNpb24pKSB7XG4gICAgICAgICAgICBwcmludFdhcm5pbmcoYFZlcnNpb24gXCIke29wdGlvbnMudmVyc2lvbn1cIiBtYXkgbm90IGJlIHZhbGlkIHNlbXZlciBmb3JtYXRgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZmlsdGVyUGFyYW1zLnZlcnNpb24gPSBvcHRpb25zLnZlcnNpb247XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNwbGF5IGFjdGl2ZSBmaWx0ZXJzXG4gICAgICAgIGNvbnN0IGFjdGl2ZUZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gICAgICAgIGlmIChmaWx0ZXJQYXJhbXMuaWQpIGFjdGl2ZUZpbHRlcnMuSUQgPSBmaWx0ZXJQYXJhbXMuaWQ7XG4gICAgICAgIGlmIChmaWx0ZXJQYXJhbXMuaXNBY3RpdmUgIT09IHVuZGVmaW5lZCkgYWN0aXZlRmlsdGVyc1snSXMgQWN0aXZlJ10gPSBmaWx0ZXJQYXJhbXMuaXNBY3RpdmU7XG4gICAgICAgIGlmIChmaWx0ZXJQYXJhbXMubmFtZSkgYWN0aXZlRmlsdGVycy5OYW1lID0gZmlsdGVyUGFyYW1zLm5hbWU7XG4gICAgICAgIGlmIChmaWx0ZXJQYXJhbXMudmVyc2lvbikgYWN0aXZlRmlsdGVycy5WZXJzaW9uID0gZmlsdGVyUGFyYW1zLnZlcnNpb247XG5cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKGFjdGl2ZUZpbHRlcnMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBwcmludEluZm8oJ0FjdGl2ZSBGaWx0ZXJzJyk7XG4gICAgICAgICAgcHJpbnRLZXlWYWx1ZShhY3RpdmVGaWx0ZXJzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcmludEluZm8oJ05vIGZpbHRlcnMgYXBwbGllZCAtIGZldGNoaW5nIGFsbCBwbHVnaW5zJyk7XG4gICAgICAgIH1cblxuICAgICAgICBkaXNwbGF5UGFnaW5hdGlvbkluZm8oZmlsdGVyUGFyYW1zKTtcblxuICAgICAgICAvLyBTZWN1cml0eSB3YXJuaW5nIGZvciBTU0wgdmVyaWZpY2F0aW9uIGRpc2FibGVkXG4gICAgICAgIHByaW50U3NsV2FybmluZyhvcHRpb25zLnZlcmlmeVNzbCk7XG5cbiAgICAgICAgLy8gQ3JlYXRlIGF1dGhlbnRpY2F0ZWQgQVBJIGNsaWVudFxuICAgICAgICBjb25zdCBjbGllbnQgPSBjcmVhdGVBdXRoZW50aWNhdGVkQ2xpZW50KG9wdGlvbnMpO1xuICAgICAgICBjb25zdCBjb25maWcgPSBjbGllbnQuZ2V0Q29uZmlnKCk7XG5cbiAgICAgICAgLy8gUXVlcnkgcGx1Z2luc1xuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIHByaW50U2VjdGlvbignUXVlcnlpbmcgUGx1Z2lucycpO1xuICAgICAgICBwcmludEluZm8oJ1NlbmRpbmcgcmVxdWVzdCB0byBBUEkuLi4nKTtcblxuICAgICAgICBjb25zdCByZXF1ZXN0U3RhcnQgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQ8UGx1Z2luTGlzdFJlc3BvbnNlPihcbiAgICAgICAgICBjb25maWcuYXBpLnBsdWdpbkxpc3RVcmwsXG4gICAgICAgICAgZmlsdGVyUGFyYW1zIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgICAgICApO1xuICAgICAgICBjb25zdCByZXF1ZXN0RHVyYXRpb24gPSBEYXRlLm5vdygpIC0gcmVxdWVzdFN0YXJ0O1xuXG4gICAgICAgIC8vIEhhbmRsZSByZXNwb25zZVxuICAgICAgICBjb25zdCB7IGl0ZW1zOiBwbHVnaW5zLCB0b3RhbCwgaGFzTW9yZSB9ID0gZXh0cmFjdExpc3RSZXNwb25zZTxQbHVnaW4+KHJlc3BvbnNlLCAncGx1Z2lucycpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgcHJpbnRTZWN0aW9uKCfinJMgUXVlcnkgQ29tcGxldGUnKTtcblxuICAgICAgICAvLyBEaXNwbGF5IHJlc3VsdHMgc3VtbWFyeVxuICAgICAgICBkaXNwbGF5TGlzdFJlc3VsdHMocGx1Z2lucywgdG90YWwsIGhhc01vcmUsICdQbHVnaW5zJywgcmVxdWVzdER1cmF0aW9uLCBmaWx0ZXJQYXJhbXMpO1xuXG4gICAgICAgIC8vIERpc3BsYXkgc3RhdGlzdGljc1xuICAgICAgICBpZiAocGx1Z2lucy5sZW5ndGggPiAwICYmIG9wdGlvbnMuZm9ybWF0ID09PSAndGFibGUnKSB7XG4gICAgICAgICAgY29uc3QgYWN0aXZlQ291bnQgPSBwbHVnaW5zLmZpbHRlcihwID0+IHAuaXNBY3RpdmUpLmxlbmd0aDtcbiAgICAgICAgICBjb25zdCBwdWJsaWNDb3VudCA9IHBsdWdpbnMuZmlsdGVyKHAgPT4gcC5pc1B1YmxpYyA9PT0gdHJ1ZSkubGVuZ3RoO1xuICAgICAgICAgIGNvbnN0IHRvdGFsU2l6ZSA9IHBsdWdpbnMucmVkdWNlKChzdW0sIHApID0+IHN1bSArIChwLmZpbGVTaXplIHx8IDApLCAwKTtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgICBwcmludEluZm8oJ1N0YXRpc3RpY3MnKTtcbiAgICAgICAgICBwcmludEtleVZhbHVlKHtcbiAgICAgICAgICAgICdBY3RpdmUgUGx1Z2lucyc6IGAke2FjdGl2ZUNvdW50fS8ke3BsdWdpbnMubGVuZ3RofWAsXG4gICAgICAgICAgICAnUHVibGljIFBsdWdpbnMnOiBgJHtwdWJsaWNDb3VudH0vJHtwbHVnaW5zLmxlbmd0aH1gLFxuICAgICAgICAgICAgJ1RvdGFsIFNpemUnOiBmb3JtYXRGaWxlU2l6ZSh0b3RhbFNpemUpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT3V0cHV0IGRhdGEgaW4gcmVxdWVzdGVkIGZvcm1hdFxuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIGlmIChvcHRpb25zLm91dHB1dCkge1xuICAgICAgICAgIHByaW50SW5mbygnU2F2aW5nIHRvIGZpbGUnLCB7XG4gICAgICAgICAgICBwYXRoOiBvcHRpb25zLm91dHB1dCxcbiAgICAgICAgICAgIGZvcm1hdDogb3B0aW9ucy5mb3JtYXQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3JtYXQgb3V0cHV0IGRhdGFcbiAgICAgICAgY29uc3Qgb3V0cHV0UGx1Z2lucyA9IG9wdGlvbnMuc2hvd01ldGFkYXRhID8gcGx1Z2lucyA6IHBsdWdpbnMubWFwKHAgPT4gKHtcbiAgICAgICAgICAnSUQnOiBwLmlkLFxuICAgICAgICAgICdOYW1lJzogcC5uYW1lLFxuICAgICAgICAgICdWZXJzaW9uJzogcC52ZXJzaW9uLFxuICAgICAgICAgICdPcmdhbml6YXRpb24nOiBwLm9yZ2FuaXphdGlvbixcbiAgICAgICAgICAnQWN0aXZlJzogcC5pc0FjdGl2ZSA/ICdZZXMnIDogJ05vJyxcbiAgICAgICAgICAnUHVibGljJzogcC5pc1B1YmxpYyA/ICdZZXMnIDogJ05vJyxcbiAgICAgICAgICAnU2l6ZSc6IHAuZmlsZVNpemUgPyBmb3JtYXRGaWxlU2l6ZShwLmZpbGVTaXplKSA6ICdOL0EnLFxuICAgICAgICAgICdDcmVhdGVkIEF0JzogcC5jcmVhdGVkQXQgfHwgJ04vQScsXG4gICAgICAgIH0pKTtcblxuICAgICAgICBvdXRwdXREYXRhKG91dHB1dFBsdWdpbnMsIHtcbiAgICAgICAgICBmb3JtYXQ6IG9wdGlvbnMuZm9ybWF0LFxuICAgICAgICAgIGZpbGU6IG9wdGlvbnMub3V0cHV0LFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBQZXJmb3JtYW5jZSBtZXRyaWNzXG4gICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgJ0V4ZWN1dGlvbiBJRCc6IGV4ZWN1dGlvbklkLFxuICAgICAgICAgICdUb3RhbCBEdXJhdGlvbic6IGZvcm1hdER1cmF0aW9uKERhdGUubm93KCkgLSBzdGFydFRpbWUpLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG5cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycm9yLCBFUlJPUl9DT0RFUy5BUElfUkVRVUVTVCwge1xuICAgICAgICAgIGRlYnVnOiBwcm9ncmFtLm9wdHMoKS5kZWJ1ZyxcbiAgICAgICAgICBleGl0OiB0cnVlLFxuICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgIGNvbW1hbmQ6ICdsaXN0LXBsdWdpbnMnLFxuICAgICAgICAgICAgZXhlY3V0aW9uSWQsXG4gICAgICAgICAgICBmaWx0ZXJzOiBvcHRpb25zLFxuICAgICAgICAgICAgdmVyaWZ5U3NsOiBvcHRpb25zLnZlcmlmeVNzbCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2xpc3QtcGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RSxPQUFPLEVBQXdDLE1BQU0sbUJBQW1CLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUEyQixxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFZakk7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQWdCO0lBQzFDLE9BQU87U0FDSixPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ2YsV0FBVyxDQUFDLDBDQUEwQyxDQUFDO1FBRXhELHdCQUF3QjtTQUN2QixNQUFNLENBQUMsV0FBVyxFQUFFLHdEQUF3RCxDQUFDO1NBQzdFLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSxzQ0FBc0MsQ0FBQztTQUN2RSxNQUFNLENBQUMsa0JBQWtCLEVBQUUsb0NBQW9DLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQztTQUM5RSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNy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QUFDLENBQUMsQ0FBQyxJQUFJO2dCQUNuQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztnQkFDdkQsWUFBWSxFQUFFLENBQUMsQ0FBQyxTQUFTLElBQUksS0FBSzthQUNuQyxDQUFDLENBQUMsQ0FBQztZQUVKLFVBQVUsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3hCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtnQkFDdEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2FBQ3JCLENBQUMsQ0FBQztZQUVILHNCQUFzQjtZQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hCLGFBQWEsQ0FBQztnQkFDWixjQUFjLEVBQUUsV0FBVztnQkFDM0IsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUM7YUFDekQsQ0FBQyxDQUFDO1lBRUgsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVsQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLFdBQVcsRUFBRTtnQkFDMUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLO2dCQUMzQixJQUFJLEVBQUUsSUFBSTtnQkFDVixPQUFPLEVBQUU7b0JBQ1AsT0FBTyxFQUFFLGNBQWM7b0JBQ3ZCLFdBQVc7b0JBQ1gsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztpQkFDN0I7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgZm9ybWF0RHVyYXRpb24sIGZvcm1hdEZpbGVTaXplIH0gZnJvbSAnLi4vY29uZmlnL2NsaS5jb25zdGFudHMuanMnO1xuaW1wb3J0IHsgdHlwZSBQbHVnaW5MaXN0UmVzcG9uc2UsIHR5cGUgUGx1Z2luIH0gZnJvbSAnLi4vdHlwZXMvaW5kZXguanMnO1xuaW1wb3J0IHsgcHJpbnRDb21tYW5kSGVhZGVyLCBwcmludFNzbFdhcm5pbmcsIGNyZWF0ZUF1dGhlbnRpY2F0ZWRDbGllbnQgfSBmcm9tICcuLi91dGlscy9jb21tYW5kLXV0aWxzLmpzJztcbmltcG9ydCB7IEVSUk9SX0NPREVTLCBoYW5kbGVFcnJvciB9IGZyb20gJy4uL3V0aWxzL2Vycm9yLWhhbmRsZXIuanMnO1xuaW1wb3J0IHsgYnVpbGRDb21tb25GaWx0ZXJzLCB0eXBlIENvbW1vbkZpbHRlclBhcmFtcywgZGlzcGxheVBhZ2luYXRpb25JbmZvLCBkaXNwbGF5TGlzdFJlc3VsdHMgfSBmcm9tICcuLi91dGlscy9saXN0LWNvbW1hbmQtdXRpbHMuanMnO1xuaW1wb3J0IHsgb3V0cHV0RGF0YSwgZXh0cmFjdExpc3RSZXNwb25zZSwgcHJpbnRJbmZvLCBwcmludEtleVZhbHVlLCBwcmludFNlY3Rpb24sIHByaW50V2FybmluZyB9IGZyb20gJy4uL3V0aWxzL291dHB1dC11dGlscy5qcyc7XG5cbi8qKlxuICogUXVlcnkgcGFyYW1ldGVycyBmb3IgdGhlIHBsdWdpbiBsaXN0IEFQSSBlbmRwb2ludC5cbiAqIENvbWJpbmVzIGNvbW1vbiBmaWx0ZXJzIChwYWdpbmF0aW9uLCBzb3J0KSB3aXRoIHBsdWdpbi1zcGVjaWZpYyBmaWx0ZXJzLlxuICovXG5pbnRlcmZhY2UgUGx1Z2luRmlsdGVyUGFyYW1zIGV4dGVuZHMgQ29tbW9uRmlsdGVyUGFyYW1zIHtcbiAgLy8gUGx1Z2luLXNwZWNpZmljIGZpbHRlcnNcbiAgbmFtZT86IHN0cmluZztcbiAgdmVyc2lvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIGBsaXN0LXBsdWdpbnNgIGNvbW1hbmQgd2l0aCB0aGUgQ0xJIHByb2dyYW0uXG4gKlxuICogUXVlcmllcyBwbHVnaW5zIHdpdGggZmlsdGVycyBmb3IgbmFtZSwgdmVyc2lvbiwgaW1hZ2UgdGFnLFxuICogYWN0aXZlIHN0YXR1cywgcGx1cyBwYWdpbmF0aW9uIGFuZCBzb3J0aW5nLlxuICpcbiAqIEBwYXJhbSBwcm9ncmFtIC0gVGhlIHJvb3QgQ29tbWFuZGVyIHByb2dyYW0gaW5zdGFuY2UgdG8gYXR0YWNoIHRoZSBjb21tYW5kIHRvLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBiYXNoXG4gKiBjbGkgcGx1Z2luIGxpc3RcbiAqIGNsaSBwbHVnaW4gbGlzdCAtLW5hbWUgYXV0aC1wbHVnaW4gLS1pcy1hY3RpdmUgdHJ1ZVxuICogY2xpIHBsdWdpbiBsaXN0IC0tdmVyc2lvbiBcIl4xLjAuMFwiXG4gKiBjbGkgcGx1Z2luIGxpc3QgLS1saW1pdCA1MCAtLW9mZnNldCAxMDAgLS1zb3J0IFwibmFtZTphc2NcIlxuICogY2xpIHBsdWdpbiBsaXN0IC0tZm9ybWF0IGpzb24gLS1vdXRwdXQgcGx1Z2lucy5qc29uXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpc3RQbHVnaW5zKHByb2dyYW06IENvbW1hbmQpOiB2b2lkIHtcbiAgcHJvZ3JhbVxuICAgIC5jb21tYW5kKCdsaXN0JylcbiAgICAuZGVzY3JpcHRpb24oJ1F1ZXJ5IHBsdWdpbnMgd2l0aCBjb21wcmVoZW5zaXZlIGZpbHRlcnMnKVxuXG4gICAgLy8gQ29tbW9uIGZpbHRlciBvcHRpb25zXG4gICAgLm9wdGlvbignLS1pZCA8aWQ+JywgJ0ZpbHRlciBieSBwbHVnaW4gSUQgKGNhbiBzcGVjaWZ5IG11bHRpcGxlIHdpdGggY29tbWFzKScpXG4gICAgLm9wdGlvbignLS1pcy1hY3RpdmUgPGJvb2xlYW4+JywgJ0ZpbHRlciBieSBhY3RpdmUgc3RhdHVzICh0cnVlL2ZhbHNlKScpXG4gICAgLm9wdGlvbignLS1saW1pdCA8bnVtYmVyPicsICdNYXhpbXVtIG51bWJlciBvZiByZXN1bHRzICgxLTEwMDApJywgcGFyc2VJbnQsIDUwKVxuICAgIC5vcHRpb24oJy0tb2Zmc2V0IDxudW1iZXI+JywgJ051bWJlciBvZiByZXN1bHRzIHRvIHNraXAnLCBwYXJzZUludCwgMClcbiAgICAub3B0aW9uKCctLXNvcnQgPHNvcnQ+JywgJ1NvcnQgZm9ybWF0OiBmaWVsZDpkaXJlY3Rpb24gKGUuZy4sIG5hbWU6YXNjLCBjcmVhdGVkQXQ6ZGVzYyknKVxuXG4gICAgLy8gUGx1Z2luLXNwZWNpZmljIGZpbHRlciBvcHRpb25zXG4gICAgLm9wdGlvbignLS1uYW1lIDxuYW1lPicsICdGaWx0ZXIgYnkgZXhhY3QgcGx1Z2luIG5hbWUnKVxuICAgIC5vcHRpb24oJy0tdmVyc2lvbiA8dmVyc2lvbj4nLCAnRmlsdGVyIGJ5IHZlcnNpb24gKHN1cHBvcnRzIHNlbXZlciwgZS5nLiwgXCJeMS4wLjBcIiknKVxuXG4gICAgLy8gT3V0cHV0IG9wdGlvbnNcbiAgICAub3B0aW9uKCctZiwgLS1mb3JtYXQgPGZvcm1hdD4nLCAnT3V0cHV0IGZvcm1hdCAoanNvbiwgeWFtbCwgdGFibGUsIGNzdiknLCAndGFibGUnKVxuICAgIC5vcHRpb24oJy1vLCAtLW91dHB1dCA8ZmlsZT4nLCAnU2F2ZSBvdXRwdXQgdG8gZmlsZScpXG4gICAgLm9wdGlvbignLS1zaG93LW1ldGFkYXRhJywgJ0luY2x1ZGUgZnVsbCBtZXRhZGF0YSBpbiBvdXRwdXQgKGpzb24veWFtbCBvbmx5KScsIGZhbHNlKVxuICAgIC5vcHRpb24oJy0tdmVyaWZ5LXNzbCcsICdFbmFibGUgU1NMIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbicpXG4gICAgLm9wdGlvbignLS1uby12ZXJpZnktc3NsJywgJ0Rpc2FibGUgU1NMIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbicpXG5cbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IHByaW50Q29tbWFuZEhlYWRlcignTGlzdCBQbHVnaW5zJywgJ1F1ZXJ5IFBsdWdpbnMnKTtcbiAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IERhdGUubm93KCk7XG5cbiAgICAgIHRyeSB7XG5cbiAgICAgICAgLy8gQnVpbGQgZmlsdGVyIHBhcmFtZXRlcnMgKGNvbW1vbiArIHBsdWdpbi1zcGVjaWZpYylcbiAgICAgICAgY29uc3QgZmlsdGVyUGFyYW1zOiBQbHVnaW5GaWx0ZXJQYXJhbXMgPSB7XG4gICAgICAgICAgLi4uYnVpbGRDb21tb25GaWx0ZXJzKG9wdGlvbnMpLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFBsdWdpbi1zcGVjaWZpYyBmaWx0ZXJzXG4gICAgICAgIGlmIChvcHRpb25zLm5hbWUpIHtcbiAgICAgICAgICBmaWx0ZXJQYXJhbXMubmFtZSA9IG9wdGlvbnMubmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLnZlcnNpb24pIHtcbiAgICAgICAgICAvLyBWYWxpZGF0ZSBzZW12ZXIgZm9ybWF0XG4gICAgICAgICAgY29uc3QgdmVyc2lvblBhdHRlcm4gPSAvXihcXF58fik/KFxcZCspXFwuKFxcZCspXFwuKFxcZCspKC1bYS16QS1aMC05Li1dKyk/KFxcK1thLXpBLVowLTkuLV0rKT8kLztcbiAgICAgICAgICBpZiAoIXZlcnNpb25QYXR0ZXJuLnRlc3Qob3B0aW9ucy52ZXJzaW9uKSkge1xuICAgICAgICAgICAgcHJpbnRXYXJuaW5nKGBWZXJzaW9uIFwiJHtvcHRpb25zLnZlcnNpb259XCIgbWF5IG5vdCBiZSB2YWxpZCBzZW12ZXIgZm9ybWF0YCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGZpbHRlclBhcmFtcy52ZXJzaW9uID0gb3B0aW9ucy52ZXJzaW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGlzcGxheSBhY3RpdmUgZmlsdGVyc1xuICAgICAgICBjb25zdCBhY3RpdmVGaWx0ZXJzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW1zLmlkKSBhY3RpdmVGaWx0ZXJzLklEID0gZmlsdGVyUGFyYW1zLmlkO1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW1zLmlzQWN0aXZlICE9PSB1bmRlZmluZWQpIGFjdGl2ZUZpbHRlcnNbJ0lzIEFjdGl2ZSddID0gZmlsdGVyUGFyYW1zLmlzQWN0aXZlO1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW1zLm5hbWUpIGFjdGl2ZUZpbHRlcnMuTmFtZSA9IGZpbHRlclBhcmFtcy5uYW1lO1xuICAgICAgICBpZiAoZmlsdGVyUGFyYW1zLnZlcnNpb24pIGFjdGl2ZUZpbHRlcnMuVmVyc2lvbiA9IGZpbHRlclBhcmFtcy52ZXJzaW9uO1xuXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhhY3RpdmVGaWx0ZXJzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcHJpbnRJbmZvKCdBY3RpdmUgRmlsdGVycycpO1xuICAgICAgICAgIHByaW50S2V5VmFsdWUoYWN0aXZlRmlsdGVycyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJpbnRJbmZvKCdObyBmaWx0ZXJzIGFwcGxpZWQgLSBmZXRjaGluZyBhbGwgcGx1Z2lucycpO1xuICAgICAgICB9XG5cbiAgICAgICAgZGlzcGxheVBhZ2luYXRpb25JbmZvKGZpbHRlclBhcmFtcyk7XG5cbiAgICAgICAgLy8gU2VjdXJpdHkgd2FybmluZyBmb3IgU1NMIHZlcmlmaWNhdGlvbiBkaXNhYmxlZFxuICAgICAgICBwcmludFNzbFdhcm5pbmcob3B0aW9ucy52ZXJpZnlTc2wpO1xuXG4gICAgICAgIC8vIENyZWF0ZSBhdXRoZW50aWNhdGVkIEFQSSBjbGllbnRcbiAgICAgICAgY29uc3QgY2xpZW50ID0gY3JlYXRlQXV0aGVudGljYXRlZENsaWVudChvcHRpb25zKTtcbiAgICAgICAgY29uc3QgY29uZmlnID0gY2xpZW50LmdldENvbmZpZygpO1xuXG4gICAgICAgIC8vIFF1ZXJ5IHBsdWdpbnNcbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICBwcmludFNlY3Rpb24oJ1F1ZXJ5aW5nIFBsdWdpbnMnKTtcbiAgICAgICAgcHJpbnRJbmZvKCdTZW5kaW5nIHJlcXVlc3QgdG8gQVBJLi4uJyk7XG5cbiAgICAgICAgY29uc3QgcmVxdWVzdFN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0PFBsdWdpbkxpc3RSZXNwb25zZT4oXG4gICAgICAgICAgY29uZmlnLmFwaS5wbHVnaW5MaXN0VXJsLFxuICAgICAgICAgIGZpbHRlclBhcmFtcyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcmVxdWVzdER1cmF0aW9uID0gRGF0ZS5ub3coKSAtIHJlcXVlc3RTdGFydDtcblxuICAgICAgICAvLyBIYW5kbGUgcmVzcG9uc2VcbiAgICAgICAgY29uc3QgeyBpdGVtczogcGx1Z2lucywgdG90YWwsIGhhc01vcmUgfSA9IGV4dHJhY3RMaXN0UmVzcG9uc2U8UGx1Z2luPihyZXNwb25zZSwgJ3BsdWdpbnMnKTtcblxuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIHByaW50U2VjdGlvbign4pyTIFF1ZXJ5IENvbXBsZXRlJyk7XG5cbiAgICAgICAgLy8gRGlzcGxheSByZXN1bHRzIHN1bW1hcnlcbiAgICAgICAgZGlzcGxheUxpc3RSZXN1bHRzKHBsdWdpbnMsIHRvdGFsLCBoYXNNb3JlLCAnUGx1Z2lucycsIHJlcXVlc3REdXJhdGlvbiwgZmlsdGVyUGFyYW1zKTtcblxuICAgICAgICAvLyBEaXNwbGF5IHN0YXRpc3RpY3NcbiAgICAgICAgaWYgKHBsdWdpbnMubGVuZ3RoID4gMCAmJiBvcHRpb25zLmZvcm1hdCA9PT0gJ3RhYmxlJykge1xuICAgICAgICAgIGNvbnN0IGFjdGl2ZUNvdW50ID0gcGx1Z2lucy5maWx0ZXIocCA9PiBwLmlzQWN0aXZlKS5sZW5ndGg7XG4gICAgICAgICAgY29uc3QgcHVibGljQ291bnQgPSBwbHVnaW5zLmZpbHRlcihwID0+IHAuaXNQdWJsaWMgPT09IHRydWUpLmxlbmd0aDtcbiAgICAgICAgICBjb25zdCB0b3RhbFNpemUgPSBwbHVnaW5zLnJlZHVjZSgoc3VtLCBwKSA9PiBzdW0gKyAocC5maWxlU2l6ZSB8fCAwKSwgMCk7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgICAgcHJpbnRJbmZvKCdTdGF0aXN0aWNzJyk7XG4gICAgICAgICAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgICAgICAgICAnQWN0aXZlIFBsdWdpbnMnOiBgJHthY3RpdmVDb3VudH0vJHtwbHVnaW5zLmxlbmd0aH1gLFxuICAgICAgICAgICAgJ1B1YmxpYyBQbHVnaW5zJzogYCR7cHVibGljQ291bnR9LyR7cGx1Z2lucy5sZW5ndGh9YCxcbiAgICAgICAgICAgICdUb3RhbCBTaXplJzogZm9ybWF0RmlsZVNpemUodG90YWxTaXplKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE91dHB1dCBkYXRhIGluIHJlcXVlc3RlZCBmb3JtYXRcbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICBpZiAob3B0aW9ucy5vdXRwdXQpIHtcbiAgICAgICAgICBwcmludEluZm8oJ1NhdmluZyB0byBmaWxlJywge1xuICAgICAgICAgICAgcGF0aDogb3B0aW9ucy5vdXRwdXQsXG4gICAgICAgICAgICBmb3JtYXQ6IG9wdGlvbnMuZm9ybWF0LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9ybWF0IG91dHB1dCBkYXRhXG4gICAgICAgIGNvbnN0IG91dHB1dFBsdWdpbnMgPSBvcHRpb25zLnNob3dNZXRhZGF0YSA/IHBsdWdpbnMgOiBwbHVnaW5zLm1hcChwID0+ICh7XG4gICAgICAgICAgJ0lEJzogcC5pZCxcbiAgICAgICAgICAnTmFtZSc6IHAubmFtZSxcbiAgICAgICAgICAnVmVyc2lvbic6IHAudmVyc2lvbixcbiAgICAgICAgICAnT3JnYW5pemF0aW9uJzogcC5vcmdhbml6YXRpb24sXG4gICAgICAgICAgJ0FjdGl2ZSc6IHAuaXNBY3RpdmUgPyAnWWVzJyA6ICdObycsXG4gICAgICAgICAgJ1B1YmxpYyc6IHAuaXNQdWJsaWMgPyAnWWVzJyA6ICdObycsXG4gICAgICAgICAgJ1NpemUnOiBwLmZpbGVTaXplID8gZm9ybWF0RmlsZVNpemUocC5maWxlU2l6ZSkgOiAnTi9BJyxcbiAgICAgICAgICAnQ3JlYXRlZCBBdCc6IHAuY3JlYXRlZEF0IHx8ICdOL0EnLFxuICAgICAgICB9KSk7XG5cbiAgICAgICAgb3V0cHV0RGF0YShvdXRwdXRQbHVnaW5zLCB7XG4gICAgICAgICAgZm9ybWF0OiBvcHRpb25zLmZvcm1hdCxcbiAgICAgICAgICBmaWxlOiBvcHRpb25zLm91dHB1dCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUGVyZm9ybWFuY2UgbWV0cmljc1xuICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgIHByaW50S2V5VmFsdWUoe1xuICAgICAgICAgICdFeGVjdXRpb24gSUQnOiBleGVjdXRpb25JZCxcbiAgICAgICAgICAnVG90YWwgRHVyYXRpb24nOiBmb3JtYXREdXJhdGlvbihEYXRlLm5vdygpIC0gc3RhcnRUaW1lKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc29sZS5sb2coJycpO1xuXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVBJX1JFUVVFU1QsIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICBjb21tYW5kOiAnbGlzdC1wbHVnaW5zJyxcbiAgICAgICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICAgICAgZmlsdGVyczogb3B0aW9ucyxcbiAgICAgICAgICAgIHZlcmlmeVNzbDogb3B0aW9ucy52ZXJpZnlTc2wsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|
package/dist/commands/login.d.ts
CHANGED
|
@@ -10,11 +10,11 @@ import { Command } from 'commander';
|
|
|
10
10
|
*
|
|
11
11
|
* @example
|
|
12
12
|
* ```bash
|
|
13
|
-
* pipeline-manager login --identifier admin@example.com --password secret
|
|
14
|
-
* pipeline-manager login -u admin@example.com -p secret
|
|
15
|
-
* pipeline-manager login -u admin@example.com -p secret --url https://myhost:8443
|
|
16
|
-
* eval $(pipeline-manager login -u admin@example.com -p secret --quiet)
|
|
17
|
-
* pipeline-manager login --refresh <refresh-token>
|
|
13
|
+
* pipeline-manager auth login --identifier admin@example.com --password secret
|
|
14
|
+
* pipeline-manager auth login -u admin@example.com -p secret
|
|
15
|
+
* pipeline-manager auth login -u admin@example.com -p secret --url https://myhost:8443
|
|
16
|
+
* eval $(pipeline-manager auth login -u admin@example.com -p secret --quiet)
|
|
17
|
+
* pipeline-manager auth login --refresh <refresh-token>
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
20
|
export declare function login(program: Command): void;
|
package/dist/commands/login.js
CHANGED
|
@@ -21,11 +21,11 @@ const { bold, cyan, green, magenta } = pico;
|
|
|
21
21
|
*
|
|
22
22
|
* @example
|
|
23
23
|
* ```bash
|
|
24
|
-
* pipeline-manager login --identifier admin@example.com --password secret
|
|
25
|
-
* pipeline-manager login -u admin@example.com -p secret
|
|
26
|
-
* pipeline-manager login -u admin@example.com -p secret --url https://myhost:8443
|
|
27
|
-
* eval $(pipeline-manager login -u admin@example.com -p secret --quiet)
|
|
28
|
-
* pipeline-manager login --refresh <refresh-token>
|
|
24
|
+
* pipeline-manager auth login --identifier admin@example.com --password secret
|
|
25
|
+
* pipeline-manager auth login -u admin@example.com -p secret
|
|
26
|
+
* pipeline-manager auth login -u admin@example.com -p secret --url https://myhost:8443
|
|
27
|
+
* eval $(pipeline-manager auth login -u admin@example.com -p secret --quiet)
|
|
28
|
+
* pipeline-manager auth login --refresh <refresh-token>
|
|
29
29
|
* ```
|
|
30
30
|
*/
|
|
31
31
|
export function login(program) {
|
|
@@ -154,10 +154,10 @@ export function login(program) {
|
|
|
154
154
|
printInfo('Tip: Run the following to set the token in your shell:');
|
|
155
155
|
const orgFlag = options.org ? ` --org ${options.org}` : '';
|
|
156
156
|
if (isRefresh) {
|
|
157
|
-
console.log(green(` eval $(pipeline-manager login --refresh '<refresh-token>'${orgFlag} --quiet)`));
|
|
157
|
+
console.log(green(` eval $(pipeline-manager auth login --refresh '<refresh-token>'${orgFlag} --quiet)`));
|
|
158
158
|
}
|
|
159
159
|
else {
|
|
160
|
-
console.log(green(` eval $(pipeline-manager login -u ${identifier} -p '***'${orgFlag} --quiet)`));
|
|
160
|
+
console.log(green(` eval $(pipeline-manager auth login -u ${identifier} -p '***'${orgFlag} --quiet)`));
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
}
|
|
@@ -190,4 +190,4 @@ export function login(program) {
|
|
|
190
190
|
}
|
|
191
191
|
});
|
|
192
192
|
}
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvbG9naW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxJQUFJLE1BQU0sWUFBWSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRCxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBYTVDOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUMsT0FBZ0I7SUFDcEMsT0FBTztTQUNKLE9BQU8sQ0FBQyxPQUFPLENBQUM7U0FDaEIsV0FBVyxDQUFDLDREQUE0RCxDQUFDO1NBQ3pFLE1BQU0sQ0FBQywrQkFBK0IsRUFBRSxtQkFBbUIsQ0FBQztTQUM1RCxNQUFNLENBQUMsMkJBQTJCLEVBQUUsVUFBVSxDQUFDO1NBQy9DLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxrREFBa0QsQ0FBQztTQUN0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QUFFLE9BQU8sQ0FBQyxVQUFVO29CQUM5QixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7aUJBQ2pCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgaHR0cHMgZnJvbSAnaHR0cHMnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHBpY28gZnJvbSAncGljb2NvbG9ycyc7XG5pbXBvcnQgeyBnZW5lcmF0ZUV4ZWN1dGlvbklkLCBUSU1FT1VUUyB9IGZyb20gJy4uL2NvbmZpZy9jbGkuY29uc3RhbnRzLmpzJztcbmltcG9ydCB7IEVSUk9SX0NPREVTLCBoYW5kbGVFcnJvciB9IGZyb20gJy4uL3V0aWxzL2Vycm9yLWhhbmRsZXIuanMnO1xuaW1wb3J0IHsgcHJpbnREZWJ1ZywgcHJpbnRFcnJvciwgcHJpbnRJbmZvLCBwcmludFNlY3Rpb24sIHByaW50U3VjY2VzcywgcHJpbnRXYXJuaW5nIH0gZnJvbSAnLi4vdXRpbHMvb3V0cHV0LXV0aWxzLmpzJztcbmltcG9ydCB7IGNoZWNrQXV0aFJhdGVMaW1pdCwgcmVjb3JkQXV0aEZhaWx1cmUsIHJlY29yZEF1dGhTdWNjZXNzIH0gZnJvbSAnLi4vdXRpbHMvcmF0ZS1saW1pdGVyLmpzJztcbmltcG9ydCB7IGlzUHJvZHVjdGlvbkVudiB9IGZyb20gJy4uL3V0aWxzL3Rscy5qcyc7XG5cbmNvbnN0IHsgYm9sZCwgY3lhbiwgZ3JlZW4sIG1hZ2VudGEgfSA9IHBpY287XG5cbi8qKlxuICogRXhwZWN0ZWQgc2hhcGUgb2YgdGhlIGxvZ2luL3JlZnJlc2ggQVBJIHJlc3BvbnNlLlxuICovXG5pbnRlcmZhY2UgTG9naW5SZXNwb25zZSB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIGRhdGE6IHtcbiAgICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xuICAgIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgYGxvZ2luYCBjb21tYW5kIHdpdGggdGhlIENMSSBwcm9ncmFtLlxuICpcbiAqIEF1dGhlbnRpY2F0ZXMgYWdhaW5zdCB0aGUgcGxhdGZvcm0gQVBJIGFuZCBwcmludHMgYW4gZXhwb3J0IHN0YXRlbWVudFxuICogZm9yIGBQTEFURk9STV9UT0tFTmAgb24gc3VjY2Vzcy4gIERvZXMgTk9UIHJlcXVpcmUgYFBMQVRGT1JNX1RPS0VOYFxuICogdG8gYmUgc2V0IGJlZm9yZWhhbmQgKHVubGlrZSBvdGhlciBjb21tYW5kcykuXG4gKlxuICogQHBhcmFtIHByb2dyYW0gLSBUaGUgcm9vdCBDb21tYW5kZXIgcHJvZ3JhbSBpbnN0YW5jZSB0byBhdHRhY2ggdGhlIGNvbW1hbmQgdG8uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGJhc2hcbiAqIHBpcGVsaW5lLW1hbmFnZXIgbG9naW4gLS1pZGVudGlmaWVyIGFkbWluQGV4YW1wbGUuY29tIC0tcGFzc3dvcmQgc2VjcmV0XG4gKiBwaXBlbGluZS1tYW5hZ2VyIGxvZ2luIC11IGFkbWluQGV4YW1wbGUuY29tIC1wIHNlY3JldFxuICogcGlwZWxpbmUtbWFuYWdlciBsb2dpbiAtdSBhZG1pbkBleGFtcGxlLmNvbSAtcCBzZWNyZXQgLS11cmwgaHR0cHM6Ly9teWhvc3Q6ODQ0M1xuICogZXZhbCAkKHBpcGVsaW5lLW1hbmFnZXIgbG9naW4gLXUgYWRtaW5AZXhhbXBsZS5jb20gLXAgc2VjcmV0IC0tcXVpZXQpXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGxvZ2luIC0tcmVmcmVzaCA8cmVmcmVzaC10b2tlbj5cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9naW4ocHJvZ3JhbTogQ29tbWFuZCk6IHZvaWQge1xuICBwcm9ncmFtXG4gICAgLmNvbW1hbmQoJ2xvZ2luJylcbiAgICAuZGVzY3JpcHRpb24oJ0F1dGhlbnRpY2F0ZSB3aXRoIHRoZSBwbGF0Zm9ybSBhbmQgb2J0YWluIGEgUExBVEZPUk1fVE9LRU4nKVxuICAgIC5vcHRpb24oJy11LCAtLWlkZW50aWZpZXIgPGlkZW50aWZpZXI+JywgJ1VzZXJuYW1lIG9yIGVtYWlsJylcbiAgICAub3B0aW9uKCctcCwgLS1wYXNzd29yZCA8cGFzc3dvcmQ+JywgJ1Bhc3N3b3JkJylcbiAgICAub3B0aW9uKCctLXJlZnJlc2ggPHJlZnJlc2hUb2tlbj4nLCAnVXNlIGEgcmVmcmVzaCB0b2tlbiBpbnN0ZWFkIG9mIGxvZ2luIGNyZWRlbnRpYWxzJylcbiAgICAub3B0aW9uKCctLW9yZyA8b3JnSWQ+JywgJ1N3aXRjaCB0byBhIHNwZWNpZmljIG9yZ2FuaXphdGlvbiBhZnRlciBsb2dpbicpXG4gICAgLm9wdGlvbignLS11cmwgPHVybD4nLCAnUGxhdGZvcm0gYmFzZSBVUkwnLCBwcm9jZXNzLmVudi5QTEFURk9STV9CQVNFX1VSTCB8fCAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycpXG4gICAgLm9wdGlvbignLS12ZXJpZnktc3NsJywgJ0VuYWJsZSBTU0wgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uJylcbiAgICAub3B0aW9uKCctLW5vLXZlcmlmeS1zc2wnLCAnRGlzYWJsZSBTU0wgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uJylcbiAgICAub3B0aW9uKCctLXF1aWV0JywgJ09ubHkgcHJpbnQgdGhlIGV4cG9ydCBzdGF0ZW1lbnQgKHVzZWZ1bCBmb3IgZXZhbCknKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gZ2VuZXJhdGVFeGVjdXRpb25JZCgpO1xuICAgICAgY29uc3QgaXNSZWZyZXNoID0gISFvcHRpb25zLnJlZnJlc2g7XG5cbiAgICAgIC8vIFNFQ1VSSVRZOiBsb2dpbi9yZWZyZXNoIFBPU1QgcGxhaW50ZXh0IHBhc3N3b3JkcyBhbmQgSldUcy4gTmV2ZXIgc2VuZCB0aGVtXG4gICAgICAvLyBvdmVyIGFuIHVudmVyaWZpZWQgVExTIGNvbm5lY3Rpb24gaW4gcHJvZHVjdGlvbiDigJQgYSBNSVRNIHdvdWxkIGhhcnZlc3QgdGhlbS5cbiAgICAgIC8vIE1pcnJvcnMgdGhlIGd1YXJkIGluIGNvbmZpZy1sb2FkZXIgLyB0bHMuIEluIG5vbi1wcm9kdWN0aW9uLCAtLW5vLXZlcmlmeS1zc2xcbiAgICAgIC8vIGlzIHN0aWxsIGhvbm9yZWQgKHNlbGYtc2lnbmVkIGRldiBwbGF0Zm9ybXMpLlxuICAgICAgaWYgKG9wdGlvbnMudmVyaWZ5U3NsID09PSBmYWxzZSAmJiBpc1Byb2R1Y3Rpb25FbnYoKSkge1xuICAgICAgICBwcmludEVycm9yKCdSZWZ1c2luZyB0byBkaXNhYmxlIFRMUyB2ZXJpZmljYXRpb24gaW4gcHJvZHVjdGlvbiAoTk9ERV9FTlY9cHJvZHVjdGlvbikg4oCUIGNyZWRlbnRpYWxzIG11c3Qgbm90IGJlIHRyYW5zbWl0dGVkIG92ZXIgYW4gdW52ZXJpZmllZCBjb25uZWN0aW9uLiBVc2UgYSB2YWxpZCBjZXJ0aWZpY2F0ZSwgb3IgdW5zZXQgTk9ERV9FTlYgZm9yIGxvY2FsL3NlbGYtc2lnbmVkIGRldmVsb3BtZW50LicpO1xuICAgICAgICBwcm9jZXNzLmV4aXQoRVJST1JfQ09ERVMuQVVUSEVOVElDQVRJT04pO1xuICAgICAgfVxuXG4gICAgICAvLyBDcmVkZW50aWFscyBtYXkgY29tZSBmcm9tIGZsYWdzIE9SIHRoZSBQTEFURk9STV9JREVOVElGSUVSL1BMQVRGT1JNX1BBU1NXT1JEXG4gICAgICAvLyBlbnYgdmFycyAoc28gdGhlIHBhc3N3b3JkIG5lZWQgbm90IGFwcGVhciBpbiBzaGVsbCBoaXN0b3J5IC8gYHBzYCkuXG4gICAgICBjb25zdCBpZGVudGlmaWVyID0gb3B0aW9ucy5pZGVudGlmaWVyIHx8IHByb2Nlc3MuZW52LlBMQVRGT1JNX0lERU5USUZJRVI7XG4gICAgICBjb25zdCBwYXNzd29yZCA9IG9wdGlvbnMucGFzc3dvcmQgfHwgcHJvY2Vzcy5lbnYuUExBVEZPUk1fUEFTU1dPUkQ7XG5cbiAgICAgIHRyeSB7XG5cbiAgICAgICAgLy8gVmFsaWRhdGUgcmVxdWlyZWQgb3B0aW9uc1xuICAgICAgICBpZiAoIWlzUmVmcmVzaCAmJiAoIWlkZW50aWZpZXIgfHwgIXBhc3N3b3JkKSkge1xuICAgICAgICAgIHByaW50RXJyb3IoJ0xvZ2luIHJlcXVpcmVzIC0taWRlbnRpZmllciBhbmQgLS1wYXNzd29yZCAob3IgUExBVEZPUk1fSURFTlRJRklFUi9QTEFURk9STV9QQVNTV09SRCBlbnYpLCBvciAtLXJlZnJlc2ggPHRva2VuPicpO1xuICAgICAgICAgIHByb2Nlc3MuZXhpdChFUlJPUl9DT0RFUy5BVVRIRU5USUNBVElPTik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc1JlZnJlc2ggJiYgb3B0aW9ucy5wYXNzd29yZCkge1xuICAgICAgICAgIHByaW50V2FybmluZygnUGFzc2luZyAtLXBhc3N3b3JkIG9uIHRoZSBjb21tYW5kIGxpbmUgY2FuIGV4cG9zZSBpdCB2aWEgc2hlbGwgaGlzdG9yeTsgcHJlZmVyIHRoZSBQTEFURk9STV9QQVNTV09SRCBlbnYgdmFyLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmF0ZSBsaW1pdGluZyDigJQgcHJldmVudCBicnV0ZSBmb3JjZSAobG9naW4gb25seSlcbiAgICAgICAgaWYgKCFpc1JlZnJlc2gpIHtcbiAgICAgICAgICBjb25zdCByYXRlTGltaXRNc2cgPSBjaGVja0F1dGhSYXRlTGltaXQoaWRlbnRpZmllciwgb3B0aW9ucy51cmwpO1xuICAgICAgICAgIGlmIChyYXRlTGltaXRNc2cpIHtcbiAgICAgICAgICAgIHByaW50RXJyb3IocmF0ZUxpbWl0TXNnKTtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdChFUlJPUl9DT0RFUy5BVVRIRU5USUNBVElPTik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcXVpZXQgPSBvcHRpb25zLnF1aWV0ID8/IGZhbHNlO1xuXG4gICAgICAgIGlmICghcXVpZXQpIHtcbiAgICAgICAgICBwcmludFNlY3Rpb24oaXNSZWZyZXNoID8gJ1Rva2VuIFJlZnJlc2gnIDogJ0xvZ2luJyk7XG4gICAgICAgICAgY29uc29sZS5sb2coYCR7bWFnZW50YShgW0VYRS0ke2V4ZWN1dGlvbklkfV1gKX0gJHtjeWFuKGJvbGQoaXNSZWZyZXNoID8gJ1Rva2VuIFJlZnJlc2gnIDogJ1BsYXRmb3JtIEF1dGhlbnRpY2F0aW9uJykpfWApO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgICBwcmludEluZm8oaXNSZWZyZXNoID8gJ1JlZnJlc2hpbmcgYWNjZXNzIHRva2VuJyA6ICdBdXRoZW50aWNhdGluZycsIHtcbiAgICAgICAgICAgIC4uLihpZGVudGlmaWVyID8geyBpZGVudGlmaWVyIH0gOiB7fSksXG4gICAgICAgICAgICB1cmw6IG9wdGlvbnMudXJsLFxuICAgICAgICAgICAgdmVyaWZ5U3NsOiBvcHRpb25zLnZlcmlmeVNzbCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGh0dHBzQWdlbnQgPSBuZXcgaHR0cHMuQWdlbnQoe1xuICAgICAgICAgIHJlamVjdFVuYXV0aG9yaXplZDogb3B0aW9ucy52ZXJpZnlTc2wgPz8gdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbGV0IHRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKGlzUmVmcmVzaCkge1xuICAgICAgICAgIGNvbnN0IHJlZnJlc2hVcmwgPSBgJHtvcHRpb25zLnVybH0vYXBpL2F1dGgvcmVmcmVzaGA7XG4gICAgICAgICAgcHJpbnREZWJ1ZygnUE9TVCcsIHsgdXJsOiByZWZyZXNoVXJsIH0pO1xuXG4gICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0PExvZ2luUmVzcG9uc2U+KFxuICAgICAgICAgICAgcmVmcmVzaFVybCxcbiAgICAgICAgICAgIHsgcmVmcmVzaFRva2VuOiBvcHRpb25zLnJlZnJlc2ggfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICAgICAgICAgIGh0dHBzQWdlbnQsXG4gICAgICAgICAgICAgIHRpbWVvdXQ6IFRJTUVPVVRTLkhUVFBfUkVRVUVTVCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHRva2VuID0gcmVzcG9uc2UuZGF0YT8uZGF0YT8uYWNjZXNzVG9rZW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgbG9naW5VcmwgPSBgJHtvcHRpb25zLnVybH0vYXBpL2F1dGgvbG9naW5gO1xuICAgICAgICAgIHByaW50RGVidWcoJ1BPU1QnLCB7IHVybDogbG9naW5VcmwgfSk7XG5cbiAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3Q8TG9naW5SZXNwb25zZT4oXG4gICAgICAgICAgICBsb2dpblVybCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWRlbnRpZmllcixcbiAgICAgICAgICAgICAgcGFzc3dvcmQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgICAgICAgICAgaHR0cHNBZ2VudCxcbiAgICAgICAgICAgICAgdGltZW91dDogVElNRU9VVFMuSFRUUF9SRVFVRVNULFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdG9rZW4gPSByZXNwb25zZS5kYXRhPy5kYXRhPy5hY2Nlc3NUb2tlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdG9rZW4pIHtcbiAgICAgICAgICBpZiAoIWlzUmVmcmVzaCkgcmVjb3JkQXV0aEZhaWx1cmUoaWRlbnRpZmllciwgb3B0aW9ucy51cmwpO1xuICAgICAgICAgIHByaW50RXJyb3IoYCR7aXNSZWZyZXNoID8gJ1Rva2VuIHJlZnJlc2gnIDogJ0xvZ2luJ30gZmFpbGVkOiBubyBhY2Nlc3MgdG9rZW4gaW4gcmVzcG9uc2VgKTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoRVJST1JfQ09ERVMuQVVUSEVOVElDQVRJT04pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpc1JlZnJlc2gpIHJlY29yZEF1dGhTdWNjZXNzKGlkZW50aWZpZXIsIG9wdGlvbnMudXJsKTtcblxuICAgICAgICAvLyBTd2l0Y2ggdG8gYSBzcGVjaWZpYyBvcmdhbml6YXRpb24gaWYgLS1vcmcgaXMgcHJvdmlkZWRcbiAgICAgICAgaWYgKG9wdGlvbnMub3JnKSB7XG4gICAgICAgICAgaWYgKCFxdWlldCkge1xuICAgICAgICAgICAgcHJpbnRJbmZvKCdTd2l0Y2hpbmcgdG8gb3JnYW5pemF0aW9uJywgeyBvcmdJZDogb3B0aW9ucy5vcmcgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3Qgc3dpdGNoVXJsID0gYCR7b3B0aW9ucy51cmx9L2FwaS9hdXRoL3N3aXRjaC1vcmdgO1xuICAgICAgICAgIHByaW50RGVidWcoJ1BPU1QnLCB7IHVybDogc3dpdGNoVXJsIH0pO1xuXG4gICAgICAgICAgY29uc3Qgc3dpdGNoUmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0PExvZ2luUmVzcG9uc2U+KFxuICAgICAgICAgICAgc3dpdGNoVXJsLFxuICAgICAgICAgICAgeyBvcmdhbml6YXRpb25JZDogb3B0aW9ucy5vcmcgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiBgQmVhcmVyICR7dG9rZW59YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHR0cHNBZ2VudCxcbiAgICAgICAgICAgICAgdGltZW91dDogVElNRU9VVFMuSFRUUF9SRVFVRVNULFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgY29uc3Qgc3dpdGNoZWRUb2tlbiA9IHN3aXRjaFJlc3BvbnNlLmRhdGE/LmRhdGE/LmFjY2Vzc1Rva2VuO1xuICAgICAgICAgIGlmICghc3dpdGNoZWRUb2tlbikge1xuICAgICAgICAgICAgcHJpbnRFcnJvcignT3JnYW5pemF0aW9uIHN3aXRjaCBmYWlsZWQ6IG5vIGFjY2VzcyB0b2tlbiBpbiByZXNwb25zZScpO1xuICAgICAgICAgICAgcHJvY2Vzcy5leGl0KEVSUk9SX0NPREVTLkFVVEhFTlRJQ0FUSU9OKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0b2tlbiA9IHN3aXRjaGVkVG9rZW47XG5cbiAgICAgICAgICBpZiAoIXF1aWV0KSB7XG4gICAgICAgICAgICBwcmludFN1Y2Nlc3MoYFN3aXRjaGVkIHRvIG9yZ2FuaXphdGlvbiAke29wdGlvbnMub3JnfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcXVpZXQpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgICAgcHJpbnRTdWNjZXNzKGlzUmVmcmVzaCA/ICdUb2tlbiByZWZyZXNoZWQgc3VjY2Vzc2Z1bGx5JyA6ICdMb2dpbiBzdWNjZXNzZnVsJyk7XG4gICAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5sb2coYGV4cG9ydCBQTEFURk9STV9UT0tFTj0ke3Rva2VufWApO1xuXG4gICAgICAgIGlmICghcXVpZXQpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgICAgcHJpbnRJbmZvKCdUaXA6IFJ1biB0aGUgZm9sbG93aW5nIHRvIHNldCB0aGUgdG9rZW4gaW4geW91ciBzaGVsbDonKTtcbiAgICAgICAgICBjb25zdCBvcmdGbGFnID0gb3B0aW9ucy5vcmcgPyBgIC0tb3JnICR7b3B0aW9ucy5vcmd9YCA6ICcnO1xuICAgICAgICAgIGlmIChpc1JlZnJlc2gpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGdyZWVuKGAgIGV2YWwgJChwaXBlbGluZS1tYW5hZ2VyIGxvZ2luIC0tcmVmcmVzaCAnPHJlZnJlc2gtdG9rZW4+JyR7b3JnRmxhZ30gLS1xdWlldClgKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGdyZWVuKGAgIGV2YWwgJChwaXBlbGluZS1tYW5hZ2VyIGxvZ2luIC11ICR7aWRlbnRpZmllcn0gLXAgJyoqKicke29yZ0ZsYWd9IC0tcXVpZXQpYCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgLy8gS2V5IHRoZSBmYWlsdXJlIHRvIChpZGVudGlmaWVyLCB1cmwpIGxpa2UgdGhlIGNoZWNrL3N1Y2Nlc3Mvbm8tdG9rZW5cbiAgICAgICAgLy8gcGF0aHMg4oCUIGEgYmFkLXBhc3N3b3JkIDQwMSB0aHJvd3MgdG8gaGVyZSwgc28ga2V5aW5nIGl0IHRvIHRoZSBzaGFyZWRcbiAgICAgICAgLy8gZGVmYXVsdCBidWNrZXQgbWVhbnQgYnJ1dGUtZm9yY2UgYXR0ZW1wdHMgbmV2ZXIgYWNjcnVlZCB0b3dhcmQgbG9ja291dC5cbiAgICAgICAgaWYgKCFpc1JlZnJlc2gpIHJlY29yZEF1dGhGYWlsdXJlKGlkZW50aWZpZXIsIG9wdGlvbnMudXJsKTtcbiAgICAgICAgLy8gUHJvdmlkZSBhIGNsZWFyIGZhaWx1cmUgbWVzc2FnZSBmb3IgYXV0aCBlcnJvcnNcbiAgICAgICAgaWYgKGF4aW9zLmlzQXhpb3NFcnJvcihlcnJvcikpIHtcbiAgICAgICAgICBjb25zdCBzdGF0dXMgPSBlcnJvci5yZXNwb25zZT8uc3RhdHVzO1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAoZXJyb3IucmVzcG9uc2U/LmRhdGEgYXMgeyBtZXNzYWdlPzogc3RyaW5nIH0pPy5tZXNzYWdlO1xuXG4gICAgICAgICAgcHJpbnRFcnJvcihgJHtpc1JlZnJlc2ggPyAnVG9rZW4gcmVmcmVzaCcgOiAnTG9naW4nfSBmYWlsZWRgLCB7XG4gICAgICAgICAgICBzdGF0dXM6IHN0YXR1cyA/PyAnbm8gcmVzcG9uc2UnLFxuICAgICAgICAgICAgLi4uKG1lc3NhZ2UgPyB7IG1lc3NhZ2UgfSA6IHt9KSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoRVJST1JfQ09ERVMuQVVUSEVOVElDQVRJT04pO1xuICAgICAgICB9XG5cbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFVVEhFTlRJQ0FUSU9OLCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgY29tbWFuZDogJ2xvZ2luJyxcbiAgICAgICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICAgICAgaWRlbnRpZmllcjogb3B0aW9ucy5pZGVudGlmaWVyLFxuICAgICAgICAgICAgdXJsOiBvcHRpb25zLnVybCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvbG9naW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxJQUFJLE1BQU0sWUFBWSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRCxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBYTVDOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUMsT0FBZ0I7SUFDcEMsT0FBTztTQUNKLE9BQU8sQ0FBQyxPQUFPLENBQUM7U0FDaEIsV0FBVyxDQUFDLDREQUE0RCxDQUFDO1NBQ3pFLE1BQU0sQ0FBQywrQkFBK0IsRUFBRSxtQkFBbUIsQ0FBQztTQUM1RCxNQUFNLENBQUMsMkJBQTJCLEVBQUUsVUFBVSxDQUFDO1NBQy9DLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxrREFBa0QsQ0FBQztTQUN0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QUFFLE9BQU8sQ0FBQyxVQUFVO29CQUM5QixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7aUJBQ2pCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgaHR0cHMgZnJvbSAnaHR0cHMnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHBpY28gZnJvbSAncGljb2NvbG9ycyc7XG5pbXBvcnQgeyBnZW5lcmF0ZUV4ZWN1dGlvbklkLCBUSU1FT1VUUyB9IGZyb20gJy4uL2NvbmZpZy9jbGkuY29uc3RhbnRzLmpzJztcbmltcG9ydCB7IEVSUk9SX0NPREVTLCBoYW5kbGVFcnJvciB9IGZyb20gJy4uL3V0aWxzL2Vycm9yLWhhbmRsZXIuanMnO1xuaW1wb3J0IHsgcHJpbnREZWJ1ZywgcHJpbnRFcnJvciwgcHJpbnRJbmZvLCBwcmludFNlY3Rpb24sIHByaW50U3VjY2VzcywgcHJpbnRXYXJuaW5nIH0gZnJvbSAnLi4vdXRpbHMvb3V0cHV0LXV0aWxzLmpzJztcbmltcG9ydCB7IGNoZWNrQXV0aFJhdGVMaW1pdCwgcmVjb3JkQXV0aEZhaWx1cmUsIHJlY29yZEF1dGhTdWNjZXNzIH0gZnJvbSAnLi4vdXRpbHMvcmF0ZS1saW1pdGVyLmpzJztcbmltcG9ydCB7IGlzUHJvZHVjdGlvbkVudiB9IGZyb20gJy4uL3V0aWxzL3Rscy5qcyc7XG5cbmNvbnN0IHsgYm9sZCwgY3lhbiwgZ3JlZW4sIG1hZ2VudGEgfSA9IHBpY287XG5cbi8qKlxuICogRXhwZWN0ZWQgc2hhcGUgb2YgdGhlIGxvZ2luL3JlZnJlc2ggQVBJIHJlc3BvbnNlLlxuICovXG5pbnRlcmZhY2UgTG9naW5SZXNwb25zZSB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIGRhdGE6IHtcbiAgICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xuICAgIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgYGxvZ2luYCBjb21tYW5kIHdpdGggdGhlIENMSSBwcm9ncmFtLlxuICpcbiAqIEF1dGhlbnRpY2F0ZXMgYWdhaW5zdCB0aGUgcGxhdGZvcm0gQVBJIGFuZCBwcmludHMgYW4gZXhwb3J0IHN0YXRlbWVudFxuICogZm9yIGBQTEFURk9STV9UT0tFTmAgb24gc3VjY2Vzcy4gIERvZXMgTk9UIHJlcXVpcmUgYFBMQVRGT1JNX1RPS0VOYFxuICogdG8gYmUgc2V0IGJlZm9yZWhhbmQgKHVubGlrZSBvdGhlciBjb21tYW5kcykuXG4gKlxuICogQHBhcmFtIHByb2dyYW0gLSBUaGUgcm9vdCBDb21tYW5kZXIgcHJvZ3JhbSBpbnN0YW5jZSB0byBhdHRhY2ggdGhlIGNvbW1hbmQgdG8uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGJhc2hcbiAqIHBpcGVsaW5lLW1hbmFnZXIgYXV0aCBsb2dpbiAtLWlkZW50aWZpZXIgYWRtaW5AZXhhbXBsZS5jb20gLS1wYXNzd29yZCBzZWNyZXRcbiAqIHBpcGVsaW5lLW1hbmFnZXIgYXV0aCBsb2dpbiAtdSBhZG1pbkBleGFtcGxlLmNvbSAtcCBzZWNyZXRcbiAqIHBpcGVsaW5lLW1hbmFnZXIgYXV0aCBsb2dpbiAtdSBhZG1pbkBleGFtcGxlLmNvbSAtcCBzZWNyZXQgLS11cmwgaHR0cHM6Ly9teWhvc3Q6ODQ0M1xuICogZXZhbCAkKHBpcGVsaW5lLW1hbmFnZXIgYXV0aCBsb2dpbiAtdSBhZG1pbkBleGFtcGxlLmNvbSAtcCBzZWNyZXQgLS1xdWlldClcbiAqIHBpcGVsaW5lLW1hbmFnZXIgYXV0aCBsb2dpbiAtLXJlZnJlc2ggPHJlZnJlc2gtdG9rZW4+XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvZ2luKHByb2dyYW06IENvbW1hbmQpOiB2b2lkIHtcbiAgcHJvZ3JhbVxuICAgIC5jb21tYW5kKCdsb2dpbicpXG4gICAgLmRlc2NyaXB0aW9uKCdBdXRoZW50aWNhdGUgd2l0aCB0aGUgcGxhdGZvcm0gYW5kIG9idGFpbiBhIFBMQVRGT1JNX1RPS0VOJylcbiAgICAub3B0aW9uKCctdSwgLS1pZGVudGlmaWVyIDxpZGVudGlmaWVyPicsICdVc2VybmFtZSBvciBlbWFpbCcpXG4gICAgLm9wdGlvbignLXAsIC0tcGFzc3dvcmQgPHBhc3N3b3JkPicsICdQYXNzd29yZCcpXG4gICAgLm9wdGlvbignLS1yZWZyZXNoIDxyZWZyZXNoVG9rZW4+JywgJ1VzZSBhIHJlZnJlc2ggdG9rZW4gaW5zdGVhZCBvZiBsb2dpbiBjcmVkZW50aWFscycpXG4gICAgLm9wdGlvbignLS1vcmcgPG9yZ0lkPicsICdTd2l0Y2ggdG8gYSBzcGVjaWZpYyBvcmdhbml6YXRpb24gYWZ0ZXIgbG9naW4nKVxuICAgIC5vcHRpb24oJy0tdXJsIDx1cmw+JywgJ1BsYXRmb3JtIGJhc2UgVVJMJywgcHJvY2Vzcy5lbnYuUExBVEZPUk1fQkFTRV9VUkwgfHwgJ2h0dHBzOi8vbG9jYWxob3N0Ojg0NDMnKVxuICAgIC5vcHRpb24oJy0tdmVyaWZ5LXNzbCcsICdFbmFibGUgU1NMIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbicpXG4gICAgLm9wdGlvbignLS1uby12ZXJpZnktc3NsJywgJ0Rpc2FibGUgU1NMIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbicpXG4gICAgLm9wdGlvbignLS1xdWlldCcsICdPbmx5IHByaW50IHRoZSBleHBvcnQgc3RhdGVtZW50ICh1c2VmdWwgZm9yIGV2YWwpJylcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IGdlbmVyYXRlRXhlY3V0aW9uSWQoKTtcbiAgICAgIGNvbnN0IGlzUmVmcmVzaCA9ICEhb3B0aW9ucy5yZWZyZXNoO1xuXG4gICAgICAvLyBTRUNVUklUWTogbG9naW4vcmVmcmVzaCBQT1NUIHBsYWludGV4dCBwYXNzd29yZHMgYW5kIEpXVHMuIE5ldmVyIHNlbmQgdGhlbVxuICAgICAgLy8gb3ZlciBhbiB1bnZlcmlmaWVkIFRMUyBjb25uZWN0aW9uIGluIHByb2R1Y3Rpb24g4oCUIGEgTUlUTSB3b3VsZCBoYXJ2ZXN0IHRoZW0uXG4gICAgICAvLyBNaXJyb3JzIHRoZSBndWFyZCBpbiBjb25maWctbG9hZGVyIC8gdGxzLiBJbiBub24tcHJvZHVjdGlvbiwgLS1uby12ZXJpZnktc3NsXG4gICAgICAvLyBpcyBzdGlsbCBob25vcmVkIChzZWxmLXNpZ25lZCBkZXYgcGxhdGZvcm1zKS5cbiAgICAgIGlmIChvcHRpb25zLnZlcmlmeVNzbCA9PT0gZmFsc2UgJiYgaXNQcm9kdWN0aW9uRW52KCkpIHtcbiAgICAgICAgcHJpbnRFcnJvcignUmVmdXNpbmcgdG8gZGlzYWJsZSBUTFMgdmVyaWZpY2F0aW9uIGluIHByb2R1Y3Rpb24gKE5PREVfRU5WPXByb2R1Y3Rpb24pIOKAlCBjcmVkZW50aWFscyBtdXN0IG5vdCBiZSB0cmFuc21pdHRlZCBvdmVyIGFuIHVudmVyaWZpZWQgY29ubmVjdGlvbi4gVXNlIGEgdmFsaWQgY2VydGlmaWNhdGUsIG9yIHVuc2V0IE5PREVfRU5WIGZvciBsb2NhbC9zZWxmLXNpZ25lZCBkZXZlbG9wbWVudC4nKTtcbiAgICAgICAgcHJvY2Vzcy5leGl0KEVSUk9SX0NPREVTLkFVVEhFTlRJQ0FUSU9OKTtcbiAgICAgIH1cblxuICAgICAgLy8gQ3JlZGVudGlhbHMgbWF5IGNvbWUgZnJvbSBmbGFncyBPUiB0aGUgUExBVEZPUk1fSURFTlRJRklFUi9QTEFURk9STV9QQVNTV09SRFxuICAgICAgLy8gZW52IHZhcnMgKHNvIHRoZSBwYXNzd29yZCBuZWVkIG5vdCBhcHBlYXIgaW4gc2hlbGwgaGlzdG9yeSAvIGBwc2ApLlxuICAgICAgY29uc3QgaWRlbnRpZmllciA9IG9wdGlvbnMuaWRlbnRpZmllciB8fCBwcm9jZXNzLmVudi5QTEFURk9STV9JREVOVElGSUVSO1xuICAgICAgY29uc3QgcGFzc3dvcmQgPSBvcHRpb25zLnBhc3N3b3JkIHx8IHByb2Nlc3MuZW52LlBMQVRGT1JNX1BBU1NXT1JEO1xuXG4gICAgICB0cnkge1xuXG4gICAgICAgIC8vIFZhbGlkYXRlIHJlcXVpcmVkIG9wdGlvbnNcbiAgICAgICAgaWYgKCFpc1JlZnJlc2ggJiYgKCFpZGVudGlmaWVyIHx8ICFwYXNzd29yZCkpIHtcbiAgICAgICAgICBwcmludEVycm9yKCdMb2dpbiByZXF1aXJlcyAtLWlkZW50aWZpZXIgYW5kIC0tcGFzc3dvcmQgKG9yIFBMQVRGT1JNX0lERU5USUZJRVIvUExBVEZPUk1fUEFTU1dPUkQgZW52KSwgb3IgLS1yZWZyZXNoIDx0b2tlbj4nKTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoRVJST1JfQ09ERVMuQVVUSEVOVElDQVRJT04pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNSZWZyZXNoICYmIG9wdGlvbnMucGFzc3dvcmQpIHtcbiAgICAgICAgICBwcmludFdhcm5pbmcoJ1Bhc3NpbmcgLS1wYXNzd29yZCBvbiB0aGUgY29tbWFuZCBsaW5lIGNhbiBleHBvc2UgaXQgdmlhIHNoZWxsIGhpc3Rvcnk7IHByZWZlciB0aGUgUExBVEZPUk1fUEFTU1dPUkQgZW52IHZhci4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJhdGUgbGltaXRpbmcg4oCUIHByZXZlbnQgYnJ1dGUgZm9yY2UgKGxvZ2luIG9ubHkpXG4gICAgICAgIGlmICghaXNSZWZyZXNoKSB7XG4gICAgICAgICAgY29uc3QgcmF0ZUxpbWl0TXNnID0gY2hlY2tBdXRoUmF0ZUxpbWl0KGlkZW50aWZpZXIsIG9wdGlvbnMudXJsKTtcbiAgICAgICAgICBpZiAocmF0ZUxpbWl0TXNnKSB7XG4gICAgICAgICAgICBwcmludEVycm9yKHJhdGVMaW1pdE1zZyk7XG4gICAgICAgICAgICBwcm9jZXNzLmV4aXQoRVJST1JfQ09ERVMuQVVUSEVOVElDQVRJT04pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHF1aWV0ID0gb3B0aW9ucy5xdWlldCA/PyBmYWxzZTtcblxuICAgICAgICBpZiAoIXF1aWV0KSB7XG4gICAgICAgICAgcHJpbnRTZWN0aW9uKGlzUmVmcmVzaCA/ICdUb2tlbiBSZWZyZXNoJyA6ICdMb2dpbicpO1xuICAgICAgICAgIGNvbnNvbGUubG9nKGAke21hZ2VudGEoYFtFWEUtJHtleGVjdXRpb25JZH1dYCl9ICR7Y3lhbihib2xkKGlzUmVmcmVzaCA/ICdUb2tlbiBSZWZyZXNoJyA6ICdQbGF0Zm9ybSBBdXRoZW50aWNhdGlvbicpKX1gKTtcbiAgICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgICAgcHJpbnRJbmZvKGlzUmVmcmVzaCA/ICdSZWZyZXNoaW5nIGFjY2VzcyB0b2tlbicgOiAnQXV0aGVudGljYXRpbmcnLCB7XG4gICAgICAgICAgICAuLi4oaWRlbnRpZmllciA/IHsgaWRlbnRpZmllciB9IDoge30pLFxuICAgICAgICAgICAgdXJsOiBvcHRpb25zLnVybCxcbiAgICAgICAgICAgIHZlcmlmeVNzbDogb3B0aW9ucy52ZXJpZnlTc2wsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBodHRwc0FnZW50ID0gbmV3IGh0dHBzLkFnZW50KHtcbiAgICAgICAgICByZWplY3RVbmF1dGhvcml6ZWQ6IG9wdGlvbnMudmVyaWZ5U3NsID8/IHRydWUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxldCB0b2tlbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChpc1JlZnJlc2gpIHtcbiAgICAgICAgICBjb25zdCByZWZyZXNoVXJsID0gYCR7b3B0aW9ucy51cmx9L2FwaS9hdXRoL3JlZnJlc2hgO1xuICAgICAgICAgIHByaW50RGVidWcoJ1BPU1QnLCB7IHVybDogcmVmcmVzaFVybCB9KTtcblxuICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdDxMb2dpblJlc3BvbnNlPihcbiAgICAgICAgICAgIHJlZnJlc2hVcmwsXG4gICAgICAgICAgICB7IHJlZnJlc2hUb2tlbjogb3B0aW9ucy5yZWZyZXNoIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgICAgICAgICBodHRwc0FnZW50LFxuICAgICAgICAgICAgICB0aW1lb3V0OiBUSU1FT1VUUy5IVFRQX1JFUVVFU1QsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0b2tlbiA9IHJlc3BvbnNlLmRhdGE/LmRhdGE/LmFjY2Vzc1Rva2VuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGxvZ2luVXJsID0gYCR7b3B0aW9ucy51cmx9L2FwaS9hdXRoL2xvZ2luYDtcbiAgICAgICAgICBwcmludERlYnVnKCdQT1NUJywgeyB1cmw6IGxvZ2luVXJsIH0pO1xuXG4gICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0PExvZ2luUmVzcG9uc2U+KFxuICAgICAgICAgICAgbG9naW5VcmwsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkZW50aWZpZXIsXG4gICAgICAgICAgICAgIHBhc3N3b3JkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICAgICAgICAgIGh0dHBzQWdlbnQsXG4gICAgICAgICAgICAgIHRpbWVvdXQ6IFRJTUVPVVRTLkhUVFBfUkVRVUVTVCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHRva2VuID0gcmVzcG9uc2UuZGF0YT8uZGF0YT8uYWNjZXNzVG9rZW47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgICAgaWYgKCFpc1JlZnJlc2gpIHJlY29yZEF1dGhGYWlsdXJlKGlkZW50aWZpZXIsIG9wdGlvbnMudXJsKTtcbiAgICAgICAgICBwcmludEVycm9yKGAke2lzUmVmcmVzaCA/ICdUb2tlbiByZWZyZXNoJyA6ICdMb2dpbid9IGZhaWxlZDogbm8gYWNjZXNzIHRva2VuIGluIHJlc3BvbnNlYCk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KEVSUk9SX0NPREVTLkFVVEhFTlRJQ0FUSU9OKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaXNSZWZyZXNoKSByZWNvcmRBdXRoU3VjY2VzcyhpZGVudGlmaWVyLCBvcHRpb25zLnVybCk7XG5cbiAgICAgICAgLy8gU3dpdGNoIHRvIGEgc3BlY2lmaWMgb3JnYW5pemF0aW9uIGlmIC0tb3JnIGlzIHByb3ZpZGVkXG4gICAgICAgIGlmIChvcHRpb25zLm9yZykge1xuICAgICAgICAgIGlmICghcXVpZXQpIHtcbiAgICAgICAgICAgIHByaW50SW5mbygnU3dpdGNoaW5nIHRvIG9yZ2FuaXphdGlvbicsIHsgb3JnSWQ6IG9wdGlvbnMub3JnIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHN3aXRjaFVybCA9IGAke29wdGlvbnMudXJsfS9hcGkvYXV0aC9zd2l0Y2gtb3JnYDtcbiAgICAgICAgICBwcmludERlYnVnKCdQT1NUJywgeyB1cmw6IHN3aXRjaFVybCB9KTtcblxuICAgICAgICAgIGNvbnN0IHN3aXRjaFJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdDxMb2dpblJlc3BvbnNlPihcbiAgICAgICAgICAgIHN3aXRjaFVybCxcbiAgICAgICAgICAgIHsgb3JnYW5pemF0aW9uSWQ6IG9wdGlvbnMub3JnIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgICAgICdBdXRob3JpemF0aW9uJzogYEJlYXJlciAke3Rva2VufWAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGh0dHBzQWdlbnQsXG4gICAgICAgICAgICAgIHRpbWVvdXQ6IFRJTUVPVVRTLkhUVFBfUkVRVUVTVCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGNvbnN0IHN3aXRjaGVkVG9rZW4gPSBzd2l0Y2hSZXNwb25zZS5kYXRhPy5kYXRhPy5hY2Nlc3NUb2tlbjtcbiAgICAgICAgICBpZiAoIXN3aXRjaGVkVG9rZW4pIHtcbiAgICAgICAgICAgIHByaW50RXJyb3IoJ09yZ2FuaXphdGlvbiBzd2l0Y2ggZmFpbGVkOiBubyBhY2Nlc3MgdG9rZW4gaW4gcmVzcG9uc2UnKTtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdChFUlJPUl9DT0RFUy5BVVRIRU5USUNBVElPTik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdG9rZW4gPSBzd2l0Y2hlZFRva2VuO1xuXG4gICAgICAgICAgaWYgKCFxdWlldCkge1xuICAgICAgICAgICAgcHJpbnRTdWNjZXNzKGBTd2l0Y2hlZCB0byBvcmdhbml6YXRpb24gJHtvcHRpb25zLm9yZ31gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXF1aWV0KSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICAgIHByaW50U3VjY2Vzcyhpc1JlZnJlc2ggPyAnVG9rZW4gcmVmcmVzaGVkIHN1Y2Nlc3NmdWxseScgOiAnTG9naW4gc3VjY2Vzc2Z1bCcpO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGUubG9nKGBleHBvcnQgUExBVEZPUk1fVE9LRU49JHt0b2tlbn1gKTtcblxuICAgICAgICBpZiAoIXF1aWV0KSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICAgIHByaW50SW5mbygnVGlwOiBSdW4gdGhlIGZvbGxvd2luZyB0byBzZXQgdGhlIHRva2VuIGluIHlvdXIgc2hlbGw6Jyk7XG4gICAgICAgICAgY29uc3Qgb3JnRmxhZyA9IG9wdGlvbnMub3JnID8gYCAtLW9yZyAke29wdGlvbnMub3JnfWAgOiAnJztcbiAgICAgICAgICBpZiAoaXNSZWZyZXNoKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhncmVlbihgICBldmFsICQocGlwZWxpbmUtbWFuYWdlciBhdXRoIGxvZ2luIC0tcmVmcmVzaCAnPHJlZnJlc2gtdG9rZW4+JyR7b3JnRmxhZ30gLS1xdWlldClgKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGdyZWVuKGAgIGV2YWwgJChwaXBlbGluZS1tYW5hZ2VyIGF1dGggbG9naW4gLXUgJHtpZGVudGlmaWVyfSAtcCAnKioqJyR7b3JnRmxhZ30gLS1xdWlldClgKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBLZXkgdGhlIGZhaWx1cmUgdG8gKGlkZW50aWZpZXIsIHVybCkgbGlrZSB0aGUgY2hlY2svc3VjY2Vzcy9uby10b2tlblxuICAgICAgICAvLyBwYXRocyDigJQgYSBiYWQtcGFzc3dvcmQgNDAxIHRocm93cyB0byBoZXJlLCBzbyBrZXlpbmcgaXQgdG8gdGhlIHNoYXJlZFxuICAgICAgICAvLyBkZWZhdWx0IGJ1Y2tldCBtZWFudCBicnV0ZS1mb3JjZSBhdHRlbXB0cyBuZXZlciBhY2NydWVkIHRvd2FyZCBsb2Nrb3V0LlxuICAgICAgICBpZiAoIWlzUmVmcmVzaCkgcmVjb3JkQXV0aEZhaWx1cmUoaWRlbnRpZmllciwgb3B0aW9ucy51cmwpO1xuICAgICAgICAvLyBQcm92aWRlIGEgY2xlYXIgZmFpbHVyZSBtZXNzYWdlIGZvciBhdXRoIGVycm9yc1xuICAgICAgICBpZiAoYXhpb3MuaXNBeGlvc0Vycm9yKGVycm9yKSkge1xuICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGVycm9yLnJlc3BvbnNlPy5zdGF0dXM7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZSA9IChlcnJvci5yZXNwb25zZT8uZGF0YSBhcyB7IG1lc3NhZ2U/OiBzdHJpbmcgfSk/Lm1lc3NhZ2U7XG5cbiAgICAgICAgICBwcmludEVycm9yKGAke2lzUmVmcmVzaCA/ICdUb2tlbiByZWZyZXNoJyA6ICdMb2dpbid9IGZhaWxlZGAsIHtcbiAgICAgICAgICAgIHN0YXR1czogc3RhdHVzID8/ICdubyByZXNwb25zZScsXG4gICAgICAgICAgICAuLi4obWVzc2FnZSA/IHsgbWVzc2FnZSB9IDoge30pLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHByb2Nlc3MuZXhpdChFUlJPUl9DT0RFUy5BVVRIRU5USUNBVElPTik7XG4gICAgICAgIH1cblxuICAgICAgICBoYW5kbGVFcnJvcihlcnJvciwgRVJST1JfQ09ERVMuQVVUSEVOVElDQVRJT04sIHtcbiAgICAgICAgICBkZWJ1ZzogcHJvZ3JhbS5vcHRzKCkuZGVidWcsXG4gICAgICAgICAgZXhpdDogdHJ1ZSxcbiAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICBjb21tYW5kOiAnbG9naW4nLFxuICAgICAgICAgICAgZXhlY3V0aW9uSWQsXG4gICAgICAgICAgICBpZGVudGlmaWVyOiBvcHRpb25zLmlkZW50aWZpZXIsXG4gICAgICAgICAgICB1cmw6IG9wdGlvbnMudXJsLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xufVxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* Register the `new-plugin` command — scaffold a local plugin directory
|
|
4
|
+
* (`config.yaml`, `plugin-spec.yaml`, and a starter `Dockerfile`) that
|
|
5
|
+
* `validate-plugin` accepts and `upload-plugin` can package.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* pipeline-manager plugin new --name my-linter --category quality
|
|
9
|
+
* pipeline-manager plugin new --name approve --type ManualApprovalStep
|
|
10
|
+
*/
|
|
11
|
+
export declare function newPlugin(program: Command): void;
|
|
12
|
+
//# sourceMappingURL=new-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-plugin.d.ts","sourceRoot":"","sources":["../../src/commands/new-plugin.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2GhD"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
// Copyright 2026 Pipeline Builder Contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { Command } from 'commander';
|
|
6
|
+
import YAML from 'yaml';
|
|
7
|
+
import { printCommandHeader } from '../utils/command-utils.js';
|
|
8
|
+
import { ERROR_CODES, handleError, ValidationError } from '../utils/error-handler.js';
|
|
9
|
+
import { printInfo, printSection, printSuccess, fileExists, ensureOutputDirectory } from '../utils/output-utils.js';
|
|
10
|
+
const PLUGIN_TYPES = ['CodeBuildStep', 'ShellStep', 'ManualApprovalStep'];
|
|
11
|
+
const COMPUTE_TYPES = ['SMALL', 'MEDIUM', 'LARGE', 'X2_LARGE'];
|
|
12
|
+
const BUILD_TYPES = ['build_image', 'prebuilt', 'metadata_only'];
|
|
13
|
+
/**
|
|
14
|
+
* Register the `new-plugin` command — scaffold a local plugin directory
|
|
15
|
+
* (`config.yaml`, `plugin-spec.yaml`, and a starter `Dockerfile`) that
|
|
16
|
+
* `validate-plugin` accepts and `upload-plugin` can package.
|
|
17
|
+
*
|
|
18
|
+
* Usage:
|
|
19
|
+
* pipeline-manager plugin new --name my-linter --category quality
|
|
20
|
+
* pipeline-manager plugin new --name approve --type ManualApprovalStep
|
|
21
|
+
*/
|
|
22
|
+
export function newPlugin(program) {
|
|
23
|
+
program
|
|
24
|
+
.command('new')
|
|
25
|
+
.description('Scaffold a local plugin directory (config.yaml, plugin-spec.yaml, Dockerfile)')
|
|
26
|
+
.requiredOption('--name <name>', 'Plugin name (lowercase letters, digits, hyphens)')
|
|
27
|
+
.option('--category <category>', 'Plugin category (e.g. quality, security, language)', 'general')
|
|
28
|
+
.option('--type <type>', `Plugin type: ${PLUGIN_TYPES.join(' | ')}`, 'CodeBuildStep')
|
|
29
|
+
.option('--compute <compute>', `Compute type: ${COMPUTE_TYPES.join(' | ')}`, 'SMALL')
|
|
30
|
+
.option('--build-type <buildType>', `Build type: ${BUILD_TYPES.join(' | ')}`, 'build_image')
|
|
31
|
+
.option('--dir <path>', 'Target directory (default ./<name>)')
|
|
32
|
+
.option('--force', 'Overwrite an existing directory', false)
|
|
33
|
+
.action((options) => {
|
|
34
|
+
const executionId = printCommandHeader('New Plugin');
|
|
35
|
+
try {
|
|
36
|
+
const name = options.name ?? '';
|
|
37
|
+
// Canonical plugin-name pattern (matches validate-plugin, upload-plugin,
|
|
38
|
+
// and the server's NAME_PATTERN).
|
|
39
|
+
if (!/^[a-z0-9-]+$/.test(name)) {
|
|
40
|
+
throw new ValidationError('Plugin name must contain only lowercase letters, digits, and hyphens (/^[a-z0-9-]+$/)');
|
|
41
|
+
}
|
|
42
|
+
const pluginType = options.type ?? 'CodeBuildStep';
|
|
43
|
+
if (!PLUGIN_TYPES.includes(pluginType))
|
|
44
|
+
throw new ValidationError(`--type must be one of: ${PLUGIN_TYPES.join(', ')}`);
|
|
45
|
+
const computeType = options.compute ?? 'SMALL';
|
|
46
|
+
if (!COMPUTE_TYPES.includes(computeType))
|
|
47
|
+
throw new ValidationError(`--compute must be one of: ${COMPUTE_TYPES.join(', ')}`);
|
|
48
|
+
const buildType = options.buildType ?? 'build_image';
|
|
49
|
+
if (!BUILD_TYPES.includes(buildType))
|
|
50
|
+
throw new ValidationError(`--build-type must be one of: ${BUILD_TYPES.join(', ')}`);
|
|
51
|
+
const targetDir = path.resolve(options.dir ?? `./${name}`);
|
|
52
|
+
if (fileExists(targetDir) && !options.force) {
|
|
53
|
+
throw new ValidationError(`Directory already exists: ${targetDir} (use --force to overwrite)`);
|
|
54
|
+
}
|
|
55
|
+
ensureOutputDirectory(targetDir);
|
|
56
|
+
const isApproval = pluginType === 'ManualApprovalStep';
|
|
57
|
+
// Dockerfile only for image builds of a real build step.
|
|
58
|
+
const needsDockerfile = buildType === 'build_image' && !isApproval;
|
|
59
|
+
// config.yaml — build manifest.
|
|
60
|
+
const config = { pluginSpec: 'plugin-spec.yaml', buildType };
|
|
61
|
+
if (needsDockerfile)
|
|
62
|
+
config.dockerfile = 'Dockerfile';
|
|
63
|
+
fs.writeFileSync(path.join(targetDir, 'config.yaml'), YAML.stringify(config), 'utf-8');
|
|
64
|
+
// plugin-spec.yaml — the PluginSpec.
|
|
65
|
+
const spec = {
|
|
66
|
+
name,
|
|
67
|
+
version: '1.0.0',
|
|
68
|
+
description: `${name} plugin`,
|
|
69
|
+
keywords: [],
|
|
70
|
+
category: options.category ?? 'general',
|
|
71
|
+
pluginType,
|
|
72
|
+
computeType,
|
|
73
|
+
timeout: isApproval ? 0 : 10,
|
|
74
|
+
failureBehavior: 'fail',
|
|
75
|
+
secrets: [],
|
|
76
|
+
};
|
|
77
|
+
if (!isApproval) {
|
|
78
|
+
spec.installCommands = ['echo "install step — add your setup commands"'];
|
|
79
|
+
spec.commands = [`echo "run step for ${name} — replace with real commands"`];
|
|
80
|
+
if (needsDockerfile)
|
|
81
|
+
spec.dockerfile = 'Dockerfile';
|
|
82
|
+
}
|
|
83
|
+
fs.writeFileSync(path.join(targetDir, 'plugin-spec.yaml'), YAML.stringify(spec), 'utf-8');
|
|
84
|
+
// Starter Dockerfile.
|
|
85
|
+
if (needsDockerfile) {
|
|
86
|
+
const dockerfile = [
|
|
87
|
+
`# Dockerfile for the ${name} plugin.`,
|
|
88
|
+
'# The base image provides the toolchain your commands need — keep it minimal and pinned.',
|
|
89
|
+
'FROM alpine:3.20',
|
|
90
|
+
'',
|
|
91
|
+
'# TODO: install the tools your plugin-spec commands invoke, e.g.:',
|
|
92
|
+
'# RUN apk add --no-cache python3',
|
|
93
|
+
'',
|
|
94
|
+
'WORKDIR /workspace',
|
|
95
|
+
'',
|
|
96
|
+
].join('\n');
|
|
97
|
+
fs.writeFileSync(path.join(targetDir, 'Dockerfile'), dockerfile, 'utf-8');
|
|
98
|
+
}
|
|
99
|
+
// README.
|
|
100
|
+
const relDir = options.dir ?? `./${name}`;
|
|
101
|
+
fs.writeFileSync(path.join(targetDir, 'README.md'), [
|
|
102
|
+
`# ${name}`,
|
|
103
|
+
'',
|
|
104
|
+
`${name} plugin.`,
|
|
105
|
+
'',
|
|
106
|
+
'Validate before upload:',
|
|
107
|
+
'',
|
|
108
|
+
` pipeline-manager plugin validate --dir ${relDir}`,
|
|
109
|
+
'',
|
|
110
|
+
'Package and upload:',
|
|
111
|
+
'',
|
|
112
|
+
` (cd ${relDir} && zip -r ../${name}.zip .)`,
|
|
113
|
+
` pipeline-manager plugin upload --file ${name}.zip --organization <org>`,
|
|
114
|
+
'',
|
|
115
|
+
].join('\n'), 'utf-8');
|
|
116
|
+
printSection('Scaffolded plugin', targetDir);
|
|
117
|
+
printInfo('Created files', { files: ['config.yaml', 'plugin-spec.yaml', ...(needsDockerfile ? ['Dockerfile'] : []), 'README.md'] });
|
|
118
|
+
printSuccess('Plugin scaffold created — edit plugin-spec.yaml then run validate-plugin', { executionId, dir: targetDir });
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
handleError(err, err instanceof ValidationError ? ERROR_CODES.VALIDATION : ERROR_CODES.GENERAL, {
|
|
122
|
+
debug: program.opts().debug,
|
|
123
|
+
exit: true,
|
|
124
|
+
context: { command: 'new-plugin', executionId },
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LXBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9uZXctcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFZcEgsTUFBTSxZQUFZLEdBQUcsQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixDQUFDLENBQUM7QUFDMUUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztBQUMvRCxNQUFNLFdBQVcsR0FBRyxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFFakU7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQWdCO0lBQ3hDLE9BQU87U0FDSixPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ2QsV0FBVyxDQUFDLCtFQUErRSxDQUFDO1NBQzVGLGNBQWMsQ0FBQyxlQUFlLEVBQUUsa0RBQWtELENBQUM7U0FDbkYsTUFBTSxDQUFDLHVCQUF1QixFQUFFLG9EQUFvRCxFQUFFLFNBQVMsQ0FBQztTQUNoRyxNQUFNLENBQUMsZUFBZSxFQUFFLGdCQUFn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QkFDVixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRTthQUNoRCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IFlBTUwgZnJvbSAneWFtbCc7XG5pbXBvcnQgeyBwcmludENvbW1hbmRIZWFkZXIgfSBmcm9tICcuLi91dGlscy9jb21tYW5kLXV0aWxzLmpzJztcbmltcG9ydCB7IEVSUk9SX0NPREVTLCBoYW5kbGVFcnJvciwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vdXRpbHMvZXJyb3ItaGFuZGxlci5qcyc7XG5pbXBvcnQgeyBwcmludEluZm8sIHByaW50U2VjdGlvbiwgcHJpbnRTdWNjZXNzLCBmaWxlRXhpc3RzLCBlbnN1cmVPdXRwdXREaXJlY3RvcnkgfSBmcm9tICcuLi91dGlscy9vdXRwdXQtdXRpbHMuanMnO1xuXG5pbnRlcmZhY2UgTmV3UGx1Z2luT3B0aW9ucyB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGNhdGVnb3J5Pzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBjb21wdXRlPzogc3RyaW5nO1xuICBidWlsZFR5cGU/OiBzdHJpbmc7XG4gIGRpcj86IHN0cmluZztcbiAgZm9yY2U/OiBib29sZWFuO1xufVxuXG5jb25zdCBQTFVHSU5fVFlQRVMgPSBbJ0NvZGVCdWlsZFN0ZXAnLCAnU2hlbGxTdGVwJywgJ01hbnVhbEFwcHJvdmFsU3RlcCddO1xuY29uc3QgQ09NUFVURV9UWVBFUyA9IFsnU01BTEwnLCAnTUVESVVNJywgJ0xBUkdFJywgJ1gyX0xBUkdFJ107XG5jb25zdCBCVUlMRF9UWVBFUyA9IFsnYnVpbGRfaW1hZ2UnLCAncHJlYnVpbHQnLCAnbWV0YWRhdGFfb25seSddO1xuXG4vKipcbiAqIFJlZ2lzdGVyIHRoZSBgbmV3LXBsdWdpbmAgY29tbWFuZCDigJQgc2NhZmZvbGQgYSBsb2NhbCBwbHVnaW4gZGlyZWN0b3J5XG4gKiAoYGNvbmZpZy55YW1sYCwgYHBsdWdpbi1zcGVjLnlhbWxgLCBhbmQgYSBzdGFydGVyIGBEb2NrZXJmaWxlYCkgdGhhdFxuICogYHZhbGlkYXRlLXBsdWdpbmAgYWNjZXB0cyBhbmQgYHVwbG9hZC1wbHVnaW5gIGNhbiBwYWNrYWdlLlxuICpcbiAqIFVzYWdlOlxuICogICBwaXBlbGluZS1tYW5hZ2VyIHBsdWdpbiBuZXcgLS1uYW1lIG15LWxpbnRlciAtLWNhdGVnb3J5IHF1YWxpdHlcbiAqICAgcGlwZWxpbmUtbWFuYWdlciBwbHVnaW4gbmV3IC0tbmFtZSBhcHByb3ZlIC0tdHlwZSBNYW51YWxBcHByb3ZhbFN0ZXBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5ld1BsdWdpbihwcm9ncmFtOiBDb21tYW5kKTogdm9pZCB7XG4gIHByb2dyYW1cbiAgICAuY29tbWFuZCgnbmV3JylcbiAgICAuZGVzY3JpcHRpb24oJ1NjYWZmb2xkIGEgbG9jYWwgcGx1Z2luIGRpcmVjdG9yeSAoY29uZmlnLnlhbWwsIHBsdWdpbi1zcGVjLnlhbWwsIERvY2tlcmZpbGUpJylcbiAgICAucmVxdWlyZWRPcHRpb24oJy0tbmFtZSA8bmFtZT4nLCAnUGx1Z2luIG5hbWUgKGxvd2VyY2FzZSBsZXR0ZXJzLCBkaWdpdHMsIGh5cGhlbnMpJylcbiAgICAub3B0aW9uKCctLWNhdGVnb3J5IDxjYXRlZ29yeT4nLCAnUGx1Z2luIGNhdGVnb3J5IChlLmcuIHF1YWxpdHksIHNlY3VyaXR5LCBsYW5ndWFnZSknLCAnZ2VuZXJhbCcpXG4gICAgLm9wdGlvbignLS10eXBlIDx0eXBlPicsIGBQbHVnaW4gdHlwZTogJHtQTFVHSU5fVFlQRVMuam9pbignIHwgJyl9YCwgJ0NvZGVCdWlsZFN0ZXAnKVxuICAgIC5vcHRpb24oJy0tY29tcHV0ZSA8Y29tcHV0ZT4nLCBgQ29tcHV0ZSB0eXBlOiAke0NPTVBVVEVfVFlQRVMuam9pbignIHwgJyl9YCwgJ1NNQUxMJylcbiAgICAub3B0aW9uKCctLWJ1aWxkLXR5cGUgPGJ1aWxkVHlwZT4nLCBgQnVpbGQgdHlwZTogJHtCVUlMRF9UWVBFUy5qb2luKCcgfCAnKX1gLCAnYnVpbGRfaW1hZ2UnKVxuICAgIC5vcHRpb24oJy0tZGlyIDxwYXRoPicsICdUYXJnZXQgZGlyZWN0b3J5IChkZWZhdWx0IC4vPG5hbWU+KScpXG4gICAgLm9wdGlvbignLS1mb3JjZScsICdPdmVyd3JpdGUgYW4gZXhpc3RpbmcgZGlyZWN0b3J5JywgZmFsc2UpXG4gICAgLmFjdGlvbigob3B0aW9uczogTmV3UGx1Z2luT3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0aW9uSWQgPSBwcmludENvbW1hbmRIZWFkZXIoJ05ldyBQbHVnaW4nKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBvcHRpb25zLm5hbWUgPz8gJyc7XG4gICAgICAgIC8vIENhbm9uaWNhbCBwbHVnaW4tbmFtZSBwYXR0ZXJuIChtYXRjaGVzIHZhbGlkYXRlLXBsdWdpbiwgdXBsb2FkLXBsdWdpbixcbiAgICAgICAgLy8gYW5kIHRoZSBzZXJ2ZXIncyBOQU1FX1BBVFRFUk4pLlxuICAgICAgICBpZiAoIS9eW2EtejAtOS1dKyQvLnRlc3QobmFtZSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCdQbHVnaW4gbmFtZSBtdXN0IGNvbnRhaW4gb25seSBsb3dlcmNhc2UgbGV0dGVycywgZGlnaXRzLCBhbmQgaHlwaGVucyAoL15bYS16MC05LV0rJC8pJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGx1Z2luVHlwZSA9IG9wdGlvbnMudHlwZSA/PyAnQ29kZUJ1aWxkU3RlcCc7XG4gICAgICAgIGlmICghUExVR0lOX1RZUEVTLmluY2x1ZGVzKHBsdWdpblR5cGUpKSB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGAtLXR5cGUgbXVzdCBiZSBvbmUgb2Y6ICR7UExVR0lOX1RZUEVTLmpvaW4oJywgJyl9YCk7XG4gICAgICAgIGNvbnN0IGNvbXB1dGVUeXBlID0gb3B0aW9ucy5jb21wdXRlID8/ICdTTUFMTCc7XG4gICAgICAgIGlmICghQ09NUFVURV9UWVBFUy5pbmNsdWRlcyhjb21wdXRlVHlwZSkpIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYC0tY29tcHV0ZSBtdXN0IGJlIG9uZSBvZjogJHtDT01QVVRFX1RZUEVTLmpvaW4oJywgJyl9YCk7XG4gICAgICAgIGNvbnN0IGJ1aWxkVHlwZSA9IG9wdGlvbnMuYnVpbGRUeXBlID8/ICdidWlsZF9pbWFnZSc7XG4gICAgICAgIGlmICghQlVJTERfVFlQRVMuaW5jbHVkZXMoYnVpbGRUeXBlKSkgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgLS1idWlsZC10eXBlIG11c3QgYmUgb25lIG9mOiAke0JVSUxEX1RZUEVTLmpvaW4oJywgJyl9YCk7XG5cbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5yZXNvbHZlKG9wdGlvbnMuZGlyID8/IGAuLyR7bmFtZX1gKTtcbiAgICAgICAgaWYgKGZpbGVFeGlzdHModGFyZ2V0RGlyKSAmJiAhb3B0aW9ucy5mb3JjZSkge1xuICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYERpcmVjdG9yeSBhbHJlYWR5IGV4aXN0czogJHt0YXJnZXREaXJ9ICh1c2UgLS1mb3JjZSB0byBvdmVyd3JpdGUpYCk7XG4gICAgICAgIH1cbiAgICAgICAgZW5zdXJlT3V0cHV0RGlyZWN0b3J5KHRhcmdldERpcik7XG5cbiAgICAgICAgY29uc3QgaXNBcHByb3ZhbCA9IHBsdWdpblR5cGUgPT09ICdNYW51YWxBcHByb3ZhbFN0ZXAnO1xuICAgICAgICAvLyBEb2NrZXJmaWxlIG9ubHkgZm9yIGltYWdlIGJ1aWxkcyBvZiBhIHJlYWwgYnVpbGQgc3RlcC5cbiAgICAgICAgY29uc3QgbmVlZHNEb2NrZXJmaWxlID0gYnVpbGRUeXBlID09PSAnYnVpbGRfaW1hZ2UnICYmICFpc0FwcHJvdmFsO1xuXG4gICAgICAgIC8vIGNvbmZpZy55YW1sIOKAlCBidWlsZCBtYW5pZmVzdC5cbiAgICAgICAgY29uc3QgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHsgcGx1Z2luU3BlYzogJ3BsdWdpbi1zcGVjLnlhbWwnLCBidWlsZFR5cGUgfTtcbiAgICAgICAgaWYgKG5lZWRzRG9ja2VyZmlsZSkgY29uZmlnLmRvY2tlcmZpbGUgPSAnRG9ja2VyZmlsZSc7XG4gICAgICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKHRhcmdldERpciwgJ2NvbmZpZy55YW1sJyksIFlBTUwuc3RyaW5naWZ5KGNvbmZpZyksICd1dGYtOCcpO1xuXG4gICAgICAgIC8vIHBsdWdpbi1zcGVjLnlhbWwg4oCUIHRoZSBQbHVnaW5TcGVjLlxuICAgICAgICBjb25zdCBzcGVjOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHZlcnNpb246ICcxLjAuMCcsXG4gICAgICAgICAgZGVzY3JpcHRpb246IGAke25hbWV9IHBsdWdpbmAsXG4gICAgICAgICAga2V5d29yZHM6IFtdIGFzIHN0cmluZ1tdLFxuICAgICAgICAgIGNhdGVnb3J5OiBvcHRpb25zLmNhdGVnb3J5ID8/ICdnZW5lcmFsJyxcbiAgICAgICAgICBwbHVnaW5UeXBlLFxuICAgICAgICAgIGNvbXB1dGVUeXBlLFxuICAgICAgICAgIHRpbWVvdXQ6IGlzQXBwcm92YWwgPyAwIDogMTAsXG4gICAgICAgICAgZmFpbHVyZUJlaGF2aW9yOiAnZmFpbCcsXG4gICAgICAgICAgc2VjcmV0czogW10gYXMgdW5rbm93bltdLFxuICAgICAgICB9O1xuICAgICAgICBpZiAoIWlzQXBwcm92YWwpIHtcbiAgICAgICAgICBzcGVjLmluc3RhbGxDb21tYW5kcyA9IFsnZWNobyBcImluc3RhbGwgc3RlcCDigJQgYWRkIHlvdXIgc2V0dXAgY29tbWFuZHNcIiddO1xuICAgICAgICAgIHNwZWMuY29tbWFuZHMgPSBbYGVjaG8gXCJydW4gc3RlcCBmb3IgJHtuYW1lfSDigJQgcmVwbGFjZSB3aXRoIHJlYWwgY29tbWFuZHNcImBdO1xuICAgICAgICAgIGlmIChuZWVkc0RvY2tlcmZpbGUpIHNwZWMuZG9ja2VyZmlsZSA9ICdEb2NrZXJmaWxlJztcbiAgICAgICAgfVxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbih0YXJnZXREaXIsICdwbHVnaW4tc3BlYy55YW1sJyksIFlBTUwuc3RyaW5naWZ5KHNwZWMpLCAndXRmLTgnKTtcblxuICAgICAgICAvLyBTdGFydGVyIERvY2tlcmZpbGUuXG4gICAgICAgIGlmIChuZWVkc0RvY2tlcmZpbGUpIHtcbiAgICAgICAgICBjb25zdCBkb2NrZXJmaWxlID0gW1xuICAgICAgICAgICAgYCMgRG9ja2VyZmlsZSBmb3IgdGhlICR7bmFtZX0gcGx1Z2luLmAsXG4gICAgICAgICAgICAnIyBUaGUgYmFzZSBpbWFnZSBwcm92aWRlcyB0aGUgdG9vbGNoYWluIHlvdXIgY29tbWFuZHMgbmVlZCDigJQga2VlcCBpdCBtaW5pbWFsIGFuZCBwaW5uZWQuJyxcbiAgICAgICAgICAgICdGUk9NIGFscGluZTozLjIwJyxcbiAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgJyMgVE9ETzogaW5zdGFsbCB0aGUgdG9vbHMgeW91ciBwbHVnaW4tc3BlYyBjb21tYW5kcyBpbnZva2UsIGUuZy46JyxcbiAgICAgICAgICAgICcjIFJVTiBhcGsgYWRkIC0tbm8tY2FjaGUgcHl0aG9uMycsXG4gICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICdXT1JLRElSIC93b3Jrc3BhY2UnLFxuICAgICAgICAgICAgJycsXG4gICAgICAgICAgXS5qb2luKCdcXG4nKTtcbiAgICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbih0YXJnZXREaXIsICdEb2NrZXJmaWxlJyksIGRvY2tlcmZpbGUsICd1dGYtOCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUkVBRE1FLlxuICAgICAgICBjb25zdCByZWxEaXIgPSBvcHRpb25zLmRpciA/PyBgLi8ke25hbWV9YDtcbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4odGFyZ2V0RGlyLCAnUkVBRE1FLm1kJyksIFtcbiAgICAgICAgICBgIyAke25hbWV9YCxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBgJHtuYW1lfSBwbHVnaW4uYCxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnVmFsaWRhdGUgYmVmb3JlIHVwbG9hZDonLFxuICAgICAgICAgICcnLFxuICAgICAgICAgIGAgICAgcGlwZWxpbmUtbWFuYWdlciBwbHVnaW4gdmFsaWRhdGUgLS1kaXIgJHtyZWxEaXJ9YCxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnUGFja2FnZSBhbmQgdXBsb2FkOicsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgYCAgICAoY2QgJHtyZWxEaXJ9ICYmIHppcCAtciAuLi8ke25hbWV9LnppcCAuKWAsXG4gICAgICAgICAgYCAgICBwaXBlbGluZS1tYW5hZ2VyIHBsdWdpbiB1cGxvYWQgLS1maWxlICR7bmFtZX0uemlwIC0tb3JnYW5pemF0aW9uIDxvcmc+YCxcbiAgICAgICAgICAnJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSwgJ3V0Zi04Jyk7XG5cbiAgICAgICAgcHJpbnRTZWN0aW9uKCdTY2FmZm9sZGVkIHBsdWdpbicsIHRhcmdldERpcik7XG4gICAgICAgIHByaW50SW5mbygnQ3JlYXRlZCBmaWxlcycsIHsgZmlsZXM6IFsnY29uZmlnLnlhbWwnLCAncGx1Z2luLXNwZWMueWFtbCcsIC4uLihuZWVkc0RvY2tlcmZpbGUgPyBbJ0RvY2tlcmZpbGUnXSA6IFtdKSwgJ1JFQURNRS5tZCddIH0pO1xuICAgICAgICBwcmludFN1Y2Nlc3MoJ1BsdWdpbiBzY2FmZm9sZCBjcmVhdGVkIOKAlCBlZGl0IHBsdWdpbi1zcGVjLnlhbWwgdGhlbiBydW4gdmFsaWRhdGUtcGx1Z2luJywgeyBleGVjdXRpb25JZCwgZGlyOiB0YXJnZXREaXIgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyLCBlcnIgaW5zdGFuY2VvZiBWYWxpZGF0aW9uRXJyb3IgPyBFUlJPUl9DT0RFUy5WQUxJREFUSU9OIDogRVJST1JfQ09ERVMuR0VORVJBTCwge1xuICAgICAgICAgIGRlYnVnOiBwcm9ncmFtLm9wdHMoKS5kZWJ1ZyxcbiAgICAgICAgICBleGl0OiB0cnVlLFxuICAgICAgICAgIGNvbnRleHQ6IHsgY29tbWFuZDogJ25ldy1wbHVnaW4nLCBleGVjdXRpb25JZCB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
/**
|
|
3
|
-
* CLI `pipeline-manager org
|
|
3
|
+
* CLI `pipeline-manager org export --id <orgId> --output <file>`.
|
|
4
4
|
*
|
|
5
5
|
* Fetches the GDPR portability dump from `GET /api/organization/:id/export`
|
|
6
6
|
* on the platform service and writes it to disk (or stdout). The endpoint
|
|
@@ -15,10 +15,10 @@ import { Command } from 'commander';
|
|
|
15
15
|
* @example
|
|
16
16
|
* ```bash
|
|
17
17
|
* # Sysadmin: any org
|
|
18
|
-
* pipeline-manager org
|
|
18
|
+
* pipeline-manager org export --id org-acme --output acme.json
|
|
19
19
|
*
|
|
20
20
|
* # Org admin: own org only (server rejects other ids with 403)
|
|
21
|
-
* pipeline-manager org
|
|
21
|
+
* pipeline-manager org export --id org-acme --output acme.json
|
|
22
22
|
* ```
|
|
23
23
|
*/
|
|
24
24
|
export declare function orgExport(program: Command): void;
|