@discordeno/bot 19.0.0 → 20.0.0-next.41219d5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/dist/cjs/bot.cjs +82 -0
  2. package/dist/cjs/commandOptionsParser.cjs +53 -0
  3. package/dist/cjs/constants.cjs +30 -0
  4. package/dist/cjs/desiredProperties.cjs +542 -0
  5. package/dist/cjs/events.cjs +6 -0
  6. package/dist/cjs/handlers/channels/CHANNEL_CREATE.cjs +21 -0
  7. package/dist/cjs/handlers/channels/CHANNEL_DELETE.cjs +21 -0
  8. package/dist/cjs/handlers/channels/CHANNEL_PINS_UPDATE.cjs +21 -0
  9. package/dist/cjs/handlers/channels/CHANNEL_UPDATE.cjs +20 -0
  10. package/dist/cjs/handlers/channels/STAGE_INSTANCE_CREATE.cjs +22 -0
  11. package/dist/cjs/handlers/channels/STAGE_INSTANCE_DELETE.cjs +22 -0
  12. package/dist/cjs/handlers/channels/STAGE_INSTANCE_UPDATE.cjs +22 -0
  13. package/dist/cjs/handlers/channels/THREAD_CREATE.cjs +19 -0
  14. package/dist/cjs/handlers/channels/THREAD_DELETE.cjs +19 -0
  15. package/dist/cjs/handlers/channels/THREAD_LIST_SYNC.cjs +31 -0
  16. package/dist/cjs/handlers/channels/THREAD_MEMBERS_UPDATE.cjs +22 -0
  17. package/dist/cjs/handlers/channels/THREAD_MEMBER_UPDATE.cjs +22 -0
  18. package/dist/cjs/handlers/channels/THREAD_UPDATE.cjs +19 -0
  19. package/dist/cjs/handlers/channels/index.cjs +32 -0
  20. package/dist/cjs/handlers/emojis/GUILD_EMOJIS_UPDATE.cjs +24 -0
  21. package/dist/cjs/handlers/emojis/index.cjs +20 -0
  22. package/dist/cjs/handlers/entitlements/ENTITLEMENT_CREATE.cjs +17 -0
  23. package/dist/cjs/handlers/entitlements/ENTITLEMENT_DELETE.cjs +17 -0
  24. package/dist/cjs/handlers/entitlements/ENTITLEMENT_UPDATE.cjs +17 -0
  25. package/dist/cjs/handlers/entitlements/index.cjs +22 -0
  26. package/dist/cjs/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.cjs +18 -0
  27. package/dist/cjs/handlers/guilds/GUILD_BAN_ADD.cjs +17 -0
  28. package/dist/cjs/handlers/guilds/GUILD_BAN_REMOVE.cjs +17 -0
  29. package/dist/cjs/handlers/guilds/GUILD_CREATE.cjs +20 -0
  30. package/dist/cjs/handlers/guilds/GUILD_DELETE.cjs +22 -0
  31. package/dist/cjs/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.cjs +19 -0
  32. package/dist/cjs/handlers/guilds/GUILD_STICKERS_UPDATE.cjs +23 -0
  33. package/dist/cjs/handlers/guilds/GUILD_UPDATE.cjs +20 -0
  34. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.cjs +17 -0
  35. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.cjs +17 -0
  36. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.cjs +17 -0
  37. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.cjs +17 -0
  38. package/dist/cjs/handlers/guilds/automod/index.cjs +23 -0
  39. package/dist/cjs/handlers/guilds/index.cjs +29 -0
  40. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.cjs +17 -0
  41. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.cjs +17 -0
  42. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.cjs +17 -0
  43. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.cjs +21 -0
  44. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.cjs +21 -0
  45. package/dist/cjs/handlers/guilds/scheduledEvents/index.cjs +24 -0
  46. package/dist/cjs/handlers/index.cjs +35 -0
  47. package/dist/cjs/handlers/integrations/INTEGRATION_CREATE.cjs +16 -0
  48. package/dist/cjs/handlers/integrations/INTEGRATION_DELETE.cjs +21 -0
  49. package/dist/cjs/handlers/integrations/INTEGRATION_UPDATE.cjs +16 -0
  50. package/dist/cjs/handlers/integrations/index.cjs +22 -0
  51. package/dist/cjs/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.cjs +17 -0
  52. package/dist/cjs/handlers/interactions/INTERACTION_CREATE.cjs +19 -0
  53. package/dist/cjs/handlers/interactions/index.cjs +21 -0
  54. package/dist/cjs/handlers/invites/INVITE_CREATE.cjs +19 -0
  55. package/dist/cjs/handlers/invites/INVITE_DELETE.cjs +21 -0
  56. package/dist/cjs/handlers/invites/index.cjs +21 -0
  57. package/dist/cjs/handlers/members/GUILD_MEMBERS_CHUNK.cjs +30 -0
  58. package/dist/cjs/handlers/members/GUILD_MEMBER_ADD.cjs +20 -0
  59. package/dist/cjs/handlers/members/GUILD_MEMBER_REMOVE.cjs +19 -0
  60. package/dist/cjs/handlers/members/GUILD_MEMBER_UPDATE.cjs +19 -0
  61. package/dist/cjs/handlers/members/index.cjs +23 -0
  62. package/dist/cjs/handlers/messages/MESSAGE_CREATE.cjs +20 -0
  63. package/dist/cjs/handlers/messages/MESSAGE_DELETE.cjs +21 -0
  64. package/dist/cjs/handlers/messages/MESSAGE_DELETE_BULK.cjs +23 -0
  65. package/dist/cjs/handlers/messages/MESSAGE_REACTION_ADD.cjs +30 -0
  66. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE.cjs +24 -0
  67. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.cjs +21 -0
  68. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.cjs +22 -0
  69. package/dist/cjs/handlers/messages/MESSAGE_UPDATE.cjs +21 -0
  70. package/dist/cjs/handlers/messages/index.cjs +27 -0
  71. package/dist/cjs/handlers/misc/PRESENCE_UPDATE.cjs +16 -0
  72. package/dist/cjs/handlers/misc/READY.cjs +28 -0
  73. package/dist/cjs/handlers/misc/TYPING_START.cjs +25 -0
  74. package/dist/cjs/handlers/misc/USER_UPDATE.cjs +17 -0
  75. package/dist/cjs/handlers/misc/index.cjs +23 -0
  76. package/dist/cjs/handlers/poll/MESSAGE_POLL_VOTE_ADD.cjs +23 -0
  77. package/dist/cjs/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.cjs +23 -0
  78. package/dist/cjs/handlers/poll/index.cjs +21 -0
  79. package/dist/cjs/handlers/roles/GUILD_ROLE_CREATE.cjs +20 -0
  80. package/dist/cjs/handlers/roles/GUILD_ROLE_DELETE.cjs +20 -0
  81. package/dist/cjs/handlers/roles/GUILD_ROLE_UPDATE.cjs +20 -0
  82. package/dist/cjs/handlers/roles/index.cjs +22 -0
  83. package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.cjs +20 -0
  84. package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.cjs +17 -0
  85. package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.cjs +20 -0
  86. package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.cjs +17 -0
  87. package/dist/cjs/handlers/soundboard/SOUNDBOARD_SOUNDS.cjs +20 -0
  88. package/dist/cjs/handlers/soundboard/index.cjs +24 -0
  89. package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_CREATE.cjs +17 -0
  90. package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_DELETE.cjs +17 -0
  91. package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_UPDATE.cjs +17 -0
  92. package/dist/cjs/handlers/subscriptions/index.cjs +22 -0
  93. package/dist/cjs/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.cjs +26 -0
  94. package/dist/cjs/handlers/voice/VOICE_SERVER_UPDATE.cjs +21 -0
  95. package/dist/cjs/handlers/voice/VOICE_STATE_UPDATE.cjs +22 -0
  96. package/dist/cjs/handlers/voice/index.cjs +22 -0
  97. package/dist/cjs/handlers/webhooks/WEBHOOKS_UPDATE.cjs +20 -0
  98. package/dist/cjs/handlers/webhooks/index.cjs +20 -0
  99. package/dist/cjs/handlers.cjs +132 -0
  100. package/dist/cjs/helpers.cjs +776 -0
  101. package/dist/cjs/index.cjs +34 -0
  102. package/dist/cjs/transformers/activity.cjs +74 -0
  103. package/dist/cjs/transformers/application.cjs +69 -0
  104. package/dist/cjs/transformers/applicationCommand.cjs +29 -0
  105. package/dist/cjs/transformers/applicationCommandOption.cjs +31 -0
  106. package/dist/cjs/transformers/applicationCommandOptionChoice.cjs +20 -0
  107. package/dist/cjs/transformers/applicationCommandPermission.cjs +25 -0
  108. package/dist/cjs/transformers/attachment.cjs +31 -0
  109. package/dist/cjs/transformers/auditLogEntry.cjs +37 -0
  110. package/dist/cjs/transformers/automodActionExecution.cjs +35 -0
  111. package/dist/cjs/transformers/automodRule.cjs +41 -0
  112. package/dist/cjs/transformers/avatarDecorationData.cjs +20 -0
  113. package/dist/cjs/transformers/channel.cjs +149 -0
  114. package/dist/cjs/transformers/component.cjs +97 -0
  115. package/dist/cjs/transformers/embed.cjs +54 -0
  116. package/dist/cjs/transformers/emoji.cjs +57 -0
  117. package/dist/cjs/transformers/entitlement.cjs +27 -0
  118. package/dist/cjs/transformers/gatewayBot.cjs +25 -0
  119. package/dist/cjs/transformers/guild.cjs +157 -0
  120. package/dist/cjs/transformers/index.cjs +66 -0
  121. package/dist/cjs/transformers/integration.cjs +44 -0
  122. package/dist/cjs/transformers/interaction.cjs +274 -0
  123. package/dist/cjs/transformers/invite.cjs +51 -0
  124. package/dist/cjs/transformers/member.cjs +69 -0
  125. package/dist/cjs/transformers/message.cjs +300 -0
  126. package/dist/cjs/transformers/onboarding.cjs +56 -0
  127. package/dist/cjs/transformers/poll.cjs +50 -0
  128. package/dist/cjs/transformers/presence.cjs +25 -0
  129. package/dist/cjs/transformers/reverse/activity.cjs +53 -0
  130. package/dist/cjs/transformers/reverse/allowedMentions.cjs +20 -0
  131. package/dist/cjs/transformers/reverse/application.cjs +38 -0
  132. package/dist/cjs/transformers/reverse/applicationCommand.cjs +28 -0
  133. package/dist/cjs/transformers/reverse/applicationCommandOption.cjs +30 -0
  134. package/dist/cjs/transformers/reverse/applicationCommandOptionChoice.cjs +19 -0
  135. package/dist/cjs/transformers/reverse/applicationCommandPermission.cjs +24 -0
  136. package/dist/cjs/transformers/reverse/attachment.cjs +29 -0
  137. package/dist/cjs/transformers/reverse/auditLogEntry.cjs +37 -0
  138. package/dist/cjs/transformers/reverse/component.cjs +94 -0
  139. package/dist/cjs/transformers/reverse/createApplicationCommand.cjs +36 -0
  140. package/dist/cjs/transformers/reverse/embed.cjs +53 -0
  141. package/dist/cjs/transformers/reverse/emoji.cjs +24 -0
  142. package/dist/cjs/transformers/reverse/gatewayBot.cjs +24 -0
  143. package/dist/cjs/transformers/reverse/index.cjs +37 -0
  144. package/dist/cjs/transformers/reverse/member.cjs +59 -0
  145. package/dist/cjs/transformers/reverse/presence.cjs +41 -0
  146. package/dist/cjs/transformers/reverse/team.cjs +28 -0
  147. package/dist/cjs/transformers/reverse/widgetSettings.cjs +18 -0
  148. package/dist/cjs/transformers/role.cjs +78 -0
  149. package/dist/cjs/transformers/scheduledEvent.cjs +58 -0
  150. package/dist/cjs/transformers/sku.cjs +23 -0
  151. package/dist/cjs/transformers/soundboardSound.cjs +25 -0
  152. package/dist/cjs/transformers/stageInstance.cjs +22 -0
  153. package/dist/cjs/transformers/stageInviteInstance.cjs +23 -0
  154. package/dist/cjs/transformers/sticker.cjs +48 -0
  155. package/dist/cjs/transformers/subscription.cjs +27 -0
  156. package/dist/cjs/transformers/team.cjs +29 -0
  157. package/dist/cjs/transformers/template.cjs +28 -0
  158. package/dist/cjs/transformers/threadMember.cjs +35 -0
  159. package/dist/cjs/transformers/toggles/Permissions.cjs +28 -0
  160. package/dist/cjs/transformers/toggles/ToggleBitfield.cjs +60 -0
  161. package/dist/cjs/transformers/toggles/channel.cjs +73 -0
  162. package/dist/cjs/transformers/toggles/emoji.cjs +63 -0
  163. package/dist/cjs/transformers/toggles/guild.cjs +257 -0
  164. package/dist/cjs/transformers/toggles/index.cjs +28 -0
  165. package/dist/cjs/transformers/toggles/member.cjs +126 -0
  166. package/dist/cjs/transformers/toggles/role.cjs +73 -0
  167. package/dist/cjs/transformers/toggles/user.cjs +63 -0
  168. package/dist/cjs/transformers/toggles/voice.cjs +78 -0
  169. package/dist/cjs/transformers/types.cjs +6 -0
  170. package/dist/cjs/transformers/user.cjs +60 -0
  171. package/dist/cjs/transformers/voiceRegion.cjs +22 -0
  172. package/dist/cjs/transformers/voiceState.cjs +24 -0
  173. package/dist/cjs/transformers/webhook.cjs +37 -0
  174. package/dist/cjs/transformers/welcomeScreen.cjs +24 -0
  175. package/dist/cjs/transformers/widget.cjs +35 -0
  176. package/dist/cjs/transformers/widgetSettings.cjs +19 -0
  177. package/dist/cjs/transformers.cjs +165 -0
  178. package/dist/cjs/utils.cjs +32 -0
  179. package/dist/esm/bot.js +2 -7
  180. package/dist/esm/commandOptionsParser.js +4 -2
  181. package/dist/esm/desiredProperties.js +2 -1
  182. package/dist/esm/events.js +1 -1
  183. package/dist/esm/helpers.js +4 -1
  184. package/dist/esm/transformers/component.js +5 -1
  185. package/dist/esm/transformers/emoji.js +4 -2
  186. package/dist/esm/transformers/guild.js +2 -2
  187. package/dist/esm/transformers/interaction.js +4 -4
  188. package/dist/esm/transformers/member.js +2 -2
  189. package/dist/esm/transformers/message.js +2 -2
  190. package/dist/esm/transformers/role.js +2 -2
  191. package/dist/esm/transformers/subscription.js +2 -1
  192. package/dist/esm/transformers/types.js +1 -1
  193. package/dist/esm/transformers/user.js +2 -2
  194. package/dist/esm/transformers.js +1 -1
  195. package/dist/types/bot.d.ts +2 -1
  196. package/dist/types/bot.d.ts.map +1 -1
  197. package/dist/types/commandOptionsParser.d.ts +9 -4
  198. package/dist/types/commandOptionsParser.d.ts.map +1 -1
  199. package/dist/types/desiredProperties.d.ts +7 -4
  200. package/dist/types/desiredProperties.d.ts.map +1 -1
  201. package/dist/types/events.d.ts +51 -52
  202. package/dist/types/events.d.ts.map +1 -1
  203. package/dist/types/helpers.d.ts +96 -95
  204. package/dist/types/helpers.d.ts.map +1 -1
  205. package/dist/types/transformers/component.d.ts.map +1 -1
  206. package/dist/types/transformers/emoji.d.ts +1 -0
  207. package/dist/types/transformers/emoji.d.ts.map +1 -1
  208. package/dist/types/transformers/guild.d.ts +1 -0
  209. package/dist/types/transformers/guild.d.ts.map +1 -1
  210. package/dist/types/transformers/interaction.d.ts +1 -0
  211. package/dist/types/transformers/interaction.d.ts.map +1 -1
  212. package/dist/types/transformers/member.d.ts +1 -0
  213. package/dist/types/transformers/member.d.ts.map +1 -1
  214. package/dist/types/transformers/message.d.ts +1 -0
  215. package/dist/types/transformers/message.d.ts.map +1 -1
  216. package/dist/types/transformers/role.d.ts +1 -0
  217. package/dist/types/transformers/role.d.ts.map +1 -1
  218. package/dist/types/transformers/subscription.d.ts.map +1 -1
  219. package/dist/types/transformers/types.d.ts +4 -2
  220. package/dist/types/transformers/types.d.ts.map +1 -1
  221. package/dist/types/transformers/user.d.ts +1 -0
  222. package/dist/types/transformers/user.d.ts.map +1 -1
  223. package/dist/types/transformers.d.ts +153 -153
  224. package/dist/types/transformers.d.ts.map +1 -1
  225. package/package.json +9 -9
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "transformWidget", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return transformWidget;
9
+ }
10
+ });
11
+ const _index = require("../index.cjs");
12
+ function transformWidget(bot, payload) {
13
+ const widget = {
14
+ id: bot.transformers.snowflake(payload.id),
15
+ name: payload.name,
16
+ instant_invite: payload.instant_invite,
17
+ channels: payload.channels.map((channel)=>({
18
+ id: bot.transformers.snowflake(channel.id),
19
+ name: channel.name,
20
+ position: channel.position
21
+ })),
22
+ members: payload.members.map((member)=>({
23
+ id: bot.transformers.snowflake(member.id),
24
+ username: member.username,
25
+ discriminator: member.discriminator,
26
+ avatar: member.avatar ? (0, _index.iconHashToBigInt)(member.avatar) : undefined,
27
+ status: member.status,
28
+ avatarUrl: member.avatar_url
29
+ })),
30
+ presenceCount: payload.presence_count
31
+ };
32
+ return bot.transformers.customizers.widget(bot, payload, widget);
33
+ }
34
+
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvd2lkZ2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZEd1aWxkV2lkZ2V0IH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyB0eXBlIEJvdCwgdHlwZSBHdWlsZFdpZGdldCwgaWNvbkhhc2hUb0JpZ0ludCB9IGZyb20gJy4uL2luZGV4LmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtV2lkZ2V0KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkR3VpbGRXaWRnZXQpOiBHdWlsZFdpZGdldCB7XG4gIGNvbnN0IHdpZGdldCA9IHtcbiAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCksXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lLFxuICAgIGluc3RhbnRfaW52aXRlOiBwYXlsb2FkLmluc3RhbnRfaW52aXRlLFxuICAgIGNoYW5uZWxzOiBwYXlsb2FkLmNoYW5uZWxzLm1hcCgoY2hhbm5lbCkgPT4gKHtcbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShjaGFubmVsLmlkKSxcbiAgICAgIG5hbWU6IGNoYW5uZWwubmFtZSxcbiAgICAgIHBvc2l0aW9uOiBjaGFubmVsLnBvc2l0aW9uLFxuICAgIH0pKSxcbiAgICBtZW1iZXJzOiBwYXlsb2FkLm1lbWJlcnMubWFwKChtZW1iZXIpID0+ICh7XG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UobWVtYmVyLmlkKSxcbiAgICAgIHVzZXJuYW1lOiBtZW1iZXIudXNlcm5hbWUsXG4gICAgICBkaXNjcmltaW5hdG9yOiBtZW1iZXIuZGlzY3JpbWluYXRvcixcbiAgICAgIGF2YXRhcjogbWVtYmVyLmF2YXRhciA/IGljb25IYXNoVG9CaWdJbnQobWVtYmVyLmF2YXRhcikgOiB1bmRlZmluZWQsXG4gICAgICBzdGF0dXM6IG1lbWJlci5zdGF0dXMsXG4gICAgICBhdmF0YXJVcmw6IG1lbWJlci5hdmF0YXJfdXJsLFxuICAgIH0pKSxcbiAgICBwcmVzZW5jZUNvdW50OiBwYXlsb2FkLnByZXNlbmNlX2NvdW50LFxuICB9IGFzIEd1aWxkV2lkZ2V0XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMud2lkZ2V0KGJvdCwgcGF5bG9hZCwgd2lkZ2V0KVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybVdpZGdldCIsImJvdCIsInBheWxvYWQiLCJ3aWRnZXQiLCJpZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsIm5hbWUiLCJpbnN0YW50X2ludml0ZSIsImNoYW5uZWxzIiwibWFwIiwiY2hhbm5lbCIsInBvc2l0aW9uIiwibWVtYmVycyIsIm1lbWJlciIsInVzZXJuYW1lIiwiZGlzY3JpbWluYXRvciIsImF2YXRhciIsImljb25IYXNoVG9CaWdJbnQiLCJ1bmRlZmluZWQiLCJzdGF0dXMiLCJhdmF0YXJVcmwiLCJhdmF0YXJfdXJsIiwicHJlc2VuY2VDb3VudCIsInByZXNlbmNlX2NvdW50IiwiY3VzdG9taXplcnMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2dCQTs7O2VBQUFBOzs7dUJBRjZDO0FBRXRELFNBQVNBLGdCQUFnQkMsR0FBUSxFQUFFQyxPQUEyQjtJQUNuRSxNQUFNQyxTQUFTO1FBQ2JDLElBQUlILElBQUlJLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSixRQUFRRSxFQUFFO1FBQ3pDRyxNQUFNTCxRQUFRSyxJQUFJO1FBQ2xCQyxnQkFBZ0JOLFFBQVFNLGNBQWM7UUFDdENDLFVBQVVQLFFBQVFPLFFBQVEsQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLFVBQWEsQ0FBQTtnQkFDM0NQLElBQUlILElBQUlJLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSyxRQUFRUCxFQUFFO2dCQUN6Q0csTUFBTUksUUFBUUosSUFBSTtnQkFDbEJLLFVBQVVELFFBQVFDLFFBQVE7WUFDNUIsQ0FBQTtRQUNBQyxTQUFTWCxRQUFRVyxPQUFPLENBQUNILEdBQUcsQ0FBQyxDQUFDSSxTQUFZLENBQUE7Z0JBQ3hDVixJQUFJSCxJQUFJSSxZQUFZLENBQUNDLFNBQVMsQ0FBQ1EsT0FBT1YsRUFBRTtnQkFDeENXLFVBQVVELE9BQU9DLFFBQVE7Z0JBQ3pCQyxlQUFlRixPQUFPRSxhQUFhO2dCQUNuQ0MsUUFBUUgsT0FBT0csTUFBTSxHQUFHQyxJQUFBQSx1QkFBZ0IsRUFBQ0osT0FBT0csTUFBTSxJQUFJRTtnQkFDMURDLFFBQVFOLE9BQU9NLE1BQU07Z0JBQ3JCQyxXQUFXUCxPQUFPUSxVQUFVO1lBQzlCLENBQUE7UUFDQUMsZUFBZXJCLFFBQVFzQixjQUFjO0lBQ3ZDO0lBRUEsT0FBT3ZCLElBQUlJLFlBQVksQ0FBQ29CLFdBQVcsQ0FBQ3RCLE1BQU0sQ0FBQ0YsS0FBS0MsU0FBU0M7QUFDM0QifQ==
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "transformWidgetSettings", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return transformWidgetSettings;
9
+ }
10
+ });
11
+ function transformWidgetSettings(bot, payload) {
12
+ const widget = {
13
+ enabled: payload.enabled,
14
+ channelId: payload.channel_id ?? undefined
15
+ };
16
+ return bot.transformers.customizers.widgetSettings(bot, payload, widget);
17
+ }
18
+
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvd2lkZ2V0U2V0dGluZ3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCb3QsIEd1aWxkV2lkZ2V0U2V0dGluZ3MgfSBmcm9tICcuLi9pbmRleC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybVdpZGdldFNldHRpbmdzKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncyk6IEd1aWxkV2lkZ2V0U2V0dGluZ3Mge1xuICBjb25zdCB3aWRnZXQgPSB7XG4gICAgZW5hYmxlZDogcGF5bG9hZC5lbmFibGVkLFxuICAgIGNoYW5uZWxJZDogcGF5bG9hZC5jaGFubmVsX2lkID8/IHVuZGVmaW5lZCxcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLndpZGdldFNldHRpbmdzKGJvdCwgcGF5bG9hZCwgd2lkZ2V0KVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybVdpZGdldFNldHRpbmdzIiwiYm90IiwicGF5bG9hZCIsIndpZGdldCIsImVuYWJsZWQiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwidW5kZWZpbmVkIiwidHJhbnNmb3JtZXJzIiwiY3VzdG9taXplcnMiLCJ3aWRnZXRTZXR0aW5ncyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFHZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLHdCQUF3QkMsR0FBUSxFQUFFQyxPQUFtQztJQUNuRixNQUFNQyxTQUFTO1FBQ2JDLFNBQVNGLFFBQVFFLE9BQU87UUFDeEJDLFdBQVdILFFBQVFJLFVBQVUsSUFBSUM7SUFDbkM7SUFFQSxPQUFPTixJQUFJTyxZQUFZLENBQUNDLFdBQVcsQ0FBQ0MsY0FBYyxDQUFDVCxLQUFLQyxTQUFTQztBQUNuRSJ9
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createTransformers", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return createTransformers;
9
+ }
10
+ });
11
+ const _desiredProperties = require("./desiredProperties.cjs");
12
+ const _index = require("./transformers/index.cjs");
13
+ const _index1 = require("./transformers/reverse/index.cjs");
14
+ const _utils = require("./utils.cjs");
15
+ const defaultCustomizer = (_bot, _payload, structure)=>structure;
16
+ function createTransformers(options) {
17
+ return {
18
+ customizers: {
19
+ activity: options.customizers?.activity ?? defaultCustomizer,
20
+ activityInstance: options.customizers?.activityInstance ?? defaultCustomizer,
21
+ activityLocation: options.customizers?.activityLocation ?? defaultCustomizer,
22
+ application: options.customizers?.application ?? defaultCustomizer,
23
+ applicationCommand: options.customizers?.applicationCommand ?? defaultCustomizer,
24
+ applicationCommandOption: options.customizers?.applicationCommandOption ?? defaultCustomizer,
25
+ applicationCommandOptionChoice: options.customizers?.applicationCommandOptionChoice ?? defaultCustomizer,
26
+ applicationCommandPermission: options.customizers?.applicationCommandPermission ?? defaultCustomizer,
27
+ attachment: options.customizers?.attachment ?? defaultCustomizer,
28
+ auditLogEntry: options.customizers?.auditLogEntry ?? defaultCustomizer,
29
+ automodActionExecution: options.customizers?.automodActionExecution ?? defaultCustomizer,
30
+ automodRule: options.customizers?.automodRule ?? defaultCustomizer,
31
+ avatarDecorationData: options.customizers?.avatarDecorationData ?? defaultCustomizer,
32
+ channel: options.customizers?.channel ?? defaultCustomizer,
33
+ component: options.customizers?.component ?? defaultCustomizer,
34
+ defaultReactionEmoji: options.customizers?.defaultReactionEmoji ?? defaultCustomizer,
35
+ embed: options.customizers?.embed ?? defaultCustomizer,
36
+ emoji: options.customizers?.emoji ?? defaultCustomizer,
37
+ entitlement: options.customizers?.entitlement ?? defaultCustomizer,
38
+ forumTag: options.customizers?.forumTag ?? defaultCustomizer,
39
+ gatewayBot: options.customizers?.gatewayBot ?? defaultCustomizer,
40
+ guild: options.customizers?.guild ?? defaultCustomizer,
41
+ guildOnboarding: options.customizers?.guildOnboarding ?? defaultCustomizer,
42
+ guildOnboardingPrompt: options.customizers?.guildOnboardingPrompt ?? defaultCustomizer,
43
+ guildOnboardingPromptOption: options.customizers?.guildOnboardingPromptOption ?? defaultCustomizer,
44
+ integration: options.customizers?.integration ?? defaultCustomizer,
45
+ interaction: options.customizers?.interaction ?? defaultCustomizer,
46
+ interactionCallback: options.customizers?.interactionCallback ?? defaultCustomizer,
47
+ interactionCallbackResponse: options.customizers?.interactionCallbackResponse ?? defaultCustomizer,
48
+ interactionDataOptions: options.customizers?.interactionDataOptions ?? defaultCustomizer,
49
+ interactionDataResolved: options.customizers?.interactionDataResolved ?? defaultCustomizer,
50
+ interactionResource: options?.customizers?.interactionResource ?? defaultCustomizer,
51
+ invite: options.customizers?.invite ?? defaultCustomizer,
52
+ inviteStageInstance: options.customizers?.inviteStageInstance ?? defaultCustomizer,
53
+ member: options.customizers?.member ?? defaultCustomizer,
54
+ message: options.customizers?.message ?? defaultCustomizer,
55
+ messageCall: options.customizers?.messageCall ?? defaultCustomizer,
56
+ messageInteractionMetadata: options.customizers?.messageInteractionMetadata ?? defaultCustomizer,
57
+ messageSnapshot: options.customizers?.messageSnapshot ?? defaultCustomizer,
58
+ poll: options.customizers?.poll ?? defaultCustomizer,
59
+ pollMedia: options.customizers?.pollMedia ?? defaultCustomizer,
60
+ presence: options.customizers?.presence ?? defaultCustomizer,
61
+ role: options.customizers?.role ?? defaultCustomizer,
62
+ scheduledEvent: options.customizers?.scheduledEvent ?? defaultCustomizer,
63
+ scheduledEventRecurrenceRule: options.customizers?.scheduledEventRecurrenceRule ?? defaultCustomizer,
64
+ sku: options.customizers?.sku ?? defaultCustomizer,
65
+ soundboardSound: options.customizers?.soundboardSound ?? defaultCustomizer,
66
+ stageInstance: options.customizers?.stageInstance ?? defaultCustomizer,
67
+ sticker: options.customizers?.sticker ?? defaultCustomizer,
68
+ stickerPack: options.customizers?.stickerPack ?? defaultCustomizer,
69
+ subscription: options.customizers?.subscription ?? defaultCustomizer,
70
+ team: options.customizers?.team ?? defaultCustomizer,
71
+ template: options.customizers?.template ?? defaultCustomizer,
72
+ threadMember: options.customizers?.threadMember ?? defaultCustomizer,
73
+ threadMemberGuildCreate: options.customizers?.threadMemberGuildCreate ?? defaultCustomizer,
74
+ user: options.customizers?.user ?? defaultCustomizer,
75
+ voiceRegion: options.customizers?.voiceRegion ?? defaultCustomizer,
76
+ voiceState: options.customizers?.voiceState ?? defaultCustomizer,
77
+ webhook: options.customizers?.webhook ?? defaultCustomizer,
78
+ welcomeScreen: options.customizers?.welcomeScreen ?? defaultCustomizer,
79
+ widget: options.customizers?.widget ?? defaultCustomizer,
80
+ widgetSettings: options.customizers?.widgetSettings ?? defaultCustomizer
81
+ },
82
+ desiredProperties: (0, _desiredProperties.createDesiredPropertiesObject)(options.desiredProperties ?? {}),
83
+ reverse: {
84
+ activity: options.reverse?.activity ?? _index.transformActivityToDiscordActivity,
85
+ allowedMentions: options.reverse?.allowedMentions ?? _index1.transformAllowedMentionsToDiscordAllowedMentions,
86
+ application: options.reverse?.application ?? _index.transformApplicationToDiscordApplication,
87
+ applicationCommand: options.reverse?.applicationCommand ?? _index.transformApplicationCommandToDiscordApplicationCommand,
88
+ applicationCommandOption: options.reverse?.applicationCommandOption ?? _index.transformApplicationCommandOptionToDiscordApplicationCommandOption,
89
+ applicationCommandOptionChoice: options.reverse?.applicationCommandOptionChoice ?? _index.transformApplicationCommandOptionChoiceToDiscordApplicationCommandOptionChoice,
90
+ attachment: options.reverse?.attachment ?? _index.transformAttachmentToDiscordAttachment,
91
+ component: options.reverse?.component ?? _index.transformComponentToDiscordComponent,
92
+ createApplicationCommand: options.reverse?.createApplicationCommand ?? _index1.transformCreateApplicationCommandToDiscordCreateApplicationCommand,
93
+ embed: options.reverse?.embed ?? _index.transformEmbedToDiscordEmbed,
94
+ member: options.reverse?.member ?? _index.transformMemberToDiscordMember,
95
+ snowflake: options.reverse?.snowflake ?? _utils.bigintToSnowflake,
96
+ team: options.reverse?.team ?? _index.transformTeamToDiscordTeam,
97
+ user: options.reverse?.user ?? _index.transformUserToDiscordUser
98
+ },
99
+ activity: options.activity ?? _index.transformActivity,
100
+ activityInstance: options.activityInstance ?? _index.transformActivityInstance,
101
+ activityLocation: options.activityLocation ?? _index.transformActivityLocation,
102
+ application: options.application ?? _index.transformApplication,
103
+ applicationCommand: options.applicationCommand ?? _index.transformApplicationCommand,
104
+ applicationCommandOption: options.applicationCommandOption ?? _index.transformApplicationCommandOption,
105
+ applicationCommandOptionChoice: options.applicationCommandOptionChoice ?? _index.transformApplicationCommandOptionChoice,
106
+ applicationCommandPermission: options.applicationCommandPermission ?? _index.transformApplicationCommandPermission,
107
+ attachment: options.attachment ?? _index.transformAttachment,
108
+ auditLogEntry: options.auditLogEntry ?? _index.transformAuditLogEntry,
109
+ automodActionExecution: options.automodActionExecution ?? _index.transformAutoModerationActionExecution,
110
+ automodRule: options.automodRule ?? _index.transformAutoModerationRule,
111
+ avatarDecorationData: options.avatarDecorationData ?? _index.transformAvatarDecorationData,
112
+ channel: options.channel ?? _index.transformChannel,
113
+ component: options.component ?? _index.transformComponent,
114
+ defaultReactionEmoji: options.defaultReactionEmoji ?? _index.transformDefaultReactionEmoji,
115
+ embed: options.embed ?? _index.transformEmbed,
116
+ emoji: options.emoji ?? _index.transformEmoji,
117
+ entitlement: options.entitlement ?? _index.transformEntitlement,
118
+ forumTag: options.forumTag ?? _index.transformForumTag,
119
+ gatewayBot: options.gatewayBot ?? _index.transformGatewayBot,
120
+ guild: options.guild ?? _index.transformGuild,
121
+ guildOnboarding: options.guildOnboarding ?? _index.transformGuildOnboarding,
122
+ guildOnboardingPrompt: options.guildOnboardingPrompt ?? _index.transformGuildOnboardingPrompt,
123
+ guildOnboardingPromptOption: options.guildOnboardingPromptOption ?? _index.transformGuildOnboardingPromptOption,
124
+ integration: options.integration ?? _index.transformIntegration,
125
+ interaction: options.interaction ?? _index.transformInteraction,
126
+ interactionCallback: options.interactionCallback ?? _index.transformInteractionCallback,
127
+ interactionCallbackResponse: options.interactionCallbackResponse ?? _index.transformInteractionCallbackResponse,
128
+ interactionDataOptions: options.interactionDataOptions ?? _index.transformInteractionDataOption,
129
+ interactionDataResolved: options.interactionDataResolved ?? _index.transformInteractionDataResolved,
130
+ interactionResource: options.interactionResource ?? _index.transformInteractionResource,
131
+ invite: options.invite ?? _index.transformInvite,
132
+ inviteStageInstance: options.inviteStageInstance ?? _index.transformInviteStageInstance,
133
+ member: options.member ?? _index.transformMember,
134
+ message: options.message ?? _index.transformMessage,
135
+ messageCall: options.messageCall ?? _index.transformMessageCall,
136
+ messageInteractionMetadata: options.messageInteractionMetadata ?? _index.transformMessageInteractionMetadata,
137
+ messageSnapshot: options.messageSnapshot ?? _index.transformMessageSnapshot,
138
+ poll: options.poll ?? _index.transformPoll,
139
+ pollMedia: options.pollMedia ?? _index.transformPollMedia,
140
+ presence: options.presence ?? _index.transformPresence,
141
+ role: options.role ?? _index.transformRole,
142
+ scheduledEvent: options.scheduledEvent ?? _index.transformScheduledEvent,
143
+ scheduledEventRecurrenceRule: options.scheduledEventRecurrenceRule ?? _index.transformScheduledEventRecurrenceRule,
144
+ sku: options.sku ?? _index.transformSku,
145
+ soundboardSound: options.soundboardSound ?? _index.transformSoundboardSound,
146
+ snowflake: options.snowflake ?? _utils.snowflakeToBigint,
147
+ stageInstance: options.stageInstance ?? _index.transformStageInstance,
148
+ sticker: options.sticker ?? _index.transformSticker,
149
+ stickerPack: options.stickerPack ?? _index.transformStickerPack,
150
+ subscription: options.subscription ?? _index.transformSubscription,
151
+ team: options.team ?? _index.transformTeam,
152
+ template: options.template ?? _index.transformTemplate,
153
+ threadMember: options.threadMember ?? _index.transformThreadMember,
154
+ threadMemberGuildCreate: options.threadMemberGuildCreate ?? _index.transformThreadMemberGuildCreate,
155
+ user: options.user ?? _index.transformUser,
156
+ voiceRegion: options.voiceRegion ?? _index.transformVoiceRegion,
157
+ voiceState: options.voiceState ?? _index.transformVoiceState,
158
+ webhook: options.webhook ?? _index.transformWebhook,
159
+ welcomeScreen: options.welcomeScreen ?? _index.transformWelcomeScreen,
160
+ widget: options.widget ?? _index.transformWidget,
161
+ widgetSettings: options.widgetSettings ?? _index.transformWidgetSettings
162
+ };
163
+ }
164
+
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBbGxvd2VkTWVudGlvbnMsXG4gIEJpZ1N0cmluZyxcbiAgQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kLFxuICBEaXNjb3JkQWN0aXZpdHksXG4gIERpc2NvcmRBY3Rpdml0eUluc3RhbmNlLFxuICBEaXNjb3JkQWN0aXZpdHlMb2NhdGlvbixcbiAgRGlzY29yZEFsbG93ZWRNZW50aW9ucyxcbiAgRGlzY29yZEFwcGxpY2F0aW9uLFxuICBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kLFxuICBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLFxuICBEaXNjb3JkQXR0YWNobWVudCxcbiAgRGlzY29yZEF1ZGl0TG9nRW50cnksXG4gIERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbixcbiAgRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZSxcbiAgRGlzY29yZEF2YXRhckRlY29yYXRpb25EYXRhLFxuICBEaXNjb3JkQ2hhbm5lbCxcbiAgRGlzY29yZENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppLFxuICBEaXNjb3JkRW1iZWQsXG4gIERpc2NvcmRFbW9qaSxcbiAgRGlzY29yZEVudGl0bGVtZW50LFxuICBEaXNjb3JkRm9ydW1UYWcsXG4gIERpc2NvcmRHZXRHYXRld2F5Qm90LFxuICBEaXNjb3JkR3VpbGQsXG4gIERpc2NvcmRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nLFxuICBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLFxuICBEaXNjb3JkR3VpbGRXaWRnZXQsXG4gIERpc2NvcmRHdWlsZFdpZGdldFNldHRpbmdzLFxuICBEaXNjb3JkSW50ZWdyYXRpb25DcmVhdGVVcGRhdGUsXG4gIERpc2NvcmRJbnRlcmFjdGlvbixcbiAgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssXG4gIERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgRGlzY29yZEludGVyYWN0aW9uUmVzb3VyY2UsXG4gIERpc2NvcmRJbnZpdGVDcmVhdGUsXG4gIERpc2NvcmRJbnZpdGVNZXRhZGF0YSxcbiAgRGlzY29yZEludml0ZVN0YWdlSW5zdGFuY2UsXG4gIERpc2NvcmRNZW1iZXIsXG4gIERpc2NvcmRNZXNzYWdlLFxuICBEaXNjb3JkTWVzc2FnZUNhbGwsXG4gIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50LFxuICBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIERpc2NvcmRNZXNzYWdlU25hcHNob3QsXG4gIERpc2NvcmRQb2xsLFxuICBEaXNjb3JkUG9sbE1lZGlhLFxuICBEaXNjb3JkUHJlc2VuY2VVcGRhdGUsXG4gIERpc2NvcmRSb2xlLFxuICBEaXNjb3JkU2NoZWR1bGVkRXZlbnQsXG4gIERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICBEaXNjb3JkU2t1LFxuICBEaXNjb3JkU291bmRib2FyZFNvdW5kLFxuICBEaXNjb3JkU3RhZ2VJbnN0YW5jZSxcbiAgRGlzY29yZFN0aWNrZXIsXG4gIERpc2NvcmRTdGlja2VyUGFjayxcbiAgRGlzY29yZFN1YnNjcmlwdGlvbixcbiAgRGlzY29yZFRlYW0sXG4gIERpc2NvcmRUZW1wbGF0ZSxcbiAgRGlzY29yZFRocmVhZE1lbWJlcixcbiAgRGlzY29yZFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlLFxuICBEaXNjb3JkVXNlcixcbiAgRGlzY29yZFZvaWNlUmVnaW9uLFxuICBEaXNjb3JkVm9pY2VTdGF0ZSxcbiAgRGlzY29yZFdlYmhvb2ssXG4gIERpc2NvcmRXZWxjb21lU2NyZWVuLFxuICBSZWN1cnNpdmVQYXJ0aWFsLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi9ib3QuanMnXG5pbXBvcnQge1xuICB0eXBlIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsXG4gIHR5cGUgU2V0dXBEZXNpcmVkUHJvcHMsXG4gIHR5cGUgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIGNyZWF0ZURlc2lyZWRQcm9wZXJ0aWVzT2JqZWN0LFxufSBmcm9tICcuL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJ1xuaW1wb3J0IHtcbiAgdHlwZSBBY3Rpdml0eSxcbiAgdHlwZSBBY3Rpdml0eUluc3RhbmNlLFxuICB0eXBlIEFjdGl2aXR5TG9jYXRpb24sXG4gIHR5cGUgQXBwbGljYXRpb24sXG4gIHR5cGUgQXBwbGljYXRpb25Db21tYW5kLFxuICB0eXBlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbixcbiAgdHlwZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UsXG4gIHR5cGUgQXR0YWNobWVudCxcbiAgdHlwZSBBdWRpdExvZ0VudHJ5LFxuICB0eXBlIEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICB0eXBlIEF1dG9Nb2RlcmF0aW9uUnVsZSxcbiAgdHlwZSBBdmF0YXJEZWNvcmF0aW9uRGF0YSxcbiAgdHlwZSBDaGFubmVsLFxuICB0eXBlIENvbXBvbmVudCxcbiAgdHlwZSBEZWZhdWx0UmVhY3Rpb25FbW9qaSxcbiAgdHlwZSBFbWJlZCxcbiAgdHlwZSBFbW9qaSxcbiAgdHlwZSBFbnRpdGxlbWVudCxcbiAgdHlwZSBGb3J1bVRhZyxcbiAgdHlwZSBHZXRHYXRld2F5Qm90LFxuICB0eXBlIEd1aWxkLFxuICB0eXBlIEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMsXG4gIHR5cGUgR3VpbGRPbmJvYXJkaW5nLFxuICB0eXBlIEd1aWxkT25ib2FyZGluZ1Byb21wdCxcbiAgdHlwZSBHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24sXG4gIHR5cGUgR3VpbGRXaWRnZXQsXG4gIHR5cGUgR3VpbGRXaWRnZXRTZXR0aW5ncyxcbiAgdHlwZSBJbnRlZ3JhdGlvbixcbiAgdHlwZSBJbnRlcmFjdGlvbixcbiAgdHlwZSBJbnRlcmFjdGlvbkNhbGxiYWNrLFxuICB0eXBlIEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgdHlwZSBJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHR5cGUgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIHR5cGUgSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgdHlwZSBJbnZpdGUsXG4gIHR5cGUgSW52aXRlU3RhZ2VJbnN0YW5jZSxcbiAgdHlwZSBNZW1iZXIsXG4gIHR5cGUgTWVzc2FnZSxcbiAgdHlwZSBNZXNzYWdlQ2FsbCxcbiAgdHlwZSBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHlwZSBNZXNzYWdlU25hcHNob3QsXG4gIHR5cGUgUG9sbCxcbiAgdHlwZSBQb2xsTWVkaWEsXG4gIHR5cGUgUHJlc2VuY2VVcGRhdGUsXG4gIHR5cGUgUm9sZSxcbiAgdHlwZSBTY2hlZHVsZWRFdmVudCxcbiAgdHlwZSBTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICB0eXBlIFNrdSxcbiAgdHlwZSBTb3VuZGJvYXJkU291bmQsXG4gIHR5cGUgU3RhZ2VJbnN0YW5jZSxcbiAgdHlwZSBTdGlja2VyLFxuICB0eXBlIFN0aWNrZXJQYWNrLFxuICB0eXBlIFN1YnNjcmlwdGlvbixcbiAgdHlwZSBUZWFtLFxuICB0eXBlIFRlbXBsYXRlLFxuICB0eXBlIFRocmVhZE1lbWJlcixcbiAgdHlwZSBUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgdHlwZSBVc2VyLFxuICB0eXBlIFZvaWNlUmVnaW9uLFxuICB0eXBlIFZvaWNlU3RhdGUsXG4gIHR5cGUgV2ViaG9vayxcbiAgdHlwZSBXZWxjb21lU2NyZWVuLFxuICB0cmFuc2Zvcm1BY3Rpdml0eSxcbiAgdHJhbnNmb3JtQWN0aXZpdHlJbnN0YW5jZSxcbiAgdHJhbnNmb3JtQWN0aXZpdHlMb2NhdGlvbixcbiAgdHJhbnNmb3JtQWN0aXZpdHlUb0Rpc2NvcmRBY3Rpdml0eSxcbiAgdHJhbnNmb3JtQXBwbGljYXRpb24sXG4gIHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UsXG4gIHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uLFxuICB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRUb0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQsXG4gIHRyYW5zZm9ybUFwcGxpY2F0aW9uVG9EaXNjb3JkQXBwbGljYXRpb24sXG4gIHRyYW5zZm9ybUF0dGFjaG1lbnQsXG4gIHRyYW5zZm9ybUF0dGFjaG1lbnRUb0Rpc2NvcmRBdHRhY2htZW50LFxuICB0cmFuc2Zvcm1BdWRpdExvZ0VudHJ5LFxuICB0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbixcbiAgdHJhbnNmb3JtQXV0b01vZGVyYXRpb25SdWxlLFxuICB0cmFuc2Zvcm1BdmF0YXJEZWNvcmF0aW9uRGF0YSxcbiAgdHJhbnNmb3JtQ2hhbm5lbCxcbiAgdHJhbnNmb3JtQ29tcG9uZW50LFxuICB0cmFuc2Zvcm1Db21wb25lbnRUb0Rpc2NvcmRDb21wb25lbnQsXG4gIHRyYW5zZm9ybURlZmF1bHRSZWFjdGlvbkVtb2ppLFxuICB0cmFuc2Zvcm1FbWJlZCxcbiAgdHJhbnNmb3JtRW1iZWRUb0Rpc2NvcmRFbWJlZCxcbiAgdHJhbnNmb3JtRW1vamksXG4gIHRyYW5zZm9ybUVudGl0bGVtZW50LFxuICB0cmFuc2Zvcm1Gb3J1bVRhZyxcbiAgdHJhbnNmb3JtR2F0ZXdheUJvdCxcbiAgdHJhbnNmb3JtR3VpbGQsXG4gIHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZyxcbiAgdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24sXG4gIHRyYW5zZm9ybUludGVncmF0aW9uLFxuICB0cmFuc2Zvcm1JbnRlcmFjdGlvbixcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICB0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlLFxuICB0cmFuc2Zvcm1JbnZpdGUsXG4gIHRyYW5zZm9ybUludml0ZVN0YWdlSW5zdGFuY2UsXG4gIHRyYW5zZm9ybU1lbWJlcixcbiAgdHJhbnNmb3JtTWVtYmVyVG9EaXNjb3JkTWVtYmVyLFxuICB0cmFuc2Zvcm1NZXNzYWdlLFxuICB0cmFuc2Zvcm1NZXNzYWdlQ2FsbCxcbiAgdHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIHRyYW5zZm9ybU1lc3NhZ2VTbmFwc2hvdCxcbiAgdHJhbnNmb3JtUG9sbCxcbiAgdHJhbnNmb3JtUG9sbE1lZGlhLFxuICB0cmFuc2Zvcm1QcmVzZW5jZSxcbiAgdHJhbnNmb3JtUm9sZSxcbiAgdHJhbnNmb3JtU2NoZWR1bGVkRXZlbnQsXG4gIHRyYW5zZm9ybVNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsXG4gIHRyYW5zZm9ybVNrdSxcbiAgdHJhbnNmb3JtU291bmRib2FyZFNvdW5kLFxuICB0cmFuc2Zvcm1TdGFnZUluc3RhbmNlLFxuICB0cmFuc2Zvcm1TdGlja2VyLFxuICB0cmFuc2Zvcm1TdGlja2VyUGFjayxcbiAgdHJhbnNmb3JtU3Vic2NyaXB0aW9uLFxuICB0cmFuc2Zvcm1UZWFtLFxuICB0cmFuc2Zvcm1UZWFtVG9EaXNjb3JkVGVhbSxcbiAgdHJhbnNmb3JtVGVtcGxhdGUsXG4gIHRyYW5zZm9ybVRocmVhZE1lbWJlcixcbiAgdHJhbnNmb3JtVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUsXG4gIHRyYW5zZm9ybVVzZXIsXG4gIHRyYW5zZm9ybVVzZXJUb0Rpc2NvcmRVc2VyLFxuICB0cmFuc2Zvcm1Wb2ljZVJlZ2lvbixcbiAgdHJhbnNmb3JtVm9pY2VTdGF0ZSxcbiAgdHJhbnNmb3JtV2ViaG9vayxcbiAgdHJhbnNmb3JtV2VsY29tZVNjcmVlbixcbiAgdHJhbnNmb3JtV2lkZ2V0LFxuICB0cmFuc2Zvcm1XaWRnZXRTZXR0aW5ncyxcbn0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvaW5kZXguanMnXG5pbXBvcnQge1xuICB0cmFuc2Zvcm1BbGxvd2VkTWVudGlvbnNUb0Rpc2NvcmRBbGxvd2VkTWVudGlvbnMsXG4gIHRyYW5zZm9ybUNyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZFRvRGlzY29yZENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCxcbn0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9pbmRleC5qcydcbmltcG9ydCB7IGJpZ2ludFRvU25vd2ZsYWtlLCBzbm93Zmxha2VUb0JpZ2ludCB9IGZyb20gJy4vdXRpbHMuanMnXG5cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybWVyczxUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSB7XG4gIGN1c3RvbWl6ZXJzOiB7XG4gICAgYWN0aXZpdHk6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRBY3Rpdml0eSwgYWN0aXZpdHk6IEFjdGl2aXR5KSA9PiBhbnlcbiAgICBhY3Rpdml0eUluc3RhbmNlOiAoXG4gICAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkQWN0aXZpdHlJbnN0YW5jZSxcbiAgICAgIGFjdGl2aXR5SW5zdGFuY2U6IFNldHVwRGVzaXJlZFByb3BzPEFjdGl2aXR5SW5zdGFuY2UsIFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICApID0+IGFueVxuICAgIGFjdGl2aXR5TG9jYXRpb246IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRBY3Rpdml0eUxvY2F0aW9uLFxuICAgICAgYWN0aXZpdHlMb2NhdGlvbjogU2V0dXBEZXNpcmVkUHJvcHM8QWN0aXZpdHlMb2NhdGlvbiwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICkgPT4gYW55XG4gICAgYXBwbGljYXRpb246IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRBcHBsaWNhdGlvbiwgYXBwbGljYXRpb246IEFwcGxpY2F0aW9uKSA9PiBhbnlcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQsIGFwcGxpY2F0aW9uQ29tbWFuZDogQXBwbGljYXRpb25Db21tYW5kKSA9PiBhbnlcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb246IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24sXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb246IEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbixcbiAgICApID0+IGFueVxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLFxuICAgICkgPT4gYW55XG4gICAgYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbjogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiBHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICAgICkgPT4gYW55XG4gICAgYXR0YWNobWVudDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEF0dGFjaG1lbnQsIGF0dGFjaG1lbnQ6IFNldHVwRGVzaXJlZFByb3BzPEF0dGFjaG1lbnQsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gYW55XG4gICAgYXVkaXRMb2dFbnRyeTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEF1ZGl0TG9nRW50cnksIGF1ZGl0TG9nRW50cnk6IEF1ZGl0TG9nRW50cnkpID0+IGFueVxuICAgIGF1dG9tb2RBY3Rpb25FeGVjdXRpb246IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbixcbiAgICAgIGF1dG9tb2RBY3Rpb25FeGVjdXRpb246IEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICAgICkgPT4gYW55XG4gICAgYXV0b21vZFJ1bGU6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGUsIGF1dG9tb2RSdWxlOiBBdXRvTW9kZXJhdGlvblJ1bGUpID0+IGFueVxuICAgIGF2YXRhckRlY29yYXRpb25EYXRhOiAoXG4gICAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkQXZhdGFyRGVjb3JhdGlvbkRhdGEsXG4gICAgICBhdmF0YXJEZWNvcmF0aW9uRGF0YTogU2V0dXBEZXNpcmVkUHJvcHM8QXZhdGFyRGVjb3JhdGlvbkRhdGEsIFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICApID0+IGFueVxuICAgIGNoYW5uZWw6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRDaGFubmVsLCBjaGFubmVsOiBTZXR1cERlc2lyZWRQcm9wczxDaGFubmVsLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IGFueVxuICAgIGNvbXBvbmVudDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQsIGNvbXBvbmVudDogQ29tcG9uZW50KSA9PiBhbnlcbiAgICBkZWZhdWx0UmVhY3Rpb25FbW9qaTogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppLFxuICAgICAgZGVmYXVsdFJlYWN0aW9uRW1vamk6IFNldHVwRGVzaXJlZFByb3BzPERlZmF1bHRSZWFjdGlvbkVtb2ppLCBUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgKSA9PiBhbnlcbiAgICBlbWJlZDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEVtYmVkLCBlbWJlZDogRW1iZWQpID0+IGFueVxuICAgIGVtb2ppOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkRW1vamksIGVtb2ppOiBTZXR1cERlc2lyZWRQcm9wczxFbW9qaSwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiBhbnlcbiAgICBlbnRpdGxlbWVudDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEVudGl0bGVtZW50LCBlbnRpdGxlbWVudDogU2V0dXBEZXNpcmVkUHJvcHM8RW50aXRsZW1lbnQsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gYW55XG4gICAgZm9ydW1UYWc6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRGb3J1bVRhZywgZm9ydW1UYWc6IFNldHVwRGVzaXJlZFByb3BzPEZvcnVtVGFnLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IGFueVxuICAgIGdhdGV3YXlCb3Q6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRHZXRHYXRld2F5Qm90LCBnZXRHYXRld2F5Qm90OiBHZXRHYXRld2F5Qm90KSA9PiBhbnlcbiAgICBndWlsZDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEd1aWxkLCBndWlsZDogU2V0dXBEZXNpcmVkUHJvcHM8R3VpbGQsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gYW55XG4gICAgZ3VpbGRPbmJvYXJkaW5nOiAoXG4gICAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nLFxuICAgICAgb25ib2FyZGluZzogU2V0dXBEZXNpcmVkUHJvcHM8R3VpbGRPbmJvYXJkaW5nLCBUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgKSA9PiBhbnlcbiAgICBndWlsZE9uYm9hcmRpbmdQcm9tcHQ6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHQsXG4gICAgICBvbmJvYXJkaW5nUHJvbXB0OiBTZXR1cERlc2lyZWRQcm9wczxHdWlsZE9uYm9hcmRpbmdQcm9tcHQsIFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICApID0+IGFueVxuICAgIGd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbjogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgICAgIG9uYm9hcmRpbmdQcm9tcHRPcHRpb246IEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgICApID0+IGFueVxuICAgIGludGVncmF0aW9uOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkSW50ZWdyYXRpb25DcmVhdGVVcGRhdGUsIGludGVncmF0aW9uOiBJbnRlZ3JhdGlvbikgPT4gYW55XG4gICAgaW50ZXJhY3Rpb246IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IHsgaW50ZXJhY3Rpb246IERpc2NvcmRJbnRlcmFjdGlvbjsgc2hhcmRJZDogbnVtYmVyIH0sXG4gICAgICBpbnRlcmFjdGlvbjogU2V0dXBEZXNpcmVkUHJvcHM8SW50ZXJhY3Rpb24sIFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICApID0+IGFueVxuICAgIGludGVyYWN0aW9uQ2FsbGJhY2s6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrLFxuICAgICAgaW50ZXJhY3Rpb25DYWxsYmFjazogU2V0dXBEZXNpcmVkUHJvcHM8SW50ZXJhY3Rpb25DYWxsYmFjaywgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICkgPT4gYW55XG4gICAgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiAoXG4gICAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICAgICAgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsIFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICApID0+IGFueVxuICAgIGludGVyYWN0aW9uRGF0YU9wdGlvbnM6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sIGludGVyYWN0aW9uRGF0YU9wdGlvbnM6IEludGVyYWN0aW9uRGF0YU9wdGlvbikgPT4gYW55XG4gICAgaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQ6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IHsgcmVzb2x2ZWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDsgZ3VpbGRJZD86IGJpZ2ludCB9LFxuICAgICAgaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQ6IEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICAgICkgPT4gYW55XG4gICAgaW50ZXJhY3Rpb25SZXNvdXJjZTogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uUmVzb3VyY2UsXG4gICAgICBpbnRlcmFjdGlvblJlc291cmNlOiBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvblJlc291cmNlLCBUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgKSA9PiBhbnlcbiAgICBpbnZpdGU6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRJbnZpdGVDcmVhdGUgfCBEaXNjb3JkSW52aXRlTWV0YWRhdGEsXG4gICAgICBpbnZpdGU6IFNldHVwRGVzaXJlZFByb3BzPEludml0ZSwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICkgPT4gYW55XG4gICAgaW52aXRlU3RhZ2VJbnN0YW5jZTogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZEludml0ZVN0YWdlSW5zdGFuY2UsXG4gICAgICBpbnZpdGVTdGFnZUluc3RhbmNlOiBTZXR1cERlc2lyZWRQcm9wczxJbnZpdGVTdGFnZUluc3RhbmNlLCBUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgKSA9PiBhbnlcbiAgICBtZW1iZXI6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRNZW1iZXIsIG1lbWJlcjogU2V0dXBEZXNpcmVkUHJvcHM8TWVtYmVyLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IGFueVxuICAgIG1lc3NhZ2U6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlLCBtZXNzYWdlOiBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IGFueVxuICAgIG1lc3NhZ2VDYWxsOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUNhbGwsIGNhbGw6IFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VDYWxsLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IGFueVxuICAgIG1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhOiAoXG4gICAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gICAgICBtZXRhZGF0YTogU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsIFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICApID0+IGFueVxuICAgIG1lc3NhZ2VTbmFwc2hvdDogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VTbmFwc2hvdCxcbiAgICAgIG1lc3NhZ2VTbmFwc2hvdDogU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZVNuYXBzaG90LCBUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgKSA9PiBhbnlcbiAgICBwb2xsOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkUG9sbCwgcG9sbDogU2V0dXBEZXNpcmVkUHJvcHM8UG9sbCwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiBhbnlcbiAgICBwb2xsTWVkaWE6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRQb2xsTWVkaWEsIHBvbGxNZWRpYTogU2V0dXBEZXNpcmVkUHJvcHM8UG9sbE1lZGlhLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IGFueVxuICAgIHByZXNlbmNlOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkUHJlc2VuY2VVcGRhdGUsIHByZXNlbmNlOiBQcmVzZW5jZVVwZGF0ZSkgPT4gYW55XG4gICAgcm9sZTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFJvbGUsIHJvbGU6IFNldHVwRGVzaXJlZFByb3BzPFJvbGUsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gYW55XG4gICAgc2NoZWR1bGVkRXZlbnQ6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRTY2hlZHVsZWRFdmVudCxcbiAgICAgIHNjaGVkdWxlZEV2ZW50OiBTZXR1cERlc2lyZWRQcm9wczxTY2hlZHVsZWRFdmVudCwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICkgPT4gYW55XG4gICAgc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZTogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsXG4gICAgICBzY2hlZHVsZWRFdmVudDogU2V0dXBEZXNpcmVkUHJvcHM8U2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICkgPT4gYW55XG4gICAgc2t1OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkU2t1LCBza3U6IFNldHVwRGVzaXJlZFByb3BzPFNrdSwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiBhbnlcbiAgICBzb3VuZGJvYXJkU291bmQ6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRTb3VuZGJvYXJkU291bmQsXG4gICAgICBzb3VuZGJvYXJkU291bmQ6IFNldHVwRGVzaXJlZFByb3BzPFNvdW5kYm9hcmRTb3VuZCwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICkgPT4gYW55XG4gICAgc3RhZ2VJbnN0YW5jZTogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZFN0YWdlSW5zdGFuY2UsXG4gICAgICBzdGFnZUluc3RhbmNlOiBTZXR1cERlc2lyZWRQcm9wczxTdGFnZUluc3RhbmNlLCBUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgKSA9PiBhbnlcbiAgICBzdGlja2VyOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkU3RpY2tlciwgc3RpY2tlcjogU2V0dXBEZXNpcmVkUHJvcHM8U3RpY2tlciwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiBhbnlcbiAgICBzdGlja2VyUGFjazogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFN0aWNrZXJQYWNrLCBzdGlja2VyUGFjazogU3RpY2tlclBhY2spID0+IGFueVxuICAgIHN1YnNjcmlwdGlvbjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFN1YnNjcmlwdGlvbiwgc3Vic2NyaXB0aW9uOiBTZXR1cERlc2lyZWRQcm9wczxTdWJzY3JpcHRpb24sIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gYW55XG4gICAgdGVhbTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFRlYW0sIHRlYW06IFRlYW0pID0+IGFueVxuICAgIHRlbXBsYXRlOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkVGVtcGxhdGUsIHRlbXBsYXRlOiBUZW1wbGF0ZSkgPT4gYW55XG4gICAgdGhyZWFkTWVtYmVyOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkVGhyZWFkTWVtYmVyLCB0aHJlYWRNZW1iZXI6IFRocmVhZE1lbWJlcikgPT4gYW55XG4gICAgdGhyZWFkTWVtYmVyR3VpbGRDcmVhdGU6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgICAgIHRocmVhZE1lbWJlckd1aWxkQ3JlYXRlOiBUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgICApID0+IGFueVxuICAgIHVzZXI6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRVc2VyLCB1c2VyOiBTZXR1cERlc2lyZWRQcm9wczxVc2VyLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IGFueVxuICAgIHZvaWNlUmVnaW9uOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkVm9pY2VSZWdpb24sIHZvaWNlUmVnaW9uOiBWb2ljZVJlZ2lvbikgPT4gYW55XG4gICAgdm9pY2VTdGF0ZTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFZvaWNlU3RhdGUsIHZvaWNlU3RhdGU6IFNldHVwRGVzaXJlZFByb3BzPFZvaWNlU3RhdGUsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gYW55XG4gICAgd2ViaG9vazogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFdlYmhvb2ssIHdlYmhvb2s6IFNldHVwRGVzaXJlZFByb3BzPFdlYmhvb2ssIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gYW55XG4gICAgd2VsY29tZVNjcmVlbjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFdlbGNvbWVTY3JlZW4sIHdlbGNvbWVTY3JlZW46IFdlbGNvbWVTY3JlZW4pID0+IGFueVxuICAgIHdpZGdldDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEd1aWxkV2lkZ2V0LCB3aWRnZXQ6IEd1aWxkV2lkZ2V0KSA9PiBhbnlcbiAgICB3aWRnZXRTZXR0aW5nczogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEd1aWxkV2lkZ2V0U2V0dGluZ3MsIHdpZGdldFNldHRpbmdzOiBHdWlsZFdpZGdldFNldHRpbmdzKSA9PiBhbnlcbiAgfVxuICBkZXNpcmVkUHJvcGVydGllczogVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXNcbiAgcmV2ZXJzZToge1xuICAgIGFjdGl2aXR5OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBBY3Rpdml0eSkgPT4gRGlzY29yZEFjdGl2aXR5XG4gICAgYWxsb3dlZE1lbnRpb25zOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBBbGxvd2VkTWVudGlvbnMpID0+IERpc2NvcmRBbGxvd2VkTWVudGlvbnNcbiAgICBhcHBsaWNhdGlvbjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQXBwbGljYXRpb24pID0+IERpc2NvcmRBcHBsaWNhdGlvblxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQXBwbGljYXRpb25Db21tYW5kKSA9PiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kXG4gICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24pID0+IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25cbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2U6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSkgPT4gRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVxuICAgIGF0dGFjaG1lbnQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IFNldHVwRGVzaXJlZFByb3BzPEF0dGFjaG1lbnQsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gRGlzY29yZEF0dGFjaG1lbnRcbiAgICBjb21wb25lbnQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IENvbXBvbmVudCkgPT4gRGlzY29yZE1lc3NhZ2VDb21wb25lbnRcbiAgICBjcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCkgPT4gRGlzY29yZENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZFxuICAgIGVtYmVkOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBFbWJlZCkgPT4gRGlzY29yZEVtYmVkXG4gICAgbWVtYmVyOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBTZXR1cERlc2lyZWRQcm9wczxNZW1iZXIsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gRGlzY29yZE1lbWJlclxuICAgIHNub3dmbGFrZTogKHNub3dmbGFrZTogQmlnU3RyaW5nKSA9PiBzdHJpbmdcbiAgICB0ZWFtOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBUZWFtKSA9PiBEaXNjb3JkVGVhbVxuICAgIHVzZXI6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IFNldHVwRGVzaXJlZFByb3BzPFVzZXIsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gRGlzY29yZFVzZXJcbiAgfVxuICBhY3Rpdml0eTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEFjdGl2aXR5KSA9PiBBY3Rpdml0eVxuICBhY3Rpdml0eUluc3RhbmNlOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkQWN0aXZpdHlJbnN0YW5jZSkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8QWN0aXZpdHlJbnN0YW5jZSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIGFjdGl2aXR5TG9jYXRpb246IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRBY3Rpdml0eUxvY2F0aW9uKSA9PiBTZXR1cERlc2lyZWRQcm9wczxBY3Rpdml0eUxvY2F0aW9uLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgYXBwbGljYXRpb246IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IHsgYXBwbGljYXRpb246IERpc2NvcmRBcHBsaWNhdGlvbjsgc2hhcmRJZDogbnVtYmVyIH0pID0+IEFwcGxpY2F0aW9uXG4gIGFwcGxpY2F0aW9uQ29tbWFuZDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCkgPT4gQXBwbGljYXRpb25Db21tYW5kXG4gIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbikgPT4gQXBwbGljYXRpb25Db21tYW5kT3B0aW9uXG4gIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSkgPT4gQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlXG4gIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb246IChcbiAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgcGF5bG9hZDogRGlzY29yZEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMsXG4gICkgPT4gR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1xuICBhdHRhY2htZW50OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkQXR0YWNobWVudCkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8QXR0YWNobWVudCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIGF1ZGl0TG9nRW50cnk6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRBdWRpdExvZ0VudHJ5KSA9PiBBdWRpdExvZ0VudHJ5XG4gIGF1dG9tb2RBY3Rpb25FeGVjdXRpb246IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbikgPT4gQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb25cbiAgYXV0b21vZFJ1bGU6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGUpID0+IEF1dG9Nb2RlcmF0aW9uUnVsZVxuICBhdmF0YXJEZWNvcmF0aW9uRGF0YTogKFxuICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICBwYXlsb2FkOiBEaXNjb3JkQXZhdGFyRGVjb3JhdGlvbkRhdGEsXG4gICkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8QXZhdGFyRGVjb3JhdGlvbkRhdGEsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBjaGFubmVsOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiB7IGNoYW5uZWw6IERpc2NvcmRDaGFubmVsOyBndWlsZElkPzogQmlnU3RyaW5nIH0pID0+IFNldHVwRGVzaXJlZFByb3BzPENoYW5uZWwsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBjb21wb25lbnQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50KSA9PiBDb21wb25lbnRcbiAgZGVmYXVsdFJlYWN0aW9uRW1vamk6IChcbiAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgcGF5bG9hZDogRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppLFxuICApID0+IFNldHVwRGVzaXJlZFByb3BzPERlZmF1bHRSZWFjdGlvbkVtb2ppLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgZW1iZWQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRFbWJlZCkgPT4gRW1iZWRcbiAgZW1vamk6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRFbW9qaSkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8RW1vamksIFRQcm9wcywgVEJlaGF2aW9yPlxuICBlbnRpdGxlbWVudDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEVudGl0bGVtZW50KSA9PiBTZXR1cERlc2lyZWRQcm9wczxFbnRpdGxlbWVudCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIGZvcnVtVGFnOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkRm9ydW1UYWcpID0+IFNldHVwRGVzaXJlZFByb3BzPEZvcnVtVGFnLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgZ2F0ZXdheUJvdDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEdldEdhdGV3YXlCb3QpID0+IEdldEdhdGV3YXlCb3RcbiAgZ3VpbGQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IHsgZ3VpbGQ6IERpc2NvcmRHdWlsZDsgc2hhcmRJZDogbnVtYmVyIH0pID0+IFNldHVwRGVzaXJlZFByb3BzPEd1aWxkLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgZ3VpbGRPbmJvYXJkaW5nOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nKSA9PiBTZXR1cERlc2lyZWRQcm9wczxHdWlsZE9uYm9hcmRpbmcsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBndWlsZE9uYm9hcmRpbmdQcm9tcHQ6IChcbiAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgcGF5bG9hZDogRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdCxcbiAgKSA9PiBTZXR1cERlc2lyZWRQcm9wczxHdWlsZE9uYm9hcmRpbmdQcm9tcHQsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb246IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24pID0+IEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvblxuICBpbnRlZ3JhdGlvbjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEludGVncmF0aW9uQ3JlYXRlVXBkYXRlKSA9PiBJbnRlZ3JhdGlvblxuICBpbnRlcmFjdGlvbjogKFxuICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICBwYXlsb2FkOiB7IGludGVyYWN0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb247IHNoYXJkSWQ6IG51bWJlciB9LFxuICApID0+IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgaW50ZXJhY3Rpb25DYWxsYmFjazogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2spID0+IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uQ2FsbGJhY2ssIFRQcm9wcywgVEJlaGF2aW9yPlxuICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IChcbiAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgcGF5bG9hZDogeyBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U7IHNoYXJkSWQ6IG51bWJlciB9LFxuICApID0+IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIGludGVyYWN0aW9uRGF0YU9wdGlvbnM6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24pID0+IEludGVyYWN0aW9uRGF0YU9wdGlvblxuICBpbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDogKFxuICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICBwYXlsb2FkOiB7IHJlc29sdmVkOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQ7IHNoYXJkSWQ6IG51bWJlcjsgZ3VpbGRJZD86IGJpZ2ludCB9LFxuICApID0+IEludGVyYWN0aW9uRGF0YVJlc29sdmVkXG4gIGludGVyYWN0aW9uUmVzb3VyY2U6IChcbiAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgcGF5bG9hZDogeyBpbnRlcmFjdGlvblJlc291cmNlOiBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZTsgc2hhcmRJZDogbnVtYmVyIH0sXG4gICkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8SW50ZXJhY3Rpb25SZXNvdXJjZSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIGludml0ZTogKFxuICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICBwYXlsb2FkOiB7IGludml0ZTogRGlzY29yZEludml0ZUNyZWF0ZSB8IERpc2NvcmRJbnZpdGVNZXRhZGF0YTsgc2hhcmRJZDogbnVtYmVyIH0sXG4gICkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8SW52aXRlLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgaW52aXRlU3RhZ2VJbnN0YW5jZTogKFxuICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICBwYXlsb2FkOiBEaXNjb3JkSW52aXRlU3RhZ2VJbnN0YW5jZSAmIHsgZ3VpbGRJZDogQmlnU3RyaW5nIH0sXG4gICkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8SW52aXRlU3RhZ2VJbnN0YW5jZSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIG1lbWJlcjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZE1lbWJlciwgZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gU2V0dXBEZXNpcmVkUHJvcHM8TWVtYmVyLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgbWVzc2FnZTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogeyBtZXNzYWdlOiBEaXNjb3JkTWVzc2FnZTsgc2hhcmRJZDogbnVtYmVyIH0pID0+IFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2UsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBtZXNzYWdlQ2FsbDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VDYWxsKSA9PiBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlQ2FsbCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIG1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhOiAoXG4gICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgKSA9PiBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIG1lc3NhZ2VTbmFwc2hvdDogKFxuICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICBwYXlsb2FkOiB7IG1lc3NhZ2VTbmFwc2hvdDogRGlzY29yZE1lc3NhZ2VTbmFwc2hvdDsgc2hhcmRJZDogbnVtYmVyIH0sXG4gICkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZVNuYXBzaG90LCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgcG9sbDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFBvbGwpID0+IFNldHVwRGVzaXJlZFByb3BzPFBvbGwsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBwb2xsTWVkaWE6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRQb2xsTWVkaWEpID0+IFNldHVwRGVzaXJlZFByb3BzPFBvbGxNZWRpYSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHByZXNlbmNlOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkUHJlc2VuY2VVcGRhdGUpID0+IFByZXNlbmNlVXBkYXRlXG4gIHJvbGU6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IHsgcm9sZTogRGlzY29yZFJvbGU7IGd1aWxkSWQ6IEJpZ1N0cmluZyB9KSA9PiBTZXR1cERlc2lyZWRQcm9wczxSb2xlLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgc2NoZWR1bGVkRXZlbnQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRTY2hlZHVsZWRFdmVudCkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8U2NoZWR1bGVkRXZlbnQsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlOiAoXG4gICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgIHBheWxvYWQ6IERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICApID0+IFNldHVwRGVzaXJlZFByb3BzPFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBza3U6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRTa3UpID0+IFNldHVwRGVzaXJlZFByb3BzPFNrdSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHNvdW5kYm9hcmRTb3VuZDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFNvdW5kYm9hcmRTb3VuZCkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8U291bmRib2FyZFNvdW5kLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgc25vd2ZsYWtlOiAoc25vd2ZsYWtlOiBCaWdTdHJpbmcpID0+IGJpZ2ludFxuICBzdGFnZUluc3RhbmNlOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkU3RhZ2VJbnN0YW5jZSkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8U3RhZ2VJbnN0YW5jZSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHN0aWNrZXI6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRTdGlja2VyKSA9PiBTZXR1cERlc2lyZWRQcm9wczxTdGlja2VyLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgc3RpY2tlclBhY2s6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRTdGlja2VyUGFjaykgPT4gU3RpY2tlclBhY2tcbiAgc3Vic2NyaXB0aW9uOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkU3Vic2NyaXB0aW9uKSA9PiBTZXR1cERlc2lyZWRQcm9wczxTdWJzY3JpcHRpb24sIFRQcm9wcywgVEJlaGF2aW9yPlxuICB0ZWFtOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkVGVhbSkgPT4gVGVhbVxuICB0ZW1wbGF0ZTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFRlbXBsYXRlKSA9PiBUZW1wbGF0ZVxuICB0aHJlYWRNZW1iZXI6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRUaHJlYWRNZW1iZXIpID0+IFRocmVhZE1lbWJlclxuICB0aHJlYWRNZW1iZXJHdWlsZENyZWF0ZTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlKSA9PiBUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZVxuICB1c2VyOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkVXNlcikgPT4gU2V0dXBEZXNpcmVkUHJvcHM8VXNlciwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHZvaWNlUmVnaW9uOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkVm9pY2VSZWdpb24pID0+IFZvaWNlUmVnaW9uXG4gIHZvaWNlU3RhdGU6IChcbiAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgcGF5bG9hZDogeyB2b2ljZVN0YXRlOiBEaXNjb3JkVm9pY2VTdGF0ZTsgZ3VpbGRJZDogQmlnU3RyaW5nIH0sXG4gICkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8Vm9pY2VTdGF0ZSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHdlYmhvb2s6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRXZWJob29rKSA9PiBTZXR1cERlc2lyZWRQcm9wczxXZWJob29rLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgd2VsY29tZVNjcmVlbjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFdlbGNvbWVTY3JlZW4pID0+IFdlbGNvbWVTY3JlZW5cbiAgd2lkZ2V0OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkR3VpbGRXaWRnZXQpID0+IEd1aWxkV2lkZ2V0XG4gIHdpZGdldFNldHRpbmdzOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncykgPT4gR3VpbGRXaWRnZXRTZXR0aW5nc1xufVxuXG5jb25zdCBkZWZhdWx0Q3VzdG9taXplciA9IChfYm90OiB1bmtub3duLCBfcGF5bG9hZDogdW5rbm93biwgc3RydWN0dXJlOiB1bmtub3duKSA9PiBzdHJ1Y3R1cmVcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyYW5zZm9ybWVyczxUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4oXG4gIG9wdGlvbnM6IFJlY3Vyc2l2ZVBhcnRpYWw8VHJhbnNmb3JtZXJzPFRQcm9wcywgVEJlaGF2aW9yPj4sXG4pOiBUcmFuc2Zvcm1lcnM8VFByb3BzLCBUQmVoYXZpb3I+IHtcbiAgcmV0dXJuIHtcbiAgICBjdXN0b21pemVyczoge1xuICAgICAgYWN0aXZpdHk6IG9wdGlvbnMuY3VzdG9taXplcnM/LmFjdGl2aXR5ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYWN0aXZpdHlJbnN0YW5jZTogb3B0aW9ucy5jdXN0b21pemVycz8uYWN0aXZpdHlJbnN0YW5jZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFjdGl2aXR5TG9jYXRpb246IG9wdGlvbnMuY3VzdG9taXplcnM/LmFjdGl2aXR5TG9jYXRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbjogb3B0aW9ucy5jdXN0b21pemVycz8uYXBwbGljYXRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IG9wdGlvbnMuY3VzdG9taXplcnM/LmFwcGxpY2F0aW9uQ29tbWFuZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjogb3B0aW9ucy5jdXN0b21pemVycz8uYXBwbGljYXRpb25Db21tYW5kT3B0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXR0YWNobWVudDogb3B0aW9ucy5jdXN0b21pemVycz8uYXR0YWNobWVudCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGF1ZGl0TG9nRW50cnk6IG9wdGlvbnMuY3VzdG9taXplcnM/LmF1ZGl0TG9nRW50cnkgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdXRvbW9kQWN0aW9uRXhlY3V0aW9uOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5hdXRvbW9kQWN0aW9uRXhlY3V0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXV0b21vZFJ1bGU6IG9wdGlvbnMuY3VzdG9taXplcnM/LmF1dG9tb2RSdWxlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXZhdGFyRGVjb3JhdGlvbkRhdGE6IG9wdGlvbnMuY3VzdG9taXplcnM/LmF2YXRhckRlY29yYXRpb25EYXRhID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgY2hhbm5lbDogb3B0aW9ucy5jdXN0b21pemVycz8uY2hhbm5lbCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGNvbXBvbmVudDogb3B0aW9ucy5jdXN0b21pemVycz8uY29tcG9uZW50ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZGVmYXVsdFJlYWN0aW9uRW1vamk6IG9wdGlvbnMuY3VzdG9taXplcnM/LmRlZmF1bHRSZWFjdGlvbkVtb2ppID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZW1iZWQ6IG9wdGlvbnMuY3VzdG9taXplcnM/LmVtYmVkID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZW1vamk6IG9wdGlvbnMuY3VzdG9taXplcnM/LmVtb2ppID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZW50aXRsZW1lbnQ6IG9wdGlvbnMuY3VzdG9taXplcnM/LmVudGl0bGVtZW50ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZm9ydW1UYWc6IG9wdGlvbnMuY3VzdG9taXplcnM/LmZvcnVtVGFnID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ2F0ZXdheUJvdDogb3B0aW9ucy5jdXN0b21pemVycz8uZ2F0ZXdheUJvdCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGd1aWxkOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5ndWlsZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGd1aWxkT25ib2FyZGluZzogb3B0aW9ucy5jdXN0b21pemVycz8uZ3VpbGRPbmJvYXJkaW5nID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0OiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5ndWlsZE9uYm9hcmRpbmdQcm9tcHQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb246IG9wdGlvbnMuY3VzdG9taXplcnM/Lmd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludGVncmF0aW9uOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlZ3JhdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludGVyYWN0aW9uOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlcmFjdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludGVyYWN0aW9uQ2FsbGJhY2s6IG9wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uQ2FsbGJhY2sgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IG9wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludGVyYWN0aW9uRGF0YU9wdGlvbnM6IG9wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uRGF0YU9wdGlvbnMgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDogb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvblJlc291cmNlOiBvcHRpb25zPy5jdXN0b21pemVycz8uaW50ZXJhY3Rpb25SZXNvdXJjZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludml0ZTogb3B0aW9ucy5jdXN0b21pemVycz8uaW52aXRlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW52aXRlU3RhZ2VJbnN0YW5jZTogb3B0aW9ucy5jdXN0b21pemVycz8uaW52aXRlU3RhZ2VJbnN0YW5jZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lbWJlcjogb3B0aW9ucy5jdXN0b21pemVycz8ubWVtYmVyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVzc2FnZTogb3B0aW9ucy5jdXN0b21pemVycz8ubWVzc2FnZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lc3NhZ2VDYWxsOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5tZXNzYWdlQ2FsbCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lc3NhZ2VTbmFwc2hvdDogb3B0aW9ucy5jdXN0b21pemVycz8ubWVzc2FnZVNuYXBzaG90ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgcG9sbDogb3B0aW9ucy5jdXN0b21pemVycz8ucG9sbCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHBvbGxNZWRpYTogb3B0aW9ucy5jdXN0b21pemVycz8ucG9sbE1lZGlhID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgcHJlc2VuY2U6IG9wdGlvbnMuY3VzdG9taXplcnM/LnByZXNlbmNlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgcm9sZTogb3B0aW9ucy5jdXN0b21pemVycz8ucm9sZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHNjaGVkdWxlZEV2ZW50OiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5zY2hlZHVsZWRFdmVudCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGU6IG9wdGlvbnMuY3VzdG9taXplcnM/LnNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBza3U6IG9wdGlvbnMuY3VzdG9taXplcnM/LnNrdSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHNvdW5kYm9hcmRTb3VuZDogb3B0aW9ucy5jdXN0b21pemVycz8uc291bmRib2FyZFNvdW5kID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc3RhZ2VJbnN0YW5jZTogb3B0aW9ucy5jdXN0b21pemVycz8uc3RhZ2VJbnN0YW5jZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHN0aWNrZXI6IG9wdGlvbnMuY3VzdG9taXplcnM/LnN0aWNrZXIgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzdGlja2VyUGFjazogb3B0aW9ucy5jdXN0b21pemVycz8uc3RpY2tlclBhY2sgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzdWJzY3JpcHRpb246IG9wdGlvbnMuY3VzdG9taXplcnM/LnN1YnNjcmlwdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHRlYW06IG9wdGlvbnMuY3VzdG9taXplcnM/LnRlYW0gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB0ZW1wbGF0ZTogb3B0aW9ucy5jdXN0b21pemVycz8udGVtcGxhdGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB0aHJlYWRNZW1iZXI6IG9wdGlvbnMuY3VzdG9taXplcnM/LnRocmVhZE1lbWJlciA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHRocmVhZE1lbWJlckd1aWxkQ3JlYXRlOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy50aHJlYWRNZW1iZXJHdWlsZENyZWF0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHVzZXI6IG9wdGlvbnMuY3VzdG9taXplcnM/LnVzZXIgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB2b2ljZVJlZ2lvbjogb3B0aW9ucy5jdXN0b21pemVycz8udm9pY2VSZWdpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB2b2ljZVN0YXRlOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy52b2ljZVN0YXRlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgd2ViaG9vazogb3B0aW9ucy5jdXN0b21pemVycz8ud2ViaG9vayA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHdlbGNvbWVTY3JlZW46IG9wdGlvbnMuY3VzdG9taXplcnM/LndlbGNvbWVTY3JlZW4gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB3aWRnZXQ6IG9wdGlvbnMuY3VzdG9taXplcnM/LndpZGdldCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHdpZGdldFNldHRpbmdzOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy53aWRnZXRTZXR0aW5ncyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICB9LFxuICAgIGRlc2lyZWRQcm9wZXJ0aWVzOiBjcmVhdGVEZXNpcmVkUHJvcGVydGllc09iamVjdChvcHRpb25zLmRlc2lyZWRQcm9wZXJ0aWVzID8/IHt9KSxcbiAgICByZXZlcnNlOiB7XG4gICAgICBhY3Rpdml0eTogb3B0aW9ucy5yZXZlcnNlPy5hY3Rpdml0eSA/PyB0cmFuc2Zvcm1BY3Rpdml0eVRvRGlzY29yZEFjdGl2aXR5LFxuICAgICAgYWxsb3dlZE1lbnRpb25zOiBvcHRpb25zLnJldmVyc2U/LmFsbG93ZWRNZW50aW9ucyA/PyB0cmFuc2Zvcm1BbGxvd2VkTWVudGlvbnNUb0Rpc2NvcmRBbGxvd2VkTWVudGlvbnMsXG4gICAgICBhcHBsaWNhdGlvbjogb3B0aW9ucy5yZXZlcnNlPy5hcHBsaWNhdGlvbiA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kOiBvcHRpb25zLnJldmVyc2U/LmFwcGxpY2F0aW9uQ29tbWFuZCA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRUb0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb246IG9wdGlvbnMucmV2ZXJzZT8uYXBwbGljYXRpb25Db21tYW5kT3B0aW9uID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbixcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTpcbiAgICAgICAgb3B0aW9ucy5yZXZlcnNlPy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UgPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLFxuICAgICAgYXR0YWNobWVudDogb3B0aW9ucy5yZXZlcnNlPy5hdHRhY2htZW50ID8/IHRyYW5zZm9ybUF0dGFjaG1lbnRUb0Rpc2NvcmRBdHRhY2htZW50LFxuICAgICAgY29tcG9uZW50OiBvcHRpb25zLnJldmVyc2U/LmNvbXBvbmVudCA/PyB0cmFuc2Zvcm1Db21wb25lbnRUb0Rpc2NvcmRDb21wb25lbnQsXG4gICAgICBjcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQ6IG9wdGlvbnMucmV2ZXJzZT8uY3JlYXRlQXBwbGljYXRpb25Db21tYW5kID8/IHRyYW5zZm9ybUNyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZFRvRGlzY29yZENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgICAgIGVtYmVkOiBvcHRpb25zLnJldmVyc2U/LmVtYmVkID8/IHRyYW5zZm9ybUVtYmVkVG9EaXNjb3JkRW1iZWQsXG4gICAgICBtZW1iZXI6IG9wdGlvbnMucmV2ZXJzZT8ubWVtYmVyID8/IHRyYW5zZm9ybU1lbWJlclRvRGlzY29yZE1lbWJlcixcbiAgICAgIHNub3dmbGFrZTogb3B0aW9ucy5yZXZlcnNlPy5zbm93Zmxha2UgPz8gYmlnaW50VG9Tbm93Zmxha2UsXG4gICAgICB0ZWFtOiBvcHRpb25zLnJldmVyc2U/LnRlYW0gPz8gdHJhbnNmb3JtVGVhbVRvRGlzY29yZFRlYW0sXG4gICAgICB1c2VyOiBvcHRpb25zLnJldmVyc2U/LnVzZXIgPz8gdHJhbnNmb3JtVXNlclRvRGlzY29yZFVzZXIsXG4gICAgfSxcbiAgICBhY3Rpdml0eTogb3B0aW9ucy5hY3Rpdml0eSA/PyB0cmFuc2Zvcm1BY3Rpdml0eSxcbiAgICBhY3Rpdml0eUluc3RhbmNlOiBvcHRpb25zLmFjdGl2aXR5SW5zdGFuY2UgPz8gdHJhbnNmb3JtQWN0aXZpdHlJbnN0YW5jZSxcbiAgICBhY3Rpdml0eUxvY2F0aW9uOiBvcHRpb25zLmFjdGl2aXR5TG9jYXRpb24gPz8gdHJhbnNmb3JtQWN0aXZpdHlMb2NhdGlvbixcbiAgICBhcHBsaWNhdGlvbjogb3B0aW9ucy5hcHBsaWNhdGlvbiA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbixcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IG9wdGlvbnMuYXBwbGljYXRpb25Db21tYW5kID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb246IG9wdGlvbnMuYXBwbGljYXRpb25Db21tYW5kT3B0aW9uID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbixcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2U6IG9wdGlvbnMuYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiBvcHRpb25zLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24gPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbixcbiAgICBhdHRhY2htZW50OiBvcHRpb25zLmF0dGFjaG1lbnQgPz8gdHJhbnNmb3JtQXR0YWNobWVudCxcbiAgICBhdWRpdExvZ0VudHJ5OiBvcHRpb25zLmF1ZGl0TG9nRW50cnkgPz8gdHJhbnNmb3JtQXVkaXRMb2dFbnRyeSxcbiAgICBhdXRvbW9kQWN0aW9uRXhlY3V0aW9uOiBvcHRpb25zLmF1dG9tb2RBY3Rpb25FeGVjdXRpb24gPz8gdHJhbnNmb3JtQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24sXG4gICAgYXV0b21vZFJ1bGU6IG9wdGlvbnMuYXV0b21vZFJ1bGUgPz8gdHJhbnNmb3JtQXV0b01vZGVyYXRpb25SdWxlLFxuICAgIGF2YXRhckRlY29yYXRpb25EYXRhOiBvcHRpb25zLmF2YXRhckRlY29yYXRpb25EYXRhID8/IHRyYW5zZm9ybUF2YXRhckRlY29yYXRpb25EYXRhLFxuICAgIGNoYW5uZWw6IG9wdGlvbnMuY2hhbm5lbCA/PyB0cmFuc2Zvcm1DaGFubmVsLFxuICAgIGNvbXBvbmVudDogb3B0aW9ucy5jb21wb25lbnQgPz8gdHJhbnNmb3JtQ29tcG9uZW50LFxuICAgIGRlZmF1bHRSZWFjdGlvbkVtb2ppOiBvcHRpb25zLmRlZmF1bHRSZWFjdGlvbkVtb2ppID8/IHRyYW5zZm9ybURlZmF1bHRSZWFjdGlvbkVtb2ppLFxuICAgIGVtYmVkOiBvcHRpb25zLmVtYmVkID8/IHRyYW5zZm9ybUVtYmVkLFxuICAgIGVtb2ppOiBvcHRpb25zLmVtb2ppID8/IHRyYW5zZm9ybUVtb2ppLFxuICAgIGVudGl0bGVtZW50OiBvcHRpb25zLmVudGl0bGVtZW50ID8/IHRyYW5zZm9ybUVudGl0bGVtZW50LFxuICAgIGZvcnVtVGFnOiBvcHRpb25zLmZvcnVtVGFnID8/IHRyYW5zZm9ybUZvcnVtVGFnLFxuICAgIGdhdGV3YXlCb3Q6IG9wdGlvbnMuZ2F0ZXdheUJvdCA/PyB0cmFuc2Zvcm1HYXRld2F5Qm90LFxuICAgIGd1aWxkOiBvcHRpb25zLmd1aWxkID8/IHRyYW5zZm9ybUd1aWxkLFxuICAgIGd1aWxkT25ib2FyZGluZzogb3B0aW9ucy5ndWlsZE9uYm9hcmRpbmcgPz8gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nLFxuICAgIGd1aWxkT25ib2FyZGluZ1Byb21wdDogb3B0aW9ucy5ndWlsZE9uYm9hcmRpbmdQcm9tcHQgPz8gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICAgIGd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbjogb3B0aW9ucy5ndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24gPz8gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLFxuICAgIGludGVncmF0aW9uOiBvcHRpb25zLmludGVncmF0aW9uID8/IHRyYW5zZm9ybUludGVncmF0aW9uLFxuICAgIGludGVyYWN0aW9uOiBvcHRpb25zLmludGVyYWN0aW9uID8/IHRyYW5zZm9ybUludGVyYWN0aW9uLFxuICAgIGludGVyYWN0aW9uQ2FsbGJhY2s6IG9wdGlvbnMuaW50ZXJhY3Rpb25DYWxsYmFjayA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrLFxuICAgIGludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTogb3B0aW9ucy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UgPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICAgIGludGVyYWN0aW9uRGF0YU9wdGlvbnM6IG9wdGlvbnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gICAgaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQ6IG9wdGlvbnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQgPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gICAgaW50ZXJhY3Rpb25SZXNvdXJjZTogb3B0aW9ucy5pbnRlcmFjdGlvblJlc291cmNlID8/IHRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UsXG4gICAgaW52aXRlOiBvcHRpb25zLmludml0ZSA/PyB0cmFuc2Zvcm1JbnZpdGUsXG4gICAgaW52aXRlU3RhZ2VJbnN0YW5jZTogb3B0aW9ucy5pbnZpdGVTdGFnZUluc3RhbmNlID8/IHRyYW5zZm9ybUludml0ZVN0YWdlSW5zdGFuY2UsXG4gICAgbWVtYmVyOiBvcHRpb25zLm1lbWJlciA/PyB0cmFuc2Zvcm1NZW1iZXIsXG4gICAgbWVzc2FnZTogb3B0aW9ucy5tZXNzYWdlID8/IHRyYW5zZm9ybU1lc3NhZ2UsXG4gICAgbWVzc2FnZUNhbGw6IG9wdGlvbnMubWVzc2FnZUNhbGwgPz8gdHJhbnNmb3JtTWVzc2FnZUNhbGwsXG4gICAgbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE6IG9wdGlvbnMubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEgPz8gdHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gICAgbWVzc2FnZVNuYXBzaG90OiBvcHRpb25zLm1lc3NhZ2VTbmFwc2hvdCA/PyB0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QsXG4gICAgcG9sbDogb3B0aW9ucy5wb2xsID8/IHRyYW5zZm9ybVBvbGwsXG4gICAgcG9sbE1lZGlhOiBvcHRpb25zLnBvbGxNZWRpYSA/PyB0cmFuc2Zvcm1Qb2xsTWVkaWEsXG4gICAgcHJlc2VuY2U6IG9wdGlvbnMucHJlc2VuY2UgPz8gdHJhbnNmb3JtUHJlc2VuY2UsXG4gICAgcm9sZTogb3B0aW9ucy5yb2xlID8/IHRyYW5zZm9ybVJvbGUsXG4gICAgc2NoZWR1bGVkRXZlbnQ6IG9wdGlvbnMuc2NoZWR1bGVkRXZlbnQgPz8gdHJhbnNmb3JtU2NoZWR1bGVkRXZlbnQsXG4gICAgc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZTogb3B0aW9ucy5zY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlID8/IHRyYW5zZm9ybVNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsXG4gICAgc2t1OiBvcHRpb25zLnNrdSA/PyB0cmFuc2Zvcm1Ta3UsXG4gICAgc291bmRib2FyZFNvdW5kOiBvcHRpb25zLnNvdW5kYm9hcmRTb3VuZCA/PyB0cmFuc2Zvcm1Tb3VuZGJvYXJkU291bmQsXG4gICAgc25vd2ZsYWtlOiBvcHRpb25zLnNub3dmbGFrZSA/PyBzbm93Zmxha2VUb0JpZ2ludCxcbiAgICBzdGFnZUluc3RhbmNlOiBvcHRpb25zLnN0YWdlSW5zdGFuY2UgPz8gdHJhbnNmb3JtU3RhZ2VJbnN0YW5jZSxcbiAgICBzdGlja2VyOiBvcHRpb25zLnN0aWNrZXIgPz8gdHJhbnNmb3JtU3RpY2tlcixcbiAgICBzdGlja2VyUGFjazogb3B0aW9ucy5zdGlja2VyUGFjayA/PyB0cmFuc2Zvcm1TdGlja2VyUGFjayxcbiAgICBzdWJzY3JpcHRpb246IG9wdGlvbnMuc3Vic2NyaXB0aW9uID8/IHRyYW5zZm9ybVN1YnNjcmlwdGlvbixcbiAgICB0ZWFtOiBvcHRpb25zLnRlYW0gPz8gdHJhbnNmb3JtVGVhbSxcbiAgICB0ZW1wbGF0ZTogb3B0aW9ucy50ZW1wbGF0ZSA/PyB0cmFuc2Zvcm1UZW1wbGF0ZSxcbiAgICB0aHJlYWRNZW1iZXI6IG9wdGlvbnMudGhyZWFkTWVtYmVyID8/IHRyYW5zZm9ybVRocmVhZE1lbWJlcixcbiAgICB0aHJlYWRNZW1iZXJHdWlsZENyZWF0ZTogb3B0aW9ucy50aHJlYWRNZW1iZXJHdWlsZENyZWF0ZSA/PyB0cmFuc2Zvcm1UaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgICB1c2VyOiBvcHRpb25zLnVzZXIgPz8gdHJhbnNmb3JtVXNlcixcbiAgICB2b2ljZVJlZ2lvbjogb3B0aW9ucy52b2ljZVJlZ2lvbiA/PyB0cmFuc2Zvcm1Wb2ljZVJlZ2lvbixcbiAgICB2b2ljZVN0YXRlOiBvcHRpb25zLnZvaWNlU3RhdGUgPz8gdHJhbnNmb3JtVm9pY2VTdGF0ZSxcbiAgICB3ZWJob29rOiBvcHRpb25zLndlYmhvb2sgPz8gdHJhbnNmb3JtV2ViaG9vayxcbiAgICB3ZWxjb21lU2NyZWVuOiBvcHRpb25zLndlbGNvbWVTY3JlZW4gPz8gdHJhbnNmb3JtV2VsY29tZVNjcmVlbixcbiAgICB3aWRnZXQ6IG9wdGlvbnMud2lkZ2V0ID8/IHRyYW5zZm9ybVdpZGdldCxcbiAgICB3aWRnZXRTZXR0aW5nczogb3B0aW9ucy53aWRnZXRTZXR0aW5ncyA/PyB0cmFuc2Zvcm1XaWRnZXRTZXR0aW5ncyxcbiAgfSBhcyBUcmFuc2Zvcm1lcnM8VFByb3BzLCBUQmVoYXZpb3I+XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlVHJhbnNmb3JtZXJzIiwiZGVmYXVsdEN1c3RvbWl6ZXIiLCJfYm90IiwiX3BheWxvYWQiLCJzdHJ1Y3R1cmUiLCJvcHRpb25zIiwiY3VzdG9taXplcnMiLCJhY3Rpdml0eSIsImFjdGl2aXR5SW5zdGFuY2UiLCJhY3Rpdml0eUxvY2F0aW9uIiwiYXBwbGljYXRpb24iLCJhcHBsaWNhdGlvbkNvbW1hbmQiLCJhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24iLCJhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UiLCJhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uIiwiYXR0YWNobWVudCIsImF1ZGl0TG9nRW50cnkiLCJhdXRvbW9kQWN0aW9uRXhlY3V0aW9uIiwiYXV0b21vZFJ1bGUiLCJhdmF0YXJEZWNvcmF0aW9uRGF0YSIsImNoYW5uZWwiLCJjb21wb25lbnQiLCJkZWZhdWx0UmVhY3Rpb25FbW9qaSIsImVtYmVkIiwiZW1vamkiLCJlbnRpdGxlbWVudCIsImZvcnVtVGFnIiwiZ2F0ZXdheUJvdCIsImd1aWxkIiwiZ3VpbGRPbmJvYXJkaW5nIiwiZ3VpbGRPbmJvYXJkaW5nUHJvbXB0IiwiZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uIiwiaW50ZWdyYXRpb24iLCJpbnRlcmFjdGlvbiIsImludGVyYWN0aW9uQ2FsbGJhY2siLCJpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkRhdGFPcHRpb25zIiwiaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJpbnRlcmFjdGlvblJlc291cmNlIiwiaW52aXRlIiwiaW52aXRlU3RhZ2VJbnN0YW5jZSIsIm1lbWJlciIsIm1lc3NhZ2UiLCJtZXNzYWdlQ2FsbCIsIm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhIiwibWVzc2FnZVNuYXBzaG90IiwicG9sbCIsInBvbGxNZWRpYSIsInByZXNlbmNlIiwicm9sZSIsInNjaGVkdWxlZEV2ZW50Iiwic2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSIsInNrdSIsInNvdW5kYm9hcmRTb3VuZCIsInN0YWdlSW5zdGFuY2UiLCJzdGlja2VyIiwic3RpY2tlclBhY2siLCJzdWJzY3JpcHRpb24iLCJ0ZWFtIiwidGVtcGxhdGUiLCJ0aHJlYWRNZW1iZXIiLCJ0aHJlYWRNZW1iZXJHdWlsZENyZWF0ZSIsInVzZXIiLCJ2b2ljZVJlZ2lvbiIsInZvaWNlU3RhdGUiLCJ3ZWJob29rIiwid2VsY29tZVNjcmVlbiIsIndpZGdldCIsIndpZGdldFNldHRpbmdzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJjcmVhdGVEZXNpcmVkUHJvcGVydGllc09iamVjdCIsInJldmVyc2UiLCJ0cmFuc2Zvcm1BY3Rpdml0eVRvRGlzY29yZEFjdGl2aXR5IiwiYWxsb3dlZE1lbnRpb25zIiwidHJhbnNmb3JtQWxsb3dlZE1lbnRpb25zVG9EaXNjb3JkQWxsb3dlZE1lbnRpb25zIiwidHJhbnNmb3JtQXBwbGljYXRpb25Ub0Rpc2NvcmRBcHBsaWNhdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSIsInRyYW5zZm9ybUF0dGFjaG1lbnRUb0Rpc2NvcmRBdHRhY2htZW50IiwidHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50IiwiY3JlYXRlQXBwbGljYXRpb25Db21tYW5kIiwidHJhbnNmb3JtQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kVG9EaXNjb3JkQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kIiwidHJhbnNmb3JtRW1iZWRUb0Rpc2NvcmRFbWJlZCIsInRyYW5zZm9ybU1lbWJlclRvRGlzY29yZE1lbWJlciIsInNub3dmbGFrZSIsImJpZ2ludFRvU25vd2ZsYWtlIiwidHJhbnNmb3JtVGVhbVRvRGlzY29yZFRlYW0iLCJ0cmFuc2Zvcm1Vc2VyVG9EaXNjb3JkVXNlciIsInRyYW5zZm9ybUFjdGl2aXR5IiwidHJhbnNmb3JtQWN0aXZpdHlJbnN0YW5jZSIsInRyYW5zZm9ybUFjdGl2aXR5TG9jYXRpb24iLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZCIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24iLCJ0cmFuc2Zvcm1BdHRhY2htZW50IiwidHJhbnNmb3JtQXVkaXRMb2dFbnRyeSIsInRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uIiwidHJhbnNmb3JtQXV0b01vZGVyYXRpb25SdWxlIiwidHJhbnNmb3JtQXZhdGFyRGVjb3JhdGlvbkRhdGEiLCJ0cmFuc2Zvcm1DaGFubmVsIiwidHJhbnNmb3JtQ29tcG9uZW50IiwidHJhbnNmb3JtRGVmYXVsdFJlYWN0aW9uRW1vamkiLCJ0cmFuc2Zvcm1FbWJlZCIsInRyYW5zZm9ybUVtb2ppIiwidHJhbnNmb3JtRW50aXRsZW1lbnQiLCJ0cmFuc2Zvcm1Gb3J1bVRhZyIsInRyYW5zZm9ybUdhdGV3YXlCb3QiLCJ0cmFuc2Zvcm1HdWlsZCIsInRyYW5zZm9ybUd1aWxkT25ib2FyZGluZyIsInRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdCIsInRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiIsInRyYW5zZm9ybUludGVncmF0aW9uIiwidHJhbnNmb3JtSW50ZXJhY3Rpb24iLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlIiwidHJhbnNmb3JtSW52aXRlIiwidHJhbnNmb3JtSW52aXRlU3RhZ2VJbnN0YW5jZSIsInRyYW5zZm9ybU1lbWJlciIsInRyYW5zZm9ybU1lc3NhZ2UiLCJ0cmFuc2Zvcm1NZXNzYWdlQ2FsbCIsInRyYW5zZm9ybU1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhIiwidHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90IiwidHJhbnNmb3JtUG9sbCIsInRyYW5zZm9ybVBvbGxNZWRpYSIsInRyYW5zZm9ybVByZXNlbmNlIiwidHJhbnNmb3JtUm9sZSIsInRyYW5zZm9ybVNjaGVkdWxlZEV2ZW50IiwidHJhbnNmb3JtU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSIsInRyYW5zZm9ybVNrdSIsInRyYW5zZm9ybVNvdW5kYm9hcmRTb3VuZCIsInNub3dmbGFrZVRvQmlnaW50IiwidHJhbnNmb3JtU3RhZ2VJbnN0YW5jZSIsInRyYW5zZm9ybVN0aWNrZXIiLCJ0cmFuc2Zvcm1TdGlja2VyUGFjayIsInRyYW5zZm9ybVN1YnNjcmlwdGlvbiIsInRyYW5zZm9ybVRlYW0iLCJ0cmFuc2Zvcm1UZW1wbGF0ZSIsInRyYW5zZm9ybVRocmVhZE1lbWJlciIsInRyYW5zZm9ybVRocmVhZE1lbWJlckd1aWxkQ3JlYXRlIiwidHJhbnNmb3JtVXNlciIsInRyYW5zZm9ybVZvaWNlUmVnaW9uIiwidHJhbnNmb3JtVm9pY2VTdGF0ZSIsInRyYW5zZm9ybVdlYmhvb2siLCJ0cmFuc2Zvcm1XZWxjb21lU2NyZWVuIiwidHJhbnNmb3JtV2lkZ2V0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
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ bigintToSnowflake: function() {
13
+ return bigintToSnowflake;
14
+ },
15
+ snowflakeToBigint: function() {
16
+ return snowflakeToBigint;
17
+ },
18
+ snowflakeToTimestamp: function() {
19
+ return snowflakeToTimestamp;
20
+ }
21
+ });
22
+ function snowflakeToBigint(snowflake) {
23
+ return BigInt(snowflake) | 0n;
24
+ }
25
+ function bigintToSnowflake(snowflake) {
26
+ return snowflake === 0n ? '' : snowflake.toString();
27
+ }
28
+ function snowflakeToTimestamp(id) {
29
+ return Number(id / 4194304n + 1420070400000n);
30
+ }
31
+
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJpZ1N0cmluZyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuXG5leHBvcnQgZnVuY3Rpb24gc25vd2ZsYWtlVG9CaWdpbnQoc25vd2ZsYWtlOiBCaWdTdHJpbmcpOiBiaWdpbnQge1xuICByZXR1cm4gQmlnSW50KHNub3dmbGFrZSkgfCAwblxufVxuXG5leHBvcnQgZnVuY3Rpb24gYmlnaW50VG9Tbm93Zmxha2Uoc25vd2ZsYWtlOiBCaWdTdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc25vd2ZsYWtlID09PSAwbiA/ICcnIDogc25vd2ZsYWtlLnRvU3RyaW5nKClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNub3dmbGFrZVRvVGltZXN0YW1wKGlkOiBiaWdpbnQpOiBudW1iZXIge1xuICByZXR1cm4gTnVtYmVyKGlkIC8gNDE5NDMwNG4gKyAxNDIwMDcwNDAwMDAwbilcbn1cbiJdLCJuYW1lcyI6WyJiaWdpbnRUb1Nub3dmbGFrZSIsInNub3dmbGFrZVRvQmlnaW50Iiwic25vd2ZsYWtlVG9UaW1lc3RhbXAiLCJzbm93Zmxha2UiLCJCaWdJbnQiLCJ0b1N0cmluZyIsImlkIiwiTnVtYmVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQU1nQkEsaUJBQWlCO2VBQWpCQTs7SUFKQUMsaUJBQWlCO2VBQWpCQTs7SUFRQUMsb0JBQW9CO2VBQXBCQTs7O0FBUlQsU0FBU0Qsa0JBQWtCRSxTQUFvQjtJQUNwRCxPQUFPQyxPQUFPRCxhQUFhLEVBQUU7QUFDL0I7QUFFTyxTQUFTSCxrQkFBa0JHLFNBQW9CO0lBQ3BELE9BQU9BLGNBQWMsRUFBRSxHQUFHLEtBQUtBLFVBQVVFLFFBQVE7QUFDbkQ7QUFFTyxTQUFTSCxxQkFBcUJJLEVBQVU7SUFDN0MsT0FBT0MsT0FBT0QsS0FBSyxRQUFRLEdBQUcsY0FBYztBQUM5QyJ9
package/dist/esm/bot.js CHANGED
@@ -4,12 +4,7 @@ import { createLogger, getBotIdFromToken } from '@discordeno/utils';
4
4
  import { createBotGatewayHandlers } from './handlers.js';
