@discordeno/bot 22.0.1-next.f334bb8 → 22.0.1-next.f4e424f

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 (209) hide show
  1. package/dist/bot.d.ts +3 -3
  2. package/dist/bot.d.ts.map +1 -1
  3. package/dist/bot.js +3 -2
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/constants.js +2 -2
  6. package/dist/desiredProperties.d.ts +4 -1
  7. package/dist/desiredProperties.d.ts.map +1 -1
  8. package/dist/desiredProperties.js +38 -1
  9. package/dist/events.d.ts +22 -7
  10. package/dist/events.d.ts.map +1 -1
  11. package/dist/events.js +1 -1
  12. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +2 -2
  13. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +2 -2
  14. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +2 -2
  15. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +2 -2
  16. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +2 -2
  17. package/dist/handlers/invites/INVITE_CREATE.d.ts.map +1 -1
  18. package/dist/handlers/invites/INVITE_CREATE.js +20 -5
  19. package/dist/handlers/invites/INVITE_DELETE.d.ts.map +1 -1
  20. package/dist/handlers/invites/INVITE_DELETE.js +4 -4
  21. package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -1
  22. package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +4 -4
  23. package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -1
  24. package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +4 -3
  25. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -1
  26. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +4 -3
  27. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -1
  28. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +4 -3
  29. package/dist/helpers.d.ts +15 -2
  30. package/dist/helpers.d.ts.map +1 -1
  31. package/dist/helpers.js +52 -12
  32. package/dist/transformers/activity.d.ts +17 -5
  33. package/dist/transformers/activity.d.ts.map +1 -1
  34. package/dist/transformers/activity.js +55 -37
  35. package/dist/transformers/application.d.ts +3 -3
  36. package/dist/transformers/application.d.ts.map +1 -1
  37. package/dist/transformers/application.js +18 -7
  38. package/dist/transformers/applicationCommand.d.ts +3 -2
  39. package/dist/transformers/applicationCommand.d.ts.map +1 -1
  40. package/dist/transformers/applicationCommand.js +19 -17
  41. package/dist/transformers/applicationCommandOption.d.ts +3 -2
  42. package/dist/transformers/applicationCommandOption.d.ts.map +1 -1
  43. package/dist/transformers/applicationCommandOption.js +22 -19
  44. package/dist/transformers/applicationCommandOptionChoice.d.ts +3 -2
  45. package/dist/transformers/applicationCommandOptionChoice.d.ts.map +1 -1
  46. package/dist/transformers/applicationCommandOptionChoice.js +10 -8
  47. package/dist/transformers/applicationCommandPermission.d.ts +7 -3
  48. package/dist/transformers/applicationCommandPermission.d.ts.map +1 -1
  49. package/dist/transformers/applicationCommandPermission.js +20 -13
  50. package/dist/transformers/attachment.d.ts +3 -1
  51. package/dist/transformers/attachment.d.ts.map +1 -1
  52. package/dist/transformers/attachment.js +12 -4
  53. package/dist/transformers/auditLogEntry.d.ts +7 -3
  54. package/dist/transformers/auditLogEntry.d.ts.map +1 -1
  55. package/dist/transformers/auditLogEntry.js +32 -25
  56. package/dist/transformers/automodActionExecution.d.ts +10 -3
  57. package/dist/transformers/automodActionExecution.d.ts.map +1 -1
  58. package/dist/transformers/automodActionExecution.js +35 -23
  59. package/dist/transformers/automodRule.d.ts +7 -3
  60. package/dist/transformers/automodRule.d.ts.map +1 -1
  61. package/dist/transformers/automodRule.js +30 -30
  62. package/dist/transformers/avatarDecorationData.d.ts +3 -2
  63. package/dist/transformers/avatarDecorationData.d.ts.map +1 -1
  64. package/dist/transformers/avatarDecorationData.js +6 -3
  65. package/dist/transformers/channel.d.ts +6 -3
  66. package/dist/transformers/channel.d.ts.map +1 -1
  67. package/dist/transformers/channel.js +11 -6
  68. package/dist/transformers/component.d.ts +9 -4
  69. package/dist/transformers/component.d.ts.map +1 -1
  70. package/dist/transformers/component.js +76 -51
  71. package/dist/transformers/embed.d.ts +16 -3
  72. package/dist/transformers/embed.d.ts.map +1 -1
  73. package/dist/transformers/embed.js +71 -42
  74. package/dist/transformers/emoji.d.ts +7 -3
  75. package/dist/transformers/emoji.d.ts.map +1 -1
  76. package/dist/transformers/emoji.js +10 -5
  77. package/dist/transformers/entitlement.d.ts +3 -2
  78. package/dist/transformers/entitlement.d.ts.map +1 -1
  79. package/dist/transformers/entitlement.js +6 -3
  80. package/dist/transformers/gatewayBot.d.ts +7 -3
  81. package/dist/transformers/gatewayBot.d.ts.map +1 -1
  82. package/dist/transformers/gatewayBot.js +20 -13
  83. package/dist/transformers/guild.d.ts +3 -2
  84. package/dist/transformers/guild.d.ts.map +1 -1
  85. package/dist/transformers/guild.js +25 -25
  86. package/dist/transformers/incidentsData.d.ts +3 -2
  87. package/dist/transformers/incidentsData.d.ts.map +1 -1
  88. package/dist/transformers/incidentsData.js +6 -3
  89. package/dist/transformers/integration.d.ts +10 -3
  90. package/dist/transformers/integration.d.ts.map +1 -1
  91. package/dist/transformers/integration.js +43 -31
  92. package/dist/transformers/interaction.d.ts +20 -12
  93. package/dist/transformers/interaction.d.ts.map +1 -1
  94. package/dist/transformers/interaction.js +47 -32
  95. package/dist/transformers/invite.d.ts +4 -4
  96. package/dist/transformers/invite.d.ts.map +1 -1
  97. package/dist/transformers/invite.js +26 -25
  98. package/dist/transformers/lobby.d.ts +13 -4
  99. package/dist/transformers/lobby.d.ts.map +1 -1
  100. package/dist/transformers/lobby.js +35 -5
  101. package/dist/transformers/member.d.ts +3 -2
  102. package/dist/transformers/member.d.ts.map +1 -1
  103. package/dist/transformers/member.js +6 -3
  104. package/dist/transformers/message.d.ts +20 -10
  105. package/dist/transformers/message.d.ts.map +1 -1
  106. package/dist/transformers/message.js +52 -25
  107. package/dist/transformers/onboarding.d.ts +9 -4
  108. package/dist/transformers/onboarding.d.ts.map +1 -1
  109. package/dist/transformers/onboarding.js +17 -10
  110. package/dist/transformers/poll.d.ts +6 -3
  111. package/dist/transformers/poll.d.ts.map +1 -1
  112. package/dist/transformers/poll.js +14 -7
  113. package/dist/transformers/presence.d.ts +3 -2
  114. package/dist/transformers/presence.d.ts.map +1 -1
  115. package/dist/transformers/presence.js +10 -6
  116. package/dist/transformers/reverse/activity.d.ts +4 -3
  117. package/dist/transformers/reverse/activity.d.ts.map +1 -1
  118. package/dist/transformers/reverse/activity.js +20 -24
  119. package/dist/transformers/reverse/applicationCommand.js +2 -2
  120. package/dist/transformers/reverse/component.d.ts.map +1 -1
  121. package/dist/transformers/reverse/component.js +4 -1
  122. package/dist/transformers/reverse/embed.d.ts.map +1 -1
  123. package/dist/transformers/reverse/embed.js +19 -4
  124. package/dist/transformers/reverse/member.d.ts.map +1 -1
  125. package/dist/transformers/reverse/member.js +4 -2
  126. package/dist/transformers/reverse/presence.d.ts.map +1 -1
  127. package/dist/transformers/reverse/presence.js +3 -2
  128. package/dist/transformers/reverse/user.d.ts +5 -0
  129. package/dist/transformers/reverse/user.d.ts.map +1 -0
  130. package/dist/transformers/reverse/user.js +17 -0
  131. package/dist/transformers/role.d.ts +7 -4
  132. package/dist/transformers/role.d.ts.map +1 -1
  133. package/dist/transformers/role.js +11 -7
  134. package/dist/transformers/scheduledEvent.d.ts +6 -3
  135. package/dist/transformers/scheduledEvent.d.ts.map +1 -1
  136. package/dist/transformers/scheduledEvent.js +10 -5
  137. package/dist/transformers/sku.d.ts +3 -2
  138. package/dist/transformers/sku.d.ts.map +1 -1
  139. package/dist/transformers/sku.js +6 -3
  140. package/dist/transformers/soundboardSound.d.ts +3 -2
  141. package/dist/transformers/soundboardSound.d.ts.map +1 -1
  142. package/dist/transformers/soundboardSound.js +6 -3
  143. package/dist/transformers/stageInstance.d.ts +3 -2
  144. package/dist/transformers/stageInstance.d.ts.map +1 -1
  145. package/dist/transformers/stageInstance.js +6 -3
  146. package/dist/transformers/stageInviteInstance.d.ts +3 -3
  147. package/dist/transformers/stageInviteInstance.d.ts.map +1 -1
  148. package/dist/transformers/stageInviteInstance.js +10 -8
  149. package/dist/transformers/sticker.d.ts +6 -3
  150. package/dist/transformers/sticker.d.ts.map +1 -1
  151. package/dist/transformers/sticker.js +18 -14
  152. package/dist/transformers/subscription.d.ts +3 -2
  153. package/dist/transformers/subscription.d.ts.map +1 -1
  154. package/dist/transformers/subscription.js +6 -3
  155. package/dist/transformers/team.d.ts +7 -3
  156. package/dist/transformers/team.d.ts.map +1 -1
  157. package/dist/transformers/team.js +22 -16
  158. package/dist/transformers/template.d.ts +3 -2
  159. package/dist/transformers/template.d.ts.map +1 -1
  160. package/dist/transformers/template.js +18 -16
  161. package/dist/transformers/threadMember.d.ts +6 -3
  162. package/dist/transformers/threadMember.d.ts.map +1 -1
  163. package/dist/transformers/threadMember.js +20 -16
  164. package/dist/transformers/toggles/channel.d.ts +2 -2
  165. package/dist/transformers/toggles/channel.d.ts.map +1 -1
  166. package/dist/transformers/toggles/channel.js +2 -2
  167. package/dist/transformers/toggles/emoji.d.ts +1 -1
  168. package/dist/transformers/toggles/emoji.d.ts.map +1 -1
  169. package/dist/transformers/toggles/emoji.js +1 -1
  170. package/dist/transformers/toggles/guild.d.ts +1 -1
  171. package/dist/transformers/toggles/guild.d.ts.map +1 -1
  172. package/dist/transformers/toggles/guild.js +1 -1
  173. package/dist/transformers/toggles/role.d.ts +1 -1
  174. package/dist/transformers/toggles/role.d.ts.map +1 -1
  175. package/dist/transformers/toggles/role.js +1 -1
  176. package/dist/transformers/toggles/user.d.ts +1 -1
  177. package/dist/transformers/toggles/user.d.ts.map +1 -1
  178. package/dist/transformers/toggles/user.js +1 -1
  179. package/dist/transformers/toggles/voice.d.ts +1 -1
  180. package/dist/transformers/toggles/voice.d.ts.map +1 -1
  181. package/dist/transformers/toggles/voice.js +1 -1
  182. package/dist/transformers/types.d.ts +194 -39
  183. package/dist/transformers/types.d.ts.map +1 -1
  184. package/dist/transformers/types.js +2 -2
  185. package/dist/transformers/user.d.ts +13 -5
  186. package/dist/transformers/user.d.ts.map +1 -1
  187. package/dist/transformers/user.js +18 -9
  188. package/dist/transformers/voiceRegion.d.ts +3 -2
  189. package/dist/transformers/voiceRegion.d.ts.map +1 -1
  190. package/dist/transformers/voiceRegion.js +12 -10
  191. package/dist/transformers/voiceState.d.ts +3 -3
  192. package/dist/transformers/voiceState.d.ts.map +1 -1
  193. package/dist/transformers/voiceState.js +6 -4
  194. package/dist/transformers/webhook.d.ts +3 -1
  195. package/dist/transformers/webhook.d.ts.map +1 -1
  196. package/dist/transformers/webhook.js +9 -6
  197. package/dist/transformers/welcomeScreen.d.ts +1 -2
  198. package/dist/transformers/welcomeScreen.d.ts.map +1 -1
  199. package/dist/transformers/welcomeScreen.js +1 -1
  200. package/dist/transformers/widget.d.ts +1 -2
  201. package/dist/transformers/widget.d.ts.map +1 -1
  202. package/dist/transformers/widget.js +7 -5
  203. package/dist/transformers/widgetSettings.d.ts +1 -2
  204. package/dist/transformers/widgetSettings.d.ts.map +1 -1
  205. package/dist/transformers/widgetSettings.js +1 -1
  206. package/dist/transformers.d.ts +190 -78
  207. package/dist/transformers.d.ts.map +1 -1
  208. package/dist/transformers.js +81 -21
  209. package/package.json +16 -16
@@ -1,5 +1,6 @@
1
1
  import { ChannelTypes } from '@discordeno/types';
2
2
  import { Collection, iconHashToBigInt } from '@discordeno/utils';
3
+ import { callCustomizer } from '../transformers.js';
3
4
  import { GuildToggles } from './toggles/guild.js';
4
5
  export const baseGuild = {
5
6
  // This allows typescript to still check for type errors on functions below
@@ -17,26 +18,26 @@ export const baseGuild = {
17
18
  }
18
19
  };
19
20
  export function transformGuild(bot, payload, extra) {
20
- const guildId = bot.transformers.snowflake(payload.id);
21
21
  const props = bot.transformers.desiredProperties.guild;
22
22
  const guild = Object.create(baseGuild);
23
+ const guildId = payload.id ? bot.transformers.snowflake(payload.id) : undefined;
23
24
  if (props.afkTimeout && payload.afk_timeout) guild.afkTimeout = payload.afk_timeout;
24
25
  if (props.approximateMemberCount && payload.approximate_member_count) guild.approximateMemberCount = payload.approximate_member_count;
25
26
  if (props.approximatePresenceCount && payload.approximate_presence_count) guild.approximatePresenceCount = payload.approximate_presence_count;
26
- if (props.defaultMessageNotifications) guild.defaultMessageNotifications = payload.default_message_notifications;
27
+ if (props.defaultMessageNotifications && payload.default_message_notifications !== undefined) guild.defaultMessageNotifications = payload.default_message_notifications;
27
28
  if (props.description && payload.description) guild.description = payload.description;
28
29
  if (props.toggles) guild.toggles = new GuildToggles(payload);
29
- if (props.explicitContentFilter) guild.explicitContentFilter = payload.explicit_content_filter;
30
+ if (props.explicitContentFilter && payload.explicit_content_filter !== undefined) guild.explicitContentFilter = payload.explicit_content_filter;
30
31
  if (props.maxMembers && payload.max_members) guild.maxMembers = payload.max_members;
31
32
  if (props.maxPresences && payload.max_presences) guild.maxPresences = payload.max_presences ?? undefined;
32
33
  if (props.maxVideoChannelUsers && payload.max_video_channel_users) guild.maxVideoChannelUsers = payload.max_video_channel_users;
33
34
  if (props.maxStageVideoChannelUsers && payload.max_stage_video_channel_users) guild.maxStageVideoChannelUsers = payload.max_stage_video_channel_users;
34
- if (props.mfaLevel) guild.mfaLevel = payload.mfa_level;
35
+ if (props.mfaLevel && payload.mfa_level !== undefined) guild.mfaLevel = payload.mfa_level;
35
36
  if (props.name && payload.name) guild.name = payload.name;
36
- if (props.nsfwLevel) guild.nsfwLevel = payload.nsfw_level;
37
+ if (props.nsfwLevel && payload.nsfw_level !== undefined) guild.nsfwLevel = payload.nsfw_level;
37
38
  if (props.preferredLocale && payload.preferred_locale) guild.preferredLocale = payload.preferred_locale;
38
39
  if (props.premiumSubscriptionCount && payload.premium_subscription_count !== undefined) guild.premiumSubscriptionCount = payload.premium_subscription_count;
39
- if (props.premiumTier) guild.premiumTier = payload.premium_tier;
40
+ if (props.premiumTier && payload.premium_tier !== undefined) guild.premiumTier = payload.premium_tier;
40
41
  if (props.stageInstances && payload.stage_instances) guild.stageInstances = payload.stage_instances.map((si)=>({
41
42
  /** The id of this Stage instance */ id: bot.transformers.snowflake(si.id),
42
43
  /** The guild id of the associated Stage channel */ guildId,
@@ -50,21 +51,19 @@ export function transformGuild(bot, payload, extra) {
50
51
  const result = bot.transformers.channel(bot, channel, {
51
52
  guildId
52
53
  });
53
- // TODO: We should check that id exists, or else the collection will have undefined as it's key (This is valid for all the collections below as well)
54
- // @ts-expect-error: See TODO above
55
54
  return [
56
- result.id,
55
+ bot.transformers.snowflake(channel.id),
57
56
  result
58
57
  ];
59
58
  }));
60
59
  if (props.members && payload.members) guild.members = new Collection(payload.members.map((member)=>{
60
+ const userId = bot.transformers.snowflake(member.user.id);
61
61
  const result = bot.transformers.member(bot, member, {
62
62
  guildId,
63
- userId: bot.transformers.snowflake(member.user.id)
63
+ userId
64
64
  });
65
- // @ts-expect-error: See TODO above
66
65
  return [
67
- result.id,
66
+ userId,
68
67
  result
69
68
  ];
70
69
  }));
@@ -72,17 +71,15 @@ export function transformGuild(bot, payload, extra) {
72
71
  const result = bot.transformers.role(bot, role, {
73
72
  guildId
74
73
  });
75
- // @ts-expect-error: See TODO above
76
74
  return [
77
- result.id,
75
+ bot.transformers.snowflake(role.id),
78
76
  result
79
77
  ];
80
78
  }));
