cdk-assets 2.24.1 → 2.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/aws.js CHANGED
@@ -98,6 +98,11 @@ exports.DefaultAwsClient = DefaultAwsClient;
98
98
  * @see https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html#API_AssumeRole_RequestParameters
99
99
  */
100
100
  function safeUsername() {
101
- return os.userInfo().username.replace(/[^\w+=,.@-]/g, '@');
101
+ try {
102
+ return os.userInfo().username.replace(/[^\w+=,.@-]/g, '@');
103
+ }
104
+ catch (e) {
105
+ return 'noname';
106
+ }
102
107
  }
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlCQUF5QjtBQXdDekI7O0dBRUc7QUFDSCxNQUFhLGdCQUFnQjtJQUkzQixZQUFZLE9BQWdCO1FBQzFCLDBGQUEwRjtRQUMxRixPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixHQUFHLFVBQVUsQ0FBQztRQUNwRCxPQUFPLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxHQUFHLEdBQUcsQ0FBQztRQUN0RCxJQUFJLE9BQU8sRUFBRTtZQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztTQUNuQztRQUVELGlGQUFpRjtRQUNqRixpRUFBaUU7UUFDakUsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBc0I7UUFDMUMsT0FBTyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQXNCO1FBQzNDLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQixDQUFDLE9BQXNCO1FBQ3RELE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU0sS0FBSyxDQUFDLGlCQUFpQjtRQUM1QixPQUFP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TyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDN0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcblxuLyoqXG4gKiBBV1MgU0RLIG9wZXJhdGlvbnMgcmVxdWlyZWQgYnkgQXNzZXQgUHVibGlzaGluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElBd3Mge1xuICBkaXNjb3ZlclBhcnRpdGlvbigpOiBQcm9taXNlPHN0cmluZz47XG4gIGRpc2NvdmVyRGVmYXVsdFJlZ2lvbigpOiBQcm9taXNlPHN0cmluZz47XG4gIGRpc2NvdmVyQ3VycmVudEFjY291bnQoKTogUHJvbWlzZTxBY2NvdW50PjtcblxuICBkaXNjb3ZlclRhcmdldEFjY291bnQob3B0aW9uczogQ2xpZW50T3B0aW9ucyk6IFByb21pc2U8QWNjb3VudD47XG4gIHMzQ2xpZW50KG9wdGlvbnM6IENsaWVudE9wdGlvbnMpOiBQcm9taXNlPEFXUy5TMz47XG4gIGVjckNsaWVudChvcHRpb25zOiBDbGllbnRPcHRpb25zKTogUHJvbWlzZTxBV1MuRUNSPjtcbiAgc2VjcmV0c01hbmFnZXJDbGllbnQob3B0aW9uczogQ2xpZW50T3B0aW9ucyk6IFByb21pc2U8QVdTLlNlY3JldHNNYW5hZ2VyPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGllbnRPcHRpb25zIHtcbiAgcmVnaW9uPzogc3RyaW5nO1xuICBhc3N1bWVSb2xlQXJuPzogc3RyaW5nO1xuICBhc3N1bWVSb2xlRXh0ZXJuYWxJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBbiBBV1MgYWNjb3VudFxuICpcbiAqIEFuIEFXUyBhY2NvdW50IGFsd2F5cyBleGlzdHMgaW4gb25seSBvbmUgcGFydGl0aW9uLiBVc3VhbGx5IHdlIGRvbid0IGNhcmUgYWJvdXRcbiAqIHRoZSBwYXJ0aXRpb24sIGJ1dCB3aGVuIHdlIG5lZWQgdG8gZm9ybSBBUk5zIHdlIGRvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjY291bnQge1xuICAvKipcbiAgICogVGhlIGFjY291bnQgbnVtYmVyXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhcnRpdGlvbiAoJ2F3cycgb3IgJ2F3cy1jbicgb3Igb3RoZXJ3aXNlKVxuICAgKi9cbiAgcmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQVdTIGNsaWVudCB1c2luZyB0aGUgQVdTIFNESyBmb3IgSlMgd2l0aCBubyBzcGVjaWFsIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIERlZmF1bHRBd3NDbGllbnQgaW1wbGVtZW50cyBJQXdzIHtcbiAgcHJpdmF0ZSByZWFkb25seSBBV1M6IHR5cGVvZiBpbXBvcnQoJ2F3cy1zZGsnKTtcbiAgcHJpdmF0ZSBhY2NvdW50PzogQWNjb3VudDtcblxuICBjb25zdHJ1Y3Rvcihwcm9maWxlPzogc3RyaW5nKSB7XG4gICAgLy8gRm9yY2UgQVdTIFNESyB0byBsb29rIGluIH4vLmF3cy9jcmVkZW50aWFscyBhbmQgcG90ZW50aWFsbHkgdXNlIHRoZSBjb25maWd1cmVkIHByb2ZpbGUuXG4gICAgcHJvY2Vzcy5lbnYuQVdTX1NES19MT0FEX0NPTkZJRyA9ICcxJztcbiAgICBwcm9jZXNzLmVudi5BV1NfU1RTX1JFR0lPTkFMX0VORFBPSU5UUyA9ICdyZWdpb25hbCc7XG4gICAgcHJvY2Vzcy5lbnYuQVdTX05PREVKU19DT05ORUNUSU9OX1JFVVNFX0VOQUJMRUQgPSAnMSc7XG4gICAgaWYgKHByb2ZpbGUpIHtcbiAgICAgIHByb2Nlc3MuZW52LkFXU19QUk9GSUxFID0gcHJvZmlsZTtcbiAgICB9XG5cbiAgICAvLyBXZSBuZWVkIHRvIHNldCB0aGUgZW52aXJvbm1lbnQgYmVmb3JlIHdlIGxvYWQgdGhpcyBsaWJyYXJ5IGZvciB0aGUgZmlyc3QgdGltZS5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgIHRoaXMuQVdTID0gcmVxdWlyZSgnYXdzLXNkaycpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHMzQ2xpZW50KG9wdGlvbnM6IENsaWVudE9wdGlvbnMpIHtcbiAgICByZXR1cm4gbmV3IHRoaXMuQVdTLlMzKGF3YWl0IHRoaXMuYXdzT3B0aW9ucyhvcHRpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZWNyQ2xpZW50KG9wdGlvbnM6IENsaWVudE9wdGlvbnMpIHtcbiAgICByZXR1cm4gbmV3IHRoaXMuQVdTLkVDUihhd2FpdCB0aGlzLmF3c09wdGlvbnMob3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNlY3JldHNNYW5hZ2VyQ2xpZW50KG9wdGlvbnM6IENsaWVudE9wdGlvbnMpIHtcbiAgICByZXR1cm4gbmV3IHRoaXMuQVdTLlNlY3JldHNNYW5hZ2VyKGF3YWl0IHRoaXMuYXdzT3B0aW9ucyhvcHRpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGlzY292ZXJQYXJ0aXRpb24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZGlzY292ZXJDdXJyZW50QWNjb3VudCgpKS5wYXJ0aXRpb247XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGlzY292ZXJEZWZhdWx0UmVnaW9uKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuQVdTLmNvbmZpZy5yZWdpb24gfHwgJ3VzLWVhc3QtMSc7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGlzY292ZXJDdXJyZW50QWNjb3VudCgpOiBQcm9taXNlPEFjY291bnQ+IHtcbiAgICBpZiAodGhpcy5hY2NvdW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHN0cyA9IG5ldyB0aGlzLkFXUy5TVFMoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgc3RzLmdldENhbGxlcklkZW50aXR5KCkucHJvbWlzZSgpO1xuICAgICAgaWYgKCFyZXNwb25zZS5BY2NvdW50IHx8ICFyZXNwb25zZS5Bcm4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgcmVwb25zZSBmcm9tIFNUUzogJyR7SlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpfSdgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYWNjb3VudCA9IHtcbiAgICAgICAgYWNjb3VudElkOiByZXNwb25zZS5BY2NvdW50ISxcbiAgICAgICAgcGFydGl0aW9uOiByZXNwb25zZS5Bcm4hLnNwbGl0KCc6JylbMV0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFjY291bnQ7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGlzY292ZXJUYXJnZXRBY2NvdW50KG9wdGlvbnM6IENsaWVudE9wdGlvbnMpOiBQcm9taXNlPEFjY291bnQ+IHtcbiAgICBjb25zdCBzdHMgPSBuZXcgdGhpcy5BV1MuU1RTKGF3YWl0IHRoaXMuYXdzT3B0aW9ucyhvcHRpb25zKSk7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBzdHMuZ2V0Q2FsbGVySWRlbnRpdHkoKS5wcm9taXNlKCk7XG4gICAgaWYgKCFyZXNwb25zZS5BY2NvdW50IHx8ICFyZXNwb25zZS5Bcm4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5yZWNvZ25pemVkIHJlcG9uc2UgZnJvbSBTVFM6ICcke0pTT04uc3RyaW5naWZ5KHJlc3BvbnNlKX0nYCk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBhY2NvdW50SWQ6IHJlc3BvbnNlLkFjY291bnQhLFxuICAgICAgcGFydGl0aW9uOiByZXNwb25zZS5Bcm4hLnNwbGl0KCc6JylbMV0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYXdzT3B0aW9ucyhvcHRpb25zOiBDbGllbnRPcHRpb25zKSB7XG4gICAgbGV0IGNyZWRlbnRpYWxzO1xuXG4gICAgaWYgKG9wdGlvbnMuYXNzdW1lUm9sZUFybikge1xuICAgICAgY3JlZGVudGlhbHMgPSBhd2FpdCB0aGlzLmFzc3VtZVJvbGUob3B0aW9ucy5yZWdpb24sIG9wdGlvbnMuYXNzdW1lUm9sZUFybiwgb3B0aW9ucy5hc3N1bWVSb2xlRXh0ZXJuYWxJZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHJlZ2lvbjogb3B0aW9ucy5yZWdpb24sXG4gICAgICBjdXN0b21Vc2VyQWdlbnQ6ICdjZGstYXNzZXRzJyxcbiAgICAgIGNyZWRlbnRpYWxzLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRXhwbGljaXQgbWFudWFsIEFzc3VtZVJvbGUgY2FsbFxuICAgKlxuICAgKiBOZWNlc3Nhcnkgc2luY2UgSSBjYW4ndCBzZWVtIHRvIGdldCB0aGUgYnVpbHQtaW4gc3VwcG9ydCBmb3IgQ2hhaW5hYmxlVGVtcG9yYXJ5Q3JlZGVudGlhbHMgdG8gd29yay5cbiAgICpcbiAgICogSXQgbmVlZHMgYW4gZXhwbGljaXQgY29uZmlndXJhdGlvbiBvZiBgbWFzdGVyQ3JlZGVudGlhbHNgLCB3ZSBuZWVkIHRvIHB1dFxuICAgKiBhIGBEZWZhdWx0Q3JlZGVudGlhbFByb3ZlckNoYWluKClgIGluIHRoZXJlIGJ1dCB0aGF0IGlzIG5vdCBwb3NzaWJsZS5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgYXNzdW1lUm9sZShyZWdpb246IHN0cmluZyB8IHVuZGVmaW5lZCwgcm9sZUFybjogc3RyaW5nLCBleHRlcm5hbElkPzogc3RyaW5nKTogUHJvbWlzZTxBV1MuQ3JlZGVudGlhbHM+IHtcbiAgICByZXR1cm4gbmV3IHRoaXMuQVdTLkNoYWluYWJsZVRlbXBvcmFyeUNyZWRlbnRpYWxzKHtcbiAgICAgIHBhcmFtczoge1xuICAgICAgICBSb2xlQXJuOiByb2xlQXJuLFxuICAgICAgICBFeHRlcm5hbElkOiBleHRlcm5hbElkLFxuICAgICAgICBSb2xlU2Vzc2lvbk5hbWU6IGBjZGstYXNzZXRzLSR7c2FmZVVzZXJuYW1lKCl9YCxcbiAgICAgIH0sXG4gICAgICBzdHNDb25maWc6IHtcbiAgICAgICAgcmVnaW9uLFxuICAgICAgICBjdXN0b21Vc2VyQWdlbnQ6ICdjZGstYXNzZXRzJyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm4gdGhlIHVzZXJuYW1lIHdpdGggY2hhcmFjdGVycyBpbnZhbGlkIGZvciBhIFJvbGVTZXNzaW9uTmFtZSByZW1vdmVkXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vU1RTL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Fzc3VtZVJvbGUuaHRtbCNBUElfQXNzdW1lUm9sZV9SZXF1ZXN0UGFyYW1ldGVyc1xuICovXG5mdW5jdGlvbiBzYWZlVXNlcm5hbWUoKSB7XG4gIHJldHVybiBvcy51c2VySW5mbygpLnVzZXJuYW1lLnJlcGxhY2UoL1teXFx3Kz0sLkAtXS9nLCAnQCcpO1xufVxuXG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlCQUF5QjtBQXdDekI7O0dBRUc7QUFDSCxNQUFhLGdCQUFnQjtJQUkzQixZQUFZLE9BQWdCO1FBQzFCLDBGQUEwRjtRQUMxRixPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixHQUFHLFVBQVUsQ0FBQztRQUNwRCxPQUFPLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxHQUFHLEdBQUcsQ0FBQztRQUN0RCxJQUFJLE9BQU8sRUFBRTtZQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztTQUNuQztRQUVELGlGQUFpRjtRQUNqRixpRUFBaUU7UUFDakUsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBc0I7UUFDMUMsT0FBTyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQXNCO1FBQzNDLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQixDQUFDLE9BQXNCO1FBQ3RELE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU0sS0FBSyxDQUFDLGlCQUFpQjtRQUM1QixPQUFP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STtRQUNGLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQzVEO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixPQUFPLFFBQVEsQ0FBQztLQUNqQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5cbi8qKlxuICogQVdTIFNESyBvcGVyYXRpb25zIHJlcXVpcmVkIGJ5IEFzc2V0IFB1Ymxpc2hpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQXdzIHtcbiAgZGlzY292ZXJQYXJ0aXRpb24oKTogUHJvbWlzZTxzdHJpbmc+O1xuICBkaXNjb3ZlckRlZmF1bHRSZWdpb24oKTogUHJvbWlzZTxzdHJpbmc+O1xuICBkaXNjb3ZlckN1cnJlbnRBY2NvdW50KCk6IFByb21pc2U8QWNjb3VudD47XG5cbiAgZGlzY292ZXJUYXJnZXRBY2NvdW50KG9wdGlvbnM6IENsaWVudE9wdGlvbnMpOiBQcm9taXNlPEFjY291bnQ+O1xuICBzM0NsaWVudChvcHRpb25zOiBDbGllbnRPcHRpb25zKTogUHJvbWlzZTxBV1MuUzM+O1xuICBlY3JDbGllbnQob3B0aW9uczogQ2xpZW50T3B0aW9ucyk6IFByb21pc2U8QVdTLkVDUj47XG4gIHNlY3JldHNNYW5hZ2VyQ2xpZW50KG9wdGlvbnM6IENsaWVudE9wdGlvbnMpOiBQcm9taXNlPEFXUy5TZWNyZXRzTWFuYWdlcj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpZW50T3B0aW9ucyB7XG4gIHJlZ2lvbj86IHN0cmluZztcbiAgYXNzdW1lUm9sZUFybj86IHN0cmluZztcbiAgYXNzdW1lUm9sZUV4dGVybmFsSWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4gQVdTIGFjY291bnRcbiAqXG4gKiBBbiBBV1MgYWNjb3VudCBhbHdheXMgZXhpc3RzIGluIG9ubHkgb25lIHBhcnRpdGlvbi4gVXN1YWxseSB3ZSBkb24ndCBjYXJlIGFib3V0XG4gKiB0aGUgcGFydGl0aW9uLCBidXQgd2hlbiB3ZSBuZWVkIHRvIGZvcm0gQVJOcyB3ZSBkby5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50IHtcbiAgLyoqXG4gICAqIFRoZSBhY2NvdW50IG51bWJlclxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJ0aXRpb24gKCdhd3MnIG9yICdhd3MtY24nIG9yIG90aGVyd2lzZSlcbiAgICovXG4gIHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFXUyBjbGllbnQgdXNpbmcgdGhlIEFXUyBTREsgZm9yIEpTIHdpdGggbm8gc3BlY2lhbCBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWZhdWx0QXdzQ2xpZW50IGltcGxlbWVudHMgSUF3cyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgQVdTOiB0eXBlb2YgaW1wb3J0KCdhd3Mtc2RrJyk7XG4gIHByaXZhdGUgYWNjb3VudD86IEFjY291bnQ7XG5cbiAgY29uc3RydWN0b3IocHJvZmlsZT86IHN0cmluZykge1xuICAgIC8vIEZvcmNlIEFXUyBTREsgdG8gbG9vayBpbiB+Ly5hd3MvY3JlZGVudGlhbHMgYW5kIHBvdGVudGlhbGx5IHVzZSB0aGUgY29uZmlndXJlZCBwcm9maWxlLlxuICAgIHByb2Nlc3MuZW52LkFXU19TREtfTE9BRF9DT05GSUcgPSAnMSc7XG4gICAgcHJvY2Vzcy5lbnYuQVdTX1NUU19SRUdJT05BTF9FTkRQT0lOVFMgPSAncmVnaW9uYWwnO1xuICAgIHByb2Nlc3MuZW52LkFXU19OT0RFSlNfQ09OTkVDVElPTl9SRVVTRV9FTkFCTEVEID0gJzEnO1xuICAgIGlmIChwcm9maWxlKSB7XG4gICAgICBwcm9jZXNzLmVudi5BV1NfUFJPRklMRSA9IHByb2ZpbGU7XG4gICAgfVxuXG4gICAgLy8gV2UgbmVlZCB0byBzZXQgdGhlIGVudmlyb25tZW50IGJlZm9yZSB3ZSBsb2FkIHRoaXMgbGlicmFyeSBmb3IgdGhlIGZpcnN0IHRpbWUuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICB0aGlzLkFXUyA9IHJlcXVpcmUoJ2F3cy1zZGsnKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzM0NsaWVudChvcHRpb25zOiBDbGllbnRPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyB0aGlzLkFXUy5TMyhhd2FpdCB0aGlzLmF3c09wdGlvbnMob3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGVjckNsaWVudChvcHRpb25zOiBDbGllbnRPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyB0aGlzLkFXUy5FQ1IoYXdhaXQgdGhpcy5hd3NPcHRpb25zKG9wdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZWNyZXRzTWFuYWdlckNsaWVudChvcHRpb25zOiBDbGllbnRPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyB0aGlzLkFXUy5TZWNyZXRzTWFuYWdlcihhd2FpdCB0aGlzLmF3c09wdGlvbnMob3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRpc2NvdmVyUGFydGl0aW9uKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmRpc2NvdmVyQ3VycmVudEFjY291bnQoKSkucGFydGl0aW9uO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRpc2NvdmVyRGVmYXVsdFJlZ2lvbigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLkFXUy5jb25maWcucmVnaW9uIHx8ICd1cy1lYXN0LTEnO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRpc2NvdmVyQ3VycmVudEFjY291bnQoKTogUHJvbWlzZTxBY2NvdW50PiB7XG4gICAgaWYgKHRoaXMuYWNjb3VudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBzdHMgPSBuZXcgdGhpcy5BV1MuU1RTKCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHN0cy5nZXRDYWxsZXJJZGVudGl0eSgpLnByb21pc2UoKTtcbiAgICAgIGlmICghcmVzcG9uc2UuQWNjb3VudCB8fCAhcmVzcG9uc2UuQXJuKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5yZWNvZ25pemVkIHJlcG9uc2UgZnJvbSBTVFM6ICcke0pTT04uc3RyaW5naWZ5KHJlc3BvbnNlKX0nYCk7XG4gICAgICB9XG4gICAgICB0aGlzLmFjY291bnQgPSB7XG4gICAgICAgIGFjY291bnRJZDogcmVzcG9uc2UuQWNjb3VudCEsXG4gICAgICAgIHBhcnRpdGlvbjogcmVzcG9uc2UuQXJuIS5zcGxpdCgnOicpWzFdLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hY2NvdW50O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRpc2NvdmVyVGFyZ2V0QWNjb3VudChvcHRpb25zOiBDbGllbnRPcHRpb25zKTogUHJvbWlzZTxBY2NvdW50PiB7XG4gICAgY29uc3Qgc3RzID0gbmV3IHRoaXMuQVdTLlNUUyhhd2FpdCB0aGlzLmF3c09wdGlvbnMob3B0aW9ucykpO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgc3RzLmdldENhbGxlcklkZW50aXR5KCkucHJvbWlzZSgpO1xuICAgIGlmICghcmVzcG9uc2UuQWNjb3VudCB8fCAhcmVzcG9uc2UuQXJuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCByZXBvbnNlIGZyb20gU1RTOiAnJHtKU09OLnN0cmluZ2lmeShyZXNwb25zZSl9J2ApO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgYWNjb3VudElkOiByZXNwb25zZS5BY2NvdW50ISxcbiAgICAgIHBhcnRpdGlvbjogcmVzcG9uc2UuQXJuIS5zcGxpdCgnOicpWzFdLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGF3c09wdGlvbnMob3B0aW9uczogQ2xpZW50T3B0aW9ucykge1xuICAgIGxldCBjcmVkZW50aWFscztcblxuICAgIGlmIChvcHRpb25zLmFzc3VtZVJvbGVBcm4pIHtcbiAgICAgIGNyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy5hc3N1bWVSb2xlKG9wdGlvbnMucmVnaW9uLCBvcHRpb25zLmFzc3VtZVJvbGVBcm4sIG9wdGlvbnMuYXNzdW1lUm9sZUV4dGVybmFsSWQpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICByZWdpb246IG9wdGlvbnMucmVnaW9uLFxuICAgICAgY3VzdG9tVXNlckFnZW50OiAnY2RrLWFzc2V0cycsXG4gICAgICBjcmVkZW50aWFscyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cGxpY2l0IG1hbnVhbCBBc3N1bWVSb2xlIGNhbGxcbiAgICpcbiAgICogTmVjZXNzYXJ5IHNpbmNlIEkgY2FuJ3Qgc2VlbSB0byBnZXQgdGhlIGJ1aWx0LWluIHN1cHBvcnQgZm9yIENoYWluYWJsZVRlbXBvcmFyeUNyZWRlbnRpYWxzIHRvIHdvcmsuXG4gICAqXG4gICAqIEl0IG5lZWRzIGFuIGV4cGxpY2l0IGNvbmZpZ3VyYXRpb24gb2YgYG1hc3RlckNyZWRlbnRpYWxzYCwgd2UgbmVlZCB0byBwdXRcbiAgICogYSBgRGVmYXVsdENyZWRlbnRpYWxQcm92ZXJDaGFpbigpYCBpbiB0aGVyZSBidXQgdGhhdCBpcyBub3QgcG9zc2libGUuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGFzc3VtZVJvbGUocmVnaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsIHJvbGVBcm46IHN0cmluZywgZXh0ZXJuYWxJZD86IHN0cmluZyk6IFByb21pc2U8QVdTLkNyZWRlbnRpYWxzPiB7XG4gICAgcmV0dXJuIG5ldyB0aGlzLkFXUy5DaGFpbmFibGVUZW1wb3JhcnlDcmVkZW50aWFscyh7XG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgUm9sZUFybjogcm9sZUFybixcbiAgICAgICAgRXh0ZXJuYWxJZDogZXh0ZXJuYWxJZCxcbiAgICAgICAgUm9sZVNlc3Npb25OYW1lOiBgY2RrLWFzc2V0cy0ke3NhZmVVc2VybmFtZSgpfWAsXG4gICAgICB9LFxuICAgICAgc3RzQ29uZmlnOiB7XG4gICAgICAgIHJlZ2lvbixcbiAgICAgICAgY3VzdG9tVXNlckFnZW50OiAnY2RrLWFzc2V0cycsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSB1c2VybmFtZSB3aXRoIGNoYXJhY3RlcnMgaW52YWxpZCBmb3IgYSBSb2xlU2Vzc2lvbk5hbWUgcmVtb3ZlZFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL1NUUy9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9Bc3N1bWVSb2xlLmh0bWwjQVBJX0Fzc3VtZVJvbGVfUmVxdWVzdFBhcmFtZXRlcnNcbiAqL1xuZnVuY3Rpb24gc2FmZVVzZXJuYW1lKCkge1xuICB0cnkge1xuICAgIHJldHVybiBvcy51c2VySW5mbygpLnVzZXJuYW1lLnJlcGxhY2UoL1teXFx3Kz0sLkAtXS9nLCAnQCcpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuICdub25hbWUnO1xuICB9XG59XG5cbiJdfQ==
@@ -1,10 +1,12 @@
1
1
  import { IAws } from '../aws';
