@discordeno/bot 21.0.0-next.9afd5cc → 21.0.0-next.9ebaed6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/desiredProperties.cjs +17 -1
- package/dist/cjs/transformers/application.cjs +2 -1
- package/dist/cjs/transformers/component.cjs +4 -1
- package/dist/cjs/transformers/interaction.cjs +6 -2
- package/dist/cjs/transformers/reverse/component.cjs +7 -4
- package/dist/cjs/transformers/role.cjs +3 -2
- package/dist/cjs/transformers/user.cjs +23 -1
- package/dist/cjs/transformers.cjs +3 -1
- package/dist/esm/desiredProperties.js +17 -1
- package/dist/esm/transformers/application.js +2 -1
- package/dist/esm/transformers/component.js +4 -1
- package/dist/esm/transformers/interaction.js +6 -2
- package/dist/esm/transformers/reverse/component.js +7 -4
- package/dist/esm/transformers/role.js +3 -2
- package/dist/esm/transformers/types.js +1 -1
- package/dist/esm/transformers/user.js +17 -1
- package/dist/esm/transformers.js +4 -2
- package/dist/types/desiredProperties.d.ts +12 -6
- package/dist/types/desiredProperties.d.ts.map +1 -1
- package/dist/types/transformers/application.d.ts.map +1 -1
- package/dist/types/transformers/component.d.ts.map +1 -1
- package/dist/types/transformers/interaction.d.ts.map +1 -1
- package/dist/types/transformers/reverse/component.d.ts +1 -1
- package/dist/types/transformers/reverse/component.d.ts.map +1 -1
- package/dist/types/transformers/role.d.ts.map +1 -1
- package/dist/types/transformers/types.d.ts +26 -1
- package/dist/types/transformers/types.d.ts.map +1 -1
- package/dist/types/transformers/user.d.ts +4 -2
- package/dist/types/transformers/user.d.ts.map +1 -1
- package/dist/types/transformers.d.ts +6 -2
- package/dist/types/transformers.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -45,7 +45,10 @@ const baseInteraction = {
|
|
|
45
45
|
// If user provides an object, determine if it should be an autocomplete or a modal response
|
|
46
46
|
if (response.title) type = _types.InteractionResponseTypes.Modal;
|
|
47
47
|
if (this.type === _types.InteractionTypes.ApplicationCommandAutocomplete) type = _types.InteractionResponseTypes.ApplicationCommandAutocompleteResult;
|
|
48
|
-
if (type === _types.InteractionResponseTypes.ChannelMessageWithSource && options?.isPrivate)
|
|
48
|
+
if (type === _types.InteractionResponseTypes.ChannelMessageWithSource && options?.isPrivate) {
|
|
49
|
+
response.flags ??= 0;
|
|
50
|
+
response.flags |= _types.MessageFlags.Ephemeral;
|
|
51
|
+
}
|
|
49
52
|
// Since this has already been given a response, any further responses must be followups.
|
|
50
53
|
if (this.acknowledged) return await this.bot.helpers.sendFollowupMessage(this.token, response);
|
|
51
54
|
// Modals cannot be chained
|
|
@@ -135,6 +138,7 @@ function transformInteraction(bot, payload) {
|
|
|
135
138
|
});
|
|
136
139
|
if (props.channelId && payload.interaction.channel_id) interaction.channelId = bot.transformers.snowflake(payload.interaction.channel_id);
|
|
137
140
|
if (props.member && guildId && payload.interaction.member) interaction.member = bot.transformers.member(bot, payload.interaction.member, guildId, user.id);
|
|
141
|
+
if (props.entitlements && payload.interaction.entitlements) interaction.entitlements = payload.interaction.entitlements.map((e)=>bot.transformers.entitlement(bot, e));
|
|
138
142
|
if (props.authorizingIntegrationOwners && payload.interaction.authorizing_integration_owners) {
|
|
139
143
|
interaction.authorizingIntegrationOwners = {};
|
|
140
144
|
if (payload.interaction.authorizing_integration_owners['0']) interaction.authorizingIntegrationOwners[_types.DiscordApplicationIntegrationType.GuildInstall] = bot.transformers.snowflake(payload.interaction.authorizing_integration_owners['0']);
|
|
@@ -272,4 +276,4 @@ function transformInteractionResource(bot, payload) {
|
|
|
272
276
|
return bot.transformers.customizers.interactionResource(bot, payload.interactionResource, resource);
|
|
273
277
|
}
|
|
274
278
|
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbixcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMsXG4gIEludGVyYWN0aW9uVHlwZXMsXG4gIE1lc3NhZ2VGbGFncyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7XG4gIEJvdCxcbiAgRGlzY29yZENoYW5uZWwsXG4gIEludGVyYWN0aW9uLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIEludGVyYWN0aW9uUmVzb2x2ZWRDaGFubmVsLFxuICBJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcm5hbEJvdCxcbiAgTWVtYmVyLFxuICBNZXNzYWdlLFxufSBmcm9tICcuLi9pbmRleC5qcydcblxuZXhwb3J0IGNvbnN0IGJhc2VJbnRlcmFjdGlvbjogSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydpbnRlcmFjdGlvbiddID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnaW50ZXJhY3Rpb24nXSksXG5cbiAgYXN5bmMgcmVzcG9uZChyZXNwb25zZSwgb3B0aW9ucykge1xuICAgIGxldCB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGFuIG9iamVjdCwgZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBiZSBhbiBhdXRvY29tcGxldGUgb3IgYSBtb2RhbCByZXNwb25zZVxuICAgIGlmIChyZXNwb25zZS50aXRsZSkgdHlwZSA9IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdFxuICAgIGlmICh0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlICYmIG9wdGlvbnM/LmlzUHJpdmF0ZSkgcmVzcG9uc2UuZmxhZ3MgPSBNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsXG5cbiAgICAvLyBTaW5jZSB0aGlzIGhhcyBhbHJlYWR5IGJlZW4gZ2l2ZW4gYSByZXNwb25zZSwgYW55IGZ1cnRoZXIgcmVzcG9uc2VzIG11c3QgYmUgZm9sbG93dXBzLlxuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCByZXNwb25zZSlcblxuICAgIC8vIE1vZGFscyBjYW5ub3QgYmUgY2hhaW5lZFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQgJiYgdHlwZSA9PT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVzcG9uZCB0byBhIG1vZGFsIGludGVyYWN0aW9uIHdpdGggYW5vdGhlciBtb2RhbC4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCwgdGhpcy50b2tlbiwgeyB0eXBlLCBkYXRhOiByZXNwb25zZSB9LCB7IHdpdGhSZXNwb25zZTogb3B0aW9ucz8ud2l0aFJlc3BvbnNlIH0pXG4gIH0sXG4gIGFzeW5jIGVkaXQocmVzcG9uc2UsIG1lc3NhZ2VJZCwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICBpZiAobWVzc2FnZUlkKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZWRpdEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCBtZXNzYWdlSWQsIHJlc3BvbnNlKVxuICAgIH1cblxuICAgIGlmICghdGhpcy5hY2tub3dsZWRnZWQpIHtcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudCAmJiB0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoaXMgaW50ZXJhY3Rpb24gaGFzIG5vdCBiZWVuIHJlc3BvbmRlZCB0byB5ZXQgYW5kIHRoaXMgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IG9yIE1vZGFsU3VibWl0IGludGVyYWN0aW9uLlwiKVxuXG4gICAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKFxuICAgICAgICB0aGlzLmlkLFxuICAgICAgICB0aGlzLnRva2VuLFxuICAgICAgICB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5VcGRhdGVNZXNzYWdlLCBkYXRhOiByZXNwb25zZSB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLmVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbiwgcmVzcG9uc2UpXG4gIH0sXG4gIGFzeW5jIGRlZmVyRWRpdChvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGVkaXQgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uLicpXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWZlciBhbiBhbHJlYWR5IHJlc3BvbmRlZCBpbnRlcmFjdGlvbi4nKVxuXG4gICAgaWYgKHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50ICYmIHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdClcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBkZWZlciB0byB0aGVuIGVkaXQgYW4gaW50ZXJhY3Rpb24gdGhhdCBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgb3IgTW9kYWxTdWJtaXQgaW50ZXJhY3Rpb24uXCIpXG5cbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLmlkLCB0aGlzLnRva2VuLCB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5EZWZlcnJlZFVwZGF0ZU1lc3NhZ2UgfSwgb3B0aW9ucylcbiAgfSxcbiAgYXN5bmMgZGVmZXIoaXNQcml2YXRlLCBvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWZlciBhbiBhbHJlYWR5IHJlc3BvbmRlZCBpbnRlcmFjdGlvbi4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICB0aGlzLmlkLFxuICAgICAgdGhpcy50b2tlbixcbiAgICAgIHtcbiAgICAgICAgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZmxhZ3M6IGlzUHJpdmF0ZSA/IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwgOiB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApXG4gIH0sXG4gIGFzeW5jIGRlbGV0ZShtZXNzYWdlSWQpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVsZXRlIGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbicpXG5cbiAgICBpZiAobWVzc2FnZUlkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlRm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIG1lc3NhZ2VJZClcbiAgICBlbHNlIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5kZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbilcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb247IHNoYXJkSWQ6IG51bWJlciB9LFxuKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuaW50ZXJhY3Rpb24ge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGRfaWQpIDogdW5kZWZpbmVkXG4gIGNvbnN0IHVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uLm1lbWJlcj8udXNlciA/PyBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIhKVxuXG4gIGNvbnN0IGludGVyYWN0aW9uOiBJbnRlcmFjdGlvbiA9IE9iamVjdC5jcmVhdGUoYmFzZUludGVyYWN0aW9uKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25cbiAgLy8gVHlwZXNjcmlwdCBoYXMgYW4gaGFyZCB0aW1lIHdpdGggdGhpcywgc28gd2UgbmVlZCB0byB0ZWxsIGhpbSBmb3Igc3VyZSB0aGlzIGlzIGEgQm90XG4gIGludGVyYWN0aW9uLmJvdCA9IGJvdCBhcyB1bmtub3duIGFzIEJvdFxuICBpbnRlcmFjdGlvbi5hY2tub3dsZWRnZWQgPSBmYWxzZVxuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmlkKSBpbnRlcmFjdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uaWQpXG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwbGljYXRpb25faWQpXG4gICAgaW50ZXJhY3Rpb24uYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZSkgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZVxuICBpZiAocHJvcHMudG9rZW4gJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi50b2tlbikgaW50ZXJhY3Rpb24udG9rZW4gPSBwYXlsb2FkLmludGVyYWN0aW9uLnRva2VuXG4gIGlmIChwcm9wcy52ZXJzaW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udmVyc2lvbikgaW50ZXJhY3Rpb24udmVyc2lvbiA9IHBheWxvYWQuaW50ZXJhY3Rpb24udmVyc2lvblxuICBpZiAocHJvcHMubG9jYWxlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubG9jYWxlKSBpbnRlcmFjdGlvbi5sb2NhbGUgPSBwYXlsb2FkLmludGVyYWN0aW9uLmxvY2FsZVxuICBpZiAocHJvcHMuZ3VpbGRMb2NhbGUgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9sb2NhbGUpIGludGVyYWN0aW9uLmd1aWxkTG9jYWxlID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGQpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwYXlsb2FkLmludGVyYWN0aW9uLmd1aWxkIGlzIGEgUGFydGlhbDxEaXNjb3JkR3VpbGQ+XG4gICAgaW50ZXJhY3Rpb24uZ3VpbGQgPSBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgeyBndWlsZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZCwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG4gIGlmIChwcm9wcy5ndWlsZElkICYmIGd1aWxkSWQpIGludGVyYWN0aW9uLmd1aWxkSWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy51c2VyICYmIHVzZXIpIGludGVyYWN0aW9uLnVzZXIgPSB1c2VyXG4gIGlmIChwcm9wcy5hcHBQZXJtaXNzaW9ucyAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmFwcF9wZXJtaXNzaW9ucylcbiAgICBpbnRlcmFjdGlvbi5hcHBQZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwX3Blcm1pc3Npb25zKVxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLm1lc3NhZ2UpXG4gICAgaW50ZXJhY3Rpb24ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5tZXNzYWdlLCBzaGFyZElkOiAwIH0pXG4gIGlmIChwcm9wcy5jaGFubmVsICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uY2hhbm5lbClcbiAgICBpbnRlcmFjdGlvbi5jaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWwgYXMgRGlzY29yZENoYW5uZWwsIGd1aWxkSWQgfSlcbiAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWxfaWQpIGludGVyYWN0aW9uLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyKVxuICAgIGludGVyYWN0aW9uLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXIsIGd1aWxkSWQsIHVzZXIuaWQpXG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzKSB7XG4gICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9XG5cbiAgICBpZiAocGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLkd1aWxkSW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSxcbiAgICAgIClcbiAgICBpZiAocGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmludGVyYWN0aW9uLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKVxuICB9XG4gIGlmIChwcm9wcy5jb250ZXh0ICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uY29udGV4dCkgaW50ZXJhY3Rpb24uY29udGV4dCA9IHBheWxvYWQuaW50ZXJhY3Rpb24uY29udGV4dFxuICBpZiAocHJvcHMuYXR0YWNobWVudFNpemVMaW1pdCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmF0dGFjaG1lbnRfc2l6ZV9saW1pdClcbiAgICBpbnRlcmFjdGlvbi5hdHRhY2htZW50U2l6ZUxpbWl0ID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5hdHRhY2htZW50X3NpemVfbGltaXRcbiAgaWYgKHByb3BzLmRhdGEgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhKSB7XG4gICAgaW50ZXJhY3Rpb24uZGF0YSA9IHtcbiAgICAgIHR5cGU6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS50eXBlLFxuICAgICAgY29tcG9uZW50VHlwZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmNvbXBvbmVudF90eXBlLFxuICAgICAgY3VzdG9tSWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5jdXN0b21faWQsXG4gICAgICBjb21wb25lbnRzOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSksXG4gICAgICB2YWx1ZXM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS52YWx1ZXMsXG4gICAgICBpZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgIG5hbWU6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5uYW1lLFxuICAgICAgcmVzb2x2ZWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZFxuICAgICAgICA/IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCB7IHJlc29sdmVkOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCwgZ3VpbGRJZCB9KVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIG9wdGlvbnM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5vcHRpb25zPy5tYXAoKG9wdCkgPT4gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0KSksXG4gICAgICB0YXJnZXRJZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnRhcmdldF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS50YXJnZXRfaWQpIDogdW5kZWZpbmVkLFxuICAgIH1cbiAgfVxuXG4gIC8vIFR5cGVzY3JpcHQgaGFzIGFuIGhhcmQgdGltZSB3aXRoIGludGVyYWN0aW9uLmJvdCwgc28gd2UgbmVlZCB0byB0ZWxsIGhpbSBmb3Igc3VyZSB0aGlzIGludGVyYWN0aW9uIGlzIHRoZSBvZiB0aGUgY29ycmVjdCB0eXBlXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uKGJvdCwgcGF5bG9hZCwgaW50ZXJhY3Rpb24gYXMgdW5rbm93biBhcyB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbihib3Q6IEJvdCwgb3B0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uKTogSW50ZXJhY3Rpb25EYXRhT3B0aW9uIHtcbiAgY29uc3Qgb3B0ID0ge1xuICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxuICAgIHR5cGU6IG9wdGlvbi50eXBlLFxuICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgb3B0aW9uczogb3B0aW9uLm9wdGlvbnMsXG4gICAgZm9jdXNlZDogb3B0aW9uLmZvY3VzZWQsXG4gIH0gYXMgSW50ZXJhY3Rpb25EYXRhT3B0aW9uXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyhib3QsIG9wdGlvbiwgb3B0KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgcmVzb2x2ZWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDsgc2hhcmRJZDogbnVtYmVyOyBndWlsZElkPzogYmlnaW50IH0sXG4pOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCB7XG4gIGNvbnN0IHRyYW5zZm9ybWVkOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCA9IHt9XG5cbiAgaWYgKHBheWxvYWQucmVzb2x2ZWQubWVzc2FnZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZXNzYWdlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5tZXNzYWdlcykubWFwKChbX2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogdmFsdWUsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCB9KVxuICAgICAgICByZXR1cm4gW21lc3NhZ2UuaWQsIG1lc3NhZ2VdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC5yZXNvbHZlZC51c2Vycykge1xuICAgIHRyYW5zZm9ybWVkLnVzZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnJlc29sdmVkLnVzZXJzKS5tYXAoKFtfaWQsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCB1c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgdmFsdWUpXG4gICAgICAgIHJldHVybiBbdXNlci5pZCwgdXNlcl1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLmd1aWxkSWQgJiYgcGF5bG9hZC5yZXNvbHZlZC5tZW1iZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5tZW1iZXJzKS5tYXAoKFtpZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbWJlcjogTWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCB2YWx1ZSwgcGF5bG9hZC5ndWlsZElkISwgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKVxuICAgICAgICByZXR1cm4gW21lbWJlci5pZCwgbWVtYmVyXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQuZ3VpbGRJZCAmJiBwYXlsb2FkLnJlc29sdmVkLnJvbGVzKSB7XG4gICAgdHJhbnNmb3JtZWQucm9sZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQucm9sZXMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvbGUgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGU6IHZhbHVlLCBndWlsZElkOiBwYXlsb2FkLmd1aWxkSWQhIH0pXG4gICAgICAgIHJldHVybiBbcm9sZS5pZCwgcm9sZV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnJlc29sdmVkLmNoYW5uZWxzKSB7XG4gICAgdHJhbnNmb3JtZWQuY2hhbm5lbHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQuY2hhbm5lbHMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5uZWwgPSBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHZhbHVlIH0pIGFzIEludGVyYWN0aW9uUmVzb2x2ZWRDaGFubmVsXG4gICAgICAgIHJldHVybiBbY2hhbm5lbC5pZCwgY2hhbm5lbF1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnJlc29sdmVkLmF0dGFjaG1lbnRzKSB7XG4gICAgdHJhbnNmb3JtZWQuYXR0YWNobWVudHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQuYXR0YWNobWVudHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuICAgICAgICByZXR1cm4gW2lkLCBib3QudHJhbnNmb3JtZXJzLmF0dGFjaG1lbnQoYm90LCB2YWx1ZSldXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQsIHRyYW5zZm9ybWVkKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTsgc2hhcmRJZDogbnVtYmVyIH0sXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG4gIGNvbnN0IHJlc3BvbnNlID0ge30gYXMgSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG5cbiAgaWYgKHByb3BzLmludGVyYWN0aW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLmludGVyYWN0aW9uKVxuICAgIHJlc3BvbnNlLmludGVyYWN0aW9uID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkNhbGxiYWNrKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UuaW50ZXJhY3Rpb24pXG4gIGlmIChwcm9wcy5yZXNvdXJjZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZS5yZXNvdXJjZSlcbiAgICByZXNwb25zZS5yZXNvdXJjZSA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25SZXNvdXJjZShib3QsIHtcbiAgICAgIGludGVyYWN0aW9uUmVzb3VyY2U6IHBheWxvYWQuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLnJlc291cmNlLFxuICAgICAgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkLFxuICAgIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsIHJlc3BvbnNlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayhcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbkNhbGxiYWNrIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uQ2FsbGJhY2tcbiAgY29uc3QgY2FsbGJhY2sgPSB7fSBhcyBJbnRlcmFjdGlvbkNhbGxiYWNrXG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNhbGxiYWNrLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZClcbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBjYWxsYmFjay50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlSWQgJiYgcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZV9pZCkgY2FsbGJhY2suYWN0aXZpdHlJbnN0YW5jZUlkID0gcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZV9pZFxuICBpZiAocHJvcHMucmVzcG9uc2VNZXNzYWdlSWQgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2lkKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9pZClcbiAgaWYgKHByb3BzLnJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwgPSBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsXG4gIGlmIChwcm9wcy5yZXNwb25zZU1lc3NhZ2VMb2FkaW5nICYmIHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9sb2FkaW5nKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VMb2FkaW5nID0gcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2xvYWRpbmdcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkNhbGxiYWNrKGJvdCwgcGF5bG9hZCwgY2FsbGJhY2spXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uUmVzb3VyY2U6IERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlOyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uUmVzb3VyY2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25SZXNvdXJjZVxuICBjb25zdCByZXNvdXJjZSA9IHt9IGFzIEludGVyYWN0aW9uUmVzb3VyY2VcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uUmVzb3VyY2UudHlwZSkgcmVzb3VyY2UudHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5hY3Rpdml0eV9pbnN0YW5jZSlcbiAgICByZXNvdXJjZS5hY3Rpdml0eUluc3RhbmNlID0gcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLmFjdGl2aXR5X2luc3RhbmNlXG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5tZXNzYWdlKVxuICAgIHJlc291cmNlLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB7IG1lc3NhZ2U6IHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5tZXNzYWdlLCBzaGFyZElkOiBwYXlsb2FkLnNoYXJkSWQgfSlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvblJlc291cmNlKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLCByZXNvdXJjZSlcbn1cbiJdLCJuYW1lcyI6WyJiYXNlSW50ZXJhY3Rpb24iLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2siLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24iLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsInRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UiLCJ1bmRlZmluZWQiLCJyZXNwb25kIiwicmVzcG9uc2UiLCJvcHRpb25zIiwidHlwZSIsIkludGVyYWN0aW9uUmVzcG9uc2VUeXBlcyIsIkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSIsImNvbnRlbnQiLCJ0aXRsZSIsIk1vZGFsIiwiSW50ZXJhY3Rpb25UeXBlcyIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdCIsImlzUHJpdmF0ZSIsImZsYWdzIiwiTWVzc2FnZUZsYWdzIiwiRXBoZW1lcmFsIiwiYWNrbm93bGVkZ2VkIiwiYm90IiwiaGVscGVycyIsInNlbmRGb2xsb3d1cE1lc3NhZ2UiLCJ0b2tlbiIsIk1vZGFsU3VibWl0IiwiRXJyb3IiLCJzZW5kSW50ZXJhY3Rpb25SZXNwb25zZSIsImlkIiwiZGF0YSIsIndpdGhSZXNwb25zZSIsImVkaXQiLCJtZXNzYWdlSWQiLCJlZGl0Rm9sbG93dXBNZXNzYWdlIiwiTWVzc2FnZUNvbXBvbmVudCIsIlVwZGF0ZU1lc3NhZ2UiLCJlZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwiZGVmZXJFZGl0IiwiRGVmZXJyZWRVcGRhdGVNZXNzYWdlIiwiZGVmZXIiLCJEZWZlcnJlZENoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSIsImRlbGV0ZSIsImRlbGV0ZUZvbGxvd3VwTWVzc2FnZSIsImRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsInBheWxvYWQiLCJndWlsZElkIiwiaW50ZXJhY3Rpb24iLCJndWlsZF9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVzZXIiLCJtZW1iZXIiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwidmVyc2lvbiIsImxvY2FsZSIsImd1aWxkTG9jYWxlIiwiZ3VpbGRfbG9jYWxlIiwiZ3VpbGQiLCJzaGFyZElkIiwiYXBwUGVybWlzc2lvbnMiLCJhcHBfcGVybWlzc2lvbnMiLCJtZXNzYWdlIiwiY2hhbm5lbCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzIiwiYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzIiwiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiR3VpbGRJbnN0YWxsIiwiVXNlckluc3RhbGwiLCJjb250ZXh0IiwiYXR0YWNobWVudFNpemVMaW1pdCIsImF0dGFjaG1lbnRfc2l6ZV9saW1pdCIsImNvbXBvbmVudFR5cGUiLCJjb21wb25lbnRfdHlwZSIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwiY29tcG9uZW50cyIsIm1hcCIsImNvbXBvbmVudCIsInZhbHVlcyIsIm5hbWUiLCJyZXNvbHZlZCIsImludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwib3B0IiwiaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyIsInRhcmdldElkIiwidGFyZ2V0X2lkIiwiY3VzdG9taXplcnMiLCJvcHRpb24iLCJ2YWx1ZSIsImZvY3VzZWQiLCJ0cmFuc2Zvcm1lZCIsIm1lc3NhZ2VzIiwiQ29sbGVjdGlvbiIsImVudHJpZXMiLCJfaWQiLCJ1c2VycyIsIm1lbWJlcnMiLCJyb2xlcyIsInJvbGUiLCJjaGFubmVscyIsImF0dGFjaG1lbnRzIiwia2V5IiwiYXR0YWNobWVudCIsImludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsImludGVyYWN0aW9uQ2FsbGJhY2siLCJyZXNvdXJjZSIsImludGVyYWN0aW9uUmVzb3VyY2UiLCJjYWxsYmFjayIsImFjdGl2aXR5SW5zdGFuY2VJZCIsImFjdGl2aXR5X2luc3RhbmNlX2lkIiwicmVzcG9uc2VNZXNzYWdlSWQiLCJyZXNwb25zZV9tZXNzYWdlX2lkIiwicmVzcG9uc2VNZXNzYWdlRXBoZW1lcmFsIiwicmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWwiLCJyZXNwb25zZU1lc3NhZ2VMb2FkaW5nIiwicmVzcG9uc2VfbWVzc2FnZV9sb2FkaW5nIiwiYWN0aXZpdHlJbnN0YW5jZSIsImFjdGl2aXR5X2luc3RhbmNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQTRCYUEsZUFBZTtlQUFmQTs7SUFvRkdDLG9CQUFvQjtlQUFwQkE7O0lBb0tBQyw0QkFBNEI7ZUFBNUJBOztJQWxCQUMsb0NBQW9DO2VBQXBDQTs7SUEzRUFDLDhCQUE4QjtlQUE5QkE7O0lBWUFDLGdDQUFnQztlQUFoQ0E7O0lBa0dBQyw0QkFBNEI7ZUFBNUJBOzs7dUJBMVJUO3VCQUNvQjtBQWdCcEIsTUFBTU4sa0JBQWdGO0lBQzNGLDJFQUEyRTtJQUMzRSxHQUFJTyxTQUFTO0lBRWIsTUFBTUMsU0FBUUMsUUFBUSxFQUFFQyxPQUFPO1FBQzdCLElBQUlDLE9BQU9DLCtCQUF3QixDQUFDQyx3QkFBd0I7UUFFNUQsNERBQTREO1FBQzVELElBQUksT0FBT0osYUFBYSxVQUFVQSxXQUFXO1lBQUVLLFNBQVNMO1FBQVM7UUFFakUsNEZBQTRGO1FBQzVGLElBQUlBLFNBQVNNLEtBQUssRUFBRUosT0FBT0MsK0JBQXdCLENBQUNJLEtBQUs7UUFDekQsSUFBSSxJQUFJLENBQUNMLElBQUksS0FBS00sdUJBQWdCLENBQUNDLDhCQUE4QixFQUFFUCxPQUFPQywrQkFBd0IsQ0FBQ08sb0NBQW9DO1FBQ3ZJLElBQUlSLFNBQVNDLCtCQUF3QixD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
|
|
279
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbixcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMsXG4gIEludGVyYWN0aW9uVHlwZXMsXG4gIE1lc3NhZ2VGbGFncyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7XG4gIEJvdCxcbiAgRGlzY29yZENoYW5uZWwsXG4gIEludGVyYWN0aW9uLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIEludGVyYWN0aW9uUmVzb2x2ZWRDaGFubmVsLFxuICBJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcm5hbEJvdCxcbiAgTWVtYmVyLFxuICBNZXNzYWdlLFxufSBmcm9tICcuLi9pbmRleC5qcydcblxuZXhwb3J0IGNvbnN0IGJhc2VJbnRlcmFjdGlvbjogSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydpbnRlcmFjdGlvbiddID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnaW50ZXJhY3Rpb24nXSksXG5cbiAgYXN5bmMgcmVzcG9uZChyZXNwb25zZSwgb3B0aW9ucykge1xuICAgIGxldCB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGFuIG9iamVjdCwgZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBiZSBhbiBhdXRvY29tcGxldGUgb3IgYSBtb2RhbCByZXNwb25zZVxuICAgIGlmIChyZXNwb25zZS50aXRsZSkgdHlwZSA9IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdFxuICAgIGlmICh0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlICYmIG9wdGlvbnM/LmlzUHJpdmF0ZSkge1xuICAgICAgcmVzcG9uc2UuZmxhZ3MgPz89IDBcbiAgICAgIHJlc3BvbnNlLmZsYWdzIHw9IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWxcbiAgICB9XG5cbiAgICAvLyBTaW5jZSB0aGlzIGhhcyBhbHJlYWR5IGJlZW4gZ2l2ZW4gYSByZXNwb25zZSwgYW55IGZ1cnRoZXIgcmVzcG9uc2VzIG11c3QgYmUgZm9sbG93dXBzLlxuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCByZXNwb25zZSlcblxuICAgIC8vIE1vZGFscyBjYW5ub3QgYmUgY2hhaW5lZFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQgJiYgdHlwZSA9PT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVzcG9uZCB0byBhIG1vZGFsIGludGVyYWN0aW9uIHdpdGggYW5vdGhlciBtb2RhbC4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCwgdGhpcy50b2tlbiwgeyB0eXBlLCBkYXRhOiByZXNwb25zZSB9LCB7IHdpdGhSZXNwb25zZTogb3B0aW9ucz8ud2l0aFJlc3BvbnNlIH0pXG4gIH0sXG4gIGFzeW5jIGVkaXQocmVzcG9uc2UsIG1lc3NhZ2VJZCwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICBpZiAobWVzc2FnZUlkKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZWRpdEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCBtZXNzYWdlSWQsIHJlc3BvbnNlKVxuICAgIH1cblxuICAgIGlmICghdGhpcy5hY2tub3dsZWRnZWQpIHtcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudCAmJiB0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoaXMgaW50ZXJhY3Rpb24gaGFzIG5vdCBiZWVuIHJlc3BvbmRlZCB0byB5ZXQgYW5kIHRoaXMgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IG9yIE1vZGFsU3VibWl0IGludGVyYWN0aW9uLlwiKVxuXG4gICAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKFxuICAgICAgICB0aGlzLmlkLFxuICAgICAgICB0aGlzLnRva2VuLFxuICAgICAgICB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5VcGRhdGVNZXNzYWdlLCBkYXRhOiByZXNwb25zZSB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLmVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbiwgcmVzcG9uc2UpXG4gIH0sXG4gIGFzeW5jIGRlZmVyRWRpdChvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGVkaXQgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uLicpXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWZlciBhbiBhbHJlYWR5IHJlc3BvbmRlZCBpbnRlcmFjdGlvbi4nKVxuXG4gICAgaWYgKHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50ICYmIHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdClcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBkZWZlciB0byB0aGVuIGVkaXQgYW4gaW50ZXJhY3Rpb24gdGhhdCBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgb3IgTW9kYWxTdWJtaXQgaW50ZXJhY3Rpb24uXCIpXG5cbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLmlkLCB0aGlzLnRva2VuLCB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5EZWZlcnJlZFVwZGF0ZU1lc3NhZ2UgfSwgb3B0aW9ucylcbiAgfSxcbiAgYXN5bmMgZGVmZXIoaXNQcml2YXRlLCBvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWZlciBhbiBhbHJlYWR5IHJlc3BvbmRlZCBpbnRlcmFjdGlvbi4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICB0aGlzLmlkLFxuICAgICAgdGhpcy50b2tlbixcbiAgICAgIHtcbiAgICAgICAgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZmxhZ3M6IGlzUHJpdmF0ZSA/IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwgOiB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApXG4gIH0sXG4gIGFzeW5jIGRlbGV0ZShtZXNzYWdlSWQpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVsZXRlIGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbicpXG5cbiAgICBpZiAobWVzc2FnZUlkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlRm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIG1lc3NhZ2VJZClcbiAgICBlbHNlIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5kZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbilcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb247IHNoYXJkSWQ6IG51bWJlciB9LFxuKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuaW50ZXJhY3Rpb24ge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGRfaWQpIDogdW5kZWZpbmVkXG4gIGNvbnN0IHVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uLm1lbWJlcj8udXNlciA/PyBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIhKVxuXG4gIGNvbnN0IGludGVyYWN0aW9uOiBJbnRlcmFjdGlvbiA9IE9iamVjdC5jcmVhdGUoYmFzZUludGVyYWN0aW9uKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25cbiAgLy8gVHlwZXNjcmlwdCBoYXMgYW4gaGFyZCB0aW1lIHdpdGggdGhpcywgc28gd2UgbmVlZCB0byB0ZWxsIGhpbSBmb3Igc3VyZSB0aGlzIGlzIGEgQm90XG4gIGludGVyYWN0aW9uLmJvdCA9IGJvdCBhcyB1bmtub3duIGFzIEJvdFxuICBpbnRlcmFjdGlvbi5hY2tub3dsZWRnZWQgPSBmYWxzZVxuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmlkKSBpbnRlcmFjdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uaWQpXG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwbGljYXRpb25faWQpXG4gICAgaW50ZXJhY3Rpb24uYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZSkgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZVxuICBpZiAocHJvcHMudG9rZW4gJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi50b2tlbikgaW50ZXJhY3Rpb24udG9rZW4gPSBwYXlsb2FkLmludGVyYWN0aW9uLnRva2VuXG4gIGlmIChwcm9wcy52ZXJzaW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udmVyc2lvbikgaW50ZXJhY3Rpb24udmVyc2lvbiA9IHBheWxvYWQuaW50ZXJhY3Rpb24udmVyc2lvblxuICBpZiAocHJvcHMubG9jYWxlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubG9jYWxlKSBpbnRlcmFjdGlvbi5sb2NhbGUgPSBwYXlsb2FkLmludGVyYWN0aW9uLmxvY2FsZVxuICBpZiAocHJvcHMuZ3VpbGRMb2NhbGUgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9sb2NhbGUpIGludGVyYWN0aW9uLmd1aWxkTG9jYWxlID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGQpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwYXlsb2FkLmludGVyYWN0aW9uLmd1aWxkIGlzIGEgUGFydGlhbDxEaXNjb3JkR3VpbGQ+XG4gICAgaW50ZXJhY3Rpb24uZ3VpbGQgPSBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgeyBndWlsZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZCwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG4gIGlmIChwcm9wcy5ndWlsZElkICYmIGd1aWxkSWQpIGludGVyYWN0aW9uLmd1aWxkSWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy51c2VyICYmIHVzZXIpIGludGVyYWN0aW9uLnVzZXIgPSB1c2VyXG4gIGlmIChwcm9wcy5hcHBQZXJtaXNzaW9ucyAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmFwcF9wZXJtaXNzaW9ucylcbiAgICBpbnRlcmFjdGlvbi5hcHBQZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwX3Blcm1pc3Npb25zKVxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLm1lc3NhZ2UpXG4gICAgaW50ZXJhY3Rpb24ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5tZXNzYWdlLCBzaGFyZElkOiAwIH0pXG4gIGlmIChwcm9wcy5jaGFubmVsICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uY2hhbm5lbClcbiAgICBpbnRlcmFjdGlvbi5jaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWwgYXMgRGlzY29yZENoYW5uZWwsIGd1aWxkSWQgfSlcbiAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWxfaWQpIGludGVyYWN0aW9uLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyKVxuICAgIGludGVyYWN0aW9uLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXIsIGd1aWxkSWQsIHVzZXIuaWQpXG4gIGlmIChwcm9wcy5lbnRpdGxlbWVudHMgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5lbnRpdGxlbWVudHMpXG4gICAgaW50ZXJhY3Rpb24uZW50aXRsZW1lbnRzID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5lbnRpdGxlbWVudHMubWFwKChlKSA9PiBib3QudHJhbnNmb3JtZXJzLmVudGl0bGVtZW50KGJvdCwgZSkpXG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzKSB7XG4gICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9XG5cbiAgICBpZiAocGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLkd1aWxkSW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSxcbiAgICAgIClcbiAgICBpZiAocGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmludGVyYWN0aW9uLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKVxuICB9XG4gIGlmIChwcm9wcy5jb250ZXh0ICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uY29udGV4dCkgaW50ZXJhY3Rpb24uY29udGV4dCA9IHBheWxvYWQuaW50ZXJhY3Rpb24uY29udGV4dFxuICBpZiAocHJvcHMuYXR0YWNobWVudFNpemVMaW1pdCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmF0dGFjaG1lbnRfc2l6ZV9saW1pdClcbiAgICBpbnRlcmFjdGlvbi5hdHRhY2htZW50U2l6ZUxpbWl0ID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5hdHRhY2htZW50X3NpemVfbGltaXRcbiAgaWYgKHByb3BzLmRhdGEgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhKSB7XG4gICAgaW50ZXJhY3Rpb24uZGF0YSA9IHtcbiAgICAgIHR5cGU6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS50eXBlLFxuICAgICAgY29tcG9uZW50VHlwZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmNvbXBvbmVudF90eXBlLFxuICAgICAgY3VzdG9tSWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5jdXN0b21faWQsXG4gICAgICBjb21wb25lbnRzOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSksXG4gICAgICB2YWx1ZXM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS52YWx1ZXMsXG4gICAgICBpZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgIG5hbWU6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5uYW1lLFxuICAgICAgcmVzb2x2ZWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZFxuICAgICAgICA/IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCB7IHJlc29sdmVkOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCwgZ3VpbGRJZCB9KVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIG9wdGlvbnM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5vcHRpb25zPy5tYXAoKG9wdCkgPT4gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0KSksXG4gICAgICB0YXJnZXRJZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnRhcmdldF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS50YXJnZXRfaWQpIDogdW5kZWZpbmVkLFxuICAgIH1cbiAgfVxuXG4gIC8vIFR5cGVzY3JpcHQgaGFzIGFuIGhhcmQgdGltZSB3aXRoIGludGVyYWN0aW9uLmJvdCwgc28gd2UgbmVlZCB0byB0ZWxsIGhpbSBmb3Igc3VyZSB0aGlzIGludGVyYWN0aW9uIGlzIHRoZSBvZiB0aGUgY29ycmVjdCB0eXBlXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uKGJvdCwgcGF5bG9hZCwgaW50ZXJhY3Rpb24gYXMgdW5rbm93biBhcyB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbihib3Q6IEJvdCwgb3B0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uKTogSW50ZXJhY3Rpb25EYXRhT3B0aW9uIHtcbiAgY29uc3Qgb3B0ID0ge1xuICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxuICAgIHR5cGU6IG9wdGlvbi50eXBlLFxuICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgb3B0aW9uczogb3B0aW9uLm9wdGlvbnMsXG4gICAgZm9jdXNlZDogb3B0aW9uLmZvY3VzZWQsXG4gIH0gYXMgSW50ZXJhY3Rpb25EYXRhT3B0aW9uXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyhib3QsIG9wdGlvbiwgb3B0KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgcmVzb2x2ZWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDsgc2hhcmRJZDogbnVtYmVyOyBndWlsZElkPzogYmlnaW50IH0sXG4pOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCB7XG4gIGNvbnN0IHRyYW5zZm9ybWVkOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCA9IHt9XG5cbiAgaWYgKHBheWxvYWQucmVzb2x2ZWQubWVzc2FnZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZXNzYWdlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5tZXNzYWdlcykubWFwKChbX2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogdmFsdWUsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCB9KVxuICAgICAgICByZXR1cm4gW21lc3NhZ2UuaWQsIG1lc3NhZ2VdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC5yZXNvbHZlZC51c2Vycykge1xuICAgIHRyYW5zZm9ybWVkLnVzZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnJlc29sdmVkLnVzZXJzKS5tYXAoKFtfaWQsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCB1c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgdmFsdWUpXG4gICAgICAgIHJldHVybiBbdXNlci5pZCwgdXNlcl1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLmd1aWxkSWQgJiYgcGF5bG9hZC5yZXNvbHZlZC5tZW1iZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5tZW1iZXJzKS5tYXAoKFtpZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbWJlcjogTWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCB2YWx1ZSwgcGF5bG9hZC5ndWlsZElkISwgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKVxuICAgICAgICByZXR1cm4gW21lbWJlci5pZCwgbWVtYmVyXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQuZ3VpbGRJZCAmJiBwYXlsb2FkLnJlc29sdmVkLnJvbGVzKSB7XG4gICAgdHJhbnNmb3JtZWQucm9sZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQucm9sZXMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvbGUgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGU6IHZhbHVlLCBndWlsZElkOiBwYXlsb2FkLmd1aWxkSWQhIH0pXG4gICAgICAgIHJldHVybiBbcm9sZS5pZCwgcm9sZV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnJlc29sdmVkLmNoYW5uZWxzKSB7XG4gICAgdHJhbnNmb3JtZWQuY2hhbm5lbHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQuY2hhbm5lbHMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5uZWwgPSBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHZhbHVlIH0pIGFzIEludGVyYWN0aW9uUmVzb2x2ZWRDaGFubmVsXG4gICAgICAgIHJldHVybiBbY2hhbm5lbC5pZCwgY2hhbm5lbF1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnJlc29sdmVkLmF0dGFjaG1lbnRzKSB7XG4gICAgdHJhbnNmb3JtZWQuYXR0YWNobWVudHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQuYXR0YWNobWVudHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuICAgICAgICByZXR1cm4gW2lkLCBib3QudHJhbnNmb3JtZXJzLmF0dGFjaG1lbnQoYm90LCB2YWx1ZSldXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQsIHRyYW5zZm9ybWVkKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTsgc2hhcmRJZDogbnVtYmVyIH0sXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG4gIGNvbnN0IHJlc3BvbnNlID0ge30gYXMgSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG5cbiAgaWYgKHByb3BzLmludGVyYWN0aW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLmludGVyYWN0aW9uKVxuICAgIHJlc3BvbnNlLmludGVyYWN0aW9uID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkNhbGxiYWNrKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UuaW50ZXJhY3Rpb24pXG4gIGlmIChwcm9wcy5yZXNvdXJjZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZS5yZXNvdXJjZSlcbiAgICByZXNwb25zZS5yZXNvdXJjZSA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25SZXNvdXJjZShib3QsIHtcbiAgICAgIGludGVyYWN0aW9uUmVzb3VyY2U6IHBheWxvYWQuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLnJlc291cmNlLFxuICAgICAgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkLFxuICAgIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsIHJlc3BvbnNlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayhcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbkNhbGxiYWNrIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uQ2FsbGJhY2tcbiAgY29uc3QgY2FsbGJhY2sgPSB7fSBhcyBJbnRlcmFjdGlvbkNhbGxiYWNrXG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNhbGxiYWNrLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZClcbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBjYWxsYmFjay50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlSWQgJiYgcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZV9pZCkgY2FsbGJhY2suYWN0aXZpdHlJbnN0YW5jZUlkID0gcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZV9pZFxuICBpZiAocHJvcHMucmVzcG9uc2VNZXNzYWdlSWQgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2lkKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9pZClcbiAgaWYgKHByb3BzLnJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwgPSBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsXG4gIGlmIChwcm9wcy5yZXNwb25zZU1lc3NhZ2VMb2FkaW5nICYmIHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9sb2FkaW5nKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VMb2FkaW5nID0gcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2xvYWRpbmdcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkNhbGxiYWNrKGJvdCwgcGF5bG9hZCwgY2FsbGJhY2spXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uUmVzb3VyY2U6IERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlOyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uUmVzb3VyY2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25SZXNvdXJjZVxuICBjb25zdCByZXNvdXJjZSA9IHt9IGFzIEludGVyYWN0aW9uUmVzb3VyY2VcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uUmVzb3VyY2UudHlwZSkgcmVzb3VyY2UudHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5hY3Rpdml0eV9pbnN0YW5jZSlcbiAgICByZXNvdXJjZS5hY3Rpdml0eUluc3RhbmNlID0gcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLmFjdGl2aXR5X2luc3RhbmNlXG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5tZXNzYWdlKVxuICAgIHJlc291cmNlLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB7IG1lc3NhZ2U6IHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5tZXNzYWdlLCBzaGFyZElkOiBwYXlsb2FkLnNoYXJkSWQgfSlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvblJlc291cmNlKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLCByZXNvdXJjZSlcbn1cbiJdLCJuYW1lcyI6WyJiYXNlSW50ZXJhY3Rpb24iLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2siLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24iLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsInRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UiLCJ1bmRlZmluZWQiLCJyZXNwb25kIiwicmVzcG9uc2UiLCJvcHRpb25zIiwidHlwZSIsIkludGVyYWN0aW9uUmVzcG9uc2VUeXBlcyIsIkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSIsImNvbnRlbnQiLCJ0aXRsZSIsIk1vZGFsIiwiSW50ZXJhY3Rpb25UeXBlcyIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdCIsImlzUHJpdmF0ZSIsImZsYWdzIiwiTWVzc2FnZUZsYWdzIiwiRXBoZW1lcmFsIiwiYWNrbm93bGVkZ2VkIiwiYm90IiwiaGVscGVycyIsInNlbmRGb2xsb3d1cE1lc3NhZ2UiLCJ0b2tlbiIsIk1vZGFsU3VibWl0IiwiRXJyb3IiLCJzZW5kSW50ZXJhY3Rpb25SZXNwb25zZSIsImlkIiwiZGF0YSIsIndpdGhSZXNwb25zZSIsImVkaXQiLCJtZXNzYWdlSWQiLCJlZGl0Rm9sbG93dXBNZXNzYWdlIiwiTWVzc2FnZUNvbXBvbmVudCIsIlVwZGF0ZU1lc3NhZ2UiLCJlZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwiZGVmZXJFZGl0IiwiRGVmZXJyZWRVcGRhdGVNZXNzYWdlIiwiZGVmZXIiLCJEZWZlcnJlZENoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSIsImRlbGV0ZSIsImRlbGV0ZUZvbGxvd3VwTWVzc2FnZSIsImRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsInBheWxvYWQiLCJndWlsZElkIiwiaW50ZXJhY3Rpb24iLCJndWlsZF9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVzZXIiLCJtZW1iZXIiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwidmVyc2lvbiIsImxvY2FsZSIsImd1aWxkTG9jYWxlIiwiZ3VpbGRfbG9jYWxlIiwiZ3VpbGQiLCJzaGFyZElkIiwiYXBwUGVybWlzc2lvbnMiLCJhcHBfcGVybWlzc2lvbnMiLCJtZXNzYWdlIiwiY2hhbm5lbCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJlbnRpdGxlbWVudHMiLCJtYXAiLCJlIiwiZW50aXRsZW1lbnQiLCJhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzIiwiYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzIiwiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiR3VpbGRJbnN0YWxsIiwiVXNlckluc3RhbGwiLCJjb250ZXh0IiwiYXR0YWNobWVudFNpemVMaW1pdCIsImF0dGFjaG1lbnRfc2l6ZV9saW1pdCIsImNvbXBvbmVudFR5cGUiLCJjb21wb25lbnRfdHlwZSIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwiY29tcG9uZW50cyIsImNvbXBvbmVudCIsInZhbHVlcyIsIm5hbWUiLCJyZXNvbHZlZCIsImludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwib3B0IiwiaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyIsInRhcmdldElkIiwidGFyZ2V0X2lkIiwiY3VzdG9taXplcnMiLCJvcHRpb24iLCJ2YWx1ZSIsImZvY3VzZWQiLCJ0cmFuc2Zvcm1lZCIsIm1lc3NhZ2VzIiwiQ29sbGVjdGlvbiIsImVudHJpZXMiLCJfaWQiLCJ1c2VycyIsIm1lbWJlcnMiLCJyb2xlcyIsInJvbGUiLCJjaGFubmVscyIsImF0dGFjaG1lbnRzIiwia2V5IiwiYXR0YWNobWVudCIsImludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsImludGVyYWN0aW9uQ2FsbGJhY2siLCJyZXNvdXJjZSIsImludGVyYWN0aW9uUmVzb3VyY2UiLCJjYWxsYmFjayIsImFjdGl2aXR5SW5zdGFuY2VJZCIsImFjdGl2aXR5X2luc3RhbmNlX2lkIiwicmVzcG9uc2VNZXNzYWdlSWQiLCJyZXNwb25zZV9tZXNzYWdlX2lkIiwicmVzcG9uc2VNZXNzYWdlRXBoZW1lcmFsIiwicmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWwiLCJyZXNwb25zZU1lc3NhZ2VMb2FkaW5nIiwicmVzcG9uc2VfbWVzc2FnZV9sb2FkaW5nIiwiYWN0aXZpdHlJbnN0YW5jZSIsImFjdGl2aXR5X2luc3RhbmNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQTRCYUEsZUFBZTtlQUFmQTs7SUF1RkdDLG9CQUFvQjtlQUFwQkE7O0lBc0tBQyw0QkFBNEI7ZUFBNUJBOztJQWxCQUMsb0NBQW9DO2VBQXBDQTs7SUEzRUFDLDhCQUE4QjtlQUE5QkE7O0lBWUFDLGdDQUFnQztlQUFoQ0E7O0lBa0dBQyw0QkFBNEI7ZUFBNUJBOzs7dUJBL1JUO3VCQUNvQjtBQWdCcEIsTUFBTU4sa0JBQWdGO0lBQzNGLDJFQUEyRTtJQUMzRSxHQUFJTyxTQUFTO0lBRWIsTUFBTUMsU0FBUUMsUUFBUSxFQUFFQyxPQUFPO1FBQzdCLElBQUlDLE9BQU9DLCtCQUF3QixDQUFDQyx3QkFBd0I7UUFFNUQsNERBQTREO1FBQzVELElBQUksT0FBT0osYUFBYSxVQUFVQSxXQUFXO1lBQUVLLFNBQVNMO1FBQVM7UUFFakUsNEZBQTRGO1FBQzVGLElBQUlBLFNBQVNNLEtBQUssRUFBRUosT0FBT0MsK0JBQXdCLENBQUNJLEtBQUs7UUFDekQsSUFBSSxJQUFJLENBQUNMLElBQUksS0FBS00sdUJBQWdCLENBQUNDLDhCQUE4QixFQUFFUCxPQUFPQywrQkFBd0IsQ0FBQ08sb0NBQW9DO1FBQ3ZJLElBQUlSLFNBQVNDLCtCQUF3QixDQUFDQyx3QkFBd0IsSUFBSUgsU0FBU1UsV0FBVztZQUNwRlgsU0FBU1ksS0FBSyxLQUFLO1lBQ25CWixTQUFTWSxLQUFLLElBQUlDLG1CQUFZLENBQUNDLFNBQVM7UUFDMUM7UUFFQSx5RkFBeUY7UUFDekYsSUFBSSxJQUFJLENBQUNDLFlBQVksRUFBRSxPQUFPLE1BQU0sSUFBSSxDQUFDQyxHQUFHLENBQUNDLE9BQU8sQ0FBQ0MsbUJBQW1CLENBQUMsSUFBSSxDQUFDQyxLQUFLLEVBQUVuQjtRQUVyRiwyQkFBMkI7UUFDM0IsSUFBSSxJQUFJLENBQUNFLElBQUksS0FBS00sdUJBQWdCLENBQUNZLFdBQVcsSUFBSWxCLFNBQVNDLCtCQUF3QixDQUFDSSxLQUFLLEVBQ3ZGLE1BQU0sSUFBSWMsTUFBTTtRQUVsQixJQUFJLENBQUNOLFlBQVksR0FBRztRQUNwQixPQUFPLE1BQU0sSUFBSSxDQUFDQyxHQUFHLENBQUNDLE9BQU8sQ0FBQ0ssdUJBQXVCLENBQUMsSUFBSSxDQUFDQyxFQUFFLEVBQUUsSUFBSSxDQUFDSixLQUFLLEVBQUU7WUFBRWpCO1lBQU1zQixNQUFNeEI7UUFBUyxHQUFHO1lBQUV5QixjQUFjeEIsU0FBU3dCO1FBQWE7SUFDN0k7SUFDQSxNQUFNQyxNQUFLMUIsUUFBUSxFQUFFMkIsU0FBUyxFQUFFMUIsT0FBTztRQUNyQyxJQUFJLElBQUksQ0FBQ0MsSUFBSSxLQUFLTSx1QkFBZ0IsQ0FBQ0MsOEJBQThCLEVBQUUsTUFBTSxJQUFJWSxNQUFNO1FBRW5GLDREQUE0RDtRQUM1RCxJQUFJLE9BQU9yQixhQUFhLFVBQVVBLFdBQVc7WUFBRUssU0FBU0w7UUFBUztRQUVqRSxJQUFJMkIsV0FBVztZQUNiLE9BQU8sTUFBTSxJQUFJLENBQUNYLEdBQUcsRUFBRUMsUUFBUVcsb0JBQW9CLElBQUksQ0FBQ1QsS0FBSyxFQUFFUSxXQUFXM0I7UUFDNUU7UUFFQSxJQUFJLENBQUMsSUFBSSxDQUFDZSxZQUFZLEVBQUU7WUFDdEIsSUFBSSxJQUFJLENBQUNiLElBQUksS0FBS00sdUJBQWdCLENBQUNxQixnQkFBZ0IsSUFBSSxJQUFJLENBQUMzQixJQUFJLEtBQUtNLHVCQUFnQixDQUFDWSxXQUFXLEVBQy9GLE1BQU0sSUFBSUMsTUFBTTtZQUVsQixJQUFJLENBQUNOLFlBQVksR0FBRztZQUNwQixPQUFPLE1BQU0sSUFBSSxDQUFDQyxHQUFHLENBQUNDLE9BQU8sQ0FBQ0ssdUJBQXVCLENBQ25ELElBQUksQ0FBQ0MsRUFBRSxFQUNQLElBQUksQ0FBQ0osS0FBSyxFQUNWO2dCQUFFakIsTUFBTUMsK0JBQXdCLENBQUMyQixhQUFhO2dCQUFFTixNQUFNeEI7WUFBUyxHQUMvREM7UUFFSjtRQUVBLE9BQU8sTUFBTSxJQUFJLENBQUNlLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDYywrQkFBK0IsQ0FBQyxJQUFJLENBQUNaLEtBQUssRUFBRW5CO0lBQzVFO0lBQ0EsTUFBTWdDLFdBQVUvQixPQUFPO1FBQ3JCLElBQUksSUFBSSxDQUFDQyxJQUFJLEtBQUtNLHVCQUFnQixDQUFDQyw4QkFBOEIsRUFBRSxNQUFNLElBQUlZLE1BQU07UUFDbkYsSUFBSSxJQUFJLENBQUNOLFlBQVksRUFBRSxNQUFNLElBQUlNLE1BQU07UUFFdkMsSUFBSSxJQUFJLENBQUNuQixJQUFJLEtBQUtNLHVCQUFnQixDQUFDcUIsZ0JBQWdCLElBQUksSUFBSSxDQUFDM0IsSUFBSSxLQUFLTSx1QkFBZ0IsQ0FBQ1ksV0FBVyxFQUMvRixNQUFNLElBQUlDLE1BQU07UUFFbEIsSUFBSSxDQUFDTixZQUFZLEdBQUc7UUFDcEIsT0FBTyxNQUFNLElBQUksQ0FBQ0MsR0FBRyxDQUFDQyxPQUFPLENBQUNLLHVCQUF1QixDQUFDLElBQUksQ0FBQ0MsRUFBRSxFQUFFLElBQUksQ0FBQ0osS0FBSyxFQUFFO1lBQUVqQixNQUFNQywrQkFBd0IsQ0FBQzhCLHFCQUFxQjtRQUFDLEdBQUdoQztJQUN2STtJQUNBLE1BQU1pQyxPQUFNdkIsU0FBUyxFQUFFVixPQUFPO1FBQzVCLElBQUksSUFBSSxDQUFDYyxZQUFZLEVBQUUsTUFBTSxJQUFJTSxNQUFNO1FBRXZDLElBQUksQ0FBQ04sWUFBWSxHQUFHO1FBQ3BCLE9BQU8sTUFBTSxJQUFJLENBQUNDLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDSyx1QkFBdUIsQ0FDbkQsSUFBSSxDQUFDQyxFQUFFLEVBQ1AsSUFBSSxDQUFDSixLQUFLLEVBQ1Y7WUFDRWpCLE1BQU1DLCtCQUF3QixDQUFDZ0MsZ0NBQWdDO1lBQy9EWCxNQUFNO2dCQUNKWixPQUFPRCxZQUFZRSxtQkFBWSxDQUFDQyxTQUFTLEdBQUdoQjtZQUM5QztRQUNGLEdBQ0FHO0lBRUo7SUFDQSxNQUFNbUMsUUFBT1QsU0FBUztRQUNwQixJQUFJLElBQUksQ0FBQ3pCLElBQUksS0FBS00sdUJBQWdCLENBQUNDLDhCQUE4QixFQUFFLE1BQU0sSUFBSVksTUFBTTtRQUVuRixJQUFJTSxXQUFXLE9BQU8sTUFBTSxJQUFJLENBQUNYLEdBQUcsRUFBRUMsUUFBUW9CLHNCQUFzQixJQUFJLENBQUNsQixLQUFLLEVBQUVRO2FBQzNFLE9BQU8sTUFBTSxJQUFJLENBQUNYLEdBQUcsRUFBRUMsUUFBUXFCLGtDQUFrQyxJQUFJLENBQUNuQixLQUFLO0lBQ2xGO0FBQ0Y7QUFFTyxTQUFTM0IscUJBQ2R3QixHQUFnQixFQUNoQnVCLE9BQTZEO0lBRTdELE1BQU1DLFVBQVVELFFBQVFFLFdBQVcsQ0FBQ0MsUUFBUSxHQUFHMUIsSUFBSTJCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRRSxXQUFXLENBQUNDLFFBQVEsSUFBSTVDO0lBQzFHLE1BQU0rQyxPQUFPN0IsSUFBSTJCLFlBQVksQ0FBQ0UsSUFBSSxDQUFDN0IsS0FBS3VCLFFBQVFFLFdBQVcsQ0FBQ0ssTUFBTSxFQUFFRCxRQUFRTixRQUFRRSxXQUFXLENBQUNJLElBQUk7SUFFcEcsTUFBTUosY0FBMkJNLE9BQU9DLE1BQU0sQ0FBQ3pEO0lBQy9DLE1BQU0wRCxRQUFRakMsSUFBSTJCLFlBQVksQ0FBQ08saUJBQWlCLENBQUNULFdBQVc7SUFDNUQsdUZBQXVGO0lBQ3ZGQSxZQUFZekIsR0FBRyxHQUFHQTtJQUNsQnlCLFlBQVkxQixZQUFZLEdBQUc7SUFFM0IsSUFBSWtDLE1BQU0xQixFQUFFLElBQUlnQixRQUFRRSxXQUFXLENBQUNsQixFQUFFLEVBQUVrQixZQUFZbEIsRUFBRSxHQUFHUCxJQUFJMkIsWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFFLFdBQVcsQ0FBQ2xCLEVBQUU7SUFDMUcsSUFBSTBCLE1BQU1FLGFBQWEsSUFBSVosUUFBUUUsV0FBVyxDQUFDVyxjQUFjLEVBQzNEWCxZQUFZVSxhQUFhLEdBQUduQyxJQUFJMkIsWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFFLFdBQVcsQ0FBQ1csY0FBYztJQUMzRixJQUFJSCxNQUFNL0MsSUFBSSxJQUFJcUMsUUFBUUUsV0FBVyxDQUFDdkMsSUFBSSxFQUFFdUMsWUFBWXZDLElBQUksR0FBR3FDLFFBQVFFLFdBQVcsQ0FBQ3ZDLElBQUk7SUFDdkYsSUFBSStDLE1BQU05QixLQUFLLElBQUlvQixRQUFRRSxXQUFXLENBQUN0QixLQUFLLEVBQUVzQixZQUFZdEIsS0FBSyxHQUFHb0IsUUFBUUUsV0FBVyxDQUFDdEIsS0FBSztJQUMzRixJQUFJOEIsTUFBTUksT0FBTyxJQUFJZCxRQUFRRSxXQUFXLENBQUNZLE9BQU8sRUFBRVosWUFBWVksT0FBTyxHQUFHZCxRQUFRRSxXQUFXLENBQUNZLE9BQU87SUFDbkcsSUFBSUosTUFBTUssTUFBTSxJQUFJZixRQUFRRSxXQUFXLENBQUNhLE1BQU0sRUFBRWIsWUFBWWEsTUFBTSxHQUFHZixRQUFRRSxXQUFXLENBQUNhLE1BQU07SUFDL0YsSUFBSUwsTUFBTU0sV0FBVyxJQUFJaEIsUUFBUUUsV0FBVyxDQUFDZSxZQUFZLEVBQUVmLFlBQVljLFdBQVcsR0FBR2hCLFFBQVFFLFdBQVcsQ0FBQ2UsWUFBWTtJQUNySCxJQUFJUCxNQUFNUSxLQUFLLElBQUlsQixRQUFRRSxXQUFXLENBQUNnQixLQUFLLEVBQzFDLHdFQUF3RTtJQUN4RWhCLFlBQVlnQixLQUFLLEdBQUd6QyxJQUFJMkIsWUFBWSxDQUFDYyxLQUFLLENBQUN6QyxLQUFLO1FBQUV5QyxPQUFPbEIsUUFBUUUsV0FBVyxDQUFDZ0IsS0FBSztRQUFFQyxTQUFTbkIsUUFBUW1CLE9BQU87SUFBQztJQUMvRyxJQUFJVCxNQUFNVCxPQUFPLElBQUlBLFNBQVNDLFlBQVlELE9BQU8sR0FBR0E7SUFDcEQsSUFBSVMsTUFBTUosSUFBSSxJQUFJQSxNQUFNSixZQUFZSSxJQUFJLEdBQUdBO0lBQzNDLElBQUlJLE1BQU1VLGNBQWMsSUFBSXBCLFFBQVFFLFdBQVcsQ0FBQ21CLGVBQWUsRUFDN0RuQixZQUFZa0IsY0FBYyxHQUFHM0MsSUFBSTJCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRRSxXQUFXLENBQUNtQixlQUFlO0lBQzdGLElBQUlYLE1BQU1ZLE9BQU8sSUFBSXRCLFFBQVFFLFdBQVcsQ0FBQ29CLE9BQU8sRUFDOUNwQixZQUFZb0IsT0FBTyxHQUFHN0MsSUFBSTJCLFlBQVksQ0FBQ2tCLE9BQU8sQ0FBQzdDLEtBQUs7UUFBRTZDLFNBQVN0QixRQUFRRSxXQUFXLENBQUNvQixPQUFPO1FBQUVILFNBQVM7SUFBRTtJQUN6RyxJQUFJVCxNQUFNYSxPQUFPLElBQUl2QixRQUFRRSxXQUFXLENBQUNxQixPQUFPLEVBQzlDckIsWUFBWXFCLE9BQU8sR0FBRzlDLElBQUkyQixZQUFZLENBQUNtQixPQUFPLENBQUM5QyxLQUFLO1FBQUU4QyxTQUFTdkIsUUFBUUUsV0FBVyxDQUFDcUIsT0FBTztRQUFvQnRCO0lBQVE7SUFDeEgsSUFBSVMsTUFBTWMsU0FBUyxJQUFJeEIsUUFBUUUsV0FBVyxDQUFDdUIsVUFBVSxFQUFFdkIsWUFBWXNCLFNBQVMsR0FBRy9DLElBQUkyQixZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUUUsV0FBVyxDQUFDdUIsVUFBVTtJQUN4SSxJQUFJZixNQUFNSCxNQUFNLElBQUlOLFdBQVdELFFBQVFFLFdBQVcsQ0FBQ0ssTUFBTSxFQUN2REwsWUFBWUssTUFBTSxHQUFHOUIsSUFBSTJCLFlBQVksQ0FBQ0csTUFBTSxDQUFDOUIsS0FBS3VCLFFBQVFFLFdBQVcsQ0FBQ0ssTUFBTSxFQUFFTixTQUFTSyxLQUFLdEIsRUFBRTtJQUNoRyxJQUFJMEIsTUFBTWdCLFlBQVksSUFBSTFCLFFBQVFFLFdBQVcsQ0FBQ3dCLFlBQVksRUFDeER4QixZQUFZd0IsWUFBWSxHQUFHMUIsUUFBUUUsV0FBVyxDQUFDd0IsWUFBWSxDQUFDQyxHQUFHLENBQUMsQ0FBQ0MsSUFBTW5ELElBQUkyQixZQUFZLENBQUN5QixXQUFXLENBQUNwRCxLQUFLbUQ7SUFDM0csSUFBSWxCLE1BQU1vQiw0QkFBNEIsSUFBSTlCLFFBQVFFLFdBQVcsQ0FBQzZCLDhCQUE4QixFQUFFO1FBQzVGN0IsWUFBWTRCLDRCQUE0QixHQUFHLENBQUM7UUFFNUMsSUFBSTlCLFFBQVFFLFdBQVcsQ0FBQzZCLDhCQUE4QixDQUFDLElBQUksRUFDekQ3QixZQUFZNEIsNEJBQTRCLENBQUNFLHdDQUFpQyxDQUFDQyxZQUFZLENBQUMsR0FBR3hELElBQUkyQixZQUFZLENBQUNDLFNBQVMsQ0FDbkhMLFFBQVFFLFdBQVcsQ0FBQzZCLDhCQUE4QixDQUFDLElBQUk7UUFFM0QsSUFBSS9CLFFBQVFFLFdBQVcsQ0FBQzZCLDhCQUE4QixDQUFDLElBQUksRUFDekQ3QixZQUFZNEIsNEJBQTRCLENBQUNFLHdDQUFpQyxDQUFDRSxXQUFXLENBQUMsR0FBR3pELElBQUkyQixZQUFZLENBQUNDLFNBQVMsQ0FDbEhMLFFBQVFFLFdBQVcsQ0FBQzZCLDhCQUE4QixDQUFDLElBQUk7SUFFN0Q7SUFDQSxJQUFJckIsTUFBTXlCLE9BQU8sSUFBSW5DLFFBQVFFLFdBQVcsQ0FBQ2lDLE9BQU8sRUFBRWpDLFlBQVlpQyxPQUFPLEdBQUduQyxRQUFRRSxXQUFXLENBQUNpQyxPQUFPO0lBQ25HLElBQUl6QixNQUFNMEIsbUJBQW1CLElBQUlwQyxRQUFRRSxXQUFXLENBQUNtQyxxQkFBcUIsRUFDeEVuQyxZQUFZa0MsbUJBQW1CLEdBQUdwQyxRQUFRRSxXQUFXLENBQUNtQyxxQkFBcUI7SUFDN0UsSUFBSTNCLE1BQU16QixJQUFJLElBQUllLFFBQVFFLFdBQVcsQ0FBQ2pCLElBQUksRUFBRTtRQUMxQ2lCLFlBQVlqQixJQUFJLEdBQUc7WUFDakJ0QixNQUFNcUMsUUFBUUUsV0FBVyxDQUFDakIsSUFBSSxDQUFDdEIsSUFBSTtZQUNuQzJFLGVBQWV0QyxRQUFRRSxXQUFXLENBQUNqQixJQUFJLENBQUNzRCxjQUFjO1lBQ3REQyxVQUFVeEMsUUFBUUUsV0FBVyxDQUFDakIsSUFBSSxDQUFDd0QsU0FBUztZQUM1Q0MsWUFBWTFDLFFBQVFFLFdBQVcsQ0FBQ2pCLElBQUksQ0FBQ3lELFVBQVUsRUFBRWYsSUFBSSxDQUFDZ0IsWUFBY2xFLElBQUkyQixZQUFZLENBQUN1QyxTQUFTLENBQUNsRSxLQUFLa0U7WUFDcEdDLFFBQVE1QyxRQUFRRSxXQUFXLENBQUNqQixJQUFJLENBQUMyRCxNQUFNO1lBQ3ZDNUQsSUFBSWdCLFFBQVFFLFdBQVcsQ0FBQ2pCLElBQUksQ0FBQ0QsRUFBRSxHQUFHUCxJQUFJMkIsWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFFLFdBQVcsQ0FBQ2pCLElBQUksQ0FBQ0QsRUFBRSxJQUFJekI7WUFDNUZzRixNQUFNN0MsUUFBUUUsV0FBVyxDQUFDakIsSUFBSSxDQUFDNEQsSUFBSTtZQUNuQ0MsVUFBVTlDLFFBQVFFLFdBQVcsQ0FBQ2pCLElBQUksQ0FBQzZELFFBQVEsR0FDdkNyRSxJQUFJMkIsWUFBWSxDQUFDMkMsdUJBQXVCLENBQUN0RSxLQUFLO2dCQUFFcUUsVUFBVTlDLFFBQVFFLFdBQVcsQ0FBQ2pCLElBQUksQ0FBQzZELFFBQVE7Z0JBQUUzQixTQUFTbkIsUUFBUW1CLE9BQU87Z0JBQUVsQjtZQUFRLEtBQy9IMUM7WUFDSkcsU0FBU3NDLFFBQVFFLFdBQVcsQ0FBQ2pCLElBQUksQ0FBQ3ZCLE9BQU8sRUFBRWlFLElBQUksQ0FBQ3FCLE1BQVF2RSxJQUFJMkIsWUFBWSxDQUFDNkMsc0JBQXNCLENBQUN4RSxLQUFLdUU7WUFDckdFLFVBQVVsRCxRQUFRRSxXQUFXLENBQUNqQixJQUFJLENBQUNrRSxTQUFTLEdBQUcxRSxJQUFJMkIsWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFFLFdBQVcsQ0FBQ2pCLElBQUksQ0FBQ2tFLFNBQVMsSUFBSTVGO1FBQ2xIO0lBQ0Y7SUFFQSxnSUFBZ0k7SUFDaEksT0FBT2tCLElBQUkyQixZQUFZLENBQUNnRCxXQUFXLENBQUNsRCxXQUFXLENBQUN6QixLQUFLdUIsU0FBU0U7QUFDaEU7QUFFTyxTQUFTOUMsK0JBQStCcUIsR0FBUSxFQUFFNEUsTUFBb0M7SUFDM0YsTUFBTUwsTUFBTTtRQUNWSCxNQUFNUSxPQUFPUixJQUFJO1FBQ2pCbEYsTUFBTTBGLE9BQU8xRixJQUFJO1FBQ2pCMkYsT0FBT0QsT0FBT0MsS0FBSztRQUNuQjVGLFNBQVMyRixPQUFPM0YsT0FBTztRQUN2QjZGLFNBQVNGLE9BQU9FLE9BQU87SUFDekI7SUFFQSxPQUFPOUUsSUFBSTJCLFlBQVksQ0FBQ2dELFdBQVcsQ0FBQ0gsc0JBQXNCLENBQUN4RSxLQUFLNEUsUUFBUUw7QUFDMUU7QUFFTyxTQUFTM0YsaUNBQ2RvQixHQUFnQixFQUNoQnVCLE9BQXdGO0lBRXhGLE1BQU13RCxjQUF1QyxDQUFDO0lBRTlDLElBQUl4RCxRQUFROEMsUUFBUSxDQUFDVyxRQUFRLEVBQUU7UUFDN0JELFlBQVlDLFFBQVEsR0FBRyxJQUFJQyxpQkFBVSxDQUNuQ2xELE9BQU9tRCxPQUFPLENBQUMzRCxRQUFROEMsUUFBUSxDQUFDVyxRQUFRLEVBQUU5QixHQUFHLENBQUMsQ0FBQyxDQUFDaUMsS0FBS04sTUFBTTtZQUN6RCxNQUFNaEMsVUFBbUI3QyxJQUFJMkIsWUFBWSxDQUFDa0IsT0FBTyxDQUFDN0MsS0FBSztnQkFBRTZDLFNBQVNnQztnQkFBT25DLFNBQVNuQixRQUFRbUIsT0FBTztZQUFDO1lBQ2xHLE9BQU87Z0JBQUNHLFFBQVF0QyxFQUFFO2dCQUFFc0M7YUFBUTtRQUM5QjtJQUVKO0lBRUEsSUFBSXRCLFFBQVE4QyxRQUFRLENBQUNlLEtBQUssRUFBRTtRQUMxQkwsWUFBWUssS0FBSyxHQUFHLElBQUlILGlCQUFVLENBQ2hDbEQsT0FBT21ELE9BQU8sQ0FBQzNELFFBQVE4QyxRQUFRLENBQUNlLEtBQUssRUFBRWxDLEdBQUcsQ0FBQyxDQUFDLENBQUNpQyxLQUFLTixNQUFNO1lBQ3RELE1BQU1oRCxPQUFPN0IsSUFBSTJCLFlBQVksQ0FBQ0UsSUFBSSxDQUFDN0IsS0FBSzZFO1lBQ3hDLE9BQU87Z0JBQUNoRCxLQUFLdEIsRUFBRTtnQkFBRXNCO2FBQUs7UUFDeEI7SUFFSjtJQUVBLElBQUlOLFFBQVFDLE9BQU8sSUFBSUQsUUFBUThDLFFBQVEsQ0FBQ2dCLE9BQU8sRUFBRTtRQUMvQ04sWUFBWU0sT0FBTyxHQUFHLElBQUlKLGlCQUFVLENBQ2xDbEQsT0FBT21ELE9BQU8sQ0FBQzNELFFBQVE4QyxRQUFRLENBQUNnQixPQUFPLEVBQUVuQyxHQUFHLENBQUMsQ0FBQyxDQUFDM0MsSUFBSXNFLE1BQU07WUFDdkQsTUFBTS9DLFNBQWlCOUIsSUFBSTJCLFlBQVksQ0FBQ0csTUFBTSxDQUFDOUIsS0FBSzZFLE9BQU90RCxRQUFRQyxPQUFPLEVBQUd4QixJQUFJMkIsWUFBWSxDQUFDQyxTQUFTLENBQUNyQjtZQUN4RyxPQUFPO2dCQUFDdUIsT0FBT3ZCLEVBQUU7Z0JBQUV1QjthQUFPO1FBQzVCO0lBRUo7SUFFQSxJQUFJUCxRQUFRQyxPQUFPLElBQUlELFFBQVE4QyxRQUFRLENBQUNpQixLQUFLLEVBQUU7UUFDN0NQLFlBQVlPLEtBQUssR0FBRyxJQUFJTCxpQkFBVSxDQUNoQ2xELE9BQU9tRCxPQUFPLENBQUMzRCxRQUFROEMsUUFBUSxDQUFDaUIsS0FBSyxFQUFFcEMsR0FBRyxDQUFDLENBQUMsQ0FBQ2lDLEtBQUtOLE1BQU07WUFDdEQsTUFBTVUsT0FBT3ZGLElBQUkyQixZQUFZLENBQUM0RCxJQUFJLENBQUN2RixLQUFLO2dCQUFFdUYsTUFBTVY7Z0JBQU9yRCxTQUFTRCxRQUFRQyxPQUFPO1lBQUU7WUFDakYsT0FBTztnQkFBQytELEtBQUtoRixFQUFFO2dCQUFFZ0Y7YUFBSztRQUN4QjtJQUVKO0lBRUEsSUFBSWhFLFFBQVE4QyxRQUFRLENBQUNtQixRQUFRLEVBQUU7UUFDN0JULFlBQVlTLFFBQVEsR0FBRyxJQUFJUCxpQkFBVSxDQUNuQ2xELE9BQU9tRCxPQUFPLENBQUMzRCxRQUFROEMsUUFBUSxDQUFDbUIsUUFBUSxFQUFFdEMsR0FBRyxDQUFDLENBQUMsQ0FBQ2lDLEtBQUtOLE1BQU07WUFDekQsTUFBTS9CLFVBQVU5QyxJQUFJMkIsWUFBWSxDQUFDbUIsT0FBTyxDQUFDOUMsS0FBSztnQkFBRThDLFNBQVMrQjtZQUFNO1lBQy9ELE9BQU87Z0JBQUMvQixRQUFRdkMsRUFBRTtnQkFBRXVDO2FBQVE7UUFDOUI7SUFFSjtJQUVBLElBQUl2QixRQUFROEMsUUFBUSxDQUFDb0IsV0FBVyxFQUFFO1FBQ2hDVixZQUFZVSxXQUFXLEdBQUcsSUFBSVIsaUJBQVUsQ0FDdENsRCxPQUFPbUQsT0FBTyxDQUFDM0QsUUFBUThDLFFBQVEsQ0FBQ29CLFdBQVcsRUFBRXZDLEdBQUcsQ0FBQyxDQUFDLENBQUN3QyxLQUFLYixNQUFNO1lBQzVELE1BQU10RSxLQUFLUCxJQUFJMkIsWUFBWSxDQUFDQyxTQUFTLENBQUM4RDtZQUN0QyxPQUFPO2dCQUFDbkY7Z0JBQUlQLElBQUkyQixZQUFZLENBQUNnRSxVQUFVLENBQUMzRixLQUFLNkU7YUFBTztRQUN0RDtJQUVKO0lBRUEsT0FBTzdFLElBQUkyQixZQUFZLENBQUNnRCxXQUFXLENBQUNMLHVCQUF1QixDQUFDdEUsS0FBS3VCLFNBQVN3RDtBQUM1RTtBQUVPLFNBQVNyRyxxQ0FDZHNCLEdBQWdCLEVBQ2hCdUIsT0FBNkY7SUFFN0YsTUFBTVUsUUFBUWpDLElBQUkyQixZQUFZLENBQUNPLGlCQUFpQixDQUFDMEQsMkJBQTJCO0lBQzVFLE1BQU01RyxXQUFXLENBQUM7SUFFbEIsSUFBSWlELE1BQU1SLFdBQVcsSUFBSUYsUUFBUXFFLDJCQUEyQixDQUFDbkUsV0FBVyxFQUN0RXpDLFNBQVN5QyxXQUFXLEdBQUd6QixJQUFJMkIsWUFBWSxDQUFDa0UsbUJBQW1CLENBQUM3RixLQUFLdUIsUUFBUXFFLDJCQUEyQixDQUFDbkUsV0FBVztJQUNsSCxJQUFJUSxNQUFNNkQsUUFBUSxJQUFJdkUsUUFBUXFFLDJCQUEyQixDQUFDRSxRQUFRLEVBQ2hFOUcsU0FBUzhHLFFBQVEsR0FBRzlGLElBQUkyQixZQUFZLENBQUNvRSxtQkFBbUIsQ0FBQy9GLEtBQUs7UUFDNUQrRixxQkFBcUJ4RSxRQUFRcUUsMkJBQTJCLENBQUNFLFFBQVE7UUFDakVwRCxTQUFTbkIsUUFBUW1CLE9BQU87SUFDMUI7SUFFRixPQUFPMUMsSUFBSTJCLFlBQVksQ0FBQ2dELFdBQVcsQ0FBQ2lCLDJCQUEyQixDQUFDNUYsS0FBS3VCLFFBQVFxRSwyQkFBMkIsRUFBRTVHO0FBQzVHO0FBRU8sU0FBU1AsNkJBQ2R1QixHQUFnQixFQUNoQnVCLE9BQW1DO0lBRW5DLE1BQU1VLFFBQVFqQyxJQUFJMkIsWUFBWSxDQUFDTyxpQkFBaUIsQ0FBQzJELG1CQUFtQjtJQUNwRSxNQUFNRyxXQUFXLENBQUM7SUFFbEIsSUFBSS9ELE1BQU0xQixFQUFFLElBQUlnQixRQUFRaEIsRUFBRSxFQUFFeUYsU0FBU3pGLEVBQUUsR0FBR1AsSUFBSTJCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRaEIsRUFBRTtJQUMvRSxJQUFJMEIsTUFBTS9DLElBQUksSUFBSXFDLFFBQVFyQyxJQUFJLEVBQUU4RyxTQUFTOUcsSUFBSSxHQUFHcUMsUUFBUXJDLElBQUk7SUFDNUQsSUFBSStDLE1BQU1nRSxrQkFBa0IsSUFBSTFFLFFBQVEyRSxvQkFBb0IsRUFBRUYsU0FBU0Msa0JBQWtCLEdBQUcxRSxRQUFRMkUsb0JBQW9CO0lBQ3hILElBQUlqRSxNQUFNa0UsaUJBQWlCLElBQUk1RSxRQUFRNkUsbUJBQW1CLEVBQUVKLFNBQVNHLGlCQUFpQixHQUFHbkcsSUFBSTJCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRNkUsbUJBQW1CO0lBQy9JLElBQUluRSxNQUFNb0Usd0JBQXdCLElBQUk5RSxRQUFRK0UsMEJBQTBCLEVBQUVOLFNBQVNLLHdCQUF3QixHQUFHOUUsUUFBUStFLDBCQUEwQjtJQUNoSixJQUFJckUsTUFBTXNFLHNCQUFzQixJQUFJaEYsUUFBUWlGLHdCQUF3QixFQUFFUixTQUFTTyxzQkFBc0IsR0FBR2hGLFFBQVFpRix3QkFBd0I7SUFFeEksT0FBT3hHLElBQUkyQixZQUFZLENBQUNnRCxXQUFXLENBQUNrQixtQkFBbUIsQ0FBQzdGLEtBQUt1QixTQUFTeUU7QUFDeEU7QUFFTyxTQUFTbkgsNkJBQ2RtQixHQUFnQixFQUNoQnVCLE9BQTZFO0lBRTdFLE1BQU1VLFFBQVFqQyxJQUFJMkIsWUFBWSxDQUFDTyxpQkFBaUIsQ0FBQzZELG1CQUFtQjtJQUNwRSxNQUFNRCxXQUFXLENBQUM7SUFFbEIsSUFBSTdELE1BQU0vQyxJQUFJLElBQUlxQyxRQUFRd0UsbUJBQW1CLENBQUM3RyxJQUFJLEVBQUU0RyxTQUFTNUcsSUFBSSxHQUFHcUMsUUFBUXdFLG1CQUFtQixDQUFDN0csSUFBSTtJQUNwRyxJQUFJK0MsTUFBTXdFLGdCQUFnQixJQUFJbEYsUUFBUXdFLG1CQUFtQixDQUFDVyxpQkFBaUIsRUFDekVaLFNBQVNXLGdCQUFnQixHQUFHbEYsUUFBUXdFLG1CQUFtQixDQUFDVyxpQkFBaUI7SUFDM0UsSUFBSXpFLE1BQU1ZLE9BQU8sSUFBSXRCLFFBQVF3RSxtQkFBbUIsQ0FBQ2xELE9BQU8sRUFDdERpRCxTQUFTakQsT0FBTyxHQUFHN0MsSUFBSTJCLFlBQVksQ0FBQ2tCLE9BQU8sQ0FBQzdDLEtBQUs7UUFBRTZDLFNBQVN0QixRQUFRd0UsbUJBQW1CLENBQUNsRCxPQUFPO1FBQUVILFNBQVNuQixRQUFRbUIsT0FBTztJQUFDO0lBRTVILE9BQU8xQyxJQUFJMkIsWUFBWSxDQUFDZ0QsV0FBVyxDQUFDb0IsbUJBQW1CLENBQUMvRixLQUFLdUIsUUFBUXdFLG1CQUFtQixFQUFFRDtBQUM1RiJ9
|
|
@@ -51,13 +51,14 @@ function transformComponentToDiscordComponent(bot, payload) {
|
|
|
51
51
|
return payload;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
function transformUnfurledMediaItemToDiscordUnfurledMediaItem(
|
|
54
|
+
function transformUnfurledMediaItemToDiscordUnfurledMediaItem(bot, payload) {
|
|
55
55
|
return {
|
|
56
56
|
url: payload.url,
|
|
57
57
|
proxy_url: payload.proxyUrl,
|
|
58
58
|
height: payload.height,
|
|
59
59
|
width: payload.width,
|
|
60
|
-
content_type: payload.contentType
|
|
60
|
+
content_type: payload.contentType,
|
|
61
|
+
attachment_id: payload.attachmentId ? bot.transformers.reverse.snowflake(payload.attachmentId) : undefined
|
|
61
62
|
};
|
|
62
63
|
}
|
|
63
64
|
function transformMediaGalleryItemToDiscordMediaGalleryItem(bot, payload) {
|
|
@@ -157,7 +158,9 @@ function transformFileComponent(bot, payload) {
|
|
|
157
158
|
type: _types.MessageComponentTypes.File,
|
|
158
159
|
id: payload.id,
|
|
159
160
|
file: bot.transformers.reverse.unfurledMediaItem(bot, payload.file),
|
|
160
|
-
spoiler: payload.spoiler
|
|
161
|
+
spoiler: payload.spoiler,
|
|
162
|
+
name: payload.name,
|
|
163
|
+
size: payload.size
|
|
161
164
|
};
|
|
162
165
|
}
|
|
163
166
|
function transformMediaGalleryComponent(bot, payload) {
|
|
@@ -177,4 +180,4 @@ function transformThumbnailComponent(bot, payload) {
|
|
|
177
180
|
};
|
|
178
181
|
}
|
|
179
182
|
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LCB0eXBlIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50LCBNZXNzYWdlQ29tcG9uZW50VHlwZXMsIHR5cGUgVGV4dFN0eWxlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBCb3QsXG4gIEJ1dHRvblN0eWxlcyxcbiAgQ29tcG9uZW50LFxuICBEaXNjb3JkQWN0aW9uUm93LFxuICBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50LFxuICBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICBEaXNjb3JkU2VsZWN0TWVudUNvbXBvbmVudCxcbiAgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICBEaXNjb3JkVGV4dElucHV0Q29tcG9uZW50LFxuICBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50LFxuICBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIE1lZGlhR2FsbGVyeUl0ZW0sXG4gIFVuZnVybGVkTWVkaWFJdGVtLFxufSBmcm9tICcuLi8uLi9pbmRleC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQge1xuICAvLyBUaGlzIHN3aXRjaCBzaG91bGQgaW5jbHVkZSBhbGwgY2FzZXNcbiAgc3dpdGNoIChwYXlsb2FkLnR5cGUpIHtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3c6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b246XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXI6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0SW5wdXQ6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hhbm5lbFNlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Sb2xlU2VsZWN0OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlVzZXJTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lZGlhR2FsbGVyeTpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlcGFyYXRvcjpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIC8vIEFzIG9mIG5vdyB0aGV5IGFyZSBjb21wYXRpYmxlXG4gICAgICByZXR1cm4gcGF5bG9hZCBhcyBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKF9ib3Q6IEJvdCwgcGF5bG9hZDogVW5mdXJsZWRNZWRpYUl0ZW0pOiBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0ge1xuICByZXR1cm4ge1xuICAgIHVybDogcGF5bG9hZC51cmwsXG4gICAgcHJveHlfdXJsOiBwYXlsb2FkLnByb3h5VXJsLFxuICAgIGhlaWdodDogcGF5bG9hZC5oZWlnaHQsXG4gICAgd2lkdGg6IHBheWxvYWQud2lkdGgsXG4gICAgY29udGVudF90eXBlOiBwYXlsb2FkLmNvbnRlbnRUeXBlLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtVG9EaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbShib3Q6IEJvdCwgcGF5bG9hZDogTWVkaWFHYWxsZXJ5SXRlbSk6IERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtIHtcbiAgcmV0dXJuIHtcbiAgICBtZWRpYTogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5tZWRpYSksXG4gICAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUFjdGlvblJvdyhib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEFjdGlvblJvdyB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkFjdGlvblJvdyxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICAvLyBUaGUgYWN0aW9uUm93LmNvbXBvbmVudHMgdHlwZSBpcyBraW5kYSBhbm5veWluZywgc28gd2UgbmVlZCBhIGNhc3QgZm9yIHRoaXNcbiAgICBjb21wb25lbnRzOiAocGF5bG9hZC5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpID8/IFtdKSBhcyBEaXNjb3JkQWN0aW9uUm93Wydjb21wb25lbnRzJ10sXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ29udGFpbmVyLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGFjY2VudF9jb2xvcjogcGF5bG9hZC5hY2NlbnRDb2xvcixcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gICAgY29tcG9uZW50czogKHBheWxvYWQuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKSA/P1xuICAgICAgW10pIGFzIERpc2NvcmRDb250YWluZXJDb21wb25lbnRbJ2NvbXBvbmVudHMnXSxcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRCdXR0b25Db21wb25lbnQge1xuICAvLyBTaW5jZSBDb21wb25lbnQgaXMgYSBtZXJnZSBvZiBhbGwgY29tcG9uZW50cywgc29tZSBjYXN0cyBhcmUgbmVjZXNzYXJ5XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvbixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBzdHlsZTogcGF5bG9hZC5zdHlsZSBhcyBCdXR0b25TdHlsZXMsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIGVtb2ppOiBwYXlsb2FkLmVtb2ppXG4gICAgICA/IHtcbiAgICAgICAgICBpZDogcGF5bG9hZC5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UocGF5bG9hZC5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbmFtZTogcGF5bG9hZC5lbW9qaS5uYW1lLFxuICAgICAgICAgIGFuaW1hdGVkOiBwYXlsb2FkLmVtb2ppLmFuaW1hdGVkLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICBsYWJlbDogcGF5bG9hZC5sYWJlbCxcbiAgICB1cmw6IHBheWxvYWQudXJsLFxuICAgIHNrdV9pZDogcGF5bG9hZC5za3VJZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UocGF5bG9hZC5za3VJZCkgOiB1bmRlZmluZWQsXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KF9ib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCB7XG4gIC8vIFNpbmNlIENvbXBvbmVudCBpcyBhIG1lcmdlIG9mIGFsbCBjb21wb25lbnRzLCBzb21lIGNhc3RzIGFyZSBuZWNlc3NhcnlcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIHN0eWxlOiBwYXlsb2FkLnN0eWxlIGFzIFRleHRTdHlsZXMsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICBsYWJlbDogcGF5bG9hZC5sYWJlbCEsXG4gICAgdmFsdWU6IHBheWxvYWQudmFsdWUsXG4gICAgbWF4X2xlbmd0aDogcGF5bG9hZC5tYXhMZW5ndGgsXG4gICAgbWluX2xlbmd0aDogcGF5bG9hZC5taW5MZW5ndGgsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IHBheWxvYWQudHlwZSBhcyBEaXNjb3JkU2VsZWN0TWVudUNvbXBvbmVudFsndHlwZSddLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgY2hhbm5lbF90eXBlczogcGF5bG9hZC5jaGFubmVsVHlwZXMsXG4gICAgZGVmYXVsdF92YWx1ZXM6IHBheWxvYWQuZGVmYXVsdFZhbHVlcz8ubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgfSkpLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIG9wdGlvbnM6IHBheWxvYWQub3B0aW9ucz8ubWFwKChvcHRpb24pID0+ICh7XG4gICAgICBsYWJlbDogb3B0aW9uLmxhYmVsLFxuICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb24uZGVzY3JpcHRpb24sXG4gICAgICBlbW9qaTogb3B0aW9uLmVtb2ppXG4gICAgICAgID8ge1xuICAgICAgICAgICAgaWQ6IG9wdGlvbi5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2Uob3B0aW9uLmVtb2ppLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIG5hbWU6IG9wdGlvbi5lbW9qaS5uYW1lLFxuICAgICAgICAgICAgYW5pbWF0ZWQ6IG9wdGlvbi5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgZGVmYXVsdDogb3B0aW9uLmRlZmF1bHQsXG4gICAgfSkpLFxuICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnBsYWNlaG9sZGVyLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRTZWN0aW9uQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjb21wb25lbnRzOiBwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgYXMgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50W10sXG4gICAgYWNjZXNzb3J5OiAocGF5bG9hZC5hY2Nlc3NvcnkgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgcGF5bG9hZC5hY2Nlc3NvcnkpIDogdW5kZWZpbmVkKSBhcyBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudFsnYWNjZXNzb3J5J10sXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRmlsZUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEZpbGVDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGZpbGU6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQuZmlsZSEpLFxuICAgIHNwb2lsZXI6IHBheWxvYWQuc3BvaWxlcixcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZWRpYUdhbGxlcnksXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgaXRlbXM6IHBheWxvYWQuaXRlbXM/Lm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBpdGVtKSkgPz8gW10sXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGh1bWJuYWlsLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIG1lZGlhOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhISksXG4gICAgZGVzY3JpcHRpb246IHBheWxvYWQuZGVzY3JpcHRpb24sXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICB9XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50IiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0iLCJ0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtIiwiYm90IiwicGF5bG9hZCIsInR5cGUiLCJNZXNzYWdlQ29tcG9uZW50VHlwZXMiLCJBY3Rpb25Sb3ciLCJ0cmFuc2Zvcm1BY3Rpb25Sb3ciLCJCdXR0b24iLCJ0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQiLCJDb250YWluZXIiLCJ0cmFuc2Zvcm1Db250YWluZXJDb21wb25lbnQiLCJUZXh0SW5wdXQiLCJ0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQiLCJTdHJpbmdTZWxlY3QiLCJDaGFubmVsU2VsZWN0IiwiUm9sZVNlbGVjdCIsIlVzZXJTZWxlY3QiLCJNZW50aW9uYWJsZVNlbGVjdCIsInRyYW5zZm9ybVNlbGVjdE1lbnVDb21wb25lbnQiLCJTZWN0aW9uIiwidHJhbnNmb3JtU2VjdGlvbkNvbXBvbmVudCIsIkZpbGUiLCJ0cmFuc2Zvcm1GaWxlQ29tcG9uZW50IiwiTWVkaWFHYWxsZXJ5IiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50IiwiVGh1bWJuYWlsIiwidHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50IiwiU2VwYXJhdG9yIiwiVGV4dERpc3BsYXkiLCJfYm90IiwidXJsIiwicHJveHlfdXJsIiwicHJveHlVcmwiLCJoZWlnaHQiLCJ3aWR0aCIsImNvbnRlbnRfdHlwZSIsImNvbnRlbnRUeXBlIiwibWVkaWEiLCJ0cmFuc2Zvcm1lcnMiLCJyZXZlcnNlIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJkZXNjcmlwdGlvbiIsInNwb2lsZXIiLCJpZCIsImNvbXBvbmVudHMiLCJtYXAiLCJjb21wb25lbnQiLCJhY2NlbnRfY29sb3IiLCJhY2NlbnRDb2xvciIsInN0eWxlIiwiY3VzdG9tX2lkIiwiY3VzdG9tSWQiLCJkaXNhYmxlZCIsImVtb2ppIiwic25vd2ZsYWtlIiwidW5kZWZpbmVkIiwibmFtZSIsImFuaW1hdGVkIiwibGFiZWwiLCJza3VfaWQiLCJza3VJZCIsInZhbHVlIiwibWF4X2xlbmd0aCIsIm1heExlbmd0aCIsIm1pbl9sZW5ndGgiLCJtaW5MZW5ndGgiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwiY2hhbm5lbF90eXBlcyIsImNoYW5uZWxUeXBlcyIsImRlZmF1bHRfdmFsdWVzIiwiZGVmYXVsdFZhbHVlcyIsImRlZmF1bHRWYWx1ZSIsIm1heF92YWx1ZXMiLCJtYXhWYWx1ZXMiLCJtaW5fdmFsdWVzIiwibWluVmFsdWVzIiwib3B0aW9ucyIsIm9wdGlvbiIsImRlZmF1bHQiLCJhY2Nlc3NvcnkiLCJmaWxlIiwiaXRlbXMiLCJpdGVtIiwibWVkaWFHYWxsZXJ5SXRlbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFvQmdCQSxvQ0FBb0M7ZUFBcENBOztJQTBDQUMsa0RBQWtEO2VBQWxEQTs7SUFWQUMsb0RBQW9EO2VBQXBEQTs7O3VCQXBEa0c7QUFvQjNHLFNBQVNGLHFDQUFxQ0csR0FBUSxFQUFFQyxPQUFrQjtJQUMvRSx1Q0FBdUM7SUFDdkMsT0FBUUEsUUFBUUMsSUFBSTtRQUNsQixLQUFLQyw0QkFBcUIsQ0FBQ0MsU0FBUztZQUNsQyxPQUFPQyxtQkFBbUJMLEtBQUtDO1FBQ2pDLEtBQUtFLDRCQUFxQixDQUFDRyxNQUFNO1lBQy9CLE9BQU9DLHlCQUF5QlAsS0FBS0M7UUFDdkMsS0FBS0UsNEJBQXFCLENBQUNLLFNBQVM7WUFDbEMsT0FBT0MsNEJBQTRCVCxLQUFLQztRQUMxQyxLQUFLRSw0QkFBcUIsQ0FBQ08sU0FBUztZQUNsQyxPQUFPQyw0QkFBNEJYLEtBQUtDO1FBQzFDLEtBQUtFLDRCQUFxQixDQUFDUyxZQUFZO1FBQ3ZDLEtBQUtULDRCQUFxQixDQUFDVSxhQUFhO1FBQ3hDLEtBQUtWLDRCQUFxQixDQUFDVyxVQUFVO1FBQ3JDLEtBQUtYLDRCQUFxQixDQUFDWSxVQUFVO1FBQ3JDLEtBQUtaLDRCQUFxQixDQUFDYSxpQkFBaUI7WUFDMUMsT0FBT0MsNkJBQTZCakIsS0FBS0M7UUFDM0MsS0FBS0UsNEJBQXFCLENBQUNlLE9BQU87WUFDaEMsT0FBT0MsMEJBQTBCbkIsS0FBS0M7UUFDeEMsS0FBS0UsNEJBQXFCLENBQUNpQixJQUFJO1lBQzdCLE9BQU9DLHVCQUF1QnJCLEtBQUtDO1FBQ3JDLEtBQUtFLDRCQUFxQixDQUFDbUIsWUFBWTtZQUNyQyxPQUFPQywrQkFBK0J2QixLQUFLQztRQUM3QyxLQUFLRSw0QkFBcUIsQ0FBQ3FCLFNBQVM7WUFDbEMsT0FBT0MsNEJBQTRCekIsS0FBS0M7UUFDMUMsS0FBS0UsNEJBQXFCLENBQUN1QixTQUFTO1FBQ3BDLEtBQUt2Qiw0QkFBcUIsQ0FBQ3dCLFdBQVc7WUFDcEMsZ0NBQWdDO1lBQ2hDLE9BQU8xQjtJQUNYO0FBQ0Y7QUFFTyxTQUFTRixxREFBcUQ2QixJQUFTLEVBQUUzQixPQUEwQjtJQUN4RyxPQUFPO1FBQ0w0QixLQUFLNUIsUUFBUTRCLEdBQUc7UUFDaEJDLFdBQVc3QixRQUFROEIsUUFBUTtRQUMzQkMsUUFBUS9CLFFBQVErQixNQUFNO1FBQ3RCQyxPQUFPaEMsUUFBUWdDLEtBQUs7UUFDcEJDLGNBQWNqQyxRQUFRa0MsV0FBVztJQUNuQztBQUNGO0FBRU8sU0FBU3JDLG1EQUFtREUsR0FBUSxFQUFFQyxPQUF5QjtJQUNwRyxPQUFPO1FBQ0xtQyxPQUFPcEMsSUFBSXFDLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxpQkFBaUIsQ0FBQ3ZDLEtBQUtDLFFBQVFtQyxLQUFLO1FBQ3BFSSxhQUFhdkMsUUFBUXVDLFdBQVc7UUFDaENDLFNBQVN4QyxRQUFRd0MsT0FBTztJQUMxQjtBQUNGO0FBRUEsU0FBU3BDLG1CQUFtQkwsR0FBUSxFQUFFQyxPQUFrQjtJQUN0RCxPQUFPO1FBQ0xDLE1BQU1DLDRCQUFxQixDQUFDQyxTQUFTO1FBQ3JDc0MsSUFBSXpDLFFBQVF5QyxFQUFFO1FBQ2QsOEVBQThFO1FBQzlFQyxZQUFhMUMsUUFBUTBDLFVBQVUsRUFBRUMsSUFBSSxDQUFDQyxZQUFjN0MsSUFBSXFDLFlBQVksQ0FBQ0MsT0FBTyxDQUFDTyxTQUFTLENBQUM3QyxLQUFLNkMsZUFBZSxFQUFFO0lBQy9HO0FBQ0Y7QUFFQSxTQUFTcEMsNEJBQTRCVCxHQUFRLEVBQUVDLE9BQWtCO0lBQy9ELE9BQU87UUFDTEMsTUFBTUMsNEJBQXFCLENBQUNLLFNBQVM7UUFDckNrQyxJQUFJekMsUUFBUXlDLEVBQUU7UUFDZEksY0FBYzdDLFFBQVE4QyxXQUFXO1FBQ2pDTixTQUFTeEMsUUFBUXdDLE9BQU87UUFDeEJFLFlBQWExQyxRQUFRMEMsVUFBVSxFQUFFQyxJQUFJLENBQUNDLFlBQWM3QyxJQUFJcUMsWUFBWSxDQUFDQyxPQUFPLENBQUNPLFNBQVMsQ0FBQzdDLEtBQUs2QyxlQUMxRixFQUFFO0lBQ047QUFDRjtBQUVBLFNBQVN0Qyx5QkFBeUJQLEdBQVEsRUFBRUMsT0FBa0I7SUFDNUQseUVBQXlFO0lBQ3pFLE9BQU87UUFDTEMsTUFBTUMsNEJBQXFCLENBQUNHLE1BQU07UUFDbENvQyxJQUFJekMsUUFBUXlDLEVBQUU7UUFDZE0sT0FBTy9DLFFBQVErQyxLQUFLO1FBQ3BCQyxXQUFXaEQsUUFBUWlELFFBQVE7UUFDM0JDLFVBQVVsRCxRQUFRa0QsUUFBUTtRQUMxQkMsT0FBT25ELFFBQVFtRCxLQUFLLEdBQ2hCO1lBQ0VWLElBQUl6QyxRQUFRbUQsS0FBSyxDQUFDVixFQUFFLEdBQUcxQyxJQUFJcUMsWUFBWSxDQUFDQyxPQUFPLENBQUNlLFNBQVMsQ0FBQ3BELFFBQVFtRCxLQUFLLENBQUNWLEVBQUUsSUFBSVk7WUFDOUVDLE1BQU10RCxRQUFRbUQsS0FBSyxDQUFDRyxJQUFJO1lBQ3hCQyxVQUFVdkQsUUFBUW1ELEtBQUssQ0FBQ0ksUUFBUTtRQUNsQyxJQUNBRjtRQUNKRyxPQUFPeEQsUUFBUXdELEtBQUs7UUFDcEI1QixLQUFLNUIsUUFBUTRCLEdBQUc7UUFDaEI2QixRQUFRekQsUUFBUTBELEtBQUssR0FBRzNELElBQUlxQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ2UsU0FBUyxDQUFDcEQsUUFBUTBELEtBQUssSUFBSUw7SUFDOUU7QUFDRjtBQUVBLFNBQVMzQyw0QkFBNEJpQixJQUFTLEVBQUUzQixPQUFrQjtJQUNoRSx5RUFBeUU7SUFDekUsT0FBTztRQUNMQyxNQUFNQyw0QkFBcUIsQ0FBQ08sU0FBUztRQUNyQ2dDLElBQUl6QyxRQUFReUMsRUFBRTtRQUNkTSxPQUFPL0MsUUFBUStDLEtBQUs7UUFDcEJDLFdBQVdoRCxRQUFRaUQsUUFBUTtRQUMzQk8sT0FBT3hELFFBQVF3RCxLQUFLO1FBQ3BCRyxPQUFPM0QsUUFBUTJELEtBQUs7UUFDcEJDLFlBQVk1RCxRQUFRNkQsU0FBUztRQUM3QkMsWUFBWTlELFFBQVErRCxTQUFTO1FBQzdCQyxhQUFhaEUsUUFBUWdFLFdBQVc7UUFDaENDLFVBQVVqRSxRQUFRaUUsUUFBUTtJQUM1QjtBQUNGO0FBRUEsU0FBU2pELDZCQUE2QmpCLEdBQVEsRUFBRUMsT0FBa0I7SUFDaEUsT0FBTztRQUNMQyxNQUFNRCxRQUFRQyxJQUFJO1FBQ2xCd0MsSUFBSXpDLFFBQVF5QyxFQUFFO1FBQ2RPLFdBQVdoRCxRQUFRaUQsUUFBUTtRQUMzQmlCLGVBQWVsRSxRQUFRbUUsWUFBWTtRQUNuQ0MsZ0JBQWdCcEUsUUFBUXFFLGFBQWEsRUFBRTFCLElBQUksQ0FBQzJCLGVBQWtCLENBQUE7Z0JBQzVEN0IsSUFBSTFDLElBQUlxQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ2UsU0FBUyxDQUFDa0IsYUFBYTdCLEVBQUU7Z0JBQ3REeEMsTUFBTXFFLGFBQWFyRSxJQUFJO1lBQ3pCLENBQUE7UUFDQWlELFVBQVVsRCxRQUFRa0QsUUFBUTtRQUMxQnFCLFlBQVl2RSxRQUFRd0UsU0FBUztRQUM3QkMsWUFBWXpFLFFBQVEwRSxTQUFTO1FBQzdCQyxTQUFTM0UsUUFBUTJFLE9BQU8sRUFBRWhDLElBQUksQ0FBQ2lDLFNBQVksQ0FBQTtnQkFDekNwQixPQUFPb0IsT0FBT3BCLEtBQUs7Z0JBQ25CRyxPQUFPaUIsT0FBT2pCLEtBQUs7Z0JBQ25CcEIsYUFBYXFDLE9BQU9yQyxXQUFXO2dCQUMvQlksT0FBT3lCLE9BQU96QixLQUFLLEdBQ2Y7b0JBQ0VWLElBQUltQyxPQUFPekIsS0FBSyxDQUFDVixFQUFFLEdBQUcxQyxJQUFJcUMsWUFBWSxDQUFDQyxPQUFPLENBQUNlLFNBQVMsQ0FBQ3dCLE9BQU96QixLQUFLLENBQUNWLEVBQUUsSUFBSVk7b0JBQzVFQyxNQUFNc0IsT0FBT3pCLEtBQUssQ0FBQ0csSUFBSTtvQkFDdkJDLFVBQVVxQixPQUFPekIsS0FBSyxDQUFDSSxRQUFRO2dCQUNqQyxJQUNBRjtnQkFDSndCLFNBQVNELE9BQU9DLE9BQU87WUFDekIsQ0FBQTtRQUNBYixhQUFhaEUsUUFBUWdFLFdBQVc7SUFDbEM7QUFDRjtBQUVBLFNBQVM5QywwQkFBMEJuQixHQUFRLEVBQUVDLE9BQWtCO0lBQzdELE9BQU87UUFDTEMsTUFBTUMsNEJBQXFCLENBQUNlLE9BQU87UUFDbkN3QixJQUFJekMsUUFBUXlDLEVBQUU7UUFDZEMsWUFBWTFDLFFBQVEwQyxVQUFVLEVBQUVDLElBQUksQ0FBQ0MsWUFBYzdDLElBQUlxQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ08sU0FBUyxDQUFDN0MsS0FBSzZDO1FBQzNGa0MsV0FBWTlFLFFBQVE4RSxTQUFTLEdBQUcvRSxJQUFJcUMsWUFBWSxDQUFDQyxPQUFPLENBQUNPLFNBQVMsQ0FBQzdDLEtBQUtDLFFBQVE4RSxTQUFTLElBQUl6QjtJQUMvRjtBQUNGO0FBRUEsU0FBU2pDLHVCQUF1QnJCLEdBQVEsRUFBRUMsT0FBa0I7SUFDMUQsT0FBTztRQUNMQyxNQUFNQyw0QkFBcUIsQ0FBQ2lCLElBQUk7UUFDaENzQixJQUFJekMsUUFBUXlDLEVBQUU7UUFDZHNDLE1BQU1oRixJQUFJcUMsWUFBWSxDQUFDQyxPQUFPLENBQUNDLGlCQUFpQixDQUFDdkMsS0FBS0MsUUFBUStFLElBQUk7UUFDbEV2QyxTQUFTeEMsUUFBUXdDLE9BQU87SUFDMUI7QUFDRjtBQUVBLFNBQVNsQiwrQkFBK0J2QixHQUFRLEVBQUVDLE9BQWtCO0lBQ2xFLE9BQU87UUFDTEMsTUFBTUMsNEJBQXFCLENBQUNtQixZQUFZO1FBQ3hDb0IsSUFBSXpDLFFBQVF5QyxFQUFFO1FBQ2R1QyxPQUFPaEYsUUFBUWdGLEtBQUssRUFBRXJDLElBQUksQ0FBQ3NDLE9BQVNsRixJQUFJcUMsWUFBWSxDQUFDQyxPQUFPLENBQUM2QyxnQkFBZ0IsQ0FBQ25GLEtBQUtrRixVQUFVLEVBQUU7SUFDakc7QUFDRjtBQUVBLFNBQVN6RCw0QkFBNEJ6QixHQUFRLEVBQUVDLE9BQWtCO0lBQy9ELE9BQU87UUFDTEMsTUFBTUMsNEJBQXFCLENBQUNxQixTQUFTO1FBQ3JDa0IsSUFBSXpDLFFBQVF5QyxFQUFFO1FBQ2ROLE9BQU9wQyxJQUFJcUMsWUFBWSxDQUFDQyxPQUFPLENBQUNDLGlCQUFpQixDQUFDdkMsS0FBS0MsUUFBUW1DLEtBQUs7UUFDcEVJLGFBQWF2QyxRQUFRdUMsV0FBVztRQUNoQ0MsU0FBU3hDLFFBQVF3QyxPQUFPO0lBQzFCO0FBQ0YifQ==
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LCB0eXBlIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50LCBNZXNzYWdlQ29tcG9uZW50VHlwZXMsIHR5cGUgVGV4dFN0eWxlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBCb3QsXG4gIEJ1dHRvblN0eWxlcyxcbiAgQ29tcG9uZW50LFxuICBEaXNjb3JkQWN0aW9uUm93LFxuICBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50LFxuICBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICBEaXNjb3JkU2VsZWN0TWVudUNvbXBvbmVudCxcbiAgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICBEaXNjb3JkVGV4dElucHV0Q29tcG9uZW50LFxuICBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50LFxuICBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIE1lZGlhR2FsbGVyeUl0ZW0sXG4gIFVuZnVybGVkTWVkaWFJdGVtLFxufSBmcm9tICcuLi8uLi9pbmRleC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQge1xuICAvLyBUaGlzIHN3aXRjaCBzaG91bGQgaW5jbHVkZSBhbGwgY2FzZXNcbiAgc3dpdGNoIChwYXlsb2FkLnR5cGUpIHtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3c6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b246XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXI6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0SW5wdXQ6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hhbm5lbFNlbGVjdDpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Sb2xlU2VsZWN0OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlVzZXJTZWxlY3Q6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZClcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lZGlhR2FsbGVyeTpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90LCBwYXlsb2FkKVxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlcGFyYXRvcjpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIC8vIEFzIG9mIG5vdyB0aGV5IGFyZSBjb21wYXRpYmxlXG4gICAgICByZXR1cm4gcGF5bG9hZCBhcyBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBVbmZ1cmxlZE1lZGlhSXRlbSk6IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSB7XG4gIHJldHVybiB7XG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICBwcm94eV91cmw6IHBheWxvYWQucHJveHlVcmwsXG4gICAgaGVpZ2h0OiBwYXlsb2FkLmhlaWdodCxcbiAgICB3aWR0aDogcGF5bG9hZC53aWR0aCxcbiAgICBjb250ZW50X3R5cGU6IHBheWxvYWQuY29udGVudFR5cGUsXG4gICAgYXR0YWNobWVudF9pZDogcGF5bG9hZC5hdHRhY2htZW50SWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudElkKSA6IHVuZGVmaW5lZCxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0oYm90OiBCb3QsIHBheWxvYWQ6IE1lZGlhR2FsbGVyeUl0ZW0pOiBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSB7XG4gIHJldHVybiB7XG4gICAgbWVkaWE6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpLFxuICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmRlc2NyaXB0aW9uLFxuICAgIHNwb2lsZXI6IHBheWxvYWQuc3BvaWxlcixcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpb25Sb3coYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRBY3Rpb25Sb3cge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3csXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgLy8gVGhlIGFjdGlvblJvdy5jb21wb25lbnRzIHR5cGUgaXMga2luZGEgYW5ub3lpbmcsIHNvIHdlIG5lZWQgYSBjYXN0IGZvciB0aGlzXG4gICAgY29tcG9uZW50czogKHBheWxvYWQuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKSA/PyBbXSkgYXMgRGlzY29yZEFjdGlvblJvd1snY29tcG9uZW50cyddLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBhY2NlbnRfY29sb3I6IHBheWxvYWQuYWNjZW50Q29sb3IsXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICAgIGNvbXBvbmVudHM6IChwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgPz9cbiAgICAgIFtdKSBhcyBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50Wydjb21wb25lbnRzJ10sXG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkQnV0dG9uQ29tcG9uZW50IHtcbiAgLy8gU2luY2UgQ29tcG9uZW50IGlzIGEgbWVyZ2Ugb2YgYWxsIGNvbXBvbmVudHMsIHNvbWUgY2FzdHMgYXJlIG5lY2Vzc2FyeVxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b24sXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgc3R5bGU6IHBheWxvYWQuc3R5bGUgYXMgQnV0dG9uU3R5bGVzLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCxcbiAgICBkaXNhYmxlZDogcGF5bG9hZC5kaXNhYmxlZCxcbiAgICBlbW9qaTogcGF5bG9hZC5lbW9qaVxuICAgICAgPyB7XG4gICAgICAgICAgaWQ6IHBheWxvYWQuZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuZW1vamkuaWQpIDogdW5kZWZpbmVkLFxuICAgICAgICAgIG5hbWU6IHBheWxvYWQuZW1vamkubmFtZSxcbiAgICAgICAgICBhbmltYXRlZDogcGF5bG9hZC5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgbGFiZWw6IHBheWxvYWQubGFiZWwsXG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICBza3VfaWQ6IHBheWxvYWQuc2t1SWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuc2t1SWQpIDogdW5kZWZpbmVkLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChfYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQge1xuICAvLyBTaW5jZSBDb21wb25lbnQgaXMgYSBtZXJnZSBvZiBhbGwgY29tcG9uZW50cywgc29tZSBjYXN0cyBhcmUgbmVjZXNzYXJ5XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHRJbnB1dCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBzdHlsZTogcGF5bG9hZC5zdHlsZSBhcyBUZXh0U3R5bGVzLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgbGFiZWw6IHBheWxvYWQubGFiZWwhLFxuICAgIHZhbHVlOiBwYXlsb2FkLnZhbHVlLFxuICAgIG1heF9sZW5ndGg6IHBheWxvYWQubWF4TGVuZ3RoLFxuICAgIG1pbl9sZW5ndGg6IHBheWxvYWQubWluTGVuZ3RoLFxuICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnBsYWNlaG9sZGVyLFxuICAgIHJlcXVpcmVkOiBwYXlsb2FkLnJlcXVpcmVkLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlbGVjdE1lbnVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRTZWxlY3RNZW51Q29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBwYXlsb2FkLnR5cGUgYXMgRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnRbJ3R5cGUnXSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGNoYW5uZWxfdHlwZXM6IHBheWxvYWQuY2hhbm5lbFR5cGVzLFxuICAgIGRlZmF1bHRfdmFsdWVzOiBwYXlsb2FkLmRlZmF1bHRWYWx1ZXM/Lm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgIHR5cGU6IGRlZmF1bHRWYWx1ZS50eXBlLFxuICAgIH0pKSxcbiAgICBkaXNhYmxlZDogcGF5bG9hZC5kaXNhYmxlZCxcbiAgICBtYXhfdmFsdWVzOiBwYXlsb2FkLm1heFZhbHVlcyxcbiAgICBtaW5fdmFsdWVzOiBwYXlsb2FkLm1pblZhbHVlcyxcbiAgICBvcHRpb25zOiBwYXlsb2FkLm9wdGlvbnM/Lm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCxcbiAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgZW1vamk6IG9wdGlvbi5lbW9qaVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGlkOiBvcHRpb24uZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBuYW1lOiBvcHRpb24uZW1vamkubmFtZSxcbiAgICAgICAgICAgIGFuaW1hdGVkOiBvcHRpb24uZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGRlZmF1bHQ6IG9wdGlvbi5kZWZhdWx0LFxuICAgIH0pKSxcbiAgICBwbGFjZWhvbGRlcjogcGF5bG9hZC5wbGFjZWhvbGRlcixcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlY3Rpb24sXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgY29tcG9uZW50czogcGF5bG9hZC5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpIGFzIERpc2NvcmRUZXh0RGlzcGxheUNvbXBvbmVudFtdLFxuICAgIGFjY2Vzc29yeTogKHBheWxvYWQuYWNjZXNzb3J5ID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIHBheWxvYWQuYWNjZXNzb3J5KSA6IHVuZGVmaW5lZCkgYXMgRGlzY29yZFNlY3Rpb25Db21wb25lbnRbJ2FjY2Vzc29yeSddLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRGaWxlQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBmaWxlOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUhKSxcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lISxcbiAgICBzaXplOiBwYXlsb2FkLnNpemUhLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lZGlhR2FsbGVyeSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBpdGVtczogcGF5bG9hZC5pdGVtcz8ubWFwKChpdGVtKSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UubWVkaWFHYWxsZXJ5SXRlbShib3QsIGl0ZW0pKSA/PyBbXSxcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRUaHVtYm5haWxDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UaHVtYm5haWwsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgbWVkaWE6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEhKSxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1Db21wb25lbnRUb0Rpc2NvcmRDb21wb25lbnQiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtVG9EaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSIsInRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtVG9EaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0iLCJib3QiLCJwYXlsb2FkIiwidHlwZSIsIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsIkFjdGlvblJvdyIsInRyYW5zZm9ybUFjdGlvblJvdyIsIkJ1dHRvbiIsInRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudCIsIkNvbnRhaW5lciIsInRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudCIsIlRleHRJbnB1dCIsInRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudCIsIlN0cmluZ1NlbGVjdCIsIkNoYW5uZWxTZWxlY3QiLCJSb2xlU2VsZWN0IiwiVXNlclNlbGVjdCIsIk1lbnRpb25hYmxlU2VsZWN0IiwidHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudCIsIlNlY3Rpb24iLCJ0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50IiwiRmlsZSIsInRyYW5zZm9ybUZpbGVDb21wb25lbnQiLCJNZWRpYUdhbGxlcnkiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQiLCJUaHVtYm5haWwiLCJ0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQiLCJTZXBhcmF0b3IiLCJUZXh0RGlzcGxheSIsInVybCIsInByb3h5X3VybCIsInByb3h5VXJsIiwiaGVpZ2h0Iiwid2lkdGgiLCJjb250ZW50X3R5cGUiLCJjb250ZW50VHlwZSIsImF0dGFjaG1lbnRfaWQiLCJhdHRhY2htZW50SWQiLCJ0cmFuc2Zvcm1lcnMiLCJyZXZlcnNlIiwic25vd2ZsYWtlIiwidW5kZWZpbmVkIiwibWVkaWEiLCJ1bmZ1cmxlZE1lZGlhSXRlbSIsImRlc2NyaXB0aW9uIiwic3BvaWxlciIsImlkIiwiY29tcG9uZW50cyIsIm1hcCIsImNvbXBvbmVudCIsImFjY2VudF9jb2xvciIsImFjY2VudENvbG9yIiwic3R5bGUiLCJjdXN0b21faWQiLCJjdXN0b21JZCIsImRpc2FibGVkIiwiZW1vamkiLCJuYW1lIiwiYW5pbWF0ZWQiLCJsYWJlbCIsInNrdV9pZCIsInNrdUlkIiwiX2JvdCIsInZhbHVlIiwibWF4X2xlbmd0aCIsIm1heExlbmd0aCIsIm1pbl9sZW5ndGgiLCJtaW5MZW5ndGgiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwiY2hhbm5lbF90eXBlcyIsImNoYW5uZWxUeXBlcyIsImRlZmF1bHRfdmFsdWVzIiwiZGVmYXVsdFZhbHVlcyIsImRlZmF1bHRWYWx1ZSIsIm1heF92YWx1ZXMiLCJtYXhWYWx1ZXMiLCJtaW5fdmFsdWVzIiwibWluVmFsdWVzIiwib3B0aW9ucyIsIm9wdGlvbiIsImRlZmF1bHQiLCJhY2Nlc3NvcnkiLCJmaWxlIiwic2l6ZSIsIml0ZW1zIiwiaXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBb0JnQkEsb0NBQW9DO2VBQXBDQTs7SUEyQ0FDLGtEQUFrRDtlQUFsREE7O0lBWEFDLG9EQUFvRDtlQUFwREE7Ozt1QkFwRGtHO0FBb0IzRyxTQUFTRixxQ0FBcUNHLEdBQVEsRUFBRUMsT0FBa0I7SUFDL0UsdUNBQXVDO0lBQ3ZDLE9BQVFBLFFBQVFDLElBQUk7UUFDbEIsS0FBS0MsNEJBQXFCLENBQUNDLFNBQVM7WUFDbEMsT0FBT0MsbUJBQW1CTCxLQUFLQztRQUNqQyxLQUFLRSw0QkFBcUIsQ0FBQ0csTUFBTTtZQUMvQixPQUFPQyx5QkFBeUJQLEtBQUtDO1FBQ3ZDLEtBQUtFLDRCQUFxQixDQUFDSyxTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QlQsS0FBS0M7UUFDMUMsS0FBS0UsNEJBQXFCLENBQUNPLFNBQVM7WUFDbEMsT0FBT0MsNEJBQTRCWCxLQUFLQztRQUMxQyxLQUFLRSw0QkFBcUIsQ0FBQ1MsWUFBWTtRQUN2QyxLQUFLVCw0QkFBcUIsQ0FBQ1UsYUFBYTtRQUN4QyxLQUFLViw0QkFBcUIsQ0FBQ1csVUFBVTtRQUNyQyxLQUFLWCw0QkFBcUIsQ0FBQ1ksVUFBVTtRQUNyQyxLQUFLWiw0QkFBcUIsQ0FBQ2EsaUJBQWlCO1lBQzFDLE9BQU9DLDZCQUE2QmpCLEtBQUtDO1FBQzNDLEtBQUtFLDRCQUFxQixDQUFDZSxPQUFPO1lBQ2hDLE9BQU9DLDBCQUEwQm5CLEtBQUtDO1FBQ3hDLEtBQUtFLDRCQUFxQixDQUFDaUIsSUFBSTtZQUM3QixPQUFPQyx1QkFBdUJyQixLQUFLQztRQUNyQyxLQUFLRSw0QkFBcUIsQ0FBQ21CLFlBQVk7WUFDckMsT0FBT0MsK0JBQStCdkIsS0FBS0M7UUFDN0MsS0FBS0UsNEJBQXFCLENBQUNxQixTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QnpCLEtBQUtDO1FBQzFDLEtBQUtFLDRCQUFxQixDQUFDdUIsU0FBUztRQUNwQyxLQUFLdkIsNEJBQXFCLENBQUN3QixXQUFXO1lBQ3BDLGdDQUFnQztZQUNoQyxPQUFPMUI7SUFDWDtBQUNGO0FBRU8sU0FBU0YscURBQXFEQyxHQUFRLEVBQUVDLE9BQTBCO0lBQ3ZHLE9BQU87UUFDTDJCLEtBQUszQixRQUFRMkIsR0FBRztRQUNoQkMsV0FBVzVCLFFBQVE2QixRQUFRO1FBQzNCQyxRQUFROUIsUUFBUThCLE1BQU07UUFDdEJDLE9BQU8vQixRQUFRK0IsS0FBSztRQUNwQkMsY0FBY2hDLFFBQVFpQyxXQUFXO1FBQ2pDQyxlQUFlbEMsUUFBUW1DLFlBQVksR0FBR3BDLElBQUlxQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDdEMsUUFBUW1DLFlBQVksSUFBSUk7SUFDbkc7QUFDRjtBQUVPLFNBQVMxQyxtREFBbURFLEdBQVEsRUFBRUMsT0FBeUI7SUFDcEcsT0FBTztRQUNMd0MsT0FBT3pDLElBQUlxQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0ksaUJBQWlCLENBQUMxQyxLQUFLQyxRQUFRd0MsS0FBSztRQUNwRUUsYUFBYTFDLFFBQVEwQyxXQUFXO1FBQ2hDQyxTQUFTM0MsUUFBUTJDLE9BQU87SUFDMUI7QUFDRjtBQUVBLFNBQVN2QyxtQkFBbUJMLEdBQVEsRUFBRUMsT0FBa0I7SUFDdEQsT0FBTztRQUNMQyxNQUFNQyw0QkFBcUIsQ0FBQ0MsU0FBUztRQUNyQ3lDLElBQUk1QyxRQUFRNEMsRUFBRTtRQUNkLDhFQUE4RTtRQUM5RUMsWUFBYTdDLFFBQVE2QyxVQUFVLEVBQUVDLElBQUksQ0FBQ0MsWUFBY2hELElBQUlxQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ1UsU0FBUyxDQUFDaEQsS0FBS2dELGVBQWUsRUFBRTtJQUMvRztBQUNGO0FBRUEsU0FBU3ZDLDRCQUE0QlQsR0FBUSxFQUFFQyxPQUFrQjtJQUMvRCxPQUFPO1FBQ0xDLE1BQU1DLDRCQUFxQixDQUFDSyxTQUFTO1FBQ3JDcUMsSUFBSTVDLFFBQVE0QyxFQUFFO1FBQ2RJLGNBQWNoRCxRQUFRaUQsV0FBVztRQUNqQ04sU0FBUzNDLFFBQVEyQyxPQUFPO1FBQ3hCRSxZQUFhN0MsUUFBUTZDLFVBQVUsRUFBRUMsSUFBSSxDQUFDQyxZQUFjaEQsSUFBSXFDLFlBQVksQ0FBQ0MsT0FBTyxDQUFDVSxTQUFTLENBQUNoRCxLQUFLZ0QsZUFDMUYsRUFBRTtJQUNOO0FBQ0Y7QUFFQSxTQUFTekMseUJBQXlCUCxHQUFRLEVBQUVDLE9BQWtCO0lBQzVELHlFQUF5RTtJQUN6RSxPQUFPO1FBQ0xDLE1BQU1DLDRCQUFxQixDQUFDRyxNQUFNO1FBQ2xDdUMsSUFBSTVDLFFBQVE0QyxFQUFFO1FBQ2RNLE9BQU9sRCxRQUFRa0QsS0FBSztRQUNwQkMsV0FBV25ELFFBQVFvRCxRQUFRO1FBQzNCQyxVQUFVckQsUUFBUXFELFFBQVE7UUFDMUJDLE9BQU90RCxRQUFRc0QsS0FBSyxHQUNoQjtZQUNFVixJQUFJNUMsUUFBUXNELEtBQUssQ0FBQ1YsRUFBRSxHQUFHN0MsSUFBSXFDLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxTQUFTLENBQUN0QyxRQUFRc0QsS0FBSyxDQUFDVixFQUFFLElBQUlMO1lBQzlFZ0IsTUFBTXZELFFBQVFzRCxLQUFLLENBQUNDLElBQUk7WUFDeEJDLFVBQVV4RCxRQUFRc0QsS0FBSyxDQUFDRSxRQUFRO1FBQ2xDLElBQ0FqQjtRQUNKa0IsT0FBT3pELFFBQVF5RCxLQUFLO1FBQ3BCOUIsS0FBSzNCLFFBQVEyQixHQUFHO1FBQ2hCK0IsUUFBUTFELFFBQVEyRCxLQUFLLEdBQUc1RCxJQUFJcUMsWUFBWSxDQUFDQyxPQUFPLENBQUNDLFNBQVMsQ0FBQ3RDLFFBQVEyRCxLQUFLLElBQUlwQjtJQUM5RTtBQUNGO0FBRUEsU0FBUzdCLDRCQUE0QmtELElBQVMsRUFBRTVELE9BQWtCO0lBQ2hFLHlFQUF5RTtJQUN6RSxPQUFPO1FBQ0xDLE1BQU1DLDRCQUFxQixDQUFDTyxTQUFTO1FBQ3JDbUMsSUFBSTVDLFFBQVE0QyxFQUFFO1FBQ2RNLE9BQU9sRCxRQUFRa0QsS0FBSztRQUNwQkMsV0FBV25ELFFBQVFvRCxRQUFRO1FBQzNCSyxPQUFPekQsUUFBUXlELEtBQUs7UUFDcEJJLE9BQU83RCxRQUFRNkQsS0FBSztRQUNwQkMsWUFBWTlELFFBQVErRCxTQUFTO1FBQzdCQyxZQUFZaEUsUUFBUWlFLFNBQVM7UUFDN0JDLGFBQWFsRSxRQUFRa0UsV0FBVztRQUNoQ0MsVUFBVW5FLFFBQVFtRSxRQUFRO0lBQzVCO0FBQ0Y7QUFFQSxTQUFTbkQsNkJBQTZCakIsR0FBUSxFQUFFQyxPQUFrQjtJQUNoRSxPQUFPO1FBQ0xDLE1BQU1ELFFBQVFDLElBQUk7UUFDbEIyQyxJQUFJNUMsUUFBUTRDLEVBQUU7UUFDZE8sV0FBV25ELFFBQVFvRCxRQUFRO1FBQzNCZ0IsZUFBZXBFLFFBQVFxRSxZQUFZO1FBQ25DQyxnQkFBZ0J0RSxRQUFRdUUsYUFBYSxFQUFFekIsSUFBSSxDQUFDMEIsZUFBa0IsQ0FBQTtnQkFDNUQ1QixJQUFJN0MsSUFBSXFDLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxTQUFTLENBQUNrQyxhQUFhNUIsRUFBRTtnQkFDdEQzQyxNQUFNdUUsYUFBYXZFLElBQUk7WUFDekIsQ0FBQTtRQUNBb0QsVUFBVXJELFFBQVFxRCxRQUFRO1FBQzFCb0IsWUFBWXpFLFFBQVEwRSxTQUFTO1FBQzdCQyxZQUFZM0UsUUFBUTRFLFNBQVM7UUFDN0JDLFNBQVM3RSxRQUFRNkUsT0FBTyxFQUFFL0IsSUFBSSxDQUFDZ0MsU0FBWSxDQUFBO2dCQUN6Q3JCLE9BQU9xQixPQUFPckIsS0FBSztnQkFDbkJJLE9BQU9pQixPQUFPakIsS0FBSztnQkFDbkJuQixhQUFhb0MsT0FBT3BDLFdBQVc7Z0JBQy9CWSxPQUFPd0IsT0FBT3hCLEtBQUssR0FDZjtvQkFDRVYsSUFBSWtDLE9BQU94QixLQUFLLENBQUNWLEVBQUUsR0FBRzdDLElBQUlxQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDd0MsT0FBT3hCLEtBQUssQ0FBQ1YsRUFBRSxJQUFJTDtvQkFDNUVnQixNQUFNdUIsT0FBT3hCLEtBQUssQ0FBQ0MsSUFBSTtvQkFDdkJDLFVBQVVzQixPQUFPeEIsS0FBSyxDQUFDRSxRQUFRO2dCQUNqQyxJQUNBakI7Z0JBQ0p3QyxTQUFTRCxPQUFPQyxPQUFPO1lBQ3pCLENBQUE7UUFDQWIsYUFBYWxFLFFBQVFrRSxXQUFXO0lBQ2xDO0FBQ0Y7QUFFQSxTQUFTaEQsMEJBQTBCbkIsR0FBUSxFQUFFQyxPQUFrQjtJQUM3RCxPQUFPO1FBQ0xDLE1BQU1DLDRCQUFxQixDQUFDZSxPQUFPO1FBQ25DMkIsSUFBSTVDLFFBQVE0QyxFQUFFO1FBQ2RDLFlBQVk3QyxRQUFRNkMsVUFBVSxFQUFFQyxJQUFJLENBQUNDLFlBQWNoRCxJQUFJcUMsWUFBWSxDQUFDQyxPQUFPLENBQUNVLFNBQVMsQ0FBQ2hELEtBQUtnRDtRQUMzRmlDLFdBQVloRixRQUFRZ0YsU0FBUyxHQUFHakYsSUFBSXFDLFlBQVksQ0FBQ0MsT0FBTyxDQUFDVSxTQUFTLENBQUNoRCxLQUFLQyxRQUFRZ0YsU0FBUyxJQUFJekM7SUFDL0Y7QUFDRjtBQUVBLFNBQVNuQix1QkFBdUJyQixHQUFRLEVBQUVDLE9BQWtCO0lBQzFELE9BQU87UUFDTEMsTUFBTUMsNEJBQXFCLENBQUNpQixJQUFJO1FBQ2hDeUIsSUFBSTVDLFFBQVE0QyxFQUFFO1FBQ2RxQyxNQUFNbEYsSUFBSXFDLFlBQVksQ0FBQ0MsT0FBTyxDQUFDSSxpQkFBaUIsQ0FBQzFDLEtBQUtDLFFBQVFpRixJQUFJO1FBQ2xFdEMsU0FBUzNDLFFBQVEyQyxPQUFPO1FBQ3hCWSxNQUFNdkQsUUFBUXVELElBQUk7UUFDbEIyQixNQUFNbEYsUUFBUWtGLElBQUk7SUFDcEI7QUFDRjtBQUVBLFNBQVM1RCwrQkFBK0J2QixHQUFRLEVBQUVDLE9BQWtCO0lBQ2xFLE9BQU87UUFDTEMsTUFBTUMsNEJBQXFCLENBQUNtQixZQUFZO1FBQ3hDdUIsSUFBSTVDLFFBQVE0QyxFQUFFO1FBQ2R1QyxPQUFPbkYsUUFBUW1GLEtBQUssRUFBRXJDLElBQUksQ0FBQ3NDLE9BQVNyRixJQUFJcUMsWUFBWSxDQUFDQyxPQUFPLENBQUNnRCxnQkFBZ0IsQ0FBQ3RGLEtBQUtxRixVQUFVLEVBQUU7SUFDakc7QUFDRjtBQUVBLFNBQVM1RCw0QkFBNEJ6QixHQUFRLEVBQUVDLE9BQWtCO0lBQy9ELE9BQU87UUFDTEMsTUFBTUMsNEJBQXFCLENBQUNxQixTQUFTO1FBQ3JDcUIsSUFBSTVDLFFBQVE0QyxFQUFFO1FBQ2RKLE9BQU96QyxJQUFJcUMsWUFBWSxDQUFDQyxPQUFPLENBQUNJLGlCQUFpQixDQUFDMUMsS0FBS0MsUUFBUXdDLEtBQUs7UUFDcEVFLGFBQWExQyxRQUFRMEMsV0FBVztRQUNoQ0MsU0FBUzNDLFFBQVEyQyxPQUFPO0lBQzFCO0FBQ0YifQ==
|
|
@@ -55,7 +55,8 @@ function transformRole(bot, payload) {
|
|
|
55
55
|
const role = Object.create(baseRole);
|
|
56
56
|
const props = bot.transformers.desiredProperties.role;
|
|
57
57
|
if (props.id && payload.role.id) role.id = bot.transformers.snowflake(payload.role.id);
|
|
58
|
-
|
|
58
|
+
// Role name can be an empty string
|
|
59
|
+
if (props.name && payload.role.name !== undefined) role.name = payload.role.name;
|
|
59
60
|
if (props.position) role.position = payload.role.position;
|
|
60
61
|
if (props.guildId && payload.guildId) role.guildId = bot.transformers.snowflake(payload.guildId);
|
|
61
62
|
if (props.color && payload.role.color !== undefined) role.color = payload.role.color;
|
|
@@ -75,4 +76,4 @@ function transformRole(bot, payload) {
|
|
|
75
76
|
return bot.transformers.customizers.role(bot, payload.role, role);
|
|
76
77
|
}
|
|
77
78
|
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcm9sZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJpZ1N0cmluZywgRGlzY29yZFJvbGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IHR5cGUgSW50ZXJuYWxCb3QsIHR5cGUgUm9sZSwgaWNvbkhhc2hUb0JpZ0ludCB9IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuL3RvZ2dsZXMvUGVybWlzc2lvbnMuanMnXG5pbXBvcnQgeyBSb2xlVG9nZ2xlcyB9IGZyb20gJy4vdG9nZ2xlcy9yb2xlLmpzJ1xuXG5leHBvcnQgY29uc3QgYmFzZVJvbGU6IEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsncm9sZSddID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsncm9sZSddKSxcblxuICBnZXQgdGFncygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYm90SWQ6IHRoaXMuaW50ZXJuYWxUYWdzPy5ib3RJZCxcbiAgICAgIGludGVncmF0aW9uSWQ6IHRoaXMuaW50ZXJuYWxUYWdzPy5pbnRlZ3JhdGlvbklkLFxuICAgICAgc3Vic2NyaXB0aW9uTGlzdGluZ0lkOiB0aGlzLmludGVybmFsVGFncz8uc3Vic2NyaXB0aW9uTGlzdGluZ0lkLFxuICAgICAgYXZhaWxhYmxlRm9yUHVyY2hhc2U6IHRoaXMudG9nZ2xlcz8uYXZhaWxhYmxlRm9yUHVyY2hhc2UsXG4gICAgICBndWlsZENvbm5lY3Rpb25zOiB0aGlzLnRvZ2dsZXM/Lmd1aWxkQ29ubmVjdGlvbnMsXG4gICAgICBwcmVtaXVtU3Vic2NyaWJlcjogdGhpcy50b2dnbGVzPy5wcmVtaXVtU3Vic2NyaWJlcixcbiAgICB9XG4gIH0sXG4gIC8qKiBJZiB0aGlzIHJvbGUgaXMgc2hvd2VkIHNlcGFyYXRlbHkgaW4gdGhlIHVzZXIgbGlzdGluZyAqL1xuICBnZXQgaG9pc3QoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ2hvaXN0JylcbiAgfSxcbiAgLyoqIFdoZXRoZXIgdGhpcyByb2xlIGlzIG1hbmFnZWQgYnkgYW4gaW50ZWdyYXRpb24gKi9cbiAgZ2V0IG1hbmFnZWQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ21hbmFnZWQnKVxuICB9LFxuICAvKiogV2hldGhlciB0aGlzIHJvbGUgaXMgbWVudGlvbmFibGUgKi9cbiAgZ2V0IG1lbnRpb25hYmxlKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdtZW50aW9uYWJsZScpXG4gIH0sXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgdGhlIGd1aWxkcyBwcmVtaXVtIHN1YnNjcmliZXIgcm9sZSAqL1xuICBnZXQgcHJlbWl1bVN1YnNjcmliZXIoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ3ByZW1pdW1TdWJzY3JpYmVyJylcbiAgfSxcbiAgLyoqIFdoZXRoZXIgdGhpcyByb2xlIGlzIGF2YWlsYWJsZSBmb3IgcHVyY2hhc2UuICovXG4gIGdldCBhdmFpbGFibGVGb3JQdXJjaGFzZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcm9sZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJpZ1N0cmluZywgRGlzY29yZFJvbGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IHR5cGUgSW50ZXJuYWxCb3QsIHR5cGUgUm9sZSwgaWNvbkhhc2hUb0JpZ0ludCB9IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuL3RvZ2dsZXMvUGVybWlzc2lvbnMuanMnXG5pbXBvcnQgeyBSb2xlVG9nZ2xlcyB9IGZyb20gJy4vdG9nZ2xlcy9yb2xlLmpzJ1xuXG5leHBvcnQgY29uc3QgYmFzZVJvbGU6IEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsncm9sZSddID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsncm9sZSddKSxcblxuICBnZXQgdGFncygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYm90SWQ6IHRoaXMuaW50ZXJuYWxUYWdzPy5ib3RJZCxcbiAgICAgIGludGVncmF0aW9uSWQ6IHRoaXMuaW50ZXJuYWxUYWdzPy5pbnRlZ3JhdGlvbklkLFxuICAgICAgc3Vic2NyaXB0aW9uTGlzdGluZ0lkOiB0aGlzLmludGVybmFsVGFncz8uc3Vic2NyaXB0aW9uTGlzdGluZ0lkLFxuICAgICAgYXZhaWxhYmxlRm9yUHVyY2hhc2U6IHRoaXMudG9nZ2xlcz8uYXZhaWxhYmxlRm9yUHVyY2hhc2UsXG4gICAgICBndWlsZENvbm5lY3Rpb25zOiB0aGlzLnRvZ2dsZXM/Lmd1aWxkQ29ubmVjdGlvbnMsXG4gICAgICBwcmVtaXVtU3Vic2NyaWJlcjogdGhpcy50b2dnbGVzPy5wcmVtaXVtU3Vic2NyaWJlcixcbiAgICB9XG4gIH0sXG4gIC8qKiBJZiB0aGlzIHJvbGUgaXMgc2hvd2VkIHNlcGFyYXRlbHkgaW4gdGhlIHVzZXIgbGlzdGluZyAqL1xuICBnZXQgaG9pc3QoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ2hvaXN0JylcbiAgfSxcbiAgLyoqIFdoZXRoZXIgdGhpcyByb2xlIGlzIG1hbmFnZWQgYnkgYW4gaW50ZWdyYXRpb24gKi9cbiAgZ2V0IG1hbmFnZWQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ21hbmFnZWQnKVxuICB9LFxuICAvKiogV2hldGhlciB0aGlzIHJvbGUgaXMgbWVudGlvbmFibGUgKi9cbiAgZ2V0IG1lbnRpb25hYmxlKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdtZW50aW9uYWJsZScpXG4gIH0sXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgdGhlIGd1aWxkcyBwcmVtaXVtIHN1YnNjcmliZXIgcm9sZSAqL1xuICBnZXQgcHJlbWl1bVN1YnNjcmliZXIoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ3ByZW1pdW1TdWJzY3JpYmVyJylcbiAgfSxcbiAgLyoqIFdoZXRoZXIgdGhpcyByb2xlIGlzIGF2YWlsYWJsZSBmb3IgcHVyY2hhc2UuICovXG4gIGdldCBhdmFpbGFibGVGb3JQdXJjaGFzZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/LmhhcygnYXZhaWxhYmxlRm9yUHVyY2hhc2UnKVxuICB9LFxuICAvKiogV2hldGhlciB0aGlzIGlzIGEgZ3VpbGQncyBsaW5rZWQgcm9sZS4gKi9cbiAgZ2V0IGd1aWxkQ29ubmVjdGlvbnMoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ2d1aWxkQ29ubmVjdGlvbnMnKVxuICB9LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtUm9sZShib3Q6IEludGVybmFsQm90LCBwYXlsb2FkOiB7IHJvbGU6IERpc2NvcmRSb2xlOyBndWlsZElkOiBCaWdTdHJpbmcgfSk6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLnJvbGUge1xuICBjb25zdCByb2xlOiBSb2xlID0gT2JqZWN0LmNyZWF0ZShiYXNlUm9sZSlcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLnJvbGVcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQucm9sZS5pZCkgcm9sZS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucm9sZS5pZClcbiAgLy8gUm9sZSBuYW1lIGNhbiBiZSBhbiBlbXB0eSBzdHJpbmdcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5yb2xlLm5hbWUgIT09IHVuZGVmaW5lZCkgcm9sZS5uYW1lID0gcGF5bG9hZC5yb2xlLm5hbWVcbiAgaWYgKHByb3BzLnBvc2l0aW9uKSByb2xlLnBvc2l0aW9uID0gcGF5bG9hZC5yb2xlLnBvc2l0aW9uXG4gIGlmIChwcm9wcy5ndWlsZElkICYmIHBheWxvYWQuZ3VpbGRJZCkgcm9sZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZElkKVxuICBpZiAocHJvcHMuY29sb3IgJiYgcGF5bG9hZC5yb2xlLmNvbG9yICE9PSB1bmRlZmluZWQpIHJvbGUuY29sb3IgPSBwYXlsb2FkLnJvbGUuY29sb3JcbiAgaWYgKHByb3BzLnBlcm1pc3Npb25zICYmIHBheWxvYWQucm9sZS5wZXJtaXNzaW9ucykgcm9sZS5wZXJtaXNzaW9ucyA9IG5ldyBQZXJtaXNzaW9ucyhwYXlsb2FkLnJvbGUucGVybWlzc2lvbnMpXG4gIGlmIChwcm9wcy5pY29uICYmIHBheWxvYWQucm9sZS5pY29uKSByb2xlLmljb24gPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQucm9sZS5pY29uKVxuICBpZiAocHJvcHMudW5pY29kZUVtb2ppICYmIHBheWxvYWQucm9sZS51bmljb2RlX2Vtb2ppKSByb2xlLnVuaWNvZGVFbW9qaSA9IHBheWxvYWQucm9sZS51bmljb2RlX2Vtb2ppXG4gIGlmIChwcm9wcy5mbGFncykgcm9sZS5mbGFncyA9IHBheWxvYWQucm9sZS5mbGFnc1xuICBpZiAocHJvcHMudGFncyAmJiBwYXlsb2FkLnJvbGUudGFncykge1xuICAgIHJvbGUuaW50ZXJuYWxUYWdzID0ge31cbiAgICBpZiAocGF5bG9hZC5yb2xlLnRhZ3MuYm90X2lkKSByb2xlLmludGVybmFsVGFncy5ib3RJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucm9sZS50YWdzLmJvdF9pZClcbiAgICBpZiAocGF5bG9hZC5yb2xlLnRhZ3MuaW50ZWdyYXRpb25faWQpIHJvbGUuaW50ZXJuYWxUYWdzLmludGVncmF0aW9uSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnJvbGUudGFncy5pbnRlZ3JhdGlvbl9pZClcbiAgICBpZiAocGF5bG9hZC5yb2xlLnRhZ3Muc3Vic2NyaXB0aW9uX2xpc3RpbmdfaWQpXG4gICAgICByb2xlLmludGVybmFsVGFncy5zdWJzY3JpcHRpb25MaXN0aW5nSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnJvbGUudGFncy5zdWJzY3JpcHRpb25fbGlzdGluZ19pZClcbiAgfVxuICBpZiAocHJvcHMudG9nZ2xlcykge1xuICAgIHJvbGUudG9nZ2xlcyA9IG5ldyBSb2xlVG9nZ2xlcyhwYXlsb2FkLnJvbGUpXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5yb2xlKGJvdCwgcGF5bG9hZC5yb2xlLCByb2xlKVxufVxuIl0sIm5hbWVzIjpbImJhc2VSb2xlIiwidHJhbnNmb3JtUm9sZSIsInVuZGVmaW5lZCIsInRhZ3MiLCJib3RJZCIsImludGVybmFsVGFncyIsImludGVncmF0aW9uSWQiLCJzdWJzY3JpcHRpb25MaXN0aW5nSWQiLCJhdmFpbGFibGVGb3JQdXJjaGFzZSIsInRvZ2dsZXMiLCJndWlsZENvbm5lY3Rpb25zIiwicHJlbWl1bVN1YnNjcmliZXIiLCJob2lzdCIsImhhcyIsIm1hbmFnZWQiLCJtZW50aW9uYWJsZSIsImJvdCIsInBheWxvYWQiLCJyb2xlIiwiT2JqZWN0IiwiY3JlYXRlIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImlkIiwic25vd2ZsYWtlIiwibmFtZSIsInBvc2l0aW9uIiwiZ3VpbGRJZCIsImNvbG9yIiwicGVybWlzc2lvbnMiLCJQZXJtaXNzaW9ucyIsImljb24iLCJpY29uSGFzaFRvQmlnSW50IiwidW5pY29kZUVtb2ppIiwidW5pY29kZV9lbW9qaSIsImZsYWdzIiwiYm90X2lkIiwiaW50ZWdyYXRpb25faWQiLCJzdWJzY3JpcHRpb25fbGlzdGluZ19pZCIsIlJvbGVUb2dnbGVzIiwiY3VzdG9taXplcnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBS2FBLFFBQVE7ZUFBUkE7O0lBd0NHQyxhQUFhO2VBQWJBOzs7dUJBNUM4Qzs2QkFDbEM7c0JBQ0E7QUFFckIsTUFBTUQsV0FBa0U7SUFDN0UsMkVBQTJFO0lBQzNFLEdBQUlFLFNBQVM7SUFFYixJQUFJQyxRQUFPO1FBQ1QsT0FBTztZQUNMQyxPQUFPLElBQUksQ0FBQ0MsWUFBWSxFQUFFRDtZQUMxQkUsZUFBZSxJQUFJLENBQUNELFlBQVksRUFBRUM7WUFDbENDLHVCQUF1QixJQUFJLENBQUNGLFlBQVksRUFBRUU7WUFDMUNDLHNCQUFzQixJQUFJLENBQUNDLE9BQU8sRUFBRUQ7WUFDcENFLGtCQUFrQixJQUFJLENBQUNELE9BQU8sRUFBRUM7WUFDaENDLG1CQUFtQixJQUFJLENBQUNGLE9BQU8sRUFBRUU7UUFDbkM7SUFDRjtJQUNBLDBEQUEwRCxHQUMxRCxJQUFJQyxTQUFRO1FBQ1YsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDSCxPQUFPLEVBQUVJLElBQUk7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
|
|
@@ -12,6 +12,12 @@ _export(exports, {
|
|
|
12
12
|
baseUser: function() {
|
|
13
13
|
return baseUser;
|
|
14
14
|
},
|
|
15
|
+
transformCollectibles: function() {
|
|
16
|
+
return transformCollectibles;
|
|
17
|
+
},
|
|
18
|
+
transformNameplate: function() {
|
|
19
|
+
return transformNameplate;
|
|
20
|
+
},
|
|
15
21
|
transformUser: function() {
|
|
16
22
|
return transformUser;
|
|
17
23
|
}
|
|
@@ -54,7 +60,23 @@ function transformUser(bot, payload) {
|
|
|
54
60
|
if (props.banner && payload.banner) user.banner = (0, _utils.iconHashToBigInt)(payload.banner);
|
|
55
61
|
if (props.accentColor && payload.accent_color) user.accentColor = payload.accent_color;
|
|
56
62
|
if (props.avatarDecorationData && payload.avatar_decoration_data) user.avatarDecorationData = bot.transformers.avatarDecorationData(bot, payload.avatar_decoration_data);
|
|
63
|
+
if (props.collectibles && payload.collectibles) user.collectibles = bot.transformers.collectibles(bot, payload.collectibles);
|
|
57
64
|
return bot.transformers.customizers.user(bot, payload, user);
|
|
58
65
|
}
|
|
66
|
+
function transformCollectibles(bot, payload) {
|
|
67
|
+
const collectibles = {};
|
|
68
|
+
const props = bot.transformers.desiredProperties.collectibles;
|
|
69
|
+
if (props.nameplate && payload.nameplate) collectibles.nameplate = bot.transformers.nameplate(bot, payload.nameplate);
|
|
70
|
+
return bot.transformers.customizers.collectibles(bot, payload, collectibles);
|
|
71
|
+
}
|
|
72
|
+
function transformNameplate(bot, payload) {
|
|
73
|
+
const nameplate = {};
|
|
74
|
+
const props = bot.transformers.desiredProperties.nameplate;
|
|
75
|
+
if (props.skuId && payload.sku_id) nameplate.skuId = bot.transformers.snowflake(payload.sku_id);
|
|
76
|
+
if (props.asset && payload.asset) nameplate.asset = payload.asset;
|
|
77
|
+
if (props.label && payload.label) nameplate.label = payload.label;
|
|
78
|
+
if (props.palette && payload.palette) nameplate.palette = payload.palette;
|
|
79
|
+
return bot.transformers.customizers.nameplate(bot, payload, nameplate);
|
|
80
|
+
}
|
|
59
81
|
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdXNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRDb2xsZWN0aWJsZXMsIERpc2NvcmROYW1lcGxhdGUsIERpc2NvcmRVc2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBpY29uSGFzaFRvQmlnSW50IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgeyB0eXBlIENvbGxlY3RpYmxlcywgdHlwZSBJbnRlcm5hbEJvdCwgdHlwZSBOYW1lcGxhdGUsIFRvZ2dsZUJpdGZpZWxkLCB0eXBlIFVzZXIsIFVzZXJUb2dnbGVzIH0gZnJvbSAnLi4vaW5kZXguanMnXG5cbmV4cG9ydCBjb25zdCBiYXNlVXNlcjogSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWyd1c2VyJ10gPSB7XG4gIC8vIFRoaXMgYWxsb3dzIHR5cGVzY3JpcHQgdG8gc3RpbGwgY2hlY2sgZm9yIHR5cGUgZXJyb3JzIG9uIGZ1bmN0aW9ucyBiZWxvd1xuICAuLi4odW5kZWZpbmVkIGFzIHVua25vd24gYXMgSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWyd1c2VyJ10pLFxuXG4gIGdldCB0YWcoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMudXNlcm5hbWV9IyR7dGhpcy5kaXNjcmltaW5hdG9yfWBcbiAgfSxcbiAgZ2V0IGJvdCgpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/LmhhcygnYm90JylcbiAgfSxcbiAgZ2V0IHN5c3RlbSgpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/Lmhhcygnc3lzdGVtJylcbiAgfSxcbiAgZ2V0IG1mYUVuYWJsZWQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ21mYUVuYWJsZWQnKVxuICB9LFxuICBnZXQgdmVyaWZpZWQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ3ZlcmlmaWVkJylcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybVVzZXIoYm90OiBJbnRlcm5hbEJvdCwgcGF5bG9hZDogRGlzY29yZFVzZXIpOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy51c2VyIHtcbiAgY29uc3QgdXNlcjogVXNlciA9IE9iamVjdC5jcmVhdGUoYmFzZVVzZXIpXG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy51c2VyXG5cbiAgaWYgKHByb3BzLnRvZ2dsZXMpIHVzZXIudG9nZ2xlcyA9IG5ldyBVc2VyVG9nZ2xlcyhwYXlsb2FkKVxuICBpZiAocHJvcHMuZmxhZ3MpIHVzZXIuZmxhZ3MgPSBuZXcgVG9nZ2xlQml0ZmllbGQocGF5bG9hZC5mbGFncylcbiAgaWYgKHByb3BzLnB1YmxpY0ZsYWdzKSB1c2VyLnB1YmxpY0ZsYWdzID0gbmV3IFRvZ2dsZUJpdGZpZWxkKHBheWxvYWQucHVibGljX2ZsYWdzKVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgdXNlci5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwcm9wcy51c2VybmFtZSAmJiBwYXlsb2FkLnVzZXJuYW1lKSB1c2VyLnVzZXJuYW1lID0gcGF5bG9hZC51c2VybmFtZVxuICBpZiAocHJvcHMuZ2xvYmFsTmFtZSAmJiBwYXlsb2FkLmdsb2JhbF9uYW1lKSB1c2VyLmdsb2JhbE5hbWUgPSBwYXlsb2FkLmdsb2JhbF9uYW1lXG4gIGlmIChwcm9wcy5kaXNjcmltaW5hdG9yICYmIHBheWxvYWQuZGlzY3JpbWluYXRvcikgdXNlci5kaXNjcmltaW5hdG9yID0gcGF5bG9hZC5kaXNjcmltaW5hdG9yXG4gIGlmIChwcm9wcy5sb2NhbGUgJiYgcGF5bG9hZC5sb2NhbGUpIHVzZXIubG9jYWxlID0gcGF5bG9hZC5sb2NhbGVcbiAgaWYgKHByb3BzLmVtYWlsICYmIHBheWxvYWQuZW1haWwpIHVzZXIuZW1haWwgPSBwYXlsb2FkLmVtYWlsXG4gIGlmIChwcm9wcy5wcmVtaXVtVHlwZSAmJiBwYXlsb2FkLnByZW1pdW1fdHlwZSkgdXNlci5wcmVtaXVtVHlwZSA9IHBheWxvYWQucHJlbWl1bV90eXBlXG4gIGlmIChwcm9wcy5hdmF0YXIgJiYgcGF5bG9hZC5hdmF0YXIpIHVzZXIuYXZhdGFyID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmF2YXRhcilcbiAgaWYgKHByb3BzLmJhbm5lciAmJiBwYXlsb2FkLmJhbm5lcikgdXNlci5iYW5uZXIgPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuYmFubmVyKVxuICBpZiAocHJvcHMuYWNjZW50Q29sb3IgJiYgcGF5bG9hZC5hY2NlbnRfY29sb3IpIHVzZXIuYWNjZW50Q29sb3IgPSBwYXlsb2FkLmFjY2VudF9jb2xvclxuICBpZiAocHJvcHMuYXZhdGFyRGVjb3JhdGlvbkRhdGEgJiYgcGF5bG9hZC5hdmF0YXJfZGVjb3JhdGlvbl9kYXRhKVxuICAgIHVzZXIuYXZhdGFyRGVjb3JhdGlvbkRhdGEgPSBib3QudHJhbnNmb3JtZXJzLmF2YXRhckRlY29yYXRpb25EYXRhKGJvdCwgcGF5bG9hZC5hdmF0YXJfZGVjb3JhdGlvbl9kYXRhKVxuICBpZiAocHJvcHMuY29sbGVjdGlibGVzICYmIHBheWxvYWQuY29sbGVjdGlibGVzKSB1c2VyLmNvbGxlY3RpYmxlcyA9IGJvdC50cmFuc2Zvcm1lcnMuY29sbGVjdGlibGVzKGJvdCwgcGF5bG9hZC5jb2xsZWN0aWJsZXMpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMudXNlcihib3QsIHBheWxvYWQsIHVzZXIpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1Db2xsZWN0aWJsZXMoYm90OiBJbnRlcm5hbEJvdCwgcGF5bG9hZDogRGlzY29yZENvbGxlY3RpYmxlcyk6IENvbGxlY3RpYmxlcyB7XG4gIGNvbnN0IGNvbGxlY3RpYmxlcyA9IHt9IGFzIENvbGxlY3RpYmxlc1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29sbGVjdGlibGVzXG5cbiAgaWYgKHByb3BzLm5hbWVwbGF0ZSAmJiBwYXlsb2FkLm5hbWVwbGF0ZSkgY29sbGVjdGlibGVzLm5hbWVwbGF0ZSA9IGJvdC50cmFuc2Zvcm1lcnMubmFtZXBsYXRlKGJvdCwgcGF5bG9hZC5uYW1lcGxhdGUpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuY29sbGVjdGlibGVzKGJvdCwgcGF5bG9hZCwgY29sbGVjdGlibGVzKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTmFtZXBsYXRlKGJvdDogSW50ZXJuYWxCb3QsIHBheWxvYWQ6IERpc2NvcmROYW1lcGxhdGUpOiBOYW1lcGxhdGUge1xuICBjb25zdCBuYW1lcGxhdGUgPSB7fSBhcyBOYW1lcGxhdGVcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm5hbWVwbGF0ZVxuXG4gIGlmIChwcm9wcy5za3VJZCAmJiBwYXlsb2FkLnNrdV9pZCkgbmFtZXBsYXRlLnNrdUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5za3VfaWQpXG4gIGlmIChwcm9wcy5hc3NldCAmJiBwYXlsb2FkLmFzc2V0KSBuYW1lcGxhdGUuYXNzZXQgPSBwYXlsb2FkLmFzc2V0XG4gIGlmIChwcm9wcy5sYWJlbCAmJiBwYXlsb2FkLmxhYmVsKSBuYW1lcGxhdGUubGFiZWwgPSBwYXlsb2FkLmxhYmVsXG4gIGlmIChwcm9wcy5wYWxldHRlICYmIHBheWxvYWQucGFsZXR0ZSkgbmFtZXBsYXRlLnBhbGV0dGUgPSBwYXlsb2FkLnBhbGV0dGVcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5uYW1lcGxhdGUoYm90LCBwYXlsb2FkLCBuYW1lcGxhdGUpXG59XG4iXSwibmFtZXMiOlsiYmFzZVVzZXIiLCJ0cmFuc2Zvcm1Db2xsZWN0aWJsZXMiLCJ0cmFuc2Zvcm1OYW1lcGxhdGUiLCJ0cmFuc2Zvcm1Vc2VyIiwidW5kZWZpbmVkIiwidGFnIiwidXNlcm5hbWUiLCJkaXNjcmltaW5hdG9yIiwiYm90IiwidG9nZ2xlcyIsImhhcyIsInN5c3RlbSIsIm1mYUVuYWJsZWQiLCJ2ZXJpZmllZCIsInBheWxvYWQiLCJ1c2VyIiwiT2JqZWN0IiwiY3JlYXRlIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsIlVzZXJUb2dnbGVzIiwiZmxhZ3MiLCJUb2dnbGVCaXRmaWVsZCIsInB1YmxpY0ZsYWdzIiwicHVibGljX2ZsYWdzIiwiaWQiLCJzbm93Zmxha2UiLCJnbG9iYWxOYW1lIiwiZ2xvYmFsX25hbWUiLCJsb2NhbGUiLCJlbWFpbCIsInByZW1pdW1UeXBlIiwicHJlbWl1bV90eXBlIiwiYXZhdGFyIiwiaWNvbkhhc2hUb0JpZ0ludCIsImJhbm5lciIsImFjY2VudENvbG9yIiwiYWNjZW50X2NvbG9yIiwiYXZhdGFyRGVjb3JhdGlvbkRhdGEiLCJhdmF0YXJfZGVjb3JhdGlvbl9kYXRhIiwiY29sbGVjdGlibGVzIiwiY3VzdG9taXplcnMiLCJuYW1lcGxhdGUiLCJza3VJZCIsInNrdV9pZCIsImFzc2V0IiwibGFiZWwiLCJwYWxldHRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUlhQSxRQUFRO2VBQVJBOztJQTZDR0MscUJBQXFCO2VBQXJCQTs7SUFTQUMsa0JBQWtCO2VBQWxCQTs7SUFqQ0FDLGFBQWE7ZUFBYkE7Ozt1QkF4QmlCO3VCQUMyRTtBQUVyRyxNQUFNSCxXQUFrRTtJQUM3RSwyRUFBMkU7SUFDM0UsR0FBSUksU0FBUztJQUViLElBQUlDLE9BQU07UUFDUixPQUFPLEdBQUcsSUFBSSxDQUFDQyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQ0MsYUFBYSxFQUFFO0lBQ2pEO0lBQ0EsSUFBSUMsT0FBTTtRQUNSLE9BQU8sQ0FB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
|