From 921a07e77fa7194f290713eec804a004bb56c9de Mon Sep 17 00:00:00 2001 From: Tom Keller Date: Sat, 15 Oct 2022 18:09:41 -0700 Subject: [PATCH] chore!: move away from ESM It turns out that Jest's ESM support still relies on experimental node modules (as of node 18). Switch back to commonjs instead. --- .projenrc.cjs | 18 +++++------- dist/assumeRole.js | 64 +++++++++++++++++++++++++++++++------------ dist/cleanup/index.js | 43 +++++++++++++++++++++++++---- dist/helpers.js | 27 ++++++++++++------ dist/index.js | 59 +++++++++++++++++++++++++++++---------- package-lock.json | 4 +-- package.json | 12 ++------ src/assumeRole.ts | 2 +- src/cleanup/index.ts | 13 +++++---- src/index.ts | 14 ++++++---- 10 files changed, 174 insertions(+), 82 deletions(-) diff --git a/.projenrc.cjs b/.projenrc.cjs index 64383d8..fc28da0 100644 --- a/.projenrc.cjs +++ b/.projenrc.cjs @@ -125,9 +125,7 @@ const project = new GitHubActionTypeScriptProject({ strict: true, // Node 16 is ES2022 target: 'ES2022', - module: 'Node16', - outDir: 'dist', - moduleResolution: 'Node16', + outDir: 'build', }, }, prettier: true, @@ -183,6 +181,7 @@ const project = new GitHubActionTypeScriptProject({ }, }, }); +// We use different mergify defaults than projen const mergifyyml = project.tryFindObjectFile('.mergify.yml'); if (mergifyyml) { const mergifyQueues = mergifyyml.obj.queue_rules.pop(); @@ -190,22 +189,20 @@ if (mergifyyml) { mergifyyml.addOverride('queue_rules', mergifyQueues); mergifyyml.addOverride('pull_request_rules', mergifyRules); } +// Misc tsconfig overrides const tsconfig = project.tryFindObjectFile('tsconfig.json'); if (tsconfig) { tsconfig.addOverride('compilerOptions.allowUnreachableCode', false); tsconfig.addOverride('compilerOptions.allowUnusedLabels', false); tsconfig.addOverride('compilerOptions.pretty', true); } +// The default jest config does not have the correct path project.jest?.addTestMatch('/test/**/*.(test|spec).(js|jsx|ts|tsx)'); +// Future-proofing in case we decide to move to ESM project.setScript('projen', 'node .projenrc.cjs'); -project.setScript('test', 'node --no-warnings --experimental-vm-modules node_modules/.bin/jest.js'); -project.setScript('test:watch', undefined); +// Most jest overrides. Specifically, work around the deprecation of the jest globals config const packageJson = project.tryFindFile('package.json'); if (packageJson) { - packageJson.addOverride('jest.extensionsToTreatAsEsm', ['.ts']); - packageJson.addOverride('jest.moduleNameMapper', { - '^(\\.{1,2}/.*)\\.js$': '$1', - }); packageJson.addOverride('jest.transform', { '^.+\\.[tj]sx?$': [ 'ts-jest', @@ -215,8 +212,7 @@ if (packageJson) { }, ], }); - packageJson.addOverride('jest.preset', 'ts-jest/presets/default-esm-legacy'); packageJson.addOverride('jest.globals', undefined); - packageJson.addOverride('type', 'module'); } + project.synth(); diff --git a/dist/assumeRole.js b/dist/assumeRole.js index 554420b..c41bf74 100644 --- a/dist/assumeRole.js +++ b/dist/assumeRole.js @@ -1,9 +1,38 @@ -import assert from 'assert'; -import fs from 'fs'; -import path from 'path'; -import * as core from '@actions/core'; -import { AssumeRoleWithWebIdentityCommand } from '@aws-sdk/client-sts'; -import { errorMessage, getStsClient, isDefined } from './helpers.js'; +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.assumeRole = void 0; +const assert_1 = __importDefault(require("assert")); +const fs_1 = __importDefault(require("fs")); +const path_1 = __importDefault(require("path")); +const core = __importStar(require("@actions/core")); +const client_sts_1 = require("@aws-sdk/client-sts"); +const helpers_1 = require("./helpers"); const SANITIZATION_CHARACTER = '_'; const MAX_TAG_VALUE_LENGTH = 256; function sanitizeGithubActor(actor) { @@ -19,7 +48,7 @@ function sanitizeGithubWorkflowName(name) { const nameTruncated = nameWithoutSpecialCharacters.slice(0, MAX_TAG_VALUE_LENGTH); return nameTruncated; } -export async function assumeRole(params) { +async function assumeRole(params) { // Assume a role to get short-lived credentials using longer-lived credentials. const { sourceAccountId, roleToAssume, roleExternalId, roleDurationSeconds, roleSessionName, region, roleSkipSessionTagging, webIdentityTokenFile, webIdentityToken, } = { ...params }; const { GITHUB_REPOSITORY, GITHUB_WORKFLOW, GITHUB_ACTION, GITHUB_ACTOR, GITHUB_SHA, GITHUB_WORKSPACE } = process.env; @@ -29,7 +58,7 @@ export async function assumeRole(params) { let RoleArn = roleToAssume; if (!RoleArn.startsWith('arn:aws')) { // Supports only 'aws' partition. Customers in other partitions ('aws-cn') will need to provide full ARN - assert(isDefined(sourceAccountId), 'Source Account ID is needed if the Role Name is provided and not the Role Arn.'); + (0, assert_1.default)((0, helpers_1.isDefined)(sourceAccountId), 'Source Account ID is needed if the Role Name is provided and not the Role Arn.'); RoleArn = `arn:aws:iam::${sourceAccountId}:role/${RoleArn}`; } const tagArray = [ @@ -63,7 +92,7 @@ export async function assumeRole(params) { switch (true) { case !!webIdentityToken: { delete commonAssumeRoleParams.Tags; - assumeRoleCommand = new AssumeRoleWithWebIdentityCommand({ + assumeRoleCommand = new client_sts_1.AssumeRoleWithWebIdentityCommand({ ...commonAssumeRoleParams, WebIdentityToken: webIdentityToken, }); @@ -71,29 +100,30 @@ export async function assumeRole(params) { } case !!webIdentityTokenFile: { core.debug('webIdentityTokenFile provided. Will call sts:AssumeRoleWithWebIdentity and take session tags from token contents.'); - const webIdentityTokenFilePath = path.isAbsolute(webIdentityTokenFile) + const webIdentityTokenFilePath = path_1.default.isAbsolute(webIdentityTokenFile) ? webIdentityTokenFile - : path.join(GITHUB_WORKSPACE, webIdentityTokenFile); - if (!fs.existsSync(webIdentityTokenFilePath)) { + : path_1.default.join(GITHUB_WORKSPACE, webIdentityTokenFile); + if (!fs_1.default.existsSync(webIdentityTokenFilePath)) { throw new Error(`Web identity token file does not exist: ${webIdentityTokenFilePath}`); } try { - const widt = await fs.promises.readFile(webIdentityTokenFilePath, 'utf8'); + const widt = await fs_1.default.promises.readFile(webIdentityTokenFilePath, 'utf8'); delete commonAssumeRoleParams.Tags; - assumeRoleCommand = new AssumeRoleWithWebIdentityCommand({ + assumeRoleCommand = new client_sts_1.AssumeRoleWithWebIdentityCommand({ ...commonAssumeRoleParams, WebIdentityToken: widt, }); } catch (error) { - throw new Error(`Web identity token file could not be read: ${errorMessage(error)}`); + throw new Error(`Web identity token file could not be read: ${(0, helpers_1.errorMessage)(error)}`); } break; } default: throw new Error('No web identity token or web identity token file provided.'); } - const sts = getStsClient(region); + const sts = (0, helpers_1.getStsClient)(region); return sts.send(assumeRoleCommand); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzdW1lUm9sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hc3N1bWVSb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sS0FBSyxJQUFJLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBMEIsZ0NBQWdDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFckUsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUM7QUFDbkMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFFakMsU0FBUyxtQkFBbUIsQ0FBQyxLQUFhO0lBQ3hDLHVHQUF1RztJQUN2RyxzREFBc0Q7SUFDdEQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUFDLElBQVk7SUFDOUMsc0ZBQXNGO0lBQ3RGLHFHQUFxRztJQUNyRyx1SEFBdUg7SUFDdkgsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLCtCQUErQixFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDM0csTUFBTSxhQUFhLEdBQUcsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2xGLE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUM7QUFjRCxNQUFNLENBQUMsS0FBSyxVQUFVLFVBQVUsQ0FBQyxNQUF3QjtJQUN2RCwrRUFBK0U7SUFDL0UsTUFBTSxFQUNKLGVBQWUsRUFDZixZQUFZLEVBQ1osY0FBYyxFQUNkLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsTUFB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IGZyb20gJ2ZzJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY29yZSBmcm9tICdAYWN0aW9ucy9jb3JlJztcbmltcG9ydCB7IEFzc3VtZVJvbGVDb21tYW5kSW5wdXQsIEFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHlDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXN0cyc7XG5pbXBvcnQgeyBlcnJvck1lc3NhZ2UsIGdldFN0c0NsaWVudCwgaXNEZWZpbmVkIH0gZnJvbSAnLi9oZWxwZXJzLmpzJztcblxuY29uc3QgU0FOSVRJWkFUSU9OX0NIQVJBQ1RFUiA9ICdfJztcbmNvbnN0IE1BWF9UQUdfVkFMVUVfTEVOR1RIID0gMjU2O1xuXG5mdW5jdGlvbiBzYW5pdGl6ZUdpdGh1YkFjdG9yKGFjdG9yOiBzdHJpbmcpIHtcbiAgLy8gSW4gc29tZSBjaXJjdW1zdGFuY2VzIHRoZSBhY3RvciBtYXkgY29udGFpbiBzcXVhcmUgYnJhY2tldHMuIEZvciBleGFtcGxlLCBpZiB0aGV5J3JlIGEgYm90ICgnW2JvdF0nKVxuICAvLyBTcXVhcmUgYnJhY2tldHMgYXJlIG5vdCBhbGxvd2VkIGluIEFXUyBzZXNzaW9uIHRhZ3NcbiAgcmV0dXJuIGFjdG9yLnJlcGxhY2UoL1xcW3xcXF0vZywgU0FOSVRJWkFUSU9OX0NIQVJBQ1RFUik7XG59XG5cbmZ1bmN0aW9uIHNhbml0aXplR2l0aHViV29ya2Zsb3dOYW1lKG5hbWU6IHN0cmluZykge1xuICAvLyBXb3JrZmxvdyBuYW1lcyBjYW4gYmUgYWxtb3N0IGFueSB2YWxpZCBVVEYtOCBzdHJpbmcsIGJ1dCB0YWdzIGFyZSBtb3JlIHJlc3RyaWN0aXZlLlxuICAvLyBUaGlzIHJlcGxhY2VzIGFueXRoaW5nIG5vdCBjb25mb3JtaW5nIHRvIHRoZSB0YWcgcmVzdHJpY3Rpb25zIGJ5IGludmVydGluZyB0aGUgcmVndWxhciBleHByZXNzaW9uLlxuICAvLyBTZWUgdGhlIEFXUyBkb2N1bWVudGF0aW9uIGZvciBjb25zdHJhaW50IHNwZWNpZmljcyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vU1RTL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1RhZy5odG1sLlxuICBjb25zdCBuYW1lV2l0aG91dFNwZWNpYWxDaGFyYWN0ZXJzID0gbmFtZS5yZXBsYWNlKC9bXlxccHtMfVxccHtafVxccHtOfV86Lz0rLi1ALV0vZ3UsIFNBTklUSVpBVElPTl9DSEFSQUNURVIpO1xuICBjb25zdCBuYW1lVHJ1bmNhdGVkID0gbmFtZVdpdGhvdXRTcGVjaWFsQ2hhcmFjdGVycy5zbGljZSgwLCBNQVhfVEFHX1ZBTFVFX0xFTkdUSCk7XG4gIHJldHVybiBuYW1lVHJ1bmNhdGVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIGFzc3VtZVJvbGVQYXJhbXMge1xuICByZWdpb246IHN0cmluZztcbiAgcm9sZVRvQXNzdW1lOiBzdHJpbmc7XG4gIHJvbGVEdXJhdGlvblNlY29uZHM6IG51bWJlcjtcbiAgcm9sZVNlc3Npb25OYW1lOiBzdHJpbmc7XG4gIHJvbGVTa2lwU2Vzc2lvblRhZ2dpbmc/OiBib29sZWFuO1xuICBzb3VyY2VBY2NvdW50SWQ/OiBzdHJpbmc7XG4gIHJvbGVFeHRlcm5hbElkPzogc3RyaW5nO1xuICB3ZWJJZGVudGl0eVRva2VuRmlsZT86IHN0cmluZztcbiAgd2ViSWRlbnRpdHlUb2tlbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzc3VtZVJvbGUocGFyYW1zOiBhc3N1bWVSb2xlUGFyYW1zKSB7XG4gIC8vIEFzc3VtZSBhIHJvbGUgdG8gZ2V0IHNob3J0LWxpdmVkIGNyZWRlbnRpYWxzIHVzaW5nIGxvbmdlci1saXZlZCBjcmVkZW50aWFscy5cbiAgY29uc3Qge1xuICAgIHNvdXJjZUFjY291bnRJZCxcbiAgICByb2xlVG9Bc3N1bWUsXG4gICAgcm9sZUV4dGVybmFsSWQsXG4gICAgcm9sZUR1cmF0aW9uU2Vjb25kcyxcbiAgICByb2xlU2Vzc2lvbk5hbWUsXG4gICAgcmVnaW9uLFxuICAgIHJvbGVTa2lwU2Vzc2lvblRhZ2dpbmcsXG4gICAgd2ViSWRlbnRpdHlUb2tlbkZpbGUsXG4gICAgd2ViSWRlbnRpdHlUb2tlbixcbiAgfSA9IHsgLi4ucGFyYW1zIH07XG5cbiAgY29uc3QgeyBHSVRIVUJfUkVQT1NJVE9SWSwgR0lUSFVCX1dPUktGTE9XLCBHSVRIVUJfQUNUSU9OLCBHSVRIVUJfQUNUT1IsIEdJVEhVQl9TSEEsIEdJVEhVQl9XT1JLU1BBQ0UgfSA9IHByb2Nlc3MuZW52O1xuICBpZiAoIUdJVEhVQl9SRVBPU0lUT1JZIHx8ICFHSVRIVUJfV09SS0ZMT1cgfHwgIUdJVEhVQl9BQ1RJT04gfHwgIUdJVEhVQl9BQ1RPUiB8fCAhR0lUSFVCX1NIQSB8fCAhR0lUSFVCX1dPUktTUEFDRSkge1xuICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyByZXF1aXJlZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMuIEFyZSB5b3UgcnVubmluZyBpbiBHaXRIdWIgQWN0aW9ucz8nKTtcbiAgfVxuXG4gIGxldCBSb2xlQXJuID0gcm9sZVRvQXNzdW1lO1xuICBpZiAoIVJvbGVBcm4uc3RhcnRzV2l0aCgnYXJuOmF3cycpKSB7XG4gICAgLy8gU3VwcG9ydHMgb25seSAnYXdzJyBwYXJ0aXRpb24uIEN1c3RvbWVycyBpbiBvdGhlciBwYXJ0aXRpb25zICgnYXdzLWNuJykgd2lsbCBuZWVkIHRvIHByb3ZpZGUgZnVsbCBBUk5cbiAgICBhc3NlcnQoXG4gICAgICBpc0RlZmluZWQoc291cmNlQWNjb3VudElkKSxcbiAgICAgICdTb3VyY2UgQWNjb3VudCBJRCBpcyBuZWVkZWQgaWYgdGhlIFJvbGUgTmFtZSBpcyBwcm92aWRlZCBhbmQgbm90IHRoZSBSb2xlIEFybi4nXG4gICAgKTtcbiAgICBSb2xlQXJuID0gYGFybjphd3M6aWFtOjoke3NvdXJjZUFjY291bnRJZH06cm9sZS8ke1JvbGVBcm59YDtcbiAgfVxuXG4gIGNvbnN0IHRhZ0FycmF5ID0gW1xuICAgIHsgS2V5OiAnR2l0SHViJywgVmFsdWU6ICdBY3Rpb25zJyB9LFxuICAgIHsgS2V5OiAnUmVwb3NpdG9yeScsIFZhbHVlOiBHSVRIVUJfUkVQT1NJVE9SWSB9LFxuICAgIHsgS2V5OiAnV29ya2Zsb3cnLCBWYWx1ZTogc2FuaXRpemVHaXRodWJXb3JrZmxvd05hbWUoR0lUSFVCX1dPUktGTE9XKSB9LFxuICAgIHsgS2V5OiAnQWN0aW9uJywgVmFsdWU6IEdJVEhVQl9BQ1RJT04gfSxcbiAgICB7IEtleTogJ0FjdG9yJywgVmFsdWU6IHNhbml0aXplR2l0aHViQWN0b3IoR0lUSFVCX0FDVE9SKSB9LFxuICAgIHsgS2V5OiAnQ29tbWl0JywgVmFsdWU6IEdJVEhVQl9TSEEgfSxcbiAgXTtcblxuICBpZiAocHJvY2Vzcy5lbnYuR0lUSFVCX1JFRikge1xuICAgIHRhZ0FycmF5LnB1c2goeyBLZXk6ICdCcmFuY2gnLCBWYWx1ZTogcHJvY2Vzcy5lbnYuR0lUSFVCX1JFRiB9KTtcbiAgfVxuXG4gIGNvbnN0IFRhZ3MgPSByb2xlU2tpcFNlc3Npb25UYWdnaW5nID8gdW5kZWZpbmVkIDogdGFnQXJyYXk7XG4gIGlmICghVGFncykge1xuICAgIGNvcmUuZGVidWcoJ1JvbGUgc2Vzc2lvbiB0YWdnaW5nIGhhcyBiZWVuIHNraXBwZWQuJyk7XG4gIH0gZWxzZSB7XG4gICAgY29yZS5kZWJ1ZyhUYWdzLmxlbmd0aCArICcgcm9sZSBzZXNzaW9uIHRhZ3MgYXJlIGJlaW5nIHVzZWQuJyk7XG4gIH1cblxuICBjb25zdCBjb21tb25Bc3N1bWVSb2xlUGFyYW1zOiBBc3N1bWVSb2xlQ29tbWFuZElucHV0ID0ge1xuICAgIFJvbGVBcm4sXG4gICAgUm9sZVNlc3Npb25OYW1lOiByb2xlU2Vzc2lvbk5hbWUsXG4gICAgRHVyYXRpb25TZWNvbmRzOiByb2xlRHVyYXRpb25TZWNvbmRzLFxuICAgIFRhZ3MsXG4gICAgRXh0ZXJuYWxJZDogcm9sZUV4dGVybmFsSWQsXG4gIH07XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb21tb25Bc3N1bWVSb2xlUGFyYW1zKSBhcyBBcnJheTxrZXlvZiB0eXBlb2YgY29tbW9uQXNzdW1lUm9sZVBhcmFtcz47XG4gIGtleXMuZm9yRWFjaCgoaykgPT4gY29tbW9uQXNzdW1lUm9sZVBhcmFtc1trXSA9PT0gdW5kZWZpbmVkICYmIGRlbGV0ZSBjb21tb25Bc3N1bWVSb2xlUGFyYW1zW2tdKTtcblxuICBsZXQgYXNzdW1lUm9sZUNvbW1hbmQ6IEFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHlDb21tYW5kO1xuICBzd2l0Y2ggKHRydWUpIHtcbiAgICBjYXNlICEhd2ViSWRlbnRpdHlUb2tlbjoge1xuICAgICAgZGVsZXRlIGNvbW1vbkFzc3VtZVJvbGVQYXJhbXMuVGFncztcbiAgICAgIGFzc3VtZVJvbGVDb21tYW5kID0gbmV3IEFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHlDb21tYW5kKHtcbiAgICAgICAgLi4uY29tbW9uQXNzdW1lUm9sZVBhcmFtcyxcbiAgICAgICAgV2ViSWRlbnRpdHlUb2tlbjogd2ViSWRlbnRpdHlUb2tlbixcbiAgICAgIH0pO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgISF3ZWJJZGVudGl0eVRva2VuRmlsZToge1xuICAgICAgY29yZS5kZWJ1ZyhcbiAgICAgICAgJ3dlYklkZW50aXR5VG9rZW5GaWxlIHByb3ZpZGVkLiBXaWxsIGNhbGwgc3RzOkFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHkgYW5kIHRha2Ugc2Vzc2lvbiB0YWdzIGZyb20gdG9rZW4gY29udGVudHMuJ1xuICAgICAgKTtcblxuICAgICAgY29uc3Qgd2ViSWRlbnRpdHlUb2tlbkZpbGVQYXRoID0gcGF0aC5pc0Fic29sdXRlKHdlYklkZW50aXR5VG9rZW5GaWxlISlcbiAgICAgICAgPyB3ZWJJZGVudGl0eVRva2VuRmlsZSFcbiAgICAgICAgOiBwYXRoLmpvaW4oR0lUSFVCX1dPUktTUEFDRSwgd2ViSWRlbnRpdHlUb2tlbkZpbGUhKTtcbiAgICAgIGlmICghZnMuZXhpc3RzU3luYyh3ZWJJZGVudGl0eVRva2VuRmlsZVBhdGgpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgV2ViIGlkZW50aXR5IHRva2VuIGZpbGUgZG9lcyBub3QgZXhpc3Q6ICR7d2ViSWRlbnRpdHlUb2tlbkZpbGVQYXRofWApO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB3aWR0ID0gYXdhaXQgZnMucHJvbWlzZXMucmVhZEZpbGUod2ViSWRlbnRpdHlUb2tlbkZpbGVQYXRoLCAndXRmOCcpO1xuICAgICAgICBkZWxldGUgY29tbW9uQXNzdW1lUm9sZVBhcmFtcy5UYWdzO1xuICAgICAgICBhc3N1bWVSb2xlQ29tbWFuZCA9IG5ldyBBc3N1bWVSb2xlV2l0aFdlYklkZW50aXR5Q29tbWFuZCh7XG4gICAgICAgICAgLi4uY29tbW9uQXNzdW1lUm9sZVBhcmFtcyxcbiAgICAgICAgICBXZWJJZGVudGl0eVRva2VuOiB3aWR0LFxuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgV2ViIGlkZW50aXR5IHRva2VuIGZpbGUgY291bGQgbm90IGJlIHJlYWQ6ICR7ZXJyb3JNZXNzYWdlKGVycm9yKX1gKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyB3ZWIgaWRlbnRpdHkgdG9rZW4gb3Igd2ViIGlkZW50aXR5IHRva2VuIGZpbGUgcHJvdmlkZWQuJyk7XG4gIH1cblxuICBjb25zdCBzdHMgPSBnZXRTdHNDbGllbnQocmVnaW9uKTtcbiAgcmV0dXJuIHN0cy5zZW5kKGFzc3VtZVJvbGVDb21tYW5kKTtcbn1cbiJdfQ== \ No newline at end of file +exports.assumeRole = assumeRole; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzdW1lUm9sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hc3N1bWVSb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLDRDQUFvQjtBQUNwQixnREFBd0I7QUFDeEIsb0RBQXNDO0FBQ3RDLG9EQUErRjtBQUMvRix1Q0FBa0U7QUFFbEUsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUM7QUFDbkMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFFakMsU0FBUyxtQkFBbUIsQ0FBQyxLQUFhO0lBQ3hDLHVHQUF1RztJQUN2RyxzREFBc0Q7SUFDdEQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUFDLElBQVk7SUFDOUMsc0ZBQXNGO0lBQ3RGLHFHQUFxRztJQUNyRyx1SEFBdUg7SUFDdkgsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLCtCQUErQixFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDM0csTUFBTSxhQUFhLEdBQUcsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2xGLE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUM7QUFjTSxLQUFLLFVBQVUsVUFBVSxDQUFDLE1BQXdCO0lBQ3ZELCtFQUErRTtJQUMvRSxNQUFNLEVBQ0osZUFBZSxFQUNmLFlBQVksRUFDWixjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixNQUFNLEVBQ04sc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUNwQixnQkFBZ0IsR0FDakIsR0FBRyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFFbEIsTUFBTSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFVBQVUs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QUMsb0JBQXFCLENBQUM7Z0JBQ3JFLENBQUMsQ0FBQyxvQkFBcUI7Z0JBQ3ZCLENBQUMsQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLG9CQUFxQixDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLFlBQUUsQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUMsRUFBRTtnQkFDNUMsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO2FBQ3hGO1lBRUQsSUFBSTtnQkFDRixNQUFNLElBQUksR0FBRyxNQUFNLFlBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUMxRSxPQUFPLHNCQUFzQixDQUFDLElBQUksQ0FBQztnQkFDbkMsaUJBQWlCLEdBQUcsSUFBSSw2Q0FBZ0MsQ0FBQztvQkFDdkQsR0FBRyxzQkFBc0I7b0JBQ3pCLGdCQUFnQixFQUFFLElBQUk7aUJBQ3ZCLENBQUMsQ0FBQzthQUNKO1lBQUMsT0FBTyxLQUFLLEVBQUU7Z0JBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsSUFBQSxzQkFBWSxFQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN0RjtZQUNELE1BQU07U0FDUDtRQUNEO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyw0REFBNEQsQ0FBQyxDQUFDO0tBQ2pGO0lBRUQsTUFBTSxHQUFHLEdBQUcsSUFBQSxzQkFBWSxFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFuR0QsZ0NBbUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY29yZSBmcm9tICdAYWN0aW9ucy9jb3JlJztcbmltcG9ydCB7IEFzc3VtZVJvbGVDb21tYW5kSW5wdXQsIEFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHlDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXN0cyc7XG5pbXBvcnQgeyBlcnJvck1lc3NhZ2UsIGdldFN0c0NsaWVudCwgaXNEZWZpbmVkIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuY29uc3QgU0FOSVRJWkFUSU9OX0NIQVJBQ1RFUiA9ICdfJztcbmNvbnN0IE1BWF9UQUdfVkFMVUVfTEVOR1RIID0gMjU2O1xuXG5mdW5jdGlvbiBzYW5pdGl6ZUdpdGh1YkFjdG9yKGFjdG9yOiBzdHJpbmcpIHtcbiAgLy8gSW4gc29tZSBjaXJjdW1zdGFuY2VzIHRoZSBhY3RvciBtYXkgY29udGFpbiBzcXVhcmUgYnJhY2tldHMuIEZvciBleGFtcGxlLCBpZiB0aGV5J3JlIGEgYm90ICgnW2JvdF0nKVxuICAvLyBTcXVhcmUgYnJhY2tldHMgYXJlIG5vdCBhbGxvd2VkIGluIEFXUyBzZXNzaW9uIHRhZ3NcbiAgcmV0dXJuIGFjdG9yLnJlcGxhY2UoL1xcW3xcXF0vZywgU0FOSVRJWkFUSU9OX0NIQVJBQ1RFUik7XG59XG5cbmZ1bmN0aW9uIHNhbml0aXplR2l0aHViV29ya2Zsb3dOYW1lKG5hbWU6IHN0cmluZykge1xuICAvLyBXb3JrZmxvdyBuYW1lcyBjYW4gYmUgYWxtb3N0IGFueSB2YWxpZCBVVEYtOCBzdHJpbmcsIGJ1dCB0YWdzIGFyZSBtb3JlIHJlc3RyaWN0aXZlLlxuICAvLyBUaGlzIHJlcGxhY2VzIGFueXRoaW5nIG5vdCBjb25mb3JtaW5nIHRvIHRoZSB0YWcgcmVzdHJpY3Rpb25zIGJ5IGludmVydGluZyB0aGUgcmVndWxhciBleHByZXNzaW9uLlxuICAvLyBTZWUgdGhlIEFXUyBkb2N1bWVudGF0aW9uIGZvciBjb25zdHJhaW50IHNwZWNpZmljcyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vU1RTL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1RhZy5odG1sLlxuICBjb25zdCBuYW1lV2l0aG91dFNwZWNpYWxDaGFyYWN0ZXJzID0gbmFtZS5yZXBsYWNlKC9bXlxccHtMfVxccHtafVxccHtOfV86Lz0rLi1ALV0vZ3UsIFNBTklUSVpBVElPTl9DSEFSQUNURVIpO1xuICBjb25zdCBuYW1lVHJ1bmNhdGVkID0gbmFtZVdpdGhvdXRTcGVjaWFsQ2hhcmFjdGVycy5zbGljZSgwLCBNQVhfVEFHX1ZBTFVFX0xFTkdUSCk7XG4gIHJldHVybiBuYW1lVHJ1bmNhdGVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIGFzc3VtZVJvbGVQYXJhbXMge1xuICByZWdpb246IHN0cmluZztcbiAgcm9sZVRvQXNzdW1lOiBzdHJpbmc7XG4gIHJvbGVEdXJhdGlvblNlY29uZHM6IG51bWJlcjtcbiAgcm9sZVNlc3Npb25OYW1lOiBzdHJpbmc7XG4gIHJvbGVTa2lwU2Vzc2lvblRhZ2dpbmc/OiBib29sZWFuO1xuICBzb3VyY2VBY2NvdW50SWQ/OiBzdHJpbmc7XG4gIHJvbGVFeHRlcm5hbElkPzogc3RyaW5nO1xuICB3ZWJJZGVudGl0eVRva2VuRmlsZT86IHN0cmluZztcbiAgd2ViSWRlbnRpdHlUb2tlbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzc3VtZVJvbGUocGFyYW1zOiBhc3N1bWVSb2xlUGFyYW1zKSB7XG4gIC8vIEFzc3VtZSBhIHJvbGUgdG8gZ2V0IHNob3J0LWxpdmVkIGNyZWRlbnRpYWxzIHVzaW5nIGxvbmdlci1saXZlZCBjcmVkZW50aWFscy5cbiAgY29uc3Qge1xuICAgIHNvdXJjZUFjY291bnRJZCxcbiAgICByb2xlVG9Bc3N1bWUsXG4gICAgcm9sZUV4dGVybmFsSWQsXG4gICAgcm9sZUR1cmF0aW9uU2Vjb25kcyxcbiAgICByb2xlU2Vzc2lvbk5hbWUsXG4gICAgcmVnaW9uLFxuICAgIHJvbGVTa2lwU2Vzc2lvblRhZ2dpbmcsXG4gICAgd2ViSWRlbnRpdHlUb2tlbkZpbGUsXG4gICAgd2ViSWRlbnRpdHlUb2tlbixcbiAgfSA9IHsgLi4ucGFyYW1zIH07XG5cbiAgY29uc3QgeyBHSVRIVUJfUkVQT1NJVE9SWSwgR0lUSFVCX1dPUktGTE9XLCBHSVRIVUJfQUNUSU9OLCBHSVRIVUJfQUNUT1IsIEdJVEhVQl9TSEEsIEdJVEhVQl9XT1JLU1BBQ0UgfSA9IHByb2Nlc3MuZW52O1xuICBpZiAoIUdJVEhVQl9SRVBPU0lUT1JZIHx8ICFHSVRIVUJfV09SS0ZMT1cgfHwgIUdJVEhVQl9BQ1RJT04gfHwgIUdJVEhVQl9BQ1RPUiB8fCAhR0lUSFVCX1NIQSB8fCAhR0lUSFVCX1dPUktTUEFDRSkge1xuICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyByZXF1aXJlZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMuIEFyZSB5b3UgcnVubmluZyBpbiBHaXRIdWIgQWN0aW9ucz8nKTtcbiAgfVxuXG4gIGxldCBSb2xlQXJuID0gcm9sZVRvQXNzdW1lO1xuICBpZiAoIVJvbGVBcm4uc3RhcnRzV2l0aCgnYXJuOmF3cycpKSB7XG4gICAgLy8gU3VwcG9ydHMgb25seSAnYXdzJyBwYXJ0aXRpb24uIEN1c3RvbWVycyBpbiBvdGhlciBwYXJ0aXRpb25zICgnYXdzLWNuJykgd2lsbCBuZWVkIHRvIHByb3ZpZGUgZnVsbCBBUk5cbiAgICBhc3NlcnQoXG4gICAgICBpc0RlZmluZWQoc291cmNlQWNjb3VudElkKSxcbiAgICAgICdTb3VyY2UgQWNjb3VudCBJRCBpcyBuZWVkZWQgaWYgdGhlIFJvbGUgTmFtZSBpcyBwcm92aWRlZCBhbmQgbm90IHRoZSBSb2xlIEFybi4nXG4gICAgKTtcbiAgICBSb2xlQXJuID0gYGFybjphd3M6aWFtOjoke3NvdXJjZUFjY291bnRJZH06cm9sZS8ke1JvbGVBcm59YDtcbiAgfVxuXG4gIGNvbnN0IHRhZ0FycmF5ID0gW1xuICAgIHsgS2V5OiAnR2l0SHViJywgVmFsdWU6ICdBY3Rpb25zJyB9LFxuICAgIHsgS2V5OiAnUmVwb3NpdG9yeScsIFZhbHVlOiBHSVRIVUJfUkVQT1NJVE9SWSB9LFxuICAgIHsgS2V5OiAnV29ya2Zsb3cnLCBWYWx1ZTogc2FuaXRpemVHaXRodWJXb3JrZmxvd05hbWUoR0lUSFVCX1dPUktGTE9XKSB9LFxuICAgIHsgS2V5OiAnQWN0aW9uJywgVmFsdWU6IEdJVEhVQl9BQ1RJT04gfSxcbiAgICB7IEtleTogJ0FjdG9yJywgVmFsdWU6IHNhbml0aXplR2l0aHViQWN0b3IoR0lUSFVCX0FDVE9SKSB9LFxuICAgIHsgS2V5OiAnQ29tbWl0JywgVmFsdWU6IEdJVEhVQl9TSEEgfSxcbiAgXTtcblxuICBpZiAocHJvY2Vzcy5lbnYuR0lUSFVCX1JFRikge1xuICAgIHRhZ0FycmF5LnB1c2goeyBLZXk6ICdCcmFuY2gnLCBWYWx1ZTogcHJvY2Vzcy5lbnYuR0lUSFVCX1JFRiB9KTtcbiAgfVxuXG4gIGNvbnN0IFRhZ3MgPSByb2xlU2tpcFNlc3Npb25UYWdnaW5nID8gdW5kZWZpbmVkIDogdGFnQXJyYXk7XG4gIGlmICghVGFncykge1xuICAgIGNvcmUuZGVidWcoJ1JvbGUgc2Vzc2lvbiB0YWdnaW5nIGhhcyBiZWVuIHNraXBwZWQuJyk7XG4gIH0gZWxzZSB7XG4gICAgY29yZS5kZWJ1ZyhUYWdzLmxlbmd0aCArICcgcm9sZSBzZXNzaW9uIHRhZ3MgYXJlIGJlaW5nIHVzZWQuJyk7XG4gIH1cblxuICBjb25zdCBjb21tb25Bc3N1bWVSb2xlUGFyYW1zOiBBc3N1bWVSb2xlQ29tbWFuZElucHV0ID0ge1xuICAgIFJvbGVBcm4sXG4gICAgUm9sZVNlc3Npb25OYW1lOiByb2xlU2Vzc2lvbk5hbWUsXG4gICAgRHVyYXRpb25TZWNvbmRzOiByb2xlRHVyYXRpb25TZWNvbmRzLFxuICAgIFRhZ3MsXG4gICAgRXh0ZXJuYWxJZDogcm9sZUV4dGVybmFsSWQsXG4gIH07XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb21tb25Bc3N1bWVSb2xlUGFyYW1zKSBhcyBBcnJheTxrZXlvZiB0eXBlb2YgY29tbW9uQXNzdW1lUm9sZVBhcmFtcz47XG4gIGtleXMuZm9yRWFjaCgoaykgPT4gY29tbW9uQXNzdW1lUm9sZVBhcmFtc1trXSA9PT0gdW5kZWZpbmVkICYmIGRlbGV0ZSBjb21tb25Bc3N1bWVSb2xlUGFyYW1zW2tdKTtcblxuICBsZXQgYXNzdW1lUm9sZUNvbW1hbmQ6IEFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHlDb21tYW5kO1xuICBzd2l0Y2ggKHRydWUpIHtcbiAgICBjYXNlICEhd2ViSWRlbnRpdHlUb2tlbjoge1xuICAgICAgZGVsZXRlIGNvbW1vbkFzc3VtZVJvbGVQYXJhbXMuVGFncztcbiAgICAgIGFzc3VtZVJvbGVDb21tYW5kID0gbmV3IEFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHlDb21tYW5kKHtcbiAgICAgICAgLi4uY29tbW9uQXNzdW1lUm9sZVBhcmFtcyxcbiAgICAgICAgV2ViSWRlbnRpdHlUb2tlbjogd2ViSWRlbnRpdHlUb2tlbixcbiAgICAgIH0pO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgISF3ZWJJZGVudGl0eVRva2VuRmlsZToge1xuICAgICAgY29yZS5kZWJ1ZyhcbiAgICAgICAgJ3dlYklkZW50aXR5VG9rZW5GaWxlIHByb3ZpZGVkLiBXaWxsIGNhbGwgc3RzOkFzc3VtZVJvbGVXaXRoV2ViSWRlbnRpdHkgYW5kIHRha2Ugc2Vzc2lvbiB0YWdzIGZyb20gdG9rZW4gY29udGVudHMuJ1xuICAgICAgKTtcblxuICAgICAgY29uc3Qgd2ViSWRlbnRpdHlUb2tlbkZpbGVQYXRoID0gcGF0aC5pc0Fic29sdXRlKHdlYklkZW50aXR5VG9rZW5GaWxlISlcbiAgICAgICAgPyB3ZWJJZGVudGl0eVRva2VuRmlsZSFcbiAgICAgICAgOiBwYXRoLmpvaW4oR0lUSFVCX1dPUktTUEFDRSwgd2ViSWRlbnRpdHlUb2tlbkZpbGUhKTtcbiAgICAgIGlmICghZnMuZXhpc3RzU3luYyh3ZWJJZGVudGl0eVRva2VuRmlsZVBhdGgpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgV2ViIGlkZW50aXR5IHRva2VuIGZpbGUgZG9lcyBub3QgZXhpc3Q6ICR7d2ViSWRlbnRpdHlUb2tlbkZpbGVQYXRofWApO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB3aWR0ID0gYXdhaXQgZnMucHJvbWlzZXMucmVhZEZpbGUod2ViSWRlbnRpdHlUb2tlbkZpbGVQYXRoLCAndXRmOCcpO1xuICAgICAgICBkZWxldGUgY29tbW9uQXNzdW1lUm9sZVBhcmFtcy5UYWdzO1xuICAgICAgICBhc3N1bWVSb2xlQ29tbWFuZCA9IG5ldyBBc3N1bWVSb2xlV2l0aFdlYklkZW50aXR5Q29tbWFuZCh7XG4gICAgICAgICAgLi4uY29tbW9uQXNzdW1lUm9sZVBhcmFtcyxcbiAgICAgICAgICBXZWJJZGVudGl0eVRva2VuOiB3aWR0LFxuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgV2ViIGlkZW50aXR5IHRva2VuIGZpbGUgY291bGQgbm90IGJlIHJlYWQ6ICR7ZXJyb3JNZXNzYWdlKGVycm9yKX1gKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyB3ZWIgaWRlbnRpdHkgdG9rZW4gb3Igd2ViIGlkZW50aXR5IHRva2VuIGZpbGUgcHJvdmlkZWQuJyk7XG4gIH1cblxuICBjb25zdCBzdHMgPSBnZXRTdHNDbGllbnQocmVnaW9uKTtcbiAgcmV0dXJuIHN0cy5zZW5kKGFzc3VtZVJvbGVDb21tYW5kKTtcbn1cbiJdfQ== \ No newline at end of file diff --git a/dist/cleanup/index.js b/dist/cleanup/index.js index 88cc4a7..09023ab 100644 --- a/dist/cleanup/index.js +++ b/dist/cleanup/index.js @@ -1,5 +1,31 @@ -import * as core from '@actions/core'; -import { errorMessage } from '../helpers.js'; +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.cleanup = void 0; +const core = __importStar(require("@actions/core")); +const helpers_1 = require("../helpers"); /** * When the GitHub Actions job is done, clean up any environment variables that * may have been set by the configure-aws-credentials steps in the job. @@ -10,7 +36,7 @@ import { errorMessage } from '../helpers.js'; * give us additional assurance that these environment variables are not shared * with any other jobs. */ -export async function cleanup() { +async function cleanup() { try { // The GitHub Actions toolkit does not have an option to completely unset // environment variables, so we overwrite the current value with an empty @@ -23,10 +49,15 @@ export async function cleanup() { core.exportVariable('AWS_REGION', ''); } catch (error) { - core.setFailed(errorMessage(error)); + core.setFailed((0, helpers_1.errorMessage)(error)); } } +exports.cleanup = cleanup; if (require.main === module) { - await cleanup(); + (async () => { + await cleanup(); + })().catch((error) => { + core.setFailed((0, helpers_1.errorMessage)(error)); + }); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xlYW51cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDOzs7Ozs7Ozs7R0FTRztBQUVILE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTztJQUMzQixJQUFJO1FBQ0YseUVBQXlFO1FBQ3pFLHlFQUF5RTtRQUN6RSx3RUFBd0U7UUFDeEUsb0VBQW9FO1FBQ3BFLElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDdkM7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7S0FDckM7QUFDSCxDQUFDO0FBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtJQUMzQixNQUFNLE9BQU8sRUFBRSxDQUFDO0NBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29yZSBmcm9tICdAYWN0aW9ucy9jb3JlJztcbmltcG9ydCB7IGVycm9yTWVzc2FnZSB9IGZyb20gJy4uL2hlbHBlcnMuanMnO1xuXG4vKipcbiAqIFdoZW4gdGhlIEdpdEh1YiBBY3Rpb25zIGpvYiBpcyBkb25lLCBjbGVhbiB1cCBhbnkgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRoYXRcbiAqIG1heSBoYXZlIGJlZW4gc2V0IGJ5IHRoZSBjb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzIHN0ZXBzIGluIHRoZSBqb2IuXG4gKlxuICogRW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBub3QgaW50ZW5kZWQgdG8gYmUgc2hhcmVkIGFjcm9zcyBkaWZmZXJlbnQgam9icyBpblxuICogdGhlIHNhbWUgR2l0SHViIEFjdGlvbnMgd29ya2Zsb3c6IEdpdEh1YiBBY3Rpb25zIGRvY3VtZW50YXRpb24gc3RhdGVzIHRoYXRcbiAqIGVhY2ggam9iIHJ1bnMgaW4gYSBmcmVzaCBpbnN0YW5jZS4gIEhvd2V2ZXIsIGRvaW5nIG91ciBvd24gY2xlYW51cCB3aWxsXG4gKiBnaXZlIHVzIGFkZGl0aW9uYWwgYXNzdXJhbmNlIHRoYXQgdGhlc2UgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBub3Qgc2hhcmVkXG4gKiB3aXRoIGFueSBvdGhlciBqb2JzLlxuICovXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICB0cnkge1xuICAgIC8vIFRoZSBHaXRIdWIgQWN0aW9ucyB0b29sa2l0IGRvZXMgbm90IGhhdmUgYW4gb3B0aW9uIHRvIGNvbXBsZXRlbHkgdW5zZXRcbiAgICAvLyBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIHNvIHdlIG92ZXJ3cml0ZSB0aGUgY3VycmVudCB2YWx1ZSB3aXRoIGFuIGVtcHR5XG4gICAgLy8gc3RyaW5nLiBUaGUgQVdTIENMSSBhbmQgQVdTIFNES3Mgd2lsbCBiZWhhdmUgY29ycmVjdGx5OiB0aGV5IHRyZWF0IGFuXG4gICAgLy8gZW1wdHkgc3RyaW5nIHZhbHVlIGFzIGlmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBkb2VzIG5vdCBleGlzdC5cbiAgICBjb3JlLmV4cG9ydFZhcmlhYmxlKCdBV1NfQUNDRVNTX0tFWV9JRCcsICcnKTtcbiAgICBjb3JlLmV4cG9ydFZhcmlhYmxlKCdBV1NfU0VDUkVUX0FDQ0VTU19LRVknLCAnJyk7XG4gICAgY29yZS5leHBvcnRWYXJpYWJsZSgnQVdTX1NFU1NJT05fVE9LRU4nLCAnJyk7XG4gICAgY29yZS5leHBvcnRWYXJpYWJsZSgnQVdTX0RFRkFVTFRfUkVHSU9OJywgJycpO1xuICAgIGNvcmUuZXhwb3J0VmFyaWFibGUoJ0FXU19SRUdJT04nLCAnJyk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29yZS5zZXRGYWlsZWQoZXJyb3JNZXNzYWdlKGVycm9yKSk7XG4gIH1cbn1cblxuaWYgKHJlcXVpcmUubWFpbiA9PT0gbW9kdWxlKSB7XG4gIGF3YWl0IGNsZWFudXAoKTtcbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xlYW51cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUFzQztBQUN0Qyx3Q0FBMEM7QUFFMUM7Ozs7Ozs7OztHQVNHO0FBRUksS0FBSyxVQUFVLE9BQU87SUFDM0IsSUFBSTtRQUNGLHlFQUF5RTtRQUN6RSx5RUFBeUU7UUFDekUsd0VBQXdFO1FBQ3hFLG9FQUFvRTtRQUNwRSxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQ3ZDO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUEsc0JBQVksRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBQ3JDO0FBQ0gsQ0FBQztBQWRELDBCQWNDO0FBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtJQUMzQixDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ1YsTUFBTSxPQUFPLEVBQUUsQ0FBQztJQUNsQixDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBQSxzQkFBWSxFQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvcmUgZnJvbSAnQGFjdGlvbnMvY29yZSc7XG5pbXBvcnQgeyBlcnJvck1lc3NhZ2UgfSBmcm9tICcuLi9oZWxwZXJzJztcblxuLyoqXG4gKiBXaGVuIHRoZSBHaXRIdWIgQWN0aW9ucyBqb2IgaXMgZG9uZSwgY2xlYW4gdXAgYW55IGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0XG4gKiBtYXkgaGF2ZSBiZWVuIHNldCBieSB0aGUgY29uZmlndXJlLWF3cy1jcmVkZW50aWFscyBzdGVwcyBpbiB0aGUgam9iLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgbm90IGludGVuZGVkIHRvIGJlIHNoYXJlZCBhY3Jvc3MgZGlmZmVyZW50IGpvYnMgaW5cbiAqIHRoZSBzYW1lIEdpdEh1YiBBY3Rpb25zIHdvcmtmbG93OiBHaXRIdWIgQWN0aW9ucyBkb2N1bWVudGF0aW9uIHN0YXRlcyB0aGF0XG4gKiBlYWNoIGpvYiBydW5zIGluIGEgZnJlc2ggaW5zdGFuY2UuICBIb3dldmVyLCBkb2luZyBvdXIgb3duIGNsZWFudXAgd2lsbFxuICogZ2l2ZSB1cyBhZGRpdGlvbmFsIGFzc3VyYW5jZSB0aGF0IHRoZXNlIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgbm90IHNoYXJlZFxuICogd2l0aCBhbnkgb3RoZXIgam9icy5cbiAqL1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgdHJ5IHtcbiAgICAvLyBUaGUgR2l0SHViIEFjdGlvbnMgdG9vbGtpdCBkb2VzIG5vdCBoYXZlIGFuIG9wdGlvbiB0byBjb21wbGV0ZWx5IHVuc2V0XG4gICAgLy8gZW52aXJvbm1lbnQgdmFyaWFibGVzLCBzbyB3ZSBvdmVyd3JpdGUgdGhlIGN1cnJlbnQgdmFsdWUgd2l0aCBhbiBlbXB0eVxuICAgIC8vIHN0cmluZy4gVGhlIEFXUyBDTEkgYW5kIEFXUyBTREtzIHdpbGwgYmVoYXZlIGNvcnJlY3RseTogdGhleSB0cmVhdCBhblxuICAgIC8vIGVtcHR5IHN0cmluZyB2YWx1ZSBhcyBpZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgZG9lcyBub3QgZXhpc3QuXG4gICAgY29yZS5leHBvcnRWYXJpYWJsZSgnQVdTX0FDQ0VTU19LRVlfSUQnLCAnJyk7XG4gICAgY29yZS5leHBvcnRWYXJpYWJsZSgnQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZJywgJycpO1xuICAgIGNvcmUuZXhwb3J0VmFyaWFibGUoJ0FXU19TRVNTSU9OX1RPS0VOJywgJycpO1xuICAgIGNvcmUuZXhwb3J0VmFyaWFibGUoJ0FXU19ERUZBVUxUX1JFR0lPTicsICcnKTtcbiAgICBjb3JlLmV4cG9ydFZhcmlhYmxlKCdBV1NfUkVHSU9OJywgJycpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvcmUuc2V0RmFpbGVkKGVycm9yTWVzc2FnZShlcnJvcikpO1xuICB9XG59XG5pZiAocmVxdWlyZS5tYWluID09PSBtb2R1bGUpIHtcbiAgKGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBjbGVhbnVwKCk7XG4gIH0pKCkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgY29yZS5zZXRGYWlsZWQoZXJyb3JNZXNzYWdlKGVycm9yKSk7XG4gIH0pO1xufVxuIl19 \ No newline at end of file diff --git a/dist/helpers.js b/dist/helpers.js index 2ec52d9..9a504a0 100644 --- a/dist/helpers.js +++ b/dist/helpers.js @@ -1,22 +1,27 @@ -import { STSClient } from '@aws-sdk/client-sts'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.retryAndBackoff = exports.isDefined = exports.errorMessage = exports.sanitizeGithubWorkflowName = exports.sanitizeGithubActor = exports.getStsClient = void 0; +const client_sts_1 = require("@aws-sdk/client-sts"); const MAX_TAG_VALUE_LENGTH = 256; const SANITIZATION_CHARACTER = '_'; let stsclient; -export function getStsClient(region, agent) { +function getStsClient(region, agent) { if (!stsclient) { - stsclient = new STSClient({ + stsclient = new client_sts_1.STSClient({ region, customUserAgent: agent, }); } return stsclient; } -export function sanitizeGithubActor(actor) { +exports.getStsClient = getStsClient; +function sanitizeGithubActor(actor) { // In some circumstances the actor may contain square brackets. For example, if they're a bot ('[bot]') // Square brackets are not allowed in AWS session tags return actor.replace(/\[|\]/g, SANITIZATION_CHARACTER); } -export function sanitizeGithubWorkflowName(name) { +exports.sanitizeGithubActor = sanitizeGithubActor; +function sanitizeGithubWorkflowName(name) { // Workflow names can be almost any valid UTF-8 string, but tags are more restrictive. // This replaces anything not conforming to the tag restrictions by inverting the regular expression. // See the AWS documentation for constraint specifics https://docs.aws.amazon.com/STS/latest/APIReference/API_Tag.html. @@ -24,17 +29,20 @@ export function sanitizeGithubWorkflowName(name) { const nameTruncated = nameWithoutSpecialCharacters.slice(0, MAX_TAG_VALUE_LENGTH); return nameTruncated; } -export function errorMessage(error) { +exports.sanitizeGithubWorkflowName = sanitizeGithubWorkflowName; +function errorMessage(error) { return error instanceof Error ? error.message : String(error); } -export function isDefined(i) { +exports.errorMessage = errorMessage; +function isDefined(i) { return i !== undefined && i !== null; } +exports.isDefined = isDefined; function sleep(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } // retryAndBackoff retries with exponential backoff the promise if the error isRetryable upto maxRetries time. -export async function retryAndBackoff(fn, isRetryable, retries = 0, maxRetries = 12, base = 50) { +async function retryAndBackoff(fn, isRetryable, retries = 0, maxRetries = 12, base = 50) { try { return await fn(); } @@ -51,4 +59,5 @@ export async function retryAndBackoff(fn, isRetryable, retries = 0, maxRetries = return await retryAndBackoff(fn, isRetryable, retries, maxRetries, base); } } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztBQUNqQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztBQUVuQyxJQUFJLFNBQWdDLENBQUM7QUFFckMsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFjLEVBQUUsS0FBYztJQUN6RCxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ2QsU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDO1lBQ3hCLE1BQU07WUFDTixlQUFlLEVBQUUsS0FBSztTQUN2QixDQUFDLENBQUM7S0FDSjtJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsS0FBYTtJQUMvQyx1R0FBdUc7SUFDdkcsc0RBQXNEO0lBQ3RELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLElBQVk7SUFDckQsc0ZBQXNGO0lBQ3RGLHFHQUFxRztJQUNyRyx1SEFBdUg7SUFDdkgsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLCtCQUErQixFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDM0csTUFBTSxhQUFhLEdBQUcsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2xGLE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWM7SUFDekMsT0FBTyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUksQ0FBdUI7SUFDbEQsT0FBTyxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUM7QUFDdkMsQ0FBQztBQUVELFNBQVMsS0FBSyxDQUFDLEVBQVU7SUFDdkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFFRCw4R0FBOEc7QUFDOUcsTUFBTSxDQUFDLEtBQUssVUFBVSxlQUFlLENBQ25DLEVBQW9CLEVBQ3BCLFdBQW9CLEVBQ3BCLE9BQU8sR0FBRyxDQUFDLEVBQ1gsVUFBVSxHQUFHLEVBQUUsRUFDZixJQUFJLEdBQUcsRUFBRTtJQUVULElBQUk7UUFDRixPQUFPLE1BQU0sRUFBRSxFQUFFLENBQUM7S0FDbkI7SUFBQyxPQUFPLEdBQUcsRUFBRTtRQUNaLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsTUFBTSxHQUFHLENBQUM7U0FDWDtRQUNELHNDQUFzQztRQUN0QyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDYixJQUFJLE9BQU8sS0FBSyxVQUFVLEVBQUU7WUFDMUIsTUFBTSxHQUFHLENBQUM7U0FDWDtRQUNELE9BQU8sTUFBTSxlQUFlLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzFFO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNUU0NsaWVudCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zdHMnO1xuXG5jb25zdCBNQVhfVEFHX1ZBTFVFX0xFTkdUSCA9IDI1NjtcbmNvbnN0IFNBTklUSVpBVElPTl9DSEFSQUNURVIgPSAnXyc7XG5cbmxldCBzdHNjbGllbnQ6IFNUU0NsaWVudCB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0c0NsaWVudChyZWdpb246IHN0cmluZywgYWdlbnQ/OiBzdHJpbmcpIHtcbiAgaWYgKCFzdHNjbGllbnQpIHtcbiAgICBzdHNjbGllbnQgPSBuZXcgU1RTQ2xpZW50KHtcbiAgICAgIHJlZ2lvbixcbiAgICAgIGN1c3RvbVVzZXJBZ2VudDogYWdlbnQsXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHN0c2NsaWVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplR2l0aHViQWN0b3IoYWN0b3I6IHN0cmluZykge1xuICAvLyBJbiBzb21lIGNpcmN1bXN0YW5jZXMgdGhlIGFjdG9yIG1heSBjb250YWluIHNxdWFyZSBicmFja2V0cy4gRm9yIGV4YW1wbGUsIGlmIHRoZXkncmUgYSBib3QgKCdbYm90XScpXG4gIC8vIFNxdWFyZSBicmFja2V0cyBhcmUgbm90IGFsbG93ZWQgaW4gQVdTIHNlc3Npb24gdGFnc1xuICByZXR1cm4gYWN0b3IucmVwbGFjZSgvXFxbfFxcXS9nLCBTQU5JVElaQVRJT05fQ0hBUkFDVEVSKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplR2l0aHViV29ya2Zsb3dOYW1lKG5hbWU6IHN0cmluZykge1xuICAvLyBXb3JrZmxvdyBuYW1lcyBjYW4gYmUgYWxtb3N0IGFueSB2YWxpZCBVVEYtOCBzdHJpbmcsIGJ1dCB0YWdzIGFyZSBtb3JlIHJlc3RyaWN0aXZlLlxuICAvLyBUaGlzIHJlcGxhY2VzIGFueXRoaW5nIG5vdCBjb25mb3JtaW5nIHRvIHRoZSB0YWcgcmVzdHJpY3Rpb25zIGJ5IGludmVydGluZyB0aGUgcmVndWxhciBleHByZXNzaW9uLlxuICAvLyBTZWUgdGhlIEFXUyBkb2N1bWVudGF0aW9uIGZvciBjb25zdHJhaW50IHNwZWNpZmljcyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vU1RTL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1RhZy5odG1sLlxuICBjb25zdCBuYW1lV2l0aG91dFNwZWNpYWxDaGFyYWN0ZXJzID0gbmFtZS5yZXBsYWNlKC9bXlxccHtMfVxccHtafVxccHtOfV86Lz0rLi1ALV0vZ3UsIFNBTklUSVpBVElPTl9DSEFSQUNURVIpO1xuICBjb25zdCBuYW1lVHJ1bmNhdGVkID0gbmFtZVdpdGhvdXRTcGVjaWFsQ2hhcmFjdGVycy5zbGljZSgwLCBNQVhfVEFHX1ZBTFVFX0xFTkdUSCk7XG4gIHJldHVybiBuYW1lVHJ1bmNhdGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXJyb3JNZXNzYWdlKGVycm9yOiB1bmtub3duKSB7XG4gIHJldHVybiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0RlZmluZWQ8VD4oaTogVCB8IHVuZGVmaW5lZCB8IG51bGwpOiBpIGlzIFQge1xuICByZXR1cm4gaSAhPT0gdW5kZWZpbmVkICYmIGkgIT09IG51bGw7XG59XG5cbmZ1bmN0aW9uIHNsZWVwKG1zOiBudW1iZXIpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKSk7XG59XG5cbi8vIHJldHJ5QW5kQmFja29mZiByZXRyaWVzIHdpdGggZXhwb25lbnRpYWwgYmFja29mZiB0aGUgcHJvbWlzZSBpZiB0aGUgZXJyb3IgaXNSZXRyeWFibGUgdXB0byBtYXhSZXRyaWVzIHRpbWUuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmV0cnlBbmRCYWNrb2ZmPFQ+KFxuICBmbjogKCkgPT4gUHJvbWlzZTxUPixcbiAgaXNSZXRyeWFibGU6IGJvb2xlYW4sXG4gIHJldHJpZXMgPSAwLFxuICBtYXhSZXRyaWVzID0gMTIsXG4gIGJhc2UgPSA1MFxuKTogUHJvbWlzZTxUPiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IGZuKCk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGlmICghaXNSZXRyeWFibGUpIHtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gICAgLy8gSXQncyByZXRyeWFibGUsIHNvIHNsZWVwIGFuZCByZXRyeS5cbiAgICBhd2FpdCBzbGVlcChNYXRoLnJhbmRvbSgpICogKE1hdGgucG93KDIsIHJldHJpZXMpICogYmFzZSkpO1xuICAgIHJldHJpZXMgKz0gMTtcbiAgICBpZiAocmV0cmllcyA9PT0gbWF4UmV0cmllcykge1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgICByZXR1cm4gYXdhaXQgcmV0cnlBbmRCYWNrb2ZmKGZuLCBpc1JldHJ5YWJsZSwgcmV0cmllcywgbWF4UmV0cmllcywgYmFzZSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file +exports.retryAndBackoff = retryAndBackoff; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUFnRDtBQUVoRCxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztBQUNqQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztBQUVuQyxJQUFJLFNBQWdDLENBQUM7QUFFckMsU0FBZ0IsWUFBWSxDQUFDLE1BQWMsRUFBRSxLQUFjO0lBQ3pELElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxTQUFTLEdBQUcsSUFBSSxzQkFBUyxDQUFDO1lBQ3hCLE1BQU07WUFDTixlQUFlLEVBQUUsS0FBSztTQUN2QixDQUFDLENBQUM7S0FDSjtJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFSRCxvQ0FRQztBQUVELFNBQWdCLG1CQUFtQixDQUFDLEtBQWE7SUFDL0MsdUdBQXVHO0lBQ3ZHLHNEQUFzRDtJQUN0RCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLHNCQUFzQixDQUFDLENBQUM7QUFDekQsQ0FBQztBQUpELGtEQUlDO0FBRUQsU0FBZ0IsMEJBQTBCLENBQUMsSUFBWTtJQUNyRCxzRkFBc0Y7SUFDdEYscUdBQXFHO0lBQ3JHLHVIQUF1SDtJQUN2SCxNQUFNLDRCQUE0QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsK0JBQStCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztJQUMzRyxNQUFNLGFBQWEsR0FBRyw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDbEYsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQztBQVBELGdFQU9DO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLEtBQWM7SUFDekMsT0FBTyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUZELG9DQUVDO0FBRUQsU0FBZ0IsU0FBUyxDQUFJLENBQXVCO0lBQ2xELE9BQU8sQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDO0FBQ3ZDLENBQUM7QUFGRCw4QkFFQztBQUVELFNBQVMsS0FBSyxDQUFDLEVBQVU7SUFDdkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFFRCw4R0FBOEc7QUFDdkcsS0FBSyxVQUFVLGVBQWUsQ0FDbkMsRUFBb0IsRUFDcEIsV0FBb0IsRUFDcEIsT0FBTyxHQUFHLENBQUMsRUFDWCxVQUFVLEdBQUcsRUFBRSxFQUNmLElBQUksR0FBRyxFQUFFO0lBRVQsSUFBSTtRQUNGLE9BQU8sTUFBTSxFQUFFLEVBQUUsQ0FBQztLQUNuQjtJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1osSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixNQUFNLEdBQUcsQ0FBQztTQUNYO1FBQ0Qsc0NBQXNDO1FBQ3RDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDM0QsT0FBTyxJQUFJLENBQUMsQ0FBQztRQUNiLElBQUksT0FBTyxLQUFLLFVBQVUsRUFBRTtZQUMxQixNQUFNLEdBQUcsQ0FBQztTQUNYO1FBQ0QsT0FBTyxNQUFNLGVBQWUsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDMUU7QUFDSCxDQUFDO0FBckJELDBDQXFCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNUU0NsaWVudCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zdHMnO1xuXG5jb25zdCBNQVhfVEFHX1ZBTFVFX0xFTkdUSCA9IDI1NjtcbmNvbnN0IFNBTklUSVpBVElPTl9DSEFSQUNURVIgPSAnXyc7XG5cbmxldCBzdHNjbGllbnQ6IFNUU0NsaWVudCB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0c0NsaWVudChyZWdpb246IHN0cmluZywgYWdlbnQ/OiBzdHJpbmcpIHtcbiAgaWYgKCFzdHNjbGllbnQpIHtcbiAgICBzdHNjbGllbnQgPSBuZXcgU1RTQ2xpZW50KHtcbiAgICAgIHJlZ2lvbixcbiAgICAgIGN1c3RvbVVzZXJBZ2VudDogYWdlbnQsXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHN0c2NsaWVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplR2l0aHViQWN0b3IoYWN0b3I6IHN0cmluZykge1xuICAvLyBJbiBzb21lIGNpcmN1bXN0YW5jZXMgdGhlIGFjdG9yIG1heSBjb250YWluIHNxdWFyZSBicmFja2V0cy4gRm9yIGV4YW1wbGUsIGlmIHRoZXkncmUgYSBib3QgKCdbYm90XScpXG4gIC8vIFNxdWFyZSBicmFja2V0cyBhcmUgbm90IGFsbG93ZWQgaW4gQVdTIHNlc3Npb24gdGFnc1xuICByZXR1cm4gYWN0b3IucmVwbGFjZSgvXFxbfFxcXS9nLCBTQU5JVElaQVRJT05fQ0hBUkFDVEVSKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplR2l0aHViV29ya2Zsb3dOYW1lKG5hbWU6IHN0cmluZykge1xuICAvLyBXb3JrZmxvdyBuYW1lcyBjYW4gYmUgYWxtb3N0IGFueSB2YWxpZCBVVEYtOCBzdHJpbmcsIGJ1dCB0YWdzIGFyZSBtb3JlIHJlc3RyaWN0aXZlLlxuICAvLyBUaGlzIHJlcGxhY2VzIGFueXRoaW5nIG5vdCBjb25mb3JtaW5nIHRvIHRoZSB0YWcgcmVzdHJpY3Rpb25zIGJ5IGludmVydGluZyB0aGUgcmVndWxhciBleHByZXNzaW9uLlxuICAvLyBTZWUgdGhlIEFXUyBkb2N1bWVudGF0aW9uIGZvciBjb25zdHJhaW50IHNwZWNpZmljcyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vU1RTL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1RhZy5odG1sLlxuICBjb25zdCBuYW1lV2l0aG91dFNwZWNpYWxDaGFyYWN0ZXJzID0gbmFtZS5yZXBsYWNlKC9bXlxccHtMfVxccHtafVxccHtOfV86Lz0rLi1ALV0vZ3UsIFNBTklUSVpBVElPTl9DSEFSQUNURVIpO1xuICBjb25zdCBuYW1lVHJ1bmNhdGVkID0gbmFtZVdpdGhvdXRTcGVjaWFsQ2hhcmFjdGVycy5zbGljZSgwLCBNQVhfVEFHX1ZBTFVFX0xFTkdUSCk7XG4gIHJldHVybiBuYW1lVHJ1bmNhdGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXJyb3JNZXNzYWdlKGVycm9yOiB1bmtub3duKSB7XG4gIHJldHVybiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0RlZmluZWQ8VD4oaTogVCB8IHVuZGVmaW5lZCB8IG51bGwpOiBpIGlzIFQge1xuICByZXR1cm4gaSAhPT0gdW5kZWZpbmVkICYmIGkgIT09IG51bGw7XG59XG5cbmZ1bmN0aW9uIHNsZWVwKG1zOiBudW1iZXIpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKSk7XG59XG5cbi8vIHJldHJ5QW5kQmFja29mZiByZXRyaWVzIHdpdGggZXhwb25lbnRpYWwgYmFja29mZiB0aGUgcHJvbWlzZSBpZiB0aGUgZXJyb3IgaXNSZXRyeWFibGUgdXB0byBtYXhSZXRyaWVzIHRpbWUuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmV0cnlBbmRCYWNrb2ZmPFQ+KFxuICBmbjogKCkgPT4gUHJvbWlzZTxUPixcbiAgaXNSZXRyeWFibGU6IGJvb2xlYW4sXG4gIHJldHJpZXMgPSAwLFxuICBtYXhSZXRyaWVzID0gMTIsXG4gIGJhc2UgPSA1MFxuKTogUHJvbWlzZTxUPiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IGZuKCk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGlmICghaXNSZXRyeWFibGUpIHtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gICAgLy8gSXQncyByZXRyeWFibGUsIHNvIHNsZWVwIGFuZCByZXRyeS5cbiAgICBhd2FpdCBzbGVlcChNYXRoLnJhbmRvbSgpICogKE1hdGgucG93KDIsIHJldHJpZXMpICogYmFzZSkpO1xuICAgIHJldHJpZXMgKz0gMTtcbiAgICBpZiAocmV0cmllcyA9PT0gbWF4UmV0cmllcykge1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgICByZXR1cm4gYXdhaXQgcmV0cnlBbmRCYWNrb2ZmKGZuLCBpc1JldHJ5YWJsZSwgcmV0cmllcywgbWF4UmV0cmllcywgYmFzZSk7XG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 1132eff..c5cfd77 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,7 +1,33 @@ -import * as core from '@actions/core'; -import { GetCallerIdentityCommand, STSClient } from '@aws-sdk/client-sts'; -import { assumeRole } from './assumeRole.js'; -import { errorMessage, getStsClient, retryAndBackoff } from './helpers.js'; +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.run = void 0; +const core = __importStar(require("@actions/core")); +const client_sts_1 = require("@aws-sdk/client-sts"); +const assumeRole_1 = require("./assumeRole"); +const helpers_1 = require("./helpers"); // Use 1hr as role duration when using session token or OIDC // Otherwise, use the max duration of GitHub action (6hr) const MAX_ACTION_RUNTIME = 6 * 3600; @@ -44,8 +70,8 @@ function exportRegion(region) { } async function exportAccountId(region, maskAccountId) { // Get the AWS account ID - const client = getStsClient(region, USER_AGENT); - const identity = (await client.send(new GetCallerIdentityCommand({}))).Account; + const client = (0, helpers_1.getStsClient)(region, USER_AGENT); + const identity = (await client.send(new client_sts_1.GetCallerIdentityCommand({}))).Account; if (!identity) { throw new Error('Could not get Account ID from STS. Did you set credentials?'); } @@ -67,7 +93,7 @@ function loadCredentials() { // // However, in V3 of the JavaScript SDK, there is no longer a global configuration object: all configuration, // including credentials, are instantiated per client and not merged back into global state. - const client = new STSClient({}); + const client = new client_sts_1.STSClient({}); return client.config.credentials(); } async function validateCredentials(expectedAccessKeyId) { @@ -79,14 +105,14 @@ async function validateCredentials(expectedAccessKeyId) { } } catch (error) { - throw new Error(`Credentials could not be loaded, please check your action inputs: ${errorMessage(error)}`); + throw new Error(`Credentials could not be loaded, please check your action inputs: ${(0, helpers_1.errorMessage)(error)}`); } const actualAccessKeyId = credentials.accessKeyId; if (expectedAccessKeyId && expectedAccessKeyId !== actualAccessKeyId) { throw new Error('Unexpected failure: Credentials loaded by the SDK do not match the access key ID configured by the action'); } } -export async function run() { +async function run() { try { // Get inputs const AccessKeyId = core.getInput('aws-access-key-id', { required: false }); @@ -149,8 +175,8 @@ export async function run() { } // Get role credentials if configured to do so if (roleToAssume) { - const roleCredentials = await retryAndBackoff(async () => { - return assumeRole({ + const roleCredentials = await (0, helpers_1.retryAndBackoff)(async () => { + return (0, assumeRole_1.assumeRole)({ sourceAccountId, region, roleToAssume, @@ -174,14 +200,19 @@ export async function run() { } } catch (error) { - core.setFailed(errorMessage(error)); + core.setFailed((0, helpers_1.errorMessage)(error)); const showStackTrace = process.env.SHOW_STACK_TRACE; if (showStackTrace === 'true') { throw error; } } } +exports.run = run; if (require.main === module) { - await run(); + (async () => { + await run(); + })().catch((error) => { + core.setFailed(error.message); + }); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLElBQUksTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxFQUFlLHdCQUF3QixFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFM0UsNERBQTREO0FBQzVELHlEQUF5RDtBQUN6RCxNQUFNLGtCQUFrQixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDcEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUM7QUFDbkMsTUFBTSxvQ0FBb0MsR0FBRyxJQUFJLENBQUM7QUFDbEQsTUFBTSxVQUFVLEdBQUcsOENBQThDLENBQUM7QUFDbEUsTUFBTSxpQkFBaUIsR0FBRyxlQUFlLENBQUM7QUFDMUMsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDO0FBRXJDLFNBQVMsaUJBQWlCLENBQUMsS0FBNEI7SUFDckQsMEZBQTBGO0lBQzFGLHVFQUF1RTtJQUV2RSxxQkFBcUI7SUFDckIsa0VBQWtFO0lBQ2xFLElBQUksS0FBSyxFQUFFLFdBQVcsRUFBRTtRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUM3RDtJQUVELHlCQUF5QjtJQUN6QixrSEFBa0g7SUFDbEgsSUFBSSxLQUFLLEVBQUUsZUFBZSxFQUFFO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBQ3JFO0lBRUQscUJBQXFCO0lBQ3JCLHNHQUFzRztJQUN0RyxJQUFJLEtBQUssRUFBRSxZQUFZLEVBQUU7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDOUQ7U0FBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUU7UUFDeEMsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDOUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsTUFBYztJQUNsQyxxQ0FBcUM7SUFDckMsK0NBQStDO0lBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVELEtBQUssVUFBVSxlQUFlLENBQUMsTUFBYyxFQUFFLGFBQXVCO0lBQ3BFLHlCQUF5QjtJQUN6QixNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksd0JBQXdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUMvRSxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyw2REFBNkQsQ0FBQyxDQUFDO0tBQ2hGO0lBQ0QsSUFBSSxhQUFhLEVBQUU7UUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUMxQjtTQUFNO1FBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztLQUM1QztJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFTLGVBQWU7SUFDdEIsc0dBQXNHO0lBQ3RHLEVBQUU7SUFDRixxSEFBcUg7SUFDckgsNEdBQTRHO0lBQzVHLDJHQUEyRztJQUMzRyx5QkFBeUI7SUFDekIsRUFBRTtJQUNGLDZHQUE2RztJQUM3Ryw0RkFBNEY7SUFFNUYsTUFBTSxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ3JDLENBQUM7QUFFRCxLQUFLLFVBQVUsbUJBQW1CLENBQUMsbUJBQTRCO0lBQzdELElBQUksV0FBVyxDQUFDO0lBQ2hCLElBQUk7UUFDRixXQUFXLEdBQUcsTUFBTSxlQUFlLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRTtZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7U0FDbEU7S0FDRjtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxRUFBcUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUM3RztJQUVELE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQztJQUVsRCxJQUFJLG1CQUFtQixJQUFJLG1CQUFtQixLQUFLLGlCQUFpQixFQUFFO1FBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQ2IsMkdBQTJHLENBQzVHLENBQUM7S0FDSDtBQUNILENBQUM7QUFDRCxNQUFNLENBQUMsS0FBSyxVQUFVLEdBQUc7SUFDdkIsSUFBSTtRQUNGLGFBQWE7UUFDYixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDNUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoRSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDcEYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMvRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDN0UsTUFBTSxhQUFhLEdBQ2pCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU0sQ0FBQztRQUNqRyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDMUUsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsSUFBSSxpQkFBaUIsQ0FBQztRQUNyRyxNQUFNLDJCQUEyQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsMkJBQTJCLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUM7UUFDL0csTUFBTSxzQkFBc0IsR0FBRywyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsS0FBSyxNQUFNLENBQUM7UUFDcEYsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHlCQUF5QixFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFM0YsNkdBQTZHO1FBQzdHLG9HQUFvRztRQUNwRyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsRUFBRTtZQUNqQywyR0FBMkc7WUFDM0csa0dBQWtHO1lBQ2xHLHdHQUF3RztZQUN4RywwR0FBMEc7WUFDMUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDakgsQ0FBQyxDQUFDO1FBQ0YsTUFBTSxtQkFBbUIsR0FDdkIsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNyRSxDQUFDLFlBQVksSUFBSSxxQkFBcUIsQ0FBQztZQUN2QyxDQUFDLHFCQUFxQixFQUFFLElBQUksb0NBQW9DLENBQUM7WUFDakUsa0JBQWtCLENBQUM7UUFFckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUNuRDtRQUVELFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyQix1REFBdUQ7UUFDdkQsMEVBQTBFO1FBQzFFLHVFQUF1RTtRQUN2RSx3RUFBd0U7UUFDeEUseUJBQXlCO1FBQ3pCLElBQUksV0FBVyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDO2FBQ2hHO1lBRUQsaUJBQWlCLENBQUMsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7U0FDbkU7UUFFRCw2REFBNkQ7UUFDN0QsMEVBQTBFO1FBQzFFLGlFQUFpRTtRQUNqRSxJQUFJLGVBQXVCLENBQUM7UUFDNUIsSUFBSSxnQkFBd0IsQ0FBQztRQUM3QixJQUFJLHFCQUFxQixFQUFFLEVBQUU7WUFDM0IsZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25ELHlGQUF5RjtTQUMxRjthQUFNO1lBQ0wsd0VBQXdFO1lBQ3hFLDBFQUEwRTtZQUMxRSxtRkFBbUY7WUFDbkYsMkVBQTJFO1lBQzNFLGdFQUFnRTtZQUNoRSxNQUFNLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRXZDLGVBQWUsR0FBRyxNQUFNLGVBQWUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7U0FDaEU7UUFFRCw4Q0FBOEM7UUFDOUMsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxlQUFlLEdBQUcsTUFBTSxlQUFlLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ3ZELE9BQU8sVUFBVSxDQUFDO29CQUNoQixlQUFlO29CQUNmLE1BQU07b0JBQ04sWUFBWTtvQkFDWixjQUFjO29CQUNkLG1CQUFtQjtvQkFDbkIsZUFBZTtvQkFDZixzQkFBc0I7b0JBQ3RCLG9CQUFvQjtvQkFDcEIsZ0JBQWdCO2lCQUNqQixDQUFDLENBQUM7WUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDVCxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0MsNERBQTREO1lBQzVELHlFQUF5RTtZQUN6RSw2REFBNkQ7WUFDN0Qsc0ZBQXNGO1lBQ3RGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsSUFBSSxXQUFXLEVBQUU7Z0JBQzlDLE1BQU0sbUJBQW1CLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQzthQUNyRTtZQUNELE1BQU0sZUFBZSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztTQUM5QztLQUNGO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXBDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUM7UUFFcEQsSUFBSSxjQUFjLEtBQUssTUFBTSxFQUFFO1lBQzdCLE1BQU0sS0FBSyxDQUFDO1NBQ2I7S0FDRjtBQUNILENBQUM7QUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO0lBQzNCLE1BQU0sR0FBRyxFQUFFLENBQUM7Q0FDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvcmUgZnJvbSAnQGFjdGlvbnMvY29yZSc7XG5pbXBvcnQgeyBDcmVkZW50aWFscywgR2V0Q2FsbGVySWRlbnRpdHlDb21tYW5kLCBTVFNDbGllbnQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtc3RzJztcbmltcG9ydCB7IGFzc3VtZVJvbGUgfSBmcm9tICcuL2Fzc3VtZVJvbGUuanMnO1xuaW1wb3J0IHsgZXJyb3JNZXNzYWdlLCBnZXRTdHNDbGllbnQsIHJldHJ5QW5kQmFja29mZiB9IGZyb20gJy4vaGVscGVycy5qcyc7XG5cbi8vIFVzZSAxaHIgYXMgcm9sZSBkdXJhdGlvbiB3aGVuIHVzaW5nIHNlc3Npb24gdG9rZW4gb3IgT0lEQ1xuLy8gT3RoZXJ3aXNlLCB1c2UgdGhlIG1heCBkdXJhdGlvbiBvZiBHaXRIdWIgYWN0aW9uICg2aHIpXG5jb25zdCBNQVhfQUNUSU9OX1JVTlRJTUUgPSA2ICogMzYwMDtcbmNvbnN0IFNFU1NJT05fUk9MRV9EVVJBVElPTiA9IDM2MDA7XG5jb25zdCBERUZBVUxUX1JPTEVfRFVSQVRJT05fRk9SX09JRENfUk9MRVMgPSAzNjAwO1xuY29uc3QgVVNFUl9BR0VOVCA9ICdjb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzLWZvci1naXRodWItYWN0aW9ucyc7XG5jb25zdCBST0xFX1NFU1NJT05fTkFNRSA9ICdHaXRIdWJBY3Rpb25zJztcbmNvbnN0IFJFR0lPTl9SRUdFWCA9IC9eW2EtejAtOS1dKyQvZztcblxuZnVuY3Rpb24gZXhwb3J0Q3JlZGVudGlhbHMoY3JlZHM/OiBQYXJ0aWFsPENyZWRlbnRpYWxzPikge1xuICAvLyBDb25maWd1cmUgdGhlIEFXUyBDTEkgYW5kIEFXUyBTREtzIHVzaW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyBhbmQgc2V0IHRoZW0gYXMgc2VjcmV0cy5cbiAgLy8gU2V0dGluZyB0aGUgY3JlZGVudGlhbHMgYXMgc2VjcmV0cyBtYXNrcyB0aGVtIGluIEdpdGh1YiBBY3Rpb25zIGxvZ3NcblxuICAvLyBBV1NfQUNDRVNTX0tFWV9JRDpcbiAgLy8gU3BlY2lmaWVzIGFuIEFXUyBhY2Nlc3Mga2V5IGFzc29jaWF0ZWQgd2l0aCBhbiBJQU0gdXNlciBvciByb2xlXG4gIGlmIChjcmVkcz8uQWNjZXNzS2V5SWQpIHtcbiAgICBjb3JlLnNldFNlY3JldChjcmVkcy5BY2Nlc3NLZXlJZCk7XG4gICAgY29yZS5leHBvcnRWYXJpYWJsZSgnQVdTX0FDQ0VTU19LRVlfSUQnLCBjcmVkcy5BY2Nlc3NLZXlJZCk7XG4gIH1cblxuICAvLyBBV1NfU0VDUkVUX0FDQ0VTU19LRVk6XG4gIC8vIFNwZWNpZmllcyB0aGUgc2VjcmV0IGtleSBhc3NvY2lhdGVkIHdpdGggdGhlIGFjY2VzcyBrZXkuIFRoaXMgaXMgZXNzZW50aWFsbHkgdGhlIFwicGFzc3dvcmRcIiBmb3IgdGhlIGFjY2VzcyBrZXkuXG4gIGlmIChjcmVkcz8uU2VjcmV0QWNjZXNzS2V5KSB7XG4gICAgY29yZS5zZXRTZWNyZXQoY3JlZHMuU2VjcmV0QWNjZXNzS2V5KTtcbiAgICBjb3JlLmV4cG9ydFZhcmlhYmxlKCdBV1NfU0VDUkVUX0FDQ0VTU19LRVknLCBjcmVkcy5TZWNyZXRBY2Nlc3NLZXkpO1xuICB9XG5cbiAgLy8gQVdTX1NFU1NJT05fVE9LRU46XG4gIC8vIFNwZWNpZmllcyB0aGUgc2Vzc2lvbiB0b2tlbiB2YWx1ZSB0aGF0IGlzIHJlcXVpcmVkIGlmIHlvdSBhcmUgdXNpbmcgdGVtcG9yYXJ5IHNlY3VyaXR5IGNyZWRlbnRpYWxzLlxuICBpZiAoY3JlZHM/LlNlc3Npb25Ub2tlbikge1xuICAgIGNvcmUuc2V0U2VjcmV0KGNyZWRzLlNlc3Npb25Ub2tlbik7XG4gICAgY29yZS5leHBvcnRWYXJpYWJsZSgnQVdTX1NFU1NJT05fVE9LRU4nLCBjcmVkcy5TZXNzaW9uVG9rZW4pO1xuICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52LkFXU19TRVNTSU9OX1RPS0VOKSB7XG4gICAgLy8gY2xlYXIgc2Vzc2lvbiB0b2tlbiBmcm9tIHByZXZpb3VzIGNyZWRlbnRpYWxzIGFjdGlvblxuICAgIGNvcmUuZXhwb3J0VmFyaWFibGUoJ0FXU19TRVNTSU9OX1RPS0VOJywgJycpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGV4cG9ydFJlZ2lvbihyZWdpb246IHN0cmluZykge1xuICAvLyBBV1NfREVGQVVMVF9SRUdJT04gYW5kIEFXU19SRUdJT046XG4gIC8vIFNwZWNpZmllcyB0aGUgQVdTIFJlZ2lvbiB0byBzZW5kIHJlcXVlc3RzIHRvXG4gIGNvcmUuZXhwb3J0VmFyaWFibGUoJ0FXU19ERUZBVUxUX1JFR0lPTicsIHJlZ2lvbik7XG4gIGNvcmUuZXhwb3J0VmFyaWFibGUoJ0FXU19SRUdJT04nLCByZWdpb24pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBleHBvcnRBY2NvdW50SWQocmVnaW9uOiBzdHJpbmcsIG1hc2tBY2NvdW50SWQ/OiBib29sZWFuKSB7XG4gIC8vIEdldCB0aGUgQVdTIGFjY291bnQgSURcbiAgY29uc3QgY2xpZW50ID0gZ2V0U3RzQ2xpZW50KHJlZ2lvbiwgVVNFUl9BR0VOVCk7XG4gIGNvbnN0IGlkZW50aXR5ID0gKGF3YWl0IGNsaWVudC5zZW5kKG5ldyBHZXRDYWxsZXJJZGVudGl0eUNvbW1hbmQoe30pKSkuQWNjb3VudDtcbiAgaWYgKCFpZGVudGl0eSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGdldCBBY2NvdW50IElEIGZyb20gU1RTLiBEaWQgeW91IHNldCBjcmVkZW50aWFscz8nKTtcbiAgfVxuICBpZiAobWFza0FjY291bnRJZCkge1xuICAgIGNvcmUuc2V0U2VjcmV0KGlkZW50aXR5KTtcbiAgfSBlbHNlIHtcbiAgICBjb3JlLnNldE91dHB1dCgnYXdzLWFjY291bnQtaWQnLCBpZGVudGl0eSk7XG4gIH1cbiAgcmV0dXJuIGlkZW50aXR5O1xufVxuXG5mdW5jdGlvbiBsb2FkQ3JlZGVudGlhbHMoKSB7XG4gIC8vIFByZXZpb3VzbHksIHRoaXMgZnVuY3Rpb24gZm9yY2VkIHRoZSBTREsgdG8gcmUtcmVzb2x2ZSBjcmVkZW50aWFscyB3aXRoIHRoZSBkZWZhdWx0IHByb3ZpZGVyIGNoYWluLlxuICAvL1xuICAvLyBUaGlzIGFjdGlvbiB0eXBpY2FsbHkgc2V0cyBjcmVkZW50aWFscyBpbiB0aGUgZW52aXJvbm1lbnQgdmlhIGVudmlyb25tZW50IHZhcmlhYmxlcy4gVGhlIFNESyBuZXZlciByZWZyZXNoZWQgdGhvc2VcbiAgLy8gZW52LXZhci1iYXNlZCBjcmVkZW50aWFscyBhZnRlciBpbml0aWFsIGxvYWQuIEluIGNhc2UgdGhlcmUgd2VyZSBhbHJlYWR5IGVudi12YXIgY3JlZHMgc2V0IGluIHRoZSBhY3Rpb25zXG4gIC8vIGVudmlyb25tZW50IHdoZW4gdGhpcyBhY3Rpb24gbG9hZGVkLCB0aGlzIGFjdGlvbiBuZWVkZWQgdG8gcmVmcmVzaCB0aGUgU0RLIGNyZWRzIGFmdGVyIG92ZXJ3cml0aW5nIHRob3NlXG4gIC8vIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgLy9cbiAgLy8gSG93ZXZlciwgaW4gVjMgb2YgdGhlIEphdmFTY3JpcHQgU0RLLCB0aGVyZSBpcyBubyBsb25nZXIgYSBnbG9iYWwgY29uZmlndXJhdGlvbiBvYmplY3Q6IGFsbCBjb25maWd1cmF0aW9uLFxuICAvLyBpbmNsdWRpbmcgY3JlZGVudGlhbHMsIGFyZSBpbnN0YW50aWF0ZWQgcGVyIGNsaWVudCBhbmQgbm90IG1lcmdlZCBiYWNrIGludG8gZ2xvYmFsIHN0YXRlLlxuXG4gIGNvbnN0IGNsaWVudCA9IG5ldyBTVFNDbGllbnQoe30pO1xuICByZXR1cm4gY2xpZW50LmNvbmZpZy5jcmVkZW50aWFscygpO1xufVxuXG5hc3luYyBmdW5jdGlvbiB2YWxpZGF0ZUNyZWRlbnRpYWxzKGV4cGVjdGVkQWNjZXNzS2V5SWQ/OiBzdHJpbmcpIHtcbiAgbGV0IGNyZWRlbnRpYWxzO1xuICB0cnkge1xuICAgIGNyZWRlbnRpYWxzID0gYXdhaXQgbG9hZENyZWRlbnRpYWxzKCk7XG4gICAgaWYgKCFjcmVkZW50aWFscy5hY2Nlc3NLZXlJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBY2Nlc3Mga2V5IElEIGVtcHR5IGFmdGVyIGxvYWRpbmcgY3JlZGVudGlhbHMnKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDcmVkZW50aWFscyBjb3VsZCBub3QgYmUgbG9hZGVkLCBwbGVhc2UgY2hlY2sgeW91ciBhY3Rpb24gaW5wdXRzOiAke2Vycm9yTWVzc2FnZShlcnJvcil9YCk7XG4gIH1cblxuICBjb25zdCBhY3R1YWxBY2Nlc3NLZXlJZCA9IGNyZWRlbnRpYWxzLmFjY2Vzc0tleUlkO1xuXG4gIGlmIChleHBlY3RlZEFjY2Vzc0tleUlkICYmIGV4cGVjdGVkQWNjZXNzS2V5SWQgIT09IGFjdHVhbEFjY2Vzc0tleUlkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ1VuZXhwZWN0ZWQgZmFpbHVyZTogQ3JlZGVudGlhbHMgbG9hZGVkIGJ5IHRoZSBTREsgZG8gbm90IG1hdGNoIHRoZSBhY2Nlc3Mga2V5IElEIGNvbmZpZ3VyZWQgYnkgdGhlIGFjdGlvbidcbiAgICApO1xuICB9XG59XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuKCkge1xuICB0cnkge1xuICAgIC8vIEdldCBpbnB1dHNcbiAgICBjb25zdCBBY2Nlc3NLZXlJZCA9IGNvcmUuZ2V0SW5wdXQoJ2F3cy1hY2Nlc3Mta2V5LWlkJywgeyByZXF1aXJlZDogZmFsc2UgfSk7XG4gICAgY29uc3QgYXVkaWVuY2UgPSBjb3JlLmdldElucHV0KCdhdWRpZW5jZScsIHsgcmVxdWlyZWQ6IGZhbHNlIH0pO1xuICAgIGNvbnN0IFNlY3JldEFjY2Vzc0tleSA9IGNvcmUuZ2V0SW5wdXQoJ2F3cy1zZWNyZXQtYWNjZXNzLWtleScsIHsgcmVxdWlyZWQ6IGZhbHNlIH0pO1xuICAgIGNvbnN0IHJlZ2lvbiA9IGNvcmUuZ2V0SW5wdXQoJ2F3cy1yZWdpb24nLCB7IHJlcXVpcmVkOiB0cnVlIH0pO1xuICAgIGNvbnN0IFNlc3Npb25Ub2tlbiA9IGNvcmUuZ2V0SW5wdXQoJ2F3cy1zZXNzaW9uLXRva2VuJywgeyByZXF1aXJlZDogZmFsc2UgfSk7XG4gICAgY29uc3QgbWFza0FjY291bnRJZCA9XG4gICAgICAoY29yZS5nZXRJbnB1dCgnbWFzay1hd3MtYWNjb3VudC1pZCcsIHsgcmVxdWlyZWQ6IGZhbHNlIH0pIHx8ICd0cnVlJykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnO1xuICAgIGNvbnN0IHJvbGVUb0Fzc3VtZSA9IGNvcmUuZ2V0SW5wdXQoJ3JvbGUtdG8tYXNzdW1lJywgeyByZXF1aXJlZDogZmFsc2UgfSk7XG4gICAgY29uc3Qgcm9sZUV4dGVybmFsSWQgPSBjb3JlLmdldElucHV0KCdyb2xlLWV4dGVybmFsLWlkJywgeyByZXF1aXJlZDogZmFsc2UgfSk7XG4gICAgY29uc3Qgcm9sZVNlc3Npb25OYW1lID0gY29yZS5nZXRJbnB1dCgncm9sZS1zZXNzaW9uLW5hbWUnLCB7IHJlcXVpcmVkOiBmYWxzZSB9KSB8fCBST0xFX1NFU1NJT05fTkFNRTtcbiAgICBjb25zdCByb2xlU2tpcFNlc3Npb25UYWdnaW5nSW5wdXQgPSBjb3JlLmdldElucHV0KCdyb2xlLXNraXAtc2Vzc2lvbi10YWdnaW5nJywgeyByZXF1aXJlZDogZmFsc2UgfSkgfHwgJ2ZhbHNlJztcbiAgICBjb25zdCByb2xlU2tpcFNlc3Npb25UYWdnaW5nID0gcm9sZVNraXBTZXNzaW9uVGFnZ2luZ0lucHV0LnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJztcbiAgICBjb25zdCB3ZWJJZGVudGl0eVRva2VuRmlsZSA9IGNvcmUuZ2V0SW5wdXQoJ3dlYi1pZGVudGl0eS10b2tlbi1maWxlJywgeyByZXF1aXJlZDogZmFsc2UgfSk7XG5cbiAgICAvLyBUaGlzIHdyYXBzIHRoZSBsb2dpYyBmb3IgZGVjaWRpbmcgaWYgd2Ugc2hvdWxkIHJlbHkgb24gdGhlIEdIIE9JREMgcHJvdmlkZXIgc2luY2Ugd2UgbWF5IG5lZWQgdG8gcmVmZXJlbmNlXG4gICAgLy8gdGhlIGRlY2lzaW9uIGluIGEgZmV3IGRpZmZlcmVubnQgcGxhY2VzLiBDb25zb2xpZGF0aW5nIGl0IGhlcmUgbWFrZXMgdGhlIGxvZ2ljIGNsZWFyZXIgZWxzZXdoZXJlLlxuICAgIGNvbnN0IHVzZUdpdEh1Yk9JRENQcm92aWRlciA9ICgpID0+IHtcbiAgICAgIC8vIFRoZSBhc3N1bXB0aW9uIGhlcmUgaXMgdGhhdCBzZWxmLWhvc3RlZCBydW5uZXJzIHdvbid0IGJlIHBvcHVsYXRpbmcgdGhlIGBBQ1RJT05TX0lEX1RPS0VOX1JFUVVFU1RfVE9LRU5gXG4gICAgICAvLyBlbnZpcm9ubWVudCB2YXJpYWJsZSBhbmQgdGhleSB3b24ndCBiZSBwcm92aWRpbmcgYSB3ZWIgaWRlbml0eSB0b2tlbiBmaWxlIG9yIGFjY2VzcyBrZXkgZWl0aGVyLlxuICAgICAgLy8gVjIgb2YgdGhlIGFjdGlvbiBtaWdodCByZWxheCB0aGlzIGEgYml0IGFuZCBjcmVhdGUgYW4gZXhwbGljaXQgcHJlY2VkZW5jZSBmb3IgdGhlc2Ugc28gdGhhdCBjdXN0b21lcnNcbiAgICAgIC8vIGNhbiBwcm92aWRlIGFzIG11Y2ggaW5mbyBhcyB0aGV5IHdhbnQgYW5kIHdlIHdpbGwgZm9sbG93IHRoZSBlc3RhYmxpc2hlZCBjcmVkZW50aWFsIGxvYWRpbmcgcHJlY2VkZW5jZS5cbiAgICAgIHJldHVybiAhIShyb2xlVG9Bc3N1bWUgJiYgcHJvY2Vzcy5lbnYuQUNUSU9OU19JRF9UT0tFTl9SRVFVRVNUX1RPS0VOICYmICFBY2Nlc3NLZXlJZCAmJiAhd2ViSWRlbnRpdHlUb2tlbkZpbGUpO1xuICAgIH07XG4gICAgY29uc3Qgcm9sZUR1cmF0aW9uU2Vjb25kcyA9XG4gICAgICBwYXJzZUludChjb3JlLmdldElucHV0KCdyb2xlLWR1cmF0aW9uLXNlY29uZHMnLCB7IHJlcXVpcmVkOiBmYWxzZSB9KSkgfHxcbiAgICAgIChTZXNzaW9uVG9rZW4gJiYgU0VTU0lPTl9ST0xFX0RVUkFUSU9OKSB8fFxuICAgICAgKHVzZUdpdEh1Yk9JRENQcm92aWRlcigpICYmIERFRkFVTFRfUk9MRV9EVVJBVElPTl9GT1JfT0lEQ19ST0xFUykgfHxcbiAgICAgIE1BWF9BQ1RJT05fUlVOVElNRTtcblxuICAgIGlmICghcmVnaW9uLm1hdGNoKFJFR0lPTl9SRUdFWCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUmVnaW9uIGlzIG5vdCB2YWxpZDogJHtyZWdpb259YCk7XG4gICAgfVxuXG4gICAgZXhwb3J0UmVnaW9uKHJlZ2lvbik7XG5cbiAgICAvLyBBbHdheXMgZXhwb3J0IHRoZSBzb3VyY2UgY3JlZGVudGlhbHMgYW5kIGFjY291bnQgSUQuXG4gICAgLy8gVGhlIFNUUyBjbGllbnQgZm9yIGNhbGxpbmcgQXNzdW1lUm9sZSBwdWxscyBjcmVkcyBmcm9tIHRoZSBlbnZpcm9ubWVudC5cbiAgICAvLyBQbHVzLCBpbiB0aGUgYXNzdW1lIHJvbGUgY2FzZSwgaWYgdGhlIEFzc3VtZVJvbGUgY2FsbCBmYWlscywgd2Ugd2FudFxuICAgIC8vIHRoZSBzb3VyY2UgY3JlZGVudGlhbHMgYW5kIGFjY291bnQgSUQgdG8gYWxyZWFkeSBiZSBtYXNrZWQgYXMgc2VjcmV0c1xuICAgIC8vIGluIGFueSBlcnJvciBtZXNzYWdlcy5cbiAgICBpZiAoQWNjZXNzS2V5SWQpIHtcbiAgICAgIGlmICghU2VjcmV0QWNjZXNzS2V5KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIidhd3Mtc2VjcmV0LWFjY2Vzcy1rZXknIG11c3QgYmUgcHJvdmlkZWQgaWYgJ2F3cy1hY2Nlc3Mta2V5LWlkJyBpcyBwcm92aWRlZFwiKTtcbiAgICAgIH1cblxuICAgICAgZXhwb3J0Q3JlZGVudGlhbHMoeyBBY2Nlc3NLZXlJZCwgU2VjcmV0QWNjZXNzS2V5LCBTZXNzaW9uVG9rZW4gfSk7XG4gICAgfVxuXG4gICAgLy8gQXR0ZW1wdCB0byBsb2FkIGNyZWRlbnRpYWxzIGZyb20gdGhlIEdpdEh1YiBPSURDIHByb3ZpZGVyLlxuICAgIC8vIElmIGEgdXNlciBwcm92aWRlcyBhbiBJQU0gUm9sZSBBcm4gYW5kIERPRVNOJ1QgcHJvdmlkZSBhbiBBY2Nlc3MgS2V5IElkXG4gICAgLy8gVGhlIG9ubHkgd2F5IHRvIGFzc3VtZSB0aGUgcm9sZSBpcyB2aWEgR2l0SHViJ3MgT0lEQyBwcm92aWRlci5cbiAgICBsZXQgc291cmNlQWNjb3VudElkOiBzdHJpbmc7XG4gICAgbGV0IHdlYklkZW50aXR5VG9rZW46IHN0cmluZztcbiAgICBpZiAodXNlR2l0SHViT0lEQ1Byb3ZpZGVyKCkpIHtcbiAgICAgIHdlYklkZW50aXR5VG9rZW4gPSBhd2FpdCBjb3JlLmdldElEVG9rZW4oYXVkaWVuY2UpO1xuICAgICAgLy8gV2UgZG9uJ3QgdmFsaWRhdGUgdGhlIGNyZWRlbnRpYWxzIGhlcmUgYmVjYXVzZSB3ZSBkb24ndCBoYXZlIHRoZW0geWV0IHdoZW4gdXNpbmcgT0lEQy5cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVnYXJkbGVzcyBvZiB3aGV0aGVyIGFueSBzb3VyY2UgY3JlZGVudGlhbHMgd2VyZSBwcm92aWRlZCBhcyBpbnB1dHMsXG4gICAgICAvLyB2YWxpZGF0ZSB0aGF0IHRoZSBTREsgY2FuIGFjdHVhbGx5IHBpY2sgdXAgY3JlZGVudGlhbHMuICBUaGlzIHZhbGlkYXRlc1xuICAgICAgLy8gY2FzZXMgd2hlcmUgdGhpcyBhY3Rpb24gaXMgb24gYSBzZWxmLWhvc3RlZCBydW5uZXIgdGhhdCBkb2Vzbid0IGhhdmUgY3JlZGVudGlhbHNcbiAgICAgIC8vIGNvbmZpZ3VyZWQgY29ycmVjdGx5LCBhbmQgY2FzZXMgd2hlcmUgdGhlIHVzZXIgaW50ZW5kZWQgdG8gcHJvdmlkZSBpbnB1dFxuICAgICAgLy8gY3JlZGVudGlhbHMgYnV0IHRoZSBzZWNyZXRzIGlucHV0cyByZXNvbHZlZCB0byBlbXB0eSBzdHJpbmdzLlxuICAgICAgYXdhaXQgdmFsaWRhdGVDcmVkZW50aWFscyhBY2Nlc3NLZXlJZCk7XG5cbiAgICAgIHNvdXJjZUFjY291bnRJZCA9IGF3YWl0IGV4cG9ydEFjY291bnRJZChyZWdpb24sIG1hc2tBY2NvdW50SWQpO1xuICAgIH1cblxuICAgIC8vIEdldCByb2xlIGNyZWRlbnRpYWxzIGlmIGNvbmZpZ3VyZWQgdG8gZG8gc29cbiAgICBpZiAocm9sZVRvQXNzdW1lKSB7XG4gICAgICBjb25zdCByb2xlQ3JlZGVudGlhbHMgPSBhd2FpdCByZXRyeUFuZEJhY2tvZmYoYXN5bmMgKCkgPT4ge1xuICAgICAgICByZXR1cm4gYXNzdW1lUm9sZSh7XG4gICAgICAgICAgc291cmNlQWNjb3VudElkLFxuICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICByb2xlVG9Bc3N1bWUsXG4gICAgICAgICAgcm9sZUV4dGVybmFsSWQsXG4gICAgICAgICAgcm9sZUR1cmF0aW9uU2Vjb25kcyxcbiAgICAgICAgICByb2xlU2Vzc2lvbk5hbWUsXG4gICAgICAgICAgcm9sZVNraXBTZXNzaW9uVGFnZ2luZyxcbiAgICAgICAgICB3ZWJJZGVudGl0eVRva2VuRmlsZSxcbiAgICAgICAgICB3ZWJJZGVudGl0eVRva2VuLFxuICAgICAgICB9KTtcbiAgICAgIH0sIHRydWUpO1xuICAgICAgZXhwb3J0Q3JlZGVudGlhbHMocm9sZUNyZWRlbnRpYWxzLkNyZWRlbnRpYWxzKTtcbiAgICAgIC8vIFdlIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGNyZWRlbnRpYWxzIGluIDIgb2Ygb3VyIHVzZS1jYXNlc1xuICAgICAgLy8gRmlyc3Q6IHNlbGYtaG9zdGVkIHJ1bm5lcnMuIElmIHRoZSBHSVRIVUJfQUNUSU9OUyBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICAgICAgLy8gIGlzIHNldCB0byBgdHJ1ZWAgdGhlbiB3ZSBhcmUgTk9UIGluIGEgc2VsZi1ob3N0ZWQgcnVubmVyLlxuICAgICAgLy8gU2Vjb25kOiBDdXN0b21lciBwcm92aWRlZCBjcmVkZW50aWFscyBtYW51YWxseSAoSUFNIFVzZXIga2V5cyBzdG9yZWQgaW4gR0ggU2VjcmV0cylcbiAgICAgIGlmICghcHJvY2Vzcy5lbnYuR0lUSFVCX0FDVElPTlMgfHwgQWNjZXNzS2V5SWQpIHtcbiAgICAgICAgYXdhaXQgdmFsaWRhdGVDcmVkZW50aWFscyhyb2xlQ3JlZGVudGlhbHMuQ3JlZGVudGlhbHM/LkFjY2Vzc0tleUlkKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IGV4cG9ydEFjY291bnRJZChyZWdpb24sIG1hc2tBY2NvdW50SWQpO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb3JlLnNldEZhaWxlZChlcnJvck1lc3NhZ2UoZXJyb3IpKTtcblxuICAgIGNvbnN0IHNob3dTdGFja1RyYWNlID0gcHJvY2Vzcy5lbnYuU0hPV19TVEFDS19UUkFDRTtcblxuICAgIGlmIChzaG93U3RhY2tUcmFjZSA9PT0gJ3RydWUnKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cblxuaWYgKHJlcXVpcmUubWFpbiA9PT0gbW9kdWxlKSB7XG4gIGF3YWl0IHJ1bigpO1xufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBc0M7QUFDdEMsb0RBQXVGO0FBQ3ZGLDZDQUEwQztBQUMxQyx1Q0FBd0U7QUFFeEUsNERBQTREO0FBQzVELHlEQUF5RDtBQUN6RCxNQUFNLGtCQUFrQixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDcEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUM7QUFDbkMsTUFBTSxvQ0FBb0MsR0FBRyxJQUFJLENBQUM7QUFDbEQsTUFBTSxVQUFVLEdBQUcsOENBQThDLENBQUM7QUFDbEUsTUFBTSxpQkFBaUIsR0FBRyxlQUFlLENBQUM7QUFDMUMsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDO0FBRXJDLFNBQVMsaUJBQWlCLENBQUMsS0FBNEI7SUFDckQsMEZBQTBGO0lBQzFGLHVFQUF1RTtJQUV2RSxxQkFBcUI7SUFDckIsa0VBQWtFO0lBQ2xFLElBQUksS0FBSyxFQUFFLFdBQVcsRUFBRTtRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUM3RDtJQUVELHlCQUF5QjtJQUN6QixrSEFBa0g7SUFDbEgsSUFBSSxLQUFLLEVBQUUsZUFBZSxFQUFFO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBQ3JFO0lBRUQscUJBQXFCO0lBQ3JCLHNHQUFzRztJQUN0RyxJQUFJLEtBQUssRUFBRSxZQUFZLEVBQUU7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxL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TSxFQUFFO1lBQzdCLE1BQU0sS0FBSyxDQUFDO1NBQ2I7S0FDRjtBQUNILENBQUM7QUF4R0Qsa0JBd0dDO0FBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtJQUMzQixDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ1YsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNkLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQyxDQUFDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvcmUgZnJvbSAnQGFjdGlvbnMvY29yZSc7XG5pbXBvcnQgeyBDcmVkZW50aWFscywgR2V0Q2FsbGVySWRlbnRpdHlDb21tYW5kLCBTVFNDbGllbnQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtc3RzJztcbmltcG9ydCB7IGFzc3VtZVJvbGUgfSBmcm9tICcuL2Fzc3VtZVJvbGUnO1xuaW1wb3J0IHsgZXJyb3JNZXNzYWdlLCBnZXRTdHNDbGllbnQsIHJldHJ5QW5kQmFja29mZiB9IGZyb20gJy4vaGVscGVycyc7XG5cbi8vIFVzZSAxaHIgYXMgcm9sZSBkdXJhdGlvbiB3aGVuIHVzaW5nIHNlc3Npb24gdG9rZW4gb3IgT0lEQ1xuLy8gT3RoZXJ3aXNlLCB1c2UgdGhlIG1heCBkdXJhdGlvbiBvZiBHaXRIdWIgYWN0aW9uICg2aHIpXG5jb25zdCBNQVhfQUNUSU9OX1JVTlRJTUUgPSA2ICogMzYwMDtcbmNvbnN0IFNFU1NJT05fUk9MRV9EVVJBVElPTiA9IDM2MDA7XG5jb25zdCBERUZBVUxUX1JPTEVfRFVSQVRJT05fRk9SX09JRENfUk9MRVMgPSAzNjAwO1xuY29uc3QgVVNFUl9BR0VOVCA9ICdjb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzLWZvci1naXRodWItYWN0aW9ucyc7XG5jb25zdCBST0xFX1NFU1NJT05fTkFNRSA9ICdHaXRIdWJBY3Rpb25zJztcbmNvbnN0IFJFR0lPTl9SRUdFWCA9IC9eW2EtejAtOS1dKyQvZztcblxuZnVuY3Rpb24gZXhwb3J0Q3JlZGVudGlhbHMoY3JlZHM/OiBQYXJ0aWFsPENyZWRlbnRpYWxzPikge1xuICAvLyBDb25maWd1cmUgdGhlIEFXUyBDTEkgYW5kIEFXUyBTREtzIHVzaW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyBhbmQgc2V0IHRoZW0gYXMgc2VjcmV0cy5cbiAgLy8gU2V0dGluZyB0aGUgY3JlZGVudGlhbHMgYXMgc2VjcmV0cyBtYXNrcyB0aGVtIGluIEdpdGh1YiBBY3Rpb25zIGxvZ3NcblxuICAvLyBBV1NfQUNDRVNTX0tFWV9JRDpcbiAgLy8gU3BlY2lmaWVzIGFuIEFXUyBhY2Nlc3Mga2V5IGFzc29jaWF0ZWQgd2l0aCBhbiBJQU0gdXNlciBvciByb2xlXG4gIGlmIChjcmVkcz8uQWNjZXNzS2V5SWQpIHtcbiAgICBjb3JlLnNldFNlY3JldChjcmVkcy5BY2Nlc3NLZXlJZCk7XG4gICAgY29yZS5leHBvcnRWYXJpYWJsZSgnQVdTX0FDQ0VTU19LRVlfSUQnLCBjcmVkcy5BY2Nlc3NLZXlJZCk7XG4gIH1cblxuICAvLyBBV1NfU0VDUkVUX0FDQ0VTU19LRVk6XG4gIC8vIFNwZWNpZmllcyB0aGUgc2VjcmV0IGtleSBhc3NvY2lhdGVkIHdpdGggdGhlIGFjY2VzcyBrZXkuIFRoaXMgaXMgZXNzZW50aWFsbHkgdGhlIFwicGFzc3dvcmRcIiBmb3IgdGhlIGFjY2VzcyBrZXkuXG4gIGlmIChjcmVkcz8uU2VjcmV0QWNjZXNzS2V5KSB7XG4gICAgY29yZS5zZXRTZWNyZXQoY3JlZHMuU2VjcmV0QWNjZXNzS2V5KTtcbiAgICBjb3JlLmV4cG9ydFZhcmlhYmxlKCdBV1NfU0VDUkVUX0FDQ0VTU19LRVknLCBjcmVkcy5TZWNyZXRBY2Nlc3NLZXkpO1xuICB9XG5cbiAgLy8gQVdTX1NFU1NJT05fVE9LRU46XG4gIC8vIFNwZWNpZmllcyB0aGUgc2Vzc2lvbiB0b2tlbiB2YWx1ZSB0aGF0IGlzIHJlcXVpcmVkIGlmIHlvdSBhcmUgdXNpbmcgdGVtcG9yYXJ5IHNlY3VyaXR5IGNyZWRlbnRpYWxzLlxuICBpZiAoY3JlZHM/LlNlc3Npb25Ub2tlbikge1xuICAgIGNvcmUuc2V0U2VjcmV0KGNyZWRzLlNlc3Npb25Ub2tlbik7XG4gICAgY29yZS5leHBvcnRWYXJpYWJsZSgnQVdTX1NFU1NJT05fVE9LRU4nLCBjcmVkcy5TZXNzaW9uVG9rZW4pO1xuICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52LkFXU19TRVNTSU9OX1RPS0VOKSB7XG4gICAgLy8gY2xlYXIgc2Vzc2lvbiB0b2tlbiBmcm9tIHByZXZpb3VzIGNyZWRlbnRpYWxzIGFjdGlvblxuICAgIGNvcmUuZXhwb3J0VmFyaWFibGUoJ0FXU19TRVNTSU9OX1RPS0VOJywgJycpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGV4cG9ydFJlZ2lvbihyZWdpb246IHN0cmluZykge1xuICAvLyBBV1NfREVGQVVMVF9SRUdJT04gYW5kIEFXU19SRUdJT046XG4gIC8vIFNwZWNpZmllcyB0aGUgQVdTIFJlZ2lvbiB0byBzZW5kIHJlcXVlc3RzIHRvXG4gIGNvcmUuZXhwb3J0VmFyaWFibGUoJ0FXU19ERUZBVUxUX1JFR0lPTicsIHJlZ2lvbik7XG4gIGNvcmUuZXhwb3J0VmFyaWFibGUoJ0FXU19SRUdJT04nLCByZWdpb24pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBleHBvcnRBY2NvdW50SWQocmVnaW9uOiBzdHJpbmcsIG1hc2tBY2NvdW50SWQ/OiBib29sZWFuKSB7XG4gIC8vIEdldCB0aGUgQVdTIGFjY291bnQgSURcbiAgY29uc3QgY2xpZW50ID0gZ2V0U3RzQ2xpZW50KHJlZ2lvbiwgVVNFUl9BR0VOVCk7XG4gIGNvbnN0IGlkZW50aXR5ID0gKGF3YWl0IGNsaWVudC5zZW5kKG5ldyBHZXRDYWxsZXJJZGVudGl0eUNvbW1hbmQoe30pKSkuQWNjb3VudDtcbiAgaWYgKCFpZGVudGl0eSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGdldCBBY2NvdW50IElEIGZyb20gU1RTLiBEaWQgeW91IHNldCBjcmVkZW50aWFscz8nKTtcbiAgfVxuICBpZiAobWFza0FjY291bnRJZCkge1xuICAgIGNvcmUuc2V0U2VjcmV0KGlkZW50aXR5KTtcbiAgfSBlbHNlIHtcbiAgICBjb3JlLnNldE91dHB1dCgnYXdzLWFjY291bnQtaWQnLCBpZGVudGl0eSk7XG4gIH1cbiAgcmV0dXJuIGlkZW50aXR5O1xufVxuXG5mdW5jdGlvbiBsb2FkQ3JlZGVudGlhbHMoKSB7XG4gIC8vIFByZXZpb3VzbHksIHRoaXMgZnVuY3Rpb24gZm9yY2VkIHRoZSBTREsgdG8gcmUtcmVzb2x2ZSBjcmVkZW50aWFscyB3aXRoIHRoZSBkZWZhdWx0IHByb3ZpZGVyIGNoYWluLlxuICAvL1xuICAvLyBUaGlzIGFjdGlvbiB0eXBpY2FsbHkgc2V0cyBjcmVkZW50aWFscyBpbiB0aGUgZW52aXJvbm1lbnQgdmlhIGVudmlyb25tZW50IHZhcmlhYmxlcy4gVGhlIFNESyBuZXZlciByZWZyZXNoZWQgdGhvc2VcbiAgLy8gZW52LXZhci1iYXNlZCBjcmVkZW50aWFscyBhZnRlciBpbml0aWFsIGxvYWQuIEluIGNhc2UgdGhlcmUgd2VyZSBhbHJlYWR5IGVudi12YXIgY3JlZHMgc2V0IGluIHRoZSBhY3Rpb25zXG4gIC8vIGVudmlyb25tZW50IHdoZW4gdGhpcyBhY3Rpb24gbG9hZGVkLCB0aGlzIGFjdGlvbiBuZWVkZWQgdG8gcmVmcmVzaCB0aGUgU0RLIGNyZWRzIGFmdGVyIG92ZXJ3cml0aW5nIHRob3NlXG4gIC8vIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgLy9cbiAgLy8gSG93ZXZlciwgaW4gVjMgb2YgdGhlIEphdmFTY3JpcHQgU0RLLCB0aGVyZSBpcyBubyBsb25nZXIgYSBnbG9iYWwgY29uZmlndXJhdGlvbiBvYmplY3Q6IGFsbCBjb25maWd1cmF0aW9uLFxuICAvLyBpbmNsdWRpbmcgY3JlZGVudGlhbHMsIGFyZSBpbnN0YW50aWF0ZWQgcGVyIGNsaWVudCBhbmQgbm90IG1lcmdlZCBiYWNrIGludG8gZ2xvYmFsIHN0YXRlLlxuXG4gIGNvbnN0IGNsaWVudCA9IG5ldyBTVFNDbGllbnQoe30pO1xuICByZXR1cm4gY2xpZW50LmNvbmZpZy5jcmVkZW50aWFscygpO1xufVxuXG5hc3luYyBmdW5jdGlvbiB2YWxpZGF0ZUNyZWRlbnRpYWxzKGV4cGVjdGVkQWNjZXNzS2V5SWQ/OiBzdHJpbmcpIHtcbiAgbGV0IGNyZWRlbnRpYWxzO1xuICB0cnkge1xuICAgIGNyZWRlbnRpYWxzID0gYXdhaXQgbG9hZENyZWRlbnRpYWxzKCk7XG4gICAgaWYgKCFjcmVkZW50aWFscy5hY2Nlc3NLZXlJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBY2Nlc3Mga2V5IElEIGVtcHR5IGFmdGVyIGxvYWRpbmcgY3JlZGVudGlhbHMnKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDcmVkZW50aWFscyBjb3VsZCBub3QgYmUgbG9hZGVkLCBwbGVhc2UgY2hlY2sgeW91ciBhY3Rpb24gaW5wdXRzOiAke2Vycm9yTWVzc2FnZShlcnJvcil9YCk7XG4gIH1cblxuICBjb25zdCBhY3R1YWxBY2Nlc3NLZXlJZCA9IGNyZWRlbnRpYWxzLmFjY2Vzc0tleUlkO1xuXG4gIGlmIChleHBlY3RlZEFjY2Vzc0tleUlkICYmIGV4cGVjdGVkQWNjZXNzS2V5SWQgIT09IGFjdHVhbEFjY2Vzc0tleUlkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ1VuZXhwZWN0ZWQgZmFpbHVyZTogQ3JlZGVudGlhbHMgbG9hZGVkIGJ5IHRoZSBTREsgZG8gbm90IG1hdGNoIHRoZSBhY2Nlc3Mga2V5IElEIGNvbmZpZ3VyZWQgYnkgdGhlIGFjdGlvbidcbiAgICApO1xuICB9XG59XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuKCkge1xuICB0cnkge1xuICAgIC8vIEdldCBpbnB1dHNcbiAgICBjb25zdCBBY2Nlc3NLZXlJZCA9IGNvcmUuZ2V0SW5wdXQoJ2F3cy1hY2Nlc3Mta2V5LWlkJywgeyByZXF1aXJlZDogZmFsc2UgfSk7XG4gICAgY29uc3QgYXVkaWVuY2UgPSBjb3JlLmdldElucHV0KCdhdWRpZW5jZScsIHsgcmVxdWlyZWQ6IGZhbHNlIH0pO1xuICAgIGNvbnN0IFNlY3JldEFjY2Vzc0tleSA9IGNvcmUuZ2V0SW5wdXQoJ2F3cy1zZWNyZXQtYWNjZXNzLWtleScsIHsgcmVxdWlyZWQ6IGZhbHNlIH0pO1xuICAgIGNvbnN0IHJlZ2lvbiA9IGNvcmUuZ2V0SW5wdXQoJ2F3cy1yZWdpb24nLCB7IHJlcXVpcmVkOiB0cnVlIH0pO1xuICAgIGNvbnN0IFNlc3Npb25Ub2tlbiA9IGNvcmUuZ2V0SW5wdXQoJ2F3cy1zZXNzaW9uLXRva2VuJywgeyByZXF1aXJlZDogZmFsc2UgfSk7XG4gICAgY29uc3QgbWFza0FjY291bnRJZCA9XG4gICAgICAoY29yZS5nZXRJbnB1dCgnbWFzay1hd3MtYWNjb3VudC1pZCcsIHsgcmVxdWlyZWQ6IGZhbHNlIH0pIHx8ICd0cnVlJykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnO1xuICAgIGNvbnN0IHJvbGVUb0Fzc3VtZSA9IGNvcmUuZ2V0SW5wdXQoJ3JvbGUtdG8tYXNzdW1lJywgeyByZXF1aXJlZDogZmFsc2UgfSk7XG4gICAgY29uc3Qgcm9sZUV4dGVybmFsSWQgPSBjb3JlLmdldElucHV0KCdyb2xlLWV4dGVybmFsLWlkJywgeyByZXF1aXJlZDogZmFsc2UgfSk7XG4gICAgY29uc3Qgcm9sZVNlc3Npb25OYW1lID0gY29yZS5nZXRJbnB1dCgncm9sZS1zZXNzaW9uLW5hbWUnLCB7IHJlcXVpcmVkOiBmYWxzZSB9KSB8fCBST0xFX1NFU1NJT05fTkFNRTtcbiAgICBjb25zdCByb2xlU2tpcFNlc3Npb25UYWdnaW5nSW5wdXQgPSBjb3JlLmdldElucHV0KCdyb2xlLXNraXAtc2Vzc2lvbi10YWdnaW5nJywgeyByZXF1aXJlZDogZmFsc2UgfSkgfHwgJ2ZhbHNlJztcbiAgICBjb25zdCByb2xlU2tpcFNlc3Npb25UYWdnaW5nID0gcm9sZVNraXBTZXNzaW9uVGFnZ2luZ0lucHV0LnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJztcbiAgICBjb25zdCB3ZWJJZGVudGl0eVRva2VuRmlsZSA9IGNvcmUuZ2V0SW5wdXQoJ3dlYi1pZGVudGl0eS10b2tlbi1maWxlJywgeyByZXF1aXJlZDogZmFsc2UgfSk7XG5cbiAgICAvLyBUaGlzIHdyYXBzIHRoZSBsb2dpYyBmb3IgZGVjaWRpbmcgaWYgd2Ugc2hvdWxkIHJlbHkgb24gdGhlIEdIIE9JREMgcHJvdmlkZXIgc2luY2Ugd2UgbWF5IG5lZWQgdG8gcmVmZXJlbmNlXG4gICAgLy8gdGhlIGRlY2lzaW9uIGluIGEgZmV3IGRpZmZlcmVubnQgcGxhY2VzLiBDb25zb2xpZGF0aW5nIGl0IGhlcmUgbWFrZXMgdGhlIGxvZ2ljIGNsZWFyZXIgZWxzZXdoZXJlLlxuICAgIGNvbnN0IHVzZUdpdEh1Yk9JRENQcm92aWRlciA9ICgpID0+IHtcbiAgICAgIC8vIFRoZSBhc3N1bXB0aW9uIGhlcmUgaXMgdGhhdCBzZWxmLWhvc3RlZCBydW5uZXJzIHdvbid0IGJlIHBvcHVsYXRpbmcgdGhlIGBBQ1RJT05TX0lEX1RPS0VOX1JFUVVFU1RfVE9LRU5gXG4gICAgICAvLyBlbnZpcm9ubWVudCB2YXJpYWJsZSBhbmQgdGhleSB3b24ndCBiZSBwcm92aWRpbmcgYSB3ZWIgaWRlbml0eSB0b2tlbiBmaWxlIG9yIGFjY2VzcyBrZXkgZWl0aGVyLlxuICAgICAgLy8gVjIgb2YgdGhlIGFjdGlvbiBtaWdodCByZWxheCB0aGlzIGEgYml0IGFuZCBjcmVhdGUgYW4gZXhwbGljaXQgcHJlY2VkZW5jZSBmb3IgdGhlc2Ugc28gdGhhdCBjdXN0b21lcnNcbiAgICAgIC8vIGNhbiBwcm92aWRlIGFzIG11Y2ggaW5mbyBhcyB0aGV5IHdhbnQgYW5kIHdlIHdpbGwgZm9sbG93IHRoZSBlc3RhYmxpc2hlZCBjcmVkZW50aWFsIGxvYWRpbmcgcHJlY2VkZW5jZS5cbiAgICAgIHJldHVybiAhIShyb2xlVG9Bc3N1bWUgJiYgcHJvY2Vzcy5lbnYuQUNUSU9OU19JRF9UT0tFTl9SRVFVRVNUX1RPS0VOICYmICFBY2Nlc3NLZXlJZCAmJiAhd2ViSWRlbnRpdHlUb2tlbkZpbGUpO1xuICAgIH07XG4gICAgY29uc3Qgcm9sZUR1cmF0aW9uU2Vjb25kcyA9XG4gICAgICBwYXJzZUludChjb3JlLmdldElucHV0KCdyb2xlLWR1cmF0aW9uLXNlY29uZHMnLCB7IHJlcXVpcmVkOiBmYWxzZSB9KSkgfHxcbiAgICAgIChTZXNzaW9uVG9rZW4gJiYgU0VTU0lPTl9ST0xFX0RVUkFUSU9OKSB8fFxuICAgICAgKHVzZUdpdEh1Yk9JRENQcm92aWRlcigpICYmIERFRkFVTFRfUk9MRV9EVVJBVElPTl9GT1JfT0lEQ19ST0xFUykgfHxcbiAgICAgIE1BWF9BQ1RJT05fUlVOVElNRTtcblxuICAgIGlmICghcmVnaW9uLm1hdGNoKFJFR0lPTl9SRUdFWCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUmVnaW9uIGlzIG5vdCB2YWxpZDogJHtyZWdpb259YCk7XG4gICAgfVxuXG4gICAgZXhwb3J0UmVnaW9uKHJlZ2lvbik7XG5cbiAgICAvLyBBbHdheXMgZXhwb3J0IHRoZSBzb3VyY2UgY3JlZGVudGlhbHMgYW5kIGFjY291bnQgSUQuXG4gICAgLy8gVGhlIFNUUyBjbGllbnQgZm9yIGNhbGxpbmcgQXNzdW1lUm9sZSBwdWxscyBjcmVkcyBmcm9tIHRoZSBlbnZpcm9ubWVudC5cbiAgICAvLyBQbHVzLCBpbiB0aGUgYXNzdW1lIHJvbGUgY2FzZSwgaWYgdGhlIEFzc3VtZVJvbGUgY2FsbCBmYWlscywgd2Ugd2FudFxuICAgIC8vIHRoZSBzb3VyY2UgY3JlZGVudGlhbHMgYW5kIGFjY291bnQgSUQgdG8gYWxyZWFkeSBiZSBtYXNrZWQgYXMgc2VjcmV0c1xuICAgIC8vIGluIGFueSBlcnJvciBtZXNzYWdlcy5cbiAgICBpZiAoQWNjZXNzS2V5SWQpIHtcbiAgICAgIGlmICghU2VjcmV0QWNjZXNzS2V5KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIidhd3Mtc2VjcmV0LWFjY2Vzcy1rZXknIG11c3QgYmUgcHJvdmlkZWQgaWYgJ2F3cy1hY2Nlc3Mta2V5LWlkJyBpcyBwcm92aWRlZFwiKTtcbiAgICAgIH1cblxuICAgICAgZXhwb3J0Q3JlZGVudGlhbHMoeyBBY2Nlc3NLZXlJZCwgU2VjcmV0QWNjZXNzS2V5LCBTZXNzaW9uVG9rZW4gfSk7XG4gICAgfVxuXG4gICAgLy8gQXR0ZW1wdCB0byBsb2FkIGNyZWRlbnRpYWxzIGZyb20gdGhlIEdpdEh1YiBPSURDIHByb3ZpZGVyLlxuICAgIC8vIElmIGEgdXNlciBwcm92aWRlcyBhbiBJQU0gUm9sZSBBcm4gYW5kIERPRVNOJ1QgcHJvdmlkZSBhbiBBY2Nlc3MgS2V5IElkXG4gICAgLy8gVGhlIG9ubHkgd2F5IHRvIGFzc3VtZSB0aGUgcm9sZSBpcyB2aWEgR2l0SHViJ3MgT0lEQyBwcm92aWRlci5cbiAgICBsZXQgc291cmNlQWNjb3VudElkOiBzdHJpbmc7XG4gICAgbGV0IHdlYklkZW50aXR5VG9rZW46IHN0cmluZztcbiAgICBpZiAodXNlR2l0SHViT0lEQ1Byb3ZpZGVyKCkpIHtcbiAgICAgIHdlYklkZW50aXR5VG9rZW4gPSBhd2FpdCBjb3JlLmdldElEVG9rZW4oYXVkaWVuY2UpO1xuICAgICAgLy8gV2UgZG9uJ3QgdmFsaWRhdGUgdGhlIGNyZWRlbnRpYWxzIGhlcmUgYmVjYXVzZSB3ZSBkb24ndCBoYXZlIHRoZW0geWV0IHdoZW4gdXNpbmcgT0lEQy5cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVnYXJkbGVzcyBvZiB3aGV0aGVyIGFueSBzb3VyY2UgY3JlZGVudGlhbHMgd2VyZSBwcm92aWRlZCBhcyBpbnB1dHMsXG4gICAgICAvLyB2YWxpZGF0ZSB0aGF0IHRoZSBTREsgY2FuIGFjdHVhbGx5IHBpY2sgdXAgY3JlZGVudGlhbHMuICBUaGlzIHZhbGlkYXRlc1xuICAgICAgLy8gY2FzZXMgd2hlcmUgdGhpcyBhY3Rpb24gaXMgb24gYSBzZWxmLWhvc3RlZCBydW5uZXIgdGhhdCBkb2Vzbid0IGhhdmUgY3JlZGVudGlhbHNcbiAgICAgIC8vIGNvbmZpZ3VyZWQgY29ycmVjdGx5LCBhbmQgY2FzZXMgd2hlcmUgdGhlIHVzZXIgaW50ZW5kZWQgdG8gcHJvdmlkZSBpbnB1dFxuICAgICAgLy8gY3JlZGVudGlhbHMgYnV0IHRoZSBzZWNyZXRzIGlucHV0cyByZXNvbHZlZCB0byBlbXB0eSBzdHJpbmdzLlxuICAgICAgYXdhaXQgdmFsaWRhdGVDcmVkZW50aWFscyhBY2Nlc3NLZXlJZCk7XG5cbiAgICAgIHNvdXJjZUFjY291bnRJZCA9IGF3YWl0IGV4cG9ydEFjY291bnRJZChyZWdpb24sIG1hc2tBY2NvdW50SWQpO1xuICAgIH1cblxuICAgIC8vIEdldCByb2xlIGNyZWRlbnRpYWxzIGlmIGNvbmZpZ3VyZWQgdG8gZG8gc29cbiAgICBpZiAocm9sZVRvQXNzdW1lKSB7XG4gICAgICBjb25zdCByb2xlQ3JlZGVudGlhbHMgPSBhd2FpdCByZXRyeUFuZEJhY2tvZmYoYXN5bmMgKCkgPT4ge1xuICAgICAgICByZXR1cm4gYXNzdW1lUm9sZSh7XG4gICAgICAgICAgc291cmNlQWNjb3VudElkLFxuICAgICAgICAgIHJlZ2lvbixcbiAgICAgICAgICByb2xlVG9Bc3N1bWUsXG4gICAgICAgICAgcm9sZUV4dGVybmFsSWQsXG4gICAgICAgICAgcm9sZUR1cmF0aW9uU2Vjb25kcyxcbiAgICAgICAgICByb2xlU2Vzc2lvbk5hbWUsXG4gICAgICAgICAgcm9sZVNraXBTZXNzaW9uVGFnZ2luZyxcbiAgICAgICAgICB3ZWJJZGVudGl0eVRva2VuRmlsZSxcbiAgICAgICAgICB3ZWJJZGVudGl0eVRva2VuLFxuICAgICAgICB9KTtcbiAgICAgIH0sIHRydWUpO1xuICAgICAgZXhwb3J0Q3JlZGVudGlhbHMocm9sZUNyZWRlbnRpYWxzLkNyZWRlbnRpYWxzKTtcbiAgICAgIC8vIFdlIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGNyZWRlbnRpYWxzIGluIDIgb2Ygb3VyIHVzZS1jYXNlc1xuICAgICAgLy8gRmlyc3Q6IHNlbGYtaG9zdGVkIHJ1bm5lcnMuIElmIHRoZSBHSVRIVUJfQUNUSU9OUyBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICAgICAgLy8gIGlzIHNldCB0byBgdHJ1ZWAgdGhlbiB3ZSBhcmUgTk9UIGluIGEgc2VsZi1ob3N0ZWQgcnVubmVyLlxuICAgICAgLy8gU2Vjb25kOiBDdXN0b21lciBwcm92aWRlZCBjcmVkZW50aWFscyBtYW51YWxseSAoSUFNIFVzZXIga2V5cyBzdG9yZWQgaW4gR0ggU2VjcmV0cylcbiAgICAgIGlmICghcHJvY2Vzcy5lbnYuR0lUSFVCX0FDVElPTlMgfHwgQWNjZXNzS2V5SWQpIHtcbiAgICAgICAgYXdhaXQgdmFsaWRhdGVDcmVkZW50aWFscyhyb2xlQ3JlZGVudGlhbHMuQ3JlZGVudGlhbHM/LkFjY2Vzc0tleUlkKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IGV4cG9ydEFjY291bnRJZChyZWdpb24sIG1hc2tBY2NvdW50SWQpO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb3JlLnNldEZhaWxlZChlcnJvck1lc3NhZ2UoZXJyb3IpKTtcblxuICAgIGNvbnN0IHNob3dTdGFja1RyYWNlID0gcHJvY2Vzcy5lbnYuU0hPV19TVEFDS19UUkFDRTtcblxuICAgIGlmIChzaG93U3RhY2tUcmFjZSA9PT0gJ3RydWUnKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cblxuaWYgKHJlcXVpcmUubWFpbiA9PT0gbW9kdWxlKSB7XG4gIChhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgcnVuKCk7XG4gIH0pKCkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgY29yZS5zZXRGYWlsZWQoZXJyb3IubWVzc2FnZSk7XG4gIH0pO1xufVxuIl19 \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 9873996..3b3d168 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15712,9 +15712,7 @@ "version": "3.1.2", "dev": true, "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" + "brace-expansion": "^1.1.7" } }, "minimist": { diff --git a/package.json b/package.json index 2d9b2c3..9654eb1 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,8 @@ "post-upgrade": "npx projen post-upgrade", "pre-compile": "npx projen pre-compile", "release": "npx projen release", - "test": "node --no-warnings --experimental-vm-modules node_modules/.bin/jest.js", + "test": "npx projen test", + "test:watch": "npx projen test:watch", "unbump": "npx projen unbump", "upgrade": "npx projen upgrade", "watch": "npx projen watch", @@ -105,13 +106,7 @@ } ] ], - "preset": "ts-jest/presets/default-esm-legacy", - "extensionsToTreatAsEsm": [ - ".ts" - ], - "moduleNameMapper": { - "^(\\.{1,2}/.*)\\.js$": "$1" - }, + "preset": "ts-jest", "transform": { "^.+\\.[tj]sx?$": [ "ts-jest", @@ -127,6 +122,5 @@ "@types/responselike": "1.0.0", "got": "12.3.1" }, - "type": "module", "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." } diff --git a/src/assumeRole.ts b/src/assumeRole.ts index a1d058b..c1c25e3 100644 --- a/src/assumeRole.ts +++ b/src/assumeRole.ts @@ -3,7 +3,7 @@ import fs from 'fs'; import path from 'path'; import * as core from '@actions/core'; import { AssumeRoleCommandInput, AssumeRoleWithWebIdentityCommand } from '@aws-sdk/client-sts'; -import { errorMessage, getStsClient, isDefined } from './helpers.js'; +import { errorMessage, getStsClient, isDefined } from './helpers'; const SANITIZATION_CHARACTER = '_'; const MAX_TAG_VALUE_LENGTH = 256; diff --git a/src/cleanup/index.ts b/src/cleanup/index.ts index 342aa62..b30557b 100644 --- a/src/cleanup/index.ts +++ b/src/cleanup/index.ts @@ -1,6 +1,5 @@ -import * as url from 'node:url'; import * as core from '@actions/core'; -import { errorMessage } from '../helpers.js'; +import { errorMessage } from '../helpers'; /** * When the GitHub Actions job is done, clean up any environment variables that @@ -28,8 +27,10 @@ export async function cleanup() { core.setFailed(errorMessage(error)); } } - -const modulePath = url.fileURLToPath(import.meta.url); -if (process.argv[1] === modulePath) { - await cleanup(); +if (require.main === module) { + (async () => { + await cleanup(); + })().catch((error) => { + core.setFailed(errorMessage(error)); + }); } diff --git a/src/index.ts b/src/index.ts index 9b5881c..3778ce5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,8 +1,7 @@ -import * as url from 'node:url'; import * as core from '@actions/core'; import { Credentials, GetCallerIdentityCommand, STSClient } from '@aws-sdk/client-sts'; -import { assumeRole } from './assumeRole.js'; -import { errorMessage, getStsClient, retryAndBackoff } from './helpers.js'; +import { assumeRole } from './assumeRole'; +import { errorMessage, getStsClient, retryAndBackoff } from './helpers'; // Use 1hr as role duration when using session token or OIDC // Otherwise, use the max duration of GitHub action (6hr) @@ -204,7 +203,10 @@ export async function run() { } } -const modulePath = url.fileURLToPath(import.meta.url); -if (process.argv[1] === modulePath) { - await run(); +if (require.main === module) { + (async () => { + await run(); + })().catch((error) => { + core.setFailed(error.message); + }); }