@discordeno/bot 22.0.1-next.d8fc6ec → 22.0.1-next.db7afea

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 (423) hide show
  1. package/dist/bot.d.ts +3 -3
  2. package/dist/bot.d.ts.map +1 -1
  3. package/dist/bot.js +3 -2
  4. package/dist/commandOptionsParser.d.ts.map +1 -1
  5. package/dist/commandOptionsParser.js +1 -1
  6. package/dist/constants.d.ts.map +1 -1
  7. package/dist/constants.js +2 -2
  8. package/dist/desiredProperties.d.ts +114 -87
  9. package/dist/desiredProperties.d.ts.map +1 -1
  10. package/dist/desiredProperties.js +288 -1
  11. package/dist/events.d.ts +32 -17
  12. package/dist/events.d.ts.map +1 -1
  13. package/dist/events.js +1 -1
  14. package/dist/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -1
  15. package/dist/handlers/channels/CHANNEL_CREATE.js +1 -1
  16. package/dist/handlers/channels/CHANNEL_DELETE.d.ts.map +1 -1
  17. package/dist/handlers/channels/CHANNEL_DELETE.js +1 -1
  18. package/dist/handlers/channels/CHANNEL_PINS_UPDATE.d.ts.map +1 -1
  19. package/dist/handlers/channels/CHANNEL_PINS_UPDATE.js +1 -1
  20. package/dist/handlers/channels/CHANNEL_UPDATE.d.ts.map +1 -1
  21. package/dist/handlers/channels/CHANNEL_UPDATE.js +1 -1
  22. package/dist/handlers/channels/STAGE_INSTANCE_CREATE.d.ts.map +1 -1
  23. package/dist/handlers/channels/STAGE_INSTANCE_CREATE.js +1 -1
  24. package/dist/handlers/channels/STAGE_INSTANCE_DELETE.d.ts.map +1 -1
  25. package/dist/handlers/channels/STAGE_INSTANCE_DELETE.js +1 -1
  26. package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts.map +1 -1
  27. package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.js +1 -1
  28. package/dist/handlers/channels/THREAD_CREATE.d.ts.map +1 -1
  29. package/dist/handlers/channels/THREAD_CREATE.js +1 -1
  30. package/dist/handlers/channels/THREAD_DELETE.d.ts.map +1 -1
  31. package/dist/handlers/channels/THREAD_DELETE.js +1 -1
  32. package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts.map +1 -1
  33. package/dist/handlers/channels/THREAD_LIST_SYNC.js +1 -1
  34. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +1 -1
  35. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js +2 -2
  36. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +1 -1
  37. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.js +1 -1
  38. package/dist/handlers/channels/THREAD_UPDATE.d.ts.map +1 -1
  39. package/dist/handlers/channels/THREAD_UPDATE.js +1 -1
  40. package/dist/handlers/channels/index.d.ts.map +1 -1
  41. package/dist/handlers/channels/index.js +1 -1
  42. package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts.map +1 -1
  43. package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.js +1 -1
  44. package/dist/handlers/emojis/index.d.ts.map +1 -1
  45. package/dist/handlers/emojis/index.js +1 -1
  46. package/dist/handlers/entitlements/ENTITLEMENT_CREATE.d.ts.map +1 -1
  47. package/dist/handlers/entitlements/ENTITLEMENT_CREATE.js +1 -1
  48. package/dist/handlers/entitlements/ENTITLEMENT_DELETE.d.ts.map +1 -1
  49. package/dist/handlers/entitlements/ENTITLEMENT_DELETE.js +1 -1
  50. package/dist/handlers/entitlements/ENTITLEMENT_UPDATE.d.ts.map +1 -1
  51. package/dist/handlers/entitlements/ENTITLEMENT_UPDATE.js +1 -1
  52. package/dist/handlers/entitlements/index.d.ts.map +1 -1
  53. package/dist/handlers/entitlements/index.js +1 -1
  54. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts.map +1 -1
  55. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +1 -1
  56. package/dist/handlers/guilds/GUILD_BAN_ADD.d.ts.map +1 -1
  57. package/dist/handlers/guilds/GUILD_BAN_ADD.js +1 -1
  58. package/dist/handlers/guilds/GUILD_BAN_REMOVE.d.ts.map +1 -1
  59. package/dist/handlers/guilds/GUILD_BAN_REMOVE.js +1 -1
  60. package/dist/handlers/guilds/GUILD_CREATE.d.ts.map +1 -1
  61. package/dist/handlers/guilds/GUILD_CREATE.js +1 -1
  62. package/dist/handlers/guilds/GUILD_DELETE.d.ts.map +1 -1
  63. package/dist/handlers/guilds/GUILD_DELETE.js +1 -1
  64. package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts.map +1 -1
  65. package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js +1 -1
  66. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -1
  67. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js +1 -1
  68. package/dist/handlers/guilds/GUILD_UPDATE.d.ts.map +1 -1
  69. package/dist/handlers/guilds/GUILD_UPDATE.js +1 -1
  70. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +1 -1
  71. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +2 -2
  72. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +1 -1
  73. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +2 -2
  74. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +1 -1
  75. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +2 -2
  76. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +1 -1
  77. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +2 -2
  78. package/dist/handlers/guilds/automod/index.d.ts.map +1 -1
  79. package/dist/handlers/guilds/automod/index.js +1 -1
  80. package/dist/handlers/guilds/index.d.ts.map +1 -1
  81. package/dist/handlers/guilds/index.js +1 -1
  82. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +1 -1
  83. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +1 -1
  84. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts.map +1 -1
  85. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js +1 -1
  86. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts.map +1 -1
  87. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js +1 -1
  88. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts.map +1 -1
  89. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js +1 -1
  90. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts.map +1 -1
  91. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +1 -1
  92. package/dist/handlers/guilds/scheduledEvents/index.d.ts.map +1 -1
  93. package/dist/handlers/guilds/scheduledEvents/index.js +1 -1
  94. package/dist/handlers/index.d.ts.map +1 -1
  95. package/dist/handlers/index.js +1 -1
  96. package/dist/handlers/integrations/INTEGRATION_CREATE.d.ts.map +1 -1
  97. package/dist/handlers/integrations/INTEGRATION_CREATE.js +1 -1
  98. package/dist/handlers/integrations/INTEGRATION_DELETE.d.ts.map +1 -1
  99. package/dist/handlers/integrations/INTEGRATION_DELETE.js +1 -1
  100. package/dist/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +1 -1
  101. package/dist/handlers/integrations/INTEGRATION_UPDATE.js +1 -1
  102. package/dist/handlers/integrations/index.d.ts.map +1 -1
  103. package/dist/handlers/integrations/index.js +1 -1
  104. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -1
  105. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +2 -2
  106. package/dist/handlers/interactions/INTERACTION_CREATE.d.ts.map +1 -1
  107. package/dist/handlers/interactions/INTERACTION_CREATE.js +1 -1
  108. package/dist/handlers/interactions/index.d.ts.map +1 -1
  109. package/dist/handlers/interactions/index.js +1 -1
  110. package/dist/handlers/invites/INVITE_CREATE.d.ts.map +1 -1
  111. package/dist/handlers/invites/INVITE_CREATE.js +20 -4
  112. package/dist/handlers/invites/INVITE_DELETE.d.ts.map +1 -1
  113. package/dist/handlers/invites/INVITE_DELETE.js +4 -4
  114. package/dist/handlers/invites/index.d.ts.map +1 -1
  115. package/dist/handlers/invites/index.js +1 -1
  116. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +1 -1
  117. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.js +1 -1
  118. package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts.map +1 -1
  119. package/dist/handlers/members/GUILD_MEMBER_ADD.js +1 -1
  120. package/dist/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +1 -1
  121. package/dist/handlers/members/GUILD_MEMBER_REMOVE.js +1 -1
  122. package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -1
  123. package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +4 -4
  124. package/dist/handlers/members/index.d.ts.map +1 -1
  125. package/dist/handlers/members/index.js +1 -1
  126. package/dist/handlers/messages/MESSAGE_CREATE.d.ts.map +1 -1
  127. package/dist/handlers/messages/MESSAGE_CREATE.js +1 -1
  128. package/dist/handlers/messages/MESSAGE_DELETE.d.ts.map +1 -1
  129. package/dist/handlers/messages/MESSAGE_DELETE.js +1 -1
  130. package/dist/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +1 -1
  131. package/dist/handlers/messages/MESSAGE_DELETE_BULK.js +1 -1
  132. package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -1
  133. package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +4 -3
  134. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -1
  135. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +4 -3
  136. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +1 -1
  137. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +1 -1
  138. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -1
  139. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +4 -3
  140. package/dist/handlers/messages/MESSAGE_UPDATE.d.ts.map +1 -1
  141. package/dist/handlers/messages/MESSAGE_UPDATE.js +1 -1
  142. package/dist/handlers/messages/index.d.ts.map +1 -1
  143. package/dist/handlers/messages/index.js +1 -1
  144. package/dist/handlers/misc/PRESENCE_UPDATE.d.ts.map +1 -1
  145. package/dist/handlers/misc/PRESENCE_UPDATE.js +1 -1
  146. package/dist/handlers/misc/RATE_LIMITED.d.ts.map +1 -1
  147. package/dist/handlers/misc/RATE_LIMITED.js +1 -1
  148. package/dist/handlers/misc/READY.d.ts.map +1 -1
  149. package/dist/handlers/misc/READY.js +1 -1
  150. package/dist/handlers/misc/RESUMED.d.ts.map +1 -1
  151. package/dist/handlers/misc/RESUMED.js +1 -1
  152. package/dist/handlers/misc/TYPING_START.d.ts.map +1 -1
  153. package/dist/handlers/misc/TYPING_START.js +1 -1
  154. package/dist/handlers/misc/USER_UPDATE.d.ts.map +1 -1
  155. package/dist/handlers/misc/USER_UPDATE.js +1 -1
  156. package/dist/handlers/misc/index.d.ts.map +1 -1
  157. package/dist/handlers/misc/index.js +1 -1
  158. package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.d.ts.map +1 -1
  159. package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.js +1 -1
  160. package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.d.ts.map +1 -1
  161. package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.js +1 -1
  162. package/dist/handlers/poll/index.d.ts.map +1 -1
  163. package/dist/handlers/poll/index.js +1 -1
  164. package/dist/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +1 -1
  165. package/dist/handlers/roles/GUILD_ROLE_CREATE.js +1 -1
  166. package/dist/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +1 -1
  167. package/dist/handlers/roles/GUILD_ROLE_DELETE.js +1 -1
  168. package/dist/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +1 -1
  169. package/dist/handlers/roles/GUILD_ROLE_UPDATE.js +1 -1
  170. package/dist/handlers/roles/index.d.ts.map +1 -1
  171. package/dist/handlers/roles/index.js +1 -1
  172. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.d.ts.map +1 -1
  173. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.js +1 -1
  174. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.d.ts.map +1 -1
  175. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.js +1 -1
  176. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.d.ts.map +1 -1
  177. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.js +1 -1
  178. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.d.ts.map +1 -1
  179. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.js +1 -1
  180. package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.d.ts.map +1 -1
  181. package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.js +1 -1
  182. package/dist/handlers/soundboard/index.d.ts.map +1 -1
  183. package/dist/handlers/soundboard/index.js +1 -1
  184. package/dist/handlers/subscriptions/SUBSCRIPTION_CREATE.d.ts.map +1 -1
  185. package/dist/handlers/subscriptions/SUBSCRIPTION_CREATE.js +1 -1
  186. package/dist/handlers/subscriptions/SUBSCRIPTION_DELETE.d.ts.map +1 -1
  187. package/dist/handlers/subscriptions/SUBSCRIPTION_DELETE.js +1 -1
  188. package/dist/handlers/subscriptions/SUBSCRIPTION_UPDATE.d.ts.map +1 -1
  189. package/dist/handlers/subscriptions/SUBSCRIPTION_UPDATE.js +1 -1
  190. package/dist/handlers/subscriptions/index.d.ts.map +1 -1
  191. package/dist/handlers/subscriptions/index.js +1 -1
  192. package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.d.ts.map +1 -1
  193. package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.js +1 -1
  194. package/dist/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +1 -1
  195. package/dist/handlers/voice/VOICE_SERVER_UPDATE.js +1 -1
  196. package/dist/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +1 -1
  197. package/dist/handlers/voice/VOICE_STATE_UPDATE.js +1 -1
  198. package/dist/handlers/voice/index.d.ts.map +1 -1
  199. package/dist/handlers/voice/index.js +1 -1
  200. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +1 -1
  201. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js +1 -1
  202. package/dist/handlers/webhooks/index.d.ts.map +1 -1
  203. package/dist/handlers/webhooks/index.js +1 -1
  204. package/dist/handlers.d.ts.map +1 -1
  205. package/dist/handlers.js +1 -1
  206. package/dist/helpers.d.ts +61 -44
  207. package/dist/helpers.d.ts.map +1 -1
  208. package/dist/helpers.js +73 -22
  209. package/dist/index.d.ts.map +1 -1
  210. package/dist/index.js +1 -1
  211. package/dist/transformers/activity.d.ts +17 -5
  212. package/dist/transformers/activity.d.ts.map +1 -1
  213. package/dist/transformers/activity.js +55 -37
  214. package/dist/transformers/application.d.ts +3 -3
  215. package/dist/transformers/application.d.ts.map +1 -1
  216. package/dist/transformers/application.js +18 -7
  217. package/dist/transformers/applicationCommand.d.ts +3 -2
  218. package/dist/transformers/applicationCommand.d.ts.map +1 -1
  219. package/dist/transformers/applicationCommand.js +19 -17
  220. package/dist/transformers/applicationCommandOption.d.ts +3 -2
  221. package/dist/transformers/applicationCommandOption.d.ts.map +1 -1
  222. package/dist/transformers/applicationCommandOption.js +22 -19
  223. package/dist/transformers/applicationCommandOptionChoice.d.ts +3 -2
  224. package/dist/transformers/applicationCommandOptionChoice.d.ts.map +1 -1
  225. package/dist/transformers/applicationCommandOptionChoice.js +10 -8
  226. package/dist/transformers/applicationCommandPermission.d.ts +7 -3
  227. package/dist/transformers/applicationCommandPermission.d.ts.map +1 -1
  228. package/dist/transformers/applicationCommandPermission.js +20 -13
  229. package/dist/transformers/attachment.d.ts +3 -1
  230. package/dist/transformers/attachment.d.ts.map +1 -1
  231. package/dist/transformers/attachment.js +12 -4
  232. package/dist/transformers/auditLogEntry.d.ts +7 -3
  233. package/dist/transformers/auditLogEntry.d.ts.map +1 -1
  234. package/dist/transformers/auditLogEntry.js +32 -25
  235. package/dist/transformers/automodActionExecution.d.ts +10 -3
  236. package/dist/transformers/automodActionExecution.d.ts.map +1 -1
  237. package/dist/transformers/automodActionExecution.js +35 -23
  238. package/dist/transformers/automodRule.d.ts +7 -3
  239. package/dist/transformers/automodRule.d.ts.map +1 -1
  240. package/dist/transformers/automodRule.js +30 -29
  241. package/dist/transformers/avatarDecorationData.d.ts +3 -2
  242. package/dist/transformers/avatarDecorationData.d.ts.map +1 -1
  243. package/dist/transformers/avatarDecorationData.js +6 -3
  244. package/dist/transformers/channel.d.ts +6 -3
  245. package/dist/transformers/channel.d.ts.map +1 -1
  246. package/dist/transformers/channel.js +14 -9
  247. package/dist/transformers/component.d.ts +9 -4
  248. package/dist/transformers/component.d.ts.map +1 -1
  249. package/dist/transformers/component.js +212 -24
  250. package/dist/transformers/embed.d.ts +16 -3
  251. package/dist/transformers/embed.d.ts.map +1 -1
  252. package/dist/transformers/embed.js +71 -42
  253. package/dist/transformers/emoji.d.ts +7 -3
  254. package/dist/transformers/emoji.d.ts.map +1 -1
  255. package/dist/transformers/emoji.js +10 -5
  256. package/dist/transformers/entitlement.d.ts +3 -2
  257. package/dist/transformers/entitlement.d.ts.map +1 -1
  258. package/dist/transformers/entitlement.js +6 -3
  259. package/dist/transformers/gatewayBot.d.ts +7 -3
  260. package/dist/transformers/gatewayBot.d.ts.map +1 -1
  261. package/dist/transformers/gatewayBot.js +20 -13
  262. package/dist/transformers/guild.d.ts +3 -2
  263. package/dist/transformers/guild.d.ts.map +1 -1
  264. package/dist/transformers/guild.js +25 -25
  265. package/dist/transformers/incidentsData.d.ts +3 -2
  266. package/dist/transformers/incidentsData.d.ts.map +1 -1
  267. package/dist/transformers/incidentsData.js +6 -3
  268. package/dist/transformers/index.d.ts.map +1 -1
  269. package/dist/transformers/index.js +1 -1
  270. package/dist/transformers/integration.d.ts +10 -3
  271. package/dist/transformers/integration.d.ts.map +1 -1
  272. package/dist/transformers/integration.js +43 -31
  273. package/dist/transformers/interaction.d.ts +18 -12
  274. package/dist/transformers/interaction.d.ts.map +1 -1
  275. package/dist/transformers/interaction.js +52 -28
  276. package/dist/transformers/invite.d.ts +4 -4
  277. package/dist/transformers/invite.d.ts.map +1 -1
  278. package/dist/transformers/invite.js +26 -23
  279. package/dist/transformers/lobby.d.ts +13 -4
  280. package/dist/transformers/lobby.d.ts.map +1 -1
  281. package/dist/transformers/lobby.js +35 -5
  282. package/dist/transformers/member.d.ts +3 -2
  283. package/dist/transformers/member.d.ts.map +1 -1
  284. package/dist/transformers/member.js +6 -3
  285. package/dist/transformers/message.d.ts +20 -10
  286. package/dist/transformers/message.d.ts.map +1 -1
  287. package/dist/transformers/message.js +52 -25
  288. package/dist/transformers/onboarding.d.ts +9 -4
  289. package/dist/transformers/onboarding.d.ts.map +1 -1
  290. package/dist/transformers/onboarding.js +17 -10
  291. package/dist/transformers/poll.d.ts +6 -3
  292. package/dist/transformers/poll.d.ts.map +1 -1
  293. package/dist/transformers/poll.js +14 -7
  294. package/dist/transformers/presence.d.ts +3 -2
  295. package/dist/transformers/presence.d.ts.map +1 -1
  296. package/dist/transformers/presence.js +10 -6
  297. package/dist/transformers/reverse/activity.d.ts +4 -3
  298. package/dist/transformers/reverse/activity.d.ts.map +1 -1
  299. package/dist/transformers/reverse/activity.js +20 -24
  300. package/dist/transformers/reverse/allowedMentions.d.ts.map +1 -1
  301. package/dist/transformers/reverse/allowedMentions.js +1 -1
  302. package/dist/transformers/reverse/application.d.ts.map +1 -1
  303. package/dist/transformers/reverse/application.js +1 -1
  304. package/dist/transformers/reverse/applicationCommand.d.ts.map +1 -1
  305. package/dist/transformers/reverse/applicationCommand.js +2 -2
  306. package/dist/transformers/reverse/applicationCommandOption.d.ts.map +1 -1
  307. package/dist/transformers/reverse/applicationCommandOption.js +1 -1
  308. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -1
  309. package/dist/transformers/reverse/applicationCommandOptionChoice.js +1 -1
  310. package/dist/transformers/reverse/applicationCommandPermission.d.ts.map +1 -1
  311. package/dist/transformers/reverse/applicationCommandPermission.js +1 -1
  312. package/dist/transformers/reverse/attachment.d.ts.map +1 -1
  313. package/dist/transformers/reverse/attachment.js +1 -1
  314. package/dist/transformers/reverse/auditLogEntry.d.ts.map +1 -1
  315. package/dist/transformers/reverse/auditLogEntry.js +1 -1
  316. package/dist/transformers/reverse/component.d.ts.map +1 -1
  317. package/dist/transformers/reverse/component.js +164 -11
  318. package/dist/transformers/reverse/embed.d.ts.map +1 -1
  319. package/dist/transformers/reverse/embed.js +19 -4
  320. package/dist/transformers/reverse/emoji.d.ts.map +1 -1
  321. package/dist/transformers/reverse/emoji.js +1 -1
  322. package/dist/transformers/reverse/gatewayBot.d.ts.map +1 -1
  323. package/dist/transformers/reverse/gatewayBot.js +1 -1
  324. package/dist/transformers/reverse/index.d.ts.map +1 -1
  325. package/dist/transformers/reverse/index.js +1 -1
  326. package/dist/transformers/reverse/member.d.ts.map +1 -1
  327. package/dist/transformers/reverse/member.js +4 -2
  328. package/dist/transformers/reverse/presence.d.ts.map +1 -1
  329. package/dist/transformers/reverse/presence.js +3 -2
  330. package/dist/transformers/reverse/team.d.ts.map +1 -1
  331. package/dist/transformers/reverse/team.js +1 -1
  332. package/dist/transformers/reverse/user.d.ts +5 -0
  333. package/dist/transformers/reverse/user.d.ts.map +1 -0
  334. package/dist/transformers/reverse/user.js +17 -0
  335. package/dist/transformers/reverse/widgetSettings.d.ts.map +1 -1
  336. package/dist/transformers/reverse/widgetSettings.js +1 -1
  337. package/dist/transformers/role.d.ts +7 -4
  338. package/dist/transformers/role.d.ts.map +1 -1
  339. package/dist/transformers/role.js +12 -7
  340. package/dist/transformers/scheduledEvent.d.ts +6 -3
  341. package/dist/transformers/scheduledEvent.d.ts.map +1 -1
  342. package/dist/transformers/scheduledEvent.js +10 -5
  343. package/dist/transformers/sku.d.ts +3 -2
  344. package/dist/transformers/sku.d.ts.map +1 -1
  345. package/dist/transformers/sku.js +6 -3
  346. package/dist/transformers/soundboardSound.d.ts +3 -2
  347. package/dist/transformers/soundboardSound.d.ts.map +1 -1
  348. package/dist/transformers/soundboardSound.js +6 -3
  349. package/dist/transformers/stageInstance.d.ts +3 -2
  350. package/dist/transformers/stageInstance.d.ts.map +1 -1
  351. package/dist/transformers/stageInstance.js +6 -3
  352. package/dist/transformers/stageInviteInstance.d.ts +3 -3
  353. package/dist/transformers/stageInviteInstance.d.ts.map +1 -1
  354. package/dist/transformers/stageInviteInstance.js +10 -8
  355. package/dist/transformers/sticker.d.ts +4 -3
  356. package/dist/transformers/sticker.d.ts.map +1 -1
  357. package/dist/transformers/sticker.js +6 -3
  358. package/dist/transformers/subscription.d.ts +3 -2
  359. package/dist/transformers/subscription.d.ts.map +1 -1
  360. package/dist/transformers/subscription.js +6 -3
  361. package/dist/transformers/team.d.ts +1 -2
  362. package/dist/transformers/team.d.ts.map +1 -1
  363. package/dist/transformers/team.js +1 -1
  364. package/dist/transformers/template.d.ts +1 -2
  365. package/dist/transformers/template.d.ts.map +1 -1
  366. package/dist/transformers/template.js +1 -1
  367. package/dist/transformers/threadMember.d.ts +2 -3
  368. package/dist/transformers/threadMember.d.ts.map +1 -1
  369. package/dist/transformers/threadMember.js +1 -1
  370. package/dist/transformers/toggles/Permissions.d.ts.map +1 -1
  371. package/dist/transformers/toggles/Permissions.js +1 -1
  372. package/dist/transformers/toggles/ToggleBitfield.d.ts.map +1 -1
  373. package/dist/transformers/toggles/ToggleBitfield.js +1 -1
  374. package/dist/transformers/toggles/channel.d.ts +2 -2
  375. package/dist/transformers/toggles/channel.d.ts.map +1 -1
  376. package/dist/transformers/toggles/channel.js +2 -2
  377. package/dist/transformers/toggles/emoji.d.ts +1 -1
  378. package/dist/transformers/toggles/emoji.d.ts.map +1 -1
  379. package/dist/transformers/toggles/emoji.js +1 -1
  380. package/dist/transformers/toggles/guild.d.ts +3 -3
  381. package/dist/transformers/toggles/guild.d.ts.map +1 -1
  382. package/dist/transformers/toggles/guild.js +3 -3
  383. package/dist/transformers/toggles/index.d.ts.map +1 -1
  384. package/dist/transformers/toggles/index.js +1 -1
  385. package/dist/transformers/toggles/member.d.ts.map +1 -1
  386. package/dist/transformers/toggles/member.js +1 -1
  387. package/dist/transformers/toggles/role.d.ts +1 -1
  388. package/dist/transformers/toggles/role.d.ts.map +1 -1
  389. package/dist/transformers/toggles/role.js +1 -1
  390. package/dist/transformers/toggles/user.d.ts +1 -1
  391. package/dist/transformers/toggles/user.d.ts.map +1 -1
  392. package/dist/transformers/toggles/user.js +1 -1
  393. package/dist/transformers/toggles/voice.d.ts +1 -1
  394. package/dist/transformers/toggles/voice.d.ts.map +1 -1
  395. package/dist/transformers/toggles/voice.js +1 -1
  396. package/dist/transformers/types.d.ts +299 -57
  397. package/dist/transformers/types.d.ts.map +1 -1
  398. package/dist/transformers/types.js +2 -2
  399. package/dist/transformers/user.d.ts +13 -5
  400. package/dist/transformers/user.d.ts.map +1 -1
  401. package/dist/transformers/user.js +37 -11
  402. package/dist/transformers/voiceRegion.d.ts +1 -2
  403. package/dist/transformers/voiceRegion.d.ts.map +1 -1
  404. package/dist/transformers/voiceRegion.js +1 -1
  405. package/dist/transformers/voiceState.d.ts +3 -3
  406. package/dist/transformers/voiceState.d.ts.map +1 -1
  407. package/dist/transformers/voiceState.js +6 -4
  408. package/dist/transformers/webhook.d.ts +3 -1
  409. package/dist/transformers/webhook.d.ts.map +1 -1
  410. package/dist/transformers/webhook.js +10 -7
  411. package/dist/transformers/welcomeScreen.d.ts +1 -2
  412. package/dist/transformers/welcomeScreen.d.ts.map +1 -1
  413. package/dist/transformers/welcomeScreen.js +1 -1
  414. package/dist/transformers/widget.d.ts +1 -2
  415. package/dist/transformers/widget.d.ts.map +1 -1
  416. package/dist/transformers/widget.js +7 -5
  417. package/dist/transformers/widgetSettings.d.ts +1 -2
  418. package/dist/transformers/widgetSettings.d.ts.map +1 -1
  419. package/dist/transformers/widgetSettings.js +1 -1
  420. package/dist/transformers.d.ts +192 -81
  421. package/dist/transformers.d.ts.map +1 -1
  422. package/dist/transformers.js +76 -18
  423. package/package.json +22 -24
