@gitpod/gitpod-protocol 0.1.5-main.646 → 0.1.5-main.6460
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 +157 -29
- package/lib/accounting-protocol.d.ts +19 -14
- package/lib/accounting-protocol.d.ts.map +1 -1
- package/lib/accounting-protocol.js +44 -48
- package/lib/accounting-protocol.js.map +1 -1
- package/lib/admin-protocol.d.ts +44 -5
- package/lib/admin-protocol.d.ts.map +1 -1
- package/lib/admin-protocol.js +16 -1
- package/lib/admin-protocol.js.map +1 -1
- package/lib/analytics.d.ts +44 -0
- package/lib/analytics.d.ts.map +1 -0
- package/lib/analytics.js +10 -0
- package/lib/analytics.js.map +1 -0
- package/lib/attribution.d.ts +24 -0
- package/lib/attribution.d.ts.map +1 -0
- package/lib/attribution.js +54 -0
- package/lib/attribution.js.map +1 -0
- package/lib/auth.d.ts +1 -1
- package/lib/auth.d.ts.map +1 -1
- package/lib/auth.js +1 -1
- package/lib/billing-mode.d.ts +45 -0
- package/lib/billing-mode.d.ts.map +1 -0
- package/lib/billing-mode.js +44 -0
- package/lib/billing-mode.js.map +1 -0
- package/lib/blocked-repositories-protocol.d.ts +13 -0
- package/lib/blocked-repositories-protocol.d.ts.map +1 -0
- package/lib/blocked-repositories-protocol.js +8 -0
- package/lib/blocked-repositories-protocol.js.map +1 -0
- package/lib/context-url.d.ts +30 -0
- package/lib/context-url.d.ts.map +1 -0
- package/lib/context-url.js +100 -0
- package/lib/context-url.js.map +1 -0
- package/lib/context-url.spec.d.ts +12 -0
- package/lib/context-url.spec.d.ts.map +1 -0
- package/lib/context-url.spec.js +81 -0
- package/lib/context-url.spec.js.map +1 -0
- package/lib/encryption/container-module.d.ts +1 -1
- package/lib/encryption/container-module.d.ts.map +1 -1
- package/lib/encryption/container-module.js +5 -5
- package/lib/encryption/container-module.js.map +1 -1
- package/lib/encryption/encryption-engine.d.ts +1 -1
- package/lib/encryption/encryption-engine.d.ts.map +1 -1
- package/lib/encryption/encryption-engine.js +26 -27
- package/lib/encryption/encryption-engine.js.map +1 -1
- package/lib/encryption/encryption-engine.spec.d.ts +1 -1
- package/lib/encryption/encryption-engine.spec.d.ts.map +1 -1
- package/lib/encryption/encryption-engine.spec.js +30 -38
- package/lib/encryption/encryption-engine.spec.js.map +1 -1
- package/lib/encryption/encryption-service.d.ts +1 -1
- package/lib/encryption/encryption-service.d.ts.map +1 -1
- package/lib/encryption/encryption-service.js +31 -45
- package/lib/encryption/encryption-service.js.map +1 -1
- package/lib/encryption/key-provider.d.ts +1 -1
- package/lib/encryption/key-provider.d.ts.map +1 -1
- package/lib/encryption/key-provider.js +32 -39
- package/lib/encryption/key-provider.js.map +1 -1
- package/lib/env.d.ts +1 -7
- package/lib/env.d.ts.map +1 -1
- package/lib/env.js +8 -28
- package/lib/env.js.map +1 -1
- package/lib/experiments/always-default.d.ts +8 -0
- package/lib/experiments/always-default.d.ts.map +1 -0
- package/lib/experiments/always-default.js +20 -0
- package/lib/experiments/always-default.js.map +1 -0
- package/lib/experiments/configcat-server.d.ts +10 -0
- package/lib/experiments/configcat-server.d.ts.map +1 -0
- package/lib/experiments/configcat-server.js +37 -0
- package/lib/experiments/configcat-server.js.map +1 -0
- package/lib/experiments/configcat.d.ts +21 -0
- package/lib/experiments/configcat.d.ts.map +1 -0
- package/lib/experiments/configcat.js +51 -0
- package/lib/experiments/configcat.js.map +1 -0
- package/lib/experiments/types.d.ts +22 -0
- package/lib/experiments/types.d.ts.map +1 -0
- package/lib/experiments/types.js +10 -0
- package/lib/experiments/types.js.map +1 -0
- package/lib/frontend-dashboard-service.d.ts +90 -0
- package/lib/frontend-dashboard-service.d.ts.map +1 -0
- package/lib/frontend-dashboard-service.js +49 -0
- package/lib/frontend-dashboard-service.js.map +1 -0
- package/lib/gitpod-file-parser.d.ts +1 -1
- package/lib/gitpod-file-parser.d.ts.map +1 -1
- package/lib/gitpod-file-parser.js +27 -43
- package/lib/gitpod-file-parser.js.map +1 -1
- package/lib/gitpod-file-parser.spec.d.ts +1 -1
- package/lib/gitpod-file-parser.spec.js +146 -143
- package/lib/gitpod-file-parser.spec.js.map +1 -1
- package/lib/gitpod-service.d.ts +192 -56
- package/lib/gitpod-service.d.ts.map +1 -1
- package/lib/gitpod-service.js +210 -294
- package/lib/gitpod-service.js.map +1 -1
- package/lib/headless-workspace-log.d.ts +10 -12
- package/lib/headless-workspace-log.d.ts.map +1 -1
- package/lib/headless-workspace-log.js +7 -9
- package/lib/headless-workspace-log.js.map +1 -1
- package/lib/ide-frontend-service.d.ts +2 -2
- package/lib/ide-frontend-service.js +1 -1
- package/lib/ide-protocol.d.ts +126 -0
- package/lib/ide-protocol.d.ts.map +1 -0
- package/lib/ide-protocol.js +18 -0
- package/lib/ide-protocol.js.map +1 -0
- package/lib/index.d.ts +17 -11
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -2
- package/lib/index.js.map +1 -1
- package/lib/installation-admin-protocol.d.ts +30 -0
- package/lib/installation-admin-protocol.d.ts.map +1 -0
- package/lib/installation-admin-protocol.js +31 -0
- package/lib/installation-admin-protocol.js.map +1 -0
- package/lib/license-protocol.d.ts +8 -1
- package/lib/license-protocol.d.ts.map +1 -1
- package/lib/license-protocol.js +1 -1
- package/lib/license-protocol.js.map +1 -1
- package/lib/messaging/browser/connection.d.ts +5 -7
- package/lib/messaging/browser/connection.d.ts.map +1 -1
- package/lib/messaging/browser/connection.js +183 -43
- package/lib/messaging/browser/connection.js.map +1 -1
- package/lib/messaging/browser/window-connection.d.ts +5 -5
- package/lib/messaging/browser/window-connection.d.ts.map +1 -1
- package/lib/messaging/browser/window-connection.js +43 -60
- package/lib/messaging/browser/window-connection.js.map +1 -1
- package/lib/messaging/client-call-metrics.d.ts +21 -0
- package/lib/messaging/client-call-metrics.d.ts.map +1 -0
- package/lib/messaging/client-call-metrics.js +95 -0
- package/lib/messaging/client-call-metrics.js.map +1 -0
- package/lib/messaging/error.d.ts +13 -3
- package/lib/messaging/error.d.ts.map +1 -1
- package/lib/messaging/error.js +25 -5
- package/lib/messaging/error.js.map +1 -1
- package/lib/messaging/handler.d.ts +10 -0
- package/lib/messaging/handler.d.ts.map +1 -1
- package/lib/messaging/handler.js +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 +24 -60
- package/lib/messaging/node/connection.js.map +1 -1
- package/lib/messaging/proxy-factory.d.ts +3 -1
- package/lib/messaging/proxy-factory.d.ts.map +1 -1
- package/lib/messaging/proxy-factory.js +75 -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/payment-protocol.d.ts +1 -1
- package/lib/payment-protocol.d.ts.map +1 -1
- package/lib/payment-protocol.js +2 -2
- package/lib/payment-protocol.js.map +1 -1
- package/lib/permission.d.ts +14 -4
- package/lib/permission.d.ts.map +1 -1
- package/lib/permission.js +45 -32
- package/lib/permission.js.map +1 -1
- package/lib/plans.d.ts +6 -5
- package/lib/plans.d.ts.map +1 -1
- package/lib/plans.js +230 -210
- package/lib/plans.js.map +1 -1
- package/lib/protocol.d.ts +261 -105
- package/lib/protocol.d.ts.map +1 -1
- package/lib/protocol.js +346 -205
- package/lib/protocol.js.map +1 -1
- package/{src/util/without.ts → lib/protocol.spec.d.ts} +3 -4
- package/lib/protocol.spec.d.ts.map +1 -0
- package/lib/protocol.spec.js +127 -0
- package/lib/protocol.spec.js.map +1 -0
- 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.d.ts +24 -5
- package/lib/team-subscription-protocol.d.ts.map +1 -1
- package/lib/team-subscription-protocol.js +36 -18
- package/lib/team-subscription-protocol.js.map +1 -1
- package/lib/teams-projects-protocol.d.ts +137 -0
- package/lib/teams-projects-protocol.d.ts.map +1 -0
- package/lib/teams-projects-protocol.js +41 -0
- package/lib/teams-projects-protocol.js.map +1 -0
- package/lib/typings/globals.d.ts +3 -3
- package/lib/typings/globals.d.ts.map +1 -1
- package/lib/typings/globals.js +1 -1
- package/lib/usage.d.ts +73 -0
- package/lib/usage.d.ts.map +1 -0
- package/lib/usage.js +20 -0
- package/lib/usage.js.map +1 -0
- package/lib/util/analytics.d.ts +8 -0
- package/lib/util/analytics.d.ts.map +1 -0
- package/lib/util/analytics.js +88 -0
- package/lib/util/analytics.js.map +1 -0
- package/lib/util/async-iterator.d.ts +1 -1
- package/lib/util/async-iterator.d.ts.map +1 -1
- package/lib/util/async-iterator.js +58 -136
- package/lib/util/async-iterator.js.map +1 -1
- package/lib/util/cancelable.d.ts +1 -1
- package/lib/util/cancelable.js +18 -60
- package/lib/util/cancelable.js.map +1 -1
- package/lib/util/date-time.d.ts +1 -1
- package/lib/util/date-time.js +12 -12
- package/lib/util/date-time.js.map +1 -1
- package/lib/util/debug-app.d.ts +25 -0
- package/lib/util/debug-app.d.ts.map +1 -0
- package/lib/util/debug-app.js +100 -0
- package/lib/util/debug-app.js.map +1 -0
- package/lib/util/deep-partial.d.ts +1 -1
- package/lib/util/deep-partial.js +1 -1
- package/lib/util/deferred.d.ts +1 -1
- package/lib/util/deferred.js +11 -13
- package/lib/util/deferred.js.map +1 -1
- package/lib/util/disposable.d.ts.map +1 -1
- package/lib/util/disposable.js +27 -40
- package/lib/util/disposable.js.map +1 -1
- package/lib/util/event.d.ts.map +1 -1
- package/lib/util/event.js +63 -77
- package/lib/util/event.js.map +1 -1
- package/lib/util/garbage-collected-cache.d.ts +2 -1
- package/lib/util/garbage-collected-cache.d.ts.map +1 -1
- package/lib/util/garbage-collected-cache.js +33 -48
- package/lib/util/garbage-collected-cache.js.map +1 -1
- package/lib/util/generate-workspace-id.d.ts +6 -1
- package/lib/util/generate-workspace-id.d.ts.map +1 -1
- package/lib/util/generate-workspace-id.js +469 -502
- package/lib/util/generate-workspace-id.js.map +1 -1
- package/lib/util/generate-workspace-id.spec.d.ts +1 -1
- package/lib/util/generate-workspace-id.spec.js +69 -79
- 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 +41 -0
- package/lib/util/gitpod-cookie.js.map +1 -0
- package/lib/util/gitpod-host-url.d.ts +13 -5
- package/lib/util/gitpod-host-url.d.ts.map +1 -1
- package/lib/util/gitpod-host-url.js +141 -110
- package/lib/util/gitpod-host-url.js.map +1 -1
- package/lib/util/gitpod-host-url.spec.d.ts +7 -1
- package/lib/util/gitpod-host-url.spec.d.ts.map +1 -1
- package/lib/util/gitpod-host-url.spec.js +113 -31
- package/lib/util/gitpod-host-url.spec.js.map +1 -1
- package/lib/util/grpc.d.ts +35 -0
- package/lib/util/grpc.d.ts.map +1 -0
- package/lib/util/grpc.js +90 -0
- package/lib/util/grpc.js.map +1 -0
- package/lib/util/jaeger-client-types.d.ts +68 -0
- package/lib/util/jaeger-client-types.d.ts.map +1 -0
- package/lib/{theia-plugins.js → util/jaeger-client-types.js} +2 -2
- package/lib/util/jaeger-client-types.js.map +1 -0
- package/lib/util/logging.d.ts +50 -34
- package/lib/util/logging.d.ts.map +1 -1
- package/lib/util/logging.js +133 -130
- package/lib/util/logging.js.map +1 -1
- package/lib/util/logging.spec.d.ts +7 -0
- package/lib/util/logging.spec.d.ts.map +1 -0
- package/lib/util/logging.spec.js +52 -0
- package/lib/util/logging.spec.js.map +1 -0
- package/lib/util/make-link.d.ts +1 -1
- package/lib/util/make-link.js +6 -6
- package/lib/util/make-link.js.map +1 -1
- package/lib/util/nice-grpc.d.ts +9 -0
- package/lib/util/nice-grpc.d.ts.map +1 -0
- package/lib/util/nice-grpc.js +121 -0
- package/lib/util/nice-grpc.js.map +1 -0
- package/lib/util/parse-workspace-id.d.ts +11 -1
- package/lib/util/parse-workspace-id.d.ts.map +1 -1
- package/lib/util/parse-workspace-id.js +31 -8
- package/lib/util/parse-workspace-id.js.map +1 -1
- package/lib/util/parse-workspace-id.spec.d.ts +5 -1
- package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
- package/lib/util/parse-workspace-id.spec.js +124 -85
- package/lib/util/parse-workspace-id.spec.js.map +1 -1
- package/lib/util/queue.d.ts +1 -1
- package/lib/util/queue.js +17 -56
- package/lib/util/queue.js.map +1 -1
- package/lib/util/queue.spec.d.ts +1 -1
- package/lib/util/queue.spec.js +148 -289
- 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/semaphore.d.ts +1 -1
- package/lib/util/semaphore.d.ts.map +1 -1
- package/lib/util/semaphore.js +16 -47
- package/lib/util/semaphore.js.map +1 -1
- package/lib/util/skip-if.d.ts +1 -1
- package/lib/util/skip-if.d.ts.map +1 -1
- package/lib/util/skip-if.js +7 -7
- package/lib/util/skip-if.js.map +1 -1
- package/lib/util/timeutil.d.ts +3 -1
- package/lib/util/timeutil.d.ts.map +1 -1
- package/lib/util/timeutil.js +30 -18
- package/lib/util/timeutil.js.map +1 -1
- package/lib/util/timeutil.spec.d.ts +3 -1
- package/lib/util/timeutil.spec.d.ts.map +1 -1
- package/lib/util/timeutil.spec.js +55 -24
- package/lib/util/timeutil.spec.js.map +1 -1
- package/lib/util/tracing.d.ts +53 -7
- package/lib/util/tracing.d.ts.map +1 -1
- package/lib/util/tracing.js +198 -65
- 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.d.ts +8 -8
- package/lib/util/workspace-port-authentication.d.ts.map +1 -1
- package/lib/util/workspace-port-authentication.js +10 -13
- package/lib/util/workspace-port-authentication.js.map +1 -1
- package/lib/webhook-event.d.ts +44 -0
- package/lib/webhook-event.d.ts.map +1 -0
- package/lib/webhook-event.js +8 -0
- package/lib/webhook-event.js.map +1 -0
- package/lib/workspace-class.d.ts +14 -0
- package/lib/workspace-class.d.ts.map +1 -0
- package/lib/workspace-class.js +8 -0
- package/lib/workspace-class.js.map +1 -0
- package/lib/workspace-cluster.d.ts +75 -0
- package/lib/workspace-cluster.d.ts.map +1 -0
- package/lib/workspace-cluster.js +31 -0
- package/lib/workspace-cluster.js.map +1 -0
- package/lib/workspace-instance.d.ts +46 -6
- package/lib/workspace-instance.d.ts.map +1 -1
- package/lib/workspace-instance.js +1 -1
- package/lib/wsready.d.ts +8 -2
- package/lib/wsready.d.ts.map +1 -1
- package/lib/wsready.js +3 -3
- package/package.json +40 -18
- package/pkg-yarn.lock +23 -10
- package/provenance-bundle.jsonl +2 -0
- package/src/accounting-protocol.ts +67 -58
- package/src/admin-protocol.ts +88 -20
- package/src/analytics.ts +52 -0
- package/src/attribution.ts +63 -0
- package/src/auth.ts +3 -3
- package/src/billing-mode.ts +84 -0
- package/src/blocked-repositories-protocol.ts +13 -0
- package/src/context-url.spec.ts +49 -0
- package/src/context-url.ts +107 -0
- package/src/encryption/container-module.ts +3 -4
- package/src/encryption/encryption-engine.spec.ts +10 -9
- package/src/encryption/encryption-engine.ts +21 -17
- package/src/encryption/encryption-service.ts +5 -6
- package/src/encryption/key-provider.ts +17 -20
- package/src/env.ts +2 -25
- package/src/experiments/always-default.ts +24 -0
- package/src/experiments/configcat-server.ts +42 -0
- package/src/experiments/configcat.ts +56 -0
- package/src/experiments/types.ts +34 -0
- package/src/frontend-dashboard-service.ts +125 -0
- package/src/gitpod-file-parser.spec.ts +56 -62
- package/src/gitpod-file-parser.ts +17 -18
- package/src/gitpod-service.ts +377 -144
- package/src/headless-workspace-log.ts +13 -15
- package/src/ide-frontend-service.ts +3 -3
- package/src/ide-protocol.ts +147 -0
- package/src/index.ts +17 -11
- package/src/installation-admin-protocol.ts +45 -0
- package/src/license-protocol.ts +13 -7
- package/src/messaging/browser/connection.ts +196 -27
- package/src/messaging/browser/window-connection.ts +40 -30
- package/src/messaging/client-call-metrics.ts +94 -0
- package/src/messaging/error.ts +36 -8
- package/src/messaging/handler.ts +13 -1
- package/src/messaging/node/connection.ts +23 -70
- package/src/messaging/proxy-factory.ts +35 -34
- package/src/oss-allowlist.ts +15 -0
- package/src/payment-protocol.ts +3 -3
- package/src/permission.ts +47 -34
- package/src/plans.ts +250 -199
- package/src/protocol.spec.ts +97 -0
- package/src/protocol.ts +636 -293
- package/src/snapshot-url.spec.ts +27 -0
- package/src/snapshot-url.ts +27 -0
- package/src/team-subscription-protocol.ts +62 -23
- package/src/teams-projects-protocol.ts +181 -0
- package/src/typings/globals.ts +6 -5
- package/src/usage.ts +85 -0
- package/src/util/analytics.ts +109 -0
- package/src/util/async-iterator.ts +5 -6
- package/src/util/cancelable.ts +4 -4
- package/src/util/date-time.ts +9 -9
- package/src/util/debug-app.ts +81 -0
- package/src/util/deep-partial.ts +1 -1
- package/src/util/deferred.ts +7 -7
- package/src/util/disposable.ts +3 -6
- package/src/util/event.ts +9 -11
- package/src/util/garbage-collected-cache.ts +17 -9
- package/src/util/generate-workspace-id.spec.ts +38 -11
- package/src/util/generate-workspace-id.ts +465 -439
- package/src/util/gitpod-cookie.ts +38 -0
- package/src/util/gitpod-host-url.spec.ts +59 -8
- package/src/util/gitpod-host-url.ts +94 -42
- package/src/util/grpc.ts +107 -0
- package/src/util/jaeger-client-types.ts +102 -0
- package/src/util/logging.spec.ts +23 -0
- package/src/util/logging.ts +157 -75
- package/src/util/make-link.ts +7 -8
- package/src/util/nice-grpc.ts +96 -0
- package/src/util/parse-workspace-id.spec.ts +38 -9
- package/src/util/parse-workspace-id.ts +33 -8
- package/src/util/queue.spec.ts +28 -26
- package/src/util/queue.ts +1 -1
- package/src/util/repeat.ts +45 -0
- package/src/util/semaphore.ts +7 -9
- package/src/util/skip-if.ts +11 -8
- package/src/util/timeutil.spec.ts +41 -15
- package/src/util/timeutil.ts +32 -16
- package/src/util/tracing.spec.ts +88 -0
- package/src/util/tracing.ts +201 -32
- package/src/util/workspace-port-authentication.ts +11 -14
- package/src/webhook-event.ts +55 -0
- package/src/workspace-class.ts +14 -0
- package/src/workspace-cluster.ts +110 -0
- package/src/workspace-instance.ts +106 -32
- package/src/wsready.ts +11 -4
- package/data/builtin-theia-plugins.json +0 -372
- package/lib/email-protocol.d.ts +0 -50
- package/lib/email-protocol.d.ts.map +0 -1
- package/lib/email-protocol.js +0 -28
- package/lib/email-protocol.js.map +0 -1
- package/lib/messaging/connection-error-handler.d.ts +0 -27
- package/lib/messaging/connection-error-handler.d.ts.map +0 -1
- package/lib/messaging/connection-error-handler.js +0 -46
- package/lib/messaging/connection-error-handler.js.map +0 -1
- package/lib/theia-plugins.d.ts +0 -11
- package/lib/theia-plugins.d.ts.map +0 -1
- package/lib/theia-plugins.js.map +0 -1
- package/lib/util/context-url.d.ts +0 -13
- package/lib/util/context-url.d.ts.map +0 -1
- package/lib/util/context-url.js +0 -26
- package/lib/util/context-url.js.map +0 -1
- package/lib/util/context-url.spec.d.ts +0 -10
- package/lib/util/context-url.spec.d.ts.map +0 -1
- package/lib/util/context-url.spec.js +0 -52
- package/lib/util/context-url.spec.js.map +0 -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/lib/util/safe-promise.d.ts +0 -11
- package/lib/util/safe-promise.d.ts.map +0 -1
- package/lib/util/safe-promise.js +0 -34
- package/lib/util/safe-promise.js.map +0 -1
- package/lib/util/without.d.ts +0 -7
- package/lib/util/without.d.ts.map +0 -1
- package/lib/util/without.js +0 -8
- package/lib/util/without.js.map +0 -1
- package/src/email-protocol.ts +0 -67
- package/src/messaging/connection-error-handler.ts +0 -62
- package/src/theia-plugins.ts +0 -11
- package/src/util/context-url.spec.ts +0 -25
- package/src/util/context-url.ts +0 -23
- package/src/util/jaeger-client.d.ts +0 -105
- package/src/util/repeater.ts +0 -49
- package/src/util/safe-promise.ts +0 -26
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
|
+
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
|
+
*/
|
|
6
|
+
import { DeepPartial } from "./util/deep-partial";
|
|
7
|
+
import { PermissionName } from "./permission";
|
|
8
|
+
export interface WorkspaceCluster {
|
|
9
|
+
name: string;
|
|
10
|
+
applicationCluster: string;
|
|
11
|
+
url: string;
|
|
12
|
+
tls?: TLSConfig;
|
|
13
|
+
state: WorkspaceClusterState;
|
|
14
|
+
maxScore: number;
|
|
15
|
+
score: number;
|
|
16
|
+
govern: boolean;
|
|
17
|
+
admissionConstraints?: AdmissionConstraint[];
|
|
18
|
+
}
|
|
19
|
+
export declare type WorkspaceClusterState = "available" | "cordoned" | "draining";
|
|
20
|
+
export interface TLSConfig {
|
|
21
|
+
ca: string;
|
|
22
|
+
key: string;
|
|
23
|
+
crt: string;
|
|
24
|
+
}
|
|
25
|
+
export declare namespace TLSConfig {
|
|
26
|
+
const loadFromBase64File: (path: string) => string;
|
|
27
|
+
}
|
|
28
|
+
export declare type WorkspaceClusterWoTLS = Omit<WorkspaceCluster, "tls">;
|
|
29
|
+
export declare type WorkspaceManagerConnectionInfo = Pick<WorkspaceCluster, "name" | "url" | "tls">;
|
|
30
|
+
export declare type AdmissionConstraint = AdmissionConstraintFeaturePreview | AdmissionConstraintHasPermission | AdmissionConstraintHasClass;
|
|
31
|
+
export declare type AdmissionConstraintFeaturePreview = {
|
|
32
|
+
type: "has-feature-preview";
|
|
33
|
+
};
|
|
34
|
+
export declare type AdmissionConstraintHasPermission = {
|
|
35
|
+
type: "has-permission";
|
|
36
|
+
permission: PermissionName;
|
|
37
|
+
};
|
|
38
|
+
export declare type AdmissionConstraintHasClass = {
|
|
39
|
+
type: "has-class";
|
|
40
|
+
id: string;
|
|
41
|
+
displayName: string;
|
|
42
|
+
};
|
|
43
|
+
export declare namespace AdmissionConstraint {
|
|
44
|
+
function is(o: any): o is AdmissionConstraint;
|
|
45
|
+
function isHasPermissionConstraint(o: any): o is AdmissionConstraintHasPermission;
|
|
46
|
+
function hasPermission(ac: AdmissionConstraint, permission: PermissionName): boolean;
|
|
47
|
+
}
|
|
48
|
+
export declare const WorkspaceClusterDB: unique symbol;
|
|
49
|
+
export interface WorkspaceClusterDB {
|
|
50
|
+
/**
|
|
51
|
+
* Stores the given WorkspaceCluster to the cluster-local DB in a consistent manner.
|
|
52
|
+
* If there already is an entry with the same name it's merged and updated with the given state.
|
|
53
|
+
* @param cluster
|
|
54
|
+
*/
|
|
55
|
+
save(cluster: WorkspaceCluster): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Deletes the cluster identified by this name, if any.
|
|
58
|
+
* @param name
|
|
59
|
+
*/
|
|
60
|
+
deleteByName(name: string, applicationCluster: string): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Finds a WorkspaceCluster with the given name. If there is none, `undefined` is returned.
|
|
63
|
+
* @param name
|
|
64
|
+
*/
|
|
65
|
+
findByName(name: string, applicationCluster: string): Promise<WorkspaceCluster | undefined>;
|
|
66
|
+
/**
|
|
67
|
+
* Lists all WorkspaceClusterWoTls for which the given predicate is true (does not return TLS for size/speed concerns)
|
|
68
|
+
* @param predicate
|
|
69
|
+
*/
|
|
70
|
+
findFiltered(predicate: WorkspaceClusterFilter): Promise<WorkspaceClusterWoTLS[]>;
|
|
71
|
+
}
|
|
72
|
+
export declare type WorkspaceClusterFilter = Pick<WorkspaceCluster, "applicationCluster"> & DeepPartial<Pick<WorkspaceCluster, "name" | "state" | "govern" | "url">> & Partial<{
|
|
73
|
+
minScore: number;
|
|
74
|
+
}>;
|
|
75
|
+
//# sourceMappingURL=workspace-cluster.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-cluster.d.ts","sourceRoot":"","sources":["../src/workspace-cluster.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAI7B,IAAI,EAAE,MAAM,CAAC;IAIb,kBAAkB,EAAE,MAAM,CAAC;IAG3B,GAAG,EAAE,MAAM,CAAC;IAGZ,GAAG,CAAC,EAAE,SAAS,CAAC;IAGhB,KAAK,EAAE,qBAAqB,CAAC;IAG7B,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,OAAO,CAAC;IAGhB,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAChD;AAED,oBAAY,qBAAqB,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;AAC1E,MAAM,WAAW,SAAS;IAEtB,EAAE,EAAE,MAAM,CAAC;IAEX,GAAG,EAAE,MAAM,CAAC;IAEZ,GAAG,EAAE,MAAM,CAAC;CACf;AACD,yBAAiB,SAAS,CAAC;IAChB,MAAM,kBAAkB,SAAU,MAAM,KAAG,MACqB,CAAC;CAC3E;AACD,oBAAY,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAClE,oBAAY,8BAA8B,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;AAE5F,oBAAY,mBAAmB,GACzB,iCAAiC,GACjC,gCAAgC,GAChC,2BAA2B,CAAC;AAClC,oBAAY,iCAAiC,GAAG;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAChF,oBAAY,gCAAgC,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,cAAc,CAAA;CAAE,CAAC;AACtG,oBAAY,2BAA2B,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG,yBAAiB,mBAAmB,CAAC;IACjC,SAAgB,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,mBAAmB,CAEnD;IACD,SAAgB,yBAAyB,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,gCAAgC,CAEvF;IACD,SAAgB,aAAa,CAAC,EAAE,EAAE,mBAAmB,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAE1F;CACJ;AAED,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAE5F;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;CACrF;AAED,oBAAY,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,GAC7E,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,GACxE,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
4
|
+
* Licensed under the GNU Affero General Public License (AGPL).
|
|
5
|
+
* See License.AGPL.txt in the project root for license information.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.WorkspaceClusterDB = exports.AdmissionConstraint = exports.TLSConfig = void 0;
|
|
9
|
+
const fs = require("fs");
|
|
10
|
+
const env_1 = require("./env");
|
|
11
|
+
var TLSConfig;
|
|
12
|
+
(function (TLSConfig) {
|
|
13
|
+
TLSConfig.loadFromBase64File = (path) => fs.readFileSync((0, env_1.filePathTelepresenceAware)(path)).toString("base64");
|
|
14
|
+
})(TLSConfig = exports.TLSConfig || (exports.TLSConfig = {}));
|
|
15
|
+
var AdmissionConstraint;
|
|
16
|
+
(function (AdmissionConstraint) {
|
|
17
|
+
function is(o) {
|
|
18
|
+
return !!o && "type" in o;
|
|
19
|
+
}
|
|
20
|
+
AdmissionConstraint.is = is;
|
|
21
|
+
function isHasPermissionConstraint(o) {
|
|
22
|
+
return is(o) && o.type === "has-permission";
|
|
23
|
+
}
|
|
24
|
+
AdmissionConstraint.isHasPermissionConstraint = isHasPermissionConstraint;
|
|
25
|
+
function hasPermission(ac, permission) {
|
|
26
|
+
return isHasPermissionConstraint(ac) && ac.permission === permission;
|
|
27
|
+
}
|
|
28
|
+
AdmissionConstraint.hasPermission = hasPermission;
|
|
29
|
+
})(AdmissionConstraint = exports.AdmissionConstraint || (exports.AdmissionConstraint = {}));
|
|
30
|
+
exports.WorkspaceClusterDB = Symbol("WorkspaceClusterDB");
|
|
31
|
+
//# sourceMappingURL=workspace-cluster.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-cluster.js","sourceRoot":"","sources":["../src/workspace-cluster.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,yBAAyB;AACzB,+BAAkD;AA6ClD,IAAiB,SAAS,CAGzB;AAHD,WAAiB,SAAS;IACT,4BAAkB,GAAG,CAAC,IAAY,EAAU,EAAE,CACvD,EAAE,CAAC,YAAY,CAAC,IAAA,+BAAyB,EAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5E,CAAC,EAHgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGzB;AAYD,IAAiB,mBAAmB,CAUnC;AAVD,WAAiB,mBAAmB;IAChC,SAAgB,EAAE,CAAC,CAAM;QACrB,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC;IAC9B,CAAC;IAFe,sBAAE,KAEjB,CAAA;IACD,SAAgB,yBAAyB,CAAC,CAAM;QAC5C,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC;IAChD,CAAC;IAFe,6CAAyB,4BAExC,CAAA;IACD,SAAgB,aAAa,CAAC,EAAuB,EAAE,UAA0B;QAC7E,OAAO,yBAAyB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,KAAK,UAAU,CAAC;IACzE,CAAC;IAFe,iCAAa,gBAE5B,CAAA;AACL,CAAC,EAVgB,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAUnC;AAEY,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
import { NamedWorkspaceFeatureFlag } from "./protocol";
|
|
7
7
|
export interface WorkspaceInstance {
|
|
@@ -10,6 +10,7 @@ export interface WorkspaceInstance {
|
|
|
10
10
|
creationTime: string;
|
|
11
11
|
deployedTime?: string;
|
|
12
12
|
startedTime?: string;
|
|
13
|
+
stoppingTime?: string;
|
|
13
14
|
stoppedTime?: string;
|
|
14
15
|
ideUrl: string;
|
|
15
16
|
region: string;
|
|
@@ -17,8 +18,23 @@ export interface WorkspaceInstance {
|
|
|
17
18
|
status: WorkspaceInstanceStatus;
|
|
18
19
|
configuration?: WorkspaceInstanceConfiguration;
|
|
19
20
|
readonly deleted?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Contains information about the image build, if there was any
|
|
23
|
+
*/
|
|
24
|
+
imageBuildInfo?: ImageBuildInfo;
|
|
25
|
+
/**
|
|
26
|
+
* workspace class, also known as workspace size, determines the type of
|
|
27
|
+
* resources that are provided to the workspace.
|
|
28
|
+
*/
|
|
29
|
+
workspaceClass?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Identifies the team or user to which this instance's runtime should be attributed to
|
|
32
|
+
* (e.g. for usage analytics or billing purposes).
|
|
33
|
+
*/
|
|
34
|
+
usageAttributionId?: string;
|
|
20
35
|
}
|
|
21
36
|
export interface WorkspaceInstanceStatus {
|
|
37
|
+
version?: number;
|
|
22
38
|
phase: WorkspaceInstancePhase;
|
|
23
39
|
conditions: WorkspaceInstanceConditions;
|
|
24
40
|
message?: string;
|
|
@@ -30,21 +46,21 @@ export interface WorkspaceInstanceStatus {
|
|
|
30
46
|
nodeIp?: string;
|
|
31
47
|
ownerToken?: string;
|
|
32
48
|
}
|
|
33
|
-
export declare type WorkspaceInstancePhase = "unknown" | "preparing" | "pending" | "creating" | "initializing" | "running" | "interrupted" | "stopping" | "stopped";
|
|
49
|
+
export declare type WorkspaceInstancePhase = "unknown" | "preparing" | "building" | "pending" | "creating" | "initializing" | "running" | "interrupted" | "stopping" | "stopped";
|
|
34
50
|
export interface WorkspaceInstanceConditions {
|
|
35
51
|
failed?: string;
|
|
36
52
|
timeout?: string;
|
|
37
53
|
pullingImages?: boolean;
|
|
38
|
-
serviceExists?: boolean;
|
|
39
54
|
deployed?: boolean;
|
|
40
55
|
neededImageBuild?: boolean;
|
|
41
56
|
firstUserActivity?: string;
|
|
57
|
+
headlessTaskFailed?: string;
|
|
58
|
+
stoppedByRequest?: boolean;
|
|
42
59
|
}
|
|
43
|
-
export declare type AdmissionLevel =
|
|
44
|
-
export declare type PortVisibility =
|
|
60
|
+
export declare type AdmissionLevel = "owner_only" | "everyone";
|
|
61
|
+
export declare type PortVisibility = "public" | "private";
|
|
45
62
|
export interface WorkspaceInstancePort {
|
|
46
63
|
port: number;
|
|
47
|
-
targetPort?: number;
|
|
48
64
|
visibility?: PortVisibility;
|
|
49
65
|
url?: string;
|
|
50
66
|
}
|
|
@@ -58,9 +74,33 @@ export interface WorkspaceInstanceRepoStatus {
|
|
|
58
74
|
unpushedCommits?: string[];
|
|
59
75
|
totalUnpushedCommits?: number;
|
|
60
76
|
}
|
|
77
|
+
export interface ConfigurationIdeConfig {
|
|
78
|
+
useLatest?: boolean;
|
|
79
|
+
desktopIdeAlias?: string;
|
|
80
|
+
}
|
|
61
81
|
export interface WorkspaceInstanceConfiguration {
|
|
62
82
|
theiaVersion?: string;
|
|
63
83
|
featureFlags?: NamedWorkspaceFeatureFlag[];
|
|
64
84
|
ideImage: string;
|
|
85
|
+
ideImageLayers?: string[];
|
|
86
|
+
desktopIdeImage?: string;
|
|
87
|
+
desktopIdePluginImage?: string;
|
|
88
|
+
supervisorImage?: string;
|
|
89
|
+
ideConfig?: ConfigurationIdeConfig;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Holds information about the image build (if there was one) for this WorkspaceInstance
|
|
93
|
+
*/
|
|
94
|
+
export interface ImageBuildInfo {
|
|
95
|
+
log?: ImageBuildLogInfo;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Holds information about how to access logs for this an image build
|
|
99
|
+
*/
|
|
100
|
+
export interface ImageBuildLogInfo {
|
|
101
|
+
url: string;
|
|
102
|
+
headers: {
|
|
103
|
+
[key: string]: string;
|
|
104
|
+
};
|
|
65
105
|
}
|
|
66
106
|
//# sourceMappingURL=workspace-instance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-instance.d.ts","sourceRoot":"","sources":["../src/workspace-instance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGvD,MAAM,WAAW,iBAAiB;IAE9B,EAAE,EAAE,MAAM,CAAC;IAGX,WAAW,EAAE,MAAM,CAAC;IAGpB,YAAY,EAAE,MAAM,CAAC;IAGrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-instance.d.ts","sourceRoot":"","sources":["../src/workspace-instance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGvD,MAAM,WAAW,iBAAiB;IAE9B,EAAE,EAAE,MAAM,CAAC;IAGX,WAAW,EAAE,MAAM,CAAC;IAGpB,YAAY,EAAE,MAAM,CAAC;IAGrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,MAAM,EAAE,MAAM,CAAC;IAIf,MAAM,EAAE,MAAM,CAAC;IAIf,cAAc,EAAE,MAAM,CAAC;IAGvB,MAAM,EAAE,uBAAuB,CAAC;IAKhC,aAAa,CAAC,EAAE,8BAA8B,CAAC;IAG/C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAGD,MAAM,WAAW,uBAAuB;IAIpC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,sBAAsB,CAAC;IAG9B,UAAU,EAAE,2BAA2B,CAAC;IAGxC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAGvC,IAAI,CAAC,EAAE,2BAA2B,CAAC;IAGnC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,oBAAY,sBAAsB,GAG5B,SAAS,GAIT,WAAW,GAIX,UAAU,GAKV,SAAS,GAKT,UAAU,GAIV,cAAc,GAId,SAAS,GAIT,aAAa,GAGb,UAAU,GAGV,SAAS,CAAC;AAEhB,MAAM,WAAW,2BAA2B;IAGxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAM3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAGD,oBAAY,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;AAGvD,oBAAY,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAGlD,MAAM,WAAW,qBAAqB;IAElC,IAAI,EAAE,MAAM,CAAC;IAGb,UAAU,CAAC,EAAE,cAAc,CAAC;IAG5B,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,2BAA2B;IAExC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAG1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAG7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAGD,MAAM,WAAW,sBAAsB;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAGD,MAAM,WAAW,8BAA8B;IAG3C,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,YAAY,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAG3C,QAAQ,EAAE,MAAM,CAAC;IAIjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAI1B,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACtC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
4
4
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
5
|
-
* See License
|
|
5
|
+
* See License.AGPL.txt in the project root for license information.
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
//# sourceMappingURL=workspace-instance.js.map
|
package/lib/wsready.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
3
3
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
4
|
-
* See License
|
|
4
|
+
* See License.AGPL.txt in the project root for license information.
|
|
5
5
|
*/
|
|
6
6
|
export declare enum WorkspaceInitSource {
|
|
7
7
|
WorkspaceInitFromBackup = "from-backup",
|
|
@@ -10,5 +10,11 @@ export declare enum WorkspaceInitSource {
|
|
|
10
10
|
}
|
|
11
11
|
export interface WorkspaceReadyMessage {
|
|
12
12
|
source: WorkspaceInitSource;
|
|
13
|
+
metrics: InitializerMetric[];
|
|
14
|
+
}
|
|
15
|
+
export interface InitializerMetric {
|
|
16
|
+
type: string;
|
|
17
|
+
duration: number;
|
|
18
|
+
size: number;
|
|
13
19
|
}
|
|
14
20
|
//# sourceMappingURL=wsready.d.ts.map
|
package/lib/wsready.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wsready.d.ts","sourceRoot":"","sources":["../src/wsready.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,oBAAY,mBAAmB;IAC3B,uBAAuB,gBAAgB;IACvC,yBAAyB,kBAAkB;IAC3C,sBAAsB,eAAe;CACxC;AACD,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"wsready.d.ts","sourceRoot":"","sources":["../src/wsready.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,oBAAY,mBAAmB;IAC3B,uBAAuB,gBAAgB;IACvC,yBAAyB,kBAAkB;IAC3C,sBAAsB,eAAe;CACxC;AACD,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB"}
|
package/lib/wsready.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright (c)
|
|
3
|
+
* Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
4
4
|
* Licensed under the GNU Affero General Public License (AGPL).
|
|
5
|
-
* See License
|
|
5
|
+
* See License.AGPL.txt in the project root for license information.
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.WorkspaceInitSource = void 0;
|
|
9
|
-
// generated using github.com/32leaves/bel on
|
|
9
|
+
// generated using github.com/32leaves/bel on 2022-11-25 13:39:08.995865257 +0000 UTC m=+0.015035221
|
|
10
10
|
// DO NOT MODIFY
|
|
11
11
|
var WorkspaceInitSource;
|
|
12
12
|
(function (WorkspaceInitSource) {
|
package/package.json
CHANGED
|
@@ -1,40 +1,62 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dependencies": {
|
|
3
|
+
"@types/react": "17.0.32",
|
|
4
|
+
"abort-controller-x": "^0.4.0",
|
|
3
5
|
"ajv": "^6.5.4",
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
+
"analytics-node": "^6.0.0",
|
|
7
|
+
"configcat-node": "^8.0.0",
|
|
8
|
+
"cookie": "^0.4.2",
|
|
9
|
+
"express": "^4.17.3",
|
|
10
|
+
"google-protobuf": "^3.19.1",
|
|
11
|
+
"inversify": "^5.1.1",
|
|
12
|
+
"jaeger-client": "^3.18.1",
|
|
6
13
|
"js-yaml": "^3.10.0",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
14
|
+
"nice-grpc-common": "^2.0.0",
|
|
15
|
+
"opentracing": "^0.14.5",
|
|
16
|
+
"prom-client": "^13.2.0",
|
|
9
17
|
"random-number-csprng": "^1.0.2",
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
18
|
+
"react": "17.0.2",
|
|
19
|
+
"react-dom": "17.0.2",
|
|
20
|
+
"reconnecting-websocket": "^4.4.0",
|
|
21
|
+
"reflect-metadata": "^0.1.13",
|
|
22
|
+
"uuid": "^8.3.2",
|
|
23
|
+
"vscode-jsonrpc": "^5.0.1",
|
|
24
|
+
"vscode-languageserver-protocol": "3.17.0",
|
|
25
|
+
"vscode-languageserver-types": "3.17.0",
|
|
26
|
+
"vscode-uri": "^3.0.3",
|
|
14
27
|
"vscode-ws-jsonrpc": "^0.2.0",
|
|
15
|
-
"ws": "^
|
|
28
|
+
"ws": "^7.4.6"
|
|
16
29
|
},
|
|
17
30
|
"devDependencies": {
|
|
18
|
-
"@
|
|
31
|
+
"@grpc/grpc-js": "^1.3.7",
|
|
32
|
+
"@types/analytics-node": "^3.1.9",
|
|
33
|
+
"@types/chai-subset": "^1.3.3",
|
|
34
|
+
"@types/cookie": "^0.4.1",
|
|
35
|
+
"@types/express": "^4.17.13",
|
|
36
|
+
"@types/google-protobuf": "^3.15.5",
|
|
37
|
+
"@types/jaeger-client": "^3.18.3",
|
|
19
38
|
"@types/js-yaml": "^3.10.1",
|
|
39
|
+
"@types/mocha": "^5.2.7",
|
|
40
|
+
"@types/node": "^16.11.6",
|
|
20
41
|
"@types/random-number-csprng": "^1.0.0",
|
|
21
|
-
"@types/uuid": "^3.
|
|
42
|
+
"@types/uuid": "^8.3.1",
|
|
22
43
|
"@types/ws": "^5.1.2",
|
|
23
|
-
"chai": "^4.
|
|
44
|
+
"chai": "^4.3.4",
|
|
24
45
|
"chai-subset": "^1.6.0",
|
|
25
46
|
"mocha": "^5.0.0",
|
|
26
47
|
"mocha-typescript": "^1.1.11",
|
|
27
48
|
"rimraf": "^2.6.2",
|
|
28
49
|
"ts-node": "^9.0.0",
|
|
29
|
-
"typescript": "~4.
|
|
30
|
-
"typescript-json-schema": "^0.
|
|
50
|
+
"typescript": "~4.4.2",
|
|
51
|
+
"typescript-json-schema": "^0.50.1",
|
|
31
52
|
"typescript-parser": "^2.6.1"
|
|
32
53
|
},
|
|
33
54
|
"files": [
|
|
34
55
|
"lib",
|
|
35
56
|
"data/*.json",
|
|
36
57
|
"src",
|
|
37
|
-
"pkg-yarn.lock"
|
|
58
|
+
"pkg-yarn.lock",
|
|
59
|
+
"provenance-bundle.jsonl"
|
|
38
60
|
],
|
|
39
61
|
"license": "UNLICENSED",
|
|
40
62
|
"main": "./lib/index.js",
|
|
@@ -43,9 +65,9 @@
|
|
|
43
65
|
"build": "tsc",
|
|
44
66
|
"clean": "rimraf lib",
|
|
45
67
|
"prepare": "yarn run clean && yarn run build",
|
|
46
|
-
"test": "mocha --opts mocha.opts '
|
|
68
|
+
"test": "mocha --opts mocha.opts './**/*.spec.ts' --exclude './node_modules/**'",
|
|
47
69
|
"watch": "leeway exec --package .:lib --transitive-dependencies --filter-type yarn --components --parallel -- tsc -w --preserveWatchOutput"
|
|
48
70
|
},
|
|
49
71
|
"types": "./lib/index.d.ts",
|
|
50
|
-
"version": "0.1.5-main.
|
|
51
|
-
}
|
|
72
|
+
"version": "0.1.5-main.6460"
|
|
73
|
+
}
|
package/pkg-yarn.lock
CHANGED
|
@@ -4,19 +4,32 @@
|
|
|
4
4
|
|
|
5
5
|
"@gitpod/gitpod-protocol@0.1.5":
|
|
6
6
|
version "0.1.5"
|
|
7
|
-
resolved "file:///tmp/cache/
|
|
7
|
+
resolved "file:///var/tmp/cache/bdf5cf2636087810aabd26cda6fc63ce8dd36c08.tar.gz"
|
|
8
8
|
dependencies:
|
|
9
|
+
"@types/react" "17.0.32"
|
|
10
|
+
abort-controller-x "^0.4.0"
|
|
9
11
|
ajv "^6.5.4"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
analytics-node "^6.0.0"
|
|
13
|
+
configcat-node "^8.0.0"
|
|
14
|
+
cookie "^0.4.2"
|
|
15
|
+
express "^4.17.3"
|
|
16
|
+
google-protobuf "^3.19.1"
|
|
17
|
+
inversify "^5.1.1"
|
|
18
|
+
jaeger-client "^3.18.1"
|
|
12
19
|
js-yaml "^3.10.0"
|
|
13
|
-
|
|
14
|
-
|
|
20
|
+
nice-grpc-common "^2.0.0"
|
|
21
|
+
opentracing "^0.14.5"
|
|
22
|
+
prom-client "^13.2.0"
|
|
15
23
|
random-number-csprng "^1.0.2"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
24
|
+
react "17.0.2"
|
|
25
|
+
react-dom "17.0.2"
|
|
26
|
+
reconnecting-websocket "^4.4.0"
|
|
27
|
+
reflect-metadata "^0.1.13"
|
|
28
|
+
uuid "^8.3.2"
|
|
29
|
+
vscode-jsonrpc "^5.0.1"
|
|
30
|
+
vscode-languageserver-protocol "3.17.0"
|
|
31
|
+
vscode-languageserver-types "3.17.0"
|
|
32
|
+
vscode-uri "^3.0.3"
|
|
20
33
|
vscode-ws-jsonrpc "^0.2.0"
|
|
21
|
-
ws "^
|
|
34
|
+
ws "^7.4.6"
|
|
22
35
|
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
{"payloadType":"application/vnd.in-toto+json","payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YwLjEiLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MC4xIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjA1MTE4MmE4MDAyYWEyZmJiOTc5YmFmNGE5YzM2YmQxOGMwZmNjMTdiZTU0MGQ5Y2M5OTQ3NjJjMjAzNTI3ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjUzYTI0NzBjMDZkZTYyMDExMjE2NTdmN2U0NjA3YWE4MTc1NGQ2YTg1YjlmMGQ5N2E3YWE3OGUyNmQ1NWVkOGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ4NjhlYTI5YmY5YzZhYzlhZjQxOWJhNGU1ZTE4OGY5OGVlN2EyNzYxNDIzMzg1NzMyYzA2YWMxMmEwMWE3YzAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2hhbmRsZXIuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE0MzczMGQxNzcwY2I2NGMzMzYzMTQzZmI4ODY3ODMyZWU4ODdhNDAxYjhmYjUwMzAzNDYyYzQ5MTZjYmU5MTIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGVybWlzc2lvbi5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmZhMjQ4ODNlNTA4Y2YzOGJjOGU2NTNhMjI0M2UzMmExZjQyOWFhOTRhNWY2YTJlMDc0MTkwNzdiYzE1ZjJkMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtY2xhc3MuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTUzYTU0MmNjZDljZDdkYWYyNjU5Y2FiMmVkZDdhMWYyNWJjNGE0Mzg3OGVjYmMxOTgxMTRhMTBkZTRhMDM1OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4ZjIzMjcwZTRkODZmNGFjOWEwZjAzNmEyMDYyYWI4MzBkMTk3MDY3YmMxZTg4ODkyNmU5ZWY5OTE1ZDFmOTcyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxYjE5YmE1ZjZkOTkzZmNjZDQ3ZWM2YTY3ODgwNTUzMzZhNDJlNjkyMmZhNGNiZTg5YzJiNDc2NWYzMjIxYjBiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzNmUwZDNhYzFiMjJkYjMxY2JjY2U0MTk5MTU4MzE4ZWY5YjQwMmVlOTY5YWVmNGM4ZTRkNjVhNjhiMDM3MTJhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGF0ZS10aW1lLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY4NzhiZWIwZjdjZWYyZmE4OTI2NjU1ZTVjNTk5MGMwOWE2YjljODBjMDQxNjYxMDI0YmIwYjBiZjIyYzhhMTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTFmZDExNTQ3M2YxZDllZTcwYjY2OGEzYmVhZGE5YmY2ZGZkYWMzYjRhMDc5ZjNlNDgzMDQ3MjFiYzIxYTc0ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91c2FnZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGY4NTA4ZDVhZjZlNmY3NzFkMDI3OTkxY2MyM2FkMDcyYWE1N2I3MzVmMjlkNzNmZmQxMDQ4ODczM2E1ZjcwZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDQ2ZDk5ZmIxZjk0MGE2NTI1NjA5OWI0MjNkNzcyZjdmYzRkZTEzOTE1ZTQ2NmM1YmYzNjNlZjE1ZTc4ODQyZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjEzODY3ZGNlNmRkNGY5N2EyOWY0ZjhmZmM3NDg1ZTdmYzlkYTNhODg3YmI4NzlmNmE0YzhhNTg3YzUwNTdmYTciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9yZXBlYXQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDk5MDU5MTVjY2E5NWExOWY1NGZkZmVkZjc3ZWRiMjEyNjVlNjA0ZmU4YmI2NTRmZmZlODdiMzIzMGVhNzg3MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2V2ZW50LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNhNmJjNDI2NTNiMzAyNzRmOTU0OWQ4NWIwMWQ2ZjlkMTNmNzhhNmQ2MjllZWRkNzg1OTNjYTRjNTNjNzM1YTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWNjb3VudGluZy1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdjMGIwZjE4ZTA5MzY2MmFkOTg1MTc4YjczNzQxZmU4NmU3YzEwMzc5OTRiNDRlYWY4YzQzOGRiNjdiNjhkN2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXNhZ2UuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODAzMWQ1OGRjMTg2MzZlOTZiYTA1YjE3ZmVkNjE3OGU0NWQzMTdiNWQwNTJmZTQ4NzBiMmE4YmVjOTgzOTc5OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyMDk3MzdlYjRmMjQ4NDdlZmVlNmU2Y2IzMWM0YjczMGZlYjU2MTcwMGU0MTI4MGZjYWY1OWE0MTNlOTQ5NTdiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9oYW5kbGVyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmE3NGE4ODFhOTliNjI3MTlhOWRhMWMxYjNiMjZlZWUyM2U0OWU2MmE3ZTg3YzY3NTU5MGRhMDM5NTZlMDkzYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlYnVnLWFwcC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJmY2VmYmMxMGYxZjQ2YmE5YTc3MDA3YTk4MmJjZmJkMDUyYzVkZjU1NWQ4NmMyOWNlY2VjOTdkZmQyMmUwMmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE1YjhhMTgzNmZhYzA0ZmM3YTM4NjA4ZjI0NDRiYjg2ZjMwZTQyY2UyYmQ4YjI4ZjdjMTVlYWViNDVjMjdjYjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9za2lwLWlmLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE4ZmY0YzFkNTRlYzY4YmI5OGRiYzYxOWJmMDNhMTdjM2YyODBjMWFiOTU0NGJjNDUyYjMzMDc1OTFhZGJiZGMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd3NyZWFkeS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4Y2M4ODBkNDlkNWMyYjE2YzY1ZWY1MGNlNmNjNGFmMGU4MDMzOGZjZjc0Mzg3NTc3YWQxOWI5Y2M3ODMzYjIyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYXN5bmMtaXRlcmF0b3IuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYThjNjAyMzVjYTEzMGU5ZDIwNjhiNWE5OGQ5NzFhODg2NjY0MDhiN2NkMTYwMzQ3ZDFjMmE1MGVlMTRlYjQxZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5OWNiMDAzNzVlN2FmZmU2NDg1OTNjOTlhOWI5NGVlNzhhYzkzMTM1ZTJjNjFhYzc0ZjIzNzRhYTRlMGYzYjQzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVlcC1wYXJ0aWFsLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMWUwMTJhNzFiZjJmZGYwYjhlZDViYzA0YTQ0ZGE5Mjk2ZTg4YTM3YTAzOWFiNDc5Y2Q4ZWI2ZDMzMjk4ZjY3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FjY291bnRpbmctcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDcxMzgyOTg2MmJkZTdhMDBkOGZiZWU0MTdmODcyNGE4NzAyY2UwNTk3M2IyNGQxZGNiNzgyZWY5NWQ4ZGUyNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjgzZWMzZmIwN2FmMTY4YmIwNDdkNGIyY2VlMWFlNmEzYjQ1OGM1MzE4YWI3ZTAyZjQxMWNhNzJiMmRlZWEyYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg2ZGM3Nzk1MTEwNzE4ZDZlYTdiMTllMWIwMzE3Yzc2MGYzZGRmNjcyYzExOWQ3Nzc4YzlmMjJiOWE4YTBmNjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd2ViaG9vay1ldmVudC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkNTlmZjA2YTk3ZDViNjFlM2U2ZGYyZTI0MTNiMGEyMjg4NjI0NTBmZDNmNjc4ZjMwNTJkOTVhYzMyM2NiMzZiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F1dGguanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI4ODkyMTE2YzIyNjIwNjJiOWU5YzMyNDAwZDdjOGFhZWI3NmQ2MjdlODc5NDlmODU1NGFmOGVmMGY3ZmVjZGMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU1ZTcxY2FkMjJjMDYwMjY1MWVjYjA3YzVmOGU4NDBmODI2MmZiNWNlMzU0ZDU5OTI3YmE1ODg5MmFhYmU1ZWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1YWI4ZDA4YTM3YjQ2Mjc2ODBiOTI2NmFjYjE5YTU2OGVkZTM4MjZhZTQzZmZlMTI2NDg0YjY5Zjc4ZTY3NTdmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luZGV4LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGU2ODE1YzNiNmE4OTlkNmExZGQ5Yjk2MDI4MzAwMWU3YjUxZDI0OTRlYzI3MmU1OWJjNzBiNmQ0NDJmYjlmNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy90eXBlcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNmJlYjY4YmY1MDMxZDk5MWU1YjE4YTJiMmU4N2M4NzU1YTI4OTZmNjY4MmY5MmJhZjJlYTU3OGQ2NDBkMTA4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Zyb250ZW5kLWRhc2hib2FyZC1zZXJ2aWNlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1NWQ2M2MzYTE2ZDUwOTVmYmY0ZDgzMzA0Mzk0ZWY4ZGUzYjJmYjk2NDlkYjI4NDc4NDhkNDc2ZDIyNTU2NWIzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1zZXJ2aWNlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3ZDk4ZmRhMGYwZDZkNzI3MzUyNzliZmM5ZDFkNzAxZGJjYjNmM2YzYjE3OWYwY2NiYmVkYmI1ZmFiMGIxMmFlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzNTcwNzhlZTBlMzEzOTAxOWQzMmEzYTA4OGQ5YmVjYzAwNTgzMWM1MjA0MjljZjI2NmE3YmM1ODFlZGIzNTAyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVidWctYXBwLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQyMWFmMTY1N2M3ODkyMDQ3YzFhOGJkZTRkYjhkMjdjNzMxYjg4YWYyNWU4ZWRiMTdmOWQ1MzBmM2M5YTg2NjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5kZXguZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDQzZGNjN2I0MzI0Nzc4MzU1ZDFmMzM5Y2FiYWFkODZiNmFkMTNkYzZmMjZlMzg4OWQ4ZTRhOTNhMTgwN2Q2MyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgxMGYyNzIxNWI2ZDRlZTJlYWRlNjI1NTQ4NTViZWFkMzJiYWIxMTdiYmMzNDU4MzhmZTgwNzA2NDAwNzA1ZDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9uaWNlLWdycGMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGI3YmQ2ZGNiN2M3MGIwNGEwZTk1ZTA3MmI3NTRhOTEzN2FiY2UwZWIzNmM4Yzk1YzRkMDkwMmEwYmJmNjk4ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1jb29raWUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjMmZkZmE2NDY2YTNkNDA0OTMxYzc1ZjQxNDg4NTc3MDhkZjY2MmQxYmNiMzc4NmJkYThhMWFiYTQ1MzdhYzM5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjYyZWQzYjJkOGM5MjgwMTE2MjkxZDllYjI4NWViMmJlMGExZWMzMTRkYzc0ZjdhNzc4ZmY1ZDQzMzc3MmU0NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZmVycmVkLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE4OGU4ZWViZmQzODkwOTkwOGUzMDhjNjA4NmJlMzRjMWRjOWFjNTM4YmEzOGY4NTVlOTAzMDFiNzQ3ODQ5MWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvY29uZmlnY2F0LXNlcnZlci5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWE4ZDkzZDI1MGM4NjM1ZjQzNWNhMDZlMGIyOWZjNDJhZGU0NDg4OTE1OWZiYjkzZWYxOWM1NzVjYTZkOWM1ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci9jb25uZWN0aW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZGNkNDY1YWM4M2QxMjBiN2UxNjFmN2RjYmM4ZjZkZTNmNzFjOGFlYWIwYjY0NzMzYWYzOTFjYjFhOTgxYTFjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmViYjdkOGRjZmI4NzBhMzA3ZDNhYzc4YTk4ZjE1NzE3MzFlOTI4NjU2MTRhMzAzMmUzM2I0NGM5OGY1NmNlMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pbmRleC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzlhOGU1OWJjNmI0MDUwYzc1Y2U4MzYyOTUyY2I5N2M5Njk1NDk2NjkxMTUzZmJjYTExNzk2N2E4ODZhODk2MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9jb25maWdjYXQtc2VydmVyLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI4NDkwZmM5MWVmY2EzNmE3NDEwOTdiMGViNjJhZGRlNjMyMzdkZGQxMGI1ZWYxYzNhZGY5ZTcyOTQzZDljYmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd2ViaG9vay1ldmVudC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImUxYmFlYzM2NDRlNDgyMzc1MWRkNTI2YjVkY2MwYmQ5YzY1YjY3YWVjNzY4ODdhMDcxOGI4NTMzYzAyZGM0YmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWVwLXBhcnRpYWwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTZkOWQ4ZDJhZjg4Y2ExNzIyNjRlZDkwYTk1ZGRmYjM2ZGU3MWZkNzE1MWExNDRiYzY0NjNlMDZlNWY2YzEyNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy90eXBlcy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODBkZDI2YWMwOTlmZjgyNDkzNzU3ODY5MTBmZmMyZmQ1YTQ0YTcxNTRkNmRmMDZhN2EzMzM4NjNmNWU0NzE1ZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtZnJvbnRlbmQtc2VydmljZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE1NzA5YjM0MTczNWM4NjM3N2MyMWM2YmFmMzlmMmY0M2ZjYmRlMzg0OWQ3NzQ4ZDBmMzM2YjJkNmMxYTJjMDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvY29ubmVjdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ZjQ4MjY2ODEyNjFkYWYwMTBmZDMxOThkYzMxNDRiODZhM2RjYWYzNjE0ODU1NDViY2Y1NWViYzk5YWJlNzgxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmNlYjJiODBlY2I2MjFkMDE0OTUyYzczYzFmMzUxMjY0OWRkMjY0YmUwYTQ2N2I4NDIxMDFlYzYyNzZmZGRlYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wbGFucy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NWE0ZWRhMjRlYTA5NmU3OGIzZWI1NzJiOGM2ODZjZDY1NzcyNDU2NGFkZjA3ODQ1NDcxY2U3OThhMmVkNzU1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F1dGguanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGZhM2E0N2E2MjNmZjZkYjU5ZjRlNDc0Mjc0Mjg4ZWQxMzgzN2NiOTk3NDQ1ZmRhNTQzZDVlYjgyZjQ0Y2I4YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hbmFseXRpY3MuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTlmNTI0YjM4ZTkzNTc0M2UxYWE3NzQ1MGRiYzJjMzZiMWExY2VkZDA2NDVlYWI4ZWY2YWM3N2YyOGI0ODM1OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxZjMzODYwNGQyYjdjMGM5OTc2ZGM5NThhNTAzOWE2MTg5NDYxMjA0MWM1Y2NlNjQzODMxNTgyOGI5OTU1OWRiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2FyYmFnZS1jb2xsZWN0ZWQtY2FjaGUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZmNjMDlhODZmZTRhYzc4M2U5YzZjZGYwMmVlOTllYTM0NjNmOTIzOWFlOGJlODJiNTA0YmM3YTllNTQ5NDMxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9ub2RlL2Nvbm5lY3Rpb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMzZWRmMWViZTA1ZDNlMGIzMDNlNzAxMDM3OGJlYWFlN2RmN2MxNTAyODFmOTlkOTg0YWI3OWIzYTI2YTdhY2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFlOTkxNGY3YjJkMmMxZjg0YjliMDk4ODVhYTEzNzFiMDg3YzE2YjE3N2Q4NGY0ZDFjNjA0ZjJhNWE0YzgwOWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjgyNmQ1OTBlZWYzYmI1NTQ4ZDUzMTY0MjcxZDc4MWUyZDM4MjE2NTFiYzM1YTZmYjRjMGMyZTNkYWQ1MmMxYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NDJjMmNiZDFjYzNiMGM1ZmQwMGM4MTg4NzMyMWViNzkzZTRjMTZhNjMwZTY4YzIyZGNkMGMxZjZkNjNiZGE3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F1dGguZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiN2IyOGYxMjc5ZmQ3ZWYwMTA3Nzg2YmNkMzcwMThiMGRmM2ZjZWNkZGMzZTkwZjE5NjFjNGM1MGVhMDJkNmI1NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZkZDEyNDNjMzViZTQ4NWUyMjI5NGJmMDQ2MGQwYTUzNDZiY2MxZDg2Yjk5ZmM5ZjQ0NDQ1MDlmMGZjMzM0MGMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGF5bWVudC1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3ZjJkNDY3MzhiOTE3M2QzYjQzZmMzMmUzMjBhYWYxN2JkZmVkMjVkZDk5NjRjZjE3NDA5MjUyMWNkZGJiMjlmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMyZjU2ZWUwYzc1MzljMzlmNjk3MWVlOWZhODFjMDQ1MGRmZjQ0YWEzZjAxZDY2NmM4YWQ2MjI5YmRmMzM0NjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL3Byb3h5LWZhY3RvcnkuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ZDE4YWJhMDM3MDE1Yzc3N2E4YWQ5NjdjYjFkMWY3OWEwODkyYTk0ZDE2MGRhNjdkZTMyNzA0YzZmZTIxM2ZiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcmVwZWF0LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNjM5NjUxZmVmMDhhNjFjNjdkZDBiOTBkNDdhNWQxNDAxNDljMzRhMjU2M2VhNWRiMGU1ZWNmNTcwMjViYTE0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F0dHJpYnV0aW9uLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzQzOGZkNjNhNzVjMzBlNDliOGZmMDZjZWZkNzE5ODAyODk3MGQ1NTIwNzhlZjA5MDcyYjYyOWJlM2JiODQ4YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxOGRkNTZjMjM1ZDA1NDY1YWRmZGIwOTc0ZGZlODkzY2Y1NDBkNDk3NDk5ZWY0Nzc4YzI5NzcwMWEwMzc0Y2Q1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2tpcC1pZi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NzUzNjViNDI5M2M3NzQzY2E1NGZhNDg0YjA2ZGViNjc3YjVmZGI1ZGNjNGI4Y2Q2OGRlYTE2NjZhNmMzMjFhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ4MWQ4MDEwNzIzZDg0MjIwYWVjYThlYzQyNGYyNjBlMjAxZTQyZDA4NmRkMGE3NzQ2MGY5MWI4ZTExMjdhZDMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdHlwaW5ncy9nbG9iYWxzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU2YTgwZjA2NGZiMTA2YTA0NDNiNGViNWQwY2FhZGRlNDhhZjhiMGQzYjUwMWM5MjUwODk1NGI2NTg2Y2I2MjAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW52LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTBlNzFkMDE5MjA5NWUwYTdmYzMyMGRmZDRkYjUyNjE0OWRkOGM4MTkwOGQ3ZDRhNTBkZmZhOWM3MjE0YjZiMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dycGMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU1MDFkMmMyYmIxOWM5YWQwMzFiMDcxZDEwNGIzMmI1YjY2Y2M0YjY2M2RhYmM1NGZlNWY2MzJjZWE0MDcyNTYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nYXJiYWdlLWNvbGxlY3RlZC1jYWNoZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkNjJlMjc4YTc0MzZjY2FkOGMzZDJlNGQzY2UwY2JkNDkyZmUxMmY3ZDYzYjk5YWRiODM4M2NlZDkzZGFkOWU2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW1zLXByb2plY3RzLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTNjNWY4YTgyNTU1NjQwNWYxMmY0MzdmZGJkNGIwZjI2NTUwMTNjZDg1NjlmZjQ0NjFmYWJjOWNhMGQwNDNmMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3JlcGVhdC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJmMTRiNDhmMTQ5YjUzYWNkNjU4ZjY5MDVjMmEwZDdlZjc1MzM0YWQ2OTIzMmIyN2E5NzM5MGRhN2FiZTc4YzIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9sb2dnaW5nLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWY5NDg1YTgwZWM0MzJiNTIxMzM0ODVjZTc4YzE2ZTJlM2M1ZmRkZjA5MWNiODg4ZTA1ZDQzZThlYTQ4YzNkZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRhYTdiNTJjYTZiZTE0MTJlMjBlNzJhOWZiYzgzODM0ZDVhZjExNTA2ODIxM2JhNGQ2NzY4YTM5NGUzNWE0YWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9zZW1hcGhvcmUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjQ3ZTZjNTQ2Zjc2YWIwY2I2MTMyMGYxOGIzMjRlMDFhMWY0NTU0MmUzNDc5N2U5OGVhYmI1YmU2YjJlMjBiZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FzeW5jLWl0ZXJhdG9yLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjcxNzJhZWE5ODk4ZmQ3NzE2MThkZDM4M2IxZDA2MzhjZWVhNmY4YTczNmIyMGFhYmFjNGVlNTllN2E3NmFjZmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNThkNDZiNWE3MTA4ZGFhNGM5MjU1ODUzOGU2YjVmYTA4ZGQwYTY0OWM2ODUwMmMzMWRiOWNiNWJmYWE1NDcwNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzRhZjAwMzRjNDE3NmM0MGM3YmJlMGE3NTViOWU1MThjYmI0OGFhOTUwNmM4NDFjNzk5ZGRlZTk5M2Y1YThjMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTVmMjNlNmZlOGM1MzA0YTg1NTU4MWY0ZDNmZDZhMjQxN2JjYWM4MDBjZjA2OGYyYWJhOTNhYjA4MTA1MzUxOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc0MzYxM2VkOWNmNWMzMjM4ZGRhMjQxY2NiOTY3OWE4MTg1ZmU5ZmMzZTVlZmY2MzkxNTUxOTgzNmZiYTcyN2UiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdHlwaW5ncy9nbG9iYWxzLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzZDY3MTkyMDdiZjlhODk2NDQ5N2NjZjg0NWY0Yjk5NWY3MTIxNmYyZTc3ODRlOTYwMmViZjVmMzQ5ZTY0YmQwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1zZXJ2aWNlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFmMGQxZTNkODRiYjQ0MzQwNzdkM2I2MDY2Yzk2M2E4OTY0OWE0Yjc0ZDExYWI4NWJlYzVjZDhhMmViNGQwNTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjMjBiN2U2MWQ1N2YxZjIxY2ZlMWYxMWEyYjI1ZTVlMzgwYTBkNjBkNjlhYmJjNjI5OWUzYWVhOGJiNjdiYWQ2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dlYmhvb2stZXZlbnQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjc2N2UzMTQ0YmMwYWRlOWU4Zjc2NjhkYTQzZjQzMWNjYzExMjU1ZjViYWU1NmI5MjBmNDU1YzI5ODY0N2FlMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3dvcmtzcGFjZS1wb3J0LWF1dGhlbnRpY2F0aW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YWI4OTIzYTQxZDU1ZWQ2NjIwZmM3YTIzYzQxOTlkYzViMzg5OTkwODI0ZmY0MjczNjYyODZlODdlYTc5OGZjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2JpbGxpbmctbW9kZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJlMTNhYTNlZWJkODI1YzNlMDhkYTU4M2RmMDY5NzkwNzA5ZGE3MjY1MGU4NDAyNGIxOGQ1NTJhNGI4M2ZiOTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZnJvbnRlbmQtZGFzaGJvYXJkLXNlcnZpY2UuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0YzRiOGU0N2NjZjRjZTgxZDdmYzc1MWYwOGYyOThkNGE1YWVhYzhlNDI4NDA0OTNlODVkZWRhMGEyNTNmNjdkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1ODJhNzA0YzA3YTE1M2M2YzIyNTNiMDdjMTFlMjU2NTE0NjA5YjdkMGY0NTQwOTc1ZjVjODljMWEyYTlkYTJjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2xpY2Vuc2UtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2MzZGE4NTk2YjFhMTk5NjljNGVhNTE0MjY2ZDE5ZDUwN2MzNjlhN2U5OWZkNmI0OTM0MGZjNGYyYjc5ZTFmNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWI3NGQ5NDYzMmMzNjA1YmQ5YWFkYmU5ZDRhMGExNWEzZTA0OWI1ZTQ4MzYwNDQxZmY1MzU3YzJjODdhMDFhNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZmVycmVkLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1MjJjNGYxNzM2Nzk1YzAwMzYwNGE1ZWJmZTQyNDVhZjQ1YTI3NzdiZDViYjk2OTUxZGQzMDk2MGQ4YTM3NDVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvY2FuY2VsYWJsZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzYjM3YWFlOGFhMGE1MmY3YjZjMDdkNWI5MjQzMjUwOGM2NjNiN2QyNTdjMzMwNzhiODRkOWNiNmM4NTcxZmRhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1zZXJ2aWNlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTdkMGQxM2U1YTFlYTI0Mzg5ZGQ3ZmQyMjBjNWJhNzA1YWM5MTljNjBiMDI3MTFmZjU1ZjIzODY3OTIxNWExNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wZXJtaXNzaW9uLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI4YWMxNDg5MGRjZTZlYmNiYjEyMWM1ZmI1N2VkMmYyYTBjMjVhNjYwODczODdhYjY3NTY4NDExNDhkM2Y2MTUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzZjNjNjNlNTY3Y2UyMGU5ZTgyYjJmYTE5MDhhYWVmZjI3YTBkZDBkOGQxYTgxY2E2Mjc1Nzk3NDUzNjI0NTg2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3VzYWdlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzE5ZGZmMjk5MWYwMDYyYjllMTlkYzAxNTY3OTFhMzY2ZmQzZTYxZGMzYzhkMjhhMjAyNDJiNzA3NDZiODU5YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtcy1wcm9qZWN0cy1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhMjgxNWE4MjMzYWQ2YTQ0NzBiOGNhODdiZTgzODdjZDRkY2NmOWNlZWRjMDUxYzMxZDAyZTUwMGFlZjAzNDZhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzBjNWU1MjMzODRlNzViNDM4YzVkYTk3YjllOTI1OTNlYzlkM2RiNmIzNzk3N2M0NmE0OTgxZjc0ZDYzMGQyMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU0MjBhYWQ0MmQ3N2JjMWI1YzhjNWVhZjc3MTQ5NjI0YjdkYjJhZWJmYjIxODZiMmY5MmIwNTYwN2IyYzViMWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvY29uZmlnY2F0LXNlcnZlci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4MDZiNTlhMzI1ZjAzMWVmODgyNTM1NzMyNDVhMjljNzliM2IyZjQ0MzMzYWMxNWM1YWYwOTdhZGU2NzM0ODU5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3VzYWdlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjEyNDMyMGM5OGJlZTkzOTc4OGU0Mjg2YmYzOGRkOTNlMGNkOWNiMTkzOTJkODhhNzZjNjc0YTNiZGU2M2FlMmYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYXR0cmlidXRpb24uanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmE0MDEwMzk2MTI5MTJlNzg4NDQ4MWY0MjJjOWEzYTVlZjBjNmQ2MDg1ZTk1MmMyNDJjMGVjYTQ0NzVlNTU2ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbnYuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE2YTVjMGY0OThjNWQ1MTk3NzZjYmQ0MzViNmNkOGZkMjgzNGZmZGZlYWZmYjBkODViODU5NTQwYzFhZGNhNmQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWVwLXBhcnRpYWwuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiOGFkZmJjZWFlODg0MzM5MWNiMGNmNmNmNjYzN2YzZTM3YTAwMGU2Nzg3MmExODA5ZWQxMjAyOTkzMmNiOGYxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2hlYWRsZXNzLXdvcmtzcGFjZS1sb2cuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWY1MDdkMjRjYzMxMmQyZTBjZGQ2NWFmZDMwZGE5OGViMmYzNWNlZDUxOTdiNzFjMTZhZWZlMjg3NzdhMTVlNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL25pY2UtZ3JwYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTNmNTA3MjgwMzMxZWY3YWE1NWUyYWQwNjJkYzYyZmFkYjNmZGI0MTVhNmQwYTM2YmFjZWY3MzRkMDk3MWFkMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDA4NmQwN2FhMDYzMWRkODExNjAwN2E4NTcwMWYzNzkzMGIyNGVjZDI2OTUwMmIxNDM1ODY5ZjE4MzAwNmM3YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmE0NGEyNjVjZTYxZDZhOWQ4ODc3MzI3Y2YwMzE0MDExOTZlM2YyYTU3OTlmNTU1NjU3NjYwNmM4MGZkMmQ4YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtLXN1YnNjcmlwdGlvbi1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMyYjI1ZmZkZTk2NzQzNTdlNmRjMThmNTgxZTk3MWY1OWM0MTEwMjcxZDk0MjllZmI2Y2NkOTlkNGNhNDAwNWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWQ3YTFlYjAxNzY2YWI5NTA2OWI5NDA1OTgyMmE3MDM3YmJkY2EwMGZmMGI0YTgzNWZmMzZmODA4MmQxMTRiZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvcHJveHktZmFjdG9yeS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmZmM3YjZhYmNhMDYzZWMyNWEwYmI2MjE5N2VkMmU5NDAxZTBkOGQyYjQ3MWU4NTBiNjFmYzJhN2M2NzBhYmU5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9oYW5kbGVyLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdhOTc3ZTA1OTMzOGY3MTVkZjcxNTcwZGVhZmU5YzI3OWY3ODQwMDBlZmU4ZWQ5NDEzM2YxYzY3OGQxYmFkYzciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM0ZGI2ODMwMGVlNDQyNzM1YTZlZWMzMzgwYzY1MGU2ZjM1ZjAzZjEzYTYxOGEzOGRhODIxZTU3ZjI3MTc4NTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5zdGFsbGF0aW9uLWFkbWluLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk1OTM5ZmIxZmFjMTcxZWYyYzRhMjFhMTcyMGVjNTRlMzY2ZjQwYWQwYmIyYmJmY2QwNjdmN2EwMmQwMjgyZjgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbS1zdWJzY3JpcHRpb24tcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI2OTE2NGVkZDI2MTdhYzYwOTNmMjQ3NTkzMTlkMWFiOGZlMGEwYWExN2VmNzI5MGRkNWQ4YmFhZTk3OWQ4YWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNiODI3YjdjYTU3NzgwOTc2YzdhMmU2NDc4OWJjMjMxN2QyYmU4ZWIzMDI5MjkxNTA2MGM5YzNiYTFmYmFlMTIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWRmYWY0ZjhhMTFjMjY5MDk1Y2VkM2VlNTJmYzllMzIwMDg3MjNlYjU3MjEzOTVkMjM2NDgxNDRhOGU0ZjcxYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9jb25maWdjYXQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTBkNWY4Mzk3ZmNlNjUwYWYyODU1ZDE2ZmQxYjVkYjNkZmU3OTFmNWY5MDRhNzQ5YmQ1ZjkyMzI1NTMzMzIwNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5OTQyMjM1ODZjYTU4YjMzYWM1M2ExNTg2ZDc4NTRhY2IzNzI2NjM5YWMzZWE2M2VkNGZiZDEyMTk5NTVjN2NiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL2Nvbm5lY3Rpb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNzUwZDZlMGQ5ZmZlYmY0OWU4MDIwZDAwM2NjMzViM2RhNDkxNWU3NjkxZThmNTUzZGEwNmRhNjJmNTVjZTNjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luc3RhbGxhdGlvbi1hZG1pbi1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiYTgxMjkzMGMwYTIxNDEzYjhkZWEyODM4OWJmZjk2Y2M1MWZhZDczNDlmZWMzNDE4M2Y4NTE2MGI0YjZmNTI4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1pbnN0YW5jZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNGQ4MTc5NTQzZDdjNDhhNzgyNGQzOTZkMjUwMmFkYzcyNzIyYjA3M2VhOWNjYjFhYjI1NzBmZTU2YmI2YzA0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vY29udGFpbmVyLW1vZHVsZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzZTM4NzdmYTQyNzhkOGUzMmY0YmJmMDIzY2YyZTkyZTM0OGJlNmZmZDZkOTVlZWYwM2I1MGM5ZGJiNjUzMzkyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dzcmVhZHkuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZlODg3ZmEzNjlmOGQ2ODU1NWMzYTVmMmViZTY4MTIwY2E3ZDM1MmQzM2FlNzZkYWE2YzliODkxMDBmMjAyZjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmOGUyOTAxMTBiYzdiNmRiZjAyY2U5NjMzNmQ1ZTZhN2Q4Njk2MmNlYTI5OWRmOTIyZWEzYzU2OTU3Y2ZmNjAxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1mcm9udGVuZC1zZXJ2aWNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNhNDVlMjVhNWQxY2VkMDllZjFiNThlNGE4ZDhhOWUyMjBiZTY0ZjQ1YWViYzMxMjhiNTU0ZGE0YzQzMDg4ZjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWRtaW4tcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdhZThlNWM2YWM2MmM5ZDVmZTJiYzY2YjNmZGUxYTdjZGZiYWIzODU0Zjk2YmNhZTIyNmJkYWE5NDI5YjI3MjYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNGY4ZDQxMTYxMWIwYjIxNDRiOWQ5MTEyYjFhZGQ5YjQwMzIzOWZjNDg5YzQzOTIzMGJjYTYyYzgwNjVlZTQzZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FuYWx5dGljcy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdlMjRkMDJiZTBjNmUzMDUyZjVkOGE4ODEwMjljYTE4YTY2OTc4Y2MwOTc5NmU0YzlmNDMxN2E3ZmQ0YzA4MmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWJ1Zy1hcHAuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjdhZWUxMDIyY2ZlZWNhYjY5YmEwYzViMDkxNTZiNzBhZjMwODMzNjc0OTc4NmQ1M2NlY2RkYzAzOTM5YWE0YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDgwYjEyNGZhNmFjNzEyNzQ2ZjRiM2NiZmJhZTAwYmM0YTgzZWY0ZmE5NDM5N2Q1YTUwYmRlZWI4OWE3ODkyYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NraXAtaWYuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImEwMzkxZGRjOTY5MWU5OWJlMzVjZWRkNTA3Y2ZiNzM3ZmU1MTZiMmUwYWUwOTc0YWRiNzMyMzc0OWVmZThkNGYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYmxvY2tlZC1yZXBvc2l0b3JpZXMtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWFkNjBmZDBlMmM1Nzc2MmQ3ZGZhM2ZhMmQyY2M0MWVjMjcwYjY5NzQzNzg5NDEwOGNkMTM3ZGM5ODc5MmM4MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2Qtc2VydmljZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlODg1YmY4MjFkZDFiMjI5YTE4OTJkNjU3ZGE3OWE0NjlkZThlMDc0MTEyNTY1YTM4ZDRlNjY5NTYzNmQwOGY1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2xpY2Vuc2UtcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTM0YzUyZmZjYzgxYjg0OTc1NzUxMzNiNmM1NWFkMzhhZmU1Y2YwMGM0ZTFkOWU5MTEwNzM3M2RjNDlkODk2MCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjYzODVmMjFiNWIyZTM4YWE1N2JkN2U0ZGU5ZTFiMDRjNDM4OTI2ODhmZDljMGRlYjdlZGYzNTNkOGY1ZGJhNjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvYWx3YXlzLWRlZmF1bHQuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE0N2Y2Zjc3Mzc4NmIwNzYwYWNlMzM3NzlmZDYxYWE4Y2VlMzIwZjY3OTE2NThhMjc2YTM0NGMzZDZjMzI5ZWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGVybWlzc2lvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMzY2ZDVhNzFiMjNhNzMyMWZkMWI4YWQ1MzljZmMzNWQ2OTc2NDExYmJiZmFkNjllNmM2MTcyY2FjYTNlNjk0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3R5cGluZ3MvZ2xvYmFscy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM0OTliNDkzN2E4ZjUxYTc2YTFkYzE3MDQzNTZlYTk4YjhlYTJjZmMwMTA3MDY3OTRjY2E5MWNkNTVmYjU5MWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYW5hbHl0aWNzLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0NGZhZDczZDU5ZDg1NDJiYzU5MGRjM2VkYzQ2MDI3ZGJiMTI4ZmVmM2EzYTk4NmNkMjFhZjljZmZkMDVlNDBmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1pbnN0YW5jZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTY2NTQ3ZWQ2YTk5NjM1MGQ5NmRmNWRiZjA3MTMyN2ViM2M5MDUyMmI4NzU5Njg3OWMxNTdmNzA5ZDE3NjEyMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ODIxYTY5MTNhNDE4Yjc2YTJmZjY4MjM0N2FiYjg1Yjg2MzMxNzVjNWFkYjA1MDE0Y2FmOWJiNDU3MjRiNzVhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDIxYmIxNjRlMmFkZWM2MmYwMGNlY2E0Mjg1MTgwMmQ3NDg0NjFjOGMwNjE4MjU0NzkyY2I4MDg4NzM0N2IwMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9iaWxsaW5nLW1vZGUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDY5YWVkZTQyMzc0ZWVhZGU2ZTFmNDJiNTkzNDdmMjg1YjQxMTM1NjA5ZjE3NjU0YzJjMDYxYzhhNmZhMGVlOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9hbHdheXMtZGVmYXVsdC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxYTkyYjFmMWYzNjhiNWUzODQ5MTEyODIwMmViMzE3MzgwNWVjYmY4YjY0OGIzODkwMDkxZmFmM2M3ZTUwNjY4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvY2FuY2VsYWJsZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmM2JhY2I2ODJjOTBjZjgwZWVhMjJlZWI4NzQyOTA5OTEwMzM1MGNiM2U2ZWU5YWRjMzlmYzEwNTk4NTM4YTliIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjIxMzAzOWU1ZmVhMTkwMjkxMDYwNWEzNmNiMmY1ZDNhZjA0ZTBlN2U1MDMzNjkyZTNkMWQ5ZWZhNTczNWVjZjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hbmFseXRpY3MuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGJhNWJkNjE0OTM0OWY3NTExNWUyNzQ4YzU5OWZkMGZmZDU2YTE1Yzk4Zjg1NjlhNjZjNDZkOThjYjU3ZGVhYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9oZWFkbGVzcy13b3Jrc3BhY2UtbG9nLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdjNGFiMTY3OWVhY2ZjMjg2ZTlmNGI0NDExMzYyYzYxZWVkMmIxOTBkOTliYWRjYmZkMGU1MjVkNGRhMmIzYmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmM0NDBlNDkzNmQxY2MzN2Y4NWNhNzgzYTI0NmQ3N2I2ODljNTQwNTgyZWFiOTFkN2U0MTZkMWI0N2U5OGYxYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZmVycmVkLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDEwMmI5YWRmZDQxNzhmODkzMmM2NWEzOWJmZjYzODdkMWJkNTgwMTU3NWM1ZGIzNzE1YzQ4MDNjMTcyNTk5MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhZGRiOThiNmZhMTY1ODczY2QwM2EwNjdlMDQ5OWEyZDFhOWQ0YmZjYjZhZGM0OGZkZjQ5MjE2MjAzODIwMTU0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbmljZS1ncnBjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNmMGY5ZjQ0YTU1Y2EyNzk1Y2VhOTg5ZjQ3MzgzOTlhNTVjZWU5OTU1YmUxYmY1YzM2YTViNmZhOWU1YWQyYjciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYXR0cmlidXRpb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJjNzQ3OGNhNjZiNmVjNTBmN2ZjZmJhNDIwOTQyOWM2Y2E3Mjg3MjRjYTQwNmRmMGZhNjVmNWQ5MDBjZjc1YTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLWZyb250ZW5kLXNlcnZpY2UuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFhYWQzZjE4ZmIwNDlmOWE1MTNjMGM4ODJkYjRhM2IxYTk0ODNiZTNjZTZmNDIxM2M4MGIwMTFiNTFmMjZkMzUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImUzZGMwYmE0OTk2MGI1ZjhiYjJjNTg5M2Y1MjU5ZTA4N2E1NGVkMjE3NDhjYTJlM2M1YzNmZjJhMTFmNjBmYzIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0YmRjNmE3OThhNWZjZTNlNzQwMWFiYWEzZTYwZTgwNjdlNTc4MWU5NjY3ZjdlYWI4NmM0NjBjYzE0MDNlNGJkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVmZXJyZWQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODY2ZmM3OWFhMTMzNjAxMDVkNDMxMzNiZDlhNDgwZTBjNWNkMzRjN2NkN2JkMjFlMTg1ZTRiODVjMzNlZTJmMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjk2MWQzMDUwMzJlMTU3YWI2ZTNiYmUzN2I0MWFjNGYxZDQzMGVjNTIxMzY3ZjBhOGYyMjhlYTNlOTdjMDIzNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWIwN2NkMjhiY2Q2Y2I1NDg2NzFmMzJkMjU0OWE2YzQ2MTJjYmM0YjMzOGM4ZmI5ZGY3NDAzMDczOGRjMjI3MyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtZnJvbnRlbmQtc2VydmljZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4Y2FhODA4NzU4YWQxYTM4ZmZmZTg2ZWIzYmRhN2JlZGYxZmY3MjQyNzk1OTc4MzNmMzc2YzA1ODQ1YzRhMzIxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW0tc3Vic2NyaXB0aW9uLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjUzM2NlNjY1OTQxOWMxM2RlZjM2YzVmYjZmMGNlNTAxYjEwOGJlYWVlYTJmMWZlNjQ0YTc3OWJiOWZiYTcxYWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlMmI0MjhjYzZhN2U5YjI1NjVjMTIzYzhjNzQ1ZDA5NGUzMDUyYTQzNjQyZWNmOWIyOTc0NDRiMGJkYmMxNTQ2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdmZjM1ZDA2Y2NjMjczMTVjYzc3NmMzZmU5YWE2ZmJkM2VhMzdmMzVhYjYyMDc4OTUxZjQ1NWVjNGRlMTBmMWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbGljZW5zZS1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNlNzU0NTY1MzcwYjg5ZWQ0N2NmZDY2NDJmODI3MTY4ZGIzMmUwZmI1MmQ2MjkwY2Y3ZWQzM2Y5NDczODU4NGQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9qYWVnZXItY2xpZW50LXR5cGVzLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY0YjI1YmQ0NzEzMDEyOTEzM2YxMzhkZjkwYzZiN2FiNDBjMjM2ZWRjZWFlNGFkYjM4MmZmZjRjZmEyNzdhZDAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWNjb3VudGluZy1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmE3NzM2NzEwNTg2YjA5Mjk2ZGJmYzk2NmFhNjZlMDAyNTlhNGU4MzNhMTEwYTg2NWQxZWZhMjhlODk5ZDFkZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL21ha2UtbGluay5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiOTIyMDg5MTVmMDY1MGIyODJkMWJkZjRmYTAzZDljODIwMzUyYWViZTg3MGJhMzU5ZGIzMDhlMWQ4M2U2YzAyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvd29ya3NwYWNlLXBvcnQtYXV0aGVudGljYXRpb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2MzllZjQ4ZDdlMGEzOGZkYzZjOGJjZWQyZTJkODFkNDFiMjk0ZGJlOWE5OWQyN2Y1YWI0MzczZTNmMDBkYTc5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1jbHVzdGVyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1ZmU0MWQ2YmFkZGVhOTU5MjU3YjM2NDhlNGUxOTg0N2RjZTBiNmU2ZjMzN2E3OWQzYTRhYzI5ZWZkZmZlY2UzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9lcnJvci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlMTViYzU2OWM0NmZmMzQwOTJlZTA4MzVjZTc1ZjhjOGQzYTRiMzcyYzFmZWY2YzdjYjVmYWRkMzZmNGMyNzNmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWY3YTdiZTc4NTBhYmRlYWI0OTBjNjE2ODUwYTdhMmI4YWEzNWI5NmY0OTM0ZDQzN2I0ZWRlZTAzMGJkZjJlMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9vc3MtYWxsb3dsaXN0LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRlZGU2NDkzNmU5OGM0ZTUwYTU5Y2M0MzRkYjgwYTk1YzlhNzQxYzM3MTdiZDgxZGE5MmNhNWNmMTBmYjVkZmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvb3NzLWFsbG93bGlzdC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3MjJmMzNhNzQ3NzU0MDE4NWE2MWVhZTY4N2YyOWYxZDNjYWFjZmE0NDJjOGE0ZGQxM2I2ZWY3NDVlMGZmOGFhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9jbGllbnQtY2FsbC1tZXRyaWNzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjAzYWEzYzU5MGZjN2RkYjZjMjU4OWNlOTBiZTBmOGRjNjI0OTU0NGIwOTA5ZGJmYmU5NDVjYzkxNzJhM2M4N2YiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2NsaWVudC1jYWxsLW1ldHJpY3MuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU1YWJjZGZiYmNhZDM2ZjM5YmE1OTI3YzBiMTkwZjAwMmE2OTc0ODljMTU0N2NhZTVlM2UwMjFhYzVmYzMwM2UiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9zZW1hcGhvcmUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFiOWVhNWIwOWNhNzllYjJhNmZmYmQzZTQzM2I4ZmI5MzQ0NTQwMTA2ZTMxMGM4YTg2OTI1MzdhZWExMTk1NzIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NDc2ZTI5YjcyMWQwZjk4ZDkyYjE4OTIzZWFiYzU4MTZjM2NmZjY5Y2JiZWYzODM5MjlmNDliMDE5OTFmOTEwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNDAxMjc3OWNkM2VjMjAwZWRmM2IzNjg2ZjUyNmE5OTEwMjNiMDlmMzFjZDNiNzQ2MGQ4ZTZkMTRjOGYxZWJiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWJiNWFlNTk5ODhlMzUzMDljM2U0ZGJiYTI3ZmZjOGMyMzBmOWI5ZGQxM2EyYWM5ZGZlNWUyY2YxZWRiZjAzOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9jb25maWdjYXQuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NzhmNmVlMDMxNzI5YTQ2ZTk2NjU4MGQ0NjdhNTJmZGYzNDUzMTQ3NDYyMGI3YmM4Y2E2YjI3NTU1ZWEzYzkzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvd29ya3NwYWNlLXBvcnQtYXV0aGVudGljYXRpb24uZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZWIzMzhhYjA2YmI0M2RhYzE4NjY0NmQ5ODJiNjhiNWIxZWJmNGM4NDgzOGU5YWVjZDM2NWZiN2UyZDZkYzdmMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjAwNjdkYzgzMGIyYTVkZTBkNTJlNzRlMzIzODEyN2U2NzlhOTM2ZTBhNzcwYWFjYmNlNjYxNjJiMjIwMDMxNGIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmRmZThjM2Q1OThmMDE1MTQ2NDMyNzZmZDFkNWQ1ZThhNTJjMzY3YmRhZDk5ZGY3ODAxOTVhMWFlMGE3OWY2ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hZG1pbi1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwZGNkMjNiMTIyMzRkMzRjZWZiNDI2ZjFjMjVjNzg5ZTM5NzcwNjY3NzMwOTBmY2MxNjU5ZTk2NGIzMWM4M2E3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24va2V5LXByb3ZpZGVyLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI4NjYxYjY1NTUyZjdiYzJkZWJiZTU1MzBjMTg4MTMxOWRmMzk4YWQ5MjBjZjI4ZGRhZGUyYzA1NDIyYzA2YzkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsdXN0ZXIuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWY4OTcwNDFhYTZlZjc3MGIxYTkzZmY3ZTgxY2NhMjM2MzZlMTc5ZWFjOThiYjBlZDBlZmIyZGY3NGVmMzcxMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9jb25maWdjYXQtc2VydmVyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDZkMWY5YTQwZDJmMzI5MTRlZDA1ODg1YjhhZGU0NTZkNzQ1NjJlNDQ2ZGUzYmFlMGQzZDA1YTUyZjQ4MGU5YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wbGFucy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDZjN2QxNmE3ZGNlMjgxZjQ3MWI4YTcxZGQ5YzIxOTNkYmY0ZWUzNTk2MTc4MzFiNjE3M2Q0MTA3YzhlYjcwYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FuYWx5dGljcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MzBlMTE4ZWRhZmExYjk4NjYzNDU4NmVkODZmODFjMjYzYWQyNzZjYWJlYmFjNzIzNzBlY2YyNDk4ZDdkMjQzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL3dpbmRvdy1jb25uZWN0aW9uLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBlYmEyYzU2MDZhOTU1OTZmZDAyMTRkODUzMjMzZGJmYjdhNGU0MzVjZTBjY2Y4NmU1YmQ2MDhjYTdkNDQyMTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWRtaW4tcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmYjhiNzJhZjBlNTYxOTQ5ZjMwMzg0MWU1YTc4YWQxNDhjYjMxZGQyOWFkYzBkZjU0MmY0ZjIzZjNlNWI1YzdjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1zZXJ2aWNlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNkMWQyNzY1ZmUwMjZhMTJlNzc2Yzg5MGExOTIyNzBmYTQzNWUxNmI0ZjI5ZTI5ZWIzYmIwMTQwODQ5NmYxZjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Vycm9yLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4ZTc3ZTE1MGJlZGY1MTU3MjM5MDEwNzNmYTNmNDhiOTcxNzBhMGQ2ZGU5NTc2ODNjZGY4NWVlZTY1OTAzZjcwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vY29udGFpbmVyLW1vZHVsZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTRmZDExZjE3MzIwNmE2YzE5Yjc2NWQ4ZjQ4ZDE0M2M1MDVhOGNkNzNiMGMzZDA5NTY4MGI4NGQ3ZjhmNzcxYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTZjODZmYzVlNWYwMTJlMmRjNzI1ZDlmZTY2ZDViOTA4NGZlMTFiMTA0MWI4ZTdhNDNjNTJjOGIyMmE1MmM5YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NraXAtaWYuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiNzdiYjUzMmY4YWQyYzJiZmZlZDdmZTFjNTMyNTIwOWE4ZDU1YjdhMzY0YzYxNGM2ZDQ0Y2EzNzM5ZTdjMGJjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvamFlZ2VyLWNsaWVudC10eXBlcy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmNmZkMTQ5MTA1NzYzNTQ2ZGMzNmE5ODY3ZTM0NzMxOTAzOGVlZmU0MjI5OTZmNjVjYWM3ZjFjMWJmZmViZmRmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbWFrZS1saW5rLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWEzM2NjZTVjODQ0MzhjNGE4ZjU2MDAwZGJkZjQ5MWNhZWJlNjUzNmIzOGUzNTRmMDgwYTBlNDc4YzNkNGUwNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtLXN1YnNjcmlwdGlvbi1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjZDk4NGY5NTEyZmFkZThhZmEyYTI3NjJjMTdiZTc3NDI2YmE4NjM4YTQ4ZTUxMDAxOGJkNjVlYTJjMzViYjY3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24va2V5LXByb3ZpZGVyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NzI5ZTNhODMzODBjNmQyMjEyMjI0YTJjZTVmMzAxY2YwMDVkOWYxZTEzNGUwYjgzYTQyMjFiZWJiMDkzOGY2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Jsb2NrZWQtcmVwb3NpdG9yaWVzLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGJkNzhkOTBjNDljMDQwNDEwY2Y1ZTg3YjVhZmUwNGM5NzY4MThmMjk1MmIyNmY2YzFlZDJjODk1MDAwNTczOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tc2VydmljZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NWViMzhjMjFmMGE3YjlmYzNmYmQ3MTdmN2FhYWU5YWY4NjBlN2U2MDgyMGVkMDVmZDY4MzI3NTJhMjczZDBmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjVlNjg0MjdiYWZlZTdlYWE4NTE2OWRjMzVhMWI1ZTdkYmZlNmE2M2Y1NGY5YjI3Y2JkMGI2MzMxODRjMmI1ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93ZWJob29rLWV2ZW50LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjMWU4OTlkMmM2MTZlZGJiZjhiNzE0ZjBlNzZkNTk5ODJiYmEwM2U4NGJjNzdhYzlmMzJhYThkZTNjNmJkN2Y2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGF0ZS10aW1lLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwYjJkM2JmZGU5OTQ1ODI3OTJjYmRkNzNkMjRlOTNkYTlhM2I3M2ExMWVmOGY1MzU2NzVkNDM5NjBhYTYwZmJjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA2ZjllMmY0NDM1ZGM4MWE0YTdkOGMzYjZkYzlkZjc2MmRmZDE5ZDM0MWVkOGYxZTQzZjJlNjYyZDJmNjYwZGIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ncnBjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjczMmM2ZWQ1ZmNkYzBhNzhmMWUzYTU4ZWY4ZTcwMDZhMjRlODI4MDhjOTg2YmNhMjc4YmVjYmY1OTQxYTY3NTYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsYXNzLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NWM2NmUzZjQ1OGZhNGI1YzYxMTUzZmJiOGY0ZTgwZmQ0ZTVkZTUyMGFlODg0YWExNTY1NzU0MjQ2MjVjZjA5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyN2VlYzIwYjFiYWIyMDJiNjVmNjIwOTFiOWQ1Y2M3ZTU5NTFmYzcyNDNlNWQ3MzRkMTM3ZWYwZWQ5M2Q4YmM3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTYwYjFlOGJjNmEwZmJiMDViMDQ4MGE0NTVmZTkwNWJmZWFhYWZlODI2NDg0ZWRhOTIwMTMxOGMzOWM0ZTVlOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjIxMjE3NjRmMGExZTY1MDI3MDYxNzcyOGEwMjUyZmU4NDRjY2RmNGM2Y2Q5MzkxOWZlODg3ZmI3Y2JhYTM3OGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYXR0cmlidXRpb24uZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGM4ZmE4MzA3MDBmMzFlMWJjMDMwZGYxYmI0OGQ1NjYxMjExOTA4NWU0YTYzNDViODIwYmY5M2QyYjk3MGIyNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hbmFseXRpY3MuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmEzZjAzZmU4MDY4MDFiNjdiNWQxNjUxN2FhMTk1MWI4YjQ5NmRhODM1YTkwMTZhMjYzOTcyNmNjYmFjNzZjZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGI5Mjk3MTY3N2I1YjIyOWZiZjY3MWE4NTIyMDM2ZDFiYzg0MmQ5ODZlN2UyYzAyZDdjMzJjYzQwODQzOTY1MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiYjk1ZWM2ZTMzYTVmNzJhYjZjNTUyMWIxNDRmMjZlYTU4MGQxZjA0MDJjZTEyMDkyM2I4N2JiOGM3YjQ2ZmU5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1pbnN0YW5jZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU0OTU3Y2M4MDQ0ODBlMTYyZjFlZGFjODc2ODQzMzQ2OTAyY2U0YzgyMTg5YzdhOWYyOTRjMjAwODI1N2RhZjYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiN2ViZDc1NmU1MDNmMDIxZTM0ODA4MzQ3YWM0OTdmMWI2ZDBmMzExMzBiY2EwOTM3NDhiZGM5OGZlMjI0YjIzNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk2MzRlYmZkZDQyYWYyZmFmNjUzZDgzZmI5NjNkOTkzNWMwMDI3MmIzZTM4MTQ3ODFhMWI1OGMzMTQ5Yzk5YWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI4NWY4NWU5OTQ4N2Q0ZmQ4YWVkOTY2ZmIyMzE3OTllMmE5ZTlmZjQ4ZTk0Y2JlZmNmNmMzZWViNzdjYjkwZDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2NsaWVudC1jYWxsLW1ldHJpY3MuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmM2MyYzgyZjk0YmYwZWI4YjQwMmY4OTJhMzA5Zjk4NDk0ZjQ3OWYyODNhM2NkMDBkYjdiZGY5ZWJjMjEzN2I5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Zyb250ZW5kLWRhc2hib2FyZC1zZXJ2aWNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjczOGZiZmQwM2YzNTVhYWE1MTYyOTVjNDQxMmVhZTZmZDhmOTAwZTJlYTNhNDZmZTYyOTk4Mjc0ZGI2ZGVkZGIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDgwOGZkMjc4MTBkY2E2ZjliMDY0NTZiZjEzMGVlMGViMWUyNzI2MmY2Y2EwYjYzNGYyZDUyYTU2NzZlYjc2YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL21ha2UtbGluay5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDNmZjQ2M2FmZTk3NWQwNWVjMWYzMjM3ZWUzMGVlYTM1MGIyNTU1OWZjYzEzNGMyNGVmYTFlNjNmNWI3YTlkMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZXAtcGFydGlhbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5YzA5NGEyYjUzYjVkMDk2Yjc3NmIxN2FkMWRjZGQ2ZjlmZDdlMmQ4Mjg0YTVhNjEwNGMyYTJmNjUyMmJiZTBhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhN2ZkMDI5M2Q1MmExYTI5MGZkNzcyYTJiNzdlZDZjN2I4ZTJmZjRiN2NmNTUwNGEzMTQxMDNhMTFlMDBmYzk2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Zyb250ZW5kLWRhc2hib2FyZC1zZXJ2aWNlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjcxYWFmMTA1NjYxODQ3ZmUzOTdkZmNmODBhNTgzMDZkZWEyNjE4NTg2NDYyODNhNTIzYjQzYzQyZGFmZThjMjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc1MmRjZTU5ZjQ2YzhkNjc1YTQ2MzZmMDBiZjIyM2VjNWNlYjNjNTRmNDEzZDk3Y2QxMTU3YWU5ZDBkNjliZjYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMxYzVkZjlkOTk0OTJmY2FiOTQzNzY5OTY3NTJmMTE3NTkzZDYzNTFmMDZlZWEwMWY3N2RlMWYxYTdjMjU4NDAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmUzYjUwM2ZhOTQ0ODRlN2E4MWE2YmU3M2FiNGQ2NGNmNWE3ZTNkMmVmM2FlMmQzM2M0YjFjNTg5MjcxYTVjMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9ibG9ja2VkLXJlcG9zaXRvcmllcy1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwYjkwODhjODg5MjM0NTcyZmI4NGExZDc5N2JjMzIzN2YwYmUwMWVmNjFmOWVjMzdkOWFkMGE3OTk3MjQ4MmU3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1jbGFzcy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NTJjMWRmNWMyYzE1MDdlMjlkNDY5ZTI0OTE3ZjQ0OWJhMGU1YzliN2E1NzYwMzU5ZjYzOTA5MWIwYWRkMDdiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9wcm94eS1mYWN0b3J5LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc5OGYwZDMwYzkwYTljMDU2MmNkZDlmZDM5N2Q5N2YwNTg1MWY2MDg4YWY3ZGY4MDJjZjc2ZGFiN2M4YzJiOGYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjNDE3ZjA4ZjBmYTg5Yzg0ZmE2OWQ4YjAxNmU5YzMzMzEwMjM5MzViOWI3M2EyN2JkODMzYjUwMmMzNmYzNjQzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2VtYXBob3JlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjZmODA0YmJhYTAyMDAwZDk0NWU1ZjI4YWI0MzgyOWYyYTc1MjMyOWMwMDJmNTkyMjJjMzk4YjljMjg4ZWQwZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2tleS1wcm92aWRlci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0NGMyMGE5YjgzN2JhM2M1YWM4MmI5YzE5ZTNkOGFhYTU3MDkwMmJhYzFmOGVhYzNhZDhhNTI0ZDBjOGRjYjI5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvamFlZ2VyLWNsaWVudC10eXBlcy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWQ4NzVhM2M2ZjQ5N2VkMWY5ZTNiOTgwMDE5NDVmOGJkMTk3YjE5OTlmYjZhZDg3ZTE3OWQ0NzdkMjJmZDc4MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtcy1wcm9qZWN0cy1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjNiMjk2N2E2MDM3OTcyMGE5MmE3YzcxODFjZGFiYTI2MTYxYTU2NDQwY2VkYTcyYThiNTUyNGY5Yjc4ZmJlNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2NvbnRhaW5lci1tb2R1bGUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZWM3YWUzYTA1MGY5ZWM4MzY0NDhlZDc3ZTk0YmZkMmExNDUzMjcwZmZhNTA5NmFhZTVkNjg2ZDg1NDlmYjdlNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2tleS1wcm92aWRlci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgwZmE3OTAwODgxNjgxNTkwZTY1YTQ1MzRjZDVkZmY2NTY2Y2U5YzE5NjA4ZGY0N2Q2NWYwNjU2ZDg0OWFiMjYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkZjBkNzk3NGRhZjMyNTFhNDUwNjY2NTc1OTlhMDY0MTllYjBkZTU2ZTcwMTkxZTRkMzVhNTQwMWJiNTVkNjY0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BheW1lbnQtcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY4YjQ2YjdlODlmYmRjZWNlYjdiY2YzOWQwNGMwMWIyNGNlM2YwMTEzYTAxNmVhYThmYzIwMDU1NzQwNmJlNWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY1MGNjNWJjZGRhNmQ2MmFhZDk0Nzc2OTM0NTgxZDVmMTJjOTBjZjgxYThhOTdkNmJlYzIxYTdiYzVkNjBlZmQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL25vZGUvY29ubmVjdGlvbi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNkNDE4OTlhYzI5ZTdmYjdlN2NhNzExOWIzZDJiN2UwZDE1MzUxMDY2YzE1YWMzOWQwYmM2OTZmOWY4ZWQ2ZDgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvYWx3YXlzLWRlZmF1bHQuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3OGI3YTFjNDQyZjEyNGNmYmMyODJlMjljMmQzYzk2YjMzNDU5Y2RmYjc4YjdmNTg0MGRlMTQ2MTc5NjRhY2FiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9ub2RlL2Nvbm5lY3Rpb24uanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmZiZDc4ZDNmMWViZmE1NmZjODk4ZGI1YTcyMzhlMjIzOGIxNjc2ZTMxY2ZkNDM4YThmZTVmMDViMDlmMjZmYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9hbHdheXMtZGVmYXVsdC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNTQ1MzU1MWQ3MGIyNjczZDBiNTMwYjk3MWMxMzNkNDlmZDUxZWUxZWEzMWUwNmYwMzNiNGMzMjQyZTIxN2EyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2hlYWRsZXNzLXdvcmtzcGFjZS1sb2cuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ1YjdhMDM4ODdhMGM0ZGQ0ZjU0Y2MxNDg3NmNiZGZkNTA5NThkZmQ1NDBiMThjZjdkNjhhYWJjZDdlZjY0MjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGF5bWVudC1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZTI4YTBhYzYzOGEzMWExMGRkM2E3NDMxM2UyOTAxNGEzZTFkYWEzYjNlMDY0MmZiYTZjZTcyODliOWRmNGExIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGF0ZS10aW1lLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMmMwYmViOGVmNTA3ZTAwNjJiZTYwOTRmN2JjY2FjNDMwZDFkZGIxMjQyZjhhMjNmMWZlYTljMGI0NWEwNGZmNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci93aW5kb3ctY29ubmVjdGlvbi5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiN2ZkNTIxYjcwYjc3M2ZiODQ4ZDEyNjlkYzc1NWFhNGE2NjkzZGEyYjE4M2E4NjgxNDYzZTU0YWFkMDgyMzBmNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvY2xpZW50LWNhbGwtbWV0cmljcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhYWI2NTg4M2FjYzk0ZDk3ZjE4Mjc5MzlmZWFiMjNlZjBjYTk3YzhlZGM3MGMwZDdkNDQ2YWVjMDlkOGRmYmM1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyNDcxZmYxNTRmNWNiOTFlM2E1OThmZmQ1YWMzNjFhMTcxNmZjNzBjOGJmZDkwMTJkNWQxOTI0YzUyYzM0OWQ0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1zZXJ2aWNlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwYjUxMjkxOGQ2MGFkMjFkMTZkZDFjNzdkNzhkNWY0OWZjNGViYzAyYzQwYzJhMzM5MWE0Y2ViODQ0ODkyZWVmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Vudi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2MmFkZGNiYTc3MDM5NTBiMTE1NmQ3MzU2YjkyN2JhZTM4Mjk5ZGI5NTdhMTdmZDE4NDYyNjQxNDU5NmUwNTM2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZXZlbnQuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE1ODVkMjBhNDdhMmJmMDk4YjRkY2EyNWY0MGY2ZWU4OTVlMTJkZTYzM2NjMjRmODFhMjk5YjUyZWYxNWJmYzEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGM1NzcyMmVhOTVkNzBiZDI2MzdmOWExZjAxOWQzODlmNzkxZDRjYWI0MGQ1YjVmZDdkMzViYmU4ZGUyOWQyZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvaGFuZGxlci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3Mjg3YzRlMGE0MDE3ZTkwOGNiNjYwODhlYWU0M2JlMmVkZWUzYmUxYjAxMGFkYjAyMzc3Mzg0MzExOTUyYmFmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3R5cGluZ3MvZ2xvYmFscy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3Y2Q4NDk1ZGVkNDgwMDc5MjA3ODU4MWQzMjMwNTk2ZjlkYjQ0MTYxNTg0N2MwNTYwNDZiYjU2MTFlNTVkZGUwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dzcmVhZHkuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxYmEwNDI3NTBlY2RiYWI0ZDUxY2FiOGIzZTM3YmRkYmUxODE4NTRhNmQzZWViNzk0ZDU4YTI5MWFiMTM5MDkzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzMxZWVjMjI5OGY2YTVhMTI1OWMzYThhZjViM2NjYzYzNDVjMWJlZDM4ZWVmZjFkMTllZTE0NjEyOGM0OGFiMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3JlcGVhdC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjYTgzMGFkNDM5Y2QyODc3MDRmMTBmOWNjMjI0MmM0YWMwNWMxZTkxYWYzMWQ1NTA5MDY0NDhiNmY5MjUyMzNmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYXN5bmMtaXRlcmF0b3IuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE3NjY1M2M0MGIwMDFmZGU1OGE1OWQyYjI5MmE0ZGNhZDVkMTFkZGM0MGYzMjdkYzdlMzBlYWRmY2I4Yzg4ZTMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYmlsbGluZy1tb2RlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2OGJkNGI5MTJlNTViZTVlZGYwYTllOGQwMzg1MjYzYmYwZDZlZTU1MzNlNWVkMjdkYzkwMjhhNWEwMzljYTg1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3M2JiNzQxMjU1YmI3ODRlYWE3MmUxNjY3YmI1NDZmM2JkYzRhYzcwZGRkNWU4NzA5YTczZTU5Mjg0ZmQzNGIwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbWFrZS1saW5rLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE5OTk5ZjRlNmZhZjBhZjdjMzRmZTQ5YWQ0NDQ0MmU5MDlmNjE1YzJkYTE1ZmE5NTBkZjFkNTNmYTNjNmIwMjciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYW5hbHl0aWNzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTBlMTAxYmRmMmMyN2U0YzgyY2YwYTlhZjQyMjY5ZTRlMjE5MzY3ZGU4ODI0N2VmZGM0NzUwZjY5NTM0OTA3ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NlbWFwaG9yZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNGY2ZDlmNzFhOTc5OWM3OTcxODU3ZGFkYTljNmQ4M2Y1ODRlNzQwODk0ZTA1ODlmNmNiNmU5NmJjZjE4MWY5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2JpbGxpbmctbW9kZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiMzcwYjQwYWI4YjYzMTU4YzQxNTNkYTBjMGJhYzNhMWU0MGNmNDliNjQwMTcyYTUwNmRiZjY5NzFjNDVhZWVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiNjY0YWI4NWY1ZmUyNzRjMDYzN2Q1MmVhNGIwMjJjZWMwNzAwY2M3ZmY0ZmRjYTJkMDk0NmIxN2VlMGNkNDQ2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRhNTU5MWM5YWU2YmVmMDE3Nzc2MjhiMjExMzMwYmM1ZjRiNWYxMjhkMWRjZWM1OGNhZjYzYWQ0Yjk4MDFjMDYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvb3NzLWFsbG93bGlzdC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTEwMDJhZTM0ZGYyMTMxZjYwM2RlYzJmYzEzMzk2ODk3OTVhMTBiN2FhYTRlZjY3NGViMjhkZWU3ZTFiM2QxYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy90eXBlcy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1ZDRmYjM1YWEyYjBkNjg2YjI4Mzk1YjVlNDM1MWQwYTAzYTBiMWMzZDhhYjE2ZWIxZDZlY2Y5M2RmMTc0M2Q4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Vudi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiYjNjZGExNzc5ODU0Y2M3Y2RjOWViODVjZTZiZWE1ZDFlN2JkZTExNGRjZjYxYmIyYTQzYWYxNGRhZmY3ZjFmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL29zcy1hbGxvd2xpc3QuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNGZlZDJkOTM1OTBiMjAxODY3MDkwZDhiOGY1ZWIzNzk3OGVkYWZiNzU0YzkxZmFkN2Q3YTRiNmVmZmU2ZGFkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2FyYmFnZS1jb2xsZWN0ZWQtY2FjaGUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmU4OWU5ZGQ2ZWYzMzAwYzMwYWI1NTE0NjZjY2NhNjAxNmU0MmQ0N2JkYTU1MjQzNzMwM2UwNTFhYjQyNzUwMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjdiZDk2ZDAwNDI1YjhmM2E5M2QwNDgxNWI4ZDExOGFjNjFkZmMwZGY3MjdiNGJmYjdiYTNiM2E3Y2ViM2ZjMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzNWI5N2VkNmQzM2IyYWM1ZGYzZGZjNDc1NjgxMzJkMzJlNTEwMWVhZjI4M2M0ZDEzNTM4MTdlNDU0NzY1M2U0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Blcm1pc3Npb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiMzVkNTc5MGY0MTZiOWU2NDg3NDUwNzdlYmFiZmFmMjkzOWI5MDExNjEwODFmZTA5ZjE3ZmNjMjE4NjBiNWRhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2V4cGVyaW1lbnRzL2NvbmZpZ2NhdC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2RkNzUxNzEzZDJjM2RiOTRjNTFkOWJlYjJhNmJhYmQzOWZjYTI1ODNmYTdlYzBhNWNhZTRlMDQwNDVjYTUwMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTA2NDRkYjFiN2NkNzIzZjdlNDQ0OWQxNzExNmZjNmMyMzJlNjQ0YmE5Mzc5OTE4ZTAzOWE2OTBhYWUxNTM1ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pbnN0YWxsYXRpb24tYWRtaW4tcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNjMDZhODIwNWIzYjdiYzQxY2IyNDY0NTA3NTE5ZTBjNmYyYmIzMmY4ZDdjZDdlZTkyMTliNGNkZTY5YzE2YTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWJ1Zy1hcHAuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFkNWIxZTM3ODVmZDQ3YjQ5ZDVhOGZhMDkzZDc4ODZiYWI2Mjg5N2U4ODZiMzJmY2VlZDAyNzMxNzhlMmQ4ZTMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nYXJiYWdlLWNvbGxlY3RlZC1jYWNoZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjRkNzZlMjU5ZDA0N2ZkYjE0NDkxNThiYjRkZWE3YTU2ZTJiMzI1MDhhNTE4MWE1NzY4N2Q4ZTI5NjI5MzQ4ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4YTNmMTU0ODQ2ZmQ2ODExMWUwN2RiMDUzYjNmY2RmNDhmNDdiY2NjZmFhOTBmZjA0OTk1NDhlNGVmYzc2ZWQ5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luZGV4LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImUzMDViYjk0NjgxYTcxZjE2Y2M4MDc1ODY2MzFhYmM4YTAxZGQxMTdhMWM3ODA1M2VjNDhlY2I2YjQ0YmQyY2YiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDU0OThhZGRiN2M5YWVlZGE1MjkxOGJjNWYwZjJmNmE0MTY1NTgyMzZhNjhhYzBiNGQyODdmYWUwMjNkOTY1NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjAxMDM5ZGRiYjc2ZjJiNjliYTI0OWMxMjUyMWFiMjllNDdhYTk5MmM4ZWIwNWViMGUxNzczMTU3ZTlmODk4NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dycGMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNGQwYTc1MDM2YTZjYTM4MjYwMmU2YjdkY2I1NWUwM2I3OTVlOWFlMTljZTUwMzZhYzRmOGQ2NzY5MTQwYTliMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hY2NvdW50aW5nLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU1MjRkMjEyMWJhM2MxYjMyZmFjMjc2NGYyZDBlNmEwNWZmYWJhZTk2ZTU4ODE2MzMyNWE3YjRhNDU0NDM1NjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Vycm9yLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRlYzE4YmJiYTNmMGJiNDliOGZiYWRjNTE5NTZlZmQ5M2E0NzdhMjdkODQ4NGQ3ZmZlZDc1OWVmNDZlMzk1MWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2U4ZTI0NjYyNjk3OTc0YzQ4MjNmNjJlZmYxZDE5YzA5OWI0ZWRkZTM2YjFlNTg4OGUzNzFlYmJlZGM0MDVkYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvbm9kZS9jb25uZWN0aW9uLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM1OGFlZWE2NWZlZGU0MTBmYjliNzA1NjU4ZjNkOTQyMDA5OGEyNGExNTU5Nzc5ZTI4MGE1Y2IyNGQ2MzQ1NDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9jYW5jZWxhYmxlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNTNiMDcyY2RiZDkyMjM5NTRkZDVmZGE5MmQ5MmM5OWY4MDk5ZDhlYWU1MGNmYTZjNGJmMmRhYWRkMDYxYTBhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTk3M2QxZTQwMWFhYzNmMDgzYzY1MDg2ZDMxYWI1MTBkZjVhMzkzOTEzNzUyNTBkNzhlOGMwNjlhMzA1ZTliOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2Qtc2VydmljZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRkODIxMzY3M2QyMDc0ODVlY2ZhY2Q1YjA5ZTAwMzI2OTcxOTVhZTE4ZDc5YzFkYTYyYWMwYzc0YTRiNzhmN2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9sb2dnaW5nLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQwOTk3NTEzYjIwMWZkN2E2NWI2MzAyMDgwOTc3ZDNiN2QxZWFhNjNkNTQzZGIzZTg5ZWM2NzNiNTk2YTYxNjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvd2luZG93LWNvbm5lY3Rpb24uanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmY4ZTQyNzk0OTFmZDgwYjZmMjMxMDk2ODVjMmQyMjVkOTczOWY5OTcxNTFmZTYzNTE5N2FlY2E1YWFmY2VlMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9ibG9ja2VkLXJlcG9zaXRvcmllcy1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzlkNzk0MWYwOWYzODE5ZDBkYzZhZWE3MzNkNTUzMmQxNjU2NzRlNzljNDA5OTlhZjA1ZGJkNjk2OWIyMWNlYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjE4OThmZTUwMzlhMDk2YjhkOTE4NzNlYzdkZWMzZDViMjAzNGU2OTE4YTI5ODU1NjQzM2QxOGNmMDI0ZGE4ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2V2ZW50LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTkxNTcyNGM4ODQ0NGY3ODQwOWZiOGQ4YmYzZjk4OGY1NmFjYjdjNGJlMjc1ZmY4YzMxMmIxZDI3ODZhMGUyMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3dvcmtzcGFjZS1wb3J0LWF1dGhlbnRpY2F0aW9uLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQ1NjA2ZGEyY2YxOTAxN2E3ZDhlZjgyNjY5YThhYjAxMTk4Njg2ZTkxMzAxMzUwYWJlOWRhYTJkODkzNmI2MDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvY29uZmlnY2F0LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI0NDc4YmEwNTA3NjIzOWY0MDVlMGYzMjc0YjgwMjc2ODQ0YmZjYTAxYTU3ZjMzNjk3MzI0YmIxN2ViMmIxNzgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbXMtcHJvamVjdHMtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOThlY2U1OGU0MmFiNzM0Njg0MDJhZTFmMzQ5NjIxM2Y2YzZlNjAyZDFlNWU1ZDZmMWFhMWJmZDQyODBlMjA4OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy90eXBlcy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRiOWVlMzlkNGQ4NTcxMjk0NTJiYTBlOTBjOTU4ODE0NTcyMzQ0NjUwYzA0OGFlNzJlMmRkZTZkNDZlMWU2YWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbGljZW5zZS1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTVmMWE2NWQ4MzM3NmUwMDMzMjgyNGUzYTNkODgzYTYxOTk3ZjUxNzgwOWM1M2E1MWQ0OTU3NzZiMWQ1MzEzMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjYzYzY5MDNkNzM3ZTczYjc3ZWEzMjM4MWVmNmY1ZjIwMGMwYzkyM2FhYzgyOTNhMTdjMDY3Y2Y0NzE2NGVjZmIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5zdGFsbGF0aW9uLWFkbWluLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTU4ZTU1ZTJmODZjMWIyMDE3NjdiYjkyOWI1OTFiYzlhMmI3MTY0NjI0Y2YyNGE5NTUwOGE2MDYxOTA1YWZhZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hZG1pbi1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3NGRlY2RkNjIxZDczZGVhYWZhNjlmMWE3NTA5N2U2M2RhNTIzZjIzMGU0MTQ0NWUwNWVhNjgwYzg3NWQ4MGY2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGF0ZS10aW1lLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI1ZTg3ZTY2NTJjZjkwNjM1NWYyYjczZGQwYmEyYmE3Y2I1ZTdmZmQxNTM1ZTdmNzE0MDA1NjQ5MGExNTMyNmYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hbmFseXRpY3MuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJhOTFhYjUyNDgwNTFkNWRjNDEyZDVjZmQ2OTVlNzQ2YjZjNzQ0MDZiMmVkNDFhOGZkODUwNjU0MjczODlmYWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsdXN0ZXIuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiN2U0NDFhYTczYjI0YWI5NjE0YTRhMjFiNGU1NWJiZDk5ZTIwODdjYjljMTI3MjI2ZTYwYzNhMGM0NDZlMWNkYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdXRoLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjY1ZTY5N2NmMGRmMTA5NjRkMjAyYmZmYTlhZTQxYmFjYjM2ZTI5ZTFkNjc1MDhkNjA4MjEzMTMzNDI2NWM0NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci93aW5kb3ctY29ubmVjdGlvbi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM5MjY3ZTIyMjc1ZGUzNTkwN2E0ZTkyOGE0NTU3YzU0MDAzODE1MDUzNmQ2ZGQ3NmI0Y2MwOTRiODkyMWQ5NjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTMxNjkyNjE0YmJhNmJiNDJmYmQxZTdlMDc5YzliMGMxMDk5ODY2Zjc4ZGJlYjMzMDY2NTU3ZmRjZWNiYmZiOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL25pY2UtZ3JwYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY2YmY3NDk4YTJmM2VkNTI1NDM1MjNiOTg2OTE3Njc4ZjE3Nzc0ZjU3MzZmM2E1M2M2MDBhNDNhNzA1OGQ4YmMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ncnBjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmQzNzM2MmVlYTI4ZWMxYTQ0OTgxOTA4MjVkZjMxYTBjZWVhZTM4N2E3YmJkZmJkMmEwOWQzYTNkMmMwNjM2MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93c3JlYWR5LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjkwYWVlYTRjYjY3MjJiYTIwM2VhNDcwYjhkMjNkYTgzOGIzZTM1NDJmMTczOWM4NDAzODAyNWRlMGVjNWFlMzIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9qYWVnZXItY2xpZW50LXR5cGVzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzFkMzhiOGRiMjM1ODkyMDYwNjQxODk3ZDZjZDM5MGQyMzhhODhjMTdiN2MwZjY2ZjAxNzg1MmUwOTY4MTEyMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NTEyMjE4NWFlMTNiYTU4Mjc0MjA5NzQ1Y2EwMWRmNzZlMDI3OTMzYjZjMTE4YWNjMmJhNDcxMWM1MDM0ZGMxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BsYW5zLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU0ODcwMjFhYzlkMWEwMGM5OWQ5YmIyNTA2NTA4YzZiMzA0NGIzMTM0NmE2ZWQ0NTlhZGQ0ZmJkM2MzOTYzZjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvY29ubmVjdGlvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMWZhZjdhNzA5YTlhODJiODVhZmJjNjA3NDRhZWJkYjVjNWM5MmQ5ZjllMDg0OTZiYzQ2ZTA1YTU3ZTk0YzJmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvY2FuY2VsYWJsZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJlNWMzNWYzOWI5ZWIxMjE5MTY5NzczOGUwNzc3ZThkMjE5MmNiNDAyNTdiNzVlOGRhYmY2Yjg1OGI4YzFhNTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsdXN0ZXIuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhOGRkNGQ0NmZlODVjZTY5M2M3YzU0MzFlYTAxMTlmMWE5YTVmNTU3YTNmZDgyNzE3NDU2Y2E4ZGRlOGU2NjljIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3OTM4NjNjOTYyMDk5ZTE3ZjNiNDBjYWY5ZWUyNjA4ZTk4ZmU5NGZhNWFiYjM5YzRjZmM1NWFmY2RhMTgxMzI2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM5MThlZDA0MjliNDNhOWJkNjE1MjRmNmFjNGNmZjkwMzdiZWFhNTY0M2E1NTEyOGU2OWEwMGU0MDg5YmZkN2MiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9jb250YWluZXItbW9kdWxlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTQ2Y2RlMjVhZWVjM2YyYzI1NzNjMDc1ODBjNDAxOTBmMTBkODJkZjIyNjI3NGI2Y2QyNzA2N2RjYzYwZjExOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wbGFucy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVmZDgwNjcyYjIwYmI3NGE0YWY2NzQ2YzU4MDdlMDY5OWNiMjRjYTNjM2RhMjZjZWFiNzY4ODY1MDY4OWM5NzYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL3Byb3h5LWZhY3RvcnkuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI4NjJhNjYyNWJiNjAxZDE4YjY1MjVmYWQ4YmY3ODMyNjU1MjIyYmMxOTU4ZWZjNTljNWIxYTVhMGFkODYxODMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGF5bWVudC1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgwZmI4ZTFmYjBiNDlmZmFiOGY1NGMxN2NhOGU2ODhkMjI5YjEwZGIzOGZmYmZkYTI5OGY4YWNjMGJlNzNjM2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxZTdkNDgxZGFlZjQ3OGZkZGNmZGM2NjI1NmVlYzg3ZWMxN2QzN2U1ZTBjN2ZmNjZkM2ViYjNlNWU4ZmMyZTZjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzUyZDJlZTg0MTQ4NzYwZjMyYzY4ZjA1N2Q2YThiOWE0MDhmMzhkNzAyOWU3YjA1MzAyMGEwNDI1ZDlkYjE5NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2V2ZW50LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjhmYjBiZTBjMmRkNjMxZGNjMjllZDcyZDBlZjg4MTE5ODQwMDRiY2NkMTE5ZmU2YTI0NWRhNDk0MDU1MGE3NTMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsYXNzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTczY2EwODIxNTk3NTNmZmM3MjM0YzM0OGM4NmQ4NWMyOTE0N2Y3MjcwMTlmNDQ4MTM0MWFkZTcyM2VlZDdkMSIKICAgICAgfQogICAgfQogIF0sCiAgInByZWRpY2F0ZSI6IHsKICAgICJidWlsZGVyIjogewogICAgICAiaWQiOiAiZ2l0aHViLmNvbS9naXRwb2QtaW8vbGVld2F5OjAuNy4zLTg1MzlkOTJAc2hhMjU2OjVmZjYwOGQwYWM0OWFlMzM2MDIxNGQ1NmExYjNlYjE1NjEzMDljYzMxZDNlNjJhNTdhMjgyZjRmZjVjMDE1ODgiCiAgICB9LAogICAgInJlY2lwZSI6IHsKICAgICAgInR5cGUiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dpdHBvZC1pby9sZWV3YXkvYnVpbGRAeWFybjo3IiwKICAgICAgImRlZmluZWRJbk1hdGVyaWFsIjogMCwKICAgICAgImVudHJ5UG9pbnQiOiAiY29tcG9uZW50cy9naXRwb2QtcHJvdG9jb2w6bGliIiwKICAgICAgImFyZ3VtZW50cyI6IFsKICAgICAgICAibGVld2F5IiwKICAgICAgICAiYnVpbGQiLAogICAgICAgICItLWRvY2tlci1idWlsZC1vcHRpb25zIiwKICAgICAgICAibmV0d29yaz1ob3N0IiwKICAgICAgICAiLS13ZXJmdD10cnVlIiwKICAgICAgICAiLWMiLAogICAgICAgICJyZW1vdGUiLAogICAgICAgICItLWNvdmVyYWdlLW91dHB1dC1wYXRoPS90bXAvdG1wLkVjSEhzVlhNYXgiLAogICAgICAgICItRHZlcnNpb249bWFpbi42NDU2IiwKICAgICAgICAiLURyZW1vdmVTb3VyY2VzPWZhbHNlIiwKICAgICAgICAiLURpbWFnZVJlcG9CYXNlPWV1Lmdjci5pby9naXRwb2QtY29yZS1kZXYvYnVpbGQiLAogICAgICAgICItRGxvY2FsQXBwVmVyc2lvbj1tYWluLjY0NTYiLAogICAgICAgICItRFNFR01FTlRfSU9fVE9LRU49WDNiTmF0WVB1ZElKY0N6NmtGbFRuNTRwcnVtUUFxR2giLAogICAgICAgICItRFJFUExJQ0FURURfQVBJX1RPS0VOPWRlYTEwYzhmYjU4NzU1ZmQ1MWFiOTk2Y2NiYWFiODk2MmY1ZTkwNmFiNDQxMmFlNjc3OTk2ZWE3NGU4NWFlMzUiLAogICAgICAgICItRFJFUExJQ0FURURfQVBQPWdpdHBvZCIsCiAgICAgICAgIi1EbnBtUHVibGlzaFRyaWdnZXI9MTY3NTM1MDIyMDk4MSIKICAgICAgXSwKICAgICAgImVudmlyb25tZW50IjogewogICAgICAgICJtYW5pZmVzdCI6IHsKICAgICAgICAgICJhcmNoIjogImFtZDY0IiwKICAgICAgICAgICJnbyI6ICJnbyB2ZXJzaW9uIGdvMS4xOS4yIGxpbnV4L2FtZDY0IiwKICAgICAgICAgICJub2RlIjogInYxNi4xOC4xIiwKICAgICAgICAgICJvcyI6ICJsaW51eCIsCiAgICAgICAgICAieWFybiI6ICIxLjIyLjE5IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJtZXRhZGF0YSI6IHsKICAgICAgImJ1aWxkU3RhcnRlZE9uIjogIjIwMjMtMDItMDJUMTU6MDM6NTIuNzU4NDYzMjg5WiIsCiAgICAgICJidWlsZEZpbmlzaGVkT24iOiAiMjAyMy0wMi0wMlQxNTowNDoxOC4yNTUzMzE4NjRaIiwKICAgICAgImNvbXBsZXRlbmVzcyI6IHsKICAgICAgICAiYXJndW1lbnRzIjogdHJ1ZSwKICAgICAgICAiZW52aXJvbm1lbnQiOiBmYWxzZSwKICAgICAgICAibWF0ZXJpYWxzIjogdHJ1ZQogICAgICB9LAogICAgICAicmVwcm9kdWNpYmxlIjogZmFsc2UKICAgIH0sCiAgICAibWF0ZXJpYWxzIjogWwogICAgICB7CiAgICAgICAgInVyaSI6ICJnaXQraHR0cHM6Ly9naXRodWIuY29tL2dpdHBvZC1pby9naXRwb2QuZ2l0IiwKICAgICAgICAiZGlnZXN0IjogewogICAgICAgICAgInNoYTI1NiI6ICIzMDc3ZWY1YjQzZmI5OGVlYWRhNGQyNTY0ZDc5ZDJjN2FhZWY0MWFmIgogICAgICAgIH0KICAgICAgfQogICAgXQogIH0KfQ==","signatures":null}
|
|
2
|
+
|