cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
142 lines • 14.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PartnercentralAccountManagement = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [partnercentral-account-management](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspartnercentralaccountmanagement.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class PartnercentralAccountManagement extends shared_1.PolicyStatement {
/**
* Grants permission to Single Sign-On from AWS Partner Central into Legacy Partner Central
*
* Access Level: Write
*
* Possible conditions:
* - .ifLegacyPartnerCentralRole()
*
* https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html
*/
toAccessLegacyPartnerCentral() {
return this.to('AccessLegacyPartnerCentral');
}
/**
* Grants permission to Single Sign-On from AWS Partner Central into Marketing Central
*
* Access Level: Write
*
* Possible conditions:
* - .ifMarketingCentralRole()
*
* https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html
*/
toAccessMarketingCentral() {
return this.to('AccessMarketingCentral');
}
/**
* Grants permission to Single Sign-On from AWS Partner Central into ProServe Tools
*
* Access Level: Write
*
* Possible conditions:
* - .ifProServeRole()
*
* https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html
*/
toAccessProServeTools() {
return this.to('AccessProServeTools');
}
/**
* Grants permission to associate Partner account to AWS account
*
* Access Level: Write
*
* https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html
*/
toAssociatePartnerAccount() {
return this.to('AssociatePartnerAccount');
}
/**
* Grants permission to associate Partner user to IAM role
*
* Access Level: Write
*
* https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html
*/
toAssociatePartnerUser() {
return this.to('AssociatePartnerUser');
}
/**
* Grants permission to disassociate Partner user to IAM role
*
* Access Level: Write
*
* https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html
*/
toDisassociatePartnerUser() {
return this.to('DisassociatePartnerUser');
}
/**
* Filters access by the Legacy Partner Central role
*
* https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html
*
* Applies to actions:
* - .toAccessLegacyPartnerCentral()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifLegacyPartnerCentralRole(value, operator) {
return this.if(`LegacyPartnerCentralRole`, value, operator ?? 'StringLike');
}
/**
* Filters access by Marketing Central role
*
* https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html
*
* Applies to actions:
* - .toAccessMarketingCentral()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifMarketingCentralRole(value, operator) {
return this.if(`MarketingCentralRole`, value, operator ?? 'StringLike');
}
/**
* Filters access by ProServe Tools role
*
* https://docs.aws.amazon.com/partner-central/latest/getting-started/controlling-access-in-apc-account-management.html
*
* Applies to actions:
* - .toAccessProServeTools()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifProServeRole(value, operator) {
return this.if(`ProServeRole`, value, operator ?? 'StringLike');
}
/**
* Statement provider for service [partnercentral-account-management](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspartnercentralaccountmanagement.html).
*
*/
constructor(props) {
super(props);
this.servicePrefix = 'partnercentral-account-management';
this.accessLevelList = {
Write: [
'AccessLegacyPartnerCentral',
'AccessMarketingCentral',
'AccessProServeTools',
'AssociatePartnerAccount',
'AssociatePartnerUser',
'DisassociatePartnerUser'
]
};
}
}
exports.PartnercentralAccountManagement = PartnercentralAccountManagement;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydG5lcmNlbnRyYWxhY2NvdW50bWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInBhcnRuZXJjZW50cmFsYWNjb3VudG1hbmFnZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQXlEO0FBR3pEOzs7O0dBSUc7QUFDSCxNQUFhLCtCQUFnQyxTQUFRLHdCQUFlO0lBR2xFOzs7Ozs7Ozs7T0FTRztJQUNJLDRCQUE0QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksd0JBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHlCQUF5QjtRQUM5QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx5QkFBeUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQWFEOzs7Ozs7Ozs7O09BVUc7SUFDSSwwQkFBMEIsQ0FBQyxLQUF3QixFQUFFLFFBQTRCO1FBQ3RGLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLFlBQVksQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksc0JBQXNCLENBQUMsS0FBd0IsRUFBRSxRQUE0QjtRQUNsRixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxZQUFZLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLGNBQWMsQ0FBQyxLQUF3QixFQUFFLFFBQTRCO1FBQzFFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxZQUFZLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxLQUFnQztRQUMxQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUExSVIsa0JBQWEsR0FBRyxtQ0FBbUMsQ0FBQztRQTZFakQsb0JBQWUsR0FBb0I7WUFDM0MsS0FBSyxFQUFFO2dCQUNMLDRCQUE0QjtnQkFDNUIsd0JBQXdCO2dCQUN4QixxQkFBcUI7Z0JBQ3JCLHlCQUF5QjtnQkFDekIsc0JBQXNCO2dCQUN0Qix5QkFBeUI7YUFDMUI7U0FDRixDQUFDO0lBcURGLENBQUM7Q0FDRjtBQTdJRCwwRUE2SUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWNjZXNzLWxldmVsJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCwgT3BlcmF0b3IgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgYXdzX2lhbSBhcyBpYW0gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW3BhcnRuZXJjZW50cmFsLWFjY291bnQtbWFuYWdlbWVudF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzcGFydG5lcmNlbnRyYWxhY2NvdW50bWFuYWdlbWVudC5odG1sKS5cbiAqXG4gKiBAcGFyYW0gc2lkIFtTSURdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfc2lkLmh0bWwpIG9mIHRoZSBzdGF0ZW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIFBhcnRuZXJjZW50cmFsQWNjb3VudE1hbmFnZW1lbnQgZXh0ZW5kcyBQb2xpY3lTdGF0ZW1lbnQge1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICdwYXJ0bmVyY2VudHJhbC1hY2NvdW50LW1hbmFnZW1lbnQnO1xuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBTaW5nbGUgU2lnbi1PbiBmcm9tIEFXUyBQYXJ0bmVyIENlbnRyYWwgaW50byBMZWdhY3kgUGFydG5lciBDZW50cmFsXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZMZWdhY3lQYXJ0bmVyQ2VudHJhbFJvbGUoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcGFydG5lci1jZW50cmFsL2xhdGVzdC9nZXR0aW5nLXN0YXJ0ZWQvY29udHJvbGxpbmctYWNjZXNzLWluLWFwYy1hY2NvdW50LW1hbmFnZW1lbnQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQWNjZXNzTGVnYWN5UGFydG5lckNlbnRyYWwoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0FjY2Vzc0xlZ2FjeVBhcnRuZXJDZW50cmFsJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gU2luZ2xlIFNpZ24tT24gZnJvbSBBV1MgUGFydG5lciBDZW50cmFsIGludG8gTWFya2V0aW5nIENlbnRyYWxcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZk1hcmtldGluZ0NlbnRyYWxSb2xlKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3BhcnRuZXItY2VudHJhbC9sYXRlc3QvZ2V0dGluZy1zdGFydGVkL2NvbnRyb2xsaW5nLWFjY2Vzcy1pbi1hcGMtYWNjb3VudC1tYW5hZ2VtZW50Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0FjY2Vzc01hcmtldGluZ0NlbnRyYWwoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0FjY2Vzc01hcmtldGluZ0NlbnRyYWwnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBTaW5nbGUgU2lnbi1PbiBmcm9tIEFXUyBQYXJ0bmVyIENlbnRyYWwgaW50byBQcm9TZXJ2ZSBUb29sc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmUHJvU2VydmVSb2xlKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3BhcnRuZXItY2VudHJhbC9sYXRlc3QvZ2V0dGluZy1zdGFydGVkL2NvbnRyb2xsaW5nLWFjY2Vzcy1pbi1hcGMtYWNjb3VudC1tYW5hZ2VtZW50Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0FjY2Vzc1Byb1NlcnZlVG9vbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0FjY2Vzc1Byb1NlcnZlVG9vbHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBhc3NvY2lhdGUgUGFydG5lciBhY2NvdW50IHRvIEFXUyBhY2NvdW50XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3BhcnRuZXItY2VudHJhbC9sYXRlc3QvZ2V0dGluZy1zdGFydGVkL2NvbnRyb2xsaW5nLWFjY2Vzcy1pbi1hcGMtYWNjb3VudC1tYW5hZ2VtZW50Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Fzc29jaWF0ZVBhcnRuZXJBY2NvdW50KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdBc3NvY2lhdGVQYXJ0bmVyQWNjb3VudCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFzc29jaWF0ZSBQYXJ0bmVyIHVzZXIgdG8gSUFNIHJvbGVcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcGFydG5lci1jZW50cmFsL2xhdGVzdC9nZXR0aW5nLXN0YXJ0ZWQvY29udHJvbGxpbmctYWNjZXNzLWluLWFwYy1hY2NvdW50LW1hbmFnZW1lbnQuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQXNzb2NpYXRlUGFydG5lclVzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Fzc29jaWF0ZVBhcnRuZXJVc2VyJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGlzYXNzb2NpYXRlIFBhcnRuZXIgdXNlciB0byBJQU0gcm9sZVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9wYXJ0bmVyLWNlbnRyYWwvbGF0ZXN0L2dldHRpbmctc3RhcnRlZC9jb250cm9sbGluZy1hY2Nlc3MtaW4tYXBjLWFjY291bnQtbWFuYWdlbWVudC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EaXNhc3NvY2lhdGVQYXJ0bmVyVXNlcigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGlzYXNzb2NpYXRlUGFydG5lclVzZXInKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhY2Nlc3NMZXZlbExpc3Q6IEFjY2Vzc0xldmVsTGlzdCA9IHtcbiAgICBXcml0ZTogW1xuICAgICAgJ0FjY2Vzc0xlZ2FjeVBhcnRuZXJDZW50cmFsJyxcbiAgICAgICdBY2Nlc3NNYXJrZXRpbmdDZW50cmFsJyxcbiAgICAgICdBY2Nlc3NQcm9TZXJ2ZVRvb2xzJyxcbiAgICAgICdBc3NvY2lhdGVQYXJ0bmVyQWNjb3VudCcsXG4gICAgICAnQXNzb2NpYXRlUGFydG5lclVzZXInLFxuICAgICAgJ0Rpc2Fzc29jaWF0ZVBhcnRuZXJVc2VyJ1xuICAgIF1cbiAgfTtcblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgdGhlIExlZ2FjeSBQYXJ0bmVyIENlbnRyYWwgcm9sZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcGFydG5lci1jZW50cmFsL2xhdGVzdC9nZXR0aW5nLXN0YXJ0ZWQvY29udHJvbGxpbmctYWNjZXNzLWluLWFwYy1hY2NvdW50LW1hbmFnZW1lbnQuaHRtbFxuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvQWNjZXNzTGVnYWN5UGFydG5lckNlbnRyYWwoKVxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlKHMpIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBvcGVyYXRvciBXb3JrcyB3aXRoIFtzdHJpbmcgb3BlcmF0b3JzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX2NvbmRpdGlvbl9vcGVyYXRvcnMuaHRtbCNDb25kaXRpb25zX1N0cmluZykuICoqRGVmYXVsdDoqKiBgU3RyaW5nTGlrZWBcbiAgICovXG4gIHB1YmxpYyBpZkxlZ2FjeVBhcnRuZXJDZW50cmFsUm9sZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgTGVnYWN5UGFydG5lckNlbnRyYWxSb2xlYCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgTWFya2V0aW5nIENlbnRyYWwgcm9sZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcGFydG5lci1jZW50cmFsL2xhdGVzdC9nZXR0aW5nLXN0YXJ0ZWQvY29udHJvbGxpbmctYWNjZXNzLWluLWFwYy1hY2NvdW50LW1hbmFnZW1lbnQuaHRtbFxuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvQWNjZXNzTWFya2V0aW5nQ2VudHJhbCgpXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmTWFya2V0aW5nQ2VudHJhbFJvbGUodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYE1hcmtldGluZ0NlbnRyYWxSb2xlYCwgdmFsdWUsIG9wZXJhdG9yID8/ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgUHJvU2VydmUgVG9vbHMgcm9sZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcGFydG5lci1jZW50cmFsL2xhdGVzdC9nZXR0aW5nLXN0YXJ0ZWQvY29udHJvbGxpbmctYWNjZXNzLWluLWFwYy1hY2NvdW50LW1hbmFnZW1lbnQuaHRtbFxuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvQWNjZXNzUHJvU2VydmVUb29scygpXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmUHJvU2VydmVSb2xlKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3BlcmF0b3I/OiBPcGVyYXRvciB8IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmlmKGBQcm9TZXJ2ZVJvbGVgLCB2YWx1ZSwgb3BlcmF0b3IgPz8gJ1N0cmluZ0xpa2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW3BhcnRuZXJjZW50cmFsLWFjY291bnQtbWFuYWdlbWVudF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzcGFydG5lcmNlbnRyYWxhY2NvdW50bWFuYWdlbWVudC5odG1sKS5cbiAgICpcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3BzPzogaWFtLlBvbGljeVN0YXRlbWVudFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICB9XG59XG4iXX0=