@discordeno/bot 19.0.0-next.f9bdfce → 19.0.0-next.fb8af2b

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 (322) hide show
  1. package/dist/cjs/bot.cjs +1 -1
  2. package/dist/cjs/handlers/channels/CHANNEL_CREATE.cjs +2 -2
  3. package/dist/cjs/handlers/channels/THREAD_MEMBERS_UPDATE.cjs +2 -2
  4. package/dist/cjs/handlers/channels/THREAD_MEMBER_UPDATE.cjs +2 -2
  5. package/dist/cjs/handlers/guilds/GUILD_STICKERS_UPDATE.cjs +2 -2
  6. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.cjs +2 -2
  7. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.cjs +2 -2
  8. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.cjs +2 -2
  9. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.cjs +2 -2
  10. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.cjs +2 -2
  11. package/dist/cjs/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.cjs +2 -2
  12. package/dist/cjs/handlers/members/GUILD_MEMBER_UPDATE.cjs +2 -1
  13. package/dist/cjs/handlers/webhooks/WEBHOOKS_UPDATE.cjs +2 -2
  14. package/dist/cjs/helpers.cjs +1 -1
  15. package/dist/cjs/optionalize.cjs +1 -1
  16. package/dist/cjs/transformers/activity.cjs +1 -1
  17. package/dist/cjs/transformers/application.cjs +1 -1
  18. package/dist/cjs/transformers/applicationCommand.cjs +1 -1
  19. package/dist/cjs/transformers/applicationCommandOption.cjs +1 -1
  20. package/dist/cjs/transformers/applicationCommandOptionChoice.cjs +1 -1
  21. package/dist/cjs/transformers/applicationCommandPermission.cjs +1 -1
  22. package/dist/cjs/transformers/attachment.cjs +1 -1
  23. package/dist/cjs/transformers/auditLogEntry.cjs +1 -1
  24. package/dist/cjs/transformers/automodActionExecution.cjs +1 -1
  25. package/dist/cjs/transformers/automodRule.cjs +1 -1
  26. package/dist/cjs/transformers/avatarDecorationData.cjs +1 -1
  27. package/dist/cjs/transformers/channel.cjs +5 -5
  28. package/dist/cjs/transformers/component.cjs +1 -1
  29. package/dist/cjs/transformers/embed.cjs +1 -1
  30. package/dist/cjs/transformers/emoji.cjs +1 -1
  31. package/dist/cjs/transformers/entitlement.cjs +1 -1
  32. package/dist/cjs/transformers/gatewayBot.cjs +1 -1
  33. package/dist/cjs/transformers/guild.cjs +1 -1
  34. package/dist/cjs/transformers/index.cjs +2 -1
  35. package/dist/cjs/transformers/integration.cjs +1 -1
  36. package/dist/cjs/transformers/interaction.cjs +6 -7
  37. package/dist/cjs/transformers/invite.cjs +1 -1
  38. package/dist/cjs/transformers/member.cjs +17 -4
  39. package/dist/cjs/transformers/message.cjs +19 -27
  40. package/dist/cjs/transformers/onboarding.cjs +3 -3
  41. package/dist/cjs/transformers/poll.cjs +4 -3
  42. package/dist/cjs/transformers/presence.cjs +1 -1
  43. package/dist/cjs/transformers/reverse/activity.cjs +2 -2
  44. package/dist/cjs/transformers/reverse/allowedMentions.cjs +2 -2
  45. package/dist/cjs/transformers/reverse/application.cjs +1 -1
  46. package/dist/cjs/transformers/reverse/applicationCommand.cjs +1 -1
  47. package/dist/cjs/transformers/reverse/applicationCommandOption.cjs +1 -1
  48. package/dist/cjs/transformers/reverse/applicationCommandOptionChoice.cjs +2 -2
  49. package/dist/cjs/transformers/reverse/applicationCommandPermission.cjs +1 -1
  50. package/dist/cjs/transformers/reverse/attachment.cjs +1 -1
  51. package/dist/cjs/transformers/reverse/auditLogEntry.cjs +1 -1
  52. package/dist/cjs/transformers/reverse/component.cjs +1 -1
  53. package/dist/cjs/transformers/reverse/embed.cjs +2 -2
  54. package/dist/cjs/transformers/reverse/emoji.cjs +1 -1
  55. package/dist/cjs/transformers/reverse/gatewayBot.cjs +1 -1
  56. package/dist/cjs/transformers/reverse/member.cjs +3 -2
  57. package/dist/cjs/transformers/reverse/presence.cjs +1 -1
  58. package/dist/cjs/transformers/reverse/team.cjs +1 -1
  59. package/dist/cjs/transformers/reverse/widgetSettings.cjs +2 -2
  60. package/dist/cjs/transformers/role.cjs +6 -6
  61. package/dist/cjs/transformers/scheduledEvent.cjs +1 -1
  62. package/dist/cjs/transformers/sku.cjs +1 -1
  63. package/dist/cjs/transformers/stageInstance.cjs +1 -1
  64. package/dist/cjs/transformers/stageInviteInstance.cjs +1 -1
  65. package/dist/cjs/transformers/sticker.cjs +1 -1
  66. package/dist/cjs/transformers/team.cjs +1 -1
  67. package/dist/cjs/transformers/template.cjs +1 -1
  68. package/dist/cjs/transformers/threadMember.cjs +1 -1
  69. package/dist/cjs/transformers/toggles/Permissions.cjs +1 -1
  70. package/dist/cjs/transformers/toggles/guild.cjs +1 -1
  71. package/dist/cjs/transformers/toggles/member.cjs +40 -2
  72. package/dist/cjs/transformers/types.cjs +6 -0
  73. package/dist/cjs/transformers/user.cjs +2 -5
  74. package/dist/cjs/transformers/voiceRegion.cjs +1 -1
  75. package/dist/cjs/transformers/voiceState.cjs +1 -1
  76. package/dist/cjs/transformers/webhook.cjs +1 -1
  77. package/dist/cjs/transformers/welcomeScreen.cjs +1 -1
  78. package/dist/cjs/transformers/widget.cjs +1 -1
  79. package/dist/cjs/transformers/widgetSettings.cjs +1 -1
  80. package/dist/cjs/transformers.cjs +578 -576
  81. package/dist/cjs/typings.cjs +1 -1
  82. package/dist/esm/bot.js +1 -1
  83. package/dist/esm/handlers/channels/CHANNEL_CREATE.js +2 -2
  84. package/dist/esm/handlers/channels/THREAD_MEMBERS_UPDATE.js +2 -2
  85. package/dist/esm/handlers/channels/THREAD_MEMBER_UPDATE.js +2 -2
  86. package/dist/esm/handlers/guilds/GUILD_STICKERS_UPDATE.js +2 -2
  87. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +2 -2
  88. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +2 -2
  89. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +2 -2
  90. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +2 -2
  91. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +2 -2
  92. package/dist/esm/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +2 -2
  93. package/dist/esm/handlers/members/GUILD_MEMBER_UPDATE.js +2 -1
  94. package/dist/esm/handlers/webhooks/WEBHOOKS_UPDATE.js +2 -2
  95. package/dist/esm/helpers.js +1 -1
  96. package/dist/esm/optionalize.js +1 -1
  97. package/dist/esm/transformers/activity.js +1 -1
  98. package/dist/esm/transformers/application.js +1 -1
  99. package/dist/esm/transformers/applicationCommand.js +1 -1
  100. package/dist/esm/transformers/applicationCommandOption.js +1 -1
  101. package/dist/esm/transformers/applicationCommandOptionChoice.js +1 -1
  102. package/dist/esm/transformers/applicationCommandPermission.js +1 -1
  103. package/dist/esm/transformers/attachment.js +1 -1
  104. package/dist/esm/transformers/auditLogEntry.js +1 -1
  105. package/dist/esm/transformers/automodActionExecution.js +1 -1
  106. package/dist/esm/transformers/automodRule.js +1 -1
  107. package/dist/esm/transformers/avatarDecorationData.js +1 -1
  108. package/dist/esm/transformers/channel.js +5 -5
  109. package/dist/esm/transformers/component.js +1 -1
  110. package/dist/esm/transformers/embed.js +1 -1
  111. package/dist/esm/transformers/emoji.js +1 -1
  112. package/dist/esm/transformers/entitlement.js +1 -1
  113. package/dist/esm/transformers/gatewayBot.js +1 -1
  114. package/dist/esm/transformers/guild.js +1 -1
  115. package/dist/esm/transformers/index.js +2 -1
  116. package/dist/esm/transformers/integration.js +1 -1
  117. package/dist/esm/transformers/interaction.js +5 -6
  118. package/dist/esm/transformers/invite.js +1 -1
  119. package/dist/esm/transformers/member.js +17 -4
  120. package/dist/esm/transformers/message.js +19 -27
  121. package/dist/esm/transformers/onboarding.js +3 -3
  122. package/dist/esm/transformers/poll.js +4 -3
  123. package/dist/esm/transformers/presence.js +1 -1
  124. package/dist/esm/transformers/reverse/activity.js +2 -2
  125. package/dist/esm/transformers/reverse/allowedMentions.js +2 -2
  126. package/dist/esm/transformers/reverse/application.js +1 -1
  127. package/dist/esm/transformers/reverse/applicationCommand.js +1 -1
  128. package/dist/esm/transformers/reverse/applicationCommandOption.js +1 -1
  129. package/dist/esm/transformers/reverse/applicationCommandOptionChoice.js +2 -2
  130. package/dist/esm/transformers/reverse/applicationCommandPermission.js +1 -1
  131. package/dist/esm/transformers/reverse/attachment.js +1 -1
  132. package/dist/esm/transformers/reverse/auditLogEntry.js +1 -1
  133. package/dist/esm/transformers/reverse/component.js +1 -1
  134. package/dist/esm/transformers/reverse/embed.js +2 -2
  135. package/dist/esm/transformers/reverse/emoji.js +1 -1
  136. package/dist/esm/transformers/reverse/gatewayBot.js +1 -1
  137. package/dist/esm/transformers/reverse/member.js +3 -2
  138. package/dist/esm/transformers/reverse/presence.js +1 -1
  139. package/dist/esm/transformers/reverse/team.js +1 -1
  140. package/dist/esm/transformers/reverse/widgetSettings.js +2 -2
  141. package/dist/esm/transformers/role.js +6 -6
  142. package/dist/esm/transformers/scheduledEvent.js +1 -1
  143. package/dist/esm/transformers/sku.js +1 -1
  144. package/dist/esm/transformers/stageInstance.js +1 -1
  145. package/dist/esm/transformers/stageInviteInstance.js +1 -1
  146. package/dist/esm/transformers/sticker.js +1 -1
  147. package/dist/esm/transformers/team.js +1 -1
  148. package/dist/esm/transformers/template.js +1 -1
  149. package/dist/esm/transformers/threadMember.js +1 -1
  150. package/dist/esm/transformers/toggles/Permissions.js +1 -1
  151. package/dist/esm/transformers/toggles/guild.js +1 -1
  152. package/dist/esm/transformers/toggles/member.js +40 -2
  153. package/dist/esm/transformers/types.js +3 -0
  154. package/dist/esm/transformers/user.js +2 -5
  155. package/dist/esm/transformers/voiceRegion.js +1 -1
  156. package/dist/esm/transformers/voiceState.js +1 -1
  157. package/dist/esm/transformers/webhook.js +1 -1
  158. package/dist/esm/transformers/welcomeScreen.js +1 -1
  159. package/dist/esm/transformers/widget.js +1 -1
  160. package/dist/esm/transformers/widgetSettings.js +1 -1
  161. package/dist/esm/transformers.js +500 -506
  162. package/dist/esm/typings.js +1 -1
  163. package/dist/types/bot.d.ts +2 -21
  164. package/dist/types/bot.d.ts.map +1 -1
  165. package/dist/types/handlers/channels/CHANNEL_CREATE.d.ts +1 -1
  166. package/dist/types/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -1
  167. package/dist/types/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts +1 -1
  168. package/dist/types/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +1 -1
  169. package/dist/types/handlers/channels/THREAD_MEMBER_UPDATE.d.ts +1 -1
  170. package/dist/types/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +1 -1
  171. package/dist/types/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts +1 -1
  172. package/dist/types/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -1
  173. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts +1 -1
  174. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +1 -1
  175. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts +1 -1
  176. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +1 -1
  177. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts +1 -1
  178. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +1 -1
  179. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts +1 -1
  180. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +1 -1
  181. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts +1 -1
  182. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +1 -1
  183. package/dist/types/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts +1 -1
  184. package/dist/types/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -1
  185. package/dist/types/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -1
  186. package/dist/types/handlers/webhooks/WEBHOOKS_UPDATE.d.ts +1 -1
  187. package/dist/types/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +1 -1
  188. package/dist/types/helpers.d.ts +5 -29
  189. package/dist/types/helpers.d.ts.map +1 -1
  190. package/dist/types/optionalize.d.ts +1 -1
  191. package/dist/types/optionalize.d.ts.map +1 -1
  192. package/dist/types/transformers/activity.d.ts +1 -33
  193. package/dist/types/transformers/activity.d.ts.map +1 -1
  194. package/dist/types/transformers/application.d.ts +1 -35
  195. package/dist/types/transformers/application.d.ts.map +1 -1
  196. package/dist/types/transformers/applicationCommand.d.ts +2 -16
  197. package/dist/types/transformers/applicationCommand.d.ts.map +1 -1
  198. package/dist/types/transformers/applicationCommandOption.d.ts +2 -33
  199. package/dist/types/transformers/applicationCommandOption.d.ts.map +1 -1
  200. package/dist/types/transformers/applicationCommandOptionChoice.d.ts +2 -7
  201. package/dist/types/transformers/applicationCommandOptionChoice.d.ts.map +1 -1
  202. package/dist/types/transformers/applicationCommandPermission.d.ts +3 -13
  203. package/dist/types/transformers/applicationCommandPermission.d.ts.map +1 -1
  204. package/dist/types/transformers/attachment.d.ts +2 -36
  205. package/dist/types/transformers/attachment.d.ts.map +1 -1
  206. package/dist/types/transformers/auditLogEntry.d.ts +2 -43
  207. package/dist/types/transformers/auditLogEntry.d.ts.map +1 -1
  208. package/dist/types/transformers/automodActionExecution.d.ts +2 -22
  209. package/dist/types/transformers/automodActionExecution.d.ts.map +1 -1
  210. package/dist/types/transformers/automodRule.d.ts +2 -28
  211. package/dist/types/transformers/automodRule.d.ts.map +1 -1
  212. package/dist/types/transformers/avatarDecorationData.d.ts +1 -7
  213. package/dist/types/transformers/avatarDecorationData.d.ts.map +1 -1
  214. package/dist/types/transformers/channel.d.ts +3 -132
  215. package/dist/types/transformers/channel.d.ts.map +1 -1
  216. package/dist/types/transformers/component.d.ts +1 -45
  217. package/dist/types/transformers/component.d.ts.map +1 -1
  218. package/dist/types/transformers/embed.d.ts +2 -48
  219. package/dist/types/transformers/embed.d.ts.map +1 -1
  220. package/dist/types/transformers/emoji.d.ts +1 -27
  221. package/dist/types/transformers/emoji.d.ts.map +1 -1
  222. package/dist/types/transformers/entitlement.d.ts +2 -24
  223. package/dist/types/transformers/entitlement.d.ts.map +1 -1
  224. package/dist/types/transformers/gatewayBot.d.ts +1 -11
  225. package/dist/types/transformers/gatewayBot.d.ts.map +1 -1
  226. package/dist/types/transformers/guild.d.ts +2 -113
  227. package/dist/types/transformers/guild.d.ts.map +1 -1
  228. package/dist/types/transformers/index.d.ts +1 -0
  229. package/dist/types/transformers/index.d.ts.map +1 -1
  230. package/dist/types/transformers/integration.d.ts +2 -30
  231. package/dist/types/transformers/integration.d.ts.map +1 -1
  232. package/dist/types/transformers/interaction.d.ts +2 -135
  233. package/dist/types/transformers/interaction.d.ts.map +1 -1
  234. package/dist/types/transformers/invite.d.ts +2 -41
  235. package/dist/types/transformers/invite.d.ts.map +1 -1
  236. package/dist/types/transformers/member.d.ts +2 -39
  237. package/dist/types/transformers/member.d.ts.map +1 -1
  238. package/dist/types/transformers/message.d.ts +2 -174
  239. package/dist/types/transformers/message.d.ts.map +1 -1
  240. package/dist/types/transformers/onboarding.d.ts +2 -44
  241. package/dist/types/transformers/onboarding.d.ts.map +1 -1
  242. package/dist/types/transformers/poll.d.ts +2 -69
  243. package/dist/types/transformers/poll.d.ts.map +1 -1
  244. package/dist/types/transformers/presence.d.ts +2 -11
  245. package/dist/types/transformers/presence.d.ts.map +1 -1
  246. package/dist/types/transformers/reverse/activity.d.ts +2 -3
  247. package/dist/types/transformers/reverse/activity.d.ts.map +1 -1
  248. package/dist/types/transformers/reverse/allowedMentions.d.ts +1 -1
  249. package/dist/types/transformers/reverse/allowedMentions.d.ts.map +1 -1
  250. package/dist/types/transformers/reverse/application.d.ts +1 -2
  251. package/dist/types/transformers/reverse/application.d.ts.map +1 -1
  252. package/dist/types/transformers/reverse/applicationCommand.d.ts +1 -2
  253. package/dist/types/transformers/reverse/applicationCommand.d.ts.map +1 -1
  254. package/dist/types/transformers/reverse/applicationCommandOption.d.ts +1 -2
  255. package/dist/types/transformers/reverse/applicationCommandOption.d.ts.map +1 -1
  256. package/dist/types/transformers/reverse/applicationCommandOptionChoice.d.ts +2 -3
  257. package/dist/types/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -1
  258. package/dist/types/transformers/reverse/applicationCommandPermission.d.ts +2 -3
  259. package/dist/types/transformers/reverse/applicationCommandPermission.d.ts.map +1 -1
  260. package/dist/types/transformers/reverse/attachment.d.ts +1 -2
  261. package/dist/types/transformers/reverse/attachment.d.ts.map +1 -1
  262. package/dist/types/transformers/reverse/auditLogEntry.d.ts +1 -2
  263. package/dist/types/transformers/reverse/auditLogEntry.d.ts.map +1 -1
  264. package/dist/types/transformers/reverse/component.d.ts +1 -2
  265. package/dist/types/transformers/reverse/component.d.ts.map +1 -1
  266. package/dist/types/transformers/reverse/embed.d.ts +2 -3
  267. package/dist/types/transformers/reverse/embed.d.ts.map +1 -1
  268. package/dist/types/transformers/reverse/emoji.d.ts +1 -2
  269. package/dist/types/transformers/reverse/emoji.d.ts.map +1 -1
  270. package/dist/types/transformers/reverse/gatewayBot.d.ts +1 -1
  271. package/dist/types/transformers/reverse/gatewayBot.d.ts.map +1 -1
  272. package/dist/types/transformers/reverse/member.d.ts +2 -3
  273. package/dist/types/transformers/reverse/member.d.ts.map +1 -1
  274. package/dist/types/transformers/reverse/presence.d.ts +1 -2
  275. package/dist/types/transformers/reverse/presence.d.ts.map +1 -1
  276. package/dist/types/transformers/reverse/team.d.ts +1 -2
  277. package/dist/types/transformers/reverse/team.d.ts.map +1 -1
  278. package/dist/types/transformers/reverse/widgetSettings.d.ts +2 -3
  279. package/dist/types/transformers/reverse/widgetSettings.d.ts.map +1 -1
  280. package/dist/types/transformers/role.d.ts +2 -73
  281. package/dist/types/transformers/role.d.ts.map +1 -1
  282. package/dist/types/transformers/scheduledEvent.d.ts +2 -36
  283. package/dist/types/transformers/scheduledEvent.d.ts.map +1 -1
  284. package/dist/types/transformers/sku.d.ts +2 -16
  285. package/dist/types/transformers/sku.d.ts.map +1 -1
  286. package/dist/types/transformers/stageInstance.d.ts +1 -13
  287. package/dist/types/transformers/stageInstance.d.ts.map +1 -1
  288. package/dist/types/transformers/stageInviteInstance.d.ts +1 -11
  289. package/dist/types/transformers/stageInviteInstance.d.ts.map +1 -1
  290. package/dist/types/transformers/sticker.d.ts +2 -35
  291. package/dist/types/transformers/sticker.d.ts.map +1 -1
  292. package/dist/types/transformers/team.d.ts +2 -14
  293. package/dist/types/transformers/team.d.ts.map +1 -1
  294. package/dist/types/transformers/template.d.ts +1 -14
  295. package/dist/types/transformers/template.d.ts.map +1 -1
  296. package/dist/types/transformers/threadMember.d.ts +1 -10
  297. package/dist/types/transformers/threadMember.d.ts.map +1 -1
  298. package/dist/types/transformers/toggles/Permissions.d.ts.map +1 -1
  299. package/dist/types/transformers/toggles/guild.d.ts.map +1 -1
  300. package/dist/types/transformers/toggles/member.d.ts +21 -1
  301. package/dist/types/transformers/toggles/member.d.ts.map +1 -1
  302. package/dist/types/transformers/types.d.ts +1433 -0
  303. package/dist/types/transformers/types.d.ts.map +1 -0
  304. package/dist/types/transformers/user.d.ts +2 -44
  305. package/dist/types/transformers/user.d.ts.map +1 -1
  306. package/dist/types/transformers/voiceRegion.d.ts +1 -8
  307. package/dist/types/transformers/voiceRegion.d.ts.map +1 -1
  308. package/dist/types/transformers/voiceState.d.ts +1 -10
  309. package/dist/types/transformers/voiceState.d.ts.map +1 -1
  310. package/dist/types/transformers/webhook.d.ts +2 -28
  311. package/dist/types/transformers/webhook.d.ts.map +1 -1
  312. package/dist/types/transformers/welcomeScreen.d.ts +1 -10
  313. package/dist/types/transformers/welcomeScreen.d.ts.map +1 -1
  314. package/dist/types/transformers/widget.d.ts +1 -20
  315. package/dist/types/transformers/widget.d.ts.map +1 -1
  316. package/dist/types/transformers/widgetSettings.d.ts +1 -5
  317. package/dist/types/transformers/widgetSettings.d.ts.map +1 -1
  318. package/dist/types/transformers.d.ts +417 -455
  319. package/dist/types/transformers.d.ts.map +1 -1
  320. package/dist/types/typings.d.ts +1 -2
  321. package/dist/types/typings.d.ts.map +1 -1
  322. package/package.json +9 -10
@@ -647,4 +647,4 @@ function createBotHelpers(bot) {
647
647
  };
648
648
  }
649
649
 
