terraform-cdk-serverless-github-actions-runner-controller 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +78 -2
- package/API.md +212 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/lib/aws.js +5 -1
- package/lib/lib/azure.js +1 -1
- package/lib/lib/gcp.js +5 -1
- package/lib/lib/variables.js +3 -1
- package/main.tf +26 -0
- package/modules/azure-container-apps/README.md +2 -2
- package/modules/azure-container-apps/cdk.tf.json +7 -7
- package/modules/elastic-container-service/README.md +2 -2
- package/modules/elastic-container-service/cdk.tf.json +3 -3
- package/modules/google-cloud-run/README.md +2 -2
- package/modules/google-cloud-run/cdk.tf.json +4 -4
- package/package.json +1 -1
- package/scripts/collect-variables.ts +188 -0
- package/variables.tf +27 -0
package/.jsii
CHANGED
@@ -5231,6 +5231,44 @@
|
|
5231
5231
|
}
|
5232
5232
|
},
|
5233
5233
|
"types": {
|
5234
|
+
"terraform-cdk-serverless-github-actions-runner-controller.Aws": {
|
5235
|
+
"assembly": "terraform-cdk-serverless-github-actions-runner-controller",
|
5236
|
+
"base": "constructs.Construct",
|
5237
|
+
"docs": {
|
5238
|
+
"stability": "stable"
|
5239
|
+
},
|
5240
|
+
"fqn": "terraform-cdk-serverless-github-actions-runner-controller.Aws",
|
5241
|
+
"initializer": {
|
5242
|
+
"docs": {
|
5243
|
+
"stability": "stable"
|
5244
|
+
},
|
5245
|
+
"locationInModule": {
|
5246
|
+
"filename": "src/lib/aws.ts",
|
5247
|
+
"line": 21
|
5248
|
+
},
|
5249
|
+
"parameters": [
|
5250
|
+
{
|
5251
|
+
"name": "scope",
|
5252
|
+
"type": {
|
5253
|
+
"fqn": "constructs.Construct"
|
5254
|
+
}
|
5255
|
+
},
|
5256
|
+
{
|
5257
|
+
"name": "id",
|
5258
|
+
"type": {
|
5259
|
+
"primitive": "string"
|
5260
|
+
}
|
5261
|
+
}
|
5262
|
+
]
|
5263
|
+
},
|
5264
|
+
"kind": "class",
|
5265
|
+
"locationInModule": {
|
5266
|
+
"filename": "src/lib/aws.ts",
|
5267
|
+
"line": 20
|
5268
|
+
},
|
5269
|
+
"name": "Aws",
|
5270
|
+
"symbolId": "src/lib/aws:Aws"
|
5271
|
+
},
|
5234
5272
|
"terraform-cdk-serverless-github-actions-runner-controller.Azure": {
|
5235
5273
|
"assembly": "terraform-cdk-serverless-github-actions-runner-controller",
|
5236
5274
|
"base": "constructs.Construct",
|
@@ -5268,8 +5306,46 @@
|
|
5268
5306
|
},
|
5269
5307
|
"name": "Azure",
|
5270
5308
|
"symbolId": "src/lib/azure:Azure"
|
5309
|
+
},
|
5310
|
+
"terraform-cdk-serverless-github-actions-runner-controller.Gcp": {
|
5311
|
+
"assembly": "terraform-cdk-serverless-github-actions-runner-controller",
|
5312
|
+
"base": "constructs.Construct",
|
5313
|
+
"docs": {
|
5314
|
+
"stability": "stable"
|
5315
|
+
},
|
5316
|
+
"fqn": "terraform-cdk-serverless-github-actions-runner-controller.Gcp",
|
5317
|
+
"initializer": {
|
5318
|
+
"docs": {
|
5319
|
+
"stability": "stable"
|
5320
|
+
},
|
5321
|
+
"locationInModule": {
|
5322
|
+
"filename": "src/lib/gcp.ts",
|
5323
|
+
"line": 15
|
5324
|
+
},
|
5325
|
+
"parameters": [
|
5326
|
+
{
|
5327
|
+
"name": "scope",
|
5328
|
+
"type": {
|
5329
|
+
"fqn": "constructs.Construct"
|
5330
|
+
}
|
5331
|
+
},
|
5332
|
+
{
|
5333
|
+
"name": "id",
|
5334
|
+
"type": {
|
5335
|
+
"primitive": "string"
|
5336
|
+
}
|
5337
|
+
}
|
5338
|
+
]
|
5339
|
+
},
|
5340
|
+
"kind": "class",
|
5341
|
+
"locationInModule": {
|
5342
|
+
"filename": "src/lib/gcp.ts",
|
5343
|
+
"line": 14
|
5344
|
+
},
|
5345
|
+
"name": "Gcp",
|
5346
|
+
"symbolId": "src/lib/gcp:Gcp"
|
5271
5347
|
}
|
5272
5348
|
},
|
5273
|
-
"version": "0.0.
|
5274
|
-
"fingerprint": "
|
5349
|
+
"version": "0.0.2",
|
5350
|
+
"fingerprint": "dmsp36Ql8DxemrywVTnbflzIxuWX+rrQw/XANuN+5mM="
|
5275
5351
|
}
|
package/API.md
CHANGED
@@ -2,6 +2,112 @@
|
|
2
2
|
|
3
3
|
## Constructs <a name="Constructs" id="Constructs"></a>
|
4
4
|
|
5
|
+
### Aws <a name="Aws" id="terraform-cdk-serverless-github-actions-runner-controller.Aws"></a>
|
6
|
+
|
7
|
+
#### Initializers <a name="Initializers" id="terraform-cdk-serverless-github-actions-runner-controller.Aws.Initializer"></a>
|
8
|
+
|
9
|
+
```typescript
|
10
|
+
import { Aws } from 'terraform-cdk-serverless-github-actions-runner-controller'
|
11
|
+
|
12
|
+
new Aws(scope: Construct, id: string)
|
13
|
+
```
|
14
|
+
|
15
|
+
| **Name** | **Type** | **Description** |
|
16
|
+
| --- | --- | --- |
|
17
|
+
| <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Aws.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
|
18
|
+
| <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Aws.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
|
19
|
+
|
20
|
+
---
|
21
|
+
|
22
|
+
##### `scope`<sup>Required</sup> <a name="scope" id="terraform-cdk-serverless-github-actions-runner-controller.Aws.Initializer.parameter.scope"></a>
|
23
|
+
|
24
|
+
- *Type:* constructs.Construct
|
25
|
+
|
26
|
+
---
|
27
|
+
|
28
|
+
##### `id`<sup>Required</sup> <a name="id" id="terraform-cdk-serverless-github-actions-runner-controller.Aws.Initializer.parameter.id"></a>
|
29
|
+
|
30
|
+
- *Type:* string
|
31
|
+
|
32
|
+
---
|
33
|
+
|
34
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
35
|
+
|
36
|
+
| **Name** | **Description** |
|
37
|
+
| --- | --- |
|
38
|
+
| <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Aws.toString">toString</a></code> | Returns a string representation of this construct. |
|
39
|
+
|
40
|
+
---
|
41
|
+
|
42
|
+
##### `toString` <a name="toString" id="terraform-cdk-serverless-github-actions-runner-controller.Aws.toString"></a>
|
43
|
+
|
44
|
+
```typescript
|
45
|
+
public toString(): string
|
46
|
+
```
|
47
|
+
|
48
|
+
Returns a string representation of this construct.
|
49
|
+
|
50
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
51
|
+
|
52
|
+
| **Name** | **Description** |
|
53
|
+
| --- | --- |
|
54
|
+
| <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Aws.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
55
|
+
|
56
|
+
---
|
57
|
+
|
58
|
+
##### `isConstruct` <a name="isConstruct" id="terraform-cdk-serverless-github-actions-runner-controller.Aws.isConstruct"></a>
|
59
|
+
|
60
|
+
```typescript
|
61
|
+
import { Aws } from 'terraform-cdk-serverless-github-actions-runner-controller'
|
62
|
+
|
63
|
+
Aws.isConstruct(x: any)
|
64
|
+
```
|
65
|
+
|
66
|
+
Checks if `x` is a construct.
|
67
|
+
|
68
|
+
Use this method instead of `instanceof` to properly detect `Construct`
|
69
|
+
instances, even when the construct library is symlinked.
|
70
|
+
|
71
|
+
Explanation: in JavaScript, multiple copies of the `constructs` library on
|
72
|
+
disk are seen as independent, completely different libraries. As a
|
73
|
+
consequence, the class `Construct` in each copy of the `constructs` library
|
74
|
+
is seen as a different class, and an instance of one class will not test as
|
75
|
+
`instanceof` the other class. `npm install` will not create installations
|
76
|
+
like this, but users may manually symlink construct libraries together or
|
77
|
+
use a monorepo tool: in those cases, multiple copies of the `constructs`
|
78
|
+
library can be accidentally installed, and `instanceof` will behave
|
79
|
+
unpredictably. It is safest to avoid using `instanceof`, and using
|
80
|
+
this type-testing method instead.
|
81
|
+
|
82
|
+
###### `x`<sup>Required</sup> <a name="x" id="terraform-cdk-serverless-github-actions-runner-controller.Aws.isConstruct.parameter.x"></a>
|
83
|
+
|
84
|
+
- *Type:* any
|
85
|
+
|
86
|
+
Any object.
|
87
|
+
|
88
|
+
---
|
89
|
+
|
90
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
91
|
+
|
92
|
+
| **Name** | **Type** | **Description** |
|
93
|
+
| --- | --- | --- |
|
94
|
+
| <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Aws.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
95
|
+
|
96
|
+
---
|
97
|
+
|
98
|
+
##### `node`<sup>Required</sup> <a name="node" id="terraform-cdk-serverless-github-actions-runner-controller.Aws.property.node"></a>
|
99
|
+
|
100
|
+
```typescript
|
101
|
+
public readonly node: Node;
|
102
|
+
```
|
103
|
+
|
104
|
+
- *Type:* constructs.Node
|
105
|
+
|
106
|
+
The tree node.
|
107
|
+
|
108
|
+
---
|
109
|
+
|
110
|
+
|
5
111
|
### Azure <a name="Azure" id="terraform-cdk-serverless-github-actions-runner-controller.Azure"></a>
|
6
112
|
|
7
113
|
#### Initializers <a name="Initializers" id="terraform-cdk-serverless-github-actions-runner-controller.Azure.Initializer"></a>
|
@@ -108,6 +214,112 @@ The tree node.
|
|
108
214
|
---
|
109
215
|
|
110
216
|
|
217
|
+
### Gcp <a name="Gcp" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp"></a>
|
218
|
+
|
219
|
+
#### Initializers <a name="Initializers" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp.Initializer"></a>
|
220
|
+
|
221
|
+
```typescript
|
222
|
+
import { Gcp } from 'terraform-cdk-serverless-github-actions-runner-controller'
|
223
|
+
|
224
|
+
new Gcp(scope: Construct, id: string)
|
225
|
+
```
|
226
|
+
|
227
|
+
| **Name** | **Type** | **Description** |
|
228
|
+
| --- | --- | --- |
|
229
|
+
| <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Gcp.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
|
230
|
+
| <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Gcp.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
|
231
|
+
|
232
|
+
---
|
233
|
+
|
234
|
+
##### `scope`<sup>Required</sup> <a name="scope" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp.Initializer.parameter.scope"></a>
|
235
|
+
|
236
|
+
- *Type:* constructs.Construct
|
237
|
+
|
238
|
+
---
|
239
|
+
|
240
|
+
##### `id`<sup>Required</sup> <a name="id" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp.Initializer.parameter.id"></a>
|
241
|
+
|
242
|
+
- *Type:* string
|
243
|
+
|
244
|
+
---
|
245
|
+
|
246
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
247
|
+
|
248
|
+
| **Name** | **Description** |
|
249
|
+
| --- | --- |
|
250
|
+
| <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Gcp.toString">toString</a></code> | Returns a string representation of this construct. |
|
251
|
+
|
252
|
+
---
|
253
|
+
|
254
|
+
##### `toString` <a name="toString" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp.toString"></a>
|
255
|
+
|
256
|
+
```typescript
|
257
|
+
public toString(): string
|
258
|
+
```
|
259
|
+
|
260
|
+
Returns a string representation of this construct.
|
261
|
+
|
262
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
263
|
+
|
264
|
+
| **Name** | **Description** |
|
265
|
+
| --- | --- |
|
266
|
+
| <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Gcp.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
267
|
+
|
268
|
+
---
|
269
|
+
|
270
|
+
##### `isConstruct` <a name="isConstruct" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp.isConstruct"></a>
|
271
|
+
|
272
|
+
```typescript
|
273
|
+
import { Gcp } from 'terraform-cdk-serverless-github-actions-runner-controller'
|
274
|
+
|
275
|
+
Gcp.isConstruct(x: any)
|
276
|
+
```
|
277
|
+
|
278
|
+
Checks if `x` is a construct.
|
279
|
+
|
280
|
+
Use this method instead of `instanceof` to properly detect `Construct`
|
281
|
+
instances, even when the construct library is symlinked.
|
282
|
+
|
283
|
+
Explanation: in JavaScript, multiple copies of the `constructs` library on
|
284
|
+
disk are seen as independent, completely different libraries. As a
|
285
|
+
consequence, the class `Construct` in each copy of the `constructs` library
|
286
|
+
is seen as a different class, and an instance of one class will not test as
|
287
|
+
`instanceof` the other class. `npm install` will not create installations
|
288
|
+
like this, but users may manually symlink construct libraries together or
|
289
|
+
use a monorepo tool: in those cases, multiple copies of the `constructs`
|
290
|
+
library can be accidentally installed, and `instanceof` will behave
|
291
|
+
unpredictably. It is safest to avoid using `instanceof`, and using
|
292
|
+
this type-testing method instead.
|
293
|
+
|
294
|
+
###### `x`<sup>Required</sup> <a name="x" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp.isConstruct.parameter.x"></a>
|
295
|
+
|
296
|
+
- *Type:* any
|
297
|
+
|
298
|
+
Any object.
|
299
|
+
|
300
|
+
---
|
301
|
+
|
302
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
303
|
+
|
304
|
+
| **Name** | **Type** | **Description** |
|
305
|
+
| --- | --- | --- |
|
306
|
+
| <code><a href="#terraform-cdk-serverless-github-actions-runner-controller.Gcp.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
307
|
+
|
308
|
+
---
|
309
|
+
|
310
|
+
##### `node`<sup>Required</sup> <a name="node" id="terraform-cdk-serverless-github-actions-runner-controller.Gcp.property.node"></a>
|
311
|
+
|
312
|
+
```typescript
|
313
|
+
public readonly node: Node;
|
314
|
+
```
|
315
|
+
|
316
|
+
- *Type:* constructs.Node
|
317
|
+
|
318
|
+
The tree node.
|
319
|
+
|
320
|
+
---
|
321
|
+
|
322
|
+
|
111
323
|
|
112
324
|
|
113
325
|
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
@@ -14,5 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./lib/aws"), exports);
|
17
18
|
__exportStar(require("./lib/azure"), exports);
|
18
|
-
|
19
|
+
__exportStar(require("./lib/gcp"), exports);
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUF5QjtBQUN6Qiw4Q0FBMkI7QUFDM0IsNENBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvYXdzJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXp1cmUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9nY3AnXG4iXX0=
|
package/lib/lib/aws.js
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
"use strict";
|
2
|
+
var _a;
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
4
|
exports.Aws = void 0;
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
4
6
|
const cloudwatch_log_group_1 = require("@cdktf/provider-aws/lib/cloudwatch-log-group");
|
5
7
|
const data_aws_caller_identity_1 = require("@cdktf/provider-aws/lib/data-aws-caller-identity");
|
6
8
|
const data_aws_region_1 = require("@cdktf/provider-aws/lib/data-aws-region");
|
@@ -388,4 +390,6 @@ class Aws extends constructs_1.Construct {
|
|
388
390
|
}
|
389
391
|
}
|
390
392
|
exports.Aws = Aws;
|
391
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9hd3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUZBQWtGO0FBQ2xGLCtGQUF5RjtBQUN6Riw2RUFBd0U7QUFDeEUsK0ZBQXlGO0FBQ3pGLCtFQUEwRTtBQUMxRSxxRUFBaUU7QUFDakUscUVBQWlFO0FBQ2pFLHFGQUFnRjtBQUNoRixtRUFBK0Q7QUFDL0QsK0RBQTJEO0FBQzNELG1HQUE2RjtBQUM3RiwrREFBK0Q7QUFDL0QsaUNBQThDO0FBQzlDLDJDQUF1QztBQUN2QywyQ0FBOEM7QUFDOUMsNkVBQXdFO0FBRXhFLCtFQUEwRTtBQUUxRSxNQUFhLEdBQUksU0FBUSxzQkFBUztJQUM5QixZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUNwQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksc0JBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBRTVCLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLElBQUksZ0RBQXFCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqRSxNQUFNLE1BQU0sR0FBRyxJQUFJLCtCQUFhLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVwRCxNQUFNLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUEsMkJBQWUsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUV2RCxNQUFNLE9BQU8sR0FBRyxJQUFJLHdCQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUM1QyxJQUFJLEVBQUUsb0JBQW9CO1NBQzdCLENBQUMsQ0FBQztRQUVILE1BQU0sVUFBVSxHQUFHLElBQUksa0JBQU8sQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQy9DLGdCQUFnQixFQUFFLFVBQUUsQ0FBQyxVQUFVLENBQUM7Z0JBQzVCLFNBQVMsRUFB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R0FBRyxjQUFjLENBQUMsR0FBRyxlQUFlO3lCQUN2QztxQkFDSjtvQkFDRDt3QkFDSSxLQUFLLEVBQUUsWUFBWTt3QkFDbkIsUUFBUSxFQUFFLE9BQU87d0JBQ2pCLFFBQVEsRUFBRTs0QkFDTixxQkFBcUI7NEJBQ3JCLDRCQUE0Qjt5QkFDL0I7d0JBQ0QsVUFBVSxFQUFFLEdBQUc7cUJBQ2xCO2lCQUNKO2FBQ0osQ0FFQTtTQUNKLENBQUMsQ0FBQTtRQUNGLElBQUksb0RBQXVCLENBQUMsSUFBSSxFQUFFLDRCQUE0QixFQUFFO1lBQzVELFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHO1lBQy9CLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSTtTQUM1QixDQUFDLENBQUE7UUFFRixJQUFJLHdCQUFVLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFO1lBQ3RDLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRztZQUNwQixJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLFlBQVksRUFBRSxDQUFDO1lBQ2YsVUFBVSxFQUFFLFNBQVM7WUFDckIsY0FBYyxFQUFFLHdCQUF3QixDQUFDLGtCQUFrQjtZQUMzRCxvQkFBb0IsRUFBRTtnQkFDbEIsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRztnQkFDcEIsY0FBYyxFQUFFLGNBQWMsQ0FBQyxHQUFHO2FBQ3JDO1lBQ0QsU0FBUyxFQUFFO2dCQUNQLGFBQWEsRUFBRTtvQkFDWCxlQUFlO2lCQUNsQjthQUNKO1NBQ0osQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKO0FBN1lELGtCQTZZQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsb3Vkd2F0Y2hMb2dHcm91cCB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2Nsb3Vkd2F0Y2gtbG9nLWdyb3VwJztcbmltcG9ydCB7IERhdGFBd3NDYWxsZXJJZGVudGl0eSB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2RhdGEtYXdzLWNhbGxlci1pZGVudGl0eSc7XG5pbXBvcnQgeyBEYXRhQXdzUmVnaW9uIH0gZnJvbSAnQGNka3RmL3Byb3ZpZGVyLWF3cy9saWIvZGF0YS1hd3MtcmVnaW9uJztcbmltcG9ydCB7IERhdGFBd3NTZWN1cml0eUdyb3VwcyB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2RhdGEtYXdzLXNlY3VyaXR5LWdyb3Vwcyc7XG5pbXBvcnQgeyBEYXRhQXdzU3VibmV0cyB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2RhdGEtYXdzLXN1Ym5ldHMnO1xuaW1wb3J0IHsgRWNzQ2x1c3RlciB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2Vjcy1jbHVzdGVyJztcbmltcG9ydCB7IEVjc1NlcnZpY2UgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9lY3Mtc2VydmljZSc7XG5pbXBvcnQgeyBFY3NUYXNrRGVmaW5pdGlvbiB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2Vjcy10YXNrLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgSWFtUG9saWN5IH0gZnJvbSAnQGNka3RmL3Byb3ZpZGVyLWF3cy9saWIvaWFtLXBvbGljeSc7XG5pbXBvcnQgeyBJYW1Sb2xlIH0gZnJvbSAnQGNka3RmL3Byb3ZpZGVyLWF3cy9saWIvaWFtLXJvbGUnO1xuaW1wb3J0IHsgSWFtUm9sZVBvbGljeUF0dGFjaG1lbnQgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9pYW0tcm9sZS1wb2xpY3ktYXR0YWNobWVudCc7XG5pbXBvcnQgeyBBd3NQcm92aWRlciB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL3Byb3ZpZGVyJztcbmltcG9ydCB7IEZuLCBUZXJyYWZvcm1JdGVyYXRvciB9IGZyb20gJ2Nka3RmJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgY29tbW9uVmFyaWFibGVzIH0gZnJvbSAnLi92YXJpYWJsZXMnO1xuaW1wb3J0IHsgRWZzRmlsZVN5c3RlbSB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2Vmcy1maWxlLXN5c3RlbSc7XG5pbXBvcnQgeyB0eXBlIENvbnRhaW5lckRlZmluaXRpb24gfSBmcm9tICdAYXdzLXNkay9jbGllbnQtZWNzJ1xuaW1wb3J0IHsgRWZzTW91bnRUYXJnZXQgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9lZnMtbW91bnQtdGFyZ2V0JztcblxuZXhwb3J0IGNsYXNzIEF3cyBleHRlbmRzIENvbnN0cnVjdCB7XG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgICAgIG5ldyBBd3NQcm92aWRlcih0aGlzLCAnYXdzJywge1xuXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGlkZW50aXR5ID0gbmV3IERhdGFBd3NDYWxsZXJJZGVudGl0eSh0aGlzLCAnSWRlbnRpdHknLCB7fSk7XG5cbiAgICAgICAgY29uc3QgcmVnaW9uID0gbmV3IERhdGFBd3NSZWdpb24odGhpcywgJ1JlZ2lvbicsIHt9KVxuXG4gICAgICAgIGNvbnN0IHsgcGF0LCBnaXRodWJDb25maWdVcmwgfSA9IGNvbW1vblZhcmlhYmxlcyh0aGlzKTtcblxuICAgICAgICBjb25zdCBjbHVzdGVyID0gbmV3IEVjc0NsdXN0ZXIodGhpcywgJ0NsdXN0ZXInLCB7XG4gICAgICAgICAgICBuYW1lOiAnZ2hhLXJ1bm5lci1jbHVzdGVyJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgcnVubmVyUm9sZSA9IG5ldyBJYW1Sb2xlKHRoaXMsICdSdW5uZXJSb2xlJywge1xuICAgICAgICAgICAgYXNzdW1lUm9sZVBvbGljeTogRm4uanNvbmVuY29kZSh7XG4gICAgICAgICAgICAgICAgJ1ZlcnNpb24nOiAnMjAxMi0xMC0xNycsXG4gICAgICAgICAgICAgICAgJ1N0YXRlbWVudCc6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0VmZmVjdCc6ICdBbGxvdycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnUHJpbmNpcGFsJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZXJ2aWNlJzogJ2Vjcy10YXNrcy5hbWF6b25hd3MuY29tJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nOiAnc3RzOkFzc3VtZVJvbGUnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IGF1dG9zY2FsZXJSb2xlID0gbmV3IElhbVJvbGUodGhpcywgJ0F1dG9zY2FsZXJSb2xlJywge1xuICAgICAgICAgICAgYXNzdW1lUm9sZVBvbGljeTogRm4uanNvbmVuY29kZSh7XG4gICAgICAgICAgICAgICAgJ1ZlcnNpb24nOiAnMjAxMi0xMC0xNycsXG4gICAgICAgICAgICAgICAgJ1N0YXRlbWVudCc6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0VmZmVjdCc6ICdBbGxvdycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnUHJpbmNpcGFsJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZXJ2aWNlJzogJ2Vjcy10YXNrcy5hbWF6b25hd3MuY29tJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nOiAnc3RzOkFzc3VtZVJvbGUnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IGVjc1Rhc2tFeGVjdXRpb25Sb2xlID0gbmV3IElhbVJvbGUodGhpcywgJ1Rhc2tFeGVjdXRpb25Sb2xlJywge1xuICAgICAgICAgICAgYXNzdW1lUm9sZVBvbGljeTogRm4uanNvbmVuY29kZSh7XG4gICAgICAgICAgICAgICAgJ1ZlcnNpb24nOiAnMjAxMi0xMC0xNycsXG4gICAgICAgICAgICAgICAgJ1N0YXRlbWVudCc6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0VmZmVjdCc6ICdBbGxvdycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnUHJpbmNpcGFsJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZXJ2aWNlJzogJ2Vjcy10YXNrcy5hbWF6b25hd3MuY29tJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nOiAnc3RzOkFzc3VtZVJvbGUnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hbmFnZWRQb2xpY3lBcm5zOiBbXG4gICAgICAgICAgICAgICAgJ2Fybjphd3M6aWFtOjphd3M6cG9saWN5L3NlcnZpY2Utcm9sZS9BbWF6b25FQ1NUYXNrRXhlY3V0aW9uUm9sZVBvbGljeSdcbiAgICAgICAgICAgIF1cbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBydW5uZXJMb2dHcm91cCA9IG5ldyBDbG91ZHdhdGNoTG9nR3JvdXAodGhpcywgJ1J1bm5lckxvZ0dyb3VwJywge1xuICAgICAgICAgICAgbmFtZTogJy9lY3MvR0hBJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgYXV0b3NjYWxlckxvZ0dyb3VwID0gbmV3IENsb3Vkd2F0Y2hMb2dHcm91cCh0aGlzLCAnQXV0b3NjYWxlckxvZ0dyb3VwJywge1xuICAgICAgICAgICAgbmFtZTogJy9lY3MvQXV0b3NjYWxlcicsXG4gICAgICAgIH0pO1xuXG5cbiAgICAgICAgY29uc3Qgc3VibmV0cyA9IG5ldyBEYXRhQXdzU3VibmV0cyh0aGlzLCAnU3VibmV0cycsIHt9KTtcblxuICAgICAgICBjb25zdCBzZWN1cml0eUdyb3VwcyA9IG5ldyBEYXRhQXdzU2VjdXJpdHlHcm91cHModGhpcywgJ1NlY3VyaXR5R3JvdXBzJyk7XG5cbiAgICAgICAgLy8gRUZTIHZvbHVtZSB0byBhbGxvdyBzaGFyaW5nIGRhdGEgYmV0d2VlbiB0YXNrc1xuICAgICAgICBjb25zdCBlZnMgPSBuZXcgRWZzRmlsZVN5c3RlbSh0aGlzLCAnZWZzJywge1xuICAgICAgICAgICAgdGhyb3VnaHB1dE1vZGU6ICdlbGFzdGljJyxcbiAgICAgICAgICAgIHRhZ3M6IHtcbiAgICAgICAgICAgICAgICBOYW1lOiAnd29yaydcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBleHRlcm5hbHNFZnMgPSBuZXcgRWZzRmlsZVN5c3RlbSh0aGlzLCAnZXh0ZXJuYWxzRWZzJywge1xuICAgICAgICAgICAgdGhyb3VnaHB1dE1vZGU6ICdlbGFzdGljJyxcbiAgICAgICAgICAgIHRhZ3M6IHtcbiAgICAgICAgICAgICAgICBOYW1lOiAnZXh0ZXJuYWxzJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIC8vIEVhY2ggc3VibmV0IGluIFZQQyBhcmUgb24gZGlmZmVyZW50IEFacywgc28gY3JlYXRpbmcgbW91bnRwb2ludCB0byBlYWNoXG4gICAgICAgIGNvbnN0IGl0ZXJhdG9yID0gVGVycmFmb3JtSXRlcmF0b3IuZnJvbUxpc3Qoc3VibmV0cy5pZHMpXG5cbiAgICAgICAgbmV3IEVmc01vdW50VGFyZ2V0KHRoaXMsICdFZnNNb3VudFRhcmdldCcsIHtcbiAgICAgICAgICAgIGZvckVhY2g6IGl0ZXJhdG9yLFxuICAgICAgICAgICAgZmlsZVN5c3RlbUlkOiBlZnMuaWQsXG4gICAgICAgICAgICBzdWJuZXRJZDogaXRlcmF0b3IudmFsdWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbmV3IEVmc01vdW50VGFyZ2V0KHRoaXMsICdFeHRlcm5hbHNFZnNNb3VudFRhcmdldCcsIHtcbiAgICAgICAgICAgIGZvckVhY2g6IGl0ZXJhdG9yLFxuICAgICAgICAgICAgZmlsZVN5c3RlbUlkOiBleHRlcm5hbHNFZnMuaWQsXG4gICAgICAgICAgICBzdWJuZXRJZDogaXRlcmF0b3IudmFsdWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgcnVubmVyVm9sdW1lTmFtZSA9ICd3b3JrJztcbiAgICAgICAgY29uc3QgZXh0ZXJuYWxzVm9sdW1lTmFtZSA9ICdleHRlcm5hbHMnO1xuICAgICAgICBjb25zdCBydW5uZXJDb250YWluZXJEZWZpbml0aW9uczogQ29udGFpbmVyRGVmaW5pdGlvbltdID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3J1bm5lcicsXG4gICAgICAgICAgICBpbWFnZTogJ2doY3IuaW8vaGktZmkvYWN0aW9ucy1ydW5uZXI6ZWNzJyxcbiAgICAgICAgICAgIGNvbW1hbmQ6IFsnL2Jpbi9zaCcsICctYycsICdleHBvcnQgRVhFQ0lEPSQoY2F0IC9wcm9jL3N5cy9rZXJuZWwvcmFuZG9tL3V1aWQpICYmIHN1ZG8gbWtkaXIgLXAgL3RtcC9fd29yay8kRVhFQ0lEICYmIHN1ZG8gY2hvd24gcnVubmVyOnJ1bm5lciAvdG1wL193b3JrLyRFWEVDSUQgJiYgbG4gLXMgL3RtcC9fd29yay8kRVhFQ0lEIF93b3JrICYmIHN1ZG8gY2hvd24gcnVubmVyOnJ1bm5lciAvdG1wL2V4dGVybmFscyAmJiAvaG9tZS9ydW5uZXIvcnVuLnNoIDsgc3VkbyBybSAtciAvdG1wL193b3JrLyRFWEVDSUQnXSxcbiAgICAgICAgICAgIGVzc2VudGlhbDogdHJ1ZSxcbiAgICAgICAgICAgIGVudmlyb25tZW50OiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUZTX0lEJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGVmcy5pZFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRVhURVJOQUxTX0VGU19JRCcsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBleHRlcm5hbHNFZnMuaWRcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0VDU19DTFVTVEVSX05BTUUnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogY2x1c3Rlci5uYW1lXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdBQ1RJT05TX1JVTk5FUl9QT0RfTkFNRScsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnZ2hhLXBvZCdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0FDVElPTlNfUlVOTkVSX1JFUVVJUkVfSk9CX0NPTlRBSU5FUicsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnZmFsc2UnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdFQ1NfU1VCTkVUUycsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBGbi5qb2luKCcsJywgc3VibmV0cy5pZHMpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdFQ1NfU0VDVVJJVFlfR1JPVVBTJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IEZuLmpvaW4oJywnLCBzZWN1cml0eUdyb3Vwcy5pZHMpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdFQ1NfVEFTS19ST0xFJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHJ1bm5lclJvbGUuYXJuXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdFQ1NfRVhFQ1VUSU9OX1JPTEUnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZWNzVGFza0V4ZWN1dGlvblJvbGUuYXJuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIG1vdW50UG9pbnRzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBzb3VyY2VWb2x1bWU6IHJ1bm5lclZvbHVtZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclBhdGg6ICcvdG1wL193b3JrJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlVm9sdW1lOiBleHRlcm5hbHNWb2x1bWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQYXRoOiAnL3RtcC9leHRlcm5hbHMnLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsb2dDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgbG9nRHJpdmVyOiAnYXdzbG9ncycsXG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBcImF3c2xvZ3MtZ3JvdXBcIjogcnVubmVyTG9nR3JvdXAubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgXCJhd3Nsb2dzLXJlZ2lvblwiOiByZWdpb24ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgXCJhd3Nsb2dzLXN0cmVhbS1wcmVmaXhcIjogXCJlY3NcIixcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1dXG4gICAgICAgIC8vIFRPRE86IEltYWdlcyB0aHJvdWdoIGNhY2hpbmc6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25FQ1IvbGF0ZXN0L3VzZXJndWlkZS9wdWxsLXRocm91Z2gtY2FjaGUuaHRtbCAocmVxdWlyZXMgYXV0aGVudGljYXRpb24pXG4gICAgICAgIC8vIFRPRE86IFBhc3MgRXhlY3V0aW9uIHJvbGUgdG8gam9iIHRhc2s6IGh0dHBzOi8vd3d3LmVybmVzdGNoaWFuZy5jb20vZW4vcG9zdHMvMjAyMS91c2luZy1hbWF6b24tZWNzLWV4ZWMvIzEtZ3JhbnQtcGVybWlzc2lvbnMtZWNzLXRhc2staWFtLXJvbGVcbiAgICAgICAgLy8gVE9ETzogUGFzcyBUYXNrIHJvbGUgdG8gam9iIHRhc2tcbiAgICAgICAgY29uc3QgcnVubmVyVGFza0RlZmluaXRpb24gPSBuZXcgRWNzVGFza0RlZmluaXRpb24odGhpcywgJ1J1bm5lclRhc2tEZWZpbml0aW9uJywge1xuICAgICAgICAgICAgZmFtaWx5OiAnR0hBJyxcbiAgICAgICAgICAgIHRhc2tSb2xlQXJuOiBydW5uZXJSb2xlLmFybixcbiAgICAgICAgICAgIGV4ZWN1dGlvblJvbGVBcm46IGVjc1Rhc2tFeGVjdXRpb25Sb2xlLmFybixcbiAgICAgICAgICAgIGNvbnRhaW5lckRlZmluaXRpb25zOiBGbi5qc29uZW5jb2RlKHJ1bm5lckNvbnRhaW5lckRlZmluaXRpb25zKSxcbiAgICAgICAgICAgIGNwdTogJzEwMjQnLFxuICAgICAgICAgICAgbWVtb3J5OiAnMjA0OCcsXG4gICAgICAgICAgICByZXF1aXJlc0NvbXBhdGliaWxpdGllczogW1xuICAgICAgICAgICAgICAgICdGQVJHQVRFJ1xuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHJ1bnRpbWVQbGF0Zm9ybToge1xuICAgICAgICAgICAgICAgIGNwdUFyY2hpdGVjdHVyZTogJ1g4Nl82NCcsXG4gICAgICAgICAgICAgICAgb3BlcmF0aW5nU3lzdGVtRmFtaWx5OiAnTElOVVgnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV0d29ya01vZGU6ICdhd3N2cGMnLFxuICAgICAgICAgICAgdm9sdW1lOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBydW5uZXJWb2x1bWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBlZnNWb2x1bWVDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlU3lzdGVtSWQ6IGVmcy5pZCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIC8vIFRoaXMgZG9lc24ndCB3b3JrIHdpdGggc2FtZSB2b2x1bWUsIGFzIHZvbHVtZSBpcyBpbml0aWFsbHkgZW1wdHkgc28gaXQgY2FuJ3QgbWFwIHRvIGl0J3MgXCJleHRlcm5hbHNcIiBkaXJlY3RvcnlcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGV4dGVybmFsc1ZvbHVtZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGVmc1ZvbHVtZUNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVTeXN0ZW1JZDogZXh0ZXJuYWxzRWZzLmlkLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IGF1dG9zY2FsZXJUYXNrRGVmaW5pdGlvbiA9IG5ldyBFY3NUYXNrRGVmaW5pdGlvbih0aGlzLCAnQXV0b3NjYWxlclRhc2tEZWZpbml0aW9uJywge1xuICAgICAgICAgICAgZmFtaWx5OiAnQXV0b3NjYWxlcicsXG4gICAgICAgICAgICB0YXNrUm9sZUFybjogYXV0b3NjYWxlclJvbGUuYXJuLFxuICAgICAgICAgICAgZXhlY3V0aW9uUm9sZUFybjogZWNzVGFza0V4ZWN1dGlvblJvbGUuYXJuLFxuICAgICAgICAgICAgY29udGFpbmVyRGVmaW5pdGlvbnM6IEZuLmpzb25lbmNvZGUoW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2F1dG9zY2FsZXInLFxuICAgICAgICAgICAgICAgICAgICBpbWFnZTogJ2doY3IuaW8vaGktZmkvZ2hhLXJ1bm5lcnMtb24tbWFuYWdlZC1lbnY6dGVzdCcsXG4gICAgICAgICAgICAgICAgICAgIGVzc2VudGlhbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnUEFUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcGF0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdHSVRIVUJfQ09ORklHX1VSTCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGdpdGh1YkNvbmZpZ1VybC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnVEFTS19ERUZJTklUSU9OX0FSTicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHJ1bm5lclRhc2tEZWZpbml0aW9uLmFyblxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUNTX0NMVVNURVInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBjbHVzdGVyLmFyblxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUNTX1NVQk5FVFMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBGbi5qb2luKCcsJywgc3VibmV0cy5pZHMpXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdFQ1NfU0VDVVJJVFlfR1JPVVBTJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogRm4uam9pbignLCcsIHNlY3VyaXR5R3JvdXBzLmlkcylcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ1NDQUxFX1NFVF9OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ2Vjcy1ydW5uZXItc2V0J1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgbG9nQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9nRHJpdmVyOiAnYXdzbG9ncycsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhd3Nsb2dzLWdyb3VwXCI6IGF1dG9zY2FsZXJMb2dHcm91cC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXdzbG9ncy1yZWdpb25cIjogcmVnaW9uLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhd3Nsb2dzLXN0cmVhbS1wcmVmaXhcIjogXCJlY3NcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgY3B1OiAnMjU2JyxcbiAgICAgICAgICAgIG1lbW9yeTogJzUxMicsXG4gICAgICAgICAgICByZXF1aXJlc0NvbXBhdGliaWxpdGllczogW1xuICAgICAgICAgICAgICAgICdGQVJHQVRFJ1xuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHJ1bnRpbWVQbGF0Zm9ybToge1xuICAgICAgICAgICAgICAgIGNwdUFyY2hpdGVjdHVyZTogJ1g4Nl82NCcsXG4gICAgICAgICAgICAgICAgb3BlcmF0aW5nU3lzdGVtRmFtaWx5OiAnTElOVVgnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV0d29ya01vZGU6ICdhd3N2cGMnLFxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IHJ1bm5lclBvbGljeSA9IG5ldyBJYW1Qb2xpY3kodGhpcywgJ1J1bm5lclBvbGljeScsIHtcbiAgICAgICAgICAgIHBvbGljeTogRm4uanNvbmVuY29kZSh7XG4gICAgICAgICAgICAgICAgJ1ZlcnNpb24nOiAnMjAxMi0xMC0xNycsXG4gICAgICAgICAgICAgICAgJ1N0YXRlbWVudCc6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ1NpZCc6ICdTdGFydGFuZE1vbml0b3JUYXNrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0FjdGlvbic6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOlJ1blRhc2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6VGFnUmVzb3VyY2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6TGlzdFRhc2tEZWZpbml0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjczpMaXN0VGFza3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6U3RvcFRhc2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6UmVnaXN0ZXJUYXNrRGVmaW5pdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjczpEZXNjcmliZVRhc2tEZWZpbml0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOkRlcmVnaXN0ZXJUYXNrRGVmaW5pdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjczpEZWxldGVUYXNrRGVmaW5pdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6RXhlY3V0ZUNvbW1hbmQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5lZWRlZCBmb3Igd2FpdGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6RGVzY3JpYmVUYXNrcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZ3M6R2V0TG9nRXZlbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaWFtOlBhc3NSb2xlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9nczpTdGFydExpdmVUYWlsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9nczpDcmVhdGVMb2dTdHJlYW0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZSc6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYXJuOmF3czplY3M6JHtyZWdpb24ubmFtZX06JHtpZGVudGl0eS5hY2NvdW50SWR9OnRhc2stZGVmaW5pdGlvbi9naGEtcG9kLXdvcmtmbG93OipgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsdXN0ZXIuYXJuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRyaWdnZXJlciBoYXMgdG8gYmUgYWxsb3dlZCB0byBwYXNzIGJvdGggdGFzayBhbmQgdGFzayBleGVjdXRpb24gcm9sZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjc1Rhc2tFeGVjdXRpb25Sb2xlLmFybixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5uZXJSb2xlLmFybixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYXJuOmF3czplY3M6JHtyZWdpb24ubmFtZX06JHtpZGVudGl0eS5hY2NvdW50SWR9OnRhc2svJHtjbHVzdGVyLm5hbWV9LypgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vVE9ETzogcmVvcmRlciByaWdodHMgc28gdGhhdCBsaXN0aW5nIGlzIG9ubHkgb25lIHdpdGggc3RhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICcqJ1xuICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnU2lkJzogJ0dldFZwY0luZm8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0VmZmVjdCc6ICdBbGxvdycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJzogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlYzI6RGVzY3JpYmVTdWJuZXRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWMyOkRlc2NyaWJlU2VjdXJpdHlHcm91cHMnXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlJzogJyonXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdTaWQnOiAnRXhlY0NvbW1hbmRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0FjdGlvbic6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3NtbWVzc2FnZXM6Q3JlYXRlQ29udHJvbENoYW5uZWwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzc21tZXNzYWdlczpDcmVhdGVEYXRhQ2hhbm5lbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NzbW1lc3NhZ2VzOk9wZW5Db250cm9sQ2hhbm5lbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NzbW1lc3NhZ2VzOk9wZW5EYXRhQ2hhbm5lbCdcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2UnOiAnKidcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgKVxuICAgICAgICB9KVxuXG4gICAgICAgIG5ldyBJYW1Sb2xlUG9saWN5QXR0YWNobWVudCh0aGlzLCAnUnVubmVyUG9saWN5QXR0YWNobWVudCcsIHtcbiAgICAgICAgICAgIHBvbGljeUFybjogcnVubmVyUG9saWN5LmFybixcbiAgICAgICAgICAgIHJvbGU6IHJ1bm5lclJvbGUubmFtZVxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IGF1dG9zY2FsZXJQb2xpY3kgPSBuZXcgSWFtUG9saWN5KHRoaXMsICdBdXRvc2NhbGVyUG9saWN5Jywge1xuICAgICAgICAgICAgcG9saWN5OiBGbi5qc29uZW5jb2RlKHtcbiAgICAgICAgICAgICAgICAnVmVyc2lvbic6ICcyMDEyLTEwLTE3JyxcbiAgICAgICAgICAgICAgICAnU3RhdGVtZW50JzogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnU2lkJzogJ1N0YXJ0YW5kTW9uaXRvclRhc2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0VmZmVjdCc6ICdBbGxvdycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJzogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6UnVuVGFzaycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTmVlZGVkIGZvciB3YWl0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjczpEZXNjcmliZVRhc2tzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9nczpHZXRMb2dFdmVudHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpYW06UGFzc1JvbGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZSc6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtydW5uZXJUYXNrRGVmaW5pdGlvbi5hcm5XaXRob3V0UmV2aXNpb259OipgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRyaWdnZXJlciBoYXMgdG8gYmUgYWxsb3dlZCB0byBwYXNzIGJvdGggdGFzayBhbmQgdGFzayBleGVjdXRpb24gcm9sZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjc1Rhc2tFeGVjdXRpb25Sb2xlLmFybixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5uZXJSb2xlLmFybixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYXJuOmF3czplY3M6JHtyZWdpb24ubmFtZX06JHtpZGVudGl0eS5hY2NvdW50SWR9OnRhc2svJHtjbHVzdGVyLm5hbWV9LypgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3J1bm5lckxvZ0dyb3VwLmFybn06bG9nLXN0cmVhbToqYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ1NpZCc6ICdHZXRWcGNJbmZvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0FjdGlvbic6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWMyOkRlc2NyaWJlU3VibmV0cycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjMjpEZXNjcmliZVNlY3VyaXR5R3JvdXBzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZSc6ICcqJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICApXG4gICAgICAgIH0pXG4gICAgICAgIG5ldyBJYW1Sb2xlUG9saWN5QXR0YWNobWVudCh0aGlzLCAnQXV0b3NjYWxlclBvbGljeUF0dGFjaG1lbnQnLCB7XG4gICAgICAgICAgICBwb2xpY3lBcm46IGF1dG9zY2FsZXJQb2xpY3kuYXJuLFxuICAgICAgICAgICAgcm9sZTogYXV0b3NjYWxlclJvbGUubmFtZVxuICAgICAgICB9KVxuXG4gICAgICAgIG5ldyBFY3NTZXJ2aWNlKHRoaXMsICdBdXRvc2NhbGVyU2VydmljZScsIHtcbiAgICAgICAgICAgIGNsdXN0ZXI6IGNsdXN0ZXIuYXJuLFxuICAgICAgICAgICAgbmFtZTogJ2F1dG9zY2FsZXItc2VydmljZScsXG4gICAgICAgICAgICBkZXNpcmVkQ291bnQ6IDEsXG4gICAgICAgICAgICBsYXVuY2hUeXBlOiAnRkFSR0FURScsXG4gICAgICAgICAgICB0YXNrRGVmaW5pdGlvbjogYXV0b3NjYWxlclRhc2tEZWZpbml0aW9uLmFybldpdGhvdXRSZXZpc2lvbixcbiAgICAgICAgICAgIG5ldHdvcmtDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgYXNzaWduUHVibGljSXA6IHRydWUsXG4gICAgICAgICAgICAgICAgc3VibmV0czogc3VibmV0cy5pZHMsXG4gICAgICAgICAgICAgICAgc2VjdXJpdHlHcm91cHM6IHNlY3VyaXR5R3JvdXBzLmlkc1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxpZmVjeWNsZToge1xuICAgICAgICAgICAgICAgIGlnbm9yZUNoYW5nZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgJ2Rlc2lyZWRfY291bnQnXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cbn1cbiJdfQ==
|
393
|
+
_a = JSII_RTTI_SYMBOL_1;
|
394
|
+
Aws[_a] = { fqn: "terraform-cdk-serverless-github-actions-runner-controller.Aws", version: "0.0.2" };
|
395
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9hd3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1RkFBa0Y7QUFDbEYsK0ZBQXlGO0FBQ3pGLDZFQUF3RTtBQUN4RSwrRkFBeUY7QUFDekYsK0VBQTBFO0FBQzFFLHFFQUFpRTtBQUNqRSxxRUFBaUU7QUFDakUscUZBQWdGO0FBQ2hGLG1FQUErRDtBQUMvRCwrREFBMkQ7QUFDM0QsbUdBQTZGO0FBQzdGLCtEQUErRDtBQUMvRCxpQ0FBOEM7QUFDOUMsMkNBQXVDO0FBQ3ZDLDJDQUE4QztBQUM5Qyw2RUFBd0U7QUFFeEUsK0VBQTBFO0FBRTFFLE1BQWEsR0FBSSxTQUFRLHNCQUFTO0lBQzlCLFlBQVksS0FBZ0IsRUFBRSxFQUFVO1FBQ3BDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxzQkFBVyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFFNUIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxnREFBcUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpFLE1BQU0sTUFBTSxHQUFHLElBQUksK0JBQWEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRXBELE1BQU0sRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBQSwyQkFBZSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZELE1BQU0sT0FBTyxHQUFHLElBQUksd0JBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQzVDLElBQUksRUFBRSxvQkFBb0I7U0FDN0IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQUcsSUFBSSxrQkFBTyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDL0MsZ0JBQWdCLEVBQUUsVUFBRSxDQUFDLFVBQVUsQ0FBQztnQkFDNUIsU0FBUyxF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RSxHQUFHLGNBQWMsQ0FBQyxHQUFHLGVBQWU7eUJBQ3ZDO3FCQUNKO29CQUNEO3dCQUNJLEtBQUssRUFBRSxZQUFZO3dCQUNuQixRQUFRLEVBQUUsT0FBTzt3QkFDakIsUUFBUSxFQUFFOzRCQUNOLHFCQUFxQjs0QkFDckIsNEJBQTRCO3lCQUMvQjt3QkFDRCxVQUFVLEVBQUUsR0FBRztxQkFDbEI7aUJBQ0o7YUFDSixDQUVBO1NBQ0osQ0FBQyxDQUFBO1FBQ0YsSUFBSSxvREFBdUIsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLEVBQUU7WUFDNUQsU0FBUyxFQUFFLGdCQUFnQixDQUFDLEdBQUc7WUFDL0IsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJO1NBQzVCLENBQUMsQ0FBQTtRQUVGLElBQUksd0JBQVUsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7WUFDdEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHO1lBQ3BCLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsWUFBWSxFQUFFLENBQUM7WUFDZixVQUFVLEVBQUUsU0FBUztZQUNyQixjQUFjLEVBQUUsd0JBQXdCLENBQUMsa0JBQWtCO1lBQzNELG9CQUFvQixFQUFFO2dCQUNsQixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHO2dCQUNwQixjQUFjLEVBQUUsY0FBYyxDQUFDLEdBQUc7YUFDckM7WUFDRCxTQUFTLEVBQUU7Z0JBQ1AsYUFBYSxFQUFFO29CQUNYLGVBQWU7aUJBQ2xCO2FBQ0o7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDOztBQTVZTCxrQkE2WUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbG91ZHdhdGNoTG9nR3JvdXAgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9jbG91ZHdhdGNoLWxvZy1ncm91cCc7XG5pbXBvcnQgeyBEYXRhQXdzQ2FsbGVySWRlbnRpdHkgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9kYXRhLWF3cy1jYWxsZXItaWRlbnRpdHknO1xuaW1wb3J0IHsgRGF0YUF3c1JlZ2lvbiB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2RhdGEtYXdzLXJlZ2lvbic7XG5pbXBvcnQgeyBEYXRhQXdzU2VjdXJpdHlHcm91cHMgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9kYXRhLWF3cy1zZWN1cml0eS1ncm91cHMnO1xuaW1wb3J0IHsgRGF0YUF3c1N1Ym5ldHMgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9kYXRhLWF3cy1zdWJuZXRzJztcbmltcG9ydCB7IEVjc0NsdXN0ZXIgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9lY3MtY2x1c3Rlcic7XG5pbXBvcnQgeyBFY3NTZXJ2aWNlIH0gZnJvbSAnQGNka3RmL3Byb3ZpZGVyLWF3cy9saWIvZWNzLXNlcnZpY2UnO1xuaW1wb3J0IHsgRWNzVGFza0RlZmluaXRpb24gfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9lY3MtdGFzay1kZWZpbml0aW9uJztcbmltcG9ydCB7IElhbVBvbGljeSB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2lhbS1wb2xpY3knO1xuaW1wb3J0IHsgSWFtUm9sZSB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1hd3MvbGliL2lhbS1yb2xlJztcbmltcG9ydCB7IElhbVJvbGVQb2xpY3lBdHRhY2htZW50IH0gZnJvbSAnQGNka3RmL3Byb3ZpZGVyLWF3cy9saWIvaWFtLXJvbGUtcG9saWN5LWF0dGFjaG1lbnQnO1xuaW1wb3J0IHsgQXdzUHJvdmlkZXIgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9wcm92aWRlcic7XG5pbXBvcnQgeyBGbiwgVGVycmFmb3JtSXRlcmF0b3IgfSBmcm9tICdjZGt0Zic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IGNvbW1vblZhcmlhYmxlcyB9IGZyb20gJy4vdmFyaWFibGVzJztcbmltcG9ydCB7IEVmc0ZpbGVTeXN0ZW0gfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItYXdzL2xpYi9lZnMtZmlsZS1zeXN0ZW0nO1xuaW1wb3J0IHsgdHlwZSBDb250YWluZXJEZWZpbml0aW9uIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWVjcydcbmltcG9ydCB7IEVmc01vdW50VGFyZ2V0IH0gZnJvbSAnQGNka3RmL3Byb3ZpZGVyLWF3cy9saWIvZWZzLW1vdW50LXRhcmdldCc7XG5cbmV4cG9ydCBjbGFzcyBBd3MgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgICAgICBuZXcgQXdzUHJvdmlkZXIodGhpcywgJ2F3cycsIHtcblxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBpZGVudGl0eSA9IG5ldyBEYXRhQXdzQ2FsbGVySWRlbnRpdHkodGhpcywgJ0lkZW50aXR5Jywge30pO1xuXG4gICAgICAgIGNvbnN0IHJlZ2lvbiA9IG5ldyBEYXRhQXdzUmVnaW9uKHRoaXMsICdSZWdpb24nLCB7fSlcblxuICAgICAgICBjb25zdCB7IHBhdCwgZ2l0aHViQ29uZmlnVXJsIH0gPSBjb21tb25WYXJpYWJsZXModGhpcyk7XG5cbiAgICAgICAgY29uc3QgY2x1c3RlciA9IG5ldyBFY3NDbHVzdGVyKHRoaXMsICdDbHVzdGVyJywge1xuICAgICAgICAgICAgbmFtZTogJ2doYS1ydW5uZXItY2x1c3RlcicsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJ1bm5lclJvbGUgPSBuZXcgSWFtUm9sZSh0aGlzLCAnUnVubmVyUm9sZScsIHtcbiAgICAgICAgICAgIGFzc3VtZVJvbGVQb2xpY3k6IEZuLmpzb25lbmNvZGUoe1xuICAgICAgICAgICAgICAgICdWZXJzaW9uJzogJzIwMTItMTAtMTcnLFxuICAgICAgICAgICAgICAgICdTdGF0ZW1lbnQnOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaW5jaXBhbCc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VydmljZSc6ICdlY3MtdGFza3MuYW1hem9uYXdzLmNvbSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJzogJ3N0czpBc3N1bWVSb2xlJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBhdXRvc2NhbGVyUm9sZSA9IG5ldyBJYW1Sb2xlKHRoaXMsICdBdXRvc2NhbGVyUm9sZScsIHtcbiAgICAgICAgICAgIGFzc3VtZVJvbGVQb2xpY3k6IEZuLmpzb25lbmNvZGUoe1xuICAgICAgICAgICAgICAgICdWZXJzaW9uJzogJzIwMTItMTAtMTcnLFxuICAgICAgICAgICAgICAgICdTdGF0ZW1lbnQnOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaW5jaXBhbCc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VydmljZSc6ICdlY3MtdGFza3MuYW1hem9uYXdzLmNvbSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJzogJ3N0czpBc3N1bWVSb2xlJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBlY3NUYXNrRXhlY3V0aW9uUm9sZSA9IG5ldyBJYW1Sb2xlKHRoaXMsICdUYXNrRXhlY3V0aW9uUm9sZScsIHtcbiAgICAgICAgICAgIGFzc3VtZVJvbGVQb2xpY3k6IEZuLmpzb25lbmNvZGUoe1xuICAgICAgICAgICAgICAgICdWZXJzaW9uJzogJzIwMTItMTAtMTcnLFxuICAgICAgICAgICAgICAgICdTdGF0ZW1lbnQnOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ1ByaW5jaXBhbCc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2VydmljZSc6ICdlY3MtdGFza3MuYW1hem9uYXdzLmNvbSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnQWN0aW9uJzogJ3N0czpBc3N1bWVSb2xlJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYW5hZ2VkUG9saWN5QXJuczogW1xuICAgICAgICAgICAgICAgICdhcm46YXdzOmlhbTo6YXdzOnBvbGljeS9zZXJ2aWNlLXJvbGUvQW1hem9uRUNTVGFza0V4ZWN1dGlvblJvbGVQb2xpY3knXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgcnVubmVyTG9nR3JvdXAgPSBuZXcgQ2xvdWR3YXRjaExvZ0dyb3VwKHRoaXMsICdSdW5uZXJMb2dHcm91cCcsIHtcbiAgICAgICAgICAgIG5hbWU6ICcvZWNzL0dIQScsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGF1dG9zY2FsZXJMb2dHcm91cCA9IG5ldyBDbG91ZHdhdGNoTG9nR3JvdXAodGhpcywgJ0F1dG9zY2FsZXJMb2dHcm91cCcsIHtcbiAgICAgICAgICAgIG5hbWU6ICcvZWNzL0F1dG9zY2FsZXInLFxuICAgICAgICB9KTtcblxuXG4gICAgICAgIGNvbnN0IHN1Ym5ldHMgPSBuZXcgRGF0YUF3c1N1Ym5ldHModGhpcywgJ1N1Ym5ldHMnLCB7fSk7XG5cbiAgICAgICAgY29uc3Qgc2VjdXJpdHlHcm91cHMgPSBuZXcgRGF0YUF3c1NlY3VyaXR5R3JvdXBzKHRoaXMsICdTZWN1cml0eUdyb3VwcycpO1xuXG4gICAgICAgIC8vIEVGUyB2b2x1bWUgdG8gYWxsb3cgc2hhcmluZyBkYXRhIGJldHdlZW4gdGFza3NcbiAgICAgICAgY29uc3QgZWZzID0gbmV3IEVmc0ZpbGVTeXN0ZW0odGhpcywgJ2VmcycsIHtcbiAgICAgICAgICAgIHRocm91Z2hwdXRNb2RlOiAnZWxhc3RpYycsXG4gICAgICAgICAgICB0YWdzOiB7XG4gICAgICAgICAgICAgICAgTmFtZTogJ3dvcmsnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgZXh0ZXJuYWxzRWZzID0gbmV3IEVmc0ZpbGVTeXN0ZW0odGhpcywgJ2V4dGVybmFsc0VmcycsIHtcbiAgICAgICAgICAgIHRocm91Z2hwdXRNb2RlOiAnZWxhc3RpYycsXG4gICAgICAgICAgICB0YWdzOiB7XG4gICAgICAgICAgICAgICAgTmFtZTogJ2V4dGVybmFscydcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICAvLyBFYWNoIHN1Ym5ldCBpbiBWUEMgYXJlIG9uIGRpZmZlcmVudCBBWnMsIHNvIGNyZWF0aW5nIG1vdW50cG9pbnQgdG8gZWFjaFxuICAgICAgICBjb25zdCBpdGVyYXRvciA9IFRlcnJhZm9ybUl0ZXJhdG9yLmZyb21MaXN0KHN1Ym5ldHMuaWRzKVxuXG4gICAgICAgIG5ldyBFZnNNb3VudFRhcmdldCh0aGlzLCAnRWZzTW91bnRUYXJnZXQnLCB7XG4gICAgICAgICAgICBmb3JFYWNoOiBpdGVyYXRvcixcbiAgICAgICAgICAgIGZpbGVTeXN0ZW1JZDogZWZzLmlkLFxuICAgICAgICAgICAgc3VibmV0SWQ6IGl0ZXJhdG9yLnZhbHVlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBFZnNNb3VudFRhcmdldCh0aGlzLCAnRXh0ZXJuYWxzRWZzTW91bnRUYXJnZXQnLCB7XG4gICAgICAgICAgICBmb3JFYWNoOiBpdGVyYXRvcixcbiAgICAgICAgICAgIGZpbGVTeXN0ZW1JZDogZXh0ZXJuYWxzRWZzLmlkLFxuICAgICAgICAgICAgc3VibmV0SWQ6IGl0ZXJhdG9yLnZhbHVlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJ1bm5lclZvbHVtZU5hbWUgPSAnd29yayc7XG4gICAgICAgIGNvbnN0IGV4dGVybmFsc1ZvbHVtZU5hbWUgPSAnZXh0ZXJuYWxzJztcbiAgICAgICAgY29uc3QgcnVubmVyQ29udGFpbmVyRGVmaW5pdGlvbnM6IENvbnRhaW5lckRlZmluaXRpb25bXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdydW5uZXInLFxuICAgICAgICAgICAgaW1hZ2U6ICdnaGNyLmlvL2hpLWZpL2FjdGlvbnMtcnVubmVyOmVjcycsXG4gICAgICAgICAgICBjb21tYW5kOiBbJy9iaW4vc2gnLCAnLWMnLCAnZXhwb3J0IEVYRUNJRD0kKGNhdCAvcHJvYy9zeXMva2VybmVsL3JhbmRvbS91dWlkKSAmJiBzdWRvIG1rZGlyIC1wIC90bXAvX3dvcmsvJEVYRUNJRCAmJiBzdWRvIGNob3duIHJ1bm5lcjpydW5uZXIgL3RtcC9fd29yay8kRVhFQ0lEICYmIGxuIC1zIC90bXAvX3dvcmsvJEVYRUNJRCBfd29yayAmJiBzdWRvIGNob3duIHJ1bm5lcjpydW5uZXIgL3RtcC9leHRlcm5hbHMgJiYgL2hvbWUvcnVubmVyL3J1bi5zaCA7IHN1ZG8gcm0gLXIgL3RtcC9fd29yay8kRVhFQ0lEJ10sXG4gICAgICAgICAgICBlc3NlbnRpYWw6IHRydWUsXG4gICAgICAgICAgICBlbnZpcm9ubWVudDogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0VGU19JRCcsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBlZnMuaWRcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0VYVEVSTkFMU19FRlNfSUQnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZXh0ZXJuYWxzRWZzLmlkXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdFQ1NfQ0xVU1RFUl9OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGNsdXN0ZXIubmFtZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnQUNUSU9OU19SVU5ORVJfUE9EX05BTUUnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ2doYS1wb2QnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdBQ1RJT05TX1JVTk5FUl9SRVFVSVJFX0pPQl9DT05UQUlORVInLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ2ZhbHNlJ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUNTX1NVQk5FVFMnLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogRm4uam9pbignLCcsIHN1Ym5ldHMuaWRzKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUNTX1NFQ1VSSVRZX0dST1VQUycsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBGbi5qb2luKCcsJywgc2VjdXJpdHlHcm91cHMuaWRzKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUNTX1RBU0tfUk9MRScsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBydW5uZXJSb2xlLmFyblxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUNTX0VYRUNVVElPTl9ST0xFJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGVjc1Rhc2tFeGVjdXRpb25Sb2xlLmFyblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBtb3VudFBvaW50czogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlVm9sdW1lOiBydW5uZXJWb2x1bWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJQYXRoOiAnL3RtcC9fd29yaycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZVZvbHVtZTogZXh0ZXJuYWxzVm9sdW1lTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyUGF0aDogJy90bXAvZXh0ZXJuYWxzJyxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgbG9nQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgICAgIGxvZ0RyaXZlcjogJ2F3c2xvZ3MnLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJhd3Nsb2dzLWdyb3VwXCI6IHJ1bm5lckxvZ0dyb3VwLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIFwiYXdzbG9ncy1yZWdpb25cIjogcmVnaW9uLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIFwiYXdzbG9ncy1zdHJlYW0tcHJlZml4XCI6IFwiZWNzXCIsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XVxuICAgICAgICAvLyBUT0RPOiBJbWFnZXMgdGhyb3VnaCBjYWNoaW5nOiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNSL2xhdGVzdC91c2VyZ3VpZGUvcHVsbC10aHJvdWdoLWNhY2hlLmh0bWwgKHJlcXVpcmVzIGF1dGhlbnRpY2F0aW9uKVxuICAgICAgICAvLyBUT0RPOiBQYXNzIEV4ZWN1dGlvbiByb2xlIHRvIGpvYiB0YXNrOiBodHRwczovL3d3dy5lcm5lc3RjaGlhbmcuY29tL2VuL3Bvc3RzLzIwMjEvdXNpbmctYW1hem9uLWVjcy1leGVjLyMxLWdyYW50LXBlcm1pc3Npb25zLWVjcy10YXNrLWlhbS1yb2xlXG4gICAgICAgIC8vIFRPRE86IFBhc3MgVGFzayByb2xlIHRvIGpvYiB0YXNrXG4gICAgICAgIGNvbnN0IHJ1bm5lclRhc2tEZWZpbml0aW9uID0gbmV3IEVjc1Rhc2tEZWZpbml0aW9uKHRoaXMsICdSdW5uZXJUYXNrRGVmaW5pdGlvbicsIHtcbiAgICAgICAgICAgIGZhbWlseTogJ0dIQScsXG4gICAgICAgICAgICB0YXNrUm9sZUFybjogcnVubmVyUm9sZS5hcm4sXG4gICAgICAgICAgICBleGVjdXRpb25Sb2xlQXJuOiBlY3NUYXNrRXhlY3V0aW9uUm9sZS5hcm4sXG4gICAgICAgICAgICBjb250YWluZXJEZWZpbml0aW9uczogRm4uanNvbmVuY29kZShydW5uZXJDb250YWluZXJEZWZpbml0aW9ucyksXG4gICAgICAgICAgICBjcHU6ICcxMDI0JyxcbiAgICAgICAgICAgIG1lbW9yeTogJzIwNDgnLFxuICAgICAgICAgICAgcmVxdWlyZXNDb21wYXRpYmlsaXRpZXM6IFtcbiAgICAgICAgICAgICAgICAnRkFSR0FURSdcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBydW50aW1lUGxhdGZvcm06IHtcbiAgICAgICAgICAgICAgICBjcHVBcmNoaXRlY3R1cmU6ICdYODZfNjQnLFxuICAgICAgICAgICAgICAgIG9wZXJhdGluZ1N5c3RlbUZhbWlseTogJ0xJTlVYJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5ldHdvcmtNb2RlOiAnYXdzdnBjJyxcbiAgICAgICAgICAgIHZvbHVtZTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogcnVubmVyVm9sdW1lTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgZWZzVm9sdW1lQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZVN5c3RlbUlkOiBlZnMuaWQsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAvLyBUaGlzIGRvZXNuJ3Qgd29yayB3aXRoIHNhbWUgdm9sdW1lLCBhcyB2b2x1bWUgaXMgaW5pdGlhbGx5IGVtcHR5IHNvIGl0IGNhbid0IG1hcCB0byBpdCdzIFwiZXh0ZXJuYWxzXCIgZGlyZWN0b3J5XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBleHRlcm5hbHNWb2x1bWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBlZnNWb2x1bWVDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlU3lzdGVtSWQ6IGV4dGVybmFsc0Vmcy5pZCxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBhdXRvc2NhbGVyVGFza0RlZmluaXRpb24gPSBuZXcgRWNzVGFza0RlZmluaXRpb24odGhpcywgJ0F1dG9zY2FsZXJUYXNrRGVmaW5pdGlvbicsIHtcbiAgICAgICAgICAgIGZhbWlseTogJ0F1dG9zY2FsZXInLFxuICAgICAgICAgICAgdGFza1JvbGVBcm46IGF1dG9zY2FsZXJSb2xlLmFybixcbiAgICAgICAgICAgIGV4ZWN1dGlvblJvbGVBcm46IGVjc1Rhc2tFeGVjdXRpb25Sb2xlLmFybixcbiAgICAgICAgICAgIGNvbnRhaW5lckRlZmluaXRpb25zOiBGbi5qc29uZW5jb2RlKFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdhdXRvc2NhbGVyJyxcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6ICdnaGNyLmlvL2hpLWZpL2doYS1ydW5uZXJzLW9uLW1hbmFnZWQtZW52OnRlc3QnLFxuICAgICAgICAgICAgICAgICAgICBlc3NlbnRpYWw6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50OiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ1BBVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHBhdC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnR0lUSFVCX0NPTkZJR19VUkwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBnaXRodWJDb25maWdVcmwudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ1RBU0tfREVGSU5JVElPTl9BUk4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBydW5uZXJUYXNrRGVmaW5pdGlvbi5hcm5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0VDU19DTFVTVEVSJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogY2x1c3Rlci5hcm5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0VDU19TVUJORVRTJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogRm4uam9pbignLCcsIHN1Ym5ldHMuaWRzKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRUNTX1NFQ1VSSVRZX0dST1VQUycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IEZuLmpvaW4oJywnLCBzZWN1cml0eUdyb3Vwcy5pZHMpXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdTQ0FMRV9TRVRfTkFNRScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdlY3MtcnVubmVyLXNldCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIGxvZ0NvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0RyaXZlcjogJ2F3c2xvZ3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXdzbG9ncy1ncm91cFwiOiBhdXRvc2NhbGVyTG9nR3JvdXAubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImF3c2xvZ3MtcmVnaW9uXCI6IHJlZ2lvbi5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYXdzbG9ncy1zdHJlYW0tcHJlZml4XCI6IFwiZWNzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIGNwdTogJzI1NicsXG4gICAgICAgICAgICBtZW1vcnk6ICc1MTInLFxuICAgICAgICAgICAgcmVxdWlyZXNDb21wYXRpYmlsaXRpZXM6IFtcbiAgICAgICAgICAgICAgICAnRkFSR0FURSdcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBydW50aW1lUGxhdGZvcm06IHtcbiAgICAgICAgICAgICAgICBjcHVBcmNoaXRlY3R1cmU6ICdYODZfNjQnLFxuICAgICAgICAgICAgICAgIG9wZXJhdGluZ1N5c3RlbUZhbWlseTogJ0xJTlVYJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5ldHdvcmtNb2RlOiAnYXdzdnBjJyxcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBydW5uZXJQb2xpY3kgPSBuZXcgSWFtUG9saWN5KHRoaXMsICdSdW5uZXJQb2xpY3knLCB7XG4gICAgICAgICAgICBwb2xpY3k6IEZuLmpzb25lbmNvZGUoe1xuICAgICAgICAgICAgICAgICdWZXJzaW9uJzogJzIwMTItMTAtMTcnLFxuICAgICAgICAgICAgICAgICdTdGF0ZW1lbnQnOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdTaWQnOiAnU3RhcnRhbmRNb25pdG9yVGFzaycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnRWZmZWN0JzogJ0FsbG93JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjczpSdW5UYXNrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOlRhZ1Jlc291cmNlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOkxpc3RUYXNrRGVmaW5pdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6TGlzdFRhc2tzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOlN0b3BUYXNrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOlJlZ2lzdGVyVGFza0RlZmluaXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6RGVzY3JpYmVUYXNrRGVmaW5pdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjczpEZXJlZ2lzdGVyVGFza0RlZmluaXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6RGVsZXRlVGFza0RlZmluaXRpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOkV4ZWN1dGVDb21tYW5kJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOZWVkZWQgZm9yIHdhaXRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOkRlc2NyaWJlVGFza3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsb2dzOkdldExvZ0V2ZW50cycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lhbTpQYXNzUm9sZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZ3M6U3RhcnRMaXZlVGFpbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZ3M6Q3JlYXRlTG9nU3RyZWFtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2UnOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYGFybjphd3M6ZWNzOiR7cmVnaW9uLm5hbWV9OiR7aWRlbnRpdHkuYWNjb3VudElkfTp0YXNrLWRlZmluaXRpb24vZ2hhLXBvZC13b3JrZmxvdzoqYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbHVzdGVyLmFybixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUcmlnZ2VyZXIgaGFzIHRvIGJlIGFsbG93ZWQgdG8gcGFzcyBib3RoIHRhc2sgYW5kIHRhc2sgZXhlY3V0aW9uIHJvbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY3NUYXNrRXhlY3V0aW9uUm9sZS5hcm4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVubmVyUm9sZS5hcm4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYGFybjphd3M6ZWNzOiR7cmVnaW9uLm5hbWV9OiR7aWRlbnRpdHkuYWNjb3VudElkfTp0YXNrLyR7Y2x1c3Rlci5uYW1lfS8qYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1RPRE86IHJlb3JkZXIgcmlnaHRzIHNvIHRoYXQgbGlzdGluZyBpcyBvbmx5IG9uZSB3aXRoIHN0YXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKidcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ1NpZCc6ICdHZXRWcGNJbmZvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0FjdGlvbic6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWMyOkRlc2NyaWJlU3VibmV0cycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjMjpEZXNjcmliZVNlY3VyaXR5R3JvdXBzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdSZXNvdXJjZSc6ICcqJ1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnU2lkJzogJ0V4ZWNDb21tYW5kcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnRWZmZWN0JzogJ0FsbG93JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NzbW1lc3NhZ2VzOkNyZWF0ZUNvbnRyb2xDaGFubmVsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3NtbWVzc2FnZXM6Q3JlYXRlRGF0YUNoYW5uZWwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzc21tZXNzYWdlczpPcGVuQ29udHJvbENoYW5uZWwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzc21tZXNzYWdlczpPcGVuRGF0YUNoYW5uZWwnXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc291cmNlJzogJyonXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIClcbiAgICAgICAgfSlcblxuICAgICAgICBuZXcgSWFtUm9sZVBvbGljeUF0dGFjaG1lbnQodGhpcywgJ1J1bm5lclBvbGljeUF0dGFjaG1lbnQnLCB7XG4gICAgICAgICAgICBwb2xpY3lBcm46IHJ1bm5lclBvbGljeS5hcm4sXG4gICAgICAgICAgICByb2xlOiBydW5uZXJSb2xlLm5hbWVcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBhdXRvc2NhbGVyUG9saWN5ID0gbmV3IElhbVBvbGljeSh0aGlzLCAnQXV0b3NjYWxlclBvbGljeScsIHtcbiAgICAgICAgICAgIHBvbGljeTogRm4uanNvbmVuY29kZSh7XG4gICAgICAgICAgICAgICAgJ1ZlcnNpb24nOiAnMjAxMi0xMC0xNycsXG4gICAgICAgICAgICAgICAgJ1N0YXRlbWVudCc6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ1NpZCc6ICdTdGFydGFuZE1vbml0b3JUYXNrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdFZmZlY3QnOiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0FjdGlvbic6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZWNzOlJ1blRhc2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5lZWRlZCBmb3Igd2FpdGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlY3M6RGVzY3JpYmVUYXNrcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvZ3M6R2V0TG9nRXZlbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaWFtOlBhc3NSb2xlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2UnOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7cnVubmVyVGFza0RlZmluaXRpb24uYXJuV2l0aG91dFJldmlzaW9ufToqYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUcmlnZ2VyZXIgaGFzIHRvIGJlIGFsbG93ZWQgdG8gcGFzcyBib3RoIHRhc2sgYW5kIHRhc2sgZXhlY3V0aW9uIHJvbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY3NUYXNrRXhlY3V0aW9uUm9sZS5hcm4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVubmVyUm9sZS5hcm4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYGFybjphd3M6ZWNzOiR7cmVnaW9uLm5hbWV9OiR7aWRlbnRpdHkuYWNjb3VudElkfTp0YXNrLyR7Y2x1c3Rlci5uYW1lfS8qYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtydW5uZXJMb2dHcm91cC5hcm59OmxvZy1zdHJlYW06KmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdTaWQnOiAnR2V0VnBjSW5mbycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnRWZmZWN0JzogJ0FsbG93JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY3Rpb24nOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VjMjpEZXNjcmliZVN1Ym5ldHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlYzI6RGVzY3JpYmVTZWN1cml0eUdyb3VwcydcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAnUmVzb3VyY2UnOiAnKidcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgKVxuICAgICAgICB9KVxuICAgICAgICBuZXcgSWFtUm9sZVBvbGljeUF0dGFjaG1lbnQodGhpcywgJ0F1dG9zY2FsZXJQb2xpY3lBdHRhY2htZW50Jywge1xuICAgICAgICAgICAgcG9saWN5QXJuOiBhdXRvc2NhbGVyUG9saWN5LmFybixcbiAgICAgICAgICAgIHJvbGU6IGF1dG9zY2FsZXJSb2xlLm5hbWVcbiAgICAgICAgfSlcblxuICAgICAgICBuZXcgRWNzU2VydmljZSh0aGlzLCAnQXV0b3NjYWxlclNlcnZpY2UnLCB7XG4gICAgICAgICAgICBjbHVzdGVyOiBjbHVzdGVyLmFybixcbiAgICAgICAgICAgIG5hbWU6ICdhdXRvc2NhbGVyLXNlcnZpY2UnLFxuICAgICAgICAgICAgZGVzaXJlZENvdW50OiAxLFxuICAgICAgICAgICAgbGF1bmNoVHlwZTogJ0ZBUkdBVEUnLFxuICAgICAgICAgICAgdGFza0RlZmluaXRpb246IGF1dG9zY2FsZXJUYXNrRGVmaW5pdGlvbi5hcm5XaXRob3V0UmV2aXNpb24sXG4gICAgICAgICAgICBuZXR3b3JrQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgICAgIGFzc2lnblB1YmxpY0lwOiB0cnVlLFxuICAgICAgICAgICAgICAgIHN1Ym5ldHM6IHN1Ym5ldHMuaWRzLFxuICAgICAgICAgICAgICAgIHNlY3VyaXR5R3JvdXBzOiBzZWN1cml0eUdyb3Vwcy5pZHNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsaWZlY3ljbGU6IHtcbiAgICAgICAgICAgICAgICBpZ25vcmVDaGFuZ2VzOiBbXG4gICAgICAgICAgICAgICAgICAgICdkZXNpcmVkX2NvdW50J1xuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG59XG4iXX0=
|
package/lib/lib/azure.js
CHANGED
@@ -474,5 +474,5 @@ class Azure extends constructs_1.Construct {
|
|
474
474
|
}
|
475
475
|
exports.Azure = Azure;
|
476
476
|
_a = JSII_RTTI_SYMBOL_1;
|
477
|
-
Azure[_a] = { fqn: "terraform-cdk-serverless-github-actions-runner-controller.Azure", version: "0.0.
|
477
|
+
Azure[_a] = { fqn: "terraform-cdk-serverless-github-actions-runner-controller.Azure", version: "0.0.2" };
|
478
478
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2F6dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUVBQXVFO0FBQ3ZFLCtEQUFnRTtBQUNoRSwrREFBMkQ7QUFDM0QsbUdBQTRGO0FBQzVGLGlDQUE4QztBQUM5QywyQ0FBdUM7QUFDdkMsK0VBQTJFO0FBQzNFLHVGQUFtRjtBQUNuRiwrRkFBMEY7QUFDMUYsaUZBQTZFO0FBQzdFLGlHQUE0RjtBQUM1RixpRkFBNkU7QUFDN0UscUdBQWdHO0FBQ2hHLDZFQUF5RTtBQUN6RSwyQ0FBOEM7QUFDOUMscUhBQStHO0FBQy9HLGtFQUFxRTtBQUNyRSxnRkFBNEU7QUFFNUUsTUFBYSxLQUFNLFNBQVEsc0JBQVM7SUFDaEMsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDcEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLDBCQUFlLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNqQyxRQUFRLEVBQUU7Z0JBQ04sRUFBRTthQUNMO1NBQ0osQ0FBQyxDQUFBO1FBRUYsSUFBSSx3QkFBYSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFDaEMsQ0FBQyxDQUFBO1FBRUYsSUFBSSx5QkFBYyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUVsQyxNQUFNLEdBQUcsR0FBRyxJQUFJLG1EQUF1QixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFekQsTUFBTSxFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsR0FBRyxJQUFBLDJCQUFlLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSx5QkFBaUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3JELE9BQU8sRUFBRSxZQUFZO1lBQ3JCLFdBQVcsRUFBRSwwQ0FBMEM7WUFDdkQsSUFBSSxFQUFFLFFBQVE7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YixrQkFBa0IsRUFBRSxTQUFTO1NBQ2hDLENBQUMsQ0FBQztRQUVILElBQUksZ0NBQWMsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUU7WUFDN0MsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO1lBQ2pDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRTtZQUNiLGtCQUFrQixFQUFFLHNCQUFzQjtTQUM3QyxDQUFDLENBQUE7SUFDTixDQUFDOztBQXBlTCxzQkFxZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBenVyZXJtUHJvdmlkZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBBemFwaVByb3ZpZGVyIH0gZnJvbSAnLi4vLmdlbi9wcm92aWRlcnMvYXphcGkvcHJvdmlkZXInXG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJy4uLy5nZW4vcHJvdmlkZXJzL2F6YXBpL3Jlc291cmNlJ1xuaW1wb3J0IHsgRGF0YUF6YXBpUmVzb3VyY2VBY3Rpb24gfSBmcm9tICcuLi8uZ2VuL3Byb3ZpZGVycy9hemFwaS9kYXRhLWF6YXBpLXJlc291cmNlLWFjdGlvbidcbmltcG9ydCB7IEZuLCBUZXJyYWZvcm1WYXJpYWJsZSB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgeyBDb250YWluZXJSZWdpc3RyeSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvY29udGFpbmVyLXJlZ2lzdHJ5XCI7XG5pbXBvcnQgeyBVc2VyQXNzaWduZWRJZGVudGl0eSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvdXNlci1hc3NpZ25lZC1pZGVudGl0eVwiO1xuaW1wb3J0IHsgUm9sZUFzc2lnbm1lbnQgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3JvbGUtYXNzaWdubWVudFwiO1xuaW1wb3J0IHsgTG9nQW5hbHl0aWNzV29ya3NwYWNlIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9sb2ctYW5hbHl0aWNzLXdvcmtzcGFjZVwiO1xuaW1wb3J0IHsgUm9sZURlZmluaXRpb24gfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3JvbGUtZGVmaW5pdGlvblwiO1xuaW1wb3J0IHsgRGF0YUF6dXJlcm1TdWJzY3JpcHRpb24gfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2RhdGEtYXp1cmVybS1zdWJzY3JpcHRpb25cIjtcbmltcG9ydCB7IENvbnRhaW5lckFwcCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvY29udGFpbmVyLWFwcFwiO1xuaW1wb3J0IHsgY29tbW9uVmFyaWFibGVzIH0gZnJvbSBcIi4vdmFyaWFibGVzXCI7XG5pbXBvcnQgeyBDb250YWluZXJBcHBFbnZpcm9ubWVudFN0b3JhZ2UgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2NvbnRhaW5lci1hcHAtZW52aXJvbm1lbnQtc3RvcmFnZVwiO1xuaW1wb3J0IHsgUmFuZG9tUHJvdmlkZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLXJhbmRvbS9saWIvcHJvdmlkZXJcIjtcbmltcG9ydCB7IFN0cmluZ1Jlc291cmNlIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1yYW5kb20vbGliL3N0cmluZy1yZXNvdXJjZVwiO1xuXG5leHBvcnQgY2xhc3MgQXp1cmUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgICAgXG4gICAgICAgIG5ldyBBenVyZXJtUHJvdmlkZXIodGhpcywgJ2F6dXJlcm0nLCB7XG4gICAgICAgICAgICBmZWF0dXJlczogW1xuICAgICAgICAgICAgICAgIHt9XG4gICAgICAgICAgICBdXG4gICAgICAgIH0pXG5cbiAgICAgICAgbmV3IEF6YXBpUHJvdmlkZXIodGhpcywgJ2F6YXBpJywge1xuICAgICAgICB9KVxuXG4gICAgICAgIG5ldyBSYW5kb21Qcm92aWRlcih0aGlzLCAncmFuZG9tJylcblxuICAgICAgICBjb25zdCBzdWIgPSBuZXcgRGF0YUF6dXJlcm1TdWJzY3JpcHRpb24odGhpcywgJ3N1YicsIHt9KTtcblxuICAgICAgICBjb25zdCB7IHBhdCwgZ2l0aHViQ29uZmlnVXJsIH0gPSBjb21tb25WYXJpYWJsZXModGhpcyk7XG5cbiAgICAgICAgY29uc3QgbG9jYXRpb24gPSBuZXcgVGVycmFmb3JtVmFyaWFibGUodGhpcywgJ2xvY2F0aW9uJywge1xuICAgICAgICAgICAgZGVmYXVsdDogJ3dlc3RldXJvcGUnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdMb2NhdGlvbiB3aGVyZSB0byBwcm92aXNpb24gcmVzb3VyY2VzIHRvJyxcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgc2Vuc2l0aXZlOiBmYWxzZSxcbiAgICAgICAgICAgIG51bGxhYmxlOiBmYWxzZVxuICAgICAgICB9KS52YWx1ZTtcblxuICAgICAgICBjb25zdCByZyA9IG5ldyBSZXNvdXJjZUdyb3VwKHRoaXMsICdyZycsIHtcbiAgICAgICAgICAgIGxvY2F0aW9uLFxuICAgICAgICAgICAgbmFtZTogJ2doYS1ydW5uZXItcmcnLFxuICAgICAgICAgICAgbGlmZWN5Y2xlOiB7XG4gICAgICAgICAgICAgICAgaWdub3JlQ2hhbmdlczogW1xuICAgICAgICAgICAgICAgICAgICAndGFncydcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJhbmRvbSA9IG5ldyBTdHJpbmdSZXNvdXJjZSh0aGlzLCAncmFuZG9tU3VmZml4Jywge1xuICAgICAgICAgICAgbGVuZ3RoOiA2LFxuICAgICAgICAgICAgc3BlY2lhbDogZmFsc2UsXG4gICAgICAgICAgICB1cHBlcjogZmFsc2UsXG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgYWNyID0gbmV3IENvbnRhaW5lclJlZ2lzdHJ5KHRoaXMsICdhY3InLCB7XG4gICAgICAgICAgICBsb2NhdGlvbixcbiAgICAgICAgICAgIG5hbWU6IGBydW5uZXJhY3Ike3JhbmRvbS5yZXN1bHR9YCxcbiAgICAgICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZy5uYW1lLFxuICAgICAgICAgICAgc2t1OiAnQmFzaWMnLFxuICAgICAgICAgICAgbGlmZWN5Y2xlOiB7XG4gICAgICAgICAgICAgICAgaWdub3JlQ2hhbmdlczogW1xuICAgICAgICAgICAgICAgICAgICAndGFncydcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIHVzZSBjYWNoaW5nIGZvciBpbWFnZXNcbiAgICAgICAgY29uc3QgcnVubmVyQ2FjaGUgPSBuZXcgUmVzb3VyY2UodGhpcywgJ3J1bm5lckNhY2hlJywge1xuICAgICAgICAgICAgdHlwZTogJ01pY3Jvc29mdC5Db250YWluZXJSZWdpc3RyeS9yZWdpc3RyaWVzL2NhY2hlUnVsZXNAMjAyMy0wMS0wMS1wcmV2aWV3JyxcbiAgICAgICAgICAgIHBhcmVudElkOiBhY3IuaWQsXG4gICAgICAgICAgICBuYW1lOiAncm9vdC1ydW5uZXItY2FjaGUnLFxuICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlUmVwb3NpdG9yeTogJ2doY3IuaW8vaGktZmkvcm9vdC1hY3Rpb25zLXJ1bm5lcicsXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFJlcG9zaXRvcnk6ICdyb290LWFjdGlvbnMtcnVubmVyJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBhdXRvc2NhbGVyQ2FjaGUgPSBuZXcgUmVzb3VyY2UodGhpcywgJ2F1dG9zY2FsZXJDYWNoZScsIHtcbiAgICAgICAgICAgIHR5cGU6ICdNaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9jYWNoZVJ1bGVzQDIwMjMtMDEtMDEtcHJldmlldycsXG4gICAgICAgICAgICBwYXJlbnRJZDogYWNyLmlkLFxuICAgICAgICAgICAgbmFtZTogJ2F1dG9zY2FsZXItY2FjaGUnLFxuICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlUmVwb3NpdG9yeTogJ2doY3IuaW8vaGktZmkvZ2hhLXJ1bm5lcnMtb24tbWFuYWdlZC1lbnYnLFxuICAgICAgICAgICAgICAgICAgICB0YXJnZXRSZXBvc2l0b3J5OiAnYXV0b3NjYWxlcidcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgaWRlbnRpdHkgPSBuZXcgVXNlckFzc2lnbmVkSWRlbnRpdHkodGhpcywgJ2lkZW50aXR5Jywge1xuICAgICAgICAgICAgbG9jYXRpb24sXG4gICAgICAgICAgICBuYW1lOiAnYWNhLWFjci1hY2Nlc3MnLFxuICAgICAgICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJnLm5hbWUsXG4gICAgICAgICAgICBsaWZlY3ljbGU6IHtcbiAgICAgICAgICAgICAgICBpZ25vcmVDaGFuZ2VzOiBbXG4gICAgICAgICAgICAgICAgICAgICd0YWdzJ1xuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgbmV3IFJvbGVBc3NpZ25tZW50KHRoaXMsICdyb2xlQXNzaWdubWVudCcsIHtcbiAgICAgICAgICAgIHByaW5jaXBhbElkOiBpZGVudGl0eS5wcmluY2lwYWxJZCxcbiAgICAgICAgICAgIHNjb3BlOiBhY3IuaWQsXG4gICAgICAgICAgICByb2xlRGVmaW5pdGlvbk5hbWU6ICdBY3JQdWxsJ1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBsb2cgPSBuZXcgTG9nQW5hbHl0aWNzV29ya3NwYWNlKHRoaXMsICdsb2cnLCB7XG4gICAgICAgICAgICBsb2NhdGlvbixcbiAgICAgICAgICAgIG5hbWU6ICdnaGEtZXhhbXBsZS1sb2dzJyxcbiAgICAgICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZy5uYW1lLFxuICAgICAgICAgICAgbGlmZWN5Y2xlOiB7XG4gICAgICAgICAgICAgICAgaWdub3JlQ2hhbmdlczogW1xuICAgICAgICAgICAgICAgICAgICAndGFncydcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3Qgc3RvcmFnZUFjY291bnQgPSBuZXcgUmVzb3VyY2UodGhpcywgJ3N0b3JhZ2VBY2NvdW50Jywge1xuICAgICAgICAgICAgdHlwZTogJ01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50c0AyMDIzLTAxLTAxJyxcbiAgICAgICAgICAgIHBhcmVudElkOiByZy5pZCxcbiAgICAgICAgICAgIGxvY2F0aW9uLFxuICAgICAgICAgICAgbmFtZTogYGdoYXN0b3JhZ2VhY2NvdW50JHtyYW5kb20ucmVzdWx0fWAsXG4gICAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICBsYXJnZUZpbGVTaGFyZXNTdGF0ZTogJ0VuYWJsZWQnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBza3U6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ1N0YW5kYXJkX0xSUydcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGtpbmQ6ICdTdG9yYWdlVjInLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxpZmVjeWNsZToge1xuICAgICAgICAgICAgICAgIGlnbm9yZUNoYW5nZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgJ3RhZ3MnXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlc3BvbnNlRXhwb3J0VmFsdWVzOiBbXG5cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgc3RvcmFnZVNoYXJlID0gbmV3IFJlc291cmNlKHRoaXMsICdzdG9yYWdlU2hhcmUnLCB7XG4gICAgICAgICAgICB0eXBlOiAnTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL2ZpbGVTZXJ2aWNlcy9zaGFyZXNAMjAyMy0wMS0wMScsXG4gICAgICAgICAgICBuYW1lOiAnZ2hhZXhhbXBsZXNoYXJlJyxcbiAgICAgICAgICAgIHBhcmVudElkOiBgJHtzdG9yYWdlQWNjb3VudC5pZH0vZmlsZVNlcnZpY2VzL2RlZmF1bHRgLFxuICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlZFByb3RvY29sczogJ1NNQicsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgZXh0ZXJuYWxzU2hhcmUgPSBuZXcgUmVzb3VyY2UodGhpcywgJ2V4dGVybmFsc1NoYXJlJywge1xuICAgICAgICAgICAgdHlwZTogJ01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9maWxlU2VydmljZXMvc2hhcmVzQDIwMjMtMDEtMDEnLFxuICAgICAgICAgICAgbmFtZTogJ2doYWV4dGVybmFsc3NoYXJlJyxcbiAgICAgICAgICAgIHBhcmVudElkOiBgJHtzdG9yYWdlQWNjb3VudC5pZH0vZmlsZVNlcnZpY2VzL2RlZmF1bHRgLFxuICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlZFByb3RvY29sczogJ1NNQicsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgZW52aXJvbm1lbnQgPSBuZXcgUmVzb3VyY2UodGhpcywgJ2FjYWVudicsIHtcbiAgICAgICAgICAgIHR5cGU6ICdNaWNyb3NvZnQuQXBwL21hbmFnZWRFbnZpcm9ubWVudHNAMjAyNC0wMy0wMScsXG4gICAgICAgICAgICBwYXJlbnRJZDogcmcuaWQsXG4gICAgICAgICAgICBsb2NhdGlvbixcbiAgICAgICAgICAgIG5hbWU6ICdnaGEtcnVubmVyLWVudmlyb25tZW50JyxcbiAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgIGFwcExvZ3NDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbjogJ2xvZy1hbmFseXRpY3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9nQW5hbHl0aWNzQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbWVySWQ6IGxvZy53b3Jrc3BhY2VJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZWRLZXk6IGxvZy5wcmltYXJ5U2hhcmVkS2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBpbmZyYXN0cnVjdHVyZVJlc291cmNlR3JvdXA6ICdtYW5hZ2VkLWFjYS1yZycsXG4gICAgICAgICAgICAgICAgICAgIHdvcmtsb2FkUHJvZmlsZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnQ29uc3VtcHRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtsb2FkUHJvZmlsZVR5cGU6ICdDb25zdW1wdGlvbidcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsaWZlY3ljbGU6IHtcbiAgICAgICAgICAgICAgICBpZ25vcmVDaGFuZ2VzOiBbXG4gICAgICAgICAgICAgICAgICAgICd0YWdzJ1xuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgc3RvcmFnZUFjY2Vzc0tleSA9IG5ldyBEYXRhQXphcGlSZXNvdXJjZUFjdGlvbih0aGlzLCAnc3RvcmFnZUFjY2Vzc0tleXMnLCB7XG4gICAgICAgICAgICB0eXBlOiAnTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzQDIwMjMtMDEtMDEnLFxuICAgICAgICAgICAgYWN0aW9uOiAnbGlzdEtleXMnLFxuICAgICAgICAgICAgcmVzb3VyY2VJZDogc3RvcmFnZUFjY291bnQuaWQsXG4gICAgICAgICAgICByZXNwb25zZUV4cG9ydFZhbHVlczogWycqJ10sXG4gICAgICAgICAgICBkZXBlbmRzT246IFtcbiAgICAgICAgICAgICAgICBzdG9yYWdlQWNjb3VudFxuICAgICAgICAgICAgXVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0tY2RrL2lzc3Vlcy8xNjQxXG4gICAgICAgIC8vIEZvciBvbGRlciBBemFwaSB3YXkgdG8gZ2V0IGtleSB3b3VsZCBiZSB0aGlzIHdoZW4gKGRlZmF1bHQpIGRhdGEgb3V0cHV0IHdhcyBqc29uLiBXaXRuIDIuMC4wLWJldGEgZGVmYXVsdCB3YXMgY2hhbmdlZCB0byBIQ0xcbiAgICAgICAgLy8gY29uc3QgYWNjZXNzS2V5ID0gRm4ubG9va3VwKEZuLmVsZW1lbnQoRm4ubG9va3VwKEZuLmpzb25kZWNvZGUoc3RvcmFnZUFjY2Vzc0tleS5vdXRwdXQgYXMgYW55KSwgJ2tleXMnKSwgMCksICd2YWx1ZScpXG5cbiAgICAgICAgY29uc3QgYWNjZXNzS2V5ID0gRm4ubG9va3VwKEZuLmVsZW1lbnQoRm4uZWxlbWVudChzdG9yYWdlQWNjZXNzS2V5Lm91dHB1dC5sb29rdXAoJzAnKSwgMCksIDApLCAndmFsdWUnKVxuXG4gICAgICAgIGNvbnN0IGFjYUVudlN0b3JhZ2UgPSBuZXcgQ29udGFpbmVyQXBwRW52aXJvbm1lbnRTdG9yYWdlKHRoaXMsICdhY2FlbnZzdG9yYWdlJywge1xuICAgICAgICAgICAgbmFtZTogJ2doYXJ1bm5lcmpvYnN0b3JhZ2UnLFxuICAgICAgICAgICAgYWNjZXNzS2V5LFxuICAgICAgICAgICAgYWNjZXNzTW9kZTogJ1JlYWRXcml0ZScsXG4gICAgICAgICAgICBhY2NvdW50TmFtZTogc3RvcmFnZUFjY291bnQubmFtZSxcbiAgICAgICAgICAgIGNvbnRhaW5lckFwcEVudmlyb25tZW50SWQ6IGVudmlyb25tZW50LmlkLFxuICAgICAgICAgICAgc2hhcmVOYW1lOiBzdG9yYWdlU2hhcmUubmFtZSxcbiAgICAgICAgICAgIGRlcGVuZHNPbjogW1xuICAgICAgICAgICAgICAgIC8vIE5hbWUgZG9lc24ndCBjcmVhdGUgZGVwZW5kc09uIHJlcXVpcmVtZW50LCBzbyBhZGRpbmcgdGhhdCBleHBsaWNpdGx5XG4gICAgICAgICAgICAgICAgc3RvcmFnZVNoYXJlXG4gICAgICAgICAgICBdIFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBhY2FFeHRlcm5hbFN0b3JhZ2UgPSBuZXcgQ29udGFpbmVyQXBwRW52aXJvbm1lbnRTdG9yYWdlKHRoaXMsICdhY2FleHRlcm5hbHN0b3JhZ2UnLCB7XG4gICAgICAgICAgICBuYW1lOiAnZ2hhcnVubmVyZXh0ZXJuYWxzdG9yYWdlJyxcbiAgICAgICAgICAgIGFjY2Vzc0tleSxcbiAgICAgICAgICAgIGFjY2Vzc01vZGU6ICdSZWFkV3JpdGUnLFxuICAgICAgICAgICAgYWNjb3VudE5hbWU6IHN0b3JhZ2VBY2NvdW50Lm5hbWUsXG4gICAgICAgICAgICBjb250YWluZXJBcHBFbnZpcm9ubWVudElkOiBlbnZpcm9ubWVudC5pZCxcbiAgICAgICAgICAgIHNoYXJlTmFtZTogZXh0ZXJuYWxzU2hhcmUubmFtZSxcbiAgICAgICAgICAgIGRlcGVuZHNPbjogW1xuICAgICAgICAgICAgICAgIC8vIE5hbWUgZG9lc24ndCBjcmVhdGUgZGVwZW5kc09uIHJlcXVpcmVtZW50LCBzbyBhZGRpbmcgdGhhdCBleHBsaWNpdGx5XG4gICAgICAgICAgICAgICAgZXh0ZXJuYWxzU2hhcmVcbiAgICAgICAgICAgIF0gXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJ1bm5lclZvbHVtZU5hbWUgPSAnd29yaydcbiAgICAgICAgY29uc3QgZXh0ZXJuYWxWb2x1bWVOYW1lID0gJ2V4dGVybmFscydcblxuICAgICAgICAvKipcbiAgICAgICAgICogQHNlZSBodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvdGVtcGxhdGVzL21pY3Jvc29mdC5hcHAvam9icz9waXZvdHM9ZGVwbG95bWVudC1sYW5ndWFnZS10ZXJyYWZvcm1cbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IGdoYVJ1bm5lckpvYiA9IG5ldyBSZXNvdXJjZSh0aGlzLCAnZ2hhUnVubmVySm9iJywge1xuICAgICAgICAgICAgdHlwZTogJ01pY3Jvc29mdC5BcHAvam9ic0AyMDI0LTAyLTAyLXByZXZpZXcnLFxuICAgICAgICAgICAgaWRlbnRpdHk6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdVc2VyQXNzaWduZWQnLFxuICAgICAgICAgICAgICAgICAgICBpZGVudGl0eUlkczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHkuaWRcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBuYW1lOiAnZ2hhLXJ1bm5lci1qb2ItMDEnLFxuICAgICAgICAgICAgcGFyZW50SWQ6IHJnLmlkLFxuICAgICAgICAgICAgbG9jYXRpb24sXG4gICAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYW51YWxUcmlnZ2VyQ29uZmlnOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYWxsZWxpc206IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGljYUNvbXBsZXRpb25Db3VudDogMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyVHlwZTogJ01hbnVhbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXBsaWNhVGltZW91dDogMTIwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJpZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiBpZGVudGl0eS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyOiBhY3IubG9naW5TZXJ2ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudElkOiBlbnZpcm9ubWVudC5pZCxcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1OiAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5OiAnMkdpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSGF2ZSB0byB1c2UgY3VzdG9tIGltYWdlIGFzIHdlIHdhbnQgdG8gcnVuIHNlcnZpY2UgYXMgcm9vdCB0byBiZSBhYmxlIHRvIGluc3RhbGwgcGFja2FnZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IGAke2Fjci5sb2dpblNlcnZlcn0vcm9vdC1hY3Rpb25zLXJ1bm5lcjpsYXRlc3RgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnbWFpbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IFsnL2Jpbi9zaCcsICctYycsICdleHBvcnQgRVhFQ0lEPSQoY2F0IC9wcm9jL3N5cy9rZXJuZWwvcmFuZG9tL3V1aWQpICYmIG1rZGlyIC1wIC90bXAvX3dvcmsvJEVYRUNJRCAmJiBsbiAtcyAvdG1wL193b3JrLyRFWEVDSUQgX3dvcmsgJiYgL2hvbWUvcnVubmVyL3J1bi5zaCA7IHJtIC1yIC90bXAvX3dvcmsvJEVYRUNJRCddLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2x1bWVNb3VudHM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3VudFBhdGg6ICcvdG1wL193b3JrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2x1bWVOYW1lOiBydW5uZXJWb2x1bWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3VudFBhdGg6ICcvdG1wL2V4dGVybmFscycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9sdW1lTmFtZTogZXh0ZXJuYWxWb2x1bWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvYXp1cmUtY29udGFpbmVyLWFwcHMvaXNzdWVzLzUwMiNpc3N1ZWNvbW1lbnQtMTM0MDIyNTQzOFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdBUFBTRVRUSU5HX1dFQlNJVEVfU0lURV9OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ2lkZW50aXR5LXdvcmthcm91bmQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9henVyZS1jb250YWluZXItYXBwcy9pc3N1ZXMvNDQyI2lzc3VlY29tbWVudC0xNjY1NjIxMDMxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0FaVVJFX0NMSUVOVF9JRCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGlkZW50aXR5LmNsaWVudElkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdSR19OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmcubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnTE9HX0lEJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbG9nLndvcmtzcGFjZUlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdTVE9SQUdFX05BTUUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBhY2FFbnZTdG9yYWdlLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0VYVEVSTkFMX1NUT1JBR0VfTkFNRScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGFjYUV4dGVybmFsU3RvcmFnZS5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdTVUJTQ1JJUFRJT05fSUQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzdWIuc3Vic2NyaXB0aW9uSWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0FDQV9FTlZJUk9OTUVOVF9JRCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGVudmlyb25tZW50LmlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICB2b2x1bWVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBydW5uZXJWb2x1bWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlTmFtZTogYWNhRW52U3RvcmFnZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlVHlwZTogJ0F6dXJlRmlsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdW50T3B0aW9uczogJ21mc3ltbGlua3MnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGV4dGVybmFsVm9sdW1lTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZU5hbWU6IGFjYUV4dGVybmFsU3RvcmFnZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlVHlwZTogJ0F6dXJlRmlsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdW50T3B0aW9uczogJ21mc3ltbGlua3MnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlcGVuZHNPbjogW1xuICAgICAgICAgICAgICAgIHJ1bm5lckNhY2hlXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgbGlmZWN5Y2xlOiB7XG4gICAgICAgICAgICAgICAgaWdub3JlQ2hhbmdlczogW1xuICAgICAgICAgICAgICAgICAgICAndGFncydcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGF1dG9zY2FsZXJBcHAgPSBuZXcgQ29udGFpbmVyQXBwKHRoaXMsICdhdXRvc2NhbGVyQXBwJywge1xuICAgICAgICAgICAgY29udGFpbmVyQXBwRW52aXJvbm1lbnRJZDogZW52aXJvbm1lbnQuaWQsXG4gICAgICAgICAgICBuYW1lOiAnYXV0b3NjYWxlci1hcHAtMDEnLFxuICAgICAgICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJnLm5hbWUsXG4gICAgICAgICAgICByZXZpc2lvbk1vZGU6ICdTaW5nbGUnLFxuICAgICAgICAgICAgaWRlbnRpdHk6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnU3lzdGVtQXNzaWduZWQsIFVzZXJBc3NpZ25lZCcsXG4gICAgICAgICAgICAgICAgaWRlbnRpdHlJZHM6IFtcbiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHkuaWRcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2VjcmV0OiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAncGF0JyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHBhdC52YWx1ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICByZWdpc3RyeTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6IGlkZW50aXR5LmlkLFxuICAgICAgICAgICAgICAgICAgICBzZXJ2ZXI6IGFjci5sb2dpblNlcnZlclxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB0ZW1wbGF0ZToge1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lcjogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBDUFUgYW5kIE1lbW9yeSBjYW4gYmUgbG93ZXIgd2l0aCB3b3JrbG9hZCBwcm9maWxlXG4gICAgICAgICAgICAgICAgICAgICAgICBjcHU6IDAuMjUsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnk6ICcwLjVHaScsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogYCR7YWNyLmxvZ2luU2VydmVyfS9hdXRvc2NhbGVyOnRlc3RgLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2F1dG9zY2FsZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW52OiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnUEFUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjcmV0TmFtZTogJ3BhdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdHSVRIVUJfQ09ORklHX1VSTCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBnaXRodWJDb25maWdVcmwudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0FaVVJFX1RFTkFOVF9JRCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzdWIudGVuYW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdTVUJTQ1JJUFRJT05fSUQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc3ViLnN1YnNjcmlwdGlvbklkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdSRVNPVVJDRV9HUk9VUF9OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHJnLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0pPQl9OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGdoYVJ1bm5lckpvYi5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdTQ0FMRV9TRVRfTkFNRScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnYWNhLXJ1bm5lci1zZXQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZXBlbmRzT246IFtcbiAgICAgICAgICAgICAgICBhdXRvc2NhbGVyQ2FjaGVcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsaWZlY3ljbGU6IHtcbiAgICAgICAgICAgICAgICBpZ25vcmVDaGFuZ2VzOiBbXG4gICAgICAgICAgICAgICAgICAgICd0YWdzJyxcbiAgICAgICAgICAgICAgICAgICAgJ3dvcmtsb2FkX3Byb2ZpbGVfbmFtZSdcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvYXp1cmUtY29udGFpbmVyLWFwcHMvaXNzdWVzLzEwMjRcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IHJvbGUgPSBuZXcgUm9sZURlZmluaXRpb24odGhpcywgJ2pvYlJvbGUnLCB7XG4gICAgICAgICAgICBuYW1lOiBgZ2hhLWV4YW1wbGUtcmV2aXNpb24tc3RhcnQtcm9sZS0ke3JhbmRvbS5yZXN1bHR9YCxcbiAgICAgICAgICAgIHNjb3BlOiBzdWIuaWQsXG4gICAgICAgICAgICBwZXJtaXNzaW9uczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgJ21pY3Jvc29mdC5hcHAvam9icy9zdGFydC9hY3Rpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ21pY3Jvc29mdC5hcHAvam9icy9zdG9wL2FjdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAnbWljcm9zb2Z0LmFwcC9qb2JzL3JlYWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ21pY3Jvc29mdC5hcHAvam9icy9leGVjdXRpb25zL3JlYWQnLFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBqb2JDcmVhdGlvblJvbGUgPSBuZXcgUm9sZURlZmluaXRpb24odGhpcywgJ2pvYkNyZWF0aW9uUm9sZScsIHtcbiAgICAgICAgICAgIG5hbWU6IGBnaGEtZXhhbXBsZS1yZXZpc2lvbi1jcmVhdGUtcm9sZS0ke3JhbmRvbS5yZXN1bHR9YCxcbiAgICAgICAgICAgIHNjb3BlOiBzdWIuaWQsXG4gICAgICAgICAgICBwZXJtaXNzaW9uczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgJ21pY3Jvc29mdC5hcHAvam9icy9zdGFydC9hY3Rpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ21pY3Jvc29mdC5hcHAvam9icy9zdG9wL2FjdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAnbWljcm9zb2Z0LmFwcC9qb2JzL3JlYWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ21pY3Jvc29mdC5hcHAvam9icy93cml0ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnbWljcm9zb2Z0LmFwcC9qb2JzL2V4ZWN1dGlvbnMvcmVhZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnbWljcm9zb2Z0LmFwcC9tYW5hZ2VkRW52aXJvbm1lbnRzL2pvaW4vYWN0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdtaWNyb3NvZnQuYXBwL2pvYnMvZGVsZXRlJyAvLyBjbGVhbnVwIGZvciBqb2JzXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9KVxuXG4gICAgICAgIC8vIEFsbG93IGF1dG9zY2FsZXIgdG8gY3JlYXRlIG5ldyByZXZpc2lvbiBvZiBhcHBcbiAgICAgICAgbmV3IFJvbGVBc3NpZ25tZW50KHRoaXMsICdzY2FsZUpvYlJvbGVBc3NpZ25tZW50Jywge1xuICAgICAgICAgICAgcHJpbmNpcGFsSWQ6IGF1dG9zY2FsZXJBcHAuaWRlbnRpdHkucHJpbmNpcGFsSWQsXG4gICAgICAgICAgICBzY29wZTogZ2hhUnVubmVySm9iLmlkLFxuICAgICAgICAgICAgcm9sZURlZmluaXRpb25JZDogcm9sZS5yb2xlRGVmaW5pdGlvblJlc291cmNlSWRcbiAgICAgICAgfSlcblxuICAgICAgICAvLyBBbGxvdyBydW5uZXIgdG8gc3RhcnQgdGhlIGpvYi4gQXMgZWFjaCBvbmUgY3JlYXRlZCBuZXcgam9iLCBoYXZlIHRvIGdpdmUgdG8gUkcgbGV2ZWwuXG4gICAgICAgIG5ldyBSb2xlQXNzaWdubWVudCh0aGlzLCAnYWN0aW9uQ29udGFpbmVyU3RhcnRSb2xlQXNzaWdubWVudCcsIHtcbiAgICAgICAgICAgIHByaW5jaXBhbElkOiBpZGVudGl0eS5wcmluY2lwYWxJZCxcbiAgICAgICAgICAgIHNjb3BlOiByZy5pZCxcbiAgICAgICAgICAgIHJvbGVEZWZpbml0aW9uSWQ6IGpvYkNyZWF0aW9uUm9sZS5yb2xlRGVmaW5pdGlvblJlc291cmNlSWRcbiAgICAgICAgfSlcblxuICAgICAgICBuZXcgUm9sZUFzc2lnbm1lbnQodGhpcywgJ2ltYWdlUHVzaFJvbGVBc3NpZ25tZW50Jywge1xuICAgICAgICAgICAgcHJpbmNpcGFsSWQ6IGlkZW50aXR5LnByaW5jaXBhbElkLFxuICAgICAgICAgICAgc2NvcGU6IGFjci5pZCxcbiAgICAgICAgICAgIHJvbGVEZWZpbml0aW9uTmFtZTogJ0FjclB1c2gnXG4gICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBSb2xlQXNzaWdubWVudCh0aGlzLCAnam9iTG9nUmVhZEFzc2lnbm1lbnQnLCB7XG4gICAgICAgICAgICBwcmluY2lwYWxJZDogaWRlbnRpdHkucHJpbmNpcGFsSWQsXG4gICAgICAgICAgICBzY29wZTogbG9nLmlkLFxuICAgICAgICAgICAgcm9sZURlZmluaXRpb25OYW1lOiAnTG9nIEFuYWx5dGljcyBSZWFkZXInXG4gICAgICAgIH0pXG4gICAgfVxufSJdfQ==
|
package/lib/lib/gcp.js
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
"use strict";
|
2
|
+
var _a;
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
4
|
exports.Gcp = void 0;
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
4
6
|
const cdktf_1 = require("cdktf");
|
5
7
|
const constructs_1 = require("constructs");
|
6
8
|
const provider_1 = require("@cdktf/provider-google/lib/provider");
|
@@ -244,4 +246,6 @@ class Gcp extends constructs_1.Construct {
|
|
244
246
|
}
|
245
247
|
}
|
246
248
|
exports.Gcp = Gcp;
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2NwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9nY3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQXVDO0FBQ3ZDLDJDQUF1QztBQUN2QyxrRUFBb0U7QUFDcEUsMEdBQXFHO0FBQ3JHLGtGQUE0RTtBQUM1RSxnR0FBMEY7QUFDMUYsZ0ZBQTRFO0FBQzVFLHNGQUFpRjtBQUNqRiwyQ0FBOEM7QUFDOUMsb0ZBQStFO0FBQy9FLGdFQUFpRTtBQUNqRSxnRUFBNEQ7QUFFNUQsTUFBYSxHQUFJLFNBQVEsc0JBQVM7SUFDOUIsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDcEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUM7UUFDakMsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUM7UUFFckMsSUFBSSx5QkFBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDL0IsT0FBTztZQUNQLE1BQU0sRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQztRQUVILElBQUksdUJBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFFOUIsTUFBTSxFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsR0FBRyxJQUFBLDJCQUFlLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSx5REFBMEIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzlELE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxtQkFBbUI7WUFDekIsWUFBWSxFQUFFLGlCQUFpQjtZQUMvQixXQUFXLEVBQUUsMkRBQTJEO1lBQ3hFLHNCQUFzQixFQUFFO2dCQUNwQixnQkFBZ0IsRUFBRTtvQkFDZCxnQkFBZ0IsRUFBRTt3QkFDZCxHQUFHLEVBQUUsaUJBQWlCO3FCQUN6QjtpQkFDSjthQUNKO1NBQ0osQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFL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S0FBSyxFQUFFLGVBQWUsQ0FBQyxLQUFLO2lDQUMvQjtnQ0FDRDtvQ0FDSSxJQUFJLEVBQUUsVUFBVTtvQ0FDaEIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJO2lDQUN4QjtnQ0FDRDtvQ0FDSSxJQUFJLEVBQUUsZ0JBQWdCO29DQUN0QixLQUFLLEVBQUUsZUFBZTtpQ0FDekI7Z0NBQ0Q7b0NBQ0ksSUFBSSxFQUFFLHFCQUFxQjtvQ0FDM0IsS0FBSyxFQUFFLFFBQVE7aUNBQ2xCO2dDQUNEO29DQUNJLElBQUksRUFBRSxzQkFBc0I7b0NBQzVCLEtBQUssRUFBRSxPQUFPO2lDQUNqQjs2QkFFSjs0QkFDRCxTQUFTLEVBQUU7Z0NBQ1AsdUZBQXVGO2dDQUN2RixNQUFNLEVBQUU7b0NBQ0osR0FBRyxFQUFFLE9BQU87b0NBQ1osTUFBTSxFQUFFLE9BQU87aUNBQ2xCOzZCQUNKO3lCQUNKO3FCQUNKO29CQUNELGtCQUFrQixFQUFFLFlBQVksQ0FBQyxLQUFLO2lCQUN6QzthQUNKO1NBQ0osQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKO0FBN1BELGtCQTZQQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlcnJhZm9ybUxvY2FsIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgR29vZ2xlUHJvdmlkZXIgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItZ29vZ2xlL2xpYi9wcm92aWRlcidcbmltcG9ydCB7IEFydGlmYWN0UmVnaXN0cnlSZXBvc2l0b3J5IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1nb29nbGUvbGliL2FydGlmYWN0LXJlZ2lzdHJ5LXJlcG9zaXRvcnlcIjtcbmltcG9ydCB7IENsb3VkUnVuVjJKb2IgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWdvb2dsZS9saWIvY2xvdWQtcnVuLXYyLWpvYlwiO1xuaW1wb3J0IHsgUHJvamVjdElhbUN1c3RvbVJvbGUgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWdvb2dsZS9saWIvcHJvamVjdC1pYW0tY3VzdG9tLXJvbGVcIjtcbmltcG9ydCB7IFNlcnZpY2VBY2NvdW50IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1nb29nbGUvbGliL3NlcnZpY2UtYWNjb3VudFwiO1xuaW1wb3J0IHsgUHJvamVjdElhbU1lbWJlciB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItZ29vZ2xlL2xpYi9wcm9qZWN0LWlhbS1tZW1iZXJcIjtcbmltcG9ydCB7IGNvbW1vblZhcmlhYmxlcyB9IGZyb20gXCIuL3ZhcmlhYmxlc1wiO1xuaW1wb3J0IHsgQ2xvdWRSdW5TZXJ2aWNlIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1nb29nbGUvbGliL2Nsb3VkLXJ1bi1zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOdWxsUHJvdmlkZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLW51bGwvbGliL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJ0BjZGt0Zi9wcm92aWRlci1udWxsL2xpYi9yZXNvdXJjZSdcblxuZXhwb3J0IGNsYXNzIEdjcCBleHRlbmRzIENvbnN0cnVjdCB7XG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgICAgIGNvbnN0IGxvY2F0aW9uID0gJ2V1cm9wZS1ub3J0aDEnO1xuICAgICAgICBjb25zdCBwcm9qZWN0ID0gJ2doYS1ydW5uZXItZXhhbXBsZSc7XG4gICAgICAgIFxuICAgICAgICBuZXcgR29vZ2xlUHJvdmlkZXIodGhpcywgJ2dvb2dsZScsIHtcbiAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICByZWdpb246IGxvY2F0aW9uXG4gICAgICAgIH0pO1xuXG4gICAgICAgIG5ldyBOdWxsUHJvdmlkZXIodGhpcywgJ251bGwnKVxuXG4gICAgICAgIGNvbnN0IHsgcGF0LCBnaXRodWJDb25maWdVcmwgfSA9IGNvbW1vblZhcmlhYmxlcyh0aGlzKTtcblxuICAgICAgICBjb25zdCByZWdpc3RyeSA9IG5ldyBBcnRpZmFjdFJlZ2lzdHJ5UmVwb3NpdG9yeSh0aGlzLCAncmVnaXN0cnknLCB7XG4gICAgICAgICAgICBmb3JtYXQ6ICdET0NLRVInLFxuICAgICAgICAgICAgbW9kZTogJ1JFTU9URV9SRVBPU0lUT1JZJyxcbiAgICAgICAgICAgIHJlcG9zaXRvcnlJZDogJ2doYS1ydW5uZXItdGVzdCcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1JlcG9zaXRvcnkgdG8gaG9zdCBydW4gYW5kIHJlc3VsdGluZyBpbWFnZXMgZnJvbSBHSEEgcnVucycsXG4gICAgICAgICAgICByZW1vdGVSZXBvc2l0b3J5Q29uZmlnOiB7XG4gICAgICAgICAgICAgICAgZG9ja2VyUmVwb3NpdG9yeToge1xuICAgICAgICAgICAgICAgICAgICBjdXN0b21SZXBvc2l0b3J5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmk6ICdodHRwczovL2doY3IuaW8nXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGpvYlNhID0gbmV3IFNlcnZpY2VBY2NvdW50KHRoaXMsICdqb2JTZXJ2aWNlQWNjb3VudCcsIHtcbiAgICAgICAgICAgIGFjY291bnRJZDogJ2doYS1ydW5uZXItam9iLXNhJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgcnVubmVyUm9sZSA9IG5ldyBQcm9qZWN0SWFtQ3VzdG9tUm9sZSh0aGlzLCAncnVubmVyUm9sZScsIHtcbiAgICAgICAgICAgIHJvbGVJZDogJ2doYVJ1bm5lclJvbGUnLFxuICAgICAgICAgICAgdGl0bGU6ICdHSEEgUnVubmVyIFJvbGUnLFxuICAgICAgICAgICAgcGVybWlzc2lvbnM6IFtcbiAgICAgICAgICAgICAgICAnYXJ0aWZhY3RyZWdpc3RyeS5kb2NrZXJpbWFnZXMuZ2V0JyxcbiAgICAgICAgICAgICAgICAnYXJ0aWZhY3RyZWdpc3RyeS5kb2NrZXJpbWFnZXMubGlzdCcsXG4gICAgICAgICAgICAgICAgJ3J1bi5qb2JzLnJ1bicsXG4gICAgICAgICAgICAgICAgJ3J1bi5qb2JzLmNyZWF0ZScsXG4gICAgICAgICAgICAgICAgJ3J1bi5qb2JzLmRlbGV0ZScsXG4gICAgICAgICAgICAgICAgJ3J1bi5qb2JzLmxpc3QnLFxuICAgICAgICAgICAgICAgIC8vIE5lZWRlZCBmb3Igd2FpdGluZ1xuICAgICAgICAgICAgICAgICdydW4uZXhlY3V0aW9ucy5nZXQnLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgam9iUG9saWN5TWVtYmVyID0gbmV3IFRlcnJhZm9ybUxvY2FsKHRoaXMsICdnaGFNZW1iZXInLCBgc2VydmljZUFjY291bnQ6JHtqb2JTYS5lbWFpbH1gKVxuXG4gICAgICAgIG5ldyBQcm9qZWN0SWFtTWVtYmVyKHRoaXMsICdydW5uZXJSb2xlQmluZGluZycsIHtcbiAgICAgICAgICAgIG1lbWJlcjogam9iUG9saWN5TWVtYmVyLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBwcm9qZWN0LFxuICAgICAgICAgICAgcm9sZTogcnVubmVyUm9sZS5pZCxcbiAgICAgICAgfSlcblxuICAgICAgICBuZXcgUHJvamVjdElhbU1lbWJlcih0aGlzLCAncnVubmVyUm9sZUJpbmRpbmdTdG9yYWdlJywge1xuICAgICAgICAgICAgbWVtYmVyOiBqb2JQb2xpY3lNZW1iZXIudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICByb2xlOiAncm9sZXMvc3RvcmFnZS5hZG1pbicsXG4gICAgICAgIH0pXG5cbiAgICAgICAgbmV3IFByb2plY3RJYW1NZW1iZXIodGhpcywgJ3J1bm5lclJvbGVCaW5kaW5nUnVuU2VydmljZUFnZW50Jywge1xuICAgICAgICAgICAgbWVtYmVyOiBqb2JQb2xpY3lNZW1iZXIudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICByb2xlOiAncm9sZXMvcnVuLnNlcnZpY2VBZ2VudCcsXG4gICAgICAgIH0pXG5cbiAgICAgICAgbmV3IFByb2plY3RJYW1NZW1iZXIodGhpcywgJ3J1bm5lclJvbGVCaW5kaW5nUnVuVmlld2VyJywge1xuICAgICAgICAgICAgbWVtYmVyOiBqb2JQb2xpY3lNZW1iZXIudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICByb2xlOiAncm9sZXMvcnVuLnZpZXdlcicsXG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3Qgc3RvcmFnZU5hbWUgPSAnZ2hhLXJ1bm5lci1qb2ItZXh0ZXJuYWxzJztcbiAgICAgICAgY29uc3QgY3JlYXRlQnVja2V0ID0gbmV3IFRlcnJhZm9ybUxvY2FsKHRoaXMsICdidWNrZXRNb2RpZmljYXRpb24nLCBgQ0xPVURTREtfQ09SRV9ESVNBQkxFX1BST01QVFM9MSBnY2xvdWQgYWxwaGEgc3RvcmFnZSBidWNrZXRzIGNyZWF0ZSBnczovLyR7c3RvcmFnZU5hbWV9IC0tcHJvamVjdD0ke3Byb2plY3R9IC0tbG9jYXRpb249JHtsb2NhdGlvbn0gLS11bmlmb3JtLWJ1Y2tldC1sZXZlbC1hY2Nlc3MgLS1lbmFibGUtaGllcmFyY2hpY2FsLW5hbWVzcGFjZWApXG5cbiAgICAgICAgLy8gSGllcmFyY2hpYWwgbmFtZXNwYWNlcyBjYW4ndCBiZSBlbmFibGVkIHdpdGggVGVycmFmb3JtLlxuICAgICAgICBjb25zdCBidWNrZXRDcmVhdGlvbiA9IG5ldyBSZXNvdXJjZSh0aGlzLCAnZ2Nsb3VkJywge1xuICAgICAgICAgICAgcHJvdmlzaW9uZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImxvY2FsLWV4ZWNcIixcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogY3JlYXRlQnVja2V0LmZxblxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgdHJpZ2dlcnM6IHtcbiAgICAgICAgICAgICAgICBmcW46IGNyZWF0ZUJ1Y2tldC5mcW5cbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFRPRE86IGNoZWNrIGNhY2hpbmcgaHR0cHM6Ly9jbG91ZC5nb29nbGUuY29tL2FydGlmYWN0LXJlZ2lzdHJ5L2RvY3MvcHVsbC1jYWNoZWQtZG9ja2VyaHViLWltYWdlc1xuICAgICAgICBjb25zdCBydW5uZXJKb2IgPSBuZXcgQ2xvdWRSdW5WMkpvYih0aGlzLCAnZ2hhSm9iJywge1xuICAgICAgICAgICAgZGVsZXRpb25Qcm90ZWN0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIG5hbWU6ICdnaGEtcnVubmVyLWpvYicsXG4gICAgICAgICAgICBsb2NhdGlvbixcbiAgICAgICAgICAgIHRlbXBsYXRlOiB7XG4gICAgICAgICAgICAgICAgdGVtcGxhdGU6IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiBgJHtyZWdpc3RyeS5sb2NhdGlvbn0tZG9ja2VyLnBrZy5kZXYvJHtwcm9qZWN0fS8ke3JlZ2lzdHJ5LnJlcG9zaXRvcnlJZH0vaGktZmkvYWN0aW9ucy1ydW5uZXI6Y3JgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnQ0xPVURTREtfUlVOX1JFR0lPTicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbG9jYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdHT09HTEVfQ0xPVURfUFJPSkVDVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcHJvamVjdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0VYVEVSTkFMX1NUT1JBR0VfTkFNRScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc3RvcmFnZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZVU0UgbW91bnRzIGRpcmVjdG9yeSBhcyByb290IHdpdGggNzc3IGZvIGRpcmVjdG9yaWVzIGFuZCA1NTUgZm9yIG90aGVyIGZpbGVzLiBBcyBwYXRoIGlzIG93bmVkIGFsd2F5cyBieSByb290LCB1dGltZSBvciBwZXJtaXNzaW9uIGNoYW5nZSBpcyBub3QgcG9zc2libGUuIFRoZXNlIG9wdGlvbnMgcHJldmVudCB0YXIgdG8gdHJ5IHRob3NlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdUQVJfT1BUSU9OUycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJy0tdG91Y2ggLS1uby1vdmVyd3JpdGUtZGlyIC0tbm8tc2FtZS1vd25lcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9sdW1lTW91bnRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdleHRlcm5hbHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW91bnRQYXRoOiAnL2hvbWUvcnVubmVyL193b3JrL2V4dGVybmFscydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZDogWycvaG9tZS9ydW5uZXIvZXBoZW1lcmFsX3J1bm5lci5zaCddLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwdTogJzEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5OiAnMkdpJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgdm9sdW1lczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdleHRlcm5hbHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdjczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWNrZXQ6IHN0b3JhZ2VOYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBtYXhSZXRyaWVzOiAwLFxuICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlQWNjb3VudDogam9iU2EuZW1haWxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGVwZW5kc09uOiBbXG4gICAgICAgICAgICAgICAgYnVja2V0Q3JlYXRpb25cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBhdXRvc2NhbGVyU2EgPSBuZXcgU2VydmljZUFjY291bnQodGhpcywgJ2F1dG9zY2FsZXJTZXJ2aWNlQWNjb3VudCcsIHtcbiAgICAgICAgICAgIGFjY291bnRJZDogJ2F1dG9zY2FsZXItc2EnLFxuICAgICAgICB9KTtcblxuICAgICAgICBuZXcgUHJvamVjdElhbUN1c3RvbVJvbGUodGhpcywgJ2F1dG9zY2FsZXJSb2xlJywge1xuICAgICAgICAgICAgcm9sZUlkOiAnZ2hhQXV0b3NjYWxlclJvbGUnLFxuICAgICAgICAgICAgdGl0bGU6ICdHSEEgQXV0b3NjYWxlciBSb2xlJyxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zOiBbXG4gICAgICAgICAgICAgICAgJ2FydGlmYWN0cmVnaXN0cnkuZG9ja2VyaW1hZ2VzLmdldCcsXG4gICAgICAgICAgICAgICAgJ2FydGlmYWN0cmVnaXN0cnkuZG9ja2VyaW1hZ2VzLmxpc3QnLFxuICAgICAgICAgICAgICAgICdydW4uam9icy5ydW4nLFxuICAgICAgICAgICAgICAgICdydW4uam9icy5jcmVhdGUnLFxuICAgICAgICAgICAgICAgICdydW4uam9icy5kZWxldGUnLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgYXV0b3NjYWxlclBvbGljeU1lbWJlciA9IG5ldyBUZXJyYWZvcm1Mb2NhbCh0aGlzLCAnYXV0b3NjYWxlck1lbWJlcicsIGBzZXJ2aWNlQWNjb3VudDoke2F1dG9zY2FsZXJTYS5lbWFpbH1gKVxuXG4gICAgICAgIC8vIFRPRE86IHJlcGxhY2UgMiBmb2xsb3dpbmcgd2l0aCBtb3JlIHNwZWNpZmljIG9uZXMuXG4gICAgICAgIG5ldyBQcm9qZWN0SWFtTWVtYmVyKHRoaXMsICdhdXRvc2NhbGVyUm9sZUJpbmRpbmdSdW4nLCB7XG4gICAgICAgICAgICBtZW1iZXI6IGF1dG9zY2FsZXJQb2xpY3lNZW1iZXIudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICByb2xlOiAncm9sZXMvcnVuLmRldmVsb3BlcicsXG4gICAgICAgIH0pXG5cblxuICAgICAgICBuZXcgUHJvamVjdElhbU1lbWJlcih0aGlzLCAnYXV0b3NjYWxlclJvbGVCaW5kaW5nU3RvcmFnZScsIHtcbiAgICAgICAgICAgIG1lbWJlcjogYXV0b3NjYWxlclBvbGljeU1lbWJlci50b1N0cmluZygpLFxuICAgICAgICAgICAgcHJvamVjdCxcbiAgICAgICAgICAgIHJvbGU6ICdyb2xlcy9zdG9yYWdlLmFkbWluJyxcbiAgICAgICAgfSlcblxuICAgICAgICBuZXcgUHJvamVjdElhbU1lbWJlcih0aGlzLCAnYXV0b3NjYWxlclJvbGVCaW5kaW5nUnVuU2VydmljZUFnZW50Jywge1xuICAgICAgICAgICAgbWVtYmVyOiBhdXRvc2NhbGVyUG9saWN5TWVtYmVyLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBwcm9qZWN0LFxuICAgICAgICAgICAgcm9sZTogJ3JvbGVzL3J1bi5zZXJ2aWNlQWdlbnQnLFxuICAgICAgICB9KVxuXG4gICAgICAgIG5ldyBDbG91ZFJ1blNlcnZpY2UodGhpcywgJ2F1dG9zY2FsZXJTZXJ2aWNlJywge1xuICAgICAgICAgICAgbG9jYXRpb24sXG4gICAgICAgICAgICBuYW1lOiAnZ2hhLWF1dG9zY2FsZXInLFxuICAgICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgICAgICBhbm5vdGF0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAncnVuLmdvb2dsZWFwaXMuY29tL2luZ3Jlc3MnOiAnaW50ZXJuYWwnLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0ZW1wbGF0ZToge1xuICAgICAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIGFubm90YXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnYXV0b3NjYWxpbmcua25hdGl2ZS5kZXYvbWF4U2NhbGUnOiAnMScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYXV0b3NjYWxpbmcua25hdGl2ZS5kZXYvbWluU2NhbGUnOiAnMScsXG4gICAgICAgICAgICAgICAgICAgICAgICAncnVuLmdvb2dsZWFwaXMuY29tL2NwdS10aHJvdHRsaW5nJzogJ2ZhbHNlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdydW4uZ29vZ2xlYXBpcy5jb20vc3RhcnR1cC1jcHUtYm9vc3QnOiAnZmFsc2UnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNwZWM6IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyQ29uY3VycmVuY3k6IDEsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogYCR7cmVnaXN0cnkubG9jYXRpb259LWRvY2tlci5wa2cuZGV2LyR7cHJvamVjdH0vJHtyZWdpc3RyeS5yZXBvc2l0b3J5SWR9L2hpLWZpL2doYS1ydW5uZXJzLW9uLW1hbmFnZWQtZW52OnRlc3RgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnUEFUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwYXQudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0dJVEhVQl9DT05GSUdfVVJMJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBnaXRodWJDb25maWdVcmwudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0pPQl9OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBydW5uZXJKb2IubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnU0NBTEVfU0VUX05BTUUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdjci1ydW5uZXItc2V0J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnQ0xPVURTREtfUlVOX1JFR0lPTicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0dPT0dMRV9DTE9VRF9QUk9KRUNUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwcm9qZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNlcnZpY2Ugd291bGQgd29yayBmb3IgbXVjaCBsb3dlciwgYnV0IHRoZXNlIGFyZSBtaW5pbXVtIHZhbHVlcyBmb3IgXCJhbHdheXMgb25cIiBtb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0czoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1OiAnMTAwMG0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5OiAnNTEyTWknXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIHNlcnZpY2VBY2NvdW50TmFtZTogYXV0b3NjYWxlclNhLmVtYWlsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cbn1cbiJdfQ==
|
249
|
+
_a = JSII_RTTI_SYMBOL_1;
|
250
|
+
Gcp[_a] = { fqn: "terraform-cdk-serverless-github-actions-runner-controller.Gcp", version: "0.0.2" };
|
251
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2NwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9nY3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpQ0FBdUM7QUFDdkMsMkNBQXVDO0FBQ3ZDLGtFQUFvRTtBQUNwRSwwR0FBcUc7QUFDckcsa0ZBQTRFO0FBQzVFLGdHQUEwRjtBQUMxRixnRkFBNEU7QUFDNUUsc0ZBQWlGO0FBQ2pGLDJDQUE4QztBQUM5QyxvRkFBK0U7QUFDL0UsZ0VBQWlFO0FBQ2pFLGdFQUE0RDtBQUU1RCxNQUFhLEdBQUksU0FBUSxzQkFBUztJQUM5QixZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUNwQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQztRQUNqQyxNQUFNLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQztRQUVyQyxJQUFJLHlCQUFjLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUMvQixPQUFPO1lBQ1AsTUFBTSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSx1QkFBWSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUU5QixNQUFNLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUEsMkJBQWUsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUV2RCxNQUFNLFFBQVEsR0FBRyxJQUFJLHlEQUEwQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDOUQsTUFBTSxFQUFFLFFBQVE7WUFDaEIsSUFBSSxFQUFFLG1CQUFtQjtZQUN6QixZQUFZLEVBQUUsaUJBQWlCO1lBQy9CLFdBQVcsRUFBRSwyREFBMkQ7WUFDeEUsc0JBQXNCLEVBQUU7Z0JBQ3BCLGdCQUFnQixFQUFFO29CQUNkLGdCQUFnQixFQUFFO3dCQUNkLEdBQUcsRUFBRSxpQkFBaUI7cUJBQ3pCO2lCQUNKO2FBQ0o7U0FDSixDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssR0FBRyxJQUFJLGdDQUFjLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFO1lBQ3hELFNBQVMsRUFBRSxtQkFBbUI7U0FDakMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQUcsSUFBSSw4Q0FBb0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQzVELE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsV0FBVyxFQUFFO2dCQUNULG1DQUFtQztnQkFDbkMsb0NBQW9DO2dCQUNwQyxjQUFjO2dCQUNkLGlCQUFpQjtnQkFDakIsaUJBQWlCO2dCQUNqQixlQUFlO2dCQUNmLHFCQUFxQjtnQkFDckIsb0JBQW9CO2FBQ3ZCO1NBQ0osQ0FBQyxDQUFDO1FBRUgsTUFBTSxlQUFlLEdBQUcsSUFBSSxzQkFBYyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBRTlGLElBQUkscUNBQWdCLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFO1lBQzVDLE1BQU0sRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFO1lBQ2xDLE9BQU87WUFDUCxJQUFJLEVBQUUsVUFBVSxDQUFDLEVBQUU7U0FDdEIsQ0FBQyxDQUFBO1FBRUYsSUFBSSxxQ0FBZ0IsQ0FBQyxJQUFJLEVBQUUsMEJBQTBCLEVBQUU7WUFDbkQsTUFBTSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDbEMsT0FBTztZQUNQLElBQUksRUFBRSxxQkFBcUI7U0FDOUIsQ0FBQyxDQUFBO1FBRUYsSUFBSSxxQ0FBZ0IsQ0FBQyxJQUFJLEVBQUUsa0NBQWtDLEVBQUU7WUFDM0QsTUFBTSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDbEMsT0FBTztZQUNQLElBQUksRUFBRSx3QkFBd0I7U0FDakMsQ0FBQyxDQUFBO1FBRUYsSUFBSSxxQ0FBZ0IsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLEVBQUU7WUFDckQsTUFBTSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDbEMsT0FBTztZQUNQLElBQUksRUFBRSxrQkFBa0I7U0FDM0IsQ0FBQyxDQUFBO1FBRUYsTUFBTSxXQUFXLEdBQUcsMEJBQTBCLENBQUM7UUFDL0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxzQkFBYyxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRSw0RUFBNEUsV0FBVyxjQUFjLE9BQU8sZUFBZSxRQUFRLGdFQUFnRSxDQUFDLENBQUE7UUFFeFEsMERBQTBEO1FBQzFELE1BQU0sY0FBYyxHQUFHLElBQUksbUJBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2hELFlBQVksRUFBRTtnQkFDVjtvQkFDSSxJQUFJLEVBQUUsWUFBWTtvQkFDbEIsT0FBTyxFQUFFLFlBQVksQ0FBQyxHQUFHO2lCQUM1QjthQUNKO1lBQ0QsUUFBUSxFQUFFO2dCQUNOLEdBQUcsRUFBRSxZQUFZLENBQUMsR0FBRzthQUN4QjtTQUNKLENBQUMsQ0FBQztRQUVILG1HQUFtRztRQUNuRyxNQUFNLFNBQVMsR0FBRyxJQUFJLGdDQUFhLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNoRCxrQkFBa0IsRUFBRSxLQUFLO1lBQ3pCLElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsUUFBUTtZQUNSLFFBQVEsRUFBRTtnQkFDTixRQUFRLEVBQUU7b0JBQ04sVUFBVSxFQUFFO3dCQUNSOzRCQUNJLEtBQUssRUFBRSxHQUFHLFFBQVEsQ0FBQyxRQUFRLG1CQUFtQixPQUFPLElBQUksUUFBUSxDQUFDLFlBQVksMEJBQTBCOzRCQUN4RyxHQUFHLEVBQUU7Z0NBQ0Q7b0NBQ0ksSUFBSSxFQUFFLHFCQUFxQjtvQ0FDM0IsS0FBSyxFQUFFLFFBQVE7aUNBQ2xCO2dDQUNEO29DQUNJLElBQUksRUFBRSxzQkFBc0I7b0NBQzVCLEtBQUssRUFBRSxPQUFPO2lDQUNqQjtnQ0FDRDtvQ0FDSSxJQUFJLEVBQUUsdUJBQXVCO29DQUM3QixLQUFLLEVBQUUsV0FBVztpQ0FDckI7Z0NBQ0QscU1BQXFNO2dDQUNyTTtvQ0FDSSxJQUFJLEVBQUUsYUFBYTtvQ0FDbkIsS0FBSyxFQUFFLDRDQUE0QztpQ0FDdEQ7NkJBQ0o7NEJBQ0QsWUFBWSxFQUFFO2dDQUNWO29DQUNJLElBQUksRUFBRSxXQUFXO29DQUNqQixTQUFTLEVBQUUsOEJBQThCO2lDQUM1Qzs2QkFDSjs0QkFDRCxPQUFPLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQzs0QkFDN0MsU0FBUyxFQUFFO2dDQUNQLE1BQU0sRUFBRTtvQ0FDSixHQUFHLEVBQUUsR0FBRztvQ0FDUixNQUFNLEVBQUUsS0FBSztpQ0FDaEI7NkJBQ0o7eUJBQ0o7cUJBQ0o7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMOzRCQUNJLElBQUksRUFBRSxXQUFXOzRCQUNqQixHQUFHLEVBQUU7Z0NBQ0QsTUFBTSxFQUFFLFdBQVc7NkJBQ3RCO3lCQUNKO3FCQUNKO29CQUNELFVBQVUsRUFBRSxDQUFDO29CQUNiLGNBQWMsRUFBRSxLQUFLLENBQUMsS0FBSztpQkFDOUI7YUFDSjtZQUNELFNBQVMsRUFBRTtnQkFDUCxjQUFjO2FBQ2pCO1NBQ0osQ0FBQyxDQUFBO1FBRUYsTUFBTSxZQUFZLEdBQUcsSUFBSSxnQ0FBYyxDQUFDLElBQUksRUFBRSwwQkFBMEIsRUFBRTtZQUN0RSxTQUFTLEVBQUUsZUFBZTtTQUM3QixDQUFDLENBQUM7UUFFSCxJQUFJLDhDQUFvQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUM3QyxNQUFNLEVBQUUsbUJBQW1CO1lBQzNCLEtBQUssRUFBRSxxQkFBcUI7WUFDNUIsV0FBVyxFQUFFO2dCQUNULG1DQUFtQztnQkFDbkMsb0NBQW9DO2dCQUNwQyxjQUFjO2dCQUNkLGlCQUFpQjtnQkFDakIsaUJBQWlCO2FBQ3BCO1NBQ0osQ0FBQyxDQUFDO1FBRUgsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLHNCQUFjLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtRQUVuSCxxREFBcUQ7UUFDckQsSUFBSSxxQ0FBZ0IsQ0FBQyxJQUFJLEVBQUUsMEJBQTBCLEVBQUU7WUFDbkQsTUFBTSxFQUFFLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtZQUN6QyxPQUFPO1lBQ1AsSUFBSSxFQUFFLHFCQUFxQjtTQUM5QixDQUFDLENBQUE7UUFHRixJQUFJLHFDQUFnQixDQUFDLElBQUksRUFBRSw4QkFBOEIsRUFBRTtZQUN2RCxNQUFNLEVBQUUsc0JBQXNCLENBQUMsUUFBUSxFQUFFO1lBQ3pDLE9BQU87WUFDUCxJQUFJLEVBQUUscUJBQXFCO1NBQzlCLENBQUMsQ0FBQTtRQUVGLElBQUkscUNBQWdCLENBQUMsSUFBSSxFQUFFLHNDQUFzQyxFQUFFO1lBQy9ELE1BQU0sRUFBRSxzQkFBc0IsQ0FBQyxRQUFRLEVBQUU7WUFDekMsT0FBTztZQUNQLElBQUksRUFBRSx3QkFBd0I7U0FDakMsQ0FBQyxDQUFBO1FBRUYsSUFBSSxtQ0FBZSxDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRTtZQUMzQyxRQUFRO1lBQ1IsSUFBSSxFQUFFLGdCQUFnQjtZQUN0QixRQUFRLEVBQUU7Z0JBQ04sV0FBVyxFQUFFO29CQUNULDRCQUE0QixFQUFFLFVBQVU7aUJBQzNDO2FBQ0o7WUFDRCxRQUFRLEVBQUU7Z0JBQ04sUUFBUSxFQUFFO29CQUNOLFdBQVcsRUFBRTt3QkFDVCxrQ0FBa0MsRUFBRSxHQUFHO3dCQUN2QyxrQ0FBa0MsRUFBRSxHQUFHO3dCQUN2QyxtQ0FBbUMsRUFBRSxPQUFPO3dCQUM1QyxzQ0FBc0MsRUFBRSxPQUFPO3FCQUNsRDtpQkFDSjtnQkFDRCxJQUFJLEVBQUU7b0JBQ0Ysb0JBQW9CLEVBQUUsQ0FBQztvQkFDdkIsVUFBVSxFQUFFO3dCQUNSOzRCQUNJLEtBQUssRUFBRSxHQUFHLFFBQVEsQ0FBQyxRQUFRLG1CQUFtQixPQUFPLElBQUksUUFBUSxDQUFDLFlBQVksd0NBQXdDOzRCQUN0SCxHQUFHLEVBQUU7Z0NBQ0Q7b0NBQ0ksSUFBSSxFQUFFLEtBQUs7b0NBQ1gsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO2lDQUNuQjtnQ0FDRDtvQ0FDSSxJQUFJLEVBQUUsbUJBQW1CO29DQUN6QixLQUFLLEVBQUUsZUFBZSxDQUFDLEtBQUs7aUNBQy9CO2dDQUNEO29DQUNJLElBQUksRUFBRSxVQUFVO29DQUNoQixLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUk7aUNBQ3hCO2dDQUNEO29DQUNJLElBQUksRUFBRSxnQkFBZ0I7b0NBQ3RCLEtBQUssRUFBRSxlQUFlO2lDQUN6QjtnQ0FDRDtvQ0FDSSxJQUFJLEVBQUUscUJBQXFCO29DQUMzQixLQUFLLEVBQUUsUUFBUTtpQ0FDbEI7Z0NBQ0Q7b0NBQ0ksSUFBSSxFQUFFLHNCQUFzQjtvQ0FDNUIsS0FBSyxFQUFFLE9BQU87aUNBQ2pCOzZCQUVKOzRCQUNELFNBQVMsRUFBRTtnQ0FDUCx1RkFBdUY7Z0NBQ3ZGLE1BQU0sRUFBRTtvQ0FDSixHQUFHLEVBQUUsT0FBTztvQ0FDWixNQUFNLEVBQUUsT0FBTztpQ0FDbEI7NkJBQ0o7eUJBQ0o7cUJBQ0o7b0JBQ0Qsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLEtBQUs7aUJBQ3pDO2FBQ0o7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDOztBQTVQTCxrQkE2UEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXJyYWZvcm1Mb2NhbCB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEdvb2dsZVByb3ZpZGVyIH0gZnJvbSAnQGNka3RmL3Byb3ZpZGVyLWdvb2dsZS9saWIvcHJvdmlkZXInXG5pbXBvcnQgeyBBcnRpZmFjdFJlZ2lzdHJ5UmVwb3NpdG9yeSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItZ29vZ2xlL2xpYi9hcnRpZmFjdC1yZWdpc3RyeS1yZXBvc2l0b3J5XCI7XG5pbXBvcnQgeyBDbG91ZFJ1blYySm9iIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1nb29nbGUvbGliL2Nsb3VkLXJ1bi12Mi1qb2JcIjtcbmltcG9ydCB7IFByb2plY3RJYW1DdXN0b21Sb2xlIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1nb29nbGUvbGliL3Byb2plY3QtaWFtLWN1c3RvbS1yb2xlXCI7XG5pbXBvcnQgeyBTZXJ2aWNlQWNjb3VudCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItZ29vZ2xlL2xpYi9zZXJ2aWNlLWFjY291bnRcIjtcbmltcG9ydCB7IFByb2plY3RJYW1NZW1iZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWdvb2dsZS9saWIvcHJvamVjdC1pYW0tbWVtYmVyXCI7XG5pbXBvcnQgeyBjb21tb25WYXJpYWJsZXMgfSBmcm9tIFwiLi92YXJpYWJsZXNcIjtcbmltcG9ydCB7IENsb3VkUnVuU2VydmljZSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItZ29vZ2xlL2xpYi9jbG91ZC1ydW4tc2VydmljZVwiO1xuaW1wb3J0IHsgTnVsbFByb3ZpZGVyIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1udWxsL2xpYi9wcm92aWRlclwiO1xuaW1wb3J0IHsgUmVzb3VyY2UgfSBmcm9tICdAY2RrdGYvcHJvdmlkZXItbnVsbC9saWIvcmVzb3VyY2UnXG5cbmV4cG9ydCBjbGFzcyBHY3AgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgICAgICBjb25zdCBsb2NhdGlvbiA9ICdldXJvcGUtbm9ydGgxJztcbiAgICAgICAgY29uc3QgcHJvamVjdCA9ICdnaGEtcnVubmVyLWV4YW1wbGUnO1xuICAgICAgICBcbiAgICAgICAgbmV3IEdvb2dsZVByb3ZpZGVyKHRoaXMsICdnb29nbGUnLCB7XG4gICAgICAgICAgICBwcm9qZWN0LFxuICAgICAgICAgICAgcmVnaW9uOiBsb2NhdGlvblxuICAgICAgICB9KTtcblxuICAgICAgICBuZXcgTnVsbFByb3ZpZGVyKHRoaXMsICdudWxsJylcblxuICAgICAgICBjb25zdCB7IHBhdCwgZ2l0aHViQ29uZmlnVXJsIH0gPSBjb21tb25WYXJpYWJsZXModGhpcyk7XG5cbiAgICAgICAgY29uc3QgcmVnaXN0cnkgPSBuZXcgQXJ0aWZhY3RSZWdpc3RyeVJlcG9zaXRvcnkodGhpcywgJ3JlZ2lzdHJ5Jywge1xuICAgICAgICAgICAgZm9ybWF0OiAnRE9DS0VSJyxcbiAgICAgICAgICAgIG1vZGU6ICdSRU1PVEVfUkVQT1NJVE9SWScsXG4gICAgICAgICAgICByZXBvc2l0b3J5SWQ6ICdnaGEtcnVubmVyLXRlc3QnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdSZXBvc2l0b3J5IHRvIGhvc3QgcnVuIGFuZCByZXN1bHRpbmcgaW1hZ2VzIGZyb20gR0hBIHJ1bnMnLFxuICAgICAgICAgICAgcmVtb3RlUmVwb3NpdG9yeUNvbmZpZzoge1xuICAgICAgICAgICAgICAgIGRvY2tlclJlcG9zaXRvcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgY3VzdG9tUmVwb3NpdG9yeToge1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJpOiAnaHR0cHM6Ly9naGNyLmlvJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBqb2JTYSA9IG5ldyBTZXJ2aWNlQWNjb3VudCh0aGlzLCAnam9iU2VydmljZUFjY291bnQnLCB7XG4gICAgICAgICAgICBhY2NvdW50SWQ6ICdnaGEtcnVubmVyLWpvYi1zYScsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJ1bm5lclJvbGUgPSBuZXcgUHJvamVjdElhbUN1c3RvbVJvbGUodGhpcywgJ3J1bm5lclJvbGUnLCB7XG4gICAgICAgICAgICByb2xlSWQ6ICdnaGFSdW5uZXJSb2xlJyxcbiAgICAgICAgICAgIHRpdGxlOiAnR0hBIFJ1bm5lciBSb2xlJyxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zOiBbXG4gICAgICAgICAgICAgICAgJ2FydGlmYWN0cmVnaXN0cnkuZG9ja2VyaW1hZ2VzLmdldCcsXG4gICAgICAgICAgICAgICAgJ2FydGlmYWN0cmVnaXN0cnkuZG9ja2VyaW1hZ2VzLmxpc3QnLFxuICAgICAgICAgICAgICAgICdydW4uam9icy5ydW4nLFxuICAgICAgICAgICAgICAgICdydW4uam9icy5jcmVhdGUnLFxuICAgICAgICAgICAgICAgICdydW4uam9icy5kZWxldGUnLFxuICAgICAgICAgICAgICAgICdydW4uam9icy5saXN0JyxcbiAgICAgICAgICAgICAgICAvLyBOZWVkZWQgZm9yIHdhaXRpbmdcbiAgICAgICAgICAgICAgICAncnVuLmV4ZWN1dGlvbnMuZ2V0JyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGpvYlBvbGljeU1lbWJlciA9IG5ldyBUZXJyYWZvcm1Mb2NhbCh0aGlzLCAnZ2hhTWVtYmVyJywgYHNlcnZpY2VBY2NvdW50OiR7am9iU2EuZW1haWx9YClcblxuICAgICAgICBuZXcgUHJvamVjdElhbU1lbWJlcih0aGlzLCAncnVubmVyUm9sZUJpbmRpbmcnLCB7XG4gICAgICAgICAgICBtZW1iZXI6IGpvYlBvbGljeU1lbWJlci50b1N0cmluZygpLFxuICAgICAgICAgICAgcHJvamVjdCxcbiAgICAgICAgICAgIHJvbGU6IHJ1bm5lclJvbGUuaWQsXG4gICAgICAgIH0pXG5cbiAgICAgICAgbmV3IFByb2plY3RJYW1NZW1iZXIodGhpcywgJ3J1bm5lclJvbGVCaW5kaW5nU3RvcmFnZScsIHtcbiAgICAgICAgICAgIG1lbWJlcjogam9iUG9saWN5TWVtYmVyLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBwcm9qZWN0LFxuICAgICAgICAgICAgcm9sZTogJ3JvbGVzL3N0b3JhZ2UuYWRtaW4nLFxuICAgICAgICB9KVxuXG4gICAgICAgIG5ldyBQcm9qZWN0SWFtTWVtYmVyKHRoaXMsICdydW5uZXJSb2xlQmluZGluZ1J1blNlcnZpY2VBZ2VudCcsIHtcbiAgICAgICAgICAgIG1lbWJlcjogam9iUG9saWN5TWVtYmVyLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBwcm9qZWN0LFxuICAgICAgICAgICAgcm9sZTogJ3JvbGVzL3J1bi5zZXJ2aWNlQWdlbnQnLFxuICAgICAgICB9KVxuXG4gICAgICAgIG5ldyBQcm9qZWN0SWFtTWVtYmVyKHRoaXMsICdydW5uZXJSb2xlQmluZGluZ1J1blZpZXdlcicsIHtcbiAgICAgICAgICAgIG1lbWJlcjogam9iUG9saWN5TWVtYmVyLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBwcm9qZWN0LFxuICAgICAgICAgICAgcm9sZTogJ3JvbGVzL3J1bi52aWV3ZXInLFxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IHN0b3JhZ2VOYW1lID0gJ2doYS1ydW5uZXItam9iLWV4dGVybmFscyc7XG4gICAgICAgIGNvbnN0IGNyZWF0ZUJ1Y2tldCA9IG5ldyBUZXJyYWZvcm1Mb2NhbCh0aGlzLCAnYnVja2V0TW9kaWZpY2F0aW9uJywgYENMT1VEU0RLX0NPUkVfRElTQUJMRV9QUk9NUFRTPTEgZ2Nsb3VkIGFscGhhIHN0b3JhZ2UgYnVja2V0cyBjcmVhdGUgZ3M6Ly8ke3N0b3JhZ2VOYW1lfSAtLXByb2plY3Q9JHtwcm9qZWN0fSAtLWxvY2F0aW9uPSR7bG9jYXRpb259IC0tdW5pZm9ybS1idWNrZXQtbGV2ZWwtYWNjZXNzIC0tZW5hYmxlLWhpZXJhcmNoaWNhbC1uYW1lc3BhY2VgKVxuXG4gICAgICAgIC8vIEhpZXJhcmNoaWFsIG5hbWVzcGFjZXMgY2FuJ3QgYmUgZW5hYmxlZCB3aXRoIFRlcnJhZm9ybS5cbiAgICAgICAgY29uc3QgYnVja2V0Q3JlYXRpb24gPSBuZXcgUmVzb3VyY2UodGhpcywgJ2djbG91ZCcsIHtcbiAgICAgICAgICAgIHByb3Zpc2lvbmVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJsb2NhbC1leGVjXCIsXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IGNyZWF0ZUJ1Y2tldC5mcW5cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHRyaWdnZXJzOiB7XG4gICAgICAgICAgICAgICAgZnFuOiBjcmVhdGVCdWNrZXQuZnFuXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBUT0RPOiBjaGVjayBjYWNoaW5nIGh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9hcnRpZmFjdC1yZWdpc3RyeS9kb2NzL3B1bGwtY2FjaGVkLWRvY2tlcmh1Yi1pbWFnZXNcbiAgICAgICAgY29uc3QgcnVubmVySm9iID0gbmV3IENsb3VkUnVuVjJKb2IodGhpcywgJ2doYUpvYicsIHtcbiAgICAgICAgICAgIGRlbGV0aW9uUHJvdGVjdGlvbjogZmFsc2UsXG4gICAgICAgICAgICBuYW1lOiAnZ2hhLXJ1bm5lci1qb2InLFxuICAgICAgICAgICAgbG9jYXRpb24sXG4gICAgICAgICAgICB0ZW1wbGF0ZToge1xuICAgICAgICAgICAgICAgIHRlbXBsYXRlOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogYCR7cmVnaXN0cnkubG9jYXRpb259LWRvY2tlci5wa2cuZGV2LyR7cHJvamVjdH0vJHtyZWdpc3RyeS5yZXBvc2l0b3J5SWR9L2hpLWZpL2FjdGlvbnMtcnVubmVyOmNyYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0NMT1VEU0RLX1JVTl9SRUdJT04nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGxvY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnR09PR0xFX0NMT1VEX1BST0pFQ1QnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHByb2plY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdFWFRFUk5BTF9TVE9SQUdFX05BTUUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHN0b3JhZ2VOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGVVNFIG1vdW50cyBkaXJlY3RvcnkgYXMgcm9vdCB3aXRoIDc3NyBmbyBkaXJlY3RvcmllcyBhbmQgNTU1IGZvciBvdGhlciBmaWxlcy4gQXMgcGF0aCBpcyBvd25lZCBhbHdheXMgYnkgcm9vdCwgdXRpbWUgb3IgcGVybWlzc2lvbiBjaGFuZ2UgaXMgbm90IHBvc3NpYmxlLiBUaGVzZSBvcHRpb25zIHByZXZlbnQgdGFyIHRvIHRyeSB0aG9zZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnVEFSX09QVElPTlMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICctLXRvdWNoIC0tbm8tb3ZlcndyaXRlLWRpciAtLW5vLXNhbWUtb3duZXInXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvbHVtZU1vdW50czogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZXh0ZXJuYWxzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdW50UGF0aDogJy9ob21lL3J1bm5lci9fd29yay9leHRlcm5hbHMnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ6IFsnL2hvbWUvcnVubmVyL2VwaGVtZXJhbF9ydW5uZXIuc2gnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXRzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHU6ICcxJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeTogJzJHaSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIHZvbHVtZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZXh0ZXJuYWxzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnY3M6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVja2V0OiBzdG9yYWdlTmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgbWF4UmV0cmllczogMCxcbiAgICAgICAgICAgICAgICAgICAgc2VydmljZUFjY291bnQ6IGpvYlNhLmVtYWlsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlcGVuZHNPbjogW1xuICAgICAgICAgICAgICAgIGJ1Y2tldENyZWF0aW9uXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgYXV0b3NjYWxlclNhID0gbmV3IFNlcnZpY2VBY2NvdW50KHRoaXMsICdhdXRvc2NhbGVyU2VydmljZUFjY291bnQnLCB7XG4gICAgICAgICAgICBhY2NvdW50SWQ6ICdhdXRvc2NhbGVyLXNhJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbmV3IFByb2plY3RJYW1DdXN0b21Sb2xlKHRoaXMsICdhdXRvc2NhbGVyUm9sZScsIHtcbiAgICAgICAgICAgIHJvbGVJZDogJ2doYUF1dG9zY2FsZXJSb2xlJyxcbiAgICAgICAgICAgIHRpdGxlOiAnR0hBIEF1dG9zY2FsZXIgUm9sZScsXG4gICAgICAgICAgICBwZXJtaXNzaW9uczogW1xuICAgICAgICAgICAgICAgICdhcnRpZmFjdHJlZ2lzdHJ5LmRvY2tlcmltYWdlcy5nZXQnLFxuICAgICAgICAgICAgICAgICdhcnRpZmFjdHJlZ2lzdHJ5LmRvY2tlcmltYWdlcy5saXN0JyxcbiAgICAgICAgICAgICAgICAncnVuLmpvYnMucnVuJyxcbiAgICAgICAgICAgICAgICAncnVuLmpvYnMuY3JlYXRlJyxcbiAgICAgICAgICAgICAgICAncnVuLmpvYnMuZGVsZXRlJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGF1dG9zY2FsZXJQb2xpY3lNZW1iZXIgPSBuZXcgVGVycmFmb3JtTG9jYWwodGhpcywgJ2F1dG9zY2FsZXJNZW1iZXInLCBgc2VydmljZUFjY291bnQ6JHthdXRvc2NhbGVyU2EuZW1haWx9YClcblxuICAgICAgICAvLyBUT0RPOiByZXBsYWNlIDIgZm9sbG93aW5nIHdpdGggbW9yZSBzcGVjaWZpYyBvbmVzLlxuICAgICAgICBuZXcgUHJvamVjdElhbU1lbWJlcih0aGlzLCAnYXV0b3NjYWxlclJvbGVCaW5kaW5nUnVuJywge1xuICAgICAgICAgICAgbWVtYmVyOiBhdXRvc2NhbGVyUG9saWN5TWVtYmVyLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBwcm9qZWN0LFxuICAgICAgICAgICAgcm9sZTogJ3JvbGVzL3J1bi5kZXZlbG9wZXInLFxuICAgICAgICB9KVxuXG5cbiAgICAgICAgbmV3IFByb2plY3RJYW1NZW1iZXIodGhpcywgJ2F1dG9zY2FsZXJSb2xlQmluZGluZ1N0b3JhZ2UnLCB7XG4gICAgICAgICAgICBtZW1iZXI6IGF1dG9zY2FsZXJQb2xpY3lNZW1iZXIudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHByb2plY3QsXG4gICAgICAgICAgICByb2xlOiAncm9sZXMvc3RvcmFnZS5hZG1pbicsXG4gICAgICAgIH0pXG5cbiAgICAgICAgbmV3IFByb2plY3RJYW1NZW1iZXIodGhpcywgJ2F1dG9zY2FsZXJSb2xlQmluZGluZ1J1blNlcnZpY2VBZ2VudCcsIHtcbiAgICAgICAgICAgIG1lbWJlcjogYXV0b3NjYWxlclBvbGljeU1lbWJlci50b1N0cmluZygpLFxuICAgICAgICAgICAgcHJvamVjdCxcbiAgICAgICAgICAgIHJvbGU6ICdyb2xlcy9ydW4uc2VydmljZUFnZW50JyxcbiAgICAgICAgfSlcblxuICAgICAgICBuZXcgQ2xvdWRSdW5TZXJ2aWNlKHRoaXMsICdhdXRvc2NhbGVyU2VydmljZScsIHtcbiAgICAgICAgICAgIGxvY2F0aW9uLFxuICAgICAgICAgICAgbmFtZTogJ2doYS1hdXRvc2NhbGVyJyxcbiAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgICAgYW5ub3RhdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgICAgJ3J1bi5nb29nbGVhcGlzLmNvbS9pbmdyZXNzJzogJ2ludGVybmFsJyxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGVtcGxhdGU6IHtcbiAgICAgICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICAgICAgICBhbm5vdGF0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2F1dG9zY2FsaW5nLmtuYXRpdmUuZGV2L21heFNjYWxlJzogJzEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2F1dG9zY2FsaW5nLmtuYXRpdmUuZGV2L21pblNjYWxlJzogJzEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bi5nb29nbGVhcGlzLmNvbS9jcHUtdGhyb3R0bGluZyc6ICdmYWxzZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAncnVuLmdvb2dsZWFwaXMuY29tL3N0YXJ0dXAtY3B1LWJvb3N0JzogJ2ZhbHNlJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzcGVjOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lckNvbmN1cnJlbmN5OiAxLFxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IGAke3JlZ2lzdHJ5LmxvY2F0aW9ufS1kb2NrZXIucGtnLmRldi8ke3Byb2plY3R9LyR7cmVnaXN0cnkucmVwb3NpdG9yeUlkfS9oaS1maS9naGEtcnVubmVycy1vbi1tYW5hZ2VkLWVudjp0ZXN0YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ1BBVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcGF0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdHSVRIVUJfQ09ORklHX1VSTCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZ2l0aHViQ29uZmlnVXJsLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdKT0JfTkFNRScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcnVubmVySm9iLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ1NDQUxFX1NFVF9OQU1FJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnY3ItcnVubmVyLXNldCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0NMT1VEU0RLX1JVTl9SRUdJT04nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdHT09HTEVfQ0xPVURfUFJPSkVDVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcHJvamVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXJ2aWNlIHdvdWxkIHdvcmsgZm9yIG11Y2ggbG93ZXIsIGJ1dCB0aGVzZSBhcmUgbWluaW11bSB2YWx1ZXMgZm9yIFwiYWx3YXlzIG9uXCIgbW9kZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwdTogJzEwMDBtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeTogJzUxMk1pJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlQWNjb3VudE5hbWU6IGF1dG9zY2FsZXJTYS5lbWFpbFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG59XG4iXX0=
|
package/lib/lib/variables.js
CHANGED
@@ -8,13 +8,15 @@ function commonVariables(scope) {
|
|
8
8
|
nullable: false,
|
9
9
|
sensitive: true
|
10
10
|
});
|
11
|
+
pat.overrideLogicalId('PAT');
|
11
12
|
const githubConfigUrl = new cdktf_1.TerraformVariable(scope, 'github_config_url', {
|
12
13
|
description: 'Github URL where runners should register to. Format https://<GitHub host>/<your_enterprise/org/repo>',
|
13
14
|
nullable: false,
|
14
15
|
});
|
16
|
+
githubConfigUrl.overrideLogicalId('github_config_url');
|
15
17
|
return {
|
16
18
|
pat,
|
17
19
|
githubConfigUrl
|
18
20
|
};
|
19
21
|
}
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi92YXJpYWJsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSwwQ0FvQkM7QUE1QkQsaUNBQTBDO0FBUTFDLFNBQWdCLGVBQWUsQ0FBQyxLQUFnQjtJQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLHlCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDNUMsV0FBVyxFQUFFLDBEQUEwRDtRQUN2RSxRQUFRLEVBQUUsS0FBSztRQUNmLFNBQVMsRUFBRSxJQUFJO0tBQ2xCLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU3QixNQUFNLGVBQWUsR0FBRyxJQUFJLHlCQUFpQixDQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBRTtRQUN0RSxXQUFXLEVBQUUsc0dBQXNHO1FBQ25ILFFBQVEsRUFBRSxLQUFLO0tBQ2xCLENBQUMsQ0FBQTtJQUVGLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRXZELE9BQU87UUFDSCxHQUFHO1FBQ0gsZUFBZTtLQUNsQixDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlcnJhZm9ybVZhcmlhYmxlIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhcmlhYmxlcyB7XG4gICAgcGF0OiBUZXJyYWZvcm1WYXJpYWJsZTtcbiAgICBnaXRodWJDb25maWdVcmw6IFRlcnJhZm9ybVZhcmlhYmxlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tbW9uVmFyaWFibGVzKHNjb3BlOiBDb25zdHJ1Y3QpOiBWYXJpYWJsZXMge1xuICAgIGNvbnN0IHBhdCA9IG5ldyBUZXJyYWZvcm1WYXJpYWJsZShzY29wZSwgJ1BBVCcsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdHaXRodWIgUEFUIHdpdGggQWN0aW9uczpSZWFkIGFuZCBBZG1pbjpSZWFkK1dyaXRlIHNjb3BlcycsXG4gICAgICAgIG51bGxhYmxlOiBmYWxzZSxcbiAgICAgICAgc2Vuc2l0aXZlOiB0cnVlXG4gICAgfSlcblxuICAgIHBhdC5vdmVycmlkZUxvZ2ljYWxJZCgnUEFUJyk7XG5cbiAgICBjb25zdCBnaXRodWJDb25maWdVcmwgPSBuZXcgVGVycmFmb3JtVmFyaWFibGUoc2NvcGUsICdnaXRodWJfY29uZmlnX3VybCcsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdHaXRodWIgVVJMIHdoZXJlIHJ1bm5lcnMgc2hvdWxkIHJlZ2lzdGVyIHRvLiBGb3JtYXQgaHR0cHM6Ly88R2l0SHViIGhvc3Q+Lzx5b3VyX2VudGVycHJpc2Uvb3JnL3JlcG8+JyxcbiAgICAgICAgbnVsbGFibGU6IGZhbHNlLFxuICAgIH0pXG5cbiAgICBnaXRodWJDb25maWdVcmwub3ZlcnJpZGVMb2dpY2FsSWQoJ2dpdGh1Yl9jb25maWdfdXJsJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBwYXQsXG4gICAgICAgIGdpdGh1YkNvbmZpZ1VybFxuICAgIH1cbn1cbiJdfQ==
|
package/main.tf
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
locals {
|
2
|
+
is_ecs = upper(var.runner_platform) == "ECS" ? 1: 0
|
3
|
+
is_aca = upper(var.runner_platform) == "ACA" ? 1: 0
|
4
|
+
is_cr = upper(var.runner_platform) == "GCR" ? 1: 0
|
5
|
+
}
|
6
|
+
|
7
|
+
module "ecs" {
|
8
|
+
count = local.is_ecs
|
9
|
+
source = "./modules/elastic-container-service"
|
10
|
+
PAT = var.PAT
|
11
|
+
github_config_url = var.github_config_url
|
12
|
+
}
|
13
|
+
|
14
|
+
module "aca" {
|
15
|
+
count = local.is_aca
|
16
|
+
source = "./modules/azure-container-apps"
|
17
|
+
PAT = var.PAT
|
18
|
+
github_config_url = var.github_config_url
|
19
|
+
}
|
20
|
+
|
21
|
+
module "gcr" {
|
22
|
+
count = local.is_cr
|
23
|
+
source = "./modules/google-cloud-run"
|
24
|
+
PAT = var.PAT
|
25
|
+
github_config_url = var.github_config_url
|
26
|
+
}
|
@@ -64,9 +64,9 @@ No modules.
|
|
64
64
|
|
65
65
|
| Name | Description | Type | Default | Required |
|
66
66
|
|------|-------------|------|---------|:--------:|
|
67
|
-
| <a name="
|
68
|
-
| <a name="input_aca_github_config_url_7230B339"></a> [aca\_github\_config\_url\_7230B339](#input\_aca\_github\_config\_url\_7230B339) | Github URL where runners should register to. Format https://<GitHub host>/<your\_enterprise/org/repo> | `any` | n/a | yes |
|
67
|
+
| <a name="input_PAT"></a> [PAT](#input\_PAT) | Github PAT with Actions:Read and Admin:Read+Write scopes | `any` | n/a | yes |
|
69
68
|
| <a name="input_aca_location_486B7D73"></a> [aca\_location\_486B7D73](#input\_aca\_location\_486B7D73) | Location where to provision resources to | `string` | `"westeurope"` | no |
|
69
|
+
| <a name="input_github_config_url"></a> [github\_config\_url](#input\_github\_config\_url) | Github URL where runners should register to. Format https://<GitHub host>/<your\_enterprise/org/repo> | `any` | n/a | yes |
|
70
70
|
|
71
71
|
## Outputs
|
72
72
|
|
@@ -329,7 +329,7 @@
|
|
329
329
|
"secret": [
|
330
330
|
{
|
331
331
|
"name": "pat",
|
332
|
-
"value": "${var.
|
332
|
+
"value": "${var.PAT}"
|
333
333
|
}
|
334
334
|
],
|
335
335
|
"template": {
|
@@ -343,7 +343,7 @@
|
|
343
343
|
},
|
344
344
|
{
|
345
345
|
"name": "GITHUB_CONFIG_URL",
|
346
|
-
"value": "${var.
|
346
|
+
"value": "${var.github_config_url}"
|
347
347
|
},
|
348
348
|
{
|
349
349
|
"name": "AZURE_TENANT_ID",
|
@@ -615,21 +615,21 @@
|
|
615
615
|
}
|
616
616
|
},
|
617
617
|
"variable": {
|
618
|
-
"
|
618
|
+
"PAT": {
|
619
619
|
"description": "Github PAT with Actions:Read and Admin:Read+Write scopes",
|
620
620
|
"nullable": false,
|
621
621
|
"sensitive": true
|
622
622
|
},
|
623
|
-
"aca_github_config_url_7230B339": {
|
624
|
-
"description": "Github URL where runners should register to. Format https://<GitHub host>/<your_enterprise/org/repo>",
|
625
|
-
"nullable": false
|
626
|
-
},
|
627
623
|
"aca_location_486B7D73": {
|
628
624
|
"default": "westeurope",
|
629
625
|
"description": "Location where to provision resources to",
|
630
626
|
"nullable": false,
|
631
627
|
"sensitive": false,
|
632
628
|
"type": "string"
|
629
|
+
},
|
630
|
+
"github_config_url": {
|
631
|
+
"description": "Github URL where runners should register to. Format https://<GitHub host>/<your_enterprise/org/repo>",
|
632
|
+
"nullable": false
|
633
633
|
}
|
634
634
|
}
|
635
635
|
}
|
@@ -57,8 +57,8 @@ No modules.
|
|
57
57
|
|
58
58
|
| Name | Description | Type | Default | Required |
|
59
59
|
|------|-------------|------|---------|:--------:|
|
60
|
-
| <a name="
|
61
|
-
| <a name="
|
60
|
+
| <a name="input_PAT"></a> [PAT](#input\_PAT) | Github PAT with Actions:Read and Admin:Read+Write scopes | `any` | n/a | yes |
|
61
|
+
| <a name="input_github_config_url"></a> [github\_config\_url](#input\_github\_config\_url) | Github URL where runners should register to. Format https://<GitHub host>/<your\_enterprise/org/repo> | `any` | n/a | yes |
|
62
62
|
|
63
63
|
## Outputs
|
64
64
|
|
@@ -115,7 +115,7 @@
|
|
115
115
|
"uniqueId": "aws_AutoscalerTaskDefinition_24A76F67"
|
116
116
|
}
|
117
117
|
},
|
118
|
-
"container_definitions": "${jsonencode([{\"name\" = \"autoscaler\", \"image\" = \"ghcr.io/hi-fi/gha-runners-on-managed-env:test\", \"essential\" = true, \"environment\" = [{\"name\" = \"PAT\", \"value\" = var.
|
118
|
+
"container_definitions": "${jsonencode([{\"name\" = \"autoscaler\", \"image\" = \"ghcr.io/hi-fi/gha-runners-on-managed-env:test\", \"essential\" = true, \"environment\" = [{\"name\" = \"PAT\", \"value\" = var.PAT}, {\"name\" = \"GITHUB_CONFIG_URL\", \"value\" = var.github_config_url}, {\"name\" = \"TASK_DEFINITION_ARN\", \"value\" = aws_ecs_task_definition.aws_RunnerTaskDefinition_9C7563BE.arn}, {\"name\" = \"ECS_CLUSTER\", \"value\" = aws_ecs_cluster.aws_Cluster_BA268616.arn}, {\"name\" = \"ECS_SUBNETS\", \"value\" = join(\",\", data.aws_subnets.aws_Subnets_75E5377D.ids)}, {\"name\" = \"ECS_SECURITY_GROUPS\", \"value\" = join(\",\", data.aws_security_groups.aws_SecurityGroups_BAABB08D.ids)}, {\"name\" = \"SCALE_SET_NAME\", \"value\" = \"ecs-runner-set\"}], \"logConfiguration\" = {\"logDriver\" = \"awslogs\", \"options\" = {\"awslogs-group\" = aws_cloudwatch_log_group.aws_AutoscalerLogGroup_BFE58053.name, \"awslogs-region\" = data.aws_region.aws_Region_7477CA06.name, \"awslogs-stream-prefix\" = \"ecs\"}}}])}",
|
119
119
|
"cpu": "256",
|
120
120
|
"execution_role_arn": "${aws_iam_role.aws_TaskExecutionRole_FAB64402.arn}",
|
121
121
|
"family": "Autoscaler",
|
@@ -301,12 +301,12 @@
|
|
301
301
|
}
|
302
302
|
},
|
303
303
|
"variable": {
|
304
|
-
"
|
304
|
+
"PAT": {
|
305
305
|
"description": "Github PAT with Actions:Read and Admin:Read+Write scopes",
|
306
306
|
"nullable": false,
|
307
307
|
"sensitive": true
|
308
308
|
},
|
309
|
-
"
|
309
|
+
"github_config_url": {
|
310
310
|
"description": "Github URL where runners should register to. Format https://<GitHub host>/<your_enterprise/org/repo>",
|
311
311
|
"nullable": false
|
312
312
|
}
|
@@ -53,8 +53,8 @@ No modules.
|
|
53
53
|
|
54
54
|
| Name | Description | Type | Default | Required |
|
55
55
|
|------|-------------|------|---------|:--------:|
|
56
|
-
| <a name="
|
57
|
-
| <a name="
|
56
|
+
| <a name="input_PAT"></a> [PAT](#input\_PAT) | Github PAT with Actions:Read and Admin:Read+Write scopes | `any` | n/a | yes |
|
57
|
+
| <a name="input_github_config_url"></a> [github\_config\_url](#input\_github\_config\_url) | Github URL where runners should register to. Format https://<GitHub host>/<your\_enterprise/org/repo> | `any` | n/a | yes |
|
58
58
|
|
59
59
|
## Outputs
|
60
60
|
|
@@ -66,11 +66,11 @@
|
|
66
66
|
"env": [
|
67
67
|
{
|
68
68
|
"name": "PAT",
|
69
|
-
"value": "${var.
|
69
|
+
"value": "${var.PAT}"
|
70
70
|
},
|
71
71
|
{
|
72
72
|
"name": "GITHUB_CONFIG_URL",
|
73
|
-
"value": "${var.
|
73
|
+
"value": "${var.github_config_url}"
|
74
74
|
},
|
75
75
|
{
|
76
76
|
"name": "JOB_NAME",
|
@@ -342,12 +342,12 @@
|
|
342
342
|
}
|
343
343
|
},
|
344
344
|
"variable": {
|
345
|
-
"
|
345
|
+
"PAT": {
|
346
346
|
"description": "Github PAT with Actions:Read and Admin:Read+Write scopes",
|
347
347
|
"nullable": false,
|
348
348
|
"sensitive": true
|
349
349
|
},
|
350
|
-
"
|
350
|
+
"github_config_url": {
|
351
351
|
"description": "Github URL where runners should register to. Format https://<GitHub host>/<your_enterprise/org/repo>",
|
352
352
|
"nullable": false
|
353
353
|
}
|
package/package.json
CHANGED
@@ -0,0 +1,188 @@
|
|
1
|
+
// Code generated with Gemini
|
2
|
+
|
3
|
+
import * as fs from 'fs';
|
4
|
+
import * as path from 'path';
|
5
|
+
|
6
|
+
interface VariableDefinition {
|
7
|
+
name: string;
|
8
|
+
description: string;
|
9
|
+
submodules: string[];
|
10
|
+
customInfo?: Record<string, any>;
|
11
|
+
}
|
12
|
+
|
13
|
+
interface SubmoduleVariables {
|
14
|
+
[submodulePath: string]: VariableDefinition[];
|
15
|
+
}
|
16
|
+
|
17
|
+
const ROOT_DIR = '.';
|
18
|
+
const OUTPUT_FILE = 'variables.tf';
|
19
|
+
const VARIABLE_FILE_NAME = 'cdk.tf.json';
|
20
|
+
const GENERATED_COMMENT_START = '# Variables generated by terraform-variable-collector start';
|
21
|
+
const GENERATED_COMMENT_END = '# Variables generated by terraform-variable-collector end';
|
22
|
+
|
23
|
+
/**
|
24
|
+
* Extracts variable definitions from a cdk.tf.json file.
|
25
|
+
*/
|
26
|
+
function extractVariables(filePath: string): VariableDefinition[] {
|
27
|
+
try {
|
28
|
+
const fileContent = fs.readFileSync(filePath, 'utf-8');
|
29
|
+
const jsonData = JSON.parse(fileContent);
|
30
|
+
|
31
|
+
if (!jsonData.variable || typeof jsonData.variable !== 'object') {
|
32
|
+
return [];
|
33
|
+
}
|
34
|
+
|
35
|
+
const variables: VariableDefinition[] = [];
|
36
|
+
for (const varName in jsonData.variable) {
|
37
|
+
if (jsonData.variable.hasOwnProperty(varName)) {
|
38
|
+
const varConfig = jsonData.variable[varName];
|
39
|
+
if (typeof varConfig === 'object' && varConfig !== null) {
|
40
|
+
const description = typeof varConfig.description === 'string' ? varConfig.description : 'No description provided.';
|
41
|
+
const customInfo = varConfig.customInfo ? varConfig.customInfo : {};
|
42
|
+
variables.push({ name: varName, description, submodules: [], customInfo });
|
43
|
+
}
|
44
|
+
}
|
45
|
+
}
|
46
|
+
return variables;
|
47
|
+
} catch (error) {
|
48
|
+
console.error(`Error processing file: ${filePath}`, error);
|
49
|
+
return [];
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
/**
|
54
|
+
* Recursively searches for cdk.tf.json files within the "modules" subdirectory.
|
55
|
+
*/
|
56
|
+
function findSubmoduleVariables(dir: string): SubmoduleVariables {
|
57
|
+
const submoduleVariables: SubmoduleVariables = {};
|
58
|
+
const modulesDir = path.join(dir, 'modules');
|
59
|
+
|
60
|
+
if (!fs.existsSync(modulesDir)) {
|
61
|
+
console.warn(`Warning: 'modules' directory not found at ${modulesDir}. No variables will be collected.`);
|
62
|
+
return {};
|
63
|
+
}
|
64
|
+
|
65
|
+
function walk(currentDir: string) {
|
66
|
+
const files = fs.readdirSync(currentDir);
|
67
|
+
for (const file of files) {
|
68
|
+
const filePath = path.join(currentDir, file);
|
69
|
+
const stat = fs.statSync(filePath);
|
70
|
+
|
71
|
+
if (stat.isDirectory()) {
|
72
|
+
walk(filePath);
|
73
|
+
} else if (file === VARIABLE_FILE_NAME) {
|
74
|
+
const submodulePath = path.relative(modulesDir, currentDir);
|
75
|
+
if (submodulePath) {
|
76
|
+
const variables = extractVariables(filePath);
|
77
|
+
if (variables.length > 0) {
|
78
|
+
submoduleVariables[submodulePath] = variables;
|
79
|
+
}
|
80
|
+
}
|
81
|
+
}
|
82
|
+
}
|
83
|
+
}
|
84
|
+
|
85
|
+
walk(modulesDir);
|
86
|
+
return submoduleVariables;
|
87
|
+
}
|
88
|
+
|
89
|
+
/**
|
90
|
+
* Generates the content for the root module's variables.tf file, combining
|
91
|
+
* similarly named variables. It uses the description from the first
|
92
|
+
* occurrence of the variable. It now updates an existing file, preserving
|
93
|
+
* content outside of the generated variable block.
|
94
|
+
*/
|
95
|
+
function generateRootVariablesTf(collectedVariables: SubmoduleVariables): void {
|
96
|
+
let existingContent = '';
|
97
|
+
if (fs.existsSync(OUTPUT_FILE)) {
|
98
|
+
existingContent = fs.readFileSync(OUTPUT_FILE, 'utf-8');
|
99
|
+
}
|
100
|
+
|
101
|
+
let outputContent = `${GENERATED_COMMENT_START}\n`;
|
102
|
+
const combinedVariables: { [name: string]: VariableDefinition } = {};
|
103
|
+
|
104
|
+
for (const submodulePath in collectedVariables) {
|
105
|
+
if (collectedVariables.hasOwnProperty(submodulePath)) {
|
106
|
+
const variables = collectedVariables[submodulePath];
|
107
|
+
for (const variable of variables) {
|
108
|
+
if (combinedVariables[variable.name]) {
|
109
|
+
// Variable name already exists, so combine, but keep original description
|
110
|
+
combinedVariables[variable.name].submodules.push(`modules/${submodulePath}`);
|
111
|
+
} else {
|
112
|
+
// Variable name doesn't exist, so add it
|
113
|
+
combinedVariables[variable.name] = {
|
114
|
+
...variable,
|
115
|
+
submodules: [`modules/${submodulePath}`],
|
116
|
+
};
|
117
|
+
}
|
118
|
+
}
|
119
|
+
}
|
120
|
+
}
|
121
|
+
|
122
|
+
for (const varName in combinedVariables) {
|
123
|
+
if (combinedVariables.hasOwnProperty(varName)) {
|
124
|
+
const variable = combinedVariables[varName];
|
125
|
+
const submoduleList = variable.submodules.join(', ');
|
126
|
+
outputContent += `variable "${varName}" {\n`;
|
127
|
+
outputContent += ` type = any\n`;
|
128
|
+
outputContent += ` description = "${variable.description} (Defined in: ${submoduleList})"\n`;
|
129
|
+
if (variable.customInfo && Object.keys(variable.customInfo).length > 0) {
|
130
|
+
outputContent += ` # Custom Information:\n`;
|
131
|
+
for (const key in variable.customInfo) {
|
132
|
+
if (variable.customInfo.hasOwnProperty(key)) {
|
133
|
+
const value = variable.customInfo[key];
|
134
|
+
outputContent += ` # ${key} = ${JSON.stringify(value)}\n`;
|
135
|
+
}
|
136
|
+
}
|
137
|
+
}
|
138
|
+
outputContent += `}\n\n`;
|
139
|
+
}
|
140
|
+
}
|
141
|
+
outputContent += `${GENERATED_COMMENT_END}\n`;
|
142
|
+
|
143
|
+
// Use regular expressions to find and replace the generated block
|
144
|
+
const startMarkerRegex = new RegExp(GENERATED_COMMENT_START.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'));
|
145
|
+
const endMarkerRegex = new RegExp(GENERATED_COMMENT_END.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'));
|
146
|
+
const existingGeneratedBlockRegex = new RegExp(
|
147
|
+
`${startMarkerRegex.source}[\\s\\S]*${endMarkerRegex.source}`,
|
148
|
+
'g',
|
149
|
+
);
|
150
|
+
|
151
|
+
let updatedContent: string;
|
152
|
+
if (existingGeneratedBlockRegex.test(existingContent)) {
|
153
|
+
// Replace the existing generated block with the new content
|
154
|
+
updatedContent = existingContent.replace(existingGeneratedBlockRegex, outputContent);
|
155
|
+
} else {
|
156
|
+
// Append the generated block to the end of the file, or create a new file
|
157
|
+
updatedContent = existingContent + outputContent;
|
158
|
+
}
|
159
|
+
|
160
|
+
fs.writeFileSync(OUTPUT_FILE, updatedContent);
|
161
|
+
console.log(
|
162
|
+
`Generated (or updated) root module's ${OUTPUT_FILE} with combined variables, preserving existing content.`,
|
163
|
+
);
|
164
|
+
console.log('Review and adjust the types and other attributes as needed.');
|
165
|
+
}
|
166
|
+
|
167
|
+
function main(): void {
|
168
|
+
const collectedVars = findSubmoduleVariables(ROOT_DIR);
|
169
|
+
|
170
|
+
if (Object.keys(collectedVars).length > 0) {
|
171
|
+
console.log('Collected variables from submodules:');
|
172
|
+
for (const submodulePath in collectedVars) {
|
173
|
+
if (collectedVars.hasOwnProperty(submodulePath)) {
|
174
|
+
console.log(` Submodule: modules/${submodulePath}`);
|
175
|
+
const variables = collectedVars[submodulePath];
|
176
|
+
for (const varDef of variables) {
|
177
|
+
console.log(` - Name: ${varDef.name}, Description: ${varDef.description}`);
|
178
|
+
}
|
179
|
+
}
|
180
|
+
}
|
181
|
+
generateRootVariablesTf(collectedVars);
|
182
|
+
} else {
|
183
|
+
console.log('No submodules with cdk.tf.json files found in the "modules" directory.');
|
184
|
+
}
|
185
|
+
}
|
186
|
+
|
187
|
+
main();
|
188
|
+
|
package/variables.tf
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
variable "runner_platform" {
|
2
|
+
nullable = false
|
3
|
+
type = string
|
4
|
+
description = "Runner platform hosting ARC and runners. Possible values ACA (Azure Container Apps), ECS (Elastic Container Service) and GCR (Google Cloud Run)"
|
5
|
+
validation {
|
6
|
+
condition = can(regex("^(ACA|ECR|GCR)$", upper(var.runner_platform)))
|
7
|
+
error_message = "Runner platform has to be either ACA, ECR or GCR (case insensitive)."
|
8
|
+
}
|
9
|
+
}
|
10
|
+
|
11
|
+
# Variables generated by terraform-variable-collector start
|
12
|
+
variable "PAT" {
|
13
|
+
type = any
|
14
|
+
description = "Github PAT with Actions:Read and Admin:Read+Write scopes (Defined in: modules/azure-container-apps, modules/elastic-container-service, modules/google-cloud-run)"
|
15
|
+
}
|
16
|
+
|
17
|
+
variable "aca_location_486B7D73" {
|
18
|
+
type = any
|
19
|
+
description = "Location where to provision resources to (Defined in: modules/azure-container-apps)"
|
20
|
+
}
|
21
|
+
|
22
|
+
variable "github_config_url" {
|
23
|
+
type = any
|
24
|
+
description = "Github URL where runners should register to. Format https://<GitHub host>/<your_enterprise/org/repo> (Defined in: modules/azure-container-apps, modules/elastic-container-service, modules/google-cloud-run)"
|
25
|
+
}
|
26
|
+
|
27
|
+
# Variables generated by terraform-variable-collector end
|