@aws-solutions-constructs/aws-route53-apigateway 2.32.0 → 2.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +5 -5
- package/lib/index.js +1 -1
- package/package.json +6 -6
- package/test/integ.dummyTest.js +3 -3
- package/test/test.route53-apigateway.test.js +15 -15
package/.jsii
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
"url": "https://aws.amazon.com"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@aws-solutions-constructs/core": "2.
|
|
12
|
-
"aws-cdk-lib": "^2.
|
|
11
|
+
"@aws-solutions-constructs/core": "2.33.0",
|
|
12
|
+
"aws-cdk-lib": "^2.67.0",
|
|
13
13
|
"constructs": "^10.0.0"
|
|
14
14
|
},
|
|
15
15
|
"dependencyClosure": {
|
|
@@ -3371,7 +3371,7 @@
|
|
|
3371
3371
|
},
|
|
3372
3372
|
"description": "CDK constructs for connecting an Amazon Route53 domain to an API Gateway.",
|
|
3373
3373
|
"homepage": "https://github.com/awslabs/aws-solutions-constructs.git",
|
|
3374
|
-
"jsiiVersion": "1.
|
|
3374
|
+
"jsiiVersion": "1.76.0 (build a2651be)",
|
|
3375
3375
|
"keywords": [
|
|
3376
3376
|
"aws",
|
|
3377
3377
|
"cdk",
|
|
@@ -3649,6 +3649,6 @@
|
|
|
3649
3649
|
"symbolId": "lib/index:Route53ToApiGatewayProps"
|
|
3650
3650
|
}
|
|
3651
3651
|
},
|
|
3652
|
-
"version": "2.
|
|
3653
|
-
"fingerprint": "
|
|
3652
|
+
"version": "2.33.0",
|
|
3653
|
+
"fingerprint": "CwZlbUCDZRYx60vNximLsg+K5PAoKWTUj1xXFsWcPDY="
|
|
3654
3654
|
}
|
package/lib/index.js
CHANGED
|
@@ -74,5 +74,5 @@ class Route53ToApiGateway extends constructs_1.Construct {
|
|
|
74
74
|
}
|
|
75
75
|
exports.Route53ToApiGateway = Route53ToApiGateway;
|
|
76
76
|
_a = JSII_RTTI_SYMBOL_1;
|
|
77
|
-
Route53ToApiGateway[_a] = { fqn: "@aws-solutions-constructs/aws-route53-apigateway.Route53ToApiGateway", version: "2.
|
|
77
|
+
Route53ToApiGateway[_a] = { fqn: "@aws-solutions-constructs/aws-route53-apigateway.Route53ToApiGateway", version: "2.33.0" };
|
|
78
78
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWVBLG1EQUFtRDtBQUNuRCwyREFBMkQ7QUFFM0QsMkRBQTJEO0FBRTNELHdGQUF3RjtBQUN4RiwyQ0FBdUM7QUErQ3ZDOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxzQkFBUztJQUtoRDs7Ozs7OztPQU9HO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUErQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsNEJBQTRCLENBQUM7UUFFdEQsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztTQUM5QjtRQUVELHlDQUF5QztRQUN6QyxJQUFJLEtBQUssQ0FBQywyQkFBMkIsRUFBRTtZQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQywyQkFBMkIsQ0FBQztZQUVwRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7Z0JBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQzthQUN2RjtZQUNELElBQUksS0FBSyxDQUFDLHNCQUFzQixFQUFFO2dCQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLDBGQUEwRixDQUFDLENBQUM7YUFDN0c7U0FDRjthQUFNLEVBQUUsaUNBQWlDO1lBQ3hDLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQywwRUFBMEUsQ0FBQyxDQUFDO2FBQzdGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUU7b0JBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEVBQTRFLENBQUMsQ0FBQztpQkFDL0Y7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFO29CQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLG9GQUFvRixDQUFDLENBQUM7aUJBQ3ZHO2dCQUNELElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFO29CQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7aUJBQ3hFO2dCQUNELElBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFHO29CQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsaUZBQWlGLENBQUMsQ0FBQztpQkFDcEc7Z0JBQ0QsTUFBTSxpQkFBaUIsR0FBbUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ2xJLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQzthQUN4RjtTQUNGO1FBRUQsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLDJCQUEwQyxDQUFDO1FBRW5FLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRTtZQUNoRCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRO1lBQ3BDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDLENBQUM7UUFFSCxtRUFBbUU7UUFDbkUsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRTtZQUNuRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDaEYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFwRUgsa0RBcUVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8gSW1wb3J0c1xuaW1wb3J0ICogYXMgYXBpIGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5JztcbmltcG9ydCAqIGFzIHJvdXRlNTMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzLXRhcmdldHMnO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcbmltcG9ydCAqIGFzIGNlcnRpZmljYXRlbWFuYWdlciBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyJztcbi8vIE5vdGU6IFRvIGVuc3VyZSBDREt2MiBjb21wYXRpYmlsaXR5LCBrZWVwIHRoZSBpbXBvcnQgc3RhdGVtZW50IGZvciBDb25zdHJ1Y3Qgc2VwYXJhdGVcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFRoZSBwcm9wZXJ0aWVzIGZvciB0aGUgUm91dGU1M1RvQXBpR2F0ZXdheSBjbGFzcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSb3V0ZTUzVG9BcGlHYXRld2F5UHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciB0byBjcmVhdGUgYSBwdWJsaWMgb3IgcHJpdmF0ZSBBUEkuIFRoaXMgdmFsdWUgaGFzIGltcGxpY2F0aW9uc1xuICAgKiBmb3IgdGhlIFZQQywgdGhlIHR5cGUgb2YgSG9zdGVkIFpvbmUgYW5kIHRoZSBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBcGk6IGJvb2xlYW5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGN1c3RvbSBwcm9wZXJ0aWVzIGZvciBhIG5ldyBQcml2YXRlIEhvc3RlZCBab25lLiBDYW5ub3QgYmUgc3BlY2lmaWVkIGZvciBhXG4gICAqIHB1YmxpYyBBUEkuIENhbm5vdCBzcGVjaWZ5IGEgVlBDLCBpdCB3aWxsIHVzZSB0aGUgVlBDIGluIGV4aXN0aW5nVnBjIG9yIHRoZSBWUEMgY3JlYXRlZCBieSB0aGUgY29uc3RydWN0LlxuICAgKiBQcm92aWRpbmcgYm90aCB0aGlzIGFuZCBleGlzdGluZ0hvc3RlZFpvbmVJbnRlcmZhY2UgaXMgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUhvc3RlZFpvbmVQcm9wcz86IHJvdXRlNTMuUHJpdmF0ZUhvc3RlZFpvbmVQcm9wcyB8IGFueSxcbiAgLyoqXG4gICAqIEV4aXN0aW5nIFB1YmxpYyBvciBQcml2YXRlIEhvc3RlZCBab25lLiBJZiBhIFByaXZhdGUgSG9zdGVkIFpvbmUsIG11c3RcbiAgICogZXhpc3QgaW4gdGhlIHNhbWUgVlBDIHNwZWNpZmllZCBpbiBleGlzdGluZ1ZwY1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZT86IHJvdXRlNTMuSUhvc3RlZFpvbmUsXG4gIC8qKlxuICAgKiBBbiBleGlzdGluZyBWUEMuIElmIGFuIGV4aXN0aW5nIFByaXZhdGUgSG9zdGVkIFpvbmUgaXMgcHJvdmlkZWQsXG4gICAqIHRoaXMgdmFsdWUgbXVzdCBiZSB0aGUgVlBDIGFzc29jaWF0ZWQgd2l0aCB0aG9zZSByZXNvdXJjZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhpc3RpbmdWcGM/OiBlYzIuSVZwYyxcbiAgLyoqXG4gICAqIFRoZSBleGlzdGluZyBBUEkgR2F0ZXdheSBpbnN0YW5jZSB0aGF0IHdpbGwgYmUgcHJvdGVjdGVkIHdpdGggdGhlIFJvdXRlIDUzIGhvc3RlZCB6b25lLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nQXBpR2F0ZXdheUludGVyZmFjZTogYXBpLklSZXN0QXBpLFxuICAvKipcbiAgICogQW4gZXhpc3RpbmcgQVdTIENlcnRpZmljYXRlIE1hbmFnZXIgY2VydGlmaWNhdGUgZm9yIHlvdXIgY3VzdG9tIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAZGVmdWFsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nQ2VydGlmaWNhdGVJbnRlcmZhY2U6IGNlcnRpZmljYXRlbWFuYWdlci5JQ2VydGlmaWNhdGU7XG59XG5cbi8qKlxuICogQHN1bW1hcnkgVGhlIFJvdXRlNTNUb0FwaUdhdGV3YXkgY2xhc3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBSb3V0ZTUzVG9BcGlHYXRld2F5IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGhvc3RlZFpvbmU6IHJvdXRlNTMuSUhvc3RlZFpvbmU7XG4gIHB1YmxpYyByZWFkb25seSB2cGM/OiBlYzIuSVZwYztcbiAgcHVibGljIHJlYWRvbmx5IGFwaUdhdGV3YXk6IGFwaS5SZXN0QXBpO1xuICBwdWJsaWMgcmVhZG9ubHkgY2VydGlmaWNhdGU6IGNlcnRpZmljYXRlbWFuYWdlci5JQ2VydGlmaWNhdGU7XG4gIC8qKlxuICAgKiBAc3VtbWFyeSBDb25zdHJ1Y3RzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBSb3V0ZTUzVG9BcGlHYXRld2F5IGNsYXNzLlxuICAgKiBAcGFyYW0ge2Nkay5BcHB9IHNjb3BlIC0gcmVwcmVzZW50cyB0aGUgc2NvcGUgZm9yIGFsbCB0aGUgcmVzb3VyY2VzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWQgLSB0aGlzIGlzIGEgYSBzY29wZS11bmlxdWUgaWQuXG4gICAqIEBwYXJhbSB7Um91dGU1M1RvQXBpR2F0ZXdheVByb3BzfSBwcm9wcyAtIHVzZXIgcHJvdmlkZWQgcHJvcHMgZm9yIHRoZSBjb25zdHJ1Y3RcbiAgICogQHNpbmNlIDAuOC4wXG4gICAqIEBhY2Nlc3MgcHVibGljXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUm91dGU1M1RvQXBpR2F0ZXdheVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBkZWZhdWx0cy5DaGVja1Byb3BzKHByb3BzKTtcblxuICAgIHRoaXMuY2VydGlmaWNhdGUgPSBwcm9wcy5leGlzdGluZ0NlcnRpZmljYXRlSW50ZXJmYWNlO1xuXG4gICAgaWYgKHByb3BzLmV4aXN0aW5nVnBjKSB7XG4gICAgICB0aGlzLnZwYyA9IHByb3BzLmV4aXN0aW5nVnBjO1xuICAgIH1cblxuICAgIC8vIEV4aXN0aW5nIFB1YmxpYyBvciBQcml2YXRlIEhvc3RlZCBab25lXG4gICAgaWYgKHByb3BzLmV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZSkge1xuICAgICAgdGhpcy5ob3N0ZWRab25lID0gcHJvcHMuZXhpc3RpbmdIb3N0ZWRab25lSW50ZXJmYWNlO1xuXG4gICAgICBpZiAocHJvcHMuZXhpc3RpbmdWcGMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcHJvdmlkZSBhbiBleGlzdGluZyBWUEMgdG8gYW4gZXhpc3RpbmcgUHJpdmF0ZSBIb3N0ZWQgWm9uZS4nKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wcml2YXRlSG9zdGVkWm9uZVByb3BzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTXVzdCBwcm92aWRlIGVpdGhlciBleGlzdGluZ0hvc3RlZFpvbmVJbnRlcmZhY2Ugb3IgcHJpdmF0ZUhvc3RlZFpvbmVQcm9wcywgYnV0IG5vdCBib3RoLicpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7IC8vIENyZWF0aW5nIGEgUHJpdmF0ZSBIb3N0ZWQgWm9uZVxuICAgICAgaWYgKHByb3BzLnB1YmxpY0FwaSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1B1YmxpYyBBUElzIHJlcXVpcmUgYW4gZXhpc3RpbmdIb3N0ZWRab25lIGJlIHBhc3NlZCBpbiB0aGUgUHJvcHMgb2JqZWN0LicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFwcm9wcy5wcml2YXRlSG9zdGVkWm9uZVByb3BzKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNdXN0IHByb3ZpZGUgZWl0aGVyIGV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZSBvciBwcml2YXRlSG9zdGVkWm9uZVByb3BzLicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9wcy5wcml2YXRlSG9zdGVkWm9uZVByb3BzLnZwYykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQWxsIFZQQyBzcGVjcyBtdXN0IGJlIHByb3ZpZGVkIGF0IHRoZSBDb25zdHJ1Y3QgbGV2ZWwgaW4gUm91dGU1M1RvQXBpR2F0ZXdheVByb3BzLicpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcHJvcHMucHJpdmF0ZUhvc3RlZFpvbmVQcm9wcy56b25lTmFtZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTXVzdCBzdXBwbHkgem9uZU5hbWUgZm9yIFByaXZhdGUgSG9zdGVkIFpvbmUgUHJvcHMuJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCAhdGhpcy52cGMgKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNdXN0IHNwZWNpZnkgYW4gZXhpc3RpbmdWUEMgZm9yIHRoZSBQcml2YXRlIEhvc3RlZCBab25lIGluIHRoZSBjb25zdHJ1Y3QgcHJvcHMuJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWFudWZhY3R1cmVkUHJvcHM6IHJvdXRlNTMuUHJpdmF0ZUhvc3RlZFpvbmVQcm9wcyA9IGRlZmF1bHRzLm92ZXJyaWRlUHJvcHMocHJvcHMucHJpdmF0ZUhvc3RlZFpvbmVQcm9wcywgeyB2cGM6IHRoaXMudnBjIH0pO1xuICAgICAgICB0aGlzLmhvc3RlZFpvbmUgPSBuZXcgcm91dGU1My5Qcml2YXRlSG9zdGVkWm9uZSh0aGlzLCBgJHtpZH0tem9uZWAsIG1hbnVmYWN0dXJlZFByb3BzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb252ZXJ0IElSZXN0QXBpIHRvIFJlc3RBcGlcbiAgICB0aGlzLmFwaUdhdGV3YXkgPSBwcm9wcy5leGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2UgYXMgYXBpLlJlc3RBcGk7XG5cbiAgICAvLyBBZGQgY3VzdG9tIGRvbWFpbiBuYW1lIGluIEFQSSBHYXRld2F5XG4gICAgdGhpcy5hcGlHYXRld2F5LmFkZERvbWFpbk5hbWUoJ0N1c3RvbURvbWFpbk5hbWUnLCB7XG4gICAgICBkb21haW5OYW1lOiB0aGlzLmhvc3RlZFpvbmUuem9uZU5hbWUsXG4gICAgICBjZXJ0aWZpY2F0ZTogdGhpcy5jZXJ0aWZpY2F0ZVxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIEEgUmVjb3JkIGluIGN1c3RvbSBkb21haW4gdG8gcm91dGUgdHJhZmZpYyB0byBBUEkgR2F0ZXdheVxuICAgIG5ldyByb3V0ZTUzLkFSZWNvcmQodGhpcywgJ0N1c3RvbURvbWFpbkFsaWFzUmVjb3JkJywge1xuICAgICAgem9uZTogdGhpcy5ob3N0ZWRab25lLFxuICAgICAgdGFyZ2V0OiByb3V0ZTUzLlJlY29yZFRhcmdldC5mcm9tQWxpYXMobmV3IHRhcmdldHMuQXBpR2F0ZXdheSh0aGlzLmFwaUdhdGV3YXkpKVxuICAgIH0pO1xuICB9XG59Il19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-solutions-constructs/aws-route53-apigateway",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.33.0",
|
|
4
4
|
"description": "CDK constructs for connecting an Amazon Route53 domain to an API Gateway.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -53,14 +53,14 @@
|
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@aws-solutions-constructs/core": "2.
|
|
56
|
+
"@aws-solutions-constructs/core": "2.33.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@aws-cdk/assert": "2.
|
|
59
|
+
"@aws-cdk/assert": "2.67.0",
|
|
60
60
|
"@types/jest": "^26.0.22",
|
|
61
61
|
"@types/node": "^10.3.0",
|
|
62
62
|
"prettier": "^2.5.1",
|
|
63
|
-
"aws-cdk-lib": "2.
|
|
63
|
+
"aws-cdk-lib": "2.67.0",
|
|
64
64
|
"constructs": "^10.0.0"
|
|
65
65
|
},
|
|
66
66
|
"jest": {
|
|
@@ -78,8 +78,8 @@
|
|
|
78
78
|
]
|
|
79
79
|
},
|
|
80
80
|
"peerDependencies": {
|
|
81
|
-
"@aws-solutions-constructs/core": "2.
|
|
82
|
-
"aws-cdk-lib": "^2.
|
|
81
|
+
"@aws-solutions-constructs/core": "2.33.0",
|
|
82
|
+
"aws-cdk-lib": "^2.67.0",
|
|
83
83
|
"constructs": "^10.0.0"
|
|
84
84
|
},
|
|
85
85
|
"keywords": [
|
package/test/integ.dummyTest.js
CHANGED
|
@@ -26,8 +26,8 @@ stack.templateOptions.description = 'Dummy Integration Test for aws-route53-apig
|
|
|
26
26
|
// Legitimate DNS and certificate cannot be provided in integ tests as it is user specific
|
|
27
27
|
// and will need to be regenerated.
|
|
28
28
|
// Create dummy integ with at least one resource to pass CFN scan
|
|
29
|
-
const
|
|
30
|
-
|
|
29
|
+
const regionalRestApiResponse = defaults.RegionalRestApi(stack);
|
|
30
|
+
regionalRestApiResponse.api.root.addMethod('GET');
|
|
31
31
|
// Synth
|
|
32
32
|
app.synth();
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuZHVtbXlUZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW50ZWcuZHVtbXlUZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxVQUFVO0FBQ1YsNkNBQXlDO0FBQ3pDLHlEQUF3RTtBQUN4RSwyREFBMkQ7QUFFM0QsUUFBUTtBQUNSLE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssQ0FBQyxHQUFHLEVBQUUsNkJBQXNCLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFFckUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsbURBQW1ELENBQUM7QUFFeEYsaUZBQWlGO0FBQ2pGLDBGQUEwRjtBQUMxRiw0RkFBNEY7QUFDNUYsMEZBQTBGO0FBQzFGLG1DQUFtQztBQUVuQyxpRUFBaUU7QUFDakUsTUFBTSx1QkFBdUIsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hFLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRWxELFFBQVE7QUFDUixHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgeyBBcHAsIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZUludGVnU3RhY2tOYW1lIH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5cbi8vIFNldHVwXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5jb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsIGdlbmVyYXRlSW50ZWdTdGFja05hbWUoX19maWxlbmFtZSksIHt9KTtcblxuc3RhY2sudGVtcGxhdGVPcHRpb25zLmRlc2NyaXB0aW9uID0gJ0R1bW15IEludGVncmF0aW9uIFRlc3QgZm9yIGF3cy1yb3V0ZTUzLWFwaWdhdGV3YXknO1xuXG4vLyBUaGlzIGlzIGFuIGR1bW15IGludGVnIHRlc3QgaW4gb3JkZXIgdG8gYnlwYXNzIHRoZSBDb2RlQnVpbGQgaW50ZWcgdGVzdCBzY2Fucy5cbi8vIFJvdXRlNTNUb0FwaUdhdGV3YXkgY29uc3RydWN0IHJlcXVpcmVzIGEgbGVnaXRpbWF0ZSBETlMgYW5kIGNlcnRpZmljYXRlIHRvIGJlIGRlcGxveWVkLlxuLy8gSWYgYSBmYWtlIEROUyBhbmQgY2VydGlmaWNhdGUgaXMgcHJvdmlkZWQsIHRoZSBkZXBsb3ltZW50IHdpbGwgaGFuZyBhbmQgY2F1c2UgaXQgdG8gZmFpbC5cbi8vIExlZ2l0aW1hdGUgRE5TIGFuZCBjZXJ0aWZpY2F0ZSBjYW5ub3QgYmUgcHJvdmlkZWQgaW4gaW50ZWcgdGVzdHMgYXMgaXQgaXMgdXNlciBzcGVjaWZpY1xuLy8gYW5kIHdpbGwgbmVlZCB0byBiZSByZWdlbmVyYXRlZC5cblxuLy8gQ3JlYXRlIGR1bW15IGludGVnIHdpdGggYXQgbGVhc3Qgb25lIHJlc291cmNlIHRvIHBhc3MgQ0ZOIHNjYW5cbmNvbnN0IHJlZ2lvbmFsUmVzdEFwaVJlc3BvbnNlID0gZGVmYXVsdHMuUmVnaW9uYWxSZXN0QXBpKHN0YWNrKTtcbnJlZ2lvbmFsUmVzdEFwaVJlc3BvbnNlLmFwaS5yb290LmFkZE1ldGhvZCgnR0VUJyk7XG5cbi8vIFN5bnRoXG5hcHAuc3ludGgoKTtcbiJdfQ==
|
|
@@ -22,8 +22,8 @@ require("@aws-cdk/assert/jest");
|
|
|
22
22
|
const ec2 = require("aws-cdk-lib/aws-ec2");
|
|
23
23
|
// Deploying Public/Private Existing Hosted Zones
|
|
24
24
|
function deployApi(stack, publicApi) {
|
|
25
|
-
const
|
|
26
|
-
|
|
25
|
+
const regionalRestApiResponse = defaults.RegionalRestApi(stack);
|
|
26
|
+
regionalRestApiResponse.api.root.addMethod('GET');
|
|
27
27
|
const domainName = "www.test-example.com";
|
|
28
28
|
let newZone;
|
|
29
29
|
if (publicApi) {
|
|
@@ -50,7 +50,7 @@ function deployApi(stack, publicApi) {
|
|
|
50
50
|
const props = {
|
|
51
51
|
publicApi,
|
|
52
52
|
existingHostedZoneInterface: newZone,
|
|
53
|
-
existingApiGatewayInterface:
|
|
53
|
+
existingApiGatewayInterface: regionalRestApiResponse.api,
|
|
54
54
|
existingCertificateInterface: certificate,
|
|
55
55
|
};
|
|
56
56
|
return new lib_1.Route53ToApiGateway(stack, "api-stack", props);
|
|
@@ -74,7 +74,7 @@ test("Test for default params construct props", () => {
|
|
|
74
74
|
test("Test for errors when creating a private hosted zone", () => {
|
|
75
75
|
// Initial Setup
|
|
76
76
|
const stack = new cdk.Stack();
|
|
77
|
-
const
|
|
77
|
+
const regionalRestApiResponse = defaults.RegionalRestApi(stack);
|
|
78
78
|
const domainName = "www.test-example.com";
|
|
79
79
|
const vpc = defaults.buildVpc(stack, {
|
|
80
80
|
defaultVpcProps: defaults.DefaultPublicPrivateVpcProps(),
|
|
@@ -91,14 +91,14 @@ test("Test for errors when creating a private hosted zone", () => {
|
|
|
91
91
|
const certificate = acm.Certificate.fromCertificateArn(stack, "fake-cert", "arn:aws:acm:us-east-1:123456789012:certificate/11112222-3333-1234-1234-123456789012");
|
|
92
92
|
let app = () => new lib_1.Route53ToApiGateway(stack, "api-stack1", {
|
|
93
93
|
publicApi: true,
|
|
94
|
-
existingApiGatewayInterface:
|
|
94
|
+
existingApiGatewayInterface: regionalRestApiResponse.api,
|
|
95
95
|
existingCertificateInterface: certificate
|
|
96
96
|
});
|
|
97
97
|
// Assertion 1
|
|
98
98
|
expect(app).toThrowError("Public APIs require an existingHostedZone be passed in the Props object.");
|
|
99
99
|
app = () => new lib_1.Route53ToApiGateway(stack, "api-stack2", {
|
|
100
100
|
publicApi: false,
|
|
101
|
-
existingApiGatewayInterface:
|
|
101
|
+
existingApiGatewayInterface: regionalRestApiResponse.api,
|
|
102
102
|
existingCertificateInterface: certificate
|
|
103
103
|
});
|
|
104
104
|
// Assertion 2
|
|
@@ -109,7 +109,7 @@ test("Test for errors when creating a private hosted zone", () => {
|
|
|
109
109
|
zoneName: "test-example.com",
|
|
110
110
|
vpc,
|
|
111
111
|
},
|
|
112
|
-
existingApiGatewayInterface:
|
|
112
|
+
existingApiGatewayInterface: regionalRestApiResponse.api,
|
|
113
113
|
existingCertificateInterface: certificate
|
|
114
114
|
});
|
|
115
115
|
// Assertion 3
|
|
@@ -118,7 +118,7 @@ test("Test for errors when creating a private hosted zone", () => {
|
|
|
118
118
|
publicApi: false,
|
|
119
119
|
existingHostedZoneInterface: newZone,
|
|
120
120
|
existingVpc: vpc,
|
|
121
|
-
existingApiGatewayInterface:
|
|
121
|
+
existingApiGatewayInterface: regionalRestApiResponse.api,
|
|
122
122
|
existingCertificateInterface: certificate
|
|
123
123
|
});
|
|
124
124
|
// Assertion 4
|
|
@@ -126,7 +126,7 @@ test("Test for errors when creating a private hosted zone", () => {
|
|
|
126
126
|
app = () => new lib_1.Route53ToApiGateway(stack, "api-stack5", {
|
|
127
127
|
publicApi: false,
|
|
128
128
|
existingHostedZoneInterface: newZone,
|
|
129
|
-
existingApiGatewayInterface:
|
|
129
|
+
existingApiGatewayInterface: regionalRestApiResponse.api,
|
|
130
130
|
privateHostedZoneProps: {
|
|
131
131
|
domainName: "test-example.com"
|
|
132
132
|
},
|
|
@@ -139,7 +139,7 @@ test("Test for errors when creating a private hosted zone", () => {
|
|
|
139
139
|
privateHostedZoneProps: {
|
|
140
140
|
domainName: "test.example.com"
|
|
141
141
|
},
|
|
142
|
-
existingApiGatewayInterface:
|
|
142
|
+
existingApiGatewayInterface: regionalRestApiResponse.api,
|
|
143
143
|
existingCertificateInterface: certificate
|
|
144
144
|
});
|
|
145
145
|
// Assertion 6
|
|
@@ -149,7 +149,7 @@ test("Test for errors when creating a private hosted zone", () => {
|
|
|
149
149
|
privateHostedZoneProps: {
|
|
150
150
|
zoneName: "test.example.com"
|
|
151
151
|
},
|
|
152
|
-
existingApiGatewayInterface:
|
|
152
|
+
existingApiGatewayInterface: regionalRestApiResponse.api,
|
|
153
153
|
existingCertificateInterface: certificate
|
|
154
154
|
});
|
|
155
155
|
// Assertion 7
|
|
@@ -161,8 +161,8 @@ test("Test for errors when creating a private hosted zone", () => {
|
|
|
161
161
|
test("Test for providing private hosted zone props", () => {
|
|
162
162
|
// Initial Setup
|
|
163
163
|
const stack = new cdk.Stack();
|
|
164
|
-
const
|
|
165
|
-
|
|
164
|
+
const regionalRestApiResponse = defaults.RegionalRestApi(stack);
|
|
165
|
+
regionalRestApiResponse.api.root.addMethod('GET');
|
|
166
166
|
const domainName = "www.private-zone.com";
|
|
167
167
|
const vpc = defaults.buildVpc(stack, {
|
|
168
168
|
defaultVpcProps: defaults.DefaultPublicPrivateVpcProps(),
|
|
@@ -175,7 +175,7 @@ test("Test for providing private hosted zone props", () => {
|
|
|
175
175
|
const certificate = acm.Certificate.fromCertificateArn(stack, "fake-cert", "arn:aws:acm:us-east-1:123456789012:certificate/11112222-3333-1234-1234-123456789012");
|
|
176
176
|
new lib_1.Route53ToApiGateway(stack, "api-stack1", {
|
|
177
177
|
publicApi: false,
|
|
178
|
-
existingApiGatewayInterface:
|
|
178
|
+
existingApiGatewayInterface: regionalRestApiResponse.api,
|
|
179
179
|
privateHostedZoneProps: {
|
|
180
180
|
zoneName: domainName,
|
|
181
181
|
},
|
|
@@ -285,4 +285,4 @@ test("Integration test for A record creation in Private Hosted Zone ", () => {
|
|
|
285
285
|
Name: "RestApi"
|
|
286
286
|
});
|
|
287
287
|
});
|
|
288
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5yb3V0ZTUzLWFwaWdhdGV3YXkudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3Qucm91dGU1My1hcGlnYXRld2F5LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILFVBQVU7QUFDVixtQ0FBbUM7QUFDbkMsZ0NBQXVFO0FBQ3ZFLG1EQUFtRDtBQUNuRCwyREFBMkQ7QUFDM0QsMERBQTBEO0FBQzFELGdDQUE4QjtBQUM5QiwyQ0FBMkM7QUFFM0MsaURBQWlEO0FBQ2pELFNBQVMsU0FBUyxDQUNoQixLQUFnQixFQUNoQixTQUFrQjtJQUVsQixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU5QixNQUFNLFVBQVUsR0FBRyxzQkFBc0IsQ0FBQztJQUUxQyxJQUFJLE9BQTZELENBQUM7SUFFbEUsSUFBSSxTQUFTLEVBQUU7UUFDYixPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRTtZQUN4RCxRQUFRLEVBQUUsVUFBVTtTQUNyQixDQUFDLENBQUM7S0FDSjtTQUFNO1FBQ0wsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7WUFDbkMsZUFBZSxFQUFFLFFBQVEsQ0FBQyw0QkFBNEIsRUFBRTtZQUN4RCxpQkFBaUIsRUFBRTtnQkFDakIsa0JBQWtCLEVBQUUsSUFBSTtnQkFDeEIsZ0JBQWdCLEVBQUUsSUFBSTtnQkFDdEIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2FBQ3BEO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUU7WUFDekQsUUFBUSxFQUFFLFVBQVU7WUFDcEIsR0FBRztTQUNKLENBQUMsQ0FBQztLQUNKO0lBRUQsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FDcEQsS0FBSyxFQUNMLFdBQVcsRUFDWCxxRkFBcUYsQ0FDdEYsQ0FBQztJQUVGLGNBQWM7SUFDZCxNQUFNLEtBQUssR0FBNkI7UUFDdEMsU0FBUztRQUNULDJCQUEyQixFQUFFLE9BQU87UUFDcEMsMkJBQTJCLEVBQUUsT0FBTztRQUNwQyw0QkFBNEIsRUFBRSxXQUFXO0tBQzFDLENBQUM7SUFFRixPQUFPLElBQUkseUJBQW1CLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBRUQsaUVBQWlFO0FBQ2pFLDBCQUEwQjtBQUMxQixpRUFBaUU7QUFDakUsSUFBSSxDQUFDLHlDQUF5QyxFQUFFLEdBQUcsRUFBRTtJQUNuRCxnQkFBZ0I7SUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUUxQyxZQUFZO0lBQ1osTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDL0MsQ0FBQyxDQUFDLENBQUM7QUFFSCxpRUFBaUU7QUFDakUsdURBQXVEO0FBQ3ZELGlFQUFpRTtBQUNqRSxJQUFJLENBQUMscURBQXFELEVBQUUsR0FBRyxFQUFFO0lBQy9ELGdCQUFnQjtJQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM5QixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxNQUFNLFVBQVUsR0FBRyxzQkFBc0IsQ0FBQztJQUUxQyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtRQUNuQyxlQUFlLEVBQUUsUUFBUSxDQUFDLDRCQUE0QixFQUFFO1FBQ3hELGlCQUFpQixFQUFFO1lBQ2pCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7U0FDcEQ7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO1FBQy9ELFFBQVEsRUFBRSxVQUFVO1FBQ3BCLEdBQUc7S0FDSixDQUFDLENBQUM7SUFFSCxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUNwRCxLQUFLLEVBQ0wsV0FBVyxFQUNYLHFGQUFxRixDQUN0RixDQUFDO0lBRUYsSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQ2IsSUFBSSx5QkFBbUIsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFO1FBQzNDLFNBQVMsRUFBRSxJQUFJO1FBQ2YsMkJBQTJCLEVBQUUsT0FBTztRQUNwQyw0QkFBNEIsRUFBRSxXQUFXO0tBQzFDLENBQUMsQ0FBQztJQUNMLGNBQWM7SUFDZCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUN0QiwwRUFBMEUsQ0FDM0UsQ0FBQztJQUVGLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FDVCxJQUFJLHlCQUFtQixDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUU7UUFDM0MsU0FBUyxFQUFFLEtBQUs7UUFDaEIsMkJBQTJCLEVBQUUsT0FBTztRQUNwQyw0QkFBNEIsRUFBRSxXQUFXO0tBQzFDLENBQUMsQ0FBQztJQUVMLGNBQWM7SUFDZCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUN0Qiw0RUFBNEUsQ0FDN0UsQ0FBQztJQUVGLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FDVCxJQUFJLHlCQUFtQixDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUU7UUFDM0MsU0FBUyxFQUFFLEtBQUs7UUFDaEIsc0JBQXNCLEVBQUU7WUFDdEIsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixHQUFHO1NBQ0o7UUFDRCwyQkFBMkIsRUFBRSxPQUFPO1FBQ3BDLDRCQUE0QixFQUFFLFdBQVc7S0FDMUMsQ0FBQyxDQUFDO0lBRUwsY0FBYztJQUNkLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQ3RCLG1GQUFtRixDQUNwRixDQUFDO0lBRUYsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUNULElBQUkseUJBQW1CLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRTtRQUMzQyxTQUFTLEVBQUUsS0FBSztRQUNoQiwyQkFBMkIsRUFBRSxPQUFPO1FBQ3BDLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLDJCQUEyQixFQUFFLE9BQU87UUFDcEMsNEJBQTRCLEVBQUUsV0FBVztLQUMxQyxDQUFDLENBQUM7SUFFTCxjQUFjO0lBQ2QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FDdEIsb0VBQW9FLENBQ3JFLENBQUM7SUFFRixHQUFHLEdBQUcsR0FBRyxFQUFFLENBQ1QsSUFBSSx5QkFBbUIsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFO1FBQzNDLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLDJCQUEyQixFQUFFLE9BQU87UUFDcEMsMkJBQTJCLEVBQUUsT0FBTztRQUNwQyxzQkFBc0IsRUFBRTtZQUN0QixVQUFVLEVBQUUsa0JBQWtCO1NBQy9CO1FBQ0QsNEJBQTRCLEVBQUUsV0FBVztLQUMxQyxDQUFDLENBQUM7SUFFTCxjQUFjO0lBQ2QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FDdEIsMEZBQTBGLENBQzNGLENBQUM7SUFFRixHQUFHLEdBQUcsR0FBRyxFQUFFLENBQ1QsSUFBSSx5QkFBbUIsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFO1FBQzNDLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLHNCQUFzQixFQUFFO1lBQ3RCLFVBQVUsRUFBRSxrQkFBa0I7U0FDL0I7UUFDRCwyQkFBMkIsRUFBRSxPQUFPO1FBQ3BDLDRCQUE0QixFQUFFLFdBQVc7S0FDMUMsQ0FBQyxDQUFDO0lBRUwsY0FBYztJQUNkLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQ3RCLHFEQUFxRCxDQUN0RCxDQUFDO0lBRUYsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUNULElBQUkseUJBQW1CLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRTtRQUMzQyxTQUFTLEVBQUUsS0FBSztRQUNoQixzQkFBc0IsRUFBRTtZQUN0QixRQUFRLEVBQUUsa0JBQWtCO1NBQzdCO1FBQ0QsMkJBQTJCLEVBQUUsT0FBTztRQUNwQyw0QkFBNEIsRUFBRSxXQUFXO0tBQzFDLENBQUMsQ0FBQztJQUVMLGNBQWM7SUFDZCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUN0QixpRkFBaUYsQ0FDbEYsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUgsaUVBQWlFO0FBQ2pFLGdEQUFnRDtBQUNoRCxpRUFBaUU7QUFDakUsSUFBSSxDQUFDLDhDQUE4QyxFQUFFLEdBQUcsRUFBRTtJQUN4RCxnQkFBZ0I7SUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFOUIsTUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUM7SUFFMUMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7UUFDbkMsZUFBZSxFQUFFLFFBQVEsQ0FBQyw0QkFBNEIsRUFBRTtRQUN4RCxpQkFBaUIsRUFBRTtZQUNqQixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1NBQ3BEO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FDcEQsS0FBSyxFQUNMLFdBQVcsRUFDWCxxRkFBcUYsQ0FDdEYsQ0FBQztJQUVGLElBQUkseUJBQW1CLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRTtRQUMzQyxTQUFTLEVBQUUsS0FBSztRQUNoQiwyQkFBMkIsRUFBRSxPQUFPO1FBQ3BDLHNCQUFzQixFQUFFO1lBQ3RCLFFBQVEsRUFBRSxVQUFVO1NBQ3JCO1FBQ0QsV0FBVyxFQUFFLEdBQUc7UUFDaEIsNEJBQTRCLEVBQUUsV0FBVztLQUMxQyxDQUFDLENBQUM7SUFFSCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLDBCQUEwQixFQUFFO1FBQ3ZELElBQUksRUFBRSx1QkFBdUI7UUFDN0IsSUFBSSxFQUFFO1lBQ0o7Z0JBQ0UsS0FBSyxFQUFFO29CQUNMLEdBQUcsRUFBRSxhQUFhO2lCQUNuQjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsR0FBRyxFQUFFLGFBQWE7aUJBQ25CO2FBQ0Y7U0FDRjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsaUVBQWlFO0FBQ2pFLG9EQUFvRDtBQUNwRCxpRUFBaUU7QUFDakUsSUFBSSxDQUFDLCtEQUErRCxFQUFFLEdBQUcsRUFBRTtJQUN6RSxnQkFBZ0I7SUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUV2QixhQUFhO0lBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsRUFBRTtRQUN0RCxJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLElBQUksRUFBRSxHQUFHO1FBQ1QsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFO2dCQUNQLFlBQVksRUFBRTtvQkFDWixpQ0FBaUM7b0JBQ2pDLG9CQUFvQjtpQkFDckI7YUFDRjtZQUNELFlBQVksRUFBRTtnQkFDWixZQUFZLEVBQUU7b0JBQ1osaUNBQWlDO29CQUNqQyxzQkFBc0I7aUJBQ3ZCO2FBQ0Y7U0FDRjtRQUNELFlBQVksRUFBRTtZQUNaLEdBQUcsRUFBRSxpQkFBaUI7U0FDdkI7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLDBCQUEwQixFQUFFO1FBQ3ZELHFCQUFxQixFQUFFO1lBQ3JCLEtBQUssRUFBRTtnQkFDTCxVQUFVO2FBQ1g7U0FDRjtRQUNELElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsaUVBQWlFO0FBQ2pFLHFEQUFxRDtBQUNyRCxpRUFBaUU7QUFDakUsSUFBSSxDQUFDLGdFQUFnRSxFQUFFLEdBQUcsRUFBRTtJQUMxRSxnQkFBZ0I7SUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUV4QixhQUFhO0lBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsRUFBRTtRQUN0RCxJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLElBQUksRUFBRSxHQUFHO1FBQ1QsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFO2dCQUNQLFlBQVksRUFBRTtvQkFDWixpQ0FBaUM7b0JBQ2pDLG9CQUFvQjtpQkFDckI7YUFDRjtZQUNELFlBQVksRUFBRTtnQkFDWixZQUFZLEVBQUU7b0JBQ1osaUNBQWlDO29CQUNqQyxzQkFBc0I7aUJBQ3ZCO2FBQ0Y7U0FDRjtRQUNELFlBQVksRUFBRTtZQUNaLEdBQUcsRUFBRSxpQkFBaUI7U0FDdkI7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLDBCQUEwQixFQUFFO1FBQ3ZELElBQUksRUFBRSx1QkFBdUI7UUFDN0IsSUFBSSxFQUFFO1lBQ0o7Z0JBQ0UsS0FBSyxFQUFFO29CQUNMLEdBQUcsRUFBRSxhQUFhO2lCQUNuQjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsR0FBRyxFQUFFLGFBQWE7aUJBQ25CO2FBQ0Y7U0FDRjtLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsMEJBQTBCLEVBQUU7UUFDdkQscUJBQXFCLEVBQUU7WUFDckIsS0FBSyxFQUFFO2dCQUNMLFVBQVU7YUFDWDtTQUNGO1FBQ0QsSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBSb3V0ZTUzVG9BcGlHYXRld2F5LCBSb3V0ZTUzVG9BcGlHYXRld2F5UHJvcHMgfSBmcm9tIFwiLi4vbGliXCI7XG5pbXBvcnQgKiBhcyByb3V0ZTUzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSBcIkBhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZVwiO1xuaW1wb3J0ICogYXMgYWNtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQgXCJAYXdzLWNkay9hc3NlcnQvamVzdFwiO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuXG4vLyBEZXBsb3lpbmcgUHVibGljL1ByaXZhdGUgRXhpc3RpbmcgSG9zdGVkIFpvbmVzXG5mdW5jdGlvbiBkZXBsb3lBcGkoXG4gIHN0YWNrOiBjZGsuU3RhY2ssXG4gIHB1YmxpY0FwaTogYm9vbGVhblxuKSB7XG4gIGNvbnN0IFtyZXN0QXBpXSA9IGRlZmF1bHRzLlJlZ2lvbmFsUmVzdEFwaShzdGFjayk7XG4gIHJlc3RBcGkucm9vdC5hZGRNZXRob2QoJ0dFVCcpO1xuXG4gIGNvbnN0IGRvbWFpbk5hbWUgPSBcInd3dy50ZXN0LWV4YW1wbGUuY29tXCI7XG5cbiAgbGV0IG5ld1pvbmU6IHJvdXRlNTMuUHVibGljSG9zdGVkWm9uZSB8IHJvdXRlNTMuUHJpdmF0ZUhvc3RlZFpvbmU7XG5cbiAgaWYgKHB1YmxpY0FwaSkge1xuICAgIG5ld1pvbmUgPSBuZXcgcm91dGU1My5QdWJsaWNIb3N0ZWRab25lKHN0YWNrLCBcIm5ldy16b25lXCIsIHtcbiAgICAgIHpvbmVOYW1lOiBkb21haW5OYW1lLFxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHZwYyA9IGRlZmF1bHRzLmJ1aWxkVnBjKHN0YWNrLCB7XG4gICAgICBkZWZhdWx0VnBjUHJvcHM6IGRlZmF1bHRzLkRlZmF1bHRQdWJsaWNQcml2YXRlVnBjUHJvcHMoKSxcbiAgICAgIGNvbnN0cnVjdFZwY1Byb3BzOiB7XG4gICAgICAgIGVuYWJsZURuc0hvc3RuYW1lczogdHJ1ZSxcbiAgICAgICAgZW5hYmxlRG5zU3VwcG9ydDogdHJ1ZSxcbiAgICAgICAgaXBBZGRyZXNzZXM6IGVjMi5JcEFkZHJlc3Nlcy5jaWRyKFwiMTcyLjE2OC4wLjAvMTZcIiksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgbmV3Wm9uZSA9IG5ldyByb3V0ZTUzLlByaXZhdGVIb3N0ZWRab25lKHN0YWNrLCBcIm5ldy16b25lXCIsIHtcbiAgICAgIHpvbmVOYW1lOiBkb21haW5OYW1lLFxuICAgICAgdnBjXG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBjZXJ0aWZpY2F0ZSA9IGFjbS5DZXJ0aWZpY2F0ZS5mcm9tQ2VydGlmaWNhdGVBcm4oXG4gICAgc3RhY2ssXG4gICAgXCJmYWtlLWNlcnRcIixcbiAgICBcImFybjphd3M6YWNtOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6Y2VydGlmaWNhdGUvMTExMTIyMjItMzMzMy0xMjM0LTEyMzQtMTIzNDU2Nzg5MDEyXCJcbiAgKTtcblxuICAvLyBEZWZpbml0aW9uc1xuICBjb25zdCBwcm9wczogUm91dGU1M1RvQXBpR2F0ZXdheVByb3BzID0ge1xuICAgIHB1YmxpY0FwaSxcbiAgICBleGlzdGluZ0hvc3RlZFpvbmVJbnRlcmZhY2U6IG5ld1pvbmUsXG4gICAgZXhpc3RpbmdBcGlHYXRld2F5SW50ZXJmYWNlOiByZXN0QXBpLFxuICAgIGV4aXN0aW5nQ2VydGlmaWNhdGVJbnRlcmZhY2U6IGNlcnRpZmljYXRlLFxuICB9O1xuXG4gIHJldHVybiBuZXcgUm91dGU1M1RvQXBpR2F0ZXdheShzdGFjaywgXCJhcGktc3RhY2tcIiwgcHJvcHMpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIHBhdHRlcm4gcHJvcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50ZXN0KFwiVGVzdCBmb3IgZGVmYXVsdCBwYXJhbXMgY29uc3RydWN0IHByb3BzXCIsICgpID0+IHtcbiAgLy8gSW5pdGlhbCBTZXR1cFxuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgY29uc3QgY29uc3RydWN0ID0gZGVwbG95QXBpKHN0YWNrLCBmYWxzZSk7XG5cbiAgLy8gQXNzZXJ0aW9uXG4gIGV4cGVjdChjb25zdHJ1Y3QuYXBpR2F0ZXdheSkubm90LnRvQmVOdWxsKCk7XG4gIGV4cGVjdChjb25zdHJ1Y3QuaG9zdGVkWm9uZSkubm90LnRvQmVOdWxsKCk7XG4gIGV4cGVjdChjb25zdHJ1Y3QudnBjKS5ub3QudG9CZU51bGwoKTtcbiAgZXhwZWN0KGNvbnN0cnVjdC5jZXJ0aWZpY2F0ZSkubm90LnRvQmVOdWxsKCk7XG59KTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBlcnJvcnMgd2hlbiBjcmVhdGluZyBhIHByaXZhdGUgaG9zdGVkIHpvbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50ZXN0KFwiVGVzdCBmb3IgZXJyb3JzIHdoZW4gY3JlYXRpbmcgYSBwcml2YXRlIGhvc3RlZCB6b25lXCIsICgpID0+IHtcbiAgLy8gSW5pdGlhbCBTZXR1cFxuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgY29uc3QgW3Jlc3RBcGldID0gZGVmYXVsdHMuUmVnaW9uYWxSZXN0QXBpKHN0YWNrKTtcbiAgY29uc3QgZG9tYWluTmFtZSA9IFwid3d3LnRlc3QtZXhhbXBsZS5jb21cIjtcblxuICBjb25zdCB2cGMgPSBkZWZhdWx0cy5idWlsZFZwYyhzdGFjaywge1xuICAgIGRlZmF1bHRWcGNQcm9wczogZGVmYXVsdHMuRGVmYXVsdFB1YmxpY1ByaXZhdGVWcGNQcm9wcygpLFxuICAgIGNvbnN0cnVjdFZwY1Byb3BzOiB7XG4gICAgICBlbmFibGVEbnNIb3N0bmFtZXM6IHRydWUsXG4gICAgICBlbmFibGVEbnNTdXBwb3J0OiB0cnVlLFxuICAgICAgaXBBZGRyZXNzZXM6IGVjMi5JcEFkZHJlc3Nlcy5jaWRyKFwiMTcyLjE2OC4wLjAvMTZcIiksXG4gICAgfSxcbiAgfSk7XG5cbiAgY29uc3QgbmV3Wm9uZSA9IG5ldyByb3V0ZTUzLlByaXZhdGVIb3N0ZWRab25lKHN0YWNrLCBcIm5ldy16b25lXCIsIHtcbiAgICB6b25lTmFtZTogZG9tYWluTmFtZSxcbiAgICB2cGNcbiAgfSk7XG5cbiAgY29uc3QgY2VydGlmaWNhdGUgPSBhY20uQ2VydGlmaWNhdGUuZnJvbUNlcnRpZmljYXRlQXJuKFxuICAgIHN0YWNrLFxuICAgIFwiZmFrZS1jZXJ0XCIsXG4gICAgXCJhcm46YXdzOmFjbTp1cy1lYXN0LTE6MTIzNDU2Nzg5MDEyOmNlcnRpZmljYXRlLzExMTEyMjIyLTMzMzMtMTIzNC0xMjM0LTEyMzQ1Njc4OTAxMlwiXG4gICk7XG5cbiAgbGV0IGFwcCA9ICgpID0+XG4gICAgbmV3IFJvdXRlNTNUb0FwaUdhdGV3YXkoc3RhY2ssIFwiYXBpLXN0YWNrMVwiLCB7XG4gICAgICBwdWJsaWNBcGk6IHRydWUsXG4gICAgICBleGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2U6IHJlc3RBcGksXG4gICAgICBleGlzdGluZ0NlcnRpZmljYXRlSW50ZXJmYWNlOiBjZXJ0aWZpY2F0ZVxuICAgIH0pO1xuICAvLyBBc3NlcnRpb24gMVxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXG4gICAgXCJQdWJsaWMgQVBJcyByZXF1aXJlIGFuIGV4aXN0aW5nSG9zdGVkWm9uZSBiZSBwYXNzZWQgaW4gdGhlIFByb3BzIG9iamVjdC5cIlxuICApO1xuXG4gIGFwcCA9ICgpID0+XG4gICAgbmV3IFJvdXRlNTNUb0FwaUdhdGV3YXkoc3RhY2ssIFwiYXBpLXN0YWNrMlwiLCB7XG4gICAgICBwdWJsaWNBcGk6IGZhbHNlLFxuICAgICAgZXhpc3RpbmdBcGlHYXRld2F5SW50ZXJmYWNlOiByZXN0QXBpLFxuICAgICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGVcbiAgICB9KTtcblxuICAvLyBBc3NlcnRpb24gMlxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXG4gICAgXCJNdXN0IHByb3ZpZGUgZWl0aGVyIGV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZSBvciBwcml2YXRlSG9zdGVkWm9uZVByb3BzLlwiXG4gICk7XG5cbiAgYXBwID0gKCkgPT5cbiAgICBuZXcgUm91dGU1M1RvQXBpR2F0ZXdheShzdGFjaywgXCJhcGktc3RhY2szXCIsIHtcbiAgICAgIHB1YmxpY0FwaTogZmFsc2UsXG4gICAgICBwcml2YXRlSG9zdGVkWm9uZVByb3BzOiB7XG4gICAgICAgIHpvbmVOYW1lOiBcInRlc3QtZXhhbXBsZS5jb21cIixcbiAgICAgICAgdnBjLFxuICAgICAgfSxcbiAgICAgIGV4aXN0aW5nQXBpR2F0ZXdheUludGVyZmFjZTogcmVzdEFwaSxcbiAgICAgIGV4aXN0aW5nQ2VydGlmaWNhdGVJbnRlcmZhY2U6IGNlcnRpZmljYXRlXG4gICAgfSk7XG5cbiAgLy8gQXNzZXJ0aW9uIDNcbiAgZXhwZWN0KGFwcCkudG9UaHJvd0Vycm9yKFxuICAgIFwiQWxsIFZQQyBzcGVjcyBtdXN0IGJlIHByb3ZpZGVkIGF0IHRoZSBDb25zdHJ1Y3QgbGV2ZWwgaW4gUm91dGU1M1RvQXBpR2F0ZXdheVByb3BzXCJcbiAgKTtcblxuICBhcHAgPSAoKSA9PlxuICAgIG5ldyBSb3V0ZTUzVG9BcGlHYXRld2F5KHN0YWNrLCBcImFwaS1zdGFjazRcIiwge1xuICAgICAgcHVibGljQXBpOiBmYWxzZSxcbiAgICAgIGV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZTogbmV3Wm9uZSxcbiAgICAgIGV4aXN0aW5nVnBjOiB2cGMsXG4gICAgICBleGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2U6IHJlc3RBcGksXG4gICAgICBleGlzdGluZ0NlcnRpZmljYXRlSW50ZXJmYWNlOiBjZXJ0aWZpY2F0ZVxuICAgIH0pO1xuXG4gIC8vIEFzc2VydGlvbiA0XG4gIGV4cGVjdChhcHApLnRvVGhyb3dFcnJvcihcbiAgICBcIkNhbm5vdCBwcm92aWRlIGFuIGV4aXN0aW5nIFZQQyB0byBhbiBleGlzdGluZyBQcml2YXRlIEhvc3RlZCBab25lLlwiXG4gICk7XG5cbiAgYXBwID0gKCkgPT5cbiAgICBuZXcgUm91dGU1M1RvQXBpR2F0ZXdheShzdGFjaywgXCJhcGktc3RhY2s1XCIsIHtcbiAgICAgIHB1YmxpY0FwaTogZmFsc2UsXG4gICAgICBleGlzdGluZ0hvc3RlZFpvbmVJbnRlcmZhY2U6IG5ld1pvbmUsXG4gICAgICBleGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2U6IHJlc3RBcGksXG4gICAgICBwcml2YXRlSG9zdGVkWm9uZVByb3BzOiB7XG4gICAgICAgIGRvbWFpbk5hbWU6IFwidGVzdC1leGFtcGxlLmNvbVwiXG4gICAgICB9LFxuICAgICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGVcbiAgICB9KTtcblxuICAvLyBBc3NlcnRpb24gNVxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXG4gICAgXCJNdXN0IHByb3ZpZGUgZWl0aGVyIGV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZSBvciBwcml2YXRlSG9zdGVkWm9uZVByb3BzLCBidXQgbm90IGJvdGguXCJcbiAgKTtcblxuICBhcHAgPSAoKSA9PlxuICAgIG5ldyBSb3V0ZTUzVG9BcGlHYXRld2F5KHN0YWNrLCBcImFwaS1zdGFjazZcIiwge1xuICAgICAgcHVibGljQXBpOiBmYWxzZSxcbiAgICAgIHByaXZhdGVIb3N0ZWRab25lUHJvcHM6IHtcbiAgICAgICAgZG9tYWluTmFtZTogXCJ0ZXN0LmV4YW1wbGUuY29tXCJcbiAgICAgIH0sXG4gICAgICBleGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2U6IHJlc3RBcGksXG4gICAgICBleGlzdGluZ0NlcnRpZmljYXRlSW50ZXJmYWNlOiBjZXJ0aWZpY2F0ZVxuICAgIH0pO1xuXG4gIC8vIEFzc2VydGlvbiA2XG4gIGV4cGVjdChhcHApLnRvVGhyb3dFcnJvcihcbiAgICAnTXVzdCBzdXBwbHkgem9uZU5hbWUgZm9yIFByaXZhdGUgSG9zdGVkIFpvbmUgUHJvcHMuJ1xuICApO1xuXG4gIGFwcCA9ICgpID0+XG4gICAgbmV3IFJvdXRlNTNUb0FwaUdhdGV3YXkoc3RhY2ssIFwiYXBpLXN0YWNrN1wiLCB7XG4gICAgICBwdWJsaWNBcGk6IGZhbHNlLFxuICAgICAgcHJpdmF0ZUhvc3RlZFpvbmVQcm9wczoge1xuICAgICAgICB6b25lTmFtZTogXCJ0ZXN0LmV4YW1wbGUuY29tXCJcbiAgICAgIH0sXG4gICAgICBleGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2U6IHJlc3RBcGksXG4gICAgICBleGlzdGluZ0NlcnRpZmljYXRlSW50ZXJmYWNlOiBjZXJ0aWZpY2F0ZVxuICAgIH0pO1xuXG4gIC8vIEFzc2VydGlvbiA3XG4gIGV4cGVjdChhcHApLnRvVGhyb3dFcnJvcihcbiAgICAnTXVzdCBzcGVjaWZ5IGFuIGV4aXN0aW5nVlBDIGZvciB0aGUgUHJpdmF0ZSBIb3N0ZWQgWm9uZSBpbiB0aGUgY29uc3RydWN0IHByb3BzLidcbiAgKTtcbn0pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIHByb3ZpZGluZyBwcml2YXRlIGhvc3RlZCB6b25lIHByb3BzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudGVzdChcIlRlc3QgZm9yIHByb3ZpZGluZyBwcml2YXRlIGhvc3RlZCB6b25lIHByb3BzXCIsICgpID0+IHtcbiAgLy8gSW5pdGlhbCBTZXR1cFxuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgY29uc3QgW3Jlc3RBcGldID0gZGVmYXVsdHMuUmVnaW9uYWxSZXN0QXBpKHN0YWNrKTtcbiAgcmVzdEFwaS5yb290LmFkZE1ldGhvZCgnR0VUJyk7XG5cbiAgY29uc3QgZG9tYWluTmFtZSA9IFwid3d3LnByaXZhdGUtem9uZS5jb21cIjtcblxuICBjb25zdCB2cGMgPSBkZWZhdWx0cy5idWlsZFZwYyhzdGFjaywge1xuICAgIGRlZmF1bHRWcGNQcm9wczogZGVmYXVsdHMuRGVmYXVsdFB1YmxpY1ByaXZhdGVWcGNQcm9wcygpLFxuICAgIGNvbnN0cnVjdFZwY1Byb3BzOiB7XG4gICAgICBlbmFibGVEbnNIb3N0bmFtZXM6IHRydWUsXG4gICAgICBlbmFibGVEbnNTdXBwb3J0OiB0cnVlLFxuICAgICAgaXBBZGRyZXNzZXM6IGVjMi5JcEFkZHJlc3Nlcy5jaWRyKFwiMTcyLjE2OC4wLjAvMTZcIiksXG4gICAgfSxcbiAgfSk7XG5cbiAgY29uc3QgY2VydGlmaWNhdGUgPSBhY20uQ2VydGlmaWNhdGUuZnJvbUNlcnRpZmljYXRlQXJuKFxuICAgIHN0YWNrLFxuICAgIFwiZmFrZS1jZXJ0XCIsXG4gICAgXCJhcm46YXdzOmFjbTp1cy1lYXN0LTE6MTIzNDU2Nzg5MDEyOmNlcnRpZmljYXRlLzExMTEyMjIyLTMzMzMtMTIzNC0xMjM0LTEyMzQ1Njc4OTAxMlwiXG4gICk7XG5cbiAgbmV3IFJvdXRlNTNUb0FwaUdhdGV3YXkoc3RhY2ssIFwiYXBpLXN0YWNrMVwiLCB7XG4gICAgcHVibGljQXBpOiBmYWxzZSxcbiAgICBleGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2U6IHJlc3RBcGksXG4gICAgcHJpdmF0ZUhvc3RlZFpvbmVQcm9wczoge1xuICAgICAgem9uZU5hbWU6IGRvbWFpbk5hbWUsXG4gICAgfSxcbiAgICBleGlzdGluZ1ZwYzogdnBjLFxuICAgIGV4aXN0aW5nQ2VydGlmaWNhdGVJbnRlcmZhY2U6IGNlcnRpZmljYXRlXG4gIH0pO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OlJvdXRlNTM6Okhvc3RlZFpvbmVcIiwge1xuICAgIE5hbWU6IFwid3d3LnByaXZhdGUtem9uZS5jb20uXCIsXG4gICAgVlBDczogW1xuICAgICAge1xuICAgICAgICBWUENJZDoge1xuICAgICAgICAgIFJlZjogXCJWcGM4Mzc4RUIzOFwiLFxuICAgICAgICB9LFxuICAgICAgICBWUENSZWdpb246IHtcbiAgICAgICAgICBSZWY6IFwiQVdTOjpSZWdpb25cIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSk7XG59KTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBBIHJlY29yZCBjcmVhdGlvbiBpbiBQdWJsaWMgSG9zdGVkIFpvbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50ZXN0KFwiSW50ZWdyYXRpb24gdGVzdCBmb3IgQSByZWNvcmQgY3JlYXRpb24gaW4gUHVibGljIEhvc3RlZCBab25lIFwiLCAoKSA9PiB7XG4gIC8vIEluaXRpYWwgU2V0dXBcbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gIGRlcGxveUFwaShzdGFjaywgdHJ1ZSk7XG5cbiAgLy8gQXNzZXJ0aW9uc1xuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKFwiQVdTOjpSb3V0ZTUzOjpSZWNvcmRTZXRcIiwge1xuICAgIE5hbWU6IFwid3d3LnRlc3QtZXhhbXBsZS5jb20uXCIsXG4gICAgVHlwZTogXCJBXCIsXG4gICAgQWxpYXNUYXJnZXQ6IHtcbiAgICAgIEROU05hbWU6IHtcbiAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICBcIlJlc3RBcGlDdXN0b21Eb21haW5OYW1lOTRGMjhFMTZcIixcbiAgICAgICAgICBcIlJlZ2lvbmFsRG9tYWluTmFtZVwiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIEhvc3RlZFpvbmVJZDoge1xuICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgIFwiUmVzdEFwaUN1c3RvbURvbWFpbk5hbWU5NEYyOEUxNlwiLFxuICAgICAgICAgIFwiUmVnaW9uYWxIb3N0ZWRab25lSWRcIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBIb3N0ZWRab25lSWQ6IHtcbiAgICAgIFJlZjogXCJuZXd6b25lMUQwMTE5MzZcIixcbiAgICB9LFxuICB9KTtcblxuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKFwiQVdTOjpBcGlHYXRld2F5OjpSZXN0QXBpXCIsIHtcbiAgICBFbmRwb2ludENvbmZpZ3VyYXRpb246IHtcbiAgICAgIFR5cGVzOiBbXG4gICAgICAgIFwiUkVHSU9OQUxcIlxuICAgICAgXVxuICAgIH0sXG4gICAgTmFtZTogXCJSZXN0QXBpXCJcbiAgfSk7XG59KTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBBIHJlY29yZCBjcmVhdGlvbiBpbiBQcml2YXRlIEhvc3RlZCBab25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudGVzdChcIkludGVncmF0aW9uIHRlc3QgZm9yIEEgcmVjb3JkIGNyZWF0aW9uIGluIFByaXZhdGUgSG9zdGVkIFpvbmUgXCIsICgpID0+IHtcbiAgLy8gSW5pdGlhbCBTZXR1cFxuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgZGVwbG95QXBpKHN0YWNrLCBmYWxzZSk7XG5cbiAgLy8gQXNzZXJ0aW9uc1xuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKFwiQVdTOjpSb3V0ZTUzOjpSZWNvcmRTZXRcIiwge1xuICAgIE5hbWU6IFwid3d3LnRlc3QtZXhhbXBsZS5jb20uXCIsXG4gICAgVHlwZTogXCJBXCIsXG4gICAgQWxpYXNUYXJnZXQ6IHtcbiAgICAgIEROU05hbWU6IHtcbiAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICBcIlJlc3RBcGlDdXN0b21Eb21haW5OYW1lOTRGMjhFMTZcIixcbiAgICAgICAgICBcIlJlZ2lvbmFsRG9tYWluTmFtZVwiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIEhvc3RlZFpvbmVJZDoge1xuICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgIFwiUmVzdEFwaUN1c3RvbURvbWFpbk5hbWU5NEYyOEUxNlwiLFxuICAgICAgICAgIFwiUmVnaW9uYWxIb3N0ZWRab25lSWRcIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBIb3N0ZWRab25lSWQ6IHtcbiAgICAgIFJlZjogXCJuZXd6b25lMUQwMTE5MzZcIixcbiAgICB9LFxuICB9KTtcblxuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKFwiQVdTOjpSb3V0ZTUzOjpIb3N0ZWRab25lXCIsIHtcbiAgICBOYW1lOiBcInd3dy50ZXN0LWV4YW1wbGUuY29tLlwiLFxuICAgIFZQQ3M6IFtcbiAgICAgIHtcbiAgICAgICAgVlBDSWQ6IHtcbiAgICAgICAgICBSZWY6IFwiVnBjODM3OEVCMzhcIixcbiAgICAgICAgfSxcbiAgICAgICAgVlBDUmVnaW9uOiB7XG4gICAgICAgICAgUmVmOiBcIkFXUzo6UmVnaW9uXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gIH0pO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OkFwaUdhdGV3YXk6OlJlc3RBcGlcIiwge1xuICAgIEVuZHBvaW50Q29uZmlndXJhdGlvbjoge1xuICAgICAgVHlwZXM6IFtcbiAgICAgICAgXCJSRUdJT05BTFwiXG4gICAgICBdXG4gICAgfSxcbiAgICBOYW1lOiBcIlJlc3RBcGlcIlxuICB9KTtcbn0pOyJdfQ==
|
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5yb3V0ZTUzLWFwaWdhdGV3YXkudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3Qucm91dGU1My1hcGlnYXRld2F5LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILFVBQVU7QUFDVixtQ0FBbUM7QUFDbkMsZ0NBQXVFO0FBQ3ZFLG1EQUFtRDtBQUNuRCwyREFBMkQ7QUFDM0QsMERBQTBEO0FBQzFELGdDQUE4QjtBQUM5QiwyQ0FBMkM7QUFFM0MsaURBQWlEO0FBQ2pELFNBQVMsU0FBUyxDQUNoQixLQUFnQixFQUNoQixTQUFrQjtJQUVsQixNQUFNLHVCQUF1QixHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEUsdUJBQXVCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFbEQsTUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUM7SUFFMUMsSUFBSSxPQUE2RCxDQUFDO0lBRWxFLElBQUksU0FBUyxFQUFFO1FBQ2IsT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUU7WUFDeEQsUUFBUSxFQUFFLFVBQVU7U0FDckIsQ0FBQyxDQUFDO0tBQ0o7U0FBTTtRQUNMLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO1lBQ25DLGVBQWUsRUFBRSxRQUFRLENBQUMsNEJBQTRCLEVBQUU7WUFDeEQsaUJBQWlCLEVBQUU7Z0JBQ2pCLGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLGdCQUFnQixFQUFFLElBQUk7Z0JBQ3RCLFdBQVcsRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQzthQUNwRDtTQUNGLENBQUMsQ0FBQztRQUVILE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFL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QUUsdUJBQXVCO1FBQzdCLElBQUksRUFBRSxHQUFHO1FBQ1QsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFO2dCQUNQLFlBQVksRUFBRTtvQkFDWixpQ0FBaUM7b0JBQ2pDLG9CQUFvQjtpQkFDckI7YUFDRjtZQUNELFlBQVksRUFBRTtnQkFDWixZQUFZLEVBQUU7b0JBQ1osaUNBQWlDO29CQUNqQyxzQkFBc0I7aUJBQ3ZCO2FBQ0Y7U0FDRjtRQUNELFlBQVksRUFBRTtZQUNaLEdBQUcsRUFBRSxpQkFBaUI7U0FDdkI7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLDBCQUEwQixFQUFFO1FBQ3ZELElBQUksRUFBRSx1QkFBdUI7UUFDN0IsSUFBSSxFQUFFO1lBQ0o7Z0JBQ0UsS0FBSyxFQUFFO29CQUNMLEdBQUcsRUFBRSxhQUFhO2lCQUNuQjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsR0FBRyxFQUFFLGFBQWE7aUJBQ25CO2FBQ0Y7U0FDRjtLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsMEJBQTBCLEVBQUU7UUFDdkQscUJBQXFCLEVBQUU7WUFDckIsS0FBSyxFQUFFO2dCQUNMLFVBQVU7YUFDWDtTQUNGO1FBQ0QsSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBSb3V0ZTUzVG9BcGlHYXRld2F5LCBSb3V0ZTUzVG9BcGlHYXRld2F5UHJvcHMgfSBmcm9tIFwiLi4vbGliXCI7XG5pbXBvcnQgKiBhcyByb3V0ZTUzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSBcIkBhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZVwiO1xuaW1wb3J0ICogYXMgYWNtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQgXCJAYXdzLWNkay9hc3NlcnQvamVzdFwiO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuXG4vLyBEZXBsb3lpbmcgUHVibGljL1ByaXZhdGUgRXhpc3RpbmcgSG9zdGVkIFpvbmVzXG5mdW5jdGlvbiBkZXBsb3lBcGkoXG4gIHN0YWNrOiBjZGsuU3RhY2ssXG4gIHB1YmxpY0FwaTogYm9vbGVhblxuKSB7XG4gIGNvbnN0IHJlZ2lvbmFsUmVzdEFwaVJlc3BvbnNlID0gZGVmYXVsdHMuUmVnaW9uYWxSZXN0QXBpKHN0YWNrKTtcbiAgcmVnaW9uYWxSZXN0QXBpUmVzcG9uc2UuYXBpLnJvb3QuYWRkTWV0aG9kKCdHRVQnKTtcblxuICBjb25zdCBkb21haW5OYW1lID0gXCJ3d3cudGVzdC1leGFtcGxlLmNvbVwiO1xuXG4gIGxldCBuZXdab25lOiByb3V0ZTUzLlB1YmxpY0hvc3RlZFpvbmUgfCByb3V0ZTUzLlByaXZhdGVIb3N0ZWRab25lO1xuXG4gIGlmIChwdWJsaWNBcGkpIHtcbiAgICBuZXdab25lID0gbmV3IHJvdXRlNTMuUHVibGljSG9zdGVkWm9uZShzdGFjaywgXCJuZXctem9uZVwiLCB7XG4gICAgICB6b25lTmFtZTogZG9tYWluTmFtZSxcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB2cGMgPSBkZWZhdWx0cy5idWlsZFZwYyhzdGFjaywge1xuICAgICAgZGVmYXVsdFZwY1Byb3BzOiBkZWZhdWx0cy5EZWZhdWx0UHVibGljUHJpdmF0ZVZwY1Byb3BzKCksXG4gICAgICBjb25zdHJ1Y3RWcGNQcm9wczoge1xuICAgICAgICBlbmFibGVEbnNIb3N0bmFtZXM6IHRydWUsXG4gICAgICAgIGVuYWJsZURuc1N1cHBvcnQ6IHRydWUsXG4gICAgICAgIGlwQWRkcmVzc2VzOiBlYzIuSXBBZGRyZXNzZXMuY2lkcihcIjE3Mi4xNjguMC4wLzE2XCIpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIG5ld1pvbmUgPSBuZXcgcm91dGU1My5Qcml2YXRlSG9zdGVkWm9uZShzdGFjaywgXCJuZXctem9uZVwiLCB7XG4gICAgICB6b25lTmFtZTogZG9tYWluTmFtZSxcbiAgICAgIHZwY1xuICAgIH0pO1xuICB9XG5cbiAgY29uc3QgY2VydGlmaWNhdGUgPSBhY20uQ2VydGlmaWNhdGUuZnJvbUNlcnRpZmljYXRlQXJuKFxuICAgIHN0YWNrLFxuICAgIFwiZmFrZS1jZXJ0XCIsXG4gICAgXCJhcm46YXdzOmFjbTp1cy1lYXN0LTE6MTIzNDU2Nzg5MDEyOmNlcnRpZmljYXRlLzExMTEyMjIyLTMzMzMtMTIzNC0xMjM0LTEyMzQ1Njc4OTAxMlwiXG4gICk7XG5cbiAgLy8gRGVmaW5pdGlvbnNcbiAgY29uc3QgcHJvcHM6IFJvdXRlNTNUb0FwaUdhdGV3YXlQcm9wcyA9IHtcbiAgICBwdWJsaWNBcGksXG4gICAgZXhpc3RpbmdIb3N0ZWRab25lSW50ZXJmYWNlOiBuZXdab25lLFxuICAgIGV4aXN0aW5nQXBpR2F0ZXdheUludGVyZmFjZTogcmVnaW9uYWxSZXN0QXBpUmVzcG9uc2UuYXBpLFxuICAgIGV4aXN0aW5nQ2VydGlmaWNhdGVJbnRlcmZhY2U6IGNlcnRpZmljYXRlLFxuICB9O1xuXG4gIHJldHVybiBuZXcgUm91dGU1M1RvQXBpR2F0ZXdheShzdGFjaywgXCJhcGktc3RhY2tcIiwgcHJvcHMpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIHBhdHRlcm4gcHJvcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50ZXN0KFwiVGVzdCBmb3IgZGVmYXVsdCBwYXJhbXMgY29uc3RydWN0IHByb3BzXCIsICgpID0+IHtcbiAgLy8gSW5pdGlhbCBTZXR1cFxuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgY29uc3QgY29uc3RydWN0ID0gZGVwbG95QXBpKHN0YWNrLCBmYWxzZSk7XG5cbiAgLy8gQXNzZXJ0aW9uXG4gIGV4cGVjdChjb25zdHJ1Y3QuYXBpR2F0ZXdheSkubm90LnRvQmVOdWxsKCk7XG4gIGV4cGVjdChjb25zdHJ1Y3QuaG9zdGVkWm9uZSkubm90LnRvQmVOdWxsKCk7XG4gIGV4cGVjdChjb25zdHJ1Y3QudnBjKS5ub3QudG9CZU51bGwoKTtcbiAgZXhwZWN0KGNvbnN0cnVjdC5jZXJ0aWZpY2F0ZSkubm90LnRvQmVOdWxsKCk7XG59KTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBlcnJvcnMgd2hlbiBjcmVhdGluZyBhIHByaXZhdGUgaG9zdGVkIHpvbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50ZXN0KFwiVGVzdCBmb3IgZXJyb3JzIHdoZW4gY3JlYXRpbmcgYSBwcml2YXRlIGhvc3RlZCB6b25lXCIsICgpID0+IHtcbiAgLy8gSW5pdGlhbCBTZXR1cFxuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgY29uc3QgcmVnaW9uYWxSZXN0QXBpUmVzcG9uc2UgPSBkZWZhdWx0cy5SZWdpb25hbFJlc3RBcGkoc3RhY2spO1xuICBjb25zdCBkb21haW5OYW1lID0gXCJ3d3cudGVzdC1leGFtcGxlLmNvbVwiO1xuXG4gIGNvbnN0IHZwYyA9IGRlZmF1bHRzLmJ1aWxkVnBjKHN0YWNrLCB7XG4gICAgZGVmYXVsdFZwY1Byb3BzOiBkZWZhdWx0cy5EZWZhdWx0UHVibGljUHJpdmF0ZVZwY1Byb3BzKCksXG4gICAgY29uc3RydWN0VnBjUHJvcHM6IHtcbiAgICAgIGVuYWJsZURuc0hvc3RuYW1lczogdHJ1ZSxcbiAgICAgIGVuYWJsZURuc1N1cHBvcnQ6IHRydWUsXG4gICAgICBpcEFkZHJlc3NlczogZWMyLklwQWRkcmVzc2VzLmNpZHIoXCIxNzIuMTY4LjAuMC8xNlwiKSxcbiAgICB9LFxuICB9KTtcblxuICBjb25zdCBuZXdab25lID0gbmV3IHJvdXRlNTMuUHJpdmF0ZUhvc3RlZFpvbmUoc3RhY2ssIFwibmV3LXpvbmVcIiwge1xuICAgIHpvbmVOYW1lOiBkb21haW5OYW1lLFxuICAgIHZwY1xuICB9KTtcblxuICBjb25zdCBjZXJ0aWZpY2F0ZSA9IGFjbS5DZXJ0aWZpY2F0ZS5mcm9tQ2VydGlmaWNhdGVBcm4oXG4gICAgc3RhY2ssXG4gICAgXCJmYWtlLWNlcnRcIixcbiAgICBcImFybjphd3M6YWNtOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6Y2VydGlmaWNhdGUvMTExMTIyMjItMzMzMy0xMjM0LTEyMzQtMTIzNDU2Nzg5MDEyXCJcbiAgKTtcblxuICBsZXQgYXBwID0gKCkgPT5cbiAgICBuZXcgUm91dGU1M1RvQXBpR2F0ZXdheShzdGFjaywgXCJhcGktc3RhY2sxXCIsIHtcbiAgICAgIHB1YmxpY0FwaTogdHJ1ZSxcbiAgICAgIGV4aXN0aW5nQXBpR2F0ZXdheUludGVyZmFjZTogcmVnaW9uYWxSZXN0QXBpUmVzcG9uc2UuYXBpLFxuICAgICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGVcbiAgICB9KTtcbiAgLy8gQXNzZXJ0aW9uIDFcbiAgZXhwZWN0KGFwcCkudG9UaHJvd0Vycm9yKFxuICAgIFwiUHVibGljIEFQSXMgcmVxdWlyZSBhbiBleGlzdGluZ0hvc3RlZFpvbmUgYmUgcGFzc2VkIGluIHRoZSBQcm9wcyBvYmplY3QuXCJcbiAgKTtcblxuICBhcHAgPSAoKSA9PlxuICAgIG5ldyBSb3V0ZTUzVG9BcGlHYXRld2F5KHN0YWNrLCBcImFwaS1zdGFjazJcIiwge1xuICAgICAgcHVibGljQXBpOiBmYWxzZSxcbiAgICAgIGV4aXN0aW5nQXBpR2F0ZXdheUludGVyZmFjZTogcmVnaW9uYWxSZXN0QXBpUmVzcG9uc2UuYXBpLFxuICAgICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGVcbiAgICB9KTtcblxuICAvLyBBc3NlcnRpb24gMlxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXG4gICAgXCJNdXN0IHByb3ZpZGUgZWl0aGVyIGV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZSBvciBwcml2YXRlSG9zdGVkWm9uZVByb3BzLlwiXG4gICk7XG5cbiAgYXBwID0gKCkgPT5cbiAgICBuZXcgUm91dGU1M1RvQXBpR2F0ZXdheShzdGFjaywgXCJhcGktc3RhY2szXCIsIHtcbiAgICAgIHB1YmxpY0FwaTogZmFsc2UsXG4gICAgICBwcml2YXRlSG9zdGVkWm9uZVByb3BzOiB7XG4gICAgICAgIHpvbmVOYW1lOiBcInRlc3QtZXhhbXBsZS5jb21cIixcbiAgICAgICAgdnBjLFxuICAgICAgfSxcbiAgICAgIGV4aXN0aW5nQXBpR2F0ZXdheUludGVyZmFjZTogcmVnaW9uYWxSZXN0QXBpUmVzcG9uc2UuYXBpLFxuICAgICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGVcbiAgICB9KTtcblxuICAvLyBBc3NlcnRpb24gM1xuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXG4gICAgXCJBbGwgVlBDIHNwZWNzIG11c3QgYmUgcHJvdmlkZWQgYXQgdGhlIENvbnN0cnVjdCBsZXZlbCBpbiBSb3V0ZTUzVG9BcGlHYXRld2F5UHJvcHNcIlxuICApO1xuXG4gIGFwcCA9ICgpID0+XG4gICAgbmV3IFJvdXRlNTNUb0FwaUdhdGV3YXkoc3RhY2ssIFwiYXBpLXN0YWNrNFwiLCB7XG4gICAgICBwdWJsaWNBcGk6IGZhbHNlLFxuICAgICAgZXhpc3RpbmdIb3N0ZWRab25lSW50ZXJmYWNlOiBuZXdab25lLFxuICAgICAgZXhpc3RpbmdWcGM6IHZwYyxcbiAgICAgIGV4aXN0aW5nQXBpR2F0ZXdheUludGVyZmFjZTogcmVnaW9uYWxSZXN0QXBpUmVzcG9uc2UuYXBpLFxuICAgICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGVcbiAgICB9KTtcblxuICAvLyBBc3NlcnRpb24gNFxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXG4gICAgXCJDYW5ub3QgcHJvdmlkZSBhbiBleGlzdGluZyBWUEMgdG8gYW4gZXhpc3RpbmcgUHJpdmF0ZSBIb3N0ZWQgWm9uZS5cIlxuICApO1xuXG4gIGFwcCA9ICgpID0+XG4gICAgbmV3IFJvdXRlNTNUb0FwaUdhdGV3YXkoc3RhY2ssIFwiYXBpLXN0YWNrNVwiLCB7XG4gICAgICBwdWJsaWNBcGk6IGZhbHNlLFxuICAgICAgZXhpc3RpbmdIb3N0ZWRab25lSW50ZXJmYWNlOiBuZXdab25lLFxuICAgICAgZXhpc3RpbmdBcGlHYXRld2F5SW50ZXJmYWNlOiByZWdpb25hbFJlc3RBcGlSZXNwb25zZS5hcGksXG4gICAgICBwcml2YXRlSG9zdGVkWm9uZVByb3BzOiB7XG4gICAgICAgIGRvbWFpbk5hbWU6IFwidGVzdC1leGFtcGxlLmNvbVwiXG4gICAgICB9LFxuICAgICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGVcbiAgICB9KTtcblxuICAvLyBBc3NlcnRpb24gNVxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXG4gICAgXCJNdXN0IHByb3ZpZGUgZWl0aGVyIGV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZSBvciBwcml2YXRlSG9zdGVkWm9uZVByb3BzLCBidXQgbm90IGJvdGguXCJcbiAgKTtcblxuICBhcHAgPSAoKSA9PlxuICAgIG5ldyBSb3V0ZTUzVG9BcGlHYXRld2F5KHN0YWNrLCBcImFwaS1zdGFjazZcIiwge1xuICAgICAgcHVibGljQXBpOiBmYWxzZSxcbiAgICAgIHByaXZhdGVIb3N0ZWRab25lUHJvcHM6IHtcbiAgICAgICAgZG9tYWluTmFtZTogXCJ0ZXN0LmV4YW1wbGUuY29tXCJcbiAgICAgIH0sXG4gICAgICBleGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2U6IHJlZ2lvbmFsUmVzdEFwaVJlc3BvbnNlLmFwaSxcbiAgICAgIGV4aXN0aW5nQ2VydGlmaWNhdGVJbnRlcmZhY2U6IGNlcnRpZmljYXRlXG4gICAgfSk7XG5cbiAgLy8gQXNzZXJ0aW9uIDZcbiAgZXhwZWN0KGFwcCkudG9UaHJvd0Vycm9yKFxuICAgICdNdXN0IHN1cHBseSB6b25lTmFtZSBmb3IgUHJpdmF0ZSBIb3N0ZWQgWm9uZSBQcm9wcy4nXG4gICk7XG5cbiAgYXBwID0gKCkgPT5cbiAgICBuZXcgUm91dGU1M1RvQXBpR2F0ZXdheShzdGFjaywgXCJhcGktc3RhY2s3XCIsIHtcbiAgICAgIHB1YmxpY0FwaTogZmFsc2UsXG4gICAgICBwcml2YXRlSG9zdGVkWm9uZVByb3BzOiB7XG4gICAgICAgIHpvbmVOYW1lOiBcInRlc3QuZXhhbXBsZS5jb21cIlxuICAgICAgfSxcbiAgICAgIGV4aXN0aW5nQXBpR2F0ZXdheUludGVyZmFjZTogcmVnaW9uYWxSZXN0QXBpUmVzcG9uc2UuYXBpLFxuICAgICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGVcbiAgICB9KTtcblxuICAvLyBBc3NlcnRpb24gN1xuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXG4gICAgJ011c3Qgc3BlY2lmeSBhbiBleGlzdGluZ1ZQQyBmb3IgdGhlIFByaXZhdGUgSG9zdGVkIFpvbmUgaW4gdGhlIGNvbnN0cnVjdCBwcm9wcy4nXG4gICk7XG59KTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBwcm92aWRpbmcgcHJpdmF0ZSBob3N0ZWQgem9uZSBwcm9wc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QoXCJUZXN0IGZvciBwcm92aWRpbmcgcHJpdmF0ZSBob3N0ZWQgem9uZSBwcm9wc1wiLCAoKSA9PiB7XG4gIC8vIEluaXRpYWwgU2V0dXBcbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gIGNvbnN0IHJlZ2lvbmFsUmVzdEFwaVJlc3BvbnNlID0gZGVmYXVsdHMuUmVnaW9uYWxSZXN0QXBpKHN0YWNrKTtcbiAgcmVnaW9uYWxSZXN0QXBpUmVzcG9uc2UuYXBpLnJvb3QuYWRkTWV0aG9kKCdHRVQnKTtcblxuICBjb25zdCBkb21haW5OYW1lID0gXCJ3d3cucHJpdmF0ZS16b25lLmNvbVwiO1xuXG4gIGNvbnN0IHZwYyA9IGRlZmF1bHRzLmJ1aWxkVnBjKHN0YWNrLCB7XG4gICAgZGVmYXVsdFZwY1Byb3BzOiBkZWZhdWx0cy5EZWZhdWx0UHVibGljUHJpdmF0ZVZwY1Byb3BzKCksXG4gICAgY29uc3RydWN0VnBjUHJvcHM6IHtcbiAgICAgIGVuYWJsZURuc0hvc3RuYW1lczogdHJ1ZSxcbiAgICAgIGVuYWJsZURuc1N1cHBvcnQ6IHRydWUsXG4gICAgICBpcEFkZHJlc3NlczogZWMyLklwQWRkcmVzc2VzLmNpZHIoXCIxNzIuMTY4LjAuMC8xNlwiKSxcbiAgICB9LFxuICB9KTtcblxuICBjb25zdCBjZXJ0aWZpY2F0ZSA9IGFjbS5DZXJ0aWZpY2F0ZS5mcm9tQ2VydGlmaWNhdGVBcm4oXG4gICAgc3RhY2ssXG4gICAgXCJmYWtlLWNlcnRcIixcbiAgICBcImFybjphd3M6YWNtOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6Y2VydGlmaWNhdGUvMTExMTIyMjItMzMzMy0xMjM0LTEyMzQtMTIzNDU2Nzg5MDEyXCJcbiAgKTtcblxuICBuZXcgUm91dGU1M1RvQXBpR2F0ZXdheShzdGFjaywgXCJhcGktc3RhY2sxXCIsIHtcbiAgICBwdWJsaWNBcGk6IGZhbHNlLFxuICAgIGV4aXN0aW5nQXBpR2F0ZXdheUludGVyZmFjZTogcmVnaW9uYWxSZXN0QXBpUmVzcG9uc2UuYXBpLFxuICAgIHByaXZhdGVIb3N0ZWRab25lUHJvcHM6IHtcbiAgICAgIHpvbmVOYW1lOiBkb21haW5OYW1lLFxuICAgIH0sXG4gICAgZXhpc3RpbmdWcGM6IHZwYyxcbiAgICBleGlzdGluZ0NlcnRpZmljYXRlSW50ZXJmYWNlOiBjZXJ0aWZpY2F0ZVxuICB9KTtcblxuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKFwiQVdTOjpSb3V0ZTUzOjpIb3N0ZWRab25lXCIsIHtcbiAgICBOYW1lOiBcInd3dy5wcml2YXRlLXpvbmUuY29tLlwiLFxuICAgIFZQQ3M6IFtcbiAgICAgIHtcbiAgICAgICAgVlBDSWQ6IHtcbiAgICAgICAgICBSZWY6IFwiVnBjODM3OEVCMzhcIixcbiAgICAgICAgfSxcbiAgICAgICAgVlBDUmVnaW9uOiB7XG4gICAgICAgICAgUmVmOiBcIkFXUzo6UmVnaW9uXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gIH0pO1xufSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDaGVjayBmb3IgQSByZWNvcmQgY3JlYXRpb24gaW4gUHVibGljIEhvc3RlZCBab25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudGVzdChcIkludGVncmF0aW9uIHRlc3QgZm9yIEEgcmVjb3JkIGNyZWF0aW9uIGluIFB1YmxpYyBIb3N0ZWQgWm9uZSBcIiwgKCkgPT4ge1xuICAvLyBJbml0aWFsIFNldHVwXG4gIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuICBkZXBsb3lBcGkoc3RhY2ssIHRydWUpO1xuXG4gIC8vIEFzc2VydGlvbnNcbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6Um91dGU1Mzo6UmVjb3JkU2V0XCIsIHtcbiAgICBOYW1lOiBcInd3dy50ZXN0LWV4YW1wbGUuY29tLlwiLFxuICAgIFR5cGU6IFwiQVwiLFxuICAgIEFsaWFzVGFyZ2V0OiB7XG4gICAgICBETlNOYW1lOiB7XG4gICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgXCJSZXN0QXBpQ3VzdG9tRG9tYWluTmFtZTk0RjI4RTE2XCIsXG4gICAgICAgICAgXCJSZWdpb25hbERvbWFpbk5hbWVcIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBIb3N0ZWRab25lSWQ6IHtcbiAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICBcIlJlc3RBcGlDdXN0b21Eb21haW5OYW1lOTRGMjhFMTZcIixcbiAgICAgICAgICBcIlJlZ2lvbmFsSG9zdGVkWm9uZUlkXCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgSG9zdGVkWm9uZUlkOiB7XG4gICAgICBSZWY6IFwibmV3em9uZTFEMDExOTM2XCIsXG4gICAgfSxcbiAgfSk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6QXBpR2F0ZXdheTo6UmVzdEFwaVwiLCB7XG4gICAgRW5kcG9pbnRDb25maWd1cmF0aW9uOiB7XG4gICAgICBUeXBlczogW1xuICAgICAgICBcIlJFR0lPTkFMXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIE5hbWU6IFwiUmVzdEFwaVwiXG4gIH0pO1xufSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDaGVjayBmb3IgQSByZWNvcmQgY3JlYXRpb24gaW4gUHJpdmF0ZSBIb3N0ZWQgWm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QoXCJJbnRlZ3JhdGlvbiB0ZXN0IGZvciBBIHJlY29yZCBjcmVhdGlvbiBpbiBQcml2YXRlIEhvc3RlZCBab25lIFwiLCAoKSA9PiB7XG4gIC8vIEluaXRpYWwgU2V0dXBcbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gIGRlcGxveUFwaShzdGFjaywgZmFsc2UpO1xuXG4gIC8vIEFzc2VydGlvbnNcbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6Um91dGU1Mzo6UmVjb3JkU2V0XCIsIHtcbiAgICBOYW1lOiBcInd3dy50ZXN0LWV4YW1wbGUuY29tLlwiLFxuICAgIFR5cGU6IFwiQVwiLFxuICAgIEFsaWFzVGFyZ2V0OiB7XG4gICAgICBETlNOYW1lOiB7XG4gICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgXCJSZXN0QXBpQ3VzdG9tRG9tYWluTmFtZTk0RjI4RTE2XCIsXG4gICAgICAgICAgXCJSZWdpb25hbERvbWFpbk5hbWVcIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBIb3N0ZWRab25lSWQ6IHtcbiAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICBcIlJlc3RBcGlDdXN0b21Eb21haW5OYW1lOTRGMjhFMTZcIixcbiAgICAgICAgICBcIlJlZ2lvbmFsSG9zdGVkWm9uZUlkXCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgSG9zdGVkWm9uZUlkOiB7XG4gICAgICBSZWY6IFwibmV3em9uZTFEMDExOTM2XCIsXG4gICAgfSxcbiAgfSk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6Um91dGU1Mzo6SG9zdGVkWm9uZVwiLCB7XG4gICAgTmFtZTogXCJ3d3cudGVzdC1leGFtcGxlLmNvbS5cIixcbiAgICBWUENzOiBbXG4gICAgICB7XG4gICAgICAgIFZQQ0lkOiB7XG4gICAgICAgICAgUmVmOiBcIlZwYzgzNzhFQjM4XCIsXG4gICAgICAgIH0sXG4gICAgICAgIFZQQ1JlZ2lvbjoge1xuICAgICAgICAgIFJlZjogXCJBV1M6OlJlZ2lvblwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICB9KTtcblxuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKFwiQVdTOjpBcGlHYXRld2F5OjpSZXN0QXBpXCIsIHtcbiAgICBFbmRwb2ludENvbmZpZ3VyYXRpb246IHtcbiAgICAgIFR5cGVzOiBbXG4gICAgICAgIFwiUkVHSU9OQUxcIlxuICAgICAgXVxuICAgIH0sXG4gICAgTmFtZTogXCJSZXN0QXBpXCJcbiAgfSk7XG59KTsiXX0=
|