@discordeno/bot 19.0.0-next.fe00a6f → 19.0.0-next.ffdef6c
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.
- package/README.md +30 -0
- package/dist/cjs/bot.cjs +82 -0
- package/dist/cjs/commandOptionsParser.cjs +53 -0
- package/dist/cjs/constants.cjs +30 -0
- package/dist/cjs/desiredProperties.cjs +541 -0
- package/dist/cjs/events.cjs +6 -0
- package/dist/cjs/handlers/channels/CHANNEL_CREATE.cjs +21 -0
- package/dist/cjs/handlers/channels/CHANNEL_DELETE.cjs +21 -0
- package/dist/cjs/handlers/channels/CHANNEL_PINS_UPDATE.cjs +21 -0
- package/dist/cjs/handlers/channels/CHANNEL_UPDATE.cjs +20 -0
- package/dist/cjs/handlers/channels/STAGE_INSTANCE_CREATE.cjs +22 -0
- package/dist/cjs/handlers/channels/STAGE_INSTANCE_DELETE.cjs +22 -0
- package/dist/cjs/handlers/channels/STAGE_INSTANCE_UPDATE.cjs +22 -0
- package/dist/cjs/handlers/channels/THREAD_CREATE.cjs +19 -0
- package/dist/cjs/handlers/channels/THREAD_DELETE.cjs +19 -0
- package/dist/cjs/handlers/channels/THREAD_LIST_SYNC.cjs +31 -0
- package/dist/cjs/handlers/channels/THREAD_MEMBERS_UPDATE.cjs +22 -0
- package/dist/cjs/handlers/channels/THREAD_MEMBER_UPDATE.cjs +22 -0
- package/dist/cjs/handlers/channels/THREAD_UPDATE.cjs +19 -0
- package/dist/cjs/handlers/channels/index.cjs +32 -0
- package/dist/cjs/handlers/emojis/GUILD_EMOJIS_UPDATE.cjs +24 -0
- package/dist/cjs/handlers/emojis/index.cjs +20 -0
- package/dist/cjs/handlers/entitlements/ENTITLEMENT_CREATE.cjs +17 -0
- package/dist/cjs/handlers/entitlements/ENTITLEMENT_DELETE.cjs +17 -0
- package/dist/cjs/handlers/entitlements/ENTITLEMENT_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/entitlements/index.cjs +22 -0
- package/dist/cjs/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.cjs +18 -0
- package/dist/cjs/handlers/guilds/GUILD_BAN_ADD.cjs +17 -0
- package/dist/cjs/handlers/guilds/GUILD_BAN_REMOVE.cjs +17 -0
- package/dist/cjs/handlers/guilds/GUILD_CREATE.cjs +20 -0
- package/dist/cjs/handlers/guilds/GUILD_DELETE.cjs +22 -0
- package/dist/cjs/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.cjs +19 -0
- package/dist/cjs/handlers/guilds/GUILD_STICKERS_UPDATE.cjs +23 -0
- package/dist/cjs/handlers/guilds/GUILD_UPDATE.cjs +20 -0
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.cjs +17 -0
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.cjs +17 -0
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.cjs +17 -0
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/guilds/automod/index.cjs +23 -0
- package/dist/cjs/handlers/guilds/index.cjs +29 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.cjs +17 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.cjs +17 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.cjs +21 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.cjs +21 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/index.cjs +24 -0
- package/dist/cjs/handlers/index.cjs +35 -0
- package/dist/cjs/handlers/integrations/INTEGRATION_CREATE.cjs +16 -0
- package/dist/cjs/handlers/integrations/INTEGRATION_DELETE.cjs +21 -0
- package/dist/cjs/handlers/integrations/INTEGRATION_UPDATE.cjs +16 -0
- package/dist/cjs/handlers/integrations/index.cjs +22 -0
- package/dist/cjs/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/interactions/INTERACTION_CREATE.cjs +19 -0
- package/dist/cjs/handlers/interactions/index.cjs +21 -0
- package/dist/cjs/handlers/invites/INVITE_CREATE.cjs +19 -0
- package/dist/cjs/handlers/invites/INVITE_DELETE.cjs +21 -0
- package/dist/cjs/handlers/invites/index.cjs +21 -0
- package/dist/cjs/handlers/members/GUILD_MEMBERS_CHUNK.cjs +30 -0
- package/dist/cjs/handlers/members/GUILD_MEMBER_ADD.cjs +20 -0
- package/dist/cjs/handlers/members/GUILD_MEMBER_REMOVE.cjs +19 -0
- package/dist/cjs/handlers/members/GUILD_MEMBER_UPDATE.cjs +19 -0
- package/dist/cjs/handlers/members/index.cjs +23 -0
- package/dist/cjs/handlers/messages/MESSAGE_CREATE.cjs +20 -0
- package/dist/cjs/handlers/messages/MESSAGE_DELETE.cjs +21 -0
- package/dist/cjs/handlers/messages/MESSAGE_DELETE_BULK.cjs +23 -0
- package/dist/cjs/handlers/messages/MESSAGE_REACTION_ADD.cjs +30 -0
- package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE.cjs +24 -0
- package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.cjs +21 -0
- package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.cjs +22 -0
- package/dist/cjs/handlers/messages/MESSAGE_UPDATE.cjs +21 -0
- package/dist/cjs/handlers/messages/index.cjs +27 -0
- package/dist/cjs/handlers/misc/PRESENCE_UPDATE.cjs +16 -0
- package/dist/cjs/handlers/misc/READY.cjs +28 -0
- package/dist/cjs/handlers/misc/TYPING_START.cjs +25 -0
- package/dist/cjs/handlers/misc/USER_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/misc/index.cjs +23 -0
- package/dist/cjs/handlers/poll/MESSAGE_POLL_VOTE_ADD.cjs +23 -0
- package/dist/cjs/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.cjs +23 -0
- package/dist/cjs/handlers/poll/index.cjs +21 -0
- package/dist/cjs/handlers/roles/GUILD_ROLE_CREATE.cjs +20 -0
- package/dist/cjs/handlers/roles/GUILD_ROLE_DELETE.cjs +20 -0
- package/dist/cjs/handlers/roles/GUILD_ROLE_UPDATE.cjs +20 -0
- package/dist/cjs/handlers/roles/index.cjs +22 -0
- package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.cjs +20 -0
- package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.cjs +17 -0
- package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.cjs +20 -0
- package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/soundboard/SOUNDBOARD_SOUNDS.cjs +20 -0
- package/dist/cjs/handlers/soundboard/index.cjs +24 -0
- package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_CREATE.cjs +17 -0
- package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_DELETE.cjs +17 -0
- package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/subscriptions/index.cjs +22 -0
- package/dist/cjs/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.cjs +26 -0
- package/dist/cjs/handlers/voice/VOICE_SERVER_UPDATE.cjs +21 -0
- package/dist/cjs/handlers/voice/VOICE_STATE_UPDATE.cjs +22 -0
- package/dist/cjs/handlers/voice/index.cjs +22 -0
- package/dist/cjs/handlers/webhooks/WEBHOOKS_UPDATE.cjs +20 -0
- package/dist/cjs/handlers/webhooks/index.cjs +20 -0
- package/dist/cjs/handlers.cjs +132 -0
- package/dist/cjs/helpers.cjs +776 -0
- package/dist/cjs/index.cjs +34 -0
- package/dist/cjs/transformers/activity.cjs +74 -0
- package/dist/cjs/transformers/application.cjs +69 -0
- package/dist/cjs/transformers/applicationCommand.cjs +29 -0
- package/dist/cjs/transformers/applicationCommandOption.cjs +31 -0
- package/dist/cjs/transformers/applicationCommandOptionChoice.cjs +20 -0
- package/dist/cjs/transformers/applicationCommandPermission.cjs +25 -0
- package/dist/cjs/transformers/attachment.cjs +31 -0
- package/dist/cjs/transformers/auditLogEntry.cjs +37 -0
- package/dist/cjs/transformers/automodActionExecution.cjs +35 -0
- package/dist/cjs/transformers/automodRule.cjs +41 -0
- package/dist/cjs/transformers/avatarDecorationData.cjs +20 -0
- package/dist/cjs/transformers/channel.cjs +149 -0
- package/dist/cjs/transformers/component.cjs +97 -0
- package/dist/cjs/transformers/embed.cjs +54 -0
- package/dist/cjs/transformers/emoji.cjs +57 -0
- package/dist/cjs/transformers/entitlement.cjs +27 -0
- package/dist/cjs/transformers/gatewayBot.cjs +25 -0
- package/dist/cjs/transformers/guild.cjs +157 -0
- package/dist/cjs/transformers/index.cjs +66 -0
- package/dist/cjs/transformers/integration.cjs +44 -0
- package/dist/cjs/transformers/interaction.cjs +274 -0
- package/dist/cjs/transformers/invite.cjs +51 -0
- package/dist/cjs/transformers/member.cjs +69 -0
- package/dist/cjs/transformers/message.cjs +300 -0
- package/dist/cjs/transformers/onboarding.cjs +56 -0
- package/dist/cjs/transformers/poll.cjs +50 -0
- package/dist/cjs/transformers/presence.cjs +25 -0
- package/dist/cjs/transformers/reverse/activity.cjs +53 -0
- package/dist/cjs/transformers/reverse/allowedMentions.cjs +20 -0
- package/dist/cjs/transformers/reverse/application.cjs +38 -0
- package/dist/cjs/transformers/reverse/applicationCommand.cjs +28 -0
- package/dist/cjs/transformers/reverse/applicationCommandOption.cjs +30 -0
- package/dist/cjs/transformers/reverse/applicationCommandOptionChoice.cjs +19 -0
- package/dist/cjs/transformers/reverse/applicationCommandPermission.cjs +24 -0
- package/dist/cjs/transformers/reverse/attachment.cjs +29 -0
- package/dist/cjs/transformers/reverse/auditLogEntry.cjs +37 -0
- package/dist/cjs/transformers/reverse/component.cjs +94 -0
- package/dist/cjs/transformers/reverse/createApplicationCommand.cjs +36 -0
- package/dist/cjs/transformers/reverse/embed.cjs +53 -0
- package/dist/cjs/transformers/reverse/emoji.cjs +24 -0
- package/dist/cjs/transformers/reverse/gatewayBot.cjs +24 -0
- package/dist/cjs/transformers/reverse/index.cjs +37 -0
- package/dist/cjs/transformers/reverse/member.cjs +59 -0
- package/dist/cjs/transformers/reverse/presence.cjs +41 -0
- package/dist/cjs/transformers/reverse/team.cjs +28 -0
- package/dist/cjs/transformers/reverse/widgetSettings.cjs +18 -0
- package/dist/cjs/transformers/role.cjs +78 -0
- package/dist/cjs/transformers/scheduledEvent.cjs +58 -0
- package/dist/cjs/transformers/sku.cjs +23 -0
- package/dist/cjs/transformers/soundboardSound.cjs +25 -0
- package/dist/cjs/transformers/stageInstance.cjs +22 -0
- package/dist/cjs/transformers/stageInviteInstance.cjs +23 -0
- package/dist/cjs/transformers/sticker.cjs +48 -0
- package/dist/cjs/transformers/subscription.cjs +26 -0
- package/dist/cjs/transformers/team.cjs +29 -0
- package/dist/cjs/transformers/template.cjs +28 -0
- package/dist/cjs/transformers/threadMember.cjs +35 -0
- package/dist/cjs/transformers/toggles/Permissions.cjs +28 -0
- package/dist/cjs/transformers/toggles/ToggleBitfield.cjs +60 -0
- package/dist/cjs/transformers/toggles/channel.cjs +73 -0
- package/dist/cjs/transformers/toggles/emoji.cjs +63 -0
- package/dist/cjs/transformers/toggles/guild.cjs +257 -0
- package/dist/cjs/transformers/toggles/index.cjs +28 -0
- package/dist/cjs/transformers/toggles/member.cjs +126 -0
- package/dist/cjs/transformers/toggles/role.cjs +73 -0
- package/dist/cjs/transformers/toggles/user.cjs +63 -0
- package/dist/cjs/transformers/toggles/voice.cjs +78 -0
- package/dist/cjs/transformers/types.cjs +6 -0
- package/dist/cjs/transformers/user.cjs +60 -0
- package/dist/cjs/transformers/voiceRegion.cjs +22 -0
- package/dist/cjs/transformers/voiceState.cjs +24 -0
- package/dist/cjs/transformers/webhook.cjs +37 -0
- package/dist/cjs/transformers/welcomeScreen.cjs +24 -0
- package/dist/cjs/transformers/widget.cjs +35 -0
- package/dist/cjs/transformers/widgetSettings.cjs +19 -0
- package/dist/cjs/transformers.cjs +165 -0
- package/dist/cjs/utils.cjs +32 -0
- package/dist/esm/bot.js +77 -0
- package/dist/esm/commandOptionsParser.js +43 -0
- package/dist/esm/constants.js +6 -0
- package/dist/esm/desiredProperties.js +523 -0
- package/dist/esm/events.js +3 -0
- package/dist/esm/handlers/channels/CHANNEL_CREATE.js +11 -0
- package/dist/esm/handlers/channels/CHANNEL_DELETE.js +11 -0
- package/dist/esm/handlers/channels/CHANNEL_PINS_UPDATE.js +11 -0
- package/dist/esm/handlers/channels/CHANNEL_UPDATE.js +10 -0
- package/dist/esm/handlers/channels/STAGE_INSTANCE_CREATE.js +12 -0
- package/dist/esm/handlers/channels/STAGE_INSTANCE_DELETE.js +12 -0
- package/dist/esm/handlers/channels/STAGE_INSTANCE_UPDATE.js +12 -0
- package/dist/esm/handlers/channels/THREAD_CREATE.js +9 -0
- package/dist/esm/handlers/channels/THREAD_DELETE.js +9 -0
- package/dist/esm/handlers/channels/THREAD_LIST_SYNC.js +21 -0
- package/dist/esm/handlers/channels/THREAD_MEMBERS_UPDATE.js +12 -0
- package/dist/esm/handlers/channels/THREAD_MEMBER_UPDATE.js +12 -0
- package/dist/esm/handlers/channels/THREAD_UPDATE.js +9 -0
- package/dist/esm/handlers/channels/index.js +15 -0
- package/dist/esm/handlers/emojis/GUILD_EMOJIS_UPDATE.js +14 -0
- package/dist/esm/handlers/emojis/index.js +3 -0
- package/dist/esm/handlers/entitlements/ENTITLEMENT_CREATE.js +7 -0
- package/dist/esm/handlers/entitlements/ENTITLEMENT_DELETE.js +7 -0
- package/dist/esm/handlers/entitlements/ENTITLEMENT_UPDATE.js +7 -0
- package/dist/esm/handlers/entitlements/index.js +5 -0
- package/dist/esm/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +8 -0
- package/dist/esm/handlers/guilds/GUILD_BAN_ADD.js +7 -0
- package/dist/esm/handlers/guilds/GUILD_BAN_REMOVE.js +7 -0
- package/dist/esm/handlers/guilds/GUILD_CREATE.js +10 -0
- package/dist/esm/handlers/guilds/GUILD_DELETE.js +12 -0
- package/dist/esm/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js +9 -0
- package/dist/esm/handlers/guilds/GUILD_STICKERS_UPDATE.js +13 -0
- package/dist/esm/handlers/guilds/GUILD_UPDATE.js +10 -0
- package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +7 -0
- package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +7 -0
- package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +7 -0
- package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +7 -0
- package/dist/esm/handlers/guilds/automod/index.js +6 -0
- package/dist/esm/handlers/guilds/index.js +12 -0
- package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +7 -0
- package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js +7 -0
- package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js +7 -0
- package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js +11 -0
- package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +11 -0
- package/dist/esm/handlers/guilds/scheduledEvents/index.js +7 -0
- package/dist/esm/handlers/index.js +18 -0
- package/dist/esm/handlers/integrations/INTEGRATION_CREATE.js +6 -0
- package/dist/esm/handlers/integrations/INTEGRATION_DELETE.js +11 -0
- package/dist/esm/handlers/integrations/INTEGRATION_UPDATE.js +6 -0
- package/dist/esm/handlers/integrations/index.js +5 -0
- package/dist/esm/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +7 -0
- package/dist/esm/handlers/interactions/INTERACTION_CREATE.js +9 -0
- package/dist/esm/handlers/interactions/index.js +4 -0
- package/dist/esm/handlers/invites/INVITE_CREATE.js +9 -0
- package/dist/esm/handlers/invites/INVITE_DELETE.js +11 -0
- package/dist/esm/handlers/invites/index.js +4 -0
- package/dist/esm/handlers/members/GUILD_MEMBERS_CHUNK.js +20 -0
- package/dist/esm/handlers/members/GUILD_MEMBER_ADD.js +10 -0
- package/dist/esm/handlers/members/GUILD_MEMBER_REMOVE.js +9 -0
- package/dist/esm/handlers/members/GUILD_MEMBER_UPDATE.js +9 -0
- package/dist/esm/handlers/members/index.js +6 -0
- package/dist/esm/handlers/messages/MESSAGE_CREATE.js +10 -0
- package/dist/esm/handlers/messages/MESSAGE_DELETE.js +11 -0
- package/dist/esm/handlers/messages/MESSAGE_DELETE_BULK.js +13 -0
- package/dist/esm/handlers/messages/MESSAGE_REACTION_ADD.js +20 -0
- package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE.js +14 -0
- package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +11 -0
- package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +12 -0
- package/dist/esm/handlers/messages/MESSAGE_UPDATE.js +11 -0
- package/dist/esm/handlers/messages/index.js +10 -0
- package/dist/esm/handlers/misc/PRESENCE_UPDATE.js +6 -0
- package/dist/esm/handlers/misc/READY.js +18 -0
- package/dist/esm/handlers/misc/TYPING_START.js +15 -0
- package/dist/esm/handlers/misc/USER_UPDATE.js +7 -0
- package/dist/esm/handlers/misc/index.js +6 -0
- package/dist/esm/handlers/poll/MESSAGE_POLL_VOTE_ADD.js +13 -0
- package/dist/esm/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.js +13 -0
- package/dist/esm/handlers/poll/index.js +4 -0
- package/dist/esm/handlers/roles/GUILD_ROLE_CREATE.js +10 -0
- package/dist/esm/handlers/roles/GUILD_ROLE_DELETE.js +10 -0
- package/dist/esm/handlers/roles/GUILD_ROLE_UPDATE.js +10 -0
- package/dist/esm/handlers/roles/index.js +5 -0
- package/dist/esm/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.js +10 -0
- package/dist/esm/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.js +7 -0
- package/dist/esm/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.js +10 -0
- package/dist/esm/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.js +7 -0
- package/dist/esm/handlers/soundboard/SOUNDBOARD_SOUNDS.js +10 -0
- package/dist/esm/handlers/soundboard/index.js +7 -0
- package/dist/esm/handlers/subscriptions/SUBSCRIPTION_CREATE.js +7 -0
- package/dist/esm/handlers/subscriptions/SUBSCRIPTION_DELETE.js +7 -0
- package/dist/esm/handlers/subscriptions/SUBSCRIPTION_UPDATE.js +7 -0
- package/dist/esm/handlers/subscriptions/index.js +5 -0
- package/dist/esm/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.js +16 -0
- package/dist/esm/handlers/voice/VOICE_SERVER_UPDATE.js +11 -0
- package/dist/esm/handlers/voice/VOICE_STATE_UPDATE.js +12 -0
- package/dist/esm/handlers/voice/index.js +5 -0
- package/dist/esm/handlers/webhooks/WEBHOOKS_UPDATE.js +10 -0
- package/dist/esm/handlers/webhooks/index.js +3 -0
- package/dist/esm/handlers.js +81 -0
- package/dist/esm/helpers.js +766 -0
- package/dist/esm/index.js +17 -0
- package/dist/esm/transformers/activity.js +53 -0
- package/dist/esm/transformers/application.js +59 -0
- package/dist/esm/transformers/applicationCommand.js +19 -0
- package/dist/esm/transformers/applicationCommandOption.js +21 -0
- package/dist/esm/transformers/applicationCommandOptionChoice.js +10 -0
- package/dist/esm/transformers/applicationCommandPermission.js +15 -0
- package/dist/esm/transformers/attachment.js +21 -0
- package/dist/esm/transformers/auditLogEntry.js +27 -0
- package/dist/esm/transformers/automodActionExecution.js +25 -0
- package/dist/esm/transformers/automodRule.js +31 -0
- package/dist/esm/transformers/avatarDecorationData.js +10 -0
- package/dist/esm/transformers/channel.js +122 -0
- package/dist/esm/transformers/component.js +87 -0
- package/dist/esm/transformers/embed.js +44 -0
- package/dist/esm/transformers/emoji.js +36 -0
- package/dist/esm/transformers/entitlement.js +17 -0
- package/dist/esm/transformers/gatewayBot.js +15 -0
- package/dist/esm/transformers/guild.js +139 -0
- package/dist/esm/transformers/index.js +50 -0
- package/dist/esm/transformers/integration.js +34 -0
- package/dist/esm/transformers/interaction.js +241 -0
- package/dist/esm/transformers/invite.js +41 -0
- package/dist/esm/transformers/member.js +51 -0
- package/dist/esm/transformers/message.js +273 -0
- package/dist/esm/transformers/onboarding.js +35 -0
- package/dist/esm/transformers/poll.js +32 -0
- package/dist/esm/transformers/presence.js +15 -0
- package/dist/esm/transformers/reverse/activity.js +43 -0
- package/dist/esm/transformers/reverse/allowedMentions.js +10 -0
- package/dist/esm/transformers/reverse/application.js +28 -0
- package/dist/esm/transformers/reverse/applicationCommand.js +18 -0
- package/dist/esm/transformers/reverse/applicationCommandOption.js +20 -0
- package/dist/esm/transformers/reverse/applicationCommandOptionChoice.js +9 -0
- package/dist/esm/transformers/reverse/applicationCommandPermission.js +14 -0
- package/dist/esm/transformers/reverse/attachment.js +19 -0
- package/dist/esm/transformers/reverse/auditLogEntry.js +27 -0
- package/dist/esm/transformers/reverse/component.js +84 -0
- package/dist/esm/transformers/reverse/createApplicationCommand.js +26 -0
- package/dist/esm/transformers/reverse/embed.js +43 -0
- package/dist/esm/transformers/reverse/emoji.js +14 -0
- package/dist/esm/transformers/reverse/gatewayBot.js +14 -0
- package/dist/esm/transformers/reverse/index.js +20 -0
- package/dist/esm/transformers/reverse/member.js +41 -0
- package/dist/esm/transformers/reverse/presence.js +23 -0
- package/dist/esm/transformers/reverse/team.js +18 -0
- package/dist/esm/transformers/reverse/widgetSettings.js +8 -0
- package/dist/esm/transformers/role.js +60 -0
- package/dist/esm/transformers/scheduledEvent.js +40 -0
- package/dist/esm/transformers/sku.js +13 -0
- package/dist/esm/transformers/soundboardSound.js +15 -0
- package/dist/esm/transformers/stageInstance.js +12 -0
- package/dist/esm/transformers/stageInviteInstance.js +13 -0
- package/dist/esm/transformers/sticker.js +30 -0
- package/dist/esm/transformers/subscription.js +16 -0
- package/dist/esm/transformers/team.js +19 -0
- package/dist/esm/transformers/template.js +18 -0
- package/dist/esm/transformers/threadMember.js +17 -0
- package/dist/esm/transformers/toggles/Permissions.js +18 -0
- package/dist/esm/transformers/toggles/ToggleBitfield.js +42 -0
- package/dist/esm/transformers/toggles/channel.js +55 -0
- package/dist/esm/transformers/toggles/emoji.js +45 -0
- package/dist/esm/transformers/toggles/guild.js +239 -0
- package/dist/esm/transformers/toggles/index.js +11 -0
- package/dist/esm/transformers/toggles/member.js +108 -0
- package/dist/esm/transformers/toggles/role.js +55 -0
- package/dist/esm/transformers/toggles/user.js +45 -0
- package/dist/esm/transformers/toggles/voice.js +60 -0
- package/dist/esm/transformers/types.js +3 -0
- package/dist/esm/transformers/user.js +42 -0
- package/dist/esm/transformers/voiceRegion.js +12 -0
- package/dist/esm/transformers/voiceState.js +14 -0
- package/dist/esm/transformers/webhook.js +27 -0
- package/dist/esm/transformers/welcomeScreen.js +14 -0
- package/dist/esm/transformers/widget.js +25 -0
- package/dist/esm/transformers/widgetSettings.js +9 -0
- package/dist/esm/transformers.js +155 -0
- package/dist/esm/utils.js +11 -0
- package/dist/types/bot.d.ts +85 -0
- package/dist/types/bot.d.ts.map +1 -0
- package/dist/types/commandOptionsParser.d.ts +17 -0
- package/dist/types/commandOptionsParser.d.ts.map +1 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/desiredProperties.d.ts +200 -0
- package/dist/types/desiredProperties.d.ts.map +1 -0
- package/dist/types/events.d.ts +231 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/handlers/channels/CHANNEL_CREATE.d.ts +3 -0
- package/dist/types/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/CHANNEL_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/channels/CHANNEL_PINS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/CHANNEL_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/STAGE_INSTANCE_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/STAGE_INSTANCE_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/THREAD_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/THREAD_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/channels/THREAD_LIST_SYNC.d.ts.map +1 -0
- package/dist/types/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts +4 -0
- package/dist/types/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/THREAD_MEMBER_UPDATE.d.ts +4 -0
- package/dist/types/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/THREAD_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/index.d.ts.map +1 -0
- package/dist/types/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/emojis/index.d.ts.map +1 -0
- package/dist/types/handlers/entitlements/ENTITLEMENT_CREATE.d.ts +4 -0
- package/dist/types/handlers/entitlements/ENTITLEMENT_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/entitlements/ENTITLEMENT_DELETE.d.ts +4 -0
- package/dist/types/handlers/entitlements/ENTITLEMENT_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/entitlements/ENTITLEMENT_UPDATE.d.ts +4 -0
- package/dist/types/handlers/entitlements/ENTITLEMENT_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/entitlements/index.d.ts +4 -0
- package/dist/types/handlers/entitlements/index.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_BAN_ADD.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_BAN_REMOVE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts +3 -0
- package/dist/types/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts +5 -0
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +1 -0
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts +5 -0
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts +5 -0
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts +5 -0
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/automod/index.d.ts.map +1 -0
- package/dist/types/handlers/guilds/index.d.ts.map +1 -0
- package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts +4 -0
- package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts.map +1 -0
- package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/scheduledEvents/index.d.ts.map +1 -0
- package/dist/types/handlers/index.d.ts +17 -0
- package/dist/types/handlers/index.d.ts.map +1 -0
- package/dist/types/handlers/integrations/INTEGRATION_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/integrations/INTEGRATION_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/integrations/index.d.ts.map +1 -0
- package/dist/types/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts +3 -0
- package/dist/types/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/interactions/INTERACTION_CREATE.d.ts +4 -0
- package/dist/types/handlers/interactions/INTERACTION_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/interactions/index.d.ts.map +1 -0
- package/dist/types/handlers/invites/INVITE_CREATE.d.ts +4 -0
- package/dist/types/handlers/invites/INVITE_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/invites/INVITE_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/invites/index.d.ts.map +1 -0
- package/dist/types/handlers/members/GUILD_MEMBERS_CHUNK.d.ts +4 -0
- package/dist/types/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +1 -0
- package/dist/types/handlers/members/GUILD_MEMBER_ADD.d.ts +4 -0
- package/dist/types/handlers/members/GUILD_MEMBER_ADD.d.ts.map +1 -0
- package/dist/types/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +1 -0
- package/dist/types/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/members/index.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_CREATE.d.ts +4 -0
- package/dist/types/handlers/messages/MESSAGE_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_UPDATE.d.ts +4 -0
- package/dist/types/handlers/messages/MESSAGE_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/messages/index.d.ts.map +1 -0
- package/dist/types/handlers/misc/PRESENCE_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/misc/READY.d.ts.map +1 -0
- package/dist/types/handlers/misc/TYPING_START.d.ts.map +1 -0
- package/dist/types/handlers/misc/USER_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/misc/index.d.ts.map +1 -0
- package/dist/types/handlers/poll/MESSAGE_POLL_VOTE_ADD.d.ts +4 -0
- package/dist/types/handlers/poll/MESSAGE_POLL_VOTE_ADD.d.ts.map +1 -0
- package/dist/types/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.d.ts +4 -0
- package/dist/types/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.d.ts.map +1 -0
- package/dist/types/handlers/poll/index.d.ts +3 -0
- package/dist/types/handlers/poll/index.d.ts.map +1 -0
- package/dist/types/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/roles/index.d.ts.map +1 -0
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.d.ts +4 -0
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.d.ts +4 -0
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.d.ts +4 -0
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.d.ts +4 -0
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/soundboard/SOUNDBOARD_SOUNDS.d.ts +4 -0
- package/dist/types/handlers/soundboard/SOUNDBOARD_SOUNDS.d.ts.map +1 -0
- package/dist/types/handlers/soundboard/index.d.ts +6 -0
- package/dist/types/handlers/soundboard/index.d.ts.map +1 -0
- package/dist/types/handlers/subscriptions/SUBSCRIPTION_CREATE.d.ts +4 -0
- package/dist/types/handlers/subscriptions/SUBSCRIPTION_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/subscriptions/SUBSCRIPTION_DELETE.d.ts +4 -0
- package/dist/types/handlers/subscriptions/SUBSCRIPTION_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/subscriptions/SUBSCRIPTION_UPDATE.d.ts +4 -0
- package/dist/types/handlers/subscriptions/SUBSCRIPTION_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/subscriptions/index.d.ts +4 -0
- package/dist/types/handlers/subscriptions/index.d.ts.map +1 -0
- package/dist/types/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.d.ts +4 -0
- package/dist/types/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.d.ts.map +1 -0
- package/dist/types/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/voice/index.d.ts +4 -0
- package/dist/types/handlers/voice/index.d.ts.map +1 -0
- package/dist/types/handlers/webhooks/WEBHOOKS_UPDATE.d.ts +4 -0
- package/dist/types/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/webhooks/index.d.ts.map +1 -0
- package/dist/types/handlers.d.ts +5 -0
- package/dist/types/handlers.d.ts.map +1 -0
- package/dist/types/helpers.d.ts +236 -0
- package/dist/types/helpers.d.ts.map +1 -0
- package/dist/types/index.d.ts +16 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/transformers/activity.d.ts +5 -0
- package/dist/types/transformers/activity.d.ts.map +1 -0
- package/dist/types/transformers/application.d.ts +6 -0
- package/dist/types/transformers/application.d.ts.map +1 -0
- package/dist/types/transformers/applicationCommand.d.ts +4 -0
- package/dist/types/transformers/applicationCommand.d.ts.map +1 -0
- package/dist/types/transformers/applicationCommandOption.d.ts +4 -0
- package/dist/types/transformers/applicationCommandOption.d.ts.map +1 -0
- package/dist/types/transformers/applicationCommandOptionChoice.d.ts +4 -0
- package/dist/types/transformers/applicationCommandOptionChoice.d.ts.map +1 -0
- package/dist/types/transformers/applicationCommandPermission.d.ts +4 -0
- package/dist/types/transformers/applicationCommandPermission.d.ts.map +1 -0
- package/dist/types/transformers/attachment.d.ts +4 -0
- package/dist/types/transformers/attachment.d.ts.map +1 -0
- package/dist/types/transformers/auditLogEntry.d.ts +4 -0
- package/dist/types/transformers/auditLogEntry.d.ts.map +1 -0
- package/dist/types/transformers/automodActionExecution.d.ts +4 -0
- package/dist/types/transformers/automodActionExecution.d.ts.map +1 -0
- package/dist/types/transformers/automodRule.d.ts +4 -0
- package/dist/types/transformers/automodRule.d.ts.map +1 -0
- package/dist/types/transformers/avatarDecorationData.d.ts +3 -0
- package/dist/types/transformers/avatarDecorationData.d.ts.map +1 -0
- package/dist/types/transformers/channel.d.ts +11 -0
- package/dist/types/transformers/channel.d.ts.map +1 -0
- package/dist/types/transformers/component.d.ts +4 -0
- package/dist/types/transformers/component.d.ts.map +1 -0
- package/dist/types/transformers/embed.d.ts +4 -0
- package/dist/types/transformers/embed.d.ts.map +1 -0
- package/dist/types/transformers/emoji.d.ts +6 -0
- package/dist/types/transformers/emoji.d.ts.map +1 -0
- package/dist/types/transformers/entitlement.d.ts +4 -0
- package/dist/types/transformers/entitlement.d.ts.map +1 -0
- package/dist/types/transformers/gatewayBot.d.ts +4 -0
- package/dist/types/transformers/gatewayBot.d.ts.map +1 -0
- package/dist/types/transformers/guild.d.ts +8 -0
- package/dist/types/transformers/guild.d.ts.map +1 -0
- package/dist/types/transformers/index.d.ts +49 -0
- package/dist/types/transformers/index.d.ts.map +1 -0
- package/dist/types/transformers/integration.d.ts +4 -0
- package/dist/types/transformers/integration.d.ts.map +1 -0
- package/dist/types/transformers/interaction.d.ts +23 -0
- package/dist/types/transformers/interaction.d.ts.map +1 -0
- package/dist/types/transformers/invite.d.ts +7 -0
- package/dist/types/transformers/invite.d.ts.map +1 -0
- package/dist/types/transformers/member.d.ts +5 -0
- package/dist/types/transformers/member.d.ts.map +1 -0
- package/dist/types/transformers/message.d.ts +14 -0
- package/dist/types/transformers/message.d.ts.map +1 -0
- package/dist/types/transformers/onboarding.d.ts +6 -0
- package/dist/types/transformers/onboarding.d.ts.map +1 -0
- package/dist/types/transformers/poll.d.ts +5 -0
- package/dist/types/transformers/poll.d.ts.map +1 -0
- package/dist/types/transformers/presence.d.ts +4 -0
- package/dist/types/transformers/presence.d.ts.map +1 -0
- package/dist/types/transformers/reverse/activity.d.ts +3 -0
- package/dist/types/transformers/reverse/activity.d.ts.map +1 -0
- package/dist/types/transformers/reverse/allowedMentions.d.ts +3 -0
- package/dist/types/transformers/reverse/allowedMentions.d.ts.map +1 -0
- package/dist/types/transformers/reverse/application.d.ts +3 -0
- package/dist/types/transformers/reverse/application.d.ts.map +1 -0
- package/dist/types/transformers/reverse/applicationCommand.d.ts +3 -0
- package/dist/types/transformers/reverse/applicationCommand.d.ts.map +1 -0
- package/dist/types/transformers/reverse/applicationCommandOption.d.ts +3 -0
- package/dist/types/transformers/reverse/applicationCommandOption.d.ts.map +1 -0
- package/dist/types/transformers/reverse/applicationCommandOptionChoice.d.ts +3 -0
- package/dist/types/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -0
- package/dist/types/transformers/reverse/applicationCommandPermission.d.ts +3 -0
- package/dist/types/transformers/reverse/applicationCommandPermission.d.ts.map +1 -0
- package/dist/types/transformers/reverse/attachment.d.ts +3 -0
- package/dist/types/transformers/reverse/attachment.d.ts.map +1 -0
- package/dist/types/transformers/reverse/auditLogEntry.d.ts +4 -0
- package/dist/types/transformers/reverse/auditLogEntry.d.ts.map +1 -0
- package/dist/types/transformers/reverse/component.d.ts +4 -0
- package/dist/types/transformers/reverse/component.d.ts.map +1 -0
- package/dist/types/transformers/reverse/createApplicationCommand.d.ts.map +1 -0
- package/dist/types/transformers/reverse/embed.d.ts +4 -0
- package/dist/types/transformers/reverse/embed.d.ts.map +1 -0
- package/dist/types/transformers/reverse/emoji.d.ts +4 -0
- package/dist/types/transformers/reverse/emoji.d.ts.map +1 -0
- package/dist/types/transformers/reverse/gatewayBot.d.ts +4 -0
- package/dist/types/transformers/reverse/gatewayBot.d.ts.map +1 -0
- package/dist/types/transformers/reverse/index.d.ts +19 -0
- package/dist/types/transformers/reverse/index.d.ts.map +1 -0
- package/dist/types/transformers/reverse/member.d.ts +6 -0
- package/dist/types/transformers/reverse/member.d.ts.map +1 -0
- package/dist/types/transformers/reverse/presence.d.ts +10 -0
- package/dist/types/transformers/reverse/presence.d.ts.map +1 -0
- package/dist/types/transformers/reverse/team.d.ts +4 -0
- package/dist/types/transformers/reverse/team.d.ts.map +1 -0
- package/dist/types/transformers/reverse/widgetSettings.d.ts +4 -0
- package/dist/types/transformers/reverse/widgetSettings.d.ts.map +1 -0
- package/dist/types/transformers/role.d.ts +8 -0
- package/dist/types/transformers/role.d.ts.map +1 -0
- package/dist/types/transformers/scheduledEvent.d.ts +5 -0
- package/dist/types/transformers/scheduledEvent.d.ts.map +1 -0
- package/dist/types/transformers/sku.d.ts +4 -0
- package/dist/types/transformers/sku.d.ts.map +1 -0
- package/dist/types/transformers/soundboardSound.d.ts +4 -0
- package/dist/types/transformers/soundboardSound.d.ts.map +1 -0
- package/dist/types/transformers/stageInstance.d.ts +4 -0
- package/dist/types/transformers/stageInstance.d.ts.map +1 -0
- package/dist/types/transformers/stageInviteInstance.d.ts +6 -0
- package/dist/types/transformers/stageInviteInstance.d.ts.map +1 -0
- package/dist/types/transformers/sticker.d.ts +5 -0
- package/dist/types/transformers/sticker.d.ts.map +1 -0
- package/dist/types/transformers/subscription.d.ts +4 -0
- package/dist/types/transformers/subscription.d.ts.map +1 -0
- package/dist/types/transformers/team.d.ts +4 -0
- package/dist/types/transformers/team.d.ts.map +1 -0
- package/dist/types/transformers/template.d.ts +4 -0
- package/dist/types/transformers/template.d.ts.map +1 -0
- package/dist/types/transformers/threadMember.d.ts +5 -0
- package/dist/types/transformers/threadMember.d.ts.map +1 -0
- package/dist/types/transformers/toggles/Permissions.d.ts +9 -0
- package/dist/types/transformers/toggles/Permissions.d.ts.map +1 -0
- package/dist/types/transformers/toggles/ToggleBitfield.d.ts.map +1 -0
- package/dist/types/transformers/toggles/channel.d.ts +36 -0
- package/dist/types/transformers/toggles/channel.d.ts.map +1 -0
- package/dist/types/transformers/toggles/emoji.d.ts.map +1 -0
- package/dist/types/transformers/toggles/guild.d.ts +153 -0
- package/dist/types/transformers/toggles/guild.d.ts.map +1 -0
- package/dist/types/transformers/toggles/index.d.ts.map +1 -0
- package/dist/types/transformers/toggles/member.d.ts +65 -0
- package/dist/types/transformers/toggles/member.d.ts.map +1 -0
- package/dist/types/transformers/toggles/role.d.ts.map +1 -0
- package/dist/types/transformers/toggles/user.d.ts.map +1 -0
- package/dist/types/transformers/toggles/voice.d.ts.map +1 -0
- package/dist/types/transformers/types.d.ts +1603 -0
- package/dist/types/transformers/types.d.ts.map +1 -0
- package/dist/types/transformers/user.d.ts +5 -0
- package/dist/types/transformers/user.d.ts.map +1 -0
- package/dist/types/transformers/voiceRegion.d.ts +4 -0
- package/dist/types/transformers/voiceRegion.d.ts.map +1 -0
- package/dist/types/transformers/voiceState.d.ts +7 -0
- package/dist/types/transformers/voiceState.d.ts.map +1 -0
- package/dist/types/transformers/webhook.d.ts +4 -0
- package/dist/types/transformers/webhook.d.ts.map +1 -0
- package/dist/types/transformers/welcomeScreen.d.ts +4 -0
- package/dist/types/transformers/welcomeScreen.d.ts.map +1 -0
- package/dist/types/transformers/widget.d.ts +4 -0
- package/dist/types/transformers/widget.d.ts.map +1 -0
- package/dist/types/transformers/widgetSettings.d.ts +4 -0
- package/dist/types/transformers/widgetSettings.d.ts.map +1 -0
- package/dist/types/transformers.d.ts +197 -0
- package/dist/types/transformers.d.ts.map +1 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/package.json +31 -27
- package/dist/bot.d.ts +0 -241
- package/dist/bot.d.ts.map +0 -1
- package/dist/bot.js +0 -62
- package/dist/bot.js.map +0 -1
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -6
- package/dist/constants.js.map +0 -1
- package/dist/handlers/channels/CHANNEL_CREATE.d.ts +0 -3
- package/dist/handlers/channels/CHANNEL_CREATE.d.ts.map +0 -1
- package/dist/handlers/channels/CHANNEL_CREATE.js +0 -10
- package/dist/handlers/channels/CHANNEL_CREATE.js.map +0 -1
- package/dist/handlers/channels/CHANNEL_DELETE.d.ts.map +0 -1
- package/dist/handlers/channels/CHANNEL_DELETE.js +0 -10
- package/dist/handlers/channels/CHANNEL_DELETE.js.map +0 -1
- package/dist/handlers/channels/CHANNEL_PINS_UPDATE.d.ts.map +0 -1
- package/dist/handlers/channels/CHANNEL_PINS_UPDATE.js +0 -10
- package/dist/handlers/channels/CHANNEL_PINS_UPDATE.js.map +0 -1
- package/dist/handlers/channels/CHANNEL_UPDATE.d.ts.map +0 -1
- package/dist/handlers/channels/CHANNEL_UPDATE.js +0 -9
- package/dist/handlers/channels/CHANNEL_UPDATE.js.map +0 -1
- package/dist/handlers/channels/STAGE_INSTANCE_CREATE.d.ts.map +0 -1
- package/dist/handlers/channels/STAGE_INSTANCE_CREATE.js +0 -11
- package/dist/handlers/channels/STAGE_INSTANCE_CREATE.js.map +0 -1
- package/dist/handlers/channels/STAGE_INSTANCE_DELETE.d.ts.map +0 -1
- package/dist/handlers/channels/STAGE_INSTANCE_DELETE.js +0 -11
- package/dist/handlers/channels/STAGE_INSTANCE_DELETE.js.map +0 -1
- package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts.map +0 -1
- package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.js +0 -11
- package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.js.map +0 -1
- package/dist/handlers/channels/THREAD_CREATE.d.ts.map +0 -1
- package/dist/handlers/channels/THREAD_CREATE.js +0 -8
- package/dist/handlers/channels/THREAD_CREATE.js.map +0 -1
- package/dist/handlers/channels/THREAD_DELETE.d.ts.map +0 -1
- package/dist/handlers/channels/THREAD_DELETE.js +0 -8
- package/dist/handlers/channels/THREAD_DELETE.js.map +0 -1
- package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts.map +0 -1
- package/dist/handlers/channels/THREAD_LIST_SYNC.js +0 -19
- package/dist/handlers/channels/THREAD_LIST_SYNC.js.map +0 -1
- package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts +0 -4
- package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +0 -1
- package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js +0 -11
- package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js.map +0 -1
- package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts +0 -4
- package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +0 -1
- package/dist/handlers/channels/THREAD_MEMBER_UPDATE.js +0 -11
- package/dist/handlers/channels/THREAD_MEMBER_UPDATE.js.map +0 -1
- package/dist/handlers/channels/THREAD_UPDATE.d.ts.map +0 -1
- package/dist/handlers/channels/THREAD_UPDATE.js +0 -8
- package/dist/handlers/channels/THREAD_UPDATE.js.map +0 -1
- package/dist/handlers/channels/index.d.ts.map +0 -1
- package/dist/handlers/channels/index.js +0 -15
- package/dist/handlers/channels/index.js.map +0 -1
- package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts.map +0 -1
- package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.js +0 -13
- package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.js.map +0 -1
- package/dist/handlers/emojis/index.d.ts.map +0 -1
- package/dist/handlers/emojis/index.js +0 -3
- package/dist/handlers/emojis/index.js.map +0 -1
- package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +0 -7
- package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js.map +0 -1
- package/dist/handlers/guilds/GUILD_BAN_ADD.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_BAN_ADD.js +0 -6
- package/dist/handlers/guilds/GUILD_BAN_ADD.js.map +0 -1
- package/dist/handlers/guilds/GUILD_BAN_REMOVE.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_BAN_REMOVE.js +0 -6
- package/dist/handlers/guilds/GUILD_BAN_REMOVE.js.map +0 -1
- package/dist/handlers/guilds/GUILD_CREATE.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_CREATE.js +0 -9
- package/dist/handlers/guilds/GUILD_CREATE.js.map +0 -1
- package/dist/handlers/guilds/GUILD_DELETE.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_DELETE.js +0 -10
- package/dist/handlers/guilds/GUILD_DELETE.js.map +0 -1
- package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js +0 -8
- package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js.map +0 -1
- package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts +0 -3
- package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js +0 -9
- package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js.map +0 -1
- package/dist/handlers/guilds/GUILD_UPDATE.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_UPDATE.js +0 -9
- package/dist/handlers/guilds/GUILD_UPDATE.js.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts +0 -5
- package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +0 -6
- package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts +0 -5
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +0 -6
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts +0 -5
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +0 -6
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts +0 -5
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +0 -6
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js.map +0 -1
- package/dist/handlers/guilds/automod/index.d.ts.map +0 -1
- package/dist/handlers/guilds/automod/index.js +0 -6
- package/dist/handlers/guilds/automod/index.js.map +0 -1
- package/dist/handlers/guilds/index.d.ts.map +0 -1
- package/dist/handlers/guilds/index.js +0 -12
- package/dist/handlers/guilds/index.js.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts +0 -4
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +0 -6
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js +0 -6
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js +0 -6
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js +0 -10
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +0 -10
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/index.d.ts.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/index.js +0 -7
- package/dist/handlers/guilds/scheduledEvents/index.js.map +0 -1
- package/dist/handlers/index.d.ts +0 -13
- package/dist/handlers/index.d.ts.map +0 -1
- package/dist/handlers/index.js +0 -14
- package/dist/handlers/index.js.map +0 -1
- package/dist/handlers/integrations/INTEGRATION_CREATE.d.ts.map +0 -1
- package/dist/handlers/integrations/INTEGRATION_CREATE.js +0 -5
- package/dist/handlers/integrations/INTEGRATION_CREATE.js.map +0 -1
- package/dist/handlers/integrations/INTEGRATION_DELETE.d.ts.map +0 -1
- package/dist/handlers/integrations/INTEGRATION_DELETE.js +0 -10
- package/dist/handlers/integrations/INTEGRATION_DELETE.js.map +0 -1
- package/dist/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +0 -1
- package/dist/handlers/integrations/INTEGRATION_UPDATE.js +0 -5
- package/dist/handlers/integrations/INTEGRATION_UPDATE.js.map +0 -1
- package/dist/handlers/integrations/index.d.ts.map +0 -1
- package/dist/handlers/integrations/index.js +0 -5
- package/dist/handlers/integrations/index.js.map +0 -1
- package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts +0 -3
- package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +0 -1
- package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +0 -6
- package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js.map +0 -1
- package/dist/handlers/interactions/INTERACTION_CREATE.d.ts +0 -4
- package/dist/handlers/interactions/INTERACTION_CREATE.d.ts.map +0 -1
- package/dist/handlers/interactions/INTERACTION_CREATE.js +0 -5
- package/dist/handlers/interactions/INTERACTION_CREATE.js.map +0 -1
- package/dist/handlers/interactions/index.d.ts.map +0 -1
- package/dist/handlers/interactions/index.js +0 -4
- package/dist/handlers/interactions/index.js.map +0 -1
- package/dist/handlers/invites/INVITE_CREATE.d.ts +0 -4
- package/dist/handlers/invites/INVITE_CREATE.d.ts.map +0 -1
- package/dist/handlers/invites/INVITE_CREATE.js +0 -5
- package/dist/handlers/invites/INVITE_CREATE.js.map +0 -1
- package/dist/handlers/invites/INVITE_DELETE.d.ts.map +0 -1
- package/dist/handlers/invites/INVITE_DELETE.js +0 -10
- package/dist/handlers/invites/INVITE_DELETE.js.map +0 -1
- package/dist/handlers/invites/index.d.ts.map +0 -1
- package/dist/handlers/invites/index.js +0 -4
- package/dist/handlers/invites/index.js.map +0 -1
- package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts +0 -4
- package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +0 -1
- package/dist/handlers/members/GUILD_MEMBERS_CHUNK.js +0 -26
- package/dist/handlers/members/GUILD_MEMBERS_CHUNK.js.map +0 -1
- package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts +0 -4
- package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts.map +0 -1
- package/dist/handlers/members/GUILD_MEMBER_ADD.js +0 -9
- package/dist/handlers/members/GUILD_MEMBER_ADD.js.map +0 -1
- package/dist/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +0 -1
- package/dist/handlers/members/GUILD_MEMBER_REMOVE.js +0 -8
- package/dist/handlers/members/GUILD_MEMBER_REMOVE.js.map +0 -1
- package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +0 -1
- package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +0 -7
- package/dist/handlers/members/GUILD_MEMBER_UPDATE.js.map +0 -1
- package/dist/handlers/members/index.d.ts.map +0 -1
- package/dist/handlers/members/index.js +0 -6
- package/dist/handlers/members/index.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_CREATE.d.ts +0 -4
- package/dist/handlers/messages/MESSAGE_CREATE.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_CREATE.js +0 -6
- package/dist/handlers/messages/MESSAGE_CREATE.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_DELETE.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_DELETE.js +0 -10
- package/dist/handlers/messages/MESSAGE_DELETE.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_DELETE_BULK.js +0 -12
- package/dist/handlers/messages/MESSAGE_DELETE_BULK.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +0 -16
- package/dist/handlers/messages/MESSAGE_REACTION_ADD.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +0 -12
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +0 -10
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +0 -11
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_UPDATE.d.ts +0 -4
- package/dist/handlers/messages/MESSAGE_UPDATE.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_UPDATE.js +0 -7
- package/dist/handlers/messages/MESSAGE_UPDATE.js.map +0 -1
- package/dist/handlers/messages/index.d.ts.map +0 -1
- package/dist/handlers/messages/index.js +0 -10
- package/dist/handlers/messages/index.js.map +0 -1
- package/dist/handlers/misc/PRESENCE_UPDATE.d.ts.map +0 -1
- package/dist/handlers/misc/PRESENCE_UPDATE.js +0 -5
- package/dist/handlers/misc/PRESENCE_UPDATE.js.map +0 -1
- package/dist/handlers/misc/READY.d.ts.map +0 -1
- package/dist/handlers/misc/READY.js +0 -17
- package/dist/handlers/misc/READY.js.map +0 -1
- package/dist/handlers/misc/TYPING_START.d.ts.map +0 -1
- package/dist/handlers/misc/TYPING_START.js +0 -14
- package/dist/handlers/misc/TYPING_START.js.map +0 -1
- package/dist/handlers/misc/USER_UPDATE.d.ts.map +0 -1
- package/dist/handlers/misc/USER_UPDATE.js +0 -6
- package/dist/handlers/misc/USER_UPDATE.js.map +0 -1
- package/dist/handlers/misc/index.d.ts.map +0 -1
- package/dist/handlers/misc/index.js +0 -6
- package/dist/handlers/misc/index.js.map +0 -1
- package/dist/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +0 -1
- package/dist/handlers/roles/GUILD_ROLE_CREATE.js +0 -9
- package/dist/handlers/roles/GUILD_ROLE_CREATE.js.map +0 -1
- package/dist/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +0 -1
- package/dist/handlers/roles/GUILD_ROLE_DELETE.js +0 -9
- package/dist/handlers/roles/GUILD_ROLE_DELETE.js.map +0 -1
- package/dist/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +0 -1
- package/dist/handlers/roles/GUILD_ROLE_UPDATE.js +0 -9
- package/dist/handlers/roles/GUILD_ROLE_UPDATE.js.map +0 -1
- package/dist/handlers/roles/index.d.ts.map +0 -1
- package/dist/handlers/roles/index.js +0 -5
- package/dist/handlers/roles/index.js.map +0 -1
- package/dist/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +0 -1
- package/dist/handlers/voice/VOICE_SERVER_UPDATE.js +0 -10
- package/dist/handlers/voice/VOICE_SERVER_UPDATE.js.map +0 -1
- package/dist/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +0 -1
- package/dist/handlers/voice/VOICE_STATE_UPDATE.js +0 -11
- package/dist/handlers/voice/VOICE_STATE_UPDATE.js.map +0 -1
- package/dist/handlers/voice/index.d.ts +0 -3
- package/dist/handlers/voice/index.d.ts.map +0 -1
- package/dist/handlers/voice/index.js +0 -4
- package/dist/handlers/voice/index.js.map +0 -1
- package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts +0 -4
- package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +0 -1
- package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js +0 -9
- package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js.map +0 -1
- package/dist/handlers/webhooks/index.d.ts.map +0 -1
- package/dist/handlers/webhooks/index.js +0 -3
- package/dist/handlers/webhooks/index.js.map +0 -1
- package/dist/handlers.d.ts +0 -6
- package/dist/handlers.d.ts.map +0 -1
- package/dist/handlers.js +0 -67
- package/dist/handlers.js.map +0 -1
- package/dist/helpers.d.ts +0 -205
- package/dist/helpers.d.ts.map +0 -1
- package/dist/helpers.js +0 -553
- package/dist/helpers.js.map +0 -1
- package/dist/index.d.ts +0 -15
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -16
- package/dist/index.js.map +0 -1
- package/dist/optionalize.d.ts +0 -47
- package/dist/optionalize.d.ts.map +0 -1
- package/dist/optionalize.js +0 -3
- package/dist/optionalize.js.map +0 -1
- package/dist/transformers/activity.d.ts +0 -36
- package/dist/transformers/activity.d.ts.map +0 -1
- package/dist/transformers/activity.js +0 -35
- package/dist/transformers/activity.js.map +0 -1
- package/dist/transformers/application.d.ts +0 -77
- package/dist/transformers/application.d.ts.map +0 -1
- package/dist/transformers/application.js +0 -26
- package/dist/transformers/application.js.map +0 -1
- package/dist/transformers/applicationCommand.d.ts +0 -193
- package/dist/transformers/applicationCommand.d.ts.map +0 -1
- package/dist/transformers/applicationCommand.js +0 -20
- package/dist/transformers/applicationCommand.js.map +0 -1
- package/dist/transformers/applicationCommandOption.d.ts +0 -35
- package/dist/transformers/applicationCommandOption.d.ts.map +0 -1
- package/dist/transformers/applicationCommandOption.js +0 -20
- package/dist/transformers/applicationCommandOption.js.map +0 -1
- package/dist/transformers/applicationCommandOptionChoice.d.ts +0 -41
- package/dist/transformers/applicationCommandOptionChoice.d.ts.map +0 -1
- package/dist/transformers/applicationCommandOptionChoice.js +0 -11
- package/dist/transformers/applicationCommandOptionChoice.js.map +0 -1
- package/dist/transformers/applicationCommandPermission.d.ts +0 -15
- package/dist/transformers/applicationCommandPermission.d.ts.map +0 -1
- package/dist/transformers/applicationCommandPermission.js +0 -16
- package/dist/transformers/applicationCommandPermission.js.map +0 -1
- package/dist/transformers/attachment.d.ts +0 -17
- package/dist/transformers/attachment.d.ts.map +0 -1
- package/dist/transformers/attachment.js +0 -18
- package/dist/transformers/attachment.js.map +0 -1
- package/dist/transformers/auditLogEntry.d.ts +0 -45
- package/dist/transformers/auditLogEntry.d.ts.map +0 -1
- package/dist/transformers/auditLogEntry.js +0 -129
- package/dist/transformers/auditLogEntry.js.map +0 -1
- package/dist/transformers/automodActionExecution.d.ts +0 -25
- package/dist/transformers/automodActionExecution.d.ts.map +0 -1
- package/dist/transformers/automodActionExecution.js +0 -26
- package/dist/transformers/automodActionExecution.js.map +0 -1
- package/dist/transformers/automodRule.d.ts +0 -31
- package/dist/transformers/automodRule.d.ts.map +0 -1
- package/dist/transformers/automodRule.js +0 -32
- package/dist/transformers/automodRule.js.map +0 -1
- package/dist/transformers/channel.d.ts +0 -107
- package/dist/transformers/channel.d.ts.map +0 -1
- package/dist/transformers/channel.js +0 -98
- package/dist/transformers/channel.js.map +0 -1
- package/dist/transformers/component.d.ts +0 -48
- package/dist/transformers/component.d.ts.map +0 -1
- package/dist/transformers/component.js +0 -36
- package/dist/transformers/component.js.map +0 -1
- package/dist/transformers/embed.d.ts +0 -51
- package/dist/transformers/embed.d.ts.map +0 -1
- package/dist/transformers/embed.js +0 -45
- package/dist/transformers/embed.js.map +0 -1
- package/dist/transformers/emoji.d.ts +0 -56
- package/dist/transformers/emoji.d.ts.map +0 -1
- package/dist/transformers/emoji.js +0 -14
- package/dist/transformers/emoji.js.map +0 -1
- package/dist/transformers/gatewayBot.d.ts +0 -14
- package/dist/transformers/gatewayBot.d.ts.map +0 -1
- package/dist/transformers/gatewayBot.js +0 -16
- package/dist/transformers/gatewayBot.js.map +0 -1
- package/dist/transformers/guild.d.ts +0 -71
- package/dist/transformers/guild.d.ts.map +0 -1
- package/dist/transformers/guild.js +0 -108
- package/dist/transformers/guild.js.map +0 -1
- package/dist/transformers/index.d.ts +0 -39
- package/dist/transformers/index.d.ts.map +0 -1
- package/dist/transformers/index.js +0 -40
- package/dist/transformers/index.js.map +0 -1
- package/dist/transformers/integration.d.ts +0 -119
- package/dist/transformers/integration.d.ts.map +0 -1
- package/dist/transformers/integration.js +0 -35
- package/dist/transformers/integration.js.map +0 -1
- package/dist/transformers/interaction.d.ts +0 -90
- package/dist/transformers/interaction.d.ts.map +0 -1
- package/dist/transformers/interaction.js +0 -169
- package/dist/transformers/interaction.js.map +0 -1
- package/dist/transformers/invite.d.ts +0 -177
- package/dist/transformers/invite.d.ts.map +0 -1
- package/dist/transformers/invite.js +0 -20
- package/dist/transformers/invite.js.map +0 -1
- package/dist/transformers/member.d.ts +0 -39
- package/dist/transformers/member.d.ts.map +0 -1
- package/dist/transformers/member.js +0 -34
- package/dist/transformers/member.js.map +0 -1
- package/dist/transformers/message.d.ts +0 -133
- package/dist/transformers/message.d.ts.map +0 -1
- package/dist/transformers/message.js +0 -221
- package/dist/transformers/message.js.map +0 -1
- package/dist/transformers/presence.d.ts +0 -14
- package/dist/transformers/presence.d.ts.map +0 -1
- package/dist/transformers/presence.js +0 -16
- package/dist/transformers/presence.js.map +0 -1
- package/dist/transformers/reverse/activity.d.ts +0 -4
- package/dist/transformers/reverse/activity.d.ts.map +0 -1
- package/dist/transformers/reverse/activity.js +0 -43
- package/dist/transformers/reverse/activity.js.map +0 -1
- package/dist/transformers/reverse/allowedMentions.d.ts +0 -3
- package/dist/transformers/reverse/allowedMentions.d.ts.map +0 -1
- package/dist/transformers/reverse/allowedMentions.js +0 -10
- package/dist/transformers/reverse/allowedMentions.js.map +0 -1
- package/dist/transformers/reverse/application.d.ts +0 -4
- package/dist/transformers/reverse/application.d.ts.map +0 -1
- package/dist/transformers/reverse/application.js +0 -24
- package/dist/transformers/reverse/application.js.map +0 -1
- package/dist/transformers/reverse/applicationCommand.d.ts +0 -4
- package/dist/transformers/reverse/applicationCommand.d.ts.map +0 -1
- package/dist/transformers/reverse/applicationCommand.js +0 -18
- package/dist/transformers/reverse/applicationCommand.js.map +0 -1
- package/dist/transformers/reverse/applicationCommandOption.d.ts +0 -4
- package/dist/transformers/reverse/applicationCommandOption.d.ts.map +0 -1
- package/dist/transformers/reverse/applicationCommandOption.js +0 -20
- package/dist/transformers/reverse/applicationCommandOption.js.map +0 -1
- package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts +0 -4
- package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts.map +0 -1
- package/dist/transformers/reverse/applicationCommandOptionChoice.js +0 -9
- package/dist/transformers/reverse/applicationCommandOptionChoice.js.map +0 -1
- package/dist/transformers/reverse/applicationCommandPermission.d.ts +0 -4
- package/dist/transformers/reverse/applicationCommandPermission.d.ts.map +0 -1
- package/dist/transformers/reverse/applicationCommandPermission.js +0 -14
- package/dist/transformers/reverse/applicationCommandPermission.js.map +0 -1
- package/dist/transformers/reverse/attachment.d.ts +0 -4
- package/dist/transformers/reverse/attachment.d.ts.map +0 -1
- package/dist/transformers/reverse/attachment.js +0 -16
- package/dist/transformers/reverse/attachment.js.map +0 -1
- package/dist/transformers/reverse/auditLogEntry.d.ts +0 -5
- package/dist/transformers/reverse/auditLogEntry.d.ts.map +0 -1
- package/dist/transformers/reverse/auditLogEntry.js +0 -131
- package/dist/transformers/reverse/auditLogEntry.js.map +0 -1
- package/dist/transformers/reverse/component.d.ts +0 -5
- package/dist/transformers/reverse/component.d.ts.map +0 -1
- package/dist/transformers/reverse/component.js +0 -37
- package/dist/transformers/reverse/component.js.map +0 -1
- package/dist/transformers/reverse/createApplicationCommand.d.ts.map +0 -1
- package/dist/transformers/reverse/createApplicationCommand.js +0 -27
- package/dist/transformers/reverse/createApplicationCommand.js.map +0 -1
- package/dist/transformers/reverse/embed.d.ts +0 -5
- package/dist/transformers/reverse/embed.d.ts.map +0 -1
- package/dist/transformers/reverse/embed.js +0 -43
- package/dist/transformers/reverse/embed.js.map +0 -1
- package/dist/transformers/reverse/emoji.d.ts +0 -5
- package/dist/transformers/reverse/emoji.d.ts.map +0 -1
- package/dist/transformers/reverse/emoji.js +0 -14
- package/dist/transformers/reverse/emoji.js.map +0 -1
- package/dist/transformers/reverse/gatewayBot.d.ts +0 -4
- package/dist/transformers/reverse/gatewayBot.d.ts.map +0 -1
- package/dist/transformers/reverse/gatewayBot.js +0 -14
- package/dist/transformers/reverse/gatewayBot.js.map +0 -1
- package/dist/transformers/reverse/index.d.ts +0 -20
- package/dist/transformers/reverse/index.d.ts.map +0 -1
- package/dist/transformers/reverse/index.js +0 -21
- package/dist/transformers/reverse/index.js.map +0 -1
- package/dist/transformers/reverse/interactionResponse.d.ts +0 -4
- package/dist/transformers/reverse/interactionResponse.d.ts.map +0 -1
- package/dist/transformers/reverse/interactionResponse.js +0 -24
- package/dist/transformers/reverse/interactionResponse.js.map +0 -1
- package/dist/transformers/reverse/member.d.ts +0 -7
- package/dist/transformers/reverse/member.d.ts.map +0 -1
- package/dist/transformers/reverse/member.js +0 -35
- package/dist/transformers/reverse/member.js.map +0 -1
- package/dist/transformers/reverse/presence.d.ts +0 -11
- package/dist/transformers/reverse/presence.d.ts.map +0 -1
- package/dist/transformers/reverse/presence.js +0 -23
- package/dist/transformers/reverse/presence.js.map +0 -1
- package/dist/transformers/reverse/team.d.ts +0 -5
- package/dist/transformers/reverse/team.d.ts.map +0 -1
- package/dist/transformers/reverse/team.js +0 -18
- package/dist/transformers/reverse/team.js.map +0 -1
- package/dist/transformers/reverse/widgetSettings.d.ts +0 -5
- package/dist/transformers/reverse/widgetSettings.d.ts.map +0 -1
- package/dist/transformers/reverse/widgetSettings.js +0 -8
- package/dist/transformers/reverse/widgetSettings.js.map +0 -1
- package/dist/transformers/role.d.ts +0 -77
- package/dist/transformers/role.d.ts.map +0 -1
- package/dist/transformers/role.js +0 -57
- package/dist/transformers/role.js.map +0 -1
- package/dist/transformers/scheduledEvent.d.ts +0 -66
- package/dist/transformers/scheduledEvent.d.ts.map +0 -1
- package/dist/transformers/scheduledEvent.js +0 -25
- package/dist/transformers/scheduledEvent.js.map +0 -1
- package/dist/transformers/stageInstance.d.ts +0 -12
- package/dist/transformers/stageInstance.d.ts.map +0 -1
- package/dist/transformers/stageInstance.js +0 -13
- package/dist/transformers/stageInstance.js.map +0 -1
- package/dist/transformers/sticker.d.ts +0 -72
- package/dist/transformers/sticker.d.ts.map +0 -1
- package/dist/transformers/sticker.js +0 -32
- package/dist/transformers/sticker.js.map +0 -1
- package/dist/transformers/team.d.ts +0 -17
- package/dist/transformers/team.d.ts.map +0 -1
- package/dist/transformers/team.js +0 -20
- package/dist/transformers/team.js.map +0 -1
- package/dist/transformers/template.d.ts +0 -416
- package/dist/transformers/template.d.ts.map +0 -1
- package/dist/transformers/template.js +0 -19
- package/dist/transformers/template.js.map +0 -1
- package/dist/transformers/threadMember.d.ts +0 -17
- package/dist/transformers/threadMember.d.ts.map +0 -1
- package/dist/transformers/threadMember.js +0 -19
- package/dist/transformers/threadMember.js.map +0 -1
- package/dist/transformers/toggles/Permissions.d.ts +0 -9
- package/dist/transformers/toggles/Permissions.d.ts.map +0 -1
- package/dist/transformers/toggles/Permissions.js +0 -18
- package/dist/transformers/toggles/Permissions.js.map +0 -1
- package/dist/transformers/toggles/ToggleBitfield.d.ts.map +0 -1
- package/dist/transformers/toggles/ToggleBitfield.js +0 -42
- package/dist/transformers/toggles/ToggleBitfield.js.map +0 -1
- package/dist/transformers/toggles/channel.d.ts +0 -33
- package/dist/transformers/toggles/channel.d.ts.map +0 -1
- package/dist/transformers/toggles/channel.js +0 -50
- package/dist/transformers/toggles/channel.js.map +0 -1
- package/dist/transformers/toggles/emoji.d.ts.map +0 -1
- package/dist/transformers/toggles/emoji.js +0 -45
- package/dist/transformers/toggles/emoji.js.map +0 -1
- package/dist/transformers/toggles/guild.d.ts +0 -130
- package/dist/transformers/toggles/guild.d.ts.map +0 -1
- package/dist/transformers/toggles/guild.js +0 -206
- package/dist/transformers/toggles/guild.js.map +0 -1
- package/dist/transformers/toggles/index.d.ts.map +0 -1
- package/dist/transformers/toggles/index.js +0 -11
- package/dist/transformers/toggles/index.js.map +0 -1
- package/dist/transformers/toggles/member.d.ts +0 -25
- package/dist/transformers/toggles/member.d.ts.map +0 -1
- package/dist/transformers/toggles/member.js +0 -40
- package/dist/transformers/toggles/member.js.map +0 -1
- package/dist/transformers/toggles/role.d.ts.map +0 -1
- package/dist/transformers/toggles/role.js +0 -55
- package/dist/transformers/toggles/role.js.map +0 -1
- package/dist/transformers/toggles/user.d.ts.map +0 -1
- package/dist/transformers/toggles/user.js +0 -45
- package/dist/transformers/toggles/user.js.map +0 -1
- package/dist/transformers/toggles/voice.d.ts.map +0 -1
- package/dist/transformers/toggles/voice.js +0 -60
- package/dist/transformers/toggles/voice.js.map +0 -1
- package/dist/transformers/user.d.ts +0 -44
- package/dist/transformers/user.d.ts.map +0 -1
- package/dist/transformers/user.js +0 -42
- package/dist/transformers/user.js.map +0 -1
- package/dist/transformers/voiceRegion.d.ts +0 -12
- package/dist/transformers/voiceRegion.d.ts.map +0 -1
- package/dist/transformers/voiceRegion.js +0 -14
- package/dist/transformers/voiceRegion.js.map +0 -1
- package/dist/transformers/voiceState.d.ts +0 -18
- package/dist/transformers/voiceState.d.ts.map +0 -1
- package/dist/transformers/voiceState.js +0 -15
- package/dist/transformers/voiceState.js.map +0 -1
- package/dist/transformers/webhook.d.ts +0 -69
- package/dist/transformers/webhook.d.ts.map +0 -1
- package/dist/transformers/webhook.js +0 -28
- package/dist/transformers/webhook.js.map +0 -1
- package/dist/transformers/welcomeScreen.d.ts +0 -14
- package/dist/transformers/welcomeScreen.d.ts.map +0 -1
- package/dist/transformers/welcomeScreen.js +0 -15
- package/dist/transformers/welcomeScreen.js.map +0 -1
- package/dist/transformers/widget.d.ts +0 -24
- package/dist/transformers/widget.d.ts.map +0 -1
- package/dist/transformers/widget.js +0 -26
- package/dist/transformers/widget.js.map +0 -1
- package/dist/transformers/widgetSettings.d.ts +0 -9
- package/dist/transformers/widgetSettings.d.ts.map +0 -1
- package/dist/transformers/widgetSettings.js +0 -10
- package/dist/transformers/widgetSettings.js.map +0 -1
- package/dist/transformers.d.ts +0 -382
- package/dist/transformers.d.ts.map +0 -1
- package/dist/transformers.js +0 -382
- package/dist/transformers.js.map +0 -1
- package/dist/typings.d.ts +0 -196
- package/dist/typings.d.ts.map +0 -1
- package/dist/typings.js +0 -19
- package/dist/typings.js.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -11
- package/dist/utils.js.map +0 -1
- /package/dist/{constants.d.ts → types/constants.d.ts} +0 -0
- /package/dist/{handlers → types/handlers}/channels/CHANNEL_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/CHANNEL_PINS_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/CHANNEL_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/STAGE_INSTANCE_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/STAGE_INSTANCE_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/STAGE_INSTANCE_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/THREAD_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/THREAD_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/THREAD_LIST_SYNC.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/THREAD_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/emojis/GUILD_EMOJIS_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/emojis/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/GUILD_BAN_ADD.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/GUILD_BAN_REMOVE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/GUILD_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/GUILD_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/GUILD_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/automod/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/integrations/INTEGRATION_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/integrations/INTEGRATION_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/integrations/INTEGRATION_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/integrations/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/interactions/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/invites/INVITE_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/invites/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/members/GUILD_MEMBER_REMOVE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/members/GUILD_MEMBER_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/members/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/MESSAGE_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/MESSAGE_DELETE_BULK.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_ADD.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_REMOVE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/misc/PRESENCE_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/misc/READY.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/misc/TYPING_START.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/misc/USER_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/misc/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/roles/GUILD_ROLE_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/roles/GUILD_ROLE_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/roles/GUILD_ROLE_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/roles/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/voice/VOICE_SERVER_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/voice/VOICE_STATE_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/webhooks/index.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/createApplicationCommand.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/ToggleBitfield.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/emoji.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/index.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/role.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/user.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/voice.d.ts +0 -0
- /package/dist/{utils.d.ts → types/utils.d.ts} +0 -0
|
@@ -0,0 +1,776 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "createBotHelpers", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return createBotHelpers;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _utils = require("@discordeno/utils");
|
|
12
|
+
function createBotHelpers(bot) {
|
|
13
|
+
return {
|
|
14
|
+
createAutomodRule: async (guildId, options, reason)=>{
|
|
15
|
+
return bot.transformers.automodRule(bot, (0, _utils.snakelize)(await bot.rest.createAutomodRule(guildId, options, reason)));
|
|
16
|
+
},
|
|
17
|
+
createChannel: async (guildId, options, reason)=>{
|
|
18
|
+
return bot.transformers.channel(bot, {
|
|
19
|
+
channel: (0, _utils.snakelize)(await bot.rest.createChannel(guildId, options, reason)),
|
|
20
|
+
guildId
|
|
21
|
+
});
|
|
22
|
+
},
|
|
23
|
+
createEmoji: async (guildId, options, reason)=>{
|
|
24
|
+
return bot.transformers.emoji(bot, (0, _utils.snakelize)(await bot.rest.createEmoji(guildId, options, reason)));
|
|
25
|
+
},
|
|
26
|
+
createApplicationEmoji: async (options)=>{
|
|
27
|
+
return bot.transformers.emoji(bot, (0, _utils.snakelize)(await bot.rest.createApplicationEmoji(options)));
|
|
28
|
+
},
|
|
29
|
+
createForumThread: async (channelId, options, reason)=>{
|
|
30
|
+
return bot.transformers.channel(bot, {
|
|
31
|
+
channel: (0, _utils.snakelize)(await bot.rest.createForumThread(channelId, options, reason))
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
createGlobalApplicationCommand: async (command, options)=>{
|
|
35
|
+
return bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(await bot.rest.createGlobalApplicationCommand(command, options)));
|
|
36
|
+
},
|
|
37
|
+
createGuild: async (options)=>{
|
|
38
|
+
return bot.transformers.guild(bot, {
|
|
39
|
+
guild: (0, _utils.snakelize)(await bot.rest.createGuild(options)),
|
|
40
|
+
shardId: 0
|
|
41
|
+
});
|
|
42
|
+
},
|
|
43
|
+
createGuildApplicationCommand: async (command, guildId, options)=>{
|
|
44
|
+
return bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(await bot.rest.createGuildApplicationCommand(command, guildId, options)));
|
|
45
|
+
},
|
|
46
|
+
createGuildFromTemplate: async (templateCode, options)=>{
|
|
47
|
+
return bot.transformers.guild(bot, {
|
|
48
|
+
guild: (0, _utils.snakelize)(await bot.rest.createGuildFromTemplate(templateCode, options)),
|
|
49
|
+
shardId: 0
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
createGuildSticker: async (guildId, options, reason)=>{
|
|
53
|
+
return bot.transformers.sticker(bot, (0, _utils.snakelize)(await bot.rest.createGuildSticker(guildId, options, reason)));
|
|
54
|
+
},
|
|
55
|
+
createGuildTemplate: async (guildId, options)=>{
|
|
56
|
+
return bot.transformers.template(bot, (0, _utils.snakelize)(await bot.rest.createGuildTemplate(guildId, options)));
|
|
57
|
+
},
|
|
58
|
+
createInvite: async (channelId, options, reason)=>{
|
|
59
|
+
return await bot.rest.createInvite(channelId, options, reason);
|
|
60
|
+
},
|
|
61
|
+
createRole: async (guildId, options, reason)=>{
|
|
62
|
+
return bot.transformers.role(bot, {
|
|
63
|
+
role: (0, _utils.snakelize)(await bot.rest.createRole(guildId, options, reason)),
|
|
64
|
+
guildId
|
|
65
|
+
});
|
|
66
|
+
},
|
|
67
|
+
createScheduledEvent: async (guildId, options, reason)=>{
|
|
68
|
+
return bot.transformers.scheduledEvent(bot, (0, _utils.snakelize)(await bot.rest.createScheduledEvent(guildId, options, reason)));
|
|
69
|
+
},
|
|
70
|
+
createStageInstance: async (options, reason)=>{
|
|
71
|
+
return bot.transformers.stageInstance(bot, (0, _utils.snakelize)(await bot.rest.createStageInstance(options, reason)));
|
|
72
|
+
},
|
|
73
|
+
createWebhook: async (channelId, options, reason)=>{
|
|
74
|
+
return bot.transformers.webhook(bot, (0, _utils.snakelize)(await bot.rest.createWebhook(channelId, options, reason)));
|
|
75
|
+
},
|
|
76
|
+
editApplicationCommandPermissions: async (guildId, commandId, bearerToken, options)=>{
|
|
77
|
+
return bot.transformers.applicationCommandPermission(bot, (0, _utils.snakelize)(await bot.rest.editApplicationCommandPermissions(guildId, commandId, bearerToken, options)));
|
|
78
|
+
},
|
|
79
|
+
editAutomodRule: async (guildId, ruleId, options, reason)=>{
|
|
80
|
+
return bot.transformers.automodRule(bot, (0, _utils.snakelize)(await bot.rest.editAutomodRule(guildId, ruleId, options, reason)));
|
|
81
|
+
},
|
|
82
|
+
editBotProfile: async (options)=>{
|
|
83
|
+
return bot.transformers.user(bot, (0, _utils.snakelize)(await bot.rest.editBotProfile(options)));
|
|
84
|
+
},
|
|
85
|
+
editChannel: async (channelId, options, reason)=>{
|
|
86
|
+
return bot.transformers.channel(bot, {
|
|
87
|
+
channel: (0, _utils.snakelize)(await bot.rest.editChannel(channelId, options, reason))
|
|
88
|
+
});
|
|
89
|
+
},
|
|
90
|
+
editEmoji: async (guildId, id, options, reason)=>{
|
|
91
|
+
return bot.transformers.emoji(bot, (0, _utils.snakelize)(await bot.rest.editEmoji(guildId, id, options, reason)));
|
|
92
|
+
},
|
|
93
|
+
editApplicationEmoji: async (id, options)=>{
|
|
94
|
+
return bot.transformers.emoji(bot, (0, _utils.snakelize)(await bot.rest.editApplicationEmoji(id, options)));
|
|
95
|
+
},
|
|
96
|
+
editFollowupMessage: async (token, messageId, options)=>{
|
|
97
|
+
return bot.transformers.message(bot, {
|
|
98
|
+
message: (0, _utils.snakelize)(await bot.rest.editFollowupMessage(token, messageId, options)),
|
|
99
|
+
shardId: 0
|
|
100
|
+
});
|
|
101
|
+
},
|
|
102
|
+
editGlobalApplicationCommand: async (commandId, options)=>{
|
|
103
|
+
return bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(await bot.rest.editGlobalApplicationCommand(commandId, options)));
|
|
104
|
+
},
|
|
105
|
+
editGuild: async (guildId, options, reason)=>{
|
|
106
|
+
return bot.transformers.guild(bot, {
|
|
107
|
+
guild: (0, _utils.snakelize)(await bot.rest.editGuild(guildId, options, reason)),
|
|
108
|
+
shardId: 0
|
|
109
|
+
});
|
|
110
|
+
},
|
|
111
|
+
editGuildApplicationCommand: async (commandId, guildId, options)=>{
|
|
112
|
+
return bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(await bot.rest.editGuildApplicationCommand(commandId, guildId, options)));
|
|
113
|
+
},
|
|
114
|
+
editGuildSticker: async (guildId, stickerId, options, reason)=>{
|
|
115
|
+
return bot.transformers.sticker(bot, (0, _utils.snakelize)(await bot.rest.editGuildSticker(guildId, stickerId, options, reason)));
|
|
116
|
+
},
|
|
117
|
+
editGuildTemplate: async (guildId, templateCode, options)=>{
|
|
118
|
+
return bot.transformers.template(bot, (0, _utils.snakelize)(await bot.rest.editGuildTemplate(guildId, templateCode, options)));
|
|
119
|
+
},
|
|
120
|
+
editMessage: async (channelId, messageId, options)=>{
|
|
121
|
+
return bot.transformers.message(bot, {
|
|
122
|
+
message: (0, _utils.snakelize)(await bot.rest.editMessage(channelId, messageId, options)),
|
|
123
|
+
shardId: 0
|
|
124
|
+
});
|
|
125
|
+
},
|
|
126
|
+
editOriginalInteractionResponse: async (token, options)=>{
|
|
127
|
+
return bot.transformers.message(bot, {
|
|
128
|
+
message: (0, _utils.snakelize)(await bot.rest.editOriginalInteractionResponse(token, options)),
|
|
129
|
+
shardId: 0
|
|
130
|
+
});
|
|
131
|
+
},
|
|
132
|
+
editOriginalWebhookMessage: async (webhookId, token, options)=>{
|
|
133
|
+
return bot.transformers.message(bot, {
|
|
134
|
+
message: (0, _utils.snakelize)(await bot.rest.editOriginalWebhookMessage(webhookId, token, options)),
|
|
135
|
+
shardId: 0
|
|
136
|
+
});
|
|
137
|
+
},
|
|
138
|
+
editRole: async (guildId, roleId, options, reason)=>{
|
|
139
|
+
return bot.transformers.role(bot, {
|
|
140
|
+
role: (0, _utils.snakelize)(await bot.rest.editRole(guildId, roleId, options, reason)),
|
|
141
|
+
guildId
|
|
142
|
+
});
|
|
143
|
+
},
|
|
144
|
+
editRolePositions: async (guildId, options, reason)=>{
|
|
145
|
+
return (0, _utils.snakelize)(await bot.rest.editRolePositions(guildId, options, reason)).map((role)=>bot.transformers.role(bot, {
|
|
146
|
+
role,
|
|
147
|
+
guildId
|
|
148
|
+
}));
|
|
149
|
+
},
|
|
150
|
+
editScheduledEvent: async (guildId, eventId, options, reason)=>{
|
|
151
|
+
return bot.transformers.scheduledEvent(bot, (0, _utils.snakelize)(await bot.rest.editScheduledEvent(guildId, eventId, options, reason)));
|
|
152
|
+
},
|
|
153
|
+
editStageInstance: async (channelId, topic, reason)=>{
|
|
154
|
+
return bot.transformers.stageInstance(bot, (0, _utils.snakelize)(await bot.rest.editStageInstance(channelId, topic, reason)));
|
|
155
|
+
},
|
|
156
|
+
editWebhook: async (webhookId, options, reason)=>{
|
|
157
|
+
return bot.transformers.webhook(bot, (0, _utils.snakelize)(await bot.rest.editWebhook(webhookId, options, reason)));
|
|
158
|
+
},
|
|
159
|
+
editWebhookMessage: async (webhookId, token, messageId, options)=>{
|
|
160
|
+
return bot.transformers.message(bot, {
|
|
161
|
+
message: (0, _utils.snakelize)(await bot.rest.editWebhookMessage(webhookId, token, messageId, options)),
|
|
162
|
+
shardId: 0
|
|
163
|
+
});
|
|
164
|
+
},
|
|
165
|
+
editWebhookWithToken: async (webhookId, token, options)=>{
|
|
166
|
+
return bot.transformers.webhook(bot, (0, _utils.snakelize)(await bot.rest.editWebhookWithToken(webhookId, token, options)));
|
|
167
|
+
},
|
|
168
|
+
editWelcomeScreen: async (guildId, options, reason)=>{
|
|
169
|
+
return bot.transformers.welcomeScreen(bot, (0, _utils.snakelize)(await bot.rest.editWelcomeScreen(guildId, options, reason)));
|
|
170
|
+
},
|
|
171
|
+
editWidgetSettings: async (guildId, options, reason)=>{
|
|
172
|
+
return bot.transformers.widgetSettings(bot, (0, _utils.snakelize)(await bot.rest.editWidgetSettings(guildId, options, reason)));
|
|
173
|
+
},
|
|
174
|
+
executeWebhook: async (webhookId, token, options)=>{
|
|
175
|
+
const result = await bot.rest.executeWebhook(webhookId, token, options);
|
|
176
|
+
if (!result) return;
|
|
177
|
+
return bot.transformers.message(bot, {
|
|
178
|
+
message: (0, _utils.snakelize)(result),
|
|
179
|
+
shardId: 0
|
|
180
|
+
});
|
|
181
|
+
},
|
|
182
|
+
followAnnouncement: async (sourceChannelId, targetChannelId)=>{
|
|
183
|
+
return await bot.rest.followAnnouncement(sourceChannelId, targetChannelId);
|
|
184
|
+
},
|
|
185
|
+
getActiveThreads: async (guildId)=>{
|
|
186
|
+
const result = await bot.rest.getActiveThreads(guildId);
|
|
187
|
+
return {
|
|
188
|
+
threads: result.threads.map((thread)=>bot.transformers.channel(bot, {
|
|
189
|
+
guildId,
|
|
190
|
+
channel: (0, _utils.snakelize)(thread)
|
|
191
|
+
})),
|
|
192
|
+
members: result.members.map((member)=>bot.transformers.threadMember(bot, (0, _utils.snakelize)(member)))
|
|
193
|
+
};
|
|
194
|
+
},
|
|
195
|
+
getApplicationInfo: async ()=>{
|
|
196
|
+
return bot.transformers.application(bot, {
|
|
197
|
+
application: (0, _utils.snakelize)(await bot.rest.getApplicationInfo()),
|
|
198
|
+
shardId: 0
|
|
199
|
+
});
|
|
200
|
+
},
|
|
201
|
+
editApplicationInfo: async (body)=>{
|
|
202
|
+
return bot.transformers.application(bot, {
|
|
203
|
+
application: (0, _utils.snakelize)(await bot.rest.editApplicationInfo(body)),
|
|
204
|
+
shardId: 0
|
|
205
|
+
});
|
|
206
|
+
},
|
|
207
|
+
getCurrentAuthenticationInfo: async (bearerToken)=>{
|
|
208
|
+
return await bot.rest.getCurrentAuthenticationInfo(bearerToken);
|
|
209
|
+
},
|
|
210
|
+
exchangeToken: async (clientId, clientSecret, options)=>{
|
|
211
|
+
return await bot.rest.exchangeToken(clientId, clientSecret, options);
|
|
212
|
+
},
|
|
213
|
+
revokeToken: async (clientId, clientSecret, options)=>{
|
|
214
|
+
return await bot.rest.revokeToken(clientId, clientSecret, options);
|
|
215
|
+
},
|
|
216
|
+
getApplicationCommandPermission: async (guildId, commandId, options)=>{
|
|
217
|
+
const res = await bot.rest.getApplicationCommandPermission(guildId, commandId, options);
|
|
218
|
+
const snakedRes = (0, _utils.snakelize)(res);
|
|
219
|
+
return bot.transformers.applicationCommandPermission(bot, snakedRes);
|
|
220
|
+
},
|
|
221
|
+
getApplicationCommandPermissions: async (guildId, options)=>{
|
|
222
|
+
return (await bot.rest.getApplicationCommandPermissions(guildId, options)).map((res)=>bot.transformers.applicationCommandPermission(bot, (0, _utils.snakelize)(res)));
|
|
223
|
+
},
|
|
224
|
+
getAuditLog: async (guildId, options)=>{
|
|
225
|
+
return await bot.rest.getAuditLog(guildId, options);
|
|
226
|
+
},
|
|
227
|
+
getAutomodRule: async (guildId, ruleId)=>{
|
|
228
|
+
return bot.transformers.automodRule(bot, (0, _utils.snakelize)(await bot.rest.getAutomodRule(guildId, ruleId)));
|
|
229
|
+
},
|
|
230
|
+
getAutomodRules: async (guildId)=>{
|
|
231
|
+
return (await bot.rest.getAutomodRules(guildId)).map((res)=>bot.transformers.automodRule(bot, (0, _utils.snakelize)(res)));
|
|
232
|
+
},
|
|
233
|
+
getAvailableVoiceRegions: async ()=>{
|
|
234
|
+
return (await bot.rest.getAvailableVoiceRegions()).map((res)=>bot.transformers.voiceRegion(bot, (0, _utils.snakelize)(res)));
|
|
235
|
+
},
|
|
236
|
+
getBan: async (guildId, userId)=>{
|
|
237
|
+
return await bot.rest.getBan(guildId, userId);
|
|
238
|
+
},
|
|
239
|
+
getBans: async (guildId, options)=>{
|
|
240
|
+
return await bot.rest.getBans(guildId, options);
|
|
241
|
+
},
|
|
242
|
+
getChannel: async (channelId)=>{
|
|
243
|
+
return bot.transformers.channel(bot, {
|
|
244
|
+
channel: (0, _utils.snakelize)(await bot.rest.getChannel(channelId))
|
|
245
|
+
});
|
|
246
|
+
},
|
|
247
|
+
getChannelInvites: async (channelId)=>{
|
|
248
|
+
return await bot.rest.getChannelInvites(channelId);
|
|
249
|
+
// return (await bot.rest.getChannelInvites(channelId)).map((res) => bot.transformers.invite(bot, snakelize(res)))
|
|
250
|
+
},
|
|
251
|
+
getChannels: async (guildId)=>{
|
|
252
|
+
return (await bot.rest.getChannels(guildId)).map((res)=>bot.transformers.channel(bot, {
|
|
253
|
+
channel: (0, _utils.snakelize)(res),
|
|
254
|
+
guildId
|
|
255
|
+
}));
|
|
256
|
+
},
|
|
257
|
+
getChannelWebhooks: async (channelId)=>{
|
|
258
|
+
return (await bot.rest.getChannelWebhooks(channelId)).map((res)=>bot.transformers.webhook(bot, (0, _utils.snakelize)(res)));
|
|
259
|
+
},
|
|
260
|
+
getDmChannel: async (userId)=>{
|
|
261
|
+
return bot.transformers.channel(bot, {
|
|
262
|
+
channel: (0, _utils.snakelize)(await bot.rest.getDmChannel(userId))
|
|
263
|
+
});
|
|
264
|
+
},
|
|
265
|
+
getGroupDmChannel: async (options)=>{
|
|
266
|
+
return bot.transformers.channel(bot, {
|
|
267
|
+
channel: (0, _utils.snakelize)(await bot.rest.getGroupDmChannel(options))
|
|
268
|
+
});
|
|
269
|
+
},
|
|
270
|
+
getEmoji: async (guildId, emojiId)=>{
|
|
271
|
+
return bot.transformers.emoji(bot, (0, _utils.snakelize)(await bot.rest.getEmoji(guildId, emojiId)));
|
|
272
|
+
},
|
|
273
|
+
getApplicationEmoji: async (emojiId)=>{
|
|
274
|
+
return bot.transformers.emoji(bot, (0, _utils.snakelize)(await bot.rest.getApplicationEmoji(emojiId)));
|
|
275
|
+
},
|
|
276
|
+
getEmojis: async (guildId)=>{
|
|
277
|
+
return (await bot.rest.getEmojis(guildId)).map((res)=>bot.transformers.emoji(bot, (0, _utils.snakelize)(res)));
|
|
278
|
+
},
|
|
279
|
+
getApplicationEmojis: async ()=>{
|
|
280
|
+
const res = await bot.rest.getApplicationEmojis();
|
|
281
|
+
return {
|
|
282
|
+
items: res.items.map((item)=>bot.transformers.emoji(bot, (0, _utils.snakelize)(item)))
|
|
283
|
+
};
|
|
284
|
+
},
|
|
285
|
+
getFollowupMessage: async (token, messageId)=>{
|
|
286
|
+
return bot.transformers.message(bot, {
|
|
287
|
+
message: (0, _utils.snakelize)(await bot.rest.getFollowupMessage(token, messageId)),
|
|
288
|
+
shardId: 0
|
|
289
|
+
});
|
|
290
|
+
},
|
|
291
|
+
getGatewayBot: async ()=>{
|
|
292
|
+
return bot.transformers.gatewayBot(bot, (0, _utils.snakelize)(await bot.rest.getGatewayBot()));
|
|
293
|
+
},
|
|
294
|
+
getGlobalApplicationCommand: async (commandId)=>{
|
|
295
|
+
return bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(await bot.rest.getGlobalApplicationCommand(commandId)));
|
|
296
|
+
},
|
|
297
|
+
getGlobalApplicationCommands: async ()=>{
|
|
298
|
+
return (await bot.rest.getGlobalApplicationCommands()).map((res)=>bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(res)));
|
|
299
|
+
},
|
|
300
|
+
getGuild: async (guildId, options)=>{
|
|
301
|
+
return bot.transformers.guild(bot, {
|
|
302
|
+
guild: (0, _utils.snakelize)(await bot.rest.getGuild(guildId, options)),
|
|
303
|
+
shardId: 0
|
|
304
|
+
});
|
|
305
|
+
},
|
|
306
|
+
getGuilds: async (bearerToken, options)=>{
|
|
307
|
+
return (await bot.rest.getGuilds(bearerToken, options)).map((res)=>// @ts-expect-error getGuilds returns partial guilds
|
|
308
|
+
bot.transformers.guild(bot, {
|
|
309
|
+
guild: (0, _utils.snakelize)(res),
|
|
310
|
+
shardId: 0
|
|
311
|
+
}));
|
|
312
|
+
},
|
|
313
|
+
getGuildApplicationCommand: async (commandId, guildId)=>{
|
|
314
|
+
return bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(await bot.rest.getGuildApplicationCommand(commandId, guildId)));
|
|
315
|
+
},
|
|
316
|
+
getGuildApplicationCommands: async (guildId)=>{
|
|
317
|
+
return (await bot.rest.getGuildApplicationCommands(guildId)).map((res)=>bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(res)));
|
|
318
|
+
},
|
|
319
|
+
getGuildPreview: async (guildId)=>{
|
|
320
|
+
return await bot.rest.getGuildPreview(guildId);
|
|
321
|
+
// return bot.transformers.xxx(bot, snakelize(await bot.rest.getGuildPreview(guildId)))
|
|
322
|
+
},
|
|
323
|
+
getGuildSticker: async (guildId, stickerId)=>{
|
|
324
|
+
return bot.transformers.sticker(bot, (0, _utils.snakelize)(await bot.rest.getGuildSticker(guildId, stickerId)));
|
|
325
|
+
},
|
|
326
|
+
getGuildStickers: async (guildId)=>{
|
|
327
|
+
return (await bot.rest.getGuildStickers(guildId)).map((res)=>bot.transformers.sticker(bot, (0, _utils.snakelize)(res)));
|
|
328
|
+
},
|
|
329
|
+
getGuildTemplate: async (templateCode)=>{
|
|
330
|
+
return bot.transformers.template(bot, (0, _utils.snakelize)(await bot.rest.getGuildTemplate(templateCode)));
|
|
331
|
+
},
|
|
332
|
+
getGuildTemplates: async (guildId)=>{
|
|
333
|
+
return (await bot.rest.getGuildTemplates(guildId)).map((res)=>bot.transformers.template(bot, (0, _utils.snakelize)(res)));
|
|
334
|
+
},
|
|
335
|
+
getGuildWebhooks: async (guildId)=>{
|
|
336
|
+
return (await bot.rest.getGuildWebhooks(guildId)).map((res)=>bot.transformers.webhook(bot, (0, _utils.snakelize)(res)));
|
|
337
|
+
},
|
|
338
|
+
getIntegrations: async (guildId)=>{
|
|
339
|
+
return (await bot.rest.getIntegrations(guildId)).map((res)=>bot.transformers.integration(bot, (0, _utils.snakelize)({
|
|
340
|
+
...res,
|
|
341
|
+
guildId: guildId.toString()
|
|
342
|
+
})));
|
|
343
|
+
},
|
|
344
|
+
getInvite: async (inviteCode, options)=>{
|
|
345
|
+
return bot.transformers.invite(bot, {
|
|
346
|
+
invite: (0, _utils.snakelize)(await bot.rest.getInvite(inviteCode, options)),
|
|
347
|
+
shardId: 0
|
|
348
|
+
});
|
|
349
|
+
},
|
|
350
|
+
getInvites: async (guildId)=>{
|
|
351
|
+
return (await bot.rest.getInvites(guildId)).map((res)=>bot.transformers.invite(bot, {
|
|
352
|
+
invite: (0, _utils.snakelize)(res),
|
|
353
|
+
shardId: 0
|
|
354
|
+
}));
|
|
355
|
+
},
|
|
356
|
+
getMessage: async (channelId, messageId)=>{
|
|
357
|
+
return bot.transformers.message(bot, {
|
|
358
|
+
message: (0, _utils.snakelize)(await bot.rest.getMessage(channelId, messageId)),
|
|
359
|
+
shardId: 0
|
|
360
|
+
});
|
|
361
|
+
},
|
|
362
|
+
getMessages: async (channelId, options)=>{
|
|
363
|
+
return (await bot.rest.getMessages(channelId, options)).map((res)=>bot.transformers.message(bot, {
|
|
364
|
+
message: (0, _utils.snakelize)(res),
|
|
365
|
+
shardId: 0
|
|
366
|
+
}));
|
|
367
|
+
},
|
|
368
|
+
getStickerPack: async (stickerPackId)=>{
|
|
369
|
+
return bot.transformers.stickerPack(bot, (0, _utils.snakelize)(await bot.rest.getStickerPack(stickerPackId)));
|
|
370
|
+
},
|
|
371
|
+
getStickerPacks: async ()=>{
|
|
372
|
+
return (await bot.rest.getStickerPacks()).map((res)=>bot.transformers.stickerPack(bot, (0, _utils.snakelize)(res)));
|
|
373
|
+
},
|
|
374
|
+
getOriginalInteractionResponse: async (token)=>{
|
|
375
|
+
return bot.transformers.message(bot, {
|
|
376
|
+
message: (0, _utils.snakelize)(await bot.rest.getOriginalInteractionResponse(token)),
|
|
377
|
+
shardId: 0
|
|
378
|
+
});
|
|
379
|
+
},
|
|
380
|
+
getPinnedMessages: async (channelId)=>{
|
|
381
|
+
return (await bot.rest.getPinnedMessages(channelId)).map((res)=>bot.transformers.message(bot, {
|
|
382
|
+
message: (0, _utils.snakelize)(res),
|
|
383
|
+
shardId: 0
|
|
384
|
+
}));
|
|
385
|
+
},
|
|
386
|
+
getPrivateArchivedThreads: async (channelId, options)=>{
|
|
387
|
+
return await bot.rest.getPrivateArchivedThreads(channelId, options);
|
|
388
|
+
},
|
|
389
|
+
getPrivateJoinedArchivedThreads: async (channelId, options)=>{
|
|
390
|
+
return await bot.rest.getPrivateJoinedArchivedThreads(channelId, options);
|
|
391
|
+
},
|
|
392
|
+
getPruneCount: async (guildId, options)=>{
|
|
393
|
+
return await bot.rest.getPruneCount(guildId, options);
|
|
394
|
+
},
|
|
395
|
+
getPublicArchivedThreads: async (channelId, options)=>{
|
|
396
|
+
return await bot.rest.getPublicArchivedThreads(channelId, options);
|
|
397
|
+
},
|
|
398
|
+
getRoles: async (guildId)=>{
|
|
399
|
+
return (0, _utils.snakelize)(await bot.rest.getRoles(guildId)).map((role)=>bot.transformers.role(bot, {
|
|
400
|
+
role,
|
|
401
|
+
guildId
|
|
402
|
+
}));
|
|
403
|
+
},
|
|
404
|
+
getRole: async (guildId, roleId)=>{
|
|
405
|
+
return bot.transformers.role(bot, {
|
|
406
|
+
role: (0, _utils.snakelize)(await bot.rest.getRole(guildId, roleId)),
|
|
407
|
+
guildId
|
|
408
|
+
});
|
|
409
|
+
},
|
|
410
|
+
getScheduledEvent: async (guildId, eventId, options)=>{
|
|
411
|
+
return bot.transformers.scheduledEvent(bot, (0, _utils.snakelize)(await bot.rest.getScheduledEvent(guildId, eventId, options)));
|
|
412
|
+
},
|
|
413
|
+
getScheduledEvents: async (guildId, options)=>{
|
|
414
|
+
return (await bot.rest.getScheduledEvents(guildId, options)).map((res)=>bot.transformers.scheduledEvent(bot, (0, _utils.snakelize)(res)));
|
|
415
|
+
},
|
|
416
|
+
getScheduledEventUsers: async (guildId, eventId, options)=>{
|
|
417
|
+
return (await bot.rest.getScheduledEventUsers(guildId, eventId, options)).map((u)=>{
|
|
418
|
+
return {
|
|
419
|
+
user: bot.transformers.user(bot, (0, _utils.snakelize)(u.user)),
|
|
420
|
+
member: u.member && bot.transformers.member(bot, (0, _utils.snakelize)(u.member), guildId, bot.transformers.snowflake(u.user.id))
|
|
421
|
+
};
|
|
422
|
+
});
|
|
423
|
+
},
|
|
424
|
+
getSessionInfo: async ()=>{
|
|
425
|
+
return bot.transformers.gatewayBot(bot, (0, _utils.snakelize)(await bot.rest.getSessionInfo()));
|
|
426
|
+
},
|
|
427
|
+
getStageInstance: async (channelId)=>{
|
|
428
|
+
return bot.transformers.stageInstance(bot, (0, _utils.snakelize)(await bot.rest.getStageInstance(channelId)));
|
|
429
|
+
},
|
|
430
|
+
getOwnVoiceState: async (guildId)=>{
|
|
431
|
+
return bot.transformers.voiceState(bot, {
|
|
432
|
+
guildId,
|
|
433
|
+
voiceState: (0, _utils.snakelize)(await bot.rest.getOwnVoiceState(guildId))
|
|
434
|
+
});
|
|
435
|
+
},
|
|
436
|
+
getUserVoiceState: async (guildId, userId)=>{
|
|
437
|
+
return bot.transformers.voiceState(bot, {
|
|
438
|
+
guildId,
|
|
439
|
+
voiceState: (0, _utils.snakelize)(await bot.rest.getUserVoiceState(guildId, userId))
|
|
440
|
+
});
|
|
441
|
+
},
|
|
442
|
+
getSticker: async (stickerId)=>{
|
|
443
|
+
return bot.transformers.sticker(bot, (0, _utils.snakelize)(await bot.rest.getSticker(stickerId)));
|
|
444
|
+
},
|
|
445
|
+
getThreadMember: async (channelId, userId)=>{
|
|
446
|
+
return bot.transformers.threadMember(bot, (0, _utils.snakelize)(await bot.rest.getThreadMember(channelId, userId)));
|
|
447
|
+
},
|
|
448
|
+
getThreadMembers: async (channelId)=>{
|
|
449
|
+
return (await bot.rest.getThreadMembers(channelId)).map((res)=>bot.transformers.threadMember(bot, (0, _utils.snakelize)(res)));
|
|
450
|
+
},
|
|
451
|
+
getReactions: async (channelId, messageId, reaction, options)=>{
|
|
452
|
+
return (await bot.rest.getReactions(channelId, messageId, reaction, options)).map((res)=>bot.transformers.user(bot, (0, _utils.snakelize)(res)));
|
|
453
|
+
},
|
|
454
|
+
getUser: async (id)=>{
|
|
455
|
+
return bot.transformers.user(bot, (0, _utils.snakelize)(await bot.rest.getUser(id)));
|
|
456
|
+
},
|
|
457
|
+
getCurrentUser: async (bearerToken)=>{
|
|
458
|
+
return bot.transformers.user(bot, (0, _utils.snakelize)(await bot.rest.getCurrentUser(bearerToken)));
|
|
459
|
+
},
|
|
460
|
+
getUserConnections: async (bearerToken)=>{
|
|
461
|
+
return await bot.rest.getUserConnections(bearerToken);
|
|
462
|
+
},
|
|
463
|
+
getUserApplicationRoleConnection: async (bearerToken, applicationId)=>{
|
|
464
|
+
return await bot.rest.getUserApplicationRoleConnection(bearerToken, applicationId);
|
|
465
|
+
},
|
|
466
|
+
getVanityUrl: async (guildId)=>{
|
|
467
|
+
return await bot.rest.getVanityUrl(guildId);
|
|
468
|
+
},
|
|
469
|
+
getVoiceRegions: async (guildId)=>{
|
|
470
|
+
return (await bot.rest.getVoiceRegions(guildId)).map((res)=>bot.transformers.voiceRegion(bot, (0, _utils.snakelize)(res)));
|
|
471
|
+
},
|
|
472
|
+
getWebhook: async (webhookId)=>{
|
|
473
|
+
return bot.transformers.webhook(bot, (0, _utils.snakelize)(await bot.rest.getWebhook(webhookId)));
|
|
474
|
+
},
|
|
475
|
+
getWebhookMessage: async (webhookId, token, messageId, options)=>{
|
|
476
|
+
return bot.transformers.message(bot, {
|
|
477
|
+
message: (0, _utils.snakelize)(await bot.rest.getWebhookMessage(webhookId, token, messageId, options)),
|
|
478
|
+
shardId: 0
|
|
479
|
+
});
|
|
480
|
+
},
|
|
481
|
+
getWebhookWithToken: async (webhookId, token)=>{
|
|
482
|
+
return bot.transformers.webhook(bot, (0, _utils.snakelize)(await bot.rest.getWebhookWithToken(webhookId, token)));
|
|
483
|
+
},
|
|
484
|
+
getWelcomeScreen: async (guildId)=>{
|
|
485
|
+
return bot.transformers.welcomeScreen(bot, (0, _utils.snakelize)(await bot.rest.getWelcomeScreen(guildId)));
|
|
486
|
+
},
|
|
487
|
+
getWidget: async (guildId)=>{
|
|
488
|
+
return bot.transformers.widget(bot, (0, _utils.snakelize)(await bot.rest.getWidget(guildId)));
|
|
489
|
+
},
|
|
490
|
+
getWidgetSettings: async (guildId)=>{
|
|
491
|
+
return bot.transformers.widgetSettings(bot, (0, _utils.snakelize)(await bot.rest.getWidgetSettings(guildId)));
|
|
492
|
+
},
|
|
493
|
+
publishMessage: async (channelId, messageId)=>{
|
|
494
|
+
return bot.transformers.message(bot, {
|
|
495
|
+
message: (0, _utils.snakelize)(await bot.rest.publishMessage(channelId, messageId)),
|
|
496
|
+
shardId: 0
|
|
497
|
+
});
|
|
498
|
+
},
|
|
499
|
+
sendMessage: async (channelId, options)=>{
|
|
500
|
+
return bot.transformers.message(bot, {
|
|
501
|
+
message: (0, _utils.snakelize)(await bot.rest.sendMessage(channelId, options)),
|
|
502
|
+
shardId: 0
|
|
503
|
+
});
|
|
504
|
+
},
|
|
505
|
+
sendFollowupMessage: async (token, options)=>{
|
|
506
|
+
return bot.transformers.message(bot, {
|
|
507
|
+
message: (0, _utils.snakelize)(await bot.rest.sendFollowupMessage(token, options)),
|
|
508
|
+
shardId: 0
|
|
509
|
+
});
|
|
510
|
+
},
|
|
511
|
+
startThreadWithMessage: async (channelId, messageId, options, reason)=>{
|
|
512
|
+
return bot.transformers.channel(bot, {
|
|
513
|
+
channel: (0, _utils.snakelize)(await bot.rest.startThreadWithMessage(channelId, messageId, options, reason))
|
|
514
|
+
});
|
|
515
|
+
},
|
|
516
|
+
startThreadWithoutMessage: async (channelId, options, reason)=>{
|
|
517
|
+
return bot.transformers.channel(bot, {
|
|
518
|
+
channel: (0, _utils.snakelize)(await bot.rest.startThreadWithoutMessage(channelId, options, reason))
|
|
519
|
+
});
|
|
520
|
+
},
|
|
521
|
+
syncGuildTemplate: async (guildId)=>{
|
|
522
|
+
return bot.transformers.template(bot, (0, _utils.snakelize)(await bot.rest.syncGuildTemplate(guildId)));
|
|
523
|
+
},
|
|
524
|
+
upsertGlobalApplicationCommands: async (commands, options)=>{
|
|
525
|
+
return (await bot.rest.upsertGlobalApplicationCommands(commands, options)).map((res)=>bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(res)));
|
|
526
|
+
},
|
|
527
|
+
upsertGuildApplicationCommands: async (guildId, commands, options)=>{
|
|
528
|
+
return (await bot.rest.upsertGuildApplicationCommands(guildId, commands, options)).map((res)=>bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(res)));
|
|
529
|
+
},
|
|
530
|
+
editBotMember: async (guildId, options, reason)=>{
|
|
531
|
+
return bot.transformers.member(bot, (0, _utils.snakelize)(await bot.rest.editBotMember(guildId, options, reason)), guildId, bot.id);
|
|
532
|
+
},
|
|
533
|
+
editMember: async (guildId, userId, options, reason)=>{
|
|
534
|
+
return bot.transformers.member(bot, (0, _utils.snakelize)(await bot.rest.editMember(guildId, userId, options, reason)), guildId, userId);
|
|
535
|
+
},
|
|
536
|
+
getMember: async (guildId, userId)=>{
|
|
537
|
+
return bot.transformers.member(bot, (0, _utils.snakelize)(await bot.rest.getMember(guildId, userId)), guildId, userId);
|
|
538
|
+
},
|
|
539
|
+
getCurrentMember: async (guildId, bearerToken)=>{
|
|
540
|
+
const res = await bot.rest.getCurrentMember(guildId, bearerToken);
|
|
541
|
+
return bot.transformers.member(bot, (0, _utils.snakelize)(res), guildId, bot.transformers.snowflake(res.user.id));
|
|
542
|
+
},
|
|
543
|
+
getMembers: async (guildId, options)=>{
|
|
544
|
+
return (await bot.rest.getMembers(guildId, options)).map((res)=>bot.transformers.member(bot, (0, _utils.snakelize)(res), guildId, bot.transformers.snowflake(res.user.id)));
|
|
545
|
+
},
|
|
546
|
+
pruneMembers: async (guildId, options, reason)=>{
|
|
547
|
+
return await bot.rest.pruneMembers(guildId, options, reason);
|
|
548
|
+
},
|
|
549
|
+
searchMembers: async (guildId, query, options)=>{
|
|
550
|
+
return (await bot.rest.searchMembers(guildId, query, options)).map((res)=>bot.transformers.member(bot, (0, _utils.snakelize)(res), guildId, bot.transformers.snowflake(res.user.id)));
|
|
551
|
+
},
|
|
552
|
+
bulkBanMembers: async (guildId, options, reason)=>{
|
|
553
|
+
const res = await bot.rest.bulkBanMembers(guildId, options, reason);
|
|
554
|
+
return {
|
|
555
|
+
bannedUsers: res.bannedUsers.map((x)=>bot.transformers.snowflake(x)),
|
|
556
|
+
failedUsers: res.failedUsers.map((x)=>bot.transformers.snowflake(x))
|
|
557
|
+
};
|
|
558
|
+
},
|
|
559
|
+
getApplicationActivityInstance: async (applicationId, instanceId)=>{
|
|
560
|
+
return await bot.rest.getApplicationActivityInstance(applicationId, instanceId);
|
|
561
|
+
},
|
|
562
|
+
// All useless void return functions here
|
|
563
|
+
addReaction: async (channelId, messageId, reaction)=>{
|
|
564
|
+
return await bot.rest.addReaction(channelId, messageId, reaction);
|
|
565
|
+
},
|
|
566
|
+
addReactions: async (channelId, messageId, reactions, ordered)=>{
|
|
567
|
+
return await bot.rest.addReactions(channelId, messageId, reactions, ordered);
|
|
568
|
+
},
|
|
569
|
+
addRole: async (guildId, userId, roleId, reason)=>{
|
|
570
|
+
return await bot.rest.addRole(guildId, userId, roleId, reason);
|
|
571
|
+
},
|
|
572
|
+
addThreadMember: async (channelId, userId)=>{
|
|
573
|
+
return await bot.rest.addThreadMember(channelId, userId);
|
|
574
|
+
},
|
|
575
|
+
addDmRecipient: async (channelId, userId, options)=>{
|
|
576
|
+
return await bot.rest.addDmRecipient(channelId, userId, options);
|
|
577
|
+
},
|
|
578
|
+
addGuildMember: async (guildId, userId, options)=>{
|
|
579
|
+
return await bot.rest.addGuildMember(guildId, userId, options);
|
|
580
|
+
},
|
|
581
|
+
deleteAutomodRule: async (guildId, ruleId, reason)=>{
|
|
582
|
+
return await bot.rest.deleteAutomodRule(guildId, ruleId, reason);
|
|
583
|
+
},
|
|
584
|
+
deleteChannel: async (channelId, reason)=>{
|
|
585
|
+
return await bot.rest.deleteChannel(channelId, reason);
|
|
586
|
+
},
|
|
587
|
+
deleteChannelPermissionOverride: async (channelId, overwriteId, reason)=>{
|
|
588
|
+
return await bot.rest.deleteChannelPermissionOverride(channelId, overwriteId, reason);
|
|
589
|
+
},
|
|
590
|
+
deleteEmoji: async (guildId, id, reason)=>{
|
|
591
|
+
return await bot.rest.deleteEmoji(guildId, id, reason);
|
|
592
|
+
},
|
|
593
|
+
deleteApplicationEmoji: async (id)=>{
|
|
594
|
+
return await bot.rest.deleteApplicationEmoji(id);
|
|
595
|
+
},
|
|
596
|
+
deleteFollowupMessage: async (token, messageId)=>{
|
|
597
|
+
return await bot.rest.deleteFollowupMessage(token, messageId);
|
|
598
|
+
},
|
|
599
|
+
deleteGlobalApplicationCommand: async (commandId)=>{
|
|
600
|
+
return await bot.rest.deleteGlobalApplicationCommand(commandId);
|
|
601
|
+
},
|
|
602
|
+
deleteGuild: async (guildId)=>{
|
|
603
|
+
return await bot.rest.deleteGuild(guildId);
|
|
604
|
+
},
|
|
605
|
+
deleteGuildApplicationCommand: async (commandId, guildId)=>{
|
|
606
|
+
return await bot.rest.deleteGuildApplicationCommand(commandId, guildId);
|
|
607
|
+
},
|
|
608
|
+
deleteGuildSticker: async (guildId, stickerId, reason)=>{
|
|
609
|
+
return await bot.rest.deleteGuildSticker(guildId, stickerId, reason);
|
|
610
|
+
},
|
|
611
|
+
deleteGuildTemplate: async (guildId, templateCode)=>{
|
|
612
|
+
return await bot.rest.deleteGuildTemplate(guildId, templateCode);
|
|
613
|
+
},
|
|
614
|
+
deleteIntegration: async (guildId, integrationId, reason)=>{
|
|
615
|
+
return await bot.rest.deleteIntegration(guildId, integrationId, reason);
|
|
616
|
+
},
|
|
617
|
+
deleteInvite: async (inviteCode, reason)=>{
|
|
618
|
+
return await bot.rest.deleteInvite(inviteCode, reason);
|
|
619
|
+
},
|
|
620
|
+
deleteMessage: async (channelId, messageId, reason)=>{
|
|
621
|
+
return await bot.rest.deleteMessage(channelId, messageId, reason);
|
|
622
|
+
},
|
|
623
|
+
deleteMessages: async (channelId, messageIds, reason)=>{
|
|
624
|
+
return await bot.rest.deleteMessages(channelId, messageIds, reason);
|
|
625
|
+
},
|
|
626
|
+
deleteOriginalInteractionResponse: async (token)=>{
|
|
627
|
+
return await bot.rest.deleteOriginalInteractionResponse(token);
|
|
628
|
+
},
|
|
629
|
+
deleteOwnReaction: async (channelId, messageId, reaction)=>{
|
|
630
|
+
return await bot.rest.deleteOwnReaction(channelId, messageId, reaction);
|
|
631
|
+
},
|
|
632
|
+
deleteReactionsAll: async (channelId, messageId)=>{
|
|
633
|
+
return await bot.rest.deleteReactionsAll(channelId, messageId);
|
|
634
|
+
},
|
|
635
|
+
deleteReactionsEmoji: async (channelId, messageId, reaction)=>{
|
|
636
|
+
return await bot.rest.deleteReactionsEmoji(channelId, messageId, reaction);
|
|
637
|
+
},
|
|
638
|
+
deleteRole: async (guildId, roleId, reason)=>{
|
|
639
|
+
return await bot.rest.deleteRole(guildId, roleId, reason);
|
|
640
|
+
},
|
|
641
|
+
deleteScheduledEvent: async (guildId, eventId)=>{
|
|
642
|
+
return await bot.rest.deleteScheduledEvent(guildId, eventId);
|
|
643
|
+
},
|
|
644
|
+
deleteStageInstance: async (channelId, reason)=>{
|
|
645
|
+
return await bot.rest.deleteStageInstance(channelId, reason);
|
|
646
|
+
},
|
|
647
|
+
deleteUserReaction: async (channelId, messageId, userId, reaction)=>{
|
|
648
|
+
return await bot.rest.deleteUserReaction(channelId, messageId, userId, reaction);
|
|
649
|
+
},
|
|
650
|
+
deleteWebhook: async (webhookId, reason)=>{
|
|
651
|
+
return await bot.rest.deleteWebhook(webhookId, reason);
|
|
652
|
+
},
|
|
653
|
+
deleteWebhookMessage: async (webhookId, token, messageId, options)=>{
|
|
654
|
+
return await bot.rest.deleteWebhookMessage(webhookId, token, messageId, options);
|
|
655
|
+
},
|
|
656
|
+
deleteWebhookWithToken: async (webhookId, token)=>{
|
|
657
|
+
return await bot.rest.deleteWebhookWithToken(webhookId, token);
|
|
658
|
+
},
|
|
659
|
+
editChannelPermissionOverrides: async (channelId, options, reason)=>{
|
|
660
|
+
return await bot.rest.editChannelPermissionOverrides(channelId, options, reason);
|
|
661
|
+
},
|
|
662
|
+
editChannelPositions: async (guildId, channelPositions)=>{
|
|
663
|
+
return await bot.rest.editChannelPositions(guildId, channelPositions);
|
|
664
|
+
},
|
|
665
|
+
editGuildMfaLevel: async (guildId, mfaLevel, reason)=>{
|
|
666
|
+
return await bot.rest.editGuildMfaLevel(guildId, mfaLevel, reason);
|
|
667
|
+
},
|
|
668
|
+
editOwnVoiceState: async (guildId, options)=>{
|
|
669
|
+
return await bot.rest.editOwnVoiceState(guildId, options);
|
|
670
|
+
},
|
|
671
|
+
editUserVoiceState: async (guildId, options)=>{
|
|
672
|
+
return await bot.rest.editUserVoiceState(guildId, options);
|
|
673
|
+
},
|
|
674
|
+
editUserApplicationRoleConnection: async (bearerToken, applicationId, options)=>{
|
|
675
|
+
return await bot.rest.editUserApplicationRoleConnection(bearerToken, applicationId, options);
|
|
676
|
+
},
|
|
677
|
+
joinThread: async (channelId)=>{
|
|
678
|
+
return await bot.rest.joinThread(channelId);
|
|
679
|
+
},
|
|
680
|
+
leaveGuild: async (guildId)=>{
|
|
681
|
+
return await bot.rest.leaveGuild(guildId);
|
|
682
|
+
},
|
|
683
|
+
leaveThread: async (channelId)=>{
|
|
684
|
+
return await bot.rest.leaveThread(channelId);
|
|
685
|
+
},
|
|
686
|
+
removeRole: async (guildId, userId, roleId, reason)=>{
|
|
687
|
+
return await bot.rest.removeRole(guildId, userId, roleId, reason);
|
|
688
|
+
},
|
|
689
|
+
removeThreadMember: async (channelId, userId)=>{
|
|
690
|
+
return await bot.rest.removeThreadMember(channelId, userId);
|
|
691
|
+
},
|
|
692
|
+
removeDmRecipient: async (channelId, userId)=>{
|
|
693
|
+
return await bot.rest.removeDmRecipient(channelId, userId);
|
|
694
|
+
},
|
|
695
|
+
sendInteractionResponse: async (interactionId, token, options, params)=>{
|
|
696
|
+
const response = await bot.rest.sendInteractionResponse(interactionId, token, options, params);
|
|
697
|
+
if (!response) return;
|
|
698
|
+
return bot.transformers.interactionCallbackResponse(bot, {
|
|
699
|
+
interactionCallbackResponse: (0, _utils.snakelize)(response),
|
|
700
|
+
shardId: 0
|
|
701
|
+
});
|
|
702
|
+
},
|
|
703
|
+
triggerTypingIndicator: async (channelId)=>{
|
|
704
|
+
return await bot.rest.triggerTypingIndicator(channelId);
|
|
705
|
+
},
|
|
706
|
+
banMember: async (guildId, userId, options, reason)=>{
|
|
707
|
+
return await bot.rest.banMember(guildId, userId, options, reason);
|
|
708
|
+
},
|
|
709
|
+
kickMember: async (guildId, userId, reason)=>{
|
|
710
|
+
return await bot.rest.kickMember(guildId, userId, reason);
|
|
711
|
+
},
|
|
712
|
+
pinMessage: async (channelId, messageId, reason)=>{
|
|
713
|
+
return await bot.rest.pinMessage(channelId, messageId, reason);
|
|
714
|
+
},
|
|
715
|
+
unbanMember: async (guildId, userId, reason)=>{
|
|
716
|
+
return await bot.rest.unbanMember(guildId, userId, reason);
|
|
717
|
+
},
|
|
718
|
+
unpinMessage: async (channelId, messageId, reason)=>{
|
|
719
|
+
return await bot.rest.unpinMessage(channelId, messageId, reason);
|
|
720
|
+
},
|
|
721
|
+
getGuildOnboarding: async (guildId)=>{
|
|
722
|
+
return bot.transformers.guildOnboarding(bot, (0, _utils.snakelize)(await bot.rest.getGuildOnboarding(guildId)));
|
|
723
|
+
},
|
|
724
|
+
editGuildOnboarding: async (guildId, options, reason)=>{
|
|
725
|
+
return bot.transformers.guildOnboarding(bot, (0, _utils.snakelize)(await bot.rest.editGuildOnboarding(guildId, options, reason)));
|
|
726
|
+
},
|
|
727
|
+
listEntitlements: async (applicationId, options)=>{
|
|
728
|
+
return (await bot.rest.listEntitlements(applicationId, options)).map((entitlement)=>bot.transformers.entitlement(bot, (0, _utils.snakelize)(entitlement)));
|
|
729
|
+
},
|
|
730
|
+
getEntitlement: async (applicationId, entitlementId)=>{
|
|
731
|
+
return bot.transformers.entitlement(bot, (0, _utils.snakelize)(await bot.rest.getEntitlement(applicationId, entitlementId)));
|
|
732
|
+
},
|
|
733
|
+
createTestEntitlement: async (applicationId, body)=>{
|
|
734
|
+
// @ts-expect-error createTestEntitlement gives a partial, and this method returns a partial
|
|
735
|
+
return bot.transformers.entitlement(bot, (0, _utils.snakelize)(await bot.rest.createTestEntitlement(applicationId, body)));
|
|
736
|
+
},
|
|
737
|
+
deleteTestEntitlement: async (applicationId, entitlementId)=>{
|
|
738
|
+
await bot.rest.deleteTestEntitlement(applicationId, entitlementId);
|
|
739
|
+
},
|
|
740
|
+
listSkus: async (applicationId)=>{
|
|
741
|
+
return (await bot.rest.listSkus(applicationId)).map((sku)=>bot.transformers.sku(bot, (0, _utils.snakelize)(sku)));
|
|
742
|
+
},
|
|
743
|
+
getSubscription: async (skuId, subscriptionId)=>{
|
|
744
|
+
return bot.transformers.subscription(bot, (0, _utils.snakelize)(await bot.rest.getSubscription(skuId, subscriptionId)));
|
|
745
|
+
},
|
|
746
|
+
listSubscriptions: async (skuId, options)=>{
|
|
747
|
+
return (await bot.rest.listSubscriptions(skuId, options)).map((subscription)=>bot.transformers.subscription(bot, (0, _utils.snakelize)(subscription)));
|
|
748
|
+
},
|
|
749
|
+
sendSoundboardSound: async (channelId, options)=>{
|
|
750
|
+
await bot.rest.sendSoundboardSound(channelId, options);
|
|
751
|
+
},
|
|
752
|
+
listDefaultSoundboardSounds: async ()=>{
|
|
753
|
+
return (await bot.rest.listDefaultSoundboardSounds()).map((sound)=>bot.transformers.soundboardSound(bot, (0, _utils.snakelize)(sound)));
|
|
754
|
+
},
|
|
755
|
+
listGuildSoundboardSounds: async (guildId)=>{
|
|
756
|
+
const res = await bot.rest.listGuildSoundboardSounds(guildId);
|
|
757
|
+
return {
|
|
758
|
+
items: res.items.map((sound)=>bot.transformers.soundboardSound(bot, (0, _utils.snakelize)(sound)))
|
|
759
|
+
};
|
|
760
|
+
},
|
|
761
|
+
getGuildSoundboardSound: async (guildId, soundId)=>{
|
|
762
|
+
return bot.transformers.soundboardSound(bot, (0, _utils.snakelize)(await bot.rest.getGuildSoundboardSound(guildId, soundId)));
|
|
763
|
+
},
|
|
764
|
+
createGuildSoundboardSound: async (guildId, options, reason)=>{
|
|
765
|
+
return bot.transformers.soundboardSound(bot, (0, _utils.snakelize)(await bot.rest.createGuildSoundboardSound(guildId, options, reason)));
|
|
766
|
+
},
|
|
767
|
+
modifyGuildSoundboardSound: async (guildId, soundId, options, reason)=>{
|
|
768
|
+
return bot.transformers.soundboardSound(bot, (0, _utils.snakelize)(await bot.rest.modifyGuildSoundboardSound(guildId, soundId, options, reason)));
|
|
769
|
+
},
|
|
770
|
+
deleteGuildSoundboardSound: async (guildId, soundId, reason)=>{
|
|
771
|
+
await bot.rest.deleteGuildSoundboardSound(guildId, soundId, reason);
|
|
772
|
+
}
|
|
773
|
+
};
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQWRkRG1SZWNpcGllbnRPcHRpb25zLFxuICBBZGRHdWlsZE1lbWJlck9wdGlvbnMsXG4gIEF0TGVhc3RPbmUsXG4gIEJlZ2luR3VpbGRQcnVuZSxcbiAgQmlnU3RyaW5nLFxuICBDYW1lbGl6ZSxcbiAgQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kLFxuICBDcmVhdGVBcHBsaWNhdGlvbkVtb2ppLFxuICBDcmVhdGVBdXRvTW9kZXJhdGlvblJ1bGVPcHRpb25zLFxuICBDcmVhdGVDaGFubmVsSW52aXRlLFxuICBDcmVhdGVFbnRpdGxlbWVudCxcbiAgQ3JlYXRlRm9ydW1Qb3N0V2l0aE1lc3NhZ2UsXG4gIENyZWF0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbnMsXG4gIENyZWF0ZUd1aWxkLFxuICBDcmVhdGVHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbnMsXG4gIENyZWF0ZUd1aWxkQmFuLFxuICBDcmVhdGVHdWlsZEJ1bGtCYW4sXG4gIENyZWF0ZUd1aWxkQ2hhbm5lbCxcbiAgQ3JlYXRlR3VpbGRFbW9qaSxcbiAgQ3JlYXRlR3VpbGRGcm9tVGVtcGxhdGUsXG4gIENyZWF0ZUd1aWxkUm9sZSxcbiAgQ3JlYXRlR3VpbGRTb3VuZGJvYXJkU291bmQsXG4gIENyZWF0ZUd1aWxkU3RpY2tlck9wdGlvbnMsXG4gIENyZWF0ZU1lc3NhZ2VPcHRpb25zLFxuICBDcmVhdGVTY2hlZHVsZWRFdmVudCxcbiAgQ3JlYXRlU3RhZ2VJbnN0YW5jZSxcbiAgQ3JlYXRlVGVtcGxhdGUsXG4gIENyZWF0ZVdlYmhvb2ssXG4gIERlbGV0ZVdlYmhvb2tNZXNzYWdlT3B0aW9ucyxcbiAgRGlzY29yZEFjY2Vzc1Rva2VuUmVzcG9uc2UsXG4gIERpc2NvcmRBY3Rpdml0eUluc3RhbmNlLFxuICBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMsXG4gIERpc2NvcmRBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uLFxuICBEaXNjb3JkQXJjaGl2ZWRUaHJlYWRzLFxuICBEaXNjb3JkQXVkaXRMb2csXG4gIERpc2NvcmRCYW4sXG4gIERpc2NvcmRDb25uZWN0aW9uLFxuICBEaXNjb3JkQ3VycmVudEF1dGhvcml6YXRpb24sXG4gIERpc2NvcmRGb2xsb3dlZENoYW5uZWwsXG4gIERpc2NvcmRHZXRHYXRld2F5Qm90LFxuICBEaXNjb3JkR3VpbGRQcmV2aWV3LFxuICBEaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncyxcbiAgRGlzY29yZEludml0ZSxcbiAgRGlzY29yZEludml0ZU1ldGFkYXRhLFxuICBEaXNjb3JkTWVzc2FnZSxcbiAgRGlzY29yZE1vZGlmeUd1aWxkV2VsY29tZVNjcmVlbixcbiAgRGlzY29yZFBydW5lZENvdW50LFxuICBEaXNjb3JkVG9rZW5FeGNoYW5nZSxcbiAgRGlzY29yZFRva2VuUmV2b2NhdGlvbixcbiAgRGlzY29yZFZhbml0eVVybCxcbiAgRGlzY29yZFZvaWNlUmVnaW9uLFxuICBFZGl0QXBwbGljYXRpb24sXG4gIEVkaXRBdXRvTW9kZXJhdGlvblJ1bGVPcHRpb25zLFxuICBFZGl0Qm90TWVtYmVyT3B0aW9ucyxcbiAgRWRpdENoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGVzT3B0aW9ucyxcbiAgRWRpdEd1aWxkT25ib2FyZGluZyxcbiAgRWRpdEd1aWxkUm9sZSxcbiAgRWRpdEd1aWxkU3RpY2tlck9wdGlvbnMsXG4gIEVkaXRNZXNzYWdlLFxuICBFZGl0T3duVm9pY2VTdGF0ZSxcbiAgRWRpdFNjaGVkdWxlZEV2ZW50LFxuICBFZGl0VXNlclZvaWNlU3RhdGUsXG4gIEV4ZWN1dGVXZWJob29rLFxuICBHZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uT3B0aW9ucyxcbiAgR2V0QmFucyxcbiAgR2V0RW50aXRsZW1lbnRzLFxuICBHZXRHcm91cERtT3B0aW9ucyxcbiAgR2V0R3VpbGRBdWRpdExvZyxcbiAgR2V0R3VpbGRQcnVuZUNvdW50UXVlcnksXG4gIEdldEludml0ZSxcbiAgR2V0TWVzc2FnZXNPcHRpb25zLFxuICBHZXRSZWFjdGlvbnMsXG4gIEdldFNjaGVkdWxlZEV2ZW50VXNlcnMsXG4gIEdldFNjaGVkdWxlZEV2ZW50cyxcbiAgR2V0VXNlckd1aWxkcyxcbiAgR2V0V2ViaG9va01lc3NhZ2VPcHRpb25zLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSxcbiAgSW50ZXJhY3Rpb25DYWxsYmFja09wdGlvbnMsXG4gIEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIExpc3RBcmNoaXZlZFRocmVhZHMsXG4gIExpc3RHdWlsZE1lbWJlcnMsXG4gIExpc3RTa3VTdWJzY3JpcHRpb25zT3B0aW9ucyxcbiAgTWZhTGV2ZWxzLFxuICBNb2RpZnlBcHBsaWNhdGlvbkVtb2ppLFxuICBNb2RpZnlDaGFubmVsLFxuICBNb2RpZnlHdWlsZCxcbiAgTW9kaWZ5R3VpbGRDaGFubmVsUG9zaXRpb25zLFxuICBNb2RpZnlHdWlsZEVtb2ppLFxuICBNb2RpZnlHdWlsZE1lbWJlcixcbiAgTW9kaWZ5R3VpbGRTb3VuZGJvYXJkU291bmQsXG4gIE1vZGlmeUd1aWxkVGVtcGxhdGUsXG4gIE1vZGlmeVJvbGVQb3NpdGlvbnMsXG4gIE1vZGlmeVdlYmhvb2ssXG4gIFNlYXJjaE1lbWJlcnMsXG4gIFNlbmRTb3VuZGJvYXJkU291bmQsXG4gIFN0YXJ0VGhyZWFkV2l0aE1lc3NhZ2UsXG4gIFN0YXJ0VGhyZWFkV2l0aG91dE1lc3NhZ2UsXG4gIFVwc2VydEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbnMsXG4gIFVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBzbmFrZWxpemUgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi9ib3QuanMnXG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi9kZXNpcmVkUHJvcGVydGllcy5qcydcbmltcG9ydCB0eXBlIHtcbiAgQXBwbGljYXRpb24sXG4gIEFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgQXV0b01vZGVyYXRpb25SdWxlLFxuICBHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICBHdWlsZFdpZGdldCxcbiAgR3VpbGRXaWRnZXRTZXR0aW5ncyxcbiAgSW50ZWdyYXRpb24sXG4gIFN0aWNrZXJQYWNrLFxuICBUZW1wbGF0ZSxcbiAgVGhyZWFkTWVtYmVyLFxuICBXZWxjb21lU2NyZWVuLFxufSBmcm9tICcuL3RyYW5zZm9ybWVycy9pbmRleC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJvdEhlbHBlcnM8VFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+KFxuICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4pOiBCb3RIZWxwZXJzPFRQcm9wcywgVEJlaGF2aW9yPiB7XG4gIHJldHVybiB7XG4gICAgY3JlYXRlQXV0b21vZFJ1bGU6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmF1dG9tb2RSdWxlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUF1dG9tb2RSdWxlKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgY3JlYXRlQ2hhbm5lbDogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUNoYW5uZWwoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSksIGd1aWxkSWQgfSlcbiAgICB9LFxuICAgIGNyZWF0ZUVtb2ppOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVFbW9qaShndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGNyZWF0ZUFwcGxpY2F0aW9uRW1vamk6IGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVBcHBsaWNhdGlvbkVtb2ppKG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGNyZWF0ZUZvcnVtVGhyZWFkOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVGb3J1bVRocmVhZChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikpIH0pXG4gICAgfSxcbiAgICBjcmVhdGVHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kKGNvbW1hbmQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGNyZWF0ZUd1aWxkOiBhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZ3VpbGQoYm90LCB7IGd1aWxkOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlR3VpbGQob3B0aW9ucykpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBjcmVhdGVHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmQsIGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kLCBndWlsZElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBjcmVhdGVHdWlsZEZyb21UZW1wbGF0ZTogYXN5bmMgKHRlbXBsYXRlQ29kZSwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZ3VpbGQoYm90LCB7IGd1aWxkOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlR3VpbGRGcm9tVGVtcGxhdGUodGVtcGxhdGVDb2RlLCBvcHRpb25zKSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGNyZWF0ZUd1aWxkU3RpY2tlcjogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVHdWlsZFN0aWNrZXIoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBjcmVhdGVHdWlsZFRlbXBsYXRlOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudGVtcGxhdGUoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlR3VpbGRUZW1wbGF0ZShndWlsZElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBjcmVhdGVJbnZpdGU6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUludml0ZShjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbilcbiAgICB9LFxuICAgIGNyZWF0ZVJvbGU6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGU6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVSb2xlKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpLCBndWlsZElkIH0pXG4gICAgfSxcbiAgICBjcmVhdGVTY2hlZHVsZWRFdmVudDogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc2NoZWR1bGVkRXZlbnQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlU2NoZWR1bGVkRXZlbnQoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBjcmVhdGVTdGFnZUluc3RhbmNlOiBhc3luYyAob3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zdGFnZUluc3RhbmNlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZVN0YWdlSW5zdGFuY2Uob3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBjcmVhdGVXZWJob29rOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlYmhvb2soYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlV2ViaG9vayhjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zOiBhc3luYyAoZ3VpbGRJZCwgY29tbWFuZElkLCBiZWFyZXJUb2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbihcbiAgICAgICAgYm90LFxuICAgICAgICBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zKGd1aWxkSWQsIGNvbW1hbmRJZCwgYmVhcmVyVG9rZW4sIG9wdGlvbnMpKSxcbiAgICAgIClcbiAgICB9LFxuICAgIGVkaXRBdXRvbW9kUnVsZTogYXN5bmMgKGd1aWxkSWQsIHJ1bGVJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hdXRvbW9kUnVsZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0QXV0b21vZFJ1bGUoZ3VpbGRJZCwgcnVsZUlkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGVkaXRCb3RQcm9maWxlOiBhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0Qm90UHJvZmlsZShvcHRpb25zKSkpXG4gICAgfSxcbiAgICBlZGl0Q2hhbm5lbDogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdENoYW5uZWwoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pKSB9KVxuICAgIH0sXG4gICAgZWRpdEVtb2ppOiBhc3luYyAoZ3VpbGRJZCwgaWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEVtb2ppKGd1aWxkSWQsIGlkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGVkaXRBcHBsaWNhdGlvbkVtb2ppOiBhc3luYyAoaWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRBcHBsaWNhdGlvbkVtb2ppKGlkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBlZGl0Rm9sbG93dXBNZXNzYWdlOiBhc3luYyAodG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRGb2xsb3d1cE1lc3NhZ2UodG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBlZGl0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiBhc3luYyAoY29tbWFuZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGVkaXRHdWlsZDogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZ3VpbGQoYm90LCB7IGd1aWxkOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEd1aWxkKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBlZGl0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kSWQsIGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZElkLCBndWlsZElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBlZGl0R3VpbGRTdGlja2VyOiBhc3luYyAoZ3VpbGRJZCwgc3RpY2tlcklkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEd1aWxkU3RpY2tlcihndWlsZElkLCBzdGlja2VySWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdEd1aWxkVGVtcGxhdGU6IGFzeW5jIChndWlsZElkLCB0ZW1wbGF0ZUNvZGUsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnRlbXBsYXRlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRHdWlsZFRlbXBsYXRlKGd1aWxkSWQsIHRlbXBsYXRlQ29kZSwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZWRpdE1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHtcbiAgICAgICAgbWVzc2FnZTogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRNZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCBvcHRpb25zKSkgYXMgRGlzY29yZE1lc3NhZ2UsXG4gICAgICAgIHNoYXJkSWQ6IDAsXG4gICAgICB9KVxuICAgIH0sXG4gICAgZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZTogYXN5bmMgKHRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgeyBtZXNzYWdlOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSh0b2tlbiwgb3B0aW9ucykpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBlZGl0T3JpZ2luYWxXZWJob29rTWVzc2FnZTogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB7XG4gICAgICAgIG1lc3NhZ2U6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0T3JpZ2luYWxXZWJob29rTWVzc2FnZSh3ZWJob29rSWQsIHRva2VuLCBvcHRpb25zKSkgYXMgRGlzY29yZE1lc3NhZ2UsXG4gICAgICAgIHNoYXJkSWQ6IDAsXG4gICAgICB9KVxuICAgIH0sXG4gICAgZWRpdFJvbGU6IGFzeW5jIChndWlsZElkLCByb2xlSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHsgcm9sZTogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRSb2xlKGd1aWxkSWQsIHJvbGVJZCwgb3B0aW9ucywgcmVhc29uKSksIGd1aWxkSWQgfSlcbiAgICB9LFxuICAgIGVkaXRSb2xlUG9zaXRpb25zOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRSb2xlUG9zaXRpb25zKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpLm1hcCgocm9sZSkgPT4gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlLCBndWlsZElkIH0pKVxuICAgIH0sXG4gICAgZWRpdFNjaGVkdWxlZEV2ZW50OiBhc3luYyAoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zY2hlZHVsZWRFdmVudChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0U2NoZWR1bGVkRXZlbnQoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0U3RhZ2VJbnN0YW5jZTogYXN5bmMgKGNoYW5uZWxJZCwgdG9waWMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RhZ2VJbnN0YW5jZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0U3RhZ2VJbnN0YW5jZShjaGFubmVsSWQsIHRvcGljLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGVkaXRXZWJob29rOiBhc3luYyAod2ViaG9va0lkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlYmhvb2soYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFdlYmhvb2sod2ViaG9va0lkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGVkaXRXZWJob29rTWVzc2FnZTogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHtcbiAgICAgICAgbWVzc2FnZTogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRXZWJob29rTWVzc2FnZSh3ZWJob29rSWQsIHRva2VuLCBtZXNzYWdlSWQsIG9wdGlvbnMpKSBhcyBEaXNjb3JkTWVzc2FnZSxcbiAgICAgICAgc2hhcmRJZDogMCxcbiAgICAgIH0pXG4gICAgfSxcbiAgICBlZGl0V2ViaG9va1dpdGhUb2tlbjogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlYmhvb2soYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFdlYmhvb2tXaXRoVG9rZW4od2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZWRpdFdlbGNvbWVTY3JlZW46IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlbGNvbWVTY3JlZW4oYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFdlbGNvbWVTY3JlZW4oZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0V2lkZ2V0U2V0dGluZ3M6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndpZGdldFNldHRpbmdzKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRXaWRnZXRTZXR0aW5ncyhndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGV4ZWN1dGVXZWJob29rOiBhc3luYyAod2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYm90LnJlc3QuZXhlY3V0ZVdlYmhvb2sod2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucylcbiAgICAgIGlmICghcmVzdWx0KSByZXR1cm5cblxuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogc25ha2VsaXplKHJlc3VsdCkgYXMgRGlzY29yZE1lc3NhZ2UsIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGZvbGxvd0Fubm91bmNlbWVudDogYXN5bmMgKHNvdXJjZUNoYW5uZWxJZCwgdGFyZ2V0Q2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZm9sbG93QW5ub3VuY2VtZW50KHNvdXJjZUNoYW5uZWxJZCwgdGFyZ2V0Q2hhbm5lbElkKVxuICAgIH0sXG4gICAgZ2V0QWN0aXZlVGhyZWFkczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJvdC5yZXN0LmdldEFjdGl2ZVRocmVhZHMoZ3VpbGRJZClcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRocmVhZHM6IHJlc3VsdC50aHJlYWRzLm1hcCgodGhyZWFkKSA9PiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGd1aWxkSWQsIGNoYW5uZWw6IHNuYWtlbGl6ZSh0aHJlYWQpIH0pKSxcbiAgICAgICAgbWVtYmVyczogcmVzdWx0Lm1lbWJlcnMubWFwKChtZW1iZXIpID0+IGJvdC50cmFuc2Zvcm1lcnMudGhyZWFkTWVtYmVyKGJvdCwgc25ha2VsaXplKG1lbWJlcikpKSxcbiAgICAgIH1cbiAgICB9LFxuICAgIGdldEFwcGxpY2F0aW9uSW5mbzogYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb24oYm90LCB7IGFwcGxpY2F0aW9uOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0QXBwbGljYXRpb25JbmZvKCkpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBlZGl0QXBwbGljYXRpb25JbmZvOiBhc3luYyAoYm9keSkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb24oYm90LCB7IGFwcGxpY2F0aW9uOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEFwcGxpY2F0aW9uSW5mbyhib2R5KSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGdldEN1cnJlbnRBdXRoZW50aWNhdGlvbkluZm86IGFzeW5jIChiZWFyZXJUb2tlbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldEN1cnJlbnRBdXRoZW50aWNhdGlvbkluZm8oYmVhcmVyVG9rZW4pXG4gICAgfSxcbiAgICBleGNoYW5nZVRva2VuOiBhc3luYyAoY2xpZW50SWQsIGNsaWVudFNlY3JldCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmV4Y2hhbmdlVG9rZW4oY2xpZW50SWQsIGNsaWVudFNlY3JldCwgb3B0aW9ucylcbiAgICB9LFxuICAgIHJldm9rZVRva2VuOiBhc3luYyAoY2xpZW50SWQsIGNsaWVudFNlY3JldCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnJldm9rZVRva2VuKGNsaWVudElkLCBjbGllbnRTZWNyZXQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiBhc3luYyAoZ3VpbGRJZCwgY29tbWFuZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBib3QucmVzdC5nZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uKGd1aWxkSWQsIGNvbW1hbmRJZCwgb3B0aW9ucylcbiAgICAgIGNvbnN0IHNuYWtlZFJlcyA9IHNuYWtlbGl6ZShyZXMpXG5cbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24oYm90LCBzbmFrZWRSZXMpXG4gICAgfSxcbiAgICBnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uczogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMoZ3VpbGRJZCwgb3B0aW9ucykpLm1hcCgocmVzKSA9PlxuICAgICAgICBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24oYm90LCBzbmFrZWxpemUocmVzKSksXG4gICAgICApXG4gICAgfSxcbiAgICBnZXRBdWRpdExvZzogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRBdWRpdExvZyhndWlsZElkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgZ2V0QXV0b21vZFJ1bGU6IGFzeW5jIChndWlsZElkLCBydWxlSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmF1dG9tb2RSdWxlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEF1dG9tb2RSdWxlKGd1aWxkSWQsIHJ1bGVJZCkpKVxuICAgIH0sXG4gICAgZ2V0QXV0b21vZFJ1bGVzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRBdXRvbW9kUnVsZXMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLmF1dG9tb2RSdWxlKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0QXZhaWxhYmxlVm9pY2VSZWdpb25zOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEF2YWlsYWJsZVZvaWNlUmVnaW9ucygpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy52b2ljZVJlZ2lvbihib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldEJhbjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldEJhbihndWlsZElkLCB1c2VySWQpXG4gICAgfSxcbiAgICBnZXRCYW5zOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldEJhbnMoZ3VpbGRJZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGdldENoYW5uZWw6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRDaGFubmVsKGNoYW5uZWxJZCkpIH0pXG4gICAgfSxcbiAgICBnZXRDaGFubmVsSW52aXRlczogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldENoYW5uZWxJbnZpdGVzKGNoYW5uZWxJZClcbiAgICAgIC8vIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0Q2hhbm5lbEludml0ZXMoY2hhbm5lbElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuaW52aXRlKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0Q2hhbm5lbHM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldENoYW5uZWxzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUocmVzKSwgZ3VpbGRJZCB9KSlcbiAgICB9LFxuICAgIGdldENoYW5uZWxXZWJob29rczogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRDaGFubmVsV2ViaG9va3MoY2hhbm5lbElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMud2ViaG9vayhib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldERtQ2hhbm5lbDogYXN5bmMgKHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldERtQ2hhbm5lbCh1c2VySWQpKSB9KVxuICAgIH0sXG4gICAgZ2V0R3JvdXBEbUNoYW5uZWw6IGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R3JvdXBEbUNoYW5uZWwob3B0aW9ucykpIH0pXG4gICAgfSxcbiAgICBnZXRFbW9qaTogYXN5bmMgKGd1aWxkSWQsIGVtb2ppSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEVtb2ppKGd1aWxkSWQsIGVtb2ppSWQpKSlcbiAgICB9LFxuICAgIGdldEFwcGxpY2F0aW9uRW1vamk6IGFzeW5jIChlbW9qaUlkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRBcHBsaWNhdGlvbkVtb2ppKGVtb2ppSWQpKSlcbiAgICB9LFxuICAgIGdldEVtb2ppczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0RW1vamlzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldEFwcGxpY2F0aW9uRW1vamlzOiBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBib3QucmVzdC5nZXRBcHBsaWNhdGlvbkVtb2ppcygpXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGl0ZW1zOiByZXMuaXRlbXMubWFwKChpdGVtKSA9PiBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgc25ha2VsaXplKGl0ZW0pKSksXG4gICAgICB9XG4gICAgfSxcbiAgICBnZXRGb2xsb3d1cE1lc3NhZ2U6IGFzeW5jICh0b2tlbiwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgeyBtZXNzYWdlOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0Rm9sbG93dXBNZXNzYWdlKHRva2VuLCBtZXNzYWdlSWQpKSwgc2hhcmRJZDogMCB9KVxuICAgIH0sXG4gICAgZ2V0R2F0ZXdheUJvdDogYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZ2F0ZXdheUJvdChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHYXRld2F5Qm90KCkpKVxuICAgIH0sXG4gICAgZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiBhc3luYyAoY29tbWFuZElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kKGNvbW1hbmRJZCkpKVxuICAgIH0sXG4gICAgZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kczogYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzKCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZ3VpbGQoYm90LCB7IGd1aWxkOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGQoZ3VpbGRJZCwgb3B0aW9ucykpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBnZXRHdWlsZHM6IGFzeW5jIChiZWFyZXJUb2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRHdWlsZHMoYmVhcmVyVG9rZW4sIG9wdGlvbnMpKS5tYXA8UGFydGlhbDx0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5ndWlsZD4+KChyZXMpID0+XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZ2V0R3VpbGRzIHJldHVybnMgcGFydGlhbCBndWlsZHNcbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHsgZ3VpbGQ6IHNuYWtlbGl6ZShyZXMpLCBzaGFyZElkOiAwIH0pLFxuICAgICAgKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kSWQsIGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQsIGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZFByZXZpZXc6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRQcmV2aWV3KGd1aWxkSWQpXG4gICAgICAvLyByZXR1cm4gYm90LnRyYW5zZm9ybWVycy54eHgoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRQcmV2aWV3KGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkU3RpY2tlcjogYXN5bmMgKGd1aWxkSWQsIHN0aWNrZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHdWlsZFN0aWNrZXIoZ3VpbGRJZCwgc3RpY2tlcklkKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZFN0aWNrZXJzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRHdWlsZFN0aWNrZXJzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRUZW1wbGF0ZTogYXN5bmMgKHRlbXBsYXRlQ29kZSkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudGVtcGxhdGUoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRUZW1wbGF0ZSh0ZW1wbGF0ZUNvZGUpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkVGVtcGxhdGVzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRHdWlsZFRlbXBsYXRlcyhndWlsZElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMudGVtcGxhdGUoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZFdlYmhvb2tzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRHdWlsZFdlYmhvb2tzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy53ZWJob29rKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0SW50ZWdyYXRpb25zOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRJbnRlZ3JhdGlvbnMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PlxuICAgICAgICBib3QudHJhbnNmb3JtZXJzLmludGVncmF0aW9uKGJvdCwgc25ha2VsaXplKHsgLi4ucmVzLCBndWlsZElkOiBndWlsZElkLnRvU3RyaW5nKCkgfSkpLFxuICAgICAgKVxuICAgIH0sXG4gICAgZ2V0SW52aXRlOiBhc3luYyAoaW52aXRlQ29kZSwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuaW52aXRlKGJvdCwgeyBpbnZpdGU6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRJbnZpdGUoaW52aXRlQ29kZSwgb3B0aW9ucykpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBnZXRJbnZpdGVzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRJbnZpdGVzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5pbnZpdGUoYm90LCB7IGludml0ZTogc25ha2VsaXplKHJlcyksIHNoYXJkSWQ6IDAgfSkpXG4gICAgfSxcbiAgICBnZXRNZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB7IG1lc3NhZ2U6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRNZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGdldE1lc3NhZ2VzOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldE1lc3NhZ2VzKGNoYW5uZWxJZCwgb3B0aW9ucykpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB7IG1lc3NhZ2U6IHNuYWtlbGl6ZShyZXMpLCBzaGFyZElkOiAwIH0pKVxuICAgIH0sXG4gICAgZ2V0U3RpY2tlclBhY2s6IGFzeW5jIChzdGlja2VyUGFja0lkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyUGFjayhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRTdGlja2VyUGFjayhzdGlja2VyUGFja0lkKSkpXG4gICAgfSxcbiAgICBnZXRTdGlja2VyUGFja3M6IGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0U3RpY2tlclBhY2tzKCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXJQYWNrKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlOiBhc3luYyAodG9rZW4pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB7IG1lc3NhZ2U6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodG9rZW4pKSwgc2hhcmRJZDogMCB9KVxuICAgIH0sXG4gICAgZ2V0UGlubmVkTWVzc2FnZXM6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0UGlubmVkTWVzc2FnZXMoY2hhbm5lbElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogc25ha2VsaXplKHJlcyksIHNoYXJkSWQ6IDAgfSkpXG4gICAgfSxcbiAgICBnZXRQcml2YXRlQXJjaGl2ZWRUaHJlYWRzOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0UHJpdmF0ZUFyY2hpdmVkVGhyZWFkcyhjaGFubmVsSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBnZXRQcml2YXRlSm9pbmVkQXJjaGl2ZWRUaHJlYWRzOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0UHJpdmF0ZUpvaW5lZEFyY2hpdmVkVGhyZWFkcyhjaGFubmVsSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBnZXRQcnVuZUNvdW50OiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldFBydW5lQ291bnQoZ3VpbGRJZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGdldFB1YmxpY0FyY2hpdmVkVGhyZWFkczogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldFB1YmxpY0FyY2hpdmVkVGhyZWFkcyhjaGFubmVsSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBnZXRSb2xlczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0Um9sZXMoZ3VpbGRJZCkpLm1hcCgocm9sZSkgPT4gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlLCBndWlsZElkIH0pKVxuICAgIH0sXG4gICAgZ2V0Um9sZTogYXN5bmMgKGd1aWxkSWQsIHJvbGVJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHsgcm9sZTogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFJvbGUoZ3VpbGRJZCwgcm9sZUlkKSksIGd1aWxkSWQgfSlcbiAgICB9LFxuICAgIGdldFNjaGVkdWxlZEV2ZW50OiBhc3luYyAoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc2NoZWR1bGVkRXZlbnQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0U2NoZWR1bGVkRXZlbnQoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZ2V0U2NoZWR1bGVkRXZlbnRzOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRTY2hlZHVsZWRFdmVudHMoZ3VpbGRJZCwgb3B0aW9ucykpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnNjaGVkdWxlZEV2ZW50KGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0U2NoZWR1bGVkRXZlbnRVc2VyczogYXN5bmMgKGd1aWxkSWQsIGV2ZW50SWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0U2NoZWR1bGVkRXZlbnRVc2VycyhndWlsZElkLCBldmVudElkLCBvcHRpb25zKSkubWFwKCh1KSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdXNlcjogYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgc25ha2VsaXplKHUudXNlcikpLFxuICAgICAgICAgIG1lbWJlcjogdS5tZW1iZXIgJiYgYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBzbmFrZWxpemUodS5tZW1iZXIpLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh1LnVzZXIuaWQpKSxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9LFxuICAgIGdldFNlc3Npb25JbmZvOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5nYXRld2F5Qm90KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFNlc3Npb25JbmZvKCkpKVxuICAgIH0sXG4gICAgZ2V0U3RhZ2VJbnN0YW5jZTogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RhZ2VJbnN0YW5jZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRTdGFnZUluc3RhbmNlKGNoYW5uZWxJZCkpKVxuICAgIH0sXG4gICAgZ2V0T3duVm9pY2VTdGF0ZTogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnZvaWNlU3RhdGUoYm90LCB7IGd1aWxkSWQsIHZvaWNlU3RhdGU6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRPd25Wb2ljZVN0YXRlKGd1aWxkSWQpKSB9KVxuICAgIH0sXG4gICAgZ2V0VXNlclZvaWNlU3RhdGU6IGFzeW5jIChndWlsZElkLCB1c2VySWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnZvaWNlU3RhdGUoYm90LCB7IGd1aWxkSWQsIHZvaWNlU3RhdGU6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRVc2VyVm9pY2VTdGF0ZShndWlsZElkLCB1c2VySWQpKSB9KVxuICAgIH0sXG4gICAgZ2V0U3RpY2tlcjogYXN5bmMgKHN0aWNrZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRTdGlja2VyKHN0aWNrZXJJZCkpKVxuICAgIH0sXG4gICAgZ2V0VGhyZWFkTWVtYmVyOiBhc3luYyAoY2hhbm5lbElkLCB1c2VySWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnRocmVhZE1lbWJlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRUaHJlYWRNZW1iZXIoY2hhbm5lbElkLCB1c2VySWQpKSlcbiAgICB9LFxuICAgIGdldFRocmVhZE1lbWJlcnM6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0VGhyZWFkTWVtYmVycyhjaGFubmVsSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy50aHJlYWRNZW1iZXIoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRSZWFjdGlvbnM6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0UmVhY3Rpb25zKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbiwgb3B0aW9ucykpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRVc2VyOiBhc3luYyAoaWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0VXNlcihpZCkpKVxuICAgIH0sXG4gICAgZ2V0Q3VycmVudFVzZXI6IGFzeW5jIChiZWFyZXJUb2tlbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRDdXJyZW50VXNlcihiZWFyZXJUb2tlbikpKVxuICAgIH0sXG4gICAgZ2V0VXNlckNvbm5lY3Rpb25zOiBhc3luYyAoYmVhcmVyVG9rZW4pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRVc2VyQ29ubmVjdGlvbnMoYmVhcmVyVG9rZW4pXG4gICAgfSxcbiAgICBnZXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbjogYXN5bmMgKGJlYXJlclRva2VuLCBhcHBsaWNhdGlvbklkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24oYmVhcmVyVG9rZW4sIGFwcGxpY2F0aW9uSWQpXG4gICAgfSxcbiAgICBnZXRWYW5pdHlVcmw6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0VmFuaXR5VXJsKGd1aWxkSWQpXG4gICAgfSxcbiAgICBnZXRWb2ljZVJlZ2lvbnM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldFZvaWNlUmVnaW9ucyhndWlsZElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMudm9pY2VSZWdpb24oYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRXZWJob29rOiBhc3luYyAod2ViaG9va0lkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53ZWJob29rKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFdlYmhvb2sod2ViaG9va0lkKSkpXG4gICAgfSxcbiAgICBnZXRXZWJob29rTWVzc2FnZTogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFdlYmhvb2tNZXNzYWdlKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBnZXRXZWJob29rV2l0aFRva2VuOiBhc3luYyAod2ViaG9va0lkLCB0b2tlbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2ViaG9vayhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRXZWJob29rV2l0aFRva2VuKHdlYmhvb2tJZCwgdG9rZW4pKSlcbiAgICB9LFxuICAgIGdldFdlbGNvbWVTY3JlZW46IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53ZWxjb21lU2NyZWVuKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFdlbGNvbWVTY3JlZW4oZ3VpbGRJZCkpKVxuICAgIH0sXG4gICAgZ2V0V2lkZ2V0OiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2lkZ2V0KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFdpZGdldChndWlsZElkKSkpXG4gICAgfSxcbiAgICBnZXRXaWRnZXRTZXR0aW5nczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndpZGdldFNldHRpbmdzKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFdpZGdldFNldHRpbmdzKGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIHB1Ymxpc2hNZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB7IG1lc3NhZ2U6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5wdWJsaXNoTWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCkpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBzZW5kTWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LnNlbmRNZXNzYWdlKGNoYW5uZWxJZCwgb3B0aW9ucykpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBzZW5kRm9sbG93dXBNZXNzYWdlOiBhc3luYyAodG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB7IG1lc3NhZ2U6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5zZW5kRm9sbG93dXBNZXNzYWdlKHRva2VuLCBvcHRpb25zKSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIHN0YXJ0VGhyZWFkV2l0aE1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwge1xuICAgICAgICBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3Quc3RhcnRUaHJlYWRXaXRoTWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgb3B0aW9ucywgcmVhc29uKSksXG4gICAgICB9KVxuICAgIH0sXG4gICAgc3RhcnRUaHJlYWRXaXRob3V0TWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3Quc3RhcnRUaHJlYWRXaXRob3V0TWVzc2FnZShjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikpIH0pXG4gICAgfSxcbiAgICBzeW5jR3VpbGRUZW1wbGF0ZTogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnRlbXBsYXRlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LnN5bmNHdWlsZFRlbXBsYXRlKGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIHVwc2VydEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZHM6IGFzeW5jIChjb21tYW5kcywgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC51cHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzKGNvbW1hbmRzLCBvcHRpb25zKSkubWFwKChyZXMpID0+XG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKHJlcykpLFxuICAgICAgKVxuICAgIH0sXG4gICAgdXBzZXJ0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRzOiBhc3luYyAoZ3VpbGRJZCwgY29tbWFuZHMsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QudXBzZXJ0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRzKGd1aWxkSWQsIGNvbW1hbmRzLCBvcHRpb25zKSkubWFwKChyZXMpID0+XG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKHJlcykpLFxuICAgICAgKVxuICAgIH0sXG4gICAgZWRpdEJvdE1lbWJlcjogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRCb3RNZW1iZXIoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSksIGd1aWxkSWQsIGJvdC5pZClcbiAgICB9LFxuICAgIGVkaXRNZW1iZXI6IGFzeW5jIChndWlsZElkLCB1c2VySWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRNZW1iZXIoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zLCByZWFzb24pKSwgZ3VpbGRJZCwgdXNlcklkKVxuICAgIH0sXG4gICAgZ2V0TWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0TWVtYmVyKGd1aWxkSWQsIHVzZXJJZCkpLCBndWlsZElkLCB1c2VySWQpXG4gICAgfSxcbiAgICBnZXRDdXJyZW50TWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgYmVhcmVyVG9rZW4pID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGJvdC5yZXN0LmdldEN1cnJlbnRNZW1iZXIoZ3VpbGRJZCwgYmVhcmVyVG9rZW4pXG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBzbmFrZWxpemUocmVzKSwgZ3VpbGRJZCwgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocmVzLnVzZXIuaWQpKVxuICAgIH0sXG4gICAgZ2V0TWVtYmVyczogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0TWVtYmVycyhndWlsZElkLCBvcHRpb25zKSkubWFwKChyZXMpID0+XG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgc25ha2VsaXplKHJlcyksIGd1aWxkSWQsIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHJlcy51c2VyLmlkKSksXG4gICAgICApXG4gICAgfSxcbiAgICBwcnVuZU1lbWJlcnM6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5wcnVuZU1lbWJlcnMoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKVxuICAgIH0sXG4gICAgc2VhcmNoTWVtYmVyczogYXN5bmMgKGd1aWxkSWQsIHF1ZXJ5LCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LnNlYXJjaE1lbWJlcnMoZ3VpbGRJZCwgcXVlcnksIG9wdGlvbnMpKS5tYXAoKHJlcykgPT5cbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBzbmFrZWxpemUocmVzKSwgZ3VpbGRJZCwgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocmVzLnVzZXIuaWQpKSxcbiAgICAgIClcbiAgICB9LFxuICAgIGJ1bGtCYW5NZW1iZXJzOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBib3QucmVzdC5idWxrQmFuTWVtYmVycyhndWlsZElkLCBvcHRpb25zLCByZWFzb24pXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJhbm5lZFVzZXJzOiByZXMuYmFubmVkVXNlcnMubWFwKCh4KSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh4KSksXG4gICAgICAgIGZhaWxlZFVzZXJzOiByZXMuZmFpbGVkVXNlcnMubWFwKCh4KSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh4KSksXG4gICAgICB9XG4gICAgfSxcbiAgICBnZXRBcHBsaWNhdGlvbkFjdGl2aXR5SW5zdGFuY2U6IGFzeW5jIChhcHBsaWNhdGlvbklkLCBpbnN0YW5jZUlkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0QXBwbGljYXRpb25BY3Rpdml0eUluc3RhbmNlKGFwcGxpY2F0aW9uSWQsIGluc3RhbmNlSWQpXG4gICAgfSxcbiAgICAvLyBBbGwgdXNlbGVzcyB2b2lkIHJldHVybiBmdW5jdGlvbnMgaGVyZVxuICAgIGFkZFJlYWN0aW9uOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuYWRkUmVhY3Rpb24oY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9uKVxuICAgIH0sXG4gICAgYWRkUmVhY3Rpb25zOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9ucywgb3JkZXJlZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmFkZFJlYWN0aW9ucyhjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb25zLCBvcmRlcmVkKVxuICAgIH0sXG4gICAgYWRkUm9sZTogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgcm9sZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5hZGRSb2xlKGd1aWxkSWQsIHVzZXJJZCwgcm9sZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICBhZGRUaHJlYWRNZW1iZXI6IGFzeW5jIChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmFkZFRocmVhZE1lbWJlcihjaGFubmVsSWQsIHVzZXJJZClcbiAgICB9LFxuICAgIGFkZERtUmVjaXBpZW50OiBhc3luYyAoY2hhbm5lbElkLCB1c2VySWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5hZGREbVJlY2lwaWVudChjaGFubmVsSWQsIHVzZXJJZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGFkZEd1aWxkTWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuYWRkR3VpbGRNZW1iZXIoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgZGVsZXRlQXV0b21vZFJ1bGU6IGFzeW5jIChndWlsZElkLCBydWxlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUF1dG9tb2RSdWxlKGd1aWxkSWQsIHJ1bGVJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlQ2hhbm5lbDogYXN5bmMgKGNoYW5uZWxJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlQ2hhbm5lbChjaGFubmVsSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZUNoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGU6IGFzeW5jIChjaGFubmVsSWQsIG92ZXJ3cml0ZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlKGNoYW5uZWxJZCwgb3ZlcndyaXRlSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZUVtb2ppOiBhc3luYyAoZ3VpbGRJZCwgaWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUVtb2ppKGd1aWxkSWQsIGlkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVBcHBsaWNhdGlvbkVtb2ppOiBhc3luYyAoaWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVBcHBsaWNhdGlvbkVtb2ppKGlkKVxuICAgIH0sXG4gICAgZGVsZXRlRm9sbG93dXBNZXNzYWdlOiBhc3luYyAodG9rZW4sIG1lc3NhZ2VJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUZvbGxvd3VwTWVzc2FnZSh0b2tlbiwgbWVzc2FnZUlkKVxuICAgIH0sXG4gICAgZGVsZXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiBhc3luYyAoY29tbWFuZElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kKGNvbW1hbmRJZClcbiAgICB9LFxuICAgIGRlbGV0ZUd1aWxkOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUd1aWxkKGd1aWxkSWQpXG4gICAgfSxcbiAgICBkZWxldGVHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmRJZCwgZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kKGNvbW1hbmRJZCwgZ3VpbGRJZClcbiAgICB9LFxuICAgIGRlbGV0ZUd1aWxkU3RpY2tlcjogYXN5bmMgKGd1aWxkSWQsIHN0aWNrZXJJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlR3VpbGRTdGlja2VyKGd1aWxkSWQsIHN0aWNrZXJJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlR3VpbGRUZW1wbGF0ZTogYXN5bmMgKGd1aWxkSWQsIHRlbXBsYXRlQ29kZSkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUd1aWxkVGVtcGxhdGUoZ3VpbGRJZCwgdGVtcGxhdGVDb2RlKVxuICAgIH0sXG4gICAgZGVsZXRlSW50ZWdyYXRpb246IGFzeW5jIChndWlsZElkLCBpbnRlZ3JhdGlvbklkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVJbnRlZ3JhdGlvbihndWlsZElkLCBpbnRlZ3JhdGlvbklkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVJbnZpdGU6IGFzeW5jIChpbnZpdGVDb2RlLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVJbnZpdGUoaW52aXRlQ29kZSwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlTWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVNZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVNZXNzYWdlczogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkcywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlTWVzc2FnZXMoY2hhbm5lbElkLCBtZXNzYWdlSWRzLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2U6IGFzeW5jICh0b2tlbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSh0b2tlbilcbiAgICB9LFxuICAgIGRlbGV0ZU93blJlYWN0aW9uOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlT3duUmVhY3Rpb24oY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9uKVxuICAgIH0sXG4gICAgZGVsZXRlUmVhY3Rpb25zQWxsOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVSZWFjdGlvbnNBbGwoY2hhbm5lbElkLCBtZXNzYWdlSWQpXG4gICAgfSxcbiAgICBkZWxldGVSZWFjdGlvbnNFbW9qaTogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVJlYWN0aW9uc0Vtb2ppKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbilcbiAgICB9LFxuICAgIGRlbGV0ZVJvbGU6IGFzeW5jIChndWlsZElkLCByb2xlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVJvbGUoZ3VpbGRJZCwgcm9sZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVTY2hlZHVsZWRFdmVudDogYXN5bmMgKGd1aWxkSWQsIGV2ZW50SWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVTY2hlZHVsZWRFdmVudChndWlsZElkLCBldmVudElkKVxuICAgIH0sXG4gICAgZGVsZXRlU3RhZ2VJbnN0YW5jZTogYXN5bmMgKGNoYW5uZWxJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlU3RhZ2VJbnN0YW5jZShjaGFubmVsSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZVVzZXJSZWFjdGlvbjogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCB1c2VySWQsIHJlYWN0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlVXNlclJlYWN0aW9uKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCB1c2VySWQsIHJlYWN0aW9uKVxuICAgIH0sXG4gICAgZGVsZXRlV2ViaG9vazogYXN5bmMgKHdlYmhvb2tJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlV2ViaG9vayh3ZWJob29rSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZVdlYmhvb2tNZXNzYWdlOiBhc3luYyAod2ViaG9va0lkLCB0b2tlbiwgbWVzc2FnZUlkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlV2ViaG9va01lc3NhZ2Uod2ViaG9va0lkLCB0b2tlbiwgbWVzc2FnZUlkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgZGVsZXRlV2ViaG9va1dpdGhUb2tlbjogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVXZWJob29rV2l0aFRva2VuKHdlYmhvb2tJZCwgdG9rZW4pXG4gICAgfSxcbiAgICBlZGl0Q2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZXM6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmVkaXRDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlcyhjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbilcbiAgICB9LFxuICAgIGVkaXRDaGFubmVsUG9zaXRpb25zOiBhc3luYyAoZ3VpbGRJZCwgY2hhbm5lbFBvc2l0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmVkaXRDaGFubmVsUG9zaXRpb25zKGd1aWxkSWQsIGNoYW5uZWxQb3NpdGlvbnMpXG4gICAgfSxcbiAgICBlZGl0R3VpbGRNZmFMZXZlbDogYXN5bmMgKGd1aWxkSWQsIG1mYUxldmVsLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5lZGl0R3VpbGRNZmFMZXZlbChndWlsZElkLCBtZmFMZXZlbCwgcmVhc29uKVxuICAgIH0sXG4gICAgZWRpdE93blZvaWNlU3RhdGU6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZWRpdE93blZvaWNlU3RhdGUoZ3VpbGRJZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGVkaXRVc2VyVm9pY2VTdGF0ZTogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5lZGl0VXNlclZvaWNlU3RhdGUoZ3VpbGRJZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGVkaXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbjogYXN5bmMgKGJlYXJlclRva2VuLCBhcHBsaWNhdGlvbklkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZWRpdFVzZXJBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uKGJlYXJlclRva2VuLCBhcHBsaWNhdGlvbklkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgam9pblRocmVhZDogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmpvaW5UaHJlYWQoY2hhbm5lbElkKVxuICAgIH0sXG4gICAgbGVhdmVHdWlsZDogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5sZWF2ZUd1aWxkKGd1aWxkSWQpXG4gICAgfSxcbiAgICBsZWF2ZVRocmVhZDogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmxlYXZlVGhyZWFkKGNoYW5uZWxJZClcbiAgICB9LFxuICAgIHJlbW92ZVJvbGU6IGFzeW5jIChndWlsZElkLCB1c2VySWQsIHJvbGVJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QucmVtb3ZlUm9sZShndWlsZElkLCB1c2VySWQsIHJvbGVJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgcmVtb3ZlVGhyZWFkTWVtYmVyOiBhc3luYyAoY2hhbm5lbElkLCB1c2VySWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5yZW1vdmVUaHJlYWRNZW1iZXIoY2hhbm5lbElkLCB1c2VySWQpXG4gICAgfSxcbiAgICByZW1vdmVEbVJlY2lwaWVudDogYXN5bmMgKGNoYW5uZWxJZCwgdXNlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QucmVtb3ZlRG1SZWNpcGllbnQoY2hhbm5lbElkLCB1c2VySWQpXG4gICAgfSxcbiAgICBzZW5kSW50ZXJhY3Rpb25SZXNwb25zZTogYXN5bmMgKGludGVyYWN0aW9uSWQsIHRva2VuLCBvcHRpb25zLCBwYXJhbXMpID0+IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYm90LnJlc3Quc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoaW50ZXJhY3Rpb25JZCwgdG9rZW4sIG9wdGlvbnMsIHBhcmFtcylcblxuICAgICAgaWYgKCFyZXNwb25zZSkgcmV0dXJuXG5cbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZShib3QsIHsgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiBzbmFrZWxpemUocmVzcG9uc2UpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICB0cmlnZ2VyVHlwaW5nSW5kaWNhdG9yOiBhc3luYyAoY2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QudHJpZ2dlclR5cGluZ0luZGljYXRvcihjaGFubmVsSWQpXG4gICAgfSxcbiAgICBiYW5NZW1iZXI6IGFzeW5jIChndWlsZElkLCB1c2VySWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmJhbk1lbWJlcihndWlsZElkLCB1c2VySWQsIG9wdGlvbnMsIHJlYXNvbilcbiAgICB9LFxuXG4gICAga2lja01lbWJlcjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3Qua2lja01lbWJlcihndWlsZElkLCB1c2VySWQsIHJlYXNvbilcbiAgICB9LFxuICAgIHBpbk1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QucGluTWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgdW5iYW5NZW1iZXI6IGFzeW5jIChndWlsZElkLCB1c2VySWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnVuYmFuTWVtYmVyKGd1aWxkSWQsIHVzZXJJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgdW5waW5NZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnVucGluTWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRPbmJvYXJkaW5nOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZ3VpbGRPbmJvYXJkaW5nKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkT25ib2FyZGluZyhndWlsZElkKSkpXG4gICAgfSxcbiAgICBlZGl0R3VpbGRPbmJvYXJkaW5nOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5ndWlsZE9uYm9hcmRpbmcoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEd1aWxkT25ib2FyZGluZyhndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGxpc3RFbnRpdGxlbWVudHM6IGFzeW5jIChhcHBsaWNhdGlvbklkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0Lmxpc3RFbnRpdGxlbWVudHMoYXBwbGljYXRpb25JZCwgb3B0aW9ucykpLm1hcCgoZW50aXRsZW1lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuZW50aXRsZW1lbnQoYm90LCBzbmFrZWxpemUoZW50aXRsZW1lbnQpKSlcbiAgICB9LFxuICAgIGdldEVudGl0bGVtZW50OiBhc3luYyAoYXBwbGljYXRpb25JZCwgZW50aXRsZW1lbnRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZW50aXRsZW1lbnQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0RW50aXRsZW1lbnQoYXBwbGljYXRpb25JZCwgZW50aXRsZW1lbnRJZCkpKVxuICAgIH0sXG4gICAgY3JlYXRlVGVzdEVudGl0bGVtZW50OiBhc3luYyAoYXBwbGljYXRpb25JZCwgYm9keSkgPT4ge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBjcmVhdGVUZXN0RW50aXRsZW1lbnQgZ2l2ZXMgYSBwYXJ0aWFsLCBhbmQgdGhpcyBtZXRob2QgcmV0dXJucyBhIHBhcnRpYWxcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmVudGl0bGVtZW50KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZVRlc3RFbnRpdGxlbWVudChhcHBsaWNhdGlvbklkLCBib2R5KSkpIGFzIFBhcnRpYWw8XG4gICAgICAgIHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmVudGl0bGVtZW50XG4gICAgICA+XG4gICAgfSxcbiAgICBkZWxldGVUZXN0RW50aXRsZW1lbnQ6IGFzeW5jIChhcHBsaWNhdGlvbklkLCBlbnRpdGxlbWVudElkKSA9PiB7XG4gICAgICBhd2FpdCBib3QucmVzdC5kZWxldGVUZXN0RW50aXRsZW1lbnQoYXBwbGljYXRpb25JZCwgZW50aXRsZW1lbnRJZClcbiAgICB9LFxuICAgIGxpc3RTa3VzOiBhc3luYyAoYXBwbGljYXRpb25JZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5saXN0U2t1cyhhcHBsaWNhdGlvbklkKSkubWFwKChza3UpID0+IGJvdC50cmFuc2Zvcm1lcnMuc2t1KGJvdCwgc25ha2VsaXplKHNrdSkpKVxuICAgIH0sXG4gICAgZ2V0U3Vic2NyaXB0aW9uOiBhc3luYyAoc2t1SWQsIHN1YnNjcmlwdGlvbklkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zdWJzY3JpcHRpb24oYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0U3Vic2NyaXB0aW9uKHNrdUlkLCBzdWJzY3JpcHRpb25JZCkpKVxuICAgIH0sXG4gICAgbGlzdFN1YnNjcmlwdGlvbnM6IGFzeW5jIChza3VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5saXN0U3Vic2NyaXB0aW9ucyhza3VJZCwgb3B0aW9ucykpLm1hcCgoc3Vic2NyaXB0aW9uKSA9PiBib3QudHJhbnNmb3JtZXJzLnN1YnNjcmlwdGlvbihib3QsIHNuYWtlbGl6ZShzdWJzY3JpcHRpb24pKSlcbiAgICB9LFxuICAgIHNlbmRTb3VuZGJvYXJkU291bmQ6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIGF3YWl0IGJvdC5yZXN0LnNlbmRTb3VuZGJvYXJkU291bmQoY2hhbm5lbElkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgbGlzdERlZmF1bHRTb3VuZGJvYXJkU291bmRzOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0Lmxpc3REZWZhdWx0U291bmRib2FyZFNvdW5kcygpKS5tYXAoKHNvdW5kKSA9PiBib3QudHJhbnNmb3JtZXJzLnNvdW5kYm9hcmRTb3VuZChib3QsIHNuYWtlbGl6ZShzb3VuZCkpKVxuICAgIH0sXG4gICAgbGlzdEd1aWxkU291bmRib2FyZFNvdW5kczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGJvdC5yZXN0Lmxpc3RHdWlsZFNvdW5kYm9hcmRTb3VuZHMoZ3VpbGRJZClcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaXRlbXM6IHJlcy5pdGVtcy5tYXAoKHNvdW5kKSA9PiBib3QudHJhbnNmb3JtZXJzLnNvdW5kYm9hcmRTb3VuZChib3QsIHNuYWtlbGl6ZShzb3VuZCkpKSxcbiAgICAgIH1cbiAgICB9LFxuICAgIGdldEd1aWxkU291bmRib2FyZFNvdW5kOiBhc3luYyAoZ3VpbGRJZCwgc291bmRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc291bmRib2FyZFNvdW5kKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkU291bmRib2FyZFNvdW5kKGd1aWxkSWQsIHNvdW5kSWQpKSlcbiAgICB9LFxuICAgIGNyZWF0ZUd1aWxkU291bmRib2FyZFNvdW5kOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zb3VuZGJvYXJkU291bmQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlR3VpbGRTb3VuZGJvYXJkU291bmQoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBtb2RpZnlHdWlsZFNvdW5kYm9hcmRTb3VuZDogYXN5bmMgKGd1aWxkSWQsIHNvdW5kSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc291bmRib2FyZFNvdW5kKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0Lm1vZGlmeUd1aWxkU291bmRib2FyZFNvdW5kKGd1aWxkSWQsIHNvdW5kSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZGVsZXRlR3VpbGRTb3VuZGJvYXJkU291bmQ6IGFzeW5jIChndWlsZElkLCBzb3VuZElkLCByZWFzb24pID0+IHtcbiAgICAgIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUd1aWxkU291bmRib2FyZFNvdW5kKGd1aWxkSWQsIHNvdW5kSWQsIHJlYXNvbilcbiAgICB9LFxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm90SGVscGVyczxcbiAgVFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsXG4gIC8vIFRoaXMgaXMganVzdCBhbiBhbGlhcywgbm90IGFuIGFjdHVhbCBwYXJhbWV0ZXJcbiAgVEJvdCBleHRlbmRzIEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4gPSBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuPiB7XG4gIGNyZWF0ZUF1dG9tb2RSdWxlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVBdXRvTW9kZXJhdGlvblJ1bGVPcHRpb25zLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8QXV0b01vZGVyYXRpb25SdWxlPlxuICBjcmVhdGVDaGFubmVsOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZENoYW5uZWwsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnY2hhbm5lbCddPlxuICBjcmVhdGVFbW9qaTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlR3VpbGRFbW9qaSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydlbW9qaSddPlxuICBjcmVhdGVBcHBsaWNhdGlvbkVtb2ppOiAob3B0aW9uczogQ3JlYXRlQXBwbGljYXRpb25FbW9qaSkgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZW1vamknXT5cbiAgY3JlYXRlRm9ydW1UaHJlYWQ6IChcbiAgICBjaGFubmVsSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBDcmVhdGVGb3J1bVBvc3RXaXRoTWVzc2FnZSxcbiAgICByZWFzb24/OiBzdHJpbmcsXG4gICkgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnY2hhbm5lbCddPlxuICBjcmVhdGVHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQ6IChjb21tYW5kOiBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQsIG9wdGlvbnM/OiBDcmVhdGVHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZD5cbiAgY3JlYXRlR3VpbGQ6IChvcHRpb25zOiBDcmVhdGVHdWlsZCkgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZ3VpbGQnXT5cbiAgY3JlYXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IChcbiAgICBjb21tYW5kOiBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQsXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIG9wdGlvbnM/OiBDcmVhdGVHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbnMsXG4gICkgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmQ+XG4gIGNyZWF0ZUd1aWxkRnJvbVRlbXBsYXRlOiAodGVtcGxhdGVDb2RlOiBzdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUd1aWxkRnJvbVRlbXBsYXRlKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydndWlsZCddPlxuICBjcmVhdGVHdWlsZFN0aWNrZXI6IChcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9uczogQ3JlYXRlR3VpbGRTdGlja2VyT3B0aW9ucyxcbiAgICByZWFzb24/OiBzdHJpbmcsXG4gICkgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnc3RpY2tlciddPlxuICBjcmVhdGVHdWlsZFRlbXBsYXRlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVUZW1wbGF0ZSkgPT4gUHJvbWlzZTxUZW1wbGF0ZT5cbiAgY3JlYXRlSW52aXRlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBDcmVhdGVDaGFubmVsSW52aXRlLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemU8RGlzY29yZEludml0ZT4+XG4gIGNyZWF0ZVJvbGU6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUd1aWxkUm9sZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydyb2xlJ10+XG4gIGNyZWF0ZVNjaGVkdWxlZEV2ZW50OiAoXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIG9wdGlvbnM6IENyZWF0ZVNjaGVkdWxlZEV2ZW50LFxuICAgIHJlYXNvbj86IHN0cmluZyxcbiAgKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydzY2hlZHVsZWRFdmVudCddPlxuICBjcmVhdGVTdGFnZUluc3RhbmNlOiAob3B0aW9uczogQ3JlYXRlU3RhZ2VJbnN0YW5jZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydzdGFnZUluc3RhbmNlJ10+XG4gIGNyZWF0ZVdlYmhvb2s6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlV2ViaG9vaywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWyd3ZWJob29rJ10+XG4gIGVkaXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uczogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBjb21tYW5kSWQ6IEJpZ1N0cmluZyxcbiAgICBiZWFyZXJUb2tlbjogc3RyaW5nLFxuICAgIG9wdGlvbnM6IENhbWVsaXplPERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucz5bXSxcbiAgKSA9PiBQcm9taXNlPEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM+XG4gIGVkaXRBdXRvbW9kUnVsZTogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBydWxlSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBQYXJ0aWFsPEVkaXRBdXRvTW9kZXJhdGlvblJ1bGVPcHRpb25zPixcbiAgICByZWFzb24/OiBzdHJpbmcsXG4gICkgPT4gUHJvbWlzZTxBdXRvTW9kZXJhdGlvblJ1bGU+XG4gIGVkaXRCb3RQcm9maWxlOiAob3B0aW9uczogeyB1c2VybmFtZT86IHN0cmluZzsgYm90QXZhdGFyVVJMPzogc3RyaW5nIHwgbnVsbCB9KSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWyd1c2VyJ10+XG4gIGVkaXRDaGFubmVsOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IE1vZGlmeUNoYW5uZWwsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnY2hhbm5lbCddPlxuICBlZGl0RW1vamk6IChcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgaWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBNb2RpZnlHdWlsZEVtb2ppLFxuICAgIHJlYXNvbj86IHN0cmluZyxcbiAgKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydlbW9qaSddPlxuICBlZGl0QXBwbGljYXRpb25FbW9qaTogKGlkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IE1vZGlmeUFwcGxpY2F0aW9uRW1vamkpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2Vtb2ppJ10+XG4gIGVkaXRGb2xsb3d1cE1lc3NhZ2U6IChcbiAgICB0b2tlbjogc3RyaW5nLFxuICAgIG1lc3NhZ2VJZDogQmlnU3RyaW5nLFxuICAgIG9wdGlvbnM6IEludGVyYWN0aW9uQ2FsbGJhY2tEYXRhLFxuICApID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ21lc3NhZ2UnXT5cbiAgZWRpdEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBlZGl0R3VpbGQ6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IE1vZGlmeUd1aWxkLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2d1aWxkJ10+XG4gIGVkaXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmRJZDogQmlnU3RyaW5nLCBndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCkgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmQ+XG4gIGVkaXRHdWlsZFN0aWNrZXI6IChcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgc3RpY2tlcklkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9uczogQXRMZWFzdE9uZTxFZGl0R3VpbGRTdGlja2VyT3B0aW9ucz4sXG4gICAgcmVhc29uPzogc3RyaW5nLFxuICApID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3N0aWNrZXInXT5cbiAgZWRpdEd1aWxkVGVtcGxhdGU6IChndWlsZElkOiBCaWdTdHJpbmcsIHRlbXBsYXRlQ29kZTogc3RyaW5nLCBvcHRpb25zOiBNb2RpZnlHdWlsZFRlbXBsYXRlKSA9PiBQcm9taXNlPFRlbXBsYXRlPlxuICBlZGl0TWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogRWRpdE1lc3NhZ2UpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ21lc3NhZ2UnXT5cbiAgZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZTogKHRva2VuOiBzdHJpbmcsIG9wdGlvbnM6IEludGVyYWN0aW9uQ2FsbGJhY2tEYXRhKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZXNzYWdlJ10+XG4gIGVkaXRPcmlnaW5hbFdlYmhvb2tNZXNzYWdlOiAoXG4gICAgd2ViaG9va0lkOiBCaWdTdHJpbmcsXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICBvcHRpb25zOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSAmIHsgdGhyZWFkSWQ/OiBCaWdTdHJpbmcgfSxcbiAgKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZXNzYWdlJ10+XG4gIGVkaXRSb2xlOiAoXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIHJvbGVJZDogQmlnU3RyaW5nLFxuICAgIG9wdGlvbnM6IEVkaXRHdWlsZFJvbGUsXG4gICAgcmVhc29uPzogc3RyaW5nLFxuICApID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3JvbGUnXT5cbiAgZWRpdFJvbGVQb3NpdGlvbnM6IChcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9uczogTW9kaWZ5Um9sZVBvc2l0aW9uc1tdLFxuICAgIHJlYXNvbj86IHN0cmluZyxcbiAgKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydyb2xlJ11bXT5cbiAgZWRpdFNjaGVkdWxlZEV2ZW50OiAoXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIGV2ZW50SWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBQYXJ0aWFsPEVkaXRTY2hlZHVsZWRFdmVudD4sXG4gICAgcmVhc29uPzogc3RyaW5nLFxuICApID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3NjaGVkdWxlZEV2ZW50J10+XG4gIGVkaXRTdGFnZUluc3RhbmNlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHRvcGljOiBzdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnc3RhZ2VJbnN0YW5jZSddPlxuICBlZGl0V2ViaG9vazogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBNb2RpZnlXZWJob29rLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3dlYmhvb2snXT5cbiAgZWRpdFdlYmhvb2tNZXNzYWdlOiAoXG4gICAgd2ViaG9va0lkOiBCaWdTdHJpbmcsXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICBtZXNzYWdlSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSAmIHsgdGhyZWFkSWQ/OiBCaWdTdHJpbmcgfSxcbiAgKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZXNzYWdlJ10+XG4gIGVkaXRXZWJob29rV2l0aFRva2VuOiAoXG4gICAgd2ViaG9va0lkOiBCaWdTdHJpbmcsXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICBvcHRpb25zOiBPbWl0PE1vZGlmeVdlYmhvb2ssICdjaGFubmVsSWQnPixcbiAgKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWyd3ZWJob29rJ10+XG4gIGVkaXRXZWxjb21lU2NyZWVuOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDYW1lbGl6ZTxEaXNjb3JkTW9kaWZ5R3VpbGRXZWxjb21lU2NyZWVuPiwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFdlbGNvbWVTY3JlZW4+XG4gIGVkaXRXaWRnZXRTZXR0aW5nczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ2FtZWxpemU8RGlzY29yZEd1aWxkV2lkZ2V0U2V0dGluZ3M+LCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8R3VpbGRXaWRnZXRTZXR0aW5ncz5cbiAgZWRpdFVzZXJBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uOiAoXG4gICAgYmVhcmVyVG9rZW46IHN0cmluZyxcbiAgICBhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9uczogQ2FtZWxpemU8RGlzY29yZEFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24+LFxuICApID0+IFByb21pc2U8Q2FtZWxpemU8RGlzY29yZEFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24+PlxuICBleGVjdXRlV2ViaG9vazogKFxuICAgIHdlYmhvb2tJZDogQmlnU3RyaW5nLFxuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgb3B0aW9uczogRXhlY3V0ZVdlYmhvb2ssXG4gICkgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVzc2FnZSddIHwgdW5kZWZpbmVkPlxuICBmb2xsb3dBbm5vdW5jZW1lbnQ6IChzb3VyY2VDaGFubmVsSWQ6IEJpZ1N0cmluZywgdGFyZ2V0Q2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemU8RGlzY29yZEZvbGxvd2VkQ2hhbm5lbD4+XG4gIGdldEFjdGl2ZVRocmVhZHM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8eyB0aHJlYWRzOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnY2hhbm5lbCddW107IG1lbWJlcnM6IFRocmVhZE1lbWJlcltdIH0+XG4gIGdldEFwcGxpY2F0aW9uSW5mbzogKCkgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbj5cbiAgZWRpdEFwcGxpY2F0aW9uSW5mbzogKGJvZHk6IEVkaXRBcHBsaWNhdGlvbikgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbj5cbiAgZ2V0Q3VycmVudEF1dGhlbnRpY2F0aW9uSW5mbzogKGJlYXJlclRva2VuOiBzdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemU8RGlzY29yZEN1cnJlbnRBdXRob3JpemF0aW9uPj5cbiAgZXhjaGFuZ2VUb2tlbjogKGNsaWVudElkOiBCaWdTdHJpbmcsIGNsaWVudFNlY3JldDogc3RyaW5nLCBvcHRpb25zOiBDYW1lbGl6ZTxEaXNjb3JkVG9rZW5FeGNoYW5nZT4pID0+IFByb21pc2U8Q2FtZWxpemU8RGlzY29yZEFjY2Vzc1Rva2VuUmVzcG9uc2U+PlxuICByZXZva2VUb2tlbjogKGNsaWVudElkOiBCaWdTdHJpbmcsIGNsaWVudFNlY3JldDogc3RyaW5nLCBvcHRpb25zOiBDYW1lbGl6ZTxEaXNjb3JkVG9rZW5SZXZvY2F0aW9uPikgPT4gUHJvbWlzZTx2b2lkPlxuICBnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiAoXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIGNvbW1hbmRJZDogQmlnU3RyaW5nLFxuICAgIG9wdGlvbnM/OiBHZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uT3B0aW9ucyxcbiAgKSA9PiBQcm9taXNlPEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM+XG4gIGdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zOiAoXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIG9wdGlvbnM/OiBHZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uT3B0aW9ucyxcbiAgKSA9PiBQcm9taXNlPEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNbXT5cbiAgZ2V0QXVkaXRMb2c6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRHdWlsZEF1ZGl0TG9nKSA9PiBQcm9taXNlPENhbWVsaXplPERpc2NvcmRBdWRpdExvZz4+XG4gIGdldEF1dG9tb2RSdWxlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBydWxlSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxBdXRvTW9kZXJhdGlvblJ1bGU+XG4gIGdldEF1dG9tb2RSdWxlczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxBdXRvTW9kZXJhdGlvblJ1bGVbXT5cbiAgZ2V0QXZhaWxhYmxlVm9pY2VSZWdpb25zOiAoKSA9PiBQcm9taXNlPENhbWVsaXplPERpc2NvcmRWb2ljZVJlZ2lvbj5bXT5cbiAgZ2V0QmFuOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZTxEaXNjb3JkQmFuPj5cbiAgZ2V0QmFuczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldEJhbnMpID0+IFByb21pc2U8Q2FtZWxpemU8RGlzY29yZEJhbj5bXT5cbiAgZ2V0Q2hhbm5lbDogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydjaGFubmVsJ10+XG4gIGdldENoYW5uZWxJbnZpdGVzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemU8RGlzY29yZEludml0ZU1ldGFkYXRhPltdPlxuICBnZXRDaGFubmVsczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnY2hhbm5lbCddW10+XG4gIGdldENoYW5uZWxXZWJob29rczogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWyd3ZWJob29rJ11bXT5cbiAgZ2V0RG1DaGFubmVsOiAodXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2NoYW5uZWwnXT5cbiAgZ2V0R3JvdXBEbUNoYW5uZWw6IChvcHRpb25zOiBHZXRHcm91cERtT3B0aW9ucykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnY2hhbm5lbCddPlxuICBnZXRFbW9qaTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgZW1vamlJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydlbW9qaSddPlxuICBnZXRBcHBsaWNhdGlvbkVtb2ppOiAoZW1vamlJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydlbW9qaSddPlxuICBnZXRFbW9qaXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2Vtb2ppJ11bXT5cbiAgZ2V0QXBwbGljYXRpb25FbW9qaXM6ICgpID0+IFByb21pc2U8eyBpdGVtczogVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2Vtb2ppJ11bXSB9PlxuICBnZXRGb2xsb3d1cE1lc3NhZ2U6ICh0b2tlbjogc3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVzc2FnZSddPlxuICBnZXRHYXRld2F5Qm90OiAoKSA9PiBQcm9taXNlPENhbWVsaXplPERpc2NvcmRHZXRHYXRld2F5Qm90Pj5cbiAgZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBnZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzOiAoKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZFtdPlxuICBnZXRHdWlsZDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IHsgY291bnRzPzogYm9vbGVhbiB9KSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydndWlsZCddPlxuICBnZXRHdWlsZHM6IChiZWFyZXJUb2tlbjogc3RyaW5nLCBvcHRpb25zPzogR2V0VXNlckd1aWxkcykgPT4gUHJvbWlzZTxQYXJ0aWFsPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydndWlsZCddPltdPlxuICBnZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmRJZDogQmlnU3RyaW5nLCBndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBnZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZHM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kW10+XG4gIGdldEd1aWxkUHJldmlldzogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZTxEaXNjb3JkR3VpbGRQcmV2aWV3Pj5cbiAgZ2V0R3VpbGRTdGlja2VyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBzdGlja2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnc3RpY2tlciddPlxuICBnZXRHdWlsZFN0aWNrZXJzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydzdGlja2VyJ11bXT5cbiAgZ2V0R3VpbGRUZW1wbGF0ZTogKHRlbXBsYXRlQ29kZTogc3RyaW5nKSA9PiBQcm9taXNlPFRlbXBsYXRlPlxuICBnZXRHdWlsZFRlbXBsYXRlczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUZW1wbGF0ZVtdPlxuICBnZXRHdWlsZFdlYmhvb2tzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWyd3ZWJob29rJ11bXT5cbiAgZ2V0SW50ZWdyYXRpb25zOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEludGVncmF0aW9uW10+XG4gIGdldEludml0ZTogKGludml0ZUNvZGU6IHN0cmluZywgb3B0aW9ucz86IEdldEludml0ZSkgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnaW52aXRlJ10+XG4gIGdldEludml0ZXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2ludml0ZSddW10+XG4gIGdldE1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ21lc3NhZ2UnXT5cbiAgZ2V0TWVzc2FnZXM6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldE1lc3NhZ2VzT3B0aW9ucykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVzc2FnZSddW10+XG4gIGdldFN0aWNrZXJQYWNrOiAoc3RpY2tlclBhY2tJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFN0aWNrZXJQYWNrPlxuICBnZXRTdGlja2VyUGFja3M6ICgpID0+IFByb21pc2U8U3RpY2tlclBhY2tbXT5cbiAgZ2V0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlOiAodG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVzc2FnZSddPlxuICBnZXRQaW5uZWRNZXNzYWdlczogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZXNzYWdlJ11bXT5cbiAgZ2V0UHJpdmF0ZUFyY2hpdmVkVGhyZWFkczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogTGlzdEFyY2hpdmVkVGhyZWFkcykgPT4gUHJvbWlzZTxDYW1lbGl6ZTxEaXNjb3JkQXJjaGl2ZWRUaHJlYWRzPj5cbiAgZ2V0UHJpdmF0ZUpvaW5lZEFyY2hpdmVkVGhyZWFkczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogTGlzdEFyY2hpdmVkVGhyZWFkcykgPT4gUHJvbWlzZTxDYW1lbGl6ZTxEaXNjb3JkQXJjaGl2ZWRUaHJlYWRzPj5cbiAgZ2V0UHJ1bmVDb3VudDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldEd1aWxkUHJ1bmVDb3VudFF1ZXJ5KSA9PiBQcm9taXNlPENhbWVsaXplPERpc2NvcmRQcnVuZWRDb3VudD4+XG4gIGdldFB1YmxpY0FyY2hpdmVkVGhyZWFkczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogTGlzdEFyY2hpdmVkVGhyZWFkcykgPT4gUHJvbWlzZTxDYW1lbGl6ZTxEaXNjb3JkQXJjaGl2ZWRUaHJlYWRzPj5cbiAgZ2V0Um9sZXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3JvbGUnXVtdPlxuICBnZXRSb2xlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCByb2xlSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsncm9sZSddPlxuICBnZXRTY2hlZHVsZWRFdmVudDogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBldmVudElkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9ucz86IHsgd2l0aFVzZXJDb3VudD86IGJvb2xlYW4gfSxcbiAgKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydzY2hlZHVsZWRFdmVudCddPlxuICBnZXRTY2hlZHVsZWRFdmVudHM6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRTY2hlZHVsZWRFdmVudHMpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3NjaGVkdWxlZEV2ZW50J11bXT5cbiAgZ2V0U2NoZWR1bGVkRXZlbnRVc2VyczogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBldmVudElkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9ucz86IEdldFNjaGVkdWxlZEV2ZW50VXNlcnMsXG4gICkgPT4gUHJvbWlzZTxBcnJheTx7IHVzZXI6IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWyd1c2VyJ107IG1lbWJlcj86IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZW1iZXInXSB9Pj5cbiAgZ2V0U2Vzc2lvbkluZm86ICgpID0+IFByb21pc2U8Q2FtZWxpemU8RGlzY29yZEdldEdhdGV3YXlCb3Q+PlxuICBnZXRTdGFnZUluc3RhbmNlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3N0YWdlSW5zdGFuY2UnXT5cbiAgZ2V0T3duVm9pY2VTdGF0ZTogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsndm9pY2VTdGF0ZSddPlxuICBnZXRVc2VyVm9pY2VTdGF0ZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3ZvaWNlU3RhdGUnXT5cbiAgZ2V0U3RpY2tlcjogKHN0aWNrZXJJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydzdGlja2VyJ10+XG4gIGdldFRocmVhZE1lbWJlcjogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUaHJlYWRNZW1iZXI+XG4gIGdldFRocmVhZE1lbWJlcnM6IChjaGFubmVsSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUaHJlYWRNZW1iZXJbXT5cbiAgZ2V0UmVhY3Rpb25zOiAoXG4gICAgY2hhbm5lbElkOiBCaWdTdHJpbmcsXG4gICAgbWVzc2FnZUlkOiBCaWdTdHJpbmcsXG4gICAgcmVhY3Rpb246IHN0cmluZyxcbiAgICBvcHRpb25zPzogR2V0UmVhY3Rpb25zLFxuICApID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3VzZXInXVtdPlxuICBnZXRVc2VyOiAoaWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsndXNlciddPlxuICBnZXRDdXJyZW50VXNlcjogKGJlYXJlclRva2VuOiBzdHJpbmcpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3VzZXInXT5cbiAgZ2V0VXNlckNvbm5lY3Rpb25zOiAoYmVhcmVyVG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZTxEaXNjb3JkQ29ubmVjdGlvbj5bXT5cbiAgZ2V0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb246IChiZWFyZXJUb2tlbjogc3RyaW5nLCBhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemU8RGlzY29yZEFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24+PlxuICBnZXRWYW5pdHlVcmw6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemU8RGlzY29yZFZhbml0eVVybD4+XG4gIGdldFZvaWNlUmVnaW9uczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZTxEaXNjb3JkVm9pY2VSZWdpb24+W10+XG4gIGdldFdlYmhvb2s6ICh3ZWJob29rSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnd2ViaG9vayddPlxuICBnZXRXZWJob29rTWVzc2FnZTogKFxuICAgIHdlYmhvb2tJZDogQmlnU3RyaW5nLFxuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgbWVzc2FnZUlkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9ucz86IEdldFdlYmhvb2tNZXNzYWdlT3B0aW9ucyxcbiAgKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZXNzYWdlJ10+XG4gIGdldFdlYmhvb2tXaXRoVG9rZW46ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgdG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnd2ViaG9vayddPlxuICBnZXRXZWxjb21lU2NyZWVuOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFdlbGNvbWVTY3JlZW4+XG4gIGdldFdpZGdldDogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxHdWlsZFdpZGdldD5cbiAgZ2V0V2lkZ2V0U2V0dGluZ3M6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8R3VpbGRXaWRnZXRTZXR0aW5ncz5cbiAgcHVibGlzaE1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ21lc3NhZ2UnXT5cbiAgc2VuZE1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlTWVzc2FnZU9wdGlvbnMpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ21lc3NhZ2UnXT5cbiAgc2VuZEZvbGxvd3VwTWVzc2FnZTogKHRva2VuOiBzdHJpbmcsIG9wdGlvbnM6IEludGVyYWN0aW9uQ2FsbGJhY2tEYXRhKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZXNzYWdlJ10+XG4gIHN0YXJ0VGhyZWFkV2l0aE1lc3NhZ2U6IChcbiAgICBjaGFubmVsSWQ6IEJpZ1N0cmluZyxcbiAgICBtZXNzYWdlSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBTdGFydFRocmVhZFdpdGhNZXNzYWdlLFxuICAgIHJlYXNvbj86IHN0cmluZyxcbiAgKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydjaGFubmVsJ10+XG4gIHN0YXJ0VGhyZWFkV2l0aG91dE1lc3NhZ2U6IChcbiAgICBjaGFubmVsSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBTdGFydFRocmVhZFdpdGhvdXRNZXNzYWdlLFxuICAgIHJlYXNvbj86IHN0cmluZyxcbiAgKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydjaGFubmVsJ10+XG4gIHN5bmNHdWlsZFRlbXBsYXRlOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFRlbXBsYXRlPlxuICB1cHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzOiAoXG4gICAgY29tbWFuZHM6IENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZFtdLFxuICAgIG9wdGlvbnM/OiBVcHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxuICApID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kW10+XG4gIHVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kczogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBjb21tYW5kczogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kW10sXG4gICAgb3B0aW9ucz86IFVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucyxcbiAgKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZFtdPlxuICBlZGl0Qm90TWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBFZGl0Qm90TWVtYmVyT3B0aW9ucywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZW1iZXInXT5cbiAgZWRpdE1lbWJlcjogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICB1c2VySWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBNb2RpZnlHdWlsZE1lbWJlcixcbiAgICByZWFzb24/OiBzdHJpbmcsXG4gICkgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVtYmVyJ10+XG4gIGdldE1lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ21lbWJlciddPlxuICBnZXRDdXJyZW50TWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBiZWFyZXJUb2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZW1iZXInXT5cbiAgZ2V0TWVtYmVyczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogTGlzdEd1aWxkTWVtYmVycykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVtYmVyJ11bXT5cbiAgcHJ1bmVNZW1iZXJzOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBCZWdpbkd1aWxkUHJ1bmUsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx7IHBydW5lZDogbnVtYmVyIHwgbnVsbCB9PlxuICBzZWFyY2hNZW1iZXJzOiAoXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IE9taXQ8U2VhcmNoTWVtYmVycywgJ3F1ZXJ5Jz4sXG4gICkgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVtYmVyJ11bXT5cbiAgYnVsa0Jhbk1lbWJlcnM6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUd1aWxkQnVsa0JhbiwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHsgYmFubmVkVXNlcnM6IGJpZ2ludFtdOyBmYWlsZWRVc2VyczogYmlnaW50W10gfT5cbiAgZ2V0QXBwbGljYXRpb25BY3Rpdml0eUluc3RhbmNlOiAoYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLCBpbnN0YW5jZUlkOiBzdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemU8RGlzY29yZEFjdGl2aXR5SW5zdGFuY2U+PlxuICAvLyBmdW5jdGlvbnMgcmV0dXJuIFZvaWQgc28gZG9udCBuZWVkIGFueSBzcGVjaWFsIGhhbmRsaW5nXG4gIGFkZFJlYWN0aW9uOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFjdGlvbjogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGFkZFJlYWN0aW9uczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgcmVhY3Rpb25zOiBzdHJpbmdbXSwgb3JkZXJlZD86IGJvb2xlYW4pID0+IFByb21pc2U8dm9pZD5cbiAgYWRkUm9sZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIHJvbGVJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgYWRkVGhyZWFkTWVtYmVyOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGFkZERtUmVjaXBpZW50OiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBBZGREbVJlY2lwaWVudE9wdGlvbnMpID0+IFByb21pc2U8dm9pZD5cbiAgYWRkR3VpbGRNZW1iZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBBZGRHdWlsZE1lbWJlck9wdGlvbnMpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlQXV0b21vZFJ1bGU6IChndWlsZElkOiBCaWdTdHJpbmcsIHJ1bGVJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlQ2hhbm5lbDogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlQ2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvdmVyd3JpdGVJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlRW1vamk6IChndWlsZElkOiBCaWdTdHJpbmcsIGlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVBcHBsaWNhdGlvbkVtb2ppOiAoaWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVGb2xsb3d1cE1lc3NhZ2U6ICh0b2tlbjogc3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQ6IChjb21tYW5kSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVHdWlsZDogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmRJZDogQmlnU3RyaW5nLCBndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlR3VpbGRTdGlja2VyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBzdGlja2VySWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUd1aWxkVGVtcGxhdGU6IChndWlsZElkOiBCaWdTdHJpbmcsIHRlbXBsYXRlQ29kZTogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUludGVncmF0aW9uOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBpbnRlZ3JhdGlvbklkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVJbnZpdGU6IChpbnZpdGVDb2RlOiBzdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVNZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlTWVzc2FnZXM6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkczogQmlnU3RyaW5nW10sIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2U6ICh0b2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZU93blJlYWN0aW9uOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFjdGlvbjogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVJlYWN0aW9uc0FsbDogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVSZWFjdGlvbnNFbW9qaTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgcmVhY3Rpb246IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVSb2xlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCByb2xlSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVNjaGVkdWxlZEV2ZW50OiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBldmVudElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlU3RhZ2VJbnN0YW5jZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlVXNlclJlYWN0aW9uOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgcmVhY3Rpb246IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVXZWJob29rOiAod2ViaG9va0lkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVXZWJob29rTWVzc2FnZTogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCB0b2tlbjogc3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IERlbGV0ZVdlYmhvb2tNZXNzYWdlT3B0aW9ucykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVXZWJob29rV2l0aFRva2VuOiAod2ViaG9va0lkOiBCaWdTdHJpbmcsIHRva2VuOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZWRpdENoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGVzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEVkaXRDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlc09wdGlvbnMsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBlZGl0Q2hhbm5lbFBvc2l0aW9uczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgY2hhbm5lbFBvc2l0aW9uczogTW9kaWZ5R3VpbGRDaGFubmVsUG9zaXRpb25zW10pID0+IFByb21pc2U8dm9pZD5cbiAgZWRpdEd1aWxkTWZhTGV2ZWw6IChndWlsZElkOiBCaWdTdHJpbmcsIG1mYUxldmVsOiBNZmFMZXZlbHMsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBlZGl0T3duVm9pY2VTdGF0ZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogRWRpdE93blZvaWNlU3RhdGUpID0+IFByb21pc2U8dm9pZD5cbiAgZWRpdFVzZXJWb2ljZVN0YXRlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBFZGl0VXNlclZvaWNlU3RhdGUpID0+IFByb21pc2U8dm9pZD5cbiAgam9pblRocmVhZDogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGxlYXZlR3VpbGQ6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgbGVhdmVUaHJlYWQ6IChjaGFubmVsSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICByZW1vdmVSb2xlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgcm9sZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICByZW1vdmVUaHJlYWRNZW1iZXI6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgcmVtb3ZlRG1SZWNpcGllbnQ6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgc2VuZEludGVyYWN0aW9uUmVzcG9uc2U6IChcbiAgICBpbnRlcmFjdGlvbklkOiBCaWdTdHJpbmcsXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICBvcHRpb25zOiBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICAgIHBhcmFtcz86IEludGVyYWN0aW9uQ2FsbGJhY2tPcHRpb25zLFxuICApID0+IFByb21pc2U8dm9pZCB8IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UnXT5cbiAgdHJpZ2dlclR5cGluZ0luZGljYXRvcjogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGJhbk1lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBDcmVhdGVHdWlsZEJhbiwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGtpY2tNZW1iZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgcGluTWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHVuYmFuTWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHVucGluTWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGdldEd1aWxkT25ib2FyZGluZzogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZ3VpbGRPbmJvYXJkaW5nJ10+XG4gIGVkaXRHdWlsZE9uYm9hcmRpbmc6IChcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9uczogRWRpdEd1aWxkT25ib2FyZGluZyxcbiAgICByZWFzb24/OiBzdHJpbmcsXG4gICkgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZ3VpbGRPbmJvYXJkaW5nJ10+XG4gIGxpc3RFbnRpdGxlbWVudHM6IChhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRFbnRpdGxlbWVudHMpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2VudGl0bGVtZW50J11bXT5cbiAgZ2V0RW50aXRsZW1lbnQ6IChhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsIGVudGl0bGVtZW50SWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZW50aXRsZW1lbnQnXT5cbiAgY3JlYXRlVGVzdEVudGl0bGVtZW50OiAoXG4gICAgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLFxuICAgIGJvZHk6IENyZWF0ZUVudGl0bGVtZW50LFxuICApID0+IFByb21pc2U8UGFydGlhbDxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZW50aXRsZW1lbnQnXT4+XG4gIGRlbGV0ZVRlc3RFbnRpdGxlbWVudDogKGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZywgZW50aXRsZW1lbnRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGxpc3RTa3VzOiAoYXBwbGljYXRpb25JZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydza3UnXVtdPlxuICBsaXN0U3Vic2NyaXB0aW9uczogKHNrdUlkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBMaXN0U2t1U3Vic2NyaXB0aW9uc09wdGlvbnMpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3N1YnNjcmlwdGlvbiddW10+XG4gIGdldFN1YnNjcmlwdGlvbjogKHNrdUlkOiBCaWdTdHJpbmcsIHN1YnNjcmlwdGlvbklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3N1YnNjcmlwdGlvbiddPlxuICBzZW5kU291bmRib2FyZFNvdW5kOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IFNlbmRTb3VuZGJvYXJkU291bmQpID0+IFByb21pc2U8dm9pZD5cbiAgbGlzdERlZmF1bHRTb3VuZGJvYXJkU291bmRzOiAoKSA9PiBQcm9taXNlPFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydzb3VuZGJvYXJkU291bmQnXVtdPlxuICBsaXN0R3VpbGRTb3VuZGJvYXJkU291bmRzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHsgaXRlbXM6IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydzb3VuZGJvYXJkU291bmQnXVtdIH0+XG4gIGdldEd1aWxkU291bmRib2FyZFNvdW5kOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBzb3VuZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3NvdW5kYm9hcmRTb3VuZCddPlxuICBjcmVhdGVHdWlsZFNvdW5kYm9hcmRTb3VuZDogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBDcmVhdGVHdWlsZFNvdW5kYm9hcmRTb3VuZCxcbiAgICByZWFzb24/OiBzdHJpbmcsXG4gICkgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnc291bmRib2FyZFNvdW5kJ10+XG4gIG1vZGlmeUd1aWxkU291bmRib2FyZFNvdW5kOiAoXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIHNvdW5kSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBNb2RpZnlHdWlsZFNvdW5kYm9hcmRTb3VuZCxcbiAgICByZWFzb24/OiBzdHJpbmcsXG4gICkgPT4gUHJvbWlzZTxUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnc291bmRib2FyZFNvdW5kJ10+XG4gIGRlbGV0ZUd1aWxkU291bmRib2FyZFNvdW5kOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBzb3VuZElkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUJvdEhlbHBlcnMiLCJib3QiLCJjcmVhdGVBdXRvbW9kUnVsZSIsImd1aWxkSWQiLCJvcHRpb25zIiwicmVhc29uIiwidHJhbnNmb3JtZXJzIiwiYXV0b21vZFJ1bGUiLCJzbmFrZWxpemUiLCJyZXN0IiwiY3JlYXRlQ2hhbm5lbCIsImNoYW5uZWwiLCJjcmVhdGVFbW9qaSIsImVtb2ppIiwiY3JlYXRlQXBwbGljYXRpb25FbW9qaSIsImNyZWF0ZUZvcnVtVGhyZWFkIiwiY2hhbm5lbElkIiwiY3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kIiwiY29tbWFuZCIsImFwcGxpY2F0aW9uQ29tbWFuZCIsImNyZWF0ZUd1aWxkIiwiZ3VpbGQiLCJzaGFyZElkIiwiY3JlYXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJjcmVhdGVHdWlsZEZyb21UZW1wbGF0ZSIsInRlbXBsYXRlQ29kZSIsImNyZWF0ZUd1aWxkU3RpY2tlciIsInN0aWNrZXIiLCJjcmVhdGVHdWlsZFRlbXBsYXRlIiwidGVtcGxhdGUiLCJjcmVhdGVJbnZpdGUiLCJjcmVhdGVSb2xlIiwicm9sZSIsImNyZWF0ZVNjaGVkdWxlZEV2ZW50Iiwic2NoZWR1bGVkRXZlbnQiLCJjcmVhdGVTdGFnZUluc3RhbmNlIiwic3RhZ2VJbnN0YW5jZSIsImNyZWF0ZVdlYmhvb2siLCJ3ZWJob29rIiwiZWRpdEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zIiwiY29tbWFuZElkIiwiYmVhcmVyVG9rZW4iLCJhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uIiwiZWRpdEF1dG9tb2RSdWxlIiwicnVsZUlkIiwiZWRpdEJvdFByb2ZpbGUiLCJ1c2VyIiwiZWRpdENoYW5uZWwiLCJlZGl0RW1vamkiLCJpZCIsImVkaXRBcHBsaWNhdGlvbkVtb2ppIiwiZWRpdEZvbGxvd3VwTWVzc2FnZSIsInRva2VuIiwibWVzc2FnZUlkIiwibWVzc2FnZSIsImVkaXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQiLCJlZGl0R3VpbGQiLCJlZGl0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJlZGl0R3VpbGRTdGlja2VyIiwic3RpY2tlcklkIiwiZWRpdEd1aWxkVGVtcGxhdGUiLCJlZGl0TWVzc2FnZSIsImVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJlZGl0T3JpZ2luYWxXZWJob29rTWVzc2FnZSIsIndlYmhvb2tJZCIsImVkaXRSb2xlIiwicm9sZUlkIiwiZWRpdFJvbGVQb3NpdGlvbnMiLCJtYXAiLCJlZGl0U2NoZWR1bGVkRXZlbnQiLCJldmVudElkIiwiZWRpdFN0YWdlSW5zdGFuY2UiLCJ0b3BpYyIsImVkaXRXZWJob29rIiwiZWRpdFdlYmhvb2tNZXNzYWdlIiwiZWRpdFdlYmhvb2tXaXRoVG9rZW4iLCJlZGl0V2VsY29tZVNjcmVlbiIsIndlbGNvbWVTY3JlZW4iLCJlZGl0V2lkZ2V0U2V0dGluZ3MiLCJ3aWRnZXRTZXR0aW5ncyIsImV4ZWN1dGVXZWJob29rIiwicmVzdWx0IiwiZm9sbG93QW5ub3VuY2VtZW50Iiwic291cmNlQ2hhbm5lbElkIiwidGFyZ2V0Q2hhbm5lbElkIiwiZ2V0QWN0aXZlVGhyZWFkcyIsInRocmVhZHMiLCJ0aHJlYWQiLCJtZW1iZXJzIiwibWVtYmVyIiwidGhyZWFkTWVtYmVyIiwiZ2V0QXBwbGljYXRpb25JbmZvIiwiYXBwbGljYXRpb24iLCJlZGl0QXBwbGljYXRpb25JbmZvIiwiYm9keSIsImdldEN1cnJlbnRBdXRoZW50aWNhdGlvbkluZm8iLCJleGNoYW5nZVRva2VuIiwiY2xpZW50SWQiLCJjbGllbnRTZWNyZXQiLCJyZXZva2VUb2tlbiIsImdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24iLCJyZXMiLCJzbmFrZWRSZXMiLCJnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyIsImdldEF1ZGl0TG9nIiwiZ2V0QXV0b21vZFJ1bGUiLCJnZXRBdXRvbW9kUnVsZXMiLCJnZXRBdmFpbGFibGVWb2ljZVJlZ2lvbnMiLCJ2b2ljZVJlZ2lvbiIsImdldEJhbiIsInVzZXJJZCIsImdldEJhbnMiLCJnZXRDaGFubmVsIiwiZ2V0Q2hhbm5lbEludml0ZXMiLCJnZXRDaGFubmVscyIsImdldENoYW5uZWxXZWJob29rcyIsImdldERtQ2hhbm5lbCIsImdldEdyb3VwRG1DaGFubmVsIiwiZ2V0RW1vamkiLCJlbW9qaUlkIiwiZ2V0QXBwbGljYXRpb25FbW9qaSIsImdldEVtb2ppcyIsImdldEFwcGxpY2F0aW9uRW1vamlzIiwiaXRlbXMiLCJpdGVtIiwiZ2V0Rm9sbG93dXBNZXNzYWdlIiwiZ2V0R2F0ZXdheUJvdCIsImdhdGV3YXlCb3QiLCJnZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQiLCJnZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzIiwiZ2V0R3VpbGQiLCJnZXRHdWlsZHMiLCJnZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZCIsImdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kcyIsImdldEd1aWxkUHJldmlldyIsImdldEd1aWxkU3RpY2tlciIsImdldEd1aWxkU3RpY2tlcnMiLCJnZXRHdWlsZFRlbXBsYXRlIiwiZ2V0R3VpbGRUZW1wbGF0ZXMiLCJnZXRHdWlsZFdlYmhvb2tzIiwiZ2V0SW50ZWdyYXRpb25zIiwiaW50ZWdyYXRpb24iLCJ0b1N0cmluZyIsImdldEludml0ZSIsImludml0ZUNvZGUiLCJpbnZpdGUiLCJnZXRJbnZpdGVzIiwiZ2V0TWVzc2FnZSIsImdldE1lc3NhZ2VzIiwiZ2V0U3RpY2tlclBhY2siLCJzdGlja2VyUGFja0lkIiwic3RpY2tlclBhY2siLCJnZXRTdGlja2VyUGFja3MiLCJnZXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJnZXRQaW5uZWRNZXNzYWdlcyIsImdldFByaXZhdGVBcmNoaXZlZFRocmVhZHMiLCJnZXRQcml2YXRlSm9pbmVkQXJjaGl2ZWRUaHJlYWRzIiwiZ2V0UHJ1bmVDb3VudCIsImdldFB1YmxpY0FyY2hpdmVkVGhyZWFkcyIsImdldFJvbGVzIiwiZ2V0Um9sZSIsImdldFNjaGVkdWxlZEV2ZW50IiwiZ2V0U2NoZWR1bGVkRXZlbnRzIiwiZ2V0U2NoZWR1bGVkRXZlbnRVc2VycyIsInUiLCJzbm93Zmxha2UiLCJnZXRTZXNzaW9uSW5mbyIsImdldFN0YWdlSW5zdGFuY2UiLCJnZXRPd25Wb2ljZVN0YXRlIiwidm9pY2VTdGF0ZSIsImdldFVzZXJWb2ljZVN0YXRlIiwiZ2V0U3RpY2tlciIsImdldFRocmVhZE1lbWJlciIsImdldFRocmVhZE1lbWJlcnMiLCJnZXRSZWFjdGlvbnMiLCJyZWFjdGlvbiIsImdldFVzZXIiLCJnZXRDdXJyZW50VXNlciIsImdldFVzZXJDb25uZWN0aW9ucyIsImdldFVzZXJBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uIiwiYXBwbGljYXRpb25JZCIsImdldFZhbml0eVVybCIsImdldFZvaWNlUmVnaW9ucyIsImdldFdlYmhvb2siLCJnZXRXZWJob29rTWVzc2FnZSIsImdldFdlYmhvb2tXaXRoVG9rZW4iLCJnZXRXZWxjb21lU2NyZWVuIiwiZ2V0V2lkZ2V0Iiwid2lkZ2V0IiwiZ2V0V2lkZ2V0U2V0dGluZ3MiLCJwdWJsaXNoTWVzc2FnZSIsInNlbmRNZXNzYWdlIiwic2VuZEZvbGxvd3VwTWVzc2FnZSIsInN0YXJ0VGhyZWFkV2l0aE1lc3NhZ2UiLCJzdGFydFRocmVhZFdpdGhvdXRNZXNzYWdlIiwic3luY0d1aWxkVGVtcGxhdGUiLCJ1cHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzIiwiY29tbWFuZHMiLCJ1cHNlcnRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZHMiLCJlZGl0Qm90TWVtYmVyIiwiZWRpdE1lbWJlciIsImdldE1lbWJlciIsImdldEN1cnJlbnRNZW1iZXIiLCJnZXRNZW1iZXJzIiwicHJ1bmVNZW1iZXJzIiwic2VhcmNoTWVtYmVycyIsInF1ZXJ5IiwiYnVsa0Jhbk1lbWJlcnMiLCJiYW5uZWRVc2VycyIsIngiLCJmYWlsZWRVc2VycyIsImdldEFwcGxpY2F0aW9uQWN0aXZpdHlJbnN0YW5jZSIsImluc3RhbmNlSWQiLCJhZGRSZWFjdGlvbiIsImFkZFJlYWN0aW9ucyIsInJlYWN0aW9ucyIsIm9yZGVyZWQiLCJhZGRSb2xlIiwiYWRkVGhyZWFkTWVtYmVyIiwiYWRkRG1SZWNpcGllbnQiLCJhZGRHdWlsZE1lbWJlciIsImRlbGV0ZUF1dG9tb2RSdWxlIiwiZGVsZXRlQ2hhbm5lbCIsImRlbGV0ZUNoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGUiLCJvdmVyd3JpdGVJZCIsImRlbGV0ZUVtb2ppIiwiZGVsZXRlQXBwbGljYXRpb25FbW9qaSIsImRlbGV0ZUZvbGxvd3VwTWVzc2FnZSIsImRlbGV0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZCIsImRlbGV0ZUd1aWxkIiwiZGVsZXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJkZWxldGVHdWlsZFN0aWNrZXIiLCJkZWxldGVHdWlsZFRlbXBsYXRlIiwiZGVsZXRlSW50ZWdyYXRpb24iLCJpbnRlZ3JhdGlvbklkIiwiZGVsZXRlSW52aXRlIiwiZGVsZXRlTWVzc2FnZSIsImRlbGV0ZU1lc3NhZ2VzIiwibWVzc2FnZUlkcyIsImRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsImRlbGV0ZU93blJlYWN0aW9uIiwiZGVsZXRlUmVhY3Rpb25zQWxsIiwiZGVsZXRlUmVhY3Rpb25zRW1vamkiLCJkZWxldGVSb2xlIiwiZGVsZXRlU2NoZWR1bGVkRXZlbnQiLCJkZWxldGVTdGFnZUluc3RhbmNlIiwiZGVsZXRlVXNlclJlYWN0aW9uIiwiZGVsZXRlV2ViaG9vayIsImRlbGV0ZVdlYmhvb2tNZXNzYWdlIiwiZGVsZXRlV2ViaG9va1dpdGhUb2tlbiIsImVkaXRDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlcyIsImVkaXRDaGFubmVsUG9zaXRpb25zIiwiY2hhbm5lbFBvc2l0aW9ucyIsImVkaXRHdWlsZE1mYUxldmVsIiwibWZhTGV2ZWwiLCJlZGl0T3duVm9pY2VTdGF0ZSIsImVkaXRVc2VyVm9pY2VTdGF0ZSIsImVkaXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbiIsImpvaW5UaHJlYWQiLCJsZWF2ZUd1aWxkIiwibGVhdmVUaHJlYWQiLCJyZW1vdmVSb2xlIiwicmVtb3ZlVGhyZWFkTWVtYmVyIiwicmVtb3ZlRG1SZWNpcGllbnQiLCJzZW5kSW50ZXJhY3Rpb25SZXNwb25zZSIsImludGVyYWN0aW9uSWQiLCJwYXJhbXMiLCJyZXNwb25zZSIsImludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsInRyaWdnZXJUeXBpbmdJbmRpY2F0b3IiLCJiYW5NZW1iZXIiLCJraWNrTWVtYmVyIiwicGluTWVzc2FnZSIsInVuYmFuTWVtYmVyIiwidW5waW5NZXNzYWdlIiwiZ2V0R3VpbGRPbmJvYXJkaW5nIiwiZ3VpbGRPbmJvYXJkaW5nIiwiZWRpdEd1aWxkT25ib2FyZGluZyIsImxpc3RFbnRpdGxlbWVudHMiLCJlbnRpdGxlbWVudCIsImdldEVudGl0bGVtZW50IiwiZW50aXRsZW1lbnRJZCIsImNyZWF0ZVRlc3RFbnRpdGxlbWVudCIsImRlbGV0ZVRlc3RFbnRpdGxlbWVudCIsImxpc3RTa3VzIiwic2t1IiwiZ2V0U3Vic2NyaXB0aW9uIiwic2t1SWQiLCJzdWJzY3JpcHRpb25JZCIsInN1YnNjcmlwdGlvbiIsImxpc3RTdWJzY3JpcHRpb25zIiwic2VuZFNvdW5kYm9hcmRTb3VuZCIsImxpc3REZWZhdWx0U291bmRib2FyZFNvdW5kcyIsInNvdW5kIiwic291bmRib2FyZFNvdW5kIiwibGlzdEd1aWxkU291bmRib2FyZFNvdW5kcyIsImdldEd1aWxkU291bmRib2FyZFNvdW5kIiwic291bmRJZCIsImNyZWF0ZUd1aWxkU291bmRib2FyZFNvdW5kIiwibW9k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
|