@jubbio/core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +166 -0
  3. package/dist/Client.d.ts +147 -0
  4. package/dist/Client.js +471 -0
  5. package/dist/builders/ActionRowBuilder.d.ts +53 -0
  6. package/dist/builders/ActionRowBuilder.js +68 -0
  7. package/dist/builders/ButtonBuilder.d.ts +77 -0
  8. package/dist/builders/ButtonBuilder.js +96 -0
  9. package/dist/builders/EmbedBuilder.d.ts +157 -0
  10. package/dist/builders/EmbedBuilder.js +199 -0
  11. package/dist/builders/ModalBuilder.d.ts +122 -0
  12. package/dist/builders/ModalBuilder.js +162 -0
  13. package/dist/builders/SelectMenuBuilder.d.ts +123 -0
  14. package/dist/builders/SelectMenuBuilder.js +165 -0
  15. package/dist/builders/SlashCommandBuilder.d.ts +197 -0
  16. package/dist/builders/SlashCommandBuilder.js +324 -0
  17. package/dist/builders/index.d.ts +9 -0
  18. package/dist/builders/index.js +26 -0
  19. package/dist/enums.d.ts +196 -0
  20. package/dist/enums.js +216 -0
  21. package/dist/index.d.ts +25 -0
  22. package/dist/index.js +128 -0
  23. package/dist/managers/BaseManager.d.ts +69 -0
  24. package/dist/managers/BaseManager.js +106 -0
  25. package/dist/managers/ChannelManager.d.ts +98 -0
  26. package/dist/managers/ChannelManager.js +209 -0
  27. package/dist/managers/GuildMemberManager.d.ts +74 -0
  28. package/dist/managers/GuildMemberManager.js +156 -0
  29. package/dist/managers/RoleManager.d.ts +84 -0
  30. package/dist/managers/RoleManager.js +207 -0
  31. package/dist/managers/index.d.ts +7 -0
  32. package/dist/managers/index.js +24 -0
  33. package/dist/rest/REST.d.ts +483 -0
  34. package/dist/rest/REST.js +805 -0
  35. package/dist/rest/index.d.ts +1 -0
  36. package/dist/rest/index.js +18 -0
  37. package/dist/sharding/ShardingManager.d.ts +179 -0
  38. package/dist/sharding/ShardingManager.js +375 -0
  39. package/dist/sharding/index.d.ts +4 -0
  40. package/dist/sharding/index.js +21 -0
  41. package/dist/structures/Channel.d.ts +120 -0
  42. package/dist/structures/Channel.js +224 -0
  43. package/dist/structures/Collection.d.ts +53 -0
  44. package/dist/structures/Collection.js +115 -0
  45. package/dist/structures/Guild.d.ts +59 -0
  46. package/dist/structures/Guild.js +90 -0
  47. package/dist/structures/GuildMember.d.ts +130 -0
  48. package/dist/structures/GuildMember.js +208 -0
  49. package/dist/structures/Interaction.d.ts +224 -0
  50. package/dist/structures/Interaction.js +404 -0
  51. package/dist/structures/Message.d.ts +93 -0
  52. package/dist/structures/Message.js +145 -0
  53. package/dist/structures/User.d.ts +37 -0
  54. package/dist/structures/User.js +65 -0
  55. package/dist/structures/index.d.ts +7 -0
  56. package/dist/structures/index.js +25 -0
  57. package/dist/structures.d.ts +1 -0
  58. package/dist/structures.js +19 -0
  59. package/dist/types.d.ts +255 -0
  60. package/dist/types.js +3 -0
  61. package/dist/utils/BitField.d.ts +66 -0
  62. package/dist/utils/BitField.js +138 -0
  63. package/dist/utils/Collection.d.ts +116 -0
  64. package/dist/utils/Collection.js +265 -0
  65. package/dist/utils/Collector.d.ts +152 -0
  66. package/dist/utils/Collector.js +314 -0
  67. package/dist/utils/DataResolver.d.ts +61 -0
  68. package/dist/utils/DataResolver.js +146 -0
  69. package/dist/utils/Formatters.d.ts +145 -0
  70. package/dist/utils/Formatters.js +213 -0
  71. package/dist/utils/IntentsBitField.d.ts +85 -0
  72. package/dist/utils/IntentsBitField.js +99 -0
  73. package/dist/utils/Partials.d.ts +105 -0
  74. package/dist/utils/Partials.js +149 -0
  75. package/dist/utils/PermissionsBitField.d.ts +118 -0
  76. package/dist/utils/PermissionsBitField.js +145 -0
  77. package/dist/utils/SnowflakeUtil.d.ts +63 -0
  78. package/dist/utils/SnowflakeUtil.js +93 -0
  79. package/dist/utils/Sweepers.d.ts +127 -0
  80. package/dist/utils/Sweepers.js +270 -0
  81. package/dist/utils/index.d.ts +13 -0
  82. package/dist/utils/index.js +30 -0
  83. package/package.json +37 -0
