@gitpod/gitpod-protocol 0.1.5-procmount.0 → 0.1.5-protected-secrets.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/data/gitpod-schema.json +149 -29
  2. package/lib/accounting-protocol.d.ts +163 -0
  3. package/lib/accounting-protocol.d.ts.map +1 -0
  4. package/lib/accounting-protocol.js +111 -0
  5. package/lib/accounting-protocol.js.map +1 -0
  6. package/lib/admin-protocol.d.ts +39 -4
  7. package/lib/admin-protocol.d.ts.map +1 -1
  8. package/lib/admin-protocol.js +15 -0
  9. package/lib/admin-protocol.js.map +1 -1
  10. package/lib/analytics.d.ts +44 -0
  11. package/lib/analytics.d.ts.map +1 -0
  12. package/lib/analytics.js +10 -0
  13. package/lib/analytics.js.map +1 -0
  14. package/lib/attribution.d.ts +23 -0
  15. package/lib/attribution.d.ts.map +1 -0
  16. package/lib/attribution.js +50 -0
  17. package/lib/attribution.js.map +1 -0
  18. package/lib/auth.d.ts.map +1 -1
  19. package/lib/billing-mode.d.ts +43 -0
  20. package/lib/billing-mode.d.ts.map +1 -0
  21. package/lib/billing-mode.js +44 -0
  22. package/lib/billing-mode.js.map +1 -0
  23. package/lib/blocked-repositories-protocol.d.ts +13 -0
  24. package/lib/blocked-repositories-protocol.d.ts.map +1 -0
  25. package/lib/blocked-repositories-protocol.js +8 -0
  26. package/lib/blocked-repositories-protocol.js.map +1 -0
  27. package/lib/context-url.d.ts +31 -0
  28. package/lib/context-url.d.ts.map +1 -0
  29. package/lib/context-url.js +102 -0
  30. package/lib/context-url.js.map +1 -0
  31. package/lib/context-url.spec.d.ts +14 -0
  32. package/lib/context-url.spec.d.ts.map +1 -0
  33. package/lib/context-url.spec.js +109 -0
  34. package/lib/context-url.spec.js.map +1 -0
  35. package/lib/encryption/container-module.d.ts.map +1 -1
  36. package/lib/encryption/container-module.js +5 -4
  37. package/lib/encryption/container-module.js.map +1 -1
  38. package/lib/encryption/encryption-engine.d.ts.map +1 -1
  39. package/lib/encryption/encryption-engine.js +25 -26
  40. package/lib/encryption/encryption-engine.js.map +1 -1
  41. package/lib/encryption/encryption-engine.spec.d.ts.map +1 -1
  42. package/lib/encryption/encryption-engine.spec.js +29 -37
  43. package/lib/encryption/encryption-engine.spec.js.map +1 -1
  44. package/lib/encryption/encryption-service.d.ts.map +1 -1
  45. package/lib/encryption/encryption-service.js +30 -44
  46. package/lib/encryption/encryption-service.js.map +1 -1
  47. package/lib/encryption/key-provider.d.ts.map +1 -1
  48. package/lib/encryption/key-provider.js +31 -38
  49. package/lib/encryption/key-provider.js.map +1 -1
  50. package/lib/env.d.ts +0 -6
  51. package/lib/env.d.ts.map +1 -1
  52. package/lib/env.js +7 -27
  53. package/lib/env.js.map +1 -1
  54. package/lib/experiments/always-default.d.ts +8 -0
  55. package/lib/experiments/always-default.d.ts.map +1 -0
  56. package/lib/experiments/always-default.js +20 -0
  57. package/lib/experiments/always-default.js.map +1 -0
  58. package/lib/experiments/configcat-server.d.ts +10 -0
  59. package/lib/experiments/configcat-server.d.ts.map +1 -0
  60. package/lib/experiments/configcat-server.js +36 -0
  61. package/lib/experiments/configcat-server.js.map +1 -0
  62. package/lib/experiments/configcat.d.ts +21 -0
  63. package/lib/experiments/configcat.d.ts.map +1 -0
  64. package/lib/experiments/configcat.js +51 -0
  65. package/lib/experiments/configcat.js.map +1 -0
  66. package/lib/experiments/types.d.ts +22 -0
  67. package/lib/experiments/types.d.ts.map +1 -0
  68. package/lib/experiments/types.js +10 -0
  69. package/lib/experiments/types.js.map +1 -0
  70. package/lib/gitpod-file-parser.d.ts.map +1 -1
  71. package/lib/gitpod-file-parser.js +26 -42
  72. package/lib/gitpod-file-parser.js.map +1 -1
  73. package/lib/gitpod-file-parser.spec.js +145 -142
  74. package/lib/gitpod-file-parser.spec.js.map +1 -1
  75. package/lib/gitpod-service.d.ts +195 -39
  76. package/lib/gitpod-service.d.ts.map +1 -1
  77. package/lib/gitpod-service.js +204 -271
  78. package/lib/gitpod-service.js.map +1 -1
  79. package/lib/headless-workspace-log.d.ts +9 -11
  80. package/lib/headless-workspace-log.d.ts.map +1 -1
  81. package/lib/headless-workspace-log.js +6 -8
  82. package/lib/headless-workspace-log.js.map +1 -1
  83. package/lib/ide-frontend-service.d.ts +5 -1
  84. package/lib/ide-frontend-service.d.ts.map +1 -1
  85. package/lib/ide-protocol.d.ts +113 -0
  86. package/lib/ide-protocol.d.ts.map +1 -0
  87. package/lib/{util/without.js → ide-protocol.js} +2 -2
  88. package/lib/ide-protocol.js.map +1 -0
  89. package/lib/index.d.ts +16 -10
  90. package/lib/index.d.ts.map +1 -1
  91. package/lib/index.js +8 -2
  92. package/lib/index.js.map +1 -1
  93. package/lib/installation-admin-protocol.d.ts +30 -0
  94. package/lib/installation-admin-protocol.d.ts.map +1 -0
  95. package/lib/installation-admin-protocol.js +31 -0
  96. package/lib/installation-admin-protocol.js.map +1 -0
  97. package/lib/license-protocol.d.ts +7 -0
  98. package/lib/license-protocol.d.ts.map +1 -1
  99. package/lib/license-protocol.js.map +1 -1
  100. package/lib/messaging/browser/connection.d.ts +5 -3
  101. package/lib/messaging/browser/connection.d.ts.map +1 -1
  102. package/lib/messaging/browser/connection.js +184 -34
  103. package/lib/messaging/browser/connection.js.map +1 -1
  104. package/lib/messaging/browser/window-connection.d.ts +4 -4
  105. package/lib/messaging/browser/window-connection.d.ts.map +1 -1
  106. package/lib/messaging/browser/window-connection.js +42 -59
  107. package/lib/messaging/browser/window-connection.js.map +1 -1
  108. package/lib/messaging/client-call-metrics.d.ts +19 -0
  109. package/lib/messaging/client-call-metrics.d.ts.map +1 -0
  110. package/lib/messaging/client-call-metrics.js +82 -0
  111. package/lib/messaging/client-call-metrics.js.map +1 -0
  112. package/lib/messaging/error.d.ts +11 -2
  113. package/lib/messaging/error.d.ts.map +1 -1
  114. package/lib/messaging/error.js +22 -4
  115. package/lib/messaging/error.js.map +1 -1
  116. package/lib/messaging/handler.d.ts +10 -0
  117. package/lib/messaging/handler.d.ts.map +1 -1
  118. package/lib/messaging/handler.js +1 -1
  119. package/lib/messaging/node/connection.d.ts +1 -17
  120. package/lib/messaging/node/connection.d.ts.map +1 -1
  121. package/lib/messaging/node/connection.js +24 -60
  122. package/lib/messaging/node/connection.js.map +1 -1
  123. package/lib/messaging/proxy-factory.d.ts +3 -1
  124. package/lib/messaging/proxy-factory.d.ts.map +1 -1
  125. package/lib/messaging/proxy-factory.js +75 -162
  126. package/lib/messaging/proxy-factory.js.map +1 -1
  127. package/lib/oss-allowlist.d.ts +14 -0
  128. package/lib/oss-allowlist.d.ts.map +1 -0
  129. package/lib/oss-allowlist.js +8 -0
  130. package/lib/oss-allowlist.js.map +1 -0
  131. package/lib/payment-protocol.d.ts +18 -0
  132. package/lib/payment-protocol.d.ts.map +1 -0
  133. package/lib/payment-protocol.js +13 -0
  134. package/lib/payment-protocol.js.map +1 -0
  135. package/lib/permission.d.ts +10 -3
  136. package/lib/permission.d.ts.map +1 -1
  137. package/lib/permission.js +41 -31
  138. package/lib/permission.js.map +1 -1
  139. package/lib/plans.d.ts +211 -0
  140. package/lib/plans.d.ts.map +1 -0
  141. package/lib/plans.js +609 -0
  142. package/lib/plans.js.map +1 -0
  143. package/lib/protocol.d.ts +285 -95
  144. package/lib/protocol.d.ts.map +1 -1
  145. package/lib/protocol.js +383 -206
  146. package/lib/protocol.js.map +1 -1
  147. package/{src/util/without.ts → lib/protocol.spec.d.ts} +2 -3
  148. package/lib/protocol.spec.d.ts.map +1 -0
  149. package/lib/protocol.spec.js +127 -0
  150. package/lib/protocol.spec.js.map +1 -0
  151. package/lib/snapshot-url.d.ts +14 -0
  152. package/lib/snapshot-url.d.ts.map +1 -0
  153. package/lib/snapshot-url.js +26 -0
  154. package/lib/snapshot-url.js.map +1 -0
  155. package/{src/theia-plugins.ts → lib/snapshot-url.spec.d.ts} +2 -6
  156. package/lib/snapshot-url.spec.d.ts.map +1 -0
  157. package/lib/snapshot-url.spec.js +41 -0
  158. package/lib/snapshot-url.spec.js.map +1 -0
  159. package/lib/team-subscription-protocol.d.ts +92 -0
  160. package/lib/team-subscription-protocol.d.ts.map +1 -0
  161. package/lib/team-subscription-protocol.js +78 -0
  162. package/lib/team-subscription-protocol.js.map +1 -0
  163. package/lib/teams-projects-protocol.d.ts +130 -0
  164. package/lib/teams-projects-protocol.d.ts.map +1 -0
  165. package/lib/teams-projects-protocol.js +30 -0
  166. package/lib/teams-projects-protocol.js.map +1 -0
  167. package/lib/typings/globals.d.ts +2 -2
  168. package/lib/typings/globals.d.ts.map +1 -1
  169. package/lib/usage.d.ts +61 -0
  170. package/lib/usage.d.ts.map +1 -0
  171. package/lib/usage.js +14 -0
  172. package/lib/usage.js.map +1 -0
  173. package/lib/util/analytics.d.ts +8 -0
  174. package/lib/util/analytics.d.ts.map +1 -0
  175. package/lib/util/analytics.js +88 -0
  176. package/lib/util/analytics.js.map +1 -0
  177. package/lib/util/async-iterator.d.ts.map +1 -1
  178. package/lib/util/async-iterator.js +57 -135
  179. package/lib/util/async-iterator.js.map +1 -1
  180. package/lib/util/cancelable.js +17 -59
  181. package/lib/util/cancelable.js.map +1 -1
  182. package/lib/util/date-time.js +11 -11
  183. package/lib/util/date-time.js.map +1 -1
  184. package/lib/util/debug-app.d.ts +25 -0
  185. package/lib/util/debug-app.d.ts.map +1 -0
  186. package/lib/util/debug-app.js +100 -0
  187. package/lib/util/debug-app.js.map +1 -0
  188. package/lib/util/deferred.js +10 -12
  189. package/lib/util/deferred.js.map +1 -1
  190. package/lib/util/disposable.d.ts.map +1 -1
  191. package/lib/util/disposable.js +27 -40
  192. package/lib/util/disposable.js.map +1 -1
  193. package/lib/util/event.d.ts.map +1 -1
  194. package/lib/util/event.js +63 -77
  195. package/lib/util/event.js.map +1 -1
  196. package/lib/util/garbage-collected-cache.d.ts +1 -0
  197. package/lib/util/garbage-collected-cache.d.ts.map +1 -1
  198. package/lib/util/garbage-collected-cache.js +32 -47
  199. package/lib/util/garbage-collected-cache.js.map +1 -1
  200. package/lib/util/generate-workspace-id.d.ts +6 -1
  201. package/lib/util/generate-workspace-id.d.ts.map +1 -1
  202. package/lib/util/generate-workspace-id.js +469 -502
  203. package/lib/util/generate-workspace-id.js.map +1 -1
  204. package/lib/util/generate-workspace-id.spec.js +68 -78
  205. package/lib/util/generate-workspace-id.spec.js.map +1 -1
  206. package/lib/util/gitpod-cookie.d.ts +20 -0
  207. package/lib/util/gitpod-cookie.d.ts.map +1 -0
  208. package/lib/util/gitpod-cookie.js +41 -0
  209. package/lib/util/gitpod-cookie.js.map +1 -0
  210. package/lib/util/gitpod-host-url.d.ts +4 -2
  211. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  212. package/lib/util/gitpod-host-url.js +126 -109
  213. package/lib/util/gitpod-host-url.js.map +1 -1
  214. package/lib/util/gitpod-host-url.spec.d.ts +7 -1
  215. package/lib/util/gitpod-host-url.spec.d.ts.map +1 -1
  216. package/lib/util/gitpod-host-url.spec.js +113 -31
  217. package/lib/util/gitpod-host-url.spec.js.map +1 -1
  218. package/lib/util/grpc.d.ts +34 -0
  219. package/lib/util/grpc.d.ts.map +1 -0
  220. package/lib/util/grpc.js +90 -0
  221. package/lib/util/grpc.js.map +1 -0
  222. package/lib/util/jaeger-client-types.d.ts +68 -0
  223. package/lib/util/jaeger-client-types.d.ts.map +1 -0
  224. package/lib/{theia-plugins.js → util/jaeger-client-types.js} +1 -1
  225. package/lib/util/jaeger-client-types.js.map +1 -0
  226. package/lib/util/logging.d.ts +49 -33
  227. package/lib/util/logging.d.ts.map +1 -1
  228. package/lib/util/logging.js +132 -129
  229. package/lib/util/logging.js.map +1 -1
  230. package/lib/util/logging.spec.d.ts +7 -0
  231. package/lib/util/logging.spec.d.ts.map +1 -0
  232. package/lib/util/logging.spec.js +52 -0
  233. package/lib/util/logging.spec.js.map +1 -0
  234. package/lib/util/make-link.js +5 -5
  235. package/lib/util/make-link.js.map +1 -1
  236. package/lib/util/nice-grpc.d.ts +9 -0
  237. package/lib/util/nice-grpc.d.ts.map +1 -0
  238. package/lib/util/nice-grpc.js +119 -0
  239. package/lib/util/nice-grpc.js.map +1 -0
  240. package/lib/util/parse-workspace-id.d.ts +10 -0
  241. package/lib/util/parse-workspace-id.d.ts.map +1 -1
  242. package/lib/util/parse-workspace-id.js +31 -7
  243. package/lib/util/parse-workspace-id.js.map +1 -1
  244. package/lib/util/parse-workspace-id.spec.d.ts +4 -0
  245. package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
  246. package/lib/util/parse-workspace-id.spec.js +123 -84
  247. package/lib/util/parse-workspace-id.spec.js.map +1 -1
  248. package/lib/util/queue.js +16 -55
  249. package/lib/util/queue.js.map +1 -1
  250. package/lib/util/queue.spec.js +147 -288
  251. package/lib/util/queue.spec.js.map +1 -1
  252. package/lib/util/repeat.d.ts +15 -0
  253. package/lib/util/repeat.d.ts.map +1 -0
  254. package/lib/util/repeat.js +55 -0
  255. package/lib/util/repeat.js.map +1 -0
  256. package/lib/util/semaphore.d.ts.map +1 -1
  257. package/lib/util/semaphore.js +15 -46
  258. package/lib/util/semaphore.js.map +1 -1
  259. package/lib/util/skip-if.d.ts.map +1 -1
  260. package/lib/util/skip-if.js +6 -6
  261. package/lib/util/skip-if.js.map +1 -1
  262. package/lib/util/timeutil.d.ts +2 -0
  263. package/lib/util/timeutil.d.ts.map +1 -1
  264. package/lib/util/timeutil.js +41 -17
  265. package/lib/util/timeutil.js.map +1 -1
  266. package/lib/util/timeutil.spec.d.ts +2 -0
  267. package/lib/util/timeutil.spec.d.ts.map +1 -1
  268. package/lib/util/timeutil.spec.js +54 -23
  269. package/lib/util/timeutil.spec.js.map +1 -1
  270. package/lib/util/tracing.d.ts +52 -6
  271. package/lib/util/tracing.d.ts.map +1 -1
  272. package/lib/util/tracing.js +197 -64
  273. package/lib/util/tracing.js.map +1 -1
  274. package/lib/util/tracing.spec.d.ts +7 -0
  275. package/lib/util/tracing.spec.d.ts.map +1 -0
  276. package/lib/util/tracing.spec.js +121 -0
  277. package/lib/util/tracing.spec.js.map +1 -0
  278. package/lib/util/workspace-port-authentication.d.ts +7 -7
  279. package/lib/util/workspace-port-authentication.d.ts.map +1 -1
  280. package/lib/util/workspace-port-authentication.js +10 -12
  281. package/lib/util/workspace-port-authentication.js.map +1 -1
  282. package/lib/webhook-event.d.ts +44 -0
  283. package/lib/webhook-event.d.ts.map +1 -0
  284. package/lib/webhook-event.js +8 -0
  285. package/lib/webhook-event.js.map +1 -0
  286. package/lib/workspace-class.d.ts +14 -0
  287. package/lib/workspace-class.d.ts.map +1 -0
  288. package/lib/workspace-class.js +8 -0
  289. package/lib/workspace-class.js.map +1 -0
  290. package/lib/workspace-cluster.d.ts +75 -0
  291. package/lib/workspace-cluster.d.ts.map +1 -0
  292. package/lib/workspace-cluster.js +31 -0
  293. package/lib/workspace-cluster.js.map +1 -0
  294. package/lib/workspace-instance.d.ts +46 -5
  295. package/lib/workspace-instance.d.ts.map +1 -1
  296. package/lib/wsready.d.ts +1 -1
  297. package/lib/wsready.d.ts.map +1 -1
  298. package/lib/wsready.js +2 -2
  299. package/package.json +40 -18
  300. package/pkg-yarn.lock +23 -10
  301. package/provenance-bundle.jsonl +2 -0
  302. package/src/accounting-protocol.ts +244 -0
  303. package/src/admin-protocol.ts +80 -19
  304. package/src/analytics.ts +52 -0
  305. package/src/attribution.ts +59 -0
  306. package/src/auth.ts +2 -2
  307. package/src/billing-mode.ts +81 -0
  308. package/src/blocked-repositories-protocol.ts +13 -0
  309. package/src/context-url.spec.ts +67 -0
  310. package/src/context-url.ts +109 -0
  311. package/src/encryption/container-module.ts +2 -3
  312. package/src/encryption/encryption-engine.spec.ts +9 -8
  313. package/src/encryption/encryption-engine.ts +20 -16
  314. package/src/encryption/encryption-service.ts +4 -5
  315. package/src/encryption/key-provider.ts +16 -19
  316. package/src/env.ts +0 -22
  317. package/src/experiments/always-default.ts +24 -0
  318. package/src/experiments/configcat-server.ts +41 -0
  319. package/src/experiments/configcat.ts +56 -0
  320. package/src/experiments/types.ts +34 -0
  321. package/src/gitpod-file-parser.spec.ts +55 -61
  322. package/src/gitpod-file-parser.ts +16 -17
  323. package/src/gitpod-service.ts +385 -117
  324. package/src/headless-workspace-log.ts +12 -14
  325. package/src/ide-frontend-service.ts +6 -2
  326. package/src/ide-protocol.ts +129 -0
  327. package/src/index.ts +16 -10
  328. package/src/installation-admin-protocol.ts +45 -0
  329. package/src/license-protocol.ts +12 -6
  330. package/src/messaging/browser/connection.ts +197 -18
  331. package/src/messaging/browser/window-connection.ts +39 -29
  332. package/src/messaging/client-call-metrics.ts +77 -0
  333. package/src/messaging/error.ts +32 -7
  334. package/src/messaging/handler.ts +13 -1
  335. package/src/messaging/node/connection.ts +23 -70
  336. package/src/messaging/proxy-factory.ts +35 -34
  337. package/src/oss-allowlist.ts +15 -0
  338. package/src/payment-protocol.ts +20 -0
  339. package/src/permission.ts +42 -33
  340. package/src/plans.ts +683 -0
  341. package/src/protocol.spec.ts +97 -0
  342. package/src/protocol.ts +680 -282
  343. package/src/snapshot-url.spec.ts +27 -0
  344. package/src/snapshot-url.ts +27 -0
  345. package/src/team-subscription-protocol.ts +150 -0
  346. package/src/teams-projects-protocol.ts +166 -0
  347. package/src/typings/globals.ts +4 -4
  348. package/src/usage.ts +71 -0
  349. package/src/util/analytics.ts +109 -0
  350. package/src/util/async-iterator.ts +4 -5
  351. package/src/util/cancelable.ts +3 -3
  352. package/src/util/date-time.ts +8 -8
  353. package/src/util/debug-app.ts +81 -0
  354. package/src/util/deferred.ts +6 -6
  355. package/src/util/disposable.ts +3 -6
  356. package/src/util/event.ts +9 -11
  357. package/src/util/garbage-collected-cache.ts +16 -8
  358. package/src/util/generate-workspace-id.spec.ts +37 -10
  359. package/src/util/generate-workspace-id.ts +464 -438
  360. package/src/util/gitpod-cookie.ts +38 -0
  361. package/src/util/gitpod-host-url.spec.ts +59 -8
  362. package/src/util/gitpod-host-url.ts +72 -39
  363. package/src/util/grpc.ts +104 -0
  364. package/src/util/jaeger-client-types.ts +102 -0
  365. package/src/util/logging.spec.ts +23 -0
  366. package/src/util/logging.ts +156 -74
  367. package/src/util/make-link.ts +6 -7
  368. package/src/util/nice-grpc.ts +93 -0
  369. package/src/util/parse-workspace-id.spec.ts +37 -8
  370. package/src/util/parse-workspace-id.ts +32 -7
  371. package/src/util/queue.spec.ts +28 -26
  372. package/src/util/repeat.ts +45 -0
  373. package/src/util/semaphore.ts +6 -8
  374. package/src/util/skip-if.ts +10 -7
  375. package/src/util/timeutil.spec.ts +40 -14
  376. package/src/util/timeutil.ts +31 -15
  377. package/src/util/tracing.spec.ts +88 -0
  378. package/src/util/tracing.ts +200 -31
  379. package/src/util/workspace-port-authentication.ts +10 -13
  380. package/src/webhook-event.ts +55 -0
  381. package/src/workspace-class.ts +14 -0
  382. package/src/workspace-cluster.ts +109 -0
  383. package/src/workspace-instance.ts +105 -31
  384. package/src/wsready.ts +3 -3
  385. package/data/builtin-theia-plugins.json +0 -372
  386. package/lib/email-protocol.d.ts +0 -50
  387. package/lib/email-protocol.d.ts.map +0 -1
  388. package/lib/email-protocol.js +0 -28
  389. package/lib/email-protocol.js.map +0 -1
  390. package/lib/messaging/connection-error-handler.d.ts +0 -27
  391. package/lib/messaging/connection-error-handler.d.ts.map +0 -1
  392. package/lib/messaging/connection-error-handler.js +0 -46
  393. package/lib/messaging/connection-error-handler.js.map +0 -1
  394. package/lib/theia-plugins.d.ts +0 -11
  395. package/lib/theia-plugins.d.ts.map +0 -1
  396. package/lib/theia-plugins.js.map +0 -1
  397. package/lib/util/context-url.d.ts +0 -13
  398. package/lib/util/context-url.d.ts.map +0 -1
  399. package/lib/util/context-url.js +0 -26
  400. package/lib/util/context-url.js.map +0 -1
  401. package/lib/util/context-url.spec.d.ts +0 -10
  402. package/lib/util/context-url.spec.d.ts.map +0 -1
  403. package/lib/util/context-url.spec.js +0 -52
  404. package/lib/util/context-url.spec.js.map +0 -1
  405. package/lib/util/repeater.d.ts +0 -22
  406. package/lib/util/repeater.d.ts.map +0 -1
  407. package/lib/util/repeater.js +0 -118
  408. package/lib/util/repeater.js.map +0 -1
  409. package/lib/util/safe-promise.d.ts +0 -11
  410. package/lib/util/safe-promise.d.ts.map +0 -1
  411. package/lib/util/safe-promise.js +0 -34
  412. package/lib/util/safe-promise.js.map +0 -1
  413. package/lib/util/without.d.ts +0 -7
  414. package/lib/util/without.d.ts.map +0 -1
  415. package/lib/util/without.js.map +0 -1
  416. package/src/email-protocol.ts +0 -67
  417. package/src/messaging/connection-error-handler.ts +0 -62
  418. package/src/util/context-url.spec.ts +0 -25
  419. package/src/util/context-url.ts +0 -23
  420. package/src/util/jaeger-client.d.ts +0 -105
  421. package/src/util/repeater.ts +0 -49
  422. 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): 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): 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: DeepPartial<WorkspaceClusterFilter>): Promise<WorkspaceClusterWoTLS[]>;
