@discordeno/bot 22.0.1-next.3af54ca → 22.0.1-next.3d2ff13

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 (353) hide show
  1. package/dist/bot.d.ts +1 -1
  2. package/dist/bot.d.ts.map +1 -1
  3. package/dist/bot.js +2 -3
  4. package/dist/commandOptionsParser.d.ts +4 -3
  5. package/dist/commandOptionsParser.d.ts.map +1 -1
  6. package/dist/commandOptionsParser.js +1 -1
  7. package/dist/desiredProperties.d.ts +42 -18
  8. package/dist/desiredProperties.d.ts.map +1 -1
  9. package/dist/desiredProperties.js +3 -2
  10. package/dist/events.d.ts +0 -1
  11. package/dist/events.d.ts.map +1 -1
  12. package/dist/events.js +1 -1
  13. package/dist/handlers/channels/CHANNEL_CREATE.d.ts +2 -1
  14. package/dist/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -1
  15. package/dist/handlers/channels/CHANNEL_CREATE.js +1 -1
  16. package/dist/handlers/channels/THREAD_CREATE.d.ts +1 -1
  17. package/dist/handlers/channels/THREAD_CREATE.d.ts.map +1 -1
  18. package/dist/handlers/channels/THREAD_CREATE.js +1 -1
  19. package/dist/handlers/channels/THREAD_DELETE.d.ts +1 -1
  20. package/dist/handlers/channels/THREAD_DELETE.d.ts.map +1 -1
  21. package/dist/handlers/channels/THREAD_DELETE.js +1 -1
  22. package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts +1 -1
  23. package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts.map +1 -1
  24. package/dist/handlers/channels/THREAD_LIST_SYNC.js +1 -1
  25. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts +1 -1
  26. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +1 -1
  27. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js +1 -1
  28. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts +1 -1
  29. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +1 -1
  30. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.js +1 -1
  31. package/dist/handlers/channels/THREAD_UPDATE.d.ts +1 -1
  32. package/dist/handlers/channels/THREAD_UPDATE.d.ts.map +1 -1
  33. package/dist/handlers/channels/THREAD_UPDATE.js +1 -1
  34. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts +2 -1
  35. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -1
  36. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js +1 -1
  37. package/dist/handlers/integrations/INTEGRATION_CREATE.d.ts +1 -1
  38. package/dist/handlers/integrations/INTEGRATION_CREATE.d.ts.map +1 -1
  39. package/dist/handlers/integrations/INTEGRATION_CREATE.js +1 -1
  40. package/dist/handlers/integrations/INTEGRATION_DELETE.d.ts +1 -1
  41. package/dist/handlers/integrations/INTEGRATION_DELETE.d.ts.map +1 -1
  42. package/dist/handlers/integrations/INTEGRATION_DELETE.js +1 -1
  43. package/dist/handlers/integrations/INTEGRATION_UPDATE.d.ts +1 -1
  44. package/dist/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +1 -1
  45. package/dist/handlers/integrations/INTEGRATION_UPDATE.js +1 -1
  46. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts +2 -1
  47. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -1
  48. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +1 -1
  49. package/dist/handlers/interactions/INTERACTION_CREATE.d.ts +1 -1
  50. package/dist/handlers/interactions/INTERACTION_CREATE.d.ts.map +1 -1
  51. package/dist/handlers/interactions/INTERACTION_CREATE.js +1 -1
  52. package/dist/handlers/invites/INVITE_CREATE.d.ts +1 -1
  53. package/dist/handlers/invites/INVITE_CREATE.d.ts.map +1 -1
  54. package/dist/handlers/invites/INVITE_CREATE.js +1 -1
  55. package/dist/handlers/invites/INVITE_DELETE.d.ts +1 -1
  56. package/dist/handlers/invites/INVITE_DELETE.d.ts.map +1 -1
  57. package/dist/handlers/invites/INVITE_DELETE.js +1 -1
  58. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts +1 -1
  59. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +1 -1
  60. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.js +1 -1
  61. package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts +1 -1
  62. package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts.map +1 -1
  63. package/dist/handlers/members/GUILD_MEMBER_ADD.js +1 -1
  64. package/dist/handlers/members/GUILD_MEMBER_REMOVE.d.ts +1 -1
  65. package/dist/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +1 -1
  66. package/dist/handlers/members/GUILD_MEMBER_REMOVE.js +1 -1
  67. package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts +1 -1
  68. package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -1
  69. package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +1 -1
  70. package/dist/handlers/messages/MESSAGE_CREATE.d.ts +1 -1
  71. package/dist/handlers/messages/MESSAGE_CREATE.d.ts.map +1 -1
  72. package/dist/handlers/messages/MESSAGE_CREATE.js +1 -1
  73. package/dist/handlers/messages/MESSAGE_DELETE.d.ts +1 -1
  74. package/dist/handlers/messages/MESSAGE_DELETE.d.ts.map +1 -1
  75. package/dist/handlers/messages/MESSAGE_DELETE.js +1 -1
  76. package/dist/handlers/messages/MESSAGE_DELETE_BULK.d.ts +1 -1
  77. package/dist/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +1 -1
  78. package/dist/handlers/messages/MESSAGE_DELETE_BULK.js +1 -1
  79. package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts +1 -1
  80. package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -1
  81. package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +1 -1
  82. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts +1 -1
  83. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -1
  84. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +1 -1
  85. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts +1 -1
  86. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +1 -1
  87. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +1 -1
  88. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts +1 -1
  89. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -1
  90. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +1 -1
  91. package/dist/handlers/messages/MESSAGE_UPDATE.d.ts +1 -1
  92. package/dist/handlers/messages/MESSAGE_UPDATE.d.ts.map +1 -1
  93. package/dist/handlers/messages/MESSAGE_UPDATE.js +1 -1
  94. package/dist/handlers/misc/PRESENCE_UPDATE.d.ts +1 -1
  95. package/dist/handlers/misc/PRESENCE_UPDATE.d.ts.map +1 -1
  96. package/dist/handlers/misc/PRESENCE_UPDATE.js +1 -1
  97. package/dist/handlers/misc/RATE_LIMITED.d.ts +1 -1
  98. package/dist/handlers/misc/RATE_LIMITED.d.ts.map +1 -1
  99. package/dist/handlers/misc/RATE_LIMITED.js +1 -1
  100. package/dist/handlers/misc/READY.d.ts +1 -1
  101. package/dist/handlers/misc/READY.d.ts.map +1 -1
  102. package/dist/handlers/misc/READY.js +1 -1
  103. package/dist/handlers/misc/RESUMED.d.ts +1 -1
  104. package/dist/handlers/misc/RESUMED.d.ts.map +1 -1
  105. package/dist/handlers/misc/RESUMED.js +1 -1
  106. package/dist/handlers/misc/TYPING_START.d.ts +1 -1
  107. package/dist/handlers/misc/TYPING_START.d.ts.map +1 -1
  108. package/dist/handlers/misc/TYPING_START.js +1 -1
  109. package/dist/handlers/misc/USER_UPDATE.d.ts +1 -1
  110. package/dist/handlers/misc/USER_UPDATE.d.ts.map +1 -1
  111. package/dist/handlers/misc/USER_UPDATE.js +1 -1
  112. package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.d.ts +1 -1
  113. package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.d.ts.map +1 -1
  114. package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.js +1 -1
  115. package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.d.ts +1 -1
  116. package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.d.ts.map +1 -1
  117. package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.js +1 -1
  118. package/dist/handlers/roles/GUILD_ROLE_CREATE.d.ts +1 -1
  119. package/dist/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +1 -1
  120. package/dist/handlers/roles/GUILD_ROLE_CREATE.js +1 -1
  121. package/dist/handlers/roles/GUILD_ROLE_DELETE.d.ts +1 -1
  122. package/dist/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +1 -1
  123. package/dist/handlers/roles/GUILD_ROLE_DELETE.js +1 -1
  124. package/dist/handlers/roles/GUILD_ROLE_UPDATE.d.ts +1 -1
  125. package/dist/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +1 -1
  126. package/dist/handlers/roles/GUILD_ROLE_UPDATE.js +1 -1
  127. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.d.ts +1 -1
  128. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.d.ts.map +1 -1
  129. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.js +1 -1
  130. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.d.ts +1 -1
  131. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.d.ts.map +1 -1
  132. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.js +1 -1
  133. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.d.ts +1 -1
  134. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.d.ts.map +1 -1
  135. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.js +1 -1
  136. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.d.ts +1 -1
  137. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.d.ts.map +1 -1
  138. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.js +1 -1
  139. package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.d.ts +1 -1
  140. package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.d.ts.map +1 -1
  141. package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.js +1 -1
  142. package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.d.ts +1 -1
  143. package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.d.ts.map +1 -1
  144. package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.js +1 -1
  145. package/dist/handlers/voice/VOICE_SERVER_UPDATE.d.ts +1 -1
  146. package/dist/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +1 -1
  147. package/dist/handlers/voice/VOICE_SERVER_UPDATE.js +1 -1
  148. package/dist/handlers/voice/VOICE_STATE_UPDATE.d.ts +1 -1
  149. package/dist/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +1 -1
  150. package/dist/handlers/voice/VOICE_STATE_UPDATE.js +1 -1
  151. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts +1 -1
  152. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +1 -1
  153. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js +1 -1
  154. package/dist/handlers.d.ts +3 -1
  155. package/dist/handlers.d.ts.map +1 -1
  156. package/dist/handlers.js +1 -1
  157. package/dist/helpers.d.ts +2 -1
  158. package/dist/helpers.d.ts.map +1 -1
  159. package/dist/helpers.js +1 -1
  160. package/dist/transformers/activity.d.ts +3 -1
  161. package/dist/transformers/activity.d.ts.map +1 -1
  162. package/dist/transformers/activity.js +2 -1
  163. package/dist/transformers/application.d.ts +3 -1
  164. package/dist/transformers/application.d.ts.map +1 -1
  165. package/dist/transformers/application.js +3 -2
  166. package/dist/transformers/applicationCommand.d.ts +2 -1
  167. package/dist/transformers/applicationCommand.d.ts.map +1 -1
  168. package/dist/transformers/applicationCommand.js +1 -1
  169. package/dist/transformers/applicationCommandOption.d.ts +2 -1
  170. package/dist/transformers/applicationCommandOption.d.ts.map +1 -1
  171. package/dist/transformers/applicationCommandOption.js +1 -1
  172. package/dist/transformers/applicationCommandOptionChoice.d.ts +2 -1
  173. package/dist/transformers/applicationCommandOptionChoice.d.ts.map +1 -1
  174. package/dist/transformers/applicationCommandOptionChoice.js +1 -1
  175. package/dist/transformers/applicationCommandPermission.d.ts +2 -1
  176. package/dist/transformers/applicationCommandPermission.d.ts.map +1 -1
  177. package/dist/transformers/applicationCommandPermission.js +1 -1
  178. package/dist/transformers/attachment.d.ts +1 -1
  179. package/dist/transformers/attachment.d.ts.map +1 -1
  180. package/dist/transformers/attachment.js +1 -1
  181. package/dist/transformers/auditLogEntry.d.ts +2 -1
  182. package/dist/transformers/auditLogEntry.d.ts.map +1 -1
  183. package/dist/transformers/auditLogEntry.js +3 -2
  184. package/dist/transformers/automodActionExecution.d.ts +2 -1
  185. package/dist/transformers/automodActionExecution.d.ts.map +1 -1
  186. package/dist/transformers/automodActionExecution.js +1 -1
  187. package/dist/transformers/automodRule.d.ts +2 -1
  188. package/dist/transformers/automodRule.d.ts.map +1 -1
  189. package/dist/transformers/automodRule.js +1 -1
  190. package/dist/transformers/avatarDecorationData.d.ts +3 -1
  191. package/dist/transformers/avatarDecorationData.d.ts.map +1 -1
  192. package/dist/transformers/avatarDecorationData.js +2 -2
  193. package/dist/transformers/channel.d.ts +2 -1
  194. package/dist/transformers/channel.d.ts.map +1 -1
  195. package/dist/transformers/channel.js +2 -2
  196. package/dist/transformers/component.d.ts +4 -3
  197. package/dist/transformers/component.d.ts.map +1 -1
  198. package/dist/transformers/component.js +56 -29
  199. package/dist/transformers/embed.d.ts +2 -1
  200. package/dist/transformers/embed.d.ts.map +1 -1
  201. package/dist/transformers/embed.js +1 -1
  202. package/dist/transformers/emoji.d.ts +2 -1
  203. package/dist/transformers/emoji.d.ts.map +1 -1
  204. package/dist/transformers/emoji.js +1 -1
  205. package/dist/transformers/entitlement.d.ts +2 -1
  206. package/dist/transformers/entitlement.d.ts.map +1 -1
  207. package/dist/transformers/entitlement.js +1 -1
  208. package/dist/transformers/gatewayBot.d.ts +2 -1
  209. package/dist/transformers/gatewayBot.d.ts.map +1 -1
  210. package/dist/transformers/gatewayBot.js +1 -1
  211. package/dist/transformers/guild.d.ts +2 -1
  212. package/dist/transformers/guild.d.ts.map +1 -1
  213. package/dist/transformers/guild.js +1 -1
  214. package/dist/transformers/incidentsData.d.ts +2 -1
  215. package/dist/transformers/incidentsData.d.ts.map +1 -1
  216. package/dist/transformers/incidentsData.js +1 -1
  217. package/dist/transformers/integration.d.ts +2 -1
  218. package/dist/transformers/integration.d.ts.map +1 -1
  219. package/dist/transformers/integration.js +2 -2
  220. package/dist/transformers/interaction.d.ts +4 -2
  221. package/dist/transformers/interaction.d.ts.map +1 -1
  222. package/dist/transformers/interaction.js +17 -14
  223. package/dist/transformers/invite.d.ts +2 -1
  224. package/dist/transformers/invite.d.ts.map +1 -1
  225. package/dist/transformers/invite.js +3 -7
  226. package/dist/transformers/lobby.d.ts +2 -1
  227. package/dist/transformers/lobby.d.ts.map +1 -1
  228. package/dist/transformers/lobby.js +2 -2
  229. package/dist/transformers/member.js +1 -1
  230. package/dist/transformers/message.d.ts +2 -1
  231. package/dist/transformers/message.d.ts.map +1 -1
  232. package/dist/transformers/message.js +2 -2
  233. package/dist/transformers/onboarding.d.ts +2 -1
  234. package/dist/transformers/onboarding.d.ts.map +1 -1
  235. package/dist/transformers/onboarding.js +1 -1
  236. package/dist/transformers/poll.d.ts +2 -1
  237. package/dist/transformers/poll.d.ts.map +1 -1
  238. package/dist/transformers/poll.js +1 -1
  239. package/dist/transformers/presence.d.ts +2 -1
  240. package/dist/transformers/presence.d.ts.map +1 -1
  241. package/dist/transformers/presence.js +1 -1
  242. package/dist/transformers/reverse/activity.d.ts +3 -1
  243. package/dist/transformers/reverse/activity.d.ts.map +1 -1
  244. package/dist/transformers/reverse/activity.js +1 -1
  245. package/dist/transformers/reverse/allowedMentions.d.ts +2 -1
  246. package/dist/transformers/reverse/allowedMentions.d.ts.map +1 -1
  247. package/dist/transformers/reverse/allowedMentions.js +1 -1
  248. package/dist/transformers/reverse/application.d.ts +3 -1
  249. package/dist/transformers/reverse/application.d.ts.map +1 -1
  250. package/dist/transformers/reverse/application.js +2 -2
  251. package/dist/transformers/reverse/applicationCommand.d.ts +3 -1
  252. package/dist/transformers/reverse/applicationCommand.d.ts.map +1 -1
  253. package/dist/transformers/reverse/applicationCommand.js +1 -1
  254. package/dist/transformers/reverse/applicationCommandOption.d.ts +3 -1
  255. package/dist/transformers/reverse/applicationCommandOption.d.ts.map +1 -1
  256. package/dist/transformers/reverse/applicationCommandOption.js +1 -1
  257. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts +3 -1
  258. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -1
  259. package/dist/transformers/reverse/applicationCommandOptionChoice.js +1 -1
  260. package/dist/transformers/reverse/applicationCommandPermission.d.ts +3 -1
  261. package/dist/transformers/reverse/applicationCommandPermission.d.ts.map +1 -1
  262. package/dist/transformers/reverse/applicationCommandPermission.js +1 -1
  263. package/dist/transformers/reverse/attachment.d.ts +2 -1
  264. package/dist/transformers/reverse/attachment.d.ts.map +1 -1
  265. package/dist/transformers/reverse/attachment.js +1 -1
  266. package/dist/transformers/reverse/auditLogEntry.d.ts +2 -1
  267. package/dist/transformers/reverse/auditLogEntry.d.ts.map +1 -1
  268. package/dist/transformers/reverse/auditLogEntry.js +3 -2
  269. package/dist/transformers/reverse/component.d.ts +4 -3
  270. package/dist/transformers/reverse/component.d.ts.map +1 -1
  271. package/dist/transformers/reverse/component.js +22 -2
  272. package/dist/transformers/reverse/embed.d.ts +2 -1
  273. package/dist/transformers/reverse/embed.d.ts.map +1 -1
  274. package/dist/transformers/reverse/embed.js +1 -1
  275. package/dist/transformers/reverse/emoji.d.ts +2 -1
  276. package/dist/transformers/reverse/emoji.d.ts.map +1 -1
  277. package/dist/transformers/reverse/emoji.js +1 -1
  278. package/dist/transformers/reverse/presence.d.ts +2 -1
  279. package/dist/transformers/reverse/presence.d.ts.map +1 -1
  280. package/dist/transformers/reverse/presence.js +1 -1
  281. package/dist/transformers/reverse/team.d.ts +2 -1
  282. package/dist/transformers/reverse/team.d.ts.map +1 -1
  283. package/dist/transformers/reverse/team.js +2 -2
  284. package/dist/transformers/reverse/widgetSettings.d.ts +2 -1
  285. package/dist/transformers/reverse/widgetSettings.d.ts.map +1 -1
  286. package/dist/transformers/reverse/widgetSettings.js +1 -1
  287. package/dist/transformers/role.d.ts +2 -1
  288. package/dist/transformers/role.d.ts.map +1 -1
  289. package/dist/transformers/role.js +2 -2
  290. package/dist/transformers/scheduledEvent.d.ts +2 -1
  291. package/dist/transformers/scheduledEvent.d.ts.map +1 -1
  292. package/dist/transformers/scheduledEvent.js +2 -2
  293. package/dist/transformers/sku.d.ts +2 -1
  294. package/dist/transformers/sku.d.ts.map +1 -1
  295. package/dist/transformers/sku.js +1 -1
  296. package/dist/transformers/soundboardSound.d.ts +2 -1
  297. package/dist/transformers/soundboardSound.d.ts.map +1 -1
  298. package/dist/transformers/soundboardSound.js +1 -1
  299. package/dist/transformers/stageInstance.d.ts +2 -1
  300. package/dist/transformers/stageInstance.d.ts.map +1 -1
  301. package/dist/transformers/stageInstance.js +1 -1
  302. package/dist/transformers/stageInviteInstance.d.ts +2 -1
  303. package/dist/transformers/stageInviteInstance.d.ts.map +1 -1
  304. package/dist/transformers/stageInviteInstance.js +1 -1
  305. package/dist/transformers/sticker.d.ts +2 -1
  306. package/dist/transformers/sticker.d.ts.map +1 -1
  307. package/dist/transformers/sticker.js +1 -1
  308. package/dist/transformers/subscription.d.ts +2 -1
  309. package/dist/transformers/subscription.d.ts.map +1 -1
  310. package/dist/transformers/subscription.js +1 -1
  311. package/dist/transformers/team.d.ts +2 -1
  312. package/dist/transformers/team.d.ts.map +1 -1
  313. package/dist/transformers/team.js +2 -2
  314. package/dist/transformers/template.d.ts +2 -1
  315. package/dist/transformers/template.d.ts.map +1 -1
  316. package/dist/transformers/template.js +1 -1
  317. package/dist/transformers/threadMember.d.ts +2 -1
  318. package/dist/transformers/threadMember.d.ts.map +1 -1
  319. package/dist/transformers/threadMember.js +4 -2
  320. package/dist/transformers/toggles/guild.d.ts +3 -3
  321. package/dist/transformers/toggles/guild.d.ts.map +1 -1
  322. package/dist/transformers/toggles/guild.js +3 -3
  323. package/dist/transformers/toggles/member.d.ts +2 -2
  324. package/dist/transformers/toggles/member.d.ts.map +1 -1
  325. package/dist/transformers/toggles/member.js +2 -2
  326. package/dist/transformers/types.d.ts +25 -11
  327. package/dist/transformers/types.d.ts.map +1 -1
  328. package/dist/transformers/types.js +1 -1
  329. package/dist/transformers/user.d.ts +2 -1
  330. package/dist/transformers/user.d.ts.map +1 -1
  331. package/dist/transformers/user.js +3 -2
  332. package/dist/transformers/voiceRegion.d.ts +2 -1
  333. package/dist/transformers/voiceRegion.d.ts.map +1 -1
  334. package/dist/transformers/voiceRegion.js +1 -1
  335. package/dist/transformers/voiceState.d.ts +2 -1
  336. package/dist/transformers/voiceState.d.ts.map +1 -1
  337. package/dist/transformers/voiceState.js +1 -1
  338. package/dist/transformers/webhook.d.ts +1 -1
  339. package/dist/transformers/webhook.d.ts.map +1 -1
  340. package/dist/transformers/webhook.js +2 -2
  341. package/dist/transformers/welcomeScreen.d.ts +2 -1
  342. package/dist/transformers/welcomeScreen.d.ts.map +1 -1
  343. package/dist/transformers/welcomeScreen.js +1 -1
  344. package/dist/transformers/widget.d.ts +2 -1
  345. package/dist/transformers/widget.d.ts.map +1 -1
  346. package/dist/transformers/widget.js +1 -1
  347. package/dist/transformers/widgetSettings.d.ts +2 -1
  348. package/dist/transformers/widgetSettings.d.ts.map +1 -1
  349. package/dist/transformers/widgetSettings.js +1 -1
  350. package/dist/transformers.d.ts +37 -132
  351. package/dist/transformers.d.ts.map +1 -1
  352. package/dist/transformers.js +57 -3
  353. package/package.json +13 -13
@@ -144,4 +144,4 @@ export function transformGuild(bot, payload, extra) {
144
144
  return bot.transformers.customizers.guild(bot, payload, guild, extra);
145
145
  }
