@discordeno/bot 22.0.1-next.4eccbea → 22.0.1-next.4f5ed27

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 (42) hide show
  1. package/dist/bot.d.ts +3 -3
  2. package/dist/bot.d.ts.map +1 -1
  3. package/dist/bot.js +1 -1
  4. package/dist/desiredProperties.d.ts +110 -92
  5. package/dist/desiredProperties.d.ts.map +1 -1
  6. package/dist/desiredProperties.js +251 -1
  7. package/dist/events.d.ts +10 -10
  8. package/dist/events.d.ts.map +1 -1
  9. package/dist/events.js +1 -1
  10. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js +2 -2
  11. package/dist/handlers/invites/INVITE_CREATE.d.ts.map +1 -1
  12. package/dist/handlers/invites/INVITE_CREATE.js +2 -1
  13. package/dist/helpers.d.ts +47 -44
  14. package/dist/helpers.d.ts.map +1 -1
  15. package/dist/helpers.js +19 -11
  16. package/dist/transformers/application.d.ts.map +1 -1
  17. package/dist/transformers/application.js +4 -1
  18. package/dist/transformers/channel.js +4 -4
  19. package/dist/transformers/component.d.ts.map +1 -1
  20. package/dist/transformers/component.js +152 -8
  21. package/dist/transformers/invite.d.ts.map +1 -1
  22. package/dist/transformers/invite.js +3 -1
  23. package/dist/transformers/presence.d.ts.map +1 -1
  24. package/dist/transformers/presence.js +1 -1
  25. package/dist/transformers/reverse/activity.d.ts.map +1 -1
  26. package/dist/transformers/reverse/activity.js +4 -3
  27. package/dist/transformers/reverse/applicationCommand.js +2 -2
  28. package/dist/transformers/reverse/component.d.ts.map +1 -1
  29. package/dist/transformers/reverse/component.js +149 -11
  30. package/dist/transformers/reverse/member.d.ts.map +1 -1
  31. package/dist/transformers/reverse/member.js +3 -2
  32. package/dist/transformers/toggles/guild.d.ts +2 -2
  33. package/dist/transformers/toggles/guild.js +3 -3
  34. package/dist/transformers/types.d.ts +29 -17
  35. package/dist/transformers/types.d.ts.map +1 -1
  36. package/dist/transformers/types.js +2 -2
  37. package/dist/transformers/webhook.d.ts.map +1 -1
  38. package/dist/transformers/webhook.js +5 -5
  39. package/dist/transformers.d.ts +30 -30
  40. package/dist/transformers.d.ts.map +1 -1
  41. package/dist/transformers.js +1 -1
  42. package/package.json +16 -16
@@ -16,11 +16,19 @@ export function transformComponent(bot, payload) {
16
16
  component = transformInputTextComponent(bot, payload);
17
17
  break;
18
18
  case MessageComponentTypes.StringSelect:
19
+ component = transformStringSelectMenuComponent(bot, payload);
20
+ break;
19
21
  case MessageComponentTypes.UserSelect:
22
+ component = transformUserSelectMenuComponent(bot, payload);
23
+ break;
20
24
  case MessageComponentTypes.RoleSelect:
25
+ component = transformRoleSelectMenuComponent(bot, payload);
26
+ break;
21
27
  case MessageComponentTypes.MentionableSelect:
28
+ component = transformMentionableSelectMenuComponent(bot, payload);
29
+ break;
22
30
  case MessageComponentTypes.ChannelSelect:
23
- component = transformSelectMenuComponent(bot, payload);
31
+ component = transformChannelSelectMenuComponent(bot, payload);
24
32
  break;
25
33
  case MessageComponentTypes.Section:
26
34
  component = transformSectionComponent(bot, payload);
@@ -46,6 +54,15 @@ export function transformComponent(bot, payload) {
46
54
  case MessageComponentTypes.FileUpload:
47
55
  component = transformFileUploadComponent(bot, payload);
48
56
  break;
57
+ case MessageComponentTypes.RadioGroup:
58
+ component = transformRadioGroupComponent(bot, payload);
59
+ break;
60
+ case MessageComponentTypes.CheckboxGroup:
61
+ component = transformCheckboxGroupComponent(bot, payload);
62
+ break;
63
+ case MessageComponentTypes.Checkbox:
64
+ component = transformCheckboxComponent(bot, payload);
65
+ break;
49
66
  }
50
67
  return bot.transformers.customizers.component(bot, payload, component);
51
68
  }
@@ -94,6 +111,7 @@ function transformButtonComponent(bot, payload) {
94
111
  if (props.label && payload.label) button.label = payload.label;
95
112
  if (props.customId && payload.custom_id) button.customId = payload.custom_id;
96
113
  if (props.style && payload.style) button.style = payload.style;
114
+ // @ts-expect-error TODO: Deal with partials
97
115
  if (props.emoji && payload.emoji) button.emoji = bot.transformers.emoji(bot, payload.emoji);
98
116
  if (props.url && payload.url) button.url = payload.url;
99
117
  if (props.disabled && payload.disabled) button.disabled = payload.disabled;
@@ -118,7 +136,7 @@ function transformInputTextComponent(bot, payload) {
118
136
  }
119
137
  return input;
120
138
  }
