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

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.
@@ -1,7 +1,8 @@
1
- import type { DiscordActivity, DiscordActivityInstance, DiscordActivityLocation } from '@discordeno/types';
1
+ import type { DiscordActivity, DiscordActivityAssets, DiscordActivityInstance, DiscordActivityLocation } from '@discordeno/types';
2
2
  import type { Bot } from '../bot.js';
3
- import type { Activity, ActivityInstance, ActivityLocation } from './types.js';
3
+ import type { Activity, ActivityAssets, ActivityInstance, ActivityLocation } from './types.js';
4
4
  export declare function transformActivity(bot: Bot, payload: DiscordActivity): Activity;
5
5
  export declare function transformActivityInstance(bot: Bot, payload: DiscordActivityInstance): ActivityInstance;
6
6
  export declare function transformActivityLocation(bot: Bot, payload: DiscordActivityLocation): ActivityLocation;
7
+ export declare function transformActivityAssets(bot: Bot, payload: DiscordActivityAssets): ActivityAssets;
7
8
  //# sourceMappingURL=activity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/transformers/activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC3G,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE/E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,QAAQ,CAmC9E;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAWtG;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAUtG"}
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/transformers/activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAClI,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE/F,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,QAAQ,CAmC9E;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAWtG;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAUtG;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAYhG"}
@@ -4,8 +4,6 @@ export function transformActivity(bot, payload) {
4
4
  type: payload.type,
5
5
  url: payload.url ?? undefined,
6
6
  createdAt: payload.created_at,
7
- startedAt: payload.timestamps?.start,
8
- endedAt: payload.timestamps?.end,
9
7
  applicationId: payload.application_id ? bot.transformers.snowflake(payload.application_id) : undefined,
10
8
  details: payload.details ?? undefined,
11
9
  state: payload.state ?? undefined,
@@ -14,20 +12,20 @@ export function transformActivity(bot, payload) {
14
12
  animated: payload.emoji.animated,
15
13
  id: payload.emoji.id ? bot.transformers.snowflake(payload.emoji.id) : undefined
16
14
  } : undefined,
17
- partyId: payload.party?.id,
18
- partyCurrentSize: payload.party?.size?.[0],
19
- partyMaxSize: payload.party?.size?.[1],
20
- largeImage: payload.assets?.large_image,
21
- largeText: payload.assets?.large_text,
22
- smallImage: payload.assets?.small_image,
23
- smallText: payload.assets?.small_text,
24
- inviteCoverImage: payload.assets?.invite_cover_image,
25
- join: payload.secrets?.join,
26
- spectate: payload.secrets?.spectate,
27
- match: payload.secrets?.match,
28
15
  instance: payload.instance,
29
16
  flags: payload.flags,
30
- buttons: payload.buttons
17
+ buttons: payload.buttons,
18
+ assets: payload.assets ? bot.transformers.activityAssets(bot, payload.assets) : undefined,
19
+ detailsUrl: payload.details_url ?? undefined,
20
+ stateUrl: payload.state_url ?? undefined,
21
+ party: payload.party,
22
+ timestamps: payload.timestamps,
23
+ statusDisplayType: payload.status_display_type ?? undefined,
24
+ secrets: payload.secrets ? {
25
+ join: payload.secrets.join ?? undefined,
26
+ spectate: payload.secrets.spectate ?? undefined,
27
+ match: payload.secrets.match ?? undefined
28
+ } : undefined
31
29
  };
32
30
  return bot.transformers.customizers.activity(bot, payload, activity);
33
31
  }
@@ -50,5 +48,17 @@ export function transformActivityLocation(bot, payload) {
50
48
  if (props.guildId && payload.guild_id) activityLocation.guildId = bot.transformers.snowflake(payload.guild_id);
51
49
  return bot.transformers.customizers.activityLocation(bot, payload, activityLocation);
52
50
  }
51
+ export function transformActivityAssets(bot, payload) {
52
+ const activityAssets = {
53
+ inviteCoverImage: payload.invite_cover_image,
54
+ largeImage: payload.large_image,
55
+ largeText: payload.large_text,
56
+ largeUrl: payload.large_url,
57
+ smallImage: payload.small_image,
58
+ smallText: payload.small_text,
59
+ smallUrl: payload.small_url
60
+ };
61
+ return bot.transformers.customizers.activityAssets(bot, payload, activityAssets);
62
+ }
53
63
 
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvYWN0aXZpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkQWN0aXZpdHksIERpc2NvcmRBY3Rpdml0eUluc3RhbmNlLCBEaXNjb3JkQWN0aXZpdHlMb2NhdGlvbiB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBBY3Rpdml0eSwgQWN0aXZpdHlJbnN0YW5jZSwgQWN0aXZpdHlMb2NhdGlvbiB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQWN0aXZpdHkoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRBY3Rpdml0eSk6IEFjdGl2aXR5IHtcbiAgY29uc3QgYWN0aXZpdHkgPSB7XG4gICAgbmFtZTogcGF5bG9hZC5uYW1lLFxuICAgIHR5cGU6IHBheWxvYWQudHlwZSxcbiAgICB1cmw6IHBheWxvYWQudXJsID8/IHVuZGVmaW5lZCxcbiAgICBjcmVhdGVkQXQ6IHBheWxvYWQuY3JlYXRlZF9hdCxcbiAgICBzdGFydGVkQXQ6IHBheWxvYWQudGltZXN0YW1wcz8uc3RhcnQsXG4gICAgZW5kZWRBdDogcGF5bG9hZC50aW1lc3RhbXBzPy5lbmQsXG4gICAgYXBwbGljYXRpb25JZDogcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpIDogdW5kZWZpbmVkLFxuICAgIGRldGFpbHM6IHBheWxvYWQuZGV0YWlscyA/PyB1bmRlZmluZWQsXG4gICAgc3RhdGU6IHBheWxvYWQuc3RhdGUgPz8gdW5kZWZpbmVkLFxuICAgIGVtb2ppOiBwYXlsb2FkLmVtb2ppXG4gICAgICA/IHtcbiAgICAgICAgICBuYW1lOiBwYXlsb2FkLmVtb2ppLm5hbWUsXG4gICAgICAgICAgYW5pbWF0ZWQ6IHBheWxvYWQuZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgaWQ6IHBheWxvYWQuZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmVtb2ppLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgcGFydHlJZDogcGF5bG9hZC5wYXJ0eT8uaWQsXG4gICAgcGFydHlDdXJyZW50U2l6ZTogcGF5bG9hZC5wYXJ0eT8uc2l6ZT8uWzBdLFxuICAgIHBhcnR5TWF4U2l6ZTogcGF5bG9hZC5wYXJ0eT8uc2l6ZT8uWzFdLFxuICAgIGxhcmdlSW1hZ2U6IHBheWxvYWQuYXNzZXRzPy5sYXJnZV9pbWFnZSxcbiAgICBsYXJnZVRleHQ6IHBheWxvYWQuYXNzZXRzPy5sYXJnZV90ZXh0LFxuICAgIHNtYWxsSW1hZ2U6IHBheWxvYWQuYXNzZXRzPy5zbWFsbF9pbWFnZSxcbiAgICBzbWFsbFRleHQ6IHBheWxvYWQuYXNzZXRzPy5zbWFsbF90ZXh0LFxuICAgIGludml0ZUNvdmVySW1hZ2U6IHBheWxvYWQuYXNzZXRzPy5pbnZpdGVfY292ZXJfaW1hZ2UsXG4gICAgam9pbjogcGF5bG9hZC5zZWNyZXRzPy5qb2luLFxuICAgIHNwZWN0YXRlOiBwYXlsb2FkLnNlY3JldHM/LnNwZWN0YXRlLFxuICAgIG1hdGNoOiBwYXlsb2FkLnNlY3JldHM/Lm1hdGNoLFxuICAgIGluc3RhbmNlOiBwYXlsb2FkLmluc3RhbmNlLFxuICAgIGZsYWdzOiBwYXlsb2FkLmZsYWdzLFxuICAgIGJ1dHRvbnM6IHBheWxvYWQuYnV0dG9ucyxcbiAgfSBhcyBBY3Rpdml0eTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5hY3Rpdml0eShib3QsIHBheWxvYWQsIGFjdGl2aXR5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUFjdGl2aXR5SW5zdGFuY2UoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRBY3Rpdml0eUluc3RhbmNlKTogQWN0aXZpdHlJbnN0YW5jZSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5hY3Rpdml0eUluc3RhbmNlO1xuICBjb25zdCBhY3Rpdml0eUluc3RhbmNlID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8QWN0aXZpdHlJbnN0YW5jZSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuYXBwbGljYXRpb25faWQpIGFjdGl2aXR5SW5zdGFuY2UuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpO1xuICBpZiAocHJvcHMuaW5zdGFuY2VJZCAmJiBwYXlsb2FkLmluc3RhbmNlX2lkKSBhY3Rpdml0eUluc3RhbmNlLmluc3RhbmNlSWQgPSBwYXlsb2FkLmluc3RhbmNlX2lkO1xuICBpZiAocHJvcHMubGF1bmNoSWQgJiYgcGF5bG9hZC5sYXVuY2hfaWQpIGFjdGl2aXR5SW5zdGFuY2UubGF1bmNoSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmxhdW5jaF9pZCk7XG4gIGlmIChwcm9wcy5sb2NhdGlvbiAmJiBwYXlsb2FkLmxvY2F0aW9uKSBhY3Rpdml0eUluc3RhbmNlLmxvY2F0aW9uID0gYm90LnRyYW5zZm9ybWVycy5hY3Rpdml0eUxvY2F0aW9uKGJvdCwgcGF5bG9hZC5sb2NhdGlvbik7XG4gIGlmIChwcm9wcy51c2VycyAmJiBwYXlsb2FkLnVzZXJzKSBhY3Rpdml0eUluc3RhbmNlLnVzZXJzID0gcGF5bG9hZC51c2Vycy5tYXAoKHgpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHgpKTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5hY3Rpdml0eUluc3RhbmNlKGJvdCwgcGF5bG9hZCwgYWN0aXZpdHlJbnN0YW5jZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQWN0aXZpdHlMb2NhdGlvbik6IEFjdGl2aXR5TG9jYXRpb24ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuYWN0aXZpdHlMb2NhdGlvbjtcbiAgY29uc3QgYWN0aXZpdHlMb2NhdGlvbiA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEFjdGl2aXR5TG9jYXRpb24sIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYWN0aXZpdHlMb2NhdGlvbi5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5raW5kICYmIHBheWxvYWQua2luZCkgYWN0aXZpdHlMb2NhdGlvbi5raW5kID0gcGF5bG9hZC5raW5kO1xuICBpZiAocHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQuY2hhbm5lbF9pZCkgYWN0aXZpdHlMb2NhdGlvbi5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLmd1aWxkX2lkKSBhY3Rpdml0eUxvY2F0aW9uLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5hY3Rpdml0eUxvY2F0aW9uKGJvdCwgcGF5bG9hZCwgYWN0aXZpdHlMb2NhdGlvbik7XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtQWN0aXZpdHkiLCJib3QiLCJwYXlsb2FkIiwiYWN0aXZpdHkiLCJuYW1lIiwidHlwZSIsInVybCIsInVuZGVmaW5lZCIsImNyZWF0ZWRBdCIsImNyZWF0ZWRfYXQiLCJzdGFydGVkQXQiLCJ0aW1lc3RhbXBzIiwic3RhcnQiLCJlbmRlZEF0IiwiZW5kIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwiZGV0YWlscyIsInN0YXRlIiwiZW1vamkiLCJhbmltYXRlZCIsImlkIiwicGFydHlJZCIsInBhcnR5IiwicGFydHlDdXJyZW50U2l6ZSIsInNpemUiLCJwYXJ0eU1heFNpemUiLCJsYXJnZUltYWdlIiwiYXNzZXRzIiwibGFyZ2VfaW1hZ2UiLCJsYXJnZVRleHQiLCJsYXJnZV90ZXh0Iiwic21hbGxJbWFnZSIsInNtYWxsX2ltYWdlIiwic21hbGxUZXh0Iiwic21hbGxfdGV4dCIsImludml0ZUNvdmVySW1hZ2UiLCJpbnZpdGVfY292ZXJfaW1hZ2UiLCJqb2luIiwic2VjcmV0cyIsInNwZWN0YXRlIiwibWF0Y2giLCJpbnN0YW5jZSIsImZsYWdzIiwiYnV0dG9ucyIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtQWN0aXZpdHlJbnN0YW5jZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJhY3Rpdml0eUluc3RhbmNlIiwiaW5zdGFuY2VJZCIsImluc3RhbmNlX2lkIiwibGF1bmNoSWQiLCJsYXVuY2hfaWQiLCJsb2NhdGlvbiIsImFjdGl2aXR5TG9jYXRpb24iLCJ1c2VycyIsIm1hcCIsIngiLCJ0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uIiwia2luZCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJndWlsZElkIiwiZ3VpbGRfaWQiXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sU0FBU0Esa0JBQWtCQyxHQUFRLEVBQUVDLE9BQXdC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
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvYWN0aXZpdHkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkQWN0aXZpdHksIERpc2NvcmRBY3Rpdml0eUFzc2V0cywgRGlzY29yZEFjdGl2aXR5SW5zdGFuY2UsIERpc2NvcmRBY3Rpdml0eUxvY2F0aW9uIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgdHlwZSB7IEFjdGl2aXR5LCBBY3Rpdml0eUFzc2V0cywgQWN0aXZpdHlJbnN0YW5jZSwgQWN0aXZpdHlMb2NhdGlvbiB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQWN0aXZpdHkoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRBY3Rpdml0eSk6IEFjdGl2aXR5IHtcbiAgY29uc3QgYWN0aXZpdHkgPSB7XG4gICAgbmFtZTogcGF5bG9hZC5uYW1lLFxuICAgIHR5cGU6IHBheWxvYWQudHlwZSxcbiAgICB1cmw6IHBheWxvYWQudXJsID8/IHVuZGVmaW5lZCxcbiAgICBjcmVhdGVkQXQ6IHBheWxvYWQuY3JlYXRlZF9hdCxcbiAgICBhcHBsaWNhdGlvbklkOiBwYXlsb2FkLmFwcGxpY2F0aW9uX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgOiB1bmRlZmluZWQsXG4gICAgZGV0YWlsczogcGF5bG9hZC5kZXRhaWxzID8/IHVuZGVmaW5lZCxcbiAgICBzdGF0ZTogcGF5bG9hZC5zdGF0ZSA/PyB1bmRlZmluZWQsXG4gICAgZW1vamk6IHBheWxvYWQuZW1vamlcbiAgICAgID8ge1xuICAgICAgICAgIG5hbWU6IHBheWxvYWQuZW1vamkubmFtZSxcbiAgICAgICAgICBhbmltYXRlZDogcGF5bG9hZC5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgICBpZDogcGF5bG9hZC5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZW1vamkuaWQpIDogdW5kZWZpbmVkLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBpbnN0YW5jZTogcGF5bG9hZC5pbnN0YW5jZSxcbiAgICBmbGFnczogcGF5bG9hZC5mbGFncyxcbiAgICBidXR0b25zOiBwYXlsb2FkLmJ1dHRvbnMsXG4gICAgYXNzZXRzOiBwYXlsb2FkLmFzc2V0cyA/IGJvdC50cmFuc2Zvcm1lcnMuYWN0aXZpdHlBc3NldHMoYm90LCBwYXlsb2FkLmFzc2V0cykgOiB1bmRlZmluZWQsXG4gICAgZGV0YWlsc1VybDogcGF5bG9hZC5kZXRhaWxzX3VybCA/PyB1bmRlZmluZWQsXG4gICAgc3RhdGVVcmw6IHBheWxvYWQuc3RhdGVfdXJsID8/IHVuZGVmaW5lZCxcbiAgICBwYXJ0eTogcGF5bG9hZC5wYXJ0eSxcbiAgICB0aW1lc3RhbXBzOiBwYXlsb2FkLnRpbWVzdGFtcHMsXG4gICAgc3RhdHVzRGlzcGxheVR5cGU6IHBheWxvYWQuc3RhdHVzX2Rpc3BsYXlfdHlwZSA/PyB1bmRlZmluZWQsXG4gICAgc2VjcmV0czogcGF5bG9hZC5zZWNyZXRzXG4gICAgICA/IHtcbiAgICAgICAgICBqb2luOiBwYXlsb2FkLnNlY3JldHMuam9pbiA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgc3BlY3RhdGU6IHBheWxvYWQuc2VjcmV0cy5zcGVjdGF0ZSA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgbWF0Y2g6IHBheWxvYWQuc2VjcmV0cy5tYXRjaCA/PyB1bmRlZmluZWQsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICB9IHNhdGlzZmllcyBBY3Rpdml0eTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5hY3Rpdml0eShib3QsIHBheWxvYWQsIGFjdGl2aXR5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUFjdGl2aXR5SW5zdGFuY2UoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRBY3Rpdml0eUluc3RhbmNlKTogQWN0aXZpdHlJbnN0YW5jZSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5hY3Rpdml0eUluc3RhbmNlO1xuICBjb25zdCBhY3Rpdml0eUluc3RhbmNlID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8QWN0aXZpdHlJbnN0YW5jZSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuYXBwbGljYXRpb25faWQpIGFjdGl2aXR5SW5zdGFuY2UuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpO1xuICBpZiAocHJvcHMuaW5zdGFuY2VJZCAmJiBwYXlsb2FkLmluc3RhbmNlX2lkKSBhY3Rpdml0eUluc3RhbmNlLmluc3RhbmNlSWQgPSBwYXlsb2FkLmluc3RhbmNlX2lkO1xuICBpZiAocHJvcHMubGF1bmNoSWQgJiYgcGF5bG9hZC5sYXVuY2hfaWQpIGFjdGl2aXR5SW5zdGFuY2UubGF1bmNoSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmxhdW5jaF9pZCk7XG4gIGlmIChwcm9wcy5sb2NhdGlvbiAmJiBwYXlsb2FkLmxvY2F0aW9uKSBhY3Rpdml0eUluc3RhbmNlLmxvY2F0aW9uID0gYm90LnRyYW5zZm9ybWVycy5hY3Rpdml0eUxvY2F0aW9uKGJvdCwgcGF5bG9hZC5sb2NhdGlvbik7XG4gIGlmIChwcm9wcy51c2VycyAmJiBwYXlsb2FkLnVzZXJzKSBhY3Rpdml0eUluc3RhbmNlLnVzZXJzID0gcGF5bG9hZC51c2Vycy5tYXAoKHgpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHgpKTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5hY3Rpdml0eUluc3RhbmNlKGJvdCwgcGF5bG9hZCwgYWN0aXZpdHlJbnN0YW5jZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQWN0aXZpdHlMb2NhdGlvbik6IEFjdGl2aXR5TG9jYXRpb24ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuYWN0aXZpdHlMb2NhdGlvbjtcbiAgY29uc3QgYWN0aXZpdHlMb2NhdGlvbiA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEFjdGl2aXR5TG9jYXRpb24sIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYWN0aXZpdHlMb2NhdGlvbi5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5raW5kICYmIHBheWxvYWQua2luZCkgYWN0aXZpdHlMb2NhdGlvbi5raW5kID0gcGF5bG9hZC5raW5kO1xuICBpZiAocHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQuY2hhbm5lbF9pZCkgYWN0aXZpdHlMb2NhdGlvbi5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLmd1aWxkX2lkKSBhY3Rpdml0eUxvY2F0aW9uLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5hY3Rpdml0eUxvY2F0aW9uKGJvdCwgcGF5bG9hZCwgYWN0aXZpdHlMb2NhdGlvbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpdml0eUFzc2V0cyhib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEFjdGl2aXR5QXNzZXRzKTogQWN0aXZpdHlBc3NldHMge1xuICBjb25zdCBhY3Rpdml0eUFzc2V0cyA9IHtcbiAgICBpbnZpdGVDb3ZlckltYWdlOiBwYXlsb2FkLmludml0ZV9jb3Zlcl9pbWFnZSxcbiAgICBsYXJnZUltYWdlOiBwYXlsb2FkLmxhcmdlX2ltYWdlLFxuICAgIGxhcmdlVGV4dDogcGF5bG9hZC5sYXJnZV90ZXh0LFxuICAgIGxhcmdlVXJsOiBwYXlsb2FkLmxhcmdlX3VybCxcbiAgICBzbWFsbEltYWdlOiBwYXlsb2FkLnNtYWxsX2ltYWdlLFxuICAgIHNtYWxsVGV4dDogcGF5bG9hZC5zbWFsbF90ZXh0LFxuICAgIHNtYWxsVXJsOiBwYXlsb2FkLnNtYWxsX3VybCxcbiAgfSBzYXRpc2ZpZXMgQWN0aXZpdHlBc3NldHM7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuYWN0aXZpdHlBc3NldHMoYm90LCBwYXlsb2FkLCBhY3Rpdml0eUFzc2V0cyk7XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtQWN0aXZpdHkiLCJib3QiLCJwYXlsb2FkIiwiYWN0aXZpdHkiLCJuYW1lIiwidHlwZSIsInVybCIsInVuZGVmaW5lZCIsImNyZWF0ZWRBdCIsImNyZWF0ZWRfYXQiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJkZXRhaWxzIiwic3RhdGUiLCJlbW9qaSIsImFuaW1hdGVkIiwiaWQiLCJpbnN0YW5jZSIsImZsYWdzIiwiYnV0dG9ucyIsImFzc2V0cyIsImFjdGl2aXR5QXNzZXRzIiwiZGV0YWlsc1VybCIsImRldGFpbHNfdXJsIiwic3RhdGVVcmwiLCJzdGF0ZV91cmwiLCJwYXJ0eSIsInRpbWVzdGFtcHMiLCJzdGF0dXNEaXNwbGF5VHlwZSIsInN0YXR1c19kaXNwbGF5X3R5cGUiLCJzZWNyZXRzIiwiam9pbiIsInNwZWN0YXRlIiwibWF0Y2giLCJjdXN0b21pemVycyIsInRyYW5zZm9ybUFjdGl2aXR5SW5zdGFuY2UiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYWN0aXZpdHlJbnN0YW5jZSIsImluc3RhbmNlSWQiLCJpbnN0YW5jZV9pZCIsImxhdW5jaElkIiwibGF1bmNoX2lkIiwibG9jYXRpb24iLCJhY3Rpdml0eUxvY2F0aW9uIiwidXNlcnMiLCJtYXAiLCJ4IiwidHJhbnNmb3JtQWN0aXZpdHlMb2NhdGlvbiIsImtpbmQiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwidHJhbnNmb3JtQWN0aXZpdHlBc3NldHMiLCJpbnZpdGVDb3ZlckltYWdlIiwiaW52aXRlX2NvdmVyX2ltYWdlIiwibGFyZ2VJbWFnZSIsImxhcmdlX2ltYWdlIiwibGFyZ2VUZXh0IiwibGFyZ2VfdGV4dCIsImxhcmdlVXJsIiwibGFyZ2VfdXJsIiwic21hbGxJbWFnZSIsInNtYWxsX2ltYWdlIiwic21hbGxUZXh0Iiwic21hbGxfdGV4dCIsInNtYWxsVXJsIiwic21hbGxfdXJsIl0sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLFNBQVNBLGtCQUFrQkMsR0FBUSxFQUFFQyxPQUF3QjtJQUNsRSxNQUFNQyxXQUFXO1FBQ2ZDLE1BQU1GLFFBQVFFLElBQUk7UUFDbEJDLE1BQU1ILFFBQVFHLElBQUk7UUFDbEJDLEtBQUtKLFFBQVFJLEdBQUcsSUFBSUM7UUFDcEJDLFdBQVdOLFFBQVFPLFVBQVU7UUFDN0JDLGVBQWVSLFFBQVFTLGNBQWMsR0FBR1YsSUFBSVcsWUFBWSxDQUFDQyxTQUFTLENBQUNYLFFBQVFTLGNBQWMsSUFBSUo7UUFDN0ZPLFNBQVNaLFFBQVFZLE9BQU8sSUFBSVA7UUFDNUJRLE9BQU9iLFFB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
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/transformers/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAuD,MAAM,mBAAmB,CAAC;AAEjH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAkErH"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/transformers/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAuD,MAAM,mBAAmB,CAAC;AAEjH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAoErH"}
@@ -1,5 +1,6 @@
1
1
  import { DiscordApplicationIntegrationType } from '@discordeno/types';