81
79
  if (props.emojis && payload.emojis) guild.emojis = new Collection(payload.emojis.map((emoji)=>{
82
80
  const result = bot.transformers.emoji(bot, emoji);
83
- // @ts-expect-error: See TODO above
84
81
  return [
85
- result.id,
82
+ bot.transformers.snowflake(emoji.id),
86
83
  result
87
84
  ];
88
85
  }));
@@ -90,23 +87,21 @@ export function transformGuild(bot, payload, extra) {
90
87
  const result = bot.transformers.voiceState(bot, voiceState, {
91
88
  guildId
92
89
  });
93
- // @ts-expect-error: See TODO above
94
90
  return [
95
- result.userId,
91
+ bot.transformers.snowflake(voiceState.user_id),
96
92
  result
97
93
  ];
98
94
  }));
99
95
  if (props.stickers && payload.stickers) guild.stickers = new Collection(payload.stickers?.map((sticker)=>{
100
96
  const result = bot.transformers.sticker(bot, sticker);
101
- // @ts-expect-error: See TODO above
102
97
  return [
103
- result.id,
98
+ bot.transformers.snowflake(sticker.id),
104
99
  result
105
100
  ];
106
101
  }));
107
102
  if (props.systemChannelFlags && payload.system_channel_flags) guild.systemChannelFlags = payload.system_channel_flags;
108
103
  if (props.vanityUrlCode && payload.vanity_url_code) guild.vanityUrlCode = payload.vanity_url_code;
