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

@aws-cdk/assert

Package Overview
Dependencies
Maintainers
4
Versions
420
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-cdk/assert - npm Package Compare versions

Comparing version 0.9.2 to 0.10.0

2

lib/assertion.js

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

exports.not = not;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXNzZXJ0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsTUFBc0IsU0FBUztJQUszQjs7T0FFRztJQUNJLEdBQUcsQ0FBQyxTQUFvQztRQUMzQyxzR0FBc0c7UUFDdEcsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxhQUFhLENBQUMsU0FBeUI7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztTQUNyRztJQUNMLENBQUM7Q0FDSjtBQWxCRCw4QkFrQkM7QUFFRCw4REFBMEQ7QUFFMUQsU0FBUyxHQUFHLENBQXNCLElBQWtCLEVBQUUsS0FBbUI7SUFDckUsT0FBTyxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxzRUFBa0U7QUFFbEUsU0FBZ0IsR0FBRyxDQUFzQixTQUF1QjtJQUM1RCxPQUFPLElBQUksb0NBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUZELGtCQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5zcGVjdG9yIH0gZnJvbSBcIi4vaW5zcGVjdG9yXCI7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3MgZXh0ZW5kcyBJbnNwZWN0b3I+IHtcbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAgIHB1YmxpYyBhYnN0cmFjdCBhc3NlcnRVc2luZyhpbnNwZWN0b3I6IEluc3BlY3RvckNsYXNzKTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEFzc2VydCB0aGlzIHRoaW5nIGFuZCBhbm90aGVyIHRoaW5nXG4gICAgICovXG4gICAgcHVibGljIGFuZChhc3NlcnRpb246IEFzc2VydGlvbjxJbnNwZWN0b3JDbGFzcz4pOiBBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3M+IHtcbiAgICAgICAgLy8gTmVlZHMgdG8gZGVsZWdhdGUgdG8gYSBmdW5jdGlvbiBzbyB0aGF0IHdlIGNhbiBpbXBvcnQgbXV0dWFsbHkgZGVwZW5kZW50IGNsYXNzZXMgaW4gdGhlIHJpZ2h0IG9yZGVyXG4gICAgICAgIHJldHVybiBhbmQodGhpcywgYXNzZXJ0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNzZXJ0T3JUaHJvdyhpbnNwZWN0b3I6IEluc3BlY3RvckNsYXNzKSB7XG4gICAgICAgIGlmICghdGhpcy5hc3NlcnRVc2luZyhpbnNwZWN0b3IpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7SlNPTi5zdHJpbmdpZnkoaW5zcGVjdG9yLnZhbHVlLCBudWxsLCAyKX0gZG9lcyBub3QgbWF0Y2ggJHt0aGlzLmRlc2NyaXB0aW9ufWApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5pbXBvcnQgeyBBbmRBc3NlcnRpb24gfSBmcm9tIFwiLi9hc3NlcnRpb25zL2FuZC1hc3NlcnRpb25cIjtcblxuZnVuY3Rpb24gYW5kPEkgZXh0ZW5kcyBJbnNwZWN0b3I+KGxlZnQ6IEFzc2VydGlvbjxJPiwgcmlnaHQ6IEFzc2VydGlvbjxJPik6IEFzc2VydGlvbjxJPiB7XG4gICAgcmV0dXJuIG5ldyBBbmRBc3NlcnRpb24obGVmdCwgcmlnaHQpO1xufVxuXG5pbXBvcnQgeyBOZWdhdGVkQXNzZXJ0aW9uIH0gZnJvbSBcIi4vYXNzZXJ0aW9ucy9uZWdhdGVkLWFzc2VydGlvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gbm90PFQgZXh0ZW5kcyBJbnNwZWN0b3I+KGFzc2VydGlvbjogQXNzZXJ0aW9uPFQ+KTogQXNzZXJ0aW9uPFQ+IHtcbiAgICByZXR1cm4gbmV3IE5lZ2F0ZWRBc3NlcnRpb24oYXNzZXJ0aW9uKTtcbn0iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXNzZXJ0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsTUFBc0IsU0FBUztJQUs3Qjs7T0FFRztJQUNJLEdBQUcsQ0FBQyxTQUFvQztRQUM3QyxzR0FBc0c7UUFDdEcsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxhQUFhLENBQUMsU0FBeUI7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztTQUNuRztJQUNILENBQUM7Q0FDRjtBQWxCRCw4QkFrQkM7QUFFRCw4REFBMEQ7QUFFMUQsU0FBUyxHQUFHLENBQXNCLElBQWtCLEVBQUUsS0FBbUI7SUFDdkUsT0FBTyxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxzRUFBa0U7QUFFbEUsU0FBZ0IsR0FBRyxDQUFzQixTQUF1QjtJQUM5RCxPQUFPLElBQUksb0NBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUZELGtCQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5zcGVjdG9yIH0gZnJvbSBcIi4vaW5zcGVjdG9yXCI7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3MgZXh0ZW5kcyBJbnNwZWN0b3I+IHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGFzc2VydFVzaW5nKGluc3BlY3RvcjogSW5zcGVjdG9yQ2xhc3MpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBc3NlcnQgdGhpcyB0aGluZyBhbmQgYW5vdGhlciB0aGluZ1xuICAgKi9cbiAgcHVibGljIGFuZChhc3NlcnRpb246IEFzc2VydGlvbjxJbnNwZWN0b3JDbGFzcz4pOiBBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3M+IHtcbiAgICAvLyBOZWVkcyB0byBkZWxlZ2F0ZSB0byBhIGZ1bmN0aW9uIHNvIHRoYXQgd2UgY2FuIGltcG9ydCBtdXR1YWxseSBkZXBlbmRlbnQgY2xhc3NlcyBpbiB0aGUgcmlnaHQgb3JkZXJcbiAgICByZXR1cm4gYW5kKHRoaXMsIGFzc2VydGlvbik7XG4gIH1cblxuICBwdWJsaWMgYXNzZXJ0T3JUaHJvdyhpbnNwZWN0b3I6IEluc3BlY3RvckNsYXNzKSB7XG4gICAgaWYgKCF0aGlzLmFzc2VydFVzaW5nKGluc3BlY3RvcikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtKU09OLnN0cmluZ2lmeShpbnNwZWN0b3IudmFsdWUsIG51bGwsIDIpfSBkb2VzIG5vdCBtYXRjaCAke3RoaXMuZGVzY3JpcHRpb259YCk7XG4gICAgfVxuICB9XG59XG5cbmltcG9ydCB7IEFuZEFzc2VydGlvbiB9IGZyb20gXCIuL2Fzc2VydGlvbnMvYW5kLWFzc2VydGlvblwiO1xuXG5mdW5jdGlvbiBhbmQ8SSBleHRlbmRzIEluc3BlY3Rvcj4obGVmdDogQXNzZXJ0aW9uPEk+LCByaWdodDogQXNzZXJ0aW9uPEk+KTogQXNzZXJ0aW9uPEk+IHtcbiAgcmV0dXJuIG5ldyBBbmRBc3NlcnRpb24obGVmdCwgcmlnaHQpO1xufVxuXG5pbXBvcnQgeyBOZWdhdGVkQXNzZXJ0aW9uIH0gZnJvbSBcIi4vYXNzZXJ0aW9ucy9uZWdhdGVkLWFzc2VydGlvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gbm90PFQgZXh0ZW5kcyBJbnNwZWN0b3I+KGFzc2VydGlvbjogQXNzZXJ0aW9uPFQ+KTogQXNzZXJ0aW9uPFQ+IHtcbiAgcmV0dXJuIG5ldyBOZWdhdGVkQXNzZXJ0aW9uKGFzc2VydGlvbik7XG59XG4iXX0=

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

exports.AndAssertion = AndAssertion;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5kLWFzc2VydGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFuZC1hc3NlcnRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0Q0FBeUM7QUFHekMsTUFBYSxZQUErQyxTQUFRLHFCQUF5QjtJQUd6RixZQUE2QixLQUFnQyxFQUFtQixNQUFpQztRQUM3RyxLQUFLLEVBQUUsQ0FBQztRQURpQixVQUFLLEdBQUwsS0FBSyxDQUEyQjtRQUFtQixXQUFNLEdBQU4sTUFBTSxDQUEyQjtRQUYxRyxnQkFBVyxHQUFXLG9CQUFvQixDQUFDO0lBSWxELENBQUM7SUFFTSxXQUFXLENBQUMsVUFBMEI7UUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxhQUFhLENBQUMsU0FBeUI7UUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUNKO0FBZkQsb0NBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3NlcnRpb24gfSBmcm9tIFwiLi4vYXNzZXJ0aW9uXCI7XG5pbXBvcnQgeyBJbnNwZWN0b3IgfSBmcm9tIFwiLi4vaW5zcGVjdG9yXCI7XG5cbmV4cG9ydCBjbGFzcyBBbmRBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3MgZXh0ZW5kcyBJbnNwZWN0b3I+IGV4dGVuZHMgQXNzZXJ0aW9uPEluc3BlY3RvckNsYXNzPiB7XG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmcgPSAnQ29tYmluZWQgYXNzZXJ0aW9uJztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZmlyc3Q6IEFzc2VydGlvbjxJbnNwZWN0b3JDbGFzcz4sIHByaXZhdGUgcmVhZG9ubHkgc2Vjb25kOiBBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3M+KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzc2VydFVzaW5nKF9pbnNwZWN0b3I6IEluc3BlY3RvckNsYXNzKTogYm9vbGVhbiB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBpcyBuZXZlciBjYWxsZWQnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNzZXJ0T3JUaHJvdyhpbnNwZWN0b3I6IEluc3BlY3RvckNsYXNzKSB7XG4gICAgICAgIHRoaXMuZmlyc3QuYXNzZXJ0T3JUaHJvdyhpbnNwZWN0b3IpO1xuICAgICAgICB0aGlzLnNlY29uZC5hc3NlcnRPclRocm93KGluc3BlY3Rvcik7XG4gICAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5kLWFzc2VydGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFuZC1hc3NlcnRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0Q0FBeUM7QUFHekMsTUFBYSxZQUErQyxTQUFRLHFCQUF5QjtJQUczRixZQUE2QixLQUFnQyxFQUFtQixNQUFpQztRQUMvRyxLQUFLLEVBQUUsQ0FBQztRQURtQixVQUFLLEdBQUwsS0FBSyxDQUEyQjtRQUFtQixXQUFNLEdBQU4sTUFBTSxDQUEyQjtRQUYxRyxnQkFBVyxHQUFXLG9CQUFvQixDQUFDO0lBSWxELENBQUM7SUFFTSxXQUFXLENBQUMsVUFBMEI7UUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxhQUFhLENBQUMsU0FBeUI7UUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBZkQsb0NBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3NlcnRpb24gfSBmcm9tIFwiLi4vYXNzZXJ0aW9uXCI7XG5pbXBvcnQgeyBJbnNwZWN0b3IgfSBmcm9tIFwiLi4vaW5zcGVjdG9yXCI7XG5cbmV4cG9ydCBjbGFzcyBBbmRBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3MgZXh0ZW5kcyBJbnNwZWN0b3I+IGV4dGVuZHMgQXNzZXJ0aW9uPEluc3BlY3RvckNsYXNzPiB7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nID0gJ0NvbWJpbmVkIGFzc2VydGlvbic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmaXJzdDogQXNzZXJ0aW9uPEluc3BlY3RvckNsYXNzPiwgcHJpdmF0ZSByZWFkb25seSBzZWNvbmQ6IEFzc2VydGlvbjxJbnNwZWN0b3JDbGFzcz4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGFzc2VydFVzaW5nKF9pbnNwZWN0b3I6IEluc3BlY3RvckNsYXNzKTogYm9vbGVhbiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUaGlzIGlzIG5ldmVyIGNhbGxlZCcpO1xuICB9XG5cbiAgcHVibGljIGFzc2VydE9yVGhyb3coaW5zcGVjdG9yOiBJbnNwZWN0b3JDbGFzcykge1xuICAgIHRoaXMuZmlyc3QuYXNzZXJ0T3JUaHJvdyhpbnNwZWN0b3IpO1xuICAgIHRoaXMuc2Vjb25kLmFzc2VydE9yVGhyb3coaW5zcGVjdG9yKTtcbiAgfVxufVxuIl19

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

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtcmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY291bnQtcmVzb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNENBQXlDO0FBR3pDOztHQUVHO0FBQ0gsU0FBZ0IsY0FBYyxDQUFDLFlBQW9CLEVBQUUsS0FBSyxHQUFHLENBQUM7SUFDMUQsT0FBTyxJQUFJLHVCQUF1QixDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBRkQsd0NBRUM7QUFFRCxNQUFNLHVCQUF3QixTQUFRLHFCQUF5QjtJQUczRCxZQUE2QixZQUFvQixFQUNwQixLQUFhO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRmlCLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ3BCLFVBQUssR0FBTCxLQUFLLENBQVE7UUFIbEMsY0FBUyxHQUFXLENBQUMsQ0FBQztJQUs5QixDQUFDO0lBRU0sV0FBVyxDQUFDLFNBQXlCO1FBQ3hDLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNoQixLQUFLLE1BQU0sU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLEVBQUU7WUFDbEUsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JDLE9BQU8sRUFBRSxDQUFDO2dCQUNWLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO2FBQ3ZCO1NBQ0o7UUFFRCxPQUFPLE9BQU8sS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxrQkFBa0IsSUFBSSxDQUFDLFNBQVMscUJBQXFCLElBQUksQ0FBQyxZQUFZLDRCQUE0QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUgsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSBcIi4uL2Fzc2VydGlvblwiO1xuaW1wb3J0IHsgU3RhY2tJbnNwZWN0b3IgfSBmcm9tIFwiLi4vaW5zcGVjdG9yXCI7XG5cbi8qKlxuICogQW4gYXNzZXJ0aW9uIHRvIGNoZWNrIHdoZXRoZXIgYSByZXNvdXJjZSBvZiBhIGdpdmVuIHR5cGUgYW5kIHdpdGggdGhlIGdpdmVuIHByb3BlcnRpZXMgZXhpc3RzLCBkaXNyZWdhcmRpbmcgcHJvcGVydGllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY291bnRSZXNvdXJjZXMocmVzb3VyY2VUeXBlOiBzdHJpbmcsIGNvdW50ID0gMSk6IEFzc2VydGlvbjxTdGFja0luc3BlY3Rvcj4ge1xuICAgIHJldHVybiBuZXcgQ291bnRSZXNvdXJjZXNBc3NlcnRpb24ocmVzb3VyY2VUeXBlLCBjb3VudCk7XG59XG5cbmNsYXNzIENvdW50UmVzb3VyY2VzQXNzZXJ0aW9uIGV4dGVuZHMgQXNzZXJ0aW9uPFN0YWNrSW5zcGVjdG9yPiB7XG4gICAgcHJpdmF0ZSBpbnNwZWN0ZWQ6IG51bWJlciA9IDA7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlVHlwZTogc3RyaW5nLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnQ6IG51bWJlcikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3NlcnRVc2luZyhpbnNwZWN0b3I6IFN0YWNrSW5zcGVjdG9yKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBjb3VudGVkID0gMDtcbiAgICAgICAgZm9yIChjb25zdCBsb2dpY2FsSWQgb2YgT2JqZWN0LmtleXMoaW5zcGVjdG9yLnZhbHVlLlJlc291cmNlcyB8fCB7fSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc291cmNlID0gaW5zcGVjdG9yLnZhbHVlLlJlc291cmNlc1tsb2dpY2FsSWRdO1xuICAgICAgICAgICAgaWYgKHJlc291cmNlLlR5cGUgPT09IHRoaXMucmVzb3VyY2VUeXBlKSB7XG4gICAgICAgICAgICAgICAgY291bnRlZCsrO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5zcGVjdGVkICs9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY291bnRlZCA9PT0gdGhpcy5jb3VudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgc3RhY2sgb25seSBoYXMgJHt0aGlzLmluc3BlY3RlZH0gcmVzb3VyY2Ugb2YgdHlwZSAke3RoaXMucmVzb3VyY2VUeXBlfSBidXQgd2UgZXhwZWN0ZWQgdG8gZmluZCAke3RoaXMuY291bnR9YDtcbiAgICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtcmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY291bnQtcmVzb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNENBQXlDO0FBR3pDOztHQUVHO0FBQ0gsU0FBZ0IsY0FBYyxDQUFDLFlBQW9CLEVBQUUsS0FBSyxHQUFHLENBQUM7SUFDNUQsT0FBTyxJQUFJLHVCQUF1QixDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRkQsd0NBRUM7QUFFRCxNQUFNLHVCQUF3QixTQUFRLHFCQUF5QjtJQUc3RCxZQUE2QixZQUFvQixFQUNwQixLQUFhO1FBQ3hDLEtBQUssRUFBRSxDQUFDO1FBRm1CLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ3BCLFVBQUssR0FBTCxLQUFLLENBQVE7UUFIbEMsY0FBUyxHQUFXLENBQUMsQ0FBQztJQUs5QixDQUFDO0lBRU0sV0FBVyxDQUFDLFNBQXlCO1FBQzFDLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNoQixLQUFLLE1BQU0sU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLEVBQUU7WUFDcEUsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3ZDLE9BQU8sRUFBRSxDQUFDO2dCQUNWLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO2FBQ3JCO1NBQ0Y7UUFFRCxPQUFPLE9BQU8sS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxrQkFBa0IsSUFBSSxDQUFDLFNBQVMscUJBQXFCLElBQUksQ0FBQyxZQUFZLDRCQUE0QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEgsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSBcIi4uL2Fzc2VydGlvblwiO1xuaW1wb3J0IHsgU3RhY2tJbnNwZWN0b3IgfSBmcm9tIFwiLi4vaW5zcGVjdG9yXCI7XG5cbi8qKlxuICogQW4gYXNzZXJ0aW9uIHRvIGNoZWNrIHdoZXRoZXIgYSByZXNvdXJjZSBvZiBhIGdpdmVuIHR5cGUgYW5kIHdpdGggdGhlIGdpdmVuIHByb3BlcnRpZXMgZXhpc3RzLCBkaXNyZWdhcmRpbmcgcHJvcGVydGllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY291bnRSZXNvdXJjZXMocmVzb3VyY2VUeXBlOiBzdHJpbmcsIGNvdW50ID0gMSk6IEFzc2VydGlvbjxTdGFja0luc3BlY3Rvcj4ge1xuICByZXR1cm4gbmV3IENvdW50UmVzb3VyY2VzQXNzZXJ0aW9uKHJlc291cmNlVHlwZSwgY291bnQpO1xufVxuXG5jbGFzcyBDb3VudFJlc291cmNlc0Fzc2VydGlvbiBleHRlbmRzIEFzc2VydGlvbjxTdGFja0luc3BlY3Rvcj4ge1xuICBwcml2YXRlIGluc3BlY3RlZDogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlVHlwZTogc3RyaW5nLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvdW50OiBudW1iZXIpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGFzc2VydFVzaW5nKGluc3BlY3RvcjogU3RhY2tJbnNwZWN0b3IpOiBib29sZWFuIHtcbiAgICBsZXQgY291bnRlZCA9IDA7XG4gICAgZm9yIChjb25zdCBsb2dpY2FsSWQgb2YgT2JqZWN0LmtleXMoaW5zcGVjdG9yLnZhbHVlLlJlc291cmNlcyB8fCB7fSkpIHtcbiAgICAgIGNvbnN0IHJlc291cmNlID0gaW5zcGVjdG9yLnZhbHVlLlJlc291cmNlc1tsb2dpY2FsSWRdO1xuICAgICAgaWYgKHJlc291cmNlLlR5cGUgPT09IHRoaXMucmVzb3VyY2VUeXBlKSB7XG4gICAgICAgIGNvdW50ZWQrKztcbiAgICAgICAgdGhpcy5pbnNwZWN0ZWQgKz0gMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY291bnRlZCA9PT0gdGhpcy5jb3VudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVzY3JpcHRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHN0YWNrIG9ubHkgaGFzICR7dGhpcy5pbnNwZWN0ZWR9IHJlc291cmNlIG9mIHR5cGUgJHt0aGlzLnJlc291cmNlVHlwZX0gYnV0IHdlIGV4cGVjdGVkIHRvIGZpbmQgJHt0aGlzLmNvdW50fWA7XG4gIH1cbn1cbiJdfQ==

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