71
+ }
72
+ export interface WorkspaceClusterFilter extends Pick<WorkspaceCluster, "state" | "govern" | "url"> {
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,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAEhE;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;CAClG;AACD,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC9F,QAAQ,EAAE,MAAM,CAAC;CACpB"}
@@ -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"}
@@ -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;
@@ -26,23 +42,25 @@ export interface WorkspaceInstanceStatus {
26
42
  repo?: WorkspaceInstanceRepoStatus;
27
43
  timeout?: string;
28
44
  nodeName?: string;
45
+ podName?: string;
46
+ nodeIp?: string;
29
47
  ownerToken?: string;
30
48
  }
31
- 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";
32
50
  export interface WorkspaceInstanceConditions {
33
51
  failed?: string;
34
52
  timeout?: string;
35
53
  pullingImages?: boolean;
36
- serviceExists?: boolean;
37
54
  deployed?: boolean;
38
55
  neededImageBuild?: boolean;
39
56
  firstUserActivity?: string;
57
+ headlessTaskFailed?: string;
58
+ stoppedByRequest?: boolean;
40
59
  }
41
- export declare type AdmissionLevel = 'owner_only' | 'everyone';
42
- export declare type PortVisibility = 'public' | 'private';
60
+ export declare type AdmissionLevel = "owner_only" | "everyone";
61
+ export declare type PortVisibility = "public" | "private";
43
62
  export interface WorkspaceInstancePort {
44
63
  port: number;
45
- targetPort?: number;
46
64
  visibility?: PortVisibility;
47
65
  url?: string;
48
66
  }
@@ -56,9 +74,32 @@ export interface WorkspaceInstanceRepoStatus {
56
74
  unpushedCommits?: string[];
57
75
  totalUnpushedCommits?: number;
58
76
  }
77
+ export interface ConfigurationIdeConfig {
78
+ useLatest?: boolean;
79
+ desktopIdeAlias?: string;
80
+ }
59
81
  export interface WorkspaceInstanceConfiguration {
60
82
  theiaVersion?: string;
61
83
  featureFlags?: NamedWorkspaceFeatureFlag[];
62
84
  ideImage: string;
85
+ desktopIdeImage?: string;
86
+ desktopIdePluginImage?: string;
87
+ supervisorImage?: string;
88
+ ideConfig?: ConfigurationIdeConfig;
89
+ }
90
+ /**
91
+ * Holds information about the image build (if there was one) for this WorkspaceInstance
92
+ */
93
+ export interface ImageBuildInfo {
94
+ log?: ImageBuildLogInfo;
95
+ }
96
+ /**
97
+ * Holds information about how to access logs for this an image build
98
+ */
99
+ export interface ImageBuildLogInfo {
100
+ url: string;
101
+ headers: {
102
+ [key: string]: string;
103
+ };
63
104
  }
64
105
  //# 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;IAGrB,MAAM,EAAE,MAAM,CAAC;IAGf,MAAM,EAAE,MAAM,CAAC;IAGf,cAAc,EAAE,MAAM,CAAC;IAGvB,MAAM,EAAE,uBAAuB,CAAC;IAKhC,aAAa,CAAC,EAAE,8BAA8B,CAAC;IAG/C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC9B;AAGD,MAAM,WAAW,uBAAuB;IAEpC,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,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,oBAAY,sBAAsB,GAG9B,SAAS,GAIT,WAAW,GAKX,SAAS,GAKT,UAAU,GAIV,cAAc,GAId,SAAS,GAIT,aAAa,GAGb,UAAU,GAGV,SAAS,CAAC;AAEd,MAAM,WAAW,2BAA2B;IAExC,MAAM,CAAC,EAAE,MAAM,CAAA;IAGf,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,aAAa,CAAC,EAAE,OAAO,CAAA;IAGvB,aAAa,CAAC,EAAE,OAAO,CAAA;IAGvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,iBAAiB,CAAC,EAAE,MAAM,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,MAAM,CAAC;IAGpB,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,CAAA;IAG7B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAG1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAG5B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAChC;AAGD,MAAM,WAAW,8BAA8B;IAG3C,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,YAAY,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAG3C,QAAQ,EAAE,MAAM,CAAC;CACpB"}
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;IAGjB,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,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"}
package/lib/wsready.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
2
+ * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
@@ -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,CAAA;CAC9B"}
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;CAC/B"}
package/lib/wsready.js CHANGED
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
+ * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
4
4
  * Licensed under the GNU Affero General Public License (AGPL).
5
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 2020-06-11 14:47:30.351829728 +0000 UTC m=+0.002956090
9
+ // generated using github.com/32leaves/bel on 2022-10-10 21:41:56.018177383 +0000 UTC m=+0.010324839
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
- "inversify": "^5.0.1",
5
- "jaeger-client": "3.17.2",
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
- "opentracing": "^0.14.4",
8
- "prom-client": "^10.2.0",
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
- "reconnecting-websocket": "^4.2.0",
11
- "reflect-metadata": "^0.1.10",
12
- "uuid": "^3.3.3",
13
- "vscode-uri": "^1.0.1",
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": "^5.2.2"
28
+ "ws": "^7.4.6"
16
29
  },