650
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3JlYXRlV2ViaG9vayB9IGZyb20gJ0BkaXNjb3JkZW5vL3Jlc3QnXG5pbXBvcnQgdHlwZSB7XG4gIEFkZERtUmVjaXBpZW50T3B0aW9ucyxcbiAgQWRkR3VpbGRNZW1iZXJPcHRpb25zLFxuICBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgQXRMZWFzdE9uZSxcbiAgQmVnaW5HdWlsZFBydW5lLFxuICBCaWdTdHJpbmcsXG4gIENhbWVsaXplZERpc2NvcmRBY2Nlc3NUb2tlblJlc3BvbnNlLFxuICBDYW1lbGl6ZWREaXNjb3JkQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbixcbiAgQ2FtZWxpemVkRGlzY29yZEFyY2hpdmVkVGhyZWFkcyxcbiAgQ2FtZWxpemVkRGlzY29yZEF1ZGl0TG9nLFxuICBDYW1lbGl6ZWREaXNjb3JkQmFuLFxuICBDYW1lbGl6ZWREaXNjb3JkQ29ubmVjdGlvbixcbiAgQ2FtZWxpemVkRGlzY29yZEN1cnJlbnRBdXRob3JpemF0aW9uLFxuICBDYW1lbGl6ZWREaXNjb3JkRm9sbG93ZWRDaGFubmVsLFxuICBDYW1lbGl6ZWREaXNjb3JkR2V0R2F0ZXdheUJvdCxcbiAgQ2FtZWxpemVkRGlzY29yZEd1aWxkUHJldmlldyxcbiAgQ2FtZWxpemVkRGlzY29yZEd1aWxkV2lkZ2V0U2V0dGluZ3MsXG4gIENhbWVsaXplZERpc2NvcmRJbnZpdGUsXG4gIENhbWVsaXplZERpc2NvcmRJbnZpdGVNZXRhZGF0YSxcbiAgQ2FtZWxpemVkRGlzY29yZE1vZGlmeUd1aWxkV2VsY29tZVNjcmVlbixcbiAgQ2FtZWxpemVkRGlzY29yZFBhcnRpYWxHdWlsZCxcbiAgQ2FtZWxpemVkRGlzY29yZFBydW5lZENvdW50LFxuICBDYW1lbGl6ZWREaXNjb3JkVG9rZW5FeGNoYW5nZSxcbiAgQ2FtZWxpemVkRGlzY29yZFRva2VuUmV2b2NhdGlvbixcbiAgQ2FtZWxpemVkRGlzY29yZFZhbml0eVVybCxcbiAgQ2FtZWxpemVkRGlzY29yZFZvaWNlUmVnaW9uLFxuICBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQsXG4gIENyZWF0ZUF1dG9Nb2RlcmF0aW9uUnVsZU9wdGlvbnMsXG4gIENyZWF0ZUNoYW5uZWxJbnZpdGUsXG4gIENyZWF0ZUVudGl0bGVtZW50LFxuICBDcmVhdGVGb3J1bVBvc3RXaXRoTWVzc2FnZSxcbiAgQ3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucyxcbiAgQ3JlYXRlR3VpbGQsXG4gIENyZWF0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucyxcbiAgQ3JlYXRlR3VpbGRCYW4sXG4gIENyZWF0ZUd1aWxkQnVsa0JhbixcbiAgQ3JlYXRlR3VpbGRDaGFubmVsLFxuICBDcmVhdGVHdWlsZEVtb2ppLFxuICBDcmVhdGVHdWlsZEZyb21UZW1wbGF0ZSxcbiAgQ3JlYXRlR3VpbGRSb2xlLFxuICBDcmVhdGVHdWlsZFN0aWNrZXJPcHRpb25zLFxuICBDcmVhdGVNZXNzYWdlT3B0aW9ucyxcbiAgQ3JlYXRlU2NoZWR1bGVkRXZlbnQsXG4gIENyZWF0ZVN0YWdlSW5zdGFuY2UsXG4gIENyZWF0ZVRlbXBsYXRlLFxuICBEZWxldGVXZWJob29rTWVzc2FnZU9wdGlvbnMsXG4gIERpc2NvcmRFbnRpdGxlbWVudCxcbiAgRGlzY29yZE1lc3NhZ2UsXG4gIEVkaXRBcHBsaWNhdGlvbixcbiAgRWRpdEF1dG9Nb2RlcmF0aW9uUnVsZU9wdGlvbnMsXG4gIEVkaXRCb3RNZW1iZXJPcHRpb25zLFxuICBFZGl0Q2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZXNPcHRpb25zLFxuICBFZGl0R3VpbGRPbmJvYXJkaW5nLFxuICBFZGl0R3VpbGRSb2xlLFxuICBFZGl0R3VpbGRTdGlja2VyT3B0aW9ucyxcbiAgRWRpdE1lc3NhZ2UsXG4gIEVkaXRPd25Wb2ljZVN0YXRlLFxuICBFZGl0U2NoZWR1bGVkRXZlbnQsXG4gIEVkaXRVc2VyVm9pY2VTdGF0ZSxcbiAgRXhlY3V0ZVdlYmhvb2ssXG4gIEdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25PcHRpb25zLFxuICBHZXRCYW5zLFxuICBHZXRFbnRpdGxlbWVudHMsXG4gIEdldEdyb3VwRG1PcHRpb25zLFxuICBHZXRHdWlsZEF1ZGl0TG9nLFxuICBHZXRHdWlsZFBydW5lQ291bnRRdWVyeSxcbiAgR2V0SW52aXRlLFxuICBHZXRNZXNzYWdlc09wdGlvbnMsXG4gIEdldFJlYWN0aW9ucyxcbiAgR2V0U2NoZWR1bGVkRXZlbnRzLFxuICBHZXRTY2hlZHVsZWRFdmVudFVzZXJzLFxuICBHZXRVc2VyR3VpbGRzLFxuICBHZXRXZWJob29rTWVzc2FnZU9wdGlvbnMsXG4gIEludGVyYWN0aW9uQ2FsbGJhY2tEYXRhLFxuICBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICBMaXN0QXJjaGl2ZWRUaHJlYWRzLFxuICBMaXN0R3VpbGRNZW1iZXJzLFxuICBNZmFMZXZlbHMsXG4gIE1vZGlmeUNoYW5uZWwsXG4gIE1vZGlmeUd1aWxkLFxuICBNb2RpZnlHdWlsZENoYW5uZWxQb3NpdGlvbnMsXG4gIE1vZGlmeUd1aWxkRW1vamksXG4gIE1vZGlmeUd1aWxkTWVtYmVyLFxuICBNb2RpZnlHdWlsZFRlbXBsYXRlLFxuICBNb2RpZnlSb2xlUG9zaXRpb25zLFxuICBNb2RpZnlXZWJob29rLFxuICBTZWFyY2hNZW1iZXJzLFxuICBTdGFydFRocmVhZFdpdGhNZXNzYWdlLFxuICBTdGFydFRocmVhZFdpdGhvdXRNZXNzYWdlLFxuICBVcHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxuICBVcHNlcnRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbnMsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgc25ha2VsaXplIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4vYm90LmpzJ1xuaW1wb3J0IHR5cGUgeyBBcHBsaWNhdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2FwcGxpY2F0aW9uLmpzJ1xuaW1wb3J0IHR5cGUgeyBBcHBsaWNhdGlvbkNvbW1hbmQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcHBsaWNhdGlvbkNvbW1hbmQuanMnXG5pbXBvcnQgdHlwZSB7IEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uLmpzJ1xuaW1wb3J0IHR5cGUgeyBBdXRvTW9kZXJhdGlvblJ1bGUgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hdXRvbW9kUnVsZS5qcydcbmltcG9ydCB0eXBlIHsgQ2hhbm5lbCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2NoYW5uZWwuanMnXG5pbXBvcnQgdHlwZSB7IEVtb2ppIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZW1vamkuanMnXG5pbXBvcnQgeyB0eXBlIEVudGl0bGVtZW50IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZW50aXRsZW1lbnQuanMnXG5pbXBvcnQgdHlwZSB7IEd1aWxkIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZ3VpbGQuanMnXG5pbXBvcnQgdHlwZSB7IEludGVncmF0aW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvaW50ZWdyYXRpb24uanMnXG5pbXBvcnQgdHlwZSB7IEludml0ZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2ludml0ZS5qcydcbmltcG9ydCB0eXBlIHsgTWVtYmVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvbWVtYmVyLmpzJ1xuaW1wb3J0IHR5cGUgeyBNZXNzYWdlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvbWVzc2FnZS5qcydcbmltcG9ydCB0eXBlIHsgR3VpbGRPbmJvYXJkaW5nIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvb25ib2FyZGluZy5qcydcbmltcG9ydCB0eXBlIHsgUm9sZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JvbGUuanMnXG5pbXBvcnQgdHlwZSB7IFNjaGVkdWxlZEV2ZW50IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvc2NoZWR1bGVkRXZlbnQuanMnXG5pbXBvcnQgdHlwZSB7IFNrdSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3NrdS5qcydcbmltcG9ydCB0eXBlIHsgU3RhZ2VJbnN0YW5jZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3N0YWdlSW5zdGFuY2UuanMnXG5pbXBvcnQgdHlwZSB7IFN0aWNrZXIsIFN0aWNrZXJQYWNrIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvc3RpY2tlci5qcydcbmltcG9ydCB0eXBlIHsgVGVtcGxhdGUgfSBmcm9tICcuL3RyYW5zZm9ybWVycy90ZW1wbGF0ZS5qcydcbmltcG9ydCB0eXBlIHsgVGhyZWFkTWVtYmVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdGhyZWFkTWVtYmVyLmpzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdXNlci5qcydcbmltcG9ydCB0eXBlIHsgV2ViaG9vayB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3dlYmhvb2suanMnXG5pbXBvcnQgdHlwZSB7IFdlbGNvbWVTY3JlZW4gfSBmcm9tICcuL3RyYW5zZm9ybWVycy93ZWxjb21lU2NyZWVuLmpzJ1xuaW1wb3J0IHR5cGUgeyBHdWlsZFdpZGdldCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3dpZGdldC5qcydcbmltcG9ydCB0eXBlIHsgR3VpbGRXaWRnZXRTZXR0aW5ncyB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3dpZGdldFNldHRpbmdzLmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm90SGVscGVycyhib3Q6IEJvdCk6IEJvdEhlbHBlcnMge1xuICByZXR1cm4ge1xuICAgIGNyZWF0ZUF1dG9tb2RSdWxlOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hdXRvbW9kUnVsZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVBdXRvbW9kUnVsZShndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGNyZWF0ZUNoYW5uZWw6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVDaGFubmVsKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpLCBndWlsZElkIH0pXG4gICAgfSxcbiAgICBjcmVhdGVFbW9qaTogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlRW1vamkoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBjcmVhdGVGb3J1bVRocmVhZDogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlRm9ydW1UaHJlYWQoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pKSB9KVxuICAgIH0sXG4gICAgY3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiBhc3luYyAoY29tbWFuZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBjcmVhdGVHdWlsZDogYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgeyBndWlsZDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUd1aWxkKG9wdGlvbnMpKSwgc2hhcmRJZDogMCB9KVxuICAgIH0sXG4gICAgY3JlYXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kLCBndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZCwgZ3VpbGRJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgY3JlYXRlR3VpbGRGcm9tVGVtcGxhdGU6IGFzeW5jICh0ZW1wbGF0ZUNvZGUsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgeyBndWlsZDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUd1aWxkRnJvbVRlbXBsYXRlKHRlbXBsYXRlQ29kZSwgb3B0aW9ucykpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBjcmVhdGVHdWlsZFN0aWNrZXI6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlR3VpbGRTdGlja2VyKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgY3JlYXRlR3VpbGRUZW1wbGF0ZTogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnRlbXBsYXRlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUd1aWxkVGVtcGxhdGUoZ3VpbGRJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgY3JlYXRlSW52aXRlOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5jcmVhdGVJbnZpdGUoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pXG4gICAgfSxcbiAgICBjcmVhdGVSb2xlOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlUm9sZShndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSwgZ3VpbGRJZCB9KVxuICAgIH0sXG4gICAgY3JlYXRlU2NoZWR1bGVkRXZlbnQ6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnNjaGVkdWxlZEV2ZW50KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZVNjaGVkdWxlZEV2ZW50KGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgY3JlYXRlU3RhZ2VJbnN0YW5jZTogYXN5bmMgKG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RhZ2VJbnN0YW5jZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVTdGFnZUluc3RhbmNlKG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgY3JlYXRlV2ViaG9vazogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53ZWJob29rKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZVdlYmhvb2soY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGVkaXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uczogYXN5bmMgKGd1aWxkSWQsIGNvbW1hbmRJZCwgYmVhcmVyVG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24oXG4gICAgICAgIGJvdCxcbiAgICAgICAgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyhndWlsZElkLCBjb21tYW5kSWQsIGJlYXJlclRva2VuLCBvcHRpb25zKSksXG4gICAgICApXG4gICAgfSxcbiAgICBlZGl0QXV0b21vZFJ1bGU6IGFzeW5jIChndWlsZElkLCBydWxlSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXV0b21vZFJ1bGUoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEF1dG9tb2RSdWxlKGd1aWxkSWQsIHJ1bGVJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0Qm90UHJvZmlsZTogYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEJvdFByb2ZpbGUob3B0aW9ucykpKVxuICAgIH0sXG4gICAgZWRpdENoYW5uZWw6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRDaGFubmVsKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSkgfSlcbiAgICB9LFxuICAgIGVkaXRFbW9qaTogYXN5bmMgKGd1aWxkSWQsIGlkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRFbW9qaShndWlsZElkLCBpZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0Rm9sbG93dXBNZXNzYWdlOiBhc3luYyAodG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0Rm9sbG93dXBNZXNzYWdlKHRva2VuLCBtZXNzYWdlSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGVkaXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kKGNvbW1hbmRJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZWRpdEd1aWxkOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHsgZ3VpbGQ6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0R3VpbGQoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGVkaXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmRJZCwgZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQsIGd1aWxkSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGVkaXRHdWlsZFN0aWNrZXI6IGFzeW5jIChndWlsZElkLCBzdGlja2VySWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0R3VpbGRTdGlja2VyKGd1aWxkSWQsIHN0aWNrZXJJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0R3VpbGRUZW1wbGF0ZTogYXN5bmMgKGd1aWxkSWQsIHRlbXBsYXRlQ29kZSwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudGVtcGxhdGUoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEd1aWxkVGVtcGxhdGUoZ3VpbGRJZCwgdGVtcGxhdGVDb2RlLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBlZGl0TWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRNZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCBvcHRpb25zKSkgYXMgRGlzY29yZE1lc3NhZ2UpXG4gICAgfSxcbiAgICBlZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlOiBhc3luYyAodG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSh0b2tlbiwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZWRpdE9yaWdpbmFsV2ViaG9va01lc3NhZ2U6IGFzeW5jICh3ZWJob29rSWQsIHRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRPcmlnaW5hbFdlYmhvb2tNZXNzYWdlKHdlYmhvb2tJZCwgdG9rZW4sIG9wdGlvbnMpKSBhcyBEaXNjb3JkTWVzc2FnZSlcbiAgICB9LFxuICAgIGVkaXRSb2xlOiBhc3luYyAoZ3VpbGRJZCwgcm9sZUlkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGU6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0Um9sZShndWlsZElkLCByb2xlSWQsIG9wdGlvbnMsIHJlYXNvbikpLCBndWlsZElkIH0pXG4gICAgfSxcbiAgICBlZGl0Um9sZVBvc2l0aW9uczogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0Um9sZVBvc2l0aW9ucyhndWlsZElkLCBvcHRpb25zLCByZWFzb24pKS5tYXAoKHJvbGUpID0+IGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHsgcm9sZSwgZ3VpbGRJZCB9KSlcbiAgICB9LFxuICAgIGVkaXRTY2hlZHVsZWRFdmVudDogYXN5bmMgKGd1aWxkSWQsIGV2ZW50SWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc2NoZWR1bGVkRXZlbnQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFNjaGVkdWxlZEV2ZW50KGd1aWxkSWQsIGV2ZW50SWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdFN0YWdlSW5zdGFuY2U6IGFzeW5jIChjaGFubmVsSWQsIHRvcGljLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnN0YWdlSW5zdGFuY2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFN0YWdlSW5zdGFuY2UoY2hhbm5lbElkLCB0b3BpYywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0V2ViaG9vazogYXN5bmMgKHdlYmhvb2tJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53ZWJob29rKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRXZWJob29rKHdlYmhvb2tJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0V2ViaG9va01lc3NhZ2U6IGFzeW5jICh3ZWJob29rSWQsIHRva2VuLCBtZXNzYWdlSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFdlYmhvb2tNZXNzYWdlKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykpIGFzIERpc2NvcmRNZXNzYWdlKVxuICAgIH0sXG4gICAgZWRpdFdlYmhvb2tXaXRoVG9rZW46IGFzeW5jICh3ZWJob29rSWQsIHRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53ZWJob29rKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRXZWJob29rV2l0aFRva2VuKHdlYmhvb2tJZCwgdG9rZW4sIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGVkaXRXZWxjb21lU2NyZWVuOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53ZWxjb21lU2NyZWVuKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRXZWxjb21lU2NyZWVuKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdFdpZGdldFNldHRpbmdzOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53aWRnZXRTZXR0aW5ncyhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0V2lkZ2V0U2V0dGluZ3MoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBleGVjdXRlV2ViaG9vazogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJvdC5yZXN0LmV4ZWN1dGVXZWJob29rKHdlYmhvb2tJZCwgdG9rZW4sIG9wdGlvbnMpXG4gICAgICBpZiAoIXJlc3VsdCkgcmV0dXJuXG5cbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUocmVzdWx0KSBhcyBEaXNjb3JkTWVzc2FnZSlcbiAgICB9LFxuICAgIGZvbGxvd0Fubm91bmNlbWVudDogYXN5bmMgKHNvdXJjZUNoYW5uZWxJZCwgdGFyZ2V0Q2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZm9sbG93QW5ub3VuY2VtZW50KHNvdXJjZUNoYW5uZWxJZCwgdGFyZ2V0Q2hhbm5lbElkKVxuICAgIH0sXG4gICAgZ2V0QWN0aXZlVGhyZWFkczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJvdC5yZXN0LmdldEFjdGl2ZVRocmVhZHMoZ3VpbGRJZClcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRocmVhZHM6IHJlc3VsdC50aHJlYWRzLm1hcCgodGhyZWFkKSA9PiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGd1aWxkSWQsIGNoYW5uZWw6IHNuYWtlbGl6ZSh0aHJlYWQpIH0pKSxcbiAgICAgICAgbWVtYmVyczogcmVzdWx0Lm1lbWJlcnMubWFwKChtZW1iZXIpID0+IGJvdC50cmFuc2Zvcm1lcnMudGhyZWFkTWVtYmVyKGJvdCwgc25ha2VsaXplKG1lbWJlcikpKSxcbiAgICAgIH1cbiAgICB9LFxuICAgIGdldEFwcGxpY2F0aW9uSW5mbzogYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb24oYm90LCB7IGFwcGxpY2F0aW9uOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0QXBwbGljYXRpb25JbmZvKCkpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBlZGl0QXBwbGljYXRpb25JbmZvOiBhc3luYyAoYm9keSkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb24oYm90LCB7IGFwcGxpY2F0aW9uOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEFwcGxpY2F0aW9uSW5mbyhib2R5KSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGdldEN1cnJlbnRBdXRoZW50aWNhdGlvbkluZm86IGFzeW5jIChiZWFyZXJUb2tlbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldEN1cnJlbnRBdXRoZW50aWNhdGlvbkluZm8oYmVhcmVyVG9rZW4pXG4gICAgfSxcbiAgICBleGNoYW5nZVRva2VuOiBhc3luYyAoY2xpZW50SWQsIGNsaWVudFNlY3JldCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmV4Y2hhbmdlVG9rZW4oY2xpZW50SWQsIGNsaWVudFNlY3JldCwgb3B0aW9ucylcbiAgICB9LFxuICAgIHJldm9rZVRva2VuOiBhc3luYyAoY2xpZW50SWQsIGNsaWVudFNlY3JldCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnJldm9rZVRva2VuKGNsaWVudElkLCBjbGllbnRTZWNyZXQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiBhc3luYyAoZ3VpbGRJZCwgY29tbWFuZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBib3QucmVzdC5nZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uKGd1aWxkSWQsIGNvbW1hbmRJZCwgb3B0aW9ucylcbiAgICAgIGNvbnN0IHNuYWtlZFJlcyA9IHNuYWtlbGl6ZShyZXMpXG5cbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24oYm90LCBzbmFrZWRSZXMpXG4gICAgfSxcbiAgICBnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uczogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMoZ3VpbGRJZCwgb3B0aW9ucykpLm1hcCgocmVzKSA9PlxuICAgICAgICBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24oYm90LCBzbmFrZWxpemUocmVzKSksXG4gICAgICApXG4gICAgfSxcbiAgICBnZXRBdWRpdExvZzogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRBdWRpdExvZyhndWlsZElkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgZ2V0QXV0b21vZFJ1bGU6IGFzeW5jIChndWlsZElkLCBydWxlSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmF1dG9tb2RSdWxlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEF1dG9tb2RSdWxlKGd1aWxkSWQsIHJ1bGVJZCkpKVxuICAgIH0sXG4gICAgZ2V0QXV0b21vZFJ1bGVzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRBdXRvbW9kUnVsZXMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLmF1dG9tb2RSdWxlKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0QXZhaWxhYmxlVm9pY2VSZWdpb25zOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEF2YWlsYWJsZVZvaWNlUmVnaW9ucygpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy52b2ljZVJlZ2lvbihib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldEJhbjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldEJhbihndWlsZElkLCB1c2VySWQpXG4gICAgfSxcbiAgICBnZXRCYW5zOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldEJhbnMoZ3VpbGRJZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGdldENoYW5uZWw6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRDaGFubmVsKGNoYW5uZWxJZCkpIH0pXG4gICAgfSxcbiAgICBnZXRDaGFubmVsSW52aXRlczogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldENoYW5uZWxJbnZpdGVzKGNoYW5uZWxJZClcbiAgICAgIC8vIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0Q2hhbm5lbEludml0ZXMoY2hhbm5lbElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuaW52aXRlKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0Q2hhbm5lbHM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldENoYW5uZWxzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUocmVzKSwgZ3VpbGRJZCB9KSlcbiAgICB9LFxuICAgIGdldENoYW5uZWxXZWJob29rczogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRDaGFubmVsV2ViaG9va3MoY2hhbm5lbElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMud2ViaG9vayhib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldERtQ2hhbm5lbDogYXN5bmMgKHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldERtQ2hhbm5lbCh1c2VySWQpKSB9KVxuICAgIH0sXG4gICAgZ2V0R3JvdXBEbUNoYW5uZWw6IGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R3JvdXBEbUNoYW5uZWwob3B0aW9ucykpIH0pXG4gICAgfSxcbiAgICBnZXRFbW9qaTogYXN5bmMgKGd1aWxkSWQsIGVtb2ppSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEVtb2ppKGd1aWxkSWQsIGVtb2ppSWQpKSlcbiAgICB9LFxuICAgIGdldEVtb2ppczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0RW1vamlzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldEZvbGxvd3VwTWVzc2FnZTogYXN5bmMgKHRva2VuLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0Rm9sbG93dXBNZXNzYWdlKHRva2VuLCBtZXNzYWdlSWQpKSlcbiAgICB9LFxuICAgIGdldEdhdGV3YXlCb3Q6IGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmdhdGV3YXlCb3QoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R2F0ZXdheUJvdCgpKSlcbiAgICB9LFxuICAgIGdldEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQpKSlcbiAgICB9LFxuICAgIGdldEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZHM6IGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kcygpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZDogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgeyBndWlsZDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkKGd1aWxkSWQsIG9wdGlvbnMpKSwgc2hhcmRJZDogMCB9KVxuICAgIH0sXG4gICAgZ2V0R3VpbGRzOiBhc3luYyAoYmVhcmVyVG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRHdWlsZHMoYmVhcmVyVG9rZW4sIG9wdGlvbnMpXG4gICAgfSxcbiAgICBnZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmRJZCwgZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kKGNvbW1hbmRJZCwgZ3VpbGRJZCkpKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZHMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkUHJldmlldzogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRHdWlsZFByZXZpZXcoZ3VpbGRJZClcbiAgICAgIC8vIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnh4eChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHdWlsZFByZXZpZXcoZ3VpbGRJZCkpKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRTdGlja2VyOiBhc3luYyAoZ3VpbGRJZCwgc3RpY2tlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkU3RpY2tlcihndWlsZElkLCBzdGlja2VySWQpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkU3RpY2tlcnM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkU3RpY2tlcnMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXIoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZFRlbXBsYXRlOiBhc3luYyAodGVtcGxhdGVDb2RlKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy50ZW1wbGF0ZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHdWlsZFRlbXBsYXRlKHRlbXBsYXRlQ29kZSkpKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRUZW1wbGF0ZXM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkVGVtcGxhdGVzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy50ZW1wbGF0ZShib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkV2ViaG9va3M6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkV2ViaG9va3MoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLndlYmhvb2soYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRJbnRlZ3JhdGlvbnM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEludGVncmF0aW9ucyhndWlsZElkKSkubWFwKChyZXMpID0+XG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMuaW50ZWdyYXRpb24oYm90LCBzbmFrZWxpemUoeyAuLi5yZXMsIGd1aWxkSWQ6IGd1aWxkSWQudG9TdHJpbmcoKSB9KSksXG4gICAgICApXG4gICAgfSxcbiAgICBnZXRJbnZpdGU6IGFzeW5jIChpbnZpdGVDb2RlLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5pbnZpdGUoYm90LCB7IGludml0ZTogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEludml0ZShpbnZpdGVDb2RlLCBvcHRpb25zKSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGdldEludml0ZXM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEludml0ZXMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLmludml0ZShib3QsIHsgaW52aXRlOiBzbmFrZWxpemUocmVzKSwgc2hhcmRJZDogMCB9KSlcbiAgICB9LFxuICAgIGdldE1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRNZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSkpXG4gICAgfSxcbiAgICBnZXRNZXNzYWdlczogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRNZXNzYWdlcyhjaGFubmVsSWQsIG9wdGlvbnMpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0U3RpY2tlclBhY2tzOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldFN0aWNrZXJQYWNrcygpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyUGFjayhib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZTogYXN5bmMgKHRva2VuKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSh0b2tlbikpKVxuICAgIH0sXG4gICAgZ2V0UGlubmVkTWVzc2FnZXM6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0UGlubmVkTWVzc2FnZXMoY2hhbm5lbElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldFByaXZhdGVBcmNoaXZlZFRocmVhZHM6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRQcml2YXRlQXJjaGl2ZWRUaHJlYWRzKGNoYW5uZWxJZCwgb3B0aW9ucylcbiAgICAgIC8vIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnh4eChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRQcml2YXRlQXJjaGl2ZWRUaHJlYWRzKGNoYW5uZWxJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZ2V0UHJpdmF0ZUpvaW5lZEFyY2hpdmVkVGhyZWFkczogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldFByaXZhdGVKb2luZWRBcmNoaXZlZFRocmVhZHMoY2hhbm5lbElkLCBvcHRpb25zKVxuICAgICAgLy8gcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMueHh4KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFByaXZhdGVKb2luZWRBcmNoaXZlZFRocmVhZHMoY2hhbm5lbElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBnZXRQcnVuZUNvdW50OiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldFBydW5lQ291bnQoZ3VpbGRJZCwgb3B0aW9ucylcbiAgICAgIC8vIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnh4eChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRQcnVuZUNvdW50KGd1aWxkSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGdldFB1YmxpY0FyY2hpdmVkVGhyZWFkczogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldFB1YmxpY0FyY2hpdmVkVGhyZWFkcyhjaGFubmVsSWQsIG9wdGlvbnMpXG4gICAgICAvLyByZXR1cm4gYm90LnRyYW5zZm9ybWVycy54eHgoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0UHVibGljQXJjaGl2ZWRUaHJlYWRzKGNoYW5uZWxJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZ2V0Um9sZXM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFJvbGVzKGd1aWxkSWQpKS5tYXAoKHJvbGUpID0+IGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHsgcm9sZSwgZ3VpbGRJZCB9KSlcbiAgICB9LFxuICAgIGdldFNjaGVkdWxlZEV2ZW50OiBhc3luYyAoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc2NoZWR1bGVkRXZlbnQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0U2NoZWR1bGVkRXZlbnQoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZ2V0U2NoZWR1bGVkRXZlbnRzOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRTY2hlZHVsZWRFdmVudHMoZ3VpbGRJZCwgb3B0aW9ucykpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnNjaGVkdWxlZEV2ZW50KGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0U2NoZWR1bGVkRXZlbnRVc2VyczogYXN5bmMgKGd1aWxkSWQsIGV2ZW50SWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0U2NoZWR1bGVkRXZlbnRVc2VycyhndWlsZElkLCBldmVudElkLCBvcHRpb25zKSkubWFwKCh1KSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdXNlcjogYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgc25ha2VsaXplKHUudXNlcikpLFxuICAgICAgICAgIG1lbWJlcjogdS5tZW1iZXIgJiYgYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBzbmFrZWxpemUodS5tZW1iZXIpLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh1LnVzZXIuaWQpKSxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9LFxuICAgIGdldFNlc3Npb25JbmZvOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5nYXRld2F5Qm90KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFNlc3Npb25JbmZvKCkpKVxuICAgIH0sXG4gICAgZ2V0U3RhZ2VJbnN0YW5jZTogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RhZ2VJbnN0YW5jZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRTdGFnZUluc3RhbmNlKGNoYW5uZWxJZCkpKVxuICAgIH0sXG4gICAgZ2V0U3RpY2tlcjogYXN5bmMgKHN0aWNrZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRTdGlja2VyKHN0aWNrZXJJZCkpKVxuICAgIH0sXG4gICAgZ2V0VGhyZWFkTWVtYmVyOiBhc3luYyAoY2hhbm5lbElkLCB1c2VySWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnRocmVhZE1lbWJlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRUaHJlYWRNZW1iZXIoY2hhbm5lbElkLCB1c2VySWQpKSlcbiAgICB9LFxuICAgIGdldFRocmVhZE1lbWJlcnM6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0VGhyZWFkTWVtYmVycyhjaGFubmVsSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy50aHJlYWRNZW1iZXIoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRSZWFjdGlvbnM6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0UmVhY3Rpb25zKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbiwgb3B0aW9ucykpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRVc2VyOiBhc3luYyAoaWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0VXNlcihpZCkpKVxuICAgIH0sXG4gICAgZ2V0Q3VycmVudFVzZXI6IGFzeW5jIChiZWFyZXJUb2tlbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRDdXJyZW50VXNlcihiZWFyZXJUb2tlbikpKVxuICAgIH0sXG4gICAgZ2V0VXNlckNvbm5lY3Rpb25zOiBhc3luYyAoYmVhcmVyVG9rZW4pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRVc2VyQ29ubmVjdGlvbnMoYmVhcmVyVG9rZW4pXG4gICAgfSxcbiAgICBnZXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbjogYXN5bmMgKGJlYXJlclRva2VuLCBhcHBsaWNhdGlvbklkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24oYmVhcmVyVG9rZW4sIGFwcGxpY2F0aW9uSWQpXG4gICAgfSxcbiAgICBnZXRWYW5pdHlVcmw6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0VmFuaXR5VXJsKGd1aWxkSWQpXG4gICAgfSxcbiAgICBnZXRWb2ljZVJlZ2lvbnM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldFZvaWNlUmVnaW9ucyhndWlsZElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMudm9pY2VSZWdpb24oYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRXZWJob29rOiBhc3luYyAod2ViaG9va0lkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53ZWJob29rKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFdlYmhvb2sod2ViaG9va0lkKSkpXG4gICAgfSxcbiAgICBnZXRXZWJob29rTWVzc2FnZTogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRXZWJob29rTWVzc2FnZSh3ZWJob29rSWQsIHRva2VuLCBtZXNzYWdlSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGdldFdlYmhvb2tXaXRoVG9rZW46IGFzeW5jICh3ZWJob29rSWQsIHRva2VuKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53ZWJob29rKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFdlYmhvb2tXaXRoVG9rZW4od2ViaG9va0lkLCB0b2tlbikpKVxuICAgIH0sXG4gICAgZ2V0V2VsY29tZVNjcmVlbjogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlbGNvbWVTY3JlZW4oYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0V2VsY29tZVNjcmVlbihndWlsZElkKSkpXG4gICAgfSxcbiAgICBnZXRXaWRnZXQ6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53aWRnZXQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0V2lkZ2V0KGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIGdldFdpZGdldFNldHRpbmdzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2lkZ2V0U2V0dGluZ3MoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0V2lkZ2V0U2V0dGluZ3MoZ3VpbGRJZCkpKVxuICAgIH0sXG4gICAgcHVibGlzaE1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5wdWJsaXNoTWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCkpKVxuICAgIH0sXG4gICAgc2VuZE1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3Quc2VuZE1lc3NhZ2UoY2hhbm5lbElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBzZW5kRm9sbG93dXBNZXNzYWdlOiBhc3luYyAodG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3Quc2VuZEZvbGxvd3VwTWVzc2FnZSh0b2tlbiwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgc3RhcnRUaHJlYWRXaXRoTWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7XG4gICAgICAgIGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5zdGFydFRocmVhZFdpdGhNZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCBvcHRpb25zLCByZWFzb24pKSxcbiAgICAgIH0pXG4gICAgfSxcbiAgICBzdGFydFRocmVhZFdpdGhvdXRNZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5zdGFydFRocmVhZFdpdGhvdXRNZXNzYWdlKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSkgfSlcbiAgICB9LFxuICAgIHN5bmNHdWlsZFRlbXBsYXRlOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudGVtcGxhdGUoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3Quc3luY0d1aWxkVGVtcGxhdGUoZ3VpbGRJZCkpKVxuICAgIH0sXG4gICAgdXBzZXJ0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kczogYXN5bmMgKGNvbW1hbmRzLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LnVwc2VydEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZHMoY29tbWFuZHMsIG9wdGlvbnMpKS5tYXAoKHJlcykgPT5cbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUocmVzKSksXG4gICAgICApXG4gICAgfSxcbiAgICB1cHNlcnRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZHM6IGFzeW5jIChndWlsZElkLCBjb21tYW5kcywgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC51cHNlcnRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZHMoZ3VpbGRJZCwgY29tbWFuZHMsIG9wdGlvbnMpKS5tYXAoKHJlcykgPT5cbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUocmVzKSksXG4gICAgICApXG4gICAgfSxcbiAgICBlZGl0Qm90TWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEJvdE1lbWJlcihndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSwgZ3VpbGRJZCwgYm90LmlkKVxuICAgIH0sXG4gICAgZWRpdE1lbWJlcjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdE1lbWJlcihndWlsZElkLCB1c2VySWQsIG9wdGlvbnMsIHJlYXNvbikpLCBndWlsZElkLCB1c2VySWQpXG4gICAgfSxcbiAgICBnZXRNZW1iZXI6IGFzeW5jIChndWlsZElkLCB1c2VySWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRNZW1iZXIoZ3VpbGRJZCwgdXNlcklkKSksIGd1aWxkSWQsIHVzZXJJZClcbiAgICB9LFxuICAgIGdldEN1cnJlbnRNZW1iZXI6IGFzeW5jIChndWlsZElkLCBiZWFyZXJUb2tlbikgPT4ge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgYm90LnJlc3QuZ2V0Q3VycmVudE1lbWJlcihndWlsZElkLCBiZWFyZXJUb2tlbilcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHNuYWtlbGl6ZShyZXMpLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShyZXMudXNlci5pZCkpXG4gICAgfSxcbiAgICBnZXRNZW1iZXJzOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRNZW1iZXJzKGd1aWxkSWQsIG9wdGlvbnMpKS5tYXAoKHJlcykgPT5cbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBzbmFrZWxpemUocmVzKSwgZ3VpbGRJZCwgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocmVzLnVzZXIuaWQpKSxcbiAgICAgIClcbiAgICB9LFxuICAgIHBydW5lTWVtYmVyczogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnBydW5lTWVtYmVycyhndWlsZElkLCBvcHRpb25zLCByZWFzb24pXG4gICAgfSxcbiAgICBzZWFyY2hNZW1iZXJzOiBhc3luYyAoZ3VpbGRJZCwgcXVlcnksIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3Quc2VhcmNoTWVtYmVycyhndWlsZElkLCBxdWVyeSwgb3B0aW9ucykpLm1hcCgocmVzKSA9PlxuICAgICAgICBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHNuYWtlbGl6ZShyZXMpLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShyZXMudXNlci5pZCkpLFxuICAgICAgKVxuICAgIH0sXG4gICAgYnVsa0Jhbk1lbWJlcnM6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGJvdC5yZXN0LmJ1bGtCYW5NZW1iZXJzKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbilcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYmFubmVkVXNlcnM6IHJlcy5iYW5uZWRVc2Vycy5tYXAoKHgpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHgpKSxcbiAgICAgICAgZmFpbGVkVXNlcnM6IHJlcy5mYWlsZWRVc2Vycy5tYXAoKHgpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHgpKSxcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIEFsbCB1c2VsZXNzIHZvaWQgcmV0dXJuIGZ1bmN0aW9ucyBoZXJlXG4gICAgYWRkUmVhY3Rpb246IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5hZGRSZWFjdGlvbihjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24pXG4gICAgfSxcbiAgICBhZGRSZWFjdGlvbnM6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb25zLCBvcmRlcmVkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuYWRkUmVhY3Rpb25zKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbnMsIG9yZGVyZWQpXG4gICAgfSxcbiAgICBhZGRSb2xlOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCByb2xlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmFkZFJvbGUoZ3VpbGRJZCwgdXNlcklkLCByb2xlSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGFkZFRocmVhZE1lbWJlcjogYXN5bmMgKGNoYW5uZWxJZCwgdXNlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuYWRkVGhyZWFkTWVtYmVyKGNoYW5uZWxJZCwgdXNlcklkKVxuICAgIH0sXG4gICAgYWRkRG1SZWNpcGllbnQ6IGFzeW5jIChjaGFubmVsSWQsIHVzZXJJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmFkZERtUmVjaXBpZW50KGNoYW5uZWxJZCwgdXNlcklkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgYWRkR3VpbGRNZW1iZXI6IGFzeW5jIChndWlsZElkLCB1c2VySWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5hZGRHdWlsZE1lbWJlcihndWlsZElkLCB1c2VySWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBkZWxldGVBdXRvbW9kUnVsZTogYXN5bmMgKGd1aWxkSWQsIHJ1bGVJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlQXV0b21vZFJ1bGUoZ3VpbGRJZCwgcnVsZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVDaGFubmVsOiBhc3luYyAoY2hhbm5lbElkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVDaGFubmVsKGNoYW5uZWxJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlQ2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZTogYXN5bmMgKGNoYW5uZWxJZCwgb3ZlcndyaXRlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUNoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGUoY2hhbm5lbElkLCBvdmVyd3JpdGVJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlRW1vamk6IGFzeW5jIChndWlsZElkLCBpZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlRW1vamkoZ3VpbGRJZCwgaWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZUZvbGxvd3VwTWVzc2FnZTogYXN5bmMgKHRva2VuLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVGb2xsb3d1cE1lc3NhZ2UodG9rZW4sIG1lc3NhZ2VJZClcbiAgICB9LFxuICAgIGRlbGV0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQpXG4gICAgfSxcbiAgICBkZWxldGVHdWlsZDogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVHdWlsZChndWlsZElkKVxuICAgIH0sXG4gICAgZGVsZXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kSWQsIGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQsIGd1aWxkSWQpXG4gICAgfSxcbiAgICBkZWxldGVHdWlsZFN0aWNrZXI6IGFzeW5jIChndWlsZElkLCBzdGlja2VySWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUd1aWxkU3RpY2tlcihndWlsZElkLCBzdGlja2VySWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZUd1aWxkVGVtcGxhdGU6IGFzeW5jIChndWlsZElkLCB0ZW1wbGF0ZUNvZGUpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVHdWlsZFRlbXBsYXRlKGd1aWxkSWQsIHRlbXBsYXRlQ29kZSlcbiAgICB9LFxuICAgIGRlbGV0ZUludGVncmF0aW9uOiBhc3luYyAoZ3VpbGRJZCwgaW50ZWdyYXRpb25JZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlSW50ZWdyYXRpb24oZ3VpbGRJZCwgaW50ZWdyYXRpb25JZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlSW52aXRlOiBhc3luYyAoaW52aXRlQ29kZSwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlSW52aXRlKGludml0ZUNvZGUsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZU1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlTWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlTWVzc2FnZXM6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZHMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZU1lc3NhZ2VzKGNoYW5uZWxJZCwgbWVzc2FnZUlkcywgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlOiBhc3luYyAodG9rZW4pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodG9rZW4pXG4gICAgfSxcbiAgICBkZWxldGVPd25SZWFjdGlvbjogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZU93blJlYWN0aW9uKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbilcbiAgICB9LFxuICAgIGRlbGV0ZVJlYWN0aW9uc0FsbDogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlUmVhY3Rpb25zQWxsKGNoYW5uZWxJZCwgbWVzc2FnZUlkKVxuICAgIH0sXG4gICAgZGVsZXRlUmVhY3Rpb25zRW1vamk6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVSZWFjdGlvbnNFbW9qaShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24pXG4gICAgfSxcbiAgICBkZWxldGVSb2xlOiBhc3luYyAoZ3VpbGRJZCwgcm9sZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVSb2xlKGd1aWxkSWQsIHJvbGVJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlU2NoZWR1bGVkRXZlbnQ6IGFzeW5jIChndWlsZElkLCBldmVudElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlU2NoZWR1bGVkRXZlbnQoZ3VpbGRJZCwgZXZlbnRJZClcbiAgICB9LFxuICAgIGRlbGV0ZVN0YWdlSW5zdGFuY2U6IGFzeW5jIChjaGFubmVsSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVN0YWdlSW5zdGFuY2UoY2hhbm5lbElkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVVc2VyUmVhY3Rpb246IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgdXNlcklkLCByZWFjdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVVzZXJSZWFjdGlvbihjaGFubmVsSWQsIG1lc3NhZ2VJZCwgdXNlcklkLCByZWFjdGlvbilcbiAgICB9LFxuICAgIGRlbGV0ZVdlYmhvb2s6IGFzeW5jICh3ZWJob29rSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVdlYmhvb2sod2ViaG9va0lkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVXZWJob29rTWVzc2FnZTogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVdlYmhvb2tNZXNzYWdlKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGRlbGV0ZVdlYmhvb2tXaXRoVG9rZW46IGFzeW5jICh3ZWJob29rSWQsIHRva2VuKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlV2ViaG9va1dpdGhUb2tlbih3ZWJob29rSWQsIHRva2VuKVxuICAgIH0sXG4gICAgZWRpdENoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGVzOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5lZGl0Q2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZXMoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pXG4gICAgfSxcbiAgICBlZGl0Q2hhbm5lbFBvc2l0aW9uczogYXN5bmMgKGd1aWxkSWQsIGNoYW5uZWxQb3NpdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5lZGl0Q2hhbm5lbFBvc2l0aW9ucyhndWlsZElkLCBjaGFubmVsUG9zaXRpb25zKVxuICAgIH0sXG4gICAgZWRpdEd1aWxkTWZhTGV2ZWw6IGFzeW5jIChndWlsZElkLCBtZmFMZXZlbCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZWRpdEd1aWxkTWZhTGV2ZWwoZ3VpbGRJZCwgbWZhTGV2ZWwsIHJlYXNvbilcbiAgICB9LFxuICAgIGVkaXRPd25Wb2ljZVN0YXRlOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmVkaXRPd25Wb2ljZVN0YXRlKGd1aWxkSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBlZGl0VXNlclZvaWNlU3RhdGU6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZWRpdFVzZXJWb2ljZVN0YXRlKGd1aWxkSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBlZGl0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb246IGFzeW5jIChiZWFyZXJUb2tlbiwgYXBwbGljYXRpb25JZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmVkaXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbihiZWFyZXJUb2tlbiwgYXBwbGljYXRpb25JZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGpvaW5UaHJlYWQ6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5qb2luVGhyZWFkKGNoYW5uZWxJZClcbiAgICB9LFxuICAgIGxlYXZlR3VpbGQ6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QubGVhdmVHdWlsZChndWlsZElkKVxuICAgIH0sXG4gICAgbGVhdmVUaHJlYWQ6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5sZWF2ZVRocmVhZChjaGFubmVsSWQpXG4gICAgfSxcbiAgICByZW1vdmVSb2xlOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCByb2xlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnJlbW92ZVJvbGUoZ3VpbGRJZCwgdXNlcklkLCByb2xlSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIHJlbW92ZVRocmVhZE1lbWJlcjogYXN5bmMgKGNoYW5uZWxJZCwgdXNlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QucmVtb3ZlVGhyZWFkTWVtYmVyKGNoYW5uZWxJZCwgdXNlcklkKVxuICAgIH0sXG4gICAgcmVtb3ZlRG1SZWNpcGllbnQ6IGFzeW5jIChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnJlbW92ZURtUmVjaXBpZW50KGNoYW5uZWxJZCwgdXNlcklkKVxuICAgIH0sXG4gICAgc2VuZEludGVyYWN0aW9uUmVzcG9uc2U6IGFzeW5jIChpbnRlcmFjdGlvbklkLCB0b2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKGludGVyYWN0aW9uSWQsIHRva2VuLCBvcHRpb25zKVxuICAgIH0sXG4gICAgdHJpZ2dlclR5cGluZ0luZGljYXRvcjogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnRyaWdnZXJUeXBpbmdJbmRpY2F0b3IoY2hhbm5lbElkKVxuICAgIH0sXG4gICAgYmFuTWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5iYW5NZW1iZXIoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zLCByZWFzb24pXG4gICAgfSxcbiAgICBraWNrTWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5raWNrTWVtYmVyKGd1aWxkSWQsIHVzZXJJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgcGluTWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5waW5NZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICB1bmJhbk1lbWJlcjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QudW5iYW5NZW1iZXIoZ3VpbGRJZCwgdXNlcklkLCByZWFzb24pXG4gICAgfSxcbiAgICB1bnBpbk1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QudW5waW5NZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICBnZXRHdWlsZE9uYm9hcmRpbmc6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5ndWlsZE9uYm9hcmRpbmcoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRPbmJvYXJkaW5nKGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIGVkaXRHdWlsZE9uYm9hcmRpbmc6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmd1aWxkT25ib2FyZGluZyhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0R3VpbGRPbmJvYXJkaW5nKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgbGlzdEVudGl0bGVtZW50czogYXN5bmMgKGFwcGxpY2F0aW9uSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QubGlzdEVudGl0bGVtZW50cyhhcHBsaWNhdGlvbklkLCBvcHRpb25zKSkubWFwKChlbnRpdGxlbWVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5lbnRpdGxlbWVudChib3QsIHNuYWtlbGl6ZShlbnRpdGxlbWVudCkpKVxuICAgIH0sXG4gICAgY3JlYXRlVGVzdEVudGl0bGVtZW50OiBhc3luYyAoYXBwbGljYXRpb25JZCwgYm9keSkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZW50aXRsZW1lbnQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlVGVzdEVudGl0bGVtZW50KGFwcGxpY2F0aW9uSWQsIGJvZHkpKSBhcyBEaXNjb3JkRW50aXRsZW1lbnQpXG4gICAgfSxcbiAgICBkZWxldGVUZXN0RW50aXRsZW1lbnQ6IGFzeW5jIChhcHBsaWNhdGlvbklkLCBlbnRpdGxlbWVudElkKSA9PiB7XG4gICAgICBhd2FpdCBib3QucmVzdC5kZWxldGVUZXN0RW50aXRsZW1lbnQoYXBwbGljYXRpb25JZCwgZW50aXRsZW1lbnRJZClcbiAgICB9LFxuICAgIGxpc3RTa3VzOiBhc3luYyAoYXBwbGljYXRpb25JZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5saXN0U2t1cyhhcHBsaWNhdGlvbklkKSkubWFwKChza3UpID0+IGJvdC50cmFuc2Zvcm1lcnMuc2t1KGJvdCwgc25ha2VsaXplKHNrdSkpKVxuICAgIH0sXG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb3RIZWxwZXJzIHtcbiAgY3JlYXRlQXV0b21vZFJ1bGU6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUF1dG9Nb2RlcmF0aW9uUnVsZU9wdGlvbnMsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxBdXRvTW9kZXJhdGlvblJ1bGU+XG4gIGNyZWF0ZUNoYW5uZWw6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUd1aWxkQ2hhbm5lbCwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPENoYW5uZWw+XG4gIGNyZWF0ZUVtb2ppOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZEVtb2ppLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8RW1vamk+XG4gIGNyZWF0ZUZvcnVtVGhyZWFkOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUZvcnVtUG9zdFdpdGhNZXNzYWdlLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8Q2hhbm5lbD5cbiAgY3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZDogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kLCBvcHRpb25zPzogQ3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucykgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmQ+XG4gIGNyZWF0ZUd1aWxkOiAob3B0aW9uczogQ3JlYXRlR3VpbGQpID0+IFByb21pc2U8R3VpbGQ+XG4gIGNyZWF0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kOiAoXG4gICAgY29tbWFuZDogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kLFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zPzogQ3JlYXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxuICApID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBjcmVhdGVHdWlsZEZyb21UZW1wbGF0ZTogKHRlbXBsYXRlQ29kZTogc3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZEZyb21UZW1wbGF0ZSkgPT4gUHJvbWlzZTxHdWlsZD5cbiAgY3JlYXRlR3VpbGRTdGlja2VyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZFN0aWNrZXJPcHRpb25zLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8U3RpY2tlcj5cbiAgY3JlYXRlR3VpbGRUZW1wbGF0ZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlVGVtcGxhdGUpID0+IFByb21pc2U8VGVtcGxhdGU+XG4gIGNyZWF0ZUludml0ZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogQ3JlYXRlQ2hhbm5lbEludml0ZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRJbnZpdGU+XG4gIGNyZWF0ZVJvbGU6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUd1aWxkUm9sZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFJvbGU+XG4gIGNyZWF0ZVNjaGVkdWxlZEV2ZW50OiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVTY2hlZHVsZWRFdmVudCwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFNjaGVkdWxlZEV2ZW50PlxuICBjcmVhdGVTdGFnZUluc3RhbmNlOiAob3B0aW9uczogQ3JlYXRlU3RhZ2VJbnN0YW5jZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFN0YWdlSW5zdGFuY2U+XG4gIGNyZWF0ZVdlYmhvb2s6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlV2ViaG9vaywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFdlYmhvb2s+XG4gIGVkaXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uczogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBjb21tYW5kSWQ6IEJpZ1N0cmluZyxcbiAgICBiZWFyZXJUb2tlbjogc3RyaW5nLFxuICAgIG9wdGlvbnM6IEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zW10sXG4gICkgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uPlxuICBlZGl0QXV0b21vZFJ1bGU6IChcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgcnVsZUlkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9uczogUGFydGlhbDxFZGl0QXV0b01vZGVyYXRpb25SdWxlT3B0aW9ucz4sXG4gICAgcmVhc29uPzogc3RyaW5nLFxuICApID0+IFByb21pc2U8QXV0b01vZGVyYXRpb25SdWxlPlxuICBlZGl0Qm90UHJvZmlsZTogKG9wdGlvbnM6IHsgdXNlcm5hbWU/OiBzdHJpbmc7IGJvdEF2YXRhclVSTD86IHN0cmluZyB8IG51bGwgfSkgPT4gUHJvbWlzZTxVc2VyPlxuICBlZGl0Q2hhbm5lbDogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBNb2RpZnlDaGFubmVsLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8Q2hhbm5lbD5cbiAgZWRpdEVtb2ppOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBpZDogQmlnU3RyaW5nLCBvcHRpb25zOiBNb2RpZnlHdWlsZEVtb2ppLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8RW1vamk+XG4gIGVkaXRGb2xsb3d1cE1lc3NhZ2U6ICh0b2tlbjogc3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgZWRpdEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBlZGl0R3VpbGQ6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IE1vZGlmeUd1aWxkLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8R3VpbGQ+XG4gIGVkaXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmRJZDogQmlnU3RyaW5nLCBndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCkgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmQ+XG4gIGVkaXRHdWlsZFN0aWNrZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHN0aWNrZXJJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBBdExlYXN0T25lPEVkaXRHdWlsZFN0aWNrZXJPcHRpb25zPiwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFN0aWNrZXI+XG4gIGVkaXRHdWlsZFRlbXBsYXRlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB0ZW1wbGF0ZUNvZGU6IHN0cmluZywgb3B0aW9uczogTW9kaWZ5R3VpbGRUZW1wbGF0ZSkgPT4gUHJvbWlzZTxUZW1wbGF0ZT5cbiAgZWRpdE1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEVkaXRNZXNzYWdlKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2U6ICh0b2tlbjogc3RyaW5nLCBvcHRpb25zOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSkgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBlZGl0T3JpZ2luYWxXZWJob29rTWVzc2FnZTogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCB0b2tlbjogc3RyaW5nLCBvcHRpb25zOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSAmIHsgdGhyZWFkSWQ/OiBCaWdTdHJpbmcgfSkgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBlZGl0Um9sZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgcm9sZUlkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEVkaXRHdWlsZFJvbGUsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxSb2xlPlxuICBlZGl0Um9sZVBvc2l0aW9uczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogTW9kaWZ5Um9sZVBvc2l0aW9uc1tdLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8Um9sZVtdPlxuICBlZGl0U2NoZWR1bGVkRXZlbnQ6IChndWlsZElkOiBCaWdTdHJpbmcsIGV2ZW50SWQ6IEJpZ1N0cmluZywgb3B0aW9uczogUGFydGlhbDxFZGl0U2NoZWR1bGVkRXZlbnQ+LCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8U2NoZWR1bGVkRXZlbnQ+XG4gIGVkaXRTdGFnZUluc3RhbmNlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHRvcGljOiBzdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxTdGFnZUluc3RhbmNlPlxuICBlZGl0V2ViaG9vazogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBNb2RpZnlXZWJob29rLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8V2ViaG9vaz5cbiAgZWRpdFdlYmhvb2tNZXNzYWdlOiAoXG4gICAgd2ViaG9va0lkOiBCaWdTdHJpbmcsXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICBtZXNzYWdlSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSAmIHsgdGhyZWFkSWQ/OiBCaWdTdHJpbmcgfSxcbiAgKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGVkaXRXZWJob29rV2l0aFRva2VuOiAod2ViaG9va0lkOiBCaWdTdHJpbmcsIHRva2VuOiBzdHJpbmcsIG9wdGlvbnM6IE9taXQ8TW9kaWZ5V2ViaG9vaywgJ2NoYW5uZWxJZCc+KSA9PiBQcm9taXNlPFdlYmhvb2s+XG4gIGVkaXRXZWxjb21lU2NyZWVuOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDYW1lbGl6ZWREaXNjb3JkTW9kaWZ5R3VpbGRXZWxjb21lU2NyZWVuLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8V2VsY29tZVNjcmVlbj5cbiAgZWRpdFdpZGdldFNldHRpbmdzOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDYW1lbGl6ZWREaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPEd1aWxkV2lkZ2V0U2V0dGluZ3M+XG4gIGVkaXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbjogKFxuICAgIGJlYXJlclRva2VuOiBzdHJpbmcsXG4gICAgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLFxuICAgIG9wdGlvbnM6IENhbWVsaXplZERpc2NvcmRBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uLFxuICApID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24+XG4gIGV4ZWN1dGVXZWJob29rOiAod2ViaG9va0lkOiBCaWdTdHJpbmcsIHRva2VuOiBzdHJpbmcsIG9wdGlvbnM6IEV4ZWN1dGVXZWJob29rKSA9PiBQcm9taXNlPE1lc3NhZ2UgfCB1bmRlZmluZWQ+XG4gIGZvbGxvd0Fubm91bmNlbWVudDogKHNvdXJjZUNoYW5uZWxJZDogQmlnU3RyaW5nLCB0YXJnZXRDaGFubmVsSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkRm9sbG93ZWRDaGFubmVsPlxuICBnZXRBY3RpdmVUaHJlYWRzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHsgdGhyZWFkczogQ2hhbm5lbFtdOyBtZW1iZXJzOiBUaHJlYWRNZW1iZXJbXSB9PlxuICBnZXRBcHBsaWNhdGlvbkluZm86ICgpID0+IFByb21pc2U8QXBwbGljYXRpb24+XG4gIGVkaXRBcHBsaWNhdGlvbkluZm86IChib2R5OiBFZGl0QXBwbGljYXRpb24pID0+IFByb21pc2U8QXBwbGljYXRpb24+XG4gIGdldEN1cnJlbnRBdXRoZW50aWNhdGlvbkluZm86IChiZWFyZXJUb2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRDdXJyZW50QXV0aG9yaXphdGlvbj5cbiAgZXhjaGFuZ2VUb2tlbjogKGNsaWVudElkOiBCaWdTdHJpbmcsIGNsaWVudFNlY3JldDogc3RyaW5nLCBvcHRpb25zOiBDYW1lbGl6ZWREaXNjb3JkVG9rZW5FeGNoYW5nZSkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQWNjZXNzVG9rZW5SZXNwb25zZT5cbiAgcmV2b2tlVG9rZW46IChjbGllbnRJZDogQmlnU3RyaW5nLCBjbGllbnRTZWNyZXQ6IHN0cmluZywgb3B0aW9uczogQ2FtZWxpemVkRGlzY29yZFRva2VuUmV2b2NhdGlvbikgPT4gUHJvbWlzZTx2b2lkPlxuICBnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiAoXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIGNvbW1hbmRJZDogQmlnU3RyaW5nLFxuICAgIG9wdGlvbnM/OiBHZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uT3B0aW9ucyxcbiAgKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24+XG4gIGdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbk9wdGlvbnMpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbltdPlxuICBnZXRBdWRpdExvZzogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldEd1aWxkQXVkaXRMb2cpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEF1ZGl0TG9nPlxuICBnZXRBdXRvbW9kUnVsZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgcnVsZUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8QXV0b01vZGVyYXRpb25SdWxlPlxuICBnZXRBdXRvbW9kUnVsZXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8QXV0b01vZGVyYXRpb25SdWxlW10+XG4gIGdldEF2YWlsYWJsZVZvaWNlUmVnaW9uczogKCkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkVm9pY2VSZWdpb25bXT5cbiAgZ2V0QmFuOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQmFuPlxuICBnZXRCYW5zOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0QmFucykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQmFuW10+XG4gIGdldENoYW5uZWw6IChjaGFubmVsSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDaGFubmVsPlxuICBnZXRDaGFubmVsSW52aXRlczogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRJbnZpdGVNZXRhZGF0YVtdPlxuICBnZXRDaGFubmVsczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDaGFubmVsW10+XG4gIGdldENoYW5uZWxXZWJob29rczogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFdlYmhvb2tbXT5cbiAgZ2V0RG1DaGFubmVsOiAodXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2hhbm5lbD5cbiAgZ2V0R3JvdXBEbUNoYW5uZWw6IChvcHRpb25zOiBHZXRHcm91cERtT3B0aW9ucykgPT4gUHJvbWlzZTxDaGFubmVsPlxuICBnZXRFbW9qaTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgZW1vamlJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEVtb2ppPlxuICBnZXRFbW9qaXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8RW1vamlbXT5cbiAgZ2V0Rm9sbG93dXBNZXNzYWdlOiAodG9rZW46IHN0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgZ2V0R2F0ZXdheUJvdDogKCkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkR2V0R2F0ZXdheUJvdD5cbiAgZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBnZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzOiAoKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZFtdPlxuICBnZXRHdWlsZDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IHsgY291bnRzPzogYm9vbGVhbiB9KSA9PiBQcm9taXNlPEd1aWxkPlxuICBnZXRHdWlsZHM6IChiZWFyZXJUb2tlbjogc3RyaW5nLCBvcHRpb25zPzogR2V0VXNlckd1aWxkcykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkUGFydGlhbEd1aWxkW10+XG4gIGdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcsIGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmQ+XG4gIGdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmRbXT5cbiAgZ2V0R3VpbGRQcmV2aWV3OiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRHdWlsZFByZXZpZXc+XG4gIGdldEd1aWxkU3RpY2tlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgc3RpY2tlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8U3RpY2tlcj5cbiAgZ2V0R3VpbGRTdGlja2VyczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxTdGlja2VyW10+XG4gIGdldEd1aWxkVGVtcGxhdGU6ICh0ZW1wbGF0ZUNvZGU6IHN0cmluZykgPT4gUHJvbWlzZTxUZW1wbGF0ZT5cbiAgZ2V0R3VpbGRUZW1wbGF0ZXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VGVtcGxhdGVbXT5cbiAgZ2V0R3VpbGRXZWJob29rczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxXZWJob29rW10+XG4gIGdldEludGVncmF0aW9uczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxJbnRlZ3JhdGlvbltdPlxuICBnZXRJbnZpdGU6IChpbnZpdGVDb2RlOiBzdHJpbmcsIG9wdGlvbnM/OiBHZXRJbnZpdGUpID0+IFByb21pc2U8SW52aXRlPlxuICBnZXRJbnZpdGVzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEludml0ZVtdPlxuICBnZXRNZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGdldE1lc3NhZ2VzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRNZXNzYWdlc09wdGlvbnMpID0+IFByb21pc2U8TWVzc2FnZVtdPlxuICBnZXRTdGlja2VyUGFja3M6ICgpID0+IFByb21pc2U8U3RpY2tlclBhY2tbXT5cbiAgZ2V0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlOiAodG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBnZXRQaW5uZWRNZXNzYWdlczogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPE1lc3NhZ2VbXT5cbiAgZ2V0UHJpdmF0ZUFyY2hpdmVkVGhyZWFkczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogTGlzdEFyY2hpdmVkVGhyZWFkcykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQXJjaGl2ZWRUaHJlYWRzPlxuICBnZXRQcml2YXRlSm9pbmVkQXJjaGl2ZWRUaHJlYWRzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBMaXN0QXJjaGl2ZWRUaHJlYWRzKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRBcmNoaXZlZFRocmVhZHM+XG4gIGdldFBydW5lQ291bnQ6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRHdWlsZFBydW5lQ291bnRRdWVyeSkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkUHJ1bmVkQ291bnQ+XG4gIGdldFB1YmxpY0FyY2hpdmVkVGhyZWFkczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogTGlzdEFyY2hpdmVkVGhyZWFkcykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQXJjaGl2ZWRUaHJlYWRzPlxuICBnZXRSb2xlczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxSb2xlW10+XG4gIGdldFNjaGVkdWxlZEV2ZW50OiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBldmVudElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiB7IHdpdGhVc2VyQ291bnQ/OiBib29sZWFuIH0pID0+IFByb21pc2U8U2NoZWR1bGVkRXZlbnQ+XG4gIGdldFNjaGVkdWxlZEV2ZW50czogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldFNjaGVkdWxlZEV2ZW50cykgPT4gUHJvbWlzZTxTY2hlZHVsZWRFdmVudFtdPlxuICBnZXRTY2hlZHVsZWRFdmVudFVzZXJzOiAoXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIGV2ZW50SWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zPzogR2V0U2NoZWR1bGVkRXZlbnRVc2VycyxcbiAgKSA9PiBQcm9taXNlPEFycmF5PHsgdXNlcjogVXNlcjsgbWVtYmVyPzogTWVtYmVyIH0+PlxuICBnZXRTZXNzaW9uSW5mbzogKCkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkR2V0R2F0ZXdheUJvdD5cbiAgZ2V0U3RhZ2VJbnN0YW5jZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFN0YWdlSW5zdGFuY2U+XG4gIGdldFN0aWNrZXI6IChzdGlja2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxTdGlja2VyPlxuICBnZXRUaHJlYWRNZW1iZXI6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VGhyZWFkTWVtYmVyPlxuICBnZXRUaHJlYWRNZW1iZXJzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VGhyZWFkTWVtYmVyW10+XG4gIGdldFJlYWN0aW9uczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgcmVhY3Rpb246IHN0cmluZywgb3B0aW9ucz86IEdldFJlYWN0aW9ucykgPT4gUHJvbWlzZTxVc2VyW10+XG4gIGdldFVzZXI6IChpZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFVzZXI+XG4gIGdldEN1cnJlbnRVc2VyOiAoYmVhcmVyVG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTxVc2VyPlxuICBnZXRVc2VyQ29ubmVjdGlvbnM6IChiZWFyZXJUb2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRDb25uZWN0aW9uW10+XG4gIGdldFVzZXJBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uOiAoYmVhcmVyVG9rZW46IHN0cmluZywgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uPlxuICBnZXRWYW5pdHlVcmw6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZFZhbml0eVVybD5cbiAgZ2V0Vm9pY2VSZWdpb25zOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRWb2ljZVJlZ2lvbltdPlxuICBnZXRXZWJob29rOiAod2ViaG9va0lkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8V2ViaG9vaz5cbiAgZ2V0V2ViaG9va01lc3NhZ2U6ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgdG9rZW46IHN0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRXZWJob29rTWVzc2FnZU9wdGlvbnMpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgZ2V0V2ViaG9va1dpdGhUb2tlbjogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCB0b2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPFdlYmhvb2s+XG4gIGdldFdlbGNvbWVTY3JlZW46IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8V2VsY29tZVNjcmVlbj5cbiAgZ2V0V2lkZ2V0OiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEd1aWxkV2lkZ2V0PlxuICBnZXRXaWRnZXRTZXR0aW5nczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxHdWlsZFdpZGdldFNldHRpbmdzPlxuICBwdWJsaXNoTWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBzZW5kTWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVNZXNzYWdlT3B0aW9ucykgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBzZW5kRm9sbG93dXBNZXNzYWdlOiAodG9rZW46IHN0cmluZywgb3B0aW9uczogSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgc3RhcnRUaHJlYWRXaXRoTWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogU3RhcnRUaHJlYWRXaXRoTWVzc2FnZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPENoYW5uZWw+XG4gIHN0YXJ0VGhyZWFkV2l0aG91dE1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogU3RhcnRUaHJlYWRXaXRob3V0TWVzc2FnZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPENoYW5uZWw+XG4gIHN5bmNHdWlsZFRlbXBsYXRlOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFRlbXBsYXRlPlxuICB1cHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzOiAoXG4gICAgY29tbWFuZHM6IENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZFtdLFxuICAgIG9wdGlvbnM/OiBVcHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxuICApID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kW10+XG4gIHVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kczogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBjb21tYW5kczogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kW10sXG4gICAgb3B0aW9ucz86IFVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucyxcbiAgKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZFtdPlxuICBlZGl0Qm90TWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBFZGl0Qm90TWVtYmVyT3B0aW9ucywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPE1lbWJlcj5cbiAgZWRpdE1lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IE1vZGlmeUd1aWxkTWVtYmVyLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8TWVtYmVyPlxuICBnZXRNZW1iZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPE1lbWJlcj5cbiAgZ2V0Q3VycmVudE1lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgYmVhcmVyVG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTxNZW1iZXI+XG4gIGdldE1lbWJlcnM6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IExpc3RHdWlsZE1lbWJlcnMpID0+IFByb21pc2U8TWVtYmVyW10+XG4gIHBydW5lTWVtYmVyczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQmVnaW5HdWlsZFBydW5lLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8eyBwcnVuZWQ6IG51bWJlciB8IG51bGwgfT5cbiAgc2VhcmNoTWVtYmVyczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgcXVlcnk6IHN0cmluZywgb3B0aW9ucz86IE9taXQ8U2VhcmNoTWVtYmVycywgJ3F1ZXJ5Jz4pID0+IFByb21pc2U8TWVtYmVyW10+XG4gIGJ1bGtCYW5NZW1iZXJzOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZEJ1bGtCYW4sIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx7IGJhbm5lZFVzZXJzOiBiaWdpbnRbXTsgZmFpbGVkVXNlcnM6IGJpZ2ludFtdIH0+XG4gIC8vIGZ1bmN0aW9ucyByZXR1cm4gVm9pZCBzbyBkb250IG5lZWQgYW55IHNwZWNpYWwgaGFuZGxpbmdcbiAgYWRkUmVhY3Rpb246IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYWN0aW9uOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgYWRkUmVhY3Rpb25zOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFjdGlvbnM6IHN0cmluZ1tdLCBvcmRlcmVkPzogYm9vbGVhbikgPT4gUHJvbWlzZTx2b2lkPlxuICBhZGRSb2xlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgcm9sZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBhZGRUaHJlYWRNZW1iZXI6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgYWRkRG1SZWNpcGllbnQ6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEFkZERtUmVjaXBpZW50T3B0aW9ucykgPT4gUHJvbWlzZTx2b2lkPlxuICBhZGRHdWlsZE1lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEFkZEd1aWxkTWVtYmVyT3B0aW9ucykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVBdXRvbW9kUnVsZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgcnVsZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVDaGFubmVsOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG92ZXJ3cml0ZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVFbW9qaTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgaWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUZvbGxvd3VwTWVzc2FnZTogKHRva2VuOiBzdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUd1aWxkOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcsIGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVHdWlsZFN0aWNrZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHN0aWNrZXJJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlR3VpbGRUZW1wbGF0ZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdGVtcGxhdGVDb2RlOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlSW50ZWdyYXRpb246IChndWlsZElkOiBCaWdTdHJpbmcsIGludGVncmF0aW9uSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUludml0ZTogKGludml0ZUNvZGU6IHN0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZU1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVNZXNzYWdlczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWRzOiBCaWdTdHJpbmdbXSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZTogKHRva2VuOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlT3duUmVhY3Rpb246IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYWN0aW9uOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlUmVhY3Rpb25zQWxsOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVJlYWN0aW9uc0Vtb2ppOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFjdGlvbjogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVJvbGU6IChndWlsZElkOiBCaWdTdHJpbmcsIHJvbGVJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlU2NoZWR1bGVkRXZlbnQ6IChndWlsZElkOiBCaWdTdHJpbmcsIGV2ZW50SWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVTdGFnZUluc3RhbmNlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVVc2VyUmVhY3Rpb246IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCByZWFjdGlvbjogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVdlYmhvb2s6ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVdlYmhvb2tNZXNzYWdlOiAod2ViaG9va0lkOiBCaWdTdHJpbmcsIHRva2VuOiBzdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogRGVsZXRlV2ViaG9va01lc3NhZ2VPcHRpb25zKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVdlYmhvb2tXaXRoVG9rZW46ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgdG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBlZGl0Q2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZXM6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogRWRpdENoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGVzT3B0aW9ucywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGVkaXRDaGFubmVsUG9zaXRpb25zOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBjaGFubmVsUG9zaXRpb25zOiBNb2RpZnlHdWlsZENoYW5uZWxQb3NpdGlvbnNbXSkgPT4gUHJvbWlzZTx2b2lkPlxuICBlZGl0R3VpbGRNZmFMZXZlbDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgbWZhTGV2ZWw6IE1mYUxldmVscywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGVkaXRPd25Wb2ljZVN0YXRlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBFZGl0T3duVm9pY2VTdGF0ZSkgPT4gUHJvbWlzZTx2b2lkPlxuICBlZGl0VXNlclZvaWNlU3RhdGU6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEVkaXRVc2VyVm9pY2VTdGF0ZSkgPT4gUHJvbWlzZTx2b2lkPlxuICBqb2luVGhyZWFkOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgbGVhdmVHdWlsZDogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBsZWF2ZVRocmVhZDogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHJlbW92ZVJvbGU6IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCByb2xlSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHJlbW92ZVRocmVhZE1lbWJlcjogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICByZW1vdmVEbVJlY2lwaWVudDogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBzZW5kSW50ZXJhY3Rpb25SZXNwb25zZTogKGludGVyYWN0aW9uSWQ6IEJpZ1N0cmluZywgdG9rZW46IHN0cmluZywgb3B0aW9uczogSW50ZXJhY3Rpb25SZXNwb25zZSkgPT4gUHJvbWlzZTx2b2lkPlxuICB0cmlnZ2VyVHlwaW5nSW5kaWNhdG9yOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgYmFuTWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IENyZWF0ZUd1aWxkQmFuLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAga2lja01lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBwaW5NZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgdW5iYW5NZW1iZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgdW5waW5NZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZ2V0R3VpbGRPbmJvYXJkaW5nOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEd1aWxkT25ib2FyZGluZz5cbiAgZWRpdEd1aWxkT25ib2FyZGluZzogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogRWRpdEd1aWxkT25ib2FyZGluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPEd1aWxkT25ib2FyZGluZz5cbiAgbGlzdEVudGl0bGVtZW50czogKGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldEVudGl0bGVtZW50cykgPT4gUHJvbWlzZTxFbnRpdGxlbWVudFtdPlxuICBjcmVhdGVUZXN0RW50aXRsZW1lbnQ6IChhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsIGJvZHk6IENyZWF0ZUVudGl0bGVtZW50KSA9PiBQcm9taXNlPFBhcnRpYWw8RW50aXRsZW1lbnQ+PlxuICBkZWxldGVUZXN0RW50aXRsZW1lbnQ6IChhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsIGVudGl0bGVtZW50SWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBsaXN0U2t1czogKGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxTa3VbXT5cbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVCb3RIZWxwZXJzIiwiYm90IiwiY3JlYXRlQXV0b21vZFJ1bGUiLCJndWlsZElkIiwib3B0aW9ucyIsInJlYXNvbiIsInRyYW5zZm9ybWVycyIsImF1dG9tb2RSdWxlIiwic25ha2VsaXplIiwicmVzdCIsImNyZWF0ZUNoYW5uZWwiLCJjaGFubmVsIiwiY3JlYXRlRW1vamkiLCJlbW9qaSIsImNyZWF0ZUZvcnVtVGhyZWFkIiwiY2hhbm5lbElkIiwiY3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kIiwiY29tbWFuZCIsImFwcGxpY2F0aW9uQ29tbWFuZCIsImNyZWF0ZUd1aWxkIiwiZ3VpbGQiLCJzaGFyZElkIiwiY3JlYXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJjcmVhdGVHdWlsZEZyb21UZW1wbGF0ZSIsInRlbXBsYXRlQ29kZSIsImNyZWF0ZUd1aWxkU3RpY2tlciIsInN0aWNrZXIiLCJjcmVhdGVHdWlsZFRlbXBsYXRlIiwidGVtcGxhdGUiLCJjcmVhdGVJbnZpdGUiLCJjcmVhdGVSb2xlIiwicm9sZSIsImNyZWF0ZVNjaGVkdWxlZEV2ZW50Iiwic2NoZWR1bGVkRXZlbnQiLCJjcmVhdGVTdGFnZUluc3RhbmNlIiwic3RhZ2VJbnN0YW5jZSIsImNyZWF0ZVdlYmhvb2siLCJ3ZWJob29rIiwiZWRpdEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zIiwiY29tbWFuZElkIiwiYmVhcmVyVG9rZW4iLCJhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uIiwiZWRpdEF1dG9tb2RSdWxlIiwicnVsZUlkIiwiZWRpdEJvdFByb2ZpbGUiLCJ1c2VyIiwiZWRpdENoYW5uZWwiLCJlZGl0RW1vamkiLCJpZCIsImVkaXRGb2xsb3d1cE1lc3NhZ2UiLCJ0b2tlbiIsIm1lc3NhZ2VJZCIsIm1lc3NhZ2UiLCJlZGl0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kIiwiZWRpdEd1aWxkIiwiZWRpdEd1aWxkQXBwbGljYXRpb25Db21tYW5kIiwiZWRpdEd1aWxkU3RpY2tlciIsInN0aWNrZXJJZCIsImVkaXRHdWlsZFRlbXBsYXRlIiwiZWRpdE1lc3NhZ2UiLCJlZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwiZWRpdE9yaWdpbmFsV2ViaG9va01lc3NhZ2UiLCJ3ZWJob29rSWQiLCJlZGl0Um9sZSIsInJvbGVJZCIsImVkaXRSb2xlUG9zaXRpb25zIiwibWFwIiwiZWRpdFNjaGVkdWxlZEV2ZW50IiwiZXZlbnRJZCIsImVkaXRTdGFnZUluc3RhbmNlIiwidG9waWMiLCJlZGl0V2ViaG9vayIsImVkaXRXZWJob29rTWVzc2FnZSIsImVkaXRXZWJob29rV2l0aFRva2VuIiwiZWRpdFdlbGNvbWVTY3JlZW4iLCJ3ZWxjb21lU2NyZWVuIiwiZWRpdFdpZGdldFNldHRpbmdzIiwid2lkZ2V0U2V0dGluZ3MiLCJleGVjdXRlV2ViaG9vayIsInJlc3VsdCIsImZvbGxvd0Fubm91bmNlbWVudCIsInNvdXJjZUNoYW5uZWxJZCIsInRhcmdldENoYW5uZWxJZCIsImdldEFjdGl2ZVRocmVhZHMiLCJ0aHJlYWRzIiwidGhyZWFkIiwibWVtYmVycyIsIm1lbWJlciIsInRocmVhZE1lbWJlciIsImdldEFwcGxpY2F0aW9uSW5mbyIsImFwcGxpY2F0aW9uIiwiZWRpdEFwcGxpY2F0aW9uSW5mbyIsImJvZHkiLCJnZXRDdXJyZW50QXV0aGVudGljYXRpb25JbmZvIiwiZXhjaGFuZ2VUb2tlbiIsImNsaWVudElkIiwiY2xpZW50U2VjcmV0IiwicmV2b2tlVG9rZW4iLCJnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uIiwicmVzIiwic25ha2VkUmVzIiwiZ2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMiLCJnZXRBdWRpdExvZyIsImdldEF1dG9tb2RSdWxlIiwiZ2V0QXV0b21vZFJ1bGVzIiwiZ2V0QXZhaWxhYmxlVm9pY2VSZWdpb25zIiwidm9pY2VSZWdpb24iLCJnZXRCYW4iLCJ1c2VySWQiLCJnZXRCYW5zIiwiZ2V0Q2hhbm5lbCIsImdldENoYW5uZWxJbnZpdGVzIiwiZ2V0Q2hhbm5lbHMiLCJnZXRDaGFubmVsV2ViaG9va3MiLCJnZXREbUNoYW5uZWwiLCJnZXRHcm91cERtQ2hhbm5lbCIsImdldEVtb2ppIiwiZW1vamlJZCIsImdldEVtb2ppcyIsImdldEZvbGxvd3VwTWVzc2FnZSIsImdldEdhdGV3YXlCb3QiLCJnYXRld2F5Qm90IiwiZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kIiwiZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kcyIsImdldEd1aWxkIiwiZ2V0R3VpbGRzIiwiZ2V0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJnZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZHMiLCJnZXRHdWlsZFByZXZpZXciLCJnZXRHdWlsZFN0aWNrZXIiLCJnZXRHdWlsZFN0aWNrZXJzIiwiZ2V0R3VpbGRUZW1wbGF0ZSIsImdldEd1aWxkVGVtcGxhdGVzIiwiZ2V0R3VpbGRXZWJob29rcyIsImdldEludGVncmF0aW9ucyIsImludGVncmF0aW9uIiwidG9TdHJpbmciLCJnZXRJbnZpdGUiLCJpbnZpdGVDb2RlIiwiaW52aXRlIiwiZ2V0SW52aXRlcyIsImdldE1lc3NhZ2UiLCJnZXRNZXNzYWdlcyIsImdldFN0aWNrZXJQYWNrcyIsInN0aWNrZXJQYWNrIiwiZ2V0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwiZ2V0UGlubmVkTWVzc2FnZXMiLCJnZXRQcml2YXRlQXJjaGl2ZWRUaHJlYWRzIiwiZ2V0UHJpdmF0ZUpvaW5lZEFyY2hpdmVkVGhyZWFkcyIsImdldFBydW5lQ291bnQiLCJnZXRQdWJsaWNBcmNoaXZlZFRocmVhZHMiLCJnZXRSb2xlcyIsImdldFNjaGVkdWxlZEV2ZW50IiwiZ2V0U2NoZWR1bGVkRXZlbnRzIiwiZ2V0U2NoZWR1bGVkRXZlbnRVc2VycyIsInUiLCJzbm93Zmxha2UiLCJnZXRTZXNzaW9uSW5mbyIsImdldFN0YWdlSW5zdGFuY2UiLCJnZXRTdGlja2VyIiwiZ2V0VGhyZWFkTWVtYmVyIiwiZ2V0VGhyZWFkTWVtYmVycyIsImdldFJlYWN0aW9ucyIsInJlYWN0aW9uIiwiZ2V0VXNlciIsImdldEN1cnJlbnRVc2VyIiwiZ2V0VXNlckNvbm5lY3Rpb25zIiwiZ2V0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24iLCJhcHBsaWNhdGlvbklkIiwiZ2V0VmFuaXR5VXJsIiwiZ2V0Vm9pY2VSZWdpb25zIiwiZ2V0V2ViaG9vayIsImdldFdlYmhvb2tNZXNzYWdlIiwiZ2V0V2ViaG9va1dpdGhUb2tlbiIsImdldFdlbGNvbWVTY3JlZW4iLCJnZXRXaWRnZXQiLCJ3aWRnZXQiLCJnZXRXaWRnZXRTZXR0aW5ncyIsInB1Ymxpc2hNZXNzYWdlIiwic2VuZE1lc3NhZ2UiLCJzZW5kRm9sbG93dXBNZXNzYWdlIiwic3RhcnRUaHJlYWRXaXRoTWVzc2FnZSIsInN0YXJ0VGhyZWFkV2l0aG91dE1lc3NhZ2UiLCJzeW5jR3VpbGRUZW1wbGF0ZSIsInVwc2VydEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZHMiLCJjb21tYW5kcyIsInVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kcyIsImVkaXRCb3RNZW1iZXIiLCJlZGl0TWVtYmVyIiwiZ2V0TWVtYmVyIiwiZ2V0Q3VycmVudE1lbWJlciIsImdldE1lbWJlcnMiLCJwcnVuZU1lbWJlcnMiLCJzZWFyY2hNZW1iZXJzIiwicXVlcnkiLCJidWxrQmFuTWVtYmVycyIsImJhbm5lZFVzZXJzIiwieCIsImZhaWxlZFVzZXJzIiwiYWRkUmVhY3Rpb24iLCJhZGRSZWFjdGlvbnMiLCJyZWFjdGlvbnMiLCJvcmRlcmVkIiwiYWRkUm9sZSIsImFkZFRocmVhZE1lbWJlciIsImFkZERtUmVjaXBpZW50IiwiYWRkR3VpbGRNZW1iZXIiLCJkZWxldGVBdXRvbW9kUnVsZSIsImRlbGV0ZUNoYW5uZWwiLCJkZWxldGVDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlIiwib3ZlcndyaXRlSWQiLCJkZWxldGVFbW9qaSIsImRlbGV0ZUZvbGxvd3VwTWVzc2FnZSIsImRlbGV0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZCIsImRlbGV0ZUd1aWxkIiwiZGVsZXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJkZWxldGVHdWlsZFN0aWNrZXIiLCJkZWxldGVHdWlsZFRlbXBsYXRlIiwiZGVsZXRlSW50ZWdyYXRpb24iLCJpbnRlZ3JhdGlvbklkIiwiZGVsZXRlSW52aXRlIiwiZGVsZXRlTWVzc2FnZSIsImRlbGV0ZU1lc3NhZ2VzIiwibWVzc2FnZUlkcyIsImRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsImRlbGV0ZU93blJlYWN0aW9uIiwiZGVsZXRlUmVhY3Rpb25zQWxsIiwiZGVsZXRlUmVhY3Rpb25zRW1vamkiLCJkZWxldGVSb2xlIiwiZGVsZXRlU2NoZWR1bGVkRXZlbnQiLCJkZWxldGVTdGFnZUluc3RhbmNlIiwiZGVsZXRlVXNlclJlYWN0aW9uIiwiZGVsZXRlV2ViaG9vayIsImRlbGV0ZVdlYmhvb2tNZXNzYWdlIiwiZGVsZXRlV2ViaG9va1dpdGhUb2tlbiIsImVkaXRDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlcyIsImVkaXRDaGFubmVsUG9zaXRpb25zIiwiY2hhbm5lbFBvc2l0aW9ucyIsImVkaXRHdWlsZE1mYUxldmVsIiwibWZhTGV2ZWwiLCJlZGl0T3duVm9pY2VTdGF0ZSIsImVkaXRVc2VyVm9pY2VTdGF0ZSIsImVkaXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbiIsImpvaW5UaHJlYWQiLCJsZWF2ZUd1aWxkIiwibGVhdmVUaHJlYWQiLCJyZW1vdmVSb2xlIiwicmVtb3ZlVGhyZWFkTWVtYmVyIiwicmVtb3ZlRG1SZWNpcGllbnQiLCJzZW5kSW50ZXJhY3Rpb25SZXNwb25zZSIsImludGVyYWN0aW9uSWQiLCJ0cmlnZ2VyVHlwaW5nSW5kaWNhdG9yIiwiYmFuTWVtYmVyIiwia2lja01lbWJlciIsInBpbk1lc3NhZ2UiLCJ1bmJhbk1lbWJlciIsInVucGluTWVzc2FnZSIsImdldEd1aWxkT25ib2FyZGluZyIsImd1aWxkT25ib2FyZGluZyIsImVkaXRHdWlsZE9uYm9hcmRpbmciLCJsaXN0RW50aXRsZW1lbnRzIiwiZW50aXRsZW1lbnQiLCJjcmVhdGVUZXN0RW50aXRsZW1lbnQiLCJkZWxldGVUZXN0RW50aXRsZW1lbnQiLCJlbnRpdGxlbWVudElkIiwibGlzdFNrdXMiLCJza3UiXSwibWFwcGluZ3MiOiI7Ozs7K0JBMEhnQkE7OztlQUFBQTs7O3VCQTVCVTtBQTRCbkIsU0FBU0EsaUJBQWlCQyxHQUFRO0lBQ3ZDLE9BQU87UUFDTEMsbUJBQW1CLE9BQU9DLFNBQVNDLFNBQVNDO1lBQzFDLE9BQU9KLElBQUlLLFlBQVksQ0FBQ0MsV0FBVyxDQUFDTixLQUFLTyxJQUFBQSxnQkFBUyxFQUFDLE1BQU1QLElBQUlRLElBQUksQ0FBQ1AsaUJBQWlCLENBQUNDLFNBQVNDLFNBQVNDO1FBQ3hHO1FBQ0FLLGVBQWUsT0FBT1AsU0FBU0MsU0FBU0M7WUFDdEMsT0FBT0osSUFBSUssWUFBWSxDQUFDSyxPQUFPLENBQUNWLEtBQUs7Z0JBQUVVLFNBQVNI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
650
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3JlYXRlV2ViaG9vayB9IGZyb20gJ0BkaXNjb3JkZW5vL3Jlc3QnXG5pbXBvcnQgdHlwZSB7XG4gIEFkZERtUmVjaXBpZW50T3B0aW9ucyxcbiAgQWRkR3VpbGRNZW1iZXJPcHRpb25zLFxuICBBdExlYXN0T25lLFxuICBCZWdpbkd1aWxkUHJ1bmUsXG4gIEJpZ1N0cmluZyxcbiAgQ2FtZWxpemVkRGlzY29yZEFjY2Vzc1Rva2VuUmVzcG9uc2UsXG4gIENhbWVsaXplZERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgQ2FtZWxpemVkRGlzY29yZEFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24sXG4gIENhbWVsaXplZERpc2NvcmRBcmNoaXZlZFRocmVhZHMsXG4gIENhbWVsaXplZERpc2NvcmRBdWRpdExvZyxcbiAgQ2FtZWxpemVkRGlzY29yZEJhbixcbiAgQ2FtZWxpemVkRGlzY29yZENvbm5lY3Rpb24sXG4gIENhbWVsaXplZERpc2NvcmRDdXJyZW50QXV0aG9yaXphdGlvbixcbiAgQ2FtZWxpemVkRGlzY29yZEZvbGxvd2VkQ2hhbm5lbCxcbiAgQ2FtZWxpemVkRGlzY29yZEdldEdhdGV3YXlCb3QsXG4gIENhbWVsaXplZERpc2NvcmRHdWlsZFByZXZpZXcsXG4gIENhbWVsaXplZERpc2NvcmRHdWlsZFdpZGdldFNldHRpbmdzLFxuICBDYW1lbGl6ZWREaXNjb3JkSW52aXRlLFxuICBDYW1lbGl6ZWREaXNjb3JkSW52aXRlTWV0YWRhdGEsXG4gIENhbWVsaXplZERpc2NvcmRNb2RpZnlHdWlsZFdlbGNvbWVTY3JlZW4sXG4gIENhbWVsaXplZERpc2NvcmRQYXJ0aWFsR3VpbGQsXG4gIENhbWVsaXplZERpc2NvcmRQcnVuZWRDb3VudCxcbiAgQ2FtZWxpemVkRGlzY29yZFRva2VuRXhjaGFuZ2UsXG4gIENhbWVsaXplZERpc2NvcmRUb2tlblJldm9jYXRpb24sXG4gIENhbWVsaXplZERpc2NvcmRWYW5pdHlVcmwsXG4gIENhbWVsaXplZERpc2NvcmRWb2ljZVJlZ2lvbixcbiAgQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kLFxuICBDcmVhdGVBdXRvTW9kZXJhdGlvblJ1bGVPcHRpb25zLFxuICBDcmVhdGVDaGFubmVsSW52aXRlLFxuICBDcmVhdGVFbnRpdGxlbWVudCxcbiAgQ3JlYXRlRm9ydW1Qb3N0V2l0aE1lc3NhZ2UsXG4gIENyZWF0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbnMsXG4gIENyZWF0ZUd1aWxkLFxuICBDcmVhdGVHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbnMsXG4gIENyZWF0ZUd1aWxkQmFuLFxuICBDcmVhdGVHdWlsZEJ1bGtCYW4sXG4gIENyZWF0ZUd1aWxkQ2hhbm5lbCxcbiAgQ3JlYXRlR3VpbGRFbW9qaSxcbiAgQ3JlYXRlR3VpbGRGcm9tVGVtcGxhdGUsXG4gIENyZWF0ZUd1aWxkUm9sZSxcbiAgQ3JlYXRlR3VpbGRTdGlja2VyT3B0aW9ucyxcbiAgQ3JlYXRlTWVzc2FnZU9wdGlvbnMsXG4gIENyZWF0ZVNjaGVkdWxlZEV2ZW50LFxuICBDcmVhdGVTdGFnZUluc3RhbmNlLFxuICBDcmVhdGVUZW1wbGF0ZSxcbiAgRGVsZXRlV2ViaG9va01lc3NhZ2VPcHRpb25zLFxuICBEaXNjb3JkRW50aXRsZW1lbnQsXG4gIERpc2NvcmRNZXNzYWdlLFxuICBFZGl0QXBwbGljYXRpb24sXG4gIEVkaXRBdXRvTW9kZXJhdGlvblJ1bGVPcHRpb25zLFxuICBFZGl0Qm90TWVtYmVyT3B0aW9ucyxcbiAgRWRpdENoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGVzT3B0aW9ucyxcbiAgRWRpdEd1aWxkT25ib2FyZGluZyxcbiAgRWRpdEd1aWxkUm9sZSxcbiAgRWRpdEd1aWxkU3RpY2tlck9wdGlvbnMsXG4gIEVkaXRNZXNzYWdlLFxuICBFZGl0T3duVm9pY2VTdGF0ZSxcbiAgRWRpdFNjaGVkdWxlZEV2ZW50LFxuICBFZGl0VXNlclZvaWNlU3RhdGUsXG4gIEV4ZWN1dGVXZWJob29rLFxuICBHZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uT3B0aW9ucyxcbiAgR2V0QmFucyxcbiAgR2V0RW50aXRsZW1lbnRzLFxuICBHZXRHcm91cERtT3B0aW9ucyxcbiAgR2V0R3VpbGRBdWRpdExvZyxcbiAgR2V0R3VpbGRQcnVuZUNvdW50UXVlcnksXG4gIEdldEludml0ZSxcbiAgR2V0TWVzc2FnZXNPcHRpb25zLFxuICBHZXRSZWFjdGlvbnMsXG4gIEdldFNjaGVkdWxlZEV2ZW50VXNlcnMsXG4gIEdldFNjaGVkdWxlZEV2ZW50cyxcbiAgR2V0VXNlckd1aWxkcyxcbiAgR2V0V2ViaG9va01lc3NhZ2VPcHRpb25zLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSxcbiAgSW50ZXJhY3Rpb25SZXNwb25zZSxcbiAgTGlzdEFyY2hpdmVkVGhyZWFkcyxcbiAgTGlzdEd1aWxkTWVtYmVycyxcbiAgTWZhTGV2ZWxzLFxuICBNb2RpZnlDaGFubmVsLFxuICBNb2RpZnlHdWlsZCxcbiAgTW9kaWZ5R3VpbGRDaGFubmVsUG9zaXRpb25zLFxuICBNb2RpZnlHdWlsZEVtb2ppLFxuICBNb2RpZnlHdWlsZE1lbWJlcixcbiAgTW9kaWZ5R3VpbGRUZW1wbGF0ZSxcbiAgTW9kaWZ5Um9sZVBvc2l0aW9ucyxcbiAgTW9kaWZ5V2ViaG9vayxcbiAgU2VhcmNoTWVtYmVycyxcbiAgU3RhcnRUaHJlYWRXaXRoTWVzc2FnZSxcbiAgU3RhcnRUaHJlYWRXaXRob3V0TWVzc2FnZSxcbiAgVXBzZXJ0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucyxcbiAgVXBzZXJ0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IHNuYWtlbGl6ZSB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuL2JvdC5qcydcbmltcG9ydCB0eXBlIHtcbiAgQXBwbGljYXRpb24sXG4gIEFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgQXV0b01vZGVyYXRpb25SdWxlLFxuICBDaGFubmVsLFxuICBFbW9qaSxcbiAgRW50aXRsZW1lbnQsXG4gIEd1aWxkLFxuICBHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICBHdWlsZE9uYm9hcmRpbmcsXG4gIEd1aWxkV2lkZ2V0LFxuICBHdWlsZFdpZGdldFNldHRpbmdzLFxuICBJbnRlZ3JhdGlvbixcbiAgSW52aXRlLFxuICBNZW1iZXIsXG4gIE1lc3NhZ2UsXG4gIFJvbGUsXG4gIFNjaGVkdWxlZEV2ZW50LFxuICBTa3UsXG4gIFN0YWdlSW5zdGFuY2UsXG4gIFN0aWNrZXIsXG4gIFN0aWNrZXJQYWNrLFxuICBUZW1wbGF0ZSxcbiAgVGhyZWFkTWVtYmVyLFxuICBVc2VyLFxuICBXZWJob29rLFxuICBXZWxjb21lU2NyZWVuLFxufSBmcm9tICcuL3RyYW5zZm9ybWVycy9pbmRleC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJvdEhlbHBlcnMoYm90OiBCb3QpOiBCb3RIZWxwZXJzIHtcbiAgcmV0dXJuIHtcbiAgICBjcmVhdGVBdXRvbW9kUnVsZTogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXV0b21vZFJ1bGUoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlQXV0b21vZFJ1bGUoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBjcmVhdGVDaGFubmVsOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlQ2hhbm5lbChndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSwgZ3VpbGRJZCB9KVxuICAgIH0sXG4gICAgY3JlYXRlRW1vamk6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUVtb2ppKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgY3JlYXRlRm9ydW1UaHJlYWQ6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUZvcnVtVGhyZWFkKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSkgfSlcbiAgICB9LFxuICAgIGNyZWF0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgY3JlYXRlR3VpbGQ6IGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHsgZ3VpbGQ6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVHdWlsZChvcHRpb25zKSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGNyZWF0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kOiBhc3luYyAoY29tbWFuZCwgZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kKGNvbW1hbmQsIGd1aWxkSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGNyZWF0ZUd1aWxkRnJvbVRlbXBsYXRlOiBhc3luYyAodGVtcGxhdGVDb2RlLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHsgZ3VpbGQ6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVHdWlsZEZyb21UZW1wbGF0ZSh0ZW1wbGF0ZUNvZGUsIG9wdGlvbnMpKSwgc2hhcmRJZDogMCB9KVxuICAgIH0sXG4gICAgY3JlYXRlR3VpbGRTdGlja2VyOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUd1aWxkU3RpY2tlcihndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGNyZWF0ZUd1aWxkVGVtcGxhdGU6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy50ZW1wbGF0ZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVHdWlsZFRlbXBsYXRlKGd1aWxkSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGNyZWF0ZUludml0ZTogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuY3JlYXRlSW52aXRlKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKVxuICAgIH0sXG4gICAgY3JlYXRlUm9sZTogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHsgcm9sZTogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZVJvbGUoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSksIGd1aWxkSWQgfSlcbiAgICB9LFxuICAgIGNyZWF0ZVNjaGVkdWxlZEV2ZW50OiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zY2hlZHVsZWRFdmVudChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVTY2hlZHVsZWRFdmVudChndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGNyZWF0ZVN0YWdlSW5zdGFuY2U6IGFzeW5jIChvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnN0YWdlSW5zdGFuY2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlU3RhZ2VJbnN0YW5jZShvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGNyZWF0ZVdlYmhvb2s6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2ViaG9vayhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVXZWJob29rKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM6IGFzeW5jIChndWlsZElkLCBjb21tYW5kSWQsIGJlYXJlclRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uKFxuICAgICAgICBib3QsXG4gICAgICAgIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMoZ3VpbGRJZCwgY29tbWFuZElkLCBiZWFyZXJUb2tlbiwgb3B0aW9ucykpLFxuICAgICAgKVxuICAgIH0sXG4gICAgZWRpdEF1dG9tb2RSdWxlOiBhc3luYyAoZ3VpbGRJZCwgcnVsZUlkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmF1dG9tb2RSdWxlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRBdXRvbW9kUnVsZShndWlsZElkLCBydWxlSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdEJvdFByb2ZpbGU6IGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRCb3RQcm9maWxlKG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGVkaXRDaGFubmVsOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0Q2hhbm5lbChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikpIH0pXG4gICAgfSxcbiAgICBlZGl0RW1vamk6IGFzeW5jIChndWlsZElkLCBpZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0RW1vamkoZ3VpbGRJZCwgaWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdEZvbGxvd3VwTWVzc2FnZTogYXN5bmMgKHRva2VuLCBtZXNzYWdlSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEZvbGxvd3VwTWVzc2FnZSh0b2tlbiwgbWVzc2FnZUlkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBlZGl0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiBhc3luYyAoY29tbWFuZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGVkaXRHdWlsZDogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZ3VpbGQoYm90LCB7IGd1aWxkOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEd1aWxkKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBlZGl0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kSWQsIGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZElkLCBndWlsZElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBlZGl0R3VpbGRTdGlja2VyOiBhc3luYyAoZ3VpbGRJZCwgc3RpY2tlcklkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEd1aWxkU3RpY2tlcihndWlsZElkLCBzdGlja2VySWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdEd1aWxkVGVtcGxhdGU6IGFzeW5jIChndWlsZElkLCB0ZW1wbGF0ZUNvZGUsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnRlbXBsYXRlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRHdWlsZFRlbXBsYXRlKGd1aWxkSWQsIHRlbXBsYXRlQ29kZSwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZWRpdE1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0TWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgb3B0aW9ucykpIGFzIERpc2NvcmRNZXNzYWdlKVxuICAgIH0sXG4gICAgZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZTogYXN5bmMgKHRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodG9rZW4sIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGVkaXRPcmlnaW5hbFdlYmhvb2tNZXNzYWdlOiBhc3luYyAod2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0T3JpZ2luYWxXZWJob29rTWVzc2FnZSh3ZWJob29rSWQsIHRva2VuLCBvcHRpb25zKSkgYXMgRGlzY29yZE1lc3NhZ2UpXG4gICAgfSxcbiAgICBlZGl0Um9sZTogYXN5bmMgKGd1aWxkSWQsIHJvbGVJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFJvbGUoZ3VpbGRJZCwgcm9sZUlkLCBvcHRpb25zLCByZWFzb24pKSwgZ3VpbGRJZCB9KVxuICAgIH0sXG4gICAgZWRpdFJvbGVQb3NpdGlvbnM6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFJvbGVQb3NpdGlvbnMoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSkubWFwKChyb2xlKSA9PiBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGUsIGd1aWxkSWQgfSkpXG4gICAgfSxcbiAgICBlZGl0U2NoZWR1bGVkRXZlbnQ6IGFzeW5jIChndWlsZElkLCBldmVudElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnNjaGVkdWxlZEV2ZW50KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRTY2hlZHVsZWRFdmVudChndWlsZElkLCBldmVudElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGVkaXRTdGFnZUluc3RhbmNlOiBhc3luYyAoY2hhbm5lbElkLCB0b3BpYywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zdGFnZUluc3RhbmNlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRTdGFnZUluc3RhbmNlKGNoYW5uZWxJZCwgdG9waWMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdFdlYmhvb2s6IGFzeW5jICh3ZWJob29rSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2ViaG9vayhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0V2ViaG9vayh3ZWJob29rSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdFdlYmhvb2tNZXNzYWdlOiBhc3luYyAod2ViaG9va0lkLCB0b2tlbiwgbWVzc2FnZUlkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRXZWJob29rTWVzc2FnZSh3ZWJob29rSWQsIHRva2VuLCBtZXNzYWdlSWQsIG9wdGlvbnMpKSBhcyBEaXNjb3JkTWVzc2FnZSlcbiAgICB9LFxuICAgIGVkaXRXZWJob29rV2l0aFRva2VuOiBhc3luYyAod2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2ViaG9vayhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0V2ViaG9va1dpdGhUb2tlbih3ZWJob29rSWQsIHRva2VuLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBlZGl0V2VsY29tZVNjcmVlbjogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2VsY29tZVNjcmVlbihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0V2VsY29tZVNjcmVlbihndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGVkaXRXaWRnZXRTZXR0aW5nczogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2lkZ2V0U2V0dGluZ3MoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFdpZGdldFNldHRpbmdzKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZXhlY3V0ZVdlYmhvb2s6IGFzeW5jICh3ZWJob29rSWQsIHRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBib3QucmVzdC5leGVjdXRlV2ViaG9vayh3ZWJob29rSWQsIHRva2VuLCBvcHRpb25zKVxuICAgICAgaWYgKCFyZXN1bHQpIHJldHVyblxuXG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKHJlc3VsdCkgYXMgRGlzY29yZE1lc3NhZ2UpXG4gICAgfSxcbiAgICBmb2xsb3dBbm5vdW5jZW1lbnQ6IGFzeW5jIChzb3VyY2VDaGFubmVsSWQsIHRhcmdldENoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmZvbGxvd0Fubm91bmNlbWVudChzb3VyY2VDaGFubmVsSWQsIHRhcmdldENoYW5uZWxJZClcbiAgICB9LFxuICAgIGdldEFjdGl2ZVRocmVhZHM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBib3QucmVzdC5nZXRBY3RpdmVUaHJlYWRzKGd1aWxkSWQpXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0aHJlYWRzOiByZXN1bHQudGhyZWFkcy5tYXAoKHRocmVhZCkgPT4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBndWlsZElkLCBjaGFubmVsOiBzbmFrZWxpemUodGhyZWFkKSB9KSksXG4gICAgICAgIG1lbWJlcnM6IHJlc3VsdC5tZW1iZXJzLm1hcCgobWVtYmVyKSA9PiBib3QudHJhbnNmb3JtZXJzLnRocmVhZE1lbWJlcihib3QsIHNuYWtlbGl6ZShtZW1iZXIpKSksXG4gICAgICB9XG4gICAgfSxcbiAgICBnZXRBcHBsaWNhdGlvbkluZm86IGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uKGJvdCwgeyBhcHBsaWNhdGlvbjogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEFwcGxpY2F0aW9uSW5mbygpKSwgc2hhcmRJZDogMCB9KVxuICAgIH0sXG4gICAgZWRpdEFwcGxpY2F0aW9uSW5mbzogYXN5bmMgKGJvZHkpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uKGJvdCwgeyBhcHBsaWNhdGlvbjogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRBcHBsaWNhdGlvbkluZm8oYm9keSkpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBnZXRDdXJyZW50QXV0aGVudGljYXRpb25JbmZvOiBhc3luYyAoYmVhcmVyVG9rZW4pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRDdXJyZW50QXV0aGVudGljYXRpb25JbmZvKGJlYXJlclRva2VuKVxuICAgIH0sXG4gICAgZXhjaGFuZ2VUb2tlbjogYXN5bmMgKGNsaWVudElkLCBjbGllbnRTZWNyZXQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5leGNoYW5nZVRva2VuKGNsaWVudElkLCBjbGllbnRTZWNyZXQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICByZXZva2VUb2tlbjogYXN5bmMgKGNsaWVudElkLCBjbGllbnRTZWNyZXQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5yZXZva2VUb2tlbihjbGllbnRJZCwgY2xpZW50U2VjcmV0LCBvcHRpb25zKVxuICAgIH0sXG4gICAgZ2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbjogYXN5bmMgKGd1aWxkSWQsIGNvbW1hbmRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgYm90LnJlc3QuZ2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbihndWlsZElkLCBjb21tYW5kSWQsIG9wdGlvbnMpXG4gICAgICBjb25zdCBzbmFrZWRSZXMgPSBzbmFrZWxpemUocmVzKVxuXG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uKGJvdCwgc25ha2VkUmVzKVxuICAgIH0sXG4gICAgZ2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zKGd1aWxkSWQsIG9wdGlvbnMpKS5tYXAoKHJlcykgPT5cbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uKGJvdCwgc25ha2VsaXplKHJlcykpLFxuICAgICAgKVxuICAgIH0sXG4gICAgZ2V0QXVkaXRMb2c6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0QXVkaXRMb2coZ3VpbGRJZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGdldEF1dG9tb2RSdWxlOiBhc3luYyAoZ3VpbGRJZCwgcnVsZUlkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hdXRvbW9kUnVsZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRBdXRvbW9kUnVsZShndWlsZElkLCBydWxlSWQpKSlcbiAgICB9LFxuICAgIGdldEF1dG9tb2RSdWxlczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0QXV0b21vZFJ1bGVzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5hdXRvbW9kUnVsZShib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldEF2YWlsYWJsZVZvaWNlUmVnaW9uczogYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRBdmFpbGFibGVWb2ljZVJlZ2lvbnMoKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMudm9pY2VSZWdpb24oYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRCYW46IGFzeW5jIChndWlsZElkLCB1c2VySWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRCYW4oZ3VpbGRJZCwgdXNlcklkKVxuICAgIH0sXG4gICAgZ2V0QmFuczogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRCYW5zKGd1aWxkSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBnZXRDaGFubmVsOiBhc3luYyAoY2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0Q2hhbm5lbChjaGFubmVsSWQpKSB9KVxuICAgIH0sXG4gICAgZ2V0Q2hhbm5lbEludml0ZXM6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRDaGFubmVsSW52aXRlcyhjaGFubmVsSWQpXG4gICAgICAvLyByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldENoYW5uZWxJbnZpdGVzKGNoYW5uZWxJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLmludml0ZShib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldENoYW5uZWxzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRDaGFubmVscyhndWlsZElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKHJlcyksIGd1aWxkSWQgfSkpXG4gICAgfSxcbiAgICBnZXRDaGFubmVsV2ViaG9va3M6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0Q2hhbm5lbFdlYmhvb2tzKGNoYW5uZWxJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLndlYmhvb2soYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXREbUNoYW5uZWw6IGFzeW5jICh1c2VySWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXREbUNoYW5uZWwodXNlcklkKSkgfSlcbiAgICB9LFxuICAgIGdldEdyb3VwRG1DaGFubmVsOiBhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEdyb3VwRG1DaGFubmVsKG9wdGlvbnMpKSB9KVxuICAgIH0sXG4gICAgZ2V0RW1vamk6IGFzeW5jIChndWlsZElkLCBlbW9qaUlkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRFbW9qaShndWlsZElkLCBlbW9qaUlkKSkpXG4gICAgfSxcbiAgICBnZXRFbW9qaXM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEVtb2ppcyhndWlsZElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRGb2xsb3d1cE1lc3NhZ2U6IGFzeW5jICh0b2tlbiwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEZvbGxvd3VwTWVzc2FnZSh0b2tlbiwgbWVzc2FnZUlkKSkpXG4gICAgfSxcbiAgICBnZXRHYXRld2F5Qm90OiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5nYXRld2F5Qm90KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEdhdGV3YXlCb3QoKSkpXG4gICAgfSxcbiAgICBnZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZElkKSkpXG4gICAgfSxcbiAgICBnZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZHMoKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0R3VpbGQ6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHsgZ3VpbGQ6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHdWlsZChndWlsZElkLCBvcHRpb25zKSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGdldEd1aWxkczogYXN5bmMgKGJlYXJlclRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRzKGJlYXJlclRva2VuLCBvcHRpb25zKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kSWQsIGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQsIGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZFByZXZpZXc6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRQcmV2aWV3KGd1aWxkSWQpXG4gICAgICAvLyByZXR1cm4gYm90LnRyYW5zZm9ybWVycy54eHgoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRQcmV2aWV3KGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkU3RpY2tlcjogYXN5bmMgKGd1aWxkSWQsIHN0aWNrZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHdWlsZFN0aWNrZXIoZ3VpbGRJZCwgc3RpY2tlcklkKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZFN0aWNrZXJzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRHdWlsZFN0aWNrZXJzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRUZW1wbGF0ZTogYXN5bmMgKHRlbXBsYXRlQ29kZSkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudGVtcGxhdGUoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRUZW1wbGF0ZSh0ZW1wbGF0ZUNvZGUpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkVGVtcGxhdGVzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRHdWlsZFRlbXBsYXRlcyhndWlsZElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMudGVtcGxhdGUoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZFdlYmhvb2tzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRHdWlsZFdlYmhvb2tzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy53ZWJob29rKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0SW50ZWdyYXRpb25zOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRJbnRlZ3JhdGlvbnMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PlxuICAgICAgICBib3QudHJhbnNmb3JtZXJzLmludGVncmF0aW9uKGJvdCwgc25ha2VsaXplKHsgLi4ucmVzLCBndWlsZElkOiBndWlsZElkLnRvU3RyaW5nKCkgfSkpLFxuICAgICAgKVxuICAgIH0sXG4gICAgZ2V0SW52aXRlOiBhc3luYyAoaW52aXRlQ29kZSwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuaW52aXRlKGJvdCwgeyBpbnZpdGU6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRJbnZpdGUoaW52aXRlQ29kZSwgb3B0aW9ucykpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBnZXRJbnZpdGVzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRJbnZpdGVzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5pbnZpdGUoYm90LCB7IGludml0ZTogc25ha2VsaXplKHJlcyksIHNoYXJkSWQ6IDAgfSkpXG4gICAgfSxcbiAgICBnZXRNZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0TWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCkpKVxuICAgIH0sXG4gICAgZ2V0TWVzc2FnZXM6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0TWVzc2FnZXMoY2hhbm5lbElkLCBvcHRpb25zKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldFN0aWNrZXJQYWNrczogYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRTdGlja2VyUGFja3MoKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlclBhY2soYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2U6IGFzeW5jICh0b2tlbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodG9rZW4pKSlcbiAgICB9LFxuICAgIGdldFBpbm5lZE1lc3NhZ2VzOiBhc3luYyAoY2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldFBpbm5lZE1lc3NhZ2VzKGNoYW5uZWxJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRQcml2YXRlQXJjaGl2ZWRUaHJlYWRzOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0UHJpdmF0ZUFyY2hpdmVkVGhyZWFkcyhjaGFubmVsSWQsIG9wdGlvbnMpXG4gICAgICAvLyByZXR1cm4gYm90LnRyYW5zZm9ybWVycy54eHgoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0UHJpdmF0ZUFyY2hpdmVkVGhyZWFkcyhjaGFubmVsSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGdldFByaXZhdGVKb2luZWRBcmNoaXZlZFRocmVhZHM6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRQcml2YXRlSm9pbmVkQXJjaGl2ZWRUaHJlYWRzKGNoYW5uZWxJZCwgb3B0aW9ucylcbiAgICAgIC8vIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnh4eChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRQcml2YXRlSm9pbmVkQXJjaGl2ZWRUaHJlYWRzKGNoYW5uZWxJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZ2V0UHJ1bmVDb3VudDogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRQcnVuZUNvdW50KGd1aWxkSWQsIG9wdGlvbnMpXG4gICAgICAvLyByZXR1cm4gYm90LnRyYW5zZm9ybWVycy54eHgoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0UHJ1bmVDb3VudChndWlsZElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBnZXRQdWJsaWNBcmNoaXZlZFRocmVhZHM6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRQdWJsaWNBcmNoaXZlZFRocmVhZHMoY2hhbm5lbElkLCBvcHRpb25zKVxuICAgICAgLy8gcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMueHh4KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFB1YmxpY0FyY2hpdmVkVGhyZWFkcyhjaGFubmVsSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGdldFJvbGVzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRSb2xlcyhndWlsZElkKSkubWFwKChyb2xlKSA9PiBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGUsIGd1aWxkSWQgfSkpXG4gICAgfSxcbiAgICBnZXRTY2hlZHVsZWRFdmVudDogYXN5bmMgKGd1aWxkSWQsIGV2ZW50SWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnNjaGVkdWxlZEV2ZW50KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFNjaGVkdWxlZEV2ZW50KGd1aWxkSWQsIGV2ZW50SWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGdldFNjaGVkdWxlZEV2ZW50czogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0U2NoZWR1bGVkRXZlbnRzKGd1aWxkSWQsIG9wdGlvbnMpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5zY2hlZHVsZWRFdmVudChib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldFNjaGVkdWxlZEV2ZW50VXNlcnM6IGFzeW5jIChndWlsZElkLCBldmVudElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldFNjaGVkdWxlZEV2ZW50VXNlcnMoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucykpLm1hcCgodSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHVzZXI6IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHNuYWtlbGl6ZSh1LnVzZXIpKSxcbiAgICAgICAgICBtZW1iZXI6IHUubWVtYmVyICYmIGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgc25ha2VsaXplKHUubWVtYmVyKSwgZ3VpbGRJZCwgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UodS51c2VyLmlkKSksXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSxcbiAgICBnZXRTZXNzaW9uSW5mbzogYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZ2F0ZXdheUJvdChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRTZXNzaW9uSW5mbygpKSlcbiAgICB9LFxuICAgIGdldFN0YWdlSW5zdGFuY2U6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnN0YWdlSW5zdGFuY2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0U3RhZ2VJbnN0YW5jZShjaGFubmVsSWQpKSlcbiAgICB9LFxuICAgIGdldFN0aWNrZXI6IGFzeW5jIChzdGlja2VySWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0U3RpY2tlcihzdGlja2VySWQpKSlcbiAgICB9LFxuICAgIGdldFRocmVhZE1lbWJlcjogYXN5bmMgKGNoYW5uZWxJZCwgdXNlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy50aHJlYWRNZW1iZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0VGhyZWFkTWVtYmVyKGNoYW5uZWxJZCwgdXNlcklkKSkpXG4gICAgfSxcbiAgICBnZXRUaHJlYWRNZW1iZXJzOiBhc3luYyAoY2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldFRocmVhZE1lbWJlcnMoY2hhbm5lbElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMudGhyZWFkTWVtYmVyKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0UmVhY3Rpb25zOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9uLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldFJlYWN0aW9ucyhjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24sIG9wdGlvbnMpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0VXNlcjogYXN5bmMgKGlkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFVzZXIoaWQpKSlcbiAgICB9LFxuICAgIGdldEN1cnJlbnRVc2VyOiBhc3luYyAoYmVhcmVyVG9rZW4pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0Q3VycmVudFVzZXIoYmVhcmVyVG9rZW4pKSlcbiAgICB9LFxuICAgIGdldFVzZXJDb25uZWN0aW9uczogYXN5bmMgKGJlYXJlclRva2VuKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0VXNlckNvbm5lY3Rpb25zKGJlYXJlclRva2VuKVxuICAgIH0sXG4gICAgZ2V0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb246IGFzeW5jIChiZWFyZXJUb2tlbiwgYXBwbGljYXRpb25JZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldFVzZXJBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uKGJlYXJlclRva2VuLCBhcHBsaWNhdGlvbklkKVxuICAgIH0sXG4gICAgZ2V0VmFuaXR5VXJsOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldFZhbml0eVVybChndWlsZElkKVxuICAgIH0sXG4gICAgZ2V0Vm9pY2VSZWdpb25zOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRWb2ljZVJlZ2lvbnMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnZvaWNlUmVnaW9uKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0V2ViaG9vazogYXN5bmMgKHdlYmhvb2tJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2ViaG9vayhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRXZWJob29rKHdlYmhvb2tJZCkpKVxuICAgIH0sXG4gICAgZ2V0V2ViaG9va01lc3NhZ2U6IGFzeW5jICh3ZWJob29rSWQsIHRva2VuLCBtZXNzYWdlSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0V2ViaG9va01lc3NhZ2Uod2ViaG9va0lkLCB0b2tlbiwgbWVzc2FnZUlkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBnZXRXZWJob29rV2l0aFRva2VuOiBhc3luYyAod2ViaG9va0lkLCB0b2tlbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2ViaG9vayhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRXZWJob29rV2l0aFRva2VuKHdlYmhvb2tJZCwgdG9rZW4pKSlcbiAgICB9LFxuICAgIGdldFdlbGNvbWVTY3JlZW46IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53ZWxjb21lU2NyZWVuKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFdlbGNvbWVTY3JlZW4oZ3VpbGRJZCkpKVxuICAgIH0sXG4gICAgZ2V0V2lkZ2V0OiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2lkZ2V0KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFdpZGdldChndWlsZElkKSkpXG4gICAgfSxcbiAgICBnZXRXaWRnZXRTZXR0aW5nczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndpZGdldFNldHRpbmdzKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFdpZGdldFNldHRpbmdzKGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIHB1Ymxpc2hNZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QucHVibGlzaE1lc3NhZ2UoY2hhbm5lbElkLCBtZXNzYWdlSWQpKSlcbiAgICB9LFxuICAgIHNlbmRNZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LnNlbmRNZXNzYWdlKGNoYW5uZWxJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgc2VuZEZvbGxvd3VwTWVzc2FnZTogYXN5bmMgKHRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LnNlbmRGb2xsb3d1cE1lc3NhZ2UodG9rZW4sIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIHN0YXJ0VGhyZWFkV2l0aE1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwge1xuICAgICAgICBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3Quc3RhcnRUaHJlYWRXaXRoTWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgb3B0aW9ucywgcmVhc29uKSksXG4gICAgICB9KVxuICAgIH0sXG4gICAgc3RhcnRUaHJlYWRXaXRob3V0TWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3Quc3RhcnRUaHJlYWRXaXRob3V0TWVzc2FnZShjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikpIH0pXG4gICAgfSxcbiAgICBzeW5jR3VpbGRUZW1wbGF0ZTogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnRlbXBsYXRlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LnN5bmNHdWlsZFRlbXBsYXRlKGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIHVwc2VydEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZHM6IGFzeW5jIChjb21tYW5kcywgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC51cHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzKGNvbW1hbmRzLCBvcHRpb25zKSkubWFwKChyZXMpID0+XG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKHJlcykpLFxuICAgICAgKVxuICAgIH0sXG4gICAgdXBzZXJ0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRzOiBhc3luYyAoZ3VpbGRJZCwgY29tbWFuZHMsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QudXBzZXJ0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRzKGd1aWxkSWQsIGNvbW1hbmRzLCBvcHRpb25zKSkubWFwKChyZXMpID0+XG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKHJlcykpLFxuICAgICAgKVxuICAgIH0sXG4gICAgZWRpdEJvdE1lbWJlcjogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRCb3RNZW1iZXIoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSksIGd1aWxkSWQsIGJvdC5pZClcbiAgICB9LFxuICAgIGVkaXRNZW1iZXI6IGFzeW5jIChndWlsZElkLCB1c2VySWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRNZW1iZXIoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zLCByZWFzb24pKSwgZ3VpbGRJZCwgdXNlcklkKVxuICAgIH0sXG4gICAgZ2V0TWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0TWVtYmVyKGd1aWxkSWQsIHVzZXJJZCkpLCBndWlsZElkLCB1c2VySWQpXG4gICAgfSxcbiAgICBnZXRDdXJyZW50TWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgYmVhcmVyVG9rZW4pID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGJvdC5yZXN0LmdldEN1cnJlbnRNZW1iZXIoZ3VpbGRJZCwgYmVhcmVyVG9rZW4pXG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBzbmFrZWxpemUocmVzKSwgZ3VpbGRJZCwgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocmVzLnVzZXIuaWQpKVxuICAgIH0sXG4gICAgZ2V0TWVtYmVyczogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0TWVtYmVycyhndWlsZElkLCBvcHRpb25zKSkubWFwKChyZXMpID0+XG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgc25ha2VsaXplKHJlcyksIGd1aWxkSWQsIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHJlcy51c2VyLmlkKSksXG4gICAgICApXG4gICAgfSxcbiAgICBwcnVuZU1lbWJlcnM6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5wcnVuZU1lbWJlcnMoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKVxuICAgIH0sXG4gICAgc2VhcmNoTWVtYmVyczogYXN5bmMgKGd1aWxkSWQsIHF1ZXJ5LCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LnNlYXJjaE1lbWJlcnMoZ3VpbGRJZCwgcXVlcnksIG9wdGlvbnMpKS5tYXAoKHJlcykgPT5cbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBzbmFrZWxpemUocmVzKSwgZ3VpbGRJZCwgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocmVzLnVzZXIuaWQpKSxcbiAgICAgIClcbiAgICB9LFxuICAgIGJ1bGtCYW5NZW1iZXJzOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBib3QucmVzdC5idWxrQmFuTWVtYmVycyhndWlsZElkLCBvcHRpb25zLCByZWFzb24pXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJhbm5lZFVzZXJzOiByZXMuYmFubmVkVXNlcnMubWFwKCh4KSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh4KSksXG4gICAgICAgIGZhaWxlZFVzZXJzOiByZXMuZmFpbGVkVXNlcnMubWFwKCh4KSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh4KSksXG4gICAgICB9XG4gICAgfSxcbiAgICAvLyBBbGwgdXNlbGVzcyB2b2lkIHJldHVybiBmdW5jdGlvbnMgaGVyZVxuICAgIGFkZFJlYWN0aW9uOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuYWRkUmVhY3Rpb24oY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9uKVxuICAgIH0sXG4gICAgYWRkUmVhY3Rpb25zOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9ucywgb3JkZXJlZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmFkZFJlYWN0aW9ucyhjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb25zLCBvcmRlcmVkKVxuICAgIH0sXG4gICAgYWRkUm9sZTogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgcm9sZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5hZGRSb2xlKGd1aWxkSWQsIHVzZXJJZCwgcm9sZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICBhZGRUaHJlYWRNZW1iZXI6IGFzeW5jIChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmFkZFRocmVhZE1lbWJlcihjaGFubmVsSWQsIHVzZXJJZClcbiAgICB9LFxuICAgIGFkZERtUmVjaXBpZW50OiBhc3luYyAoY2hhbm5lbElkLCB1c2VySWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5hZGREbVJlY2lwaWVudChjaGFubmVsSWQsIHVzZXJJZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGFkZEd1aWxkTWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuYWRkR3VpbGRNZW1iZXIoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgZGVsZXRlQXV0b21vZFJ1bGU6IGFzeW5jIChndWlsZElkLCBydWxlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUF1dG9tb2RSdWxlKGd1aWxkSWQsIHJ1bGVJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlQ2hhbm5lbDogYXN5bmMgKGNoYW5uZWxJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlQ2hhbm5lbChjaGFubmVsSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZUNoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGU6IGFzeW5jIChjaGFubmVsSWQsIG92ZXJ3cml0ZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlKGNoYW5uZWxJZCwgb3ZlcndyaXRlSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZUVtb2ppOiBhc3luYyAoZ3VpbGRJZCwgaWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUVtb2ppKGd1aWxkSWQsIGlkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVGb2xsb3d1cE1lc3NhZ2U6IGFzeW5jICh0b2tlbiwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlRm9sbG93dXBNZXNzYWdlKHRva2VuLCBtZXNzYWdlSWQpXG4gICAgfSxcbiAgICBkZWxldGVHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZElkKVxuICAgIH0sXG4gICAgZGVsZXRlR3VpbGQ6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlR3VpbGQoZ3VpbGRJZClcbiAgICB9LFxuICAgIGRlbGV0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kOiBhc3luYyAoY29tbWFuZElkLCBndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZElkLCBndWlsZElkKVxuICAgIH0sXG4gICAgZGVsZXRlR3VpbGRTdGlja2VyOiBhc3luYyAoZ3VpbGRJZCwgc3RpY2tlcklkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVHdWlsZFN0aWNrZXIoZ3VpbGRJZCwgc3RpY2tlcklkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVHdWlsZFRlbXBsYXRlOiBhc3luYyAoZ3VpbGRJZCwgdGVtcGxhdGVDb2RlKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlR3VpbGRUZW1wbGF0ZShndWlsZElkLCB0ZW1wbGF0ZUNvZGUpXG4gICAgfSxcbiAgICBkZWxldGVJbnRlZ3JhdGlvbjogYXN5bmMgKGd1aWxkSWQsIGludGVncmF0aW9uSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUludGVncmF0aW9uKGd1aWxkSWQsIGludGVncmF0aW9uSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZUludml0ZTogYXN5bmMgKGludml0ZUNvZGUsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUludml0ZShpbnZpdGVDb2RlLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVNZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZU1lc3NhZ2UoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZU1lc3NhZ2VzOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWRzLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVNZXNzYWdlcyhjaGFubmVsSWQsIG1lc3NhZ2VJZHMsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZTogYXN5bmMgKHRva2VuKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRva2VuKVxuICAgIH0sXG4gICAgZGVsZXRlT3duUmVhY3Rpb246IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVPd25SZWFjdGlvbihjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24pXG4gICAgfSxcbiAgICBkZWxldGVSZWFjdGlvbnNBbGw6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVJlYWN0aW9uc0FsbChjaGFubmVsSWQsIG1lc3NhZ2VJZClcbiAgICB9LFxuICAgIGRlbGV0ZVJlYWN0aW9uc0Vtb2ppOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlUmVhY3Rpb25zRW1vamkoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9uKVxuICAgIH0sXG4gICAgZGVsZXRlUm9sZTogYXN5bmMgKGd1aWxkSWQsIHJvbGVJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlUm9sZShndWlsZElkLCByb2xlSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZVNjaGVkdWxlZEV2ZW50OiBhc3luYyAoZ3VpbGRJZCwgZXZlbnRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVNjaGVkdWxlZEV2ZW50KGd1aWxkSWQsIGV2ZW50SWQpXG4gICAgfSxcbiAgICBkZWxldGVTdGFnZUluc3RhbmNlOiBhc3luYyAoY2hhbm5lbElkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVTdGFnZUluc3RhbmNlKGNoYW5uZWxJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlVXNlclJlYWN0aW9uOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHVzZXJJZCwgcmVhY3Rpb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVVc2VyUmVhY3Rpb24oY2hhbm5lbElkLCBtZXNzYWdlSWQsIHVzZXJJZCwgcmVhY3Rpb24pXG4gICAgfSxcbiAgICBkZWxldGVXZWJob29rOiBhc3luYyAod2ViaG9va0lkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVXZWJob29rKHdlYmhvb2tJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlV2ViaG9va01lc3NhZ2U6IGFzeW5jICh3ZWJob29rSWQsIHRva2VuLCBtZXNzYWdlSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVXZWJob29rTWVzc2FnZSh3ZWJob29rSWQsIHRva2VuLCBtZXNzYWdlSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBkZWxldGVXZWJob29rV2l0aFRva2VuOiBhc3luYyAod2ViaG9va0lkLCB0b2tlbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVdlYmhvb2tXaXRoVG9rZW4od2ViaG9va0lkLCB0b2tlbilcbiAgICB9LFxuICAgIGVkaXRDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlczogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZWRpdENoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGVzKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKVxuICAgIH0sXG4gICAgZWRpdENoYW5uZWxQb3NpdGlvbnM6IGFzeW5jIChndWlsZElkLCBjaGFubmVsUG9zaXRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZWRpdENoYW5uZWxQb3NpdGlvbnMoZ3VpbGRJZCwgY2hhbm5lbFBvc2l0aW9ucylcbiAgICB9LFxuICAgIGVkaXRHdWlsZE1mYUxldmVsOiBhc3luYyAoZ3VpbGRJZCwgbWZhTGV2ZWwsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmVkaXRHdWlsZE1mYUxldmVsKGd1aWxkSWQsIG1mYUxldmVsLCByZWFzb24pXG4gICAgfSxcbiAgICBlZGl0T3duVm9pY2VTdGF0ZTogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5lZGl0T3duVm9pY2VTdGF0ZShndWlsZElkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgZWRpdFVzZXJWb2ljZVN0YXRlOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmVkaXRVc2VyVm9pY2VTdGF0ZShndWlsZElkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgZWRpdFVzZXJBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uOiBhc3luYyAoYmVhcmVyVG9rZW4sIGFwcGxpY2F0aW9uSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5lZGl0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24oYmVhcmVyVG9rZW4sIGFwcGxpY2F0aW9uSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBqb2luVGhyZWFkOiBhc3luYyAoY2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3Quam9pblRocmVhZChjaGFubmVsSWQpXG4gICAgfSxcbiAgICBsZWF2ZUd1aWxkOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmxlYXZlR3VpbGQoZ3VpbGRJZClcbiAgICB9LFxuICAgIGxlYXZlVGhyZWFkOiBhc3luYyAoY2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QubGVhdmVUaHJlYWQoY2hhbm5lbElkKVxuICAgIH0sXG4gICAgcmVtb3ZlUm9sZTogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgcm9sZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5yZW1vdmVSb2xlKGd1aWxkSWQsIHVzZXJJZCwgcm9sZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICByZW1vdmVUaHJlYWRNZW1iZXI6IGFzeW5jIChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnJlbW92ZVRocmVhZE1lbWJlcihjaGFubmVsSWQsIHVzZXJJZClcbiAgICB9LFxuICAgIHJlbW92ZURtUmVjaXBpZW50OiBhc3luYyAoY2hhbm5lbElkLCB1c2VySWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5yZW1vdmVEbVJlY2lwaWVudChjaGFubmVsSWQsIHVzZXJJZClcbiAgICB9LFxuICAgIHNlbmRJbnRlcmFjdGlvblJlc3BvbnNlOiBhc3luYyAoaW50ZXJhY3Rpb25JZCwgdG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZShpbnRlcmFjdGlvbklkLCB0b2tlbiwgb3B0aW9ucylcbiAgICB9LFxuICAgIHRyaWdnZXJUeXBpbmdJbmRpY2F0b3I6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC50cmlnZ2VyVHlwaW5nSW5kaWNhdG9yKGNoYW5uZWxJZClcbiAgICB9LFxuICAgIGJhbk1lbWJlcjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuYmFuTWVtYmVyKGd1aWxkSWQsIHVzZXJJZCwgb3B0aW9ucywgcmVhc29uKVxuICAgIH0sXG4gICAga2lja01lbWJlcjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3Qua2lja01lbWJlcihndWlsZElkLCB1c2VySWQsIHJlYXNvbilcbiAgICB9LFxuICAgIHBpbk1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QucGluTWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgdW5iYW5NZW1iZXI6IGFzeW5jIChndWlsZElkLCB1c2VySWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnVuYmFuTWVtYmVyKGd1aWxkSWQsIHVzZXJJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgdW5waW5NZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnVucGluTWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRPbmJvYXJkaW5nOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZ3VpbGRPbmJvYXJkaW5nKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkT25ib2FyZGluZyhndWlsZElkKSkpXG4gICAgfSxcbiAgICBlZGl0R3VpbGRPbmJvYXJkaW5nOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5ndWlsZE9uYm9hcmRpbmcoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEd1aWxkT25ib2FyZGluZyhndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGxpc3RFbnRpdGxlbWVudHM6IGFzeW5jIChhcHBsaWNhdGlvbklkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0Lmxpc3RFbnRpdGxlbWVudHMoYXBwbGljYXRpb25JZCwgb3B0aW9ucykpLm1hcCgoZW50aXRsZW1lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuZW50aXRsZW1lbnQoYm90LCBzbmFrZWxpemUoZW50aXRsZW1lbnQpKSlcbiAgICB9LFxuICAgIGNyZWF0ZVRlc3RFbnRpdGxlbWVudDogYXN5bmMgKGFwcGxpY2F0aW9uSWQsIGJvZHkpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmVudGl0bGVtZW50KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZVRlc3RFbnRpdGxlbWVudChhcHBsaWNhdGlvbklkLCBib2R5KSkgYXMgRGlzY29yZEVudGl0bGVtZW50KVxuICAgIH0sXG4gICAgZGVsZXRlVGVzdEVudGl0bGVtZW50OiBhc3luYyAoYXBwbGljYXRpb25JZCwgZW50aXRsZW1lbnRJZCkgPT4ge1xuICAgICAgYXdhaXQgYm90LnJlc3QuZGVsZXRlVGVzdEVudGl0bGVtZW50KGFwcGxpY2F0aW9uSWQsIGVudGl0bGVtZW50SWQpXG4gICAgfSxcbiAgICBsaXN0U2t1czogYXN5bmMgKGFwcGxpY2F0aW9uSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QubGlzdFNrdXMoYXBwbGljYXRpb25JZCkpLm1hcCgoc2t1KSA9PiBib3QudHJhbnNmb3JtZXJzLnNrdShib3QsIHNuYWtlbGl6ZShza3UpKSlcbiAgICB9LFxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm90SGVscGVycyB7XG4gIGNyZWF0ZUF1dG9tb2RSdWxlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVBdXRvTW9kZXJhdGlvblJ1bGVPcHRpb25zLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8QXV0b01vZGVyYXRpb25SdWxlPlxuICBjcmVhdGVDaGFubmVsOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZENoYW5uZWwsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxDaGFubmVsPlxuICBjcmVhdGVFbW9qaTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlR3VpbGRFbW9qaSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPEVtb2ppPlxuICBjcmVhdGVGb3J1bVRocmVhZDogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVGb3J1bVBvc3RXaXRoTWVzc2FnZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPENoYW5uZWw+XG4gIGNyZWF0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmQ6IENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCwgb3B0aW9ucz86IENyZWF0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbnMpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBjcmVhdGVHdWlsZDogKG9wdGlvbnM6IENyZWF0ZUd1aWxkKSA9PiBQcm9taXNlPEd1aWxkPlxuICBjcmVhdGVHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZDogKFxuICAgIGNvbW1hbmQ6IENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9ucz86IENyZWF0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucyxcbiAgKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZD5cbiAgY3JlYXRlR3VpbGRGcm9tVGVtcGxhdGU6ICh0ZW1wbGF0ZUNvZGU6IHN0cmluZywgb3B0aW9uczogQ3JlYXRlR3VpbGRGcm9tVGVtcGxhdGUpID0+IFByb21pc2U8R3VpbGQ+XG4gIGNyZWF0ZUd1aWxkU3RpY2tlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlR3VpbGRTdGlja2VyT3B0aW9ucywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFN0aWNrZXI+XG4gIGNyZWF0ZUd1aWxkVGVtcGxhdGU6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZVRlbXBsYXRlKSA9PiBQcm9taXNlPFRlbXBsYXRlPlxuICBjcmVhdGVJbnZpdGU6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IENyZWF0ZUNoYW5uZWxJbnZpdGUsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkSW52aXRlPlxuICBjcmVhdGVSb2xlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZFJvbGUsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxSb2xlPlxuICBjcmVhdGVTY2hlZHVsZWRFdmVudDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlU2NoZWR1bGVkRXZlbnQsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxTY2hlZHVsZWRFdmVudD5cbiAgY3JlYXRlU3RhZ2VJbnN0YW5jZTogKG9wdGlvbnM6IENyZWF0ZVN0YWdlSW5zdGFuY2UsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxTdGFnZUluc3RhbmNlPlxuICBjcmVhdGVXZWJob29rOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZVdlYmhvb2ssIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxXZWJob29rPlxuICBlZGl0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM6IChcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgY29tbWFuZElkOiBCaWdTdHJpbmcsXG4gICAgYmVhcmVyVG9rZW46IHN0cmluZyxcbiAgICBvcHRpb25zOiBDYW1lbGl6ZWREaXNjb3JkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNbXSxcbiAgKSA9PiBQcm9taXNlPEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM+XG4gIGVkaXRBdXRvbW9kUnVsZTogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBydWxlSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBQYXJ0aWFsPEVkaXRBdXRvTW9kZXJhdGlvblJ1bGVPcHRpb25zPixcbiAgICByZWFzb24/OiBzdHJpbmcsXG4gICkgPT4gUHJvbWlzZTxBdXRvTW9kZXJhdGlvblJ1bGU+XG4gIGVkaXRCb3RQcm9maWxlOiAob3B0aW9uczogeyB1c2VybmFtZT86IHN0cmluZzsgYm90QXZhdGFyVVJMPzogc3RyaW5nIHwgbnVsbCB9KSA9PiBQcm9taXNlPFVzZXI+XG4gIGVkaXRDaGFubmVsOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IE1vZGlmeUNoYW5uZWwsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxDaGFubmVsPlxuICBlZGl0RW1vamk6IChndWlsZElkOiBCaWdTdHJpbmcsIGlkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IE1vZGlmeUd1aWxkRW1vamksIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxFbW9qaT5cbiAgZWRpdEZvbGxvd3VwTWVzc2FnZTogKHRva2VuOiBzdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSkgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBlZGl0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCkgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmQ+XG4gIGVkaXRHdWlsZDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogTW9kaWZ5R3VpbGQsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxHdWlsZD5cbiAgZWRpdEd1aWxkQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcsIGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZD5cbiAgZWRpdEd1aWxkU3RpY2tlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgc3RpY2tlcklkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEF0TGVhc3RPbmU8RWRpdEd1aWxkU3RpY2tlck9wdGlvbnM+LCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8U3RpY2tlcj5cbiAgZWRpdEd1aWxkVGVtcGxhdGU6IChndWlsZElkOiBCaWdTdHJpbmcsIHRlbXBsYXRlQ29kZTogc3RyaW5nLCBvcHRpb25zOiBNb2RpZnlHdWlsZFRlbXBsYXRlKSA9PiBQcm9taXNlPFRlbXBsYXRlPlxuICBlZGl0TWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogRWRpdE1lc3NhZ2UpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZTogKHRva2VuOiBzdHJpbmcsIG9wdGlvbnM6IEludGVyYWN0aW9uQ2FsbGJhY2tEYXRhKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGVkaXRPcmlnaW5hbFdlYmhvb2tNZXNzYWdlOiAod2ViaG9va0lkOiBCaWdTdHJpbmcsIHRva2VuOiBzdHJpbmcsIG9wdGlvbnM6IEludGVyYWN0aW9uQ2FsbGJhY2tEYXRhICYgeyB0aHJlYWRJZD86IEJpZ1N0cmluZyB9KSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGVkaXRSb2xlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCByb2xlSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogRWRpdEd1aWxkUm9sZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFJvbGU+XG4gIGVkaXRSb2xlUG9zaXRpb25zOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBNb2RpZnlSb2xlUG9zaXRpb25zW10sIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxSb2xlW10+XG4gIGVkaXRTY2hlZHVsZWRFdmVudDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgZXZlbnRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBQYXJ0aWFsPEVkaXRTY2hlZHVsZWRFdmVudD4sIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxTY2hlZHVsZWRFdmVudD5cbiAgZWRpdFN0YWdlSW5zdGFuY2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgdG9waWM6IHN0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFN0YWdlSW5zdGFuY2U+XG4gIGVkaXRXZWJob29rOiAod2ViaG9va0lkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IE1vZGlmeVdlYmhvb2ssIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxXZWJob29rPlxuICBlZGl0V2ViaG9va01lc3NhZ2U6IChcbiAgICB3ZWJob29rSWQ6IEJpZ1N0cmluZyxcbiAgICB0b2tlbjogc3RyaW5nLFxuICAgIG1lc3NhZ2VJZDogQmlnU3RyaW5nLFxuICAgIG9wdGlvbnM6IEludGVyYWN0aW9uQ2FsbGJhY2tEYXRhICYgeyB0aHJlYWRJZD86IEJpZ1N0cmluZyB9LFxuICApID0+IFByb21pc2U8TWVzc2FnZT5cbiAgZWRpdFdlYmhvb2tXaXRoVG9rZW46ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgdG9rZW46IHN0cmluZywgb3B0aW9uczogT21pdDxNb2RpZnlXZWJob29rLCAnY2hhbm5lbElkJz4pID0+IFByb21pc2U8V2ViaG9vaz5cbiAgZWRpdFdlbGNvbWVTY3JlZW46IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENhbWVsaXplZERpc2NvcmRNb2RpZnlHdWlsZFdlbGNvbWVTY3JlZW4sIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxXZWxjb21lU2NyZWVuPlxuICBlZGl0V2lkZ2V0U2V0dGluZ3M6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENhbWVsaXplZERpc2NvcmRHdWlsZFdpZGdldFNldHRpbmdzLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8R3VpbGRXaWRnZXRTZXR0aW5ncz5cbiAgZWRpdFVzZXJBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uOiAoXG4gICAgYmVhcmVyVG9rZW46IHN0cmluZyxcbiAgICBhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9uczogQ2FtZWxpemVkRGlzY29yZEFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24sXG4gICkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbj5cbiAgZXhlY3V0ZVdlYmhvb2s6ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgdG9rZW46IHN0cmluZywgb3B0aW9uczogRXhlY3V0ZVdlYmhvb2spID0+IFByb21pc2U8TWVzc2FnZSB8IHVuZGVmaW5lZD5cbiAgZm9sbG93QW5ub3VuY2VtZW50OiAoc291cmNlQ2hhbm5lbElkOiBCaWdTdHJpbmcsIHRhcmdldENoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRGb2xsb3dlZENoYW5uZWw+XG4gIGdldEFjdGl2ZVRocmVhZHM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8eyB0aHJlYWRzOiBDaGFubmVsW107IG1lbWJlcnM6IFRocmVhZE1lbWJlcltdIH0+XG4gIGdldEFwcGxpY2F0aW9uSW5mbzogKCkgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbj5cbiAgZWRpdEFwcGxpY2F0aW9uSW5mbzogKGJvZHk6IEVkaXRBcHBsaWNhdGlvbikgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbj5cbiAgZ2V0Q3VycmVudEF1dGhlbnRpY2F0aW9uSW5mbzogKGJlYXJlclRva2VuOiBzdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEN1cnJlbnRBdXRob3JpemF0aW9uPlxuICBleGNoYW5nZVRva2VuOiAoY2xpZW50SWQ6IEJpZ1N0cmluZywgY2xpZW50U2VjcmV0OiBzdHJpbmcsIG9wdGlvbnM6IENhbWVsaXplZERpc2NvcmRUb2tlbkV4Y2hhbmdlKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRBY2Nlc3NUb2tlblJlc3BvbnNlPlxuICByZXZva2VUb2tlbjogKGNsaWVudElkOiBCaWdTdHJpbmcsIGNsaWVudFNlY3JldDogc3RyaW5nLCBvcHRpb25zOiBDYW1lbGl6ZWREaXNjb3JkVG9rZW5SZXZvY2F0aW9uKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb246IChcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgY29tbWFuZElkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9ucz86IEdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25PcHRpb25zLFxuICApID0+IFByb21pc2U8R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucz5cbiAgZ2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM6IChcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9ucz86IEdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25PcHRpb25zLFxuICApID0+IFByb21pc2U8R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1tdPlxuICBnZXRBdWRpdExvZzogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldEd1aWxkQXVkaXRMb2cpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEF1ZGl0TG9nPlxuICBnZXRBdXRvbW9kUnVsZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgcnVsZUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8QXV0b01vZGVyYXRpb25SdWxlPlxuICBnZXRBdXRvbW9kUnVsZXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8QXV0b01vZGVyYXRpb25SdWxlW10+XG4gIGdldEF2YWlsYWJsZVZvaWNlUmVnaW9uczogKCkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkVm9pY2VSZWdpb25bXT5cbiAgZ2V0QmFuOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQmFuPlxuICBnZXRCYW5zOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0QmFucykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQmFuW10+XG4gIGdldENoYW5uZWw6IChjaGFubmVsSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDaGFubmVsPlxuICBnZXRDaGFubmVsSW52aXRlczogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRJbnZpdGVNZXRhZGF0YVtdPlxuICBnZXRDaGFubmVsczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDaGFubmVsW10+XG4gIGdldENoYW5uZWxXZWJob29rczogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFdlYmhvb2tbXT5cbiAgZ2V0RG1DaGFubmVsOiAodXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2hhbm5lbD5cbiAgZ2V0R3JvdXBEbUNoYW5uZWw6IChvcHRpb25zOiBHZXRHcm91cERtT3B0aW9ucykgPT4gUHJvbWlzZTxDaGFubmVsPlxuICBnZXRFbW9qaTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgZW1vamlJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEVtb2ppPlxuICBnZXRFbW9qaXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8RW1vamlbXT5cbiAgZ2V0Rm9sbG93dXBNZXNzYWdlOiAodG9rZW46IHN0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgZ2V0R2F0ZXdheUJvdDogKCkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkR2V0R2F0ZXdheUJvdD5cbiAgZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBnZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzOiAoKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZFtdPlxuICBnZXRHdWlsZDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IHsgY291bnRzPzogYm9vbGVhbiB9KSA9PiBQcm9taXNlPEd1aWxkPlxuICBnZXRHdWlsZHM6IChiZWFyZXJUb2tlbjogc3RyaW5nLCBvcHRpb25zPzogR2V0VXNlckd1aWxkcykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkUGFydGlhbEd1aWxkW10+XG4gIGdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcsIGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmQ+XG4gIGdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmRbXT5cbiAgZ2V0R3VpbGRQcmV2aWV3OiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRHdWlsZFByZXZpZXc+XG4gIGdldEd1aWxkU3RpY2tlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgc3RpY2tlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8U3RpY2tlcj5cbiAgZ2V0R3VpbGRTdGlja2VyczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxTdGlja2VyW10+XG4gIGdldEd1aWxkVGVtcGxhdGU6ICh0ZW1wbGF0ZUNvZGU6IHN0cmluZykgPT4gUHJvbWlzZTxUZW1wbGF0ZT5cbiAgZ2V0R3VpbGRUZW1wbGF0ZXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VGVtcGxhdGVbXT5cbiAgZ2V0R3VpbGRXZWJob29rczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxXZWJob29rW10+XG4gIGdldEludGVncmF0aW9uczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxJbnRlZ3JhdGlvbltdPlxuICBnZXRJbnZpdGU6IChpbnZpdGVDb2RlOiBzdHJpbmcsIG9wdGlvbnM/OiBHZXRJbnZpdGUpID0+IFByb21pc2U8SW52aXRlPlxuICBnZXRJbnZpdGVzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEludml0ZVtdPlxuICBnZXRNZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGdldE1lc3NhZ2VzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRNZXNzYWdlc09wdGlvbnMpID0+IFByb21pc2U8TWVzc2FnZVtdPlxuICBnZXRTdGlja2VyUGFja3M6ICgpID0+IFByb21pc2U8U3RpY2tlclBhY2tbXT5cbiAgZ2V0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlOiAodG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBnZXRQaW5uZWRNZXNzYWdlczogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPE1lc3NhZ2VbXT5cbiAgZ2V0UHJpdmF0ZUFyY2hpdmVkVGhyZWFkczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogTGlzdEFyY2hpdmVkVGhyZWFkcykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQXJjaGl2ZWRUaHJlYWRzPlxuICBnZXRQcml2YXRlSm9pbmVkQXJjaGl2ZWRUaHJlYWRzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBMaXN0QXJjaGl2ZWRUaHJlYWRzKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRBcmNoaXZlZFRocmVhZHM+XG4gIGdldFBydW5lQ291bnQ6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRHdWlsZFBydW5lQ291bnRRdWVyeSkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkUHJ1bmVkQ291bnQ+XG4gIGdldFB1YmxpY0FyY2hpdmVkVGhyZWFkczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogTGlzdEFyY2hpdmVkVGhyZWFkcykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQXJjaGl2ZWRUaHJlYWRzPlxuICBnZXRSb2xlczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxSb2xlW10+XG4gIGdldFNjaGVkdWxlZEV2ZW50OiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBldmVudElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiB7IHdpdGhVc2VyQ291bnQ/OiBib29sZWFuIH0pID0+IFByb21pc2U8U2NoZWR1bGVkRXZlbnQ+XG4gIGdldFNjaGVkdWxlZEV2ZW50czogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldFNjaGVkdWxlZEV2ZW50cykgPT4gUHJvbWlzZTxTY2hlZHVsZWRFdmVudFtdPlxuICBnZXRTY2hlZHVsZWRFdmVudFVzZXJzOiAoXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIGV2ZW50SWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zPzogR2V0U2NoZWR1bGVkRXZlbnRVc2VycyxcbiAgKSA9PiBQcm9taXNlPEFycmF5PHsgdXNlcjogVXNlcjsgbWVtYmVyPzogTWVtYmVyIH0+PlxuICBnZXRTZXNzaW9uSW5mbzogKCkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkR2V0R2F0ZXdheUJvdD5cbiAgZ2V0U3RhZ2VJbnN0YW5jZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFN0YWdlSW5zdGFuY2U+XG4gIGdldFN0aWNrZXI6IChzdGlja2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxTdGlja2VyPlxuICBnZXRUaHJlYWRNZW1iZXI6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VGhyZWFkTWVtYmVyPlxuICBnZXRUaHJlYWRNZW1iZXJzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VGhyZWFkTWVtYmVyW10+XG4gIGdldFJlYWN0aW9uczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgcmVhY3Rpb246IHN0cmluZywgb3B0aW9ucz86IEdldFJlYWN0aW9ucykgPT4gUHJvbWlzZTxVc2VyW10+XG4gIGdldFVzZXI6IChpZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFVzZXI+XG4gIGdldEN1cnJlbnRVc2VyOiAoYmVhcmVyVG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTxVc2VyPlxuICBnZXRVc2VyQ29ubmVjdGlvbnM6IChiZWFyZXJUb2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRDb25uZWN0aW9uW10+XG4gIGdldFVzZXJBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uOiAoYmVhcmVyVG9rZW46IHN0cmluZywgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uPlxuICBnZXRWYW5pdHlVcmw6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZFZhbml0eVVybD5cbiAgZ2V0Vm9pY2VSZWdpb25zOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRWb2ljZVJlZ2lvbltdPlxuICBnZXRXZWJob29rOiAod2ViaG9va0lkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8V2ViaG9vaz5cbiAgZ2V0V2ViaG9va01lc3NhZ2U6ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgdG9rZW46IHN0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRXZWJob29rTWVzc2FnZU9wdGlvbnMpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgZ2V0V2ViaG9va1dpdGhUb2tlbjogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCB0b2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPFdlYmhvb2s+XG4gIGdldFdlbGNvbWVTY3JlZW46IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8V2VsY29tZVNjcmVlbj5cbiAgZ2V0V2lkZ2V0OiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEd1aWxkV2lkZ2V0PlxuICBnZXRXaWRnZXRTZXR0aW5nczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxHdWlsZFdpZGdldFNldHRpbmdzPlxuICBwdWJsaXNoTWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBzZW5kTWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVNZXNzYWdlT3B0aW9ucykgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBzZW5kRm9sbG93dXBNZXNzYWdlOiAodG9rZW46IHN0cmluZywgb3B0aW9uczogSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgc3RhcnRUaHJlYWRXaXRoTWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogU3RhcnRUaHJlYWRXaXRoTWVzc2FnZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPENoYW5uZWw+XG4gIHN0YXJ0VGhyZWFkV2l0aG91dE1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogU3RhcnRUaHJlYWRXaXRob3V0TWVzc2FnZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPENoYW5uZWw+XG4gIHN5bmNHdWlsZFRlbXBsYXRlOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFRlbXBsYXRlPlxuICB1cHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzOiAoXG4gICAgY29tbWFuZHM6IENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZFtdLFxuICAgIG9wdGlvbnM/OiBVcHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxuICApID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kW10+XG4gIHVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kczogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBjb21tYW5kczogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kW10sXG4gICAgb3B0aW9ucz86IFVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucyxcbiAgKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZFtdPlxuICBlZGl0Qm90TWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBFZGl0Qm90TWVtYmVyT3B0aW9ucywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPE1lbWJlcj5cbiAgZWRpdE1lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IE1vZGlmeUd1aWxkTWVtYmVyLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8TWVtYmVyPlxuICBnZXRNZW1iZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPE1lbWJlcj5cbiAgZ2V0Q3VycmVudE1lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgYmVhcmVyVG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTxNZW1iZXI+XG4gIGdldE1lbWJlcnM6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IExpc3RHdWlsZE1lbWJlcnMpID0+IFByb21pc2U8TWVtYmVyW10+XG4gIHBydW5lTWVtYmVyczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQmVnaW5HdWlsZFBydW5lLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8eyBwcnVuZWQ6IG51bWJlciB8IG51bGwgfT5cbiAgc2VhcmNoTWVtYmVyczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgcXVlcnk6IHN0cmluZywgb3B0aW9ucz86IE9taXQ8U2VhcmNoTWVtYmVycywgJ3F1ZXJ5Jz4pID0+IFByb21pc2U8TWVtYmVyW10+XG4gIGJ1bGtCYW5NZW1iZXJzOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZEJ1bGtCYW4sIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx7IGJhbm5lZFVzZXJzOiBiaWdpbnRbXTsgZmFpbGVkVXNlcnM6IGJpZ2ludFtdIH0+XG4gIC8vIGZ1bmN0aW9ucyByZXR1cm4gVm9pZCBzbyBkb250IG5lZWQgYW55IHNwZWNpYWwgaGFuZGxpbmdcbiAgYWRkUmVhY3Rpb246IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYWN0aW9uOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgYWRkUmVhY3Rpb25zOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFjdGlvbnM6IHN0cmluZ1tdLCBvcmRlcmVkPzogYm9vbGVhbikgPT4gUHJvbWlzZTx2b2lkPlxuICBhZGRSb2xlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgcm9sZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBhZGRUaHJlYWRNZW1iZXI6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgYWRkRG1SZWNpcGllbnQ6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEFkZERtUmVjaXBpZW50T3B0aW9ucykgPT4gUHJvbWlzZTx2b2lkPlxuICBhZGRHdWlsZE1lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEFkZEd1aWxkTWVtYmVyT3B0aW9ucykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVBdXRvbW9kUnVsZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgcnVsZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVDaGFubmVsOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG92ZXJ3cml0ZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVFbW9qaTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgaWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUZvbGxvd3VwTWVzc2FnZTogKHRva2VuOiBzdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUd1aWxkOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcsIGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVHdWlsZFN0aWNrZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHN0aWNrZXJJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlR3VpbGRUZW1wbGF0ZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdGVtcGxhdGVDb2RlOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlSW50ZWdyYXRpb246IChndWlsZElkOiBCaWdTdHJpbmcsIGludGVncmF0aW9uSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUludml0ZTogKGludml0ZUNvZGU6IHN0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZU1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVNZXNzYWdlczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWRzOiBCaWdTdHJpbmdbXSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZTogKHRva2VuOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlT3duUmVhY3Rpb246IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYWN0aW9uOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlUmVhY3Rpb25zQWxsOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVJlYWN0aW9uc0Vtb2ppOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFjdGlvbjogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVJvbGU6IChndWlsZElkOiBCaWdTdHJpbmcsIHJvbGVJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlU2NoZWR1bGVkRXZlbnQ6IChndWlsZElkOiBCaWdTdHJpbmcsIGV2ZW50SWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVTdGFnZUluc3RhbmNlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVVc2VyUmVhY3Rpb246IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCByZWFjdGlvbjogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVdlYmhvb2s6ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVdlYmhvb2tNZXNzYWdlOiAod2ViaG9va0lkOiBCaWdTdHJpbmcsIHRva2VuOiBzdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogRGVsZXRlV2ViaG9va01lc3NhZ2VPcHRpb25zKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVdlYmhvb2tXaXRoVG9rZW46ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgdG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBlZGl0Q2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZXM6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogRWRpdENoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGVzT3B0aW9ucywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGVkaXRDaGFubmVsUG9zaXRpb25zOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBjaGFubmVsUG9zaXRpb25zOiBNb2RpZnlHdWlsZENoYW5uZWxQb3NpdGlvbnNbXSkgPT4gUHJvbWlzZTx2b2lkPlxuICBlZGl0R3VpbGRNZmFMZXZlbDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgbWZhTGV2ZWw6IE1mYUxldmVscywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGVkaXRPd25Wb2ljZVN0YXRlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBFZGl0T3duVm9pY2VTdGF0ZSkgPT4gUHJvbWlzZTx2b2lkPlxuICBlZGl0VXNlclZvaWNlU3RhdGU6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEVkaXRVc2VyVm9pY2VTdGF0ZSkgPT4gUHJvbWlzZTx2b2lkPlxuICBqb2luVGhyZWFkOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgbGVhdmVHdWlsZDogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBsZWF2ZVRocmVhZDogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHJlbW92ZVJvbGU6IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCByb2xlSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHJlbW92ZVRocmVhZE1lbWJlcjogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICByZW1vdmVEbVJlY2lwaWVudDogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBzZW5kSW50ZXJhY3Rpb25SZXNwb25zZTogKGludGVyYWN0aW9uSWQ6IEJpZ1N0cmluZywgdG9rZW46IHN0cmluZywgb3B0aW9uczogSW50ZXJhY3Rpb25SZXNwb25zZSkgPT4gUHJvbWlzZTx2b2lkPlxuICB0cmlnZ2VyVHlwaW5nSW5kaWNhdG9yOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgYmFuTWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IENyZWF0ZUd1aWxkQmFuLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAga2lja01lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBwaW5NZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgdW5iYW5NZW1iZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgdW5waW5NZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZ2V0R3VpbGRPbmJvYXJkaW5nOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEd1aWxkT25ib2FyZGluZz5cbiAgZWRpdEd1aWxkT25ib2FyZGluZzogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogRWRpdEd1aWxkT25ib2FyZGluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPEd1aWxkT25ib2FyZGluZz5cbiAgbGlzdEVudGl0bGVtZW50czogKGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldEVudGl0bGVtZW50cykgPT4gUHJvbWlzZTxFbnRpdGxlbWVudFtdPlxuICBjcmVhdGVUZXN0RW50aXRsZW1lbnQ6IChhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsIGJvZHk6IENyZWF0ZUVudGl0bGVtZW50KSA9PiBQcm9taXNlPFBhcnRpYWw8RW50aXRsZW1lbnQ+PlxuICBkZWxldGVUZXN0RW50aXRsZW1lbnQ6IChhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsIGVudGl0bGVtZW50SWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBsaXN0U2t1czogKGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxTa3VbXT5cbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVCb3RIZWxwZXJzIiwiYm90IiwiY3JlYXRlQXV0b21vZFJ1bGUiLCJndWlsZElkIiwib3B0aW9ucyIsInJlYXNvbiIsInRyYW5zZm9ybWVycyIsImF1dG9tb2RSdWxlIiwic25ha2VsaXplIiwicmVzdCIsImNyZWF0ZUNoYW5uZWwiLCJjaGFubmVsIiwiY3JlYXRlRW1vamkiLCJlbW9qaSIsImNyZWF0ZUZvcnVtVGhyZWFkIiwiY2hhbm5lbElkIiwiY3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kIiwiY29tbWFuZCIsImFwcGxpY2F0aW9uQ29tbWFuZCIsImNyZWF0ZUd1aWxkIiwiZ3VpbGQiLCJzaGFyZElkIiwiY3JlYXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJjcmVhdGVHdWlsZEZyb21UZW1wbGF0ZSIsInRlbXBsYXRlQ29kZSIsImNyZWF0ZUd1aWxkU3RpY2tlciIsInN0aWNrZXIiLCJjcmVhdGVHdWlsZFRlbXBsYXRlIiwidGVtcGxhdGUiLCJjcmVhdGVJbnZpdGUiLCJjcmVhdGVSb2xlIiwicm9sZSIsImNyZWF0ZVNjaGVkdWxlZEV2ZW50Iiwic2NoZWR1bGVkRXZlbnQiLCJjcmVhdGVTdGFnZUluc3RhbmNlIiwic3RhZ2VJbnN0YW5jZSIsImNyZWF0ZVdlYmhvb2siLCJ3ZWJob29rIiwiZWRpdEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zIiwiY29tbWFuZElkIiwiYmVhcmVyVG9rZW4iLCJhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uIiwiZWRpdEF1dG9tb2RSdWxlIiwicnVsZUlkIiwiZWRpdEJvdFByb2ZpbGUiLCJ1c2VyIiwiZWRpdENoYW5uZWwiLCJlZGl0RW1vamkiLCJpZCIsImVkaXRGb2xsb3d1cE1lc3NhZ2UiLCJ0b2tlbiIsIm1lc3NhZ2VJZCIsIm1lc3NhZ2UiLCJlZGl0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kIiwiZWRpdEd1aWxkIiwiZWRpdEd1aWxkQXBwbGljYXRpb25Db21tYW5kIiwiZWRpdEd1aWxkU3RpY2tlciIsInN0aWNrZXJJZCIsImVkaXRHdWlsZFRlbXBsYXRlIiwiZWRpdE1lc3NhZ2UiLCJlZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwiZWRpdE9yaWdpbmFsV2ViaG9va01lc3NhZ2UiLCJ3ZWJob29rSWQiLCJlZGl0Um9sZSIsInJvbGVJZCIsImVkaXRSb2xlUG9zaXRpb25zIiwibWFwIiwiZWRpdFNjaGVkdWxlZEV2ZW50IiwiZXZlbnRJZCIsImVkaXRTdGFnZUluc3RhbmNlIiwidG9waWMiLCJlZGl0V2ViaG9vayIsImVkaXRXZWJob29rTWVzc2FnZSIsImVkaXRXZWJob29rV2l0aFRva2VuIiwiZWRpdFdlbGNvbWVTY3JlZW4iLCJ3ZWxjb21lU2NyZWVuIiwiZWRpdFdpZGdldFNldHRpbmdzIiwid2lkZ2V0U2V0dGluZ3MiLCJleGVjdXRlV2ViaG9vayIsInJlc3VsdCIsImZvbGxvd0Fubm91bmNlbWVudCIsInNvdXJjZUNoYW5uZWxJZCIsInRhcmdldENoYW5uZWxJZCIsImdldEFjdGl2ZVRocmVhZHMiLCJ0aHJlYWRzIiwidGhyZWFkIiwibWVtYmVycyIsIm1lbWJlciIsInRocmVhZE1lbWJlciIsImdldEFwcGxpY2F0aW9uSW5mbyIsImFwcGxpY2F0aW9uIiwiZWRpdEFwcGxpY2F0aW9uSW5mbyIsImJvZHkiLCJnZXRDdXJyZW50QXV0aGVudGljYXRpb25JbmZvIiwiZXhjaGFuZ2VUb2tlbiIsImNsaWVudElkIiwiY2xpZW50U2VjcmV0IiwicmV2b2tlVG9rZW4iLCJnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uIiwicmVzIiwic25ha2VkUmVzIiwiZ2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMiLCJnZXRBdWRpdExvZyIsImdldEF1dG9tb2RSdWxlIiwiZ2V0QXV0b21vZFJ1bGVzIiwiZ2V0QXZhaWxhYmxlVm9pY2VSZWdpb25zIiwidm9pY2VSZWdpb24iLCJnZXRCYW4iLCJ1c2VySWQiLCJnZXRCYW5zIiwiZ2V0Q2hhbm5lbCIsImdldENoYW5uZWxJbnZpdGVzIiwiZ2V0Q2hhbm5lbHMiLCJnZXRDaGFubmVsV2ViaG9va3MiLCJnZXREbUNoYW5uZWwiLCJnZXRHcm91cERtQ2hhbm5lbCIsImdldEVtb2ppIiwiZW1vamlJZCIsImdldEVtb2ppcyIsImdldEZvbGxvd3VwTWVzc2FnZSIsImdldEdhdGV3YXlCb3QiLCJnYXRld2F5Qm90IiwiZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kIiwiZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kcyIsImdldEd1aWxkIiwiZ2V0R3VpbGRzIiwiZ2V0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJnZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZHMiLCJnZXRHdWlsZFByZXZpZXciLCJnZXRHdWlsZFN0aWNrZXIiLCJnZXRHdWlsZFN0aWNrZXJzIiwiZ2V0R3VpbGRUZW1wbGF0ZSIsImdldEd1aWxkVGVtcGxhdGVzIiwiZ2V0R3VpbGRXZWJob29rcyIsImdldEludGVncmF0aW9ucyIsImludGVncmF0aW9uIiwidG9TdHJpbmciLCJnZXRJbnZpdGUiLCJpbnZpdGVDb2RlIiwiaW52aXRlIiwiZ2V0SW52aXRlcyIsImdldE1lc3NhZ2UiLCJnZXRNZXNzYWdlcyIsImdldFN0aWNrZXJQYWNrcyIsInN0aWNrZXJQYWNrIiwiZ2V0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwiZ2V0UGlubmVkTWVzc2FnZXMiLCJnZXRQcml2YXRlQXJjaGl2ZWRUaHJlYWRzIiwiZ2V0UHJpdmF0ZUpvaW5lZEFyY2hpdmVkVGhyZWFkcyIsImdldFBydW5lQ291bnQiLCJnZXRQdWJsaWNBcmNoaXZlZFRocmVhZHMiLCJnZXRSb2xlcyIsImdldFNjaGVkdWxlZEV2ZW50IiwiZ2V0U2NoZWR1bGVkRXZlbnRzIiwiZ2V0U2NoZWR1bGVkRXZlbnRVc2VycyIsInUiLCJzbm93Zmxha2UiLCJnZXRTZXNzaW9uSW5mbyIsImdldFN0YWdlSW5zdGFuY2UiLCJnZXRTdGlja2VyIiwiZ2V0VGhyZWFkTWVtYmVyIiwiZ2V0VGhyZWFkTWVtYmVycyIsImdldFJlYWN0aW9ucyIsInJlYWN0aW9uIiwiZ2V0VXNlciIsImdldEN1cnJlbnRVc2VyIiwiZ2V0VXNlckNvbm5lY3Rpb25zIiwiZ2V0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24iLCJhcHBsaWNhdGlvbklkIiwiZ2V0VmFuaXR5VXJsIiwiZ2V0Vm9pY2VSZWdpb25zIiwiZ2V0V2ViaG9vayIsImdldFdlYmhvb2tNZXNzYWdlIiwiZ2V0V2ViaG9va1dpdGhUb2tlbiIsImdldFdlbGNvbWVTY3JlZW4iLCJnZXRXaWRnZXQiLCJ3aWRnZXQiLCJnZXRXaWRnZXRTZXR0aW5ncyIsInB1Ymxpc2hNZXNzYWdlIiwic2VuZE1lc3NhZ2UiLCJzZW5kRm9sbG93dXBNZXNzYWdlIiwic3RhcnRUaHJlYWRXaXRoTWVzc2FnZSIsInN0YXJ0VGhyZWFkV2l0aG91dE1lc3NhZ2UiLCJzeW5jR3VpbGRUZW1wbGF0ZSIsInVwc2VydEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZHMiLCJjb21tYW5kcyIsInVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kcyIsImVkaXRCb3RNZW1iZXIiLCJlZGl0TWVtYmVyIiwiZ2V0TWVtYmVyIiwiZ2V0Q3VycmVudE1lbWJlciIsImdldE1lbWJlcnMiLCJwcnVuZU1lbWJlcnMiLCJzZWFyY2hNZW1iZXJzIiwicXVlcnkiLCJidWxrQmFuTWVtYmVycyIsImJhbm5lZFVzZXJzIiwieCIsImZhaWxlZFVzZXJzIiwiYWRkUmVhY3Rpb24iLCJhZGRSZWFjdGlvbnMiLCJyZWFjdGlvbnMiLCJvcmRlcmVkIiwiYWRkUm9sZSIsImFkZFRocmVhZE1lbWJlciIsImFkZERtUmVjaXBpZW50IiwiYWRkR3VpbGRNZW1iZXIiLCJkZWxldGVBdXRvbW9kUnVsZSIsImRlbGV0ZUNoYW5uZWwiLCJkZWxldGVDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlIiwib3ZlcndyaXRlSWQiLCJkZWxldGVFbW9qaSIsImRlbGV0ZUZvbGxvd3VwTWVzc2FnZSIsImRlbGV0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZCIsImRlbGV0ZUd1aWxkIiwiZGVsZXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJkZWxldGVHdWlsZFN0aWNrZXIiLCJkZWxldGVHdWlsZFRlbXBsYXRlIiwiZGVsZXRlSW50ZWdyYXRpb24iLCJpbnRlZ3JhdGlvbklkIiwiZGVsZXRlSW52aXRlIiwiZGVsZXRlTWVzc2FnZSIsImRlbGV0ZU1lc3NhZ2VzIiwibWVzc2FnZUlkcyIsImRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsImRlbGV0ZU93blJlYWN0aW9uIiwiZGVsZXRlUmVhY3Rpb25zQWxsIiwiZGVsZXRlUmVhY3Rpb25zRW1vamkiLCJkZWxldGVSb2xlIiwiZGVsZXRlU2NoZWR1bGVkRXZlbnQiLCJkZWxldGVTdGFnZUluc3RhbmNlIiwiZGVsZXRlVXNlclJlYWN0aW9uIiwiZGVsZXRlV2ViaG9vayIsImRlbGV0ZVdlYmhvb2tNZXNzYWdlIiwiZGVsZXRlV2ViaG9va1dpdGhUb2tlbiIsImVkaXRDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlcyIsImVkaXRDaGFubmVsUG9zaXRpb25zIiwiY2hhbm5lbFBvc2l0aW9ucyIsImVkaXRHdWlsZE1mYUxldmVsIiwibWZhTGV2ZWwiLCJlZGl0T3duVm9pY2VTdGF0ZSIsImVkaXRVc2VyVm9pY2VTdGF0ZSIsImVkaXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbiIsImpvaW5UaHJlYWQiLCJsZWF2ZUd1aWxkIiwibGVhdmVUaHJlYWQiLCJyZW1vdmVSb2xlIiwicmVtb3ZlVGhyZWFkTWVtYmVyIiwicmVtb3ZlRG1SZWNpcGllbnQiLCJzZW5kSW50ZXJhY3Rpb25SZXNwb25zZSIsImludGVyYWN0aW9uSWQiLCJ0cmlnZ2VyVHlwaW5nSW5kaWNhdG9yIiwiYmFuTWVtYmVyIiwia2lja01lbWJlciIsInBpbk1lc3NhZ2UiLCJ1bmJhbk1lbWJlciIsInVucGluTWVzc2FnZSIsImdldEd1aWxkT25ib2FyZGluZyIsImd1aWxkT25ib2FyZGluZyIsImVkaXRHdWlsZE9uYm9hcmRpbmciLCJsaXN0RW50aXRsZW1lbnRzIiwiZW50aXRsZW1lbnQiLCJjcmVhdGVUZXN0RW50aXRsZW1lbnQiLCJkZWxldGVUZXN0RW50aXRsZW1lbnQiLCJlbnRpdGxlbWVudElkIiwibGlzdFNrdXMiLCJza3UiXSwibWFwcGluZ3MiOiI7Ozs7K0JBNkhnQkE7OztlQUFBQTs7O3VCQS9CVTtBQStCbkIsU0FBU0EsaUJBQWlCQyxHQUFRO0lBQ3ZDLE9BQU87UUFDTEMsbUJBQW1CLE9BQU9DLFNBQVNDLFNBQVNDO1lBQzFDLE9BQU9KLElBQUlLLFlBQVksQ0FBQ0MsV0FBVyxDQUFDTixLQUFLTyxJQUFBQSxnQkFBUyxFQUFDLE1BQU1QLElBQUlRLElBQUksQ0FBQ1AsaUJBQWlCLENBQUNDLFNBQVNDLFNBQVNDO1FBQ3hHO1FBQ0FLLGVBQWUsT0FBT1AsU0FBU0MsU0FBU0M7WUFDdEMsT0FBT0osSUFBSUssWUFBWSxDQUFDSyxPQUFPLENBQUNWLEtBQUs7Z0JBQUVVLFNBQVNILElBQUFBLGdCQUFTLEVBQUMsTUFBTVAsSUFBSVEsSUFBSSxDQUFDQyxhQUFhLENBQUNQLFNBQVNDLFNBQVNDO2dCQUFVRjtZQUFRO1FBQzdIO1FBQ0FTLGFBQWEsT0FBT1QsU0FBU0MsU0FBU0M7WUFDcEMsT0FBT0osSUFBSUssWUFBWSxDQUFDTyxLQUFLLENBQUNaLEtBQUtPLElBQUFBLGdCQUFTLEVBQUMsTUFBTVAsSUFBSVEsSUFBSSxD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
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  // | object <- don't make object a primitive
6
6
 
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcHRpb25hbGl6ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBPcHRpb25hbGl6ZUF1eDxUIGV4dGVuZHMgb2JqZWN0PiA9IElkPFxuICB7XG4gICAgW0sgaW4gS2V5c1dpdGhVbmRlZmluZWQ8VD5dPzogT3B0aW9uYWxpemU8VFtLXT5cbiAgfSAmIHtcbiAgICBbSyBpbiBFeGNsdWRlPGtleW9mIFQsIEtleXNXaXRoVW5kZWZpbmVkPFQ+Pl06IFRbS10gZXh0ZW5kcyBPYmplY3RMaXRlcmFsID8gT3B0aW9uYWxpemU8VFtLXT4gOiBUW0tdXG4gIH1cbj5cblxuLyoqXG4gKiBNYWtlcyBhbGwgb2YgcHJvcGVydGllcyBpbiBUIG9wdGlvbmFsIHdoZW4gdGhleSdyZSBudWxsIHwgdW5kZWZpbmVkXG4gKiBpdCBpcyByZWN1cnNpdmVcbiAqL1xuZXhwb3J0IHR5cGUgT3B0aW9uYWxpemU8VD4gPSBUIGV4dGVuZHMgb2JqZWN0XG4gID8gVCBleHRlbmRzIHVua25vd25bXVxuICAgID8gbnVtYmVyIGV4dGVuZHMgVFsnbGVuZ3RoJ11cbiAgICAgID8gVFtudW1iZXJdIGV4dGVuZHMgb2JqZWN0XG4gICAgICAgID8gQXJyYXk8T3B0aW9uYWxpemVBdXg8VFtudW1iZXJdPj5cbiAgICAgICAgOiBUXG4gICAgICA6IFBhcnRpYWw8VD5cbiAgICA6IE9wdGlvbmFsaXplQXV4PFQ+XG4gIDogVFxuXG5leHBvcnQgdHlwZSBLZXlzV2l0aFVuZGVmaW5lZDxUPiA9IHtcbiAgW0sgaW4ga2V5b2YgVF0tPzogdW5kZWZpbmVkIGV4dGVuZHMgVFtLXSA/IEsgOiBudWxsIGV4dGVuZHMgVFtLXSA/IEsgOiBuZXZlclxufVtrZXlvZiBUXVxuXG4vKipcbiAqIGFsdGVybmF0aXZlIHRvICdvYmplY3QnIG9yICd7fSdcbiAqIEBleGFtcGxlOlxuICogZXhwb3J0IGNvbnN0IG86IE9iamVjdExpdGVyYWwgPSBbXSBhcyBvYmplY3Q7IC8vIGVycm9yXG4gKiBleHBvcnQgY29uc3Qgbzogb2JqZWN0ID0gW107IC8vIG5vIGVycm9yXG4gKi9cbmV4cG9ydCB0eXBlIE9iamVjdExpdGVyYWw8VCA9IHVua25vd24+ID0ge1xuICBbSyBpbiBQcm9wZXJ0eUtleV06IFRcbn1cblxuLyoqXG4gKiBvYmplY3QgaWRlbnRpdHkgdHlwZVxuICovXG5leHBvcnQgdHlwZSBJZDxUPiA9IFQgZXh0ZW5kcyBpbmZlciBVXG4gID8ge1xuICAgICAgW0sgaW4ga2V5b2YgVV06IFVbS11cbiAgICB9XG4gIDogbmV2ZXJcblxuLyoqIEFycmF5IHdpdGggbm8gdXRpbHR5IG1ldGhvZHMsIGFrYSBPYmplY3QuY3JlYXRlKG51bGwpICovXG5leHBvcnQgaW50ZXJmYWNlIEFycmF5V2l0aE5vUHJvdG90eXBlPFQ+IHtcbiAgW2luZGV4OiBudW1iZXJdOiBUIHwgQXJyYXlXaXRoTm9Qcm90b3R5cGU8VD5cbn1cblxuLyoqXG4gKiBBbGxvd3MgYW55IHR5cGUgYnV0IFRcbiAqIGl0IGlzIHJlY3Vyc2l2ZVxuICogQGV4YW1wbGVcbiAqIGV4cG9ydCB0eXBlIFJlcXVlc3REYXRhID0gUmVjb3JkPHN0cmluZywgQW55dGhpbmdCdXQ8YmlnaW50Pj47XG4gKi9cbmV4cG9ydCB0eXBlIEFueXRoaW5nQnV0PFQ+ID0gRXhjbHVkZTxcbiAgfCBQcmltaXRpdmVcbiAgfCB7XG4gICAgICBbSyBpbiBQcm9wZXJ0eUtleV06IEFueXRoaW5nQnV0PFQ+XG4gICAgfVxuICB8IEFycmF5V2l0aE5vUHJvdG90eXBlPFxuICAgICAgfCBQcmltaXRpdmVcbiAgICAgIHwge1xuICAgICAgICAgIFtLIGluIFByb3BlcnR5S2V5XTogQW55dGhpbmdCdXQ8VD5cbiAgICAgICAgfVxuICAgID4sXG4gIFRcbj5cblxuLyoqIE5vbiBvYmplY3QgcHJpbWl0aXZlcyAqL1xuZXhwb3J0IHR5cGUgUHJpbWl0aXZlID0gc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sIHwgYmlnaW50IHwgYm9vbGVhbiB8IHVuZGVmaW5lZCB8IG51bGxcbi8vICB8IG9iamVjdCA8LSBkb24ndCBtYWtlIG9iamVjdCBhIHByaW1pdGl2ZVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Q0F3RUEsNkNBQTZDIn0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcHRpb25hbGl6ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBPcHRpb25hbGl6ZUF1eDxUIGV4dGVuZHMgb2JqZWN0PiA9IElkPFxuICB7XG4gICAgW0sgaW4gS2V5c1dpdGhVbmRlZmluZWQ8VD5dPzogT3B0aW9uYWxpemU8VFtLXT5cbiAgfSAmIHtcbiAgICBbSyBpbiBFeGNsdWRlPGtleW9mIFQsIEtleXNXaXRoVW5kZWZpbmVkPFQ+Pl06IFRbS10gZXh0ZW5kcyBPYmplY3RMaXRlcmFsID8gT3B0aW9uYWxpemU8VFtLXT4gOiBUW0tdXG4gIH1cbj5cblxuLyoqXG4gKiBNYWtlcyBhbGwgb2YgcHJvcGVydGllcyBpbiBUIG9wdGlvbmFsIHdoZW4gdGhleSdyZSBudWxsIHwgdW5kZWZpbmVkXG4gKiBpdCBpcyByZWN1cnNpdmVcbiAqL1xuZXhwb3J0IHR5cGUgT3B0aW9uYWxpemU8VD4gPSBUIGV4dGVuZHMgb2JqZWN0XG4gID8gVCBleHRlbmRzIHVua25vd25bXVxuICAgID8gbnVtYmVyIGV4dGVuZHMgVFsnbGVuZ3RoJ11cbiAgICAgID8gVFtudW1iZXJdIGV4dGVuZHMgb2JqZWN0XG4gICAgICAgID8gT3B0aW9uYWxpemVBdXg8VFtudW1iZXJdPltdXG4gICAgICAgIDogVFxuICAgICAgOiBQYXJ0aWFsPFQ+XG4gICAgOiBPcHRpb25hbGl6ZUF1eDxUPlxuICA6IFRcblxuZXhwb3J0IHR5cGUgS2V5c1dpdGhVbmRlZmluZWQ8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdLT86IHVuZGVmaW5lZCBleHRlbmRzIFRbS10gPyBLIDogbnVsbCBleHRlbmRzIFRbS10gPyBLIDogbmV2ZXJcbn1ba2V5b2YgVF1cblxuLyoqXG4gKiBhbHRlcm5hdGl2ZSB0byAnb2JqZWN0JyBvciAne30nXG4gKiBAZXhhbXBsZTpcbiAqIGV4cG9ydCBjb25zdCBvOiBPYmplY3RMaXRlcmFsID0gW10gYXMgb2JqZWN0OyAvLyBlcnJvclxuICogZXhwb3J0IGNvbnN0IG86IG9iamVjdCA9IFtdOyAvLyBubyBlcnJvclxuICovXG5leHBvcnQgdHlwZSBPYmplY3RMaXRlcmFsPFQgPSB1bmtub3duPiA9IHtcbiAgW0sgaW4gUHJvcGVydHlLZXldOiBUXG59XG5cbi8qKlxuICogb2JqZWN0IGlkZW50aXR5IHR5cGVcbiAqL1xuZXhwb3J0IHR5cGUgSWQ8VD4gPSBUIGV4dGVuZHMgaW5mZXIgVVxuICA/IHtcbiAgICAgIFtLIGluIGtleW9mIFVdOiBVW0tdXG4gICAgfVxuICA6IG5ldmVyXG5cbi8qKiBBcnJheSB3aXRoIG5vIHV0aWx0eSBtZXRob2RzLCBha2EgT2JqZWN0LmNyZWF0ZShudWxsKSAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnJheVdpdGhOb1Byb3RvdHlwZTxUPiB7XG4gIFtpbmRleDogbnVtYmVyXTogVCB8IEFycmF5V2l0aE5vUHJvdG90eXBlPFQ+XG59XG5cbi8qKlxuICogQWxsb3dzIGFueSB0eXBlIGJ1dCBUXG4gKiBpdCBpcyByZWN1cnNpdmVcbiAqIEBleGFtcGxlXG4gKiBleHBvcnQgdHlwZSBSZXF1ZXN0RGF0YSA9IFJlY29yZDxzdHJpbmcsIEFueXRoaW5nQnV0PGJpZ2ludD4+O1xuICovXG5leHBvcnQgdHlwZSBBbnl0aGluZ0J1dDxUPiA9IEV4Y2x1ZGU8XG4gIHwgUHJpbWl0aXZlXG4gIHwge1xuICAgICAgW0sgaW4gUHJvcGVydHlLZXldOiBBbnl0aGluZ0J1dDxUPlxuICAgIH1cbiAgfCBBcnJheVdpdGhOb1Byb3RvdHlwZTxcbiAgICAgIHwgUHJpbWl0aXZlXG4gICAgICB8IHtcbiAgICAgICAgICBbSyBpbiBQcm9wZXJ0eUtleV06IEFueXRoaW5nQnV0PFQ+XG4gICAgICAgIH1cbiAgICA+LFxuICBUXG4+XG5cbi8qKiBOb24gb2JqZWN0IHByaW1pdGl2ZXMgKi9cbmV4cG9ydCB0eXBlIFByaW1pdGl2ZSA9IHN0cmluZyB8IG51bWJlciB8IHN5bWJvbCB8IGJpZ2ludCB8IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBudWxsXG4vLyAgfCBvYmplY3QgPC0gZG9uJ3QgbWFrZSBvYmplY3QgYSBwcmltaXRpdmVcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0NBd0VBLDZDQUE2QyJ9
@@ -41,4 +41,4 @@ function transformActivity(bot, payload) {
41
41
  return bot.transformers.customizers.activity(bot, payload, activity);
42
42
  }