146
146
 
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ3VpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbm5lbFR5cGVzLCB0eXBlIERpc2NvcmRHdWlsZCwgdHlwZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENvbGxlY3Rpb24sIGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHsgQm90LCBDaGFubmVsLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBHdWlsZCwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgeyBHdWlsZFRvZ2dsZXMgfSBmcm9tICcuL3RvZ2dsZXMvZ3VpbGQuanMnXG5cbmV4cG9ydCBjb25zdCBiYXNlR3VpbGQ6IEd1aWxkID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEd1aWxkKSxcblxuICBnZXQgdGhyZWFkcygpIHtcbiAgICBpZiAoIXRoaXMuY2hhbm5lbHMpIHJldHVybiBuZXcgQ29sbGVjdGlvbjxiaWdpbnQsIENoYW5uZWw+KClcblxuICAgIGNvbnN0IHRocmVhZHMgPSB0aGlzLmNoYW5uZWxzXG4gICAgICAuYXJyYXkoKVxuICAgICAgLmZpbHRlcigoeCkgPT4geC50eXBlID09PSBDaGFubmVsVHlwZXMuUHVibGljVGhyZWFkIHx8IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLlByaXZhdGVUaHJlYWQgfHwgeC50eXBlID09PSBDaGFubmVsVHlwZXMuQW5ub3VuY2VtZW50VGhyZWFkKVxuXG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uKHRocmVhZHMubWFwKCh4KSA9PiBbeC5pZCwgeF0pKVxuICB9LFxuICBnZXQgZmVhdHVyZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9nZ2xlcy5mZWF0dXJlc1xuICB9LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtR3VpbGQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRHdWlsZCwgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSk6IEd1aWxkIHtcbiAgY29uc3QgZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5ndWlsZFxuICBjb25zdCBndWlsZDogU2V0dXBEZXNpcmVkUHJvcHM8R3VpbGQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiA9IE9iamVjdC5jcmVhdGUoYmFzZUd1aWxkKVxuXG4gIGlmIChwcm9wcy5hZmtUaW1lb3V0ICYmIHBheWxvYWQuYWZrX3RpbWVvdXQpIGd1aWxkLmFma1RpbWVvdXQgPSBwYXlsb2FkLmFma190aW1lb3V0XG4gIGlmIChwcm9wcy5hcHByb3hpbWF0ZU1lbWJlckNvdW50ICYmIHBheWxvYWQuYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50KSBndWlsZC5hcHByb3hpbWF0ZU1lbWJlckNvdW50ID0gcGF5bG9hZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnRcbiAgaWYgKHByb3BzLmFwcHJveGltYXRlUHJlc2VuY2VDb3VudCAmJiBwYXlsb2FkLmFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50KSBndWlsZC5hcHByb3hpbWF0ZVByZXNlbmNlQ291bnQgPSBwYXlsb2FkLmFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50XG4gIGlmIChwcm9wcy5kZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbnMpIGd1aWxkLmRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyA9IHBheWxvYWQuZGVmYXVsdF9tZXNzYWdlX25vdGlmaWNhdGlvbnNcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGd1aWxkLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvblxuICBpZiAocHJvcHMudG9nZ2xlcykgZ3VpbGQudG9nZ2xlcyA9IG5ldyBHdWlsZFRvZ2dsZXMocGF5bG9hZClcbiAgaWYgKHByb3BzLmV4cGxpY2l0Q29udGVudEZpbHRlcikgZ3VpbGQuZXhwbGljaXRDb250ZW50RmlsdGVyID0gcGF5bG9hZC5leHBsaWNpdF9jb250ZW50X2ZpbHRlclxuICBpZiAocHJvcHMubWF4TWVtYmVycyAmJiBwYXlsb2FkLm1heF9tZW1iZXJzKSBndWlsZC5tYXhNZW1iZXJzID0gcGF5bG9hZC5tYXhfbWVtYmVyc1xuICBpZiAocHJvcHMubWF4UHJlc2VuY2VzICYmIHBheWxvYWQubWF4X3ByZXNlbmNlcykgZ3VpbGQubWF4UHJlc2VuY2VzID0gcGF5bG9hZC5tYXhfcHJlc2VuY2VzID8/IHVuZGVmaW5lZFxuICBpZiAocHJvcHMubWF4VmlkZW9DaGFubmVsVXNlcnMgJiYgcGF5bG9hZC5tYXhfdmlkZW9fY2hhbm5lbF91c2VycykgZ3VpbGQubWF4VmlkZW9DaGFubmVsVXNlcnMgPSBwYXlsb2FkLm1heF92aWRlb19jaGFubmVsX3VzZXJzXG4gIGlmIChwcm9wcy5tYXhTdGFnZVZpZGVvQ2hhbm5lbFVzZXJzICYmIHBheWxvYWQubWF4X3N0YWdlX3ZpZGVvX2NoYW5uZWxfdXNlcnMpXG4gICAgZ3VpbGQubWF4U3RhZ2VWaWRlb0NoYW5uZWxVc2VycyA9IHBheWxvYWQubWF4X3N0YWdlX3ZpZGVvX2NoYW5uZWxfdXNlcnNcbiAgaWYgKHByb3BzLm1mYUxldmVsKSBndWlsZC5tZmFMZXZlbCA9IHBheWxvYWQubWZhX2xldmVsXG4gIGlmIChwcm9wcy5uYW1lICYmIHBheWxvYWQubmFtZSkgZ3VpbGQubmFtZSA9IHBheWxvYWQubmFtZVxuICBpZiAocHJvcHMubnNmd0xldmVsKSBndWlsZC5uc2Z3TGV2ZWwgPSBwYXlsb2FkLm5zZndfbGV2ZWxcbiAgaWYgKHByb3BzLnByZWZlcnJlZExvY2FsZSAmJiBwYXlsb2FkLnByZWZlcnJlZF9sb2NhbGUpIGd1aWxkLnByZWZlcnJlZExvY2FsZSA9IHBheWxvYWQucHJlZmVycmVkX2xvY2FsZVxuICBpZiAocHJvcHMucHJlbWl1bVN1YnNjcmlwdGlvbkNvdW50ICYmIHBheWxvYWQucHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnQgIT09IHVuZGVmaW5lZClcbiAgICBndWlsZC5wcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQgPSBwYXlsb2FkLnByZW1pdW1fc3Vic2NyaXB0aW9uX2NvdW50XG4gIGlmIChwcm9wcy5wcmVtaXVtVGllcikgZ3VpbGQucHJlbWl1bVRpZXIgPSBwYXlsb2FkLnByZW1pdW1fdGllclxuICBpZiAocHJvcHMuc3RhZ2VJbnN0YW5jZXMgJiYgcGF5bG9hZC5zdGFnZV9pbnN0YW5jZXMpXG4gICAgZ3VpbGQuc3RhZ2VJbnN0YW5jZXMgPSBwYXlsb2FkLnN0YWdlX2luc3RhbmNlcy5tYXAoKHNpKSA9PiAoe1xuICAgICAgLyoqIFRoZSBpZCBvZiB0aGlzIFN0YWdlIGluc3RhbmNlICovXG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoc2kuaWQpLFxuICAgICAgLyoqIFRoZSBndWlsZCBpZCBvZiB0aGUgYXNzb2NpYXRlZCBTdGFnZSBjaGFubmVsICovXG4gICAgICBndWlsZElkLFxuICAgICAgLyoqIFRoZSBpZCBvZiB0aGUgYXNzb2NpYXRlZCBTdGFnZSBjaGFubmVsICovXG4gICAgICBjaGFubmVsSWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHNpLmNoYW5uZWxfaWQpLFxuICAgICAgLyoqIFRoZSB0b3BpYyBvZiB0aGUgU3RhZ2UgaW5zdGFuY2UgKDEtMTIwIGNoYXJhY3RlcnMpICovXG4gICAgICB0b3BpYzogc2kudG9waWMsXG4gICAgfSkpXG4gIGlmIChwcm9wcy5jaGFubmVscyAmJiAoISFwYXlsb2FkLmNoYW5uZWxzIHx8ICEhcGF5bG9hZC50aHJlYWRzKSlcbiAgICBndWlsZC5jaGFubmVscyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgWy4uLihwYXlsb2FkLmNoYW5uZWxzID8/IFtdKSwgLi4uKHBheWxvYWQudGhyZWFkcyA/PyBbXSldLm1hcCgoY2hhbm5lbCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCBjaGFubmVsLCB7IGd1aWxkSWQgfSlcbiAgICAgICAgLy8gVE9ETzogV2Ugc2hvdWxkIGNoZWNrIHRoYXQgaWQgZXhpc3RzLCBvciBlbHNlIHRoZSBjb2xsZWN0aW9uIHdpbGwgaGF2ZSB1bmRlZmluZWQgYXMgaXQncyBrZXkgKFRoaXMgaXMgdmFsaWQgZm9yIGFsbCB0aGUgY29sbGVjdGlvbnMgYmVsb3cgYXMgd2VsbClcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogU2VlIFRPRE8gYWJvdmVcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQuaWQsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLm1lbWJlcnMgJiYgcGF5bG9hZC5tZW1iZXJzKVxuICAgIGd1aWxkLm1lbWJlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQubWVtYmVycy5tYXAoKG1lbWJlcikgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIG1lbWJlciwgeyBndWlsZElkLCB1c2VySWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG1lbWJlci51c2VyIS5pZCkgfSlcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogU2VlIFRPRE8gYWJvdmVcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQuaWQsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLnJvbGVzICYmIHBheWxvYWQucm9sZXMpXG4gICAgZ3VpbGQucm9sZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQucm9sZXMubWFwKChyb2xlKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHJvbGUsIHsgZ3VpbGRJZCB9KVxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiBTZWUgVE9ETyBhYm92ZVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMuZW1vamlzICYmIHBheWxvYWQuZW1vamlzKVxuICAgIGd1aWxkLmVtb2ppcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5lbW9qaXMubWFwKChlbW9qaSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgZW1vamkpXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IFNlZSBUT0RPIGFib3ZlXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkISwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMudm9pY2VTdGF0ZXMgJiYgcGF5bG9hZC52b2ljZV9zdGF0ZXMpXG4gICAgZ3VpbGQudm9pY2VTdGF0ZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQudm9pY2Vfc3RhdGVzLm1hcCgodm9pY2VTdGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLnZvaWNlU3RhdGUoYm90LCB2b2ljZVN0YXRlLCB7IGd1aWxkSWQgfSlcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogU2VlIFRPRE8gYWJvdmVcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQudXNlcklkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5zdGlja2VycyAmJiBwYXlsb2FkLnN0aWNrZXJzKVxuICAgIGd1aWxkLnN0aWNrZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLnN0aWNrZXJzPy5tYXAoKHN0aWNrZXIpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyKGJvdCwgc3RpY2tlcilcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogU2VlIFRPRE8gYWJvdmVcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQuaWQsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLnN5c3RlbUNoYW5uZWxGbGFncyAmJiBwYXlsb2FkLnN5c3RlbV9jaGFubmVsX2ZsYWdzKSBndWlsZC5zeXN0ZW1DaGFubmVsRmxhZ3MgPSBwYXlsb2FkLnN5c3RlbV9jaGFubmVsX2ZsYWdzXG4gIGlmIChwcm9wcy52YW5pdHlVcmxDb2RlICYmIHBheWxvYWQudmFuaXR5X3VybF9jb2RlKSBndWlsZC52YW5pdHlVcmxDb2RlID0gcGF5bG9hZC52YW5pdHlfdXJsX2NvZGVcbiAgaWYgKHByb3BzLnZlcmlmaWNhdGlvbkxldmVsKSBndWlsZC52ZXJpZmljYXRpb25MZXZlbCA9IHBheWxvYWQudmVyaWZpY2F0aW9uX2xldmVsXG4gIGlmIChwcm9wcy53ZWxjb21lU2NyZWVuICYmIHBheWxvYWQud2VsY29tZV9zY3JlZW4pXG4gICAgZ3VpbGQud2VsY29tZVNjcmVlbiA9IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLndlbGNvbWVfc2NyZWVuLmRlc2NyaXB0aW9uID8/IHVuZGVmaW5lZCxcbiAgICAgIHdlbGNvbWVDaGFubmVsczogcGF5bG9hZC53ZWxjb21lX3NjcmVlbi53ZWxjb21lX2NoYW5uZWxzLm1hcCgod2MpID0+ICh7XG4gICAgICAgIGNoYW5uZWxJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uod2MuY2hhbm5lbF9pZCksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB3Yy5kZXNjcmlwdGlvbixcbiAgICAgICAgZW1vamlJZDogd2MuZW1vamlfaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh3Yy5lbW9qaV9pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgIGVtb2ppTmFtZTogd2MuZW1vamlfbmFtZSA/PyB1bmRlZmluZWQsXG4gICAgICB9KSksXG4gICAgfVxuICBpZiAocHJvcHMuZGlzY292ZXJ5U3BsYXNoICYmIHBheWxvYWQuZGlzY292ZXJ5X3NwbGFzaCkgZ3VpbGQuZGlzY292ZXJ5U3BsYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmRpc2NvdmVyeV9zcGxhc2gpXG4gIGlmIChwcm9wcy5qb2luZWRBdCAmJiBwYXlsb2FkLmpvaW5lZF9hdCkgZ3VpbGQuam9pbmVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuam9pbmVkX2F0KVxuICBpZiAocHJvcHMubWVtYmVyQ291bnQgJiYgcGF5bG9hZC5tZW1iZXJfY291bnQpIGd1aWxkLm1lbWJlckNvdW50ID0gcGF5bG9hZC5tZW1iZXJfY291bnQgPz8gMFxuICBpZiAocHJvcHMuc2hhcmRJZCAmJiBleHRyYT8uc2hhcmRJZCkgZ3VpbGQuc2hhcmRJZCA9IGV4dHJhLnNoYXJkSWRcbiAgaWYgKHByb3BzLmljb24gJiYgcGF5bG9hZC5pY29uKSBndWlsZC5pY29uID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmljb24pXG4gIGlmIChwcm9wcy5iYW5uZXIgJiYgcGF5bG9hZC5iYW5uZXIpIGd1aWxkLmJhbm5lciA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5iYW5uZXIpXG4gIGlmIChwcm9wcy5zcGxhc2ggJiYgcGF5bG9hZC5zcGxhc2gpIGd1aWxkLnNwbGFzaCA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5zcGxhc2gpXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBndWlsZC5pZCA9IGd1aWxkSWRcbiAgaWYgKHByb3BzLm93bmVySWQgJiYgcGF5bG9hZC5vd25lcl9pZCkgZ3VpbGQub3duZXJJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQub3duZXJfaWQpXG4gIGlmIChwcm9wcy5wZXJtaXNzaW9ucyAmJiBwYXlsb2FkLnBlcm1pc3Npb25zKSBndWlsZC5wZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucGVybWlzc2lvbnMpXG4gIGlmIChwcm9wcy5hZmtDaGFubmVsSWQgJiYgcGF5bG9hZC5hZmtfY2hhbm5lbF9pZCkgZ3VpbGQuYWZrQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hZmtfY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLndpZGdldENoYW5uZWxJZCAmJiBwYXlsb2FkLndpZGdldF9jaGFubmVsX2lkKSBndWlsZC53aWRnZXRDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLndpZGdldF9jaGFubmVsX2lkKVxuICBpZiAocHJvcHMuYXBwbGljYXRpb25JZCAmJiBwYXlsb2FkLmFwcGxpY2F0aW9uX2lkKSBndWlsZC5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZClcbiAgaWYgKHByb3BzLnN5c3RlbUNoYW5uZWxJZCAmJiBwYXlsb2FkLnN5c3RlbV9jaGFubmVsX2lkKSBndWlsZC5zeXN0ZW1DaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnN5c3RlbV9jaGFubmVsX2lkKVxuICBpZiAocHJvcHMucnVsZXNDaGFubmVsSWQgJiYgcGF5bG9hZC5ydWxlc19jaGFubmVsX2lkKSBndWlsZC5ydWxlc0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucnVsZXNfY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLnB1YmxpY1VwZGF0ZXNDaGFubmVsSWQgJiYgcGF5bG9hZC5wdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkKVxuICAgIGd1aWxkLnB1YmxpY1VwZGF0ZXNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnB1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5wcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkICYmIHBheWxvYWQucHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZCkgZ3VpbGQucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCA9IHBheWxvYWQucHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZFxuICBpZiAocHJvcHMubGFyZ2UgJiYgcGF5bG9hZC5sYXJnZSkgZ3VpbGQubGFyZ2UgPSBwYXlsb2FkLmxhcmdlXG4gIGlmIChwcm9wcy5vd25lciAmJiBwYXlsb2FkLm93bmVyKSBndWlsZC5vd25lciA9IHBheWxvYWQub3duZXJcbiAgaWYgKHByb3BzLndpZGdldEVuYWJsZWQgJiYgcGF5bG9hZC53aWRnZXRfZW5hYmxlZCkgZ3VpbGQud2lkZ2V0RW5hYmxlZCA9IHBheWxvYWQud2lkZ2V0X2VuYWJsZWRcbiAgaWYgKHByb3BzLnVuYXZhaWxhYmxlICYmIHBheWxvYWQudW5hdmFpbGFibGUpIGd1aWxkLnVuYXZhaWxhYmxlID0gcGF5bG9hZC51bmF2YWlsYWJsZVxuICBpZiAocHJvcHMuaWNvbkhhc2ggJiYgcGF5bG9hZC5pY29uX2hhc2gpIGd1aWxkLmljb25IYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmljb25faGFzaClcbiAgaWYgKHByb3BzLnByZXNlbmNlcyAmJiBwYXlsb2FkLnByZXNlbmNlcylcbiAgICBndWlsZC5wcmVzZW5jZXMgPSBwYXlsb2FkLnByZXNlbmNlcz8ubWFwKChwcmVzZW5jZSkgPT4gYm90LnRyYW5zZm9ybWVycy5wcmVzZW5jZShib3QsIHByZXNlbmNlIGFzIERpc2NvcmRQcmVzZW5jZVVwZGF0ZSkpXG4gIGlmIChwcm9wcy5zYWZldHlBbGVydHNDaGFubmVsSWQgJiYgcGF5bG9hZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpXG4gICAgZ3VpbGQuc2FmZXR5QWxlcnRzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5pbmNpZGVudHNEYXRhICYmIHBheWxvYWQuaW5jaWRlbnRzX2RhdGEpIGd1aWxkLmluY2lkZW50c0RhdGEgPSBib3QudHJhbnNmb3JtZXJzLmluY2lkZW50c0RhdGEoYm90LCBwYXlsb2FkLmluY2lkZW50c19kYXRhKVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmd1aWxkKGJvdCwgcGF5bG9hZCwgZ3VpbGQsIGV4dHJhKVxufVxuIl0sIm5hbWVzIjpbIkNoYW5uZWxUeXBlcyIsIkNvbGxlY3Rpb24iLCJpY29uSGFzaFRvQmlnSW50IiwiR3VpbGRUb2dnbGVzIiwiYmFzZUd1aWxkIiwidW5kZWZpbmVkIiwidGhyZWFkcyIsImNoYW5uZWxzIiwiYXJyYXkiLCJmaWx0ZXIiLCJ4IiwidHlwZSIsIlB1YmxpY1RocmVhZCIsIlByaXZhdGVUaHJlYWQiLCJBbm5vdW5jZW1lbnRUaHJlYWQiLCJtYXAiLCJpZCIsImZlYXR1cmVzIiwidG9nZ2xlcyIsInRyYW5zZm9ybUd1aWxkIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwiZ3VpbGRJZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJndWlsZCIsIk9iamVjdCIsImNyZWF0ZSIsImFma1RpbWVvdXQiLCJhZmtfdGltZW91dCIsImFwcHJveGltYXRlTWVtYmVyQ291bnQiLCJhcHByb3hpbWF0ZV9tZW1iZXJfY291bnQiLCJhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQiLCJhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudCIsImRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyIsImRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zIiwiZGVzY3JpcHRpb24iLCJleHBsaWNpdENvbnRlbnRGaWx0ZXIiLCJleHBsaWNpdF9jb250ZW50X2ZpbHRlciIsIm1heE1lbWJlcnMiLCJtYXhfbWVtYmVycyIsIm1heFByZXNlbmNlcyIsIm1heF9wcmVzZW5jZXMiLCJtYXhWaWRlb0NoYW5uZWxVc2VycyIsIm1heF92aWRlb19jaGFubmVsX3VzZXJzIiwibWF4U3RhZ2VWaWRlb0NoYW5uZWxVc2VycyIsIm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzIiwibWZhTGV2ZWwiLCJtZmFfbGV2ZWwiLCJuYW1lIiwibnNmd0xldmVsIiwibnNmd19sZXZlbCIsInByZWZlcnJlZExvY2FsZSIsInByZWZlcnJlZF9sb2NhbGUiLCJwcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQiLCJwcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudCIsInByZW1pdW1UaWVyIiwicHJlbWl1bV90aWVyIiwic3RhZ2VJbnN0YW5jZXMiLCJzdGFnZV9pbnN0YW5jZXMiLCJzaSIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJ0b3BpYyIsImNoYW5uZWwiLCJyZXN1bHQiLCJtZW1iZXJzIiwibWVtYmVyIiwidXNlcklkIiwidXNlciIsInJvbGVzIiwicm9sZSIsImVtb2ppcyIsImVtb2ppIiwidm9pY2VTdGF0ZXMiLCJ2b2ljZV9zdGF0ZXMiLCJ2b2ljZVN0YXRlIiwic3RpY2tlcnMiLCJzdGlja2VyIiwic3lzdGVtQ2hhbm5lbEZsYWdzIiwic3lzdGVtX2NoYW5uZWxfZmxhZ3MiLCJ2YW5pdHlVcmxDb2RlIiwidmFuaXR5X3VybF9jb2RlIiwidmVyaWZpY2F0aW9uTGV2ZWwiLCJ2ZXJpZmljYXRpb25fbGV2ZWwiLCJ3ZWxjb21lU2NyZWVuIiwid2VsY29tZV9zY3JlZW4iLCJ3ZWxjb21lQ2hhbm5lbHMiLCJ3ZWxjb21lX2NoYW5uZWxzIiwid2MiLCJlbW9qaUlkIiwiZW1vamlfaWQiLCJlbW9qaU5hbWUiLCJlbW9qaV9uYW1lIiwiZGlzY292ZXJ5U3BsYXNoIiwiZGlzY292ZXJ5X3NwbGFzaCIsImpvaW5lZEF0Iiwiam9pbmVkX2F0IiwiRGF0ZSIsInBhcnNlIiwibWVtYmVyQ291bnQiLCJtZW1iZXJfY291bnQiLCJzaGFyZElkIiwiaWNvbiIsImJhbm5lciIsInNwbGFzaCIsIm93bmVySWQiLCJvd25lcl9pZCIsInBlcm1pc3Npb25zIiwiYWZrQ2hhbm5lbElkIiwiYWZrX2NoYW5uZWxfaWQiLCJ3aWRnZXRDaGFubmVsSWQiLCJ3aWRnZXRfY2hhbm5lbF9pZCIsImFwcGxpY2F0aW9uSWQiLCJhcHBsaWNhdGlvbl9pZCIsInN5c3RlbUNoYW5uZWxJZCIsInN5c3RlbV9jaGFubmVsX2lkIiwicnVsZXNDaGFubmVsSWQiLCJydWxlc19jaGFubmVsX2lkIiwicHVibGljVXBkYXRlc0NoYW5uZWxJZCIsInB1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQiLCJwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkIiwicHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZCIsImxhcmdlIiwib3duZXIiLCJ3aWRnZXRFbmFibGVkIiwid2lkZ2V0X2VuYWJsZWQiLCJ1bmF2YWlsYWJsZSIsImljb25IYXNoIiwiaWNvbl9oYXNoIiwicHJlc2VuY2VzIiwicHJlc2VuY2UiLCJzYWZldHlBbGVydHNDaGFubmVsSWQiLCJzYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQiLCJpbmNpZGVudHNEYXRhIiwiaW5jaWRlbnRzX2RhdGEiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsWUFBWSxRQUF1RCxvQkFBbUI7QUFDL0YsU0FBU0MsVUFBVSxFQUFFQyxnQkFBZ0IsUUFBUSxvQkFBbUI7QUFFaEUsU0FBU0MsWUFBWSxRQUFRLHFCQUFvQjtBQUVqRCxPQUFPLE1BQU1DLFlBQW1CO0lBQzlCLDJFQUEyRTtJQUMzRSxHQUFJQyxTQUFTO0lBRWIsSUFBSUMsV0FBVTtRQUNaLElBQUksQ0FBQyxJQUFJLENBQUNDLFFBQVEsRUFBRSxPQUFPLElBQUlOO1FBRS9CLE1BQU1LLFVBQVUsSUFBSSxDQUFDQyxRQUFRLENBQzFCQyxLQUFLLEdBQ0xDLE1BQU0sQ0FBQyxDQUFDQyxJQUFNQSxFQUFFQyxJQUFJLEtBQUtYLGFBQWFZLFlBQVksSUFBSUYs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
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ3VpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbm5lbFR5cGVzLCB0eXBlIERpc2NvcmRHdWlsZCwgdHlwZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENvbGxlY3Rpb24sIGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJ1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcydcbmltcG9ydCB7IEd1aWxkVG9nZ2xlcyB9IGZyb20gJy4vdG9nZ2xlcy9ndWlsZC5qcydcbmltcG9ydCB0eXBlIHsgQ2hhbm5lbCwgR3VpbGQgfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5leHBvcnQgY29uc3QgYmFzZUd1aWxkOiBHdWlsZCA9IHtcbiAgLy8gVGhpcyBhbGxvd3MgdHlwZXNjcmlwdCB0byBzdGlsbCBjaGVjayBmb3IgdHlwZSBlcnJvcnMgb24gZnVuY3Rpb25zIGJlbG93XG4gIC4uLih1bmRlZmluZWQgYXMgdW5rbm93biBhcyBHdWlsZCksXG5cbiAgZ2V0IHRocmVhZHMoKSB7XG4gICAgaWYgKCF0aGlzLmNoYW5uZWxzKSByZXR1cm4gbmV3IENvbGxlY3Rpb248YmlnaW50LCBDaGFubmVsPigpXG5cbiAgICBjb25zdCB0aHJlYWRzID0gdGhpcy5jaGFubmVsc1xuICAgICAgLmFycmF5KClcbiAgICAgIC5maWx0ZXIoKHgpID0+IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLlB1YmxpY1RocmVhZCB8fCB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5Qcml2YXRlVGhyZWFkIHx8IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLkFubm91bmNlbWVudFRocmVhZClcblxuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbih0aHJlYWRzLm1hcCgoeCkgPT4gW3guaWQsIHhdKSlcbiAgfSxcbiAgZ2V0IGZlYXR1cmVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvZ2dsZXMuZmVhdHVyZXNcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUd1aWxkKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkR3VpbGQsIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0pOiBHdWlsZCB7XG4gIGNvbnN0IGd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGRcbiAgY29uc3QgZ3VpbGQ6IFNldHVwRGVzaXJlZFByb3BzPEd1aWxkLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSBPYmplY3QuY3JlYXRlKGJhc2VHdWlsZClcblxuICBpZiAocHJvcHMuYWZrVGltZW91dCAmJiBwYXlsb2FkLmFma190aW1lb3V0KSBndWlsZC5hZmtUaW1lb3V0ID0gcGF5bG9hZC5hZmtfdGltZW91dFxuICBpZiAocHJvcHMuYXBwcm94aW1hdGVNZW1iZXJDb3VudCAmJiBwYXlsb2FkLmFwcHJveGltYXRlX21lbWJlcl9jb3VudCkgZ3VpbGQuYXBwcm94aW1hdGVNZW1iZXJDb3VudCA9IHBheWxvYWQuYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50XG4gIGlmIChwcm9wcy5hcHByb3hpbWF0ZVByZXNlbmNlQ291bnQgJiYgcGF5bG9hZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudCkgZ3VpbGQuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ID0gcGF5bG9hZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudFxuICBpZiAocHJvcHMuZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zKSBndWlsZC5kZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbnMgPSBwYXlsb2FkLmRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zXG4gIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiBwYXlsb2FkLmRlc2NyaXB0aW9uKSBndWlsZC5kZXNjcmlwdGlvbiA9IHBheWxvYWQuZGVzY3JpcHRpb25cbiAgaWYgKHByb3BzLnRvZ2dsZXMpIGd1aWxkLnRvZ2dsZXMgPSBuZXcgR3VpbGRUb2dnbGVzKHBheWxvYWQpXG4gIGlmIChwcm9wcy5leHBsaWNpdENvbnRlbnRGaWx0ZXIpIGd1aWxkLmV4cGxpY2l0Q29udGVudEZpbHRlciA9IHBheWxvYWQuZXhwbGljaXRfY29udGVudF9maWx0ZXJcbiAgaWYgKHByb3BzLm1heE1lbWJlcnMgJiYgcGF5bG9hZC5tYXhfbWVtYmVycykgZ3VpbGQubWF4TWVtYmVycyA9IHBheWxvYWQubWF4X21lbWJlcnNcbiAgaWYgKHByb3BzLm1heFByZXNlbmNlcyAmJiBwYXlsb2FkLm1heF9wcmVzZW5jZXMpIGd1aWxkLm1heFByZXNlbmNlcyA9IHBheWxvYWQubWF4X3ByZXNlbmNlcyA/PyB1bmRlZmluZWRcbiAgaWYgKHByb3BzLm1heFZpZGVvQ2hhbm5lbFVzZXJzICYmIHBheWxvYWQubWF4X3ZpZGVvX2NoYW5uZWxfdXNlcnMpIGd1aWxkLm1heFZpZGVvQ2hhbm5lbFVzZXJzID0gcGF5bG9hZC5tYXhfdmlkZW9fY2hhbm5lbF91c2Vyc1xuICBpZiAocHJvcHMubWF4U3RhZ2VWaWRlb0NoYW5uZWxVc2VycyAmJiBwYXlsb2FkLm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzKVxuICAgIGd1aWxkLm1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnMgPSBwYXlsb2FkLm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzXG4gIGlmIChwcm9wcy5tZmFMZXZlbCkgZ3VpbGQubWZhTGV2ZWwgPSBwYXlsb2FkLm1mYV9sZXZlbFxuICBpZiAocHJvcHMubmFtZSAmJiBwYXlsb2FkLm5hbWUpIGd1aWxkLm5hbWUgPSBwYXlsb2FkLm5hbWVcbiAgaWYgKHByb3BzLm5zZndMZXZlbCkgZ3VpbGQubnNmd0xldmVsID0gcGF5bG9hZC5uc2Z3X2xldmVsXG4gIGlmIChwcm9wcy5wcmVmZXJyZWRMb2NhbGUgJiYgcGF5bG9hZC5wcmVmZXJyZWRfbG9jYWxlKSBndWlsZC5wcmVmZXJyZWRMb2NhbGUgPSBwYXlsb2FkLnByZWZlcnJlZF9sb2NhbGVcbiAgaWYgKHByb3BzLnByZW1pdW1TdWJzY3JpcHRpb25Db3VudCAmJiBwYXlsb2FkLnByZW1pdW1fc3Vic2NyaXB0aW9uX2NvdW50ICE9PSB1bmRlZmluZWQpXG4gICAgZ3VpbGQucHJlbWl1bVN1YnNjcmlwdGlvbkNvdW50ID0gcGF5bG9hZC5wcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudFxuICBpZiAocHJvcHMucHJlbWl1bVRpZXIpIGd1aWxkLnByZW1pdW1UaWVyID0gcGF5bG9hZC5wcmVtaXVtX3RpZXJcbiAgaWYgKHByb3BzLnN0YWdlSW5zdGFuY2VzICYmIHBheWxvYWQuc3RhZ2VfaW5zdGFuY2VzKVxuICAgIGd1aWxkLnN0YWdlSW5zdGFuY2VzID0gcGF5bG9hZC5zdGFnZV9pbnN0YW5jZXMubWFwKChzaSkgPT4gKHtcbiAgICAgIC8qKiBUaGUgaWQgb2YgdGhpcyBTdGFnZSBpbnN0YW5jZSAqL1xuICAgICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHNpLmlkKSxcbiAgICAgIC8qKiBUaGUgZ3VpbGQgaWQgb2YgdGhlIGFzc29jaWF0ZWQgU3RhZ2UgY2hhbm5lbCAqL1xuICAgICAgZ3VpbGRJZCxcbiAgICAgIC8qKiBUaGUgaWQgb2YgdGhlIGFzc29jaWF0ZWQgU3RhZ2UgY2hhbm5lbCAqL1xuICAgICAgY2hhbm5lbElkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShzaS5jaGFubmVsX2lkKSxcbiAgICAgIC8qKiBUaGUgdG9waWMgb2YgdGhlIFN0YWdlIGluc3RhbmNlICgxLTEyMCBjaGFyYWN0ZXJzKSAqL1xuICAgICAgdG9waWM6IHNpLnRvcGljLFxuICAgIH0pKVxuICBpZiAocHJvcHMuY2hhbm5lbHMgJiYgKCEhcGF5bG9hZC5jaGFubmVscyB8fCAhIXBheWxvYWQudGhyZWFkcykpXG4gICAgZ3VpbGQuY2hhbm5lbHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIFsuLi4ocGF5bG9hZC5jaGFubmVscyA/PyBbXSksIC4uLihwYXlsb2FkLnRocmVhZHMgPz8gW10pXS5tYXAoKGNoYW5uZWwpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgY2hhbm5lbCwgeyBndWlsZElkIH0pXG4gICAgICAgIC8vIFRPRE86IFdlIHNob3VsZCBjaGVjayB0aGF0IGlkIGV4aXN0cywgb3IgZWxzZSB0aGUgY29sbGVjdGlvbiB3aWxsIGhhdmUgdW5kZWZpbmVkIGFzIGl0J3Mga2V5IChUaGlzIGlzIHZhbGlkIGZvciBhbGwgdGhlIGNvbGxlY3Rpb25zIGJlbG93IGFzIHdlbGwpXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IFNlZSBUT0RPIGFib3ZlXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5tZW1iZXJzICYmIHBheWxvYWQubWVtYmVycylcbiAgICBndWlsZC5tZW1iZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLm1lbWJlcnMubWFwKChtZW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBtZW1iZXIsIHsgZ3VpbGRJZCwgdXNlcklkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtZW1iZXIudXNlciEuaWQpIH0pXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IFNlZSBUT0RPIGFib3ZlXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5yb2xlcyAmJiBwYXlsb2FkLnJvbGVzKVxuICAgIGd1aWxkLnJvbGVzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLnJvbGVzLm1hcCgocm9sZSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCByb2xlLCB7IGd1aWxkSWQgfSlcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogU2VlIFRPRE8gYWJvdmVcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQuaWQsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLmVtb2ppcyAmJiBwYXlsb2FkLmVtb2ppcylcbiAgICBndWlsZC5lbW9qaXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQuZW1vamlzLm1hcCgoZW1vamkpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIGVtb2ppKVxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiBTZWUgVE9ETyBhYm92ZVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCEsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLnZvaWNlU3RhdGVzICYmIHBheWxvYWQudm9pY2Vfc3RhdGVzKVxuICAgIGd1aWxkLnZvaWNlU3RhdGVzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLnZvaWNlX3N0YXRlcy5tYXAoKHZvaWNlU3RhdGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy52b2ljZVN0YXRlKGJvdCwgdm9pY2VTdGF0ZSwgeyBndWlsZElkIH0pXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IFNlZSBUT0RPIGFib3ZlXG4gICAgICAgIHJldHVybiBbcmVzdWx0LnVzZXJJZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMuc3RpY2tlcnMgJiYgcGF5bG9hZC5zdGlja2VycylcbiAgICBndWlsZC5zdGlja2VycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5zdGlja2Vycz8ubWFwKChzdGlja2VyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHN0aWNrZXIpXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IFNlZSBUT0RPIGFib3ZlXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5zeXN0ZW1DaGFubmVsRmxhZ3MgJiYgcGF5bG9hZC5zeXN0ZW1fY2hhbm5lbF9mbGFncykgZ3VpbGQuc3lzdGVtQ2hhbm5lbEZsYWdzID0gcGF5bG9hZC5zeXN0ZW1fY2hhbm5lbF9mbGFnc1xuICBpZiAocHJvcHMudmFuaXR5VXJsQ29kZSAmJiBwYXlsb2FkLnZhbml0eV91cmxfY29kZSkgZ3VpbGQudmFuaXR5VXJsQ29kZSA9IHBheWxvYWQudmFuaXR5X3VybF9jb2RlXG4gIGlmIChwcm9wcy52ZXJpZmljYXRpb25MZXZlbCkgZ3VpbGQudmVyaWZpY2F0aW9uTGV2ZWwgPSBwYXlsb2FkLnZlcmlmaWNhdGlvbl9sZXZlbFxuICBpZiAocHJvcHMud2VsY29tZVNjcmVlbiAmJiBwYXlsb2FkLndlbGNvbWVfc2NyZWVuKVxuICAgIGd1aWxkLndlbGNvbWVTY3JlZW4gPSB7XG4gICAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC53ZWxjb21lX3NjcmVlbi5kZXNjcmlwdGlvbiA/PyB1bmRlZmluZWQsXG4gICAgICB3ZWxjb21lQ2hhbm5lbHM6IHBheWxvYWQud2VsY29tZV9zY3JlZW4ud2VsY29tZV9jaGFubmVscy5tYXAoKHdjKSA9PiAoe1xuICAgICAgICBjaGFubmVsSWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHdjLmNoYW5uZWxfaWQpLFxuICAgICAgICBkZXNjcmlwdGlvbjogd2MuZGVzY3JpcHRpb24sXG4gICAgICAgIGVtb2ppSWQ6IHdjLmVtb2ppX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uod2MuZW1vamlfaWQpIDogdW5kZWZpbmVkLFxuICAgICAgICBlbW9qaU5hbWU6IHdjLmVtb2ppX25hbWUgPz8gdW5kZWZpbmVkLFxuICAgICAgfSkpLFxuICAgIH1cbiAgaWYgKHByb3BzLmRpc2NvdmVyeVNwbGFzaCAmJiBwYXlsb2FkLmRpc2NvdmVyeV9zcGxhc2gpIGd1aWxkLmRpc2NvdmVyeVNwbGFzaCA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5kaXNjb3Zlcnlfc3BsYXNoKVxuICBpZiAocHJvcHMuam9pbmVkQXQgJiYgcGF5bG9hZC5qb2luZWRfYXQpIGd1aWxkLmpvaW5lZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLmpvaW5lZF9hdClcbiAgaWYgKHByb3BzLm1lbWJlckNvdW50ICYmIHBheWxvYWQubWVtYmVyX2NvdW50KSBndWlsZC5tZW1iZXJDb3VudCA9IHBheWxvYWQubWVtYmVyX2NvdW50ID8/IDBcbiAgaWYgKHByb3BzLnNoYXJkSWQgJiYgZXh0cmE/LnNoYXJkSWQpIGd1aWxkLnNoYXJkSWQgPSBleHRyYS5zaGFyZElkXG4gIGlmIChwcm9wcy5pY29uICYmIHBheWxvYWQuaWNvbikgZ3VpbGQuaWNvbiA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5pY29uKVxuICBpZiAocHJvcHMuYmFubmVyICYmIHBheWxvYWQuYmFubmVyKSBndWlsZC5iYW5uZXIgPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuYmFubmVyKVxuICBpZiAocHJvcHMuc3BsYXNoICYmIHBheWxvYWQuc3BsYXNoKSBndWlsZC5zcGxhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuc3BsYXNoKVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgZ3VpbGQuaWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy5vd25lcklkICYmIHBheWxvYWQub3duZXJfaWQpIGd1aWxkLm93bmVySWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm93bmVyX2lkKVxuICBpZiAocHJvcHMucGVybWlzc2lvbnMgJiYgcGF5bG9hZC5wZXJtaXNzaW9ucykgZ3VpbGQucGVybWlzc2lvbnMgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnBlcm1pc3Npb25zKVxuICBpZiAocHJvcHMuYWZrQ2hhbm5lbElkICYmIHBheWxvYWQuYWZrX2NoYW5uZWxfaWQpIGd1aWxkLmFma0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYWZrX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy53aWRnZXRDaGFubmVsSWQgJiYgcGF5bG9hZC53aWRnZXRfY2hhbm5lbF9pZCkgZ3VpbGQud2lkZ2V0Q2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC53aWRnZXRfY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgZ3VpbGQuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy5zeXN0ZW1DaGFubmVsSWQgJiYgcGF5bG9hZC5zeXN0ZW1fY2hhbm5lbF9pZCkgZ3VpbGQuc3lzdGVtQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5zeXN0ZW1fY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLnJ1bGVzQ2hhbm5lbElkICYmIHBheWxvYWQucnVsZXNfY2hhbm5lbF9pZCkgZ3VpbGQucnVsZXNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnJ1bGVzX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkICYmIHBheWxvYWQucHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZClcbiAgICBndWlsZC5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5wdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkKVxuICBpZiAocHJvcHMucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCAmJiBwYXlsb2FkLnByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQpIGd1aWxkLnByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQgPSBwYXlsb2FkLnByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWRcbiAgaWYgKHByb3BzLmxhcmdlICYmIHBheWxvYWQubGFyZ2UpIGd1aWxkLmxhcmdlID0gcGF5bG9hZC5sYXJnZVxuICBpZiAocHJvcHMub3duZXIgJiYgcGF5bG9hZC5vd25lcikgZ3VpbGQub3duZXIgPSBwYXlsb2FkLm93bmVyXG4gIGlmIChwcm9wcy53aWRnZXRFbmFibGVkICYmIHBheWxvYWQud2lkZ2V0X2VuYWJsZWQpIGd1aWxkLndpZGdldEVuYWJsZWQgPSBwYXlsb2FkLndpZGdldF9lbmFibGVkXG4gIGlmIChwcm9wcy51bmF2YWlsYWJsZSAmJiBwYXlsb2FkLnVuYXZhaWxhYmxlKSBndWlsZC51bmF2YWlsYWJsZSA9IHBheWxvYWQudW5hdmFpbGFibGVcbiAgaWYgKHByb3BzLmljb25IYXNoICYmIHBheWxvYWQuaWNvbl9oYXNoKSBndWlsZC5pY29uSGFzaCA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5pY29uX2hhc2gpXG4gIGlmIChwcm9wcy5wcmVzZW5jZXMgJiYgcGF5bG9hZC5wcmVzZW5jZXMpXG4gICAgZ3VpbGQucHJlc2VuY2VzID0gcGF5bG9hZC5wcmVzZW5jZXM/Lm1hcCgocHJlc2VuY2UpID0+IGJvdC50cmFuc2Zvcm1lcnMucHJlc2VuY2UoYm90LCBwcmVzZW5jZSBhcyBEaXNjb3JkUHJlc2VuY2VVcGRhdGUpKVxuICBpZiAocHJvcHMuc2FmZXR5QWxlcnRzQ2hhbm5lbElkICYmIHBheWxvYWQuc2FmZXR5X2FsZXJ0c19jaGFubmVsX2lkKVxuICAgIGd1aWxkLnNhZmV0eUFsZXJ0c0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuc2FmZXR5X2FsZXJ0c19jaGFubmVsX2lkKVxuICBpZiAocHJvcHMuaW5jaWRlbnRzRGF0YSAmJiBwYXlsb2FkLmluY2lkZW50c19kYXRhKSBndWlsZC5pbmNpZGVudHNEYXRhID0gYm90LnRyYW5zZm9ybWVycy5pbmNpZGVudHNEYXRhKGJvdCwgcGF5bG9hZC5pbmNpZGVudHNfZGF0YSlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5ndWlsZChib3QsIHBheWxvYWQsIGd1aWxkLCBleHRyYSlcbn1cbiJdLCJuYW1lcyI6WyJDaGFubmVsVHlwZXMiLCJDb2xsZWN0aW9uIiwiaWNvbkhhc2hUb0JpZ0ludCIsIkd1aWxkVG9nZ2xlcyIsImJhc2VHdWlsZCIsInVuZGVmaW5lZCIsInRocmVhZHMiLCJjaGFubmVscyIsImFycmF5IiwiZmlsdGVyIiwieCIsInR5cGUiLCJQdWJsaWNUaHJlYWQiLCJQcml2YXRlVGhyZWFkIiwiQW5ub3VuY2VtZW50VGhyZWFkIiwibWFwIiwiaWQiLCJmZWF0dXJlcyIsInRvZ2dsZXMiLCJ0cmFuc2Zvcm1HdWlsZCIsImJvdCIsInBheWxvYWQiLCJleHRyYSIsImd1aWxkSWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiZ3VpbGQiLCJPYmplY3QiLCJjcmVhdGUiLCJhZmtUaW1lb3V0IiwiYWZrX3RpbWVvdXQiLCJhcHByb3hpbWF0ZU1lbWJlckNvdW50IiwiYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50IiwiYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50IiwiYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQiLCJkZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbnMiLCJkZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9ucyIsImRlc2NyaXB0aW9uIiwiZXhwbGljaXRDb250ZW50RmlsdGVyIiwiZXhwbGljaXRfY29udGVudF9maWx0ZXIiLCJtYXhNZW1iZXJzIiwibWF4X21lbWJlcnMiLCJtYXhQcmVzZW5jZXMiLCJtYXhfcHJlc2VuY2VzIiwibWF4VmlkZW9DaGFubmVsVXNlcnMiLCJtYXhfdmlkZW9fY2hhbm5lbF91c2VycyIsIm1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnMiLCJtYXhfc3RhZ2VfdmlkZW9fY2hhbm5lbF91c2VycyIsIm1mYUxldmVsIiwibWZhX2xldmVsIiwibmFtZSIsIm5zZndMZXZlbCIsIm5zZndfbGV2ZWwiLCJwcmVmZXJyZWRMb2NhbGUiLCJwcmVmZXJyZWRfbG9jYWxlIiwicHJlbWl1bVN1YnNjcmlwdGlvbkNvdW50IiwicHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnQiLCJwcmVtaXVtVGllciIsInByZW1pdW1fdGllciIsInN0YWdlSW5zdGFuY2VzIiwic3RhZ2VfaW5zdGFuY2VzIiwic2kiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwidG9waWMiLCJjaGFubmVsIiwicmVzdWx0IiwibWVtYmVycyIsIm1lbWJlciIsInVzZXJJZCIsInVzZXIiLCJyb2xlcyIsInJvbGUiLCJlbW9qaXMiLCJlbW9qaSIsInZvaWNlU3RhdGVzIiwidm9pY2Vfc3RhdGVzIiwidm9pY2VTdGF0ZSIsInN0aWNrZXJzIiwic3RpY2tlciIsInN5c3RlbUNoYW5uZWxGbGFncyIsInN5c3RlbV9jaGFubmVsX2ZsYWdzIiwidmFuaXR5VXJsQ29kZSIsInZhbml0eV91cmxfY29kZSIsInZlcmlmaWNhdGlvbkxldmVsIiwidmVyaWZpY2F0aW9uX2xldmVsIiwid2VsY29tZVNjcmVlbiIsIndlbGNvbWVfc2NyZWVuIiwid2VsY29tZUNoYW5uZWxzIiwid2VsY29tZV9jaGFubmVscyIsIndjIiwiZW1vamlJZCIsImVtb2ppX2lkIiwiZW1vamlOYW1lIiwiZW1vamlfbmFtZSIsImRpc2NvdmVyeVNwbGFzaCIsImRpc2NvdmVyeV9zcGxhc2giLCJqb2luZWRBdCIsImpvaW5lZF9hdCIsIkRhdGUiLCJwYXJzZSIsIm1lbWJlckNvdW50IiwibWVtYmVyX2NvdW50Iiwic2hhcmRJZCIsImljb24iLCJiYW5uZXIiLCJzcGxhc2giLCJvd25lcklkIiwib3duZXJfaWQiLCJwZXJtaXNzaW9ucyIsImFma0NoYW5uZWxJZCIsImFma19jaGFubmVsX2lkIiwid2lkZ2V0Q2hhbm5lbElkIiwid2lkZ2V0X2NoYW5uZWxfaWQiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJzeXN0ZW1DaGFubmVsSWQiLCJzeXN0ZW1fY2hhbm5lbF9pZCIsInJ1bGVzQ2hhbm5lbElkIiwicnVsZXNfY2hhbm5lbF9pZCIsInB1YmxpY1VwZGF0ZXNDaGFubmVsSWQiLCJwdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkIiwicHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCIsInByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQiLCJsYXJnZSIsIm93bmVyIiwid2lkZ2V0RW5hYmxlZCIsIndpZGdldF9lbmFibGVkIiwidW5hdmFpbGFibGUiLCJpY29uSGFzaCIsImljb25faGFzaCIsInByZXNlbmNlcyIsInByZXNlbmNlIiwic2FmZXR5QWxlcnRzQ2hhbm5lbElkIiwic2FmZXR5X2FsZXJ0c19jaGFubmVsX2lkIiwiaW5jaWRlbnRzRGF0YSIsImluY2lkZW50c19kYXRhIiwiY3VzdG9taXplcnMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFlBQVksUUFBdUQsb0JBQW1CO0FBQy9GLFNBQVNDLFVBQVUsRUFBRUMsZ0JBQWdCLFFBQVEsb0JBQW1CO0FBR2hFLFNBQVNDLFlBQVksUUFBUSxxQkFBb0I7QUFHakQsT0FBTyxNQUFNQyxZQUFtQjtJQUM5QiwyRUFBMkU7SUFDM0UsR0FBSUMsU0FBUztJQUViLElBQUlDLFdBQVU7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDQyxRQUFRLEVBQUUsT0FBTyxJQUFJTjtRQUUvQixNQUFNSyxVQUFVLElBQUksQ0FBQ0Ms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
@@ -1,4 +1,5 @@
1
1
  import type { DiscordIncidentsData } from '@discordeno/types';