17
30
  "devDependencies": {
18
- "@types/chai-subset": "^1.3.1",
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.4.5",
42
+ "@types/uuid": "^8.3.1",
22
43
  "@types/ws": "^5.1.2",
23
- "chai": "^4.1.2",
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": "^3.9.3",
30
- "typescript-json-schema": "^0.43.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 '**/*.spec.ts'",
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-procmount.0"
51
- }
72
+ "version": "0.1.5-protected-secrets.0"
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/3692993ef53375a9d24708fd36c5087ce825caa1.tar.gz"
7
+ resolved "file:///tmp/cache/0f932e2fa7c47eed64802f0bc55658128daf8d47.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
- inversify "^5.0.1"
11
- jaeger-client "3.17.2"
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
- opentracing "^0.14.4"
14
- prom-client "^10.2.0"
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
- reconnecting-websocket "^4.2.0"
17
- reflect-metadata "^0.1.10"
18
- uuid "^3.3.3"
19
- vscode-uri "^1.0.1"
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 "^5.2.2"
34
+ ws "^7.4.6"
22
35
 
@@ -0,0 +1,2 @@
1
+ {"payloadType":"application/vnd.in-toto+json","payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YwLjEiLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MC4xIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZmVycmVkLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1MjJjNGYxNzM2Nzk1YzAwMzYwNGE1ZWJmZTQyNDVhZjQ1YTI3NzdiZDViYjk2OTUxZGQzMDk2MGQ4YTM3NDVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1zZXJ2aWNlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ3YzU3ZGM3MGMzODQ5MDQ4Njg2NDlkMzc1MGIzYTgxM2RhMmIwZmE3YWU5NTkzODA5Y2VjZjI2MmJmNjNjZjAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9sb2dnaW5nLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZDBmNDQ1NjYxMzhhZGY2MTcwMWEwYTNjNDg4OGE3Y2YwOWZmN2E4YzdhZDg0M2VhYjk1N2IyYzRhZGRkODM3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2tpcC1pZi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgwNDUwZWM0YjBlMTFmMTBhNjg3NzhkMTdkZTE5Mzg0OWMwMWZmNDkzZGE4YTUzYjQwNTAzNTU2NjBiYjE2ODgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBjNmFkMjU1YzdjY2Q5YzQ1ZmU0MWIzNTc5MzdiZmEzNjQ2NTAwYjYwYTE1NmJkMmViZTZjNDI1NmMwMzhhNzEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kYXRlLXRpbWUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjFkZjY2MmM4MzFjMjVkZWVkMzYyY2VlODgzZDVhZDY1MzU2ZjkxNTRlNTMzN2UzNTcyMjAxZjc1NjViYmZlZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FuYWx5dGljcy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMmE5MWFiNTI0ODA1MWQ1ZGM0MTJkNWNmZDY5NWU3NDZiNmM3NDQwNmIyZWQ0MWE4ZmQ4NTA2NTQyNzM4OWZhZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dhcmJhZ2UtY29sbGVjdGVkLWNhY2hlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTk1OTBhYzM1YWQ0MTM5YjM0Yjk0ZjJlNTRhZjczODBjM2E4M2I0MTA5YTEzOTFkYzk5YjA4ZmZiY2Q1NTEwNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTc3N2ZiZWY4Nzc0MjA2ZTc1MzM2ZjFmOGY2ZmY5ZmRmMjkxYjUzMTEwNTVlYjUyNmFhZmFjMmI1Y2VlMjNhZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTBhNjQzZTBiMjM2N2E0OWNhNTU0MTBiOGQ0MzE5YWUyMWU3ZmRmZmZkNDg5OTQ5YmZhMTI5ZTY4NjBlNjZlZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy90eXBlcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlNjBiMWJkYzRhYWQ5NzBiYTI0NjllNDljZTQ1MmIxODg4ZDYwOTRhOTUxMjEwMmJhNmY3NWUwNjMwZGQ1NGVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcmVwZWF0LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNjM5NjUxZmVmMDhhNjFjNjdkZDBiOTBkNDdhNWQxNDAxNDljMzRhMjU2M2VhNWRiMGU1ZWNmNTcwMjViYTE0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzU1MTQ5ZmU4MzEzYjA2YjQxMjFmMmNmZDIwMDkyZGYxOTAxZDY1N2FiOTBlYzgyZDY5OTA2ZjQ5MjA1OWJiOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2NhbmNlbGFibGUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA1M2IwNzJjZGJkOTIyMzk1NGRkNWZkYTkyZDkyYzk5ZjgwOTlkOGVhZTUwY2ZhNmM0YmYyZGFhZGQwNjFhMGEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ4NjhlYTI5YmY5YzZhYzlhZjQxOWJhNGU1ZTE4OGY5OGVlN2EyNzYxNDIzMzg1NzMyYzA2YWMxMmEwMWE3YzAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvb3NzLWFsbG93bGlzdC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NzdlOTNkM2NmZTQwMzgyNGJlOTFiNTRhMTAyMTBkZjNkNjE5NWFkYzQyZmUwZDBjZWQ2OWZlYTg1NjE5MWFkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvamFlZ2VyLWNsaWVudC10eXBlcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkZDcxYjJjMmI4Mjg0ZjIwZTg4YzcyMjcwOTc5YjY4ZTVmODk5OGRmODM2ZTg3YzczYzNkYzgyN2FlNmU3MDgwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BheW1lbnQtcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY4YjQ2YjdlODlmYmRjZWNlYjdiY2YzOWQwNGMwMWIyNGNlM2YwMTEzYTAxNmVhYThmYzIwMDU1NzQwNmJlNWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsdXN0ZXIuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmQ0ZTkzZDEwYTRkZjRmOWM0YTU2OGJkY2I1NmUxYmMzMTExZjIyZjU3Y2E4MzlmZjgwZjMxMzdjN2QxNmZlOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NlbWFwaG9yZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU1MGNlZTcwYzMxY2FlNDM2NzIyYjE0OTdhOTUxZTAzYjJkMWY0ZjNmMjc5ZGZlY2YwYzhmYzBlOTBlYjgzODQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxMzg2N2RjZTZkZDRmOTdhMjlmNGY4ZmZjNzQ4NWU3ZmM5ZGEzYTg4N2JiODc5ZjZhNGM4YTU4N2M1MDU3ZmE3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzIwYjdlNjFkNTdmMWYyMWNmZTFmMTFhMmIyNWU1ZTM4MGEwZDYwZDY5YWJiYzYyOTllM2FlYThiYjY3YmFkNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2Qtc2VydmljZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJiZjA5YjZmN2Q3ZDA3N2U2MWI3NWQ5MDM5NDA1NTY4M2U3NzQ2MzdjYjkxNzQ3ZTU2YjZmYzFiMGZkOWQyYTIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsYXNzLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjAxMDU4N2FhNDNiZTcyYzlmNmVjYzhkMDczZjU0MTQ2NTY3NWU3MzU2NjFkNGYxNGJjODE0ZDU1NTI1M2U0YTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWNjb3VudGluZy1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNzEzODI5ODYyYmRlN2EwMGQ4ZmJlZTQxN2Y4NzI0YTg3MDJjZTA1OTczYjI0ZDFkY2I3ODJlZjk1ZDhkZTI3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2xpY2Vuc2UtcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTM0YzUyZmZjYzgxYjg0OTc1NzUxMzNiNmM1NWFkMzhhZmU1Y2YwMGM0ZTFkOWU5MTEwNzM3M2RjNDlkODk2MCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDg4MDJjNmU3ODEwNmU4MjRmZGVlNzgwMThjZjVmZjgyN2MxM2M0YWNhNGQ4ODk1ZTU1YmI5MTY1NDlhNjFkYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlMmUxN2E0NWIyOGY4Y2E1MDNmYjQ5ZTBiYmI3NDQwNjE0N2Q5MTYwZjQ5MGNhNDU0NGZmNDAzMDc4MjcyOWZhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FkbWluLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA5YWZkZTA5MDRkZWUzMTE2NGMwNmQwNGI2N2VjN2NmNDk4NmNkZDAzZGJmNmQ0ZGI2YTFhNmJhMTY4ZGY3NzAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvY29uZmlnY2F0LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI0NDc4YmEwNTA3NjIzOWY0MDVlMGYzMjc0YjgwMjc2ODQ0YmZjYTAxYTU3ZjMzNjk3MzI0YmIxN2ViMmIxNzgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyMzVjZjZmZjZjNGFhMTU0ZDNjZGNhOGI0MTdmNjUxMTdhZmU1MTExOTRhZTU4M2QzOWNmZDMxNDBhNDhkOWJhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F0dHJpYnV0aW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NDQyMjNiZmQ1NWI3YTVjZGQzZTE0NjgyOTgzNzYzY2Q3MWFiYjgyNjJmNGQ1NzlhMjczZjcwNDNlNDU1NTYyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3VzYWdlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE4ODNiNmQyOGQ3NDg4YWZmMDQzZDIwMWM2OWNhOWQ0OTRlYmVjNzkwMjM5ZTZlZGNkZWMzODEzNzJiZGUyMWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmM0NDBlNDkzNmQxY2MzN2Y4NWNhNzgzYTI0NmQ3N2I2ODljNTQwNTgyZWFiOTFkN2U0MTZkMWI0N2U5OGYxYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZWRiMDhlMTExOTUwOTNjMzFkYWVmZTllNmFhNDE1MWRmOTdmNjVlNjk5MmQ3NmFlZWU5ZWY1OGRmMTlhMzczOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pbnN0YWxsYXRpb24tYWRtaW4tcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxOGQyYmQ2NWQ2Nzk4MDEwMTdhNGIxYjkxZDIwNTA2MjExOWJiMzA4MWU1YWNkNjgzNWMwYTE2MDcwZGY4YTUwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW0tc3Vic2NyaXB0aW9uLXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNkOTg0Zjk1MTJmYWRlOGFmYTJhMjc2MmMxN2JlNzc0MjZiYTg2MzhhNDhlNTEwMDE4YmQ2NWVhMmMzNWJiNjciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2hhbmRsZXIuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzI4N2M0ZTBhNDAxN2U5MDhjYjY2MDg4ZWFlNDNiZTJlZGVlM2JlMWIwMTBhZGIwMjM3NzM4NDMxMTk1MmJhZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YTAzZmU4Mjc4NzIwNjNlOTgyMGE4Yjg2ZDc5ODQ3ZDc1NjQ3OTI4ZWIzZDRkMTgzY2MzMjcyMzg1YzJjZTdiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL2Nvbm5lY3Rpb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNzUwZDZlMGQ5ZmZlYmY0OWU4MDIwZDAwM2NjMzViM2RhNDkxNWU3NjkxZThmNTUzZGEwNmRhNjJmNTVjZTNjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3R5cGluZ3MvZ2xvYmFscy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0YzcyZTM3MjNkYmQ5ZGY1MmNmZmU2OGNjYjhlOTdkMzY5ZWY3ZGIxYTIzYjVlNWUxNmNkOWM1YjcwNDMzOGY4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYXN5bmMtaXRlcmF0b3IuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3YTA1NjRlMDUzMzY1YmYxZDJjZWIxYzY3YjNkY2E1NDU2MzYxMTliM2NlNTVjZjI3OGI3NWQ5ZTBmZTFkYjA3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVlcC1wYXJ0aWFsLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMWUwMTJhNzFiZjJmZGYwYjhlZDViYzA0YTQ0ZGE5Mjk2ZTg4YTM3YTAzOWFiNDc5Y2Q4ZWI2ZDMzMjk4ZjY3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9ub2RlL2Nvbm5lY3Rpb24uanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmZiZDc4ZDNmMWViZmE1NmZjODk4ZGI1YTcyMzhlMjIzOGIxNjc2ZTMxY2ZkNDM4YThmZTVmMDViMDlmMjZmYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmYjcwZGI4NThkZTU3NDYzMGZiNTU4MDFlMzQwMzIxOTUxM2EzMDk0YTNlZjBjZDkzMDg0OTM4MzFjZTM0ZDZmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9jbGllbnQtY2FsbC1tZXRyaWNzLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNTBmYWUyMWZjNjg3MTBhNTU4NDdhNTNkYjkyMjA3ODZjMWQ4ZGRmYzA0ZmUyNzQzZDNmYjM2MGUxOTNmMGI5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1mcm9udGVuZC1zZXJ2aWNlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjgyZjI2OGExZjZiZGM2MjhiYzYyOTE2OTNlNDE2ZTY2ODA1ZGIzNjc0M2YwOGU2MWQ0MjYwYmRjMDVjNjMwOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2V2ZW50LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhNTg1ZDIwYTQ3YTJiZjA5OGI0ZGNhMjVmNDBmNmVlODk1ZTEyZGU2MzNjYzI0ZjgxYTI5OWI1MmVmMTViZmMxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24va2V5LXByb3ZpZGVyLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI4NjYxYjY1NTUyZjdiYzJkZWJiZTU1MzBjMTg4MTMxOWRmMzk4YWQ5MjBjZjI4ZGRhZGUyYzA1NDIyYzA2YzkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9uaWNlLWdycGMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlNTE4ODMyMTM4OTczMzhlYWZhYTA1NzQxZGFjNjk0YjdiYWJjOGRlMDg1OTE5Yzc0NTdkMmIyZmVlOWM4NmM0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FjY291bnRpbmctcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MDYxNjlmODA4MDIxYTYzMmEwYjMxMTAzM2I5Y2JlMDE5MjI5NWY0Njg0OGNkNTlkZmM3MWIwYWVmZWU3OTkxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWNjOTA5YTUyYTU5MzIwNmMwM2Q2YWMxNWZkOTY4MmQwNTc4MTRjNzRmM2I5ZmE5ZTViMWE4NjBlNWEzNWFiNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2NvbnRhaW5lci1tb2R1bGUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzOGE2OTdiNGRiZGI1ZjFhYTg1ODk2YzE1N2QyNGNlMGQ1ZDExNWM3NGY0YWQ4YWY3MTI4ZDQzYjBkNTZhNTc4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFhMDdkODFlZjEyNGI5MDExNjIzMDMwOWEwMGRmM2M3YWRmZjM0ZjQ1ZGY1MGE3MzI1MTg4NzdhZDAwMDQwNWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYmxvY2tlZC1yZXBvc2l0b3JpZXMtcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM5ZDc5NDFmMDlmMzgxOWQwZGM2YWVhNzMzZDU1MzJkMTY1Njc0ZTc5YzQwOTk5YWYwNWRiZDY5NjliMjFjZWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFhYzY2MDIzZTgwNzhmMzE1ZGE4ODEwMTc0MDY1MzIxNDcxMGE5OWQzNzY0YTFiZDg3YzIwODVkODhhYWUxOWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4ZTVkOTM4ODRhYjRlMTBjYTU2ZjEyNTQ3ZTNkNzhiNGIzNGFjN2QzY2QyM2VjMjkyOGVkNmU0ZDMzYjBkZTE4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL29zcy1hbGxvd2xpc3QuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiZDJjNzUxYWU3YTE4MWVhZjNmZGUzOWQ4M2I1ZDZlZjFhOTE1OWIyMDA0ZDA1MzM5ZDM3ZTU5MDdiMzYxNjFlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDg0Y2FmNzllZmM3OTkyNGQ0ZGI1ZmRmZDYwZmM5OWNhMWZjNzBmMjNlZmIxODY2NTMxYjFiYmQ0YWMxNzlmMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9iaWxsaW5nLW1vZGUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhZDQ4ZDkxYmRhMGNlZjZhYTM5YTFmNDc2MWVkMDM4OGJmOWNhZTFmZDE5MjY3M2ExNGE1NWMxOTZiOTAwYjIxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL3dpbmRvdy1jb25uZWN0aW9uLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjlhYmYzYjU3YmM4MzQ2MjcyZTE0ZTQyYTIyYWZmZTIwOWRjNjNjYmU5NWM5MjAyN2E2NGM2MjRkYTAwNWY3NjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTc2NjUzYzQwYjAwMWZkZTU4YTU5ZDJiMjkyYTRkY2FkNWQxMWRkYzQwZjMyN2RjN2UzMGVhZGZjYjhjODhlMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjRiZGM2YTc5OGE1ZmNlM2U3NDAxYWJhYTNlNjBlODA2N2U1NzgxZTk2NjdmN2VhYjg2YzQ2MGNjMTQwM2U0YmQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kYXRlLXRpbWUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBiMmQzYmZkZTk5NDU4Mjc5MmNiZGQ3M2QyNGU5M2RhOWEzYjczYTExZWY4ZjUzNTY3NWQ0Mzk2MGFhNjBmYmMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2hhbmRsZXIuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE0MzczMGQxNzcwY2I2NGMzMzYzMTQzZmI4ODY3ODMyZWU4ODdhNDAxYjhmYjUwMzAzNDYyYzQ5MTZjYmU5MTIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL25vZGUvY29ubmVjdGlvbi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNkNDE4OTlhYzI5ZTdmYjdlN2NhNzExOWIzZDJiN2UwZDE1MzUxMDY2YzE1YWMzOWQwYmM2OTZmOWY4ZWQ2ZDgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvY29uZmlnY2F0LXNlcnZlci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3MDMwYjU0YTY1YWE3OTgyY2I0ZTZmNmRlOTczYzRiZGU0MmZlOTAxNWY0MWYyOGNhMGQzZGQ1M2Q1OGVjYTQyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRmODIxMDdkODFmZjI2NTY4NTViZThhNzRhNDRkMDQ2ZWEyNWViMmI3YjBmZWViNmMzZjcyM2Q2NjgxYzY1MTMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kYXRlLXRpbWUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjg3OGJlYjBmN2NlZjJmYTg5MjY2NTVlNWM1OTkwYzA5YTZiOWM4MGMwNDE2NjEwMjRiYjBiMGJmMjJjOGExOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmE0NGEyNjVjZTYxZDZhOWQ4ODc3MzI3Y2YwMzE0MDExOTZlM2YyYTU3OTlmNTU1NjU3NjYwNmM4MGZkMmQ4YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvY2xpZW50LWNhbGwtbWV0cmljcy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjRiNzRkZTcyNWMwNzEyODg0NTRiMzZkNzc3YjEyZDdhMGU1YTkyYjA3Nzk2ZWIyN2NiYTk1ZWMyYTY4YWQ2NzIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1NDkyNmNmM2QwOTg3ZjQzY2I0NzQzZjFiZDEzMTRlYjU5MmQ0OGNlMTM0OGQ2YmYyODIzNTNjNzAxYmJhZWEwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dlYmhvb2stZXZlbnQuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyNWRiODA2NTRlYzE4ZjIwNTllMjRlNDFiZjM3NzFjMmRmOTk0ZTRlM2EzNDViOTIwZWExZmNhNjFjZjZmOTE4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2tpcC1pZi5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTAzOTFkZGM5NjkxZTk5YmUzNWNlZGQ1MDdjZmI3MzdmZTUxNmIyZTBhZTA5NzRhZGI3MzIzNzQ5ZWZlOGQ0ZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtcy1wcm9qZWN0cy1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzNmYxZTZlZTUxMmM5ZTJkYjgyOTZlNTU4NWZlNjU1NGI3NTg2OTYzY2ZhNDczOTc5ZDQ2ZDYzYmMzN2ZiMDBmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWQ0MGE1NGJhZDIzOGE2MjczOGFhMDRmZTQ4NjdjYzBjODEzZDljMWFhYjIwYTFlMjhhYTk4ZWI2YjA1MTEwZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9oZWFkbGVzcy13b3Jrc3BhY2UtbG9nLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0NWI3YTAzODg3YTBjNGRkNGY1NGNjMTQ4NzZjYmRmZDUwOTU4ZGZkNTQwYjE4Y2Y3ZDY4YWFiY2Q3ZWY2NDIyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVmZXJyZWQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTQzZGUxNTUyMDExMTU5MTcyZGJkNTFkNGI5YmQzNjBjZDUzZWVhNjBjZDFhZDA1MTJlMDQwZDFlNGQ1MmY5YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93c3JlYWR5LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjRiMTk1Mzk1NWVkMTY3NTlmMDI2MWIwZTgyZGEzZjNmMmI2ZWFhYzA2MmY1NDhhYmM5ZDc5MWEyYTUyZWM0MjkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWVwLXBhcnRpYWwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTZkOWQ4ZDJhZjg4Y2ExNzIyNjRlZDkwYTk1ZGRmYjM2ZGU3MWZkNzE1MWExNDRiYzY0NjNlMDZlNWY2YzEyNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pbnN0YWxsYXRpb24tYWRtaW4tcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmE4MTI5MzBjMGEyMTQxM2I4ZGVhMjgzODliZmY5NmNjNTFmYWQ3MzQ5ZmVjMzQxODNmODUxNjBiNGI2ZjUyOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90eXBpbmdzL2dsb2JhbHMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjM1NDUyMGUxMzQ2ZDg2NzRjY2Y4NTEwNjk1NDU3OTllMDRiY2QzMjUzNjk4NGQwNDI0MDRmODIyMjE0MjJmOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2V2ZW50LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNhNmJjNDI2NTNiMzAyNzRmOTU0OWQ4NWIwMWQ2ZjlkMTNmNzhhNmQ2MjllZWRkNzg1OTNjYTRjNTNjNzM1YTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2hhbmRsZXIuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YTc0YTg4MWE5OWI2MjcxOWE5ZGExYzFiM2IyNmVlZTIzZTQ5ZTYyYTdlODdjNjc1NTkwZGEwMzk1NmUwOTNiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODU3ZmMxZDE4NjMyNjZlZDE0ZDk3NjdiYzJjNTczZjQ2MTdmMjZiMDU4YTlkNDYyMzI4MGZlNzM1MmUwZTcyMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjRmYTdhMDY4NjljNzg5ZDI3NDZkOTllYmNkY2RhMjg4MWI1NzBlMjk5NTI5NzdlNmI3ZTRiYTdjNTRiNTVlNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL21ha2UtbGluay5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiODY2ZWQ3ZjEwYjY2MmRlYmY3OTM2NjQwMDEyY2YyYTAyNDZmNzlmNTU4MTA4ZjNjYzQ3N2E0ODM0Mzc1OTFjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVidWctYXBwLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVhNDhhM2ZmZTMyY2RjMzVhZDRiYTEzYTdlYWU1MjVmMjIxM2JjM2MxYWNiYjhmYTljNzM3ODAyMzI5NzFlNTciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLXNlcnZpY2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODVlYjM4YzIxZjBhN2I5ZmMzZmJkNzE3ZjdhYWFlOWFmODYwZTdlNjA4MjBlZDA1ZmQ2ODMyNzUyYTI3M2QwZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9ibG9ja2VkLXJlcG9zaXRvcmllcy1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0YTU1NzczNzg1MzdiZWFlNzFjMGM5YTNjOTc2ZTY0ZGVhNjY2YWU5NjI0MDA2MjM3MGQ2ZTBhZDE4NWRiNDZjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1pbnN0YW5jZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk5YzY5OWEzOTFjNGZiNmJhYjdhZTM4YzcyNmU4MTk1N2ZmMzkzMDA3YTJlYjQ4NTJhYjczMjA2NTBmNTFiYzgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbGljZW5zZS1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjIyY2M2NjZmY2RjNTY1ODA4NmVjOTE1ZTE4NmQ1ZjZmZDQ4YmRlNTNjN2U5Y2M4MDI3ODUzYTZkZDRjZGQ1MTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL3Byb3h5LWZhY3RvcnkuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzk4ZjBkMzBjOTBhOWMwNTYyY2RkOWZkMzk3ZDk3ZjA1ODUxZjYwODhhZjdkZjgwMmNmNzZkYWI3YzhjMmI4ZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbnYuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjcyMmI5MjNlNGM1NTJlNzkxYjczYWVmM2RhYTBjNDNlMDMwZTU5ODM2NTk1ODkzMThkYmY2Yjc2NjQ1OGU4MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93ZWJob29rLWV2ZW50LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjMWU4OTlkMmM2MTZlZGJiZjhiNzE0ZjBlNzZkNTk5ODJiYmEwM2U4NGJjNzdhYzlmMzJhYThkZTNjNmJkN2Y2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1jbHVzdGVyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1ZmU0MWQ2YmFkZGVhOTU5MjU3YjM2NDhlNGUxOTg0N2RjZTBiNmU2ZjMzN2E3OWQzYTRhYzI5ZWZkZmZlY2UzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNlOGUyNDY2MjY5Nzk3NGM0ODIzZjYyZWZmMWQxOWMwOTliNGVkZGUzNmIxZTU4ODhlMzcxZWJiZWRjNDA1ZGEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXNhZ2UuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmOTcyMzA5YjdhOGFmNjJiY2Q3YmUyOWNmODZiZjg4ZGVlYmM4ZjY3NWI2NjIwYTA5MjU5NDg5ZGQ2M2QzY2E0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDllMmE5MDIwMWRhYzdjZDI3NTRkMzFmNGMzNWVlNzE5Y2EwOTc3MDY3MGM1NDdmMzljNDk3ZTM4ZTliMzhlYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wZXJtaXNzaW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0OTM5NDBlZGVkY2NiZmM0YTM0ZjgzYTM5MGM2ZWEwNGUwNDY5MWM5NTk5YmMzMjBiMTU3YTI3ZGMxOTJlMjZmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1mcm9udGVuZC1zZXJ2aWNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNhNDVlMjVhNWQxY2VkMDllZjFiNThlNGE4ZDhhOWUyMjBiZTY0ZjQ1YWViYzMxMjhiNTU0ZGE0YzQzMDg4ZjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzkxOGVkMDQyOWI0M2E5YmQ2MTUyNGY2YWM0Y2ZmOTAzN2JlYWE1NjQzYTU1MTI4ZTY5YTAwZTQwODliZmQ3YyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtcy1wcm9qZWN0cy1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI0MDIyYzA4YjEzNDMyMDFkMmZiOTU5YzUwODQ5NDUxM2FmNzk3ZGZkMmVmMjExM2JmMTc3OWU4OGYwZTcwNjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjNjhhZTEyMDA1OTgxOWUwZWM2ZmYzYTQ4N2Y4NDgzOGE5NmJmYzcxZTc5MGNlZGZkYzdlMmU5MjM3ZDk1NmNmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3R5cGluZ3MvZ2xvYmFscy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY0NzFlYWRkNTczMGU2YWIxYWJkN2M1ZGJjNjZkZWExNGMzMDNiYzExMjBiMGIwOWNjYTA2YTQ3NDRhNTQ5MDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLXNlcnZpY2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjUwYjc5YmI3Yjk4OTQ0NjA3MGMzODcwZTc0YTliMTBmNjFiZWZjNWEwOTNmYWIzMWVlMTE1NzEzNzFkZjNhNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci9jb25uZWN0aW9uLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZmNDgyNjY4MTI2MWRhZjAxMGZkMzE5OGRjMzE0NGI4NmEzZGNhZjM2MTQ4NTU0NWJjZjU1ZWJjOTlhYmU3ODEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ncnBjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjAzMzk1NjgyZTk5Mzg4N2U5NTA1OTRkZDVhMWY4Njc3ZmEwZGYwZWIwYzQyYmRmYzc0ZTZiYWUyYjk4MWU3ZDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYXV0aC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3YjI4ZjEyNzlmZDdlZjAxMDc3ODZiY2QzNzAxOGIwZGYzZmNlY2RkYzNlOTBmMTk2MWM0YzUwZWEwMmQ2YjU3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVidWctYXBwLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhZDViMWUzNzg1ZmQ0N2I0OWQ1YThmYTA5M2Q3ODg2YmFiNjI4OTdlODg2YjMyZmNlZWQwMjczMTc4ZTJkOGUzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9wcm94eS1mYWN0b3J5LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmQxOGFiYTAzNzAxNWM3NzdhOGFkOTY3Y2IxZDFmNzlhMDg5MmE5NGQxNjBkYTY3ZGUzMjcwNGM2ZmUyMTNmYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU2NjU0N2VkNmE5OTYzNTBkOTZkZjVkYmYwNzEzMjdlYjNjOTA1MjJiODc1OTY4NzljMTU3ZjcwOWQxNzYxMjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW52LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjlmMjU3MTE5ZjFiNWVlMTYxNGZiN2I1YTBmMGRhMzI5NTE3MTc5Nzc3Nzg0YjQ4Mjk5ZjU5YWIzNzExODZhYmMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2NsaWVudC1jYWxsLW1ldHJpY3MuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2M5MDVjZTYwMDlhNDUyOGMyNDU4ODRjOTQ4N2YxMmYyNTY2Yzg4NTA3NGU0YTEwYzcyMGFjZDE4NjM5MGYzZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tc2VydmljZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMmVkMDBiODk4MjY5MTU4MmViZTg5OWVhMWE4NmMzOGNmYTljYjNmM2E1OWUxYWFjMjM4OTQ0NDZmOWJmZWM4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F0dHJpYnV0aW9uLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTNhMTMzZWJmYjE5YmEzYjY0ZTBiODBhZWY1ODE1NzRjYTEyN2M0YWFkYWJlYWY5YTRmZDNhMTE2ZTg2MTk5NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWNlNjczNjYzYmU5ODJlZTk5Y2Q5ZTg4ZjFiZDNjMWFkZjI5MDAyNTlhYmIxMjg0ZDIzZWVhMmFmZWMyYjk4YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc0MzYxM2VkOWNmNWMzMjM4ZGRhMjQxY2NiOTY3OWE4MTg1ZmU5ZmMzZTVlZmY2MzkxNTUxOTgzNmZiYTcyN2UiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hbmFseXRpY3MuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmQwZGU2Njg4NWEwMDI4NGM5ZDEwMDRkZGRhMGVjOGFkNWYyYzhiZThkMTkwMmRmMmMyMjA2NTUwMDE1MGQ3YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91c2FnZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjY2IzZTg4YTg1NzQ5OWMxM2FlODdhNDU0NTA3MTYxZGY5MzExMzdkMmZjZTNlYzg4NDdiZjI5NjRlNWYxN2UxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vY29udGFpbmVyLW1vZHVsZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzZTM4NzdmYTQyNzhkOGUzMmY0YmJmMDIzY2YyZTkyZTM0OGJlNmZmZDZkOTVlZWYwM2I1MGM5ZGJiNjUzMzkyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FuYWx5dGljcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMjAyZWIwYTMyYzAyZTg4YjNjYjllM2MyNzYwNTY0ODQ5OWRjYjgwZDE0YzAxNWQ0MGQ0MDI0NzEwMTdlNGEwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2FyYmFnZS1jb2xsZWN0ZWQtY2FjaGUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmU4OWU5ZGQ2ZWYzMzAwYzMwYWI1NTE0NjZjY2NhNjAxNmU0MmQ0N2JkYTU1MjQzNzMwM2UwNTFhYjQyNzUwMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL21ha2UtbGluay5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDNmZjQ2M2FmZTk3NWQwNWVjMWYzMjM3ZWUzMGVlYTM1MGIyNTU1OWZjYzEzNGMyNGVmYTFlNjNmNWI3YTlkMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdHRyaWJ1dGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmZDdjZGNlN2RiMDIxNjNkNzdiNTE3ZDJmNTQxNjRkYTgxNjFlMWVmNzI1YmQwMjg5NGExMmIwNmM2OGJmMDAzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24va2V5LXByb3ZpZGVyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NzI5ZTNhODMzODBjNmQyMjEyMjI0YTJjZTVmMzAxY2YwMDVkOWYxZTEzNGUwYjgzYTQyMjFiZWJiMDkzOGY2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9jbGllbnQtY2FsbC1tZXRyaWNzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRkYmRkY2E0YzQwZjY5YmViMWJjMWNlNDY0ZTdjNDJjOTM1MDJlOTk1NjVhNGE4YmE3Yzg0NGUwZjAyODQwZTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9sb2dnaW5nLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc5YWU2OTAxYjQxOGRiZGYzNGY1MDg3ZmUwN2IzNzU4YjkxODk1N2MxNmI1NWY0MTlkMjM5NDk4MGMwOGMwMmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvY29uZmlnY2F0LXNlcnZlci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ZTYwMTI2MDZkM2QxNzk5NDQ3Y2MzNmQzMjE5MjQ1OWEyYzFiNjY2MDlhNzRjNGEyZWQzMjQ4NWQxMTZiMWMzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW1zLXByb2plY3RzLXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwM2M4N2Q3ZmRlMDExYWU5OWMwZWQ5ZGZlMzU1YTc0NmViMDQ2NjAzYmEzYWViMTRkMzJkYzUzNDRlNTU5OTQwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiZGVhNjdhY2VjYTI3NGViNGE0NWYxNDg2MmZhMzMxNzE0MmE3ZjM2MWVjZTlhMDUyZjRkODhmNTc2ODYzMWM1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhN2ZkMDI5M2Q1MmExYTI5MGZkNzcyYTJiNzdlZDZjN2I4ZTJmZjRiN2NmNTUwNGEzMTQxMDNhMTFlMDBmYzk2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZjMmZlZDE5MThmNDUzNTA4NTNiOGUxMzMxYzU3ZjQ4ZGE4Y2EwZjZlNzI3MDIzODM2MWVlNWY4NTk3YjIzNGQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXNhZ2UuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM2NDdkNGVmN2U1NjRlMWI2MDJkYjBjZGNhNGIyY2YwNzk2YzA1YTg1NjQ0NzVmMmU1Yjk4YzVjYjc5OTlhMWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5zdGFsbGF0aW9uLWFkbWluLXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjYzA2YTgyMDViM2I3YmM0MWNiMjQ2NDUwNzUxOWUwYzZmMmJiMzJmOGQ3Y2Q3ZWU5MjE5YjRjZGU2OWMxNmE5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2JpbGxpbmctbW9kZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmNjFjODMxZmVkYTkxMDk5NGI1ZDI5ODYyYmMyNGZjMGQ0YjdiMmU3Y2ExN2Q4MjNjMzVjYmFhZWNkZTdlOTllIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbWFrZS1saW5rLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE5OTk5ZjRlNmZhZjBhZjdjMzRmZTQ5YWQ0NDQ0MmU5MDlmNjE1YzJkYTE1ZmE5NTBkZjFkNTNmYTNjNmIwMjciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGJjM2M4YTIxNTAwMmFhZmM5MjQ2ZmVhNTZkNmM4OGY4OTA3MjE3MWM3OTM4NmQwY2QyZDJhOTRlNmQ5NWQzZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9jb25maWdjYXQtc2VydmVyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjODhhNTViNjBjNDg2YTMyMzZmYTFkNTI5YWY0NThlMjJlNTMwODY4NDAyMjE3MzFjYjBjMDE5ZGIyYTQ3YTI5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2V4cGVyaW1lbnRzL2NvbmZpZ2NhdC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhZDRmNjM2MTlmY2M5YWRhMjk4MWRjMDFjOGZmMWExODYyYmRlOWUxODAwMGZmMTU0YWNkNWYzYTI3MDBkZDExIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2hlYWRsZXNzLXdvcmtzcGFjZS1sb2cuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiN2M0YWIxNjc5ZWFjZmMyODZlOWY0YjQ0MTEzNjJjNjFlZWQyYjE5MGQ5OWJhZGNiZmQwZTUyNWQ0ZGEyYjNiZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtZnJvbnRlbmQtc2VydmljZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWFhZDNmMThmYjA0OWY5YTUxM2MwYzg4MmRiNGEzYjFhOTQ4M2JlM2NlNmY0MjEzYzgwYjAxMWI1MWYyNmQzNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hbmFseXRpY3MuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTlmNTI0YjM4ZTkzNTc0M2UxYWE3NzQ1MGRiYzJjMzZiMWExY2VkZDA2NDVlYWI4ZWY2YWM3N2YyOGI0ODM1OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY1ZTY4NDI3YmFmZWU3ZWFhODUxNjlkYzM1YTFiNWU3ZGJmZTZhNjNmNTRmOWIyN2NiZDBiNjMzMTg0YzJiNWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDJiNTJkODVkYWQxZWY4ZTkwMTIzZjc5YTk3YTNkYzViYjdmYzJhNmJlMmIzNzUzZTUyZGEzOGI2ZWU0MGI3ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pbnN0YWxsYXRpb24tYWRtaW4tcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDcwMWU4ZWM0ZmE1YTU1NDdkMGExMjEwMzczYWFlZTA1ZmYxOTg2OWFlY2M4NTEyMGQ3ZmY4OWQwNzRiNDYyMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZmVycmVkLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE4OGU4ZWViZmQzODkwOTkwOGUzMDhjNjA4NmJlMzRjMWRjOWFjNTM4YmEzOGY4NTVlOTAzMDFiNzQ3ODQ5MWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ldmVudC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4ZmIwYmUwYzJkZDYzMWRjYzI5ZWQ3MmQwZWY4ODExOTg0MDA0YmNjZDExOWZlNmEyNDVkYTQ5NDA1NTBhNzUzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5OGNkZTU3NWRkN2YxODExNDAzNDliMjE1MTk3MTlkY2UzZmRiMTFiNjFjMjQ4OTY3MTExODMwZDQ5YWIxNjNhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9wcm94eS1mYWN0b3J5LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiODYyYTY2MjViYjYwMWQxOGI2NTI1ZmFkOGJmNzgzMjY1NTIyMmJjMTk1OGVmYzU5YzViMWE1YTBhZDg2MTgzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMyZjU2ZWUwYzc1MzljMzlmNjk3MWVlOWZhODFjMDQ1MGRmZjQ0YWEzZjAxZDY2NmM4YWQ2MjI5YmRmMzM0NjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsYXNzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzk2YmJmNzFmOGNjMmI1N2I2YTUxN2Q0ODBhMDBhNjIxMWE1ZTgzYjE4NjQyOTYxY2EzOTE5NGI3ODIzZDdmMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wYXltZW50LXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWM4YTM5MDczZjZkZWY5ZmYyOWYyMGUwZjljMWQ2NGNjM2YxMTg1YTUxN2Y2YjAzNmY2NGJlMThjZTc3NWQzNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wbGFucy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDZjN2QxNmE3ZGNlMjgxZjQ3MWI4YTcxZGQ5YzIxOTNkYmY0ZWUzNTk2MTc4MzFiNjE3M2Q0MTA3YzhlYjcwYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2phZWdlci1jbGllbnQtdHlwZXMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MDFmYmY4MjdkMGIwZTgzNmI3NmVmYzc5M2FlNDU4MzlmZGIxZThhNjUyNmEzZjI3MDE2ZDU3NWU0ZjM4N2U1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTJiNDI4Y2M2YTdlOWIyNTY1YzEyM2M4Yzc0NWQwOTRlMzA1MmE0MzY0MmVjZjliMjk3NDQ0YjBiZGJjMTU0NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dhcmJhZ2UtY29sbGVjdGVkLWNhY2hlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY5NjE0YWE2NjViMjIxOTY2ZjFhZGI1N2UyNmFmNzViZjYxYzliNzgzMDQ2MjA1Mzg3NTQ0MGNhOGExNjk3YTciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL25vZGUvY29ubmVjdGlvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzNThhZWVhNjVmZWRlNDEwZmI5YjcwNTY1OGYzZDk0MjAwOThhMjRhMTU1OTc3OWUyODBhNWNiMjRkNjM0NTQ3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1jbGFzcy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODVjNjZlM2Y0NThmYTRiNWM2MTE1M2ZiYjhmNGU4MGZkNGU1ZGU1MjBhZTg4NGFhMTU2NTc1NDI0NjI1Y2YwOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9ibG9ja2VkLXJlcG9zaXRvcmllcy1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg1NzAzN2Y3OWMzMzI3NWIzYWU0ZmI3ZDYzZmY0NzI4ZWMxMjBjN2VjM2FhODliOWU3YWZlY2E0ODY2NGJlZmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMxYzVkZjlkOTk0OTJmY2FiOTQzNzY5OTY3NTJmMTE3NTkzZDYzNTFmMDZlZWEwMWY3N2RlMWYxYTdjMjU4NDAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9uaWNlLWdycGMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTdmNDcxNTlhNWYwNGZiZDg3ZTYwZTRlMDUzMTlkYTc2N2I0YWUyYzRjZGM2NmNjZjBlNDBjNGM5YTcyOGQ0OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dhcmJhZ2UtY29sbGVjdGVkLWNhY2hlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiNGQ3NmUyNTlkMDQ3ZmRiMTQ0OTE1OGJiNGRlYTdhNTZlMmIzMjUwOGE1MTgxYTU3Njg3ZDhlMjk2MjkzNDhlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luZGV4LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQ0M2RjYzdiNDMyNDc3ODM1NWQxZjMzOWNhYmFhZDg2YjZhZDEzZGM2ZjI2ZTM4ODlkOGU0YTkzYTE4MDdkNjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbGljZW5zZS1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTVmMWE2NWQ4MzM3NmUwMDMzMjgyNGUzYTNkODgzYTYxOTk3ZjUxNzgwOWM1M2E1MWQ0OTU3NzZiMWQ1MzEzMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL25pY2UtZ3JwYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3YThkZDc3ZGU5YWUxYWVkYzlmMTk2YTc0ZjFlNDg2YzAwZjFkNmUzZWU0YzI4ZGZmOTQ1MWRhYjdjMWY0NGVmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BheW1lbnQtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjc3YzNhZmUzNGViZWRhYzMyNTQ5YzQxMWRhZTAwMTJjYzg4YjIzY2JmNjk4MWUzNDExNjUwMDI2NzcyZmViZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvaGFuZGxlci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3YTk3N2UwNTkzMzhmNzE1ZGY3MTU3MGRlYWZlOWMyNzlmNzg0MDAwZWZlOGVkOTQxMzNmMWM2NzhkMWJhZGM3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2V4cGVyaW1lbnRzL2Fsd2F5cy1kZWZhdWx0LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTIzYTI5NmNiMmU4ZDBkYWU3ZGYxNjE1YjQ4MjFiMjRjYjhlOWRmMDhiZDk3MzE3YzE3NjUzYzliZDJlZmI4OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjAxMDM5ZGRiYjc2ZjJiNjliYTI0OWMxMjUyMWFiMjllNDdhYTk5MmM4ZWIwNWViMGUxNzczMTU3ZTlmODk4NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy90eXBlcy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRhMmQyYTdjMDZlN2JkODA3OTc0NTUxMDU1NzRjMjRiOGI1MzFhY2NlMjIwM2U0NjViNjhhYWZmYWMzYThhNTYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvd2luZG93LWNvbm5lY3Rpb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3ODY3ODhkYzhkYzljMDJkNGQ0NDI3YTZmNjJmNGM3MTg5NjI1YTA3MWE0YjBjOTUyYzhjM2JlZTA4YjU4NjE4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BsYW5zLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJmNzRlNGYyYzZlYzNkMmE5YmUxZTgwNTg3Yjc4NDVmYTZlMmQ3NjMxODg2MmFiMTEyZjA5NDAzOGVmNTM1YjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9sb2dnaW5nLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk1ZjIzZTZmZThjNTMwNGE4NTU1ODFmNGQzZmQ2YTI0MTdiY2FjODAwY2YwNjhmMmFiYTkzYWIwODEwNTM1MTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhOGM2MDIzNWNhMTMwZTlkMjA2OGI1YTk4ZDk3MWE4ODY2NjQwOGI3Y2QxNjAzNDdkMWMyYTUwZWUxNGViNDFlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZXZlbnQuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5OTE1NzI0Yzg4NDQ0Zjc4NDA5ZmI4ZDhiZjNmOTg4ZjU2YWNiN2M0YmUyNzVmZjhjMzEyYjFkMjc4NmEwZTIzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2tpcC1pZi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NzUzNjViNDI5M2M3NzQzY2E1NGZhNDg0YjA2ZGViNjc3YjVmZGI1ZGNjNGI4Y2Q2OGRlYTE2NjZhNmMzMjFhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Vudi5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjE1YzdmY2E0NDE4ODU1OGY0ZTQ4NzZiNGI0ODYzMTUzMzA4M2M5N2Q5N2Q1NzcwODRmMDk5ZTBlMmM4NGMxYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FuYWx5dGljcy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc0NDI0NzlmYTUzMTZlZmY2MDk2OTU2OTc3NmM3ZjE3N2VhYmE3MDAwNzA4ZTFhOGViY2VjMGI0YzFmOWZkNTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5kZXguanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWZjMGNlMzJmNGUwZmI4Y2JmZDNkNzEyM2JhMjU1YTUyZWZjZTcwMTQ0ZGZmNjFlNzU2MjI0OTY4OGI0NmQ2YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzliZWQxZDVmN2RiNjMxYjg5NjczODA0MDRmMTI0OTAzNmFhZjI0YjcxZjM1ZWE0NmQ0YTk0MTZkY2RhOGQ3ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wYXltZW50LXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdmMmQ0NjczOGI5MTczZDNiNDNmYzMyZTMyMGFhZjE3YmRmZWQyNWRkOTk2NGNmMTc0MDkyNTIxY2RkYmIyOWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9zZW1hcGhvcmUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjY0ZTc4NDQ2M2EwZWYwMWQxYjliYzE5MWI3Y2UyMTEzYzEzZjkyZTgyYmEwMTQzZTJhYjJjMDU0MWJhZjI1YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tc2VydmljZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImYyNTkwODQyZGQ3NjdlZjkwOTU3NmJiYWI4MTEwNWY1MDQ1OTRiNDZlY2JhOTJkNmJmZmRkYTBlNjZmMGUxMDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MDUzNGQ1NTg5ZTVmYjc4NTdlODQ1NGUyNjM2Nzk2NGNmODAxMzg2ZDFmYjhmYzA1MTVjZTJlNDFiMTA5ZThlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY0YmFkMjQ4Njk1M2VkYTFkNTZiNWE2Y2VjOWRhMWUzMmJlYWM1NGEwNGUxYTBjMzQzNDE2MWM0YTc2MDA1OTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWNjb3VudGluZy1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZmE3NzM2NzEwNTg2YjA5Mjk2ZGJmYzk2NmFhNjZlMDAyNTlhNGU4MzNhMTEwYTg2NWQxZWZhMjhlODk5ZDFkZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTM2NTk2YmZmYWFlNGNjMTRmMGVkMmE1ZjkwYWY5MWFjODljZDhjMmYyZWVjMzA3MjczNWQwOTAzZjY4OTA3MCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZlMTQzM2Y4NTM0YzUxNDZiZTA1MTk3ODc2NzRmNTllOGEyZmI5OWRlNmUxOTNiMDcxMTljNTU5MDA2MDE3NTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC93b3Jrc3BhY2UtcG9ydC1hdXRoZW50aWNhdGlvbi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI1NjljNmQ3NWFhNDgzNWIyOTIwN2JmZWI1ZTJjMzkzZGMyYTVkYzUzZGYxNGQ1YzVlYTAzOTQ4OGZiNjAyNGMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9jYW5jZWxhYmxlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZWRmNWJjNTM5MGJkMzlmNGZhMjRjMWRjOGU1NmM2NWE1NWIxYzUzYWQ4N2NhYmMwNTZlZjJhNGQwY2ZkYzI2OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDliYWJjNWI0OTM2MDM5NzVkODhkYWZkZWM0ZWI5MTVmNTUxNGQ4ZjBhMjZiZjRkZjBiNjhiMDUwZTJiMzU2MyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtZnJvbnRlbmQtc2VydmljZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyNzA5YjJjZDQwN2Q3MzQwNGU1YmI3NTdmMzRhNTIxMWU5Mzk4NzhiNDRkYTJkZjk0MjJmZWFhODY1YWVhYjU4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbG9nZ2luZy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM5YWQ0ZDg5OWNlNTg4YTBlYTVhNDFjY2IxNjk0ODQ1NWE4M2YwNDU5YWZmNzRiNTI2Y2ZmZDQ0NDRhMzY1YzAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvYWx3YXlzLWRlZmF1bHQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWE5MmIxZjFmMzY4YjVlMzg0OTExMjgyMDJlYjMxNzM4MDVlY2JmOGI2NDhiMzg5MDA5MWZhZjNjN2U1MDY2OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyOTY2MTcxNjA1YmUzNDRkZTc3YzJjOTM4ZTQ2ZTQxMWViZTM3MWJkMmI5ZTg4ZDFhNzRlZmIxOTIyOTQ5OWY3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE1MmVmYzkxYmUyOGQ2Mjc3ZjQ3NDAxOTQ0MGMyNmZmYTcxYTNhYzgyOWZjN2Y5OTM4ZWU1YzA4OWZjOTI5OGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFlOTkxNGY3YjJkMmMxZjg0YjliMDk4ODVhYTEzNzFiMDg3YzE2YjE3N2Q4NGY0ZDFjNjA0ZjJhNWE0YzgwOWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsYXNzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjEwZjU2MDI5NTI3YjNiNjRlNWY2MGEyMjI0NTMzYWZmOTZiOGI0NDYzODVhNWVkNWQ1MjQzMjU3M2ExZGU1ZjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNGY4ZDQxMTYxMWIwYjIxNDRiOWQ5MTEyYjFhZGQ5YjQwMzIzOWZjNDg5YzQzOTIzMGJjYTYyYzgwNjVlZTQzZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0ODFkODAxMDcyM2Q4NDIyMGFlY2E4ZWM0MjRmMjYwZTIwMWU0MmQwODZkZDBhNzc0NjBmOTFiOGUxMTI3YWQzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2JpbGxpbmctbW9kZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjODkyODNlZjdjZjdiYTM1M2ExMWZmNzllZDZjMGU0YTRjOWM1MmNkODdiMWUwNzUxYTZkMDMxODU3ZWIzOWY4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BsYW5zLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk1YTRlZGEyNGVhMDk2ZTc4YjNlYjU3MmI4YzY4NmNkNjU3NzI0NTY0YWRmMDc4NDU0NzFjZTc5OGEyZWQ3NTUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvdHlwZXMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWQ0ZmIzNWFhMmIwZDY4NmIyODM5NWI1ZTQzNTFkMGEwM2EwYjFjM2Q4YWIxNmViMWQ2ZWNmOTNkZjE3NDNkOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDAzOWZlYjYwNDEwNjZjMzQ0NTExY2VmMzVjYzllMjZjOWUwOTkyYTFiNzEzZDE5N2Q2MDY0MTkwZWY2ZjYwNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTViOGExODM2ZmFjMDRmYzdhMzg2MDhmMjQ0NGJiODZmMzBlNDJjZTJiZDhiMjhmN2MxNWVhZWI0NWMyN2NiMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9hbHdheXMtZGVmYXVsdC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTQ3ZjZmNzczNzg2YjA3NjBhY2UzMzc3OWZkNjFhYThjZWUzMjBmNjc5MTY1OGEyNzZhMzQ0YzNkNmMzMjllZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wbGFucy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRjYjljNTc2ZmJhZjhiZjZjZjgzNWVmOTk4ZjA4YzMwNTBjNzVmYmU2OGVmYTIwMjAyZmRhODMxOTYzMDJiYjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI5NjFkMzA1MDMyZTE1N2FiNmUzYmJlMzdiNDFhYzRmMWQ0MzBlYzUyMTM2N2YwYThmMjI4ZWEzZTk3YzAyMzciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd2ViaG9vay1ldmVudC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiNzY3ZTMxNDRiYzBhZGU5ZThmNzY2OGRhNDNmNDMxY2NjMTEyNTVmNWJhZTU2YjkyMGY0NTVjMjk4NjQ3YWUxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk5NDIyMzU4NmNhNThiMzNhYzUzYTE1ODZkNzg1NGFjYjM3MjY2MzlhYzNlYTYzZWQ0ZmJkMTIxOTk1NWM3Y2IiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOGYyODhlZTAxOGQ3MmUyNmI4ZTI3NTU2MTQ2NzBkZDhhMmU1MmRlZDE0YzM1NTM4ZjI5NTgwMmY2YzQ5Y2EyZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hbmFseXRpY3MuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyYTZkMDJmNjJhMGRiNzA1OTAzMGRhYzc3NGUxMGY1NzczNWQ4M2RjNzAyMWU5NzdlNTg1NGQwMGFmY2IyMzczIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FuYWx5dGljcy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDRmYWQ3M2Q1OWQ4NTQyYmM1OTBkYzNlZGM0NjAyN2RiYjEyOGZlZjNhM2E5ODZjZDIxYWY5Y2ZmZDA1ZTQwZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtLXN1YnNjcmlwdGlvbi1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjY5MTY0ZWRkMjYxN2FjNjA5M2YyNDc1OTMxOWQxYWI4ZmUwYTBhYTE3ZWY3MjkwZGQ1ZDhiYWFlOTc5ZDhhZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9saWNlbnNlLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY0ZWFmMDllMjVjZGI0NjAzOWNmZDA2ZjZjYTExZjkzYWYwN2NiZmZiNmMzZjZmZjlhOTU0ODk2NWFjZTA0NjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvYWx3YXlzLWRlZmF1bHQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTU0NTM1NTFkNzBiMjY3M2QwYjUzMGI5NzFjMTMzZDQ5ZmQ1MWVlMWVhMzFlMDZmMDMzYjRjMzI0MmUyMTdhMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlYnVnLWFwcC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjczZTA3MjJlZGJlYTJiMTJmMDlmNjJhNGQzM2JlMmMzMmZiYmMyM2U2ZWI4ODBiMzc0N2M2MTE5YjRlZjA1NzQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWVwLXBhcnRpYWwuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NjRhMjkzMWMxNzkzZGRlYTVhODZmMjU3NmNmYmU0M2IzMmFlMDIwZjZkYTk1OGFlNGY2OTA1ZjlmNTFmMjEwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9icm93c2VyL2Nvbm5lY3Rpb24uZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDFmYWY3YTcwOWE5YTgyYjg1YWZiYzYwNzQ0YWViZGI1YzVjOTJkOWY5ZTA4NDk2YmM0NmUwNWE1N2U5NGMyZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjdlZWMyMGIxYmFiMjAyYjY1ZjYyMDkxYjlkNWNjN2U1OTUxZmM3MjQzZTVkNzM0ZDEzN2VmMGVkOTNkOGJjNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtLXN1YnNjcmlwdGlvbi1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjlmMThlZmUwOGJkN2FiNTRlZGI3NTk2MjliOGU2ODc5OGQyNGIzNTEzMjRjNmM3ZWY1ZjRiYjEwNzc3ZTQxOTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Vycm9yLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImIxNjViOGJlMDMxNDQxMTBmYWFiNjllYjcxODQ1OWI0M2ZjOGEzODg2NzQ1OGI4ZTQ1NzgyNTY1MmI5MjZmZDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5kZXguZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjZTYwNGNkOTE2Y2MwMTY5NWIyZDMwMDA4ODRkYzA1MTZkNDIyYTBkYzY1NjE5MzQ3Yzk2N2MyNmIxZmU5ZWRlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGlzcG9zYWJsZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGYwZDc5NzRkYWYzMjUxYTQ1MDY2NjU3NTk5YTA2NDE5ZWIwZGU1NmU3MDE5MWU0ZDM1YTU0MDFiYjU1ZDY2NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4YmM4NGY1MTUxM2I0NTExNzU5ZTI3ODQ1NjM0MDFjY2M5NzYyOTVlOTc1NGM4Y2Y1MDRkYzg1MDg3MjA2MWIyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luZGV4LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzOWE4ZTU5YmM2YjQwNTBjNzVjZTgzNjI5NTJjYjk3Yzk2OTU0OTY2OTExNTNmYmNhMTE3OTY3YTg4NmE4OTYxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjUzMTY5MjYxNGJiYTZiYjQyZmJkMWU3ZTA3OWM5YjBjMTA5OTg2NmY3OGRiZWIzMzA2NjU1N2ZkY2VjYmJmYjkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hbmFseXRpY3MuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGJhNWJkNjE0OTM0OWY3NTExNWUyNzQ4YzU5OWZkMGZmZDU2YTE1Yzk4Zjg1NjlhNjZjNDZkOThjYjU3ZGVhYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg1MWE4OWVkOWQ3NjI2OWMyZDY3MGEzNDM5OWQ0OGZhMjIxNGEzZDhiYmNlYWVjOTgyMGEwZDViMTJmYmU5ZmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWNjb3VudGluZy1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyNTAwYmM3NGM4OGNmZDE3MGY2ODczMzMwYjE3YWViNTNkMzRkM2JmZjNiZGQyNmVmZTFkMGU2Y2VkODBmOWQyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODZkYzc3OTUxMTA3MThkNmVhN2IxOWUxYjAzMTdjNzYwZjNkZGY2NzJjMTE5ZDc3NzhjOWYyMmI5YThhMGY2NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9vc3MtYWxsb3dsaXN0LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjcyMmYzM2E3NDc3NTQwMTg1YTYxZWFlNjg3ZjI5ZjFkM2NhYWNmYTQ0MmM4YTRkZDEzYjZlZjc0NWUwZmY4YWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9sb2dnaW5nLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWY5NDg1YTgwZWM0MzJiNTIxMzM0ODVjZTc4YzE2ZTJlM2M1ZmRkZjA5MWNiODg4ZTA1ZDQzZThlYTQ4YzNkZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWIwN2NkMjhiY2Q2Y2I1NDg2NzFmMzJkMjU0OWE2YzQ2MTJjYmM0YjMzOGM4ZmI5ZGY3NDAzMDczOGRjMjI3MyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtY2x1c3Rlci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YzBlMDgzOWJlMDBmZWM4NjBkNGRiNzJkZWRhMTU1MmUzNzU2YzgxYWY3OTNhM2U1ODM2YjczNTFkMzcyNGFiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvamFlZ2VyLWNsaWVudC10eXBlcy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWQ4NzVhM2M2ZjQ5N2VkMWY5ZTNiOTgwMDE5NDVmOGJkMTk3YjE5OTlmYjZhZDg3ZTE3OWQ0NzdkMjJmZDc4MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdHRyaWJ1dGlvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwODM2NjEzNjU5ZDdkYWNlNGVjMTk5MDM2OWJhMDhkOGQwNzljNjA5ZTE0NDkyZWM2MjZmYWJlNzlkYzY2MTliIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ3JwYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1ODdkMzhjNzliZDAxMzJmOTdkYWExMzJlZDg5MTlkMDRlNDExZTI1MzBhMzQ1NDU2ZGE2OTI4ZmViNWJjMjA0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzBjNWU1MjMzODRlNzViNDM4YzVkYTk3YjllOTI1OTNlYzlkM2RiNmIzNzk3N2M0NmE0OTgxZjc0ZDYzMGQyMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjAwNjdkYzgzMGIyYTVkZTBkNTJlNzRlMzIzODEyN2U2NzlhOTM2ZTBhNzcwYWFjYmNlNjYxNjJiMjIwMDMxNGIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9jYW5jZWxhYmxlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJhYTg2OWVkMzk4MGI2YTBmN2NjOTcyMDdjZTkxZjI5ZjdjZGMyZTM3NzI2YjNiNTcxN2QwZjYyYzJlMTA1MTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxMjY1ZjY4MzMzZWI0Mjg3MmYyYTI0NjRlMDE2NGRlNWJmOGZmYzQ0NjFkYTNlYzFhMTlkYTQ1NDllNDcyMjZhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FkbWluLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2JkOGMzOGRiYmIxYWNmMjhjMzg3MWZmNDcwYTQ3MzgwNDE0ZTRkN2Q1MjYyYzg4YjQ4MmEyYjY1NTA0MWNjMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RhdGUtdGltZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZhNDJhZWI1NzNhMTZjNGFkZmUwMzNiY2E5MWU2YTJkMjJlNjUzNGNiYTBkOGUxYzFjNDc0ZmM4NjZiN2FjZDgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGVybWlzc2lvbi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU4Zjk1MDAwYTk0ZTM5Njk4MTBmYjAwNGVhOTU0ZTYzZWY1MTAwMzgxNDFjNGRhZTBkYTE0NjQ5ZjJjYjIxNTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC93b3Jrc3BhY2UtcG9ydC1hdXRoZW50aWNhdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiYWYwODcxMDU3ODEwMDYwYjdlZDc1ZDYwM2I0NGUxMTJmZmRmMWE0NDQ2NWU1YWEyMGUyNzIzZDI1YWQwMjYzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9wcm94eS1mYWN0b3J5LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZmYzdiNmFiY2EwNjNlYzI1YTBiYjYyMTk3ZWQyZTk0MDFlMGQ4ZDJiNDcxZTg1MGI2MWZjMmE3YzY3MGFiZTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWZlcnJlZC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjYwYTJkNjI2ODAxNTkyY2JiYjNkMzEzMTAzNzI2MWI2YjUxYjVjZmMyYzI5NTRlMjNjNTJlZDFkMzBkYjQ2MjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9sb2dnaW5nLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImIwNTExODJhODAwMmFhMmZiYjk3OWJhZjRhOWMzNmJkMThjMGZjYzE3YmU1NDBkOWNjOTk0NzYyYzIwMzUyN2UiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvY29uZmlnY2F0LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2JiYjI3MmE4NzEyOTA1MjRhZmRhOGI4ZThhOWYwNjhhYWRkOTBmM2JjNGFmYmY0MDU2YTM1ODNmMzdiZjY2ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tc2VydmljZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGI1MTI5MThkNjBhZDIxZDE2ZGQxYzc3ZDc4ZDVmNDlmYzRlYmMwMmM0MGMyYTMzOTFhNGNlYjg0NDg5MmVlZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY3Y2MwYTY4MjVmMzk2NGM3MDgwOWU5YzY5MmIyMjU1ZmIzM2I2ZGI1MGQ1NTAxNTg2YmI3ZDkyMTAzODJjNzYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGVybWlzc2lvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyYmU5MjkyZGQ3NjQ0NjFhNWRlZDJlMjczYzEyYmM3MGQ5ZWNkYWI2ZmUwZWIxZTgxNjQ2OWY3ZGY2MDVmZTM0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dzcmVhZHkuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWM4ZTQxY2QxMDAzZGI4YWIzZjExZGYxNTdlZmIyNmY0MzA2ODQ2ZTQ1MGJiYWEyMzMyMDAxZWQ3MTIxZWEzZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93c3JlYWR5LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODMyMDcyYTkwNThkZjQxMjNhMWNmYzJmMjZlZTc2ODA2NDdmMzQ1ZTU3OGNhZTkzZGQzNWI4MTNjOTRlZGU5ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3dvcmtzcGFjZS1wb3J0LWF1dGhlbnRpY2F0aW9uLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImViMzM4YWIwNmJiNDNkYWMxODY2NDZkOTgyYjY4YjViMWViZjRjODQ4MzhlOWFlY2QzNjVmYjdlMmQ2ZGM3ZjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU0YThlZDRjYjg4NzI2MDQ4MjNiMWY3NjljNDA2MTA3NjQzZDg2ZGVjN2RlNDQ5ZTMwMWJiNDYxNWFmZDVmMTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM0MzEwN2UyMTYzNDVkMTQ3MmJjYzQwYjA3Yjk5N2E1ODE3Zjk5ZTk1YWNhMWE2YTAxMGU0OTAxYmI3OTdiYTUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ncnBjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxMWQ2NzAxMTEyYzg3NzcxMjM5ZjE3NzQ4MjU2ZDRmYjcyYzg3MTYxM2I4MTBlOTdhNjFlMzEyNmFjNWZiMmQ1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW1zLXByb2plY3RzLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRmOTIxMTRkN2RlZTYxZTU2ZjRmZGFiZDkyYmUyOGI0NjlkN2ExMGNlODFlNjQyZDNjZTRmNTI1NTJjOGY2MmYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9jYW5jZWxhYmxlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImYzYmFjYjY4MmM5MGNmODBlZWEyMmVlYjg3NDI5MDk5MTAzMzUwY2IzZTZlZTlhZGMzOWZjMTA1OTg1MzhhOWIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmE3NjE1YWFhN2M3ZmE0MzQ2ZWNjNzY5OWQyYTBjZjA4MzQ2Y2RmOWM2ZTFhODM4MmVlZmZhNDJkMTk2NzM5OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9ibG9ja2VkLXJlcG9zaXRvcmllcy1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwYjkwODhjODg5MjM0NTcyZmI4NGExZDc5N2JjMzIzN2YwYmUwMWVmNjFmOWVjMzdkOWFkMGE3OTk3MjQ4MmU3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2RhOTVhYjBkMmJmMjRkNzQ0NmZhNTM4YjExZDI5ZDQ5ZDA5NTkwOWMxOTgxZWYyNzhlYjZjNzNhNTE2OGNhNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWIxOWJhNWY2ZDk5M2ZjY2Q0N2VjNmE2Nzg4MDU1MzM2YTQyZTY5MjJmYTRjYmU4OWMyYjQ3NjVmMzIyMWIwYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hZG1pbi1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2YyMzYxYWYwYzhkNjhkNWM3ZDNlNGQ3MGUyZDE1Njg5ZGM4YjVjNGU0NzIyZTdhMDE3ZWE0YTE5OWI5NDA0OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci93aW5kb3ctY29ubmVjdGlvbi5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiN2ZkNTIxYjcwYjc3M2ZiODQ4ZDEyNjlkYzc1NWFhNGE2NjkzZGEyYjE4M2E4NjgxNDYzZTU0YWFkMDgyMzBmNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci9jb25uZWN0aW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZGNkNDY1YWM4M2QxMjBiN2UxNjFmN2RjYmM4ZjZkZTNmNzFjOGFlYWIwYjY0NzMzYWYzOTFjYjFhOTgxYTFjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vY29udGFpbmVyLW1vZHVsZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTRmZDExZjE3MzIwNmE2YzE5Yjc2NWQ4ZjQ4ZDE0M2M1MDVhOGNkNzNiMGMzZDA5NTY4MGI4NGQ3ZjhmNzcxYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wZXJtaXNzaW9uLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMwZjYwZTI0NDdmNTgzYTZhYjhmNDkzZmVjZmE4ZTk5ZjgzYTEyYzNlMzg5ZGZkYTVkYzdiNDMwMThlMGRiZTUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtY29va2llLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM2YjZlOTJlYTU4NWMxOGZjYTllNDUyMmU1ZmViNmQ1MjVkNTE0NDhmNjk3YzExNzhhYjVmYjZmNTcwYjJmZWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMThkZDU2YzIzNWQwNTQ2NWFkZmRiMDk3NGRmZTg5M2NmNTQwZDQ5NzQ5OWVmNDc3OGMyOTc3MDFhMDM3NGNkNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwZGE1YzEyYjRmN2QwZmM3ZDI4YjJhMGE2MDdkNDI0Yzk2NGE1MmU3OTY0ZjkyZDI5Nzk1N2Q5ZTViNTQ2YzExIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2NvbnRleHQtdXJsLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlMWM0ZjcyZGFjNjdjNGNlZjg1MjQyNzgxYzkxOGQzZGY0MzIwY2VhMjA2YWVkNzE4ZjFlNmMxZDRmMGU2MDIxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24va2V5LXByb3ZpZGVyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2FlZWFlZTg4Y2Q3YjE2Mjk3Nzk0OGM1NGNhNzNiOTMxY2RmODNmMDA5ZjFiN2UwZTNiNjYzYTYxMjAyY2FjOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL25pY2UtZ3JwYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWYzOGM2MzkxZTY4N2QzOWQ1ODc2NTNlNGYyYzhjNWRjOTVkZTk0MzczNGNjZDc4MGQ3OTJhZDc0Nzk1MjhiNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9jb25maWdjYXQuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNkZDc1MTcxM2QyYzNkYjk0YzUxZDliZWIyYTZiYWJkMzlmY2EyNTgzZmE3ZWMwYTVjYWU0ZTA0MDQ1Y2E1MDEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBhMWJhYmJkZTEwOWNmMjA1ZGFmODA0NDlkMTU0YWU1Y2Y1NGU2ZWExNjU5MTRkNjZmMGQ2YzY0NWM2ZmE4NmQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWluc3RhbmNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI3ZmQ1OTgzYzA3NTgzZWY2YjRlOGQ5YTgyZmIzNzBlNDE3NDRhYzk0NWViNTM1OTMyNTFhMDhmYjU4MmI0NmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3MWE3MzM4NDdlNTdmNTgzMjk0ZDc1NWRmMDhjYTkyODM3OGZhZDQxYTlhZTMxODgyZmQ2ZjViNGM2MDBlMTcyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNjNWNkN2E4MzdhYmU0Y2NhZDJmOTM5ZGUzMDU5YzgyOWMzOGU0NGY1OTc1MzlkZDZjMmY5Y2ExNzRmNmQ5NGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYXV0aC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjg4OTIxMTZjMjI2MjA2MmI5ZTljMzI0MDBkN2M4YWFlYjc2ZDYyN2U4Nzk0OWY4NTU0YWY4ZWYwZjdmZWNkYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvbm9kZS9jb25uZWN0aW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjM2VkZjFlYmUwNWQzZTBiMzAzZTcwMTAzNzhiZWFhZTdkZjdjMTUwMjgxZjk5ZDk4NGFiNzliM2EyNmE3YWNhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyYmU0ODkwNWNhYWRhNzUxMWNjZDI2M2JjM2ZiNTgwYTg1OTZkMGJhYTNkZmY2MThjMDU1N2RiYTE1ZWZiM2U2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0M2U2ZmMyMTQxODMyZWZiZGUxYjA5YTg2NzQ4NzY3NTVjMTgyNDI4YzU5ZjVjNGQwZjQzNDUzMTQ0NDU5ZjZjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvd29ya3NwYWNlLXBvcnQtYXV0aGVudGljYXRpb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZhYjg5MjNhNDFkNTVlZDY2MjBmYzdhMjNjNDE5OWRjNWIzODk5OTA4MjRmZjQyNzM2NjI4NmU4N2VhNzk4ZmMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9zZW1hcGhvcmUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTRmNmQ5ZjcxYTk3OTljNzk3MTg1N2RhZGE5YzZkODNmNTg0ZTc0MDg5NGUwNTg5ZjZjYjZlOTZiY2YxODFmOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1jb29raWUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFiYjVhZTU5OTg4ZTM1MzA5YzNlNGRiYmEyN2ZmYzhjMjMwZjliOWRkMTNhMmFjOWRmZTVlMmNmMWVkYmYwMzgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd2ViaG9vay1ldmVudC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNmExMWUxNmJkMjI4MzQyNjA2NDEyNTZhMGFiNTJkOGRmMjA1ZTUxYWM0Nzc3YjUwYjg2ZTFmMDA2ZDlkOWRmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2V4cGVyaW1lbnRzL2NvbmZpZ2NhdC1zZXJ2ZXIuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0YTMwNWNhZmYxZDVlYjgxODJmNTA3NjhhOGI2NWEyN2I1YzM1MzQ5NzYyMjM3ZWI1MTE5YjkwYTc2NDg3NWZkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ3JwYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVmMzBlODg2NWYxZTg2OWZiNDA0ZmVjYjk4MDQ1ZjY2NTc4YmEwODYzM2M2Mjg2ZmI1NjQ3ZDFhNDlmYjg0ZTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9sb2dnaW5nLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkYWE3YjUyY2E2YmUxNDEyZTIwZTcyYTlmYmM4MzgzNGQ1YWYxMTUwNjgyMTNiYTRkNjc2OGEzOTRlMzVhNGFkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FkbWluLXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZkMjU2NmI5M2M3ZjEwNzVjMGI0NTJmYjcyYzYyZjM2MjQwMTY2ZWQxODE4YTY0ZGI0YWIyZWFmZGI4NmFlZWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsdXN0ZXIuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzODU5OGZkMzIwMjNhNDVlODlkNjFiNWUwNThjNDQ2OTI0ODRkZmJjMDE3ZWQyZjA4NjA5MDViNGFmMzBjZmY5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjkzMTE5ODI0MDQ3ZmEzNjliMmI4Y2U2MGFiYjMxZjVkZjYxZDc4MDgxNDU4ODU1YmY0ODM4MzZhYjRkZmEwZDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDgwOGZkMjc4MTBkY2E2ZjliMDY0NTZiZjEzMGVlMGViMWUyNzI2MmY2Y2EwYjYzNGYyZDUyYTU2NzZlYjc2YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjYWFlN2MxNzk3ZWNiZjNhZDU1MzZhMzE4MTI5MjRmMjUwM2YyODQ0Y2ZkYzBlNGNhNDc1NDI0ZDVlNzY2YzEwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2tpcC1pZi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiMzQ5OWE0NzE4YjcxZTVmMTg3NThjNjQ4OGEyZDNhNWZmZGRiMTc4N2QzN2FiZDlkMWI3Yjc0NmNlMGEwN2NhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNiYjhiNjBlNmY1YTdjYmE1ZWY1YjU3NTNhMzZmZGM2OGFhMzJjZmQyZTllYzI1OTkwYzNjZjY4NWQ0MTA4NDkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9rZXktcHJvdmlkZXIuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWNhOWNhMWJmYTU0ZGQ2NWRkOTIyZjk3MDAyMjg1NmRiODJiOTQ4ZjI0MGI3NmViYTBiMTZiZGU2MDA4OTdmOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93c3JlYWR5LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ZTg4N2ZhMzY5ZjhkNjg1NTVjM2E1ZjJlYmU2ODEyMGNhN2QzNTJkMzNhZTc2ZGFhNmM5Yjg5MTAwZjIwMmYyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjVkYmE3YmUxOGQwMWU4ZjRlN2Y3YzZiYjAxNTcyNDdiMWVkZDY4YWQ2N2MwNzIyYTU4YzBlNWRlYzkxN2M1ZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1jb29raWUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjQ3MWZmMTU0ZjVjYjkxZTNhNTk4ZmZkNWFjMzYxYTE3MTZmYzcwYzhiZmQ5MDEyZDVkMTkyNGM1MmMzNDlkNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9iaWxsaW5nLW1vZGUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZmZGMyMzRhMWVhYzliZTI1MmVhMWZkYzVjZTlhYTRjM2ZkMzRiMzVkZWIwMTcyN2UyZWM2OWIzODE4OWNkYjgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyMTIxNzY0ZjBhMWU2NTAyNzA2MTc3MjhhMDI1MmZlODQ0Y2NkZjRjNmNkOTM5MTlmZTg4N2ZiN2NiYWEzNzhlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVlcC1wYXJ0aWFsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA1ZTY4MTEzODI3MDUxY2RkOTE5NTdkMjlhZTYzYTgxZWQwZTg0N2JhODkxOWM3YmY4Zjk3ZTliZjY5YTBkNGEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxMTNiMGU2NTk1YjRjMGY5NWM1MzhiMTVmNTVjNTIyZjQxODQyZjYxYTQ4ZWZmODg1ZDRjODA5ZGJhOTcwODgyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW0tc3Vic2NyaXB0aW9uLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVlMGExZTZhZDQzOTcxZDBiMDQ0Yzg3MmEwMGQzY2EzNTRiOWUwZGY0N2I2NTUzMTBkOTk0NTYxZWYzMjhiYzciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9zZW1hcGhvcmUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFiOWVhNWIwOWNhNzllYjJhNmZmYmQzZTQzM2I4ZmI5MzQ0NTQwMTA2ZTMxMGM4YTg2OTI1MzdhZWExMTk1NzIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmYwNGI5ZDM3ZGQ1NTFmMzEwYmIxYWNjZmNhZGM1ZGVjZmRiM2U1YmNiZWY0YTVmMjNkN2ViZTcxZjg1NGIzNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNjExYmYzNTNhZDBmYjMxYzJiYjQ3ODQ1NDc5YWU5YWRlY2FkMjk0Zjc1ZDI3NzE3NTAzMmE3ZjExMTRlNDY1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2hlYWRsZXNzLXdvcmtzcGFjZS1sb2cuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzA5NzQwN2IzODdiNDIzYTkxODllMGZjZTc0Mjk5NzY5MDAyYmI1YjdkMzVkY2E0ZGM2YzNjNWIxZTc3MTYyZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2NvbnRhaW5lci1tb2R1bGUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmRlYzIyODg0ZmNiZTEyZWU0ODNkOTNjZWQyMmUyYjk4YmU2MTNhNWYwOWY3NjI1Zjc2MTMxNzUxZTIzMjk1OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci93aW5kb3ctY29ubmVjdGlvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwZWJhMmM1NjA2YTk1NTk2ZmQwMjE0ZDg1MzIzM2RiZmI3YTRlNDM1Y2UwY2NmODZlNWJkNjA4Y2E3ZDQ0MjExIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Vudi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNhNmFkZmY1NGZjNTI5NTMwNTI2YTcwYjNiZGJiZjczYzdlZjRlMWFkMDJmNDExZDY3OWMyZGNlOTE5ZDJkZDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MjFiYjE2NGUyYWRlYzYyZjAwY2VjYTQyODUxODAyZDc0ODQ2MWM4YzA2MTgyNTQ3OTJjYjgwODg3MzQ3YjAzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1zZXJ2aWNlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiMmRkZDJkNmIwNGRjMDcwMTMwMmIzNTMxZTJkMGNjY2MzYTBmNmY1YTAxNmRiYTNiZDZkM2NmMjA4YTRlMmUwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F1dGguZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1YjM5OGRlNDljYjRkZDI1ZWQyMzczNjgzMzFkN2M0MjVkYjUwY2I4ZTZhZGJkODI4ZWUzZjFmMGMwMTNlYzQ5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbWFrZS1saW5rLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmE4YmJmOGRjZTljZjUyMjc2OTFhMDZhNGJlN2ViNzU2ZjgxZDE4NDVlMWExOGU1ODA5YzYyMzg5ZTg0OGIzOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90eXBpbmdzL2dsb2JhbHMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNkNjcxOTIwN2JmOWE4OTY0NDk3Y2NmODQ1ZjRiOTk1ZjcxMjE2ZjJlNzc4NGU5NjAyZWJmNWYzNDllNjRiZDAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM4NmY0MGI4N2Y4ZGJhYjA1OGY1NWFmYTI1MjVmY2UyNzk1N2UyNWM4NDQyYjEwNzk0ZmU2ZDU2MGVhYTk1YTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9yZXBlYXQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiODcwMmY0ODkyMGU5MWEyMWVjZWFmOTMzZTczMTUzZGE1MTEwZmMyN2E2OTNlZWE1MDJhZDZiODkyMWYwZGE5YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlYnVnLWFwcC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiN2FlZTEwMjJjZmVlY2FiNjliYTBjNWIwOTE1NmI3MGFmMzA4MzM2NzQ5Nzg2ZDUzY2VjZGRjMDM5MzlhYTRhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2V4cGVyaW1lbnRzL3R5cGVzLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4MGRkMjZhYzA5OWZmODI0OTM3NTc4NjkxMGZmYzJmZDVhNDRhNzE1NGQ2ZGYwNmE3YTMzMzg2M2Y1ZTQ3MTVmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg1OWU5ZGRiZGY0NTg3OGFkM2UyYzFmYTE4MWMwMGY1N2YyZTk5OGUxYWQxMmE1NDQ0YTU5MTRjZGIzZTJiMzAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjEzMDM5ZTVmZWExOTAyOTEwNjA1YTM2Y2IyZjVkM2FmMDRlMGU3ZTUwMzM2OTJlM2QxZDllZmE1NzM1ZWNmMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE5NzNkMWU0MDFhYWMzZjA4M2M2NTA4NmQzMWFiNTEwZGY1YTM5MzkxMzc1MjUwZDc4ZThjMDY5YTMwNWU5YjkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjQyYzJjYmQxY2MzYjBjNWZkMDBjODE4ODczMjFlYjc5M2U0YzE2YTYzMGU2OGMyMmRjZDBjMWY2ZDYzYmRhNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9vc3MtYWxsb3dsaXN0LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MTAwMmFlMzRkZjIxMzFmNjAzZGVjMmZjMTMzOTY4OTc5NWExMGI3YWFhNGVmNjc0ZWIyOGRlZTdlMWIzZDFiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFkZGI5OGI2ZmExNjU4NzNjZDAzYTA2N2UwNDk5YTJkMWE5ZDRiZmNiNmFkYzQ4ZmRmNDkyMTYyMDM4MjAxNTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9yZXBlYXQuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhN2NhNjAzNGI5NTdmZTI4NWY3NmYxY2RjNDUyMDU5NDhkYmY5YTczMDExOGMzMjkyNjBmYWQzODQ5NTdmZTg2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F1dGguanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzJkZDY3MDU2NGMwNDJlZTAzZmE4MDJiMGE3ZTNkYjM2YTM4MDFiMzdkYWYzYzA4NTEyODBiMzViNzE4OTJjYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3JlcGVhdC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkOTkwNTkxNWNjYTk1YTE5ZjU0ZmRmZWRmNzdlZGIyMTI2NWU2MDRmZThiYjY1NGZmZmU4N2IzMjMwZWE3ODcyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzNTcwNzhlZTBlMzEzOTAxOWQzMmEzYTA4OGQ5YmVjYzAwNTgzMWM1MjA0MjljZjI2NmE3YmM1ODFlZGIzNTAyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2Q0ZDFmZDhiMTNiYjEwMGFlZTY3NTNhZDZlZGEwZDRhN2Q3Yzg4NGE1YWQyNzk0MjQwZTM0NzMyNTI4NzJhNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzA4NGNlMzNiMGNjN2FmMGZjMWI0ZDVkM2RjZDY2NjI3Y2M1ZTAyY2UyN2E0ZGRmYTBlMDk4NTEzZTIzMjU1ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2Rpc3Bvc2FibGUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjg1Zjg1ZTk5NDg3ZDRmZDhhZWQ5NjZmYjIzMTc5OWUyYTllOWZmNDhlOTRjYmVmY2Y2YzNlZWI3N2NiOTBkNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2phZWdlci1jbGllbnQtdHlwZXMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjZmZDE0OTEwNTc2MzU0NmRjMzZhOTg2N2UzNDczMTkwMzhlZWZlNDIyOTk2ZjY1Y2FjN2YxYzFiZmZlYmZkZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVhYjhkMDhhMzdiNDYyNzY4MGI5MjY2YWNiMTlhNTY4ZWRlMzgyNmFlNDNmZmUxMjY0ODRiNjlmNzhlNjc1N2YiCiAgICAgIH0KICAgIH0KICBdLAogICJwcmVkaWNhdGUiOiB7CiAgICAiYnVpbGRlciI6IHsKICAgICAgImlkIjogImdpdGh1Yi5jb20vZ2l0cG9kLWlvL2xlZXdheTowLjMuMS0xMmNhNThkQHNoYTI1NjoxNTUzMTkwNzE5OGZiODllN2VmZTU1MmZlOGMzYWFhZmUxNzI0M2Y5MjJjYTkzYTc1MzBlYjdhMWIyZDM1YjI0IgogICAgfSwKICAgICJyZWNpcGUiOiB7CiAgICAgICJ0eXBlIjogImh0dHBzOi8vZ2l0aHViLmNvbS9naXRwb2QtaW8vbGVld2F5L2J1aWxkQHlhcm46NyIsCiAgICAgICJkZWZpbmVkSW5NYXRlcmlhbCI6IDAsCiAgICAgICJlbnRyeVBvaW50IjogImNvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sOmxpYiIsCiAgICAgICJhcmd1bWVudHMiOiBbCiAgICAgICAgImxlZXdheSIsCiAgICAgICAgImJ1aWxkIiwKICAgICAgICAiLS1kb2NrZXItYnVpbGQtb3B0aW9ucyIsCiAgICAgICAgIm5ldHdvcms9aG9zdCIsCiAgICAgICAgIi0td2VyZnQ9dHJ1ZSIsCiAgICAgICAgIi1jIiwKICAgICAgICAicmVtb3RlIiwKICAgICAgICAiLS1kb250LXJldGFnIiwKICAgICAgICAiLS1jb3ZlcmFnZS1vdXRwdXQtcGF0aD0vdG1wL3RtcC5Ia1BQRmphOVVuIiwKICAgICAgICAiLUR2ZXJzaW9uPXByb3RlY3RlZC1zZWNyZXRzLjAiLAogICAgICAgICItRHJlbW92ZVNvdXJjZXM9ZmFsc2UiLAogICAgICAgICItRGltYWdlUmVwb0Jhc2U9ZXUuZ2NyLmlvL2dpdHBvZC1jb3JlLWRldi9idWlsZCIsCiAgICAgICAgIi1EbG9jYWxBcHBWZXJzaW9uPXVua25vd24iLAogICAgICAgICItRFNFR01FTlRfSU9fVE9LRU49WDNiTmF0WVB1ZElKY0N6NmtGbFRuNTRwcnVtUUFxR2giLAogICAgICAgICItRFJFUExJQ0FURURfQVBJX1RPS0VOPWRlYTEwYzhmYjU4NzU1ZmQ1MWFiOTk2Y2NiYWFiODk2MmY1ZTkwNmFiNDQxMmFlNjc3OTk2ZWE3NGU4NWFlMzUiLAogICAgICAgICItRFJFUExJQ0FURURfQVBQPWdpdHBvZCIsCiAgICAgICAgIi1EbnBtUHVibGlzaFRyaWdnZXI9ZmFsc2UiCiAgICAgIF0sCiAgICAgICJlbnZpcm9ubWVudCI6IHsKICAgICAgICAibWFuaWZlc3QiOiB7CiAgICAgICAgICAiYXJjaCI6ICJhbWQ2NCIsCiAgICAgICAgICAiZ28iOiAiZ28gdmVyc2lvbiBnbzEuMTkuMiBsaW51eC9hbWQ2NCIsCiAgICAgICAgICAibm9kZSI6ICJ2MTYuMTYuMCIsCiAgICAgICAgICAib3MiOiAibGludXgiLAogICAgICAgICAgInlhcm4iOiAiMS4yMi4xOSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAibWV0YWRhdGEiOiB7CiAgICAgICJidWlsZFN0YXJ0ZWRPbiI6ICIyMDIyLTEwLTIxVDEwOjM4OjExLjY5MjAxMjE2OVoiLAogICAgICAiYnVpbGRGaW5pc2hlZE9uIjogIjIwMjItMTAtMjFUMTA6Mzg6NTQuMTgxNjgzMjY1WiIsCiAgICAgICJjb21wbGV0ZW5lc3MiOiB7CiAgICAgICAgImFyZ3VtZW50cyI6IHRydWUsCiAgICAgICAgImVudmlyb25tZW50IjogZmFsc2UsCiAgICAgICAgIm1hdGVyaWFscyI6IHRydWUKICAgICAgfSwKICAgICAgInJlcHJvZHVjaWJsZSI6IGZhbHNlCiAgICB9LAogICAgIm1hdGVyaWFscyI6IFsKICAgICAgewogICAgICAgICJ1cmkiOiAiZ2l0K2h0dHBzOi8vZ2l0aHViLmNvbS9naXRwb2QtaW8vZ2l0cG9kLmdpdCIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiZDIzY2Q1YTIxYzJkM2I5OWYwYmZlYzIzMjEzYzMyZTIzZjUwYzg2MSIKICAgICAgICB9CiAgICAgIH0KICAgIF0KICB9Cn0=","signatures":null}
2
+