@discordeno/bot 21.0.0-next.2eace55 → 21.0.0-next.2f06b95

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.
@@ -105,6 +105,7 @@ export function transformInteraction(bot, payload) {
105
105
  });
106
106
  if (props.channelId && payload.interaction.channel_id) interaction.channelId = bot.transformers.snowflake(payload.interaction.channel_id);
107
107
  if (props.member && guildId && payload.interaction.member) interaction.member = bot.transformers.member(bot, payload.interaction.member, guildId, user.id);
108
+ if (props.entitlements && payload.interaction.entitlements) interaction.entitlements = payload.interaction.entitlements.map((e)=>bot.transformers.entitlement(bot, e));
108
109
  if (props.authorizingIntegrationOwners && payload.interaction.authorizing_integration_owners) {
109
110
  interaction.authorizingIntegrationOwners = {};
110
111
  if (payload.interaction.authorizing_integration_owners['0']) interaction.authorizingIntegrationOwners[DiscordApplicationIntegrationType.GuildInstall] = bot.transformers.snowflake(payload.interaction.authorizing_integration_owners['0']);
@@ -242,4 +243,4 @@ export function transformInteractionResource(bot, payload) {
242
243
  return bot.transformers.customizers.interactionResource(bot, payload.interactionResource, resource);
243
244
  }
244
245
 
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbixcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMsXG4gIEludGVyYWN0aW9uVHlwZXMsXG4gIE1lc3NhZ2VGbGFncyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7XG4gIEJvdCxcbiAgRGlzY29yZENoYW5uZWwsXG4gIEludGVyYWN0aW9uLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIEludGVyYWN0aW9uUmVzb2x2ZWRDaGFubmVsLFxuICBJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcm5hbEJvdCxcbiAgTWVtYmVyLFxuICBNZXNzYWdlLFxufSBmcm9tICcuLi9pbmRleC5qcydcblxuZXhwb3J0IGNvbnN0IGJhc2VJbnRlcmFjdGlvbjogSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydpbnRlcmFjdGlvbiddID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnaW50ZXJhY3Rpb24nXSksXG5cbiAgYXN5bmMgcmVzcG9uZChyZXNwb25zZSwgb3B0aW9ucykge1xuICAgIGxldCB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGFuIG9iamVjdCwgZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBiZSBhbiBhdXRvY29tcGxldGUgb3IgYSBtb2RhbCByZXNwb25zZVxuICAgIGlmIChyZXNwb25zZS50aXRsZSkgdHlwZSA9IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdFxuICAgIGlmICh0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlICYmIG9wdGlvbnM/LmlzUHJpdmF0ZSkge1xuICAgICAgcmVzcG9uc2UuZmxhZ3MgPz89IDBcbiAgICAgIHJlc3BvbnNlLmZsYWdzIHw9IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWxcbiAgICB9XG5cbiAgICAvLyBTaW5jZSB0aGlzIGhhcyBhbHJlYWR5IGJlZW4gZ2l2ZW4gYSByZXNwb25zZSwgYW55IGZ1cnRoZXIgcmVzcG9uc2VzIG11c3QgYmUgZm9sbG93dXBzLlxuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCByZXNwb25zZSlcblxuICAgIC8vIE1vZGFscyBjYW5ub3QgYmUgY2hhaW5lZFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQgJiYgdHlwZSA9PT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVzcG9uZCB0byBhIG1vZGFsIGludGVyYWN0aW9uIHdpdGggYW5vdGhlciBtb2RhbC4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCwgdGhpcy50b2tlbiwgeyB0eXBlLCBkYXRhOiByZXNwb25zZSB9LCB7IHdpdGhSZXNwb25zZTogb3B0aW9ucz8ud2l0aFJlc3BvbnNlIH0pXG4gIH0sXG4gIGFzeW5jIGVkaXQocmVzcG9uc2UsIG1lc3NhZ2VJZCwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICBpZiAobWVzc2FnZUlkKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZWRpdEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCBtZXNzYWdlSWQsIHJlc3BvbnNlKVxuICAgIH1cblxuICAgIGlmICghdGhpcy5hY2tub3dsZWRnZWQpIHtcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudCAmJiB0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoaXMgaW50ZXJhY3Rpb24gaGFzIG5vdCBiZWVuIHJlc3BvbmRlZCB0byB5ZXQgYW5kIHRoaXMgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IG9yIE1vZGFsU3VibWl0IGludGVyYWN0aW9uLlwiKVxuXG4gICAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKFxuICAgICAgICB0aGlzLmlkLFxuICAgICAgICB0aGlzLnRva2VuLFxuICAgICAgICB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5VcGRhdGVNZXNzYWdlLCBkYXRhOiByZXNwb25zZSB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLmVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbiwgcmVzcG9uc2UpXG4gIH0sXG4gIGFzeW5jIGRlZmVyRWRpdChvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGVkaXQgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uLicpXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWZlciBhbiBhbHJlYWR5IHJlc3BvbmRlZCBpbnRlcmFjdGlvbi4nKVxuXG4gICAgaWYgKHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50ICYmIHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdClcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBkZWZlciB0byB0aGVuIGVkaXQgYW4gaW50ZXJhY3Rpb24gdGhhdCBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgb3IgTW9kYWxTdWJtaXQgaW50ZXJhY3Rpb24uXCIpXG5cbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLmlkLCB0aGlzLnRva2VuLCB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5EZWZlcnJlZFVwZGF0ZU1lc3NhZ2UgfSwgb3B0aW9ucylcbiAgfSxcbiAgYXN5bmMgZGVmZXIoaXNQcml2YXRlLCBvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWZlciBhbiBhbHJlYWR5IHJlc3BvbmRlZCBpbnRlcmFjdGlvbi4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICB0aGlzLmlkLFxuICAgICAgdGhpcy50b2tlbixcbiAgICAgIHtcbiAgICAgICAgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZmxhZ3M6IGlzUHJpdmF0ZSA/IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwgOiB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApXG4gIH0sXG4gIGFzeW5jIGRlbGV0ZShtZXNzYWdlSWQpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVsZXRlIGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbicpXG5cbiAgICBpZiAobWVzc2FnZUlkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlRm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIG1lc3NhZ2VJZClcbiAgICBlbHNlIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5kZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbilcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb247IHNoYXJkSWQ6IG51bWJlciB9LFxuKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuaW50ZXJhY3Rpb24ge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGRfaWQpIDogdW5kZWZpbmVkXG4gIGNvbnN0IHVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uLm1lbWJlcj8udXNlciA/PyBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIhKVxuXG4gIGNvbnN0IGludGVyYWN0aW9uOiBJbnRlcmFjdGlvbiA9IE9iamVjdC5jcmVhdGUoYmFzZUludGVyYWN0aW9uKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25cbiAgLy8gVHlwZXNjcmlwdCBoYXMgYW4gaGFyZCB0aW1lIHdpdGggdGhpcywgc28gd2UgbmVlZCB0byB0ZWxsIGhpbSBmb3Igc3VyZSB0aGlzIGlzIGEgQm90XG4gIGludGVyYWN0aW9uLmJvdCA9IGJvdCBhcyB1bmtub3duIGFzIEJvdFxuICBpbnRlcmFjdGlvbi5hY2tub3dsZWRnZWQgPSBmYWxzZVxuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmlkKSBpbnRlcmFjdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uaWQpXG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwbGljYXRpb25faWQpXG4gICAgaW50ZXJhY3Rpb24uYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZSkgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZVxuICBpZiAocHJvcHMudG9rZW4gJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi50b2tlbikgaW50ZXJhY3Rpb24udG9rZW4gPSBwYXlsb2FkLmludGVyYWN0aW9uLnRva2VuXG4gIGlmIChwcm9wcy52ZXJzaW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udmVyc2lvbikgaW50ZXJhY3Rpb24udmVyc2lvbiA9IHBheWxvYWQuaW50ZXJhY3Rpb24udmVyc2lvblxuICBpZiAocHJvcHMubG9jYWxlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubG9jYWxlKSBpbnRlcmFjdGlvbi5sb2NhbGUgPSBwYXlsb2FkLmludGVyYWN0aW9uLmxvY2FsZVxuICBpZiAocHJvcHMuZ3VpbGRMb2NhbGUgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9sb2NhbGUpIGludGVyYWN0aW9uLmd1aWxkTG9jYWxlID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGQpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwYXlsb2FkLmludGVyYWN0aW9uLmd1aWxkIGlzIGEgUGFydGlhbDxEaXNjb3JkR3VpbGQ+XG4gICAgaW50ZXJhY3Rpb24uZ3VpbGQgPSBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgeyBndWlsZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZCwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG4gIGlmIChwcm9wcy5ndWlsZElkICYmIGd1aWxkSWQpIGludGVyYWN0aW9uLmd1aWxkSWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy51c2VyICYmIHVzZXIpIGludGVyYWN0aW9uLnVzZXIgPSB1c2VyXG4gIGlmIChwcm9wcy5hcHBQZXJtaXNzaW9ucyAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmFwcF9wZXJtaXNzaW9ucylcbiAgICBpbnRlcmFjdGlvbi5hcHBQZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwX3Blcm1pc3Npb25zKVxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLm1lc3NhZ2UpXG4gICAgaW50ZXJhY3Rpb24ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5tZXNzYWdlLCBzaGFyZElkOiAwIH0pXG4gIGlmIChwcm9wcy5jaGFubmVsICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uY2hhbm5lbClcbiAgICBpbnRlcmFjdGlvbi5jaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWwgYXMgRGlzY29yZENoYW5uZWwsIGd1aWxkSWQgfSlcbiAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWxfaWQpIGludGVyYWN0aW9uLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyKVxuICAgIGludGVyYWN0aW9uLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXIsIGd1aWxkSWQsIHVzZXIuaWQpXG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzKSB7XG4gICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9XG5cbiAgICBpZiAocGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLkd1aWxkSW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSxcbiAgICAgIClcbiAgICBpZiAocGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmludGVyYWN0aW9uLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKVxuICB9XG4gIGlmIChwcm9wcy5jb250ZXh0ICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uY29udGV4dCkgaW50ZXJhY3Rpb24uY29udGV4dCA9IHBheWxvYWQuaW50ZXJhY3Rpb24uY29udGV4dFxuICBpZiAocHJvcHMuYXR0YWNobWVudFNpemVMaW1pdCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmF0dGFjaG1lbnRfc2l6ZV9saW1pdClcbiAgICBpbnRlcmFjdGlvbi5hdHRhY2htZW50U2l6ZUxpbWl0ID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5hdHRhY2htZW50X3NpemVfbGltaXRcbiAgaWYgKHByb3BzLmRhdGEgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhKSB7XG4gICAgaW50ZXJhY3Rpb24uZGF0YSA9IHtcbiAgICAgIHR5cGU6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS50eXBlLFxuICAgICAgY29tcG9uZW50VHlwZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmNvbXBvbmVudF90eXBlLFxuICAgICAgY3VzdG9tSWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5jdXN0b21faWQsXG4gICAgICBjb21wb25lbnRzOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSksXG4gICAgICB2YWx1ZXM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS52YWx1ZXMsXG4gICAgICBpZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgIG5hbWU6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5uYW1lLFxuICAgICAgcmVzb2x2ZWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZFxuICAgICAgICA/IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCB7IHJlc29sdmVkOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCwgZ3VpbGRJZCB9KVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIG9wdGlvbnM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5vcHRpb25zPy5tYXAoKG9wdCkgPT4gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0KSksXG4gICAgICB0YXJnZXRJZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnRhcmdldF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS50YXJnZXRfaWQpIDogdW5kZWZpbmVkLFxuICAgIH1cbiAgfVxuXG4gIC8vIFR5cGVzY3JpcHQgaGFzIGFuIGhhcmQgdGltZSB3aXRoIGludGVyYWN0aW9uLmJvdCwgc28gd2UgbmVlZCB0byB0ZWxsIGhpbSBmb3Igc3VyZSB0aGlzIGludGVyYWN0aW9uIGlzIHRoZSBvZiB0aGUgY29ycmVjdCB0eXBlXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uKGJvdCwgcGF5bG9hZCwgaW50ZXJhY3Rpb24gYXMgdW5rbm93biBhcyB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbihib3Q6IEJvdCwgb3B0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uKTogSW50ZXJhY3Rpb25EYXRhT3B0aW9uIHtcbiAgY29uc3Qgb3B0ID0ge1xuICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxuICAgIHR5cGU6IG9wdGlvbi50eXBlLFxuICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgb3B0aW9uczogb3B0aW9uLm9wdGlvbnMsXG4gICAgZm9jdXNlZDogb3B0aW9uLmZvY3VzZWQsXG4gIH0gYXMgSW50ZXJhY3Rpb25EYXRhT3B0aW9uXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyhib3QsIG9wdGlvbiwgb3B0KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgcmVzb2x2ZWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDsgc2hhcmRJZDogbnVtYmVyOyBndWlsZElkPzogYmlnaW50IH0sXG4pOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCB7XG4gIGNvbnN0IHRyYW5zZm9ybWVkOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCA9IHt9XG5cbiAgaWYgKHBheWxvYWQucmVzb2x2ZWQubWVzc2FnZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZXNzYWdlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5tZXNzYWdlcykubWFwKChbX2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogdmFsdWUsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCB9KVxuICAgICAgICByZXR1cm4gW21lc3NhZ2UuaWQsIG1lc3NhZ2VdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC5yZXNvbHZlZC51c2Vycykge1xuICAgIHRyYW5zZm9ybWVkLnVzZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnJlc29sdmVkLnVzZXJzKS5tYXAoKFtfaWQsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCB1c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgdmFsdWUpXG4gICAgICAgIHJldHVybiBbdXNlci5pZCwgdXNlcl1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLmd1aWxkSWQgJiYgcGF5bG9hZC5yZXNvbHZlZC5tZW1iZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5tZW1iZXJzKS5tYXAoKFtpZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbWJlcjogTWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCB2YWx1ZSwgcGF5bG9hZC5ndWlsZElkISwgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKVxuICAgICAgICByZXR1cm4gW21lbWJlci5pZCwgbWVtYmVyXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQuZ3VpbGRJZCAmJiBwYXlsb2FkLnJlc29sdmVkLnJvbGVzKSB7XG4gICAgdHJhbnNmb3JtZWQucm9sZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQucm9sZXMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvbGUgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGU6IHZhbHVlLCBndWlsZElkOiBwYXlsb2FkLmd1aWxkSWQhIH0pXG4gICAgICAgIHJldHVybiBbcm9sZS5pZCwgcm9sZV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnJlc29sdmVkLmNoYW5uZWxzKSB7XG4gICAgdHJhbnNmb3JtZWQuY2hhbm5lbHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQuY2hhbm5lbHMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5uZWwgPSBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHZhbHVlIH0pIGFzIEludGVyYWN0aW9uUmVzb2x2ZWRDaGFubmVsXG4gICAgICAgIHJldHVybiBbY2hhbm5lbC5pZCwgY2hhbm5lbF1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnJlc29sdmVkLmF0dGFjaG1lbnRzKSB7XG4gICAgdHJhbnNmb3JtZWQuYXR0YWNobWVudHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQuYXR0YWNobWVudHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuICAgICAgICByZXR1cm4gW2lkLCBib3QudHJhbnNmb3JtZXJzLmF0dGFjaG1lbnQoYm90LCB2YWx1ZSldXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQsIHRyYW5zZm9ybWVkKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTsgc2hhcmRJZDogbnVtYmVyIH0sXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG4gIGNvbnN0IHJlc3BvbnNlID0ge30gYXMgSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG5cbiAgaWYgKHByb3BzLmludGVyYWN0aW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLmludGVyYWN0aW9uKVxuICAgIHJlc3BvbnNlLmludGVyYWN0aW9uID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkNhbGxiYWNrKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UuaW50ZXJhY3Rpb24pXG4gIGlmIChwcm9wcy5yZXNvdXJjZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZS5yZXNvdXJjZSlcbiAgICByZXNwb25zZS5yZXNvdXJjZSA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25SZXNvdXJjZShib3QsIHtcbiAgICAgIGludGVyYWN0aW9uUmVzb3VyY2U6IHBheWxvYWQuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLnJlc291cmNlLFxuICAgICAgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkLFxuICAgIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsIHJlc3BvbnNlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayhcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbkNhbGxiYWNrIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uQ2FsbGJhY2tcbiAgY29uc3QgY2FsbGJhY2sgPSB7fSBhcyBJbnRlcmFjdGlvbkNhbGxiYWNrXG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNhbGxiYWNrLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZClcbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBjYWxsYmFjay50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlSWQgJiYgcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZV9pZCkgY2FsbGJhY2suYWN0aXZpdHlJbnN0YW5jZUlkID0gcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZV9pZFxuICBpZiAocHJvcHMucmVzcG9uc2VNZXNzYWdlSWQgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2lkKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9pZClcbiAgaWYgKHByb3BzLnJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwgPSBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsXG4gIGlmIChwcm9wcy5yZXNwb25zZU1lc3NhZ2VMb2FkaW5nICYmIHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9sb2FkaW5nKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VMb2FkaW5nID0gcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2xvYWRpbmdcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkNhbGxiYWNrKGJvdCwgcGF5bG9hZCwgY2FsbGJhY2spXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uUmVzb3VyY2U6IERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlOyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uUmVzb3VyY2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25SZXNvdXJjZVxuICBjb25zdCByZXNvdXJjZSA9IHt9IGFzIEludGVyYWN0aW9uUmVzb3VyY2VcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uUmVzb3VyY2UudHlwZSkgcmVzb3VyY2UudHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5hY3Rpdml0eV9pbnN0YW5jZSlcbiAgICByZXNvdXJjZS5hY3Rpdml0eUluc3RhbmNlID0gcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLmFjdGl2aXR5X2luc3RhbmNlXG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5tZXNzYWdlKVxuICAgIHJlc291cmNlLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB7IG1lc3NhZ2U6IHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5tZXNzYWdlLCBzaGFyZElkOiBwYXlsb2FkLnNoYXJkSWQgfSlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvblJlc291cmNlKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLCByZXNvdXJjZSlcbn1cbiJdLCJuYW1lcyI6WyJEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUiLCJJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMiLCJJbnRlcmFjdGlvblR5cGVzIiwiTWVzc2FnZUZsYWdzIiwiQ29sbGVjdGlvbiIsImJhc2VJbnRlcmFjdGlvbiIsInVuZGVmaW5lZCIsInJlc3BvbmQiLCJyZXNwb25zZSIsIm9wdGlvbnMiLCJ0eXBlIiwiQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlIiwiY29udGVudCIsInRpdGxlIiwiTW9kYWwiLCJBcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUiLCJBcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGVSZXN1bHQiLCJpc1ByaXZhdGUiLCJmbGFncyIsIkVwaGVtZXJhbCIsImFja25vd2xlZGdlZCIsImJvdCIsImhlbHBlcnMiLCJzZW5kRm9sbG93dXBNZXNzYWdlIiwidG9rZW4iLCJNb2RhbFN1Ym1pdCIsIkVycm9yIiwic2VuZEludGVyYWN0aW9uUmVzcG9uc2UiLCJpZCIsImRhdGEiLCJ3aXRoUmVzcG9uc2UiLCJlZGl0IiwibWVzc2FnZUlkIiwiZWRpdEZvbGxvd3VwTWVzc2FnZSIsIk1lc3NhZ2VDb21wb25lbnQiLCJVcGRhdGVNZXNzYWdlIiwiZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsImRlZmVyRWRpdCIsIkRlZmVycmVkVXBkYXRlTWVzc2FnZSIsImRlZmVyIiwiRGVmZXJyZWRDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UiLCJkZWxldGUiLCJkZWxldGVGb2xsb3d1cE1lc3NhZ2UiLCJkZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbiIsInBheWxvYWQiLCJndWlsZElkIiwiaW50ZXJhY3Rpb24iLCJndWlsZF9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVzZXIiLCJtZW1iZXIiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwidmVyc2lvbiIsImxvY2FsZSIsImd1aWxkTG9jYWxlIiwiZ3VpbGRfbG9jYWxlIiwiZ3VpbGQiLCJzaGFyZElkIiwiYXBwUGVybWlzc2lvbnMiLCJhcHBfcGVybWlzc2lvbnMiLCJtZXNzYWdlIiwiY2hhbm5lbCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzIiwiYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzIiwiR3VpbGRJbnN0YWxsIiwiVXNlckluc3RhbGwiLCJjb250ZXh0IiwiYXR0YWNobWVudFNpemVMaW1pdCIsImF0dGFjaG1lbnRfc2l6ZV9saW1pdCIsImNvbXBvbmVudFR5cGUiLCJjb21wb25lbnRfdHlwZSIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwiY29tcG9uZW50cyIsIm1hcCIsImNvbXBvbmVudCIsInZhbHVlcyIsIm5hbWUiLCJyZXNvbHZlZCIsImludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwib3B0IiwiaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyIsInRhcmdldElkIiwidGFyZ2V0X2lkIiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24iLCJvcHRpb24iLCJ2YWx1ZSIsImZvY3VzZWQiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsInRyYW5zZm9ybWVkIiwibWVzc2FnZXMiLCJlbnRyaWVzIiwiX2lkIiwidXNlcnMiLCJtZW1iZXJzIiwicm9sZXMiLCJyb2xlIiwiY2hhbm5lbHMiLCJhdHRhY2htZW50cyIsImtleSIsImF0dGFjaG1lbnQiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkNhbGxiYWNrIiwicmVzb3VyY2UiLCJpbnRlcmFjdGlvblJlc291cmNlIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayIsImNhbGxiYWNrIiwiYWN0aXZpdHlJbnN0YW5jZUlkIiwiYWN0aXZpdHlfaW5zdGFuY2VfaWQiLCJyZXNwb25zZU1lc3NhZ2VJZCIsInJlc3BvbnNlX21lc3NhZ2VfaWQiLCJyZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwiLCJyZXNwb25zZV9tZXNzYWdlX2VwaGVtZXJhbCIsInJlc3BvbnNlTWVzc2FnZUxvYWRpbmciLCJyZXNwb25zZV9tZXNzYWdlX2xvYWRpbmciLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlIiwiYWN0aXZpdHlJbnN0YW5jZSIsImFjdGl2aXR5X2luc3RhbmNlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUNFQSxpQ0FBaUMsRUFPakNDLHdCQUF3QixFQUN4QkMsZ0JBQWdCLEVBQ2hCQyxZQUFZLFFBQ1Asb0JBQW1CO0FBQzFCLFNBQVNDLFVBQVUsUUFBUSxvQkFBbUI7QUFnQjlDLE9BQU8sTUFBTUMsa0JBQWdGO0lBQzNGLDJFQUEyRTtJQUMzRSxHQUFJQyxTQUFTO0lBRWIsTUFBTUMsU0FBUUMsUUFBUSxFQUFFQyxPQUFPO1FBQzdCLElBQUlDLE9BQU9ULHlCQUF5QlUsd0JBQXdCO1FBRTVELDREQUE0RDtRQUM1RCxJQUFJLE9BQU9ILGFBQWEsVUFBVUEsV0FBVztZQUFFSSxTQUFTSjtRQUFTO1FBRWpFLDRGQUE0RjtRQUM1RixJQUFJQSxTQUFTSyxLQUFLLEVBQUVILE9BQU9ULHlCQUF5QmEsS0FBSztRQUN6RCxJQUFJLElBQUksQ0FBQ0osSUFBSSxLQUFLUixpQkFBaUJhLDhCQUE4QixFQUFFTCxPQUFPVCx5QkFBeUJlLG9DQUFvQztRQUN2SSxJQUFJTixTQUFTVCx5QkFBeUJVLHdCQUF3QixJQUFJRixTQUFTUSxXQUFXO1lBQ3BGVCxTQUFTVSxLQUFLLEtBQUs7WUFDbkJWLFNBQVNVLEtBQUssSUFBSWYsYUFBYWdCLFNBQVM7UUFDMUM7UUFFQSx5RkFBeUY7UUFDekYsSUFBSSxJQUFJLENBQUNDLFlBQVksRUFBRSxPQUFPLE1BQU0sSUFBSSxDQUFDQyxHQUFHLENBQUNDLE9BQU8sQ0FBQ0MsbUJBQW1CLENBQUMsSUFBSSxDQUFDQyxLQUFLLEVBQUVoQjtRQUVyRiwyQkFBMkI7UUFDM0IsSUFBSSxJQUFJLENBQUNFLElBQUksS0FBS1IsaUJBQWlCdUIsV0FBVyxJQUFJZixTQUFTVCx5QkFBeUJhLEtBQUssRUFDdkYsTUFBTSxJQUFJWSxNQUFNO1FBRWxCLElBQUksQ0FBQ04sWUFBWSxHQUFHO1FBQ3BCLE9BQU8sTUFBTSxJQUFJLENBQUNDLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDSyx1QkFBdUIsQ0FBQyxJQUFJLENBQUNDLEVBQUUsRUFBRSxJQUFJLENBQUNKLEtBQUssRUFBRTtZQUFFZDtZQUFNbUIsTUFBTXJCO1FBQVMsR0FBRztZQUFFc0IsY0FBY3JCLFNBQVNxQjtRQUFhO0lBQzdJO0lBQ0EsTUFBTUMsTUFBS3ZCLFFBQVEsRUFBRXdCLFNBQVMsRUFBRXZCLE9BQU87UUFDckMsSUFBSSxJQUFJLENBQUNDLElBQUksS0FBS1IsaUJBQWlCYSw4QkFBOEIsRUFBRSxNQUFNLElBQUlXLE1BQU07UUFFbkYsNERBQTREO1FBQzVELElBQUksT0FBT2xCLGFBQWEsVUFBVUEsV0FBVztZQUFFSSxTQUFTSjtRQUFTO1FBRWpFLElBQUl3QixXQUFXO1lBQ2IsT0FBTyxNQUFNLElBQUksQ0FBQ1gsR0FBRyxFQUFFQyxRQUFRVyxvQkFBb0IsSUFBSSxDQUFDVCxLQUFLLEVBQUVRLFdBQVd4QjtRQUM1RTtRQUVBLElBQUksQ0FBQyxJQUFJLENBQUNZLFlBQVksRUFBRTtZQUN0QixJQUFJLElBQUksQ0FBQ1YsSUFBSSxLQUFLUixpQkFBaUJnQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUN4QixJQUFJLEtBQUtSLGlCQUFpQnVCLFdBQVcsRUFDL0YsTUFBTSxJQUFJQyxNQUFNO1lBRWxCLElBQUksQ0FBQ04sWUFBWSxHQUFHO1lBQ3BCLE9BQU8sTUFBTSxJQUFJLENBQUNDLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDSyx1QkFBdUIsQ0FDbkQsSUFBSSxDQUFDQyxFQUFFLEVBQ1AsSUFBSSxDQUFDSixLQUFLLEVBQ1Y7Z0JBQUVkLE1BQU1ULHlCQUF5QmtDLGFBQWE7Z0JBQUVOLE1BQU1yQjtZQUFTLEdBQy9EQztRQUVKO1FBRUEsT0FBTyxNQUFNLElBQUksQ0FBQ1ksR0FBRyxDQUFDQyxPQUFPLENBQUNjLCtCQUErQixDQUFDLElBQUksQ0FBQ1osS0FBSyxFQUFFaEI7SUFDNUU7SUFDQSxNQUFNNkIsV0FBVTVCLE9BQU87UUFDckIsSUFBSSxJQUFJLENBQUNDLElBQUksS0FBS1IsaUJBQWlCYSw4QkFBOEIsRUFBRSxNQUFNLElBQUlXLE1BQU07UUFDbkYsSUFBSSxJQUFJLENBQUNOLFlBQVksRUFBRSxNQUFNLElBQUlNLE1BQU07UUFFdkMsSUFBSSxJQUFJLENBQUNoQixJQUFJLEtBQUtSLGlCQUFpQmdDLGdCQUFnQixJQUFJLElBQUksQ0FBQ3hCLElBQUksS0FBS1IsaUJBQWlCdUIsV0FBVyxFQUMvRixNQUFNLElBQUlDLE1BQU07UUFFbEIsSUFBSSxDQUFDTixZQUFZLEdBQUc7UUFDcEIsT0FBTyxNQUFNLElBQUksQ0FBQ0MsR0FBRyxDQUFDQyxPQUFPLENBQUNLLHVCQUF1QixDQUFDLElBQUksQ0FBQ0MsRUFBRSxFQUFFLElBQUksQ0FBQ0osS0FBSyxFQUFFO1lBQUVkLE1BQU1ULHlCQUF5QnFDLHFCQUFxQjtRQUFDLEdBQUc3QjtJQUN2STtJQUNBLE1BQU04QixPQUFNdEIsU0FBUyxFQUFFUixPQUFPO1FBQzVCLElBQUksSUFBSSxDQUFDVyxZQUFZLEVBQUUsTUFBTSxJQUFJTSxNQUFNO1FBRXZDLElBQUksQ0FBQ04sWUFBWSxHQUFHO1FBQ3BCLE9BQU8sTUFBTSxJQUFJLENBQUNDLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDSyx1QkFBdUIsQ0FDbkQsSUFBSSxDQUFDQyxFQUFFLEVBQ1AsSUFBSSxDQUFDSixLQUFLLEVBQ1Y7WUFDRWQsTUFBTVQseUJBQXlCdUMsZ0NBQWdDO1lBQy9EWCxNQUFNO2dCQUNKWCxPQUFPRCxZQUFZZCxhQUFhZ0IsU0FBUyxHQUFHYjtZQUM5QztRQUNGLEdBQ0FHO0lBRUo7SUFDQSxNQUFNZ0MsUUFBT1QsU0FBUztRQUNwQixJQUFJLElBQUksQ0FBQ3RCLElBQUksS0FBS1IsaUJBQWlCYSw4QkFBOEIsRUFBRSxNQUFNLElBQUlXLE1BQU07UUFFbkYsSUFBSU0sV0FBVyxPQUFPLE1BQU0sSUFBSSxDQUFDWCxHQUFHLEVBQUVDLFFBQVFvQixzQkFBc0IsSUFBSSxDQUFDbEIsS0FBSyxFQUFFUTthQUMzRSxPQUFPLE1BQU0sSUFBSSxDQUFDWCxHQUFHLEVBQUVDLFFBQVFxQixrQ0FBa0MsSUFBSSxDQUFDbkIsS0FBSztJQUNsRjtBQUNGLEVBQUM7QUFFRCxPQUFPLFNBQVNvQixxQkFDZHZCLEdBQWdCLEVBQ2hCd0IsT0FBNkQ7SUFFN0QsTUFBTUMsVUFBVUQsUUFBUUUsV0FBVyxDQUFDQyxRQUFRLEdBQUczQixJQUFJNEIsWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFFLFdBQVcsQ0FBQ0MsUUFBUSxJQUFJMUM7SUFDMUcsTUFBTTZDLE9BQU85QixJQUFJNEIsWUFBWSxDQUFDRSxJQUFJLENBQUM5QixLQUFLd0IsUUFBUUUsV0FBVyxDQUFDSyxNQUFNLEVBQUVELFFBQVFOLFFBQVFFLFdBQVcsQ0FBQ0ksSUFBSTtJQUVwRyxNQUFNSixjQUEyQk0sT0FBT0MsTUFBTSxDQUFDakQ7SUFDL0MsTUFBTWtELFFBQVFsQyxJQUFJNEIsWUFBWSxDQUFDTyxpQkFBaUIsQ0FBQ1QsV0FBVztJQUM1RCx1RkFBdUY7SUFDdkZBLFlBQVkxQixHQUFHLEdBQUdBO0lBQ2xCMEIsWUFBWTNCLFlBQVksR0FBRztJQUUzQixJQUFJbUMsTUFBTTNCLEVBQUUsSUFBSWlCLFFBQVFFLFdBQVcsQ0FBQ25CLEVBQUUsRUFBRW1CLFlBQVluQixFQUFFLEdBQUdQLElBQUk0QixZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUUUsV0FBVyxDQUFDbkIsRUFBRTtJQUMxRyxJQUFJMkIsTUFBTUUsYUFBYSxJQUFJWixRQUFRRSxXQUFXLENBQUNXLGNBQWMsRUFDM0RYLFlBQVlVLGFBQWEsR0FBR3BDLElBQUk0QixZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUUUsV0FBVyxDQUFDVyxjQUFjO0lBQzNGLElBQUlILE1BQU03QyxJQUFJLElBQUltQyxRQUFRRSxXQUFXLENBQUNyQyxJQUFJLEVBQUVxQyxZQUFZckMsSUFBSSxHQUFHbUMsUUFBUUUsV0FBVyxDQUFDckMsSUFBSTtJQUN2RixJQUFJNkMsTUFBTS9CLEtBQUssSUFBSXFCLFFBQVFFLFdBQVcsQ0FBQ3ZCLEtBQUssRUFBRXVCLFlBQVl2QixLQUFLLEdBQUdxQixRQUFRRSxXQUFXLENBQUN2QixLQUFLO0lBQzNGLElBQUkrQixNQUFNSSxPQUFPLElBQUlkLFFBQVFFLFdBQVcsQ0FBQ1ksT0FBTyxFQUFFWixZQUFZWSxPQUFPLEdBQUdkLFFBQVFFLFdBQVcsQ0FBQ1ksT0FBTztJQUNuRyxJQUFJSixNQUFNSyxNQUFNLElBQUlmLFFBQVFFLFdBQVcsQ0FBQ2EsTUFBTSxFQUFFYixZQUFZYSxNQUFNLEdBQUdmLFFBQVFFLFdBQVcsQ0FBQ2EsTUFBTTtJQUMvRixJQUFJTCxNQUFNTSxXQUFXLElBQUloQixRQUFRRSxXQUFXLENBQUNlLFlBQVksRUFBRWYsWUFBWWMsV0FBVyxHQUFHaEIsUUFBUUUsV0FBVyxDQUFDZSxZQUFZO0lBQ3JILElBQUlQLE1BQU1RLEtBQUssSUFBSWxCLFFBQVFFLFdBQVcsQ0FBQ2dCLEtBQUssRUFDMUMsd0VBQXdFO0lBQ3hFaEIsWUFBWWdCLEtBQUssR0FBRzFDLElBQUk0QixZQUFZLENBQUNjLEtBQUssQ0FBQzFDLEtBQUs7UUFBRTBDLE9BQU9sQixRQUFRRSxXQUFXLENBQUNnQixLQUFLO1FBQUVDLFNBQVNuQixRQUFRbUIsT0FBTztJQUFDO0lBQy9HLElBQUlULE1BQU1ULE9BQU8sSUFBSUEsU0FBU0MsWUFBWUQsT0FBTyxHQUFHQTtJQUNwRCxJQUFJUyxNQUFNSixJQUFJLElBQUlBLE1BQU1KLFlBQVlJLElBQUksR0FBR0E7SUFDM0MsSUFBSUksTUFBTVUsY0FBYyxJQUFJcEIsUUFBUUUsV0FBVyxDQUFDbUIsZUFBZSxFQUM3RG5CLFlBQVlrQixjQUFjLEdBQUc1QyxJQUFJNEIsWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFFLFdBQVcsQ0FBQ21CLGVBQWU7SUFDN0YsSUFBSVgsTUFBTVksT0FBTyxJQUFJdEIsUUFBUUUsV0FBVyxDQUFDb0IsT0FBTyxFQUM5Q3BCLFlBQVlvQixPQUFPLEdBQUc5QyxJQUFJNEIsWUFBWSxDQUFDa0IsT0FBTyxDQUFDOUMsS0FBSztRQUFFOEMsU0FBU3RCLFFBQVFFLFdBQVcsQ0FBQ29CLE9BQU87UUFBRUgsU0FBUztJQUFFO0lBQ3pHLElBQUlULE1BQU1hLE9BQU8sSUFBSXZCLFFBQVFFLFdBQVcsQ0FBQ3FCLE9BQU8sRUFDOUNyQixZQUFZcUIsT0FBTyxHQUFHL0MsSUFBSTRCLFlBQVksQ0FBQ21CLE9BQU8sQ0FBQy9DLEtBQUs7UUFBRStDLFNBQVN2QixRQUFRRSxXQUFXLENBQUNxQixPQUFPO1FBQW9CdEI7SUFBUTtJQUN4SCxJQUFJUyxNQUFNYyxTQUFTLElBQUl4QixRQUFRRSxXQUFXLENBQUN1QixVQUFVLEVBQUV2QixZQUFZc0IsU0FBUyxHQUFHaEQsSUFBSTRCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRRSxXQUFXLENBQUN1QixVQUFVO0lBQ3hJLElBQUlmLE1BQU1ILE1BQU0sSUFBSU4sV0FBV0QsUUFBUUUsV0FBVyxDQUFDSyxNQUFNLEVBQ3ZETCxZQUFZSyxNQUFNLEdBQUcvQixJQUFJNEIsWUFBWSxDQUFDRyxNQUFNLENBQUMvQixLQUFLd0IsUUFBUUUsV0FBVyxDQUFDSyxNQUFNLEVBQUVOLFNBQVNLLEtBQUt2QixFQUFFO0lBQ2hHLElBQUkyQixNQUFNZ0IsNEJBQTRCLElBQUkxQixRQUFRRSxXQUFXLENBQUN5Qiw4QkFBOEIsRUFBRTtRQUM1RnpCLFlBQVl3Qiw0QkFBNEIsR0FBRyxDQUFDO1FBRTVDLElBQUkxQixRQUFRRSxXQUFXLENBQUN5Qiw4QkFBOEIsQ0FBQyxJQUFJLEVBQ3pEekIsWUFBWXdCLDRCQUE0QixDQUFDdkUsa0NBQWtDeUUsWUFBWSxDQUFDLEdBQUdwRCxJQUFJNEIsWUFBWSxDQUFDQyxTQUFTLENBQ25ITCxRQUFRRSxXQUFXLENBQUN5Qiw4QkFBOEIsQ0FBQyxJQUFJO1FBRTNELElBQUkzQixRQUFRRSxXQUFXLENBQUN5Qiw4QkFBOEIsQ0FBQyxJQUFJLEVBQ3pEekIsWUFBWXdCLDRCQUE0QixDQUFDdkUsa0NBQWtDMEUsV0FBVyxDQUFDLEdBQUdyRCxJQUFJNEIsWUFBWSxDQUFDQyxTQUFTLENBQ2xITCxRQUFRRSxXQUFXLENBQUN5Qiw4QkFBOEIsQ0FBQyxJQUFJO0lBRTdEO0lBQ0EsSUFBSWpCLE1BQU1vQixPQUFPLElBQUk5QixRQUFRRSxXQUFXLENBQUM0QixPQUFPLEVBQUU1QixZQUFZNEIsT0FBTyxHQUFHOUIsUUFBUUUsV0FBVyxDQUFDNEIsT0FBTztJQUNuRyxJQUFJcEIsTUFBTXFCLG1CQUFtQixJQUFJL0IsUUFBUUUsV0FBVyxDQUFDOEIscUJBQXFCLEVBQ3hFOUIsWUFBWTZCLG1CQUFtQixHQUFHL0IsUUFBUUUsV0FBVyxDQUFDOEIscUJBQXFCO0lBQzdFLElBQUl0QixNQUFNMUIsSUFBSSxJQUFJZ0IsUUFBUUUsV0FBVyxDQUFDbEIsSUFBSSxFQUFFO1FBQzFDa0IsWUFBWWxCLElBQUksR0FBRztZQUNqQm5CLE1BQU1tQyxRQUFRRSxXQUFXLENBQUNsQixJQUFJLENBQUNuQixJQUFJO1lBQ25Db0UsZUFBZWpDLFFBQVFFLFdBQVcsQ0FBQ2xCLElBQUksQ0FBQ2tELGNBQWM7WUFDdERDLFVBQVVuQyxRQUFRRSxXQUFXLENBQUNsQixJQUFJLENBQUNvRCxTQUFTO1lBQzVDQyxZQUFZckMsUUFBUUUsV0FBVyxDQUFDbEIsSUFBSSxDQUFDcUQsVUFBVSxFQUFFQyxJQUFJLENBQUNDLFlBQWMvRCxJQUFJNEIsWUFBWSxDQUFDbUMsU0FBUyxDQUFDL0QsS0FBSytEO1lBQ3BHQyxRQUFReEMsUUFBUUUsV0FBVyxDQUFDbEIsSUFBSSxDQUFDd0QsTUFBTTtZQUN2Q3pELElBQUlpQixRQUFRRSxXQUFXLENBQUNsQixJQUFJLENBQUNELEVBQUUsR0FBR1AsSUFBSTRCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRRSxXQUFXLENBQUNsQixJQUFJLENBQUNELEVBQUUsSUFBSXRCO1lBQzVGZ0YsTUFBTXpDLFFBQVFFLFdBQVcsQ0FBQ2xCLElBQUksQ0FBQ3lELElBQUk7WUFDbkNDLFVBQVUxQyxRQUFRRSxXQUFXLENBQUNsQixJQUFJLENBQUMwRCxRQUFRLEdBQ3ZDbEUsSUFBSTRCLFlBQVksQ0FBQ3VDLHVCQUF1QixDQUFDbkUsS0FBSztnQkFBRWtFLFVBQVUxQyxRQUFRRSxXQUFXLENBQUNsQixJQUFJLENBQUMwRCxRQUFRO2dCQUFFdkIsU0FBU25CLFFBQVFtQixPQUFPO2dCQUFFbEI7WUFBUSxLQUMvSHhDO1lBQ0pHLFNBQVNvQyxRQUFRRSxXQUFXLENBQUNsQixJQUFJLENBQUNwQixPQUFPLEVBQUUwRSxJQUFJLENBQUNNLE1BQVFwRSxJQUFJNEIsWUFBWSxDQUFDeUMsc0JBQXNCLENBQUNyRSxLQUFLb0U7WUFDckdFLFVBQVU5QyxRQUFRRSxXQUFXLENBQUNsQixJQUFJLENBQUMrRCxTQUFTLEdBQUd2RSxJQUFJNEIsWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFFLFdBQVcsQ0FBQ2xCLElBQUksQ0FBQytELFNBQVMsSUFBSXRGO1FBQ2xIO0lBQ0Y7SUFFQSxnSUFBZ0k7SUFDaEksT0FBT2UsSUFBSTRCLFlBQVksQ0FBQzRDLFdBQVcsQ0FBQzlDLFdBQVcsQ0FBQzFCLEtBQUt3QixTQUFTRTtBQUNoRTtBQUVBLE9BQU8sU0FBUytDLCtCQUErQnpFLEdBQVEsRUFBRTBFLE1BQW9DO0lBQzNGLE1BQU1OLE1BQU07UUFDVkgsTUFBTVMsT0FBT1QsSUFBSTtRQUNqQjVFLE1BQU1xRixPQUFPckYsSUFBSTtRQUNqQnNGLE9BQU9ELE9BQU9DLEtBQUs7UUFDbkJ2RixTQUFTc0YsT0FBT3RGLE9BQU87UUFDdkJ3RixTQUFTRixPQUFPRSxPQUFPO0lBQ3pCO0lBRUEsT0FBTzVFLElBQUk0QixZQUFZLENBQUM0QyxXQUFXLENBQUNILHNCQUFzQixDQUFDckUsS0FBSzBFLFFBQVFOO0FBQzFFO0FBRUEsT0FBTyxTQUFTUyxpQ0FDZDdFLEdBQWdCLEVBQ2hCd0IsT0FBd0Y7SUFFeEYsTUFBTXNELGNBQXVDLENBQUM7SUFFOUMsSUFBSXRELFFBQVEwQyxRQUFRLENBQUNhLFFBQVEsRUFBRTtRQUM3QkQsWUFBWUMsUUFBUSxHQUFHLElBQUloRyxXQUN6QmlELE9BQU9nRCxPQUFPLENBQUN4RCxRQUFRMEMsUUFBUSxDQUFDYSxRQUFRLEVBQUVqQixHQUFHLENBQUMsQ0FBQyxDQUFDbUIsS0FBS04sTUFBTTtZQUN6RCxNQUFNN0IsVUFBbUI5QyxJQUFJNEIsWUFBWSxDQUFDa0IsT0FBTyxDQUFDOUMsS0FBSztnQkFBRThDLFNBQVM2QjtnQkFBT2hDLFNBQVNuQixRQUFRbUIsT0FBTztZQUFDO1lBQ2xHLE9BQU87Z0JBQUNHLFFBQVF2QyxFQUFFO2dCQUFFdUM7YUFBUTtRQUM5QjtJQUVKO0lBRUEsSUFBSXRCLFFBQVEwQyxRQUFRLENBQUNnQixLQUFLLEVBQUU7UUFDMUJKLFlBQVlJLEtBQUssR0FBRyxJQUFJbkcsV0FDdEJpRCxPQUFPZ0QsT0FBTyxDQUFDeEQsUUFBUTBDLFFBQVEsQ0FBQ2dCLEtBQUssRUFBRXBCLEdBQUcsQ0FBQyxDQUFDLENBQUNtQixLQUFLTixNQUFNO1lBQ3RELE1BQU03QyxPQUFPOUIsSUFBSTRCLFlBQVksQ0FBQ0UsSUFBSSxDQUFDOUIsS0FBSzJFO1lBQ3hDLE9BQU87Z0JBQUM3QyxLQUFLdkIsRUFBRTtnQkFBRXVCO2FBQUs7UUFDeEI7SUFFSjtJQUVBLElBQUlOLFFBQVFDLE9BQU8sSUFBSUQsUUFBUTBDLFFBQVEsQ0FBQ2lCLE9BQU8sRUFBRTtRQUMvQ0wsWUFBWUssT0FBTyxHQUFHLElBQUlwRyxXQUN4QmlELE9BQU9nRCxPQUFPLENBQUN4RCxRQUFRMEMsUUFBUSxDQUFDaUIsT0FBTyxFQUFFckIsR0FBRyxDQUFDLENBQUMsQ0FBQ3ZELElBQUlvRSxNQUFNO1lBQ3ZELE1BQU01QyxTQUFpQi9CLElBQUk0QixZQUFZLENBQUNHLE1BQU0sQ0FBQy9CLEtBQUsyRSxPQUFPbkQsUUFBUUMsT0FBTyxFQUFHekIsSUFBSTRCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDdEI7WUFDeEcsT0FBTztnQkFBQ3dCLE9BQU94QixFQUFFO2dCQUFFd0I7YUFBTztRQUM1QjtJQUVKO0lBRUEsSUFBSVAsUUFBUUMsT0FBTyxJQUFJRCxRQUFRMEMsUUFBUSxDQUFDa0IsS0FBSyxFQUFFO1FBQzdDTixZQUFZTSxLQUFLLEdBQUcsSUFBSXJHLFdBQ3RCaUQsT0FBT2dELE9BQU8sQ0FBQ3hELFFBQVEwQyxRQUFRLENBQUNrQixLQUFLLEVBQUV0QixHQUFHLENBQUMsQ0FBQyxDQUFDbUIsS0FBS04sTUFBTTtZQUN0RCxNQUFNVSxPQUFPckYsSUFBSTRCLFlBQVksQ0FBQ3lELElBQUksQ0FBQ3JGLEtBQUs7Z0JBQUVxRixNQUFNVjtnQkFBT2xELFNBQVNELFFBQVFDLE9BQU87WUFBRTtZQUNqRixPQUFPO2dCQUFDNEQsS0FBSzlFLEVBQUU7Z0JBQUU4RTthQUFLO1FBQ3hCO0lBRUo7SUFFQSxJQUFJN0QsUUFBUTBDLFFBQVEsQ0FBQ29CLFFBQVEsRUFBRTtRQUM3QlIsWUFBWVEsUUFBUSxHQUFHLElBQUl2RyxXQUN6QmlELE9BQU9nRCxPQUFPLENBQUN4RCxRQUFRMEMsUUFBUSxDQUFDb0IsUUFBUSxFQUFFeEIsR0FBRyxDQUFDLENBQUMsQ0FBQ21CLEtBQUtOLE1BQU07WUFDekQsTUFBTTVCLFVBQVUvQyxJQUFJNEIsWUFBWSxDQUFDbUIsT0FBTyxDQUFDL0MsS0FBSztnQkFBRStDLFNBQVM0QjtZQUFNO1lBQy9ELE9BQU87Z0JBQUM1QixRQUFReEMsRUFBRTtnQkFBRXdDO2FBQVE7UUFDOUI7SUFFSjtJQUVBLElBQUl2QixRQUFRMEMsUUFBUSxDQUFDcUIsV0FBVyxFQUFFO1FBQ2hDVCxZQUFZUyxXQUFXLEdBQUcsSUFBSXhHLFdBQzVCaUQsT0FBT2dELE9BQU8sQ0FBQ3hELFFBQVEwQyxRQUFRLENBQUNxQixXQUFXLEVBQUV6QixHQUFHLENBQUMsQ0FBQyxDQUFDMEIsS0FBS2IsTUFBTTtZQUM1RCxNQUFNcEUsS0FBS1AsSUFBSTRCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDMkQ7WUFDdEMsT0FBTztnQkFBQ2pGO2dCQUFJUCxJQUFJNEIsWUFBWSxDQUFDNkQsVUFBVSxDQUFDekYsS0FBSzJFO2FBQU87UUFDdEQ7SUFFSjtJQUVBLE9BQU8zRSxJQUFJNEIsWUFBWSxDQUFDNEMsV0FBVyxDQUFDTCx1QkFBdUIsQ0FBQ25FLEtBQUt3QixTQUFTc0Q7QUFDNUU7QUFFQSxPQUFPLFNBQVNZLHFDQUNkMUYsR0FBZ0IsRUFDaEJ3QixPQUE2RjtJQUU3RixNQUFNVSxRQUFRbEMsSUFBSTRCLFlBQVksQ0FBQ08saUJBQWlCLENBQUN3RCwyQkFBMkI7SUFDNUUsTUFBTXhHLFdBQVcsQ0FBQztJQUVsQixJQUFJK0MsTUFBTVIsV0FBVyxJQUFJRixRQUFRbUUsMkJBQTJCLENBQUNqRSxXQUFXLEVBQ3RFdkMsU0FBU3VDLFdBQVcsR0FBRzFCLElBQUk0QixZQUFZLENBQUNnRSxtQkFBbUIsQ0FBQzVGLEtBQUt3QixRQUFRbUUsMkJBQTJCLENBQUNqRSxXQUFXO0lBQ2xILElBQUlRLE1BQU0yRCxRQUFRLElBQUlyRSxRQUFRbUUsMkJBQTJCLENBQUNFLFFBQVEsRUFDaEUxRyxTQUFTMEcsUUFBUSxHQUFHN0YsSUFBSTRCLFlBQVksQ0FBQ2tFLG1CQUFtQixDQUFDOUYsS0FBSztRQUM1RDhGLHFCQUFxQnRFLFFBQVFtRSwyQkFBMkIsQ0FBQ0UsUUFBUTtRQUNqRWxELFNBQVNuQixRQUFRbUIsT0FBTztJQUMxQjtJQUVGLE9BQU8zQyxJQUFJNEIsWUFBWSxDQUFDNEMsV0FBVyxDQUFDbUIsMkJBQTJCLENBQUMzRixLQUFLd0IsUUFBUW1FLDJCQUEyQixFQUFFeEc7QUFDNUc7QUFFQSxPQUFPLFNBQVM0Ryw2QkFDZC9GLEdBQWdCLEVBQ2hCd0IsT0FBbUM7SUFFbkMsTUFBTVUsUUFBUWxDLElBQUk0QixZQUFZLENBQUNPLGlCQUFpQixDQUFDeUQsbUJBQW1CO0lBQ3BFLE1BQU1JLFdBQVcsQ0FBQztJQUVsQixJQUFJOUQsTUFBTTNCLEVBQUUsSUFBSWlCLFFBQVFqQixFQUFFLEVBQUV5RixTQUFTekYsRUFBRSxHQUFHUCxJQUFJNEIsWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFqQixFQUFFO0lBQy9FLElBQUkyQixNQUFNN0MsSUFBSSxJQUFJbUMsUUFBUW5DLElBQUksRUFBRTJHLFNBQVMzRyxJQUFJLEdBQUdtQyxRQUFRbkMsSUFBSTtJQUM1RCxJQUFJNkMsTUFBTStELGtCQUFrQixJQUFJekUsUUFBUTBFLG9CQUFvQixFQUFFRixTQUFTQyxrQkFBa0IsR0FBR3pFLFFBQVEwRSxvQkFBb0I7SUFDeEgsSUFBSWhFLE1BQU1pRSxpQkFBaUIsSUFBSTNFLFFBQVE0RSxtQkFBbUIsRUFBRUosU0FBU0csaUJBQWlCLEdBQUduRyxJQUFJNEIsWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVE0RSxtQkFBbUI7SUFDL0ksSUFBSWxFLE1BQU1tRSx3QkFBd0IsSUFBSTdFLFFBQVE4RSwwQkFBMEIsRUFBRU4sU0FBU0ssd0JBQXdCLEdBQUc3RSxRQUFROEUsMEJBQTBCO0lBQ2hKLElBQUlwRSxNQUFNcUUsc0JBQXNCLElBQUkvRSxRQUFRZ0Ysd0JBQXdCLEVBQUVSLFNBQVNPLHNCQUFzQixHQUFHL0UsUUFBUWdGLHdCQUF3QjtJQUV4SSxPQUFPeEcsSUFBSTRCLFlBQVksQ0FBQzRDLFdBQVcsQ0FBQ29CLG1CQUFtQixDQUFDNUYsS0FBS3dCLFNBQVN3RTtBQUN4RTtBQUVBLE9BQU8sU0FBU1MsNkJBQ2R6RyxHQUFnQixFQUNoQndCLE9BQTZFO0lBRTdFLE1BQU1VLFFBQVFsQyxJQUFJNEIsWUFBWSxDQUFDTyxpQkFBaUIsQ0FBQzJELG1CQUFtQjtJQUNwRSxNQUFNRCxXQUFXLENBQUM7SUFFbEIsSUFBSTNELE1BQU03QyxJQUFJLElBQUltQyxRQUFRc0UsbUJBQW1CLENBQUN6RyxJQUFJLEVBQUV3RyxTQUFTeEcsSUFBSSxHQUFHbUMsUUFBUXNFLG1CQUFtQixDQUFDekcsSUFBSTtJQUNwRyxJQUFJNkMsTUFBTXdFLGdCQUFnQixJQUFJbEYsUUFBUXNFLG1CQUFtQixDQUFDYSxpQkFBaUIsRUFDekVkLFNBQVNhLGdCQUFnQixHQUFHbEYsUUFBUXNFLG1CQUFtQixDQUFDYSxpQkFBaUI7SUFDM0UsSUFBSXpFLE1BQU1ZLE9BQU8sSUFBSXRCLFFBQVFzRSxtQkFBbUIsQ0FBQ2hELE9BQU8sRUFDdEQrQyxTQUFTL0MsT0FBTyxHQUFHOUMsSUFBSTRCLFlBQVksQ0FBQ2tCLE9BQU8sQ0FBQzlDLEtBQUs7UUFBRThDLFNBQVN0QixRQUFRc0UsbUJBQW1CLENBQUNoRCxPQUFPO1FBQUVILFNBQVNuQixRQUFRbUIsT0FBTztJQUFDO0lBRTVILE9BQU8zQyxJQUFJNEIsWUFBWSxDQUFDNEMsV0FBVyxDQUFDc0IsbUJBQW1CLENBQUM5RixLQUFLd0IsUUFBUXNFLG1CQUFtQixFQUFFRDtBQUM1RiJ9
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbixcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMsXG4gIEludGVyYWN0aW9uVHlwZXMsXG4gIE1lc3NhZ2VGbGFncyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7XG4gIEJvdCxcbiAgRGlzY29yZENoYW5uZWwsXG4gIEludGVyYWN0aW9uLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIEludGVyYWN0aW9uUmVzb2x2ZWRDaGFubmVsLFxuICBJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcm5hbEJvdCxcbiAgTWVtYmVyLFxuICBNZXNzYWdlLFxufSBmcm9tICcuLi9pbmRleC5qcydcblxuZXhwb3J0IGNvbnN0IGJhc2VJbnRlcmFjdGlvbjogSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydpbnRlcmFjdGlvbiddID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnaW50ZXJhY3Rpb24nXSksXG5cbiAgYXN5bmMgcmVzcG9uZChyZXNwb25zZSwgb3B0aW9ucykge1xuICAgIGxldCB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGFuIG9iamVjdCwgZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBiZSBhbiBhdXRvY29tcGxldGUgb3IgYSBtb2RhbCByZXNwb25zZVxuICAgIGlmIChyZXNwb25zZS50aXRsZSkgdHlwZSA9IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdFxuICAgIGlmICh0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlICYmIG9wdGlvbnM/LmlzUHJpdmF0ZSkge1xuICAgICAgcmVzcG9uc2UuZmxhZ3MgPz89IDBcbiAgICAgIHJlc3BvbnNlLmZsYWdzIHw9IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWxcbiAgICB9XG5cbiAgICAvLyBTaW5jZSB0aGlzIGhhcyBhbHJlYWR5IGJlZW4gZ2l2ZW4gYSByZXNwb25zZSwgYW55IGZ1cnRoZXIgcmVzcG9uc2VzIG11c3QgYmUgZm9sbG93dXBzLlxuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCByZXNwb25zZSlcblxuICAgIC8vIE1vZGFscyBjYW5ub3QgYmUgY2hhaW5lZFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQgJiYgdHlwZSA9PT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVzcG9uZCB0byBhIG1vZGFsIGludGVyYWN0aW9uIHdpdGggYW5vdGhlciBtb2RhbC4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCwgdGhpcy50b2tlbiwgeyB0eXBlLCBkYXRhOiByZXNwb25zZSB9LCB7IHdpdGhSZXNwb25zZTogb3B0aW9ucz8ud2l0aFJlc3BvbnNlIH0pXG4gIH0sXG4gIGFzeW5jIGVkaXQocmVzcG9uc2UsIG1lc3NhZ2VJZCwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICBpZiAobWVzc2FnZUlkKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZWRpdEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCBtZXNzYWdlSWQsIHJlc3BvbnNlKVxuICAgIH1cblxuICAgIGlmICghdGhpcy5hY2tub3dsZWRnZWQpIHtcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudCAmJiB0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoaXMgaW50ZXJhY3Rpb24gaGFzIG5vdCBiZWVuIHJlc3BvbmRlZCB0byB5ZXQgYW5kIHRoaXMgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IG9yIE1vZGFsU3VibWl0IGludGVyYWN0aW9uLlwiKVxuXG4gICAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKFxuICAgICAgICB0aGlzLmlkLFxuICAgICAgICB0aGlzLnRva2VuLFxuICAgICAgICB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5VcGRhdGVNZXNzYWdlLCBkYXRhOiByZXNwb25zZSB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLmVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbiwgcmVzcG9uc2UpXG4gIH0sXG4gIGFzeW5jIGRlZmVyRWRpdChvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGVkaXQgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uLicpXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWZlciBhbiBhbHJlYWR5IHJlc3BvbmRlZCBpbnRlcmFjdGlvbi4nKVxuXG4gICAgaWYgKHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50ICYmIHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdClcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBkZWZlciB0byB0aGVuIGVkaXQgYW4gaW50ZXJhY3Rpb24gdGhhdCBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgb3IgTW9kYWxTdWJtaXQgaW50ZXJhY3Rpb24uXCIpXG5cbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLmlkLCB0aGlzLnRva2VuLCB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5EZWZlcnJlZFVwZGF0ZU1lc3NhZ2UgfSwgb3B0aW9ucylcbiAgfSxcbiAgYXN5bmMgZGVmZXIoaXNQcml2YXRlLCBvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWZlciBhbiBhbHJlYWR5IHJlc3BvbmRlZCBpbnRlcmFjdGlvbi4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICB0aGlzLmlkLFxuICAgICAgdGhpcy50b2tlbixcbiAgICAgIHtcbiAgICAgICAgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZmxhZ3M6IGlzUHJpdmF0ZSA/IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwgOiB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApXG4gIH0sXG4gIGFzeW5jIGRlbGV0ZShtZXNzYWdlSWQpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVsZXRlIGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbicpXG5cbiAgICBpZiAobWVzc2FnZUlkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlRm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIG1lc3NhZ2VJZClcbiAgICBlbHNlIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5kZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbilcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb247IHNoYXJkSWQ6IG51bWJlciB9LFxuKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuaW50ZXJhY3Rpb24ge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGRfaWQpIDogdW5kZWZpbmVkXG4gIGNvbnN0IHVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uLm1lbWJlcj8udXNlciA/PyBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIhKVxuXG4gIGNvbnN0IGludGVyYWN0aW9uOiBJbnRlcmFjdGlvbiA9IE9iamVjdC5jcmVhdGUoYmFzZUludGVyYWN0aW9uKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25cbiAgLy8gVHlwZXNjcmlwdCBoYXMgYW4gaGFyZCB0aW1lIHdpdGggdGhpcywgc28gd2UgbmVlZCB0byB0ZWxsIGhpbSBmb3Igc3VyZSB0aGlzIGlzIGEgQm90XG4gIGludGVyYWN0aW9uLmJvdCA9IGJvdCBhcyB1bmtub3duIGFzIEJvdFxuICBpbnRlcmFjdGlvbi5hY2tub3dsZWRnZWQgPSBmYWxzZVxuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmlkKSBpbnRlcmFjdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uaWQpXG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwbGljYXRpb25faWQpXG4gICAgaW50ZXJhY3Rpb24uYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZSkgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZVxuICBpZiAocHJvcHMudG9rZW4gJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi50b2tlbikgaW50ZXJhY3Rpb24udG9rZW4gPSBwYXlsb2FkLmludGVyYWN0aW9uLnRva2VuXG4gIGlmIChwcm9wcy52ZXJzaW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udmVyc2lvbikgaW50ZXJhY3Rpb24udmVyc2lvbiA9IHBheWxvYWQuaW50ZXJhY3Rpb24udmVyc2lvblxuICBpZiAocHJvcHMubG9jYWxlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubG9jYWxlKSBpbnRlcmFjdGlvbi5sb2NhbGUgPSBwYXlsb2FkLmludGVyYWN0aW9uLmxvY2FsZVxuICBpZiAocHJvcHMuZ3VpbGRMb2NhbGUgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9sb2NhbGUpIGludGVyYWN0aW9uLmd1aWxkTG9jYWxlID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGQpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwYXlsb2FkLmludGVyYWN0aW9uLmd1aWxkIGlzIGEgUGFydGlhbDxEaXNjb3JkR3VpbGQ+XG4gICAgaW50ZXJhY3Rpb24uZ3VpbGQgPSBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgeyBndWlsZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZCwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG4gIGlmIChwcm9wcy5ndWlsZElkICYmIGd1aWxkSWQpIGludGVyYWN0aW9uLmd1aWxkSWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy51c2VyICYmIHVzZXIpIGludGVyYWN0aW9uLnVzZXIgPSB1c2VyXG4gIGlmIChwcm9wcy5hcHBQZXJtaXNzaW9ucyAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmFwcF9wZXJtaXNzaW9ucylcbiAgICBpbnRlcmFjdGlvbi5hcHBQZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwX3Blcm1pc3Npb25zKVxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLm1lc3NhZ2UpXG4gICAgaW50ZXJhY3Rpb24ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5tZXNzYWdlLCBzaGFyZElkOiAwIH0pXG4gIGlmIChwcm9wcy5jaGFubmVsICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uY2hhbm5lbClcbiAgICBpbnRlcmFjdGlvbi5jaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWwgYXMgRGlzY29yZENoYW5uZWwsIGd1aWxkSWQgfSlcbiAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWxfaWQpIGludGVyYWN0aW9uLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyKVxuICAgIGludGVyYWN0aW9uLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXIsIGd1aWxkSWQsIHVzZXIuaWQpXG4gIGlmIChwcm9wcy5lbnRpdGxlbWVudHMgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5lbnRpdGxlbWVudHMpXG4gICAgaW50ZXJhY3Rpb24uZW50aXRsZW1lbnRzID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5lbnRpdGxlbWVudHMubWFwKChlKSA9PiBib3QudHJhbnNmb3JtZXJzLmVudGl0bGVtZW50KGJvdCwgZSkpXG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzKSB7XG4gICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9XG5cbiAgICBpZiAocGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLkd1aWxkSW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSxcbiAgICAgIClcbiAgICBpZiAocGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmludGVyYWN0aW9uLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKVxuICB9XG4gIGlmIChwcm9wcy5jb250ZXh0ICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uY29udGV4dCkgaW50ZXJhY3Rpb24uY29udGV4dCA9IHBheWxvYWQuaW50ZXJhY3Rpb24uY29udGV4dFxuICBpZiAocHJvcHMuYXR0YWNobWVudFNpemVMaW1pdCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmF0dGFjaG1lbnRfc2l6ZV9saW1pdClcbiAgICBpbnRlcmFjdGlvbi5hdHRhY2htZW50U2l6ZUxpbWl0ID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5hdHRhY2htZW50X3NpemVfbGltaXRcbiAgaWYgKHByb3BzLmRhdGEgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhKSB7XG4gICAgaW50ZXJhY3Rpb24uZGF0YSA9IHtcbiAgICAgIHR5cGU6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS50eXBlLFxuICAgICAgY29tcG9uZW50VHlwZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmNvbXBvbmVudF90eXBlLFxuICAgICAgY3VzdG9tSWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5jdXN0b21faWQsXG4gICAgICBjb21wb25lbnRzOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSksXG4gICAgICB2YWx1ZXM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS52YWx1ZXMsXG4gICAgICBpZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgIG5hbWU6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5uYW1lLFxuICAgICAgcmVzb2x2ZWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZFxuICAgICAgICA/IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCB7IHJlc29sdmVkOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCwgZ3VpbGRJZCB9KVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIG9wdGlvbnM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5vcHRpb25zPy5tYXAoKG9wdCkgPT4gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0KSksXG4gICAgICB0YXJnZXRJZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnRhcmdldF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS50YXJnZXRfaWQpIDogdW5kZWZpbmVkLFxuICAgIH1cbiAgfVxuXG4gIC8vIFR5cGVzY3JpcHQgaGFzIGFuIGhhcmQgdGltZSB3aXRoIGludGVyYWN0aW9uLmJvdCwgc28gd2UgbmVlZCB0byB0ZWxsIGhpbSBmb3Igc3VyZSB0aGlzIGludGVyYWN0aW9uIGlzIHRoZSBvZiB0aGUgY29ycmVjdCB0eXBlXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uKGJvdCwgcGF5bG9hZCwgaW50ZXJhY3Rpb24gYXMgdW5rbm93biBhcyB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbihib3Q6IEJvdCwgb3B0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uKTogSW50ZXJhY3Rpb25EYXRhT3B0aW9uIHtcbiAgY29uc3Qgb3B0ID0ge1xuICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxuICAgIHR5cGU6IG9wdGlvbi50eXBlLFxuICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgb3B0aW9uczogb3B0aW9uLm9wdGlvbnMsXG4gICAgZm9jdXNlZDogb3B0aW9uLmZvY3VzZWQsXG4gIH0gYXMgSW50ZXJhY3Rpb25EYXRhT3B0aW9uXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyhib3QsIG9wdGlvbiwgb3B0KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgcmVzb2x2ZWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDsgc2hhcmRJZDogbnVtYmVyOyBndWlsZElkPzogYmlnaW50IH0sXG4pOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCB7XG4gIGNvbnN0IHRyYW5zZm9ybWVkOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCA9IHt9XG5cbiAgaWYgKHBheWxvYWQucmVzb2x2ZWQubWVzc2FnZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZXNzYWdlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5tZXNzYWdlcykubWFwKChbX2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogdmFsdWUsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCB9KVxuICAgICAgICByZXR1cm4gW21lc3NhZ2UuaWQsIG1lc3NhZ2VdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC5yZXNvbHZlZC51c2Vycykge1xuICAgIHRyYW5zZm9ybWVkLnVzZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnJlc29sdmVkLnVzZXJzKS5tYXAoKFtfaWQsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCB1c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgdmFsdWUpXG4gICAgICAgIHJldHVybiBbdXNlci5pZCwgdXNlcl1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLmd1aWxkSWQgJiYgcGF5bG9hZC5yZXNvbHZlZC5tZW1iZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5tZW1iZXJzKS5tYXAoKFtpZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbWJlcjogTWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCB2YWx1ZSwgcGF5bG9hZC5ndWlsZElkISwgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKVxuICAgICAgICByZXR1cm4gW21lbWJlci5pZCwgbWVtYmVyXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQuZ3VpbGRJZCAmJiBwYXlsb2FkLnJlc29sdmVkLnJvbGVzKSB7XG4gICAgdHJhbnNmb3JtZWQucm9sZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQucm9sZXMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvbGUgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGU6IHZhbHVlLCBndWlsZElkOiBwYXlsb2FkLmd1aWxkSWQhIH0pXG4gICAgICAgIHJldHVybiBbcm9sZS5pZCwgcm9sZV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnJlc29sdmVkLmNoYW5uZWxzKSB7XG4gICAgdHJhbnNmb3JtZWQuY2hhbm5lbHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQuY2hhbm5lbHMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5uZWwgPSBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHZhbHVlIH0pIGFzIEludGVyYWN0aW9uUmVzb2x2ZWRDaGFubmVsXG4gICAgICAgIHJldHVybiBbY2hhbm5lbC5pZCwgY2hhbm5lbF1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnJlc29sdmVkLmF0dGFjaG1lbnRzKSB7XG4gICAgdHJhbnNmb3JtZWQuYXR0YWNobWVudHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQuYXR0YWNobWVudHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuICAgICAgICByZXR1cm4gW2lkLCBib3QudHJhbnNmb3JtZXJzLmF0dGFjaG1lbnQoYm90LCB2YWx1ZSldXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQsIHRyYW5zZm9ybWVkKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTsgc2hhcmRJZDogbnVtYmVyIH0sXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG4gIGNvbnN0IHJlc3BvbnNlID0ge30gYXMgSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG5cbiAgaWYgKHByb3BzLmludGVyYWN0aW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLmludGVyYWN0aW9uKVxuICAgIHJlc3BvbnNlLmludGVyYWN0aW9uID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkNhbGxiYWNrKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UuaW50ZXJhY3Rpb24pXG4gIGlmIChwcm9wcy5yZXNvdXJjZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZS5yZXNvdXJjZSlcbiAgICByZXNwb25zZS5yZXNvdXJjZSA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25SZXNvdXJjZShib3QsIHtcbiAgICAgIGludGVyYWN0aW9uUmVzb3VyY2U6IHBheWxvYWQuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLnJlc291cmNlLFxuICAgICAgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkLFxuICAgIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsIHJlc3BvbnNlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayhcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbkNhbGxiYWNrIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uQ2FsbGJhY2tcbiAgY29uc3QgY2FsbGJhY2sgPSB7fSBhcyBJbnRlcmFjdGlvbkNhbGxiYWNrXG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNhbGxiYWNrLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZClcbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBjYWxsYmFjay50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlSWQgJiYgcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZV9pZCkgY2FsbGJhY2suYWN0aXZpdHlJbnN0YW5jZUlkID0gcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZV9pZFxuICBpZiAocHJvcHMucmVzcG9uc2VNZXNzYWdlSWQgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2lkKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9pZClcbiAgaWYgKHByb3BzLnJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwgPSBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsXG4gIGlmIChwcm9wcy5yZXNwb25zZU1lc3NhZ2VMb2FkaW5nICYmIHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9sb2FkaW5nKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VMb2FkaW5nID0gcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2xvYWRpbmdcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkNhbGxiYWNrKGJvdCwgcGF5bG9hZCwgY2FsbGJhY2spXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uUmVzb3VyY2U6IERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlOyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uUmVzb3VyY2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25SZXNvdXJjZVxuICBjb25zdCByZXNvdXJjZSA9IHt9IGFzIEludGVyYWN0aW9uUmVzb3VyY2VcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uUmVzb3VyY2UudHlwZSkgcmVzb3VyY2UudHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5hY3Rpdml0eV9pbnN0YW5jZSlcbiAgICByZXNvdXJjZS5hY3Rpdml0eUluc3RhbmNlID0gcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLmFjdGl2aXR5X2luc3RhbmNlXG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5tZXNzYWdlKVxuICAgIHJlc291cmNlLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB7IG1lc3NhZ2U6IHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5tZXNzYWdlLCBzaGFyZElkOiBwYXlsb2FkLnNoYXJkSWQgfSlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvblJlc291cmNlKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLCByZXNvdXJjZSlcbn1cbiJdLCJuYW1lcyI6WyJEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUiLCJJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMiLCJJbnRlcmFjdGlvblR5cGVzIiwiTWVzc2FnZUZsYWdzIiwiQ29sbGVjdGlvbiIsImJhc2VJbnRlcmFjdGlvbiIsInVuZGVmaW5lZCIsInJlc3BvbmQiLCJyZXNwb25zZSIsIm9wdGlvbnMiLCJ0eXBlIiwiQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlIiwiY29udGVudCIsInRpdGxlIiwiTW9kYWwiLCJBcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUiLCJBcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGVSZXN1bHQiLCJpc1ByaXZhdGUiLCJmbGFncyIsIkVwaGVtZXJhbCIsImFja25vd2xlZGdlZCIsImJvdCIsImhlbHBlcnMiLCJzZW5kRm9sbG93dXBNZXNzYWdlIiwidG9rZW4iLCJNb2RhbFN1Ym1pdCIsIkVycm9yIiwic2VuZEludGVyYWN0aW9uUmVzcG9uc2UiLCJpZCIsImRhdGEiLCJ3aXRoUmVzcG9uc2UiLCJlZGl0IiwibWVzc2FnZUlkIiwiZWRpdEZvbGxvd3VwTWVzc2FnZSIsIk1lc3NhZ2VDb21wb25lbnQiLCJVcGRhdGVNZXNzYWdlIiwiZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsImRlZmVyRWRpdCIsIkRlZmVycmVkVXBkYXRlTWVzc2FnZSIsImRlZmVyIiwiRGVmZXJyZWRDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UiLCJkZWxldGUiLCJkZWxldGVGb2xsb3d1cE1lc3NhZ2UiLCJkZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbiIsInBheWxvYWQiLCJndWlsZElkIiwiaW50ZXJhY3Rpb24iLCJndWlsZF9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVzZXIiLCJtZW1iZXIiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwidmVyc2lvbiIsImxvY2FsZSIsImd1aWxkTG9jYWxlIiwiZ3VpbGRfbG9jYWxlIiwiZ3VpbGQiLCJzaGFyZElkIiwiYXBwUGVybWlzc2lvbnMiLCJhcHBfcGVybWlzc2lvbnMiLCJtZXNzYWdlIiwiY2hhbm5lbCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJlbnRpdGxlbWVudHMiLCJtYXAiLCJlIiwiZW50aXRsZW1lbnQiLCJhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzIiwiYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzIiwiR3VpbGRJbnN0YWxsIiwiVXNlckluc3RhbGwiLCJjb250ZXh0IiwiYXR0YWNobWVudFNpemVMaW1pdCIsImF0dGFjaG1lbnRfc2l6ZV9saW1pdCIsImNvbXBvbmVudFR5cGUiLCJjb21wb25lbnRfdHlwZSIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwiY29tcG9uZW50cyIsImNvbXBvbmVudCIsInZhbHVlcyIsIm5hbWUiLCJyZXNvbHZlZCIsImludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwib3B0IiwiaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyIsInRhcmdldElkIiwidGFyZ2V0X2lkIiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24iLCJvcHRpb24iLCJ2YWx1ZSIsImZvY3VzZWQiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsInRyYW5zZm9ybWVkIiwibWVzc2FnZXMiLCJlbnRyaWVzIiwiX2lkIiwidXNlcnMiLCJtZW1iZXJzIiwicm9sZXMiLCJyb2xlIiwiY2hhbm5lbHMiLCJhdHRhY2htZW50cyIsImtleSIsImF0dGFjaG1lbnQiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkNhbGxiYWNrIiwicmVzb3VyY2UiLCJpbnRlcmFjdGlvblJlc291cmNlIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayIsImNhbGxiYWNrIiwiYWN0aXZpdHlJbnN0YW5jZUlkIiwiYWN0aXZpdHlfaW5zdGFuY2VfaWQiLCJyZXNwb25zZU1lc3NhZ2VJZCIsInJlc3BvbnNlX21lc3NhZ2VfaWQiLCJyZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwiLCJyZXNwb25zZV9tZXNzYWdlX2VwaGVtZXJhbCIsInJlc3BvbnNlTWVzc2FnZUxvYWRpbmciLCJyZXNwb25zZV9tZXNzYWdlX2xvYWRpbmciLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlIiwiYWN0aXZpdHlJbnN0YW5jZSIsImFjdGl2aXR5X2luc3RhbmNlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUNFQSxpQ0FBaUMsRUFPakNDLHdCQUF3QixFQUN4QkMsZ0JBQWdCLEVBQ2hCQyxZQUFZLFFBQ1Asb0JBQW1CO0FBQzFCLFNBQVNDLFVBQVUsUUFBUSxvQkFBbUI7QUFnQjlDLE9BQU8sTUFBTUMsa0JBQWdGO0lBQzNGLDJFQUEyRTtJQUMzRSxHQUFJQyxTQUFTO0lBRWIsTUFBTUMsU0FBUUMsUUFBUSxFQUFFQyxPQUFPO1FBQzdCLElBQUlDLE9BQU9ULHlCQUF5QlUsd0JBQXdCO1FBRTVELDREQUE0RDtRQUM1RCxJQUFJLE9BQU9ILGFBQWEsVUFBVUEsV0FBVztZQUFFSSxTQUFTSjtRQUFT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
@@ -30,13 +30,14 @@ export function transformComponentToDiscordComponent(bot, payload) {
30
30
  return payload;
31
31
  }
32
32
  }