exports.exist = exist;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDRDQUF5QztBQUd6QyxNQUFNLHlCQUEwQixTQUFRLHFCQUE2QjtJQUdqRTtRQUNJLEtBQUssRUFBRSxDQUFDO1FBSEwsZ0JBQVcsR0FBVyxzQkFBc0IsQ0FBQztJQUlwRCxDQUFDO0lBRU0sV0FBVyxDQUFDLFNBQTZCO1FBQzVDLE9BQU8sU0FBUyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUM7SUFDekMsQ0FBQztDQUNKO0FBRUQsU0FBZ0IsS0FBSztJQUNqQixPQUFPLElBQUkseUJBQXlCLEVBQUUsQ0FBQztBQUMzQyxDQUFDO0FBRkQsc0JBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3NlcnRpb24gfSBmcm9tICcuLi9hc3NlcnRpb24nO1xuaW1wb3J0IHsgU3RhY2tQYXRoSW5zcGVjdG9yIH0gZnJvbSAnLi4vaW5zcGVjdG9yJztcblxuY2xhc3MgRXhpc3RpbmdSZXNvdXJjZUFzc2VydGlvbiBleHRlbmRzIEFzc2VydGlvbjxTdGFja1BhdGhJbnNwZWN0b3I+IHtcbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZyA9ICdhbiBleGlzdGluZyByZXNvdXJjZSc7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNzZXJ0VXNpbmcoaW5zcGVjdG9yOiBTdGFja1BhdGhJbnNwZWN0b3IpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluc3BlY3Rvci52YWx1ZSAhPT0gdW5kZWZpbmVkO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4aXN0KCk6IEFzc2VydGlvbjxTdGFja1BhdGhJbnNwZWN0b3I+IHtcbiAgICByZXR1cm4gbmV3IEV4aXN0aW5nUmVzb3VyY2VBc3NlcnRpb24oKTtcbn0iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDRDQUF5QztBQUd6QyxNQUFNLHlCQUEwQixTQUFRLHFCQUE2QjtJQUduRTtRQUNFLEtBQUssRUFBRSxDQUFDO1FBSEgsZ0JBQVcsR0FBVyxzQkFBc0IsQ0FBQztJQUlwRCxDQUFDO0lBRU0sV0FBVyxDQUFDLFNBQTZCO1FBQzlDLE9BQU8sU0FBUyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBRUQsU0FBZ0IsS0FBSztJQUNuQixPQUFPLElBQUkseUJBQXlCLEVBQUUsQ0FBQztBQUN6QyxDQUFDO0FBRkQsc0JBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3NlcnRpb24gfSBmcm9tICcuLi9hc3NlcnRpb24nO1xuaW1wb3J0IHsgU3RhY2tQYXRoSW5zcGVjdG9yIH0gZnJvbSAnLi4vaW5zcGVjdG9yJztcblxuY2xhc3MgRXhpc3RpbmdSZXNvdXJjZUFzc2VydGlvbiBleHRlbmRzIEFzc2VydGlvbjxTdGFja1BhdGhJbnNwZWN0b3I+IHtcbiAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmcgPSAnYW4gZXhpc3RpbmcgcmVzb3VyY2UnO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgYXNzZXJ0VXNpbmcoaW5zcGVjdG9yOiBTdGFja1BhdGhJbnNwZWN0b3IpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaW5zcGVjdG9yLnZhbHVlICE9PSB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4aXN0KCk6IEFzc2VydGlvbjxTdGFja1BhdGhJbnNwZWN0b3I+IHtcbiAgcmV0dXJuIG5ldyBFeGlzdGluZ1Jlc291cmNlQXNzZXJ0aW9uKCk7XG59XG4iXX0=

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

})(ResourcePart = exports.ResourcePart || (exports.ResourcePart = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGF2ZS1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImhhdmUtcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0Q0FBeUM7QUFHekM7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLFlBQVksQ0FBQyxZQUFvQixFQUFFLFVBQWdCLEVBQUUsVUFBeUI7SUFDMUYsT0FBTyxJQUFJLHFCQUFxQixDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDM0UsQ0FBQztBQUZELG9DQUVDO0FBSUQsTUFBTSxxQkFBc0IsU0FBUSxxQkFBeUI7SUFLekQsWUFBNkIsWUFBb0IsRUFDcEIsVUFBZ0IsRUFDakMsSUFBbUI7UUFDM0IsS0FBSyxFQUFFLENBQUM7UUFIaUIsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBTTtRQUxyQyxjQUFTLEdBQVUsRUFBRSxDQUFDO1FBUzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO0lBQ3BFLENBQUM7SUFFTSxXQUFXLENBQUMsU0FBeUI7UUFDeEMsS0FBSyxNQUFNLFNBQVMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDNUQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQyxTQUFT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QUFFRDs7R0FFRztBQUNILElBQVksWUFZWDtBQVpELFdBQVksWUFBWTtJQUNwQjs7T0FFRztJQUNILDJEQUFVLENBQUE7SUFFVjs7OztPQUlHO0lBQ0gsMkVBQWtCLENBQUE7QUFDdEIsQ0FBQyxFQVpXLFlBQVksR0FBWixvQkFBWSxLQUFaLG9CQUFZLFFBWXZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSBcIi4uL2Fzc2VydGlvblwiO1xuaW1wb3J0IHsgU3RhY2tJbnNwZWN0b3IgfSBmcm9tIFwiLi4vaW5zcGVjdG9yXCI7XG5cbi8qKlxuICogQW4gYXNzZXJ0aW9uIHRvIGNoZWNrIHdoZXRoZXIgYSByZXNvdXJjZSBvZiBhIGdpdmVuIHR5cGUgYW5kIHdpdGggdGhlIGdpdmVuIHByb3BlcnRpZXMgZXhpc3RzLCBkaXNyZWdhcmRpbmcgcHJvcGVydGllc1xuICpcbiAqIFByb3BlcnRpZXMgY2FuIGJlOlxuICpcbiAqIC0gQW4gb2JqZWN0LCBpbiB3aGljaCBjYXNlIGl0cyBwcm9wZXJ0aWVzIHdpbGwgYmUgY29tcGFyZWQgdG8gdGhvc2Ugb2YgdGhlIGFjdHVhbCByZXNvdXJjZSBmb3VuZFxuICogLSBBIGNhbGxhYmxlLCBpbiB3aGljaCBjYXNlIGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBhIHByZWRpY2F0ZSB0aGF0IGlzIGFwcGxpZWQgdG8gdGhlIFByb3BlcnRpZXMgb2YgdGhlIGZvdW5kIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhdmVSZXNvdXJjZShyZXNvdXJjZVR5cGU6IHN0cmluZywgcHJvcGVydGllcz86IGFueSwgY29tcGFyaXNvbj86IFJlc291cmNlUGFydCk6IEFzc2VydGlvbjxTdGFja0luc3BlY3Rvcj4ge1xuICAgIHJldHVybiBuZXcgSGF2ZVJlc291cmNlQXNzZXJ0aW9uKHJlc291cmNlVHlwZSwgcHJvcGVydGllcywgY29tcGFyaXNvbik7XG59XG5cbnR5cGUgUHJvcGVydHlQcmVkaWNhdGUgPSAocHJvcHM6IGFueSkgPT4gYm9vbGVhbjtcblxuY2xhc3MgSGF2ZVJlc291cmNlQXNzZXJ0aW9uIGV4dGVuZHMgQXNzZXJ0aW9uPFN0YWNrSW5zcGVjdG9yPiB7XG4gICAgcHJpdmF0ZSBpbnNwZWN0ZWQ6IGFueVtdID0gW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXJ0OiBSZXNvdXJjZVBhcnQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmVkaWNhdGU6IFByb3BlcnR5UHJlZGljYXRlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByZXNvdXJjZVR5cGU6IHN0cmluZyxcbiAgICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BlcnRpZXM/OiBhbnksXG4gICAgICAgICAgICAgICAgcGFydD86IFJlc291cmNlUGFydCkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMucHJlZGljYXRlID0gdHlwZW9mIHByb3BlcnRpZXMgPT09ICdmdW5jdGlvbicgPyBwcm9wZXJ0aWVzIDogbWFrZVN1cGVyT2JqZWN0UHJlZGljYXRlKHByb3BlcnRpZXMpO1xuICAgICAgICB0aGlzLnBhcnQgPSBwYXJ0ICE9PSB1bmRlZmluZWQgPyBwYXJ0IDogUmVzb3VyY2VQYXJ0LlByb3BlcnRpZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGFzc2VydFVzaW5nKGluc3BlY3RvcjogU3RhY2tJbnNwZWN0b3IpOiBib29sZWFuIHtcbiAgICAgICAgZm9yIChjb25zdCBsb2dpY2FsSWQgb2YgT2JqZWN0LmtleXMoaW5zcGVjdG9yLnZhbHVlLlJlc291cmNlcykpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc291cmNlID0gaW5zcGVjdG9yLnZhbHVlLlJlc291cmNlc1tsb2dpY2FsSWRdO1xuICAgICAgICAgICAgaWYgKHJlc291cmNlLlR5cGUgPT09IHRoaXMucmVzb3VyY2VUeXBlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnNwZWN0ZWQucHVzaChyZXNvdXJjZSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBwcm9wc1RvQ2hlY2sgPSB0aGlzLnBhcnQgPT09IFJlc291cmNlUGFydC5Qcm9wZXJ0aWVzID8gcmVzb3VyY2UuUHJvcGVydGllcyA6IHJlc291cmNlO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucHJlZGljYXRlKHByb3BzVG9DaGVjaykpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3NlcnRPclRocm93KGluc3BlY3RvcjogU3RhY2tJbnNwZWN0b3IpIHtcbiAgICAgICAgaWYgKCF0aGlzLmFzc2VydFVzaW5nKGluc3BlY3RvcikpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTm9uZSBvZiAke0pTT04uc3RyaW5naWZ5KHRoaXMuaW5zcGVjdGVkLCBudWxsLCAyKX0gbWF0Y2ggJHt0aGlzLmRlc2NyaXB0aW9ufWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bWF4LWxpbmUtbGVuZ3RoXG4gICAgICAgIHJldHVybiBgcmVzb3VyY2UgJyR7dGhpcy5yZXNvdXJjZVR5cGV9JyB3aXRoIHByb3BlcnRpZXMgJHtKU09OLnN0cmluZ2lmeSh0aGlzLnByb3BlcnRpZXMsIHVuZGVmaW5lZCwgMil9YDtcbiAgICB9XG59XG5cbi8qKlxuICogTWFrZSBhIHByZWRpY2F0ZSB0aGF0IGNoZWNrcyBwcm9wZXJ0eSBzdXBlcnNldFxuICovXG5mdW5jdGlvbiBtYWtlU3VwZXJPYmplY3RQcmVkaWNhdGUob2JqOiBhbnkpIHtcbiAgICByZXR1cm4gKHJlc291cmNlUHJvcHM6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gaXNTdXBlck9iamVjdChyZXNvdXJjZVByb3BzLCBvYmopO1xuICAgIH07XG59XG5cbi8qKlxuICogUmV0dXJuIHdoZXRoZXIgYHN1cGVyT2JqYCBpcyBhIHN1cGVyLW9iamVjdCBvZiBgb2JqYC5cbiAqXG4gKiBBIHN1cGVyLW9iamVjdCBoYXMgdGhlIHNhbWUgb3IgbW9yZSBwcm9wZXJ0eSB2YWx1ZXMsIHJlY3Vyc2luZyBpbnRvIG5lc3RlZCBvYmplY3RzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTdXBlck9iamVjdChzdXBlck9iajogYW55LCBvYmo6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmIChvYmogPT0gbnVsbCkgeyByZXR1cm4gdHJ1ZTsgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHN1cGVyT2JqKSAhPT0gQXJyYXkuaXNBcnJheShvYmopKSB7IHJldHVybiBmYWxzZTsgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHN1cGVyT2JqKSkge1xuICAgICAgICBpZiAob2JqLmxlbmd0aCAhPT0gc3VwZXJPYmoubGVuZ3RoKSB7IHJldHVybiBmYWxzZTsgfVxuXG4gICAgICAgIC8vIERvIGlzU3VwZXJPYmplY3QgY29tcGFyaXNvbiBmb3IgaW5kaXZpZHVhbCBvYmplY3RzXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2JqLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoIWlzU3VwZXJPYmplY3Qoc3VwZXJPYmpbaV0sIG9ialtpXSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICgodHlwZW9mIHN1cGVyT2JqID09PSAnb2JqZWN0JykgIT09ICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JykpIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgaWYgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG9iaikpIHtcbiAgICAgICAgICAgIGlmICghKGtleSBpbiBzdXBlck9iaikpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgICAgICAgICAgIGlmICghaXNTdXBlck9iamVjdChzdXBlck9ialtrZXldLCBvYmpba2V5XSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBzdXBlck9iaiA9PT0gb2JqO1xufVxuXG4vKipcbiAqIFdoYXQgcGFydCBvZiB0aGUgcmVzb3VyY2UgdG8gY29tcGFyZVxuICovXG5leHBvcnQgZW51bSBSZXNvdXJjZVBhcnQge1xuICAgIC8qKlxuICAgICAqIE9ubHkgY29tcGFyZSB0aGUgcmVzb3VyY2UncyBwcm9wZXJ0aWVzXG4gICAgICovXG4gICAgUHJvcGVydGllcyxcblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRoZSBlbnRpcmUgQ2xvdWRGb3JtYXRpb24gY29uZmlnXG4gICAgICpcbiAgICAgKiAoaW5jbHVkaW5nIFVwZGF0ZUNvbmZpZywgRGVwZW5kc09uLCBldGMuKVxuICAgICAqL1xuICAgIENvbXBsZXRlRGVmaW5pdGlvblxufSJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGF2ZS1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImhhdmUtcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0Q0FBeUM7QUFHekM7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLFlBQVksQ0FBQyxZQUFvQixFQUFFLFVBQWdCLEVBQUUsVUFBeUI7SUFDNUYsT0FBTyxJQUFJLHFCQUFxQixDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDekUsQ0FBQztBQUZELG9DQUVDO0FBSUQsTUFBTSxxQkFBc0IsU0FBUSxxQkFBeUI7SUFLM0QsWUFBNkIsWUFBb0IsRUFDcEIsVUFBZ0IsRUFDakMsSUFBbUI7UUFDN0IsS0FBSyxFQUFFLENBQUM7UUFIbUIsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBTTtRQUxyQyxjQUFTLEdBQVUsRUFBRSxDQUFDO1FBUzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO0lBQ2xFLENBQUM7SUFFTSxXQUFXLENBQUMsU0FBeUI7UUFDMUMsS0FBSyxNQUFNLFNBQVMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDOUQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxTQUFT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RDs7R0FFRztBQUNILElBQVksWUFZWDtBQVpELFdBQVksWUFBWTtJQUN0Qjs7T0FFRztJQUNILDJEQUFVLENBQUE7SUFFVjs7OztPQUlHO0lBQ0gsMkVBQWtCLENBQUE7QUFDcEIsQ0FBQyxFQVpXLFlBQVksR0FBWixvQkFBWSxLQUFaLG9CQUFZLFFBWXZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSBcIi4uL2Fzc2VydGlvblwiO1xuaW1wb3J0IHsgU3RhY2tJbnNwZWN0b3IgfSBmcm9tIFwiLi4vaW5zcGVjdG9yXCI7XG5cbi8qKlxuICogQW4gYXNzZXJ0aW9uIHRvIGNoZWNrIHdoZXRoZXIgYSByZXNvdXJjZSBvZiBhIGdpdmVuIHR5cGUgYW5kIHdpdGggdGhlIGdpdmVuIHByb3BlcnRpZXMgZXhpc3RzLCBkaXNyZWdhcmRpbmcgcHJvcGVydGllc1xuICpcbiAqIFByb3BlcnRpZXMgY2FuIGJlOlxuICpcbiAqIC0gQW4gb2JqZWN0LCBpbiB3aGljaCBjYXNlIGl0cyBwcm9wZXJ0aWVzIHdpbGwgYmUgY29tcGFyZWQgdG8gdGhvc2Ugb2YgdGhlIGFjdHVhbCByZXNvdXJjZSBmb3VuZFxuICogLSBBIGNhbGxhYmxlLCBpbiB3aGljaCBjYXNlIGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBhIHByZWRpY2F0ZSB0aGF0IGlzIGFwcGxpZWQgdG8gdGhlIFByb3BlcnRpZXMgb2YgdGhlIGZvdW5kIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhdmVSZXNvdXJjZShyZXNvdXJjZVR5cGU6IHN0cmluZywgcHJvcGVydGllcz86IGFueSwgY29tcGFyaXNvbj86IFJlc291cmNlUGFydCk6IEFzc2VydGlvbjxTdGFja0luc3BlY3Rvcj4ge1xuICByZXR1cm4gbmV3IEhhdmVSZXNvdXJjZUFzc2VydGlvbihyZXNvdXJjZVR5cGUsIHByb3BlcnRpZXMsIGNvbXBhcmlzb24pO1xufVxuXG50eXBlIFByb3BlcnR5UHJlZGljYXRlID0gKHByb3BzOiBhbnkpID0+IGJvb2xlYW47XG5cbmNsYXNzIEhhdmVSZXNvdXJjZUFzc2VydGlvbiBleHRlbmRzIEFzc2VydGlvbjxTdGFja0luc3BlY3Rvcj4ge1xuICBwcml2YXRlIGluc3BlY3RlZDogYW55W10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXJ0OiBSZXNvdXJjZVBhcnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJlZGljYXRlOiBQcm9wZXJ0eVByZWRpY2F0ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlVHlwZTogc3RyaW5nLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BlcnRpZXM/OiBhbnksXG4gICAgICAgICAgICAgIHBhcnQ/OiBSZXNvdXJjZVBhcnQpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5wcmVkaWNhdGUgPSB0eXBlb2YgcHJvcGVydGllcyA9PT0gJ2Z1bmN0aW9uJyA/IHByb3BlcnRpZXMgOiBtYWtlU3VwZXJPYmplY3RQcmVkaWNhdGUocHJvcGVydGllcyk7XG4gICAgdGhpcy5wYXJ0ID0gcGFydCAhPT0gdW5kZWZpbmVkID8gcGFydCA6IFJlc291cmNlUGFydC5Qcm9wZXJ0aWVzO1xuICB9XG5cbiAgcHVibGljIGFzc2VydFVzaW5nKGluc3BlY3RvcjogU3RhY2tJbnNwZWN0b3IpOiBib29sZWFuIHtcbiAgICBmb3IgKGNvbnN0IGxvZ2ljYWxJZCBvZiBPYmplY3Qua2V5cyhpbnNwZWN0b3IudmFsdWUuUmVzb3VyY2VzKSkge1xuICAgICAgY29uc3QgcmVzb3VyY2UgPSBpbnNwZWN0b3IudmFsdWUuUmVzb3VyY2VzW2xvZ2ljYWxJZF07XG4gICAgICBpZiAocmVzb3VyY2UuVHlwZSA9PT0gdGhpcy5yZXNvdXJjZVR5cGUpIHtcbiAgICAgICAgdGhpcy5pbnNwZWN0ZWQucHVzaChyZXNvdXJjZSk7XG5cbiAgICAgICAgY29uc3QgcHJvcHNUb0NoZWNrID0gdGhpcy5wYXJ0ID09PSBSZXNvdXJjZVBhcnQuUHJvcGVydGllcyA/IHJlc291cmNlLlByb3BlcnRpZXMgOiByZXNvdXJjZTtcblxuICAgICAgICBpZiAodGhpcy5wcmVkaWNhdGUocHJvcHNUb0NoZWNrKSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGFzc2VydE9yVGhyb3coaW5zcGVjdG9yOiBTdGFja0luc3BlY3Rvcikge1xuICAgIGlmICghdGhpcy5hc3NlcnRVc2luZyhpbnNwZWN0b3IpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vbmUgb2YgJHtKU09OLnN0cmluZ2lmeSh0aGlzLmluc3BlY3RlZCwgbnVsbCwgMil9IG1hdGNoICR7dGhpcy5kZXNjcmlwdGlvbn1gKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICAgIHJldHVybiBgcmVzb3VyY2UgJyR7dGhpcy5yZXNvdXJjZVR5cGV9JyB3aXRoIHByb3BlcnRpZXMgJHtKU09OLnN0cmluZ2lmeSh0aGlzLnByb3BlcnRpZXMsIHVuZGVmaW5lZCwgMil9YDtcbiAgfVxufVxuXG4vKipcbiAqIE1ha2UgYSBwcmVkaWNhdGUgdGhhdCBjaGVja3MgcHJvcGVydHkgc3VwZXJzZXRcbiAqL1xuZnVuY3Rpb24gbWFrZVN1cGVyT2JqZWN0UHJlZGljYXRlKG9iajogYW55KSB7XG4gIHJldHVybiAocmVzb3VyY2VQcm9wczogYW55KSA9PiB7XG4gICAgcmV0dXJuIGlzU3VwZXJPYmplY3QocmVzb3VyY2VQcm9wcywgb2JqKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gd2hldGhlciBgc3VwZXJPYmpgIGlzIGEgc3VwZXItb2JqZWN0IG9mIGBvYmpgLlxuICpcbiAqIEEgc3VwZXItb2JqZWN0IGhhcyB0aGUgc2FtZSBvciBtb3JlIHByb3BlcnR5IHZhbHVlcywgcmVjdXJzaW5nIGludG8gbmVzdGVkIG9iamVjdHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1N1cGVyT2JqZWN0KHN1cGVyT2JqOiBhbnksIG9iajogYW55KTogYm9vbGVhbiB7XG4gIGlmIChvYmogPT0gbnVsbCkgeyByZXR1cm4gdHJ1ZTsgfVxuICBpZiAoQXJyYXkuaXNBcnJheShzdXBlck9iaikgIT09IEFycmF5LmlzQXJyYXkob2JqKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgaWYgKEFycmF5LmlzQXJyYXkoc3VwZXJPYmopKSB7XG4gICAgaWYgKG9iai5sZW5ndGggIT09IHN1cGVyT2JqLmxlbmd0aCkgeyByZXR1cm4gZmFsc2U7IH1cblxuICAgIC8vIERvIGlzU3VwZXJPYmplY3QgY29tcGFyaXNvbiBmb3IgaW5kaXZpZHVhbCBvYmplY3RzXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvYmoubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghaXNTdXBlck9iamVjdChzdXBlck9ialtpXSwgb2JqW2ldKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGlmICgodHlwZW9mIHN1cGVyT2JqID09PSAnb2JqZWN0JykgIT09ICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JykpIHsgcmV0dXJuIGZhbHNlOyB9XG4gIGlmICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0Jykge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG9iaikpIHtcbiAgICAgIGlmICghKGtleSBpbiBzdXBlck9iaikpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgICAgIGlmICghaXNTdXBlck9iamVjdChzdXBlck9ialtrZXldLCBvYmpba2V5XSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gc3VwZXJPYmogPT09IG9iajtcbn1cblxuLyoqXG4gKiBXaGF0IHBhcnQgb2YgdGhlIHJlc291cmNlIHRvIGNvbXBhcmVcbiAqL1xuZXhwb3J0IGVudW0gUmVzb3VyY2VQYXJ0IHtcbiAgLyoqXG4gICAqIE9ubHkgY29tcGFyZSB0aGUgcmVzb3VyY2UncyBwcm9wZXJ0aWVzXG4gICAqL1xuICBQcm9wZXJ0aWVzLFxuXG4gIC8qKlxuICAgKiBDaGVjayB0aGUgZW50aXJlIENsb3VkRm9ybWF0aW9uIGNvbmZpZ1xuICAgKlxuICAgKiAoaW5jbHVkaW5nIFVwZGF0ZUNvbmZpZywgRGVwZW5kc09uLCBldGMuKVxuICAgKi9cbiAgQ29tcGxldGVEZWZpbml0aW9uXG59XG4iXX0=

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

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGF2ZS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaGF2ZS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNENBQXlDO0FBR3pDLFNBQWdCLFFBQVEsQ0FBQyxJQUFZO0lBQ2pDLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRkQsNEJBRUM7QUFFRCxNQUFNLHlCQUEwQixTQUFRLHFCQUE2QjtJQUNqRSxZQUE2QixJQUFZO1FBQ3JDLEtBQUssRUFBRSxDQUFDO1FBRGlCLFNBQUksR0FBSixJQUFJLENBQVE7SUFFekMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUE2QjtRQUM1QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQ2pDLE9BQU8sUUFBUSxLQUFLLFNBQVMsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDakUsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLG9CQUFvQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0MsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSAnLi4vYXNzZXJ0aW9uJztcbmltcG9ydCB7IFN0YWNrUGF0aEluc3BlY3RvciB9IGZyb20gJy4uL2luc3BlY3Rvcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXZlVHlwZSh0eXBlOiBzdHJpbmcpOiBBc3NlcnRpb248U3RhY2tQYXRoSW5zcGVjdG9yPiB7XG4gICAgcmV0dXJuIG5ldyBTdGFja1BhdGhIYXNUeXBlQXNzZXJ0aW9uKHR5cGUpO1xufVxuXG5jbGFzcyBTdGFja1BhdGhIYXNUeXBlQXNzZXJ0aW9uIGV4dGVuZHMgQXNzZXJ0aW9uPFN0YWNrUGF0aEluc3BlY3Rvcj4ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdHlwZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzc2VydFVzaW5nKGluc3BlY3RvcjogU3RhY2tQYXRoSW5zcGVjdG9yKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHJlc291cmNlID0gaW5zcGVjdG9yLnZhbHVlO1xuICAgICAgICByZXR1cm4gcmVzb3VyY2UgIT09IHVuZGVmaW5lZCAmJiByZXNvdXJjZS5UeXBlID09PSB0aGlzLnR5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYHJlc291cmNlIG9mIHR5cGUgJHt0aGlzLnR5cGV9YDtcbiAgICB9XG59Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGF2ZS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaGF2ZS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNENBQXlDO0FBR3pDLFNBQWdCLFFBQVEsQ0FBQyxJQUFZO0lBQ25DLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRkQsNEJBRUM7QUFFRCxNQUFNLHlCQUEwQixTQUFRLHFCQUE2QjtJQUNuRSxZQUE2QixJQUFZO1FBQ3ZDLEtBQUssRUFBRSxDQUFDO1FBRG1CLFNBQUksR0FBSixJQUFJLENBQVE7SUFFekMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUE2QjtRQUM5QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQ2pDLE9BQU8sUUFBUSxLQUFLLFNBQVMsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLG9CQUFvQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSAnLi4vYXNzZXJ0aW9uJztcbmltcG9ydCB7IFN0YWNrUGF0aEluc3BlY3RvciB9IGZyb20gJy4uL2luc3BlY3Rvcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXZlVHlwZSh0eXBlOiBzdHJpbmcpOiBBc3NlcnRpb248U3RhY2tQYXRoSW5zcGVjdG9yPiB7XG4gIHJldHVybiBuZXcgU3RhY2tQYXRoSGFzVHlwZUFzc2VydGlvbih0eXBlKTtcbn1cblxuY2xhc3MgU3RhY2tQYXRoSGFzVHlwZUFzc2VydGlvbiBleHRlbmRzIEFzc2VydGlvbjxTdGFja1BhdGhJbnNwZWN0b3I+IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0eXBlOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGFzc2VydFVzaW5nKGluc3BlY3RvcjogU3RhY2tQYXRoSW5zcGVjdG9yKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVzb3VyY2UgPSBpbnNwZWN0b3IudmFsdWU7XG4gICAgcmV0dXJuIHJlc291cmNlICE9PSB1bmRlZmluZWQgJiYgcmVzb3VyY2UuVHlwZSA9PT0gdGhpcy50eXBlO1xuICB9XG5cbiAgcHVibGljIGdldCBkZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgcmVzb3VyY2Ugb2YgdHlwZSAke3RoaXMudHlwZX1gO1xuICB9XG59XG4iXX0=

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

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gtdGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtYXRjaC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHdEQUF5RDtBQUN6RCw0Q0FBeUM7QUFHekMsSUFBWSxVQU9YO0FBUEQsV0FBWSxVQUFVO0lBQ2xCLDhCQUE4QjtJQUM5QiwrQkFBaUIsQ0FBQTtJQUNqQixtRUFBbUU7SUFDbkUseUNBQTJCLENBQUE7SUFDM0IsdUNBQXVDO0lBQ3ZDLG1DQUFxQixDQUFBO0FBQ3pCLENBQUMsRUFQVyxVQUFVLEdBQVYsa0JBQVUsS0FBVixrQkFBVSxRQU9yQjtBQUVELFNBQWdCLG9CQUFvQixDQUFDLFFBQWdDO0lBQ2pFLE9BQU8sYUFBYSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUZELG9EQUVDO0FBRUQsU0FBZ0IscUJBQXFCLENBQUMsUUFBZ0M7SUFDbEUsT0FBTyxhQUFhLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRkQsc0RBRUM7QUFFRCxTQUFnQixhQUFhLENBQUMsUUFBZ0MsRUFDaEMsYUFBeUIsVUFBVSxDQUFDLEtBQUs7SUFDbkUsT0FBTyxJQUFJLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNuRSxDQUFDO0FBSEQsc0NBR0M7QUFFRCxNQUFNLDZCQUE4QixTQUFRLHFCQUF5QjtJQUNqRSxZQUE2QixRQUFnQyxFQUNoQyxVQUFzQjtRQUMvQyxLQUFLLEVBQUUsQ0FBQztRQUZpQixhQUFRLEdBQVIsUUFBUSxDQUF3QjtRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBRW5ELENBQUM7SUFFTSxhQUFhLENBQUMsU0FBeUI7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDOUIsZ0ZBQWdGO1lBQ2hGLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztTQUN0RTtJQUNMLENBQUM7SUFFTSxXQUFXLENBQUMsU0FBeUI7UUFDeEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNiLGlCQUFpQjtZQUNqQixPQUFPLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUVoRCw0QkFBNEI7WUFDNUIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEZBQTBGLENBQUMsQ0FBQztZQUNqSCxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQzlFO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQTBCO1FBQy9DLFFBQVEsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN6QixLQUFLLFVBQVUsQ0FBQyxLQUFLO2dCQUNqQixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQzVCLEtBQUssVUFBVSxDQUFDLFdBQVc7Z0JBQ3ZCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNuRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUUsQ0FBQztvQkFDNUMsSUFBSSxNQUFNLENBQUMsWUFBWSxLQUFLLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFO3dCQUFFLE9BQU8sS0FBSyxDQUFDO3FCQUFFO29CQUNqRixJQUFJLE1BQU0sQ0FBQyxZQUFZLEtBQUssT0FBTyxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUU7d0JBQUUsT0FBTyxLQUFLLENBQUM7cUJBQUU7aUJBQ3JGO2dCQUNELE9BQU8sSUFBSSxDQUFDO1lBQ2hCLEtBQUssVUFBVSxDQUFDLFFBQVE7Z0JBQ3BCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNuRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUUsQ0FBQztvQkFDNUMsT0FBTyxNQUFNLENBQUMsWUFBWSxLQUFLLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO2lCQUNyRTtTQUNKO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLGFBQWEsSUFBSSxDQUFDLFVBQVUsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDdEYsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNmbkRpZmYgPSByZXF1aXJlKCdAYXdzLWNkay9jbG91ZGZvcm1hdGlvbi1kaWZmJyk7XG5pbXBvcnQgeyBBc3NlcnRpb24gfSBmcm9tICcuLi9hc3NlcnRpb24nO1xuaW1wb3J0IHsgU3RhY2tJbnNwZWN0b3IgfSBmcm9tICcuLi9pbnNwZWN0b3InO1xuXG5leHBvcnQgZW51bSBNYXRjaFN0eWxlIHtcbiAgICAvKiogUmVxdWlyZXMgYW4gZXhhY3QgbWF0Y2ggKi9cbiAgICBFWEFDVCA9IFwiZXhhY3RseVwiLFxuICAgIC8qKiBBbGxvd3MgYW55IGNoYW5nZSB0aGF0IGRvZXMgbm90IGNhdXNlIGEgcmVzb3VyY2UgcmVwbGFjZW1lbnQgKi9cbiAgICBOT19SRVBMQUNFUyA9IFwibm8gcmVwbGFjZXNcIixcbiAgICAvKiogQWxsb3dzIGFkZGl0aW9ucywgYnV0IG5vIHVwZGF0ZXMgKi9cbiAgICBTVVBFUlNFVCA9IFwic3VwZXJzZXRcIlxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhhY3RseU1hdGNoVGVtcGxhdGUodGVtcGxhdGU6IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcbiAgICByZXR1cm4gbWF0Y2hUZW1wbGF0ZSh0ZW1wbGF0ZSwgTWF0Y2hTdHlsZS5FWEFDVCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiZUFTdXBlcnNldE9mVGVtcGxhdGUodGVtcGxhdGU6IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcbiAgICByZXR1cm4gbWF0Y2hUZW1wbGF0ZSh0ZW1wbGF0ZSwgTWF0Y2hTdHlsZS5TVVBFUlNFVCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaFRlbXBsYXRlKHRlbXBsYXRlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hTdHlsZTogTWF0Y2hTdHlsZSA9IE1hdGNoU3R5bGUuRVhBQ1QpOiBBc3NlcnRpb248U3RhY2tJbnNwZWN0b3I+IHtcbiAgICByZXR1cm4gbmV3IFN0YWNrTWF0Y2hlc1RlbXBsYXRlQXNzZXJ0aW9uKHRlbXBsYXRlLCBtYXRjaFN0eWxlKTtcbn1cblxuY2xhc3MgU3RhY2tNYXRjaGVzVGVtcGxhdGVBc3NlcnRpb24gZXh0ZW5kcyBBc3NlcnRpb248U3RhY2tJbnNwZWN0b3I+IHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWF0Y2hTdHlsZTogTWF0Y2hTdHlsZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3NlcnRPclRocm93KGluc3BlY3RvcjogU3RhY2tJbnNwZWN0b3IpIHtcbiAgICAgICAgaWYgKCF0aGlzLmFzc2VydFVzaW5nKGluc3BlY3RvcikpIHtcbiAgICAgICAgICAgIC8vIFRoZSBkZXRhaWxzIGhhdmUgYWxyZWFkeSBiZWVuIHByaW50ZWQsIHNvIGRvbid0IGdlbmVyYXRlIGEgaHVnZSBlcnJvciBtZXNzYWdlXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRlbXBsYXRlIGNvbXBhcmlzb24gcHJvZHVjZWQgdW5hY2NlcHRhYmxlIG1hdGNoYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXNzZXJ0VXNpbmcoaW5zcGVjdG9yOiBTdGFja0luc3BlY3Rvcik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBkaWZmID0gY2ZuRGlmZi5kaWZmVGVtcGxhdGUodGhpcy50ZW1wbGF0ZSwgaW5zcGVjdG9yLnZhbHVlKTtcbiAgICAgICAgY29uc3QgYWNjZXB0YWJsZSA9IHRoaXMuaXNEaWZmQWNjZXB0YWJsZShkaWZmKTtcbiAgICAgICAgaWYgKCFhY2NlcHRhYmxlKSB7XG4gICAgICAgICAgICAvLyBQcmludCB0aGUgZGlmZlxuICAgICAgICAgICAgY2ZuRGlmZi5mb3JtYXREaWZmZXJlbmNlcyhwcm9jZXNzLnN0ZGVyciwgZGlmZik7XG5cbiAgICAgICAgICAgIC8vIFByaW50IHRoZSBhY3R1YWwgdGVtcGxhdGVcbiAgICAgICAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKCctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcbicpO1xuICAgICAgICAgICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoSlNPTi5zdHJpbmdpZnkoaW5zcGVjdG9yLnZhbHVlLCB1bmRlZmluZWQsIDIpICsgJ1xcbicpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjY2VwdGFibGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0RpZmZBY2NlcHRhYmxlKGRpZmY6IGNmbkRpZmYuVGVtcGxhdGVEaWZmKTogYm9vbGVhbiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5tYXRjaFN0eWxlKSB7XG4gICAgICAgIGNhc2UgTWF0Y2hTdHlsZS5FWEFDVDpcbiAgICAgICAgICAgIHJldHVybiBkaWZmLmNvdW50ID09PSAwO1xuICAgICAgICBjYXNlIE1hdGNoU3R5bGUuTk9fUkVQTEFDRVM6XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhkaWZmLnJlc291cmNlcy5jaGFuZ2VzKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoYW5nZSA9IGRpZmYucmVzb3VyY2VzLmNoYW5nZXNba2V5XSE7XG4gICAgICAgICAgICAgICAgaWYgKGNoYW5nZS5jaGFuZ2VJbXBhY3QgPT09IGNmbkRpZmYuUmVzb3VyY2VJbXBhY3QuTUFZX1JFUExBQ0UpIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgICAgICAgICAgICAgaWYgKGNoYW5nZS5jaGFuZ2VJbXBhY3QgPT09IGNmbkRpZmYuUmVzb3VyY2VJbXBhY3QuV0lMTF9SRVBMQUNFKSB7IHJldHVybiBmYWxzZTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGNhc2UgTWF0Y2hTdHlsZS5TVVBFUlNFVDpcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGRpZmYucmVzb3VyY2VzLmNoYW5nZXMpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hhbmdlID0gZGlmZi5yZXNvdXJjZXMuY2hhbmdlc1trZXldITtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2hhbmdlLmNoYW5nZUltcGFjdCA9PT0gY2ZuRGlmZi5SZXNvdXJjZUltcGFjdC5XSUxMX0NSRUFURTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIG1hdGNoIHN0eWxlOiAke3RoaXMubWF0Y2hTdHlsZX1gKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgdGVtcGxhdGUgKCR7dGhpcy5tYXRjaFN0eWxlfSk6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy50ZW1wbGF0ZSwgbnVsbCwgMil9YDtcbiAgICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gtdGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtYXRjaC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHdEQUF5RDtBQUN6RCw0Q0FBeUM7QUFHekMsSUFBWSxVQU9YO0FBUEQsV0FBWSxVQUFVO0lBQ3BCLDhCQUE4QjtJQUM5QiwrQkFBaUIsQ0FBQTtJQUNqQixtRUFBbUU7SUFDbkUseUNBQTJCLENBQUE7SUFDM0IsdUNBQXVDO0lBQ3ZDLG1DQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFQVyxVQUFVLEdBQVYsa0JBQVUsS0FBVixrQkFBVSxRQU9yQjtBQUVELFNBQWdCLG9CQUFvQixDQUFDLFFBQWdDO0lBQ25FLE9BQU8sYUFBYSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUZELG9EQUVDO0FBRUQsU0FBZ0IscUJBQXFCLENBQUMsUUFBZ0M7SUFDcEUsT0FBTyxhQUFhLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRkQsc0RBRUM7QUFFRCxTQUFnQixhQUFhLENBQUMsUUFBZ0MsRUFDaEMsYUFBeUIsVUFBVSxDQUFDLEtBQUs7SUFDckUsT0FBTyxJQUFJLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBSEQsc0NBR0M7QUFFRCxNQUFNLDZCQUE4QixTQUFRLHFCQUF5QjtJQUNuRSxZQUE2QixRQUFnQyxFQUNoQyxVQUFzQjtRQUNqRCxLQUFLLEVBQUUsQ0FBQztRQUZtQixhQUFRLEdBQVIsUUFBUSxDQUF3QjtRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBRW5ELENBQUM7SUFFTSxhQUFhLENBQUMsU0FBeUI7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDaEMsZ0ZBQWdGO1lBQ2hGLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztTQUNwRTtJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsU0FBeUI7UUFDMUMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLGlCQUFpQjtZQUNqQixPQUFPLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUVoRCw0QkFBNEI7WUFDNUIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEZBQTBGLENBQUMsQ0FBQztZQUNqSCxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQzVFO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQTBCO1FBQ2pELFFBQVEsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN6QixLQUFLLFVBQVUsQ0FBQyxLQUFLO2dCQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQzFCLEtBQUssVUFBVSxDQUFDLFdBQVc7Z0JBQ3pCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUUsQ0FBQztvQkFDNUMsSUFBSSxNQUFNLENBQUMsWUFBWSxLQUFLLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFO3dCQUFFLE9BQU8sS0FBSyxDQUFDO3FCQUFFO29CQUNqRixJQUFJLE1BQU0sQ0FBQyxZQUFZLEtBQUssT0FBTyxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUU7d0JBQUUsT0FBTyxLQUFLLENBQUM7cUJBQUU7aUJBQ25GO2dCQUNELE9BQU8sSUFBSSxDQUFDO1lBQ2QsS0FBSyxVQUFVLENBQUMsUUFBUTtnQkFDdEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ3JELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBRSxDQUFDO29CQUM1QyxPQUFPLE1BQU0sQ0FBQyxZQUFZLEtBQUssT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUM7aUJBQ25FO1NBQ0Y7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sYUFBYSxJQUFJLENBQUMsVUFBVSxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNwRixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2ZuRGlmZiA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2Nsb3VkZm9ybWF0aW9uLWRpZmYnKTtcbmltcG9ydCB7IEFzc2VydGlvbiB9IGZyb20gJy4uL2Fzc2VydGlvbic7XG5pbXBvcnQgeyBTdGFja0luc3BlY3RvciB9IGZyb20gJy4uL2luc3BlY3Rvcic7XG5cbmV4cG9ydCBlbnVtIE1hdGNoU3R5bGUge1xuICAvKiogUmVxdWlyZXMgYW4gZXhhY3QgbWF0Y2ggKi9cbiAgRVhBQ1QgPSBcImV4YWN0bHlcIixcbiAgLyoqIEFsbG93cyBhbnkgY2hhbmdlIHRoYXQgZG9lcyBub3QgY2F1c2UgYSByZXNvdXJjZSByZXBsYWNlbWVudCAqL1xuICBOT19SRVBMQUNFUyA9IFwibm8gcmVwbGFjZXNcIixcbiAgLyoqIEFsbG93cyBhZGRpdGlvbnMsIGJ1dCBubyB1cGRhdGVzICovXG4gIFNVUEVSU0VUID0gXCJzdXBlcnNldFwiXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleGFjdGx5TWF0Y2hUZW1wbGF0ZSh0ZW1wbGF0ZTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkge1xuICByZXR1cm4gbWF0Y2hUZW1wbGF0ZSh0ZW1wbGF0ZSwgTWF0Y2hTdHlsZS5FWEFDVCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiZUFTdXBlcnNldE9mVGVtcGxhdGUodGVtcGxhdGU6IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcbiAgcmV0dXJuIG1hdGNoVGVtcGxhdGUodGVtcGxhdGUsIE1hdGNoU3R5bGUuU1VQRVJTRVQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hUZW1wbGF0ZSh0ZW1wbGF0ZTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoU3R5bGU6IE1hdGNoU3R5bGUgPSBNYXRjaFN0eWxlLkVYQUNUKTogQXNzZXJ0aW9uPFN0YWNrSW5zcGVjdG9yPiB7XG4gIHJldHVybiBuZXcgU3RhY2tNYXRjaGVzVGVtcGxhdGVBc3NlcnRpb24odGVtcGxhdGUsIG1hdGNoU3R5bGUpO1xufVxuXG5jbGFzcyBTdGFja01hdGNoZXNUZW1wbGF0ZUFzc2VydGlvbiBleHRlbmRzIEFzc2VydGlvbjxTdGFja0luc3BlY3Rvcj4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1hdGNoU3R5bGU6IE1hdGNoU3R5bGUpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGFzc2VydE9yVGhyb3coaW5zcGVjdG9yOiBTdGFja0luc3BlY3Rvcikge1xuICAgIGlmICghdGhpcy5hc3NlcnRVc2luZyhpbnNwZWN0b3IpKSB7XG4gICAgICAvLyBUaGUgZGV0YWlscyBoYXZlIGFscmVhZHkgYmVlbiBwcmludGVkLCBzbyBkb24ndCBnZW5lcmF0ZSBhIGh1Z2UgZXJyb3IgbWVzc2FnZVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUZW1wbGF0ZSBjb21wYXJpc29uIHByb2R1Y2VkIHVuYWNjZXB0YWJsZSBtYXRjaGApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3NlcnRVc2luZyhpbnNwZWN0b3I6IFN0YWNrSW5zcGVjdG9yKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZGlmZiA9IGNmbkRpZmYuZGlmZlRlbXBsYXRlKHRoaXMudGVtcGxhdGUsIGluc3BlY3Rvci52YWx1ZSk7XG4gICAgY29uc3QgYWNjZXB0YWJsZSA9IHRoaXMuaXNEaWZmQWNjZXB0YWJsZShkaWZmKTtcbiAgICBpZiAoIWFjY2VwdGFibGUpIHtcbiAgICAgIC8vIFByaW50IHRoZSBkaWZmXG4gICAgICBjZm5EaWZmLmZvcm1hdERpZmZlcmVuY2VzKHByb2Nlc3Muc3RkZXJyLCBkaWZmKTtcblxuICAgICAgLy8gUHJpbnQgdGhlIGFjdHVhbCB0ZW1wbGF0ZVxuICAgICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuJyk7XG4gICAgICBwcm9jZXNzLnN0ZG91dC53cml0ZShKU09OLnN0cmluZ2lmeShpbnNwZWN0b3IudmFsdWUsIHVuZGVmaW5lZCwgMikgKyAnXFxuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjY2VwdGFibGU7XG4gIH1cblxuICBwcml2YXRlIGlzRGlmZkFjY2VwdGFibGUoZGlmZjogY2ZuRGlmZi5UZW1wbGF0ZURpZmYpOiBib29sZWFuIHtcbiAgICBzd2l0Y2ggKHRoaXMubWF0Y2hTdHlsZSkge1xuICAgIGNhc2UgTWF0Y2hTdHlsZS5FWEFDVDpcbiAgICAgIHJldHVybiBkaWZmLmNvdW50ID09PSAwO1xuICAgIGNhc2UgTWF0Y2hTdHlsZS5OT19SRVBMQUNFUzpcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGRpZmYucmVzb3VyY2VzLmNoYW5nZXMpKSB7XG4gICAgICAgIGNvbnN0IGNoYW5nZSA9IGRpZmYucmVzb3VyY2VzLmNoYW5nZXNba2V5XSE7XG4gICAgICAgIGlmIChjaGFuZ2UuY2hhbmdlSW1wYWN0ID09PSBjZm5EaWZmLlJlc291cmNlSW1wYWN0Lk1BWV9SRVBMQUNFKSB7IHJldHVybiBmYWxzZTsgfVxuICAgICAgICBpZiAoY2hhbmdlLmNoYW5nZUltcGFjdCA9PT0gY2ZuRGlmZi5SZXNvdXJjZUltcGFjdC5XSUxMX1JFUExBQ0UpIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBjYXNlIE1hdGNoU3R5bGUuU1VQRVJTRVQ6XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhkaWZmLnJlc291cmNlcy5jaGFuZ2VzKSkge1xuICAgICAgICBjb25zdCBjaGFuZ2UgPSBkaWZmLnJlc291cmNlcy5jaGFuZ2VzW2tleV0hO1xuICAgICAgICByZXR1cm4gY2hhbmdlLmNoYW5nZUltcGFjdCA9PT0gY2ZuRGlmZi5SZXNvdXJjZUltcGFjdC5XSUxMX0NSRUFURTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBtYXRjaCBzdHlsZTogJHt0aGlzLm1hdGNoU3R5bGV9YCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGB0ZW1wbGF0ZSAoJHt0aGlzLm1hdGNoU3R5bGV9KTogJHtKU09OLnN0cmluZ2lmeSh0aGlzLnRlbXBsYXRlLCBudWxsLCAyKX1gO1xuICB9XG59XG4iXX0=

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

exports.NegatedAssertion = NegatedAssertion;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVnYXRlZC1hc3NlcnRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJuZWdhdGVkLWFzc2VydGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDRDQUF5QztBQUd6QyxNQUFhLGdCQUFzQyxTQUFRLHFCQUFZO0lBQ25FLFlBQTZCLE9BQXFCO1FBQzlDLEtBQUssRUFBRSxDQUFDO1FBRGlCLFlBQU8sR0FBUCxPQUFPLENBQWM7SUFFbEQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUFZO1FBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdDLENBQUM7Q0FDSjtBQVpELDRDQVlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSAnLi4vYXNzZXJ0aW9uJztcbmltcG9ydCB7IEluc3BlY3RvciB9IGZyb20gJy4uL2luc3BlY3Rvcic7XG5cbmV4cG9ydCBjbGFzcyBOZWdhdGVkQXNzZXJ0aW9uPEkgZXh0ZW5kcyBJbnNwZWN0b3I+IGV4dGVuZHMgQXNzZXJ0aW9uPEk+IHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG5lZ2F0ZWQ6IEFzc2VydGlvbjxJPikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3NlcnRVc2luZyhpbnNwZWN0b3I6IEkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLm5lZ2F0ZWQuYXNzZXJ0VXNpbmcoaW5zcGVjdG9yKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgbm90ICR7dGhpcy5uZWdhdGVkLmRlc2NyaXB0aW9ufWA7XG4gICAgfVxufSJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVnYXRlZC1hc3NlcnRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJuZWdhdGVkLWFzc2VydGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDRDQUF5QztBQUd6QyxNQUFhLGdCQUFzQyxTQUFRLHFCQUFZO0lBQ3JFLFlBQTZCLE9BQXFCO1FBQ2hELEtBQUssRUFBRSxDQUFDO1FBRG1CLFlBQU8sR0FBUCxPQUFPLENBQWM7SUFFbEQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUFZO1FBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzNDLENBQUM7Q0FDRjtBQVpELDRDQVlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSAnLi4vYXNzZXJ0aW9uJztcbmltcG9ydCB7IEluc3BlY3RvciB9IGZyb20gJy4uL2luc3BlY3Rvcic7XG5cbmV4cG9ydCBjbGFzcyBOZWdhdGVkQXNzZXJ0aW9uPEkgZXh0ZW5kcyBJbnNwZWN0b3I+IGV4dGVuZHMgQXNzZXJ0aW9uPEk+IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBuZWdhdGVkOiBBc3NlcnRpb248ST4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGFzc2VydFVzaW5nKGluc3BlY3RvcjogSSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5uZWdhdGVkLmFzc2VydFVzaW5nKGluc3BlY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBub3QgJHt0aGlzLm5lZ2F0ZWQuZGVzY3JpcHRpb259YDtcbiAgfVxufVxuIl19

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

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXhwZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsMkNBQTZDO0FBRTdDLFNBQWdCLE1BQU0sQ0FBQyxLQUF1QyxFQUFFLGNBQWMsR0FBRyxLQUFLO0lBQ2xGLHNFQUFzRTtJQUN0RSxtQkFBbUI7SUFDbkIsSUFBSSxNQUE0QixDQUFDO0lBRWpDLElBQUksb0JBQW9CLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDN0IsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEMsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNySDtTQUNKO1FBRUQsTUFBTSxHQUFHO1lBQ0wsSUFBSSxFQUFFLE1BQU07WUFDWixRQUFRLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixFQUFFO1lBQ2xDLFFBQVEsRUFBRSxFQUFFO1NBQ2YsQ0FBQztLQUNMO1NBQU07UUFDSCxNQUFNLEdBQUcsS0FBSyxDQUFDO0tBQ2xCO0lBRUQsT0FBTyxJQUFJLDBCQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQXZCRCx3QkF1QkM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLENBQW1DO0lBQzdELE9BQU8sa0JBQWtCLElBQUksQ0FBQyxDQUFDO0FBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2RrID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrJyk7XG5pbXBvcnQgYXBpID0gcmVxdWlyZSgnQGF3cy1jZGsvY3gtYXBpJyk7XG5pbXBvcnQgeyBTdGFja0luc3BlY3RvciB9IGZyb20gJy4vaW5zcGVjdG9yJztcblxuZXhwb3J0IGZ1bmN0aW9uIGV4cGVjdChzdGFjazogYXBpLlN5bnRoZXNpemVkU3RhY2sgfCBjZGsuU3RhY2ssIHNraXBWYWxpZGF0aW9uID0gZmFsc2UpOiBTdGFja0luc3BlY3RvciB7XG4gICAgLy8gQ2FuJ3QgdXNlICdpbnN0YW5jZW9mJyBoZXJlLCB0aGF0IGJyZWFrcyBpZiB3ZSBoYXZlIG11bHRpcGxlIGNvcGllc1xuICAgIC8vIG9mIHRoaXMgbGlicmFyeS5cbiAgICBsZXQgc3N0YWNrOiBhcGkuU3ludGhlc2l6ZWRTdGFjaztcblxuICAgIGlmIChpc1N0YWNrQ2xhc3NJbnN0YW5jZShzdGFjaykpIHtcbiAgICAgICAgaWYgKCFza2lwVmFsaWRhdGlvbikge1xuICAgICAgICAgICAgY29uc3QgZXJyb3JzID0gc3RhY2sudmFsaWRhdGVUcmVlKCk7XG4gICAgICAgICAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFN0YWNrIHZhbGlkYXRpb24gZmFpbGVkOlxcbiR7ZXJyb3JzLm1hcChlID0+IGAke2UubWVzc2FnZX0gYXQ6ICR7ZS5zb3VyY2UucGFyZW50fWApLmpvaW4oJ1xcbicpfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3N0YWNrID0ge1xuICAgICAgICAgICAgbmFtZTogJ3Rlc3QnLFxuICAgICAgICAgICAgdGVtcGxhdGU6IHN0YWNrLnRvQ2xvdWRGb3JtYXRpb24oKSxcbiAgICAgICAgICAgIG1ldGFkYXRhOiB7fVxuICAgICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHNzdGFjayA9IHN0YWNrO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgU3RhY2tJbnNwZWN0b3Ioc3N0YWNrKTtcbn1cblxuZnVuY3Rpb24gaXNTdGFja0NsYXNzSW5zdGFuY2UoeDogYXBpLlN5bnRoZXNpemVkU3RhY2sgfCBjZGsuU3RhY2spOiB4IGlzIGNkay5TdGFjayB7XG4gICAgcmV0dXJuICd0b0Nsb3VkRm9ybWF0aW9uJyBpbiB4O1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXhwZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsMkNBQTZDO0FBRTdDLFNBQWdCLE1BQU0sQ0FBQyxLQUF1QyxFQUFFLGNBQWMsR0FBRyxLQUFLO0lBQ3BGLHNFQUFzRTtJQUN0RSxtQkFBbUI7SUFDbkIsSUFBSSxNQUE0QixDQUFDO0lBRWpDLElBQUksb0JBQW9CLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDL0IsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEMsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNuSDtTQUNGO1FBRUQsTUFBTSxHQUFHO1lBQ1AsSUFBSSxFQUFFLE1BQU07WUFDWixRQUFRLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixFQUFFO1lBQ2xDLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FBQztLQUNIO1NBQU07UUFDTCxNQUFNLEdBQUcsS0FBSyxDQUFDO0tBQ2hCO0lBRUQsT0FBTyxJQUFJLDBCQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQXZCRCx3QkF1QkM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLENBQW1DO0lBQy9ELE9BQU8sa0JBQWtCLElBQUksQ0FBQyxDQUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2RrID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrJyk7XG5pbXBvcnQgYXBpID0gcmVxdWlyZSgnQGF3cy1jZGsvY3gtYXBpJyk7XG5pbXBvcnQgeyBTdGFja0luc3BlY3RvciB9IGZyb20gJy4vaW5zcGVjdG9yJztcblxuZXhwb3J0IGZ1bmN0aW9uIGV4cGVjdChzdGFjazogYXBpLlN5bnRoZXNpemVkU3RhY2sgfCBjZGsuU3RhY2ssIHNraXBWYWxpZGF0aW9uID0gZmFsc2UpOiBTdGFja0luc3BlY3RvciB7XG4gIC8vIENhbid0IHVzZSAnaW5zdGFuY2VvZicgaGVyZSwgdGhhdCBicmVha3MgaWYgd2UgaGF2ZSBtdWx0aXBsZSBjb3BpZXNcbiAgLy8gb2YgdGhpcyBsaWJyYXJ5LlxuICBsZXQgc3N0YWNrOiBhcGkuU3ludGhlc2l6ZWRTdGFjaztcblxuICBpZiAoaXNTdGFja0NsYXNzSW5zdGFuY2Uoc3RhY2spKSB7XG4gICAgaWYgKCFza2lwVmFsaWRhdGlvbikge1xuICAgICAgY29uc3QgZXJyb3JzID0gc3RhY2sudmFsaWRhdGVUcmVlKCk7XG4gICAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdGFjayB2YWxpZGF0aW9uIGZhaWxlZDpcXG4ke2Vycm9ycy5tYXAoZSA9PiBgJHtlLm1lc3NhZ2V9IGF0OiAke2Uuc291cmNlLnBhcmVudH1gKS5qb2luKCdcXG4nKX1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzc3RhY2sgPSB7XG4gICAgICBuYW1lOiAndGVzdCcsXG4gICAgICB0ZW1wbGF0ZTogc3RhY2sudG9DbG91ZEZvcm1hdGlvbigpLFxuICAgICAgbWV0YWRhdGE6IHt9XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBzc3RhY2sgPSBzdGFjaztcbiAgfVxuXG4gIHJldHVybiBuZXcgU3RhY2tJbnNwZWN0b3Ioc3N0YWNrKTtcbn1cblxuZnVuY3Rpb24gaXNTdGFja0NsYXNzSW5zdGFuY2UoeDogYXBpLlN5bnRoZXNpemVkU3RhY2sgfCBjZGsuU3RhY2spOiB4IGlzIGNkay5TdGFjayB7XG4gIHJldHVybiAndG9DbG91ZEZvcm1hdGlvbicgaW4geDtcbn1cbiJdfQ==

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

__export(require("./assertions/count-resources"));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUE0QjtBQUM1Qiw4QkFBeUI7QUFDekIsaUNBQTRCO0FBRTVCLHdDQUFtQztBQUNuQyxnREFBMkM7QUFDM0MsNENBQXVDO0FBQ3ZDLGlEQUE0QztBQUM1QyxnREFBMkM7QUFDM0Msb0RBQStDO0FBQy9DLGtEQUE2QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXNzZXJ0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZXhwZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vaW5zcGVjdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9hc3NlcnRpb25zL2V4aXN0JztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXJ0aW9ucy9oYXZlLXJlc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXJ0aW9ucy9oYXZlLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hc3NlcnRpb25zL21hdGNoLXRlbXBsYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXJ0aW9ucy9hbmQtYXNzZXJ0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXJ0aW9ucy9uZWdhdGVkLWFzc2VydGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2VydGlvbnMvY291bnQtcmVzb3VyY2VzJzsiXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUE0QjtBQUM1Qiw4QkFBeUI7QUFDekIsaUNBQTRCO0FBRTVCLHdDQUFtQztBQUNuQyxnREFBMkM7QUFDM0MsNENBQXVDO0FBQ3ZDLGlEQUE0QztBQUM1QyxnREFBMkM7QUFDM0Msb0RBQStDO0FBQy9DLGtEQUE2QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXNzZXJ0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZXhwZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vaW5zcGVjdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9hc3NlcnRpb25zL2V4aXN0JztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXJ0aW9ucy9oYXZlLXJlc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXJ0aW9ucy9oYXZlLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hc3NlcnRpb25zL21hdGNoLXRlbXBsYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXJ0aW9ucy9hbmQtYXNzZXJ0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXJ0aW9ucy9uZWdhdGVkLWFzc2VydGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2VydGlvbnMvY291bnQtcmVzb3VyY2VzJztcbiJdfQ==

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

exports.StackPathInspector = StackPathInspector;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW5zcGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsMkNBQWtDO0FBQ2xDLGdFQUF3RTtBQUV4RSxNQUFzQixTQUFTO0lBRzNCO1FBQ0ksSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUVNLEVBQUUsQ0FBQyxTQUEwQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQTBCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBSU8sR0FBRyxDQUFDLFNBQTBCO1FBQ2xDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNKO0FBckJELDhCQXFCQztBQUVELE1BQWEsY0FBZSxTQUFRLFNBQVM7SUFDekMsWUFBNEIsS0FBMkI7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFEZ0IsVUFBSyxHQUFMLEtBQUssQ0FBc0I7SUFFdkQsQ0FBQztJQUVNLEVBQUUsQ0FBQyxJQUF1QjtRQUM3QixNQUFNLE9BQU8sR0FBRyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRSxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU0sT0FBTyxDQUFDLFFBQWdDLEVBQUUsVUFBVSxHQUFHLDJCQUFVLENBQUMsS0FBSztRQUMxRSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsOEJBQWEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0NBQ0o7QUFqQkQsd0NBaUJDO0FBRUQsTUFBYSxrQkFBbUIsU0FBUSxTQUFTO0lBQzdDLFlBQTRCLEtBQTJCLEVBQWtCLElBQVk7UUFDakYsS0FBSyxFQUFFLENBQUM7UUFEZ0IsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFBa0IsU0FBSSxHQUFKLElBQUksQ0FBUTtJQUVyRixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsRSxJQUFJLEVBQUUsS0FBSyxTQUFTLEVBQUU7WUFBRSxPQUFPLFNBQVMsQ0FBQztTQUFFO1FBQzNDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLG1CQUFtQixDQUFDLENBQUM7UUFDeEUsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQUUsT0FBTyxTQUFTLENBQUM7U0FBRTtRQUNuRCxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7Q0FDSjtBQWJELGdEQWFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFwaSA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2N4LWFwaScpO1xuaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSAnLi9hc3NlcnRpb24nO1xuaW1wb3J0IHsgbm90IH0gZnJvbSAnLi9hc3NlcnRpb24nO1xuaW1wb3J0IHsgTWF0Y2hTdHlsZSwgbWF0Y2hUZW1wbGF0ZSB9IGZyb20gJy4vYXNzZXJ0aW9ucy9tYXRjaC10ZW1wbGF0ZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbnNwZWN0b3Ige1xuICAgIHB1YmxpYyBhcm91bmRBc3NlcnQ/OiAoY2I6ICgpID0+IHZvaWQpID0+IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmFyb3VuZEFzc2VydCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG8oYXNzZXJ0aW9uOiBBc3NlcnRpb248dGhpcz4pOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcm91bmRBc3NlcnQgPyB0aGlzLmFyb3VuZEFzc2VydCgoKSA9PiB0aGlzLl90byhhc3NlcnRpb24pKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLl90byhhc3NlcnRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBub3RUbyhhc3NlcnRpb246IEFzc2VydGlvbjx0aGlzPik6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvKG5vdChhc3NlcnRpb24pKTtcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBnZXQgdmFsdWUoKTogYW55O1xuXG4gICAgcHJpdmF0ZSBfdG8oYXNzZXJ0aW9uOiBBc3NlcnRpb248dGhpcz4pOiBhbnkge1xuICAgICAgICBhc3NlcnRpb24uYXNzZXJ0T3JUaHJvdyh0aGlzKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTdGFja0luc3BlY3RvciBleHRlbmRzIEluc3BlY3RvciB7XG4gICAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHN0YWNrOiBhcGkuU3ludGhlc2l6ZWRTdGFjaykge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhdChwYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSk6IFN0YWNrUGF0aEluc3BlY3RvciB7XG4gICAgICAgIGNvbnN0IHN0clBhdGggPSB0eXBlb2YgcGF0aCA9PT0gJ3N0cmluZycgPyBwYXRoIDogcGF0aC5qb2luKCcvJyk7XG4gICAgICAgIHJldHVybiBuZXcgU3RhY2tQYXRoSW5zcGVjdG9yKHRoaXMuc3RhY2ssIHN0clBhdGgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b01hdGNoKHRlbXBsYXRlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBtYXRjaFN0eWxlID0gTWF0Y2hTdHlsZS5FWEFDVCkge1xuICAgICAgICByZXR1cm4gdGhpcy50byhtYXRjaFRlbXBsYXRlKHRlbXBsYXRlLCBtYXRjaFN0eWxlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhY2sudGVtcGxhdGU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3RhY2tQYXRoSW5zcGVjdG9yIGV4dGVuZHMgSW5zcGVjdG9yIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgc3RhY2s6IGFwaS5TeW50aGVzaXplZFN0YWNrLCBwdWJsaWMgcmVhZG9ubHkgcGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgbWQgPSB0aGlzLnN0YWNrLm1ldGFkYXRhW2AvJHt0aGlzLnN0YWNrLm5hbWV9JHt0aGlzLnBhdGh9YF07XG4gICAgICAgIGlmIChtZCA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgICAgICAgY29uc3QgcmVzb3VyY2VNZCA9IG1kLmZpbmQoZW50cnkgPT4gZW50cnkudHlwZSA9PT0gJ2F3czpjZGs6bG9naWNhbElkJyk7XG4gICAgICAgIGlmIChyZXNvdXJjZU1kID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICAgICAgICBjb25zdCBsb2dpY2FsSWQgPSByZXNvdXJjZU1kLmRhdGE7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YWNrLnRlbXBsYXRlLlJlc291cmNlc1tsb2dpY2FsSWRdO1xuICAgIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW5zcGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsMkNBQWtDO0FBQ2xDLGdFQUF3RTtBQUV4RSxNQUFzQixTQUFTO0lBRzdCO1FBQ0UsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVNLEVBQUUsQ0FBQyxTQUEwQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMxRCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQTBCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBSU8sR0FBRyxDQUFDLFNBQTBCO1FBQ3BDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNGO0FBckJELDhCQXFCQztBQUVELE1BQWEsY0FBZSxTQUFRLFNBQVM7SUFDM0MsWUFBNEIsS0FBMkI7UUFDckQsS0FBSyxFQUFFLENBQUM7UUFEa0IsVUFBSyxHQUFMLEtBQUssQ0FBc0I7SUFFdkQsQ0FBQztJQUVNLEVBQUUsQ0FBQyxJQUF1QjtRQUMvQixNQUFNLE9BQU8sR0FBRyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRSxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sT0FBTyxDQUFDLFFBQWdDLEVBQUUsVUFBVSxHQUFHLDJCQUFVLENBQUMsS0FBSztRQUM1RSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsOEJBQWEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUM3QixDQUFDO0NBQ0Y7QUFqQkQsd0NBaUJDO0FBRUQsTUFBYSxrQkFBbUIsU0FBUSxTQUFTO0lBQy9DLFlBQTRCLEtBQTJCLEVBQWtCLElBQVk7UUFDbkYsS0FBSyxFQUFFLENBQUM7UUFEa0IsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFBa0IsU0FBSSxHQUFKLElBQUksQ0FBUTtJQUVyRixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsRSxJQUFJLEVBQUUsS0FBSyxTQUFTLEVBQUU7WUFBRSxPQUFPLFNBQVMsQ0FBQztTQUFFO1FBQzNDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLG1CQUFtQixDQUFDLENBQUM7UUFDeEUsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQUUsT0FBTyxTQUFTLENBQUM7U0FBRTtRQUNuRCxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRjtBQWJELGdEQWFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFwaSA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2N4LWFwaScpO1xuaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSAnLi9hc3NlcnRpb24nO1xuaW1wb3J0IHsgbm90IH0gZnJvbSAnLi9hc3NlcnRpb24nO1xuaW1wb3J0IHsgTWF0Y2hTdHlsZSwgbWF0Y2hUZW1wbGF0ZSB9IGZyb20gJy4vYXNzZXJ0aW9ucy9tYXRjaC10ZW1wbGF0ZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbnNwZWN0b3Ige1xuICBwdWJsaWMgYXJvdW5kQXNzZXJ0PzogKGNiOiAoKSA9PiB2b2lkKSA9PiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hcm91bmRBc3NlcnQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgdG8oYXNzZXJ0aW9uOiBBc3NlcnRpb248dGhpcz4pOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmFyb3VuZEFzc2VydCA/IHRoaXMuYXJvdW5kQXNzZXJ0KCgpID0+IHRoaXMuX3RvKGFzc2VydGlvbikpXG4gICAgICAgICAgICAgICAgIDogdGhpcy5fdG8oYXNzZXJ0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBub3RUbyhhc3NlcnRpb246IEFzc2VydGlvbjx0aGlzPik6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMudG8obm90KGFzc2VydGlvbikpO1xuICB9XG5cbiAgYWJzdHJhY3QgZ2V0IHZhbHVlKCk6IGFueTtcblxuICBwcml2YXRlIF90byhhc3NlcnRpb246IEFzc2VydGlvbjx0aGlzPik6IGFueSB7XG4gICAgYXNzZXJ0aW9uLmFzc2VydE9yVGhyb3codGhpcyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFN0YWNrSW5zcGVjdG9yIGV4dGVuZHMgSW5zcGVjdG9yIHtcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHN0YWNrOiBhcGkuU3ludGhlc2l6ZWRTdGFjaykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgYXQocGF0aDogc3RyaW5nIHwgc3RyaW5nW10pOiBTdGFja1BhdGhJbnNwZWN0b3Ige1xuICAgIGNvbnN0IHN0clBhdGggPSB0eXBlb2YgcGF0aCA9PT0gJ3N0cmluZycgPyBwYXRoIDogcGF0aC5qb2luKCcvJyk7XG4gICAgcmV0dXJuIG5ldyBTdGFja1BhdGhJbnNwZWN0b3IodGhpcy5zdGFjaywgc3RyUGF0aCk7XG4gIH1cblxuICBwdWJsaWMgdG9NYXRjaCh0ZW1wbGF0ZTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgbWF0Y2hTdHlsZSA9IE1hdGNoU3R5bGUuRVhBQ1QpIHtcbiAgICByZXR1cm4gdGhpcy50byhtYXRjaFRlbXBsYXRlKHRlbXBsYXRlLCBtYXRjaFN0eWxlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB0aGlzLnN0YWNrLnRlbXBsYXRlO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTdGFja1BhdGhJbnNwZWN0b3IgZXh0ZW5kcyBJbnNwZWN0b3Ige1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgc3RhY2s6IGFwaS5TeW50aGVzaXplZFN0YWNrLCBwdWJsaWMgcmVhZG9ubHkgcGF0aDogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbWQgPSB0aGlzLnN0YWNrLm1ldGFkYXRhW2AvJHt0aGlzLnN0YWNrLm5hbWV9JHt0aGlzLnBhdGh9YF07XG4gICAgaWYgKG1kID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICAgIGNvbnN0IHJlc291cmNlTWQgPSBtZC5maW5kKGVudHJ5ID0+IGVudHJ5LnR5cGUgPT09ICdhd3M6Y2RrOmxvZ2ljYWxJZCcpO1xuICAgIGlmIChyZXNvdXJjZU1kID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICAgIGNvbnN0IGxvZ2ljYWxJZCA9IHJlc291cmNlTWQuZGF0YTtcbiAgICByZXR1cm4gdGhpcy5zdGFjay50ZW1wbGF0ZS5SZXNvdXJjZXNbbG9naWNhbElkXTtcbiAgfVxufVxuIl19
{
"name": "@aws-cdk/assert",
"version": "0.9.2",
"version": "0.10.0",
"description": "An assertion library for use with CDK Apps",

@@ -26,9 +26,9 @@ "main": "lib/index.js",

"devDependencies": {
"cdk-build-tools": "^0.9.2",
"pkglint": "^0.9.2"
"cdk-build-tools": "^0.10.0",
"pkglint": "^0.10.0"
},
"dependencies": {
"@aws-cdk/cdk": "^0.9.2",
"@aws-cdk/cloudformation-diff": "^0.9.2",
"@aws-cdk/cx-api": "^0.9.2",
"@aws-cdk/cdk": "^0.10.0",
"@aws-cdk/cloudformation-diff": "^0.10.0",
"@aws-cdk/cx-api": "^0.10.0",
"source-map-support": "^0.5.6"

@@ -35,0 +35,0 @@ },

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

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5hc3NlcnRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC5hc3NlcnRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdUNBQXFDO0FBRXJDLG9DQUFxQztBQUlyQyxzQ0FBcUM7QUFDckMsd0NBQWtHO0FBRWxHLGNBQWMsQ0FBQyxtREFBbUQsRUFBRSxHQUFHLEVBQUU7SUFDckUsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUM7SUFDdEMsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDeEMsSUFBSSxZQUFZLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUMsQ0FBQyxDQUFDO0lBQ0gsY0FBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQ3RFLENBQUMsQ0FBQyxDQUFDO0FBQ0gsY0FBYyxDQUFDLHlEQUF5RCxFQUFFLEdBQUcsRUFBRTtJQUMzRSxNQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQztJQUN0QyxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN4QyxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQyxDQUFDLENBQUM7SUFDSCxjQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDdkUsQ0FBQyxDQUFDLENBQUM7QUFDSCxjQUFjLENBQUMsd0NBQXdDLEVBQUUsR0FBRyxFQUFFO0lBQzFELE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFD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QUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM5QyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDVixPQUFPLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFNRCxNQUFNLFlBQWEsU0FBUSxHQUFHLENBQUMsUUFBUTtJQUNuQyxZQUFZLE1BQXFCLEVBQUUsSUFBWSxFQUFFLEtBQXdCO1FBQ3JFLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnc291cmNlLW1hcC1zdXBwb3J0L3JlZ2lzdGVyJztcblxuaW1wb3J0IGNkayA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2NkaycpO1xuaW1wb3J0IGN4ID0gcmVxdWlyZSgnQGF3cy1jZGsvY3gtYXBpJyk7XG5pbXBvcnQgeyBUZXN0IH0gZnJvbSAnbm9kZXVuaXQnO1xuXG5pbXBvcnQgeyBTdGFjayB9IGZyb20gJ0Bhd3MtY2RrL2Nkayc7XG5pbXBvcnQgeyBjb3VudFJlc291cmNlcywgZXhpc3QsIGV4cGVjdCwgaGF2ZVR5cGUsIE1hdGNoU3R5bGUsIG1hdGNoVGVtcGxhdGUgfSBmcm9tICcuLi9saWIvaW5kZXgnO1xuXG5wYXNzaW5nRXhhbXBsZSgnZXhwZWN0IDxzdGFjaz4gYXQgPHNvbWUgcGF0aD4gdG8gaGF2ZSA8c29tZSB0eXBlPicsICgpID0+IHtcbiAgICBjb25zdCByZXNvdXJjZVR5cGUgPSAnVGVzdDo6UmVzb3VyY2UnO1xuICAgIGNvbnN0IHN5bnRoU3RhY2sgPSBzeW50aGVzaXplZFN0YWNrKHN0YWNrID0+IHtcbiAgICAgICAgbmV3IFRlc3RSZXNvdXJjZShzdGFjaywgJ1Rlc3RSZXNvdXJjZScsIHsgdHlwZTogcmVzb3VyY2VUeXBlIH0pO1xuICAgIH0pO1xuICAgIGV4cGVjdChzeW50aFN0YWNrKS5hdCgnL1Rlc3RSZXNvdXJjZScpLnRvKGhhdmVUeXBlKHJlc291cmNlVHlwZSkpO1xufSk7XG5wYXNzaW5nRXhhbXBsZSgnZXhwZWN0IDxzdGFjaz4gYXQgPHNvbWUgcGF0aD4gKm5vdCogdG8gaGF2ZSA8c29tZSB0eXBlPicsICgpID0+IHtcbiAgICBjb25zdCByZXNvdXJjZVR5cGUgPSAnVGVzdDo6UmVzb3VyY2UnO1xuICAgIGNvbnN0IHN5bnRoU3RhY2sgPSBzeW50aGVzaXplZFN0YWNrKHN0YWNrID0+IHtcbiAgICAgICAgbmV3IFRlc3RSZXNvdXJjZShzdGFjaywgJ1Rlc3RSZXNvdXJjZScsIHsgdHlwZTogcmVzb3VyY2VUeXBlIH0pO1xuICAgIH0pO1xuICAgIGV4cGVjdChzeW50aFN0YWNrKS5hdCgnL1Rlc3RSZXNvdXJjZScpLm5vdFRvKGhhdmVUeXBlKCdGb286OkJhcicpKTtcbn0pO1xucGFzc2luZ0V4YW1wbGUoJ2V4cGVjdCA8c3RhY2s+IGF0IDxzb21lIHBhdGg+IHRvIGV4aXN0JywgKCkgPT4ge1xuICAgIGNvbnN0IHJlc291cmNlVHlwZSA9ICdUZXN0OjpSZXNvdXJjZSc7XG4gICAgY29uc3Qgc3ludGhTdGFjayA9IHN5bnRoZXNpemVkU3RhY2soc3RhY2sgPT4ge1xuICAgICAgICBuZXcgVGVzdFJlc291cmNlKHN0YWNrLCAnVGVzdFJlc291cmNlJywgeyB0eXBlOiByZXNvdXJjZVR5cGUgfSk7XG4gICAgfSk7XG4gICAgZXhwZWN0KHN5bnRoU3RhY2spLmF0KCcvVGVzdFJlc291cmNlJykudG8oZXhpc3QoKSk7XG59KTtcbnBhc3NpbmdFeGFtcGxlKCdleHBlY3QgPHN0YWNrPiB0byBtYXRjaCAoZXhhY3RseSkgPHRlbXBsYXRlPicsICgpID0+IHtcbiAgICBjb25zdCByZXNvdXJjZVR5cGUgPSAnVGVzdDo6UmVzb3VyY2UnO1xuICAgIGNvbnN0IHN5bnRoU3RhY2sgPSBzeW50aGVzaXplZFN0YWNrKHN0YWNrID0+IHtcbiAgICAgICAgbmV3IFRlc3RSZXNvdXJjZShzdGFjaywgJ1Rlc3RSZXNvdXJjZScsIHsgdHlwZTogcmVzb3VyY2VUeXBlIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IGV4cGVjdGVkID0ge1xuICAgICAgICBSZXNvdXJjZXM6IHtcbiAgICAgICAgICAgIFRlc3RSZXNvdXJjZTogeyBUeXBlOiByZXNvdXJjZVR5cGUgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICBleHBlY3Qoc3ludGhTdGFjaykudG8obWF0Y2hUZW1wbGF0ZShleHBlY3RlZCwgTWF0Y2hTdHlsZS5FWEFDVCkpO1xufSk7XG5wYXNzaW5nRXhhbXBsZSgnZXhwZWN0IDxzdGFjaz4gdG8gbWF0Y2ggKG5vIHJlcGxhY2VzKSA8dGVtcGxhdGU+JywgKCkgPT4ge1xuICAgIGNvbnN0IHJlc291cmNlVHlwZSA9ICdUZXN0OjpSZXNvdXJjZSc7XG4gICAgY29uc3Qgc3ludGhTdGFjayA9IHN5bnRoZXNpemVkU3RhY2soc3RhY2sgPT4ge1xuICAgICAgICBuZXcgVGVzdFJlc291cmNlKHN0YWNrLCAnVGVzdFJlc291cmNlJywgeyB0eXBlOiByZXNvdXJjZVR5cGUgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgZXhwZWN0ZWQgPSB7fTtcbiAgICBleHBlY3Qoc3ludGhTdGFjaykudG8obWF0Y2hUZW1wbGF0ZShleHBlY3RlZCwgTWF0Y2hTdHlsZS5OT19SRVBMQUNFUykpO1xufSk7XG5wYXNzaW5nRXhhbXBsZSgnc3VnYXIgZm9yIG1hdGNoaW5nIHN0YWNrIHRvIGEgdGVtcGxhdGUnLCAoKSA9PiB7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgICBuZXcgVGVzdFJlc291cmNlKHN0YWNrLCAnVGVzdFJlc291cmNlJywgeyB0eXBlOiAnVGVzdDo6UmVzb3VyY2UnIH0pO1xuICAgIGV4cGVjdChzdGFjaykudG9NYXRjaCh7XG4gICAgICAgIFJlc291cmNlczoge1xuICAgICAgICAgICAgVGVzdFJlc291cmNlOiB7XG4gICAgICAgICAgICAgICAgVHlwZTogJ1Rlc3Q6OlJlc291cmNlJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59KTtcblxuZmFpbGluZ0V4YW1wbGUoJ2V4cGVjdCA8c3RhY2s+IGF0IDxzb21lIHBhdGg+ICpub3QqIHRvIGhhdmUgPHNvbWUgdHlwZT4nLCAoKSA9PiB7XG4gICAgY29uc3QgcmVzb3VyY2VUeXBlID0gJ1Rlc3Q6OlJlc291cmNlJztcbiAgICBjb25zdCBzeW50aFN0YWNrID0gc3ludGhlc2l6ZWRTdGFjayhzdGFjayA9PiB7XG4gICAgICAgIG5ldyBUZXN0UmVzb3VyY2Uoc3RhY2ssICdUZXN0UmVzb3VyY2UnLCB7IHR5cGU6IHJlc291cmNlVHlwZSB9KTtcbiAgICB9KTtcbiAgICBleHBlY3Qoc3ludGhTdGFjaykuYXQoJy9UZXN0UmVzb3VyY2UnKS5ub3RUbyhoYXZlVHlwZShyZXNvdXJjZVR5cGUpKTtcbn0pO1xuZmFpbGluZ0V4YW1wbGUoJ2V4cGVjdCA8c3RhY2s+IGF0IDxzb21lIHBhdGg+IHRvIGhhdmUgPHNvbWUgdHlwZT4nLCAoKSA9PiB7XG4gICAgY29uc3QgcmVzb3VyY2VUeXBlID0gJ1Rlc3Q6OlJlc291cmNlJztcbiAgICBjb25zdCBzeW50aFN0YWNrID0gc3ludGhlc2l6ZWRTdGFjayhzdGFjayA9PiB7XG4gICAgICAgIG5ldyBUZXN0UmVzb3VyY2Uoc3RhY2ssICdUZXN0UmVzb3VyY2UnLCB7IHR5cGU6IHJlc291cmNlVHlwZSB9KTtcbiAgICB9KTtcbiAgICBleHBlY3Qoc3ludGhTdGFjaykuYXQoJy9UZXN0UmVzb3VyY2UnKS50byhoYXZlVHlwZSgnRm9vOjpCYXInKSk7XG59KTtcbmZhaWxpbmdFeGFtcGxlKCdleHBlY3QgPHN0YWNrPiBhdCA8c29tZSBwYXRoPiB0byBleGlzdCcsICgpID0+IHtcbiAgICBjb25zdCByZXNvdXJjZVR5cGUgPSAnVGVzdDo6UmVzb3VyY2UnO1xuICAgIGNvbnN0IHN5bnRoU3RhY2sgPSBzeW50aGVzaXplZFN0YWNrKHN0YWNrID0+IHtcbiAgICAgICAgbmV3IFRlc3RSZXNvdXJjZShzdGFjaywgJ1Rlc3RSZXNvdXJjZScsIHsgdHlwZTogcmVzb3VyY2VUeXBlIH0pO1xuICAgIH0pO1xuICAgIGV4cGVjdChzeW50aFN0YWNrKS5hdCgnL0Zvby9CYXInKS50byhleGlzdCgpKTtcbn0pO1xuZmFpbGluZ0V4YW1wbGUoJ2V4cGVjdCA8c3RhY2s+IHRvIG1hdGNoIChleGFjdGx5KSA8dGVtcGxhdGU+JywgKCkgPT4ge1xuICAgIGNvbnN0IHJlc291cmNlVHlwZSA9ICdUZXN0OjpSZXNvdXJjZSc7XG4gICAgY29uc3Qgc3ludGhTdGFjayA9IHN5bnRoZXNpemVkU3RhY2soc3RhY2sgPT4ge1xuICAgICAgICBuZXcgVGVzdFJlc291cmNlKHN0YWNrLCAnVGVzdFJlc291cmNlJywgeyB0eXBlOiByZXNvdXJjZVR5cGUgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgZXhwZWN0ZWQgPSB7XG4gICAgICAgIFJlc291cmNlczoge1xuICAgICAgICAgICAgVGVzdFJlc291cmNlOiB7IFR5cGU6IHJlc291cmNlVHlwZSwgRGVwZW5kc09uOiBbJ1NvbWV0aGluZyddIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgZXhwZWN0KHN5bnRoU3RhY2spLnRvKG1hdGNoVGVtcGxhdGUoZXhwZWN0ZWQsIE1hdGNoU3R5bGUuRVhBQ1QpKTtcbn0pO1xuZmFpbGluZ0V4YW1wbGUoJ2V4cGVjdCA8c3RhY2s+IHRvIG1hdGNoIChubyByZXBsYWNlcykgPHRlbXBsYXRlPicsICgpID0+IHtcbiAgICBjb25zdCByZXNvdXJjZVR5cGUgPSAnVGVzdDo6UmVzb3VyY2UnO1xuICAgIGNvbnN0IHN5bnRoU3RhY2sgPSBzeW50aGVzaXplZFN0YWNrKHN0YWNrID0+IHtcbiAgICAgICAgbmV3IFRlc3RSZXNvdXJjZShzdGFjaywgJ1Rlc3RSZXNvdXJjZScsIHsgdHlwZTogcmVzb3VyY2VUeXBlIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IGV4cGVjdGVkID0ge1xuICAgICAgICBSZXNvdXJjZXM6IHtcbiAgICAgICAgICAgIFRlc3RSZXNvdXJjZTogeyBUeXBlOiAnQVdTOjpTMzo6QnVja2V0JyB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGV4cGVjdChzeW50aFN0YWNrKS50byhtYXRjaFRlbXBsYXRlKGV4cGVjdGVkLCBNYXRjaFN0eWxlLk5PX1JFUExBQ0VTKSk7XG59KTtcblxuLy8gY291bnRSZXNvdXJjZXNcblxucGFzc2luZ0V4YW1wbGUoJ2V4cGVjdCA8c3RhY2s+IHRvIGNvdW50IHJlc291cmNlcyAtIGFzIGV4cGVjdGVkJywgKCkgPT4ge1xuICAgIGNvbnN0IHN5bnRoU3RhY2sgPSBzeW50aGVzaXplZFN0YWNrKHN0YWNrID0+IHtcbiAgICAgICAgbmV3IFRlc3RSZXNvdXJjZShzdGFjaywgJ1IxJywgeyB0eXBlOiAnQmFyJyB9KTtcbiAgICAgICAgbmV3IFRlc3RSZXNvdXJjZShzdGFjaywgJ1IyJywgeyB0eXBlOiAnQmFyJyB9KTtcbiAgICAgICAgbmV3IFRlc3RSZXNvdXJjZShzdGFjaywgJ1IzJywgeyB0eXBlOiAnRm9vJyB9KTtcbiAgICB9KTtcblxuICAgIGV4cGVjdChzeW50aFN0YWNrKS50byhjb3VudFJlc291cmNlcygnQmFyJywgMikpO1xuICAgIGV4cGVjdChzeW50aFN0YWNrKS50byhjb3VudFJlc291cmNlcygnRm9vJywgMSkpO1xufSk7XG5cbnBhc3NpbmdFeGFtcGxlKCdleHBlY3QgPHN0YWNrPiB0byBjb3VudCByZXNvdXJjZXMgLSBleHBlY3RlZCBubyByZXNvdXJjZXMnLCAoKSA9PiB7XG4gICAgY29uc3QgcmVzb3VyY2VUeXBlID0gJ1Rlc3Q6OlJlc291cmNlJztcbiAgICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuICAgIGV4cGVjdChzdGFjaykudG8oY291bnRSZXNvdXJjZXMocmVzb3VyY2VUeXBlLCAwKSk7XG59KTtcblxuZmFpbGluZ0V4YW1wbGUoJ2V4cGVjdCA8c3RhY2s+IHRvIGNvdW50IHJlc291cmNlcyAtIG1vcmUgdGhhbiBleHBlY3RlZCcsICgpID0+IHtcbiAgICBjb25zdCByZXNvdXJjZVR5cGUgPSAnVGVzdDo6UmVzb3VyY2UnO1xuICAgIGNvbnN0IHN5bnRoU3RhY2sgPSBzeW50aGVzaXplZFN0YWNrKHN0YWNrID0+IHtcbiAgICAgICAgbmV3IFRlc3RSZXNvdXJjZShzdGFjaywgJ1IxJywgeyB0eXBlOiByZXNvdXJjZVR5cGUgfSk7XG4gICAgICAgIG5ldyBUZXN0UmVzb3VyY2Uoc3RhY2ssICdSMicsIHsgdHlwZTogcmVzb3VyY2VUeXBlIH0pO1xuICAgIH0pO1xuXG4gICAgZXhwZWN0KHN5bnRoU3RhY2spLnRvKGNvdW50UmVzb3VyY2VzKHJlc291cmNlVHlwZSwgMSkpO1xufSk7XG5cbmZhaWxpbmdFeGFtcGxlKCdleHBlY3QgPHN0YWNrPiB0byBjb3VudCByZXNvdXJjZXMgLSBsZXNzIHRoYW4gZXhwZWN0ZWQnLCAoKSA9PiB7XG4gICAgY29uc3QgcmVzb3VyY2VUeXBlID0gJ1Rlc3Q6OlJlc291cmNlJztcbiAgICBjb25zdCBzeW50aFN0YWNrID0gc3ludGhlc2l6ZWRTdGFjayhzdGFjayA9PiB7XG4gICAgICAgIG5ldyBUZXN0UmVzb3VyY2Uoc3RhY2ssICdSMScsIHsgdHlwZTogcmVzb3VyY2VUeXBlIH0pO1xuICAgICAgICBuZXcgVGVzdFJlc291cmNlKHN0YWNrLCAnUjInLCB7IHR5cGU6IHJlc291cmNlVHlwZSB9KTtcbiAgICB9KTtcblxuICAgIGV4cGVjdChzeW50aFN0YWNrKS50byhjb3VudFJlc291cmNlcyhyZXNvdXJjZVR5cGUsIDApKTtcbn0pO1xuXG5mdW5jdGlvbiBwYXNzaW5nRXhhbXBsZSh0aXRsZTogc3RyaW5nLCBjYjogKHRlc3Q6IFRlc3QpID0+IHZvaWQpIHtcbiAgICBpZiAoIWV4cG9ydHMucGFzc2luZykgeyBleHBvcnRzLnBhc3NpbmcgPSB7fTsgfVxuICAgIGV4cG9ydHMucGFzc2luZ1t0aXRsZV0gPSAodGVzdDogVGVzdCkgPT4ge1xuICAgICAgICBjYih0ZXN0KTtcbiAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgfTtcbn1cblxuZnVuY3Rpb24gZmFpbGluZ0V4YW1wbGUodGl0bGU6IHN0cmluZywgY2I6ICh0ZXN0OiBUZXN0KSA9PiB2b2lkKSB7XG4gICAgaWYgKCFleHBvcnRzLmZhaWxpbmcpIHsgZXhwb3J0cy5mYWlsaW5nID0ge307IH1cbiAgICBleHBvcnRzLmZhaWxpbmdbdGl0bGVdID0gKHRlc3Q6IFRlc3QpID0+IHtcbiAgICAgICAgdGVzdC50aHJvd3MoKCkgPT4ge1xuICAgICAgICAgICAgY2IodGVzdCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBzeW50aGVzaXplZFN0YWNrKGZuOiAoc3RhY2s6IGNkay5TdGFjaykgPT4gdm9pZCk6IGN4LlN5bnRoZXNpemVkU3RhY2sge1xuICAgIGNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKCk7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKGFwcCwgJ1Rlc3RTdGFjaycpO1xuICAgIGZuKHN0YWNrKTtcbiAgICByZXR1cm4gYXBwLnN5bnRoZXNpemVTdGFjayhzdGFjay5uYW1lKTtcbn1cblxuaW50ZXJmYWNlIFRlc3RSZXNvdXJjZVByb3BzIGV4dGVuZHMgY2RrLlJlc291cmNlUHJvcHMge1xuICAgIHR5cGU6IHN0cmluZztcbn1cblxuY2xhc3MgVGVzdFJlc291cmNlIGV4dGVuZHMgY2RrLlJlc291cmNlIHtcbiAgICBjb25zdHJ1Y3RvcihwYXJlbnQ6IGNkay5Db25zdHJ1Y3QsIG5hbWU6IHN0cmluZywgcHJvcHM6IFRlc3RSZXNvdXJjZVByb3BzKSB7XG4gICAgICAgIHN1cGVyKHBhcmVudCwgbmFtZSwgcHJvcHMpO1xuICAgIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5hc3NlcnRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC5hc3NlcnRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdUNBQXFDO0FBRXJDLG9DQUFxQztBQUlyQyxzQ0FBcUM7QUFDckMsd0NBQWtHO0FBRWxHLGNBQWMsQ0FBQyxtREFBbUQsRUFBRSxHQUFHLEVBQUU7SUFDdkUsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUM7SUFDdEMsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDMUMsSUFBSSxZQUFZLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQyxDQUFDO0lBQ0gsY0FBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQ3BFLENBQUMsQ0FBQyxDQUFDO0FBQ0gsY0FBYyxDQUFDLHlEQUF5RCxFQUFFLEdBQUcsRUFBRTtJQUM3RSxNQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQztJQUN0QyxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUMxQyxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQyxDQUFDLENBQUM7SUFDSCxjQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDckUsQ0FBQyxDQUFDLENBQUM7QUFDSCxjQUFjLENBQUMsd0NBQXdDLEVBQUUsR0FBRyxFQUFFO0lBQzVELE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFD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LEtBQUssQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDOUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ1YsT0FBTyxHQUFHLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBTUQsTUFBTSxZQUFhLFNBQVEsR0FBRyxDQUFDLFFBQVE7SUFDckMsWUFBWSxNQUFxQixFQUFFLElBQVksRUFBRSxLQUF3QjtRQUN2RSxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3NvdXJjZS1tYXAtc3VwcG9ydC9yZWdpc3Rlcic7XG5cbmltcG9ydCBjZGsgPSByZXF1aXJlKCdAYXdzLWNkay9jZGsnKTtcbmltcG9ydCBjeCA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2N4LWFwaScpO1xuaW1wb3J0IHsgVGVzdCB9IGZyb20gJ25vZGV1bml0JztcblxuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdAYXdzLWNkay9jZGsnO1xuaW1wb3J0IHsgY291bnRSZXNvdXJjZXMsIGV4aXN0LCBleHBlY3QsIGhhdmVUeXBlLCBNYXRjaFN0eWxlLCBtYXRjaFRlbXBsYXRlIH0gZnJvbSAnLi4vbGliL2luZGV4JztcblxucGFzc2luZ0V4YW1wbGUoJ2V4cGVjdCA8c3RhY2s+IGF0IDxzb21lIHBhdGg+IHRvIGhhdmUgPHNvbWUgdHlwZT4nLCAoKSA9PiB7XG4gIGNvbnN0IHJlc291cmNlVHlwZSA9ICdUZXN0OjpSZXNvdXJjZSc7XG4gIGNvbnN0IHN5bnRoU3RhY2sgPSBzeW50aGVzaXplZFN0YWNrKHN0YWNrID0+IHtcbiAgICBuZXcgVGVzdFJlc291cmNlKHN0YWNrLCAnVGVzdFJlc291cmNlJywgeyB0eXBlOiByZXNvdXJjZVR5cGUgfSk7XG4gIH0pO1xuICBleHBlY3Qoc3ludGhTdGFjaykuYXQoJy9UZXN0UmVzb3VyY2UnKS50byhoYXZlVHlwZShyZXNvdXJjZVR5cGUpKTtcbn0pO1xucGFzc2luZ0V4YW1wbGUoJ2V4cGVjdCA8c3RhY2s+IGF0IDxzb21lIHBhdGg+ICpub3QqIHRvIGhhdmUgPHNvbWUgdHlwZT4nLCAoKSA9PiB7XG4gIGNvbnN0IHJlc291cmNlVHlwZSA9ICdUZXN0OjpSZXNvdXJjZSc7XG4gIGNvbnN0IHN5bnRoU3RhY2sgPSBzeW50aGVzaXplZFN0YWNrKHN0YWNrID0+IHtcbiAgICBuZXcgVGVzdFJlc291cmNlKHN0YWNrLCAnVGVzdFJlc291cmNlJywgeyB0eXBlOiByZXNvdXJjZVR5cGUgfSk7XG4gIH0pO1xuICBleHBlY3Qoc3ludGhTdGFjaykuYXQoJy9UZXN0UmVzb3VyY2UnKS5ub3RUbyhoYXZlVHlwZSgnRm9vOjpCYXInKSk7XG59KTtcbnBhc3NpbmdFeGFtcGxlKCdleHBlY3QgPHN0YWNrPiBhdCA8c29tZSBwYXRoPiB0byBleGlzdCcsICgpID0+IHtcbiAgY29uc3QgcmVzb3VyY2VUeXBlID0gJ1Rlc3Q6OlJlc291cmNlJztcbiAgY29uc3Qgc3ludGhTdGFjayA9IHN5bnRoZXNpemVkU3RhY2soc3RhY2sgPT4ge1xuICAgIG5ldyBUZXN0UmVzb3VyY2Uoc3RhY2ssICdUZXN0UmVzb3VyY2UnLCB7IHR5cGU6IHJlc291cmNlVHlwZSB9KTtcbiAgfSk7XG4gIGV4cGVjdChzeW50aFN0YWNrKS5hdCgnL1Rlc3RSZXNvdXJjZScpLnRvKGV4aXN0KCkpO1xufSk7XG5wYXNzaW5nRXhhbXBsZSgnZXhwZWN0IDxzdGFjaz4gdG8gbWF0Y2ggKGV4YWN0bHkpIDx0ZW1wbGF0ZT4nLCAoKSA9PiB7XG4gIGNvbnN0IHJlc291cmNlVHlwZSA9ICdUZXN0OjpSZXNvdXJjZSc7XG4gIGNvbnN0IHN5bnRoU3RhY2sgPSBzeW50aGVzaXplZFN0YWNrKHN0YWNrID0+IHtcbiAgICBuZXcgVGVzdFJlc291cmNlKHN0YWNrLCAnVGVzdFJlc291cmNlJywgeyB0eXBlOiByZXNvdXJjZVR5cGUgfSk7XG4gIH0pO1xuICBjb25zdCBleHBlY3RlZCA9IHtcbiAgICBSZXNvdXJjZXM6IHtcbiAgICAgIFRlc3RSZXNvdXJjZTogeyBUeXBlOiByZXNvdXJjZVR5cGUgfVxuICAgIH1cbiAgfTtcbiAgZXhwZWN0KHN5bnRoU3RhY2spLnRvKG1hdGNoVGVtcGxhdGUoZXhwZWN0ZWQsIE1hdGNoU3R5bGUuRVhBQ1QpKTtcbn0pO1xucGFzc2luZ0V4YW1wbGUoJ2V4cGVjdCA8c3RhY2s+IHRvIG1hdGNoIChubyByZXBsYWNlcykgPHRlbXBsYXRlPicsICgpID0+IHtcbiAgY29uc3QgcmVzb3VyY2VUeXBlID0gJ1Rlc3Q6OlJlc291cmNlJztcbiAgY29uc3Qgc3ludGhTdGFjayA9IHN5bnRoZXNpemVkU3RhY2soc3RhY2sgPT4ge1xuICAgIG5ldyBUZXN0UmVzb3VyY2Uoc3RhY2ssICdUZXN0UmVzb3VyY2UnLCB7IHR5cGU6IHJlc291cmNlVHlwZSB9KTtcbiAgfSk7XG4gIGNvbnN0IGV4cGVjdGVkID0ge307XG4gIGV4cGVjdChzeW50aFN0YWNrKS50byhtYXRjaFRlbXBsYXRlKGV4cGVjdGVkLCBNYXRjaFN0eWxlLk5PX1JFUExBQ0VTKSk7XG59KTtcbnBhc3NpbmdFeGFtcGxlKCdzdWdhciBmb3IgbWF0Y2hpbmcgc3RhY2sgdG8gYSB0ZW1wbGF0ZScsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soKTtcbiAgbmV3IFRlc3RSZXNvdXJjZShzdGFjaywgJ1Rlc3RSZXNvdXJjZScsIHsgdHlwZTogJ1Rlc3Q6OlJlc291cmNlJyB9KTtcbiAgZXhwZWN0KHN0YWNrKS50b01hdGNoKHtcbiAgICBSZXNvdXJjZXM6IHtcbiAgICAgIFRlc3RSZXNvdXJjZToge1xuICAgICAgICBUeXBlOiAnVGVzdDo6UmVzb3VyY2UnXG4gICAgICB9XG4gICAgfVxuICB9KTtcbn0pO1xuXG5mYWlsaW5nRXhhbXBsZSgnZXhwZWN0IDxzdGFjaz4gYXQgPHNvbWUgcGF0aD4gKm5vdCogdG8gaGF2ZSA8c29tZSB0eXBlPicsICgpID0+IHtcbiAgY29uc3QgcmVzb3VyY2VUeXBlID0gJ1Rlc3Q6OlJlc291cmNlJztcbiAgY29uc3Qgc3ludGhTdGFjayA9IHN5bnRoZXNpemVkU3RhY2soc3RhY2sgPT4ge1xuICAgIG5ldyBUZXN0UmVzb3VyY2Uoc3RhY2ssICdUZXN0UmVzb3VyY2UnLCB7IHR5cGU6IHJlc291cmNlVHlwZSB9KTtcbiAgfSk7XG4gIGV4cGVjdChzeW50aFN0YWNrKS5hdCgnL1Rlc3RSZXNvdXJjZScpLm5vdFRvKGhhdmVUeXBlKHJlc291cmNlVHlwZSkpO1xufSk7XG5mYWlsaW5nRXhhbXBsZSgnZXhwZWN0IDxzdGFjaz4gYXQgPHNvbWUgcGF0aD4gdG8gaGF2ZSA8c29tZSB0eXBlPicsICgpID0+IHtcbiAgY29uc3QgcmVzb3VyY2VUeXBlID0gJ1Rlc3Q6OlJlc291cmNlJztcbiAgY29uc3Qgc3ludGhTdGFjayA9IHN5bnRoZXNpemVkU3RhY2soc3RhY2sgPT4ge1xuICAgIG5ldyBUZXN0UmVzb3VyY2Uoc3RhY2ssICdUZXN0UmVzb3VyY2UnLCB7IHR5cGU6IHJlc291cmNlVHlwZSB9KTtcbiAgfSk7XG4gIGV4cGVjdChzeW50aFN0YWNrKS5hdCgnL1Rlc3RSZXNvdXJjZScpLnRvKGhhdmVUeXBlKCdGb286OkJhcicpKTtcbn0pO1xuZmFpbGluZ0V4YW1wbGUoJ2V4cGVjdCA8c3RhY2s+IGF0IDxzb21lIHBhdGg+IHRvIGV4aXN0JywgKCkgPT4ge1xuICBjb25zdCByZXNvdXJjZVR5cGUgPSAnVGVzdDo6UmVzb3VyY2UnO1xuICBjb25zdCBzeW50aFN0YWNrID0gc3ludGhlc2l6ZWRTdGFjayhzdGFjayA9PiB7XG4gICAgbmV3IFRlc3RSZXNvdXJjZShzdGFjaywgJ1Rlc3RSZXNvdXJjZScsIHsgdHlwZTogcmVzb3VyY2VUeXBlIH0pO1xuICB9KTtcbiAgZXhwZWN0KHN5bnRoU3RhY2spLmF0KCcvRm9vL0JhcicpLnRvKGV4aXN0KCkpO1xufSk7XG5mYWlsaW5nRXhhbXBsZSgnZXhwZWN0IDxzdGFjaz4gdG8gbWF0Y2ggKGV4YWN0bHkpIDx0ZW1wbGF0ZT4nLCAoKSA9PiB7XG4gIGNvbnN0IHJlc291cmNlVHlwZSA9ICdUZXN0OjpSZXNvdXJjZSc7XG4gIGNvbnN0IHN5bnRoU3RhY2sgPSBzeW50aGVzaXplZFN0YWNrKHN0YWNrID0+IHtcbiAgICBuZXcgVGVzdFJlc291cmNlKHN0YWNrLCAnVGVzdFJlc291cmNlJywgeyB0eXBlOiByZXNvdXJjZVR5cGUgfSk7XG4gIH0pO1xuICBjb25zdCBleHBlY3RlZCA9IHtcbiAgICBSZXNvdXJjZXM6IHtcbiAgICAgIFRlc3RSZXNvdXJjZTogeyBUeXBlOiByZXNvdXJjZVR5cGUsIERlcGVuZHNPbjogWydTb21ldGhpbmcnXSB9XG4gICAgfVxuICB9O1xuICBleHBlY3Qoc3ludGhTdGFjaykudG8obWF0Y2hUZW1wbGF0ZShleHBlY3RlZCwgTWF0Y2hTdHlsZS5FWEFDVCkpO1xufSk7XG5mYWlsaW5nRXhhbXBsZSgnZXhwZWN0IDxzdGFjaz4gdG8gbWF0Y2ggKG5vIHJlcGxhY2VzKSA8dGVtcGxhdGU+JywgKCkgPT4ge1xuICBjb25zdCByZXNvdXJjZVR5cGUgPSAnVGVzdDo6UmVzb3VyY2UnO1xuICBjb25zdCBzeW50aFN0YWNrID0gc3ludGhlc2l6ZWRTdGFjayhzdGFjayA9PiB7XG4gICAgbmV3IFRlc3RSZXNvdXJjZShzdGFjaywgJ1Rlc3RSZXNvdXJjZScsIHsgdHlwZTogcmVzb3VyY2VUeXBlIH0pO1xuICB9KTtcbiAgY29uc3QgZXhwZWN0ZWQgPSB7XG4gICAgUmVzb3VyY2VzOiB7XG4gICAgICBUZXN0UmVzb3VyY2U6IHsgVHlwZTogJ0FXUzo6UzM6OkJ1Y2tldCcgfVxuICAgIH1cbiAgfTtcbiAgZXhwZWN0KHN5bnRoU3RhY2spLnRvKG1hdGNoVGVtcGxhdGUoZXhwZWN0ZWQsIE1hdGNoU3R5bGUuTk9fUkVQTEFDRVMpKTtcbn0pO1xuXG4vLyBjb3VudFJlc291cmNlc1xuXG5wYXNzaW5nRXhhbXBsZSgnZXhwZWN0IDxzdGFjaz4gdG8gY291bnQgcmVzb3VyY2VzIC0gYXMgZXhwZWN0ZWQnLCAoKSA9PiB7XG4gIGNvbnN0IHN5bnRoU3RhY2sgPSBzeW50aGVzaXplZFN0YWNrKHN0YWNrID0+IHtcbiAgICBuZXcgVGVzdFJlc291cmNlKHN0YWNrLCAnUjEnLCB7IHR5cGU6ICdCYXInIH0pO1xuICAgIG5ldyBUZXN0UmVzb3VyY2Uoc3RhY2ssICdSMicsIHsgdHlwZTogJ0JhcicgfSk7XG4gICAgbmV3IFRlc3RSZXNvdXJjZShzdGFjaywgJ1IzJywgeyB0eXBlOiAnRm9vJyB9KTtcbiAgfSk7XG5cbiAgZXhwZWN0KHN5bnRoU3RhY2spLnRvKGNvdW50UmVzb3VyY2VzKCdCYXInLCAyKSk7XG4gIGV4cGVjdChzeW50aFN0YWNrKS50byhjb3VudFJlc291cmNlcygnRm9vJywgMSkpO1xufSk7XG5cbnBhc3NpbmdFeGFtcGxlKCdleHBlY3QgPHN0YWNrPiB0byBjb3VudCByZXNvdXJjZXMgLSBleHBlY3RlZCBubyByZXNvdXJjZXMnLCAoKSA9PiB7XG4gIGNvbnN0IHJlc291cmNlVHlwZSA9ICdUZXN0OjpSZXNvdXJjZSc7XG4gIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG4gIGV4cGVjdChzdGFjaykudG8oY291bnRSZXNvdXJjZXMocmVzb3VyY2VUeXBlLCAwKSk7XG59KTtcblxuZmFpbGluZ0V4YW1wbGUoJ2V4cGVjdCA8c3RhY2s+IHRvIGNvdW50IHJlc291cmNlcyAtIG1vcmUgdGhhbiBleHBlY3RlZCcsICgpID0+IHtcbiAgY29uc3QgcmVzb3VyY2VUeXBlID0gJ1Rlc3Q6OlJlc291cmNlJztcbiAgY29uc3Qgc3ludGhTdGFjayA9IHN5bnRoZXNpemVkU3RhY2soc3RhY2sgPT4ge1xuICAgIG5ldyBUZXN0UmVzb3VyY2Uoc3RhY2ssICdSMScsIHsgdHlwZTogcmVzb3VyY2VUeXBlIH0pO1xuICAgIG5ldyBUZXN0UmVzb3VyY2Uoc3RhY2ssICdSMicsIHsgdHlwZTogcmVzb3VyY2VUeXBlIH0pO1xuICB9KTtcblxuICBleHBlY3Qoc3ludGhTdGFjaykudG8oY291bnRSZXNvdXJjZXMocmVzb3VyY2VUeXBlLCAxKSk7XG59KTtcblxuZmFpbGluZ0V4YW1wbGUoJ2V4cGVjdCA8c3RhY2s+IHRvIGNvdW50IHJlc291cmNlcyAtIGxlc3MgdGhhbiBleHBlY3RlZCcsICgpID0+IHtcbiAgY29uc3QgcmVzb3VyY2VUeXBlID0gJ1Rlc3Q6OlJlc291cmNlJztcbiAgY29uc3Qgc3ludGhTdGFjayA9IHN5bnRoZXNpemVkU3RhY2soc3RhY2sgPT4ge1xuICAgIG5ldyBUZXN0UmVzb3VyY2Uoc3RhY2ssICdSMScsIHsgdHlwZTogcmVzb3VyY2VUeXBlIH0pO1xuICAgIG5ldyBUZXN0UmVzb3VyY2Uoc3RhY2ssICdSMicsIHsgdHlwZTogcmVzb3VyY2VUeXBlIH0pO1xuICB9KTtcblxuICBleHBlY3Qoc3ludGhTdGFjaykudG8oY291bnRSZXNvdXJjZXMocmVzb3VyY2VUeXBlLCAwKSk7XG59KTtcblxuZnVuY3Rpb24gcGFzc2luZ0V4YW1wbGUodGl0bGU6IHN0cmluZywgY2I6ICh0ZXN0OiBUZXN0KSA9PiB2b2lkKSB7XG4gIGlmICghZXhwb3J0cy5wYXNzaW5nKSB7IGV4cG9ydHMucGFzc2luZyA9IHt9OyB9XG4gIGV4cG9ydHMucGFzc2luZ1t0aXRsZV0gPSAodGVzdDogVGVzdCkgPT4ge1xuICAgIGNiKHRlc3QpO1xuICAgIHRlc3QuZG9uZSgpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBmYWlsaW5nRXhhbXBsZSh0aXRsZTogc3RyaW5nLCBjYjogKHRlc3Q6IFRlc3QpID0+IHZvaWQpIHtcbiAgaWYgKCFleHBvcnRzLmZhaWxpbmcpIHsgZXhwb3J0cy5mYWlsaW5nID0ge307IH1cbiAgZXhwb3J0cy5mYWlsaW5nW3RpdGxlXSA9ICh0ZXN0OiBUZXN0KSA9PiB7XG4gICAgdGVzdC50aHJvd3MoKCkgPT4ge1xuICAgICAgY2IodGVzdCk7XG4gICAgfSk7XG4gICAgdGVzdC5kb25lKCk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIHN5bnRoZXNpemVkU3RhY2soZm46IChzdGFjazogY2RrLlN0YWNrKSA9PiB2b2lkKTogY3guU3ludGhlc2l6ZWRTdGFjayB7XG4gIGNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKCk7XG4gIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayhhcHAsICdUZXN0U3RhY2snKTtcbiAgZm4oc3RhY2spO1xuICByZXR1cm4gYXBwLnN5bnRoZXNpemVTdGFjayhzdGFjay5uYW1lKTtcbn1cblxuaW50ZXJmYWNlIFRlc3RSZXNvdXJjZVByb3BzIGV4dGVuZHMgY2RrLlJlc291cmNlUHJvcHMge1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbmNsYXNzIFRlc3RSZXNvdXJjZSBleHRlbmRzIGNkay5SZXNvdXJjZSB7XG4gIGNvbnN0cnVjdG9yKHBhcmVudDogY2RrLkNvbnN0cnVjdCwgbmFtZTogc3RyaW5nLCBwcm9wczogVGVzdFJlc291cmNlUHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIG5hbWUsIHByb3BzKTtcbiAgfVxufVxuIl19
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