2
- import type { Bot, IncidentsData } from '../index.js';
2
+ import type { Bot } from '../bot.js';
3
+ import type { IncidentsData } from './types.js';
3
4
  export declare function transformIncidentsData(bot: Bot, payload: DiscordIncidentsData): IncidentsData;
4
5
  //# sourceMappingURL=incidentsData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"incidentsData.d.ts","sourceRoot":"","sources":["../../src/transformers/incidentsData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,KAAK,EAAE,GAAG,EAA6B,aAAa,EAAoD,MAAM,aAAa,CAAA;AAElI,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAU7F"}
1
+ {"version":3,"file":"incidentsData.d.ts","sourceRoot":"","sources":["../../src/transformers/incidentsData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAU7F"}
@@ -8,4 +8,4 @@ export function transformIncidentsData(bot, payload) {
8
8
  return bot.transformers.customizers.incidentsData(bot, payload, incidentsData);
9
9
  }
10
10
 
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW5jaWRlbnRzRGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRJbmNpZGVudHNEYXRhIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJvdCwgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgSW5jaWRlbnRzRGF0YSwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vaW5kZXguanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbmNpZGVudHNEYXRhKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkSW5jaWRlbnRzRGF0YSk6IEluY2lkZW50c0RhdGEge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW5jaWRlbnRzRGF0YVxuICBjb25zdCBpbmNpZGVudHNEYXRhID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8SW5jaWRlbnRzRGF0YSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG5cbiAgaWYgKHByb3BzLmludml0ZXNEaXNhYmxlZFVudGlsICYmIHBheWxvYWQuaW52aXRlc19kaXNhYmxlZF91bnRpbCkgaW5jaWRlbnRzRGF0YS5pbnZpdGVzRGlzYWJsZWRVbnRpbCA9IERhdGUucGFyc2UocGF5bG9hZC5pbnZpdGVzX2Rpc2FibGVkX3VudGlsKVxuICBpZiAocHJvcHMuZG1zRGlzYWJsZWRVbnRpbCAmJiBwYXlsb2FkLmRtc19kaXNhYmxlZF91bnRpbCkgaW5jaWRlbnRzRGF0YS5kbXNEaXNhYmxlZFVudGlsID0gRGF0ZS5wYXJzZShwYXlsb2FkLmRtc19kaXNhYmxlZF91bnRpbClcbiAgaWYgKHByb3BzLmRtU3BhbURldGVjdGVkQXQgJiYgcGF5bG9hZC5kbV9zcGFtX2RldGVjdGVkX2F0KSBpbmNpZGVudHNEYXRhLmRtU3BhbURldGVjdGVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuZG1fc3BhbV9kZXRlY3RlZF9hdClcbiAgaWYgKHByb3BzLnJhaWREZXRlY3RlZEF0ICYmIHBheWxvYWQucmFpZF9kZXRlY3RlZF9hdCkgaW5jaWRlbnRzRGF0YS5yYWlkRGV0ZWN0ZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5yYWlkX2RldGVjdGVkX2F0KVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmluY2lkZW50c0RhdGEoYm90LCBwYXlsb2FkLCBpbmNpZGVudHNEYXRhKVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUluY2lkZW50c0RhdGEiLCJib3QiLCJwYXlsb2FkIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImluY2lkZW50c0RhdGEiLCJpbnZpdGVzRGlzYWJsZWRVbnRpbCIsImludml0ZXNfZGlzYWJsZWRfdW50aWwiLCJEYXRlIiwicGFyc2UiLCJkbXNEaXNhYmxlZFVudGlsIiwiZG1zX2Rpc2FibGVkX3VudGlsIiwiZG1TcGFtRGV0ZWN0ZWRBdCIsImRtX3NwYW1fZGV0ZWN0ZWRfYXQiLCJyYWlkRGV0ZWN0ZWRBdCIsInJhaWRfZGV0ZWN0ZWRfYXQiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxTQUFTQSx1QkFBdUJDLEdBQVEsRUFBRUMsT0FBNkI7SUFDNUUsTUFBTUMsUUFBUUYsSUFBSUcsWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ0MsYUFBYTtJQUM5RCxNQUFNQSxnQkFBZ0IsQ0FBQztJQUV2QixJQUFJSCxNQUFNSSxvQkFBb0IsSUFBSUwsUUFBUU0sc0JBQXNCLEVBQUVGLGNBQWNDLG9CQUFvQixHQUFHRSxLQUFLQyxLQUFLLENBQUNSLFFBQVFNLHNCQUFzQjtJQUNoSixJQUFJTCxNQUFNUSxnQkFBZ0IsSUFBSVQsUUFBUVUsa0JBQWtCLEVBQUVOLGNBQWNLLGdCQUFnQixHQUFHRixLQUFLQyxLQUFLLENBQUNSLFFBQVFVLGtCQUFrQjtJQUNoSSxJQUFJVCxNQUFNVSxnQkFBZ0IsSUFBSVgsUUFBUVksbUJBQW1CLEVBQUVSLGNBQWNPLGdCQUFnQixHQUFHSixLQUFLQyxLQUFLLENBQUNSLFFBQVFZLG1CQUFtQjtJQUNsSSxJQUFJWCxNQUFNWSxjQUFjLElBQUliLFFBQVFjLGdCQUFnQixFQUFFVixjQUFjUyxjQUFjLEdBQUdOLEtBQUtDLEtBQUssQ0FBQ1IsUUFBUWMsZ0JBQWdCO0lBRXhILE9BQU9mLElBQUlHLFlBQVksQ0FBQ2EsV0FBVyxDQUFDWCxhQUFhLENBQUNMLEtBQUtDLFNBQVNJO0FBQ2xFIn0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW5jaWRlbnRzRGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRJbmNpZGVudHNEYXRhIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcydcbmltcG9ydCB0eXBlIHsgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnXG5pbXBvcnQgdHlwZSB7IEluY2lkZW50c0RhdGEgfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW5jaWRlbnRzRGF0YShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEluY2lkZW50c0RhdGEpOiBJbmNpZGVudHNEYXRhIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmluY2lkZW50c0RhdGFcbiAgY29uc3QgaW5jaWRlbnRzRGF0YSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEluY2lkZW50c0RhdGEsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPlxuXG4gIGlmIChwcm9wcy5pbnZpdGVzRGlzYWJsZWRVbnRpbCAmJiBwYXlsb2FkLmludml0ZXNfZGlzYWJsZWRfdW50aWwpIGluY2lkZW50c0RhdGEuaW52aXRlc0Rpc2FibGVkVW50aWwgPSBEYXRlLnBhcnNlKHBheWxvYWQuaW52aXRlc19kaXNhYmxlZF91bnRpbClcbiAgaWYgKHByb3BzLmRtc0Rpc2FibGVkVW50aWwgJiYgcGF5bG9hZC5kbXNfZGlzYWJsZWRfdW50aWwpIGluY2lkZW50c0RhdGEuZG1zRGlzYWJsZWRVbnRpbCA9IERhdGUucGFyc2UocGF5bG9hZC5kbXNfZGlzYWJsZWRfdW50aWwpXG4gIGlmIChwcm9wcy5kbVNwYW1EZXRlY3RlZEF0ICYmIHBheWxvYWQuZG1fc3BhbV9kZXRlY3RlZF9hdCkgaW5jaWRlbnRzRGF0YS5kbVNwYW1EZXRlY3RlZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLmRtX3NwYW1fZGV0ZWN0ZWRfYXQpXG4gIGlmIChwcm9wcy5yYWlkRGV0ZWN0ZWRBdCAmJiBwYXlsb2FkLnJhaWRfZGV0ZWN0ZWRfYXQpIGluY2lkZW50c0RhdGEucmFpZERldGVjdGVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQucmFpZF9kZXRlY3RlZF9hdClcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbmNpZGVudHNEYXRhKGJvdCwgcGF5bG9hZCwgaW5jaWRlbnRzRGF0YSlcbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1JbmNpZGVudHNEYXRhIiwiYm90IiwicGF5bG9hZCIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJpbmNpZGVudHNEYXRhIiwiaW52aXRlc0Rpc2FibGVkVW50aWwiLCJpbnZpdGVzX2Rpc2FibGVkX3VudGlsIiwiRGF0ZSIsInBhcnNlIiwiZG1zRGlzYWJsZWRVbnRpbCIsImRtc19kaXNhYmxlZF91bnRpbCIsImRtU3BhbURldGVjdGVkQXQiLCJkbV9zcGFtX2RldGVjdGVkX2F0IiwicmFpZERldGVjdGVkQXQiLCJyYWlkX2RldGVjdGVkX2F0IiwiY3VzdG9taXplcnMiXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sU0FBU0EsdUJBQXVCQyxHQUFRLEVBQUVDLE9BQTZCO0lBQzVFLE1BQU1DLFFBQVFGLElBQUlHLFlBQVksQ0FBQ0MsaUJBQWlCLENBQUNDLGFBQWE7SUFDOUQsTUFBTUEsZ0JBQWdCLENBQUM7SUFFdkIsSUFBSUgsTUFBTUksb0JBQW9CLElBQUlMLFFBQVFNLHNCQUFzQixFQUFFRixjQUFjQyxvQkFBb0IsR0FBR0UsS0FBS0MsS0FBSyxDQUFDUixRQUFRTSxzQkFBc0I7SUFDaEosSUFBSUwsTUFBTVEsZ0JBQWdCLElBQUlULFFBQVFVLGtCQUFrQixFQUFFTixjQUFjSyxnQkFBZ0IsR0FBR0YsS0FBS0MsS0FBSyxDQUFDUixRQUFRVSxrQkFBa0I7SUFDaEksSUFBSVQsTUFBTVUsZ0JBQWdCLElBQUlYLFFBQVFZLG1CQUFtQixFQUFFUixjQUFjTyxnQkFBZ0IsR0FBR0osS0FBS0MsS0FBSyxDQUFDUixRQUFRWSxtQkFBbUI7SUFDbEksSUFBSVgsTUFBTVksY0FBYyxJQUFJYixRQUFRYyxnQkFBZ0IsRUFBRVYsY0FBY1MsY0FBYyxHQUFHTixLQUFLQyxLQUFLLENBQUNSLFFBQVFjLGdCQUFnQjtJQUV4SCxPQUFPZixJQUFJRyxZQUFZLENBQUNhLFdBQVcsQ0FBQ1gsYUFBYSxDQUFDTCxLQUFLQyxTQUFTSTtBQUNsRSJ9
@@ -1,4 +1,5 @@
1
1
  import type { DiscordIntegrationCreateUpdate } from '@discordeno/types';
2
- import { type Bot, type Integration } from '../index.js';
2
+ import type { Bot } from '../bot.js';
3
+ import type { Integration } from './types.js';
3
4
  export declare function transformIntegration(bot: Bot, payload: DiscordIntegrationCreateUpdate): Integration;
4
5
  //# sourceMappingURL=integration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../src/transformers/integration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,WAAW,EAAoB,MAAM,aAAa,CAAA;AAE1E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,8BAA8B,GAAG,WAAW,CAiCnG"}
1
+ {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../src/transformers/integration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAEvE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,8BAA8B,GAAG,WAAW,CAiCnG"}
@@ -1,4 +1,4 @@
1
- import { iconHashToBigInt } from '../index.js';
1
+ import { iconHashToBigInt } from '@discordeno/utils';
2
2
  export function transformIntegration(bot, payload) {
3
3
  const integration = {
4
4
  guildId: bot.transformers.snowflake(payload.guild_id),
@@ -31,4 +31,4 @@ export function transformIntegration(bot, payload) {
31
31
  return bot.transformers.customizers.integration(bot, payload, integration);
32
32
  }
33
33
 
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZWdyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkSW50ZWdyYXRpb25DcmVhdGVVcGRhdGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IHR5cGUgQm90LCB0eXBlIEludGVncmF0aW9uLCBpY29uSGFzaFRvQmlnSW50IH0gZnJvbSAnLi4vaW5kZXguanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlZ3JhdGlvbihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEludGVncmF0aW9uQ3JlYXRlVXBkYXRlKTogSW50ZWdyYXRpb24ge1xuICBjb25zdCBpbnRlZ3JhdGlvbiA9IHtcbiAgICBndWlsZElkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKSxcbiAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCksXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lLFxuICAgIHR5cGU6IHBheWxvYWQudHlwZSxcbiAgICBlbmFibGVkOiBwYXlsb2FkLmVuYWJsZWQsXG4gICAgc3luY2luZzogcGF5bG9hZC5zeW5jaW5nLFxuICAgIHJvbGVJZDogcGF5bG9hZC5yb2xlX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5yb2xlX2lkKSA6IHVuZGVmaW5lZCxcbiAgICBlbmFibGVFbW90aWNvbnM6IHBheWxvYWQuZW5hYmxlX2Vtb3RpY29ucyxcbiAgICBleHBpcmVCZWhhdmlvcjogcGF5bG9hZC5leHBpcmVfYmVoYXZpb3IsXG4gICAgZXhwaXJlR3JhY2VQZXJpb2Q6IHBheWxvYWQuZXhwaXJlX2dyYWNlX3BlcmlvZCxcbiAgICB1c2VyOiBwYXlsb2FkLnVzZXIgPyBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnVzZXIpIDogdW5kZWZpbmVkLFxuICAgIGFjY291bnQ6IHtcbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmFjY291bnQuaWQpLFxuICAgICAgbmFtZTogcGF5bG9hZC5hY2NvdW50Lm5hbWUsXG4gICAgfSxcbiAgICBzeW5jZWRBdDogcGF5bG9hZC5zeW5jZWRfYXQgPyBEYXRlLnBhcnNlKHBheWxvYWQuc3luY2VkX2F0KSA6IHVuZGVmaW5lZCxcbiAgICBzdWJzY3JpYmVyQ291bnQ6IHBheWxvYWQuc3Vic2NyaWJlcl9jb3VudCxcbiAgICByZXZva2VkOiBwYXlsb2FkLnJldm9rZWQsXG4gICAgYXBwbGljYXRpb246IHBheWxvYWQuYXBwbGljYXRpb25cbiAgICAgID8ge1xuICAgICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmFwcGxpY2F0aW9uLmlkKSxcbiAgICAgICAgICBuYW1lOiBwYXlsb2FkLmFwcGxpY2F0aW9uLm5hbWUsXG4gICAgICAgICAgaWNvbjogcGF5bG9hZC5hcHBsaWNhdGlvbi5pY29uID8gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmFwcGxpY2F0aW9uLmljb24pIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmFwcGxpY2F0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIGJvdDogcGF5bG9hZC5hcHBsaWNhdGlvbi5ib3QgPyBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmFwcGxpY2F0aW9uLmJvdCkgOiB1bmRlZmluZWQsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIHNjb3BlczogcGF5bG9hZC5zY29wZXMsXG4gIH0gYXMgSW50ZWdyYXRpb25cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlZ3JhdGlvbihib3QsIHBheWxvYWQsIGludGVncmF0aW9uKVxufVxuIl0sIm5hbWVzIjpbImljb25IYXNoVG9CaWdJbnQiLCJ0cmFuc2Zvcm1JbnRlZ3JhdGlvbiIsImJvdCIsInBheWxvYWQiLCJpbnRlZ3JhdGlvbiIsImd1aWxkSWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJndWlsZF9pZCIsImlkIiwibmFtZSIsInR5cGUiLCJlbmFibGVkIiwic3luY2luZyIsInJvbGVJZCIsInJvbGVfaWQiLCJ1bmRlZmluZWQiLCJlbmFibGVFbW90aWNvbnMiLCJlbmFibGVfZW1vdGljb25zIiwiZXhwaXJlQmVoYXZpb3IiLCJleHBpcmVfYmVoYXZpb3IiLCJleHBpcmVHcmFjZVBlcmlvZCIsImV4cGlyZV9ncmFjZV9wZXJpb2QiLCJ1c2VyIiwiYWNjb3VudCIsInN5bmNlZEF0Iiwic3luY2VkX2F0IiwiRGF0ZSIsInBhcnNlIiwic3Vic2NyaWJlckNvdW50Iiwic3Vic2NyaWJlcl9jb3VudCIsInJldm9rZWQiLCJhcHBsaWNhdGlvbiIsImljb24iLCJkZXNjcmlwdGlvbiIsInNjb3BlcyIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFxQ0EsZ0JBQWdCLFFBQVEsY0FBYTtBQUUxRSxPQUFPLFNBQVNDLHFCQUFxQkMsR0FBUSxFQUFFQyxPQUF1QztJQUNwRixNQUFNQyxjQUFjO1FBQ2xCQyxTQUFTSCxJQUFJSSxZQUFZLENBQUNDLFNBQVMsQ0FBQ0osUUFBUUssUUFBUTtRQUNwREMsSUFBSVAsSUFBSUksWUFBWSxDQUFDQyxTQUFTLENBQUNKLFFBQVFNLEVBQUU7UUFDekNDLE1BQU1QLFFBQVFPLElBQUk7UUFDbEJDLE1BQU1SLFFBQVFRLElBQUk7UUFDbEJDLFNBQVNULFFBQVFTLE9BQU87UUFDeEJDLFNBQVNWLFFBQVFVLE9BQU87UUFDeEJDLFFBQVFYLFFBQVFZLE9BQU8sR0FBR2IsSUFBSUksWUFBWSxDQUFDQyxTQUFTLENBQUNKLFFBQVFZLE9BQU8sSUFBSUM7UUFDeEVDLGlCQUFpQmQsUUFBUWUsZ0JBQWdCO1FBQ3pDQyxnQkFBZ0JoQixRQUFRaUIsZUFBZTtRQUN2Q0MsbUJBQW1CbEIsUUFBUW1CLG1CQUFtQjtRQUM5Q0MsTUFBTXBCLFFBQVFvQixJQUFJLEdBQUdyQixJQUFJSSxZQUFZLENBQUNpQixJQUFJLENBQUNyQixLQUFLQyxRQUFRb0IsSUFBSSxJQUFJUDtRQUNoRVEsU0FBUztZQUNQZixJQUFJUCxJQUFJSSxZQUFZLENBQUNDLFNBQVMsQ0FBQ0osUUFBUXFCLE9BQU8sQ0FBQ2YsRUFBRTtZQUNqREMsTUFBTVAsUUFBUXFCLE9BQU8sQ0FBQ2QsSUFBSTtRQUM1QjtRQUNBZSxVQUFVdEIsUUFBUXVCLFNBQVMsR0FBR0MsS0FBS0MsS0FBSyxDQUFDekIsUUFBUXVCLFNBQVMsSUFBSVY7UUFDOURhLGlCQUFpQjFCLFFBQVEyQixnQkFBZ0I7UUFDekNDLFNBQVM1QixRQUFRNEIsT0FBTztRQUN4QkMsYUFBYTdCLFFBQVE2QixXQUFXLEdBQzVCO1lBQ0V2QixJQUFJUCxJQUFJSSxZQUFZLENBQUNDLFNBQVMsQ0FBQ0osUUFBUTZCLFdBQVcsQ0FBQ3ZCLEVBQUU7WUFDckRDLE1BQU1QLFFBQVE2QixXQUFXLENBQUN0QixJQUFJO1lBQzlCdUIsTUFBTTlCLFFBQVE2QixXQUFXLENBQUNDLElBQUksR0FBR2pDLGlCQUFpQkcsUUFBUTZCLFdBQVcsQ0FBQ0MsSUFBSSxJQUFJakI7WUFDOUVrQixhQUFhL0IsUUFBUTZCLFdBQVcsQ0FBQ0UsV0FBVztZQUM1Q2hDLEtBQUtDLFFBQVE2QixXQUFXLENBQUM5QixHQUFHLEdBQUdBLElBQUlJLFlBQVksQ0FBQ2lCLElBQUksQ0FBQ3JCLEtBQUtDLFFBQVE2QixXQUFXLENBQUM5QixHQUFHLElBQUljO1FBQ3ZGLElBQ0FBO1FBQ0ptQixRQUFRaEMsUUFBUWdDLE1BQU07SUFDeEI7SUFFQSxPQUFPakMsSUFBSUksWUFBWSxDQUFDOEIsV0FBVyxDQUFDaEMsV0FBVyxDQUFDRixLQUFLQyxTQUFTQztBQUNoRSJ9
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZWdyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkSW50ZWdyYXRpb25DcmVhdGVVcGRhdGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJ1xuaW1wb3J0IHR5cGUgeyBJbnRlZ3JhdGlvbiB9IGZyb20gJy4vdHlwZXMuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlZ3JhdGlvbihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEludGVncmF0aW9uQ3JlYXRlVXBkYXRlKTogSW50ZWdyYXRpb24ge1xuICBjb25zdCBpbnRlZ3JhdGlvbiA9IHtcbiAgICBndWlsZElkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKSxcbiAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCksXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lLFxuICAgIHR5cGU6IHBheWxvYWQudHlwZSxcbiAgICBlbmFibGVkOiBwYXlsb2FkLmVuYWJsZWQsXG4gICAgc3luY2luZzogcGF5bG9hZC5zeW5jaW5nLFxuICAgIHJvbGVJZDogcGF5bG9hZC5yb2xlX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5yb2xlX2lkKSA6IHVuZGVmaW5lZCxcbiAgICBlbmFibGVFbW90aWNvbnM6IHBheWxvYWQuZW5hYmxlX2Vtb3RpY29ucyxcbiAgICBleHBpcmVCZWhhdmlvcjogcGF5bG9hZC5leHBpcmVfYmVoYXZpb3IsXG4gICAgZXhwaXJlR3JhY2VQZXJpb2Q6IHBheWxvYWQuZXhwaXJlX2dyYWNlX3BlcmlvZCxcbiAgICB1c2VyOiBwYXlsb2FkLnVzZXIgPyBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnVzZXIpIDogdW5kZWZpbmVkLFxuICAgIGFjY291bnQ6IHtcbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmFjY291bnQuaWQpLFxuICAgICAgbmFtZTogcGF5bG9hZC5hY2NvdW50Lm5hbWUsXG4gICAgfSxcbiAgICBzeW5jZWRBdDogcGF5bG9hZC5zeW5jZWRfYXQgPyBEYXRlLnBhcnNlKHBheWxvYWQuc3luY2VkX2F0KSA6IHVuZGVmaW5lZCxcbiAgICBzdWJzY3JpYmVyQ291bnQ6IHBheWxvYWQuc3Vic2NyaWJlcl9jb3VudCxcbiAgICByZXZva2VkOiBwYXlsb2FkLnJldm9rZWQsXG4gICAgYXBwbGljYXRpb246IHBheWxvYWQuYXBwbGljYXRpb25cbiAgICAgID8ge1xuICAgICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmFwcGxpY2F0aW9uLmlkKSxcbiAgICAgICAgICBuYW1lOiBwYXlsb2FkLmFwcGxpY2F0aW9uLm5hbWUsXG4gICAgICAgICAgaWNvbjogcGF5bG9hZC5hcHBsaWNhdGlvbi5pY29uID8gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmFwcGxpY2F0aW9uLmljb24pIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmFwcGxpY2F0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIGJvdDogcGF5bG9hZC5hcHBsaWNhdGlvbi5ib3QgPyBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmFwcGxpY2F0aW9uLmJvdCkgOiB1bmRlZmluZWQsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIHNjb3BlczogcGF5bG9hZC5zY29wZXMsXG4gIH0gYXMgSW50ZWdyYXRpb25cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlZ3JhdGlvbihib3QsIHBheWxvYWQsIGludGVncmF0aW9uKVxufVxuIl0sIm5hbWVzIjpbImljb25IYXNoVG9CaWdJbnQiLCJ0cmFuc2Zvcm1JbnRlZ3JhdGlvbiIsImJvdCIsInBheWxvYWQiLCJpbnRlZ3JhdGlvbiIsImd1aWxkSWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJndWlsZF9pZCIsImlkIiwibmFtZSIsInR5cGUiLCJlbmFibGVkIiwic3luY2luZyIsInJvbGVJZCIsInJvbGVfaWQiLCJ1bmRlZmluZWQiLCJlbmFibGVFbW90aWNvbnMiLCJlbmFibGVfZW1vdGljb25zIiwiZXhwaXJlQmVoYXZpb3IiLCJleHBpcmVfYmVoYXZpb3IiLCJleHBpcmVHcmFjZVBlcmlvZCIsImV4cGlyZV9ncmFjZV9wZXJpb2QiLCJ1c2VyIiwiYWNjb3VudCIsInN5bmNlZEF0Iiwic3luY2VkX2F0IiwiRGF0ZSIsInBhcnNlIiwic3Vic2NyaWJlckNvdW50Iiwic3Vic2NyaWJlcl9jb3VudCIsInJldm9rZWQiLCJhcHBsaWNhdGlvbiIsImljb24iLCJkZXNjcmlwdGlvbiIsInNjb3BlcyIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxnQkFBZ0IsUUFBUSxvQkFBbUI7QUFJcEQsT0FBTyxTQUFTQyxxQkFBcUJDLEdBQVEsRUFBRUMsT0FBdUM7SUFDcEYsTUFBTUMsY0FBYztRQUNsQkMsU0FBU0gsSUFBSUksWUFBWSxDQUFDQyxTQUFTLENBQUNKLFFBQVFLLFFBQVE7UUFDcERDLElBQUlQLElBQUlJLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSixRQUFRTSxFQUFFO1FBQ3pDQyxNQUFNUCxRQUFRTyxJQUFJO1FBQ2xCQyxNQUFNUixRQUFRUSxJQUFJO1FBQ2xCQyxTQUFTVCxRQUFRUyxPQUFPO1FBQ3hCQyxTQUFTVixRQUFRVSxPQUFPO1FBQ3hCQyxRQUFRWCxRQUFRWSxPQUFPLEdBQUdiLElBQUlJLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSixRQUFRWSxPQUFPLElBQUlDO1FBQ3hFQyxpQkFBaUJkLFFBQVFlLGdCQUFnQjtRQUN6Q0MsZ0JBQWdCaEIsUUFBUWlCLGVBQWU7UUFDdkNDLG1CQUFtQmxCLFFBQVFtQixtQkFBbUI7UUFDOUNDLE1BQU1wQixRQUFRb0IsSUFBSSxHQUFHckIsSUFBSUksWUFBWSxDQUFDaUIsSUFBSSxDQUFDckIsS0FBS0MsUUFBUW9CLElBQUksSUFBSVA7UUFDaEVRLFNBQVM7WUFDUGYsSUFBSVAsSUFBSUksWUFBWSxDQUFDQyxTQUFTLENBQUNKLFFBQVFxQixPQUFPLENBQUNmLEVBQUU7WUFDakRDLE1BQU1QLFFBQVFxQixPQUFPLENBQUNkLElBQUk7UUFDNUI7UUFDQWUsVUFBVXRCLFFBQVF1QixTQUFTLEdBQUdDLEtBQUtDLEtBQUssQ0FBQ3pCLFFBQVF1QixTQUFTLElBQUlWO1FBQzlEYSxpQkFBaUIxQixRQUFRMkIsZ0JBQWdCO1FBQ3pDQyxTQUFTNUIsUUFBUTRCLE9BQU87UUFDeEJDLGFBQWE3QixRQUFRNkIsV0FBVyxHQUM1QjtZQUNFdkIsSUFBSVAsSUFBSUksWUFBWSxDQUFDQyxTQUFTLENBQUNKLFFBQVE2QixXQUFXLENBQUN2QixFQUFFO1lBQ3JEQyxNQUFNUCxRQUFRNkIsV0FBVyxDQUFDdEIsSUFBSTtZQUM5QnVCLE1BQU05QixRQUFRNkIsV0FBVyxDQUFDQyxJQUFJLEdBQUdqQyxpQkFBaUJHLFFBQVE2QixXQUFXLENBQUNDLElBQUksSUFBSWpCO1lBQzlFa0IsYUFBYS9CLFFBQVE2QixXQUFXLENBQUNFLFdBQVc7WUFDNUNoQyxLQUFLQyxRQUFRNkIsV0FBVyxDQUFDOUIsR0FBRyxHQUFHQSxJQUFJSSxZQUFZLENBQUNpQixJQUFJLENBQUNyQixLQUFLQyxRQUFRNkIsV0FBVyxDQUFDOUIsR0FBRyxJQUFJYztRQUN2RixJQUNBQTtRQUNKbUIsUUFBUWhDLFFBQVFnQyxNQUFNO0lBQ3hCO0lBRUEsT0FBT2pDLElBQUlJLFlBQVksQ0FBQzhCLFdBQVcsQ0FBQ2hDLFdBQVcsQ0FBQ0YsS0FBS0MsU0FBU0M7QUFDaEUifQ==
@@ -1,5 +1,7 @@
1
- import { type DiscordInteraction, type DiscordInteractionCallback, type DiscordInteractionCallbackResponse, type DiscordInteractionDataOption, type DiscordInteractionDataResolved, type DiscordInteractionResource } from '@discordeno/types';
2
- import type { BigString, Bot, CompleteDesiredProperties, DesiredPropertiesBehavior, Interaction, InteractionCallback, InteractionCallbackResponse, InteractionDataOption, InteractionDataResolved, InteractionResource, SetupDesiredProps, TransformersDesiredProperties, TransformProperty } from '../index.js';
1
+ import { type BigString, type DiscordInteraction, type DiscordInteractionCallback, type DiscordInteractionCallbackResponse, type DiscordInteractionDataOption, type DiscordInteractionDataResolved, type DiscordInteractionResource } from '@discordeno/types';
2
+ import type { Bot } from '../bot.js';
3
+ import type { CompleteDesiredProperties, DesiredPropertiesBehavior, SetupDesiredProps, TransformersDesiredProperties, TransformProperty } from '../desiredProperties.js';
4
+ import type { Interaction, InteractionCallback, InteractionCallbackResponse, InteractionDataOption, InteractionDataResolved, InteractionResource } from './types.js';
3
5
  export declare const baseInteraction: SetupDesiredProps<Interaction, CompleteDesiredProperties<{}, true>, DesiredPropertiesBehavior.RemoveKey>;
4
6
  export declare function transformInteraction(bot: Bot, payload: DiscordInteraction, extra?: {
5
7
  shardId?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../src/transformers/interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,kCAAkC,EACvC,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACnC,KAAK,0BAA0B,EAIhC,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAEV,SAAS,EACT,GAAG,EACH,yBAAyB,EACzB,yBAAyB,EACzB,WAAW,EACX,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EAGvB,mBAAmB,EAGnB,iBAAiB,EACjB,6BAA6B,EAC7B,iBAAiB,EAElB,MAAM,aAAa,CAAA;AAIpB,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,WAAW,EAAE,yBAAyB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,yBAAyB,CAAC,SAAS,CAmGpI,CAAA;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAqErH;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,4BAA4B,GAAG,qBAAqB,CAUpH;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,8BAA8B,EACvC,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAE,GAChD,iBAAiB,CAAC,uBAAuB,EAAE,6BAA6B,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAyEhH;AAED,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,kCAAkC,EAC3C,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3B,2BAA2B,CAQ7B;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,0BAA0B,GAAG,mBAAmB,CAY/G;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,0BAA0B,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,mBAAmB,CAS7I"}
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../src/transformers/interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EAEd,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,kCAAkC,EACvC,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACnC,KAAK,0BAA0B,EAIhC,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,6BAA6B,EAC7B,iBAAiB,EAClB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,YAAY,CAAA;AAInB,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,WAAW,EAAE,yBAAyB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,yBAAyB,CAAC,SAAS,CAmGpI,CAAA;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAqErH;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,4BAA4B,GAAG,qBAAqB,CAUpH;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,8BAA8B,EACvC,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAE,GAChD,iBAAiB,CAAC,uBAAuB,EAAE,6BAA6B,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAiFhH;AAED,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,kCAAkC,EAC3C,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3B,2BAA2B,CAQ7B;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,0BAA0B,GAAG,mBAAmB,CAY/G;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,0BAA0B,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,mBAAmB,CAS7I"}
@@ -154,57 +154,60 @@ export function transformInteractionDataOption(bot, option) {
154
154
  export function transformInteractionDataResolved(bot, payload, extra) {
155
155
  const transformed = {};
156
156
  if (payload.messages) {
157
- transformed.messages = new Collection(Object.entries(payload.messages).map(([_id, value])=>{
157
+ transformed.messages = new Collection(Object.entries(payload.messages).map(([key, value])=>{
158
158
  // @ts-expect-error TODO: Deal with partials
159
159
  const message = bot.transformers.message(bot, value, {
160
160
  shardId: extra?.shardId
161
161
  });
162
+ const id = bot.transformers.snowflake(key);
162
163
  return [
163
- message.id,
164
+ id,
164
165
  message
165
166
  ];
166
167
  }));
167
168
  }
168
169
  if (payload.users) {
169
- transformed.users = new Collection(Object.entries(payload.users).map(([_id, value])=>{
170
+ transformed.users = new Collection(Object.entries(payload.users).map(([key, value])=>{
170
171
  const user = bot.transformers.user(bot, value);
172
+ const id = bot.transformers.snowflake(key);
171
173
  return [
172
- user.id,
174
+ id,
173
175
  user
174
176
  ];
175
177
  }));
176
178
  }
177
179
  if (extra?.guildId && payload.members) {
178
- transformed.members = new Collection(Object.entries(payload.members).map(([id, value])=>{
180
+ transformed.members = new Collection(Object.entries(payload.members).map(([key, value])=>{
179
181
  // @ts-expect-error TODO: Deal with partials, value is missing 2 values but the transformer can handle it, despite what the types says
180
182
  const member = bot.transformers.member(bot, value, {
181
183
  guildId: extra.guildId,
182
- userId: bot.transformers.snowflake(id)
184
+ userId: bot.transformers.snowflake(key)
183
185
  });
184
- // We need to tell TS that we are sure the id is a bigint
186
+ const id = bot.transformers.snowflake(key);
185
187
  return [
186
- member.id,
188
+ id,
187
189
  member
188
190
  ];
189
191
  }));
190
192
  }
191
193
  if (extra?.guildId && payload.roles) {
192
- transformed.roles = new Collection(Object.entries(payload.roles).map(([_id, value])=>{
194
+ transformed.roles = new Collection(Object.entries(payload.roles).map(([key, value])=>{
193
195
  const role = bot.transformers.role(bot, value, {
194
196
  guildId: extra.guildId
195
197
  });
198
+ const id = bot.transformers.snowflake(key);
196
199
  return [
197
- role.id,
200
+ id,
198
201
  role
199
202
  ];
200
203
  }));
201
204
  }
202
205
  if (payload.channels) {
203
- transformed.channels = new Collection(Object.entries(payload.channels).map(([_id, value])=>{
206
+ transformed.channels = new Collection(Object.entries(payload.channels).map(([key, value])=>{
204
207
  const channel = bot.transformers.channel(bot, value);
205
- // We need to tell TS that we are sure the id is a bigint
208
+ const id = bot.transformers.snowflake(key);
206
209
  return [
207
- channel.id,
210
+ id,
208
211
  channel
209
212
  ];
210
213
  }));
@@ -255,4 +258,4 @@ export function transformInteractionResource(bot, payload, extra) {
255
258
  return bot.transformers.customizers.interactionResource(bot, payload, resource, extra);
256
259
  }
257
260
 
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbixcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMsXG4gIEludGVyYWN0aW9uVHlwZXMsXG4gIE1lc3NhZ2VGbGFncyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7XG4gIEF0dGFjaG1lbnQsXG4gIEJpZ1N0cmluZyxcbiAgQm90LFxuICBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzLFxuICBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuICBJbnRlcmFjdGlvbixcbiAgSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICBJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICBJbnRlcmFjdGlvblJlc29sdmVkRGF0YUNoYW5uZWwsXG4gIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhTWVtYmVyLFxuICBJbnRlcmFjdGlvblJlc291cmNlLFxuICBNZXNzYWdlLFxuICBSb2xlLFxuICBTZXR1cERlc2lyZWRQcm9wcyxcbiAgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIFRyYW5zZm9ybVByb3BlcnR5LFxuICBVc2VyLFxufSBmcm9tICcuLi9pbmRleC5qcydcblxuLy8gQXNzdW1lIHdlIGhhdmUgYWxsIGRlc2lyZWQgcHJvcGVydGllcyBmb3IgdGhpcyBvciBlbHNlIHR5cGVzY3JpcHQgd2lsbCBnZXQgdmVyeSBjb25mdXNlZCBmb3IgdGhlIHJldHVybiB0eXBlcyBvZiB0aGVzZSBmdW5jdGlvbnMuXG4vLyBUaGlzIGlzIHVzZWQgYXMgYSBwcm90b3R5cGUsIHNvIHRoZSBhY3R1YWwgdHlwZSB3aXRoIHRoZSB1c2VyIGRlc2lyZWQgcHJvcGVydGllcyB3aWxsIGJlIHNldCBsYXRlci5cbmV4cG9ydCBjb25zdCBiYXNlSW50ZXJhY3Rpb246IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPHt9LCB0cnVlPiwgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXk+ID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPHt9LCB0cnVlPiwgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXk+KSxcblxuICBhc3luYyByZXNwb25kKHJlc3BvbnNlLCBvcHRpb25zKSB7XG4gICAgbGV0IHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlXG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGEgc3RyaW5nLCBjaGFuZ2UgaXQgdG8gYSByZXNwb25zZSBvYmplY3RcbiAgICBpZiAodHlwZW9mIHJlc3BvbnNlID09PSAnc3RyaW5nJykgcmVzcG9uc2UgPSB7IGNvbnRlbnQ6IHJlc3BvbnNlIH1cblxuICAgIC8vIElmIHVzZXIgcHJvdmlkZXMgYW4gb2JqZWN0LCBkZXRlcm1pbmUgaWYgaXQgc2hvdWxkIGJlIGFuIGF1dG9jb21wbGV0ZSBvciBhIG1vZGFsIHJlc3BvbnNlXG4gICAgaWYgKHJlc3BvbnNlLnRpdGxlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlUmVzdWx0XG4gICAgaWYgKHR5cGUgPT09IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5DaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UgJiYgb3B0aW9ucz8uaXNQcml2YXRlKSB7XG4gICAgICByZXNwb25zZS5mbGFncyA/Pz0gMFxuICAgICAgcmVzcG9uc2UuZmxhZ3MgfD0gTWVzc2FnZUZsYWdzLkVwaGVtZXJhbFxuICAgIH1cblxuICAgIC8vIFNpbmNlIHRoaXMgaGFzIGFscmVhZHkgYmVlbiBnaXZlbiBhIHJlc3BvbnNlLCBhbnkgZnVydGhlciByZXNwb25zZXMgbXVzdCBiZSBmb2xsb3d1cHMuXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kRm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIHJlc3BvbnNlKVxuXG4gICAgLy8gTW9kYWxzIGNhbm5vdCBiZSBjaGFpbmVkXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdCAmJiB0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuTW9kYWwpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCByZXNwb25kIHRvIGEgbW9kYWwgaW50ZXJhY3Rpb24gd2l0aCBhbm90aGVyIG1vZGFsLicpXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKFxuICAgICAgdGhpcy5pZCxcbiAgICAgIHRoaXMudG9rZW4sXG4gICAgICB7IHR5cGUsIGRhdGE6IHJlc3BvbnNlIH0sXG4gICAgICB7IHdpdGhSZXNwb25zZTogb3B0aW9ucz8ud2l0aFJlc3BvbnNlIH0sXG4gICAgKVxuICAgIHRoaXMuYWNrbm93bGVkZ2VkID0gdHJ1ZVxuICAgIHJldHVybiByZXN1bHRcbiAgfSxcbiAgYXN5bmMgZWRpdChyZXNwb25zZSwgbWVzc2FnZUlkLCBvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGVkaXQgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uLicpXG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGEgc3RyaW5nLCBjaGFuZ2UgaXQgdG8gYSByZXNwb25zZSBvYmplY3RcbiAgICBpZiAodHlwZW9mIHJlc3BvbnNlID09PSAnc3RyaW5nJykgcmVzcG9uc2UgPSB7IGNvbnRlbnQ6IHJlc3BvbnNlIH1cblxuICAgIGlmIChtZXNzYWdlSWQpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5lZGl0Rm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIG1lc3NhZ2VJZCwgcmVzcG9uc2UpXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmFja25vd2xlZGdlZCkge1xuICAgICAgaWYgKHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50ICYmIHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhpcyBpbnRlcmFjdGlvbiBoYXMgbm90IGJlZW4gcmVzcG9uZGVkIHRvIHlldCBhbmQgdGhpcyBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgb3IgTW9kYWxTdWJtaXQgaW50ZXJhY3Rpb24uXCIpXG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICAgIHRoaXMuaWQsXG4gICAgICAgIHRoaXMudG9rZW4sXG4gICAgICAgIHsgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLlVwZGF0ZU1lc3NhZ2UsIGRhdGE6IHJlc3BvbnNlIH0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApXG4gICAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5lZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMudG9rZW4sIHJlc3BvbnNlKVxuICB9LFxuICBhc3luYyBkZWZlckVkaXQob3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKVxuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVmZXIgYW4gYWxyZWFkeSByZXNwb25kZWQgaW50ZXJhY3Rpb24uJylcblxuICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudCAmJiB0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgZGVmZXIgdG8gdGhlbiBlZGl0IGFuIGludGVyYWN0aW9uIHRoYXQgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IG9yIE1vZGFsU3VibWl0IGludGVyYWN0aW9uLlwiKVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZShcbiAgICAgIHRoaXMuaWQsXG4gICAgICB0aGlzLnRva2VuLFxuICAgICAgeyB0eXBlOiBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuRGVmZXJyZWRVcGRhdGVNZXNzYWdlIH0sXG4gICAgICBvcHRpb25zLFxuICAgIClcbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gcmVzdWx0XG4gIH0sXG4gIGFzeW5jIGRlZmVyKGlzUHJpdmF0ZSwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVmZXIgYW4gYWxyZWFkeSByZXNwb25kZWQgaW50ZXJhY3Rpb24uJylcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICB0aGlzLmlkLFxuICAgICAgdGhpcy50b2tlbixcbiAgICAgIHtcbiAgICAgICAgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZmxhZ3M6IGlzUHJpdmF0ZSA/IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwgOiB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9LFxuICBhc3luYyBkZWxldGUobWVzc2FnZUlkKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlbGV0ZSBhbiBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb24nKVxuXG4gICAgaWYgKG1lc3NhZ2VJZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90Py5oZWxwZXJzLmRlbGV0ZUZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCBtZXNzYWdlSWQpXG4gICAgZWxzZSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMudG9rZW4pXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uLCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9KTogSW50ZXJhY3Rpb24ge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpIDogdW5kZWZpbmVkXG5cbiAgY29uc3QgaW50ZXJhY3Rpb246IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSBPYmplY3QuY3JlYXRlKGJhc2VJbnRlcmFjdGlvbilcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uXG5cbiAgaW50ZXJhY3Rpb24uYm90ID0gYm90XG4gIGludGVyYWN0aW9uLmFja25vd2xlZGdlZCA9IGZhbHNlXG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGludGVyYWN0aW9uLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZClcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgaW50ZXJhY3Rpb24uYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMudG9rZW4gJiYgcGF5bG9hZC50b2tlbikgaW50ZXJhY3Rpb24udG9rZW4gPSBwYXlsb2FkLnRva2VuXG4gIGlmIChwcm9wcy52ZXJzaW9uICYmIHBheWxvYWQudmVyc2lvbikgaW50ZXJhY3Rpb24udmVyc2lvbiA9IHBheWxvYWQudmVyc2lvblxuICBpZiAocHJvcHMubG9jYWxlICYmIHBheWxvYWQubG9jYWxlKSBpbnRlcmFjdGlvbi5sb2NhbGUgPSBwYXlsb2FkLmxvY2FsZVxuICBpZiAocHJvcHMuZ3VpbGRMb2NhbGUgJiYgcGF5bG9hZC5ndWlsZF9sb2NhbGUpIGludGVyYWN0aW9uLmd1aWxkTG9jYWxlID0gcGF5bG9hZC5ndWlsZF9sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkICYmIHBheWxvYWQuZ3VpbGQpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwYXlsb2FkLmd1aWxkIGlzIGEgUGFydGlhbDxEaXNjb3JkR3VpbGQ+XG4gICAgaW50ZXJhY3Rpb24uZ3VpbGQgPSBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgcGF5bG9hZC5ndWlsZCwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KVxuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBndWlsZElkKSBpbnRlcmFjdGlvbi5ndWlsZElkID0gZ3VpbGRJZFxuICBpZiAocHJvcHMudXNlcikge1xuICAgIGlmIChwYXlsb2FkLm1lbWJlcj8udXNlcikgaW50ZXJhY3Rpb24udXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQubWVtYmVyPy51c2VyKVxuICAgIGVsc2UgaWYgKHBheWxvYWQudXNlcikgaW50ZXJhY3Rpb24udXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQudXNlcilcbiAgfVxuICBpZiAocHJvcHMuYXBwUGVybWlzc2lvbnMgJiYgcGF5bG9hZC5hcHBfcGVybWlzc2lvbnMpIGludGVyYWN0aW9uLmFwcFBlcm1pc3Npb25zID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBfcGVybWlzc2lvbnMpXG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQubWVzc2FnZSkgaW50ZXJhY3Rpb24ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHBheWxvYWQubWVzc2FnZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KVxuICBpZiAocHJvcHMuY2hhbm5lbCAmJiBwYXlsb2FkLmNoYW5uZWwpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwYXlsb2FkLmNoYW5uZWwgaXMgYSBQYXJ0aWFsPD5cbiAgICBpbnRlcmFjdGlvbi5jaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgcGF5bG9hZC5jaGFubmVsLCB7IGd1aWxkSWQgfSlcbiAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmNoYW5uZWxfaWQpIGludGVyYWN0aW9uLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHBheWxvYWQubWVtYmVyKVxuICAgIGludGVyYWN0aW9uLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5tZW1iZXIsIHtcbiAgICAgIGd1aWxkSWQsXG4gICAgICB1c2VySWQ6IHBheWxvYWQubWVtYmVyPy51c2VyLmlkID8/IHBheWxvYWQudXNlcj8uaWQsXG4gICAgfSlcbiAgaWYgKHByb3BzLmVudGl0bGVtZW50cyAmJiBwYXlsb2FkLmVudGl0bGVtZW50cykgaW50ZXJhY3Rpb24uZW50aXRsZW1lbnRzID0gcGF5bG9hZC5lbnRpdGxlbWVudHMubWFwKChlKSA9PiBib3QudHJhbnNmb3JtZXJzLmVudGl0bGVtZW50KGJvdCwgZSkpXG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzICYmIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzKSB7XG4gICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9XG5cbiAgICBpZiAocGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLkd1aWxkSW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSxcbiAgICAgIClcbiAgICBpZiAocGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKVxuICB9XG4gIGlmIChwcm9wcy5jb250ZXh0ICYmIHBheWxvYWQuY29udGV4dCkgaW50ZXJhY3Rpb24uY29udGV4dCA9IHBheWxvYWQuY29udGV4dFxuICBpZiAocHJvcHMuYXR0YWNobWVudFNpemVMaW1pdCAmJiBwYXlsb2FkLmF0dGFjaG1lbnRfc2l6ZV9saW1pdCkgaW50ZXJhY3Rpb24uYXR0YWNobWVudFNpemVMaW1pdCA9IHBheWxvYWQuYXR0YWNobWVudF9zaXplX2xpbWl0XG4gIGlmIChwcm9wcy5kYXRhICYmIHBheWxvYWQuZGF0YSkge1xuICAgIGludGVyYWN0aW9uLmRhdGEgPSB7XG4gICAgICB0eXBlOiBwYXlsb2FkLmRhdGEudHlwZSxcbiAgICAgIGNvbXBvbmVudFR5cGU6IHBheWxvYWQuZGF0YS5jb21wb25lbnRfdHlwZSxcbiAgICAgIGN1c3RvbUlkOiBwYXlsb2FkLmRhdGEuY3VzdG9tX2lkLFxuICAgICAgY29tcG9uZW50czogcGF5bG9hZC5kYXRhLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpLFxuICAgICAgdmFsdWVzOiBwYXlsb2FkLmRhdGEudmFsdWVzLFxuICAgICAgaWQ6IHBheWxvYWQuZGF0YS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZGF0YS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICBuYW1lOiBwYXlsb2FkLmRhdGEubmFtZSxcbiAgICAgIHJlc29sdmVkOiBwYXlsb2FkLmRhdGEucmVzb2x2ZWRcbiAgICAgICAgPyBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uRGF0YVJlc29sdmVkKGJvdCwgcGF5bG9hZC5kYXRhLnJlc29sdmVkLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkLCBndWlsZElkIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgb3B0aW9uczogcGF5bG9hZC5kYXRhLm9wdGlvbnM/Lm1hcCgob3B0KSA9PiBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uRGF0YU9wdGlvbnMoYm90LCBvcHQpKSxcbiAgICAgIHRhcmdldElkOiBwYXlsb2FkLmRhdGEudGFyZ2V0X2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5kYXRhLnRhcmdldF9pZCkgOiB1bmRlZmluZWQsXG4gICAgfVxuICB9XG5cbiAgLy8gVHlwZXNjcmlwdCBoYXMgYW4gaGFyZCB0aW1lIHdpdGggaW50ZXJhY3Rpb24uYm90LCBzbyB3ZSBuZWVkIHRvIHRlbGwgaGltIGZvciBzdXJlIHRoaXMgaW50ZXJhY3Rpb24gaXMgdGhlIG9mIHRoZSBjb3JyZWN0IHR5cGVcbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb24oYm90LCBwYXlsb2FkLCBpbnRlcmFjdGlvbiBhcyB1bmtub3duIGFzIHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uLCBleHRyYSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbihib3Q6IEJvdCwgb3B0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uKTogSW50ZXJhY3Rpb25EYXRhT3B0aW9uIHtcbiAgY29uc3Qgb3B0ID0ge1xuICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxuICAgIHR5cGU6IG9wdGlvbi50eXBlLFxuICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgb3B0aW9uczogb3B0aW9uLm9wdGlvbnMsXG4gICAgZm9jdXNlZDogb3B0aW9uLmZvY3VzZWQsXG4gIH0gYXMgSW50ZXJhY3Rpb25EYXRhT3B0aW9uXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyhib3QsIG9wdGlvbiwgb3B0KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyOyBndWlsZElkPzogQmlnU3RyaW5nIH0sXG4pOiBUcmFuc2Zvcm1Qcm9wZXJ0eTxJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5PiB7XG4gIGNvbnN0IHRyYW5zZm9ybWVkOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCA9IHt9XG5cbiAgaWYgKHBheWxvYWQubWVzc2FnZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZXNzYWdlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5tZXNzYWdlcykubWFwKChbX2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBEZWFsIHdpdGggcGFydGlhbHNcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHZhbHVlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pIGFzIE1lc3NhZ2VcbiAgICAgICAgcmV0dXJuIFttZXNzYWdlLmlkLCBtZXNzYWdlXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQudXNlcnMpIHtcbiAgICB0cmFuc2Zvcm1lZC51c2VycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC51c2VycykubWFwKChbX2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgdXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHZhbHVlKSBhcyBVc2VyXG4gICAgICAgIHJldHVybiBbdXNlci5pZCwgdXNlcl1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChleHRyYT8uZ3VpbGRJZCAmJiBwYXlsb2FkLm1lbWJlcnMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZW1iZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLm1lbWJlcnMpLm1hcCgoW2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBEZWFsIHdpdGggcGFydGlhbHMsIHZhbHVlIGlzIG1pc3NpbmcgMiB2YWx1ZXMgYnV0IHRoZSB0cmFuc2Zvcm1lciBjYW4gaGFuZGxlIGl0LCBkZXNwaXRlIHdoYXQgdGhlIHR5cGVzIHNheXNcbiAgICAgICAgY29uc3QgbWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCB2YWx1ZSwge1xuICAgICAgICAgIGd1aWxkSWQ6IGV4dHJhLmd1aWxkSWQsXG4gICAgICAgICAgdXNlcklkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpZCksXG4gICAgICAgIH0pIGFzIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhTWVtYmVyPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPlxuXG4gICAgICAgIC8vIFdlIG5lZWQgdG8gdGVsbCBUUyB0aGF0IHdlIGFyZSBzdXJlIHRoZSBpZCBpcyBhIGJpZ2ludFxuICAgICAgICByZXR1cm4gW21lbWJlci5pZCBhcyBiaWdpbnQsIG1lbWJlcl1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChleHRyYT8uZ3VpbGRJZCAmJiBwYXlsb2FkLnJvbGVzKSB7XG4gICAgdHJhbnNmb3JtZWQucm9sZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucm9sZXMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvbGUgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB2YWx1ZSwgeyBndWlsZElkOiBleHRyYS5ndWlsZElkIH0pIGFzIFJvbGVcbiAgICAgICAgcmV0dXJuIFtyb2xlLmlkLCByb2xlXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQuY2hhbm5lbHMpIHtcbiAgICB0cmFuc2Zvcm1lZC5jaGFubmVscyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5jaGFubmVscykubWFwKChbX2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgY2hhbm5lbCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHZhbHVlKSBhcyB1bmtub3duIGFzIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhQ2hhbm5lbDxcbiAgICAgICAgICBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgICAgICAgICBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yXG4gICAgICAgID5cbiAgICAgICAgLy8gV2UgbmVlZCB0byB0ZWxsIFRTIHRoYXQgd2UgYXJlIHN1cmUgdGhlIGlkIGlzIGEgYmlnaW50XG4gICAgICAgIHJldHVybiBbY2hhbm5lbC5pZCBhcyBiaWdpbnQsIGNoYW5uZWxdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC5hdHRhY2htZW50cykge1xuICAgIHRyYW5zZm9ybWVkLmF0dGFjaG1lbnRzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLmF0dGFjaG1lbnRzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCBpZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGtleSlcbiAgICAgICAgY29uc3QgYXR0YWNobWVudCA9IGJvdC50cmFuc2Zvcm1lcnMuYXR0YWNobWVudChib3QsIHZhbHVlKSBhcyBBdHRhY2htZW50XG4gICAgICAgIHJldHVybiBbaWQsIGF0dGFjaG1lbnRdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQsIHRyYW5zZm9ybWVkLCB7XG4gICAgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsXG4gICAgZ3VpbGRJZDogZXh0cmE/Lmd1aWxkSWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShleHRyYS5ndWlsZElkKSA6IHVuZGVmaW5lZCxcbiAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZShcbiAgYm90OiBCb3QsXG4gIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0sXG4pOiBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG4gIGNvbnN0IHJlc3BvbnNlID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8SW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj5cblxuICBpZiAocHJvcHMuaW50ZXJhY3Rpb24gJiYgcGF5bG9hZC5pbnRlcmFjdGlvbikgcmVzcG9uc2UuaW50ZXJhY3Rpb24gPSBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uQ2FsbGJhY2soYm90LCBwYXlsb2FkLmludGVyYWN0aW9uKVxuICBpZiAocHJvcHMucmVzb3VyY2UgJiYgcGF5bG9hZC5yZXNvdXJjZSkgcmVzcG9uc2UucmVzb3VyY2UgPSBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uUmVzb3VyY2UoYm90LCBwYXlsb2FkLnJlc291cmNlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKGJvdCwgcGF5bG9hZCwgcmVzcG9uc2UsIGV4dHJhKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayhib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2spOiBJbnRlcmFjdGlvbkNhbGxiYWNrIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uQ2FsbGJhY2tcbiAgY29uc3QgY2FsbGJhY2sgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvbkNhbGxiYWNrLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj5cblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY2FsbGJhY2suaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKVxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNhbGxiYWNrLnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLmFjdGl2aXR5SW5zdGFuY2VJZCAmJiBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlX2lkKSBjYWxsYmFjay5hY3Rpdml0eUluc3RhbmNlSWQgPSBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlX2lkXG4gIGlmIChwcm9wcy5yZXNwb25zZU1lc3NhZ2VJZCAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfaWQpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2lkKVxuICBpZiAocHJvcHMucmVzcG9uc2VNZXNzYWdlRXBoZW1lcmFsICYmIHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWwpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCA9IHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWxcbiAgaWYgKHByb3BzLnJlc3BvbnNlTWVzc2FnZUxvYWRpbmcgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2xvYWRpbmcpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUxvYWRpbmcgPSBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfbG9hZGluZ1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uQ2FsbGJhY2soYm90LCBwYXlsb2FkLCBjYWxsYmFjaylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9KTogSW50ZXJhY3Rpb25SZXNvdXJjZSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvblJlc291cmNlXG4gIGNvbnN0IHJlc291cmNlID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8SW50ZXJhY3Rpb25SZXNvdXJjZSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSByZXNvdXJjZS50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlICYmIHBheWxvYWQuYWN0aXZpdHlfaW5zdGFuY2UpIHJlc291cmNlLmFjdGl2aXR5SW5zdGFuY2UgPSBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlXG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQubWVzc2FnZSkgcmVzb3VyY2UubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHBheWxvYWQubWVzc2FnZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uUmVzb3VyY2UoYm90LCBwYXlsb2FkLCByZXNvdXJjZSwgZXh0cmEpXG59XG4iXSwibmFtZXMiOlsiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzIiwiSW50ZXJhY3Rpb25UeXBlcyIsIk1lc3NhZ2VGbGFncyIsIkNvbGxlY3Rpb24iLCJiYXNlSW50ZXJhY3Rpb24iLCJ1bmRlZmluZWQiLCJyZXNwb25kIiwicmVzcG9uc2UiLCJvcHRpb25zIiwidHlwZSIsIkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSIsImNvbnRlbnQiLCJ0aXRsZSIsIk1vZGFsIiwiQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlIiwiQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlUmVzdWx0IiwiaXNQcml2YXRlIiwiZmxhZ3MiLCJFcGhlbWVyYWwiLCJhY2tub3dsZWRnZWQiLCJib3QiLCJoZWxwZXJzIiwic2VuZEZvbGxvd3VwTWVzc2FnZSIsInRva2VuIiwiTW9kYWxTdWJtaXQiLCJFcnJvciIsInJlc3VsdCIsInNlbmRJbnRlcmFjdGlvblJlc3BvbnNlIiwiaWQiLCJkYXRhIiwid2l0aFJlc3BvbnNlIiwiZWRpdCIsIm1lc3NhZ2VJZCIsImVkaXRGb2xsb3d1cE1lc3NhZ2UiLCJNZXNzYWdlQ29tcG9uZW50IiwiVXBkYXRlTWVzc2FnZSIsImVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJkZWZlckVkaXQiLCJEZWZlcnJlZFVwZGF0ZU1lc3NhZ2UiLCJkZWZlciIsIkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlIiwiZGVsZXRlIiwiZGVsZXRlRm9sbG93dXBNZXNzYWdlIiwiZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwidHJhbnNmb3JtSW50ZXJhY3Rpb24iLCJwYXlsb2FkIiwiZXh0cmEiLCJndWlsZElkIiwiZ3VpbGRfaWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJpbnRlcmFjdGlvbiIsIk9iamVjdCIsImNyZWF0ZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJ2ZXJzaW9uIiwibG9jYWxlIiwiZ3VpbGRMb2NhbGUiLCJndWlsZF9sb2NhbGUiLCJndWlsZCIsInNoYXJkSWQiLCJ1c2VyIiwibWVtYmVyIiwiYXBwUGVybWlzc2lvbnMiLCJhcHBfcGVybWlzc2lvbnMiLCJtZXNzYWdlIiwiY2hhbm5lbCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJ1c2VySWQiLCJlbnRpdGxlbWVudHMiLCJtYXAiLCJlIiwiZW50aXRsZW1lbnQiLCJhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzIiwiYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzIiwiR3VpbGRJbnN0YWxsIiwiVXNlckluc3RhbGwiLCJjb250ZXh0IiwiYXR0YWNobWVudFNpemVMaW1pdCIsImF0dGFjaG1lbnRfc2l6ZV9saW1pdCIsImNvbXBvbmVudFR5cGUiLCJjb21wb25lbnRfdHlwZSIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwiY29tcG9uZW50cyIsImNvbXBvbmVudCIsInZhbHVlcyIsIm5hbWUiLCJyZXNvbHZlZCIsImludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwib3B0IiwiaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyIsInRhcmdldElkIiwidGFyZ2V0X2lkIiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24iLCJvcHRpb24iLCJ2YWx1ZSIsImZvY3VzZWQiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsInRyYW5zZm9ybWVkIiwibWVzc2FnZXMiLCJlbnRyaWVzIiwiX2lkIiwidXNlcnMiLCJtZW1iZXJzIiwicm9sZXMiLCJyb2xlIiwiY2hhbm5lbHMiLCJhdHRhY2htZW50cyIsImtleSIsImF0dGFjaG1lbnQiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkNhbGxiYWNrIiwicmVzb3VyY2UiLCJpbnRlcmFjdGlvblJlc291cmNlIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayIsImNhbGxiYWNrIiwiYWN0aXZpdHlJbnN0YW5jZUlkIiwiYWN0aXZpdHlfaW5zdGFuY2VfaWQiLCJyZXNwb25zZU1lc3NhZ2VJZCIsInJlc3BvbnNlX21lc3NhZ2VfaWQiLCJyZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwiLCJyZXNwb25zZV9tZXNzYWdlX2VwaGVtZXJhbCIsInJlc3BvbnNlTWVzc2FnZUxvYWRpbmciLCJyZXNwb25zZV9tZXNzYWdlX2xvYWRpbmciLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlIiwiYWN0aXZpdHlJbnN0YW5jZSIsImFjdGl2aXR5X2luc3RhbmNlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUNFQSxpQ0FBaUMsRUFPakNDLHdCQUF3QixFQUN4QkMsZ0JBQWdCLEVBQ2hCQyxZQUFZLFFBQ1Asb0JBQW1CO0FBQzFCLFNBQVNDLFVBQVUsUUFBUSxvQkFBbUI7QUF1QjlDLG9JQUFvSTtBQUNwSSxzR0FBc0c7QUFDdEcsT0FBTyxNQUFNQyxrQkFBNEg7SUFDdkksMkVBQTJFO0lBQzNFLEdBQUlDLFNBQVM7SUFFYixNQUFNQyxTQUFRQyxRQUFRLEVBQUVDLE9BQU87UUFDN0IsSUFBSUMsT0FBT1QseUJBQXlCVSx3QkFBd0I7UUFFNUQsNERBQTREO1FBQzVELElBQUksT0FBT0gsYUFBYSxVQUFVQSxXQUFXO1lBQUVJLFNBQVNKO1FBQVM7UUFFakUsNEZBQTRGO1FBQzVGLElBQUlBLFNBQVNLLEtBQUssRUFBRUgsT0FBT1QseUJBQXlCYSxLQUFLO1FBQ3pELElBQUksSUFBSSxDQUFDSixJQUFJLEtBQUtSLGlCQUFpQmEsOEJBQThCLEVBQUVMLE9BQU9ULHlCQUF5QmUsb0NBQW9DO1FBQ3ZJLElBQUlOLFNBQVNULHlCQUF5QlUsd0JBQXdCLElBQUlGLFNBQVNRLFdBQVc7WUFDcEZULFNBQVNVLEtBQUssS0FBSztZQUNuQlYsU0FBU1UsS0FBSyxJQUFJZixhQUFhZ0IsU0FBUztRQUMxQztRQUVBLHlGQUF5RjtRQUN6RixJQUFJLElBQUksQ0FBQ0MsWUFBWSxFQUFFLE9BQU8sTUFBTSxJQUFJLENBQUNDLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDQyxtQkFBbUIsQ0FBQyxJ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
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBCaWdTdHJpbmcsXG4gIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLFxuICBJbnRlcmFjdGlvblR5cGVzLFxuICBNZXNzYWdlRmxhZ3MsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnXG5pbXBvcnQgdHlwZSB7IEludGVyYWN0aW9uUmVzb2x2ZWREYXRhQ2hhbm5lbCB9IGZyb20gJy4uL2NvbW1hbmRPcHRpb25zUGFyc2VyLmpzJ1xuaW1wb3J0IHR5cGUge1xuICBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzLFxuICBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuICBTZXR1cERlc2lyZWRQcm9wcyxcbiAgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIFRyYW5zZm9ybVByb3BlcnR5LFxufSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcydcbmltcG9ydCB0eXBlIHtcbiAgSW50ZXJhY3Rpb24sXG4gIEludGVyYWN0aW9uQ2FsbGJhY2ssXG4gIEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgSW50ZXJhY3Rpb25SZXNvdXJjZSxcbn0gZnJvbSAnLi90eXBlcy5qcydcblxuLy8gQXNzdW1lIHdlIGhhdmUgYWxsIGRlc2lyZWQgcHJvcGVydGllcyBmb3IgdGhpcyBvciBlbHNlIHR5cGVzY3JpcHQgd2lsbCBnZXQgdmVyeSBjb25mdXNlZCBmb3IgdGhlIHJldHVybiB0eXBlcyBvZiB0aGVzZSBmdW5jdGlvbnMuXG4vLyBUaGlzIGlzIHVzZWQgYXMgYSBwcm90b3R5cGUsIHNvIHRoZSBhY3R1YWwgdHlwZSB3aXRoIHRoZSB1c2VyIGRlc2lyZWQgcHJvcGVydGllcyB3aWxsIGJlIHNldCBsYXRlci5cbmV4cG9ydCBjb25zdCBiYXNlSW50ZXJhY3Rpb246IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPHt9LCB0cnVlPiwgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXk+ID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPHt9LCB0cnVlPiwgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXk+KSxcblxuICBhc3luYyByZXNwb25kKHJlc3BvbnNlLCBvcHRpb25zKSB7XG4gICAgbGV0IHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlXG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGEgc3RyaW5nLCBjaGFuZ2UgaXQgdG8gYSByZXNwb25zZSBvYmplY3RcbiAgICBpZiAodHlwZW9mIHJlc3BvbnNlID09PSAnc3RyaW5nJykgcmVzcG9uc2UgPSB7IGNvbnRlbnQ6IHJlc3BvbnNlIH1cblxuICAgIC8vIElmIHVzZXIgcHJvdmlkZXMgYW4gb2JqZWN0LCBkZXRlcm1pbmUgaWYgaXQgc2hvdWxkIGJlIGFuIGF1dG9jb21wbGV0ZSBvciBhIG1vZGFsIHJlc3BvbnNlXG4gICAgaWYgKHJlc3BvbnNlLnRpdGxlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlUmVzdWx0XG4gICAgaWYgKHR5cGUgPT09IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5DaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UgJiYgb3B0aW9ucz8uaXNQcml2YXRlKSB7XG4gICAgICByZXNwb25zZS5mbGFncyA/Pz0gMFxuICAgICAgcmVzcG9uc2UuZmxhZ3MgfD0gTWVzc2FnZUZsYWdzLkVwaGVtZXJhbFxuICAgIH1cblxuICAgIC8vIFNpbmNlIHRoaXMgaGFzIGFscmVhZHkgYmVlbiBnaXZlbiBhIHJlc3BvbnNlLCBhbnkgZnVydGhlciByZXNwb25zZXMgbXVzdCBiZSBmb2xsb3d1cHMuXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kRm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIHJlc3BvbnNlKVxuXG4gICAgLy8gTW9kYWxzIGNhbm5vdCBiZSBjaGFpbmVkXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdCAmJiB0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuTW9kYWwpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCByZXNwb25kIHRvIGEgbW9kYWwgaW50ZXJhY3Rpb24gd2l0aCBhbm90aGVyIG1vZGFsLicpXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKFxuICAgICAgdGhpcy5pZCxcbiAgICAgIHRoaXMudG9rZW4sXG4gICAgICB7IHR5cGUsIGRhdGE6IHJlc3BvbnNlIH0sXG4gICAgICB7IHdpdGhSZXNwb25zZTogb3B0aW9ucz8ud2l0aFJlc3BvbnNlIH0sXG4gICAgKVxuICAgIHRoaXMuYWNrbm93bGVkZ2VkID0gdHJ1ZVxuICAgIHJldHVybiByZXN1bHRcbiAgfSxcbiAgYXN5bmMgZWRpdChyZXNwb25zZSwgbWVzc2FnZUlkLCBvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGVkaXQgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uLicpXG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGEgc3RyaW5nLCBjaGFuZ2UgaXQgdG8gYSByZXNwb25zZSBvYmplY3RcbiAgICBpZiAodHlwZW9mIHJlc3BvbnNlID09PSAnc3RyaW5nJykgcmVzcG9uc2UgPSB7IGNvbnRlbnQ6IHJlc3BvbnNlIH1cblxuICAgIGlmIChtZXNzYWdlSWQpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5lZGl0Rm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIG1lc3NhZ2VJZCwgcmVzcG9uc2UpXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmFja25vd2xlZGdlZCkge1xuICAgICAgaWYgKHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50ICYmIHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhpcyBpbnRlcmFjdGlvbiBoYXMgbm90IGJlZW4gcmVzcG9uZGVkIHRvIHlldCBhbmQgdGhpcyBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgb3IgTW9kYWxTdWJtaXQgaW50ZXJhY3Rpb24uXCIpXG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICAgIHRoaXMuaWQsXG4gICAgICAgIHRoaXMudG9rZW4sXG4gICAgICAgIHsgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLlVwZGF0ZU1lc3NhZ2UsIGRhdGE6IHJlc3BvbnNlIH0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApXG4gICAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5lZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMudG9rZW4sIHJlc3BvbnNlKVxuICB9LFxuICBhc3luYyBkZWZlckVkaXQob3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKVxuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVmZXIgYW4gYWxyZWFkeSByZXNwb25kZWQgaW50ZXJhY3Rpb24uJylcblxuICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudCAmJiB0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgZGVmZXIgdG8gdGhlbiBlZGl0IGFuIGludGVyYWN0aW9uIHRoYXQgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IG9yIE1vZGFsU3VibWl0IGludGVyYWN0aW9uLlwiKVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZShcbiAgICAgIHRoaXMuaWQsXG4gICAgICB0aGlzLnRva2VuLFxuICAgICAgeyB0eXBlOiBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuRGVmZXJyZWRVcGRhdGVNZXNzYWdlIH0sXG4gICAgICBvcHRpb25zLFxuICAgIClcbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gcmVzdWx0XG4gIH0sXG4gIGFzeW5jIGRlZmVyKGlzUHJpdmF0ZSwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVmZXIgYW4gYWxyZWFkeSByZXNwb25kZWQgaW50ZXJhY3Rpb24uJylcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICB0aGlzLmlkLFxuICAgICAgdGhpcy50b2tlbixcbiAgICAgIHtcbiAgICAgICAgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZmxhZ3M6IGlzUHJpdmF0ZSA/IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwgOiB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9LFxuICBhc3luYyBkZWxldGUobWVzc2FnZUlkKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlbGV0ZSBhbiBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb24nKVxuXG4gICAgaWYgKG1lc3NhZ2VJZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90Py5oZWxwZXJzLmRlbGV0ZUZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCBtZXNzYWdlSWQpXG4gICAgZWxzZSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMudG9rZW4pXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uLCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9KTogSW50ZXJhY3Rpb24ge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpIDogdW5kZWZpbmVkXG5cbiAgY29uc3QgaW50ZXJhY3Rpb246IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSBPYmplY3QuY3JlYXRlKGJhc2VJbnRlcmFjdGlvbilcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uXG5cbiAgaW50ZXJhY3Rpb24uYm90ID0gYm90XG4gIGludGVyYWN0aW9uLmFja25vd2xlZGdlZCA9IGZhbHNlXG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGludGVyYWN0aW9uLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZClcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgaW50ZXJhY3Rpb24uYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMudG9rZW4gJiYgcGF5bG9hZC50b2tlbikgaW50ZXJhY3Rpb24udG9rZW4gPSBwYXlsb2FkLnRva2VuXG4gIGlmIChwcm9wcy52ZXJzaW9uICYmIHBheWxvYWQudmVyc2lvbikgaW50ZXJhY3Rpb24udmVyc2lvbiA9IHBheWxvYWQudmVyc2lvblxuICBpZiAocHJvcHMubG9jYWxlICYmIHBheWxvYWQubG9jYWxlKSBpbnRlcmFjdGlvbi5sb2NhbGUgPSBwYXlsb2FkLmxvY2FsZVxuICBpZiAocHJvcHMuZ3VpbGRMb2NhbGUgJiYgcGF5bG9hZC5ndWlsZF9sb2NhbGUpIGludGVyYWN0aW9uLmd1aWxkTG9jYWxlID0gcGF5bG9hZC5ndWlsZF9sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkICYmIHBheWxvYWQuZ3VpbGQpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwYXlsb2FkLmd1aWxkIGlzIGEgUGFydGlhbDxEaXNjb3JkR3VpbGQ+XG4gICAgaW50ZXJhY3Rpb24uZ3VpbGQgPSBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgcGF5bG9hZC5ndWlsZCwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KVxuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBndWlsZElkKSBpbnRlcmFjdGlvbi5ndWlsZElkID0gZ3VpbGRJZFxuICBpZiAocHJvcHMudXNlcikge1xuICAgIGlmIChwYXlsb2FkLm1lbWJlcj8udXNlcikgaW50ZXJhY3Rpb24udXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQubWVtYmVyPy51c2VyKVxuICAgIGVsc2UgaWYgKHBheWxvYWQudXNlcikgaW50ZXJhY3Rpb24udXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQudXNlcilcbiAgfVxuICBpZiAocHJvcHMuYXBwUGVybWlzc2lvbnMgJiYgcGF5bG9hZC5hcHBfcGVybWlzc2lvbnMpIGludGVyYWN0aW9uLmFwcFBlcm1pc3Npb25zID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBfcGVybWlzc2lvbnMpXG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQubWVzc2FnZSkgaW50ZXJhY3Rpb24ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHBheWxvYWQubWVzc2FnZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KVxuICBpZiAocHJvcHMuY2hhbm5lbCAmJiBwYXlsb2FkLmNoYW5uZWwpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwYXlsb2FkLmNoYW5uZWwgaXMgYSBQYXJ0aWFsPD5cbiAgICBpbnRlcmFjdGlvbi5jaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgcGF5bG9hZC5jaGFubmVsLCB7IGd1aWxkSWQgfSlcbiAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmNoYW5uZWxfaWQpIGludGVyYWN0aW9uLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHBheWxvYWQubWVtYmVyKVxuICAgIGludGVyYWN0aW9uLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5tZW1iZXIsIHtcbiAgICAgIGd1aWxkSWQsXG4gICAgICB1c2VySWQ6IHBheWxvYWQubWVtYmVyPy51c2VyLmlkID8/IHBheWxvYWQudXNlcj8uaWQsXG4gICAgfSlcbiAgaWYgKHByb3BzLmVudGl0bGVtZW50cyAmJiBwYXlsb2FkLmVudGl0bGVtZW50cykgaW50ZXJhY3Rpb24uZW50aXRsZW1lbnRzID0gcGF5bG9hZC5lbnRpdGxlbWVudHMubWFwKChlKSA9PiBib3QudHJhbnNmb3JtZXJzLmVudGl0bGVtZW50KGJvdCwgZSkpXG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzICYmIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzKSB7XG4gICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9XG5cbiAgICBpZiAocGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLkd1aWxkSW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSxcbiAgICAgIClcbiAgICBpZiAocGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKVxuICB9XG4gIGlmIChwcm9wcy5jb250ZXh0ICYmIHBheWxvYWQuY29udGV4dCkgaW50ZXJhY3Rpb24uY29udGV4dCA9IHBheWxvYWQuY29udGV4dFxuICBpZiAocHJvcHMuYXR0YWNobWVudFNpemVMaW1pdCAmJiBwYXlsb2FkLmF0dGFjaG1lbnRfc2l6ZV9saW1pdCkgaW50ZXJhY3Rpb24uYXR0YWNobWVudFNpemVMaW1pdCA9IHBheWxvYWQuYXR0YWNobWVudF9zaXplX2xpbWl0XG4gIGlmIChwcm9wcy5kYXRhICYmIHBheWxvYWQuZGF0YSkge1xuICAgIGludGVyYWN0aW9uLmRhdGEgPSB7XG4gICAgICB0eXBlOiBwYXlsb2FkLmRhdGEudHlwZSxcbiAgICAgIGNvbXBvbmVudFR5cGU6IHBheWxvYWQuZGF0YS5jb21wb25lbnRfdHlwZSxcbiAgICAgIGN1c3RvbUlkOiBwYXlsb2FkLmRhdGEuY3VzdG9tX2lkLFxuICAgICAgY29tcG9uZW50czogcGF5bG9hZC5kYXRhLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpLFxuICAgICAgdmFsdWVzOiBwYXlsb2FkLmRhdGEudmFsdWVzLFxuICAgICAgaWQ6IHBheWxvYWQuZGF0YS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZGF0YS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICBuYW1lOiBwYXlsb2FkLmRhdGEubmFtZSxcbiAgICAgIHJlc29sdmVkOiBwYXlsb2FkLmRhdGEucmVzb2x2ZWRcbiAgICAgICAgPyBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uRGF0YVJlc29sdmVkKGJvdCwgcGF5bG9hZC5kYXRhLnJlc29sdmVkLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkLCBndWlsZElkIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgb3B0aW9uczogcGF5bG9hZC5kYXRhLm9wdGlvbnM/Lm1hcCgob3B0KSA9PiBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uRGF0YU9wdGlvbnMoYm90LCBvcHQpKSxcbiAgICAgIHRhcmdldElkOiBwYXlsb2FkLmRhdGEudGFyZ2V0X2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5kYXRhLnRhcmdldF9pZCkgOiB1bmRlZmluZWQsXG4gICAgfVxuICB9XG5cbiAgLy8gVHlwZXNjcmlwdCBoYXMgYW4gaGFyZCB0aW1lIHdpdGggaW50ZXJhY3Rpb24uYm90LCBzbyB3ZSBuZWVkIHRvIHRlbGwgaGltIGZvciBzdXJlIHRoaXMgaW50ZXJhY3Rpb24gaXMgdGhlIG9mIHRoZSBjb3JyZWN0IHR5cGVcbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb24oYm90LCBwYXlsb2FkLCBpbnRlcmFjdGlvbiBhcyB1bmtub3duIGFzIHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uLCBleHRyYSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbihib3Q6IEJvdCwgb3B0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uKTogSW50ZXJhY3Rpb25EYXRhT3B0aW9uIHtcbiAgY29uc3Qgb3B0ID0ge1xuICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxuICAgIHR5cGU6IG9wdGlvbi50eXBlLFxuICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgb3B0aW9uczogb3B0aW9uLm9wdGlvbnMsXG4gICAgZm9jdXNlZDogb3B0aW9uLmZvY3VzZWQsXG4gIH0gYXMgSW50ZXJhY3Rpb25EYXRhT3B0aW9uXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyhib3QsIG9wdGlvbiwgb3B0KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyOyBndWlsZElkPzogQmlnU3RyaW5nIH0sXG4pOiBUcmFuc2Zvcm1Qcm9wZXJ0eTxJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5PiB7XG4gIGNvbnN0IHRyYW5zZm9ybWVkOiBUcmFuc2Zvcm1Qcm9wZXJ0eTxJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5PiA9IHt9XG5cbiAgaWYgKHBheWxvYWQubWVzc2FnZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZXNzYWdlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5tZXNzYWdlcykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBEZWFsIHdpdGggcGFydGlhbHNcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHZhbHVlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pXG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuXG4gICAgICAgIHJldHVybiBbaWQsIG1lc3NhZ2VdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC51c2Vycykge1xuICAgIHRyYW5zZm9ybWVkLnVzZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnVzZXJzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCB1c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgdmFsdWUpXG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuXG4gICAgICAgIHJldHVybiBbaWQsIHVzZXJdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAoZXh0cmE/Lmd1aWxkSWQgJiYgcGF5bG9hZC5tZW1iZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5tZW1iZXJzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IERlYWwgd2l0aCBwYXJ0aWFscywgdmFsdWUgaXMgbWlzc2luZyAyIHZhbHVlcyBidXQgdGhlIHRyYW5zZm9ybWVyIGNhbiBoYW5kbGUgaXQsIGRlc3BpdGUgd2hhdCB0aGUgdHlwZXMgc2F5c1xuICAgICAgICBjb25zdCBtZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHZhbHVlLCB7XG4gICAgICAgICAgZ3VpbGRJZDogZXh0cmEuZ3VpbGRJZCxcbiAgICAgICAgICB1c2VySWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGtleSksXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuXG4gICAgICAgIHJldHVybiBbaWQsIG1lbWJlcl1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChleHRyYT8uZ3VpbGRJZCAmJiBwYXlsb2FkLnJvbGVzKSB7XG4gICAgdHJhbnNmb3JtZWQucm9sZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucm9sZXMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvbGUgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB2YWx1ZSwgeyBndWlsZElkOiBleHRyYS5ndWlsZElkIH0pXG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuXG4gICAgICAgIHJldHVybiBbaWQsIHJvbGVdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC5jaGFubmVscykge1xuICAgIHRyYW5zZm9ybWVkLmNoYW5uZWxzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLmNoYW5uZWxzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCBjaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgdmFsdWUpIGFzIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhQ2hhbm5lbDxcbiAgICAgICAgICBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgICAgICAgICBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleVxuICAgICAgICA+XG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuXG4gICAgICAgIHJldHVybiBbaWQsIGNoYW5uZWxdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC5hdHRhY2htZW50cykge1xuICAgIHRyYW5zZm9ybWVkLmF0dGFjaG1lbnRzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLmF0dGFjaG1lbnRzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCBpZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGtleSlcbiAgICAgICAgY29uc3QgYXR0YWNobWVudCA9IGJvdC50cmFuc2Zvcm1lcnMuYXR0YWNobWVudChib3QsIHZhbHVlKVxuXG4gICAgICAgIHJldHVybiBbaWQsIGF0dGFjaG1lbnRdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQsIHRyYW5zZm9ybWVkLCB7XG4gICAgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsXG4gICAgZ3VpbGRJZDogZXh0cmE/Lmd1aWxkSWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShleHRyYS5ndWlsZElkKSA6IHVuZGVmaW5lZCxcbiAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZShcbiAgYm90OiBCb3QsXG4gIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0sXG4pOiBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG4gIGNvbnN0IHJlc3BvbnNlID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8SW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj5cblxuICBpZiAocHJvcHMuaW50ZXJhY3Rpb24gJiYgcGF5bG9hZC5pbnRlcmFjdGlvbikgcmVzcG9uc2UuaW50ZXJhY3Rpb24gPSBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uQ2FsbGJhY2soYm90LCBwYXlsb2FkLmludGVyYWN0aW9uKVxuICBpZiAocHJvcHMucmVzb3VyY2UgJiYgcGF5bG9hZC5yZXNvdXJjZSkgcmVzcG9uc2UucmVzb3VyY2UgPSBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uUmVzb3VyY2UoYm90LCBwYXlsb2FkLnJlc291cmNlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKGJvdCwgcGF5bG9hZCwgcmVzcG9uc2UsIGV4dHJhKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayhib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2spOiBJbnRlcmFjdGlvbkNhbGxiYWNrIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uQ2FsbGJhY2tcbiAgY29uc3QgY2FsbGJhY2sgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvbkNhbGxiYWNrLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj5cblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY2FsbGJhY2suaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKVxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNhbGxiYWNrLnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLmFjdGl2aXR5SW5zdGFuY2VJZCAmJiBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlX2lkKSBjYWxsYmFjay5hY3Rpdml0eUluc3RhbmNlSWQgPSBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlX2lkXG4gIGlmIChwcm9wcy5yZXNwb25zZU1lc3NhZ2VJZCAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfaWQpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2lkKVxuICBpZiAocHJvcHMucmVzcG9uc2VNZXNzYWdlRXBoZW1lcmFsICYmIHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWwpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCA9IHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWxcbiAgaWYgKHByb3BzLnJlc3BvbnNlTWVzc2FnZUxvYWRpbmcgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2xvYWRpbmcpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUxvYWRpbmcgPSBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfbG9hZGluZ1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uQ2FsbGJhY2soYm90LCBwYXlsb2FkLCBjYWxsYmFjaylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9KTogSW50ZXJhY3Rpb25SZXNvdXJjZSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvblJlc291cmNlXG4gIGNvbnN0IHJlc291cmNlID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8SW50ZXJhY3Rpb25SZXNvdXJjZSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSByZXNvdXJjZS50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlICYmIHBheWxvYWQuYWN0aXZpdHlfaW5zdGFuY2UpIHJlc291cmNlLmFjdGl2aXR5SW5zdGFuY2UgPSBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlXG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQubWVzc2FnZSkgcmVzb3VyY2UubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHBheWxvYWQubWVzc2FnZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uUmVzb3VyY2UoYm90LCBwYXlsb2FkLCByZXNvdXJjZSwgZXh0cmEpXG59XG4iXSwibmFtZXMiOlsiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzIiwiSW50ZXJhY3Rpb25UeXBlcyIsIk1lc3NhZ2VGbGFncyIsIkNvbGxlY3Rpb24iLCJiYXNlSW50ZXJhY3Rpb24iLCJ1bmRlZmluZWQiLCJyZXNwb25kIiwicmVzcG9uc2UiLCJvcHRpb25zIiwidHlwZSIsIkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSIsImNvbnRlbnQiLCJ0aXRsZSIsIk1vZGFsIiwiQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlIiwiQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlUmVzdWx0IiwiaXNQcml2YXRlIiwiZmxhZ3MiLCJFcGhlbWVyYWwiLCJhY2tub3dsZWRnZWQiLCJib3QiLCJoZWxwZXJzIiwic2VuZEZvbGxvd3VwTWVzc2FnZSIsInRva2VuIiwiTW9kYWxTdWJtaXQiLCJFcnJvciIsInJlc3VsdCIsInNlbmRJbnRlcmFjdGlvblJlc3BvbnNlIiwiaWQiLCJkYXRhIiwid2l0aFJlc3BvbnNlIiwiZWRpdCIsIm1lc3NhZ2VJZCIsImVkaXRGb2xsb3d1cE1lc3NhZ2UiLCJNZXNzYWdlQ29tcG9uZW50IiwiVXBkYXRlTWVzc2FnZSIsImVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJkZWZlckVkaXQiLCJEZWZlcnJlZFVwZGF0ZU1lc3NhZ2UiLCJkZWZlciIsIkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlIiwiZGVsZXRlIiwiZGVsZXRlRm9sbG93dXBNZXNzYWdlIiwiZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwidHJhbnNmb3JtSW50ZXJhY3Rpb24iLCJwYXlsb2FkIiwiZXh0cmEiLCJndWlsZElkIiwiZ3VpbGRfaWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJpbnRlcmFjdGlvbiIsIk9iamVjdCIsImNyZWF0ZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJ2ZXJzaW9uIiwibG9jYWxlIiwiZ3VpbGRMb2NhbGUiLCJndWlsZF9sb2NhbGUiLCJndWlsZCIsInNoYXJkSWQiLCJ1c2VyIiwibWVtYmVyIiwiYXBwUGVybWlzc2lvbnMiLCJhcHBfcGVybWlzc2lvbnMiLCJtZXNzYWdlIiwiY2hhbm5lbCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJ1c2VySWQiLCJlbnRpdGxlbWVudHMiLCJtYXAiLCJlIiwiZW50aXRsZW1lbnQiLCJhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzIiwiYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzIiwiR3VpbGRJbnN0YWxsIiwiVXNlckluc3RhbGwiLCJjb250ZXh0IiwiYXR0YWNobWVudFNpemVMaW1pdCIsImF0dGFjaG1lbnRfc2l6ZV9saW1pdCIsImNvbXBvbmVudFR5cGUiLCJjb21wb25lbnRfdHlwZSIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwiY29tcG9uZW50cyIsImNvbXBvbmVudCIsInZhbHVlcyIsIm5hbWUiLCJyZXNvbHZlZCIsImludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwib3B0IiwiaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyIsInRhcmdldElkIiwidGFyZ2V0X2lkIiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24iLCJvcHRpb24iLCJ2YWx1ZSIsImZvY3VzZWQiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsInRyYW5zZm9ybWVkIiwibWVzc2FnZXMiLCJlbnRyaWVzIiwia2V5IiwidXNlcnMiLCJtZW1iZXJzIiwicm9sZXMiLCJyb2xlIiwiY2hhbm5lbHMiLCJhdHRhY2htZW50cyIsImF0dGFjaG1lbnQiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkNhbGxiYWNrIiwicmVzb3VyY2UiLCJpbnRlcmFjdGlvblJlc291cmNlIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayIsImNhbGxiYWNrIiwiYWN0aXZpdHlJbnN0YW5jZUlkIiwiYWN0aXZpdHlfaW5zdGFuY2VfaWQiLCJyZXNwb25zZU1lc3NhZ2VJZCIsInJlc3BvbnNlX21lc3NhZ2VfaWQiLCJyZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwiLCJyZXNwb25zZV9tZXNzYWdlX2VwaGVtZXJhbCIsInJlc3BvbnNlTWVzc2FnZUxvYWRpbmciLCJyZXNwb25zZV9tZXNzYWdlX2xvYWRpbmciLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlIiwiYWN0aXZpdHlJbnN0YW5jZSIsImFjdGl2aXR5X2luc3RhbmNlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUVFQSxpQ0FBaUMsRUFPakNDLHdCQUF3QixFQUN4QkMsZ0JBQWdCLEVBQ2hCQyxZQUFZLFFBQ1Asb0JBQW1CO0FBQzFCLFNBQVNDLFVBQVUsUUFBUSxvQkFBbUI7QUFtQjlDLG9JQUFvSTtBQUNwSSxzR0FBc0c7QUFDdEcsT0FBTyxNQUFNQyxrQkFBNEg7SUFDdkksMkVBQTJFO0lBQzNFLEdBQUlDLFNBQVM7SUFFYixNQUFNQyxTQUFRQyxRQUFRLEVBQUVDLE9BQU87UUFDN0IsSUFBSUMsT0FBT1QseUJBQXlCVSx3QkFBd0I7UUFFNUQsNERBQTREO1FBQzVELElBQUksT0FBT0gsYUFBYSxVQUFVQSxXQUFXO1lBQUVJLFNBQVNKO1FBQVM7UUFFakUsNEZBQTRGO1FBQzVGLElBQUlBLFNBQVNLLEtBQUssRUFBRUgsT0FBT1QseUJBQXlCYSxLQUFLO1FBQ3pELElBQUksSUFBSSxDQUFDSixJQUFJLEtBQUtSLGlCQUFpQmEsOEJBQThCLEVBQUVMLE9BQU9ULHlCQUF5QmUsb0NBQW9DO1FBQ3ZJLElBQUlOLFNBQVNULHlCQUF5QlUsd0JBQXdCLElBQUlGLFNBQVNRLFdBQVc7WUFDcEZULFNBQVNVLEtBQUssS0FBSztZQUNuQlYsU0FBU1UsS0FBSyxJQUFJZixhQUFhZ0IsU0FBUztRQUMxQztRQUVBLHlGQUF5RjtRQUN6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
@@ -1,5 +1,6 @@
1
1
  import type { DiscordInviteCreate, DiscordInviteMetadata } from '@discordeno/types';
2
- import { type Bot, type Invite } from '../index.js';
2
+ import type { Bot } from '../bot.js';
3
+ import type { Invite } from './types.js';
3
4
  export declare function transformInvite(bot: Bot, payload: DiscordInviteCreate | DiscordInviteMetadata, extra?: {
4
5
  shardId?: number;
5
6
  }): Invite;
@@ -1 +1 @@
1
- {"version":3,"file":"invite.d.ts","sourceRoot":"","sources":["../../src/transformers/invite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,EACL,KAAK,GAAG,EAER,KAAK,MAAM,EAKZ,MAAM,aAAa,CAAA;AAEpB,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,GAAG,qBAAqB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAuCpI"}
1
+ {"version":3,"file":"invite.d.ts","sourceRoot":"","sources":["../../src/transformers/invite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAEnF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAGpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,GAAG,qBAAqB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAoCpI"}
@@ -1,4 +1,5 @@
1
- import { isInviteWithMetadata, ToggleBitfield } from '../index.js';
1
+ import { isInviteWithMetadata } from '@discordeno/utils';
2
+ import { ToggleBitfield } from './toggles/ToggleBitfield.js';
2
3
  export function transformInvite(bot, payload, extra) {
3
4
  const props = bot.transformers.desiredProperties.invite;
4
5
  const invite = {};
@@ -22,11 +23,6 @@ export function transformInvite(bot, payload, extra) {
22
23
  if (props.approximateMemberCount && payload.approximate_member_count) invite.approximateMemberCount = payload.approximate_member_count;
23
24
  if (props.approximatePresenceCount && payload.approximate_presence_count !== undefined) invite.approximatePresenceCount = payload.approximate_presence_count;
24
25
  if (props.guildScheduledEvent && payload.guild_scheduled_event) invite.guildScheduledEvent = bot.transformers.scheduledEvent(bot, payload.guild_scheduled_event);
25
- if (props.stageInstance && payload.guild?.id && payload.stage_instance) {
26
- invite.stageInstance = bot.transformers.inviteStageInstance(bot, payload.stage_instance, {
27
- guildId: payload.guild.id
28
- });
29
- }
30
26
  if (props.expiresAt && payload.expires_at) {
31
27
  invite.expiresAt = Date.parse(payload.expires_at);
32
28
  }
@@ -38,4 +34,4 @@ export function transformInvite(bot, payload, extra) {
38
34
  return bot.transformers.customizers.invite(bot, payload, invite, extra);
39
35
  }
40
36
 
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW52aXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZEludml0ZUNyZWF0ZSwgRGlzY29yZEludml0ZU1ldGFkYXRhIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQge1xuICB0eXBlIEJvdCxcbiAgdHlwZSBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuICB0eXBlIEludml0ZSxcbiAgaXNJbnZpdGVXaXRoTWV0YWRhdGEsXG4gIHR5cGUgU2V0dXBEZXNpcmVkUHJvcHMsXG4gIFRvZ2dsZUJpdGZpZWxkLFxuICB0eXBlIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxufSBmcm9tICcuLi9pbmRleC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludml0ZShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEludml0ZUNyZWF0ZSB8IERpc2NvcmRJbnZpdGVNZXRhZGF0YSwgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSk6IEludml0ZSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnZpdGVcbiAgY29uc3QgaW52aXRlID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8SW52aXRlLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj5cblxuICBpZiAocHJvcHMudHlwZSAmJiAndHlwZScgaW4gcGF5bG9hZCkgaW52aXRlLnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLmNvZGUgJiYgcGF5bG9hZC5jb2RlKSBpbnZpdGUuY29kZSA9IHBheWxvYWQuY29kZVxuICBpZiAocHJvcHMuY3JlYXRlZEF0ICYmIHBheWxvYWQuY3JlYXRlZF9hdCkgaW52aXRlLmNyZWF0ZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5jcmVhdGVkX2F0KVxuICBpZiAocHJvcHMuaW52aXRlciAmJiBwYXlsb2FkLmludml0ZXIpIGludml0ZS5pbnZpdGVyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnZpdGVyKVxuICBpZiAocHJvcHMubWF4QWdlKSBpbnZpdGUubWF4QWdlID0gcGF5bG9hZC5tYXhfYWdlXG4gIGlmIChwcm9wcy5tYXhVc2VzKSBpbnZpdGUubWF4VXNlcyA9IHBheWxvYWQubWF4X3VzZXNcbiAgaWYgKHByb3BzLnRhcmdldFR5cGUgJiYgcGF5bG9hZC50YXJnZXRfdHlwZSkgaW52aXRlLnRhcmdldFR5cGUgPSBwYXlsb2FkLnRhcmdldF90eXBlXG4gIGlmIChwcm9wcy50YXJnZXRVc2VyICYmIHBheWxvYWQudGFyZ2V0X3VzZXIpIGludml0ZS50YXJnZXRVc2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC50YXJnZXRfdXNlcilcbiAgaWYgKHByb3BzLnRhcmdldEFwcGxpY2F0aW9uICYmIHBheWxvYWQudGFyZ2V0X2FwcGxpY2F0aW9uKVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogUGFydGlhbHNcbiAgICBpbnZpdGUudGFyZ2V0QXBwbGljYXRpb24gPSBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uKGJvdCwgcGF5bG9hZC50YXJnZXRfYXBwbGljYXRpb24sIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSlcbiAgaWYgKHByb3BzLnRlbXBvcmFyeSAmJiBwYXlsb2FkLnRlbXBvcmFyeSkgaW52aXRlLnRlbXBvcmFyeSA9IHBheWxvYWQudGVtcG9yYXJ5XG4gIGlmIChwcm9wcy51c2VzICYmIHBheWxvYWQudXNlcykgaW52aXRlLnVzZXMgPSBwYXlsb2FkLnVzZXNcblxuICBpZiAoaXNJbnZpdGVXaXRoTWV0YWRhdGEocGF5bG9hZCkpIHtcbiAgICBpZiAocHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQuY2hhbm5lbD8uaWQpIGludml0ZS5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWwuaWQpXG4gICAgaWYgKHByb3BzLmd1aWxkSWQgJiYgcGF5bG9hZC5ndWlsZD8uaWQpIGludml0ZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5pZClcbiAgICBpZiAocHJvcHMuYXBwcm94aW1hdGVNZW1iZXJDb3VudCAmJiBwYXlsb2FkLmFwcHJveGltYXRlX21lbWJlcl9jb3VudCkgaW52aXRlLmFwcHJveGltYXRlTWVtYmVyQ291bnQgPSBwYXlsb2FkLmFwcHJveGltYXRlX21lbWJlcl9jb3VudFxuICAgIGlmIChwcm9wcy5hcHByb3hpbWF0ZVByZXNlbmNlQ291bnQgJiYgcGF5bG9hZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudCAhPT0gdW5kZWZpbmVkKVxuICAgICAgaW52aXRlLmFwcHJveGltYXRlUHJlc2VuY2VDb3VudCA9IHBheWxvYWQuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnRcbiAgICBpZiAocHJvcHMuZ3VpbGRTY2hlZHVsZWRFdmVudCAmJiBwYXlsb2FkLmd1aWxkX3NjaGVkdWxlZF9ldmVudClcbiAgICAgIGludml0ZS5ndWlsZFNjaGVkdWxlZEV2ZW50ID0gYm90LnRyYW5zZm9ybWVycy5zY2hlZHVsZWRFdmVudChib3QsIHBheWxvYWQuZ3VpbGRfc2NoZWR1bGVkX2V2ZW50KVxuICAgIGlmIChwcm9wcy5zdGFnZUluc3RhbmNlICYmIHBheWxvYWQuZ3VpbGQ/LmlkICYmIHBheWxvYWQuc3RhZ2VfaW5zdGFuY2UpIHtcbiAgICAgIGludml0ZS5zdGFnZUluc3RhbmNlID0gYm90LnRyYW5zZm9ybWVycy5pbnZpdGVTdGFnZUluc3RhbmNlKGJvdCwgcGF5bG9hZC5zdGFnZV9pbnN0YW5jZSwgeyBndWlsZElkOiBwYXlsb2FkLmd1aWxkLmlkIH0pXG4gICAgfVxuICAgIGlmIChwcm9wcy5leHBpcmVzQXQgJiYgcGF5bG9hZC5leHBpcmVzX2F0KSB7XG4gICAgICBpbnZpdGUuZXhwaXJlc0F0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLmV4cGlyZXNfYXQpXG4gICAgfVxuICAgIGlmIChwcm9wcy5mbGFncyAmJiBwYXlsb2FkLmZsYWdzKSBpbnZpdGUuZmxhZ3MgPSBuZXcgVG9nZ2xlQml0ZmllbGQocGF5bG9hZC5mbGFncylcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQuY2hhbm5lbF9pZCkgaW52aXRlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuY2hhbm5lbF9pZClcbiAgICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLmd1aWxkX2lkKSBpbnZpdGUuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnZpdGUoYm90LCBwYXlsb2FkLCBpbnZpdGUsIGV4dHJhKVxufVxuIl0sIm5hbWVzIjpbImlzSW52aXRlV2l0aE1ldGFkYXRhIiwiVG9nZ2xlQml0ZmllbGQiLCJ0cmFuc2Zvcm1JbnZpdGUiLCJib3QiLCJwYXlsb2FkIiwiZXh0cmEiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiaW52aXRlIiwidHlwZSIsImNvZGUiLCJjcmVhdGVkQXQiLCJjcmVhdGVkX2F0IiwiRGF0ZSIsInBhcnNlIiwiaW52aXRlciIsInVzZXIiLCJtYXhBZ2UiLCJtYXhfYWdlIiwibWF4VXNlcyIsIm1heF91c2VzIiwidGFyZ2V0VHlwZSIsInRhcmdldF90eXBlIiwidGFyZ2V0VXNlciIsInRhcmdldF91c2VyIiwidGFyZ2V0QXBwbGljYXRpb24iLCJ0YXJnZXRfYXBwbGljYXRpb24iLCJhcHBsaWNhdGlvbiIsInNoYXJkSWQiLCJ0ZW1wb3JhcnkiLCJ1c2VzIiwiY2hhbm5lbElkIiwiY2hhbm5lbCIsImlkIiwic25vd2ZsYWtlIiwiZ3VpbGRJZCIsImd1aWxkIiwiYXBwcm94aW1hdGVNZW1iZXJDb3VudCIsImFwcHJveGltYXRlX21lbWJlcl9jb3VudCIsImFwcHJveGltYXRlUHJlc2VuY2VDb3VudCIsImFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50IiwidW5kZWZpbmVkIiwiZ3VpbGRTY2hlZHVsZWRFdmVudCIsImd1aWxkX3NjaGVkdWxlZF9ldmVudCIsInNjaGVkdWxlZEV2ZW50Iiwic3RhZ2VJbnN0YW5jZSIsInN0YWdlX2luc3RhbmNlIiwiaW52aXRlU3RhZ2VJbnN0YW5jZSIsImV4cGlyZXNBdCIsImV4cGlyZXNfYXQiLCJmbGFncyIsImNoYW5uZWxfaWQiLCJndWlsZF9pZCIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUlFQSxvQkFBb0IsRUFFcEJDLGNBQWMsUUFFVCxjQUFhO0FBRXBCLE9BQU8sU0FBU0MsZ0JBQWdCQyxHQUFRLEVBQUVDLE9BQW9ELEVBQUVDLEtBQTRCO0lBQzFILE1BQU1DLFFBQVFILElBQUlJLFlBQVksQ0FBQ0MsaUJBQWlCLENBQUNDLE1BQU07SUFDdkQsTUFBTUEsU0FBUyxDQUFDO0lBRWhCLElBQUlILE1BQU1JLElBQUksSUFBSSxVQUFVTixTQUFTSyxPQUFPQyxJQUFJLEdBQUdOLFFBQVFNLElBQUk7SUFDL0QsSUFBSUosTUFBTUssSUFBSSxJQUFJUCxRQUFRTyxJQUFJLEVBQUVGLE9BQU9FLElBQUksR0FBR1AsUUFBUU8sSUFBSTtJQUMxRCxJQUFJTCxNQUFNTSxTQUFTLElBQUlSLFFBQVFTLFVBQVUsRUFBRUosT0FBT0csU0FBUyxHQUFHRSxLQUFLQyxLQUFLLENBQUNYLFFBQVFTLFVBQVU7SUFDM0YsSUFBSVAsTUFBTVUsT0FBTyxJQUFJWixRQUFRWSxPQUFPLEVBQUVQLE9BQU9PLE9BQU8sR0FBR2IsSUFBSUksWUFBWSxDQUFDVSxJQUFJLENBQUNkLEtBQUtDLFFBQVFZLE9BQU87SUFDakcsSUFBSVYsTUFBTVksTUFBTSxFQUFFVCxPQUFPUyxNQUFNLEdBQUdkLFFBQVFl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
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW52aXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZEludml0ZUNyZWF0ZSwgRGlzY29yZEludml0ZU1ldGFkYXRhIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBpc0ludml0ZVdpdGhNZXRhZGF0YSB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnXG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJ1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGQgfSBmcm9tICcuL3RvZ2dsZXMvVG9nZ2xlQml0ZmllbGQuanMnXG5pbXBvcnQgdHlwZSB7IEludml0ZSB9IGZyb20gJy4vdHlwZXMuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnZpdGUoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRJbnZpdGVDcmVhdGUgfCBEaXNjb3JkSW52aXRlTWV0YWRhdGEsIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0pOiBJbnZpdGUge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW52aXRlXG4gIGNvbnN0IGludml0ZSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEludml0ZSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgJ3R5cGUnIGluIHBheWxvYWQpIGludml0ZS50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5jb2RlICYmIHBheWxvYWQuY29kZSkgaW52aXRlLmNvZGUgPSBwYXlsb2FkLmNvZGVcbiAgaWYgKHByb3BzLmNyZWF0ZWRBdCAmJiBwYXlsb2FkLmNyZWF0ZWRfYXQpIGludml0ZS5jcmVhdGVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuY3JlYXRlZF9hdClcbiAgaWYgKHByb3BzLmludml0ZXIgJiYgcGF5bG9hZC5pbnZpdGVyKSBpbnZpdGUuaW52aXRlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQuaW52aXRlcilcbiAgaWYgKHByb3BzLm1heEFnZSkgaW52aXRlLm1heEFnZSA9IHBheWxvYWQubWF4X2FnZVxuICBpZiAocHJvcHMubWF4VXNlcykgaW52aXRlLm1heFVzZXMgPSBwYXlsb2FkLm1heF91c2VzXG4gIGlmIChwcm9wcy50YXJnZXRUeXBlICYmIHBheWxvYWQudGFyZ2V0X3R5cGUpIGludml0ZS50YXJnZXRUeXBlID0gcGF5bG9hZC50YXJnZXRfdHlwZVxuICBpZiAocHJvcHMudGFyZ2V0VXNlciAmJiBwYXlsb2FkLnRhcmdldF91c2VyKSBpbnZpdGUudGFyZ2V0VXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQudGFyZ2V0X3VzZXIpXG4gIGlmIChwcm9wcy50YXJnZXRBcHBsaWNhdGlvbiAmJiBwYXlsb2FkLnRhcmdldF9hcHBsaWNhdGlvbilcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IFBhcnRpYWxzXG4gICAgaW52aXRlLnRhcmdldEFwcGxpY2F0aW9uID0gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbihib3QsIHBheWxvYWQudGFyZ2V0X2FwcGxpY2F0aW9uLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pXG4gIGlmIChwcm9wcy50ZW1wb3JhcnkgJiYgcGF5bG9hZC50ZW1wb3JhcnkpIGludml0ZS50ZW1wb3JhcnkgPSBwYXlsb2FkLnRlbXBvcmFyeVxuICBpZiAocHJvcHMudXNlcyAmJiBwYXlsb2FkLnVzZXMpIGludml0ZS51c2VzID0gcGF5bG9hZC51c2VzXG5cbiAgaWYgKGlzSW52aXRlV2l0aE1ldGFkYXRhKHBheWxvYWQpKSB7XG4gICAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmNoYW5uZWw/LmlkKSBpbnZpdGUuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5jaGFubmVsLmlkKVxuICAgIGlmIChwcm9wcy5ndWlsZElkICYmIHBheWxvYWQuZ3VpbGQ/LmlkKSBpbnZpdGUuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuaWQpXG4gICAgaWYgKHByb3BzLmFwcHJveGltYXRlTWVtYmVyQ291bnQgJiYgcGF5bG9hZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnQpIGludml0ZS5hcHByb3hpbWF0ZU1lbWJlckNvdW50ID0gcGF5bG9hZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnRcbiAgICBpZiAocHJvcHMuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ICYmIHBheWxvYWQuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQgIT09IHVuZGVmaW5lZClcbiAgICAgIGludml0ZS5hcHByb3hpbWF0ZVByZXNlbmNlQ291bnQgPSBwYXlsb2FkLmFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50XG4gICAgaWYgKHByb3BzLmd1aWxkU2NoZWR1bGVkRXZlbnQgJiYgcGF5bG9hZC5ndWlsZF9zY2hlZHVsZWRfZXZlbnQpXG4gICAgICBpbnZpdGUuZ3VpbGRTY2hlZHVsZWRFdmVudCA9IGJvdC50cmFuc2Zvcm1lcnMuc2NoZWR1bGVkRXZlbnQoYm90LCBwYXlsb2FkLmd1aWxkX3NjaGVkdWxlZF9ldmVudClcbiAgICBpZiAocHJvcHMuZXhwaXJlc0F0ICYmIHBheWxvYWQuZXhwaXJlc19hdCkge1xuICAgICAgaW52aXRlLmV4cGlyZXNBdCA9IERhdGUucGFyc2UocGF5bG9hZC5leHBpcmVzX2F0KVxuICAgIH1cbiAgICBpZiAocHJvcHMuZmxhZ3MgJiYgcGF5bG9hZC5mbGFncykgaW52aXRlLmZsYWdzID0gbmV3IFRvZ2dsZUJpdGZpZWxkKHBheWxvYWQuZmxhZ3MpXG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmNoYW5uZWxfaWQpIGludml0ZS5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpXG4gICAgaWYgKHByb3BzLmd1aWxkSWQgJiYgcGF5bG9hZC5ndWlsZF9pZCkgaW52aXRlLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKVxuICB9XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW52aXRlKGJvdCwgcGF5bG9hZCwgaW52aXRlLCBleHRyYSlcbn1cbiJdLCJuYW1lcyI6WyJpc0ludml0ZVdpdGhNZXRhZGF0YSIsIlRvZ2dsZUJpdGZpZWxkIiwidHJhbnNmb3JtSW52aXRlIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImludml0ZSIsInR5cGUiLCJjb2RlIiwiY3JlYXRlZEF0IiwiY3JlYXRlZF9hdCIsIkRhdGUiLCJwYXJzZSIsImludml0ZXIiLCJ1c2VyIiwibWF4QWdlIiwibWF4X2FnZSIsIm1heFVzZXMiLCJtYXhfdXNlcyIsInRhcmdldFR5cGUiLCJ0YXJnZXRfdHlwZSIsInRhcmdldFVzZXIiLCJ0YXJnZXRfdXNlciIsInRhcmdldEFwcGxpY2F0aW9uIiwidGFyZ2V0X2FwcGxpY2F0aW9uIiwiYXBwbGljYXRpb24iLCJzaGFyZElkIiwidGVtcG9yYXJ5IiwidXNlcyIsImNoYW5uZWxJZCIsImNoYW5uZWwiLCJpZCIsInNub3dmbGFrZSIsImd1aWxkSWQiLCJndWlsZCIsImFwcHJveGltYXRlTWVtYmVyQ291bnQiLCJhcHByb3hpbWF0ZV9tZW1iZXJfY291bnQiLCJhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQiLCJhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudCIsInVuZGVmaW5lZCIsImd1aWxkU2NoZWR1bGVkRXZlbnQiLCJndWlsZF9zY2hlZHVsZWRfZXZlbnQiLCJzY2hlZHVsZWRFdmVudCIsImV4cGlyZXNBdCIsImV4cGlyZXNfYXQiLCJmbGFncyIsImNoYW5uZWxfaWQiLCJndWlsZF9pZCIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxvQkFBb0IsUUFBUSxvQkFBbUI7QUFHeEQsU0FBU0MsY0FBYyxRQUFRLDhCQUE2QjtBQUc1RCxPQUFPLFNBQVNDLGdCQUFnQkMsR0FBUSxFQUFFQyxPQUFvRCxFQUFFQyxLQUE0QjtJQUMxSCxNQUFNQyxRQUFRSCxJQUFJSSxZQUFZLENBQUNDLGlCQUFpQixDQUFDQyxNQUFNO0lBQ3ZELE1BQU1BLFNBQVMsQ0FBQztJQUVoQixJQUFJSCxNQUFNSSxJQUFJLElBQUksVUFBVU4sU0FBU0ssT0FBT0MsSUFBSSxHQUFHTixRQUFRTSxJQUFJO0lBQy9ELElBQUlKLE1BQU1LLElBQUksSUFBSVAsUUFBUU8sSUFBSSxFQUFFRixPQUFPRSxJQUFJLEdBQUdQLFFBQVFPLElBQUk7SUFDMUQsSUFBSUwsTUFBTU0sU0FBUyxJQUFJUixRQUFRUyxVQUFVLEVBQUVKLE9BQU9HLFNBQVMsR0FBR0UsS0FBS0MsS0FBSyxDQUFDWCxRQUFRUyxVQUFVO0lBQzNGLElBQUlQLE1BQU1VLE9BQU8sSUFBSVosUUFBUVksT0FBTyxFQUFFUCxPQUFPTyxPQUFPLEdBQUdiLElBQUlJLFlBQVksQ0FBQ1UsSUFBSSxDQUFDZCxLQUFLQyxRQUFRWSxPQUFPO0lBQ2pHLElBQUlWLE1BQU1ZLE1BQU0sRUFBRVQsT0FBT1MsTUFBTSxHQUFHZCxRQUFRZSxPQUFPO0lBQ2pELElBQUliLE1BQU1jLE9BQU8sRUFBRVgsT0FBT1csT0FBTyxHQUFHaEIsUUFBUWlCLFFBQVE7SUFDcEQsSUFBSWYsTUFBTWdCLFVBQVUsSUFBSWxCLFFBQVFtQixXQUFXLEVBQUVkLE9BQU9hLFVBQVUsR0FBR2xC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
@@ -1,5 +1,6 @@
1
1
  import type { DiscordLobby, DiscordLobbyMember } from '@discordeno/types';
2
- import { type Bot, type Lobby, type LobbyMember } from '../index.js';
2
+ import type { Bot } from '../bot.js';
3
+ import type { Lobby, LobbyMember } from './types.js';
3
4
  export declare function transformLobby(bot: Bot, payload: DiscordLobby): Lobby;
4
5
  export declare function transformLobbyMember(bot: Bot, payload: DiscordLobbyMember): LobbyMember;
5
6
  //# sourceMappingURL=lobby.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lobby.d.ts","sourceRoot":"","sources":["../../src/transformers/lobby.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EACL,KAAK,GAAG,EAER,KAAK,KAAK,EACV,KAAK,WAAW,EAIjB,MAAM,aAAa,CAAA;AAEpB,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,GAAG,KAAK,CAWrE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CASvF"}
1
+ {"version":3,"file":"lobby.d.ts","sourceRoot":"","sources":["../../src/transformers/lobby.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAGpC,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAEpD,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,GAAG,KAAK,CAWrE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CASvF"}