@restatedev/restate-cdk 0.8.0 → 1.0.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/.github/workflows/publish.yml +3 -3
- package/.github/workflows/test.yml +3 -5
- package/README.md +15 -11
- package/dist/register-service-handler/index.d.ts +1 -1
- package/dist/register-service-handler/index.js +32 -14
- package/dist/restate-environment.d.ts +2 -2
- package/dist/restate-environment.js +1 -1
- package/dist/service-deployer.d.ts +1 -1
- package/dist/service-deployer.js +1 -1
- package/dist/single-node-restate-deployment.d.ts +4 -4
- package/dist/single-node-restate-deployment.js +5 -5
- package/package.json +13 -13
- package/test/__snapshots__/restate-constructs.test.ts.snap +0 -1
|
@@ -9,11 +9,11 @@ jobs:
|
|
|
9
9
|
contents: read
|
|
10
10
|
packages: write
|
|
11
11
|
steps:
|
|
12
|
-
- uses: actions/checkout@
|
|
12
|
+
- uses: actions/checkout@v4
|
|
13
13
|
# Setup .npmrc file to publish to NPM
|
|
14
|
-
- uses: actions/setup-node@
|
|
14
|
+
- uses: actions/setup-node@v4
|
|
15
15
|
with:
|
|
16
|
-
node-version: "
|
|
16
|
+
node-version: "20.x"
|
|
17
17
|
registry-url: 'https://registry.npmjs.org'
|
|
18
18
|
- run: npm ci
|
|
19
19
|
- run: npm run build
|
|
@@ -3,8 +3,6 @@ name: Build and test
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
5
5
|
branches: [ main ]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [ main ]
|
|
8
6
|
|
|
9
7
|
jobs:
|
|
10
8
|
build:
|
|
@@ -13,12 +11,12 @@ jobs:
|
|
|
13
11
|
runs-on: ubuntu-latest
|
|
14
12
|
strategy:
|
|
15
13
|
matrix:
|
|
16
|
-
node-version: [
|
|
14
|
+
node-version: [ 20.x ]
|
|
17
15
|
|
|
18
16
|
steps:
|
|
19
|
-
- uses: actions/checkout@
|
|
17
|
+
- uses: actions/checkout@v4
|
|
20
18
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
21
|
-
uses: actions/setup-node@
|
|
19
|
+
uses: actions/setup-node@v4
|
|
22
20
|
with:
|
|
23
21
|
node-version: ${{ matrix.node-version }}
|
|
24
22
|
registry-url: 'https://registry.npmjs.org'
|
package/README.md
CHANGED
|
@@ -10,23 +10,27 @@ AWS. This library helps you when deploying Restate services to AWS Lambda as wel
|
|
|
10
10
|
deployments on your own infrastructure. For more information on CDK, please
|
|
11
11
|
see [Getting started with the AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html).
|
|
12
12
|
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
Inside an existing CDK project, add the library from [npm](https://www.npmjs.com/package/@restatedev/restate-cdk):
|
|
16
|
+
|
|
17
|
+
```shell
|
|
18
|
+
npm i @restatedev/restate-cdk
|
|
19
|
+
```
|
|
20
|
+
|
|
13
21
|
## Available constructs
|
|
14
22
|
|
|
15
|
-
- [`LambdaServiceRegistry`](./lib/restate-constructs/lambda-service-registry.ts) - A collection of Lambda-deployed
|
|
16
|
-
Restate services, this construct automatically registers the latest function version as a new deployment revision in a
|
|
17
|
-
Restate instance
|
|
18
23
|
- [`SingleNodeRestateDeployment`](./lib/restate-constructs/single-node-restate-deployment.ts) - Deploys a self-hosted
|
|
19
|
-
Restate
|
|
20
|
-
- [`
|
|
24
|
+
Restate server running on Amazon EC2; this provides a basic single-node deployment targeted at development and testing
|
|
25
|
+
- [`ServiceDeployer`](./lib/restate-constructs/service-deployer.ts) - facilitates registration of Lambda-based service
|
|
26
|
+
handlers with a Restate environment, such as a self-hosted EC2 environment
|
|
21
27
|
|
|
22
28
|
For a more detailed overview, please see
|
|
23
|
-
the [Restate CDK documentation](https://docs.restate.dev/
|
|
29
|
+
the [Restate CDK documentation](https://docs.restate.dev/deploy/lambda/cdk).
|
|
24
30
|
|
|
25
31
|
### Examples
|
|
26
32
|
|
|
27
|
-
You can use the following
|
|
33
|
+
You can use the following templates to bootstrap your own CDK projects:
|
|
28
34
|
|
|
29
|
-
- [
|
|
30
|
-
|
|
31
|
-
- [Restate Holiday](https://github.com/restatedev/restate-holiday) - a more complex example of a fictional reservation
|
|
32
|
-
service demonstrating the Saga orchestration pattern
|
|
35
|
+
- [typescript-lambda-cdk](https://github.com/restatedev/examples/tree/main/templates/typescript-lambda-cdk)
|
|
36
|
+
- [kotlin-gradle-lambda-cdk](https://github.com/restatedev/examples/tree/main/templates/kotlin-gradle-lambda-cdk)
|
|
@@ -14,6 +14,6 @@ export interface RegistrationProperties {
|
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Custom Resource event handler for Restate service registration. This handler backs the custom resources created by
|
|
17
|
-
* {@link
|
|
17
|
+
* {@link ServiceDeployer} to facilitate Lambda service handler discovery.
|
|
18
18
|
*/
|
|
19
19
|
export declare const handler: Handler<CloudFormationCustomResourceEvent, void>;
|
|
@@ -40,7 +40,8 @@ exports.handler = void 0;
|
|
|
40
40
|
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
41
41
|
const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
|
|
42
42
|
const crypto_1 = require("crypto");
|
|
43
|
-
const https = __importStar(require("https"));
|
|
43
|
+
const https = __importStar(require("node:https"));
|
|
44
|
+
const http = __importStar(require("node:http"));
|
|
44
45
|
const MAX_HEALTH_CHECK_ATTEMPTS = 5; // This is intentionally quite long to allow some time for first-run EC2 and Docker boot up
|
|
45
46
|
const MAX_REGISTRATION_ATTEMPTS = 3;
|
|
46
47
|
// const INSECURE = true;
|
|
@@ -49,10 +50,26 @@ const SERVICES_PATH = "services";
|
|
|
49
50
|
const DEPLOYMENTS_PATH_LEGACY = "endpoints"; // temporarily fall back for legacy clusters
|
|
50
51
|
/**
|
|
51
52
|
* Custom Resource event handler for Restate service registration. This handler backs the custom resources created by
|
|
52
|
-
* {@link
|
|
53
|
+
* {@link ServiceDeployer} to facilitate Lambda service handler discovery.
|
|
53
54
|
*/
|
|
54
55
|
const handler = async function (event) {
|
|
55
56
|
console.log({ event });
|
|
57
|
+
const props = event.ResourceProperties;
|
|
58
|
+
const httpAgent = new http.Agent({
|
|
59
|
+
keepAlive: true,
|
|
60
|
+
});
|
|
61
|
+
const httpsAgent = new https.Agent({
|
|
62
|
+
keepAlive: true,
|
|
63
|
+
rejectUnauthorized: props.insecure !== "true",
|
|
64
|
+
});
|
|
65
|
+
const agentSelector = (url) => {
|
|
66
|
+
if (url.protocol == "http:") {
|
|
67
|
+
return httpAgent;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
return httpsAgent;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
56
73
|
if (event.RequestType === "Delete") {
|
|
57
74
|
// Since we retain older Lambda handler versions on update, we also leave the registered service alone. There may
|
|
58
75
|
// be unfinished invocations that require it; in the future we would want to inform Restate that we want to
|
|
@@ -67,7 +84,7 @@ const handler = async function (event) {
|
|
|
67
84
|
// const deleteResponse = await fetch(`${props.adminUrl}/${DEPLOYMENTS_PATH}/${id}?force=true`, {
|
|
68
85
|
// signal: controller.signal,
|
|
69
86
|
// method: "DELETE",
|
|
70
|
-
// agent:
|
|
87
|
+
// agent: agentSelector,
|
|
71
88
|
// }).finally(() => clearTimeout(deleteCallTimeout));
|
|
72
89
|
//
|
|
73
90
|
// console.log(`Got delete response back: ${deleteResponse.status}`);
|
|
@@ -78,13 +95,13 @@ const handler = async function (event) {
|
|
|
78
95
|
console.warn("De-registering services is not supported currently. Previous version will remain registered.");
|
|
79
96
|
return;
|
|
80
97
|
}
|
|
81
|
-
const props = event.ResourceProperties;
|
|
82
98
|
const authHeader = await createAuthHeader(props);
|
|
83
99
|
let attempt;
|
|
84
100
|
const healthCheckUrl = `${props.adminUrl}/health`;
|
|
85
|
-
console.log(`Performing health check against: ${healthCheckUrl}`);
|
|
86
101
|
attempt = 1;
|
|
102
|
+
console.log(`Performing health check against: ${healthCheckUrl}`);
|
|
87
103
|
while (true) {
|
|
104
|
+
console.log(`Making health check request #${attempt}...`);
|
|
88
105
|
const controller = new AbortController();
|
|
89
106
|
const healthCheckTimeout = setTimeout(() => controller.abort("timeout"), 5000);
|
|
90
107
|
let healthResponse = undefined;
|
|
@@ -93,7 +110,7 @@ const handler = async function (event) {
|
|
|
93
110
|
healthResponse = await (0, node_fetch_1.default)(healthCheckUrl, {
|
|
94
111
|
signal: controller.signal,
|
|
95
112
|
headers: authHeader,
|
|
96
|
-
agent:
|
|
113
|
+
agent: agentSelector,
|
|
97
114
|
}).finally(() => clearTimeout(healthCheckTimeout));
|
|
98
115
|
console.log(`Got health check response back: ${healthResponse.status}`);
|
|
99
116
|
if (healthResponse.status >= 200 && healthResponse.status < 300) {
|
|
@@ -120,11 +137,11 @@ const handler = async function (event) {
|
|
|
120
137
|
assume_role_arn: props.invokeRoleArn,
|
|
121
138
|
});
|
|
122
139
|
let failureReason;
|
|
123
|
-
console.log(`Triggering registration at ${deploymentsUrl}: ${registrationRequest}`);
|
|
124
140
|
attempt = 1;
|
|
141
|
+
console.log(`Triggering registration at ${deploymentsUrl}: ${registrationRequest}`);
|
|
125
142
|
while (true) {
|
|
126
143
|
try {
|
|
127
|
-
console.log(`Making request #${attempt}...`);
|
|
144
|
+
console.log(`Making registration request #${attempt}...`);
|
|
128
145
|
const controller = new AbortController();
|
|
129
146
|
const registerCallTimeout = setTimeout(() => controller.abort("timeout"), 10000);
|
|
130
147
|
const registerDeploymentResponse = await (0, node_fetch_1.default)(deploymentsUrl, {
|
|
@@ -135,7 +152,7 @@ const handler = async function (event) {
|
|
|
135
152
|
"Content-Type": "application/json",
|
|
136
153
|
...authHeader,
|
|
137
154
|
},
|
|
138
|
-
agent:
|
|
155
|
+
agent: agentSelector,
|
|
139
156
|
}).finally(() => clearTimeout(registerCallTimeout));
|
|
140
157
|
if (registerDeploymentResponse.status == 404 && attempt == 1) {
|
|
141
158
|
deploymentsUrl = `${props.adminUrl}/${DEPLOYMENTS_PATH_LEGACY}`;
|
|
@@ -144,17 +161,18 @@ const handler = async function (event) {
|
|
|
144
161
|
if (registerDeploymentResponse.status >= 200 && registerDeploymentResponse.status < 300) {
|
|
145
162
|
const response = (await registerDeploymentResponse.json());
|
|
146
163
|
// TODO: there may be more than one! support optional exact/partial matching
|
|
147
|
-
if (response?.services?.
|
|
164
|
+
if (!response?.services?.find((s) => s.name === props.servicePath)) {
|
|
148
165
|
failureReason =
|
|
149
166
|
"Restate service registration failed: service name indicated by service response" +
|
|
150
167
|
` ("${response?.services?.[0]?.name})) does not match the expected value ("${props.servicePath}")!`;
|
|
151
|
-
|
|
168
|
+
attempt = MAX_REGISTRATION_ATTEMPTS; // don't retry this
|
|
169
|
+
break;
|
|
152
170
|
}
|
|
153
171
|
console.log("Successful registration!");
|
|
154
172
|
const isPublic = (props.private ?? "false") === "false";
|
|
155
173
|
console.log(`Marking service ${props.servicePath} as ${isPublic ? "public" : "private"}...`);
|
|
156
174
|
const controller = new AbortController();
|
|
157
|
-
const privateCallTimeout = setTimeout(() => controller.abort("timeout"),
|
|
175
|
+
const privateCallTimeout = setTimeout(() => controller.abort("timeout"), 10000);
|
|
158
176
|
const patchResponse = await (0, node_fetch_1.default)(`${props.adminUrl}/${SERVICES_PATH}/${props.servicePath}`, {
|
|
159
177
|
signal: controller.signal,
|
|
160
178
|
method: "PATCH",
|
|
@@ -163,7 +181,7 @@ const handler = async function (event) {
|
|
|
163
181
|
...authHeader,
|
|
164
182
|
},
|
|
165
183
|
body: JSON.stringify({ public: isPublic }),
|
|
166
|
-
agent:
|
|
184
|
+
agent: agentSelector,
|
|
167
185
|
}).finally(() => clearTimeout(privateCallTimeout));
|
|
168
186
|
console.log(`Got patch response back: ${patchResponse.status}`);
|
|
169
187
|
if (patchResponse.status != 200) {
|
|
@@ -215,4 +233,4 @@ async function createAuthHeader(props) {
|
|
|
215
233
|
async function sleep(millis) {
|
|
216
234
|
return new Promise((resolve) => setTimeout(resolve, millis));
|
|
217
235
|
}
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcmVzdGF0ZS1jb25zdHJ1Y3RzL3JlZ2lzdGVyLXNlcnZpY2UtaGFuZGxlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7OztHQVNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlILDREQUErQjtBQUUvQiw0RUFBOEY7QUFDOUYsbUNBQW1DO0FBQ25DLDZDQUErQjtBQXNCL0IsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUMsQ0FBQywyRkFBMkY7QUFDaEksTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFFcEMseUJBQXlCO0FBRXpCLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO0FBQ3ZDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUNqQyxNQUFNLHVCQUF1QixHQUFHLFdBQVcsQ0FBQyxDQUFDLDRDQUE0QztBQUV6Rjs7O0dBR0c7QUFDSSxNQUFNLE9BQU8sR0FBcUQsS0FBSyxXQUFXLEtBQUs7SUFDNUYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFFdkIsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLGlIQUFpSDtRQUNqSCwyR0FBMkc7UUFDM0csK0dBQStHO1FBQy9HLHVCQUF1QjtRQUV2QixvRUFBb0U7UUFDcEUsMkRBQTJEO1FBQzNELHFFQUFxRTtRQUNyRSw4Q0FBOEM7UUFDOUMsbUdBQW1HO1FBQ25HLG9GQUFvRjtRQUNwRixtR0FBbUc7UUFDbkcsaUNBQWlDO1FBQ2pDLHdCQUF3QjtRQUN4QixvRkFBb0Y7UUFDcEYsdURBQXVEO1FBQ3ZELEVBQUU7UUFDRix1RUFBdUU7UUFDdkUsd0NBQXdDO1FBQ3hDLHNIQUFzSDtRQUN0SCxNQUFNO1FBQ04sSUFBSTtRQUVKLE9BQU8sQ0FBQyxJQUFJLENBQUMsOEZBQThGLENBQUMsQ0FBQztR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QUFJLENBQzdCLElBQUksOENBQXFCLENBQUM7UUFDeEIsUUFBUSxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7S0FDbkMsQ0FBQyxDQUNILENBQUM7SUFFRixPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxRQUFRLENBQUMsSUFBSSxhQUFhLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzlGLE9BQU87UUFDTCxhQUFhLEVBQUUsVUFBVSxRQUFRLENBQUMsWUFBWSxFQUFFO0tBQ2pELENBQUM7QUFDSixDQUFDO0FBRUQsS0FBSyxVQUFVLEtBQUssQ0FBQyxNQUFjO0lBQ2pDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUMvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMyAtIFJlc3RhdGUgU29mdHdhcmUsIEluYy4sIFJlc3RhdGUgR21iSFxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBSZXN0YXRlIFNESyBmb3IgTm9kZS5qcy9UeXBlU2NyaXB0LFxuICogd2hpY2ggaXMgcmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICpcbiAqIFlvdSBjYW4gZmluZCBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgaW4gZmlsZSBMSUNFTlNFIGluIHRoZSByb290XG4gKiBkaXJlY3Rvcnkgb2YgdGhpcyByZXBvc2l0b3J5IG9yIHBhY2thZ2UsIG9yIGF0XG4gKiBodHRwczovL2dpdGh1Yi5jb20vcmVzdGF0ZWRldi9zZGstdHlwZXNjcmlwdC9ibG9iL21haW4vTElDRU5TRVxuICovXG5cbmltcG9ydCB7IEhhbmRsZXIgfSBmcm9tIFwiYXdzLWxhbWJkYS9oYW5kbGVyXCI7XG5pbXBvcnQgeyBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRXZlbnQgfSBmcm9tIFwiYXdzLWxhbWJkYS90cmlnZ2VyL2Nsb3VkZm9ybWF0aW9uLWN1c3RvbS1yZXNvdXJjZVwiO1xuaW1wb3J0IGZldGNoIGZyb20gXCJub2RlLWZldGNoXCI7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQsIFNlY3JldHNNYW5hZ2VyQ2xpZW50IH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIjtcbmltcG9ydCB7IHJhbmRvbUludCB9IGZyb20gXCJjcnlwdG9cIjtcbmltcG9ydCAqIGFzIGh0dHBzIGZyb20gXCJodHRwc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJhdGlvblByb3BlcnRpZXMge1xuICBzZXJ2aWNlUGF0aD86IHN0cmluZztcbiAgYWRtaW5Vcmw/OiBzdHJpbmc7XG4gIHNlcnZpY2VMYW1iZGFBcm4/OiBzdHJpbmc7XG4gIGludm9rZVJvbGVBcm4/OiBzdHJpbmc7XG4gIHJlbW92YWxQb2xpY3k/OiBjZGsuUmVtb3ZhbFBvbGljeTtcbiAgYXV0aFRva2VuU2VjcmV0QXJuPzogc3RyaW5nO1xuICAvKiBOb3QgdXNlZCBieSB0aGUgaGFuZGxlciwgcHVyZWx5IHVzZWQgdG8gdHJpY2sgQ2xvdWRGb3JtYXRpb24gdG8gcGVyZm9ybSBhbiB1cGRhdGUgd2hlbiBpdCBvdGhlcndpc2Ugd291bGQgbm90LiAqL1xuICBjb25maWd1cmF0aW9uVmVyc2lvbj86IHN0cmluZztcbiAgLyogV2hldGhlciB0byBtYXJrIHRoZSBzZXJ2aWNlIGFzIHByaXZhdGUsIGFuZCBtYWtlIGl0IHVuYXZhaWxhYmxlIHRvIGJlIGNhbGxlZCB2aWEgUmVzdGF0ZSBpbmdyZXNzLiAqL1xuICBwcml2YXRlPzogXCJ0cnVlXCIgfCBcImZhbHNlXCI7XG4gIC8qIFdoZXRoZXIgdG8gdHJ1c3QgYW55IGNlcnRpZmljYXRlIGZyb20gdGhlIGFkbWluIGVuZHBvaW50LiAqL1xuICBpbnNlY3VyZT86IFwidHJ1ZVwiIHwgXCJmYWxzZVwiO1xufVxuXG50eXBlIFJlZ2lzdGVyRGVwbG95bWVudFJlc3BvbnNlID0ge1xuICBpZD86IHN0cmluZztcbiAgc2VydmljZXM/OiB7IG5hbWU/OiBzdHJpbmc7IHJldmlzaW9uPzogbnVtYmVyIH1bXTtcbn07XG5cbmNvbnN0IE1BWF9IRUFMVEhfQ0hFQ0tfQVRURU1QVFMgPSA1OyAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgcXVpdGUgbG9uZyB0byBhbGxvdyBzb21lIHRpbWUgZm9yIGZpcnN0LXJ1biBFQzIgYW5kIERvY2tlciBib290IHVwXG5jb25zdCBNQVhfUkVHSVNUUkFUSU9OX0FUVEVNUFRTID0gMztcblxuLy8gY29uc3QgSU5TRUNVUkUgPSB0cnVlO1xuXG5jb25zdCBERVBMT1lNRU5UU19QQVRIID0gXCJkZXBsb3ltZW50c1wiO1xuY29uc3QgU0VSVklDRVNfUEFUSCA9IFwic2VydmljZXNcIjtcbmNvbnN0IERFUExPWU1FTlRTX1BBVEhfTEVHQUNZID0gXCJlbmRwb2ludHNcIjsgLy8gdGVtcG9yYXJpbHkgZmFsbCBiYWNrIGZvciBsZWdhY3kgY2x1c3RlcnNcblxuLyoqXG4gKiBDdXN0b20gUmVzb3VyY2UgZXZlbnQgaGFuZGxlciBmb3IgUmVzdGF0ZSBzZXJ2aWNlIHJlZ2lzdHJhdGlvbi4gVGhpcyBoYW5kbGVyIGJhY2tzIHRoZSBjdXN0b20gcmVzb3VyY2VzIGNyZWF0ZWQgYnlcbiAqIHtAbGluayBMYW1iZGFTZXJ2aWNlUmVnaXN0cnl9IHRvIGZhY2lsaXRhdGUgTGFtYmRhIHNlcnZpY2UgaGFuZGxlciBkaXNjb3ZlcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBoYW5kbGVyOiBIYW5kbGVyPENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCwgdm9pZD4gPSBhc3luYyBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgY29uc29sZS5sb2coeyBldmVudCB9KTtcblxuICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09IFwiRGVsZXRlXCIpIHtcbiAgICAvLyBTaW5jZSB3ZSByZXRhaW4gb2xkZXIgTGFtYmRhIGhhbmRsZXIgdmVyc2lvbnMgb24gdXBkYXRlLCB3ZSBhbHNvIGxlYXZlIHRoZSByZWdpc3RlcmVkIHNlcnZpY2UgYWxvbmUuIFRoZXJlIG1heVxuICAgIC8vIGJlIHVuZmluaXNoZWQgaW52b2NhdGlvbnMgdGhhdCByZXF1aXJlIGl0OyBpbiB0aGUgZnV0dXJlIHdlIHdvdWxkIHdhbnQgdG8gaW5mb3JtIFJlc3RhdGUgdGhhdCB3ZSB3YW50IHRvXG4gICAgLy8gZGUtcmVnaXN0ZXIgdGhlIHNlcnZpY2UsIGFuZCB3YWl0IGZvciBSZXN0YXRlIHRvIGxldCB1cyBrbm93IHRoYXQgaXQgaXMgc2FmZSB0byBkZWxldGUgdGhlIGRlcGxveWVkIEZ1bmN0aW9uXG4gICAgLy8gdmVyc2lvbiBmcm9tIExhbWJkYS5cblxuICAgIC8vIGNvbnN0IHByb3BzID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzIGFzIFJlZ2lzdHJhdGlvblByb3BlcnRpZXM7XG4gICAgLy8gaWYgKHByb3BzLnJlbW92YWxQb2xpY3kgPT09IGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1kpIHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKGBEZS1yZWdpc3RlcmluZyBzZXJ2aWNlICR7cHJvcHMuc2VydmljZUxhbWJkYUFybn1gKTtcbiAgICAvLyAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgLy8gICBjb25zdCBpZCA9IGJ0b2EocHJvcHMuc2VydmljZUxhbWJkYUFybiEpOyAvLyBUT0RPOiB3ZSBzaG91bGQgYmUgdHJlYXRpbmcgc2VydmljZSBpZHMgYXMgb3BhcXVlXG4gICAgLy8gICBjb25zdCBkZWxldGVDYWxsVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydChcInRpbWVvdXRcIiksIDVfMDAwKTtcbiAgICAvLyAgIGNvbnN0IGRlbGV0ZVJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7cHJvcHMuYWRtaW5Vcmx9LyR7REVQTE9ZTUVOVFNfUEFUSH0vJHtpZH0/Zm9yY2U9dHJ1ZWAsIHtcbiAgICAvLyAgICAgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCxcbiAgICAvLyAgICAgbWV0aG9kOiBcIkRFTEVURVwiLFxuICAgIC8vICAgICBhZ2VudDogSU5TRUNVUkUgPyBuZXcgaHR0cHMuQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pIDogdW5kZWZpbmVkLFxuICAgIC8vICAgfSkuZmluYWxseSgoKSA9PiBjbGVhclRpbWVvdXQoZGVsZXRlQ2FsbFRpbWVvdXQpKTtcbiAgICAvL1xuICAgIC8vICAgY29uc29sZS5sb2coYEdvdCBkZWxldGUgcmVzcG9uc2UgYmFjazogJHtkZWxldGVSZXNwb25zZS5zdGF0dXN9YCk7XG4gICAgLy8gICBpZiAoZGVsZXRlUmVzcG9uc2Uuc3RhdHVzICE9IDIwMikge1xuICAgIC8vICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlbW92aW5nIHNlcnZpY2UgZGVwbG95bWVudCBmYWlsZWQ6ICR7ZGVsZXRlUmVzcG9uc2Uuc3RhdHVzVGV4dH0gKCR7ZGVsZXRlUmVzcG9uc2Uuc3RhdHVzfSlgKTtcbiAgICAvLyAgIH1cbiAgICAvLyB9XG5cbiAgICBjb25zb2xlLndhcm4oXCJEZS1yZWdpc3RlcmluZyBzZXJ2aWNlcyBpcyBub3Qgc3VwcG9ydGVkIGN1cnJlbnRseS4gUHJldmlvdXMgdmVyc2lvbiB3aWxsIHJlbWFpbiByZWdpc3RlcmVkLlwiKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBwcm9wcyA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcyBhcyBSZWdpc3RyYXRpb25Qcm9wZXJ0aWVzO1xuICBjb25zdCBhdXRoSGVhZGVyID0gYXdhaXQgY3JlYXRlQXV0aEhlYWRlcihwcm9wcyk7XG5cbiAgbGV0IGF0dGVtcHQ7XG5cbiAgY29uc3QgaGVhbHRoQ2hlY2tVcmwgPSBgJHtwcm9wcy5hZG1pblVybH0vaGVhbHRoYDtcblxuICBjb25zb2xlLmxvZyhgUGVyZm9ybWluZyBoZWFsdGggY2hlY2sgYWdhaW5zdDogJHtoZWFsdGhDaGVja1VybH1gKTtcbiAgYXR0ZW1wdCA9IDE7XG4gIHdoaWxlICh0cnVlKSB7XG4gICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBjb25zdCBoZWFsdGhDaGVja1RpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IGNvbnRyb2xsZXIuYWJvcnQoXCJ0aW1lb3V0XCIpLCA1XzAwMCk7XG4gICAgbGV0IGhlYWx0aFJlc3BvbnNlID0gdW5kZWZpbmVkO1xuICAgIGxldCBlcnJvck1lc3NhZ2UgPSB1bmRlZmluZWQ7XG4gICAgdHJ5IHtcbiAgICAgIGhlYWx0aFJlc3BvbnNlID0gYXdhaXQgZmV0Y2goaGVhbHRoQ2hlY2tVcmwsIHtcbiAgICAgICAgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCxcbiAgICAgICAgaGVhZGVyczogYXV0aEhlYWRlcixcbiAgICAgICAgYWdlbnQ6IHByb3BzLmluc2VjdXJlID8gbmV3IGh0dHBzLkFnZW50KHsgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSB9KSA6IHVuZGVmaW5lZCxcbiAgICAgIH0pLmZpbmFsbHkoKCkgPT4gY2xlYXJUaW1lb3V0KGhlYWx0aENoZWNrVGltZW91dCkpO1xuXG4gICAgICBjb25zb2xlLmxvZyhgR290IGhlYWx0aCBjaGVjayByZXNwb25zZSBiYWNrOiAke2hlYWx0aFJlc3BvbnNlLnN0YXR1c31gKTtcbiAgICAgIGlmIChoZWFsdGhSZXNwb25zZS5zdGF0dXMgPj0gMjAwICYmIGhlYWx0aFJlc3BvbnNlLnN0YXR1cyA8IDMwMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIGBSZXN0YXRlIGhlYWx0aCBjaGVjayBmYWlsZWQ6ICR7aGVhbHRoUmVzcG9uc2Uuc3RhdHVzVGV4dH0gKCR7aGVhbHRoUmVzcG9uc2Uuc3RhdHVzfTsgYXR0ZW1wdCAke2F0dGVtcHR9KWAsXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGVycm9yTWVzc2FnZSA9IChlIGFzIEVycm9yKT8ubWVzc2FnZTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFJlc3RhdGUgaGVhbHRoIGNoZWNrIGZhaWxlZDogXCIke2Vycm9yTWVzc2FnZX1cIiAoYXR0ZW1wdCAke2F0dGVtcHR9KWApO1xuICAgIH1cblxuICAgIGlmIChhdHRlbXB0ID49IE1BWF9IRUFMVEhfQ0hFQ0tfQVRURU1QVFMpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEFkbWluIHNlcnZpY2UgaGVhbHRoIGNoZWNrIGZhaWxpbmcgYWZ0ZXIgJHthdHRlbXB0fSBhdHRlbXB0cy5gKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2UgPz8gYCR7aGVhbHRoUmVzcG9uc2U/LnN0YXR1c1RleHR9ICgke2hlYWx0aFJlc3BvbnNlPy5zdGF0dXN9KWApO1xuICAgIH1cbiAgICBhdHRlbXB0ICs9IDE7XG5cbiAgICBjb25zdCB3YWl0VGltZU1pbGxpcyA9IHJhbmRvbUludCgyXzAwMCkgKyAyICoqIGF0dGVtcHQgKiAxXzAwMDsgLy8gM3MgLT4gNnMgLT4gMTBzIC0+IDE4cyAtPiAzNHNcbiAgICBjb25zb2xlLmxvZyhgUmV0cnlpbmcgYWZ0ZXIgJHt3YWl0VGltZU1pbGxpc30gbXMuLi5gKTtcbiAgICBhd2FpdCBzbGVlcCh3YWl0VGltZU1pbGxpcyk7XG4gIH1cblxuICBsZXQgZGVwbG95bWVudHNVcmwgPSBgJHtwcm9wcy5hZG1pblVybH0vJHtERVBMT1lNRU5UU19QQVRIfWA7XG4gIGNvbnN0IHJlZ2lzdHJhdGlvblJlcXVlc3QgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgYXJuOiBwcm9wcy5zZXJ2aWNlTGFtYmRhQXJuLFxuICAgIGFzc3VtZV9yb2xlX2FybjogcHJvcHMuaW52b2tlUm9sZUFybixcbiAgfSk7XG5cbiAgbGV0IGZhaWx1cmVSZWFzb247XG4gIGNvbnNvbGUubG9nKGBUcmlnZ2VyaW5nIHJlZ2lzdHJhdGlvbiBhdCAke2RlcGxveW1lbnRzVXJsfTogJHtyZWdpc3RyYXRpb25SZXF1ZXN0fWApO1xuICBhdHRlbXB0ID0gMTtcbiAgd2hpbGUgKHRydWUpIHtcbiAgICB0cnkge1xuICAgICAgY29uc29sZS5sb2coYE1ha2luZyByZXF1ZXN0ICMke2F0dGVtcHR9Li4uYCk7XG4gICAgICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgICAgY29uc3QgcmVnaXN0ZXJDYWxsVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydChcInRpbWVvdXRcIiksIDEwXzAwMCk7XG4gICAgICBjb25zdCByZWdpc3RlckRlcGxveW1lbnRSZXNwb25zZSA9IGF3YWl0IGZldGNoKGRlcGxveW1lbnRzVXJsLCB7XG4gICAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgIGJvZHk6IHJlZ2lzdHJhdGlvblJlcXVlc3QsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAuLi5hdXRoSGVhZGVyLFxuICAgICAgICB9LFxuICAgICAgICBhZ2VudDogcHJvcHMuaW5zZWN1cmUgPyBuZXcgaHR0cHMuQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pIDogdW5kZWZpbmVkLFxuICAgICAgfSkuZmluYWxseSgoKSA9PiBjbGVhclRpbWVvdXQocmVnaXN0ZXJDYWxsVGltZW91dCkpO1xuXG4gICAgICBpZiAocmVnaXN0ZXJEZXBsb3ltZW50UmVzcG9uc2Uuc3RhdHVzID09IDQwNCAmJiBhdHRlbXB0ID09IDEpIHtcbiAgICAgICAgZGVwbG95bWVudHNVcmwgPSBgJHtwcm9wcy5hZG1pblVybH0vJHtERVBMT1lNRU5UU19QQVRIX0xFR0FDWX1gO1xuICAgICAgICBjb25zb2xlLmxvZyhgR290IDQwNCwgZmFsbGluZyBiYWNrIHRvIDwwLjcuMCBsZWdhY3kgZW5kcG9pbnQgcmVnaXN0cmF0aW9uIGF0OiAke2RlcGxveW1lbnRzVXJsfWApO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVnaXN0ZXJEZXBsb3ltZW50UmVzcG9uc2Uuc3RhdHVzID49IDIwMCAmJiByZWdpc3RlckRlcGxveW1lbnRSZXNwb25zZS5zdGF0dXMgPCAzMDApIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSAoYXdhaXQgcmVnaXN0ZXJEZXBsb3ltZW50UmVzcG9uc2UuanNvbigpKSBhcyBSZWdpc3RlckRlcGxveW1lbnRSZXNwb25zZTtcblxuICAgICAgICAvLyBUT0RPOiB0aGVyZSBtYXkgYmUgbW9yZSB0aGFuIG9uZSEgc3VwcG9ydCBvcHRpb25hbCBleGFjdC9wYXJ0aWFsIG1hdGNoaW5nXG4gICAgICAgIGlmIChyZXNwb25zZT8uc2VydmljZXM/LlswXT8ubmFtZSAhPT0gcHJvcHMuc2VydmljZVBhdGgpIHtcbiAgICAgICAgICBmYWlsdXJlUmVhc29uID1cbiAgICAgICAgICAgIFwiUmVzdGF0ZSBzZXJ2aWNlIHJlZ2lzdHJhdGlvbiBmYWlsZWQ6IHNlcnZpY2UgbmFtZSBpbmRpY2F0ZWQgYnkgc2VydmljZSByZXNwb25zZVwiICtcbiAgICAgICAgICAgIGAgKFwiJHtyZXNwb25zZT8uc2VydmljZXM/LlswXT8ubmFtZX0pKSBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgdmFsdWUgKFwiJHtwcm9wcy5zZXJ2aWNlUGF0aH1cIikhYDtcbiAgICAgICAgICBicmVhazsgLy8gZG9uJ3QgdGhyb3cgaW1tZWRpYXRlbHkgLSBsZXQgcmV0cnkgbG9vcCBkZWNpZGUgd2hldGhlciB0byBhYm9ydFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5sb2coXCJTdWNjZXNzZnVsIHJlZ2lzdHJhdGlvbiFcIik7XG5cbiAgICAgICAgY29uc3QgaXNQdWJsaWMgPSAocHJvcHMucHJpdmF0ZSA/PyBcImZhbHNlXCIpID09PSBcImZhbHNlXCI7XG4gICAgICAgIGNvbnNvbGUubG9nKGBNYXJraW5nIHNlcnZpY2UgJHtwcm9wcy5zZXJ2aWNlUGF0aH0gYXMgJHtpc1B1YmxpYyA/IFwicHVibGljXCIgOiBcInByaXZhdGVcIn0uLi5gKTtcbiAgICAgICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICAgICAgY29uc3QgcHJpdmF0ZUNhbGxUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiBjb250cm9sbGVyLmFib3J0KFwidGltZW91dFwiKSwgNV8wMDApO1xuICAgICAgICBjb25zdCBwYXRjaFJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7cHJvcHMuYWRtaW5Vcmx9LyR7U0VSVklDRVNfUEFUSH0vJHtwcm9wcy5zZXJ2aWNlUGF0aH1gLCB7XG4gICAgICAgICAgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCxcbiAgICAgICAgICBtZXRob2Q6IFwiUEFUQ0hcIixcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgIC4uLmF1dGhIZWFkZXIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IHB1YmxpYzogaXNQdWJsaWMgfSksXG4gICAgICAgICAgYWdlbnQ6IHByb3BzLmluc2VjdXJlID8gbmV3IGh0dHBzLkFnZW50KHsgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSB9KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSkuZmluYWxseSgoKSA9PiBjbGVhclRpbWVvdXQocHJpdmF0ZUNhbGxUaW1lb3V0KSk7XG5cbiAgICAgICAgY29uc29sZS5sb2coYEdvdCBwYXRjaCByZXNwb25zZSBiYWNrOiAke3BhdGNoUmVzcG9uc2Uuc3RhdHVzfWApO1xuICAgICAgICBpZiAocGF0Y2hSZXNwb25zZS5zdGF0dXMgIT0gMjAwKSB7XG4gICAgICAgICAgZmFpbHVyZVJlYXNvbiA9IGBNYXJraW5nIHNlcnZpY2UgYXMgJHtwcm9wcy5wcml2YXRlID8gXCJwcml2YXRlXCIgOiBcInB1YmxpY1wifSBmYWlsZWQ6ICR7cGF0Y2hSZXNwb25zZS5zdGF0dXNUZXh0fSAoJHtwYXRjaFJlc3BvbnNlLnN0YXR1c30pYDtcbiAgICAgICAgICBicmVhazsgLy8gZG9uJ3QgdGhyb3cgaW1tZWRpYXRlbHkgLSBsZXQgcmV0cnkgbG9vcCBkZWNpZGUgd2hldGhlciB0byBhYm9ydCBzXG4gICAgICAgIH1cblxuICAgICAgICBjb25zb2xlLmxvZyhgU3VjY2Vzc2Z1bGx5IG1hcmtlZCBzZXJ2aWNlIGFzICR7aXNQdWJsaWMgPyBcInB1YmxpY1wiIDogXCJwcml2YXRlXCJ9LmApO1xuXG4gICAgICAgIHJldHVybjsgLy8gT3ZlcmFsbCBzdWNjZXNzIVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2coe1xuICAgICAgICAgIG1lc3NhZ2U6IGBHb3QgZXJyb3IgcmVzcG9uc2UgZnJvbSBSZXN0YXRlLmAsXG4gICAgICAgICAgY29kZTogcmVnaXN0ZXJEZXBsb3ltZW50UmVzcG9uc2Uuc3RhdHVzLFxuICAgICAgICAgIGJvZHk6IGF3YWl0IHJlZ2lzdGVyRGVwbG95bWVudFJlc3BvbnNlLnRleHQoKSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihgU2VydmljZSByZWdpc3RyYXRpb24gY2FsbCBmYWlsZWQ6ICR7KGUgYXMgRXJyb3IpPy5tZXNzYWdlfSAoYXR0ZW1wdCAke2F0dGVtcHR9KWApO1xuICAgICAgZmFpbHVyZVJlYXNvbiA9IGBSZXN0YXRlIHNlcnZpY2UgcmVnaXN0cmF0aW9uIGZhaWxlZDogJHsoZSBhcyBFcnJvcik/Lm1lc3NhZ2V9YDtcbiAgICB9XG5cbiAgICBpZiAoYXR0ZW1wdCA+PSBNQVhfUkVHSVNUUkFUSU9OX0FUVEVNUFRTKSB7XG4gICAgICBmYWlsdXJlUmVhc29uID0gYFNlcnZpY2UgcmVnaXN0cmF0aW9uIGZhaWxlZCBhZnRlciAke2F0dGVtcHR9IGF0dGVtcHRzLmA7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgYXR0ZW1wdCArPSAxO1xuICAgIGNvbnN0IHdhaXRUaW1lTWlsbGlzID0gcmFuZG9tSW50KDJfMDAwKSArIDIgKiogYXR0ZW1wdCAqIDFfMDAwOyAvLyAzcyAtPiA2cyAtPiAxMHNcbiAgICBjb25zb2xlLmxvZyhgUmV0cnlpbmcgcmVnaXN0cmF0aW9uIGFmdGVyICR7d2FpdFRpbWVNaWxsaXN9IG1zLi4uYCk7XG4gICAgYXdhaXQgc2xlZXAod2FpdFRpbWVNaWxsaXMpO1xuICB9XG5cbiAgY29uc29sZS5lcnJvcihmYWlsdXJlUmVhc29uKTtcbiAgdGhyb3cgbmV3IEVycm9yKGZhaWx1cmVSZWFzb24gPz8gXCJSZXN0YXRlIHNlcnZpY2UgcmVnaXN0cmF0aW9uIGZhaWxlZC4gUGxlYXNlIHNlZSBsb2dzIGZvciBkZXRhaWxzLlwiKTtcbn07XG5cbmFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUF1dGhIZWFkZXIocHJvcHM6IFJlZ2lzdHJhdGlvblByb3BlcnRpZXMpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcbiAgaWYgKCFwcm9wcy5hdXRoVG9rZW5TZWNyZXRBcm4pIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBjb25zb2xlLmxvZyhgVXNpbmcgYmVhcmVyIGF1dGhlbnRpY2F0aW9uIHRva2VuIGZyb20gc2VjcmV0ICR7cHJvcHMuYXV0aFRva2VuU2VjcmV0QXJufWApO1xuICBjb25zdCBzc20gPSBuZXcgU2VjcmV0c01hbmFnZXJDbGllbnQoKTtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBzc20uc2VuZChcbiAgICBuZXcgR2V0U2VjcmV0VmFsdWVDb21tYW5kKHtcbiAgICAgIFNlY3JldElkOiBwcm9wcy5hdXRoVG9rZW5TZWNyZXRBcm4sXG4gICAgfSksXG4gICk7XG5cbiAgY29uc29sZS5sb2coYFN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgc2VjcmV0IFwiJHtyZXNwb25zZS5OYW1lfVwiIHZlcnNpb24gJHtyZXNwb25zZS5WZXJzaW9uSWR9YCk7XG4gIHJldHVybiB7XG4gICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Jlc3BvbnNlLlNlY3JldFN0cmluZ31gLFxuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBzbGVlcChtaWxsaXM6IG51bWJlcikge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbWlsbGlzKSk7XG59XG4iXX0=
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcmVzdGF0ZS1jb25zdHJ1Y3RzL3JlZ2lzdGVyLXNlcnZpY2UtaGFuZGxlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7OztHQVNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlILDREQUErQjtBQUUvQiw0RUFBOEY7QUFDOUYsbUNBQW1DO0FBQ25DLGtEQUFvQztBQUNwQyxnREFBa0M7QUFzQmxDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxDQUFDLENBQUMsMkZBQTJGO0FBQ2hJLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0FBRXBDLHlCQUF5QjtBQUV6QixNQUFNLGdCQUFnQixHQUFHLGFBQWEsQ0FBQztBQUN2QyxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUM7QUFDakMsTUFBTSx1QkFBdUIsR0FBRyxXQUFXLENBQUMsQ0FBQyw0Q0FBNEM7QUFFekY7OztHQUdHO0FBQ0ksTUFBTSxPQUFPLEdBQXFELEtBQUssV0FBVyxLQUFLO0lBQzVGLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBRXZCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxrQkFBNEMsQ0FBQztJQUVqRSxNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDL0IsU0FBUyxFQUFFLElBQUk7S0FDaEIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxVQUFVLEdBQUcsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ2pDLFNBQVMsRUFBRSxJQUFJO1FBQ2Ysa0JBQWtCLEVBQUUsS0FBSyxDQUFDLFFBQVEsS0FBSyxNQUFNO0tBQzlDLENBQUMsQ0FBQztJQUNILE1BQU0sYUFBYSxHQUFHLENBQUMsR0FBUSxFQUFFLEVBQUU7UUFDakMsSUFBSSxHQUFHLENBQUMsUUFBUSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzVC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LEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzlCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsaURBQWlELEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFDekYsTUFBTSxHQUFHLEdBQUcsSUFBSSw2Q0FBb0IsRUFBRSxDQUFDO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FDN0IsSUFBSSw4Q0FBcUIsQ0FBQztRQUN4QixRQUFRLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtLQUNuQyxDQUFDLENBQ0gsQ0FBQztJQUVGLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLFFBQVEsQ0FBQyxJQUFJLGFBQWEsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDOUYsT0FBTztRQUNMLGFBQWEsRUFBRSxVQUFVLFFBQVEsQ0FBQyxZQUFZLEVBQUU7S0FDakQsQ0FBQztBQUNKLENBQUM7QUFFRCxLQUFLLFVBQVUsS0FBSyxDQUFDLE1BQWM7SUFDakMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQy9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIzIC0gUmVzdGF0ZSBTb2Z0d2FyZSwgSW5jLiwgUmVzdGF0ZSBHbWJIXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFJlc3RhdGUgU0RLIGZvciBOb2RlLmpzL1R5cGVTY3JpcHQsXG4gKiB3aGljaCBpcyByZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKlxuICogWW91IGNhbiBmaW5kIGEgY29weSBvZiB0aGUgbGljZW5zZSBpbiBmaWxlIExJQ0VOU0UgaW4gdGhlIHJvb3RcbiAqIGRpcmVjdG9yeSBvZiB0aGlzIHJlcG9zaXRvcnkgb3IgcGFja2FnZSwgb3IgYXRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9yZXN0YXRlZGV2L3Nkay10eXBlc2NyaXB0L2Jsb2IvbWFpbi9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHsgSGFuZGxlciB9IGZyb20gXCJhd3MtbGFtYmRhL2hhbmRsZXJcIjtcbmltcG9ydCB7IENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCB9IGZyb20gXCJhd3MtbGFtYmRhL3RyaWdnZXIvY2xvdWRmb3JtYXRpb24tY3VzdG9tLXJlc291cmNlXCI7XG5pbXBvcnQgZmV0Y2ggZnJvbSBcIm5vZGUtZmV0Y2hcIjtcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IEdldFNlY3JldFZhbHVlQ29tbWFuZCwgU2VjcmV0c01hbmFnZXJDbGllbnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlclwiO1xuaW1wb3J0IHsgcmFuZG9tSW50IH0gZnJvbSBcImNyeXB0b1wiO1xuaW1wb3J0ICogYXMgaHR0cHMgZnJvbSBcIm5vZGU6aHR0cHNcIjtcbmltcG9ydCAqIGFzIGh0dHAgZnJvbSBcIm5vZGU6aHR0cFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJhdGlvblByb3BlcnRpZXMge1xuICBzZXJ2aWNlUGF0aD86IHN0cmluZztcbiAgYWRtaW5Vcmw/OiBzdHJpbmc7XG4gIHNlcnZpY2VMYW1iZGFBcm4/OiBzdHJpbmc7XG4gIGludm9rZVJvbGVBcm4/OiBzdHJpbmc7XG4gIHJlbW92YWxQb2xpY3k/OiBjZGsuUmVtb3ZhbFBvbGljeTtcbiAgYXV0aFRva2VuU2VjcmV0QXJuPzogc3RyaW5nO1xuICAvKiBOb3QgdXNlZCBieSB0aGUgaGFuZGxlciwgcHVyZWx5IHVzZWQgdG8gdHJpY2sgQ2xvdWRGb3JtYXRpb24gdG8gcGVyZm9ybSBhbiB1cGRhdGUgd2hlbiBpdCBvdGhlcndpc2Ugd291bGQgbm90LiAqL1xuICBjb25maWd1cmF0aW9uVmVyc2lvbj86IHN0cmluZztcbiAgLyogV2hldGhlciB0byBtYXJrIHRoZSBzZXJ2aWNlIGFzIHByaXZhdGUsIGFuZCBtYWtlIGl0IHVuYXZhaWxhYmxlIHRvIGJlIGNhbGxlZCB2aWEgUmVzdGF0ZSBpbmdyZXNzLiAqL1xuICBwcml2YXRlPzogXCJ0cnVlXCIgfCBcImZhbHNlXCI7XG4gIC8qIFdoZXRoZXIgdG8gdHJ1c3QgYW55IGNlcnRpZmljYXRlIGZyb20gdGhlIGFkbWluIGVuZHBvaW50LiAqL1xuICBpbnNlY3VyZT86IFwidHJ1ZVwiIHwgXCJmYWxzZVwiO1xufVxuXG50eXBlIFJlZ2lzdGVyRGVwbG95bWVudFJlc3BvbnNlID0ge1xuICBpZD86IHN0cmluZztcbiAgc2VydmljZXM/OiB7IG5hbWU/OiBzdHJpbmc7IHJldmlzaW9uPzogbnVtYmVyIH1bXTtcbn07XG5cbmNvbnN0IE1BWF9IRUFMVEhfQ0hFQ0tfQVRURU1QVFMgPSA1OyAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgcXVpdGUgbG9uZyB0byBhbGxvdyBzb21lIHRpbWUgZm9yIGZpcnN0LXJ1biBFQzIgYW5kIERvY2tlciBib290IHVwXG5jb25zdCBNQVhfUkVHSVNUUkFUSU9OX0FUVEVNUFRTID0gMztcblxuLy8gY29uc3QgSU5TRUNVUkUgPSB0cnVlO1xuXG5jb25zdCBERVBMT1lNRU5UU19QQVRIID0gXCJkZXBsb3ltZW50c1wiO1xuY29uc3QgU0VSVklDRVNfUEFUSCA9IFwic2VydmljZXNcIjtcbmNvbnN0IERFUExPWU1FTlRTX1BBVEhfTEVHQUNZID0gXCJlbmRwb2ludHNcIjsgLy8gdGVtcG9yYXJpbHkgZmFsbCBiYWNrIGZvciBsZWdhY3kgY2x1c3RlcnNcblxuLyoqXG4gKiBDdXN0b20gUmVzb3VyY2UgZXZlbnQgaGFuZGxlciBmb3IgUmVzdGF0ZSBzZXJ2aWNlIHJlZ2lzdHJhdGlvbi4gVGhpcyBoYW5kbGVyIGJhY2tzIHRoZSBjdXN0b20gcmVzb3VyY2VzIGNyZWF0ZWQgYnlcbiAqIHtAbGluayBTZXJ2aWNlRGVwbG95ZXJ9IHRvIGZhY2lsaXRhdGUgTGFtYmRhIHNlcnZpY2UgaGFuZGxlciBkaXNjb3ZlcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBoYW5kbGVyOiBIYW5kbGVyPENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCwgdm9pZD4gPSBhc3luYyBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgY29uc29sZS5sb2coeyBldmVudCB9KTtcblxuICBjb25zdCBwcm9wcyA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcyBhcyBSZWdpc3RyYXRpb25Qcm9wZXJ0aWVzO1xuXG4gIGNvbnN0IGh0dHBBZ2VudCA9IG5ldyBodHRwLkFnZW50KHtcbiAgICBrZWVwQWxpdmU6IHRydWUsXG4gIH0pO1xuICBjb25zdCBodHRwc0FnZW50ID0gbmV3IGh0dHBzLkFnZW50KHtcbiAgICBrZWVwQWxpdmU6IHRydWUsXG4gICAgcmVqZWN0VW5hdXRob3JpemVkOiBwcm9wcy5pbnNlY3VyZSAhPT0gXCJ0cnVlXCIsXG4gIH0pO1xuICBjb25zdCBhZ2VudFNlbGVjdG9yID0gKHVybDogVVJMKSA9PiB7XG4gICAgaWYgKHVybC5wcm90b2NvbCA9PSBcImh0dHA6XCIpIHtcbiAgICAgIHJldHVybiBodHRwQWdlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBodHRwc0FnZW50O1xuICAgIH1cbiAgfTtcblxuICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09IFwiRGVsZXRlXCIpIHtcbiAgICAvLyBTaW5jZSB3ZSByZXRhaW4gb2xkZXIgTGFtYmRhIGhhbmRsZXIgdmVyc2lvbnMgb24gdXBkYXRlLCB3ZSBhbHNvIGxlYXZlIHRoZSByZWdpc3RlcmVkIHNlcnZpY2UgYWxvbmUuIFRoZXJlIG1heVxuICAgIC8vIGJlIHVuZmluaXNoZWQgaW52b2NhdGlvbnMgdGhhdCByZXF1aXJlIGl0OyBpbiB0aGUgZnV0dXJlIHdlIHdvdWxkIHdhbnQgdG8gaW5mb3JtIFJlc3RhdGUgdGhhdCB3ZSB3YW50IHRvXG4gICAgLy8gZGUtcmVnaXN0ZXIgdGhlIHNlcnZpY2UsIGFuZCB3YWl0IGZvciBSZXN0YXRlIHRvIGxldCB1cyBrbm93IHRoYXQgaXQgaXMgc2FmZSB0byBkZWxldGUgdGhlIGRlcGxveWVkIEZ1bmN0aW9uXG4gICAgLy8gdmVyc2lvbiBmcm9tIExhbWJkYS5cblxuICAgIC8vIGNvbnN0IHByb3BzID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzIGFzIFJlZ2lzdHJhdGlvblByb3BlcnRpZXM7XG4gICAgLy8gaWYgKHByb3BzLnJlbW92YWxQb2xpY3kgPT09IGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1kpIHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKGBEZS1yZWdpc3RlcmluZyBzZXJ2aWNlICR7cHJvcHMuc2VydmljZUxhbWJkYUFybn1gKTtcbiAgICAvLyAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgLy8gICBjb25zdCBpZCA9IGJ0b2EocHJvcHMuc2VydmljZUxhbWJkYUFybiEpOyAvLyBUT0RPOiB3ZSBzaG91bGQgYmUgdHJlYXRpbmcgc2VydmljZSBpZHMgYXMgb3BhcXVlXG4gICAgLy8gICBjb25zdCBkZWxldGVDYWxsVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydChcInRpbWVvdXRcIiksIDVfMDAwKTtcbiAgICAvLyAgIGNvbnN0IGRlbGV0ZVJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7cHJvcHMuYWRtaW5Vcmx9LyR7REVQTE9ZTUVOVFNfUEFUSH0vJHtpZH0/Zm9yY2U9dHJ1ZWAsIHtcbiAgICAvLyAgICAgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCxcbiAgICAvLyAgICAgbWV0aG9kOiBcIkRFTEVURVwiLFxuICAgIC8vICAgICBhZ2VudDogYWdlbnRTZWxlY3RvcixcbiAgICAvLyAgIH0pLmZpbmFsbHkoKCkgPT4gY2xlYXJUaW1lb3V0KGRlbGV0ZUNhbGxUaW1lb3V0KSk7XG4gICAgLy9cbiAgICAvLyAgIGNvbnNvbGUubG9nKGBHb3QgZGVsZXRlIHJlc3BvbnNlIGJhY2s6ICR7ZGVsZXRlUmVzcG9uc2Uuc3RhdHVzfWApO1xuICAgIC8vICAgaWYgKGRlbGV0ZVJlc3BvbnNlLnN0YXR1cyAhPSAyMDIpIHtcbiAgICAvLyAgICAgdGhyb3cgbmV3IEVycm9yKGBSZW1vdmluZyBzZXJ2aWNlIGRlcGxveW1lbnQgZmFpbGVkOiAke2RlbGV0ZVJlc3BvbnNlLnN0YXR1c1RleHR9ICgke2RlbGV0ZVJlc3BvbnNlLnN0YXR1c30pYCk7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgY29uc29sZS53YXJuKFwiRGUtcmVnaXN0ZXJpbmcgc2VydmljZXMgaXMgbm90IHN1cHBvcnRlZCBjdXJyZW50bHkuIFByZXZpb3VzIHZlcnNpb24gd2lsbCByZW1haW4gcmVnaXN0ZXJlZC5cIik7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYXV0aEhlYWRlciA9IGF3YWl0IGNyZWF0ZUF1dGhIZWFkZXIocHJvcHMpO1xuXG4gIGxldCBhdHRlbXB0O1xuXG4gIGNvbnN0IGhlYWx0aENoZWNrVXJsID0gYCR7cHJvcHMuYWRtaW5Vcmx9L2hlYWx0aGA7XG5cbiAgYXR0ZW1wdCA9IDE7XG4gIGNvbnNvbGUubG9nKGBQZXJmb3JtaW5nIGhlYWx0aCBjaGVjayBhZ2FpbnN0OiAke2hlYWx0aENoZWNrVXJsfWApO1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnNvbGUubG9nKGBNYWtpbmcgaGVhbHRoIGNoZWNrIHJlcXVlc3QgIyR7YXR0ZW1wdH0uLi5gKTtcbiAgICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGNvbnN0IGhlYWx0aENoZWNrVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydChcInRpbWVvdXRcIiksIDVfMDAwKTtcbiAgICBsZXQgaGVhbHRoUmVzcG9uc2UgPSB1bmRlZmluZWQ7XG4gICAgbGV0IGVycm9yTWVzc2FnZSA9IHVuZGVmaW5lZDtcbiAgICB0cnkge1xuICAgICAgaGVhbHRoUmVzcG9uc2UgPSBhd2FpdCBmZXRjaChoZWFsdGhDaGVja1VybCwge1xuICAgICAgICBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgICBoZWFkZXJzOiBhdXRoSGVhZGVyLFxuICAgICAgICBhZ2VudDogYWdlbnRTZWxlY3RvcixcbiAgICAgIH0pLmZpbmFsbHkoKCkgPT4gY2xlYXJUaW1lb3V0KGhlYWx0aENoZWNrVGltZW91dCkpO1xuXG4gICAgICBjb25zb2xlLmxvZyhgR290IGhlYWx0aCBjaGVjayByZXNwb25zZSBiYWNrOiAke2hlYWx0aFJlc3BvbnNlLnN0YXR1c31gKTtcbiAgICAgIGlmIChoZWFsdGhSZXNwb25zZS5zdGF0dXMgPj0gMjAwICYmIGhlYWx0aFJlc3BvbnNlLnN0YXR1cyA8IDMwMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIGBSZXN0YXRlIGhlYWx0aCBjaGVjayBmYWlsZWQ6ICR7aGVhbHRoUmVzcG9uc2Uuc3RhdHVzVGV4dH0gKCR7aGVhbHRoUmVzcG9uc2Uuc3RhdHVzfTsgYXR0ZW1wdCAke2F0dGVtcHR9KWAsXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGVycm9yTWVzc2FnZSA9IChlIGFzIEVycm9yKT8ubWVzc2FnZTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFJlc3RhdGUgaGVhbHRoIGNoZWNrIGZhaWxlZDogXCIke2Vycm9yTWVzc2FnZX1cIiAoYXR0ZW1wdCAke2F0dGVtcHR9KWApO1xuICAgIH1cblxuICAgIGlmIChhdHRlbXB0ID49IE1BWF9IRUFMVEhfQ0hFQ0tfQVRURU1QVFMpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEFkbWluIHNlcnZpY2UgaGVhbHRoIGNoZWNrIGZhaWxpbmcgYWZ0ZXIgJHthdHRlbXB0fSBhdHRlbXB0cy5gKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2UgPz8gYCR7aGVhbHRoUmVzcG9uc2U/LnN0YXR1c1RleHR9ICgke2hlYWx0aFJlc3BvbnNlPy5zdGF0dXN9KWApO1xuICAgIH1cbiAgICBhdHRlbXB0ICs9IDE7XG5cbiAgICBjb25zdCB3YWl0VGltZU1pbGxpcyA9IHJhbmRvbUludCgyXzAwMCkgKyAyICoqIGF0dGVtcHQgKiAxXzAwMDsgLy8gM3MgLT4gNnMgLT4gMTBzIC0+IDE4cyAtPiAzNHNcbiAgICBjb25zb2xlLmxvZyhgUmV0cnlpbmcgYWZ0ZXIgJHt3YWl0VGltZU1pbGxpc30gbXMuLi5gKTtcbiAgICBhd2FpdCBzbGVlcCh3YWl0VGltZU1pbGxpcyk7XG4gIH1cblxuICBsZXQgZGVwbG95bWVudHNVcmwgPSBgJHtwcm9wcy5hZG1pblVybH0vJHtERVBMT1lNRU5UU19QQVRIfWA7XG4gIGNvbnN0IHJlZ2lzdHJhdGlvblJlcXVlc3QgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgYXJuOiBwcm9wcy5zZXJ2aWNlTGFtYmRhQXJuLFxuICAgIGFzc3VtZV9yb2xlX2FybjogcHJvcHMuaW52b2tlUm9sZUFybixcbiAgfSk7XG5cbiAgbGV0IGZhaWx1cmVSZWFzb247XG4gIGF0dGVtcHQgPSAxO1xuICBjb25zb2xlLmxvZyhgVHJpZ2dlcmluZyByZWdpc3RyYXRpb24gYXQgJHtkZXBsb3ltZW50c1VybH06ICR7cmVnaXN0cmF0aW9uUmVxdWVzdH1gKTtcbiAgd2hpbGUgKHRydWUpIHtcbiAgICB0cnkge1xuICAgICAgY29uc29sZS5sb2coYE1ha2luZyByZWdpc3RyYXRpb24gcmVxdWVzdCAjJHthdHRlbXB0fS4uLmApO1xuICAgICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICAgIGNvbnN0IHJlZ2lzdGVyQ2FsbFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IGNvbnRyb2xsZXIuYWJvcnQoXCJ0aW1lb3V0XCIpLCAxMF8wMDApO1xuICAgICAgY29uc3QgcmVnaXN0ZXJEZXBsb3ltZW50UmVzcG9uc2UgPSBhd2FpdCBmZXRjaChkZXBsb3ltZW50c1VybCwge1xuICAgICAgICBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICBib2R5OiByZWdpc3RyYXRpb25SZXF1ZXN0LFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgLi4uYXV0aEhlYWRlcixcbiAgICAgICAgfSxcbiAgICAgICAgYWdlbnQ6IGFnZW50U2VsZWN0b3IsXG4gICAgICB9KS5maW5hbGx5KCgpID0+IGNsZWFyVGltZW91dChyZWdpc3RlckNhbGxUaW1lb3V0KSk7XG5cbiAgICAgIGlmIChyZWdpc3RlckRlcGxveW1lbnRSZXNwb25zZS5zdGF0dXMgPT0gNDA0ICYmIGF0dGVtcHQgPT0gMSkge1xuICAgICAgICBkZXBsb3ltZW50c1VybCA9IGAke3Byb3BzLmFkbWluVXJsfS8ke0RFUExPWU1FTlRTX1BBVEhfTEVHQUNZfWA7XG4gICAgICAgIGNvbnNvbGUubG9nKGBHb3QgNDA0LCBmYWxsaW5nIGJhY2sgdG8gPDAuNy4wIGxlZ2FjeSBlbmRwb2ludCByZWdpc3RyYXRpb24gYXQ6ICR7ZGVwbG95bWVudHNVcmx9YCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZWdpc3RlckRlcGxveW1lbnRSZXNwb25zZS5zdGF0dXMgPj0gMjAwICYmIHJlZ2lzdGVyRGVwbG95bWVudFJlc3BvbnNlLnN0YXR1cyA8IDMwMCkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCByZWdpc3RlckRlcGxveW1lbnRSZXNwb25zZS5qc29uKCkpIGFzIFJlZ2lzdGVyRGVwbG95bWVudFJlc3BvbnNlO1xuXG4gICAgICAgIC8vIFRPRE86IHRoZXJlIG1heSBiZSBtb3JlIHRoYW4gb25lISBzdXBwb3J0IG9wdGlvbmFsIGV4YWN0L3BhcnRpYWwgbWF0Y2hpbmdcbiAgICAgICAgaWYgKCFyZXNwb25zZT8uc2VydmljZXM/LmZpbmQoKHMpID0+IHMubmFtZSA9PT0gcHJvcHMuc2VydmljZVBhdGgpKSB7XG4gICAgICAgICAgZmFpbHVyZVJlYXNvbiA9XG4gICAgICAgICAgICBcIlJlc3RhdGUgc2VydmljZSByZWdpc3RyYXRpb24gZmFpbGVkOiBzZXJ2aWNlIG5hbWUgaW5kaWNhdGVkIGJ5IHNlcnZpY2UgcmVzcG9uc2VcIiArXG4gICAgICAgICAgICBgIChcIiR7cmVzcG9uc2U/LnNlcnZpY2VzPy5bMF0/Lm5hbWV9KSkgZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHZhbHVlIChcIiR7cHJvcHMuc2VydmljZVBhdGh9XCIpIWA7XG5cbiAgICAgICAgICBhdHRlbXB0ID0gTUFYX1JFR0lTVFJBVElPTl9BVFRFTVBUUzsgLy8gZG9uJ3QgcmV0cnkgdGhpc1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5sb2coXCJTdWNjZXNzZnVsIHJlZ2lzdHJhdGlvbiFcIik7XG5cbiAgICAgICAgY29uc3QgaXNQdWJsaWMgPSAocHJvcHMucHJpdmF0ZSA/PyBcImZhbHNlXCIpID09PSBcImZhbHNlXCI7XG4gICAgICAgIGNvbnNvbGUubG9nKGBNYXJraW5nIHNlcnZpY2UgJHtwcm9wcy5zZXJ2aWNlUGF0aH0gYXMgJHtpc1B1YmxpYyA/IFwicHVibGljXCIgOiBcInByaXZhdGVcIn0uLi5gKTtcbiAgICAgICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICAgICAgY29uc3QgcHJpdmF0ZUNhbGxUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiBjb250cm9sbGVyLmFib3J0KFwidGltZW91dFwiKSwgMTBfMDAwKTtcbiAgICAgICAgY29uc3QgcGF0Y2hSZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke3Byb3BzLmFkbWluVXJsfS8ke1NFUlZJQ0VTX1BBVEh9LyR7cHJvcHMuc2VydmljZVBhdGh9YCwge1xuICAgICAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgICAgICAgbWV0aG9kOiBcIlBBVENIXCIsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAuLi5hdXRoSGVhZGVyLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBwdWJsaWM6IGlzUHVibGljIH0pLFxuICAgICAgICAgIGFnZW50OiBhZ2VudFNlbGVjdG9yLFxuICAgICAgICB9KS5maW5hbGx5KCgpID0+IGNsZWFyVGltZW91dChwcml2YXRlQ2FsbFRpbWVvdXQpKTtcblxuICAgICAgICBjb25zb2xlLmxvZyhgR290IHBhdGNoIHJlc3BvbnNlIGJhY2s6ICR7cGF0Y2hSZXNwb25zZS5zdGF0dXN9YCk7XG4gICAgICAgIGlmIChwYXRjaFJlc3BvbnNlLnN0YXR1cyAhPSAyMDApIHtcbiAgICAgICAgICBmYWlsdXJlUmVhc29uID0gYE1hcmtpbmcgc2VydmljZSBhcyAke3Byb3BzLnByaXZhdGUgPyBcInByaXZhdGVcIiA6IFwicHVibGljXCJ9IGZhaWxlZDogJHtwYXRjaFJlc3BvbnNlLnN0YXR1c1RleHR9ICgke3BhdGNoUmVzcG9uc2Uuc3RhdHVzfSlgO1xuICAgICAgICAgIGJyZWFrOyAvLyBkb24ndCB0aHJvdyBpbW1lZGlhdGVseSAtIGxldCByZXRyeSBsb29wIGRlY2lkZSB3aGV0aGVyIHRvIGFib3J0IHNcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGUubG9nKGBTdWNjZXNzZnVsbHkgbWFya2VkIHNlcnZpY2UgYXMgJHtpc1B1YmxpYyA/IFwicHVibGljXCIgOiBcInByaXZhdGVcIn0uYCk7XG5cbiAgICAgICAgcmV0dXJuOyAvLyBPdmVyYWxsIHN1Y2Nlc3MhXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmxvZyh7XG4gICAgICAgICAgbWVzc2FnZTogYEdvdCBlcnJvciByZXNwb25zZSBmcm9tIFJlc3RhdGUuYCxcbiAgICAgICAgICBjb2RlOiByZWdpc3RlckRlcGxveW1lbnRSZXNwb25zZS5zdGF0dXMsXG4gICAgICAgICAgYm9keTogYXdhaXQgcmVnaXN0ZXJEZXBsb3ltZW50UmVzcG9uc2UudGV4dCgpLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBTZXJ2aWNlIHJlZ2lzdHJhdGlvbiBjYWxsIGZhaWxlZDogJHsoZSBhcyBFcnJvcik/Lm1lc3NhZ2V9IChhdHRlbXB0ICR7YXR0ZW1wdH0pYCk7XG4gICAgICBmYWlsdXJlUmVhc29uID0gYFJlc3RhdGUgc2VydmljZSByZWdpc3RyYXRpb24gZmFpbGVkOiAkeyhlIGFzIEVycm9yKT8ubWVzc2FnZX1gO1xuICAgIH1cblxuICAgIGlmIChhdHRlbXB0ID49IE1BWF9SRUdJU1RSQVRJT05fQVRURU1QVFMpIHtcbiAgICAgIGZhaWx1cmVSZWFzb24gPSBgU2VydmljZSByZWdpc3RyYXRpb24gZmFpbGVkIGFmdGVyICR7YXR0ZW1wdH0gYXR0ZW1wdHMuYDtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBhdHRlbXB0ICs9IDE7XG4gICAgY29uc3Qgd2FpdFRpbWVNaWxsaXMgPSByYW5kb21JbnQoMl8wMDApICsgMiAqKiBhdHRlbXB0ICogMV8wMDA7IC8vIDNzIC0+IDZzIC0+IDEwc1xuICAgIGNvbnNvbGUubG9nKGBSZXRyeWluZyByZWdpc3RyYXRpb24gYWZ0ZXIgJHt3YWl0VGltZU1pbGxpc30gbXMuLi5gKTtcbiAgICBhd2FpdCBzbGVlcCh3YWl0VGltZU1pbGxpcyk7XG4gIH1cblxuICBjb25zb2xlLmVycm9yKGZhaWx1cmVSZWFzb24pO1xuICB0aHJvdyBuZXcgRXJyb3IoZmFpbHVyZVJlYXNvbiA/PyBcIlJlc3RhdGUgc2VydmljZSByZWdpc3RyYXRpb24gZmFpbGVkLiBQbGVhc2Ugc2VlIGxvZ3MgZm9yIGRldGFpbHMuXCIpO1xufTtcblxuYXN5bmMgZnVuY3Rpb24gY3JlYXRlQXV0aEhlYWRlcihwcm9wczogUmVnaXN0cmF0aW9uUHJvcGVydGllcyk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuICBpZiAoIXByb3BzLmF1dGhUb2tlblNlY3JldEFybikge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGNvbnNvbGUubG9nKGBVc2luZyBiZWFyZXIgYXV0aGVudGljYXRpb24gdG9rZW4gZnJvbSBzZWNyZXQgJHtwcm9wcy5hdXRoVG9rZW5TZWNyZXRBcm59YCk7XG4gIGNvbnN0IHNzbSA9IG5ldyBTZWNyZXRzTWFuYWdlckNsaWVudCgpO1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHNzbS5zZW5kKFxuICAgIG5ldyBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQoe1xuICAgICAgU2VjcmV0SWQ6IHByb3BzLmF1dGhUb2tlblNlY3JldEFybixcbiAgICB9KSxcbiAgKTtcblxuICBjb25zb2xlLmxvZyhgU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBzZWNyZXQgXCIke3Jlc3BvbnNlLk5hbWV9XCIgdmVyc2lvbiAke3Jlc3BvbnNlLlZlcnNpb25JZH1gKTtcbiAgcmV0dXJuIHtcbiAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7cmVzcG9uc2UuU2VjcmV0U3RyaW5nfWAsXG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNsZWVwKG1pbGxpczogbnVtYmVyKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtaWxsaXMpKTtcbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as iam from "aws-cdk-lib/aws-iam";
|
|
2
2
|
import { IRole } from "aws-cdk-lib/aws-iam";
|
|
3
|
-
import * as
|
|
3
|
+
import * as secretsmanager from "aws-cdk-lib/aws-secretsmanager";
|
|
4
4
|
import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
|
|
5
5
|
import { FunctionOptions } from "aws-cdk-lib/aws-lambda";
|
|
6
6
|
import { ServiceDeployer } from "./service-deployer";
|
|
@@ -22,7 +22,7 @@ export interface IRestateEnvironment extends Pick<FunctionOptions, "vpc" | "vpcS
|
|
|
22
22
|
/**
|
|
23
23
|
* Authentication token to include as a bearer token in requests to the admin endpoint.
|
|
24
24
|
*/
|
|
25
|
-
readonly authToken?:
|
|
25
|
+
readonly authToken?: secretsmanager.ISecret;
|
|
26
26
|
}
|
|
27
27
|
export declare class RestateEnvironment implements IRestateEnvironment {
|
|
28
28
|
readonly adminUrl: string;
|
|
@@ -12,4 +12,4 @@ class RestateEnvironment {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
exports.RestateEnvironment = RestateEnvironment;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGF0ZS1lbnZpcm9ubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9yZXN0YXRlLWNvbnN0cnVjdHMvcmVzdGF0ZS1lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE4QkEsTUFBYSxrQkFBa0I7SUFNN0IsWUFBb0IsS0FBMEI7UUFDNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBMEI7UUFDOUMsT0FBTyxJQUFJLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQWZELGdEQWVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgeyBJUm9sZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgKiBhcyBzZWNyZXRzbWFuYWdlciBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5pbXBvcnQgeyBJU2VjcmV0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiO1xuaW1wb3J0IHsgRnVuY3Rpb25PcHRpb25zIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IFNlcnZpY2VEZXBsb3llciB9IGZyb20gXCIuL3NlcnZpY2UtZGVwbG95ZXJcIjtcblxuLyoqXG4gKiBBIFJlc3RhdGUgZW52aXJvbm1lbnQgaXMgYSB1bmlxdWUgZGVwbG95bWVudCBvZiB0aGUgUmVzdGF0ZSBzZXJ2aWNlLiBJbXBsZW1lbnRhdGlvbnMgb2YgdGhpcyBpbnRlcmZhY2UgbWF5IHJlZmVyIHRvXG4gKiBjbG91ZCBvciBzZWxmLW1hbmFnZWQgZW52aXJvbm1lbnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElSZXN0YXRlRW52aXJvbm1lbnQgZXh0ZW5kcyBQaWNrPEZ1bmN0aW9uT3B0aW9ucywgXCJ2cGNcIiB8IFwidnBjU3VibmV0c1wiIHwgXCJzZWN1cml0eUdyb3Vwc1wiPiB7XG4gIC8qKlxuICAgKiBUaGUgZXh0ZXJuYWwgaW52b2tlciByb2xlIHRoYXQgUmVzdGF0ZSBjYW4gYXNzdW1lIHRvIGV4ZWN1dGUgc2VydmljZSBoYW5kbGVycy4gSWYgbGVmdCB1bnNldCwgaXQncyBhc3N1bWVkIHRoYXRcbiAgICogdGhlIFJlc3RhdGUgZGVwbG95bWVudCBoYXMgc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBpbnZva2UgdGhlIHNlcnZpY2UgaGFuZGxlcnMgZGlyZWN0bHkuIFNldHRpbmcgdGhpcyByb2xlIGFsbG93c1xuICAgKiB0aGUgY29uc3RydWN0cyB0byBlbnN1cmUgYXBwcm9wcmlhdGUgcGVybWlzc2lvbnMgYXJlIGdyYW50ZWQgdG8gYW55IGRlcGxveWVkIHNlcnZpY2UgaGFuZGxlcnMuXG4gICAqL1xuICByZWFkb25seSBpbnZva2VyUm9sZT86IGlhbS5JUm9sZTtcblxuICAvKipcbiAgICogVGhlIGFkbWluIGVuZHBvaW50IG9mIHRoZSBSZXN0YXRlIGVudmlyb25tZW50IHdoZXJlIHNlcnZpY2VzIHdpbGwgYmUgZGVwbG95ZWQuXG4gICAqL1xuICByZWFkb25seSBhZG1pblVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBdXRoZW50aWNhdGlvbiB0b2tlbiB0byBpbmNsdWRlIGFzIGEgYmVhcmVyIHRva2VuIGluIHJlcXVlc3RzIHRvIHRoZSBhZG1pbiBlbmRwb2ludC5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhUb2tlbj86IHNlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG59XG5cbmV4cG9ydCBjbGFzcyBSZXN0YXRlRW52aXJvbm1lbnQgaW1wbGVtZW50cyBJUmVzdGF0ZUVudmlyb25tZW50IHtcbiAgcmVhZG9ubHkgYWRtaW5Vcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgYXV0aFRva2VuPzogSVNlY3JldDtcbiAgcmVhZG9ubHkgaW52b2tlclJvbGU/OiBJUm9sZTtcbiAgcmVhZG9ubHkgc2VydmljZURlcGxveWVyOiBTZXJ2aWNlRGVwbG95ZXI7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcm9wczogSVJlc3RhdGVFbnZpcm9ubWVudCkge1xuICAgIHRoaXMuYWRtaW5VcmwgPSBwcm9wcy5hZG1pblVybDtcbiAgICB0aGlzLmludm9rZXJSb2xlID0gcHJvcHMuaW52b2tlclJvbGU7XG4gICAgdGhpcy5hdXRoVG9rZW4gPSBwcm9wcy5hdXRoVG9rZW47XG4gIH1cblxuICBzdGF0aWMgZnJvbUF0dHJpYnV0ZXMocHJvcHM6IElSZXN0YXRlRW52aXJvbm1lbnQpOiBJUmVzdGF0ZUVudmlyb25tZW50IHtcbiAgICByZXR1cm4gbmV3IFJlc3RhdGVFbnZpcm9ubWVudChwcm9wcyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -49,7 +49,7 @@ export declare class ServiceDeployer extends Construct {
|
|
|
49
49
|
skipInvokeFunctionGrant?: boolean;
|
|
50
50
|
/**
|
|
51
51
|
* Whether to mark the service as private, and make it unavailable to be called via Restate ingress.
|
|
52
|
-
* @see https://docs.restate.dev/
|
|
52
|
+
* @see https://docs.restate.dev/operate/registration#private-services
|
|
53
53
|
*/
|
|
54
54
|
private?: boolean;
|
|
55
55
|
/**
|
package/dist/service-deployer.js
CHANGED
|
@@ -140,4 +140,4 @@ class ServiceDeployer extends constructs_1.Construct {
|
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
exports.ServiceDeployer = ServiceDeployer;
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXBsb3llci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9yZXN0YXRlLWNvbnN0cnVjdHMvc2VydmljZS1kZXBsb3llci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7OztHQVNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDJDQUF1QztBQUV2Qyx5REFBMkM7QUFDM0MsMkVBQTZEO0FBRTdELDBEQUE2QjtBQUM3QiwrREFBaUQ7QUFDakQsaURBQW1DO0FBQ25DLGlFQUFtRDtBQUluRCxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUVsRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLHNCQUFTO0lBTTVDLFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVTtJQUNWOzs7T0FHRztJQUNILEtBSW9DO1FBRXBDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxZQUFZLEdBQUcsSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDeEUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZO1lBQ2pDLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUTtZQUN6QixXQUFXLEVBQUUscUNBQXFDO1lBQ2xELEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxJQUFJLG1CQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxtQ0FBbUMsQ0FBQztZQUNoRixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNO1lBQ3hDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWE7WUFDckMsVUFBVSxFQUFFLEdBQUc7WUFDZixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sSUFBSSxlQUFlO1lBQzFDLFdBQVcsRUFBRTtnQkFDWCxZQUFZLEVBQUUsc0JBQXNCO2FB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YXJlLCBJbmMuLCBSZXN0YXRlIEdtYkhcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgUmVzdGF0ZSBTREsgZm9yIE5vZGUuanMvVHlwZVNjcmlwdCxcbiAqIHdoaWNoIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqXG4gKiBZb3UgY2FuIGZpbmQgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGluIGZpbGUgTElDRU5TRSBpbiB0aGUgcm9vdFxuICogZGlyZWN0b3J5IG9mIHRoaXMgcmVwb3NpdG9yeSBvciBwYWNrYWdlLCBvciBhdFxuICogaHR0cHM6Ly9naXRodWIuY29tL3Jlc3RhdGVkZXYvc2RrLXR5cGVzY3JpcHQvYmxvYi9tYWluL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgc3NtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0ICogYXMgbGFtYmRhX25vZGUgZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvblByb3BzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIGNyIGZyb20gXCJhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzXCI7XG5pbXBvcnQgeyBJUmVzdGF0ZUVudmlyb25tZW50IH0gZnJvbSBcIi4vcmVzdGF0ZS1lbnZpcm9ubWVudFwiO1xuaW1wb3J0IHsgUmVnaXN0cmF0aW9uUHJvcGVydGllcyB9IGZyb20gXCIuL3JlZ2lzdGVyLXNlcnZpY2UtaGFuZGxlclwiO1xuXG5jb25zdCBERUZBVUxUX1RJTUVPVVQgPSBjZGsuRHVyYXRpb24uc2Vjb25kcygxODApO1xuXG4vKipcbiAqIFRoaXMgY29uc3RydWN0IGltcGxlbWVudHMgYSBjdXN0b20gQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgcHJvdmlkZXIgdGhhdCBoYW5kbGVzIGRlcGxveWluZyBMYW1iZGEtYmFzZWQgc2VydmljZVxuICogaGFuZGxlcnMgd2l0aCBhIFJlc3RhdGUgZW52aXJvbm1lbnQuIEl0IGlzIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgQ2xvdWQgYW5kIHNlbGYtaG9zdGVkIFJlc3RhdGUgZW52aXJvbm1lbnRcbiAqIGNvbnN0cnVjdHMgYW5kIG5vdCBpbnRlbmRlZCBmb3IgZGlyZWN0IHVzZSBieSBlbmQgdXNlcnMgb2YgUmVzdGF0ZS5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgaW1wbGVtZW50ZWQgYXMgYSBjdXN0b20gcmVzb3VyY2Ugc28gdGhhdCB3ZSBhcmUgbm90aWZpZWQgb2YgYW55IHVwZGF0ZXMgdG8gc2VydmljZSBoYW5kbGVyXG4gKiBmdW5jdGlvbnM6IGJ5IGNyZWF0aW5nIGEgQ2xvdWRGb3JtYXRpb24gY29tcG9uZW50LCB3ZSBjYW4gbW9kZWwgdGhlIGRlcGVuZGVuY3kgdGhhdCBhbnkgY2hhbmdlcyB0byB0aGUgaGFuZGxlcnMgbmVlZFxuICogdG8gYmUgY29tbXVuaWNhdGVkIHRvIHRoZSByZWdpc3RyYXIuIFdpdGhvdXQgdGhpcyBkZXBlbmRlbmN5LCBDbG91ZEZvcm1hdGlvbiBtaWdodCBwZXJmb3JtIGFuIHVwZGF0ZSBkZXBsb3ltZW50IHRoYXRcbiAqIHRyaWdnZXJlZCBieSBhIExhbWJkYSBoYW5kbGVyIGNvZGUgb3IgY29uZmlndXJhdGlvbiBjaGFuZ2UsIGFuZCB0aGUgUmVzdGF0ZSBlbnZpcm9ubWVudCB3b3VsZCBiZSB1bmF3YXJlIG9mIGl0LlxuICpcbiAqIFlvdSBjYW4gc2hhcmUgdGhlIHNhbWUgaW5zdGFuY2UgYWNyb3NzIG11bHRpcGxlIHNlcnZpY2UgcmVnaXN0cmllcyBwcm92aWRlZCB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIGFyZSBjb21wYXRpYmxlXG4gKiAoZS5nLiB0aGUgUmVzdGF0ZSBlbnZpcm9ubWVudHMgaXQgbmVlZHMgdG8gY29tbXVuaWNhdGUgd2l0aCBmb3IgZGVwbG95bWVudCBhcmUgYWxsIGFjY2Vzc2libGUgdmlhIHRoZSBzYW1lIFZQQyBhbmRcbiAqIFNlY3VyaXR5IEdyb3VwcykuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXJ2aWNlRGVwbG95ZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKiogVGhlIGN1c3RvbSByZXNvdXJjZSBwcm92aWRlciBmb3IgaGFuZGxpbmcgXCJkZXBsb3ltZW50XCIgcmVzb3VyY2VzLiAqL1xuICByZWFkb25seSBkZXBsb3ltZW50UmVzb3VyY2VQcm92aWRlcjogY3IuUHJvdmlkZXI7XG5cbiAgcHJpdmF0ZSBpbnZvY2F0aW9uUG9saWN5PzogaWFtLlBvbGljeTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogQWxsb3dzIHRoZSBjdXN0b20gcmVzb3VyY2UgZXZlbnQgaGFuZGxlciBwcm9wZXJ0aWVzIHRvIGJlIG92ZXJyaWRkZW4uIFRoZSBtYWluIHVzZSBjYXNlIGZvciB0aGlzIGlzIHNwZWNpZnlpbmdcbiAgICAgKiBWUEMgYW5kIHNlY3VyaXR5IGdyb3VwIHNldHRpbmdzIGZvciBSZXN0YXRlIGVudmlyb25tZW50cyB0aGF0IHJlcXVpcmUgaXQuXG4gICAgICovXG4gICAgcHJvcHM/OiBQaWNrPFxuICAgICAgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyxcbiAgICAgIFwiZnVuY3Rpb25OYW1lXCIgfCBcImxvZ0dyb3VwXCIgfCBcInRpbWVvdXRcIiB8IFwidnBjXCIgfCBcInZwY1N1Ym5ldHNcIiB8IFwic2VjdXJpdHlHcm91cHNcIlxuICAgID4gJlxuICAgICAgUGljazxOb2RlanNGdW5jdGlvblByb3BzLCBcImVudHJ5XCI+LFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZXZlbnRIYW5kbGVyID0gbmV3IGxhbWJkYV9ub2RlLk5vZGVqc0Z1bmN0aW9uKHRoaXMsIFwiRXZlbnRIYW5kbGVyXCIsIHtcbiAgICAgIGZ1bmN0aW9uTmFtZTogcHJvcHM/LmZ1bmN0aW9uTmFtZSxcbiAgICAgIGxvZ0dyb3VwOiBwcm9wcz8ubG9nR3JvdXAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJSZXN0YXRlIGN1c3RvbSByZWdpc3RyYXRpb24gaGFuZGxlclwiLFxuICAgICAgZW50cnk6IHByb3BzPy5lbnRyeSA/PyBwYXRoLmpvaW4oX19kaXJuYW1lLCBcInJlZ2lzdGVyLXNlcnZpY2UtaGFuZGxlci9pbmRleC5qc1wiKSxcbiAgICAgIGFyY2hpdGVjdHVyZTogbGFtYmRhLkFyY2hpdGVjdHVyZS5BUk1fNjQsXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfTEFURVNULFxuICAgICAgbWVtb3J5U2l6ZTogMTI4LFxuICAgICAgdGltZW91dDogcHJvcHM/LnRpbWVvdXQgPz8gREVGQVVMVF9USU1FT1VULFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgTk9ERV9PUFRJT05TOiBcIi0tZW5hYmxlLXNvdXJjZS1tYXBzXCIsXG4gICAgICB9LFxuICAgICAgYnVuZGxpbmc6IHtcbiAgICAgICAgbWluaWZ5OiBmYWxzZSxcbiAgICAgICAgc291cmNlTWFwOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIC4uLihwcm9wcz8udnBjXG4gICAgICAgID8gKHtcbiAgICAgICAgICAgIHZwYzogcHJvcHM/LnZwYyxcbiAgICAgICAgICAgIHZwY1N1Ym5ldHM6IHByb3BzPy52cGNTdWJuZXRzLFxuICAgICAgICAgICAgc2VjdXJpdHlHcm91cHM6IHByb3BzPy5zZWN1cml0eUdyb3VwcyxcbiAgICAgICAgICB9IHNhdGlzZmllcyBQaWNrPGxhbWJkYS5GdW5jdGlvbk9wdGlvbnMsIFwidnBjXCIgfCBcInZwY1N1Ym5ldHNcIiB8IFwic2VjdXJpdHlHcm91cHNcIj4pXG4gICAgICAgIDoge30pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kZXBsb3ltZW50UmVzb3VyY2VQcm92aWRlciA9IG5ldyBjci5Qcm92aWRlcih0aGlzLCBcIkN1c3RvbVJlc291cmNlUHJvdmlkZXJcIiwgeyBvbkV2ZW50SGFuZGxlcjogZXZlbnRIYW5kbGVyIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcGxveSBhIExhbWJkYS1iYWNrZWQgUmVzdGF0ZSBzZXJ2aWNlIHRvIGEgZ2l2ZW4gZW52aXJvbm1lbnQuIFRoaXMgd2lsbCByZWdpc3RlciBhIGRlcGxveW1lbnQgdGhhdCB3aWxsIHRyaWdnZXJcbiAgICogYSBSZXN0YXRlIHJlZ2lzdHJhdGlvbiB3aGVuZXZlciB0aGUgaGFuZGxlciByZXNvdXJjZSBjaGFuZ2VzLlxuICAgKlxuICAgKiBAcGFyYW0gc2VydmljZU5hbWUgdGhlIHNlcnZpY2UgbmFtZSB3aXRoaW4gUmVzdGF0ZSAtIHRoaXMgbXVzdCBtYXRjaCB0aGUgc2VydmljZSdzIHNlbGYtcmVwb3J0ZWQgbmFtZSBkdXJpbmcgZGlzY292ZXJ5XG4gICAqIEBwYXJhbSBoYW5kbGVyIHNlcnZpY2UgaGFuZGxlciAtIG11c3QgYmUgYSBzcGVjaWZpYyBmdW5jdGlvbiB2ZXJzaW9uLCB1c2UgXCJsYXRlc3RcIiBpZiB5b3UgZG9uJ3QgY2FyZSBhYm91dCBleHBsaWNpdCB2ZXJzaW9uaW5nXG4gICAqIEBwYXJhbSBlbnZpcm9ubWVudCB0YXJnZXQgUmVzdGF0ZSBlbnZpcm9ubWVudFxuICAgKiBAcGFyYW0gb3B0aW9ucyBhZGRpdGlvbmFsIG9wdGlvbnM7IHNlZSBmaWVsZCBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxzXG4gICAqL1xuICBkZXBsb3lTZXJ2aWNlKFxuICAgIHNlcnZpY2VOYW1lOiBzdHJpbmcsXG4gICAgaGFuZGxlcjogbGFtYmRhLklWZXJzaW9uLFxuICAgIGVudmlyb25tZW50OiBJUmVzdGF0ZUVudmlyb25tZW50LFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICAvKipcbiAgICAgICAqIFNTTSBzZWNyZXQgQVJOIGZvciB0aGUgYXV0aGVudGljYXRpb24gdG9rZW4gdG8gdXNlIHdpdGggdGhlIGFkbWluIEFQSS4gVGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRoZSBlbnZpcm9ubWVudCdzXG4gICAgICAgKiB0b2tlbiwgaWYgaXQgaXMgc2V0LlxuICAgICAgICovXG4gICAgICBhdXRoVG9rZW4/OiBzc20uSVNlY3JldDtcbiAgICAgIC8qKlxuICAgICAgICogV2hldGhlciB0byBza2lwIGdyYW50aW5nIHRoZSBpbnZva2VyIHJvbGUgcGVybWlzc2lvbiB0byBpbnZva2UgdGhlIHNlcnZpY2UgaGFuZGxlci5cbiAgICAgICAqL1xuICAgICAgc2tpcEludm9rZUZ1bmN0aW9uR3JhbnQ/OiBib29sZWFuO1xuICAgICAgLyoqXG4gICAgICAgKiBXaGV0aGVyIHRvIG1hcmsgdGhlIHNlcnZpY2UgYXMgcHJpdmF0ZSwgYW5kIG1ha2UgaXQgdW5hdmFpbGFibGUgdG8gYmUgY2FsbGVkIHZpYSBSZXN0YXRlIGluZ3Jlc3MuXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5yZXN0YXRlLmRldi9zZXJ2aWNlcy9pbnZvY2F0aW9uLyNwcml2YXRlLXNlcnZpY2VzXG4gICAgICAgKi9cbiAgICAgIHByaXZhdGU/OiBib29sZWFuO1xuICAgICAgLyoqXG4gICAgICAgKiBBIGR1bW15IHBhcmFtZXRlciB0byBmb3JjZSBDbG91ZEZvcm1hdGlvbiB0byB1cGRhdGUgdGhlIGRlcGxveW1lbnQgd2hlbiB0aGUgY29uZmlndXJhdGlvbiBjaGFuZ2VzLiBVc2VmdWwgaWZcbiAgICAgICAqIHlvdSB3YW50IHRvIHRhcmdldCB0aGUgXCJsYXRlc3QgdmVyc2lvblwiIG9mIGEgc2VydmljZSBoYW5kbGVyIGFuZCBuZWVkIHRvIGZvcmNlIGEgZGVwbG95bWVudCBpbiBvcmRlciB0byB0cmlnZ2VyXG4gICAgICAgKiBkaXNjb3ZlcnkuXG4gICAgICAgKi9cbiAgICAgIGNvbmZpZ3VyYXRpb25WZXJzaW9uPzogc3RyaW5nO1xuICAgICAgLyoqXG4gICAgICAgKiBXaGV0aGVyIHRvIGFjY2VwdCBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZXMuXG4gICAgICAgKi9cbiAgICAgIGluc2VjdXJlPzogYm9vbGVhbjtcbiAgICB9LFxuICApIHtcbiAgICBjb25zdCBhdXRoVG9rZW4gPSBvcHRpb25zPy5hdXRoVG9rZW4gPz8gZW52aXJvbm1lbnQuYXV0aFRva2VuO1xuICAgIGF1dGhUb2tlbj8uZ3JhbnRSZWFkKHRoaXMuZGVwbG95bWVudFJlc291cmNlUHJvdmlkZXIub25FdmVudEhhbmRsZXIpO1xuXG4gICAgY29uc3QgZGVwbG95bWVudCA9IG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UoaGFuZGxlciwgXCJSZXN0YXRlRGVwbG95bWVudFwiLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHRoaXMuZGVwbG95bWVudFJlc291cmNlUHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcmVzb3VyY2VUeXBlOiBcIkN1c3RvbTo6UmVzdGF0ZVNlcnZpY2VEZXBsb3ltZW50XCIsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIHNlcnZpY2VQYXRoOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgYWRtaW5Vcmw6IGVudmlyb25tZW50LmFkbWluVXJsLFxuICAgICAgICBhdXRoVG9rZW5TZWNyZXRBcm46IGF1dGhUb2tlbj8uc2VjcmV0QXJuLFxuICAgICAgICBzZXJ2aWNlTGFtYmRhQXJuOiBoYW5kbGVyLmZ1bmN0aW9uQXJuLFxuICAgICAgICBpbnZva2VSb2xlQXJuOiBlbnZpcm9ubWVudC5pbnZva2VyUm9sZT8ucm9sZUFybixcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogY2RrLlJlbW92YWxQb2xpY3kuUkVUQUlOLFxuICAgICAgICBwcml2YXRlOiAob3B0aW9ucz8ucHJpdmF0ZSA/PyBmYWxzZSkudG9TdHJpbmcoKSBhcyBcInRydWVcIiB8IFwiZmFsc2VcIixcbiAgICAgICAgY29uZmlndXJhdGlvblZlcnNpb246IG9wdGlvbnM/LmNvbmZpZ3VyYXRpb25WZXJzaW9uLFxuICAgICAgICBpbnNlY3VyZTogKG9wdGlvbnM/Lmluc2VjdXJlID8/IGZhbHNlKS50b1N0cmluZygpIGFzIFwidHJ1ZVwiIHwgXCJmYWxzZVwiLFxuICAgICAgfSBzYXRpc2ZpZXMgUmVnaXN0cmF0aW9uUHJvcGVydGllcyxcbiAgICB9KTtcblxuICAgIGlmIChlbnZpcm9ubWVudC5pbnZva2VyUm9sZSAmJiAhb3B0aW9ucz8uc2tpcEludm9rZUZ1bmN0aW9uR3JhbnQpIHtcbiAgICAgIC8vIFdlIGNyZWF0ZSBhIHNlcGFyYXRlIHBvbGljeSB3aGljaCB3ZSdsbCBhdHRhY2ggdG8gdGhlIHByb3ZpZGVkIGludm9rZXIgcm9sZS4gVGhpcyBicmVha3MgYSBjaXJjdWxhciBjcm9zcy1zdGFja1xuICAgICAgLy8gZGVwZW5kZW5jeSB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZSBjcmVhdGVkIGJldHdlZW4gdGhlIHNlcnZpY2UgZGVwbG95ZXIgYW5kIHRoZSBpbnZva2VyIHJvbGUuXG4gICAgICBpZiAoIXRoaXMuaW52b2NhdGlvblBvbGljeSkge1xuICAgICAgICB0aGlzLmludm9jYXRpb25Qb2xpY3kgPSBuZXcgaWFtLlBvbGljeSh0aGlzLCBcIkludm9jYXRpb25Qb2xpY3lcIik7XG4gICAgICAgIC8vIERlc3BpdGUgdGhlIEFSTiByZWZlcmVuY2UgYWJvdmUsIENsb3VkRm9ybWF0aW9uIHNvbWV0aW1lcyB0cmllcyB0byBpbnZva2UgdGhlIGN1c3RvbSByZXNvdXJjZSBoYW5kbGVyIGJlZm9yZVxuICAgICAgICAvLyBhbGwgcGVybWlzc2lvbnMgYXJlIGFwcGxpZWQuIEFkZGluZyBhbiBleHBsaWNpdCBkZXBlbmRlbmN5IGluY2x1ZGVzIGEgZGVwZW5kZW5jeSBvbiBhbnkgcGVuZGluZyBwb2xpY3kgdXBkYXRlc1xuICAgICAgICAvLyBkZWZpbmVkIGluIHRoZSBzYW1lIHN0YWNrIGFzIHRoZSBzZXJ2aWNlIGRlcGxveWVyLCB3aGljaCBzZWVtcyB0byBoZWxwLiBTb21lIHByb3BhZ2F0aW9uIGRlbGF5IG1pZ2h0IHN0aWxsIG1lYW5cbiAgICAgICAgLy8gd2UgbGVhbiBvbiByZXRyaWVzIGluIHRoZSBkZXBsb3llciBldmVudCBoYW5kbGVyIGluIGFueSBldmVudCBidXQgdGhpcyByZWR1Y2VzIHRoZSBwcm9iYWJpbGl0eSBvZiBmYWlsdXJlLlxuICAgICAgICBkZXBsb3ltZW50Lm5vZGUuYWRkRGVwZW5kZW5jeSh0aGlzLmludm9jYXRpb25Qb2xpY3kpO1xuICAgICAgICB0aGlzLmludm9jYXRpb25Qb2xpY3kuYXR0YWNoVG9Sb2xlKGVudmlyb25tZW50Lmludm9rZXJSb2xlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW52b2NhdGlvblBvbGljeS5hZGRTdGF0ZW1lbnRzKFxuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1wibGFtYmRhOkludm9rZUZ1bmN0aW9uXCJdLFxuICAgICAgICAgIHJlc291cmNlczogaGFuZGxlci5sYW1iZGEucmVzb3VyY2VBcm5zRm9yR3JhbnRJbnZva2UsXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXBsb3llci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9yZXN0YXRlLWNvbnN0cnVjdHMvc2VydmljZS1kZXBsb3llci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7OztHQVNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDJDQUF1QztBQUV2Qyx5REFBMkM7QUFDM0MsMkVBQTZEO0FBRTdELDBEQUE2QjtBQUM3QiwrREFBaUQ7QUFDakQsaURBQW1DO0FBQ25DLGlFQUFtRDtBQUluRCxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUVsRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLHNCQUFTO0lBTTVDLFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVTtJQUNWOzs7T0FHRztJQUNILEtBSW9DO1FBRXBDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxZQUFZLEdBQUcsSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDeEUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZO1lBQ2pDLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUTtZQUN6QixXQUFXLEVBQUUscUNBQXFDO1lBQ2xELEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxJQUFJLG1CQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxtQ0FBbUMsQ0FBQztZQUNoRixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNO1lBQ3hDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWE7WUFDckMsVUFBVSxFQUFFLEdBQUc7WUFDZixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sSUFBSSxlQUFlO1lBQzFDLFdBQVcsRUFBRTtnQkFDWCxZQUFZLEVBQUUsc0JBQXNCO2FB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YXJlLCBJbmMuLCBSZXN0YXRlIEdtYkhcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgUmVzdGF0ZSBTREsgZm9yIE5vZGUuanMvVHlwZVNjcmlwdCxcbiAqIHdoaWNoIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqXG4gKiBZb3UgY2FuIGZpbmQgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGluIGZpbGUgTElDRU5TRSBpbiB0aGUgcm9vdFxuICogZGlyZWN0b3J5IG9mIHRoaXMgcmVwb3NpdG9yeSBvciBwYWNrYWdlLCBvciBhdFxuICogaHR0cHM6Ly9naXRodWIuY29tL3Jlc3RhdGVkZXYvc2RrLXR5cGVzY3JpcHQvYmxvYi9tYWluL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgc3NtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0ICogYXMgbGFtYmRhX25vZGUgZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCI7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvblByb3BzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIGNyIGZyb20gXCJhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzXCI7XG5pbXBvcnQgeyBJUmVzdGF0ZUVudmlyb25tZW50IH0gZnJvbSBcIi4vcmVzdGF0ZS1lbnZpcm9ubWVudFwiO1xuaW1wb3J0IHsgUmVnaXN0cmF0aW9uUHJvcGVydGllcyB9IGZyb20gXCIuL3JlZ2lzdGVyLXNlcnZpY2UtaGFuZGxlclwiO1xuXG5jb25zdCBERUZBVUxUX1RJTUVPVVQgPSBjZGsuRHVyYXRpb24uc2Vjb25kcygxODApO1xuXG4vKipcbiAqIFRoaXMgY29uc3RydWN0IGltcGxlbWVudHMgYSBjdXN0b20gQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgcHJvdmlkZXIgdGhhdCBoYW5kbGVzIGRlcGxveWluZyBMYW1iZGEtYmFzZWQgc2VydmljZVxuICogaGFuZGxlcnMgd2l0aCBhIFJlc3RhdGUgZW52aXJvbm1lbnQuIEl0IGlzIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgQ2xvdWQgYW5kIHNlbGYtaG9zdGVkIFJlc3RhdGUgZW52aXJvbm1lbnRcbiAqIGNvbnN0cnVjdHMgYW5kIG5vdCBpbnRlbmRlZCBmb3IgZGlyZWN0IHVzZSBieSBlbmQgdXNlcnMgb2YgUmVzdGF0ZS5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgaW1wbGVtZW50ZWQgYXMgYSBjdXN0b20gcmVzb3VyY2Ugc28gdGhhdCB3ZSBhcmUgbm90aWZpZWQgb2YgYW55IHVwZGF0ZXMgdG8gc2VydmljZSBoYW5kbGVyXG4gKiBmdW5jdGlvbnM6IGJ5IGNyZWF0aW5nIGEgQ2xvdWRGb3JtYXRpb24gY29tcG9uZW50LCB3ZSBjYW4gbW9kZWwgdGhlIGRlcGVuZGVuY3kgdGhhdCBhbnkgY2hhbmdlcyB0byB0aGUgaGFuZGxlcnMgbmVlZFxuICogdG8gYmUgY29tbXVuaWNhdGVkIHRvIHRoZSByZWdpc3RyYXIuIFdpdGhvdXQgdGhpcyBkZXBlbmRlbmN5LCBDbG91ZEZvcm1hdGlvbiBtaWdodCBwZXJmb3JtIGFuIHVwZGF0ZSBkZXBsb3ltZW50IHRoYXRcbiAqIHRyaWdnZXJlZCBieSBhIExhbWJkYSBoYW5kbGVyIGNvZGUgb3IgY29uZmlndXJhdGlvbiBjaGFuZ2UsIGFuZCB0aGUgUmVzdGF0ZSBlbnZpcm9ubWVudCB3b3VsZCBiZSB1bmF3YXJlIG9mIGl0LlxuICpcbiAqIFlvdSBjYW4gc2hhcmUgdGhlIHNhbWUgaW5zdGFuY2UgYWNyb3NzIG11bHRpcGxlIHNlcnZpY2UgcmVnaXN0cmllcyBwcm92aWRlZCB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIGFyZSBjb21wYXRpYmxlXG4gKiAoZS5nLiB0aGUgUmVzdGF0ZSBlbnZpcm9ubWVudHMgaXQgbmVlZHMgdG8gY29tbXVuaWNhdGUgd2l0aCBmb3IgZGVwbG95bWVudCBhcmUgYWxsIGFjY2Vzc2libGUgdmlhIHRoZSBzYW1lIFZQQyBhbmRcbiAqIFNlY3VyaXR5IEdyb3VwcykuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXJ2aWNlRGVwbG95ZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKiogVGhlIGN1c3RvbSByZXNvdXJjZSBwcm92aWRlciBmb3IgaGFuZGxpbmcgXCJkZXBsb3ltZW50XCIgcmVzb3VyY2VzLiAqL1xuICByZWFkb25seSBkZXBsb3ltZW50UmVzb3VyY2VQcm92aWRlcjogY3IuUHJvdmlkZXI7XG5cbiAgcHJpdmF0ZSBpbnZvY2F0aW9uUG9saWN5PzogaWFtLlBvbGljeTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogQWxsb3dzIHRoZSBjdXN0b20gcmVzb3VyY2UgZXZlbnQgaGFuZGxlciBwcm9wZXJ0aWVzIHRvIGJlIG92ZXJyaWRkZW4uIFRoZSBtYWluIHVzZSBjYXNlIGZvciB0aGlzIGlzIHNwZWNpZnlpbmdcbiAgICAgKiBWUEMgYW5kIHNlY3VyaXR5IGdyb3VwIHNldHRpbmdzIGZvciBSZXN0YXRlIGVudmlyb25tZW50cyB0aGF0IHJlcXVpcmUgaXQuXG4gICAgICovXG4gICAgcHJvcHM/OiBQaWNrPFxuICAgICAgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyxcbiAgICAgIFwiZnVuY3Rpb25OYW1lXCIgfCBcImxvZ0dyb3VwXCIgfCBcInRpbWVvdXRcIiB8IFwidnBjXCIgfCBcInZwY1N1Ym5ldHNcIiB8IFwic2VjdXJpdHlHcm91cHNcIlxuICAgID4gJlxuICAgICAgUGljazxOb2RlanNGdW5jdGlvblByb3BzLCBcImVudHJ5XCI+LFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZXZlbnRIYW5kbGVyID0gbmV3IGxhbWJkYV9ub2RlLk5vZGVqc0Z1bmN0aW9uKHRoaXMsIFwiRXZlbnRIYW5kbGVyXCIsIHtcbiAgICAgIGZ1bmN0aW9uTmFtZTogcHJvcHM/LmZ1bmN0aW9uTmFtZSxcbiAgICAgIGxvZ0dyb3VwOiBwcm9wcz8ubG9nR3JvdXAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJSZXN0YXRlIGN1c3RvbSByZWdpc3RyYXRpb24gaGFuZGxlclwiLFxuICAgICAgZW50cnk6IHByb3BzPy5lbnRyeSA/PyBwYXRoLmpvaW4oX19kaXJuYW1lLCBcInJlZ2lzdGVyLXNlcnZpY2UtaGFuZGxlci9pbmRleC5qc1wiKSxcbiAgICAgIGFyY2hpdGVjdHVyZTogbGFtYmRhLkFyY2hpdGVjdHVyZS5BUk1fNjQsXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfTEFURVNULFxuICAgICAgbWVtb3J5U2l6ZTogMTI4LFxuICAgICAgdGltZW91dDogcHJvcHM/LnRpbWVvdXQgPz8gREVGQVVMVF9USU1FT1VULFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgTk9ERV9PUFRJT05TOiBcIi0tZW5hYmxlLXNvdXJjZS1tYXBzXCIsXG4gICAgICB9LFxuICAgICAgYnVuZGxpbmc6IHtcbiAgICAgICAgbWluaWZ5OiBmYWxzZSxcbiAgICAgICAgc291cmNlTWFwOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIC4uLihwcm9wcz8udnBjXG4gICAgICAgID8gKHtcbiAgICAgICAgICAgIHZwYzogcHJvcHM/LnZwYyxcbiAgICAgICAgICAgIHZwY1N1Ym5ldHM6IHByb3BzPy52cGNTdWJuZXRzLFxuICAgICAgICAgICAgc2VjdXJpdHlHcm91cHM6IHByb3BzPy5zZWN1cml0eUdyb3VwcyxcbiAgICAgICAgICB9IHNhdGlzZmllcyBQaWNrPGxhbWJkYS5GdW5jdGlvbk9wdGlvbnMsIFwidnBjXCIgfCBcInZwY1N1Ym5ldHNcIiB8IFwic2VjdXJpdHlHcm91cHNcIj4pXG4gICAgICAgIDoge30pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kZXBsb3ltZW50UmVzb3VyY2VQcm92aWRlciA9IG5ldyBjci5Qcm92aWRlcih0aGlzLCBcIkN1c3RvbVJlc291cmNlUHJvdmlkZXJcIiwgeyBvbkV2ZW50SGFuZGxlcjogZXZlbnRIYW5kbGVyIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcGxveSBhIExhbWJkYS1iYWNrZWQgUmVzdGF0ZSBzZXJ2aWNlIHRvIGEgZ2l2ZW4gZW52aXJvbm1lbnQuIFRoaXMgd2lsbCByZWdpc3RlciBhIGRlcGxveW1lbnQgdGhhdCB3aWxsIHRyaWdnZXJcbiAgICogYSBSZXN0YXRlIHJlZ2lzdHJhdGlvbiB3aGVuZXZlciB0aGUgaGFuZGxlciByZXNvdXJjZSBjaGFuZ2VzLlxuICAgKlxuICAgKiBAcGFyYW0gc2VydmljZU5hbWUgdGhlIHNlcnZpY2UgbmFtZSB3aXRoaW4gUmVzdGF0ZSAtIHRoaXMgbXVzdCBtYXRjaCB0aGUgc2VydmljZSdzIHNlbGYtcmVwb3J0ZWQgbmFtZSBkdXJpbmcgZGlzY292ZXJ5XG4gICAqIEBwYXJhbSBoYW5kbGVyIHNlcnZpY2UgaGFuZGxlciAtIG11c3QgYmUgYSBzcGVjaWZpYyBmdW5jdGlvbiB2ZXJzaW9uLCB1c2UgXCJsYXRlc3RcIiBpZiB5b3UgZG9uJ3QgY2FyZSBhYm91dCBleHBsaWNpdCB2ZXJzaW9uaW5nXG4gICAqIEBwYXJhbSBlbnZpcm9ubWVudCB0YXJnZXQgUmVzdGF0ZSBlbnZpcm9ubWVudFxuICAgKiBAcGFyYW0gb3B0aW9ucyBhZGRpdGlvbmFsIG9wdGlvbnM7IHNlZSBmaWVsZCBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxzXG4gICAqL1xuICBkZXBsb3lTZXJ2aWNlKFxuICAgIHNlcnZpY2VOYW1lOiBzdHJpbmcsXG4gICAgaGFuZGxlcjogbGFtYmRhLklWZXJzaW9uLFxuICAgIGVudmlyb25tZW50OiBJUmVzdGF0ZUVudmlyb25tZW50LFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICAvKipcbiAgICAgICAqIFNTTSBzZWNyZXQgQVJOIGZvciB0aGUgYXV0aGVudGljYXRpb24gdG9rZW4gdG8gdXNlIHdpdGggdGhlIGFkbWluIEFQSS4gVGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRoZSBlbnZpcm9ubWVudCdzXG4gICAgICAgKiB0b2tlbiwgaWYgaXQgaXMgc2V0LlxuICAgICAgICovXG4gICAgICBhdXRoVG9rZW4/OiBzc20uSVNlY3JldDtcbiAgICAgIC8qKlxuICAgICAgICogV2hldGhlciB0byBza2lwIGdyYW50aW5nIHRoZSBpbnZva2VyIHJvbGUgcGVybWlzc2lvbiB0byBpbnZva2UgdGhlIHNlcnZpY2UgaGFuZGxlci5cbiAgICAgICAqL1xuICAgICAgc2tpcEludm9rZUZ1bmN0aW9uR3JhbnQ/OiBib29sZWFuO1xuICAgICAgLyoqXG4gICAgICAgKiBXaGV0aGVyIHRvIG1hcmsgdGhlIHNlcnZpY2UgYXMgcHJpdmF0ZSwgYW5kIG1ha2UgaXQgdW5hdmFpbGFibGUgdG8gYmUgY2FsbGVkIHZpYSBSZXN0YXRlIGluZ3Jlc3MuXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5yZXN0YXRlLmRldi9vcGVyYXRlL3JlZ2lzdHJhdGlvbiNwcml2YXRlLXNlcnZpY2VzXG4gICAgICAgKi9cbiAgICAgIHByaXZhdGU/OiBib29sZWFuO1xuICAgICAgLyoqXG4gICAgICAgKiBBIGR1bW15IHBhcmFtZXRlciB0byBmb3JjZSBDbG91ZEZvcm1hdGlvbiB0byB1cGRhdGUgdGhlIGRlcGxveW1lbnQgd2hlbiB0aGUgY29uZmlndXJhdGlvbiBjaGFuZ2VzLiBVc2VmdWwgaWZcbiAgICAgICAqIHlvdSB3YW50IHRvIHRhcmdldCB0aGUgXCJsYXRlc3QgdmVyc2lvblwiIG9mIGEgc2VydmljZSBoYW5kbGVyIGFuZCBuZWVkIHRvIGZvcmNlIGEgZGVwbG95bWVudCBpbiBvcmRlciB0byB0cmlnZ2VyXG4gICAgICAgKiBkaXNjb3ZlcnkuXG4gICAgICAgKi9cbiAgICAgIGNvbmZpZ3VyYXRpb25WZXJzaW9uPzogc3RyaW5nO1xuICAgICAgLyoqXG4gICAgICAgKiBXaGV0aGVyIHRvIGFjY2VwdCBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZXMuXG4gICAgICAgKi9cbiAgICAgIGluc2VjdXJlPzogYm9vbGVhbjtcbiAgICB9LFxuICApIHtcbiAgICBjb25zdCBhdXRoVG9rZW4gPSBvcHRpb25zPy5hdXRoVG9rZW4gPz8gZW52aXJvbm1lbnQuYXV0aFRva2VuO1xuICAgIGF1dGhUb2tlbj8uZ3JhbnRSZWFkKHRoaXMuZGVwbG95bWVudFJlc291cmNlUHJvdmlkZXIub25FdmVudEhhbmRsZXIpO1xuXG4gICAgY29uc3QgZGVwbG95bWVudCA9IG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UoaGFuZGxlciwgXCJSZXN0YXRlRGVwbG95bWVudFwiLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHRoaXMuZGVwbG95bWVudFJlc291cmNlUHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcmVzb3VyY2VUeXBlOiBcIkN1c3RvbTo6UmVzdGF0ZVNlcnZpY2VEZXBsb3ltZW50XCIsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIHNlcnZpY2VQYXRoOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgYWRtaW5Vcmw6IGVudmlyb25tZW50LmFkbWluVXJsLFxuICAgICAgICBhdXRoVG9rZW5TZWNyZXRBcm46IGF1dGhUb2tlbj8uc2VjcmV0QXJuLFxuICAgICAgICBzZXJ2aWNlTGFtYmRhQXJuOiBoYW5kbGVyLmZ1bmN0aW9uQXJuLFxuICAgICAgICBpbnZva2VSb2xlQXJuOiBlbnZpcm9ubWVudC5pbnZva2VyUm9sZT8ucm9sZUFybixcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogY2RrLlJlbW92YWxQb2xpY3kuUkVUQUlOLFxuICAgICAgICBwcml2YXRlOiAob3B0aW9ucz8ucHJpdmF0ZSA/PyBmYWxzZSkudG9TdHJpbmcoKSBhcyBcInRydWVcIiB8IFwiZmFsc2VcIixcbiAgICAgICAgY29uZmlndXJhdGlvblZlcnNpb246IG9wdGlvbnM/LmNvbmZpZ3VyYXRpb25WZXJzaW9uLFxuICAgICAgICBpbnNlY3VyZTogKG9wdGlvbnM/Lmluc2VjdXJlID8/IGZhbHNlKS50b1N0cmluZygpIGFzIFwidHJ1ZVwiIHwgXCJmYWxzZVwiLFxuICAgICAgfSBzYXRpc2ZpZXMgUmVnaXN0cmF0aW9uUHJvcGVydGllcyxcbiAgICB9KTtcblxuICAgIGlmIChlbnZpcm9ubWVudC5pbnZva2VyUm9sZSAmJiAhb3B0aW9ucz8uc2tpcEludm9rZUZ1bmN0aW9uR3JhbnQpIHtcbiAgICAgIC8vIFdlIGNyZWF0ZSBhIHNlcGFyYXRlIHBvbGljeSB3aGljaCB3ZSdsbCBhdHRhY2ggdG8gdGhlIHByb3ZpZGVkIGludm9rZXIgcm9sZS4gVGhpcyBicmVha3MgYSBjaXJjdWxhciBjcm9zcy1zdGFja1xuICAgICAgLy8gZGVwZW5kZW5jeSB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZSBjcmVhdGVkIGJldHdlZW4gdGhlIHNlcnZpY2UgZGVwbG95ZXIgYW5kIHRoZSBpbnZva2VyIHJvbGUuXG4gICAgICBpZiAoIXRoaXMuaW52b2NhdGlvblBvbGljeSkge1xuICAgICAgICB0aGlzLmludm9jYXRpb25Qb2xpY3kgPSBuZXcgaWFtLlBvbGljeSh0aGlzLCBcIkludm9jYXRpb25Qb2xpY3lcIik7XG4gICAgICAgIC8vIERlc3BpdGUgdGhlIEFSTiByZWZlcmVuY2UgYWJvdmUsIENsb3VkRm9ybWF0aW9uIHNvbWV0aW1lcyB0cmllcyB0byBpbnZva2UgdGhlIGN1c3RvbSByZXNvdXJjZSBoYW5kbGVyIGJlZm9yZVxuICAgICAgICAvLyBhbGwgcGVybWlzc2lvbnMgYXJlIGFwcGxpZWQuIEFkZGluZyBhbiBleHBsaWNpdCBkZXBlbmRlbmN5IGluY2x1ZGVzIGEgZGVwZW5kZW5jeSBvbiBhbnkgcGVuZGluZyBwb2xpY3kgdXBkYXRlc1xuICAgICAgICAvLyBkZWZpbmVkIGluIHRoZSBzYW1lIHN0YWNrIGFzIHRoZSBzZXJ2aWNlIGRlcGxveWVyLCB3aGljaCBzZWVtcyB0byBoZWxwLiBTb21lIHByb3BhZ2F0aW9uIGRlbGF5IG1pZ2h0IHN0aWxsIG1lYW5cbiAgICAgICAgLy8gd2UgbGVhbiBvbiByZXRyaWVzIGluIHRoZSBkZXBsb3llciBldmVudCBoYW5kbGVyIGluIGFueSBldmVudCBidXQgdGhpcyByZWR1Y2VzIHRoZSBwcm9iYWJpbGl0eSBvZiBmYWlsdXJlLlxuICAgICAgICBkZXBsb3ltZW50Lm5vZGUuYWRkRGVwZW5kZW5jeSh0aGlzLmludm9jYXRpb25Qb2xpY3kpO1xuICAgICAgICB0aGlzLmludm9jYXRpb25Qb2xpY3kuYXR0YWNoVG9Sb2xlKGVudmlyb25tZW50Lmludm9rZXJSb2xlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW52b2NhdGlvblBvbGljeS5hZGRTdGF0ZW1lbnRzKFxuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1wibGFtYmRhOkludm9rZUZ1bmN0aW9uXCJdLFxuICAgICAgICAgIHJlc291cmNlczogaGFuZGxlci5sYW1iZGEucmVzb3VyY2VBcm5zRm9yR3JhbnRJbnZva2UsXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -26,10 +26,10 @@ export interface SingleNodeRestateProps {
|
|
|
26
26
|
removalPolicy?: cdk.RemovalPolicy;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
* Creates a Restate service deployment backed by a single EC2 instance,
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* a public IP address.
|
|
29
|
+
* Creates a Restate service deployment backed by a single EC2 instance, and is suitable for
|
|
30
|
+
* development and testing purposes.
|
|
31
|
+
* The EC2 instance will be created in the default VPC unless otherwise specified.
|
|
32
|
+
* The instance will be assigned a public IP address.
|
|
33
33
|
*/
|
|
34
34
|
export declare class SingleNodeRestateDeployment extends Construct implements IRestateEnvironment {
|
|
35
35
|
readonly instance: ec2.Instance;
|
|
@@ -49,10 +49,10 @@ const RESTATE_IMAGE_DEFAULT = "docker.io/restatedev/restate";
|
|
|
49
49
|
const RESTATE_DOCKER_DEFAULT_TAG = "latest";
|
|
50
50
|
const ADOT_DOCKER_DEFAULT_TAG = "latest";
|
|
51
51
|
/**
|
|
52
|
-
* Creates a Restate service deployment backed by a single EC2 instance,
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* a public IP address.
|
|
52
|
+
* Creates a Restate service deployment backed by a single EC2 instance, and is suitable for
|
|
53
|
+
* development and testing purposes.
|
|
54
|
+
* The EC2 instance will be created in the default VPC unless otherwise specified.
|
|
55
|
+
* The instance will be assigned a public IP address.
|
|
56
56
|
*/
|
|
57
57
|
class SingleNodeRestateDeployment extends constructs_1.Construct {
|
|
58
58
|
constructor(scope, id, props) {
|
|
@@ -155,4 +155,4 @@ const NGINX_REVERSE_PROXY_CONFIG = [
|
|
|
155
155
|
" }",
|
|
156
156
|
"}",
|
|
157
157
|
].join("\n");
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLW5vZGUtcmVzdGF0ZS1kZXBsb3ltZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL3Jlc3RhdGUtY29uc3RydWN0cy9zaW5nbGUtbm9kZS1yZXN0YXRlLWRlcGxveW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7R0FTRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCwyQ0FBdUM7QUFDdkMsMkRBQTZDO0FBQzdDLG1EQUFxRDtBQUNyRCx5REFBMkM7QUFDM0MseURBQTJDO0FBRTNDLDZEQUFtRDtBQUVuRCw2Q0FBNEM7QUFFNUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUM7QUFDaEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUM7QUFDL0IsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUM7QUFDbEMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUM7QUFDaEMsTUFBTSxxQkFBcUIsR0FBRyw4QkFBOEIsQ0FBQztBQUM3RCxNQUFNLDBCQUEwQixHQUFHLFFBQVEsQ0FBQztBQUM1QyxNQUFNLHVCQUF1QixHQUFHLFFBQVEsQ0FBQztBQThCekM7Ozs7O0dBS0c7QUFDSCxNQUFhLDJCQUE0QixTQUFRLHNCQUFTO0lBUXhELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNkI7UUFDckUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTdFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDcEQsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixD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QixFQUFFO0lBQ0YsOERBQThEO0lBQzlELGtFQUFrRTtJQUNsRSxvQ0FBb0M7SUFDcEMsNEJBQTRCO0lBQzVCLCtCQUErQjtJQUMvQixpQ0FBaUM7SUFDakMsRUFBRTtJQUNGLGdCQUFnQjtJQUNoQixtQ0FBbUMsa0JBQWtCLEdBQUc7SUFDeEQsS0FBSztJQUNMLEdBQUc7Q0FDSixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjMgLSBSZXN0YXRlIFNvZnR3YXJlLCBJbmMuLCBSZXN0YXRlIEdtYkhcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgUmVzdGF0ZSBTREsgZm9yIE5vZGUuanMvVHlwZVNjcmlwdCxcbiAqIHdoaWNoIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqXG4gKiBZb3UgY2FuIGZpbmQgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGluIGZpbGUgTElDRU5TRSBpbiB0aGUgcm9vdFxuICogZGlyZWN0b3J5IG9mIHRoaXMgcmVwb3NpdG9yeSBvciBwYWNrYWdlLCBvciBhdFxuICogaHR0cHM6Ly9naXRodWIuY29tL3Jlc3RhdGVkZXYvc2RrLXR5cGVzY3JpcHQvYmxvYi9tYWluL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxvZ3NcIjtcbmltcG9ydCB7IFJldGVudGlvbkRheXMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxvZ3NcIjtcbmltcG9ydCAqIGFzIGVjMiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgeyBJUmVzdGF0ZUVudmlyb25tZW50IH0gZnJvbSBcIi4vcmVzdGF0ZS1lbnZpcm9ubWVudFwiO1xuaW1wb3J0IHsgVHJhY2luZ01vZGUgfSBmcm9tIFwiLi9kZXBsb3ltZW50cy1jb21tb25cIjtcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuY29uc3QgUFVCTElDX0lOR1JFU1NfUE9SVCA9IDQ0MztcbmNvbnN0IFBVQkxJQ19BRE1JTl9QT1JUID0gOTA3MztcbmNvbnN0IFJFU1RBVEVfSU5HUkVTU19QT1JUID0gODA4MDtcbmNvbnN0IFJFU1RBVEVfQURNSU5fUE9SVCA9IDkwNzA7XG5jb25zdCBSRVNUQVRFX0lNQUdFX0RFRkFVTFQgPSBcImRvY2tlci5pby9yZXN0YXRlZGV2L3Jlc3RhdGVcIjtcbmNvbnN0IFJFU1RBVEVfRE9DS0VSX0RFRkFVTFRfVEFHID0gXCJsYXRlc3RcIjtcbmNvbnN0IEFET1RfRE9DS0VSX0RFRkFVTFRfVEFHID0gXCJsYXRlc3RcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTaW5nbGVOb2RlUmVzdGF0ZVByb3BzIHtcbiAgLyoqIFRoZSBWUEMgaW4gd2hpY2ggdG8gbGF1bmNoIHRoZSBSZXN0YXRlIGhvc3QuICovXG4gIHZwYz86IGVjMi5JVnBjO1xuXG4gIC8qKiBMb2cgZ3JvdXAgZm9yIFJlc3RhdGUgc2VydmljZSBsb2dzLiAqL1xuICBsb2dHcm91cD86IGxvZ3MuTG9nR3JvdXA7XG5cbiAgLyoqIFRyYWNpbmcgbW9kZSBmb3IgUmVzdGF0ZSBzZXJ2aWNlcy4gRGVmYXVsdHMgdG8ge0BsaW5rIFRyYWNpbmdNb2RlLkRJU0FCTEVEfS4gKi9cbiAgdHJhY2luZz86IFRyYWNpbmdNb2RlO1xuXG4gIC8qKiBQcmVmaXggZm9yIHJlc291cmNlcyBjcmVhdGVkIGJ5IHRoaXMgY29uc3RydWN0IHRoYXQgcmVxdWlyZSB1bmlxdWUgbmFtZXMuICovXG4gIHByZWZpeD86IHN0cmluZztcblxuICAvKiogUmVzdGF0ZSBEb2NrZXIgaW1hZ2UgbmFtZS4gRGVmYXVsdHMgdG8gYGxhdGVzdGAuICovXG4gIHJlc3RhdGVJbWFnZT86IHN0cmluZztcblxuICAvKiogUmVzdGF0ZSBEb2NrZXIgaW1hZ2UgdGFnLiBEZWZhdWx0cyB0byBgbGF0ZXN0YC4gKi9cbiAgcmVzdGF0ZVRhZz86IHN0cmluZztcblxuICAvKiogQW1hem9uIERpc3RybyBmb3IgT3BlbiBUZWxlbWV0cnkgRG9ja2VyIGltYWdlIHRhZy4gRGVmYXVsdHMgdG8gYGxhdGVzdGAuICovXG4gIGFkb3RUYWc/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlbW92YWwgcG9saWN5IGZvciBsb25nLWxpdmVkIHJlc291cmNlcyAoc3RvcmFnZSwgbG9ncykuIERlZmF1bHQ6IGBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZYC5cbiAgICovXG4gIHJlbW92YWxQb2xpY3k/OiBjZGsuUmVtb3ZhbFBvbGljeTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgUmVzdGF0ZSBzZXJ2aWNlIGRlcGxveW1lbnQgYmFja2VkIGJ5IGEgc2luZ2xlIEVDMiBpbnN0YW5jZSxcbiAqIHN1aXRhYmxlIGZvciBkZXZlbG9wbWVudCBhbmQgdGVzdGluZyBwdXJwb3Nlcy4gVGhlIGluc3RhbmNlIHdpbGwgYmUgY3JlYXRlZFxuICogaW4gYSBkZWRpY2F0ZWQgVlBDICh1bmxlc3Mgb25lIGlzIHByb3ZpZGVkKS4gRUMyIGluc3RhbmNlIHdpbGwgYmUgYWxsb2NhdGVkXG4gKiBhIHB1YmxpYyBJUCBhZGRyZXNzLlxuICovXG5leHBvcnQgY2xhc3MgU2luZ2xlTm9kZVJlc3RhdGVEZXBsb3ltZW50IGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVJlc3RhdGVFbnZpcm9ubWVudCB7XG4gIHJlYWRvbmx5IGluc3RhbmNlOiBlYzIuSW5zdGFuY2U7XG4gIHJlYWRvbmx5IGludm9rZXJSb2xlOiBpYW0uSVJvbGU7XG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG5cbiAgcmVhZG9ubHkgaW5ncmVzc1VybDogc3RyaW5nO1xuICByZWFkb25seSBhZG1pblVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTaW5nbGVOb2RlUmVzdGF0ZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMudnBjID0gcHJvcHMudnBjID8/IGVjMi5WcGMuZnJvbUxvb2t1cCh0aGlzLCBcIlZwY1wiLCB7IGlzRGVmYXVsdDogdHJ1ZSB9KTtcblxuICAgIHRoaXMuaW52b2tlclJvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgXCJJbnN0YW5jZVJvbGVcIiwge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoXCJlYzIuYW1hem9uYXdzLmNvbVwiKSxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW2lhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcIkFtYXpvblNTTU1hbmFnZWRJbnN0YW5jZUNvcmVcIildLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbG9nR3JvdXAgPVxuICAgICAgcHJvcHMubG9nR3JvdXAgPz9cbiAgICAgIG5ldyBsb2dzLkxvZ0dyb3VwKHRoaXMsIFwiTG9nc1wiLCB7XG4gICAgICAgIGxvZ0dyb3VwTmFtZTogYC9yZXN0YXRlLyR7aWR9YCxcbiAgICAgICAgcmV0ZW50aW9uOiBSZXRlbnRpb25EYXlzLk9ORV9NT05USCxcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogcHJvcHMucmVtb3ZhbFBvbGljeSA/PyBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICB9KTtcbiAgICBsb2dHcm91cC5ncmFudFdyaXRlKHRoaXMuaW52b2tlclJvbGUpO1xuXG4gICAgY29uc3QgcmVzdGF0ZUltYWdlID0gcHJvcHMucmVzdGF0ZUltYWdlID8/IFJFU1RBVEVfSU1BR0VfREVGQVVMVDtcbiAgICBjb25zdCByZXN0YXRlVGFnID0gcHJvcHMucmVzdGF0ZVRhZyA/PyBSRVNUQVRFX0RPQ0tFUl9ERUZBVUxUX1RBRztcbiAgICBjb25zdCBhZG90VGFnID0gcHJvcHMuYWRvdFRhZyA/PyBBRE9UX0RPQ0tFUl9ERUZBVUxUX1RBRztcbiAgICBjb25zdCByZXN0YXRlSW5pdENvbW1hbmRzID0gZWMyLlVzZXJEYXRhLmZvckxpbnV4KCk7XG4gICAgcmVzdGF0ZUluaXRDb21tYW5kcy5hZGRDb21tYW5kcyhcbiAgICAgIFwieXVtIHVwZGF0ZSAteVwiLFxuICAgICAgXCJ5dW0gaW5zdGFsbCAteSBkb2NrZXIgbmdpbnhcIixcblxuICAgICAgXCJzeXN0ZW1jdGwgZW5hYmxlIGRvY2tlci5zZXJ2aWNlXCIsXG4gICAgICBcInN5c3RlbWN0bCBzdGFydCBkb2NrZXIuc2VydmljZVwiLFxuICAgICAgW1xuICAgICAgICBcImRvY2tlciBydW4gLS1uYW1lIGFkb3QgLS1yZXN0YXJ0IHVubGVzcy1zdG9wcGVkIC0tZGV0YWNoXCIsXG4gICAgICAgIFwiIC1wIDQzMTc6NDMxNyAtcCA1NTY4MDo1NTY4MCAtcCA4ODg5Ojg4ODhcIixcbiAgICAgICAgYCBwdWJsaWMuZWNyLmF3cy9hd3Mtb2JzZXJ2YWJpbGl0eS9hd3Mtb3RlbC1jb2xsZWN0b3I6JHthZG90VGFnfWAsXG4gICAgICBdLmpvaW4oXCJcIiksXG4gICAgICBbXG4gICAgICAgIFwiZG9ja2VyIHJ1biAtLW5hbWUgcmVzdGF0ZSAtLXJlc3RhcnQgdW5sZXNzLXN0b3BwZWQgLS1kZXRhY2hcIixcbiAgICAgICAgXCIgLS12b2x1bWUgL3Zhci9yZXN0YXRlOi90YXJnZXQgLS1uZXR3b3JrPWhvc3RcIixcbiAgICAgICAgXCIgLWUgUkVTVEFURV9PQlNFUlZBQklMSVRZX19MT0dfX0ZPUk1BVD1Kc29uIC1lIFJVU1RfTE9HPWluZm8scmVzdGF0ZV93b3JrZXI6OnBhcnRpdGlvbj13YXJuXCIsXG4gICAgICAgIFwiIC1lIFJFU1RBVEVfT0JTRVJWQUJJTElUWV9fVFJBQ0lOR19fRU5EUE9JTlQ9aHR0cDovL2xvY2FsaG9zdDo0MzE3XCIsXG4gICAgICAgIGAgLS1sb2ctZHJpdmVyPWF3c2xvZ3MgLS1sb2ctb3B0IGF3c2xvZ3MtZ3JvdXA9JHtsb2dHcm91cC5sb2dHcm91cE5hbWV9YCxcbiAgICAgICAgYCAke3Jlc3RhdGVJbWFnZX06JHtyZXN0YXRlVGFnfWAsXG4gICAgICBdLmpvaW4oXCJcIiksXG5cbiAgICAgIFwibWtkaXIgLXAgL2V0Yy9wa2kvcHJpdmF0ZVwiLFxuICAgICAgW1xuICAgICAgICBcIm9wZW5zc2wgcmVxIC1uZXcgLXg1MDkgLW5vZGVzIC1zaGEyNTYgLWRheXMgMzY1IC1leHRlbnNpb25zIHYzX2NhXCIsXG4gICAgICAgIFwiIC1zdWJqICcvQz1ERS9TVD1CZXJsaW4vTD1CZXJsaW4vTz1yZXN0YXRlLmRldi9PVT1kZW1vL0NOPXJlc3RhdGUuZXhhbXBsZS5jb20nXCIsXG4gICAgICAgIFwiIC1uZXdrZXkgcnNhOjIwNDggLWtleW91dCAvZXRjL3BraS9wcml2YXRlL3Jlc3RhdGUtc2VsZnNpZ25lZC5rZXkgLW91dCAvZXRjL3BraS9wcml2YXRlL3Jlc3RhdGUtc2VsZnNpZ25lZC5jcnRcIixcbiAgICAgIF0uam9pbihcIlwiKSxcbiAgICAgIFtcImNhdCA8PCBFT0YgPiAvZXRjL25naW54L2NvbmYuZC9yZXN0YXRlLWluZ3Jlc3MuY29uZlwiLCBOR0lOWF9SRVZFUlNFX1BST1hZX0NPTkZJRywgXCJFT0ZcIl0uam9pbihcIlxcblwiKSxcbiAgICAgIFwic3lzdGVtY3RsIGVuYWJsZSBuZ2lueFwiLFxuICAgICAgXCJzeXN0ZW1jdGwgc3RhcnQgbmdpbnhcIixcbiAgICApO1xuXG4gICAgY29uc3QgcmVzdGF0ZUluc3RhbmNlID0gbmV3IGVjMi5JbnN0YW5jZSh0aGlzLCBcIkhvc3RcIiwge1xuICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDIH0sXG4gICAgICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlKFwidDRnLm1pY3JvXCIpLFxuICAgICAgbWFjaGluZUltYWdlOiBlYzIuTWFjaGluZUltYWdlLmxhdGVzdEFtYXpvbkxpbnV4MjAyMyh7XG4gICAgICAgIGNwdVR5cGU6IGVjMi5BbWF6b25MaW51eENwdVR5cGUuQVJNXzY0LFxuICAgICAgfSksXG4gICAgICByb2xlOiB0aGlzLmludm9rZXJSb2xlLFxuICAgICAgdXNlckRhdGE6IHJlc3RhdGVJbml0Q29tbWFuZHMsXG4gICAgfSk7XG4gICAgdGhpcy5pbnN0YW5jZSA9IHJlc3RhdGVJbnN0YW5jZTtcblxuICAgIC8vIFdlIHN0YXJ0IHRoZSBBRE9UIGNvbGxlY3RvciByZWdhcmRsZXNzLCBhbmQgb25seSBjb250cm9sIHdoZXRoZXIgdGhleSB3aWxsIGJlIHB1Ymxpc2hlZCB0byBYLVJheSB2aWEgaW5zdGFuY2VcbiAgICAvLyByb2xlIHBlcm1pc3Npb25zLiBUaGlzIHdheSBoaXN0b3JpYyB0cmFjZXMgd2lsbCBiZSBidWZmZXJlZCBvbiB0aGUgaG9zdCwgZXZlbiBpZiB0cmFjaW5nIGlzIGRpc2FibGVkIGluaXRpYWxseS5cbiAgICBpZiAocHJvcHMudHJhY2luZyA9PT0gVHJhY2luZ01vZGUuQVdTX1hSQVkpIHtcbiAgICAgIHJlc3RhdGVJbnN0YW5jZS5yb2xlLmFkZE1hbmFnZWRQb2xpY3koaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKFwiQVdTWHJheVdyaXRlT25seUFjY2Vzc1wiKSk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdGF0ZUluc3RhbmNlU2VjdXJpdHlHcm91cCA9IG5ldyBlYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBcIlJlc3RhdGVTZWN1cml0eUdyb3VwXCIsIHtcbiAgICAgIHZwYzogdGhpcy52cGMsXG4gICAgICBzZWN1cml0eUdyb3VwTmFtZTogXCJSZXN0YXRlU2VjdXJpdHlHcm91cFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiUmVzdGF0ZSBzZXJ2aWNlIEFDTHNcIixcbiAgICB9KTtcbiAgICByZXN0YXRlSW5zdGFuY2UuYWRkU2VjdXJpdHlHcm91cChyZXN0YXRlSW5zdGFuY2VTZWN1cml0eUdyb3VwKTtcblxuICAgIHJlc3RhdGVJbnN0YW5jZVNlY3VyaXR5R3JvdXAuYWRkSW5ncmVzc1J1bGUoXG4gICAgICBlYzIuUGVlci5hbnlJcHY0KCksXG4gICAgICBlYzIuUG9ydC50Y3AoNDQzKSxcbiAgICAgIFwiQWxsb3cgdHJhZmZpYyBmcm9tIGFueXdoZXJlIHRvIFJlc3RhdGUgaW5ncmVzcyBwb3J0XCIsXG4gICAgKTtcbiAgICByZXN0YXRlSW5zdGFuY2VTZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgZWMyLlBlZXIuYW55SXB2NCgpLFxuICAgICAgZWMyLlBvcnQudGNwKDkwNzMpLFxuICAgICAgXCJBbGxvdyB0cmFmZmljIGZyb20gYW55d2hlcmUgdG8gUmVzdGF0ZSBhZG1pbiBwb3J0XCIsXG4gICAgKTtcblxuICAgIHRoaXMuaW5ncmVzc1VybCA9IGBodHRwczovLyR7cmVzdGF0ZUluc3RhbmNlLmluc3RhbmNlUHVibGljRG5zTmFtZX0ke1xuICAgICAgUFVCTElDX0lOR1JFU1NfUE9SVCA9PSA0NDMgPyBcIlwiIDogYDoke1BVQkxJQ19JTkdSRVNTX1BPUlR9YFxuICAgIH1gO1xuICAgIHRoaXMuYWRtaW5VcmwgPSBgaHR0cHM6Ly8ke3Jlc3RhdGVJbnN0YW5jZS5pbnN0YW5jZVB1YmxpY0Ruc05hbWV9OiR7UFVCTElDX0FETUlOX1BPUlR9YDtcbiAgfVxufVxuXG5jb25zdCBOR0lOWF9SRVZFUlNFX1BST1hZX0NPTkZJRyA9IFtcbiAgXCJzZXJ2ZXIge1wiLFxuICBcIiAgbGlzdGVuIDQ0MyBzc2wgaHR0cDI7XCIsXG4gIFwiICBsaXN0ZW4gWzo6XTo0NDMgc3NsIGh0dHAyO1wiLFxuICBcIiAgc2VydmVyX25hbWUgXztcIixcbiAgXCIgIHJvb3QgL3Vzci9zaGFyZS9uZ2lueC9odG1sO1wiLFxuICBcIlwiLFxuICAnICBzc2xfY2VydGlmaWNhdGUgXCIvZXRjL3BraS9wcml2YXRlL3Jlc3RhdGUtc2VsZnNpZ25lZC5jcnRcIjsnLFxuICAnICBzc2xfY2VydGlmaWNhdGVfa2V5IFwiL2V0Yy9wa2kvcHJpdmF0ZS9yZXN0YXRlLXNlbGZzaWduZWQua2V5XCI7JyxcbiAgXCIgIHNzbF9zZXNzaW9uX2NhY2hlIHNoYXJlZDpTU0w6MW07XCIsXG4gIFwiICBzc2xfc2Vzc2lvbl90aW1lb3V0IDEwbTtcIixcbiAgXCIgIHNzbF9jaXBoZXJzIFBST0ZJTEU9U1lTVEVNO1wiLFxuICBcIiAgc3NsX3ByZWZlcl9zZXJ2ZXJfY2lwaGVycyBvbjtcIixcbiAgXCJcIixcbiAgXCIgIGxvY2F0aW9uIC8ge1wiLFxuICBgICAgIHByb3h5X3Bhc3MgaHR0cDovL2xvY2FsaG9zdDoke1JFU1RBVEVfSU5HUkVTU19QT1JUfTtgLFxuICBcIiAgfVwiLFxuICBcIn1cIixcbiAgXCJcIixcbiAgXCJzZXJ2ZXIge1wiLFxuICBcIiAgbGlzdGVuIDkwNzMgc3NsIGh0dHAyO1wiLFxuICBcIiAgbGlzdGVuIFs6Ol06OTA3MyBzc2wgaHR0cDI7XCIsXG4gIFwiICBzZXJ2ZXJfbmFtZSBfO1wiLFxuICBcIiAgcm9vdCAvdXNyL3NoYXJlL25naW54L2h0bWw7XCIsXG4gIFwiXCIsXG4gICcgIHNzbF9jZXJ0aWZpY2F0ZSBcIi9ldGMvcGtpL3ByaXZhdGUvcmVzdGF0ZS1zZWxmc2lnbmVkLmNydFwiOycsXG4gICcgIHNzbF9jZXJ0aWZpY2F0ZV9rZXkgXCIvZXRjL3BraS9wcml2YXRlL3Jlc3RhdGUtc2VsZnNpZ25lZC5rZXlcIjsnLFxuICBcIiAgc3NsX3Nlc3Npb25fY2FjaGUgc2hhcmVkOlNTTDoxbTtcIixcbiAgXCIgIHNzbF9zZXNzaW9uX3RpbWVvdXQgMTBtO1wiLFxuICBcIiAgc3NsX2NpcGhlcnMgUFJPRklMRT1TWVNURU07XCIsXG4gIFwiICBzc2xfcHJlZmVyX3NlcnZlcl9jaXBoZXJzIG9uO1wiLFxuICBcIlwiLFxuICBcIiAgbG9jYXRpb24gLyB7XCIsXG4gIGAgICAgcHJveHlfcGFzcyBodHRwOi8vbG9jYWxob3N0OiR7UkVTVEFURV9BRE1JTl9QT1JUfTtgLFxuICBcIiAgfVwiLFxuICBcIn1cIixcbl0uam9pbihcIlxcblwiKTtcbiJdfQ==
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLW5vZGUtcmVzdGF0ZS1kZXBsb3ltZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL3Jlc3RhdGUtY29uc3RydWN0cy9zaW5nbGUtbm9kZS1yZXN0YXRlLWRlcGxveW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7R0FTRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCwyQ0FBdUM7QUFDdkMsMkRBQTZDO0FBQzdDLG1EQUFxRDtBQUNyRCx5REFBMkM7QUFDM0MseURBQTJDO0FBRTNDLDZEQUFtRDtBQUVuRCw2Q0FBNEM7QUFFNUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUM7QUFDaEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUM7QUFDL0IsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUM7QUFDbEMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUM7QUFDaEMsTUFBTSxxQkFBcUIsR0FBRyw4QkFBOEIsQ0FBQztBQUM3RCxNQUFNLDBCQUEwQixHQUFHLFFBQVEsQ0FBQztBQUM1QyxNQUFNLHVCQUF1QixHQUFHLFFBQVEsQ0FBQztBQThCekM7Ozs7O0dBS0c7QUFDSCxNQUFhLDJCQUE0QixTQUFRLHNCQUFTO0lBUXhELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNkI7UUFDckUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTdFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDcEQsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixD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QixFQUFFO0lBQ0YsOERBQThEO0lBQzlELGtFQUFrRTtJQUNsRSxvQ0FBb0M7SUFDcEMsNEJBQTRCO0lBQzVCLCtCQUErQjtJQUMvQixpQ0FBaUM7SUFDakMsRUFBRTtJQUNGLGdCQUFnQjtJQUNoQixtQ0FBbUMsa0JBQWtCLEdBQUc7SUFDeEQsS0FBSztJQUNMLEdBQUc7Q0FDSixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjMgLSBSZXN0YXRlIFNvZnR3YXJlLCBJbmMuLCBSZXN0YXRlIEdtYkhcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgUmVzdGF0ZSBTREsgZm9yIE5vZGUuanMvVHlwZVNjcmlwdCxcbiAqIHdoaWNoIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqXG4gKiBZb3UgY2FuIGZpbmQgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGluIGZpbGUgTElDRU5TRSBpbiB0aGUgcm9vdFxuICogZGlyZWN0b3J5IG9mIHRoaXMgcmVwb3NpdG9yeSBvciBwYWNrYWdlLCBvciBhdFxuICogaHR0cHM6Ly9naXRodWIuY29tL3Jlc3RhdGVkZXYvc2RrLXR5cGVzY3JpcHQvYmxvYi9tYWluL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxvZ3NcIjtcbmltcG9ydCB7IFJldGVudGlvbkRheXMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxvZ3NcIjtcbmltcG9ydCAqIGFzIGVjMiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgeyBJUmVzdGF0ZUVudmlyb25tZW50IH0gZnJvbSBcIi4vcmVzdGF0ZS1lbnZpcm9ubWVudFwiO1xuaW1wb3J0IHsgVHJhY2luZ01vZGUgfSBmcm9tIFwiLi9kZXBsb3ltZW50cy1jb21tb25cIjtcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuY29uc3QgUFVCTElDX0lOR1JFU1NfUE9SVCA9IDQ0MztcbmNvbnN0IFBVQkxJQ19BRE1JTl9QT1JUID0gOTA3MztcbmNvbnN0IFJFU1RBVEVfSU5HUkVTU19QT1JUID0gODA4MDtcbmNvbnN0IFJFU1RBVEVfQURNSU5fUE9SVCA9IDkwNzA7XG5jb25zdCBSRVNUQVRFX0lNQUdFX0RFRkFVTFQgPSBcImRvY2tlci5pby9yZXN0YXRlZGV2L3Jlc3RhdGVcIjtcbmNvbnN0IFJFU1RBVEVfRE9DS0VSX0RFRkFVTFRfVEFHID0gXCJsYXRlc3RcIjtcbmNvbnN0IEFET1RfRE9DS0VSX0RFRkFVTFRfVEFHID0gXCJsYXRlc3RcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTaW5nbGVOb2RlUmVzdGF0ZVByb3BzIHtcbiAgLyoqIFRoZSBWUEMgaW4gd2hpY2ggdG8gbGF1bmNoIHRoZSBSZXN0YXRlIGhvc3QuICovXG4gIHZwYz86IGVjMi5JVnBjO1xuXG4gIC8qKiBMb2cgZ3JvdXAgZm9yIFJlc3RhdGUgc2VydmljZSBsb2dzLiAqL1xuICBsb2dHcm91cD86IGxvZ3MuTG9nR3JvdXA7XG5cbiAgLyoqIFRyYWNpbmcgbW9kZSBmb3IgUmVzdGF0ZSBzZXJ2aWNlcy4gRGVmYXVsdHMgdG8ge0BsaW5rIFRyYWNpbmdNb2RlLkRJU0FCTEVEfS4gKi9cbiAgdHJhY2luZz86IFRyYWNpbmdNb2RlO1xuXG4gIC8qKiBQcmVmaXggZm9yIHJlc291cmNlcyBjcmVhdGVkIGJ5IHRoaXMgY29uc3RydWN0IHRoYXQgcmVxdWlyZSB1bmlxdWUgbmFtZXMuICovXG4gIHByZWZpeD86IHN0cmluZztcblxuICAvKiogUmVzdGF0ZSBEb2NrZXIgaW1hZ2UgbmFtZS4gRGVmYXVsdHMgdG8gYGxhdGVzdGAuICovXG4gIHJlc3RhdGVJbWFnZT86IHN0cmluZztcblxuICAvKiogUmVzdGF0ZSBEb2NrZXIgaW1hZ2UgdGFnLiBEZWZhdWx0cyB0byBgbGF0ZXN0YC4gKi9cbiAgcmVzdGF0ZVRhZz86IHN0cmluZztcblxuICAvKiogQW1hem9uIERpc3RybyBmb3IgT3BlbiBUZWxlbWV0cnkgRG9ja2VyIGltYWdlIHRhZy4gRGVmYXVsdHMgdG8gYGxhdGVzdGAuICovXG4gIGFkb3RUYWc/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlbW92YWwgcG9saWN5IGZvciBsb25nLWxpdmVkIHJlc291cmNlcyAoc3RvcmFnZSwgbG9ncykuIERlZmF1bHQ6IGBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZYC5cbiAgICovXG4gIHJlbW92YWxQb2xpY3k/OiBjZGsuUmVtb3ZhbFBvbGljeTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgUmVzdGF0ZSBzZXJ2aWNlIGRlcGxveW1lbnQgYmFja2VkIGJ5IGEgc2luZ2xlIEVDMiBpbnN0YW5jZSwgYW5kIGlzIHN1aXRhYmxlIGZvclxuICogZGV2ZWxvcG1lbnQgYW5kIHRlc3RpbmcgcHVycG9zZXMuXG4gKiBUaGUgRUMyIGluc3RhbmNlIHdpbGwgYmUgY3JlYXRlZCBpbiB0aGUgZGVmYXVsdCBWUEMgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQuXG4gKiBUaGUgaW5zdGFuY2Ugd2lsbCBiZSBhc3NpZ25lZCBhIHB1YmxpYyBJUCBhZGRyZXNzLlxuICovXG5leHBvcnQgY2xhc3MgU2luZ2xlTm9kZVJlc3RhdGVEZXBsb3ltZW50IGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVJlc3RhdGVFbnZpcm9ubWVudCB7XG4gIHJlYWRvbmx5IGluc3RhbmNlOiBlYzIuSW5zdGFuY2U7XG4gIHJlYWRvbmx5IGludm9rZXJSb2xlOiBpYW0uSVJvbGU7XG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG5cbiAgcmVhZG9ubHkgaW5ncmVzc1VybDogc3RyaW5nO1xuICByZWFkb25seSBhZG1pblVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTaW5nbGVOb2RlUmVzdGF0ZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMudnBjID0gcHJvcHMudnBjID8/IGVjMi5WcGMuZnJvbUxvb2t1cCh0aGlzLCBcIlZwY1wiLCB7IGlzRGVmYXVsdDogdHJ1ZSB9KTtcblxuICAgIHRoaXMuaW52b2tlclJvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgXCJJbnN0YW5jZVJvbGVcIiwge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoXCJlYzIuYW1hem9uYXdzLmNvbVwiKSxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW2lhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcIkFtYXpvblNTTU1hbmFnZWRJbnN0YW5jZUNvcmVcIildLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbG9nR3JvdXAgPVxuICAgICAgcHJvcHMubG9nR3JvdXAgPz9cbiAgICAgIG5ldyBsb2dzLkxvZ0dyb3VwKHRoaXMsIFwiTG9nc1wiLCB7XG4gICAgICAgIGxvZ0dyb3VwTmFtZTogYC9yZXN0YXRlLyR7aWR9YCxcbiAgICAgICAgcmV0ZW50aW9uOiBSZXRlbnRpb25EYXlzLk9ORV9NT05USCxcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogcHJvcHMucmVtb3ZhbFBvbGljeSA/PyBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICB9KTtcbiAgICBsb2dHcm91cC5ncmFudFdyaXRlKHRoaXMuaW52b2tlclJvbGUpO1xuXG4gICAgY29uc3QgcmVzdGF0ZUltYWdlID0gcHJvcHMucmVzdGF0ZUltYWdlID8/IFJFU1RBVEVfSU1BR0VfREVGQVVMVDtcbiAgICBjb25zdCByZXN0YXRlVGFnID0gcHJvcHMucmVzdGF0ZVRhZyA/PyBSRVNUQVRFX0RPQ0tFUl9ERUZBVUxUX1RBRztcbiAgICBjb25zdCBhZG90VGFnID0gcHJvcHMuYWRvdFRhZyA/PyBBRE9UX0RPQ0tFUl9ERUZBVUxUX1RBRztcbiAgICBjb25zdCByZXN0YXRlSW5pdENvbW1hbmRzID0gZWMyLlVzZXJEYXRhLmZvckxpbnV4KCk7XG4gICAgcmVzdGF0ZUluaXRDb21tYW5kcy5hZGRDb21tYW5kcyhcbiAgICAgIFwieXVtIHVwZGF0ZSAteVwiLFxuICAgICAgXCJ5dW0gaW5zdGFsbCAteSBkb2NrZXIgbmdpbnhcIixcblxuICAgICAgXCJzeXN0ZW1jdGwgZW5hYmxlIGRvY2tlci5zZXJ2aWNlXCIsXG4gICAgICBcInN5c3RlbWN0bCBzdGFydCBkb2NrZXIuc2VydmljZVwiLFxuICAgICAgW1xuICAgICAgICBcImRvY2tlciBydW4gLS1uYW1lIGFkb3QgLS1yZXN0YXJ0IHVubGVzcy1zdG9wcGVkIC0tZGV0YWNoXCIsXG4gICAgICAgIFwiIC1wIDQzMTc6NDMxNyAtcCA1NTY4MDo1NTY4MCAtcCA4ODg5Ojg4ODhcIixcbiAgICAgICAgYCBwdWJsaWMuZWNyLmF3cy9hd3Mtb2JzZXJ2YWJpbGl0eS9hd3Mtb3RlbC1jb2xsZWN0b3I6JHthZG90VGFnfWAsXG4gICAgICBdLmpvaW4oXCJcIiksXG4gICAgICBbXG4gICAgICAgIFwiZG9ja2VyIHJ1biAtLW5hbWUgcmVzdGF0ZSAtLXJlc3RhcnQgdW5sZXNzLXN0b3BwZWQgLS1kZXRhY2hcIixcbiAgICAgICAgXCIgLS12b2x1bWUgL3Zhci9yZXN0YXRlOi90YXJnZXQgLS1uZXR3b3JrPWhvc3RcIixcbiAgICAgICAgXCIgLWUgUkVTVEFURV9PQlNFUlZBQklMSVRZX19MT0dfX0ZPUk1BVD1Kc29uIC1lIFJVU1RfTE9HPWluZm8scmVzdGF0ZV93b3JrZXI6OnBhcnRpdGlvbj13YXJuXCIsXG4gICAgICAgIFwiIC1lIFJFU1RBVEVfT0JTRVJWQUJJTElUWV9fVFJBQ0lOR19fRU5EUE9JTlQ9aHR0cDovL2xvY2FsaG9zdDo0MzE3XCIsXG4gICAgICAgIGAgLS1sb2ctZHJpdmVyPWF3c2xvZ3MgLS1sb2ctb3B0IGF3c2xvZ3MtZ3JvdXA9JHtsb2dHcm91cC5sb2dHcm91cE5hbWV9YCxcbiAgICAgICAgYCAke3Jlc3RhdGVJbWFnZX06JHtyZXN0YXRlVGFnfWAsXG4gICAgICBdLmpvaW4oXCJcIiksXG5cbiAgICAgIFwibWtkaXIgLXAgL2V0Yy9wa2kvcHJpdmF0ZVwiLFxuICAgICAgW1xuICAgICAgICBcIm9wZW5zc2wgcmVxIC1uZXcgLXg1MDkgLW5vZGVzIC1zaGEyNTYgLWRheXMgMzY1IC1leHRlbnNpb25zIHYzX2NhXCIsXG4gICAgICAgIFwiIC1zdWJqICcvQz1ERS9TVD1CZXJsaW4vTD1CZXJsaW4vTz1yZXN0YXRlLmRldi9PVT1kZW1vL0NOPXJlc3RhdGUuZXhhbXBsZS5jb20nXCIsXG4gICAgICAgIFwiIC1uZXdrZXkgcnNhOjIwNDggLWtleW91dCAvZXRjL3BraS9wcml2YXRlL3Jlc3RhdGUtc2VsZnNpZ25lZC5rZXkgLW91dCAvZXRjL3BraS9wcml2YXRlL3Jlc3RhdGUtc2VsZnNpZ25lZC5jcnRcIixcbiAgICAgIF0uam9pbihcIlwiKSxcbiAgICAgIFtcImNhdCA8PCBFT0YgPiAvZXRjL25naW54L2NvbmYuZC9yZXN0YXRlLWluZ3Jlc3MuY29uZlwiLCBOR0lOWF9SRVZFUlNFX1BST1hZX0NPTkZJRywgXCJFT0ZcIl0uam9pbihcIlxcblwiKSxcbiAgICAgIFwic3lzdGVtY3RsIGVuYWJsZSBuZ2lueFwiLFxuICAgICAgXCJzeXN0ZW1jdGwgc3RhcnQgbmdpbnhcIixcbiAgICApO1xuXG4gICAgY29uc3QgcmVzdGF0ZUluc3RhbmNlID0gbmV3IGVjMi5JbnN0YW5jZSh0aGlzLCBcIkhvc3RcIiwge1xuICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDIH0sXG4gICAgICBpbnN0YW5jZVR5cGU6IG5ldyBlYzIuSW5zdGFuY2VUeXBlKFwidDRnLm1pY3JvXCIpLFxuICAgICAgbWFjaGluZUltYWdlOiBlYzIuTWFjaGluZUltYWdlLmxhdGVzdEFtYXpvbkxpbnV4MjAyMyh7XG4gICAgICAgIGNwdVR5cGU6IGVjMi5BbWF6b25MaW51eENwdVR5cGUuQVJNXzY0LFxuICAgICAgfSksXG4gICAgICByb2xlOiB0aGlzLmludm9rZXJSb2xlLFxuICAgICAgdXNlckRhdGE6IHJlc3RhdGVJbml0Q29tbWFuZHMsXG4gICAgfSk7XG4gICAgdGhpcy5pbnN0YW5jZSA9IHJlc3RhdGVJbnN0YW5jZTtcblxuICAgIC8vIFdlIHN0YXJ0IHRoZSBBRE9UIGNvbGxlY3RvciByZWdhcmRsZXNzLCBhbmQgb25seSBjb250cm9sIHdoZXRoZXIgdGhleSB3aWxsIGJlIHB1Ymxpc2hlZCB0byBYLVJheSB2aWEgaW5zdGFuY2VcbiAgICAvLyByb2xlIHBlcm1pc3Npb25zLiBUaGlzIHdheSBoaXN0b3JpYyB0cmFjZXMgd2lsbCBiZSBidWZmZXJlZCBvbiB0aGUgaG9zdCwgZXZlbiBpZiB0cmFjaW5nIGlzIGRpc2FibGVkIGluaXRpYWxseS5cbiAgICBpZiAocHJvcHMudHJhY2luZyA9PT0gVHJhY2luZ01vZGUuQVdTX1hSQVkpIHtcbiAgICAgIHJlc3RhdGVJbnN0YW5jZS5yb2xlLmFkZE1hbmFnZWRQb2xpY3koaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKFwiQVdTWHJheVdyaXRlT25seUFjY2Vzc1wiKSk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdGF0ZUluc3RhbmNlU2VjdXJpdHlHcm91cCA9IG5ldyBlYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBcIlJlc3RhdGVTZWN1cml0eUdyb3VwXCIsIHtcbiAgICAgIHZwYzogdGhpcy52cGMsXG4gICAgICBzZWN1cml0eUdyb3VwTmFtZTogXCJSZXN0YXRlU2VjdXJpdHlHcm91cFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiUmVzdGF0ZSBzZXJ2aWNlIEFDTHNcIixcbiAgICB9KTtcbiAgICByZXN0YXRlSW5zdGFuY2UuYWRkU2VjdXJpdHlHcm91cChyZXN0YXRlSW5zdGFuY2VTZWN1cml0eUdyb3VwKTtcblxuICAgIHJlc3RhdGVJbnN0YW5jZVNlY3VyaXR5R3JvdXAuYWRkSW5ncmVzc1J1bGUoXG4gICAgICBlYzIuUGVlci5hbnlJcHY0KCksXG4gICAgICBlYzIuUG9ydC50Y3AoNDQzKSxcbiAgICAgIFwiQWxsb3cgdHJhZmZpYyBmcm9tIGFueXdoZXJlIHRvIFJlc3RhdGUgaW5ncmVzcyBwb3J0XCIsXG4gICAgKTtcbiAgICByZXN0YXRlSW5zdGFuY2VTZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgZWMyLlBlZXIuYW55SXB2NCgpLFxuICAgICAgZWMyLlBvcnQudGNwKDkwNzMpLFxuICAgICAgXCJBbGxvdyB0cmFmZmljIGZyb20gYW55d2hlcmUgdG8gUmVzdGF0ZSBhZG1pbiBwb3J0XCIsXG4gICAgKTtcblxuICAgIHRoaXMuaW5ncmVzc1VybCA9IGBodHRwczovLyR7cmVzdGF0ZUluc3RhbmNlLmluc3RhbmNlUHVibGljRG5zTmFtZX0ke1xuICAgICAgUFVCTElDX0lOR1JFU1NfUE9SVCA9PSA0NDMgPyBcIlwiIDogYDoke1BVQkxJQ19JTkdSRVNTX1BPUlR9YFxuICAgIH1gO1xuICAgIHRoaXMuYWRtaW5VcmwgPSBgaHR0cHM6Ly8ke3Jlc3RhdGVJbnN0YW5jZS5pbnN0YW5jZVB1YmxpY0Ruc05hbWV9OiR7UFVCTElDX0FETUlOX1BPUlR9YDtcbiAgfVxufVxuXG5jb25zdCBOR0lOWF9SRVZFUlNFX1BST1hZX0NPTkZJRyA9IFtcbiAgXCJzZXJ2ZXIge1wiLFxuICBcIiAgbGlzdGVuIDQ0MyBzc2wgaHR0cDI7XCIsXG4gIFwiICBsaXN0ZW4gWzo6XTo0NDMgc3NsIGh0dHAyO1wiLFxuICBcIiAgc2VydmVyX25hbWUgXztcIixcbiAgXCIgIHJvb3QgL3Vzci9zaGFyZS9uZ2lueC9odG1sO1wiLFxuICBcIlwiLFxuICAnICBzc2xfY2VydGlmaWNhdGUgXCIvZXRjL3BraS9wcml2YXRlL3Jlc3RhdGUtc2VsZnNpZ25lZC5jcnRcIjsnLFxuICAnICBzc2xfY2VydGlmaWNhdGVfa2V5IFwiL2V0Yy9wa2kvcHJpdmF0ZS9yZXN0YXRlLXNlbGZzaWduZWQua2V5XCI7JyxcbiAgXCIgIHNzbF9zZXNzaW9uX2NhY2hlIHNoYXJlZDpTU0w6MW07XCIsXG4gIFwiICBzc2xfc2Vzc2lvbl90aW1lb3V0IDEwbTtcIixcbiAgXCIgIHNzbF9jaXBoZXJzIFBST0ZJTEU9U1lTVEVNO1wiLFxuICBcIiAgc3NsX3ByZWZlcl9zZXJ2ZXJfY2lwaGVycyBvbjtcIixcbiAgXCJcIixcbiAgXCIgIGxvY2F0aW9uIC8ge1wiLFxuICBgICAgIHByb3h5X3Bhc3MgaHR0cDovL2xvY2FsaG9zdDoke1JFU1RBVEVfSU5HUkVTU19QT1JUfTtgLFxuICBcIiAgfVwiLFxuICBcIn1cIixcbiAgXCJcIixcbiAgXCJzZXJ2ZXIge1wiLFxuICBcIiAgbGlzdGVuIDkwNzMgc3NsIGh0dHAyO1wiLFxuICBcIiAgbGlzdGVuIFs6Ol06OTA3MyBzc2wgaHR0cDI7XCIsXG4gIFwiICBzZXJ2ZXJfbmFtZSBfO1wiLFxuICBcIiAgcm9vdCAvdXNyL3NoYXJlL25naW54L2h0bWw7XCIsXG4gIFwiXCIsXG4gICcgIHNzbF9jZXJ0aWZpY2F0ZSBcIi9ldGMvcGtpL3ByaXZhdGUvcmVzdGF0ZS1zZWxmc2lnbmVkLmNydFwiOycsXG4gICcgIHNzbF9jZXJ0aWZpY2F0ZV9rZXkgXCIvZXRjL3BraS9wcml2YXRlL3Jlc3RhdGUtc2VsZnNpZ25lZC5rZXlcIjsnLFxuICBcIiAgc3NsX3Nlc3Npb25fY2FjaGUgc2hhcmVkOlNTTDoxbTtcIixcbiAgXCIgIHNzbF9zZXNzaW9uX3RpbWVvdXQgMTBtO1wiLFxuICBcIiAgc3NsX2NpcGhlcnMgUFJPRklMRT1TWVNURU07XCIsXG4gIFwiICBzc2xfcHJlZmVyX3NlcnZlcl9jaXBoZXJzIG9uO1wiLFxuICBcIlwiLFxuICBcIiAgbG9jYXRpb24gLyB7XCIsXG4gIGAgICAgcHJveHlfcGFzcyBodHRwOi8vbG9jYWxob3N0OiR7UkVTVEFURV9BRE1JTl9QT1JUfTtgLFxuICBcIiAgfVwiLFxuICBcIn1cIixcbl0uam9pbihcIlxcblwiKTtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@restatedev/restate-cdk",
|
|
3
3
|
"description": "Restate.dev CDK constructs",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "1.0.0",
|
|
5
5
|
"author": "Restate Developers",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"email": "code@restate.dev",
|
|
@@ -23,24 +23,24 @@
|
|
|
23
23
|
"cdk": "cdk"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@types/aws-lambda": "^8.10.
|
|
27
|
-
"@types/jest": "^29.5.
|
|
28
|
-
"@types/node": "^20.
|
|
26
|
+
"@types/aws-lambda": "^8.10.138",
|
|
27
|
+
"@types/jest": "^29.5.12",
|
|
28
|
+
"@types/node": "^20.14.2",
|
|
29
29
|
"@types/source-map-support": "^0.5.10",
|
|
30
|
-
"esbuild": "^0.
|
|
30
|
+
"esbuild": "^0.21.4",
|
|
31
31
|
"jest": "^29.7.0",
|
|
32
|
-
"jest-cdk-snapshot": "^2.
|
|
33
|
-
"prettier": "^3.
|
|
32
|
+
"jest-cdk-snapshot": "^2.2.1",
|
|
33
|
+
"prettier": "^3.3.1",
|
|
34
34
|
"source-map-support": "^0.5.21",
|
|
35
|
-
"ts-jest": "^29.1.
|
|
35
|
+
"ts-jest": "^29.1.4",
|
|
36
36
|
"ts-node": "^10.9.2",
|
|
37
|
-
"typescript": "^5.
|
|
37
|
+
"typescript": "^5.4.5"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"@aws-sdk/client-secrets-manager": "^3.
|
|
41
|
-
"aws-cdk": "^2.
|
|
42
|
-
"aws-cdk-lib": "^2.
|
|
43
|
-
"constructs": "^10.
|
|
40
|
+
"@aws-sdk/client-secrets-manager": "^3.592.0",
|
|
41
|
+
"aws-cdk": "^2.144.0",
|
|
42
|
+
"aws-cdk-lib": "^2.144.0",
|
|
43
|
+
"constructs": "^10.3.0",
|
|
44
44
|
"node-fetch": "^3.3.2"
|
|
45
45
|
},
|
|
46
46
|
"directories": {
|
|
@@ -831,7 +831,6 @@ exports[`Restate constructs Deploy a Lambda service handler to a remote Restate
|
|
|
831
831
|
Environment:
|
|
832
832
|
Variables:
|
|
833
833
|
NODE_OPTIONS: '--enable-source-maps'
|
|
834
|
-
AWS_NODEJS_CONNECTION_REUSE_ENABLED: '1'
|
|
835
834
|
Handler: index.handler
|
|
836
835
|
MemorySize: 128
|
|
837
836
|
Role:
|