@discordeno/bot 22.0.1-next.2a7cd9b → 22.0.1-next.322331e
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/desiredProperties.d.ts +40 -16
- package/dist/desiredProperties.d.ts.map +1 -1
- package/dist/desiredProperties.js +1 -1
- package/dist/transformers/toggles/guild.d.ts +3 -3
- package/dist/transformers/toggles/guild.d.ts.map +1 -1
- package/dist/transformers/toggles/guild.js +3 -3
- package/dist/transformers/toggles/member.d.ts +2 -2
- package/dist/transformers/toggles/member.d.ts.map +1 -1
- package/dist/transformers/toggles/member.js +2 -2
- package/dist/transformers/types.d.ts +5 -5
- package/dist/transformers/types.js +1 -1
- package/package.json +6 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GuildFeatures } from '@discordeno/types';
|
|
2
2
|
import { ToggleBitfieldBigint } from './ToggleBitfield.js';
|
|
3
|
-
const
|
|
3
|
+
/** @private This is subject to breaking changes without notices */ export const guildFeatureNames = [
|
|
4
4
|
'animatedBanner',
|
|
5
5
|
'animatedIcon',
|
|
6
6
|
'applicationCommandPermissionsV2',
|
|
@@ -123,7 +123,7 @@ export class GuildToggles extends ToggleBitfieldBigint {
|
|
|
123
123
|
get features() {
|
|
124
124
|
const features = [];
|
|
125
125
|
for (const key of Object.keys(GuildToggle)){
|
|
126
|
-
if (!
|
|
126
|
+
if (!guildFeatureNames.includes(key)) continue;
|
|
127
127
|
if (!super.contains(GuildToggle[key])) continue;
|
|
128
128
|
features.push(key);
|
|
129
129
|
}
|
|
@@ -253,4 +253,4 @@ export class GuildToggles extends ToggleBitfieldBigint {
|
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
255
|
|
|
256
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9ndWlsZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERpc2NvcmRHdWlsZCwgR3VpbGRGZWF0dXJlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGRCaWdpbnQgfSBmcm9tICcuL1RvZ2dsZUJpdGZpZWxkLmpzJ1xuXG5jb25zdCBmZWF0dXJlTmFtZXMgPSBbXG4gICdhbmltYXRlZEJhbm5lcicsXG4gICdhbmltYXRlZEljb24nLFxuICAnYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMicsXG4gICdhdXRvTW9kZXJhdGlvbicsXG4gICdiYW5uZXInLFxuICAnY29tbXVuaXR5JyxcbiAgJ2NyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsJyxcbiAgJ2NyZWF0b3JTdG9yZVBhZ2UnLFxuICAnZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcicsXG4gICdkaXNjb3ZlcmFibGUnLFxuICAnZmVhdHVyYWJsZScsXG4gICdpbnZpdGVzRGlzYWJsZWQnLFxuICAnaW52aXRlU3BsYXNoJyxcbiAgJ21lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkJyxcbiAgJ21vcmVTb3VuZGJvYXJkJyxcbiAgJ21vcmVTdGlja2VycycsXG4gICduZXdzJyxcbiAgJ3BhcnRuZXJlZCcsXG4gICdwcmV2aWV3RW5hYmxlZCcsXG4gICdyYWlkQWxlcnRzRGlzYWJsZWQnLFxuICAncm9sZUljb25zJyxcbiAgJ3JvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UnLFxuICAncm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkJyxcbiAgJ3RpY2tldGVkRXZlbnRzRW5hYmxlZCcsXG4gICd2YW5pdHlVcmwnLFxuICAndmVyaWZpZWQnLFxuICAndmlwUmVnaW9ucycsXG4gICd3ZWxjb21lU2NyZWVuRW5hYmxlZCcsXG4gICdndWVzdHNFbmFibGVkJyxcbiAgJ2d1aWxkVGFncycsXG4gICdlbmhhbmNlZFJvbGVDb2xvcnMnLFxuXSBhcyBjb25zdFxuXG5leHBvcnQgY29uc3QgR3VpbGRUb2dnbGUgPSB7XG4gIC8qKiBXaGV0aGVyIHRoZSBib3QgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBvd25lcjogMW4gPDwgMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBzZXJ2ZXIgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgd2lkZ2V0RW5hYmxlZDogMW4gPDwgMW4sXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgY29uc2lkZXJlZCBhIGxhcmdlIGd1aWxkICovXG4gIGxhcmdlOiAxbiA8PCAybixcbiAgLyoqIFdoZXRoZXIgdGhpcyBndWlsZCBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYW4gb3V0YWdlICovXG4gIHVuYXZhaWxhYmxlOiAxbiA8PCAzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyB0aGUgYm9vc3QgcHJvZ3Jlc3MgYmFyIGVuYWJsZWQgKi9cbiAgcHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZDogMW4gPDwgNG4sXG5cbiAgLy8gR1VJTEQgRkVBVFVSRVMgQVJFIEJFTE9XIFRISVNcblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYW4gYW5pbWF0ZWQgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGFuaW1hdGVkQmFubmVyOiAxbiA8PCAxMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBhbmltYXRlZCBndWlsZCBpY29uICovXG4gIGFuaW1hdGVkSWNvbjogMW4gPDwgMTZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgdXNpbmcgdGhlIG9sZCBwZXJtaXNzaW9ucyBjb25maWd1cmF0aW9uIGJlaGF2aW9yICovXG4gIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjI6IDFuIDw8IDE0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBzZXQgdXAgYXV0byBtb2RlcmF0aW9uIHJ1bGVzICovXG4gIGF1dG9Nb2RlcmF0aW9uOiAxbiA8PCAyOG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIGd1aWxkIGJhbm5lciBpbWFnZSAqL1xuICBiYW5uZXI6IDFuIDw8IDE3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGNhbiBlbmFibGUgd2VsY29tZSBzY3JlZW4sIE1lbWJlcnNoaXAgU2NyZWVuaW5nLCBzdGFnZSBjaGFubmVscyBhbmQgZGlzY292ZXJ5LCBhbmQgcmVjZWl2ZXMgY29tbXVuaXR5IHVwZGF0ZXMgKi9cbiAgY29tbXVuaXR5OiAxbiA8PCAxMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBtb25ldGl6YXRpb24uICovXG4gIGNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsOiAxbiA8PCAzMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgcm9sZSBzdWJzY3JpcHRpb24gcHJvbW8gcGFnZS4gKi9cbiAgY3JlYXRvclN0b3JlUGFnZTogMW4gPDwgMzJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGJlZW4gc2V0IGFzIGEgc3VwcG9ydCBzZXJ2ZXIgb24gdGhlIEFwcCBEaXJlY3RvcnkgKi9cbiAgZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcjogMW4gPDwgMzBuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBiZSBkaXNjb3ZlcmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZGlzY292ZXJhYmxlOiAxbiA8PCAxM24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIGJlIGZlYXR1cmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZmVhdHVyYWJsZTogMW4gPDwgMTVuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHBhdXNlZCBpbnZpdGVzLCBwcmV2ZW50aW5nIG5ldyB1c2VycyBmcm9tIGpvaW5pbmcgKi9cbiAgaW52aXRlc0Rpc2FibGVkOiAxbiA8PCAyOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBpbnZpdGUgc3BsYXNoIGJhY2tncm91bmQgKi9cbiAgaW52aXRlU3BsYXNoOiAxbiA8PCA1bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIFtNZW1iZXJzaGlwIFNjcmVlbmluZ10oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI21lbWJlcnNoaXAtc2NyZWVuaW5nLW9iamVjdCkgKi9cbiAgbWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQ6IDFuIDw8IDE5bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBtb3JlIHNvdW5kYm9hcmQgc291bmQgc2xvdCAqL1xuICBtb3JlU291bmRib2FyZDogMW4gPDwgMjRuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGluY3JlYXNlZCBjdXN0b20gc3RpY2tlciBzbG90cyAqL1xuICBtb3JlU3RpY2tlcnM6IDFuIDw8IDIzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gY3JlYXRlIG5ld3MgY2hhbm5lbHMgKi9cbiAgbmV3czogMW4gPDwgMTJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgcGFydG5lcmVkICovXG4gIHBhcnRuZXJlZDogMW4gPDwgOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBjYW4gYmUgcHJldmlld2VkIGJlZm9yZSBqb2luaW5nIHZpYSBNZW1iZXJzaGlwIFNjcmVlbmluZyBvciB0aGUgZGlyZWN0b3J5ICovXG4gIHByZXZpZXdFbmFibGVkOiAxbiA8PCAyMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZGlzYWJsZWQgYWxlcnRzIGZvciBqb2luIHJhaWRzIGluIHRoZSBjb25maWd1cmVkIHNhZmV0eSBhbGVydHMgY2hhbm5lbCAqL1xuICByYWlkQWxlcnRzRGlzYWJsZWQ6IDFuIDw8IDIybixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IHJvbGUgaWNvbnMgKi9cbiAgcm9sZUljb25zOiAxbiA8PCAyN24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcm9sZSBzdWJzY3JpcHRpb25zIHRoYXQgY2FuIGJlIHB1cmNoYXNlZC4gKi9cbiAgcm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZTogMW4gPDwgMzNuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgcm9sZSBzdWJzY3JpcHRpb25zLiAqL1xuICByb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQ6IDFuIDw8IDM0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBjcmVhdGVkIHNvdW5kYm9hcmQgc291bmRzLiAqL1xuICBzb3VuZGJvYXJkOiAxbiA8PCAyNW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aWNrZXRlZCBldmVudHMgKi9cbiAgdGlja2V0ZWRFdmVudHNFbmFibGVkOiAxbiA8PCAyMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIHZhbml0eSBVUkwgKi9cbiAgdmFuaXR5VXJsOiAxbiA8PCA3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHZlcmlmaWVkICovXG4gIHZlcmlmaWVkOiAxbiA8PCA4bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IDM4NCBrYnBzIGJpdHJhdGUgaW4gdm9pY2UgKHByZXZpb3VzbHkgVklQIHZvaWNlIHNlcnZlcnMpICovXG4gIHZpcFJlZ2lvbnM6IDFuIDw8IDZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIHdlbGNvbWVTY3JlZW5FbmFibGVkOiAxbiA8PCAxOG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIGd1ZXN0IGludml0ZXMgKi9cbiAgZ3Vlc3RzRW5hYmxlZDogMW4gPDwgMjZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgZ3VpbGQgdGFncyAqL1xuICBndWlsZFRhZ3M6IDFuIDw8IDM2bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IGdyYWRpZW50IGNvbG9ycyB0byByb2xlcyAqL1xuICBlbmhhbmNlZFJvbGVDb2xvcnM6IDFuIDw8IDM1bixcbn1cblxuZXhwb3J0IGNsYXNzIEd1aWxkVG9nZ2xlcyBleHRlbmRzIFRvZ2dsZUJpdGZpZWxkQmlnaW50IHtcbiAgY29uc3RydWN0b3IoZ3VpbGRPclRvZ2dsZXNCaWdpbnQ6IERpc2NvcmRHdWlsZCB8IGJpZ2ludCkge1xuICAgIHN1cGVyKClcblxuICAgIGlmICh0eXBlb2YgZ3VpbGRPclRvZ2dsZXNCaWdpbnQgPT09ICdiaWdpbnQnKSB0aGlzLmJpdGZpZWxkID0gZ3VpbGRPclRvZ2dsZXNCaWdpbnRcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IGd1aWxkID0gZ3VpbGRPclRvZ2dsZXNCaWdpbnRcbiAgICAgIC8vIENhdXNlIGRpc2NvcmQgYmUgc21hcnQgbGlrZSB0aGF0XG4gICAgICBpZiAoIWd1aWxkLmZlYXR1cmVzKSBndWlsZC5mZWF0dXJlcyA9IFtdXG5cbiAgICAgIGlmIChndWlsZC5vd25lcikgdGhpcy5hZGQoR3VpbGRUb2dnbGUub3duZXIpXG4gICAgICBpZiAoZ3VpbGQud2lkZ2V0X2VuYWJsZWQpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLndpZGdldEVuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQubGFyZ2UpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmxhcmdlKVxuICAgICAgaWYgKGd1aWxkLnVuYXZhaWxhYmxlKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS51bmF2YWlsYWJsZSlcbiAgICAgIGlmIChndWlsZC5wcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkKVxuXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5BbmltYXRlZEJhbm5lcikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmFuaW1hdGVkQmFubmVyKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQW5pbWF0ZWRJY29uKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuYW5pbWF0ZWRJY29uKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjIpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5BdXRvTW9kZXJhdGlvbikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmF1dG9Nb2RlcmF0aW9uKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQmFubmVyKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuYmFubmVyKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ29tbXVuaXR5KSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuY29tbXVuaXR5KVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5jcmVhdG9yTW9uZXRpemFibGVQcm92aXNpb25hbClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkNyZWF0b3JTdG9yZVBhZ2UpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5jcmVhdG9yU3RvcmVQYWdlKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRGV2ZWxvcGVyU3VwcG9ydFNlcnZlcikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmRldmVsb3BlclN1cHBvcnRTZXJ2ZXIpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5EaXNjb3ZlcmFibGUpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5kaXNjb3ZlcmFibGUpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5GZWF0dXJhYmxlKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZmVhdHVyYWJsZSlcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkludml0ZXNEaXNhYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmludml0ZXNEaXNhYmxlZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkludml0ZVNwbGFzaCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmludml0ZVNwbGFzaClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLk1lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUubWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Nb3JlU291bmRib2FyZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm1vcmVTb3VuZGJvYXJkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuTW9yZVN0aWNrZXJzKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUubW9yZVN0aWNrZXJzKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuTmV3cykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm5ld3MpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5QYXJ0bmVyZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wYXJ0bmVyZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5QcmV2aWV3RW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnByZXZpZXdFbmFibGVkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUmFpZEFsZXJ0c0Rpc2FibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUucmFpZEFsZXJ0c0Rpc2FibGVkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUm9sZUljb25zKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUucm9sZUljb25zKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnJvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Sb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5yb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Tb3VuZGJvYXJkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuc291bmRib2FyZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlRpY2tldGVkRXZlbnRzRW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnRpY2tldGVkRXZlbnRzRW5hYmxlZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlZhbml0eVVybCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnZhbml0eVVybClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlZlcmlmaWVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmVyaWZpZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5WaXBSZWdpb25zKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmlwUmVnaW9ucylcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLldlbGNvbWVTY3JlZW5FbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUud2VsY29tZVNjcmVlbkVuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5HdWVzdHNFbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZ3Vlc3RzRW5hYmxlZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkd1aWxkVGFncykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmd1aWxkVGFncylcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkVuaGFuY2VkUm9sZUNvbG9ycykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmVuaGFuY2VkUm9sZUNvbG9ycylcbiAgICB9XG4gIH1cblxuICBnZXQgZmVhdHVyZXMoKTogR3VpbGRGZWF0dXJlS2V5c1tdIHtcbiAgICBjb25zdCBmZWF0dXJlczogR3VpbGRGZWF0dXJlS2V5c1tdID0gW11cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhHdWlsZFRvZ2dsZSkpIHtcbiAgICAgIGlmICghZmVhdHVyZU5hbWVzLmluY2x1ZGVzKGtleSBhcyBHdWlsZEZlYXR1cmVLZXlzKSkgY29udGludWVcbiAgICAgIGlmICghc3VwZXIuY29udGFpbnMoR3VpbGRUb2dnbGVba2V5IGFzIEd1aWxkVG9nZ2xlS2V5c10pKSBjb250aW51ZVxuXG4gICAgICBmZWF0dXJlcy5wdXNoKGtleSBhcyBHdWlsZEZlYXR1cmVLZXlzKVxuICAgIH1cblxuICAgIHJldHVybiBmZWF0dXJlc1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGJvdCBpcyB0aGUgb3duZXIgb2YgdGhlIGd1aWxkICovXG4gIGdldCBvd25lcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ293bmVyJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBzZXJ2ZXIgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgZ2V0IHdpZGdldEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd3aWRnZXRFbmFibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgY29uc2lkZXJlZCBhIGxhcmdlIGd1aWxkICovXG4gIGdldCBsYXJnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2xhcmdlJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoaXMgZ3VpbGQgaXMgdW5hdmFpbGFibGUgZHVlIHRvIGFuIG91dGFnZSAqL1xuICBnZXQgdW5hdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd1bmF2YWlsYWJsZScpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHRoZSBib29zdCBwcm9ncmVzcyBiYXIgZW5hYmxlZCAqL1xuICBnZXQgcHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3ByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGludml0ZSBzcGxhc2ggYmFja2dyb3VuZCAqL1xuICBnZXQgaW52aXRlU3BsYXNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnaW52aXRlU3BsYXNoJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCAzODQga2JwcyBiaXRyYXRlIGluIHZvaWNlIChwcmV2aW91c2x5IFZJUCB2b2ljZSBzZXJ2ZXJzKSAqL1xuICBnZXQgdmlwUmVnaW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3ZpcFJlZ2lvbnMnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGEgdmFuaXR5IFVSTCAqL1xuICBnZXQgdmFuaXR5VXJsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndmFuaXR5VXJsJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyB2ZXJpZmllZCAqL1xuICBnZXQgdmVyaWZpZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd2ZXJpZmllZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgcGFydG5lcmVkICovXG4gIGdldCBwYXJ0bmVyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdwYXJ0bmVyZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGNhbiBlbmFibGUgd2VsY29tZSBzY3JlZW4sIE1lbWJlcnNoaXAgU2NyZWVuaW5nLCBzdGFnZSBjaGFubmVscyBhbmQgZGlzY292ZXJ5LCBhbmQgcmVjZWl2ZXMgY29tbXVuaXR5IHVwZGF0ZXMgKi9cbiAgZ2V0IGNvbW11bml0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2NvbW11bml0eScpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgR3VpbGQgaGFzIGJlZW4gc2V0IGFzIGEgc3VwcG9ydCBzZXJ2ZXIgb24gdGhlIEFwcCBEaXJlY3RvcnkgKi9cbiAgZ2V0IGRldmVsb3BlclN1cHBvcnRTZXJ2ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdkZXZlbG9wZXJTdXBwb3J0U2VydmVyJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBhbmltYXRlZCBndWlsZCBiYW5uZXIgaW1hZ2UgKi9cbiAgZ2V0IGFuaW1hdGVkQmFubmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYW5pbWF0ZWRCYW5uZXInKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gY3JlYXRlIG5ld3MgY2hhbm5lbHMgKi9cbiAgZ2V0IG5ld3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCduZXdzJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIGJlIGRpc2NvdmVyZWQgaW4gdGhlIGRpcmVjdG9yeSAqL1xuICBnZXQgZGlzY292ZXJhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZGlzY292ZXJhYmxlJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIGJlIGZlYXR1cmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZ2V0IGZlYXR1cmFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdmZWF0dXJhYmxlJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBhbmltYXRlZCBndWlsZCBpY29uICovXG4gIGdldCBhbmltYXRlZEljb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdhbmltYXRlZEljb24nKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGEgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGdldCBiYW5uZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdiYW5uZXInKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIHRoZSB3ZWxjb21lIHNjcmVlbiAqL1xuICBnZXQgd2VsY29tZVNjcmVlbkVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd3ZWxjb21lU2NyZWVuRW5hYmxlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgW01lbWJlcnNoaXAgU2NyZWVuaW5nXShodHRwczovL2Rpc2NvcmQuY29tL2RldmVsb3BlcnMvZG9jcy9yZXNvdXJjZXMvZ3VpbGQjbWVtYmVyc2hpcC1zY3JlZW5pbmctb2JqZWN0KSAqL1xuICBnZXQgbWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdtZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIG1vcmUgc291bmRib2FyZCBzb3VuZCBzbG90ICovXG4gIGdldCBtb3JlU291bmRib2FyZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ21vcmVTb3VuZGJvYXJkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBjYW4gYmUgcHJldmlld2VkIGJlZm9yZSBqb2luaW5nIHZpYSBNZW1iZXJzaGlwIFNjcmVlbmluZyBvciB0aGUgZGlyZWN0b3J5ICovXG4gIGdldCBwcmV2aWV3RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3ByZXZpZXdFbmFibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aWNrZXRlZCBldmVudHMgKi9cbiAgZ2V0IHRpY2tldGVkRXZlbnRzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3RpY2tldGVkRXZlbnRzRW5hYmxlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGluY3JlYXNlZCBjdXN0b20gc3RpY2tlciBzbG90cyAqL1xuICBnZXQgbW9yZVN0aWNrZXJzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnbW9yZVN0aWNrZXJzJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIHNldCByb2xlIGljb25zICovXG4gIGdldCByb2xlSWNvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdyb2xlSWNvbnMnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBzZXQgdXAgYXV0byBtb2RlcmF0aW9uIHJ1bGVzICovXG4gIGdldCBhdXRvTW9kZXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2F1dG9Nb2RlcmF0aW9uJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcGF1c2VkIGludml0ZXMsIHByZXZlbnRpbmcgbmV3IHVzZXJzIGZyb20gam9pbmluZyAqL1xuICBnZXQgaW52aXRlc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnaW52aXRlc0Rpc2FibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyB1c2luZyB0aGUgb2xkIHBlcm1pc3Npb25zIGNvbmZpZ3VyYXRpb24gYmVoYXZpb3IgKi9cbiAgZ2V0IGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBtb25ldGl6YXRpb24uICovXG4gIGdldCBjcmVhdG9yTW9uZXRpemFibGVQcm92aXNpb25hbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2NyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgcm9sZSBzdWJzY3JpcHRpb24gcHJvbW8gcGFnZS4gKi9cbiAgZ2V0IGNyZWF0b3JTdG9yZVBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdjcmVhdG9yU3RvcmVQYWdlJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZGlzYWJsZWQgYWxlcnRzIGZvciBqb2luIHJhaWRzIGluIHRoZSBjb25maWd1cmVkIHNhZmV0eSBhbGVydHMgY2hhbm5lbCAqL1xuICBnZXQgcmFpZEFsZXJ0c0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncmFpZEFsZXJ0c0Rpc2FibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcm9sZSBzdWJzY3JpcHRpb25zIHRoYXQgY2FuIGJlIHB1cmNoYXNlZC4gKi9cbiAgZ2V0IHJvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdyb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCByb2xlIHN1YnNjcmlwdGlvbnMuICovXG4gIGdldCByb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdyb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBjcmVhdGVkIHNvdW5kYm9hcmQgc291bmRzLiAqL1xuICBnZXQgc291bmRib2FyZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3NvdW5kYm9hcmQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gZ3Vlc3QgaW52aXRlcyAqL1xuICBnZXQgZ3Vlc3RzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2d1ZXN0c0VuYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGd1aWxkIHRhZ3MgKi9cbiAgZ2V0IGd1aWxkVGFncygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2d1aWxkVGFncycpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBzZXQgZ3JhZGllbnQgY29sb3JzIHRvIHJvbGVzICovXG4gIGdldCBlbmhhbmNlZFJvbGVDb2xvcnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdlbmhhbmNlZFJvbGVDb2xvcnMnKVxuICB9XG5cbiAgLyoqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGUgcGVybWlzc2lvbnMgZXhpc3QgaW4gdGhpcyAqL1xuICBoYXMocGVybWlzc2lvbnM6IEd1aWxkVG9nZ2xlS2V5cyB8IEd1aWxkVG9nZ2xlS2V5c1tdKTogYm9vbGVhbiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBlcm1pc3Npb25zKSkgcmV0dXJuIHN1cGVyLmNvbnRhaW5zKEd1aWxkVG9nZ2xlW3Blcm1pc3Npb25zXSlcblxuICAgIHJldHVybiBzdXBlci5jb250YWlucyhwZXJtaXNzaW9ucy5yZWR1Y2UoKGEsIGIpID0+IChhIHw9IEd1aWxkVG9nZ2xlW2JdKSwgMG4pKVxuICB9XG5cbiAgLyoqIExpc3RzIGFsbCB0aGUgdG9nZ2xlcyBmb3IgdGhlIHJvbGUgYW5kIHdoZXRoZXIgb3Igbm90IGVhY2ggaXMgdHJ1ZSBvciBmYWxzZS4gKi9cbiAgbGlzdCgpOiBSZWNvcmQ8R3VpbGRUb2dnbGVLZXlzLCBib29sZWFuPiB7XG4gICAgY29uc3QganNvbjogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fVxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKEd1aWxkVG9nZ2xlKSkge1xuICAgICAganNvbltrZXldID0gc3VwZXIuY29udGFpbnModmFsdWUpXG4gICAgfVxuXG4gICAgcmV0dXJuIGpzb24gYXMgUmVjb3JkPEd1aWxkVG9nZ2xlS2V5cywgYm9vbGVhbj5cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBHdWlsZFRvZ2dsZUtleXMgPSBrZXlvZiB0eXBlb2YgR3VpbGRUb2dnbGVcblxuZXhwb3J0IHR5cGUgR3VpbGRGZWF0dXJlS2V5cyA9ICh0eXBlb2YgZmVhdHVyZU5hbWVzKVtudW1iZXJdXG4iXSwibmFtZXMiOlsiR3VpbGRGZWF0dXJlcyIsIlRvZ2dsZUJpdGZpZWxkQmlnaW50IiwiZmVhdHVyZU5hbWVzIiwiR3VpbGRUb2dnbGUiLCJvd25lciIsIndpZGdldEVuYWJsZWQiLCJsYXJnZSIsInVuYXZhaWxhYmxlIiwicHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCIsImFuaW1hdGVkQmFubmVyIiwiYW5pbWF0ZWRJY29uIiwiYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMiIsImF1dG9Nb2RlcmF0aW9uIiwiYmFubmVyIiwiY29tbXVuaXR5IiwiY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwiLCJjcmVhdG9yU3RvcmVQYWdlIiwiZGV2ZWxvcGVyU3VwcG9ydFNlcnZlciIsImRpc2NvdmVyYWJsZSIsImZlYXR1cmFibGUiLCJpbnZpdGVzRGlzYWJsZWQiLCJpbnZpdGVTcGxhc2giLCJtZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCIsIm1vcmVTb3VuZGJvYXJkIiwibW9yZVN0aWNrZXJzIiwibmV3cyIsInBhcnRuZXJlZCIsInByZXZpZXdFbmFibGVkIiwicmFpZEFsZXJ0c0Rpc2FibGVkIiwicm9sZUljb25zIiwicm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSIsInJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCIsInNvdW5kYm9hcmQiLCJ0aWNrZXRlZEV2ZW50c0VuYWJsZWQiLCJ2YW5pdHlVcmwiLCJ2ZXJpZmllZCIsInZpcFJlZ2lvbnMiLCJ3ZWxjb21lU2NyZWVuRW5hYmxlZCIsImd1ZXN0c0VuYWJsZWQiLCJndWlsZFRhZ3MiLCJlbmhhbmNlZFJvbGVDb2xvcnMiLCJHdWlsZFRvZ2dsZXMiLCJndWlsZE9yVG9nZ2xlc0JpZ2ludCIsImJpdGZpZWxkIiwiZ3VpbGQiLCJmZWF0dXJlcyIsImFkZCIsIndpZGdldF9lbmFibGVkIiwicHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZCIsImluY2x1ZGVzIiwiQW5pbWF0ZWRCYW5uZXIiLCJBbmltYXRlZEljb24iLCJBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyIiwiQXV0b01vZGVyYXRpb24iLCJCYW5uZXIiLCJDb21tdW5pdHkiLCJDcmVhdG9yTW9uZXRpemFibGVQcm92aXNpb25hbCIsIkNyZWF0b3JTdG9yZVBhZ2UiLCJEZXZlbG9wZXJTdXBwb3J0U2VydmVyIiwiRGlzY292ZXJhYmxlIiwiRmVhdHVyYWJsZSIsIkludml0ZXNEaXNhYmxlZCIsIkludml0ZVNwbGFzaCIsIk1lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkIiwiTW9yZVNvdW5kYm9hcmQiLCJNb3JlU3RpY2tlcnMiLCJOZXdzIiwiUGFydG5lcmVkIiwiUHJldmlld0VuYWJsZWQiLCJSYWlkQWxlcnRzRGlzYWJsZWQiLCJSb2xlSWNvbnMiLCJSb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlIiwiUm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkIiwiU291bmRib2FyZCIsIlRpY2tldGVkRXZlbnRzRW5hYmxlZCIsIlZhbml0eVVybCIsIlZlcmlmaWVkIiwiVmlwUmVnaW9ucyIsIldlbGNvbWVTY3JlZW5FbmFibGVkIiwiR3Vlc3RzRW5hYmxlZCIsIkd1aWxkVGFncyIsIkVuaGFuY2VkUm9sZUNvbG9ycyIsImtleSIsIk9iamVjdCIsImtleXMiLCJjb250YWlucyIsInB1c2giLCJoYXMiLCJwZXJtaXNzaW9ucyIsIkFycmF5IiwiaXNBcnJheSIsInJlZHVjZSIsImEiLCJiIiwibGlzdCIsImpzb24iLCJ2YWx1ZSIsImVudHJpZXMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQTRCQSxhQUFhLFFBQVEsb0JBQW1CO0FBQ3BFLFNBQVNDLG9CQUFvQixRQUFRLHNCQUFxQjtBQUUxRCxNQUFNQyxlQUFlO0lBQ25CO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFFRCxPQUFPLE1BQU1DLGNBQWM7SUFDekIsOENBQThDLEdBQzlDQyxPQUFPLEVBQUUsSUFBSSxFQUFFO0lBQ2YseUNBQXlDLEdBQ3pDQyxlQUFlLEVBQUUsSUFBSSxFQUFFO0lBQ3ZCLDZDQUE2QyxHQUM3Q0MsT0FBTyxFQUFFLElBQUksRUFBRTtJQUNmLHVEQUF1RCxHQUN2REMsYUFBYSxFQUFFLElBQUksRUFBRTtJQUNyQix5REFBeUQsR0FDekRDLDJCQUEyQixFQUFFLElBQUksRUFBRTtJQUVuQyxnQ0FBZ0M7SUFFaEMsdUVBQXVFLEdBQ3ZFQyxnQkFBZ0IsRUFBRSxJQUFJLEdBQUc7SUFDekIsK0RBQStELEdBQy9EQyxjQUFjLEVBQUUsSUFBSSxHQUFHO0lBQ3ZCLDBFQUEwRSxHQUMxRUMsaUNBQWlDLEVBQUUsSUFBSSxHQUFHO0lBQzFDLHVEQUF1RCxHQUN2REMsZ0JBQWdCLEVBQUUsSUFBSSxHQUFHO0lBQ3pCLDZEQUE2RCxHQUM3REMsUUFBUSxFQUFFLElBQUksR0FBRztJQUNqQixvSUFBb0ksR0FDcElDLFdBQVcsRUFBRSxJQUFJLEdBQUc7SUFDcEIsZ0RBQWdELEdBQ2hEQywrQkFBK0IsRUFBRSxJQUFJ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
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9ndWlsZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIERpc2NvcmRHdWlsZCwgR3VpbGRGZWF0dXJlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGRCaWdpbnQgfSBmcm9tICcuL1RvZ2dsZUJpdGZpZWxkLmpzJ1xuXG4vKiogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzICovXG5leHBvcnQgY29uc3QgZ3VpbGRGZWF0dXJlTmFtZXMgPSBbXG4gICdhbmltYXRlZEJhbm5lcicsXG4gICdhbmltYXRlZEljb24nLFxuICAnYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMicsXG4gICdhdXRvTW9kZXJhdGlvbicsXG4gICdiYW5uZXInLFxuICAnY29tbXVuaXR5JyxcbiAgJ2NyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsJyxcbiAgJ2NyZWF0b3JTdG9yZVBhZ2UnLFxuICAnZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcicsXG4gICdkaXNjb3ZlcmFibGUnLFxuICAnZmVhdHVyYWJsZScsXG4gICdpbnZpdGVzRGlzYWJsZWQnLFxuICAnaW52aXRlU3BsYXNoJyxcbiAgJ21lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkJyxcbiAgJ21vcmVTb3VuZGJvYXJkJyxcbiAgJ21vcmVTdGlja2VycycsXG4gICduZXdzJyxcbiAgJ3BhcnRuZXJlZCcsXG4gICdwcmV2aWV3RW5hYmxlZCcsXG4gICdyYWlkQWxlcnRzRGlzYWJsZWQnLFxuICAncm9sZUljb25zJyxcbiAgJ3JvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UnLFxuICAncm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkJyxcbiAgJ3RpY2tldGVkRXZlbnRzRW5hYmxlZCcsXG4gICd2YW5pdHlVcmwnLFxuICAndmVyaWZpZWQnLFxuICAndmlwUmVnaW9ucycsXG4gICd3ZWxjb21lU2NyZWVuRW5hYmxlZCcsXG4gICdndWVzdHNFbmFibGVkJyxcbiAgJ2d1aWxkVGFncycsXG4gICdlbmhhbmNlZFJvbGVDb2xvcnMnLFxuXSBhcyBjb25zdFxuXG5leHBvcnQgY29uc3QgR3VpbGRUb2dnbGUgPSB7XG4gIC8qKiBXaGV0aGVyIHRoZSBib3QgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBvd25lcjogMW4gPDwgMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBzZXJ2ZXIgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgd2lkZ2V0RW5hYmxlZDogMW4gPDwgMW4sXG4gIC8qKiBXaGV0aGVyIHRoaXMgaXMgY29uc2lkZXJlZCBhIGxhcmdlIGd1aWxkICovXG4gIGxhcmdlOiAxbiA8PCAybixcbiAgLyoqIFdoZXRoZXIgdGhpcyBndWlsZCBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYW4gb3V0YWdlICovXG4gIHVuYXZhaWxhYmxlOiAxbiA8PCAzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyB0aGUgYm9vc3QgcHJvZ3Jlc3MgYmFyIGVuYWJsZWQgKi9cbiAgcHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZDogMW4gPDwgNG4sXG5cbiAgLy8gR1VJTEQgRkVBVFVSRVMgQVJFIEJFTE9XIFRISVNcblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYW4gYW5pbWF0ZWQgZ3VpbGQgYmFubmVyIGltYWdlICovXG4gIGFuaW1hdGVkQmFubmVyOiAxbiA8PCAxMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBhbmltYXRlZCBndWlsZCBpY29uICovXG4gIGFuaW1hdGVkSWNvbjogMW4gPDwgMTZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgdXNpbmcgdGhlIG9sZCBwZXJtaXNzaW9ucyBjb25maWd1cmF0aW9uIGJlaGF2aW9yICovXG4gIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjI6IDFuIDw8IDE0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBzZXQgdXAgYXV0byBtb2RlcmF0aW9uIHJ1bGVzICovXG4gIGF1dG9Nb2RlcmF0aW9uOiAxbiA8PCAyOG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIGd1aWxkIGJhbm5lciBpbWFnZSAqL1xuICBiYW5uZXI6IDFuIDw8IDE3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGNhbiBlbmFibGUgd2VsY29tZSBzY3JlZW4sIE1lbWJlcnNoaXAgU2NyZWVuaW5nLCBzdGFnZSBjaGFubmVscyBhbmQgZGlzY292ZXJ5LCBhbmQgcmVjZWl2ZXMgY29tbXVuaXR5IHVwZGF0ZXMgKi9cbiAgY29tbXVuaXR5OiAxbiA8PCAxMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBtb25ldGl6YXRpb24uICovXG4gIGNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsOiAxbiA8PCAzMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aGUgcm9sZSBzdWJzY3JpcHRpb24gcHJvbW8gcGFnZS4gKi9cbiAgY3JlYXRvclN0b3JlUGFnZTogMW4gPDwgMzJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGJlZW4gc2V0IGFzIGEgc3VwcG9ydCBzZXJ2ZXIgb24gdGhlIEFwcCBEaXJlY3RvcnkgKi9cbiAgZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcjogMW4gPDwgMzBuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgYWJsZSB0byBiZSBkaXNjb3ZlcmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZGlzY292ZXJhYmxlOiAxbiA8PCAxM24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIGJlIGZlYXR1cmVkIGluIHRoZSBkaXJlY3RvcnkgKi9cbiAgZmVhdHVyYWJsZTogMW4gPDwgMTVuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHBhdXNlZCBpbnZpdGVzLCBwcmV2ZW50aW5nIG5ldyB1c2VycyBmcm9tIGpvaW5pbmcgKi9cbiAgaW52aXRlc0Rpc2FibGVkOiAxbiA8PCAyOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhbiBpbnZpdGUgc3BsYXNoIGJhY2tncm91bmQgKi9cbiAgaW52aXRlU3BsYXNoOiAxbiA8PCA1bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIFtNZW1iZXJzaGlwIFNjcmVlbmluZ10oaHR0cHM6Ly9kaXNjb3JkLmNvbS9kZXZlbG9wZXJzL2RvY3MvcmVzb3VyY2VzL2d1aWxkI21lbWJlcnNoaXAtc2NyZWVuaW5nLW9iamVjdCkgKi9cbiAgbWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQ6IDFuIDw8IDE5bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBtb3JlIHNvdW5kYm9hcmQgc291bmQgc2xvdCAqL1xuICBtb3JlU291bmRib2FyZDogMW4gPDwgMjRuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGluY3JlYXNlZCBjdXN0b20gc3RpY2tlciBzbG90cyAqL1xuICBtb3JlU3RpY2tlcnM6IDFuIDw8IDIzbixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gY3JlYXRlIG5ld3MgY2hhbm5lbHMgKi9cbiAgbmV3czogMW4gPDwgMTJuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaXMgcGFydG5lcmVkICovXG4gIHBhcnRuZXJlZDogMW4gPDwgOW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBjYW4gYmUgcHJldmlld2VkIGJlZm9yZSBqb2luaW5nIHZpYSBNZW1iZXJzaGlwIFNjcmVlbmluZyBvciB0aGUgZGlyZWN0b3J5ICovXG4gIHByZXZpZXdFbmFibGVkOiAxbiA8PCAyMG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZGlzYWJsZWQgYWxlcnRzIGZvciBqb2luIHJhaWRzIGluIHRoZSBjb25maWd1cmVkIHNhZmV0eSBhbGVydHMgY2hhbm5lbCAqL1xuICByYWlkQWxlcnRzRGlzYWJsZWQ6IDFuIDw8IDIybixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IHJvbGUgaWNvbnMgKi9cbiAgcm9sZUljb25zOiAxbiA8PCAyN24sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgcm9sZSBzdWJzY3JpcHRpb25zIHRoYXQgY2FuIGJlIHB1cmNoYXNlZC4gKi9cbiAgcm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZTogMW4gPDwgMzNuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgcm9sZSBzdWJzY3JpcHRpb25zLiAqL1xuICByb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQ6IDFuIDw8IDM0bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBjcmVhdGVkIHNvdW5kYm9hcmQgc291bmRzLiAqL1xuICBzb3VuZGJvYXJkOiAxbiA8PCAyNW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCB0aWNrZXRlZCBldmVudHMgKi9cbiAgdGlja2V0ZWRFdmVudHNFbmFibGVkOiAxbiA8PCAyMW4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIHNldCBhIHZhbml0eSBVUkwgKi9cbiAgdmFuaXR5VXJsOiAxbiA8PCA3bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHZlcmlmaWVkICovXG4gIHZlcmlmaWVkOiAxbiA8PCA4bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IDM4NCBrYnBzIGJpdHJhdGUgaW4gdm9pY2UgKHByZXZpb3VzbHkgVklQIHZvaWNlIHNlcnZlcnMpICovXG4gIHZpcFJlZ2lvbnM6IDFuIDw8IDZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIHdlbGNvbWVTY3JlZW5FbmFibGVkOiAxbiA8PCAxOG4sXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgYWNjZXNzIHRvIGd1ZXN0IGludml0ZXMgKi9cbiAgZ3Vlc3RzRW5hYmxlZDogMW4gPDwgMjZuLFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgZ3VpbGQgdGFncyAqL1xuICBndWlsZFRhZ3M6IDFuIDw8IDM2bixcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IGdyYWRpZW50IGNvbG9ycyB0byByb2xlcyAqL1xuICBlbmhhbmNlZFJvbGVDb2xvcnM6IDFuIDw8IDM1bixcbn1cblxuZXhwb3J0IGNsYXNzIEd1aWxkVG9nZ2xlcyBleHRlbmRzIFRvZ2dsZUJpdGZpZWxkQmlnaW50IHtcbiAgY29uc3RydWN0b3IoZ3VpbGRPclRvZ2dsZXNCaWdpbnQ6IERpc2NvcmRHdWlsZCB8IGJpZ2ludCkge1xuICAgIHN1cGVyKClcblxuICAgIGlmICh0eXBlb2YgZ3VpbGRPclRvZ2dsZXNCaWdpbnQgPT09ICdiaWdpbnQnKSB0aGlzLmJpdGZpZWxkID0gZ3VpbGRPclRvZ2dsZXNCaWdpbnRcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IGd1aWxkID0gZ3VpbGRPclRvZ2dsZXNCaWdpbnRcbiAgICAgIC8vIENhdXNlIGRpc2NvcmQgYmUgc21hcnQgbGlrZSB0aGF0XG4gICAgICBpZiAoIWd1aWxkLmZlYXR1cmVzKSBndWlsZC5mZWF0dXJlcyA9IFtdXG5cbiAgICAgIGlmIChndWlsZC5vd25lcikgdGhpcy5hZGQoR3VpbGRUb2dnbGUub3duZXIpXG4gICAgICBpZiAoZ3VpbGQud2lkZ2V0X2VuYWJsZWQpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLndpZGdldEVuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQubGFyZ2UpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmxhcmdlKVxuICAgICAgaWYgKGd1aWxkLnVuYXZhaWxhYmxlKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS51bmF2YWlsYWJsZSlcbiAgICAgIGlmIChndWlsZC5wcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkKVxuXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5BbmltYXRlZEJhbm5lcikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmFuaW1hdGVkQmFubmVyKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQW5pbWF0ZWRJY29uKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuYW5pbWF0ZWRJY29uKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjIpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5BdXRvTW9kZXJhdGlvbikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmF1dG9Nb2RlcmF0aW9uKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQmFubmVyKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuYmFubmVyKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ29tbXVuaXR5KSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuY29tbXVuaXR5KVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuQ3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5jcmVhdG9yTW9uZXRpemFibGVQcm92aXNpb25hbClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkNyZWF0b3JTdG9yZVBhZ2UpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5jcmVhdG9yU3RvcmVQYWdlKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuRGV2ZWxvcGVyU3VwcG9ydFNlcnZlcikpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmRldmVsb3BlclN1cHBvcnRTZXJ2ZXIpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5EaXNjb3ZlcmFibGUpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5kaXNjb3ZlcmFibGUpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5GZWF0dXJhYmxlKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZmVhdHVyYWJsZSlcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkludml0ZXNEaXNhYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmludml0ZXNEaXNhYmxlZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkludml0ZVNwbGFzaCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmludml0ZVNwbGFzaClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLk1lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUubWVtYmVyVmVyaWZpY2F0aW9uR2F0ZUVuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Nb3JlU291bmRib2FyZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm1vcmVTb3VuZGJvYXJkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuTW9yZVN0aWNrZXJzKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUubW9yZVN0aWNrZXJzKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuTmV3cykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLm5ld3MpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5QYXJ0bmVyZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5wYXJ0bmVyZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5QcmV2aWV3RW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnByZXZpZXdFbmFibGVkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUmFpZEFsZXJ0c0Rpc2FibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUucmFpZEFsZXJ0c0Rpc2FibGVkKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUm9sZUljb25zKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUucm9sZUljb25zKVxuICAgICAgaWYgKGd1aWxkLmZlYXR1cmVzLmluY2x1ZGVzKEd1aWxkRmVhdHVyZXMuUm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnJvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Sb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQpKSB0aGlzLmFkZChHdWlsZFRvZ2dsZS5yb2xlU3Vic2NyaXB0aW9uc0VuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5Tb3VuZGJvYXJkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuc291bmRib2FyZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlRpY2tldGVkRXZlbnRzRW5hYmxlZCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnRpY2tldGVkRXZlbnRzRW5hYmxlZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlZhbml0eVVybCkpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLnZhbml0eVVybClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLlZlcmlmaWVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmVyaWZpZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5WaXBSZWdpb25zKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUudmlwUmVnaW9ucylcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLldlbGNvbWVTY3JlZW5FbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUud2VsY29tZVNjcmVlbkVuYWJsZWQpXG4gICAgICBpZiAoZ3VpbGQuZmVhdHVyZXMuaW5jbHVkZXMoR3VpbGRGZWF0dXJlcy5HdWVzdHNFbmFibGVkKSkgdGhpcy5hZGQoR3VpbGRUb2dnbGUuZ3Vlc3RzRW5hYmxlZClcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkd1aWxkVGFncykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmd1aWxkVGFncylcbiAgICAgIGlmIChndWlsZC5mZWF0dXJlcy5pbmNsdWRlcyhHdWlsZEZlYXR1cmVzLkVuaGFuY2VkUm9sZUNvbG9ycykpIHRoaXMuYWRkKEd1aWxkVG9nZ2xlLmVuaGFuY2VkUm9sZUNvbG9ycylcbiAgICB9XG4gIH1cblxuICBnZXQgZmVhdHVyZXMoKTogR3VpbGRGZWF0dXJlS2V5c1tdIHtcbiAgICBjb25zdCBmZWF0dXJlczogR3VpbGRGZWF0dXJlS2V5c1tdID0gW11cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhHdWlsZFRvZ2dsZSkpIHtcbiAgICAgIGlmICghZ3VpbGRGZWF0dXJlTmFtZXMuaW5jbHVkZXMoa2V5IGFzIEd1aWxkRmVhdHVyZUtleXMpKSBjb250aW51ZVxuICAgICAgaWYgKCFzdXBlci5jb250YWlucyhHdWlsZFRvZ2dsZVtrZXkgYXMgR3VpbGRUb2dnbGVLZXlzXSkpIGNvbnRpbnVlXG5cbiAgICAgIGZlYXR1cmVzLnB1c2goa2V5IGFzIEd1aWxkRmVhdHVyZUtleXMpXG4gICAgfVxuXG4gICAgcmV0dXJuIGZlYXR1cmVzXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgYm90IGlzIHRoZSBvd25lciBvZiB0aGUgZ3VpbGQgKi9cbiAgZ2V0IG93bmVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnb3duZXInKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHNlcnZlciB3aWRnZXQgaXMgZW5hYmxlZCAqL1xuICBnZXQgd2lkZ2V0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3dpZGdldEVuYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyBjb25zaWRlcmVkIGEgbGFyZ2UgZ3VpbGQgKi9cbiAgZ2V0IGxhcmdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnbGFyZ2UnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhpcyBndWlsZCBpcyB1bmF2YWlsYWJsZSBkdWUgdG8gYW4gb3V0YWdlICovXG4gIGdldCB1bmF2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3VuYXZhaWxhYmxlJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgdGhlIGJvb3N0IHByb2dyZXNzIGJhciBlbmFibGVkICovXG4gIGdldCBwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYW4gaW52aXRlIHNwbGFzaCBiYWNrZ3JvdW5kICovXG4gIGdldCBpbnZpdGVTcGxhc2goKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdpbnZpdGVTcGxhc2gnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IDM4NCBrYnBzIGJpdHJhdGUgaW4gdm9pY2UgKHByZXZpb3VzbHkgVklQIHZvaWNlIHNlcnZlcnMpICovXG4gIGdldCB2aXBSZWdpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndmlwUmVnaW9ucycpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYSB2YW5pdHkgVVJMICovXG4gIGdldCB2YW5pdHlVcmwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCd2YW5pdHlVcmwnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHZlcmlmaWVkICovXG4gIGdldCB2ZXJpZmllZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3ZlcmlmaWVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBwYXJ0bmVyZWQgKi9cbiAgZ2V0IHBhcnRuZXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3BhcnRuZXJlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgY2FuIGVuYWJsZSB3ZWxjb21lIHNjcmVlbiwgTWVtYmVyc2hpcCBTY3JlZW5pbmcsIHN0YWdlIGNoYW5uZWxzIGFuZCBkaXNjb3ZlcnksIGFuZCByZWNlaXZlcyBjb21tdW5pdHkgdXBkYXRlcyAqL1xuICBnZXQgY29tbXVuaXR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnY29tbXVuaXR5JylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBHdWlsZCBoYXMgYmVlbiBzZXQgYXMgYSBzdXBwb3J0IHNlcnZlciBvbiB0aGUgQXBwIERpcmVjdG9yeSAqL1xuICBnZXQgZGV2ZWxvcGVyU3VwcG9ydFNlcnZlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2RldmVsb3BlclN1cHBvcnRTZXJ2ZXInKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGFuaW1hdGVkIGd1aWxkIGJhbm5lciBpbWFnZSAqL1xuICBnZXQgYW5pbWF0ZWRCYW5uZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdhbmltYXRlZEJhbm5lcicpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBjcmVhdGUgbmV3cyBjaGFubmVscyAqL1xuICBnZXQgbmV3cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ25ld3MnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gYmUgZGlzY292ZXJlZCBpbiB0aGUgZGlyZWN0b3J5ICovXG4gIGdldCBkaXNjb3ZlcmFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdkaXNjb3ZlcmFibGUnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gYmUgZmVhdHVyZWQgaW4gdGhlIGRpcmVjdG9yeSAqL1xuICBnZXQgZmVhdHVyYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2ZlYXR1cmFibGUnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBhY2Nlc3MgdG8gc2V0IGFuIGFuaW1hdGVkIGd1aWxkIGljb24gKi9cbiAgZ2V0IGFuaW1hdGVkSWNvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2FuaW1hdGVkSWNvbicpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgYSBndWlsZCBiYW5uZXIgaW1hZ2UgKi9cbiAgZ2V0IGJhbm5lcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2Jhbm5lcicpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGVuYWJsZWQgdGhlIHdlbGNvbWUgc2NyZWVuICovXG4gIGdldCB3ZWxjb21lU2NyZWVuRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3dlbGNvbWVTY3JlZW5FbmFibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgZW5hYmxlZCBbTWVtYmVyc2hpcCBTY3JlZW5pbmddKGh0dHBzOi8vZGlzY29yZC5jb20vZGV2ZWxvcGVycy9kb2NzL3Jlc291cmNlcy9ndWlsZCNtZW1iZXJzaGlwLXNjcmVlbmluZy1vYmplY3QpICovXG4gIGdldCBtZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ21lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgbW9yZSBzb3VuZGJvYXJkIHNvdW5kIHNsb3QgKi9cbiAgZ2V0IG1vcmVTb3VuZGJvYXJkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnbW9yZVNvdW5kYm9hcmQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGNhbiBiZSBwcmV2aWV3ZWQgYmVmb3JlIGpvaW5pbmcgdmlhIE1lbWJlcnNoaXAgU2NyZWVuaW5nIG9yIHRoZSBkaXJlY3RvcnkgKi9cbiAgZ2V0IHByZXZpZXdFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygncHJldmlld0VuYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIHRpY2tldGVkIGV2ZW50cyAqL1xuICBnZXQgdGlja2V0ZWRFdmVudHNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygndGlja2V0ZWRFdmVudHNFbmFibGVkJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBoYXMgaW5jcmVhc2VkIGN1c3RvbSBzdGlja2VyIHNsb3RzICovXG4gIGdldCBtb3JlU3RpY2tlcnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdtb3JlU3RpY2tlcnMnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIGFibGUgdG8gc2V0IHJvbGUgaWNvbnMgKi9cbiAgZ2V0IHJvbGVJY29ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JvbGVJY29ucycpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHNldCB1cCBhdXRvIG1vZGVyYXRpb24gcnVsZXMgKi9cbiAgZ2V0IGF1dG9Nb2RlcmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYXV0b01vZGVyYXRpb24nKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBwYXVzZWQgaW52aXRlcywgcHJldmVudGluZyBuZXcgdXNlcnMgZnJvbSBqb2luaW5nICovXG4gIGdldCBpbnZpdGVzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdpbnZpdGVzRGlzYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGlzIHVzaW5nIHRoZSBvbGQgcGVybWlzc2lvbnMgY29uZmlndXJhdGlvbiBiZWhhdmlvciAqL1xuICBnZXQgYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2FwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVjInKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIG1vbmV0aXphdGlvbi4gKi9cbiAgZ2V0IGNyZWF0b3JNb25ldGl6YWJsZVByb3Zpc2lvbmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIHRoZSByb2xlIHN1YnNjcmlwdGlvbiBwcm9tbyBwYWdlLiAqL1xuICBnZXQgY3JlYXRvclN0b3JlUGFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2NyZWF0b3JTdG9yZVBhZ2UnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBkaXNhYmxlZCBhbGVydHMgZm9yIGpvaW4gcmFpZHMgaW4gdGhlIGNvbmZpZ3VyZWQgc2FmZXR5IGFsZXJ0cyBjaGFubmVsICovXG4gIGdldCByYWlkQWxlcnRzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdyYWlkQWxlcnRzRGlzYWJsZWQnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyByb2xlIHN1YnNjcmlwdGlvbnMgdGhhdCBjYW4gYmUgcHVyY2hhc2VkLiAqL1xuICBnZXQgcm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JvbGVTdWJzY3JpcHRpb25zQXZhaWxhYmxlRm9yUHVyY2hhc2UnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyBlbmFibGVkIHJvbGUgc3Vic2NyaXB0aW9ucy4gKi9cbiAgZ2V0IHJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3JvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGNyZWF0ZWQgc291bmRib2FyZCBzb3VuZHMuICovXG4gIGdldCBzb3VuZGJvYXJkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnc291bmRib2FyZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBndWVzdCBpbnZpdGVzICovXG4gIGdldCBndWVzdHNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZ3Vlc3RzRW5hYmxlZCcpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIGFjY2VzcyB0byBzZXQgZ3VpbGQgdGFncyAqL1xuICBnZXQgZ3VpbGRUYWdzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZ3VpbGRUYWdzJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBndWlsZCBpcyBhYmxlIHRvIHNldCBncmFkaWVudCBjb2xvcnMgdG8gcm9sZXMgKi9cbiAgZ2V0IGVuaGFuY2VkUm9sZUNvbG9ycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2VuaGFuY2VkUm9sZUNvbG9ycycpXG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IHRoZSBwZXJtaXNzaW9ucyBleGlzdCBpbiB0aGlzICovXG4gIGhhcyhwZXJtaXNzaW9uczogR3VpbGRUb2dnbGVLZXlzIHwgR3VpbGRUb2dnbGVLZXlzW10pOiBib29sZWFuIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocGVybWlzc2lvbnMpKSByZXR1cm4gc3VwZXIuY29udGFpbnMoR3VpbGRUb2dnbGVbcGVybWlzc2lvbnNdKVxuXG4gICAgcmV0dXJuIHN1cGVyLmNvbnRhaW5zKHBlcm1pc3Npb25zLnJlZHVjZSgoYSwgYikgPT4gKGEgfD0gR3VpbGRUb2dnbGVbYl0pLCAwbikpXG4gIH1cblxuICAvKiogTGlzdHMgYWxsIHRoZSB0b2dnbGVzIGZvciB0aGUgcm9sZSBhbmQgd2hldGhlciBvciBub3QgZWFjaCBpcyB0cnVlIG9yIGZhbHNlLiAqL1xuICBsaXN0KCk6IFJlY29yZDxHdWlsZFRvZ2dsZUtleXMsIGJvb2xlYW4+IHtcbiAgICBjb25zdCBqc29uOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoR3VpbGRUb2dnbGUpKSB7XG4gICAgICBqc29uW2tleV0gPSBzdXBlci5jb250YWlucyh2YWx1ZSlcbiAgICB9XG5cbiAgICByZXR1cm4ganNvbiBhcyBSZWNvcmQ8R3VpbGRUb2dnbGVLZXlzLCBib29sZWFuPlxuICB9XG59XG5cbmV4cG9ydCB0eXBlIEd1aWxkVG9nZ2xlS2V5cyA9IGtleW9mIHR5cGVvZiBHdWlsZFRvZ2dsZVxuXG5leHBvcnQgdHlwZSBHdWlsZEZlYXR1cmVLZXlzID0gKHR5cGVvZiBndWlsZEZlYXR1cmVOYW1lcylbbnVtYmVyXVxuIl0sIm5hbWVzIjpbIkd1aWxkRmVhdHVyZXMiLCJUb2dnbGVCaXRmaWVsZEJpZ2ludCIsImd1aWxkRmVhdHVyZU5hbWVzIiwiR3VpbGRUb2dnbGUiLCJvd25lciIsIndpZGdldEVuYWJsZWQiLCJsYXJnZSIsInVuYXZhaWxhYmxlIiwicHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCIsImFuaW1hdGVkQmFubmVyIiwiYW5pbWF0ZWRJY29uIiwiYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNWMiIsImF1dG9Nb2RlcmF0aW9uIiwiYmFubmVyIiwiY29tbXVuaXR5IiwiY3JlYXRvck1vbmV0aXphYmxlUHJvdmlzaW9uYWwiLCJjcmVhdG9yU3RvcmVQYWdlIiwiZGV2ZWxvcGVyU3VwcG9ydFNlcnZlciIsImRpc2NvdmVyYWJsZSIsImZlYXR1cmFibGUiLCJpbnZpdGVzRGlzYWJsZWQiLCJpbnZpdGVTcGxhc2giLCJtZW1iZXJWZXJpZmljYXRpb25HYXRlRW5hYmxlZCIsIm1vcmVTb3VuZGJvYXJkIiwibW9yZVN0aWNrZXJzIiwibmV3cyIsInBhcnRuZXJlZCIsInByZXZpZXdFbmFibGVkIiwicmFpZEFsZXJ0c0Rpc2FibGVkIiwicm9sZUljb25zIiwicm9sZVN1YnNjcmlwdGlvbnNBdmFpbGFibGVGb3JQdXJjaGFzZSIsInJvbGVTdWJzY3JpcHRpb25zRW5hYmxlZCIsInNvdW5kYm9hcmQiLCJ0aWNrZXRlZEV2ZW50c0VuYWJsZWQiLCJ2YW5pdHlVcmwiLCJ2ZXJpZmllZCIsInZpcFJlZ2lvbnMiLCJ3ZWxjb21lU2NyZWVuRW5hYmxlZCIsImd1ZXN0c0VuYWJsZWQiLCJndWlsZFRhZ3MiLCJlbmhhbmNlZFJvbGVDb2xvcnMiLCJHdWlsZFRvZ2dsZXMiLCJndWlsZE9yVG9nZ2xlc0JpZ2ludCIsImJpdGZpZWxkIiwiZ3VpbGQiLCJmZWF0dXJlcyIsImFkZCIsIndpZGdldF9lbmFibGVkIiwicHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZCIsImluY2x1ZGVzIiwiQW5pbWF0ZWRCYW5uZXIiLCJBbmltYXRlZEljb24iLCJBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uc1YyIiwiQXV0b01vZGVyYXRpb24iLCJCYW5uZXIiLCJDb21tdW5pdHkiLCJDcmVhdG9yTW9uZXRpemFibGVQcm92aXNpb25hbCIsIkNyZWF0b3JTdG9yZVBhZ2UiLCJEZXZlbG9wZXJTdXBwb3J0U2VydmVyIiwiRGlzY292ZXJhYmxlIiwiRmVhdHVyYWJsZSIsIkludml0ZXNEaXNhYmxlZCIsIkludml0ZVNwbGFzaCIsIk1lbWJlclZlcmlmaWNhdGlvbkdhdGVFbmFibGVkIiwiTW9yZVNvdW5kYm9hcmQiLCJNb3JlU3RpY2tlcnMiLCJOZXdzIiwiUGFydG5lcmVkIiwiUHJldmlld0VuYWJsZWQiLCJSYWlkQWxlcnRzRGlzYWJsZWQiLCJSb2xlSWNvbnMiLCJSb2xlU3Vic2NyaXB0aW9uc0F2YWlsYWJsZUZvclB1cmNoYXNlIiwiUm9sZVN1YnNjcmlwdGlvbnNFbmFibGVkIiwiU291bmRib2FyZCIsIlRpY2tldGVkRXZlbnRzRW5hYmxlZCIsIlZhbml0eVVybCIsIlZlcmlmaWVkIiwiVmlwUmVnaW9ucyIsIldlbGNvbWVTY3JlZW5FbmFibGVkIiwiR3Vlc3RzRW5hYmxlZCIsIkd1aWxkVGFncyIsIkVuaGFuY2VkUm9sZUNvbG9ycyIsImtleSIsIk9iamVjdCIsImtleXMiLCJjb250YWlucyIsInB1c2giLCJoYXMiLCJwZXJtaXNzaW9ucyIsIkFycmF5IiwiaXNBcnJheSIsInJlZHVjZSIsImEiLCJiIiwibGlzdCIsImpzb24iLCJ2YWx1ZSIsImVudHJpZXMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQTRCQSxhQUFhLFFBQVEsb0JBQW1CO0FBQ3BFLFNBQVNDLG9CQUFvQixRQUFRLHNCQUFxQjtBQUUxRCxpRUFBaUUsR0FDakUsT0FBTyxNQUFNQyxvQkFBb0I7SUFDL0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRCxDQUFTO0FBRVYsT0FBTyxNQUFNQyxjQUFjO0lBQ3pCLDhDQUE4QyxHQUM5Q0MsT0FBTyxFQUFFLElBQUksRUFBRTtJQUNmLHlDQUF5QyxHQUN6Q0MsZUFBZSxFQUFFLElBQUksRUFBRTtJQUN2Qiw2Q0FBNkMsR0FDN0NDLE9BQU8sRUFBRSxJQUFJLEVBQUU7SUFDZix1REFBdUQsR0FDdkRDLGFBQWEsRUFBRSxJQUFJLEVBQUU7SUFDckIseURBQXlELEdBQ3pEQywyQkFBMkIsRUFBRSxJQUFJLEVBQUU7SUFFbkMsZ0NBQWdDO0lBRWhDLHVFQUF1RSxHQUN2RUMsZ0JBQWdCLEVBQUUsSUFBSSxHQUFHO0lBQ3pCLCtEQUErRCxHQUMvREMsY0FBYyxFQUFFLElBQUksR0FBRztJQUN2QiwwRUFBMEUsR0FDMUVDLGlDQUFpQyxFQUFFLElBQUksR0FBRztJQUMxQyx1REFBdUQsR0FDdkRDLGdCQUFnQixFQUFFLElBQUksR0FBRztJQUN6Qiw2REFBNkQsR0FDN0RDLFFBQVEsRUFBRSxJQUFJLEdBQUc7SUFDakIsb0lBQW9JLEdBQ3BJQyxXQUFXLEVBQUUsSUFBSSxHQUFHO0lBQ3BCLGdEQUFnRCxHQUNoREMsK0JBQStCLEVBQUUsSUFBSSxHQUFHO0lBQ3hDLG9FQUFvRSxHQUNwRUMsa0JBQWtCLEVBQUUsSUFBSSxHQUFHO0lBQzNCLDRFQUE0RSxHQUM1RUMsd0JBQXdCLEVBQUUsSUFBSSxHQUFHO0lBQ2pDLGdFQUFnRSxHQUNoRUMsY0FBYyxFQUFFLElBQUksR0FBRztJQUN2Qiw4REFBOEQsR0FDOURDLFlBQVksRUFBRSxJQUFJLEdBQUc7SUFDckIsNEVBQTRFLEdBQzVFQyxpQkFBaUIsRUFBRSxJQUFJLEdBQUc7SUFDMUIsb0VBQW9FLEdBQ3BFQyxjQUFjLEVBQUUsSUFBSSxFQUFFO0lBQ3RCLDBJQUEwSSxHQUMxSUMsK0JBQStCLEVBQUUsSUFBSSxHQUFHO0lBQ3hDLHFEQUFxRCxHQUNyREMsZ0JBQWdCLEVBQUUsSUFBSSxHQUFHO0lBQ3pCLHlEQUF5RCxHQUN6REMsY0FBYyxFQUFFLElBQUksR0FBRztJQUN2Qix5REFBeUQsR0FDekRDLE1BQU0sRUFBRSxJQUFJLEdBQUc7SUFDZixtQ0FBbUMsR0FDbkNDLFdBQVcsRUFBRSxJQUFJLEVBQUU7SUFDbkIsZ0dBQWdHLEdBQ2hHQyxnQkFBZ0IsRUFBRSxJQUFJLEdBQUc7SUFDekIsaUdBQWlHLEdBQ2pHQyxvQkFBb0IsRUFBRSxJQUFJLEdBQUc7SUFDN0IsZ0RBQWdELEdBQ2hEQyxXQUFXLEVBQUUsSUFBSSxHQUFHO0lBQ3BCLG9FQUFvRSxHQUNwRUMsdUNBQXVDLEVBQUUsSUFBSSxHQUFHO0lBQ2hELHNEQUFzRCxHQUN0REMsMEJBQTBCLEVBQUUsSUFBSSxHQUFHO0lBQ25DLHFEQUFxRCxHQUNyREMsWUFBWSxFQUFFLElBQUksR0FBRztJQUNyQixrREFBa0QsR0FDbERDLHVCQUF1QixFQUFFLElBQUksR0FBRztJQUNoQyxxREFBcUQsR0FDckRDLFdBQVcsRUFBRSxJQUFJLEVBQUU7SUFDbkIsa0NBQWtDLEdBQ2xDQyxVQUFVLEVBQUUsSUFBSSxFQUFFO0lBQ2xCLGlHQUFpRyxHQUNqR0MsWUFBWSxFQUFFLElBQUksRUFBRTtJQUNwQixxREFBcUQsR0FDckRDLHNCQUFzQixFQUFFLElBQUksR0FBRztJQUMvQixrREFBa0QsR0FDbERDLGVBQWUsRUFBRSxJQUFJLEdBQUc7SUFDeEIsbURBQW1ELEdBQ25EQyxXQUFXLEVBQUUsSUFBSSxHQUFHO0lBQ3BCLDhEQUE4RCxHQUM5REMsb0JBQW9CLEVBQUUsSUFBSSxHQUFHO0FBQy9CLEVBQUM7QUFFRCxPQUFPLE1BQU1DLHFCQUFxQnhDO0lBQ2hDLFlBQVl5QyxvQkFBMkMsQ0FBRTtRQUN2RCxLQUFLO1FBRUwsSUFBSSxPQUFPQSx5QkFBeUIsVUFBVSxJQUFJLENBQUNDLFFBQVEsR0FBR0Q7YUFDekQ7WUFDSCxNQUFNRSxRQUFRRjtZQUNkLG1DQUFtQztZQUNuQyxJQUFJLENBQUNFLE1BQU1DLFFBQVEsRUFBRUQsTUFBTUMsUUFBUSxHQUFHLEVBQUU7WUFFeEMsSUFBSUQsTUFBTXhDLEtBQUssRUFBRSxJQUFJLENBQUMwQyxHQUFHLENBQUMzQyxZQUFZQyxLQUFLO1lBQzNDLElBQUl3QyxNQUFNRyxjQUFjLEVBQUUsSUFBSSxDQUFDRCxHQUFHLENBQUMzQyxZQUFZRSxhQUFhO1lBQzVELElBQUl1QyxNQUFNdEMsS0FBSyxFQUFFLElBQUksQ0FBQ3dDLEdBQUcsQ0FBQzNDLFlBQVlHLEtBQUs7WUFDM0MsSUFBSXNDLE1BQU1yQyxXQUFXLEVBQUUsSUFBSSxDQUFDdUMsR0FBRyxDQUFDM0MsWUFBWUksV0FBVztZQUN2RCxJQUFJcUMsTUFBTUksNEJBQTRCLEVBQUUsSUFBSSxDQUFDRixHQUFHLENBQUMzQyxZQUFZSyx5QkFBeUI7WUFFdEYsSUFBSW9DLE1BQU1DLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDakQsY0FBY2tELGNBQWMsR0FBRyxJQUFJLENBQUNKLEdBQUcsQ0FBQzNDLFlBQVlNLGNBQWM7WUFDOUYsSUFBSW1DLE1BQU1DLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDakQsY0FBY21ELFlBQVksR0FBRyxJQUFJLENBQUNMLEdBQUcsQ0FBQzNDLFlBQVlPLFlBQVk7WUFDMUYsSUFBSWtDLE1BQU1DLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDakQsY0FBY29ELCtCQUErQixHQUFHLElBQUksQ0FBQ04sR0FBRyxDQUFDM0MsWUFBWVEsK0JBQStCO1lBQ2hJLElBQUlpQyxNQUFNQyxRQUFRLENBQUNJLFFBQVEsQ0FBQ2pELGNBQWNxRCxjQUFjLEdBQUcsSUFBSSxDQUFDUCxHQUFHLENBQUMzQyxZQUFZUyxjQUFjO1lBQzlGLElBQUlnQyxNQUFNQyxRQUFRLENBQUNJLFFBQVEsQ0FBQ2pELGNBQWNzRCxNQUFNLEdBQUcsSUFBSSxDQUFDUixHQUFHLENBQUMzQyxZQUFZVSxNQUFNO1lBQzlFLElBQUkrQixNQUFNQyxRQUFRLENBQUNJLFFBQVEsQ0FBQ2pELGNBQWN1RCxTQUFTLEdBQUcsSUFBSSxDQUFDVCxHQUFHLENBQUMzQyxZQUFZVyxTQUFTO1lBQ3BGLElBQUk4QixNQUFNQyxRQUFRLENBQUNJLFFBQVEsQ0FBQ2pELGNBQWN3RCw2QkFBNkIsR0FBRyxJQUFJLENBQUNWLEdBQUcsQ0FBQzNDLFlBQVlZLDZCQUE2QjtZQUM1SCxJQUFJNkIsTUFBTUMsUUFBUSxDQUFDSSxRQUFRLENBQUNqRCxjQUFjeUQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDWCxHQUFHLENBQUMzQyxZQUFZYSxnQkFBZ0I7WUFDbEcsSUFBSTRCLE1BQU1DLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDakQsY0FBYzBELHNCQUFzQixHQUFHLElBQUksQ0FBQ1osR0FBRyxDQUFDM0MsWUFBWWMsc0JBQXNCO1lBQzlHLElBQUkyQixNQUFNQyxRQUFRLENBQUNJLFFBQVEsQ0FBQ2pELGNBQWMyRCxZQUFZLEdBQUcsSUFBSSxDQUFDYixHQUFHLENBQUMzQyxZQUFZZSxZQUFZO1lBQzFGLElBQUkwQixNQUFNQyxRQUFRLENBQUNJLFFBQVEsQ0FBQ2pELGNBQWM0RCxVQUFVLEdBQUcsSUFBSSxDQUFDZCxHQUFHLENBQUMzQyxZQUFZZ0IsVUFBVTtZQUN0RixJQUFJeUIsTUFBTUMsUUFBUSxDQUFDSSxRQUFRLENBQUNqRCxjQUFjNkQsZUFBZSxHQUFHLElBQUksQ0FBQ2YsR0FBRyxDQUFDM0MsWUFBWWlCLGVBQWU7WUFDaEcsSUFBSXdCLE1BQU1DLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDakQsY0FBYzhELFlBQVksR0FBRyxJQUFJLENBQUNoQixHQUFHLENBQUMzQyxZQUFZa0IsWUFBWTtZQUMxRixJQUFJdUIsTUFBTUMsUUFBUSxDQUFDSSxRQUFRLENBQUNqRCxjQUFjK0QsNkJBQTZCLEdBQUcsSUFBSSxDQUFDakIsR0FBRyxDQUFDM0MsWUFBWW1CLDZCQUE2QjtZQUM1SCxJQUFJc0IsTUFBTUMsUUFBUSxDQUFDSSxRQUFRLENBQUNqRCxjQUFjZ0UsY0FBYyxHQUFHLElBQUksQ0FBQ2xCLEdBQUcsQ0FBQzNDLFlBQVlvQixjQUFjO1lBQzlGLElBQUlxQixNQUFNQyxRQUFRLENBQUNJLFFBQVEsQ0FBQ2pELGNBQWNpRSxZQUFZLEdBQUcsSUFBSSxDQUFDbkIsR0FBRyxDQUFDM0MsWUFBWXFCLFlBQVk7WUFDMUYsSUFBSW9CLE1BQU1DLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDakQsY0FBY2tFLElBQUksR0FBRyxJQUFJLENBQUNwQixHQUFHLENBQUMzQyxZQUFZc0IsSUFBSTtZQUMxRSxJQUFJbUIsTUFBTUMsUUFBUSxDQUFDSSxRQUFRLENBQUNqRCxjQUFjbUUsU0FBUyxHQUFHLElBQUksQ0FBQ3JCLEdBQUcsQ0FBQzNDLFlBQVl1QixTQUFTO1lBQ3BGLElBQUlrQixNQUFNQyxRQUFRLENBQUNJLFFBQVEsQ0FBQ2pELGNBQWNvRSxjQUFjLEdBQUcsSUFBSSxDQUFDdEIsR0FBRyxDQUFDM0MsWUFBWXdCLGNBQWM7WUFDOUYsSUFBSWlCLE1BQU1DLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDakQsY0FBY3FFLGtCQUFrQixHQUFHLElBQUksQ0FBQ3ZCLEdBQUcsQ0FBQzNDLFlBQVl5QixrQkFBa0I7WUFDdEcsSUFBSWdCLE1BQU1DLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDakQsY0FBY3NFLFNBQVMsR0FBRyxJQUFJLENBQUN4QixHQUFHLENBQUMzQyxZQUFZMEIsU0FBUztZQUNwRixJQUFJZSxNQUFNQyxRQUFRLENBQUNJLFFBQVEsQ0FBQ2pELGNBQWN1RSxxQ0FBcUMsR0FBRyxJQUFJLENBQUN6QixHQUFHLENBQUMzQyxZQUFZMkIscUNBQXFDO1lBQzVJLElBQUljLE1BQU1DLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDakQsY0FBY3dFLHdCQUF3QixHQUFHLElBQUksQ0FBQzFCLEdBQUcsQ0FBQzNDLFlBQVk0Qix3QkFBd0I7WUFDbEgsSUFBSWEsTUFBTUMsUUFBUSxDQUFDSSxRQUFRLENBQUNqRCxjQUFjeUUsVUFBVSxHQUFHLElBQUksQ0FBQzNCLEdBQUcsQ0FBQzNDLFlBQVk2QixVQUFVO1lBQ3RGLElBQUlZLE1BQU1DLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDakQsY0FBYzBFLHFCQUFxQixHQUFHLElBQUksQ0FBQzVCLEdBQUcsQ0FBQzNDLFlBQVk4QixxQkFBcUI7WUFDNUcsSUFBSVcsTUFBTUMsUUFBUSxDQUFDSSxRQUFRLENBQUNqRCxjQUFjMkUsU0FBUyxHQUFHLElBQUksQ0FBQzdCLEdBQUcsQ0FBQzNDLFlBQVkrQixTQUFTO1lBQ3BGLElBQUlVLE1BQU1DLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDakQsY0FBYzRFLFFBQVEsR0FBRyxJQUFJLENBQUM5QixHQUFHLENBQUMzQyxZQUFZZ0MsUUFBUTtZQUNsRixJQUFJUyxNQUFNQyxRQUFRLENBQUNJLFFBQVEsQ0FBQ2pELGNBQWM2RSxVQUFVLEdBQUcsSUFBSSxDQUFDL0IsR0FBRyxDQUFDM0MsWUFBWWlDLFVBQVU7WUFDdEYsSUFBSVEsTUFBTUMsUUFBUSxDQUFDSSxRQUFRLENBQUNqRCxjQUFjOEUsb0JBQW9CLEdBQUcsSUFBSSxDQUFDaEMsR0FBRyxDQUFDM0MsWUFBWWtDLG9CQUFvQjtZQUMxRyxJQUFJTyxNQUFNQyxRQUFRLENBQUNJLFFBQVEsQ0FBQ2pELGNBQWMrRSxhQUFhLEdBQUcsSUFBSSxDQUFDakMsR0FBRyxDQUFDM0MsWUFBWW1DLGFBQWE7WUFDNUYsSUFBSU0sTUFBTUMsUUFBUSxDQUFDSSxRQUFRLENBQUNqRCxjQUFjZ0YsU0FBUyxHQUFHLElBQUksQ0FBQ2xDLEdBQUcsQ0FBQzNDLFlBQVlvQyxTQUFTO1lBQ3BGLElBQUlLLE1BQU1DLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDakQsY0FBY2lGLGtCQUFrQixHQUFHLElBQUksQ0FBQ25DLEdBQUcsQ0FBQzNDLFlBQVlxQyxrQkFBa0I7UUFDeEc7SUFDRjtJQUVBLElBQUlLLFdBQStCO1FBQ2pDLE1BQU1BLFdBQStCLEVBQUU7UUFDdkMsS0FBSyxNQUFNcUMsT0FBT0MsT0FBT0MsSUFBSSxDQUFDakYsYUFBYztZQUMxQyxJQUFJLENBQUNELGtCQUFrQitDLFFBQVEsQ0FBQ2lDLE1BQTBCO1lBQzFELElBQUksQ0FBQyxLQUFLLENBQUNHLFNBQVNsRixXQUFXLENBQUMrRSxJQUF1QixHQUFHO1lBRTFEckMsU0FBU3lDLElBQUksQ0FBQ0o7UUFDaEI7UUFFQSxPQUFPckM7SUFDVDtJQUVBLDhDQUE4QyxHQUM5QyxJQUFJekMsUUFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUNtRixHQUFHLENBQUM7SUFDbEI7SUFFQSx5Q0FBeUMsR0FDekMsSUFBSWxGLGdCQUF5QjtRQUMzQixPQUFPLElBQUksQ0FBQ2tGLEdBQUcsQ0FBQztJQUNsQjtJQUVBLDZDQUE2QyxHQUM3QyxJQUFJakYsUUFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUNpRixHQUFHLENBQUM7SUFDbEI7SUFFQSx1REFBdUQsR0FDdkQsSUFBSWhGLGNBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDZ0YsR0FBRyxDQUFDO0lBQ2xCO0lBRUEseURBQXlELEdBQ3pELElBQUkvRSw0QkFBcUM7UUFDdkMsT0FBTyxJQUFJLENBQUMrRSxHQUFHLENBQUM7SUFDbEI7SUFFQSxvRUFBb0UsR0FDcEUsSUFBSWxFLGVBQXdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDa0UsR0FBRyxDQUFDO0lBQ2xCO0lBRUEsaUdBQWlHLEdBQ2pHLElBQUluRCxhQUFzQjtRQUN4QixPQUFPLElBQUksQ0FBQ21ELEdBQUcsQ0FBQztJQUNsQjtJQUVBLHFEQUFxRCxHQUNyRCxJQUFJckQsWUFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUNxRCxHQUFHLENBQUM7SUFDbEI7SUFFQSxrQ0FBa0MsR0FDbEMsSUFBSXBELFdBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDb0QsR0FBRyxDQUFDO0lBQ2xCO0lBRUEsbUNBQW1DLEdBQ25DLElBQUk3RCxZQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQzZELEdBQUcsQ0FBQztJQUNsQjtJQUVBLG9JQUFvSSxHQUNwSSxJQUFJekUsWUFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUN5RSxHQUFHLENBQUM7SUFDbEI7SUFFQSw0RUFBNEUsR0FDNUUsSUFBSXRFLHlCQUFrQztRQUNwQyxPQUFPLElBQUksQ0FBQ3NFLEdBQUcsQ0FBQztJQUNsQjtJQUVBLHVFQUF1RSxHQUN2RSxJQUFJOUUsaUJBQTBCO1FBQzVCLE9BQU8sSUFBSSxDQUFDOEUsR0FBRyxDQUFDO0lBQ2xCO0lBRUEseURBQXlELEdBQ3pELElBQUk5RCxPQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQzhELEdBQUcsQ0FBQztJQUNsQjtJQUVBLGdFQUFnRSxHQUNoRSxJQUFJckUsZUFBd0I7UUFDMUIsT0FBTyxJQUFJLENBQUNxRSxHQUFHLENBQUM7SUFDbEI7SUFFQSw4REFBOEQsR0FDOUQsSUFBSXBFLGFBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDb0UsR0FBRyxDQUFDO0lBQ2xCO0lBRUEsK0RBQStELEdBQy9ELElBQUk3RSxlQUF3QjtRQUMxQixPQUFPLElBQUksQ0FBQzZFLEdBQUcsQ0FBQztJQUNsQjtJQUVBLDZEQUE2RCxHQUM3RCxJQUFJMUUsU0FBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMwRSxHQUFHLENBQUM7SUFDbEI7SUFFQSxxREFBcUQsR0FDckQsSUFBSWxELHVCQUFnQztRQUNsQyxPQUFPLElBQUksQ0FBQ2tELEdBQUcsQ0FBQztJQUNsQjtJQUVBLDBJQUEwSSxHQUMxSSxJQUFJakUsZ0NBQXlDO1FBQzNDLE9BQU8sSUFBSSxDQUFDaUUsR0FBRyxDQUFDO0lBQ2xCO0lBRUEscURBQXFELEdBQ3JELElBQUloRSxpQkFBMEI7UUFDNUIsT0FBTyxJQUFJLENBQUNnRSxHQUFHLENBQUM7SUFDbEI7SUFFQSxnR0FBZ0csR0FDaEcsSUFBSTVELGlCQUEwQjtRQUM1QixPQUFPLElBQUksQ0FBQzRELEdBQUcsQ0FBQztJQUNsQjtJQUVBLGtEQUFrRCxHQUNsRCxJQUFJdEQsd0JBQWlDO1FBQ25DLE9BQU8sSUFBSSxDQUFDc0QsR0FBRyxDQUFDO0lBQ2xCO0lBRUEseURBQXlELEdBQ3pELElBQUkvRCxlQUF3QjtRQUMxQixPQUFPLElBQUksQ0FBQytELEdBQUcsQ0FBQztJQUNsQjtJQUVBLGdEQUFnRCxHQUNoRCxJQUFJMUQsWUFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUMwRCxHQUFHLENBQUM7SUFDbEI7SUFFQSx1REFBdUQsR0FDdkQsSUFBSTNFLGlCQUEwQjtRQUM1QixPQUFPLElBQUksQ0FBQzJFLEdBQUcsQ0FBQztJQUNsQjtJQUVBLDRFQUE0RSxHQUM1RSxJQUFJbkUsa0JBQTJCO1FBQzdCLE9BQU8sSUFBSSxDQUFDbUUsR0FBRyxDQUFDO0lBQ2xCO0lBRUEsMEVBQTBFLEdBQzFFLElBQUk1RSxrQ0FBMkM7UUFDN0MsT0FBTyxJQUFJLENBQUM0RSxHQUFHLENBQUM7SUFDbEI7SUFFQSxnREFBZ0QsR0FDaEQsSUFBSXhFLGdDQUF5QztRQUMzQyxPQUFPLElBQUksQ0FBQ3dFLEdBQUcsQ0FBQztJQUNsQjtJQUVBLG9FQUFvRSxHQUNwRSxJQUFJdkUsbUJBQTRCO1FBQzlCLE9BQU8sSUFBSSxDQUFDdUUsR0FBRyxDQUFDO0lBQ2xCO0lBRUEsaUdBQWlHLEdBQ2pHLElBQUkzRCxxQkFBOEI7UUFDaEMsT0FBTyxJQUFJLENBQUMyRCxHQUFHLENBQUM7SUFDbEI7SUFFQSxvRUFBb0UsR0FDcEUsSUFBSXpELHdDQUFpRDtRQUNuRCxPQUFPLElBQUksQ0FBQ3lELEdBQUcsQ0FBQztJQUNsQjtJQUVBLHNEQUFzRCxHQUN0RCxJQUFJeEQsMkJBQW9DO1FBQ3RDLE9BQU8sSUFBSSxDQUFDd0QsR0FBRyxDQUFDO0lBQ2xCO0lBRUEscURBQXFELEdBQ3JELElBQUl2RCxhQUFzQjtRQUN4QixPQUFPLElBQUksQ0FBQ3VELEdBQUcsQ0FBQztJQUNsQjtJQUVBLGtEQUFrRCxHQUNsRCxJQUFJakQsZ0JBQXlCO1FBQzNCLE9BQU8sSUFBSSxDQUFDaUQsR0FBRyxDQUFDO0lBQ2xCO0lBRUEsbURBQW1ELEdBQ25ELElBQUloRCxZQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQ2dELEdBQUcsQ0FBQztJQUNsQjtJQUVBLDhEQUE4RCxHQUM5RCxJQUFJL0MscUJBQThCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDK0MsR0FBRyxDQUFDO0lBQ2xCO0lBRUEsd0RBQXdELEdBQ3hEQSxJQUFJQyxXQUFnRCxFQUFXO1FBQzdELElBQUksQ0FBQ0MsTUFBTUMsT0FBTyxDQUFDRixjQUFjLE9BQU8sS0FBSyxDQUFDSCxTQUFTbEYsV0FBVyxDQUFDcUYsWUFBWTtRQUUvRSxPQUFPLEtBQUssQ0FBQ0gsU0FBU0csWUFBWUcsTUFBTSxDQUFDLENBQUNDLEdBQUdDLElBQU9ELEtBQUt6RixXQUFXLENBQUMwRixFQUFFLEVBQUcsRUFBRTtJQUM5RTtJQUVBLGlGQUFpRixHQUNqRkMsT0FBeUM7UUFDdkMsTUFBTUMsT0FBZ0MsQ0FBQztRQUN2QyxLQUFLLE1BQU0sQ0FBQ2IsS0FBS2MsTUFBTSxJQUFJYixPQUFPYyxPQUFPLENBQUM5RixhQUFjO1lBQ3RENEYsSUFBSSxDQUFDYixJQUFJLEdBQUcsS0FBSyxDQUFDRyxTQUFTVztRQUM3QjtRQUVBLE9BQU9EO0lBQ1Q7QUFDRiJ9
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type DiscordMember } from '@discordeno/types';
|
|
2
2
|
import { ToggleBitfield } from './ToggleBitfield.js';
|
|
3
|
-
|
|
3
|
+
/** @private This is subject to breaking changes without notices */
|
|
4
|
+
export declare const memberFlags: readonly ["didRejoin", "startedOnboarding", "bypassesVerification", "completedOnboarding"];
|
|
4
5
|
export declare const MemberToggle: {
|
|
5
6
|
/** Whether the user is deafened in voice channels */
|
|
6
7
|
deaf: number;
|
|
@@ -65,5 +66,4 @@ export declare class MemberToggles extends ToggleBitfield {
|
|
|
65
66
|
}
|
|
66
67
|
export type MemberToggleKeys = keyof typeof MemberToggle;
|
|
67
68
|
export type MemberFlagsKeys = (typeof memberFlags)[number];
|
|
68
|
-
export {};
|
|
69
69
|
//# sourceMappingURL=member.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../src/transformers/toggles/member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,
|
|
1
|
+
{"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../src/transformers/toggles/member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,mEAAmE;AACnE,eAAO,MAAM,WAAW,4FAA6F,CAAA;AAErH,eAAO,MAAM,YAAY;IACvB,qDAAqD;;IAErD,kDAAkD;;IAElD,wFAAwF;;IAKxF,6CAA6C;;IAE7C,sCAAsC;;IAEtC,4DAA4D;;IAE5D,oCAAoC;;IAEpC,mFAAmF;;IAEnF,yDAAyD;;IAEzD,2DAA2D;;IAE3D,yEAAyE;;IAEzE,kDAAkD;;IAElD,+CAA+C;;CAEhD,CAAA;AAED,qBAAa,aAAc,SAAQ,cAAc;gBACnC,kBAAkB,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM;IA0B/D,IAAI,KAAK,IAAI,MAAM,CAelB;IAED,wDAAwD;IACxD,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,kDAAkD;IAClD,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,wFAAwF;IACxF,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,6CAA6C;IAC7C,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,sCAAsC;IACtC,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED,4DAA4D;IAC5D,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,oCAAoC;IACpC,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,mFAAmF;IACnF,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,yDAAyD;IACzD,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,2DAA2D;IAC3D,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,yEAAyE;IACzE,IAAI,0BAA0B,IAAI,OAAO,CAExC;IAED,kDAAkD;IAClD,IAAI,4BAA4B,IAAI,OAAO,CAE1C;IAED,+CAA+C;IAC/C,IAAI,0BAA0B,IAAI,OAAO,CAExC;IAED,0DAA0D;IAC1D,GAAG,CAAC,WAAW,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,GAAG,OAAO;IAMhE,mFAAmF;IACnF,IAAI,IAAI,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC;CAQ1C;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,YAAY,CAAA;AAExD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MemberFlags } from '@discordeno/types';
|
|
2
2
|
import { ToggleBitfield } from './ToggleBitfield.js';
|
|
3
|
-
const memberFlags = [
|
|
3
|
+
/** @private This is subject to breaking changes without notices */ export const memberFlags = [
|
|
4
4
|
'didRejoin',
|
|
5
5
|
'startedOnboarding',
|
|
6
6
|
'bypassesVerification',
|
|
@@ -111,4 +111,4 @@ export class MemberToggles extends ToggleBitfield {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9tZW1iZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEaXNjb3JkTWVtYmVyLCBNZW1iZXJGbGFncyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGQgfSBmcm9tICcuL1RvZ2dsZUJpdGZpZWxkLmpzJ1xuXG5jb25zdCBtZW1iZXJGbGFncyA9IFsnZGlkUmVqb2luJywgJ3N0YXJ0ZWRPbmJvYXJkaW5nJywgJ2J5cGFzc2VzVmVyaWZpY2F0aW9uJywgJ2NvbXBsZXRlZE9uYm9hcmRpbmcnXSBhcyBjb25zdFxuXG5leHBvcnQgY29uc3QgTWVtYmVyVG9nZ2xlID0ge1xuICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBkZWFmZW5lZCBpbiB2b2ljZSBjaGFubmVscyAqL1xuICBkZWFmOiAxIDw8IDAsXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIG11dGVkIGluIHZvaWNlIGNoYW5uZWxzICovXG4gIG11dGU6IDEgPDwgMSxcbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaGFzIG5vdCB5ZXQgcGFzc2VkIHRoZSBndWlsZCdzIE1lbWJlcnNoaXAgU2NyZWVuaW5nIHJlcXVpcmVtZW50cyAqL1xuICBwZW5kaW5nOiAxIDw8IDIsXG5cbiAgLy8gTWVtYmVyIGZsYWdzXG5cbiAgLyoqIE1lbWJlciBoYXMgbGVmdCBhbmQgcmVqb2luZWQgdGhlIGd1aWxkICovXG4gIGRpZFJlam9pbjogMSA8PCAzLFxuICAvKiogTWVtYmVyIGhhcyBjb21wbGV0ZWQgb25ib2FyZGluZyAqL1xuICBzdGFydGVkT25ib2FyZGluZzogMSA8PCA0LFxuICAvKiogTWVtYmVyIGlzIGV4ZW1wdCBmcm9tIGd1aWxkIHZlcmlmaWNhdGlvbiByZXF1aXJlbWVudHMgKi9cbiAgYnlwYXNzZXNWZXJpZmljYXRpb246IDEgPDwgNSxcbiAgLyoqIE1lbWJlciBoYXMgc3RhcnRlZCBvbmJvYXJkaW5nICovXG4gIGNvbXBsZXRlZE9uYm9hcmRpbmc6IDEgPDwgNixcbiAgLyoqIE1lbWJlciBpcyBhIGd1ZXN0IGFuZCBjYW4gb25seSBhY2Nlc3MgdGhlIHZvaWNlIGNoYW5uZWwgdGhleSB3ZXJlIGludml0ZWQgdG8gKi9cbiAgaXNHdWVzdDogMSA8PCA3LFxuICAvKiogTWVtYmVyIGhhcyBzdGFydGVkIFNlcnZlciBHdWlkZSBuZXcgbWVtYmVyIGFjdGlvbnMgKi9cbiAgc3RhcnRlZEhvbWVBY3Rpb25zOiAxIDw8IDgsXG4gIC8qKiBNZW1iZXIgaGFzIGNvbXBsZXRlZCBTZXJ2ZXIgR3VpZGUgbmV3IG1lbWJlciBhY3Rpb25zICovXG4gIGNvbXBsZXRlZEhvbWVBY3Rpb25zOiAxIDw8IDksXG4gIC8qKiBNZW1iZXIncyB1c2VybmFtZSwgZGlzcGxheSBuYW1lLCBvciBuaWNrbmFtZSBpcyBibG9ja2VkIGJ5IEF1dG9Nb2QgKi9cbiAgYXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWU6IDEgPDwgMTAsXG4gIC8qKiBNZW1iZXIgaGFzIGRpc21pc3NlZCB0aGUgRE0gc2V0dGluZ3MgdXBzZWxsICovXG4gIGRtU2V0dGluZ3NVcHNlbGxBY2tub3dsZWRnZWQ6IDEgPDwgMTEsXG4gIC8qKiBNZW1iZXIncyBndWlsZCB0YWcgaXMgYmxvY2tlZCBieSBBdXRvTW9kICovXG4gIGF1dG9tb2RRdWFyYW50aW5lZEd1aWxkVGFnOiAxIDw8IDEyLFxufVxuXG5leHBvcnQgY2xhc3MgTWVtYmVyVG9nZ2xlcyBleHRlbmRzIFRvZ2dsZUJpdGZpZWxkIHtcbiAgY29uc3RydWN0b3IobWVtYmVyT3JUb2dnbGVzSW50OiBQYXJ0aWFsPERpc2NvcmRNZW1iZXI+IHwgbnVtYmVyKSB7XG4gICAgc3VwZXIoKVxuXG4gICAgaWYgKHR5cGVvZiBtZW1iZXJPclRvZ2dsZXNJbnQgPT09ICdudW1iZXInKSB0aGlzLmJpdGZpZWxkID0gbWVtYmVyT3JUb2dnbGVzSW50XG4gICAgZWxzZSB7XG4gICAgICBjb25zdCBtZW1iZXIgPSBtZW1iZXJPclRvZ2dsZXNJbnRcblxuICAgICAgaWYgKG1lbWJlci5kZWFmKSB0aGlzLmFkZChNZW1iZXJUb2dnbGUuZGVhZilcbiAgICAgIGlmIChtZW1iZXIubXV0ZSkgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLm11dGUpXG4gICAgICBpZiAobWVtYmVyLnBlbmRpbmcpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5wZW5kaW5nKVxuXG4gICAgICBpZiAobWVtYmVyLmZsYWdzKSB7XG4gICAgICAgIGlmIChtZW1iZXIuZmxhZ3MgJiBNZW1iZXJGbGFncy5EaWRSZWpvaW4pIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5kaWRSZWpvaW4pXG4gICAgICAgIGlmIChtZW1iZXIuZmxhZ3MgJiBNZW1iZXJGbGFncy5TdGFydGVkT25ib2FyZGluZykgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLnN0YXJ0ZWRPbmJvYXJkaW5nKVxuICAgICAgICBpZiAobWVtYmVyLmZsYWdzICYgTWVtYmVyRmxhZ3MuQnlwYXNzZXNWZXJpZmljYXRpb24pIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5ieXBhc3Nlc1ZlcmlmaWNhdGlvbilcbiAgICAgICAgaWYgKG1lbWJlci5mbGFncyAmIE1lbWJlckZsYWdzLkNvbXBsZXRlZE9uYm9hcmRpbmcpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5jb21wbGV0ZWRPbmJvYXJkaW5nKVxuICAgICAgICBpZiAobWVtYmVyLmZsYWdzICYgTWVtYmVyRmxhZ3MuSXNHdWVzdCkgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLmlzR3Vlc3QpXG4gICAgICAgIGlmIChtZW1iZXIuZmxhZ3MgJiBNZW1iZXJGbGFncy5TdGFydGVkSG9tZUFjdGlvbnMpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5zdGFydGVkSG9tZUFjdGlvbnMpXG4gICAgICAgIGlmIChtZW1iZXIuZmxhZ3MgJiBNZW1iZXJGbGFncy5Db21wbGV0ZWRIb21lQWN0aW9ucykgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLmNvbXBsZXRlZEhvbWVBY3Rpb25zKVxuICAgICAgICBpZiAobWVtYmVyLmZsYWdzICYgTWVtYmVyRmxhZ3MuQXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWUpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5hdXRvbW9kUXVhcmFudGluZWRVc2VybmFtZSlcbiAgICAgICAgaWYgKG1lbWJlci5mbGFncyAmIE1lbWJlckZsYWdzLkRtU2V0dGluZ3NVcHNlbGxBY2tub3dsZWRnZWQpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5kbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkKVxuICAgICAgICBpZiAobWVtYmVyLmZsYWdzICYgTWVtYmVyRmxhZ3MuQXV0b21vZFF1YXJhbnRpbmVkR3VpbGRUYWcpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5hdXRvbW9kUXVhcmFudGluZWRHdWlsZFRhZylcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgZmxhZ3MoKTogbnVtYmVyIHtcbiAgICBsZXQgZmxhZ3MgPSAwXG5cbiAgICBpZiAodGhpcy5kaWRSZWpvaW4pIGZsYWdzIHw9IE1lbWJlckZsYWdzLkRpZFJlam9pblxuICAgIGlmICh0aGlzLnN0YXJ0ZWRPbmJvYXJkaW5nKSBmbGFncyB8PSBNZW1iZXJGbGFncy5TdGFydGVkT25ib2FyZGluZ1xuICAgIGlmICh0aGlzLmJ5cGFzc2VzVmVyaWZpY2F0aW9uKSBmbGFncyB8PSBNZW1iZXJGbGFncy5CeXBhc3Nlc1ZlcmlmaWNhdGlvblxuICAgIGlmICh0aGlzLmNvbXBsZXRlZE9uYm9hcmRpbmcpIGZsYWdzIHw9IE1lbWJlckZsYWdzLkNvbXBsZXRlZE9uYm9hcmRpbmdcbiAgICBpZiAodGhpcy5pc0d1ZXN0KSBmbGFncyB8PSBNZW1iZXJGbGFncy5Jc0d1ZXN0XG4gICAgaWYgKHRoaXMuc3RhcnRlZEhvbWVBY3Rpb25zKSBmbGFncyB8PSBNZW1iZXJGbGFncy5TdGFydGVkSG9tZUFjdGlvbnNcbiAgICBpZiAodGhpcy5jb21wbGV0ZWRIb21lQWN0aW9ucykgZmxhZ3MgfD0gTWVtYmVyRmxhZ3MuQ29tcGxldGVkSG9tZUFjdGlvbnNcbiAgICBpZiAodGhpcy5hdXRvbW9kUXVhcmFudGluZWRVc2VybmFtZSkgZmxhZ3MgfD0gTWVtYmVyRmxhZ3MuQXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWVcbiAgICBpZiAodGhpcy5kbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkKSBmbGFncyB8PSBNZW1iZXJGbGFncy5EbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkXG4gICAgaWYgKHRoaXMuYXV0b21vZFF1YXJhbnRpbmVkR3VpbGRUYWcpIGZsYWdzIHw9IE1lbWJlckZsYWdzLkF1dG9tb2RRdWFyYW50aW5lZEd1aWxkVGFnXG5cbiAgICByZXR1cm4gZmxhZ3NcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGJlbG9uZ3MgdG8gYW4gT0F1dGgyIGFwcGxpY2F0aW9uICovXG4gIGdldCBkZWFmKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZGVhZicpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBtdXRlZCBpbiB2b2ljZSBjaGFubmVscyAqL1xuICBnZXQgbXV0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ211dGUnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaGFzIG5vdCB5ZXQgcGFzc2VkIHRoZSBndWlsZCdzIE1lbWJlcnNoaXAgU2NyZWVuaW5nIHJlcXVpcmVtZW50cyAqL1xuICBnZXQgcGVuZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3BlbmRpbmcnKVxuICB9XG5cbiAgLyoqIE1lbWJlciBoYXMgbGVmdCBhbmQgcmVqb2luZWQgdGhlIGd1aWxkICovXG4gIGdldCBkaWRSZWpvaW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdkaWRSZWpvaW4nKVxuICB9XG5cbiAgLyoqIE1lbWJlciBoYXMgY29tcGxldGVkIG9uYm9hcmRpbmcgKi9cbiAgZ2V0IHN0YXJ0ZWRPbmJvYXJkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnc3RhcnRlZE9uYm9hcmRpbmcnKVxuICB9XG5cbiAgLyoqIE1lbWJlciBpcyBleGVtcHQgZnJvbSBndWlsZCB2ZXJpZmljYXRpb24gcmVxdWlyZW1lbnRzICovXG4gIGdldCBieXBhc3Nlc1ZlcmlmaWNhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2J5cGFzc2VzVmVyaWZpY2F0aW9uJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaGFzIHN0YXJ0ZWQgb25ib2FyZGluZyAqL1xuICBnZXQgY29tcGxldGVkT25ib2FyZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2NvbXBsZXRlZE9uYm9hcmRpbmcnKVxuICB9XG5cbiAgLyoqIE1lbWJlciBpcyBhIGd1ZXN0IGFuZCBjYW4gb25seSBhY2Nlc3MgdGhlIHZvaWNlIGNoYW5uZWwgdGhleSB3ZXJlIGludml0ZWQgdG8gKi9cbiAgZ2V0IGlzR3Vlc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdpc0d1ZXN0JylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaGFzIHN0YXJ0ZWQgU2VydmVyIEd1aWRlIG5ldyBtZW1iZXIgYWN0aW9ucyAqL1xuICBnZXQgc3RhcnRlZEhvbWVBY3Rpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnc3RhcnRlZEhvbWVBY3Rpb25zJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaGFzIGNvbXBsZXRlZCBTZXJ2ZXIgR3VpZGUgbmV3IG1lbWJlciBhY3Rpb25zICovXG4gIGdldCBjb21wbGV0ZWRIb21lQWN0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2NvbXBsZXRlZEhvbWVBY3Rpb25zJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIncyB1c2VybmFtZSwgZGlzcGxheSBuYW1lLCBvciBuaWNrbmFtZSBpcyBibG9ja2VkIGJ5IEF1dG9Nb2QgKi9cbiAgZ2V0IGF1dG9tb2RRdWFyYW50aW5lZFVzZXJuYW1lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWUnKVxuICB9XG5cbiAgLyoqIE1lbWJlciBoYXMgZGlzbWlzc2VkIHRoZSBETSBzZXR0aW5ncyB1cHNlbGwgKi9cbiAgZ2V0IGRtU2V0dGluZ3NVcHNlbGxBY2tub3dsZWRnZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdkbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIncyBndWlsZCB0YWcgaXMgYmxvY2tlZCBieSBBdXRvTW9kICovXG4gIGdldCBhdXRvbW9kUXVhcmFudGluZWRHdWlsZFRhZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2F1dG9tb2RRdWFyYW50aW5lZEd1aWxkVGFnJylcbiAgfVxuXG4gIC8qKiBDaGVja3Mgd2hldGhlciBvciBub3QgdGhlIHBlcm1pc3Npb25zIGV4aXN0IGluIHRoaXMgKi9cbiAgaGFzKHBlcm1pc3Npb25zOiBNZW1iZXJUb2dnbGVLZXlzIHwgTWVtYmVyVG9nZ2xlS2V5c1tdKTogYm9vbGVhbiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBlcm1pc3Npb25zKSkgcmV0dXJuIHN1cGVyLmNvbnRhaW5zKE1lbWJlclRvZ2dsZVtwZXJtaXNzaW9uc10pXG5cbiAgICByZXR1cm4gc3VwZXIuY29udGFpbnMocGVybWlzc2lvbnMucmVkdWNlKChhLCBiKSA9PiAoYSB8PSBNZW1iZXJUb2dnbGVbYl0pLCAwKSlcbiAgfVxuXG4gIC8qKiBMaXN0cyBhbGwgdGhlIHRvZ2dsZXMgZm9yIHRoZSByb2xlIGFuZCB3aGV0aGVyIG9yIG5vdCBlYWNoIGlzIHRydWUgb3IgZmFsc2UuICovXG4gIGxpc3QoKTogUmVjb3JkPE1lbWJlclRvZ2dsZUtleXMsIGJvb2xlYW4+IHtcbiAgICBjb25zdCBqc29uOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoTWVtYmVyVG9nZ2xlKSkge1xuICAgICAganNvbltrZXldID0gc3VwZXIuY29udGFpbnModmFsdWUpXG4gICAgfVxuXG4gICAgcmV0dXJuIGpzb24gYXMgUmVjb3JkPE1lbWJlclRvZ2dsZUtleXMsIGJvb2xlYW4+XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgTWVtYmVyVG9nZ2xlS2V5cyA9IGtleW9mIHR5cGVvZiBNZW1iZXJUb2dnbGVcblxuZXhwb3J0IHR5cGUgTWVtYmVyRmxhZ3NLZXlzID0gKHR5cGVvZiBtZW1iZXJGbGFncylbbnVtYmVyXVxuIl0sIm5hbWVzIjpbIk1lbWJlckZsYWdzIiwiVG9nZ2xlQml0ZmllbGQiLCJtZW1iZXJGbGFncyIsIk1lbWJlclRvZ2dsZSIsImRlYWYiLCJtdXRlIiwicGVuZGluZyIsImRpZFJlam9pbiIsInN0YXJ0ZWRPbmJvYXJkaW5nIiwiYnlwYXNzZXNWZXJpZmljYXRpb24iLCJjb21wbGV0ZWRPbmJvYXJkaW5nIiwiaXNHdWVzdCIsInN0YXJ0ZWRIb21lQWN0aW9ucyIsImNvbXBsZXRlZEhvbWVBY3Rpb25zIiwiYXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWUiLCJkbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkIiwiYXV0b21vZFF1YXJhbnRpbmVkR3VpbGRUYWciLCJNZW1iZXJUb2dnbGVzIiwibWVtYmVyT3JUb2dnbGVzSW50IiwiYml0ZmllbGQiLCJtZW1iZXIiLCJhZGQiLCJmbGFncyIsIkRpZFJlam9pbiIsIlN0YXJ0ZWRPbmJvYXJkaW5nIiwiQnlwYXNzZXNWZXJpZmljYXRpb24iLCJDb21wbGV0ZWRPbmJvYXJkaW5nIiwiSXNHdWVzdCIsIlN0YXJ0ZWRIb21lQWN0aW9ucyIsIkNvbXBsZXRlZEhvbWVBY3Rpb25zIiwiQXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWUiLCJEbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkIiwiQXV0b21vZFF1YXJhbnRpbmVkR3VpbGRUYWciLCJoYXMiLCJwZXJtaXNzaW9ucyIsIkFycmF5IiwiaXNBcnJheSIsImNvbnRhaW5zIiwicmVkdWNlIiwiYSIsImIiLCJsaXN0IiwianNvbiIsImtleSIsInZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBNkJBLFdBQVcsUUFBUSxvQkFBbUI7QUFDbkUsU0FBU0MsY0FBYyxRQUFRLHNCQUFxQjtBQUVwRCxNQUFNQyxjQUFjO0lBQUM7SUFBYTtJQUFxQjtJQUF3QjtDQUFzQjtBQUVyRyxPQUFPLE1BQU1DLGVBQWU7SUFDMUIsbURBQW1ELEdBQ25EQyxNQUFNLEtBQUs7SUFDWCxnREFBZ0QsR0FDaERDLE1BQU0sS0FBSztJQUNYLHNGQUFzRixHQUN0RkMsU0FBUyxLQUFLO0lBRWQsZUFBZTtJQUVmLDJDQUEyQyxHQUMzQ0MsV0FBVyxLQUFLO0lBQ2hCLG9DQUFvQyxHQUNwQ0MsbUJBQW1CLEtBQUs7SUFDeEIsMERBQTBELEdBQzFEQyxzQkFBc0IsS0FBSztJQUMzQixrQ0FBa0MsR0FDbENDLHFCQUFxQixLQUFLO0lBQzFCLGlGQUFpRixHQUNqRkMsU0FBUyxLQUFLO0lBQ2QsdURBQXVELEdBQ3ZEQyxvQkFBb0IsS0FBSztJQUN6Qix5REFBeUQsR0FDekRDLHNCQUFzQixLQUFLO0lBQzNCLHVFQUF1RSxHQUN2RUMsNEJBQTRCLEtBQUs7SUFDakMsZ0RBQWdELEdBQ2hEQyw4QkFBOEIsS0FBSztJQUNuQyw2Q0FBNkMsR0FDN0NDLDRCQUE0QixLQUFLO0FBQ25DLEVBQUM7QUFFRCxPQUFPLE1BQU1DLHNCQUFzQmhCO0lBQ2pDLFlBQVlpQixrQkFBbUQsQ0FBRTtRQUMvRCxLQUFLO1FBRUwsSUFBSSxPQUFPQSx1QkFBdUIsVUFBVSxJQUFJLENBQUNDLFFBQVEsR0FBR0Q7YUFDdkQ7WUFDSCxNQUFNRSxTQUFTRjtZQUVmLElBQUlFLE9BQU9oQixJQUFJLEVBQUUsSUFBSSxDQUFDaUIsR0FBRyxDQUFDbEIsYUFBYUMsSUFBSTtZQUMzQyxJQUFJZ0IsT0FBT2Ys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
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9tZW1iZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEaXNjb3JkTWVtYmVyLCBNZW1iZXJGbGFncyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGQgfSBmcm9tICcuL1RvZ2dsZUJpdGZpZWxkLmpzJ1xuXG4vKiogQHByaXZhdGUgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2VzICovXG5leHBvcnQgY29uc3QgbWVtYmVyRmxhZ3MgPSBbJ2RpZFJlam9pbicsICdzdGFydGVkT25ib2FyZGluZycsICdieXBhc3Nlc1ZlcmlmaWNhdGlvbicsICdjb21wbGV0ZWRPbmJvYXJkaW5nJ10gYXMgY29uc3RcblxuZXhwb3J0IGNvbnN0IE1lbWJlclRvZ2dsZSA9IHtcbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaXMgZGVhZmVuZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgZGVhZjogMSA8PCAwLFxuICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBtdXRlZCBpbiB2b2ljZSBjaGFubmVscyAqL1xuICBtdXRlOiAxIDw8IDEsXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGhhcyBub3QgeWV0IHBhc3NlZCB0aGUgZ3VpbGQncyBNZW1iZXJzaGlwIFNjcmVlbmluZyByZXF1aXJlbWVudHMgKi9cbiAgcGVuZGluZzogMSA8PCAyLFxuXG4gIC8vIE1lbWJlciBmbGFnc1xuXG4gIC8qKiBNZW1iZXIgaGFzIGxlZnQgYW5kIHJlam9pbmVkIHRoZSBndWlsZCAqL1xuICBkaWRSZWpvaW46IDEgPDwgMyxcbiAgLyoqIE1lbWJlciBoYXMgY29tcGxldGVkIG9uYm9hcmRpbmcgKi9cbiAgc3RhcnRlZE9uYm9hcmRpbmc6IDEgPDwgNCxcbiAgLyoqIE1lbWJlciBpcyBleGVtcHQgZnJvbSBndWlsZCB2ZXJpZmljYXRpb24gcmVxdWlyZW1lbnRzICovXG4gIGJ5cGFzc2VzVmVyaWZpY2F0aW9uOiAxIDw8IDUsXG4gIC8qKiBNZW1iZXIgaGFzIHN0YXJ0ZWQgb25ib2FyZGluZyAqL1xuICBjb21wbGV0ZWRPbmJvYXJkaW5nOiAxIDw8IDYsXG4gIC8qKiBNZW1iZXIgaXMgYSBndWVzdCBhbmQgY2FuIG9ubHkgYWNjZXNzIHRoZSB2b2ljZSBjaGFubmVsIHRoZXkgd2VyZSBpbnZpdGVkIHRvICovXG4gIGlzR3Vlc3Q6IDEgPDwgNyxcbiAgLyoqIE1lbWJlciBoYXMgc3RhcnRlZCBTZXJ2ZXIgR3VpZGUgbmV3IG1lbWJlciBhY3Rpb25zICovXG4gIHN0YXJ0ZWRIb21lQWN0aW9uczogMSA8PCA4LFxuICAvKiogTWVtYmVyIGhhcyBjb21wbGV0ZWQgU2VydmVyIEd1aWRlIG5ldyBtZW1iZXIgYWN0aW9ucyAqL1xuICBjb21wbGV0ZWRIb21lQWN0aW9uczogMSA8PCA5LFxuICAvKiogTWVtYmVyJ3MgdXNlcm5hbWUsIGRpc3BsYXkgbmFtZSwgb3Igbmlja25hbWUgaXMgYmxvY2tlZCBieSBBdXRvTW9kICovXG4gIGF1dG9tb2RRdWFyYW50aW5lZFVzZXJuYW1lOiAxIDw8IDEwLFxuICAvKiogTWVtYmVyIGhhcyBkaXNtaXNzZWQgdGhlIERNIHNldHRpbmdzIHVwc2VsbCAqL1xuICBkbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkOiAxIDw8IDExLFxuICAvKiogTWVtYmVyJ3MgZ3VpbGQgdGFnIGlzIGJsb2NrZWQgYnkgQXV0b01vZCAqL1xuICBhdXRvbW9kUXVhcmFudGluZWRHdWlsZFRhZzogMSA8PCAxMixcbn1cblxuZXhwb3J0IGNsYXNzIE1lbWJlclRvZ2dsZXMgZXh0ZW5kcyBUb2dnbGVCaXRmaWVsZCB7XG4gIGNvbnN0cnVjdG9yKG1lbWJlck9yVG9nZ2xlc0ludDogUGFydGlhbDxEaXNjb3JkTWVtYmVyPiB8IG51bWJlcikge1xuICAgIHN1cGVyKClcblxuICAgIGlmICh0eXBlb2YgbWVtYmVyT3JUb2dnbGVzSW50ID09PSAnbnVtYmVyJykgdGhpcy5iaXRmaWVsZCA9IG1lbWJlck9yVG9nZ2xlc0ludFxuICAgIGVsc2Uge1xuICAgICAgY29uc3QgbWVtYmVyID0gbWVtYmVyT3JUb2dnbGVzSW50XG5cbiAgICAgIGlmIChtZW1iZXIuZGVhZikgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLmRlYWYpXG4gICAgICBpZiAobWVtYmVyLm11dGUpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5tdXRlKVxuICAgICAgaWYgKG1lbWJlci5wZW5kaW5nKSB0aGlzLmFkZChNZW1iZXJUb2dnbGUucGVuZGluZylcblxuICAgICAgaWYgKG1lbWJlci5mbGFncykge1xuICAgICAgICBpZiAobWVtYmVyLmZsYWdzICYgTWVtYmVyRmxhZ3MuRGlkUmVqb2luKSB0aGlzLmFkZChNZW1iZXJUb2dnbGUuZGlkUmVqb2luKVxuICAgICAgICBpZiAobWVtYmVyLmZsYWdzICYgTWVtYmVyRmxhZ3MuU3RhcnRlZE9uYm9hcmRpbmcpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5zdGFydGVkT25ib2FyZGluZylcbiAgICAgICAgaWYgKG1lbWJlci5mbGFncyAmIE1lbWJlckZsYWdzLkJ5cGFzc2VzVmVyaWZpY2F0aW9uKSB0aGlzLmFkZChNZW1iZXJUb2dnbGUuYnlwYXNzZXNWZXJpZmljYXRpb24pXG4gICAgICAgIGlmIChtZW1iZXIuZmxhZ3MgJiBNZW1iZXJGbGFncy5Db21wbGV0ZWRPbmJvYXJkaW5nKSB0aGlzLmFkZChNZW1iZXJUb2dnbGUuY29tcGxldGVkT25ib2FyZGluZylcbiAgICAgICAgaWYgKG1lbWJlci5mbGFncyAmIE1lbWJlckZsYWdzLklzR3Vlc3QpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5pc0d1ZXN0KVxuICAgICAgICBpZiAobWVtYmVyLmZsYWdzICYgTWVtYmVyRmxhZ3MuU3RhcnRlZEhvbWVBY3Rpb25zKSB0aGlzLmFkZChNZW1iZXJUb2dnbGUuc3RhcnRlZEhvbWVBY3Rpb25zKVxuICAgICAgICBpZiAobWVtYmVyLmZsYWdzICYgTWVtYmVyRmxhZ3MuQ29tcGxldGVkSG9tZUFjdGlvbnMpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5jb21wbGV0ZWRIb21lQWN0aW9ucylcbiAgICAgICAgaWYgKG1lbWJlci5mbGFncyAmIE1lbWJlckZsYWdzLkF1dG9tb2RRdWFyYW50aW5lZFVzZXJuYW1lKSB0aGlzLmFkZChNZW1iZXJUb2dnbGUuYXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWUpXG4gICAgICAgIGlmIChtZW1iZXIuZmxhZ3MgJiBNZW1iZXJGbGFncy5EbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkKSB0aGlzLmFkZChNZW1iZXJUb2dnbGUuZG1TZXR0aW5nc1Vwc2VsbEFja25vd2xlZGdlZClcbiAgICAgICAgaWYgKG1lbWJlci5mbGFncyAmIE1lbWJlckZsYWdzLkF1dG9tb2RRdWFyYW50aW5lZEd1aWxkVGFnKSB0aGlzLmFkZChNZW1iZXJUb2dnbGUuYXV0b21vZFF1YXJhbnRpbmVkR3VpbGRUYWcpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGZsYWdzKCk6IG51bWJlciB7XG4gICAgbGV0IGZsYWdzID0gMFxuXG4gICAgaWYgKHRoaXMuZGlkUmVqb2luKSBmbGFncyB8PSBNZW1iZXJGbGFncy5EaWRSZWpvaW5cbiAgICBpZiAodGhpcy5zdGFydGVkT25ib2FyZGluZykgZmxhZ3MgfD0gTWVtYmVyRmxhZ3MuU3RhcnRlZE9uYm9hcmRpbmdcbiAgICBpZiAodGhpcy5ieXBhc3Nlc1ZlcmlmaWNhdGlvbikgZmxhZ3MgfD0gTWVtYmVyRmxhZ3MuQnlwYXNzZXNWZXJpZmljYXRpb25cbiAgICBpZiAodGhpcy5jb21wbGV0ZWRPbmJvYXJkaW5nKSBmbGFncyB8PSBNZW1iZXJGbGFncy5Db21wbGV0ZWRPbmJvYXJkaW5nXG4gICAgaWYgKHRoaXMuaXNHdWVzdCkgZmxhZ3MgfD0gTWVtYmVyRmxhZ3MuSXNHdWVzdFxuICAgIGlmICh0aGlzLnN0YXJ0ZWRIb21lQWN0aW9ucykgZmxhZ3MgfD0gTWVtYmVyRmxhZ3MuU3RhcnRlZEhvbWVBY3Rpb25zXG4gICAgaWYgKHRoaXMuY29tcGxldGVkSG9tZUFjdGlvbnMpIGZsYWdzIHw9IE1lbWJlckZsYWdzLkNvbXBsZXRlZEhvbWVBY3Rpb25zXG4gICAgaWYgKHRoaXMuYXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWUpIGZsYWdzIHw9IE1lbWJlckZsYWdzLkF1dG9tb2RRdWFyYW50aW5lZFVzZXJuYW1lXG4gICAgaWYgKHRoaXMuZG1TZXR0aW5nc1Vwc2VsbEFja25vd2xlZGdlZCkgZmxhZ3MgfD0gTWVtYmVyRmxhZ3MuRG1TZXR0aW5nc1Vwc2VsbEFja25vd2xlZGdlZFxuICAgIGlmICh0aGlzLmF1dG9tb2RRdWFyYW50aW5lZEd1aWxkVGFnKSBmbGFncyB8PSBNZW1iZXJGbGFncy5BdXRvbW9kUXVhcmFudGluZWRHdWlsZFRhZ1xuXG4gICAgcmV0dXJuIGZsYWdzXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgdXNlciBiZWxvbmdzIHRvIGFuIE9BdXRoMiBhcHBsaWNhdGlvbiAqL1xuICBnZXQgZGVhZigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2RlYWYnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaXMgbXV0ZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgZ2V0IG11dGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdtdXRlJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGhhcyBub3QgeWV0IHBhc3NlZCB0aGUgZ3VpbGQncyBNZW1iZXJzaGlwIFNjcmVlbmluZyByZXF1aXJlbWVudHMgKi9cbiAgZ2V0IHBlbmRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdwZW5kaW5nJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaGFzIGxlZnQgYW5kIHJlam9pbmVkIHRoZSBndWlsZCAqL1xuICBnZXQgZGlkUmVqb2luKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZGlkUmVqb2luJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaGFzIGNvbXBsZXRlZCBvbmJvYXJkaW5nICovXG4gIGdldCBzdGFydGVkT25ib2FyZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3N0YXJ0ZWRPbmJvYXJkaW5nJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaXMgZXhlbXB0IGZyb20gZ3VpbGQgdmVyaWZpY2F0aW9uIHJlcXVpcmVtZW50cyAqL1xuICBnZXQgYnlwYXNzZXNWZXJpZmljYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdieXBhc3Nlc1ZlcmlmaWNhdGlvbicpXG4gIH1cblxuICAvKiogTWVtYmVyIGhhcyBzdGFydGVkIG9uYm9hcmRpbmcgKi9cbiAgZ2V0IGNvbXBsZXRlZE9uYm9hcmRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdjb21wbGV0ZWRPbmJvYXJkaW5nJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaXMgYSBndWVzdCBhbmQgY2FuIG9ubHkgYWNjZXNzIHRoZSB2b2ljZSBjaGFubmVsIHRoZXkgd2VyZSBpbnZpdGVkIHRvICovXG4gIGdldCBpc0d1ZXN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnaXNHdWVzdCcpXG4gIH1cblxuICAvKiogTWVtYmVyIGhhcyBzdGFydGVkIFNlcnZlciBHdWlkZSBuZXcgbWVtYmVyIGFjdGlvbnMgKi9cbiAgZ2V0IHN0YXJ0ZWRIb21lQWN0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3N0YXJ0ZWRIb21lQWN0aW9ucycpXG4gIH1cblxuICAvKiogTWVtYmVyIGhhcyBjb21wbGV0ZWQgU2VydmVyIEd1aWRlIG5ldyBtZW1iZXIgYWN0aW9ucyAqL1xuICBnZXQgY29tcGxldGVkSG9tZUFjdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdjb21wbGV0ZWRIb21lQWN0aW9ucycpXG4gIH1cblxuICAvKiogTWVtYmVyJ3MgdXNlcm5hbWUsIGRpc3BsYXkgbmFtZSwgb3Igbmlja25hbWUgaXMgYmxvY2tlZCBieSBBdXRvTW9kICovXG4gIGdldCBhdXRvbW9kUXVhcmFudGluZWRVc2VybmFtZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2F1dG9tb2RRdWFyYW50aW5lZFVzZXJuYW1lJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaGFzIGRpc21pc3NlZCB0aGUgRE0gc2V0dGluZ3MgdXBzZWxsICovXG4gIGdldCBkbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZG1TZXR0aW5nc1Vwc2VsbEFja25vd2xlZGdlZCcpXG4gIH1cblxuICAvKiogTWVtYmVyJ3MgZ3VpbGQgdGFnIGlzIGJsb2NrZWQgYnkgQXV0b01vZCAqL1xuICBnZXQgYXV0b21vZFF1YXJhbnRpbmVkR3VpbGRUYWcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdhdXRvbW9kUXVhcmFudGluZWRHdWlsZFRhZycpXG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IHRoZSBwZXJtaXNzaW9ucyBleGlzdCBpbiB0aGlzICovXG4gIGhhcyhwZXJtaXNzaW9uczogTWVtYmVyVG9nZ2xlS2V5cyB8IE1lbWJlclRvZ2dsZUtleXNbXSk6IGJvb2xlYW4ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShwZXJtaXNzaW9ucykpIHJldHVybiBzdXBlci5jb250YWlucyhNZW1iZXJUb2dnbGVbcGVybWlzc2lvbnNdKVxuXG4gICAgcmV0dXJuIHN1cGVyLmNvbnRhaW5zKHBlcm1pc3Npb25zLnJlZHVjZSgoYSwgYikgPT4gKGEgfD0gTWVtYmVyVG9nZ2xlW2JdKSwgMCkpXG4gIH1cblxuICAvKiogTGlzdHMgYWxsIHRoZSB0b2dnbGVzIGZvciB0aGUgcm9sZSBhbmQgd2hldGhlciBvciBub3QgZWFjaCBpcyB0cnVlIG9yIGZhbHNlLiAqL1xuICBsaXN0KCk6IFJlY29yZDxNZW1iZXJUb2dnbGVLZXlzLCBib29sZWFuPiB7XG4gICAgY29uc3QganNvbjogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fVxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKE1lbWJlclRvZ2dsZSkpIHtcbiAgICAgIGpzb25ba2V5XSA9IHN1cGVyLmNvbnRhaW5zKHZhbHVlKVxuICAgIH1cblxuICAgIHJldHVybiBqc29uIGFzIFJlY29yZDxNZW1iZXJUb2dnbGVLZXlzLCBib29sZWFuPlxuICB9XG59XG5cbmV4cG9ydCB0eXBlIE1lbWJlclRvZ2dsZUtleXMgPSBrZXlvZiB0eXBlb2YgTWVtYmVyVG9nZ2xlXG5cbmV4cG9ydCB0eXBlIE1lbWJlckZsYWdzS2V5cyA9ICh0eXBlb2YgbWVtYmVyRmxhZ3MpW251bWJlcl1cbiJdLCJuYW1lcyI6WyJNZW1iZXJGbGFncyIsIlRvZ2dsZUJpdGZpZWxkIiwibWVtYmVyRmxhZ3MiLCJNZW1iZXJUb2dnbGUiLCJkZWFmIiwibXV0ZSIsInBlbmRpbmciLCJkaWRSZWpvaW4iLCJzdGFydGVkT25ib2FyZGluZyIsImJ5cGFzc2VzVmVyaWZpY2F0aW9uIiwiY29tcGxldGVkT25ib2FyZGluZyIsImlzR3Vlc3QiLCJzdGFydGVkSG9tZUFjdGlvbnMiLCJjb21wbGV0ZWRIb21lQWN0aW9ucyIsImF1dG9tb2RRdWFyYW50aW5lZFVzZXJuYW1lIiwiZG1TZXR0aW5nc1Vwc2VsbEFja25vd2xlZGdlZCIsImF1dG9tb2RRdWFyYW50aW5lZEd1aWxkVGFnIiwiTWVtYmVyVG9nZ2xlcyIsIm1lbWJlck9yVG9nZ2xlc0ludCIsImJpdGZpZWxkIiwibWVtYmVyIiwiYWRkIiwiZmxhZ3MiLCJEaWRSZWpvaW4iLCJTdGFydGVkT25ib2FyZGluZyIsIkJ5cGFzc2VzVmVyaWZpY2F0aW9uIiwiQ29tcGxldGVkT25ib2FyZGluZyIsIklzR3Vlc3QiLCJTdGFydGVkSG9tZUFjdGlvbnMiLCJDb21wbGV0ZWRIb21lQWN0aW9ucyIsIkF1dG9tb2RRdWFyYW50aW5lZFVzZXJuYW1lIiwiRG1TZXR0aW5nc1Vwc2VsbEFja25vd2xlZGdlZCIsIkF1dG9tb2RRdWFyYW50aW5lZEd1aWxkVGFnIiwiaGFzIiwicGVybWlzc2lvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJjb250YWlucyIsInJlZHVjZSIsImEiLCJiIiwibGlzdCIsImpzb24iLCJrZXkiLCJ2YWx1ZSIsIk9iamVjdCIsImVudHJpZXMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQTZCQSxXQUFXLFFBQVEsb0JBQW1CO0FBQ25FLFNBQVNDLGNBQWMsUUFBUSxzQkFBcUI7QUFFcEQsaUVBQWlFLEdBQ2pFLE9BQU8sTUFBTUMsY0FBYztJQUFDO0lBQWE7SUFBcUI7SUFBd0I7Q0FBc0IsQ0FBUztBQUVySCxPQUFPLE1BQU1DLGVBQWU7SUFDMUIsbURBQW1ELEdBQ25EQyxNQUFNLEtBQUs7SUFDWCxnREFBZ0QsR0FDaERDLE1BQU0sS0FBSztJQUNYLHNGQUFzRixHQUN0RkMsU0FBUyxLQUFLO0lBRWQsZUFBZTtJQUVmLDJDQUEyQyxHQUMzQ0MsV0FBVyxLQUFLO0lBQ2hCLG9DQUFvQyxHQUNwQ0MsbUJBQW1CLEtBQUs7SUFDeEIsMERBQTBELEdBQzFEQyxzQkFBc0IsS0FBSztJQUMzQixrQ0FBa0MsR0FDbENDLHFCQUFxQixLQUFLO0lBQzFCLGlGQUFpRixHQUNqRkMsU0FBUyxLQUFLO0lBQ2QsdURBQXVELEdBQ3ZEQyxvQkFBb0IsS0FBSztJQUN6Qix5REFBeUQsR0FDekRDLHNCQUFzQixLQUFLO0lBQzNCLHVFQUF1RSxHQUN2RUMsNEJBQTRCLEtBQUs7SUFDakMsZ0RBQWdELEdBQ2hEQyw4QkFBOEIsS0FBSztJQUNuQyw2Q0FBNkMsR0FDN0NDLDRCQUE0QixLQUFLO0FBQ25DLEVBQUM7QUFFRCxPQUFPLE1BQU1DLHNCQUFzQmhCO0lBQ2pDLFlBQVlpQixrQkFBbUQsQ0FBRTtRQUMvRCxLQUFLO1FBRUwsSUFBSSxPQUFPQSx1QkFBdUIsVUFBVSxJQUFJLENBQUNDLFFBQVEsR0FBR0Q7YUFDdkQ7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
|
|
@@ -316,7 +316,7 @@ export interface Channel {
|
|
|
316
316
|
/**
|
|
317
317
|
* Thread-specific fields not needed by other channels.
|
|
318
318
|
*
|
|
319
|
-
* @
|
|
319
|
+
* @private
|
|
320
320
|
* This field is an internal field, subject to breaking changes.
|
|
321
321
|
*/
|
|
322
322
|
internalThreadMetadata?: InternalChannelThreadMetadata;
|
|
@@ -330,7 +330,7 @@ export interface Channel {
|
|
|
330
330
|
/**
|
|
331
331
|
* Explicit permission overwrites for members and roles
|
|
332
332
|
*
|
|
333
|
-
* @
|
|
333
|
+
* @private
|
|
334
334
|
* Use channel.permissionOverwrites. This is for internal use only, and prone to breaking changes.
|
|
335
335
|
*/
|
|
336
336
|
internalOverwrites?: bigint[];
|
|
@@ -383,7 +383,7 @@ export interface ForumTag {
|
|
|
383
383
|
emojiName: string | null;
|
|
384
384
|
}
|
|
385
385
|
/**
|
|
386
|
-
* @
|
|
386
|
+
* @private
|
|
387
387
|
* This is for internal purposes only, and subject to breaking changes
|
|
388
388
|
*/
|
|
389
389
|
export interface InternalChannelThreadMetadata {
|
|
@@ -1336,7 +1336,7 @@ export interface Role {
|
|
|
1336
1336
|
/**
|
|
1337
1337
|
* Role tags
|
|
1338
1338
|
*
|
|
1339
|
-
* @
|
|
1339
|
+
* @private
|
|
1340
1340
|
* Use role.tags. This is for internal use only, and prone to breaking changes.
|
|
1341
1341
|
*/
|
|
1342
1342
|
internalTags?: InternalRoleTags;
|
|
@@ -1365,7 +1365,7 @@ export interface Role {
|
|
|
1365
1365
|
guildConnections: boolean;
|
|
1366
1366
|
}
|
|
1367
1367
|
/**
|
|
1368
|
-
* @
|
|
1368
|
+
* @private
|
|
1369
1369
|
* This is for internal purposes only, and subject to breaking changes
|
|
1370
1370
|
*/
|
|
1371
1371
|
export interface InternalRoleTags {
|