UNPKG

awscdk-resources-mongodbatlas

Version:

MongoDB Atlas CDK Construct Library for AWS CloudFormation Resources

82 lines 12.7 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.AtlasBasicPrivateEndpoint = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); // Copyright 2023 MongoDB Inc // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. const ec2 = require("aws-cdk-lib/aws-ec2"); const constructs_1 = require("constructs"); const index_1 = require("../../index"); const atlas_basic_1 = require("../atlas-basic"); /** @type {*} */ const privateEndpointDefaults = { region: "us-east-1", vpcEndpointType: "Interface", cloudProvider: "AWS", }; /** * @description * @export * @class AtlasBasicPrivateEndpoint * @extends {Construct} */ class AtlasBasicPrivateEndpoint extends constructs_1.Construct { /** * Creates an instance of AtlasBasicPrivateEndpoint. * @param {Construct} scope * @param {string} id * @param {AtlasBasicPrivateEndpointProps} props * @memberof AtlasBasicPrivateEndpoint */ constructor(scope, id, props) { super(scope, id); validate(props); // Validation for atlas basic would be delegated to the library this.atlasBasic = new atlas_basic_1.AtlasBasic(this, "atlas-basic-".concat(id), { profile: props.profile, ...props.atlasBasicProps, }); const region = props.region || privateEndpointDefaults.region; this.privateEndpointService = new index_1.CfnPrivateEndpointService(this, "atlas-private-endpoint-service-".concat(id), { profile: props.profile, projectId: this.atlasBasic.mProject.attrId, region: region.toUpperCase().replace(/-/g, "_"), cloudProvider: index_1.CfnPrivateEndpointServicePropsCloudProvider.AWS, }); this.awsPrivateEndpoint = new ec2.CfnVPCEndpoint(this, "aws-private-endpoint-service-".concat(id), { serviceName: this.privateEndpointService.attrEndpointServiceName, subnetIds: [props.privateEndpointProps.awsSubnetId], vpcEndpointType: privateEndpointDefaults.vpcEndpointType, vpcId: props.privateEndpointProps.awsVpcId, }); this.awsPrivateEndpoint.addDependency(this.privateEndpointService); this.privateEndpointAws = new index_1.CfnPrivateEndpointAws(this, "atlas-private-endpoint-".concat(id), { profile: props.profile, projectId: this.atlasBasic.mProject.attrId, endpointServiceId: this.privateEndpointService.attrId, id: this.awsPrivateEndpoint.ref, }); this.privateEndpointAws.addDependency(this.awsPrivateEndpoint); } } exports.AtlasBasicPrivateEndpoint = AtlasBasicPrivateEndpoint; _a = JSII_RTTI_SYMBOL_1; AtlasBasicPrivateEndpoint[_a] = { fqn: "awscdk-resources-mongodbatlas.AtlasBasicPrivateEndpoint", version: "3.13.1" }; const validate = (props) => { if (!props.atlasBasicProps.projectProps.orgId) { throw Error("Validation error: orgId is not defined"); } }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbDMtcmVzb3VyY2VzL2F0bGFzLWJhc2ljLXByaXZhdGUtZW5kcG9pbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IsRUFBRTtBQUNGLGtFQUFrRTtBQUNsRSxtRUFBbUU7QUFDbkUsMENBQTBDO0FBQzFDLEVBQUU7QUFDRixrREFBa0Q7QUFDbEQsRUFBRTtBQUNGLHNFQUFzRTtBQUN0RSxvRUFBb0U7QUFDcEUsMkVBQTJFO0FBQzNFLHNFQUFzRTtBQUN0RSxpQ0FBaUM7QUFFakMsMkNBQTJDO0FBQzNDLDJDQUF1QztBQUN2Qyx1Q0FJcUI7QUFDckIsZ0RBQTRDO0FBRzVDLGdCQUFnQjtBQUNoQixNQUFNLHVCQUF1QixHQUFHO0lBQzlCLE1BQU0sRUFBRSxXQUFXO0lBQ25CLGVBQWUsRUFBRSxXQUFXO0lBQzVCLGFBQWEsRUFBRSxLQUFLO0NBQ3JCLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILE1BQWEseUJBQTBCLFNBQVEsc0JBQVM7SUFNdEQ7Ozs7OztPQU1HO0lBQ0gsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBcUM7UUFFckMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEIsK0RBQStEO1FBQy9ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSx3QkFBVSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ2hFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixHQUFHLEtBQUssQ0FBQyxlQUFlO1NBQ3pCLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksdUJBQXVCLENBQUMsTUFBTSxDQUFDO1FBRTlELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLGlDQUF5QixDQUN6RCxJQUFJLEVBQ0osaUNBQWlDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUM1QztZQUNFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTTtZQUMxQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDO1lBQy9DLGFBQWEsRUFBRSxtREFBMkMsQ0FBQyxHQUFHO1NBQy9ELENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQzlDLElBQUksRUFDSiwrQkFBK0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQzFDO1lBQ0UsV0FBVyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUI7WUFDaEUsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQztZQUNuRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsZUFBZTtZQUN4RCxLQUFLLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLFFBQVE7U0FDM0MsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUVuRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSw2QkFBcUIsQ0FDakQsSUFBSSxFQUNKLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFDcEM7WUFDRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU07WUFDMUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU07WUFDckQsRUFBRSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHO1NBQ2hDLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDakUsQ0FBQzs7QUFoRUgsOERBaUVDOzs7QUFFRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQXFDLEVBQUUsRUFBRTtJQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUMsTUFBTSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjMgTW9uZ29EQiBJbmNcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuLy8geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuLy8gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4vL1xuLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbi8vXG4vLyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4vLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4vLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbi8vIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbi8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG5pbXBvcnQgKiBhcyBlYzIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBDZm5Qcml2YXRlRW5kcG9pbnRBd3MsXG4gIENmblByaXZhdGVFbmRwb2ludFNlcnZpY2UsXG4gIENmblByaXZhdGVFbmRwb2ludFNlcnZpY2VQcm9wc0Nsb3VkUHJvdmlkZXIsXG59IGZyb20gXCIuLi8uLi9pbmRleFwiO1xuaW1wb3J0IHsgQXRsYXNCYXNpYyB9IGZyb20gXCIuLi9hdGxhcy1iYXNpY1wiO1xuaW1wb3J0IHsgQXRsYXNCYXNpY1Byb3BzIH0gZnJvbSBcIi4uL2NvbW1vbi9wcm9wc1wiO1xuXG4vKiogQHR5cGUgeyp9ICovXG5jb25zdCBwcml2YXRlRW5kcG9pbnREZWZhdWx0cyA9IHtcbiAgcmVnaW9uOiBcInVzLWVhc3QtMVwiLFxuICB2cGNFbmRwb2ludFR5cGU6IFwiSW50ZXJmYWNlXCIsXG4gIGNsb3VkUHJvdmlkZXI6IFwiQVdTXCIsXG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogQGV4cG9ydFxuICogQGNsYXNzIEF0bGFzQmFzaWNQcml2YXRlRW5kcG9pbnRcbiAqIEBleHRlbmRzIHtDb25zdHJ1Y3R9XG4gKi9cbmV4cG9ydCBjbGFzcyBBdGxhc0Jhc2ljUHJpdmF0ZUVuZHBvaW50IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgYXRsYXNCYXNpYzogQXRsYXNCYXNpYztcbiAgcmVhZG9ubHkgcHJpdmF0ZUVuZHBvaW50U2VydmljZTogQ2ZuUHJpdmF0ZUVuZHBvaW50U2VydmljZTtcbiAgcmVhZG9ubHkgYXdzUHJpdmF0ZUVuZHBvaW50OiBlYzIuQ2ZuVlBDRW5kcG9pbnQ7XG4gIHJlYWRvbmx5IHByaXZhdGVFbmRwb2ludEF3czogQ2ZuUHJpdmF0ZUVuZHBvaW50QXdzO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIEF0bGFzQmFzaWNQcml2YXRlRW5kcG9pbnQuXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0fSBzY29wZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWRcbiAgICogQHBhcmFtIHtBdGxhc0Jhc2ljUHJpdmF0ZUVuZHBvaW50UHJvcHN9IHByb3BzXG4gICAqIEBtZW1iZXJvZiBBdGxhc0Jhc2ljUHJpdmF0ZUVuZHBvaW50XG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEF0bGFzQmFzaWNQcml2YXRlRW5kcG9pbnRQcm9wc1xuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHZhbGlkYXRlKHByb3BzKTtcbiAgICAvLyBWYWxpZGF0aW9uIGZvciBhdGxhcyBiYXNpYyB3b3VsZCBiZSBkZWxlZ2F0ZWQgdG8gdGhlIGxpYnJhcnlcbiAgICB0aGlzLmF0bGFzQmFzaWMgPSBuZXcgQXRsYXNCYXNpYyh0aGlzLCBcImF0bGFzLWJhc2ljLVwiLmNvbmNhdChpZCksIHtcbiAgICAgIHByb2ZpbGU6IHByb3BzLnByb2ZpbGUsXG4gICAgICAuLi5wcm9wcy5hdGxhc0Jhc2ljUHJvcHMsXG4gICAgfSk7XG5cbiAgICBjb25zdCByZWdpb24gPSBwcm9wcy5yZWdpb24gfHwgcHJpdmF0ZUVuZHBvaW50RGVmYXVsdHMucmVnaW9uO1xuXG4gICAgdGhpcy5wcml2YXRlRW5kcG9pbnRTZXJ2aWNlID0gbmV3IENmblByaXZhdGVFbmRwb2ludFNlcnZpY2UoXG4gICAgICB0aGlzLFxuICAgICAgXCJhdGxhcy1wcml2YXRlLWVuZHBvaW50LXNlcnZpY2UtXCIuY29uY2F0KGlkKSxcbiAgICAgIHtcbiAgICAgICAgcHJvZmlsZTogcHJvcHMucHJvZmlsZSxcbiAgICAgICAgcHJvamVjdElkOiB0aGlzLmF0bGFzQmFzaWMubVByb2plY3QuYXR0cklkLFxuICAgICAgICByZWdpb246IHJlZ2lvbi50b1VwcGVyQ2FzZSgpLnJlcGxhY2UoLy0vZywgXCJfXCIpLFxuICAgICAgICBjbG91ZFByb3ZpZGVyOiBDZm5Qcml2YXRlRW5kcG9pbnRTZXJ2aWNlUHJvcHNDbG91ZFByb3ZpZGVyLkFXUyxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5hd3NQcml2YXRlRW5kcG9pbnQgPSBuZXcgZWMyLkNmblZQQ0VuZHBvaW50KFxuICAgICAgdGhpcyxcbiAgICAgIFwiYXdzLXByaXZhdGUtZW5kcG9pbnQtc2VydmljZS1cIi5jb25jYXQoaWQpLFxuICAgICAge1xuICAgICAgICBzZXJ2aWNlTmFtZTogdGhpcy5wcml2YXRlRW5kcG9pbnRTZXJ2aWNlLmF0dHJFbmRwb2ludFNlcnZpY2VOYW1lLFxuICAgICAgICBzdWJuZXRJZHM6IFtwcm9wcy5wcml2YXRlRW5kcG9pbnRQcm9wcy5hd3NTdWJuZXRJZF0sXG4gICAgICAgIHZwY0VuZHBvaW50VHlwZTogcHJpdmF0ZUVuZHBvaW50RGVmYXVsdHMudnBjRW5kcG9pbnRUeXBlLFxuICAgICAgICB2cGNJZDogcHJvcHMucHJpdmF0ZUVuZHBvaW50UHJvcHMuYXdzVnBjSWQsXG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuYXdzUHJpdmF0ZUVuZHBvaW50LmFkZERlcGVuZGVuY3kodGhpcy5wcml2YXRlRW5kcG9pbnRTZXJ2aWNlKTtcblxuICAgIHRoaXMucHJpdmF0ZUVuZHBvaW50QXdzID0gbmV3IENmblByaXZhdGVFbmRwb2ludEF3cyhcbiAgICAgIHRoaXMsXG4gICAgICBcImF0bGFzLXByaXZhdGUtZW5kcG9pbnQtXCIuY29uY2F0KGlkKSxcbiAgICAgIHtcbiAgICAgICAgcHJvZmlsZTogcHJvcHMucHJvZmlsZSxcbiAgICAgICAgcHJvamVjdElkOiB0aGlzLmF0bGFzQmFzaWMubVByb2plY3QuYXR0cklkLFxuICAgICAgICBlbmRwb2ludFNlcnZpY2VJZDogdGhpcy5wcml2YXRlRW5kcG9pbnRTZXJ2aWNlLmF0dHJJZCxcbiAgICAgICAgaWQ6IHRoaXMuYXdzUHJpdmF0ZUVuZHBvaW50LnJlZixcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5wcml2YXRlRW5kcG9pbnRBd3MuYWRkRGVwZW5kZW5jeSh0aGlzLmF3c1ByaXZhdGVFbmRwb2ludCk7XG4gIH1cbn1cblxuY29uc3QgdmFsaWRhdGUgPSAocHJvcHM6IEF0bGFzQmFzaWNQcml2YXRlRW5kcG9pbnRQcm9wcykgPT4ge1xuICBpZiAoIXByb3BzLmF0bGFzQmFzaWNQcm9wcy5wcm9qZWN0UHJvcHMub3JnSWQpIHtcbiAgICB0aHJvdyBFcnJvcihcIlZhbGlkYXRpb24gZXJyb3I6IG9yZ0lkIGlzIG5vdCBkZWZpbmVkXCIpO1xuICB9XG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogQGV4cG9ydFxuICogQGludGVyZmFjZSBBdGxhc0Jhc2ljUHJpdmF0ZUVuZHBvaW50UHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdGxhc0Jhc2ljUHJpdmF0ZUVuZHBvaW50UHJvcHMge1xuICByZWFkb25seSBwcm9maWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQVdTIFJlZ2lvblxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCB1cy1lYXN0LTFcbiAgICogQG1lbWJlcm9mIEF0bGFzUHJpdmF0ZUVuZHBvaW50UHJvcHNcbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBAdHlwZSB7QXRsYXNCYXNpY1Byb3BzfVxuICAgKiBAbWVtYmVyb2YgQXRsYXNQcml2YXRlRW5kcG9pbnRQcm9wc1xuICAgKi9cbiAgcmVhZG9ubHkgYXRsYXNCYXNpY1Byb3BzOiBBdGxhc0Jhc2ljUHJvcHM7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQHR5cGUge0NmblByaXZhdGVFbmRwb2ludFByb3BzfVxuICAgKiBAbWVtYmVyb2YgQXRsYXNQcml2YXRlRW5kcG9pbnRQcm9wc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUVuZHBvaW50UHJvcHM6IFByaXZhdGVFbmRwb2ludFByb3BzO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogQGV4cG9ydFxuICogQGludGVyZmFjZSBQcml2YXRlRW5kcG9pbnRQcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFByaXZhdGVFbmRwb2ludFByb3BzIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBBV1MgVlBDIElEIChsaWtlOiB2cGMteHh4eHh4eHh4eHh4eHh4eCkgKFVzZWQgRm9yIENyZWF0aW5nIHRoZSBBV1MgVlBDIEVuZHBvaW50KVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgUHJpdmF0ZUVuZHBvaW50UHJvcHNcbiAgICovXG4gIHJlYWRvbmx5IGF3c1ZwY0lkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQVdTIFZQQyBTdWJuZXQgSUQgKGxpa2U6IHN1Ym5ldC14eHh4eHh4eHh4eHh4eHh4eCkgKFVzZWQgRm9yIENyZWF0aW5nIHRoZSBBV1MgVlBDIEVuZHBvaW50KVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgUHJpdmF0ZUVuZHBvaW50UHJvcHNcbiAgICovXG4gIHJlYWRvbmx5IGF3c1N1Ym5ldElkOiBzdHJpbmc7XG59XG4iXX0=