2
2
  import { EventType } from '../progress';
3
+ import { DockerFactory } from './docker';
3
4
  export interface IAssetHandler {
4
5
  publish(): Promise<void>;
5
6
  }
6
7
  export interface IHandlerHost {
7
8
  readonly aws: IAws;
8
9
  readonly aborted: boolean;
10
+ readonly dockerFactory: DockerFactory;
9
11
  emitMessage(type: EventType, m: string): void;
10
12
  }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFzc2V0LWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBd3MgfSBmcm9tICcuLi9hd3MnO1xuaW1wb3J0IHsgRXZlbnRUeXBlIH0gZnJvbSAnLi4vcHJvZ3Jlc3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElBc3NldEhhbmRsZXIge1xuICBwdWJsaXNoKCk6IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUhhbmRsZXJIb3N0IHtcbiAgcmVhZG9ubHkgYXdzOiBJQXdzO1xuICByZWFkb25seSBhYm9ydGVkOiBib29sZWFuO1xuXG4gIGVtaXRNZXNzYWdlKHR5cGU6IEV2ZW50VHlwZSwgbTogc3RyaW5nKTogdm9pZDtcbn0iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFzc2V0LWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBd3MgfSBmcm9tICcuLi9hd3MnO1xuaW1wb3J0IHsgRXZlbnRUeXBlIH0gZnJvbSAnLi4vcHJvZ3Jlc3MnO1xuaW1wb3J0IHsgRG9ja2VyRmFjdG9yeSB9IGZyb20gJy4vZG9ja2VyJztcblxuZXhwb3J0IGludGVyZmFjZSBJQXNzZXRIYW5kbGVyIHtcbiAgcHVibGlzaCgpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElIYW5kbGVySG9zdCB7XG4gIHJlYWRvbmx5IGF3czogSUF3cztcbiAgcmVhZG9ubHkgYWJvcnRlZDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZG9ja2VyRmFjdG9yeTogRG9ja2VyRmFjdG9yeTtcblxuICBlbWl0TWVzc2FnZSh0eXBlOiBFdmVudFR5cGUsIG06IHN0cmluZyk6IHZvaWQ7XG59Il19
@@ -9,6 +9,7 @@ interface BuildOptions {
9
9
  readonly file?: string;
10
10
  readonly buildArgs?: Record<string, string>;
11
11
  readonly networkMode?: string;
12
+ readonly platform?: string;
12
13
  }
