Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@aws-cdk/aws-s3-assets

Package Overview
Dependencies
Maintainers
5
Versions
249
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-cdk/aws-s3-assets - npm Package Compare versions

Comparing version 1.59.0 to 1.60.0

2

lib/asset.js

@@ -104,2 +104,2 @@ "use strict";

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhc3NldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBRzdCLHdDQUF3QztBQUN4QyxzQ0FBc0M7QUFDdEMscUNBQXFDO0FBQ3JDLHlDQUF5QztBQUN6QyxxQ0FBMkM7QUFFM0MsTUFBTSxrQkFBa0IsR0FBRyxDQUFFLE1BQU0sRUFBRSxNQUFNLENBQUUsQ0FBQztBQXlDOUM7OztHQUdHO0FBQ0gsTUFBYSxLQUFNLFNBQVEsR0FBRyxDQUFDLFNBQVM7SUF5RHRDLFlBQVksS0FBb0IsRUFBRSxFQUFVLEVBQUUsS0FBaUI7O1FBQzdELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsMENBQTBDO1FBQzFDLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ2xELEdBQUcsS0FBSztZQUNSLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDcEMsTUFBTSxFQUFFLHdCQUFlLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNyQyxTQUFTLFFBQUUsS0FBSyxDQUFDLFNBQVMsbUNBQUksS0FBSyxDQUFDLFVBQVU7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUVqQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFFcEMsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpELHNFQUFzRTtRQUN0RSxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsS0FBSyxHQUFHLENBQUMsa0JBQWtCLENBQUMsYUFBYTtZQUNwRSxDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRW5GLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWpDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDO1lBQzlDLFNBQVM7WUFDVCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsUUFBUSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1NBQzdCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyw4QkFBOEI7UUFFN0QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUVwRyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUNoRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDN0IsYUFBYSxFQUFFLE1BQU07U0FDdEIsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFDLEtBQUssQ0FBQyxPQUFPLG1DQUFJLEVBQUUsQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0ksbUJBQW1CLENBQUMsUUFBeUIsRUFBRSxnQkFBd0I7UUFDNUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxFQUFFO1lBQzNFLE9BQU8sQ0FBQyxjQUFjO1NBQ3ZCO1FBRUQsdUVBQXVFO1FBQ3ZFLCtFQUErRTtRQUMvRSxRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsSUFBSSxFQUFHLENBQUM7UUFDbkUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN0RixRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztJQUM5RixDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTLENBQUMsT0FBdUI7UUFDdEMsd0VBQXdFO1FBQ3hFLHNFQUFzRTtRQUN0RSw2REFBNkQ7UUFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztDQUNGO0FBL0lELHNCQStJQztBQUVELFNBQVMsa0JBQWtCLENBQUMsU0FBaUI7SUFDM0MsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsU0FBUyxFQUFFLENBQUMsQ0FBQztLQUN0RDtJQUVELElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUN4QyxPQUFPLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7S0FDN0M7SUFFRCxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDbkMsT0FBTyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO0tBQ3BDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLFNBQVMseURBQXlELENBQUMsQ0FBQztBQUMvRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGFzc2V0cyBmcm9tICdAYXdzLWNkay9hc3NldHMnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ0Bhd3MtY2RrL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMga21zIGZyb20gJ0Bhd3MtY2RrL2F3cy1rbXMnO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnQGF3cy1jZGsvYXdzLXMzJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdAYXdzLWNkay9jb3JlJztcbmltcG9ydCAqIGFzIGN4YXBpIGZyb20gJ0Bhd3MtY2RrL2N4LWFwaSc7XG5pbXBvcnQgeyB0b1N5bWxpbmtGb2xsb3cgfSBmcm9tICcuL2NvbXBhdCc7XG5cbmNvbnN0IEFSQ0hJVkVfRVhURU5TSU9OUyA9IFsgJy56aXAnLCAnLmphcicgXTtcblxuZXhwb3J0IGludGVyZmFjZSBBc3NldE9wdGlvbnMgZXh0ZW5kcyBhc3NldHMuQ29weU9wdGlvbnMsIGNkay5Bc3NldE9wdGlvbnMge1xuICAvKipcbiAgICogQSBsaXN0IG9mIHByaW5jaXBhbHMgdGhhdCBzaG91bGQgYmUgYWJsZSB0byByZWFkIHRoaXMgYXNzZXQgZnJvbSBTMy5cbiAgICogWW91IGNhbiB1c2UgYGFzc2V0LmdyYW50UmVhZChwcmluY2lwYWwpYCB0byBncmFudCByZWFkIHBlcm1pc3Npb25zIGxhdGVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHByaW5jaXBhbHMgdGhhdCBjYW4gcmVhZCBmaWxlIGFzc2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVhZGVycz86IGlhbS5JR3JhbnRhYmxlW107XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBoYXNoIHRvIHVzZSB3aGVuIGlkZW50aWZ5aW5nIHRoZSBzcGVjaWZpYyB2ZXJzaW9uIG9mIHRoZSBhc3NldC4gRm9yIGNvbnNpc3RlbmN5LFxuICAgKiB0aGlzIGN1c3RvbSBoYXNoIHdpbGwgYmUgU0hBMjU2IGhhc2hlZCBhbmQgZW5jb2RlZCBhcyBoZXguIFRoZSByZXN1bHRpbmcgaGFzaCB3aWxsIGJlXG4gICAqIHRoZSBhc3NldCBoYXNoLlxuICAgKlxuICAgKiBOT1RFOiB0aGUgc291cmNlIGhhc2ggaXMgdXNlZCBpbiBvcmRlciB0byBpZGVudGlmeSBhIHNwZWNpZmljIHJldmlzaW9uIG9mIHRoZSBhc3NldCxcbiAgICogYW5kIHVzZWQgZm9yIG9wdGltaXppbmcgYW5kIGNhY2hpbmcgZGVwbG95bWVudCBhY3Rpdml0aWVzIHJlbGF0ZWQgdG8gdGhpcyBhc3NldCBzdWNoIGFzXG4gICAqIHBhY2thZ2luZywgdXBsb2FkaW5nIHRvIEFtYXpvbiBTMywgZXRjLiBJZiB5b3UgY2hvc2UgdG8gY3VzdG9taXplIHRoZSBzb3VyY2UgaGFzaCxcbiAgICogeW91IHdpbGwgbmVlZCB0byBtYWtlIHN1cmUgaXQgaXMgdXBkYXRlZCBldmVyeSB0aW1lIHRoZSBzb3VyY2UgY2hhbmdlcywgb3Igb3RoZXJ3aXNlXG4gICAqIGl0IGlzIHBvc3NpYmxlIHRoYXQgc29tZSBkZXBsb3ltZW50cyB3aWxsIG5vdCBiZSBpbnZhbGlkYXRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZSBzb3VyY2UgaGFzaCBiYXNlZCBvbiB0aGUgY29udGVudHNcbiAgICogb2YgdGhlIHNvdXJjZSBmaWxlIG9yIGRpcmVjdG9yeS5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgc2VlIGBhc3NldEhhc2hgIGFuZCBgYXNzZXRIYXNoVHlwZWBcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZUhhc2g/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXNzZXRQcm9wcyBleHRlbmRzIEFzc2V0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZGlzayBsb2NhdGlvbiBvZiB0aGUgYXNzZXQuXG4gICAqXG4gICAqIFRoZSBwYXRoIHNob3VsZCByZWZlciB0byBvbmUgb2YgdGhlIGZvbGxvd2luZzpcbiAgICogLSBBIHJlZ3VsYXIgZmlsZSBvciBhIC56aXAgZmlsZSwgaW4gd2hpY2ggY2FzZSB0aGUgZmlsZSB3aWxsIGJlIHVwbG9hZGVkIGFzLWlzIHRvIFMzLlxuICAgKiAtIEEgZGlyZWN0b3J5LCBpbiB3aGljaCBjYXNlIGl0IHdpbGwgYmUgYXJjaGl2ZWQgaW50byBhIC56aXAgZmlsZSBhbmQgdXBsb2FkZWQgdG8gUzMuXG4gICAqL1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4gYXNzZXQgcmVwcmVzZW50cyBhIGxvY2FsIGZpbGUgb3IgZGlyZWN0b3J5LCB3aGljaCBpcyBhdXRvbWF0aWNhbGx5IHVwbG9hZGVkIHRvIFMzXG4gKiBhbmQgdGhlbiBjYW4gYmUgcmVmZXJlbmNlZCB3aXRoaW4gYSBDREsgYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBBc3NldCBleHRlbmRzIGNkay5Db25zdHJ1Y3QgaW1wbGVtZW50cyBjZGsuSUFzc2V0IHtcbiAgLyoqXG4gICAqIEF0dHJpYnV0ZSB0aGF0IHJlcHJlc2VudHMgdGhlIG5hbWUgb2YgdGhlIGJ1Y2tldCB0aGlzIGFzc2V0IGV4aXN0cyBpbi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzM0J1Y2tldE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQXR0cmlidXRlIHdoaWNoIHJlcHJlc2VudHMgdGhlIFMzIG9iamVjdCBrZXkgb2YgdGhpcyBhc3NldC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzM09iamVjdEtleTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgd2hpY2ggcmVwcmVzZW50cyB0aGUgUzMgVVJMIG9mIHRoaXMgYXNzZXQuXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgaHR0cFVybGBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzM1VybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgd2hpY2ggcmVwcmVzZW50cyB0aGUgUzMgSFRUUCBVUkwgb2YgdGhpcyBhc3NldC5cbiAgICogQGV4YW1wbGUgaHR0cHM6Ly9zMy51cy13ZXN0LTEuYW1hem9uYXdzLmNvbS9idWNrZXQva2V5XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaHR0cFVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgd2hpY2ggcmVwcmVzZW50cyB0aGUgUzMgVVJMIG9mIHRoaXMgYXNzZXQuXG4gICAqIEBleGFtcGxlIHMzOi8vYnVja2V0L2tleVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHMzT2JqZWN0VXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSBhc3NldCAoc3RyaW5naW5maWVkIHRva2VuKS5cbiAgICpcbiAgICogSWYgYXNzZXQgc3RhZ2luZyBpcyBkaXNhYmxlZCwgdGhpcyB3aWxsIGp1c3QgYmUgdGhlIG9yaWdpbmFsIHBhdGguXG4gICAqIElmIGFzc2V0IHN0YWdpbmcgaXMgZW5hYmxlZCBpdCB3aWxsIGJlIHRoZSBzdGFnZWQgcGF0aC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhc3NldFBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFMzIGJ1Y2tldCBpbiB3aGljaCB0aGlzIGFzc2V0IHJlc2lkZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYnVja2V0OiBzMy5JQnVja2V0O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhpcyBhc3NldCBpcyBhIHppcCBhcmNoaXZlLiBBbGxvd3MgY29uc3RydWN0cyB0byBlbnN1cmUgdGhhdCB0aGVcbiAgICogY29ycmVjdCBmaWxlIHR5cGUgd2FzIHVzZWQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXNaaXBBcmNoaXZlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIGNyeXB0b2dyYXBoaWMgaGFzaCBvZiB0aGUgYXNzZXQuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIHNlZSBgYXNzZXRIYXNoYFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNvdXJjZUhhc2g6IHN0cmluZztcblxuICBwdWJsaWMgcmVhZG9ubHkgYXNzZXRIYXNoOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNkay5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBc3NldFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIHN0YWdlIHRoZSBhc3NldCBzb3VyY2UgKGNvbmRpdGlvbmFsbHkpLlxuICAgIGNvbnN0IHN0YWdpbmcgPSBuZXcgY2RrLkFzc2V0U3RhZ2luZyh0aGlzLCAnU3RhZ2UnLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHNvdXJjZVBhdGg6IHBhdGgucmVzb2x2ZShwcm9wcy5wYXRoKSxcbiAgICAgIGZvbGxvdzogdG9TeW1saW5rRm9sbG93KHByb3BzLmZvbGxvdyksXG4gICAgICBhc3NldEhhc2g6IHByb3BzLmFzc2V0SGFzaCA/PyBwcm9wcy5zb3VyY2VIYXNoLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hc3NldEhhc2ggPSBzdGFnaW5nLmFzc2V0SGFzaDtcbiAgICB0aGlzLnNvdXJjZUhhc2ggPSB0aGlzLmFzc2V0SGFzaDtcblxuICAgIHRoaXMuYXNzZXRQYXRoID0gc3RhZ2luZy5zdGFnZWRQYXRoO1xuXG4gICAgY29uc3QgcGFja2FnaW5nID0gZGV0ZXJtaW5lUGFja2FnaW5nKHN0YWdpbmcuc291cmNlUGF0aCk7XG5cbiAgICAvLyBzZXRzIGlzWmlwQXJjaGl2ZSBiYXNlZCBvbiB0aGUgdHlwZSBvZiBwYWNrYWdpbmcgYW5kIGZpbGUgZXh0ZW5zaW9uXG4gICAgdGhpcy5pc1ppcEFyY2hpdmUgPSBwYWNrYWdpbmcgPT09IGNkay5GaWxlQXNzZXRQYWNrYWdpbmcuWklQX0RJUkVDVE9SWVxuICAgICAgPyB0cnVlXG4gICAgICA6IEFSQ0hJVkVfRVhURU5TSU9OUy5zb21lKGV4dCA9PiBzdGFnaW5nLnNvdXJjZVBhdGgudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChleHQpKTtcblxuICAgIGNvbnN0IHN0YWNrID0gY2RrLlN0YWNrLm9mKHRoaXMpO1xuXG4gICAgY29uc3QgbG9jYXRpb24gPSBzdGFjay5zeW50aGVzaXplci5hZGRGaWxlQXNzZXQoe1xuICAgICAgcGFja2FnaW5nLFxuICAgICAgc291cmNlSGFzaDogdGhpcy5zb3VyY2VIYXNoLFxuICAgICAgZmlsZU5hbWU6IHN0YWdpbmcuc3RhZ2VkUGF0aCxcbiAgICB9KTtcblxuICAgIHRoaXMuczNCdWNrZXROYW1lID0gbG9jYXRpb24uYnVja2V0TmFtZTtcbiAgICB0aGlzLnMzT2JqZWN0S2V5ID0gbG9jYXRpb24ub2JqZWN0S2V5O1xuICAgIHRoaXMuczNPYmplY3RVcmwgPSBsb2NhdGlvbi5zM09iamVjdFVybDtcbiAgICB0aGlzLmh0dHBVcmwgPSBsb2NhdGlvbi5odHRwVXJsO1xuICAgIHRoaXMuczNVcmwgPSBsb2NhdGlvbi5odHRwVXJsOyAvLyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuICAgIGNvbnN0IGttc0tleSA9IGxvY2F0aW9uLmttc0tleUFybiA/IGttcy5LZXkuZnJvbUtleUFybih0aGlzLCAnS2V5JywgbG9jYXRpb24ua21zS2V5QXJuKSA6IHVuZGVmaW5lZDtcblxuICAgIHRoaXMuYnVja2V0ID0gczMuQnVja2V0LmZyb21CdWNrZXRBdHRyaWJ1dGVzKHRoaXMsICdBc3NldEJ1Y2tldCcsIHtcbiAgICAgIGJ1Y2tldE5hbWU6IHRoaXMuczNCdWNrZXROYW1lLFxuICAgICAgZW5jcnlwdGlvbktleToga21zS2V5LFxuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCByZWFkZXIgb2YgKHByb3BzLnJlYWRlcnMgPz8gW10pKSB7XG4gICAgICB0aGlzLmdyYW50UmVhZChyZWFkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlIG1ldGFkYXRhIHRvIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2Ugd2l0aFxuICAgKiBpbmZvcm1hdGlvbiB0aGF0IGluZGljYXRlcyB3aGljaCByZXNvdXJjZSBwcm9wZXJ0eSBpcyBtYXBwZWQgdG8gdGhpcyBsb2NhbFxuICAgKiBhc3NldC4gVGhpcyBjYW4gYmUgdXNlZCBieSB0b29scyBzdWNoIGFzIFNBTSBDTEkgdG8gcHJvdmlkZSBsb2NhbFxuICAgKiBleHBlcmllbmNlIHN1Y2ggYXMgbG9jYWwgaW52b2NhdGlvbiBhbmQgZGVidWdnaW5nIG9mIExhbWJkYSBmdW5jdGlvbnMuXG4gICAqXG4gICAqIEFzc2V0IG1ldGFkYXRhIHdpbGwgb25seSBiZSBpbmNsdWRlZCBpZiB0aGUgc3RhY2sgaXMgc3ludGhlc2l6ZWQgd2l0aCB0aGVcbiAgICogXCJhd3M6Y2RrOmVuYWJsZS1hc3NldC1tZXRhZGF0YVwiIGNvbnRleHQga2V5IGRlZmluZWQsIHdoaWNoIGlzIHRoZSBkZWZhdWx0XG4gICAqIGJlaGF2aW9yIHdoZW4gc3ludGhlc2l6aW5nIHZpYSB0aGUgQ0RLIFRvb2xraXQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy8xNDMyXG4gICAqXG4gICAqIEBwYXJhbSByZXNvdXJjZSBUaGUgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2Ugd2hpY2ggaXMgdXNpbmcgdGhpcyBhc3NldCBbZGlzYWJsZS1hd3NsaW50OnJlZi12aWEtaW50ZXJmYWNlXVxuICAgKiBAcGFyYW0gcmVzb3VyY2VQcm9wZXJ0eSBUaGUgcHJvcGVydHkgbmFtZSB3aGVyZSB0aGlzIGFzc2V0IGlzIHJlZmVyZW5jZWRcbiAgICogKGUuZy4gXCJDb2RlXCIgZm9yIEFXUzo6TGFtYmRhOjpGdW5jdGlvbilcbiAgICovXG4gIHB1YmxpYyBhZGRSZXNvdXJjZU1ldGFkYXRhKHJlc291cmNlOiBjZGsuQ2ZuUmVzb3VyY2UsIHJlc291cmNlUHJvcGVydHk6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5ub2RlLnRyeUdldENvbnRleHQoY3hhcGkuQVNTRVRfUkVTT1VSQ0VfTUVUQURBVEFfRU5BQkxFRF9DT05URVhUKSkge1xuICAgICAgcmV0dXJuOyAvLyBub3QgZW5hYmxlZFxuICAgIH1cblxuICAgIC8vIHRlbGwgdG9vbHMgc3VjaCBhcyBTQU0gQ0xJIHRoYXQgdGhlIFwiQ29kZVwiIHByb3BlcnR5IG9mIHRoaXMgcmVzb3VyY2VcbiAgICAvLyBwb2ludHMgdG8gYSBsb2NhbCBwYXRoIGluIG9yZGVyIHRvIGVuYWJsZSBsb2NhbCBpbnZvY2F0aW9uIG9mIHRoaXMgZnVuY3Rpb24uXG4gICAgcmVzb3VyY2UuY2ZuT3B0aW9ucy5tZXRhZGF0YSA9IHJlc291cmNlLmNmbk9wdGlvbnMubWV0YWRhdGEgfHwgeyB9O1xuICAgIHJlc291cmNlLmNmbk9wdGlvbnMubWV0YWRhdGFbY3hhcGkuQVNTRVRfUkVTT1VSQ0VfTUVUQURBVEFfUEFUSF9LRVldID0gdGhpcy5hc3NldFBhdGg7XG4gICAgcmVzb3VyY2UuY2ZuT3B0aW9ucy5tZXRhZGF0YVtjeGFwaS5BU1NFVF9SRVNPVVJDRV9NRVRBREFUQV9QUk9QRVJUWV9LRVldID0gcmVzb3VyY2VQcm9wZXJ0eTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcmVhZCBwZXJtaXNzaW9ucyB0byB0aGUgcHJpbmNpcGFsIG9uIHRoZSBhc3NldHMgYnVja2V0LlxuICAgKi9cbiAgcHVibGljIGdyYW50UmVhZChncmFudGVlOiBpYW0uSUdyYW50YWJsZSkge1xuICAgIC8vIHdlIGdpdmUgcGVybWlzc2lvbnMgb24gYWxsIGZpbGVzIGluIHRoZSBidWNrZXQgc2luY2Ugd2UgZG9uJ3Qgd2FudCB0b1xuICAgIC8vIGFjY2lkZW50YWxseSByZXZva2UgcGVybWlzc2lvbiBvbiBvbGQgdmVyc2lvbnMgd2hlbiBkZXBsb3lpbmcgYSBuZXdcbiAgICAvLyB2ZXJzaW9uIChmb3IgZXhhbXBsZSwgd2hlbiB1c2luZyBMYW1iZGEgdHJhZmZpYyBzaGlmdGluZykuXG4gICAgdGhpcy5idWNrZXQuZ3JhbnRSZWFkKGdyYW50ZWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRldGVybWluZVBhY2thZ2luZyhhc3NldFBhdGg6IHN0cmluZyk6IGNkay5GaWxlQXNzZXRQYWNrYWdpbmcge1xuICBpZiAoIWZzLmV4aXN0c1N5bmMoYXNzZXRQYXRoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgYXNzZXQgYXQgJHthc3NldFBhdGh9YCk7XG4gIH1cblxuICBpZiAoZnMuc3RhdFN5bmMoYXNzZXRQYXRoKS5pc0RpcmVjdG9yeSgpKSB7XG4gICAgcmV0dXJuIGNkay5GaWxlQXNzZXRQYWNrYWdpbmcuWklQX0RJUkVDVE9SWTtcbiAgfVxuXG4gIGlmIChmcy5zdGF0U3luYyhhc3NldFBhdGgpLmlzRmlsZSgpKSB7XG4gICAgcmV0dXJuIGNkay5GaWxlQXNzZXRQYWNrYWdpbmcuRklMRTtcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcihgQXNzZXQgJHthc3NldFBhdGh9IGlzIGV4cGVjdGVkIHRvIGJlIGVpdGhlciBhIGRpcmVjdG9yeSBvciBhIHJlZ3VsYXIgZmlsZWApO1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhc3NldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBRzdCLHdDQUF3QztBQUN4QyxzQ0FBc0M7QUFDdEMscUNBQXFDO0FBQ3JDLHlDQUF5QztBQUN6QyxxQ0FBMkM7QUFFM0MsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQXlDNUM7OztHQUdHO0FBQ0gsTUFBYSxLQUFNLFNBQVEsR0FBRyxDQUFDLFNBQVM7SUF5RHRDLFlBQVksS0FBb0IsRUFBRSxFQUFVLEVBQUUsS0FBaUI7O1FBQzdELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsMENBQTBDO1FBQzFDLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ2xELEdBQUcsS0FBSztZQUNSLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDcEMsTUFBTSxFQUFFLHdCQUFlLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNyQyxTQUFTLFFBQUUsS0FBSyxDQUFDLFNBQVMsbUNBQUksS0FBSyxDQUFDLFVBQVU7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUVqQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFFcEMsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpELHNFQUFzRTtRQUN0RSxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsS0FBSyxHQUFHLENBQUMsa0JBQWtCLENBQUMs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QUcsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7S0FDN0M7SUFFRCxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDbkMsT0FBTyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO0tBQ3BDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLFNBQVMseURBQXlELENBQUMsQ0FBQztBQUMvRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGFzc2V0cyBmcm9tICdAYXdzLWNkay9hc3NldHMnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ0Bhd3MtY2RrL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMga21zIGZyb20gJ0Bhd3MtY2RrL2F3cy1rbXMnO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnQGF3cy1jZGsvYXdzLXMzJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdAYXdzLWNkay9jb3JlJztcbmltcG9ydCAqIGFzIGN4YXBpIGZyb20gJ0Bhd3MtY2RrL2N4LWFwaSc7XG5pbXBvcnQgeyB0b1N5bWxpbmtGb2xsb3cgfSBmcm9tICcuL2NvbXBhdCc7XG5cbmNvbnN0IEFSQ0hJVkVfRVhURU5TSU9OUyA9IFsnLnppcCcsICcuamFyJ107XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXNzZXRPcHRpb25zIGV4dGVuZHMgYXNzZXRzLkNvcHlPcHRpb25zLCBjZGsuQXNzZXRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBwcmluY2lwYWxzIHRoYXQgc2hvdWxkIGJlIGFibGUgdG8gcmVhZCB0aGlzIGFzc2V0IGZyb20gUzMuXG4gICAqIFlvdSBjYW4gdXNlIGBhc3NldC5ncmFudFJlYWQocHJpbmNpcGFsKWAgdG8gZ3JhbnQgcmVhZCBwZXJtaXNzaW9ucyBsYXRlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBwcmluY2lwYWxzIHRoYXQgY2FuIHJlYWQgZmlsZSBhc3NldC5cbiAgICovXG4gIHJlYWRvbmx5IHJlYWRlcnM/OiBpYW0uSUdyYW50YWJsZVtdO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gaGFzaCB0byB1c2Ugd2hlbiBpZGVudGlmeWluZyB0aGUgc3BlY2lmaWMgdmVyc2lvbiBvZiB0aGUgYXNzZXQuIEZvciBjb25zaXN0ZW5jeSxcbiAgICogdGhpcyBjdXN0b20gaGFzaCB3aWxsIGJlIFNIQTI1NiBoYXNoZWQgYW5kIGVuY29kZWQgYXMgaGV4LiBUaGUgcmVzdWx0aW5nIGhhc2ggd2lsbCBiZVxuICAgKiB0aGUgYXNzZXQgaGFzaC5cbiAgICpcbiAgICogTk9URTogdGhlIHNvdXJjZSBoYXNoIGlzIHVzZWQgaW4gb3JkZXIgdG8gaWRlbnRpZnkgYSBzcGVjaWZpYyByZXZpc2lvbiBvZiB0aGUgYXNzZXQsXG4gICAqIGFuZCB1c2VkIGZvciBvcHRpbWl6aW5nIGFuZCBjYWNoaW5nIGRlcGxveW1lbnQgYWN0aXZpdGllcyByZWxhdGVkIHRvIHRoaXMgYXNzZXQgc3VjaCBhc1xuICAgKiBwYWNrYWdpbmcsIHVwbG9hZGluZyB0byBBbWF6b24gUzMsIGV0Yy4gSWYgeW91IGNob3NlIHRvIGN1c3RvbWl6ZSB0aGUgc291cmNlIGhhc2gsXG4gICAqIHlvdSB3aWxsIG5lZWQgdG8gbWFrZSBzdXJlIGl0IGlzIHVwZGF0ZWQgZXZlcnkgdGltZSB0aGUgc291cmNlIGNoYW5nZXMsIG9yIG90aGVyd2lzZVxuICAgKiBpdCBpcyBwb3NzaWJsZSB0aGF0IHNvbWUgZGVwbG95bWVudHMgd2lsbCBub3QgYmUgaW52YWxpZGF0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYXV0b21hdGljYWxseSBjYWxjdWxhdGUgc291cmNlIGhhc2ggYmFzZWQgb24gdGhlIGNvbnRlbnRzXG4gICAqIG9mIHRoZSBzb3VyY2UgZmlsZSBvciBkaXJlY3RvcnkuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIHNlZSBgYXNzZXRIYXNoYCBhbmQgYGFzc2V0SGFzaFR5cGVgXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VIYXNoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2V0UHJvcHMgZXh0ZW5kcyBBc3NldE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGRpc2sgbG9jYXRpb24gb2YgdGhlIGFzc2V0LlxuICAgKlxuICAgKiBUaGUgcGF0aCBzaG91bGQgcmVmZXIgdG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6XG4gICAqIC0gQSByZWd1bGFyIGZpbGUgb3IgYSAuemlwIGZpbGUsIGluIHdoaWNoIGNhc2UgdGhlIGZpbGUgd2lsbCBiZSB1cGxvYWRlZCBhcy1pcyB0byBTMy5cbiAgICogLSBBIGRpcmVjdG9yeSwgaW4gd2hpY2ggY2FzZSBpdCB3aWxsIGJlIGFyY2hpdmVkIGludG8gYSAuemlwIGZpbGUgYW5kIHVwbG9hZGVkIHRvIFMzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFuIGFzc2V0IHJlcHJlc2VudHMgYSBsb2NhbCBmaWxlIG9yIGRpcmVjdG9yeSwgd2hpY2ggaXMgYXV0b21hdGljYWxseSB1cGxvYWRlZCB0byBTM1xuICogYW5kIHRoZW4gY2FuIGJlIHJlZmVyZW5jZWQgd2l0aGluIGEgQ0RLIGFwcGxpY2F0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQXNzZXQgZXh0ZW5kcyBjZGsuQ29uc3RydWN0IGltcGxlbWVudHMgY2RrLklBc3NldCB7XG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgdGhhdCByZXByZXNlbnRzIHRoZSBuYW1lIG9mIHRoZSBidWNrZXQgdGhpcyBhc3NldCBleGlzdHMgaW4uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgczNCdWNrZXROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEF0dHJpYnV0ZSB3aGljaCByZXByZXNlbnRzIHRoZSBTMyBvYmplY3Qga2V5IG9mIHRoaXMgYXNzZXQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgczNPYmplY3RLZXk6IHN0cmluZztcblxuICAvKipcbiAgICogQXR0cmlidXRlIHdoaWNoIHJlcHJlc2VudHMgdGhlIFMzIFVSTCBvZiB0aGlzIGFzc2V0LlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYGh0dHBVcmxgXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgczNVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogQXR0cmlidXRlIHdoaWNoIHJlcHJlc2VudHMgdGhlIFMzIEhUVFAgVVJMIG9mIHRoaXMgYXNzZXQuXG4gICAqIEBleGFtcGxlIGh0dHBzOi8vczMudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20vYnVja2V0L2tleVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGh0dHBVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogQXR0cmlidXRlIHdoaWNoIHJlcHJlc2VudHMgdGhlIFMzIFVSTCBvZiB0aGlzIGFzc2V0LlxuICAgKiBAZXhhbXBsZSBzMzovL2J1Y2tldC9rZXlcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzM09iamVjdFVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgYXNzZXQgKHN0cmluZ2luZmllZCB0b2tlbikuXG4gICAqXG4gICAqIElmIGFzc2V0IHN0YWdpbmcgaXMgZGlzYWJsZWQsIHRoaXMgd2lsbCBqdXN0IGJlIHRoZSBvcmlnaW5hbCBwYXRoLlxuICAgKiBJZiBhc3NldCBzdGFnaW5nIGlzIGVuYWJsZWQgaXQgd2lsbCBiZSB0aGUgc3RhZ2VkIHBhdGguXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXNzZXRQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBTMyBidWNrZXQgaW4gd2hpY2ggdGhpcyBhc3NldCByZXNpZGVzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGJ1Y2tldDogczMuSUJ1Y2tldDtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoaXMgYXNzZXQgaXMgYSB6aXAgYXJjaGl2ZS4gQWxsb3dzIGNvbnN0cnVjdHMgdG8gZW5zdXJlIHRoYXQgdGhlXG4gICAqIGNvcnJlY3QgZmlsZSB0eXBlIHdhcyB1c2VkLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlzWmlwQXJjaGl2ZTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBjcnlwdG9ncmFwaGljIGhhc2ggb2YgdGhlIGFzc2V0LlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBzZWUgYGFzc2V0SGFzaGBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzb3VyY2VIYXNoOiBzdHJpbmc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFzc2V0SGFzaDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXNzZXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAvLyBzdGFnZSB0aGUgYXNzZXQgc291cmNlIChjb25kaXRpb25hbGx5KS5cbiAgICBjb25zdCBzdGFnaW5nID0gbmV3IGNkay5Bc3NldFN0YWdpbmcodGhpcywgJ1N0YWdlJywge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBzb3VyY2VQYXRoOiBwYXRoLnJlc29sdmUocHJvcHMucGF0aCksXG4gICAgICBmb2xsb3c6IHRvU3ltbGlua0ZvbGxvdyhwcm9wcy5mb2xsb3cpLFxuICAgICAgYXNzZXRIYXNoOiBwcm9wcy5hc3NldEhhc2ggPz8gcHJvcHMuc291cmNlSGFzaCxcbiAgICB9KTtcblxuICAgIHRoaXMuYXNzZXRIYXNoID0gc3RhZ2luZy5hc3NldEhhc2g7XG4gICAgdGhpcy5zb3VyY2VIYXNoID0gdGhpcy5hc3NldEhhc2g7XG5cbiAgICB0aGlzLmFzc2V0UGF0aCA9IHN0YWdpbmcuc3RhZ2VkUGF0aDtcblxuICAgIGNvbnN0IHBhY2thZ2luZyA9IGRldGVybWluZVBhY2thZ2luZyhzdGFnaW5nLnNvdXJjZVBhdGgpO1xuXG4gICAgLy8gc2V0cyBpc1ppcEFyY2hpdmUgYmFzZWQgb24gdGhlIHR5cGUgb2YgcGFja2FnaW5nIGFuZCBmaWxlIGV4dGVuc2lvblxuICAgIHRoaXMuaXNaaXBBcmNoaXZlID0gcGFja2FnaW5nID09PSBjZGsuRmlsZUFzc2V0UGFja2FnaW5nLlpJUF9ESVJFQ1RPUllcbiAgICAgID8gdHJ1ZVxuICAgICAgOiBBUkNISVZFX0VYVEVOU0lPTlMuc29tZShleHQgPT4gc3RhZ2luZy5zb3VyY2VQYXRoLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoZXh0KSk7XG5cbiAgICBjb25zdCBzdGFjayA9IGNkay5TdGFjay5vZih0aGlzKTtcblxuICAgIGNvbnN0IGxvY2F0aW9uID0gc3RhY2suc3ludGhlc2l6ZXIuYWRkRmlsZUFzc2V0KHtcbiAgICAgIHBhY2thZ2luZyxcbiAgICAgIHNvdXJjZUhhc2g6IHRoaXMuc291cmNlSGFzaCxcbiAgICAgIGZpbGVOYW1lOiBzdGFnaW5nLnN0YWdlZFBhdGgsXG4gICAgfSk7XG5cbiAgICB0aGlzLnMzQnVja2V0TmFtZSA9IGxvY2F0aW9uLmJ1Y2tldE5hbWU7XG4gICAgdGhpcy5zM09iamVjdEtleSA9IGxvY2F0aW9uLm9iamVjdEtleTtcbiAgICB0aGlzLnMzT2JqZWN0VXJsID0gbG9jYXRpb24uczNPYmplY3RVcmw7XG4gICAgdGhpcy5odHRwVXJsID0gbG9jYXRpb24uaHR0cFVybDtcbiAgICB0aGlzLnMzVXJsID0gbG9jYXRpb24uaHR0cFVybDsgLy8gZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiAgICBjb25zdCBrbXNLZXkgPSBsb2NhdGlvbi5rbXNLZXlBcm4gPyBrbXMuS2V5LmZyb21LZXlBcm4odGhpcywgJ0tleScsIGxvY2F0aW9uLmttc0tleUFybikgOiB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLmJ1Y2tldCA9IHMzLkJ1Y2tldC5mcm9tQnVja2V0QXR0cmlidXRlcyh0aGlzLCAnQXNzZXRCdWNrZXQnLCB7XG4gICAgICBidWNrZXROYW1lOiB0aGlzLnMzQnVja2V0TmFtZSxcbiAgICAgIGVuY3J5cHRpb25LZXk6IGttc0tleSxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgcmVhZGVyIG9mIChwcm9wcy5yZWFkZXJzID8/IFtdKSkge1xuICAgICAgdGhpcy5ncmFudFJlYWQocmVhZGVyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBDbG91ZEZvcm1hdGlvbiB0ZW1wbGF0ZSBtZXRhZGF0YSB0byB0aGUgc3BlY2lmaWVkIHJlc291cmNlIHdpdGhcbiAgICogaW5mb3JtYXRpb24gdGhhdCBpbmRpY2F0ZXMgd2hpY2ggcmVzb3VyY2UgcHJvcGVydHkgaXMgbWFwcGVkIHRvIHRoaXMgbG9jYWxcbiAgICogYXNzZXQuIFRoaXMgY2FuIGJlIHVzZWQgYnkgdG9vbHMgc3VjaCBhcyBTQU0gQ0xJIHRvIHByb3ZpZGUgbG9jYWxcbiAgICogZXhwZXJpZW5jZSBzdWNoIGFzIGxvY2FsIGludm9jYXRpb24gYW5kIGRlYnVnZ2luZyBvZiBMYW1iZGEgZnVuY3Rpb25zLlxuICAgKlxuICAgKiBBc3NldCBtZXRhZGF0YSB3aWxsIG9ubHkgYmUgaW5jbHVkZWQgaWYgdGhlIHN0YWNrIGlzIHN5bnRoZXNpemVkIHdpdGggdGhlXG4gICAqIFwiYXdzOmNkazplbmFibGUtYXNzZXQtbWV0YWRhdGFcIiBjb250ZXh0IGtleSBkZWZpbmVkLCB3aGljaCBpcyB0aGUgZGVmYXVsdFxuICAgKiBiZWhhdmlvciB3aGVuIHN5bnRoZXNpemluZyB2aWEgdGhlIENESyBUb29sa2l0LlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTQzMlxuICAgKlxuICAgKiBAcGFyYW0gcmVzb3VyY2UgVGhlIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHdoaWNoIGlzIHVzaW5nIHRoaXMgYXNzZXQgW2Rpc2FibGUtYXdzbGludDpyZWYtdmlhLWludGVyZmFjZV1cbiAgICogQHBhcmFtIHJlc291cmNlUHJvcGVydHkgVGhlIHByb3BlcnR5IG5hbWUgd2hlcmUgdGhpcyBhc3NldCBpcyByZWZlcmVuY2VkXG4gICAqIChlLmcuIFwiQ29kZVwiIGZvciBBV1M6OkxhbWJkYTo6RnVuY3Rpb24pXG4gICAqL1xuICBwdWJsaWMgYWRkUmVzb3VyY2VNZXRhZGF0YShyZXNvdXJjZTogY2RrLkNmblJlc291cmNlLCByZXNvdXJjZVByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMubm9kZS50cnlHZXRDb250ZXh0KGN4YXBpLkFTU0VUX1JFU09VUkNFX01FVEFEQVRBX0VOQUJMRURfQ09OVEVYVCkpIHtcbiAgICAgIHJldHVybjsgLy8gbm90IGVuYWJsZWRcbiAgICB9XG5cbiAgICAvLyB0ZWxsIHRvb2xzIHN1Y2ggYXMgU0FNIENMSSB0aGF0IHRoZSBcIkNvZGVcIiBwcm9wZXJ0eSBvZiB0aGlzIHJlc291cmNlXG4gICAgLy8gcG9pbnRzIHRvIGEgbG9jYWwgcGF0aCBpbiBvcmRlciB0byBlbmFibGUgbG9jYWwgaW52b2NhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uLlxuICAgIHJlc291cmNlLmNmbk9wdGlvbnMubWV0YWRhdGEgPSByZXNvdXJjZS5jZm5PcHRpb25zLm1ldGFkYXRhIHx8IHsgfTtcbiAgICByZXNvdXJjZS5jZm5PcHRpb25zLm1ldGFkYXRhW2N4YXBpLkFTU0VUX1JFU09VUkNFX01FVEFEQVRBX1BBVEhfS0VZXSA9IHRoaXMuYXNzZXRQYXRoO1xuICAgIHJlc291cmNlLmNmbk9wdGlvbnMubWV0YWRhdGFbY3hhcGkuQVNTRVRfUkVTT1VSQ0VfTUVUQURBVEFfUFJPUEVSVFlfS0VZXSA9IHJlc291cmNlUHJvcGVydHk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHJlYWQgcGVybWlzc2lvbnMgdG8gdGhlIHByaW5jaXBhbCBvbiB0aGUgYXNzZXRzIGJ1Y2tldC5cbiAgICovXG4gIHB1YmxpYyBncmFudFJlYWQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpIHtcbiAgICAvLyB3ZSBnaXZlIHBlcm1pc3Npb25zIG9uIGFsbCBmaWxlcyBpbiB0aGUgYnVja2V0IHNpbmNlIHdlIGRvbid0IHdhbnQgdG9cbiAgICAvLyBhY2NpZGVudGFsbHkgcmV2b2tlIHBlcm1pc3Npb24gb24gb2xkIHZlcnNpb25zIHdoZW4gZGVwbG95aW5nIGEgbmV3XG4gICAgLy8gdmVyc2lvbiAoZm9yIGV4YW1wbGUsIHdoZW4gdXNpbmcgTGFtYmRhIHRyYWZmaWMgc2hpZnRpbmcpLlxuICAgIHRoaXMuYnVja2V0LmdyYW50UmVhZChncmFudGVlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkZXRlcm1pbmVQYWNrYWdpbmcoYXNzZXRQYXRoOiBzdHJpbmcpOiBjZGsuRmlsZUFzc2V0UGFja2FnaW5nIHtcbiAgaWYgKCFmcy5leGlzdHNTeW5jKGFzc2V0UGF0aCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBmaW5kIGFzc2V0IGF0ICR7YXNzZXRQYXRofWApO1xuICB9XG5cbiAgaWYgKGZzLnN0YXRTeW5jKGFzc2V0UGF0aCkuaXNEaXJlY3RvcnkoKSkge1xuICAgIHJldHVybiBjZGsuRmlsZUFzc2V0UGFja2FnaW5nLlpJUF9ESVJFQ1RPUlk7XG4gIH1cblxuICBpZiAoZnMuc3RhdFN5bmMoYXNzZXRQYXRoKS5pc0ZpbGUoKSkge1xuICAgIHJldHVybiBjZGsuRmlsZUFzc2V0UGFja2FnaW5nLkZJTEU7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoYEFzc2V0ICR7YXNzZXRQYXRofSBpcyBleHBlY3RlZCB0byBiZSBlaXRoZXIgYSBkaXJlY3Rvcnkgb3IgYSByZWd1bGFyIGZpbGVgKTtcbn1cbiJdfQ==
{
"name": "@aws-cdk/aws-s3-assets",
"version": "1.59.0",
"version": "1.60.0",
"description": "Deploy local files and directories to S3",

@@ -65,15 +65,15 @@ "main": "lib/index.js",

"devDependencies": {
"@aws-cdk/assert": "1.59.0",
"cdk-build-tools": "1.59.0",
"cdk-integ-tools": "1.59.0",
"pkglint": "1.59.0",
"@aws-cdk/cloud-assembly-schema": "1.59.0"
"@aws-cdk/assert": "1.60.0",
"cdk-build-tools": "1.60.0",
"cdk-integ-tools": "1.60.0",
"pkglint": "1.60.0",
"@aws-cdk/cloud-assembly-schema": "1.60.0"
},
"dependencies": {
"@aws-cdk/assets": "1.59.0",
"@aws-cdk/aws-iam": "1.59.0",
"@aws-cdk/aws-s3": "1.59.0",
"@aws-cdk/aws-kms": "1.59.0",
"@aws-cdk/core": "1.59.0",
"@aws-cdk/cx-api": "1.59.0",
"@aws-cdk/assets": "1.60.0",
"@aws-cdk/aws-iam": "1.60.0",
"@aws-cdk/aws-s3": "1.60.0",
"@aws-cdk/aws-kms": "1.60.0",
"@aws-cdk/core": "1.60.0",
"@aws-cdk/cx-api": "1.60.0",
"constructs": "^3.0.2"

@@ -83,8 +83,8 @@ },

"peerDependencies": {
"@aws-cdk/assets": "1.59.0",
"@aws-cdk/aws-iam": "1.59.0",
"@aws-cdk/aws-s3": "1.59.0",
"@aws-cdk/aws-kms": "1.59.0",
"@aws-cdk/core": "1.59.0",
"@aws-cdk/cx-api": "1.59.0",
"@aws-cdk/assets": "1.60.0",
"@aws-cdk/aws-iam": "1.60.0",
"@aws-cdk/aws-s3": "1.60.0",
"@aws-cdk/aws-kms": "1.60.0",
"@aws-cdk/core": "1.60.0",
"@aws-cdk/cx-api": "1.60.0",
"constructs": "^3.0.2"

@@ -91,0 +91,0 @@ },

@@ -293,2 +293,2 @@ "use strict";

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFzc2V0LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0Q0FBc0U7QUFDdEUsZ0NBQThCO0FBQzlCLHdDQUF3QztBQUV4QyxxQ0FBcUM7QUFDckMseUNBQXlDO0FBQ3pDLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLHdDQUFxQztBQUVyQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFFeEUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtJQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFDdEIsT0FBTyxFQUFFO1lBQ1AsQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsRUFBRSxNQUFNO1NBQzlDO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1QyxJQUFJLGFBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFO1FBQzFCLElBQUksRUFBRSxnQkFBZ0I7S0FDdkIsQ0FBQyxDQUFDO0lBRUgsOERBQThEO0lBQzlELDBCQUEwQjtJQUMxQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUUzQixrRUFBa0U7SUFDbEUsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRTVCLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQU0sQ0FBQyxJQUFJ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QU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNsRCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBRSxDQUFDLENBQUMsQ0FBRSxDQUFDLElBQW1DLENBQUM7UUFDL0UsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsd0VBQXdFLENBQUMsQ0FBQztJQUNqRyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsU0FBUyxXQUFXO0lBQ2xCLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO0FBQy9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhcnJheVdpdGgsIFJlc291cmNlUGFydCwgU3ludGhVdGlscyB9IGZyb20gJ0Bhd3MtY2RrL2Fzc2VydCc7XG5pbXBvcnQgJ0Bhd3MtY2RrL2Fzc2VydC9qZXN0JztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdAYXdzLWNkay9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGN4c2NoZW1hIGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgKiBhcyBjeGFwaSBmcm9tICdAYXdzLWNkay9jeC1hcGknO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgb3MgZnJvbSAnb3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IEFzc2V0IH0gZnJvbSAnLi4vbGliL2Fzc2V0JztcblxuY29uc3QgU0FNUExFX0FTU0VUX0RJUiA9IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5Jyk7XG5cbnRlc3QoJ3NpbXBsZSB1c2UgY2FzZScsICgpID0+IHtcbiAgY29uc3QgYXBwID0gbmV3IGNkay5BcHAoe1xuICAgIGNvbnRleHQ6IHtcbiAgICAgIFtjeGFwaS5ESVNBQkxFX0FTU0VUX1NUQUdJTkdfQ09OVEVYVF06ICd0cnVlJyxcbiAgICB9LFxuICB9KTtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKGFwcCwgJ015U3RhY2snKTtcbiAgbmV3IEFzc2V0KHN0YWNrLCAnTXlBc3NldCcsIHtcbiAgICBwYXRoOiBTQU1QTEVfQVNTRVRfRElSLFxuICB9KTtcblxuICAvLyB2ZXJpZnkgdGhhdCBtZXRhZGF0YSBjb250YWlucyBhbiBcImF3czpjZGs6YXNzZXRcIiBlbnRyeSB3aXRoXG4gIC8vIHRoZSBjb3JyZWN0IGluZm9ybWF0aW9uXG4gIGNvbnN0IGVudHJ5ID0gc3RhY2subm9kZS5tZXRhZGF0YS5maW5kKG0gPT4gbS50eXBlID09PSAnYXdzOmNkazphc3NldCcpO1xuICBleHBlY3QoZW50cnkpLnRvQmVUcnV0aHkoKTtcblxuICAvLyB2ZXJpZnkgdGhhdCBub3cgdGhlIHRlbXBsYXRlIGNvbnRhaW5zIHBhcmFtZXRlcnMgZm9yIHRoaXMgYXNzZXRcbiAgY29uc3Qgc2Vzc2lvbiA9IGFwcC5zeW50aCgpO1xuXG4gIGV4cGVjdChzdGFjay5yZXNvbHZlKGVudHJ5IS5kYXRhKSkudG9FcXVhbCh7XG4gICAgcGF0aDogU0FNUExFX0FTU0VUX0RJUixcbiAgICBpZDogJzZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInLFxuICAgIHBhY2thZ2luZzogJ3ppcCcsXG4gICAgc291cmNlSGFzaDogJzZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInLFxuICAgIHMzQnVja2V0UGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMlMzQnVja2V0NTBCNUExMEInLFxuICAgIHMzS2V5UGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMlMzVmVyc2lvbktleTFGN0Q3NUY5JyxcbiAgICBhcnRpZmFjdEhhc2hQYXJhbWV0ZXI6ICdBc3NldFBhcmFtZXRlcnM2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyQXJ0aWZhY3RIYXNoMjIwREU5QkQnLFxuICB9KTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihzZXNzaW9uLmRpcmVjdG9yeSwgJ015U3RhY2sudGVtcGxhdGUuanNvbicpLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pKTtcblxuICBleHBlY3QodGVtcGxhdGUuUGFyYW1ldGVycy5Bc3NldFBhcmFtZXRlcnM2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyUzNCdWNrZXQ1MEI1QTEwQi5UeXBlKS50b0JlKCdTdHJpbmcnKTtcbiAgZXhwZWN0KHRlbXBsYXRlLlBhcmFtZXRlcnMuQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMlMzVmVyc2lvbktleTFGN0Q3NUY5LlR5cGUpLnRvQmUoJ1N0cmluZycpO1xufSk7XG5cbnRlc3QoJ3ZlcmlmeSB0aGF0IHRoZSBhcHAgcmVzb2x2ZXMgdG9rZW5zIGluIG1ldGFkYXRhJywgKCkgPT4ge1xuICBjb25zdCBhcHAgPSBuZXcgY2RrLkFwcCgpO1xuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soYXBwLCAnbXktc3RhY2snKTtcbiAgY29uc3QgZGlyUGF0aCA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5Jyk7XG5cbiAgbmV3IEFzc2V0KHN0YWNrLCAnTXlBc3NldCcsIHtcbiAgICBwYXRoOiBkaXJQYXRoLFxuICB9KTtcblxuICBjb25zdCBzeW50aCA9IGFwcC5zeW50aCgpLmdldFN0YWNrQnlOYW1lKHN0YWNrLnN0YWNrTmFtZSk7XG4gIGNvbnN0IG1ldGEgPSBzeW50aC5tYW5pZmVzdC5tZXRhZGF0YSB8fCB7fTtcbiAgZXhwZWN0KG1ldGFbJy9teS1zdGFjayddKS50b0JlVHJ1dGh5KCk7XG4gIGV4cGVjdChtZXRhWycvbXktc3RhY2snXVswXSkudG9CZVRydXRoeSgpO1xuICBleHBlY3QobWV0YVsnL215LXN0YWNrJ11bMF0uZGF0YSkudG9FcXVhbCh7XG4gICAgcGF0aDogJ2Fzc2V0LjZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInLFxuICAgIGlkOiAnNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMicsXG4gICAgcGFja2FnaW5nOiAnemlwJyxcbiAgICBzb3VyY2VIYXNoOiAnNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMicsXG4gICAgczNCdWNrZXRQYXJhbWV0ZXI6ICdBc3NldFBhcmFtZXRlcnM2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyUzNCdWNrZXQ1MEI1QTEwQicsXG4gICAgczNLZXlQYXJhbWV0ZXI6ICdBc3NldFBhcmFtZXRlcnM2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyUzNWZXJzaW9uS2V5MUY3RDc1RjknLFxuICAgIGFydGlmYWN0SGFzaFBhcmFtZXRlcjogJ0Fzc2V0UGFyYW1ldGVyczZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTJBcnRpZmFjdEhhc2gyMjBERTlCRCcsXG4gIH0pO1xufSk7XG5cbnRlc3QoJ1wiZmlsZVwiIGFzc2V0cycsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ2ZpbGUtYXNzZXQudHh0Jyk7XG4gIG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7IHBhdGg6IGZpbGVQYXRoIH0pO1xuICBjb25zdCBlbnRyeSA9IHN0YWNrLm5vZGUubWV0YWRhdGEuZmluZChtID0+IG0udHlwZSA9PT0gJ2F3czpjZGs6YXNzZXQnKTtcbiAgZXhwZWN0KGVudHJ5KS50b0JlVHJ1dGh5KCk7XG5cbiAgLy8gc3ludGhlc2l6ZSBmaXJzdCBzbyBcInByZXBhcmVcIiBpcyBjYWxsZWRcbiAgY29uc3QgdGVtcGxhdGUgPSBTeW50aFV0aWxzLnN5bnRoZXNpemUoc3RhY2spLnRlbXBsYXRlO1xuXG4gIGV4cGVjdChzdGFjay5yZXNvbHZlKGVudHJ5IS5kYXRhKSkudG9FcXVhbCh7XG4gICAgcGF0aDogJ2Fzc2V0Ljc4YWRkOWVhZjQ2OGRmYTIxOTFkYTQ0YTdkYTkyYTIxYmFiYTRjNjg2Y2Y2MDUzZDc3MjU1Njc2OGVmMjExOTcudHh0JyxcbiAgICBwYWNrYWdpbmc6ICdmaWxlJyxcbiAgICBpZDogJzc4YWRkOWVhZjQ2OGRmYTIxOTFkYTQ0YTdkYTkyYTIxYmFiYTRjNjg2Y2Y2MDUzZDc3MjU1Njc2OGVmMjExOTcnLFxuICAgIHNvdXJjZUhhc2g6ICc3OGFkZDllYWY0NjhkZmEyMTkxZGE0NGE3ZGE5MmEyMWJhYmE0YzY4NmNmNjA1M2Q3NzI1NTY3NjhlZjIxMTk3JyxcbiAgICBzM0J1Y2tldFBhcmFtZXRlcjogJ0Fzc2V0UGFyYW1ldGVyczc4YWRkOWVhZjQ2OGRmYTIxOTFkYTQ0YTdkYTkyYTIxYmFiYTRjNjg2Y2Y2MDUzZDc3MjU1Njc2OGVmMjExOTdTM0J1Y2tldDJDNjBGOTRBJyxcbiAgICBzM0tleVBhcmFtZXRlcjogJ0Fzc2V0UGFyYW1ldGVyczc4YWRkOWVhZjQ2OGRmYTIxOTFkYTQ0YTdkYTkyYTIxYmFiYTRjNjg2Y2Y2MDUzZDc3MjU1Njc2OGVmMjExOTdTM1ZlcnNpb25LZXk5NDgyREMzNScsXG4gICAgYXJ0aWZhY3RIYXNoUGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNzhhZGQ5ZWFmNDY4ZGZhMjE5MWRhNDRhN2RhOTJhMjFiYWJhNGM2ODZjZjYwNTNkNzcyNTU2NzY4ZWYyMTE5N0FydGlmYWN0SGFzaDIyQkZGQTY3JyxcbiAgfSk7XG5cbiAgLy8gdmVyaWZ5IHRoYXQgbm93IHRoZSB0ZW1wbGF0ZSBjb250YWlucyBwYXJhbWV0ZXJzIGZvciB0aGlzIGFzc2V0XG4gIGV4cGVjdCh0ZW1wbGF0ZS5QYXJhbWV0ZXJzLkFzc2V0UGFyYW1ldGVyczc4YWRkOWVhZjQ2OGRmYTIxOTFkYTQ0YTdkYTkyYTIxYmFiYTRjNjg2Y2Y2MDUzZDc3MjU1Njc2OGVmMjExOTdTM0J1Y2tldDJDNjBGOTRBLlR5cGUpLnRvQmUoJ1N0cmluZycpO1xuICBleHBlY3QodGVtcGxhdGUuUGFyYW1ldGVycy5Bc3NldFBhcmFtZXRlcnM3OGFkZDllYWY0NjhkZmEyMTkxZGE0NGE3ZGE5MmEyMWJhYmE0YzY4NmNmNjA1M2Q3NzI1NTY3NjhlZjIxMTk3UzNWZXJzaW9uS2V5OTQ4MkRDMzUuVHlwZSkudG9CZSgnU3RyaW5nJyk7XG59KTtcblxudGVzdCgnXCJyZWFkZXJzXCIgb3IgXCJncmFudFJlYWRcIiBjYW4gYmUgdXNlZCB0byBncmFudCByZWFkIHBlcm1pc3Npb25zIG9uIHRoZSBhc3NldCB0byBhIHByaW5jaXBhbCcsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gIGNvbnN0IHVzZXIgPSBuZXcgaWFtLlVzZXIoc3RhY2ssICdNeVVzZXInKTtcbiAgY29uc3QgZ3JvdXAgPSBuZXcgaWFtLkdyb3VwKHN0YWNrLCAnTXlHcm91cCcpO1xuXG4gIGNvbnN0IGFzc2V0ID0gbmV3IEFzc2V0KHN0YWNrLCAnTXlBc3NldCcsIHtcbiAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScpLFxuICAgIHJlYWRlcnM6IFsgdXNlciBdLFxuICB9KTtcblxuICBhc3NldC5ncmFudFJlYWQoZ3JvdXApO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoJ0FXUzo6SUFNOjpQb2xpY3knLCB7XG4gICAgUG9saWN5RG9jdW1lbnQ6IHtcbiAgICAgIFZlcnNpb246ICcyMDEyLTEwLTE3JyxcbiAgICAgIFN0YXRlbWVudDogW1xuICAgICAgICB7XG4gICAgICAgICAgQWN0aW9uOiBbJ3MzOkdldE9iamVjdConLCAnczM6R2V0QnVja2V0KicsICdzMzpMaXN0KiddLFxuICAgICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgICAgICBSZXNvdXJjZTogW1xuICAgICAgICAgICAgeyAnRm46OkpvaW4nOiBbJycsIFsnYXJuOicsIHtSZWY6ICdBV1M6OlBhcnRpdGlvbid9LCAnOnMzOjo6Jywge1JlZjogJ0Fzc2V0UGFyYW1ldGVyczZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTJTM0J1Y2tldDUwQjVBMTBCJ30gXSBdIH0sXG4gICAgICAgICAgICB7ICdGbjo6Sm9pbic6IFsnJywgWyAnYXJuOicsIHtSZWY6ICdBV1M6OlBhcnRpdGlvbid9LCAnOnMzOjo6Jywge1JlZjogJ0Fzc2V0UGFyYW1ldGVyczZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTJTM0J1Y2tldDUwQjVBMTBCJ30sICcvKicgXSBdIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSk7XG59KTtcblxudGVzdCgnXCJncmFudFJlYWRcIiBhbHNvIGdpdmVzIEtNUyBwZXJtaXNzaW9ucyB3aGVuIHVzaW5nIHRoZSBuZXcgYm9vdHN0cmFwIHN0YWNrJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2sodW5kZWZpbmVkLCB1bmRlZmluZWQsIHtcbiAgICBzeW50aGVzaXplcjogbmV3IGNkay5EZWZhdWx0U3RhY2tTeW50aGVzaXplcigpLFxuICB9KTtcbiAgY29uc3QgZ3JvdXAgPSBuZXcgaWFtLkdyb3VwKHN0YWNrLCAnTXlHcm91cCcpO1xuXG4gIGNvbnN0IGFzc2V0ID0gbmV3IEFzc2V0KHN0YWNrLCAnTXlBc3NldCcsIHtcbiAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScpLFxuICAgIHJlYWRlcnM6IFsgZ3JvdXAgXSxcbiAgfSk7XG5cbiAgYXNzZXQuZ3JhbnRSZWFkKGdyb3VwKTtcblxuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKCdBV1M6OklBTTo6UG9saWN5Jywge1xuICAgIFBvbGljeURvY3VtZW50OiB7XG4gICAgICBWZXJzaW9uOiAnMjAxMi0xMC0xNycsXG4gICAgICBTdGF0ZW1lbnQ6IGFycmF5V2l0aCh7XG4gICAgICAgIEFjdGlvbjogWydrbXM6RGVjcnlwdCcsICdrbXM6RGVzY3JpYmVLZXknXSxcbiAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICBSZXNvdXJjZTogeyAnRm46OkltcG9ydFZhbHVlJzogJ0Nka0Jvb3RzdHJhcC1obmI2NTlmZHMtRmlsZUFzc2V0S2V5QXJuJyB9LFxuICAgICAgfSksXG4gICAgfSxcbiAgfSk7XG59KTtcblxudGVzdCgnZmFpbHMgaWYgZGlyZWN0b3J5IG5vdCBmb3VuZCcsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gIGV4cGVjdCgoKSA9PiBuZXcgQXNzZXQoc3RhY2ssICdNeURpcmVjdG9yeScsIHtcbiAgICBwYXRoOiAnL3BhdGgvbm90L2ZvdW5kLycgKyBNYXRoLnJhbmRvbSgpICogOTk5OTk5LFxuICB9KSkudG9UaHJvdygpO1xufSk7XG5cbnRlc3QoJ211bHRpcGxlIGFzc2V0cyB1bmRlciB0aGUgc2FtZSBwYXJlbnQnLCAoKSA9PiB7XG4gIC8vIEdJVkVOXG4gIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuXG4gIC8vIFdIRU5cbiAgZXhwZWN0KCgpID0+IG5ldyBBc3NldChzdGFjaywgJ015RGlyZWN0b3J5MScsIHsgcGF0aDogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3NhbXBsZS1hc3NldC1kaXJlY3RvcnknKSB9KSkubm90LnRvVGhyb3coKTtcbiAgZXhwZWN0KCgpID0+IG5ldyBBc3NldChzdGFjaywgJ015RGlyZWN0b3J5MicsIHsgcGF0aDogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3NhbXBsZS1hc3NldC1kaXJlY3RvcnknKSB9KSkubm90LnRvVGhyb3coKTtcbn0pO1xuXG50ZXN0KCdpc1ppcEFyY2hpdmUgaW5kaWNhdGVzIGlmIHRoZSBhc3NldCByZXByZXNlbnRzIGEgLnppcCBmaWxlIChlaXRoZXIgZXhwbGljaXRseSBvciB2aWEgWmlwRGlyZWN0b3J5IHBhY2thZ2luZyknLCAoKSA9PiB7XG4gIC8vIEdJVkVOXG4gIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuXG4gIC8vIFdIRU5cbiAgY29uc3Qgbm9uWmlwQXNzZXQgPSBuZXcgQXNzZXQoc3RhY2ssICdOb25aaXBBc3NldCcsIHtcbiAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScsICdzYW1wbGUtYXNzZXQtZmlsZS50eHQnKSxcbiAgfSk7XG5cbiAgY29uc3QgemlwRGlyZWN0b3J5QXNzZXQgPSBuZXcgQXNzZXQoc3RhY2ssICdaaXBEaXJlY3RvcnlBc3NldCcsIHtcbiAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScpLFxuICB9KTtcblxuICBjb25zdCB6aXBGaWxlQXNzZXQgPSBuZXcgQXNzZXQoc3RhY2ssICdaaXBGaWxlQXNzZXQnLCB7XG4gICAgcGF0aDogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3NhbXBsZS1hc3NldC1kaXJlY3RvcnknLCAnc2FtcGxlLXppcC1hc3NldC56aXAnKSxcbiAgfSk7XG5cbiAgY29uc3QgamFyRmlsZUFzc2V0ID0gbmV3IEFzc2V0KHN0YWNrLCAnSmFyRmlsZUFzc2V0Jywge1xuICAgIHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5JywgJ3NhbXBsZS1qYXItYXNzZXQuamFyJyksXG4gIH0pO1xuXG4gIC8vIFRIRU5cbiAgZXhwZWN0KG5vblppcEFzc2V0LmlzWmlwQXJjaGl2ZSkudG9CZShmYWxzZSk7XG4gIGV4cGVjdCh6aXBEaXJlY3RvcnlBc3NldC5pc1ppcEFyY2hpdmUpLnRvQmUodHJ1ZSk7XG4gIGV4cGVjdCh6aXBGaWxlQXNzZXQuaXNaaXBBcmNoaXZlKS50b0JlKHRydWUpO1xuICBleHBlY3QoamFyRmlsZUFzc2V0LmlzWmlwQXJjaGl2ZSkudG9CZSh0cnVlKTtcbn0pO1xuXG50ZXN0KCdhZGRSZXNvdXJjZU1ldGFkYXRhIGNhbiBiZSB1c2VkIHRvIGFkZCBDRk4gbWV0YWRhdGEgdG8gcmVzb3VyY2VzJywgKCkgPT4ge1xuICAvLyBHSVZFTlxuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KGN4YXBpLkFTU0VUX1JFU09VUkNFX01FVEFEQVRBX0VOQUJMRURfQ09OVEVYVCwgdHJ1ZSk7XG5cbiAgY29uc3QgbG9jYXRpb24gPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScpO1xuICBjb25zdCByZXNvdXJjZSA9IG5ldyBjZGsuQ2ZuUmVzb3VyY2Uoc3RhY2ssICdNeVJlc291cmNlJywgeyB0eXBlOiAnTXk6OlJlc291cmNlOjpUeXBlJyB9KTtcbiAgY29uc3QgYXNzZXQgPSBuZXcgQXNzZXQoc3RhY2ssICdNeUFzc2V0JywgeyBwYXRoOiBsb2NhdGlvbiB9KTtcblxuICAvLyBXSEVOXG4gIGFzc2V0LmFkZFJlc291cmNlTWV0YWRhdGEocmVzb3VyY2UsICdQcm9wTmFtZScpO1xuXG4gIC8vIFRIRU5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZSgnTXk6OlJlc291cmNlOjpUeXBlJywge1xuICAgIE1ldGFkYXRhOiB7XG4gICAgICAnYXdzOmFzc2V0OnBhdGgnOiAnYXNzZXQuNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMicsXG4gICAgICAnYXdzOmFzc2V0OnByb3BlcnR5JzogJ1Byb3BOYW1lJyxcbiAgICB9LFxuICB9LCBSZXNvdXJjZVBhcnQuQ29tcGxldGVEZWZpbml0aW9uKTtcbn0pO1xuXG50ZXN0KCdhc3NldCBtZXRhZGF0YSBpcyBvbmx5IGVtaXR0ZWQgaWYgQVNTRVRfUkVTT1VSQ0VfTUVUQURBVEFfRU5BQkxFRF9DT05URVhUIGlzIGRlZmluZWQnLCAoKSA9PiB7XG4gIC8vIEdJVkVOXG4gIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuXG4gIGNvbnN0IHJlc291cmNlID0gbmV3IGNkay5DZm5SZXNvdXJjZShzdGFjaywgJ015UmVzb3VyY2UnLCB7IHR5cGU6ICdNeTo6UmVzb3VyY2U6OlR5cGUnIH0pO1xuICBjb25zdCBhc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7IHBhdGg6IFNBTVBMRV9BU1NFVF9ESVIgfSk7XG5cbiAgLy8gV0hFTlxuICBhc3NldC5hZGRSZXNvdXJjZU1ldGFkYXRhKHJlc291cmNlLCAnUHJvcE5hbWUnKTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChzdGFjaykubm90LnRvSGF2ZVJlc291cmNlKCdNeTo6UmVzb3VyY2U6OlR5cGUnLCB7XG4gICAgTWV0YWRhdGE6IHtcbiAgICAgICdhd3M6YXNzZXQ6cGF0aCc6IFNBTVBMRV9BU1NFVF9ESVIsXG4gICAgICAnYXdzOmFzc2V0OnByb3BlcnR5JzogJ1Byb3BOYW1lJyxcbiAgICB9LFxuICB9LCBSZXNvdXJjZVBhcnQuQ29tcGxldGVEZWZpbml0aW9uKTtcbn0pO1xuXG5kZXNjcmliZSgnc3RhZ2luZycsICgpID0+IHtcbiAgdGVzdCgnY29weSBmaWxlIGFzc2V0cyB1bmRlciA8b3V0ZGlyPi8ke2ZpbmdlcnByaW50fS5leHQnLCAoKSA9PiB7XG4gICAgY29uc3QgdGVtcGRpciA9IG1rZHRlbXBTeW5jKCk7XG4gICAgcHJvY2Vzcy5jaGRpcih0ZW1wZGlyKTsgLy8gY2hhbmdlIGN1cnJlbnQgZGlyZWN0b3J5IHRvIHNvbWV3aGVyZSBpbiAvdG1wXG5cbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKHsgb3V0ZGlyOiB0ZW1wZGlyIH0pO1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayhhcHAsICdzdGFjaycpO1xuXG4gICAgLy8gV0hFTlxuICAgIG5ldyBBc3NldChzdGFjaywgJ1ppcEZpbGUnLCB7XG4gICAgICBwYXRoOiBwYXRoLmpvaW4oU0FNUExFX0FTU0VUX0RJUiwgJ3NhbXBsZS16aXAtYXNzZXQuemlwJyksXG4gICAgfSk7XG5cbiAgICBuZXcgQXNzZXQoc3RhY2ssICdUZXh0RmlsZScsIHtcbiAgICAgIHBhdGg6IHBhdGguam9pbihTQU1QTEVfQVNTRVRfRElSLCAnc2FtcGxlLWFzc2V0LWZpbGUudHh0JyksXG4gICAgfSk7XG5cbiAgICAvLyBUSEVOXG4gICAgYXBwLnN5bnRoKCk7XG4gICAgZXhwZWN0KGZzLmV4aXN0c1N5bmModGVtcGRpcikpLnRvQmUodHJ1ZSk7XG4gICAgZXhwZWN0KGZzLmV4aXN0c1N5bmMocGF0aC5qb2luKHRlbXBkaXIsICdhc3NldC5hN2E3OWNkZjg0YjgwMmVhOGIxOTgwNTlmZjg5OWNmZmMwOTVhMWI5NjA2ZTkxOWY5OGUwNWJmODA3Nzk3NTZiLnppcCcpKSkudG9CZSh0cnVlKTtcbiAgfSk7XG5cbiAgdGVzdCgnY29weSBkaXJlY3RvcnkgdW5kZXIgLmFzc2V0cy9maW5nZXJwcmludC8qKicsICgpID0+IHtcbiAgICBjb25zdCB0ZW1wZGlyID0gbWtkdGVtcFN5bmMoKTtcbiAgICBwcm9jZXNzLmNoZGlyKHRlbXBkaXIpOyAvLyBjaGFuZ2UgY3VycmVudCBkaXJlY3RvcnkgdG8gc29tZXdoZXJlIGluIC90bXBcblxuICAgIC8vIEdJVkVOXG4gICAgY29uc3QgYXBwID0gbmV3IGNkay5BcHAoeyBvdXRkaXI6IHRlbXBkaXIgfSk7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKGFwcCwgJ3N0YWNrJyk7XG5cbiAgICAvLyBXSEVOXG4gICAgbmV3IEFzc2V0KHN0YWNrLCAnWmlwRGlyZWN0b3J5Jywge1xuICAgICAgcGF0aDogU0FNUExFX0FTU0VUX0RJUixcbiAgICB9KTtcblxuICAgIC8vIFRIRU5cbiAgICBhcHAuc3ludGgoKTtcbiAgICBleHBlY3QoZnMuZXhpc3RzU3luYyh0ZW1wZGlyKSkudG9CZSh0cnVlKTtcbiAgICBjb25zdCBoYXNoID0gJ2Fzc2V0LjZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInO1xuICAgIGV4cGVjdChmcy5leGlzdHNTeW5jKHBhdGguam9pbih0ZW1wZGlyLCBoYXNoLCAnc2FtcGxlLWFzc2V0LWZpbGUudHh0JykpKS50b0JlKHRydWUpO1xuICAgIGV4cGVjdChmcy5leGlzdHNTeW5jKHBhdGguam9pbih0ZW1wZGlyLCBoYXNoLCAnc2FtcGxlLWphci1hc3NldC5qYXInKSkpLnRvQmUodHJ1ZSk7XG4gICAgZXhwZWN0KCgpID0+IGZzLnJlYWRkaXJTeW5jKHRlbXBkaXIpKS5ub3QudG9UaHJvdygpO1xuICB9KTtcblxuICB0ZXN0KCdzdGFnaW5nIHBhdGggaXMgcmVsYXRpdmUgaWYgdGhlIGRpciBpcyBiZWxvdyB0aGUgd29ya2luZyBkaXJlY3RvcnknLCAoKSA9PiB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCB0ZW1wZGlyID0gbWtkdGVtcFN5bmMoKTtcbiAgICBwcm9jZXNzLmNoZGlyKHRlbXBkaXIpOyAvLyBjaGFuZ2UgY3VycmVudCBkaXJlY3RvcnkgdG8gc29tZXdoZXJlIGluIC90bXBcblxuICAgIGNvbnN0IHN0YWdpbmcgPSAnLm15LWF3ZXNvbWUtc3RhZ2luZy1kaXJlY3RvcnknO1xuICAgIGNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKHtcbiAgICAgIG91dGRpcjogc3RhZ2luZyxcbiAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgW2N4YXBpLkFTU0VUX1JFU09VUkNFX01FVEFEQVRBX0VOQUJMRURfQ09OVEVYVF06ICd0cnVlJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soYXBwLCAnc3RhY2snKTtcblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IGNkay5DZm5SZXNvdXJjZShzdGFjaywgJ015UmVzb3VyY2UnLCB7IHR5cGU6ICdNeTo6UmVzb3VyY2U6OlR5cGUnIH0pO1xuICAgIGNvbnN0IGFzc2V0ID0gbmV3IEFzc2V0KHN0YWNrLCAnTXlBc3NldCcsIHsgcGF0aDogU0FNUExFX0FTU0VUX0RJUiB9KTtcblxuICAgIC8vIFdIRU5cbiAgICBhc3NldC5hZGRSZXNvdXJjZU1ldGFkYXRhKHJlc291cmNlLCAnUHJvcE5hbWUnKTtcblxuICAgIGNvbnN0IHRlbXBsYXRlID0gU3ludGhVdGlscy5zeW50aGVzaXplKHN0YWNrKS50ZW1wbGF0ZTtcbiAgICBleHBlY3QodGVtcGxhdGUuUmVzb3VyY2VzLk15UmVzb3VyY2UuTWV0YWRhdGEpLnRvRXF1YWwoe1xuICAgICAgJ2F3czphc3NldDpwYXRoJzogJ2Fzc2V0LjZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInLFxuICAgICAgJ2F3czphc3NldDpwcm9wZXJ0eSc6ICdQcm9wTmFtZScsXG4gICAgfSk7XG4gIH0pO1xuXG4gIHRlc3QoJ2lmIHN0YWdpbmcgaXMgZGlzYWJsZWQsIGFzc2V0IHBhdGggaXMgYWJzb2x1dGUnLCAoKSA9PiB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBzdGFnaW5nID0gcGF0aC5yZXNvbHZlKG1rZHRlbXBTeW5jKCkpO1xuICAgIGNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKHtcbiAgICAgIG91dGRpcjogc3RhZ2luZyxcbiAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgW2N4YXBpLkRJU0FCTEVfQVNTRVRfU1RBR0lOR19DT05URVhUXTogJ3RydWUnLFxuICAgICAgICBbY3hhcGkuQVNTRVRfUkVTT1VSQ0VfTUVUQURBVEFfRU5BQkxFRF9DT05URVhUXTogJ3RydWUnLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayhhcHAsICdzdGFjaycpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgY2RrLkNmblJlc291cmNlKHN0YWNrLCAnTXlSZXNvdXJjZScsIHsgdHlwZTogJ015OjpSZXNvdXJjZTo6VHlwZScgfSk7XG4gICAgY29uc3QgYXNzZXQgPSBuZXcgQXNzZXQoc3RhY2ssICdNeUFzc2V0JywgeyBwYXRoOiBTQU1QTEVfQVNTRVRfRElSIH0pO1xuXG4gICAgLy8gV0hFTlxuICAgIGFzc2V0LmFkZFJlc291cmNlTWV0YWRhdGEocmVzb3VyY2UsICdQcm9wTmFtZScpO1xuXG4gICAgY29uc3QgdGVtcGxhdGUgPSBTeW50aFV0aWxzLnN5bnRoZXNpemUoc3RhY2spLnRlbXBsYXRlO1xuICAgIGV4cGVjdCh0ZW1wbGF0ZS5SZXNvdXJjZXMuTXlSZXNvdXJjZS5NZXRhZGF0YSkudG9FcXVhbCh7XG4gICAgICAnYXdzOmFzc2V0OnBhdGgnOiBTQU1QTEVfQVNTRVRfRElSLFxuICAgICAgJ2F3czphc3NldDpwcm9wZXJ0eSc6ICdQcm9wTmFtZScsXG4gICAgfSk7XG4gIH0pO1xuXG4gIHRlc3QoJ2NkayBtZXRhZGF0YSBwb2ludHMgdG8gc3RhZ2VkIGFzc2V0JywgKCkgPT4ge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3QgYXBwID0gbmV3IGNkay5BcHAoKTtcbiAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soYXBwLCAnc3RhY2snKTtcbiAgICBuZXcgQXNzZXQoc3RhY2ssICdNeUFzc2V0JywgeyBwYXRoOiBTQU1QTEVfQVNTRVRfRElSIH0pO1xuXG4gICAgLy8gV0hFTlxuICAgIGNvbnN0IHNlc3Npb24gPSBhcHAuc3ludGgoKTtcbiAgICBjb25zdCBhcnRpZmFjdCA9IHNlc3Npb24uZ2V0U3RhY2tCeU5hbWUoc3RhY2suc3RhY2tOYW1lKTtcbiAgICBjb25zdCBtZXRhZGF0YSA9IGFydGlmYWN0Lm1hbmlmZXN0Lm1ldGFkYXRhIHx8IHt9O1xuICAgIGNvbnN0IG1kID0gT2JqZWN0LnZhbHVlcyhtZXRhZGF0YSlbMF0hWzBdIS5kYXRhIGFzIGN4c2NoZW1hLkFzc2V0TWV0YWRhdGFFbnRyeTtcbiAgICBleHBlY3QobWQucGF0aCkudG9CZSgnYXNzZXQuNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMicpO1xuICB9KTtcbn0pO1xuXG5mdW5jdGlvbiBta2R0ZW1wU3luYygpIHtcbiAgcmV0dXJuIGZzLm1rZHRlbXBTeW5jKHBhdGguam9pbihvcy50bXBkaXIoKSwgJ2Fzc2V0cy50ZXN0JykpO1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFzc2V0LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0Q0FBc0U7QUFDdEUsZ0NBQThCO0FBQzlCLHdDQUF3QztBQUV4QyxxQ0FBcUM7QUFDckMseUNBQXlDO0FBQ3pDLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLHdDQUFxQztBQUVyQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFFeEUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtJQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFDdEIsT0FBTyxFQUFFO1lBQ1AsQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsRUFBRSxNQUFNO1NBQzlDO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1QyxJQUFJLGFBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFO1FBQzFCLElBQUksRUFBRSxnQkFBZ0I7S0FDdkIsQ0FBQyxDQUFDO0lBRUgsOERBQThEO0lBQzlELDBCQUEwQjtJQUMxQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUUzQixrRUFBa0U7SUFDbEUsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRTVCLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQU0sQ0FBQyxJQUFJ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QU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNsRCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBRSxDQUFDLENBQUMsQ0FBRSxDQUFDLElBQW1DLENBQUM7UUFDL0UsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsd0VBQXdFLENBQUMsQ0FBQztJQUNqRyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsU0FBUyxXQUFXO0lBQ2xCLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO0FBQy9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhcnJheVdpdGgsIFJlc291cmNlUGFydCwgU3ludGhVdGlscyB9IGZyb20gJ0Bhd3MtY2RrL2Fzc2VydCc7XG5pbXBvcnQgJ0Bhd3MtY2RrL2Fzc2VydC9qZXN0JztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdAYXdzLWNkay9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGN4c2NoZW1hIGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgKiBhcyBjeGFwaSBmcm9tICdAYXdzLWNkay9jeC1hcGknO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgb3MgZnJvbSAnb3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IEFzc2V0IH0gZnJvbSAnLi4vbGliL2Fzc2V0JztcblxuY29uc3QgU0FNUExFX0FTU0VUX0RJUiA9IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5Jyk7XG5cbnRlc3QoJ3NpbXBsZSB1c2UgY2FzZScsICgpID0+IHtcbiAgY29uc3QgYXBwID0gbmV3IGNkay5BcHAoe1xuICAgIGNvbnRleHQ6IHtcbiAgICAgIFtjeGFwaS5ESVNBQkxFX0FTU0VUX1NUQUdJTkdfQ09OVEVYVF06ICd0cnVlJyxcbiAgICB9LFxuICB9KTtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKGFwcCwgJ015U3RhY2snKTtcbiAgbmV3IEFzc2V0KHN0YWNrLCAnTXlBc3NldCcsIHtcbiAgICBwYXRoOiBTQU1QTEVfQVNTRVRfRElSLFxuICB9KTtcblxuICAvLyB2ZXJpZnkgdGhhdCBtZXRhZGF0YSBjb250YWlucyBhbiBcImF3czpjZGs6YXNzZXRcIiBlbnRyeSB3aXRoXG4gIC8vIHRoZSBjb3JyZWN0IGluZm9ybWF0aW9uXG4gIGNvbnN0IGVudHJ5ID0gc3RhY2subm9kZS5tZXRhZGF0YS5maW5kKG0gPT4gbS50eXBlID09PSAnYXdzOmNkazphc3NldCcpO1xuICBleHBlY3QoZW50cnkpLnRvQmVUcnV0aHkoKTtcblxuICAvLyB2ZXJpZnkgdGhhdCBub3cgdGhlIHRlbXBsYXRlIGNvbnRhaW5zIHBhcmFtZXRlcnMgZm9yIHRoaXMgYXNzZXRcbiAgY29uc3Qgc2Vzc2lvbiA9IGFwcC5zeW50aCgpO1xuXG4gIGV4cGVjdChzdGFjay5yZXNvbHZlKGVudHJ5IS5kYXRhKSkudG9FcXVhbCh7XG4gICAgcGF0aDogU0FNUExFX0FTU0VUX0RJUixcbiAgICBpZDogJzZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInLFxuICAgIHBhY2thZ2luZzogJ3ppcCcsXG4gICAgc291cmNlSGFzaDogJzZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInLFxuICAgIHMzQnVja2V0UGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMlMzQnVja2V0NTBCNUExMEInLFxuICAgIHMzS2V5UGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMlMzVmVyc2lvbktleTFGN0Q3NUY5JyxcbiAgICBhcnRpZmFjdEhhc2hQYXJhbWV0ZXI6ICdBc3NldFBhcmFtZXRlcnM2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyQXJ0aWZhY3RIYXNoMjIwREU5QkQnLFxuICB9KTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihzZXNzaW9uLmRpcmVjdG9yeSwgJ015U3RhY2sudGVtcGxhdGUuanNvbicpLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pKTtcblxuICBleHBlY3QodGVtcGxhdGUuUGFyYW1ldGVycy5Bc3NldFBhcmFtZXRlcnM2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyUzNCdWNrZXQ1MEI1QTEwQi5UeXBlKS50b0JlKCdTdHJpbmcnKTtcbiAgZXhwZWN0KHRlbXBsYXRlLlBhcmFtZXRlcnMuQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMlMzVmVyc2lvbktleTFGN0Q3NUY5LlR5cGUpLnRvQmUoJ1N0cmluZycpO1xufSk7XG5cbnRlc3QoJ3ZlcmlmeSB0aGF0IHRoZSBhcHAgcmVzb2x2ZXMgdG9rZW5zIGluIG1ldGFkYXRhJywgKCkgPT4ge1xuICBjb25zdCBhcHAgPSBuZXcgY2RrLkFwcCgpO1xuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soYXBwLCAnbXktc3RhY2snKTtcbiAgY29uc3QgZGlyUGF0aCA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5Jyk7XG5cbiAgbmV3IEFzc2V0KHN0YWNrLCAnTXlBc3NldCcsIHtcbiAgICBwYXRoOiBkaXJQYXRoLFxuICB9KTtcblxuICBjb25zdCBzeW50aCA9IGFwcC5zeW50aCgpLmdldFN0YWNrQnlOYW1lKHN0YWNrLnN0YWNrTmFtZSk7XG4gIGNvbnN0IG1ldGEgPSBzeW50aC5tYW5pZmVzdC5tZXRhZGF0YSB8fCB7fTtcbiAgZXhwZWN0KG1ldGFbJy9teS1zdGFjayddKS50b0JlVHJ1dGh5KCk7XG4gIGV4cGVjdChtZXRhWycvbXktc3RhY2snXVswXSkudG9CZVRydXRoeSgpO1xuICBleHBlY3QobWV0YVsnL215LXN0YWNrJ11bMF0uZGF0YSkudG9FcXVhbCh7XG4gICAgcGF0aDogJ2Fzc2V0LjZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTInLFxuICAgIGlkOiAnNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMicsXG4gICAgcGFja2FnaW5nOiAnemlwJyxcbiAgICBzb3VyY2VIYXNoOiAnNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMicsXG4gICAgczNCdWNrZXRQYXJhbWV0ZXI6ICdBc3NldFBhcmFtZXRlcnM2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyUzNCdWNrZXQ1MEI1QTEwQicsXG4gICAgczNLZXlQYXJhbWV0ZXI6ICdBc3NldFBhcmFtZXRlcnM2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyUzNWZXJzaW9uS2V5MUY3RDc1RjknLFxuICAgIGFydGlmYWN0SGFzaFBhcmFtZXRlcjogJ0Fzc2V0UGFyYW1ldGVyczZiODRiODcyNDNhNGEwMWM1OTJkNzhlMWZkMzg1NWM0YmZlZjM5MzI4Y2QwYTQ1MGNjOTdlODE3MTdmZWEyYTJBcnRpZmFjdEhhc2gyMjBERTlCRCcsXG4gIH0pO1xufSk7XG5cbnRlc3QoJ1wiZmlsZVwiIGFzc2V0cycsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ2ZpbGUtYXNzZXQudHh0Jyk7XG4gIG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7IHBhdGg6IGZpbGVQYXRoIH0pO1xuICBjb25zdCBlbnRyeSA9IHN0YWNrLm5vZGUubWV0YWRhdGEuZmluZChtID0+IG0udHlwZSA9PT0gJ2F3czpjZGs6YXNzZXQnKTtcbiAgZXhwZWN0KGVudHJ5KS50b0JlVHJ1dGh5KCk7XG5cbiAgLy8gc3ludGhlc2l6ZSBmaXJzdCBzbyBcInByZXBhcmVcIiBpcyBjYWxsZWRcbiAgY29uc3QgdGVtcGxhdGUgPSBTeW50aFV0aWxzLnN5bnRoZXNpemUoc3RhY2spLnRlbXBsYXRlO1xuXG4gIGV4cGVjdChzdGFjay5yZXNvbHZlKGVudHJ5IS5kYXRhKSkudG9FcXVhbCh7XG4gICAgcGF0aDogJ2Fzc2V0Ljc4YWRkOWVhZjQ2OGRmYTIxOTFkYTQ0YTdkYTkyYTIxYmFiYTRjNjg2Y2Y2MDUzZDc3MjU1Njc2OGVmMjExOTcudHh0JyxcbiAgICBwYWNrYWdpbmc6ICdmaWxlJyxcbiAgICBpZDogJzc4YWRkOWVhZjQ2OGRmYTIxOTFkYTQ0YTdkYTkyYTIxYmFiYTRjNjg2Y2Y2MDUzZDc3MjU1Njc2OGVmMjExOTcnLFxuICAgIHNvdXJjZUhhc2g6ICc3OGFkZDllYWY0NjhkZmEyMTkxZGE0NGE3ZGE5MmEyMWJhYmE0YzY4NmNmNjA1M2Q3NzI1NTY3NjhlZjIxMTk3JyxcbiAgICBzM0J1Y2tldFBhcmFtZXRlcjogJ0Fzc2V0UGFyYW1ldGVyczc4YWRkOWVhZjQ2OGRmYTIxOTFkYTQ0YTdkYTkyYTIxYmFiYTRjNjg2Y2Y2MDUzZDc3MjU1Njc2OGVmMjExOTdTM0J1Y2tldDJDNjBGOTRBJyxcbiAgICBzM0tleVBhcmFtZXRlcjogJ0Fzc2V0UGFyYW1ldGVyczc4YWRkOWVhZjQ2OGRmYTIxOTFkYTQ0YTdkYTkyYTIxYmFiYTRjNjg2Y2Y2MDUzZDc3MjU1Njc2OGVmMjExOTdTM1ZlcnNpb25LZXk5NDgyREMzNScsXG4gICAgYXJ0aWZhY3RIYXNoUGFyYW1ldGVyOiAnQXNzZXRQYXJhbWV0ZXJzNzhhZGQ5ZWFmNDY4ZGZhMjE5MWRhNDRhN2RhOTJhMjFiYWJhNGM2ODZjZjYwNTNkNzcyNTU2NzY4ZWYyMTE5N0FydGlmYWN0SGFzaDIyQkZGQTY3JyxcbiAgfSk7XG5cbiAgLy8gdmVyaWZ5IHRoYXQgbm93IHRoZSB0ZW1wbGF0ZSBjb250YWlucyBwYXJhbWV0ZXJzIGZvciB0aGlzIGFzc2V0XG4gIGV4cGVjdCh0ZW1wbGF0ZS5QYXJhbWV0ZXJzLkFzc2V0UGFyYW1ldGVyczc4YWRkOWVhZjQ2OGRmYTIxOTFkYTQ0YTdkYTkyYTIxYmFiYTRjNjg2Y2Y2MDUzZDc3MjU1Njc2OGVmMjExOTdTM0J1Y2tldDJDNjBGOTRBLlR5cGUpLnRvQmUoJ1N0cmluZycpO1xuICBleHBlY3QodGVtcGxhdGUuUGFyYW1ldGVycy5Bc3NldFBhcmFtZXRlcnM3OGFkZDllYWY0NjhkZmEyMTkxZGE0NGE3ZGE5MmEyMWJhYmE0YzY4NmNmNjA1M2Q3NzI1NTY3NjhlZjIxMTk3UzNWZXJzaW9uS2V5OTQ4MkRDMzUuVHlwZSkudG9CZSgnU3RyaW5nJyk7XG59KTtcblxudGVzdCgnXCJyZWFkZXJzXCIgb3IgXCJncmFudFJlYWRcIiBjYW4gYmUgdXNlZCB0byBncmFudCByZWFkIHBlcm1pc3Npb25zIG9uIHRoZSBhc3NldCB0byBhIHByaW5jaXBhbCcsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gIGNvbnN0IHVzZXIgPSBuZXcgaWFtLlVzZXIoc3RhY2ssICdNeVVzZXInKTtcbiAgY29uc3QgZ3JvdXAgPSBuZXcgaWFtLkdyb3VwKHN0YWNrLCAnTXlHcm91cCcpO1xuXG4gIGNvbnN0IGFzc2V0ID0gbmV3IEFzc2V0KHN0YWNrLCAnTXlBc3NldCcsIHtcbiAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScpLFxuICAgIHJlYWRlcnM6IFt1c2VyXSxcbiAgfSk7XG5cbiAgYXNzZXQuZ3JhbnRSZWFkKGdyb3VwKTtcblxuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKCdBV1M6OklBTTo6UG9saWN5Jywge1xuICAgIFBvbGljeURvY3VtZW50OiB7XG4gICAgICBWZXJzaW9uOiAnMjAxMi0xMC0xNycsXG4gICAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIEFjdGlvbjogWydzMzpHZXRPYmplY3QqJywgJ3MzOkdldEJ1Y2tldConLCAnczM6TGlzdConXSxcbiAgICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgICAgUmVzb3VyY2U6IFtcbiAgICAgICAgICAgIHsgJ0ZuOjpKb2luJzogWycnLCBbJ2FybjonLCB7IFJlZjogJ0FXUzo6UGFydGl0aW9uJyB9LCAnOnMzOjo6JywgeyBSZWY6ICdBc3NldFBhcmFtZXRlcnM2Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyUzNCdWNrZXQ1MEI1QTEwQicgfV1dIH0sXG4gICAgICAgICAgICB7ICdGbjo6Sm9pbic6IFsnJywgWydhcm46JywgeyBSZWY6ICdBV1M6OlBhcnRpdGlvbicgfSwgJzpzMzo6OicsIHsgUmVmOiAnQXNzZXRQYXJhbWV0ZXJzNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMlMzQnVja2V0NTBCNUExMEInIH0sICcvKiddXSB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIH0pO1xufSk7XG5cbnRlc3QoJ1wiZ3JhbnRSZWFkXCIgYWxzbyBnaXZlcyBLTVMgcGVybWlzc2lvbnMgd2hlbiB1c2luZyB0aGUgbmV3IGJvb3RzdHJhcCBzdGFjaycsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB7XG4gICAgc3ludGhlc2l6ZXI6IG5ldyBjZGsuRGVmYXVsdFN0YWNrU3ludGhlc2l6ZXIoKSxcbiAgfSk7XG4gIGNvbnN0IGdyb3VwID0gbmV3IGlhbS5Hcm91cChzdGFjaywgJ015R3JvdXAnKTtcblxuICBjb25zdCBhc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7XG4gICAgcGF0aDogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3NhbXBsZS1hc3NldC1kaXJlY3RvcnknKSxcbiAgICByZWFkZXJzOiBbZ3JvdXBdLFxuICB9KTtcblxuICBhc3NldC5ncmFudFJlYWQoZ3JvdXApO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoJ0FXUzo6SUFNOjpQb2xpY3knLCB7XG4gICAgUG9saWN5RG9jdW1lbnQ6IHtcbiAgICAgIFZlcnNpb246ICcyMDEyLTEwLTE3JyxcbiAgICAgIFN0YXRlbWVudDogYXJyYXlXaXRoKHtcbiAgICAgICAgQWN0aW9uOiBbJ2ttczpEZWNyeXB0JywgJ2ttczpEZXNjcmliZUtleSddLFxuICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgIFJlc291cmNlOiB7ICdGbjo6SW1wb3J0VmFsdWUnOiAnQ2RrQm9vdHN0cmFwLWhuYjY1OWZkcy1GaWxlQXNzZXRLZXlBcm4nIH0sXG4gICAgICB9KSxcbiAgICB9LFxuICB9KTtcbn0pO1xuXG50ZXN0KCdmYWlscyBpZiBkaXJlY3Rvcnkgbm90IGZvdW5kJywgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgZXhwZWN0KCgpID0+IG5ldyBBc3NldChzdGFjaywgJ015RGlyZWN0b3J5Jywge1xuICAgIHBhdGg6ICcvcGF0aC9ub3QvZm91bmQvJyArIE1hdGgucmFuZG9tKCkgKiA5OTk5OTksXG4gIH0pKS50b1Rocm93KCk7XG59KTtcblxudGVzdCgnbXVsdGlwbGUgYXNzZXRzIHVuZGVyIHRoZSBzYW1lIHBhcmVudCcsICgpID0+IHtcbiAgLy8gR0lWRU5cbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG5cbiAgLy8gV0hFTlxuICBleHBlY3QoKCkgPT4gbmV3IEFzc2V0KHN0YWNrLCAnTXlEaXJlY3RvcnkxJywgeyBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScpIH0pKS5ub3QudG9UaHJvdygpO1xuICBleHBlY3QoKCkgPT4gbmV3IEFzc2V0KHN0YWNrLCAnTXlEaXJlY3RvcnkyJywgeyBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScpIH0pKS5ub3QudG9UaHJvdygpO1xufSk7XG5cbnRlc3QoJ2lzWmlwQXJjaGl2ZSBpbmRpY2F0ZXMgaWYgdGhlIGFzc2V0IHJlcHJlc2VudHMgYSAuemlwIGZpbGUgKGVpdGhlciBleHBsaWNpdGx5IG9yIHZpYSBaaXBEaXJlY3RvcnkgcGFja2FnaW5nKScsICgpID0+IHtcbiAgLy8gR0lWRU5cbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG5cbiAgLy8gV0hFTlxuICBjb25zdCBub25aaXBBc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ05vblppcEFzc2V0Jywge1xuICAgIHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5JywgJ3NhbXBsZS1hc3NldC1maWxlLnR4dCcpLFxuICB9KTtcblxuICBjb25zdCB6aXBEaXJlY3RvcnlBc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ1ppcERpcmVjdG9yeUFzc2V0Jywge1xuICAgIHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5JyksXG4gIH0pO1xuXG4gIGNvbnN0IHppcEZpbGVBc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ1ppcEZpbGVBc3NldCcsIHtcbiAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2FtcGxlLWFzc2V0LWRpcmVjdG9yeScsICdzYW1wbGUtemlwLWFzc2V0LnppcCcpLFxuICB9KTtcblxuICBjb25zdCBqYXJGaWxlQXNzZXQgPSBuZXcgQXNzZXQoc3RhY2ssICdKYXJGaWxlQXNzZXQnLCB7XG4gICAgcGF0aDogcGF0aC5qb2luKF9fZGlybmFtZSwgJ3NhbXBsZS1hc3NldC1kaXJlY3RvcnknLCAnc2FtcGxlLWphci1hc3NldC5qYXInKSxcbiAgfSk7XG5cbiAgLy8gVEhFTlxuICBleHBlY3Qobm9uWmlwQXNzZXQuaXNaaXBBcmNoaXZlKS50b0JlKGZhbHNlKTtcbiAgZXhwZWN0KHppcERpcmVjdG9yeUFzc2V0LmlzWmlwQXJjaGl2ZSkudG9CZSh0cnVlKTtcbiAgZXhwZWN0KHppcEZpbGVBc3NldC5pc1ppcEFyY2hpdmUpLnRvQmUodHJ1ZSk7XG4gIGV4cGVjdChqYXJGaWxlQXNzZXQuaXNaaXBBcmNoaXZlKS50b0JlKHRydWUpO1xufSk7XG5cbnRlc3QoJ2FkZFJlc291cmNlTWV0YWRhdGEgY2FuIGJlIHVzZWQgdG8gYWRkIENGTiBtZXRhZGF0YSB0byByZXNvdXJjZXMnLCAoKSA9PiB7XG4gIC8vIEdJVkVOXG4gIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoY3hhcGkuQVNTRVRfUkVTT1VSQ0VfTUVUQURBVEFfRU5BQkxFRF9DT05URVhULCB0cnVlKTtcblxuICBjb25zdCBsb2NhdGlvbiA9IHBhdGguam9pbihfX2Rpcm5hbWUsICdzYW1wbGUtYXNzZXQtZGlyZWN0b3J5Jyk7XG4gIGNvbnN0IHJlc291cmNlID0gbmV3IGNkay5DZm5SZXNvdXJjZShzdGFjaywgJ015UmVzb3VyY2UnLCB7IHR5cGU6ICdNeTo6UmVzb3VyY2U6OlR5cGUnIH0pO1xuICBjb25zdCBhc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7IHBhdGg6IGxvY2F0aW9uIH0pO1xuXG4gIC8vIFdIRU5cbiAgYXNzZXQuYWRkUmVzb3VyY2VNZXRhZGF0YShyZXNvdXJjZSwgJ1Byb3BOYW1lJyk7XG5cbiAgLy8gVEhFTlxuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKCdNeTo6UmVzb3VyY2U6OlR5cGUnLCB7XG4gICAgTWV0YWRhdGE6IHtcbiAgICAgICdhd3M6YXNzZXQ6cGF0aCc6ICdhc3NldC42Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyJyxcbiAgICAgICdhd3M6YXNzZXQ6cHJvcGVydHknOiAnUHJvcE5hbWUnLFxuICAgIH0sXG4gIH0sIFJlc291cmNlUGFydC5Db21wbGV0ZURlZmluaXRpb24pO1xufSk7XG5cbnRlc3QoJ2Fzc2V0IG1ldGFkYXRhIGlzIG9ubHkgZW1pdHRlZCBpZiBBU1NFVF9SRVNPVVJDRV9NRVRBREFUQV9FTkFCTEVEX0NPTlRFWFQgaXMgZGVmaW5lZCcsICgpID0+IHtcbiAgLy8gR0lWRU5cbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG5cbiAgY29uc3QgcmVzb3VyY2UgPSBuZXcgY2RrLkNmblJlc291cmNlKHN0YWNrLCAnTXlSZXNvdXJjZScsIHsgdHlwZTogJ015OjpSZXNvdXJjZTo6VHlwZScgfSk7XG4gIGNvbnN0IGFzc2V0ID0gbmV3IEFzc2V0KHN0YWNrLCAnTXlBc3NldCcsIHsgcGF0aDogU0FNUExFX0FTU0VUX0RJUiB9KTtcblxuICAvLyBXSEVOXG4gIGFzc2V0LmFkZFJlc291cmNlTWV0YWRhdGEocmVzb3VyY2UsICdQcm9wTmFtZScpO1xuXG4gIC8vIFRIRU5cbiAgZXhwZWN0KHN0YWNrKS5ub3QudG9IYXZlUmVzb3VyY2UoJ015OjpSZXNvdXJjZTo6VHlwZScsIHtcbiAgICBNZXRhZGF0YToge1xuICAgICAgJ2F3czphc3NldDpwYXRoJzogU0FNUExFX0FTU0VUX0RJUixcbiAgICAgICdhd3M6YXNzZXQ6cHJvcGVydHknOiAnUHJvcE5hbWUnLFxuICAgIH0sXG4gIH0sIFJlc291cmNlUGFydC5Db21wbGV0ZURlZmluaXRpb24pO1xufSk7XG5cbmRlc2NyaWJlKCdzdGFnaW5nJywgKCkgPT4ge1xuICB0ZXN0KCdjb3B5IGZpbGUgYXNzZXRzIHVuZGVyIDxvdXRkaXI+LyR7ZmluZ2VycHJpbnR9LmV4dCcsICgpID0+IHtcbiAgICBjb25zdCB0ZW1wZGlyID0gbWtkdGVtcFN5bmMoKTtcbiAgICBwcm9jZXNzLmNoZGlyKHRlbXBkaXIpOyAvLyBjaGFuZ2UgY3VycmVudCBkaXJlY3RvcnkgdG8gc29tZXdoZXJlIGluIC90bXBcblxuICAgIC8vIEdJVkVOXG4gICAgY29uc3QgYXBwID0gbmV3IGNkay5BcHAoeyBvdXRkaXI6IHRlbXBkaXIgfSk7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKGFwcCwgJ3N0YWNrJyk7XG5cbiAgICAvLyBXSEVOXG4gICAgbmV3IEFzc2V0KHN0YWNrLCAnWmlwRmlsZScsIHtcbiAgICAgIHBhdGg6IHBhdGguam9pbihTQU1QTEVfQVNTRVRfRElSLCAnc2FtcGxlLXppcC1hc3NldC56aXAnKSxcbiAgICB9KTtcblxuICAgIG5ldyBBc3NldChzdGFjaywgJ1RleHRGaWxlJywge1xuICAgICAgcGF0aDogcGF0aC5qb2luKFNBTVBMRV9BU1NFVF9ESVIsICdzYW1wbGUtYXNzZXQtZmlsZS50eHQnKSxcbiAgICB9KTtcblxuICAgIC8vIFRIRU5cbiAgICBhcHAuc3ludGgoKTtcbiAgICBleHBlY3QoZnMuZXhpc3RzU3luYyh0ZW1wZGlyKSkudG9CZSh0cnVlKTtcbiAgICBleHBlY3QoZnMuZXhpc3RzU3luYyhwYXRoLmpvaW4odGVtcGRpciwgJ2Fzc2V0LmE3YTc5Y2RmODRiODAyZWE4YjE5ODA1OWZmODk5Y2ZmYzA5NWExYjk2MDZlOTE5Zjk4ZTA1YmY4MDc3OTc1NmIuemlwJykpKS50b0JlKHRydWUpO1xuICB9KTtcblxuICB0ZXN0KCdjb3B5IGRpcmVjdG9yeSB1bmRlciAuYXNzZXRzL2ZpbmdlcnByaW50LyoqJywgKCkgPT4ge1xuICAgIGNvbnN0IHRlbXBkaXIgPSBta2R0ZW1wU3luYygpO1xuICAgIHByb2Nlc3MuY2hkaXIodGVtcGRpcik7IC8vIGNoYW5nZSBjdXJyZW50IGRpcmVjdG9yeSB0byBzb21ld2hlcmUgaW4gL3RtcFxuXG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBhcHAgPSBuZXcgY2RrLkFwcCh7IG91dGRpcjogdGVtcGRpciB9KTtcbiAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soYXBwLCAnc3RhY2snKTtcblxuICAgIC8vIFdIRU5cbiAgICBuZXcgQXNzZXQoc3RhY2ssICdaaXBEaXJlY3RvcnknLCB7XG4gICAgICBwYXRoOiBTQU1QTEVfQVNTRVRfRElSLFxuICAgIH0pO1xuXG4gICAgLy8gVEhFTlxuICAgIGFwcC5zeW50aCgpO1xuICAgIGV4cGVjdChmcy5leGlzdHNTeW5jKHRlbXBkaXIpKS50b0JlKHRydWUpO1xuICAgIGNvbnN0IGhhc2ggPSAnYXNzZXQuNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMic7XG4gICAgZXhwZWN0KGZzLmV4aXN0c1N5bmMocGF0aC5qb2luKHRlbXBkaXIsIGhhc2gsICdzYW1wbGUtYXNzZXQtZmlsZS50eHQnKSkpLnRvQmUodHJ1ZSk7XG4gICAgZXhwZWN0KGZzLmV4aXN0c1N5bmMocGF0aC5qb2luKHRlbXBkaXIsIGhhc2gsICdzYW1wbGUtamFyLWFzc2V0LmphcicpKSkudG9CZSh0cnVlKTtcbiAgICBleHBlY3QoKCkgPT4gZnMucmVhZGRpclN5bmModGVtcGRpcikpLm5vdC50b1Rocm93KCk7XG4gIH0pO1xuXG4gIHRlc3QoJ3N0YWdpbmcgcGF0aCBpcyByZWxhdGl2ZSBpZiB0aGUgZGlyIGlzIGJlbG93IHRoZSB3b3JraW5nIGRpcmVjdG9yeScsICgpID0+IHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IHRlbXBkaXIgPSBta2R0ZW1wU3luYygpO1xuICAgIHByb2Nlc3MuY2hkaXIodGVtcGRpcik7IC8vIGNoYW5nZSBjdXJyZW50IGRpcmVjdG9yeSB0byBzb21ld2hlcmUgaW4gL3RtcFxuXG4gICAgY29uc3Qgc3RhZ2luZyA9ICcubXktYXdlc29tZS1zdGFnaW5nLWRpcmVjdG9yeSc7XG4gICAgY29uc3QgYXBwID0gbmV3IGNkay5BcHAoe1xuICAgICAgb3V0ZGlyOiBzdGFnaW5nLFxuICAgICAgY29udGV4dDoge1xuICAgICAgICBbY3hhcGkuQVNTRVRfUkVTT1VSQ0VfTUVUQURBVEFfRU5BQkxFRF9DT05URVhUXTogJ3RydWUnLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayhhcHAsICdzdGFjaycpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgY2RrLkNmblJlc291cmNlKHN0YWNrLCAnTXlSZXNvdXJjZScsIHsgdHlwZTogJ015OjpSZXNvdXJjZTo6VHlwZScgfSk7XG4gICAgY29uc3QgYXNzZXQgPSBuZXcgQXNzZXQoc3RhY2ssICdNeUFzc2V0JywgeyBwYXRoOiBTQU1QTEVfQVNTRVRfRElSIH0pO1xuXG4gICAgLy8gV0hFTlxuICAgIGFzc2V0LmFkZFJlc291cmNlTWV0YWRhdGEocmVzb3VyY2UsICdQcm9wTmFtZScpO1xuXG4gICAgY29uc3QgdGVtcGxhdGUgPSBTeW50aFV0aWxzLnN5bnRoZXNpemUoc3RhY2spLnRlbXBsYXRlO1xuICAgIGV4cGVjdCh0ZW1wbGF0ZS5SZXNvdXJjZXMuTXlSZXNvdXJjZS5NZXRhZGF0YSkudG9FcXVhbCh7XG4gICAgICAnYXdzOmFzc2V0OnBhdGgnOiAnYXNzZXQuNmI4NGI4NzI0M2E0YTAxYzU5MmQ3OGUxZmQzODU1YzRiZmVmMzkzMjhjZDBhNDUwY2M5N2U4MTcxN2ZlYTJhMicsXG4gICAgICAnYXdzOmFzc2V0OnByb3BlcnR5JzogJ1Byb3BOYW1lJyxcbiAgICB9KTtcbiAgfSk7XG5cbiAgdGVzdCgnaWYgc3RhZ2luZyBpcyBkaXNhYmxlZCwgYXNzZXQgcGF0aCBpcyBhYnNvbHV0ZScsICgpID0+IHtcbiAgICAvLyBHSVZFTlxuICAgIGNvbnN0IHN0YWdpbmcgPSBwYXRoLnJlc29sdmUobWtkdGVtcFN5bmMoKSk7XG4gICAgY29uc3QgYXBwID0gbmV3IGNkay5BcHAoe1xuICAgICAgb3V0ZGlyOiBzdGFnaW5nLFxuICAgICAgY29udGV4dDoge1xuICAgICAgICBbY3hhcGkuRElTQUJMRV9BU1NFVF9TVEFHSU5HX0NPTlRFWFRdOiAndHJ1ZScsXG4gICAgICAgIFtjeGFwaS5BU1NFVF9SRVNPVVJDRV9NRVRBREFUQV9FTkFCTEVEX0NPTlRFWFRdOiAndHJ1ZScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKGFwcCwgJ3N0YWNrJyk7XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBjZGsuQ2ZuUmVzb3VyY2Uoc3RhY2ssICdNeVJlc291cmNlJywgeyB0eXBlOiAnTXk6OlJlc291cmNlOjpUeXBlJyB9KTtcbiAgICBjb25zdCBhc3NldCA9IG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7IHBhdGg6IFNBTVBMRV9BU1NFVF9ESVIgfSk7XG5cbiAgICAvLyBXSEVOXG4gICAgYXNzZXQuYWRkUmVzb3VyY2VNZXRhZGF0YShyZXNvdXJjZSwgJ1Byb3BOYW1lJyk7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZSA9IFN5bnRoVXRpbHMuc3ludGhlc2l6ZShzdGFjaykudGVtcGxhdGU7XG4gICAgZXhwZWN0KHRlbXBsYXRlLlJlc291cmNlcy5NeVJlc291cmNlLk1ldGFkYXRhKS50b0VxdWFsKHtcbiAgICAgICdhd3M6YXNzZXQ6cGF0aCc6IFNBTVBMRV9BU1NFVF9ESVIsXG4gICAgICAnYXdzOmFzc2V0OnByb3BlcnR5JzogJ1Byb3BOYW1lJyxcbiAgICB9KTtcbiAgfSk7XG5cbiAgdGVzdCgnY2RrIG1ldGFkYXRhIHBvaW50cyB0byBzdGFnZWQgYXNzZXQnLCAoKSA9PiB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBhcHAgPSBuZXcgY2RrLkFwcCgpO1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayhhcHAsICdzdGFjaycpO1xuICAgIG5ldyBBc3NldChzdGFjaywgJ015QXNzZXQnLCB7IHBhdGg6IFNBTVBMRV9BU1NFVF9ESVIgfSk7XG5cbiAgICAvLyBXSEVOXG4gICAgY29uc3Qgc2Vzc2lvbiA9IGFwcC5zeW50aCgpO1xuICAgIGNvbnN0IGFydGlmYWN0ID0gc2Vzc2lvbi5nZXRTdGFja0J5TmFtZShzdGFjay5zdGFja05hbWUpO1xuICAgIGNvbnN0IG1ldGFkYXRhID0gYXJ0aWZhY3QubWFuaWZlc3QubWV0YWRhdGEgfHwge307XG4gICAgY29uc3QgbWQgPSBPYmplY3QudmFsdWVzKG1ldGFkYXRhKVswXSFbMF0hLmRhdGEgYXMgY3hzY2hlbWEuQXNzZXRNZXRhZGF0YUVudHJ5O1xuICAgIGV4cGVjdChtZC5wYXRoKS50b0JlKCdhc3NldC42Yjg0Yjg3MjQzYTRhMDFjNTkyZDc4ZTFmZDM4NTVjNGJmZWYzOTMyOGNkMGE0NTBjYzk3ZTgxNzE3ZmVhMmEyJyk7XG4gIH0pO1xufSk7XG5cbmZ1bmN0aW9uIG1rZHRlbXBTeW5jKCkge1xuICByZXR1cm4gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCAnYXNzZXRzLnRlc3QnKSk7XG59XG4iXX0=

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc