awscdk-resources-mongodbatlas
Version:
MongoDB Atlas CDK Construct Library for AWS CloudFormation Resources
94 lines • 16.3 kB
JavaScript
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CfnProjectIpAccessList = void 0;
exports.toJson_CfnProjectIpAccessListProps = toJson_CfnProjectIpAccessListProps;
exports.toJson_AccessListDefinition = toJson_AccessListDefinition;
exports.toJson_ListOptions = toJson_ListOptions;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
// Generated by cdk-import
const cdk = require("aws-cdk-lib");
/**
* Converts an object of type 'CfnProjectIpAccessListProps' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_CfnProjectIpAccessListProps(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
AccessList: obj.accessList?.map((y) => toJson_AccessListDefinition(y)),
ProjectId: obj.projectId,
Profile: obj.profile,
ListOptions: toJson_ListOptions(obj.listOptions),
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
* Converts an object of type 'AccessListDefinition' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_AccessListDefinition(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
DeleteAfterDate: obj.deleteAfterDate,
AwsSecurityGroup: obj.awsSecurityGroup,
CIDRBlock: obj.cidrBlock,
Comment: obj.comment,
IPAddress: obj.ipAddress,
ProjectId: obj.projectId,
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
* Converts an object of type 'ListOptions' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_ListOptions(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
PageNum: obj.pageNum,
ItemsPerPage: obj.itemsPerPage,
IncludeCount: obj.includeCount,
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/* eslint-enable max-len, quote-props */
/**
* A CloudFormation `MongoDB::Atlas::ProjectIpAccessList`
*
* @cloudformationResource MongoDB::Atlas::ProjectIpAccessList
* @stability external
*/
class CfnProjectIpAccessList extends cdk.CfnResource {
/**
* Create a new `MongoDB::Atlas::ProjectIpAccessList`.
*
* @param scope - scope in which this resource is defined
* @param id - scoped id of the resource
* @param props - resource properties
*/
constructor(scope, id, props) {
super(scope, id, {
type: CfnProjectIpAccessList.CFN_RESOURCE_TYPE_NAME,
properties: toJson_CfnProjectIpAccessListProps(props),
});
this.props = props;
this.attrTotalCount = cdk.Token.asNumber(this.getAtt("TotalCount"));
}
}
exports.CfnProjectIpAccessList = CfnProjectIpAccessList;
_a = JSII_RTTI_SYMBOL_1;
CfnProjectIpAccessList[_a] = { fqn: "awscdk-resources-mongodbatlas.CfnProjectIpAccessList", version: "3.13.0" };
/**
* The CloudFormation resource type name for this resource class.
*/
CfnProjectIpAccessList.CFN_RESOURCE_TYPE_NAME = "MongoDB::Atlas::ProjectIpAccessList";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbDEtcmVzb3VyY2VzL3Byb2plY3QtaXAtYWNjZXNzLWxpc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQXVDQSxnRkFpQkM7QUFzREQsa0VBbUJDO0FBaUNELGdEQWdCQzs7QUFsTEQsMEJBQTBCO0FBQzFCLG1DQUFtQztBQWtDbkM7O0dBRUc7QUFDSCx5Q0FBeUM7QUFDekMsU0FBZ0Isa0NBQWtDLENBQ2hELEdBQTRDO0lBRTVDLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRztRQUNiLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTO1FBQ3hCLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztRQUNwQixXQUFXLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztLQUNqRCxDQUFDO0lBQ0YsMEJBQTBCO0lBQzFCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQ2xDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUMzRCxFQUFFLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFrREQ7O0dBRUc7QUFDSCx5Q0FBeUM7QUFDekMsU0FBZ0IsMkJBQTJCLENBQ3pDLEdBQXFDO0lBRXJDLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRztRQUNiLGVBQWUsRUFBRSxHQUFHLENBQUMsZUFBZTtRQUNwQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsZ0JBQWdCO1FBQ3RDLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUztRQUN4QixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87UUFDcEIsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTO1FBQ3hCLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUztLQUN6QixDQUFDO0lBQ0YsMEJBQTBCO0lBQzFCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQ2xDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUMzRCxFQUFFLENBQ0gsQ0FBQztBQUNKLENBQUM7QUE2QkQ7O0dBRUc7QUFDSCx5Q0FBeUM7QUFDekMsU0FBZ0Isa0JBQWtCLENBQ2hDLEdBQTRCO0lBRTVCLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRztRQUNiLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztRQUNwQixZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVk7UUFDOUIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxZQUFZO0tBQy9CLENBQUM7SUFDRiwwQkFBMEI7SUFDMUIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FDbEMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQzNELEVBQUUsQ0FDSCxDQUFDO0FBQ0osQ0FBQztBQUNELHdDQUF3QztBQUV4Qzs7Ozs7R0FLRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsR0FBRyxDQUFDLFdBQVc7SUFpQnpEOzs7Ozs7T0FNRztJQUNILFlBQ0UsS0FBMkIsRUFDM0IsRUFBVSxFQUNWLEtBQWtDO1FBRWxDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsSUFBSSxFQUFFLHNCQUFzQixDQUFDLHNCQUFzQjtZQUNuRCxVQUFVLEVBQUUsa0NBQWtDLENBQUMsS0FBSyxDQUFFO1NBQ3ZELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7O0FBckNILHdEQXNDQzs7O0FBckNDOztHQUVHO0FBQ29CLDZDQUFzQixHQUMzQyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdlbmVyYXRlZCBieSBjZGstaW1wb3J0XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbi8qKlxuICogUmV0dXJucywgYWRkcywgZWRpdHMsIGFuZCByZW1vdmVzIG5ldHdvcmsgYWNjZXNzIGxpbWl0cyB0byBkYXRhYmFzZSBkZXBsb3ltZW50cyBpbiBBdGxhcy5cbiAqXG4gKiBAc2NoZW1hIENmblByb2plY3RJcEFjY2Vzc0xpc3RQcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENmblByb2plY3RJcEFjY2Vzc0xpc3RQcm9wcyB7XG4gIC8qKlxuICAgKiBAc2NoZW1hIENmblByb2plY3RJcEFjY2Vzc0xpc3RQcm9wcyNBY2Nlc3NMaXN0XG4gICAqL1xuICByZWFkb25seSBhY2Nlc3NMaXN0OiBBY2Nlc3NMaXN0RGVmaW5pdGlvbltdO1xuXG4gIC8qKlxuICAgKiBVbmlxdWUgMjQtaGV4YWRlY2ltYWwgZGlnaXQgc3RyaW5nIHRoYXQgaWRlbnRpZmllcyB5b3VyIHByb2plY3QuXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuUHJvamVjdElwQWNjZXNzTGlzdFByb3BzI1Byb2plY3RJZFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVjdElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFByb2ZpbGUgdXNlZCB0byBwcm92aWRlIGNyZWRlbnRpYWxzIGluZm9ybWF0aW9uLCAoYSBzZWNyZXQgd2l0aCB0aGUgY2ZuL2F0bGFzL3Byb2ZpbGUve1Byb2ZpbGV9LCBpcyByZXF1aXJlZCksIGlmIG5vdCBwcm92aWRlZCBkZWZhdWx0IGlzIHVzZWRcbiAgICpcbiAgICogQHNjaGVtYSBDZm5Qcm9qZWN0SXBBY2Nlc3NMaXN0UHJvcHMjUHJvZmlsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogQHNjaGVtYSBDZm5Qcm9qZWN0SXBBY2Nlc3NMaXN0UHJvcHMjTGlzdE9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGxpc3RPcHRpb25zPzogTGlzdE9wdGlvbnM7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ0NmblByb2plY3RJcEFjY2Vzc0xpc3RQcm9wcycgdG8gSlNPTiByZXByZXNlbnRhdGlvbi5cbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb25fQ2ZuUHJvamVjdElwQWNjZXNzTGlzdFByb3BzKFxuICBvYmo6IENmblByb2plY3RJcEFjY2Vzc0xpc3RQcm9wcyB8IHVuZGVmaW5lZFxuKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIEFjY2Vzc0xpc3Q6IG9iai5hY2Nlc3NMaXN0Py5tYXAoKHkpID0+IHRvSnNvbl9BY2Nlc3NMaXN0RGVmaW5pdGlvbih5KSksXG4gICAgUHJvamVjdElkOiBvYmoucHJvamVjdElkLFxuICAgIFByb2ZpbGU6IG9iai5wcm9maWxlLFxuICAgIExpc3RPcHRpb25zOiB0b0pzb25fTGlzdE9wdGlvbnMob2JqLmxpc3RPcHRpb25zKSxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKFxuICAgIChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkID8gciA6IHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLFxuICAgIHt9XG4gICk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogQHNjaGVtYSBhY2Nlc3NMaXN0RGVmaW5pdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjY2Vzc0xpc3REZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIERhdGUgYW5kIHRpbWUgYWZ0ZXIgd2hpY2ggTW9uZ29EQiBDbG91ZCBkZWxldGVzIHRoZSB0ZW1wb3JhcnkgYWNjZXNzIGxpc3QgZW50cnkuIFRoaXMgcGFyYW1ldGVyIGV4cHJlc3NlcyBpdHMgdmFsdWUgaW4gdGhlIElTTyA4NjAxIHRpbWVzdGFtcCBmb3JtYXQgaW4gVVRDIGFuZCBjYW4gaW5jbHVkZSB0aGUgdGltZSB6b25lIGRlc2lnbmF0aW9uLiBUaGUgZGF0ZSBtdXN0IGJlIGxhdGVyIHRoYW4gdGhlIGN1cnJlbnQgZGF0ZSBidXQgbm8gbGF0ZXIgdGhhbiBvbmUgd2VlayBhZnRlciB5b3Ugc3VibWl0IHRoaXMgcmVxdWVzdC4gVGhlIHJlc291cmNlIHJldHVybnMgdGhpcyBwYXJhbWV0ZXIgaWYgeW91IHNwZWNpZmllZCBhbiBleHBpcmF0aW9uIGRhdGUgd2hlbiBjcmVhdGluZyB0aGlzIElQIGFjY2VzcyBsaXN0IGVudHJ5LlxuICAgKlxuICAgKiBAc2NoZW1hIGFjY2Vzc0xpc3REZWZpbml0aW9uI0RlbGV0ZUFmdGVyRGF0ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlQWZ0ZXJEYXRlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVbmlxdWUgc3RyaW5nIG9mIHRoZSBBbWF6b24gV2ViIFNlcnZpY2VzIChBV1MpIHNlY3VyaXR5IGdyb3VwIHRoYXQgeW91IHdhbnQgdG8gYWRkIHRvIHRoZSBwcm9qZWN0J3MgSVAgYWNjZXNzIGxpc3QuIFlvdXIgSVAgYWNjZXNzIGxpc3QgZW50cnkgY2FuIGJlIG9uZSBhd3NTZWN1cml0eUdyb3VwLCBvbmUgY2lkckJsb2NrLCBvciBvbmUgaXBBZGRyZXNzLiBZb3UgbXVzdCBjb25maWd1cmUgVmlydHVhbCBQcml2YXRlIENvbm5lY3Rpb24gKFZQQykgcGVlcmluZyBmb3IgeW91ciBwcm9qZWN0IGJlZm9yZSB5b3UgY2FuIGFkZCBhbiBBV1Mgc2VjdXJpdHkgZ3JvdXAgdG8gYW4gSVAgYWNjZXNzIGxpc3QuIFlvdSBjYW5ub3Qgc2V0IEFXUyBzZWN1cml0eSBncm91cHMgYXMgdGVtcG9yYXJ5IGFjY2VzcyBsaXN0IGVudHJpZXMuIERvbid0IHNldCB0aGlzIHBhcmFtZXRlciBpZiB5b3Ugc2V0IGNpZHJCbG9jayBvciBpcEFkZHJlc3MuXG4gICAqXG4gICAqIEBzY2hlbWEgYWNjZXNzTGlzdERlZmluaXRpb24jQXdzU2VjdXJpdHlHcm91cFxuICAgKi9cbiAgcmVhZG9ubHkgYXdzU2VjdXJpdHlHcm91cD86IHN0cmluZztcblxuICAvKipcbiAgICogUmFuZ2Ugb2YgSVAgYWRkcmVzc2VzIGluIENsYXNzbGVzcyBJbnRlci1Eb21haW4gUm91dGluZyAoQ0lEUikgbm90YXRpb24gdGhhdCB5b3Ugd2FudCB0byBhZGQgdG8gdGhlIHByb2plY3QncyBJUCBhY2Nlc3MgbGlzdC4gWW91ciBJUCBhY2Nlc3MgbGlzdCBlbnRyeSBjYW4gYmUgb25lIGF3c1NlY3VyaXR5R3JvdXAsIG9uZSBjaWRyQmxvY2ssIG9yIG9uZSBpcEFkZHJlc3MuIERvbid0IHNldCB0aGlzIHBhcmFtZXRlciBpZiB5b3Ugc2V0IGF3c1NlY3VyaXR5R3JvdXAgb3IgaXBBZGRyZXNzXG4gICAqXG4gICAqIEBzY2hlbWEgYWNjZXNzTGlzdERlZmluaXRpb24jQ0lEUkJsb2NrXG4gICAqL1xuICByZWFkb25seSBjaWRyQmxvY2s/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlbWFyayB0aGF0IGV4cGxhaW5zIHRoZSBwdXJwb3NlIG9yIHNjb3BlIG9mIHRoaXMgSVAgYWNjZXNzIGxpc3QgZW50cnkuXG4gICAqXG4gICAqIEBzY2hlbWEgYWNjZXNzTGlzdERlZmluaXRpb24jQ29tbWVudFxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWVudD86IHN0cmluZztcblxuICAvKipcbiAgICogSVAgYWRkcmVzcyB0aGF0IHlvdSB3YW50IHRvIGFkZCB0byB0aGUgcHJvamVjdCdzIElQIGFjY2VzcyBsaXN0LiBZb3VyIElQIGFjY2VzcyBsaXN0IGVudHJ5IGNhbiBiZSBvbmUgYXdzU2VjdXJpdHlHcm91cCwgb25lIGNpZHJCbG9jaywgb3Igb25lIGlwQWRkcmVzcy4gRG9uJ3Qgc2V0IHRoaXMgcGFyYW1ldGVyIGlmIHlvdSBzZXQgYXdzU2VjdXJpdHlHcm91cCBvciBjaWRyQmxvY2suXG4gICAqXG4gICAqIEBzY2hlbWEgYWNjZXNzTGlzdERlZmluaXRpb24jSVBBZGRyZXNzXG4gICAqL1xuICByZWFkb25seSBpcEFkZHJlc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVuaXF1ZSAyNC1oZXhhZGVjaW1hbCBkaWdpdCBzdHJpbmcgdGhhdCBpZGVudGlmaWVzIHlvdXIgcHJvamVjdC5cbiAgICpcbiAgICogQHNjaGVtYSBhY2Nlc3NMaXN0RGVmaW5pdGlvbiNQcm9qZWN0SWRcbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3RJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnQWNjZXNzTGlzdERlZmluaXRpb24nIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX0FjY2Vzc0xpc3REZWZpbml0aW9uKFxuICBvYmo6IEFjY2Vzc0xpc3REZWZpbml0aW9uIHwgdW5kZWZpbmVkXG4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgRGVsZXRlQWZ0ZXJEYXRlOiBvYmouZGVsZXRlQWZ0ZXJEYXRlLFxuICAgIEF3c1NlY3VyaXR5R3JvdXA6IG9iai5hd3NTZWN1cml0eUdyb3VwLFxuICAgIENJRFJCbG9jazogb2JqLmNpZHJCbG9jayxcbiAgICBDb21tZW50OiBvYmouY29tbWVudCxcbiAgICBJUEFkZHJlc3M6IG9iai5pcEFkZHJlc3MsXG4gICAgUHJvamVjdElkOiBvYmoucHJvamVjdElkLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoXG4gICAgKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQgPyByIDogeyAuLi5yLCBbaVswXV06IGlbMV0gfSksXG4gICAge31cbiAgKTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBAc2NoZW1hIGxpc3RPcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE9wdGlvbnMge1xuICAvKipcbiAgICogTnVtYmVyIG9mIHRoZSBwYWdlIHRoYXQgZGlzcGxheXMgdGhlIGN1cnJlbnQgc2V0IG9mIHRoZSB0b3RhbCBvYmplY3RzIHRoYXQgdGhlIHJlc3BvbnNlIHJldHVybnMuXG4gICAqXG4gICAqIEBzY2hlbWEgbGlzdE9wdGlvbnMjUGFnZU51bVxuICAgKi9cbiAgcmVhZG9ubHkgcGFnZU51bT86IG51bWJlcjtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGl0ZW1zIHRoYXQgdGhlIHJlc3BvbnNlIHJldHVybnMgcGVyIHBhZ2UuXG4gICAqXG4gICAqIEBzY2hlbWEgbGlzdE9wdGlvbnMjSXRlbXNQZXJQYWdlXG4gICAqL1xuICByZWFkb25seSBpdGVtc1BlclBhZ2U/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEZsYWcgdGhhdCBpbmRpY2F0ZXMgd2hldGhlciB0aGUgcmVzcG9uc2UgcmV0dXJucyB0aGUgdG90YWwgbnVtYmVyIG9mIGl0ZW1zICh0b3RhbENvdW50KSBpbiB0aGUgcmVzcG9uc2UuXG4gICAqXG4gICAqIEBzY2hlbWEgbGlzdE9wdGlvbnMjSW5jbHVkZUNvdW50XG4gICAqL1xuICByZWFkb25seSBpbmNsdWRlQ291bnQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdMaXN0T3B0aW9ucycgdG8gSlNPTiByZXByZXNlbnRhdGlvbi5cbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb25fTGlzdE9wdGlvbnMoXG4gIG9iajogTGlzdE9wdGlvbnMgfCB1bmRlZmluZWRcbik6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICBQYWdlTnVtOiBvYmoucGFnZU51bSxcbiAgICBJdGVtc1BlclBhZ2U6IG9iai5pdGVtc1BlclBhZ2UsXG4gICAgSW5jbHVkZUNvdW50OiBvYmouaW5jbHVkZUNvdW50LFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoXG4gICAgKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQgPyByIDogeyAuLi5yLCBbaVswXV06IGlbMV0gfSksXG4gICAge31cbiAgKTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBBIENsb3VkRm9ybWF0aW9uIGBNb25nb0RCOjpBdGxhczo6UHJvamVjdElwQWNjZXNzTGlzdGBcbiAqXG4gKiBAY2xvdWRmb3JtYXRpb25SZXNvdXJjZSBNb25nb0RCOjpBdGxhczo6UHJvamVjdElwQWNjZXNzTGlzdFxuICogQHN0YWJpbGl0eSBleHRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgQ2ZuUHJvamVjdElwQWNjZXNzTGlzdCBleHRlbmRzIGNkay5DZm5SZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgdHlwZSBuYW1lIGZvciB0aGlzIHJlc291cmNlIGNsYXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDRk5fUkVTT1VSQ0VfVFlQRV9OQU1FID1cbiAgICBcIk1vbmdvREI6OkF0bGFzOjpQcm9qZWN0SXBBY2Nlc3NMaXN0XCI7XG5cbiAgLyoqXG4gICAqIFJlc291cmNlIHByb3BzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBDZm5Qcm9qZWN0SXBBY2Nlc3NMaXN0UHJvcHM7XG5cbiAgLyoqXG4gICAqIEF0dHJpYnV0ZSBgTW9uZ29EQjo6QXRsYXM6OlByb2plY3RJcEFjY2Vzc0xpc3QuVG90YWxDb3VudGBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhdHRyVG90YWxDb3VudDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgYE1vbmdvREI6OkF0bGFzOjpQcm9qZWN0SXBBY2Nlc3NMaXN0YC5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gc2NvcGUgaW4gd2hpY2ggdGhpcyByZXNvdXJjZSBpcyBkZWZpbmVkXG4gICAqIEBwYXJhbSBpZCAgICAtIHNjb3BlZCBpZCBvZiB0aGUgcmVzb3VyY2VcbiAgICogQHBhcmFtIHByb3BzIC0gcmVzb3VyY2UgcHJvcGVydGllc1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IENmblByb2plY3RJcEFjY2Vzc0xpc3RQcm9wc1xuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHR5cGU6IENmblByb2plY3RJcEFjY2Vzc0xpc3QuQ0ZOX1JFU09VUkNFX1RZUEVfTkFNRSxcbiAgICAgIHByb3BlcnRpZXM6IHRvSnNvbl9DZm5Qcm9qZWN0SXBBY2Nlc3NMaXN0UHJvcHMocHJvcHMpISxcbiAgICB9KTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIHRoaXMuYXR0clRvdGFsQ291bnQgPSBjZGsuVG9rZW4uYXNOdW1iZXIodGhpcy5nZXRBdHQoXCJUb3RhbENvdW50XCIpKTtcbiAgfVxufVxuIl19
;