@jubbio/core 1.0.11 → 1.1.3
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.
|
@@ -4,6 +4,7 @@ import { Guild } from './Guild';
|
|
|
4
4
|
import type { Client } from '../Client';
|
|
5
5
|
/**
|
|
6
6
|
* Permission flags - permission bits
|
|
7
|
+
* Must match community-service/internal/guild/models/permissions.go (truth of source)
|
|
7
8
|
*/
|
|
8
9
|
export declare const PermissionFlags: {
|
|
9
10
|
readonly CreateInstantInvite: bigint;
|
|
@@ -14,7 +15,7 @@ export declare const PermissionFlags: {
|
|
|
14
15
|
readonly ManageGuild: bigint;
|
|
15
16
|
readonly AddReactions: bigint;
|
|
16
17
|
readonly ViewAuditLog: bigint;
|
|
17
|
-
readonly
|
|
18
|
+
readonly ViewGuildInsights: bigint;
|
|
18
19
|
readonly Stream: bigint;
|
|
19
20
|
readonly ViewChannel: bigint;
|
|
20
21
|
readonly SendMessages: bigint;
|
|
@@ -23,30 +24,33 @@ export declare const PermissionFlags: {
|
|
|
23
24
|
readonly EmbedLinks: bigint;
|
|
24
25
|
readonly AttachFiles: bigint;
|
|
25
26
|
readonly ReadMessageHistory: bigint;
|
|
26
|
-
readonly MentionEveryone: bigint;
|
|
27
27
|
readonly UseExternalEmojis: bigint;
|
|
28
|
-
readonly
|
|
28
|
+
readonly UseSlashCommands: bigint;
|
|
29
|
+
readonly MentionEveryone: bigint;
|
|
29
30
|
readonly Connect: bigint;
|
|
30
31
|
readonly Speak: bigint;
|
|
31
32
|
readonly MuteMembers: bigint;
|
|
32
33
|
readonly DeafenMembers: bigint;
|
|
33
34
|
readonly MoveMembers: bigint;
|
|
34
35
|
readonly UseVAD: bigint;
|
|
35
|
-
readonly
|
|
36
|
-
readonly
|
|
37
|
-
readonly
|
|
38
|
-
readonly
|
|
39
|
-
readonly
|
|
40
|
-
readonly
|
|
36
|
+
readonly ChangeCodec: bigint;
|
|
37
|
+
readonly AudioQualityAdmin: bigint;
|
|
38
|
+
readonly VideoCall: bigint;
|
|
39
|
+
readonly ShareScreen: bigint;
|
|
40
|
+
readonly ShareCamera: bigint;
|
|
41
|
+
readonly ControlQuality: bigint;
|
|
41
42
|
readonly RequestToSpeak: bigint;
|
|
42
43
|
readonly ManageEvents: bigint;
|
|
43
|
-
readonly
|
|
44
|
-
readonly
|
|
45
|
-
readonly
|
|
46
|
-
readonly
|
|
47
|
-
readonly
|
|
48
|
-
readonly
|
|
44
|
+
readonly AddMembers: bigint;
|
|
45
|
+
readonly RemoveMembers: bigint;
|
|
46
|
+
readonly ChangeGroupIcon: bigint;
|
|
47
|
+
readonly ChangeDMSettings: bigint;
|
|
48
|
+
readonly ManageGroup: bigint;
|
|
49
|
+
readonly UseActivities: bigint;
|
|
49
50
|
readonly ModerateMembers: bigint;
|
|
51
|
+
readonly ManageRoles: bigint;
|
|
52
|
+
readonly ManageEmojis: bigint;
|
|
53
|
+
readonly PrioritySpeaker: bigint;
|
|
50
54
|
};
|
|
51
55
|
/**
|
|
52
56
|
* Permissions helper class
|
|
@@ -4,8 +4,10 @@ exports.GuildMember = exports.Permissions = exports.PermissionFlags = void 0;
|
|
|
4
4
|
const User_1 = require("./User");
|
|
5
5
|
/**
|
|
6
6
|
* Permission flags - permission bits
|
|
7
|
+
* Must match community-service/internal/guild/models/permissions.go (truth of source)
|
|
7
8
|
*/
|
|
8
9
|
exports.PermissionFlags = {
|
|
10
|
+
// General (0-9)
|
|
9
11
|
CreateInstantInvite: 1n << 0n,
|
|
10
12
|
KickMembers: 1n << 1n,
|
|
11
13
|
BanMembers: 1n << 2n,
|
|
@@ -14,39 +16,46 @@ exports.PermissionFlags = {
|
|
|
14
16
|
ManageGuild: 1n << 5n,
|
|
15
17
|
AddReactions: 1n << 6n,
|
|
16
18
|
ViewAuditLog: 1n << 7n,
|
|
17
|
-
|
|
19
|
+
ViewGuildInsights: 1n << 8n,
|
|
18
20
|
Stream: 1n << 9n,
|
|
19
21
|
ViewChannel: 1n << 10n,
|
|
22
|
+
// Messages (11-19)
|
|
20
23
|
SendMessages: 1n << 11n,
|
|
21
24
|
SendTTSMessages: 1n << 12n,
|
|
22
25
|
ManageMessages: 1n << 13n,
|
|
23
26
|
EmbedLinks: 1n << 14n,
|
|
24
27
|
AttachFiles: 1n << 15n,
|
|
25
28
|
ReadMessageHistory: 1n << 16n,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
UseExternalEmojis: 1n << 17n,
|
|
30
|
+
UseSlashCommands: 1n << 18n,
|
|
31
|
+
MentionEveryone: 1n << 19n,
|
|
32
|
+
// Voice (20-27)
|
|
29
33
|
Connect: 1n << 20n,
|
|
30
34
|
Speak: 1n << 21n,
|
|
31
35
|
MuteMembers: 1n << 22n,
|
|
32
36
|
DeafenMembers: 1n << 23n,
|
|
33
37
|
MoveMembers: 1n << 24n,
|
|
34
38
|
UseVAD: 1n << 25n,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
ChangeCodec: 1n << 26n,
|
|
40
|
+
AudioQualityAdmin: 1n << 27n,
|
|
41
|
+
// Video and Screen Sharing (28-37)
|
|
42
|
+
VideoCall: 1n << 28n,
|
|
43
|
+
ShareScreen: 1n << 29n,
|
|
44
|
+
ShareCamera: 1n << 30n,
|
|
45
|
+
ControlQuality: 1n << 31n,
|
|
41
46
|
RequestToSpeak: 1n << 32n,
|
|
42
47
|
ManageEvents: 1n << 33n,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
AddMembers: 1n << 34n,
|
|
49
|
+
RemoveMembers: 1n << 35n,
|
|
50
|
+
ChangeGroupIcon: 1n << 36n,
|
|
51
|
+
ChangeDMSettings: 1n << 37n,
|
|
52
|
+
// Advanced (38-43)
|
|
53
|
+
ManageGroup: 1n << 38n,
|
|
54
|
+
UseActivities: 1n << 39n,
|
|
49
55
|
ModerateMembers: 1n << 40n,
|
|
56
|
+
ManageRoles: 1n << 41n,
|
|
57
|
+
ManageEmojis: 1n << 42n,
|
|
58
|
+
PrioritySpeaker: 1n << 43n,
|
|
50
59
|
};
|
|
51
60
|
/**
|
|
52
61
|
* Permissions helper class
|
|
@@ -205,4 +214,4 @@ class GuildMember {
|
|
|
205
214
|
}
|
|
206
215
|
}
|
|
207
216
|
exports.GuildMember = GuildMember;
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpbGRNZW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RydWN0dXJlcy9HdWlsZE1lbWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxpQ0FBOEI7QUFJOUI7O0dBRUc7QUFDVSxRQUFBLGVBQWUsR0FBRztJQUM3QixtQkFBbUIsRUFBRSxFQUFFLElBQUksRUFBRTtJQUM3QixXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUU7SUFDckIsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFO0lBQ3BCLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRTtJQUN2QixjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUU7SUFDeEIsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFO0lBQ3JCLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRTtJQUN0QixZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUU7SUFDdEIsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFO0lBQ3pCLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRTtJQUNoQixXQUFXLEVBQUUsRUFBRSxJQUFJLEdBQUc7SUFDdEIsWUFBWSxFQUFFLEVBQUUsSUFBSSxHQUFHO0lBQ3ZCLGVBQWUsRUFBRSxFQUFFLElBQUksR0FBRztJQUMxQixjQUFjLEVBQUUsRUFBRSxJQUFJLEdBQUc7SUFDekIsVUFBVSxFQUFFLEVBQUUsSUFBSSxHQUFHO0lBQ3JCLFdBQVcsRUFBRSxFQUFFLElBQUksR0FBRztJQUN0QixrQkFBa0IsRUFBRSxFQUFFLElBQUksR0FBRztJQUM3QixlQUFlLEVBQUUsRUFBRSxJQUFJLEdBQUc7SUFDMUIsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEdBQUc7SUFDNUIsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEdBQUc7SUFDNUIsT0FBTyxFQUFFLEVBQUUsSUFBSSxHQUFHO0lBQ2xCLEtBQUssRUFBRSxFQUFFLElBQUksR0FBRztJQUNoQixXQUFXLEVBQUUsRUFBRSxJQUFJLEdBQUc7SUFDdEIs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LENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVM7WUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDekQsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdEQsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUc7Z0JBQ1gsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtnQkFDaEMsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUs7Z0JBQ3ZDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLO2FBQ3hDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBckhELGtDQXFIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQSUd1aWxkTWVtYmVyIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi9Vc2VyJztcclxuaW1wb3J0IHsgR3VpbGQgfSBmcm9tICcuL0d1aWxkJztcclxuaW1wb3J0IHR5cGUgeyBDbGllbnQgfSBmcm9tICcuLi9DbGllbnQnO1xyXG5cclxuLyoqXHJcbiAqIFBlcm1pc3Npb24gZmxhZ3MgLSBwZXJtaXNzaW9uIGJpdHNcclxuICovXHJcbmV4cG9ydCBjb25zdCBQZXJtaXNzaW9uRmxhZ3MgPSB7XHJcbiAgQ3JlYXRlSW5zdGFudEludml0ZTogMW4gPDwgMG4sXHJcbiAgS2lja01lbWJlcnM6IDFuIDw8IDFuLFxyXG4gIEJhbk1lbWJlcnM6IDFuIDw8IDJuLFxyXG4gIEFkbWluaXN0cmF0b3I6IDFuIDw8IDNuLFxyXG4gIE1hbmFnZUNoYW5uZWxzOiAxbiA8PCA0bixcclxuICBNYW5hZ2VHdWlsZDogMW4gPDwgNW4sXHJcbiAgQWRkUmVhY3Rpb25zOiAxbiA8PCA2bixcclxuICBWaWV3QXVkaXRMb2c6IDFuIDw8IDduLFxyXG4gIFByaW9yaXR5U3BlYWtlcjogMW4gPDwgOG4sXHJcbiAgU3RyZWFtOiAxbiA8PCA5bixcclxuICBWaWV3Q2hhbm5lbDogMW4gPDwgMTBuLFxyXG4gIFNlbmRNZXNzYWdlczogMW4gPDwgMTFuLFxyXG4gIFNlbmRUVFNNZXNzYWdlczogMW4gPDwgMTJuLFxyXG4gIE1hbmFnZU1lc3NhZ2VzOiAxbiA8PCAxM24sXHJcbiAgRW1iZWRMaW5rczogMW4gPDwgMTRuLFxyXG4gIEF0dGFjaEZpbGVzOiAxbiA8PCAxNW4sXHJcbiAgUmVhZE1lc3NhZ2VIaXN0b3J5OiAxbiA8PCAxNm4sXHJcbiAgTWVudGlvbkV2ZXJ5b25lOiAxbiA8PCAxN24sXHJcbiAgVXNlRXh0ZXJuYWxFbW9qaXM6IDFuIDw8IDE4bixcclxuICBWaWV3R3VpbGRJbnNpZ2h0czogMW4gPDwgMTluLFxyXG4gIENvbm5lY3Q6IDFuIDw8IDIwbixcclxuICBTcGVhazogMW4gPDwgMjFuLFxyXG4gIE11dGVNZW1iZXJzOiAxbiA8PCAyMm4sXHJcbiAgRGVhZmVuTWVtYmVyczogMW4gPDwgMjNuLFxyXG4gIE1vdmVNZW1iZXJzOiAxbiA8PCAyNG4sXHJcbiAgVXNlVkFEOiAxbiA8PCAyNW4sXHJcbiAgQ2hhbmdlTmlja25hbWU6IDFuIDw8IDI2bixcclxuICBNYW5hZ2VOaWNrbmFtZXM6IDFuIDw8IDI3bixcclxuICBNYW5hZ2VSb2xlczogMW4gPDwgMjhuLFxyXG4gIE1hbmFnZVdlYmhvb2tzOiAxbiA8PCAyOW4sXHJcbiAgTWFuYWdlRW1vamlzQW5kU3RpY2tlcnM6IDFuIDw8IDMwbixcclxuICBVc2VBcHBsaWNhdGlvbkNvbW1hbmRzOiAxbiA8PCAzMW4sXHJcbiAgUmVxdWVzdFRvU3BlYWs6IDFuIDw8IDMybixcclxuICBNYW5hZ2VFdmVudHM6IDFuIDw8IDMzbixcclxuICBNYW5hZ2VUaHJlYWRzOiAxbiA8PCAzNG4sXHJcbiAgQ3JlYXRlUHVibGljVGhyZWFkczogMW4gPDwgMzVuLFxyXG4gIENyZWF0ZVByaXZhdGVUaHJlYWRzOiAxbiA8PCAzNm4sXHJcbiAgVXNlRXh0ZXJuYWxTdGlja2VyczogMW4gPDwgMzduLFxyXG4gIFNlbmRNZXNzYWdlc0luVGhyZWFkczogMW4gPDwgMzhuLFxyXG4gIFVzZUVtYmVkZGVkQWN0aXZpdGllczogMW4gPDwgMzluLFxyXG4gIE1vZGVyYXRlTWVtYmVyczogMW4gPDwgNDBuLFxyXG59IGFzIGNvbnN0O1xyXG5cclxuLyoqXHJcbiAqIFBlcm1pc3Npb25zIGhlbHBlciBjbGFzc1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25zIHtcclxuICBwcml2YXRlIGJpdGZpZWxkOiBiaWdpbnQ7XHJcbiAgcHJpdmF0ZSBpc093bmVyOiBib29sZWFuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihiaXRzOiBzdHJpbmcgfCBiaWdpbnQgfCBudW1iZXIgPSAwbiwgaXNPd25lciA9IGZhbHNlKSB7XHJcbiAgICBpZiAodHlwZW9mIGJpdHMgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMuYml0ZmllbGQgPSBCaWdJbnQoYml0cyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmJpdGZpZWxkID0gQmlnSW50KGJpdHMpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc093bmVyID0gaXNPd25lcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIGhhcyBhIHBlcm1pc3Npb25cclxuICAgKi9cclxuICBoYXMocGVybWlzc2lvbjogc3RyaW5nIHwgYmlnaW50KTogYm9vbGVhbiB7XHJcbiAgICAvLyBPd25lciBoYXMgYWxsIHBlcm1pc3Npb25zXHJcbiAgICBpZiAodGhpcy5pc093bmVyKSByZXR1cm4gdHJ1ZTtcclxuICAgIFxyXG4gICAgLy8gQWRtaW5pc3RyYXRvciBoYXMgYWxsIHBlcm1pc3Npb25zXHJcbiAgICBpZiAoKHRoaXMuYml0ZmllbGQgJiBQZXJtaXNzaW9uRmxhZ3MuQWRtaW5pc3RyYXRvcikgPT09IFBlcm1pc3Npb25GbGFncy5BZG1pbmlzdHJhdG9yKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBsZXQgYml0OiBiaWdpbnQ7XHJcbiAgICBpZiAodHlwZW9mIHBlcm1pc3Npb24gPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGJpdCA9IFBlcm1pc3Npb25GbGFnc1twZXJtaXNzaW9uIGFzIGtleW9mIHR5cGVvZiBQZXJtaXNzaW9uRmxhZ3NdIHx8IDBuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYml0ID0gcGVybWlzc2lvbjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcmV0dXJuICh0aGlzLmJpdGZpZWxkICYgYml0KSA9PT0gYml0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSByYXcgYml0ZmllbGRcclxuICAgKi9cclxuICBnZXQgYml0cygpOiBiaWdpbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZXJ0IHRvIGFycmF5IG9mIHBlcm1pc3Npb24gbmFtZXNcclxuICAgKi9cclxuICB0b0FycmF5KCk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcclxuICAgIGZvciAoY29uc3QgW25hbWUsIGJpdF0gb2YgT2JqZWN0LmVudHJpZXMoUGVybWlzc2lvbkZsYWdzKSkge1xyXG4gICAgICBpZiAoKHRoaXMuYml0ZmllbGQgJiBiaXQpID09PSBiaXQpIHtcclxuICAgICAgICByZXN1bHQucHVzaChuYW1lKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXByZXNlbnRzIGEgZ3VpbGQgbWVtYmVyXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgR3VpbGRNZW1iZXIge1xyXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGNsaWVudCAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBjbGllbnQ6IENsaWVudDtcclxuICBcclxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBndWlsZCAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBndWlsZDogR3VpbGQ7XHJcbiAgXHJcbiAgLyoqIFRoZSB1c2VyIHRoaXMgbWVtYmVyIHJlcHJlc2VudHMgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgdXNlcjogVXNlcjtcclxuICBcclxuICAvKiogTWVtYmVyJ3Mgbmlja25hbWUgKi9cclxuICBwdWJsaWMgbmlja25hbWU/OiBzdHJpbmc7XHJcbiAgXHJcbiAgLyoqIE1lbWJlcidzIGd1aWxkIGF2YXRhciAqL1xyXG4gIHB1YmxpYyBhdmF0YXI/OiBzdHJpbmc7XHJcbiAgXHJcbiAgLyoqIFJvbGUgSURzICovXHJcbiAgcHVibGljIHJvbGVzOiBzdHJpbmdbXTtcclxuICBcclxuICAvKiogSm9pbiB0aW1lc3RhbXAgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgam9pbmVkVGltZXN0YW1wOiBudW1iZXI7XHJcbiAgXHJcbiAgLyoqIFZvaWNlIHN0YXRlICovXHJcbiAgcHVibGljIHZvaWNlOiB7XHJcbiAgICBjaGFubmVsSWQ/OiBzdHJpbmc7XHJcbiAgICBzZWxmTXV0ZTogYm9vbGVhbjtcclxuICAgIHNlbGZEZWFmOiBib29sZWFuO1xyXG4gIH07XHJcbiAgXHJcbiAgLyoqIE1lbWJlciBwZXJtaXNzaW9ucyAqL1xyXG4gIHB1YmxpYyBwZXJtaXNzaW9uczogUGVybWlzc2lvbnM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNsaWVudDogQ2xpZW50LCBndWlsZDogR3VpbGQsIGRhdGE6IEFQSUd1aWxkTWVtYmVyKSB7XHJcbiAgICB0aGlzLmNsaWVudCA9IGNsaWVudDtcclxuICAgIHRoaXMuZ3VpbGQgPSBndWlsZDtcclxuICAgIHRoaXMudXNlciA9IGRhdGEudXNlciA/IG5ldyBVc2VyKGRhdGEudXNlcikgOiBuZXcgVXNlcih7IGlkOiAnMCcsIHVzZXJuYW1lOiAnVW5rbm93bicgfSk7XHJcbiAgICB0aGlzLm5pY2tuYW1lID0gZGF0YS5uaWNrO1xyXG4gICAgdGhpcy5hdmF0YXIgPSBkYXRhLmF2YXRhcjtcclxuICAgIHRoaXMucm9sZXMgPSBkYXRhLnJvbGVzO1xyXG4gICAgdGhpcy5qb2luZWRUaW1lc3RhbXAgPSBuZXcgRGF0ZShkYXRhLmpvaW5lZF9hdCkuZ2V0VGltZSgpO1xyXG4gICAgdGhpcy52b2ljZSA9IHtcclxuICAgICAgY2hhbm5lbElkOiBkYXRhLnZvaWNlPy5jaGFubmVsX2lkLFxyXG4gICAgICBzZWxmTXV0ZTogZGF0YS52b2ljZT8uc2VsZl9tdXRlID8/IGZhbHNlLFxyXG4gICAgICBzZWxmRGVhZjogZGF0YS52b2ljZT8uc2VsZl9kZWFmID8/IGZhbHNlXHJcbiAgICB9O1xyXG4gICAgXHJcbiAgICAvLyBDaGVjayBpZiB1c2VyIGlzIGd1aWxkIG93bmVyXHJcbiAgICBjb25zdCBpc093bmVyID0gZ3VpbGQub3duZXJJZCA9PT0gdGhpcy51c2VyLmlkO1xyXG4gICAgXHJcbiAgICAvLyBQYXJzZSBwZXJtaXNzaW9ucyBmcm9tIGludGVyYWN0aW9uIGRhdGFcclxuICAgIHRoaXMucGVybWlzc2lvbnMgPSBuZXcgUGVybWlzc2lvbnMoZGF0YS5wZXJtaXNzaW9ucyB8fCAnMCcsIGlzT3duZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSBtZW1iZXIncyBJRFxyXG4gICAqL1xyXG4gIGdldCBpZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlci5pZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgZGlzcGxheSBuYW1lIChuaWNrbmFtZSBvciB1c2VybmFtZSlcclxuICAgKi9cclxuICBnZXQgZGlzcGxheU5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5pY2tuYW1lIHx8IHRoaXMudXNlci5kaXNwbGF5TmFtZSB8fCB0aGlzLnVzZXIudXNlcm5hbWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIGpvaW4gZGF0ZVxyXG4gICAqL1xyXG4gIGdldCBqb2luZWRBdCgpOiBEYXRlIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmpvaW5lZFRpbWVzdGFtcCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBtZW1iZXIgaXMgaW4gYSB2b2ljZSBjaGFubmVsXHJcbiAgICovXHJcbiAgZ2V0IGluVm9pY2VDaGFubmVsKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy52b2ljZS5jaGFubmVsSWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIG1lbWJlcidzIGF2YXRhciBVUkxcclxuICAgKi9cclxuICBhdmF0YXJVUkwoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5hdmF0YXIgfHwgbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgZGlzcGxheSBhdmF0YXIgVVJMIChtZW1iZXIgYXZhdGFyIG9yIHVzZXIgYXZhdGFyKVxyXG4gICAqL1xyXG4gIGRpc3BsYXlBdmF0YXJVUkwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmF2YXRhciB8fCB0aGlzLnVzZXIuZGlzcGxheUF2YXRhclVSTCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydCB0byBzdHJpbmcgKG1lbnRpb24gZm9ybWF0KVxyXG4gICAqL1xyXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYDxAJHt0aGlzLmlkfT5gO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIG1lbWJlciBkYXRhXHJcbiAgICovXHJcbiAgX3BhdGNoKGRhdGE6IFBhcnRpYWw8QVBJR3VpbGRNZW1iZXI+KTogdm9pZCB7XHJcbiAgICBpZiAoZGF0YS5uaWNrICE9PSB1bmRlZmluZWQpIHRoaXMubmlja25hbWUgPSBkYXRhLm5pY2s7XHJcbiAgICBpZiAoZGF0YS5hdmF0YXIgIT09IHVuZGVmaW5lZCkgdGhpcy5hdmF0YXIgPSBkYXRhLmF2YXRhcjtcclxuICAgIGlmIChkYXRhLnJvbGVzICE9PSB1bmRlZmluZWQpIHRoaXMucm9sZXMgPSBkYXRhLnJvbGVzO1xyXG4gICAgaWYgKGRhdGEudm9pY2UgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnZvaWNlID0ge1xyXG4gICAgICAgIGNoYW5uZWxJZDogZGF0YS52b2ljZS5jaGFubmVsX2lkLFxyXG4gICAgICAgIHNlbGZNdXRlOiBkYXRhLnZvaWNlLnNlbGZfbXV0ZSA/PyBmYWxzZSxcclxuICAgICAgICBzZWxmRGVhZjogZGF0YS52b2ljZS5zZWxmX2RlYWYgPz8gZmFsc2VcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpbGRNZW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RydWN0dXJlcy9HdWlsZE1lbWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxpQ0FBOEI7QUFJOUI7OztHQUdHO0FBQ1UsUUFBQSxlQUFlLEdBQUc7SUFDN0IsZ0JBQWdCO0lBQ2hCLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFO0lBQzdCLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRTtJQUNyQixVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUU7SUFDcEIsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFO0lBQ3ZCLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRTtJQUN4QixXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUU7SUFDckIsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFO0lBQ3RCLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRTtJQUN0QixpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRTtJQUMzQixNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUU7SUFDaEIsV0FBVyxFQUFFLEVBQUUsSUFBSSxHQUFHO0lBRXRCLG1CQUFtQjtJQUNuQixZQUFZLEVBQUUsRUFBRSxJQUFJLEdBQUc7SUFDdkIsZUFBZSxFQUFFLEVBQUUsSUFBSSxHQUFHO0lBQzFCLGNBQWMsRUFBRSxFQUFFLElBQUksR0FBRztJQUN6QixVQUFVLEVBQUUsRUFBRSxJQUFJLEdBQUc7SUFDckIsV0FBVyxFQUFFLEVBQUUsSUFBSSxHQUFHO0lBQ3RCLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxHQUFHO0lBQzdCLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxHQUFHO0lBQzVCLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxHQUFHO0lBQzNCLGVBQWUsRUFBRSxFQUFFLElBQUksR0FBRztJQUUxQixnQkFBZ0I7SUFDaEIsT0FBTyxFQUFFLEVBQUUsSUFBSSxHQUFHO0lBQ2xCLEtBQUssRUFBRSxFQUFFLElBQUks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QztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sS0FBSyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLElBQTZCO1FBQ2xDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTO1lBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTO1lBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTO1lBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3RELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHO2dCQUNYLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVU7Z0JBQ2hDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLO2dCQUN2QyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSzthQUN4QyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7Q0FDRjtBQXJIRCxrQ0FxSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUElHdWlsZE1lbWJlciB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vVXNlcic7XHJcbmltcG9ydCB7IEd1aWxkIH0gZnJvbSAnLi9HdWlsZCc7XHJcbmltcG9ydCB0eXBlIHsgQ2xpZW50IH0gZnJvbSAnLi4vQ2xpZW50JztcclxuXHJcbi8qKlxyXG4gKiBQZXJtaXNzaW9uIGZsYWdzIC0gcGVybWlzc2lvbiBiaXRzXHJcbiAqIE11c3QgbWF0Y2ggY29tbXVuaXR5LXNlcnZpY2UvaW50ZXJuYWwvZ3VpbGQvbW9kZWxzL3Blcm1pc3Npb25zLmdvICh0cnV0aCBvZiBzb3VyY2UpXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgUGVybWlzc2lvbkZsYWdzID0ge1xyXG4gIC8vIEdlbmVyYWwgKDAtOSlcclxuICBDcmVhdGVJbnN0YW50SW52aXRlOiAxbiA8PCAwbixcclxuICBLaWNrTWVtYmVyczogMW4gPDwgMW4sXHJcbiAgQmFuTWVtYmVyczogMW4gPDwgMm4sXHJcbiAgQWRtaW5pc3RyYXRvcjogMW4gPDwgM24sXHJcbiAgTWFuYWdlQ2hhbm5lbHM6IDFuIDw8IDRuLFxyXG4gIE1hbmFnZUd1aWxkOiAxbiA8PCA1bixcclxuICBBZGRSZWFjdGlvbnM6IDFuIDw8IDZuLFxyXG4gIFZpZXdBdWRpdExvZzogMW4gPDwgN24sXHJcbiAgVmlld0d1aWxkSW5zaWdodHM6IDFuIDw8IDhuLFxyXG4gIFN0cmVhbTogMW4gPDwgOW4sXHJcbiAgVmlld0NoYW5uZWw6IDFuIDw8IDEwbixcclxuXHJcbiAgLy8gTWVzc2FnZXMgKDExLTE5KVxyXG4gIFNlbmRNZXNzYWdlczogMW4gPDwgMTFuLFxyXG4gIFNlbmRUVFNNZXNzYWdlczogMW4gPDwgMTJuLFxyXG4gIE1hbmFnZU1lc3NhZ2VzOiAxbiA8PCAxM24sXHJcbiAgRW1iZWRMaW5rczogMW4gPDwgMTRuLFxyXG4gIEF0dGFjaEZpbGVzOiAxbiA8PCAxNW4sXHJcbiAgUmVhZE1lc3NhZ2VIaXN0b3J5OiAxbiA8PCAxNm4sXHJcbiAgVXNlRXh0ZXJuYWxFbW9qaXM6IDFuIDw8IDE3bixcclxuICBVc2VTbGFzaENvbW1hbmRzOiAxbiA8PCAxOG4sXHJcbiAgTWVudGlvbkV2ZXJ5b25lOiAxbiA8PCAxOW4sXHJcblxyXG4gIC8vIFZvaWNlICgyMC0yNylcclxuICBDb25uZWN0OiAxbiA8PCAyMG4sXHJcbiAgU3BlYWs6IDFuIDw8IDIxbixcclxuICBNdXRlTWVtYmVyczogMW4gPDwgMjJuLFxyXG4gIERlYWZlbk1lbWJlcnM6IDFuIDw8IDIzbixcclxuICBNb3ZlTWVtYmVyczogMW4gPDwgMjRuLFxyXG4gIFVzZVZBRDogMW4gPDwgMjVuLFxyXG4gIENoYW5nZUNvZGVjOiAxbiA8PCAyNm4sXHJcbiAgQXVkaW9RdWFsaXR5QWRtaW46IDFuIDw8IDI3bixcclxuXHJcbiAgLy8gVmlkZW8gYW5kIFNjcmVlbiBTaGFyaW5nICgyOC0zNylcclxuICBWaWRlb0NhbGw6IDFuIDw8IDI4bixcclxuICBTaGFyZVNjcmVlbjogMW4gPDwgMjluLFxyXG4gIFNoYXJlQ2FtZXJhOiAxbiA8PCAzMG4sXHJcbiAgQ29udHJvbFF1YWxpdHk6IDFuIDw8IDMxbixcclxuICBSZXF1ZXN0VG9TcGVhazogMW4gPDwgMzJuLFxyXG4gIE1hbmFnZUV2ZW50czogMW4gPDwgMzNuLFxyXG4gIEFkZE1lbWJlcnM6IDFuIDw8IDM0bixcclxuICBSZW1vdmVNZW1iZXJzOiAxbiA8PCAzNW4sXHJcbiAgQ2hhbmdlR3JvdXBJY29uOiAxbiA8PCAzNm4sXHJcbiAgQ2hhbmdlRE1TZXR0aW5nczogMW4gPDwgMzduLFxyXG5cclxuICAvLyBBZHZhbmNlZCAoMzgtNDMpXHJcbiAgTWFuYWdlR3JvdXA6IDFuIDw8IDM4bixcclxuICBVc2VBY3Rpdml0aWVzOiAxbiA8PCAzOW4sXHJcbiAgTW9kZXJhdGVNZW1iZXJzOiAxbiA8PCA0MG4sXHJcbiAgTWFuYWdlUm9sZXM6IDFuIDw8IDQxbixcclxuICBNYW5hZ2VFbW9qaXM6IDFuIDw8IDQybixcclxuICBQcmlvcml0eVNwZWFrZXI6IDFuIDw8IDQzbixcclxufSBhcyBjb25zdDtcclxuXHJcbi8qKlxyXG4gKiBQZXJtaXNzaW9ucyBoZWxwZXIgY2xhc3NcclxuICovXHJcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9ucyB7XHJcbiAgcHJpdmF0ZSBiaXRmaWVsZDogYmlnaW50O1xyXG4gIHByaXZhdGUgaXNPd25lcjogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoYml0czogc3RyaW5nIHwgYmlnaW50IHwgbnVtYmVyID0gMG4sIGlzT3duZXIgPSBmYWxzZSkge1xyXG4gICAgaWYgKHR5cGVvZiBiaXRzID09PSAnc3RyaW5nJykge1xyXG4gICAgICB0aGlzLmJpdGZpZWxkID0gQmlnSW50KGJpdHMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5iaXRmaWVsZCA9IEJpZ0ludChiaXRzKTtcclxuICAgIH1cclxuICAgIHRoaXMuaXNPd25lciA9IGlzT3duZXI7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBoYXMgYSBwZXJtaXNzaW9uXHJcbiAgICovXHJcbiAgaGFzKHBlcm1pc3Npb246IHN0cmluZyB8IGJpZ2ludCk6IGJvb2xlYW4ge1xyXG4gICAgLy8gT3duZXIgaGFzIGFsbCBwZXJtaXNzaW9uc1xyXG4gICAgaWYgKHRoaXMuaXNPd25lcikgcmV0dXJuIHRydWU7XHJcbiAgICBcclxuICAgIC8vIEFkbWluaXN0cmF0b3IgaGFzIGFsbCBwZXJtaXNzaW9uc1xyXG4gICAgaWYgKCh0aGlzLmJpdGZpZWxkICYgUGVybWlzc2lvbkZsYWdzLkFkbWluaXN0cmF0b3IpID09PSBQZXJtaXNzaW9uRmxhZ3MuQWRtaW5pc3RyYXRvcikge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgbGV0IGJpdDogYmlnaW50O1xyXG4gICAgaWYgKHR5cGVvZiBwZXJtaXNzaW9uID09PSAnc3RyaW5nJykge1xyXG4gICAgICBiaXQgPSBQZXJtaXNzaW9uRmxhZ3NbcGVybWlzc2lvbiBhcyBrZXlvZiB0eXBlb2YgUGVybWlzc2lvbkZsYWdzXSB8fCAwbjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGJpdCA9IHBlcm1pc3Npb247XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHJldHVybiAodGhpcy5iaXRmaWVsZCAmIGJpdCkgPT09IGJpdDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgcmF3IGJpdGZpZWxkXHJcbiAgICovXHJcbiAgZ2V0IGJpdHMoKTogYmlnaW50IHtcclxuICAgIHJldHVybiB0aGlzLmJpdGZpZWxkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydCB0byBhcnJheSBvZiBwZXJtaXNzaW9uIG5hbWVzXHJcbiAgICovXHJcbiAgdG9BcnJheSgpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCByZXN1bHQ6IHN0cmluZ1tdID0gW107XHJcbiAgICBmb3IgKGNvbnN0IFtuYW1lLCBiaXRdIG9mIE9iamVjdC5lbnRyaWVzKFBlcm1pc3Npb25GbGFncykpIHtcclxuICAgICAgaWYgKCh0aGlzLmJpdGZpZWxkICYgYml0KSA9PT0gYml0KSB7XHJcbiAgICAgICAgcmVzdWx0LnB1c2gobmFtZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogUmVwcmVzZW50cyBhIGd1aWxkIG1lbWJlclxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEd1aWxkTWVtYmVyIHtcclxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBjbGllbnQgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgY2xpZW50OiBDbGllbnQ7XHJcbiAgXHJcbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgZ3VpbGQgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgZ3VpbGQ6IEd1aWxkO1xyXG4gIFxyXG4gIC8qKiBUaGUgdXNlciB0aGlzIG1lbWJlciByZXByZXNlbnRzICovXHJcbiAgcHVibGljIHJlYWRvbmx5IHVzZXI6IFVzZXI7XHJcbiAgXHJcbiAgLyoqIE1lbWJlcidzIG5pY2tuYW1lICovXHJcbiAgcHVibGljIG5pY2tuYW1lPzogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBNZW1iZXIncyBndWlsZCBhdmF0YXIgKi9cclxuICBwdWJsaWMgYXZhdGFyPzogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBSb2xlIElEcyAqL1xyXG4gIHB1YmxpYyByb2xlczogc3RyaW5nW107XHJcbiAgXHJcbiAgLyoqIEpvaW4gdGltZXN0YW1wICovXHJcbiAgcHVibGljIHJlYWRvbmx5IGpvaW5lZFRpbWVzdGFtcDogbnVtYmVyO1xyXG4gIFxyXG4gIC8qKiBWb2ljZSBzdGF0ZSAqL1xyXG4gIHB1YmxpYyB2b2ljZToge1xyXG4gICAgY2hhbm5lbElkPzogc3RyaW5nO1xyXG4gICAgc2VsZk11dGU6IGJvb2xlYW47XHJcbiAgICBzZWxmRGVhZjogYm9vbGVhbjtcclxuICB9O1xyXG4gIFxyXG4gIC8qKiBNZW1iZXIgcGVybWlzc2lvbnMgKi9cclxuICBwdWJsaWMgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25zO1xyXG5cclxuICBjb25zdHJ1Y3RvcihjbGllbnQ6IENsaWVudCwgZ3VpbGQ6IEd1aWxkLCBkYXRhOiBBUElHdWlsZE1lbWJlcikge1xyXG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnQ7XHJcbiAgICB0aGlzLmd1aWxkID0gZ3VpbGQ7XHJcbiAgICB0aGlzLnVzZXIgPSBkYXRhLnVzZXIgPyBuZXcgVXNlcihkYXRhLnVzZXIpIDogbmV3IFVzZXIoeyBpZDogJzAnLCB1c2VybmFtZTogJ1Vua25vd24nIH0pO1xyXG4gICAgdGhpcy5uaWNrbmFtZSA9IGRhdGEubmljaztcclxuICAgIHRoaXMuYXZhdGFyID0gZGF0YS5hdmF0YXI7XHJcbiAgICB0aGlzLnJvbGVzID0gZGF0YS5yb2xlcztcclxuICAgIHRoaXMuam9pbmVkVGltZXN0YW1wID0gbmV3IERhdGUoZGF0YS5qb2luZWRfYXQpLmdldFRpbWUoKTtcclxuICAgIHRoaXMudm9pY2UgPSB7XHJcbiAgICAgIGNoYW5uZWxJZDogZGF0YS52b2ljZT8uY2hhbm5lbF9pZCxcclxuICAgICAgc2VsZk11dGU6IGRhdGEudm9pY2U/LnNlbGZfbXV0ZSA/PyBmYWxzZSxcclxuICAgICAgc2VsZkRlYWY6IGRhdGEudm9pY2U/LnNlbGZfZGVhZiA/PyBmYWxzZVxyXG4gICAgfTtcclxuICAgIFxyXG4gICAgLy8gQ2hlY2sgaWYgdXNlciBpcyBndWlsZCBvd25lclxyXG4gICAgY29uc3QgaXNPd25lciA9IGd1aWxkLm93bmVySWQgPT09IHRoaXMudXNlci5pZDtcclxuICAgIFxyXG4gICAgLy8gUGFyc2UgcGVybWlzc2lvbnMgZnJvbSBpbnRlcmFjdGlvbiBkYXRhXHJcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gbmV3IFBlcm1pc3Npb25zKGRhdGEucGVybWlzc2lvbnMgfHwgJzAnLCBpc093bmVyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgbWVtYmVyJ3MgSURcclxuICAgKi9cclxuICBnZXQgaWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnVzZXIuaWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIGRpc3BsYXkgbmFtZSAobmlja25hbWUgb3IgdXNlcm5hbWUpXHJcbiAgICovXHJcbiAgZ2V0IGRpc3BsYXlOYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5uaWNrbmFtZSB8fCB0aGlzLnVzZXIuZGlzcGxheU5hbWUgfHwgdGhpcy51c2VyLnVzZXJuYW1lO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSBqb2luIGRhdGVcclxuICAgKi9cclxuICBnZXQgam9pbmVkQXQoKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5qb2luZWRUaW1lc3RhbXApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgbWVtYmVyIGlzIGluIGEgdm9pY2UgY2hhbm5lbFxyXG4gICAqL1xyXG4gIGdldCBpblZvaWNlQ2hhbm5lbCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMudm9pY2UuY2hhbm5lbElkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSBtZW1iZXIncyBhdmF0YXIgVVJMXHJcbiAgICovXHJcbiAgYXZhdGFyVVJMKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuYXZhdGFyIHx8IG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIGRpc3BsYXkgYXZhdGFyIFVSTCAobWVtYmVyIGF2YXRhciBvciB1c2VyIGF2YXRhcilcclxuICAgKi9cclxuICBkaXNwbGF5QXZhdGFyVVJMKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5hdmF0YXIgfHwgdGhpcy51c2VyLmRpc3BsYXlBdmF0YXJVUkwoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnQgdG8gc3RyaW5nIChtZW50aW9uIGZvcm1hdClcclxuICAgKi9cclxuICB0b1N0cmluZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGA8QCR7dGhpcy5pZH0+YDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBtZW1iZXIgZGF0YVxyXG4gICAqL1xyXG4gIF9wYXRjaChkYXRhOiBQYXJ0aWFsPEFQSUd1aWxkTWVtYmVyPik6IHZvaWQge1xyXG4gICAgaWYgKGRhdGEubmljayAhPT0gdW5kZWZpbmVkKSB0aGlzLm5pY2tuYW1lID0gZGF0YS5uaWNrO1xyXG4gICAgaWYgKGRhdGEuYXZhdGFyICE9PSB1bmRlZmluZWQpIHRoaXMuYXZhdGFyID0gZGF0YS5hdmF0YXI7XHJcbiAgICBpZiAoZGF0YS5yb2xlcyAhPT0gdW5kZWZpbmVkKSB0aGlzLnJvbGVzID0gZGF0YS5yb2xlcztcclxuICAgIGlmIChkYXRhLnZvaWNlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy52b2ljZSA9IHtcclxuICAgICAgICBjaGFubmVsSWQ6IGRhdGEudm9pY2UuY2hhbm5lbF9pZCxcclxuICAgICAgICBzZWxmTXV0ZTogZGF0YS52b2ljZS5zZWxmX211dGUgPz8gZmFsc2UsXHJcbiAgICAgICAgc2VsZkRlYWY6IGRhdGEudm9pY2Uuc2VsZl9kZWFmID8/IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|