2
2
  import { iconHashToBigInt } from '@discordeno/utils';
3
+ import { ToggleBitfield } from './toggles/ToggleBitfield.js';
3
4
  export function transformApplication(bot, payload, extra) {
4
5
  const application = {
5
6
  name: payload.name,
@@ -14,6 +15,8 @@ export function transformApplication(bot, payload, extra) {
14
15
  slug: payload.slug,
15
16
  coverImage: payload.cover_image ? iconHashToBigInt(payload.cover_image) : undefined,
16
17
  flags: payload.flags,
18
+ // flags_new is a string with the bitfield inside
19
+ flagsNew: payload.flags_new ? new ToggleBitfield(Number(payload.flags_new)) : undefined,
17
20
  id: bot.transformers.snowflake(payload.id),
18
21
  icon: payload.icon ? iconHashToBigInt(payload.icon) : undefined,
19
22
  owner: payload.owner ? bot.transformers.user(bot, payload.owner) : undefined,
@@ -57,4 +60,4 @@ export function transformApplication(bot, payload, extra) {
57
60
  return bot.transformers.customizers.application(bot, payload, application, extra);
58
61
  }
59
62
 
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvYXBwbGljYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEaXNjb3JkQXBwbGljYXRpb24sIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSwgdHlwZSBEaXNjb3JkVXNlciB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IEFwcGxpY2F0aW9uIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BcHBsaWNhdGlvbihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uLCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9KTogQXBwbGljYXRpb24ge1xuICBjb25zdCBhcHBsaWNhdGlvbiA9IHtcbiAgICBuYW1lOiBwYXlsb2FkLm5hbWUsXG4gICAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gICAgcnBjT3JpZ2luczogcGF5bG9hZC5ycGNfb3JpZ2lucyxcbiAgICBib3RQdWJsaWM6IHBheWxvYWQuYm90X3B1YmxpYyxcbiAgICBib3RSZXF1aXJlQ29kZUdyYW50OiBwYXlsb2FkLmJvdF9yZXF1aXJlX2NvZGVfZ3JhbnQsXG4gICAgdGVybXNPZlNlcnZpY2VVcmw6IHBheWxvYWQudGVybXNfb2Zfc2VydmljZV91cmwsXG4gICAgcHJpdmFjeVBvbGljeVVybDogcGF5bG9hZC5wcml2YWN5X3BvbGljeV91cmwsXG4gICAgdmVyaWZ5S2V5OiBwYXlsb2FkLnZlcmlmeV9rZXksXG4gICAgcHJpbWFyeVNrdUlkOiBwYXlsb2FkLnByaW1hcnlfc2t1X2lkLFxuICAgIHNsdWc6IHBheWxvYWQuc2x1ZyxcbiAgICBjb3ZlckltYWdlOiBwYXlsb2FkLmNvdmVyX2ltYWdlID8gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmNvdmVyX2ltYWdlKSA6IHVuZGVmaW5lZCxcbiAgICBmbGFnczogcGF5bG9hZC5mbGFncyxcblxuICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKSxcbiAgICBpY29uOiBwYXlsb2FkLmljb24gPyBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuaWNvbikgOiB1bmRlZmluZWQsXG4gICAgb3duZXI6IHBheWxvYWQub3duZXJcbiAgICAgID8gLy8gQHRzLWV4cGVjdC1lcnJvciB0aGUgcGFydGlhbCBoZXJlIHdvbnQgYnJlYWsgYW55dGhpbmdcbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5vd25lcilcbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIHRlYW06IHBheWxvYWQudGVhbSA/IGJvdC50cmFuc2Zvcm1lcnMudGVhbShib3QsIHBheWxvYWQudGVhbSkgOiB1bmRlZmluZWQsXG4gICAgZ3VpbGRJZDogcGF5bG9hZC5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpIDogdW5kZWZpbmVkLFxuICAgIGN1c3RvbUluc3RhbGxVcmw6IHBheWxvYWQuY3VzdG9tX2luc3RhbGxfdXJsLFxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGhlIHBhcnRpYWwgaGVyZSB3b250IGJyZWFrIGFueXRoaW5nXG4gICAgZ3VpbGQ6IHBheWxvYWQuZ3VpbGQgPyBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgcGF5bG9hZC5ndWlsZCwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KSA6IHVuZGVmaW5lZCxcbiAgICBhcHByb3hpbWF0ZUd1aWxkQ291bnQ6IHBheWxvYWQuYXBwcm94aW1hdGVfZ3VpbGRfY291bnQsXG4gICAgYXBwcm94aW1hdGVVc2VySW5zdGFsbENvdW50OiBwYXlsb2FkLmFwcHJveGltYXRlX3VzZXJfaW5zdGFsbF9jb3VudCxcbiAgICBhcHByb3hpbWF0ZVVzZXJBdXRob3JpemF0aW9uQ291bnQ6IHBheWxvYWQuYXBwcm94aW1hdGVfdXNlcl9hdXRob3JpemF0aW9uX2NvdW50LFxuICAgIGJvdDogcGF5bG9hZC5ib3QgPyBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmJvdCBhcyBEaXNjb3JkVXNlcikgOiB1bmRlZmluZWQsXG4gICAgaW50ZXJhY3Rpb25zRW5kcG9pbnRVcmw6IHBheWxvYWQuaW50ZXJhY3Rpb25zX2VuZHBvaW50X3VybCA/IHBheWxvYWQuaW50ZXJhY3Rpb25zX2VuZHBvaW50X3VybCA6IHVuZGVmaW5lZCxcbiAgICByZWRpcmVjdFVyaXM6IHBheWxvYWQucmVkaXJlY3RfdXJpcyxcbiAgICByb2xlQ29ubmVjdGlvbnNWZXJpZmljYXRpb25Vcmw6IHBheWxvYWQucm9sZV9jb25uZWN0aW9uc192ZXJpZmljYXRpb25fdXJsLFxuICAgIHRhZ3M6IHBheWxvYWQudGFncyxcbiAgICBpbnN0YWxsUGFyYW1zOiBwYXlsb2FkLmluc3RhbGxfcGFyYW1zXG4gICAgICA/IHtcbiAgICAgICAgICBzY29wZXM6IHBheWxvYWQuaW5zdGFsbF9wYXJhbXMuc2NvcGVzLFxuICAgICAgICAgIHBlcm1pc3Npb25zOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmluc3RhbGxfcGFyYW1zLnBlcm1pc3Npb25zKSxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgaW50ZWdyYXRpb25UeXBlc0NvbmZpZzogcGF5bG9hZC5pbnRlZ3JhdGlvbl90eXBlc19jb25maWdcbiAgICAgID8ge1xuICAgICAgICAgIFtEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUuR3VpbGRJbnN0YWxsXTogcGF5bG9hZC5pbnRlZ3JhdGlvbl90eXBlc19jb25maWdbJzAnXT8ub2F1dGgyX2luc3RhbGxfcGFyYW1zXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBvYXV0aDJJbnN0YWxsUGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICBzY29wZXM6IHBheWxvYWQuaW50ZWdyYXRpb25fdHlwZXNfY29uZmlnWycwJ10ub2F1dGgyX2luc3RhbGxfcGFyYW1zLnNjb3BlcyxcbiAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVncmF0aW9uX3R5cGVzX2NvbmZpZ1snMCddLm9hdXRoMl9pbnN0YWxsX3BhcmFtcy5wZXJtaXNzaW9ucyksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5Vc2VySW5zdGFsbF06IHBheWxvYWQuaW50ZWdyYXRpb25fdHlwZXNfY29uZmlnWycxJ10/Lm9hdXRoMl9pbnN0YWxsX3BhcmFtc1xuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgb2F1dGgySW5zdGFsbFBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgc2NvcGVzOiBwYXlsb2FkLmludGVncmF0aW9uX3R5cGVzX2NvbmZpZ1snMSddLm9hdXRoMl9pbnN0YWxsX3BhcmFtcy5zY29wZXMsXG4gICAgICAgICAgICAgICAgICBwZXJtaXNzaW9uczogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlZ3JhdGlvbl90eXBlc19jb25maWdbJzEnXS5vYXV0aDJfaW5zdGFsbF9wYXJhbXMucGVybWlzc2lvbnMpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBldmVudFdlYmhvb2tzVXJsOiBwYXlsb2FkLmV2ZW50X3dlYmhvb2tzX3VybCxcbiAgICBldmVudFdlYmhvb2tzU3RhdHVzOiBwYXlsb2FkLmV2ZW50X3dlYmhvb2tzX3N0YXR1cyxcbiAgICBldmVudFdlYmhvb2tzVHlwZXM6IHBheWxvYWQuZXZlbnRfd2ViaG9va3NfdHlwZXMsXG4gIH0gYXMgQXBwbGljYXRpb247XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuYXBwbGljYXRpb24oYm90LCBwYXlsb2FkLCBhcHBsaWNhdGlvbiwgZXh0cmEpO1xufVxuIl0sIm5hbWVzIjpbIkRpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSIsImljb25IYXNoVG9CaWdJbnQiLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbiIsImJvdCIsInBheWxvYWQiLCJleHRyYSIsImFwcGxpY2F0aW9uIiwibmFtZSIsImRlc2NyaXB0aW9uIiwicnBjT3JpZ2lucyIsInJwY19vcmlnaW5zIiwiYm90UHVibGljIiwiYm90X3B1YmxpYyIsImJvdFJlcXVpcmVDb2RlR3JhbnQiLCJib3RfcmVxdWlyZV9jb2RlX2dyYW50IiwidGVybXNPZlNlcnZpY2VVcmwiLCJ0ZXJtc19vZl9zZXJ2aWNlX3VybCIsInByaXZhY3lQb2xpY3lVcmwiLCJwcml2YWN5X3BvbGljeV91cmwiLCJ2ZXJpZnlLZXkiLCJ2ZXJpZnlfa2V5IiwicHJpbWFyeVNrdUlkIiwicHJpbWFyeV9za3VfaWQiLCJzbHVnIiwiY292ZXJJbWFnZSIsImNvdmVyX2ltYWdlIiwidW5kZWZpbmVkIiwiZmxhZ3MiLCJpZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsImljb24iLCJvd25lciIsInVzZXIiLCJ0ZWFtIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwiY3VzdG9tSW5zdGFsbFVybCIsImN1c3RvbV9pbnN0YWxsX3VybCIsImd1aWxkIiwic2hhcmRJZCIsImFwcHJveGltYXRlR3VpbGRDb3VudCIsImFwcHJveGltYXRlX2d1aWxkX2NvdW50IiwiYXBwcm94aW1hdGVVc2VySW5zdGFsbENvdW50IiwiYXBwcm94aW1hdGVfdXNlcl9pbnN0YWxsX2NvdW50IiwiYXBwcm94aW1hdGVVc2VyQXV0aG9yaXphdGlvbkNvdW50IiwiYXBwcm94aW1hdGVfdXNlcl9hdXRob3JpemF0aW9uX2NvdW50IiwiaW50ZXJhY3Rpb25zRW5kcG9pbnRVcmwiLCJpbnRlcmFjdGlvbnNfZW5kcG9pbnRfdXJsIiwicmVkaXJlY3RVcmlzIiwicmVkaXJlY3RfdXJpcyIsInJvbGVDb25uZWN0aW9uc1ZlcmlmaWNhdGlvblVybCIsInJvbGVfY29ubmVjdGlvbnNfdmVyaWZpY2F0aW9uX3VybCIsInRhZ3MiLCJpbnN0YWxsUGFyYW1zIiwiaW5zdGFsbF9wYXJhbXMiLCJzY29wZXMiLCJwZXJtaXNzaW9ucyIsImludGVncmF0aW9uVHlwZXNDb25maWciLCJpbnRlZ3JhdGlvbl90eXBlc19jb25maWciLCJHdWlsZEluc3RhbGwiLCJvYXV0aDJfaW5zdGFsbF9wYXJhbXMiLCJvYXV0aDJJbnN0YWxsUGFyYW1zIiwiVXNlckluc3RhbGwiLCJldmVudFdlYmhvb2tzVXJsIiwiZXZlbnRfd2ViaG9va3NfdXJsIiwiZXZlbnRXZWJob29rc1N0YXR1cyIsImV2ZW50X3dlYmhvb2tzX3N0YXR1cyIsImV2ZW50V2ViaG9va3NUeXBlcyIsImV2ZW50X3dlYmhvb2tzX3R5cGVzIiwiY3VzdG9taXplcnMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQWtDQSxpQ0FBaUMsUUFBMEIsb0JBQW9CO0FBQ2pILFNBQVNDLGdCQUFnQixRQUFRLG9CQUFvQjtBQUlyRCxPQUFPLFNBQVNDLHFCQUFxQkMsR0FBUSxFQUFFQyxPQUEyQixFQUFFQyxLQUE0QjtJQUN0RyxNQUFNQyxjQUFjO1FBQ2xCQyxNQUFNSCxRQUFRRyxJQUFJO1FBQ2xCQyxhQUFhSixRQUFRSSxXQUFXO1FBQ2hDQyxZQUFZTCxRQUFRTSxXQUFXO1FBQy9CQyxXQUFXUCxRQUFRUSxVQUFVO1FBQzdCQyxxQkFBcUJULFFBQVFVLHNCQUFzQjtRQUNuREMsbUJBQW1CWCxRQUFRWSxvQkFBb0I7UUFDL0NDLGtCQUFrQmIsUUFBUWMsa0JBQWtCO1FBQzVDQyxX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
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvYXBwbGljYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEaXNjb3JkQXBwbGljYXRpb24sIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSwgdHlwZSBEaXNjb3JkVXNlciB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgeyBUb2dnbGVCaXRmaWVsZCB9IGZyb20gJy4vdG9nZ2xlcy9Ub2dnbGVCaXRmaWVsZC5qcyc7XG5pbXBvcnQgdHlwZSB7IEFwcGxpY2F0aW9uIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1BcHBsaWNhdGlvbihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uLCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9KTogQXBwbGljYXRpb24ge1xuICBjb25zdCBhcHBsaWNhdGlvbiA9IHtcbiAgICBuYW1lOiBwYXlsb2FkLm5hbWUsXG4gICAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gICAgcnBjT3JpZ2luczogcGF5bG9hZC5ycGNfb3JpZ2lucyxcbiAgICBib3RQdWJsaWM6IHBheWxvYWQuYm90X3B1YmxpYyxcbiAgICBib3RSZXF1aXJlQ29kZUdyYW50OiBwYXlsb2FkLmJvdF9yZXF1aXJlX2NvZGVfZ3JhbnQsXG4gICAgdGVybXNPZlNlcnZpY2VVcmw6IHBheWxvYWQudGVybXNfb2Zfc2VydmljZV91cmwsXG4gICAgcHJpdmFjeVBvbGljeVVybDogcGF5bG9hZC5wcml2YWN5X3BvbGljeV91cmwsXG4gICAgdmVyaWZ5S2V5OiBwYXlsb2FkLnZlcmlmeV9rZXksXG4gICAgcHJpbWFyeVNrdUlkOiBwYXlsb2FkLnByaW1hcnlfc2t1X2lkLFxuICAgIHNsdWc6IHBheWxvYWQuc2x1ZyxcbiAgICBjb3ZlckltYWdlOiBwYXlsb2FkLmNvdmVyX2ltYWdlID8gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmNvdmVyX2ltYWdlKSA6IHVuZGVmaW5lZCxcbiAgICBmbGFnczogcGF5bG9hZC5mbGFncyxcbiAgICAvLyBmbGFnc19uZXcgaXMgYSBzdHJpbmcgd2l0aCB0aGUgYml0ZmllbGQgaW5zaWRlXG4gICAgZmxhZ3NOZXc6IHBheWxvYWQuZmxhZ3NfbmV3ID8gbmV3IFRvZ2dsZUJpdGZpZWxkKE51bWJlcihwYXlsb2FkLmZsYWdzX25ldykpIDogdW5kZWZpbmVkLFxuXG4gICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpLFxuICAgIGljb246IHBheWxvYWQuaWNvbiA/IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5pY29uKSA6IHVuZGVmaW5lZCxcbiAgICBvd25lcjogcGF5bG9hZC5vd25lclxuICAgICAgPyAvLyBAdHMtZXhwZWN0LWVycm9yIHRoZSBwYXJ0aWFsIGhlcmUgd29udCBicmVhayBhbnl0aGluZ1xuICAgICAgICBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLm93bmVyKVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgdGVhbTogcGF5bG9hZC50ZWFtID8gYm90LnRyYW5zZm9ybWVycy50ZWFtKGJvdCwgcGF5bG9hZC50ZWFtKSA6IHVuZGVmaW5lZCxcbiAgICBndWlsZElkOiBwYXlsb2FkLmd1aWxkX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZF9pZCkgOiB1bmRlZmluZWQsXG4gICAgY3VzdG9tSW5zdGFsbFVybDogcGF5bG9hZC5jdXN0b21faW5zdGFsbF91cmwsXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciB0aGUgcGFydGlhbCBoZXJlIHdvbnQgYnJlYWsgYW55dGhpbmdcbiAgICBndWlsZDogcGF5bG9hZC5ndWlsZCA/IGJvdC50cmFuc2Zvcm1lcnMuZ3VpbGQoYm90LCBwYXlsb2FkLmd1aWxkLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pIDogdW5kZWZpbmVkLFxuICAgIGFwcHJveGltYXRlR3VpbGRDb3VudDogcGF5bG9hZC5hcHByb3hpbWF0ZV9ndWlsZF9jb3VudCxcbiAgICBhcHByb3hpbWF0ZVVzZXJJbnN0YWxsQ291bnQ6IHBheWxvYWQuYXBwcm94aW1hdGVfdXNlcl9pbnN0YWxsX2NvdW50LFxuICAgIGFwcHJveGltYXRlVXNlckF1dGhvcml6YXRpb25Db3VudDogcGF5bG9hZC5hcHByb3hpbWF0ZV91c2VyX2F1dGhvcml6YXRpb25fY291bnQsXG4gICAgYm90OiBwYXlsb2FkLmJvdCA/IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQuYm90IGFzIERpc2NvcmRVc2VyKSA6IHVuZGVmaW5lZCxcbiAgICBpbnRlcmFjdGlvbnNFbmRwb2ludFVybDogcGF5bG9hZC5pbnRlcmFjdGlvbnNfZW5kcG9pbnRfdXJsID8gcGF5bG9hZC5pbnRlcmFjdGlvbnNfZW5kcG9pbnRfdXJsIDogdW5kZWZpbmVkLFxuICAgIHJlZGlyZWN0VXJpczogcGF5bG9hZC5yZWRpcmVjdF91cmlzLFxuICAgIHJvbGVDb25uZWN0aW9uc1ZlcmlmaWNhdGlvblVybDogcGF5bG9hZC5yb2xlX2Nvbm5lY3Rpb25zX3ZlcmlmaWNhdGlvbl91cmwsXG4gICAgdGFnczogcGF5bG9hZC50YWdzLFxuICAgIGluc3RhbGxQYXJhbXM6IHBheWxvYWQuaW5zdGFsbF9wYXJhbXNcbiAgICAgID8ge1xuICAgICAgICAgIHNjb3BlczogcGF5bG9hZC5pbnN0YWxsX3BhcmFtcy5zY29wZXMsXG4gICAgICAgICAgcGVybWlzc2lvbnM6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW5zdGFsbF9wYXJhbXMucGVybWlzc2lvbnMpLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBpbnRlZ3JhdGlvblR5cGVzQ29uZmlnOiBwYXlsb2FkLmludGVncmF0aW9uX3R5cGVzX2NvbmZpZ1xuICAgICAgPyB7XG4gICAgICAgICAgW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5HdWlsZEluc3RhbGxdOiBwYXlsb2FkLmludGVncmF0aW9uX3R5cGVzX2NvbmZpZ1snMCddPy5vYXV0aDJfaW5zdGFsbF9wYXJhbXNcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIG9hdXRoMkluc3RhbGxQYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgIHNjb3BlczogcGF5bG9hZC5pbnRlZ3JhdGlvbl90eXBlc19jb25maWdbJzAnXS5vYXV0aDJfaW5zdGFsbF9wYXJhbXMuc2NvcGVzLFxuICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbnM6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZWdyYXRpb25fdHlwZXNfY29uZmlnWycwJ10ub2F1dGgyX2luc3RhbGxfcGFyYW1zLnBlcm1pc3Npb25zKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXTogcGF5bG9hZC5pbnRlZ3JhdGlvbl90eXBlc19jb25maWdbJzEnXT8ub2F1dGgyX2luc3RhbGxfcGFyYW1zXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBvYXV0aDJJbnN0YWxsUGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICBzY29wZXM6IHBheWxvYWQuaW50ZWdyYXRpb25fdHlwZXNfY29uZmlnWycxJ10ub2F1dGgyX2luc3RhbGxfcGFyYW1zLnNjb3BlcyxcbiAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVncmF0aW9uX3R5cGVzX2NvbmZpZ1snMSddLm9hdXRoMl9pbnN0YWxsX3BhcmFtcy5wZXJtaXNzaW9ucyksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGV2ZW50V2ViaG9va3NVcmw6IHBheWxvYWQuZXZlbnRfd2ViaG9va3NfdXJsLFxuICAgIGV2ZW50V2ViaG9va3NTdGF0dXM6IHBheWxvYWQuZXZlbnRfd2ViaG9va3Nfc3RhdHVzLFxuICAgIGV2ZW50V2ViaG9va3NUeXBlczogcGF5bG9hZC5ldmVudF93ZWJob29rc190eXBlcyxcbiAgfSBhcyBBcHBsaWNhdGlvbjtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5hcHBsaWNhdGlvbihib3QsIHBheWxvYWQsIGFwcGxpY2F0aW9uLCBleHRyYSk7XG59XG4iXSwibmFtZXMiOlsiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiaWNvbkhhc2hUb0JpZ0ludCIsIlRvZ2dsZUJpdGZpZWxkIiwidHJhbnNmb3JtQXBwbGljYXRpb24iLCJib3QiLCJwYXlsb2FkIiwiZXh0cmEiLCJhcHBsaWNhdGlvbiIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsInJwY09yaWdpbnMiLCJycGNfb3JpZ2lucyIsImJvdFB1YmxpYyIsImJvdF9wdWJsaWMiLCJib3RSZXF1aXJlQ29kZUdyYW50IiwiYm90X3JlcXVpcmVfY29kZV9ncmFudCIsInRlcm1zT2ZTZXJ2aWNlVXJsIiwidGVybXNfb2Zfc2VydmljZV91cmwiLCJwcml2YWN5UG9saWN5VXJsIiwicHJpdmFjeV9wb2xpY3lfdXJsIiwidmVyaWZ5S2V5IiwidmVyaWZ5X2tleSIsInByaW1hcnlTa3VJZCIsInByaW1hcnlfc2t1X2lkIiwic2x1ZyIsImNvdmVySW1hZ2UiLCJjb3Zlcl9pbWFnZSIsInVuZGVmaW5lZCIsImZsYWdzIiwiZmxhZ3NOZXciLCJmbGFnc19uZXciLCJOdW1iZXIiLCJpZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsImljb24iLCJvd25lciIsInVzZXIiLCJ0ZWFtIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwiY3VzdG9tSW5zdGFsbFVybCIsImN1c3RvbV9pbnN0YWxsX3VybCIsImd1aWxkIiwic2hhcmRJZCIsImFwcHJveGltYXRlR3VpbGRDb3VudCIsImFwcHJveGltYXRlX2d1aWxkX2NvdW50IiwiYXBwcm94aW1hdGVVc2VySW5zdGFsbENvdW50IiwiYXBwcm94aW1hdGVfdXNlcl9pbnN0YWxsX2NvdW50IiwiYXBwcm94aW1hdGVVc2VyQXV0aG9yaXphdGlvbkNvdW50IiwiYXBwcm94aW1hdGVfdXNlcl9hdXRob3JpemF0aW9uX2NvdW50IiwiaW50ZXJhY3Rpb25zRW5kcG9pbnRVcmwiLCJpbnRlcmFjdGlvbnNfZW5kcG9pbnRfdXJsIiwicmVkaXJlY3RVcmlzIiwicmVkaXJlY3RfdXJpcyIsInJvbGVDb25uZWN0aW9uc1ZlcmlmaWNhdGlvblVybCIsInJvbGVfY29ubmVjdGlvbnNfdmVyaWZpY2F0aW9uX3VybCIsInRhZ3MiLCJpbnN0YWxsUGFyYW1zIiwiaW5zdGFsbF9wYXJhbXMiLCJzY29wZXMiLCJwZXJtaXNzaW9ucyIsImludGVncmF0aW9uVHlwZXNDb25maWciLCJpbnRlZ3JhdGlvbl90eXBlc19jb25maWciLCJHdWlsZEluc3RhbGwiLCJvYXV0aDJfaW5zdGFsbF9wYXJhbXMiLCJvYXV0aDJJbnN0YWxsUGFyYW1zIiwiVXNlckluc3RhbGwiLCJldmVudFdlYmhvb2tzVXJsIiwiZXZlbnRfd2ViaG9va3NfdXJsIiwiZXZlbnRXZWJob29rc1N0YXR1cyIsImV2ZW50X3dlYmhvb2tzX3N0YXR1cyIsImV2ZW50V2ViaG9va3NUeXBlcyIsImV2ZW50X3dlYmhvb2tzX3R5cGVzIiwiY3VzdG9taXplcnMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQWtDQSxpQ0FBaUMsUUFBMEIsb0JBQW9CO0FBQ2pILFNBQVNDLGdCQUFnQixRQUFRLG9CQUFvQjtBQUVyRCxTQUFTQyxjQUFjLFFBQVEsOEJBQThCO0FBRzdELE9BQU8sU0FBU0MscUJBQXFCQyxHQUFRLEVBQUVDLE9BQTJCLEVBQUVDLEtBQTRCO0lBQ3RHLE1BQU1DLGNBQWM7UUFDbEJDLE1BQU1ILFFBQVFHLElBQUk7UUFDbEJDLGFBQWFKLFFBQVFJLFdBQVc7UUFDaENDLFlBQVlMLFFBQVFNLFdBQVc7UUFDL0JDLFdBQVdQLFFBQVFRLFVBQVU7UUFDN0JDLHFCQUFxQlQsUUFBUVUsc0JBQXNCO1FBQ25EQyxtQkFBbUJYLFFBQVFZLG9CQUFvQjtRQUMvQ0Msa0JBQWtCYixRQUFRYyxrQkFBa0I7UUFDNUNDLFdBQVdmLFFBQVFnQixVQUFVO1FBQzdCQyxjQUFjakIsUUFBUWtCLGNBQWM7UUFDcENDLE1BQU1uQixRQUFRbUIsSUFBSTtRQUNsQkMsWUFBWXBCLFFBQVFxQixXQUFXLEdBQUd6QixpQkFBaUJJLFFBQVFxQixXQUFXLElBQUlDO1FBQzFFQyxPQUFPdkIsUUFBUXVCLEtBQUs7UUFDcEIsaURBQWlEO1FBQ2pEQyxVQUFVeEIsUUFBUXlCLFNBQVMsR0FBRyxJQUFJNUIsZUFBZTZCLE9BQU8xQixRQUFReUIsU0FBUyxLQUFLSDtRQUU5RUssSUFBSTVCLElBQUk2QixZQUFZLENBQUNDLFNBQVMsQ0FBQzdCLFFBQVEyQixFQUFFO1FBQ3pDRyxNQUFNOUIsUUFBUThCLElBQUksR0FBR2xDLGlCQUFpQkksUUFBUThCLElBQUksSUFBSVI7UUFDdERTLE9BQU8vQixRQUFRK0IsS0FBSyxHQUVoQmhDLElBQUk2QixZQUFZLENBQUNJLElBQUksQ0FBQ2pDLEtBQUtDLFFBQVErQixLQUFLLElBQ3hDVDtRQUNKVyxNQUFNakMsUUFBUWlDLElBQUksR0FBR2xDLElBQUk2QixZQUFZLENBQUNLLElBQUksQ0FBQ2xDLEtBQUtDLFFBQVFpQyxJQUFJLElBQUlYO1FBQ2hFWSxTQUFTbEMsUUFBUW1DLFFBQVEsR0FBR3BDLElBQUk2QixZQUFZLENBQUNDLFNBQVMsQ0FBQzdCLFFBQVFtQyxRQUFRLElBQUliO1FBQzNFYyxrQkFBa0JwQyxRQUFRcUMsa0JBQWtCO1FBQzVDLHdEQUF3RDtRQUN4REMsT0FBT3RDLFFBQVFzQyxLQUFLLEdBQUd2QyxJQUFJNkIsWUFBWSxDQUFDVSxLQUFLLENBQUN2QyxLQUFLQyxRQUFRc0MsS0FBSyxFQUFFO1lBQUVDLFNBQVN0QyxPQUFPc0M7UUFBUSxLQUFLakI7UUFDakdrQix1QkFBdUJ4QyxRQUFReUMsdUJBQXVCO1FBQ3REQyw2QkFBNkIxQyxRQUFRMkMsOEJBQThCO1FBQ25FQyxtQ0FBbUM1QyxRQUFRNkMsb0NBQW9DO1FBQy9FOUMsS0FBS0MsUUFBUUQsR0FBRyxHQUFHQSxJQUFJNkIsWUFBWSxDQUFDSSxJQUFJLENBQUNqQyxLQUFLQyxRQUFRRCxHQUFHLElBQW1CdUI7UUFDNUV3Qix5QkFBeUI5QyxRQUFRK0MseUJBQXlCLEdBQUcvQyxRQUFRK0MseUJBQXlCLEdBQUd6QjtRQUNqRzBCLGNBQWNoRCxRQUFRaUQsYUFBYTtRQUNuQ0MsZ0NBQWdDbEQsUUFBUW1ELGlDQUFpQztRQUN6RUMsTUFBTXBELFFBQVFvRCxJQUFJO1FBQ2xCQyxlQUFlckQsUUFBUXNELGNBQWMsR0FDakM7WUFDRUMsUUFBUXZELFFBQVFzRCxjQUFjLENBQUNDLE1BQU07WUFDckNDLGFBQWF6RCxJQUFJNkIsWUFBWSxDQUFDQyxTQUFTLENBQUM3QixRQUFRc0QsY0FBYyxDQUFDRSxXQUFXO1FBQzVFLElBQ0FsQztRQUNKbUMsd0JBQXdCekQsUUFBUTBELHdCQUF3QixHQUNwRDtZQUNFLENBQUMvRCxrQ0FBa0NnRSxZQUFZLENBQUMsRUFBRTNELFFBQVEwRCx3QkFBd0IsQ0FBQyxJQUFJLEVBQUVFLHdCQUNyRjtnQkFDRUMscUJBQXFCO29CQUNuQk4sUUFBUXZELFFBQVEwRCx3QkFBd0IsQ0FBQyxJQUFJLENBQUNFLHFCQUFxQixDQUFDTCxNQUFNO29CQUMxRUMsYUFBYXpELElBQUk2QixZQUFZLENBQUNDLFNBQVMsQ0FBQzdCLFFBQVEwRCx3QkFBd0IsQ0FBQyxJQUFJLENBQUNFLHFCQUFxQixDQUFDSixXQUFXO2dCQUNqSDtZQUNGLElBQ0FsQztZQUNKLENBQUMzQixrQ0FBa0NtRSxXQUFXLENBQUMsRUFBRTlELFFBQVEwRCx3QkFBd0IsQ0FBQyxJQUFJLEVBQUVFLHdCQUNwRjtnQkFDRUMscUJBQXFCO29CQUNuQk4sUUFBUXZELFFBQVEwRCx3QkFBd0IsQ0FBQyxJQUFJLENBQUNFLHFCQUFxQixDQUFDTCxNQUFNO29CQUMxRUMsYUFBYXpELElBQUk2QixZQUFZLENBQUNDLFNBQVMsQ0FBQzdCLFFBQVEwRCx3QkFBd0IsQ0FBQyxJQUFJLENBQUNFLHFCQUFxQixDQUFDSixXQUFXO2dCQUNqSDtZQUNGLElBQ0FsQztRQUNOLElBQ0FBO1FBQ0p5QyxrQkFBa0IvRCxRQUFRZ0Usa0JBQWtCO1FBQzVDQyxxQkFBcUJqRSxRQUFRa0UscUJBQXFCO1FBQ2xEQyxvQkFBb0JuRSxRQUFRb0Usb0JBQW9CO0lBQ2xEO0lBRUEsT0FBT3JFLElBQUk2QixZQUFZLENBQUN5QyxXQUFXLENBQUNuRSxXQUFXLENBQUNILEtBQUtDLFNBQVNFLGFBQWFEO0FBQzdFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/transformers/channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIrC,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIpD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5F;AASD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAE9E;AAED,eAAO,MAAM,WAAW,EAAE,OA6CzB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,SAAS,CAAA;CAAE,OAuDlG;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,QAAQ,CAW9E"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/transformers/channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIrC,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIpD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5F;AASD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAE9E;AAED,eAAO,MAAM,WAAW,EAAE,OA6CzB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,SAAS,CAAA;CAAE,OAwDlG;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,QAAQ,CAW9E"}
@@ -92,6 +92,7 @@ export function transformChannel(bot, payload, extra) {
92
92
  }
93
93
  if (props.defaultAutoArchiveDuration && payload.default_auto_archive_duration) channel.defaultAutoArchiveDuration = payload.default_auto_archive_duration;
94
94
  if (props.permissions && payload.permissions) channel.permissions = new Permissions(payload.permissions);
95
+ if (props.appPermissions && payload.app_permissions) channel.appPermissions = new Permissions(payload.app_permissions);
95
96
  if (props.flags) channel.flags = payload.flags;
96
97
  if (props.permissionOverwrites && payload.permission_overwrites) channel.internalOverwrites = payload.permission_overwrites.map((o)=>packOverwrites(o.allow ?? '0', o.deny ?? '0', o.id, o.type));
97
98
  if (props.parentId && payload.parent_id) channel.parentId = bot.transformers.snowflake(payload.parent_id);
@@ -123,4 +124,4 @@ export function transformForumTag(bot, payload) {
123
124
  return bot.transformers.customizers.forumTag(bot, payload, forumTag);
124
125
  }
125
126
 
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvY2hhbm5lbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJpZ1N0cmluZywgRGlzY29yZENoYW5uZWwsIERpc2NvcmRGb3J1bVRhZyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IENoYW5uZWxUb2dnbGVzIH0gZnJvbSAnLi90b2dnbGVzL2NoYW5uZWwuanMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuL3RvZ2dsZXMvUGVybWlzc2lvbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBDaGFubmVsLCBGb3J1bVRhZyB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5jb25zdCBNYXNrID0gKDFuIDw8IDY0bikgLSAxbjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhY2tPdmVyd3JpdGVzKGFsbG93OiBzdHJpbmcsIGRlbnk6IHN0cmluZywgaWQ6IHN0cmluZywgdHlwZTogbnVtYmVyKTogYmlnaW50IHtcbiAgcmV0dXJuIHBhY2s2NChhbGxvdywgMCkgfCBwYWNrNjQoZGVueSwgMSkgfCBwYWNrNjQoaWQsIDIpIHwgcGFjazY0KHR5cGUsIDMpO1xufVxuZnVuY3Rpb24gdW5wYWNrNjQodjogYmlnaW50LCBzaGlmdDogbnVtYmVyKTogYmlnaW50IHtcbiAgcmV0dXJuICh2ID4+IEJpZ0ludChzaGlmdCAqIDY0KSkgJiBNYXNrO1xufVxuZnVuY3Rpb24gcGFjazY0KHY6IHN0cmluZyB8IG51bWJlciwgc2hpZnQ6IG51bWJlcik6IGJpZ2ludCB7XG4gIGNvbnN0IGIgPSBCaWdJbnQodik7XG4gIGlmIChiIDwgMCB8fCBiID4gTWFzaykgdGhyb3cgbmV3IEVycm9yKCdzaG91bGQgaGF2ZSBiZWVuIGEgNjQgYml0IHVuc2lnbmVkIGludGVnZXI6ICcgKyB2LnRvU3RyaW5nKCkpO1xuICByZXR1cm4gYiA8PCBCaWdJbnQoc2hpZnQgKiA2NCk7XG59XG5leHBvcnQgZnVuY3Rpb24gc2VwYXJhdGVPdmVyd3JpdGVzKHY6IGJpZ2ludCk6IFtudW1iZXIsIGJpZ2ludCwgYmlnaW50LCBiaWdpbnRdIHtcbiAgcmV0dXJuIFtOdW1iZXIodW5wYWNrNjQodiwgMykpLCB1bnBhY2s2NCh2LCAyKSwgdW5wYWNrNjQodiwgMCksIHVucGFjazY0KHYsIDEpXSBhcyBbbnVtYmVyLCBiaWdpbnQsIGJpZ2ludCwgYmlnaW50XTtcbn1cblxuZXhwb3J0IGNvbnN0IGJhc2VDaGFubmVsOiBDaGFubmVsID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIENoYW5uZWwpLFxuXG4gIGdldCBhcmNoaXZlZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/LmFyY2hpdmVkO1xuICB9LFxuICBnZXQgaW52aXRhYmxlKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaW52aXRhYmxlO1xuICB9LFxuICBnZXQgbG9ja2VkKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8ubG9ja2VkO1xuICB9LFxuICBnZXQgbnNmdygpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/Lm5zZnc7XG4gIH0sXG4gIGdldCBuZXdseUNyZWF0ZWQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5uZXdseUNyZWF0ZWQ7XG4gIH0sXG4gIGdldCBtYW5hZ2VkKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8ubWFuYWdlZDtcbiAgfSxcbiAgZ2V0IHBlcm1pc3Npb25PdmVyd3JpdGVzKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmludGVybmFsT3ZlcndyaXRlcz8ubWFwKChvdmVyd3JpdGUpID0+IHtcbiAgICAgICAgY29uc3QgW3R5cGUsIGlkLCBhbGxvdywgZGVueV0gPSBzZXBhcmF0ZU92ZXJ3cml0ZXMob3ZlcndyaXRlKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIGlkLFxuICAgICAgICAgIGFsbG93LFxuICAgICAgICAgIGRlbnksXG4gICAgICAgIH07XG4gICAgICB9KSA/PyBbXVxuICAgICk7XG4gIH0sXG4gIGdldCB0aHJlYWRNZXRhZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYXJjaGl2ZVRpbWVzdGFtcDogdGhpcy5pbnRlcm5hbFRocmVhZE1ldGFkYXRhPy5hcmNoaXZlVGltZXN0YW1wLFxuICAgICAgY3JlYXRlVGltZXN0YW1wOiB0aGlzLmludGVybmFsVGhyZWFkTWV0YWRhdGE/LmNyZWF0ZVRpbWVzdGFtcCxcbiAgICAgIGF1dG9BcmNoaXZlRHVyYXRpb246IHRoaXMuaW50ZXJuYWxUaHJlYWRNZXRhZGF0YT8uYXV0b0FyY2hpdmVEdXJhdGlvbixcbiAgICAgIGxvY2tlZDogISF0aGlzLnRvZ2dsZXM/LmxvY2tlZCxcbiAgICAgIGludml0YWJsZTogISF0aGlzLnRvZ2dsZXM/Lmludml0YWJsZSxcbiAgICAgIGFyY2hpdmVkOiAhIXRoaXMudG9nZ2xlcz8uYXJjaGl2ZWQsXG4gICAgfTtcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1DaGFubmVsKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQ2hhbm5lbCwgZXh0cmE/OiB7IGd1aWxkSWQ/OiBCaWdTdHJpbmcgfSkge1xuICBjb25zdCBjaGFubmVsID0gT2JqZWN0LmNyZWF0ZShiYXNlQ2hhbm5lbCkgYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q2hhbm5lbCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY2hhbm5lbDtcbiAgY2hhbm5lbC50b2dnbGVzID0gbmV3IENoYW5uZWxUb2dnbGVzKHBheWxvYWQpO1xuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBjaGFubmVsLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCk7XG4gIGlmIChwcm9wcy5ndWlsZElkICYmIChleHRyYT8uZ3VpbGRJZCA/PyBwYXlsb2FkLmd1aWxkX2lkKSlcbiAgICBjaGFubmVsLmd1aWxkSWQgPSBleHRyYT8uZ3VpbGRJZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGV4dHJhLmd1aWxkSWQpIDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZF9pZCEpO1xuICBpZiAocHJvcHMudHlwZSkgY2hhbm5lbC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMucG9zaXRpb24pIGNoYW5uZWwucG9zaXRpb24gPSBwYXlsb2FkLnBvc2l0aW9uO1xuICBpZiAocHJvcHMubmFtZSAmJiBwYXlsb2FkLm5hbWUpIGNoYW5uZWwubmFtZSA9IHBheWxvYWQubmFtZTtcbiAgaWYgKHByb3BzLnRvcGljICYmIHBheWxvYWQudG9waWMpIGNoYW5uZWwudG9waWMgPSBwYXlsb2FkLnRvcGljO1xuICBpZiAocHJvcHMubGFzdE1lc3NhZ2VJZCAmJiBwYXlsb2FkLmxhc3RfbWVzc2FnZV9pZCkgY2hhbm5lbC5sYXN0TWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5sYXN0X21lc3NhZ2VfaWQpO1xuICBpZiAocHJvcHMuYml0cmF0ZSAmJiBwYXlsb2FkLmJpdHJhdGUpIGNoYW5uZWwuYml0cmF0ZSA9IHBheWxvYWQuYml0cmF0ZTtcbiAgaWYgKHByb3BzLnVzZXJMaW1pdCkgY2hhbm5lbC51c2VyTGltaXQgPSBwYXlsb2FkLnVzZXJfbGltaXQ7XG4gIGlmIChwcm9wcy5yYXRlTGltaXRQZXJVc2VyKSBjaGFubmVsLnJhdGVMaW1pdFBlclVzZXIgPSBwYXlsb2FkLnJhdGVfbGltaXRfcGVyX3VzZXI7XG4gIGlmIChwcm9wcy5vd25lcklkICYmIHBheWxvYWQub3duZXJfaWQpIGNoYW5uZWwub3duZXJJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQub3duZXJfaWQpO1xuICBpZiAocHJvcHMubGFzdFBpblRpbWVzdGFtcCAmJiBwYXlsb2FkLmxhc3RfcGluX3RpbWVzdGFtcCkgY2hhbm5lbC5sYXN0UGluVGltZXN0YW1wID0gRGF0ZS5wYXJzZShwYXlsb2FkLmxhc3RfcGluX3RpbWVzdGFtcCk7XG4gIGlmIChwcm9wcy5ydGNSZWdpb24gJiYgcGF5bG9hZC5ydGNfcmVnaW9uKSBjaGFubmVsLnJ0Y1JlZ2lvbiA9IHBheWxvYWQucnRjX3JlZ2lvbjtcbiAgaWYgKHByb3BzLnZpZGVvUXVhbGl0eU1vZGUgJiYgcGF5bG9hZC52aWRlb19xdWFsaXR5X21vZGUpIGNoYW5uZWwudmlkZW9RdWFsaXR5TW9kZSA9IHBheWxvYWQudmlkZW9fcXVhbGl0eV9tb2RlO1xuICBpZiAocHJvcHMubWVzc2FnZUNvdW50KSBjaGFubmVsLm1lc3NhZ2VDb3VudCA9IHBheWxvYWQubWVzc2FnZV9jb3VudDtcbiAgaWYgKHByb3BzLm1lbWJlckNvdW50KSBjaGFubmVsLm1lbWJlckNvdW50ID0gcGF5bG9hZC5tZW1iZXJfY291bnQ7XG4gIGlmIChwcm9wcy50aHJlYWRNZXRhZGF0YSkge1xuICAgIGNoYW5uZWwuaW50ZXJuYWxUaHJlYWRNZXRhZGF0YSA9IHt9IGFzIE5vbk51bGxhYmxlPENoYW5uZWxbJ2ludGVybmFsVGhyZWFkTWV0YWRhdGEnXT47XG4gICAgaWYgKHBheWxvYWQudGhyZWFkX21ldGFkYXRhPy5hcmNoaXZlX3RpbWVzdGFtcClcbiAgICAgIGNoYW5uZWwuaW50ZXJuYWxUaHJlYWRNZXRhZGF0YS5hcmNoaXZlVGltZXN0YW1wID0gRGF0ZS5wYXJzZShwYXlsb2FkLnRocmVhZF9tZXRhZGF0YS5hcmNoaXZlX3RpbWVzdGFtcCk7XG4gICAgaWYgKHBheWxvYWQudGhyZWFkX21ldGFkYXRhPy5jcmVhdGVfdGltZXN0YW1wKVxuICAgICAgY2hhbm5lbC5pbnRlcm5hbFRocmVhZE1ldGFkYXRhLmNyZWF0ZVRpbWVzdGFtcCA9IERhdGUucGFyc2UocGF5bG9hZC50aHJlYWRfbWV0YWRhdGEuY3JlYXRlX3RpbWVzdGFtcCk7XG4gICAgaWYgKHBheWxvYWQudGhyZWFkX21ldGFkYXRhPy5hdXRvX2FyY2hpdmVfZHVyYXRpb24pXG4gICAgICBjaGFubmVsLmludGVybmFsVGhyZWFkTWV0YWRhdGEuYXV0b0FyY2hpdmVEdXJhdGlvbiA9IHBheWxvYWQudGhyZWFkX21ldGFkYXRhLmF1dG9fYXJjaGl2ZV9kdXJhdGlvbjtcbiAgfVxuICBpZiAocHJvcHMuZGVmYXVsdEF1dG9BcmNoaXZlRHVyYXRpb24gJiYgcGF5bG9hZC5kZWZhdWx0X2F1dG9fYXJjaGl2ZV9kdXJhdGlvbilcbiAgICBjaGFubmVsLmRlZmF1bHRBdXRvQXJjaGl2ZUR1cmF0aW9uID0gcGF5bG9hZC5kZWZhdWx0X2F1dG9fYXJjaGl2ZV9kdXJhdGlvbjtcbiAgaWYgKHByb3BzLnBlcm1pc3Npb25zICYmIHBheWxvYWQucGVybWlzc2lvbnMpIGNoYW5uZWwucGVybWlzc2lvbnMgPSBuZXcgUGVybWlzc2lvbnMocGF5bG9hZC5wZXJtaXNzaW9ucyk7XG4gIGlmIChwcm9wcy5mbGFncykgY2hhbm5lbC5mbGFncyA9IHBheWxvYWQuZmxhZ3M7XG4gIGlmIChwcm9wcy5wZXJtaXNzaW9uT3ZlcndyaXRlcyAmJiBwYXlsb2FkLnBlcm1pc3Npb25fb3ZlcndyaXRlcylcbiAgICBjaGFubmVsLmludGVybmFsT3ZlcndyaXRlcyA9IHBheWxvYWQucGVybWlzc2lvbl9vdmVyd3JpdGVzLm1hcCgobykgPT4gcGFja092ZXJ3cml0ZXMoby5hbGxvdyA/PyAnMCcsIG8uZGVueSA/PyAnMCcsIG8uaWQsIG8udHlwZSkpO1xuICBpZiAocHJvcHMucGFyZW50SWQgJiYgcGF5bG9hZC5wYXJlbnRfaWQpIGNoYW5uZWwucGFyZW50SWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnBhcmVudF9pZCk7XG4gIGlmIChwcm9wcy5yZWNpcGllbnRzICYmIHBheWxvYWQucmVjaXBpZW50cykgY2hhbm5lbC5yZWNpcGllbnRzID0gcGF5bG9hZC5yZWNpcGllbnRzLm1hcCgodSkgPT4gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgdSkpO1xuICBpZiAocHJvcHMuaWNvbiAmJiBwYXlsb2FkLmljb24pIGNoYW5uZWwuaWNvbiA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5pY29uKTtcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgY2hhbm5lbC5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCk7XG4gIGlmIChwcm9wcy5tZW1iZXIgJiYgcGF5bG9hZC5tZW1iZXIpIGNoYW5uZWwubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy50aHJlYWRNZW1iZXIoYm90LCBwYXlsb2FkLm1lbWJlciwgeyBndWlsZElkOiBleHRyYT8uZ3VpbGRJZCB9KTtcbiAgaWYgKHByb3BzLnRvdGFsTWVzc2FnZVNlbnQgJiYgcGF5bG9hZC50b3RhbF9tZXNzYWdlX3NlbnQgIT09IHVuZGVmaW5lZCkgY2hhbm5lbC50b3RhbE1lc3NhZ2VTZW50ID0gcGF5bG9hZC50b3RhbF9tZXNzYWdlX3NlbnQ7XG4gIGlmIChwcm9wcy5hdmFpbGFibGVUYWdzICYmIHBheWxvYWQuYXZhaWxhYmxlX3RhZ3MpIGNoYW5uZWwuYXZhaWxhYmxlVGFncyA9IHBheWxvYWQuYXZhaWxhYmxlX3RhZ3MubWFwKCh4KSA9PiBib3QudHJhbnNmb3JtZXJzLmZvcnVtVGFnKGJvdCwgeCkpO1xuICBpZiAocHJvcHMuYXBwbGllZFRhZ3MgJiYgcGF5bG9hZC5hcHBsaWVkX3RhZ3MpIGNoYW5uZWwuYXBwbGllZFRhZ3MgPSBwYXlsb2FkLmFwcGxpZWRfdGFncy5tYXAoKHgpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHgpKTtcbiAgaWYgKHByb3BzLmRlZmF1bHRSZWFjdGlvbkVtb2ppICYmIHBheWxvYWQuZGVmYXVsdF9yZWFjdGlvbl9lbW9qaSlcbiAgICBjaGFubmVsLmRlZmF1bHRSZWFjdGlvbkVtb2ppID0gYm90LnRyYW5zZm9ybWVycy5kZWZhdWx0UmVhY3Rpb25FbW9qaShib3QsIHBheWxvYWQuZGVmYXVsdF9yZWFjdGlvbl9lbW9qaSk7XG4gIGlmIChwcm9wcy5kZWZhdWx0VGhyZWFkUmF0ZUxpbWl0UGVyVXNlciAmJiBwYXlsb2FkLmRlZmF1bHRfdGhyZWFkX3JhdGVfbGltaXRfcGVyX3VzZXIpXG4gICAgY2hhbm5lbC5kZWZhdWx0VGhyZWFkUmF0ZUxpbWl0UGVyVXNlciA9IHBheWxvYWQuZGVmYXVsdF90aHJlYWRfcmF0ZV9saW1pdF9wZXJfdXNlcjtcbiAgaWYgKHByb3BzLmRlZmF1bHRTb3J0T3JkZXIgJiYgcGF5bG9hZC5kZWZhdWx0X3NvcnRfb3JkZXIgIT09IHVuZGVmaW5lZCkgY2hhbm5lbC5kZWZhdWx0U29ydE9yZGVyID0gcGF5bG9hZC5kZWZhdWx0X3NvcnRfb3JkZXI7XG4gIGlmIChwcm9wcy5kZWZhdWx0Rm9ydW1MYXlvdXQgJiYgcGF5bG9hZC5kZWZhdWx0X2ZvcnVtX2xheW91dCAhPT0gdW5kZWZpbmVkKSBjaGFubmVsLmRlZmF1bHRGb3J1bUxheW91dCA9IHBheWxvYWQuZGVmYXVsdF9mb3J1bV9sYXlvdXQ7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuY2hhbm5lbChib3QsIHBheWxvYWQsIGNoYW5uZWwsIHtcbiAgICBndWlsZElkOiBleHRyYT8uZ3VpbGRJZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGV4dHJhLmd1aWxkSWQpIDogdW5kZWZpbmVkLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUZvcnVtVGFnKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkRm9ydW1UYWcpOiBGb3J1bVRhZyB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5mb3J1bVRhZztcbiAgY29uc3QgZm9ydW1UYWcgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxGb3J1bVRhZywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBmb3J1bVRhZy5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBpZiAocHJvcHMubmFtZSAmJiBwYXlsb2FkLm5hbWUpIGZvcnVtVGFnLm5hbWUgPSBwYXlsb2FkLm5hbWU7XG4gIGlmIChwcm9wcy5tb2RlcmF0ZWQgJiYgcGF5bG9hZC5tb2RlcmF0ZWQpIGZvcnVtVGFnLm1vZGVyYXRlZCA9IHBheWxvYWQubW9kZXJhdGVkO1xuICBpZiAocHJvcHMuZW1vamlJZCAmJiBwYXlsb2FkLmVtb2ppX2lkKSBmb3J1bVRhZy5lbW9qaUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5lbW9qaV9pZCk7XG4gIGlmIChwcm9wcy5lbW9qaU5hbWUgJiYgcGF5bG9hZC5lbW9qaV9uYW1lKSBmb3J1bVRhZy5lbW9qaU5hbWUgPSBwYXlsb2FkLmVtb2ppX25hbWU7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZm9ydW1UYWcoYm90LCBwYXlsb2FkLCBmb3J1bVRhZyk7XG59XG4iXSwibmFtZXMiOlsiaWNvbkhhc2hUb0JpZ0ludCIsIkNoYW5uZWxUb2dnbGVzIiwiUGVybWlzc2lvbnMiLCJNYXNrIiwicGFja092ZXJ3cml0ZXMiLCJhbGxvdyIsImRlbnkiLCJpZCIsInR5cGUiLCJwYWNrNjQiLCJ1bnBhY2s2NCIsInYiLCJzaGlmdCIsIkJpZ0ludCIsImIiLCJFcnJvciIsInRvU3RyaW5nIiwic2VwYXJhdGVPdmVyd3JpdGVzIiwiTnVtYmVyIiwiYmFzZUNoYW5uZWwiLCJ1bmRlZmluZWQiLCJhcmNoaXZlZCIsInRvZ2dsZXMiLCJpbnZpdGFibGUiLCJsb2NrZWQiLCJuc2Z3IiwibmV3bHlDcmVhdGVkIiwibWFuYWdlZCIsInBlcm1pc3Npb25PdmVyd3JpdGVzIiwiaW50ZXJuYWxPdmVyd3JpdGVzIiwibWFwIiwib3ZlcndyaXRlIiwidGhyZWFkTWV0YWRhdGEiLCJhcmNoaXZlVGltZXN0YW1wIiwiaW50ZXJuYWxUaHJlYWRNZXRhZGF0YSIsImNyZWF0ZVRpbWVzdGFtcCIsImF1dG9BcmNoaXZlRHVyYXRpb24iLCJ0cmFuc2Zvcm1DaGFubmVsIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwiY2hhbm5lbCIsIk9iamVjdCIsImNyZWF0ZSIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJzbm93Zmxha2UiLCJndWlsZElkIiwiZ3VpbGRfaWQiLCJwb3NpdGlvbiIsIm5hbWUiLCJ0b3BpYyIsImxhc3RNZXNzYWdlSWQiLCJsYXN0X21lc3NhZ2VfaWQiLCJiaXRyYXRlIiwidXNlckxpbWl0IiwidXNlcl9saW1pdCIsInJhdGVMaW1pdFBlclVzZXIiLCJyYXRlX2xpbWl0X3Blcl91c2VyIiwib3duZXJJZCIsIm93bmVyX2lkIiwibGFzdFBpblRpbWVzdGFtcCIsImxhc3RfcGluX3RpbWVzdGFtcCIsIkRhdGUiLCJwYXJzZSIsInJ0Y1JlZ2lvbiIsInJ0Y19yZWdpb24iLCJ2aWRlb1F1YWxpdHlNb2RlIiwidmlkZW9fcXVhbGl0eV9tb2RlIiwibWVzc2FnZUNvdW50IiwibWVzc2FnZV9jb3VudCIsIm1lbWJlckNvdW50IiwibWVtYmVyX2NvdW50IiwidGhyZWFkX21ldGFkYXRhIiwiYXJjaGl2ZV90aW1lc3RhbXAiLCJjcmVhdGVfdGltZXN0YW1wIiwiYXV0b19hcmNoaXZlX2R1cmF0aW9uIiwiZGVmYXVsdEF1dG9BcmNoaXZlRHVyYXRpb24iLCJkZWZhdWx0X2F1dG9fYXJjaGl2ZV9kdXJhdGlvbiIsInBlcm1pc3Npb25zIiwiZmxhZ3MiLCJwZXJtaXNzaW9uX292ZXJ3cml0ZXMiLCJvIiwicGFyZW50SWQiLCJwYXJlbnRfaWQiLCJyZWNpcGllbnRzIiwidSIsInVzZXIiLCJpY29uIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwibWVtYmVyIiwidGhyZWFkTWVtYmVyIiwidG90YWxNZXNzYWdlU2VudCIsInRvdGFsX21lc3NhZ2Vfc2VudCIsImF2YWlsYWJsZVRhZ3MiLCJhdmFpbGFibGVfdGFncyIsIngiLCJmb3J1bVRhZyIsImFwcGxpZWRUYWdzIiwiYXBwbGllZF90YWdzIiwiZGVmYXVsdFJlYWN0aW9uRW1vamkiLCJkZWZhdWx0X3JlYWN0aW9uX2Vtb2ppIiwiZGVmYXVsdFRocmVhZFJhdGVMaW1pdFBlclVzZXIiLCJkZWZhdWx0X3RocmVhZF9yYXRlX2xpbWl0X3Blcl91c2VyIiwiZGVmYXVsdFNvcnRPcmRlciIsImRlZmF1bHRfc29ydF9vcmRlciIsImRlZmF1bHRGb3J1bUxheW91dCIsImRlZmF1bHRfZm9ydW1fbGF5b3V0IiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1Gb3J1bVRhZyIsIm1vZGVyYXRlZCIsImVtb2ppSWQiLCJlbW9qaV9pZCIsImVtb2ppTmFtZSIsImVtb2ppX25hbWUiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLGdCQUFnQixRQUFRLG9CQUFvQjtBQUdyRCxTQUFTQyxjQUFjLFFBQVEsdUJBQXVCO0FBQ3RELFNBQVNDLFdBQVcsUUFBUSwyQkFBMkI7QUFHdkQsTUFBTUMsT0FBTyxBQUFDLENBQUEsRUFBRSxJQUFJLEdBQUcsQUFBRCxJQUFLLEVB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
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvY2hhbm5lbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJpZ1N0cmluZywgRGlzY29yZENoYW5uZWwsIERpc2NvcmRGb3J1bVRhZyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IENoYW5uZWxUb2dnbGVzIH0gZnJvbSAnLi90b2dnbGVzL2NoYW5uZWwuanMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuL3RvZ2dsZXMvUGVybWlzc2lvbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBDaGFubmVsLCBGb3J1bVRhZyB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5jb25zdCBNYXNrID0gKDFuIDw8IDY0bikgLSAxbjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhY2tPdmVyd3JpdGVzKGFsbG93OiBzdHJpbmcsIGRlbnk6IHN0cmluZywgaWQ6IHN0cmluZywgdHlwZTogbnVtYmVyKTogYmlnaW50IHtcbiAgcmV0dXJuIHBhY2s2NChhbGxvdywgMCkgfCBwYWNrNjQoZGVueSwgMSkgfCBwYWNrNjQoaWQsIDIpIHwgcGFjazY0KHR5cGUsIDMpO1xufVxuZnVuY3Rpb24gdW5wYWNrNjQodjogYmlnaW50LCBzaGlmdDogbnVtYmVyKTogYmlnaW50IHtcbiAgcmV0dXJuICh2ID4+IEJpZ0ludChzaGlmdCAqIDY0KSkgJiBNYXNrO1xufVxuZnVuY3Rpb24gcGFjazY0KHY6IHN0cmluZyB8IG51bWJlciwgc2hpZnQ6IG51bWJlcik6IGJpZ2ludCB7XG4gIGNvbnN0IGIgPSBCaWdJbnQodik7XG4gIGlmIChiIDwgMCB8fCBiID4gTWFzaykgdGhyb3cgbmV3IEVycm9yKCdzaG91bGQgaGF2ZSBiZWVuIGEgNjQgYml0IHVuc2lnbmVkIGludGVnZXI6ICcgKyB2LnRvU3RyaW5nKCkpO1xuICByZXR1cm4gYiA8PCBCaWdJbnQoc2hpZnQgKiA2NCk7XG59XG5leHBvcnQgZnVuY3Rpb24gc2VwYXJhdGVPdmVyd3JpdGVzKHY6IGJpZ2ludCk6IFtudW1iZXIsIGJpZ2ludCwgYmlnaW50LCBiaWdpbnRdIHtcbiAgcmV0dXJuIFtOdW1iZXIodW5wYWNrNjQodiwgMykpLCB1bnBhY2s2NCh2LCAyKSwgdW5wYWNrNjQodiwgMCksIHVucGFjazY0KHYsIDEpXSBhcyBbbnVtYmVyLCBiaWdpbnQsIGJpZ2ludCwgYmlnaW50XTtcbn1cblxuZXhwb3J0IGNvbnN0IGJhc2VDaGFubmVsOiBDaGFubmVsID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIENoYW5uZWwpLFxuXG4gIGdldCBhcmNoaXZlZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/LmFyY2hpdmVkO1xuICB9LFxuICBnZXQgaW52aXRhYmxlKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaW52aXRhYmxlO1xuICB9LFxuICBnZXQgbG9ja2VkKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8ubG9ja2VkO1xuICB9LFxuICBnZXQgbnNmdygpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/Lm5zZnc7XG4gIH0sXG4gIGdldCBuZXdseUNyZWF0ZWQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5uZXdseUNyZWF0ZWQ7XG4gIH0sXG4gIGdldCBtYW5hZ2VkKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8ubWFuYWdlZDtcbiAgfSxcbiAgZ2V0IHBlcm1pc3Npb25PdmVyd3JpdGVzKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmludGVybmFsT3ZlcndyaXRlcz8ubWFwKChvdmVyd3JpdGUpID0+IHtcbiAgICAgICAgY29uc3QgW3R5cGUsIGlkLCBhbGxvdywgZGVueV0gPSBzZXBhcmF0ZU92ZXJ3cml0ZXMob3ZlcndyaXRlKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIGlkLFxuICAgICAgICAgIGFsbG93LFxuICAgICAgICAgIGRlbnksXG4gICAgICAgIH07XG4gICAgICB9KSA/PyBbXVxuICAgICk7XG4gIH0sXG4gIGdldCB0aHJlYWRNZXRhZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYXJjaGl2ZVRpbWVzdGFtcDogdGhpcy5pbnRlcm5hbFRocmVhZE1ldGFkYXRhPy5hcmNoaXZlVGltZXN0YW1wLFxuICAgICAgY3JlYXRlVGltZXN0YW1wOiB0aGlzLmludGVybmFsVGhyZWFkTWV0YWRhdGE/LmNyZWF0ZVRpbWVzdGFtcCxcbiAgICAgIGF1dG9BcmNoaXZlRHVyYXRpb246IHRoaXMuaW50ZXJuYWxUaHJlYWRNZXRhZGF0YT8uYXV0b0FyY2hpdmVEdXJhdGlvbixcbiAgICAgIGxvY2tlZDogISF0aGlzLnRvZ2dsZXM/LmxvY2tlZCxcbiAgICAgIGludml0YWJsZTogISF0aGlzLnRvZ2dsZXM/Lmludml0YWJsZSxcbiAgICAgIGFyY2hpdmVkOiAhIXRoaXMudG9nZ2xlcz8uYXJjaGl2ZWQsXG4gICAgfTtcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1DaGFubmVsKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQ2hhbm5lbCwgZXh0cmE/OiB7IGd1aWxkSWQ/OiBCaWdTdHJpbmcgfSkge1xuICBjb25zdCBjaGFubmVsID0gT2JqZWN0LmNyZWF0ZShiYXNlQ2hhbm5lbCkgYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q2hhbm5lbCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY2hhbm5lbDtcbiAgY2hhbm5lbC50b2dnbGVzID0gbmV3IENoYW5uZWxUb2dnbGVzKHBheWxvYWQpO1xuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBjaGFubmVsLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCk7XG4gIGlmIChwcm9wcy5ndWlsZElkICYmIChleHRyYT8uZ3VpbGRJZCA/PyBwYXlsb2FkLmd1aWxkX2lkKSlcbiAgICBjaGFubmVsLmd1aWxkSWQgPSBleHRyYT8uZ3VpbGRJZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGV4dHJhLmd1aWxkSWQpIDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZF9pZCEpO1xuICBpZiAocHJvcHMudHlwZSkgY2hhbm5lbC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMucG9zaXRpb24pIGNoYW5uZWwucG9zaXRpb24gPSBwYXlsb2FkLnBvc2l0aW9uO1xuICBpZiAocHJvcHMubmFtZSAmJiBwYXlsb2FkLm5hbWUpIGNoYW5uZWwubmFtZSA9IHBheWxvYWQubmFtZTtcbiAgaWYgKHByb3BzLnRvcGljICYmIHBheWxvYWQudG9waWMpIGNoYW5uZWwudG9waWMgPSBwYXlsb2FkLnRvcGljO1xuICBpZiAocHJvcHMubGFzdE1lc3NhZ2VJZCAmJiBwYXlsb2FkLmxhc3RfbWVzc2FnZV9pZCkgY2hhbm5lbC5sYXN0TWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5sYXN0X21lc3NhZ2VfaWQpO1xuICBpZiAocHJvcHMuYml0cmF0ZSAmJiBwYXlsb2FkLmJpdHJhdGUpIGNoYW5uZWwuYml0cmF0ZSA9IHBheWxvYWQuYml0cmF0ZTtcbiAgaWYgKHByb3BzLnVzZXJMaW1pdCkgY2hhbm5lbC51c2VyTGltaXQgPSBwYXlsb2FkLnVzZXJfbGltaXQ7XG4gIGlmIChwcm9wcy5yYXRlTGltaXRQZXJVc2VyKSBjaGFubmVsLnJhdGVMaW1pdFBlclVzZXIgPSBwYXlsb2FkLnJhdGVfbGltaXRfcGVyX3VzZXI7XG4gIGlmIChwcm9wcy5vd25lcklkICYmIHBheWxvYWQub3duZXJfaWQpIGNoYW5uZWwub3duZXJJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQub3duZXJfaWQpO1xuICBpZiAocHJvcHMubGFzdFBpblRpbWVzdGFtcCAmJiBwYXlsb2FkLmxhc3RfcGluX3RpbWVzdGFtcCkgY2hhbm5lbC5sYXN0UGluVGltZXN0YW1wID0gRGF0ZS5wYXJzZShwYXlsb2FkLmxhc3RfcGluX3RpbWVzdGFtcCk7XG4gIGlmIChwcm9wcy5ydGNSZWdpb24gJiYgcGF5bG9hZC5ydGNfcmVnaW9uKSBjaGFubmVsLnJ0Y1JlZ2lvbiA9IHBheWxvYWQucnRjX3JlZ2lvbjtcbiAgaWYgKHByb3BzLnZpZGVvUXVhbGl0eU1vZGUgJiYgcGF5bG9hZC52aWRlb19xdWFsaXR5X21vZGUpIGNoYW5uZWwudmlkZW9RdWFsaXR5TW9kZSA9IHBheWxvYWQudmlkZW9fcXVhbGl0eV9tb2RlO1xuICBpZiAocHJvcHMubWVzc2FnZUNvdW50KSBjaGFubmVsLm1lc3NhZ2VDb3VudCA9IHBheWxvYWQubWVzc2FnZV9jb3VudDtcbiAgaWYgKHByb3BzLm1lbWJlckNvdW50KSBjaGFubmVsLm1lbWJlckNvdW50ID0gcGF5bG9hZC5tZW1iZXJfY291bnQ7XG4gIGlmIChwcm9wcy50aHJlYWRNZXRhZGF0YSkge1xuICAgIGNoYW5uZWwuaW50ZXJuYWxUaHJlYWRNZXRhZGF0YSA9IHt9IGFzIE5vbk51bGxhYmxlPENoYW5uZWxbJ2ludGVybmFsVGhyZWFkTWV0YWRhdGEnXT47XG4gICAgaWYgKHBheWxvYWQudGhyZWFkX21ldGFkYXRhPy5hcmNoaXZlX3RpbWVzdGFtcClcbiAgICAgIGNoYW5uZWwuaW50ZXJuYWxUaHJlYWRNZXRhZGF0YS5hcmNoaXZlVGltZXN0YW1wID0gRGF0ZS5wYXJzZShwYXlsb2FkLnRocmVhZF9tZXRhZGF0YS5hcmNoaXZlX3RpbWVzdGFtcCk7XG4gICAgaWYgKHBheWxvYWQudGhyZWFkX21ldGFkYXRhPy5jcmVhdGVfdGltZXN0YW1wKVxuICAgICAgY2hhbm5lbC5pbnRlcm5hbFRocmVhZE1ldGFkYXRhLmNyZWF0ZVRpbWVzdGFtcCA9IERhdGUucGFyc2UocGF5bG9hZC50aHJlYWRfbWV0YWRhdGEuY3JlYXRlX3RpbWVzdGFtcCk7XG4gICAgaWYgKHBheWxvYWQudGhyZWFkX21ldGFkYXRhPy5hdXRvX2FyY2hpdmVfZHVyYXRpb24pXG4gICAgICBjaGFubmVsLmludGVybmFsVGhyZWFkTWV0YWRhdGEuYXV0b0FyY2hpdmVEdXJhdGlvbiA9IHBheWxvYWQudGhyZWFkX21ldGFkYXRhLmF1dG9fYXJjaGl2ZV9kdXJhdGlvbjtcbiAgfVxuICBpZiAocHJvcHMuZGVmYXVsdEF1dG9BcmNoaXZlRHVyYXRpb24gJiYgcGF5bG9hZC5kZWZhdWx0X2F1dG9fYXJjaGl2ZV9kdXJhdGlvbilcbiAgICBjaGFubmVsLmRlZmF1bHRBdXRvQXJjaGl2ZUR1cmF0aW9uID0gcGF5bG9hZC5kZWZhdWx0X2F1dG9fYXJjaGl2ZV9kdXJhdGlvbjtcbiAgaWYgKHByb3BzLnBlcm1pc3Npb25zICYmIHBheWxvYWQucGVybWlzc2lvbnMpIGNoYW5uZWwucGVybWlzc2lvbnMgPSBuZXcgUGVybWlzc2lvbnMocGF5bG9hZC5wZXJtaXNzaW9ucyk7XG4gIGlmIChwcm9wcy5hcHBQZXJtaXNzaW9ucyAmJiBwYXlsb2FkLmFwcF9wZXJtaXNzaW9ucykgY2hhbm5lbC5hcHBQZXJtaXNzaW9ucyA9IG5ldyBQZXJtaXNzaW9ucyhwYXlsb2FkLmFwcF9wZXJtaXNzaW9ucyk7XG4gIGlmIChwcm9wcy5mbGFncykgY2hhbm5lbC5mbGFncyA9IHBheWxvYWQuZmxhZ3M7XG4gIGlmIChwcm9wcy5wZXJtaXNzaW9uT3ZlcndyaXRlcyAmJiBwYXlsb2FkLnBlcm1pc3Npb25fb3ZlcndyaXRlcylcbiAgICBjaGFubmVsLmludGVybmFsT3ZlcndyaXRlcyA9IHBheWxvYWQucGVybWlzc2lvbl9vdmVyd3JpdGVzLm1hcCgobykgPT4gcGFja092ZXJ3cml0ZXMoby5hbGxvdyA/PyAnMCcsIG8uZGVueSA/PyAnMCcsIG8uaWQsIG8udHlwZSkpO1xuICBpZiAocHJvcHMucGFyZW50SWQgJiYgcGF5bG9hZC5wYXJlbnRfaWQpIGNoYW5uZWwucGFyZW50SWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnBhcmVudF9pZCk7XG4gIGlmIChwcm9wcy5yZWNpcGllbnRzICYmIHBheWxvYWQucmVjaXBpZW50cykgY2hhbm5lbC5yZWNpcGllbnRzID0gcGF5bG9hZC5yZWNpcGllbnRzLm1hcCgodSkgPT4gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgdSkpO1xuICBpZiAocHJvcHMuaWNvbiAmJiBwYXlsb2FkLmljb24pIGNoYW5uZWwuaWNvbiA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5pY29uKTtcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgY2hhbm5lbC5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCk7XG4gIGlmIChwcm9wcy5tZW1iZXIgJiYgcGF5bG9hZC5tZW1iZXIpIGNoYW5uZWwubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy50aHJlYWRNZW1iZXIoYm90LCBwYXlsb2FkLm1lbWJlciwgeyBndWlsZElkOiBleHRyYT8uZ3VpbGRJZCB9KTtcbiAgaWYgKHByb3BzLnRvdGFsTWVzc2FnZVNlbnQgJiYgcGF5bG9hZC50b3RhbF9tZXNzYWdlX3NlbnQgIT09IHVuZGVmaW5lZCkgY2hhbm5lbC50b3RhbE1lc3NhZ2VTZW50ID0gcGF5bG9hZC50b3RhbF9tZXNzYWdlX3NlbnQ7XG4gIGlmIChwcm9wcy5hdmFpbGFibGVUYWdzICYmIHBheWxvYWQuYXZhaWxhYmxlX3RhZ3MpIGNoYW5uZWwuYXZhaWxhYmxlVGFncyA9IHBheWxvYWQuYXZhaWxhYmxlX3RhZ3MubWFwKCh4KSA9PiBib3QudHJhbnNmb3JtZXJzLmZvcnVtVGFnKGJvdCwgeCkpO1xuICBpZiAocHJvcHMuYXBwbGllZFRhZ3MgJiYgcGF5bG9hZC5hcHBsaWVkX3RhZ3MpIGNoYW5uZWwuYXBwbGllZFRhZ3MgPSBwYXlsb2FkLmFwcGxpZWRfdGFncy5tYXAoKHgpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHgpKTtcbiAgaWYgKHByb3BzLmRlZmF1bHRSZWFjdGlvbkVtb2ppICYmIHBheWxvYWQuZGVmYXVsdF9yZWFjdGlvbl9lbW9qaSlcbiAgICBjaGFubmVsLmRlZmF1bHRSZWFjdGlvbkVtb2ppID0gYm90LnRyYW5zZm9ybWVycy5kZWZhdWx0UmVhY3Rpb25FbW9qaShib3QsIHBheWxvYWQuZGVmYXVsdF9yZWFjdGlvbl9lbW9qaSk7XG4gIGlmIChwcm9wcy5kZWZhdWx0VGhyZWFkUmF0ZUxpbWl0UGVyVXNlciAmJiBwYXlsb2FkLmRlZmF1bHRfdGhyZWFkX3JhdGVfbGltaXRfcGVyX3VzZXIpXG4gICAgY2hhbm5lbC5kZWZhdWx0VGhyZWFkUmF0ZUxpbWl0UGVyVXNlciA9IHBheWxvYWQuZGVmYXVsdF90aHJlYWRfcmF0ZV9saW1pdF9wZXJfdXNlcjtcbiAgaWYgKHByb3BzLmRlZmF1bHRTb3J0T3JkZXIgJiYgcGF5bG9hZC5kZWZhdWx0X3NvcnRfb3JkZXIgIT09IHVuZGVmaW5lZCkgY2hhbm5lbC5kZWZhdWx0U29ydE9yZGVyID0gcGF5bG9hZC5kZWZhdWx0X3NvcnRfb3JkZXI7XG4gIGlmIChwcm9wcy5kZWZhdWx0Rm9ydW1MYXlvdXQgJiYgcGF5bG9hZC5kZWZhdWx0X2ZvcnVtX2xheW91dCAhPT0gdW5kZWZpbmVkKSBjaGFubmVsLmRlZmF1bHRGb3J1bUxheW91dCA9IHBheWxvYWQuZGVmYXVsdF9mb3J1bV9sYXlvdXQ7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuY2hhbm5lbChib3QsIHBheWxvYWQsIGNoYW5uZWwsIHtcbiAgICBndWlsZElkOiBleHRyYT8uZ3VpbGRJZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGV4dHJhLmd1aWxkSWQpIDogdW5kZWZpbmVkLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUZvcnVtVGFnKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkRm9ydW1UYWcpOiBGb3J1bVRhZyB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5mb3J1bVRhZztcbiAgY29uc3QgZm9ydW1UYWcgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxGb3J1bVRhZywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBmb3J1bVRhZy5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBpZiAocHJvcHMubmFtZSAmJiBwYXlsb2FkLm5hbWUpIGZvcnVtVGFnLm5hbWUgPSBwYXlsb2FkLm5hbWU7XG4gIGlmIChwcm9wcy5tb2RlcmF0ZWQgJiYgcGF5bG9hZC5tb2RlcmF0ZWQpIGZvcnVtVGFnLm1vZGVyYXRlZCA9IHBheWxvYWQubW9kZXJhdGVkO1xuICBpZiAocHJvcHMuZW1vamlJZCAmJiBwYXlsb2FkLmVtb2ppX2lkKSBmb3J1bVRhZy5lbW9qaUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5lbW9qaV9pZCk7XG4gIGlmIChwcm9wcy5lbW9qaU5hbWUgJiYgcGF5bG9hZC5lbW9qaV9uYW1lKSBmb3J1bVRhZy5lbW9qaU5hbWUgPSBwYXlsb2FkLmVtb2ppX25hbWU7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZm9ydW1UYWcoYm90LCBwYXlsb2FkLCBmb3J1bVRhZyk7XG59XG4iXSwibmFtZXMiOlsiaWNvbkhhc2hUb0JpZ0ludCIsIkNoYW5uZWxUb2dnbGVzIiwiUGVybWlzc2lvbnMiLCJNYXNrIiwicGFja092ZXJ3cml0ZXMiLCJhbGxvdyIsImRlbnkiLCJpZCIsInR5cGUiLCJwYWNrNjQiLCJ1bnBhY2s2NCIsInYiLCJzaGlmdCIsIkJpZ0ludCIsImIiLCJFcnJvciIsInRvU3RyaW5nIiwic2VwYXJhdGVPdmVyd3JpdGVzIiwiTnVtYmVyIiwiYmFzZUNoYW5uZWwiLCJ1bmRlZmluZWQiLCJhcmNoaXZlZCIsInRvZ2dsZXMiLCJpbnZpdGFibGUiLCJsb2NrZWQiLCJuc2Z3IiwibmV3bHlDcmVhdGVkIiwibWFuYWdlZCIsInBlcm1pc3Npb25PdmVyd3JpdGVzIiwiaW50ZXJuYWxPdmVyd3JpdGVzIiwibWFwIiwib3ZlcndyaXRlIiwidGhyZWFkTWV0YWRhdGEiLCJhcmNoaXZlVGltZXN0YW1wIiwiaW50ZXJuYWxUaHJlYWRNZXRhZGF0YSIsImNyZWF0ZVRpbWVzdGFtcCIsImF1dG9BcmNoaXZlRHVyYXRpb24iLCJ0cmFuc2Zvcm1DaGFubmVsIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwiY2hhbm5lbCIsIk9iamVjdCIsImNyZWF0ZSIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJzbm93Zmxha2UiLCJndWlsZElkIiwiZ3VpbGRfaWQiLCJwb3NpdGlvbiIsIm5hbWUiLCJ0b3BpYyIsImxhc3RNZXNzYWdlSWQiLCJsYXN0X21lc3NhZ2VfaWQiLCJiaXRyYXRlIiwidXNlckxpbWl0IiwidXNlcl9saW1pdCIsInJhdGVMaW1pdFBlclVzZXIiLCJyYXRlX2xpbWl0X3Blcl91c2VyIiwib3duZXJJZCIsIm93bmVyX2lkIiwibGFzdFBpblRpbWVzdGFtcCIsImxhc3RfcGluX3RpbWVzdGFtcCIsIkRhdGUiLCJwYXJzZSIsInJ0Y1JlZ2lvbiIsInJ0Y19yZWdpb24iLCJ2aWRlb1F1YWxpdHlNb2RlIiwidmlkZW9fcXVhbGl0eV9tb2RlIiwibWVzc2FnZUNvdW50IiwibWVzc2FnZV9jb3VudCIsIm1lbWJlckNvdW50IiwibWVtYmVyX2NvdW50IiwidGhyZWFkX21ldGFkYXRhIiwiYXJjaGl2ZV90aW1lc3RhbXAiLCJjcmVhdGVfdGltZXN0YW1wIiwiYXV0b19hcmNoaXZlX2R1cmF0aW9uIiwiZGVmYXVsdEF1dG9BcmNoaXZlRHVyYXRpb24iLCJkZWZhdWx0X2F1dG9fYXJjaGl2ZV9kdXJhdGlvbiIsInBlcm1pc3Npb25zIiwiYXBwUGVybWlzc2lvbnMiLCJhcHBfcGVybWlzc2lvbnMiLCJmbGFncyIsInBlcm1pc3Npb25fb3ZlcndyaXRlcyIsIm8iLCJwYXJlbnRJZCIsInBhcmVudF9pZCIsInJlY2lwaWVudHMiLCJ1IiwidXNlciIsImljb24iLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJtZW1iZXIiLCJ0aHJlYWRNZW1iZXIiLCJ0b3RhbE1lc3NhZ2VTZW50IiwidG90YWxfbWVzc2FnZV9zZW50IiwiYXZhaWxhYmxlVGFncyIsImF2YWlsYWJsZV90YWdzIiwieCIsImZvcnVtVGFnIiwiYXBwbGllZFRhZ3MiLCJhcHBsaWVkX3RhZ3MiLCJkZWZhdWx0UmVhY3Rpb25FbW9qaSIsImRlZmF1bHRfcmVhY3Rpb25fZW1vamkiLCJkZWZhdWx0VGhyZWFkUmF0ZUxpbWl0UGVyVXNlciIsImRlZmF1bHRfdGhyZWFkX3JhdGVfbGltaXRfcGVyX3VzZXIiLCJkZWZhdWx0U29ydE9yZGVyIiwiZGVmYXVsdF9zb3J0X29yZGVyIiwiZGVmYXVsdEZvcnVtTGF5b3V0IiwiZGVmYXVsdF9mb3J1bV9sYXlvdXQiLCJjdXN0b21pemVycyIsInRyYW5zZm9ybUZvcnVtVGFnIiwibW9kZXJhdGVkIiwiZW1vamlJZCIsImVtb2ppX2lkIiwiZW1vamlOYW1lIiwiZW1vamlfbmFt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
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/transformers/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAE5B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIrC,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAsB,0BAA0B,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIpI,eAAO,MAAM,WAAW,EAAE,OAkHzB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAqHzG;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAQlH;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CASjI;AAED,wBAAgB,mCAAmC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iCAAiC,GAAG,0BAA0B,CAqCpI;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAQvF"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/transformers/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAE5B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIrC,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAsB,0BAA0B,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIpI,eAAO,MAAM,WAAW,EAAE,OAkHzB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAsHzG;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAQlH;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CASjI;AAED,wBAAgB,mCAAmC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iCAAiC,GAAG,0BAA0B,CAqCpI;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAQvF"}
@@ -180,6 +180,7 @@ export function transformMessage(bot, payload, extra) {
180
180
  }
181
181
  if (props.mentionedRoleIds && payload.mention_roles?.length) message.mentionedRoleIds = payload.mention_roles.map((id)=>bot.transformers.snowflake(id));
182
182
  if (props.mentions && payload.mentions?.length) message.mentions = payload.mentions.map((user)=>bot.transformers.user(bot, user));
183
+ if (props.channelType && payload.channel_type) message.channelType = payload.channel_type;
183
184
  if (props.messageReference && payload.message_reference) {
184
185
  const reference = {};
185
186
  const messageReferenceProps = bot.transformers.desiredProperties.messageReference;
@@ -284,4 +285,4 @@ export function transformMessageCall(bot, payload) {
284
285
  return bot.transformers.customizers.messageCall(bot, payload, call);
285
286
  }
286
287
 
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVzc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2UsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDYWxsLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVBpbixcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVNuYXBzaG90LFxuICBNZXNzYWdlRmxhZ3MsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IHNub3dmbGFrZVRvVGltZXN0YW1wIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHsgQ0hBTk5FTF9NRU5USU9OX1JFR0VYIH0gZnJvbSAnLi4vY29uc3RhbnRzLmpzJztcbmltcG9ydCB0eXBlIHsgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGQgfSBmcm9tICcuL3RvZ2dsZXMvVG9nZ2xlQml0ZmllbGQuanMnO1xuaW1wb3J0IHR5cGUgeyBNZXNzYWdlLCBNZXNzYWdlQ2FsbCwgTWVzc2FnZUludGVyYWN0aW9uLCBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSwgTWVzc2FnZVBpbiwgTWVzc2FnZVNuYXBzaG90IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmNvbnN0IEVNUFRZX1NUUklORyA9ICcnO1xuXG5leHBvcnQgY29uc3QgYmFzZU1lc3NhZ2U6IE1lc3NhZ2UgPSB7XG4gIC8vIFRoaXMgYWxsb3dzIHR5cGVzY3JpcHQgdG8gc3RpbGwgY2hlY2sgZm9yIHR5cGUgZXJyb3JzIG9uIGZ1bmN0aW9ucyBiZWxvd1xuICAuLi4odW5kZWZpbmVkIGFzIHVua25vd24gYXMgTWVzc2FnZSksXG5cbiAgZ2V0IGNyb3NzcG9zdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuQ3Jvc3Nwb3N0ZWQpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgY3Jvc3Nwb3N0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuQ3Jvc3Nwb3N0ZWQpO1xuICB9LFxuICBnZXQgZXBoZW1lcmFsKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGVwaGVtZXJhbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKTtcbiAgfSxcbiAgZ2V0IGZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5GYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpO1xuICB9LFxuICBnZXQgaGFzVGhyZWFkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuSGFzVGhyZWFkKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGhhc1RocmVhZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkhhc1RocmVhZCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuSGFzVGhyZWFkKTtcbiAgfSxcbiAgZ2V0IGlzQ3Jvc3Nwb3N0KCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgaXNDcm9zc3Bvc3QodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Jc0Nyb3NzcG9zdCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpO1xuICB9LFxuICBnZXQgbG9hZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkxvYWRpbmcpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgbG9hZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkxvYWRpbmcpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkxvYWRpbmcpO1xuICB9LFxuICBnZXQgbWVudGlvbmVkVXNlcklkcygpIHtcbiAgICByZXR1cm4gdGhpcy5tZW50aW9ucz8ubWFwKCh1c2VyKSA9PiB1c2VyLmlkKSA/PyBbXTtcbiAgfSxcbiAgZ2V0IG1lbnRpb25FdmVyeW9uZSgpIHtcbiAgICByZXR1cm4gdGhpcy5iaXRmaWVsZD8uY29udGFpbnMoMikgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBtZW50aW9uRXZlcnlvbmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuYml0ZmllbGQpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuYml0ZmllbGQuYWRkKDIpO1xuICAgIGVsc2UgdGhpcy5iaXRmaWVsZC5yZW1vdmUoMik7XG4gIH0sXG4gIGdldCBwaW5uZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDMpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgcGlubmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmJpdGZpZWxkKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgzKTtcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDMpO1xuICB9LFxuICBnZXQgc291cmNlTWVzc2FnZURlbGV0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5Tb3VyY2VNZXNzYWdlRGVsZXRlZCkgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBzb3VyY2VNZXNzYWdlRGVsZXRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKTtcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5Tb3VyY2VNZXNzYWdlRGVsZXRlZCk7XG4gIH0sXG4gIGdldCBzdXBwcmVzc0VtYmVkcygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IHN1cHByZXNzRW1iZWRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuU3VwcHJlc3NFbWJlZHMpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKTtcbiAgfSxcbiAgZ2V0IHN1cHByZXNzTm90aWZpY2F0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucykgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBzdXBwcmVzc05vdGlmaWNhdGlvbnModmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5TdXBwcmVzc05vdGlmaWNhdGlvbnMpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucyk7XG4gIH0sXG4gIGdldCB0aW1lc3RhbXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuaWQgPyBzbm93Zmxha2VUb1RpbWVzdGFtcCh0aGlzLmlkKSA6IDA7XG4gIH0sXG4gIGdldCB0dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDEpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgdHRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmJpdGZpZWxkKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgxKTtcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDEpO1xuICB9LFxuICBnZXQgdXJnZW50KCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuVXJnZW50KSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IHVyZ2VudCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlVyZ2VudCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuVXJnZW50KTtcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZSwgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSk6IE1lc3NhZ2Uge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpIDogdW5kZWZpbmVkO1xuICBjb25zdCB1c2VySWQgPSBwYXlsb2FkLmF1dGhvcj8uaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmF1dGhvci5pZCkgOiB1bmRlZmluZWQ7XG5cbiAgY29uc3QgbWVzc2FnZTogU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+ID0gT2JqZWN0LmNyZWF0ZShiYXNlTWVzc2FnZSk7XG4gIG1lc3NhZ2UuYml0ZmllbGQgPSBuZXcgVG9nZ2xlQml0ZmllbGQoKTtcbiAgbWVzc2FnZS5mbGFncyA9IG5ldyBUb2dnbGVCaXRmaWVsZChwYXlsb2FkLmZsYWdzKTtcblxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZTtcblxuICBpZiAocHJvcHMuYXV0aG9yICYmIHBheWxvYWQuYXV0aG9yKSBtZXNzYWdlLmF1dGhvciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQuYXV0aG9yKTtcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uICYmIHBheWxvYWQuYXBwbGljYXRpb24pXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBQYXJ0aWFsc1xuICAgIG1lc3NhZ2UuYXBwbGljYXRpb24gPSBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uKGJvdCwgcGF5bG9hZC5hcHBsaWNhdGlvbiwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KTtcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgbWVzc2FnZS5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCk7XG4gIGlmIChwcm9wcy5hdHRhY2htZW50cyAmJiBwYXlsb2FkLmF0dGFjaG1lbnRzPy5sZW5ndGgpXG4gICAgbWVzc2FnZS5hdHRhY2htZW50cyA9IHBheWxvYWQuYXR0YWNobWVudHMubWFwKChhdHRhY2htZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmF0dGFjaG1lbnQoYm90LCBhdHRhY2htZW50KSk7XG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5jaGFubmVsX2lkKSBtZXNzYWdlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuY2hhbm5lbF9pZCk7XG4gIGlmIChwcm9wcy5jb21wb25lbnRzICYmIHBheWxvYWQuY29tcG9uZW50cz8ubGVuZ3RoKSBtZXNzYWdlLmNvbXBvbmVudHMgPSBwYXlsb2FkLmNvbXBvbmVudHMubWFwKChjb21wKSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXApKTtcbiAgaWYgKHByb3BzLmNvbnRlbnQpIG1lc3NhZ2UuY29udGVudCA9IHBheWxvYWQuY29udGVudCA/PyBFTVBUWV9TVFJJTkc7XG4gIGlmIChwcm9wcy5lZGl0ZWRUaW1lc3RhbXAgJiYgcGF5bG9hZC5lZGl0ZWRfdGltZXN0YW1wKSBtZXNzYWdlLmVkaXRlZFRpbWVzdGFtcCA9IERhdGUucGFyc2UocGF5bG9hZC5lZGl0ZWRfdGltZXN0YW1wKTtcbiAgaWYgKHByb3BzLmVtYmVkcyAmJiBwYXlsb2FkLmVtYmVkcz8ubGVuZ3RoKSBtZXNzYWdlLmVtYmVkcyA9IHBheWxvYWQuZW1iZWRzLm1hcCgoZW1iZWQpID0+IGJvdC50cmFuc2Zvcm1lcnMuZW1iZWQoYm90LCBlbWJlZCkpO1xuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBndWlsZElkKSBtZXNzYWdlLmd1aWxkSWQgPSBndWlsZElkO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgbWVzc2FnZS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBpZiAocHJvcHMuaW50ZXJhY3Rpb25NZXRhZGF0YSAmJiBwYXlsb2FkLmludGVyYWN0aW9uX21ldGFkYXRhKVxuICAgIG1lc3NhZ2UuaW50ZXJhY3Rpb25NZXRhZGF0YSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uX21ldGFkYXRhKTtcbiAgaWYgKHByb3BzLmludGVyYWN0aW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb24pIHtcbiAgICBjb25zdCBpbnRlcmFjdGlvbiA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VJbnRlcmFjdGlvbiwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuICAgIGNvbnN0IG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb247XG5cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMuaWQpIHtcbiAgICAgIGludGVyYWN0aW9uLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5pZCk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5tZW1iZXIgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXIpIHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogcGFydGlhbCAtIGNoZWNrIHdoeSB0aGlzIGlzIHBhcnRpYWwgYW5kIGhhbmRsZSBhcyBuZWVkZWRcbiAgICAgIGludGVyYWN0aW9uLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXIsIHsgZ3VpbGRJZCwgdXNlcklkOiBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIuaWQgfSk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5uYW1lKSB7XG4gICAgICBpbnRlcmFjdGlvbi5uYW1lID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5uYW1lO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMudHlwZSkge1xuICAgICAgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzLnVzZXIpIHtcbiAgICAgIGludGVyYWN0aW9uLnVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIpO1xuICAgIH1cblxuICAgIG1lc3NhZ2UuaW50ZXJhY3Rpb24gPSBpbnRlcmFjdGlvbjtcbiAgfVxuICBpZiAocHJvcHMubWVtYmVyICYmIGd1aWxkSWQgJiYgdXNlcklkICYmIHBheWxvYWQubWVtYmVyKVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogcGFydGlhbFxuICAgIG1lc3NhZ2UubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lbWJlciwgeyBndWlsZElkLCB1c2VySWQgfSk7XG4gIGlmIChwYXlsb2FkLm1lbnRpb25fZXZlcnlvbmUpIG1lc3NhZ2UubWVudGlvbkV2ZXJ5b25lID0gdHJ1ZTtcbiAgaWYgKHByb3BzLm1lbnRpb25lZENoYW5uZWxJZHMgJiYgcGF5bG9hZC5tZW50aW9uX2NoYW5uZWxzPy5sZW5ndGgpIHtcbiAgICBtZXNzYWdlLm1lbnRpb25lZENoYW5uZWxJZHMgPSBbXG4gICAgICAvLyBLZWVwIGFueSBpZHMgdGh0IGRpc2NvcmQgc2VuZHNcbiAgICAgIC4uLihwYXlsb2FkLm1lbnRpb25fY2hhbm5lbHMgPz8gW10pLm1hcCgobSkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UobS5pZCkpLFxuICAgICAgLy8gQWRkIGFueSBvdGhlciBpZHMgdGhhdCBjYW4gYmUgdmFsaWRhdGVkIGluIGEgY2hhbm5lbCBtZW50aW9uIGZvcm1hdFxuICAgICAgLi4uKHBheWxvYWQuY29udGVudD8ubWF0Y2goQ0hBTk5FTF9NRU5USU9OX1JFR0VYKSA/PyBbXSkubWFwKCh0ZXh0KSA9PlxuICAgICAgICAvLyBjb252ZXJ0cyB0aGUgPCMxMjM+IGludG8gMTIzXG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHRleHQuc3Vic3RyaW5nKDIsIHRleHQubGVuZ3RoIC0gMSkpLFxuICAgICAgKSxcbiAgICBdO1xuICB9XG4gIGlmIChwcm9wcy5tZW50aW9uZWRSb2xlSWRzICYmIHBheWxvYWQubWVudGlvbl9yb2xlcz8ubGVuZ3RoKVxuICAgIG1lc3NhZ2UubWVudGlvbmVkUm9sZUlkcyA9IHBheWxvYWQubWVudGlvbl9yb2xlcy5tYXAoKGlkKSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpZCkpO1xuICBpZiAocHJvcHMubWVudGlvbnMgJiYgcGF5bG9hZC5tZW50aW9ucz8ubGVuZ3RoKSBtZXNzYWdlLm1lbnRpb25zID0gcGF5bG9hZC5tZW50aW9ucy5tYXAoKHVzZXIpID0+IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHVzZXIpKTtcbiAgaWYgKHByb3BzLm1lc3NhZ2VSZWZlcmVuY2UgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZSkge1xuICAgIGNvbnN0IHJlZmVyZW5jZSA9IHt9IGFzIE5vbk51bGxhYmxlPE1lc3NhZ2VbJ21lc3NhZ2VSZWZlcmVuY2UnXT47XG4gICAgY29uc3QgbWVzc2FnZVJlZmVyZW5jZVByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlUmVmZXJlbmNlO1xuXG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5jaGFubmVsX2lkKSB7XG4gICAgICByZWZlcmVuY2UuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5jaGFubmVsX2lkKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5ndWlsZElkICYmIHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UuZ3VpbGRfaWQpIHtcbiAgICAgIHJlZmVyZW5jZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5ndWlsZF9pZCk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlUmVmZXJlbmNlUHJvcHMubWVzc2FnZUlkICYmIHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UubWVzc2FnZV9pZCkge1xuICAgICAgcmVmZXJlbmNlLm1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UubWVzc2FnZV9pZCk7XG4gICAgfVxuXG4gICAgbWVzc2FnZS5tZXNzYWdlUmVmZXJlbmNlID0gcmVmZXJlbmNlO1xuICB9XG4gIGlmIChwcm9wcy5yZWZlcmVuY2VkTWVzc2FnZSAmJiBwYXlsb2FkLnJlZmVyZW5jZWRfbWVzc2FnZSlcbiAgICBtZXNzYWdlLnJlZmVyZW5jZWRNZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZC5yZWZlcmVuY2VkX21lc3NhZ2UsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSk7XG4gIGlmIChwcm9wcy5tZXNzYWdlU25hcHNob3RzICYmIHBheWxvYWQubWVzc2FnZV9zbmFwc2hvdHMpXG4gICAgbWVzc2FnZS5tZXNzYWdlU25hcHNob3RzID0gcGF5bG9hZC5tZXNzYWdlX3NuYXBzaG90cy5tYXAoKHNuYXApID0+IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZVNuYXBzaG90KGJvdCwgc25hcCwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KSk7XG4gIGlmIChwcm9wcy5ub25jZSAmJiBwYXlsb2FkLm5vbmNlKSBtZXNzYWdlLm5vbmNlID0gcGF5bG9hZC5ub25jZTtcbiAgaWYgKHBheWxvYWQucGlubmVkKSBtZXNzYWdlLnBpbm5lZCA9IHRydWU7XG4gIGlmIChwcm9wcy5yZWFjdGlvbnMgJiYgcGF5bG9hZC5yZWFjdGlvbnM/Lmxlbmd0aCkge1xuICAgIG1lc3NhZ2UucmVhY3Rpb25zID0gcGF5bG9hZC5yZWFjdGlvbnMubWFwKChyZWFjdGlvbikgPT4gKHtcbiAgICAgIG1lOiByZWFjdGlvbi5tZSxcbiAgICAgIG1lQnVyc3Q6IHJlYWN0aW9uLm1lX2J1cnN0LFxuICAgICAgY291bnQ6IHJlYWN0aW9uLmNvdW50LFxuICAgICAgY291bnREZXRhaWxzOiB7XG4gICAgICAgIGJ1cnN0OiByZWFjdGlvbi5jb3VudF9kZXRhaWxzLmJ1cnN0LFxuICAgICAgICBub3JtYWw6IHJlYWN0aW9uLmNvdW50X2RldGFpbHMubm9ybWFsLFxuICAgICAgfSxcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogRGVhbCB3aXRoIHBhcnRpYWxzXG4gICAgICBlbW9qaTogYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHJlYWN0aW9uLmVtb2ppKSxcbiAgICAgIGJ1cnN0Q29sb3JzOiByZWFjdGlvbi5idXJzdF9jb2xvcnMsXG4gICAgfSkpO1xuICB9XG4gIGlmIChwcm9wcy5zdGlja2VySXRlbXMgJiYgcGF5bG9hZC5zdGlja2VyX2l0ZW1zPy5sZW5ndGgpXG4gICAgbWVzc2FnZS5zdGlja2VySXRlbXMgPSBwYXlsb2FkLnN0aWNrZXJfaXRlbXMubWFwKChpdGVtKSA9PiAoe1xuICAgICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGl0ZW0uaWQpLFxuICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgICAgZm9ybWF0VHlwZTogaXRlbS5mb3JtYXRfdHlwZSxcbiAgICB9KSk7XG4gIGlmIChwYXlsb2FkLnR0cykgbWVzc2FnZS50dHMgPSB0cnVlO1xuICBpZiAocHJvcHMudGhyZWFkICYmIHBheWxvYWQudGhyZWFkKSBtZXNzYWdlLnRocmVhZCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHBheWxvYWQudGhyZWFkLCB7IGd1aWxkSWQgfSk7XG4gIGlmIChwcm9wcy50eXBlKSBtZXNzYWdlLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy53ZWJob29rSWQgJiYgcGF5bG9hZC53ZWJob29rX2lkKSBtZXNzYWdlLndlYmhvb2tJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQud2ViaG9va19pZCk7XG4gIGlmIChwcm9wcy5wb2xsICYmIHBheWxvYWQucG9sbCkgbWVzc2FnZS5wb2xsID0gYm90LnRyYW5zZm9ybWVycy5wb2xsKGJvdCwgcGF5bG9hZC5wb2xsKTtcbiAgaWYgKHByb3BzLmNhbGwgJiYgcGF5bG9hZC5jYWxsKSBtZXNzYWdlLmNhbGwgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VDYWxsKGJvdCwgcGF5bG9hZC5jYWxsKTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZCwgbWVzc2FnZSwgZXh0cmEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZVBpbihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VQaW4sIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0pOiBNZXNzYWdlUGluIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VQaW47XG4gIGNvbnN0IG1lc3NhZ2VQaW4gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlUGluLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnBpbm5lZEF0ICYmIHBheWxvYWQucGlubmVkX2F0KSBtZXNzYWdlUGluLnBpbm5lZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLnBpbm5lZF9hdCk7XG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQubWVzc2FnZSkgbWVzc2FnZVBpbi5tZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZC5tZXNzYWdlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lc3NhZ2VQaW4oYm90LCBwYXlsb2FkLCBtZXNzYWdlUGluLCBleHRyYSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlU25hcHNob3QsIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0pOiBNZXNzYWdlU25hcHNob3Qge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVNuYXBzaG90O1xuICBjb25zdCBtZXNzYWdlU25hcHNob3QgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlU25hcHNob3QsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLm1lc3NhZ2UpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBQYXJ0aWFsc1xuICAgIG1lc3NhZ2VTbmFwc2hvdC5tZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZC5tZXNzYWdlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pIGFzIE1lc3NhZ2U7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZVNuYXBzaG90KGJvdCwgcGF5bG9hZCwgbWVzc2FnZVNuYXBzaG90LCBleHRyYSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKTogTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE7XG4gIGNvbnN0IG1ldGFkYXRhID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMuaWQpIG1ldGFkYXRhLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCk7XG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzKSB7XG4gICAgbWV0YWRhdGEuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9O1xuICAgIGlmIChwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMCddKVxuICAgICAgbWV0YWRhdGEuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVyc1tEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUuR3VpbGRJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMCddLFxuICAgICAgKTtcbiAgICBpZiAocGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIG1ldGFkYXRhLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKTtcbiAgfVxuICBpZiAocHJvcHMub3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCAmJiBwYXlsb2FkLm9yaWdpbmFsX3Jlc3BvbnNlX21lc3NhZ2VfaWQpXG4gICAgbWV0YWRhdGEub3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQub3JpZ2luYWxfcmVzcG9uc2VfbWVzc2FnZV9pZCk7XG4gIGlmIChwcm9wcy50eXBlKSBtZXRhZGF0YS50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMudXNlciAmJiBwYXlsb2FkLnVzZXIpIG1ldGFkYXRhLnVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnVzZXIpO1xuICAvLyBBcHBsaWNhdGlvbiBjb21tYW5kIG1ldGFkYXRhXG4gIGlmICgndGFyZ2V0X3VzZXInIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudGFyZ2V0VXNlciAmJiBwYXlsb2FkLnRhcmdldF91c2VyKSBtZXRhZGF0YS50YXJnZXRVc2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC50YXJnZXRfdXNlcik7XG4gICAgaWYgKHByb3BzLnRhcmdldE1lc3NhZ2VJZCAmJiBwYXlsb2FkLnRhcmdldF9tZXNzYWdlX2lkKSBtZXRhZGF0YS50YXJnZXRNZXNzYWdlSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnRhcmdldF9tZXNzYWdlX2lkKTtcbiAgfVxuICAvLyBNZXNzYWdlIGNvbXBvbmVudCBtZXRhZGF0YVxuICBpZiAoJ2ludGVyYWN0ZWRfbWVzc2FnZV9pZCcgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5pbnRlcmFjdGVkTWVzc2FnZUlkICYmIHBheWxvYWQuaW50ZXJhY3RlZF9tZXNzYWdlX2lkKVxuICAgICAgbWV0YWRhdGEuaW50ZXJhY3RlZE1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3RlZF9tZXNzYWdlX2lkKTtcbiAgfVxuICAvLyBNb2RhbCBzdWJtaXQgbWV0YWRhdGFcbiAgaWYgKCd0cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLnRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhICYmIHBheWxvYWQudHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgICAgIG1ldGFkYXRhLnRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YShib3QsIHBheWxvYWQudHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSk7XG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YShib3QsIHBheWxvYWQsIG1ldGFkYXRhKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VDYWxsKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUNhbGwpOiBNZXNzYWdlQ2FsbCB7XG4gIGNvbnN0IGNhbGwgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlQ2FsbCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUNhbGw7XG5cbiAgaWYgKHByb3BzLnBhcnRpY2lwYW50cyAmJiBwYXlsb2FkLnBhcnRpY2lwYW50cykgY2FsbC5wYXJ0aWNpcGFudHMgPSBwYXlsb2FkLnBhcnRpY2lwYW50cy5tYXAoKHgpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHgpKTtcbiAgaWYgKHByb3BzLmVuZGVkVGltZXN0YW1wICYmIHBheWxvYWQuZW5kZWRfdGltZXN0YW1wKSBjYWxsLmVuZGVkVGltZXN0YW1wID0gRGF0ZS5wYXJzZShwYXlsb2FkLmVuZGVkX3RpbWVzdGFtcCk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZUNhbGwoYm90LCBwYXlsb2FkLCBjYWxsKTtcbn1cbiJdLCJuYW1lcyI6WyJEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUiLCJNZXNzYWdlRmxhZ3MiLCJzbm93Zmxha2VUb1RpbWVzdGFtcCIsIkNIQU5ORUxfTUVOVElPTl9SRUdFWCIsIlRvZ2dsZUJpdGZpZWxkIiwiRU1QVFlfU1RSSU5HIiwiYmFzZU1lc3NhZ2UiLCJ1bmRlZmluZWQiLCJjcm9zc3Bvc3RlZCIsImZsYWdzIiwiY29udGFpbnMiLCJDcm9zc3Bvc3RlZCIsInZhbHVlIiwiYWRkIiwicmVtb3ZlIiwiZXBoZW1lcmFsIiwiRXBoZW1lcmFsIiwiZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQiLCJGYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCIsImhhc1RocmVhZCIsIkhhc1RocmVhZCIsImlzQ3Jvc3Nwb3N0IiwiSXNDcm9zc3Bvc3QiLCJsb2FkaW5nIiwiTG9hZGluZyIsIm1lbnRpb25lZFVzZXJJZHMiLCJtZW50aW9ucyIsIm1hcCIsInVzZXIiLCJpZCIsIm1lbnRpb25FdmVyeW9uZSIsImJpdGZpZWxkIiwicGlubmVkIiwic291cmNlTWVzc2FnZURlbGV0ZWQiLCJTb3VyY2VNZXNzYWdlRGVsZXRlZCIsInN1cHByZXNzRW1iZWRzIiwiU3VwcHJlc3NFbWJlZHMiLCJzdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJTdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJ0aW1lc3RhbXAiLCJ0dHMiLCJ1cmdlbnQiLCJVcmdlbnQiLCJ0cmFuc2Zvcm1NZXNzYWdlIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwidXNlcklkIiwiYXV0aG9yIiwibWVzc2FnZSIsIk9iamVjdCIsImNyZWF0ZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJhcHBsaWNhdGlvbiIsInNoYXJkSWQiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJhdHRhY2htZW50cyIsImxlbmd0aCIsImF0dGFjaG1lbnQiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwiY29tcG9uZW50cyIsImNvbXAiLCJjb21wb25lbnQiLCJjb250ZW50IiwiZWRpdGVkVGltZXN0YW1wIiwiZWRpdGVkX3RpbWVzdGFtcCIsIkRhdGUiLCJwYXJzZSIsImVtYmVkcyIsImVtYmVkIiwiaW50ZXJhY3Rpb25NZXRhZGF0YSIsImludGVyYWN0aW9uX21ldGFkYXRhIiwibWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJpbnRlcmFjdGlvbiIsIm1lc3NhZ2VJbnRlcmFjdGlvblByb3BzIiwibWVzc2FnZUludGVyYWN0aW9uIiwibWVtYmVyIiwibmFtZSIsInR5cGUiLCJtZW50aW9uX2V2ZXJ5b25lIiwibWVudGlvbmVkQ2hhbm5lbElkcyIsIm1lbnRpb25fY2hhbm5lbHMiLCJtIiwibWF0Y2giLCJ0ZXh0Iiwic3Vic3RyaW5nIiwibWVudGlvbmVkUm9sZUlkcyIsIm1lbnRpb25fcm9sZXMiLCJtZXNzYWdlUmVmZXJlbmNlIiwibWVzc2FnZV9yZWZlcmVuY2UiLCJyZWZlcmVuY2UiLCJtZXNzYWdlUmVmZXJlbmNlUHJvcHMiLCJtZXNzYWdlSWQiLCJtZXNzYWdlX2lkIiwicmVmZXJlbmNlZE1lc3NhZ2UiLCJyZWZlcmVuY2VkX21lc3NhZ2UiLCJtZXNzYWdlU25hcHNob3RzIiwibWVzc2FnZV9zbmFwc2hvdHMiLCJzbmFwIiwibWVzc2FnZVNuYXBzaG90Iiwibm9uY2UiLCJyZWFjdGlvbnMiLCJyZWFjdGlvbiIsIm1lIiwibWVCdXJzdCIsIm1lX2J1cnN0IiwiY291bnQiLCJjb3VudERldGFpbHMiLCJidXJzdCIsImNvdW50X2RldGFpbHMiLCJub3JtYWwiLCJlbW9qaSIsImJ1cnN0Q29sb3JzIiwiYnVyc3RfY29sb3JzIiwic3RpY2tlckl0ZW1zIiwic3RpY2tlcl9pdGVtcyIsIml0ZW0iLCJmb3JtYXRUeXBlIiwiZm9ybWF0X3R5cGUiLCJ0aHJlYWQiLCJjaGFubmVsIiwid2ViaG9va0lkIiwid2ViaG9va19pZCIsInBvbGwiLCJjYWxsIiwibWVzc2FnZUNhbGwiLCJjdXN0b21pemVycyIsInRyYW5zZm9ybU1lc3NhZ2VQaW4iLCJtZXNzYWdlUGluIiwicGlubmVkQXQiLCJwaW5uZWRfYXQiLCJ0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QiLCJ0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSIsIm1ldGFkYXRhIiwiYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyIsImF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVycyIsIkd1aWxkSW5zdGFsbCIsIlVzZXJJbnN0YWxsIiwib3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCIsIm9yaWdpbmFsX3Jlc3BvbnNlX21lc3NhZ2VfaWQiLCJ0YXJnZXRVc2VyIiwidGFyZ2V0X3VzZXIiLCJ0YXJnZXRNZXNzYWdlSWQiLCJ0YXJnZXRfbWVzc2FnZV9pZCIsImludGVyYWN0ZWRNZXNzYWdlSWQiLCJpbnRlcmFjdGVkX21lc3NhZ2VfaWQiLCJ0cmlnZ2VyaW5nSW50ZXJhY3Rpb25NZXRhZGF0YSIsInRyaWdnZXJpbmdfaW50ZXJhY3Rpb25fbWV0YWRhdGEiLCJ0cmFuc2Zvcm1NZXNzYWdlQ2FsbCIsInBhcnRpY2lwYW50cyIsIngiLCJlbmRlZFRpbWVzdGFtcCIsImVuZGVkX3RpbWVzdGFtcCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FDRUEsaUNBQWlDLEVBTWpDQyxZQUFZLFFBQ1Asb0JBQW9CO0FBQzNCLFNBQVNDLG9CQUFvQixRQUFRLG9CQUFvQjtBQUV6RCxTQUFTQyxxQkFBcUIsUUFBUSxrQkFBa0I7QUFFeEQsU0FBU0MsY0FBYyxRQUFRLDhCQUE4QjtBQUc3RCxNQUFNQyxlQUFlO0FBRXJCLE9BQU8sTUFBTUMsY0FBdUI7SUFDbEMsMkVBQTJFO0lBQzNFLEdBQUlDLFNBQVM7SUFFYixJQUFJQyxlQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDQyxLQUFLLEVBQUVDLFNBQVNULGFBQWFVLFdBQVcsS0FBSztJQUMzRDtJQUNBLElBQUlILGFBQVlJLE1BQWdCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUNILEtBQUssRUFBRTtRQUNqQixJQUFJRyxPQUFPLElBQUksQ0FBQ0gsS0FBSyxDQUFDSSxHQUFHLENBQUNaLGFBQWFVLFdBQVc7YUFDN0MsSUFBSSxDQUFDRixLQUFLLENBQUNLLE1BQU0sQ0FBQ2IsYUFBYVUsV0FBVztJQUNqRDtJQUNBLElBQUlJLGFBQVk7UUFDZCxPQUFPLElBQUksQ0FBQ04sS0FBSyxFQUFFQyxTQUFTVCxhQUFhZSxTQUFTLEtBQUs7SUFDekQ7SUFD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
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVzc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2UsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDYWxsLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVBpbixcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVNuYXBzaG90LFxuICBNZXNzYWdlRmxhZ3MsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IHNub3dmbGFrZVRvVGltZXN0YW1wIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHsgQ0hBTk5FTF9NRU5USU9OX1JFR0VYIH0gZnJvbSAnLi4vY29uc3RhbnRzLmpzJztcbmltcG9ydCB0eXBlIHsgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGQgfSBmcm9tICcuL3RvZ2dsZXMvVG9nZ2xlQml0ZmllbGQuanMnO1xuaW1wb3J0IHR5cGUgeyBNZXNzYWdlLCBNZXNzYWdlQ2FsbCwgTWVzc2FnZUludGVyYWN0aW9uLCBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSwgTWVzc2FnZVBpbiwgTWVzc2FnZVNuYXBzaG90IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmNvbnN0IEVNUFRZX1NUUklORyA9ICcnO1xuXG5leHBvcnQgY29uc3QgYmFzZU1lc3NhZ2U6IE1lc3NhZ2UgPSB7XG4gIC8vIFRoaXMgYWxsb3dzIHR5cGVzY3JpcHQgdG8gc3RpbGwgY2hlY2sgZm9yIHR5cGUgZXJyb3JzIG9uIGZ1bmN0aW9ucyBiZWxvd1xuICAuLi4odW5kZWZpbmVkIGFzIHVua25vd24gYXMgTWVzc2FnZSksXG5cbiAgZ2V0IGNyb3NzcG9zdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuQ3Jvc3Nwb3N0ZWQpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgY3Jvc3Nwb3N0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuQ3Jvc3Nwb3N0ZWQpO1xuICB9LFxuICBnZXQgZXBoZW1lcmFsKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGVwaGVtZXJhbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKTtcbiAgfSxcbiAgZ2V0IGZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5GYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpO1xuICB9LFxuICBnZXQgaGFzVGhyZWFkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuSGFzVGhyZWFkKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGhhc1RocmVhZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkhhc1RocmVhZCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuSGFzVGhyZWFkKTtcbiAgfSxcbiAgZ2V0IGlzQ3Jvc3Nwb3N0KCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgaXNDcm9zc3Bvc3QodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Jc0Nyb3NzcG9zdCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpO1xuICB9LFxuICBnZXQgbG9hZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkxvYWRpbmcpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgbG9hZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkxvYWRpbmcpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkxvYWRpbmcpO1xuICB9LFxuICBnZXQgbWVudGlvbmVkVXNlcklkcygpIHtcbiAgICByZXR1cm4gdGhpcy5tZW50aW9ucz8ubWFwKCh1c2VyKSA9PiB1c2VyLmlkKSA/PyBbXTtcbiAgfSxcbiAgZ2V0IG1lbnRpb25FdmVyeW9uZSgpIHtcbiAgICByZXR1cm4gdGhpcy5iaXRmaWVsZD8uY29udGFpbnMoMikgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBtZW50aW9uRXZlcnlvbmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuYml0ZmllbGQpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuYml0ZmllbGQuYWRkKDIpO1xuICAgIGVsc2UgdGhpcy5iaXRmaWVsZC5yZW1vdmUoMik7XG4gIH0sXG4gIGdldCBwaW5uZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDMpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgcGlubmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmJpdGZpZWxkKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgzKTtcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDMpO1xuICB9LFxuICBnZXQgc291cmNlTWVzc2FnZURlbGV0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5Tb3VyY2VNZXNzYWdlRGVsZXRlZCkgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBzb3VyY2VNZXNzYWdlRGVsZXRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKTtcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5Tb3VyY2VNZXNzYWdlRGVsZXRlZCk7XG4gIH0sXG4gIGdldCBzdXBwcmVzc0VtYmVkcygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IHN1cHByZXNzRW1iZWRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuU3VwcHJlc3NFbWJlZHMpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKTtcbiAgfSxcbiAgZ2V0IHN1cHByZXNzTm90aWZpY2F0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucykgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBzdXBwcmVzc05vdGlmaWNhdGlvbnModmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5TdXBwcmVzc05vdGlmaWNhdGlvbnMpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucyk7XG4gIH0sXG4gIGdldCB0aW1lc3RhbXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuaWQgPyBzbm93Zmxha2VUb1RpbWVzdGFtcCh0aGlzLmlkKSA6IDA7XG4gIH0sXG4gIGdldCB0dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDEpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgdHRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmJpdGZpZWxkKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgxKTtcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDEpO1xuICB9LFxuICBnZXQgdXJnZW50KCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuVXJnZW50KSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IHVyZ2VudCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlVyZ2VudCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuVXJnZW50KTtcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZSwgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSk6IE1lc3NhZ2Uge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpIDogdW5kZWZpbmVkO1xuICBjb25zdCB1c2VySWQgPSBwYXlsb2FkLmF1dGhvcj8uaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmF1dGhvci5pZCkgOiB1bmRlZmluZWQ7XG5cbiAgY29uc3QgbWVzc2FnZTogU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+ID0gT2JqZWN0LmNyZWF0ZShiYXNlTWVzc2FnZSk7XG4gIG1lc3NhZ2UuYml0ZmllbGQgPSBuZXcgVG9nZ2xlQml0ZmllbGQoKTtcbiAgbWVzc2FnZS5mbGFncyA9IG5ldyBUb2dnbGVCaXRmaWVsZChwYXlsb2FkLmZsYWdzKTtcblxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZTtcblxuICBpZiAocHJvcHMuYXV0aG9yICYmIHBheWxvYWQuYXV0aG9yKSBtZXNzYWdlLmF1dGhvciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQuYXV0aG9yKTtcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uICYmIHBheWxvYWQuYXBwbGljYXRpb24pXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBQYXJ0aWFsc1xuICAgIG1lc3NhZ2UuYXBwbGljYXRpb24gPSBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uKGJvdCwgcGF5bG9hZC5hcHBsaWNhdGlvbiwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KTtcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgbWVzc2FnZS5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCk7XG4gIGlmIChwcm9wcy5hdHRhY2htZW50cyAmJiBwYXlsb2FkLmF0dGFjaG1lbnRzPy5sZW5ndGgpXG4gICAgbWVzc2FnZS5hdHRhY2htZW50cyA9IHBheWxvYWQuYXR0YWNobWVudHMubWFwKChhdHRhY2htZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmF0dGFjaG1lbnQoYm90LCBhdHRhY2htZW50KSk7XG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5jaGFubmVsX2lkKSBtZXNzYWdlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuY2hhbm5lbF9pZCk7XG4gIGlmIChwcm9wcy5jb21wb25lbnRzICYmIHBheWxvYWQuY29tcG9uZW50cz8ubGVuZ3RoKSBtZXNzYWdlLmNvbXBvbmVudHMgPSBwYXlsb2FkLmNvbXBvbmVudHMubWFwKChjb21wKSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXApKTtcbiAgaWYgKHByb3BzLmNvbnRlbnQpIG1lc3NhZ2UuY29udGVudCA9IHBheWxvYWQuY29udGVudCA/PyBFTVBUWV9TVFJJTkc7XG4gIGlmIChwcm9wcy5lZGl0ZWRUaW1lc3RhbXAgJiYgcGF5bG9hZC5lZGl0ZWRfdGltZXN0YW1wKSBtZXNzYWdlLmVkaXRlZFRpbWVzdGFtcCA9IERhdGUucGFyc2UocGF5bG9hZC5lZGl0ZWRfdGltZXN0YW1wKTtcbiAgaWYgKHByb3BzLmVtYmVkcyAmJiBwYXlsb2FkLmVtYmVkcz8ubGVuZ3RoKSBtZXNzYWdlLmVtYmVkcyA9IHBheWxvYWQuZW1iZWRzLm1hcCgoZW1iZWQpID0+IGJvdC50cmFuc2Zvcm1lcnMuZW1iZWQoYm90LCBlbWJlZCkpO1xuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBndWlsZElkKSBtZXNzYWdlLmd1aWxkSWQgPSBndWlsZElkO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgbWVzc2FnZS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBpZiAocHJvcHMuaW50ZXJhY3Rpb25NZXRhZGF0YSAmJiBwYXlsb2FkLmludGVyYWN0aW9uX21ldGFkYXRhKVxuICAgIG1lc3NhZ2UuaW50ZXJhY3Rpb25NZXRhZGF0YSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uX21ldGFkYXRhKTtcbiAgaWYgKHByb3BzLmludGVyYWN0aW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb24pIHtcbiAgICBjb25zdCBpbnRlcmFjdGlvbiA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VJbnRlcmFjdGlvbiwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuICAgIGNvbnN0IG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb247XG5cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMuaWQpIHtcbiAgICAgIGludGVyYWN0aW9uLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5pZCk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5tZW1iZXIgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXIpIHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogcGFydGlhbCAtIGNoZWNrIHdoeSB0aGlzIGlzIHBhcnRpYWwgYW5kIGhhbmRsZSBhcyBuZWVkZWRcbiAgICAgIGludGVyYWN0aW9uLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXIsIHsgZ3VpbGRJZCwgdXNlcklkOiBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIuaWQgfSk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5uYW1lKSB7XG4gICAgICBpbnRlcmFjdGlvbi5uYW1lID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5uYW1lO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMudHlwZSkge1xuICAgICAgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzLnVzZXIpIHtcbiAgICAgIGludGVyYWN0aW9uLnVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIpO1xuICAgIH1cblxuICAgIG1lc3NhZ2UuaW50ZXJhY3Rpb24gPSBpbnRlcmFjdGlvbjtcbiAgfVxuICBpZiAocHJvcHMubWVtYmVyICYmIGd1aWxkSWQgJiYgdXNlcklkICYmIHBheWxvYWQubWVtYmVyKVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogcGFydGlhbFxuICAgIG1lc3NhZ2UubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lbWJlciwgeyBndWlsZElkLCB1c2VySWQgfSk7XG4gIGlmIChwYXlsb2FkLm1lbnRpb25fZXZlcnlvbmUpIG1lc3NhZ2UubWVudGlvbkV2ZXJ5b25lID0gdHJ1ZTtcbiAgaWYgKHByb3BzLm1lbnRpb25lZENoYW5uZWxJZHMgJiYgcGF5bG9hZC5tZW50aW9uX2NoYW5uZWxzPy5sZW5ndGgpIHtcbiAgICBtZXNzYWdlLm1lbnRpb25lZENoYW5uZWxJZHMgPSBbXG4gICAgICAvLyBLZWVwIGFueSBpZHMgdGh0IGRpc2NvcmQgc2VuZHNcbiAgICAgIC4uLihwYXlsb2FkLm1lbnRpb25fY2hhbm5lbHMgPz8gW10pLm1hcCgobSkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UobS5pZCkpLFxuICAgICAgLy8gQWRkIGFueSBvdGhlciBpZHMgdGhhdCBjYW4gYmUgdmFsaWRhdGVkIGluIGEgY2hhbm5lbCBtZW50aW9uIGZvcm1hdFxuICAgICAgLi4uKHBheWxvYWQuY29udGVudD8ubWF0Y2goQ0hBTk5FTF9NRU5USU9OX1JFR0VYKSA/PyBbXSkubWFwKCh0ZXh0KSA9PlxuICAgICAgICAvLyBjb252ZXJ0cyB0aGUgPCMxMjM+IGludG8gMTIzXG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHRleHQuc3Vic3RyaW5nKDIsIHRleHQubGVuZ3RoIC0gMSkpLFxuICAgICAgKSxcbiAgICBdO1xuICB9XG4gIGlmIChwcm9wcy5tZW50aW9uZWRSb2xlSWRzICYmIHBheWxvYWQubWVudGlvbl9yb2xlcz8ubGVuZ3RoKVxuICAgIG1lc3NhZ2UubWVudGlvbmVkUm9sZUlkcyA9IHBheWxvYWQubWVudGlvbl9yb2xlcy5tYXAoKGlkKSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpZCkpO1xuICBpZiAocHJvcHMubWVudGlvbnMgJiYgcGF5bG9hZC5tZW50aW9ucz8ubGVuZ3RoKSBtZXNzYWdlLm1lbnRpb25zID0gcGF5bG9hZC5tZW50aW9ucy5tYXAoKHVzZXIpID0+IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHVzZXIpKTtcbiAgaWYgKHByb3BzLmNoYW5uZWxUeXBlICYmIHBheWxvYWQuY2hhbm5lbF90eXBlKSBtZXNzYWdlLmNoYW5uZWxUeXBlID0gcGF5bG9hZC5jaGFubmVsX3R5cGU7XG4gIGlmIChwcm9wcy5tZXNzYWdlUmVmZXJlbmNlICYmIHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UpIHtcbiAgICBjb25zdCByZWZlcmVuY2UgPSB7fSBhcyBOb25OdWxsYWJsZTxNZXNzYWdlWydtZXNzYWdlUmVmZXJlbmNlJ10+O1xuICAgIGNvbnN0IG1lc3NhZ2VSZWZlcmVuY2VQcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVJlZmVyZW5jZTtcblxuICAgIGlmIChtZXNzYWdlUmVmZXJlbmNlUHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UuY2hhbm5lbF9pZCkge1xuICAgICAgcmVmZXJlbmNlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UuY2hhbm5lbF9pZCk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlUmVmZXJlbmNlUHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLm1lc3NhZ2VfcmVmZXJlbmNlLmd1aWxkX2lkKSB7XG4gICAgICByZWZlcmVuY2UuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UuZ3VpbGRfaWQpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZVJlZmVyZW5jZVByb3BzLm1lc3NhZ2VJZCAmJiBwYXlsb2FkLm1lc3NhZ2VfcmVmZXJlbmNlLm1lc3NhZ2VfaWQpIHtcbiAgICAgIHJlZmVyZW5jZS5tZXNzYWdlSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2VfcmVmZXJlbmNlLm1lc3NhZ2VfaWQpO1xuICAgIH1cblxuICAgIG1lc3NhZ2UubWVzc2FnZVJlZmVyZW5jZSA9IHJlZmVyZW5jZTtcbiAgfVxuICBpZiAocHJvcHMucmVmZXJlbmNlZE1lc3NhZ2UgJiYgcGF5bG9hZC5yZWZlcmVuY2VkX21lc3NhZ2UpXG4gICAgbWVzc2FnZS5yZWZlcmVuY2VkTWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHBheWxvYWQucmVmZXJlbmNlZF9tZXNzYWdlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pO1xuICBpZiAocHJvcHMubWVzc2FnZVNuYXBzaG90cyAmJiBwYXlsb2FkLm1lc3NhZ2Vfc25hcHNob3RzKVxuICAgIG1lc3NhZ2UubWVzc2FnZVNuYXBzaG90cyA9IHBheWxvYWQubWVzc2FnZV9zbmFwc2hvdHMubWFwKChzbmFwKSA9PiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VTbmFwc2hvdChib3QsIHNuYXAsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSkpO1xuICBpZiAocHJvcHMubm9uY2UgJiYgcGF5bG9hZC5ub25jZSkgbWVzc2FnZS5ub25jZSA9IHBheWxvYWQubm9uY2U7XG4gIGlmIChwYXlsb2FkLnBpbm5lZCkgbWVzc2FnZS5waW5uZWQgPSB0cnVlO1xuICBpZiAocHJvcHMucmVhY3Rpb25zICYmIHBheWxvYWQucmVhY3Rpb25zPy5sZW5ndGgpIHtcbiAgICBtZXNzYWdlLnJlYWN0aW9ucyA9IHBheWxvYWQucmVhY3Rpb25zLm1hcCgocmVhY3Rpb24pID0+ICh7XG4gICAgICBtZTogcmVhY3Rpb24ubWUsXG4gICAgICBtZUJ1cnN0OiByZWFjdGlvbi5tZV9idXJzdCxcbiAgICAgIGNvdW50OiByZWFjdGlvbi5jb3VudCxcbiAgICAgIGNvdW50RGV0YWlsczoge1xuICAgICAgICBidXJzdDogcmVhY3Rpb24uY291bnRfZGV0YWlscy5idXJzdCxcbiAgICAgICAgbm9ybWFsOiByZWFjdGlvbi5jb3VudF9kZXRhaWxzLm5vcm1hbCxcbiAgICAgIH0sXG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IERlYWwgd2l0aCBwYXJ0aWFsc1xuICAgICAgZW1vamk6IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCByZWFjdGlvbi5lbW9qaSksXG4gICAgICBidXJzdENvbG9yczogcmVhY3Rpb24uYnVyc3RfY29sb3JzLFxuICAgIH0pKTtcbiAgfVxuICBpZiAocHJvcHMuc3RpY2tlckl0ZW1zICYmIHBheWxvYWQuc3RpY2tlcl9pdGVtcz8ubGVuZ3RoKVxuICAgIG1lc3NhZ2Uuc3RpY2tlckl0ZW1zID0gcGF5bG9hZC5zdGlja2VyX2l0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpdGVtLmlkKSxcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgIGZvcm1hdFR5cGU6IGl0ZW0uZm9ybWF0X3R5cGUsXG4gICAgfSkpO1xuICBpZiAocGF5bG9hZC50dHMpIG1lc3NhZ2UudHRzID0gdHJ1ZTtcbiAgaWYgKHByb3BzLnRocmVhZCAmJiBwYXlsb2FkLnRocmVhZCkgbWVzc2FnZS50aHJlYWQgPSBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCBwYXlsb2FkLnRocmVhZCwgeyBndWlsZElkIH0pO1xuICBpZiAocHJvcHMudHlwZSkgbWVzc2FnZS50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMud2ViaG9va0lkICYmIHBheWxvYWQud2ViaG9va19pZCkgbWVzc2FnZS53ZWJob29rSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLndlYmhvb2tfaWQpO1xuICBpZiAocHJvcHMucG9sbCAmJiBwYXlsb2FkLnBvbGwpIG1lc3NhZ2UucG9sbCA9IGJvdC50cmFuc2Zvcm1lcnMucG9sbChib3QsIHBheWxvYWQucG9sbCk7XG4gIGlmIChwcm9wcy5jYWxsICYmIHBheWxvYWQuY2FsbCkgbWVzc2FnZS5jYWxsID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlQ2FsbChib3QsIHBheWxvYWQuY2FsbCk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZShib3QsIHBheWxvYWQsIG1lc3NhZ2UsIGV4dHJhKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VQaW4oYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlUGluLCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9KTogTWVzc2FnZVBpbiB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlUGluO1xuICBjb25zdCBtZXNzYWdlUGluID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZVBpbiwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5waW5uZWRBdCAmJiBwYXlsb2FkLnBpbm5lZF9hdCkgbWVzc2FnZVBpbi5waW5uZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5waW5uZWRfYXQpO1xuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLm1lc3NhZ2UpIG1lc3NhZ2VQaW4ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHBheWxvYWQubWVzc2FnZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KTtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZXNzYWdlUGluKGJvdCwgcGF5bG9hZCwgbWVzc2FnZVBpbiwgZXh0cmEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZVNuYXBzaG90LCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9KTogTWVzc2FnZVNuYXBzaG90IHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VTbmFwc2hvdDtcbiAgY29uc3QgbWVzc2FnZVNuYXBzaG90ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZVNuYXBzaG90LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5tZXNzYWdlKVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogUGFydGlhbHNcbiAgICBtZXNzYWdlU25hcHNob3QubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHBheWxvYWQubWVzc2FnZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KSBhcyBNZXNzYWdlO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lc3NhZ2VTbmFwc2hvdChib3QsIHBheWxvYWQsIG1lc3NhZ2VTbmFwc2hvdCwgZXh0cmEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSk6IE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhO1xuICBjb25zdCBtZXRhZGF0YSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLmlkKSBtZXRhZGF0YS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBpZiAocHJvcHMuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycykge1xuICAgIG1ldGFkYXRhLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMgPSB7fTtcbiAgICBpZiAocGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSlcbiAgICAgIG1ldGFkYXRhLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLkd1aWxkSW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSxcbiAgICAgICk7XG4gICAgaWYgKHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycxJ10pXG4gICAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5Vc2VySW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSxcbiAgICAgICk7XG4gIH1cbiAgaWYgKHByb3BzLm9yaWdpbmFsUmVzcG9uc2VNZXNzYWdlSWQgJiYgcGF5bG9hZC5vcmlnaW5hbF9yZXNwb25zZV9tZXNzYWdlX2lkKVxuICAgIG1ldGFkYXRhLm9yaWdpbmFsUmVzcG9uc2VNZXNzYWdlSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm9yaWdpbmFsX3Jlc3BvbnNlX21lc3NhZ2VfaWQpO1xuICBpZiAocHJvcHMudHlwZSkgbWV0YWRhdGEudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLnVzZXIgJiYgcGF5bG9hZC51c2VyKSBtZXRhZGF0YS51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKTtcbiAgLy8gQXBwbGljYXRpb24gY29tbWFuZCBtZXRhZGF0YVxuICBpZiAoJ3RhcmdldF91c2VyJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLnRhcmdldFVzZXIgJiYgcGF5bG9hZC50YXJnZXRfdXNlcikgbWV0YWRhdGEudGFyZ2V0VXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQudGFyZ2V0X3VzZXIpO1xuICAgIGlmIChwcm9wcy50YXJnZXRNZXNzYWdlSWQgJiYgcGF5bG9hZC50YXJnZXRfbWVzc2FnZV9pZCkgbWV0YWRhdGEudGFyZ2V0TWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC50YXJnZXRfbWVzc2FnZV9pZCk7XG4gIH1cbiAgLy8gTWVzc2FnZSBjb21wb25lbnQgbWV0YWRhdGFcbiAgaWYgKCdpbnRlcmFjdGVkX21lc3NhZ2VfaWQnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuaW50ZXJhY3RlZE1lc3NhZ2VJZCAmJiBwYXlsb2FkLmludGVyYWN0ZWRfbWVzc2FnZV9pZClcbiAgICAgIG1ldGFkYXRhLmludGVyYWN0ZWRNZXNzYWdlSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0ZWRfbWVzc2FnZV9pZCk7XG4gIH1cbiAgLy8gTW9kYWwgc3VibWl0IG1ldGFkYXRhXG4gIGlmICgndHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YScgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy50cmlnZ2VyaW5nSW50ZXJhY3Rpb25NZXRhZGF0YSAmJiBwYXlsb2FkLnRyaWdnZXJpbmdfaW50ZXJhY3Rpb25fbWV0YWRhdGEpXG4gICAgICBtZXRhZGF0YS50cmlnZ2VyaW5nSW50ZXJhY3Rpb25NZXRhZGF0YSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEoYm90LCBwYXlsb2FkLnRyaWdnZXJpbmdfaW50ZXJhY3Rpb25fbWV0YWRhdGEpO1xuICB9XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEoYm90LCBwYXlsb2FkLCBtZXRhZGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlQ2FsbChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VDYWxsKTogTWVzc2FnZUNhbGwge1xuICBjb25zdCBjYWxsID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZUNhbGwsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VDYWxsO1xuXG4gIGlmIChwcm9wcy5wYXJ0aWNpcGFudHMgJiYgcGF5bG9hZC5wYXJ0aWNpcGFudHMpIGNhbGwucGFydGljaXBhbnRzID0gcGF5bG9hZC5wYXJ0aWNpcGFudHMubWFwKCh4KSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh4KSk7XG4gIGlmIChwcm9wcy5lbmRlZFRpbWVzdGFtcCAmJiBwYXlsb2FkLmVuZGVkX3RpbWVzdGFtcCkgY2FsbC5lbmRlZFRpbWVzdGFtcCA9IERhdGUucGFyc2UocGF5bG9hZC5lbmRlZF90aW1lc3RhbXApO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lc3NhZ2VDYWxsKGJvdCwgcGF5bG9hZCwgY2FsbCk7XG59XG4iXSwibmFtZXMiOlsiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiTWVzc2FnZUZsYWdzIiwic25vd2ZsYWtlVG9UaW1lc3RhbXAiLCJDSEFOTkVMX01FTlRJT05fUkVHRVgiLCJUb2dnbGVCaXRmaWVsZCIsIkVNUFRZX1NUUklORyIsImJhc2VNZXNzYWdlIiwidW5kZWZpbmVkIiwiY3Jvc3Nwb3N0ZWQiLCJmbGFncyIsImNvbnRhaW5zIiwiQ3Jvc3Nwb3N0ZWQiLCJ2YWx1ZSIsImFkZCIsInJlbW92ZSIsImVwaGVtZXJhbCIsIkVwaGVtZXJhbCIsImZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkIiwiRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQiLCJoYXNUaHJlYWQiLCJIYXNUaHJlYWQiLCJpc0Nyb3NzcG9zdCIsIklzQ3Jvc3Nwb3N0IiwibG9hZGluZyIsIkxvYWRpbmciLCJtZW50aW9uZWRVc2VySWRzIiwibWVudGlvbnMiLCJtYXAiLCJ1c2VyIiwiaWQiLCJtZW50aW9uRXZlcnlvbmUiLCJiaXRmaWVsZCIsInBpbm5lZCIsInNvdXJjZU1lc3NhZ2VEZWxldGVkIiwiU291cmNlTWVzc2FnZURlbGV0ZWQiLCJzdXBwcmVzc0VtYmVkcyIsIlN1cHByZXNzRW1iZWRzIiwic3VwcHJlc3NOb3RpZmljYXRpb25zIiwiU3VwcHJlc3NOb3RpZmljYXRpb25zIiwidGltZXN0YW1wIiwidHRzIiwidXJnZW50IiwiVXJnZW50IiwidHJhbnNmb3JtTWVzc2FnZSIsImJvdCIsInBheWxvYWQiLCJleHRyYSIsImd1aWxkSWQiLCJndWlsZF9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVzZXJJZCIsImF1dGhvciIsIm1lc3NhZ2UiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb24iLCJzaGFyZElkIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwiYXR0YWNobWVudHMiLCJsZW5ndGgiLCJhdHRhY2htZW50IiwiY2hhbm5lbElkIiwiY2hhbm5lbF9pZCIsImNvbXBvbmVudHMiLCJjb21wIiwiY29tcG9uZW50IiwiY29udGVudCIsImVkaXRlZFRpbWVzdGFtcCIsImVkaXRlZF90aW1lc3RhbXAiLCJEYXRlIiwicGFyc2UiLCJlbWJlZHMiLCJlbWJlZCIsImludGVyYWN0aW9uTWV0YWRhdGEiLCJpbnRlcmFjdGlvbl9tZXRhZGF0YSIsIm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhIiwiaW50ZXJhY3Rpb24iLCJtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcyIsIm1lc3NhZ2VJbnRlcmFjdGlvbiIsIm1lbWJlciIsIm5hbWUiLCJ0eXBlIiwibWVudGlvbl9ldmVyeW9uZSIsIm1lbnRpb25lZENoYW5uZWxJZHMiLCJtZW50aW9uX2NoYW5uZWxzIiwibSIsIm1hdGNoIiwidGV4dCIsInN1YnN0cmluZyIsIm1lbnRpb25lZFJvbGVJZHMiLCJtZW50aW9uX3JvbGVzIiwiY2hhbm5lbFR5cGUiLCJjaGFubmVsX3R5cGUiLCJtZXNzYWdlUmVmZXJlbmNlIiwibWVzc2FnZV9yZWZlcmVuY2UiLCJyZWZlcmVuY2UiLCJtZXNzYWdlUmVmZXJlbmNlUHJvcHMiLCJtZXNzYWdlSWQiLCJtZXNzYWdlX2lkIiwicmVmZXJlbmNlZE1lc3NhZ2UiLCJyZWZlcmVuY2VkX21lc3NhZ2UiLCJtZXNzYWdlU25hcHNob3RzIiwibWVzc2FnZV9zbmFwc2hvdHMiLCJzbmFwIiwibWVzc2FnZVNuYXBzaG90Iiwibm9uY2UiLCJyZWFjdGlvbnMiLCJyZWFjdGlvbiIsIm1lIiwibWVCdXJzdCIsIm1lX2J1cnN0IiwiY291bnQiLCJjb3VudERldGFpbHMiLCJidXJzdCIsImNvdW50X2RldGFpbHMiLCJub3JtYWwiLCJlbW9qaSIsImJ1cnN0Q29sb3JzIiwiYnVyc3RfY29sb3JzIiwic3RpY2tlckl0ZW1zIiwic3RpY2tlcl9pdGVtcyIsIml0ZW0iLCJmb3JtYXRUeXBlIiwiZm9ybWF0X3R5cGUiLCJ0aHJlYWQiLCJjaGFubmVsIiwid2ViaG9va0lkIiwid2ViaG9va19pZCIsInBvbGwiLCJjYWxsIiwibWVzc2FnZUNhbGwiLCJjdXN0b21pemVycyIsInRyYW5zZm9ybU1lc3NhZ2VQaW4iLCJtZXNzYWdlUGluIiwicGlubmVkQXQiLCJwaW5uZWRfYXQiLCJ0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QiLCJ0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSIsIm1ldGFkYXRhIiwiYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyIsImF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVycyIsIkd1aWxkSW5zdGFsbCIsIlVzZXJJbnN0YWxsIiwib3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCIsIm9yaWdpbmFsX3Jlc3BvbnNlX21lc3NhZ2VfaWQiLCJ0YXJnZXRVc2VyIiwidGFyZ2V0X3VzZXIiLCJ0YXJnZXRNZXNzYWdlSWQiLCJ0YXJnZXRfbWVzc2FnZV9pZCIsImludGVyYWN0ZWRNZXNzYWdlSWQiLCJpbnRlcmFjdGVkX21lc3NhZ2VfaWQiLCJ0cmlnZ2VyaW5nSW50ZXJhY3Rpb25NZXRhZGF0YSIsInRyaWdnZXJpbmdfaW50ZXJhY3Rpb25fbWV0YWRhdGEiLCJ0cmFuc2Zvcm1NZXNzYWdlQ2FsbCIsInBhcnRpY2lwYW50cyIsIngiLCJlbmRlZFRpbWVzdGFtcCIsImVuZGVkX3RpbWVzdGFtcCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FDRUEsaUNBQWlDLEVBTWpDQyxZQUFZLFFBQ1Asb0JBQW9CO0FBQzNCLFNBQVNDLG9CQUFvQixRQUFRLG9CQUFvQjtBQUV6RCxTQUFTQyxxQkFBcUIsUUFBUSxrQkFBa0I7QUFFeEQsU0FBU0MsY0FBYyxRQUFRLDhCQUE4QjtBQUc3RCxNQUFNQyxlQUFlO0FBRXJCLE9BQU8sTUFBTUMsY0FBdUI7SUFDbEMsMkVBQTJFO0lBQzNFLEdBQUlDLFNBQVM7SUFFYixJQUFJQyxlQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDQyxLQUFLLEVBQUVDLFNBQVNULGFBQWFVLFdBQVcsS0FBSztJQUMzRDtJQUNBLElBQUlILGFBQVlJLE1BQWdCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUNILEtBQUssRUFBRTtRQUNqQixJQUFJRyxPQUFPLElBQUksQ0FBQ0gsS0FBSyxDQUFDSSxHQUFHLENBQUNaLGFBQWFVLFdBQVc7YUFDN0MsSUFBSSxD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
@@ -1,5 +1,6 @@
1
- import type { DiscordActivity } from '@discordeno/types';
1
+ import type { DiscordActivity, DiscordActivityAssets } from '@discordeno/types';
2
2
  import type { Bot } from '../../bot.js';
3
- import type { Activity } from '../types.js';
4
- export declare function transformActivityToDiscordActivity(_bot: Bot, payload: Activity): DiscordActivity;
3
+ import type { Activity, ActivityAssets } from '../types.js';
4
+ export declare function transformActivityToDiscordActivity(bot: Bot, payload: Activity): DiscordActivity;
5
+ export declare function transformActivityAssetsToDiscordActivityAssets(bot: Bot, payload: ActivityAssets): DiscordActivityAssets;
5
6
  //# sourceMappingURL=activity.d.ts.map
@@ -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,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE5D,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,GAAG,eAAe,CA2B/F;AAED,wBAAgB,8CAA8C,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,CAUvH"}