33
- export function transformUnfurledMediaItemToDiscordUnfurledMediaItem(_bot, payload) {
33
+ export function transformUnfurledMediaItemToDiscordUnfurledMediaItem(bot, payload) {
34
34
  return {
35
35
  url: payload.url,
36
36
  proxy_url: payload.proxyUrl,
37
37
  height: payload.height,
38
38
  width: payload.width,
39
- content_type: payload.contentType
39
+ content_type: payload.contentType,
40
+ attachment_id: payload.attachmentId ? bot.transformers.reverse.snowflake(payload.attachmentId) : undefined
40
41
  };
41
42
  }
42
43
  export function transformMediaGalleryItemToDiscordMediaGalleryItem(bot, payload) {
@@ -156,4 +157,4 @@ function transformThumbnailComponent(bot, payload) {
156
157
  };
157
158
  }
158
159
 
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LCB0eXBlIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50LCBNZXNzYWdlQ29tcG9uZW50VHlwZXMsIHR5cGUgVGV4dFN0eWxlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBCb3QsXG4gIEJ1dHRvblN0eWxlcyxcbiAgQ29tcG9uZW50LFxuICBEaXNjb3JkQWN0aW9uUm93LFxuICBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50LFxuICBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICBEaXNjb3JkU2VsZWN0TWVudUNvbXBvbmVudCxcbiAgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICBEaXNjb3JkVGV4dElucHV0Q29tcG9uZW50LFxuICBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50LFxuICBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIE1lZGlhR2FsbGVyeUl0ZW0sXG4gIFVuZnVybGVkTWVkaWFJdGVtLFxufSBmcm9tICcuLi8uLi9pbmRleC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQge1xuICAvLyBUaGlzIHN3aXRjaCBzaG91bGQgaW5jbHVkZSBhbGwgY2FzZXNcbiAgc3dpdGNoIChwYXlsb2FkLnR5cGUpIHtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3c6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b246XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXI6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0SW5wdXQ6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hhbm5lbFNlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Sb2xlU2VsZWN0OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlVzZXJTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lZGlhR2FsbGVyeTpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlcGFyYXRvcjpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIC8vIEFzIG9mIG5vdyB0aGV5IGFyZSBjb21wYXRpYmxlXG4gICAgICByZXR1cm4gcGF5bG9hZCBhcyBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKF9ib3Q6IEJvdCwgcGF5bG9hZDogVW5mdXJsZWRNZWRpYUl0ZW0pOiBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0ge1xuICByZXR1cm4ge1xuICAgIHVybDogcGF5bG9hZC51cmwsXG4gICAgcHJveHlfdXJsOiBwYXlsb2FkLnByb3h5VXJsLFxuICAgIGhlaWdodDogcGF5bG9hZC5oZWlnaHQsXG4gICAgd2lkdGg6IHBheWxvYWQud2lkdGgsXG4gICAgY29udGVudF90eXBlOiBwYXlsb2FkLmNvbnRlbnRUeXBlLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtVG9EaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbShib3Q6IEJvdCwgcGF5bG9hZDogTWVkaWFHYWxsZXJ5SXRlbSk6IERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtIHtcbiAgcmV0dXJuIHtcbiAgICBtZWRpYTogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5tZWRpYSksXG4gICAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUFjdGlvblJvdyhib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEFjdGlvblJvdyB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkFjdGlvblJvdyxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICAvLyBUaGUgYWN0aW9uUm93LmNvbXBvbmVudHMgdHlwZSBpcyBraW5kYSBhbm5veWluZywgc28gd2UgbmVlZCBhIGNhc3QgZm9yIHRoaXNcbiAgICBjb21wb25lbnRzOiAocGF5bG9hZC5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpID8/IFtdKSBhcyBEaXNjb3JkQWN0aW9uUm93Wydjb21wb25lbnRzJ10sXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ29udGFpbmVyLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGFjY2VudF9jb2xvcjogcGF5bG9hZC5hY2NlbnRDb2xvcixcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gICAgY29tcG9uZW50czogKHBheWxvYWQuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKSA/P1xuICAgICAgW10pIGFzIERpc2NvcmRDb250YWluZXJDb21wb25lbnRbJ2NvbXBvbmVudHMnXSxcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRCdXR0b25Db21wb25lbnQge1xuICAvLyBTaW5jZSBDb21wb25lbnQgaXMgYSBtZXJnZSBvZiBhbGwgY29tcG9uZW50cywgc29tZSBjYXN0cyBhcmUgbmVjZXNzYXJ5XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvbixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBzdHlsZTogcGF5bG9hZC5zdHlsZSBhcyBCdXR0b25TdHlsZXMsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIGVtb2ppOiBwYXlsb2FkLmVtb2ppXG4gICAgICA/IHtcbiAgICAgICAgICBpZDogcGF5bG9hZC5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UocGF5bG9hZC5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbmFtZTogcGF5bG9hZC5lbW9qaS5uYW1lLFxuICAgICAgICAgIGFuaW1hdGVkOiBwYXlsb2FkLmVtb2ppLmFuaW1hdGVkLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBsYWJlbDogcGF5bG9hZC5sYWJlbCxcbiAgICB1cmw6IHBheWxvYWQudXJsLFxuICAgIHNrdV9pZDogcGF5bG9hZC5za3VJZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UocGF5bG9hZC5za3VJZCkgOiB1bmRlZmluZWQsXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KF9ib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCB7XG4gIC8vIFNpbmNlIENvbXBvbmVudCBpcyBhIG1lcmdlIG9mIGFsbCBjb21wb25lbnRzLCBzb21lIGNhc3RzIGFyZSBuZWNlc3NhcnlcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIHN0eWxlOiBwYXlsb2FkLnN0eWxlIGFzIFRleHRTdHlsZXMsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICBsYWJlbDogcGF5bG9hZC5sYWJlbCEsXG4gICAgdmFsdWU6IHBheWxvYWQudmFsdWUsXG4gICAgbWF4X2xlbmd0aDogcGF5bG9hZC5tYXhMZW5ndGgsXG4gICAgbWluX2xlbmd0aDogcGF5bG9hZC5taW5MZW5ndGgsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IHBheWxvYWQudHlwZSBhcyBEaXNjb3JkU2VsZWN0TWVudUNvbXBvbmVudFsndHlwZSddLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgY2hhbm5lbF90eXBlczogcGF5bG9hZC5jaGFubmVsVHlwZXMsXG4gICAgZGVmYXVsdF92YWx1ZXM6IHBheWxvYWQuZGVmYXVsdFZhbHVlcz8ubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgfSkpLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIG9wdGlvbnM6IHBheWxvYWQub3B0aW9ucz8ubWFwKChvcHRpb24pID0+ICh7XG4gICAgICBsYWJlbDogb3B0aW9uLmxhYmVsLFxuICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb24uZGVzY3JpcHRpb24sXG4gICAgICBlbW9qaTogb3B0aW9uLmVtb2ppXG4gICAgICAgID8ge1xuICAgICAgICAgICAgaWQ6IG9wdGlvbi5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2Uob3B0aW9uLmVtb2ppLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIG5hbWU6IG9wdGlvbi5lbW9qaS5uYW1lLFxuICAgICAgICAgICAgYW5pbWF0ZWQ6IG9wdGlvbi5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgZGVmYXVsdDogb3B0aW9uLmRlZmF1bHQsXG4gICAgfSkpLFxuICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnBsYWNlaG9sZGVyLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRTZWN0aW9uQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjb21wb25lbnRzOiBwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgYXMgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50W10sXG4gICAgYWNjZXNzb3J5OiAocGF5bG9hZC5hY2Nlc3NvcnkgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgcGF5bG9hZC5hY2Nlc3NvcnkpIDogdW5kZWZpbmVkKSBhcyBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudFsnYWNjZXNzb3J5J10sXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRmlsZUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEZpbGVDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGZpbGU6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQuZmlsZSEpLFxuICAgIHNwb2lsZXI6IHBheWxvYWQuc3BvaWxlcixcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZWRpYUdhbGxlcnksXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgaXRlbXM6IHBheWxvYWQuaXRlbXM/Lm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBpdGVtKSkgPz8gW10sXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGh1bWJuYWlsLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIG1lZGlhOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhISksXG4gICAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICB9XG59XG4iXSwibmFtZXMiOlsiTWVzc2FnZUNvbXBvbmVudFR5cGVzIiwidHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50IiwiYm90IiwicGF5bG9hZCIsInR5cGUiLCJBY3Rpb25Sb3ciLCJ0cmFuc2Zvcm1BY3Rpb25Sb3ciLCJCdXR0b24iLCJ0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQiLCJDb250YWluZXIiLCJ0cmFuc2Zvcm1Db250YWluZXJDb21wb25lbnQiLCJUZXh0SW5wdXQiLCJ0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQiLCJTdHJpbmdTZWxlY3QiLCJDaGFubmVsU2VsZWN0IiwiUm9sZVNlbGVjdCIsIlVzZXJTZWxlY3QiLCJNZW50aW9uYWJsZVNlbGVjdCIsInRyYW5zZm9ybVNlbGVjdE1lbnVDb21wb25lbnQiLCJTZWN0aW9uIiwidHJhbnNmb3JtU2VjdGlvbkNvbXBvbmVudCIsIkZpbGUiLCJ0cmFuc2Zvcm1GaWxlQ29tcG9uZW50IiwiTWVkaWFHYWxsZXJ5IiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50IiwiVGh1bWJuYWlsIiwidHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50IiwiU2VwYXJhdG9yIiwiVGV4dERpc3BsYXkiLCJ0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtIiwiX2JvdCIsInVybCIsInByb3h5X3VybCIsInByb3h5VXJsIiwiaGVpZ2h0Iiwid2lkdGgiLCJjb250ZW50X3R5cGUiLCJjb250ZW50VHlwZSIsInRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW1Ub0Rpc2NvcmRNZWRpYUdhbGxlcnlJdGVtIiwibWVkaWEiLCJ0cmFuc2Zvcm1lcnMiLCJyZXZlcnNlIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJkZXNjcmlwdGlvbiIsInNwb2lsZXIiLCJpZCIsImNvbXBvbmVudHMiLCJtYXAiLCJjb21wb25lbnQiLCJhY2NlbnRfY29sb3IiLCJhY2NlbnRDb2xvciIsInN0eWxlIiwiY3VzdG9tX2lkIiwiY3VzdG9tSWQiLCJkaXNhYmxlZCIsImVtb2ppIiwic25vd2ZsYWtlIiwidW5kZWZpbmVkIiwibmFtZSIsImFuaW1hdGVkIiwibGFiZWwiLCJza3VfaWQiLCJza3VJZCIsInZhbHVlIiwibWF4X2xlbmd0aCIsIm1heExlbmd0aCIsIm1pbl9sZW5ndGgiLCJtaW5MZW5ndGgiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwiY2hhbm5lbF90eXBlcyIsImNoYW5uZWxUeXBlcyIsImRlZmF1bHRfdmFsdWVzIiwiZGVmYXVsdFZhbHVlcyIsImRlZmF1bHRWYWx1ZSIsIm1heF92YWx1ZXMiLCJtYXhWYWx1ZXMiLCJtaW5fdmFsdWVzIiwibWluVmFsdWVzIiwib3B0aW9ucyIsIm9wdGlvbiIsImRlZmF1bHQiLCJhY2Nlc3NvcnkiLCJmaWxlIiwiaXRlbXMiLCJpdGVtIiwibWVkaWFHYWxsZXJ5SXRlbSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBb0VBLHFCQUFxQixRQUF5QixvQkFBbUI7QUFvQnJJLE9BQU8sU0FBU0MscUNBQXFDQyxHQUFRLEVBQUVDLE9BQWtCO0lBQy9FLHVDQUF1QztJQUN2QyxPQUFRQSxRQUFRQyxJQUFJO1FBQ2xCLEtBQUtKLHNCQUFzQkssU0FBUztZQUNsQyxPQUFPQyxtQkFBbUJKLEtBQUtDO1FBQ2pDLEtBQUtILHNCQUFzQk8sTUFBTTtZQUMvQixPQUFPQyx5QkFBeUJOLEtBQUtDO1FBQ3ZDLEtBQUtILHNCQUFzQlMsU0FBUztZQUNsQyxPQUFPQyw0QkFBNEJSLEtBQUtDO1FBQzFDLEtBQUtILHNCQUFzQlcsU0FBUztZQUNsQyxPQUFPQyw0QkFBNEJWLEtBQUtDO1FBQzFDLEtBQUtILHNCQUFzQmEsWUFBWTtRQUN2QyxLQUFLYixzQkFBc0JjLGFBQWE7UUFDeEMsS0FBS2Qsc0JBQXNCZSxVQUFVO1FBQ3JDLEtBQUtmLHNCQUFzQmdCLFVBQVU7UUFDckMsS0FBS2hCLHNCQUFzQmlCLGlCQUFpQjtZQUMxQyxPQUFPQyw2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
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LCB0eXBlIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50LCBNZXNzYWdlQ29tcG9uZW50VHlwZXMsIHR5cGUgVGV4dFN0eWxlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBCb3QsXG4gIEJ1dHRvblN0eWxlcyxcbiAgQ29tcG9uZW50LFxuICBEaXNjb3JkQWN0aW9uUm93LFxuICBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50LFxuICBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICBEaXNjb3JkU2VsZWN0TWVudUNvbXBvbmVudCxcbiAgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICBEaXNjb3JkVGV4dElucHV0Q29tcG9uZW50LFxuICBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50LFxuICBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIE1lZGlhR2FsbGVyeUl0ZW0sXG4gIFVuZnVybGVkTWVkaWFJdGVtLFxufSBmcm9tICcuLi8uLi9pbmRleC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQge1xuICAvLyBUaGlzIHN3aXRjaCBzaG91bGQgaW5jbHVkZSBhbGwgY2FzZXNcbiAgc3dpdGNoIChwYXlsb2FkLnR5cGUpIHtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3c6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b246XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXI6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0SW5wdXQ6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hhbm5lbFNlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Sb2xlU2VsZWN0OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlVzZXJTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lZGlhR2FsbGVyeTpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlcGFyYXRvcjpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIC8vIEFzIG9mIG5vdyB0aGV5IGFyZSBjb21wYXRpYmxlXG4gICAgICByZXR1cm4gcGF5bG9hZCBhcyBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBVbmZ1cmxlZE1lZGlhSXRlbSk6IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSB7XG4gIHJldHVybiB7XG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICBwcm94eV91cmw6IHBheWxvYWQucHJveHlVcmwsXG4gICAgaGVpZ2h0OiBwYXlsb2FkLmhlaWdodCxcbiAgICB3aWR0aDogcGF5bG9hZC53aWR0aCxcbiAgICBjb250ZW50X3R5cGU6IHBheWxvYWQuY29udGVudFR5cGUsXG4gICAgYXR0YWNobWVudF9pZDogcGF5bG9hZC5hdHRhY2htZW50SWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudElkKSA6IHVuZGVmaW5lZCxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0oYm90OiBCb3QsIHBheWxvYWQ6IE1lZGlhR2FsbGVyeUl0ZW0pOiBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSB7XG4gIHJldHVybiB7XG4gICAgbWVkaWE6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpLFxuICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmRlc2NyaXB0aW9uLFxuICAgIHNwb2lsZXI6IHBheWxvYWQuc3BvaWxlcixcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpb25Sb3coYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRBY3Rpb25Sb3cge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3csXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgLy8gVGhlIGFjdGlvblJvdy5jb21wb25lbnRzIHR5cGUgaXMga2luZGEgYW5ub3lpbmcsIHNvIHdlIG5lZWQgYSBjYXN0IGZvciB0aGlzXG4gICAgY29tcG9uZW50czogKHBheWxvYWQuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKSA/PyBbXSkgYXMgRGlzY29yZEFjdGlvblJvd1snY29tcG9uZW50cyddLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBhY2NlbnRfY29sb3I6IHBheWxvYWQuYWNjZW50Q29sb3IsXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICAgIGNvbXBvbmVudHM6IChwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgPz9cbiAgICAgIFtdKSBhcyBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50Wydjb21wb25lbnRzJ10sXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkQnV0dG9uQ29tcG9uZW50IHtcbiAgLy8gU2luY2UgQ29tcG9uZW50IGlzIGEgbWVyZ2Ugb2YgYWxsIGNvbXBvbmVudHMsIHNvbWUgY2FzdHMgYXJlIG5lY2Vzc2FyeVxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b24sXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgc3R5bGU6IHBheWxvYWQuc3R5bGUgYXMgQnV0dG9uU3R5bGVzLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCxcbiAgICBkaXNhYmxlZDogcGF5bG9hZC5kaXNhYmxlZCxcbiAgICBlbW9qaTogcGF5bG9hZC5lbW9qaVxuICAgICAgPyB7XG4gICAgICAgICAgaWQ6IHBheWxvYWQuZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuZW1vamkuaWQpIDogdW5kZWZpbmVkLFxuICAgICAgICAgIG5hbWU6IHBheWxvYWQuZW1vamkubmFtZSxcbiAgICAgICAgICBhbmltYXRlZDogcGF5bG9hZC5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgbGFiZWw6IHBheWxvYWQubGFiZWwsXG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICBza3VfaWQ6IHBheWxvYWQuc2t1SWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuc2t1SWQpIDogdW5kZWZpbmVkLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChfYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQge1xuICAvLyBTaW5jZSBDb21wb25lbnQgaXMgYSBtZXJnZSBvZiBhbGwgY29tcG9uZW50cywgc29tZSBjYXN0cyBhcmUgbmVjZXNzYXJ5XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHRJbnB1dCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBzdHlsZTogcGF5bG9hZC5zdHlsZSBhcyBUZXh0U3R5bGVzLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgbGFiZWw6IHBheWxvYWQubGFiZWwhLFxuICAgIHZhbHVlOiBwYXlsb2FkLnZhbHVlLFxuICAgIG1heF9sZW5ndGg6IHBheWxvYWQubWF4TGVuZ3RoLFxuICAgIG1pbl9sZW5ndGg6IHBheWxvYWQubWluTGVuZ3RoLFxuICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnBsYWNlaG9sZGVyLFxuICAgIHJlcXVpcmVkOiBwYXlsb2FkLnJlcXVpcmVkLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlbGVjdE1lbnVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBwYXlsb2FkLnR5cGUgYXMgRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnRbJ3R5cGUnXSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGNoYW5uZWxfdHlwZXM6IHBheWxvYWQuY2hhbm5lbFR5cGVzLFxuICAgIGRlZmF1bHRfdmFsdWVzOiBwYXlsb2FkLmRlZmF1bHRWYWx1ZXM/Lm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgIHR5cGU6IGRlZmF1bHRWYWx1ZS50eXBlLFxuICAgIH0pKSxcbiAgICBkaXNhYmxlZDogcGF5bG9hZC5kaXNhYmxlZCxcbiAgICBtYXhfdmFsdWVzOiBwYXlsb2FkLm1heFZhbHVlcyxcbiAgICBtaW5fdmFsdWVzOiBwYXlsb2FkLm1pblZhbHVlcyxcbiAgICBvcHRpb25zOiBwYXlsb2FkLm9wdGlvbnM/Lm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCxcbiAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgZW1vamk6IG9wdGlvbi5lbW9qaVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGlkOiBvcHRpb24uZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBuYW1lOiBvcHRpb24uZW1vamkubmFtZSxcbiAgICAgICAgICAgIGFuaW1hdGVkOiBvcHRpb24uZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGRlZmF1bHQ6IG9wdGlvbi5kZWZhdWx0LFxuICAgIH0pKSxcbiAgICBwbGFjZWhvbGRlcjogcGF5bG9hZC5wbGFjZWhvbGRlcixcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlY3Rpb24sXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgY29tcG9uZW50czogcGF5bG9hZC5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpIGFzIERpc2NvcmRUZXh0RGlzcGxheUNvbXBvbmVudFtdLFxuICAgIGFjY2Vzc29yeTogKHBheWxvYWQuYWNjZXNzb3J5ID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIHBheWxvYWQuYWNjZXNzb3J5KSA6IHVuZGVmaW5lZCkgYXMgRGlzY29yZFNlY3Rpb25Db21wb25lbnRbJ2FjY2Vzc29yeSddLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRGaWxlQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBmaWxlOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUhKSxcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkTWVkaWFHYWxsZXJ5Q29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGl0ZW1zOiBwYXlsb2FkLml0ZW1zPy5tYXAoKGl0ZW0pID0+IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5tZWRpYUdhbGxlcnlJdGVtKGJvdCwgaXRlbSkpID8/IFtdLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBtZWRpYTogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5tZWRpYSEpLFxuICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmRlc2NyaXB0aW9uLFxuICAgIHNwb2lsZXI6IHBheWxvYWQuc3BvaWxlcixcbiAgfVxufVxuIl0sIm5hbWVzIjpbIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsInRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudCIsImJvdCIsInBheWxvYWQiLCJ0eXBlIiwiQWN0aW9uUm93IiwidHJhbnNmb3JtQWN0aW9uUm93IiwiQnV0dG9uIiwidHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50IiwiQ29udGFpbmVyIiwidHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50IiwiVGV4dElucHV0IiwidHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50IiwiU3RyaW5nU2VsZWN0IiwiQ2hhbm5lbFNlbGVjdCIsIlJvbGVTZWxlY3QiLCJVc2VyU2VsZWN0IiwiTWVudGlvbmFibGVTZWxlY3QiLCJ0cmFuc2Zvcm1TZWxlY3RNZW51Q29tcG9uZW50IiwiU2VjdGlvbiIsInRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQiLCJGaWxlIiwidHJhbnNmb3JtRmlsZUNvbXBvbmVudCIsIk1lZGlhR2FsbGVyeSIsInRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudCIsIlRodW1ibmFpbCIsInRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudCIsIlNlcGFyYXRvciIsIlRleHREaXNwbGF5IiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW1Ub0Rpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSIsInVybCIsInByb3h5X3VybCIsInByb3h5VXJsIiwiaGVpZ2h0Iiwid2lkdGgiLCJjb250ZW50X3R5cGUiLCJjb250ZW50VHlwZSIsImF0dGFjaG1lbnRfaWQiLCJhdHRhY2htZW50SWQiLCJ0cmFuc2Zvcm1lcnMiLCJyZXZlcnNlIiwic25vd2ZsYWtlIiwidW5kZWZpbmVkIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0iLCJtZWRpYSIsInVuZnVybGVkTWVkaWFJdGVtIiwiZGVzY3JpcHRpb24iLCJzcG9pbGVyIiwiaWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29tcG9uZW50IiwiYWNjZW50X2NvbG9yIiwiYWNjZW50Q29sb3IiLCJzdHlsZSIsImN1c3RvbV9pZCIsImN1c3RvbUlkIiwiZGlzYWJsZWQiLCJlbW9qaSIsIm5hbWUiLCJhbmltYXRlZCIsImxhYmVsIiwic2t1X2lkIiwic2t1SWQiLCJfYm90IiwidmFsdWUiLCJtYXhfbGVuZ3RoIiwibWF4TGVuZ3RoIiwibWluX2xlbmd0aCIsIm1pbkxlbmd0aCIsInBsYWNlaG9sZGVyIiwicmVxdWlyZWQiLCJjaGFubmVsX3R5cGVzIiwiY2hhbm5lbFR5cGVzIiwiZGVmYXVsdF92YWx1ZXMiLCJkZWZhdWx0VmFsdWVzIiwiZGVmYXVsdFZhbHVlIiwibWF4X3ZhbHVlcyIsIm1heFZhbHVlcyIsIm1pbl92YWx1ZXMiLCJtaW5WYWx1ZXMiLCJvcHRpb25zIiwib3B0aW9uIiwiZGVmYXVsdCIsImFjY2Vzc29yeSIsImZpbGUiLCJpdGVtcyIsIml0ZW0iLCJtZWRpYUdhbGxlcnlJdGVtIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFvRUEscUJBQXFCLFFBQXlCLG9CQUFtQjtBQW9CckksT0FBTyxTQUFTQyxxQ0FBcUNDLEdBQVEsRUFBRUMsT0FBa0I7SUFDL0UsdUNBQXVDO0lBQ3ZDLE9BQVFBLFFBQVFDLElBQUk7UUFDbEIsS0FBS0osc0JBQXNCSyxTQUFTO1lBQ2xDLE9BQU9DLG1CQUFtQkosS0FBS0M7UUFDakMsS0FBS0gsc0JBQXNCTyxNQUFNO1lBQy9CLE9BQU9DLHlCQUF5Qk4sS0FBS0M7UUFDdkMsS0FBS0gsc0JBQXNCUyxTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QlIsS0FBS0M7UUFDMUMsS0FBS0gsc0JBQXNCVyxTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QlYsS0FBS0M7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
@@ -37,7 +37,8 @@ export function transformRole(bot, payload) {
37
37
  const role = Object.create(baseRole);
38
38
  const props = bot.transformers.desiredProperties.role;
39
39
  if (props.id && payload.role.id) role.id = bot.transformers.snowflake(payload.role.id);
40
- if (props.name && payload.role.name) role.name = payload.role.name;
40
+ // Role name can be an empty string
41
+ if (props.name && payload.role.name !== undefined) role.name = payload.role.name;
41
42
  if (props.position) role.position = payload.role.position;
42
43
  if (props.guildId && payload.guildId) role.guildId = bot.transformers.snowflake(payload.guildId);
43
44
  if (props.color && payload.role.color !== undefined) role.color = payload.role.color;
@@ -57,4 +58,4 @@ export function transformRole(bot, payload) {
57
58
  return bot.transformers.customizers.role(bot, payload.role, role);
58
59
  }
59
60
 
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcm9sZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJpZ1N0cmluZywgRGlzY29yZFJvbGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IHR5cGUgSW50ZXJuYWxCb3QsIHR5cGUgUm9sZSwgaWNvbkhhc2hUb0JpZ0ludCB9IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuL3RvZ2dsZXMvUGVybWlzc2lvbnMuanMnXG5pbXBvcnQgeyBSb2xlVG9nZ2xlcyB9IGZyb20gJy4vdG9nZ2xlcy9yb2xlLmpzJ1xuXG5leHBvcnQgY29uc3QgYmFzZVJvbGU6IEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsncm9sZSddID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsncm9sZSddKSxcblxuICBnZXQgdGFncygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYm90SWQ6IHRoaXMuaW50ZXJuYWxUYWdzPy5ib3RJZCxcbiAgICAgIGludGVncmF0aW9uSWQ6IHRoaXMuaW50ZXJuYWxUYWdzPy5pbnRlZ3JhdGlvbklkLFxuICAgICAgc3Vic2NyaXB0aW9uTGlzdGluZ0lkOiB0aGlzLmludGVybmFsVGFncz8uc3Vic2NyaXB0aW9uTGlzdGluZ0lkLFxuICAgICAgYXZhaWxhYmxlRm9yUHVyY2hhc2U6IHRoaXMudG9nZ2xlcz8uYXZhaWxhYmxlRm9yUHVyY2hhc2UsXG4gICAgICBndWlsZENvbm5lY3Rpb25zOiB0aGlzLnRvZ2dsZXM/Lmd1aWxkQ29ubmVjdGlvbnMsXG4gICAgICBwcmVtaXVtU3Vic2NyaWJlcjogdGhpcy50b2dnbGVzPy5wcmVtaXVtU3Vic2NyaWJlcixcbiAgICB9XG4gIH0sXG4gIC8qKiBJZiB0aGlzIHJvbGUgaXMgc2hvd2VkIHNlcGFyYXRlbHkgaW4gdGhlIHVzZXIgbGlzdGluZyAqL1xuICBnZXQgaG9pc3QoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ2hvaXN0JylcbiAgfSxcbiAgLyoqIFdoZXRoZXIgdGhpcyByb2xlIGlzIG1hbmFnZWQgYnkgYW4gaW50ZWdyYXRpb24gKi9cbiAgZ2V0IG1hbmFnZWQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ21hbmFnZWQnKVxuICB9LFxuICAvKiogV2hldGhlciB0aGlzIHJvbGUgaXMgbWVudGlvbmFibGUgKi9cbiAgZ2V0IG1lbnRpb25hYmxlKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdtZW50aW9uYWJsZScpXG4gIH0sXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgdGhlIGd1aWxkcyBwcmVtaXVtIHN1YnNjcmliZXIgcm9sZSAqL1xuICBnZXQgcHJlbWl1bVN1YnNjcmliZXIoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ3ByZW1pdW1TdWJzY3JpYmVyJylcbiAgfSxcbiAgLyoqIFdoZXRoZXIgdGhpcyByb2xlIGlzIGF2YWlsYWJsZSBmb3IgcHVyY2hhc2UuICovXG4gIGdldCBhdmFpbGFibGVGb3JQdXJjaGFzZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/LmhhcygnYXZhaWxhYmxlRm9yUHVyY2hhc2UnKVxuICB9LFxuICAvKiogV2hldGhlciB0aGlzIGlzIGEgZ3VpbGQncyBsaW5rZWQgcm9sZS4gKi9cbiAgZ2V0IGd1aWxkQ29ubmVjdGlvbnMoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ2d1aWxkQ29ubmVjdGlvbnMnKVxuICB9LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtUm9sZShib3Q6IEludGVybmFsQm90LCBwYXlsb2FkOiB7IHJvbGU6IERpc2NvcmRSb2xlOyBndWlsZElkOiBCaWdTdHJpbmcgfSk6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLnJvbGUge1xuICBjb25zdCByb2xlOiBSb2xlID0gT2JqZWN0LmNyZWF0ZShiYXNlUm9sZSlcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLnJvbGVcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQucm9sZS5pZCkgcm9sZS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucm9sZS5pZClcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5yb2xlLm5hbWUpIHJvbGUubmFtZSA9IHBheWxvYWQucm9sZS5uYW1lXG4gIGlmIChwcm9wcy5wb3NpdGlvbikgcm9sZS5wb3NpdGlvbiA9IHBheWxvYWQucm9sZS5wb3NpdGlvblxuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLmd1aWxkSWQpIHJvbGUuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRJZClcbiAgaWYgKHByb3BzLmNvbG9yICYmIHBheWxvYWQucm9sZS5jb2xvciAhPT0gdW5kZWZpbmVkKSByb2xlLmNvbG9yID0gcGF5bG9hZC5yb2xlLmNvbG9yXG4gIGlmIChwcm9wcy5wZXJtaXNzaW9ucyAmJiBwYXlsb2FkLnJvbGUucGVybWlzc2lvbnMpIHJvbGUucGVybWlzc2lvbnMgPSBuZXcgUGVybWlzc2lvbnMocGF5bG9hZC5yb2xlLnBlcm1pc3Npb25zKVxuICBpZiAocHJvcHMuaWNvbiAmJiBwYXlsb2FkLnJvbGUuaWNvbikgcm9sZS5pY29uID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLnJvbGUuaWNvbilcbiAgaWYgKHByb3BzLnVuaWNvZGVFbW9qaSAmJiBwYXlsb2FkLnJvbGUudW5pY29kZV9lbW9qaSkgcm9sZS51bmljb2RlRW1vamkgPSBwYXlsb2FkLnJvbGUudW5pY29kZV9lbW9qaVxuICBpZiAocHJvcHMuZmxhZ3MpIHJvbGUuZmxhZ3MgPSBwYXlsb2FkLnJvbGUuZmxhZ3NcbiAgaWYgKHByb3BzLnRhZ3MgJiYgcGF5bG9hZC5yb2xlLnRhZ3MpIHtcbiAgICByb2xlLmludGVybmFsVGFncyA9IHt9XG4gICAgaWYgKHBheWxvYWQucm9sZS50YWdzLmJvdF9pZCkgcm9sZS5pbnRlcm5hbFRhZ3MuYm90SWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnJvbGUudGFncy5ib3RfaWQpXG4gICAgaWYgKHBheWxvYWQucm9sZS50YWdzLmludGVncmF0aW9uX2lkKSByb2xlLmludGVybmFsVGFncy5pbnRlZ3JhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5yb2xlLnRhZ3MuaW50ZWdyYXRpb25faWQpXG4gICAgaWYgKHBheWxvYWQucm9sZS50YWdzLnN1YnNjcmlwdGlvbl9saXN0aW5nX2lkKVxuICAgICAgcm9sZS5pbnRlcm5hbFRhZ3Muc3Vic2NyaXB0aW9uTGlzdGluZ0lkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5yb2xlLnRhZ3Muc3Vic2NyaXB0aW9uX2xpc3RpbmdfaWQpXG4gIH1cbiAgaWYgKHByb3BzLnRvZ2dsZXMpIHtcbiAgICByb2xlLnRvZ2dsZXMgPSBuZXcgUm9sZVRvZ2dsZXMocGF5bG9hZC5yb2xlKVxuICB9XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMucm9sZShib3QsIHBheWxvYWQucm9sZSwgcm9sZSlcbn1cbiJdLCJuYW1lcyI6WyJpY29uSGFzaFRvQmlnSW50IiwiUGVybWlzc2lvbnMiLCJSb2xlVG9nZ2xlcyIsImJhc2VSb2xlIiwidW5kZWZpbmVkIiwidGFncyIsImJvdElkIiwiaW50ZXJuYWxUYWdzIiwiaW50ZWdyYXRpb25JZCIsInN1YnNjcmlwdGlvbkxpc3RpbmdJZCIsImF2YWlsYWJsZUZvclB1cmNoYXNlIiwidG9nZ2xlcyIsImd1aWxkQ29ubmVjdGlvbnMiLCJwcmVtaXVtU3Vic2NyaWJlciIsImhvaXN0IiwiaGFzIiwibWFuYWdlZCIsIm1lbnRpb25hYmxlIiwidHJhbnNmb3JtUm9sZSIsImJvdCIsInBheWxvYWQiLCJyb2xlIiwiT2JqZWN0IiwiY3JlYXRlIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImlkIiwic25vd2ZsYWtlIiwibmFtZSIsInBvc2l0aW9uIiwiZ3VpbGRJZCIsImNvbG9yIiwicGVybWlzc2lvbnMiLCJpY29uIiwidW5pY29kZUVtb2ppIiwidW5pY29kZV9lbW9qaSIsImZsYWdzIiwiYm90X2lkIiwiaW50ZWdyYXRpb25faWQiLCJzdWJzY3JpcHRpb25fbGlzdGluZ19pZCIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFzQ0EsZ0JBQWdCLFFBQVEsY0FBYTtBQUMzRSxTQUFTQyxXQUFXLFFBQVEsMkJBQTBCO0FBQ3RELFNBQVNDLFdBQVcsUUFBUSxvQkFBbUI7QUFFL0MsT0FBTyxNQUFNQyxXQUFrRTtJQUM3RSwyRUFBMkU7SUFDM0UsR0FBSUMsU0FBUztJQUViLElBQUlDLFFBQU87UUFDVCxPQUFPO1lBQ0xDLE9BQU8sSUFBSSxDQUFDQyxZQUFZLEVBQUVEO1lBQzFCRSxlQUFlLElBQUksQ0FBQ0QsWUFBWSxFQUFFQztZQUNsQ0MsdUJBQXVCLElBQUksQ0FBQ0YsWUFBWSxFQUFFRTtZQUMxQ0Msc0JBQXNCLElBQUksQ0FBQ0MsT0FBTyxFQUFFRDtZQUNwQ0Usa0JBQWtCLElBQUksQ0FBQ0QsT0FBTyxFQUFFQztZQUNoQ0MsbUJBQW1CLElBQUksQ0FBQ0YsT0FBTyxFQUFFRTtRQUNuQztJQUNGO0lBQ0EsMERBQTBELEdBQzFELElBQUlDLFNBQVE7UUFDVixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUNILE9BQU8sRUFBRUksSUFBSTtJQUM3QjtJQUNBLG1EQUFtRCxHQUNuRCxJQUFJQyxX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
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcm9sZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJpZ1N0cmluZywgRGlzY29yZFJvbGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IHR5cGUgSW50ZXJuYWxCb3QsIHR5cGUgUm9sZSwgaWNvbkhhc2hUb0JpZ0ludCB9IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuL3RvZ2dsZXMvUGVybWlzc2lvbnMuanMnXG5pbXBvcnQgeyBSb2xlVG9nZ2xlcyB9IGZyb20gJy4vdG9nZ2xlcy9yb2xlLmpzJ1xuXG5leHBvcnQgY29uc3QgYmFzZVJvbGU6IEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsncm9sZSddID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsncm9sZSddKSxcblxuICBnZXQgdGFncygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYm90SWQ6IHRoaXMuaW50ZXJuYWxUYWdzPy5ib3RJZCxcbiAgICAgIGludGVncmF0aW9uSWQ6IHRoaXMuaW50ZXJuYWxUYWdzPy5pbnRlZ3JhdGlvbklkLFxuICAgICAgc3Vic2NyaXB0aW9uTGlzdGluZ0lkOiB0aGlzLmludGVybmFsVGFncz8uc3Vic2NyaXB0aW9uTGlzdGluZ0lkLFxuICAgICAgYXZhaWxhYmxlRm9yUHVyY2hhc2U6IHRoaXMudG9nZ2xlcz8uYXZhaWxhYmxlRm9yUHVyY2hhc2UsXG4gICAgICBndWlsZENvbm5lY3Rpb25zOiB0aGlzLnRvZ2dsZXM/Lmd1aWxkQ29ubmVjdGlvbnMsXG4gICAgICBwcmVtaXVtU3Vic2NyaWJlcjogdGhpcy50b2dnbGVzPy5wcmVtaXVtU3Vic2NyaWJlcixcbiAgICB9XG4gIH0sXG4gIC8qKiBJZiB0aGlzIHJvbGUgaXMgc2hvd2VkIHNlcGFyYXRlbHkgaW4gdGhlIHVzZXIgbGlzdGluZyAqL1xuICBnZXQgaG9pc3QoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ2hvaXN0JylcbiAgfSxcbiAgLyoqIFdoZXRoZXIgdGhpcyByb2xlIGlzIG1hbmFnZWQgYnkgYW4gaW50ZWdyYXRpb24gKi9cbiAgZ2V0IG1hbmFnZWQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ21hbmFnZWQnKVxuICB9LFxuICAvKiogV2hldGhlciB0aGlzIHJvbGUgaXMgbWVudGlvbmFibGUgKi9cbiAgZ2V0IG1lbnRpb25hYmxlKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdtZW50aW9uYWJsZScpXG4gIH0sXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgdGhlIGd1aWxkcyBwcmVtaXVtIHN1YnNjcmliZXIgcm9sZSAqL1xuICBnZXQgcHJlbWl1bVN1YnNjcmliZXIoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ3ByZW1pdW1TdWJzY3JpYmVyJylcbiAgfSxcbiAgLyoqIFdoZXRoZXIgdGhpcyByb2xlIGlzIGF2YWlsYWJsZSBmb3IgcHVyY2hhc2UuICovXG4gIGdldCBhdmFpbGFibGVGb3JQdXJjaGFzZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/LmhhcygnYXZhaWxhYmxlRm9yUHVyY2hhc2UnKVxuICB9LFxuICAvKiogV2hldGhlciB0aGlzIGlzIGEgZ3VpbGQncyBsaW5rZWQgcm9sZS4gKi9cbiAgZ2V0IGd1aWxkQ29ubmVjdGlvbnMoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ2d1aWxkQ29ubmVjdGlvbnMnKVxuICB9LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtUm9sZShib3Q6IEludGVybmFsQm90LCBwYXlsb2FkOiB7IHJvbGU6IERpc2NvcmRSb2xlOyBndWlsZElkOiBCaWdTdHJpbmcgfSk6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLnJvbGUge1xuICBjb25zdCByb2xlOiBSb2xlID0gT2JqZWN0LmNyZWF0ZShiYXNlUm9sZSlcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLnJvbGVcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQucm9sZS5pZCkgcm9sZS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucm9sZS5pZClcbiAgLy8gUm9sZSBuYW1lIGNhbiBiZSBhbiBlbXB0eSBzdHJpbmdcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5yb2xlLm5hbWUgIT09IHVuZGVmaW5lZCkgcm9sZS5uYW1lID0gcGF5bG9hZC5yb2xlLm5hbWVcbiAgaWYgKHByb3BzLnBvc2l0aW9uKSByb2xlLnBvc2l0aW9uID0gcGF5bG9hZC5yb2xlLnBvc2l0aW9uXG4gIGlmIChwcm9wcy5ndWlsZElkICYmIHBheWxvYWQuZ3VpbGRJZCkgcm9sZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZElkKVxuICBpZiAocHJvcHMuY29sb3IgJiYgcGF5bG9hZC5yb2xlLmNvbG9yICE9PSB1bmRlZmluZWQpIHJvbGUuY29sb3IgPSBwYXlsb2FkLnJvbGUuY29sb3JcbiAgaWYgKHByb3BzLnBlcm1pc3Npb25zICYmIHBheWxvYWQucm9sZS5wZXJtaXNzaW9ucykgcm9sZS5wZXJtaXNzaW9ucyA9IG5ldyBQZXJtaXNzaW9ucyhwYXlsb2FkLnJvbGUucGVybWlzc2lvbnMpXG4gIGlmIChwcm9wcy5pY29uICYmIHBheWxvYWQucm9sZS5pY29uKSByb2xlLmljb24gPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQucm9sZS5pY29uKVxuICBpZiAocHJvcHMudW5pY29kZUVtb2ppICYmIHBheWxvYWQucm9sZS51bmljb2RlX2Vtb2ppKSByb2xlLnVuaWNvZGVFbW9qaSA9IHBheWxvYWQucm9sZS51bmljb2RlX2Vtb2ppXG4gIGlmIChwcm9wcy5mbGFncykgcm9sZS5mbGFncyA9IHBheWxvYWQucm9sZS5mbGFnc1xuICBpZiAocHJvcHMudGFncyAmJiBwYXlsb2FkLnJvbGUudGFncykge1xuICAgIHJvbGUuaW50ZXJuYWxUYWdzID0ge31cbiAgICBpZiAocGF5bG9hZC5yb2xlLnRhZ3MuYm90X2lkKSByb2xlLmludGVybmFsVGFncy5ib3RJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucm9sZS50YWdzLmJvdF9pZClcbiAgICBpZiAocGF5bG9hZC5yb2xlLnRhZ3MuaW50ZWdyYXRpb25faWQpIHJvbGUuaW50ZXJuYWxUYWdzLmludGVncmF0aW9uSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnJvbGUudGFncy5pbnRlZ3JhdGlvbl9pZClcbiAgICBpZiAocGF5bG9hZC5yb2xlLnRhZ3Muc3Vic2NyaXB0aW9uX2xpc3RpbmdfaWQpXG4gICAgICByb2xlLmludGVybmFsVGFncy5zdWJzY3JpcHRpb25MaXN0aW5nSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnJvbGUudGFncy5zdWJzY3JpcHRpb25fbGlzdGluZ19pZClcbiAgfVxuICBpZiAocHJvcHMudG9nZ2xlcykge1xuICAgIHJvbGUudG9nZ2xlcyA9IG5ldyBSb2xlVG9nZ2xlcyhwYXlsb2FkLnJvbGUpXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5yb2xlKGJvdCwgcGF5bG9hZC5yb2xlLCByb2xlKVxufVxuIl0sIm5hbWVzIjpbImljb25IYXNoVG9CaWdJbnQiLCJQZXJtaXNzaW9ucyIsIlJvbGVUb2dnbGVzIiwiYmFzZVJvbGUiLCJ1bmRlZmluZWQiLCJ0YWdzIiwiYm90SWQiLCJpbnRlcm5hbFRhZ3MiLCJpbnRlZ3JhdGlvbklkIiwic3Vic2NyaXB0aW9uTGlzdGluZ0lkIiwiYXZhaWxhYmxlRm9yUHVyY2hhc2UiLCJ0b2dnbGVzIiwiZ3VpbGRDb25uZWN0aW9ucyIsInByZW1pdW1TdWJzY3JpYmVyIiwiaG9pc3QiLCJoYXMiLCJtYW5hZ2VkIiwibWVudGlvbmFibGUiLCJ0cmFuc2Zvcm1Sb2xlIiwiYm90IiwicGF5bG9hZCIsInJvbGUiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiaWQiLCJzbm93Zmxha2UiLCJuYW1lIiwicG9zaXRpb24iLCJndWlsZElkIiwiY29sb3IiLCJwZXJtaXNzaW9ucyIsImljb24iLCJ1bmljb2RlRW1vamkiLCJ1bmljb2RlX2Vtb2ppIiwiZmxhZ3MiLCJib3RfaWQiLCJpbnRlZ3JhdGlvbl9pZCIsInN1YnNjcmlwdGlvbl9saXN0aW5nX2lkIiwiY3VzdG9taXplcnMiXSwibWFwcGluZ3MiOiJBQUNBLFNBQXNDQSxnQkFBZ0IsUUFBUSxjQUFhO0FBQzNFLFNBQVNDLFdBQVcsUUFBUSwyQkFBMEI7QUFDdEQsU0FBU0MsV0FBVyxRQUFRLG9CQUFtQjtBQUUvQyxPQUFPLE1BQU1DLFdBQWtFO0lBQzdFLDJFQUEyRTtJQUMzRSxHQUFJQyxTQUFTO0lBRWIsSUFBSUMsUUFBTztRQUNULE9BQU87WUFDTEMsT0FBTyxJQUFJLENBQUNDLFlBQVksRUFBRUQ7WUFDMUJFLGVBQWUsSUFBSSxDQUFDRCxZQUFZLEVBQUVDO1lBQ2xDQyx1QkFBdUIsSUFBSSxDQUFDRixZQUFZLEVBQUVFO1lBQzFDQyxzQkFBc0IsSUFBSSxDQUFDQyxPQUFPLEVBQUVEO1lBQ3BDRSxrQkFBa0IsSUFBSSxDQUFDRCxPQUFPLEVBQUVDO1lBQ2hDQyxtQkFBbUIsSUFBSSxDQUFDRixPQUFPLEVBQUVFO1FBQ25DO0lBQ0Y7SUFDQSwwREFBMEQsR0FDMUQsSUFBSUMsU0FBUTtRQUNWLE9BQU8sQ0FBQyxDQUFDLElBQUks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