@gitpod/gitpod-protocol 0.1.5-pd-update-to-node-14-fork.2 → 0.1.5-pd-add-latest-jb.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/gitpod-schema.json +21 -2
- package/lib/accounting-protocol.d.ts +0 -1
- package/lib/accounting-protocol.d.ts.map +1 -1
- package/lib/accounting-protocol.js +10 -11
- package/lib/accounting-protocol.js.map +1 -1
- package/lib/admin-protocol.d.ts +8 -2
- package/lib/admin-protocol.d.ts.map +1 -1
- package/lib/admin-protocol.js +2 -13
- package/lib/admin-protocol.js.map +1 -1
- package/lib/analytics.d.ts +1 -0
- package/lib/analytics.d.ts.map +1 -1
- package/lib/context-url.d.ts +1 -0
- package/lib/context-url.d.ts.map +1 -1
- package/lib/context-url.js +7 -5
- package/lib/context-url.js.map +1 -1
- package/lib/context-url.spec.js +45 -48
- package/lib/context-url.spec.js.map +1 -1
- package/lib/email-protocol.js +4 -4
- package/lib/email-protocol.js.map +1 -1
- package/lib/encryption/container-module.js +4 -4
- package/lib/encryption/container-module.js.map +1 -1
- package/lib/encryption/encryption-engine.js +19 -20
- package/lib/encryption/encryption-engine.js.map +1 -1
- package/lib/encryption/encryption-engine.spec.js +29 -36
- package/lib/encryption/encryption-engine.spec.js.map +1 -1
- package/lib/encryption/encryption-service.js +29 -43
- package/lib/encryption/encryption-service.js.map +1 -1
- package/lib/encryption/key-provider.js +25 -30
- package/lib/encryption/key-provider.js.map +1 -1
- package/lib/env.js +12 -13
- package/lib/env.js.map +1 -1
- package/lib/gitpod-file-parser.js +25 -41
- package/lib/gitpod-file-parser.js.map +1 -1
- package/lib/gitpod-file-parser.spec.js +116 -116
- package/lib/gitpod-file-parser.spec.js.map +1 -1
- package/lib/gitpod-service.d.ts +33 -11
- package/lib/gitpod-service.d.ts.map +1 -1
- package/lib/gitpod-service.js +151 -295
- package/lib/gitpod-service.js.map +1 -1
- package/lib/ide-protocol.d.ts +105 -0
- package/lib/ide-protocol.d.ts.map +1 -0
- package/lib/ide-protocol.js +8 -0
- package/lib/ide-protocol.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/lib/installation-admin-protocol.d.ts +13 -0
- package/lib/installation-admin-protocol.d.ts.map +1 -0
- package/lib/installation-admin-protocol.js +8 -0
- package/lib/installation-admin-protocol.js.map +1 -0
- package/lib/messaging/browser/connection.js +91 -156
- package/lib/messaging/browser/connection.js.map +1 -1
- package/lib/messaging/browser/window-connection.js +35 -55
- package/lib/messaging/browser/window-connection.js.map +1 -1
- package/lib/messaging/client-call-metrics.js +17 -18
- package/lib/messaging/client-call-metrics.js.map +1 -1
- package/lib/messaging/connection-error-handler.js +11 -23
- package/lib/messaging/connection-error-handler.js.map +1 -1
- package/lib/messaging/error.d.ts +1 -1
- package/lib/messaging/error.d.ts.map +1 -1
- package/lib/messaging/error.js +2 -2
- package/lib/messaging/error.js.map +1 -1
- package/lib/messaging/node/connection.d.ts +1 -17
- package/lib/messaging/node/connection.d.ts.map +1 -1
- package/lib/messaging/node/connection.js +23 -59
- package/lib/messaging/node/connection.js.map +1 -1
- package/lib/messaging/proxy-factory.js +71 -162
- package/lib/messaging/proxy-factory.js.map +1 -1
- package/lib/oss-allowlist.d.ts +14 -0
- package/lib/oss-allowlist.d.ts.map +1 -0
- package/lib/oss-allowlist.js +8 -0
- package/lib/oss-allowlist.js.map +1 -0
- package/lib/permission.js +12 -12
- package/lib/permission.js.map +1 -1
- package/lib/plans.d.ts +1 -1
- package/lib/plans.d.ts.map +1 -1
- package/lib/plans.js +38 -57
- package/lib/plans.js.map +1 -1
- package/lib/protocol.d.ts +33 -44
- package/lib/protocol.d.ts.map +1 -1
- package/lib/protocol.js +57 -115
- package/lib/protocol.js.map +1 -1
- package/lib/snapshot-url.d.ts +14 -0
- package/lib/snapshot-url.d.ts.map +1 -0
- package/lib/snapshot-url.js +26 -0
- package/lib/snapshot-url.js.map +1 -0
- package/lib/snapshot-url.spec.d.ts +7 -0
- package/lib/snapshot-url.spec.d.ts.map +1 -0
- package/lib/snapshot-url.spec.js +41 -0
- package/lib/snapshot-url.spec.js.map +1 -0
- package/lib/team-subscription-protocol.js +13 -13
- package/lib/team-subscription-protocol.js.map +1 -1
- package/lib/teams-projects-protocol.d.ts +9 -0
- package/lib/teams-projects-protocol.d.ts.map +1 -1
- package/lib/teams-projects-protocol.js +4 -15
- package/lib/teams-projects-protocol.js.map +1 -1
- package/lib/util/analytics.js +25 -32
- package/lib/util/analytics.js.map +1 -1
- package/lib/util/async-iterator.js +55 -133
- package/lib/util/async-iterator.js.map +1 -1
- package/lib/util/cancelable.js +17 -59
- package/lib/util/cancelable.js.map +1 -1
- package/lib/util/date-time.js +8 -8
- package/lib/util/date-time.js.map +1 -1
- package/lib/util/deferred.js +10 -12
- package/lib/util/deferred.js.map +1 -1
- package/lib/util/disposable.js +26 -39
- package/lib/util/disposable.js.map +1 -1
- package/lib/util/event.js +58 -74
- package/lib/util/event.js.map +1 -1
- package/lib/util/garbage-collected-cache.d.ts +1 -0
- package/lib/util/garbage-collected-cache.d.ts.map +1 -1
- package/lib/util/garbage-collected-cache.js +26 -46
- package/lib/util/garbage-collected-cache.js.map +1 -1
- package/lib/util/generate-workspace-id.d.ts +1 -1
- package/lib/util/generate-workspace-id.d.ts.map +1 -1
- package/lib/util/generate-workspace-id.js +29 -68
- package/lib/util/generate-workspace-id.js.map +1 -1
- package/lib/util/generate-workspace-id.spec.js +57 -78
- package/lib/util/generate-workspace-id.spec.js.map +1 -1
- package/lib/util/gitpod-cookie.d.ts +20 -0
- package/lib/util/gitpod-cookie.d.ts.map +1 -0
- package/lib/util/gitpod-cookie.js +44 -0
- package/lib/util/gitpod-cookie.js.map +1 -0
- package/lib/util/gitpod-host-url.d.ts +1 -1
- package/lib/util/gitpod-host-url.d.ts.map +1 -1
- package/lib/util/gitpod-host-url.js +93 -103
- package/lib/util/gitpod-host-url.js.map +1 -1
- package/lib/util/gitpod-host-url.spec.js +87 -135
- package/lib/util/gitpod-host-url.spec.js.map +1 -1
- package/lib/util/grpc.js +3 -3
- package/lib/util/grpc.js.map +1 -1
- package/lib/util/jaeger-client-types.d.ts +68 -0
- package/lib/util/jaeger-client-types.d.ts.map +1 -0
- package/lib/util/jaeger-client-types.js +8 -0
- package/lib/util/jaeger-client-types.js.map +1 -0
- package/lib/util/logging.d.ts +32 -32
- package/lib/util/logging.d.ts.map +1 -1
- package/lib/util/logging.js +50 -113
- package/lib/util/logging.js.map +1 -1
- package/lib/util/make-link.js +2 -2
- package/lib/util/make-link.js.map +1 -1
- package/lib/util/parse-workspace-id.d.ts +10 -0
- package/lib/util/parse-workspace-id.d.ts.map +1 -1
- package/lib/util/parse-workspace-id.js +31 -7
- package/lib/util/parse-workspace-id.js.map +1 -1
- package/lib/util/parse-workspace-id.spec.d.ts +4 -0
- package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
- package/lib/util/parse-workspace-id.spec.js +123 -84
- package/lib/util/parse-workspace-id.spec.js.map +1 -1
- package/lib/util/queue.js +16 -55
- package/lib/util/queue.js.map +1 -1
- package/lib/util/queue.spec.js +144 -288
- package/lib/util/queue.spec.js.map +1 -1
- package/lib/util/repeat.d.ts +15 -0
- package/lib/util/repeat.d.ts.map +1 -0
- package/lib/util/repeat.js +55 -0
- package/lib/util/repeat.js.map +1 -0
- package/lib/util/safe-promise.js +9 -12
- package/lib/util/safe-promise.js.map +1 -1
- package/lib/util/semaphore.js +15 -46
- package/lib/util/semaphore.js.map +1 -1
- package/lib/util/skip-if.js +6 -6
- package/lib/util/skip-if.js.map +1 -1
- package/lib/util/timeutil.js +16 -16
- package/lib/util/timeutil.js.map +1 -1
- package/lib/util/timeutil.spec.js +21 -24
- package/lib/util/timeutil.spec.js.map +1 -1
- package/lib/util/tracing.d.ts +51 -5
- package/lib/util/tracing.d.ts.map +1 -1
- package/lib/util/tracing.js +196 -62
- package/lib/util/tracing.js.map +1 -1
- package/lib/util/tracing.spec.d.ts +7 -0
- package/lib/util/tracing.spec.d.ts.map +1 -0
- package/lib/util/tracing.spec.js +121 -0
- package/lib/util/tracing.spec.js.map +1 -0
- package/lib/util/workspace-port-authentication.js +2 -2
- package/lib/util/workspace-port-authentication.js.map +1 -1
- package/lib/workspace-cluster.d.ts +11 -1
- package/lib/workspace-cluster.d.ts.map +1 -1
- package/lib/workspace-cluster.js +3 -3
- package/lib/workspace-cluster.js.map +1 -1
- package/lib/workspace-instance.d.ts +3 -2
- package/lib/workspace-instance.d.ts.map +1 -1
- package/lib/wsready.js +1 -1
- package/package.json +22 -13
- package/pkg-yarn.lock +12 -7
- package/provenance-bundle.jsonl +2 -0
- package/src/accounting-protocol.ts +1 -3
- package/src/admin-protocol.ts +9 -3
- package/src/analytics.ts +2 -0
- package/src/context-url.ts +3 -1
- package/src/email-protocol.ts +1 -1
- package/src/gitpod-service.ts +42 -20
- package/src/ide-frontend-service.ts +1 -1
- package/src/ide-protocol.ts +119 -0
- package/src/index.ts +3 -0
- package/src/installation-admin-protocol.ts +14 -0
- package/src/messaging/error.ts +2 -2
- package/src/messaging/node/connection.ts +21 -68
- package/src/oss-allowlist.ts +15 -0
- package/src/protocol.ts +49 -46
- package/src/snapshot-url.spec.ts +25 -0
- package/src/snapshot-url.ts +27 -0
- package/src/team-subscription-protocol.ts +1 -1
- package/src/teams-projects-protocol.ts +12 -1
- package/src/util/garbage-collected-cache.ts +7 -1
- package/src/util/generate-workspace-id.spec.ts +17 -0
- package/src/util/generate-workspace-id.ts +20 -2
- package/src/util/gitpod-cookie.ts +39 -0
- package/src/util/gitpod-host-url.ts +11 -11
- package/src/util/grpc.ts +3 -3
- package/src/util/jaeger-client-types.ts +102 -0
- package/src/util/logging.ts +32 -32
- package/src/util/parse-workspace-id.spec.ts +21 -1
- package/src/util/parse-workspace-id.ts +32 -6
- package/src/util/repeat.ts +45 -0
- package/src/util/tracing.spec.ts +83 -0
- package/src/util/tracing.ts +183 -18
- package/src/workspace-cluster.ts +8 -1
- package/src/workspace-instance.ts +9 -6
- package/src/wsready.ts +1 -1
- package/lib/util/repeater.d.ts +0 -22
- package/lib/util/repeater.d.ts.map +0 -1
- package/lib/util/repeater.js +0 -118
- package/lib/util/repeater.js.map +0 -1
- package/src/util/jaeger-client.d.ts +0 -105
- package/src/util/repeater.ts +0 -49
package/package.json
CHANGED
|
@@ -1,37 +1,45 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dependencies": {
|
|
3
|
+
"@types/react": "17.0.32",
|
|
3
4
|
"ajv": "^6.5.4",
|
|
4
5
|
"analytics-node": "^4.0.1",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
6
|
+
"cookie": "^0.4.1",
|
|
7
|
+
"inversify": "^5.1.1",
|
|
8
|
+
"jaeger-client": "^3.18.1",
|
|
7
9
|
"js-yaml": "^3.10.0",
|
|
8
|
-
"opentracing": "^0.14.
|
|
10
|
+
"opentracing": "^0.14.5",
|
|
9
11
|
"prom-client": "^13.2.0",
|
|
10
12
|
"random-number-csprng": "^1.0.2",
|
|
13
|
+
"react": "17.0.2",
|
|
14
|
+
"react-dom": "17.0.2",
|
|
11
15
|
"reconnecting-websocket": "^4.4.0",
|
|
12
|
-
"reflect-metadata": "^0.1.
|
|
13
|
-
"uuid": "^
|
|
16
|
+
"reflect-metadata": "^0.1.13",
|
|
17
|
+
"uuid": "^8.3.2",
|
|
14
18
|
"vscode-jsonrpc": "^5.0.1",
|
|
15
|
-
"vscode-languageserver-protocol": "3.
|
|
19
|
+
"vscode-languageserver-protocol": "3.16.0",
|
|
20
|
+
"vscode-languageserver-types": "3.16.0",
|
|
16
21
|
"vscode-uri": "^1.0.1",
|
|
17
22
|
"vscode-ws-jsonrpc": "^0.2.0",
|
|
18
23
|
"ws": "^7.4.6"
|
|
19
24
|
},
|
|
20
25
|
"devDependencies": {
|
|
21
|
-
"@types/analytics-node": "^3.1.
|
|
22
|
-
"@types/chai-subset": "^1.3.
|
|
26
|
+
"@types/analytics-node": "^3.1.5",
|
|
27
|
+
"@types/chai-subset": "^1.3.3",
|
|
28
|
+
"@types/cookie": "^0.4.1",
|
|
29
|
+
"@types/jaeger-client": "^3.18.3",
|
|
23
30
|
"@types/js-yaml": "^3.10.1",
|
|
24
31
|
"@types/mocha": "^5.2.7",
|
|
32
|
+
"@types/node": "^16.11.6",
|
|
25
33
|
"@types/random-number-csprng": "^1.0.0",
|
|
26
|
-
"@types/uuid": "^3.
|
|
34
|
+
"@types/uuid": "^8.3.1",
|
|
27
35
|
"@types/ws": "^5.1.2",
|
|
28
|
-
"chai": "^4.
|
|
36
|
+
"chai": "^4.3.4",
|
|
29
37
|
"chai-subset": "^1.6.0",
|
|
30
38
|
"mocha": "^5.0.0",
|
|
31
39
|
"mocha-typescript": "^1.1.11",
|
|
32
40
|
"rimraf": "^2.6.2",
|
|
33
41
|
"ts-node": "^9.0.0",
|
|
34
|
-
"typescript": "~4.
|
|
42
|
+
"typescript": "~4.4.2",
|
|
35
43
|
"typescript-json-schema": "^0.50.1",
|
|
36
44
|
"typescript-parser": "^2.6.1"
|
|
37
45
|
},
|
|
@@ -39,7 +47,8 @@
|
|
|
39
47
|
"lib",
|
|
40
48
|
"data/*.json",
|
|
41
49
|
"src",
|
|
42
|
-
"pkg-yarn.lock"
|
|
50
|
+
"pkg-yarn.lock",
|
|
51
|
+
"provenance-bundle.jsonl"
|
|
43
52
|
],
|
|
44
53
|
"license": "UNLICENSED",
|
|
45
54
|
"main": "./lib/index.js",
|
|
@@ -52,5 +61,5 @@
|
|
|
52
61
|
"watch": "leeway exec --package .:lib --transitive-dependencies --filter-type yarn --components --parallel -- tsc -w --preserveWatchOutput"
|
|
53
62
|
},
|
|
54
63
|
"types": "./lib/index.d.ts",
|
|
55
|
-
"version": "0.1.5-pd-
|
|
64
|
+
"version": "0.1.5-pd-add-latest-jb.0"
|
|
56
65
|
}
|
package/pkg-yarn.lock
CHANGED
|
@@ -4,21 +4,26 @@
|
|
|
4
4
|
|
|
5
5
|
"@gitpod/gitpod-protocol@0.1.5":
|
|
6
6
|
version "0.1.5"
|
|
7
|
-
resolved "file:///tmp/cache/
|
|
7
|
+
resolved "file:///tmp/cache/243bf8b37b7374747bf6504af7d2bbe82825222a.tar.gz"
|
|
8
8
|
dependencies:
|
|
9
|
+
"@types/react" "17.0.32"
|
|
9
10
|
ajv "^6.5.4"
|
|
10
11
|
analytics-node "^4.0.1"
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
cookie "^0.4.1"
|
|
13
|
+
inversify "^5.1.1"
|
|
14
|
+
jaeger-client "^3.18.1"
|
|
13
15
|
js-yaml "^3.10.0"
|
|
14
|
-
opentracing "^0.14.
|
|
16
|
+
opentracing "^0.14.5"
|
|
15
17
|
prom-client "^13.2.0"
|
|
16
18
|
random-number-csprng "^1.0.2"
|
|
19
|
+
react "17.0.2"
|
|
20
|
+
react-dom "17.0.2"
|
|
17
21
|
reconnecting-websocket "^4.4.0"
|
|
18
|
-
reflect-metadata "^0.1.
|
|
19
|
-
uuid "^
|
|
22
|
+
reflect-metadata "^0.1.13"
|
|
23
|
+
uuid "^8.3.2"
|
|
20
24
|
vscode-jsonrpc "^5.0.1"
|
|
21
|
-
vscode-languageserver-protocol "3.
|
|
25
|
+
vscode-languageserver-protocol "3.16.0"
|
|
26
|
+
vscode-languageserver-types "3.16.0"
|
|
22
27
|
vscode-uri "^1.0.1"
|
|
23
28
|
vscode-ws-jsonrpc "^0.2.0"
|
|
24
29
|
ws "^7.4.6"
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
{"payloadType":"application/vnd.in-toto+json","payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YwLjEiLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MC4xIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvY2xpZW50LWNhbGwtbWV0cmljcy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTYyNTQxNjY1ODUxMDAyZjQ4NTMyYTVjYjg4MTk5Y2JkOTY5Y2VlMTU4MDUxZTU0NjU4YjAzZmNlY2JiYzg4MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmE0NGEyNjVjZTYxZDZhOWQ4ODc3MzI3Y2YwMzE0MDExOTZlM2YyYTU3OTlmNTU1NjU3NjYwNmM4MGZkMmQ4YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FzeW5jLWl0ZXJhdG9yLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiN2EwNTY0ZTA1MzM2NWJmMWQyY2ViMWM2N2IzZGNhNTQ1NjM2MTE5YjNjZTU1Y2YyNzhiNzVkOWUwZmUxZGIwNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjRmYTdhMDY4NjljNzg5ZDI3NDZkOTllYmNkY2RhMjg4MWI1NzBlMjk5NTI5NzdlNmI3ZTRiYTdjNTRiNTVlNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImEwNWQzNjczODU4YWNkM2I4MGEyMDg0MmFjYjg0ODIxZjljZjhmODhmMWRkYzJhYzllNmM3Y2FmMmQ1ZTQ4MTUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hbmFseXRpY3MuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3NDQyNDc5ZmE1MzE2ZWZmNjA5Njk1Njk3NzZjN2YxNzdlYWJhNzAwMDcwOGUxYThlYmNlYzBiNGMxZjlmZDUxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VtYWlsLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzI2MmM3NDI2MjE4Yzk2NzA5YTJjYzY2OGYxMjdlM2M4NDgxMDE0ZTUwNTlkMDVhZTI5MDdjNWU2MWJhNjY0OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZmVycmVkLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjBhMmQ2MjY4MDE1OTJjYmJiM2QzMTMxMDM3MjYxYjZiNTFiNWNmYzJjMjk1NGUyM2M1MmVkMWQzMGRiNDYyMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NlbWFwaG9yZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWViOTllY2JhNTFiZjYyODNkZTRmNGE4OTA0MGQxNmQzZjBmMmY5YjJmMjc5M2NkZDE3YWZkYmM3ZTUwOWM5NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3dvcmtzcGFjZS1wb3J0LWF1dGhlbnRpY2F0aW9uLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGUyYzBkZmRlOTcwMmEyYjg1OTczODczZThjYjYwM2RhYzJiZDYwMjg3NTQ4MjYzYjBjMzM2Mjk2NmRkMDBjNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2tleS1wcm92aWRlci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNhZWVhZWU4OGNkN2IxNjI5Nzc5NDhjNTRjYTczYjkzMWNkZjgzZjAwOWYxYjdlMGUzYjY2M2E2MTIwMmNhYzgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY4ZGM1NmI1MGUxZGE2MzhkYThmZGYxZjc3YTMxOGIxNTFkMzhiNzNkOTY2NjBjNTg5YjAzNzdiNjM0MmYyYWIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2hhbmRsZXIuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDkyMWY4OWI3NGM2MmZjYmUxYzdkZjAwOGE5MjhiZTNmYmU5YmZiMzg5YzA5ZTNkNTQ2ODgyMjgxODUxNGQ2MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NhZmUtcHJvbWlzZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBhZTllMThjYWQ1NDY0ZDIwOTE5MmMzMjBkNzgwYzdjMjhmZWI3NDE4Y2Y3OTc2OTcyZDNlMjhmZjgzODgyZGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzMjdmODYyYzU0ZTc5Y2Q2ZTgzMzY3MjhlNmJmYWZkOWM3MDVlNzkxM2E4ZDliNDNjN2M5NTkzOWUzYjc3OWQyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW1zLXByb2plY3RzLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzBlODEzMjRiZGUyZWZmNWQ0NGFkMzhiZDE0M2VkMTQ2NjlmMTcxYWNiMmUzZjAwM2EyMWE1OWFkY2QxNDQ0YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZmVycmVkLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMTYyMjFjNmFlOThiNmIyZDhkM2IxNDg0ZTJjNTQyNzk1ZWI3OWM1N2QzM2FmMDZlZDU5YzFjOWNmN2JjZDA5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI5ZmZhM2Y0YzhlN2IzM2I1YjJmYWUzNGYxM2E4NTdlZWM5NzYwZmM5ODc3NGRjOTNmYjQxZmUwODcyNTE4YTMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9sb2dnaW5nLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmE5ZmRkNjgxMmNmNDQ1MTQ5MmJjNDJkMzIwM2NmMWEyMzRiZWY1YTU2NzYyZGRkMzMwNzFlOWY2MGM5YTA3YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvcHJveHktZmFjdG9yeS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZWY4NmZkNTMwMDhmNDQ4ZWFkM2Y5MDQwYzE4ZTcwOTVmN2JiYjI5NTgyMTVjNzc2ZjJjOWYzYjRmM2QyYWRhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhM2VlNTNhM2JmYTYzY2U5NTJiNzExYzI1ZGIwMDYwZDJjOTI2MTQ1ZjY4OWU5NDEzODA0NzI4MzFmMmIzMTQzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F1dGguanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzJkZDY3MDU2NGMwNDJlZTAzZmE4MDJiMGE3ZTNkYjM2YTM4MDFiMzdkYWYzYzA4NTEyODBiMzViNzE4OTJjYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NhZmUtcHJvbWlzZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNjM4NDIyMGUzODI0OWQzNGM5ZTA5YzY5MWRjZTM4MWU2Mjg2Mzg4NzdiYmVkODU3MDhhNzYwNGYxZjlhMWE4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9ub2RlL2Nvbm5lY3Rpb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjZDQxODk5YWMyOWU3ZmI3ZTdjYTcxMTliM2QyYjdlMGQxNTM1MTA2NmMxNWFjMzlkMGJjNjk2ZjlmOGVkNmQ4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcmVwZWF0LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQ5OTA1OTE1Y2NhOTVhMTlmNTRmZGZlZGY3N2VkYjIxMjY1ZTYwNGZlOGJiNjU0ZmZmZTg3YjMyMzBlYTc4NzIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9jb250YWluZXItbW9kdWxlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlMmUyY2MxODVkODRkMmU4YjI5ODNjNGI2YWU5ODE0YjNiYTIxNDhlMDQyZTA5NWQ2ZTM2ZjI0MmRhZTFmNzdmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F1dGguZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWY4YjQ3NDk4MjYzNmM1ODE5ODFlNTY0YWNkODYyOGI2ZWYzNGZhOGQxM2MxN2YxMTE4N2NlYjM4MjI1YWMyNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wZXJtaXNzaW9uLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDQ1MmMxZjNlNGQ3Y2RiNmUwNWRiNTUxMzNhZjYyOGNkOGY3ODVhMThjN2E5MTQ2NjFjNzkwZWMyMjE5NWZiNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjI4MjQ5MmZlMTFiNzVmMzU2OWY5ZGQ5MzI3MWYzNDA2OTM1OTFlNDNmMGU4NzA2OWZhYzM4NWZiY2IwZWUzMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTdjNzJlZmQxNWNlZTg5OWI0ZjQ2Mjg3Mzk0OGNlN2Q4OWFjMjNkZDQzYWRjY2VjMzlkYTBlNzA3OTEyMzUyYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hZG1pbi1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJkNDhjOWE3NTQ4OTk5MzRlMGZjMGE0MWVjOWZmYmNmMWQ4YmMzOGQ1NmU0ODI5MjdhMmI3MjM3ZTQzMTYwMzUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvb3NzLWFsbG93bGlzdC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTEwMDJhZTM0ZGYyMTMxZjYwM2RlYzJmYzEzMzk2ODk3OTVhMTBiN2FhYTRlZjY3NGViMjhkZWU3ZTFiM2QxYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NraXAtaWYuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4MDQ1MGVjNGIwZTExZjEwYTY4Nzc4ZDE3ZGUxOTM4NDljMDFmZjQ5M2RhOGE1M2I0MDUwMzU1NjYwYmIxNjg4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNDg0NTQxY2JlMDYxZDlmMmE0ZmFhYjQ1NGMyZDMwMWRiNTNkODJiOGIyYmM4MGNkMGQzMmM3Njg0NTE4OGQ0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BsYW5zLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGFiMmJiZTViNTIxOGQyNjBiODFkZDliNTQ5NzBmYjBjOTU5ZGIyMDYzMWY4YmU4OWY1OTAyMWE4NDAyYTUzNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvcHJveHktZmFjdG9yeS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQzMzhhMzkwMDY0NTkwMDRmOTQ3OWJhODBiZjBiNjNhMjA3MTQ3MWQzNDAwMjI2MmY0YzgzNzc0M2RhOTQ2ZjYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9tYWtlLWxpbmsuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDU0MGVjNzhlOTUwY2I3MzdmMmI2M2M4ODJhODZkOTM5ODEyYzY2MTJlZTRmMmUzYWM3N2EyNjVmOTMzMjc2MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWYxMTc5NzcwNDg1NzY3YjRkZDhmMmY1YjFjYzIyZDlhYjZhZTMzOTBlNzBiMmM4NzJhN2I2MWZlYjc1OWI3NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWQ5MDFiM2JlMGQwOGRjOTNiMmE5YmM3Y2JhYzlmZmM0YzczMzRhYzNmM2JmZDQ2MjQ3NDM2YTcyOGJkNjdjNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtLXN1YnNjcmlwdGlvbi1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxM2JiMWU1NTBiZDBhM2U5ZjgzMTMwNGQ3NDBjZmVhN2NjZGQ3MGVkNGEwM2YwMGEwYzAxOWM2MzIyMGMyNGEyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYW5hbHl0aWNzLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiY2FlNWY0MTY1MzYyYzcxMTU0NTI0MmVjNDc1MzYwYTg5YjZiMDIyNTJiMjVjZjg1NTIyMGIwNzQ2NDhiZTVjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1zZXJ2aWNlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4Y2YwMDcyODBiNjMxZTdhNDI1OGFiYTE3MDYwZDJjYjdiYThmY2U3MDMyYTA4YmYwMTdjZTVlYzNkZTQ2MjNjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Vudi5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWQwMDgzOWFkYjFmMmNmYzFkMTFhZjQ1YWZmMzRlODQxMjNiZjYwZmRmMzEyZTNmNTE2N2VlMTU3ZjU4Y2E1OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2phZWdlci1jbGllbnQtdHlwZXMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MDFmYmY4MjdkMGIwZTgzNmI3NmVmYzc5M2FlNDU4MzlmZGIxZThhNjUyNmEzZjI3MDE2ZDU3NWU0ZjM4N2U1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDM0MjU1ZjBmM2UzNmQyZDUyNjg0M2NlYzIyYWQ2ZDhjZDkxYTNjMzFlZDBmNmM5NzkxYjllYmI5MTNhNjY3ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvY29ubmVjdGlvbi1lcnJvci1oYW5kbGVyLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE4NDFjOGQ4OTVkMWIzNzMyMDk1ZDJhMGZkMjE3NWI1ZWFlMWJhMjBkNWViZDljZjJmNGE3OWJkMWMwNzNkZDgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kYXRlLXRpbWUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTU0NGM0NjZkYjk1OWU3MTk5NGNjNjUxNjY2YWMxZjE1YmYwZTcxNTZkYTAxMzczNTFmZDkwZTk5NDJmMDMxZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmNhYWYwZjRmZTA5OTc5ODFjY2Y0MzAzOWNmMGU1YTdhMzk1NTMxYzQwOTE2NzlkYmJkZjVmYjUzYWU4NGVhMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dhcmJhZ2UtY29sbGVjdGVkLWNhY2hlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTk1OTBhYzM1YWQ0MTM5YjM0Yjk0ZjJlNTRhZjczODBjM2E4M2I0MTA5YTEzOTFkYzk5YjA4ZmZiY2Q1NTEwNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FuYWx5dGljcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4YjA2NjMwYjE1NWI5ZTdlNTA2YTFmNGU5NWIzMzUxNjI5MDk1NjA0ZjVkZTZmM2NhZjc3NjEyN2I2YzA0YjRjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcmVwZWF0LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg3MDJmNDg5MjBlOTFhMjFlY2VhZjkzM2U3MzE1M2RhNTExMGZjMjdhNjkzZWVhNTAyYWQ2Yjg5MjFmMGRhOWIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5zdGFsbGF0aW9uLWFkbWluLXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU5NmMxMzliMGI4N2UyNGY4ZTZiNDBiMTc4OTk4M2M3ZmM5YWQwYWYyZmQ4M2RiNDNjMTcxZTExOTAwZWJhNTAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLXNlcnZpY2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTYyYTA4NTU0OWYzZTdkYmFjYWQ3NGM5YTMxOTY2MDdjNDZiMmRhZDJiY2Q0OWM4M2JhMWQzNWEyNGRiYzhjMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3ZjVmYzQyZmM5YmI1ZmFkMTgyOGM0MmU3YTdhN2QxZGFjMzQxY2ExOWY3MTAzODNmNmMxMmU2NDc2N2M1OWJkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2FmZS1wcm9taXNlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMDU4OTU2OWMyMTJlZTEzM2MxZGZiYmQ0NjY0ZGRiMmI2MWFjNzgzMzI0ZTk3YzllMGNmOTM2YjViNWE4YTM3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2tpcC1pZi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiMzQ5OWE0NzE4YjcxZTVmMTg3NThjNjQ4OGEyZDNhNWZmZGRiMTc4N2QzN2FiZDlkMWI3Yjc0NmNlMGEwN2NhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dzcmVhZHkuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjMwNjUzNWM1MjdjZTY3OTJjNDYwMzVjZjlhN2QyOGFmZjFkZmM1ODU4ZDgwYzg0YWFlNzM0ZDM1YzljMjcxMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9oZWFkbGVzcy13b3Jrc3BhY2UtbG9nLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJkZjJmMWZiOWEwNjg2NjlmMzJmMzU4ODAwNzM4MGI4NWFjNTc5YWI0YTJhYzAwNzY0YjZmMDg4OWE5YjZmN2UiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTdmYjI0ZWQ4ZmI3ZjI5NGVjZmQ5NzJmZDNiY2I3YTk3ZmE3OTgzYTg3OTY0YmVlZDMwYjMzMTA0NzNjYjMzOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdXRoLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyODg5MjExNmMyMjYyMDYyYjllOWMzMjQwMGQ3YzhhYWViNzZkNjI3ZTg3OTQ5Zjg1NTRhZjhlZjBmN2ZlY2RjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ3JwYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDQxZjBjM2E3NmFkYmRkNjFiOGIyOWJlNDI1M2QxZDhkNTMwZDg5ODA5NDc0YmE4N2E2NmI2YjNlZTc5MDU4OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci93aW5kb3ctY29ubmVjdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiZWRhNWQxYzJhNzA3YWVmNGJhNWMzZTFhNDIzM2Y3ZDllNGE1MGUzMWFhYmYzZGJiOTljODg0NjJlOTg2ZmU5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9oYW5kbGVyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmE3NGE4ODFhOTliNjI3MTlhOWRhMWMxYjNiMjZlZWUyM2U0OWU2MmE3ZTg3YzY3NTU5MGRhMDM5NTZlMDkzYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvaGFuZGxlci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4OWEwNjZlNzlkNGVmOGZhZDQ3ZWI2OWVmOTExZWY5MDAzOWM3MmVkMTY4ODhjOGQ0MWMwNGZhMjZhMWRiNjk1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmYjYyMDQyNGQ3MGUzODgwYjMyNDlmYzdiNzhmYWY5OTk0Y2RiNWQ1NDY5ODk0MDQ3YTlmZjEyYWU5YzA0NDFlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL2Nvbm5lY3Rpb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVkMDRlM2M5ZDExZjE4ZDdhY2YzZmFkMDcxOWZiZWQ0MWNlM2UzZThlOThjMmUxNzVkYmE5MzY2ZDA3NTM1ZWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGhlaWEtcGx1Z2lucy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyMTAxYWRhYmIyMjU0ZjUxNjgyY2IzZGEwM2Y5YjRhNjRjNWEzZTY4MjBiMzMwN2Q4ODczZGMxNmQxMGQxNDZjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luZGV4LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmIxMmIxOTdmOGE2M2Y5NjgzYzRlZjQwNDk4NmQ5YjMxYWJlNjA4NTBlMmU3ZWM1MGM5NGI0ZjY5Y2Y2NmNjMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1jb29raWUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY1ODI4YzIwODMxMTI3ZjU1ZTQ3ZGZkNzhiNWNjNzU5MDI2MDRkMDRlOTMyYjNkY2E1YWE5Mzk4NTE5YzMyY2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWluc3RhbmNlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzI2ZDNlMjA0YTA3YjQ3MGY0NzQyNzI4NzBjNDYyZGE3MmFlOGIyMDA1YzFlMzY2YTM4MzljYTgxMWY4ZDNiNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RhdGUtdGltZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTg0MGUyNTViZTA3MTI5YTQwMGI3OWNjZGYxZmRjODMzNDg1N2YwM2M0M2RmYmNjZDFmY2ExNTJiYzhmNGZhNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2phZWdlci1jbGllbnQtdHlwZXMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGQ3MWIyYzJiODI4NGYyMGU4OGM3MjI3MDk3OWI2OGU1Zjg5OThkZjgzNmU4N2M3M2MzZGM4MjdhZTZlNzA4MCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtZnJvbnRlbmQtc2VydmljZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWFhZDNmMThmYjA0OWY5YTUxM2MwYzg4MmRiNGEzYjFhOTQ4M2JlM2NlNmY0MjEzYzgwYjAxMWI1MWYyNmQzNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hY2NvdW50aW5nLXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjN2EyNzExMzQ3MzAwZWFlMzVkYmZmODkyMmQ2OTRmMDkxN2U3NmRkOTMxYzE5NzYwNTU2MTYwNmZmODIxZTExIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luc3RhbGxhdGlvbi1hZG1pbi1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTFjMTRkMmRjNjAzYmMwZjlkZDQ0ZGU5NWUyMzAzY2Y1ZTI1MDBiOTVmNDQ4Y2UyN2NmNTM2YzIyMGFkZWE4OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiMmFiNmY3MTE4NzJjZjM1YmMwNGE2NzI5MWY3ZGMzMjBiZjNjYTQ0ZDliNGVmNTIwZDlhZTAxMTY3ZGY2MTNiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTE1NWI3YzE3YWRmNTJkY2QxYjliYjdlNjAwM2I5ZWNmMjM4YTc5M2MyODJhMWRiYzk5MTIxNDJmNTA2MTIyMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1jb29raWUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTdmY2UwNGQyYzgwYWRiYjZiYmZhN2ZmMWI5ODM5ODIwNTYyYWM0MjM3YzM5ODJmZjYyNmQ3MWMwNmJkMWUxNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2phZWdlci1jbGllbnQtdHlwZXMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjlkODc1YTNjNmY0OTdlZDFmOWUzYjk4MDAxOTQ1ZjhiZDE5N2IxOTk5ZmI2YWQ4N2UxNzlkNDc3ZDIyZmQ3ODEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmI3MGRiODU4ZGU1NzQ2MzBmYjU1ODAxZTM0MDMyMTk1MTNhMzA5NGEzZWYwY2Q5MzA4NDkzODMxY2UzNGQ2ZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZXAtcGFydGlhbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDFlMDEyYTcxYmYyZmRmMGI4ZWQ1YmMwNGE0NGRhOTI5NmU4OGEzN2EwMzlhYjQ3OWNkOGViNmQzMzI5OGY2NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdXRoLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWIzOThkZTQ5Y2I0ZGQyNWVkMjM3MzY4MzMxZDdjNDI1ZGI1MGNiOGU2YWRiZDgyOGVlM2YxZjBjMDEzZWM0OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbWFpbC1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkM2EyMWM2ZDBiMzg2NmQ1MGQ3MTU3NTVhZjMxOTJiNWI5Mzk5OGFiYzY3N2E0MTY3ZGRjM2NkNGExN2QxOGQzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGUyZWEwOTg4YmQwOTZlNjhkYjRhM2RmZjJmMDZjMzllZDU5NmEzMmUxMDNhY2FiNzRjZDYxYTQzYTlmMDMzOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzg2ZjQwYjg3ZjhkYmFiMDU4ZjU1YWZhMjUyNWZjZTI3OTU3ZTI1Yzg0NDJiMTA3OTRmZTZkNTYwZWFhOTVhOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NraXAtaWYuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBjYmY2MjAyMmI2NTYxNmM1YTFlYzBkNTliZWM4MTE2ODVmZWFiZTIxYjAzODRjOGI5ZWFmNWU3NDFhYjIzZmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjRiYWQyNDg2OTUzZWRhMWQ1NmI1YTZjZWM5ZGExZTMyYmVhYzU0YTA0ZTFhMGMzNDM0MTYxYzRhNzYwMDU5NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtY2x1c3Rlci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiZmRiYzA3YTMxYjdhOThlMmY0MmIxNDRmZDhkYTk1Y2E2NDU4ZDE1ZGI5YTJmN2I3MTAxN2MxMGNmMjJkMjAxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL3dpbmRvdy1jb25uZWN0aW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzNDMxZDdhMDY4ZGRlYTc1MTg1Mjk0NzI0ODM4YWZiZTFlNDlhMzdkYjlmNDE5MDc4MmFkNzRmZjQ4ZTgxOTc0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MDgxNWM4ZWMxNzUwYTg2ZGFmOWUwOTQzZWQzZDMzMWIwOTEyOWExZDJlN2ZmZmY1OTJjOTk4NTIyOGI2NWQ2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24va2V5LXByb3ZpZGVyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NzdlN2I2Y2IzYmVlYTAxYWU0ZDM3NWFkNDkzYWY2N2E0MWIzMzM4NzI3MGY5NTQxZDNjODUzZjIyZjY2N2UwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3R5cGluZ3MvZ2xvYmFscy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE4Njk3MWM0OGE2ZDE0NjNkOGM4NWFiMWQ4NzZmZDQzN2QwNzIxODg3NjgzMTY2NzU5NDVlOTkzMzY0N2VmZjAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGF5bWVudC1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NTRlYjNlYzU1YmM4ZDc5ZThjNmU5MzNhYzQ0MTU3YmRiZWQzOGI2NmFkNzNiM2E0ZmRjYTRhYjQ2OTJlY2EwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9ub2RlL2Nvbm5lY3Rpb24uZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzU4YWVlYTY1ZmVkZTQxMGZiOWI3MDU2NThmM2Q5NDIwMDk4YTI0YTE1NTk3NzllMjgwYTVjYjI0ZDYzNDU0NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbWFpbC1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0ZmE2NDlhOWVjNGZjN2RhZDE1OWM1OGI4MDdkZDcyZTJhMzViY2U5ZGU2NTdmZTViZGVkNTQ3NzE3MGNjMjM1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RoZWlhLXBsdWdpbnMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjIxMWExNWMzNDU1ZWNhNzMzZTg3N2VmMTc5MWQyOTY0OTI2ZDJhMzE1NDdkNTRjOGY5YzBjMDYyMjZlMjNlNjciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Vycm9yLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMyMjIyODlkMDliYjE0MmI3ZmI0OTY4NzA4ODNkMDdhN2Y5NjQxZDJmYmMxNTllNmRmYzAwODFmZGUzMmYyMTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NmRjNzc5NTExMDcxOGQ2ZWE3YjE5ZTFiMDMxN2M3NjBmM2RkZjY3MmMxMTlkNzc3OGM5ZjIyYjlhOGEwZjY0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1zZXJ2aWNlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjcyOTA1NjIxYTRjZTU2ZGZhMWQ1ZGUxZjY4NTQxMDljYzRiOTA1ZTFhNGNkZTJjMDUzM2E2MjViOWY2NDQ3MTIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMDY3ZGM4MzBiMmE1ZGUwZDUyZTc0ZTMyMzgxMjdlNjc5YTkzNmUwYTc3MGFhY2JjZTY2MTYyYjIyMDAzMTRiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ5NzU5MTZiYjNkNjUxZGE2YTAyM2U1OTEzNTRkMGEzNjI3MTNlNGVhNmM3YjY4ZTFlMmZiNjhiNWY4NDFmNzAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjkwNTlhZGMzOWZjYjU0MjExM2QyY2NiMjg3NTJkODYyYjViNjNjZTViYWUxZDZlODU5Mzg1MDQzYjlhNGU5NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2tleS1wcm92aWRlci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMzhhZDhhOWY2NGU1Yjg3MzExODliNjA1MDRiYmJhMzUzYjA3MmNjZmMzZWRlODhhY2RjNDRhOGU5ZDY2ZWVmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVlODUyNGFhYzQ0MGFiNmZlMzM5NjEyNmE3Yzc3NmVkYzM5NzVhNTMzYjgyZWNiODE4Yjk4MjZjMjI5MDhhNmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgwZjZkNjIzNjlmYWUzNmZlYjg2NmYxZDA5MTg5YTE5ZDYwZDk5YTM5ZjM4OWVkNzg1ZmY0NGI1Nzc5MTU0YWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMyNTVmYTBkNzc4OGY0MzVjZDA4NTI5NTI5ZWI5OWUzZjVhM2QxZmE1MjUyOGFmNTY0N2MwZWNkODFjZGQ5NGIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC93b3Jrc3BhY2UtcG9ydC1hdXRoZW50aWNhdGlvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1OWVjYjIwMjlkZjFjNWIyYjc3ZTA1ZTA0NDViYzA1MWQ1ZjZiNDZmMjAyNTUxYzYyYjc2MmY3YTYwYzg3OTE2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dzcmVhZHkuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmVkODM4OTE3ZTNkYTQwNjlkYTAyNGQyZDRmMWFkMGY0M2EwNjkwNTM4Y2M2ODg4OTEyMjVhYTk2NmEwNjA5OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbnYuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3NDA1ZmY5OThhYmY5OGQ0MDFiMWU1NGVlOGM1N2JlMDUyN2Q2M2U1YmUyMjJkMDZmYTU4NDk2NDAzYTQ1NTlhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW0tc3Vic2NyaXB0aW9uLXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1NTdhYWEzY2EyYjc0ODRjMWI1ZWIyZGQxZTFmZWRlMjBlNTI0YzcwNmNlMTE2ZWJmYjQ0YzRhNzQ4MzI1OGI1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbG9nZ2luZy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1ODExYWE3NTNmMWU5NWU3Yjg1OTRiNDE2ODJjM2NkMTRiNmM0NGI5NWNhYmNhM2EyOWRmYTM5MmI5ZGViYmY5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2tpcC1pZi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwYjdhZjkzMDNlMjRjMzI1ZmM5OTZmODM1ZWVmZDczNjE5ODg3ZDlhZjllZjdjMTYyYzRmYjk3OTFlMDNmMzE2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vY29udGFpbmVyLW1vZHVsZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjOTIzNDIwN2NjMzgzNjVlN2FhNThmOWZmNWQ3N2RlMDg2ODM3ZjhkMGRmYzM0OWRhMzYwMzg2NmIxZDczZTM5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1jbHVzdGVyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDNkZjlmMGZmOTUyZDVhZjI2ZWUyMzFiNGU5ZTQ4ZjZlZTE1YWEyOTgxY2VkY2VlYmViYTUwMTI3ZDkzNWY1YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU1Y2NjYjg4MjdkN2E5MGQ1YmNjYmQ5MDU2MDg2OTJhYTA1M2YyYzA0Mzg2ZGZjZTVkZWZkMGEzYmIxNjM3ZDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWVwLXBhcnRpYWwuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NjRhMjkzMWMxNzkzZGRlYTVhODZmMjU3NmNmYmU0M2IzMmFlMDIwZjZkYTk1OGFlNGY2OTA1ZjlmNTFmMjEwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FuYWx5dGljcy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMzZjY2ZGE5M2MxNDAxNTA1YzFhODY4MGNhNDBkNzg5YTI4ZDgwODRhNzQ4MjUzMDlmYWM1NTM0NzE5ZDE4NzEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2hhbmRsZXIuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE0MzczMGQxNzcwY2I2NGMzMzYzMTQzZmI4ODY3ODMyZWU4ODdhNDAxYjhmYjUwMzAzNDYyYzQ5MTZjYmU5MTIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3YzJmMjU5NjdmODVhZDc2M2IxMGRlOWUxNjQ2N2Y2N2FjNzM2OWYwOTE4NDYzYjg4NjUyNzUzNmNjNTZkZTk4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjAyNGU0MjQ4Y2E0MGM0YmVhY2EyZDliMTVlM2M3NzY5MmY5ZDE4ZGEyOWU3MmQ2YzQzOTcwZmUzMWIxMDkzYjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3NjJiMTA2NWNkOTUyYzliNzNmYjc2ZTM0YzUxOTNjMTAxNjZmMzk5YTM3OWEyNTAyOTNmZjhjNjkxMDJmMjU3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNGNjM2RiOTM3Yzg2YzNiYWU1ZDg3ZDlmODk1NjFiMGYxZmRiN2FmN2UxNWM2ODY1YjhkMGYxNmQ5ZmI2YThiZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wYXltZW50LXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWM4YTM5MDczZjZkZWY5ZmYyOWYyMGUwZjljMWQ2NGNjM2YxMTg1YTUxN2Y2YjAzNmY2NGJlMThjZTc3NWQzNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWM2OWQzOWJlMTEzMDk0MjlhMTZiMzFjMTYwZDNjNDAzMDJmNzEzYzYwMzRhZTEyNmFhYzJiZTQ1ZDM4ZGNiZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJjMWM3ZDM5N2ZjZmJlYjYxNjk2ZjY3MmExNjZjYjU0ZWUxNDhkYTVkNTU1Y2M1Mzc3NzU1ZGQ4NjBiYjNhNGYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9tYWtlLWxpbmsuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVlM2E3Y2ViYjRiMDhmMjg1NDdmODliZmM0ZTZhYzM2NmY4NjViMjkzNjRmYWE1ZTVmYmY0OWU1YmVjZmExZDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzk3ZjhlOTQ0NmE4MmUzMzVhNDNmZjIxZjQ0MTBlNTZmNTU0ODY5MDNiMWE4ZWM2MTRiMDVhMWJkN2E1MzgxNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4ZDI2MjdhNGZmMmMwODFiOGQ0N2JjYzM2MGZkOWM1N2Y0OTRiNGU4ZDNmMjZiMzdlNzkzNjNkNjdhNmM0MWUzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dzcmVhZHkuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4MGRlZjQwMDNlYzAzZDljNDNkM2ZhZDRhZWZiYWY5MTgyM2Q1ZWMwMGU2ZjNiOTQyYzYyZThhNzZhNDE5NGEyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2VtYXBob3JlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTUwY2VlNzBjMzFjYWU0MzY3MjJiMTQ5N2E5NTFlMDNiMmQxZjRmM2YyNzlkZmVjZjBjOGZjMGU5MGViODM4NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MDBlNWJjNTY3Y2E1NjQ0ZTYxYzMxY2U3ODNhNTNmYWJjZjIzYWZmOWM0ZmVlZjdlYmQwYmQ0MjIzMmIxOGE5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Blcm1pc3Npb24uanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDI2NGE5NzQyOWQ2MjU5NDEyMzM0ZTQxNGFjMjAzYTA3ZmM0OTVhMGUzNmZjNzQ4ZmU5NThjNDIxYmM5ODBiYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI1NDliNTRiMDU1YTE4YzI1MTlkNTY2YTIwMzg5MjJlNTA4NzVjNTNmM2VmOWEyNGY4ZjBmODUxOWM2NDVjMmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvb3NzLWFsbG93bGlzdC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NzdlOTNkM2NmZTQwMzgyNGJlOTFiNTRhMTAyMTBkZjNkNjE5NWFkYzQyZmUwZDBjZWQ2OWZlYTg1NjE5MWFkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2xpY2Vuc2UtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjRlYWYwOWUyNWNkYjQ2MDM5Y2ZkMDZmNmNhMTFmOTNhZjA3Y2JmZmI2YzNmNmZmOWE5NTQ4OTY1YWNlMDQ2MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1YTRjN2UxODUxODllNDEwZWFmMDY4OWY5NmRhMTNiZTg5NjUwNWNjNjQxZmYyY2M4ODg0MDNlMDkzYzcxNjZjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2VtYXBob3JlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNiMWQ5YTU2YmU5YWMzZTM2NmI3Y2UyZWVjZWQ0M2M5MDM2ZDNkYzhiOWVhMjEyMWQ3NjgyYjEzMWYyNTNiYjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGF5bWVudC1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkYzc3NDFkZDM5ODQ5OTcyYzk1ZTlkMWE3OWY1NWVjODk2OTZkZWM3YTQ3NjllMWNkNjdhNDUxNDVjNjkxMGFlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkOWJhYmM1YjQ5MzYwMzk3NWQ4OGRhZmRlYzRlYjkxNWY1NTE0ZDhmMGEyNmJmNGRmMGI2OGIwNTBlMmIzNTYzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvY2FuY2VsYWJsZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVkZjViYzUzOTBiZDM5ZjRmYTI0YzFkYzhlNTZjNjVhNTViMWM1M2FkODdjYWJjMDU2ZWYyYTRkMGNmZGMyNjgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3Y2JhYzk2MTNlZDQwMDIzMWExNmNjYmU5ZDg5MWUyZDZhYmU4Mjc0Yjc3MGI1YjZkMjBhMzQ2MDA2NGM1OTk2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcmVwZWF0LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNjM5NjUxZmVmMDhhNjFjNjdkZDBiOTBkNDdhNWQxNDAxNDljMzRhMjU2M2VhNWRiMGU1ZWNmNTcwMjViYTE0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVlcC1wYXJ0aWFsLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU2ZDlkOGQyYWY4OGNhMTcyMjY0ZWQ5MGE5NWRkZmIzNmRlNzFmZDcxNTFhMTQ0YmM2NDYzZTA2ZTVmNmMxMjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5zdGFsbGF0aW9uLWFkbWluLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGJlM2M2ODVmZTEwZjcyNzMyZDhiMjI5NTY5MmE1YzcxMGRlYjYzMmM5NjJkMDMzMTI2N2YyNDk3N2JhNjdlNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtZnJvbnRlbmQtc2VydmljZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgwNzE2ZDgyNjgxZjk4N2ViM2U1NGI3ZGFkMjE5MDZjYmI4OGZkZjE0ZWNiMjc4NWU0N2U3NmI1OTIxMDk3YTAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWNjb3VudGluZy1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE1MzJiM2ZkZTVhOGM5NzQwNWQwNzlmODZhYTNiYWUxZWFlZmRiYzRjN2ZiMGRjYWVjYzJlNTVjYTk3ZTAzOTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5kZXguZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmE5YWI5ZDc2ZmY0YTg4OTc4MjY3MWM3ZjJjZDlkMGU4YzAyMTk1ZTM3NmE2MTdiNGU2OTAzNTQxNzM3YTQyOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2NhbmNlbGFibGUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjNiYWNiNjgyYzkwY2Y4MGVlYTIyZWViODc0MjkwOTkxMDMzNTBjYjNlNmVlOWFkYzM5ZmMxMDU5ODUzOGE5YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTc3N2ZiZWY4Nzc0MjA2ZTc1MzM2ZjFmOGY2ZmY5ZmRmMjkxYjUzMTEwNTVlYjUyNmFhZmFjMmI1Y2VlMjNhZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90aGVpYS1wbHVnaW5zLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE4MGI3NDZjNDViMzBhNTViODg2Y2QwNTU0ZWU3MzI0YjViOGEyOGJiOGYzMDkwODAxOTYwMTdmZDBjNDFlNWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQyZTk0MDRjMjBiYWI0YTgxZWU4MzRlMDhhOGU0ODc1ZmIzMWMwZDYxYWYxOTk1MWQ1ODQ4YWNhOGVjODk1Y2UiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGxhbnMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjkwN2U2OTA2OTRkZDJkMzgxZmFkMjcyY2M4NTc0N2Y1YzY4NGQ3OTBlZmE1ZDRiNGJmMGMxZmYwNGY3MDY4ZDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMThhZDc0NzY0MmZmMjc3NTJjYTJhN2YzNjEwMDgyM2E1OGM5MGYyYWFhYWVkMDFlOGRhNDM0YTMyNjU1ZWY0NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRlNjUyMDhmZTdkMGQzMDNkMjJmZjI3NjgzYmM2NDRhMGE0Zjk1MGEzMGRmNzQ5ODdjYzVkMmY2NGMzZDkwZWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU1MjM1NzZjOTQ1OWNmODVkNjZhN2VhNmM2MjgzNzZkNzYwYmIyODVhYTE2NzYxNGY4OGVmNGExYThhOGMzYjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE5ZjZiYzU2ZGJmMWQ2ODI1ODNlOTI2OTgzNDIyYWI3ZDYzZjZkZmE5NjlhY2Q2OWYxOGEyZDY2MDAwY2NkMDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC93b3Jrc3BhY2UtcG9ydC1hdXRoZW50aWNhdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ZjgzNmFkZjEyNTYzMjQ4OTlmNDEwYzdkNWY4ZTQzMDJkZDBkZjdhMWY1MDA4YTFkNjdmYjliZTQ1NzY5OGM1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3R5cGluZ3MvZ2xvYmFscy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0YzcyZTM3MjNkYmQ5ZGY1MmNmZmU2OGNjYjhlOTdkMzY5ZWY3ZGIxYTIzYjVlNWUxNmNkOWM1YjcwNDMzOGY4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZXZlbnQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTdhMjczMWQzNWJjNjNiYzlkMzNlODdmY2NhMzU3ZjY3M2RjYzMwYTAwMWNjNDUxZGQ4YTBkMDdhNmU5MTk5YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hZG1pbi1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGYzYWUzMzNmOWYyZWQ5ODgwZWU1ZjA5MTUwYzExZGYzMmM1YTI2ODc2YWUyYzdkNTFhZmQ5YWEwMzNhZTgyNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVmMGY0Nzk3YTgxNTE0Nzc5MzY3MTMxMjRhM2I3YWEwMDNiYzcyYzZiMjljNTNiYmM4ZWVkNTk3ZTBhNzNhNGMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWNjb3VudGluZy1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkNDYyMDFkOWEyZDVhNDdkMjc5ZTA4YTllYmM0MTQ4MTQ5MmU2YmRlMTcyNmY1ODdhMzgyNjZlYWQ2NmU1ODc1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1zZXJ2aWNlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU2YjgzZTUxNzcxOTRiNjJhNDY0MTM3M2Q3MmYzMDIwODFjODg5NTM3MWNiOTAxMTUzNzI1ZmQ4Yzc5MWZjYzAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZWJjYjVhMjE1YzdjZTE3MzkwNDliYTRlNzE0ZjU3YWY5NzgzOWRkOTU5ZDQyN2Y1N2NiNGY5NzAwYzk4Y2JkYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wYXltZW50LXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3NWNiZDgwMzZhMmE3YjZjNzdkZWM1OWMxOTc4ZmFhYTY5NTdjYjlmZTU4ZDU1YjQ5MDFiMzdlNmRlN2EzYjRmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1jbHVzdGVyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjYjZmOTZhNmY0MTBmMzU0MTIwNDMxMDhlNWU2ZDY0ZDhiOTkyNWI1ZTc2YTI4MjQ5ZDAwOWRkNmMyMGVlMzc4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1zZXJ2aWNlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzYTNlNzA0NDEzY2I4N2VlNDczYjRmMGVjNTU4OGJmNTZhMTBhYmYyYWVjOWU1ZjEzNDEyZTNlYjJlYTlkNTg1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM1ODdkNDg0ZTA2NTdhMDgwM2FlZmFiZTUwNzI3Y2VjODAzZmJlMzQ5YzUxYzkwNTdlMzQwYzBlZTRhZDhiMDAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzJmNTZlZTBjNzUzOWMzOWY2OTcxZWU5ZmE4MWMwNDUwZGZmNDRhYTNmMDFkNjY2YzhhZDYyMjliZGYzMzQ2NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dhcmJhZ2UtY29sbGVjdGVkLWNhY2hlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjUwZGRmMWIzYzUyYzNmN2VjY2ZkYjI2ZGVkYzgxOTBkOTAxMmFkODgyYmM5MzNiOGNlNWNmNmMzNjI5YTA0MWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWVwLXBhcnRpYWwuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDVlNjgxMTM4MjcwNTFjZGQ5MTk1N2QyOWFlNjNhODFlZDBlODQ3YmE4OTE5YzdiZjhmOTdlOWJmNjlhMGQ0YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyMTMwMzllNWZlYTE5MDI5MTA2MDVhMzZjYjJmNWQzYWYwNGUwZTdlNTAzMzY5MmUzZDFkOWVmYTU3MzVlY2YzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Blcm1pc3Npb24uZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzIwYTlkZjc2ZmUwNDg0MmIxNGQ5YjdiNTgzZWJkN2MwNDRlZDAyZjc4MzFlNTE5MDI5ZTU1OTljNmEzMWNhMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiZmQxNjY0OWVhNTQyODhhZmIxM2JlM2YxMWZjOTg3OWZhMmVjNjJiYTJlOWU0ZmI0NTIwNTJlNWE0OTlmYzNmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTYxMTQ3MzM3YTViZjZlZWQ4NDJlNmE0Y2IwMGRjYzU4YTNjNTM1ZTE1NDU0NDg4NWRhYmQ5YjYyZTAxZjZkNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tc2VydmljZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImYyNTkwODQyZGQ3NjdlZjkwOTU3NmJiYWI4MTEwNWY1MDQ1OTRiNDZlY2JhOTJkNmJmZmRkYTBlNjZmMGUxMDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Nvbm5lY3Rpb24tZXJyb3ItaGFuZGxlci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMyMzU4Y2Q2OGQ4MTM1NjczOTQ4ZTExZTY3ODRkOTQ5OTA0N2ZiM2UzMjcwM2JiMTJhZGY3NzgwNGJkZTlmN2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGU1ZTYxYTcxM2VhMGY4M2QzOWNlNmU4NzEyNWUzNDUzOTkwMmI0NTE5NmUzMGZjYmFhY2NkMjU1N2U4NWFkZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQwNTM0ZDU1ODllNWZiNzg1N2U4NDU0ZTI2MzY3OTY0Y2Y4MDEzODZkMWZiOGZjMDUxNWNlMmU0MWIxMDllOGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyNDFjZmFhMjA2M2VlMGM5ZmZjYmRhYjcwNTMyY2Y3ZTNjMmQ2ZjRhMWVjMmI2NmFkMjBmMGQ5NWVlMjRhMTk0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRkOWU5MjY5NDZmMmFlNzljYjAwNDQ3NjFiMGU3OTQzMzQzODhhYjkzZDJkYjcwNWE2MmQ4OTc1OGUwNTJhNTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGxhbnMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDZkNjRlZWQ3MGQzNzc4OThjOGJmOGY0MWZkMzhhZjgzYzk4N2M4MDQ1OTY4MjAyODU2YTIwYzQ1ZTEyYzViMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dycGMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDEzNjQ1ZjdlNDgzNGUzZmU2MTM2NWQ1ZDI1Y2JlZTE1MTQ1NDdhYjY4MzM2MmMwMWY1N2E4OWU1ZGI2ZThkMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtY2x1c3Rlci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NmQ1MWNiMWQ1MWRlODkzYWVkOTRkMTU2ODBjYzc5NThmNzYwODk4ZTUzZWE0ZTg2NjE4OTY5ZjlhZWUxM2MxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24va2V5LXByb3ZpZGVyLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNlNDI0YjE2MzAzNmNhNTJlOGZlNjc4M2UzZTJiYzcxMWMxOTFjZTMwZTY2MzE1ZDFjNWM1NmQ3YTdkMDU1ZWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ldmVudC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiN2QzNzk0YmI2NDkxYTkxYmNkMTQwMDc0NWViN2Y3NDA4ODNhYjE0NTRhOWU5ZTM4OTYxMjUxMGMzMDgxYTVlZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiYzQ0MGU0OTM2ZDFjYzM3Zjg1Y2E3ODNhMjQ2ZDc3YjY4OWM1NDA1ODJlYWI5MWQ3ZTQxNmQxYjQ3ZTk4ZjFhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9ub2RlL2Nvbm5lY3Rpb24uanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGM2MWQ3ZGRlZmU4NTM0ZDRmZmYwYjc3ODJlNmE0YTNlNDY3NjdkNzFmNjhhMzA1NTg0MjhmYzlmZDlhZTk1OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvY29ubmVjdGlvbi1lcnJvci1oYW5kbGVyLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA0YzRiNTI2ZWE2NWUwMGE1NjllMTU1ODdjNmRlY2IwYTdhY2NlNTE3MDYyNWQxYTlmNzkwOTBjYjUwM2QzOGEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk4Y2RlNTc1ZGQ3ZjE4MTE0MDM0OWIyMTUxOTcxOWRjZTNmZGIxMWI2MWMyNDg5NjcxMTE4MzBkNDlhYjE2M2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbGljZW5zZS1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzAyNGI0YzUxNTI1MWUyYTE5NzdkNDdlMTkzZDlkMjRmYWU1MDFmZTA2YmNlMWY5OWM1NTdjOGQxYTRjNTU3NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtcy1wcm9qZWN0cy1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyOTM5MDAyYWRhZDc0MjM5NDMyNGY5MmIwNjY5MmNiYWQ3MmU3NjhhNjdjNzcyMDM5MWIxNmE1MWEyOGM2MDlkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ3JwYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxZTZlZjJjMTEwMjA0N2ZmZmJhZDJjYTAzNTI0ZWU4ZjQwZWQ1NTlmZDc3NDBmMTJhMDg2ZWU0Y2JjNTU1MTU3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FjY291bnRpbmctcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjhiODllOWRmYmEwZTM3ZTRlODUyMzU2YTNiOGIzNzI5YWFlZjJlOWIzYzU5MGE4MjAzMWFlMTc3YTdmZmViZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVhYjhkMDhhMzdiNDYyNzY4MGI5MjY2YWNiMTlhNTY4ZWRlMzgyNmFlNDNmZmUxMjY0ODRiNjlmNzhlNjc1N2YiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbS1zdWJzY3JpcHRpb24tcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTBkOWZjNzBkMDQ0Y2UwMDFiZWRmOTU1MjQ1OWYyNWFjYmZlYjg2OTY0ZGNjYjFjNzUzYTU2NGZhYjQzMzIyZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL21ha2UtbGluay5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxOTk5OWY0ZTZmYWYwYWY3YzM0ZmU0OWFkNDQ0NDJlOTA5ZjYxNWMyZGExNWZhOTUwZGYxZDUzZmEzYzZiMDI3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1zZXJ2aWNlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmM1ODI1ZTY1NTMxZGQwYmFlZjRlZDIwNzg4OTFiMTJkMzcxMDcyZDkzNTJiYjE3ZDEwZWY4MGIxZDM5ODhkZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FzeW5jLWl0ZXJhdG9yLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmM2NhNGJkMGU5MGFkMDc0NzgwY2M2NjlhZmFhZjEwOTQ2ZTZlZDU1N2U1NDc2M2M5YWQ5N2VhNDlkZTdlY2MwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDg0Y2FmNzllZmM3OTkyNGQ0ZGI1ZmRmZDYwZmM5OWNhMWZjNzBmMjNlZmIxODY2NTMxYjFiYmQ0YWMxNzlmMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pbmRleC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODhjYjU1OWY3NzYwYTk5NjcxOWE5MjJiMDJhM2RiNWMxNGQ5ZDdiNDllYWUzZDc4ZmM5NjNiZjZiOTg0YTViMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MWEzYWEyOThjMjc2NjQ4YzdhYzI0YTg0MTE1YmY1YzhkNzM3NWYxYmZjMzU3MjgyZjFjYjQzOGM1ODk4NDgwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Blcm1pc3Npb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjExNjMyZWIwMDJkOWIyYmZhZTg0YjJmNzFjZGIwODkwNGM5NDdlMmJiNTQ2YmQ1MDYyZTFkNzkzOWEyOTI1ODYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbGljZW5zZS1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlY2E4YTA4Y2MyZjJiYWEyMGRlMTk3NWM3ZmU2NmExN2JjZTcxYzUyOTY4MzNmZmQzNzI4MzVlYjI4ZWNmMjhlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1mcm9udGVuZC1zZXJ2aWNlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI3MDliMmNkNDA3ZDczNDA0ZTViYjc1N2YzNGE1MjExZTkzOTg3OGI0NGRhMmRmOTQyMmZlYWE4NjVhZWFiNTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvY29ubmVjdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1NGZmN2M0MzA2MzEzNDY1OTcxNzJhYjFiMWUxZjIwY2FjZjBiM2Q3NWJiY2QyZmQ1YTc4MDczNmNiMWRmOGFhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU0MWUyMzYxMDM3M2NlZGVhZWZhYTNjMmYwNDc0OWFhNTVjYTc4YTNjNWViZDk1ODhhZmIyODkwODViNTVkZmYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NmRhMDQ0ZjUzMjAzM2VlYTA1ODI4ZDZkOGZiYjg3MDE5OGYzZjExZjliNDQ0NDk0MmE0MmMxNWVkYjM4ZjBkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NTgyYzE5MWM0MzYyNDA0ZTc4NzUzZmEwMTU1YWFmMzI5YTM4NjJiMDM4ODNhMDI5NDc3YjRlNmY2MDlkZDA1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9jbGllbnQtY2FsbC1tZXRyaWNzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY4ZGViZGRjMjIxZDYzYTIyOTEzMzAxYzM0ZDU4OWI0ZGEyNTcwYjE2YTRhZTE5ZjEwM2NmODQwNGM0Y2Q0NmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTMxMTk4MjQwNDdmYTM2OWIyYjhjZTYwYWJiMzFmNWRmNjFkNzgwODE0NTg4NTViZjQ4MzgzNmFiNGRmYTBkNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM2OGFlMTIwMDU5ODE5ZTBlYzZmZjNhNDg3Zjg0ODM4YTk2YmZjNzFlNzkwY2VkZmRjN2UyZTkyMzdkOTU2Y2YiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NDk2YjA4NDhiYWJkNmFiNjllMGMwNjRkNDFmZjJlMGI1MzAwZGVjMjc1NWE2MDYxZTQ4NzhkZTBiOGFjNWVlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNiYjhiNjBlNmY1YTdjYmE1ZWY1YjU3NTNhMzZmZGM2OGFhMzJjZmQyZTllYzI1OTkwYzNjZjY4NWQ0MTA4NDkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNGJjMjVjYmQzMGI0MzJhYzk2MDJjYTA5M2E1YTM3NmU0YjA1Mjc2MTdjZmE1NTNhOGM1ZTUyOGZkM2ViYTZkNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTBhNjQzZTBiMjM2N2E0OWNhNTU0MTBiOGQ0MzE5YWUyMWU3ZmRmZmZkNDg5OTQ5YmZhMTI5ZTY4NjBlNjZlZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVkNDBhNTRiYWQyMzhhNjI3MzhhYTA0ZmU0ODY3Y2MwYzgxM2Q5YzFhYWIyMGExZTI4YWE5OGViNmIwNTExMGYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Nvbm5lY3Rpb24tZXJyb3ItaGFuZGxlci5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMmExNjgyZmIwZTZiMDU3NThjZjFlOWIyZDkwY2FkOTIyMDA4ZjQ1YThkMzlmYTM4NTc0MDAyZWQ4MzM3N2JlYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzE3ODVjNDE2MDM4YzJmNzJkMTk3MTkyOTkzOTQ5MTgyZGY2OWRmY2RiMmIwNmQ2NDE4OGI3MWE4NDUzZWUwNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2NvbnRhaW5lci1tb2R1bGUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTQ2M2VjMmYwOTE5ZGUwMjEyZjcxZjA0ZjM0YzFhN2Y3Mjc3ODFhNDM1NWVhODRjOTI4NDM1NDY4OWExNTI1YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2NhbmNlbGFibGUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQ2Nzc2ZWUyMmZmYzQwYzBmOTA1YmUwZDZlMTI5MzhjNGE5Zjc2N2YwMzM3YzRlNjZjMTE1YmU5MTM0OWU4NmMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL25vZGUvY29ubmVjdGlvbi5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTc4NTNkN2I3ZTUxZDZhMzQ2MTRjMmVhYTc0OWRlYzFhNDAyYjZkYjg1OGMwM2E5N2RhNjgyYWEyODYxMGFiYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbnYuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDVhNmVkZDZkMzFhYzc3ZDRmYzdkYTk1NzMxMjc1NTM0ZDE5YjJhZmIyMWQxMTg1OWEyNzVmNDY3MGJmNzQ3NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmRlYTY3YWNlY2EyNzRlYjRhNDVmMTQ4NjJmYTMzMTcxNDJhN2YzNjFlY2U5YTA1MmY0ZDg4ZjU3Njg2MzFjNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWFkYzBiYjcxNjAxZTgxZTRiZjNkZGNhYjc0YzNhMDhjNDdkNDRlMjI5MjVjOWM5MWUwZWFiOGU5N2IxY2FiYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci93aW5kb3ctY29ubmVjdGlvbi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRmYTM1Yjk5YTJiOTZlZTdjMmI0OGNmMDkwMzk1M2U2MDI5MTNlMTg5OTJlYWIxNmNhMWI4NzJjNDAyMTc2NWIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWZlcnJlZC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NDNkZTE1NTIwMTExNTkxNzJkYmQ1MWQ0YjliZDM2MGNkNTNlZWE2MGNkMWFkMDUxMmUwNDBkMWU0ZDUyZjliIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImUzODdhZTc3N2RiZDg5N2EzMTA4NTE0MjFiMjJiMmY2YTMyYzNjZDZmOGUxMTdmOTNlZTNjNThlY2MxY2MxNWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nYXJiYWdlLWNvbGxlY3RlZC1jYWNoZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjQzNDRlZWE0NzRmZTk3OTk4N2M5YmZlZjk1MWZhMzg4ZGM1MmRkZTVlMTVlZmNjZmEyMjA2YzE3NzNmMTBkNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci93aW5kb3ctY29ubmVjdGlvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyMDk1NzcyYjVjYzhlZWZlNWM0M2E5YWQ2YTU0OTZjMWVjMmExMTc1YzJiZjhkNjM4NTM2ZDkzYTRkYjI1NjA4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiYmZiMjJlZWVlOWNmNzkxYWMzZjA0MTQzNGMwMGQ4OTI2M2IwNzVhNTEyMTg0MDdhMTA3ODQ5OGZhM2I3YmE5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGRiNWZiZTg0MzU0NWNjMjI1YTI1MmU0NGI0MGUyYzY1ZWQ3YWRhOWQwZjZmZTRiMGE4ZGQwYWI4Y2YyYWJhMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90eXBpbmdzL2dsb2JhbHMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNkNjcxOTIwN2JmOWE4OTY0NDk3Y2NmODQ1ZjRiOTk1ZjcxMjE2ZjJlNzc4NGU5NjAyZWJmNWYzNDllNjRiZDAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvY29ubmVjdGlvbi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJjNDA4OWM5MGU3MjQzYTU0Mjc2OTkyZTEwMjQxMDQ3OTg4Y2QwMTE5YTE4YTY1NTFkYWYzMTE1NTU3OTk0ODYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9jYW5jZWxhYmxlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJhYTg2OWVkMzk4MGI2YTBmN2NjOTcyMDdjZTkxZjI5ZjdjZGMyZTM3NzI2YjNiNTcxN2QwZjYyYzJlMTA1MTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImIwNTA2ZWExYjAyZDhkYThiNzczOGRlZTkzYzQ5ZTdiZDllNTc5ZDY1Y2NmMWFhNTFkNjgwODVkNDk5OTZhYjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdkZWU3NTBlMjg5MGRiODgwMDEyNTExOTg3MmYzYjJhMTUzNTFiMmY1ZWU0YzY2MmY1MzNiMTY0MGU2MWQ3YzIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5kZXguanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmNlMjBlNzNlZDlmNzVjOTI3NmRkYzhhMDQ0YzRiMTEwN2Q0ODAzNjU5MmQzZmY0MmMyMWI4ZjMzNzkzNWJjMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hZG1pbi1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1NmVjZDMyNjQ5NDNlNmUzN2Q3YjgwMjdjMTc1NzY1NjEzMTI3NDQzMjc2YmZjOWQyMjY2NDMyZmMxNDlhNTZkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYXN5bmMtaXRlcmF0b3IuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjY5M2NhMTIyMjhjODY1MmFiNWVjMGJhMmVjNTczNzEyYTU5NTY3ZjU2OTA0OWZlZmZjYjk0YjVjMmZiYjU2YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci9jb25uZWN0aW9uLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJkNTUxZGViODQyNGM0NWU5M2E5MWQ4YWVhZmIyNGY0NDY1ODcyM2NmOTYyZjgxNmI3ODgxYjhlZWIxNTZkNWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImEwOTk3OTY5YWFhNDc1MDYyODVjMTgyZGZjNTg5ODA5ZGViZWM3NTFlYTUyNzYzMzU2NmFiZmZmYjdlYmU0MzAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDBlNDA2YWNhYjU2NTVhNjhkMTU1YjNhN2Q0MGFkZjk5ZGQ4NTVmZDYyOTFlNTZkMjYzNjM4ZTY0ZDEyY2I2MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9vc3MtYWxsb3dsaXN0LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmQyYzc1MWFlN2ExODFlYWYzZmRlMzlkODNiNWQ2ZWYxYTkxNTliMjAwNGQwNTMzOWQzN2U1OTA3YjM2MTYxZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2phZWdlci1jbGllbnQtdHlwZXMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZWZhMjMyMGE0NWQwNmQwZWI1MDM4ZTM4ZGZiY2I4OWZiNDMwZTFlMDZjZjQxZTdkMzI3ZDY1NjNmMmYyYzZjOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RhdGUtdGltZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZhNDJhZWI1NzNhMTZjNGFkZmUwMzNiY2E5MWU2YTJkMjJlNjUzNGNiYTBkOGUxYzFjNDc0ZmM4NjZiN2FjZDgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmZTVjYjMyNzYzMzQ3YjkyNzEwMzY4MmNiYWQwNDY4ZWIwZmIxZTkzODY3OWM0NDY0NTYwOTdmNWRkZTA3NjlhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BsYW5zLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjYwMDU0YzlhYTk0ZDliMzY2ZjYxZmVmYzBjOThjZTQxNDUyNzcyOGZlMDQyY2YzNThkZTcwMTM3NTM1NmUyNDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYW5hbHl0aWNzLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyOWExZjUwZmMxZmNmMzY2YzAzMTEyMWI2NWVmNjIyOTVkY2M5ZGIyOWM5OTZmY2QyMGY3ZTg2MzE0ZjNkZjU1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjhiYzg0ZjUxNTEzYjQ1MTE3NTllMjc4NDU2MzQwMWNjYzk3NjI5NWU5NzU0YzhjZjUwNGRjODUwODcyMDYxYjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MjFjZmMyMmY0YTExNmJiZmM3YWU4MGJkZGFlYmRiYjg5YTliY2YzOWFjZjI5NWI5ODQ3ODYzOTgzZmI0NjMzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGF0ZS10aW1lLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY4NzhiZWIwZjdjZWYyZmE4OTI2NjU1ZTVjNTk5MGMwOWE2YjljODBjMDQxNjYxMDI0YmIwYjBiZjIyYzhhMTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbS1zdWJzY3JpcHRpb24tcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwZjIxZGQ2Y2ZiMmYxNGY4OTg0MWMxYmE3NWQ1MWU4MDZkNWQwNjljNTJiZTdhYzc4YTI0ZWI1NDlkMjM2NTI2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcmVwZWF0LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTdjYTYwMzRiOTU3ZmUyODVmNzZmMWNkYzQ1MjA1OTQ4ZGJmOWE3MzAxMThjMzI5MjYwZmFkMzg0OTU3ZmU4NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvY2xpZW50LWNhbGwtbWV0cmljcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhMjEwMjBhY2IxOTZlYmFjOGM0OTU3MDU2NGM0NGFmN2QzNjE2Y2M3MzFlYmQyYTZiMWQ1M2ViOGNiOWRmYTIxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVmZXJyZWQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTg4ZThlZWJmZDM4OTA5OTA4ZTMwOGM2MDg2YmUzNGMxZGM5YWM1MzhiYTM4Zjg1NWU5MDMwMWI3NDc4NDkxYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU2NjU0N2VkNmE5OTYzNTBkOTZkZjVkYmYwNzEzMjdlYjNjOTA1MjJiODc1OTY4NzljMTU3ZjcwOWQxNzYxMjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ldmVudC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjNDUyM2Q1OWEzNWFkNTljYTFlNjlkZWYxOWE4ZjFjMDBiMDdjMmJkNDFiMThlZDg1YzExZjJhNWQ1ODNjNDg0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VtYWlsLXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyZGIxM2U1MTVlMmNiMThhZmY4ZDU2YjE3ODFjM2MzOTRiNmYyZTZiMTk5MmFhMDY0ZmVhZDY4MjQ2NmRiOWJhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY0MmMyY2JkMWNjM2IwYzVmZDAwYzgxODg3MzIxZWI3OTNlNGMxNmE2MzBlNjhjMjJkY2QwYzFmNmQ2M2JkYTciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9tYWtlLWxpbmsuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YThiYmY4ZGNlOWNmNTIyNzY5MWEwNmE0YmU3ZWI3NTZmODFkMTg0NWUxYTE4ZTU4MDljNjIzODllODQ4YjM5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxYjE5YmE1ZjZkOTkzZmNjZDQ3ZWM2YTY3ODgwNTUzMzZhNDJlNjkyMmZhNGNiZTg5YzJiNDc2NWYzMjIxYjBiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3ZmZlZTc3NTY2ZGYzYTc5YzhjMDg4YWZhODRjODVlNGQ4NDA4NDAzODgxZTMyMzJmMjRhMTE2OGIwMzY0ZWE4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxOThmZTBlZmIzMmYwNzc0NWE2ZmMyZmQ1MzRlMTFjYjU4MzBlNzVlNmY3YWI2M2I4YTE4YzlhZWVlZTlkNzFmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2VtYXBob3JlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY2NGU3ODQ0NjNhMGVmMDFkMWI5YmMxOTFiN2NlMjExM2MxM2Y5MmU4MmJhMDE0M2UyYWIyYzA1NDFiYWYyNWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYW5hbHl0aWNzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBjYzAyNWFiOWM2Yzk1OTMwOTdmYjYyYzJmZTFkOGJlZjg1YmVhODRkODdhMGZhMDhlMmYyNmFjYmFmMGIwMGQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbXMtcHJvamVjdHMtcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmY1NmVlZjFkNmU1ODEzZmRhNTgwYTJiOWJiYzg0ZTc5NjkyZGEzZTQwMTIxMjA2OWNiYWJiMDBkY2E3NGRkZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjEyNjVmNjgzMzNlYjQyODcyZjJhMjQ2NGUwMTY0ZGU1YmY4ZmZjNDQ2MWRhM2VjMWExOWRhNDU0OWU0NzIyNmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLWZyb250ZW5kLXNlcnZpY2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2E0NWUyNWE1ZDFjZWQwOWVmMWI1OGU0YThkOGE5ZTIyMGJlNjRmNDVhZWJjMzEyOGI1NTRkYTRjNDMwODhmMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2Rpc3Bvc2FibGUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFiMjZiYzBkODdlMzhmMmQwZWM2MzhhMjRiZTBmMDY5MGE2MWJhMzExZThlMjdjZGJjYjA1ODBlZmY0MjljNDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjZGE5NWFiMGQyYmYyNGQ3NDQ2ZmE1MzhiMTFkMjlkNDlkMDk1OTA5YzE5ODFlZjI3OGViNmM3M2E1MTY4Y2E3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1zZXJ2aWNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRiZTk5NzA1NzViZjMwMDk2ZmUyNTVhZTVlMjllMmNlZjY5MjM4Mjg1NjE2ZjBjZTQxZmZiYjRjNjdjMzA1NmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL3Byb3h5LWZhY3RvcnkuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTU4Y2E0MDExMjAzODkwZGFkMTFhOTA0NmZhYWMzNDFiNTQyYzM2ZDRmM2I1ODY2ZjQ1ZTQ0NjY0ZjY4MGQ4NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI3MTNjMDM0MmU2ZmFiOGUyM2ZhNTIwMDFiNmE0NTdlY2MzNzdmMWUyZjNhMjNiNjA5NDdmNGJjZTUwYWJmMmYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDgwOGZkMjc4MTBkY2E2ZjliMDY0NTZiZjEzMGVlMGViMWUyNzI2MmY2Y2EwYjYzNGYyZDUyYTU2NzZlYjc2YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGM2YWQyNTVjN2NjZDljNDVmZTQxYjM1NzkzN2JmYTM2NDY1MDBiNjBhMTU2YmQyZWJlNmM0MjU2YzAzOGE3MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9vc3MtYWxsb3dsaXN0LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjcyMmYzM2E3NDc3NTQwMTg1YTYxZWFlNjg3ZjI5ZjFkM2NhYWNmYTQ0MmM4YTRkZDEzYjZlZjc0NWUwZmY4YWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi95YXJuLmxvY2siLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTY3ZTMyNTRhYzAwNzAzOWFkYTQwNWZlZmQwMzNjMmNkMWRlYTA1ODUxYmQyNzI0YzhjZmQ4OGZmODkxZTM5YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbnYuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDFiNWQ1OWI0ZjdhZGZlN2Y4YzE3MWQ2YWE4N2RlZTEwYTBjOWViNTYxMzI2NDdlZTMxM2JkZjUxOTY2ZTk4MyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90eXBpbmdzL2dsb2JhbHMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjI3YWYxZjM1NTZkYmFkNzM1OGVkMjVjZGNhZTY1ZjEyYjUzOThjNjNiNWFmOWIzMzliNDRhZjc4ZDNhZWYyMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FuYWx5dGljcy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4MWU5OTMwMGJlYWVlNmYzN2YwNjBjOTY5NTg1N2YzODEzNDgyMzNhZmJkYTU3NjM5NmUxMzhiZDY4MTVkNzkwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWI1ZTdkYzUwOWZkMjNiZDM0MTIzMjE4ODExZTAwNWE4MzE4M2JkMzQ4NDhlYjFjOTVmZjM2ZWVjODY0YWI1ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY1ZGJhN2JlMThkMDFlOGY0ZTdmN2M2YmIwMTU3MjQ3YjFlZGQ2OGFkNjdjMDcyMmE1OGMwZTVkZWM5MTdjNWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbXMtcHJvamVjdHMtcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFlZjYwMDkyNmUxZGIzMGY0MTFhZjYyNmY2NGYxNzkzYjRhNmU3OTVlOTUxYjE2YTY4ZTBjMDBkMzNmZDBjODgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ldmVudC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk5MTU3MjRjODg0NDRmNzg0MDlmYjhkOGJmM2Y5ODhmNTZhY2I3YzRiZTI3NWZmOGMzMTJiMWQyNzg2YTBlMjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nYXJiYWdlLWNvbGxlY3RlZC1jYWNoZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzYzgyODA2ZGNkZTFmYTljODk4NzY2Mjg2NzViZjA3NTJiMmQxZWE1ZDJkM2RhYTgyYzFjZDllNjhmMDE1ZDQ0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luc3RhbGxhdGlvbi1hZG1pbi1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1MTliYzkzOTUwZWJkMmZhMGFjMzZlMmM1MDQxMDYzM2I0Mjk1OGYxMzZkMTA5YjY3YWEyNzlmNGU5ZGJjNzZhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVlNWU1NzJhNjg1OTU0ZjZhZTBmYzQzNjhhNzkzY2YxODQ2NmM3OTE3N2YyMDM1OGQ4ZGIyMWU3ZWM2YmU0MDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQ3YjIxZDljZjIzYWY1NGQ0ZDUxMjYxMmYxMjExM2VjMjk2MDgzOWYzZDJmY2JmOWQxNTdkOTk1M2IwYTRkOGMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGhlaWEtcGx1Z2lucy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjRjNTM0MDdmYmQ1ZGY4ZjhjMmJjZjk0MjQzODczODNjNTYzOTEyM2FjYzUyYmYxMzhlZDg5NjcxMDkxNWFmZjkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYW5hbHl0aWNzLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjAyMDJlYjBhMzJjMDJlODhiM2NiOWUzYzI3NjA1NjQ4NDk5ZGNiODBkMTRjMDE1ZDQwZDQwMjQ3MTAxN2U0YTAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9jb250YWluZXItbW9kdWxlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzhhNjk3YjRkYmRiNWYxYWE4NTg5NmMxNTdkMjRjZTBkNWQxMTVjNzRmNGFkOGFmNzEyOGQ0M2IwZDU2YTU3OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3dvcmtzcGFjZS1wb3J0LWF1dGhlbnRpY2F0aW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmMjk4MmNkMGJiMGY4MTVlZGNiY2MzMWVmN2RlNGFhZDMxMTNlMDY2MjJjZTk2ZjlhODA2ZTNhNTU3NDEzZjJhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9jbGllbnQtY2FsbC1tZXRyaWNzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDY0OGU2MjUyMzgwMzRkYmJhMjQyZTliYjliYjliMDYyMzJkNzdjMzhhNTE3ZmJmZWI4NzczYzJkMGJmMjc3MyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dycGMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzOTI1MGIxNGExNTJhN2Y0MjdmZWEzODVjN2NlY2U1ZTM2ZGI4YTZlMzEwYjEyMzljNmViMTg4MWRlOTU1MTk5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9wcm94eS1mYWN0b3J5LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MmI2OGM1ZmQ1OWY5ZTNiYWZjMDFhYzg2ODVmYjA2OWZhMTI1OTExMDI2ODQ3YTY3YWUxZDBkZDdjYTFkOGQwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dzcmVhZHkuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZlODg3ZmEzNjlmOGQ2ODU1NWMzYTVmMmViZTY4MTIwY2E3ZDM1MmQzM2FlNzZkYWE2YzliODkxMDBmMjAyZjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbGljZW5zZS1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE0YjVlZmI4OGI2YmFjYWEwMzExNjQ0NTAyYzg3ZWZlNTA0NDhmZTczNmVjMjJjNDQ3NmQ2MWM2MTYxZDljZGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9zYWZlLXByb21pc2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTIzZTAxMjcxMTQ5YjMxOWY2MTJjNTE1ZjNlNjM1OGQ0NGQ2YTkyNWFmNDRlNDU3NjhhMzQ2MmU1Y2YwNTNmZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hZG1pbi1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwOWFmZGUwOTA0ZGVlMzExNjRjMDZkMDRiNjdlYzdjZjQ5ODZjZGQwM2RiZjZkNGRiNmExYTZiYTE2OGRmNzcwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9lcnJvci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzNDVkMGU3OTg0N2IwNTEzM2YyYzY3ODRkODFiNGY4NWFhNmM0N2EyZjk1YWE0ODdkZmU4N2VjY2ZhNjJiNjI0IgogICAgICB9CiAgICB9CiAgXSwKICAicHJlZGljYXRlIjogewogICAgImJ1aWxkZXIiOiB7CiAgICAgICJpZCI6ICJnaXRodWIuY29tL2dpdHBvZC1pby9sZWV3YXk6MC4yLjE2LWI3ZDJiNTRAc2hhMjU2Ojk1MTJhZjFhYTRhY2MwOTYwZGQ1ZTk3YzUwYjdjZjFhNjY3MTNhODFhMDlmODI0NWFkOTUxMThlZTEwNzBmYmMiCiAgICB9LAogICAgInJlY2lwZSI6IHsKICAgICAgInR5cGUiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dpdHBvZC1pby9sZWV3YXkvYnVpbGRAeWFybjo3IiwKICAgICAgImRlZmluZWRJbk1hdGVyaWFsIjogODIsCiAgICAgICJlbnRyeVBvaW50IjogImNvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sOmxpYiIsCiAgICAgICJhcmd1bWVudHMiOiBbCiAgICAgICAgImxlZXdheSIsCiAgICAgICAgImJ1aWxkIiwKICAgICAgICAiLS1kb2NrZXItYnVpbGQtb3B0aW9ucyIsCiAgICAgICAgIm5ldHdvcms9aG9zdCIsCiAgICAgICAgIi0td2VyZnQ9dHJ1ZSIsCiAgICAgICAgIi1jIiwKICAgICAgICAicmVtb3RlIiwKICAgICAgICAiLS1kb250LXJldGFnIiwKICAgICAgICAiLS1jb3ZlcmFnZS1vdXRwdXQtcGF0aD0vdG1wL3RtcC5XdXdOZUVhT3hCIiwKICAgICAgICAiLUR2ZXJzaW9uPXBkLWFkZC1sYXRlc3QtamIuMCIsCiAgICAgICAgIi1EcmVtb3ZlU291cmNlcz1mYWxzZSIsCiAgICAgICAgIi1EaW1hZ2VSZXBvQmFzZT1ldS5nY3IuaW8vZ2l0cG9kLWNvcmUtZGV2L2J1aWxkIiwKICAgICAgICAiLURsb2NhbEFwcFZlcnNpb249dW5rbm93biIsCiAgICAgICAgIi1EU0VHTUVOVF9JT19UT0tFTj1YM2JOYXRZUHVkSUpjQ3o2a0ZsVG41NHBydW1RQXFHaCIsCiAgICAgICAgIi1EbnBtUHVibGlzaFRyaWdnZXI9ZmFsc2UiCiAgICAgIF0sCiAgICAgICJlbnZpcm9ubWVudCI6IHsKICAgICAgICAibWFuaWZlc3QiOiB7CiAgICAgICAgICAiYXJjaCI6ICJhbWQ2NCIsCiAgICAgICAgICAiZ28iOiAiZ28gdmVyc2lvbiBnbzEuMTcuNSBsaW51eC9hbWQ2NCIsCiAgICAgICAgICAibm9kZSI6ICJ2MTYuMTMuMCIsCiAgICAgICAgICAib3MiOiAibGludXgiLAogICAgICAgICAgInlhcm4iOiAiMS4yMi4xNyIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAibWV0YWRhdGEiOiB7CiAgICAgICJidWlsZFN0YXJ0ZWRPbiI6ICIyMDIyLTAxLTI2VDE3OjM4OjIxLjc1NjIxMjU4MVoiLAogICAgICAiYnVpbGRGaW5pc2hlZE9uIjogIjIwMjItMDEtMjZUMTc6Mzg6NDMuNDQ2OTExMjQ1WiIsCiAgICAgICJjb21wbGV0ZW5lc3MiOiB7CiAgICAgICAgImFyZ3VtZW50cyI6IHRydWUsCiAgICAgICAgImVudmlyb25tZW50IjogZmFsc2UsCiAgICAgICAgIm1hdGVyaWFscyI6IHRydWUKICAgICAgfSwKICAgICAgInJlcHJvZHVjaWJsZSI6IGZhbHNlCiAgICB9LAogICAgIm1hdGVyaWFscyI6IFsKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL2Rpc3Bvc2FibGUudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImRkYzMxN2Q5YmI1YTc2ZjM4NTQ4ZDE4MmE4ZGQ2NmVhYjk3OWVkNGZiNWM2MDg2MzJkNzE4YmVjNjYyODA3NjEiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLnNwZWMudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjVmNTFhYzIyMTk3MTg5Y2YzNzFkNTk3NGI4YmQ4OTZlMzQzN2I5ODQxNWE3ZDUwNTFjYTgyNWNhMzE0Nzg4NGUiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI0NTVjNzY4ZDUxMDNhMDU2MzE2YmU0OTYzMGY5OTMzOTg5MjJiMzY3M2ZjZDFjNDNjMTdlNTQ0MTVkMDk0ZjY5IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9naXRwb2Qtc2VydmljZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYjQ1OTFmNWJmYWE4MTUxZWYwMzIwODQzYzE2YTZmYzVjNjRkNmM4MDYyYjZhMWRhY2VmOTFhNGVkNmZhODYzNCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjRmYzJlNmM0ZTg2NjA5NWIwZDcyMjEyMTJkYWVjMmU4YWFkNThjOGIzNjU0ZDljYWFkZTBmOWY3NmQ1ZDNhNjgiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL21lc3NhZ2luZy9icm93c2VyL3dpbmRvdy1jb25uZWN0aW9uLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIyN2M4N2M4MDNiODQyZDk4MWNlMmMzNWQ5ZjQ5ZmZlNDlhZWZmNmFmMjAzMjg5MDNlMjRlOWNkOGZhMGY3YzVkIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL2dpdHBvZC1jb29raWUudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjM0ZmJlMzJhNTQ1YjdmNjNiYjU4YmQ2ZmZiYmExY2RkOTlkYTFlY2RjZWRiNDRkNGQ5NTExNDQxOGMzMWE5YzMiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3RlYW0tc3Vic2NyaXB0aW9uLXByb3RvY29sLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJiZjNhOGQyNTMzMmJlNjljOGJiZDExZTFjYzRjYWMyZjEwM2Q4ZDk1ZTI3YTQ2YjI2ZGI2NTQ3N2QxNjJlMjA3IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9naXRwb2QtZmlsZS1wYXJzZXIudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjQ1ZDMzZjk5YmY4MjI3YWFjNWM3Yjg4MDgxYzU0ZTI1NDY4OGM4OTU0NzkxYjVmZWMzZThmNTY0ZTIyNTBjZTEiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL21lc3NhZ2luZy9jbGllbnQtY2FsbC1tZXRyaWNzLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIwNTQxMjRhNzM5ZDYxNTg3ZmIyOWVhYzI3YTU5ZDA1YmViZjZhMGNmYjYzZmY4YTA2YzRkNDdiYmNhMmUyZTgwIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9tZXNzYWdpbmcvcHJveHktZmFjdG9yeS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYTk3NTNmZDQwOTM1OWY5MzNjMjIyYjNiODgzOTFkMmQ3OGU2OTQ4NGFlMDVkOTJlODVlZjE1ZTk3NjM2N2M2NyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9ncnBjLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIxYWE1MDRjNGYxZjc3YWVhOTBiNjg1MTI3OTAzYmZkMzFiYjViOGJiOGRiOGU0YjAzOTQzMDUzNGJkYjI2YTlhIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9pZGUtcHJvdG9jb2wudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjA1ZTNhY2MyMGIxYzMzODNjMTMwMjNhYTdiYTZmZjEyYjA2MGI5ZTZkNzJlMTc1Mjc1OTEzMDVjNTkzM2I0OTQiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2FjY291bnRpbmctcHJvdG9jb2wudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjgyNGVhNjJkMjg4OGYyMTYxNDU4ZDJhMzRlODNiZDI0NzUxYWE3Y2EyOWNmNzNlYzJkODI2ZTA3M2UzZjNhZmYiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL29zcy1hbGxvd2xpc3QudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImI5YjMyYzY4OWZkZWVhZWJkNTk4M2IyNmU1ODYzNjUwYTM3N2RjZTM0MTk4ODljMjdmNWI2NDk1YzA1ZmNiNGIiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL21lc3NhZ2luZy9oYW5kbGVyLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI1ZDQzZWY3ZmQyYTNlMDhjNTUwYzBiMGZhZjA5YWEyZjYyYmJmYTYxNTg3OTYwMGFjNmNkODY1MzI4MjExMjViIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9jb250ZXh0LXVybC5zcGVjLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIzZjA3YWVhMTE4MWQ0NTg3OGUxNTQ1NzE2ZjRjZjE3NzkxNzEwOTFlMTlhZThhMDFhMDZhMDVmNjkzYWU5M2FiIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL21vY2hhLm9wdHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImRkNWQzZTIxMzdlOWRiODU5MzJiOWRiNmFjMjdkMjQzZjc1NjQ5MDRiODIwOTg1ZTFhOTUyN2M1OGZhZGUxNmEiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvY2FuY2VsYWJsZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYTdlYmM5YjZhYjc5OWNjMDY2OWExZWM5NWI2OGIzOTgxZDUyNjU2MGNhY2Q0ZWUxNWQ2YWQxODAzNDEyMzg5MyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvcGVybWlzc2lvbi50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiY2RiNjEyNDMwYWY1NzQ5YjMwYzI0OWRkYzY5ODhkYTQ1Y2M5ZGY1MGI0YmI0Yjk2YWVhZDVmMmYyMzc1MTMzMCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvZW5jcnlwdGlvbi9rZXktcHJvdmlkZXIudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjUxODM0MTViMzIzY2I3ZmNlNGE3MzMxOGJhZmI1MWU1NDM1MWQ4NTc2NTE3YWE4OWZmOGY2NzEyM2Q3MmMxMDUiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL21lc3NhZ2luZy9jb25uZWN0aW9uLWVycm9yLWhhbmRsZXIudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImE3YjI0NjQ0NDQwZGU1NmE5ODViMjIzYjg5YmEzZWUwYmZmOGQzNjYxODI4OGEyMDE0ZjdmYzhmY2I0YmU5NTQiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvYW5hbHl0aWNzLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI0MDAyMDhmYzVlMGFkOTkxYWQ4Yzg2NWIyYTQzZmZmNTRlZmMwMDFiZTJmYmNjOGYzNzcxOWE1OWJlMzFiOGY1IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy90aGVpYS1wbHVnaW5zLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJjOWM2ZWMzYTEyYTliOTczOGExNGYyOTQ3NTFjNjE4N2RmMTI5NGE3NTllMjM1ODNlMTZmODllZTdjMmIzNTZjIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9hbmFseXRpY3MudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImU3YjU0ZGYwNDlhMzA2OTExZTkyMzFkMTNjN2RhYzFlYzA5ZGJiZjNlZGMxMWJjN2I3YzIwNjMxYzBhNTRlYTkiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3BsYW5zLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJhNzk2ZjQ1ZjFmMTdjOGEzNDZhY2YyMDM5NDA1OGNkZWZkNGFhNzBkMzY3YzU4YjMwMjBiN2Y3ZWU1YzU2MzdiIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3BhY2thZ2UuanNvbiIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiOTE5MjE2NGFhY2M2NTdjZjMwNmQ3OThhZjcxYjlmNjBkZGI2NDZhYTg5MjZlODE1ZjU0NWZlYmJiODlkOTIzNSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9kYXRhL2dpdHBvZC1zY2hlbWEuanNvbiIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYzVlZjdhOWM4Y2YyYjg3YTg4ZDhlZTFhMGM1MDk0ZmNkNmQyY2ZhMDAyOTIwZWVhMmMxZDdmMWQ2NjI0Zjk0MCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC90aW1ldXRpbC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYjljNTRlM2I4NGVjMzE5YjM0MjVjMWZiZGE5NjhlNjcxZGRjNjZmNDJiMmYxOTNkNzI2NmI1MTMyNDU3NTI0ZSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvaW5zdGFsbGF0aW9uLWFkbWluLXByb3RvY29sLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI1N2ZiNjQyNDdjZmNiZmYxNTVhMDc3NTdkYWQyNDNkNGUzNjUxZGI0NWE4YzVhYzkyZWU2N2FkNmNiZThkYTYxIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9hdXRoLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI4ODdlN2E3MWZjODE5ODQ1OTQ5MmU4NmVhNjdjMTM0MzY3YWZiYmZlZWQ4ZjIyNDI2MmVmN2VmMjYwNzQwNDg5IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9oZWFkbGVzcy13b3Jrc3BhY2UtbG9nLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI0NDU3NTRmMzY2MGJiMmNjNDZiYzkxYThlYjc3NzQ1MjA5M2VjOGEzZjQwNmNkZjA4NjgwMGNiNjRiOTUwN2NlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9tZXNzYWdpbmcvYnJvd3Nlci9jb25uZWN0aW9uLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI1ZjFkZGY3NTMzY2MyN2M4MmQ3MmM5Y2QyYWJhMThlNTA4Zjk0ZGFkZGI2NGQ5ZDZhYjBiNzNlNGE4NjE4Y2MyIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIwYjg2MDI1NGI4MGVmOTE3N2Y4ZTI2NmQwM2MwMzU3NmRlOTBkOTc5Mjk2MTc4MTUwOGIxODBlNGY2YjM0YTJkIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9lbnYudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjQ2NTIzN2RkZGU1MWM3ZWY4YjBlN2ZmMmMzYzYzNzU4Njg1YzYwN2EzOTljMjJlYzczZWM0ZDA3MDVlYmMzMzMiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8veWFybi5sb2NrIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI4YzRjNjA2NTRjOTIwYTE5ZDYxNTQ2YTY1MzVlZjRmZDA3YTc4ZjUxNDFjMDcxODRiNDljODc1ZWFjYjcyMzE4IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9tZXNzYWdpbmcvbm9kZS9jb25uZWN0aW9uLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJhYjBiMTY1NGE1OTA5NjE5Y2UxMzliYmEwY2FiZjVjYjVhZThiMGYxNWFiODIxY2MwNzUzOTMzYTIxODhjZDA3IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL3NlbWFwaG9yZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiM2RhYzI3ZGVlMmUyZjdiMDk0YmE0Nzk0Y2FhYmU1YTNiODQyMjEwMDNjMTA4ODkxNzU2YWUyYmJkMzE2ZThhNiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9zYWZlLXByb21pc2UudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImNlNDE1ZDE2Nzc0ZWMyNThjY2Q0MDRiZTY2MmUyZGE3N2IzYWJhN2JiNDJmZmIwYjdkYmI2ZWEyNmZhMzQ0MmMiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvcmVwZWF0LnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJhMTUyZWY5Y2ZlNTkzZWU4Y2IzZGVkMzM1MzVkYjBkNWIzNGM2ZTkxY2I0NzFhN2Q2YTIxMTAzYjM2MTUxNTc4IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL2phZWdlci1jbGllbnQtdHlwZXMudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImRiNzhjYzFhYThmMTNjZjlkNTNmMjUxNWE4ZTMwNzE2ZjcyNjdhZjk3ZTU5N2E0NzFjNTQ0YzQ1NDdiZDgwZWMiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3RlYW1zLXByb2plY3RzLXByb3RvY29sLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIwYTY2ZmU1MWUzMDhlNjkyNzljMGVlZjk4NjY5ZWJkMzZlMDc0YzU1MzNiMTliYjJlYzc5ZGQzYzRhMThhZTE0IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9lbmNyeXB0aW9uL2VuY3J5cHRpb24tc2VydmljZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiMWQ3ZTRjYzQxZGU5OGQ2MjU2ZjMyZGVjYWIwMThjOWI4OTMxMTU3M2MxMTVjZDc5MGU0YTUyMjE1MWJlZmExYSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvcHJvdG9jb2wudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImQ3NGNlODdhYmIzNjgyYjY3ZjQ0MDNjNmFhMmY4YmI2YzE4YWJhMTA1NDE3OTVkMjYwOWNkOTVmMWVlZjhmOGUiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvZGF0ZS10aW1lLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI4NGQ2NjRkZThhZTQ0YzA4ZWRlOGEzZDY1ZDc0NGZiMzgwZGEyNDliMTQ4NjE3ZjBhNWI2YmUwYTAyMmM2MTA5IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5zcGVjLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIyMGFkZGFmNWZmNTIwNDRkNzZhNzk3NWM0NTFhMzQxYWM5NjFjZTkzMTNiMTY0ZDU0MjE1Njc4ZGY3YjE3YWM5IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL2RlZmVycmVkLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJkNTg1OTJjOTQ2N2ExYzdlMmQzYTcyMDg3NmI2OGM3YzFjYzJjYzFlMWUzMTNhMjYwMzMxYzViMjhkMjNhZmQ4IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy93c3JlYWR5LnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJhNjExNmJjYmQxNTE3MmVjN2Q5MmQwZjYxNmM5NmRlZDdiZTdkMjMwMmQyNmE3Nzk4MDgzZjM3YWQ0OGUzMjI1IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9pbmRleC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYWIxMGMyNDc4MTEyYjE4ODIwZjRlMzk4YzI0ZjU2ZTM3MDMyNGYyM2Q4ZmY2ODdlZmQxNGUxMTM5YmEyMjcyMCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9kZWVwLXBhcnRpYWwudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjlkYTIzMmQxNDlhNzUwNGIwN2Q0MzZmZDFiOTg5NmZhNjI2MzNlMjc0ZDZmYzk4NzY4N2FkZDljMWZmN2E5NGQiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvbWFrZS1saW5rLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJmNWQ0Njg0M2M5ZmU0ZGJlODQ3ZWZkZDFlMjcwMGE0NjZhNTI0MTI5MjkyZTEwMDllOTVmZDEzZjZiNDk2NzgzIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL3RyYWNpbmcuc3BlYy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiMGY4MzRjZTkxMDg1NzA1OTA2YTlhNTFiN2U0OGQ2NmU0OWQ5NzNmM2Y5MTlmYjNhMmFlNjYxN2M1NmU4ZmYyNCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvd29ya3NwYWNlLWluc3RhbmNlLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI0M2EzMmQyOGEwYzUzNWM5ZGIyMTIwOTlmNWU4MzVkZmMyY2Y5MjM1ZjMzZTZlZGIxZmMyNzEzZGRkNTc1YjFhIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL3RyYWNpbmcudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImZhMmRkOWYxZjg2ZTg2ODdmNGUyNTRiZDg4M2Y3ZTU0OTNhODYyNzg0ZTYzNTU3YzYwODBkYWMxYjJkNDc0MGYiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2NvbnRleHQtdXJsLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJmYTM0ODFlNTA0ZTQzMGYzYWExYTRlYTBiZDE0OTNiMGVmMzFlYzkyMzQ5ZjM4Y2U2ODUzYmI1MjA0MTJmZDJhIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9zbmFwc2hvdC11cmwudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImFiMTNiYmQ4ZDcxZjI1OGQ4ZmFjMTFhYWFjZmI3ZjM0YmM5YzNiZDc0YzY1ZGEyZjBjMDM4NDNiYzUyNjRiZTkiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvYXN5bmMtaXRlcmF0b3IudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjE5ODcyYWFkZDVlYzQ3NjdhODYzNWE0YzIzNDVhZTUzNzc1ZWQyM2RmOTFkYWE0ZWUwNzIxYWM3YjZkMDA2MjUiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvcXVldWUuc3BlYy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNzY4ZGY4NmQ0ZmRhZGJlNjQzZDM5N2FmNTFjNGQyY2IyNzU1NGExZjNmNmM4MTcwZWQyNmYzMzJiZTUzYzQ4NSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9ldmVudC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNzk1NzAwOTEzMTRlMDY1MDY1NGRiMDI0NWJlOTcwOWY4MGZiN2E0YmE1YWY3YzdhZTdkNWZiOGEwNjhiMDlhOCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9naXRwb2QtaG9zdC11cmwuc3BlYy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNzZkNWM5MTM1NWRiMTU1YmFlMzIxNzUzZGYyNDk5NjRiMzZkYTcxNWQxZjQ2MjFkZmY5ZWI0NzY1ZDI2NzU5ZiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9nYXJiYWdlLWNvbGxlY3RlZC1jYWNoZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiZDMzNTFmNDU4NWJmOWQ4YTJlYjZlZDZlNGQ5ZDgyOGVkY2VlNmExNTI4NzIyNzI4NTRmYWE1OTBjMzE1NWQzNCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9xdWV1ZS50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYmQ1ZTMxYjc5NDNlNmUxODVhMGY1NDgwMjhjYTM4NTBlNWQwNDAxNGIyMTExOGIxYmJkMGFkNWVjZTI0MzAyMCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvdXRpbC9za2lwLWlmLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICJkMzJjMGE5NjI0NGEyMjM1ZjRiY2ZhM2I0MjJmYjg5MmFkYzE1MTVjZjNkMzUzNjgyMWYwOWNhZTcyYzRmMTg4IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy90eXBpbmdzL2dsb2JhbHMudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjYyNzg3Y2IyMmU1NTllMGIwZGFlZDc5MGE2OWMzNWZiY2Q2YjM3ZjRiOTJhMzdmYjllZDMzNmFiZjg2MGQxZDIiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvbG9nZ2luZy50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNDQyNzgyOTNhMWMxNmUwZTc3OGNkM2U3NjUxNzJkZTI1ZTU4ZDE2YTQzMjNiMTk0Y2RkMTlhZmQ4YzVlMGI2NiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvaWRlLWZyb250ZW5kLXNlcnZpY2UudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImQ3NjcxYmY5MzJhYmIwNTYyNzE1N2NjYjhkMDM3Mjk4MDRlMmY2ZThmOWI3YmNkZTg2ZDk1MzIwZTA2ZDMxNTkiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIyMGZlMTQ3ZmU1ODY5NWQwNjE4YzhhOTczZDMzMzI1NTk5MDg1ZjQ4NDg1MjYzZTc2Y2M0MmMzOWJlYjRjMGJkIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy91dGlsL3RpbWV1dGlsLnNwZWMudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjk3ZThjMGJkMzE3ZTliNWZkOGYwNmIxMDFhYzkyMGU3MzIzMGE2MDQ5ZmJhZWE1N2YyNjgyYjY1ZTIwYzE0N2MiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3V0aWwvd29ya3NwYWNlLXBvcnQtYXV0aGVudGljYXRpb24udHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImQ3NDk3Zjg5MzEyN2ZhOGE2ZjY0MDJiNDIzMGE1ZjEzNjAwOWFlNmQwMzk1NGVmNWFjYmVhY2I1NDM2ZmE4YTUiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3BheW1lbnQtcHJvdG9jb2wudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjJhYzk2YTdmMDc5YWQ0YTI5ZjdjOTQ0M2I2ZjYzOWM0YTk3YjZhYjM1NzkzNWEzMjhkYTZiNDk0Njc4Y2M3YTAiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL2dpdHBvZC1maWxlLXBhcnNlci5zcGVjLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIwYTY5YmM0YjMzZDgwYjIwMTUxZjIwZGIxMmVjOWNmODA4MDkyMTdjOTljZTg4NTBiZjQyOTJkODUzMGJkYTQxIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9lbmNyeXB0aW9uL2NvbnRhaW5lci1tb2R1bGUudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImUwNTA2YmZhNzNiMzllYjU3YTM4MDYzNmY4YTZjYjIwMzYzNDgxNjM4MjI0Y2JjMjgwYmJhZDBkYjAwOTZlMTQiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3dvcmtzcGFjZS1jbHVzdGVyLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIxZjRjNTE4YjQ5MzI3NDcxY2NlODcwZTI2ZDFkMTdkMjk3M2Y2MDA4ZGUxOGUzYzg2NzI2ZDVlZGYxMjViOTk5IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3Rlc3QvZml4dHVyZXMvZW5jcnlwdGlvbi90ZXN0a2V5IiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI4ZGYwYTBhYmViZmY1YTlmODg3ZDc3MzM5NWRjODlkMWYzYmNlOGU0MjFmYjhjYzE2ZDc4ZWExMDdjZDFhNTQ1IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9tZXNzYWdpbmcvZXJyb3IudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImVjNGZiOGMwMGI1NjQyYjk2OWMzMWUwNTA2NDI1NjVlZmRlNzVhZjQ2ZjlkMGZjM2FjNzBjMmYwM2RkNzlhYTkiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvc3JjL3NuYXBzaG90LXVybC5zcGVjLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIxMDVhMWFlOTkyZGFiMGY5MzUwNTI0ZjM2NjA0M2VjOWVjMjU4ZDQwNjllYWU3OTk4MmUxZWU0NzE4YjZjOTI1IgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9lbWFpbC1wcm90b2NvbC50cyIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiZmY3Zjk1ZmY0MzM3ZDQ3MTA0YmZjZWVkNWU4ZDUyNjlkZWFmOWY3Y2I0Njg5YWU5ZGQwZmMxNWUzYmI2ZjU5YiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5zcGVjLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI4NWQxZTZkNmVmNjYyOTQwZDZiZWU3MWIzNzYyZGIxYTZkYTUwMjk2MWM2ZmRkMDc3Mjk3Zjk4YWNmMmNiODIyIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL3NyYy9saWNlbnNlLXByb3RvY29sLnRzIiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICI5MmJiNGM5ODQ5ODYxZmQ0M2RlYmZlZmE1MzhjOWNiOWRlZDA5ZmMxY2JkNDc2MjYxMjBkMjM5OGExMjdjNDhlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgewogICAgICAgICJ1cmkiOiAiZmlsZTovL2NvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sL2RhdGEvYnVpbHRpbi10aGVpYS1wbHVnaW5zLmpzb24iLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogImM0ODlmNzRlNzFhN2M3MzVhYzcyNmQwMGYzNmU0MDUzOTNhYWRjOWMwYzgyYTk1MWU5ZTljZDBkMGM0NmRkZjQiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvdHNjb25maWcuanNvbiIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiMzg5NTQzNDcxZDgzMzhlYmNhNzBkNzk4NzI2ZjkxOTdlNDIzZWI0MmJlM2ViY2UyOGQ0MTkxYzVmYTMzOWJkOSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9jb21wb25lbnRzL2dpdHBvZC1wcm90b2NvbC9zcmMvYWRtaW4tcHJvdG9jb2wudHMiLAogICAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgICAic2hhMjU2IjogIjI0Y2VkN2RlMjg2OGU0Mjg2MTAyMTYzYTBhMmZkOTczZTM5YzY1YjY4YzJkNDhkNjgxZjg1ODkyMDZjMDNkMTgiCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgInVyaSI6ICJmaWxlOi8vY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2wvQlVJTEQueWFtbCIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiYzdlMmU5ZTk3NTRhYzBiNDkyMmJjZDgxOWEwNjg5NzE3N2FlYjk2NWYzNDE3YjQ4YzA5YmI4NmY0NGVlNTA4YSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAidXJpIjogImZpbGU6Ly9XT1JLU1BBQ0UueWFtbCIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiNTk3YTIyOGNmMDk0N2UxMDQ0MmRmNWNjODBhNmJiNzI2Njc5ZTg3MzIwMDc3MWQ0MWE5MjU1ODk1ZmEwYjMyYSIKICAgICAgICB9CiAgICAgIH0KICAgIF0KICB9Cn0=","signatures":null}
|
|
2
|
+
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* See License-AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import
|
|
7
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
8
8
|
import { User } from './protocol';
|
|
9
9
|
import { oneMonthLater } from './util/timeutil';
|
|
10
10
|
|
|
@@ -90,7 +90,6 @@ export interface SessionDescription {
|
|
|
90
90
|
contextUrl: string;
|
|
91
91
|
workspaceId: string;
|
|
92
92
|
workspaceInstanceId: string;
|
|
93
|
-
private: boolean;
|
|
94
93
|
}
|
|
95
94
|
export namespace SessionDescription {
|
|
96
95
|
export function is(obj: any): obj is SessionDescription {
|
|
@@ -99,7 +98,6 @@ export namespace SessionDescription {
|
|
|
99
98
|
&& obj.hasOwnProperty('contextUrl')
|
|
100
99
|
&& obj.hasOwnProperty('workspaceId')
|
|
101
100
|
&& obj.hasOwnProperty('workspaceInstanceId')
|
|
102
|
-
&& obj.hasOwnProperty('private');
|
|
103
101
|
}
|
|
104
102
|
}
|
|
105
103
|
|
package/src/admin-protocol.ts
CHANGED
|
@@ -94,6 +94,12 @@ export namespace WorkspaceAndInstance {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
export
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
export type AdminGetWorkspacesRequest = AdminGetListRequest<WorkspaceAndInstance> & AdminGetWorkspacesQuery;
|
|
98
|
+
/** The fields are meant to be used either OR (not combined) */
|
|
99
|
+
export type AdminGetWorkspacesQuery = {
|
|
100
|
+
/** we use this field in case we have a UUIDv4 and don't know whether it's an (old) workspace or instance id */
|
|
101
|
+
instanceIdOrWorkspaceId?: string;
|
|
102
|
+
instanceId?: string;
|
|
103
|
+
workspaceId?: string;
|
|
104
|
+
ownerId?: string;
|
|
105
|
+
};
|
package/src/analytics.ts
CHANGED
|
@@ -41,6 +41,8 @@ export type RemotePageMessage = Omit<PageMessage, "timestamp" | "userId"> & {
|
|
|
41
41
|
anonymousId?: string | number;
|
|
42
42
|
};
|
|
43
43
|
|
|
44
|
+
export type RemoteIdentifyMessage = Omit<IdentifyMessage, "timestamp" | "userId" | "anonymousId">;
|
|
45
|
+
|
|
44
46
|
export interface IAnalyticsWriter {
|
|
45
47
|
|
|
46
48
|
identify(msg: IdentifyMessage): void;
|
package/src/context-url.ts
CHANGED
|
@@ -8,6 +8,7 @@ export namespace ContextURL {
|
|
|
8
8
|
export const INCREMENTAL_PREBUILD_PREFIX = "incremental-prebuild";
|
|
9
9
|
export const PREBUILD_PREFIX = "prebuild";
|
|
10
10
|
export const IMAGEBUILD_PREFIX = "imagebuild";
|
|
11
|
+
export const REFERRER_PREFIX = 'referrer:';
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* The field "contextUrl" might contain prefixes like:
|
|
@@ -37,7 +38,8 @@ export namespace ContextURL {
|
|
|
37
38
|
const firstSegment = segments[0];
|
|
38
39
|
if (firstSegment === PREBUILD_PREFIX ||
|
|
39
40
|
firstSegment === INCREMENTAL_PREBUILD_PREFIX ||
|
|
40
|
-
firstSegment === IMAGEBUILD_PREFIX
|
|
41
|
+
firstSegment === IMAGEBUILD_PREFIX ||
|
|
42
|
+
firstSegment.startsWith(REFERRER_PREFIX)) {
|
|
41
43
|
return segmentsToURL(1);
|
|
42
44
|
}
|
|
43
45
|
|
package/src/email-protocol.ts
CHANGED
package/src/gitpod-service.ts
CHANGED
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
|
|
7
7
|
import {
|
|
8
8
|
User, WorkspaceInfo, WorkspaceCreationResult, WorkspaceInstanceUser,
|
|
9
|
-
WhitelistedRepository, WorkspaceImageBuild, AuthProviderInfo,
|
|
9
|
+
WhitelistedRepository, WorkspaceImageBuild, AuthProviderInfo, CreateWorkspaceMode,
|
|
10
10
|
Token, UserEnvVarValue, ResolvePluginsParams, PreparePluginUploadParams, Terms,
|
|
11
11
|
ResolvedPlugins, Configuration, InstallPluginsParams, UninstallPluginParams, UserInfo, GitpodTokenType,
|
|
12
|
-
GitpodToken, AuthProviderEntry, GuessGitTokenScopesParams, GuessedGitTokenScopes
|
|
12
|
+
GitpodToken, AuthProviderEntry, GuessGitTokenScopesParams, GuessedGitTokenScopes, ProjectEnvVar
|
|
13
13
|
} from './protocol';
|
|
14
14
|
import {
|
|
15
15
|
Team, TeamMemberInfo,
|
|
16
|
-
TeamMembershipInvite, Project, TeamMemberRole, PrebuildWithStatus, StartPrebuildResult
|
|
16
|
+
TeamMembershipInvite, Project, TeamMemberRole, PrebuildWithStatus, StartPrebuildResult, PartialProject
|
|
17
17
|
} from './teams-projects-protocol';
|
|
18
18
|
import { JsonRpcProxy, JsonRpcServer } from './messaging/proxy-factory';
|
|
19
19
|
import { Disposable, CancellationTokenSource } from 'vscode-jsonrpc';
|
|
@@ -28,7 +28,8 @@ import { Emitter } from './util/event';
|
|
|
28
28
|
import { AccountStatement, CreditAlert } from './accounting-protocol';
|
|
29
29
|
import { GithubUpgradeURL, PlanCoupon } from './payment-protocol';
|
|
30
30
|
import { TeamSubscription, TeamSubscriptionSlot, TeamSubscriptionSlotResolved } from './team-subscription-protocol';
|
|
31
|
-
import { RemotePageMessage, RemoteTrackMessage } from './analytics';
|
|
31
|
+
import { RemotePageMessage, RemoteTrackMessage, RemoteIdentifyMessage } from './analytics';
|
|
32
|
+
import { IDEServer } from './ide-protocol';
|
|
32
33
|
|
|
33
34
|
export interface GitpodClient {
|
|
34
35
|
onInstanceUpdate(instance: WorkspaceInstance): void;
|
|
@@ -45,7 +46,7 @@ export interface GitpodClient {
|
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
export const GitpodServer = Symbol('GitpodServer');
|
|
48
|
-
export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer, LicenseService {
|
|
49
|
+
export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer, LicenseService, IDEServer {
|
|
49
50
|
// User related API
|
|
50
51
|
getLoggedInUser(): Promise<User>;
|
|
51
52
|
getTerms(): Promise<Terms>;
|
|
@@ -54,7 +55,6 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
|
|
|
54
55
|
getOwnAuthProviders(): Promise<AuthProviderEntry[]>;
|
|
55
56
|
updateOwnAuthProvider(params: GitpodServer.UpdateOwnAuthProviderParams): Promise<AuthProviderEntry>;
|
|
56
57
|
deleteOwnAuthProvider(params: GitpodServer.DeleteOwnAuthProviderParams): Promise<void>;
|
|
57
|
-
getBranding(): Promise<Branding>;
|
|
58
58
|
getConfiguration(): Promise<Configuration>;
|
|
59
59
|
getToken(query: GitpodServer.GetTokenSearchOptions): Promise<Token | undefined>;
|
|
60
60
|
getGitpodTokenScopes(tokenHash: string): Promise<string[]>;
|
|
@@ -71,8 +71,14 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
|
|
|
71
71
|
getWorkspaceOwner(workspaceId: string): Promise<UserInfo | undefined>;
|
|
72
72
|
getWorkspaceUsers(workspaceId: string): Promise<WorkspaceInstanceUser[]>;
|
|
73
73
|
getFeaturedRepositories(): Promise<WhitelistedRepository[]>;
|
|
74
|
+
/**
|
|
75
|
+
* **Security:**
|
|
76
|
+
* Sensitive information like an owner token is erased, since it allows access for all team members.
|
|
77
|
+
* If you need to access an owner token use `getOwnerToken` instead.
|
|
78
|
+
*/
|
|
74
79
|
getWorkspace(id: string): Promise<WorkspaceInfo>;
|
|
75
80
|
isWorkspaceOwner(workspaceId: string): Promise<boolean>;
|
|
81
|
+
getOwnerToken(workspaceId: string): Promise<string>;
|
|
76
82
|
|
|
77
83
|
/**
|
|
78
84
|
* Creates and starts a workspace for the given context URL.
|
|
@@ -134,9 +140,16 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
|
|
|
134
140
|
getProjectOverview(projectId: string): Promise<Project.Overview | undefined>;
|
|
135
141
|
findPrebuilds(params: FindPrebuildsParams): Promise<PrebuildWithStatus[]>;
|
|
136
142
|
triggerPrebuild(projectId: string, branchName: string | null): Promise<StartPrebuildResult>;
|
|
137
|
-
|
|
143
|
+
cancelPrebuild(projectId: string, prebuildId: string): Promise<void>;
|
|
138
144
|
fetchProjectRepositoryConfiguration(projectId: string): Promise<string | undefined>;
|
|
139
145
|
guessProjectConfiguration(projectId: string): Promise<string | undefined>;
|
|
146
|
+
fetchRepositoryConfiguration(cloneUrl: string): Promise<string | undefined>;
|
|
147
|
+
guessRepositoryConfiguration(cloneUrl: string): Promise<string | undefined>;
|
|
148
|
+
setProjectConfiguration(projectId: string, configString: string): Promise<void>;
|
|
149
|
+
updateProjectPartial(partialProject: PartialProject): Promise<void>;
|
|
150
|
+
setProjectEnvironmentVariable(projectId: string, name: string, value: string, censored: boolean): Promise<void>;
|
|
151
|
+
getProjectEnvironmentVariables(projectId: string): Promise<ProjectEnvVar[]>;
|
|
152
|
+
deleteProjectEnvironmentVariable(variableId: string): Promise<void>;
|
|
140
153
|
|
|
141
154
|
// content service
|
|
142
155
|
getContentBlobUploadUrl(name: string): Promise<string>
|
|
@@ -152,10 +165,15 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
|
|
|
152
165
|
registerGithubApp(installationId: string): Promise<void>;
|
|
153
166
|
|
|
154
167
|
/**
|
|
155
|
-
* Stores a new snapshot for the given workspace and bucketId
|
|
168
|
+
* Stores a new snapshot for the given workspace and bucketId. Returns _before_ the actual snapshot is done. To wait for that, use `waitForSnapshot`.
|
|
156
169
|
* @return the snapshot id
|
|
157
170
|
*/
|
|
158
171
|
takeSnapshot(options: GitpodServer.TakeSnapshotOptions): Promise<string>;
|
|
172
|
+
/**
|
|
173
|
+
*
|
|
174
|
+
* @param snapshotId
|
|
175
|
+
*/
|
|
176
|
+
waitForSnapshot(snapshotId: string): Promise<void>;
|
|
159
177
|
|
|
160
178
|
/**
|
|
161
179
|
* Returns the list of snapshots that exist for a workspace.
|
|
@@ -187,8 +205,6 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
|
|
|
187
205
|
* gitpod.io concerns
|
|
188
206
|
*/
|
|
189
207
|
isStudent(): Promise<boolean>;
|
|
190
|
-
getPrivateRepoTrialEndDate(): Promise<string | undefined>;
|
|
191
|
-
|
|
192
208
|
/**
|
|
193
209
|
*
|
|
194
210
|
*/
|
|
@@ -206,7 +222,6 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
|
|
|
206
222
|
|
|
207
223
|
getShowPaymentUI(): Promise<boolean>;
|
|
208
224
|
isChargebeeCustomer(): Promise<boolean>;
|
|
209
|
-
mayAccessPrivateRepo(): Promise<boolean>;
|
|
210
225
|
|
|
211
226
|
subscriptionUpgradeTo(subscriptionId: string, chargebeePlanId: string): Promise<void>;
|
|
212
227
|
subscriptionDowngradeTo(subscriptionId: string, chargebeePlanId: string): Promise<void>;
|
|
@@ -229,10 +244,12 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
|
|
|
229
244
|
*/
|
|
230
245
|
trackEvent(event: RemoteTrackMessage): Promise<void>;
|
|
231
246
|
trackLocation(event: RemotePageMessage): Promise<void>;
|
|
247
|
+
identifyUser(event: RemoteIdentifyMessage): Promise<void>;
|
|
232
248
|
}
|
|
233
249
|
|
|
234
250
|
export interface CreateProjectParams {
|
|
235
251
|
name: string;
|
|
252
|
+
slug?: string;
|
|
236
253
|
account: string;
|
|
237
254
|
provider: string;
|
|
238
255
|
cloneUrl: string;
|
|
@@ -254,6 +271,7 @@ export interface GetProviderRepositoriesParams {
|
|
|
254
271
|
}
|
|
255
272
|
export interface ProviderRepository {
|
|
256
273
|
name: string;
|
|
274
|
+
path?: string;
|
|
257
275
|
account: string;
|
|
258
276
|
accountAvatarUrl: string;
|
|
259
277
|
cloneUrl: string;
|
|
@@ -261,14 +279,14 @@ export interface ProviderRepository {
|
|
|
261
279
|
installationId?: number;
|
|
262
280
|
installationUpdatedAt?: string;
|
|
263
281
|
|
|
264
|
-
inUse?:
|
|
282
|
+
inUse?: { userName: string };
|
|
265
283
|
}
|
|
266
284
|
|
|
267
|
-
export interface ClientHeaderFields{
|
|
268
|
-
ip?:string;
|
|
269
|
-
userAgent?:string;
|
|
270
|
-
dnt?:
|
|
271
|
-
clientRegion?:string;
|
|
285
|
+
export interface ClientHeaderFields {
|
|
286
|
+
ip?: string;
|
|
287
|
+
userAgent?: string;
|
|
288
|
+
dnt?: string;
|
|
289
|
+
clientRegion?: string;
|
|
272
290
|
}
|
|
273
291
|
|
|
274
292
|
export const WorkspaceTimeoutValues = ["30m", "60m", "180m"] as const;
|
|
@@ -331,6 +349,8 @@ export namespace GitpodServer {
|
|
|
331
349
|
export interface TakeSnapshotOptions {
|
|
332
350
|
workspaceId: string;
|
|
333
351
|
layoutData?: string;
|
|
352
|
+
/* this is here to enable backwards-compatibility and untangling rollout between workspace, IDE and meta */
|
|
353
|
+
dontWait?: boolean;
|
|
334
354
|
}
|
|
335
355
|
export interface GetUserStorageResourceOptions {
|
|
336
356
|
readonly uri: string;
|
|
@@ -372,10 +392,12 @@ export class GitpodCompositeClient<Client extends GitpodClient> implements Gitpo
|
|
|
372
392
|
|
|
373
393
|
public registerClient(client: Partial<Client>): Disposable {
|
|
374
394
|
this.clients.push(client);
|
|
375
|
-
const index = this.clients.length;
|
|
376
395
|
return {
|
|
377
396
|
dispose: () => {
|
|
378
|
-
this.clients.
|
|
397
|
+
const index = this.clients.indexOf(client);
|
|
398
|
+
if (index > -1) {
|
|
399
|
+
this.clients.splice(index, 1);
|
|
400
|
+
}
|
|
379
401
|
}
|
|
380
402
|
}
|
|
381
403
|
}
|
|
@@ -565,7 +587,7 @@ export class WorkspaceInstanceUpdateListener {
|
|
|
565
587
|
}
|
|
566
588
|
|
|
567
589
|
export interface GitpodServiceOptions {
|
|
568
|
-
onReconnect?: () => (void |
|
|
590
|
+
onReconnect?: () => (void | Promise<void>)
|
|
569
591
|
}
|
|
570
592
|
|
|
571
593
|
export class GitpodServiceImpl<Client extends GitpodClient, Server extends GitpodServer> {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { Event } from "./util/event";
|
|
8
8
|
import { Disposable } from "./util/disposable";
|
|
9
9
|
|
|
10
|
-
export type IDEFrontendState = 'init' | 'ready' |
|
|
10
|
+
export type IDEFrontendState = 'init' | 'ready' | 'terminated';
|
|
11
11
|
|
|
12
12
|
export interface IDEFrontendService {
|
|
13
13
|
readonly state: IDEFrontendState;
|