13
14
  export interface DockerCredentialsConfig {
14
15
  readonly version: string;
@@ -52,4 +53,26 @@ export declare class Docker {
52
53
  resetAuthPlugins(): void;
53
54
  private execute;
54
55
  }
56
+ export interface DockerFactoryOptions {
57
+ readonly repoUri: string;
58
+ readonly ecr: AWS.ECR;
59
+ readonly logger: (m: string) => void;
60
+ }
61
+ /**
62
+ * Helps get appropriately configured Docker instances during the container
63
+ * image publishing process.
64
+ */
65
+ export declare class DockerFactory {
66
+ private enterLoggedInDestinationsCriticalSection;
67
+ private loggedInDestinations;
68
+ /**
69
+ * Gets a Docker instance for building images.
70
+ */
71
+ forBuild(options: DockerFactoryOptions): Promise<Docker>;
72
+ /**
73
+ * Gets a Docker instance for pushing images to ECR.
74
+ */
75
+ forEcrPush(options: DockerFactoryOptions): Promise<Docker>;
76
+ private loginOncePerDestination;
77
+ }
55
78
  export {};
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Docker = void 0;
3
+ exports.DockerFactory = exports.Docker = void 0;
4
4
  const fs = require("fs");
5
5
  const os = require("os");
6
6
  const path = require("path");
7
7
  const docker_credentials_1 = require("./docker-credentials");
8
8
  const shell_1 = require("./shell");
9
+ const util_1 = require("./util");
9
10
  class Docker {
10
11
  constructor(logger) {
11
12
  this.logger = logger;
@@ -34,6 +35,7 @@ class Docker {
34
35
  ...options.target ? ['--target', options.target] : [],
35
36
  ...options.file ? ['--file', options.file] : [],
36
37
  ...options.networkMode ? ['--network', options.networkMode] : [],
38
+ ...options.platform ? ['--platform', options.platform] : [],
37
39
  '.',
38
40
  ];
39
41
  await this.execute(buildCommand, { cwd: options.directory });
@@ -117,7 +119,55 @@ class Docker {
117
119
  }
118
120
  }
119
121
  exports.Docker = Docker;
122
+ /**
123
+ * Helps get appropriately configured Docker instances during the container
124
+ * image publishing process.
125
+ */
126
+ class DockerFactory {
127
+ constructor() {
128
+ this.enterLoggedInDestinationsCriticalSection = util_1.createCriticalSection();
129
+ this.loggedInDestinations = new Set();
130
+ }
131
+ /**
132
+ * Gets a Docker instance for building images.
133
+ */
134
+ async forBuild(options) {
135
+ const docker = new Docker(options.logger);
136
+ // Default behavior is to login before build so that the Dockerfile can reference images in the ECR repo
137
+ // However, if we're in a pipelines environment (for example),
138
+ // we may have alternative credentials to the default ones to use for the build itself.
139
+ // If the special config file is present, delay the login to the default credentials until the push.
140
+ // If the config file is present, we will configure and use those credentials for the build.
141
+ let cdkDockerCredentialsConfigured = docker.configureCdkCredentials();
142
+ if (!cdkDockerCredentialsConfigured) {
143
+ await this.loginOncePerDestination(docker, options);
144
+ }
145
+ return docker;
146
+ }
147
+ /**
148
+ * Gets a Docker instance for pushing images to ECR.
149
+ */
150
+ async forEcrPush(options) {
151
+ const docker = new Docker(options.logger);
152
+ await this.loginOncePerDestination(docker, options);
153
+ return docker;
154
+ }
155
+ async loginOncePerDestination(docker, options) {
156
+ // Changes: 012345678910.dkr.ecr.us-west-2.amazonaws.com/tagging-test
157
+ // To this: 012345678910.dkr.ecr.us-west-2.amazonaws.com
158
+ const repositoryDomain = options.repoUri.split('/')[0];
159
+ // Ensure one-at-a-time access to loggedInDestinations.
160
+ await this.enterLoggedInDestinationsCriticalSection(async () => {
161
+ if (this.loggedInDestinations.has(repositoryDomain)) {
162
+ return;
163
+ }
164
+ await docker.login(options.ecr);
165
+ this.loggedInDestinations.add(repositoryDomain);
166
+ });
167
+ }
168
+ }
169
+ exports.DockerFactory = DockerFactory;
120
170
  function flatten(x) {
121
171
  return Array.prototype.concat([], ...x);
122
172
  }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZG9ja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLDZEQUFrRjtBQUNsRixtQ0FBc0Q7QUF5QnRELE1BQWEsTUFBTTtJQUlqQixZQUE2QixNQUFlO1FBQWYsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUZwQyxjQUFTLEdBQXVCLFNBQVMsQ0FBQztJQUdsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQVc7UUFDN0IsSUFBSTtZQUNGLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsUUFBUSxLQUFLLENBQUMsRUFBRTtnQkFBRSxNQUFNLENBQUMsQ0FBQzthQUFFO1lBQ2pFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFxQjtRQUN0QyxNQUFNLFlBQVksR0FBRztZQUNuQixPQUFPO1lBQ1AsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakcsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHO1lBQ3BCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFD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SSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFdEUsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRSxJQUFJO1lBQ0YsTUFBTSxhQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRTtnQkFDOUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixHQUFHLE9BQU87Z0JBQ1YsR0FBRyxFQUFFO29CQUNILEdBQUcsT0FBTyxDQUFDLEdBQUc7b0JBQ2QsR0FBRyxPQUFPLENBQUMsR0FBRztvQkFDZCxJQUFJLEVBQUUsR0FBRyxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFBLE9BQU8sQ0FBQyxHQUFHLDBDQUFFLElBQUksbUNBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUU7aUJBQ3BGO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsNEdBQTRHLENBQUMsQ0FBQzthQUMvSDtZQUNELE1BQU0sQ0FBQyxDQUFDO1NBQ1Q7SUFDSCxDQUFDO0NBQ0Y7QUFySEQsd0JBcUhDO0FBRUQsU0FBUyxPQUFPLENBQUMsQ0FBYTtJQUM1QixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgY2RrQ3JlZGVudGlhbHNDb25maWcsIG9idGFpbkVjckNyZWRlbnRpYWxzIH0gZnJvbSAnLi9kb2NrZXItY3JlZGVudGlhbHMnO1xuaW1wb3J0IHsgTG9nZ2VyLCBzaGVsbCwgU2hlbGxPcHRpb25zIH0gZnJvbSAnLi9zaGVsbCc7XG5cbmludGVyZmFjZSBCdWlsZE9wdGlvbnMge1xuICByZWFkb25seSBkaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogVGFnIHRoZSBpbWFnZSB3aXRoIGEgZ2l2ZW4gcmVwb05hbWU6dGFnIGNvbWJpbmF0aW9uXG4gICAqL1xuICByZWFkb25seSB0YWc6IHN0cmluZztcbiAgcmVhZG9ubHkgdGFyZ2V0Pzogc3RyaW5nO1xuICByZWFkb25seSBmaWxlPzogc3RyaW5nO1xuICByZWFkb25seSBidWlsZEFyZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICByZWFkb25seSBuZXR3b3JrTW9kZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb2NrZXJDcmVkZW50aWFsc0NvbmZpZyB7XG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbiAgcmVhZG9ubHkgZG9tYWluQ3JlZGVudGlhbHM6IFJlY29yZDxzdHJpbmcsIERvY2tlckRvbWFpbkNyZWRlbnRpYWxzPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb2NrZXJEb21haW5DcmVkZW50aWFscyB7XG4gIHJlYWRvbmx5IHNlY3JldHNNYW5hZ2VyU2VjcmV0SWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGVjclJlcG9zaXRvcnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBEb2NrZXIge1xuXG4gIHByaXZhdGUgY29uZmlnRGlyOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2dnZXI/OiBMb2dnZXIpIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGFuIGltYWdlIHdpdGggdGhlIGdpdmVuIHRhZyBleGlzdHNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBleGlzdHModGFnOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5leGVjdXRlKFsnaW5zcGVjdCcsIHRhZ10sIHsgcXVpZXQ6IHRydWUgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoZS5jb2RlICE9PSAnUFJPQ0VTU19GQUlMRUQnIHx8IGUuZXhpdENvZGUgIT09IDEpIHsgdGhyb3cgZTsgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMpIHtcbiAgICBjb25zdCBidWlsZENvbW1hbmQgPSBbXG4gICAgICAnYnVpbGQnLFxuICAgICAgLi4uZmxhdHRlbihPYmplY3QuZW50cmllcyhvcHRpb25zLmJ1aWxkQXJncyB8fCB7fSkubWFwKChbaywgdl0pID0+IFsnLS1idWlsZC1hcmcnLCBgJHtrfT0ke3Z9YF0pKSxcbiAgICAgICctLXRhZycsIG9wdGlvbnMudGFnLFxuICAgICAgLi4ub3B0aW9ucy50YXJnZXQgPyBbJy0tdGFyZ2V0Jywgb3B0aW9ucy50YXJnZXRdIDogW10sXG4gICAgICAuLi5vcHRpb25zLmZpbGUgPyBbJy0tZmlsZScsIG9wdGlvbnMuZmlsZV0gOiBbXSxcbiAgICAgIC4uLm9wdGlvbnMubmV0d29ya01vZGUgPyBbJy0tbmV0d29yaycsIG9wdGlvbnMubmV0d29ya01vZGVdIDogW10sXG4gICAgICAnLicsXG4gICAgXTtcbiAgICBhd2FpdCB0aGlzLmV4ZWN1dGUoYnVpbGRDb21tYW5kLCB7IGN3ZDogb3B0aW9ucy5kaXJlY3RvcnkgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNyZWRlbnRpYWxzIGZyb20gRUNSIGFuZCBydW4gZG9ja2VyIGxvZ2luXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbG9naW4oZWNyOiBBV1MuRUNSKSB7XG4gICAgY29uc3QgY3JlZGVudGlhbHMgPSBhd2FpdCBvYnRhaW5FY3JDcmVkZW50aWFscyhlY3IpO1xuXG4gICAgLy8gVXNlIC0tcGFzc3dvcmQtc3RkaW4gb3RoZXJ3aXNlIGRvY2tlciB3aWxsIGNvbXBsYWluLiBMb3VkbHkuXG4gICAgYXdhaXQgdGhpcy5leGVjdXRlKFsnbG9naW4nLFxuICAgICAgJy0tdXNlcm5hbWUnLCBjcmVkZW50aWFscy51c2VybmFtZSxcbiAgICAgICctLXBhc3N3b3JkLXN0ZGluJyxcbiAgICAgIGNyZWRlbnRpYWxzLmVuZHBvaW50XSwge1xuICAgICAgaW5wdXQ6IGNyZWRlbnRpYWxzLnBhc3N3b3JkLFxuXG4gICAgICAvLyBOZWVkIHRvIHF1aWV0IG90aGVyd2lzZSBEb2NrZXIgd2lsbCBjb21wbGFpblxuICAgICAgLy8gJ1dBUk5JTkchIFlvdXIgcGFzc3dvcmQgd2lsbCBiZSBzdG9yZWQgdW5lbmNyeXB0ZWQnXG4gICAgICAvLyBkb2Vzbid0IHJlYWxseSBtYXR0ZXIgc2luY2UgaXQncyBhIHRva2VuLlxuICAgICAgcXVpZXQ6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdGFnKHNvdXJjZVRhZzogc3RyaW5nLCB0YXJnZXRUYWc6IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMuZXhlY3V0ZShbJ3RhZycsIHNvdXJjZVRhZywgdGFyZ2V0VGFnXSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHVzaCh0YWc6IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMuZXhlY3V0ZShbJ3B1c2gnLCB0YWddKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBhIENESyBEb2NrZXIgQ3JlZGVudGlhbHMgZmlsZSBleGlzdHMsIGNyZWF0ZXMgYSBuZXcgRG9ja2VyIGNvbmZpZyBkaXJlY3RvcnkuXG4gICAqIFNldHMgdXAgYGRvY2tlci1jcmVkZW50aWFsLWNkay1hc3NldHNgIHRvIGJlIHRoZSBjcmVkZW50aWFsIGhlbHBlciBmb3IgZWFjaCBkb21haW4gaW4gdGhlIENESyBjb25maWcuXG4gICAqIEFsbCBmdXR1cmUgY29tbWFuZHMgKGUuZy4sIGBidWlsZGAsIGBwdXNoYCkgd2lsbCB1c2UgdGhpcyBjb25maWcuXG4gICAqXG4gICAqIFNlZSBodHRwczovL2RvY3MuZG9ja2VyLmNvbS9lbmdpbmUvcmVmZXJlbmNlL2NvbW1hbmRsaW5lL2xvZ2luLyNjcmVkZW50aWFsLWhlbHBlcnMgZm9yIG1vcmUgZGV0YWlscyBvbiBjcmVkIGhlbHBlcnMuXG4gICAqXG4gICAqIEByZXR1cm5zIHRydWUgaWYgQ0RLIGNvbmZpZyB3YXMgZm91bmQgYW5kIGNvbmZpZ3VyZWQsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgcHVibGljIGNvbmZpZ3VyZUNka0NyZWRlbnRpYWxzKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IGNka0NyZWRlbnRpYWxzQ29uZmlnKCk7XG4gICAgaWYgKCFjb25maWcpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgICB0aGlzLmNvbmZpZ0RpciA9IGZzLm1rZHRlbXBTeW5jKHBhdGguam9pbihvcy50bXBkaXIoKSwgJ2Nka0RvY2tlckNvbmZpZycpKTtcblxuICAgIGNvbnN0IGRvbWFpbnMgPSBPYmplY3Qua2V5cyhjb25maWcuZG9tYWluQ3JlZGVudGlhbHMpO1xuICAgIGNvbnN0IGNyZWRIZWxwZXJzID0gZG9tYWlucy5yZWR1Y2UoKG1hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiwgZG9tYWluKSA9PiB7XG4gICAgICBtYXBbZG9tYWluXSA9ICdjZGstYXNzZXRzJzsgLy8gVXNlIGRvY2tlci1jcmVkZW50aWFsLWNkay1hc3NldHMgZm9yIHRoaXMgZG9tYWluXG4gICAgICByZXR1cm4gbWFwO1xuICAgIH0sIHt9KTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbih0aGlzLmNvbmZpZ0RpciwgJ2NvbmZpZy5qc29uJyksIEpTT04uc3RyaW5naWZ5KHsgY3JlZEhlbHBlcnMgfSksIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGFueSBjb25maWd1cmVkIERvY2tlciBjb25maWcgZGlyZWN0b3J5LlxuICAgKiBBbGwgZnV0dXJlIGNvbW1hbmRzIChlLmcuLCBgYnVpbGRgLCBgcHVzaGApIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbmZpZy5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VmdWwgYWZ0ZXIgY2FsbGluZyBgY29uZmlndXJlQ2RrQ3JlZGVudGlhbHNgIHRvIHJlc2V0IHRvIGRlZmF1bHQgY3JlZGVudGlhbHMuXG4gICAqL1xuICBwdWJsaWMgcmVzZXRBdXRoUGx1Z2lucygpIHtcbiAgICB0aGlzLmNvbmZpZ0RpciA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZXhlY3V0ZShhcmdzOiBzdHJpbmdbXSwgb3B0aW9uczogU2hlbGxPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBjb25maWdBcmdzID0gdGhpcy5jb25maWdEaXIgPyBbJy0tY29uZmlnJywgdGhpcy5jb25maWdEaXJdIDogW107XG5cbiAgICBjb25zdCBwYXRoVG9DZGtBc3NldHMgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAnYmluJyk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHNoZWxsKFsnZG9ja2VyJywgLi4uY29uZmlnQXJncywgLi4uYXJnc10sIHtcbiAgICAgICAgbG9nZ2VyOiB0aGlzLmxvZ2dlcixcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgZW52OiB7XG4gICAgICAgICAgLi4ucHJvY2Vzcy5lbnYsXG4gICAgICAgICAgLi4ub3B0aW9ucy5lbnYsXG4gICAgICAgICAgUEFUSDogYCR7cGF0aFRvQ2RrQXNzZXRzfSR7cGF0aC5kZWxpbWl0ZXJ9JHtvcHRpb25zLmVudj8uUEFUSCA/PyBwcm9jZXNzLmVudi5QQVRIfWAsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoZS5jb2RlID09PSAnRU5PRU5UJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBleGVjdXRlIFxcJ2RvY2tlclxcJyBpbiBvcmRlciB0byBidWlsZCBhIGNvbnRhaW5lciBhc3NldC4gUGxlYXNlIGluc3RhbGwgXFwnZG9ja2VyXFwnIGFuZCB0cnkgYWdhaW4uJyk7XG4gICAgICB9XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmbGF0dGVuKHg6IHN0cmluZ1tdW10pIHtcbiAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQoW10sIC4uLngpO1xufVxuIl19
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZG9ja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLDZEQUFrRjtBQUNsRixtQ0FBc0Q7QUFDdEQsaUNBQStDO0FBMEIvQyxNQUFhLE1BQU07SUFJakIsWUFBNkIsTUFBZTtRQUFmLFdBQU0sR0FBTixNQUFNLENBQVM7UUFGcEMsY0FBUyxHQUF1QixTQUFTLENBQUM7SUFHbEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFXO1FBQzdCLElBQUk7WUFDRixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUN0RCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLElBQUksQ0FBQyxDQUFDLFFBQVEsS0FBSyxDQUFDLEVBQUU7Z0JBQUUsTUFBTSxDQUFDLENBQUM7YUFBRTtZQUNqRSxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBcUI7UUFDdEMsTUFBTSxZQUFZLEdBQUc7WUFDbkIsT0FBTztZQUNQLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2pHLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRztZQUNwQixHQUFHLE9BQU8sQ0FBQyxN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LENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBL0NELHNDQStDQztBQUVELFNBQVMsT0FBTyxDQUFDLENBQWE7SUFDNUIsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgb3MgZnJvbSAnb3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGNka0NyZWRlbnRpYWxzQ29uZmlnLCBvYnRhaW5FY3JDcmVkZW50aWFscyB9IGZyb20gJy4vZG9ja2VyLWNyZWRlbnRpYWxzJztcbmltcG9ydCB7IExvZ2dlciwgc2hlbGwsIFNoZWxsT3B0aW9ucyB9IGZyb20gJy4vc2hlbGwnO1xuaW1wb3J0IHsgY3JlYXRlQ3JpdGljYWxTZWN0aW9uIH0gZnJvbSAnLi91dGlsJztcblxuaW50ZXJmYWNlIEJ1aWxkT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUYWcgdGhlIGltYWdlIHdpdGggYSBnaXZlbiByZXBvTmFtZTp0YWcgY29tYmluYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHRhZzogc3RyaW5nO1xuICByZWFkb25seSB0YXJnZXQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZpbGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJ1aWxkQXJncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHJlYWRvbmx5IG5ldHdvcmtNb2RlPzogc3RyaW5nO1xuICByZWFkb25seSBwbGF0Zm9ybT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb2NrZXJDcmVkZW50aWFsc0NvbmZpZyB7XG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbiAgcmVhZG9ubHkgZG9tYWluQ3JlZGVudGlhbHM6IFJlY29yZDxzdHJpbmcsIERvY2tlckRvbWFpbkNyZWRlbnRpYWxzPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb2NrZXJEb21haW5DcmVkZW50aWFscyB7XG4gIHJlYWRvbmx5IHNlY3JldHNNYW5hZ2VyU2VjcmV0SWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGVjclJlcG9zaXRvcnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBEb2NrZXIge1xuXG4gIHByaXZhdGUgY29uZmlnRGlyOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2dnZXI/OiBMb2dnZXIpIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGFuIGltYWdlIHdpdGggdGhlIGdpdmVuIHRhZyBleGlzdHNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBleGlzdHModGFnOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5leGVjdXRlKFsnaW5zcGVjdCcsIHRhZ10sIHsgcXVpZXQ6IHRydWUgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoZS5jb2RlICE9PSAnUFJPQ0VTU19GQUlMRUQnIHx8IGUuZXhpdENvZGUgIT09IDEpIHsgdGhyb3cgZTsgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMpIHtcbiAgICBjb25zdCBidWlsZENvbW1hbmQgPSBbXG4gICAgICAnYnVpbGQnLFxuICAgICAgLi4uZmxhdHRlbihPYmplY3QuZW50cmllcyhvcHRpb25zLmJ1aWxkQXJncyB8fCB7fSkubWFwKChbaywgdl0pID0+IFsnLS1idWlsZC1hcmcnLCBgJHtrfT0ke3Z9YF0pKSxcbiAgICAgICctLXRhZycsIG9wdGlvbnMudGFnLFxuICAgICAgLi4ub3B0aW9ucy50YXJnZXQgPyBbJy0tdGFyZ2V0Jywgb3B0aW9ucy50YXJnZXRdIDogW10sXG4gICAgICAuLi5vcHRpb25zLmZpbGUgPyBbJy0tZmlsZScsIG9wdGlvbnMuZmlsZV0gOiBbXSxcbiAgICAgIC4uLm9wdGlvbnMubmV0d29ya01vZGUgPyBbJy0tbmV0d29yaycsIG9wdGlvbnMubmV0d29ya01vZGVdIDogW10sXG4gICAgICAuLi5vcHRpb25zLnBsYXRmb3JtID8gWyctLXBsYXRmb3JtJywgb3B0aW9ucy5wbGF0Zm9ybV0gOiBbXSxcbiAgICAgICcuJyxcbiAgICBdO1xuICAgIGF3YWl0IHRoaXMuZXhlY3V0ZShidWlsZENvbW1hbmQsIHsgY3dkOiBvcHRpb25zLmRpcmVjdG9yeSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgY3JlZGVudGlhbHMgZnJvbSBFQ1IgYW5kIHJ1biBkb2NrZXIgbG9naW5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBsb2dpbihlY3I6IEFXUy5FQ1IpIHtcbiAgICBjb25zdCBjcmVkZW50aWFscyA9IGF3YWl0IG9idGFpbkVjckNyZWRlbnRpYWxzKGVjcik7XG5cbiAgICAvLyBVc2UgLS1wYXNzd29yZC1zdGRpbiBvdGhlcndpc2UgZG9ja2VyIHdpbGwgY29tcGxhaW4uIExvdWRseS5cbiAgICBhd2FpdCB0aGlzLmV4ZWN1dGUoWydsb2dpbicsXG4gICAgICAnLS11c2VybmFtZScsIGNyZWRlbnRpYWxzLnVzZXJuYW1lLFxuICAgICAgJy0tcGFzc3dvcmQtc3RkaW4nLFxuICAgICAgY3JlZGVudGlhbHMuZW5kcG9pbnRdLCB7XG4gICAgICBpbnB1dDogY3JlZGVudGlhbHMucGFzc3dvcmQsXG5cbiAgICAgIC8vIE5lZWQgdG8gcXVpZXQgb3RoZXJ3aXNlIERvY2tlciB3aWxsIGNvbXBsYWluXG4gICAgICAvLyAnV0FSTklORyEgWW91ciBwYXNzd29yZCB3aWxsIGJlIHN0b3JlZCB1bmVuY3J5cHRlZCdcbiAgICAgIC8vIGRvZXNuJ3QgcmVhbGx5IG1hdHRlciBzaW5jZSBpdCdzIGEgdG9rZW4uXG4gICAgICBxdWlldDogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB0YWcoc291cmNlVGFnOiBzdHJpbmcsIHRhcmdldFRhZzogc3RyaW5nKSB7XG4gICAgYXdhaXQgdGhpcy5leGVjdXRlKFsndGFnJywgc291cmNlVGFnLCB0YXJnZXRUYWddKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwdXNoKHRhZzogc3RyaW5nKSB7XG4gICAgYXdhaXQgdGhpcy5leGVjdXRlKFsncHVzaCcsIHRhZ10pO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIGEgQ0RLIERvY2tlciBDcmVkZW50aWFscyBmaWxlIGV4aXN0cywgY3JlYXRlcyBhIG5ldyBEb2NrZXIgY29uZmlnIGRpcmVjdG9yeS5cbiAgICogU2V0cyB1cCBgZG9ja2VyLWNyZWRlbnRpYWwtY2RrLWFzc2V0c2AgdG8gYmUgdGhlIGNyZWRlbnRpYWwgaGVscGVyIGZvciBlYWNoIGRvbWFpbiBpbiB0aGUgQ0RLIGNvbmZpZy5cbiAgICogQWxsIGZ1dHVyZSBjb21tYW5kcyAoZS5nLiwgYGJ1aWxkYCwgYHB1c2hgKSB3aWxsIHVzZSB0aGlzIGNvbmZpZy5cbiAgICpcbiAgICogU2VlIGh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2VuZ2luZS9yZWZlcmVuY2UvY29tbWFuZGxpbmUvbG9naW4vI2NyZWRlbnRpYWwtaGVscGVycyBmb3IgbW9yZSBkZXRhaWxzIG9uIGNyZWQgaGVscGVycy5cbiAgICpcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBDREsgY29uZmlnIHdhcyBmb3VuZCBhbmQgY29uZmlndXJlZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICBwdWJsaWMgY29uZmlndXJlQ2RrQ3JlZGVudGlhbHMoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29uZmlnID0gY2RrQ3JlZGVudGlhbHNDb25maWcoKTtcbiAgICBpZiAoIWNvbmZpZykgeyByZXR1cm4gZmFsc2U7IH1cblxuICAgIHRoaXMuY29uZmlnRGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCAnY2RrRG9ja2VyQ29uZmlnJykpO1xuXG4gICAgY29uc3QgZG9tYWlucyA9IE9iamVjdC5rZXlzKGNvbmZpZy5kb21haW5DcmVkZW50aWFscyk7XG4gICAgY29uc3QgY3JlZEhlbHBlcnMgPSBkb21haW5zLnJlZHVjZSgobWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBkb21haW4pID0+IHtcbiAgICAgIG1hcFtkb21haW5dID0gJ2Nkay1hc3NldHMnOyAvLyBVc2UgZG9ja2VyLWNyZWRlbnRpYWwtY2RrLWFzc2V0cyBmb3IgdGhpcyBkb21haW5cbiAgICAgIHJldHVybiBtYXA7XG4gICAgfSwge30pO1xuICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKHRoaXMuY29uZmlnRGlyLCAnY29uZmlnLmpzb24nKSwgSlNPTi5zdHJpbmdpZnkoeyBjcmVkSGVscGVycyB9KSwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYW55IGNvbmZpZ3VyZWQgRG9ja2VyIGNvbmZpZyBkaXJlY3RvcnkuXG4gICAqIEFsbCBmdXR1cmUgY29tbWFuZHMgKGUuZy4sIGBidWlsZGAsIGBwdXNoYCkgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29uZmlnLlxuICAgKlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBhZnRlciBjYWxsaW5nIGBjb25maWd1cmVDZGtDcmVkZW50aWFsc2AgdG8gcmVzZXQgdG8gZGVmYXVsdCBjcmVkZW50aWFscy5cbiAgICovXG4gIHB1YmxpYyByZXNldEF1dGhQbHVnaW5zKCkge1xuICAgIHRoaXMuY29uZmlnRGlyID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBleGVjdXRlKGFyZ3M6IHN0cmluZ1tdLCBvcHRpb25zOiBTaGVsbE9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IGNvbmZpZ0FyZ3MgPSB0aGlzLmNvbmZpZ0RpciA/IFsnLS1jb25maWcnLCB0aGlzLmNvbmZpZ0Rpcl0gOiBbXTtcblxuICAgIGNvbnN0IHBhdGhUb0Nka0Fzc2V0cyA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICcuLicsICdiaW4nKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgc2hlbGwoWydkb2NrZXInLCAuLi5jb25maWdBcmdzLCAuLi5hcmdzXSwge1xuICAgICAgICBsb2dnZXI6IHRoaXMubG9nZ2VyLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICBlbnY6IHtcbiAgICAgICAgICAuLi5wcm9jZXNzLmVudixcbiAgICAgICAgICAuLi5vcHRpb25zLmVudixcbiAgICAgICAgICBQQVRIOiBgJHtwYXRoVG9DZGtBc3NldHN9JHtwYXRoLmRlbGltaXRlcn0ke29wdGlvbnMuZW52Py5QQVRIID8/IHByb2Nlc3MuZW52LlBBVEh9YCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChlLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGV4ZWN1dGUgXFwnZG9ja2VyXFwnIGluIG9yZGVyIHRvIGJ1aWxkIGEgY29udGFpbmVyIGFzc2V0LiBQbGVhc2UgaW5zdGFsbCBcXCdkb2NrZXJcXCcgYW5kIHRyeSBhZ2Fpbi4nKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9ja2VyRmFjdG9yeU9wdGlvbnMge1xuICByZWFkb25seSByZXBvVXJpOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGVjcjogQVdTLkVDUjtcbiAgcmVhZG9ubHkgbG9nZ2VyOiAobTogc3RyaW5nKSA9PiB2b2lkO1xufVxuXG4vKipcbiAqIEhlbHBzIGdldCBhcHByb3ByaWF0ZWx5IGNvbmZpZ3VyZWQgRG9ja2VyIGluc3RhbmNlcyBkdXJpbmcgdGhlIGNvbnRhaW5lclxuICogaW1hZ2UgcHVibGlzaGluZyBwcm9jZXNzLlxuICovXG5leHBvcnQgY2xhc3MgRG9ja2VyRmFjdG9yeSB7XG4gIHByaXZhdGUgZW50ZXJMb2dnZWRJbkRlc3RpbmF0aW9uc0NyaXRpY2FsU2VjdGlvbiA9IGNyZWF0ZUNyaXRpY2FsU2VjdGlvbigpO1xuICBwcml2YXRlIGxvZ2dlZEluRGVzdGluYXRpb25zID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBEb2NrZXIgaW5zdGFuY2UgZm9yIGJ1aWxkaW5nIGltYWdlcy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBmb3JCdWlsZChvcHRpb25zOiBEb2NrZXJGYWN0b3J5T3B0aW9ucyk6IFByb21pc2U8RG9ja2VyPiB7XG4gICAgY29uc3QgZG9ja2VyID0gbmV3IERvY2tlcihvcHRpb25zLmxvZ2dlcik7XG5cbiAgICAvLyBEZWZhdWx0IGJlaGF2aW9yIGlzIHRvIGxvZ2luIGJlZm9yZSBidWlsZCBzbyB0aGF0IHRoZSBEb2NrZXJmaWxlIGNhbiByZWZlcmVuY2UgaW1hZ2VzIGluIHRoZSBFQ1IgcmVwb1xuICAgIC8vIEhvd2V2ZXIsIGlmIHdlJ3JlIGluIGEgcGlwZWxpbmVzIGVudmlyb25tZW50IChmb3IgZXhhbXBsZSksXG4gICAgLy8gd2UgbWF5IGhhdmUgYWx0ZXJuYXRpdmUgY3JlZGVudGlhbHMgdG8gdGhlIGRlZmF1bHQgb25lcyB0byB1c2UgZm9yIHRoZSBidWlsZCBpdHNlbGYuXG4gICAgLy8gSWYgdGhlIHNwZWNpYWwgY29uZmlnIGZpbGUgaXMgcHJlc2VudCwgZGVsYXkgdGhlIGxvZ2luIHRvIHRoZSBkZWZhdWx0IGNyZWRlbnRpYWxzIHVudGlsIHRoZSBwdXNoLlxuICAgIC8vIElmIHRoZSBjb25maWcgZmlsZSBpcyBwcmVzZW50LCB3ZSB3aWxsIGNvbmZpZ3VyZSBhbmQgdXNlIHRob3NlIGNyZWRlbnRpYWxzIGZvciB0aGUgYnVpbGQuXG4gICAgbGV0IGNka0RvY2tlckNyZWRlbnRpYWxzQ29uZmlndXJlZCA9IGRvY2tlci5jb25maWd1cmVDZGtDcmVkZW50aWFscygpO1xuICAgIGlmICghY2RrRG9ja2VyQ3JlZGVudGlhbHNDb25maWd1cmVkKSB7XG4gICAgICBhd2FpdCB0aGlzLmxvZ2luT25jZVBlckRlc3RpbmF0aW9uKGRvY2tlciwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRvY2tlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgRG9ja2VyIGluc3RhbmNlIGZvciBwdXNoaW5nIGltYWdlcyB0byBFQ1IuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZm9yRWNyUHVzaChvcHRpb25zOiBEb2NrZXJGYWN0b3J5T3B0aW9ucykge1xuICAgIGNvbnN0IGRvY2tlciA9IG5ldyBEb2NrZXIob3B0aW9ucy5sb2dnZXIpO1xuICAgIGF3YWl0IHRoaXMubG9naW5PbmNlUGVyRGVzdGluYXRpb24oZG9ja2VyLCBvcHRpb25zKTtcbiAgICByZXR1cm4gZG9ja2VyO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2dpbk9uY2VQZXJEZXN0aW5hdGlvbihkb2NrZXI6IERvY2tlciwgb3B0aW9uczogRG9ja2VyRmFjdG9yeU9wdGlvbnMpIHtcbiAgICAvLyBDaGFuZ2VzOiAwMTIzNDU2Nzg5MTAuZGtyLmVjci51cy13ZXN0LTIuYW1hem9uYXdzLmNvbS90YWdnaW5nLXRlc3RcbiAgICAvLyBUbyB0aGlzOiAwMTIzNDU2Nzg5MTAuZGtyLmVjci51cy13ZXN0LTIuYW1hem9uYXdzLmNvbVxuICAgIGNvbnN0IHJlcG9zaXRvcnlEb21haW4gPSBvcHRpb25zLnJlcG9Vcmkuc3BsaXQoJy8nKVswXTtcblxuICAgIC8vIEVuc3VyZSBvbmUtYXQtYS10aW1lIGFjY2VzcyB0byBsb2dnZWRJbkRlc3RpbmF0aW9ucy5cbiAgICBhd2FpdCB0aGlzLmVudGVyTG9nZ2VkSW5EZXN0aW5hdGlvbnNDcml0aWNhbFNlY3Rpb24oYXN5bmMgKCkgPT4ge1xuICAgICAgaWYgKHRoaXMubG9nZ2VkSW5EZXN0aW5hdGlvbnMuaGFzKHJlcG9zaXRvcnlEb21haW4pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgZG9ja2VyLmxvZ2luKG9wdGlvbnMuZWNyKTtcbiAgICAgIHRoaXMubG9nZ2VkSW5EZXN0aW5hdGlvbnMuYWRkKHJlcG9zaXRvcnlEb21haW4pO1xuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZsYXR0ZW4oeDogc3RyaW5nW11bXSkge1xuICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdChbXSwgLi4ueCk7XG59XG4iXX0=
@@ -4,23 +4,8 @@ export declare class ContainerImageAssetHandler implements IAssetHandler {
4
4
  private readonly workDir;
5
5
  private readonly asset;
6
6
  private readonly host;
7
- private readonly docker;
8
7
  constructor(workDir: string, asset: DockerImageManifestEntry, host: IHandlerHost);
9
8
  publish(): Promise<void>;
10
- /**
11
- * Build a (local) Docker asset from a directory with a Dockerfile
12
- *
13
- * Tags under a deterministic, unique, local identifier wich will skip
14
- * the build if it already exists.
15
- */
16
- private buildDirectoryAsset;
17
- /**
18
- * Build a (local) Docker asset by running an external command
19
- *
20
- * External command is responsible for deduplicating the build if possible,
21
- * and is expected to return the generated image identifier on stdout.
22
- */
23
- private buildExternalAsset;
24
9
  /**
25
10
  * Check whether the image already exists in the ECR repo
26
11
  *
@@ -29,6 +14,4 @@ export declare class ContainerImageAssetHandler implements IAssetHandler {
29
14
  * for user benefit (the format is slightly different).
30
15
  */
31
16
  private destinationAlreadyExists;
32
- private buildImage;
33
- private isImageCached;
34
17
  }
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContainerImageAssetHandler = void 0;
4
4
  const path = require("path");
5
5
  const progress_1 = require("../../progress");
6
- const docker_1 = require("../docker");
7
6
  const placeholders_1 = require("../placeholders");
8
7
  const shell_1 = require("../shell");
9
8
  class ContainerImageAssetHandler {
@@ -11,7 +10,6 @@ class ContainerImageAssetHandler {
11
10
  this.workDir = workDir;
12
11
  this.asset = asset;
13
12
  this.host = host;
14
- this.docker = new docker_1.Docker(m => this.host.emitMessage(progress_1.EventType.DEBUG, m));
15
13
  }
16
14
  async publish() {
17
15
  const destination = await placeholders_1.replaceAwsPlaceholders(this.asset.destination, this.host.aws);
@@ -28,18 +26,14 @@ class ContainerImageAssetHandler {
28
26
  if (this.host.aborted) {
29
27
  return;
30
28
  }
31
- // Default behavior is to login before build so that the Dockerfile can reference images in the ECR repo
32
- // However, if we're in a pipelines environment (for example),
33
- // we may have alternative credentials to the default ones to use for the build itself.
34
- // If the special config file is present, delay the login to the default credentials until the push.
35
- // If the config file is present, we will configure and use those credentials for the build.
36
- let cdkDockerCredentialsConfigured = this.docker.configureCdkCredentials();
37
- if (!cdkDockerCredentialsConfigured) {
38
- await this.docker.login(ecr);
39
- }
40
- const localTagName = this.asset.source.executable
41
- ? await this.buildExternalAsset(this.asset.source.executable)
42
- : await this.buildDirectoryAsset();
29
+ const containerImageDockerOptions = {
30
+ repoUri,
31
+ logger: (m) => this.host.emitMessage(progress_1.EventType.DEBUG, m),
32
+ ecr,
33
+ };
34
+ const dockerForBuilding = await this.host.dockerFactory.forBuild(containerImageDockerOptions);
35
+ const builder = new ContainerImageBuilder(dockerForBuilding, this.workDir, this.asset, this.host);
36
+ const localTagName = await builder.build();
43
37
  if (localTagName === undefined || this.host.aborted) {
44
38
  return;
45
39
  }
@@ -47,12 +41,38 @@ class ContainerImageAssetHandler {
47
41
  if (this.host.aborted) {
48
42
  return;
49
43
  }
50
- await this.docker.tag(localTagName, imageUri);
51
- if (cdkDockerCredentialsConfigured) {
52
- this.docker.resetAuthPlugins();
53
- await this.docker.login(ecr);
44
+ await dockerForBuilding.tag(localTagName, imageUri);
45
+ const dockerForPushing = await this.host.dockerFactory.forEcrPush(containerImageDockerOptions);
46
+ await dockerForPushing.push(imageUri);
47
+ }
48
+ /**
49
+ * Check whether the image already exists in the ECR repo
50
+ *
51
+ * Use the fields from the destination to do the actual check. The imageUri
52
+ * should correspond to that, but is only used to print Docker image location
53
+ * for user benefit (the format is slightly different).
54
+ */
55
+ async destinationAlreadyExists(ecr, destination, imageUri) {
56
+ this.host.emitMessage(progress_1.EventType.CHECK, `Check ${imageUri}`);
57
+ if (await imageExists(ecr, destination.repositoryName, destination.imageTag)) {
58
+ this.host.emitMessage(progress_1.EventType.FOUND, `Found ${imageUri}`);
59
+ return true;
54
60
  }
55
- await this.docker.push(imageUri);
61
+ return false;
62
+ }
63
+ }
64
+ exports.ContainerImageAssetHandler = ContainerImageAssetHandler;
65
+ class ContainerImageBuilder {
66
+ constructor(docker, workDir, asset, host) {
67
+ this.docker = docker;
68
+ this.workDir = workDir;
69
+ this.asset = asset;
70
+ this.host = host;
71
+ }
72
+ async build() {
73
+ return this.asset.source.executable
74
+ ? this.buildExternalAsset(this.asset.source.executable)
75
+ : this.buildDirectoryAsset();
56
76
  }
57
77
  /**
58
78
  * Build a (local) Docker asset from a directory with a Dockerfile
@@ -84,21 +104,6 @@ class ContainerImageAssetHandler {
84
104
  }
85
105
  return (await shell_1.shell(executable, { cwd: assetPath, quiet: true })).trim();
86
106
  }
87
- /**
88
- * Check whether the image already exists in the ECR repo
89
- *
90
- * Use the fields from the destination to do the actual check. The imageUri
91
- * should correspond to that, but is only used to print Docker image location
92
- * for user benefit (the format is slightly different).
93
- */
94
- async destinationAlreadyExists(ecr, destination, imageUri) {
95
- this.host.emitMessage(progress_1.EventType.CHECK, `Check ${imageUri}`);
96
- if (await imageExists(ecr, destination.repositoryName, destination.imageTag)) {
97
- this.host.emitMessage(progress_1.EventType.FOUND, `Found ${imageUri}`);
98
- return true;
99
- }
100
- return false;
101
- }
102
107
  async buildImage(localTagName) {
103
108
  const source = this.asset.source;
104
109
  if (!source.directory) {
@@ -113,6 +118,7 @@ class ContainerImageAssetHandler {
113
118
  target: source.dockerBuildTarget,
114
119
  file: source.dockerFile,
115
120
  networkMode: source.networkMode,
121
+ platform: source.platform,
116
122
  });
117
123
  }
118
124
  async isImageCached(localTagName) {
@@ -123,7 +129,6 @@ class ContainerImageAssetHandler {
123
129
  return false;
124
130
  }
125
131
  }
126
- exports.ContainerImageAssetHandler = ContainerImageAssetHandler;
127
132
  async function imageExists(ecr, repositoryName, imageTag) {
128
133
  try {
129
134
  await ecr.describeImages({ repositoryName, imageIds: [{ imageTag }] }).promise();
@@ -154,4 +159,4 @@ async function repositoryUri(ecr, repositoryName) {
154
159
  return undefined;
155
160
  }
156
161
  }
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLWltYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnRhaW5lci1pbWFnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBRzdCLDZDQUEyQztBQUUzQyxzQ0FBbUM7QUFDbkMsa0RBQXlEO0FBQ3pELG9DQUFpQztBQUVqQyxNQUFhLDBCQUEwQjtJQUdyQyxZQUNtQixPQUFlLEVBQ2YsS0FBK0IsRUFDL0IsSUFBa0I7UUFGbEIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQTBCO1FBQy9CLFNBQUksR0FBSixJQUFJLENBQWM7UUFMcEIsV0FBTSxHQUFHLElBQUksZUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQU1yRixDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU87UUFDbEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxxQ0FBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sT0FBTyxHQUFHLEtBQUssSUFBSSxFQUFFLHdCQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLDBDQUFFLFNBQVMsR0FBQSxDQUFDO1FBQ3RGLE1BQU0sT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFckUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJB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QUFDO1FBQ2pHLGFBQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQywwQ0FBRSxhQUFhLENBQUM7S0FDeEQ7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyw2QkFBNkIsRUFBRTtZQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQUU7UUFDMUQsT0FBTyxTQUFTLENBQUM7S0FDbEI7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IERvY2tlckltYWdlRGVzdGluYXRpb24gfSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1zY2hlbWEnO1xuaW1wb3J0IHsgRG9ja2VySW1hZ2VNYW5pZmVzdEVudHJ5IH0gZnJvbSAnLi4vLi4vYXNzZXQtbWFuaWZlc3QnO1xuaW1wb3J0IHsgRXZlbnRUeXBlIH0gZnJvbSAnLi4vLi4vcHJvZ3Jlc3MnO1xuaW1wb3J0IHsgSUFzc2V0SGFuZGxlciwgSUhhbmRsZXJIb3N0IH0gZnJvbSAnLi4vYXNzZXQtaGFuZGxlcic7XG5pbXBvcnQgeyBEb2NrZXIgfSBmcm9tICcuLi9kb2NrZXInO1xuaW1wb3J0IHsgcmVwbGFjZUF3c1BsYWNlaG9sZGVycyB9IGZyb20gJy4uL3BsYWNlaG9sZGVycyc7XG5pbXBvcnQgeyBzaGVsbCB9IGZyb20gJy4uL3NoZWxsJztcblxuZXhwb3J0IGNsYXNzIENvbnRhaW5lckltYWdlQXNzZXRIYW5kbGVyIGltcGxlbWVudHMgSUFzc2V0SGFuZGxlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9ja2VyID0gbmV3IERvY2tlcihtID0+IHRoaXMuaG9zdC5lbWl0TWVzc2FnZShFdmVudFR5cGUuREVCVUcsIG0pKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdvcmtEaXI6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFzc2V0OiBEb2NrZXJJbWFnZU1hbmlmZXN0RW50cnksXG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0OiBJSGFuZGxlckhvc3QpIHtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwdWJsaXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gYXdhaXQgcmVwbGFjZUF3c1BsYWNlaG9sZGVycyh0aGlzLmFzc2V0LmRlc3RpbmF0aW9uLCB0aGlzLmhvc3QuYXdzKTtcbiAgICBjb25zdCBlY3IgPSBhd2FpdCB0aGlzLmhvc3QuYXdzLmVjckNsaWVudChkZXN0aW5hdGlvbik7XG4gICAgY29uc3QgYWNjb3VudCA9IGFzeW5jICgpID0+IChhd2FpdCB0aGlzLmhvc3QuYXdzLmRpc2NvdmVyQ3VycmVudEFjY291bnQoKSk/LmFjY291bnRJZDtcbiAgICBjb25zdCByZXBvVXJpID0gYXdhaXQgcmVwb3NpdG9yeVVyaShlY3IsIGRlc3RpbmF0aW9uLnJlcG9zaXRvcnlOYW1lKTtcblxuICAgIGlmICghcmVwb1VyaSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBFQ1IgcmVwb3NpdG9yeSBuYW1lZCAnJHtkZXN0aW5hdGlvbi5yZXBvc2l0b3J5TmFtZX0nIGluIGFjY291bnQgJHthd2FpdCBhY2NvdW50KCl9LiBJcyB0aGlzIGFjY291bnQgYm9vdHN0cmFwcGVkP2ApO1xuICAgIH1cblxuICAgIGNvbnN0IGltYWdlVXJpID0gYCR7cmVwb1VyaX06JHtkZXN0aW5hdGlvbi5pbWFnZVRhZ31gO1xuXG4gICAgaWYgKGF3YWl0IHRoaXMuZGVzdGluYXRpb25BbHJlYWR5RXhpc3RzKGVjciwgZGVzdGluYXRpb24sIGltYWdlVXJpKSkgeyByZXR1cm47IH1cbiAgICBpZiAodGhpcy5ob3N0LmFib3J0ZWQpIHsgcmV0dXJuOyB9XG5cbiAgICAvLyBEZWZhdWx0IGJlaGF2aW9yIGlzIHRvIGxvZ2luIGJlZm9yZSBidWlsZCBzbyB0aGF0IHRoZSBEb2NrZXJmaWxlIGNhbiByZWZlcmVuY2UgaW1hZ2VzIGluIHRoZSBFQ1IgcmVwb1xuICAgIC8vIEhvd2V2ZXIsIGlmIHdlJ3JlIGluIGEgcGlwZWxpbmVzIGVudmlyb25tZW50IChmb3IgZXhhbXBsZSksXG4gICAgLy8gd2UgbWF5IGhhdmUgYWx0ZXJuYXRpdmUgY3JlZGVudGlhbHMgdG8gdGhlIGRlZmF1bHQgb25lcyB0byB1c2UgZm9yIHRoZSBidWlsZCBpdHNlbGYuXG4gICAgLy8gSWYgdGhlIHNwZWNpYWwgY29uZmlnIGZpbGUgaXMgcHJlc2VudCwgZGVsYXkgdGhlIGxvZ2luIHRvIHRoZSBkZWZhdWx0IGNyZWRlbnRpYWxzIHVudGlsIHRoZSBwdXNoLlxuICAgIC8vIElmIHRoZSBjb25maWcgZmlsZSBpcyBwcmVzZW50LCB3ZSB3aWxsIGNvbmZpZ3VyZSBhbmQgdXNlIHRob3NlIGNyZWRlbnRpYWxzIGZvciB0aGUgYnVpbGQuXG4gICAgbGV0IGNka0RvY2tlckNyZWRlbnRpYWxzQ29uZmlndXJlZCA9IHRoaXMuZG9ja2VyLmNvbmZpZ3VyZUNka0NyZWRlbnRpYWxzKCk7XG4gICAgaWYgKCFjZGtEb2NrZXJDcmVkZW50aWFsc0NvbmZpZ3VyZWQpIHsgYXdhaXQgdGhpcy5kb2NrZXIubG9naW4oZWNyKTsgfVxuXG4gICAgY29uc3QgbG9jYWxUYWdOYW1lID0gdGhpcy5hc3NldC5zb3VyY2UuZXhlY3V0YWJsZVxuICAgICAgPyBhd2FpdCB0aGlzLmJ1aWxkRXh0ZXJuYWxBc3NldCh0aGlzLmFzc2V0LnNvdXJjZS5leGVjdXRhYmxlKVxuICAgICAgOiBhd2FpdCB0aGlzLmJ1aWxkRGlyZWN0b3J5QXNzZXQoKTtcblxuICAgIGlmIChsb2NhbFRhZ05hbWUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLmhvc3QuYWJvcnRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaG9zdC5lbWl0TWVzc2FnZShFdmVudFR5cGUuVVBMT0FELCBgUHVzaCAke2ltYWdlVXJpfWApO1xuICAgIGlmICh0aGlzLmhvc3QuYWJvcnRlZCkgeyByZXR1cm47IH1cbiAgICBhd2FpdCB0aGlzLmRvY2tlci50YWcobG9jYWxUYWdOYW1lLCBpbWFnZVVyaSk7XG5cbiAgICBpZiAoY2RrRG9ja2VyQ3JlZGVudGlhbHNDb25maWd1cmVkKSB7XG4gICAgICB0aGlzLmRvY2tlci5yZXNldEF1dGhQbHVnaW5zKCk7XG4gICAgICBhd2FpdCB0aGlzLmRvY2tlci5sb2dpbihlY3IpO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuZG9ja2VyLnB1c2goaW1hZ2VVcmkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgKGxvY2FsKSBEb2NrZXIgYXNzZXQgZnJvbSBhIGRpcmVjdG9yeSB3aXRoIGEgRG9ja2VyZmlsZVxuICAgKlxuICAgKiBUYWdzIHVuZGVyIGEgZGV0ZXJtaW5pc3RpYywgdW5pcXVlLCBsb2NhbCBpZGVudGlmaWVyIHdpY2ggd2lsbCBza2lwXG4gICAqIHRoZSBidWlsZCBpZiBpdCBhbHJlYWR5IGV4aXN0cy5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgYnVpbGREaXJlY3RvcnlBc3NldCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGxvY2FsVGFnTmFtZSA9IGBjZGthc3NldC0ke3RoaXMuYXNzZXQuaWQuYXNzZXRJZC50b0xvd2VyQ2FzZSgpfWA7XG5cbiAgICBpZiAoIShhd2FpdCB0aGlzLmlzSW1hZ2VDYWNoZWQobG9jYWxUYWdOYW1lKSkpIHtcbiAgICAgIGlmICh0aGlzLmhvc3QuYWJvcnRlZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG5cbiAgICAgIGF3YWl0IHRoaXMuYnVpbGRJbWFnZShsb2NhbFRhZ05hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBsb2NhbFRhZ05hbWU7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSAobG9jYWwpIERvY2tlciBhc3NldCBieSBydW5uaW5nIGFuIGV4dGVybmFsIGNvbW1hbmRcbiAgICpcbiAgICogRXh0ZXJuYWwgY29tbWFuZCBpcyByZXNwb25zaWJsZSBmb3IgZGVkdXBsaWNhdGluZyB0aGUgYnVpbGQgaWYgcG9zc2libGUsXG4gICAqIGFuZCBpcyBleHBlY3RlZCB0byByZXR1cm4gdGhlIGdlbmVyYXRlZCBpbWFnZSBpZGVudGlmaWVyIG9uIHN0ZG91dC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgYnVpbGRFeHRlcm5hbEFzc2V0KGV4ZWN1dGFibGU6IHN0cmluZ1tdLCBjd2Q/OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuXG4gICAgY29uc3QgYXNzZXRQYXRoID0gY3dkID8/IHRoaXMud29ya0RpcjtcblxuICAgIHRoaXMuaG9zdC5lbWl0TWVzc2FnZShFdmVudFR5cGUuQlVJTEQsIGBCdWlsZGluZyBEb2NrZXIgaW1hZ2UgdXNpbmcgY29tbWFuZCAnJHtleGVjdXRhYmxlfSdgKTtcbiAgICBpZiAodGhpcy5ob3N0LmFib3J0ZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuXG4gICAgcmV0dXJuIChhd2FpdCBzaGVsbChleGVjdXRhYmxlLCB7IGN3ZDogYXNzZXRQYXRoLCBxdWlldDogdHJ1ZSB9KSkudHJpbSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIHdoZXRoZXIgdGhlIGltYWdlIGFscmVhZHkgZXhpc3RzIGluIHRoZSBFQ1IgcmVwb1xuICAgKlxuICAgKiBVc2UgdGhlIGZpZWxkcyBmcm9tIHRoZSBkZXN0aW5hdGlvbiB0byBkbyB0aGUgYWN0dWFsIGNoZWNrLiBUaGUgaW1hZ2VVcmlcbiAgICogc2hvdWxkIGNvcnJlc3BvbmQgdG8gdGhhdCwgYnV0IGlzIG9ubHkgdXNlZCB0byBwcmludCBEb2NrZXIgaW1hZ2UgbG9jYXRpb25cbiAgICogZm9yIHVzZXIgYmVuZWZpdCAodGhlIGZvcm1hdCBpcyBzbGlnaHRseSBkaWZmZXJlbnQpLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBkZXN0aW5hdGlvbkFscmVhZHlFeGlzdHMoZWNyOiBBV1MuRUNSLCBkZXN0aW5hdGlvbjogRG9ja2VySW1hZ2VEZXN0aW5hdGlvbiwgaW1hZ2VVcmk6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRoaXMuaG9zdC5lbWl0TWVzc2FnZShFdmVudFR5cGUuQ0hFQ0ssIGBDaGVjayAke2ltYWdlVXJpfWApO1xuICAgIGlmIChhd2FpdCBpbWFnZUV4aXN0cyhlY3IsIGRlc3RpbmF0aW9uLnJlcG9zaXRvcnlOYW1lLCBkZXN0aW5hdGlvbi5pbWFnZVRhZykpIHtcbiAgICAgIHRoaXMuaG9zdC5lbWl0TWVzc2FnZShFdmVudFR5cGUuRk9VTkQsIGBGb3VuZCAke2ltYWdlVXJpfWApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBidWlsZEltYWdlKGxvY2FsVGFnTmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5hc3NldC5zb3VyY2U7XG4gICAgaWYgKCFzb3VyY2UuZGlyZWN0b3J5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCdkaXJlY3RvcnknIGlzIGV4cGVjdGVkIGluIHRoZSBEb2NrZXJJbWFnZSBhc3NldCBzb3VyY2UsIGdvdDogJHtKU09OLnN0cmluZ2lmeShzb3VyY2UpfWApO1xuICAgIH1cblxuICAgIGNvbnN0IGZ1bGxQYXRoID0gcGF0aC5yZXNvbHZlKHRoaXMud29ya0Rpciwgc291cmNlLmRpcmVjdG9yeSk7XG4gICAgdGhpcy5ob3N0LmVtaXRNZXNzYWdlKEV2ZW50VHlwZS5CVUlMRCwgYEJ1aWxkaW5nIERvY2tlciBpbWFnZSBhdCAke2Z1bGxQYXRofWApO1xuXG4gICAgYXdhaXQgdGhpcy5kb2NrZXIuYnVpbGQoe1xuICAgICAgZGlyZWN0b3J5OiBmdWxsUGF0aCxcbiAgICAgIHRhZzogbG9jYWxUYWdOYW1lLFxuICAgICAgYnVpbGRBcmdzOiBzb3VyY2UuZG9ja2VyQnVpbGRBcmdzLFxuICAgICAgdGFyZ2V0OiBzb3VyY2UuZG9ja2VyQnVpbGRUYXJnZXQsXG4gICAgICBmaWxlOiBzb3VyY2UuZG9ja2VyRmlsZSxcbiAgICAgIG5ldHdvcmtNb2RlOiBzb3VyY2UubmV0d29ya01vZGUsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGlzSW1hZ2VDYWNoZWQobG9jYWxUYWdOYW1lOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAoYXdhaXQgdGhpcy5kb2NrZXIuZXhpc3RzKGxvY2FsVGFnTmFtZSkpIHtcbiAgICAgIHRoaXMuaG9zdC5lbWl0TWVzc2FnZShFdmVudFR5cGUuQ0FDSEVELCBgQ2FjaGVkICR7bG9jYWxUYWdOYW1lfWApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGltYWdlRXhpc3RzKGVjcjogQVdTLkVDUiwgcmVwb3NpdG9yeU5hbWU6IHN0cmluZywgaW1hZ2VUYWc6IHN0cmluZykge1xuICB0cnkge1xuICAgIGF3YWl0IGVjci5kZXNjcmliZUltYWdlcyh7IHJlcG9zaXRvcnlOYW1lLCBpbWFnZUlkczogW3sgaW1hZ2VUYWcgfV0gfSkucHJvbWlzZSgpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKGUuY29kZSAhPT0gJ0ltYWdlTm90Rm91bmRFeGNlcHRpb24nKSB7IHRocm93IGU7IH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm4gdGhlIFVSSSBmb3IgdGhlIHJlcG9zaXRvcnkgd2l0aCB0aGUgZ2l2ZW4gbmFtZVxuICpcbiAqIFJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSByZXBvc2l0b3J5IGRvZXMgbm90IGV4aXN0LlxuICovXG5hc3luYyBmdW5jdGlvbiByZXBvc2l0b3J5VXJpKGVjcjogQVdTLkVDUiwgcmVwb3NpdG9yeU5hbWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBlY3IuZGVzY3JpYmVSZXBvc2l0b3JpZXMoeyByZXBvc2l0b3J5TmFtZXM6IFtyZXBvc2l0b3J5TmFtZV0gfSkucHJvbWlzZSgpO1xuICAgIHJldHVybiAocmVzcG9uc2UucmVwb3NpdG9yaWVzIHx8IFtdKVswXT8ucmVwb3NpdG9yeVVyaTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChlLmNvZGUgIT09ICdSZXBvc2l0b3J5Tm90Rm91bmRFeGNlcHRpb24nKSB7IHRocm93IGU7IH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLWltYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnRhaW5lci1pbWFnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBRzdCLDZDQUEyQztBQUczQyxrREFBeUQ7QUFDekQsb0NBQWlDO0FBRWpDLE1BQWEsMEJBQTBCO0lBQ3JDLFlBQ21CLE9BQWUsRUFDZixLQUErQixFQUMvQixJQUFrQjtRQUZsQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsVUFBSyxHQUFMLEtBQUssQ0FBMEI7UUFDL0IsU0FBSSxHQUFKLElBQUksQ0FBYztJQUNyQyxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU87UUFDbEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxxQ0FBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sT0FBTyxHQUFHLEtBQUssSUFBSSxFQUFFLHdCQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLDBDQUFFLFNBQVMsR0FBQSxDQUFDO1FBQ3RGLE1BQU0sT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFckUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLFdBQVcsQ0FBQyxjQUFjLGdCQUFnQixNQUFNLE9BQU8sRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3pJO1FBRUQsTUFBTSxRQUFRLEdBQUcsR0FBRyxPQUFPLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXRELElBQUks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RSxNQUFNLENBQUMsQ0FBQztTQUFFO1FBQ3JELE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILEtBQUssVUFBVSxhQUFhLENBQUMsR0FBWSxFQUFFLGNBQXNCOztJQUMvRCxJQUFJO1FBQ0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakcsYUFBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLDBDQUFFLGFBQWEsQ0FBQztLQUN4RDtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLDZCQUE2QixFQUFFO1lBQUUsTUFBTSxDQUFDLENBQUM7U0FBRTtRQUMxRCxPQUFPLFNBQVMsQ0FBQztLQUNsQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRG9ja2VySW1hZ2VEZXN0aW5hdGlvbiB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgeyBEb2NrZXJJbWFnZU1hbmlmZXN0RW50cnkgfSBmcm9tICcuLi8uLi9hc3NldC1tYW5pZmVzdCc7XG5pbXBvcnQgeyBFdmVudFR5cGUgfSBmcm9tICcuLi8uLi9wcm9ncmVzcyc7XG5pbXBvcnQgeyBJQXNzZXRIYW5kbGVyLCBJSGFuZGxlckhvc3QgfSBmcm9tICcuLi9hc3NldC1oYW5kbGVyJztcbmltcG9ydCB7IERvY2tlciB9IGZyb20gJy4uL2RvY2tlcic7XG5pbXBvcnQgeyByZXBsYWNlQXdzUGxhY2Vob2xkZXJzIH0gZnJvbSAnLi4vcGxhY2Vob2xkZXJzJztcbmltcG9ydCB7IHNoZWxsIH0gZnJvbSAnLi4vc2hlbGwnO1xuXG5leHBvcnQgY2xhc3MgQ29udGFpbmVySW1hZ2VBc3NldEhhbmRsZXIgaW1wbGVtZW50cyBJQXNzZXRIYW5kbGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB3b3JrRGlyOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhc3NldDogRG9ja2VySW1hZ2VNYW5pZmVzdEVudHJ5LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogSUhhbmRsZXJIb3N0KSB7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHVibGlzaCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBkZXN0aW5hdGlvbiA9IGF3YWl0IHJlcGxhY2VBd3NQbGFjZWhvbGRlcnModGhpcy5hc3NldC5kZXN0aW5hdGlvbiwgdGhpcy5ob3N0LmF3cyk7XG4gICAgY29uc3QgZWNyID0gYXdhaXQgdGhpcy5ob3N0LmF3cy5lY3JDbGllbnQoZGVzdGluYXRpb24pO1xuICAgIGNvbnN0IGFjY291bnQgPSBhc3luYyAoKSA9PiAoYXdhaXQgdGhpcy5ob3N0LmF3cy5kaXNjb3ZlckN1cnJlbnRBY2NvdW50KCkpPy5hY2NvdW50SWQ7XG4gICAgY29uc3QgcmVwb1VyaSA9IGF3YWl0IHJlcG9zaXRvcnlVcmkoZWNyLCBkZXN0aW5hdGlvbi5yZXBvc2l0b3J5TmFtZSk7XG5cbiAgICBpZiAoIXJlcG9VcmkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gRUNSIHJlcG9zaXRvcnkgbmFtZWQgJyR7ZGVzdGluYXRpb24ucmVwb3NpdG9yeU5hbWV9JyBpbiBhY2NvdW50ICR7YXdhaXQgYWNjb3VudCgpfS4gSXMgdGhpcyBhY2NvdW50IGJvb3RzdHJhcHBlZD9gKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbWFnZVVyaSA9IGAke3JlcG9Vcml9OiR7ZGVzdGluYXRpb24uaW1hZ2VUYWd9YDtcblxuICAgIGlmIChhd2FpdCB0aGlzLmRlc3RpbmF0aW9uQWxyZWFkeUV4aXN0cyhlY3IsIGRlc3RpbmF0aW9uLCBpbWFnZVVyaSkpIHsgcmV0dXJuOyB9XG4gICAgaWYgKHRoaXMuaG9zdC5hYm9ydGVkKSB7IHJldHVybjsgfVxuXG4gICAgY29uc3QgY29udGFpbmVySW1hZ2VEb2NrZXJPcHRpb25zID0ge1xuICAgICAgcmVwb1VyaSxcbiAgICAgIGxvZ2dlcjogKG06IHN0cmluZykgPT4gdGhpcy5ob3N0LmVtaXRNZXNzYWdlKEV2ZW50VHlwZS5ERUJVRywgbSksXG4gICAgICBlY3IsXG4gICAgfTtcblxuICAgIGNvbnN0IGRvY2tlckZvckJ1aWxkaW5nID0gYXdhaXQgdGhpcy5ob3N0LmRvY2tlckZhY3RvcnkuZm9yQnVpbGQoY29udGFpbmVySW1hZ2VEb2NrZXJPcHRpb25zKTtcblxuICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgQ29udGFpbmVySW1hZ2VCdWlsZGVyKGRvY2tlckZvckJ1aWxkaW5nLCB0aGlzLndvcmtEaXIsIHRoaXMuYXNzZXQsIHRoaXMuaG9zdCk7XG4gICAgY29uc3QgbG9jYWxUYWdOYW1lID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuXG4gICAgaWYgKGxvY2FsVGFnTmFtZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuaG9zdC5hYm9ydGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5ob3N0LmVtaXRNZXNzYWdlKEV2ZW50VHlwZS5VUExPQUQsIGBQdXNoICR7aW1hZ2VVcml9YCk7XG4gICAgaWYgKHRoaXMuaG9zdC5hYm9ydGVkKSB7IHJldHVybjsgfVxuXG4gICAgYXdhaXQgZG9ja2VyRm9yQnVpbGRpbmcudGFnKGxvY2FsVGFnTmFtZSwgaW1hZ2VVcmkpO1xuXG4gICAgY29uc3QgZG9ja2VyRm9yUHVzaGluZyA9IGF3YWl0IHRoaXMuaG9zdC5kb2NrZXJGYWN0b3J5LmZvckVjclB1c2goY29udGFpbmVySW1hZ2VEb2NrZXJPcHRpb25zKTtcbiAgICBhd2FpdCBkb2NrZXJGb3JQdXNoaW5nLnB1c2goaW1hZ2VVcmkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIHdoZXRoZXIgdGhlIGltYWdlIGFscmVhZHkgZXhpc3RzIGluIHRoZSBFQ1IgcmVwb1xuICAgKlxuICAgKiBVc2UgdGhlIGZpZWxkcyBmcm9tIHRoZSBkZXN0aW5hdGlvbiB0byBkbyB0aGUgYWN0dWFsIGNoZWNrLiBUaGUgaW1hZ2VVcmlcbiAgICogc2hvdWxkIGNvcnJlc3BvbmQgdG8gdGhhdCwgYnV0IGlzIG9ubHkgdXNlZCB0byBwcmludCBEb2NrZXIgaW1hZ2UgbG9jYXRpb25cbiAgICogZm9yIHVzZXIgYmVuZWZpdCAodGhlIGZvcm1hdCBpcyBzbGlnaHRseSBkaWZmZXJlbnQpLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBkZXN0aW5hdGlvbkFscmVhZHlFeGlzdHMoZWNyOiBBV1MuRUNSLCBkZXN0aW5hdGlvbjogRG9ja2VySW1hZ2VEZXN0aW5hdGlvbiwgaW1hZ2VVcmk6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRoaXMuaG9zdC5lbWl0TWVzc2FnZShFdmVudFR5cGUuQ0hFQ0ssIGBDaGVjayAke2ltYWdlVXJpfWApO1xuICAgIGlmIChhd2FpdCBpbWFnZUV4aXN0cyhlY3IsIGRlc3RpbmF0aW9uLnJlcG9zaXRvcnlOYW1lLCBkZXN0aW5hdGlvbi5pbWFnZVRhZykpIHtcbiAgICAgIHRoaXMuaG9zdC5lbWl0TWVzc2FnZShFdmVudFR5cGUuRk9VTkQsIGBGb3VuZCAke2ltYWdlVXJpfWApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmNsYXNzIENvbnRhaW5lckltYWdlQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9ja2VyOiBEb2NrZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3b3JrRGlyOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhc3NldDogRG9ja2VySW1hZ2VNYW5pZmVzdEVudHJ5LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogSUhhbmRsZXJIb3N0KSB7XG4gIH1cblxuICBhc3luYyBidWlsZCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmFzc2V0LnNvdXJjZS5leGVjdXRhYmxlXG4gICAgICA/IHRoaXMuYnVpbGRFeHRlcm5hbEFzc2V0KHRoaXMuYXNzZXQuc291cmNlLmV4ZWN1dGFibGUpXG4gICAgICA6IHRoaXMuYnVpbGREaXJlY3RvcnlBc3NldCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgKGxvY2FsKSBEb2NrZXIgYXNzZXQgZnJvbSBhIGRpcmVjdG9yeSB3aXRoIGEgRG9ja2VyZmlsZVxuICAgKlxuICAgKiBUYWdzIHVuZGVyIGEgZGV0ZXJtaW5pc3RpYywgdW5pcXVlLCBsb2NhbCBpZGVudGlmaWVyIHdpY2ggd2lsbCBza2lwXG4gICAqIHRoZSBidWlsZCBpZiBpdCBhbHJlYWR5IGV4aXN0cy5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgYnVpbGREaXJlY3RvcnlBc3NldCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGxvY2FsVGFnTmFtZSA9IGBjZGthc3NldC0ke3RoaXMuYXNzZXQuaWQuYXNzZXRJZC50b0xvd2VyQ2FzZSgpfWA7XG5cbiAgICBpZiAoIShhd2FpdCB0aGlzLmlzSW1hZ2VDYWNoZWQobG9jYWxUYWdOYW1lKSkpIHtcbiAgICAgIGlmICh0aGlzLmhvc3QuYWJvcnRlZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG5cbiAgICAgIGF3YWl0IHRoaXMuYnVpbGRJbWFnZShsb2NhbFRhZ05hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBsb2NhbFRhZ05hbWU7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSAobG9jYWwpIERvY2tlciBhc3NldCBieSBydW5uaW5nIGFuIGV4dGVybmFsIGNvbW1hbmRcbiAgICpcbiAgICogRXh0ZXJuYWwgY29tbWFuZCBpcyByZXNwb25zaWJsZSBmb3IgZGVkdXBsaWNhdGluZyB0aGUgYnVpbGQgaWYgcG9zc2libGUsXG4gICAqIGFuZCBpcyBleHBlY3RlZCB0byByZXR1cm4gdGhlIGdlbmVyYXRlZCBpbWFnZSBpZGVudGlmaWVyIG9uIHN0ZG91dC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgYnVpbGRFeHRlcm5hbEFzc2V0KGV4ZWN1dGFibGU6IHN0cmluZ1tdLCBjd2Q/OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGFzc2V0UGF0aCA9IGN3ZCA/PyB0aGlzLndvcmtEaXI7XG5cbiAgICB0aGlzLmhvc3QuZW1pdE1lc3NhZ2UoRXZlbnRUeXBlLkJVSUxELCBgQnVpbGRpbmcgRG9ja2VyIGltYWdlIHVzaW5nIGNvbW1hbmQgJyR7ZXhlY3V0YWJsZX0nYCk7XG4gICAgaWYgKHRoaXMuaG9zdC5hYm9ydGVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cblxuICAgIHJldHVybiAoYXdhaXQgc2hlbGwoZXhlY3V0YWJsZSwgeyBjd2Q6IGFzc2V0UGF0aCwgcXVpZXQ6IHRydWUgfSkpLnRyaW0oKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYnVpbGRJbWFnZShsb2NhbFRhZ05hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNvdXJjZSA9IHRoaXMuYXNzZXQuc291cmNlO1xuICAgIGlmICghc291cmNlLmRpcmVjdG9yeSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAnZGlyZWN0b3J5JyBpcyBleHBlY3RlZCBpbiB0aGUgRG9ja2VySW1hZ2UgYXNzZXQgc291cmNlLCBnb3Q6ICR7SlNPTi5zdHJpbmdpZnkoc291cmNlKX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCBmdWxsUGF0aCA9IHBhdGgucmVzb2x2ZSh0aGlzLndvcmtEaXIsIHNvdXJjZS5kaXJlY3RvcnkpO1xuICAgIHRoaXMuaG9zdC5lbWl0TWVzc2FnZShFdmVudFR5cGUuQlVJTEQsIGBCdWlsZGluZyBEb2NrZXIgaW1hZ2UgYXQgJHtmdWxsUGF0aH1gKTtcblxuICAgIGF3YWl0IHRoaXMuZG9ja2VyLmJ1aWxkKHtcbiAgICAgIGRpcmVjdG9yeTogZnVsbFBhdGgsXG4gICAgICB0YWc6IGxvY2FsVGFnTmFtZSxcbiAgICAgIGJ1aWxkQXJnczogc291cmNlLmRvY2tlckJ1aWxkQXJncyxcbiAgICAgIHRhcmdldDogc291cmNlLmRvY2tlckJ1aWxkVGFyZ2V0LFxuICAgICAgZmlsZTogc291cmNlLmRvY2tlckZpbGUsXG4gICAgICBuZXR3b3JrTW9kZTogc291cmNlLm5ldHdvcmtNb2RlLFxuICAgICAgcGxhdGZvcm06IHNvdXJjZS5wbGF0Zm9ybSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaXNJbWFnZUNhY2hlZChsb2NhbFRhZ05hbWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmIChhd2FpdCB0aGlzLmRvY2tlci5leGlzdHMobG9jYWxUYWdOYW1lKSkge1xuICAgICAgdGhpcy5ob3N0LmVtaXRNZXNzYWdlKEV2ZW50VHlwZS5DQUNIRUQsIGBDYWNoZWQgJHtsb2NhbFRhZ05hbWV9YCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gaW1hZ2VFeGlzdHMoZWNyOiBBV1MuRUNSLCByZXBvc2l0b3J5TmFtZTogc3RyaW5nLCBpbWFnZVRhZzogc3RyaW5nKSB7XG4gIHRyeSB7XG4gICAgYXdhaXQgZWNyLmRlc2NyaWJlSW1hZ2VzKHsgcmVwb3NpdG9yeU5hbWUsIGltYWdlSWRzOiBbeyBpbWFnZVRhZyB9XSB9KS5wcm9taXNlKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoZS5jb2RlICE9PSAnSW1hZ2VOb3RGb3VuZEV4Y2VwdGlvbicpIHsgdGhyb3cgZTsgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybiB0aGUgVVJJIGZvciB0aGUgcmVwb3NpdG9yeSB3aXRoIHRoZSBnaXZlbiBuYW1lXG4gKlxuICogUmV0dXJucyB1bmRlZmluZWQgaWYgdGhlIHJlcG9zaXRvcnkgZG9lcyBub3QgZXhpc3QuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJlcG9zaXRvcnlVcmkoZWNyOiBBV1MuRUNSLCByZXBvc2l0b3J5TmFtZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGVjci5kZXNjcmliZVJlcG9zaXRvcmllcyh7IHJlcG9zaXRvcnlOYW1lczogW3JlcG9zaXRvcnlOYW1lXSB9KS5wcm9taXNlKCk7XG4gICAgcmV0dXJuIChyZXNwb25zZS5yZXBvc2l0b3JpZXMgfHwgW10pWzBdPy5yZXBvc2l0b3J5VXJpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKGUuY29kZSAhPT0gJ1JlcG9zaXRvcnlOb3RGb3VuZEV4Y2VwdGlvbicpIHsgdGhyb3cgZTsgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Creates a critical section, ensuring that at most one function can
3
+ * enter the critical section at a time.
4
+ */
5
+ export declare function createCriticalSection(): (criticalFunction: () => Promise<void>) => Promise<void>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCriticalSection = void 0;
4
+ /**
5
+ * Creates a critical section, ensuring that at most one function can
6
+ * enter the critical section at a time.
7
+ */
8
+ function createCriticalSection() {
9
+ let lock = Promise.resolve();
10
+ return async (criticalFunction) => {
11
+ const res = lock.then(() => criticalFunction());
12
+ lock = res.catch(e => e);
13
+ return res;
14
+ };
15
+ }
16
+ exports.createCriticalSection = createCriticalSection;
17
+ ;
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7OztHQUdHO0FBQ0gsU0FBZ0IscUJBQXFCO0lBQ25DLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixPQUFPLEtBQUssRUFBRSxnQkFBcUMsRUFBRSxFQUFFO1FBQ3JELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUM7QUFDSixDQUFDO0FBUEQsc0RBT0M7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDcmVhdGVzIGEgY3JpdGljYWwgc2VjdGlvbiwgZW5zdXJpbmcgdGhhdCBhdCBtb3N0IG9uZSBmdW5jdGlvbiBjYW5cbiAqIGVudGVyIHRoZSBjcml0aWNhbCBzZWN0aW9uIGF0IGEgdGltZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNyaXRpY2FsU2VjdGlvbigpIHtcbiAgbGV0IGxvY2sgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgcmV0dXJuIGFzeW5jIChjcml0aWNhbEZ1bmN0aW9uOiAoKSA9PiBQcm9taXNlPHZvaWQ+KSA9PiB7XG4gICAgY29uc3QgcmVzID0gbG9jay50aGVuKCgpID0+IGNyaXRpY2FsRnVuY3Rpb24oKSk7XG4gICAgbG9jayA9IHJlcy5jYXRjaChlID0+IGUpO1xuICAgIHJldHVybiByZXM7XG4gIH07XG59OyJdfQ==
package/lib/publishing.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AssetPublishing = void 0;
4
+ const docker_1 = require("./private/docker");
4
5
  const handlers_1 = require("./private/handlers");
5
6
  const progress_1 = require("./progress");
6
7
  class AssetPublishing {
@@ -23,6 +24,7 @@ class AssetPublishing {
23
24
  aws: this.options.aws,
24
25
  get aborted() { return self.aborted; },
25
26
  emitMessage(t, m) { self.progressEvent(t, m); },
27
+ dockerFactory: new docker_1.DockerFactory(),
26
28
  };
27
29
  }
28
30
  /**
@@ -99,4 +101,4 @@ class AssetPublishing {
99
101
  }
100
102
  }
101
103
  exports.AssetPublishing = AssetPublishing;
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInB1Ymxpc2hpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsaURBQXNEO0FBQ3RELHlDQUFtRjtBQTZDbkYsTUFBYSxlQUFlO0lBbUIxQixZQUE2QixRQUF1QixFQUFtQixPQUErQjs7UUFBekUsYUFBUSxHQUFSLFFBQVEsQ0FBZTtRQUFtQixZQUFPLEdBQVAsT0FBTyxDQUF3QjtRQWxCdEc7O1dBRUc7UUFDSSxZQUFPLEdBQVcsVUFBVSxDQUFDO1FBTXBCLGFBQVEsR0FBRyxJQUFJLEtBQUssRUFBZSxDQUFDO1FBSTVDLHdCQUFtQixHQUFXLENBQUMsQ0FBQztRQUNoQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBS3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsU0FBRyxPQUFPLENBQUMsaUJBQWlCLG1DQUFJLEtBQUssQ0FBQztRQUU1RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNqQixHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHO1lBQ3JCLElBQUksT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDdEMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hELENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsT0FBTzs7UUFDbEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFN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QUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztDQUNGO0FBckdELDBDQXFHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzc2V0TWFuaWZlc3QsIElNYW5pZmVzdEVudHJ5IH0gZnJvbSAnLi9hc3NldC1tYW5pZmVzdCc7XG5pbXBvcnQgeyBJQXdzIH0gZnJvbSAnLi9hd3MnO1xuaW1wb3J0IHsgSUhhbmRsZXJIb3N0IH0gZnJvbSAnLi9wcml2YXRlL2Fzc2V0LWhhbmRsZXInO1xuaW1wb3J0IHsgbWFrZUFzc2V0SGFuZGxlciB9IGZyb20gJy4vcHJpdmF0ZS9oYW5kbGVycyc7XG5pbXBvcnQgeyBFdmVudFR5cGUsIElQdWJsaXNoUHJvZ3Jlc3MsIElQdWJsaXNoUHJvZ3Jlc3NMaXN0ZW5lciB9IGZyb20gJy4vcHJvZ3Jlc3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2V0UHVibGlzaGluZ09wdGlvbnMge1xuICAvKipcbiAgICogRW50cnkgcG9pbnQgZm9yIEFXUyBjbGllbnRcbiAgICovXG4gIHJlYWRvbmx5IGF3czogSUF3cztcblxuICAvKipcbiAgICogTGlzdGVuZXIgZm9yIHByb2dyZXNzIGV2ZW50c1xuICAgKlxuICAgKiBAZGVmYXVsdCBObyBsaXN0ZW5lclxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZ3Jlc3NMaXN0ZW5lcj86IElQdWJsaXNoUHJvZ3Jlc3NMaXN0ZW5lcjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB0aHJvdyBhdCB0aGUgZW5kIGlmIHRoZXJlIHdlcmUgZXJyb3JzXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHRocm93T25FcnJvcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcHVibGlzaCBpbiBwYXJhbGxlbFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaEluUGFyYWxsZWw/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgZmFpbHVyZSB0byBwdWJsaXNoIGFuIGFzc2V0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFpbGVkQXNzZXQge1xuICAvKipcbiAgICogVGhlIGFzc2V0IHRoYXQgZmFpbGVkIHRvIHB1Ymxpc2hcbiAgICovXG4gIHJlYWRvbmx5IGFzc2V0OiBJTWFuaWZlc3RFbnRyeTtcblxuICAvKipcbiAgICogVGhlIGZhaWx1cmUgdGhhdCBvY2N1cnJlZFxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3I6IEVycm9yO1xufVxuXG5leHBvcnQgY2xhc3MgQXNzZXRQdWJsaXNoaW5nIGltcGxlbWVudHMgSVB1Ymxpc2hQcm9ncmVzcyB7XG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSBmb3IgdGhlIElQdWJsaXNoUHJvZ3Jlc3MgaW50ZXJmYWNlXG4gICAqL1xuICBwdWJsaWMgbWVzc2FnZTogc3RyaW5nID0gJ1N0YXJ0aW5nJztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgYXNzZXQgZm9yIHRoZSBJUHVibGlzaFByb2dyZXNzIGludGVyZmFjZVxuICAgKi9cbiAgcHVibGljIGN1cnJlbnRBc3NldD86IElNYW5pZmVzdEVudHJ5O1xuICBwdWJsaWMgcmVhZG9ubHkgZmFpbHVyZXMgPSBuZXcgQXJyYXk8RmFpbGVkQXNzZXQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXNzZXRzOiBJTWFuaWZlc3RFbnRyeVtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdG90YWxPcGVyYXRpb25zOiBudW1iZXI7XG4gIHByaXZhdGUgY29tcGxldGVkT3BlcmF0aW9uczogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBhYm9ydGVkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlckhvc3Q6IElIYW5kbGVySG9zdDtcbiAgcHJpdmF0ZSByZWFkb25seSBwdWJsaXNoSW5QYXJhbGxlbDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG1hbmlmZXN0OiBBc3NldE1hbmlmZXN0LCBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IEFzc2V0UHVibGlzaGluZ09wdGlvbnMpIHtcbiAgICB0aGlzLmFzc2V0cyA9IG1hbmlmZXN0LmVudHJpZXM7XG4gICAgdGhpcy50b3RhbE9wZXJhdGlvbnMgPSB0aGlzLmFzc2V0cy5sZW5ndGg7XG4gICAgdGhpcy5wdWJsaXNoSW5QYXJhbGxlbCA9IG9wdGlvbnMucHVibGlzaEluUGFyYWxsZWwgPz8gZmFsc2U7XG5cbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICB0aGlzLmhhbmRsZXJIb3N0ID0ge1xuICAgICAgYXdzOiB0aGlzLm9wdGlvbnMuYXdzLFxuICAgICAgZ2V0IGFib3J0ZWQoKSB7IHJldHVybiBzZWxmLmFib3J0ZWQ7IH0sXG4gICAgICBlbWl0TWVzc2FnZSh0LCBtKSB7IHNlbGYucHJvZ3Jlc3NFdmVudCh0LCBtKTsgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2ggYWxsIGFzc2V0cyBmcm9tIHRoZSBtYW5pZmVzdFxuICAgKi9cbiAgcHVibGljIGFzeW5jIHB1Ymxpc2goKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMucHVibGlzaEluUGFyYWxsZWwpIHtcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYXNzZXRzLm1hcChhc3luYyAoYXNzZXQpID0+IHRoaXMucHVibGlzaEFzc2V0KGFzc2V0KSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGNvbnN0IGFzc2V0IG9mIHRoaXMuYXNzZXRzKSB7XG4gICAgICAgIGlmICghYXdhaXQgdGhpcy5wdWJsaXNoQXNzZXQoYXNzZXQpKSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoKHRoaXMub3B0aW9ucy50aHJvd09uRXJyb3IgPz8gdHJ1ZSkgJiYgdGhpcy5mYWlsdXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIHB1Ymxpc2hpbmc6ICR7dGhpcy5mYWlsdXJlcy5tYXAoZSA9PiBlLmVycm9yLm1lc3NhZ2UpfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQdWJsaXNoIGFuIGFzc2V0LlxuICAgKiBAcGFyYW0gYXNzZXQgVGhlIGFzc2V0IHRvIHB1Ymxpc2hcbiAgICogQHJldHVybnMgZmFsc2Ugd2hlbiBwdWJsaXNoaW5nIHNob3VsZCBzdG9wXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHB1Ymxpc2hBc3NldChhc3NldDogSU1hbmlmZXN0RW50cnkpIHtcbiAgICB0cnkge1xuICAgICAgaWYgKHRoaXMucHJvZ3Jlc3NFdmVudChFdmVudFR5cGUuU1RBUlQsIGBQdWJsaXNoaW5nICR7YXNzZXQuaWR9YCkpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgICAgIGNvbnN0IGhhbmRsZXIgPSBtYWtlQXNzZXRIYW5kbGVyKHRoaXMubWFuaWZlc3QsIGFzc2V0LCB0aGlzLmhhbmRsZXJIb3N0KTtcbiAgICAgIGF3YWl0IGhhbmRsZXIucHVibGlzaCgpO1xuXG4gICAgICBpZiAodGhpcy5hYm9ydGVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQWJvcnRlZCcpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNvbXBsZXRlZE9wZXJhdGlvbnMrKztcbiAgICAgIGlmICh0aGlzLnByb2dyZXNzRXZlbnQoRXZlbnRUeXBlLlNVQ0NFU1MsIGBQdWJsaXNoZWQgJHthc3NldC5pZH1gKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmZhaWx1cmVzLnB1c2goeyBhc3NldCwgZXJyb3I6IGUgfSk7XG4gICAgICB0aGlzLmNvbXBsZXRlZE9wZXJhdGlvbnMrKztcbiAgICAgIGlmICh0aGlzLnByb2dyZXNzRXZlbnQoRXZlbnRUeXBlLkZBSUwsIGUubWVzc2FnZSkpIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBlcmNlbnRDb21wbGV0ZSgpIHtcbiAgICBpZiAodGhpcy50b3RhbE9wZXJhdGlvbnMgPT09IDApIHsgcmV0dXJuIDEwMDsgfVxuICAgIHJldHVybiBNYXRoLmZsb29yKCh0aGlzLmNvbXBsZXRlZE9wZXJhdGlvbnMgLyB0aGlzLnRvdGFsT3BlcmF0aW9ucykgKiAxMDApO1xuICB9XG5cbiAgcHVibGljIGFib3J0KCk6IHZvaWQge1xuICAgIHRoaXMuYWJvcnRlZCA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc0ZhaWx1cmVzKCkge1xuICAgIHJldHVybiB0aGlzLmZhaWx1cmVzLmxlbmd0aCA+IDA7XG4gIH1cblxuICAvKipcbiAgICogUHVibGlzaCBhIHByb2dyZXNzIGV2ZW50IHRvIHRoZSBsaXN0ZW5lciwgaWYgcHJlc2VudC5cbiAgICpcbiAgICogUmV0dXJucyB3aGV0aGVyIGFuIGFib3J0IGlzIHJlcXVlc3RlZC4gSGVscGVyIHRvIGdldCByaWQgb2YgcmVwZXRpdGl2ZSBjb2RlIGluIHB1Ymxpc2goKS5cbiAgICovXG4gIHByaXZhdGUgcHJvZ3Jlc3NFdmVudChldmVudDogRXZlbnRUeXBlLCBtZXNzYWdlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgIGlmICh0aGlzLm9wdGlvbnMucHJvZ3Jlc3NMaXN0ZW5lcikgeyB0aGlzLm9wdGlvbnMucHJvZ3Jlc3NMaXN0ZW5lci5vblB1Ymxpc2hFdmVudChldmVudCwgdGhpcyk7IH1cbiAgICByZXR1cm4gdGhpcy5hYm9ydGVkO1xuICB9XG59Il19
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInB1Ymxpc2hpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsNkNBQWlEO0FBQ2pELGlEQUFzRDtBQUN0RCx5Q0FBbUY7QUE2Q25GLE1BQWEsZUFBZTtJQW1CMUIsWUFBNkIsUUFBdUIsRUFBbUIsT0FBK0I7O1FBQXpFLGFBQVEsR0FBUixRQUFRLENBQWU7UUFBbUIsWUFBTyxHQUFQLE9BQU8sQ0FBd0I7UUFsQnRHOztXQUVHO1FBQ0ksWUFBTyxHQUFXLFVBQVUsQ0FBQztRQU1wQixhQUFRLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztRQUk1Qyx3QkFBbUIsR0FBVyxDQUFDLENBQUM7UUFDaEMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUt0QixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUMxQyxJQUFJLENBQUMsaUJBQWlCLFNBQUcsT0FBTyxDQUFDLGlCQUFpQixtQ0FBSSxLQUFLLENBQUM7UUFFNUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRztZQUNyQixJQUFJLE9BQU8sS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQyxhQUFhLEVBQUUsSUFBSSxzQkFBYSxFQUFFO1NBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsT0FBTzs7UUFDbEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7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QWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FBRTtRQUNqRyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztDQUNGO0FBdEdELDBDQXNHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzc2V0TWFuaWZlc3QsIElNYW5pZmVzdEVudHJ5IH0gZnJvbSAnLi9hc3NldC1tYW5pZmVzdCc7XG5pbXBvcnQgeyBJQXdzIH0gZnJvbSAnLi9hd3MnO1xuaW1wb3J0IHsgSUhhbmRsZXJIb3N0IH0gZnJvbSAnLi9wcml2YXRlL2Fzc2V0LWhhbmRsZXInO1xuaW1wb3J0IHsgRG9ja2VyRmFjdG9yeSB9IGZyb20gJy4vcHJpdmF0ZS9kb2NrZXInO1xuaW1wb3J0IHsgbWFrZUFzc2V0SGFuZGxlciB9IGZyb20gJy4vcHJpdmF0ZS9oYW5kbGVycyc7XG5pbXBvcnQgeyBFdmVudFR5cGUsIElQdWJsaXNoUHJvZ3Jlc3MsIElQdWJsaXNoUHJvZ3Jlc3NMaXN0ZW5lciB9IGZyb20gJy4vcHJvZ3Jlc3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2V0UHVibGlzaGluZ09wdGlvbnMge1xuICAvKipcbiAgICogRW50cnkgcG9pbnQgZm9yIEFXUyBjbGllbnRcbiAgICovXG4gIHJlYWRvbmx5IGF3czogSUF3cztcblxuICAvKipcbiAgICogTGlzdGVuZXIgZm9yIHByb2dyZXNzIGV2ZW50c1xuICAgKlxuICAgKiBAZGVmYXVsdCBObyBsaXN0ZW5lclxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZ3Jlc3NMaXN0ZW5lcj86IElQdWJsaXNoUHJvZ3Jlc3NMaXN0ZW5lcjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB0aHJvdyBhdCB0aGUgZW5kIGlmIHRoZXJlIHdlcmUgZXJyb3JzXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHRocm93T25FcnJvcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcHVibGlzaCBpbiBwYXJhbGxlbFxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaEluUGFyYWxsZWw/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgZmFpbHVyZSB0byBwdWJsaXNoIGFuIGFzc2V0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmFpbGVkQXNzZXQge1xuICAvKipcbiAgICogVGhlIGFzc2V0IHRoYXQgZmFpbGVkIHRvIHB1Ymxpc2hcbiAgICovXG4gIHJlYWRvbmx5IGFzc2V0OiBJTWFuaWZlc3RFbnRyeTtcblxuICAvKipcbiAgICogVGhlIGZhaWx1cmUgdGhhdCBvY2N1cnJlZFxuICAgKi9cbiAgcmVhZG9ubHkgZXJyb3I6IEVycm9yO1xufVxuXG5leHBvcnQgY2xhc3MgQXNzZXRQdWJsaXNoaW5nIGltcGxlbWVudHMgSVB1Ymxpc2hQcm9ncmVzcyB7XG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSBmb3IgdGhlIElQdWJsaXNoUHJvZ3Jlc3MgaW50ZXJmYWNlXG4gICAqL1xuICBwdWJsaWMgbWVzc2FnZTogc3RyaW5nID0gJ1N0YXJ0aW5nJztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgYXNzZXQgZm9yIHRoZSBJUHVibGlzaFByb2dyZXNzIGludGVyZmFjZVxuICAgKi9cbiAgcHVibGljIGN1cnJlbnRBc3NldD86IElNYW5pZmVzdEVudHJ5O1xuICBwdWJsaWMgcmVhZG9ubHkgZmFpbHVyZXMgPSBuZXcgQXJyYXk8RmFpbGVkQXNzZXQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXNzZXRzOiBJTWFuaWZlc3RFbnRyeVtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdG90YWxPcGVyYXRpb25zOiBudW1iZXI7XG4gIHByaXZhdGUgY29tcGxldGVkT3BlcmF0aW9uczogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBhYm9ydGVkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlckhvc3Q6IElIYW5kbGVySG9zdDtcbiAgcHJpdmF0ZSByZWFkb25seSBwdWJsaXNoSW5QYXJhbGxlbDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG1hbmlmZXN0OiBBc3NldE1hbmlmZXN0LCBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IEFzc2V0UHVibGlzaGluZ09wdGlvbnMpIHtcbiAgICB0aGlzLmFzc2V0cyA9IG1hbmlmZXN0LmVudHJpZXM7XG4gICAgdGhpcy50b3RhbE9wZXJhdGlvbnMgPSB0aGlzLmFzc2V0cy5sZW5ndGg7XG4gICAgdGhpcy5wdWJsaXNoSW5QYXJhbGxlbCA9IG9wdGlvbnMucHVibGlzaEluUGFyYWxsZWwgPz8gZmFsc2U7XG5cbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICB0aGlzLmhhbmRsZXJIb3N0ID0ge1xuICAgICAgYXdzOiB0aGlzLm9wdGlvbnMuYXdzLFxuICAgICAgZ2V0IGFib3J0ZWQoKSB7IHJldHVybiBzZWxmLmFib3J0ZWQ7IH0sXG4gICAgICBlbWl0TWVzc2FnZSh0LCBtKSB7IHNlbGYucHJvZ3Jlc3NFdmVudCh0LCBtKTsgfSxcbiAgICAgIGRvY2tlckZhY3Rvcnk6IG5ldyBEb2NrZXJGYWN0b3J5KCksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQdWJsaXNoIGFsbCBhc3NldHMgZnJvbSB0aGUgbWFuaWZlc3RcbiAgICovXG4gIHB1YmxpYyBhc3luYyBwdWJsaXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLnB1Ymxpc2hJblBhcmFsbGVsKSB7XG4gICAgICBhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFzc2V0cy5tYXAoYXN5bmMgKGFzc2V0KSA9PiB0aGlzLnB1Ymxpc2hBc3NldChhc3NldCkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yIChjb25zdCBhc3NldCBvZiB0aGlzLmFzc2V0cykge1xuICAgICAgICBpZiAoIWF3YWl0IHRoaXMucHVibGlzaEFzc2V0KGFzc2V0KSkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCh0aGlzLm9wdGlvbnMudGhyb3dPbkVycm9yID8/IHRydWUpICYmIHRoaXMuZmFpbHVyZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBwdWJsaXNoaW5nOiAke3RoaXMuZmFpbHVyZXMubWFwKGUgPT4gZS5lcnJvci5tZXNzYWdlKX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUHVibGlzaCBhbiBhc3NldC5cbiAgICogQHBhcmFtIGFzc2V0IFRoZSBhc3NldCB0byBwdWJsaXNoXG4gICAqIEByZXR1cm5zIGZhbHNlIHdoZW4gcHVibGlzaGluZyBzaG91bGQgc3RvcFxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBwdWJsaXNoQXNzZXQoYXNzZXQ6IElNYW5pZmVzdEVudHJ5KSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0aGlzLnByb2dyZXNzRXZlbnQoRXZlbnRUeXBlLlNUQVJULCBgUHVibGlzaGluZyAke2Fzc2V0LmlkfWApKSB7IHJldHVybiBmYWxzZTsgfVxuXG4gICAgICBjb25zdCBoYW5kbGVyID0gbWFrZUFzc2V0SGFuZGxlcih0aGlzLm1hbmlmZXN0LCBhc3NldCwgdGhpcy5oYW5kbGVySG9zdCk7XG4gICAgICBhd2FpdCBoYW5kbGVyLnB1Ymxpc2goKTtcblxuICAgICAgaWYgKHRoaXMuYWJvcnRlZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0ZWQnKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jb21wbGV0ZWRPcGVyYXRpb25zKys7XG4gICAgICBpZiAodGhpcy5wcm9ncmVzc0V2ZW50KEV2ZW50VHlwZS5TVUNDRVNTLCBgUHVibGlzaGVkICR7YXNzZXQuaWR9YCkpIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5mYWlsdXJlcy5wdXNoKHsgYXNzZXQsIGVycm9yOiBlIH0pO1xuICAgICAgdGhpcy5jb21wbGV0ZWRPcGVyYXRpb25zKys7XG4gICAgICBpZiAodGhpcy5wcm9ncmVzc0V2ZW50KEV2ZW50VHlwZS5GQUlMLCBlLm1lc3NhZ2UpKSB7IHJldHVybiBmYWxzZTsgfVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGdldCBwZXJjZW50Q29tcGxldGUoKSB7XG4gICAgaWYgKHRoaXMudG90YWxPcGVyYXRpb25zID09PSAwKSB7IHJldHVybiAxMDA7IH1cbiAgICByZXR1cm4gTWF0aC5mbG9vcigodGhpcy5jb21wbGV0ZWRPcGVyYXRpb25zIC8gdGhpcy50b3RhbE9wZXJhdGlvbnMpICogMTAwKTtcbiAgfVxuXG4gIHB1YmxpYyBhYm9ydCgpOiB2b2lkIHtcbiAgICB0aGlzLmFib3J0ZWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNGYWlsdXJlcygpIHtcbiAgICByZXR1cm4gdGhpcy5mYWlsdXJlcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2ggYSBwcm9ncmVzcyBldmVudCB0byB0aGUgbGlzdGVuZXIsIGlmIHByZXNlbnQuXG4gICAqXG4gICAqIFJldHVybnMgd2hldGhlciBhbiBhYm9ydCBpcyByZXF1ZXN0ZWQuIEhlbHBlciB0byBnZXQgcmlkIG9mIHJlcGV0aXRpdmUgY29kZSBpbiBwdWJsaXNoKCkuXG4gICAqL1xuICBwcml2YXRlIHByb2dyZXNzRXZlbnQoZXZlbnQ6IEV2ZW50VHlwZSwgbWVzc2FnZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcbiAgICBpZiAodGhpcy5vcHRpb25zLnByb2dyZXNzTGlzdGVuZXIpIHsgdGhpcy5vcHRpb25zLnByb2dyZXNzTGlzdGVuZXIub25QdWJsaXNoRXZlbnQoZXZlbnQsIHRoaXMpOyB9XG4gICAgcmV0dXJuIHRoaXMuYWJvcnRlZDtcbiAgfVxufSJdfQ==
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "cdk-assets",
3
- "version": "2.24.1",
3
+ "version": "2.27.0",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
7
7
  "@aws-cdk/cloud-assembly-schema": {
8
- "version": "2.24.1",
8
+ "version": "2.27.0",
9
9
  "requires": {
10
10
  "jsonschema": "^1.4.0",
11
11
  "semver": "^7.3.7"
12
12
  }
13
13
  },
14
14
  "@aws-cdk/cx-api": {
15
- "version": "2.24.1",
15
+ "version": "2.27.0",
16
16
  "requires": {
17
- "@aws-cdk/cloud-assembly-schema": "2.24.1",
17
+ "@aws-cdk/cloud-assembly-schema": "2.27.0",
18
18
  "semver": "^7.3.7"
19
19
  }
20
20
  },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cdk-assets",
3
3
  "description": "CDK Asset Publishing Tool",
4
- "version": "2.24.1",
4
+ "version": "2.27.0",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
7
7
  "bin": {
@@ -37,15 +37,15 @@
37
37
  "@types/mock-fs": "^4.13.1",
38
38
  "@types/node": "^10.17.60",
39
39
  "@types/yargs": "^15.0.14",
40
- "@aws-cdk/cdk-build-tools": "2.24.1",
40
+ "@aws-cdk/cdk-build-tools": "2.27.0",
41
41
  "jest": "^27.5.1",
42
42
  "jszip": "^3.9.1",
43
43
  "mock-fs": "^4.14.0",
44
- "@aws-cdk/pkglint": "2.24.1"
44
+ "@aws-cdk/pkglint": "2.27.0"
45
45
  },
46
46
  "dependencies": {
47
- "@aws-cdk/cloud-assembly-schema": "2.24.1",
48
- "@aws-cdk/cx-api": "2.24.1",
47
+ "@aws-cdk/cloud-assembly-schema": "2.27.0",
48
+ "@aws-cdk/cx-api": "2.27.0",
49
49
  "archiver": "^5.3.1",
50
50
  "aws-sdk": "^2.1093.0",
51
51
  "glob": "^7.2.0",