43
43
 
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvYWN0aXZpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBY3Rpdml0eVR5cGVzLCBCb3QsIERpc2NvcmRBY3Rpdml0eSB9IGZyb20gJy4uL2luZGV4LmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQWN0aXZpdHkoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRBY3Rpdml0eSk6IEFjdGl2aXR5IHtcbiAgY29uc3QgYWN0aXZpdHkgPSB7XG4gICAgbmFtZTogcGF5bG9hZC5uYW1lLFxuICAgIHR5cGU6IHBheWxvYWQudHlwZSxcbiAgICB1cmw6IHBheWxvYWQudXJsID8/IHVuZGVmaW5lZCxcbiAgICBjcmVhdGVkQXQ6IHBheWxvYWQuY3JlYXRlZF9hdCxcbiAgICBzdGFydGVkQXQ6IHBheWxvYWQudGltZXN0YW1wcz8uc3RhcnQsXG4gICAgZW5kZWRBdDogcGF5bG9hZC50aW1lc3RhbXBzPy5lbmQsXG4gICAgYXBwbGljYXRpb25JZDogcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpIDogdW5kZWZpbmVkLFxuICAgIGRldGFpbHM6IHBheWxvYWQuZGV0YWlscyA/PyB1bmRlZmluZWQsXG4gICAgc3RhdGU6IHBheWxvYWQuc3RhdGUgPz8gdW5kZWZpbmVkLFxuICAgIGVtb2ppOiBwYXlsb2FkLmVtb2ppXG4gICAgICA/IHtcbiAgICAgICAgICBuYW1lOiBwYXlsb2FkLmVtb2ppLm5hbWUsXG4gICAgICAgICAgYW5pbWF0ZWQ6IHBheWxvYWQuZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgaWQ6IHBheWxvYWQuZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmVtb2ppLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgcGFydHlJZDogcGF5bG9hZC5wYXJ0eT8uaWQsXG4gICAgcGFydHlDdXJyZW50U2l6ZTogcGF5bG9hZC5wYXJ0eT8uc2l6ZT8uWzBdLFxuICAgIHBhcnR5TWF4U2l6ZTogcGF5bG9hZC5wYXJ0eT8uc2l6ZT8uWzFdLFxuICAgIGxhcmdlSW1hZ2U6IHBheWxvYWQuYXNzZXRzPy5sYXJnZV9pbWFnZSxcbiAgICBsYXJnZVRleHQ6IHBheWxvYWQuYXNzZXRzPy5sYXJnZV90ZXh0LFxuICAgIHNtYWxsSW1hZ2U6IHBheWxvYWQuYXNzZXRzPy5zbWFsbF9pbWFnZSxcbiAgICBzbWFsbFRleHQ6IHBheWxvYWQuYXNzZXRzPy5zbWFsbF90ZXh0LFxuICAgIGpvaW46IHBheWxvYWQuc2VjcmV0cz8uam9pbixcbiAgICBzcGVjdGF0ZTogcGF5bG9hZC5zZWNyZXRzPy5zcGVjdGF0ZSxcbiAgICBtYXRjaDogcGF5bG9hZC5zZWNyZXRzPy5tYXRjaCxcbiAgICBpbnN0YW5jZTogcGF5bG9hZC5pbnN0YW5jZSxcbiAgICBmbGFnczogcGF5bG9hZC5mbGFncyxcbiAgICBidXR0b25zOiBwYXlsb2FkLmJ1dHRvbnMsXG4gIH0gYXMgQWN0aXZpdHlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5hY3Rpdml0eShib3QsIHBheWxvYWQsIGFjdGl2aXR5KVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5IHtcbiAgam9pbj86IHN0cmluZ1xuICBmbGFncz86IG51bWJlclxuICBhcHBsaWNhdGlvbklkPzogYmlnaW50XG4gIHNwZWN0YXRlPzogc3RyaW5nXG4gIHVybD86IHN0cmluZ1xuICBzdGFydGVkQXQ/OiBudW1iZXJcbiAgZW5kZWRBdD86IG51bWJlclxuICBkZXRhaWxzPzogc3RyaW5nXG4gIHN0YXRlPzogc3RyaW5nXG4gIGVtb2ppPzoge1xuICAgIGlkPzogYmlnaW50XG4gICAgYW5pbWF0ZWQ/OiBib29sZWFuXG4gICAgbmFtZTogc3RyaW5nXG4gIH1cbiAgcGFydHlJZD86IHN0cmluZ1xuICBwYXJ0eUN1cnJlbnRTaXplPzogbnVtYmVyXG4gIHBhcnR5TWF4U2l6ZT86IG51bWJlclxuICBsYXJnZUltYWdlPzogc3RyaW5nXG4gIGxhcmdlVGV4dD86IHN0cmluZ1xuICBzbWFsbEltYWdlPzogc3RyaW5nXG4gIHNtYWxsVGV4dD86IHN0cmluZ1xuICBtYXRjaD86IHN0cmluZ1xuICBpbnN0YW5jZT86IGJvb2xlYW5cbiAgYnV0dG9ucz86IEFycmF5PHtcbiAgICB1cmw6IHN0cmluZ1xuICAgIGxhYmVsOiBzdHJpbmdcbiAgfT5cbiAgbmFtZTogc3RyaW5nXG4gIHR5cGU6IEFjdGl2aXR5VHlwZXNcbiAgY3JlYXRlZEF0OiBudW1iZXJcbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1BY3Rpdml0eSIsImJvdCIsInBheWxvYWQiLCJhY3Rpdml0eSIsIm5hbWUiLCJ0eXBlIiwidXJsIiwidW5kZWZpbmVkIiwiY3JlYXRlZEF0IiwiY3JlYXRlZF9hdCIsInN0YXJ0ZWRBdCIsInRpbWVzdGFtcHMiLCJzdGFydCIsImVuZGVkQXQiLCJlbmQiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJkZXRhaWxzIiwic3RhdGUiLCJlbW9qaSIsImFuaW1hdGVkIiwiaWQiLCJwYXJ0eUlkIiwicGFydHkiLCJwYXJ0eUN1cnJlbnRTaXplIiwic2l6ZSIsInBhcnR5TWF4U2l6ZSIsImxhcmdlSW1hZ2UiLCJhc3NldHMiLCJsYXJnZV9pbWFnZSIsImxhcmdlVGV4dCIsImxhcmdlX3RleHQiLCJzbWFsbEltYWdlIiwic21hbGxfaW1hZ2UiLCJzbWFsbFRleHQiLCJzbWFsbF90ZXh0Iiwiam9pbiIsInNlY3JldHMiLCJzcGVjdGF0ZSIsIm1hdGNoIiwiaW5zdGFuY2UiLCJmbGFncyIsImJ1dHRvbnMiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFFZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLGtCQUFrQkMsR0FBUSxFQUFFQyxPQUF3QjtJQUNsRSxNQUFNQyxXQUFXO1FBQ2ZDLE1BQU1GLFFBQVFFLElBQUk7UUFDbEJDLE1BQU1ILFFBQVFHLElBQUk7UUFDbEJDLEtBQUtKLFFBQVFJLEdBQUcsSUFBSUM7UUFDcEJDLFdBQVdOLFFBQVFPLFVBQVU7UUFDN0JDLFdBQVdSLFFBQVFTLFVBQVUsRUFBRUM7UUFDL0JDLFNBQVNYLFFBQVFTLFVBQVUsRUFBRUc7UUFDN0JDLGVBQWViLFFBQVFjLGNBQWMsR0FBR2YsSUFBSWdCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDaEIsUUFBUWMsY0FBYyxJQUFJVDtRQUM3RlksU0FBU2pCLFFBQVFpQixPQUFPLElBQUlaO1FBQzVCYSxPQUFPbEIsUUFBUWtCLEtBQUssSUFBSWI7UUFDeEJjLE9BQU9uQixRQUFRbUIsS0FBSyxHQUNoQjtZQUNFakIsTUFBTUYsUUFBUW1CLEtBQUssQ0FBQ2pCLElBQUk7WUFDeEJrQixVQUFVcEIsUUFBUW1CLEtBQUssQ0FBQ0MsUUFBUTtZQUNoQ0MsSUFBSXJCLFFBQVFtQixLQUFLLENBQUNFLEVBQUUsR0FBR3RCLElBQUlnQixZQUFZLENBQUNDLFNBQVMsQ0FBQ2hCLFFBQVFtQixLQUFLLENBQUNFLEVBQUUsSUFBSWhCO1FBQ3hFLElBQ0FBO1FBQ0ppQixTQUFTdEIsUUFBUXVCLEtBQUssRUFBRUY7UUFDeEJHLGtCQUFrQnhCLFFBQVF1QixLQUFLLEVBQUVFLE1BQU0sQ0FBQyxFQUFFO1FBQzFDQyxjQUFjMUIsUUFBUXVCLEtBQUssRUFBRUUsTUFBTSxDQUFDLEVBQUU7UUFDdENFLFlBQVkzQixRQUFRNEIsTUFBTSxFQUFFQztRQUM1QkMsV0FBVzlCLFFBQVE0QixNQUFNLEVBQUVHO1FBQzNCQyxZQUFZaEMsUUFBUTRCLE1BQU0sRUFBRUs7UUFDNUJDLFdBQVdsQyxRQUFRNEIsTUFBTSxFQUFFTztRQUMzQkMsTUFBTXBDLFFBQVFxQyxPQUFPLEVBQUVEO1FBQ3ZCRSxVQUFVdEMsUUFBUXFDLE9BQU8sRUFBRUM7UUFDM0JDLE9BQU92QyxRQUFRcUMsT0FBTyxFQUFFRTtRQUN4QkMsVUFBVXhDLFFBQVF3QyxRQUFRO1FBQzFCQyxPQUFPekMsUUFBUXlDLEtBQUs7UUFDcEJDLFNBQVMxQyxRQUFRMEMsT0FBTztJQUMxQjtJQUVBLE9BQU8zQyxJQUFJZ0IsWUFBWSxDQUFDNEIsV0FBVyxDQUFDMUMsUUFBUSxDQUFDRixLQUFLQyxTQUFTQztBQUM3RCJ9
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvYWN0aXZpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBY3Rpdml0eSwgQm90LCBEaXNjb3JkQWN0aXZpdHkgfSBmcm9tICcuLi9pbmRleC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUFjdGl2aXR5KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQWN0aXZpdHkpOiBBY3Rpdml0eSB7XG4gIGNvbnN0IGFjdGl2aXR5ID0ge1xuICAgIG5hbWU6IHBheWxvYWQubmFtZSxcbiAgICB0eXBlOiBwYXlsb2FkLnR5cGUsXG4gICAgdXJsOiBwYXlsb2FkLnVybCA/PyB1bmRlZmluZWQsXG4gICAgY3JlYXRlZEF0OiBwYXlsb2FkLmNyZWF0ZWRfYXQsXG4gICAgc3RhcnRlZEF0OiBwYXlsb2FkLnRpbWVzdGFtcHM/LnN0YXJ0LFxuICAgIGVuZGVkQXQ6IHBheWxvYWQudGltZXN0YW1wcz8uZW5kLFxuICAgIGFwcGxpY2F0aW9uSWQ6IHBheWxvYWQuYXBwbGljYXRpb25faWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmFwcGxpY2F0aW9uX2lkKSA6IHVuZGVmaW5lZCxcbiAgICBkZXRhaWxzOiBwYXlsb2FkLmRldGFpbHMgPz8gdW5kZWZpbmVkLFxuICAgIHN0YXRlOiBwYXlsb2FkLnN0YXRlID8/IHVuZGVmaW5lZCxcbiAgICBlbW9qaTogcGF5bG9hZC5lbW9qaVxuICAgICAgPyB7XG4gICAgICAgICAgbmFtZTogcGF5bG9hZC5lbW9qaS5uYW1lLFxuICAgICAgICAgIGFuaW1hdGVkOiBwYXlsb2FkLmVtb2ppLmFuaW1hdGVkLFxuICAgICAgICAgIGlkOiBwYXlsb2FkLmVtb2ppLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIHBhcnR5SWQ6IHBheWxvYWQucGFydHk/LmlkLFxuICAgIHBhcnR5Q3VycmVudFNpemU6IHBheWxvYWQucGFydHk/LnNpemU/LlswXSxcbiAgICBwYXJ0eU1heFNpemU6IHBheWxvYWQucGFydHk/LnNpemU/LlsxXSxcbiAgICBsYXJnZUltYWdlOiBwYXlsb2FkLmFzc2V0cz8ubGFyZ2VfaW1hZ2UsXG4gICAgbGFyZ2VUZXh0OiBwYXlsb2FkLmFzc2V0cz8ubGFyZ2VfdGV4dCxcbiAgICBzbWFsbEltYWdlOiBwYXlsb2FkLmFzc2V0cz8uc21hbGxfaW1hZ2UsXG4gICAgc21hbGxUZXh0OiBwYXlsb2FkLmFzc2V0cz8uc21hbGxfdGV4dCxcbiAgICBqb2luOiBwYXlsb2FkLnNlY3JldHM/LmpvaW4sXG4gICAgc3BlY3RhdGU6IHBheWxvYWQuc2VjcmV0cz8uc3BlY3RhdGUsXG4gICAgbWF0Y2g6IHBheWxvYWQuc2VjcmV0cz8ubWF0Y2gsXG4gICAgaW5zdGFuY2U6IHBheWxvYWQuaW5zdGFuY2UsXG4gICAgZmxhZ3M6IHBheWxvYWQuZmxhZ3MsXG4gICAgYnV0dG9uczogcGF5bG9hZC5idXR0b25zLFxuICB9IGFzIEFjdGl2aXR5XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuYWN0aXZpdHkoYm90LCBwYXlsb2FkLCBhY3Rpdml0eSlcbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1BY3Rpdml0eSIsImJvdCIsInBheWxvYWQiLCJhY3Rpdml0eSIsIm5hbWUiLCJ0eXBlIiwidXJsIiwidW5kZWZpbmVkIiwiY3JlYXRlZEF0IiwiY3JlYXRlZF9hdCIsInN0YXJ0ZWRBdCIsInRpbWVzdGFtcHMiLCJzdGFydCIsImVuZGVkQXQiLCJlbmQiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJkZXRhaWxzIiwic3RhdGUiLCJlbW9qaSIsImFuaW1hdGVkIiwiaWQiLCJwYXJ0eUlkIiwicGFydHkiLCJwYXJ0eUN1cnJlbnRTaXplIiwic2l6ZSIsInBhcnR5TWF4U2l6ZSIsImxhcmdlSW1hZ2UiLCJhc3NldHMiLCJsYXJnZV9pbWFnZSIsImxhcmdlVGV4dCIsImxhcmdlX3RleHQiLCJzbWFsbEltYWdlIiwic21hbGxfaW1hZ2UiLCJzbWFsbFRleHQiLCJzbWFsbF90ZXh0Iiwiam9pbiIsInNlY3JldHMiLCJzcGVjdGF0ZSIsIm1hdGNoIiwiaW5zdGFuY2UiLCJmbGFncyIsImJ1dHRvbnMiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFFZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLGtCQUFrQkMsR0FBUSxFQUFFQyxPQUF3QjtJQUNsRSxNQUFNQyxXQUFXO1FBQ2ZDLE1BQU1GLFFBQVFFLElBQUk7UUFDbEJDLE1BQU1ILFFBQVFHLElBQUk7UUFDbEJDLEtBQUtKLFFBQVFJLEdBQUcsSUFBSUM7UUFDcEJDLFdBQVdOLFFBQVFPLFVBQVU7UUFDN0JDLFdBQVdSLFFBQVFTLFVBQVUsRUFBRUM7UUFDL0JDLFNBQVNYLFFBQVFTLFVBQVUsRUFBRUc7UUFDN0JDLGVBQWViLFFBQVFjLGNBQWMsR0FBR2YsSUFBSWdCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDaEIsUUFBUWMsY0FBYyxJQUFJVDtRQUM3RlksU0FBU2pCLFFBQVFpQixPQUFPLElBQUlaO1FBQzVCYSxPQUFPbEIsUUFBUWtCLEtBQUssSUFBSWI7UUFDeEJjLE9BQU9uQixRQUFRbUIsS0FBSyxHQUNoQjtZQUNFakIsTUFBTUYsUUFBUW1CLEtBQUssQ0FBQ2pCLElBQUk7WUFDeEJrQixVQUFVcEIsUUFBUW1CLEtBQUssQ0FBQ0MsUUFBUTtZQUNoQ0MsSUFBSXJCLFFBQVFtQixLQUFLLENBQUNFLEVBQUUsR0FBR3RCLElBQUlnQixZQUFZLENBQUNDLFNBQVMsQ0FBQ2hCLFFBQVFtQixLQUFLLENBQUNFLEVBQUUsSUFBSWhCO1FBQ3hFLElBQ0FBO1FBQ0ppQixTQUFTdEIsUUFBUXVCLEtBQUssRUFBRUY7UUFDeEJHLGtCQUFrQnhCLFFBQVF1QixLQUFLLEVBQUVFLE1BQU0sQ0FBQyxFQUFFO1FBQzFDQyxjQUFjMUIsUUFBUXVCLEtBQUssRUFBRUUsTUFBTSxDQUFDLEVBQUU7UUFDdENFLFlBQVkzQixRQUFRNEIsTUFBTSxFQUFFQztRQUM1QkMsV0FBVzlCLFFBQVE0QixNQUFNLEVBQUVHO1FBQzNCQyxZQUFZaEMsUUFBUTRCLE1BQU0sRUFBRUs7UUFDNUJDLFdBQVdsQyxRQUFRNEIsTUFBTSxFQUFFTztRQUMzQkMsTUFBTXBDLFFBQVFxQyxPQUFPLEVBQUVEO1FBQ3ZCRSxVQUFVdEMsUUFBUXFDLE9BQU8sRUFBRUM7UUFDM0JDLE9BQU92QyxRQUFRcUMsT0FBTyxFQUFFRTtRQUN4QkMsVUFBVXhDLFFBQVF3QyxRQUFRO1FBQzFCQyxPQUFPekMsUUFBUXlDLEtBQUs7UUFDcEJDLFNBQVMxQyxRQUFRMEMsT0FBTztJQUMxQjtJQUVBLE9BQU8zQyxJQUFJZ0IsWUFBWSxDQUFDNEIsV0FBVyxDQUFDMUMsUUFBUSxDQUFDRixLQUFLQyxTQUFTQztBQUM3RCJ9