109
- if (props.verificationLevel) guild.verificationLevel = payload.verification_level;
104
+ if (props.verificationLevel && payload.verification_level !== undefined) guild.verificationLevel = payload.verification_level;
110
105
  if (props.welcomeScreen && payload.welcome_screen) guild.welcomeScreen = {
111
106
  description: payload.welcome_screen.description ?? undefined,
112
107
  welcomeChannels: payload.welcome_screen.welcome_channels.map((wc)=>({
@@ -123,7 +118,7 @@ export function transformGuild(bot, payload, extra) {
123
118
  if (props.icon && payload.icon) guild.icon = iconHashToBigInt(payload.icon);
124
119
  if (props.banner && payload.banner) guild.banner = iconHashToBigInt(payload.banner);
125
120
  if (props.splash && payload.splash) guild.splash = iconHashToBigInt(payload.splash);
126
- if (props.id && payload.id) guild.id = guildId;
121
+ if (props.id && guildId) guild.id = guildId;
127
122
  if (props.ownerId && payload.owner_id) guild.ownerId = bot.transformers.snowflake(payload.owner_id);
128
123
  if (props.permissions && payload.permissions) guild.permissions = bot.transformers.snowflake(payload.permissions);
129
124
  if (props.afkChannelId && payload.afk_channel_id) guild.afkChannelId = bot.transformers.snowflake(payload.afk_channel_id);
@@ -138,10 +133,15 @@ export function transformGuild(bot, payload, extra) {
138
133
  if (props.widgetEnabled && payload.widget_enabled) guild.widgetEnabled = payload.widget_enabled;
139
134
  if (props.unavailable && payload.unavailable) guild.unavailable = payload.unavailable;
140
135
  if (props.iconHash && payload.icon_hash) guild.iconHash = iconHashToBigInt(payload.icon_hash);
141
- if (props.presences && payload.presences) guild.presences = payload.presences?.map((presence)=>bot.transformers.presence(bot, presence));
136
+ if (props.presences && payload.presences) guild.presences = payload.presences?.map((presence)=>bot.transformers.presence(bot, presence, {
137
+ partial: true
138
+ }));
142
139
  if (props.safetyAlertsChannelId && payload.safety_alerts_channel_id) guild.safetyAlertsChannelId = bot.transformers.snowflake(payload.safety_alerts_channel_id);
143
140
  if (props.incidentsData && payload.incidents_data) guild.incidentsData = bot.transformers.incidentsData(bot, payload.incidents_data);
144
- return bot.transformers.customizers.guild(bot, payload, guild, extra);
141
+ return callCustomizer('guild', bot, payload, guild, {
142
+ shardId: extra?.shardId,
143
+ partial: extra?.partial ?? false
144
+ });
145
145
  }
146
146
 
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ3VpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbm5lbFR5cGVzLCB0eXBlIERpc2NvcmRHdWlsZCwgdHlwZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uLCBpY29uSGFzaFRvQmlnSW50IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgeyBHdWlsZFRvZ2dsZXMgfSBmcm9tICcuL3RvZ2dsZXMvZ3VpbGQuanMnO1xuaW1wb3J0IHR5cGUgeyBDaGFubmVsLCBHdWlsZCB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgY29uc3QgYmFzZUd1aWxkOiBHdWlsZCA9IHtcbiAgLy8gVGhpcyBhbGxvd3MgdHlwZXNjcmlwdCB0byBzdGlsbCBjaGVjayBmb3IgdHlwZSBlcnJvcnMgb24gZnVuY3Rpb25zIGJlbG93XG4gIC4uLih1bmRlZmluZWQgYXMgdW5rbm93biBhcyBHdWlsZCksXG5cbiAgZ2V0IHRocmVhZHMoKSB7XG4gICAgaWYgKCF0aGlzLmNoYW5uZWxzKSByZXR1cm4gbmV3IENvbGxlY3Rpb248YmlnaW50LCBDaGFubmVsPigpO1xuXG4gICAgY29uc3QgdGhyZWFkcyA9IHRoaXMuY2hhbm5lbHNcbiAgICAgIC5hcnJheSgpXG4gICAgICAuZmlsdGVyKCh4KSA9PiB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5QdWJsaWNUaHJlYWQgfHwgeC50eXBlID09PSBDaGFubmVsVHlwZXMuUHJpdmF0ZVRocmVhZCB8fCB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5Bbm5vdW5jZW1lbnRUaHJlYWQpO1xuXG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uKHRocmVhZHMubWFwKCh4KSA9PiBbeC5pZCwgeF0pKTtcbiAgfSxcbiAgZ2V0IGZlYXR1cmVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvZ2dsZXMuZmVhdHVyZXM7XG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtR3VpbGQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRHdWlsZCwgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSk6IEd1aWxkIHtcbiAgY29uc3QgZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGQ7XG4gIGNvbnN0IGd1aWxkOiBTZXR1cERlc2lyZWRQcm9wczxHdWlsZCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+ID0gT2JqZWN0LmNyZWF0ZShiYXNlR3VpbGQpO1xuXG4gIGlmIChwcm9wcy5hZmtUaW1lb3V0ICYmIHBheWxvYWQuYWZrX3RpbWVvdXQpIGd1aWxkLmFma1RpbWVvdXQgPSBwYXlsb2FkLmFma190aW1lb3V0O1xuICBpZiAocHJvcHMuYXBwcm94aW1hdGVNZW1iZXJDb3VudCAmJiBwYXlsb2FkLmFwcHJveGltYXRlX21lbWJlcl9jb3VudCkgZ3VpbGQuYXBwcm94aW1hdGVNZW1iZXJDb3VudCA9IHBheWxvYWQuYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50O1xuICBpZiAocHJvcHMuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ICYmIHBheWxvYWQuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQpIGd1aWxkLmFwcHJveGltYXRlUHJlc2VuY2VDb3VudCA9IHBheWxvYWQuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQ7XG4gIGlmIChwcm9wcy5kZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbnMpIGd1aWxkLmRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyA9IHBheWxvYWQuZGVmYXVsdF9tZXNzYWdlX25vdGlmaWNhdGlvbnM7XG4gIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiBwYXlsb2FkLmRlc2NyaXB0aW9uKSBndWlsZC5kZXNjcmlwdGlvbiA9IHBheWxvYWQuZGVzY3JpcHRpb247XG4gIGlmIChwcm9wcy50b2dnbGVzKSBndWlsZC50b2dnbGVzID0gbmV3IEd1aWxkVG9nZ2xlcyhwYXlsb2FkKTtcbiAgaWYgKHByb3BzLmV4cGxpY2l0Q29udGVudEZpbHRlcikgZ3VpbGQuZXhwbGljaXRDb250ZW50RmlsdGVyID0gcGF5bG9hZC5leHBsaWNpdF9jb250ZW50X2ZpbHRlcjtcbiAgaWYgKHByb3BzLm1heE1lbWJlcnMgJiYgcGF5bG9hZC5tYXhfbWVtYmVycykgZ3VpbGQubWF4TWVtYmVycyA9IHBheWxvYWQubWF4X21lbWJlcnM7XG4gIGlmIChwcm9wcy5tYXhQcmVzZW5jZXMgJiYgcGF5bG9hZC5tYXhfcHJlc2VuY2VzKSBndWlsZC5tYXhQcmVzZW5jZXMgPSBwYXlsb2FkLm1heF9wcmVzZW5jZXMgPz8gdW5kZWZpbmVkO1xuICBpZiAocHJvcHMubWF4VmlkZW9DaGFubmVsVXNlcnMgJiYgcGF5bG9hZC5tYXhfdmlkZW9fY2hhbm5lbF91c2VycykgZ3VpbGQubWF4VmlkZW9DaGFubmVsVXNlcnMgPSBwYXlsb2FkLm1heF92aWRlb19jaGFubmVsX3VzZXJzO1xuICBpZiAocHJvcHMubWF4U3RhZ2VWaWRlb0NoYW5uZWxVc2VycyAmJiBwYXlsb2FkLm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzKVxuICAgIGd1aWxkLm1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnMgPSBwYXlsb2FkLm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzO1xuICBpZiAocHJvcHMubWZhTGV2ZWwpIGd1aWxkLm1mYUxldmVsID0gcGF5bG9hZC5tZmFfbGV2ZWw7XG4gIGlmIChwcm9wcy5uYW1lICYmIHBheWxvYWQubmFtZSkgZ3VpbGQubmFtZSA9IHBheWxvYWQubmFtZTtcbiAgaWYgKHByb3BzLm5zZndMZXZlbCkgZ3VpbGQubnNmd0xldmVsID0gcGF5bG9hZC5uc2Z3X2xldmVsO1xuICBpZiAocHJvcHMucHJlZmVycmVkTG9jYWxlICYmIHBheWxvYWQucHJlZmVycmVkX2xvY2FsZSkgZ3VpbGQucHJlZmVycmVkTG9jYWxlID0gcGF5bG9hZC5wcmVmZXJyZWRfbG9jYWxlO1xuICBpZiAocHJvcHMucHJlbWl1bVN1YnNjcmlwdGlvbkNvdW50ICYmIHBheWxvYWQucHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnQgIT09IHVuZGVmaW5lZClcbiAgICBndWlsZC5wcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQgPSBwYXlsb2FkLnByZW1pdW1fc3Vic2NyaXB0aW9uX2NvdW50O1xuICBpZiAocHJvcHMucHJlbWl1bVRpZXIpIGd1aWxkLnByZW1pdW1UaWVyID0gcGF5bG9hZC5wcmVtaXVtX3RpZXI7XG4gIGlmIChwcm9wcy5zdGFnZUluc3RhbmNlcyAmJiBwYXlsb2FkLnN0YWdlX2luc3RhbmNlcylcbiAgICBndWlsZC5zdGFnZUluc3RhbmNlcyA9IHBheWxvYWQuc3RhZ2VfaW5zdGFuY2VzLm1hcCgoc2kpID0+ICh7XG4gICAgICAvKiogVGhlIGlkIG9mIHRoaXMgU3RhZ2UgaW5zdGFuY2UgKi9cbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShzaS5pZCksXG4gICAgICAvKiogVGhlIGd1aWxkIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgICAgIGd1aWxkSWQsXG4gICAgICAvKiogVGhlIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgICAgIGNoYW5uZWxJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoc2kuY2hhbm5lbF9pZCksXG4gICAgICAvKiogVGhlIHRvcGljIG9mIHRoZSBTdGFnZSBpbnN0YW5jZSAoMS0xMjAgY2hhcmFjdGVycykgKi9cbiAgICAgIHRvcGljOiBzaS50b3BpYyxcbiAgICB9KSk7XG4gIGlmIChwcm9wcy5jaGFubmVscyAmJiAoISFwYXlsb2FkLmNoYW5uZWxzIHx8ICEhcGF5bG9hZC50aHJlYWRzKSlcbiAgICBndWlsZC5jaGFubmVscyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgWy4uLihwYXlsb2FkLmNoYW5uZWxzID8/IFtdKSwgLi4uKHBheWxvYWQudGhyZWFkcyA/PyBbXSldLm1hcCgoY2hhbm5lbCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCBjaGFubmVsLCB7IGd1aWxkSWQgfSk7XG4gICAgICAgIC8vIFRPRE86IFdlIHNob3VsZCBjaGVjayB0aGF0IGlkIGV4aXN0cywgb3IgZWxzZSB0aGUgY29sbGVjdGlvbiB3aWxsIGhhdmUgdW5kZWZpbmVkIGFzIGl0J3Mga2V5IChUaGlzIGlzIHZhbGlkIGZvciBhbGwgdGhlIGNvbGxlY3Rpb25zIGJlbG93IGFzIHdlbGwpXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IFNlZSBUT0RPIGFib3ZlXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgaWYgKHByb3BzLm1lbWJlcnMgJiYgcGF5bG9hZC5tZW1iZXJzKVxuICAgIGd1aWxkLm1lbWJlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQubWVtYmVycy5tYXAoKG1lbWJlcikgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIG1lbWJlciwgeyBndWlsZElkLCB1c2VySWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG1lbWJlci51c2VyIS5pZCkgfSk7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IFNlZSBUT0RPIGFib3ZlXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgaWYgKHByb3BzLnJvbGVzICYmIHBheWxvYWQucm9sZXMpXG4gICAgZ3VpbGQucm9sZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQucm9sZXMubWFwKChyb2xlKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHJvbGUsIHsgZ3VpbGRJZCB9KTtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogU2VlIFRPRE8gYWJvdmVcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQuaWQsIHJlc3VsdF07XG4gICAgICB9KSxcbiAgICApO1xuICBpZiAocHJvcHMuZW1vamlzICYmIHBheWxvYWQuZW1vamlzKVxuICAgIGd1aWxkLmVtb2ppcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5lbW9qaXMubWFwKChlbW9qaSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgZW1vamkpO1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiBTZWUgVE9ETyBhYm92ZVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCEsIHJlc3VsdF07XG4gICAgICB9KSxcbiAgICApO1xuICBpZiAocHJvcHMudm9pY2VTdGF0ZXMgJiYgcGF5bG9hZC52b2ljZV9zdGF0ZXMpXG4gICAgZ3VpbGQudm9pY2VTdGF0ZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQudm9pY2Vfc3RhdGVzLm1hcCgodm9pY2VTdGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLnZvaWNlU3RhdGUoYm90LCB2b2ljZVN0YXRlLCB7IGd1aWxkSWQgfSk7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IFNlZSBUT0RPIGFib3ZlXG4gICAgICAgIHJldHVybiBbcmVzdWx0LnVzZXJJZCwgcmVzdWx0XTtcbiAgICAgIH0pLFxuICAgICk7XG4gIGlmIChwcm9wcy5zdGlja2VycyAmJiBwYXlsb2FkLnN0aWNrZXJzKVxuICAgIGd1aWxkLnN0aWNrZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLnN0aWNrZXJzPy5tYXAoKHN0aWNrZXIpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyKGJvdCwgc3RpY2tlcik7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IFNlZSBUT0RPIGFib3ZlXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgaWYgKHByb3BzLnN5c3RlbUNoYW5uZWxGbGFncyAmJiBwYXlsb2FkLnN5c3RlbV9jaGFubmVsX2ZsYWdzKSBndWlsZC5zeXN0ZW1DaGFubmVsRmxhZ3MgPSBwYXlsb2FkLnN5c3RlbV9jaGFubmVsX2ZsYWdzO1xuICBpZiAocHJvcHMudmFuaXR5VXJsQ29kZSAmJiBwYXlsb2FkLnZhbml0eV91cmxfY29kZSkgZ3VpbGQudmFuaXR5VXJsQ29kZSA9IHBheWxvYWQudmFuaXR5X3VybF9jb2RlO1xuICBpZiAocHJvcHMudmVyaWZpY2F0aW9uTGV2ZWwpIGd1aWxkLnZlcmlmaWNhdGlvbkxldmVsID0gcGF5bG9hZC52ZXJpZmljYXRpb25fbGV2ZWw7XG4gIGlmIChwcm9wcy53ZWxjb21lU2NyZWVuICYmIHBheWxvYWQud2VsY29tZV9zY3JlZW4pXG4gICAgZ3VpbGQud2VsY29tZVNjcmVlbiA9IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLndlbGNvbWVfc2NyZWVuLmRlc2NyaXB0aW9uID8/IHVuZGVmaW5lZCxcbiAgICAgIHdlbGNvbWVDaGFubmVsczogcGF5bG9hZC53ZWxjb21lX3NjcmVlbi53ZWxjb21lX2NoYW5uZWxzLm1hcCgod2MpID0+ICh7XG4gICAgICAgIGNoYW5uZWxJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uod2MuY2hhbm5lbF9pZCksXG4gICAgICAgIGRlc2NyaXB0aW9uOiB3Yy5kZXNjcmlwdGlvbixcbiAgICAgICAgZW1vamlJZDogd2MuZW1vamlfaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh3Yy5lbW9qaV9pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgIGVtb2ppTmFtZTogd2MuZW1vamlfbmFtZSA/PyB1bmRlZmluZWQsXG4gICAgICB9KSksXG4gICAgfTtcbiAgaWYgKHByb3BzLmRpc2NvdmVyeVNwbGFzaCAmJiBwYXlsb2FkLmRpc2NvdmVyeV9zcGxhc2gpIGd1aWxkLmRpc2NvdmVyeVNwbGFzaCA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5kaXNjb3Zlcnlfc3BsYXNoKTtcbiAgaWYgKHByb3BzLmpvaW5lZEF0ICYmIHBheWxvYWQuam9pbmVkX2F0KSBndWlsZC5qb2luZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5qb2luZWRfYXQpO1xuICBpZiAocHJvcHMubWVtYmVyQ291bnQgJiYgcGF5bG9hZC5tZW1iZXJfY291bnQpIGd1aWxkLm1lbWJlckNvdW50ID0gcGF5bG9hZC5tZW1iZXJfY291bnQgPz8gMDtcbiAgaWYgKHByb3BzLnNoYXJkSWQgJiYgZXh0cmE/LnNoYXJkSWQpIGd1aWxkLnNoYXJkSWQgPSBleHRyYS5zaGFyZElkO1xuICBpZiAocHJvcHMuaWNvbiAmJiBwYXlsb2FkLmljb24pIGd1aWxkLmljb24gPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuaWNvbik7XG4gIGlmIChwcm9wcy5iYW5uZXIgJiYgcGF5bG9hZC5iYW5uZXIpIGd1aWxkLmJhbm5lciA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5iYW5uZXIpO1xuICBpZiAocHJvcHMuc3BsYXNoICYmIHBheWxvYWQuc3BsYXNoKSBndWlsZC5zcGxhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuc3BsYXNoKTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGd1aWxkLmlkID0gZ3VpbGRJZDtcbiAgaWYgKHByb3BzLm93bmVySWQgJiYgcGF5bG9hZC5vd25lcl9pZCkgZ3VpbGQub3duZXJJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQub3duZXJfaWQpO1xuICBpZiAocHJvcHMucGVybWlzc2lvbnMgJiYgcGF5bG9hZC5wZXJtaXNzaW9ucykgZ3VpbGQucGVybWlzc2lvbnMgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnBlcm1pc3Npb25zKTtcbiAgaWYgKHByb3BzLmFma0NoYW5uZWxJZCAmJiBwYXlsb2FkLmFma19jaGFubmVsX2lkKSBndWlsZC5hZmtDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmFma19jaGFubmVsX2lkKTtcbiAgaWYgKHByb3BzLndpZGdldENoYW5uZWxJZCAmJiBwYXlsb2FkLndpZGdldF9jaGFubmVsX2lkKSBndWlsZC53aWRnZXRDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLndpZGdldF9jaGFubmVsX2lkKTtcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgZ3VpbGQuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpO1xuICBpZiAocHJvcHMuc3lzdGVtQ2hhbm5lbElkICYmIHBheWxvYWQuc3lzdGVtX2NoYW5uZWxfaWQpIGd1aWxkLnN5c3RlbUNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuc3lzdGVtX2NoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMucnVsZXNDaGFubmVsSWQgJiYgcGF5bG9hZC5ydWxlc19jaGFubmVsX2lkKSBndWlsZC5ydWxlc0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucnVsZXNfY2hhbm5lbF9pZCk7XG4gIGlmIChwcm9wcy5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkICYmIHBheWxvYWQucHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZClcbiAgICBndWlsZC5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5wdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkKTtcbiAgaWYgKHByb3BzLnByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQgJiYgcGF5bG9hZC5wcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkKSBndWlsZC5wcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkID0gcGF5bG9hZC5wcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkO1xuICBpZiAocHJvcHMubGFyZ2UgJiYgcGF5bG9hZC5sYXJnZSkgZ3VpbGQubGFyZ2UgPSBwYXlsb2FkLmxhcmdlO1xuICBpZiAocHJvcHMub3duZXIgJiYgcGF5bG9hZC5vd25lcikgZ3VpbGQub3duZXIgPSBwYXlsb2FkLm93bmVyO1xuICBpZiAocHJvcHMud2lkZ2V0RW5hYmxlZCAmJiBwYXlsb2FkLndpZGdldF9lbmFibGVkKSBndWlsZC53aWRnZXRFbmFibGVkID0gcGF5bG9hZC53aWRnZXRfZW5hYmxlZDtcbiAgaWYgKHByb3BzLnVuYXZhaWxhYmxlICYmIHBheWxvYWQudW5hdmFpbGFibGUpIGd1aWxkLnVuYXZhaWxhYmxlID0gcGF5bG9hZC51bmF2YWlsYWJsZTtcbiAgaWYgKHByb3BzLmljb25IYXNoICYmIHBheWxvYWQuaWNvbl9oYXNoKSBndWlsZC5pY29uSGFzaCA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5pY29uX2hhc2gpO1xuICBpZiAocHJvcHMucHJlc2VuY2VzICYmIHBheWxvYWQucHJlc2VuY2VzKVxuICAgIGd1aWxkLnByZXNlbmNlcyA9IHBheWxvYWQucHJlc2VuY2VzPy5tYXAoKHByZXNlbmNlKSA9PiBib3QudHJhbnNmb3JtZXJzLnByZXNlbmNlKGJvdCwgcHJlc2VuY2UgYXMgRGlzY29yZFByZXNlbmNlVXBkYXRlKSk7XG4gIGlmIChwcm9wcy5zYWZldHlBbGVydHNDaGFubmVsSWQgJiYgcGF5bG9hZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpXG4gICAgZ3VpbGQuc2FmZXR5QWxlcnRzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMuaW5jaWRlbnRzRGF0YSAmJiBwYXlsb2FkLmluY2lkZW50c19kYXRhKSBndWlsZC5pbmNpZGVudHNEYXRhID0gYm90LnRyYW5zZm9ybWVycy5pbmNpZGVudHNEYXRhKGJvdCwgcGF5bG9hZC5pbmNpZGVudHNfZGF0YSk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZ3VpbGQoYm90LCBwYXlsb2FkLCBndWlsZCwgZXh0cmEpO1xufVxuIl0sIm5hbWVzIjpbIkNoYW5uZWxUeXBlcyIsIkNvbGxlY3Rpb24iLCJpY29uSGFzaFRvQmlnSW50IiwiR3VpbGRUb2dnbGVzIiwiYmFzZUd1aWxkIiwidW5kZWZpbmVkIiwidGhyZWFkcyIsImNoYW5uZWxzIiwiYXJyYXkiLCJmaWx0ZXIiLCJ4IiwidHlwZSIsIlB1YmxpY1RocmVhZCIsIlByaXZhdGVUaHJlYWQiLCJBbm5vdW5jZW1lbnRUaHJlYWQiLCJtYXAiLCJpZCIsImZlYXR1cmVzIiwidG9nZ2xlcyIsInRyYW5zZm9ybUd1aWxkIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwiZ3VpbGRJZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJndWlsZCIsIk9iamVjdCIsImNyZWF0ZSIsImFma1RpbWVvdXQiLCJhZmtfdGltZW91dCIsImFwcHJveGltYXRlTWVtYmVyQ291bnQiLCJhcHByb3hpbWF0ZV9tZW1iZXJfY291bnQiLCJhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQiLCJhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudCIsImRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyIsImRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zIiwiZGVzY3JpcHRpb24iLCJleHBsaWNpdENvbnRlbnRGaWx0ZXIiLCJleHBsaWNpdF9jb250ZW50X2ZpbHRlciIsIm1heE1lbWJlcnMiLCJtYXhfbWVtYmVycyIsIm1heFByZXNlbmNlcyIsIm1heF9wcmVzZW5jZXMiLCJtYXhWaWRlb0NoYW5uZWxVc2VycyIsIm1heF92aWRlb19jaGFubmVsX3VzZXJzIiwibWF4U3RhZ2VWaWRlb0NoYW5uZWxVc2VycyIsIm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzIiwibWZhTGV2ZWwiLCJtZmFfbGV2ZWwiLCJuYW1lIiwibnNmd0xldmVsIiwibnNmd19sZXZlbCIsInByZWZlcnJlZExvY2FsZSIsInByZWZlcnJlZF9sb2NhbGUiLCJwcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQiLCJwcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudCIsInByZW1pdW1UaWVyIiwicHJlbWl1bV90aWVyIiwic3RhZ2VJbnN0YW5jZXMiLCJzdGFnZV9pbnN0YW5jZXMiLCJzaSIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJ0b3BpYyIsImNoYW5uZWwiLCJyZXN1bHQiLCJtZW1iZXJzIiwibWVtYmVyIiwidXNlcklkIiwidXNlciIsInJvbGVzIiwicm9sZSIsImVtb2ppcyIsImVtb2ppIiwidm9pY2VTdGF0ZXMiLCJ2b2ljZV9zdGF0ZXMiLCJ2b2ljZVN0YXRlIiwic3RpY2tlcnMiLCJzdGlja2VyIiwic3lzdGVtQ2hhbm5lbEZsYWdzIiwic3lzdGVtX2NoYW5uZWxfZmxhZ3MiLCJ2YW5pdHlVcmxDb2RlIiwidmFuaXR5X3VybF9jb2RlIiwidmVyaWZpY2F0aW9uTGV2ZWwiLCJ2ZXJpZmljYXRpb25fbGV2ZWwiLCJ3ZWxjb21lU2NyZWVuIiwid2VsY29tZV9zY3JlZW4iLCJ3ZWxjb21lQ2hhbm5lbHMiLCJ3ZWxjb21lX2NoYW5uZWxzIiwid2MiLCJlbW9qaUlkIiwiZW1vamlfaWQiLCJlbW9qaU5hbWUiLCJlbW9qaV9uYW1lIiwiZGlzY292ZXJ5U3BsYXNoIiwiZGlzY292ZXJ5X3NwbGFzaCIsImpvaW5lZEF0Iiwiam9pbmVkX2F0IiwiRGF0ZSIsInBhcnNlIiwibWVtYmVyQ291bnQiLCJtZW1iZXJfY291bnQiLCJzaGFyZElkIiwiaWNvbiIsImJhbm5lciIsInNwbGFzaCIsIm93bmVySWQiLCJvd25lcl9pZCIsInBlcm1pc3Npb25zIiwiYWZrQ2hhbm5lbElkIiwiYWZrX2NoYW5uZWxfaWQiLCJ3aWRnZXRDaGFubmVsSWQiLCJ3aWRnZXRfY2hhbm5lbF9pZCIsImFwcGxpY2F0aW9uSWQiLCJhcHBsaWNhdGlvbl9pZCIsInN5c3RlbUNoYW5uZWxJZCIsInN5c3RlbV9jaGFubmVsX2lkIiwicnVsZXNDaGFubmVsSWQiLCJydWxlc19jaGFubmVsX2lkIiwicHVibGljVXBkYXRlc0NoYW5uZWxJZCIsInB1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQiLCJwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkIiwicHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZCIsImxhcmdlIiwib3duZXIiLCJ3aWRnZXRFbmFibGVkIiwid2lkZ2V0X2VuYWJsZWQiLCJ1bmF2YWlsYWJsZSIsImljb25IYXNoIiwiaWNvbl9oYXNoIiwicHJlc2VuY2VzIiwicHJlc2VuY2UiLCJzYWZldHlBbGVydHNDaGFubmVsSWQiLCJzYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQiLCJpbmNpZGVudHNEYXRhIiwiaW5jaWRlbnRzX2RhdGEiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsWUFBWSxRQUF1RCxvQkFBb0I7QUFDaEcsU0FBU0MsVUFBVSxFQUFFQyxnQkFBZ0IsUUFBUSxvQkFBb0I7QUFHakUsU0FBU0MsWUFBWSxRQUFRLHFCQUFxQjtBQUdsRCxPQUFPLE1BQU1DLFlBQW1CO0lBQzlCLDJFQUEyRTtJQUMzRSxHQUFJQyxTQUFTO0lBRWIsSUFBSUMs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
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ3VpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbm5lbFR5cGVzLCB0eXBlIERpc2NvcmRHdWlsZCB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IENvbGxlY3Rpb24sIGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IGNhbGxDdXN0b21pemVyIH0gZnJvbSAnLi4vdHJhbnNmb3JtZXJzLmpzJztcbmltcG9ydCB7IEd1aWxkVG9nZ2xlcyB9IGZyb20gJy4vdG9nZ2xlcy9ndWlsZC5qcyc7XG5pbXBvcnQgdHlwZSB7IENoYW5uZWwsIEd1aWxkIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBjb25zdCBiYXNlR3VpbGQ6IEd1aWxkID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEd1aWxkKSxcblxuICBnZXQgdGhyZWFkcygpIHtcbiAgICBpZiAoIXRoaXMuY2hhbm5lbHMpIHJldHVybiBuZXcgQ29sbGVjdGlvbjxiaWdpbnQsIENoYW5uZWw+KCk7XG5cbiAgICBjb25zdCB0aHJlYWRzID0gdGhpcy5jaGFubmVsc1xuICAgICAgLmFycmF5KClcbiAgICAgIC5maWx0ZXIoKHgpID0+IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLlB1YmxpY1RocmVhZCB8fCB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5Qcml2YXRlVGhyZWFkIHx8IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLkFubm91bmNlbWVudFRocmVhZCk7XG5cbiAgICByZXR1cm4gbmV3IENvbGxlY3Rpb24odGhyZWFkcy5tYXAoKHgpID0+IFt4LmlkLCB4XSkpO1xuICB9LFxuICBnZXQgZmVhdHVyZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9nZ2xlcy5mZWF0dXJlcztcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1HdWlsZChib3Q6IEJvdCwgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkR3VpbGQ+LCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlcjsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGQ7XG4gIGNvbnN0IGd1aWxkOiBTZXR1cERlc2lyZWRQcm9wczxHdWlsZCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+ID0gT2JqZWN0LmNyZWF0ZShiYXNlR3VpbGQpO1xuXG4gIGNvbnN0IGd1aWxkSWQgPSBwYXlsb2FkLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCkgOiB1bmRlZmluZWQ7XG5cbiAgaWYgKHByb3BzLmFma1RpbWVvdXQgJiYgcGF5bG9hZC5hZmtfdGltZW91dCkgZ3VpbGQuYWZrVGltZW91dCA9IHBheWxvYWQuYWZrX3RpbWVvdXQ7XG4gIGlmIChwcm9wcy5hcHByb3hpbWF0ZU1lbWJlckNvdW50ICYmIHBheWxvYWQuYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50KSBndWlsZC5hcHByb3hpbWF0ZU1lbWJlckNvdW50ID0gcGF5bG9hZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnQ7XG4gIGlmIChwcm9wcy5hcHByb3hpbWF0ZVByZXNlbmNlQ291bnQgJiYgcGF5bG9hZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudCkgZ3VpbGQuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ID0gcGF5bG9hZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudDtcbiAgaWYgKHByb3BzLmRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyAmJiBwYXlsb2FkLmRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zICE9PSB1bmRlZmluZWQpXG4gICAgZ3VpbGQuZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zID0gcGF5bG9hZC5kZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9ucztcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGd1aWxkLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnRvZ2dsZXMpIGd1aWxkLnRvZ2dsZXMgPSBuZXcgR3VpbGRUb2dnbGVzKHBheWxvYWQpO1xuICBpZiAocHJvcHMuZXhwbGljaXRDb250ZW50RmlsdGVyICYmIHBheWxvYWQuZXhwbGljaXRfY29udGVudF9maWx0ZXIgIT09IHVuZGVmaW5lZCkgZ3VpbGQuZXhwbGljaXRDb250ZW50RmlsdGVyID0gcGF5bG9hZC5leHBsaWNpdF9jb250ZW50X2ZpbHRlcjtcbiAgaWYgKHByb3BzLm1heE1lbWJlcnMgJiYgcGF5bG9hZC5tYXhfbWVtYmVycykgZ3VpbGQubWF4TWVtYmVycyA9IHBheWxvYWQubWF4X21lbWJlcnM7XG4gIGlmIChwcm9wcy5tYXhQcmVzZW5jZXMgJiYgcGF5bG9hZC5tYXhfcHJlc2VuY2VzKSBndWlsZC5tYXhQcmVzZW5jZXMgPSBwYXlsb2FkLm1heF9wcmVzZW5jZXMgPz8gdW5kZWZpbmVkO1xuICBpZiAocHJvcHMubWF4VmlkZW9DaGFubmVsVXNlcnMgJiYgcGF5bG9hZC5tYXhfdmlkZW9fY2hhbm5lbF91c2VycykgZ3VpbGQubWF4VmlkZW9DaGFubmVsVXNlcnMgPSBwYXlsb2FkLm1heF92aWRlb19jaGFubmVsX3VzZXJzO1xuICBpZiAocHJvcHMubWF4U3RhZ2VWaWRlb0NoYW5uZWxVc2VycyAmJiBwYXlsb2FkLm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzKVxuICAgIGd1aWxkLm1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnMgPSBwYXlsb2FkLm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzO1xuICBpZiAocHJvcHMubWZhTGV2ZWwgJiYgcGF5bG9hZC5tZmFfbGV2ZWwgIT09IHVuZGVmaW5lZCkgZ3VpbGQubWZhTGV2ZWwgPSBwYXlsb2FkLm1mYV9sZXZlbDtcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5uYW1lKSBndWlsZC5uYW1lID0gcGF5bG9hZC5uYW1lO1xuICBpZiAocHJvcHMubnNmd0xldmVsICYmIHBheWxvYWQubnNmd19sZXZlbCAhPT0gdW5kZWZpbmVkKSBndWlsZC5uc2Z3TGV2ZWwgPSBwYXlsb2FkLm5zZndfbGV2ZWw7XG4gIGlmIChwcm9wcy5wcmVmZXJyZWRMb2NhbGUgJiYgcGF5bG9hZC5wcmVmZXJyZWRfbG9jYWxlKSBndWlsZC5wcmVmZXJyZWRMb2NhbGUgPSBwYXlsb2FkLnByZWZlcnJlZF9sb2NhbGU7XG4gIGlmIChwcm9wcy5wcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQgJiYgcGF5bG9hZC5wcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudCAhPT0gdW5kZWZpbmVkKVxuICAgIGd1aWxkLnByZW1pdW1TdWJzY3JpcHRpb25Db3VudCA9IHBheWxvYWQucHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnQ7XG4gIGlmIChwcm9wcy5wcmVtaXVtVGllciAmJiBwYXlsb2FkLnByZW1pdW1fdGllciAhPT0gdW5kZWZpbmVkKSBndWlsZC5wcmVtaXVtVGllciA9IHBheWxvYWQucHJlbWl1bV90aWVyO1xuICBpZiAocHJvcHMuc3RhZ2VJbnN0YW5jZXMgJiYgcGF5bG9hZC5zdGFnZV9pbnN0YW5jZXMpXG4gICAgZ3VpbGQuc3RhZ2VJbnN0YW5jZXMgPSBwYXlsb2FkLnN0YWdlX2luc3RhbmNlcy5tYXAoKHNpKSA9PiAoe1xuICAgICAgLyoqIFRoZSBpZCBvZiB0aGlzIFN0YWdlIGluc3RhbmNlICovXG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoc2kuaWQpLFxuICAgICAgLyoqIFRoZSBndWlsZCBpZCBvZiB0aGUgYXNzb2NpYXRlZCBTdGFnZSBjaGFubmVsICovXG4gICAgICBndWlsZElkLFxuICAgICAgLyoqIFRoZSBpZCBvZiB0aGUgYXNzb2NpYXRlZCBTdGFnZSBjaGFubmVsICovXG4gICAgICBjaGFubmVsSWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHNpLmNoYW5uZWxfaWQpLFxuICAgICAgLyoqIFRoZSB0b3BpYyBvZiB0aGUgU3RhZ2UgaW5zdGFuY2UgKDEtMTIwIGNoYXJhY3RlcnMpICovXG4gICAgICB0b3BpYzogc2kudG9waWMsXG4gICAgfSkpO1xuICBpZiAocHJvcHMuY2hhbm5lbHMgJiYgKCEhcGF5bG9hZC5jaGFubmVscyB8fCAhIXBheWxvYWQudGhyZWFkcykpXG4gICAgZ3VpbGQuY2hhbm5lbHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIFsuLi4ocGF5bG9hZC5jaGFubmVscyA/PyBbXSksIC4uLihwYXlsb2FkLnRocmVhZHMgPz8gW10pXS5tYXAoKGNoYW5uZWwpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgY2hhbm5lbCwgeyBndWlsZElkIH0pO1xuICAgICAgICByZXR1cm4gW2JvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGNoYW5uZWwuaWQpLCByZXN1bHRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgaWYgKHByb3BzLm1lbWJlcnMgJiYgcGF5bG9hZC5tZW1iZXJzKVxuICAgIGd1aWxkLm1lbWJlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQubWVtYmVycy5tYXAoKG1lbWJlcikgPT4ge1xuICAgICAgICBjb25zdCB1c2VySWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtZW1iZXIudXNlci5pZCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgbWVtYmVyLCB7IGd1aWxkSWQsIHVzZXJJZCB9KTtcbiAgICAgICAgcmV0dXJuIFt1c2VySWQsIHJlc3VsdF07XG4gICAgICB9KSxcbiAgICApO1xuICBpZiAocHJvcHMucm9sZXMgJiYgcGF5bG9hZC5yb2xlcylcbiAgICBndWlsZC5yb2xlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5yb2xlcy5tYXAoKHJvbGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgcm9sZSwgeyBndWlsZElkIH0pO1xuICAgICAgICByZXR1cm4gW2JvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHJvbGUuaWQpLCByZXN1bHRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgaWYgKHByb3BzLmVtb2ppcyAmJiBwYXlsb2FkLmVtb2ppcylcbiAgICBndWlsZC5lbW9qaXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQuZW1vamlzLm1hcCgoZW1vamkpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIGVtb2ppKTtcbiAgICAgICAgcmV0dXJuIFtib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShlbW9qaS5pZCEpLCByZXN1bHRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgaWYgKHByb3BzLnZvaWNlU3RhdGVzICYmIHBheWxvYWQudm9pY2Vfc3RhdGVzKVxuICAgIGd1aWxkLnZvaWNlU3RhdGVzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLnZvaWNlX3N0YXRlcy5tYXAoKHZvaWNlU3RhdGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy52b2ljZVN0YXRlKGJvdCwgdm9pY2VTdGF0ZSwgeyBndWlsZElkIH0pO1xuICAgICAgICByZXR1cm4gW2JvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHZvaWNlU3RhdGUudXNlcl9pZCksIHJlc3VsdF07XG4gICAgICB9KSxcbiAgICApO1xuICBpZiAocHJvcHMuc3RpY2tlcnMgJiYgcGF5bG9hZC5zdGlja2VycylcbiAgICBndWlsZC5zdGlja2VycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5zdGlja2Vycz8ubWFwKChzdGlja2VyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHN0aWNrZXIpO1xuICAgICAgICByZXR1cm4gW2JvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHN0aWNrZXIuaWQpLCByZXN1bHRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgaWYgKHByb3BzLnN5c3RlbUNoYW5uZWxGbGFncyAmJiBwYXlsb2FkLnN5c3RlbV9jaGFubmVsX2ZsYWdzKSBndWlsZC5zeXN0ZW1DaGFubmVsRmxhZ3MgPSBwYXlsb2FkLnN5c3RlbV9jaGFubmVsX2ZsYWdzO1xuICBpZiAocHJvcHMudmFuaXR5VXJsQ29kZSAmJiBwYXlsb2FkLnZhbml0eV91cmxfY29kZSkgZ3VpbGQudmFuaXR5VXJsQ29kZSA9IHBheWxvYWQudmFuaXR5X3VybF9jb2RlO1xuICBpZiAocHJvcHMudmVyaWZpY2F0aW9uTGV2ZWwgJiYgcGF5bG9hZC52ZXJpZmljYXRpb25fbGV2ZWwgIT09IHVuZGVmaW5lZCkgZ3VpbGQudmVyaWZpY2F0aW9uTGV2ZWwgPSBwYXlsb2FkLnZlcmlmaWNhdGlvbl9sZXZlbDtcbiAgaWYgKHByb3BzLndlbGNvbWVTY3JlZW4gJiYgcGF5bG9hZC53ZWxjb21lX3NjcmVlbilcbiAgICBndWlsZC53ZWxjb21lU2NyZWVuID0ge1xuICAgICAgZGVzY3JpcHRpb246IHBheWxvYWQud2VsY29tZV9zY3JlZW4uZGVzY3JpcHRpb24gPz8gdW5kZWZpbmVkLFxuICAgICAgd2VsY29tZUNoYW5uZWxzOiBwYXlsb2FkLndlbGNvbWVfc2NyZWVuLndlbGNvbWVfY2hhbm5lbHMubWFwKCh3YykgPT4gKHtcbiAgICAgICAgY2hhbm5lbElkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh3Yy5jaGFubmVsX2lkKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHdjLmRlc2NyaXB0aW9uLFxuICAgICAgICBlbW9qaUlkOiB3Yy5lbW9qaV9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHdjLmVtb2ppX2lkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZW1vamlOYW1lOiB3Yy5lbW9qaV9uYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgIH0pKSxcbiAgICB9O1xuICBpZiAocHJvcHMuZGlzY292ZXJ5U3BsYXNoICYmIHBheWxvYWQuZGlzY292ZXJ5X3NwbGFzaCkgZ3VpbGQuZGlzY292ZXJ5U3BsYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmRpc2NvdmVyeV9zcGxhc2gpO1xuICBpZiAocHJvcHMuam9pbmVkQXQgJiYgcGF5bG9hZC5qb2luZWRfYXQpIGd1aWxkLmpvaW5lZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLmpvaW5lZF9hdCk7XG4gIGlmIChwcm9wcy5tZW1iZXJDb3VudCAmJiBwYXlsb2FkLm1lbWJlcl9jb3VudCkgZ3VpbGQubWVtYmVyQ291bnQgPSBwYXlsb2FkLm1lbWJlcl9jb3VudCA/PyAwO1xuICBpZiAocHJvcHMuc2hhcmRJZCAmJiBleHRyYT8uc2hhcmRJZCkgZ3VpbGQuc2hhcmRJZCA9IGV4dHJhLnNoYXJkSWQ7XG4gIGlmIChwcm9wcy5pY29uICYmIHBheWxvYWQuaWNvbikgZ3VpbGQuaWNvbiA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5pY29uKTtcbiAgaWYgKHByb3BzLmJhbm5lciAmJiBwYXlsb2FkLmJhbm5lcikgZ3VpbGQuYmFubmVyID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmJhbm5lcik7XG4gIGlmIChwcm9wcy5zcGxhc2ggJiYgcGF5bG9hZC5zcGxhc2gpIGd1aWxkLnNwbGFzaCA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5zcGxhc2gpO1xuICBpZiAocHJvcHMuaWQgJiYgZ3VpbGRJZCkgZ3VpbGQuaWQgPSBndWlsZElkO1xuICBpZiAocHJvcHMub3duZXJJZCAmJiBwYXlsb2FkLm93bmVyX2lkKSBndWlsZC5vd25lcklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5vd25lcl9pZCk7XG4gIGlmIChwcm9wcy5wZXJtaXNzaW9ucyAmJiBwYXlsb2FkLnBlcm1pc3Npb25zKSBndWlsZC5wZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucGVybWlzc2lvbnMpO1xuICBpZiAocHJvcHMuYWZrQ2hhbm5lbElkICYmIHBheWxvYWQuYWZrX2NoYW5uZWxfaWQpIGd1aWxkLmFma0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYWZrX2NoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMud2lkZ2V0Q2hhbm5lbElkICYmIHBheWxvYWQud2lkZ2V0X2NoYW5uZWxfaWQpIGd1aWxkLndpZGdldENoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQud2lkZ2V0X2NoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMuYXBwbGljYXRpb25JZCAmJiBwYXlsb2FkLmFwcGxpY2F0aW9uX2lkKSBndWlsZC5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCk7XG4gIGlmIChwcm9wcy5zeXN0ZW1DaGFubmVsSWQgJiYgcGF5bG9hZC5zeXN0ZW1fY2hhbm5lbF9pZCkgZ3VpbGQuc3lzdGVtQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5zeXN0ZW1fY2hhbm5lbF9pZCk7XG4gIGlmIChwcm9wcy5ydWxlc0NoYW5uZWxJZCAmJiBwYXlsb2FkLnJ1bGVzX2NoYW5uZWxfaWQpIGd1aWxkLnJ1bGVzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ydWxlc19jaGFubmVsX2lkKTtcbiAgaWYgKHByb3BzLnB1YmxpY1VwZGF0ZXNDaGFubmVsSWQgJiYgcGF5bG9hZC5wdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkKVxuICAgIGd1aWxkLnB1YmxpY1VwZGF0ZXNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnB1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCAmJiBwYXlsb2FkLnByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQpIGd1aWxkLnByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQgPSBwYXlsb2FkLnByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQ7XG4gIGlmIChwcm9wcy5sYXJnZSAmJiBwYXlsb2FkLmxhcmdlKSBndWlsZC5sYXJnZSA9IHBheWxvYWQubGFyZ2U7XG4gIGlmIChwcm9wcy5vd25lciAmJiBwYXlsb2FkLm93bmVyKSBndWlsZC5vd25lciA9IHBheWxvYWQub3duZXI7XG4gIGlmIChwcm9wcy53aWRnZXRFbmFibGVkICYmIHBheWxvYWQud2lkZ2V0X2VuYWJsZWQpIGd1aWxkLndpZGdldEVuYWJsZWQgPSBwYXlsb2FkLndpZGdldF9lbmFibGVkO1xuICBpZiAocHJvcHMudW5hdmFpbGFibGUgJiYgcGF5bG9hZC51bmF2YWlsYWJsZSkgZ3VpbGQudW5hdmFpbGFibGUgPSBwYXlsb2FkLnVuYXZhaWxhYmxlO1xuICBpZiAocHJvcHMuaWNvbkhhc2ggJiYgcGF5bG9hZC5pY29uX2hhc2gpIGd1aWxkLmljb25IYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmljb25faGFzaCk7XG4gIGlmIChwcm9wcy5wcmVzZW5jZXMgJiYgcGF5bG9hZC5wcmVzZW5jZXMpXG4gICAgZ3VpbGQucHJlc2VuY2VzID0gcGF5bG9hZC5wcmVzZW5jZXM/Lm1hcCgocHJlc2VuY2UpID0+IGJvdC50cmFuc2Zvcm1lcnMucHJlc2VuY2UoYm90LCBwcmVzZW5jZSwgeyBwYXJ0aWFsOiB0cnVlIH0pKTtcbiAgaWYgKHByb3BzLnNhZmV0eUFsZXJ0c0NoYW5uZWxJZCAmJiBwYXlsb2FkLnNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZClcbiAgICBndWlsZC5zYWZldHlBbGVydHNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZCk7XG4gIGlmIChwcm9wcy5pbmNpZGVudHNEYXRhICYmIHBheWxvYWQuaW5jaWRlbnRzX2RhdGEpIGd1aWxkLmluY2lkZW50c0RhdGEgPSBib3QudHJhbnNmb3JtZXJzLmluY2lkZW50c0RhdGEoYm90LCBwYXlsb2FkLmluY2lkZW50c19kYXRhKTtcblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ2d1aWxkJywgYm90LCBwYXlsb2FkLCBndWlsZCwge1xuICAgIHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkLFxuICAgIHBhcnRpYWw6IGV4dHJhPy5wYXJ0aWFsID8/IGZhbHNlLFxuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJDaGFubmVsVHlwZXMiLCJDb2xsZWN0aW9uIiwiaWNvbkhhc2hUb0JpZ0ludCIsImNhbGxDdXN0b21pemVyIiwiR3VpbGRUb2dnbGVzIiwiYmFzZUd1aWxkIiwidW5kZWZpbmVkIiwidGhyZWFkcyIsImNoYW5uZWxzIiwiYXJyYXkiLCJmaWx0ZXIiLCJ4IiwidHlwZSIsIlB1YmxpY1RocmVhZCIsIlByaXZhdGVUaHJlYWQiLCJBbm5vdW5jZW1lbnRUaHJlYWQiLCJtYXAiLCJpZCIsImZlYXR1cmVzIiwidG9nZ2xlcyIsInRyYW5zZm9ybUd1aWxkIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImd1aWxkIiwiT2JqZWN0IiwiY3JlYXRlIiwiZ3VpbGRJZCIsInNub3dmbGFrZSIsImFma1RpbWVvdXQiLCJhZmtfdGltZW91dCIsImFwcHJveGltYXRlTWVtYmVyQ291bnQiLCJhcHByb3hpbWF0ZV9tZW1iZXJfY291bnQiLCJhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQiLCJhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudCIsImRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyIsImRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zIiwiZGVzY3JpcHRpb24iLCJleHBsaWNpdENvbnRlbnRGaWx0ZXIiLCJleHBsaWNpdF9jb250ZW50X2ZpbHRlciIsIm1heE1lbWJlcnMiLCJtYXhfbWVtYmVycyIsIm1heFByZXNlbmNlcyIsIm1heF9wcmVzZW5jZXMiLCJtYXhWaWRlb0NoYW5uZWxVc2VycyIsIm1heF92aWRlb19jaGFubmVsX3VzZXJzIiwibWF4U3RhZ2VWaWRlb0NoYW5uZWxVc2VycyIsIm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzIiwibWZhTGV2ZWwiLCJtZmFfbGV2ZWwiLCJuYW1lIiwibnNmd0xldmVsIiwibnNmd19sZXZlbCIsInByZWZlcnJlZExvY2FsZSIsInByZWZlcnJlZF9sb2NhbGUiLCJwcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQiLCJwcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudCIsInByZW1pdW1UaWVyIiwicHJlbWl1bV90aWVyIiwic3RhZ2VJbnN0YW5jZXMiLCJzdGFnZV9pbnN0YW5jZXMiLCJzaSIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJ0b3BpYyIsImNoYW5uZWwiLCJyZXN1bHQiLCJtZW1iZXJzIiwibWVtYmVyIiwidXNlcklkIiwidXNlciIsInJvbGVzIiwicm9sZSIsImVtb2ppcyIsImVtb2ppIiwidm9pY2VTdGF0ZXMiLCJ2b2ljZV9zdGF0ZXMiLCJ2b2ljZVN0YXRlIiwidXNlcl9pZCIsInN0aWNrZXJzIiwic3RpY2tlciIsInN5c3RlbUNoYW5uZWxGbGFncyIsInN5c3RlbV9jaGFubmVsX2ZsYWdzIiwidmFuaXR5VXJsQ29kZSIsInZhbml0eV91cmxfY29kZSIsInZlcmlmaWNhdGlvbkxldmVsIiwidmVyaWZpY2F0aW9uX2xldmVsIiwid2VsY29tZVNjcmVlbiIsIndlbGNvbWVfc2NyZWVuIiwid2VsY29tZUNoYW5uZWxzIiwid2VsY29tZV9jaGFubmVscyIsIndjIiwiZW1vamlJZCIsImVtb2ppX2lkIiwiZW1vamlOYW1lIiwiZW1vamlfbmFtZSIsImRpc2NvdmVyeVNwbGFzaCIsImRpc2NvdmVyeV9zcGxhc2giLCJqb2luZWRBdCIsImpvaW5lZF9hdCIsIkRhdGUiLCJwYXJzZSIsIm1lbWJlckNvdW50IiwibWVtYmVyX2NvdW50Iiwic2hhcmRJZCIsImljb24iLCJiYW5uZXIiLCJzcGxhc2giLCJvd25lcklkIiwib3duZXJfaWQiLCJwZXJtaXNzaW9ucyIsImFma0NoYW5uZWxJZCIsImFma19jaGFubmVsX2lkIiwid2lkZ2V0Q2hhbm5lbElkIiwid2lkZ2V0X2NoYW5uZWxfaWQiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJzeXN0ZW1DaGFubmVsSWQiLCJzeXN0ZW1fY2hhbm5lbF9pZCIsInJ1bGVzQ2hhbm5lbElkIiwicnVsZXNfY2hhbm5lbF9pZCIsInB1YmxpY1VwZGF0ZXNDaGFubmVsSWQiLCJwdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkIiwicHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCIsInByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQiLCJsYXJnZSIsIm93bmVyIiwid2lkZ2V0RW5hYmxlZCIsIndpZGdldF9lbmFibGVkIiwidW5hdmFpbGFibGUiLCJpY29uSGFzaCIsImljb25faGFzaCIsInByZXNlbmNlcyIsInByZXNlbmNlIiwicGFydGlhbCIsInNhZmV0eUFsZXJ0c0NoYW5uZWxJZCIsInNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZCIsImluY2lkZW50c0RhdGEiLCJpbmNpZGVudHNfZGF0YSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsWUFBWSxRQUEyQixvQkFBb0I7QUFDcEUsU0FBU0MsVUFBVSxFQUFFQyxnQkFBZ0IsUUFBUSxvQkFBb0I7QUFHakUsU0FBU0MsY0FBYyxRQUFRLHFCQUFxQjtBQUNwRCxTQUFTQyxZQUFZLFFBQVEscUJBQXFCO0FBR2xELE9BQU8sTUFBTUMsWUFBbUI7SUFDOUIsMkVBQTJFO0lBQzNFLEdBQUlDLFNBQVM7SUFFYixJQUFJQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUNDLFFBQVEsRUFBRSxPQUFPLElBQUlQO1FBRS9CLE1BQU1NLFVBQVUsSUFBSSxDQUFDQyxRQUFRLENBQzFCQyxLQUFLLEdBQ0xDLE1BQU0sQ0FBQyxDQUFDQyxJQUFNQSxFQUFFQyxJQUFJLEtBQUtaLGFBQWFhLFlBQVksSUFBSUYsRUFBRUMsSUFBSSxLQUFLWixhQUFhYyxhQUFhLElBQUlILEVBQUVDLElBQUksS0FBS1osYUFBYWUsa0JBQWtCO1FBRTVJLE9BQU8sSUFBSWQsV0FBV00sUUFBUVMsR0FBRyxDQUFDLENBQUNMLElBQU07Z0JBQUNBLEVBQUVNLEVBQUU7Z0JBQUVOO2FBQUU7SUFDcEQ7SUFDQSxJQUFJTztRQUNGLE9BQU8sSUFBSSxDQUFDQyxPQUFPLENBQUNELFFBQVE7SUFDOUI7QUFDRixFQUFFO0FBRUYsT0FBTyxTQUFTRSxlQUFlQyxHQUFRLEVBQUVDLE9BQThCLEVBQUVDLEtBQStDO0lBQ3RILE1BQU1DLFFBQVFILElBQUlJLFlBQVksQ0FBQ0MsaUJBQWlCLENBQUNDLEtBQUs7SUFDdEQsTUFBTUEsUUFBNEZDLE9BQU9DLE1BQU0sQ0FBQ3hCO0lBRWhILE1BQU15QixVQUFVUixRQUFRTCxFQUFFLEdBQUdJLElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDVCxRQUFRTCxFQUFFLElBQUlYO0lBRXRFLElBQUlrQixNQUFNUSxVQUFVLElBQUlWLFFBQVFXLFdBQVcsRUFBRU4sTUFBTUssVUFBVSxHQUFHVixRQUFRVyxXQUFXO0lBQ25GLElBQUlULE1BQU1VLHNCQUFzQixJQUFJWixRQUFRYSx3QkFBd0IsRUFBRVIsTUFBTU8sc0JBQXNCLEdBQUdaLFFBQVFhLHdCQUF3QjtJQUNySSxJQUFJWCxNQUFNWSx3QkFBd0IsSUFBSWQsUUFBUWUsMEJBQTBCLEVBQUVWLE1BQU1TLHdCQUF3QixHQUFHZCxRQUFRZSwwQkFBMEI7SUFDN0ksSUFBSWIsTUFBTWMsMkJBQTJCLElBQUloQixRQUFRaUIsNkJBQTZCLEtBQUtqQyxXQUNqRnFCLE1BQU1XLDJCQUEyQixHQUFHaEIsUUFBUWlCLDZCQUE2QjtJQUMzRSxJQUFJZixNQUFNZ0IsV0FBVyxJQUFJbEIsUUFBUWtCLFdBQVcsRUFBRWIsTUFBTWEsV0FBVyxHQUFHbEIsUUFBUWtCLFdBQVc7SUFDckYsSUFBSWhCLE1BQU1MLE9BQU8sRUFBRVEsTUFBTVIsT0FBTyxHQUFHLElBQUlmLGFBQWFrQjtJQUNwRCxJQUFJRSxNQUFNaUIscUJBQXFCLElBQUluQixRQUFRb0IsdUJBQXVCLEtBQUtwQyxXQUFXcUIsTUFBTWMscUJBQXFCLEdBQUduQixRQUFRb0IsdUJBQXVCO0lBQy9JLElBQUlsQixNQUFNbUIsVUFBVSxJQUFJckIsUUFBUXNCLFdBQVcsRUFBRWpCLE1BQU1nQixVQUFVLEdBQUdyQixRQUFRc0IsV0FBVztJQUNuRixJQUFJcEIsTUFBTXFCLFlBQVksSUFBSXZCLFFBQVF3QixhQUFhLEVBQUVuQixNQUFNa0IsWUFBWSxHQUFHdkIsUUFBUXdCLGFBQWEsSUFBSXhDO0lBQy9GLElBQUlrQixNQUFNdUIsb0JBQW9CLElBQUl6QixRQUFRMEIsdUJBQXVCLEVBQUVyQixNQUFNb0Isb0JBQW9CLEdBQUd6QixRQUFRMEIsdUJBQXVCO0lBQy9ILElBQUl4QixNQUFNeUIseUJBQXlCLElBQUkzQixRQUFRNEIsNkJBQTZCLEVBQzFFdkIsTUFBTXNCLHlCQUF5QixHQUFHM0IsUUFBUTRCLDZCQUE2QjtJQUN6RSxJQUFJMUIsTUFBTTJCLFFBQVEsSUFBSTdCLFFBQVE4QixTQUFTLEtBQUs5QyxXQUFXcUIsTUFBTXdCLFFBQVEsR0FBRzdCLFFBQVE4QixTQUFTO0lBQ3pGLElBQUk1QixNQUFNNkIsSUFBSSxJQUFJL0IsUUFBUStCLElBQUksRUFBRTFCLE1BQU0wQixJQUFJLEdBQUcvQixRQUFRK0IsSUFBSTtJQUN6RCxJQUFJN0IsTUFBTThCLFNBQVMsSUFBSWhDLFFBQVFpQyxVQUFVLEtBQUtqRCxXQUFXcUIsTUFBTTJCLFNBQVMsR0FBR2hDLFFBQVFpQyxVQUFVO0lBQzdGLElBQUkvQixNQUFNZ0MsZUFBZSxJQUFJbEMsUUFBUW1DLGdCQUFnQixFQUFFOUIsTUFBTTZCLGVBQWUsR0FBR2xDLFFBQVFtQyxnQkFBZ0I7SUFDdkcsSUFBSWpDLE1BQU1rQyx3QkFBd0IsSUFBSXBDLFFBQVFxQywwQkFBMEIsS0FBS3JELFdBQzNFcUIsTUFBTStCLHdCQUF3QixHQUFHcEMsUUFBUXFDLDBCQUEwQjtJQUNyRSxJQUFJbkMsTUFBTW9DLFdBQVcsSUFBSXRDLFFBQVF1QyxZQUFZLEtBQUt2RCxXQUFXcUIsTUFBTWlDLFdBQVcsR0FBR3RDLFFBQVF1QyxZQUFZO0lBQ3JHLElBQUlyQyxNQUFNc0MsY0FBYyxJQUFJeEMsUUFBUXlDLGVBQWUsRUFDakRwQyxNQUFNbUMsY0FBYyxHQUFHeEMsUUFBUXlDLGVBQWUsQ0FBQy9DLEdBQUcsQ0FBQyxDQUFDZ0QsS0FBUSxDQUFBO1lBQzFELGtDQUFrQyxHQUNsQy9DLElBQUlJLElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDaUMsR0FBRy9DLEVBQUU7WUFDcEMsaURBQWlELEdBQ2pEYTtZQUNBLDJDQUEyQyxHQUMzQ21DLFdBQVc1QyxJQUFJSSxZQUFZLENBQUNNLFNBQVMsQ0FBQ2lDLEdBQUdFLFVBQVU7WUFDbkQsdURBQXVELEdBQ3ZEQyxPQUFPSCxHQUFHRyxLQUFLO1FBQ2pCLENBQUE7SUFDRixJQUFJM0MsTUFBTWhCLFFBQVEsSUFBSyxDQUFBLENBQUMsQ0FBQ2MsUUFBUWQsUUFBUSxJQUFJLENBQUMsQ0FBQ2MsUUFBUWYsT0FBTyxBQUFELEdBQzNEb0IsTUFBTW5CLFFBQVEsR0FBRyxJQUFJUCxXQUNuQjtXQUFLcUIsUUFBUWQsUUFBUSxJQUFJLEVBQUU7V0FBT2MsUUFBUWYsT0FBTyxJQUFJLEVBQUU7S0FBRSxDQUFDUyxHQUFHLENBQUMsQ0FBQ29EO1FBQzdELE1BQU1DLFNBQVNoRCxJQUFJSSxZQUFZLENBQUMyQyxPQUFPLENBQUMvQyxLQUFLK0MsU0FBUztZQUFFdEM7UUFBUTtRQUNoRSxPQUFPO1lBQUNULElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDcUMsUUFBUW5ELEVBQUU7WUFBR29EO1NBQU87SUFDekQ7SUFFSixJQUFJN0MsTUFBTThDLE9BQU8sSUFBSWhELFFBQVFnRCxPQUFPLEVBQ2xDM0MsTUFBTTJDLE9BQU8sR0FBRyxJQUFJckUsV0FDbEJxQixRQUFRZ0QsT0FBTyxDQUFDdEQsR0FBRyxDQUFDLENBQUN1RDtRQUNuQixNQUFNQyxTQUFTbkQsSUFBSUksWUFBWSxDQUFDTSxTQUFTLENBQUN3QyxPQUFPRSxJQUFJLENBQUN4RCxFQUFFO1FBQ3hELE1BQU1vRCxTQUFTaEQsSUFBSUksWUFBWSxDQUFDOEMsTUFBTSxDQUFDbEQsS0FBS2tELFFBQVE7WUFBRXpDO1lBQVMwQztRQUFPO1FBQ3RFLE9BQU87WUFBQ0E7WUFBUUg7U0FBTztJQUN6QjtJQUVKLElBQUk3QyxNQUFNa0QsS0FBSyxJQUFJcEQsUUFBUW9ELEtBQUssRUFDOUIvQyxNQUFNK0MsS0FBSyxHQUFHLElBQUl6RSxXQUNoQnFCLFFBQVFvRCxLQUFLLENBQUMxRCxHQUFHLENBQUMsQ0FBQzJEO1FBQ2pCLE1BQU1OLFNBQVNoRCxJQUFJSSxZQUFZLENBQUNrRCxJQUFJLENBQUN0RCxLQUFLc0QsTUFBTTtZQUFFN0M7UUFBUTtRQUMxRCxPQUFPO1lBQUNULElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDNEMsS0FBSzFELEVBQUU7WUFBR29EO1NBQU87SUFDdEQ7SUFFSixJQUFJN0MsTUFBTW9ELE1BQU0sSUFBSXRELFFBQVFzRCxNQUFNLEVBQ2hDakQsTUFBTWlELE1BQU0sR0FBRyxJQUFJM0UsV0FDakJxQixRQUFRc0QsTUFBTSxDQUFDNUQsR0FBRyxDQUFDLENBQUM2RDtRQUNsQixNQUFNUixTQUFTaEQsSUFBSUksWUFBWSxDQUFDb0QsS0FBSyxDQUFDeEQsS0FBS3dEO1FBQzNDLE9BQU87WUFBQ3hELElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDOEMsTUFBTTVELEVBQUU7WUFBSW9EO1NBQU87SUFDeEQ7SUFFSixJQUFJN0MsTUFBTXNELFdBQVcsSUFBSXhELFFBQVF5RCxZQUFZLEVBQzNDcEQsTUFBTW1ELFdBQVcsR0FBRyxJQUFJN0UsV0FDdEJxQixRQUFReUQsWUFBWSxDQUFDL0QsR0FBRyxDQUFDLENBQUNnRTtRQUN4QixNQUFNWCxTQUFTaEQsSUFBSUksWUFBWSxDQUFDdUQsVUFBVSxDQUFDM0QsS0FBSzJELFlBQVk7WUFBRWxEO1FBQVE7UUFDdEUsT0FBTztZQUFDVCxJQUFJSSxZQUFZLENBQUNNLFNBQVMsQ0FBQ2lELFdBQVdDLE9BQU87WUFBR1o7U0FBTztJQUNqRTtJQUVKLElBQUk3QyxNQUFNMEQsUUFBUSxJQUFJNUQsUUFBUTRELFFBQVEsRUFDcEN2RCxNQUFNdUQsUUFBUSxHQUFHLElBQUlqRixXQUNuQnFCLFFBQVE0RCxRQUFRLEVBQUVsRSxJQUFJLENBQUNtRTtRQUNyQixNQUFNZCxTQUFTaEQsSUFBSUksWUFBWSxDQUFDMEQsT0FBTyxDQUFDOUQsS0FBSzhEO1FBQzdDLE9BQU87WUFBQzlELElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDb0QsUUFBUWxFLEVBQUU7WUFBR29EO1NBQU87SUFDekQ7SUFFSixJQUFJN0MsTUFBTTRELGtCQUFrQixJQUFJOUQsUUFBUStELG9CQUFvQixFQUFFMUQsTUFBTXlELGtCQUFrQixHQUFHOUQsUUFBUStELG9CQUFvQjtJQUNySCxJQUFJN0QsTUFBTThELGFBQWEsSUFBSWhFLFFBQVFpRSxlQUFlLEVBQUU1RCxNQUFNMkQsYUFBYSxHQUFHaEUsUUFBUWlFLGVBQWU7SUFDakcsSUFBSS9ELE1BQU1nRSxpQkFBaUIsSUFBSWxFLFFBQVFtRSxrQkFBa0IsS0FBS25GLFdBQVdxQixNQUFNNkQsaUJBQWlCLEdBQUdsRSxRQUFRbUUsa0JBQWtCO0lBQzdILElBQUlqRSxNQUFNa0UsYUFBYSxJQUFJcEUsUUFBUXFFLGNBQWMsRUFDL0NoRSxNQUFNK0QsYUFBYSxHQUFHO1FBQ3BCbEQsYUFBYWxCLFFBQVFxRSxjQUFjLENBQUNuRCxXQUFXLElBQUlsQztRQUNuRHNGLGlCQUFpQnRFLFFBQVFxRSxjQUFjLENBQUNFLGdCQUFnQixDQUFDN0UsR0FBRyxDQUFDLENBQUM4RSxLQUFRLENBQUE7Z0JBQ3BFN0IsV0FBVzVDLElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDK0QsR0FBRzVCLFVBQVU7Z0JBQ25EMUIsYUFBYXNELEdBQUd0RCxXQUFXO2dCQUMzQnVELFNBQVNELEdBQUdFLFFBQVEsR0FBRzNFLElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDK0QsR0FBR0UsUUFBUSxJQUFJMUY7Z0JBQ2pFMkYsV0FBV0gsR0FBR0ksVUFBVSxJQUFJNUY7WUFDOUIsQ0FBQTtJQUNGO0lBQ0YsSUFBSWtCLE1BQU0yRSxlQUFlLElBQUk3RSxRQUFROEUsZ0JBQWdCLEVBQUV6RSxNQUFNd0UsZUFBZSxHQUFHakcsaUJBQWlCb0IsUUFBUThFLGdCQUFnQjtJQUN4SCxJQUFJNUUsTUFBTTZFLFFBQVEsSUFBSS9FLFFBQVFnRixTQUFTLEVBQUUzRSxNQUFNMEUsUUFBUSxHQUFHRSxLQUFLQyxLQUFLLENBQUNsRixRQUFRZ0YsU0FBUztJQUN0RixJQUFJOUUsTUFBTWlGLFdBQVcsSUFBSW5GLFFBQVFvRixZQUFZLEVBQUUvRSxNQUFNOEUsV0FBVyxHQUFHbkYsUUFBUW9GLFlBQVksSUFBSTtJQUMzRixJQUFJbEYsTUFBTW1GLE9BQU8sSUFBSXBGLE9BQU9vRixTQUFTaEYsTUFBTWdGLE9BQU8sR0FBR3BGLE1BQU1vRixPQUFPO0lBQ2xFLElBQUluRixNQUFNb0YsSUFBSSxJQUFJdEYsUUFBUXNGLElBQUksRUFBRWpGLE1BQU1pRixJQUFJLEdBQUcxRyxpQkFBaUJvQixRQUFRc0YsSUFBSTtJQUMxRSxJQUFJcEYsTUFBTXFGLE1BQU0sSUFBSXZGLFFBQVF1RixNQUFNLEVBQUVsRixNQUFNa0YsTUFBTSxHQUFHM0csaUJBQWlCb0IsUUFBUXVGLE1BQU07SUFDbEYsSUFBSXJGLE1BQU1zRixNQUFNLElBQUl4RixRQUFRd0YsTUFBTSxFQUFFbkYsTUFBTW1GLE1BQU0sR0FBRzVHLGlCQUFpQm9CLFFBQVF3RixNQUFNO0lBQ2xGLElBQUl0RixNQUFNUCxFQUFFLElBQUlhLFNBQVNILE1BQU1WLEVBQUUsR0FBR2E7SUFDcEMsSUFBSU4sTUFBTXVGLE9BQU8sSUFBSXpGLFFBQVEwRixRQUFRLEVBQUVyRixNQUFNb0YsT0FBTyxHQUFHMUYsSUFBSUksWUFBWSxDQUFDTSxTQUFTLENBQUNULFFBQVEwRixRQUFRO0lBQ2xHLElBQUl4RixNQUFNeUYsV0FBVyxJQUFJM0YsUUFBUTJGLFdBQVcsRUFBRXRGLE1BQU1zRixXQUFXLEdBQUc1RixJQUFJSSxZQUFZLENBQUNNLFNBQVMsQ0FBQ1QsUUFBUTJGLFdBQVc7SUFDaEgsSUFBSXpGLE1BQU0wRixZQUFZLElBQUk1RixRQUFRNkYsY0FBYyxFQUFFeEYsTUFBTXVGLFlBQVksR0FBRzdGLElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDVCxRQUFRNkYsY0FBYztJQUN4SCxJQUFJM0YsTUFBTTRGLGVBQWUsSUFBSTlGLFFBQVErRixpQkFBaUIsRUFBRTFGLE1BQU15RixlQUFlLEdBQUcvRixJQUFJSSxZQUFZLENBQUNNLFNBQVMsQ0FBQ1QsUUFBUStGLGlCQUFpQjtJQUNwSSxJQUFJN0YsTUFBTThGLGFBQWEsSUFBSWhHLFFBQVFpRyxjQUFjLEVBQUU1RixNQUFNMkYsYUFBYSxHQUFHakcsSUFBSUksWUFBWSxDQUFDTSxTQUFTLENBQUNULFFBQVFpRyxjQUFjO0lBQzFILElBQUkvRixNQUFNZ0csZUFBZSxJQUFJbEcsUUFBUW1HLGlCQUFpQixFQUFFOUYsTUFBTTZGLGVBQWUsR0FBR25HLElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDVCxRQUFRbUcsaUJBQWlCO0lBQ3BJLElBQUlqRyxNQUFNa0csY0FBYyxJQUFJcEcsUUFBUXFHLGdCQUFnQixFQUFFaEcsTUFBTStGLGNBQWMsR0FBR3JHLElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDVCxRQUFRcUcsZ0JBQWdCO0lBQ2hJLElBQUluRyxNQUFNb0csc0JBQXNCLElBQUl0RyxRQUFRdUcseUJBQXlCLEVBQ25FbEcsTUFBTWlHLHNCQUFzQixHQUFHdkcsSUFBSUksWUFBWSxDQUFDTSxTQUFTLENBQUNULFFBQVF1Ryx5QkFBeUI7SUFDN0YsSUFBSXJHLE1BQU1zRyx5QkFBeUIsSUFBSXhHLFFBQVF5Ryw0QkFBNEIsRUFBRXBHLE1BQU1tRyx5QkFBeUIsR0FBR3hHLFFBQVF5Ryw0QkFBNEI7SUFDbkosSUFBSXZHLE1BQU13RyxLQUFLLElBQUkxRyxRQUFRMEcsS0FBSyxFQUFFckcsTUFBTXFHLEtBQUssR0FBRzFHLFFBQVEwRyxLQUFLO0lBQzdELElBQUl4RyxNQUFNeUcsS0FBSyxJQUFJM0csUUFBUTJHLEtBQUssRUFBRXRHLE1BQU1zRyxLQUFLLEdBQUczRyxRQUFRMkcsS0FBSztJQUM3RCxJQUFJekcsTUFBTTBHLGFBQWEsSUFBSTVHLFFBQVE2RyxjQUFjLEVBQUV4RyxNQUFNdUcsYUFBYSxHQUFHNUcsUUFBUTZHLGNBQWM7SUFDL0YsSUFBSTNHLE1BQU00RyxXQUFXLElBQUk5RyxRQUFROEcsV0FBVyxFQUFFekcsTUFBTXlHLFdBQVcsR0FBRzlHLFFBQVE4RyxXQUFXO0lBQ3JGLElBQUk1RyxNQUFNNkcsUUFBUSxJQUFJL0csUUFBUWdILFNBQVMsRUFBRTNHLE1BQU0wRyxRQUFRLEdBQUduSSxpQkFBaUJvQixRQUFRZ0gsU0FBUztJQUM1RixJQUFJOUcsTUFBTStHLFNBQVMsSUFBSWpILFFBQVFpSCxTQUFTLEVBQ3RDNUcsTUFBTTRHLFNBQVMsR0FBR2pILFFBQVFpSCxTQUFTLEVBQUV2SCxJQUFJLENBQUN3SCxXQUFhbkgsSUFBSUksWUFBWSxDQUFDK0csUUFBUSxDQUFDbkgsS0FBS21ILFVBQVU7WUFBRUMsU0FBUztRQUFLO0lBQ2xILElBQUlqSCxNQUFNa0gscUJBQXFCLElBQUlwSCxRQUFRcUgsd0JBQXdCLEVBQ2pFaEgsTUFBTStHLHFCQUFxQixHQUFHckgsSUFBSUksWUFBWSxDQUFDTSxTQUFTLENBQUNULFFBQVFxSCx3QkFBd0I7SUFDM0YsSUFBSW5ILE1BQU1vSCxhQUFhLElBQUl0SCxRQUFRdUgsY0FBYyxFQUFFbEgsTUFBTWlILGFBQWEsR0FBR3ZILElBQUlJLFlBQVksQ0FBQ21ILGFBQWEsQ0FBQ3ZILEtBQUtDLFFBQVF1SCxjQUFjO0lBRW5JLE9BQU8xSSxlQUFlLFNBQVNrQixLQUFLQyxTQUFTSyxPQUFPO1FBQ2xEZ0YsU0FBU3BGLE9BQU9vRjtRQUNoQjhCLFNBQVNsSCxPQUFPa0gsV0FBVztJQUM3QjtBQUNGIn0=
@@ -1,5 +1,6 @@
1
1
  import type { DiscordIncidentsData } from '@discordeno/types';
2
2
  import type { Bot } from '../bot.js';
3
- import type { IncidentsData } from './types.js';
4
- export declare function transformIncidentsData(bot: Bot, payload: DiscordIncidentsData): IncidentsData;
3
+ export declare function transformIncidentsData(bot: Bot, payload: Partial<DiscordIncidentsData>, extra?: {
4
+ partial?: boolean;
5
+ }): any;
5
6
  //# 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,CAAC;AAC9D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,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,CAAC;AAC9D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAKrC,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAYrH"}
@@ -1,11 +1,14 @@
1
- export function transformIncidentsData(bot, payload) {
1
+ import { callCustomizer } from '../transformers.js';
2
+ export function transformIncidentsData(bot, payload, extra) {
2
3
  const props = bot.transformers.desiredProperties.incidentsData;
3
4
  const incidentsData = {};
4
5
  if (props.invitesDisabledUntil && payload.invites_disabled_until) incidentsData.invitesDisabledUntil = Date.parse(payload.invites_disabled_until);
5
6
  if (props.dmsDisabledUntil && payload.dms_disabled_until) incidentsData.dmsDisabledUntil = Date.parse(payload.dms_disabled_until);
6
7
  if (props.dmSpamDetectedAt && payload.dm_spam_detected_at) incidentsData.dmSpamDetectedAt = Date.parse(payload.dm_spam_detected_at);
7
8
  if (props.raidDetectedAt && payload.raid_detected_at) incidentsData.raidDetectedAt = Date.parse(payload.raid_detected_at);
8
- return bot.transformers.customizers.incidentsData(bot, payload, incidentsData);
9
+ return callCustomizer('incidentsData', bot, payload, incidentsData, {
10
+ partial: extra?.partial ?? false
11
+ });
9
12
  }
10
13
 
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW5jaWRlbnRzRGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRJbmNpZGVudHNEYXRhIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgdHlwZSB7IEluY2lkZW50c0RhdGEgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUluY2lkZW50c0RhdGEoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRJbmNpZGVudHNEYXRhKTogSW5jaWRlbnRzRGF0YSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbmNpZGVudHNEYXRhO1xuICBjb25zdCBpbmNpZGVudHNEYXRhID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8SW5jaWRlbnRzRGF0YSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5pbnZpdGVzRGlzYWJsZWRVbnRpbCAmJiBwYXlsb2FkLmludml0ZXNfZGlzYWJsZWRfdW50aWwpIGluY2lkZW50c0RhdGEuaW52aXRlc0Rpc2FibGVkVW50aWwgPSBEYXRlLnBhcnNlKHBheWxvYWQuaW52aXRlc19kaXNhYmxlZF91bnRpbCk7XG4gIGlmIChwcm9wcy5kbXNEaXNhYmxlZFVudGlsICYmIHBheWxvYWQuZG1zX2Rpc2FibGVkX3VudGlsKSBpbmNpZGVudHNEYXRhLmRtc0Rpc2FibGVkVW50aWwgPSBEYXRlLnBhcnNlKHBheWxvYWQuZG1zX2Rpc2FibGVkX3VudGlsKTtcbiAgaWYgKHByb3BzLmRtU3BhbURldGVjdGVkQXQgJiYgcGF5bG9hZC5kbV9zcGFtX2RldGVjdGVkX2F0KSBpbmNpZGVudHNEYXRhLmRtU3BhbURldGVjdGVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuZG1fc3BhbV9kZXRlY3RlZF9hdCk7XG4gIGlmIChwcm9wcy5yYWlkRGV0ZWN0ZWRBdCAmJiBwYXlsb2FkLnJhaWRfZGV0ZWN0ZWRfYXQpIGluY2lkZW50c0RhdGEucmFpZERldGVjdGVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQucmFpZF9kZXRlY3RlZF9hdCk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW5jaWRlbnRzRGF0YShib3QsIHBheWxvYWQsIGluY2lkZW50c0RhdGEpO1xufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUluY2lkZW50c0RhdGEiLCJib3QiLCJwYXlsb2FkIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImluY2lkZW50c0RhdGEiLCJpbnZpdGVzRGlzYWJsZWRVbnRpbCIsImludml0ZXNfZGlzYWJsZWRfdW50aWwiLCJEYXRlIiwicGFyc2UiLCJkbXNEaXNhYmxlZFVudGlsIiwiZG1zX2Rpc2FibGVkX3VudGlsIiwiZG1TcGFtRGV0ZWN0ZWRBdCIsImRtX3NwYW1fZGV0ZWN0ZWRfYXQiLCJyYWlkRGV0ZWN0ZWRBdCIsInJhaWRfZGV0ZWN0ZWRfYXQiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxTQUFTQSx1QkFBdUJDLEdBQVEsRUFBRUMsT0FBNkI7SUFDNUUsTUFBTUMsUUFBUUYsSUFBSUcsWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ0MsYUFBYTtJQUM5RCxNQUFNQSxnQkFBZ0IsQ0FBQztJQUV2QixJQUFJSCxNQUFNSSxvQkFBb0IsSUFBSUwsUUFBUU0sc0JBQXNCLEVBQUVGLGNBQWNDLG9CQUFvQixHQUFHRSxLQUFLQyxLQUFLLENBQUNSLFFBQVFNLHNCQUFzQjtJQUNoSixJQUFJTCxNQUFNUSxnQkFBZ0IsSUFBSVQsUUFBUVUsa0JBQWtCLEVBQUVOLGNBQWNLLGdCQUFnQixHQUFHRixLQUFLQyxLQUFLLENBQUNSLFFBQVFVLGtCQUFrQjtJQUNoSSxJQUFJVCxNQUFNVSxnQkFBZ0IsSUFBSVgsUUFBUVksbUJBQW1CLEVBQUVSLGNBQWNPLGdCQUFnQixHQUFHSixLQUFLQyxLQUFLLENBQUNSLFFBQVFZLG1CQUFtQjtJQUNsSSxJQUFJWCxNQUFNWSxjQUFjLElBQUliLFFBQVFjLGdCQUFnQixFQUFFVixjQUFjUyxjQUFjLEdBQUdOLEtBQUtDLEtBQUssQ0FBQ1IsUUFBUWMsZ0JBQWdCO0lBRXhILE9BQU9mLElBQUlHLFlBQVksQ0FBQ2EsV0FBVyxDQUFDWCxhQUFhLENBQUNMLEtBQUtDLFNBQVNJO0FBQ2xFIn0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW5jaWRlbnRzRGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRJbmNpZGVudHNEYXRhIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgeyBjYWxsQ3VzdG9taXplciB9IGZyb20gJy4uL3RyYW5zZm9ybWVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IEluY2lkZW50c0RhdGEgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUluY2lkZW50c0RhdGEoYm90OiBCb3QsIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZEluY2lkZW50c0RhdGE+LCBleHRyYT86IHsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW5jaWRlbnRzRGF0YTtcbiAgY29uc3QgaW5jaWRlbnRzRGF0YSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEluY2lkZW50c0RhdGEsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMuaW52aXRlc0Rpc2FibGVkVW50aWwgJiYgcGF5bG9hZC5pbnZpdGVzX2Rpc2FibGVkX3VudGlsKSBpbmNpZGVudHNEYXRhLmludml0ZXNEaXNhYmxlZFVudGlsID0gRGF0ZS5wYXJzZShwYXlsb2FkLmludml0ZXNfZGlzYWJsZWRfdW50aWwpO1xuICBpZiAocHJvcHMuZG1zRGlzYWJsZWRVbnRpbCAmJiBwYXlsb2FkLmRtc19kaXNhYmxlZF91bnRpbCkgaW5jaWRlbnRzRGF0YS5kbXNEaXNhYmxlZFVudGlsID0gRGF0ZS5wYXJzZShwYXlsb2FkLmRtc19kaXNhYmxlZF91bnRpbCk7XG4gIGlmIChwcm9wcy5kbVNwYW1EZXRlY3RlZEF0ICYmIHBheWxvYWQuZG1fc3BhbV9kZXRlY3RlZF9hdCkgaW5jaWRlbnRzRGF0YS5kbVNwYW1EZXRlY3RlZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLmRtX3NwYW1fZGV0ZWN0ZWRfYXQpO1xuICBpZiAocHJvcHMucmFpZERldGVjdGVkQXQgJiYgcGF5bG9hZC5yYWlkX2RldGVjdGVkX2F0KSBpbmNpZGVudHNEYXRhLnJhaWREZXRlY3RlZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLnJhaWRfZGV0ZWN0ZWRfYXQpO1xuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignaW5jaWRlbnRzRGF0YScsIGJvdCwgcGF5bG9hZCwgaW5jaWRlbnRzRGF0YSwge1xuICAgIHBhcnRpYWw6IGV4dHJhPy5wYXJ0aWFsID8/IGZhbHNlLFxuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJjYWxsQ3VzdG9taXplciIsInRyYW5zZm9ybUluY2lkZW50c0RhdGEiLCJib3QiLCJwYXlsb2FkIiwiZXh0cmEiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiaW5jaWRlbnRzRGF0YSIsImludml0ZXNEaXNhYmxlZFVudGlsIiwiaW52aXRlc19kaXNhYmxlZF91bnRpbCIsIkRhdGUiLCJwYXJzZSIsImRtc0Rpc2FibGVkVW50aWwiLCJkbXNfZGlzYWJsZWRfdW50aWwiLCJkbVNwYW1EZXRlY3RlZEF0IiwiZG1fc3BhbV9kZXRlY3RlZF9hdCIsInJhaWREZXRlY3RlZEF0IiwicmFpZF9kZXRlY3RlZF9hdCIsInBhcnRpYWwiXSwibWFwcGluZ3MiOiJBQUdBLFNBQVNBLGNBQWMsUUFBUSxxQkFBcUI7QUFHcEQsT0FBTyxTQUFTQyx1QkFBdUJDLEdBQVEsRUFBRUMsT0FBc0MsRUFBRUMsS0FBNkI7SUFDcEgsTUFBTUMsUUFBUUgsSUFBSUksWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ0MsYUFBYTtJQUM5RCxNQUFNQSxnQkFBZ0IsQ0FBQztJQUV2QixJQUFJSCxNQUFNSSxvQkFBb0IsSUFBSU4sUUFBUU8sc0JBQXNCLEVBQUVGLGNBQWNDLG9CQUFvQixHQUFHRSxLQUFLQyxLQUFLLENBQUNULFFBQVFPLHNCQUFzQjtJQUNoSixJQUFJTCxNQUFNUSxnQkFBZ0IsSUFBSVYsUUFBUVcsa0JBQWtCLEVBQUVOLGNBQWNLLGdCQUFnQixHQUFHRixLQUFLQyxLQUFLLENBQUNULFFBQVFXLGtCQUFrQjtJQUNoSSxJQUFJVCxNQUFNVSxnQkFBZ0IsSUFBSVosUUFBUWEsbUJBQW1CLEVBQUVSLGNBQWNPLGdCQUFnQixHQUFHSixLQUFLQyxLQUFLLENBQUNULFFBQVFhLG1CQUFtQjtJQUNsSSxJQUFJWCxNQUFNWSxjQUFjLElBQUlkLFFBQVFlLGdCQUFnQixFQUFFVixjQUFjUyxjQUFjLEdBQUdOLEtBQUtDLEtBQUssQ0FBQ1QsUUFBUWUsZ0JBQWdCO0lBRXhILE9BQU9sQixlQUFlLGlCQUFpQkUsS0FBS0MsU0FBU0ssZUFBZTtRQUNsRVcsU0FBU2YsT0FBT2UsV0FBVztJQUM3QjtBQUNGIn0=
@@ -1,5 +1,12 @@
1
- import type { DiscordIntegrationCreateUpdate } from '@discordeno/types';
1
+ import type { DiscordIntegrationAccount, DiscordIntegrationApplication, DiscordIntegrationCreateUpdate } from '@discordeno/types';
2
2
  import type { Bot } from '../bot.js';
3
- import type { Integration } from './types.js';
4
- export declare function transformIntegration(bot: Bot, payload: DiscordIntegrationCreateUpdate): Integration;
3
+ export declare function transformIntegration(bot: Bot, payload: Partial<DiscordIntegrationCreateUpdate>, extra?: {
4
+ partial?: boolean;
5
+ }): any;
6
+ export declare function transformIntegrationAccount(bot: Bot, payload: Partial<DiscordIntegrationAccount>, extra?: {
7
+ partial?: boolean;
8
+ }): any;
9
+ export declare function transformIntegrationApplication(bot: Bot, payload: Partial<DiscordIntegrationApplication>, extra?: {
10
+ partial?: boolean;
11
+ }): any;
5
12
  //# 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,CAAC;AAExE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,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,yBAAyB,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAElI,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAKrC,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,8BAA8B,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAwB7H;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAS/H;AAED,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAYvI"}
@@ -1,34 +1,46 @@
1
1
  import { iconHashToBigInt } from '@discordeno/utils';
2
- export function transformIntegration(bot, payload) {
3
- const integration = {
4
- guildId: bot.transformers.snowflake(payload.guild_id),
5
- id: bot.transformers.snowflake(payload.id),
6
- name: payload.name,
7
- type: payload.type,
8
- enabled: payload.enabled,
9
- syncing: payload.syncing,
10
- roleId: payload.role_id ? bot.transformers.snowflake(payload.role_id) : undefined,
11
- enableEmoticons: payload.enable_emoticons,
12
- expireBehavior: payload.expire_behavior,
13
- expireGracePeriod: payload.expire_grace_period,
14
- user: payload.user ? bot.transformers.user(bot, payload.user) : undefined,
15
- account: {
16
- id: bot.transformers.snowflake(payload.account.id),
17
- name: payload.account.name
18
- },
19
- syncedAt: payload.synced_at ? Date.parse(payload.synced_at) : undefined,
20
- subscriberCount: payload.subscriber_count,
21
- revoked: payload.revoked,
22
- application: payload.application ? {
23
- id: bot.transformers.snowflake(payload.application.id),
24
- name: payload.application.name,
25
- icon: payload.application.icon ? iconHashToBigInt(payload.application.icon) : undefined,
26
- description: payload.application.description,
27
- bot: payload.application.bot ? bot.transformers.user(bot, payload.application.bot) : undefined
28
- } : undefined,
29
- scopes: payload.scopes
30
- };
31
- return bot.transformers.customizers.integration(bot, payload, integration);
2
+ import { callCustomizer } from '../transformers.js';
3
+ export function transformIntegration(bot, payload, extra) {
4
+ const integration = {};
5
+ if (payload.guild_id) integration.guildId = bot.transformers.snowflake(payload.guild_id);
6
+ if (payload.id) integration.id = bot.transformers.snowflake(payload.id);
7
+ if (payload.name) integration.name = payload.name;
8
+ if (payload.type) integration.type = payload.type;
9
+ if (payload.enabled) integration.enabled = payload.enabled;
10
+ if (payload.syncing) integration.syncing = payload.syncing;
11
+ if (payload.role_id) integration.roleId = bot.transformers.snowflake(payload.role_id);
12
+ if (payload.enable_emoticons) integration.enableEmoticons = payload.enable_emoticons;
13
+ if (payload.expire_behavior !== undefined) integration.expireBehavior = payload.expire_behavior;
14
+ if (payload.expire_grace_period) integration.expireGracePeriod = payload.expire_grace_period;
15
+ if (payload.user) integration.user = bot.transformers.user(bot, payload.user);
16
+ if (payload.account) integration.account = bot.transformers.integrationAccount(bot, payload.account);
17
+ if (payload.synced_at) integration.syncedAt = Date.parse(payload.synced_at);
18
+ if (payload.subscriber_count) integration.subscriberCount = payload.subscriber_count;
19
+ if (payload.revoked) integration.revoked = payload.revoked;
20
+ if (payload.application) integration.application = bot.transformers.integrationApplication(bot, payload.application);
21
+ if (payload.scopes) integration.scopes = payload.scopes;
22
+ return callCustomizer('integration', bot, payload, integration, {
23
+ partial: extra?.partial ?? false
24
+ });
25
+ }
26
+ export function transformIntegrationAccount(bot, payload, extra) {
27
+ const integrationAccount = {};
28
+ if (payload.id !== undefined) integrationAccount.id = bot.transformers.snowflake(payload.id);
29
+ if (payload.name !== undefined) integrationAccount.name = payload.name;
30
+ return callCustomizer('integrationAccount', bot, payload, integrationAccount, {
31
+ partial: extra?.partial ?? false
32
+ });
33
+ }
34
+ export function transformIntegrationApplication(bot, payload, extra) {
35
+ const integrationApplication = {};
36
+ if (payload.id !== undefined) integrationApplication.id = bot.transformers.snowflake(payload.id);
37
+ if (payload.name !== undefined) integrationApplication.name = payload.name;
38
+ if (payload.description !== undefined) integrationApplication.description = payload.description;
39
+ if (payload.icon !== undefined) integrationApplication.icon = payload.icon ? iconHashToBigInt(payload.icon) : undefined;
40
+ if (payload.bot !== undefined) integrationApplication.bot = bot.transformers.user(bot, payload.bot);
41
+ return callCustomizer('integrationApplication', bot, payload, integrationApplication, {
42
+ partial: extra?.partial ?? false
43
+ });
32
44
  }
33
45
 
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZWdyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkSW50ZWdyYXRpb25DcmVhdGVVcGRhdGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgeyBpY29uSGFzaFRvQmlnSW50IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBJbnRlZ3JhdGlvbiB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZWdyYXRpb24oYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRJbnRlZ3JhdGlvbkNyZWF0ZVVwZGF0ZSk6IEludGVncmF0aW9uIHtcbiAgY29uc3QgaW50ZWdyYXRpb24gPSB7XG4gICAgZ3VpbGRJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZF9pZCksXG4gICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpLFxuICAgIG5hbWU6IHBheWxvYWQubmFtZSxcbiAgICB0eXBlOiBwYXlsb2FkLnR5cGUsXG4gICAgZW5hYmxlZDogcGF5bG9hZC5lbmFibGVkLFxuICAgIHN5bmNpbmc6IHBheWxvYWQuc3luY2luZyxcbiAgICByb2xlSWQ6IHBheWxvYWQucm9sZV9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucm9sZV9pZCkgOiB1bmRlZmluZWQsXG4gICAgZW5hYmxlRW1vdGljb25zOiBwYXlsb2FkLmVuYWJsZV9lbW90aWNvbnMsXG4gICAgZXhwaXJlQmVoYXZpb3I6IHBheWxvYWQuZXhwaXJlX2JlaGF2aW9yLFxuICAgIGV4cGlyZUdyYWNlUGVyaW9kOiBwYXlsb2FkLmV4cGlyZV9ncmFjZV9wZXJpb2QsXG4gICAgdXNlcjogcGF5bG9hZC51c2VyID8gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKSA6IHVuZGVmaW5lZCxcbiAgICBhY2NvdW50OiB7XG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hY2NvdW50LmlkKSxcbiAgICAgIG5hbWU6IHBheWxvYWQuYWNjb3VudC5uYW1lLFxuICAgIH0sXG4gICAgc3luY2VkQXQ6IHBheWxvYWQuc3luY2VkX2F0ID8gRGF0ZS5wYXJzZShwYXlsb2FkLnN5bmNlZF9hdCkgOiB1bmRlZmluZWQsXG4gICAgc3Vic2NyaWJlckNvdW50OiBwYXlsb2FkLnN1YnNjcmliZXJfY291bnQsXG4gICAgcmV2b2tlZDogcGF5bG9hZC5yZXZva2VkLFxuICAgIGFwcGxpY2F0aW9uOiBwYXlsb2FkLmFwcGxpY2F0aW9uXG4gICAgICA/IHtcbiAgICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbi5pZCksXG4gICAgICAgICAgbmFtZTogcGF5bG9hZC5hcHBsaWNhdGlvbi5uYW1lLFxuICAgICAgICAgIGljb246IHBheWxvYWQuYXBwbGljYXRpb24uaWNvbiA/IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5hcHBsaWNhdGlvbi5pY29uKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5hcHBsaWNhdGlvbi5kZXNjcmlwdGlvbixcbiAgICAgICAgICBib3Q6IHBheWxvYWQuYXBwbGljYXRpb24uYm90ID8gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5hcHBsaWNhdGlvbi5ib3QpIDogdW5kZWZpbmVkLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBzY29wZXM6IHBheWxvYWQuc2NvcGVzLFxuICB9IGFzIEludGVncmF0aW9uO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVncmF0aW9uKGJvdCwgcGF5bG9hZCwgaW50ZWdyYXRpb24pO1xufVxuIl0sIm5hbWVzIjpbImljb25IYXNoVG9CaWdJbnQiLCJ0cmFuc2Zvcm1JbnRlZ3JhdGlvbiIsImJvdCIsInBheWxvYWQiLCJpbnRlZ3JhdGlvbiIsImd1aWxkSWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJndWlsZF9pZCIsImlkIiwibmFtZSIsInR5cGUiLCJlbmFibGVkIiwic3luY2luZyIsInJvbGVJZCIsInJvbGVfaWQiLCJ1bmRlZmluZWQiLCJlbmFibGVFbW90aWNvbnMiLCJlbmFibGVfZW1vdGljb25zIiwiZXhwaXJlQmVoYXZpb3IiLCJleHBpcmVfYmVoYXZpb3IiLCJleHBpcmVHcmFjZVBlcmlvZCIsImV4cGlyZV9ncmFjZV9wZXJpb2QiLCJ1c2VyIiwiYWNjb3VudCIsInN5bmNlZEF0Iiwic3luY2VkX2F0IiwiRGF0ZSIsInBhcnNlIiwic3Vic2NyaWJlckNvdW50Iiwic3Vic2NyaWJlcl9jb3VudCIsInJldm9rZWQiLCJhcHBsaWNhdGlvbiIsImljb24iLCJkZXNjcmlwdGlvbiIsInNjb3BlcyIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxnQkFBZ0IsUUFBUSxvQkFBb0I7QUFJckQsT0FBTyxTQUFTQyxxQkFBcUJDLEdBQVEsRUFBRUMsT0FBdUM7SUFDcEYsTUFBTUMsY0FBYztRQUNsQkMsU0FBU0gsSUFBSUksWUFBWSxDQUFDQyxTQUFTLENBQUNKLFFBQVFLLFFBQVE7UUFDcERDLElBQUlQLElBQUlJLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSixRQUFRTSxFQUFFO1FBQ3pDQyxNQUFNUCxRQUFRTyxJQUFJO1FBQ2xCQyxNQUFNUixRQUFRUSxJQUFJO1FBQ2xCQyxTQUFTVCxRQUFRUyxPQUFPO1FBQ3hCQyxTQUFTVixRQUFRVSxPQUFPO1FBQ3hCQyxRQUFRWCxRQUFRWSxPQUFPLEdBQUdiLElBQUlJLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSixRQUFRWSxPQUFPLElBQUlDO1FBQ3hFQyxpQkFBaUJkLFFBQVFlLGdCQUFnQjtRQUN6Q0MsZ0JBQWdCaEIsUUFBUWlCLGVBQWU7UUFDdkNDLG1CQUFtQmxCLFFBQVFtQixtQkFBbUI7UUFDOUNDLE1BQU1wQixRQUFRb0IsSUFBSSxHQUFHckIsSUFBSUksWUFBWSxDQUFDaUIsSUFBSSxDQUFDckIsS0FBS0MsUUFBUW9CLElBQUksSUFBSVA7UUFDaEVRLFNBQVM7WUFDUGYsSUFBSVAsSUFBSUksWUFBWSxDQUFDQyxTQUFTLENBQUNKLFFBQVFxQixPQUFPLENBQUNmLEVBQUU7WUFDakRDLE1BQU1QLFFBQVFxQixPQUFPLENBQUNkLElBQUk7UUFDNUI7UUFDQWUsVUFBVXRCLFFBQVF1QixTQUFTLEdBQUdDLEtBQUtDLEtBQUssQ0FBQ3pCLFFBQVF1QixTQUFTLElBQUlWO1FBQzlEYSxpQkFBaUIxQixRQUFRMkIsZ0JBQWdCO1FBQ3pDQyxTQUFTNUIsUUFBUTRCLE9BQU87UUFDeEJDLGFBQWE3QixRQUFRNkIsV0FBVyxHQUM1QjtZQUNFdkIsSUFBSVAsSUFBSUksWUFBWSxDQUFDQyxTQUFTLENBQUNKLFFBQVE2QixXQUFXLENBQUN2QixFQUFFO1lBQ3JEQyxNQUFNUCxRQUFRNkIsV0FBVyxDQUFDdEIsSUFBSTtZQUM5QnVCLE1BQU05QixRQUFRNkIsV0FBVyxDQUFDQyxJQUFJLEdBQUdqQyxpQkFBaUJHLFFBQVE2QixXQUFXLENBQUNDLElBQUksSUFBSWpCO1lBQzlFa0IsYUFBYS9CLFFBQVE2QixXQUFXLENBQUNFLFdBQVc7WUFDNUNoQyxLQUFLQyxRQUFRNkIsV0FBVyxDQUFDOUIsR0FBRyxHQUFHQSxJQUFJSSxZQUFZLENBQUNpQixJQUFJLENBQUNyQixLQUFLQyxRQUFRNkIsV0FBVyxDQUFDOUIsR0FBRyxJQUFJYztRQUN2RixJQUNBQTtRQUNKbUIsUUFBUWhDLFFBQVFnQyxNQUFNO0lBQ3hCO0lBRUEsT0FBT2pDLElBQUlJLFlBQVksQ0FBQzhCLFdBQVcsQ0FBQ2hDLFdBQVcsQ0FBQ0YsS0FBS0MsU0FBU0M7QUFDaEUifQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZWdyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkSW50ZWdyYXRpb25BY2NvdW50LCBEaXNjb3JkSW50ZWdyYXRpb25BcHBsaWNhdGlvbiwgRGlzY29yZEludGVncmF0aW9uQ3JlYXRlVXBkYXRlIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHsgaWNvbkhhc2hUb0JpZ0ludCB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgY2FsbEN1c3RvbWl6ZXIgfSBmcm9tICcuLi90cmFuc2Zvcm1lcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBJbnRlZ3JhdGlvbiwgSW50ZWdyYXRpb25BY2NvdW50LCBJbnRlZ3JhdGlvbkFwcGxpY2F0aW9uIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlZ3JhdGlvbihib3Q6IEJvdCwgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkSW50ZWdyYXRpb25DcmVhdGVVcGRhdGU+LCBleHRyYT86IHsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBpbnRlZ3JhdGlvbiA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEludGVncmF0aW9uLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHBheWxvYWQuZ3VpbGRfaWQpIGludGVncmF0aW9uLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKTtcbiAgaWYgKHBheWxvYWQuaWQpIGludGVncmF0aW9uLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCk7XG4gIGlmIChwYXlsb2FkLm5hbWUpIGludGVncmF0aW9uLm5hbWUgPSBwYXlsb2FkLm5hbWU7XG4gIGlmIChwYXlsb2FkLnR5cGUpIGludGVncmF0aW9uLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwYXlsb2FkLmVuYWJsZWQpIGludGVncmF0aW9uLmVuYWJsZWQgPSBwYXlsb2FkLmVuYWJsZWQ7XG4gIGlmIChwYXlsb2FkLnN5bmNpbmcpIGludGVncmF0aW9uLnN5bmNpbmcgPSBwYXlsb2FkLnN5bmNpbmc7XG4gIGlmIChwYXlsb2FkLnJvbGVfaWQpIGludGVncmF0aW9uLnJvbGVJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucm9sZV9pZCk7XG4gIGlmIChwYXlsb2FkLmVuYWJsZV9lbW90aWNvbnMpIGludGVncmF0aW9uLmVuYWJsZUVtb3RpY29ucyA9IHBheWxvYWQuZW5hYmxlX2Vtb3RpY29ucztcbiAgaWYgKHBheWxvYWQuZXhwaXJlX2JlaGF2aW9yICE9PSB1bmRlZmluZWQpIGludGVncmF0aW9uLmV4cGlyZUJlaGF2aW9yID0gcGF5bG9hZC5leHBpcmVfYmVoYXZpb3I7XG4gIGlmIChwYXlsb2FkLmV4cGlyZV9ncmFjZV9wZXJpb2QpIGludGVncmF0aW9uLmV4cGlyZUdyYWNlUGVyaW9kID0gcGF5bG9hZC5leHBpcmVfZ3JhY2VfcGVyaW9kO1xuICBpZiAocGF5bG9hZC51c2VyKSBpbnRlZ3JhdGlvbi51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKTtcbiAgaWYgKHBheWxvYWQuYWNjb3VudCkgaW50ZWdyYXRpb24uYWNjb3VudCA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZWdyYXRpb25BY2NvdW50KGJvdCwgcGF5bG9hZC5hY2NvdW50KTtcbiAgaWYgKHBheWxvYWQuc3luY2VkX2F0KSBpbnRlZ3JhdGlvbi5zeW5jZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5zeW5jZWRfYXQpO1xuICBpZiAocGF5bG9hZC5zdWJzY3JpYmVyX2NvdW50KSBpbnRlZ3JhdGlvbi5zdWJzY3JpYmVyQ291bnQgPSBwYXlsb2FkLnN1YnNjcmliZXJfY291bnQ7XG4gIGlmIChwYXlsb2FkLnJldm9rZWQpIGludGVncmF0aW9uLnJldm9rZWQgPSBwYXlsb2FkLnJldm9rZWQ7XG4gIGlmIChwYXlsb2FkLmFwcGxpY2F0aW9uKSBpbnRlZ3JhdGlvbi5hcHBsaWNhdGlvbiA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZWdyYXRpb25BcHBsaWNhdGlvbihib3QsIHBheWxvYWQuYXBwbGljYXRpb24pO1xuICBpZiAocGF5bG9hZC5zY29wZXMpIGludGVncmF0aW9uLnNjb3BlcyA9IHBheWxvYWQuc2NvcGVzO1xuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignaW50ZWdyYXRpb24nLCBib3QsIHBheWxvYWQsIGludGVncmF0aW9uLCB7XG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZWdyYXRpb25BY2NvdW50KGJvdDogQm90LCBwYXlsb2FkOiBQYXJ0aWFsPERpc2NvcmRJbnRlZ3JhdGlvbkFjY291bnQ+LCBleHRyYT86IHsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBpbnRlZ3JhdGlvbkFjY291bnQgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxJbnRlZ3JhdGlvbkFjY291bnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocGF5bG9hZC5pZCAhPT0gdW5kZWZpbmVkKSBpbnRlZ3JhdGlvbkFjY291bnQuaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKTtcbiAgaWYgKHBheWxvYWQubmFtZSAhPT0gdW5kZWZpbmVkKSBpbnRlZ3JhdGlvbkFjY291bnQubmFtZSA9IHBheWxvYWQubmFtZTtcblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ2ludGVncmF0aW9uQWNjb3VudCcsIGJvdCwgcGF5bG9hZCwgaW50ZWdyYXRpb25BY2NvdW50LCB7XG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZWdyYXRpb25BcHBsaWNhdGlvbihib3Q6IEJvdCwgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkSW50ZWdyYXRpb25BcHBsaWNhdGlvbj4sIGV4dHJhPzogeyBwYXJ0aWFsPzogYm9vbGVhbiB9KSB7XG4gIGNvbnN0IGludGVncmF0aW9uQXBwbGljYXRpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxJbnRlZ3JhdGlvbkFwcGxpY2F0aW9uLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHBheWxvYWQuaWQgIT09IHVuZGVmaW5lZCkgaW50ZWdyYXRpb25BcHBsaWNhdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBpZiAocGF5bG9hZC5uYW1lICE9PSB1bmRlZmluZWQpIGludGVncmF0aW9uQXBwbGljYXRpb24ubmFtZSA9IHBheWxvYWQubmFtZTtcbiAgaWYgKHBheWxvYWQuZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCkgaW50ZWdyYXRpb25BcHBsaWNhdGlvbi5kZXNjcmlwdGlvbiA9IHBheWxvYWQuZGVzY3JpcHRpb247XG4gIGlmIChwYXlsb2FkLmljb24gIT09IHVuZGVmaW5lZCkgaW50ZWdyYXRpb25BcHBsaWNhdGlvbi5pY29uID0gcGF5bG9hZC5pY29uID8gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmljb24pIDogdW5kZWZpbmVkO1xuICBpZiAocGF5bG9hZC5ib3QgIT09IHVuZGVmaW5lZCkgaW50ZWdyYXRpb25BcHBsaWNhdGlvbi5ib3QgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmJvdCk7XG5cbiAgcmV0dXJuIGNhbGxDdXN0b21pemVyKCdpbnRlZ3JhdGlvbkFwcGxpY2F0aW9uJywgYm90LCBwYXlsb2FkLCBpbnRlZ3JhdGlvbkFwcGxpY2F0aW9uLCB7XG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbImljb25IYXNoVG9CaWdJbnQiLCJjYWxsQ3VzdG9taXplciIsInRyYW5zZm9ybUludGVncmF0aW9uIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwiaW50ZWdyYXRpb24iLCJndWlsZF9pZCIsImd1aWxkSWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJpZCIsIm5hbWUiLCJ0eXBlIiwiZW5hYmxlZCIsInN5bmNpbmciLCJyb2xlX2lkIiwicm9sZUlkIiwiZW5hYmxlX2Vtb3RpY29ucyIsImVuYWJsZUVtb3RpY29ucyIsImV4cGlyZV9iZWhhdmlvciIsInVuZGVmaW5lZCIsImV4cGlyZUJlaGF2aW9yIiwiZXhwaXJlX2dyYWNlX3BlcmlvZCIsImV4cGlyZUdyYWNlUGVyaW9kIiwidXNlciIsImFjY291bnQiLCJpbnRlZ3JhdGlvbkFjY291bnQiLCJzeW5jZWRfYXQiLCJzeW5jZWRBdCIsIkRhdGUiLCJwYXJzZSIsInN1YnNjcmliZXJfY291bnQiLCJzdWJzY3JpYmVyQ291bnQiLCJyZXZva2VkIiwiYXBwbGljYXRpb24iLCJpbnRlZ3JhdGlvbkFwcGxpY2F0aW9uIiwic2NvcGVzIiwicGFydGlhbCIsInRyYW5zZm9ybUludGVncmF0aW9uQWNjb3VudCIsInRyYW5zZm9ybUludGVncmF0aW9uQXBwbGljYXRpb24iLCJkZXNjcmlwdGlvbiIsImljb24iXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLGdCQUFnQixRQUFRLG9CQUFvQjtBQUdy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
@@ -1,21 +1,29 @@
1
1
  import { type BigString, type DiscordInteraction, type DiscordInteractionCallback, type DiscordInteractionCallbackResponse, type DiscordInteractionDataOption, type DiscordInteractionDataResolved, type DiscordInteractionResource } from '@discordeno/types';
2
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
+ import type { CompleteDesiredProperties, DesiredPropertiesBehavior, SetupDesiredProps } from '../desiredProperties.js';
4
+ import type { Interaction } from './types.js';
5
5
  export declare const baseInteraction: SetupDesiredProps<Interaction, CompleteDesiredProperties<{}, true>, DesiredPropertiesBehavior.RemoveKey>;
6
- export declare function transformInteraction(bot: Bot, payload: DiscordInteraction, extra?: {
6
+ export declare function transformInteraction(bot: Bot, payload: Partial<DiscordInteraction>, extra?: {
7
7
  shardId?: number;
8
- }): Interaction;
9
- export declare function transformInteractionDataOption(bot: Bot, option: DiscordInteractionDataOption): InteractionDataOption;
10
- export declare function transformInteractionDataResolved(bot: Bot, payload: DiscordInteractionDataResolved, extra?: {
8
+ partial?: boolean;
9
+ }): any;
10
+ export declare function transformInteractionDataOption(bot: Bot, option: Partial<DiscordInteractionDataOption>, extra?: {
11
+ partial?: boolean;
12
+ }): any;
13
+ export declare function transformInteractionDataResolved(bot: Bot, payload: Partial<DiscordInteractionDataResolved>, extra?: {
11
14
  shardId?: number;
12
15
  guildId?: BigString;
13
- }): TransformProperty<InteractionDataResolved, TransformersDesiredProperties, DesiredPropertiesBehavior.RemoveKey>;
14
- export declare function transformInteractionCallbackResponse(bot: Bot, payload: DiscordInteractionCallbackResponse, extra?: {
16
+ partial?: boolean;
17
+ }): any;
18
+ export declare function transformInteractionCallbackResponse(bot: Bot, payload: Partial<DiscordInteractionCallbackResponse>, extra?: {
15
19
  shardId?: number;
16
- }): InteractionCallbackResponse;
17
- export declare function transformInteractionCallback(bot: Bot, payload: DiscordInteractionCallback): InteractionCallback;
18
- export declare function transformInteractionResource(bot: Bot, payload: DiscordInteractionResource, extra?: {
20
+ partial?: boolean;
21
+ }): any;
22
+ export declare function transformInteractionCallback(bot: Bot, payload: Partial<DiscordInteractionCallback>, extra?: {
23
+ partial?: boolean;
24
+ }): any;
25
+ export declare function transformInteractionResource(bot: Bot, payload: Partial<DiscordInteractionResource>, extra?: {
19
26
  shardId?: number;
20
- }): InteractionResource;
27
+ partial?: boolean;
28
+ }): any;
21
29
  //# sourceMappingURL=interaction.d.ts.map
@@ -1 +1 @@
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,CAAC;AAE3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,6BAA6B,EAC7B,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAIpB,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,WAAW,EAAE,yBAAyB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,yBAAyB,CAAC,SAAS,CA8GpI,CAAC;AAEF,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,CAS7B;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,CAAC;AAE3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,iBAAiB,EAAiC,MAAM,yBAAyB,CAAC;AAEtJ,OAAO,KAAK,EACV,WAAW,EAMZ,MAAM,YAAY,CAAC;AAIpB,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,WAAW,EAAE,yBAAyB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,yBAAyB,CAAC,SAAS,CA8GpI,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAkEnI;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,4BAA4B,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAYpI;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,CAAC,8BAA8B,CAAC,EAChD,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OA+ErE;AAED,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,CAAC,kCAAkC,CAAC,EACpD,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAahD;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,0BAA0B,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAcjI;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,CAAC,0BAA0B,CAAC,EAC5C,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAahD"}