5
5
  import { createBotHelpers } from './helpers.js';
6
6
  import { createTransformers } from './transformers.js';
7
- /**
8
- * Create a bot object that will maintain the rest and gateway connection.
9
- *
10
- * @param options Configurations options used to manage this bot.
11
- * @returns Bot
12
- */ export function createBot(options) {
7
+ export function createBot(options) {
13
8
  if (!options.transformers) options.transformers = {};
14
9
  if (!options.transformers.desiredProperties) options.transformers.desiredProperties = options.desiredProperties;
15
10
  if (!options.rest) options.rest = {
@@ -74,4 +69,4 @@ import { createTransformers } from './transformers.js';
74
69
  return bot;
75
70
  }
76
71
 
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMsIEdhdGV3YXlNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vZ2F0ZXdheSdcbmltcG9ydCB7IFNoYXJkU29ja2V0Q2xvc2VDb2RlcywgY3JlYXRlR2F0ZXdheU1hbmFnZXIgfSBmcm9tICdAZGlzY29yZGVuby9nYXRld2F5J1xuaW1wb3J0IHR5cGUgeyBDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMsIFJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB7IGNyZWF0ZVJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBHYXRld2F5RGlzcGF0Y2hFdmVudE5hbWVzLCBHYXRld2F5SW50ZW50cywgUmVjdXJzaXZlUGFydGlhbCB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgY3JlYXRlTG9nZ2VyLCBnZXRCb3RJZEZyb21Ub2tlbiwgdHlwZSBsb2dnZXIgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHtcbiAgQ29tcGxldGVEZXNpcmVkUHJvcGVydGllcyxcbiAgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcixcbiAgU2V0dXBEZXNpcmVkUHJvcHMsXG4gIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxuICBUcmFuc2Zvcm1lcnNPYmplY3RzLFxufSBmcm9tICcuL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBFdmVudEhhbmRsZXJzIH0gZnJvbSAnLi9ldmVudHMuanMnXG5pbXBvcnQgeyB0eXBlIEJvdEdhdGV3YXlIYW5kbGVyLCB0eXBlIEdhdGV3YXlIYW5kbGVycywgY3JlYXRlQm90R2F0ZXdheUhhbmRsZXJzIH0gZnJvbSAnLi9oYW5kbGVycy5qcydcbmltcG9ydCB7IHR5cGUgQm90SGVscGVycywgY3JlYXRlQm90SGVscGVycyB9IGZyb20gJy4vaGVscGVycy5qcydcbmltcG9ydCB7IHR5cGUgVHJhbnNmb3JtZXJzLCBjcmVhdGVUcmFuc2Zvcm1lcnMgfSBmcm9tICcuL3RyYW5zZm9ybWVycy5qcydcblxuLyoqXG4gKiBDcmVhdGUgYSBib3Qgb2JqZWN0IHRoYXQgd2lsbCBtYWludGFpbiB0aGUgcmVzdCBhbmQgZ2F0ZXdheSBjb25uZWN0aW9uLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIENvbmZpZ3VyYXRpb25zIG9wdGlvbnMgdXNlZCB0byBtYW5hZ2UgdGhpcyBib3QuXG4gKiBAcmV0dXJucyBCb3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJvdDxcbiAgVFByb3BzIGV4dGVuZHMgUmVjdXJzaXZlUGFydGlhbDxUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcz4sXG4gIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IgPSBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleSxcbj4ob3B0aW9uczogQ3JlYXRlQm90T3B0aW9uczxUUHJvcHMsIFRCZWhhdmlvcj4pOiBCb3Q8Q29tcGxldGVEZXNpcmVkUHJvcGVydGllczxUUHJvcHM+LCBUQmVoYXZpb3I+IHtcbiAgdHlwZSBDb21wbGV0ZVByb3BzID0gQ29tcGxldGVEZXNpcmVkUHJvcGVydGllczxUUHJvcHM+XG4gIHR5cGUgVHlwZWRCb3QgPSBCb3Q8Q29tcGxldGVQcm9wcywgVEJlaGF2aW9yPlxuXG4gIGlmICghb3B0aW9ucy50cmFuc2Zvcm1lcnMpIG9wdGlvbnMudHJhbnNmb3JtZXJzID0ge31cbiAgaWYgKCFvcHRpb25zLnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcykgb3B0aW9ucy50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMgPSBvcHRpb25zLmRlc2lyZWRQcm9wZXJ0aWVzXG4gIGlmICghb3B0aW9ucy5yZXN0KSBvcHRpb25zLnJlc3QgPSB7IHRva2VuOiBvcHRpb25zLnRva2VuLCBhcHBsaWNhdGlvbklkOiBvcHRpb25zLmFwcGxpY2F0aW9uSWQgfVxuICBpZiAoIW9wdGlvbnMucmVzdC50b2tlbikgb3B0aW9ucy5yZXN0LnRva2VuID0gb3B0aW9ucy50b2tlblxuICBpZiAoIW9wdGlvbnMucmVzdC5sb2dnZXIgJiYgb3B0aW9ucy5sb2dnZXJGYWN0b3J5KSBvcHRpb25zLnJlc3QubG9nZ2VyID0gb3B0aW9ucy5sb2dnZXJGYWN0b3J5KCdSRVNUJylcbiAgaWYgKCFvcHRpb25zLmdhdGV3YXkpIG9wdGlvbnMuZ2F0ZXdheSA9IHsgdG9rZW46IG9wdGlvbnMudG9rZW4gfVxuICBpZiAoIW9wdGlvbnMuZ2F0ZXdheS50b2tlbikgb3B0aW9ucy5nYXRld2F5LnRva2VuID0gb3B0aW9ucy50b2tlblxuICBpZiAoIW9wdGlvbnMuZ2F0ZXdheS5ldmVudHMpIG9wdGlvbnMuZ2F0ZXdheS5ldmVudHMgPSB7fVxuICBpZiAoIW9wdGlvbnMuZ2F0ZXdheS5sb2dnZXIgJiYgb3B0aW9ucy5sb2dnZXJGYWN0b3J5KSBvcHRpb25zLmdhdGV3YXkubG9nZ2VyID0gb3B0aW9ucy5sb2dnZXJGYWN0b3J5KCdHQVRFV0FZJylcbiAgaWYgKCFvcHRpb25zLmdhdGV3YXkuZXZlbnRzLm1lc3NhZ2UpIHtcbiAgICBvcHRpb25zLmdhdGV3YXkuZXZlbnRzLm1lc3NhZ2UgPSBhc3luYyAoc2hhcmQsIGRhdGEpID0+IHtcbiAgICAgIC8vIFRSSUdHRVIgUkFXIEVWRU5UXG4gICAgICBib3QuZXZlbnRzLnJhdz8uKGRhdGEsIHNoYXJkLmlkKVxuXG4gICAgICBpZiAoIWRhdGEudCkgcmV0dXJuXG5cbiAgICAgIC8vIFJVTiBESVNQQVRDSCBDSEVDS1xuICAgICAgYXdhaXQgYm90LmV2ZW50cy5kaXNwYXRjaFJlcXVpcmVtZW50cz8uKGRhdGEsIHNoYXJkLmlkKVxuICAgICAgYm90LmhhbmRsZXJzW2RhdGEudCBhcyBHYXRld2F5RGlzcGF0Y2hFdmVudE5hbWVzXT8uKGJvdCwgZGF0YSwgc2hhcmQuaWQpXG4gICAgfVxuICB9XG5cbiAgb3B0aW9ucy5nYXRld2F5LmludGVudHMgPSBvcHRpb25zLmludGVudHNcbiAgb3B0aW9ucy5nYXRld2F5LnByZWZlclNuYWtlQ2FzZSA9IHRydWVcblxuICBjb25zdCBpZCA9IGdldEJvdElkRnJvbVRva2VuKG9wdGlvbnMudG9rZW4pXG5cbiAgY29uc3QgYm90OiBUeXBlZEJvdCA9IHtcbiAgICBpZCxcbiAgICBhcHBsaWNhdGlvbklkOiBpZCxcbiAgICB0cmFuc2Zvcm1lcnM6IGNyZWF0ZVRyYW5zZm9ybWVycyhvcHRpb25zLnRyYW5zZm9ybWVycykgYXMgVHlwZWRCb3RbJ3RyYW5zZm9ybWVycyddLFxuICAgIGhhbmRsZXJzOiBjcmVhdGVCb3RHYXRld2F5SGFuZGxlcnM8Q29tcGxldGVQcm9wcywgVEJlaGF2aW9yPihvcHRpb25zLmhhbmRsZXJzID8/IHt9KSxcbiAgICByZXN0OiBjcmVhdGVSZXN0TWFuYWdlcihvcHRpb25zLnJlc3QgYXMgQ3JlYXRlUmVzdE1hbmFnZXJPcHRpb25zKSxcbiAgICBnYXRld2F5OiBjcmVhdGVHYXRld2F5TWFuYWdlcihvcHRpb25zLmdhdGV3YXkgYXMgQ3JlYXRlR2F0ZXdheU1hbmFnZXJPcHRpb25zKSxcbiAgICBldmVudHM6IG9wdGlvbnMuZXZlbnRzID8/IHt9LFxuICAgIGxvZ2dlcjogb3B0aW9ucy5sb2dnZXJGYWN0b3J5ID8gb3B0aW9ucy5sb2dnZXJGYWN0b3J5KCdCT1QnKSA6IGNyZWF0ZUxvZ2dlcih7IG5hbWU6ICdCT1QnIH0pLFxuICAgIC8vIFNldCB1cCBoZWxwZXJzIGJlbG93LlxuICAgIGhlbHBlcnM6IHt9IGFzIEJvdEhlbHBlcnM8Q29tcGxldGVQcm9wcywgVEJlaGF2aW9yPixcbiAgICBhc3luYyBzdGFydCgpIHtcbiAgICAgIGlmICghb3B0aW9ucy5nYXRld2F5Py5jb25uZWN0aW9uKSB7XG4gICAgICAgIGJvdC5nYXRld2F5LmNvbm5lY3Rpb24gPSBhd2FpdCBib3QucmVzdC5nZXRTZXNzaW9uSW5mbygpXG5cbiAgICAgICAgLy8gQ2hlY2sgZm9yIG92ZXJyaWRlcyBpbiB0aGUgY29uZmlndXJhdGlvblxuICAgICAgICBpZiAoIW9wdGlvbnMuZ2F0ZXdheT8udXJsKSBib3QuZ2F0ZXdheS51cmwgPSBib3QuZ2F0ZXdheS5jb25uZWN0aW9uLnVybFxuXG4gICAgICAgIGlmICghb3B0aW9ucy5nYXRld2F5Py50b3RhbFNoYXJkcykgYm90LmdhdGV3YXkudG90YWxTaGFyZHMgPSBib3QuZ2F0ZXdheS5jb25uZWN0aW9uLnNoYXJkc1xuXG4gICAgICAgIGlmICghb3B0aW9ucy5nYXRld2F5Py5sYXN0U2hhcmRJZCAmJiAhb3B0aW9ucy5nYXRld2F5Py50b3RhbFNoYXJkcykgYm90LmdhdGV3YXkubGFzdFNoYXJkSWQgPSBib3QuZ2F0ZXdheS5jb25uZWN0aW9uLnNoYXJkcyAtIDFcbiAgICAgIH1cblxuICAgICAgaWYgKCFib3QuZ2F0ZXdheS5yZXNoYXJkaW5nLmdldFNlc3Npb25JbmZvKSB7XG4gICAgICAgIGJvdC5nYXRld2F5LnJlc2hhcmRpbmcuZ2V0U2Vzc2lvbkluZm8gPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldEdhdGV3YXlCb3QoKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGJvdC5nYXRld2F5LnNwYXduU2hhcmRzKClcbiAgICB9LFxuXG4gICAgYXN5bmMgc2h1dGRvd24oKSB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LmdhdGV3YXkuc2h1dGRvd24oU2hhcmRTb2NrZXRDbG9zZUNvZGVzLlNodXRkb3duLCAnVXNlciByZXF1ZXN0ZWQgYm90IHN0b3AnKVxuICAgIH0sXG4gIH1cblxuICBib3QuaGVscGVycyA9IGNyZWF0ZUJvdEhlbHBlcnMoYm90KVxuICBpZiAob3B0aW9ucy5hcHBsaWNhdGlvbklkKSBib3QuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG9wdGlvbnMuYXBwbGljYXRpb25JZClcblxuICByZXR1cm4gYm90XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQm90T3B0aW9uczxUUHJvcHMgZXh0ZW5kcyBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzPiwgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4ge1xuICAvKiogVGhlIGJvdCdzIHRva2VuLiAqL1xuICB0b2tlbjogc3RyaW5nXG4gIC8qKiBBcHBsaWNhdGlvbiBJZCBvZiB0aGUgYm90IGluY2FzZSBpdCBpcyBhbiBvbGQgYm90IHRva2VuLiAqL1xuICBhcHBsaWNhdGlvbklkPzogQmlnU3RyaW5nXG4gIC8qKiBUaGUgYm90J3MgaW50ZW50cyB0aGF0IHdpbGwgYmUgdXNlZCB0byBtYWtlIGEgY29ubmVjdGlvbiB3aXRoIGRpc2NvcmRzIGdhdGV3YXkuICovXG4gIGludGVudHM/OiBHYXRld2F5SW50ZW50c1xuICAvKiogQW55IG9wdGlvbnMgeW91IHdpc2ggdG8gcHJvdmlkZSB0byB0aGUgcmVzdCBtYW5hZ2VyLiAqL1xuICByZXN0PzogT21pdDxDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMsICd0b2tlbic+ICYgUGFydGlhbDxQaWNrPENyZWF0ZVJlc3RNYW5hZ2VyT3B0aW9ucywgJ3Rva2VuJz4+XG4gIC8qKiBBbnkgb3B0aW9ucyB5b3Ugd2lzaCB0byBwcm92aWRlIHRvIHRoZSBnYXRld2F5IG1hbmFnZXIuICovXG4gIGdhdGV3YXk/OiBPbWl0PENyZWF0ZUdhdGV3YXlNYW5hZ2VyT3B0aW9ucywgJ3Rva2VuJz4gJiBQYXJ0aWFsPFBpY2s8Q3JlYXRlR2F0ZXdheU1hbmFnZXJPcHRpb25zLCAndG9rZW4nPj5cbiAgLyoqIFRoZSBldmVudCBoYW5kbGVycy4gKi9cbiAgZXZlbnRzPzogUGFydGlhbDxFdmVudEhhbmRsZXJzPENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8Tm9JbmZlcjxUUHJvcHM+PiwgVEJlaGF2aW9yPj5cbiAgLyoqIFRoZSBmdW5jdGlvbnMgdGhhdCBzaG91bGQgdHJhbnNmb3JtIGRpc2NvcmQgb2JqZWN0cyB0byBkaXNjb3JkZW5vIHNoYXBlZCBvYmplY3RzLiAqL1xuICB0cmFuc2Zvcm1lcnM/OiBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyczxDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPE5vSW5mZXI8VFByb3BzPj4sIFRCZWhhdmlvcj4+XG4gIC8qKiBUaGUgaGFuZGxlciBmdW5jdGlvbnMgdGhhdCBzaG91bGQgaGFuZGxlIGluY29taW5nIGRpc2NvcmQgcGF5bG9hZHMgZnJvbSBnYXRld2F5IGFuZCBjYWxsIGFuIGV2ZW50LiAqL1xuICBoYW5kbGVycz86IFBhcnRpYWw8UmVjb3JkPEdhdGV3YXlEaXNwYXRjaEV2ZW50TmFtZXMsIEJvdEdhdGV3YXlIYW5kbGVyPENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8Tm9JbmZlcjxUUHJvcHM+PiwgVEJlaGF2aW9yPj4+XG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlc2lyZWQgcHJvcGVydGllcyBmb3IgdGhlIGJvdFxuICAgKlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgZGVzaXJlZFByb3BlcnRpZXM/OiBUUHJvcHNcbiAgLyoqXG4gICAqIFNldCB0aGUgZGVzaXJlZCBwcm9wZXJ0aWVzIGJlaGF2aW9yIGZvciB1bmRlc2lyZWQgcHJvcGVydGllc1xuICAgKlxuICAgKiBAZGVmYXVsdCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLkNoYW5nZUtleVxuICAgKi9cbiAgZGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj86IFRCZWhhdmlvclxuICAvKipcbiAgICogVGhpcyBmYWN0b3J5IHdpbGwgYmUgaW52b2tlZCB0byBjcmVhdGUgdGhlIGxvZ2dlciBmb3IgZ2F0ZXdheSwgcmVzdCBhbmQgYm90XG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIElmIG5vdCBwcm92aWRlZCB0aGUgZGVmYXVsdCBsb2dnZXIgd2lsbCBiZSB1c2VkIHdpdGggcmVzdCBhbmQgZ2F0ZXdheSBzaGFyaW5nIHRoZSBzYW1lIGxvZ2dlclxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgaW52b2tlZCAzIHRpbWVzLCBvbmUgd2l0aCB0aGUgbmFtZSBvZiBgUkVTVGAsIG9uZSB3aXRoIGBHQVRFV0FZYCBhbmQgdGhlIHRoaXJkIG9uZSB3aXRoIG5hbWUgYEJPVGBcbiAgICovXG4gIGxvZ2dlckZhY3Rvcnk/OiAobmFtZTogJ1JFU1QnIHwgJ0dBVEVXQVknIHwgJ0JPVCcpID0+IFBpY2s8dHlwZW9mIGxvZ2dlciwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuJyB8ICdlcnJvcicgfCAnZmF0YWwnPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvdDxcbiAgVFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgPSBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciA9IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5LFxuPiB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGJvdC4gKi9cbiAgaWQ6IGJpZ2ludFxuICAvKiogVGhlIGFwcGxpY2F0aW9uIGlkIG9mIHRoZSBib3QuIFRoaXMgaXMgdXN1YWxseSB0aGUgc2FtZSBhcyBpZCBidXQgaW4gdGhlIGNhc2Ugb2Ygb2xkIGJvdHMgY2FuIGJlIGRpZmZlcmVudC4gKi9cbiAgYXBwbGljYXRpb25JZDogYmlnaW50XG4gIC8qKiBUaGUgcmVzdCBtYW5hZ2VyLiAqL1xuICByZXN0OiBSZXN0TWFuYWdlclxuICAvKiogVGhlIGdhdGV3YXkgbWFuYWdlci4gKi9cbiAgZ2F0ZXdheTogR2F0ZXdheU1hbmFnZXJcbiAgLyoqIFRoZSBldmVudCBoYW5kbGVycy4gKi9cbiAgZXZlbnRzOiBQYXJ0aWFsPEV2ZW50SGFuZGxlcnM8VFByb3BzLCBUQmVoYXZpb3I+PlxuICAvKiogQSBsb2dnZXIgdXRpbGl0eSB0byBtYWtlIGl0IGVhc3kgdG8gbG9nIG5pY2UgYW5kIHVzZWZ1bCB0aGluZ3MgaW4gdGhlIGJvdCBjb2RlLiAqL1xuICBsb2dnZXI6IFBpY2s8dHlwZW9mIGxvZ2dlciwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuJyB8ICdlcnJvcicgfCAnZmF0YWwnPlxuICAvKiogVGhlIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCB0cmFuc2Zvcm0gZGlzY29yZCBvYmplY3RzIHRvIGRpc2NvcmRlbm8gc2hhcGVkIG9iamVjdHMuICovXG4gIHRyYW5zZm9ybWVyczogVHJhbnNmb3JtZXJzPFRQcm9wcywgVEJlaGF2aW9yPiAmIHtcbiAgICAkaW5mZXJyZWRUeXBlczoge1xuICAgICAgW0sgaW4ga2V5b2YgVHJhbnNmb3JtZXJzT2JqZWN0c106IFNldHVwRGVzaXJlZFByb3BzPFRyYW5zZm9ybWVyc09iamVjdHNbS10sIFRQcm9wcywgVEJlaGF2aW9yPlxuICAgIH1cbiAgfVxuICAvKiogVGhlIGhhbmRsZXIgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGhhbmRsZSBpbmNvbWluZyBkaXNjb3JkIHBheWxvYWRzIGZyb20gZ2F0ZXdheSBhbmQgY2FsbCBhbiBldmVudC4gKi9cbiAgaGFuZGxlcnM6IEdhdGV3YXlIYW5kbGVyczxUUHJvcHMsIFRCZWhhdmlvcj5cbiAgaGVscGVyczogQm90SGVscGVyczxUUHJvcHMsIFRCZWhhdmlvcj5cbiAgLyoqIFN0YXJ0IHRoZSBib3QgY29ubmVjdGlvbiB0byB0aGUgZ2F0ZXdheS4gKi9cbiAgc3RhcnQ6ICgpID0+IFByb21pc2U8dm9pZD5cbiAgLyoqIFNodXRzIGRvd24gYWxsIHRoZSBib3QgY29ubmVjdGlvbnMgdG8gdGhlIGdhdGV3YXkuICovXG4gIHNodXRkb3duOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG59XG5cbi8qKiBAaW50ZXJuYWwgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2UgKi9cbmV4cG9ydCB0eXBlIEludGVybmFsQm90ID0gQm90PENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8e30sIHRydWU+LCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleT5cbiJdLCJuYW1lcyI6WyJTaGFyZFNvY2tldENsb3NlQ29kZXMiLCJjcmVhdGVHYXRld2F5TWFuYWdlciIsImNyZWF0ZVJlc3RNYW5hZ2VyIiwiY3JlYXRlTG9nZ2VyIiwiZ2V0Qm90SWRGcm9tVG9rZW4iLCJjcmVhdGVCb3RHYXRld2F5SGFuZGxlcnMiLCJjcmVhdGVCb3RIZWxwZXJzIiwiY3JlYXRlVHJhbnNmb3JtZXJzIiwiY3JlYXRlQm90Iiwib3B0aW9ucyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwicmVzdCIsInRva2VuIiwiYXBwbGljYXRpb25JZCIsImxvZ2dlciIsImxvZ2dlckZhY3RvcnkiLCJnYXRld2F5IiwiZXZlbnRzIiwibWVzc2FnZSIsInNoYXJkIiwiZGF0YSIsImJvdCIsInJhdyIsImlkIiwidCIsImRpc3BhdGNoUmVxdWlyZW1lbnRzIiwiaGFuZGxlcnMiLCJpbnRlbnRzIiwicHJlZmVyU25ha2VDYXNlIiwibmFtZSIsImhlbHBlcnMiLCJzdGFydCIsImNvbm5lY3Rpb24iLCJnZXRTZXNzaW9uSW5mbyIsInVybCIsInRvdGFsU2hhcmRzIiwic2hhcmRzIiwibGFzdFNoYXJkSWQiLCJyZXNoYXJkaW5nIiwiZ2V0R2F0ZXdheUJvdCIsInNwYXduU2hhcmRzIiwic2h1dGRvd24iLCJTaHV0ZG93biIsInNub3dmbGFrZSJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EscUJBQXFCLEVBQUVDLG9CQUFvQixRQUFRLHNCQUFxQjtBQUVqRixTQUFTQyxpQkFBaUIsUUFBUSxtQkFBa0I7QUFFcEQsU0FBU0MsWUFBWSxFQUFFQyxpQkFBaUIsUUFBcUIsb0JBQW1CO0FBU2hGLFNBQXVEQyx3QkFBd0IsUUFBUSxnQkFBZTtBQUN0RyxTQUEwQkMsZ0JBQWdCLFFBQVEsZUFBYztBQUNo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
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMsIEdhdGV3YXlNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vZ2F0ZXdheSdcbmltcG9ydCB7IFNoYXJkU29ja2V0Q2xvc2VDb2RlcywgY3JlYXRlR2F0ZXdheU1hbmFnZXIgfSBmcm9tICdAZGlzY29yZGVuby9nYXRld2F5J1xuaW1wb3J0IHR5cGUgeyBDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMsIFJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB7IGNyZWF0ZVJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBHYXRld2F5RGlzcGF0Y2hFdmVudE5hbWVzLCBHYXRld2F5SW50ZW50cywgUmVjdXJzaXZlUGFydGlhbCB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgY3JlYXRlTG9nZ2VyLCBnZXRCb3RJZEZyb21Ub2tlbiwgdHlwZSBsb2dnZXIgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHtcbiAgQ29tcGxldGVEZXNpcmVkUHJvcGVydGllcyxcbiAgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcixcbiAgU2V0dXBEZXNpcmVkUHJvcHMsXG4gIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxuICBUcmFuc2Zvcm1lcnNPYmplY3RzLFxufSBmcm9tICcuL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBFdmVudEhhbmRsZXJzIH0gZnJvbSAnLi9ldmVudHMuanMnXG5pbXBvcnQgeyB0eXBlIEJvdEdhdGV3YXlIYW5kbGVyLCB0eXBlIEdhdGV3YXlIYW5kbGVycywgY3JlYXRlQm90R2F0ZXdheUhhbmRsZXJzIH0gZnJvbSAnLi9oYW5kbGVycy5qcydcbmltcG9ydCB7IHR5cGUgQm90SGVscGVycywgY3JlYXRlQm90SGVscGVycyB9IGZyb20gJy4vaGVscGVycy5qcydcbmltcG9ydCB7IHR5cGUgVHJhbnNmb3JtZXJzLCBjcmVhdGVUcmFuc2Zvcm1lcnMgfSBmcm9tICcuL3RyYW5zZm9ybWVycy5qcydcblxuLyoqXG4gKiBDcmVhdGUgYSBib3Qgb2JqZWN0IHRoYXQgd2lsbCBtYWludGFpbiB0aGUgcmVzdCBhbmQgZ2F0ZXdheSBjb25uZWN0aW9uLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIENvbmZpZ3VyYXRpb25zIG9wdGlvbnMgdXNlZCB0byBtYW5hZ2UgdGhpcyBib3QuXG4gKiBAcmV0dXJucyBCb3RcbiAqL1xuXG4vLyBPdmVybG9hZHMgdG8gYXZvaWQgYWRkaW5nIENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXMgaWYgd2UgYXJlIGdpdmVuIGEgY29tcGxldGUgb2JqZWN0XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm90PFxuICBUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciA9IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5LFxuPihvcHRpb25zOiBDcmVhdGVCb3RPcHRpb25zPFRQcm9wcywgVEJlaGF2aW9yPik6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCb3Q8XG4gIFRQcm9wcyBleHRlbmRzIFJlY3Vyc2l2ZVBhcnRpYWw8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXM+LFxuICBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yID0gRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXksXG4+KG9wdGlvbnM6IENyZWF0ZUJvdE9wdGlvbnM8VFByb3BzLCBUQmVoYXZpb3I+KTogQm90PENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8VFByb3BzPiwgVEJlaGF2aW9yPlxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm90PFxuICBUUHJvcHMgZXh0ZW5kcyBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzPixcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciA9IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5LFxuPihvcHRpb25zOiBDcmVhdGVCb3RPcHRpb25zPFRQcm9wcywgVEJlaGF2aW9yPik6IEJvdDxDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPFRQcm9wcz4sIFRCZWhhdmlvcj4ge1xuICB0eXBlIENvbXBsZXRlUHJvcHMgPSBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPFRQcm9wcz5cbiAgdHlwZSBUeXBlZEJvdCA9IEJvdDxDb21wbGV0ZVByb3BzLCBUQmVoYXZpb3I+XG5cbiAgaWYgKCFvcHRpb25zLnRyYW5zZm9ybWVycykgb3B0aW9ucy50cmFuc2Zvcm1lcnMgPSB7fVxuICBpZiAoIW9wdGlvbnMudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzKSBvcHRpb25zLnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcyA9IG9wdGlvbnMuZGVzaXJlZFByb3BlcnRpZXNcbiAgaWYgKCFvcHRpb25zLnJlc3QpIG9wdGlvbnMucmVzdCA9IHsgdG9rZW46IG9wdGlvbnMudG9rZW4sIGFwcGxpY2F0aW9uSWQ6IG9wdGlvbnMuYXBwbGljYXRpb25JZCB9XG4gIGlmICghb3B0aW9ucy5yZXN0LnRva2VuKSBvcHRpb25zLnJlc3QudG9rZW4gPSBvcHRpb25zLnRva2VuXG4gIGlmICghb3B0aW9ucy5yZXN0LmxvZ2dlciAmJiBvcHRpb25zLmxvZ2dlckZhY3RvcnkpIG9wdGlvbnMucmVzdC5sb2dnZXIgPSBvcHRpb25zLmxvZ2dlckZhY3RvcnkoJ1JFU1QnKVxuICBpZiAoIW9wdGlvbnMuZ2F0ZXdheSkgb3B0aW9ucy5nYXRld2F5ID0geyB0b2tlbjogb3B0aW9ucy50b2tlbiB9XG4gIGlmICghb3B0aW9ucy5nYXRld2F5LnRva2VuKSBvcHRpb25zLmdhdGV3YXkudG9rZW4gPSBvcHRpb25zLnRva2VuXG4gIGlmICghb3B0aW9ucy5nYXRld2F5LmV2ZW50cykgb3B0aW9ucy5nYXRld2F5LmV2ZW50cyA9IHt9XG4gIGlmICghb3B0aW9ucy5nYXRld2F5LmxvZ2dlciAmJiBvcHRpb25zLmxvZ2dlckZhY3RvcnkpIG9wdGlvbnMuZ2F0ZXdheS5sb2dnZXIgPSBvcHRpb25zLmxvZ2dlckZhY3RvcnkoJ0dBVEVXQVknKVxuICBpZiAoIW9wdGlvbnMuZ2F0ZXdheS5ldmVudHMubWVzc2FnZSkge1xuICAgIG9wdGlvbnMuZ2F0ZXdheS5ldmVudHMubWVzc2FnZSA9IGFzeW5jIChzaGFyZCwgZGF0YSkgPT4ge1xuICAgICAgLy8gVFJJR0dFUiBSQVcgRVZFTlRcbiAgICAgIGJvdC5ldmVudHMucmF3Py4oZGF0YSwgc2hhcmQuaWQpXG5cbiAgICAgIGlmICghZGF0YS50KSByZXR1cm5cblxuICAgICAgLy8gUlVOIERJU1BBVENIIENIRUNLXG4gICAgICBhd2FpdCBib3QuZXZlbnRzLmRpc3BhdGNoUmVxdWlyZW1lbnRzPy4oZGF0YSwgc2hhcmQuaWQpXG4gICAgICBib3QuaGFuZGxlcnNbZGF0YS50IGFzIEdhdGV3YXlEaXNwYXRjaEV2ZW50TmFtZXNdPy4oYm90LCBkYXRhLCBzaGFyZC5pZClcbiAgICB9XG4gIH1cblxuICBvcHRpb25zLmdhdGV3YXkuaW50ZW50cyA9IG9wdGlvbnMuaW50ZW50c1xuICBvcHRpb25zLmdhdGV3YXkucHJlZmVyU25ha2VDYXNlID0gdHJ1ZVxuXG4gIGNvbnN0IGlkID0gZ2V0Qm90SWRGcm9tVG9rZW4ob3B0aW9ucy50b2tlbilcblxuICBjb25zdCBib3Q6IFR5cGVkQm90ID0ge1xuICAgIGlkLFxuICAgIGFwcGxpY2F0aW9uSWQ6IGlkLFxuICAgIHRyYW5zZm9ybWVyczogY3JlYXRlVHJhbnNmb3JtZXJzKG9wdGlvbnMudHJhbnNmb3JtZXJzKSBhcyBUeXBlZEJvdFsndHJhbnNmb3JtZXJzJ10sXG4gICAgaGFuZGxlcnM6IGNyZWF0ZUJvdEdhdGV3YXlIYW5kbGVyczxDb21wbGV0ZVByb3BzLCBUQmVoYXZpb3I+KG9wdGlvbnMuaGFuZGxlcnMgPz8ge30pLFxuICAgIHJlc3Q6IGNyZWF0ZVJlc3RNYW5hZ2VyKG9wdGlvbnMucmVzdCBhcyBDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMpLFxuICAgIGdhdGV3YXk6IGNyZWF0ZUdhdGV3YXlNYW5hZ2VyKG9wdGlvbnMuZ2F0ZXdheSBhcyBDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMpLFxuICAgIGV2ZW50czogb3B0aW9ucy5ldmVudHMgPz8ge30sXG4gICAgbG9nZ2VyOiBvcHRpb25zLmxvZ2dlckZhY3RvcnkgPyBvcHRpb25zLmxvZ2dlckZhY3RvcnkoJ0JPVCcpIDogY3JlYXRlTG9nZ2VyKHsgbmFtZTogJ0JPVCcgfSksXG4gICAgLy8gU2V0IHVwIGhlbHBlcnMgYmVsb3cuXG4gICAgaGVscGVyczoge30gYXMgQm90SGVscGVyczxDb21wbGV0ZVByb3BzLCBUQmVoYXZpb3I+LFxuICAgIGFzeW5jIHN0YXJ0KCkge1xuICAgICAgaWYgKCFvcHRpb25zLmdhdGV3YXk/LmNvbm5lY3Rpb24pIHtcbiAgICAgICAgYm90LmdhdGV3YXkuY29ubmVjdGlvbiA9IGF3YWl0IGJvdC5yZXN0LmdldFNlc3Npb25JbmZvKClcblxuICAgICAgICAvLyBDaGVjayBmb3Igb3ZlcnJpZGVzIGluIHRoZSBjb25maWd1cmF0aW9uXG4gICAgICAgIGlmICghb3B0aW9ucy5nYXRld2F5Py51cmwpIGJvdC5nYXRld2F5LnVybCA9IGJvdC5nYXRld2F5LmNvbm5lY3Rpb24udXJsXG5cbiAgICAgICAgaWYgKCFvcHRpb25zLmdhdGV3YXk/LnRvdGFsU2hhcmRzKSBib3QuZ2F0ZXdheS50b3RhbFNoYXJkcyA9IGJvdC5nYXRld2F5LmNvbm5lY3Rpb24uc2hhcmRzXG5cbiAgICAgICAgaWYgKCFvcHRpb25zLmdhdGV3YXk/Lmxhc3RTaGFyZElkICYmICFvcHRpb25zLmdhdGV3YXk/LnRvdGFsU2hhcmRzKSBib3QuZ2F0ZXdheS5sYXN0U2hhcmRJZCA9IGJvdC5nYXRld2F5LmNvbm5lY3Rpb24uc2hhcmRzIC0gMVxuICAgICAgfVxuXG4gICAgICBpZiAoIWJvdC5nYXRld2F5LnJlc2hhcmRpbmcuZ2V0U2Vzc2lvbkluZm8pIHtcbiAgICAgICAgYm90LmdhdGV3YXkucmVzaGFyZGluZy5nZXRTZXNzaW9uSW5mbyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0R2F0ZXdheUJvdCgpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYXdhaXQgYm90LmdhdGV3YXkuc3Bhd25TaGFyZHMoKVxuICAgIH0sXG5cbiAgICBhc3luYyBzaHV0ZG93bigpIHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QuZ2F0ZXdheS5zaHV0ZG93bihTaGFyZFNvY2tldENsb3NlQ29kZXMuU2h1dGRvd24sICdVc2VyIHJlcXVlc3RlZCBib3Qgc3RvcCcpXG4gICAgfSxcbiAgfVxuXG4gIGJvdC5oZWxwZXJzID0gY3JlYXRlQm90SGVscGVycyhib3QpXG4gIGlmIChvcHRpb25zLmFwcGxpY2F0aW9uSWQpIGJvdC5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uob3B0aW9ucy5hcHBsaWNhdGlvbklkKVxuXG4gIHJldHVybiBib3Rcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVCb3RPcHRpb25zPFRQcm9wcyBleHRlbmRzIFJlY3Vyc2l2ZVBhcnRpYWw8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXM+LCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiB7XG4gIC8qKiBUaGUgYm90J3MgdG9rZW4uICovXG4gIHRva2VuOiBzdHJpbmdcbiAgLyoqIEFwcGxpY2F0aW9uIElkIG9mIHRoZSBib3QgaW5jYXNlIGl0IGlzIGFuIG9sZCBib3QgdG9rZW4uICovXG4gIGFwcGxpY2F0aW9uSWQ/OiBCaWdTdHJpbmdcbiAgLyoqIFRoZSBib3QncyBpbnRlbnRzIHRoYXQgd2lsbCBiZSB1c2VkIHRvIG1ha2UgYSBjb25uZWN0aW9uIHdpdGggZGlzY29yZHMgZ2F0ZXdheS4gKi9cbiAgaW50ZW50cz86IEdhdGV3YXlJbnRlbnRzXG4gIC8qKiBBbnkgb3B0aW9ucyB5b3Ugd2lzaCB0byBwcm92aWRlIHRvIHRoZSByZXN0IG1hbmFnZXIuICovXG4gIHJlc3Q/OiBPbWl0PENyZWF0ZVJlc3RNYW5hZ2VyT3B0aW9ucywgJ3Rva2VuJz4gJiBQYXJ0aWFsPFBpY2s8Q3JlYXRlUmVzdE1hbmFnZXJPcHRpb25zLCAndG9rZW4nPj5cbiAgLyoqIEFueSBvcHRpb25zIHlvdSB3aXNoIHRvIHByb3ZpZGUgdG8gdGhlIGdhdGV3YXkgbWFuYWdlci4gKi9cbiAgZ2F0ZXdheT86IE9taXQ8Q3JlYXRlR2F0ZXdheU1hbmFnZXJPcHRpb25zLCAndG9rZW4nPiAmIFBhcnRpYWw8UGljazxDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMsICd0b2tlbic+PlxuICAvKiogVGhlIGV2ZW50IGhhbmRsZXJzLiAqL1xuICBldmVudHM/OiBQYXJ0aWFsPEV2ZW50SGFuZGxlcnM8Q29tcGxldGVEZXNpcmVkUHJvcGVydGllczxOb0luZmVyPFRQcm9wcz4+LCBUQmVoYXZpb3I+PlxuICAvKiogVGhlIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCB0cmFuc2Zvcm0gZGlzY29yZCBvYmplY3RzIHRvIGRpc2NvcmRlbm8gc2hhcGVkIG9iamVjdHMuICovXG4gIHRyYW5zZm9ybWVycz86IFJlY3Vyc2l2ZVBhcnRpYWw8VHJhbnNmb3JtZXJzPENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8Tm9JbmZlcjxUUHJvcHM+PiwgVEJlaGF2aW9yPj5cbiAgLyoqIFRoZSBoYW5kbGVyIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBoYW5kbGUgaW5jb21pbmcgZGlzY29yZCBwYXlsb2FkcyBmcm9tIGdhdGV3YXkgYW5kIGNhbGwgYW4gZXZlbnQuICovXG4gIGhhbmRsZXJzPzogUGFydGlhbDxSZWNvcmQ8R2F0ZXdheURpc3BhdGNoRXZlbnROYW1lcywgQm90R2F0ZXdheUhhbmRsZXI8Q29tcGxldGVEZXNpcmVkUHJvcGVydGllczxOb0luZmVyPFRQcm9wcz4+LCBUQmVoYXZpb3I+Pj5cbiAgLyoqXG4gICAqIFNldCB0aGUgZGVzaXJlZCBwcm9wZXJ0aWVzIGZvciB0aGUgYm90XG4gICAqXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICBkZXNpcmVkUHJvcGVydGllcz86IFRQcm9wc1xuICAvKipcbiAgICogU2V0IHRoZSBkZXNpcmVkIHByb3BlcnRpZXMgYmVoYXZpb3IgZm9yIHVuZGVzaXJlZCBwcm9wZXJ0aWVzXG4gICAqXG4gICAqIEBkZWZhdWx0IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5XG4gICAqL1xuICBkZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPzogVEJlaGF2aW9yXG4gIC8qKlxuICAgKiBUaGlzIGZhY3Rvcnkgd2lsbCBiZSBpbnZva2VkIHRvIGNyZWF0ZSB0aGUgbG9nZ2VyIGZvciBnYXRld2F5LCByZXN0IGFuZCBib3RcbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogSWYgbm90IHByb3ZpZGVkIHRoZSBkZWZhdWx0IGxvZ2dlciB3aWxsIGJlIHVzZWQgd2l0aCByZXN0IGFuZCBnYXRld2F5IHNoYXJpbmcgdGhlIHNhbWUgbG9nZ2VyXG4gICAqXG4gICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBpbnZva2VkIDMgdGltZXMsIG9uZSB3aXRoIHRoZSBuYW1lIG9mIGBSRVNUYCwgb25lIHdpdGggYEdBVEVXQVlgIGFuZCB0aGUgdGhpcmQgb25lIHdpdGggbmFtZSBgQk9UYFxuICAgKi9cbiAgbG9nZ2VyRmFjdG9yeT86IChuYW1lOiAnUkVTVCcgfCAnR0FURVdBWScgfCAnQk9UJykgPT4gUGljazx0eXBlb2YgbG9nZ2VyLCAnZGVidWcnIHwgJ2luZm8nIHwgJ3dhcm4nIHwgJ2Vycm9yJyB8ICdmYXRhbCc+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm90PFxuICBUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyA9IFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxuICBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yID0gRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXksXG4+IHtcbiAgLyoqIFRoZSBpZCBvZiB0aGUgYm90LiAqL1xuICBpZDogYmlnaW50XG4gIC8qKiBUaGUgYXBwbGljYXRpb24gaWQgb2YgdGhlIGJvdC4gVGhpcyBpcyB1c3VhbGx5IHRoZSBzYW1lIGFzIGlkIGJ1dCBpbiB0aGUgY2FzZSBvZiBvbGQgYm90cyBjYW4gYmUgZGlmZmVyZW50LiAqL1xuICBhcHBsaWNhdGlvbklkOiBiaWdpbnRcbiAgLyoqIFRoZSByZXN0IG1hbmFnZXIuICovXG4gIHJlc3Q6IFJlc3RNYW5hZ2VyXG4gIC8qKiBUaGUgZ2F0ZXdheSBtYW5hZ2VyLiAqL1xuICBnYXRld2F5OiBHYXRld2F5TWFuYWdlclxuICAvKiogVGhlIGV2ZW50IGhhbmRsZXJzLiAqL1xuICBldmVudHM6IFBhcnRpYWw8RXZlbnRIYW5kbGVyczxUUHJvcHMsIFRCZWhhdmlvcj4+XG4gIC8qKiBBIGxvZ2dlciB1dGlsaXR5IHRvIG1ha2UgaXQgZWFzeSB0byBsb2cgbmljZSBhbmQgdXNlZnVsIHRoaW5ncyBpbiB0aGUgYm90IGNvZGUuICovXG4gIGxvZ2dlcjogUGljazx0eXBlb2YgbG9nZ2VyLCAnZGVidWcnIHwgJ2luZm8nIHwgJ3dhcm4nIHwgJ2Vycm9yJyB8ICdmYXRhbCc+XG4gIC8qKiBUaGUgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIHRyYW5zZm9ybSBkaXNjb3JkIG9iamVjdHMgdG8gZGlzY29yZGVubyBzaGFwZWQgb2JqZWN0cy4gKi9cbiAgdHJhbnNmb3JtZXJzOiBUcmFuc2Zvcm1lcnM8VFByb3BzLCBUQmVoYXZpb3I+ICYge1xuICAgICRpbmZlcnJlZFR5cGVzOiB7XG4gICAgICBbSyBpbiBrZXlvZiBUcmFuc2Zvcm1lcnNPYmplY3RzXTogU2V0dXBEZXNpcmVkUHJvcHM8VHJhbnNmb3JtZXJzT2JqZWN0c1tLXSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gICAgfVxuICB9XG4gIC8qKiBUaGUgaGFuZGxlciBmdW5jdGlvbnMgdGhhdCBzaG91bGQgaGFuZGxlIGluY29taW5nIGRpc2NvcmQgcGF5bG9hZHMgZnJvbSBnYXRld2F5IGFuZCBjYWxsIGFuIGV2ZW50LiAqL1xuICBoYW5kbGVyczogR2F0ZXdheUhhbmRsZXJzPFRQcm9wcywgVEJlaGF2aW9yPlxuICBoZWxwZXJzOiBCb3RIZWxwZXJzPFRQcm9wcywgVEJlaGF2aW9yPlxuICAvKiogU3RhcnQgdGhlIGJvdCBjb25uZWN0aW9uIHRvIHRoZSBnYXRld2F5LiAqL1xuICBzdGFydDogKCkgPT4gUHJvbWlzZTx2b2lkPlxuICAvKiogU2h1dHMgZG93biBhbGwgdGhlIGJvdCBjb25uZWN0aW9ucyB0byB0aGUgZ2F0ZXdheS4gKi9cbiAgc2h1dGRvd246ICgpID0+IFByb21pc2U8dm9pZD5cbn1cblxuLyoqIEBpbnRlcm5hbCBUaGlzIGlzIHN1YmplY3QgdG8gYnJlYWtpbmcgY2hhbmdlcyB3aXRob3V0IG5vdGljZSAqL1xuZXhwb3J0IHR5cGUgSW50ZXJuYWxCb3QgPSBCb3Q8Q29tcGxldGVEZXNpcmVkUHJvcGVydGllczx7fSwgdHJ1ZT4sIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5PlxuIl0sIm5hbWVzIjpbIlNoYXJkU29ja2V0Q2xvc2VDb2RlcyIsImNyZWF0ZUdhdGV3YXlNYW5hZ2VyIiwiY3JlYXRlUmVzdE1hbmFnZXIiLCJjcmVhdGVMb2dnZXIiLCJnZXRCb3RJZEZyb21Ub2tlbiIsImNyZWF0ZUJvdEdhdGV3YXlIYW5kbGVycyIsImNyZWF0ZUJvdEhlbHBlcnMiLCJjcmVhdGVUcmFuc2Zvcm1lcnMiLCJjcmVhdGVCb3QiLCJvcHRpb25zIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJyZXN0IiwidG9rZW4iLCJhcHBsaWNhdGlvbklkIiwibG9nZ2VyIiwibG9nZ2VyRmFjdG9yeSIsImdhdGV3YXkiLCJldmVudHMiLCJtZXNzYWdlIiwic2hhcmQiLCJkYXRhIiwiYm90IiwicmF3IiwiaWQiLCJ0IiwiZGlzcGF0Y2hSZXF1aXJlbWVudHMiLCJoYW5kbGVycyIsImludGVudHMiLCJwcmVmZXJTbmFrZUNhc2UiLCJuYW1lIiwiaGVscGVycyIsInN0YXJ0IiwiY29ubmVjdGlvbiIsImdldFNlc3Npb25JbmZvIiwidXJsIiwidG90YWxTaGFyZHMiLCJzaGFyZHMiLCJsYXN0U2hhcmRJZCIsInJlc2hhcmRpbmciLCJnZXRHYXRld2F5Qm90Iiwic3Bhd25TaGFyZHMiLCJzaHV0ZG93biIsIlNodXRkb3duIiwic25vd2ZsYWtlIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxxQkFBcUIsRUFBRUMsb0JBQW9CLFFBQVEsc0JBQXFCO0FBRWpGLFNBQVNDLGlCQUFpQixRQUFRLG1CQUFrQjtBQUVwRCxTQUFTQyxZQUFZLEVBQUVDLGlCQUFpQixRQUFxQixvQkFBbUI7QUFTaEYsU0FBdURDLHdCQUF3QixRQUFRLGdCQUFlO0FBQ3RHLFNBQTBCQyxnQkFBZ0IsUUFBUSxlQUFjO0FBQ2hFLFNBQTRCQyxrQkFBa0IsUUFBUSxvQkFBbUI7QUFtQnpFLE9BQU8sU0FBU0MsVUFHZEMsT0FBNEM7SUFJNUMsSUFBSSxDQUFDQSxRQUFRQyxZQUFZLEVBQUVELFFBQVFDLFlBQVksR0FBRyxDQUFDO0lBQ25ELElBQUksQ0FBQ0QsUUFBUUMsWUFBWSxDQUFDQyxpQkFBaUIsRUFBRUYsUUFBUUMsWUFBWSxDQUFDQyxpQkFBaUIsR0FBR0YsUUFBUUUsaUJBQWlCO0lBQy9HLElBQUksQ0FBQ0YsUUFBUUcsSUFBSSxFQUFFSCxRQUFRRyxJQUFJLEdBQUc7UUFBRUMsT0FBT0osUUFBUUksS0FBSztRQUFFQyxlQUFlTCxR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
@@ -1,5 +1,7 @@
1
1
  import { ApplicationCommandOptionTypes } from '@discordeno/types';
2
- export function commandOptionsParser(interaction, options) {
2
+ export function commandOptionsParser(__interaction, options) {
3
+ // This is necessary as typescript gets really confused when using __interaction alone, as it will say that 'data' does not exist despite it surely exist since we have the &
4
+ const interaction = __interaction;
3
5
  if (!interaction.data) return {};
4
6
  if (!options) options = interaction.data.options ?? [];
5
7
  const args = {};
@@ -38,4 +40,4 @@ export function commandOptionsParser(interaction, options) {
38
40
  return args;
39
41
  }
40
42
 
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kT3B0aW9uc1BhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBBdHRhY2htZW50LCBDaGFubmVsLCBJbnRlcmFjdGlvbiwgSW50ZXJhY3Rpb25EYXRhT3B0aW9uLCBNZW1iZXIsIFJvbGUsIFVzZXIgfSBmcm9tICcuL2luZGV4LmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gY29tbWFuZE9wdGlvbnNQYXJzZXIoaW50ZXJhY3Rpb246IEludGVyYWN0aW9uLCBvcHRpb25zPzogSW50ZXJhY3Rpb25EYXRhT3B0aW9uW10pOiBQYXJzZWRJbnRlcmFjdGlvbk9wdGlvbiB7XG4gIGlmICghaW50ZXJhY3Rpb24uZGF0YSkgcmV0dXJuIHt9XG4gIGlmICghb3B0aW9ucykgb3B0aW9ucyA9IGludGVyYWN0aW9uLmRhdGEub3B0aW9ucyA/PyBbXVxuXG4gIGNvbnN0IGFyZ3M6IFBhcnNlZEludGVyYWN0aW9uT3B0aW9uID0ge31cblxuICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XG4gICAgc3dpdGNoIChvcHRpb24udHlwZSkge1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kR3JvdXA6XG4gICAgICBjYXNlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN1YkNvbW1hbmQ6XG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gY29tbWFuZE9wdGlvbnNQYXJzZXIoaW50ZXJhY3Rpb24sIG9wdGlvbi5vcHRpb25zKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5DaGFubmVsOlxuICAgICAgICBhcmdzW29wdGlvbi5uYW1lXSA9IGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/LmNoYW5uZWxzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBJbnRlcmFjdGlvblJlc29sdmVkQ2hhbm5lbFxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5Sb2xlOlxuICAgICAgICBhcmdzW29wdGlvbi5uYW1lXSA9IGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/LnJvbGVzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBSb2xlXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlVzZXI6XG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0ge1xuICAgICAgICAgIHVzZXI6IGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/LnVzZXJzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBVc2VyLFxuICAgICAgICAgIG1lbWJlcjogaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZD8ubWVtYmVycz8uZ2V0KEJpZ0ludChvcHRpb24udmFsdWUhKSkgYXMgSW50ZXJhY3Rpb25SZXNvbHZlZE1lbWJlcixcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5BdHRhY2htZW50OlxuICAgICAgICBhcmdzW29wdGlvbi5uYW1lXSA9IGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/LmF0dGFjaG1lbnRzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBBdHRhY2htZW50XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLk1lbnRpb25hYmxlOlxuICAgICAgICAvLyBNZW50aW9uYWJsZSBhcmUgcm9sZXMgb3IgdXNlcnNcbiAgICAgICAgYXJnc1tvcHRpb24ubmFtZV0gPSAoaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZD8ucm9sZXM/LmdldChCaWdJbnQob3B0aW9uLnZhbHVlISkpIGFzIFJvbGUpID8/IHtcbiAgICAgICAgICB1c2VyOiBpbnRlcmFjdGlvbi5kYXRhLnJlc29sdmVkPy51c2Vycz8uZ2V0KEJpZ0ludChvcHRpb24udmFsdWUhKSkgYXMgVXNlcixcbiAgICAgICAgICBtZW1iZXI6IGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/Lm1lbWJlcnM/LmdldChCaWdJbnQob3B0aW9uLnZhbHVlISkpIGFzIEludGVyYWN0aW9uUmVzb2x2ZWRNZW1iZXIsXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gb3B0aW9uLnZhbHVlIGFzIFBhcnNlZEludGVyYWN0aW9uT3B0aW9uW3N0cmluZ11cbiAgICB9XG4gIH1cblxuICByZXR1cm4gYXJnc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZEludGVyYWN0aW9uT3B0aW9uIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IEludGVyYWN0aW9uUmVzb2x2ZWRVc2VyIHwgSW50ZXJhY3Rpb25SZXNvbHZlZENoYW5uZWwgfCBSb2xlIHwgQXR0YWNobWVudCB8IFBhcnNlZEludGVyYWN0aW9uT3B0aW9uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJhY3Rpb25SZXNvbHZlZFVzZXIge1xuICB1c2VyOiBVc2VyXG4gIG1lbWJlcjogSW50ZXJhY3Rpb25SZXNvbHZlZE1lbWJlclxufVxuXG5leHBvcnQgdHlwZSBJbnRlcmFjdGlvblJlc29sdmVkQ2hhbm5lbCA9IFBpY2s8Q2hhbm5lbCwgJ2lkJyB8ICduYW1lJyB8ICd0eXBlJyB8ICdwZXJtaXNzaW9ucycgfCAndGhyZWFkTWV0YWRhdGEnIHwgJ3BhcmVudElkJz5cblxuZXhwb3J0IHR5cGUgSW50ZXJhY3Rpb25SZXNvbHZlZE1lbWJlciA9IE9taXQ8TWVtYmVyLCAndXNlcicgfCAnZGVhZicgfCAnbXV0ZSc+XG4iXSwibmFtZXMiOlsiQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMiLCJjb21tYW5kT3B0aW9uc1BhcnNlciIsImludGVyYWN0aW9uIiwib3B0aW9ucyIsImRhdGEiLCJhcmdzIiwib3B0aW9uIiwidHlwZSIsIlN1YkNvbW1hbmRHcm91cCIsIlN1YkNvbW1hbmQiLCJuYW1lIiwiQ2hhbm5lbCIsInJlc29sdmVkIiwiY2hhbm5lbHMiLCJnZXQiLCJCaWdJbnQiLCJ2YWx1ZSIsIlJvbGUiLCJyb2xlcyIsIlVzZXIiLCJ1c2VyIiwidXNlcnMiLCJtZW1iZXIiLCJtZW1iZXJzIiwiQXR0YWNobWVudCIsImF0dGFjaG1lbnRzIiwiTWVudGlvbmFibGUiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLDZCQUE2QixRQUFRLG9CQUFtQjtBQUdqRSxPQUFPLFNBQVNDLHFCQUFxQkMsV0FBd0IsRUFBRUMsT0FBaUM7SUFDOUYsSUFBSSxDQUFDRCxZQUFZRSxJQUFJLEVBQUUsT0FBTyxDQUFDO0lBQy9CLElBQUksQ0FBQ0QsU0FBU0EsVUFBVUQsWUFBWUUsSUFBSSxDQUFDRCxPQUFPLElBQUksRUFBRTtJQUV0RCxNQUFNRSxPQUFnQyxDQUFDO0lBRXZDLEtBQUssTUFBTUMsVUFBVUgsUUFBUztRQUM1QixPQUFRRyxPQUFPQyxJQUFJO1lBQ2pCLEtBQUtQLDhCQUE4QlEsZUFBZTtZQUNsRCxLQUFLUiw4QkFBOEJTLFVBQVU7Z0JBQzNDSixJQUFJLENBQUNDLE9BQU9JLElBQUksQ0FBQyxHQUFHVCxxQkFBcUJDLGFBQWFJLE9BQU9ILE9BQU87Z0JBQ3BFO1lBQ0YsS0FBS0gsOEJBQThCVyxPQUFPO2dCQUN4Q04sSUFBSSxDQUFDQyxPQUFPSSxJQUFJLENBQUMsR0FBR1IsWUFBWUUsSUFBSSxDQUFDUSxRQUFRLEVBQUVDLFVBQVVDLElBQUlDLE9BQU9ULE9BQU9VLEtBQUs7Z0JBQ2hGO1lBQ0YsS0FBS2hCLDhCQUE4QmlCLElBQUk7Z0JBQ3JDWixJQUFJLENBQUNDLE9BQU9JLElBQUksQ0FBQyxHQUFHUixZQUFZRSxJQUFJLENBQUNRLFFBQVEsRUFBRU0sT0FBT0osSUFBSUMsT0FBT1QsT0FBT1UsS0FBSztnQkFDN0U7WUFDRixLQUFLaEIsOEJBQThCbUIsSUFBSTtnQkFDckNkLElBQUksQ0FBQ0MsT0FBT0ksSUFBSSxDQUFDLEdBQUc7b0JBQ2xCVSxNQUFNbEIsWUFBWUUsSUFBSSxDQUFDUSxRQUFRLEVBQUVTLE9BQU9QLElBQUlDLE9BQU9ULE9BQU9VLEtBQUs7b0JBQy9ETSxRQUFRcEIsWUFBWUUsSUFBSSxDQUFDUSxRQUFRLEVBQUVXLFNBQVNULElBQUlDLE9BQU9ULE9BQU9VLEtBQUs7Z0JBQ3JFO2dCQUNBO1lBQ0YsS0FBS2hCLDhCQUE4QndCLFVBQVU7Z0JBQzNDbkIsSUFBSSxDQUFDQyxPQUFPSSxJQUFJLENBQUMsR0FBR1IsWUFBWUUsSUFBSSxDQUFDUSxRQUFRLEVBQUVhLGFBQWFYLElBQUlDLE9BQU9ULE9BQU9VLEtBQUs7Z0JBQ25GO1lBQ0YsS0FBS2hCLDhCQUE4QjBCLFdBQVc7Z0JBQzVDLGlDQUFpQztnQkFDakNyQixJQUFJLENBQUNDLE9BQU9JLElBQUksQ0FBQyxHQUFHLEFBQUNSLFlBQVlFLElBQUksQ0FBQ1EsUUFBUSxFQUFFTSxPQUFPSixJQUFJQyxPQUFPVCxPQUFPVSxLQUFLLE1BQWdCO29CQUM1RkksTUFBTWxCLFlBQVlFLElBQUksQ0FBQ1EsUUFBUSxFQUFFUyxPQUFPUCxJQUFJQyxPQUFPVCxPQUFPVSxLQUFLO29CQUMvRE0sUUFBUXBCLFlBQVlFLElBQUksQ0FBQ1EsUUFBUSxFQUFFVyxTQUFTVCxJQUFJQyxPQUFPVCxPQUFPVSxLQUFLO2dCQUNyRTtnQkFDQTtZQUNGO2dCQUNFWCxJQUFJLENBQUNDLE9BQU9JLElBQUksQ0FBQyxHQUFHSixPQUFPVSxLQUFLO1FBQ3BDO0lBQ0Y7SUFFQSxPQUFPWDtBQUNUIn0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kT3B0aW9uc1BhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBdHRhY2htZW50LFxuICBDaGFubmVsLFxuICBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzLFxuICBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuICBJbnRlcmFjdGlvbixcbiAgSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICBNZW1iZXIsXG4gIFJvbGUsXG4gIFNldHVwRGVzaXJlZFByb3BzLFxuICBUcmFuc2Zvcm1Qcm9wZXJ0eSxcbiAgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIFVzZXIsXG59IGZyb20gJy4vaW5kZXguanMnXG5cbmV4cG9ydCBmdW5jdGlvbiBjb21tYW5kT3B0aW9uc1BhcnNlcjxcbiAgVFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgJiB7IGludGVyYWN0aW9uOiB7IGRhdGE6IHRydWUgfSB9LFxuICBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuPihfX2ludGVyYWN0aW9uOiBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvbiwgVFByb3BzLCBUQmVoYXZpb3I+LCBvcHRpb25zPzogSW50ZXJhY3Rpb25EYXRhT3B0aW9uW10pOiBQYXJzZWRJbnRlcmFjdGlvbk9wdGlvbjxUUHJvcHMsIFRCZWhhdmlvcj4ge1xuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBhcyB0eXBlc2NyaXB0IGdldHMgcmVhbGx5IGNvbmZ1c2VkIHdoZW4gdXNpbmcgX19pbnRlcmFjdGlvbiBhbG9uZSwgYXMgaXQgd2lsbCBzYXkgdGhhdCAnZGF0YScgZG9lcyBub3QgZXhpc3QgZGVzcGl0ZSBpdCBzdXJlbHkgZXhpc3Qgc2luY2Ugd2UgaGF2ZSB0aGUgJlxuICBjb25zdCBpbnRlcmFjdGlvbiA9IF9faW50ZXJhY3Rpb24gYXMgU2V0dXBEZXNpcmVkUHJvcHM8XG4gICAgSW50ZXJhY3Rpb24sXG4gICAgQ29tcGxldGVEZXNpcmVkUHJvcGVydGllczx7IGludGVyYWN0aW9uOiB7IGRhdGE6IHRydWUgfSB9PixcbiAgICBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleVxuICA+XG5cbiAgaWYgKCFpbnRlcmFjdGlvbi5kYXRhKSByZXR1cm4ge31cbiAgaWYgKCFvcHRpb25zKSBvcHRpb25zID0gaW50ZXJhY3Rpb24uZGF0YS5vcHRpb25zID8/IFtdXG5cbiAgY29uc3QgYXJnczogUGFyc2VkSW50ZXJhY3Rpb25PcHRpb248VFByb3BzLCBUQmVoYXZpb3I+ID0ge31cblxuICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XG4gICAgc3dpdGNoIChvcHRpb24udHlwZSkge1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kR3JvdXA6XG4gICAgICBjYXNlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN1YkNvbW1hbmQ6XG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gY29tbWFuZE9wdGlvbnNQYXJzZXIoaW50ZXJhY3Rpb24sIG9wdGlvbi5vcHRpb25zKSBhcyBJbnRlcmFjdGlvblJlc29sdmVkRGF0YTxUUHJvcHMsIFRCZWhhdmlvcj5cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuQ2hhbm5lbDpcbiAgICAgICAgYXJnc1tvcHRpb24ubmFtZV0gPSBpbnRlcmFjdGlvbi5kYXRhLnJlc29sdmVkPy5jaGFubmVscz8uZ2V0KEJpZ0ludChvcHRpb24udmFsdWUhKSkgYXMgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGE8VFByb3BzLCBUQmVoYXZpb3I+XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlJvbGU6XG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZD8ucm9sZXM/LmdldChCaWdJbnQob3B0aW9uLnZhbHVlISkpIGFzIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhPFRQcm9wcywgVEJlaGF2aW9yPlxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5Vc2VyOlxuICAgICAgICBhcmdzW29wdGlvbi5uYW1lXSA9IHtcbiAgICAgICAgICB1c2VyOiBpbnRlcmFjdGlvbi5kYXRhLnJlc29sdmVkPy51c2Vycz8uZ2V0KEJpZ0ludChvcHRpb24udmFsdWUhKSkgYXMgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGE8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgICAgIG1lbWJlcjogaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZD8ubWVtYmVycz8uZ2V0KEJpZ0ludChvcHRpb24udmFsdWUhKSkgYXMgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGE8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkF0dGFjaG1lbnQ6XG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZD8uYXR0YWNobWVudHM/LmdldChCaWdJbnQob3B0aW9uLnZhbHVlISkpIGFzIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhPFRQcm9wcywgVEJlaGF2aW9yPlxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5NZW50aW9uYWJsZTpcbiAgICAgICAgLy8gTWVudGlvbmFibGUgYXJlIHJvbGVzIG9yIHVzZXJzXG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gKGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/LnJvbGVzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBQYXJzZWRJbnRlcmFjdGlvbk9wdGlvbjxUUHJvcHMsIFRCZWhhdmlvcj5bc3RyaW5nXSkgPz8ge1xuICAgICAgICAgIHVzZXI6IGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/LnVzZXJzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBJbnRlcmFjdGlvblJlc29sdmVkRGF0YTxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICAgICAgbWVtYmVyOiBpbnRlcmFjdGlvbi5kYXRhLnJlc29sdmVkPy5tZW1iZXJzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBJbnRlcmFjdGlvblJlc29sdmVkRGF0YTxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gb3B0aW9uLnZhbHVlIGFzIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhPFRQcm9wcywgVEJlaGF2aW9yPlxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBhcmdzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VkSW50ZXJhY3Rpb25PcHRpb248VFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+IHtcbiAgW2tleTogc3RyaW5nXTogSW50ZXJhY3Rpb25SZXNvbHZlZERhdGE8VFByb3BzLCBUQmVoYXZpb3I+XG59XG5cbmV4cG9ydCB0eXBlIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhPFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiA9XG4gIHwgc3RyaW5nXG4gIHwgbnVtYmVyXG4gIHwgYm9vbGVhblxuICB8IFRyYW5zZm9ybVByb3BlcnR5PEludGVyYWN0aW9uUmVzb2x2ZWRVc2VyLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgfCBUcmFuc2Zvcm1Qcm9wZXJ0eTxJbnRlcmFjdGlvblJlc29sdmVkQ2hhbm5lbCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHwgVHJhbnNmb3JtUHJvcGVydHk8Um9sZSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHwgVHJhbnNmb3JtUHJvcGVydHk8QXR0YWNobWVudCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHwgUGFyc2VkSW50ZXJhY3Rpb25PcHRpb248VFByb3BzLCBUQmVoYXZpb3I+XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJhY3Rpb25SZXNvbHZlZFVzZXIge1xuICB1c2VyOiBVc2VyXG4gIG1lbWJlcjogSW50ZXJhY3Rpb25SZXNvbHZlZE1lbWJlclxufVxuXG5leHBvcnQgdHlwZSBJbnRlcmFjdGlvblJlc29sdmVkQ2hhbm5lbCA9IFBpY2s8Q2hhbm5lbCwgJ2lkJyB8ICduYW1lJyB8ICd0eXBlJyB8ICdwZXJtaXNzaW9ucycgfCAndGhyZWFkTWV0YWRhdGEnIHwgJ3BhcmVudElkJz5cblxuZXhwb3J0IHR5cGUgSW50ZXJhY3Rpb25SZXNvbHZlZE1lbWJlciA9IE9taXQ8TWVtYmVyLCAndXNlcicgfCAnZGVhZicgfCAnbXV0ZSc+XG4iXSwibmFtZXMiOlsiQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMiLCJjb21tYW5kT3B0aW9uc1BhcnNlciIsIl9faW50ZXJhY3Rpb24iLCJvcHRpb25zIiwiaW50ZXJhY3Rpb24iLCJkYXRhIiwiYXJncyIsIm9wdGlvbiIsInR5cGUiLCJTdWJDb21tYW5kR3JvdXAiLCJTdWJDb21tYW5kIiwibmFtZSIsIkNoYW5uZWwiLCJyZXNvbHZlZCIsImNoYW5uZWxzIiwiZ2V0IiwiQmlnSW50IiwidmFsdWUiLCJSb2xlIiwicm9sZXMiLCJVc2VyIiwidXNlciIsInVzZXJzIiwibWVtYmVyIiwibWVtYmVycyIsIkF0dGFjaG1lbnQiLCJhdHRhY2htZW50cyIsIk1lbnRpb25hYmxlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSw2QkFBNkIsUUFBUSxvQkFBbUI7QUFnQmpFLE9BQU8sU0FBU0MscUJBR2RDLGFBQWdFLEVBQUVDLE9BQWlDO0lBQ25HLDZLQUE2SztJQUM3SyxNQUFNQyxjQUFjRjtJQU1wQixJQUFJLENBQUNFLFlBQVlDLElBQUksRUFBRSxPQUFPLENBQUM7SUFDL0IsSUFBSSxDQUFDRixTQUFTQSxVQUFVQyxZQUFZQyxJQUFJLENBQUNGLE9BQU8sSUFBSSxFQUFFO0lBRXRELE1BQU1HLE9BQW1ELENBQUM7SUFFMUQsS0FBSyxNQUFNQyxVQUFVSixRQUFTO1FBQzVCLE9BQVFJLE9BQU9DLElBQUk7WUFDakIsS0FBS1IsOEJBQThCUyxlQUFlO1lBQ2xELEtBQUtULDhCQUE4QlUsVUFBVTtnQkFDM0NKLElBQUksQ0FBQ0MsT0FBT0ksSUFBSSxDQUFDLEdBQUdWLHFCQUFxQkcsYUFBYUcsT0FBT0osT0FBTztnQkFDcEU7WUFDRixLQUFLSCw4QkFBOEJZLE9BQU87Z0JBQ3hDTixJQUFJLENBQUNDLE9BQU9JLElBQUksQ0FBQyxHQUFHUCxZQUFZQyxJQUFJLENBQUNRLFFBQVEsRUFBRUMsVUFBVUMsSUFBSUMsT0FBT1QsT0FBT1UsS0FBSztnQkFDaEY7WUFDRixLQUFLakIsOEJBQThCa0IsSUFBSTtnQkFDckNaLElBQUksQ0FBQ0MsT0FBT0ksSUFBSSxDQUFDLEdBQUdQLFlBQVlDLElBQUksQ0FBQ1EsUUFBUSxFQUFFTSxPQUFPSixJQUFJQyxPQUFPVCxPQUFPVSxLQUFLO2dCQUM3RTtZQUNGLEtBQUtqQiw4QkFBOEJvQixJQUFJO2dCQUNyQ2QsSUFBSSxDQUFDQyxPQUFPSSxJQUFJLENBQUMsR0FBRztvQkFDbEJVLE1BQU1qQixZQUFZQyxJQUFJLENBQUNRLFFBQVEsRUFBRVMsT0FBT1AsSUFBSUMsT0FBT1QsT0FBT1UsS0FBSztvQkFDL0RNLFFBQVFuQixZQUFZQyxJQUFJLENBQUNRLFFBQVEsRUFBRVcsU0FBU1QsSUFBSUMsT0FBT1QsT0FBT1UsS0FBSztnQkFDckU7Z0JBQ0E7WUFDRixLQUFLakIsOEJBQThCeUIsVUFBVTtnQkFDM0NuQixJQUFJLENBQUNDLE9BQU9JLElBQUksQ0FBQyxHQUFHUCxZQUFZQyxJQUFJLENBQUNRLFFBQVEsRUFBRWEsYUFBYVgsSUFBSUMsT0FBT1QsT0FBT1UsS0FBSztnQkFDbkY7WUFDRixLQUFLakIsOEJBQThCMkIsV0FBVztnQkFDNUMsaUNBQWlDO2dCQUNqQ3JCLElBQUksQ0FBQ0MsT0FBT0ksSUFBSSxDQUFDLEdBQUcsQUFBQ1AsWUFBWUMsSUFBSSxDQUFDUSxRQUFRLEVBQUVNLE9BQU9KLElBQUlDLE9BQU9ULE9BQU9VLEtBQUssTUFBOEQ7b0JBQzFJSSxNQUFNakIsWUFBWUMsSUFBSSxDQUFDUSxRQUFRLEVBQUVTLE9BQU9QLElBQUlDLE9BQU9ULE9BQU9VLEtBQUs7b0JBQy9ETSxRQUFRbkIsWUFBWUMsSUFBSSxDQUFDUSxRQUFRLEVBQUVXLFNBQVNULElBQUlDLE9BQU9ULE9BQU9VLEtBQUs7Z0JBQ3JFO2dCQUNBO1lBQ0Y7Z0JBQ0VYLElBQUksQ0FBQ0MsT0FBT0ksSUFBSSxDQUFDLEdBQUdKLE9BQU9VLEtBQUs7UUFDcEM7SUFDRjtJQUVBLE9BQU9YO0FBQ1QifQ==