@@ -0,0 +1,197 @@
1
+ /**
2
+ * SlashCommandBuilder for creating slash commands
3
+ */
4
+ /**
5
+ * Application command option types
6
+ */
7
+ export declare enum ApplicationCommandOptionType {
8
+ Subcommand = 1,
9
+ SubcommandGroup = 2,
10
+ String = 3,
11
+ Integer = 4,
12
+ Boolean = 5,
13
+ User = 6,
14
+ Channel = 7,
15
+ Role = 8,
16
+ Mentionable = 9,
17
+ Number = 10,
18
+ Attachment = 11
19
+ }
20
+ export interface APIApplicationCommandOptionChoice {
21
+ name: string;
22
+ value: string | number;
23
+ }
24
+ export interface APIApplicationCommandOption {
25
+ type: ApplicationCommandOptionType;
26
+ name: string;
27
+ description: string;
28
+ required?: boolean;
29
+ choices?: APIApplicationCommandOptionChoice[];
30
+ options?: APIApplicationCommandOption[];
31
+ min_value?: number;
32
+ max_value?: number;
33
+ min_length?: number;
34
+ max_length?: number;
35
+ autocomplete?: boolean;
36
+ channel_types?: number[];
37
+ }
38
+ export interface APIApplicationCommand {
39
+ name: string;
40
+ description: string;
41
+ options?: APIApplicationCommandOption[];
42
+ default_member_permissions?: string;
43
+ dm_permission?: boolean;
44
+ nsfw?: boolean;
45
+ }
46
+ /**
47
+ * A builder for creating slash command options
48
+ */
49
+ declare class SlashCommandOptionBuilder {
50
+ protected data: Partial<APIApplicationCommandOption>;
51
+ constructor(type: ApplicationCommandOptionType);
52
+ setName(name: string): this;
53
+ setDescription(description: string): this;
54
+ setRequired(required?: boolean): this;
55
+ toJSON(): APIApplicationCommandOption;
56
+ }
57
+ /**
58
+ * String option builder
59
+ */
60
+ export declare class SlashCommandStringOption extends SlashCommandOptionBuilder {
61
+ constructor();
62
+ addChoices(...choices: APIApplicationCommandOptionChoice[]): this;
63
+ setChoices(...choices: APIApplicationCommandOptionChoice[]): this;
64
+ setMinLength(minLength: number): this;
65
+ setMaxLength(maxLength: number): this;
66
+ setAutocomplete(autocomplete?: boolean): this;
67
+ }
68
+ /**
69
+ * Integer option builder
70
+ */
71
+ export declare class SlashCommandIntegerOption extends SlashCommandOptionBuilder {
72
+ constructor();
73
+ addChoices(...choices: APIApplicationCommandOptionChoice[]): this;
74
+ setMinValue(minValue: number): this;
75
+ setMaxValue(maxValue: number): this;
76
+ setAutocomplete(autocomplete?: boolean): this;
77
+ }
78
+ /**
79
+ * Number option builder
80
+ */
81
+ export declare class SlashCommandNumberOption extends SlashCommandOptionBuilder {
82
+ constructor();
83
+ addChoices(...choices: APIApplicationCommandOptionChoice[]): this;
84
+ setMinValue(minValue: number): this;
85
+ setMaxValue(maxValue: number): this;
86
+ setAutocomplete(autocomplete?: boolean): this;
87
+ }
88
+ /**
89
+ * Boolean option builder
90
+ */
91
+ export declare class SlashCommandBooleanOption extends SlashCommandOptionBuilder {
92
+ constructor();
93
+ }
94
+ /**
95
+ * User option builder
96
+ */
97
+ export declare class SlashCommandUserOption extends SlashCommandOptionBuilder {
98
+ constructor();
99
+ }
100
+ /**
101
+ * Channel option builder
102
+ */
103
+ export declare class SlashCommandChannelOption extends SlashCommandOptionBuilder {
104
+ constructor();
105
+ addChannelTypes(...types: number[]): this;
106
+ }
107
+ /**
108
+ * Role option builder
109
+ */
110
+ export declare class SlashCommandRoleOption extends SlashCommandOptionBuilder {
111
+ constructor();
112
+ }
113
+ /**
114
+ * Mentionable option builder
115
+ */
116
+ export declare class SlashCommandMentionableOption extends SlashCommandOptionBuilder {
117
+ constructor();
118
+ }
119
+ /**
120
+ * Attachment option builder
121
+ */
122
+ export declare class SlashCommandAttachmentOption extends SlashCommandOptionBuilder {
123
+ constructor();
124
+ }
125
+ /**
126
+ * A builder for creating slash commands
127
+ */
128
+ export declare class SlashCommandBuilder {
129
+ readonly data: Partial<APIApplicationCommand>;
130
+ constructor();
131
+ /**
132
+ * Sets the name of this command
133
+ * @param name The name
134
+ */
135
+ setName(name: string): this;
136
+ /**
137
+ * Sets the description of this command
138
+ * @param description The description
139
+ */
140
+ setDescription(description: string): this;
141
+ /**
142
+ * Sets the default member permissions required to use this command
143
+ * @param permissions The permissions
144
+ */
145
+ setDefaultMemberPermissions(permissions: bigint | string | null): this;
146
+ /**
147
+ * Sets whether this command is available in DMs
148
+ * @param enabled Whether the command is available in DMs
149
+ */
150
+ setDMPermission(enabled: boolean): this;
151
+ /**
152
+ * Sets whether this command is NSFW
153
+ * @param nsfw Whether the command is NSFW
154
+ */
155
+ setNSFW(nsfw?: boolean): this;
156
+ /**
157
+ * Adds a string option
158
+ */
159
+ addStringOption(fn: (option: SlashCommandStringOption) => SlashCommandStringOption): this;
160
+ /**
161
+ * Adds an integer option
162
+ */
163
+ addIntegerOption(fn: (option: SlashCommandIntegerOption) => SlashCommandIntegerOption): this;
164
+ /**
165
+ * Adds a number option
166
+ */
167
+ addNumberOption(fn: (option: SlashCommandNumberOption) => SlashCommandNumberOption): this;
168
+ /**
169
+ * Adds a boolean option
170
+ */
171
+ addBooleanOption(fn: (option: SlashCommandBooleanOption) => SlashCommandBooleanOption): this;
172
+ /**
173
+ * Adds a user option
174
+ */
175
+ addUserOption(fn: (option: SlashCommandUserOption) => SlashCommandUserOption): this;
176
+ /**
177
+ * Adds a channel option
178
+ */
179
+ addChannelOption(fn: (option: SlashCommandChannelOption) => SlashCommandChannelOption): this;
180
+ /**
181
+ * Adds a role option
182
+ */
183
+ addRoleOption(fn: (option: SlashCommandRoleOption) => SlashCommandRoleOption): this;
184
+ /**
185
+ * Adds a mentionable option
186
+ */
187
+ addMentionableOption(fn: (option: SlashCommandMentionableOption) => SlashCommandMentionableOption): this;
188
+ /**
189
+ * Adds an attachment option
190
+ */
191
+ addAttachmentOption(fn: (option: SlashCommandAttachmentOption) => SlashCommandAttachmentOption): this;
192
+ /**
193
+ * Returns the JSON representation of this command
194
+ */
195
+ toJSON(): APIApplicationCommand;
196
+ }
197
+ export default SlashCommandBuilder;
@@ -0,0 +1,324 @@
1
+ "use strict";
2
+ /**
3
+ * SlashCommandBuilder for creating slash commands
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SlashCommandBuilder = exports.SlashCommandAttachmentOption = exports.SlashCommandMentionableOption = exports.SlashCommandRoleOption = exports.SlashCommandChannelOption = exports.SlashCommandUserOption = exports.SlashCommandBooleanOption = exports.SlashCommandNumberOption = exports.SlashCommandIntegerOption = exports.SlashCommandStringOption = exports.ApplicationCommandOptionType = void 0;
7
+ /**
8
+ * Application command option types
9
+ */
10
+ var ApplicationCommandOptionType;
11
+ (function (ApplicationCommandOptionType) {
12
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Subcommand"] = 1] = "Subcommand";
13
+ ApplicationCommandOptionType[ApplicationCommandOptionType["SubcommandGroup"] = 2] = "SubcommandGroup";
14
+ ApplicationCommandOptionType[ApplicationCommandOptionType["String"] = 3] = "String";
15
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Integer"] = 4] = "Integer";
16
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Boolean"] = 5] = "Boolean";
17
+ ApplicationCommandOptionType[ApplicationCommandOptionType["User"] = 6] = "User";
18
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Channel"] = 7] = "Channel";
19
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Role"] = 8] = "Role";
20
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Mentionable"] = 9] = "Mentionable";
21
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Number"] = 10] = "Number";
22
+ ApplicationCommandOptionType[ApplicationCommandOptionType["Attachment"] = 11] = "Attachment";
23
+ })(ApplicationCommandOptionType || (exports.ApplicationCommandOptionType = ApplicationCommandOptionType = {}));
24
+ /**
25
+ * A builder for creating slash command options
26
+ */
27
+ class SlashCommandOptionBuilder {
28
+ data;
29
+ constructor(type) {
30
+ this.data = { type };
31
+ }
32
+ setName(name) {
33
+ this.data.name = name;
34
+ return this;
35
+ }
36
+ setDescription(description) {
37
+ this.data.description = description;
38
+ return this;
39
+ }
40
+ setRequired(required = true) {
41
+ this.data.required = required;
42
+ return this;
43
+ }
44
+ toJSON() {
45
+ return { ...this.data };
46
+ }
47
+ }
48
+ /**
49
+ * String option builder
50
+ */
51
+ class SlashCommandStringOption extends SlashCommandOptionBuilder {
52
+ constructor() {
53
+ super(ApplicationCommandOptionType.String);
54
+ }
55
+ addChoices(...choices) {
56
+ if (!this.data.choices)
57
+ this.data.choices = [];
58
+ this.data.choices.push(...choices);
59
+ return this;
60
+ }
61
+ setChoices(...choices) {
62
+ this.data.choices = choices;
63
+ return this;
64
+ }
65
+ setMinLength(minLength) {
66
+ this.data.min_length = minLength;
67
+ return this;
68
+ }
69
+ setMaxLength(maxLength) {
70
+ this.data.max_length = maxLength;
71
+ return this;
72
+ }
73
+ setAutocomplete(autocomplete = true) {
74
+ this.data.autocomplete = autocomplete;
75
+ return this;
76
+ }
77
+ }
78
+ exports.SlashCommandStringOption = SlashCommandStringOption;
79
+ /**
80
+ * Integer option builder
81
+ */
82
+ class SlashCommandIntegerOption extends SlashCommandOptionBuilder {
83
+ constructor() {
84
+ super(ApplicationCommandOptionType.Integer);
85
+ }
86
+ addChoices(...choices) {
87
+ if (!this.data.choices)
88
+ this.data.choices = [];
89
+ this.data.choices.push(...choices);
90
+ return this;
91
+ }
92
+ setMinValue(minValue) {
93
+ this.data.min_value = minValue;
94
+ return this;
95
+ }
96
+ setMaxValue(maxValue) {
97
+ this.data.max_value = maxValue;
98
+ return this;
99
+ }
100
+ setAutocomplete(autocomplete = true) {
101
+ this.data.autocomplete = autocomplete;
102
+ return this;
103
+ }
104
+ }
105
+ exports.SlashCommandIntegerOption = SlashCommandIntegerOption;
106
+ /**
107
+ * Number option builder
108
+ */
109
+ class SlashCommandNumberOption extends SlashCommandOptionBuilder {
110
+ constructor() {
111
+ super(ApplicationCommandOptionType.Number);
112
+ }
113
+ addChoices(...choices) {
114
+ if (!this.data.choices)
115
+ this.data.choices = [];
116
+ this.data.choices.push(...choices);
117
+ return this;
118
+ }
119
+ setMinValue(minValue) {
120
+ this.data.min_value = minValue;
121
+ return this;
122
+ }
123
+ setMaxValue(maxValue) {
124
+ this.data.max_value = maxValue;
125
+ return this;
126
+ }
127
+ setAutocomplete(autocomplete = true) {
128
+ this.data.autocomplete = autocomplete;
129
+ return this;
130
+ }
131
+ }
132
+ exports.SlashCommandNumberOption = SlashCommandNumberOption;
133
+ /**
134
+ * Boolean option builder
135
+ */
136
+ class SlashCommandBooleanOption extends SlashCommandOptionBuilder {
137
+ constructor() {
138
+ super(ApplicationCommandOptionType.Boolean);
139
+ }
140
+ }
141
+ exports.SlashCommandBooleanOption = SlashCommandBooleanOption;
142
+ /**
143
+ * User option builder
144
+ */
145
+ class SlashCommandUserOption extends SlashCommandOptionBuilder {
146
+ constructor() {
147
+ super(ApplicationCommandOptionType.User);
148
+ }
149
+ }
150
+ exports.SlashCommandUserOption = SlashCommandUserOption;
151
+ /**
152
+ * Channel option builder
153
+ */
154
+ class SlashCommandChannelOption extends SlashCommandOptionBuilder {
155
+ constructor() {
156
+ super(ApplicationCommandOptionType.Channel);
157
+ }
158
+ addChannelTypes(...types) {
159
+ if (!this.data.channel_types)
160
+ this.data.channel_types = [];
161
+ this.data.channel_types.push(...types);
162
+ return this;
163
+ }
164
+ }
165
+ exports.SlashCommandChannelOption = SlashCommandChannelOption;
166
+ /**
167
+ * Role option builder
168
+ */
169
+ class SlashCommandRoleOption extends SlashCommandOptionBuilder {
170
+ constructor() {
171
+ super(ApplicationCommandOptionType.Role);
172
+ }
173
+ }
174
+ exports.SlashCommandRoleOption = SlashCommandRoleOption;
175
+ /**
176
+ * Mentionable option builder
177
+ */
178
+ class SlashCommandMentionableOption extends SlashCommandOptionBuilder {
179
+ constructor() {
180
+ super(ApplicationCommandOptionType.Mentionable);
181
+ }
182
+ }
183
+ exports.SlashCommandMentionableOption = SlashCommandMentionableOption;
184
+ /**
185
+ * Attachment option builder
186
+ */
187
+ class SlashCommandAttachmentOption extends SlashCommandOptionBuilder {
188
+ constructor() {
189
+ super(ApplicationCommandOptionType.Attachment);
190
+ }
191
+ }
192
+ exports.SlashCommandAttachmentOption = SlashCommandAttachmentOption;
193
+ /**
194
+ * A builder for creating slash commands
195
+ */
196
+ class SlashCommandBuilder {
197
+ data;
198
+ constructor() {
199
+ this.data = { options: [] };
200
+ }
201
+ /**
202
+ * Sets the name of this command
203
+ * @param name The name
204
+ */
205
+ setName(name) {
206
+ this.data.name = name;
207
+ return this;
208
+ }
209
+ /**
210
+ * Sets the description of this command
211
+ * @param description The description
212
+ */
213
+ setDescription(description) {
214
+ this.data.description = description;
215
+ return this;
216
+ }
217
+ /**
218
+ * Sets the default member permissions required to use this command
219
+ * @param permissions The permissions
220
+ */
221
+ setDefaultMemberPermissions(permissions) {
222
+ this.data.default_member_permissions = permissions === null
223
+ ? undefined
224
+ : String(permissions);
225
+ return this;
226
+ }
227
+ /**
228
+ * Sets whether this command is available in DMs
229
+ * @param enabled Whether the command is available in DMs
230
+ */
231
+ setDMPermission(enabled) {
232
+ this.data.dm_permission = enabled;
233
+ return this;
234
+ }
235
+ /**
236
+ * Sets whether this command is NSFW
237
+ * @param nsfw Whether the command is NSFW
238
+ */
239
+ setNSFW(nsfw = true) {
240
+ this.data.nsfw = nsfw;
241
+ return this;
242
+ }
243
+ /**
244
+ * Adds a string option
245
+ */
246
+ addStringOption(fn) {
247
+ const option = fn(new SlashCommandStringOption());
248
+ this.data.options.push(option.toJSON());
249
+ return this;
250
+ }
251
+ /**
252
+ * Adds an integer option
253
+ */
254
+ addIntegerOption(fn) {
255
+ const option = fn(new SlashCommandIntegerOption());
256
+ this.data.options.push(option.toJSON());
257
+ return this;
258
+ }
259
+ /**
260
+ * Adds a number option
261
+ */
262
+ addNumberOption(fn) {
263
+ const option = fn(new SlashCommandNumberOption());
264
+ this.data.options.push(option.toJSON());
265
+ return this;
266
+ }
267
+ /**
268
+ * Adds a boolean option
269
+ */
270
+ addBooleanOption(fn) {
271
+ const option = fn(new SlashCommandBooleanOption());
272
+ this.data.options.push(option.toJSON());
273
+ return this;
274
+ }
275
+ /**
276
+ * Adds a user option
277
+ */
278
+ addUserOption(fn) {
279
+ const option = fn(new SlashCommandUserOption());
280
+ this.data.options.push(option.toJSON());
281
+ return this;
282
+ }
283
+ /**
284
+ * Adds a channel option
285
+ */
286
+ addChannelOption(fn) {
287
+ const option = fn(new SlashCommandChannelOption());
288
+ this.data.options.push(option.toJSON());
289
+ return this;
290
+ }
291
+ /**
292
+ * Adds a role option
293
+ */
294
+ addRoleOption(fn) {
295
+ const option = fn(new SlashCommandRoleOption());
296
+ this.data.options.push(option.toJSON());
297
+ return this;
298
+ }
299
+ /**
300
+ * Adds a mentionable option
301
+ */
302
+ addMentionableOption(fn) {
303
+ const option = fn(new SlashCommandMentionableOption());
304
+ this.data.options.push(option.toJSON());
305
+ return this;
306
+ }
307
+ /**
308
+ * Adds an attachment option
309
+ */
310
+ addAttachmentOption(fn) {
311
+ const option = fn(new SlashCommandAttachmentOption());
312
+ this.data.options.push(option.toJSON());
313
+ return this;
314
+ }
315
+ /**
316
+ * Returns the JSON representation of this command
317
+ */
318
+ toJSON() {
319
+ return { ...this.data };
320
+ }
321
+ }
322
+ exports.SlashCommandBuilder = SlashCommandBuilder;
323
+ exports.default = SlashCommandBuilder;
324
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xhc2hDb21tYW5kQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZGVycy9TbGFzaENvbW1hbmRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBRUg7O0dBRUc7QUFDSCxJQUFZLDRCQVlYO0FBWkQsV0FBWSw0QkFBNEI7SUFDdEMsMkZBQWMsQ0FBQTtJQUNkLHFHQUFtQixDQUFBO0lBQ25CLG1GQUFVLENBQUE7SUFDVixxRkFBVyxDQUFBO0lBQ1gscUZBQVcsQ0FBQTtJQUNYLCtFQUFRLENBQUE7SUFDUixxRkFBVyxDQUFBO0lBQ1gsK0VBQVEsQ0FBQTtJQUNSLDZGQUFlLENBQUE7SUFDZixvRkFBVyxDQUFBO0lBQ1gsNEZBQWUsQ0FBQTtBQUNqQixDQUFDLEVBWlcsNEJBQTRCLDRDQUE1Qiw0QkFBNEIsUUFZdkM7QUErQkQ7O0dBRUc7QUFDSCxNQUFNLHlCQUF5QjtJQUNuQixJQUFJLENBQXVDO0lBRXJELFlBQVksSUFBa0M7UUFDNUMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWTtRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQW1CO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBUSxHQUFHLElBQUk7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFpQyxDQUFDO0lBQ3pELENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBYSx3QkFBeUIsU0FBUSx5QkFBeUI7SUFDckU7UUFDRSxLQUFLLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFHLE9BQTRDO1FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQUcsT0FBNEM7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFpQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxlQUFlLENBQUMsWUFBWSxHQUFHLElBQUk7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBOUJELDREQThCQztBQUVEOztHQUVHO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSx5QkFBeUI7SUFDdEU7UUFDRSxLQUFLLENBQUMsNEJBQTRCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFHLE9BQTRDO1FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWdCO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGVBQWUsQ0FBQyxZQUFZLEdBQUcsSUFBSTtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUF6QkQsOERBeUJDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLHdCQUF5QixTQUFRLHlCQUF5QjtJQUNyRTtRQUNFLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQUcsT0FBNEM7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQjtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZUFBZSxDQUFDLFlBQVksR0FBRyxJQUFJO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQXpCRCw0REF5QkM7QUFFRDs7R0FFRztBQUNILE1BQWEseUJBQTBCLFNBQVEseUJBQXlCO0lBQ3RFO1FBQ0UsS0FBSyxDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRjtBQUpELDhEQUlDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLHNCQUF1QixTQUFRLHlCQUF5QjtJQUNuRTtRQUNFLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFKRCx3REFJQztBQUVEOztHQUVHO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSx5QkFBeUI7SUFDdEU7UUFDRSxLQUFLLENBQUMsNEJBQTRCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGVBQWUsQ0FBQyxHQUFHLEtBQWU7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQVZELDhEQVVDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLHNCQUF1QixTQUFRLHlCQUF5QjtJQUNuRTtRQUNFLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFKRCx3REFJQztBQUVEOztHQUVHO0FBQ0gsTUFBYSw2QkFBOEIsU0FBUSx5QkFBeUI7SUFDMUU7UUFDRSxLQUFLLENBQUMsNEJBQTRCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBSkQsc0VBSUM7QUFFRDs7R0FFRztBQUNILE1BQWEsNEJBQTZCLFNBQVEseUJBQXlCO0lBQ3pFO1FBQ0UsS0FBSyxDQUFDLDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7Q0FDRjtBQUpELG9FQUlDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLG1CQUFtQjtJQUNkLElBQUksQ0FBaUM7SUFFckQ7UUFDRSxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsSUFBWTtRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYyxDQUFDLFdBQW1CO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSCwyQkFBMkIsQ0FBQyxXQUFtQztRQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLFdBQVcsS0FBSyxJQUFJO1lBQ3pELENBQUMsQ0FBQyxTQUFTO1lBQ1gsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSCxlQUFlLENBQUMsT0FBZ0I7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlLENBQUMsRUFBa0U7UUFDaEYsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLElBQUksd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN6QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLEVBQW9FO1FBQ25GLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxJQUFJLHlCQUF5QixFQUFFLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlLENBQUMsRUFBa0U7UUFDaEYsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLElBQUksd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN6QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLEVBQW9FO1FBQ25GLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxJQUFJLHlCQUF5QixFQUFFLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhLENBQUMsRUFBOEQ7UUFDMUUsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLElBQUksc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN6QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLEVBQW9FO1FBQ25GLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxJQUFJLHlCQUF5QixFQUFFLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhLENBQUMsRUFBOEQ7UUFDMUUsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLElBQUksc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN6QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQixDQUFDLEVBQTRFO1FBQy9GLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxJQUFJLDZCQUE2QixFQUFFLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxtQkFBbUIsQ0FBQyxFQUEwRTtRQUM1RixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsSUFBSSw0QkFBNEIsRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQTJCLENBQUM7SUFDbkQsQ0FBQztDQUNGO0FBN0lELGtEQTZJQztBQUVELGtCQUFlLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFNsYXNoQ29tbWFuZEJ1aWxkZXIgZm9yIGNyZWF0aW5nIHNsYXNoIGNvbW1hbmRzXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEFwcGxpY2F0aW9uIGNvbW1hbmQgb3B0aW9uIHR5cGVzXHJcbiAqL1xyXG5leHBvcnQgZW51bSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlIHtcclxuICBTdWJjb21tYW5kID0gMSxcclxuICBTdWJjb21tYW5kR3JvdXAgPSAyLFxyXG4gIFN0cmluZyA9IDMsXHJcbiAgSW50ZWdlciA9IDQsXHJcbiAgQm9vbGVhbiA9IDUsXHJcbiAgVXNlciA9IDYsXHJcbiAgQ2hhbm5lbCA9IDcsXHJcbiAgUm9sZSA9IDgsXHJcbiAgTWVudGlvbmFibGUgPSA5LFxyXG4gIE51bWJlciA9IDEwLFxyXG4gIEF0dGFjaG1lbnQgPSAxMSxcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBUElBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2Uge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFQSUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiB7XHJcbiAgdHlwZTogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZTtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICByZXF1aXJlZD86IGJvb2xlYW47XHJcbiAgY2hvaWNlcz86IEFQSUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVtdO1xyXG4gIG9wdGlvbnM/OiBBUElBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25bXTtcclxuICBtaW5fdmFsdWU/OiBudW1iZXI7XHJcbiAgbWF4X3ZhbHVlPzogbnVtYmVyO1xyXG4gIG1pbl9sZW5ndGg/OiBudW1iZXI7XHJcbiAgbWF4X2xlbmd0aD86IG51bWJlcjtcclxuICBhdXRvY29tcGxldGU/OiBib29sZWFuO1xyXG4gIGNoYW5uZWxfdHlwZXM/OiBudW1iZXJbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBUElBcHBsaWNhdGlvbkNvbW1hbmQge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIG9wdGlvbnM/OiBBUElBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25bXTtcclxuICBkZWZhdWx0X21lbWJlcl9wZXJtaXNzaW9ucz86IHN0cmluZztcclxuICBkbV9wZXJtaXNzaW9uPzogYm9vbGVhbjtcclxuICBuc2Z3PzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEEgYnVpbGRlciBmb3IgY3JlYXRpbmcgc2xhc2ggY29tbWFuZCBvcHRpb25zXHJcbiAqL1xyXG5jbGFzcyBTbGFzaENvbW1hbmRPcHRpb25CdWlsZGVyIHtcclxuICBwcm90ZWN0ZWQgZGF0YTogUGFydGlhbDxBUElBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcih0eXBlOiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlKSB7XHJcbiAgICB0aGlzLmRhdGEgPSB7IHR5cGUgfTtcclxuICB9XHJcblxyXG4gIHNldE5hbWUobmFtZTogc3RyaW5nKTogdGhpcyB7XHJcbiAgICB0aGlzLmRhdGEubmFtZSA9IG5hbWU7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIHNldERlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpOiB0aGlzIHtcclxuICAgIHRoaXMuZGF0YS5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBzZXRSZXF1aXJlZChyZXF1aXJlZCA9IHRydWUpOiB0aGlzIHtcclxuICAgIHRoaXMuZGF0YS5yZXF1aXJlZCA9IHJlcXVpcmVkO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICB0b0pTT04oKTogQVBJQXBwbGljYXRpb25Db21tYW5kT3B0aW9uIHtcclxuICAgIHJldHVybiB7IC4uLnRoaXMuZGF0YSB9IGFzIEFQSUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTdHJpbmcgb3B0aW9uIGJ1aWxkZXJcclxuICovXHJcbmV4cG9ydCBjbGFzcyBTbGFzaENvbW1hbmRTdHJpbmdPcHRpb24gZXh0ZW5kcyBTbGFzaENvbW1hbmRPcHRpb25CdWlsZGVyIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGUuU3RyaW5nKTtcclxuICB9XHJcblxyXG4gIGFkZENob2ljZXMoLi4uY2hvaWNlczogQVBJQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlW10pOiB0aGlzIHtcclxuICAgIGlmICghdGhpcy5kYXRhLmNob2ljZXMpIHRoaXMuZGF0YS5jaG9pY2VzID0gW107XHJcbiAgICB0aGlzLmRhdGEuY2hvaWNlcy5wdXNoKC4uLmNob2ljZXMpO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBzZXRDaG9pY2VzKC4uLmNob2ljZXM6IEFQSUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVtdKTogdGhpcyB7XHJcbiAgICB0aGlzLmRhdGEuY2hvaWNlcyA9IGNob2ljZXM7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIHNldE1pbkxlbmd0aChtaW5MZW5ndGg6IG51bWJlcik6IHRoaXMge1xyXG4gICAgdGhpcy5kYXRhLm1pbl9sZW5ndGggPSBtaW5MZW5ndGg7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIHNldE1heExlbmd0aChtYXhMZW5ndGg6IG51bWJlcik6IHRoaXMge1xyXG4gICAgdGhpcy5kYXRhLm1heF9sZW5ndGggPSBtYXhMZW5ndGg7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIHNldEF1dG9jb21wbGV0ZShhdXRvY29tcGxldGUgPSB0cnVlKTogdGhpcyB7XHJcbiAgICB0aGlzLmRhdGEuYXV0b2NvbXBsZXRlID0gYXV0b2NvbXBsZXRlO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogSW50ZWdlciBvcHRpb24gYnVpbGRlclxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFNsYXNoQ29tbWFuZEludGVnZXJPcHRpb24gZXh0ZW5kcyBTbGFzaENvbW1hbmRPcHRpb25CdWlsZGVyIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGUuSW50ZWdlcik7XHJcbiAgfVxyXG5cclxuICBhZGRDaG9pY2VzKC4uLmNob2ljZXM6IEFQSUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVtdKTogdGhpcyB7XHJcbiAgICBpZiAoIXRoaXMuZGF0YS5jaG9pY2VzKSB0aGlzLmRhdGEuY2hvaWNlcyA9IFtdO1xyXG4gICAgdGhpcy5kYXRhLmNob2ljZXMucHVzaCguLi5jaG9pY2VzKTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgc2V0TWluVmFsdWUobWluVmFsdWU6IG51bWJlcik6IHRoaXMge1xyXG4gICAgdGhpcy5kYXRhLm1pbl92YWx1ZSA9IG1pblZhbHVlO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBzZXRNYXhWYWx1ZShtYXhWYWx1ZTogbnVtYmVyKTogdGhpcyB7XHJcbiAgICB0aGlzLmRhdGEubWF4X3ZhbHVlID0gbWF4VmFsdWU7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIHNldEF1dG9jb21wbGV0ZShhdXRvY29tcGxldGUgPSB0cnVlKTogdGhpcyB7XHJcbiAgICB0aGlzLmRhdGEuYXV0b2NvbXBsZXRlID0gYXV0b2NvbXBsZXRlO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogTnVtYmVyIG9wdGlvbiBidWlsZGVyXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgU2xhc2hDb21tYW5kTnVtYmVyT3B0aW9uIGV4dGVuZHMgU2xhc2hDb21tYW5kT3B0aW9uQnVpbGRlciB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcihBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlLk51bWJlcik7XHJcbiAgfVxyXG5cclxuICBhZGRDaG9pY2VzKC4uLmNob2ljZXM6IEFQSUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVtdKTogdGhpcyB7XHJcbiAgICBpZiAoIXRoaXMuZGF0YS5jaG9pY2VzKSB0aGlzLmRhdGEuY2hvaWNlcyA9IFtdO1xyXG4gICAgdGhpcy5kYXRhLmNob2ljZXMucHVzaCguLi5jaG9pY2VzKTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgc2V0TWluVmFsdWUobWluVmFsdWU6IG51bWJlcik6IHRoaXMge1xyXG4gICAgdGhpcy5kYXRhLm1pbl92YWx1ZSA9IG1pblZhbHVlO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICBzZXRNYXhWYWx1ZShtYXhWYWx1ZTogbnVtYmVyKTogdGhpcyB7XHJcbiAgICB0aGlzLmRhdGEubWF4X3ZhbHVlID0gbWF4VmFsdWU7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIHNldEF1dG9jb21wbGV0ZShhdXRvY29tcGxldGUgPSB0cnVlKTogdGhpcyB7XHJcbiAgICB0aGlzLmRhdGEuYXV0b2NvbXBsZXRlID0gYXV0b2NvbXBsZXRlO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQm9vbGVhbiBvcHRpb24gYnVpbGRlclxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFNsYXNoQ29tbWFuZEJvb2xlYW5PcHRpb24gZXh0ZW5kcyBTbGFzaENvbW1hbmRPcHRpb25CdWlsZGVyIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGUuQm9vbGVhbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogVXNlciBvcHRpb24gYnVpbGRlclxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFNsYXNoQ29tbWFuZFVzZXJPcHRpb24gZXh0ZW5kcyBTbGFzaENvbW1hbmRPcHRpb25CdWlsZGVyIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGUuVXNlcik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQ2hhbm5lbCBvcHRpb24gYnVpbGRlclxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFNsYXNoQ29tbWFuZENoYW5uZWxPcHRpb24gZXh0ZW5kcyBTbGFzaENvbW1hbmRPcHRpb25CdWlsZGVyIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGUuQ2hhbm5lbCk7XHJcbiAgfVxyXG5cclxuICBhZGRDaGFubmVsVHlwZXMoLi4udHlwZXM6IG51bWJlcltdKTogdGhpcyB7XHJcbiAgICBpZiAoIXRoaXMuZGF0YS5jaGFubmVsX3R5cGVzKSB0aGlzLmRhdGEuY2hhbm5lbF90eXBlcyA9IFtdO1xyXG4gICAgdGhpcy5kYXRhLmNoYW5uZWxfdHlwZXMucHVzaCguLi50eXBlcyk7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSb2xlIG9wdGlvbiBidWlsZGVyXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgU2xhc2hDb21tYW5kUm9sZU9wdGlvbiBleHRlbmRzIFNsYXNoQ29tbWFuZE9wdGlvbkJ1aWxkZXIge1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZS5Sb2xlKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNZW50aW9uYWJsZSBvcHRpb24gYnVpbGRlclxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFNsYXNoQ29tbWFuZE1lbnRpb25hYmxlT3B0aW9uIGV4dGVuZHMgU2xhc2hDb21tYW5kT3B0aW9uQnVpbGRlciB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcihBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlLk1lbnRpb25hYmxlKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBdHRhY2htZW50IG9wdGlvbiBidWlsZGVyXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgU2xhc2hDb21tYW5kQXR0YWNobWVudE9wdGlvbiBleHRlbmRzIFNsYXNoQ29tbWFuZE9wdGlvbkJ1aWxkZXIge1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZS5BdHRhY2htZW50KTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBIGJ1aWxkZXIgZm9yIGNyZWF0aW5nIHNsYXNoIGNvbW1hbmRzXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgU2xhc2hDb21tYW5kQnVpbGRlciB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRhdGE6IFBhcnRpYWw8QVBJQXBwbGljYXRpb25Db21tYW5kPjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmRhdGEgPSB7IG9wdGlvbnM6IFtdIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBuYW1lIG9mIHRoaXMgY29tbWFuZFxyXG4gICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lXHJcbiAgICovXHJcbiAgc2V0TmFtZShuYW1lOiBzdHJpbmcpOiB0aGlzIHtcclxuICAgIHRoaXMuZGF0YS5uYW1lID0gbmFtZTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgZGVzY3JpcHRpb24gb2YgdGhpcyBjb21tYW5kXHJcbiAgICogQHBhcmFtIGRlc2NyaXB0aW9uIFRoZSBkZXNjcmlwdGlvblxyXG4gICAqL1xyXG4gIHNldERlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpOiB0aGlzIHtcclxuICAgIHRoaXMuZGF0YS5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBkZWZhdWx0IG1lbWJlciBwZXJtaXNzaW9ucyByZXF1aXJlZCB0byB1c2UgdGhpcyBjb21tYW5kXHJcbiAgICogQHBhcmFtIHBlcm1pc3Npb25zIFRoZSBwZXJtaXNzaW9uc1xyXG4gICAqL1xyXG4gIHNldERlZmF1bHRNZW1iZXJQZXJtaXNzaW9ucyhwZXJtaXNzaW9uczogYmlnaW50IHwgc3RyaW5nIHwgbnVsbCk6IHRoaXMge1xyXG4gICAgdGhpcy5kYXRhLmRlZmF1bHRfbWVtYmVyX3Blcm1pc3Npb25zID0gcGVybWlzc2lvbnMgPT09IG51bGwgXHJcbiAgICAgID8gdW5kZWZpbmVkIFxyXG4gICAgICA6IFN0cmluZyhwZXJtaXNzaW9ucyk7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgd2hldGhlciB0aGlzIGNvbW1hbmQgaXMgYXZhaWxhYmxlIGluIERNc1xyXG4gICAqIEBwYXJhbSBlbmFibGVkIFdoZXRoZXIgdGhlIGNvbW1hbmQgaXMgYXZhaWxhYmxlIGluIERNc1xyXG4gICAqL1xyXG4gIHNldERNUGVybWlzc2lvbihlbmFibGVkOiBib29sZWFuKTogdGhpcyB7XHJcbiAgICB0aGlzLmRhdGEuZG1fcGVybWlzc2lvbiA9IGVuYWJsZWQ7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgd2hldGhlciB0aGlzIGNvbW1hbmQgaXMgTlNGV1xyXG4gICAqIEBwYXJhbSBuc2Z3IFdoZXRoZXIgdGhlIGNvbW1hbmQgaXMgTlNGV1xyXG4gICAqL1xyXG4gIHNldE5TRlcobnNmdyA9IHRydWUpOiB0aGlzIHtcclxuICAgIHRoaXMuZGF0YS5uc2Z3ID0gbnNmdztcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcyBhIHN0cmluZyBvcHRpb25cclxuICAgKi9cclxuICBhZGRTdHJpbmdPcHRpb24oZm46IChvcHRpb246IFNsYXNoQ29tbWFuZFN0cmluZ09wdGlvbikgPT4gU2xhc2hDb21tYW5kU3RyaW5nT3B0aW9uKTogdGhpcyB7XHJcbiAgICBjb25zdCBvcHRpb24gPSBmbihuZXcgU2xhc2hDb21tYW5kU3RyaW5nT3B0aW9uKCkpO1xyXG4gICAgdGhpcy5kYXRhLm9wdGlvbnMhLnB1c2gob3B0aW9uLnRvSlNPTigpKTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcyBhbiBpbnRlZ2VyIG9wdGlvblxyXG4gICAqL1xyXG4gIGFkZEludGVnZXJPcHRpb24oZm46IChvcHRpb246IFNsYXNoQ29tbWFuZEludGVnZXJPcHRpb24pID0+IFNsYXNoQ29tbWFuZEludGVnZXJPcHRpb24pOiB0aGlzIHtcclxuICAgIGNvbnN0IG9wdGlvbiA9IGZuKG5ldyBTbGFzaENvbW1hbmRJbnRlZ2VyT3B0aW9uKCkpO1xyXG4gICAgdGhpcy5kYXRhLm9wdGlvbnMhLnB1c2gob3B0aW9uLnRvSlNPTigpKTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcyBhIG51bWJlciBvcHRpb25cclxuICAgKi9cclxuICBhZGROdW1iZXJPcHRpb24oZm46IChvcHRpb246IFNsYXNoQ29tbWFuZE51bWJlck9wdGlvbikgPT4gU2xhc2hDb21tYW5kTnVtYmVyT3B0aW9uKTogdGhpcyB7XHJcbiAgICBjb25zdCBvcHRpb24gPSBmbihuZXcgU2xhc2hDb21tYW5kTnVtYmVyT3B0aW9uKCkpO1xyXG4gICAgdGhpcy5kYXRhLm9wdGlvbnMhLnB1c2gob3B0aW9uLnRvSlNPTigpKTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcyBhIGJvb2xlYW4gb3B0aW9uXHJcbiAgICovXHJcbiAgYWRkQm9vbGVhbk9wdGlvbihmbjogKG9wdGlvbjogU2xhc2hDb21tYW5kQm9vbGVhbk9wdGlvbikgPT4gU2xhc2hDb21tYW5kQm9vbGVhbk9wdGlvbik6IHRoaXMge1xyXG4gICAgY29uc3Qgb3B0aW9uID0gZm4obmV3IFNsYXNoQ29tbWFuZEJvb2xlYW5PcHRpb24oKSk7XHJcbiAgICB0aGlzLmRhdGEub3B0aW9ucyEucHVzaChvcHRpb24udG9KU09OKCkpO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRzIGEgdXNlciBvcHRpb25cclxuICAgKi9cclxuICBhZGRVc2VyT3B0aW9uKGZuOiAob3B0aW9uOiBTbGFzaENvbW1hbmRVc2VyT3B0aW9uKSA9PiBTbGFzaENvbW1hbmRVc2VyT3B0aW9uKTogdGhpcyB7XHJcbiAgICBjb25zdCBvcHRpb24gPSBmbihuZXcgU2xhc2hDb21tYW5kVXNlck9wdGlvbigpKTtcclxuICAgIHRoaXMuZGF0YS5vcHRpb25zIS5wdXNoKG9wdGlvbi50b0pTT04oKSk7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZHMgYSBjaGFubmVsIG9wdGlvblxyXG4gICAqL1xyXG4gIGFkZENoYW5uZWxPcHRpb24oZm46IChvcHRpb246IFNsYXNoQ29tbWFuZENoYW5uZWxPcHRpb24pID0+IFNsYXNoQ29tbWFuZENoYW5uZWxPcHRpb24pOiB0aGlzIHtcclxuICAgIGNvbnN0IG9wdGlvbiA9IGZuKG5ldyBTbGFzaENvbW1hbmRDaGFubmVsT3B0aW9uKCkpO1xyXG4gICAgdGhpcy5kYXRhLm9wdGlvbnMhLnB1c2gob3B0aW9uLnRvSlNPTigpKTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcyBhIHJvbGUgb3B0aW9uXHJcbiAgICovXHJcbiAgYWRkUm9sZU9wdGlvbihmbjogKG9wdGlvbjogU2xhc2hDb21tYW5kUm9sZU9wdGlvbikgPT4gU2xhc2hDb21tYW5kUm9sZU9wdGlvbik6IHRoaXMge1xyXG4gICAgY29uc3Qgb3B0aW9uID0gZm4obmV3IFNsYXNoQ29tbWFuZFJvbGVPcHRpb24oKSk7XHJcbiAgICB0aGlzLmRhdGEub3B0aW9ucyEucHVzaChvcHRpb24udG9KU09OKCkpO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRzIGEgbWVudGlvbmFibGUgb3B0aW9uXHJcbiAgICovXHJcbiAgYWRkTWVudGlvbmFibGVPcHRpb24oZm46IChvcHRpb246IFNsYXNoQ29tbWFuZE1lbnRpb25hYmxlT3B0aW9uKSA9PiBTbGFzaENvbW1hbmRNZW50aW9uYWJsZU9wdGlvbik6IHRoaXMge1xyXG4gICAgY29uc3Qgb3B0aW9uID0gZm4obmV3IFNsYXNoQ29tbWFuZE1lbnRpb25hYmxlT3B0aW9uKCkpO1xyXG4gICAgdGhpcy5kYXRhLm9wdGlvbnMhLnB1c2gob3B0aW9uLnRvSlNPTigpKTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcyBhbiBhdHRhY2htZW50IG9wdGlvblxyXG4gICAqL1xyXG4gIGFkZEF0dGFjaG1lbnRPcHRpb24oZm46IChvcHRpb246IFNsYXNoQ29tbWFuZEF0dGFjaG1lbnRPcHRpb24pID0+IFNsYXNoQ29tbWFuZEF0dGFjaG1lbnRPcHRpb24pOiB0aGlzIHtcclxuICAgIGNvbnN0IG9wdGlvbiA9IGZuKG5ldyBTbGFzaENvbW1hbmRBdHRhY2htZW50T3B0aW9uKCkpO1xyXG4gICAgdGhpcy5kYXRhLm9wdGlvbnMhLnB1c2gob3B0aW9uLnRvSlNPTigpKTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGlzIGNvbW1hbmRcclxuICAgKi9cclxuICB0b0pTT04oKTogQVBJQXBwbGljYXRpb25Db21tYW5kIHtcclxuICAgIHJldHVybiB7IC4uLnRoaXMuZGF0YSB9IGFzIEFQSUFwcGxpY2F0aW9uQ29tbWFuZDtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IFNsYXNoQ29tbWFuZEJ1aWxkZXI7XHJcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Builder exports
3
+ */
4
+ export * from './EmbedBuilder';
5
+ export * from './ButtonBuilder';
6
+ export * from './SelectMenuBuilder';
7
+ export * from './ActionRowBuilder';
8
+ export * from './ModalBuilder';
9
+ export * from './SlashCommandBuilder';
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /**
3
+ * Builder exports
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./EmbedBuilder"), exports);
21
+ __exportStar(require("./ButtonBuilder"), exports);
22
+ __exportStar(require("./SelectMenuBuilder"), exports);
23
+ __exportStar(require("./ActionRowBuilder"), exports);
24
+ __exportStar(require("./ModalBuilder"), exports);
25
+ __exportStar(require("./SlashCommandBuilder"), exports);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsaURBQStCO0FBQy9CLGtEQUFnQztBQUNoQyxzREFBb0M7QUFDcEMscURBQW1DO0FBQ25DLGlEQUErQjtBQUMvQix3REFBc0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQnVpbGRlciBleHBvcnRzXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9FbWJlZEJ1aWxkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL0J1dHRvbkJ1aWxkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL1NlbGVjdE1lbnVCdWlsZGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9BY3Rpb25Sb3dCdWlsZGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9Nb2RhbEJ1aWxkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL1NsYXNoQ29tbWFuZEJ1aWxkZXInO1xyXG4iXX0=