121
- function transformSelectMenuComponent(bot, payload) {
139
+ function transformStringSelectMenuComponent(bot, payload) {
122
140
  const props = bot.transformers.desiredProperties.component;
123
141
  const select = {};
124
142
  if (props.type && payload.type) select.type = payload.type;
@@ -131,11 +149,6 @@ function transformSelectMenuComponent(bot, payload) {
131
149
  if (props.placeholder && payload.placeholder) select.placeholder = payload.placeholder;
132
150
  if (props.minValues && payload.min_values) select.minValues = payload.min_values;
133
151
  if (props.maxValues && payload.max_values) select.maxValues = payload.max_values;
134
- if (props.defaultValues && payload.default_values) select.defaultValues = payload.default_values.map((defaultValue)=>({
135
- id: bot.transformers.snowflake(defaultValue.id),
136
- type: defaultValue.type
137
- }));
138
- if (props.channelTypes && payload.channel_types) select.channelTypes = payload.channel_types;
139
152
  if (props.options && payload.options) select.options = payload.options.map((option)=>({
140
153
  label: option.label,
141
154
  value: option.value,
@@ -151,6 +164,95 @@ function transformSelectMenuComponent(bot, payload) {
151
164
  }
152
165
  return select;
153
166
  }
167
+ function transformUserSelectMenuComponent(bot, payload) {
168
+ const props = bot.transformers.desiredProperties.component;
169
+ const select = {};
170
+ if (props.type && payload.type) select.type = payload.type;
171
+ if (props.id && payload.id) select.id = payload.id;
172
+ if (props.customId && payload.custom_id) select.customId = payload.custom_id;
173
+ // Check if this is the user select response
174
+ if ('values' in payload) {
175
+ if (props.values && payload.values) select.values = payload.values;
176
+ if (props.resolved && payload.resolved) select.resolved = bot.transformers.interactionDataResolved(bot, payload.resolved);
177
+ } else {
178
+ if (props.placeholder && payload.placeholder) select.placeholder = payload.placeholder;
179
+ if (props.minValues && payload.min_values) select.minValues = payload.min_values;
180
+ if (props.maxValues && payload.max_values) select.maxValues = payload.max_values;
181
+ if (props.defaultValues && payload.default_values) select.defaultValues = payload.default_values.map((defaultValue)=>({
182
+ id: bot.transformers.snowflake(defaultValue.id),
183
+ type: defaultValue.type
184
+ }));
185
+ if (props.disabled && payload.disabled) select.disabled = payload.disabled;
186
+ }
187
+ return select;
188
+ }
189
+ function transformRoleSelectMenuComponent(bot, payload) {
190
+ const props = bot.transformers.desiredProperties.component;
191
+ const select = {};
192
+ if (props.type && payload.type) select.type = payload.type;
193
+ if (props.id && payload.id) select.id = payload.id;
194
+ if (props.customId && payload.custom_id) select.customId = payload.custom_id;
195
+ // Check if this is the role select response
196
+ if ('values' in payload) {
197
+ if (props.values && payload.values) select.values = payload.values;
198
+ if (props.resolved && payload.resolved) select.resolved = bot.transformers.interactionDataResolved(bot, payload.resolved);
199
+ } else {
200
+ if (props.placeholder && payload.placeholder) select.placeholder = payload.placeholder;
201
+ if (props.minValues && payload.min_values) select.minValues = payload.min_values;
202
+ if (props.maxValues && payload.max_values) select.maxValues = payload.max_values;
203
+ if (props.defaultValues && payload.default_values) select.defaultValues = payload.default_values.map((defaultValue)=>({
204
+ id: bot.transformers.snowflake(defaultValue.id),
205
+ type: defaultValue.type
206
+ }));
207
+ if (props.disabled && payload.disabled) select.disabled = payload.disabled;
208
+ }
209
+ return select;
210
+ }
211
+ function transformMentionableSelectMenuComponent(bot, payload) {
212
+ const props = bot.transformers.desiredProperties.component;
213
+ const select = {};
214
+ if (props.type && payload.type) select.type = payload.type;
215
+ if (props.id && payload.id) select.id = payload.id;
216
+ if (props.customId && payload.custom_id) select.customId = payload.custom_id;
217
+ // Check if this is the mentionable select response
218
+ if ('values' in payload) {
219
+ if (props.values && payload.values) select.values = payload.values;
220
+ if (props.resolved && payload.resolved) select.resolved = bot.transformers.interactionDataResolved(bot, payload.resolved);
221
+ } else {
222
+ if (props.placeholder && payload.placeholder) select.placeholder = payload.placeholder;
223
+ if (props.minValues && payload.min_values) select.minValues = payload.min_values;
224
+ if (props.maxValues && payload.max_values) select.maxValues = payload.max_values;
225
+ if (props.defaultValues && payload.default_values) select.defaultValues = payload.default_values.map((defaultValue)=>({
226
+ id: bot.transformers.snowflake(defaultValue.id),
227
+ type: defaultValue.type
228
+ }));
229
+ if (props.disabled && payload.disabled) select.disabled = payload.disabled;
230
+ }
231
+ return select;
232
+ }
233
+ function transformChannelSelectMenuComponent(bot, payload) {
234
+ const props = bot.transformers.desiredProperties.component;
235
+ const select = {};
236
+ if (props.type && payload.type) select.type = payload.type;
237
+ if (props.id && payload.id) select.id = payload.id;
238
+ if (props.customId && payload.custom_id) select.customId = payload.custom_id;
239
+ // Check if this is the channel select response
240
+ if ('values' in payload) {
241
+ if (props.values && payload.values) select.values = payload.values;
242
+ if (props.resolved && payload.resolved) select.resolved = bot.transformers.interactionDataResolved(bot, payload.resolved);
243
+ } else {
244
+ if (props.placeholder && payload.placeholder) select.placeholder = payload.placeholder;
245
+ if (props.minValues && payload.min_values) select.minValues = payload.min_values;
246
+ if (props.maxValues && payload.max_values) select.maxValues = payload.max_values;
247
+ if (props.defaultValues && payload.default_values) select.defaultValues = payload.default_values.map((defaultValue)=>({
248
+ id: bot.transformers.snowflake(defaultValue.id),
249
+ type: defaultValue.type
250
+ }));
251
+ if (props.channelTypes && payload.channel_types) select.channelTypes = payload.channel_types;
252
+ if (props.disabled && payload.disabled) select.disabled = payload.disabled;
253
+ }
254
+ return select;
255
+ }
154
256
  function transformSectionComponent(bot, payload) {
155
257
  const props = bot.transformers.desiredProperties.component;
156
258
  const section = {};
@@ -238,5 +340,47 @@ function transformFileUploadComponent(bot, payload) {
238
340
  }
239
341
  return fileUpload;
240
342
  }
343
+ function transformRadioGroupComponent(bot, payload) {
344
+ const props = bot.transformers.desiredProperties.component;
345
+ const radioGroup = {};
346
+ if (props.type && payload.type) radioGroup.type = payload.type;
347
+ if (props.id && payload.id) radioGroup.id = payload.id;
348
+ if (props.customId && payload.custom_id) radioGroup.customId = payload.custom_id;
349
+ // Check if this is the component (has options) or the interaction response (modal submit, has value)
350
+ if ('options' in payload) {
351
+ if (props.options && payload.options) radioGroup.options = payload.options;
352
+ if (props.required && payload.required !== undefined) radioGroup.required = payload.required;
353
+ } else {
354
+ if (props.value) radioGroup.value = payload.value ?? undefined;
355
+ }
356
+ return radioGroup;
357
+ }
358
+ function transformCheckboxGroupComponent(bot, payload) {
359
+ const props = bot.transformers.desiredProperties.component;
360
+ const checkboxGroup = {};
361
+ if (props.type && payload.type) checkboxGroup.type = payload.type;
362
+ if (props.id && payload.id) checkboxGroup.id = payload.id;
363
+ if (props.customId && payload.custom_id) checkboxGroup.customId = payload.custom_id;
364
+ // Check if this is the component (has options) or the interaction response (modal submit, has values)
365
+ if ('options' in payload) {
366
+ if (props.options && payload.options) checkboxGroup.options = payload.options;
367
+ if (props.minValues && payload.min_values !== undefined) checkboxGroup.minValues = payload.min_values;
368
+ if (props.maxValues && payload.max_values !== undefined) checkboxGroup.maxValues = payload.max_values;
369
+ if (props.required && payload.required !== undefined) checkboxGroup.required = payload.required;
370
+ } else {
371
+ if (props.values && payload.values) checkboxGroup.values = payload.values;
372
+ }
373
+ return checkboxGroup;
374
+ }
375
+ function transformCheckboxComponent(bot, payload) {
376
+ const props = bot.transformers.desiredProperties.component;
377
+ const checkbox = {};
378
+ if (props.type && payload.type) checkbox.type = payload.type;
379
+ if (props.id && payload.id) checkbox.id = payload.id;
380
+ if (props.customId && payload.custom_id) checkbox.customId = payload.custom_id;
381
+ if (props.value && 'value' in payload) checkbox.value = payload.value;
382
+ if (props.default && 'default' in payload) checkbox.default = payload.default;
383
+ return checkbox;
384
+ }
241
385
 
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDb250YWluZXJDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVVcGxvYWRDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZEZpbGVVcGxvYWRJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRMYWJlbENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTGFiZWxJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTZXBhcmF0b3JDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0RGlzcGxheUludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgTWVzc2FnZUNvbXBvbmVudFR5cGVzLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudCwgTWVkaWFHYWxsZXJ5SXRlbSwgVW5mdXJsZWRNZWRpYUl0ZW0gfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBsZXQgY29tcG9uZW50OiBDb21wb25lbnQ7XG5cbiAgLy8gVGhpcyBzd2l0Y2ggaXMgZXhoYXVzdGl2ZSwgc28gd2UgZG9udCBuZWVkIHRoZSBkZWZhdWx0IGNhc2UgYW5kIFRTIGRvZXMgbm90IGVycm9yIG91dCBmb3IgdGhlIHVuLWluaXRpYWxpemVkIGNvbXBvbmVudCB2YXJpYWJsZVxuICBzd2l0Y2ggKHBheWxvYWQudHlwZSkge1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkFjdGlvblJvdzpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUFjdGlvblJvdyhib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQnV0dG9uOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXI6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1Db250YWluZXJDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHRJbnB1dDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU3RyaW5nU2VsZWN0OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlVzZXJTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUm9sZVNlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZW50aW9uYWJsZVNlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGFubmVsU2VsZWN0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUxhYmVsQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlVXBsb2FkOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5jb21wb25lbnQoYm90LCBwYXlsb2FkLCBjb21wb25lbnQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0oYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSk6IFVuZnVybGVkTWVkaWFJdGVtIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLnVuZnVybGVkTWVkaWFJdGVtO1xuICBjb25zdCBtZWRpYUl0ZW0gPSB7fSBhcyBVbmZ1cmxlZE1lZGlhSXRlbTtcblxuICBpZiAocHJvcHMudXJsICYmIHBheWxvYWQudXJsKSBtZWRpYUl0ZW0udXJsID0gcGF5bG9hZC51cmw7XG4gIGlmIChwcm9wcy5wcm94eVVybCAmJiBwYXlsb2FkLnByb3h5X3VybCkgbWVkaWFJdGVtLnByb3h5VXJsID0gcGF5bG9hZC5wcm94eV91cmw7XG4gIGlmIChwcm9wcy5oZWlnaHQgJiYgcGF5bG9hZC5oZWlnaHQpIG1lZGlhSXRlbS5oZWlnaHQgPSBwYXlsb2FkLmhlaWdodDtcbiAgaWYgKHByb3BzLndpZHRoICYmIHBheWxvYWQud2lkdGgpIG1lZGlhSXRlbS53aWR0aCA9IHBheWxvYWQud2lkdGg7XG4gIGlmIChwcm9wcy5jb250ZW50VHlwZSAmJiBwYXlsb2FkLmNvbnRlbnRfdHlwZSkgbWVkaWFJdGVtLmNvbnRlbnRUeXBlID0gcGF5bG9hZC5jb250ZW50X3R5cGU7XG4gIGlmIChwcm9wcy5hdHRhY2htZW50SWQgJiYgcGF5bG9hZC5hdHRhY2htZW50X2lkKSBtZWRpYUl0ZW0uYXR0YWNobWVudElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hdHRhY2htZW50X2lkKTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQsIG1lZGlhSXRlbSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSk6IE1lZGlhR2FsbGVyeUl0ZW0ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVkaWFHYWxsZXJ5SXRlbTtcbiAgY29uc3QgZ2FsbGVyeUl0ZW0gPSB7fSBhcyBNZWRpYUdhbGxlcnlJdGVtO1xuXG4gIGlmIChwcm9wcy5tZWRpYSAmJiBwYXlsb2FkLm1lZGlhKSBnYWxsZXJ5SXRlbS5tZWRpYSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKTtcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGdhbGxlcnlJdGVtLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBnYWxsZXJ5SXRlbS5zcG9pbGVyID0gcGF5bG9hZC5zcG9pbGVyO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBwYXlsb2FkLCBnYWxsZXJ5SXRlbSk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUFjdGlvblJvdyhib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEFjdGlvblJvdyk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGFjdGlvblJvdyA9IHt9IGFzIENvbXBvbmVudDtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGFjdGlvblJvdy50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYWN0aW9uUm93LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKVxuICAgIGFjdGlvblJvdy5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpO1xuXG4gIHJldHVybiBhY3Rpb25Sb3c7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGNvbnRhaW5lciA9IHt9IGFzIENvbXBvbmVudDtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNvbnRhaW5lci50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY29udGFpbmVyLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmFjY2VudENvbG9yICYmIHBheWxvYWQuYWNjZW50X2NvbG9yKSBjb250YWluZXIuYWNjZW50Q29sb3IgPSBwYXlsb2FkLmFjY2VudF9jb2xvcjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBjb250YWluZXIuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKVxuICAgIGNvbnRhaW5lci5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpO1xuXG4gIHJldHVybiBjb250YWluZXI7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEJ1dHRvbkNvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGJ1dHRvbiA9IHt9IGFzIENvbXBvbmVudDtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGJ1dHRvbi50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYnV0dG9uLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGJ1dHRvbi5sYWJlbCA9IHBheWxvYWQubGFiZWw7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgYnV0dG9uLmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG4gIGlmIChwcm9wcy5zdHlsZSAmJiBwYXlsb2FkLnN0eWxlKSBidXR0b24uc3R5bGUgPSBwYXlsb2FkLnN0eWxlO1xuICBpZiAocHJvcHMuZW1vamkgJiYgcGF5bG9hZC5lbW9qaSkgYnV0dG9uLmVtb2ppID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHBheWxvYWQuZW1vamkpO1xuICBpZiAocHJvcHMudXJsICYmIHBheWxvYWQudXJsKSBidXR0b24udXJsID0gcGF5bG9hZC51cmw7XG4gIGlmIChwcm9wcy5kaXNhYmxlZCAmJiBwYXlsb2FkLmRpc2FibGVkKSBidXR0b24uZGlzYWJsZWQgPSBwYXlsb2FkLmRpc2FibGVkO1xuICBpZiAocHJvcHMuc2t1SWQgJiYgcGF5bG9hZC5za3VfaWQpIGJ1dHRvbi5za3VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuc2t1X2lkKTtcblxuICByZXR1cm4gYnV0dG9uO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQgfCBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGlucHV0ID0ge30gYXMgQ29tcG9uZW50O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgaW5wdXQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGlucHV0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLnZhbHVlICYmIHBheWxvYWQudmFsdWUpIGlucHV0LnZhbHVlID0gcGF5bG9hZC52YWx1ZTtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBpbnB1dC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIGl0IGlzIHRoZSBjb21wb25lbnQgb3IgdGhlIHJlc3BvbnNlXG4gIGlmICgnc3R5bGUnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuc3R5bGUgJiYgcGF5bG9hZC5zdHlsZSkgaW5wdXQuc3R5bGUgPSBwYXlsb2FkLnN0eWxlO1xuICAgIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkKSBpbnB1dC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gICAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGlucHV0LmxhYmVsID0gcGF5bG9hZC5sYWJlbDtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgaW5wdXQucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5MZW5ndGggJiYgcGF5bG9hZC5taW5fbGVuZ3RoKSBpbnB1dC5taW5MZW5ndGggPSBwYXlsb2FkLm1pbl9sZW5ndGg7XG4gICAgaWYgKHByb3BzLm1heExlbmd0aCAmJiBwYXlsb2FkLm1heF9sZW5ndGgpIGlucHV0Lm1heExlbmd0aCA9IHBheWxvYWQubWF4X2xlbmd0aDtcbiAgfVxuXG4gIHJldHVybiBpbnB1dDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQgfCBEaXNjb3JkU3RyaW5nU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIENvbXBvbmVudDtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlbGVjdC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VsZWN0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBzZWxlY3QuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBzdHJpbmcgc2VsZWN0IHJlc3BvbnNlXG4gIGlmICgndmFsdWVzJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLnZhbHVlcyAmJiBwYXlsb2FkLnZhbHVlcykgc2VsZWN0LnZhbHVlcyA9IHBheWxvYWQudmFsdWVzO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBzZWxlY3QubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuY2hhbm5lbFR5cGVzICYmIHBheWxvYWQuY2hhbm5lbF90eXBlcykgc2VsZWN0LmNoYW5uZWxUeXBlcyA9IHBheWxvYWQuY2hhbm5lbF90eXBlcztcbiAgICBpZiAocHJvcHMub3B0aW9ucyAmJiBwYXlsb2FkLm9wdGlvbnMpXG4gICAgICBzZWxlY3Qub3B0aW9ucyA9IHBheWxvYWQub3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gKHtcbiAgICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCxcbiAgICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246IG9wdGlvbi5kZXNjcmlwdGlvbixcbiAgICAgICAgZW1vamk6IG9wdGlvbi5lbW9qaVxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBpZDogb3B0aW9uLmVtb2ppLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uob3B0aW9uLmVtb2ppLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgbmFtZTogb3B0aW9uLmVtb2ppLm5hbWUgPz8gdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBhbmltYXRlZDogb3B0aW9uLmVtb2ppLmFuaW1hdGVkLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBkZWZhdWx0OiBvcHRpb24uZGVmYXVsdCxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRTZWN0aW9uQ29tcG9uZW50KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VjdGlvbiA9IHt9IGFzIENvbXBvbmVudDtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlY3Rpb24udHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlY3Rpb24uaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHMpIHNlY3Rpb24uY29tcG9uZW50cyA9IHBheWxvYWQuY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKTtcbiAgaWYgKHByb3BzLmFjY2Vzc29yeSAmJiBwYXlsb2FkLmFjY2Vzc29yeSkgc2VjdGlvbi5hY2Nlc3NvcnkgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuYWNjZXNzb3J5KTtcblxuICByZXR1cm4gc2VjdGlvbjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgdGh1bWJuYWlsID0ge30gYXMgQ29tcG9uZW50O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGh1bWJuYWlsLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSB0aHVtYm5haWwuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMubWVkaWEgJiYgcGF5bG9hZC5tZWRpYSkgdGh1bWJuYWlsLm1lZGlhID0gYm90LnRyYW5zZm9ybWVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpO1xuICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5kZXNjcmlwdGlvbikgdGh1bWJuYWlsLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSB0aHVtYm5haWwuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcblxuICByZXR1cm4gdGh1bWJuYWlsO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQpOiBDb21wb25lbnQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBtZWRpYUdhbGxlcnkgPSB7fSBhcyBDb21wb25lbnQ7XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBtZWRpYUdhbGxlcnkudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIG1lZGlhR2FsbGVyeS5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5pdGVtcyAmJiBwYXlsb2FkLml0ZW1zKSBtZWRpYUdhbGxlcnkuaXRlbXMgPSBwYXlsb2FkLml0ZW1zLm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5tZWRpYUdhbGxlcnlJdGVtKGJvdCwgaXRlbSkpO1xuXG4gIHJldHVybiBtZWRpYUdhbGxlcnk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRGaWxlQ29tcG9uZW50KTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgZmlsZSA9IHt9IGFzIENvbXBvbmVudDtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGUudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGZpbGUuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuZmlsZSAmJiBwYXlsb2FkLmZpbGUpIGZpbGUuZmlsZSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUpO1xuICBpZiAocHJvcHMuc3BvaWxlciAmJiBwYXlsb2FkLnNwb2lsZXIpIGZpbGUuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5uYW1lKSBmaWxlLm5hbWUgPSBwYXlsb2FkLm5hbWU7XG4gIGlmIChwcm9wcy5zaXplICYmIHBheWxvYWQuc2l6ZSkgZmlsZS5zaXplID0gcGF5bG9hZC5zaXplO1xuXG4gIHJldHVybiBmaWxlO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1UZXh0RGlzcGxheUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50IHwgRGlzY29yZFRleHREaXNwbGF5SW50ZXJhY3Rpb25SZXNwb25zZSk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHRleHREaXNwbGF5ID0ge30gYXMgQ29tcG9uZW50O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGV4dERpc3BsYXkudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHRleHREaXNwbGF5LmlkID0gcGF5bG9hZC5pZDtcbiAgLy8gVGhhdCB0aGF0IHRoaXMgaXNuJ3QgYSByZXNwb25zZVxuICBpZiAoJ2NvbnRlbnQnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuY29udGVudCAmJiBwYXlsb2FkLmNvbnRlbnQpIHRleHREaXNwbGF5LmNvbnRlbnQgPSBwYXlsb2FkLmNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gdGV4dERpc3BsYXk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlcGFyYXRvckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFNlcGFyYXRvckNvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlcGFyYXRvciA9IHt9IGFzIENvbXBvbmVudDtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlcGFyYXRvci50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VwYXJhdG9yLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmRpdmlkZXIgJiYgcGF5bG9hZC5kaXZpZGVyKSBzZXBhcmF0b3IuZGl2aWRlciA9IHBheWxvYWQuZGl2aWRlcjtcbiAgaWYgKHByb3BzLnNwYWNpbmcgJiYgcGF5bG9hZC5zcGFjaW5nKSBzZXBhcmF0b3Iuc3BhY2luZyA9IHBheWxvYWQuc3BhY2luZztcblxuICByZXR1cm4gc2VwYXJhdG9yO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1MYWJlbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZExhYmVsQ29tcG9uZW50IHwgRGlzY29yZExhYmVsSW50ZXJhY3Rpb25SZXNwb25zZSk6IENvbXBvbmVudCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGxhYmVsID0ge30gYXMgQ29tcG9uZW50O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgbGFiZWwudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGxhYmVsLmlkID0gcGF5bG9hZC5pZDtcbiAgLy8gQ2hlY2sgdGhhdCB0aGlzIGlzbid0IGEgcmVzcG9uc2VcbiAgaWYgKCdsYWJlbCcgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5sYWJlbCAmJiBwYXlsb2FkLmxhYmVsKSBsYWJlbC5sYWJlbCA9IHBheWxvYWQubGFiZWw7XG4gICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGxhYmVsLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgfVxuICBpZiAocHJvcHMuY29tcG9uZW50ICYmIHBheWxvYWQuY29tcG9uZW50KSBsYWJlbC5jb21wb25lbnQgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuY29tcG9uZW50KTtcblxuICByZXR1cm4gbGFiZWw7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRGaWxlVXBsb2FkQ29tcG9uZW50IHwgRGlzY29yZEZpbGVVcGxvYWRJbnRlcmFjdGlvblJlc3BvbnNlKTogQ29tcG9uZW50IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgZmlsZVVwbG9hZCA9IHt9IGFzIENvbXBvbmVudDtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGVVcGxvYWQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGZpbGVVcGxvYWQuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGZpbGVVcGxvYWQuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayB0aGF0IHRoaXMgaXMgYSByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIGZpbGVVcGxvYWQudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIGZpbGVVcGxvYWQubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBmaWxlVXBsb2FkLm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMucmVxdWlyZWQgJiYgcGF5bG9hZC5yZXF1aXJlZCkgZmlsZVVwbG9hZC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gIH1cblxuICByZXR1cm4gZmlsZVVwbG9hZDtcbn1cbiJdLCJuYW1lcyI6WyJNZXNzYWdlQ29tcG9uZW50VHlwZXMiLCJ0cmFuc2Zvcm1Db21wb25lbnQiLCJib3QiLCJwYXlsb2FkIiwiY29tcG9uZW50IiwidHlwZSIsIkFjdGlvblJvdyIsInRyYW5zZm9ybUFjdGlvblJvdyIsIkJ1dHRvbiIsInRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudCIsIkNvbnRhaW5lciIsInRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudCIsIlRleHRJbnB1dCIsInRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudCIsIlN0cmluZ1NlbGVjdCIsIlVzZXJTZWxlY3QiLCJSb2xlU2VsZWN0IiwiTWVudGlvbmFibGVTZWxlY3QiLCJDaGFubmVsU2VsZWN0IiwidHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudCIsIlNlY3Rpb24iLCJ0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50IiwiVGh1bWJuYWlsIiwidHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50IiwiTWVkaWFHYWxsZXJ5IiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50IiwiRmlsZSIsInRyYW5zZm9ybUZpbGVDb21wb25lbnQiLCJTZXBhcmF0b3IiLCJ0cmFuc2Zvcm1TZXBhcmF0b3JDb21wb25lbnQiLCJUZXh0RGlzcGxheSIsInRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50IiwiTGFiZWwiLCJ0cmFuc2Zvcm1MYWJlbENvbXBvbmVudCIsIkZpbGVVcGxvYWQiLCJ0cmFuc2Zvcm1GaWxlVXBsb2FkQ29tcG9uZW50IiwidHJhbnNmb3JtZXJzIiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJ1bmZ1cmxlZE1lZGlhSXRlbSIsIm1lZGlhSXRlbSIsInVybCIsInByb3h5VXJsIiwicHJveHlfdXJsIiwiaGVpZ2h0Iiwid2lkdGgiLCJjb250ZW50VHlwZSIsImNvbnRlbnRfdHlwZSIsImF0dGFjaG1lbnRJZCIsImF0dGFjaG1lbnRfaWQiLCJzbm93Zmxha2UiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtIiwibWVkaWFHYWxsZXJ5SXRlbSIsImdhbGxlcnlJdGVtIiwibWVkaWEiLCJkZXNjcmlwdGlvbiIsInNwb2lsZXIiLCJhY3Rpb25Sb3ciLCJpZCIsImNvbXBvbmVudHMiLCJtYXAiLCJjb250YWluZXIiLCJhY2NlbnRDb2xvciIsImFjY2VudF9jb2xvciIsImJ1dHRvbiIsImxhYmVsIiwiY3VzdG9tSWQiLCJjdXN0b21faWQiLCJzdHlsZSIsImVtb2ppIiwiZGlzYWJsZWQiLCJza3VJZCIsInNrdV9pZCIsImlucHV0IiwidmFsdWUiLCJyZXF1aXJlZCIsInBsYWNlaG9sZGVyIiwibWluTGVuZ3RoIiwibWluX2xlbmd0aCIsIm1heExlbmd0aCIsIm1heF9sZW5ndGgiLCJzZWxlY3QiLCJ2YWx1ZXMiLCJtaW5WYWx1ZXMiLCJtaW5fdmFsdWVzIiwibWF4VmFsdWVzIiwibWF4X3ZhbHVlcyIsImRlZmF1bHRWYWx1ZXMiLCJkZWZhdWx0X3ZhbHVlcyIsImRlZmF1bHRWYWx1ZSIsImNoYW5uZWxUeXBlcyIsImNoYW5uZWxfdHlwZXMiLCJvcHRpb25zIiwib3B0aW9uIiwidW5kZWZpbmVkIiwibmFtZSIsImFuaW1hdGVkIiwiZGVmYXVsdCIsInNlY3Rpb24iLCJhY2Nlc3NvcnkiLCJ0aHVtYm5haWwiLCJtZWRpYUdhbGxlcnkiLCJpdGVtcyIsIml0ZW0iLCJmaWxlIiwic2l6ZSIsInRleHREaXNwbGF5IiwiY29udGVudCIsInNlcGFyYXRvciIsImRpdmlkZXIiLCJzcGFjaW5nIiwiZmlsZVVwbG9hZCJdLCJtYXBwaW5ncyI6IkFBQUEsU0F1QkVBLHFCQUFxQixRQUNoQixvQkFBb0I7QUFJM0IsT0FBTyxTQUFTQyxtQkFBbUJDLEdBQVEsRUFBRUMsT0FBc0Y7SUFDakksSUFBSUM7SUFFSixrSUFBa0k7SUFDbEksT0FBUUQsUUFBUUUsSUFBSTtRQUNsQixLQUFLTCxzQkFBc0JNLFNBQVM7WUFDbENGLFlBQVlHLG1CQUFtQkwsS0FBS0M7WUFDcEM7UUFDRixLQUFLSCxzQkFBc0JRLE1BQU07WUFDL0JKLFlBQVlLLHlCQUF5QlAsS0FBS0M7WUFDMUM7UUFDRixLQUFLSCxzQkFBc0JVLFNBQVM7WUFDbENOLFlBQVlPLDRCQUE0QlQsS0FBS0M7WUFDN0M7UUFDRixLQUFLSCxzQkFBc0JZLFNBQVM7WUFDbENSLFlBQVlTLDRCQUE0QlgsS0FBS0M7WUFDN0M7UUFDRixLQUFLSCxzQkFBc0JjLFlBQVk7UUFDdkMsS0FBS2Qsc0JBQXNCZSxVQUFVO1FBQ3JDLEtBQUtmLHNCQUFzQmdCLFVBQVU7UUFDckMsS0FBS2hCLHNCQUFzQmlCLGlCQUFpQjtRQUM1QyxLQUFLakIsc0JBQXNCa0IsYUFBYTtZQUN0Q2QsWUFBWWUsNkJBQTZCakIsS0FBS0M7WUFDOUM7UUFDRixLQUFLSCxzQkFBc0JvQixPQUFPO1lBQ2hDaEIsWUFBWWlCLDBCQUEwQm5CLEtBQUtDO1lBQzNDO1FBQ0YsS0FBS0gsc0JBQXNCc0IsU0FBUztZQUNsQ2xCLFlBQVltQiw0QkFBNEJyQixLQUFLQztZQUM3QztRQUNGLEtBQUtILHNCQUFzQndCLFlBQVk7WUFDckNwQixZQUFZcUIsK0JBQStCdkIsS0FBS0M7WUFDaEQ7UUFDRixLQUFLSCxzQkFBc0IwQixJQUFJO1lBQzdCdEIsWUFBWXVC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
386
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkQ2hlY2tib3hDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRDaGVja2JveEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZExhYmVsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRMYWJlbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHlwZSBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRSb2xlU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkU2VwYXJhdG9yQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0RGlzcGxheUludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgdHlwZSBEaXNjb3JkVXNlclNlbGVjdENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIE1lc3NhZ2VDb21wb25lbnRUeXBlcyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudCwgTWVkaWFHYWxsZXJ5SXRlbSwgVW5mdXJsZWRNZWRpYUl0ZW0gfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBsZXQgY29tcG9uZW50OiBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICAvLyBUaGlzIHN3aXRjaCBpcyBleGhhdXN0aXZlLCBzbyB3ZSBkb250IG5lZWQgdGhlIGRlZmF1bHQgY2FzZSBhbmQgVFMgZG9lcyBub3QgZXJyb3Igb3V0IGZvciB0aGUgdW4taW5pdGlhbGl6ZWQgY29tcG9uZW50IHZhcmlhYmxlXG4gIHN3aXRjaCAocGF5bG9hZC50eXBlKSB7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b246XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1TdHJpbmdTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtVXNlclNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJvbGVTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoYW5uZWxTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1DaGFubmVsU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUxhYmVsQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlVXBsb2FkOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUmFkaW9Hcm91cDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVJhZGlvR3JvdXBDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94R3JvdXA6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1DaGVja2JveEdyb3VwQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGVja2JveDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQsIGNvbXBvbmVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKTogVW5mdXJsZWRNZWRpYUl0ZW0ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMudW5mdXJsZWRNZWRpYUl0ZW07XG4gIGNvbnN0IG1lZGlhSXRlbSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPFVuZnVybGVkTWVkaWFJdGVtLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnVybCAmJiBwYXlsb2FkLnVybCkgbWVkaWFJdGVtLnVybCA9IHBheWxvYWQudXJsO1xuICBpZiAocHJvcHMucHJveHlVcmwgJiYgcGF5bG9hZC5wcm94eV91cmwpIG1lZGlhSXRlbS5wcm94eVVybCA9IHBheWxvYWQucHJveHlfdXJsO1xuICBpZiAocHJvcHMuaGVpZ2h0ICYmIHBheWxvYWQuaGVpZ2h0KSBtZWRpYUl0ZW0uaGVpZ2h0ID0gcGF5bG9hZC5oZWlnaHQ7XG4gIGlmIChwcm9wcy53aWR0aCAmJiBwYXlsb2FkLndpZHRoKSBtZWRpYUl0ZW0ud2lkdGggPSBwYXlsb2FkLndpZHRoO1xuICBpZiAocHJvcHMuY29udGVudFR5cGUgJiYgcGF5bG9hZC5jb250ZW50X3R5cGUpIG1lZGlhSXRlbS5jb250ZW50VHlwZSA9IHBheWxvYWQuY29udGVudF90eXBlO1xuICBpZiAocHJvcHMuYXR0YWNobWVudElkICYmIHBheWxvYWQuYXR0YWNobWVudF9pZCkgbWVkaWFJdGVtLmF0dGFjaG1lbnRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudF9pZCk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLCBtZWRpYUl0ZW0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0pOiBNZWRpYUdhbGxlcnlJdGVtIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lZGlhR2FsbGVyeUl0ZW07XG4gIGNvbnN0IGdhbGxlcnlJdGVtID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8TWVkaWFHYWxsZXJ5SXRlbSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5tZWRpYSAmJiBwYXlsb2FkLm1lZGlhKSBnYWxsZXJ5SXRlbS5tZWRpYSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKTtcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGdhbGxlcnlJdGVtLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBnYWxsZXJ5SXRlbS5zcG9pbGVyID0gcGF5bG9hZC5zcG9pbGVyO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBwYXlsb2FkLCBnYWxsZXJ5SXRlbSk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUFjdGlvblJvdyhib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEFjdGlvblJvdykge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBhY3Rpb25Sb3cgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGFjdGlvblJvdy50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYWN0aW9uUm93LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKVxuICAgIGFjdGlvblJvdy5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpO1xuXG4gIHJldHVybiBhY3Rpb25Sb3c7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBjb250YWluZXIgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNvbnRhaW5lci50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY29udGFpbmVyLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmFjY2VudENvbG9yICYmIHBheWxvYWQuYWNjZW50X2NvbG9yKSBjb250YWluZXIuYWNjZW50Q29sb3IgPSBwYXlsb2FkLmFjY2VudF9jb2xvcjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBjb250YWluZXIuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKVxuICAgIGNvbnRhaW5lci5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpO1xuXG4gIHJldHVybiBjb250YWluZXI7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEJ1dHRvbkNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBidXR0b24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGJ1dHRvbi50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYnV0dG9uLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGJ1dHRvbi5sYWJlbCA9IHBheWxvYWQubGFiZWw7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgYnV0dG9uLmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG4gIGlmIChwcm9wcy5zdHlsZSAmJiBwYXlsb2FkLnN0eWxlKSBidXR0b24uc3R5bGUgPSBwYXlsb2FkLnN0eWxlO1xuICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IERlYWwgd2l0aCBwYXJ0aWFsc1xuICBpZiAocHJvcHMuZW1vamkgJiYgcGF5bG9hZC5lbW9qaSkgYnV0dG9uLmVtb2ppID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHBheWxvYWQuZW1vamkpO1xuICBpZiAocHJvcHMudXJsICYmIHBheWxvYWQudXJsKSBidXR0b24udXJsID0gcGF5bG9hZC51cmw7XG4gIGlmIChwcm9wcy5kaXNhYmxlZCAmJiBwYXlsb2FkLmRpc2FibGVkKSBidXR0b24uZGlzYWJsZWQgPSBwYXlsb2FkLmRpc2FibGVkO1xuICBpZiAocHJvcHMuc2t1SWQgJiYgcGF5bG9hZC5za3VfaWQpIGJ1dHRvbi5za3VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuc2t1X2lkKTtcblxuICByZXR1cm4gYnV0dG9uO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQgfCBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBpbnB1dCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgaW5wdXQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGlucHV0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLnZhbHVlICYmIHBheWxvYWQudmFsdWUpIGlucHV0LnZhbHVlID0gcGF5bG9hZC52YWx1ZTtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBpbnB1dC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIGl0IGlzIHRoZSBjb21wb25lbnQgb3IgdGhlIHJlc3BvbnNlXG4gIGlmICgnc3R5bGUnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuc3R5bGUgJiYgcGF5bG9hZC5zdHlsZSkgaW5wdXQuc3R5bGUgPSBwYXlsb2FkLnN0eWxlO1xuICAgIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkKSBpbnB1dC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gICAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGlucHV0LmxhYmVsID0gcGF5bG9hZC5sYWJlbDtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgaW5wdXQucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5MZW5ndGggJiYgcGF5bG9hZC5taW5fbGVuZ3RoKSBpbnB1dC5taW5MZW5ndGggPSBwYXlsb2FkLm1pbl9sZW5ndGg7XG4gICAgaWYgKHByb3BzLm1heExlbmd0aCAmJiBwYXlsb2FkLm1heF9sZW5ndGgpIGlucHV0Lm1heExlbmd0aCA9IHBheWxvYWQubWF4X2xlbmd0aDtcbiAgfVxuXG4gIHJldHVybiBpbnB1dDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFN0cmluZ1NlbGVjdENvbXBvbmVudCB8IERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZWxlY3QuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIHNlbGVjdC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIHN0cmluZyBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnBsYWNlaG9sZGVyICYmIHBheWxvYWQucGxhY2Vob2xkZXIpIHNlbGVjdC5wbGFjZWhvbGRlciA9IHBheWxvYWQucGxhY2Vob2xkZXI7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIHNlbGVjdC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMpIHNlbGVjdC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKVxuICAgICAgc2VsZWN0Lm9wdGlvbnMgPSBwYXlsb2FkLm9wdGlvbnMubWFwKChvcHRpb24pID0+ICh7XG4gICAgICAgIGxhYmVsOiBvcHRpb24ubGFiZWwsXG4gICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb24uZGVzY3JpcHRpb24sXG4gICAgICAgIGVtb2ppOiBvcHRpb24uZW1vamlcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgaWQ6IG9wdGlvbi5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIG5hbWU6IG9wdGlvbi5lbW9qaS5uYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgYW5pbWF0ZWQ6IG9wdGlvbi5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGVmYXVsdDogb3B0aW9uLmRlZmF1bHQsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VsZWN0ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBzZWxlY3QudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgc2VsZWN0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgdXNlciBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlc29sdmVkICYmIHBheWxvYWQucmVzb2x2ZWQpIHNlbGVjdC5yZXNvbHZlZCA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCBwYXlsb2FkLnJlc29sdmVkKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlcjtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgc2VsZWN0Lm1pblZhbHVlcyA9IHBheWxvYWQubWluX3ZhbHVlcztcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgc2VsZWN0Lm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlcyAmJiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzKVxuICAgICAgc2VsZWN0LmRlZmF1bHRWYWx1ZXMgPSBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzLm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VsZWN0ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBzZWxlY3QudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgc2VsZWN0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgcm9sZSBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlc29sdmVkICYmIHBheWxvYWQucmVzb2x2ZWQpIHNlbGVjdC5yZXNvbHZlZCA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCBwYXlsb2FkLnJlc29sdmVkKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlcjtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgc2VsZWN0Lm1pblZhbHVlcyA9IHBheWxvYWQubWluX3ZhbHVlcztcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgc2VsZWN0Lm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlcyAmJiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzKVxuICAgICAgc2VsZWN0LmRlZmF1bHRWYWx1ZXMgPSBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzLm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZWxlY3QuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIHNlbGVjdC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIG1lbnRpb25hYmxlIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgICBpZiAocHJvcHMucmVzb2x2ZWQgJiYgcGF5bG9hZC5yZXNvbHZlZCkgc2VsZWN0LnJlc29sdmVkID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQucmVzb2x2ZWQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBzZWxlY3QubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQ2hhbm5lbFNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBzZWxlY3QgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlbGVjdC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VsZWN0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBzZWxlY3QuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBjaGFubmVsIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgICBpZiAocHJvcHMucmVzb2x2ZWQgJiYgcGF5bG9hZC5yZXNvbHZlZCkgc2VsZWN0LnJlc29sdmVkID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQucmVzb2x2ZWQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBzZWxlY3QubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuY2hhbm5lbFR5cGVzICYmIHBheWxvYWQuY2hhbm5lbF90eXBlcykgc2VsZWN0LmNoYW5uZWxUeXBlcyA9IHBheWxvYWQuY2hhbm5lbF90eXBlcztcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRTZWN0aW9uQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlY3Rpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlY3Rpb24udHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlY3Rpb24uaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHMpIHNlY3Rpb24uY29tcG9uZW50cyA9IHBheWxvYWQuY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKTtcbiAgaWYgKHByb3BzLmFjY2Vzc29yeSAmJiBwYXlsb2FkLmFjY2Vzc29yeSkgc2VjdGlvbi5hY2Nlc3NvcnkgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuYWNjZXNzb3J5KTtcblxuICByZXR1cm4gc2VjdGlvbjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHRodW1ibmFpbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGh1bWJuYWlsLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSB0aHVtYm5haWwuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMubWVkaWEgJiYgcGF5bG9hZC5tZWRpYSkgdGh1bWJuYWlsLm1lZGlhID0gYm90LnRyYW5zZm9ybWVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpO1xuICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5kZXNjcmlwdGlvbikgdGh1bWJuYWlsLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSB0aHVtYm5haWwuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcblxuICByZXR1cm4gdGh1bWJuYWlsO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgbWVkaWFHYWxsZXJ5ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBtZWRpYUdhbGxlcnkudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIG1lZGlhR2FsbGVyeS5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5pdGVtcyAmJiBwYXlsb2FkLml0ZW1zKSBtZWRpYUdhbGxlcnkuaXRlbXMgPSBwYXlsb2FkLml0ZW1zLm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5tZWRpYUdhbGxlcnlJdGVtKGJvdCwgaXRlbSkpO1xuXG4gIHJldHVybiBtZWRpYUdhbGxlcnk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRGaWxlQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGZpbGUgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGUudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGZpbGUuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuZmlsZSAmJiBwYXlsb2FkLmZpbGUpIGZpbGUuZmlsZSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUpO1xuICBpZiAocHJvcHMuc3BvaWxlciAmJiBwYXlsb2FkLnNwb2lsZXIpIGZpbGUuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5uYW1lKSBmaWxlLm5hbWUgPSBwYXlsb2FkLm5hbWU7XG4gIGlmIChwcm9wcy5zaXplICYmIHBheWxvYWQuc2l6ZSkgZmlsZS5zaXplID0gcGF5bG9hZC5zaXplO1xuXG4gIHJldHVybiBmaWxlO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1UZXh0RGlzcGxheUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50IHwgRGlzY29yZFRleHREaXNwbGF5SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCB0ZXh0RGlzcGxheSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGV4dERpc3BsYXkudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHRleHREaXNwbGF5LmlkID0gcGF5bG9hZC5pZDtcbiAgLy8gVGhhdCB0aGF0IHRoaXMgaXNuJ3QgYSByZXNwb25zZVxuICBpZiAoJ2NvbnRlbnQnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuY29udGVudCAmJiBwYXlsb2FkLmNvbnRlbnQpIHRleHREaXNwbGF5LmNvbnRlbnQgPSBwYXlsb2FkLmNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gdGV4dERpc3BsYXk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlcGFyYXRvckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFNlcGFyYXRvckNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBzZXBhcmF0b3IgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlcGFyYXRvci50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VwYXJhdG9yLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmRpdmlkZXIgJiYgcGF5bG9hZC5kaXZpZGVyKSBzZXBhcmF0b3IuZGl2aWRlciA9IHBheWxvYWQuZGl2aWRlcjtcbiAgaWYgKHByb3BzLnNwYWNpbmcgJiYgcGF5bG9hZC5zcGFjaW5nKSBzZXBhcmF0b3Iuc3BhY2luZyA9IHBheWxvYWQuc3BhY2luZztcblxuICByZXR1cm4gc2VwYXJhdG9yO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1MYWJlbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZExhYmVsQ29tcG9uZW50IHwgRGlzY29yZExhYmVsSW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBsYWJlbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgbGFiZWwudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGxhYmVsLmlkID0gcGF5bG9hZC5pZDtcbiAgLy8gQ2hlY2sgdGhhdCB0aGlzIGlzbid0IGEgcmVzcG9uc2VcbiAgaWYgKCdsYWJlbCcgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5sYWJlbCAmJiBwYXlsb2FkLmxhYmVsKSBsYWJlbC5sYWJlbCA9IHBheWxvYWQubGFiZWw7XG4gICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGxhYmVsLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgfVxuICBpZiAocHJvcHMuY29tcG9uZW50ICYmIHBheWxvYWQuY29tcG9uZW50KSBsYWJlbC5jb21wb25lbnQgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuY29tcG9uZW50KTtcblxuICByZXR1cm4gbGFiZWw7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRGaWxlVXBsb2FkQ29tcG9uZW50IHwgRGlzY29yZEZpbGVVcGxvYWRJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGZpbGVVcGxvYWQgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGVVcGxvYWQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGZpbGVVcGxvYWQuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGZpbGVVcGxvYWQuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayB0aGF0IHRoaXMgaXMgYSByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIGZpbGVVcGxvYWQudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIGZpbGVVcGxvYWQubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBmaWxlVXBsb2FkLm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMucmVxdWlyZWQgJiYgcGF5bG9hZC5yZXF1aXJlZCkgZmlsZVVwbG9hZC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gIH1cblxuICByZXR1cm4gZmlsZVVwbG9hZDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQgfCBEaXNjb3JkUmFkaW9Hcm91cEludGVyYWN0aW9uUmVzcG9uc2UpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgcmFkaW9Hcm91cCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgcmFkaW9Hcm91cC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgcmFkaW9Hcm91cC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgcmFkaW9Hcm91cC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIGNvbXBvbmVudCAoaGFzIG9wdGlvbnMpIG9yIHRoZSBpbnRlcmFjdGlvbiByZXNwb25zZSAobW9kYWwgc3VibWl0LCBoYXMgdmFsdWUpXG4gIGlmICgnb3B0aW9ucycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5vcHRpb25zICYmIHBheWxvYWQub3B0aW9ucykgcmFkaW9Hcm91cC5vcHRpb25zID0gcGF5bG9hZC5vcHRpb25zO1xuICAgIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkICE9PSB1bmRlZmluZWQpIHJhZGlvR3JvdXAucmVxdWlyZWQgPSBwYXlsb2FkLnJlcXVpcmVkO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy52YWx1ZSkgcmFkaW9Hcm91cC52YWx1ZSA9IHBheWxvYWQudmFsdWUgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIHJhZGlvR3JvdXA7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoZWNrYm94R3JvdXBDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRDaGVja2JveEdyb3VwQ29tcG9uZW50IHwgRGlzY29yZENoZWNrYm94R3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGNoZWNrYm94R3JvdXAgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNoZWNrYm94R3JvdXAudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNoZWNrYm94R3JvdXAuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGNoZWNrYm94R3JvdXAuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBjb21wb25lbnQgKGhhcyBvcHRpb25zKSBvciB0aGUgaW50ZXJhY3Rpb24gcmVzcG9uc2UgKG1vZGFsIHN1Ym1pdCwgaGFzIHZhbHVlcylcbiAgaWYgKCdvcHRpb25zJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKSBjaGVja2JveEdyb3VwLm9wdGlvbnMgPSBwYXlsb2FkLm9wdGlvbnM7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlcXVpcmVkICYmIHBheWxvYWQucmVxdWlyZWQgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnZhbHVlcyAmJiBwYXlsb2FkLnZhbHVlcykgY2hlY2tib3hHcm91cC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgfVxuXG4gIHJldHVybiBjaGVja2JveEdyb3VwO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1DaGVja2JveENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENoZWNrYm94Q29tcG9uZW50IHwgRGlzY29yZENoZWNrYm94SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBjaGVja2JveCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgY2hlY2tib3gudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNoZWNrYm94LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBjaGVja2JveC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIGlmIChwcm9wcy52YWx1ZSAmJiAndmFsdWUnIGluIHBheWxvYWQpIGNoZWNrYm94LnZhbHVlID0gcGF5bG9hZC52YWx1ZTtcbiAgaWYgKHByb3BzLmRlZmF1bHQgJiYgJ2RlZmF1bHQnIGluIHBheWxvYWQpIGNoZWNrYm94LmRlZmF1bHQgPSBwYXlsb2FkLmRlZmF1bHQ7XG5cbiAgcmV0dXJuIGNoZWNrYm94O1xufVxuIl0sIm5hbWVzIjpbIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsInRyYW5zZm9ybUNvbXBvbmVudCIsImJvdCIsInBheWxvYWQiLCJjb21wb25lbnQiLCJ0eXBlIiwiQWN0aW9uUm93IiwidHJhbnNmb3JtQWN0aW9uUm93IiwiQnV0dG9uIiwidHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50IiwiQ29udGFpbmVyIiwidHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50IiwiVGV4dElucHV0IiwidHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50IiwiU3RyaW5nU2VsZWN0IiwidHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudCIsIlVzZXJTZWxlY3QiLCJ0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudCIsIlJvbGVTZWxlY3QiLCJ0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudCIsIk1lbnRpb25hYmxlU2VsZWN0IiwidHJhbnNmb3JtTWVudGlvbmFibGVTZWxlY3RNZW51Q29tcG9uZW50IiwiQ2hhbm5lbFNlbGVjdCIsInRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50IiwiU2VjdGlvbiIsInRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQiLCJUaHVtYm5haWwiLCJ0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQiLCJNZWRpYUdhbGxlcnkiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQiLCJGaWxlIiwidHJhbnNmb3JtRmlsZUNvbXBvbmVudCIsIlNlcGFyYXRvciIsInRyYW5zZm9ybVNlcGFyYXRvckNvbXBvbmVudCIsIlRleHREaXNwbGF5IiwidHJhbnNmb3JtVGV4dERpc3BsYXlDb21wb25lbnQiLCJMYWJlbCIsInRyYW5zZm9ybUxhYmVsQ29tcG9uZW50IiwiRmlsZVVwbG9hZCIsInRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQiLCJSYWRpb0dyb3VwIiwidHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudCIsIkNoZWNrYm94R3JvdXAiLCJ0cmFuc2Zvcm1DaGVja2JveEdyb3VwQ29tcG9uZW50IiwiQ2hlY2tib3giLCJ0cmFuc2Zvcm1DaGVja2JveENvbXBvbmVudCIsInRyYW5zZm9ybWVycyIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0iLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJtZWRpYUl0ZW0iLCJ1cmwiLCJwcm94eVVybCIsInByb3h5X3VybCIsImhlaWdodCIsIndpZHRoIiwiY29udGVudFR5cGUiLCJjb250ZW50X3R5cGUiLCJhdHRhY2htZW50SWQiLCJhdHRhY2htZW50X2lkIiwic25vd2ZsYWtlIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iLCJnYWxsZXJ5SXRlbSIsIm1lZGlhIiwiZGVzY3JpcHRpb24iLCJzcG9pbGVyIiwiYWN0aW9uUm93IiwiaWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29udGFpbmVyIiwiYWNjZW50Q29sb3IiLCJhY2NlbnRfY29sb3IiLCJidXR0b24iLCJsYWJlbCIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwic3R5bGUiLCJlbW9qaSIsImRpc2FibGVkIiwic2t1SWQiLCJza3VfaWQiLCJpbnB1dCIsInZhbHVlIiwicmVxdWlyZWQiLCJwbGFjZWhvbGRlciIsIm1pbkxlbmd0aCIsIm1pbl9sZW5ndGgiLCJtYXhMZW5ndGgiLCJtYXhfbGVuZ3RoIiwic2VsZWN0IiwidmFsdWVzIiwibWluVmFsdWVzIiwibWluX3ZhbHVlcyIsIm1heFZhbHVlcyIsIm1heF92YWx1ZXMiLCJvcHRpb25zIiwib3B0aW9uIiwidW5kZWZpbmVkIiwibmFtZSIsImFuaW1hdGVkIiwiZGVmYXVsdCIsInJlc29sdmVkIiwiaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJkZWZhdWx0VmFsdWVzIiwiZGVmYXVsdF92YWx1ZXMiLCJkZWZhdWx0VmFsdWUiLCJjaGFubmVsVHlwZXMiLCJjaGFubmVsX3R5cGVzIiwic2VjdGlvbiIsImFjY2Vzc29yeSIsInRodW1ibmFpbCIsIm1lZGlhR2FsbGVyeSIsIml0ZW1zIiwiaXRlbSIsImZpbGUiLCJzaXplIiwidGV4dERpc3BsYXkiLCJjb250ZW50Iiwic2VwYXJhdG9yIiwiZGl2aWRlciIsInNwYWNpbmciLCJmaWxlVXBsb2FkIiwicmFkaW9Hcm91cCIsImNoZWNrYm94R3JvdXAiLCJjaGVja2JveCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FxQ0VBLHFCQUFxQixRQUNoQixvQkFBb0I7QUFLM0IsT0FBTyxTQUFTQyxtQkFBbUJDLEdBQVEsRUFBRUMsT0FBc0Y7SUFDakksSUFBSUM7SUFFSixrSUFBa0k7SUFDbEksT0FBUUQsUUFBUUUsSUFBSTtRQUNsQixLQUFLTCxzQkFBc0JNLFNBQVM7WUFDbENGLFlBQVlHLG1CQUFtQkwsS0FBS0M7WUFDcEM7UUFDRixLQUFLSCxzQkFBc0JR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
@@ -1 +1 @@
1
- {"version":3,"file":"invite.d.ts","sourceRoot":"","sources":["../../src/transformers/invite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,GAAG,qBAAqB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAoCpI"}
1
+ {"version":3,"file":"invite.d.ts","sourceRoot":"","sources":["../../src/transformers/invite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,mBAAmB,GAAG,qBAAqB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAsCpI"}
@@ -27,6 +27,8 @@ export function transformInvite(bot, payload, extra) {
27
27
  invite.expiresAt = Date.parse(payload.expires_at);
28
28
  }
29
29
  if (props.flags && payload.flags) invite.flags = new ToggleBitfield(payload.flags);
30
+ // @ts-expect-error TODO: Partials
31
+ if (props.roles && payload.roles) invite.roles = payload.roles.map((role)=>bot.transformers.role(bot, role));
30
32
  } else {
31
33
  if (props.channelId && payload.channel_id) invite.channelId = bot.transformers.snowflake(payload.channel_id);
32
34
  if (props.guildId && payload.guild_id) invite.guildId = bot.transformers.snowflake(payload.guild_id);
@@ -34,4 +36,4 @@ export function transformInvite(bot, payload, extra) {
34
36
  return bot.transformers.customizers.invite(bot, payload, invite, extra);
35
37
  }
36
38
 
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW52aXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZEludml0ZUNyZWF0ZSwgRGlzY29yZEludml0ZU1ldGFkYXRhIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHsgaXNJbnZpdGVXaXRoTWV0YWRhdGEgfSBmcm9tICdAZGlzY29yZGVuby91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IFRvZ2dsZUJpdGZpZWxkIH0gZnJvbSAnLi90b2dnbGVzL1RvZ2dsZUJpdGZpZWxkLmpzJztcbmltcG9ydCB0eXBlIHsgSW52aXRlIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnZpdGUoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRJbnZpdGVDcmVhdGUgfCBEaXNjb3JkSW52aXRlTWV0YWRhdGEsIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0pOiBJbnZpdGUge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW52aXRlO1xuICBjb25zdCBpbnZpdGUgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxJbnZpdGUsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiAndHlwZScgaW4gcGF5bG9hZCkgaW52aXRlLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5jb2RlICYmIHBheWxvYWQuY29kZSkgaW52aXRlLmNvZGUgPSBwYXlsb2FkLmNvZGU7XG4gIGlmIChwcm9wcy5jcmVhdGVkQXQgJiYgcGF5bG9hZC5jcmVhdGVkX2F0KSBpbnZpdGUuY3JlYXRlZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLmNyZWF0ZWRfYXQpO1xuICBpZiAocHJvcHMuaW52aXRlciAmJiBwYXlsb2FkLmludml0ZXIpIGludml0ZS5pbnZpdGVyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnZpdGVyKTtcbiAgaWYgKHByb3BzLm1heEFnZSkgaW52aXRlLm1heEFnZSA9IHBheWxvYWQubWF4X2FnZTtcbiAgaWYgKHByb3BzLm1heFVzZXMpIGludml0ZS5tYXhVc2VzID0gcGF5bG9hZC5tYXhfdXNlcztcbiAgaWYgKHByb3BzLnRhcmdldFR5cGUgJiYgcGF5bG9hZC50YXJnZXRfdHlwZSkgaW52aXRlLnRhcmdldFR5cGUgPSBwYXlsb2FkLnRhcmdldF90eXBlO1xuICBpZiAocHJvcHMudGFyZ2V0VXNlciAmJiBwYXlsb2FkLnRhcmdldF91c2VyKSBpbnZpdGUudGFyZ2V0VXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQudGFyZ2V0X3VzZXIpO1xuICBpZiAocHJvcHMudGFyZ2V0QXBwbGljYXRpb24gJiYgcGF5bG9hZC50YXJnZXRfYXBwbGljYXRpb24pXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBQYXJ0aWFsc1xuICAgIGludml0ZS50YXJnZXRBcHBsaWNhdGlvbiA9IGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb24oYm90LCBwYXlsb2FkLnRhcmdldF9hcHBsaWNhdGlvbiwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KTtcbiAgaWYgKHByb3BzLnRlbXBvcmFyeSAmJiBwYXlsb2FkLnRlbXBvcmFyeSkgaW52aXRlLnRlbXBvcmFyeSA9IHBheWxvYWQudGVtcG9yYXJ5O1xuICBpZiAocHJvcHMudXNlcyAmJiBwYXlsb2FkLnVzZXMpIGludml0ZS51c2VzID0gcGF5bG9hZC51c2VzO1xuXG4gIGlmIChpc0ludml0ZVdpdGhNZXRhZGF0YShwYXlsb2FkKSkge1xuICAgIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5jaGFubmVsPy5pZCkgaW52aXRlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuY2hhbm5lbC5pZCk7XG4gICAgaWYgKHByb3BzLmd1aWxkSWQgJiYgcGF5bG9hZC5ndWlsZD8uaWQpIGludml0ZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5pZCk7XG4gICAgaWYgKHByb3BzLmFwcHJveGltYXRlTWVtYmVyQ291bnQgJiYgcGF5bG9hZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnQpIGludml0ZS5hcHByb3hpbWF0ZU1lbWJlckNvdW50ID0gcGF5bG9hZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnQ7XG4gICAgaWYgKHByb3BzLmFwcHJveGltYXRlUHJlc2VuY2VDb3VudCAmJiBwYXlsb2FkLmFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50ICE9PSB1bmRlZmluZWQpXG4gICAgICBpbnZpdGUuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ID0gcGF5bG9hZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudDtcbiAgICBpZiAocHJvcHMuZ3VpbGRTY2hlZHVsZWRFdmVudCAmJiBwYXlsb2FkLmd1aWxkX3NjaGVkdWxlZF9ldmVudClcbiAgICAgIGludml0ZS5ndWlsZFNjaGVkdWxlZEV2ZW50ID0gYm90LnRyYW5zZm9ybWVycy5zY2hlZHVsZWRFdmVudChib3QsIHBheWxvYWQuZ3VpbGRfc2NoZWR1bGVkX2V2ZW50KTtcbiAgICBpZiAocHJvcHMuZXhwaXJlc0F0ICYmIHBheWxvYWQuZXhwaXJlc19hdCkge1xuICAgICAgaW52aXRlLmV4cGlyZXNBdCA9IERhdGUucGFyc2UocGF5bG9hZC5leHBpcmVzX2F0KTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmZsYWdzICYmIHBheWxvYWQuZmxhZ3MpIGludml0ZS5mbGFncyA9IG5ldyBUb2dnbGVCaXRmaWVsZChwYXlsb2FkLmZsYWdzKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQuY2hhbm5lbF9pZCkgaW52aXRlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuY2hhbm5lbF9pZCk7XG4gICAgaWYgKHByb3BzLmd1aWxkSWQgJiYgcGF5bG9hZC5ndWlsZF9pZCkgaW52aXRlLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKTtcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludml0ZShib3QsIHBheWxvYWQsIGludml0ZSwgZXh0cmEpO1xufVxuIl0sIm5hbWVzIjpbImlzSW52aXRlV2l0aE1ldGFkYXRhIiwiVG9nZ2xlQml0ZmllbGQiLCJ0cmFuc2Zvcm1JbnZpdGUiLCJib3QiLCJwYXlsb2FkIiwiZXh0cmEiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiaW52aXRlIiwidHlwZSIsImNvZGUiLCJjcmVhdGVkQXQiLCJjcmVhdGVkX2F0IiwiRGF0ZSIsInBhcnNlIiwiaW52aXRlciIsInVzZXIiLCJtYXhBZ2UiLCJtYXhfYWdlIiwibWF4VXNlcyIsIm1heF91c2VzIiwidGFyZ2V0VHlwZSIsInRhcmdldF90eXBlIiwidGFyZ2V0VXNlciIsInRhcmdldF91c2VyIiwidGFyZ2V0QXBwbGljYXRpb24iLCJ0YXJnZXRfYXBwbGljYXRpb24iLCJhcHBsaWNhdGlvbiIsInNoYXJkSWQiLCJ0ZW1wb3JhcnkiLCJ1c2VzIiwiY2hhbm5lbElkIiwiY2hhbm5lbCIsImlkIiwic25vd2ZsYWtlIiwiZ3VpbGRJZCIsImd1aWxkIiwiYXBwcm94aW1hdGVNZW1iZXJDb3VudCIsImFwcHJveGltYXRlX21lbWJlcl9jb3VudCIsImFwcHJveGltYXRlUHJlc2VuY2VDb3VudCIsImFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50IiwidW5kZWZpbmVkIiwiZ3VpbGRTY2hlZHVsZWRFdmVudCIsImd1aWxkX3NjaGVkdWxlZF9ldmVudCIsInNjaGVkdWxlZEV2ZW50IiwiZXhwaXJlc0F0IiwiZXhwaXJlc19hdCIsImZsYWdzIiwiY2hhbm5lbF9pZCIsImd1aWxkX2lkIiwiY3VzdG9taXplcnMiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLG9CQUFvQixRQUFRLG9CQUFvQjtBQUd6RCxTQUFTQyxjQUFjLFFBQVEsOEJBQThCO0FBRzdELE9BQU8sU0FBU0MsZ0JBQWdCQyxHQUFRLEVBQUVDLE9BQW9ELEVBQUVDLEtBQTRCO0lBQzFILE1BQU1DLFFBQVFILElBQUlJLFlBQVksQ0FBQ0MsaUJBQWlCLENBQUNDLE1BQU07SUFDdkQsTUFBTUEsU0FBUyxDQUFDO0lBRWhCLElBQUlILE1BQU1JLElBQUksSUFBSSxVQUFVTixTQUFTSyxPQUFPQyxJQUFJLEdBQUdOLFFBQVFNLElBQUk7SUFDL0QsSUFBSUosTUFBTUssSUFBSSxJQUFJUCxRQUFRTyxJQUFJLEVBQUVGLE9BQU9FLElBQUksR0FBR1AsUUFBUU8sSUFBSTtJQUMxRCxJQUFJTCxNQUFNTSxTQUFTLElBQUlSLFFBQVFTLFVBQVUsRUFBRUosT0FBT0csU0FBUyxHQUFHRSxLQUFLQyxLQUFLLENBQUNYLFFBQVFTLFVBQVU7SUFDM0YsSUFBSVAsTUFBTVUsT0FBTyxJQUFJWixRQUFRWSxPQUFPLEVBQUVQLE9BQU9PLE9BQU8sR0FBR2IsSUFBSUksWUFBWSxDQUFDVSxJQUFJLENBQUNkLEtBQUtDLFFBQVFZLE9BQU87SUFDakcsSUFBSVYsTUFBTVksTUFBTSxFQUFFVCxPQUFPUyxNQUFNLEdBQUdkLFFBQVFlLE9BQU87SUFDakQsSUFBSWIsTUFBTWMsT0FBTyxFQUFFWCxPQUFPVyxPQUFPLEdBQUdoQixRQUFRaUIsUUFBUTtJQUNwRCxJQUFJZixNQUFNZ0IsVUFBVSxJQUFJbEIsUUFBUW1C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
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW52aXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZEludml0ZUNyZWF0ZSwgRGlzY29yZEludml0ZU1ldGFkYXRhIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHsgaXNJbnZpdGVXaXRoTWV0YWRhdGEgfSBmcm9tICdAZGlzY29yZGVuby91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IFRvZ2dsZUJpdGZpZWxkIH0gZnJvbSAnLi90b2dnbGVzL1RvZ2dsZUJpdGZpZWxkLmpzJztcbmltcG9ydCB0eXBlIHsgSW52aXRlIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnZpdGUoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRJbnZpdGVDcmVhdGUgfCBEaXNjb3JkSW52aXRlTWV0YWRhdGEsIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0pOiBJbnZpdGUge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW52aXRlO1xuICBjb25zdCBpbnZpdGUgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxJbnZpdGUsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiAndHlwZScgaW4gcGF5bG9hZCkgaW52aXRlLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5jb2RlICYmIHBheWxvYWQuY29kZSkgaW52aXRlLmNvZGUgPSBwYXlsb2FkLmNvZGU7XG4gIGlmIChwcm9wcy5jcmVhdGVkQXQgJiYgcGF5bG9hZC5jcmVhdGVkX2F0KSBpbnZpdGUuY3JlYXRlZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLmNyZWF0ZWRfYXQpO1xuICBpZiAocHJvcHMuaW52aXRlciAmJiBwYXlsb2FkLmludml0ZXIpIGludml0ZS5pbnZpdGVyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnZpdGVyKTtcbiAgaWYgKHByb3BzLm1heEFnZSkgaW52aXRlLm1heEFnZSA9IHBheWxvYWQubWF4X2FnZTtcbiAgaWYgKHByb3BzLm1heFVzZXMpIGludml0ZS5tYXhVc2VzID0gcGF5bG9hZC5tYXhfdXNlcztcbiAgaWYgKHByb3BzLnRhcmdldFR5cGUgJiYgcGF5bG9hZC50YXJnZXRfdHlwZSkgaW52aXRlLnRhcmdldFR5cGUgPSBwYXlsb2FkLnRhcmdldF90eXBlO1xuICBpZiAocHJvcHMudGFyZ2V0VXNlciAmJiBwYXlsb2FkLnRhcmdldF91c2VyKSBpbnZpdGUudGFyZ2V0VXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQudGFyZ2V0X3VzZXIpO1xuICBpZiAocHJvcHMudGFyZ2V0QXBwbGljYXRpb24gJiYgcGF5bG9hZC50YXJnZXRfYXBwbGljYXRpb24pXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBQYXJ0aWFsc1xuICAgIGludml0ZS50YXJnZXRBcHBsaWNhdGlvbiA9IGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb24oYm90LCBwYXlsb2FkLnRhcmdldF9hcHBsaWNhdGlvbiwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KTtcbiAgaWYgKHByb3BzLnRlbXBvcmFyeSAmJiBwYXlsb2FkLnRlbXBvcmFyeSkgaW52aXRlLnRlbXBvcmFyeSA9IHBheWxvYWQudGVtcG9yYXJ5O1xuICBpZiAocHJvcHMudXNlcyAmJiBwYXlsb2FkLnVzZXMpIGludml0ZS51c2VzID0gcGF5bG9hZC51c2VzO1xuXG4gIGlmIChpc0ludml0ZVdpdGhNZXRhZGF0YShwYXlsb2FkKSkge1xuICAgIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5jaGFubmVsPy5pZCkgaW52aXRlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuY2hhbm5lbC5pZCk7XG4gICAgaWYgKHByb3BzLmd1aWxkSWQgJiYgcGF5bG9hZC5ndWlsZD8uaWQpIGludml0ZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5pZCk7XG4gICAgaWYgKHByb3BzLmFwcHJveGltYXRlTWVtYmVyQ291bnQgJiYgcGF5bG9hZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnQpIGludml0ZS5hcHByb3hpbWF0ZU1lbWJlckNvdW50ID0gcGF5bG9hZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnQ7XG4gICAgaWYgKHByb3BzLmFwcHJveGltYXRlUHJlc2VuY2VDb3VudCAmJiBwYXlsb2FkLmFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50ICE9PSB1bmRlZmluZWQpXG4gICAgICBpbnZpdGUuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ID0gcGF5bG9hZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudDtcbiAgICBpZiAocHJvcHMuZ3VpbGRTY2hlZHVsZWRFdmVudCAmJiBwYXlsb2FkLmd1aWxkX3NjaGVkdWxlZF9ldmVudClcbiAgICAgIGludml0ZS5ndWlsZFNjaGVkdWxlZEV2ZW50ID0gYm90LnRyYW5zZm9ybWVycy5zY2hlZHVsZWRFdmVudChib3QsIHBheWxvYWQuZ3VpbGRfc2NoZWR1bGVkX2V2ZW50KTtcbiAgICBpZiAocHJvcHMuZXhwaXJlc0F0ICYmIHBheWxvYWQuZXhwaXJlc19hdCkge1xuICAgICAgaW52aXRlLmV4cGlyZXNBdCA9IERhdGUucGFyc2UocGF5bG9hZC5leHBpcmVzX2F0KTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmZsYWdzICYmIHBheWxvYWQuZmxhZ3MpIGludml0ZS5mbGFncyA9IG5ldyBUb2dnbGVCaXRmaWVsZChwYXlsb2FkLmZsYWdzKTtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IFBhcnRpYWxzXG4gICAgaWYgKHByb3BzLnJvbGVzICYmIHBheWxvYWQucm9sZXMpIGludml0ZS5yb2xlcyA9IHBheWxvYWQucm9sZXMubWFwKChyb2xlKSA9PiBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCByb2xlKSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmNoYW5uZWxfaWQpIGludml0ZS5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpO1xuICAgIGlmIChwcm9wcy5ndWlsZElkICYmIHBheWxvYWQuZ3VpbGRfaWQpIGludml0ZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZF9pZCk7XG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnZpdGUoYm90LCBwYXlsb2FkLCBpbnZpdGUsIGV4dHJhKTtcbn1cbiJdLCJuYW1lcyI6WyJpc0ludml0ZVdpdGhNZXRhZGF0YSIsIlRvZ2dsZUJpdGZpZWxkIiwidHJhbnNmb3JtSW52aXRlIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImludml0ZSIsInR5cGUiLCJjb2RlIiwiY3JlYXRlZEF0IiwiY3JlYXRlZF9hdCIsIkRhdGUiLCJwYXJzZSIsImludml0ZXIiLCJ1c2VyIiwibWF4QWdlIiwibWF4X2FnZSIsIm1heFVzZXMiLCJtYXhfdXNlcyIsInRhcmdldFR5cGUiLCJ0YXJnZXRfdHlwZSIsInRhcmdldFVzZXIiLCJ0YXJnZXRfdXNlciIsInRhcmdldEFwcGxpY2F0aW9uIiwidGFyZ2V0X2FwcGxpY2F0aW9uIiwiYXBwbGljYXRpb24iLCJzaGFyZElkIiwidGVtcG9yYXJ5IiwidXNlcyIsImNoYW5uZWxJZCIsImNoYW5uZWwiLCJpZCIsInNub3dmbGFrZSIsImd1aWxkSWQiLCJndWlsZCIsImFwcHJveGltYXRlTWVtYmVyQ291bnQiLCJhcHByb3hpbWF0ZV9tZW1iZXJfY291bnQiLCJhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQiLCJhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudCIsInVuZGVmaW5lZCIsImd1aWxkU2NoZWR1bGVkRXZlbnQiLCJndWlsZF9zY2hlZHVsZWRfZXZlbnQiLCJzY2hlZHVsZWRFdmVudCIsImV4cGlyZXNBdCIsImV4cGlyZXNfYXQiLCJmbGFncyIsInJvbGVzIiwibWFwIiwicm9sZSIsImNoYW5uZWxfaWQiLCJndWlsZF9pZCIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxvQkFBb0IsUUFBUSxvQkFBb0I7QUFHekQsU0FBU0MsY0FBYyxRQUFRLDhCQUE4QjtBQUc3RCxPQUFPLFNBQVNDLGdCQUFnQkMsR0FBUSxFQUFFQyxPQUFvRCxFQUFFQyxLQUE0QjtJQUMxSCxNQUFNQyxRQUFRSCxJQUFJSSxZQUFZLENBQUNDLGlCQUFpQixDQUFDQyxNQUFNO0lBQ3ZELE1BQU1BLFNBQVMsQ0FBQztJQUVoQixJQUFJSCxNQUFNSSxJQUFJLElBQUksVUFBVU4sU0FBU0ssT0FBT0MsSUFBSSxHQUFHTixRQUFRTSxJQUFJO0lBQy9ELElBQUlKLE1BQU1LLElBQUksSUFBSVAsUUFBUU8sSUFBSSxFQUFFRixPQUFPRSxJQUFJLEdBQUdQLFFBQVFPLElBQUk7SUFDMUQsSUFBSUwsTUFBTU0sU0FBUyxJQUFJUixRQUFRUyxVQUFVLEVBQUVKLE9BQU9HLFNBQVMsR0FBR0UsS0FBS0MsS0FBSyxDQUFDWCxRQUFRUyxVQUFVO0lBQzNGLElBQUlQLE1BQU1VLE9BQU8sSUFBSVosUUFBUVksT0FBTyxFQUFFUCxPQUFPTyxPQUFPLEdBQUdiLElBQUlJLFlBQVksQ0FBQ1UsSUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../src/transformers/presence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAQ,MAAM,YAAY,CAAC;AAEvD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAY1F"}
1
+ {"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../src/transformers/presence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,EAAE,cAAc,EAAQ,MAAM,YAAY,CAAC;AAEvD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAY1F"}
@@ -11,4 +11,4 @@ export function transformPresence(bot, payload) {
11
11
  return bot.transformers.customizers.presence(bot, payload, presence);
12
12
  }
13
13
 
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcHJlc2VuY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUsIFByZXNlbmNlU3RhdHVzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBQcmVzZW5jZVVwZGF0ZSwgVXNlciB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtUHJlc2VuY2UoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRQcmVzZW5jZVVwZGF0ZSk6IFByZXNlbmNlVXBkYXRlIHtcbiAgY29uc3QgcHJlc2VuY2UgPSB7fSBhcyBQcmVzZW5jZVVwZGF0ZTtcblxuICBpZiAocGF5bG9hZC51c2VyKSBwcmVzZW5jZS51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKSBhcyBVc2VyO1xuICBpZiAocGF5bG9hZC5ndWlsZF9pZCkgcHJlc2VuY2UuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpO1xuICBpZiAocGF5bG9hZC5zdGF0dXMpIHByZXNlbmNlLnN0YXR1cyA9IFByZXNlbmNlU3RhdHVzW3BheWxvYWQuc3RhdHVzXTtcbiAgaWYgKHBheWxvYWQuYWN0aXZpdGllcykgcHJlc2VuY2UuYWN0aXZpdGllcyA9IHBheWxvYWQuYWN0aXZpdGllcy5tYXAoKGFjdGl2aXR5KSA9PiBib3QudHJhbnNmb3JtZXJzLmFjdGl2aXR5KGJvdCwgYWN0aXZpdHkpKTtcbiAgaWYgKHBheWxvYWQuY2xpZW50X3N0YXR1cy5kZXNrdG9wKSBwcmVzZW5jZS5kZXNrdG9wID0gcGF5bG9hZC5jbGllbnRfc3RhdHVzLmRlc2t0b3A7XG4gIGlmIChwYXlsb2FkLmNsaWVudF9zdGF0dXMubW9iaWxlKSBwcmVzZW5jZS5tb2JpbGUgPSBwYXlsb2FkLmNsaWVudF9zdGF0dXMubW9iaWxlO1xuICBpZiAocGF5bG9hZC5jbGllbnRfc3RhdHVzLndlYikgcHJlc2VuY2Uud2ViID0gcGF5bG9hZC5jbGllbnRfc3RhdHVzLndlYjtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5wcmVzZW5jZShib3QsIHBheWxvYWQsIHByZXNlbmNlKTtcbn1cbiJdLCJuYW1lcyI6WyJQcmVzZW5jZVN0YXR1cyIsInRyYW5zZm9ybVByZXNlbmNlIiwiYm90IiwicGF5bG9hZCIsInByZXNlbmNlIiwidXNlciIsInRyYW5zZm9ybWVycyIsImd1aWxkX2lkIiwiZ3VpbGRJZCIsInNub3dmbGFrZSIsInN0YXR1cyIsImFjdGl2aXRpZXMiLCJtYXAiLCJhY3Rpdml0eSIsImNsaWVudF9zdGF0dXMiLCJkZXNrdG9wIiwibW9iaWxlIiwid2ViIiwiY3VzdG9taXplcnMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQXFDQSxjQUFjLFFBQVEsb0JBQW9CO0FBSS9FLE9BQU8sU0FBU0Msa0JBQWtCQyxHQUFRLEVBQUVDLE9BQThCO0lBQ3hFLE1BQU1DLFdBQVcsQ0FBQztJQUVsQixJQUFJRCxRQUFRRSxJQUFJLEVBQUVELFNBQVNDLElBQUksR0FBR0gsSUFBSUksWUFBWSxDQUFDRCxJQUFJLENBQUNILEtBQUtDLFFBQVFFLElBQUk7SUFDekUsSUFBSUYsUUFBUUksUUFBUSxFQUFFSCxTQUFTSSxPQUFPLEdBQUdOLElBQUlJLFlBQVksQ0FBQ0csU0FBUyxDQUFDTixRQUFRSSxRQUFRO0lBQ3BGLElBQUlKLFFBQVFPLE1BQU0sRUFBRU4sU0FBU00sTUFBTSxHQUFHVixjQUFjLENBQUNHLFFBQVFPLE1BQU0sQ0FBQztJQUNwRSxJQUFJUCxRQUFRUSxVQUFVLEVBQUVQLFNBQVNPLFVBQVUsR0FBR1IsUUFBUVEsVUFBVSxDQUFDQyxHQUFHLENBQUMsQ0FBQ0MsV0FBYVgsSUFBSUksWUFBWSxDQUFDTyxRQUFRLENBQUNYLEtBQUtXO0lBQ2xILElBQUlWLFFBQVFXLGFBQWEsQ0FBQ0MsT0FBTyxFQUFFWCxTQUFTVyxPQUFPLEdBQUdaLFFBQVFXLGFBQWEsQ0FBQ0MsT0FBTztJQUNuRixJQUFJWixRQUFRVyxhQUFhLENBQUNFLE1BQU0sRUFBRVosU0FBU1ksTUFBTSxHQUFHYixRQUFRVyxhQUFhLENBQUNFLE1BQU07SUFDaEYsSUFBSWIsUUFBUVcsYUFBYSxDQUFDRyxHQUFHLEVBQUViLFNBQVNhLEdBQUcsR0FBR2QsUUFBUVcsYUFBYSxDQUFDRyxHQUFHO0lBRXZFLE9BQU9mLElBQUlJLFlBQVksQ0FBQ1ksV0FBVyxDQUFDZCxRQUFRLENBQUNGLEtBQUtDLFNBQVNDO0FBQzdEIn0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcHJlc2VuY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUsIFByZXNlbmNlU3RhdHVzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFByZXNlbmNlVXBkYXRlLCBVc2VyIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1QcmVzZW5jZShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFByZXNlbmNlVXBkYXRlKTogUHJlc2VuY2VVcGRhdGUge1xuICBjb25zdCBwcmVzZW5jZSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPFByZXNlbmNlVXBkYXRlLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHBheWxvYWQudXNlcikgcHJlc2VuY2UudXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQudXNlcikgYXMgVXNlcjtcbiAgaWYgKHBheWxvYWQuZ3VpbGRfaWQpIHByZXNlbmNlLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKTtcbiAgaWYgKHBheWxvYWQuc3RhdHVzKSBwcmVzZW5jZS5zdGF0dXMgPSBQcmVzZW5jZVN0YXR1c1twYXlsb2FkLnN0YXR1c107XG4gIGlmIChwYXlsb2FkLmFjdGl2aXRpZXMpIHByZXNlbmNlLmFjdGl2aXRpZXMgPSBwYXlsb2FkLmFjdGl2aXRpZXMubWFwKChhY3Rpdml0eSkgPT4gYm90LnRyYW5zZm9ybWVycy5hY3Rpdml0eShib3QsIGFjdGl2aXR5KSk7XG4gIGlmIChwYXlsb2FkLmNsaWVudF9zdGF0dXMuZGVza3RvcCkgcHJlc2VuY2UuZGVza3RvcCA9IHBheWxvYWQuY2xpZW50X3N0YXR1cy5kZXNrdG9wO1xuICBpZiAocGF5bG9hZC5jbGllbnRfc3RhdHVzLm1vYmlsZSkgcHJlc2VuY2UubW9iaWxlID0gcGF5bG9hZC5jbGllbnRfc3RhdHVzLm1vYmlsZTtcbiAgaWYgKHBheWxvYWQuY2xpZW50X3N0YXR1cy53ZWIpIHByZXNlbmNlLndlYiA9IHBheWxvYWQuY2xpZW50X3N0YXR1cy53ZWI7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMucHJlc2VuY2UoYm90LCBwYXlsb2FkLCBwcmVzZW5jZSk7XG59XG4iXSwibmFtZXMiOlsiUHJlc2VuY2VTdGF0dXMiLCJ0cmFuc2Zvcm1QcmVzZW5jZSIsImJvdCIsInBheWxvYWQiLCJwcmVzZW5jZSIsInVzZXIiLCJ0cmFuc2Zvcm1lcnMiLCJndWlsZF9pZCIsImd1aWxkSWQiLCJzbm93Zmxha2UiLCJzdGF0dXMiLCJhY3Rpdml0aWVzIiwibWFwIiwiYWN0aXZpdHkiLCJjbGllbnRfc3RhdHVzIiwiZGVza3RvcCIsIm1vYmlsZSIsIndlYiIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFxQ0EsY0FBYyxRQUFRLG9CQUFvQjtBQUsvRSxPQUFPLFNBQVNDLGtCQUFrQkMsR0FBUSxFQUFFQyxPQUE4QjtJQUN4RSxNQUFNQyxXQUFXLENBQUM7SUFFbEIsSUFBSUQsUUFBUUUsSUFBSSxFQUFFRCxTQUFTQyxJQUFJLEdBQUdILElBQUlJLFlBQVksQ0FBQ0QsSUFBSSxDQUFDSCxLQUFLQyxRQUFRRSxJQUFJO0lBQ3pFLElBQUlGLFFBQVFJLFFBQVEsRUFBRUgsU0FBU0ksT0FBTyxHQUFHTixJQUFJSSxZQUFZLENBQUNHLFNBQVMsQ0FBQ04sUUFBUUksUUFBUTtJQUNwRixJQUFJSixRQUFRTyxNQUFNLEVBQUVOLFNBQVNNLE1BQU0sR0FBR1YsY0FBYyxDQUFDRyxRQUFRTyxNQUFNLENBQUM7SUFDcEUsSUFBSVAsUUFBUVEsVUFBVSxFQUFFUCxTQUFTTyxVQUFVLEdBQUdSLFFBQVFRLFVBQVUsQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLFdBQWFYLElBQUlJLFlBQVksQ0FBQ08sUUFBUSxDQUFDWCxLQUFLVztJQUNsSCxJQUFJVixRQUFRVyxhQUFhLENBQUNDLE9BQU8sRUFBRVgsU0FBU1csT0FBTyxHQUFHWixRQUFRVyxhQUFhLENBQUNDLE9BQU87SUFDbkYsSUFBSVosUUFBUVcsYUFBYSxDQUFDRSxNQUFNLEVBQUVaLFNBQVNZLE1BQU0sR0FBR2IsUUFBUVcsYUFBYSxDQUFDRSxNQUFNO0lBQ2hGLElBQUliLFFBQVFXLGFBQWEsQ0FBQ0csR0FBRyxFQUFFYixTQUFTYSxHQUFHLEdBQUdkLFFBQVFXLGFBQWEsQ0FBQ0csR0FBRztJQUV2RSxPQUFPZixJQUFJSSxZQUFZLENBQUNZLFdBQVcsQ0FBQ2QsUUFBUSxDQUFDRixLQUFLQyxTQUFTQztBQUM3RCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,GAAG,eAAe,CAuChG"}
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,GAAG,eAAe,CAwChG"}
@@ -26,8 +26,9 @@ export function transformActivityToDiscordActivity(_bot, payload) {
26
26
  assets: {
27
27
  large_image: payload.largeImage,
28
28
  large_text: payload.largeText,
29
- small_image: payload.largeImage,
30
- small_text: payload.largeText
29
+ small_image: payload.smallImage,
30
+ small_text: payload.smallText,
31
+ invite_cover_image: payload.inviteCoverImage
31
32
  },
32
33
  secrets: {
33
34
  join: payload.join,
@@ -40,4 +41,4 @@ export function transformActivityToDiscordActivity(_bot, payload) {
40
41
  };
41
42
  }
42
43
 
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hY3Rpdml0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRBY3Rpdml0eSB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgQWN0aXZpdHkgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpdml0eVRvRGlzY29yZEFjdGl2aXR5KF9ib3Q6IEJvdCwgcGF5bG9hZDogQWN0aXZpdHkpOiBEaXNjb3JkQWN0aXZpdHkge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IHBheWxvYWQubmFtZSxcbiAgICB0eXBlOiBwYXlsb2FkLnR5cGUsXG4gICAgdXJsOiBwYXlsb2FkLnVybCA/PyB1bmRlZmluZWQsXG4gICAgY3JlYXRlZF9hdDogcGF5bG9hZC5jcmVhdGVkQXQsXG4gICAgdGltZXN0YW1wczoge1xuICAgICAgc3RhcnQ6IHBheWxvYWQuc3RhcnRlZEF0LFxuICAgICAgZW5kOiBwYXlsb2FkLmVuZGVkQXQsXG4gICAgfSxcbiAgICBhcHBsaWNhdGlvbl9pZDogcGF5bG9hZC5hcHBsaWNhdGlvbklkPy50b1N0cmluZygpLFxuICAgIGRldGFpbHM6IHBheWxvYWQuZGV0YWlscyA/PyB1bmRlZmluZWQsXG4gICAgc3RhdGU6IHBheWxvYWQuc3RhdGUgPz8gdW5kZWZpbmVkLFxuICAgIGVtb2ppOiBwYXlsb2FkLmVtb2ppXG4gICAgICA/IHtcbiAgICAgICAgICBuYW1lOiBwYXlsb2FkLmVtb2ppLm5hbWUsXG4gICAgICAgICAgYW5pbWF0ZWQ6IHBheWxvYWQuZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgaWQ6IHBheWxvYWQuZW1vamkuaWQ/LnRvU3RyaW5nKCksXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIHBhcnR5OiB7XG4gICAgICBpZDogcGF5bG9hZC5wYXJ0eUlkLFxuICAgICAgc2l6ZTogcGF5bG9hZC5wYXJ0eUN1cnJlbnRTaXplICYmIHBheWxvYWQucGFydHlNYXhTaXplID8gW3BheWxvYWQucGFydHlDdXJyZW50U2l6ZSwgcGF5bG9hZC5wYXJ0eU1heFNpemVdIDogdW5kZWZpbmVkLFxuICAgIH0sXG4gICAgYXNzZXRzOiB7XG4gICAgICBsYXJnZV9pbWFnZTogcGF5bG9hZC5sYXJnZUltYWdlLFxuICAgICAgbGFyZ2VfdGV4dDogcGF5bG9hZC5sYXJnZVRleHQsXG4gICAgICBzbWFsbF9pbWFnZTogcGF5bG9hZC5sYXJnZUltYWdlLFxuICAgICAgc21hbGxfdGV4dDogcGF5bG9hZC5sYXJnZVRleHQsXG4gICAgfSxcbiAgICBzZWNyZXRzOiB7XG4gICAgICBqb2luOiBwYXlsb2FkLmpvaW4sXG4gICAgICBzcGVjdGF0ZTogcGF5bG9hZC5zcGVjdGF0ZSxcbiAgICAgIG1hdGNoOiBwYXlsb2FkLm1hdGNoLFxuICAgIH0sXG4gICAgaW5zdGFuY2U6IHBheWxvYWQuaW5zdGFuY2UsXG4gICAgZmxhZ3M6IHBheWxvYWQuZmxhZ3MsXG4gICAgYnV0dG9uczogcGF5bG9hZC5idXR0b25zLFxuICB9O1xufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUFjdGl2aXR5VG9EaXNjb3JkQWN0aXZpdHkiLCJfYm90IiwicGF5bG9hZCIsIm5hbWUiLCJ0eXBlIiwidXJsIiwidW5kZWZpbmVkIiwiY3JlYXRlZF9hdCIsImNyZWF0ZWRBdCIsInRpbWVzdGFtcHMiLCJzdGFydCIsInN0YXJ0ZWRBdCIsImVuZCIsImVuZGVkQXQiLCJhcHBsaWNhdGlvbl9pZCIsImFwcGxpY2F0aW9uSWQiLCJ0b1N0cmluZyIsImRldGFpbHMiLCJzdGF0ZSIsImVtb2ppIiwiYW5pbWF0ZWQiLCJpZCIsInBhcnR5IiwicGFydHlJZCIsInNpemUiLCJwYXJ0eUN1cnJlbnRTaXplIiwicGFydHlNYXhTaXplIiwiYXNzZXRzIiwibGFyZ2VfaW1hZ2UiLCJsYXJnZUltYWdlIiwibGFyZ2VfdGV4dCIsImxhcmdlVGV4dCIsInNtYWxsX2ltYWdlIiwic21hbGxfdGV4dCIsInNlY3JldHMiLCJqb2luIiwic3BlY3RhdGUiLCJtYXRjaCIsImluc3RhbmNlIiwiZmxhZ3MiLCJidXR0b25zIl0sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLFNBQVNBLG1DQUFtQ0MsSUFBUyxFQUFFQyxPQUFpQjtJQUM3RSxPQUFPO1FBQ0xDLE1BQU1ELFFBQVFDLElBQUk7UUFDbEJDLE1BQU1GLFFBQVFFLElBQUk7UUFDbEJDLEtBQUtILFFBQVFHLEdBQUcsSUFBSUM7UUFDcEJDLFlBQVlMLFFBQVFNLFNBQVM7UUFDN0JDLFlBQVk7WUFDVkMsT0FBT1IsUUFBUVMsU0FBUztZQUN4QkMsS0FBS1YsUUFBUVcsT0FBTztRQUN0QjtRQUNBQyxnQkFBZ0JaLFFBQVFhLGFBQWEsRUFBRUM7UUFDdkNDLFNBQVNmLFFBQVFlLE9BQU8sSUFBSVg7UUFDNUJZLE9BQU9oQixRQUFRZ0IsS0FBSyxJQUFJWjtRQUN4QmEsT0FBT2pCLFFBQVFpQixLQUFLLEdBQ2hCO1lBQ0VoQixNQUFNRCxRQUFRaUIsS0FBSyxDQUFDaEIsSUFBSTtZQUN4QmlCLFVBQVVsQixRQUFRaUIsS0FBSyxDQUFDQyxRQUFRO1lBQ2hDQyxJQUFJbkIsUUFBUWlCLEtBQUssQ0FBQ0UsRUFBRSxFQUFFTDtRQUN4QixJQUNBVjtRQUNKZ0IsT0FBTztZQUNMRCxJQUFJbkIsUUFBUXFCLE9BQU87WUFDbkJDLE1BQU10QixRQUFRdUIsZ0JBQWdCLElBQUl2QixRQUFRd0IsWUFBWSxHQUFHO2dCQUFDeEIsUUFBUXVCLGdCQUFnQjtnQkFBRXZCLFFBQVF3QixZQUFZO2FBQUMsR0FBR3BCO1FBQzlHO1FBQ0FxQixRQUFRO1lBQ05DLGFBQWExQixRQUFRMkIsVUFBVTtZQUMvQkMsWUFBWTVCLFFBQVE2QixTQUFTO1lBQzdCQyxhQUFhOUIsUUFBUTJCLFVBQVU7WUFDL0JJLFlBQVkvQixRQUFRNkIsU0FBUztRQUMvQjtRQUNBRyxTQUFTO1lBQ1BDLE1BQU1qQyxRQUFRaUMsSUFBSTtZQUNsQkMsVUFBVWxDLFFBQVFrQyxRQUFRO1lBQzFCQyxPQUFPbkMsUUFBUW1DLEtBQUs7UUFDdEI7UUFDQUMsVUFBVXBDLFFBQVFvQyxRQUFRO1FBQzFCQyxPQUFPckMsUUFBUXFDLEtBQUs7UUFDcEJDLFNBQVN0QyxRQUFRc0MsT0FBTztJQUMxQjtBQUNGIn0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hY3Rpdml0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRBY3Rpdml0eSB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgQWN0aXZpdHkgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpdml0eVRvRGlzY29yZEFjdGl2aXR5KF9ib3Q6IEJvdCwgcGF5bG9hZDogQWN0aXZpdHkpOiBEaXNjb3JkQWN0aXZpdHkge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IHBheWxvYWQubmFtZSxcbiAgICB0eXBlOiBwYXlsb2FkLnR5cGUsXG4gICAgdXJsOiBwYXlsb2FkLnVybCA/PyB1bmRlZmluZWQsXG4gICAgY3JlYXRlZF9hdDogcGF5bG9hZC5jcmVhdGVkQXQsXG4gICAgdGltZXN0YW1wczoge1xuICAgICAgc3RhcnQ6IHBheWxvYWQuc3RhcnRlZEF0LFxuICAgICAgZW5kOiBwYXlsb2FkLmVuZGVkQXQsXG4gICAgfSxcbiAgICBhcHBsaWNhdGlvbl9pZDogcGF5bG9hZC5hcHBsaWNhdGlvbklkPy50b1N0cmluZygpLFxuICAgIGRldGFpbHM6IHBheWxvYWQuZGV0YWlscyA/PyB1bmRlZmluZWQsXG4gICAgc3RhdGU6IHBheWxvYWQuc3RhdGUgPz8gdW5kZWZpbmVkLFxuICAgIGVtb2ppOiBwYXlsb2FkLmVtb2ppXG4gICAgICA/IHtcbiAgICAgICAgICBuYW1lOiBwYXlsb2FkLmVtb2ppLm5hbWUsXG4gICAgICAgICAgYW5pbWF0ZWQ6IHBheWxvYWQuZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgaWQ6IHBheWxvYWQuZW1vamkuaWQ/LnRvU3RyaW5nKCksXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIHBhcnR5OiB7XG4gICAgICBpZDogcGF5bG9hZC5wYXJ0eUlkLFxuICAgICAgc2l6ZTogcGF5bG9hZC5wYXJ0eUN1cnJlbnRTaXplICYmIHBheWxvYWQucGFydHlNYXhTaXplID8gW3BheWxvYWQucGFydHlDdXJyZW50U2l6ZSwgcGF5bG9hZC5wYXJ0eU1heFNpemVdIDogdW5kZWZpbmVkLFxuICAgIH0sXG4gICAgYXNzZXRzOiB7XG4gICAgICBsYXJnZV9pbWFnZTogcGF5bG9hZC5sYXJnZUltYWdlLFxuICAgICAgbGFyZ2VfdGV4dDogcGF5bG9hZC5sYXJnZVRleHQsXG4gICAgICBzbWFsbF9pbWFnZTogcGF5bG9hZC5zbWFsbEltYWdlLFxuICAgICAgc21hbGxfdGV4dDogcGF5bG9hZC5zbWFsbFRleHQsXG4gICAgICBpbnZpdGVfY292ZXJfaW1hZ2U6IHBheWxvYWQuaW52aXRlQ292ZXJJbWFnZSxcbiAgICB9LFxuICAgIHNlY3JldHM6IHtcbiAgICAgIGpvaW46IHBheWxvYWQuam9pbixcbiAgICAgIHNwZWN0YXRlOiBwYXlsb2FkLnNwZWN0YXRlLFxuICAgICAgbWF0Y2g6IHBheWxvYWQubWF0Y2gsXG4gICAgfSxcbiAgICBpbnN0YW5jZTogcGF5bG9hZC5pbnN0YW5jZSxcbiAgICBmbGFnczogcGF5bG9hZC5mbGFncyxcbiAgICBidXR0b25zOiBwYXlsb2FkLmJ1dHRvbnMsXG4gIH07XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtQWN0aXZpdHlUb0Rpc2NvcmRBY3Rpdml0eSIsIl9ib3QiLCJwYXlsb2FkIiwibmFtZSIsInR5cGUiLCJ1cmwiLCJ1bmRlZmluZWQiLCJjcmVhdGVkX2F0IiwiY3JlYXRlZEF0IiwidGltZXN0YW1wcyIsInN0YXJ0Iiwic3RhcnRlZEF0IiwiZW5kIiwiZW5kZWRBdCIsImFwcGxpY2F0aW9uX2lkIiwiYXBwbGljYXRpb25JZCIsInRvU3RyaW5nIiwiZGV0YWlscyIsInN0YXRlIiwiZW1vamkiLCJhbmltYXRlZCIsImlkIiwicGFydHkiLCJwYXJ0eUlkIiwic2l6ZSIsInBhcnR5Q3VycmVudFNpemUiLCJwYXJ0eU1heFNpemUiLCJhc3NldHMiLCJsYXJnZV9pbWFnZSIsImxhcmdlSW1hZ2UiLCJsYXJnZV90ZXh0IiwibGFyZ2VUZXh0Iiwic21hbGxfaW1hZ2UiLCJzbWFsbEltYWdlIiwic21hbGxfdGV4dCIsInNtYWxsVGV4dCIsImludml0ZV9jb3Zlcl9pbWFnZSIsImludml0ZUNvdmVySW1hZ2UiLCJzZWNyZXRzIiwiam9pbiIsInNwZWN0YXRlIiwibWF0Y2giLCJpbnN0YW5jZSIsImZsYWdzIiwiYnV0dG9ucyJdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxTQUFTQSxtQ0FBbUNDLElBQVMsRUFBRUMsT0FBaUI7SUFDN0UsT0FBTztRQUNMQyxNQUFNRCxRQUFRQyxJQUFJO1FBQ2xCQyxNQUFNRixRQUFRRSxJQUFJO1FBQ2xCQyxLQUFLSCxRQUFRRyxHQUFHLElBQUlDO1FBQ3BCQyxZQUFZTCxRQUFRTSxTQUFTO1FBQzdCQyxZQUFZO1lBQ1ZDLE9BQU9SLFFBQVFTLFNBQVM7WUFDeEJDLEtBQUtWLFFBQVFXLE9BQU87UUFDdEI7UUFDQUMsZ0JBQWdCWixRQUFRYSxhQUFhLEVBQUVDO1FBQ3ZDQyxTQUFTZixRQUFRZSxPQUFPLElBQUlYO1FBQzVCWSxPQUFPaEIsUUFBUWdCLEtBQUssSUFBSVo7UUFDeEJhLE9BQU9qQixRQUFRaUIsS0FBSyxHQUNoQjtZQUNFaEIsTUFBTUQsUUFBUWlCLEtBQUssQ0FBQ2hCLElBQUk7WUFDeEJpQixVQUFVbEIsUUFBUWlCLEtBQUssQ0FBQ0MsUUFBUTtZQUNoQ0MsSUFBSW5CLFFBQVFpQixLQUFLLENBQUNFLEVBQUUsRUFBRUw7UUFDeEIsSUFDQVY7UUFDSmdCLE9BQU87WUFDTEQsSUFBSW5CLFFBQVFxQixPQUFPO1lBQ25CQyxNQUFNdEIsUUFBUXVCLGdCQUFnQixJQUFJdkIsUUFBUXdCLFlBQVksR0FBRztnQkFBQ3hCLFFBQVF1QixnQkFBZ0I7Z0JBQUV2QixRQUFRd0IsWUFBWTthQUFDLEdBQUdwQjtRQUM5RztRQUNBcUIsUUFBUTtZQUNOQyxhQUFhMUIsUUFBUTJCLFVBQVU7WUFDL0JDLFlBQVk1QixRQUFRNkIsU0FBUztZQUM3QkMsYUFBYTlCLFFBQVErQixVQUFVO1lBQy9CQyxZQUFZaEMsUUFBUWlDLFNBQVM7WUFDN0JDLG9CQUFvQmxDLFFBQVFtQyxnQkFBZ0I7UUFDOUM7UUFDQUMsU0FBUztZQUNQQyxNQUFNckMsUUFBUXFDLElBQUk7WUFDbEJDLFVBQVV0QyxRQUFRc0MsUUFBUTtZQUMxQkMsT0FBT3ZDLFFBQVF1QyxLQUFLO1FBQ3RCO1FBQ0FDLFVBQVV4QyxRQUFRd0MsUUFBUTtRQUMxQkMsT0FBT3pDLFFBQVF5QyxLQUFLO1FBQ3BCQyxTQUFTMUMsUUFBUTBDLE9BQU87SUFDMUI7QUFDRiJ9
@@ -8,11 +8,11 @@ export function transformApplicationCommandToDiscordApplicationCommand(bot, payl
8
8
  name_localizations: payload.nameLocalizations,
9
9
  description: payload.description,
10
10
  description_localizations: payload.descriptionLocalizations,
11
- options: payload.options?.map((option)=>bot.transformers.applicationCommandOption(bot, option)),
11
+ options: payload.options?.map((option)=>bot.transformers.reverse.applicationCommandOption(bot, option)),
12
12
  default_member_permissions: payload.defaultMemberPermissions ? bot.transformers.reverse.snowflake(payload.defaultMemberPermissions) : null,
13
13
  dm_permission: payload.dmPermission,
14
14
  version: payload.version
15
15
  };
16
16
  }
17
17
 
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hcHBsaWNhdGlvbkNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi8uLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBBcHBsaWNhdGlvbkNvbW1hbmQgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRUb0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQoYm90OiBCb3QsIHBheWxvYWQ6IEFwcGxpY2F0aW9uQ29tbWFuZCk6IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQge1xuICByZXR1cm4ge1xuICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuaWQpLFxuICAgIHR5cGU6IHBheWxvYWQudHlwZSxcbiAgICBhcHBsaWNhdGlvbl9pZDogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLmFwcGxpY2F0aW9uSWQpLFxuICAgIGd1aWxkX2lkOiBwYXlsb2FkLmd1aWxkSWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRJZCkgOiB1bmRlZmluZWQsXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lLFxuICAgIG5hbWVfbG9jYWxpemF0aW9uczogcGF5bG9hZC5uYW1lTG9jYWxpemF0aW9ucyxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBkZXNjcmlwdGlvbl9sb2NhbGl6YXRpb25zOiBwYXlsb2FkLmRlc2NyaXB0aW9uTG9jYWxpemF0aW9ucyxcbiAgICBvcHRpb25zOiBwYXlsb2FkLm9wdGlvbnM/Lm1hcCgob3B0aW9uKSA9PiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbihib3QsIG9wdGlvbikpLFxuICAgIGRlZmF1bHRfbWVtYmVyX3Blcm1pc3Npb25zOiBwYXlsb2FkLmRlZmF1bHRNZW1iZXJQZXJtaXNzaW9ucyA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UocGF5bG9hZC5kZWZhdWx0TWVtYmVyUGVybWlzc2lvbnMpIDogbnVsbCxcbiAgICBkbV9wZXJtaXNzaW9uOiBwYXlsb2FkLmRtUGVybWlzc2lvbixcbiAgICB2ZXJzaW9uOiBwYXlsb2FkLnZlcnNpb24sXG4gIH07XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kIiwiYm90IiwicGF5bG9hZCIsImlkIiwidHJhbnNmb3JtZXJzIiwicmV2ZXJzZSIsInNub3dmbGFrZSIsInR5cGUiLCJhcHBsaWNhdGlvbl9pZCIsImFwcGxpY2F0aW9uSWQiLCJndWlsZF9pZCIsImd1aWxkSWQiLCJ1bmRlZmluZWQiLCJuYW1lIiwibmFtZV9sb2NhbGl6YXRpb25zIiwibmFtZUxvY2FsaXphdGlvbnMiLCJkZXNjcmlwdGlvbiIsImRlc2NyaXB0aW9uX2xvY2FsaXphdGlvbnMiLCJkZXNjcmlwdGlvbkxvY2FsaXphdGlvbnMiLCJvcHRpb25zIiwibWFwIiwib3B0aW9uIiwiYXBwbGljYXRpb25Db21tYW5kT3B0aW9uIiwiZGVmYXVsdF9tZW1iZXJfcGVybWlzc2lvbnMiLCJkZWZhdWx0TWVtYmVyUGVybWlzc2lvbnMiLCJkbV9wZXJtaXNzaW9uIiwiZG1QZXJtaXNzaW9uIiwidmVyc2lvbiJdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxTQUFTQSx1REFBdURDLEdBQVEsRUFBRUMsT0FBMkI7SUFDMUcsT0FBTztRQUNMQyxJQUFJRixJQUFJRyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDSixRQUFRQyxFQUFFO1FBQ2pESSxNQUFNTCxRQUFRSyxJQUFJO1FBQ2xCQyxnQkFBZ0JQLElBQUlHLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxTQUFTLENBQUNKLFFBQVFPLGFBQWE7UUFDeEVDLFVBQVVSLFFBQVFTLE9BQU8sR0FBR1YsSUFBSUcsWUFBWSxDQUFDQyxPQUFPLENBQUNDLFNBQVMsQ0FBQ0osUUFBUVMsT0FBTyxJQUFJQztRQUNsRkMsTUFBTVgsUUFBUVcsSUFBSTtRQUNsQkMsb0JBQW9CWixRQUFRYSxpQkFBaUI7UUFDN0NDLGFBQWFkLFFBQVFjLFdBQVc7UUFDaENDLDJCQUEyQmYsUUFBUWdCLHdCQUF3QjtRQUMzREMsU0FBU2pCLFFBQVFpQixPQUFPLEVBQUVDLElBQUksQ0FBQ0MsU0FBV3BCLElBQUlHLFlBQVksQ0FBQ2tCLHdCQUF3QixDQUFDckIsS0FBS29CO1FBQ3pGRSw0QkFBNEJyQixRQUFRc0Isd0JBQXdCLEdBQUd2QixJQUFJRyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDSixRQUFRc0Isd0JBQXdCLElBQUk7UUFDdElDLGVBQWV2QixRQUFRd0IsWUFBWTtRQUNuQ0MsU0FBU3pCLFFBQVF5QixPQUFPO0lBQzFCO0FBQ0YifQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hcHBsaWNhdGlvbkNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi8uLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBBcHBsaWNhdGlvbkNvbW1hbmQgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRUb0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQoYm90OiBCb3QsIHBheWxvYWQ6IEFwcGxpY2F0aW9uQ29tbWFuZCk6IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQge1xuICByZXR1cm4ge1xuICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuaWQpLFxuICAgIHR5cGU6IHBheWxvYWQudHlwZSxcbiAgICBhcHBsaWNhdGlvbl9pZDogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLmFwcGxpY2F0aW9uSWQpLFxuICAgIGd1aWxkX2lkOiBwYXlsb2FkLmd1aWxkSWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRJZCkgOiB1bmRlZmluZWQsXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lLFxuICAgIG5hbWVfbG9jYWxpemF0aW9uczogcGF5bG9hZC5uYW1lTG9jYWxpemF0aW9ucyxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBkZXNjcmlwdGlvbl9sb2NhbGl6YXRpb25zOiBwYXlsb2FkLmRlc2NyaXB0aW9uTG9jYWxpemF0aW9ucyxcbiAgICBvcHRpb25zOiBwYXlsb2FkLm9wdGlvbnM/Lm1hcCgob3B0aW9uKSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuYXBwbGljYXRpb25Db21tYW5kT3B0aW9uKGJvdCwgb3B0aW9uKSksXG4gICAgZGVmYXVsdF9tZW1iZXJfcGVybWlzc2lvbnM6IHBheWxvYWQuZGVmYXVsdE1lbWJlclBlcm1pc3Npb25zID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLmRlZmF1bHRNZW1iZXJQZXJtaXNzaW9ucykgOiBudWxsLFxuICAgIGRtX3Blcm1pc3Npb246IHBheWxvYWQuZG1QZXJtaXNzaW9uLFxuICAgIHZlcnNpb246IHBheWxvYWQudmVyc2lvbixcbiAgfTtcbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRUb0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQiLCJib3QiLCJwYXlsb2FkIiwiaWQiLCJ0cmFuc2Zvcm1lcnMiLCJyZXZlcnNlIiwic25vd2ZsYWtlIiwidHlwZSIsImFwcGxpY2F0aW9uX2lkIiwiYXBwbGljYXRpb25JZCIsImd1aWxkX2lkIiwiZ3VpbGRJZCIsInVuZGVmaW5lZCIsIm5hbWUiLCJuYW1lX2xvY2FsaXphdGlvbnMiLCJuYW1lTG9jYWxpemF0aW9ucyIsImRlc2NyaXB0aW9uIiwiZGVzY3JpcHRpb25fbG9jYWxpemF0aW9ucyIsImRlc2NyaXB0aW9uTG9jYWxpemF0aW9ucyIsIm9wdGlvbnMiLCJtYXAiLCJvcHRpb24iLCJhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24iLCJkZWZhdWx0X21lbWJlcl9wZXJtaXNzaW9ucyIsImRlZmF1bHRNZW1iZXJQZXJtaXNzaW9ucyIsImRtX3Blcm1pc3Npb24iLCJkbVBlcm1pc3Npb24iLCJ2ZXJzaW9uIl0sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLFNBQVNBLHVEQUF1REMsR0FBUSxFQUFFQyxPQUEyQjtJQUMxRyxPQUFPO1FBQ0xDLElBQUlGLElBQUlHLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxTQUFTLENBQUNKLFFBQVFDLEVBQUU7UUFDakRJLE1BQU1MLFFBQVFLLElBQUk7UUFDbEJDLGdCQUFnQlAsSUFBSUcsWUFBWSxDQUFDQyxPQUFPLENBQUNDLFNBQVMsQ0FBQ0osUUFBUU8sYUFBYTtRQUN4RUMsVUFBVVIsUUFBUVMsT0FBTyxHQUFHVixJQUFJRyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDSixRQUFRUyxPQUFPLElBQUlDO1FBQ2xGQyxNQUFNWCxRQUFRVyxJQUFJO1FBQ2xCQyxvQkFBb0JaLFFBQVFhLGlCQUFpQjtRQUM3Q0MsYUFBYWQsUUFBUWMsV0FBVztRQUNoQ0MsMkJBQTJCZixRQUFRZ0Isd0JBQXdCO1FBQzNEQyxTQUFTakIsUUFBUWlCLE9BQU8sRUFBRUMsSUFBSSxDQUFDQyxTQUFXcEIsSUFBSUcsWUFBWSxDQUFDQyxPQUFPLENBQUNpQix3QkFBd0IsQ0FBQ3JCLEtBQUtvQjtRQUNqR0UsNEJBQTRCckIsUUFBUXNCLHdCQUF3QixHQUFHdkIsSUFBSUcsWUFBWSxDQUFDQyxPQUFPLENBQUNDLFNBQVMsQ0FBQ0osUUFBUXNCLHdCQUF3QixJQUFJO1FBQ3RJQyxlQUFldkIsUUFBUXdCLFlBQVk7UUFDbkNDLFNBQVN6QixRQUFReUIsT0FBTztJQUMxQjtBQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/component.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,mDAAmD,EAQxD,KAAK,wBAAwB,EAG9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAElF,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,SAAS,GACjB,uBAAuB,GAAG,mDAAmD,CAkC/E;AAED,wBAAgB,oDAAoD,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,wBAAwB,CASnI;AAED,wBAAgB,kDAAkD,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,GAAG,uBAAuB,CAM/H"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/transformers/reverse/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAaL,KAAK,uBAAuB,EAG5B,KAAK,uBAAuB,EAC5B,KAAK,mDAAmD,EAWxD,KAAK,wBAAwB,EAM9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAElF,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,SAAS,GACjB,uBAAuB,GAAG,mDAAmD,CA4C/E;AAED,wBAAgB,oDAAoD,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,wBAAwB,CASnI;AAED,wBAAgB,kDAAkD,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,GAAG,uBAAuB,CAM/H"}