@@ -1,3 +1,249 @@
1
+ /**
2
+ * Metadata for typescript to create the correct types for desired properties
3
+ *
4
+ * @private This is subject to breaking changes without notices
5
+ */ export const transformersDesiredPropertiesMetadata = {
6
+ channel: {
7
+ dependencies: {
8
+ archived: [
9
+ 'toggles'
10
+ ],
11
+ invitable: [
12
+ 'toggles'
13
+ ],
14
+ locked: [
15
+ 'toggles'
16
+ ],
17
+ nsfw: [
18
+ 'toggles'
19
+ ],
20
+ newlyCreated: [
21
+ 'toggles'
22
+ ],
23
+ managed: [
24
+ 'toggles'
25
+ ]
26
+ },
27
+ alwaysPresents: [
28
+ 'toggles',
29
+ 'internalOverwrites',
30
+ 'internalThreadMetadata'
31
+ ]
32
+ },
33
+ guild: {
34
+ dependencies: {
35
+ threads: [
36
+ 'channels'
37
+ ],
38
+ features: [
39
+ 'toggles'
40
+ ]
41
+ },
42
+ alwaysPresents: []
43
+ },
44
+ interaction: {
45
+ dependencies: {
46
+ respond: [
47
+ 'type',
48
+ 'token',
49
+ 'id'
50
+ ],
51
+ sendFollowupMessage: [
52
+ 'token'
53
+ ],
54
+ edit: [
55
+ 'type',
56
+ 'token',
57
+ 'id'
58
+ ],
59
+ deferEdit: [
60
+ 'type',
61
+ 'token',
62
+ 'id'
63
+ ],
64
+ defer: [
65
+ 'type',
66
+ 'token',
67
+ 'id'
68
+ ],
69
+ delete: [
70
+ 'type',
71
+ 'token'
72
+ ]
73
+ },
74
+ alwaysPresents: [
75
+ 'bot',
76
+ 'acknowledged'
77
+ ]
78
+ },
79
+ member: {
80
+ dependencies: {
81
+ deaf: [
82
+ 'toggles'
83
+ ],
84
+ mute: [
85
+ 'toggles'
86
+ ],
87
+ pending: [
88
+ 'toggles'
89
+ ],
90
+ flags: [
91
+ 'toggles'
92
+ ],
93
+ didRejoin: [
94
+ 'toggles'
95
+ ],
96
+ startedOnboarding: [
97
+ 'toggles'
98
+ ],
99
+ bypassesVerification: [
100
+ 'toggles'
101
+ ],
102
+ completedOnboarding: [
103
+ 'toggles'
104
+ ]
105
+ },
106
+ alwaysPresents: []
107
+ },
108
+ message: {
109
+ dependencies: {
110
+ crossposted: [
111
+ 'flags'
112
+ ],
113
+ ephemeral: [
114
+ 'flags'
115
+ ],
116
+ failedToMentionSomeRolesInThread: [
117
+ 'flags'
118
+ ],
119
+ hasThread: [
120
+ 'flags'
121
+ ],
122
+ isCrosspost: [
123
+ 'flags'
124
+ ],
125
+ loading: [
126
+ 'flags'
127
+ ],
128
+ mentionedUserIds: [
129
+ 'mentions'
130
+ ],
131
+ mentionEveryone: [
132
+ 'bitfield'
133
+ ],
134
+ pinned: [
135
+ 'bitfield'
136
+ ],
137
+ sourceMessageDeleted: [
138
+ 'flags'
139
+ ],
140
+ suppressEmbeds: [
141
+ 'flags'
142
+ ],
143
+ suppressNotifications: [
144
+ 'flags'
145
+ ],
146
+ timestamp: [
147
+ 'id'
148
+ ],
149
+ tts: [
150
+ 'bitfield'
151
+ ],
152
+ urgent: [
153
+ 'flags'
154
+ ]
155
+ },
156
+ alwaysPresents: [
157
+ 'bitfield',
158
+ 'flags'
159
+ ]
160
+ },
161
+ role: {
162
+ dependencies: {
163
+ hoist: [
164
+ 'toggles'
165
+ ],
166
+ managed: [
167
+ 'toggles'
168
+ ],
169
+ mentionable: [
170
+ 'toggles'
171
+ ],
172
+ premiumSubscriber: [
173
+ 'toggles'
174
+ ],
175
+ availableForPurchase: [
176
+ 'toggles'
177
+ ],
178
+ guildConnections: [
179
+ 'toggles'
180
+ ]
181
+ },
182
+ alwaysPresents: [
183
+ 'internalTags'
184
+ ]
185
+ },
186
+ user: {
187
+ dependencies: {
188
+ tag: [
189
+ 'username',
190
+ 'discriminator'
191
+ ],
192
+ bot: [
193
+ 'toggles'
194
+ ],
195
+ system: [
196
+ 'toggles'
197
+ ],
198
+ mfaEnabled: [
199
+ 'toggles'
200
+ ],
201
+ verified: [
202
+ 'toggles'
203
+ ],
204
+ avatarUrl: [
205
+ 'avatar',
206
+ 'id'
207
+ ],
208
+ displayName: [
209
+ 'username',
210
+ 'globalName'
211
+ ],
212
+ defaultAvatarUrl: [
213
+ 'id',
214
+ 'discriminator'
215
+ ],
216
+ displayAvatarUrl: [
217
+ 'avatar',
218
+ 'id',
219
+ 'discriminator'
220
+ ],
221
+ createdTimestamp: [
222
+ 'id'
223
+ ]
224
+ },
225
+ alwaysPresents: []
226
+ },
227
+ emoji: {
228
+ dependencies: {
229
+ animated: [
230
+ 'toggles'
231
+ ],
232
+ available: [
233
+ 'toggles'
234
+ ],
235
+ managed: [
236
+ 'toggles'
237
+ ],
238
+ requireColons: [
239
+ 'toggles'
240
+ ]
241
+ },
242
+ alwaysPresents: [
243
+ 'toggles'
244
+ ]
245
+ }
246
+ };
1
247
  export function createDesiredPropertiesObject(desiredProperties, defaultValue = false) {
2
248
  return {
3
249
  activityInstance: {
@@ -30,6 +276,11 @@ export function createDesiredPropertiesObject(desiredProperties, defaultValue =
30
276
  duration_secs: defaultValue,
31
277
  waveform: defaultValue,
32
278
  flags: defaultValue,
279
+ application: defaultValue,
280
+ clipCreatedAt: defaultValue,
281
+ clipParticipants: defaultValue,
282
+ placeholder: defaultValue,
283
+ placeholderVersion: defaultValue,
33
284
  ...desiredProperties.attachment
34
285
  },
35
286
  channel: {
@@ -47,6 +298,7 @@ export function createDesiredPropertiesObject(desiredProperties, defaultValue =
47
298
  permissionOverwrites: defaultValue,
48
299
  id: defaultValue,
49
300
  permissions: defaultValue,
301
+ appPermissions: defaultValue,
50
302
  lastMessageId: defaultValue,
51
303
  ownerId: defaultValue,
52
304
  applicationId: defaultValue,
@@ -80,6 +332,7 @@ export function createDesiredPropertiesObject(desiredProperties, defaultValue =
80
332
  style: defaultValue,
81
333
  label: defaultValue,
82
334
  value: defaultValue,
335
+ default: defaultValue,
83
336
  emoji: defaultValue,
84
337
  url: defaultValue,
85
338
  channelTypes: defaultValue,
@@ -107,6 +360,8 @@ export function createDesiredPropertiesObject(desiredProperties, defaultValue =
107
360
  size: defaultValue,
108
361
  component: defaultValue,
109
362
  values: defaultValue,
363
+ resolved: defaultValue,
364
+ fileTypes: defaultValue,
110
365
  ...desiredProperties.component
111
366
  },
112
367
  forumTag: {
@@ -254,6 +509,7 @@ export function createDesiredPropertiesObject(desiredProperties, defaultValue =
254
509
  guildScheduledEvent: defaultValue,
255
510
  expiresAt: defaultValue,
256
511
  flags: defaultValue,
512
+ roles: defaultValue,
257
513
  ...desiredProperties.invite
258
514
  },
259
515
  member: {
@@ -270,6 +526,7 @@ export function createDesiredPropertiesObject(desiredProperties, defaultValue =
270
526
  communicationDisabledUntil: defaultValue,
271
527
  toggles: defaultValue,
272
528
  avatarDecorationData: defaultValue,
529
+ collectibles: defaultValue,
273
530
  ...desiredProperties.member
274
531
  },
275
532
  message: {
@@ -291,6 +548,7 @@ export function createDesiredPropertiesObject(desiredProperties, defaultValue =
291
548
  mentionedChannelIds: defaultValue,
292
549
  mentionedRoleIds: defaultValue,
293
550
  mentions: defaultValue,
551
+ channelType: defaultValue,
294
552
  messageReference: defaultValue,
295
553
  messageSnapshots: defaultValue,
296
554
  referencedMessage: defaultValue,
@@ -302,6 +560,8 @@ export function createDesiredPropertiesObject(desiredProperties, defaultValue =
302
560
  webhookId: defaultValue,
303
561
  poll: defaultValue,
304
562
  call: defaultValue,
563
+ sharedClientTheme: defaultValue,
564
+ resolved: defaultValue,
305
565
  ...desiredProperties.message
306
566
  },
307
567
  messageSnapshot: {
@@ -405,6 +665,13 @@ export function createDesiredPropertiesObject(desiredProperties, defaultValue =
405
665
  count: defaultValue,
406
666
  ...desiredProperties.scheduledEventRecurrenceRule
407
667
  },
668
+ sharedClientTheme: {
669
+ colors: defaultValue,
670
+ baseMix: defaultValue,
671
+ gradientAngle: defaultValue,
672
+ baseTheme: defaultValue,
673
+ ...desiredProperties.sharedClientTheme
674
+ },
408
675
  stageInstance: {
409
676
  id: defaultValue,
410
677
  guildId: defaultValue,
@@ -447,6 +714,9 @@ export function createDesiredPropertiesObject(desiredProperties, defaultValue =
447
714
  width: defaultValue,
448
715
  contentType: defaultValue,
449
716
  attachmentId: defaultValue,
717
+ flags: defaultValue,
718
+ placeholder: defaultValue,
719
+ placeholderVersion: defaultValue,
450
720
  ...desiredProperties.unfurledMediaItem
451
721
  },
452
722
  user: {
@@ -620,6 +890,23 @@ export function createDesiredPropertiesObject(desiredProperties, defaultValue =
620
890
  metadata: defaultValue,
621
891
  flags: defaultValue,
622
892
  ...desiredProperties.lobbyMember
893
+ },
894
+ lobbyMessage: {
895
+ id: defaultValue,
896
+ content: defaultValue,
897
+ applicationId: defaultValue,
898
+ flags: defaultValue,
899
+ author: defaultValue,
900
+ channelId: defaultValue,
901
+ lobbyId: defaultValue,
902
+ metadata: defaultValue,
903
+ moderationMetadata: defaultValue,
904
+ type: defaultValue,
905
+ ...desiredProperties.lobbyMessage
906
+ },
907
+ lobbyInvite: {
908
+ code: defaultValue,
909
+ ...desiredProperties.lobbyInvite
623
910
  }
624
911
  };
625
912
  }
@@ -629,4 +916,4 @@ export function createDesiredPropertiesObject(desiredProperties, defaultValue =
629
916
  return DesiredPropertiesBehavior;
630
917
  }({});
631
918
 
632
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXNpcmVkUHJvcGVydGllcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlY3Vyc2l2ZVBhcnRpYWwgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuL2JvdC5qcydcbmltcG9ydCB0eXBlIHsgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGFDaGFubmVsLCBJbnRlcmFjdGlvblJlc29sdmVkRGF0YU1lbWJlciB9IGZyb20gJy4vY29tbWFuZE9wdGlvbnNQYXJzZXIuanMnXG5pbXBvcnQgdHlwZSB7XG4gIEFjdGl2aXR5SW5zdGFuY2UsXG4gIEFjdGl2aXR5TG9jYXRpb24sXG4gIEF0dGFjaG1lbnQsXG4gIEF2YXRhckRlY29yYXRpb25EYXRhLFxuICBDaGFubmVsLFxuICBDb2xsZWN0aWJsZXMsXG4gIENvbXBvbmVudCxcbiAgRGVmYXVsdFJlYWN0aW9uRW1vamksXG4gIEVtb2ppLFxuICBFbnRpdGxlbWVudCxcbiAgRm9ydW1UYWcsXG4gIEd1aWxkLFxuICBHdWlsZE9uYm9hcmRpbmcsXG4gIEd1aWxkT25ib2FyZGluZ1Byb21wdCxcbiAgR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLFxuICBJbmNpZGVudHNEYXRhLFxuICBJbnRlcmFjdGlvbixcbiAgSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICBJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnZpdGUsXG4gIEludml0ZVN0YWdlSW5zdGFuY2UsXG4gIExvYmJ5LFxuICBMb2JieU1lbWJlcixcbiAgTWVkaWFHYWxsZXJ5SXRlbSxcbiAgTWVtYmVyLFxuICBNZXNzYWdlLFxuICBNZXNzYWdlQ2FsbCxcbiAgTWVzc2FnZUludGVyYWN0aW9uLFxuICBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgTWVzc2FnZVBpbixcbiAgTWVzc2FnZVJlZmVyZW5jZSxcbiAgTWVzc2FnZVNuYXBzaG90LFxuICBOYW1lcGxhdGUsXG4gIFBvbGwsXG4gIFBvbGxBbnN3ZXIsXG4gIFBvbGxBbnN3ZXJDb3VudCxcbiAgUG9sbE1lZGlhLFxuICBQb2xsUmVzdWx0LFxuICBSb2xlLFxuICBSb2xlQ29sb3JzLFxuICBTY2hlZHVsZWRFdmVudCxcbiAgU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSxcbiAgU2t1LFxuICBTb3VuZGJvYXJkU291bmQsXG4gIFN0YWdlSW5zdGFuY2UsXG4gIFN0aWNrZXIsXG4gIFN1YnNjcmlwdGlvbixcbiAgVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIFVzZXIsXG4gIFVzZXJQcmltYXJ5R3VpbGQsXG4gIFZvaWNlU3RhdGUsXG4gIFdlYmhvb2ssXG59IGZyb20gJy4vdHJhbnNmb3JtZXJzL3R5cGVzLmpzJ1xuXG4vKipcbiAqIEFsbCB0aGUgb2JqZWN0cyB0aGF0IHN1cHBvcnQgZGVzaXJlZCBwcm9wZXJ0aWVzXG4gKlxuICogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgYXQgYW55IHRpbWVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1lcnNPYmplY3RzIHtcbiAgYWN0aXZpdHlJbnN0YW5jZTogQWN0aXZpdHlJbnN0YW5jZVxuICBhY3Rpdml0eUxvY2F0aW9uOiBBY3Rpdml0eUxvY2F0aW9uXG4gIGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnRcbiAgYXZhdGFyRGVjb3JhdGlvbkRhdGE6IEF2YXRhckRlY29yYXRpb25EYXRhXG4gIGNoYW5uZWw6IENoYW5uZWxcbiAgY29sbGVjdGlibGVzOiBDb2xsZWN0aWJsZXNcbiAgY29tcG9uZW50OiBDb21wb25lbnRcbiAgZGVmYXVsdFJlYWN0aW9uRW1vamk6IERlZmF1bHRSZWFjdGlvbkVtb2ppXG4gIGVtb2ppOiBFbW9qaVxuICBlbnRpdGxlbWVudDogRW50aXRsZW1lbnRcbiAgZm9ydW1UYWc6IEZvcnVtVGFnXG4gIGd1aWxkOiBHdWlsZFxuICBndWlsZE9uYm9hcmRpbmc6IEd1aWxkT25ib2FyZGluZ1xuICBndWlsZE9uYm9hcmRpbmdQcm9tcHQ6IEd1aWxkT25ib2FyZGluZ1Byb21wdFxuICBndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb246IEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvblxuICBpbmNpZGVudHNEYXRhOiBJbmNpZGVudHNEYXRhXG4gIGludGVyYWN0aW9uOiBJbnRlcmFjdGlvblxuICBpbnRlcmFjdGlvbkNhbGxiYWNrOiBJbnRlcmFjdGlvbkNhbGxiYWNrXG4gIGludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTogSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG4gIGludGVyYWN0aW9uUmVzb3VyY2U6IEludGVyYWN0aW9uUmVzb3VyY2VcbiAgaW52aXRlOiBJbnZpdGVcbiAgaW52aXRlU3RhZ2VJbnN0YW5jZTogSW52aXRlU3RhZ2VJbnN0YW5jZVxuICBsb2JieTogTG9iYnlcbiAgbG9iYnlNZW1iZXI6IExvYmJ5TWVtYmVyXG4gIG1lZGlhR2FsbGVyeUl0ZW06IE1lZGlhR2FsbGVyeUl0ZW1cbiAgbWVtYmVyOiBNZW1iZXJcbiAgbWVzc2FnZTogTWVzc2FnZVxuICBtZXNzYWdlQ2FsbDogTWVzc2FnZUNhbGxcbiAgbWVzc2FnZUludGVyYWN0aW9uOiBNZXNzYWdlSW50ZXJhY3Rpb25cbiAgbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE6IE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhXG4gIG1lc3NhZ2VQaW46IE1lc3NhZ2VQaW5cbiAgbWVzc2FnZVJlZmVyZW5jZTogTWVzc2FnZVJlZmVyZW5jZVxuICBtZXNzYWdlU25hcHNob3Q6IE1lc3NhZ2VTbmFwc2hvdFxuICBuYW1lcGxhdGU6IE5hbWVwbGF0ZVxuICBwb2xsOiBQb2xsXG4gIHBvbGxBbnN3ZXI6IFBvbGxBbnN3ZXJcbiAgcG9sbEFuc3dlckNvdW50OiBQb2xsQW5zd2VyQ291bnRcbiAgcG9sbE1lZGlhOiBQb2xsTWVkaWFcbiAgcG9sbFJlc3VsdDogUG9sbFJlc3VsdFxuICByb2xlOiBSb2xlXG4gIHJvbGVDb2xvcnM6IFJvbGVDb2xvcnNcbiAgc2NoZWR1bGVkRXZlbnQ6IFNjaGVkdWxlZEV2ZW50XG4gIHNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGU6IFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGVcbiAgc2t1OiBTa3VcbiAgc291bmRib2FyZFNvdW5kOiBTb3VuZGJvYXJkU291bmRcbiAgc3RhZ2VJbnN0YW5jZTogU3RhZ2VJbnN0YW5jZVxuICBzdGlja2VyOiBTdGlja2VyXG4gIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uXG4gIHVuZnVybGVkTWVkaWFJdGVtOiBVbmZ1cmxlZE1lZGlhSXRlbVxuICB1c2VyOiBVc2VyXG4gIHVzZXJQcmltYXJ5R3VpbGQ6IFVzZXJQcmltYXJ5R3VpbGRcbiAgdm9pY2VTdGF0ZTogVm9pY2VTdGF0ZVxuICB3ZWJob29rOiBXZWJob29rXG59XG5cbi8vIE5PVEU6IHRoZSB0b3AtbGV2ZWwgb2JqZWN0cyBuZWVkIGJvdGggdGhlIGRlcGVuZGVuY2llcyBhbmQgYWx3YXlzUHJlc2VudHMgZXZlbiBpZiBlbXB0eSB3aGVuIHRoZSBrZXkgaXMgc3BlY2lmaWVkLCB0aGlzIGlzIGR1ZSB0aGUgZXh0ZW5kcyAmIG51bGxhYmlsaXR5IG9uIERlc2lyZWRQcm9wZXJ0aWVzTWV0YWRhdGFcbi8vICAgICAgIGludGVybmFsIHByb3BlcnRpZXMgbmVlZHMgdG8gYmUgaW4gdGhlIGFsd2F5c1ByZXNlbnRzIGFycmF5LCBkZXBlbmRpbmcgb24gYW4gYWx3YXlzIHByZXNlbnQgdmFsdWUgaXMgYWNjZXB0ZWRcblxuLyoqXG4gKiBNZXRhZGF0YSBmb3IgdHlwZXNjcmlwdCB0byBjcmVhdGUgdGhlIGNvcnJlY3QgdHlwZXMgZm9yIGRlc2lyZWQgcHJvcGVydGllc1xuICpcbiAqIEBwcml2YXRlIFRoaXMgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIHdpdGhvdXQgbm90aWNlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzTWV0YWRhdGEgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc01ldGFkYXRhIHtcbiAgY2hhbm5lbDoge1xuICAgIGRlcGVuZGVuY2llczoge1xuICAgICAgYXJjaGl2ZWQ6IFsndG9nZ2xlcyddXG4gICAgICBpbnZpdGFibGU6IFsndG9nZ2xlcyddXG4gICAgICBsb2NrZWQ6IFsndG9nZ2xlcyddXG4gICAgICBuc2Z3OiBbJ3RvZ2dsZXMnXVxuICAgICAgbmV3bHlDcmVhdGVkOiBbJ3RvZ2dsZXMnXVxuICAgICAgbWFuYWdlZDogWyd0b2dnbGVzJ11cbiAgICB9XG4gICAgYWx3YXlzUHJlc2VudHM6IFsndG9nZ2xlcycsICdpbnRlcm5hbE92ZXJ3cml0ZXMnLCAnaW50ZXJuYWxUaHJlYWRNZXRhZGF0YSddXG4gIH1cblxuICBndWlsZDoge1xuICAgIGRlcGVuZGVuY2llczoge1xuICAgICAgdGhyZWFkczogWydjaGFubmVscyddXG4gICAgICBmZWF0dXJlczogWyd0b2dnbGVzJ11cbiAgICB9XG4gICAgYWx3YXlzUHJlc2VudHM6IFtdXG4gIH1cblxuICBpbnRlcmFjdGlvbjoge1xuICAgIGRlcGVuZGVuY2llczoge1xuICAgICAgcmVzcG9uZDogWyd0eXBlJywgJ3Rva2VuJywgJ2lkJ11cbiAgICAgIGVkaXQ6IFsndHlwZScsICd0b2tlbicsICdpZCddXG4gICAgICBkZWZlckVkaXQ6IFsndHlwZScsICd0b2tlbicsICdpZCddXG4gICAgICBkZWZlcjogWyd0eXBlJywgJ3Rva2VuJywgJ2lkJ11cbiAgICAgIGRlbGV0ZTogWyd0eXBlJywgJ3Rva2VuJ11cbiAgICB9XG4gICAgYWx3YXlzUHJlc2VudHM6IFsnYm90JywgJ2Fja25vd2xlZGdlZCddXG4gIH1cblxuICBtZW1iZXI6IHtcbiAgICBkZXBlbmRlbmNpZXM6IHtcbiAgICAgIGRlYWY6IFsndG9nZ2xlcyddXG4gICAgICBtdXRlOiBbJ3RvZ2dsZXMnXVxuICAgICAgcGVuZGluZzogWyd0b2dnbGVzJ11cbiAgICAgIGZsYWdzOiBbJ3RvZ2dsZXMnXVxuICAgICAgZGlkUmVqb2luOiBbJ3RvZ2dsZXMnXVxuICAgICAgc3RhcnRlZE9uYm9hcmRpbmc6IFsndG9nZ2xlcyddXG4gICAgICBieXBhc3Nlc1ZlcmlmaWNhdGlvbjogWyd0b2dnbGVzJ11cbiAgICAgIGNvbXBsZXRlZE9uYm9hcmRpbmc6IFsndG9nZ2xlcyddXG4gICAgfVxuICAgIGFsd2F5c1ByZXNlbnRzOiBbXVxuICB9XG5cbiAgbWVzc2FnZToge1xuICAgIGRlcGVuZGVuY2llczoge1xuICAgICAgY3Jvc3Nwb3N0ZWQ6IFsnZmxhZ3MnXVxuICAgICAgZXBoZW1lcmFsOiBbJ2ZsYWdzJ11cbiAgICAgIGZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkOiBbJ2ZsYWdzJ11cbiAgICAgIGhhc1RocmVhZDogWydmbGFncyddXG4gICAgICBpc0Nyb3NzcG9zdDogWydmbGFncyddXG4gICAgICBsb2FkaW5nOiBbJ2ZsYWdzJ11cbiAgICAgIG1lbnRpb25lZFVzZXJJZHM6IFsnbWVudGlvbnMnXVxuICAgICAgbWVudGlvbkV2ZXJ5b25lOiBbJ2JpdGZpZWxkJ11cbiAgICAgIHBpbm5lZDogWydiaXRmaWVsZCddXG4gICAgICBzb3VyY2VNZXNzYWdlRGVsZXRlZDogWydmbGFncyddXG4gICAgICBzdXBwcmVzc0VtYmVkczogWydmbGFncyddXG4gICAgICBzdXBwcmVzc05vdGlmaWNhdGlvbnM6IFsnZmxhZ3MnXVxuICAgICAgdGltZXN0YW1wOiBbJ2lkJ11cbiAgICAgIHR0czogWydiaXRmaWVsZCddXG4gICAgICB1cmdlbnQ6IFsnZmxhZ3MnXVxuICAgIH1cbiAgICBhbHdheXNQcmVzZW50czogWydiaXRmaWVsZCcsICdmbGFncyddXG4gIH1cblxuICByb2xlOiB7XG4gICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICBob2lzdDogWyd0b2dnbGVzJ11cbiAgICAgIG1hbmFnZWQ6IFsndG9nZ2xlcyddXG4gICAgICBtZW50aW9uYWJsZTogWyd0b2dnbGVzJ11cbiAgICAgIHByZW1pdW1TdWJzY3JpYmVyOiBbJ3RvZ2dsZXMnXVxuICAgICAgYXZhaWxhYmxlRm9yUHVyY2hhc2U6IFsndG9nZ2xlcyddXG4gICAgICBndWlsZENvbm5lY3Rpb25zOiBbJ3RvZ2dsZXMnXVxuICAgIH1cbiAgICBhbHdheXNQcmVzZW50czogWydpbnRlcm5hbFRhZ3MnXVxuICB9XG5cbiAgdXNlcjoge1xuICAgIGRlcGVuZGVuY2llczoge1xuICAgICAgdGFnOiBbJ3VzZXJuYW1lJywgJ2Rpc2NyaW1pbmF0b3InXVxuICAgICAgYm90OiBbJ3RvZ2dsZXMnXVxuICAgICAgc3lzdGVtOiBbJ3RvZ2dsZXMnXVxuICAgICAgbWZhRW5hYmxlZDogWyd0b2dnbGVzJ11cbiAgICAgIHZlcmlmaWVkOiBbJ3RvZ2dsZXMnXVxuICAgIH1cbiAgICBhbHdheXNQcmVzZW50czogW11cbiAgfVxuXG4gIGVtb2ppOiB7XG4gICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICBhbmltYXRlZDogWyd0b2dnbGVzJ11cbiAgICAgIGF2YWlsYWJsZTogWyd0b2dnbGVzJ11cbiAgICAgIG1hbmFnZWQ6IFsndG9nZ2xlcyddXG4gICAgICByZXF1aXJlQ29sb25zOiBbJ3RvZ2dsZXMnXVxuICAgIH1cbiAgICBhbHdheXNQcmVzZW50czogWyd0b2dnbGVzJ11cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGVzaXJlZFByb3BlcnRpZXNPYmplY3Q8VCBleHRlbmRzIFJlY3Vyc2l2ZVBhcnRpYWw8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXM+LCBURGVmYXVsdCBleHRlbmRzIGJvb2xlYW4gPSBmYWxzZT4oXG4gIGRlc2lyZWRQcm9wZXJ0aWVzOiBULFxuICBkZWZhdWx0VmFsdWU6IFREZWZhdWx0ID0gZmFsc2UgYXMgVERlZmF1bHQsXG4pOiBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPFQsIFREZWZhdWx0PiB7XG4gIHJldHVybiB7XG4gICAgYWN0aXZpdHlJbnN0YW5jZToge1xuICAgICAgYXBwbGljYXRpb25JZDogZGVmYXVsdFZhbHVlLFxuICAgICAgaW5zdGFuY2VJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgbGF1bmNoSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGxvY2F0aW9uOiBkZWZhdWx0VmFsdWUsXG4gICAgICB1c2VyczogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuYWN0aXZpdHlJbnN0YW5jZSxcbiAgICB9LFxuICAgIGFjdGl2aXR5TG9jYXRpb246IHtcbiAgICAgIGNoYW5uZWxJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgZ3VpbGRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGtpbmQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmFjdGl2aXR5TG9jYXRpb24sXG4gICAgfSxcbiAgICBhdHRhY2htZW50OiB7XG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgZmlsZW5hbWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRpdGxlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb250ZW50VHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgc2l6ZTogZGVmYXVsdFZhbHVlLFxuICAgICAgdXJsOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwcm94eVVybDogZGVmYXVsdFZhbHVlLFxuICAgICAgaGVpZ2h0OiBkZWZhdWx0VmFsdWUsXG4gICAgICB3aWR0aDogZGVmYXVsdFZhbHVlLFxuICAgICAgZXBoZW1lcmFsOiBkZWZhdWx0VmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgZHVyYXRpb25fc2VjczogZGVmYXVsdFZhbHVlLFxuICAgICAgd2F2ZWZvcm06IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGZsYWdzOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5hdHRhY2htZW50LFxuICAgIH0sXG4gICAgY2hhbm5lbDoge1xuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgcG9zaXRpb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG5hbWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRvcGljOiBkZWZhdWx0VmFsdWUsXG4gICAgICBiaXRyYXRlOiBkZWZhdWx0VmFsdWUsXG4gICAgICB1c2VyTGltaXQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHJhdGVMaW1pdFBlclVzZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHJ0Y1JlZ2lvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgdmlkZW9RdWFsaXR5TW9kZTogZGVmYXVsdFZhbHVlLFxuICAgICAgZ3VpbGRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgbGFzdFBpblRpbWVzdGFtcDogZGVmYXVsdFZhbHVlLFxuICAgICAgcGVybWlzc2lvbk92ZXJ3cml0ZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwZXJtaXNzaW9uczogZGVmYXVsdFZhbHVlLFxuICAgICAgbGFzdE1lc3NhZ2VJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgb3duZXJJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgYXBwbGljYXRpb25JZDogZGVmYXVsdFZhbHVlLFxuICAgICAgcGFyZW50SWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1lbWJlckNvdW50OiBkZWZhdWx0VmFsdWUsXG4gICAgICBtZXNzYWdlQ291bnQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRlZmF1bHRBdXRvQXJjaGl2ZUR1cmF0aW9uOiBkZWZhdWx0VmFsdWUsXG4gICAgICBmbGFnczogZGVmYXVsdFZhbHVlLFxuICAgICAgYXBwbGllZFRhZ3M6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGF2YWlsYWJsZVRhZ3M6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRlZmF1bHRGb3J1bUxheW91dDogZGVmYXVsdFZhbHVlLFxuICAgICAgZGVmYXVsdFJlYWN0aW9uRW1vamk6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRlZmF1bHRTb3J0T3JkZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRlZmF1bHRUaHJlYWRSYXRlTGltaXRQZXJVc2VyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpY29uOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtZW1iZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHJlY2lwaWVudHM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRvdGFsTWVzc2FnZVNlbnQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRocmVhZE1ldGFkYXRhOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5jaGFubmVsLFxuICAgIH0sXG4gICAgY29sbGVjdGlibGVzOiB7XG4gICAgICBuYW1lcGxhdGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbGxlY3RpYmxlcyxcbiAgICB9LFxuICAgIGNvbXBvbmVudDoge1xuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgY3VzdG9tSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHJlcXVpcmVkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBkaXNhYmxlZDogZGVmYXVsdFZhbHVlLFxuICAgICAgc3R5bGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGxhYmVsOiBkZWZhdWx0VmFsdWUsXG4gICAgICB2YWx1ZTogZGVmYXVsdFZhbHVlLFxuICAgICAgZW1vamk6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHVybDogZGVmYXVsdFZhbHVlLFxuICAgICAgY2hhbm5lbFR5cGVzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBvcHRpb25zOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwbGFjZWhvbGRlcjogZGVmYXVsdFZhbHVlLFxuICAgICAgbWluVmFsdWVzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtYXhWYWx1ZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1pbkxlbmd0aDogZGVmYXVsdFZhbHVlLFxuICAgICAgbWF4TGVuZ3RoOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb21wb25lbnRzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBkZWZhdWx0VmFsdWVzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBza3VJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFjY2Vzc29yeTogZGVmYXVsdFZhbHVlLFxuICAgICAgY29udGVudDogZGVmYXVsdFZhbHVlLFxuICAgICAgZGVzY3JpcHRpb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNwb2lsZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGl0ZW1zOiBkZWZhdWx0VmFsdWUsXG4gICAgICBkaXZpZGVyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzcGFjaW5nOiBkZWZhdWx0VmFsdWUsXG4gICAgICBmaWxlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtZWRpYTogZGVmYXVsdFZhbHVlLFxuICAgICAgYWNjZW50Q29sb3I6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG5hbWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNpemU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNvbXBvbmVudDogZGVmYXVsdFZhbHVlLFxuICAgICAgdmFsdWVzOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQsXG4gICAgfSxcbiAgICBmb3J1bVRhZzoge1xuICAgICAgZW1vamlJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgZW1vamlOYW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgbW9kZXJhdGVkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBuYW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5mb3J1bVRhZyxcbiAgICB9LFxuICAgIGVtb2ppOiB7XG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgbmFtZTogZGVmYXVsdFZhbHVlLFxuICAgICAgcm9sZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHVzZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmVtb2ppLFxuICAgIH0sXG4gICAgZGVmYXVsdFJlYWN0aW9uRW1vamk6IHtcbiAgICAgIGVtb2ppSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGVtb2ppTmFtZTogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuZGVmYXVsdFJlYWN0aW9uRW1vamksXG4gICAgfSxcbiAgICBndWlsZDoge1xuICAgICAgYWZrVGltZW91dDogZGVmYXVsdFZhbHVlLFxuICAgICAgYXBwcm94aW1hdGVNZW1iZXJDb3VudDogZGVmYXVsdFZhbHVlLFxuICAgICAgYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50OiBkZWZhdWx0VmFsdWUsXG4gICAgICBkZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBkZWZhdWx0VmFsdWUsXG4gICAgICBleHBsaWNpdENvbnRlbnRGaWx0ZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1heE1lbWJlcnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1heFByZXNlbmNlczogZGVmYXVsdFZhbHVlLFxuICAgICAgbWF4VmlkZW9DaGFubmVsVXNlcnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1mYUxldmVsOiBkZWZhdWx0VmFsdWUsXG4gICAgICBuYW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjaGFubmVsczogZGVmYXVsdFZhbHVlLFxuICAgICAgZW1vamlzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpY29uSGFzaDogZGVmYXVsdFZhbHVlLFxuICAgICAgbGFyZ2U6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1lbWJlcnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG93bmVyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwcmVzZW5jZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHJvbGVzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzdGlja2VyczogZGVmYXVsdFZhbHVlLFxuICAgICAgdG9nZ2xlczogZGVmYXVsdFZhbHVlLFxuICAgICAgdW5hdmFpbGFibGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHZvaWNlU3RhdGVzOiBkZWZhdWx0VmFsdWUsXG4gICAgICB3aWRnZXRFbmFibGVkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBuc2Z3TGV2ZWw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHByZWZlcnJlZExvY2FsZTogZGVmYXVsdFZhbHVlLFxuICAgICAgcHJlbWl1bVN1YnNjcmlwdGlvbkNvdW50OiBkZWZhdWx0VmFsdWUsXG4gICAgICBwcmVtaXVtVGllcjogZGVmYXVsdFZhbHVlLFxuICAgICAgc3RhZ2VJbnN0YW5jZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHN5c3RlbUNoYW5uZWxGbGFnczogZGVmYXVsdFZhbHVlLFxuICAgICAgdmFuaXR5VXJsQ29kZTogZGVmYXVsdFZhbHVlLFxuICAgICAgdmVyaWZpY2F0aW9uTGV2ZWw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHdlbGNvbWVTY3JlZW46IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRpc2NvdmVyeVNwbGFzaDogZGVmYXVsdFZhbHVlLFxuICAgICAgam9pbmVkQXQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1lbWJlckNvdW50OiBkZWZhdWx0VmFsdWUsXG4gICAgICBzaGFyZElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpY29uOiBkZWZhdWx0VmFsdWUsXG4gICAgICBiYW5uZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNwbGFzaDogZGVmYXVsdFZhbHVlLFxuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG93bmVySWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHBlcm1pc3Npb25zOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhZmtDaGFubmVsSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHdpZGdldENoYW5uZWxJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgYXBwbGljYXRpb25JZDogZGVmYXVsdFZhbHVlLFxuICAgICAgc3lzdGVtQ2hhbm5lbElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBydWxlc0NoYW5uZWxJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgcHVibGljVXBkYXRlc0NoYW5uZWxJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgcHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZDogZGVmYXVsdFZhbHVlLFxuICAgICAgc2FmZXR5QWxlcnRzQ2hhbm5lbElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtYXhTdGFnZVZpZGVvQ2hhbm5lbFVzZXJzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpbmNpZGVudHNEYXRhOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5ndWlsZCxcbiAgICB9LFxuICAgIGluY2lkZW50c0RhdGE6IHtcbiAgICAgIGRtU3BhbURldGVjdGVkQXQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRtc0Rpc2FibGVkVW50aWw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGludml0ZXNEaXNhYmxlZFVudGlsOiBkZWZhdWx0VmFsdWUsXG4gICAgICByYWlkRGV0ZWN0ZWRBdDogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuaW5jaWRlbnRzRGF0YSxcbiAgICB9LFxuICAgIGludGVyYWN0aW9uOiB7XG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgYXBwbGljYXRpb25JZDogZGVmYXVsdFZhbHVlLFxuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgZ3VpbGQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGd1aWxkSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNoYW5uZWw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNoYW5uZWxJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgbWVtYmVyOiBkZWZhdWx0VmFsdWUsXG4gICAgICB1c2VyOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0b2tlbjogZGVmYXVsdFZhbHVlLFxuICAgICAgdmVyc2lvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgbWVzc2FnZTogZGVmYXVsdFZhbHVlLFxuICAgICAgZGF0YTogZGVmYXVsdFZhbHVlLFxuICAgICAgbG9jYWxlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBndWlsZExvY2FsZTogZGVmYXVsdFZhbHVlLFxuICAgICAgZW50aXRsZW1lbnRzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhcHBQZXJtaXNzaW9uczogZGVmYXVsdFZhbHVlLFxuICAgICAgYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVyczogZGVmYXVsdFZhbHVlLFxuICAgICAgY29udGV4dDogZGVmYXVsdFZhbHVlLFxuICAgICAgYXR0YWNobWVudFNpemVMaW1pdDogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb24sXG4gICAgfSxcbiAgICBpbnRlcmFjdGlvbkNhbGxiYWNrOiB7XG4gICAgICB0eXBlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgYWN0aXZpdHlJbnN0YW5jZUlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICByZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHJlc3BvbnNlTWVzc2FnZUlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICByZXNwb25zZU1lc3NhZ2VMb2FkaW5nOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvbkNhbGxiYWNrLFxuICAgIH0sXG4gICAgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiB7XG4gICAgICBpbnRlcmFjdGlvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgcmVzb3VyY2U6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgICB9LFxuICAgIGludGVyYWN0aW9uUmVzb3VyY2U6IHtcbiAgICAgIHR5cGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFjdGl2aXR5SW5zdGFuY2U6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1lc3NhZ2U6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uUmVzb3VyY2UsXG4gICAgfSxcbiAgICBpbnZpdGU6IHtcbiAgICAgIHR5cGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNoYW5uZWxJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgY29kZTogZGVmYXVsdFZhbHVlLFxuICAgICAgY3JlYXRlZEF0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBndWlsZElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpbnZpdGVyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtYXhBZ2U6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1heFVzZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRhcmdldFR5cGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRhcmdldFVzZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRhcmdldEFwcGxpY2F0aW9uOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0ZW1wb3Jhcnk6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHVzZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFwcHJveGltYXRlTWVtYmVyQ291bnQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFwcHJveGltYXRlUHJlc2VuY2VDb3VudDogZGVmYXVsdFZhbHVlLFxuICAgICAgZ3VpbGRTY2hlZHVsZWRFdmVudDogZGVmYXVsdFZhbHVlLFxuICAgICAgZXhwaXJlc0F0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBmbGFnczogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuaW52aXRlLFxuICAgIH0sXG4gICAgbWVtYmVyOiB7XG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgZ3VpbGRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgdXNlcjogZGVmYXVsdFZhbHVlLFxuICAgICAgbmljazogZGVmYXVsdFZhbHVlLFxuICAgICAgcm9sZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGpvaW5lZEF0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBwcmVtaXVtU2luY2U6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGF2YXRhcjogZGVmYXVsdFZhbHVlLFxuICAgICAgYmFubmVyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwZXJtaXNzaW9uczogZGVmYXVsdFZhbHVlLFxuICAgICAgY29tbXVuaWNhdGlvbkRpc2FibGVkVW50aWw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRvZ2dsZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGF2YXRhckRlY29yYXRpb25EYXRhOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5tZW1iZXIsXG4gICAgfSxcbiAgICBtZXNzYWdlOiB7XG4gICAgICBhY3Rpdml0eTogZGVmYXVsdFZhbHVlLFxuICAgICAgYXBwbGljYXRpb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFwcGxpY2F0aW9uSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGF0dGFjaG1lbnRzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhdXRob3I6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNoYW5uZWxJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgY29tcG9uZW50czogZGVmYXVsdFZhbHVlLFxuICAgICAgY29udGVudDogZGVmYXVsdFZhbHVlLFxuICAgICAgZWRpdGVkVGltZXN0YW1wOiBkZWZhdWx0VmFsdWUsXG4gICAgICBlbWJlZHM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGd1aWxkSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpbnRlcmFjdGlvbk1ldGFkYXRhOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpbnRlcmFjdGlvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgbWVtYmVyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtZW50aW9uZWRDaGFubmVsSWRzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtZW50aW9uZWRSb2xlSWRzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtZW50aW9uczogZGVmYXVsdFZhbHVlLFxuICAgICAgbWVzc2FnZVJlZmVyZW5jZTogZGVmYXVsdFZhbHVlLFxuICAgICAgbWVzc2FnZVNuYXBzaG90czogZGVmYXVsdFZhbHVlLFxuICAgICAgcmVmZXJlbmNlZE1lc3NhZ2U6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG5vbmNlOiBkZWZhdWx0VmFsdWUsXG4gICAgICByZWFjdGlvbnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHN0aWNrZXJJdGVtczogZGVmYXVsdFZhbHVlLFxuICAgICAgdGhyZWFkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0eXBlOiBkZWZhdWx0VmFsdWUsXG4gICAgICB3ZWJob29rSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHBvbGw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNhbGw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2UsXG4gICAgfSxcbiAgICBtZXNzYWdlU25hcHNob3Q6IHtcbiAgICAgIG1lc3NhZ2U6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VTbmFwc2hvdCxcbiAgICB9LFxuICAgIG1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhOiB7XG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgdXNlcjogZGVmYXVsdFZhbHVlLFxuICAgICAgYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVyczogZGVmYXVsdFZhbHVlLFxuICAgICAgb3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgaW50ZXJhY3RlZE1lc3NhZ2VJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgdHJpZ2dlcmluZ0ludGVyYWN0aW9uTWV0YWRhdGE6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRhcmdldE1lc3NhZ2VJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgdGFyZ2V0VXNlcjogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gICAgfSxcbiAgICBtZXNzYWdlUGluOiB7XG4gICAgICBtZXNzYWdlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwaW5uZWRBdDogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVBpbixcbiAgICB9LFxuICAgIG1lc3NhZ2VJbnRlcmFjdGlvbjoge1xuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1lbWJlcjogZGVmYXVsdFZhbHVlLFxuICAgICAgbmFtZTogZGVmYXVsdFZhbHVlLFxuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgdXNlcjogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUludGVyYWN0aW9uLFxuICAgIH0sXG4gICAgbWVzc2FnZVJlZmVyZW5jZToge1xuICAgICAgbWVzc2FnZUlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjaGFubmVsSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGd1aWxkSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VSZWZlcmVuY2UsXG4gICAgfSxcbiAgICBtZXNzYWdlQ2FsbDoge1xuICAgICAgcGFydGljaXBhbnRzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBlbmRlZFRpbWVzdGFtcDogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUNhbGwsXG4gICAgfSxcbiAgICBuYW1lcGxhdGU6IHtcbiAgICAgIHNrdUlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhc3NldDogZGVmYXVsdFZhbHVlLFxuICAgICAgbGFiZWw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHBhbGV0dGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLm5hbWVwbGF0ZSxcbiAgICB9LFxuICAgIHJvbGU6IHtcbiAgICAgIG5hbWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGd1aWxkSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHBvc2l0aW9uOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb2xvcjogZGVmYXVsdFZhbHVlLFxuICAgICAgY29sb3JzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgcGVybWlzc2lvbnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGljb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHVuaWNvZGVFbW9qaTogZGVmYXVsdFZhbHVlLFxuICAgICAgZmxhZ3M6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRhZ3M6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRvZ2dsZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLnJvbGUsXG4gICAgfSxcbiAgICByb2xlQ29sb3JzOiB7XG4gICAgICBwcmltYXJ5Q29sb3I6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNlY29uZGFyeUNvbG9yOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0ZXJ0aWFyeUNvbG9yOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5yb2xlQ29sb3JzLFxuICAgIH0sXG4gICAgc2NoZWR1bGVkRXZlbnQ6IHtcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBndWlsZElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjaGFubmVsSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNyZWF0b3JJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgc2NoZWR1bGVkU3RhcnRUaW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzY2hlZHVsZWRFbmRUaW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICBlbnRpdHlJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgY3JlYXRvcjogZGVmYXVsdFZhbHVlLFxuICAgICAgbmFtZTogZGVmYXVsdFZhbHVlLFxuICAgICAgZGVzY3JpcHRpb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHByaXZhY3lMZXZlbDogZGVmYXVsdFZhbHVlLFxuICAgICAgc3RhdHVzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBlbnRpdHlUeXBlOiBkZWZhdWx0VmFsdWUsXG4gICAgICB1c2VyQ291bnQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGxvY2F0aW9uOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpbWFnZTogZGVmYXVsdFZhbHVlLFxuICAgICAgcmVjdXJyZW5jZVJ1bGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLnNjaGVkdWxlZEV2ZW50LFxuICAgIH0sXG4gICAgc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZToge1xuICAgICAgc3RhcnQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGVuZDogZGVmYXVsdFZhbHVlLFxuICAgICAgZnJlcXVlbmN5OiBkZWZhdWx0VmFsdWUsXG4gICAgICBpbnRlcnZhbDogZGVmYXVsdFZhbHVlLFxuICAgICAgYnlXZWVrZGF5OiBkZWZhdWx0VmFsdWUsXG4gICAgICBieU5XZWVrZGF5OiBkZWZhdWx0VmFsdWUsXG4gICAgICBieU1vbnRoOiBkZWZhdWx0VmFsdWUsXG4gICAgICBieU1vbnRoRGF5OiBkZWZhdWx0VmFsdWUsXG4gICAgICBieVllYXJEYXk6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNvdW50OiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5zY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICAgIH0sXG4gICAgc3RhZ2VJbnN0YW5jZToge1xuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGd1aWxkSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNoYW5uZWxJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgdG9waWM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGd1aWxkU2NoZWR1bGVkRXZlbnRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuc3RhZ2VJbnN0YW5jZSxcbiAgICB9LFxuICAgIGludml0ZVN0YWdlSW5zdGFuY2U6IHtcbiAgICAgIG1lbWJlcnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHBhcnRpY2lwYW50Q291bnQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNwZWFrZXJDb3VudDogZGVmYXVsdFZhbHVlLFxuICAgICAgdG9waWM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmludml0ZVN0YWdlSW5zdGFuY2UsXG4gICAgfSxcbiAgICBtZWRpYUdhbGxlcnlJdGVtOiB7XG4gICAgICBtZWRpYTogZGVmYXVsdFZhbHVlLFxuICAgICAgZGVzY3JpcHRpb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNwb2lsZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLm1lZGlhR2FsbGVyeUl0ZW0sXG4gICAgfSxcbiAgICBzdGlja2VyOiB7XG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgcGFja0lkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBuYW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgdGFnczogZGVmYXVsdFZhbHVlLFxuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgZm9ybWF0VHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgYXZhaWxhYmxlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBndWlsZElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB1c2VyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzb3J0VmFsdWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLnN0aWNrZXIsXG4gICAgfSxcbiAgICB1bmZ1cmxlZE1lZGlhSXRlbToge1xuICAgICAgdXJsOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwcm94eVVybDogZGVmYXVsdFZhbHVlLFxuICAgICAgaGVpZ2h0OiBkZWZhdWx0VmFsdWUsXG4gICAgICB3aWR0aDogZGVmYXVsdFZhbHVlLFxuICAgICAgY29udGVudFR5cGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGF0dGFjaG1lbnRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMudW5mdXJsZWRNZWRpYUl0ZW0sXG4gICAgfSxcbiAgICB1c2VyOiB7XG4gICAgICB1c2VybmFtZTogZGVmYXVsdFZhbHVlLFxuICAgICAgZ2xvYmFsTmFtZTogZGVmYXVsdFZhbHVlLFxuICAgICAgbG9jYWxlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBmbGFnczogZGVmYXVsdFZhbHVlLFxuICAgICAgcHJlbWl1bVR5cGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHB1YmxpY0ZsYWdzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhY2NlbnRDb2xvcjogZGVmYXVsdFZhbHVlLFxuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRpc2NyaW1pbmF0b3I6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGF2YXRhcjogZGVmYXVsdFZhbHVlLFxuICAgICAgZW1haWw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGJhbm5lcjogZGVmYXVsdFZhbHVlLFxuICAgICAgYXZhdGFyRGVjb3JhdGlvbkRhdGE6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRvZ2dsZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNvbGxlY3RpYmxlczogZGVmYXVsdFZhbHVlLFxuICAgICAgcHJpbWFyeUd1aWxkOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy51c2VyLFxuICAgIH0sXG4gICAgdXNlclByaW1hcnlHdWlsZDoge1xuICAgICAgaWRlbnRpdHlHdWlsZElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpZGVudGl0eUVuYWJsZWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRhZzogZGVmYXVsdFZhbHVlLFxuICAgICAgYmFkZ2U6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLnVzZXJQcmltYXJ5R3VpbGQsXG4gICAgfSxcbiAgICBhdmF0YXJEZWNvcmF0aW9uRGF0YToge1xuICAgICAgYXNzZXQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNrdUlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5hdmF0YXJEZWNvcmF0aW9uRGF0YSxcbiAgICB9LFxuICAgIHdlYmhvb2s6IHtcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0eXBlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBndWlsZElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjaGFubmVsSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHVzZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG5hbWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGF2YXRhcjogZGVmYXVsdFZhbHVlLFxuICAgICAgdG9rZW46IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFwcGxpY2F0aW9uSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNvdXJjZUd1aWxkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzb3VyY2VDaGFubmVsOiBkZWZhdWx0VmFsdWUsXG4gICAgICB1cmw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLndlYmhvb2ssXG4gICAgfSxcbiAgICBndWlsZE9uYm9hcmRpbmc6IHtcbiAgICAgIGRlZmF1bHRDaGFubmVsSWRzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBlbmFibGVkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBndWlsZElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtb2RlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwcm9tcHRzOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5ndWlsZE9uYm9hcmRpbmcsXG4gICAgfSxcbiAgICBndWlsZE9uYm9hcmRpbmdQcm9tcHQ6IHtcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpbk9uYm9hcmRpbmc6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG9wdGlvbnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHJlcXVpcmVkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzaW5nbGVTZWxlY3Q6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRpdGxlOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0eXBlOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5ndWlsZE9uYm9hcmRpbmdQcm9tcHQsXG4gICAgfSxcbiAgICBndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb246IHtcbiAgICAgIGNoYW5uZWxJZHM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBkZWZhdWx0VmFsdWUsXG4gICAgICBlbW9qaTogZGVmYXVsdFZhbHVlLFxuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHJvbGVJZHM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRpdGxlOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5ndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24sXG4gICAgfSxcbiAgICBlbnRpdGxlbWVudDoge1xuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNrdUlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB1c2VySWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGd1aWxkSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFwcGxpY2F0aW9uSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHR5cGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRlbGV0ZWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHN0YXJ0c0F0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBlbmRzQXQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNvbnN1bWVkOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5lbnRpdGxlbWVudCxcbiAgICB9LFxuICAgIHNrdToge1xuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHR5cGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFwcGxpY2F0aW9uSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG5hbWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNsdWc6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGZsYWdzOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5za3UsXG4gICAgfSxcbiAgICB2b2ljZVN0YXRlOiB7XG4gICAgICByZXF1ZXN0VG9TcGVha1RpbWVzdGFtcDogZGVmYXVsdFZhbHVlLFxuICAgICAgY2hhbm5lbElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBndWlsZElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0b2dnbGVzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzZXNzaW9uSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHVzZXJJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMudm9pY2VTdGF0ZSxcbiAgICB9LFxuICAgIHBvbGw6IHtcbiAgICAgIHF1ZXN0aW9uOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhbnN3ZXJzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBleHBpcnk6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGxheW91dFR5cGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFsbG93TXVsdGlzZWxlY3Q6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHJlc3VsdHM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLnBvbGwsXG4gICAgfSxcbiAgICBwb2xsQW5zd2VyOiB7XG4gICAgICBhbnN3ZXJJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgcG9sbE1lZGlhOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5wb2xsQW5zd2VyLFxuICAgIH0sXG4gICAgcG9sbFJlc3VsdDoge1xuICAgICAgaXNGaW5hbGl6ZWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFuc3dlckNvdW50czogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMucG9sbFJlc3VsdCxcbiAgICB9LFxuICAgIHBvbGxBbnN3ZXJDb3VudDoge1xuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNvdW50OiBkZWZhdWx0VmFsdWUsXG4gICAgICBtZVZvdGVkOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5wb2xsQW5zd2VyQ291bnQsXG4gICAgfSxcbiAgICBwb2xsTWVkaWE6IHtcbiAgICAgIHRleHQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGVtb2ppOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5wb2xsTWVkaWEsXG4gICAgfSxcbiAgICBzdWJzY3JpcHRpb246IHtcbiAgICAgIGNhbmNlbGVkQXQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNvdW50cnk6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGN1cnJlbnRQZXJpb2RFbmQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGN1cnJlbnRQZXJpb2RTdGFydDogZGVmYXVsdFZhbHVlLFxuICAgICAgcmVuZXdhbFNrdUlkczogZGVmYXVsdFZhbHVlLFxuICAgICAgZW50aXRsZW1lbnRJZHM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBza3VJZHM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHN0YXR1czogZGVmYXVsdFZhbHVlLFxuICAgICAgdXNlcklkOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5zdWJzY3JpcHRpb24sXG4gICAgfSxcbiAgICBzb3VuZGJvYXJkU291bmQ6IHtcbiAgICAgIGF2YWlsYWJsZTogZGVmYXVsdFZhbHVlLFxuICAgICAgZW1vamlJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgZW1vamlOYW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICBndWlsZElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBuYW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzb3VuZElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB1c2VyOiBkZWZhdWx0VmFsdWUsXG4gICAgICB2b2x1bWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLnNvdW5kYm9hcmRTb3VuZCxcbiAgICB9LFxuICAgIGxvYmJ5OiB7XG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgYXBwbGljYXRpb25JZDogZGVmYXVsdFZhbHVlLFxuICAgICAgbWV0YWRhdGE6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1lbWJlcnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGxpbmtlZENoYW5uZWw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmxvYmJ5LFxuICAgIH0sXG4gICAgbG9iYnlNZW1iZXI6IHtcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtZXRhZGF0YTogZGVmYXVsdFZhbHVlLFxuICAgICAgZmxhZ3M6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmxvYmJ5TWVtYmVyLFxuICAgIH0sXG4gIH0gc2F0aXNmaWVzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIGFzIENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8VCwgVERlZmF1bHQ+XG59XG5cbi8qKiBAcHJpdmF0ZSBUaGlzIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyB3aXRob3V0IG5vdGljZXMgKi9cbmV4cG9ydCB0eXBlIEtleUJ5VmFsdWU8VE9iaiwgVFZhbHVlPiA9IHtcbiAgW0tleSBpbiBrZXlvZiBUT2JqXTogVE9ialtLZXldIGV4dGVuZHMgVFZhbHVlID8gS2V5IDogbmV2ZXJcbn1ba2V5b2YgVE9ial1cblxuLyoqIEBwcml2YXRlIFRoaXMgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIHdpdGhvdXQgbm90aWNlcyAqL1xuZXhwb3J0IHR5cGUgQ29tcGxldGU8VE9iaiwgVERlZmF1bHQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUT2JqXS0/OiB1bmRlZmluZWQgZXh0ZW5kcyBUT2JqW0tdID8gVERlZmF1bHQgOiBFeGNsdWRlPFRPYmpbS10sIHVuZGVmaW5lZD5cbn1cblxuLyoqIEBwcml2YXRlIFRoaXMgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIHdpdGhvdXQgbm90aWNlcyAqL1xuZXhwb3J0IHR5cGUgSm9pblR1cGxlPFQgZXh0ZW5kcyBzdHJpbmdbXSwgVERlbGltaXRlciBleHRlbmRzIHN0cmluZz4gPSBUIGV4dGVuZHMgcmVhZG9ubHkgW2luZmVyIEYgZXh0ZW5kcyBzdHJpbmcsIC4uLmluZmVyIFIgZXh0ZW5kcyBzdHJpbmdbXV1cbiAgPyBSWydsZW5ndGgnXSBleHRlbmRzIDBcbiAgICA/IEZcbiAgICA6IGAke0Z9JHtURGVsaW1pdGVyfSR7Sm9pblR1cGxlPFIsIFREZWxpbWl0ZXI+fWBcbiAgOiAnJ1xuXG4vKiogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzICovXG5leHBvcnQgdHlwZSBEZXNpcmVkUHJvcGVydGllc01ldGFkYXRhID0ge1xuICBbSyBpbiBrZXlvZiBUcmFuc2Zvcm1lcnNPYmplY3RzXToge1xuICAgIGRlcGVuZGVuY2llcz86IHtcbiAgICAgIFtLZXkgaW4ga2V5b2YgVHJhbnNmb3JtZXJzT2JqZWN0c1tLXV0/OiAoa2V5b2YgVHJhbnNmb3JtZXJzT2JqZWN0c1tLXSlbXVxuICAgIH1cbiAgICBhbHdheXNQcmVzZW50cz86IChrZXlvZiBUcmFuc2Zvcm1lcnNPYmplY3RzW0tdKVtdXG4gIH1cbn1cblxuLyoqIEBwcml2YXRlIFRoaXMgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIHdpdGhvdXQgbm90aWNlcyAqL1xuZXhwb3J0IHR5cGUgRGVzaXJhYmxlUHJvcGVydGllczxcbiAgVCBleHRlbmRzIFRyYW5zZm9ybWVyc09iamVjdHNba2V5b2YgVHJhbnNmb3JtZXJzT2JqZWN0c10sXG4gIFRLZXkgZXh0ZW5kcyBrZXlvZiBUcmFuc2Zvcm1lcnNPYmplY3RzID0gS2V5QnlWYWx1ZTxUcmFuc2Zvcm1lcnNPYmplY3RzLCBUPixcbj4gPSBFeGNsdWRlPFxuICBrZXlvZiBULFxuICAvLyBFeGNsdWRlIHRoZSBwcm9wcyB0aGF0IGRlcGVuZCBvbiBzb21ldGhpbmcgZWxzZSBmcm9tIHRoZSBkZXNpcmFibGUgcHJvcGVydGllc1xuICB8IGtleW9mIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzTWV0YWRhdGFbVEtleV1bJ2RlcGVuZGVuY2llcyddXG4gIC8vIENoZWNrIGlmIGFsbCB0aGUga2V5cyBhcmUgXCJhbHdheXMgcHJlc2VudHNcIiwgaWYgdGhpcyBpcyB0aGUgY2FzZSBpdCBtZWFucyB3ZSBkaWQgbm90IHNwZWNpZnkgYW55IGFsd2F5cyBwcmVzZW50IGtleVxuICB8IChrZXlvZiBUIGV4dGVuZHMgTm9uTnVsbGFibGU8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXNNZXRhZGF0YVtUS2V5XVsnYWx3YXlzUHJlc2VudHMnXT5bbnVtYmVyXVxuICAgICAgPyBuZXZlclxuICAgICAgOiBOb25OdWxsYWJsZTxUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllc01ldGFkYXRhW1RLZXldWydhbHdheXNQcmVzZW50cyddPltudW1iZXJdKVxuPlxuXG4vKiogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzICovXG5leHBvcnQgdHlwZSBEZXNpcmVkUHJvcGVydGllc01hcHBlcjxUIGV4dGVuZHMgVHJhbnNmb3JtZXJzT2JqZWN0c1trZXlvZiBUcmFuc2Zvcm1lcnNPYmplY3RzXT4gPSB7XG4gIFtLZXkgaW4gRGVzaXJhYmxlUHJvcGVydGllczxUPl06IGJvb2xlYW5cbn1cblxuZGVjbGFyZSBjb25zdCBUeXBlRXJyb3JTeW1ib2w6IHVuaXF1ZSBzeW1ib2xcblxuLyoqIEBwcml2YXRlIFRoaXMgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIHdpdGhvdXQgbm90aWNlcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXNpcmVkUHJvcGVydGllc0Vycm9yPFQgZXh0ZW5kcyBzdHJpbmc+IHtcbiAgW1R5cGVFcnJvclN5bWJvbF06IFRcbn1cblxuLyoqIEBwcml2YXRlIFRoaXMgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIHdpdGhvdXQgbm90aWNlcyAqL1xuZXhwb3J0IHR5cGUgQXJlRGVwZW5kZW5jaWVzU2F0aXNmaWVkPFQsIFREZXBlbmRlbmNpZXMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gfCB1bmRlZmluZWQsIFRQcm9wcz4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBJc0tleURlc2lyZWQ8VFtLXSwgVERlcGVuZGVuY2llcywgVFByb3BzPiBleHRlbmRzIHRydWUgPyB0cnVlIDogZmFsc2Vcbn1cblxuLyoqIEBwcml2YXRlIFRoaXMgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIHdpdGhvdXQgbm90aWNlcyAqL1xuZXhwb3J0IHR5cGUgSXNLZXlEZXNpcmVkPFRLZXksIFREZXBlbmRlbmNpZXMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gfCB1bmRlZmluZWQsIFRQcm9wcz4gPSBUS2V5IGV4dGVuZHMga2V5b2YgVFByb3BzIC8vIFRoZSBrZXkgaGFzIGEgZGVzaXJlZCBwcm9wcz9cbiAgPyAvLyBZZXMsIGlzIGl0IHRydWU/XG4gICAgVFByb3BzW1RLZXldIGV4dGVuZHMgdHJ1ZVxuICAgID8gLy8gWWVzLCB0aGlzIGlzIGEga2V5IHRvIGluY2x1ZGVcbiAgICAgIHRydWVcbiAgICA6IC8vIE5vLCB0aGlzIGlzIGEga2V5IHRvIGV4Y2x1ZGVcbiAgICAgIERlc2lyZWRQcm9wZXJ0aWVzRXJyb3I8YFRoaXMgcHJvcGVydHkgaXMgbm90IHNldCBhcyBkZXNpcmVkIGluIGRlc2lyZWRQcm9wZXJ0aWVzIG9wdGlvbiBpbiBjcmVhdGVCb3QoKSwgc28geW91IGNhbid0IHVzZSBpdC4gTW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vZGlzY29yZGVuby5qcy5vcmcvZGVzaXJlZC1wcm9wc2A+XG4gIDogLy8gTm8sIGl0IGlzIGEgcHJvcHMgd2l0aCBkZXBlbmRlbmNpZXM/XG4gICAgVEtleSBleHRlbmRzIGtleW9mIFREZXBlbmRlbmNpZXNcbiAgICA/IC8vIFllcywgaGFzIGFsbCBvZiBpdHMgZGVwZW5kZW5jaWVzIHNhdGlzZmllZD9cbiAgICAgIEFyZURlcGVuZGVuY2llc1NhdGlzZmllZDxURGVwZW5kZW5jaWVzW1RLZXldLCBURGVwZW5kZW5jaWVzLCBUUHJvcHM+IGV4dGVuZHMgdHJ1ZVtdXG4gICAgICA/IC8vIFllcywgdGhpcyBpcyBhIGtleSB0byBpbmNsdWRlXG4gICAgICAgIHRydWVcbiAgICAgIDogLy8gTm8sIHRoaXMgaXMgYSBrZXkgdG8gbm90IGluY2x1ZGVcbiAgICAgICAgRGVzaXJlZFByb3BlcnRpZXNFcnJvcjxgVGhpcyBwcm9wZXJ0eSBkZXBlbmRzIG9uIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczogJHtKb2luVHVwbGU8Tm9uTnVsbGFibGU8VERlcGVuZGVuY2llcz5bVEtleV0sICcsICc+fS4gTm90IGFsbCBvZiB0aGVzZSBwcm9wcyBhcmUgc2V0IGFzIGRlc2lyZWQgaW4gZGVzaXJlZFByb3BlcnRpZXMgb3B0aW9uIGluIGNyZWF0ZUJvdCgpLCBzbyB5b3UgY2FuJ3QgdXNlIGl0LiBNb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9kaXNjb3JkZW5vLmpzLm9yZy9kZXNpcmVkLXByb3BzYD5cbiAgICA6IC8vIE5vLCB3ZSBpbmNsdWRlIGl0IGJ1dCBpdCBkb2VzIG5vdCBoYXZlIG5laXRoZXIgcHJvcHMgbm9yIGRlcGVuZGVuY2llc1xuICAgICAgdHJ1ZVxuXG4vKiogVGhlIGJlaGF2aW9yIGl0IHNob3VsZCBiZSB1c2VkIHdoZW4gcmVzb2x2aW5nIGFuIHVuZGVzaXJlZCBwcm9wZXJ0eSAqL1xuZXhwb3J0IGVudW0gRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciB7XG4gIC8qKiBXaGVuIHRoaXMgYmVoYXZpb3IgaXMgdXNlZCB0aGUga2V5IHdpbGwgYmUgbWlzc2luZyBjb21wbGV0ZWx5ICovXG4gIFJlbW92ZUtleSxcbiAgLyoqIFdoZW4gdGhpcyBiZWhhdmlvciBpcyB1c2VkIHRoZSBrZXkgd2lsbCBiZSBhIHN0cmluZyBleHBsYWluaW5nIHdoeSB0aGUgcHJvcGVydHkgaXMgZGlzYWJsZWQgKi9cbiAgQ2hhbmdlVHlwZSxcbn1cblxuLyoqIEBwcml2YXRlIFRoaXMgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIHdpdGhvdXQgbm90aWNlcyAqL1xuZXhwb3J0IHR5cGUgUmVtb3ZlS2V5SWZVbmRlc2lyZWQ8S2V5LCBULCBUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcz4gPSBJc0tleURlc2lyZWQ8XG4gIEtleSxcbiAgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXNNZXRhZGF0YVtLZXlCeVZhbHVlPFRyYW5zZm9ybWVyc09iamVjdHMsIFQ+XVsnZGVwZW5kZW5jaWVzJ10sXG4gIFRQcm9wc1tLZXlCeVZhbHVlPFRyYW5zZm9ybWVyc09iamVjdHMsIFQ+XVxuPiBleHRlbmRzIHRydWVcbiAgPyBLZXlcbiAgOiBuZXZlclxuXG4vKiogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzICovXG5leHBvcnQgdHlwZSBHZXRFcnJvcldoZW5VbmRlc2lyZWQ8XG4gIEtleSBleHRlbmRzIGtleW9mIFQsXG4gIFQsXG4gIFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxuICBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuICAvLyBUaGlzIGdlbmVyaWMgdmFsdWUgaXMgdXNlZCBhcyBhbiBhbGlhc1xuICBUSXNEZXNpcmVkID0gSXNLZXlEZXNpcmVkPFxuICAgIEtleSxcbiAgICBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllc01ldGFkYXRhW0tleUJ5VmFsdWU8VHJhbnNmb3JtZXJzT2JqZWN0cywgVD5dWydkZXBlbmRlbmNpZXMnXSxcbiAgICBUUHJvcHNbS2V5QnlWYWx1ZTxUcmFuc2Zvcm1lcnNPYmplY3RzLCBUPl1cbiAgPixcbj4gPSBUSXNEZXNpcmVkIGV4dGVuZHMgdHJ1ZSA/IFRyYW5zZm9ybVByb3BlcnR5PFRbS2V5XSwgVFByb3BzLCBUQmVoYXZpb3I+IDogVElzRGVzaXJlZFxuXG4vKiogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzICovXG5leHBvcnQgdHlwZSBJc09iamVjdDxUPiA9IFQgZXh0ZW5kcyBvYmplY3QgPyAoVCBleHRlbmRzIEZ1bmN0aW9uID8gZmFsc2UgOiB0cnVlKSA6IGZhbHNlXG5cbi8vIElmIHRoZSBvYmplY3QgaXMgYSB0cmFuc2Zvcm1lZCBvYmplY3QsIGEgY29sbGVjdGlvbiBvZiB0cmFuc2Zvcm1lZCBvYmplY3Qgb3IgYW4gYXJyYXkgb2YgdHJhbnNmb3JtZWQgb2JqZWN0cyB3ZSBuZWVkIHRvIGFwcGx5IHRoZSBkZXNpcmVkIHByb3BzIHRvIHRoZW0gYXMgd2VsbFxuLy8gTk9URTogY2hhbmdpbmcgdGhlIG9yZGVyIG9mIHRoZXNlIHRlcm5hcmllcyBjYW4gY2F1c2UgYnVncywgZm9yIHRoaXMgcmVhc29uIHdlIGNoZWNrIGluIHRoaXMgb3JkZXI6XG4vLyAgICAgIC0gSXMgaXQgYW4gYXJyYXk/XG4vLyAgICAgIC0gSXMgaXQgYSBjb2xsZWN0aW9uP1xuLy8gICAgICAtIElzIGl0IGEgYm90P1xuLy8gICAgICAtIElzIGl0IGEgdHJhbnNmb3JtZWQgb2JqZWN0P1xuLy8gICAgICAtIElzIGl0IGFuIGludGVyYWN0aW9uIHJlc29sdmVkIGRhdGEgbWVtYmVyP1xuLy8gICAgICAtIElzIGl0IGFuIGludGVyYWN0aW9uIHJlc29sdmVkIGRhdGEgY2hhbm5lbD9cbi8vICAgICAgLSBJcyBpdCBhbiBvYmplY3Q/XG4vLyAgICAgIC0gSXQncyBub3QgYW4gb2JqZWN0XG5cbi8qKlxuICogVHJhbnNmb3JtIGEgZ2VuZXJpYyBvYmplY3QgcHJvcGVydGllcyBiYXNlZCBvbiB0aGUgZGVzaXJlZCBwcm9wZXJ0aWVzIGFuZCBiZWhhdmlvciBmb3Igb3RoZXIgdHJhbnNmb3JtZXIgb2JqZWN0cyBpbiB0aGUgb2JqZWN0LlxuICovXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1Qcm9wZXJ0eTxULCBUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSBUIGV4dGVuZHMgQXJyYXk8aW5mZXIgVT4gLy8gaXMgaXQgYW4gYXJyYXk/XG4gID8gLy8gWWVzLCBhcHBseSB0aGUgZGVzaXJlZCBwcm9wc1xuICAgIFRyYW5zZm9ybVByb3BlcnR5PFUsIFRQcm9wcywgVEJlaGF2aW9yPltdXG4gIDogLy8gTm8sIGlzIGl0IGEgY29sbGVjdGlvbj9cbiAgICBUIGV4dGVuZHMgQ29sbGVjdGlvbjxpbmZlciBVLCBpbmZlciBVT2JqPlxuICAgID8gLy8gWWVzLCBjaGVjayBmb3IgbmVzdGVkIHByb3ByaWV0aWVzXG4gICAgICBDb2xsZWN0aW9uPFUsIFRyYW5zZm9ybVByb3BlcnR5PFVPYmosIFRQcm9wcywgVEJlaGF2aW9yPj5cbiAgICA6IC8vIE5vLCBpcyBpdCBhIEJvdD9cbiAgICAgIFQgZXh0ZW5kcyBCb3RcbiAgICAgID8gLy8gWWVzLCByZXR1cm4gYSBib3Qgd2l0aCB0aGUgY29ycmVjdCBzZXQgb2YgcHJvcHMgJiBiZWhhdmlvclxuICAgICAgICBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+XG4gICAgICA6IC8vIE5vLCBpcyBpdCBhIHRyYW5zZm9ybWVkIG9iamVjdD9cbiAgICAgICAgVCBleHRlbmRzIFRyYW5zZm9ybWVyc09iamVjdHNba2V5b2YgVHJhbnNmb3JtZXJzT2JqZWN0c11cbiAgICAgICAgPyAvLyBZZXMsIGFwcGx5IHRoZSBkZXNpcmVkIHByb3BzXG4gICAgICAgICAgU2V0dXBEZXNpcmVkUHJvcHM8VCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gICAgICAgIDogLy8gTm8sIGlzIGl0IGFuIGludGVyYWN0aW9uIHJlc29sdmVkIGRhdGEgbWVtYmVyPyB8IFdlIG5lZWQgdG8gY2hlY2sgdGhpcyBoZXJlIGJlY2F1c2UgdGhlIHR5cGUgaXRzZWxmIGhhcyBub3Qgd2F5IG9mIGdldHRpbmcgdGhlIGRlc2lyZWQgcHJvcHNcbiAgICAgICAgICBUIGV4dGVuZHMgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGFNZW1iZXI8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG4gICAgICAgICAgPyAvLyBZZXMsIGFwcGx5IHRoZSBkZXNpcmVkIHByb3BzXG4gICAgICAgICAgICBJbnRlcmFjdGlvblJlc29sdmVkRGF0YU1lbWJlcjxUUHJvcHMsIFRCZWhhdmlvcj5cbiAgICAgICAgICA6IC8vIE5vLCBpcyBpdCBhbiBpbnRlcmFjdGlvbiByZXNvbHZlZCBkYXRhIGNoYW5uZWw/IHwgV2UgbmVlZCB0byBjaGVjayB0aGlzIGhlcmUgYmVjYXVzZSB0aGUgdHlwZSBpdHNlbGYgaGFzIG5vdCB3YXkgb2YgZ2V0dGluZyB0aGUgZGVzaXJlZCBwcm9wc1xuICAgICAgICAgICAgVCBleHRlbmRzIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhQ2hhbm5lbDxUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj5cbiAgICAgICAgICAgID8gLy8gWWVzLCBhcHBseSB0aGUgZGVzaXJlZCBwcm9wc1xuICAgICAgICAgICAgICBJbnRlcmFjdGlvblJlc29sdmVkRGF0YUNoYW5uZWw8VFByb3BzLCBUQmVoYXZpb3I+XG4gICAgICAgICAgICA6IC8vIElzIGl0IGFuIG9iamVjdD9cbiAgICAgICAgICAgICAgSXNPYmplY3Q8VD4gZXh0ZW5kcyB0cnVlXG4gICAgICAgICAgICAgID8gLy8gWWVzLCB3ZSBuZWVkIHRvIGVuc3VyZSBuZXN0ZWQgaW5zaWRlIHRoZXJlIGFyZW4ndCB0cmFuc2Zvcm1lZCBvYmplY3RzXG4gICAgICAgICAgICAgICAgeyBbSyBpbiBrZXlvZiBUXTogVHJhbnNmb3JtUHJvcGVydHk8VFtLXSwgVFByb3BzLCBUQmVoYXZpb3I+IH1cbiAgICAgICAgICAgICAgOiAvLyBObywgdGhpcyBpcyBhIG5vcm1hbCB2YWx1ZSBzdWNoIGFzIHN0cmluZyAvIGJpZ2ludCAvIG51bWJlclxuICAgICAgICAgICAgICAgIFRcblxuLyoqXG4gKiBBcHBseSBkZXNpcmVkIHByb3BlcnRpZXMgdG8gYSB0cmFuc2Zvcm1lciBvYmplY3QuXG4gKi9cbmV4cG9ydCB0eXBlIFNldHVwRGVzaXJlZFByb3BzPFxuICBUIGV4dGVuZHMgVHJhbnNmb3JtZXJzT2JqZWN0c1trZXlvZiBUcmFuc2Zvcm1lcnNPYmplY3RzXSxcbiAgVFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IgPSBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleSxcbj4gPSB7XG4gIC8vIFdoZW4gdGhlIGJlaGF2aW9yIGlzIHRvIHJlbW92ZSB0aGUga2V5IHdlIHVzZSB0aGUgUmVtb3ZlS2V5SWZVbmRlc2lyZWQgdHlwZSBoZWxwZXIgZWxzZSByZXR1cm4gdGhlIEtleSBhcyBpc1xuICBbS2V5IGluIGtleW9mIFQgYXMgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXlcbiAgICA/IFJlbW92ZUtleUlmVW5kZXNpcmVkPEtleSwgVCwgVFByb3BzPlxuICAgIDogS2V5XTogLy8gV2hlbiB0aGUgYmVoYXZpb3IgaXMgdG8gY2hhbmdlIHRoZSB0eXBlIHdlIHVzZSB0aGUgR2V0RXJyb3JXaGVuVW5kZXNpcmVkIHR5cGUgaGVscGVyIGVsc2UgYXBwbHkgdGhlIGRlc2lyZWQgcHJvcHMgdG8gdGhlIGtleSBhbmQgcmV0dXJuXG4gIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuQ2hhbmdlVHlwZVxuICAgID8gR2V0RXJyb3JXaGVuVW5kZXNpcmVkPEtleSwgVCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gICAgOiBUcmFuc2Zvcm1Qcm9wZXJ0eTxUW0tleV0sIFRQcm9wcywgVEJlaGF2aW9yPlxufVxuXG4vKipcbiAqIFRoZSBkZXNpcmVkIHByb3BlcnRpZXMgZm9yIGVhY2ggdHJhbnNmb3JtZXIgb2JqZWN0LlxuICovXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyA9IHtcbiAgW0tleSBpbiBrZXlvZiBUcmFuc2Zvcm1lcnNPYmplY3RzXTogRGVzaXJlZFByb3BlcnRpZXNNYXBwZXI8VHJhbnNmb3JtZXJzT2JqZWN0c1tLZXldPlxufVxuXG4vKiogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzICovXG5leHBvcnQgdHlwZSBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPFQgZXh0ZW5kcyBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzPiwgVFREZWZhdWx0IGV4dGVuZHMgYm9vbGVhbiA9IGZhbHNlPiA9IHtcbiAgW0sgaW4ga2V5b2YgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXNdOiBDb21wbGV0ZTxQYXJ0aWFsPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzW0tdPiAmIFRbS10sIFRURGVmYXVsdD5cbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVEZXNpcmVkUHJvcGVydGllc09iamVjdCIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiZGVmYXVsdFZhbHVlIiwiYWN0aXZpdHlJbnN0YW5jZSIsImFwcGxpY2F0aW9uSWQiLCJpbnN0YW5jZUlkIiwibGF1bmNoSWQiLCJsb2NhdGlvbiIsInVzZXJzIiwiYWN0aXZpdHlMb2NhdGlvbiIsImNoYW5uZWxJZCIsImd1aWxkSWQiLCJpZCIsImtpbmQiLCJhdHRhY2htZW50IiwiZmlsZW5hbWUiLCJ0aXRsZSIsImNvbnRlbnRUeXBlIiwic2l6ZSIsInVybCIsInByb3h5VXJsIiwiaGVpZ2h0Iiwid2lkdGgiLCJlcGhlbWVyYWwiLCJkZXNjcmlwdGlvbiIsImR1cmF0aW9uX3NlY3MiLCJ3YXZlZm9ybSIsImZsYWdzIiwiY2hhbm5lbCIsInR5cGUiLCJwb3NpdGlvbiIsIm5hbWUiLCJ0b3BpYyIsImJpdHJhdGUiLCJ1c2VyTGltaXQiLCJyYXRlTGltaXRQZXJVc2VyIiwicnRjUmVnaW9uIiwidmlkZW9RdWFsaXR5TW9kZSIsImxhc3RQaW5UaW1lc3RhbXAiLCJwZXJtaXNzaW9uT3ZlcndyaXRlcyIsInBlcm1pc3Npb25zIiwibGFzdE1lc3NhZ2VJZCIsIm93bmVySWQiLCJwYXJlbnRJZCIsIm1lbWJlckNvdW50IiwibWVzc2FnZUNvdW50IiwiZGVmYXVsdEF1dG9BcmNoaXZlRHVyYXRpb24iLCJhcHBsaWVkVGFncyIsImF2YWlsYWJsZVRhZ3MiLCJkZWZhdWx0Rm9ydW1MYXlvdXQiLCJkZWZhdWx0UmVhY3Rpb25FbW9qaSIsImRlZmF1bHRTb3J0T3JkZXIiLCJkZWZhdWx0VGhyZWFkUmF0ZUxpbWl0UGVyVXNlciIsImljb24iLCJtZW1iZXIiLCJyZWNpcGllbnRzIiwidG90YWxNZXNzYWdlU2VudCIsInRocmVhZE1ldGFkYXRhIiwiY29sbGVjdGlibGVzIiwibmFtZXBsYXRlIiwiY29tcG9uZW50IiwiY3VzdG9tSWQiLCJyZXF1aXJlZCIsImRpc2FibGVkIiwic3R5bGUiLCJsYWJlbCIsInZhbHVlIiwiZW1vamkiLCJjaGFubmVsVHlwZXMiLCJvcHRpb25zIiwicGxhY2Vob2xkZXIiLCJtaW5WYWx1ZXMiLCJtYXhWYWx1ZXMiLCJtaW5MZW5ndGgiLCJtYXhMZW5ndGgiLCJjb21wb25lbnRzIiwiZGVmYXVsdFZhbHVlcyIsInNrdUlkIiwiYWNjZXNzb3J5IiwiY29udGVudCIsInNwb2lsZXIiLCJpdGVtcyIsImRpdmlkZXIiLCJzcGFjaW5nIiwiZmlsZSIsIm1lZGlhIiwiYWNjZW50Q29sb3IiLCJ2YWx1ZXMiLCJmb3J1bVRhZyIsImVtb2ppSWQiLCJlbW9qaU5hbWUiLCJtb2RlcmF0ZWQiLCJyb2xlcyIsInVzZXIiLCJndWlsZCIsImFma1RpbWVvdXQiLCJhcHByb3hpbWF0ZU1lbWJlckNvdW50IiwiYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50IiwiZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zIiwiZXhwbGljaXRDb250ZW50RmlsdGVyIiwibWF4TWVtYmVycyIsIm1heFByZXNlbmNlcyIsIm1heFZpZGVvQ2hhbm5lbFVzZXJzIiwibWZhTGV2ZWwiLCJjaGFubmVscyIsImVtb2ppcyIsImljb25IYXNoIiwibGFyZ2UiLCJtZW1iZXJzIiwib3duZXIiLCJwcmVzZW5jZXMiLCJzdGlja2VycyIsInRvZ2dsZXMiLCJ1bmF2YWlsYWJsZSIsInZvaWNlU3RhdGVzIiwid2lkZ2V0RW5hYmxlZCIsIm5zZndMZXZlbCIsInByZWZlcnJlZExvY2FsZSIsInByZW1pdW1TdWJzY3JpcHRpb25Db3VudCIsInByZW1pdW1UaWVyIiwic3RhZ2VJbnN0YW5jZXMiLCJzeXN0ZW1DaGFubmVsRmxhZ3MiLCJ2YW5pdHlVcmxDb2RlIiwidmVyaWZpY2F0aW9uTGV2ZWwiLCJ3ZWxjb21lU2NyZWVuIiwiZGlzY292ZXJ5U3BsYXNoIiwiam9pbmVkQXQiLCJzaGFyZElkIiwiYmFubmVyIiwic3BsYXNoIiwiYWZrQ2hhbm5lbElkIiwid2lkZ2V0Q2hhbm5lbElkIiwic3lzdGVtQ2hhbm5lbElkIiwicnVsZXNDaGFubmVsSWQiLCJwdWJsaWNVcGRhdGVzQ2hhbm5lbElkIiwicHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCIsInNhZmV0eUFsZXJ0c0NoYW5uZWxJZCIsIm1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnMiLCJpbmNpZGVudHNEYXRhIiwiZG1TcGFtRGV0ZWN0ZWRBdCIsImRtc0Rpc2FibGVkVW50aWwiLCJpbnZpdGVzRGlzYWJsZWRVbnRpbCIsInJhaWREZXRlY3RlZEF0IiwiaW50ZXJhY3Rpb24iLCJ0b2tlbiIsInZlcnNpb24iLCJtZXNzYWdlIiwiZGF0YSIsImxvY2FsZSIsImd1aWxkTG9jYWxlIiwiZW50aXRsZW1lbnRzIiwiYXBwUGVybWlzc2lvbnMiLCJhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzIiwiY29udGV4dCIsImF0dGFjaG1lbnRTaXplTGltaXQiLCJpbnRlcmFjdGlvbkNhbGxiYWNrIiwiYWN0aXZpdHlJbnN0YW5jZUlkIiwicmVzcG9uc2VNZXNzYWdlRXBoZW1lcmFsIiwicmVzcG9uc2VNZXNzYWdlSWQiLCJyZXNwb25zZU1lc3NhZ2VMb2FkaW5nIiwiaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlIiwicmVzb3VyY2UiLCJpbnRlcmFjdGlvblJlc291cmNlIiwiaW52aXRlIiwiY29kZSIsImNyZWF0ZWRBdCIsImludml0ZXIiLCJtYXhBZ2UiLCJtYXhVc2VzIiwidGFyZ2V0VHlwZSIsInRhcmdldFVzZXIiLCJ0YXJnZXRBcHBsaWNhdGlvbiIsInRlbXBvcmFyeSIsInVzZXMiLCJndWlsZFNjaGVkdWxlZEV2ZW50IiwiZXhwaXJlc0F0IiwibmljayIsInByZW1pdW1TaW5jZSIsImF2YXRhciIsImNvbW11bmljYXRpb25EaXNhYmxlZFVudGlsIiwiYXZhdGFyRGVjb3JhdGlvbkRhdGEiLCJhY3Rpdml0eSIsImFwcGxpY2F0aW9uIiwiYXR0YWNobWVudHMiLCJhdXRob3IiLCJlZGl0ZWRUaW1lc3RhbXAiLCJlbWJlZHMiLCJpbnRlcmFjdGlvbk1ldGFkYXRhIiwibWVudGlvbmVkQ2hhbm5lbElkcyIsIm1lbnRpb25lZFJvbGVJZHMiLCJtZW50aW9ucyIsIm1lc3NhZ2VSZWZlcmVuY2UiLCJtZXNzYWdlU25hcHNob3RzIiwicmVmZXJlbmNlZE1lc3NhZ2UiLCJub25jZSIsInJlYWN0aW9ucyIsInN0aWNrZXJJdGVtcyIsInRocmVhZCIsIndlYmhvb2tJZCIsInBvbGwiLCJjYWxsIiwibWVzc2FnZVNuYXBzaG90IiwibWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJvcmlnaW5hbFJlc3BvbnNlTWVzc2FnZUlkIiwiaW50ZXJhY3RlZE1lc3NhZ2VJZCIsInRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhIiwidGFyZ2V0TWVzc2FnZUlkIiwibWVzc2FnZVBpbiIsInBpbm5lZEF0IiwibWVzc2FnZUludGVyYWN0aW9uIiwibWVzc2FnZUlkIiwibWVzc2FnZUNhbGwiLCJwYXJ0aWNpcGFudHMiLCJlbmRlZFRpbWVzdGFtcCIsImFzc2V0IiwicGFsZXR0ZSIsInJvbGUiLCJjb2xvciIsImNvbG9ycyIsInVuaWNvZGVFbW9qaSIsInRhZ3MiLCJyb2xlQ29sb3JzIiwicHJpbWFyeUNvbG9yIiwic2Vjb25kYXJ5Q29sb3IiLCJ0ZXJ0aWFyeUNvbG9yIiwic2NoZWR1bGVkRXZlbnQiLCJjcmVhdG9ySWQiLCJzY2hlZHVsZWRTdGFydFRpbWUiLCJzY2hlZHVsZWRFbmRUaW1lIiwiZW50aXR5SWQiLCJjcmVhdG9yIiwicHJpdmFjeUxldmVsIiwic3RhdHVzIiwiZW50aXR5VHlwZSIsInVzZXJDb3VudCIsImltYWdlIiwicmVjdXJyZW5jZVJ1bGUiLCJzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlIiwic3RhcnQiLCJlbmQiLCJmcmVxdWVuY3kiLCJpbnRlcnZhbCIsImJ5V2Vla2RheSIsImJ5TldlZWtkYXkiLCJieU1vbnRoIiwiYnlNb250aERheSIsImJ5WWVhckRheSIsImNvdW50Iiwic3RhZ2VJbnN0YW5jZSIsImd1aWxkU2NoZWR1bGVkRXZlbnRJZCIsImludml0ZVN0YWdlSW5zdGFuY2UiLCJwYXJ0aWNpcGFudENvdW50Iiwic3BlYWtlckNvdW50IiwibWVkaWFHYWxsZXJ5SXRlbSIsInN0aWNrZXIiLCJwYWNrSWQiLCJmb3JtYXRUeXBlIiwiYXZhaWxhYmxlIiwic29ydFZhbHVlIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJhdHRhY2htZW50SWQiLCJ1c2VybmFtZSIsImdsb2JhbE5hbWUiLCJwcmVtaXVtVHlwZSIsInB1YmxpY0ZsYWdzIiwiZGlzY3JpbWluYXRvciIsImVtYWlsIiwicHJpbWFyeUd1aWxkIiwidXNlclByaW1hcnlHdWlsZCIsImlkZW50aXR5R3VpbGRJZCIsImlkZW50aXR5RW5hYmxlZCIsInRhZyIsImJhZGdlIiwid2ViaG9vayIsInNvdXJjZUd1aWxkIiwic291cmNlQ2hhbm5lbCIsImd1aWxkT25ib2FyZGluZyIsImRlZmF1bHRDaGFubmVsSWRzIiwiZW5hYmxlZCIsIm1vZGUiLCJwcm9tcHRzIiwiZ3VpbGRPbmJvYXJkaW5nUHJvbXB0IiwiaW5PbmJvYXJkaW5nIiwic2luZ2xlU2VsZWN0IiwiZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uIiwiY2hhbm5lbElkcyIsInJvbGVJZHMiLCJlbnRpdGxlbWVudCIsInVzZXJJZCIsImRlbGV0ZWQiLCJzdGFydHNBdCIsImVuZHNBdCIsImNvbnN1bWVkIiwic2t1Iiwic2x1ZyIsInZvaWNlU3RhdGUiLCJyZXF1ZXN0VG9TcGVha1RpbWVzdGFtcCIsInNlc3Npb25JZCIsInF1ZXN0aW9uIiwiYW5zd2VycyIsImV4cGlyeSIsImxheW91dFR5cGUiLCJhbGxvd011bHRpc2VsZWN0IiwicmVzdWx0cyIsInBvbGxBbnN3ZXIiLCJhbnN3ZXJJZCIsInBvbGxNZWRpYSIsInBvbGxSZXN1bHQiLCJpc0ZpbmFsaXplZCIsImFuc3dlckNvdW50cyIsInBvbGxBbnN3ZXJDb3VudCIsIm1lVm90ZWQiLCJ0ZXh0Iiwic3Vic2NyaXB0aW9uIiwiY2FuY2VsZWRBdCIsImNvdW50cnkiLCJjdXJyZW50UGVyaW9kRW5kIiwiY3VycmVudFBlcmlvZFN0YXJ0IiwicmVuZXdhbFNrdUlkcyIsImVudGl0bGVtZW50SWRzIiwic2t1SWRzIiwic291bmRib2FyZFNvdW5kIiwic291bmRJZCIsInZvbHVtZSIsImxvYmJ5IiwibWV0YWRhdGEiLCJsaW5rZWRDaGFubmVsIiwibG9iYnlNZW1iZXIiLCJEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yIl0sIm1hcHBpbmdzIjoiQUFzT0EsT0FBTyxTQUFTQSw4QkFDZEMsaUJBQW9CLEVBQ3BCQyxlQUF5QixLQUFpQjtJQUUxQyxPQUFPO1FBQ0xDLGtCQUFrQjtZQUNoQkMsZUFBZUY7WUFDZkcsWUFBWUg7WUFDWkksVUFBVUo7WUFDVkssVUFBVUw7WUFDVk0sT0FBT047WUFDUCxHQUFHRCxrQkFBa0JFLGdCQUFnQjtRQUN2QztRQUNBTSxrQkFBa0I7WUFDaEJDLFdBQVdSO1lBQ1hTLFNBQVNUO1lBQ1RVLElBQUlWO1lBQ0pXLE1BQU1YO1lBQ04sR0FBR0Qsa0JBQWtCUSxnQkFBZ0I7UUFDdkM7UUFDQUssWUFBWTtZQUNWRixJQUFJVjtZQUNKYSxVQUFVYjtZQUNWYyxPQUFPZDtZQUNQZSxhQUFhZjtZQUNiZ0IsTUFBTWhCO1lBQ05pQixLQUFLakI7WUFDTGtCLFVBQVVsQjtZQUNWbUIsUUFBUW5CO1lBQ1JvQixPQUFPcEI7WUFDUHFCLFdBQVdyQjtZQUNYc0IsYUFBYXRCO1lBQ2J1QixlQUFldkI7WUFDZndCLFVBQVV4QjtZQUNWeUIsT0FBT3pCO1lBQ1AsR0FBR0Qsa0JBQWtCYSxVQUFVO1FBQ2pDO1FBQ0FjLFNBQVM7WUFDUEMsTUFBTTNCO1lBQ040QixVQUFVNUI7WUFDVjZCLE1BQU03QjtZQUNOOEIsT0FBTzlCO1lBQ1ArQixTQUFTL0I7WUFDVGdDLFdBQVdoQztZQUNYaUMsa0JBQWtCakM7WUFDbEJrQyxXQUFXbEM7WUFDWG1DLGtCQUFrQm5DO1lBQ2xCUyxTQUFTVDtZQUNUb0Msa0JBQWtCcEM7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
919
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXNpcmVkUHJvcGVydGllcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlY3Vyc2l2ZVBhcnRpYWwgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24gfSBmcm9tICdAZGlzY29yZGVuby91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGFDaGFubmVsLCBJbnRlcmFjdGlvblJlc29sdmVkRGF0YU1lbWJlciB9IGZyb20gJy4vY29tbWFuZE9wdGlvbnNQYXJzZXIuanMnO1xuaW1wb3J0IHR5cGUge1xuICBBY3Rpdml0eUluc3RhbmNlLFxuICBBY3Rpdml0eUxvY2F0aW9uLFxuICBBdHRhY2htZW50LFxuICBBdmF0YXJEZWNvcmF0aW9uRGF0YSxcbiAgQ2hhbm5lbCxcbiAgQ29sbGVjdGlibGVzLFxuICBDb21wb25lbnQsXG4gIERlZmF1bHRSZWFjdGlvbkVtb2ppLFxuICBFbW9qaSxcbiAgRW50aXRsZW1lbnQsXG4gIEZvcnVtVGFnLFxuICBHdWlsZCxcbiAgR3VpbGRPbmJvYXJkaW5nLFxuICBHdWlsZE9uYm9hcmRpbmdQcm9tcHQsXG4gIEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgSW5jaWRlbnRzRGF0YSxcbiAgSW50ZXJhY3Rpb24sXG4gIEludGVyYWN0aW9uQ2FsbGJhY2ssXG4gIEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgSW52aXRlLFxuICBJbnZpdGVTdGFnZUluc3RhbmNlLFxuICBMb2JieSxcbiAgTG9iYnlJbnZpdGUsXG4gIExvYmJ5TWVtYmVyLFxuICBMb2JieU1lc3NhZ2UsXG4gIE1lZGlhR2FsbGVyeUl0ZW0sXG4gIE1lbWJlcixcbiAgTWVzc2FnZSxcbiAgTWVzc2FnZUNhbGwsXG4gIE1lc3NhZ2VJbnRlcmFjdGlvbixcbiAgTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIE1lc3NhZ2VQaW4sXG4gIE1lc3NhZ2VSZWZlcmVuY2UsXG4gIE1lc3NhZ2VTbmFwc2hvdCxcbiAgTmFtZXBsYXRlLFxuICBQb2xsLFxuICBQb2xsQW5zd2VyLFxuICBQb2xsQW5zd2VyQ291bnQsXG4gIFBvbGxNZWRpYSxcbiAgUG9sbFJlc3VsdCxcbiAgUm9sZSxcbiAgUm9sZUNvbG9ycyxcbiAgU2NoZWR1bGVkRXZlbnQsXG4gIFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsXG4gIFNoYXJlZENsaWVudFRoZW1lLFxuICBTa3UsXG4gIFNvdW5kYm9hcmRTb3VuZCxcbiAgU3RhZ2VJbnN0YW5jZSxcbiAgU3RpY2tlcixcbiAgU3Vic2NyaXB0aW9uLFxuICBVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgVXNlcixcbiAgVXNlclByaW1hcnlHdWlsZCxcbiAgVm9pY2VTdGF0ZSxcbiAgV2ViaG9vayxcbn0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdHlwZXMuanMnO1xuXG4vKipcbiAqIEFsbCB0aGUgb2JqZWN0cyB0aGF0IHN1cHBvcnQgZGVzaXJlZCBwcm9wZXJ0aWVzXG4gKlxuICogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgYXQgYW55IHRpbWVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1lcnNPYmplY3RzIHtcbiAgYWN0aXZpdHlJbnN0YW5jZTogQWN0aXZpdHlJbnN0YW5jZTtcbiAgYWN0aXZpdHlMb2NhdGlvbjogQWN0aXZpdHlMb2NhdGlvbjtcbiAgYXR0YWNobWVudDogQXR0YWNobWVudDtcbiAgYXZhdGFyRGVjb3JhdGlvbkRhdGE6IEF2YXRhckRlY29yYXRpb25EYXRhO1xuICBjaGFubmVsOiBDaGFubmVsO1xuICBjb2xsZWN0aWJsZXM6IENvbGxlY3RpYmxlcztcbiAgY29tcG9uZW50OiBDb21wb25lbnQ7XG4gIGRlZmF1bHRSZWFjdGlvbkVtb2ppOiBEZWZhdWx0UmVhY3Rpb25FbW9qaTtcbiAgZW1vamk6IEVtb2ppO1xuICBlbnRpdGxlbWVudDogRW50aXRsZW1lbnQ7XG4gIGZvcnVtVGFnOiBGb3J1bVRhZztcbiAgZ3VpbGQ6IEd1aWxkO1xuICBndWlsZE9uYm9hcmRpbmc6IEd1aWxkT25ib2FyZGluZztcbiAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0OiBHdWlsZE9uYm9hcmRpbmdQcm9tcHQ7XG4gIGd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbjogR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uO1xuICBpbmNpZGVudHNEYXRhOiBJbmNpZGVudHNEYXRhO1xuICBpbnRlcmFjdGlvbjogSW50ZXJhY3Rpb247XG4gIGludGVyYWN0aW9uQ2FsbGJhY2s6IEludGVyYWN0aW9uQ2FsbGJhY2s7XG4gIGludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTogSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlO1xuICBpbnRlcmFjdGlvblJlc291cmNlOiBJbnRlcmFjdGlvblJlc291cmNlO1xuICBpbnZpdGU6IEludml0ZTtcbiAgaW52aXRlU3RhZ2VJbnN0YW5jZTogSW52aXRlU3RhZ2VJbnN0YW5jZTtcbiAgbG9iYnk6IExvYmJ5O1xuICBsb2JieU1lbWJlcjogTG9iYnlNZW1iZXI7XG4gIGxvYmJ5TWVzc2FnZTogTG9iYnlNZXNzYWdlO1xuICBsb2JieUludml0ZTogTG9iYnlJbnZpdGU7XG4gIG1lZGlhR2FsbGVyeUl0ZW06IE1lZGlhR2FsbGVyeUl0ZW07XG4gIG1lbWJlcjogTWVtYmVyO1xuICBtZXNzYWdlOiBNZXNzYWdlO1xuICBtZXNzYWdlQ2FsbDogTWVzc2FnZUNhbGw7XG4gIG1lc3NhZ2VJbnRlcmFjdGlvbjogTWVzc2FnZUludGVyYWN0aW9uO1xuICBtZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YTogTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE7XG4gIG1lc3NhZ2VQaW46IE1lc3NhZ2VQaW47XG4gIG1lc3NhZ2VSZWZlcmVuY2U6IE1lc3NhZ2VSZWZlcmVuY2U7XG4gIG1lc3NhZ2VTbmFwc2hvdDogTWVzc2FnZVNuYXBzaG90O1xuICBuYW1lcGxhdGU6IE5hbWVwbGF0ZTtcbiAgcG9sbDogUG9sbDtcbiAgcG9sbEFuc3dlcjogUG9sbEFuc3dlcjtcbiAgcG9sbEFuc3dlckNvdW50OiBQb2xsQW5zd2VyQ291bnQ7XG4gIHBvbGxNZWRpYTogUG9sbE1lZGlhO1xuICBwb2xsUmVzdWx0OiBQb2xsUmVzdWx0O1xuICByb2xlOiBSb2xlO1xuICByb2xlQ29sb3JzOiBSb2xlQ29sb3JzO1xuICBzY2hlZHVsZWRFdmVudDogU2NoZWR1bGVkRXZlbnQ7XG4gIHNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGU6IFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGU7XG4gIHNoYXJlZENsaWVudFRoZW1lOiBTaGFyZWRDbGllbnRUaGVtZTtcbiAgc2t1OiBTa3U7XG4gIHNvdW5kYm9hcmRTb3VuZDogU291bmRib2FyZFNvdW5kO1xuICBzdGFnZUluc3RhbmNlOiBTdGFnZUluc3RhbmNlO1xuICBzdGlja2VyOiBTdGlja2VyO1xuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgdW5mdXJsZWRNZWRpYUl0ZW06IFVuZnVybGVkTWVkaWFJdGVtO1xuICB1c2VyOiBVc2VyO1xuICB1c2VyUHJpbWFyeUd1aWxkOiBVc2VyUHJpbWFyeUd1aWxkO1xuICB2b2ljZVN0YXRlOiBWb2ljZVN0YXRlO1xuICB3ZWJob29rOiBXZWJob29rO1xufVxuXG4vKipcbiAqIE1ldGFkYXRhIGZvciB0eXBlc2NyaXB0IHRvIGNyZWF0ZSB0aGUgY29ycmVjdCB0eXBlcyBmb3IgZGVzaXJlZCBwcm9wZXJ0aWVzXG4gKlxuICogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzXG4gKi9cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllc01ldGFkYXRhID0ge1xuICBjaGFubmVsOiB7XG4gICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICBhcmNoaXZlZDogWyd0b2dnbGVzJ10sXG4gICAgICBpbnZpdGFibGU6IFsndG9nZ2xlcyddLFxuICAgICAgbG9ja2VkOiBbJ3RvZ2dsZXMnXSxcbiAgICAgIG5zZnc6IFsndG9nZ2xlcyddLFxuICAgICAgbmV3bHlDcmVhdGVkOiBbJ3RvZ2dsZXMnXSxcbiAgICAgIG1hbmFnZWQ6IFsndG9nZ2xlcyddLFxuICAgIH0sXG4gICAgYWx3YXlzUHJlc2VudHM6IFsndG9nZ2xlcycsICdpbnRlcm5hbE92ZXJ3cml0ZXMnLCAnaW50ZXJuYWxUaHJlYWRNZXRhZGF0YSddLFxuICB9LFxuXG4gIGd1aWxkOiB7XG4gICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICB0aHJlYWRzOiBbJ2NoYW5uZWxzJ10sXG4gICAgICBmZWF0dXJlczogWyd0b2dnbGVzJ10sXG4gICAgfSxcbiAgICBhbHdheXNQcmVzZW50czogW10sXG4gIH0sXG5cbiAgaW50ZXJhY3Rpb246IHtcbiAgICBkZXBlbmRlbmNpZXM6IHtcbiAgICAgIHJlc3BvbmQ6IFsndHlwZScsICd0b2tlbicsICdpZCddLFxuICAgICAgc2VuZEZvbGxvd3VwTWVzc2FnZTogWyd0b2tlbiddLFxuICAgICAgZWRpdDogWyd0eXBlJywgJ3Rva2VuJywgJ2lkJ10sXG4gICAgICBkZWZlckVkaXQ6IFsndHlwZScsICd0b2tlbicsICdpZCddLFxuICAgICAgZGVmZXI6IFsndHlwZScsICd0b2tlbicsICdpZCddLFxuICAgICAgZGVsZXRlOiBbJ3R5cGUnLCAndG9rZW4nXSxcbiAgICB9LFxuICAgIGFsd2F5c1ByZXNlbnRzOiBbJ2JvdCcsICdhY2tub3dsZWRnZWQnXSxcbiAgfSxcblxuICBtZW1iZXI6IHtcbiAgICBkZXBlbmRlbmNpZXM6IHtcbiAgICAgIGRlYWY6IFsndG9nZ2xlcyddLFxuICAgICAgbXV0ZTogWyd0b2dnbGVzJ10sXG4gICAgICBwZW5kaW5nOiBbJ3RvZ2dsZXMnXSxcbiAgICAgIGZsYWdzOiBbJ3RvZ2dsZXMnXSxcbiAgICAgIGRpZFJlam9pbjogWyd0b2dnbGVzJ10sXG4gICAgICBzdGFydGVkT25ib2FyZGluZzogWyd0b2dnbGVzJ10sXG4gICAgICBieXBhc3Nlc1ZlcmlmaWNhdGlvbjogWyd0b2dnbGVzJ10sXG4gICAgICBjb21wbGV0ZWRPbmJvYXJkaW5nOiBbJ3RvZ2dsZXMnXSxcbiAgICB9LFxuICAgIGFsd2F5c1ByZXNlbnRzOiBbXSxcbiAgfSxcblxuICBtZXNzYWdlOiB7XG4gICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICBjcm9zc3Bvc3RlZDogWydmbGFncyddLFxuICAgICAgZXBoZW1lcmFsOiBbJ2ZsYWdzJ10sXG4gICAgICBmYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZDogWydmbGFncyddLFxuICAgICAgaGFzVGhyZWFkOiBbJ2ZsYWdzJ10sXG4gICAgICBpc0Nyb3NzcG9zdDogWydmbGFncyddLFxuICAgICAgbG9hZGluZzogWydmbGFncyddLFxuICAgICAgbWVudGlvbmVkVXNlcklkczogWydtZW50aW9ucyddLFxuICAgICAgbWVudGlvbkV2ZXJ5b25lOiBbJ2JpdGZpZWxkJ10sXG4gICAgICBwaW5uZWQ6IFsnYml0ZmllbGQnXSxcbiAgICAgIHNvdXJjZU1lc3NhZ2VEZWxldGVkOiBbJ2ZsYWdzJ10sXG4gICAgICBzdXBwcmVzc0VtYmVkczogWydmbGFncyddLFxuICAgICAgc3VwcHJlc3NOb3RpZmljYXRpb25zOiBbJ2ZsYWdzJ10sXG4gICAgICB0aW1lc3RhbXA6IFsnaWQnXSxcbiAgICAgIHR0czogWydiaXRmaWVsZCddLFxuICAgICAgdXJnZW50OiBbJ2ZsYWdzJ10sXG4gICAgfSxcbiAgICBhbHdheXNQcmVzZW50czogWydiaXRmaWVsZCcsICdmbGFncyddLFxuICB9LFxuXG4gIHJvbGU6IHtcbiAgICBkZXBlbmRlbmNpZXM6IHtcbiAgICAgIGhvaXN0OiBbJ3RvZ2dsZXMnXSxcbiAgICAgIG1hbmFnZWQ6IFsndG9nZ2xlcyddLFxuICAgICAgbWVudGlvbmFibGU6IFsndG9nZ2xlcyddLFxuICAgICAgcHJlbWl1bVN1YnNjcmliZXI6IFsndG9nZ2xlcyddLFxuICAgICAgYXZhaWxhYmxlRm9yUHVyY2hhc2U6IFsndG9nZ2xlcyddLFxuICAgICAgZ3VpbGRDb25uZWN0aW9uczogWyd0b2dnbGVzJ10sXG4gICAgfSxcbiAgICBhbHdheXNQcmVzZW50czogWydpbnRlcm5hbFRhZ3MnXSxcbiAgfSxcblxuICB1c2VyOiB7XG4gICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICB0YWc6IFsndXNlcm5hbWUnLCAnZGlzY3JpbWluYXRvciddLFxuICAgICAgYm90OiBbJ3RvZ2dsZXMnXSxcbiAgICAgIHN5c3RlbTogWyd0b2dnbGVzJ10sXG4gICAgICBtZmFFbmFibGVkOiBbJ3RvZ2dsZXMnXSxcbiAgICAgIHZlcmlmaWVkOiBbJ3RvZ2dsZXMnXSxcbiAgICAgIGF2YXRhclVybDogWydhdmF0YXInLCAnaWQnXSxcbiAgICAgIGRpc3BsYXlOYW1lOiBbJ3VzZXJuYW1lJywgJ2dsb2JhbE5hbWUnXSxcbiAgICAgIGRlZmF1bHRBdmF0YXJVcmw6IFsnaWQnLCAnZGlzY3JpbWluYXRvciddLFxuICAgICAgZGlzcGxheUF2YXRhclVybDogWydhdmF0YXInLCAnaWQnLCAnZGlzY3JpbWluYXRvciddLFxuICAgICAgY3JlYXRlZFRpbWVzdGFtcDogWydpZCddLFxuICAgIH0sXG4gICAgYWx3YXlzUHJlc2VudHM6IFtdLFxuICB9LFxuXG4gIGVtb2ppOiB7XG4gICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICBhbmltYXRlZDogWyd0b2dnbGVzJ10sXG4gICAgICBhdmFpbGFibGU6IFsndG9nZ2xlcyddLFxuICAgICAgbWFuYWdlZDogWyd0b2dnbGVzJ10sXG4gICAgICByZXF1aXJlQ29sb25zOiBbJ3RvZ2dsZXMnXSxcbiAgICB9LFxuICAgIGFsd2F5c1ByZXNlbnRzOiBbJ3RvZ2dsZXMnXSxcbiAgfSxcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIERlc2lyZWRQcm9wZXJ0aWVzTWV0YWRhdGE7XG5cbi8qKlxuICogTWV0YWRhdGEgZm9yIHR5cGVzY3JpcHQgdG8gY3JlYXRlIHRoZSBjb3JyZWN0IHR5cGVzIGZvciBkZXNpcmVkIHByb3BlcnRpZXNcbiAqXG4gKiBAcHJpdmF0ZSBUaGlzIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyB3aXRob3V0IG5vdGljZXNcbiAqL1xudHlwZSBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllc01ldGFkYXRhID0gQ29tcGxldGVCeUtleXM8XG4gIHR5cGVvZiB0cmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllc01ldGFkYXRhLFxuICBrZXlvZiBEZXNpcmVkUHJvcGVydGllc01ldGFkYXRhLFxuICB7IGRlcGVuZGVuY2llczoge307IGFsd2F5c1ByZXNlbnRzOiBbXSB9XG4+O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGVzaXJlZFByb3BlcnRpZXNPYmplY3Q8VCBleHRlbmRzIFJlY3Vyc2l2ZVBhcnRpYWw8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXM+LCBURGVmYXVsdCBleHRlbmRzIGJvb2xlYW4gPSBmYWxzZT4oXG4gIGRlc2lyZWRQcm9wZXJ0aWVzOiBULFxuICBkZWZhdWx0VmFsdWU6IFREZWZhdWx0ID0gZmFsc2UgYXMgVERlZmF1bHQsXG4pOiBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPFQsIFREZWZhdWx0PiB7XG4gIHJldHVybiB7XG4gICAgYWN0aXZpdHlJbnN0YW5jZToge1xuICAgICAgYXBwbGljYXRpb25JZDogZGVmYXVsdFZhbHVlLFxuICAgICAgaW5zdGFuY2VJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgbGF1bmNoSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGxvY2F0aW9uOiBkZWZhdWx0VmFsdWUsXG4gICAgICB1c2VyczogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuYWN0aXZpdHlJbnN0YW5jZSxcbiAgICB9LFxuICAgIGFjdGl2aXR5TG9jYXRpb246IHtcbiAgICAgIGNoYW5uZWxJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgZ3VpbGRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGtpbmQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmFjdGl2aXR5TG9jYXRpb24sXG4gICAgfSxcbiAgICBhdHRhY2htZW50OiB7XG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgZmlsZW5hbWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRpdGxlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb250ZW50VHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgc2l6ZTogZGVmYXVsdFZhbHVlLFxuICAgICAgdXJsOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwcm94eVVybDogZGVmYXVsdFZhbHVlLFxuICAgICAgaGVpZ2h0OiBkZWZhdWx0VmFsdWUsXG4gICAgICB3aWR0aDogZGVmYXVsdFZhbHVlLFxuICAgICAgZXBoZW1lcmFsOiBkZWZhdWx0VmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgZHVyYXRpb25fc2VjczogZGVmYXVsdFZhbHVlLFxuICAgICAgd2F2ZWZvcm06IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGZsYWdzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhcHBsaWNhdGlvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgY2xpcENyZWF0ZWRBdDogZGVmYXVsdFZhbHVlLFxuICAgICAgY2xpcFBhcnRpY2lwYW50czogZGVmYXVsdFZhbHVlLFxuICAgICAgcGxhY2Vob2xkZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHBsYWNlaG9sZGVyVmVyc2lvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuYXR0YWNobWVudCxcbiAgICB9LFxuICAgIGNoYW5uZWw6IHtcbiAgICAgIHR5cGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHBvc2l0aW9uOiBkZWZhdWx0VmFsdWUsXG4gICAgICBuYW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0b3BpYzogZGVmYXVsdFZhbHVlLFxuICAgICAgYml0cmF0ZTogZGVmYXVsdFZhbHVlLFxuICAgICAgdXNlckxpbWl0OiBkZWZhdWx0VmFsdWUsXG4gICAgICByYXRlTGltaXRQZXJVc2VyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBydGNSZWdpb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHZpZGVvUXVhbGl0eU1vZGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGd1aWxkSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGxhc3RQaW5UaW1lc3RhbXA6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHBlcm1pc3Npb25PdmVyd3JpdGVzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgcGVybWlzc2lvbnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFwcFBlcm1pc3Npb25zOiBkZWZhdWx0VmFsdWUsXG4gICAgICBsYXN0TWVzc2FnZUlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBvd25lcklkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhcHBsaWNhdGlvbklkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwYXJlbnRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgbWVtYmVyQ291bnQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1lc3NhZ2VDb3VudDogZGVmYXVsdFZhbHVlLFxuICAgICAgZGVmYXVsdEF1dG9BcmNoaXZlRHVyYXRpb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGZsYWdzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhcHBsaWVkVGFnczogZGVmYXVsdFZhbHVlLFxuICAgICAgYXZhaWxhYmxlVGFnczogZGVmYXVsdFZhbHVlLFxuICAgICAgZGVmYXVsdEZvcnVtTGF5b3V0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBkZWZhdWx0UmVhY3Rpb25FbW9qaTogZGVmYXVsdFZhbHVlLFxuICAgICAgZGVmYXVsdFNvcnRPcmRlcjogZGVmYXVsdFZhbHVlLFxuICAgICAgZGVmYXVsdFRocmVhZFJhdGVMaW1pdFBlclVzZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGljb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1lbWJlcjogZGVmYXVsdFZhbHVlLFxuICAgICAgcmVjaXBpZW50czogZGVmYXVsdFZhbHVlLFxuICAgICAgdG90YWxNZXNzYWdlU2VudDogZGVmYXVsdFZhbHVlLFxuICAgICAgdGhyZWFkTWV0YWRhdGE6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmNoYW5uZWwsXG4gICAgfSxcbiAgICBjb2xsZWN0aWJsZXM6IHtcbiAgICAgIG5hbWVwbGF0ZTogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuY29sbGVjdGlibGVzLFxuICAgIH0sXG4gICAgY29tcG9uZW50OiB7XG4gICAgICB0eXBlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjdXN0b21JZDogZGVmYXVsdFZhbHVlLFxuICAgICAgcmVxdWlyZWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRpc2FibGVkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzdHlsZTogZGVmYXVsdFZhbHVlLFxuICAgICAgbGFiZWw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHZhbHVlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBkZWZhdWx0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBlbW9qaTogZGVmYXVsdFZhbHVlLFxuICAgICAgdXJsOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjaGFubmVsVHlwZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG9wdGlvbnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHBsYWNlaG9sZGVyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtaW5WYWx1ZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1heFZhbHVlczogZGVmYXVsdFZhbHVlLFxuICAgICAgbWluTGVuZ3RoOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtYXhMZW5ndGg6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNvbXBvbmVudHM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRlZmF1bHRWYWx1ZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNrdUlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgYWNjZXNzb3J5OiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb250ZW50OiBkZWZhdWx0VmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgc3BvaWxlcjogZGVmYXVsdFZhbHVlLFxuICAgICAgaXRlbXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRpdmlkZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNwYWNpbmc6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGZpbGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1lZGlhOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhY2NlbnRDb2xvcjogZGVmYXVsdFZhbHVlLFxuICAgICAgbmFtZTogZGVmYXVsdFZhbHVlLFxuICAgICAgc2l6ZTogZGVmYXVsdFZhbHVlLFxuICAgICAgY29tcG9uZW50OiBkZWZhdWx0VmFsdWUsXG4gICAgICB2YWx1ZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHJlc29sdmVkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBmaWxlVHlwZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudCxcbiAgICB9LFxuICAgIGZvcnVtVGFnOiB7XG4gICAgICBlbW9qaUlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBlbW9qaU5hbWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtb2RlcmF0ZWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG5hbWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmZvcnVtVGFnLFxuICAgIH0sXG4gICAgZW1vamk6IHtcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBuYW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICByb2xlczogZGVmYXVsdFZhbHVlLFxuICAgICAgdXNlcjogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuZW1vamksXG4gICAgfSxcbiAgICBkZWZhdWx0UmVhY3Rpb25FbW9qaToge1xuICAgICAgZW1vamlJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgZW1vamlOYW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5kZWZhdWx0UmVhY3Rpb25FbW9qaSxcbiAgICB9LFxuICAgIGd1aWxkOiB7XG4gICAgICBhZmtUaW1lb3V0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBhcHByb3hpbWF0ZU1lbWJlckNvdW50OiBkZWZhdWx0VmFsdWUsXG4gICAgICBhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9uczogZGVmYXVsdFZhbHVlLFxuICAgICAgZGVzY3JpcHRpb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGV4cGxpY2l0Q29udGVudEZpbHRlcjogZGVmYXVsdFZhbHVlLFxuICAgICAgbWF4TWVtYmVyczogZGVmYXVsdFZhbHVlLFxuICAgICAgbWF4UHJlc2VuY2VzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtYXhWaWRlb0NoYW5uZWxVc2VyczogZGVmYXVsdFZhbHVlLFxuICAgICAgbWZhTGV2ZWw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG5hbWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNoYW5uZWxzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBlbW9qaXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGljb25IYXNoOiBkZWZhdWx0VmFsdWUsXG4gICAgICBsYXJnZTogZGVmYXVsdFZhbHVlLFxuICAgICAgbWVtYmVyczogZGVmYXVsdFZhbHVlLFxuICAgICAgb3duZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHByZXNlbmNlczogZGVmYXVsdFZhbHVlLFxuICAgICAgcm9sZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHN0aWNrZXJzOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0b2dnbGVzOiBkZWZhdWx0VmFsdWUsXG4gICAgICB1bmF2YWlsYWJsZTogZGVmYXVsdFZhbHVlLFxuICAgICAgdm9pY2VTdGF0ZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHdpZGdldEVuYWJsZWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG5zZndMZXZlbDogZGVmYXVsdFZhbHVlLFxuICAgICAgcHJlZmVycmVkTG9jYWxlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHByZW1pdW1UaWVyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzdGFnZUluc3RhbmNlczogZGVmYXVsdFZhbHVlLFxuICAgICAgc3lzdGVtQ2hhbm5lbEZsYWdzOiBkZWZhdWx0VmFsdWUsXG4gICAgICB2YW5pdHlVcmxDb2RlOiBkZWZhdWx0VmFsdWUsXG4gICAgICB2ZXJpZmljYXRpb25MZXZlbDogZGVmYXVsdFZhbHVlLFxuICAgICAgd2VsY29tZVNjcmVlbjogZGVmYXVsdFZhbHVlLFxuICAgICAgZGlzY292ZXJ5U3BsYXNoOiBkZWZhdWx0VmFsdWUsXG4gICAgICBqb2luZWRBdDogZGVmYXVsdFZhbHVlLFxuICAgICAgbWVtYmVyQ291bnQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNoYXJkSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGljb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGJhbm5lcjogZGVmYXVsdFZhbHVlLFxuICAgICAgc3BsYXNoOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgb3duZXJJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgcGVybWlzc2lvbnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFma0NoYW5uZWxJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgd2lkZ2V0Q2hhbm5lbElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhcHBsaWNhdGlvbklkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzeXN0ZW1DaGFubmVsSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHJ1bGVzQ2hhbm5lbElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwdWJsaWNVcGRhdGVzQ2hhbm5lbElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzYWZldHlBbGVydHNDaGFubmVsSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGluY2lkZW50c0RhdGE6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmd1aWxkLFxuICAgIH0sXG4gICAgaW5jaWRlbnRzRGF0YToge1xuICAgICAgZG1TcGFtRGV0ZWN0ZWRBdDogZGVmYXVsdFZhbHVlLFxuICAgICAgZG1zRGlzYWJsZWRVbnRpbDogZGVmYXVsdFZhbHVlLFxuICAgICAgaW52aXRlc0Rpc2FibGVkVW50aWw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHJhaWREZXRlY3RlZEF0OiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5pbmNpZGVudHNEYXRhLFxuICAgIH0sXG4gICAgaW50ZXJhY3Rpb246IHtcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhcHBsaWNhdGlvbklkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0eXBlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBndWlsZDogZGVmYXVsdFZhbHVlLFxuICAgICAgZ3VpbGRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgY2hhbm5lbDogZGVmYXVsdFZhbHVlLFxuICAgICAgY2hhbm5lbElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtZW1iZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHVzZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRva2VuOiBkZWZhdWx0VmFsdWUsXG4gICAgICB2ZXJzaW9uOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtZXNzYWdlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBkYXRhOiBkZWZhdWx0VmFsdWUsXG4gICAgICBsb2NhbGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGd1aWxkTG9jYWxlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBlbnRpdGxlbWVudHM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFwcFBlcm1pc3Npb25zOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb250ZXh0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBhdHRhY2htZW50U2l6ZUxpbWl0OiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvbixcbiAgICB9LFxuICAgIGludGVyYWN0aW9uQ2FsbGJhY2s6IHtcbiAgICAgIHR5cGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhY3Rpdml0eUluc3RhbmNlSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbDogZGVmYXVsdFZhbHVlLFxuICAgICAgcmVzcG9uc2VNZXNzYWdlSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHJlc3BvbnNlTWVzc2FnZUxvYWRpbmc6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uQ2FsbGJhY2ssXG4gICAgfSxcbiAgICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IHtcbiAgICAgIGludGVyYWN0aW9uOiBkZWZhdWx0VmFsdWUsXG4gICAgICByZXNvdXJjZTogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICAgIH0sXG4gICAgaW50ZXJhY3Rpb25SZXNvdXJjZToge1xuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgYWN0aXZpdHlJbnN0YW5jZTogZGVmYXVsdFZhbHVlLFxuICAgICAgbWVzc2FnZTogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgICB9LFxuICAgIGludml0ZToge1xuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgY2hhbm5lbElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb2RlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjcmVhdGVkQXQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGd1aWxkSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGludml0ZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1heEFnZTogZGVmYXVsdFZhbHVlLFxuICAgICAgbWF4VXNlczogZGVmYXVsdFZhbHVlLFxuICAgICAgdGFyZ2V0VHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgdGFyZ2V0VXNlcjogZGVmYXVsdFZhbHVlLFxuICAgICAgdGFyZ2V0QXBwbGljYXRpb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRlbXBvcmFyeTogZGVmYXVsdFZhbHVlLFxuICAgICAgdXNlczogZGVmYXVsdFZhbHVlLFxuICAgICAgYXBwcm94aW1hdGVNZW1iZXJDb3VudDogZGVmYXVsdFZhbHVlLFxuICAgICAgYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50OiBkZWZhdWx0VmFsdWUsXG4gICAgICBndWlsZFNjaGVkdWxlZEV2ZW50OiBkZWZhdWx0VmFsdWUsXG4gICAgICBleHBpcmVzQXQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGZsYWdzOiBkZWZhdWx0VmFsdWUsXG4gICAgICByb2xlczogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuaW52aXRlLFxuICAgIH0sXG4gICAgbWVtYmVyOiB7XG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgZ3VpbGRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgdXNlcjogZGVmYXVsdFZhbHVlLFxuICAgICAgbmljazogZGVmYXVsdFZhbHVlLFxuICAgICAgcm9sZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGpvaW5lZEF0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBwcmVtaXVtU2luY2U6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGF2YXRhcjogZGVmYXVsdFZhbHVlLFxuICAgICAgYmFubmVyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwZXJtaXNzaW9uczogZGVmYXVsdFZhbHVlLFxuICAgICAgY29tbXVuaWNhdGlvbkRpc2FibGVkVW50aWw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRvZ2dsZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGF2YXRhckRlY29yYXRpb25EYXRhOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb2xsZWN0aWJsZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLm1lbWJlcixcbiAgICB9LFxuICAgIG1lc3NhZ2U6IHtcbiAgICAgIGFjdGl2aXR5OiBkZWZhdWx0VmFsdWUsXG4gICAgICBhcHBsaWNhdGlvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgYXBwbGljYXRpb25JZDogZGVmYXVsdFZhbHVlLFxuICAgICAgYXR0YWNobWVudHM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGF1dGhvcjogZGVmYXVsdFZhbHVlLFxuICAgICAgY2hhbm5lbElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb21wb25lbnRzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb250ZW50OiBkZWZhdWx0VmFsdWUsXG4gICAgICBlZGl0ZWRUaW1lc3RhbXA6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGVtYmVkczogZGVmYXVsdFZhbHVlLFxuICAgICAgZ3VpbGRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGludGVyYWN0aW9uTWV0YWRhdGE6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGludGVyYWN0aW9uOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtZW1iZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1lbnRpb25lZENoYW5uZWxJZHM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1lbnRpb25lZFJvbGVJZHM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1lbnRpb25zOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjaGFubmVsVHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgbWVzc2FnZVJlZmVyZW5jZTogZGVmYXVsdFZhbHVlLFxuICAgICAgbWVzc2FnZVNuYXBzaG90czogZGVmYXVsdFZhbHVlLFxuICAgICAgcmVmZXJlbmNlZE1lc3NhZ2U6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG5vbmNlOiBkZWZhdWx0VmFsdWUsXG4gICAgICByZWFjdGlvbnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHN0aWNrZXJJdGVtczogZGVmYXVsdFZhbHVlLFxuICAgICAgdGhyZWFkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0eXBlOiBkZWZhdWx0VmFsdWUsXG4gICAgICB3ZWJob29rSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHBvbGw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNhbGw6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNoYXJlZENsaWVudFRoZW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICByZXNvbHZlZDogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZSxcbiAgICB9LFxuICAgIG1lc3NhZ2VTbmFwc2hvdDoge1xuICAgICAgbWVzc2FnZTogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVNuYXBzaG90LFxuICAgIH0sXG4gICAgbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE6IHtcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0eXBlOiBkZWZhdWx0VmFsdWUsXG4gICAgICB1c2VyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBvcmlnaW5hbFJlc3BvbnNlTWVzc2FnZUlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpbnRlcmFjdGVkTWVzc2FnZUlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0cmlnZ2VyaW5nSW50ZXJhY3Rpb25NZXRhZGF0YTogZGVmYXVsdFZhbHVlLFxuICAgICAgdGFyZ2V0TWVzc2FnZUlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0YXJnZXRVc2VyOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgICB9LFxuICAgIG1lc3NhZ2VQaW46IHtcbiAgICAgIG1lc3NhZ2U6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHBpbm5lZEF0OiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlUGluLFxuICAgIH0sXG4gICAgbWVzc2FnZUludGVyYWN0aW9uOiB7XG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgbWVtYmVyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBuYW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0eXBlOiBkZWZhdWx0VmFsdWUsXG4gICAgICB1c2VyOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb24sXG4gICAgfSxcbiAgICBtZXNzYWdlUmVmZXJlbmNlOiB7XG4gICAgICBtZXNzYWdlSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNoYW5uZWxJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgZ3VpbGRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVJlZmVyZW5jZSxcbiAgICB9LFxuICAgIG1lc3NhZ2VDYWxsOiB7XG4gICAgICBwYXJ0aWNpcGFudHM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGVuZGVkVGltZXN0YW1wOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlQ2FsbCxcbiAgICB9LFxuICAgIG5hbWVwbGF0ZToge1xuICAgICAgc2t1SWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFzc2V0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBsYWJlbDogZGVmYXVsdFZhbHVlLFxuICAgICAgcGFsZXR0ZTogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMubmFtZXBsYXRlLFxuICAgIH0sXG4gICAgcm9sZToge1xuICAgICAgbmFtZTogZGVmYXVsdFZhbHVlLFxuICAgICAgZ3VpbGRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgcG9zaXRpb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNvbG9yOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb2xvcnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwZXJtaXNzaW9uczogZGVmYXVsdFZhbHVlLFxuICAgICAgaWNvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgdW5pY29kZUVtb2ppOiBkZWZhdWx0VmFsdWUsXG4gICAgICBmbGFnczogZGVmYXVsdFZhbHVlLFxuICAgICAgdGFnczogZGVmYXVsdFZhbHVlLFxuICAgICAgdG9nZ2xlczogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMucm9sZSxcbiAgICB9LFxuICAgIHJvbGVDb2xvcnM6IHtcbiAgICAgIHByaW1hcnlDb2xvcjogZGVmYXVsdFZhbHVlLFxuICAgICAgc2Vjb25kYXJ5Q29sb3I6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRlcnRpYXJ5Q29sb3I6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLnJvbGVDb2xvcnMsXG4gICAgfSxcbiAgICBzY2hlZHVsZWRFdmVudDoge1xuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGd1aWxkSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNoYW5uZWxJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgY3JlYXRvcklkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzY2hlZHVsZWRTdGFydFRpbWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNjaGVkdWxlZEVuZFRpbWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGVudGl0eUlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjcmVhdG9yOiBkZWZhdWx0VmFsdWUsXG4gICAgICBuYW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgcHJpdmFjeUxldmVsOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzdGF0dXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGVudGl0eVR5cGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHVzZXJDb3VudDogZGVmYXVsdFZhbHVlLFxuICAgICAgbG9jYXRpb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGltYWdlOiBkZWZhdWx0VmFsdWUsXG4gICAgICByZWN1cnJlbmNlUnVsZTogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuc2NoZWR1bGVkRXZlbnQsXG4gICAgfSxcbiAgICBzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlOiB7XG4gICAgICBzdGFydDogZGVmYXVsdFZhbHVlLFxuICAgICAgZW5kOiBkZWZhdWx0VmFsdWUsXG4gICAgICBmcmVxdWVuY3k6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGludGVydmFsOiBkZWZhdWx0VmFsdWUsXG4gICAgICBieVdlZWtkYXk6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGJ5TldlZWtkYXk6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGJ5TW9udGg6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGJ5TW9udGhEYXk6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGJ5WWVhckRheTogZGVmYXVsdFZhbHVlLFxuICAgICAgY291bnQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLnNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsXG4gICAgfSxcbiAgICBzaGFyZWRDbGllbnRUaGVtZToge1xuICAgICAgY29sb3JzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBiYXNlTWl4OiBkZWZhdWx0VmFsdWUsXG4gICAgICBncmFkaWVudEFuZ2xlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBiYXNlVGhlbWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLnNoYXJlZENsaWVudFRoZW1lLFxuICAgIH0sXG4gICAgc3RhZ2VJbnN0YW5jZToge1xuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGd1aWxkSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNoYW5uZWxJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgdG9waWM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGd1aWxkU2NoZWR1bGVkRXZlbnRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuc3RhZ2VJbnN0YW5jZSxcbiAgICB9LFxuICAgIGludml0ZVN0YWdlSW5zdGFuY2U6IHtcbiAgICAgIG1lbWJlcnM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHBhcnRpY2lwYW50Q291bnQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNwZWFrZXJDb3VudDogZGVmYXVsdFZhbHVlLFxuICAgICAgdG9waWM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmludml0ZVN0YWdlSW5zdGFuY2UsXG4gICAgfSxcbiAgICBtZWRpYUdhbGxlcnlJdGVtOiB7XG4gICAgICBtZWRpYTogZGVmYXVsdFZhbHVlLFxuICAgICAgZGVzY3JpcHRpb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHNwb2lsZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLm1lZGlhR2FsbGVyeUl0ZW0sXG4gICAgfSxcbiAgICBzdGlja2VyOiB7XG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgcGFja0lkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBuYW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgdGFnczogZGVmYXVsdFZhbHVlLFxuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgZm9ybWF0VHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgYXZhaWxhYmxlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBndWlsZElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB1c2VyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzb3J0VmFsdWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLnN0aWNrZXIsXG4gICAgfSxcbiAgICB1bmZ1cmxlZE1lZGlhSXRlbToge1xuICAgICAgdXJsOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwcm94eVVybDogZGVmYXVsdFZhbHVlLFxuICAgICAgaGVpZ2h0OiBkZWZhdWx0VmFsdWUsXG4gICAgICB3aWR0aDogZGVmYXVsdFZhbHVlLFxuICAgICAgY29udGVudFR5cGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGF0dGFjaG1lbnRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgZmxhZ3M6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHBsYWNlaG9sZGVyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwbGFjZWhvbGRlclZlcnNpb246IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLnVuZnVybGVkTWVkaWFJdGVtLFxuICAgIH0sXG4gICAgdXNlcjoge1xuICAgICAgdXNlcm5hbWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGdsb2JhbE5hbWU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGxvY2FsZTogZGVmYXVsdFZhbHVlLFxuICAgICAgZmxhZ3M6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHByZW1pdW1UeXBlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBwdWJsaWNGbGFnczogZGVmYXVsdFZhbHVlLFxuICAgICAgYWNjZW50Q29sb3I6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBkaXNjcmltaW5hdG9yOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhdmF0YXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGVtYWlsOiBkZWZhdWx0VmFsdWUsXG4gICAgICBiYW5uZXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGF2YXRhckRlY29yYXRpb25EYXRhOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0b2dnbGVzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb2xsZWN0aWJsZXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHByaW1hcnlHdWlsZDogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMudXNlcixcbiAgICB9LFxuICAgIHVzZXJQcmltYXJ5R3VpbGQ6IHtcbiAgICAgIGlkZW50aXR5R3VpbGRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgaWRlbnRpdHlFbmFibGVkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0YWc6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGJhZGdlOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy51c2VyUHJpbWFyeUd1aWxkLFxuICAgIH0sXG4gICAgYXZhdGFyRGVjb3JhdGlvbkRhdGE6IHtcbiAgICAgIGFzc2V0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBza3VJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuYXZhdGFyRGVjb3JhdGlvbkRhdGEsXG4gICAgfSxcbiAgICB3ZWJob29rOiB7XG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgZ3VpbGRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgY2hhbm5lbElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB1c2VyOiBkZWZhdWx0VmFsdWUsXG4gICAgICBuYW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhdmF0YXI6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHRva2VuOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhcHBsaWNhdGlvbklkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzb3VyY2VHdWlsZDogZGVmYXVsdFZhbHVlLFxuICAgICAgc291cmNlQ2hhbm5lbDogZGVmYXVsdFZhbHVlLFxuICAgICAgdXJsOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy53ZWJob29rLFxuICAgIH0sXG4gICAgZ3VpbGRPbmJvYXJkaW5nOiB7XG4gICAgICBkZWZhdWx0Q2hhbm5lbElkczogZGVmYXVsdFZhbHVlLFxuICAgICAgZW5hYmxlZDogZGVmYXVsdFZhbHVlLFxuICAgICAgZ3VpbGRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgbW9kZTogZGVmYXVsdFZhbHVlLFxuICAgICAgcHJvbXB0czogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGRPbmJvYXJkaW5nLFxuICAgIH0sXG4gICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0OiB7XG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgaW5PbmJvYXJkaW5nOiBkZWZhdWx0VmFsdWUsXG4gICAgICBvcHRpb25zOiBkZWZhdWx0VmFsdWUsXG4gICAgICByZXF1aXJlZDogZGVmYXVsdFZhbHVlLFxuICAgICAgc2luZ2xlU2VsZWN0OiBkZWZhdWx0VmFsdWUsXG4gICAgICB0aXRsZTogZGVmYXVsdFZhbHVlLFxuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICAgIH0sXG4gICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uOiB7XG4gICAgICBjaGFubmVsSWRzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgZW1vamk6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICByb2xlSWRzOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0aXRsZTogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLFxuICAgIH0sXG4gICAgZW50aXRsZW1lbnQ6IHtcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBza3VJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgdXNlcklkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBndWlsZElkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhcHBsaWNhdGlvbklkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0eXBlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBkZWxldGVkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzdGFydHNBdDogZGVmYXVsdFZhbHVlLFxuICAgICAgZW5kc0F0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb25zdW1lZDogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuZW50aXRsZW1lbnQsXG4gICAgfSxcbiAgICBza3U6IHtcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB0eXBlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhcHBsaWNhdGlvbklkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBuYW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzbHVnOiBkZWZhdWx0VmFsdWUsXG4gICAgICBmbGFnczogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuc2t1LFxuICAgIH0sXG4gICAgdm9pY2VTdGF0ZToge1xuICAgICAgcmVxdWVzdFRvU3BlYWtUaW1lc3RhbXA6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNoYW5uZWxJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgZ3VpbGRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgdG9nZ2xlczogZGVmYXVsdFZhbHVlLFxuICAgICAgc2Vzc2lvbklkOiBkZWZhdWx0VmFsdWUsXG4gICAgICB1c2VySWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLnZvaWNlU3RhdGUsXG4gICAgfSxcbiAgICBwb2xsOiB7XG4gICAgICBxdWVzdGlvbjogZGVmYXVsdFZhbHVlLFxuICAgICAgYW5zd2VyczogZGVmYXVsdFZhbHVlLFxuICAgICAgZXhwaXJ5OiBkZWZhdWx0VmFsdWUsXG4gICAgICBsYXlvdXRUeXBlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhbGxvd011bHRpc2VsZWN0OiBkZWZhdWx0VmFsdWUsXG4gICAgICByZXN1bHRzOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5wb2xsLFxuICAgIH0sXG4gICAgcG9sbEFuc3dlcjoge1xuICAgICAgYW5zd2VySWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHBvbGxNZWRpYTogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMucG9sbEFuc3dlcixcbiAgICB9LFxuICAgIHBvbGxSZXN1bHQ6IHtcbiAgICAgIGlzRmluYWxpemVkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhbnN3ZXJDb3VudHM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLnBvbGxSZXN1bHQsXG4gICAgfSxcbiAgICBwb2xsQW5zd2VyQ291bnQ6IHtcbiAgICAgIGlkOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb3VudDogZGVmYXVsdFZhbHVlLFxuICAgICAgbWVWb3RlZDogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMucG9sbEFuc3dlckNvdW50LFxuICAgIH0sXG4gICAgcG9sbE1lZGlhOiB7XG4gICAgICB0ZXh0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBlbW9qaTogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMucG9sbE1lZGlhLFxuICAgIH0sXG4gICAgc3Vic2NyaXB0aW9uOiB7XG4gICAgICBjYW5jZWxlZEF0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb3VudHJ5OiBkZWZhdWx0VmFsdWUsXG4gICAgICBjdXJyZW50UGVyaW9kRW5kOiBkZWZhdWx0VmFsdWUsXG4gICAgICBjdXJyZW50UGVyaW9kU3RhcnQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHJlbmV3YWxTa3VJZHM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGVudGl0bGVtZW50SWRzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgc2t1SWRzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBzdGF0dXM6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIHVzZXJJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMuc3Vic2NyaXB0aW9uLFxuICAgIH0sXG4gICAgc291bmRib2FyZFNvdW5kOiB7XG4gICAgICBhdmFpbGFibGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGVtb2ppSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGVtb2ppTmFtZTogZGVmYXVsdFZhbHVlLFxuICAgICAgZ3VpbGRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgbmFtZTogZGVmYXVsdFZhbHVlLFxuICAgICAgc291bmRJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgdXNlcjogZGVmYXVsdFZhbHVlLFxuICAgICAgdm9sdW1lOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5zb3VuZGJvYXJkU291bmQsXG4gICAgfSxcbiAgICBsb2JieToge1xuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFwcGxpY2F0aW9uSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1ldGFkYXRhOiBkZWZhdWx0VmFsdWUsXG4gICAgICBtZW1iZXJzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBsaW5rZWRDaGFubmVsOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5sb2JieSxcbiAgICB9LFxuICAgIGxvYmJ5TWVtYmVyOiB7XG4gICAgICBpZDogZGVmYXVsdFZhbHVlLFxuICAgICAgbWV0YWRhdGE6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGZsYWdzOiBkZWZhdWx0VmFsdWUsXG4gICAgICAuLi5kZXNpcmVkUHJvcGVydGllcy5sb2JieU1lbWJlcixcbiAgICB9LFxuICAgIGxvYmJ5TWVzc2FnZToge1xuICAgICAgaWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNvbnRlbnQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGFwcGxpY2F0aW9uSWQ6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGZsYWdzOiBkZWZhdWx0VmFsdWUsXG4gICAgICBhdXRob3I6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIGNoYW5uZWxJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgbG9iYnlJZDogZGVmYXVsdFZhbHVlLFxuICAgICAgbWV0YWRhdGE6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIG1vZGVyYXRpb25NZXRhZGF0YTogZGVmYXVsdFZhbHVlLFxuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLFxuICAgICAgLi4uZGVzaXJlZFByb3BlcnRpZXMubG9iYnlNZXNzYWdlLFxuICAgIH0sXG4gICAgbG9iYnlJbnZpdGU6IHtcbiAgICAgIGNvZGU6IGRlZmF1bHRWYWx1ZSxcbiAgICAgIC4uLmRlc2lyZWRQcm9wZXJ0aWVzLmxvYmJ5SW52aXRlLFxuICAgIH0sXG4gIH0gc2F0aXNmaWVzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIGFzIENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8VCwgVERlZmF1bHQ+O1xufVxuXG4vKiogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzICovXG5leHBvcnQgdHlwZSBFcXVhbHM8VDEsIFQyPiA9IFJlcXVpcmVkPFQxPiBleHRlbmRzIFJlcXVpcmVkPFQyPiA/IChSZXF1aXJlZDxUMj4gZXh0ZW5kcyBSZXF1aXJlZDxUMT4gPyB0cnVlIDogZmFsc2UpIDogZmFsc2U7XG5cbi8qKiBAcHJpdmF0ZSBUaGlzIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyB3aXRob3V0IG5vdGljZXMgKi9cbmV4cG9ydCB0eXBlIEtleUJ5VmFsdWU8VE9iaiwgVFZhbHVlPiA9IHtcbiAgW0tleSBpbiBrZXlvZiBUT2JqXTogRXF1YWxzPFRPYmpbS2V5XSwgVFZhbHVlPiBleHRlbmRzIHRydWUgPyBLZXkgOiBuZXZlcjtcbn1ba2V5b2YgVE9ial07XG5cbi8qKiBAcHJpdmF0ZSBUaGlzIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyB3aXRob3V0IG5vdGljZXMgKi9cbmV4cG9ydCB0eXBlIENvbXBsZXRlPFRPYmosIFREZWZhdWx0PiA9IHtcbiAgW0sgaW4ga2V5b2YgVE9ial0tPzogdW5kZWZpbmVkIGV4dGVuZHMgVE9ialtLXSA/IFREZWZhdWx0IDogRXhjbHVkZTxUT2JqW0tdLCB1bmRlZmluZWQ+O1xufTtcblxuLyoqIEBwcml2YXRlIFRoaXMgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIHdpdGhvdXQgbm90aWNlcyAqL1xuZXhwb3J0IHR5cGUgQ29tcGxldGVCeUtleXM8VE9iaiwgS2V5cyBleHRlbmRzIHN0cmluZywgVERlZmF1bHQ+ID0ge1xuICBbSyBpbiBLZXlzXS0/OiBLIGV4dGVuZHMga2V5b2YgVE9iaiA/ICh1bmRlZmluZWQgZXh0ZW5kcyBUT2JqW0tdID8gVERlZmF1bHQgOiBFeGNsdWRlPFRPYmpbS10sIHVuZGVmaW5lZD4pIDogVERlZmF1bHQ7XG59O1xuXG4vKiogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzICovXG5leHBvcnQgdHlwZSBKb2luVHVwbGU8VCBleHRlbmRzIHN0cmluZ1tdLCBURGVsaW1pdGVyIGV4dGVuZHMgc3RyaW5nPiA9IFQgZXh0ZW5kcyByZWFkb25seSBbaW5mZXIgRiBleHRlbmRzIHN0cmluZywgLi4uaW5mZXIgUiBleHRlbmRzIHN0cmluZ1tdXVxuICA/IFJbJ2xlbmd0aCddIGV4dGVuZHMgMFxuICAgID8gRlxuICAgIDogYCR7Rn0ke1REZWxpbWl0ZXJ9JHtKb2luVHVwbGU8UiwgVERlbGltaXRlcj59YFxuICA6ICcnO1xuXG4vKiogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzICovXG5leHBvcnQgdHlwZSBEZXNpcmVkUHJvcGVydGllc01ldGFkYXRhID0ge1xuICBbSyBpbiBrZXlvZiBUcmFuc2Zvcm1lcnNPYmplY3RzXT86IHtcbiAgICBkZXBlbmRlbmNpZXM6IHtcbiAgICAgIFtLZXkgaW4ga2V5b2YgVHJhbnNmb3JtZXJzT2JqZWN0c1tLXV0/OiAoa2V5b2YgVHJhbnNmb3JtZXJzT2JqZWN0c1tLXSlbXTtcbiAgICB9O1xuICAgIGFsd2F5c1ByZXNlbnRzOiAoa2V5b2YgVHJhbnNmb3JtZXJzT2JqZWN0c1tLXSlbXTtcbiAgfTtcbn07XG5cbi8qKiBAcHJpdmF0ZSBUaGlzIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyB3aXRob3V0IG5vdGljZXMgKi9cbmV4cG9ydCB0eXBlIERlc2lyYWJsZVByb3BlcnRpZXM8VCBleHRlbmRzIFRyYW5zZm9ybWVyc09iamVjdHNba2V5b2YgVHJhbnNmb3JtZXJzT2JqZWN0c10+ID0gRXhjbHVkZTxcbiAga2V5b2YgVCxcbiAgLy8gRXhjbHVkZSB0aGUgcHJvcHMgdGhhdCBkZXBlbmQgb24gc29tZXRoaW5nIGVsc2UgZnJvbSB0aGUgZGVzaXJhYmxlIHByb3BlcnRpZXNcbiAgfCBrZXlvZiBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllc01ldGFkYXRhW0tleUJ5VmFsdWU8VHJhbnNmb3JtZXJzT2JqZWN0cywgVD5dWydkZXBlbmRlbmNpZXMnXVxuICAvLyBFeGNsdWRlIHRoZSBwcm9wcyB0aGF0IGFyZSBhbHdheXMgcHJlc2VudFxuICB8IFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzTWV0YWRhdGFbS2V5QnlWYWx1ZTxUcmFuc2Zvcm1lcnNPYmplY3RzLCBUPl1bJ2Fsd2F5c1ByZXNlbnRzJ11bbnVtYmVyXVxuPjtcblxuLyoqIEBwcml2YXRlIFRoaXMgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIHdpdGhvdXQgbm90aWNlcyAqL1xuZXhwb3J0IHR5cGUgRGVzaXJlZFByb3BlcnRpZXNNYXBwZXI8VCBleHRlbmRzIFRyYW5zZm9ybWVyc09iamVjdHNba2V5b2YgVHJhbnNmb3JtZXJzT2JqZWN0c10+ID0ge1xuICBbS2V5IGluIERlc2lyYWJsZVByb3BlcnRpZXM8VD5dOiBib29sZWFuO1xufTtcblxuZGVjbGFyZSBjb25zdCBUeXBlRXJyb3JTeW1ib2w6IHVuaXF1ZSBzeW1ib2w7XG5cbi8qKiBAcHJpdmF0ZSBUaGlzIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyB3aXRob3V0IG5vdGljZXMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVzaXJlZFByb3BlcnRpZXNFcnJvcjxUIGV4dGVuZHMgc3RyaW5nPiB7XG4gIFtUeXBlRXJyb3JTeW1ib2xdOiBUO1xufVxuXG4vKiogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzICovXG5leHBvcnQgdHlwZSBBcmVEZXBlbmRlbmNpZXNTYXRpc2ZpZWQ8VCwgVERlcGVuZGVuY2llcyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiB8IHVuZGVmaW5lZCwgVFByb3BzPiA9IHtcbiAgW0sgaW4ga2V5b2YgVF06IElzS2V5RGVzaXJlZDxUW0tdLCBURGVwZW5kZW5jaWVzLCBUUHJvcHM+IGV4dGVuZHMgdHJ1ZSA/IHRydWUgOiBmYWxzZTtcbn07XG5cbi8qKiBAcHJpdmF0ZSBUaGlzIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyB3aXRob3V0IG5vdGljZXMgKi9cbmV4cG9ydCB0eXBlIElzS2V5RGVzaXJlZDxUS2V5LCBURGVwZW5kZW5jaWVzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkLCBUUHJvcHM+ID0gVFByb3BzIGV4dGVuZHMgbmV2ZXIgLy8gSWYgdGhlIHByb3BzIGFyZSBuZXZlciwgYWxsIHByb3BzIGFyZSBhbGxvd2VkXG4gID8gdHJ1ZVxuICA6IFRLZXkgZXh0ZW5kcyBrZXlvZiBUUHJvcHMgLy8gVGhlIGtleSBoYXMgYSBkZXNpcmVkIHByb3BzP1xuICAgID8gLy8gWWVzLCBpcyBpdCB0cnVlP1xuICAgICAgVFByb3BzW1RLZXldIGV4dGVuZHMgdHJ1ZVxuICAgICAgPyAvLyBZZXMsIHRoaXMgaXMgYSBrZXkgdG8gaW5jbHVkZVxuICAgICAgICB0cnVlXG4gICAgICA6IC8vIE5vLCB0aGlzIGlzIGEga2V5IHRvIGV4Y2x1ZGVcbiAgICAgICAgRGVzaXJlZFByb3BlcnRpZXNFcnJvcjxgVGhpcyBwcm9wZXJ0eSBpcyBub3Qgc2V0IGFzIGRlc2lyZWQgaW4gZGVzaXJlZFByb3BlcnRpZXMgb3B0aW9uIGluIGNyZWF0ZUJvdCgpLCBzbyB5b3UgY2FuJ3QgdXNlIGl0LiBNb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9kaXNjb3JkZW5vLmpzLm9yZy9kZXNpcmVkLXByb3BzYD5cbiAgICA6IC8vIE5vLCBpdCBpcyBhIHByb3BzIHdpdGggZGVwZW5kZW5jaWVzP1xuICAgICAgVEtleSBleHRlbmRzIGtleW9mIFREZXBlbmRlbmNpZXNcbiAgICAgID8gLy8gWWVzLCBoYXMgYWxsIG9mIGl0cyBkZXBlbmRlbmNpZXMgc2F0aXNmaWVkP1xuICAgICAgICBBcmVEZXBlbmRlbmNpZXNTYXRpc2ZpZWQ8VERlcGVuZGVuY2llc1tUS2V5XSwgVERlcGVuZGVuY2llcywgVFByb3BzPiBleHRlbmRzIHRydWVbXVxuICAgICAgICA/IC8vIFllcywgdGhpcyBpcyBhIGtleSB0byBpbmNsdWRlXG4gICAgICAgICAgdHJ1ZVxuICAgICAgICA6IC8vIE5vLCB0aGlzIGlzIGEga2V5IHRvIG5vdCBpbmNsdWRlXG4gICAgICAgICAgRGVzaXJlZFByb3BlcnRpZXNFcnJvcjxgVGhpcyBwcm9wZXJ0eSBkZXBlbmRzIG9uIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczogJHtKb2luVHVwbGU8Tm9uTnVsbGFibGU8VERlcGVuZGVuY2llcz5bVEtleV0sICcsICc+fS4gTm90IGFsbCBvZiB0aGVzZSBwcm9wcyBhcmUgc2V0IGFzIGRlc2lyZWQgaW4gZGVzaXJlZFByb3BlcnRpZXMgb3B0aW9uIGluIGNyZWF0ZUJvdCgpLCBzbyB5b3UgY2FuJ3QgdXNlIGl0LiBNb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9kaXNjb3JkZW5vLmpzLm9yZy9kZXNpcmVkLXByb3BzYD5cbiAgICAgIDogLy8gTm8sIHdlIGluY2x1ZGUgaXQgYnV0IGl0IGRvZXMgbm90IGhhdmUgbmVpdGhlciBwcm9wcyBub3IgZGVwZW5kZW5jaWVzXG4gICAgICAgIHRydWU7XG5cbi8qKiBUaGUgYmVoYXZpb3IgaXQgc2hvdWxkIGJlIHVzZWQgd2hlbiByZXNvbHZpbmcgYW4gdW5kZXNpcmVkIHByb3BlcnR5ICovXG5leHBvcnQgZW51bSBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yIHtcbiAgLyoqIFdoZW4gdGhpcyBiZWhhdmlvciBpcyB1c2VkIHRoZSBrZXkgd2lsbCBiZSBtaXNzaW5nIGNvbXBsZXRlbHkgKi9cbiAgUmVtb3ZlS2V5LFxuICAvKiogV2hlbiB0aGlzIGJlaGF2aW9yIGlzIHVzZWQgdGhlIGtleSB3aWxsIGJlIGEgc3RyaW5nIGV4cGxhaW5pbmcgd2h5IHRoZSBwcm9wZXJ0eSBpcyBkaXNhYmxlZCAqL1xuICBDaGFuZ2VUeXBlLFxufVxuXG4vKiogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzICovXG5leHBvcnQgdHlwZSBSZW1vdmVLZXlJZlVuZGVzaXJlZDxLZXksIFQsIFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzPiA9XG4gIElzS2V5RGVzaXJlZDxcbiAgICBLZXksXG4gICAgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXNNZXRhZGF0YVtLZXlCeVZhbHVlPFRyYW5zZm9ybWVyc09iamVjdHMsIFQ+XVsnZGVwZW5kZW5jaWVzJ10sXG4gICAgVFByb3BzW0tleUJ5VmFsdWU8VHJhbnNmb3JtZXJzT2JqZWN0cywgVD5dXG4gID4gZXh0ZW5kcyB0cnVlXG4gICAgPyBLZXlcbiAgICA6IG5ldmVyO1xuXG4vKiogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzICovXG5leHBvcnQgdHlwZSBHZXRFcnJvcldoZW5VbmRlc2lyZWQ8XG4gIEtleSBleHRlbmRzIGtleW9mIFQsXG4gIFQsXG4gIFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxuICBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuICAvLyBUaGlzIGdlbmVyaWMgdmFsdWUgaXMgdXNlZCBhcyBhbiBhbGlhc1xuICBUSXNEZXNpcmVkID0gSXNLZXlEZXNpcmVkPFxuICAgIEtleSxcbiAgICBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllc01ldGFkYXRhW0tleUJ5VmFsdWU8VHJhbnNmb3JtZXJzT2JqZWN0cywgVD5dWydkZXBlbmRlbmNpZXMnXSxcbiAgICBUUHJvcHNbS2V5QnlWYWx1ZTxUcmFuc2Zvcm1lcnNPYmplY3RzLCBUPl1cbiAgPixcbj4gPSBUSXNEZXNpcmVkIGV4dGVuZHMgdHJ1ZSA/IFRyYW5zZm9ybVByb3BlcnR5PFRbS2V5XSwgVFByb3BzLCBUQmVoYXZpb3I+IDogVElzRGVzaXJlZDtcblxuLyoqIEBwcml2YXRlIFRoaXMgaXMgc3ViamVjdCB0byBicmVha2luZyBjaGFuZ2VzIHdpdGhvdXQgbm90aWNlcyAqL1xuZXhwb3J0IHR5cGUgSXNPYmplY3Q8VD4gPSBUIGV4dGVuZHMgb2JqZWN0ID8gKFQgZXh0ZW5kcyBGdW5jdGlvbiA/IGZhbHNlIDogdHJ1ZSkgOiBmYWxzZTtcblxuLy8gSWYgdGhlIG9iamVjdCBpcyBhIHRyYW5zZm9ybWVkIG9iamVjdCwgYSBjb2xsZWN0aW9uIG9mIHRyYW5zZm9ybWVkIG9iamVjdCBvciBhbiBhcnJheSBvZiB0cmFuc2Zvcm1lZCBvYmplY3RzIHdlIG5lZWQgdG8gYXBwbHkgdGhlIGRlc2lyZWQgcHJvcHMgdG8gdGhlbSBhcyB3ZWxsXG4vLyBOT1RFOiBjaGFuZ2luZyB0aGUgb3JkZXIgb2YgdGhlc2UgdGVybmFyaWVzIGNhbiBjYXVzZSBidWdzLCBmb3IgdGhpcyByZWFzb24gd2UgY2hlY2sgaW4gdGhpcyBvcmRlcjpcbi8vICAgICAgLSBJcyBpdCBhbiBhcnJheT9cbi8vICAgICAgLSBJcyBpdCBhIGNvbGxlY3Rpb24/XG4vLyAgICAgIC0gSXMgaXQgYSBib3Q/XG4vLyAgICAgIC0gSXMgaXQgYSB0cmFuc2Zvcm1lZCBvYmplY3Q/XG4vLyAgICAgIC0gSXMgaXQgYW4gaW50ZXJhY3Rpb24gcmVzb2x2ZWQgZGF0YSBtZW1iZXI/XG4vLyAgICAgIC0gSXMgaXQgYW4gaW50ZXJhY3Rpb24gcmVzb2x2ZWQgZGF0YSBjaGFubmVsP1xuLy8gICAgICAtIElzIGl0IGFuIG9iamVjdD9cbi8vICAgICAgLSBJdCdzIG5vdCBhbiBvYmplY3RcblxuLyoqXG4gKiBUcmFuc2Zvcm0gYSBnZW5lcmljIG9iamVjdCBwcm9wZXJ0aWVzIGJhc2VkIG9uIHRoZSBkZXNpcmVkIHByb3BlcnRpZXMgYW5kIGJlaGF2aW9yIGZvciBvdGhlciB0cmFuc2Zvcm1lciBvYmplY3RzIGluIHRoZSBvYmplY3QuXG4gKi9cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybVByb3BlcnR5PFQsIFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiA9XG4gIFQgZXh0ZW5kcyBBcnJheTxpbmZlciBVPiAvLyBpcyBpdCBhbiBhcnJheT9cbiAgICA/IC8vIFllcywgYXBwbHkgdGhlIGRlc2lyZWQgcHJvcHNcbiAgICAgIFRyYW5zZm9ybVByb3BlcnR5PFUsIFRQcm9wcywgVEJlaGF2aW9yPltdXG4gICAgOiAvLyBObywgaXMgaXQgYSBjb2xsZWN0aW9uP1xuICAgICAgVCBleHRlbmRzIENvbGxlY3Rpb248aW5mZXIgVSwgaW5mZXIgVU9iaj5cbiAgICAgID8gLy8gWWVzLCBjaGVjayBmb3IgbmVzdGVkIHByb3ByaWV0aWVzXG4gICAgICAgIENvbGxlY3Rpb248VSwgVHJhbnNmb3JtUHJvcGVydHk8VU9iaiwgVFByb3BzLCBUQmVoYXZpb3I+PlxuICAgICAgOiAvLyBObywgaXMgaXQgYSBCb3Q/XG4gICAgICAgIEVxdWFsczxULCBCb3Q+IGV4dGVuZHMgdHJ1ZVxuICAgICAgICA/IC8vIFllcywgcmV0dXJuIGEgYm90IHdpdGggdGhlIGNvcnJlY3Qgc2V0IG9mIHByb3BzICYgYmVoYXZpb3JcbiAgICAgICAgICBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+XG4gICAgICAgIDogLy8gTm8sIGlzIGl0IGEgdHJhbnNmb3JtZWQgb2JqZWN0P1xuICAgICAgICAgIFQgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNPYmplY3RzW2tleW9mIFRyYW5zZm9ybWVyc09iamVjdHNdXG4gICAgICAgICAgPyAvLyBZZXMsIGFwcGx5IHRoZSBkZXNpcmVkIHByb3BzXG4gICAgICAgICAgICBTZXR1cERlc2lyZWRQcm9wczxULCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgICAgICAgICA6IC8vIE5vLCBpcyBpdCBhbiBpbnRlcmFjdGlvbiByZXNvbHZlZCBkYXRhIG1lbWJlcj8gfCBXZSBuZWVkIHRvIGNoZWNrIHRoaXMgaGVyZSBiZWNhdXNlIHRoZSB0eXBlIGl0c2VsZiBoYXMgbm90IHdheSBvZiBnZXR0aW5nIHRoZSBkZXNpcmVkIHByb3BzXG4gICAgICAgICAgICBFcXVhbHM8VCwgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGFNZW1iZXI8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+PiBleHRlbmRzIHRydWVcbiAgICAgICAgICAgID8gLy8gWWVzLCBhcHBseSB0aGUgZGVzaXJlZCBwcm9wc1xuICAgICAgICAgICAgICBJbnRlcmFjdGlvblJlc29sdmVkRGF0YU1lbWJlcjxUUHJvcHMsIFRCZWhhdmlvcj5cbiAgICAgICAgICAgIDogLy8gTm8sIGlzIGl0IGFuIGludGVyYWN0aW9uIHJlc29sdmVkIGRhdGEgY2hhbm5lbD8gfCBXZSBuZWVkIHRvIGNoZWNrIHRoaXMgaGVyZSBiZWNhdXNlIHRoZSB0eXBlIGl0c2VsZiBoYXMgbm90IHdheSBvZiBnZXR0aW5nIHRoZSBkZXNpcmVkIHByb3BzXG4gICAgICAgICAgICAgIEVxdWFsczxULCBJbnRlcmFjdGlvblJlc29sdmVkRGF0YUNoYW5uZWw8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+PiBleHRlbmRzIHRydWVcbiAgICAgICAgICAgICAgPyAvLyBZZXMsIGFwcGx5IHRoZSBkZXNpcmVkIHByb3BzXG4gICAgICAgICAgICAgICAgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGFDaGFubmVsPFRQcm9wcywgVEJlaGF2aW9yPlxuICAgICAgICAgICAgICA6IC8vIElzIGl0IGEgZnVuY3Rpb24/XG4gICAgICAgICAgICAgICAgVCBleHRlbmRzICguLi5hcmdzOiBpbmZlciBQKSA9PiBQcm9taXNlPGluZmVyIFI+XG4gICAgICAgICAgICAgICAgPyAvLyBZZXMsIHdlIG5lZWQgdG8gZW5zdXJlIHdlIHRyYW5zZm9ybSB0aGUgcmV0dXJuIHR5cGUgYXMgd2VsbFxuICAgICAgICAgICAgICAgICAgKC4uLmFyZ3M6IFApID0+IFByb21pc2U8VHJhbnNmb3JtUHJvcGVydHk8UiwgVFByb3BzLCBUQmVoYXZpb3I+PlxuICAgICAgICAgICAgICAgIDogLy8gSXMgaXQgYW4gb2JqZWN0P1xuICAgICAgICAgICAgICAgICAgSXNPYmplY3Q8VD4gZXh0ZW5kcyB0cnVlXG4gICAgICAgICAgICAgICAgICA/IC8vIFllcywgd2UgbmVlZCB0byBlbnN1cmUgd2UgdHJhbnNmb3JtIHRoZSBuZXN0ZWQgcHJvcGVydGllcyBhcyB3ZWxsXG4gICAgICAgICAgICAgICAgICAgIHsgW0sgaW4ga2V5b2YgVF06IFRyYW5zZm9ybVByb3BlcnR5PFRbS10sIFRQcm9wcywgVEJlaGF2aW9yPiB9XG4gICAgICAgICAgICAgICAgICA6IC8vIE5vLCB0aGlzIGlzIGEgbm9ybWFsIHZhbHVlIHN1Y2ggYXMgc3RyaW5nIC8gYmlnaW50IC8gbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgIFQ7XG5cbi8qKlxuICogQXBwbHkgZGVzaXJlZCBwcm9wZXJ0aWVzIHRvIGFuIG9iamVjdC5cbiAqXG4gKiBAcmVtYXJrc1xuICogSWYgdGhlIG9iamVjdCBpcyBub3QgYSB0cmFuc2Zvcm1lZCBvYmplY3QgdGhhdCBzdXBwb3J0cyBkZXNpcmVkIHByb3BlcnRpZXMgdGhpcyBmdW5jdGlvbiBiZWhhdmVzIHRoZSBzYW1lIGFzIFRyYW5zZm9ybVByb3BlcnR5IG9uIHRoZSBlbnRpcmUgb2JqZWN0XG4gKi9cbmV4cG9ydCB0eXBlIFNldHVwRGVzaXJlZFByb3BzPFxuICBULFxuICBUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciA9IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5LFxuPiA9IHtcbiAgLy8gV2hlbiB0aGUgYmVoYXZpb3IgaXMgdG8gcmVtb3ZlIHRoZSBrZXkgd2UgdXNlIHRoZSBSZW1vdmVLZXlJZlVuZGVzaXJlZCB0eXBlIGhlbHBlciBlbHNlIHJldHVybiB0aGUgS2V5IGFzIGlzXG4gIFtLZXkgaW4ga2V5b2YgVCBhcyBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleVxuICAgID8gUmVtb3ZlS2V5SWZVbmRlc2lyZWQ8S2V5LCBULCBUUHJvcHM+XG4gICAgOiBLZXldOiAvLyBXaGVuIHRoZSBiZWhhdmlvciBpcyB0byBjaGFuZ2UgdGhlIHR5cGUgd2UgdXNlIHRoZSBHZXRFcnJvcldoZW5VbmRlc2lyZWQgdHlwZSBoZWxwZXIgZWxzZSBhcHBseSB0aGUgZGVzaXJlZCBwcm9wcyB0byB0aGUga2V5IGFuZCByZXR1cm5cbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5DaGFuZ2VUeXBlXG4gICAgPyBHZXRFcnJvcldoZW5VbmRlc2lyZWQ8S2V5LCBULCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgICA6IFRyYW5zZm9ybVByb3BlcnR5PFRbS2V5XSwgVFByb3BzLCBUQmVoYXZpb3I+O1xufTtcblxuLyoqXG4gKiBUaGUgZGVzaXJlZCBwcm9wZXJ0aWVzIGZvciBlYWNoIHRyYW5zZm9ybWVyIG9iamVjdC5cbiAqL1xuZXhwb3J0IHR5cGUgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgPSB7XG4gIFtLZXkgaW4ga2V5b2YgVHJhbnNmb3JtZXJzT2JqZWN0c106IERlc2lyZWRQcm9wZXJ0aWVzTWFwcGVyPFRyYW5zZm9ybWVyc09iamVjdHNbS2V5XT47XG59O1xuXG4vKiogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzICovXG5leHBvcnQgdHlwZSBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPFQgZXh0ZW5kcyBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzPiwgVFREZWZhdWx0IGV4dGVuZHMgYm9vbGVhbiA9IGZhbHNlPiA9IHtcbiAgW0sgaW4ga2V5b2YgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXNdOiBDb21wbGV0ZTxQYXJ0aWFsPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzW0tdPiAmIFRbS10sIFRURGVmYXVsdD47XG59O1xuIl0sIm5hbWVzIjpbInRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzTWV0YWRhdGEiLCJjaGFubmVsIiwiZGVwZW5kZW5jaWVzIiwiYXJjaGl2ZWQiLCJpbnZpdGFibGUiLCJsb2NrZWQiLCJuc2Z3IiwibmV3bHlDcmVhdGVkIiwibWFuYWdlZCIsImFsd2F5c1ByZXNlbnRzIiwiZ3VpbGQiLCJ0aHJlYWRzIiwiZmVhdHVyZXMiLCJpbnRlcmFjdGlvbiIsInJlc3BvbmQiLCJzZW5kRm9sbG93dXBNZXNzYWdlIiwiZWRpdCIsImRlZmVyRWRpdCIsImRlZmVyIiwiZGVsZXRlIiwibWVtYmVyIiwiZGVhZiIsIm11dGUiLCJwZW5kaW5nIiwiZmxhZ3MiLCJkaWRSZWpvaW4iLCJzdGFydGVkT25ib2FyZGluZyIsImJ5cGFzc2VzVmVyaWZpY2F0aW9uIiwiY29tcGxldGVkT25ib2FyZGluZyIsIm1lc3NhZ2UiLCJjcm9zc3Bvc3RlZCIsImVwaGVtZXJhbCIsImZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkIiwiaGFzVGhyZWFkIiwiaXNDcm9zc3Bvc3QiLCJsb2FkaW5nIiwibWVudGlvbmVkVXNlcklkcyIsIm1lbnRpb25FdmVyeW9uZSIsInBpbm5lZCIsInNvdXJjZU1lc3NhZ2VEZWxldGVkIiwic3VwcHJlc3NFbWJlZHMiLCJzdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJ0aW1lc3RhbXAiLCJ0dHMiLCJ1cmdlbnQiLCJyb2xlIiwiaG9pc3QiLCJtZW50aW9uYWJsZSIsInByZW1pdW1TdWJzY3JpYmVyIiwiYXZhaWxhYmxlRm9yUHVyY2hhc2UiLCJndWlsZENvbm5lY3Rpb25zIiwidXNlciIsInRhZyIsImJvdCIsInN5c3RlbSIsIm1mYUVuYWJsZWQiLCJ2ZXJpZmllZCIsImF2YXRhclVybCIsImRpc3BsYXlOYW1lIiwiZGVmYXVsdEF2YXRhclVybCIsImRpc3BsYXlBdmF0YXJVcmwiLCJjcmVhdGVkVGltZXN0YW1wIiwiZW1vamkiLCJhbmltYXRlZCIsImF2YWlsYWJsZSIsInJlcXVpcmVDb2xvbnMiLCJjcmVhdGVEZXNpcmVkUHJvcGVydGllc09iamVjdCIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiZGVmYXVsdFZhbHVlIiwiYWN0aXZpdHlJbnN0YW5jZSIsImFwcGxpY2F0aW9uSWQiLCJpbnN0YW5jZUlkIiwibGF1bmNoSWQiLCJsb2NhdGlvbiIsInVzZXJzIiwiYWN0aXZpdHlMb2NhdGlvbiIsImNoYW5uZWxJZCIsImd1aWxkSWQiLCJpZCIsImtpbmQiLCJhdHRhY2htZW50IiwiZmlsZW5hbWUiLCJ0aXRsZSIsImNvbnRlbnRUeXBlIiwic2l6ZSIsInVybCIsInByb3h5VXJsIiwiaGVpZ2h0Iiwid2lkdGgiLCJkZXNjcmlwdGlvbiIsImR1cmF0aW9uX3NlY3MiLCJ3YXZlZm9ybSIsImFwcGxpY2F0aW9uIiwiY2xpcENyZWF0ZWRBdCIsImNsaXBQYXJ0aWNpcGFudHMiLCJwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyVmVyc2lvbiIsInR5cGUiLCJwb3NpdGlvbiIsIm5hbWUiLCJ0b3BpYyIsImJpdHJhdGUiLCJ1c2VyTGltaXQiLCJyYXRlTGltaXRQZXJVc2VyIiwicnRjUmVnaW9uIiwidmlkZW9RdWFsaXR5TW9kZSIsImxhc3RQaW5UaW1lc3RhbXAiLCJwZXJtaXNzaW9uT3ZlcndyaXRlcyIsInBlcm1pc3Npb25zIiwiYXBwUGVybWlzc2lvbnMiLCJsYXN0TWVzc2FnZUlkIiwib3duZXJJZCIsInBhcmVudElkIiwibWVtYmVyQ291bnQiLCJtZXNzYWdlQ291bnQiLCJkZWZhdWx0QXV0b0FyY2hpdmVEdXJhdGlvbiIsImFwcGxpZWRUYWdzIiwiYXZhaWxhYmxlVGFncyIsImRlZmF1bHRGb3J1bUxheW91dCIsImRlZmF1bHRSZWFjdGlvbkVtb2ppIiwiZGVmYXVsdFNvcnRPcmRlciIsImRlZmF1bHRUaHJlYWRSYXRlTGltaXRQZXJVc2VyIiwiaWNvbiIsInJlY2lwaWVudHMiLCJ0b3RhbE1lc3NhZ2VTZW50IiwidGhyZWFkTWV0YWRhdGEiLCJjb2xsZWN0aWJsZXMiLCJuYW1lcGxhdGUiLCJjb21wb25lbnQiLCJjdXN0b21JZCIsInJlcXVpcmVkIiwiZGlzYWJsZWQiLCJzdHlsZSIsImxhYmVsIiwidmFsdWUiLCJkZWZhdWx0IiwiY2hhbm5lbFR5cGVzIiwib3B0aW9ucyIsIm1pblZhbHVlcyIsIm1heFZhbHVlcyIsIm1pbkxlbmd0aCIsIm1heExlbmd0aCIsImNvbXBvbmVudHMiLCJkZWZhdWx0VmFsdWVzIiwic2t1SWQiLCJhY2Nlc3NvcnkiLCJjb250ZW50Iiwic3BvaWxlciIsIml0ZW1zIiwiZGl2aWRlciIsInNwYWNpbmciLCJmaWxlIiwibWVkaWEiLCJhY2NlbnRDb2xvciIsInZhbHVlcyIsInJlc29sdmVkIiwiZmlsZVR5cGVzIiwiZm9ydW1UYWciLCJlbW9qaUlkIiwiZW1vamlOYW1lIiwibW9kZXJhdGVkIiwicm9sZXMiLCJhZmtUaW1lb3V0IiwiYXBwcm94aW1hdGVNZW1iZXJDb3VudCIsImFwcHJveGltYXRlUHJlc2VuY2VDb3VudCIsImRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyIsImV4cGxpY2l0Q29udGVudEZpbHRlciIsIm1heE1lbWJlcnMiLCJtYXhQcmVzZW5jZXMiLCJtYXhWaWRlb0NoYW5uZWxVc2VycyIsIm1mYUxldmVsIiwiY2hhbm5lbHMiLCJlbW9qaXMiLCJpY29uSGFzaCIsImxhcmdlIiwibWVtYmVycyIsIm93bmVyIiwicHJlc2VuY2VzIiwic3RpY2tlcnMiLCJ0b2dnbGVzIiwidW5hdmFpbGFibGUiLCJ2b2ljZVN0YXRlcyIsIndpZGdldEVuYWJsZWQiLCJuc2Z3TGV2ZWwiLCJwcmVmZXJyZWRMb2NhbGUiLCJwcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQiLCJwcmVtaXVtVGllciIsInN0YWdlSW5zdGFuY2VzIiwic3lzdGVtQ2hhbm5lbEZsYWdzIiwidmFuaXR5VXJsQ29kZSIsInZlcmlmaWNhdGlvbkxldmVsIiwid2VsY29tZVNjcmVlbiIsImRpc2NvdmVyeVNwbGFzaCIsImpvaW5lZEF0Iiwic2hhcmRJZCIsImJhbm5lciIsInNwbGFzaCIsImFma0NoYW5uZWxJZCIsIndpZGdldENoYW5uZWxJZCIsInN5c3RlbUNoYW5uZWxJZCIsInJ1bGVzQ2hhbm5lbElkIiwicHVibGljVXBkYXRlc0NoYW5uZWxJZCIsInByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQiLCJzYWZldHlBbGVydHNDaGFubmVsSWQiLCJtYXhTdGFnZVZpZGVvQ2hhbm5lbFVzZXJzIiwiaW5jaWRlbnRzRGF0YSIsImRtU3BhbURldGVjdGVkQXQiLCJkbXNEaXNhYmxlZFVudGlsIiwiaW52aXRlc0Rpc2FibGVkVW50aWwiLCJyYWlkRGV0ZWN0ZWRBdCIsInRva2VuIiwidmVyc2lvbiIsImRhdGEiLCJsb2NhbGUiLCJndWlsZExvY2FsZSIsImVudGl0bGVtZW50cyIsImF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMiLCJjb250ZXh0IiwiYXR0YWNobWVudFNpemVMaW1pdCIsImludGVyYWN0aW9uQ2FsbGJhY2siLCJhY3Rpdml0eUluc3RhbmNlSWQiLCJyZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwiLCJyZXNwb25zZU1lc3NhZ2VJZCIsInJlc3BvbnNlTWVzc2FnZUxvYWRpbmciLCJpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJyZXNvdXJjZSIsImludGVyYWN0aW9uUmVzb3VyY2UiLCJpbnZpdGUiLCJjb2RlIiwiY3JlYXRlZEF0IiwiaW52aXRlciIsIm1heEFnZSIsIm1heFVzZXMiLCJ0YXJnZXRUeXBlIiwidGFyZ2V0VXNlciIsInRhcmdldEFwcGxpY2F0aW9uIiwidGVtcG9yYXJ5IiwidXNlcyIsImd1aWxkU2NoZWR1bGVkRXZlbnQiLCJleHBpcmVzQXQiLCJuaWNrIiwicHJlbWl1bVNpbmNlIiwiYXZhdGFyIiwiY29tbXVuaWNhdGlvbkRpc2FibGVkVW50aWwiLCJhdmF0YXJEZWNvcmF0aW9uRGF0YSIsImFjdGl2aXR5IiwiYXR0YWNobWVudHMiLCJhdXRob3IiLCJlZGl0ZWRUaW1lc3RhbXAiLCJlbWJlZHMiLCJpbnRlcmFjdGlvbk1ldGFkYXRhIiwibWVudGlvbmVkQ2hhbm5lbElkcyIsIm1lbnRpb25lZFJvbGVJZHMiLCJtZW50aW9ucyIsImNoYW5uZWxUeXBlIiwibWVzc2FnZVJlZmVyZW5jZSIsIm1lc3NhZ2VTbmFwc2hvdHMiLCJyZWZlcmVuY2VkTWVzc2FnZSIsIm5vbmNlIiwicmVhY3Rpb25zIiwic3RpY2tlckl0ZW1zIiwidGhyZWFkIiwid2ViaG9va0lkIiwicG9sbCIsImNhbGwiLCJzaGFyZWRDbGllbnRUaGVtZSIsIm1lc3NhZ2VTbmFwc2hvdCIsIm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhIiwib3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCIsImludGVyYWN0ZWRNZXNzYWdlSWQiLCJ0cmlnZ2VyaW5nSW50ZXJhY3Rpb25NZXRhZGF0YSIsInRhcmdldE1lc3NhZ2VJZCIsIm1lc3NhZ2VQaW4iLCJwaW5uZWRBdCIsIm1lc3NhZ2VJbnRlcmFjdGlvbiIsIm1lc3NhZ2VJZCIsIm1lc3NhZ2VDYWxsIiwicGFydGljaXBhbnRzIiwiZW5kZWRUaW1lc3RhbXAiLCJhc3NldCIsInBhbGV0dGUiLCJjb2xvciIsImNvbG9ycyIsInVuaWNvZGVFbW9qaSIsInRhZ3MiLCJyb2xlQ29sb3JzIiwicHJpbWFyeUNvbG9yIiwic2Vjb25kYXJ5Q29sb3IiLCJ0ZXJ0aWFyeUNvbG9yIiwic2NoZWR1bGVkRXZlbnQiLCJjcmVhdG9ySWQiLCJzY2hlZHVsZWRTdGFydFRpbWUiLCJzY2hlZHVsZWRFbmRUaW1lIiwiZW50aXR5SWQiLCJjcmVhdG9yIiwicHJpdmFjeUxldmVsIiwic3RhdHVzIiwiZW50aXR5VHlwZSIsInVzZXJDb3VudCIsImltYWdlIiwicmVjdXJyZW5jZVJ1bGUiLCJzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlIiwic3RhcnQiLCJlbmQiLCJmcmVxdWVuY3kiLCJpbnRlcnZhbCIsImJ5V2Vla2RheSIsImJ5TldlZWtkYXkiLCJieU1vbnRoIiwiYnlNb250aERheSIsImJ5WWVhckRheSIsImNvdW50IiwiYmFzZU1peCIsImdyYWRpZW50QW5nbGUiLCJiYXNlVGhlbWUiLCJzdGFnZUluc3RhbmNlIiwiZ3VpbGRTY2hlZHVsZWRFdmVudElkIiwiaW52aXRlU3RhZ2VJbnN0YW5jZSIsInBhcnRpY2lwYW50Q291bnQiLCJzcGVha2VyQ291bnQiLCJtZWRpYUdhbGxlcnlJdGVtIiwic3RpY2tlciIsInBhY2tJZCIsImZvcm1hdFR5cGUiLCJzb3J0VmFsdWUiLCJ1bmZ1cmxlZE1lZGlhSXRlbSIsImF0dGFjaG1lbnRJZCIsInVzZXJuYW1lIiwiZ2xvYmFsTmFtZSIsInByZW1pdW1UeXBlIiwicHVibGljRmxhZ3MiLCJkaXNjcmltaW5hdG9yIiwiZW1haWwiLCJwcmltYXJ5R3VpbGQiLCJ1c2VyUHJpbWFyeUd1aWxkIiwiaWRlbnRpdHlHdWlsZElkIiwiaWRlbnRpdHlFbmFibGVkIiwiYmFkZ2UiLCJ3ZWJob29rIiwic291cmNlR3VpbGQiLCJzb3VyY2VDaGFubmVsIiwiZ3VpbGRPbmJvYXJkaW5nIiwiZGVmYXVsdENoYW5uZWxJZHMiLCJlbmFibGVkIiwibW9kZSIsInByb21wdHMiLCJndWlsZE9uYm9hcmRpbmdQcm9tcHQiLCJpbk9uYm9hcmRpbmciLCJzaW5nbGVTZWxlY3QiLCJndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24iLCJjaGFubmVsSWRzIiwicm9sZUlkcyIsImVudGl0bGVtZW50IiwidXNlcklkIiwiZGVsZXRlZCIsInN0YXJ0c0F0IiwiZW5kc0F0IiwiY29uc3VtZWQiLCJza3UiLCJzbHVnIiwidm9pY2VTdGF0ZSIsInJlcXVlc3RUb1NwZWFrVGltZXN0YW1wIiwic2Vzc2lvbklkIiwicXVlc3Rpb24iLCJhbnN3ZXJzIiwiZXhwaXJ5IiwibGF5b3V0VHlwZSIsImFsbG93TXVsdGlzZWxlY3QiLCJyZXN1bHRzIiwicG9sbEFuc3dlciIsImFuc3dlcklkIiwicG9sbE1lZGlhIiwicG9sbFJlc3VsdCIsImlzRmluYWxpemVkIiwiYW5zd2VyQ291bnRzIiwicG9sbEFuc3dlckNvdW50IiwibWVWb3RlZCIsInRleHQiLCJzdWJzY3JpcHRpb24iLCJjYW5jZWxlZEF0IiwiY291bnRyeSIsImN1cnJlbnRQZXJpb2RFbmQiLCJjdXJyZW50UGVyaW9kU3RhcnQiLCJyZW5ld2FsU2t1SWRzIiwiZW50aXRsZW1lbnRJZHMiLCJza3VJZHMiLCJzb3VuZGJvYXJkU291bmQiLCJzb3VuZElkIiwidm9sdW1lIiwibG9iYnkiLCJtZXRhZGF0YSIsImxpbmtlZENoYW5uZWwiLCJsb2JieU1lbWJlciIsImxvYmJ5TWVzc2FnZSIsImxvYmJ5SWQiLCJtb2RlcmF0aW9uTWV0YWRhdGEiLCJsb2JieUludml0ZSIsIkRlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IiXSwibWFwcGluZ3MiOiJBQStIQTs7OztDQUlDLEdBQ0QsT0FBTyxNQUFNQSx3Q0FBd0M7SUFDbkRDLFNBQVM7UUFDUEMsY0FBYztZQUNaQyxVQUFVO2dCQUFDO2FBQVU7WUFDckJDLFdBQVc7Z0JBQUM7YUFBVTtZQUN0QkMsUUFBUTtnQkFBQzthQUFVO1lBQ25CQyxNQUFNO2dCQUFDO2FBQVU7WUFDakJDLGNBQWM7Z0JBQUM7YUFBVTtZQUN6QkMsU0FBUztnQkFBQzthQUFVO1FBQ3RCO1FBQ0FDLGdCQUFnQjtZQUFDO1lBQVc7WUFBc0I7U0FBeUI7SUFDN0U7SUFFQUMsT0FBTztRQUNMUixjQUFjO1lBQ1pTLFNBQVM7Z0JBQUM7YUFBVztZQUNyQkMsVUFBVTtnQkFBQzthQUFVO1FBQ3ZCO1FBQ0FILGdCQUFnQixFQUFFO0lBQ3BCO0lBRUFJLGFBQWE7UUFDWFgsY0FBYztZQUNaWSxTQUFTO2dCQUFDO2dCQUFRO2dCQUFTO2FBQUs7WUFDaENDLHFCQUFxQjtnQkFBQzthQUFRO1lBQzlCQyxNQUFNO2dCQUFDO2dCQUFRO2dCQUFTO2FBQUs7WUFDN0JDLFdBQVc7Z0JBQUM7Z0JBQVE7Z0JBQVM7YUFBSztZQUNsQ0Ms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